From 4e6b1fbd25233b20474cb97078f06df92fba89ff Mon Sep 17 00:00:00 2001 From: Danno Ferrin Date: Tue, 19 Sep 2023 17:07:09 -0600 Subject: [PATCH 01/40] Add updated storage to evmtool json trace (#5892) Add the EIP-3155 "storage" option to the standard tracer, with the caveat only updated storage is logged. Signed-off-by: Danno Ferrin --- .../internal/processor/TransactionTracer.java | 36 +++++----- .../besu/evmtool/EvmToolCommand.java | 14 +++- .../besu/evmtool/StateTestSubCommand.java | 3 +- .../besu/evmtool/T8nSubCommand.java | 3 +- .../besu/evm/tracing/StandardJsonTracer.java | 57 +++++++++++++--- .../besu/evm/StandardJsonTracerTest.java | 68 ++++++++++++++----- .../besu/evm/toy/EvmToyCommand.java | 9 ++- 7 files changed, 140 insertions(+), 50 deletions(-) diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/processor/TransactionTracer.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/processor/TransactionTracer.java index 71628c88969..2811a01135b 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/processor/TransactionTracer.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/processor/TransactionTracer.java @@ -69,24 +69,22 @@ public Optional traceTransaction( final Hash blockHash, final Hash transactionHash, final DebugOperationTracer tracer) { - Optional transactionTrace = - blockReplay.beforeTransactionInBlock( - mutableWorldState, - blockHash, - transactionHash, - (transaction, header, blockchain, transactionProcessor, blobGasPrice) -> { - final TransactionProcessingResult result = - processTransaction( - header, - blockchain, - mutableWorldState.updater(), - transaction, - transactionProcessor, - tracer, - blobGasPrice); - return new TransactionTrace(transaction, result, tracer.getTraceFrames()); - }); - return transactionTrace; + return blockReplay.beforeTransactionInBlock( + mutableWorldState, + blockHash, + transactionHash, + (transaction, header, blockchain, transactionProcessor, blobGasPrice) -> { + final TransactionProcessingResult result = + processTransaction( + header, + blockchain, + mutableWorldState.updater(), + transaction, + transactionProcessor, + tracer, + blobGasPrice); + return new TransactionTrace(transaction, result, tracer.getTraceFrames()); + }); } public List traceTransactionToFile( @@ -139,7 +137,7 @@ public List traceTransactionToFile( stackedUpdater, transaction, transactionProcessor, - new StandardJsonTracer(out, showMemory, true, true), + new StandardJsonTracer(out, showMemory, true, true, false), blobGasPrice); out.println( summaryTrace( diff --git a/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/EvmToolCommand.java b/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/EvmToolCommand.java index d41dd56093b..0e2daf96eb6 100644 --- a/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/EvmToolCommand.java +++ b/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/EvmToolCommand.java @@ -181,6 +181,14 @@ void setBytes(final String optionValue) { negatable = true) final Boolean showReturnData = false; + @Option( + names = {"--trace.storage"}, + description = + "Show the updated storage slots for the current account. Default is to not show updated storage.", + scope = INHERIT, + negatable = true) + final Boolean showStorage = false; + @Option( names = {"--notime"}, description = "Don't include time data in summary output.", @@ -365,7 +373,7 @@ public void run() { final OperationTracer tracer = // You should have picked Mercy. lastLoop && showJsonResults - ? new StandardJsonTracer(out, showMemory, !hideStack, showReturnData) + ? new StandardJsonTracer(out, showMemory, !hideStack, showReturnData, showStorage) : OperationTracer.NO_TRACING; WorldUpdater updater = component.getWorldUpdater(); @@ -466,10 +474,10 @@ public static void dumpWorldState(final WorldState worldState, final PrintWriter " \"" + accountStorageEntry .getKey() - .map(UInt256::toHexString) + .map(UInt256::toQuantityHexString) .orElse("-") + "\": \"" - + accountStorageEntry.getValue().toHexString() + + accountStorageEntry.getValue().toQuantityHexString() + "\"") .toList())); out.println(" },"); diff --git a/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/StateTestSubCommand.java b/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/StateTestSubCommand.java index 2bc5f815309..a2d966f0675 100644 --- a/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/StateTestSubCommand.java +++ b/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/StateTestSubCommand.java @@ -182,7 +182,8 @@ private void traceTestSpecs(final String test, final List stack; @@ -52,6 +53,7 @@ public class StandardJsonTracer implements OperationTracer { private Bytes memory; private int memorySize; private int depth; + private String storageString; /** * Instantiates a new Standard json tracer. @@ -60,16 +62,19 @@ public class StandardJsonTracer implements OperationTracer { * @param showMemory show memory in trace lines * @param showStack show the stack in trace lines * @param showReturnData show return data in trace lines + * @param showStorage show the updated storage */ public StandardJsonTracer( final PrintWriter out, final boolean showMemory, final boolean showStack, - final boolean showReturnData) { + final boolean showReturnData, + final boolean showStorage) { this.out = out; this.showMemory = showMemory; this.showStack = showStack; this.showReturnData = showReturnData; + this.showStorage = showStorage; } /** @@ -79,13 +84,20 @@ public StandardJsonTracer( * @param showMemory show memory in trace lines * @param showStack show the stack in trace lines * @param showReturnData show return data in trace lines + * @param showStorage show updated storage */ public StandardJsonTracer( final PrintStream out, final boolean showMemory, final boolean showStack, - final boolean showReturnData) { - this(new PrintWriter(out, true, StandardCharsets.UTF_8), showMemory, showStack, showReturnData); + final boolean showReturnData, + final boolean showStorage) { + this( + new PrintWriter(out, true, StandardCharsets.UTF_8), + showMemory, + showStack, + showReturnData, + showStorage); } /** @@ -130,6 +142,33 @@ public void tracePreExecution(final MessageFrame messageFrame) { memory = null; } depth = messageFrame.getMessageStackSize(); + + StringBuilder sb = new StringBuilder(); + if (showStorage) { + var updater = messageFrame.getWorldUpdater(); + var account = updater.getAccount(messageFrame.getRecipientAddress()); + if (account != null && !account.getUpdatedStorage().isEmpty()) { + boolean[] shownEntry = {false}; + sb.append(",\"storage\":{"); + account + .getUpdatedStorage() + .forEach( + (k, v) -> { + if (shownEntry[0]) { + sb.append(","); + } else { + shownEntry[0] = true; + } + sb.append("\"") + .append(k.toQuantityHexString()) + .append("\":\"") + .append(v.toQuantityHexString()) + .append("\""); + }); + sb.append("}"); + } + } + storageString = sb.toString(); } @Override @@ -155,7 +194,7 @@ public void tracePostExecution( if (showStack) { sb.append("\"stack\":[").append(commaJoiner.join(stack)).append("],"); } - if (showReturnData && returnData.size() > 0) { + if (showReturnData && !returnData.isEmpty()) { sb.append("\"returnData\":\"").append(returnData.toHexString()).append("\","); } sb.append("\"depth\":").append(depth).append(","); @@ -164,14 +203,14 @@ public void tracePostExecution( if (executeResult.getHaltReason() != null) { sb.append(",\"error\":\"") .append(executeResult.getHaltReason().getDescription()) - .append("\"}"); + .append("\""); } else if (messageFrame.getRevertReason().isPresent()) { sb.append(",\"error\":\"") .append(quoteEscape(messageFrame.getRevertReason().orElse(Bytes.EMPTY))) - .append("\"}"); - } else { - sb.append("}"); + .append("\""); } + + sb.append(storageString).append("}"); out.println(sb); } @@ -229,7 +268,7 @@ public void traceEndTransaction( final long timeNs) { final StringBuilder sb = new StringBuilder(1024); sb.append("{"); - if (output.size() > 0) { + if (!output.isEmpty()) { sb.append("\"output\":\"").append(output.toShortHexString()).append("\","); } else { sb.append("\"output\":\"\","); diff --git a/evm/src/test/java/org/hyperledger/besu/evm/StandardJsonTracerTest.java b/evm/src/test/java/org/hyperledger/besu/evm/StandardJsonTracerTest.java index a65ab05d62a..9ba9ebf96ae 100644 --- a/evm/src/test/java/org/hyperledger/besu/evm/StandardJsonTracerTest.java +++ b/evm/src/test/java/org/hyperledger/besu/evm/StandardJsonTracerTest.java @@ -38,7 +38,7 @@ void eip3155ModifiedTestCase() { ByteArrayOutputStream baos = new ByteArrayOutputStream(); PrintStream out = new PrintStream(baos); var executor = EVMExecutor.istanbul(EvmConfiguration.DEFAULT); - StandardJsonTracer tracer = new StandardJsonTracer(out, true, true, true); + StandardJsonTracer tracer = new StandardJsonTracer(out, true, true, true, false); executor.tracer(tracer); executor.gas(10_000_000_000L); @@ -58,20 +58,56 @@ void eip3155ModifiedTestCase() { // (g) if error is zero length or null it is not included. assertThat(baos) .hasToString( - "{\"pc\":0,\"op\":96,\"gas\":\"0x2540be400\",\"gasCost\":\"0x3\",\"memSize\":0,\"stack\":[],\"depth\":1,\"refund\":0,\"opName\":\"PUSH1\"}\n" - + "{\"pc\":2,\"op\":128,\"gas\":\"0x2540be3fd\",\"gasCost\":\"0x3\",\"memSize\":0,\"stack\":[\"0x40\"],\"depth\":1,\"refund\":0,\"opName\":\"DUP1\"}\n" - + "{\"pc\":3,\"op\":83,\"gas\":\"0x2540be3fa\",\"gasCost\":\"0xc\",\"memSize\":0,\"stack\":[\"0x40\",\"0x40\"],\"depth\":1,\"refund\":0,\"opName\":\"MSTORE8\"}\n" - + "{\"pc\":4,\"op\":96,\"gas\":\"0x2540be3ee\",\"gasCost\":\"0x3\",\"memory\":\"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000\",\"memSize\":96,\"stack\":[],\"depth\":1,\"refund\":0,\"opName\":\"PUSH1\"}\n" - + "{\"pc\":6,\"op\":96,\"gas\":\"0x2540be3eb\",\"gasCost\":\"0x3\",\"memory\":\"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000\",\"memSize\":96,\"stack\":[\"0x40\"],\"depth\":1,\"refund\":0,\"opName\":\"PUSH1\"}\n" - + "{\"pc\":8,\"op\":85,\"gas\":\"0x2540be3e8\",\"gasCost\":\"0x4e20\",\"memory\":\"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000\",\"memSize\":96,\"stack\":[\"0x40\",\"0x40\"],\"depth\":1,\"refund\":0,\"opName\":\"SSTORE\"}\n" - + "{\"pc\":9,\"op\":96,\"gas\":\"0x2540b95c8\",\"gasCost\":\"0x3\",\"memory\":\"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000\",\"memSize\":96,\"stack\":[],\"depth\":1,\"refund\":0,\"opName\":\"PUSH1\"}\n" - + "{\"pc\":11,\"op\":96,\"gas\":\"0x2540b95c5\",\"gasCost\":\"0x3\",\"memory\":\"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000\",\"memSize\":96,\"stack\":[\"0x40\"],\"depth\":1,\"refund\":0,\"opName\":\"PUSH1\"}\n" - + "{\"pc\":13,\"op\":96,\"gas\":\"0x2540b95c2\",\"gasCost\":\"0x3\",\"memory\":\"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000\",\"memSize\":96,\"stack\":[\"0x40\",\"0x0\"],\"depth\":1,\"refund\":0,\"opName\":\"PUSH1\"}\n" - + "{\"pc\":15,\"op\":96,\"gas\":\"0x2540b95bf\",\"gasCost\":\"0x3\",\"memory\":\"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000\",\"memSize\":96,\"stack\":[\"0x40\",\"0x0\",\"0x40\"],\"depth\":1,\"refund\":0,\"opName\":\"PUSH1\"}\n" - + "{\"pc\":17,\"op\":96,\"gas\":\"0x2540b95bc\",\"gasCost\":\"0x3\",\"memory\":\"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000\",\"memSize\":96,\"stack\":[\"0x40\",\"0x0\",\"0x40\",\"0x0\"],\"depth\":1,\"refund\":0,\"opName\":\"PUSH1\"}\n" - + "{\"pc\":19,\"op\":90,\"gas\":\"0x2540b95b9\",\"gasCost\":\"0x2\",\"memory\":\"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000\",\"memSize\":96,\"stack\":[\"0x40\",\"0x0\",\"0x40\",\"0x0\",\"0x2\"],\"depth\":1,\"refund\":0,\"opName\":\"GAS\"}\n" - + "{\"pc\":20,\"op\":250,\"gas\":\"0x2540b95b7\",\"gasCost\":\"0x2bc\",\"memory\":\"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000\",\"memSize\":96,\"stack\":[\"0x40\",\"0x0\",\"0x40\",\"0x0\",\"0x2\",\"0x2540b95b7\"],\"depth\":1,\"refund\":0,\"opName\":\"STATICCALL\"}\n" - + "{\"pc\":21,\"op\":96,\"gas\":\"0x2540b92a7\",\"gasCost\":\"0x3\",\"memory\":\"0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b00000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000\",\"memSize\":96,\"stack\":[\"0x1\"],\"returnData\":\"0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b\",\"depth\":1,\"refund\":0,\"opName\":\"PUSH1\"}\n" - + "{\"pc\":23,\"op\":243,\"gas\":\"0x2540b92a4\",\"gasCost\":\"0x0\",\"memory\":\"0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b00000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000\",\"memSize\":96,\"stack\":[\"0x1\",\"0x40\"],\"returnData\":\"0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b\",\"depth\":1,\"refund\":0,\"opName\":\"RETURN\"}\n"); + """ + {"pc":0,"op":96,"gas":"0x2540be400","gasCost":"0x3","memSize":0,"stack":[],"depth":1,"refund":0,"opName":"PUSH1"} + {"pc":2,"op":128,"gas":"0x2540be3fd","gasCost":"0x3","memSize":0,"stack":["0x40"],"depth":1,"refund":0,"opName":"DUP1"} + {"pc":3,"op":83,"gas":"0x2540be3fa","gasCost":"0xc","memSize":0,"stack":["0x40","0x40"],"depth":1,"refund":0,"opName":"MSTORE8"} + {"pc":4,"op":96,"gas":"0x2540be3ee","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000","memSize":96,"stack":[],"depth":1,"refund":0,"opName":"PUSH1"} + {"pc":6,"op":96,"gas":"0x2540be3eb","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000","memSize":96,"stack":["0x40"],"depth":1,"refund":0,"opName":"PUSH1"} + {"pc":8,"op":85,"gas":"0x2540be3e8","gasCost":"0x4e20","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000","memSize":96,"stack":["0x40","0x40"],"depth":1,"refund":0,"opName":"SSTORE"} + {"pc":9,"op":96,"gas":"0x2540b95c8","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000","memSize":96,"stack":[],"depth":1,"refund":0,"opName":"PUSH1"} + {"pc":11,"op":96,"gas":"0x2540b95c5","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000","memSize":96,"stack":["0x40"],"depth":1,"refund":0,"opName":"PUSH1"} + {"pc":13,"op":96,"gas":"0x2540b95c2","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000","memSize":96,"stack":["0x40","0x0"],"depth":1,"refund":0,"opName":"PUSH1"} + {"pc":15,"op":96,"gas":"0x2540b95bf","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000","memSize":96,"stack":["0x40","0x0","0x40"],"depth":1,"refund":0,"opName":"PUSH1"} + {"pc":17,"op":96,"gas":"0x2540b95bc","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000","memSize":96,"stack":["0x40","0x0","0x40","0x0"],"depth":1,"refund":0,"opName":"PUSH1"} + {"pc":19,"op":90,"gas":"0x2540b95b9","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000","memSize":96,"stack":["0x40","0x0","0x40","0x0","0x2"],"depth":1,"refund":0,"opName":"GAS"} + {"pc":20,"op":250,"gas":"0x2540b95b7","gasCost":"0x2bc","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000","memSize":96,"stack":["0x40","0x0","0x40","0x0","0x2","0x2540b95b7"],"depth":1,"refund":0,"opName":"STATICCALL"} + {"pc":21,"op":96,"gas":"0x2540b92a7","gasCost":"0x3","memory":"0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b00000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000","memSize":96,"stack":["0x1"],"returnData":"0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b","depth":1,"refund":0,"opName":"PUSH1"} + {"pc":23,"op":243,"gas":"0x2540b92a4","gasCost":"0x0","memory":"0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b00000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000","memSize":96,"stack":["0x1","0x40"],"returnData":"0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b","depth":1,"refund":0,"opName":"RETURN"} + """); + } + + @Test + void updatedStorageTestCase() { + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + PrintStream out = new PrintStream(baos); + var executor = EVMExecutor.istanbul(EvmConfiguration.DEFAULT); + StandardJsonTracer tracer = new StandardJsonTracer(out, false, false, false, true); + executor.tracer(tracer); + executor.gas(10_000_000_000L); + + var codeBytes = Bytes.fromHexString("0x604080536040604055604060006040600060025afa6040f3"); + executor.execute(codeBytes, Bytes.EMPTY, Wei.ZERO, Address.ZERO); + + assertThat(baos) + .hasToString( + """ + {"pc":0,"op":96,"gas":"0x2540be400","gasCost":"0x3","memSize":0,"depth":1,"refund":0,"opName":"PUSH1"} + {"pc":2,"op":128,"gas":"0x2540be3fd","gasCost":"0x3","memSize":0,"depth":1,"refund":0,"opName":"DUP1"} + {"pc":3,"op":83,"gas":"0x2540be3fa","gasCost":"0xc","memSize":0,"depth":1,"refund":0,"opName":"MSTORE8"} + {"pc":4,"op":96,"gas":"0x2540be3ee","gasCost":"0x3","memSize":96,"depth":1,"refund":0,"opName":"PUSH1"} + {"pc":6,"op":96,"gas":"0x2540be3eb","gasCost":"0x3","memSize":96,"depth":1,"refund":0,"opName":"PUSH1"} + {"pc":8,"op":85,"gas":"0x2540be3e8","gasCost":"0x4e20","memSize":96,"depth":1,"refund":0,"opName":"SSTORE"} + {"pc":9,"op":96,"gas":"0x2540b95c8","gasCost":"0x3","memSize":96,"depth":1,"refund":0,"opName":"PUSH1","storage":{"0x40":"0x40"}} + {"pc":11,"op":96,"gas":"0x2540b95c5","gasCost":"0x3","memSize":96,"depth":1,"refund":0,"opName":"PUSH1","storage":{"0x40":"0x40"}} + {"pc":13,"op":96,"gas":"0x2540b95c2","gasCost":"0x3","memSize":96,"depth":1,"refund":0,"opName":"PUSH1","storage":{"0x40":"0x40"}} + {"pc":15,"op":96,"gas":"0x2540b95bf","gasCost":"0x3","memSize":96,"depth":1,"refund":0,"opName":"PUSH1","storage":{"0x40":"0x40"}} + {"pc":17,"op":96,"gas":"0x2540b95bc","gasCost":"0x3","memSize":96,"depth":1,"refund":0,"opName":"PUSH1","storage":{"0x40":"0x40"}} + {"pc":19,"op":90,"gas":"0x2540b95b9","gasCost":"0x2","memSize":96,"depth":1,"refund":0,"opName":"GAS","storage":{"0x40":"0x40"}} + {"pc":20,"op":250,"gas":"0x2540b95b7","gasCost":"0x2bc","memSize":96,"depth":1,"refund":0,"opName":"STATICCALL","storage":{"0x40":"0x40"}} + {"pc":21,"op":96,"gas":"0x2540b92a7","gasCost":"0x3","memSize":96,"depth":1,"refund":0,"opName":"PUSH1","storage":{"0x40":"0x40"}} + {"pc":23,"op":243,"gas":"0x2540b92a4","gasCost":"0x0","memSize":96,"depth":1,"refund":0,"opName":"RETURN","storage":{"0x40":"0x40"}} + """); } } diff --git a/evm/src/test/java/org/hyperledger/besu/evm/toy/EvmToyCommand.java b/evm/src/test/java/org/hyperledger/besu/evm/toy/EvmToyCommand.java index 76934e041f0..368dbffabd0 100644 --- a/evm/src/test/java/org/hyperledger/besu/evm/toy/EvmToyCommand.java +++ b/evm/src/test/java/org/hyperledger/besu/evm/toy/EvmToyCommand.java @@ -122,6 +122,12 @@ public class EvmToyCommand implements Runnable { scope = ScopeType.INHERIT) final Boolean showReturnData = false; + @CommandLine.Option( + names = {"--trace.storage"}, + description = "When tracing, show the updated storage contents.", + scope = ScopeType.INHERIT) + final Boolean showStorage = false; + @CommandLine.Option( names = {"--repeat"}, description = "Number of times to repeat for benchmarking.") @@ -164,7 +170,8 @@ public void run() { final OperationTracer tracer = // You should have picked Mercy. lastLoop && showJsonResults - ? new StandardJsonTracer(System.out, showMemory, showStack, showReturnData) + ? new StandardJsonTracer( + System.out, showMemory, showStack, showReturnData, showStorage) : OperationTracer.NO_TRACING; MessageFrame initialMessageFrame = From cedcb5c9bd684e8877d1b8ff7094f6998a93c5b8 Mon Sep 17 00:00:00 2001 From: Simon Dudley Date: Wed, 20 Sep 2023 10:11:40 +1000 Subject: [PATCH 02/40] Update holesky with fixed extraData, genesis time, shanghaiTime (#5890) Signed-off-by: Simon Dudley --- CHANGELOG.md | 4 +- .../besu/ForkIdsNetworkConfigTest.java | 7 +- config/src/main/resources/holesky.json | 369 +++++++++--------- 3 files changed, 189 insertions(+), 191 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 669a819c586..552c104c398 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,6 @@ # Changelog ## 23.7.3 -### Additions and Improvements -- Add access to an immutable world view to start/end transaction hooks in the tracing API[#5836](https://github.com/hyperledger/besu/pull/5836) ### Breaking Changes - Removed support for Kotti network (ETC) [#5816](https://github.com/hyperledger/besu/pull/5816) @@ -11,8 +9,10 @@ - `--Xlayered-tx-pool-layer-max-capacity`, `--Xlayered-tx-pool-max-prioritized` and `--Xlayered-tx-pool-max-future-by-sender` just drop the `X` and keep the same behavior ### Additions and Improvements +- Add access to an immutable world view to start/end transaction hooks in the tracing API[#5836](https://github.com/hyperledger/besu/pull/5836) - Layered transaction pool implementation is now stable and enabled by default. If you want still to use the legacy implementation, use `--tx-pool=legacy` [#5772](https://github.com/hyperledger/besu) - Tune G1GC to reduce Besu memory footprint, and new `besu-untuned` start scripts to run without any specific G1GC flags [#5879](https://github.com/hyperledger/besu/pull/5879) +- Update Holesky config for re-launch [#5890](https://github.com/hyperledger/besu/pull/5890) ### Bug Fixes - do not create ignorable storage on revert storage-variables subcommand [#5830](https://github.com/hyperledger/besu/pull/5830) diff --git a/besu/src/test/java/org/hyperledger/besu/ForkIdsNetworkConfigTest.java b/besu/src/test/java/org/hyperledger/besu/ForkIdsNetworkConfigTest.java index df5607120e5..bfa55c261aa 100644 --- a/besu/src/test/java/org/hyperledger/besu/ForkIdsNetworkConfigTest.java +++ b/besu/src/test/java/org/hyperledger/besu/ForkIdsNetworkConfigTest.java @@ -84,10 +84,9 @@ public static Collection parameters() { new Object[] { NetworkName.HOLESKY, List.of( - new ForkId(Bytes.ofUnsignedInt(0xa200f558L), 1694790240L), - new ForkId(Bytes.ofUnsignedInt(0x840a3b53L), 2000000000L), - new ForkId(Bytes.ofUnsignedInt(0x30771f90), 0L), - new ForkId(Bytes.ofUnsignedInt(0x30771f90), 0L)) + new ForkId(Bytes.ofUnsignedInt(0xc61a6098L), 1696000704L), + new ForkId(Bytes.ofUnsignedInt(0xfd4f016bL), 0L), + new ForkId(Bytes.ofUnsignedInt(0xfd4f016bL), 0L)) }, new Object[] { NetworkName.GOERLI, diff --git a/config/src/main/resources/holesky.json b/config/src/main/resources/holesky.json index 0b3c875fba2..a8ae193c856 100644 --- a/config/src/main/resources/holesky.json +++ b/config/src/main/resources/holesky.json @@ -13,9 +13,8 @@ "londonBlock": 0, "preMergeForkBlock": 0, "terminalTotalDifficulty": 0, - "shanghaiTime": 1694790240, + "shanghaiTime": 1696000704, "ethash": {}, - "cancunTime": 2000000000, "discovery": { "bootnodes": [ "enode://ac906289e4b7f12df423d654c5a962b6ebe5b3a74cc9e06292a85221f9a64a6f1cfdd6b714ed6dacef51578f92b34c60ee91e9ede9c7f8fadc4d347326d95e2b@146.190.13.128:30303", @@ -827,196 +826,196 @@ "0x000000000000000000000000000000000000000000000000000000000000003e": "0x8869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636", "0x000000000000000000000000000000000000000000000000000000000000003f": "0xb5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c", "0x0000000000000000000000000000000000000000000000000000000000000040": "0x985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7" - }, - "0x0000006916a87b82333f4245046623b23794C65C": { - "balance": "0x52b7d2dcc80cd2e4000000" - }, - "0x0be949928Ff199c9EBA9E110db210AA5C94EFAd0": { - "balance": "0x7c13bc4b2c133c56000000" - }, - "0x0C100000006d7b5e23a1eAEE637f28cA32Cd5b31": { - "balance": "0x52b7d2dcc80cd2e4000000" - }, - "0x0C35317B7a96C454E2CB3d1A255D775Ab112cCc8": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x0d731cfabC5574329823F26d488416451d2ea376": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x0e79065B5F11b5BD1e62B935A600976ffF3754B9": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x105083929bF9bb22C26cB1777Ec92661170D4285": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x10F5d45854e038071485AC9e402308cF80D2d2fE": { - "balance": "0x52b7d2dcc80cd2e4000000" - }, - "0x1268AD189526AC0b386faF06eFfC46779c340eE6": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x12Cba59f5A74DB81a12ff63C349Bd82CBF6007C2": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x1446D7f6dF00380F246d8211dE7f0FaBC4Fd248C": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x164e38a375247A784A81d420201AA8fe4E513921": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x1B7aA44088a0eA95bdc65fef6E5071E946Bf7d8f": { - "balance": "0x52b7d2dcc80cd2e4000000" - }, - "0x222222222222cF64a76AE3d36859958c864fDA2c": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x2f14582947E292a2eCd20C430B46f2d27CFE213c": { - "balance": "0x52b7d2dcc80cd2e4000000" - }, - "0x2f2c75B5Dd5D246194812b00eEb3B09c2c66e2eE": { - "balance": "0x52b7d2dcc80cd2e4000000" - }, - "0x341c40b94bf2afbfa42573cb78f16ee15a056238": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x34f845773D4364999f2fbC7AA26ABDeE902cBb46": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x3C75594181e03E8ECD8468A0037F058a9dAfad79": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x462396E69dBfa455F405f4DD82F3014Af8003B72": { - "balance": "0xa56fa5b99019a5c8000000" - }, - "0x49Df3CCa2670eB0D591146B16359fe336e476F29": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x4D0b04b405c6b62C7cFC3aE54759747e2C0b4662": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x4D496CcC28058B1D74B7a19541663E21154f9c84": { - "balance": "0x52b7d2dcc80cd2e4000000" - }, - "0x509a7667aC8D0320e36172c192506a6188aA84f6": { - "balance": "0x7c13bc4b2c133c56000000" - }, - "0x5180db0237291A6449DdA9ed33aD90a38787621c": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x52730f347dEf6BA09adfF62EaC60D5fEe8205BC4": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x5EAC0fBd3dfef8aE3efa3c5dc1aa193bc6033dFd": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x6a7aA9b882d50Bb7bc5Da1a244719C99f12F06a3": { - "balance": "0x52b7d2dcc80cd2e4000000" - }, - "0x6Cc9397c3B38739daCbfaA68EaD5F5D77Ba5F455": { - "balance": "0x52b7d2dcc80cd2e4000000" - }, - "0x762cA62ca2549ad806763B3Aa1eA317c429bDBDa": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x778F5F13C4Be78A3a4d7141BCB26999702f407CF": { - "balance": "0x52b7d2dcc80cd2e4000000" - }, - "0x875D25Ee4bC604C71BaF6236a8488F22399BED4b": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x8dF7878d3571BEF5e5a744F96287C8D20386d75A": { - "balance": "0x52b7d2dcc80cd2e4000000" - }, - "0x9E415A096fF77650dc925dEA546585B4adB322B6": { - "balance": "0xd3c21bcecceda1000000" - }, - "0xA0766B65A4f7B1da79a1AF79aC695456eFa28644": { - "balance": "0xd3c21bcecceda1000000" - }, - "0xA29B144A449E414A472c60C7AAf1aaFfE329021D": { - "balance": "0xd3c21bcecceda1000000" - }, - "0xa55395566b0b54395B3246f96A0bDc4b8a483df9": { - "balance": "0xd3c21bcecceda1000000" - }, - "0xAC9ba72fb61aA7c31A95df0A8b6ebA6f41EF875e": { - "balance": "0xd3c21bcecceda1000000" - }, - "0xB0498C15879db2eE5471d4926c5fAA25C9a09683": { - "balance": "0xd3c21bcecceda1000000" - }, - "0xB19Fb4c1f280327e60Ed37b1Dc6EE77533539314": { - "balance": "0x52b7d2dcc80cd2e4000000" - }, - "0xC21cB9C99C316d1863142F7dD86dd5496D81A8D6": { - "balance": "0xd3c21bcecceda1000000" - }, - "0xc473d412dc52e349862209924c8981b2ee420768": { - "balance": "0xd3c21bcecceda1000000" - }, - "0xC48E23C5F6e1eA0BaEf6530734edC3968f79Af2e": { - "balance": "0x52b7d2dcc80cd2e4000000" - }, - "0xc6e2459991BfE27cca6d86722F35da23A1E4Cb97": { - "balance": "0x52b7d2dcc80cd2e4000000" - }, - "0xD3994e4d3202dD23c8497d7F75bF1647d1DA1bb1": { - "balance": "0x19D971E4FE8401E74000000" - }, - "0xDCA6e9B48Ea86AeBFDf9929949124042296b6e34": { - "balance": "0xd3c21bcecceda1000000" - }, - "0xe0a2Bd4258D2768837BAa26A28fE71Dc079f84c7": { - "balance": "0x52b7d2dcc80cd2e4000000" - }, - "0xEA28d002042fd9898D0Db016be9758eeAFE35C1E": { - "balance": "0xd3c21bcecceda1000000" - }, - "0xEfA7454f1116807975A4750B46695E967850de5D": { - "balance": "0xd3c21bcecceda1000000" - }, - "0xFBFd6Fa9F73Ac6A058E01259034C28001BEf8247": { - "balance": "0x52b7d2dcc80cd2e4000000" - }, - "0xe0991E844041bE6F11B99da5b114b6bCf84EBd57": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x15E719b6AcAf1E4411Bf0f9576CB1D0dB161DdFc": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x346D827a75F98F0A7a324Ff80b7C3F90252E8baC": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x73b2e0E54510239E22cC936F0b4a6dE1acf0AbdE": { - "balance": "0x52b7d2dcc80cd2e4000000" - }, - "0xBb977B2EE8a111D788B3477D242078d0B837E72b": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x834Dbf5A03e29c25bc55459cCe9c021EeBE676Ad": { - "balance": "0xd3c21bcecceda1000000" - }, - "0xD1F77E4C1C45186e8653C489F90e008a73597296": { - "balance": "0xd3c21bcecceda1000000" - }, - "0xb04aeF2a3d2D86B01006cCD4339A2e943d9c6480": { - "balance": "0xd3c21bcecceda1000000" - }, - "0xC9CA2bA9A27De1Db589d8c33Ab8EDFa2111b31fb": { - "balance": "0xd3c21bcecceda1000000" - }, - "0x4BC656B34De23896fa6069C9862F355b740401aF": { - "balance": "0x084595161401484a000000" } + }, + "0x0000006916a87b82333f4245046623b23794C65C": { + "balance": "0x52b7d2dcc80cd2e4000000" + }, + "0x0be949928Ff199c9EBA9E110db210AA5C94EFAd0": { + "balance": "0x7c13bc4b2c133c56000000" + }, + "0x0C100000006d7b5e23a1eAEE637f28cA32Cd5b31": { + "balance": "0x52b7d2dcc80cd2e4000000" + }, + "0x0C35317B7a96C454E2CB3d1A255D775Ab112cCc8": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x0d731cfabC5574329823F26d488416451d2ea376": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x0e79065B5F11b5BD1e62B935A600976ffF3754B9": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x105083929bF9bb22C26cB1777Ec92661170D4285": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x10F5d45854e038071485AC9e402308cF80D2d2fE": { + "balance": "0x52b7d2dcc80cd2e4000000" + }, + "0x1268AD189526AC0b386faF06eFfC46779c340eE6": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x12Cba59f5A74DB81a12ff63C349Bd82CBF6007C2": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x1446D7f6dF00380F246d8211dE7f0FaBC4Fd248C": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x164e38a375247A784A81d420201AA8fe4E513921": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x1B7aA44088a0eA95bdc65fef6E5071E946Bf7d8f": { + "balance": "0x52b7d2dcc80cd2e4000000" + }, + "0x222222222222cF64a76AE3d36859958c864fDA2c": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x2f14582947E292a2eCd20C430B46f2d27CFE213c": { + "balance": "0x52b7d2dcc80cd2e4000000" + }, + "0x2f2c75B5Dd5D246194812b00eEb3B09c2c66e2eE": { + "balance": "0x52b7d2dcc80cd2e4000000" + }, + "0x341c40b94bf2afbfa42573cb78f16ee15a056238": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x34f845773D4364999f2fbC7AA26ABDeE902cBb46": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x3C75594181e03E8ECD8468A0037F058a9dAfad79": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x462396E69dBfa455F405f4DD82F3014Af8003B72": { + "balance": "0xa56fa5b99019a5c8000000" + }, + "0x49Df3CCa2670eB0D591146B16359fe336e476F29": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x4D0b04b405c6b62C7cFC3aE54759747e2C0b4662": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x4D496CcC28058B1D74B7a19541663E21154f9c84": { + "balance": "0x52b7d2dcc80cd2e4000000" + }, + "0x509a7667aC8D0320e36172c192506a6188aA84f6": { + "balance": "0x7c13bc4b2c133c56000000" + }, + "0x5180db0237291A6449DdA9ed33aD90a38787621c": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x52730f347dEf6BA09adfF62EaC60D5fEe8205BC4": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x5EAC0fBd3dfef8aE3efa3c5dc1aa193bc6033dFd": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x6a7aA9b882d50Bb7bc5Da1a244719C99f12F06a3": { + "balance": "0x52b7d2dcc80cd2e4000000" + }, + "0x6Cc9397c3B38739daCbfaA68EaD5F5D77Ba5F455": { + "balance": "0x52b7d2dcc80cd2e4000000" + }, + "0x762cA62ca2549ad806763B3Aa1eA317c429bDBDa": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x778F5F13C4Be78A3a4d7141BCB26999702f407CF": { + "balance": "0x52b7d2dcc80cd2e4000000" + }, + "0x875D25Ee4bC604C71BaF6236a8488F22399BED4b": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x8dF7878d3571BEF5e5a744F96287C8D20386d75A": { + "balance": "0x52b7d2dcc80cd2e4000000" + }, + "0x9E415A096fF77650dc925dEA546585B4adB322B6": { + "balance": "0xd3c21bcecceda1000000" + }, + "0xA0766B65A4f7B1da79a1AF79aC695456eFa28644": { + "balance": "0xd3c21bcecceda1000000" + }, + "0xA29B144A449E414A472c60C7AAf1aaFfE329021D": { + "balance": "0xd3c21bcecceda1000000" + }, + "0xa55395566b0b54395B3246f96A0bDc4b8a483df9": { + "balance": "0xd3c21bcecceda1000000" + }, + "0xAC9ba72fb61aA7c31A95df0A8b6ebA6f41EF875e": { + "balance": "0xd3c21bcecceda1000000" + }, + "0xB0498C15879db2eE5471d4926c5fAA25C9a09683": { + "balance": "0xd3c21bcecceda1000000" + }, + "0xB19Fb4c1f280327e60Ed37b1Dc6EE77533539314": { + "balance": "0x52b7d2dcc80cd2e4000000" + }, + "0xC21cB9C99C316d1863142F7dD86dd5496D81A8D6": { + "balance": "0xd3c21bcecceda1000000" + }, + "0xc473d412dc52e349862209924c8981b2ee420768": { + "balance": "0xd3c21bcecceda1000000" + }, + "0xC48E23C5F6e1eA0BaEf6530734edC3968f79Af2e": { + "balance": "0x52b7d2dcc80cd2e4000000" + }, + "0xc6e2459991BfE27cca6d86722F35da23A1E4Cb97": { + "balance": "0x52b7d2dcc80cd2e4000000" + }, + "0xD3994e4d3202dD23c8497d7F75bF1647d1DA1bb1": { + "balance": "0x19D971E4FE8401E74000000" + }, + "0xDCA6e9B48Ea86AeBFDf9929949124042296b6e34": { + "balance": "0xd3c21bcecceda1000000" + }, + "0xe0a2Bd4258D2768837BAa26A28fE71Dc079f84c7": { + "balance": "0x52b7d2dcc80cd2e4000000" + }, + "0xEA28d002042fd9898D0Db016be9758eeAFE35C1E": { + "balance": "0xd3c21bcecceda1000000" + }, + "0xEfA7454f1116807975A4750B46695E967850de5D": { + "balance": "0xd3c21bcecceda1000000" + }, + "0xFBFd6Fa9F73Ac6A058E01259034C28001BEf8247": { + "balance": "0x52b7d2dcc80cd2e4000000" + }, + "0xe0991E844041bE6F11B99da5b114b6bCf84EBd57": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x15E719b6AcAf1E4411Bf0f9576CB1D0dB161DdFc": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x346D827a75F98F0A7a324Ff80b7C3F90252E8baC": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x73b2e0E54510239E22cC936F0b4a6dE1acf0AbdE": { + "balance": "0x52b7d2dcc80cd2e4000000" + }, + "0xBb977B2EE8a111D788B3477D242078d0B837E72b": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x834Dbf5A03e29c25bc55459cCe9c021EeBE676Ad": { + "balance": "0xd3c21bcecceda1000000" + }, + "0xD1F77E4C1C45186e8653C489F90e008a73597296": { + "balance": "0xd3c21bcecceda1000000" + }, + "0xb04aeF2a3d2D86B01006cCD4339A2e943d9c6480": { + "balance": "0xd3c21bcecceda1000000" + }, + "0xC9CA2bA9A27De1Db589d8c33Ab8EDFa2111b31fb": { + "balance": "0xd3c21bcecceda1000000" + }, + "0x4BC656B34De23896fa6069C9862F355b740401aF": { + "balance": "0x084595161401484a000000" } }, "coinbase": "0x0000000000000000000000000000000000000000", "baseFeePerGas": "0x3B9ACA00", "difficulty": "0x01", - "extraData": "0x686f77206d7563682069732074686520666973683f", + "extraData": "", "gasLimit": "0x17D7840", "nonce": "0x1234", "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000", "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", - "timestamp": "1694786100" -} + "timestamp": "1695902100" +} \ No newline at end of file From eef40bd530d8939b56f67c990a7cdf536b7521a7 Mon Sep 17 00:00:00 2001 From: Sally MacFarlane Date: Wed, 20 Sep 2023 13:40:09 +1000 Subject: [PATCH 03/40] [CHANGELOG] removed duplicated line (#5904) * removed duplicated line [skip ci] Signed-off-by: Sally MacFarlane * fixed spelling on Holesky Signed-off-by: Sally MacFarlane --------- Signed-off-by: Sally MacFarlane --- CHANGELOG.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 552c104c398..bb5eb3ab885 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,12 +12,11 @@ - Add access to an immutable world view to start/end transaction hooks in the tracing API[#5836](https://github.com/hyperledger/besu/pull/5836) - Layered transaction pool implementation is now stable and enabled by default. If you want still to use the legacy implementation, use `--tx-pool=legacy` [#5772](https://github.com/hyperledger/besu) - Tune G1GC to reduce Besu memory footprint, and new `besu-untuned` start scripts to run without any specific G1GC flags [#5879](https://github.com/hyperledger/besu/pull/5879) -- Update Holesky config for re-launch [#5890](https://github.com/hyperledger/besu/pull/5890) +- Update Holešky config for re-launch [#5890](https://github.com/hyperledger/besu/pull/5890) ### Bug Fixes - do not create ignorable storage on revert storage-variables subcommand [#5830](https://github.com/hyperledger/besu/pull/5830) - fix duplicate key errors in EthScheduler-Transactions [#5857](https://github.com/hyperledger/besu/pull/5857) -- do not create ignorable storage on revert storage-variables subcommand [#5830](https://github.com/hyperledger/besu/pull/5830) ### Download Links From 2dccfe7ce977cf5d7154f4c16f1cb21b93e8ea60 Mon Sep 17 00:00:00 2001 From: Simon Dudley Date: Thu, 21 Sep 2023 06:34:27 +1000 Subject: [PATCH 04/40] Bump version to 23.7.4-SNAPSHOT (#5913) Signed-off-by: Simon Dudley --- CHANGELOG.md | 14 +++++++++++++- gradle.properties | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bb5eb3ab885..fa78e26a4eb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## Next release + +### Breaking Changes + +### Additions and Improvements + +### Bug Fixes + +### Download Links + + ## 23.7.3 ### Breaking Changes @@ -44,7 +55,8 @@ - Fixing snapsync issue with forest during the heal step [#5776](https://github.com/hyperledger/besu/pull/5776) ### Download Links - +https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.7.2/besu-23.7.2.tar.gz / sha256: f74b32c1a343cbad90a88aa59276b4c5eefea4643ee542aba2bbf898f85ae242 +https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.7.2/besu-23.7.2.zip / sha256: a233c83591fc277e3d1530c84bb5ea896abad717d796b5e3b856c79199132b75 ## 23.7.1 diff --git a/gradle.properties b/gradle.properties index 32a11f7cc8c..4c525f654b3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=23.7.3-SNAPSHOT +version=23.7.4-SNAPSHOT org.gradle.welcome=never # Set exports/opens flags required by Google Java Format and ErrorProne plugins. (JEP-396) From db8bd9d2af40a64c835240abb929a0e5b4046d68 Mon Sep 17 00:00:00 2001 From: Danno Ferrin Date: Wed, 20 Sep 2023 22:35:31 -0600 Subject: [PATCH 05/40] Update reference tests to 12.4 (#5899) * Update reference tests to 12.4 Update reference tests to 12.4 * Some in-memory storage changed to ConcurrentMap * exclude cancun from all EIP tests, EIP-4788 still in flux * Add new fields to ReferenceTestEnv, and re-order the reflected constructor for clarity and ease of development. Signed-off-by: Danno Ferrin * spotless Signed-off-by: Danno Ferrin --------- Signed-off-by: Danno Ferrin Co-authored-by: Sally MacFarlane --- ethereum/referencetests/build.gradle | 2 +- .../referencetests/ReferenceTestEnv.java | 45 ++++++++++--------- .../src/reference-test/external-resources | 2 +- .../vm/BlockchainReferenceTestTools.java | 3 ++ .../kvstore/InMemoryKeyValueStorage.java | 8 ++-- .../kvstore/LayeredKeyValueStorage.java | 3 +- .../SegmentedInMemoryKeyValueStorage.java | 16 ++++--- 7 files changed, 47 insertions(+), 32 deletions(-) diff --git a/ethereum/referencetests/build.gradle b/ethereum/referencetests/build.gradle index cf1a6e1f8a8..dc3e0165017 100644 --- a/ethereum/referencetests/build.gradle +++ b/ethereum/referencetests/build.gradle @@ -198,7 +198,7 @@ tasks.register('validateReferenceTestSubmodule') { description = "Checks that the reference tests submodule is not accidentally changed" doLast { def result = new ByteArrayOutputStream() - def expectedHash = '06e276776bc87817c38f6efb492bf6f4527fa904' + def expectedHash = '661356317ac6df52208d54187e692472a25a01f8' def submodulePath = java.nio.file.Path.of("${rootProject.projectDir}", "ethereum/referencetests/src/reference-test/external-resources").toAbsolutePath() try { exec { diff --git a/ethereum/referencetests/src/main/java/org/hyperledger/besu/ethereum/referencetests/ReferenceTestEnv.java b/ethereum/referencetests/src/main/java/org/hyperledger/besu/ethereum/referencetests/ReferenceTestEnv.java index 5f7af60719a..bac137b2a58 100644 --- a/ethereum/referencetests/src/main/java/org/hyperledger/besu/ethereum/referencetests/ReferenceTestEnv.java +++ b/ethereum/referencetests/src/main/java/org/hyperledger/besu/ethereum/referencetests/ReferenceTestEnv.java @@ -97,33 +97,35 @@ Withdrawal asWithdrawal() { */ @JsonCreator public ReferenceTestEnv( + @JsonProperty("beaconRoot") final String beaconRoot, + @JsonProperty("blockHashes") final Map blockHashes, + @JsonProperty("ommers") final List _ommers, + @JsonProperty("previousHash") final String previousHash, + @JsonProperty("withdrawals") final List withdrawals, + @JsonProperty("currentBaseFee") final String baseFee, + @JsonProperty("currentBeaconRoot") final String currentBeaconRoot, + @JsonProperty("currentBlobGasUsed") final String currentBlobGasUsed, @JsonProperty("currentCoinbase") final String coinbase, + @JsonProperty("currentDataGasUsed") final String currentDataGasUsed, @JsonProperty("currentDifficulty") final String difficulty, + @JsonProperty("currentExcessBlobGas") final String currentExcessBlobGas, + @JsonProperty("currentExcessDataGas") final String currentExcessDataGas, @JsonProperty("currentGasLimit") final String gasLimit, @JsonProperty("currentNumber") final String number, - @JsonProperty("currentBaseFee") final String baseFee, - @JsonProperty("currentTimestamp") final String timestamp, @JsonProperty("currentRandom") final String random, @JsonProperty("currentStateRoot") final String stateRoot, - @JsonProperty("previousHash") final String previousHash, - @JsonProperty("parentDifficulty") final String parentDifficulty, + @JsonProperty("currentTimestamp") final String timestamp, + @JsonProperty("currentWithdrawalsRoot") final String currentWithdrawalsRoot, @JsonProperty("parentBaseFee") final String parentBaseFee, - @JsonProperty("parentGasUsed") final String parentGasUsed, - @JsonProperty("parentGasLimit") final String parentGasLimit, - @JsonProperty("parentTimestamp") final String parentTimestamp, - @JsonProperty("ommers") final List _ommers, - @JsonProperty("parentUncleHash") final String _parentUncleHash, - @JsonProperty("withdrawals") final List withdrawals, - @JsonProperty("blockHashes") final Map blockHashes, - @JsonProperty("currentExcessBlobGas") final String currentExcessBlobGas, - @JsonProperty("currentBlobGasUsed") final String currentBlobGasUsed, - @JsonProperty("currentExcessDataGas") final String currentExcessDataGas, - @JsonProperty("currentDataGasUsed") final String currentDataGasUsed, - @JsonProperty("parentExcessBlobGas") final String parentExcessBlobGas, @JsonProperty("parentBlobGasUsed") final String parentBlobGasUsed, - @JsonProperty("parentExcessDataGas") final String parentExcessDataGas, @JsonProperty("parentDataGasUsed") final String parentDataGasUsed, - @JsonProperty("beaconRoot") final String beaconRoot) { + @JsonProperty("parentDifficulty") final String parentDifficulty, + @JsonProperty("parentExcessBlobGas") final String parentExcessBlobGas, + @JsonProperty("parentExcessDataGas") final String parentExcessDataGas, + @JsonProperty("parentGasLimit") final String parentGasLimit, + @JsonProperty("parentGasUsed") final String parentGasUsed, + @JsonProperty("parentTimestamp") final String parentTimestamp, + @JsonProperty("parentUncleHash") final String _parentUncleHash) { super( generateTestBlockHash(previousHash, number), Hash.EMPTY_LIST_HASH, // ommersHash @@ -141,7 +143,7 @@ public ReferenceTestEnv( Optional.ofNullable(baseFee).map(Wei::fromHexString).orElse(null), Optional.ofNullable(random).map(Difficulty::fromHexString).orElse(Difficulty.ZERO), 0L, - null, // withdrawalsRoot + currentWithdrawalsRoot == null ? null : Hash.fromHexString(currentWithdrawalsRoot), currentBlobGasUsed == null ? currentDataGasUsed == null ? null : Long.decode(currentDataGasUsed) : Long.decode(currentBlobGasUsed), @@ -172,7 +174,10 @@ public ReferenceTestEnv( Map.entry( Long.decode(entry.getKey()), Hash.fromHexString(entry.getValue()))) .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); - this.beaconRoot = beaconRoot == null ? null : Hash.fromHexString(beaconRoot); + this.beaconRoot = + beaconRoot == null + ? (currentBeaconRoot == null ? null : Hash.fromHexString(currentBeaconRoot)) + : Hash.fromHexString(beaconRoot); } @Override diff --git a/ethereum/referencetests/src/reference-test/external-resources b/ethereum/referencetests/src/reference-test/external-resources index 06e276776bc..661356317ac 160000 --- a/ethereum/referencetests/src/reference-test/external-resources +++ b/ethereum/referencetests/src/reference-test/external-resources @@ -1 +1 @@ -Subproject commit 06e276776bc87817c38f6efb492bf6f4527fa904 +Subproject commit 661356317ac6df52208d54187e692472a25a01f8 diff --git a/ethereum/referencetests/src/reference-test/java/org/hyperledger/besu/ethereum/vm/BlockchainReferenceTestTools.java b/ethereum/referencetests/src/reference-test/java/org/hyperledger/besu/ethereum/vm/BlockchainReferenceTestTools.java index 3a11761e708..266f8bb6a38 100644 --- a/ethereum/referencetests/src/reference-test/java/org/hyperledger/besu/ethereum/vm/BlockchainReferenceTestTools.java +++ b/ethereum/referencetests/src/reference-test/java/org/hyperledger/besu/ethereum/vm/BlockchainReferenceTestTools.java @@ -86,6 +86,9 @@ public class BlockchainReferenceTestTools { params.ignore("blobhashListBounds5"); params.ignore("blockWithAllTransactionTypes"); + // EIP-4788 is still in flux and the current fill is not against the final address + params.ignore("[Cancun]"); + // EOF tests are written against an older version of the spec params.ignore("/stEOF/"); } diff --git a/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/InMemoryKeyValueStorage.java b/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/InMemoryKeyValueStorage.java index 28e4436fe6e..3b1139cd179 100644 --- a/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/InMemoryKeyValueStorage.java +++ b/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/InMemoryKeyValueStorage.java @@ -18,9 +18,10 @@ import java.io.PrintStream; import java.nio.charset.StandardCharsets; -import java.util.HashMap; import java.util.Map; import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; import java.util.concurrent.locks.ReadWriteLock; import org.apache.tuweni.bytes.Bytes; @@ -51,9 +52,10 @@ public boolean containsStaticData() { } }; - private static Map>> asSegmentMap( + private static ConcurrentMap>> asSegmentMap( final Map> initialMap) { - final Map>> segmentMap = new HashMap<>(); + final ConcurrentMap>> segmentMap = + new ConcurrentHashMap<>(); segmentMap.put(SEGMENT_IDENTIFIER, initialMap); return segmentMap; } diff --git a/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/LayeredKeyValueStorage.java b/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/LayeredKeyValueStorage.java index ffc57530682..ddaf567433f 100644 --- a/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/LayeredKeyValueStorage.java +++ b/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/LayeredKeyValueStorage.java @@ -25,6 +25,7 @@ import java.util.Map; import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; import java.util.concurrent.locks.Lock; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -59,7 +60,7 @@ public LayeredKeyValueStorage(final SegmentedKeyValueStorage parent) { * @param parent the parent key value storage for this layered storage. */ public LayeredKeyValueStorage( - final Map>> map, + final ConcurrentMap>> map, final SegmentedKeyValueStorage parent) { super(map); this.parent = parent; diff --git a/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/SegmentedInMemoryKeyValueStorage.java b/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/SegmentedInMemoryKeyValueStorage.java index 66d70bac4dc..fd48384c366 100644 --- a/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/SegmentedInMemoryKeyValueStorage.java +++ b/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/SegmentedInMemoryKeyValueStorage.java @@ -30,6 +30,8 @@ import java.util.Map; import java.util.Optional; import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; @@ -46,14 +48,14 @@ public class SegmentedInMemoryKeyValueStorage implements SnappedKeyValueStorage, SnappableKeyValueStorage, SegmentedKeyValueStorage { /** protected access for the backing hash map. */ - final Map>> hashValueStore; + final ConcurrentMap>> hashValueStore; /** protected access to the rw lock. */ protected final ReadWriteLock rwLock = new ReentrantReadWriteLock(); /** Instantiates a new In memory key value storage. */ public SegmentedInMemoryKeyValueStorage() { - this(new HashMap<>()); + this(new ConcurrentHashMap<>()); } /** @@ -62,7 +64,7 @@ public SegmentedInMemoryKeyValueStorage() { * @param hashValueStore the hash value store */ protected SegmentedInMemoryKeyValueStorage( - final Map>> hashValueStore) { + final ConcurrentMap>> hashValueStore) { this.hashValueStore = hashValueStore; } @@ -76,8 +78,8 @@ public SegmentedInMemoryKeyValueStorage(final List segments) segments.stream() .collect( Collectors - .>>toMap( - s -> s, s -> new HashMap<>()))); + .>> + toConcurrentMap(s -> s, s -> new ConcurrentHashMap<>()))); } @Override @@ -214,7 +216,9 @@ public SegmentedInMemoryKeyValueStorage takeSnapshot() { // need to clone the submaps also: return new SegmentedInMemoryKeyValueStorage( hashValueStore.entrySet().stream() - .collect(Collectors.toMap(Map.Entry::getKey, e -> new HashMap<>(e.getValue())))); + .collect( + Collectors.toConcurrentMap( + Map.Entry::getKey, e -> new ConcurrentHashMap<>(e.getValue())))); } @Override From 277424d8a15d74b83b420d9aa100a4272466e445 Mon Sep 17 00:00:00 2001 From: Sally MacFarlane Date: Fri, 22 Sep 2023 00:42:59 +1000 Subject: [PATCH 06/40] [MINOR] Block number param additional test (#5918) * add test for hex vs decimal block parameter Signed-off-by: Sally MacFarlane * typo Signed-off-by: Sally MacFarlane --------- Signed-off-by: Sally MacFarlane --- .../methods/EthGetBlockByNumberTest.java | 4 +-- .../parameters/BlockParameterTest.java | 28 +++++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetBlockByNumberTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetBlockByNumberTest.java index 2d3390e7f30..8eafb35f730 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetBlockByNumberTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetBlockByNumberTest.java @@ -82,9 +82,9 @@ public void setUp() { blockchain.appendBlock(block, receipts); } - BlockHeader lastestHeader = blockchain.getChainHeadBlock().getHeader(); + BlockHeader latestHeader = blockchain.getChainHeadBlock().getHeader(); when(worldStateArchive.isWorldStateAvailable( - lastestHeader.getStateRoot(), lastestHeader.getHash())) + latestHeader.getStateRoot(), latestHeader.getHash())) .thenReturn(Boolean.TRUE); blockchainQueries = spy(new BlockchainQueries(blockchain, worldStateArchive)); diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/parameters/BlockParameterTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/parameters/BlockParameterTest.java index 3e8d534e70f..015a217bc28 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/parameters/BlockParameterTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/parameters/BlockParameterTest.java @@ -114,6 +114,34 @@ public void longShouldReturnLongNumberValue() { assertThat(blockParameter.isSafe()).isFalse(); } + @Test + public void numberStringShouldReturnLongNumberValue() { + final BlockParameter blockParameter = new BlockParameter("55"); + assertThat(blockParameter.getNumber()).isPresent(); + assertThat(blockParameter.getNumber().get()).isEqualTo(55L); + + assertThat(blockParameter.isNumeric()).isTrue(); + assertThat(blockParameter.isEarliest()).isFalse(); + assertThat(blockParameter.isFinalized()).isFalse(); + assertThat(blockParameter.isLatest()).isFalse(); + assertThat(blockParameter.isPending()).isFalse(); + assertThat(blockParameter.isSafe()).isFalse(); + } + + @Test + public void hexShouldReturnLongNumberValue() { + final BlockParameter blockParameter = new BlockParameter("0x55"); + assertThat(blockParameter.getNumber()).isPresent(); + assertThat(blockParameter.getNumber().get()).isEqualTo(85L); + + assertThat(blockParameter.isNumeric()).isTrue(); + assertThat(blockParameter.isEarliest()).isFalse(); + assertThat(blockParameter.isFinalized()).isFalse(); + assertThat(blockParameter.isLatest()).isFalse(); + assertThat(blockParameter.isPending()).isFalse(); + assertThat(blockParameter.isSafe()).isFalse(); + } + @Test public void upperCaseStringShouldBeHandled() { final BlockParameter blockParameter = new BlockParameter("LATEST"); From c9489a499807dcb766e55387fa7e762f33fb5cd8 Mon Sep 17 00:00:00 2001 From: Sally MacFarlane Date: Fri, 22 Sep 2023 04:35:01 +1000 Subject: [PATCH 07/40] update beacon root again [skip ci] (#5903) Signed-off-by: Sally MacFarlane Co-authored-by: Justin Florentine --- .../besu/ethereum/mainnet/ParentBeaconBlockRootHelper.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ParentBeaconBlockRootHelper.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ParentBeaconBlockRootHelper.java index 669815f7d52..d5252a06728 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ParentBeaconBlockRootHelper.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ParentBeaconBlockRootHelper.java @@ -24,10 +24,10 @@ /** A helper class to store the parent beacon block root. */ public interface ParentBeaconBlockRootHelper { - // Modulus use to for the timestamp to store the root + // Modulus to use for the timestamp to store the root public static final long HISTORICAL_ROOTS_MODULUS = 8191; public static final Address BEACON_ROOTS_ADDRESS = - Address.fromHexString("0xBEaC020001c6C8B69E5257f4754e46e25f5dc9cB"); + Address.fromHexString("0xbEAC020008aFF7331c0A389CB2AAb67597567d7a"); static void storeParentBeaconBlockRoot( final WorldUpdater worldUpdater, final long timestamp, final Bytes32 root) { From 5830936583628c589feb36087ebcaaf7a8020255 Mon Sep 17 00:00:00 2001 From: Stefan Pingel <16143240+pinges@users.noreply.github.com> Date: Fri, 22 Sep 2023 15:03:59 +1000 Subject: [PATCH 08/40] fix geth rlpx ping command (#5917) * fix geth rlpx ping command Signed-off-by: Stefan --------- Signed-off-by: Stefan --- .../netty/AbstractHandshakeHandler.java | 78 +++++++++---------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/AbstractHandshakeHandler.java b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/AbstractHandshakeHandler.java index 87826b5f93b..3a827403ec3 100644 --- a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/AbstractHandshakeHandler.java +++ b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/AbstractHandshakeHandler.java @@ -97,47 +97,47 @@ protected final void channelRead0(final ChannelHandlerContext ctx, final ByteBuf ctx.writeAndFlush(nextMsg.get()); } else if (handshaker.getStatus() != Handshaker.HandshakeStatus.SUCCESS) { LOG.debug("waiting for more bytes"); - } else { - - final Bytes nodeId = handshaker.partyPubKey().getEncodedBytes(); - if (!localNode.isReady()) { - // If we're handling a connection before the node is fully up, just disconnect - LOG.debug("Rejecting connection because local node is not ready {}", nodeId); - disconnect(ctx, DisconnectMessage.DisconnectReason.UNKNOWN); - return; - } + return; + } - LOG.trace("Sending framed hello"); - - // Exchange keys done - final Framer framer = this.framerProvider.buildFramer(handshaker.secrets()); - - final ByteToMessageDecoder deFramer = - new DeFramer( - framer, - subProtocols, - localNode, - expectedPeer, - connectionEventDispatcher, - connectionFuture, - metricsSystem, - inboundInitiated); - - ctx.channel() - .pipeline() - .replace(this, "DeFramer", deFramer) - .addBefore("DeFramer", "validate", new ValidateFirstOutboundMessage(framer)); - - ctx.writeAndFlush(new OutboundMessage(null, HelloMessage.create(localNode.getPeerInfo()))) - .addListener( - ff -> { - if (ff.isSuccess()) { - LOG.trace("Successfully wrote hello message"); - } - }); - msg.retain(); - ctx.fireChannelRead(msg); + final Bytes nodeId = handshaker.partyPubKey().getEncodedBytes(); + if (!localNode.isReady()) { + // If we're handling a connection before the node is fully up, just disconnect + LOG.debug("Rejecting connection because local node is not ready {}", nodeId); + disconnect(ctx, DisconnectMessage.DisconnectReason.UNKNOWN); + return; } + + LOG.trace("Sending framed hello"); + + // Exchange keys done + final Framer framer = this.framerProvider.buildFramer(handshaker.secrets()); + + final ByteToMessageDecoder deFramer = + new DeFramer( + framer, + subProtocols, + localNode, + expectedPeer, + connectionEventDispatcher, + connectionFuture, + metricsSystem, + inboundInitiated); + + ctx.channel() + .pipeline() + .replace(this, "DeFramer", deFramer) + .addBefore("DeFramer", "validate", new ValidateFirstOutboundMessage(framer)); + + ctx.writeAndFlush(new OutboundMessage(null, HelloMessage.create(localNode.getPeerInfo()))) + .addListener( + ff -> { + if (ff.isSuccess()) { + LOG.trace("Successfully wrote hello message"); + } + }); + msg.retain(); + ctx.fireChannelRead(msg); } private void disconnect( From 9d7ee2b52b5703bf1c9e59c7e21297b1199fa729 Mon Sep 17 00:00:00 2001 From: Gabriel-Trintinalia Date: Fri, 22 Sep 2023 22:56:22 +1000 Subject: [PATCH 09/40] [4844] Fix some Devnet9 Hive tests (#5929) * Return latest valid hash for blob validation * Fix invalid hash * Fix null hash * Change HISTORY_BUFFER_LENGTH --------- Signed-off-by: Gabriel-Trintinalia --- .../methods/engine/AbstractEngineNewPayload.java | 9 +++++++-- .../ethereum/mainnet/ParentBeaconBlockRootHelper.java | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineNewPayload.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineNewPayload.java index 7b5d6f852ad..60abf0aa039 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineNewPayload.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineNewPayload.java @@ -130,7 +130,12 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext requestContext) try { maybeVersionedHashes = extractVersionedHashes(maybeVersionedHashParam); } catch (RuntimeException ex) { - return respondWithInvalid(reqId, blockParam, null, INVALID, "Invalid versionedHash"); + return respondWithInvalid( + reqId, + blockParam, + mergeCoordinator.getLatestValidAncestor(blockParam.getParentHash()).orElse(null), + INVALID, + "Invalid versionedHash"); } final Optional maybeParentHeader = @@ -240,7 +245,7 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext requestContext) return respondWithInvalid( reqId, blockParam, - null, + mergeCoordinator.getLatestValidAncestor(blockParam.getParentHash()).orElse(null), getInvalidBlockHashStatus(), blobValidationResult.getErrorMessage()); } diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ParentBeaconBlockRootHelper.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ParentBeaconBlockRootHelper.java index d5252a06728..5bae221bcfd 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ParentBeaconBlockRootHelper.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ParentBeaconBlockRootHelper.java @@ -25,7 +25,7 @@ public interface ParentBeaconBlockRootHelper { // Modulus to use for the timestamp to store the root - public static final long HISTORICAL_ROOTS_MODULUS = 8191; + public static final long HISTORICAL_ROOTS_MODULUS = 98304; public static final Address BEACON_ROOTS_ADDRESS = Address.fromHexString("0xbEAC020008aFF7331c0A389CB2AAb67597567d7a"); From d81e1f30427f96cf1a8321885aa0836443199bfa Mon Sep 17 00:00:00 2001 From: garyschulte Date: Fri, 22 Sep 2023 10:51:39 -0700 Subject: [PATCH 10/40] Add FlatDbStrategy (#5901) * move FlatDbReader to FlatDbStrategy (including writes), add getNearestTo Signed-off-by: garyschulte --- ...nsaiSnapshotWorldStateKeyValueStorage.java | 5 +- .../BonsaiWorldStateKeyValueStorage.java | 100 ++++++++++-------- ...eaderStrategy.java => FlatDbStrategy.java} | 76 +++++++++++-- ...rStrategy.java => FullFlatDbStrategy.java} | 8 +- ...rategy.java => PartialFlatDbStrategy.java} | 8 +- .../bonsai/worldview/BonsaiWorldState.java | 4 +- .../BonsaiWorldStateKeyValueStorageTest.java | 5 +- plugin-api/build.gradle | 2 +- .../storage/SegmentedKeyValueStorage.java | 31 ++++++ .../RocksDBColumnarKeyValueSnapshot.java | 15 +++ .../RocksDBColumnarKeyValueStorage.java | 14 +++ .../segmented/RocksDBSnapshotTransaction.java | 13 +++ .../kvstore/InMemoryKeyValueStorage.java | 2 +- .../kvstore/LayeredKeyValueStorage.java | 20 ++++ .../SegmentedInMemoryKeyValueStorage.java | 27 +++++ .../SegmentedKeyValueStorageAdapter.java | 4 + .../AbstractSegmentedKeyValueStorageTest.java | 82 ++++++++++++++ .../kvstore/InMemoryKeyValueStorageTest.java | 9 +- .../kvstore/LayeredKeyValueStorageTest.java | 33 ++++++ 19 files changed, 389 insertions(+), 69 deletions(-) rename ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/flat/{FlatDbReaderStrategy.java => FlatDbStrategy.java} (69%) rename ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/flat/{FullFlatDbReaderStrategy.java => FullFlatDbStrategy.java} (93%) rename ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/flat/{PartialFlatDbReaderStrategy.java => PartialFlatDbStrategy.java} (96%) rename ethereum/core/src/test/java/org/hyperledger/besu/ethereum/bonsai/{ => storage}/BonsaiWorldStateKeyValueStorageTest.java (98%) create mode 100644 services/kvstore/src/test/java/org/hyperledger/besu/services/kvstore/AbstractSegmentedKeyValueStorageTest.java create mode 100644 services/kvstore/src/test/java/org/hyperledger/besu/services/kvstore/LayeredKeyValueStorageTest.java diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/BonsaiSnapshotWorldStateKeyValueStorage.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/BonsaiSnapshotWorldStateKeyValueStorage.java index 44c79c46b8d..80bd2ce86eb 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/BonsaiSnapshotWorldStateKeyValueStorage.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/BonsaiSnapshotWorldStateKeyValueStorage.java @@ -47,7 +47,7 @@ public BonsaiSnapshotWorldStateKeyValueStorage( final ObservableMetricsSystem metricsSystem) { super( parentWorldStateStorage.flatDbMode, - parentWorldStateStorage.flatDbReaderStrategy, + parentWorldStateStorage.flatDbStrategy, segmentedWorldStateStorage, trieLogStorage, metricsSystem); @@ -77,7 +77,8 @@ private boolean isClosedGet() { public BonsaiUpdater updater() { return new Updater( ((SnappedKeyValueStorage) composedWorldStateStorage).getSnapshotTransaction(), - trieLogStorage.startTransaction()); + trieLogStorage.startTransaction(), + flatDbStrategy); } @Override diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/BonsaiWorldStateKeyValueStorage.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/BonsaiWorldStateKeyValueStorage.java index 1201fffb3b8..9756b280e45 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/BonsaiWorldStateKeyValueStorage.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/BonsaiWorldStateKeyValueStorage.java @@ -21,9 +21,9 @@ import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.datatypes.StorageSlotKey; -import org.hyperledger.besu.ethereum.bonsai.storage.flat.FlatDbReaderStrategy; -import org.hyperledger.besu.ethereum.bonsai.storage.flat.FullFlatDbReaderStrategy; -import org.hyperledger.besu.ethereum.bonsai.storage.flat.PartialFlatDbReaderStrategy; +import org.hyperledger.besu.ethereum.bonsai.storage.flat.FlatDbStrategy; +import org.hyperledger.besu.ethereum.bonsai.storage.flat.FullFlatDbStrategy; +import org.hyperledger.besu.ethereum.bonsai.storage.flat.PartialFlatDbStrategy; import org.hyperledger.besu.ethereum.storage.StorageProvider; import org.hyperledger.besu.ethereum.storage.keyvalue.KeyValueSegmentIdentifier; import org.hyperledger.besu.ethereum.trie.MerkleTrie; @@ -67,7 +67,7 @@ public class BonsaiWorldStateKeyValueStorage implements WorldStateStorage, AutoC public static final byte[] FLAT_DB_MODE = "flatDbStatus".getBytes(StandardCharsets.UTF_8); protected FlatDbMode flatDbMode; - protected FlatDbReaderStrategy flatDbReaderStrategy; + protected FlatDbStrategy flatDbStrategy; protected final SegmentedKeyValueStorage composedWorldStateStorage; protected final KeyValueStorage trieLogStorage; @@ -94,33 +94,49 @@ public BonsaiWorldStateKeyValueStorage( public BonsaiWorldStateKeyValueStorage( final FlatDbMode flatDbMode, - final FlatDbReaderStrategy flatDbReaderStrategy, + final FlatDbStrategy flatDbStrategy, final SegmentedKeyValueStorage composedWorldStateStorage, final KeyValueStorage trieLogStorage, final ObservableMetricsSystem metricsSystem) { this.flatDbMode = flatDbMode; - this.flatDbReaderStrategy = flatDbReaderStrategy; + this.flatDbStrategy = flatDbStrategy; this.composedWorldStateStorage = composedWorldStateStorage; this.trieLogStorage = trieLogStorage; this.metricsSystem = metricsSystem; } - public void loadFlatDbStrategy() { - this.flatDbMode = + private void loadFlatDbStrategy() { + // derive our flatdb strategy from db or default: + var newFlatDbMode = deriveFlatDbStrategy(); + + // if flatDbMode is not loaded or has changed, reload flatDbStrategy + if (this.flatDbMode == null || !this.flatDbMode.equals(newFlatDbMode)) { + this.flatDbMode = newFlatDbMode; + if (flatDbMode == FlatDbMode.FULL) { + this.flatDbStrategy = new FullFlatDbStrategy(metricsSystem); + } else { + this.flatDbStrategy = new PartialFlatDbStrategy(metricsSystem); + } + } + } + + public FlatDbMode deriveFlatDbStrategy() { + var flatDbMode = FlatDbMode.fromVersion( composedWorldStateStorage .get(TRIE_BRANCH_STORAGE, FLAT_DB_MODE) .map(Bytes::wrap) - .orElse( - FlatDbMode.PARTIAL - .getVersion())); // for backward compatibility we use partial as - // default + .orElse(FlatDbMode.PARTIAL.getVersion())); LOG.info("Bonsai flat db mode found {}", flatDbMode); - if (flatDbMode == FlatDbMode.FULL) { - this.flatDbReaderStrategy = new FullFlatDbReaderStrategy(metricsSystem); - } else { - this.flatDbReaderStrategy = new PartialFlatDbReaderStrategy(metricsSystem); + + return flatDbMode; + } + + public FlatDbStrategy getFlatDbStrategy() { + if (flatDbStrategy == null) { + loadFlatDbStrategy(); } + return flatDbStrategy; } @Override @@ -133,22 +149,18 @@ public FlatDbMode getFlatDbMode() { return flatDbMode; } - public FlatDbReaderStrategy getFlatDbReaderStrategy() { - return flatDbReaderStrategy; - } - @Override public Optional getCode(final Bytes32 codeHash, final Hash accountHash) { if (codeHash.equals(Hash.EMPTY)) { return Optional.of(Bytes.EMPTY); } else { - return getFlatDbReaderStrategy().getCode(codeHash, accountHash, composedWorldStateStorage); + return getFlatDbStrategy().getFlatCode(codeHash, accountHash, composedWorldStateStorage); } } public Optional getAccount(final Hash accountHash) { - return getFlatDbReaderStrategy() - .getAccount( + return getFlatDbStrategy() + .getFlatAccount( this::getWorldStateRootHash, this::getAccountStateTrieNode, accountHash, @@ -226,8 +238,8 @@ public Optional getStorageValueByStorageSlotKey( final Supplier> storageRootSupplier, final Hash accountHash, final StorageSlotKey storageSlotKey) { - return getFlatDbReaderStrategy() - .getStorageValueByStorageSlotKey( + return getFlatDbStrategy() + .getFlatStorageValueByStorageSlotKey( this::getWorldStateRootHash, storageRootSupplier, (location, hash) -> getAccountStorageTrieNode(accountHash, location, hash), @@ -239,14 +251,14 @@ public Optional getStorageValueByStorageSlotKey( @Override public Map streamFlatAccounts( final Bytes startKeyHash, final Bytes32 endKeyHash, final long max) { - return getFlatDbReaderStrategy() + return getFlatDbStrategy() .streamAccountFlatDatabase(composedWorldStateStorage, startKeyHash, endKeyHash, max); } @Override public Map streamFlatStorages( final Hash accountHash, final Bytes startKeyHash, final Bytes32 endKeyHash, final long max) { - return getFlatDbReaderStrategy() + return getFlatDbStrategy() .streamStorageFlatDatabase( composedWorldStateStorage, accountHash, startKeyHash, endKeyHash, max); } @@ -273,6 +285,7 @@ public boolean isWorldStateAvailable(final Bytes32 rootHash, final Hash blockHas public void upgradeToFullFlatDbMode() { final SegmentedKeyValueStorageTransaction transaction = composedWorldStateStorage.startTransaction(); + // TODO: consider ARCHIVE mode transaction.put( TRIE_BRANCH_STORAGE, FLAT_DB_MODE, FlatDbMode.FULL.getVersion().toArrayUnsafe()); transaction.commit(); @@ -291,7 +304,7 @@ public void downgradeToPartialFlatDbMode() { @Override public void clear() { subscribers.forEach(BonsaiStorageSubscriber::onClearStorage); - getFlatDbReaderStrategy().clearAll(composedWorldStateStorage); + getFlatDbStrategy().clearAll(composedWorldStateStorage); composedWorldStateStorage.clear(TRIE_BRANCH_STORAGE); trieLogStorage.clear(); loadFlatDbStrategy(); // force reload of flat db reader strategy @@ -306,13 +319,15 @@ public void clearTrieLog() { @Override public void clearFlatDatabase() { subscribers.forEach(BonsaiStorageSubscriber::onClearFlatDatabaseStorage); - getFlatDbReaderStrategy().resetOnResync(composedWorldStateStorage); + getFlatDbStrategy().resetOnResync(composedWorldStateStorage); } @Override public BonsaiUpdater updater() { return new Updater( - composedWorldStateStorage.startTransaction(), trieLogStorage.startTransaction()); + composedWorldStateStorage.startTransaction(), + trieLogStorage.startTransaction(), + flatDbStrategy); } @Override @@ -351,18 +366,21 @@ public static class Updater implements BonsaiUpdater { private final SegmentedKeyValueStorageTransaction composedWorldStateTransaction; private final KeyValueStorageTransaction trieLogStorageTransaction; + private final FlatDbStrategy flatDbStrategy; public Updater( final SegmentedKeyValueStorageTransaction composedWorldStateTransaction, - final KeyValueStorageTransaction trieLogStorageTransaction) { + final KeyValueStorageTransaction trieLogStorageTransaction, + final FlatDbStrategy flatDbStrategy) { this.composedWorldStateTransaction = composedWorldStateTransaction; this.trieLogStorageTransaction = trieLogStorageTransaction; + this.flatDbStrategy = flatDbStrategy; } @Override public BonsaiUpdater removeCode(final Hash accountHash) { - composedWorldStateTransaction.remove(CODE_STORAGE, accountHash.toArrayUnsafe()); + flatDbStrategy.removeFlatCode(composedWorldStateTransaction, accountHash); return this; } @@ -372,14 +390,13 @@ public BonsaiUpdater putCode(final Hash accountHash, final Bytes32 codeHash, fin // Don't save empty values return this; } - composedWorldStateTransaction.put( - CODE_STORAGE, accountHash.toArrayUnsafe(), code.toArrayUnsafe()); + flatDbStrategy.putFlatCode(composedWorldStateTransaction, accountHash, codeHash, code); return this; } @Override public BonsaiUpdater removeAccountInfoState(final Hash accountHash) { - composedWorldStateTransaction.remove(ACCOUNT_INFO_STATE, accountHash.toArrayUnsafe()); + flatDbStrategy.removeFlatAccount(composedWorldStateTransaction, accountHash); return this; } @@ -389,8 +406,7 @@ public BonsaiUpdater putAccountInfoState(final Hash accountHash, final Bytes acc // Don't save empty values return this; } - composedWorldStateTransaction.put( - ACCOUNT_INFO_STATE, accountHash.toArrayUnsafe(), accountValue.toArrayUnsafe()); + flatDbStrategy.putFlatAccount(composedWorldStateTransaction, accountHash, accountValue); return this; } @@ -441,18 +457,16 @@ public synchronized BonsaiUpdater putAccountStorageTrieNode( @Override public synchronized BonsaiUpdater putStorageValueBySlotHash( final Hash accountHash, final Hash slotHash, final Bytes storage) { - composedWorldStateTransaction.put( - ACCOUNT_STORAGE_STORAGE, - Bytes.concatenate(accountHash, slotHash).toArrayUnsafe(), - storage.toArrayUnsafe()); + flatDbStrategy.putFlatAccountStorageValueByStorageSlotHash( + composedWorldStateTransaction, accountHash, slotHash, storage); return this; } @Override public synchronized void removeStorageValueBySlotHash( final Hash accountHash, final Hash slotHash) { - composedWorldStateTransaction.remove( - ACCOUNT_STORAGE_STORAGE, Bytes.concatenate(accountHash, slotHash).toArrayUnsafe()); + flatDbStrategy.removeFlatAccountStorageValueByStorageSlotHash( + composedWorldStateTransaction, accountHash, slotHash); } @Override diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/flat/FlatDbReaderStrategy.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/flat/FlatDbStrategy.java similarity index 69% rename from ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/flat/FlatDbReaderStrategy.java rename to ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/flat/FlatDbStrategy.java index 74c7b101c25..c561dcd8609 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/flat/FlatDbReaderStrategy.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/flat/FlatDbStrategy.java @@ -26,6 +26,7 @@ import org.hyperledger.besu.plugin.services.MetricsSystem; import org.hyperledger.besu.plugin.services.metrics.Counter; import org.hyperledger.besu.plugin.services.storage.SegmentedKeyValueStorage; +import org.hyperledger.besu.plugin.services.storage.SegmentedKeyValueStorageTransaction; import java.util.Map; import java.util.Optional; @@ -40,11 +41,11 @@ import org.apache.tuweni.rlp.RLP; /** - * This class represents a FlatDbReaderStrategy, which is responsible for reading data from flat - * databases. It implements various methods for retrieving account data, code data, and storage data - * from the corresponding KeyValueStorage. + * This class represents a FlatDbReaderStrategy, which is responsible for reading and writing data + * from flat databases. It implements various methods for storing and retrieving account data, code + * data, and storage data from the corresponding KeyValueStorage. */ -public abstract class FlatDbReaderStrategy { +public abstract class FlatDbStrategy { protected final MetricsSystem metricsSystem; protected final Counter getAccountCounter; @@ -53,7 +54,7 @@ public abstract class FlatDbReaderStrategy { protected final Counter getStorageValueCounter; protected final Counter getStorageValueFlatDatabaseCounter; - public FlatDbReaderStrategy(final MetricsSystem metricsSystem) { + public FlatDbStrategy(final MetricsSystem metricsSystem) { this.metricsSystem = metricsSystem; getAccountCounter = @@ -84,7 +85,7 @@ public FlatDbReaderStrategy(final MetricsSystem metricsSystem) { /* * Retrieves the account data for the given account hash, using the world state root hash supplier and node loader. */ - public abstract Optional getAccount( + public abstract Optional getFlatAccount( Supplier> worldStateRootHashSupplier, NodeLoader nodeLoader, Hash accountHash, @@ -94,7 +95,7 @@ public abstract Optional getAccount( * Retrieves the storage value for the given account hash and storage slot key, using the world state root hash supplier, storage root supplier, and node loader. */ - public abstract Optional getStorageValueByStorageSlotKey( + public abstract Optional getFlatStorageValueByStorageSlotKey( Supplier> worldStateRootHashSupplier, Supplier> storageRootSupplier, NodeLoader nodeLoader, @@ -105,7 +106,7 @@ public abstract Optional getStorageValueByStorageSlotKey( /* * Retrieves the code data for the given code hash and account hash. */ - public Optional getCode( + public Optional getFlatCode( final Bytes32 codeHash, final Hash accountHash, final SegmentedKeyValueStorage storage) { if (codeHash.equals(Hash.EMPTY)) { return Optional.of(Bytes.EMPTY); @@ -117,6 +118,65 @@ public Optional getCode( } } + /* + * Puts the account data for the given account hash, using the world state root hash supplier and node loader. + */ + public void putFlatAccount( + final SegmentedKeyValueStorageTransaction transaction, + final Hash accountHash, + final Bytes accountValue) { + transaction.put(ACCOUNT_INFO_STATE, accountHash.toArrayUnsafe(), accountValue.toArrayUnsafe()); + } + + public void removeFlatAccount( + final SegmentedKeyValueStorageTransaction transaction, final Hash accountHash) { + transaction.remove(ACCOUNT_INFO_STATE, accountHash.toArrayUnsafe()); + } + + /* + * Puts the storage value for the given account hash and storage slot key, using the world state root hash supplier, storage root supplier, and node loader. + */ + public void putFlatAccountStorageValueByStorageSlotHash( + final SegmentedKeyValueStorageTransaction transaction, + final Hash accountHash, + final Hash slotHash, + final Bytes storage) { + transaction.put( + ACCOUNT_STORAGE_STORAGE, + Bytes.concatenate(accountHash, slotHash).toArrayUnsafe(), + storage.toArrayUnsafe()); + } + + /* + * Removes the storage value for the given account hash and storage slot key, using the world state root hash supplier, storage root supplier, and node loader. + */ + public void removeFlatAccountStorageValueByStorageSlotHash( + final SegmentedKeyValueStorageTransaction transaction, + final Hash accountHash, + final Hash slotHash) { + transaction.remove( + ACCOUNT_STORAGE_STORAGE, Bytes.concatenate(accountHash, slotHash).toArrayUnsafe()); + } + + /* + * Removes code for the given account hash. + */ + public void removeFlatCode( + final SegmentedKeyValueStorageTransaction transaction, final Hash accountHash) { + transaction.remove(CODE_STORAGE, accountHash.toArrayUnsafe()); + } + + /* + * Puts the code data for the given code hash and account hash. + */ + public void putFlatCode( + final SegmentedKeyValueStorageTransaction transaction, + final Hash accountHash, + final Bytes32 codeHash, + final Bytes code) { + transaction.put(CODE_STORAGE, accountHash.toArrayUnsafe(), code.toArrayUnsafe()); + } + public void clearAll(final SegmentedKeyValueStorage storage) { storage.clear(ACCOUNT_INFO_STATE); storage.clear(ACCOUNT_STORAGE_STORAGE); diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/flat/FullFlatDbReaderStrategy.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/flat/FullFlatDbStrategy.java similarity index 93% rename from ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/flat/FullFlatDbReaderStrategy.java rename to ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/flat/FullFlatDbStrategy.java index efce863a802..de42ba50979 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/flat/FullFlatDbReaderStrategy.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/flat/FullFlatDbStrategy.java @@ -31,13 +31,13 @@ import org.apache.tuweni.bytes.Bytes; -public class FullFlatDbReaderStrategy extends FlatDbReaderStrategy { +public class FullFlatDbStrategy extends FlatDbStrategy { protected final Counter getAccountNotFoundInFlatDatabaseCounter; protected final Counter getStorageValueNotFoundInFlatDatabaseCounter; - public FullFlatDbReaderStrategy(final MetricsSystem metricsSystem) { + public FullFlatDbStrategy(final MetricsSystem metricsSystem) { super(metricsSystem); getAccountNotFoundInFlatDatabaseCounter = @@ -54,7 +54,7 @@ public FullFlatDbReaderStrategy(final MetricsSystem metricsSystem) { } @Override - public Optional getAccount( + public Optional getFlatAccount( final Supplier> worldStateRootHashSupplier, final NodeLoader nodeLoader, final Hash accountHash, @@ -71,7 +71,7 @@ public Optional getAccount( } @Override - public Optional getStorageValueByStorageSlotKey( + public Optional getFlatStorageValueByStorageSlotKey( final Supplier> worldStateRootHashSupplier, final Supplier> storageRootSupplier, final NodeLoader nodeLoader, diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/flat/PartialFlatDbReaderStrategy.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/flat/PartialFlatDbStrategy.java similarity index 96% rename from ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/flat/PartialFlatDbReaderStrategy.java rename to ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/flat/PartialFlatDbStrategy.java index 288ff67b095..1dc4288b21a 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/flat/PartialFlatDbReaderStrategy.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/storage/flat/PartialFlatDbStrategy.java @@ -44,7 +44,7 @@ * methods, which checks if the data is present in the flat database, and if not, queries the merkle * trie */ -public class PartialFlatDbReaderStrategy extends FlatDbReaderStrategy { +public class PartialFlatDbStrategy extends FlatDbStrategy { protected final Counter getAccountMerkleTrieCounter; protected final Counter getAccountMissingMerkleTrieCounter; @@ -52,7 +52,7 @@ public class PartialFlatDbReaderStrategy extends FlatDbReaderStrategy { protected final Counter getStorageValueMerkleTrieCounter; protected final Counter getStorageValueMissingMerkleTrieCounter; - public PartialFlatDbReaderStrategy(final MetricsSystem metricsSystem) { + public PartialFlatDbStrategy(final MetricsSystem metricsSystem) { super(metricsSystem); getAccountMerkleTrieCounter = metricsSystem.createCounter( @@ -80,7 +80,7 @@ public PartialFlatDbReaderStrategy(final MetricsSystem metricsSystem) { } @Override - public Optional getAccount( + public Optional getFlatAccount( final Supplier> worldStateRootHashSupplier, final NodeLoader nodeLoader, final Hash accountHash, @@ -111,7 +111,7 @@ public Optional getAccount( } @Override - public Optional getStorageValueByStorageSlotKey( + public Optional getFlatStorageValueByStorageSlotKey( final Supplier> worldStateRootHashSupplier, final Supplier> storageRootSupplier, final NodeLoader nodeLoader, diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/worldview/BonsaiWorldState.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/worldview/BonsaiWorldState.java index f28e24b0970..b0a48b83043 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/worldview/BonsaiWorldState.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/worldview/BonsaiWorldState.java @@ -498,7 +498,9 @@ public void rollback() { @Override public Hash frontierRootHash() { return calculateRootHash( - Optional.of(new BonsaiWorldStateKeyValueStorage.Updater(noOpSegmentedTx, noOpTx)), + Optional.of( + new BonsaiWorldStateKeyValueStorage.Updater( + noOpSegmentedTx, noOpTx, worldStateStorage.getFlatDbStrategy())), accumulator.copy()); } diff --git a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/bonsai/BonsaiWorldStateKeyValueStorageTest.java b/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/bonsai/storage/BonsaiWorldStateKeyValueStorageTest.java similarity index 98% rename from ethereum/core/src/test/java/org/hyperledger/besu/ethereum/bonsai/BonsaiWorldStateKeyValueStorageTest.java rename to ethereum/core/src/test/java/org/hyperledger/besu/ethereum/bonsai/storage/BonsaiWorldStateKeyValueStorageTest.java index 6f67f657f02..32a8272237f 100644 --- a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/bonsai/BonsaiWorldStateKeyValueStorageTest.java +++ b/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/bonsai/storage/BonsaiWorldStateKeyValueStorageTest.java @@ -12,7 +12,7 @@ * * SPDX-License-Identifier: Apache-2.0 */ -package org.hyperledger.besu.ethereum.bonsai; +package org.hyperledger.besu.ethereum.bonsai.storage; import static org.assertj.core.api.Assertions.assertThat; import static org.hyperledger.besu.ethereum.bonsai.storage.BonsaiWorldStateKeyValueStorage.WORLD_ROOT_HASH_KEY; @@ -26,7 +26,6 @@ import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.datatypes.StorageSlotKey; -import org.hyperledger.besu.ethereum.bonsai.storage.BonsaiWorldStateKeyValueStorage; import org.hyperledger.besu.ethereum.core.InMemoryKeyValueStorageProvider; import org.hyperledger.besu.ethereum.core.TrieGenerator; import org.hyperledger.besu.ethereum.rlp.RLP; @@ -372,7 +371,7 @@ void clear_reloadFlatDbStrategy(final FlatDbMode flatDbMode) { // clear storage.clear(); - assertThat(storage.getFlatDbReaderStrategy()).isNotNull(); + assertThat(storage.getFlatDbStrategy()).isNotNull(); assertThat(storage.getAccount(Hash.ZERO)).isEmpty(); } diff --git a/plugin-api/build.gradle b/plugin-api/build.gradle index e544419b8ab..a091f97c151 100644 --- a/plugin-api/build.gradle +++ b/plugin-api/build.gradle @@ -69,7 +69,7 @@ Calculated : ${currentHash} tasks.register('checkAPIChanges', FileStateChecker) { description = "Checks that the API for the Plugin-API project does not change without deliberate thought" files = sourceSets.main.allJava.files - knownHash = 'tpSnjt4HgqSiOTJhBbYdB0r1nFX4QZbicjfloI71Wf0=' + knownHash = 'BhqPyj1fT50NWuHTgzgCmW1ynAPj/2QiGWraq5OwgOQ=' } check.dependsOn('checkAPIChanges') diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/storage/SegmentedKeyValueStorage.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/storage/SegmentedKeyValueStorage.java index 55d04d470c4..df8a8c48941 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/storage/SegmentedKeyValueStorage.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/storage/SegmentedKeyValueStorage.java @@ -23,6 +23,7 @@ import java.util.stream.Stream; import org.apache.commons.lang3.tuple.Pair; +import org.apache.tuweni.bytes.Bytes; /** Service provided by Besu to facilitate persistent data storage. */ public interface SegmentedKeyValueStorage extends Closeable { @@ -37,6 +38,18 @@ public interface SegmentedKeyValueStorage extends Closeable { */ Optional get(SegmentIdentifier segment, byte[] key) throws StorageException; + /** + * Find the key and corresponding value "nearest to" the specified key. Nearest is defined as + * either matching the supplied key or the key lexicographically prior to it. + * + * @param segmentIdentifier segment to scan + * @param key key for which we are searching for the nearest match. + * @return Optional of NearestKeyValue-wrapped matched key and corresponding value. + * @throws StorageException the storage exception + */ + Optional getNearestTo(final SegmentIdentifier segmentIdentifier, Bytes key) + throws StorageException; + /** * Contains key. * @@ -144,4 +157,22 @@ Set getAllValuesFromKeysThat( * @return boolean indicating whether the underlying storage is closed. */ boolean isClosed(); + + /** + * record type used to wrap responses from getNearestTo, includes the matched key and the value. + * + * @param key the matched (nearest) key + * @param value the corresponding value + */ + record NearestKeyValue(Bytes key, Optional value) { + + /** + * Convenience method to map the Optional value to Bytes. + * + * @return Optional of Bytes. + */ + public Optional wrapBytes() { + return value.map(Bytes::wrap); + } + } } diff --git a/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/segmented/RocksDBColumnarKeyValueSnapshot.java b/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/segmented/RocksDBColumnarKeyValueSnapshot.java index 6a123069001..b1a0920a516 100644 --- a/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/segmented/RocksDBColumnarKeyValueSnapshot.java +++ b/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/segmented/RocksDBColumnarKeyValueSnapshot.java @@ -33,8 +33,11 @@ import java.util.stream.Stream; import org.apache.commons.lang3.tuple.Pair; +import org.apache.tuweni.bytes.Bytes; +import org.rocksdb.AbstractRocksIterator; import org.rocksdb.ColumnFamilyHandle; import org.rocksdb.OptimisticTransactionDB; +import org.rocksdb.RocksIterator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -73,6 +76,18 @@ public Optional get(final SegmentIdentifier segment, final byte[] key) return snapTx.get(segment, key); } + @Override + public Optional getNearestTo( + final SegmentIdentifier segmentIdentifier, final Bytes key) throws StorageException { + + try (final RocksIterator rocksIterator = snapTx.getIterator(segmentIdentifier)) { + rocksIterator.seekForPrev(key.toArrayUnsafe()); + return Optional.of(rocksIterator) + .filter(AbstractRocksIterator::isValid) + .map(it -> new NearestKeyValue(Bytes.of(it.key()), Optional.of(it.value()))); + } + } + @Override public Stream> stream(final SegmentIdentifier segment) { throwIfClosed(); diff --git a/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/segmented/RocksDBColumnarKeyValueStorage.java b/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/segmented/RocksDBColumnarKeyValueStorage.java index 9462f9bcb14..952da71f0bc 100644 --- a/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/segmented/RocksDBColumnarKeyValueStorage.java +++ b/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/segmented/RocksDBColumnarKeyValueStorage.java @@ -44,6 +44,7 @@ import com.google.common.collect.Streams; import org.apache.commons.lang3.tuple.Pair; import org.apache.tuweni.bytes.Bytes; +import org.rocksdb.AbstractRocksIterator; import org.rocksdb.BlockBasedTableConfig; import org.rocksdb.BloomFilter; import org.rocksdb.ColumnFamilyDescriptor; @@ -318,6 +319,19 @@ public Optional get(final SegmentIdentifier segment, final byte[] key) } } + @Override + public Optional getNearestTo( + final SegmentIdentifier segmentIdentifier, final Bytes key) throws StorageException { + + try (final RocksIterator rocksIterator = + getDB().newIterator(safeColumnHandle(segmentIdentifier))) { + rocksIterator.seekForPrev(key.toArrayUnsafe()); + return Optional.of(rocksIterator) + .filter(AbstractRocksIterator::isValid) + .map(it -> new NearestKeyValue(Bytes.of(it.key()), Optional.of(it.value()))); + } + } + @Override public Stream> stream(final SegmentIdentifier segmentIdentifier) { final RocksIterator rocksIterator = getDB().newIterator(safeColumnHandle(segmentIdentifier)); diff --git a/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/segmented/RocksDBSnapshotTransaction.java b/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/segmented/RocksDBSnapshotTransaction.java index 0897493eb19..ad3438d381b 100644 --- a/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/segmented/RocksDBSnapshotTransaction.java +++ b/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/segmented/RocksDBSnapshotTransaction.java @@ -137,6 +137,19 @@ public void remove(final SegmentIdentifier segmentId, final byte[] key) { } } + /** + * get a RocksIterator that reads through the transaction to represent the current state. + * + *

be sure to close this iterator, like in a try-with-resources block, otherwise a native + * memory leak might occur. + * + * @param segmentId id for the segment to iterate over. + * @return RocksIterator + */ + public RocksIterator getIterator(final SegmentIdentifier segmentId) { + return snapTx.getIterator(readOptions, columnFamilyMapper.apply(segmentId)); + } + /** * Stream. * diff --git a/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/InMemoryKeyValueStorage.java b/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/InMemoryKeyValueStorage.java index 3b1139cd179..dbd62eaff9a 100644 --- a/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/InMemoryKeyValueStorage.java +++ b/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/InMemoryKeyValueStorage.java @@ -32,7 +32,7 @@ */ public class InMemoryKeyValueStorage extends SegmentedKeyValueStorageAdapter { - private static final SegmentIdentifier SEGMENT_IDENTIFIER = + static final SegmentIdentifier SEGMENT_IDENTIFIER = new SegmentIdentifier() { private static final String NAME = "SEGMENT_IDENTIFIER"; diff --git a/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/LayeredKeyValueStorage.java b/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/LayeredKeyValueStorage.java index ddaf567433f..6713772a03d 100644 --- a/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/LayeredKeyValueStorage.java +++ b/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/LayeredKeyValueStorage.java @@ -93,6 +93,26 @@ public Optional get(final SegmentIdentifier segmentId, final byte[] key) } } + @Override + public Optional getNearestTo( + final SegmentIdentifier segmentIdentifier, final Bytes key) throws StorageException { + Optional ourNearest = super.getNearestTo(segmentIdentifier, key); + Optional parentNearest = parent.getNearestTo(segmentIdentifier, key); + + if (ourNearest.isPresent() && parentNearest.isPresent()) { + // Both are present, return the one closer to the key + int ourDistance = ourNearest.get().key().commonPrefixLength(key); + int parentDistance = parentNearest.get().key().commonPrefixLength(key); + return (ourDistance <= parentDistance) ? ourNearest : parentNearest; + } else if (ourNearest.isPresent()) { + // Only ourNearest is present + return ourNearest; + } else { + // return parentNearest, which may be an empty Optional + return parentNearest; + } + } + @Override public Stream> stream(final SegmentIdentifier segmentId) { throwIfClosed(); diff --git a/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/SegmentedInMemoryKeyValueStorage.java b/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/SegmentedInMemoryKeyValueStorage.java index fd48384c366..ff8ca7249cb 100644 --- a/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/SegmentedInMemoryKeyValueStorage.java +++ b/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/SegmentedInMemoryKeyValueStorage.java @@ -24,6 +24,7 @@ import org.hyperledger.besu.plugin.services.storage.SnappedKeyValueStorage; import java.io.PrintStream; +import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -113,6 +114,32 @@ public Optional get(final SegmentIdentifier segmentIdentifier, final byt } } + @Override + public Optional getNearestTo( + final SegmentIdentifier segmentIdentifier, final Bytes key) throws StorageException { + + final Lock lock = rwLock.readLock(); + lock.lock(); + try { + // TODO: revisit this for sort performance + Comparator>> comparing = + Comparator.comparing( + (Map.Entry> a) -> a.getKey().commonPrefixLength(key)) + .thenComparing(Map.Entry.comparingByKey()); + return this.hashValueStore + .computeIfAbsent(segmentIdentifier, s -> new HashMap<>()) + .entrySet() + .stream() + // only return keys equal to or less than + .filter(e -> e.getKey().compareTo(key) <= 0) + .sorted(comparing.reversed()) + .findFirst() + .map(z -> new NearestKeyValue(z.getKey(), z.getValue())); + } finally { + lock.unlock(); + } + } + @Override public Set getAllKeysThat( final SegmentIdentifier segmentIdentifier, final Predicate returnCondition) { diff --git a/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/SegmentedKeyValueStorageAdapter.java b/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/SegmentedKeyValueStorageAdapter.java index a02e9284fa6..404689be420 100644 --- a/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/SegmentedKeyValueStorageAdapter.java +++ b/services/kvstore/src/main/java/org/hyperledger/besu/services/kvstore/SegmentedKeyValueStorageAdapter.java @@ -51,6 +51,10 @@ public SegmentedKeyValueStorageAdapter( this.storage = storage; } + SegmentedKeyValueStorage getSegmentedStore() { + return this.storage; + } + @Override public void clear() { throwIfClosed(); diff --git a/services/kvstore/src/test/java/org/hyperledger/besu/services/kvstore/AbstractSegmentedKeyValueStorageTest.java b/services/kvstore/src/test/java/org/hyperledger/besu/services/kvstore/AbstractSegmentedKeyValueStorageTest.java new file mode 100644 index 00000000000..47aee3ae580 --- /dev/null +++ b/services/kvstore/src/test/java/org/hyperledger/besu/services/kvstore/AbstractSegmentedKeyValueStorageTest.java @@ -0,0 +1,82 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * + */ +package org.hyperledger.besu.services.kvstore; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.hyperledger.besu.services.kvstore.InMemoryKeyValueStorage.SEGMENT_IDENTIFIER; + +import org.hyperledger.besu.kvstore.AbstractKeyValueStorageTest; +import org.hyperledger.besu.plugin.services.storage.SegmentedKeyValueStorage; +import org.hyperledger.besu.plugin.services.storage.SegmentedKeyValueStorageTransaction; + +import java.util.stream.IntStream; + +import org.apache.tuweni.bytes.Bytes; +import org.junit.jupiter.api.Test; + +public abstract class AbstractSegmentedKeyValueStorageTest extends AbstractKeyValueStorageTest { + public abstract SegmentedKeyValueStorage createSegmentedStore(); + + @Test + public void assertSegmentedIsNearestTo() throws Exception { + try (final var store = this.createSegmentedStore()) { + + // create 10 entries + final SegmentedKeyValueStorageTransaction tx = store.startTransaction(); + IntStream.range(1, 10) + .forEach( + i -> { + final byte[] key = bytesFromHexString("000" + i); + final byte[] value = bytesFromHexString("0FFF"); + tx.put(SEGMENT_IDENTIFIER, key, value); + // different common prefix, and reversed order of bytes: + final byte[] key2 = bytesFromHexString("010" + (10 - i)); + final byte[] value2 = bytesFromHexString("0FFF"); + tx.put(SEGMENT_IDENTIFIER, key2, value2); + }); + tx.commit(); + + // assert 0009 is closest to 000F + var val = store.getNearestTo(SEGMENT_IDENTIFIER, Bytes.fromHexString("000F")); + assertThat(val).isPresent(); + assertThat(val.get().key()).isEqualTo(Bytes.fromHexString("0009")); + + // assert 0109 is closest to 010D + var val2 = store.getNearestTo(SEGMENT_IDENTIFIER, Bytes.fromHexString("010D")); + assertThat(val2).isPresent(); + assertThat(val2.get().key()).isEqualTo(Bytes.fromHexString("0109")); + + // assert 0103 is closest to 0103 + var val3 = store.getNearestTo(SEGMENT_IDENTIFIER, Bytes.fromHexString("0103")); + assertThat(val3).isPresent(); + assertThat(val3.get().key()).isEqualTo(Bytes.fromHexString("0103")); + + // assert 0003 is closest to 0003 + var val4 = store.getNearestTo(SEGMENT_IDENTIFIER, Bytes.fromHexString("0003")); + assertThat(val4).isPresent(); + assertThat(val4.get().key()).isEqualTo(Bytes.fromHexString("0003")); + + // assert 0001 is closest to 0001 + var val5 = store.getNearestTo(SEGMENT_IDENTIFIER, Bytes.fromHexString("0001")); + assertThat(val5).isPresent(); + assertThat(val5.get().key()).isEqualTo(Bytes.fromHexString("0001")); + + // assert 0000 is not present + var val6 = store.getNearestTo(SEGMENT_IDENTIFIER, Bytes.fromHexString("0000")); + assertThat(val6).isNotPresent(); + } + } +} diff --git a/services/kvstore/src/test/java/org/hyperledger/besu/services/kvstore/InMemoryKeyValueStorageTest.java b/services/kvstore/src/test/java/org/hyperledger/besu/services/kvstore/InMemoryKeyValueStorageTest.java index 90581476279..55a10ffa8d1 100644 --- a/services/kvstore/src/test/java/org/hyperledger/besu/services/kvstore/InMemoryKeyValueStorageTest.java +++ b/services/kvstore/src/test/java/org/hyperledger/besu/services/kvstore/InMemoryKeyValueStorageTest.java @@ -14,13 +14,18 @@ */ package org.hyperledger.besu.services.kvstore; -import org.hyperledger.besu.kvstore.AbstractKeyValueStorageTest; import org.hyperledger.besu.plugin.services.storage.KeyValueStorage; +import org.hyperledger.besu.plugin.services.storage.SegmentedKeyValueStorage; -public class InMemoryKeyValueStorageTest extends AbstractKeyValueStorageTest { +public class InMemoryKeyValueStorageTest extends AbstractSegmentedKeyValueStorageTest { @Override protected KeyValueStorage createStore() { return new InMemoryKeyValueStorage(); } + + @Override + public SegmentedKeyValueStorage createSegmentedStore() { + return new SegmentedInMemoryKeyValueStorage(); + } } diff --git a/services/kvstore/src/test/java/org/hyperledger/besu/services/kvstore/LayeredKeyValueStorageTest.java b/services/kvstore/src/test/java/org/hyperledger/besu/services/kvstore/LayeredKeyValueStorageTest.java new file mode 100644 index 00000000000..2117c1c199b --- /dev/null +++ b/services/kvstore/src/test/java/org/hyperledger/besu/services/kvstore/LayeredKeyValueStorageTest.java @@ -0,0 +1,33 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * + */ +package org.hyperledger.besu.services.kvstore; + +import static org.hyperledger.besu.services.kvstore.InMemoryKeyValueStorage.SEGMENT_IDENTIFIER; + +import org.hyperledger.besu.plugin.services.storage.KeyValueStorage; +import org.hyperledger.besu.plugin.services.storage.SegmentedKeyValueStorage; + +public class LayeredKeyValueStorageTest extends AbstractSegmentedKeyValueStorageTest { + @Override + protected KeyValueStorage createStore() { + return new SegmentedKeyValueStorageAdapter(SEGMENT_IDENTIFIER, createSegmentedStore()); + } + + @Override + public SegmentedKeyValueStorage createSegmentedStore() { + return new LayeredKeyValueStorage(new SegmentedInMemoryKeyValueStorage()); + } +} From 52795b6223e43ec7ef165e418a582be67b1a8825 Mon Sep 17 00:00:00 2001 From: matkt Date: Mon, 25 Sep 2023 01:25:30 +0200 Subject: [PATCH 11/40] add get proof for bonsai (#5919) * add get proof for bonsai Signed-off-by: Karim TAAM * fix review Signed-off-by: Karim TAAM * remove logs Signed-off-by: Karim TAAM --------- Signed-off-by: Karim TAAM --- .../jsonrpc/internal/methods/EthGetProof.java | 48 ++++++++++--------- .../bonsai/EthJsonRpcHttpBySpecTest.java | 3 +- .../internal/methods/EthGetProofTest.java | 44 ++++++++--------- .../bonsai/BonsaiWorldStateProvider.java | 25 +++++++--- .../worldstate/DefaultWorldStateArchive.java | 12 +++-- .../worldstate/WorldStateArchive.java | 18 ++++++- 6 files changed, 90 insertions(+), 60 deletions(-) diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetProof.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetProof.java index c929903bc40..96602e23a97 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetProof.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetProof.java @@ -25,7 +25,8 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.proof.GetProofResult; import org.hyperledger.besu.ethereum.api.query.BlockchainQueries; -import org.hyperledger.besu.ethereum.proof.WorldStateProof; +import org.hyperledger.besu.ethereum.chain.Blockchain; +import org.hyperledger.besu.ethereum.worldstate.WorldStateArchive; import java.util.Arrays; import java.util.List; @@ -57,27 +58,30 @@ protected Object resultByBlockHash( final Address address = requestContext.getRequiredParameter(0, Address.class); final List storageKeys = getStorageKeys(requestContext); - return getBlockchainQueries() - .getAndMapWorldState( - blockHash, - worldState -> { - Optional proofOptional = - getBlockchainQueries() - .getWorldStateArchive() - .getAccountProof(worldState.rootHash(), address, storageKeys); - return proofOptional - .map( - proof -> - (JsonRpcResponse) - new JsonRpcSuccessResponse( - requestContext.getRequest().getId(), - GetProofResult.buildGetProofResult(address, proof))) - .or( - () -> - Optional.of( - new JsonRpcErrorResponse( - requestContext.getRequest().getId(), - RpcErrorType.NO_ACCOUNT_FOUND))); + final Blockchain blockchain = getBlockchainQueries().getBlockchain(); + final WorldStateArchive worldStateArchive = getBlockchainQueries().getWorldStateArchive(); + return blockchain + .getBlockHeader(blockHash) + .flatMap( + blockHeader -> { + return worldStateArchive.getAccountProof( + blockHeader, + address, + storageKeys, + maybeWorldStateProof -> + maybeWorldStateProof + .map( + proof -> + (JsonRpcResponse) + new JsonRpcSuccessResponse( + requestContext.getRequest().getId(), + GetProofResult.buildGetProofResult(address, proof))) + .or( + () -> + Optional.of( + new JsonRpcErrorResponse( + requestContext.getRequest().getId(), + RpcErrorType.NO_ACCOUNT_FOUND)))); }) .orElse( new JsonRpcErrorResponse( diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/bonsai/EthJsonRpcHttpBySpecTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/bonsai/EthJsonRpcHttpBySpecTest.java index 2a824a89afd..9dc7d193c8b 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/bonsai/EthJsonRpcHttpBySpecTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/bonsai/EthJsonRpcHttpBySpecTest.java @@ -28,7 +28,6 @@ public void setup() throws Exception { } public static Object[][] specs() { - return findSpecFiles( - new String[] {"eth"}, "getProof"); // getProof is not working with bonsai trie + return findSpecFiles(new String[] {"eth"}); } } diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetProofTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetProofTest.java index c9957ad8545..2f7d82d1bf5 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetProofTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetProofTest.java @@ -17,10 +17,9 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.hyperledger.besu.evm.account.Account.MAX_NONCE; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.anyList; +import static org.mockito.ArgumentMatchers.argThat; import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; @@ -40,7 +39,6 @@ import org.hyperledger.besu.ethereum.chain.Blockchain; import org.hyperledger.besu.ethereum.chain.ChainHead; import org.hyperledger.besu.ethereum.core.BlockHeader; -import org.hyperledger.besu.ethereum.core.MutableWorldState; import org.hyperledger.besu.ethereum.proof.WorldStateProof; import org.hyperledger.besu.ethereum.worldstate.StateTrieAccountValue; import org.hyperledger.besu.ethereum.worldstate.WorldStateArchive; @@ -91,7 +89,8 @@ public void setUp() { when(blockchain.getChainHead()).thenReturn(chainHead); when(chainHead.getBlockHeader()).thenReturn(blockHeader); when(blockHeader.getBlockHash()).thenReturn(Hash.ZERO); - when(blockchain.getBlockHeader(Hash.ZERO)).thenReturn(Optional.of(mock(BlockHeader.class))); + when(blockchainQueries.getBlockHashByNumber(blockNumber)).thenReturn(Optional.of(Hash.ZERO)); + when(blockchain.getBlockHeader(Hash.ZERO)).thenReturn(Optional.of(blockHeader)); method = spy(new EthGetProof(blockchainQueries)); } @@ -130,8 +129,7 @@ void errorWhenNoBlockNumberSupplied() { @Test void errorWhenAccountNotFound() { generateWorldState(); - when(archive.getAccountProof(any(Hash.class), any(Address.class), any())) - .thenReturn(Optional.empty()); + final JsonRpcErrorResponse expectedResponse = new JsonRpcErrorResponse(null, RpcErrorType.NO_ACCOUNT_FOUND); @@ -151,13 +149,12 @@ void errorWhenWorldStateUnavailable() { final JsonRpcErrorResponse expectedResponse = new JsonRpcErrorResponse(null, RpcErrorType.WORLD_STATE_UNAVAILABLE); - when(archive.getMutable(any(BlockHeader.class), anyBoolean())).thenReturn(Optional.empty()); final JsonRpcRequestContext request = requestWithParams( Address.fromHexString("0x0000000000000000000000000000000000000000"), new String[] {storageKey.toString()}, - String.valueOf(blockNumber)); + String.valueOf(2)); final JsonRpcErrorResponse response = (JsonRpcErrorResponse) method.response(request); @@ -194,8 +191,6 @@ private GetProofResult generateWorldState() { final Hash codeHash = Hash.fromHexString("0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"); final long nonce = MAX_NONCE - 1; - final Hash rootHash = - Hash.fromHexString("0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b431"); final Hash storageRoot = Hash.fromHexString("0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"); @@ -222,19 +217,22 @@ private GetProofResult generateWorldState() { "0x2222222222222222222222222222222222222222222222222222222222222222"))); when(worldStateProof.getStorageValue(storageKey)).thenReturn(UInt256.ZERO); - when(archive.getAccountProof(eq(rootHash), eq(address), anyList())) - .thenReturn(Optional.of(worldStateProof)); - - final MutableWorldState mutableWorldState = mock(MutableWorldState.class); - when(mutableWorldState.rootHash()).thenReturn(rootHash); - doAnswer( - invocation -> - invocation - .>>getArgument( - 1) - .apply(mutableWorldState)) - .when(blockchainQueries) - .getAndMapWorldState(any(), any()); + when(archive.getAccountProof(eq(blockHeader), eq(address), anyList(), any())) + .thenAnswer( + invocation -> { + Function, Optional> realMapper = + invocation.getArgument(3); + return realMapper.apply(Optional.of(worldStateProof)); + }); + + when(archive.getAccountProof( + eq(blockHeader), argThat(arg -> !arg.equals(address)), anyList(), any())) + .thenAnswer( + invocation -> { + Function, Optional> realMapper = + invocation.getArgument(3); + return realMapper.apply(Optional.empty()); + }); return GetProofResult.buildGetProofResult(address, worldStateProof); } diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/BonsaiWorldStateProvider.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/BonsaiWorldStateProvider.java index 6388d62a584..299b826369c 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/BonsaiWorldStateProvider.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/BonsaiWorldStateProvider.java @@ -30,6 +30,7 @@ import org.hyperledger.besu.ethereum.core.BlockHeader; import org.hyperledger.besu.ethereum.core.MutableWorldState; import org.hyperledger.besu.ethereum.proof.WorldStateProof; +import org.hyperledger.besu.ethereum.proof.WorldStateProofProvider; import org.hyperledger.besu.ethereum.rlp.RLP; import org.hyperledger.besu.ethereum.storage.StorageProvider; import org.hyperledger.besu.ethereum.trie.MerkleTrieException; @@ -64,7 +65,6 @@ public class BonsaiWorldStateProvider implements WorldStateArchive { private final TrieLogManager trieLogManager; private final BonsaiWorldState persistedState; private final BonsaiWorldStateKeyValueStorage worldStateStorage; - private final CachedMerkleTrieLoader cachedMerkleTrieLoader; public BonsaiWorldStateProvider( @@ -363,16 +363,27 @@ public void resetArchiveStateTo(final BlockHeader blockHeader) { } @Override - public Optional getNodeData(final Hash hash) { + public Optional getAccountProof( + final BlockHeader blockHeader, + final Address accountAddress, + final List accountStorageKeys, + final Function, ? extends Optional> mapper) { + try (BonsaiWorldState ws = (BonsaiWorldState) getMutable(blockHeader, false).orElse(null)) { + if (ws != null) { + final WorldStateProofProvider worldStateProofProvider = + new WorldStateProofProvider(ws.getWorldStateStorage()); + return mapper.apply( + worldStateProofProvider.getAccountProof( + ws.getWorldStateRootHash(), accountAddress, accountStorageKeys)); + } + } catch (Exception ex) { + LOG.error("failed proof query for " + blockHeader.getBlockHash().toShortHexString(), ex); + } return Optional.empty(); } @Override - public Optional getAccountProof( - final Hash worldStateRoot, - final Address accountAddress, - final List accountStorageKeys) { - // FIXME we can do proofs for layered tries and the persisted trie + public Optional getNodeData(final Hash hash) { return Optional.empty(); } diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/worldstate/DefaultWorldStateArchive.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/worldstate/DefaultWorldStateArchive.java index b530828db30..b1955561cc5 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/worldstate/DefaultWorldStateArchive.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/worldstate/DefaultWorldStateArchive.java @@ -26,6 +26,7 @@ import java.util.List; import java.util.Optional; +import java.util.function.Function; import org.apache.tuweni.bytes.Bytes; import org.apache.tuweni.units.bigints.UInt256; @@ -89,11 +90,14 @@ public WorldStateStorage getWorldStateStorage() { } @Override - public Optional getAccountProof( - final Hash worldStateRoot, + public Optional getAccountProof( + final BlockHeader blockHeader, final Address accountAddress, - final List accountStorageKeys) { - return worldStateProof.getAccountProof(worldStateRoot, accountAddress, accountStorageKeys); + final List accountStorageKeys, + final Function, ? extends Optional> mapper) { + return mapper.apply( + worldStateProof.getAccountProof( + blockHeader.getStateRoot(), accountAddress, accountStorageKeys)); } @Override diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/worldstate/WorldStateArchive.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/worldstate/WorldStateArchive.java index c363655bd29..1816063243e 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/worldstate/WorldStateArchive.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/worldstate/WorldStateArchive.java @@ -25,6 +25,7 @@ import java.io.Closeable; import java.util.List; import java.util.Optional; +import java.util.function.Function; import org.apache.tuweni.bytes.Bytes; import org.apache.tuweni.units.bigints.UInt256; @@ -51,6 +52,19 @@ public interface WorldStateArchive extends Closeable { Optional getNodeData(Hash hash); - Optional getAccountProof( - Hash worldStateRoot, Address accountAddress, List accountStorageKeys); + /** + * Retrieves an account proof based on the provided parameters. + * + * @param blockHeader The header of the block for which to retrieve the account proof. + * @param accountAddress The address of the account for which to retrieve the proof. + * @param accountStorageKeys The storage keys of the account for which to retrieve the proof. + * @param mapper A function to map the retrieved WorldStateProof to a desired type. + * @return An Optional containing the mapped result if the account proof is successfully retrieved + * and mapped, or an empty Optional otherwise. + */ + Optional getAccountProof( + final BlockHeader blockHeader, + final Address accountAddress, + final List accountStorageKeys, + final Function, ? extends Optional> mapper); } From 1c261db30f5cb9504e86b6b24eb99502d17b6336 Mon Sep 17 00:00:00 2001 From: Stefan Pingel <16143240+pinges@users.noreply.github.com> Date: Mon, 25 Sep 2023 10:13:07 +1000 Subject: [PATCH 12/40] add plugin API to enable plugins to validate transaction before they are added to the transaction pool (#5891) * add plugin API to enable plugins to validate transaction before they are added to the transaction pool Signed-off-by: Stefan * updated plugin version Signed-off-by: Sally MacFarlane --------- Signed-off-by: Stefan Signed-off-by: Sally MacFarlane Co-authored-by: Sally MacFarlane --- .../dsl/node/ThreadBesuNodeRunner.java | 18 ++++- .../node/configuration/BesuNodeFactory.java | 1 + .../org/hyperledger/besu/cli/BesuCommand.java | 27 ++++++-- .../controller/BesuControllerBuilder.java | 18 ++++- ...PluginTransactionValidatorServiceImpl.java | 35 ++++++++++ .../PermissioningConfigurationValidator.java | 2 +- .../besu/cli/CommandTestAbstract.java | 6 +- .../besu/services/BesuEventsImplTest.java | 3 +- ...rmissioningConfigurationValidatorTest.java | 8 +-- .../blockcreation/CliqueBlockCreatorTest.java | 3 +- .../CliqueMinerExecutorTest.java | 3 +- .../ibft/support/TestContextBuilder.java | 3 +- .../blockcreation/BftBlockCreatorTest.java | 3 +- .../blockcreation/MergeCoordinatorTest.java | 3 +- .../qbft/support/TestContextBuilder.java | 3 +- .../EthGetFilterChangesIntegrationTest.java | 3 +- .../EthGetFilterChangesIntegrationTest.java | 3 +- .../AbstractBlockCreatorTest.java | 3 +- ...FeeMarketBlockTransactionSelectorTest.java | 3 +- ...FeeMarketBlockTransactionSelectorTest.java | 3 +- .../blockcreation/PoWBlockCreatorTest.java | 3 +- .../blockcreation/PoWMinerExecutorTest.java | 3 +- .../transaction/TransactionInvalidReason.java | 3 +- .../bonsai/AbstractIsolationTests.java | 3 +- .../eth/transactions/TransactionPool.java | 22 ++++++- .../transactions/TransactionPoolFactory.java | 13 ++-- .../eth/manager/EthProtocolManagerTest.java | 3 +- .../ethtaskutils/AbstractMessageTaskTest.java | 3 +- .../AbstractTransactionPoolTest.java | 65 ++++++++++++++++++- ...actionsLayeredPendingTransactionsTest.java | 3 +- .../ethereum/eth/transactions/TestNode.java | 3 +- .../TransactionPoolFactoryTest.java | 6 +- .../ethereum/retesteth/RetestethContext.java | 3 +- plugin-api/build.gradle | 2 +- .../PluginTransactionValidatorService.java | 39 +++++++++++ .../PluginTransactionValidator.java | 32 +++++++++ .../PluginTransactionValidatorFactory.java | 30 +++++++++ 37 files changed, 340 insertions(+), 47 deletions(-) create mode 100644 besu/src/main/java/org/hyperledger/besu/services/PluginTransactionValidatorServiceImpl.java create mode 100644 plugin-api/src/main/java/org/hyperledger/besu/plugin/services/PluginTransactionValidatorService.java create mode 100644 plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txvalidator/PluginTransactionValidator.java create mode 100644 plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txvalidator/PluginTransactionValidatorFactory.java diff --git a/acceptance-tests/dsl/src/main/java/org/hyperledger/besu/tests/acceptance/dsl/node/ThreadBesuNodeRunner.java b/acceptance-tests/dsl/src/main/java/org/hyperledger/besu/tests/acceptance/dsl/node/ThreadBesuNodeRunner.java index 29ce00b175f..e06aa8c9641 100644 --- a/acceptance-tests/dsl/src/main/java/org/hyperledger/besu/tests/acceptance/dsl/node/ThreadBesuNodeRunner.java +++ b/acceptance-tests/dsl/src/main/java/org/hyperledger/besu/tests/acceptance/dsl/node/ThreadBesuNodeRunner.java @@ -43,16 +43,19 @@ import org.hyperledger.besu.plugin.services.BesuConfiguration; import org.hyperledger.besu.plugin.services.BesuEvents; import org.hyperledger.besu.plugin.services.PicoCLIOptions; +import org.hyperledger.besu.plugin.services.PluginTransactionValidatorService; import org.hyperledger.besu.plugin.services.SecurityModuleService; import org.hyperledger.besu.plugin.services.StorageService; import org.hyperledger.besu.plugin.services.TransactionSelectionService; import org.hyperledger.besu.plugin.services.storage.rocksdb.RocksDBPlugin; import org.hyperledger.besu.plugin.services.txselection.TransactionSelectorFactory; +import org.hyperledger.besu.plugin.services.txvalidator.PluginTransactionValidatorFactory; import org.hyperledger.besu.services.BesuConfigurationImpl; import org.hyperledger.besu.services.BesuEventsImpl; import org.hyperledger.besu.services.BesuPluginContextImpl; import org.hyperledger.besu.services.PermissioningServiceImpl; import org.hyperledger.besu.services.PicoCLIOptionsImpl; +import org.hyperledger.besu.services.PluginTransactionValidatorServiceImpl; import org.hyperledger.besu.services.RpcEndpointServiceImpl; import org.hyperledger.besu.services.SecurityModuleServiceImpl; import org.hyperledger.besu.services.StorageServiceImpl; @@ -97,7 +100,8 @@ private BesuPluginContextImpl buildPluginContext( besuPluginContext.addService(PicoCLIOptions.class, new PicoCLIOptionsImpl(commandLine)); besuPluginContext.addService( TransactionSelectionService.class, new TransactionSelectionServiceImpl()); - + besuPluginContext.addService( + PluginTransactionValidatorService.class, new PluginTransactionValidatorServiceImpl()); final Path pluginsPath; final String pluginDir = System.getProperty("besu.plugins.dir"); if (pluginDir == null || pluginDir.isEmpty()) { @@ -184,6 +188,8 @@ public void startNode(final BesuNode node) { final Optional transactionSelectorFactory = getTransactionSelectorFactory(besuPluginContext); + final PluginTransactionValidatorFactory pluginTransactionValidatorFactory = + getPluginTransactionValidatorFactory(besuPluginContext); builder .synchronizerConfiguration(new SynchronizerConfiguration.Builder().build()) .dataDirectory(node.homeDirectory()) @@ -206,7 +212,8 @@ public void startNode(final BesuNode node) { .maxRemotelyInitiatedPeers(15) .networkConfiguration(node.getNetworkingConfiguration()) .randomPeerPriority(false) - .transactionSelectorFactory(transactionSelectorFactory); + .transactionSelectorFactory(transactionSelectorFactory) + .pluginTransactionValidatorFactory(pluginTransactionValidatorFactory); node.getGenesisConfig() .map(GenesisConfigFile::fromConfig) @@ -322,4 +329,11 @@ private Optional getTransactionSelectorFactory( besuPluginContext.getService(TransactionSelectionService.class); return txSelectionService.isPresent() ? txSelectionService.get().get() : Optional.empty(); } + + private PluginTransactionValidatorFactory getPluginTransactionValidatorFactory( + final BesuPluginContextImpl besuPluginContext) { + final Optional txValidatorService = + besuPluginContext.getService(PluginTransactionValidatorService.class); + return txValidatorService.map(PluginTransactionValidatorService::get).orElse(null); + } } diff --git a/acceptance-tests/dsl/src/main/java/org/hyperledger/besu/tests/acceptance/dsl/node/configuration/BesuNodeFactory.java b/acceptance-tests/dsl/src/main/java/org/hyperledger/besu/tests/acceptance/dsl/node/configuration/BesuNodeFactory.java index e3cdaefe089..cb9a25fad8e 100644 --- a/acceptance-tests/dsl/src/main/java/org/hyperledger/besu/tests/acceptance/dsl/node/configuration/BesuNodeFactory.java +++ b/acceptance-tests/dsl/src/main/java/org/hyperledger/besu/tests/acceptance/dsl/node/configuration/BesuNodeFactory.java @@ -117,6 +117,7 @@ public BesuNode createMinerNodeWithExtraCliOptions( .name(name) .miningEnabled() .jsonRpcEnabled() + .jsonRpcTxPool() .webSocketEnabled() .extraCLIOptions(extraCliOptions); builder = configModifier.apply(builder); diff --git a/besu/src/main/java/org/hyperledger/besu/cli/BesuCommand.java b/besu/src/main/java/org/hyperledger/besu/cli/BesuCommand.java index 2538a1d7056..75c44198877 100644 --- a/besu/src/main/java/org/hyperledger/besu/cli/BesuCommand.java +++ b/besu/src/main/java/org/hyperledger/besu/cli/BesuCommand.java @@ -164,6 +164,7 @@ import org.hyperledger.besu.plugin.services.MetricsSystem; import org.hyperledger.besu.plugin.services.PermissioningService; import org.hyperledger.besu.plugin.services.PicoCLIOptions; +import org.hyperledger.besu.plugin.services.PluginTransactionValidatorService; import org.hyperledger.besu.plugin.services.PrivacyPluginService; import org.hyperledger.besu.plugin.services.RpcEndpointService; import org.hyperledger.besu.plugin.services.SecurityModuleService; @@ -177,11 +178,13 @@ import org.hyperledger.besu.plugin.services.storage.PrivacyKeyValueStorageFactory; import org.hyperledger.besu.plugin.services.storage.rocksdb.RocksDBPlugin; import org.hyperledger.besu.plugin.services.txselection.TransactionSelectorFactory; +import org.hyperledger.besu.plugin.services.txvalidator.PluginTransactionValidatorFactory; import org.hyperledger.besu.services.BesuEventsImpl; import org.hyperledger.besu.services.BesuPluginContextImpl; import org.hyperledger.besu.services.BlockchainServiceImpl; import org.hyperledger.besu.services.PermissioningServiceImpl; import org.hyperledger.besu.services.PicoCLIOptionsImpl; +import org.hyperledger.besu.services.PluginTransactionValidatorServiceImpl; import org.hyperledger.besu.services.PrivacyPluginServiceImpl; import org.hyperledger.besu.services.RpcEndpointServiceImpl; import org.hyperledger.besu.services.SecurityModuleServiceImpl; @@ -372,6 +375,7 @@ public class BesuCommand implements DefaultCommandValues, Runnable { P2PDiscoveryOptionGroup p2PDiscoveryOptionGroup = new P2PDiscoveryOptionGroup(); private final TransactionSelectionServiceImpl transactionSelectionServiceImpl; + private final PluginTransactionValidatorServiceImpl transactionValidatorServiceImpl; static class P2PDiscoveryOptionGroup { @@ -1355,7 +1359,8 @@ public BesuCommand( new PrivacyPluginServiceImpl(), new PkiBlockCreationConfigurationProvider(), new RpcEndpointServiceImpl(), - new TransactionSelectionServiceImpl()); + new TransactionSelectionServiceImpl(), + new PluginTransactionValidatorServiceImpl()); } /** @@ -1376,6 +1381,7 @@ public BesuCommand( * @param pkiBlockCreationConfigProvider instance of PkiBlockCreationConfigurationProvider * @param rpcEndpointServiceImpl instance of RpcEndpointServiceImpl * @param transactionSelectionServiceImpl instance of TransactionSelectionServiceImpl + * @param transactionValidatorServiceImpl instance of TransactionValidatorServiceImpl */ @VisibleForTesting protected BesuCommand( @@ -1393,7 +1399,8 @@ protected BesuCommand( final PrivacyPluginServiceImpl privacyPluginService, final PkiBlockCreationConfigurationProvider pkiBlockCreationConfigProvider, final RpcEndpointServiceImpl rpcEndpointServiceImpl, - final TransactionSelectionServiceImpl transactionSelectionServiceImpl) { + final TransactionSelectionServiceImpl transactionSelectionServiceImpl, + final PluginTransactionValidatorServiceImpl transactionValidatorServiceImpl) { this.besuComponent = besuComponent; this.logger = besuComponent.getBesuCommandLogger(); this.rlpBlockImporter = rlpBlockImporter; @@ -1412,6 +1419,7 @@ protected BesuCommand( this.pkiBlockCreationConfigProvider = pkiBlockCreationConfigProvider; this.rpcEndpointServiceImpl = rpcEndpointServiceImpl; this.transactionSelectionServiceImpl = transactionSelectionServiceImpl; + this.transactionValidatorServiceImpl = transactionValidatorServiceImpl; } /** @@ -1593,6 +1601,8 @@ private void preparePlugins() { besuPluginContext.addService(RpcEndpointService.class, rpcEndpointServiceImpl); besuPluginContext.addService( TransactionSelectionService.class, transactionSelectionServiceImpl); + besuPluginContext.addService( + PluginTransactionValidatorService.class, transactionValidatorServiceImpl); // register built-in plugins rocksDBPlugin = new RocksDBPlugin(); @@ -2193,7 +2203,7 @@ private void ensureAllNodesAreInAllowlist( final Collection enodeAddresses, final LocalPermissioningConfiguration permissioningConfiguration) { try { - PermissioningConfigurationValidator.areAllNodesAreInAllowlist( + PermissioningConfigurationValidator.areAllNodesInAllowlist( enodeAddresses, permissioningConfiguration); } catch (final Exception e) { throw new ParameterException(this.commandLine, e.getMessage()); @@ -2226,15 +2236,14 @@ public BesuController buildController() { */ public BesuControllerBuilder getControllerBuilder() { final KeyValueStorageProvider storageProvider = keyValueStorageProvider(keyValueStorageName); - final Optional transactionSelectorFactory = - getTransactionSelectorFactory(); return controllerBuilderFactory .fromEthNetworkConfig( updateNetworkConfig(network), genesisConfigOverrides, getDefaultSyncModeIfNotSet()) .synchronizerConfiguration(buildSyncConfig()) .ethProtocolConfiguration(unstableEthProtocolOptions.toDomainObject()) .networkConfiguration(unstableNetworkingOptions.toDomainObject()) - .transactionSelectorFactory(transactionSelectorFactory) + .transactionSelectorFactory(getTransactionSelectorFactory()) + .pluginTransactionValidatorFactory(getPluginTransactionValidatorFactory()) .dataDirectory(dataDir()) .miningParameters( new MiningParameters.Builder() @@ -2291,6 +2300,12 @@ private Optional getTransactionSelectorFactory() { return txSelectionService.isPresent() ? txSelectionService.get().get() : Optional.empty(); } + private PluginTransactionValidatorFactory getPluginTransactionValidatorFactory() { + final Optional txSValidatorService = + besuPluginContext.getService(PluginTransactionValidatorService.class); + return txSValidatorService.map(PluginTransactionValidatorService::get).orElse(null); + } + private GraphQLConfiguration graphQLConfiguration() { CommandLineUtils.checkOptionDependencies( diff --git a/besu/src/main/java/org/hyperledger/besu/controller/BesuControllerBuilder.java b/besu/src/main/java/org/hyperledger/besu/controller/BesuControllerBuilder.java index c5b9e8e8ebc..d023cdd76da 100644 --- a/besu/src/main/java/org/hyperledger/besu/controller/BesuControllerBuilder.java +++ b/besu/src/main/java/org/hyperledger/besu/controller/BesuControllerBuilder.java @@ -96,6 +96,7 @@ import org.hyperledger.besu.plugin.services.MetricsSystem; import org.hyperledger.besu.plugin.services.permissioning.NodeMessagePermissioningProvider; import org.hyperledger.besu.plugin.services.txselection.TransactionSelectorFactory; +import org.hyperledger.besu.plugin.services.txvalidator.PluginTransactionValidatorFactory; import java.io.Closeable; import java.math.BigInteger; @@ -185,6 +186,8 @@ public abstract class BesuControllerBuilder implements MiningParameterOverrides /** the Dagger configured context that can provide dependencies */ protected Optional besuComponent = Optional.empty(); + private PluginTransactionValidatorFactory pluginTransactionValidatorFactory; + /** * Provide a BesuComponent which can be used to get other dependencies * @@ -537,6 +540,18 @@ public BesuControllerBuilder transactionSelectorFactory( return this; } + /** + * sets the pluginTransactionValidatorFactory + * + * @param pluginTransactionValidatorFactory factory that creates plugin transaction Validators + * @return the besu controller builder + */ + public BesuControllerBuilder pluginTransactionValidatorFactory( + final PluginTransactionValidatorFactory pluginTransactionValidatorFactory) { + this.pluginTransactionValidatorFactory = pluginTransactionValidatorFactory; + return this; + } + /** * Build besu controller. * @@ -695,7 +710,8 @@ public BesuController build() { metricsSystem, syncState, miningParameters, - transactionPoolConfiguration); + transactionPoolConfiguration, + pluginTransactionValidatorFactory); final List peerValidators = createPeerValidators(protocolSchedule); diff --git a/besu/src/main/java/org/hyperledger/besu/services/PluginTransactionValidatorServiceImpl.java b/besu/src/main/java/org/hyperledger/besu/services/PluginTransactionValidatorServiceImpl.java new file mode 100644 index 00000000000..171a31388c8 --- /dev/null +++ b/besu/src/main/java/org/hyperledger/besu/services/PluginTransactionValidatorServiceImpl.java @@ -0,0 +1,35 @@ +/* + * Copyright contributors to Hyperledger Besu. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.services; + +import org.hyperledger.besu.plugin.services.PluginTransactionValidatorService; +import org.hyperledger.besu.plugin.services.txvalidator.PluginTransactionValidatorFactory; + +/** The Transaction Validation service implementation. */ +public class PluginTransactionValidatorServiceImpl implements PluginTransactionValidatorService { + + private PluginTransactionValidatorFactory factory; + + @Override + public PluginTransactionValidatorFactory get() { + return factory; + } + + @Override + public void registerTransactionValidatorFactory( + final PluginTransactionValidatorFactory transactionValidatorFactory) { + factory = transactionValidatorFactory; + } +} diff --git a/besu/src/main/java/org/hyperledger/besu/util/PermissioningConfigurationValidator.java b/besu/src/main/java/org/hyperledger/besu/util/PermissioningConfigurationValidator.java index f8e5c65dbc0..d1b4a107455 100644 --- a/besu/src/main/java/org/hyperledger/besu/util/PermissioningConfigurationValidator.java +++ b/besu/src/main/java/org/hyperledger/besu/util/PermissioningConfigurationValidator.java @@ -34,7 +34,7 @@ public class PermissioningConfigurationValidator { * @param permissioningConfiguration the permissioning configuration * @throws Exception In case of nodes are not in allow list */ - public static void areAllNodesAreInAllowlist( + public static void areAllNodesInAllowlist( final Collection nodeURIs, final LocalPermissioningConfiguration permissioningConfiguration) throws Exception { diff --git a/besu/src/test/java/org/hyperledger/besu/cli/CommandTestAbstract.java b/besu/src/test/java/org/hyperledger/besu/cli/CommandTestAbstract.java index d089ceaceb7..126052df0b9 100644 --- a/besu/src/test/java/org/hyperledger/besu/cli/CommandTestAbstract.java +++ b/besu/src/test/java/org/hyperledger/besu/cli/CommandTestAbstract.java @@ -76,6 +76,7 @@ import org.hyperledger.besu.plugin.services.storage.SegmentIdentifier; import org.hyperledger.besu.services.BesuPluginContextImpl; import org.hyperledger.besu.services.PermissioningServiceImpl; +import org.hyperledger.besu.services.PluginTransactionValidatorServiceImpl; import org.hyperledger.besu.services.PrivacyPluginServiceImpl; import org.hyperledger.besu.services.RpcEndpointServiceImpl; import org.hyperledger.besu.services.SecurityModuleServiceImpl; @@ -240,6 +241,8 @@ public void initMocks() throws Exception { when(mockControllerBuilder.maxRemotelyInitiatedPeers(anyInt())) .thenReturn(mockControllerBuilder); when(mockControllerBuilder.transactionSelectorFactory(any())).thenReturn(mockControllerBuilder); + when(mockControllerBuilder.pluginTransactionValidatorFactory(any())) + .thenReturn(mockControllerBuilder); when(mockControllerBuilder.besuComponent(any(BesuComponent.class))) .thenReturn(mockControllerBuilder); // doReturn used because of generic BesuController @@ -489,7 +492,8 @@ public static class TestBesuCommand extends BesuCommand { privacyPluginService, pkiBlockCreationConfigProvider, rpcEndpointServiceImpl, - new TransactionSelectionServiceImpl()); + new TransactionSelectionServiceImpl(), + new PluginTransactionValidatorServiceImpl()); } @Override diff --git a/besu/src/test/java/org/hyperledger/besu/services/BesuEventsImplTest.java b/besu/src/test/java/org/hyperledger/besu/services/BesuEventsImplTest.java index 1057ae45a9d..8b6b10f5493 100644 --- a/besu/src/test/java/org/hyperledger/besu/services/BesuEventsImplTest.java +++ b/besu/src/test/java/org/hyperledger/besu/services/BesuEventsImplTest.java @@ -156,7 +156,8 @@ public void setUp() { new NoOpMetricsSystem(), syncState, new MiningParameters.Builder().minTransactionGasPrice(Wei.ZERO).build(), - txPoolConfig); + txPoolConfig, + null); serviceImpl = new BesuEventsImpl(blockchain, blockBroadcaster, transactionPool, syncState); } diff --git a/besu/src/test/java/org/hyperledger/besu/util/LocalPermissioningConfigurationValidatorTest.java b/besu/src/test/java/org/hyperledger/besu/util/LocalPermissioningConfigurationValidatorTest.java index f8dd890c21f..a5b3bb90d99 100644 --- a/besu/src/test/java/org/hyperledger/besu/util/LocalPermissioningConfigurationValidatorTest.java +++ b/besu/src/test/java/org/hyperledger/besu/util/LocalPermissioningConfigurationValidatorTest.java @@ -68,7 +68,7 @@ public void sepoliaWithNodesAllowlistOptionWhichDoesIncludeRopstenBootnodesMustN toml.toAbsolutePath().toString()); final List enodeURIs = ethNetworkConfig.getBootNodes(); - PermissioningConfigurationValidator.areAllNodesAreInAllowlist( + PermissioningConfigurationValidator.areAllNodesInAllowlist( enodeURIs, permissioningConfiguration); } @@ -92,7 +92,7 @@ public void nodesAllowlistOptionWhichDoesNotIncludeBootnodesMustError() throws E try { final List enodeURIs = ethNetworkConfig.getBootNodes(); - PermissioningConfigurationValidator.areAllNodesAreInAllowlist( + PermissioningConfigurationValidator.areAllNodesInAllowlist( enodeURIs, permissioningConfiguration); fail("expected exception because sepolia bootnodes are not in node-allowlist"); } catch (Exception e) { @@ -142,7 +142,7 @@ public void nodeAllowlistCheckShouldIgnoreDiscoveryPortParam() throws Exception // However, for the allowlist validation, we should ignore the discovery port and don't throw an // error try { - PermissioningConfigurationValidator.areAllNodesAreInAllowlist( + PermissioningConfigurationValidator.areAllNodesInAllowlist( Lists.newArrayList(enodeURL), permissioningConfiguration); } catch (Exception e) { fail( @@ -180,7 +180,7 @@ public void nodeAllowlistCheckShouldWorkWithHostnameIfDnsEnabled() throws Except // However, for the allowlist validation, we should ignore the discovery port and don't throw an // error try { - PermissioningConfigurationValidator.areAllNodesAreInAllowlist( + PermissioningConfigurationValidator.areAllNodesInAllowlist( Lists.newArrayList(enodeURL), permissioningConfiguration); } catch (Exception e) { fail( diff --git a/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueBlockCreatorTest.java b/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueBlockCreatorTest.java index 604825bd71c..0b0210d4ef3 100644 --- a/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueBlockCreatorTest.java +++ b/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueBlockCreatorTest.java @@ -235,7 +235,8 @@ private TransactionPool createTransactionPool() { ethContext, mock(MiningParameters.class), new TransactionPoolMetrics(metricsSystem), - conf); + conf, + null); transactionPool.setEnabled(); return transactionPool; } diff --git a/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueMinerExecutorTest.java b/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueMinerExecutorTest.java index 90b3396211b..4a3bf5424d7 100644 --- a/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueMinerExecutorTest.java +++ b/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueMinerExecutorTest.java @@ -222,7 +222,8 @@ private TransactionPool createTransactionPool() { cliqueEthContext, mock(MiningParameters.class), new TransactionPoolMetrics(metricsSystem), - conf); + conf, + null); transactionPool.setEnabled(); return transactionPool; diff --git a/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/support/TestContextBuilder.java b/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/support/TestContextBuilder.java index 13fb1d57cf8..42d68250821 100644 --- a/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/support/TestContextBuilder.java +++ b/consensus/ibft/src/integration-test/java/org/hyperledger/besu/consensus/ibft/support/TestContextBuilder.java @@ -357,7 +357,8 @@ private static ControllerAndState createControllerAndFinalState( ethContext, miningParams, new TransactionPoolMetrics(metricsSystem), - poolConf); + poolConf, + null); transactionPool.setEnabled(); diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/blockcreation/BftBlockCreatorTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/blockcreation/BftBlockCreatorTest.java index a6668ad347e..1039b3579c1 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/blockcreation/BftBlockCreatorTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/blockcreation/BftBlockCreatorTest.java @@ -145,7 +145,8 @@ public BlockHeaderValidator.Builder createBlockHeaderRuleset( ethContext, mock(MiningParameters.class), new TransactionPoolMetrics(metricsSystem), - poolConf); + poolConf, + null); transactionPool.setEnabled(); diff --git a/consensus/merge/src/test/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeCoordinatorTest.java b/consensus/merge/src/test/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeCoordinatorTest.java index d118a186af1..1948bced86b 100644 --- a/consensus/merge/src/test/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeCoordinatorTest.java +++ b/consensus/merge/src/test/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeCoordinatorTest.java @@ -222,7 +222,8 @@ public void setUp() { ethContext, miningParameters, new TransactionPoolMetrics(metricsSystem), - poolConf); + poolConf, + null); this.transactionPool.setEnabled(); diff --git a/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/support/TestContextBuilder.java b/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/support/TestContextBuilder.java index eb4e6345207..ac824df6c0f 100644 --- a/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/support/TestContextBuilder.java +++ b/consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/support/TestContextBuilder.java @@ -445,7 +445,8 @@ private static ControllerAndState createControllerAndFinalState( ethContext, miningParams, new TransactionPoolMetrics(metricsSystem), - poolConf); + poolConf, + null); transactionPool.setEnabled(); diff --git a/ethereum/api/src/integration-test/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/fork/frontier/EthGetFilterChangesIntegrationTest.java b/ethereum/api/src/integration-test/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/fork/frontier/EthGetFilterChangesIntegrationTest.java index 012c4bcc05b..bdb94af6e3d 100644 --- a/ethereum/api/src/integration-test/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/fork/frontier/EthGetFilterChangesIntegrationTest.java +++ b/ethereum/api/src/integration-test/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/fork/frontier/EthGetFilterChangesIntegrationTest.java @@ -119,7 +119,8 @@ public void setUp() { ethContext, new MiningParameters.Builder().minTransactionGasPrice(Wei.ZERO).build(), new TransactionPoolMetrics(metricsSystem), - TransactionPoolConfiguration.DEFAULT); + TransactionPoolConfiguration.DEFAULT, + null); transactionPool.setEnabled(); final BlockchainQueries blockchainQueries = new BlockchainQueries(blockchain, protocolContext.getWorldStateArchive()); diff --git a/ethereum/api/src/integration-test/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/fork/london/EthGetFilterChangesIntegrationTest.java b/ethereum/api/src/integration-test/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/fork/london/EthGetFilterChangesIntegrationTest.java index d4d47d9356e..3ea2ee83633 100644 --- a/ethereum/api/src/integration-test/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/fork/london/EthGetFilterChangesIntegrationTest.java +++ b/ethereum/api/src/integration-test/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/fork/london/EthGetFilterChangesIntegrationTest.java @@ -119,7 +119,8 @@ public void setUp() { ethContext, new MiningParameters.Builder().minTransactionGasPrice(Wei.ZERO).build(), new TransactionPoolMetrics(metricsSystem), - TransactionPoolConfiguration.DEFAULT); + TransactionPoolConfiguration.DEFAULT, + null); transactionPool.setEnabled(); final BlockchainQueries blockchainQueries = new BlockchainQueries(blockchain, protocolContext.getWorldStateArchive()); diff --git a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockCreatorTest.java b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockCreatorTest.java index ef208fc47e8..460e0809b41 100644 --- a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockCreatorTest.java +++ b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockCreatorTest.java @@ -381,7 +381,8 @@ private AbstractBlockCreator createBlockCreator( ethContext, mock(MiningParameters.class), new TransactionPoolMetrics(new NoOpMetricsSystem()), - poolConf); + poolConf, + null); transactionPool.setEnabled(); return new TestBlockCreator( diff --git a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/LegacyFeeMarketBlockTransactionSelectorTest.java b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/LegacyFeeMarketBlockTransactionSelectorTest.java index 261c3d5f895..9b50bfadb8a 100644 --- a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/LegacyFeeMarketBlockTransactionSelectorTest.java +++ b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/LegacyFeeMarketBlockTransactionSelectorTest.java @@ -87,7 +87,8 @@ protected TransactionPool createTransactionPool() { ethContext, miningParameters, new TransactionPoolMetrics(metricsSystem), - poolConf); + poolConf, + null); transactionPool.setEnabled(); return transactionPool; } diff --git a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/LondonFeeMarketBlockTransactionSelectorTest.java b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/LondonFeeMarketBlockTransactionSelectorTest.java index 252f7f03655..0912c9d488a 100644 --- a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/LondonFeeMarketBlockTransactionSelectorTest.java +++ b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/LondonFeeMarketBlockTransactionSelectorTest.java @@ -91,7 +91,8 @@ protected TransactionPool createTransactionPool() { ethContext, miningParameters, new TransactionPoolMetrics(metricsSystem), - poolConf); + poolConf, + null); transactionPool.setEnabled(); return transactionPool; } diff --git a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/PoWBlockCreatorTest.java b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/PoWBlockCreatorTest.java index af9f5b690a6..07f5885f2b8 100644 --- a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/PoWBlockCreatorTest.java +++ b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/PoWBlockCreatorTest.java @@ -341,7 +341,8 @@ private TransactionPool createTransactionPool( ethContext, mock(MiningParameters.class), new TransactionPoolMetrics(metricsSystem), - poolConf); + poolConf, + null); transactionPool.setEnabled(); return transactionPool; diff --git a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/PoWMinerExecutorTest.java b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/PoWMinerExecutorTest.java index 6edc39f333e..b3ab4ff0688 100644 --- a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/PoWMinerExecutorTest.java +++ b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/PoWMinerExecutorTest.java @@ -119,7 +119,8 @@ private TransactionPool createTransactionPool(final MiningParameters miningParam ethContext, miningParameters, new TransactionPoolMetrics(new NoOpMetricsSystem()), - poolConf); + poolConf, + null); transactionPool.setEnabled(); return transactionPool; diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/transaction/TransactionInvalidReason.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/transaction/TransactionInvalidReason.java index 5b00d5fe521..3971b2f502b 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/transaction/TransactionInvalidReason.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/transaction/TransactionInvalidReason.java @@ -55,5 +55,6 @@ public enum TransactionInvalidReason { OFFCHAIN_PRIVACY_GROUP_DOES_NOT_EXIST, PRIVATE_NONCE_TOO_HIGH, PRIVATE_VALUE_NOT_ZERO, - PRIVATE_UNIMPLEMENTED_TRANSACTION_TYPE + PRIVATE_UNIMPLEMENTED_TRANSACTION_TYPE, + PLUGIN_TX_VALIDATOR_INVALIDATED } diff --git a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/bonsai/AbstractIsolationTests.java b/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/bonsai/AbstractIsolationTests.java index e787b766849..da12289afa8 100644 --- a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/bonsai/AbstractIsolationTests.java +++ b/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/bonsai/AbstractIsolationTests.java @@ -162,7 +162,8 @@ public void createStorage() { ethContext, mock(MiningParameters.class), txPoolMetrics, - poolConfiguration); + poolConfiguration, + null); transactionPool.setEnabled(); } diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPool.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPool.java index 9f5cc273b29..fd3d1a4c16a 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPool.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPool.java @@ -42,6 +42,8 @@ import org.hyperledger.besu.ethereum.trie.MerkleTrieException; import org.hyperledger.besu.evm.account.Account; import org.hyperledger.besu.evm.fluent.SimpleAccount; +import org.hyperledger.besu.plugin.services.txvalidator.PluginTransactionValidator; +import org.hyperledger.besu.plugin.services.txvalidator.PluginTransactionValidatorFactory; import org.hyperledger.besu.util.Subscribers; import java.io.BufferedReader; @@ -88,6 +90,7 @@ public class TransactionPool implements BlockAddedObserver { private static final Logger LOG = LoggerFactory.getLogger(TransactionPool.class); private static final Logger LOG_FOR_REPLAY = LoggerFactory.getLogger("LOG_FOR_REPLAY"); private final Supplier pendingTransactionsSupplier; + private final PluginTransactionValidator pluginTransactionValidator; private volatile PendingTransactions pendingTransactions; private final ProtocolSchedule protocolSchedule; private final ProtocolContext protocolContext; @@ -110,7 +113,8 @@ public TransactionPool( final EthContext ethContext, final MiningParameters miningParameters, final TransactionPoolMetrics metrics, - final TransactionPoolConfiguration configuration) { + final TransactionPoolConfiguration configuration, + final PluginTransactionValidatorFactory pluginTransactionValidatorFactory) { this.pendingTransactionsSupplier = pendingTransactionsSupplier; this.protocolSchedule = protocolSchedule; this.protocolContext = protocolContext; @@ -119,6 +123,10 @@ public TransactionPool( this.miningParameters = miningParameters; this.metrics = metrics; this.configuration = configuration; + this.pluginTransactionValidator = + pluginTransactionValidatorFactory == null + ? null + : pluginTransactionValidatorFactory.create(); initLogForReplay(); } @@ -409,7 +417,7 @@ private ValidationResultAndAccount validateTransaction( } if (isLocal - && strictReplayProtectionShouldBeEnforceLocally(chainHeadBlockHeader) + && strictReplayProtectionShouldBeEnforcedLocally(chainHeadBlockHeader) && transaction.getChainId().isEmpty()) { // Strict replay protection is enabled but the tx is not replay-protected return ValidationResultAndAccount.invalid( @@ -428,6 +436,14 @@ && strictReplayProtectionShouldBeEnforceLocally(chainHeadBlockHeader) "EIP-1559 transaction are not allowed yet"); } + // Call the transaction validator plugin if one is available + if (pluginTransactionValidator != null + && !pluginTransactionValidator.validateTransaction(transaction)) { + return ValidationResultAndAccount.invalid( + TransactionInvalidReason.PLUGIN_TX_VALIDATOR_INVALIDATED, + "Plugin transaction vaildator returned false"); + } + try (final var worldState = protocolContext .getWorldStateArchive() @@ -477,7 +493,7 @@ && isMaxGasPriceBelowConfiguredMinGasPrice(transaction)) return null; } - private boolean strictReplayProtectionShouldBeEnforceLocally( + private boolean strictReplayProtectionShouldBeEnforcedLocally( final BlockHeader chainHeadBlockHeader) { return configuration.getStrictTransactionReplayProtectionEnabled() && protocolSchedule.getChainId().isPresent() diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolFactory.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolFactory.java index 08d2aae5169..12cd2dc7e06 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolFactory.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolFactory.java @@ -36,6 +36,7 @@ import org.hyperledger.besu.ethereum.mainnet.feemarket.FeeMarket; import org.hyperledger.besu.plugin.services.BesuEvents; import org.hyperledger.besu.plugin.services.MetricsSystem; +import org.hyperledger.besu.plugin.services.txvalidator.PluginTransactionValidatorFactory; import java.time.Clock; import java.util.function.BiFunction; @@ -54,7 +55,8 @@ public static TransactionPool createTransactionPool( final MetricsSystem metricsSystem, final SyncState syncState, final MiningParameters miningParameters, - final TransactionPoolConfiguration transactionPoolConfiguration) { + final TransactionPoolConfiguration transactionPoolConfiguration, + final PluginTransactionValidatorFactory pluginTransactionValidatorFactory) { final TransactionPoolMetrics metrics = new TransactionPoolMetrics(metricsSystem); @@ -76,7 +78,8 @@ public static TransactionPool createTransactionPool( transactionPoolConfiguration, transactionTracker, transactionsMessageSender, - newPooledTransactionHashesMessageSender); + newPooledTransactionHashesMessageSender, + pluginTransactionValidatorFactory); } static TransactionPool createTransactionPool( @@ -90,7 +93,8 @@ static TransactionPool createTransactionPool( final TransactionPoolConfiguration transactionPoolConfiguration, final PeerTransactionTracker transactionTracker, final TransactionsMessageSender transactionsMessageSender, - final NewPooledTransactionHashesMessageSender newPooledTransactionHashesMessageSender) { + final NewPooledTransactionHashesMessageSender newPooledTransactionHashesMessageSender, + final PluginTransactionValidatorFactory pluginTransactionValidatorFactory) { final TransactionPool transactionPool = new TransactionPool( @@ -111,7 +115,8 @@ static TransactionPool createTransactionPool( ethContext, miningParameters, metrics, - transactionPoolConfiguration); + transactionPoolConfiguration, + pluginTransactionValidatorFactory); final TransactionsMessageHandler transactionsMessageHandler = new TransactionsMessageHandler( diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/manager/EthProtocolManagerTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/manager/EthProtocolManagerTest.java index d47581d2c88..60574c92152 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/manager/EthProtocolManagerTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/manager/EthProtocolManagerTest.java @@ -1117,7 +1117,8 @@ public void transactionMessagesGoToTheCorrectExecutor() { metricsSystem, new SyncState(blockchain, ethManager.ethContext().getEthPeers()), new MiningParameters.Builder().minTransactionGasPrice(Wei.ZERO).build(), - TransactionPoolConfiguration.DEFAULT) + TransactionPoolConfiguration.DEFAULT, + null) .setEnabled(); // Send just a transaction message. diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/manager/ethtaskutils/AbstractMessageTaskTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/manager/ethtaskutils/AbstractMessageTaskTest.java index aeb60471403..dc410937341 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/manager/ethtaskutils/AbstractMessageTaskTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/manager/ethtaskutils/AbstractMessageTaskTest.java @@ -137,7 +137,8 @@ public void setupTest() { metricsSystem, syncState, new MiningParameters.Builder().minTransactionGasPrice(Wei.ONE).build(), - TransactionPoolConfiguration.DEFAULT); + TransactionPoolConfiguration.DEFAULT, + null); transactionPool.setEnabled(); ethProtocolManager = diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionPoolTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionPoolTest.java index eaaff72a3e3..f66d7f41f94 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionPoolTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionPoolTest.java @@ -68,6 +68,8 @@ import org.hyperledger.besu.evm.account.Account; import org.hyperledger.besu.metrics.noop.NoOpMetricsSystem; import org.hyperledger.besu.plugin.services.MetricsSystem; +import org.hyperledger.besu.plugin.services.txvalidator.PluginTransactionValidator; +import org.hyperledger.besu.plugin.services.txvalidator.PluginTransactionValidatorFactory; import java.math.BigInteger; import java.util.Collections; @@ -76,6 +78,7 @@ import java.util.Set; import java.util.function.Consumer; +import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -173,6 +176,12 @@ protected TransactionPool createTransactionPool() { protected TransactionPool createTransactionPool( final Consumer configConsumer) { + return createTransactionPool(configConsumer, null); + } + + protected TransactionPool createTransactionPool( + final Consumer configConsumer, + final PluginTransactionValidatorFactory pluginTransactionValidatorFactory) { final ImmutableTransactionPoolConfiguration.Builder configBuilder = ImmutableTransactionPoolConfiguration.builder(); configConsumer.accept(configBuilder); @@ -187,7 +196,8 @@ protected TransactionPool createTransactionPool( ethContext, miningParameters, new TransactionPoolMetrics(metricsSystem), - config); + config, + pluginTransactionValidatorFactory); txPool.setEnabled(); return txPool; @@ -647,6 +657,59 @@ public void shouldRejectZeroGasPriceLocalTransactionWhenNotMining(final boolean assertTransactionViaApiInvalid(transaction, GAS_PRICE_TOO_LOW); } + @ParameterizedTest + @ValueSource(booleans = {true, false}) + public void transactionNotRejectedByPluginShouldBeAdded(final boolean disableLocalTxs) { + final PluginTransactionValidatorFactory pluginTransactionValidatorFactory = + getPluginTransactionValidatorFactoryReturning(true); + this.transactionPool = + createTransactionPool( + b -> b.disableLocalTransactions(disableLocalTxs), pluginTransactionValidatorFactory); + + final Transaction transaction = createTransaction(0); + + givenTransactionIsValid(transaction); + + assertTransactionViaApiValid(transaction, disableLocalTxs); + } + + @ParameterizedTest + @ValueSource(booleans = {true, false}) + public void transactionRejectedByPluginShouldNotBeAdded(final boolean disableLocalTxs) { + final PluginTransactionValidatorFactory pluginTransactionValidatorFactory = + getPluginTransactionValidatorFactoryReturning(false); + this.transactionPool = + createTransactionPool( + b -> b.disableLocalTransactions(disableLocalTxs), pluginTransactionValidatorFactory); + + final Transaction transaction = createTransaction(0); + + givenTransactionIsValid(transaction); + + assertTransactionViaApiInvalid( + transaction, TransactionInvalidReason.PLUGIN_TX_VALIDATOR_INVALIDATED); + } + + @Test + public void remoteTransactionRejectedByPluginShouldNotBeAdded() { + final PluginTransactionValidatorFactory pluginTransactionValidatorFactory = + getPluginTransactionValidatorFactoryReturning(false); + this.transactionPool = createTransactionPool(b -> {}, pluginTransactionValidatorFactory); + + final Transaction transaction = createTransaction(0); + + givenTransactionIsValid(transaction); + + assertRemoteTransactionInvalid(transaction); + } + + @NotNull + private static PluginTransactionValidatorFactory getPluginTransactionValidatorFactoryReturning( + final boolean b) { + final PluginTransactionValidator pluginTransactionValidator = transaction -> b; + return () -> pluginTransactionValidator; + } + private void assertTransactionPending(final Transaction t) { assertThat(transactions.getTransactionByHash(t.getHash())).contains(t); } diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionsLayeredPendingTransactionsTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionsLayeredPendingTransactionsTest.java index a303a3bb704..3a6c9c8fbf2 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionsLayeredPendingTransactionsTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionsLayeredPendingTransactionsTest.java @@ -200,7 +200,8 @@ protected TransactionPool createTransactionPool( ethContext, miningParameters, new TransactionPoolMetrics(metricsSystem), - poolConfig); + poolConfig, + null); txPool.setEnabled(); return txPool; } diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TestNode.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TestNode.java index 02df9cb177f..6d3eb668f8f 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TestNode.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TestNode.java @@ -164,7 +164,8 @@ public boolean isMessagePermitted(final EnodeURL destinationEnode, final int cod metricsSystem, syncState, new MiningParameters.Builder().minTransactionGasPrice(Wei.ZERO).build(), - TransactionPoolConfiguration.DEFAULT); + TransactionPoolConfiguration.DEFAULT, + null); final EthProtocolManager ethProtocolManager = new EthProtocolManager( diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolFactoryTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolFactoryTest.java index fb56be15f8a..3da9bb9c66d 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolFactoryTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolFactoryTest.java @@ -252,7 +252,8 @@ private void setupInitialSyncPhase(final boolean hasInitialSyncPhase) { .build(), peerTransactionTracker, transactionsMessageSender, - newPooledTransactionHashesMessageSender); + newPooledTransactionHashesMessageSender, + null); ethProtocolManager = new EthProtocolManager( @@ -358,7 +359,8 @@ private TransactionPool createTransactionPool( ImmutableTransactionPoolConfiguration.Unstable.builder() .txMessageKeepAliveSeconds(1) .build()) - .build()); + .build(), + null); txPool.setEnabled(); return txPool; diff --git a/ethereum/retesteth/src/main/java/org/hyperledger/besu/ethereum/retesteth/RetestethContext.java b/ethereum/retesteth/src/main/java/org/hyperledger/besu/ethereum/retesteth/RetestethContext.java index 1f2af463a97..4d29bfd213e 100644 --- a/ethereum/retesteth/src/main/java/org/hyperledger/besu/ethereum/retesteth/RetestethContext.java +++ b/ethereum/retesteth/src/main/java/org/hyperledger/besu/ethereum/retesteth/RetestethContext.java @@ -240,7 +240,8 @@ private boolean buildContext( metricsSystem, syncState, new MiningParameters.Builder().minTransactionGasPrice(Wei.ZERO).build(), - transactionPoolConfiguration); + transactionPoolConfiguration, + null); if (LOG.isTraceEnabled()) { LOG.trace("Genesis Block {} ", genesisState.getBlock()); diff --git a/plugin-api/build.gradle b/plugin-api/build.gradle index a091f97c151..2aded925ce1 100644 --- a/plugin-api/build.gradle +++ b/plugin-api/build.gradle @@ -69,7 +69,7 @@ Calculated : ${currentHash} tasks.register('checkAPIChanges', FileStateChecker) { description = "Checks that the API for the Plugin-API project does not change without deliberate thought" files = sourceSets.main.allJava.files - knownHash = 'BhqPyj1fT50NWuHTgzgCmW1ynAPj/2QiGWraq5OwgOQ=' + knownHash = 'yJgCLn/XmaOwyIlpSw/6gbsM5eNNQQs6hmpTMvkezqk=' } check.dependsOn('checkAPIChanges') diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/PluginTransactionValidatorService.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/PluginTransactionValidatorService.java new file mode 100644 index 00000000000..993cbdafe1f --- /dev/null +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/PluginTransactionValidatorService.java @@ -0,0 +1,39 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.hyperledger.besu.plugin.services; + +import org.hyperledger.besu.plugin.Unstable; +import org.hyperledger.besu.plugin.services.txvalidator.PluginTransactionValidatorFactory; + +/** Transaction validator for addition of transactions to the transaction pool */ +@Unstable +public interface PluginTransactionValidatorService extends BesuService { + + /** + * Returns the transaction validator factory + * + * @return the transaction validator factory + */ + PluginTransactionValidatorFactory get(); + + /** + * Registers the transaction validator factory with the service + * + * @param transactionValidatorFactory transaction validator factory to be used + */ + void registerTransactionValidatorFactory( + PluginTransactionValidatorFactory transactionValidatorFactory); +} diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txvalidator/PluginTransactionValidator.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txvalidator/PluginTransactionValidator.java new file mode 100644 index 00000000000..60f04497199 --- /dev/null +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txvalidator/PluginTransactionValidator.java @@ -0,0 +1,32 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.hyperledger.besu.plugin.services.txvalidator; + +import org.hyperledger.besu.datatypes.Transaction; +import org.hyperledger.besu.plugin.Unstable; + +/** Interface for the transaction validator */ +@Unstable +public interface PluginTransactionValidator { + + /** + * Method called to decide whether a transaction can be added to the transaction pool. + * + * @param transaction candidate transaction + * @return true if the transaction can be added, false otherwise + */ + boolean validateTransaction(final Transaction transaction); +} diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txvalidator/PluginTransactionValidatorFactory.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txvalidator/PluginTransactionValidatorFactory.java new file mode 100644 index 00000000000..bfbf86bd1be --- /dev/null +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txvalidator/PluginTransactionValidatorFactory.java @@ -0,0 +1,30 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.hyperledger.besu.plugin.services.txvalidator; + +import org.hyperledger.besu.plugin.Unstable; + +/** Interface for a factory that creates transaction validators */ +@Unstable +public interface PluginTransactionValidatorFactory { + + /** + * Create a transaction validator + * + * @return the transaction validator + */ + PluginTransactionValidator create(); +} From 77b34f5d4f5d4540a1bb4e35d4ca3649ec4eeebc Mon Sep 17 00:00:00 2001 From: Sally MacFarlane Date: Tue, 26 Sep 2023 10:35:14 +1000 Subject: [PATCH 13/40] renamed PayloadTuple and made a separate class (#5916) * renamed PayloadTuple and made a separate class * made a record * refactor tests to use PayloadWrapper Signed-off-by: Sally MacFarlane --------- Signed-off-by: Sally MacFarlane --- .../besu/consensus/merge/MergeContext.java | 7 +- .../besu/consensus/merge/PayloadWrapper.java | 22 +++ .../consensus/merge/PostMergeContext.java | 57 +++---- .../consensus/merge/TransitionContext.java | 5 +- .../merge/blockcreation/MergeCoordinator.java | 7 +- .../consensus/merge/PostMergeContextTest.java | 12 +- .../blockcreation/MergeCoordinatorTest.java | 157 ++++++++++++------ .../BlockTransactionSelector.java | 4 +- 8 files changed, 166 insertions(+), 105 deletions(-) create mode 100644 consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/PayloadWrapper.java diff --git a/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/MergeContext.java b/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/MergeContext.java index d23fff04414..9db6a97a0ca 100644 --- a/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/MergeContext.java +++ b/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/MergeContext.java @@ -157,10 +157,9 @@ void fireNewUnverifiedForkchoiceEvent( /** * Put payload by Identifier. * - * @param payloadId the payload identifier - * @param blockWithReceipts the block with receipts + * @param payloadWrapper payload wrapper */ - void putPayloadById(final PayloadIdentifier payloadId, final BlockWithReceipts blockWithReceipts); + void putPayloadById(final PayloadWrapper payloadWrapper); /** * Retrieve block by id. @@ -173,7 +172,7 @@ void fireNewUnverifiedForkchoiceEvent( /** * Sets is chain pruning enabled. * - * @param isChainPruningEnabled the is chain pruning enabled + * @param isChainPruningEnabled whether chain pruning is enabled */ default void setIsChainPruningEnabled(final boolean isChainPruningEnabled) {} diff --git a/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/PayloadWrapper.java b/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/PayloadWrapper.java new file mode 100644 index 00000000000..4697f8d9b8c --- /dev/null +++ b/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/PayloadWrapper.java @@ -0,0 +1,22 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.consensus.merge; + +import org.hyperledger.besu.consensus.merge.blockcreation.PayloadIdentifier; +import org.hyperledger.besu.ethereum.core.BlockWithReceipts; + +/** Wrapper for payload plus extra info. */ +public record PayloadWrapper( + PayloadIdentifier payloadIdentifier, BlockWithReceipts blockWithReceipts) {} diff --git a/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/PostMergeContext.java b/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/PostMergeContext.java index e1cbd9e8579..08985ed326b 100644 --- a/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/PostMergeContext.java +++ b/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/PostMergeContext.java @@ -61,7 +61,7 @@ public class PostMergeContext implements MergeContext { private final Subscribers newUnverifiedForkchoiceCallbackSubscribers = Subscribers.create(); - private final EvictingQueue blocksInProgress = + private final EvictingQueue blocksInProgress = EvictingQueue.create(MAX_BLOCKS_IN_PROGRESS); // latest finalized block @@ -232,27 +232,35 @@ public boolean validateCandidateHead(final BlockHeader candidateHeader) { } @Override - public void putPayloadById( - final PayloadIdentifier payloadId, final BlockWithReceipts newBlockWithReceipts) { + public void putPayloadById(final PayloadWrapper payloadWrapper) { synchronized (blocksInProgress) { - final Optional maybeCurrBestBlock = retrieveBlockById(payloadId); + final Optional maybeCurrBestBlock = + retrieveBlockById(payloadWrapper.payloadIdentifier()); maybeCurrBestBlock.ifPresentOrElse( currBestBlock -> { - if (compareByGasUsedDesc.compare(newBlockWithReceipts, currBestBlock) < 0) { + if (compareByGasUsedDesc.compare(payloadWrapper.blockWithReceipts(), currBestBlock) + < 0) { LOG.atDebug() .setMessage("New proposal for payloadId {} {} is better than the previous one {}") - .addArgument(payloadId) - .addArgument(() -> logBlockProposal(newBlockWithReceipts.getBlock())) + .addArgument(payloadWrapper.payloadIdentifier()) + .addArgument( + () -> logBlockProposal(payloadWrapper.blockWithReceipts().getBlock())) .addArgument(() -> logBlockProposal(currBestBlock.getBlock())) .log(); blocksInProgress.removeAll( - retrieveTuplesById(payloadId).collect(Collectors.toUnmodifiableList())); - blocksInProgress.add(new PayloadTuple(payloadId, newBlockWithReceipts)); - logCurrentBestBlock(newBlockWithReceipts); + retrievePayloadsById(payloadWrapper.payloadIdentifier()) + .collect(Collectors.toUnmodifiableList())); + blocksInProgress.add( + new PayloadWrapper( + payloadWrapper.payloadIdentifier(), payloadWrapper.blockWithReceipts())); + logCurrentBestBlock(payloadWrapper.blockWithReceipts()); } }, - () -> blocksInProgress.add(new PayloadTuple(payloadId, newBlockWithReceipts))); + () -> + blocksInProgress.add( + new PayloadWrapper( + payloadWrapper.payloadIdentifier(), payloadWrapper.blockWithReceipts()))); } } @@ -276,15 +284,15 @@ private void logCurrentBestBlock(final BlockWithReceipts blockWithReceipts) { @Override public Optional retrieveBlockById(final PayloadIdentifier payloadId) { synchronized (blocksInProgress) { - return retrieveTuplesById(payloadId) - .map(tuple -> tuple.blockWithReceipts) + return retrievePayloadsById(payloadId) + .map(payloadWrapper -> payloadWrapper.blockWithReceipts()) .sorted(compareByGasUsedDesc) .findFirst(); } } - private Stream retrieveTuplesById(final PayloadIdentifier payloadId) { - return blocksInProgress.stream().filter(z -> z.payloadIdentifier.equals(payloadId)); + private Stream retrievePayloadsById(final PayloadIdentifier payloadId) { + return blocksInProgress.stream().filter(z -> z.payloadIdentifier().equals(payloadId)); } private String logBlockProposal(final Block block) { @@ -296,25 +304,6 @@ private String logBlockProposal(final Block block) { + block.getBody().getTransactions().size(); } - private static class PayloadTuple { - /** The Payload identifier. */ - final PayloadIdentifier payloadIdentifier; - /** The Block with receipts. */ - final BlockWithReceipts blockWithReceipts; - - /** - * Instantiates a new Payload tuple. - * - * @param payloadIdentifier the payload identifier - * @param blockWithReceipts the block with receipts - */ - PayloadTuple( - final PayloadIdentifier payloadIdentifier, final BlockWithReceipts blockWithReceipts) { - this.payloadIdentifier = payloadIdentifier; - this.blockWithReceipts = blockWithReceipts; - } - } - @Override public void setIsChainPruningEnabled(final boolean isChainPruningEnabled) { this.isChainPruningEnabled = isChainPruningEnabled; diff --git a/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/TransitionContext.java b/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/TransitionContext.java index 69183cb0c53..35e51db563e 100644 --- a/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/TransitionContext.java +++ b/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/TransitionContext.java @@ -140,9 +140,8 @@ public boolean validateCandidateHead(final BlockHeader candidateHeader) { } @Override - public void putPayloadById( - final PayloadIdentifier payloadId, final BlockWithReceipts blockWithReceipts) { - postMergeContext.putPayloadById(payloadId, blockWithReceipts); + public void putPayloadById(final PayloadWrapper payloadWrapper) { + postMergeContext.putPayloadById(payloadWrapper); } @Override diff --git a/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeCoordinator.java b/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeCoordinator.java index cac3edf952c..d7e2856941f 100644 --- a/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeCoordinator.java +++ b/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeCoordinator.java @@ -18,6 +18,7 @@ import static org.hyperledger.besu.consensus.merge.blockcreation.MergeMiningCoordinator.ForkchoiceResult.Status.INVALID; import org.hyperledger.besu.consensus.merge.MergeContext; +import org.hyperledger.besu.consensus.merge.PayloadWrapper; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.datatypes.Wei; @@ -289,7 +290,8 @@ public PayloadIdentifier preparePayload( BlockProcessingResult result = validateProposedBlock(emptyBlock); if (result.isSuccessful()) { mergeContext.putPayloadById( - payloadIdentifier, new BlockWithReceipts(emptyBlock, result.getReceipts())); + new PayloadWrapper( + payloadIdentifier, new BlockWithReceipts(emptyBlock, result.getReceipts()))); LOG.info( "Start building proposals for block {} identified by {}", emptyBlock.getHeader().getNumber(), @@ -444,7 +446,8 @@ private void evaluateNewBlock( if (isBlockCreationCancelled(payloadIdentifier)) return; mergeContext.putPayloadById( - payloadIdentifier, new BlockWithReceipts(bestBlock, resultBest.getReceipts())); + new PayloadWrapper( + payloadIdentifier, new BlockWithReceipts(bestBlock, resultBest.getReceipts()))); LOG.atDebug() .setMessage( "Successfully built block {} for proposal identified by {}, with {} transactions, in {}ms") diff --git a/consensus/merge/src/test/java/org/hyperledger/besu/consensus/merge/PostMergeContextTest.java b/consensus/merge/src/test/java/org/hyperledger/besu/consensus/merge/PostMergeContextTest.java index 0e5f246a273..d28d6677c81 100644 --- a/consensus/merge/src/test/java/org/hyperledger/besu/consensus/merge/PostMergeContextTest.java +++ b/consensus/merge/src/test/java/org/hyperledger/besu/consensus/merge/PostMergeContextTest.java @@ -138,7 +138,7 @@ public void putAndRetrieveFirstPayload() { BlockWithReceipts mockBlockWithReceipts = createBlockWithReceipts(1, 21000, 1); PayloadIdentifier firstPayloadId = new PayloadIdentifier(1L); - postMergeContext.putPayloadById(firstPayloadId, mockBlockWithReceipts); + postMergeContext.putPayloadById(new PayloadWrapper(firstPayloadId, mockBlockWithReceipts)); assertThat(postMergeContext.retrieveBlockById(firstPayloadId)).contains(mockBlockWithReceipts); } @@ -149,8 +149,8 @@ public void puttingTwoBlocksWithTheSamePayloadIdWeRetrieveTheBest() { BlockWithReceipts betterBlockWithReceipts = createBlockWithReceipts(2, 11, 1); PayloadIdentifier payloadId = new PayloadIdentifier(1L); - postMergeContext.putPayloadById(payloadId, zeroTxBlockWithReceipts); - postMergeContext.putPayloadById(payloadId, betterBlockWithReceipts); + postMergeContext.putPayloadById(new PayloadWrapper(payloadId, zeroTxBlockWithReceipts)); + postMergeContext.putPayloadById(new PayloadWrapper(payloadId, betterBlockWithReceipts)); assertThat(postMergeContext.retrieveBlockById(payloadId)).contains(betterBlockWithReceipts); } @@ -162,9 +162,9 @@ public void puttingABlockWithTheSamePayloadIdSmallerThanAnExistingOneWeRetrieveT BlockWithReceipts smallBlockWithReceipts = createBlockWithReceipts(3, 5, 1); PayloadIdentifier payloadId = new PayloadIdentifier(1L); - postMergeContext.putPayloadById(payloadId, zeroTxBlockWithReceipts); - postMergeContext.putPayloadById(payloadId, betterBlockWithReceipts); - postMergeContext.putPayloadById(payloadId, smallBlockWithReceipts); + postMergeContext.putPayloadById(new PayloadWrapper(payloadId, zeroTxBlockWithReceipts)); + postMergeContext.putPayloadById(new PayloadWrapper(payloadId, betterBlockWithReceipts)); + postMergeContext.putPayloadById(new PayloadWrapper(payloadId, smallBlockWithReceipts)); assertThat(postMergeContext.retrieveBlockById(payloadId)).contains(betterBlockWithReceipts); } diff --git a/consensus/merge/src/test/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeCoordinatorTest.java b/consensus/merge/src/test/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeCoordinatorTest.java index 1948bced86b..232140fac57 100644 --- a/consensus/merge/src/test/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeCoordinatorTest.java +++ b/consensus/merge/src/test/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeCoordinatorTest.java @@ -35,6 +35,7 @@ import org.hyperledger.besu.config.MergeConfigOptions; import org.hyperledger.besu.consensus.merge.MergeContext; +import org.hyperledger.besu.consensus.merge.PayloadWrapper; import org.hyperledger.besu.consensus.merge.blockcreation.MergeCoordinator.ProposalBuilderExecutor; import org.hyperledger.besu.consensus.merge.blockcreation.MergeMiningCoordinator.ForkchoiceResult; import org.hyperledger.besu.crypto.KeyPair; @@ -55,7 +56,6 @@ import org.hyperledger.besu.ethereum.core.BlockBody; import org.hyperledger.besu.ethereum.core.BlockHeader; import org.hyperledger.besu.ethereum.core.BlockHeaderTestFixture; -import org.hyperledger.besu.ethereum.core.BlockWithReceipts; import org.hyperledger.besu.ethereum.core.Difficulty; import org.hyperledger.besu.ethereum.core.MiningParameters; import org.hyperledger.besu.ethereum.core.Transaction; @@ -242,11 +242,12 @@ public void setUp() { public void coinbaseShouldMatchSuggestedFeeRecipient() { doAnswer( invocation -> { - coordinator.finalizeProposalById(invocation.getArgument(0, PayloadIdentifier.class)); + coordinator.finalizeProposalById( + invocation.getArgument(0, PayloadWrapper.class).payloadIdentifier()); return null; }) .when(mergeContext) - .putPayloadById(any(), any()); + .putPayloadById(any()); var payloadId = coordinator.preparePayload( @@ -257,12 +258,12 @@ public void coinbaseShouldMatchSuggestedFeeRecipient() { Optional.empty(), Optional.empty()); - ArgumentCaptor blockWithReceipts = - ArgumentCaptor.forClass(BlockWithReceipts.class); + ArgumentCaptor payloadWrapper = ArgumentCaptor.forClass(PayloadWrapper.class); - verify(mergeContext, atLeastOnce()).putPayloadById(eq(payloadId), blockWithReceipts.capture()); + verify(mergeContext, atLeastOnce()).putPayloadById(payloadWrapper.capture()); - assertThat(blockWithReceipts.getValue().getHeader().getCoinbase()) + assertThat(payloadWrapper.getValue().payloadIdentifier()).isEqualTo(payloadId); + assertThat(payloadWrapper.getValue().blockWithReceipts().getHeader().getCoinbase()) .isEqualTo(suggestedFeeRecipient); } @@ -317,12 +318,13 @@ public void exceptionDuringBuildingBlockShouldNotBeInvalid() createTransaction(retries.get() - 1), Optional.empty()); } else { // when we have 5 transactions finalize block creation - willThrow.finalizeProposalById(invocation.getArgument(0, PayloadIdentifier.class)); + willThrow.finalizeProposalById( + invocation.getArgument(0, PayloadWrapper.class).payloadIdentifier()); } return null; }) .when(mergeContext) - .putPayloadById(any(), any()); + .putPayloadById(any()); var payloadId = willThrow.preparePayload( @@ -336,12 +338,19 @@ public void exceptionDuringBuildingBlockShouldNotBeInvalid() verify(willThrow, never()).addBadBlock(any(), any()); blockCreationTask.get(); - ArgumentCaptor blockWithReceipts = - ArgumentCaptor.forClass(BlockWithReceipts.class); + ArgumentCaptor payloadWrapper = ArgumentCaptor.forClass(PayloadWrapper.class); verify(mergeContext, times(txPerBlock + 1)) - .putPayloadById(eq(payloadId), blockWithReceipts.capture()); // +1 for the empty - assertThat(blockWithReceipts.getValue().getBlock().getBody().getTransactions().size()) + .putPayloadById(payloadWrapper.capture()); // +1 for the empty + assertThat(payloadWrapper.getValue().payloadIdentifier()).isEqualTo(payloadId); + assertThat( + payloadWrapper + .getValue() + .blockWithReceipts() + .getBlock() + .getBody() + .getTransactions() + .size()) .isEqualTo(txPerBlock); // this only verifies that adding the bad block didn't happen through the mergeCoordinator, it // still may be called directly. @@ -383,12 +392,12 @@ public void shouldContinueBuildingBlocksUntilFinalizeIsCalled() } else { // when we have 5 transactions finalize block creation coordinator.finalizeProposalById( - invocation.getArgument(0, PayloadIdentifier.class)); + invocation.getArgument(0, PayloadWrapper.class).payloadIdentifier()); } return null; }) .when(mergeContext) - .putPayloadById(any(), any()); + .putPayloadById(any()); var payloadId = coordinator.preparePayload( @@ -401,15 +410,21 @@ public void shouldContinueBuildingBlocksUntilFinalizeIsCalled() blockCreationTask.get(); - ArgumentCaptor blockWithReceipts = - ArgumentCaptor.forClass(BlockWithReceipts.class); + ArgumentCaptor payloadWrapper = ArgumentCaptor.forClass(PayloadWrapper.class); - verify(mergeContext, times(retries.intValue())) - .putPayloadById(eq(payloadId), blockWithReceipts.capture()); + verify(mergeContext, times(retries.intValue())).putPayloadById(payloadWrapper.capture()); - assertThat(blockWithReceipts.getAllValues().size()).isEqualTo(retries.intValue()); + assertThat(payloadWrapper.getValue().payloadIdentifier()).isEqualTo(payloadId); + assertThat(payloadWrapper.getAllValues().size()).isEqualTo(retries.intValue()); for (int i = 0; i < retries.intValue(); i++) { - assertThat(blockWithReceipts.getAllValues().get(i).getBlock().getBody().getTransactions()) + assertThat( + payloadWrapper + .getAllValues() + .get(i) + .blockWithReceipts() + .getBlock() + .getBody() + .getTransactions()) .hasSize(i); } } @@ -435,12 +450,12 @@ public void blockCreationRepetitionShouldTakeNotLessThanRepetitionMinDuration() } else { // finalize after 5 repetitions coordinator.finalizeProposalById( - invocation.getArgument(0, PayloadIdentifier.class)); + invocation.getArgument(0, PayloadWrapper.class).payloadIdentifier()); } return null; }) .when(mergeContext) - .putPayloadById(any(), any()); + .putPayloadById(any()); var payloadId = coordinator.preparePayload( @@ -453,7 +468,10 @@ public void blockCreationRepetitionShouldTakeNotLessThanRepetitionMinDuration() blockCreationTask.get(); - verify(mergeContext, times(retries.intValue())).putPayloadById(eq(payloadId), any()); + ArgumentCaptor payloadWrapper = ArgumentCaptor.forClass(PayloadWrapper.class); + + verify(mergeContext, times(retries.intValue())).putPayloadById(payloadWrapper.capture()); + assertThat(payloadWrapper.getValue().payloadIdentifier()).isEqualTo(payloadId); // check with a tolerance assertThat(repetitionDurations) @@ -466,7 +484,8 @@ public void shouldRetryBlockCreationOnRecoverableError() doAnswer( invocation -> { if (invocation - .getArgument(1, BlockWithReceipts.class) + .getArgument(0, PayloadWrapper.class) + .blockWithReceipts() .getBlock() .getBody() .getTransactions() @@ -480,12 +499,12 @@ public void shouldRetryBlockCreationOnRecoverableError() } else { // stop block creation loop when we see a not empty block coordinator.finalizeProposalById( - invocation.getArgument(0, PayloadIdentifier.class)); + invocation.getArgument(0, PayloadWrapper.class).payloadIdentifier()); } return null; }) .when(mergeContext) - .putPayloadById(any(), any()); + .putPayloadById(any()); transactions.addLocalTransaction(createTransaction(0), Optional.empty()); @@ -500,15 +519,29 @@ public void shouldRetryBlockCreationOnRecoverableError() blockCreationTask.get(); - ArgumentCaptor blockWithReceipts = - ArgumentCaptor.forClass(BlockWithReceipts.class); + ArgumentCaptor payloadWrapper = ArgumentCaptor.forClass(PayloadWrapper.class); - verify(mergeContext, times(2)).putPayloadById(eq(payloadId), blockWithReceipts.capture()); + verify(mergeContext, times(2)).putPayloadById(payloadWrapper.capture()); + assertThat(payloadWrapper.getValue().payloadIdentifier()).isEqualTo(payloadId); - assertThat(blockWithReceipts.getAllValues().size()).isEqualTo(2); - assertThat(blockWithReceipts.getAllValues().get(0).getBlock().getBody().getTransactions()) + assertThat(payloadWrapper.getAllValues().size()).isEqualTo(2); + assertThat( + payloadWrapper + .getAllValues() + .get(0) + .blockWithReceipts() + .getBlock() + .getBody() + .getTransactions()) .hasSize(0); - assertThat(blockWithReceipts.getAllValues().get(1).getBlock().getBody().getTransactions()) + assertThat( + payloadWrapper + .getAllValues() + .get(1) + .blockWithReceipts() + .getBlock() + .getBody() + .getTransactions()) .hasSize(1); } @@ -522,7 +555,7 @@ public void shouldStopRetryBlockCreationIfTimeExpired() throws InterruptedExcept return null; }) .when(mergeContext) - .putPayloadById(any(), any()); + .putPayloadById(any()); var payloadId = coordinator.preparePayload( @@ -540,7 +573,10 @@ public void shouldStopRetryBlockCreationIfTimeExpired() throws InterruptedExcept assertThat(e).hasCauseInstanceOf(TimeoutException.class); } - verify(mergeContext, atLeast(retries.intValue())).putPayloadById(eq(payloadId), any()); + ArgumentCaptor payloadWrapper = ArgumentCaptor.forClass(PayloadWrapper.class); + + verify(mergeContext, atLeast(retries.intValue())).putPayloadById(payloadWrapper.capture()); + assertThat(payloadWrapper.getValue().payloadIdentifier()).isEqualTo(payloadId); } @Test @@ -565,7 +601,7 @@ public void shouldStopInProgressBlockCreationIfFinalizedIsCalled() .when(blockchain) .getBlockHeader(any())) .when(mergeContext) - .putPayloadById(any(), any()); + .putPayloadById(any()); var payloadId = coordinator.preparePayload( @@ -582,13 +618,20 @@ public void shouldStopInProgressBlockCreationIfFinalizedIsCalled() blockCreationTask.get(); // check that we only the empty block has been built - ArgumentCaptor blockWithReceipts = - ArgumentCaptor.forClass(BlockWithReceipts.class); + ArgumentCaptor payloadWrapper = ArgumentCaptor.forClass(PayloadWrapper.class); - verify(mergeContext, times(1)).putPayloadById(eq(payloadId), blockWithReceipts.capture()); + verify(mergeContext, times(1)).putPayloadById(payloadWrapper.capture()); + assertThat(payloadWrapper.getValue().payloadIdentifier()).isEqualTo(payloadId); - assertThat(blockWithReceipts.getAllValues().size()).isEqualTo(1); - assertThat(blockWithReceipts.getAllValues().get(0).getBlock().getBody().getTransactions()) + assertThat(payloadWrapper.getAllValues().size()).isEqualTo(1); + assertThat( + payloadWrapper + .getAllValues() + .get(0) + .blockWithReceipts() + .getBlock() + .getBody() + .getTransactions()) .hasSize(0); } @@ -605,12 +648,12 @@ public void shouldNotStartAnotherBlockCreationJobIfCalledAgainWithTheSamePayload } else { // when we have 5 transactions finalize block creation coordinator.finalizeProposalById( - invocation.getArgument(0, PayloadIdentifier.class)); + invocation.getArgument(0, PayloadWrapper.class).payloadIdentifier()); } return null; }) .when(mergeContext) - .putPayloadById(any(), any()); + .putPayloadById(any()); final long timestamp = System.currentTimeMillis() / 1000; @@ -642,17 +685,22 @@ public void shouldNotStartAnotherBlockCreationJobIfCalledAgainWithTheSamePayload blockCreationTask.get(); - ArgumentCaptor blockWithReceipts = - ArgumentCaptor.forClass(BlockWithReceipts.class); + ArgumentCaptor payloadWrapper = ArgumentCaptor.forClass(PayloadWrapper.class); - verify(mergeContext, times(retries.intValue())) - .putPayloadById(eq(payloadId1), blockWithReceipts.capture()); + verify(mergeContext, times(retries.intValue())).putPayloadById(payloadWrapper.capture()); - assertThat(blockWithReceipts.getAllValues().size()).isEqualTo(retries.intValue()); + assertThat(payloadWrapper.getAllValues().size()).isEqualTo(retries.intValue()); for (int i = 0; i < retries.intValue(); i++) { - assertThat(blockWithReceipts.getAllValues().get(i).getBlock().getBody().getTransactions()) + assertThat( + payloadWrapper + .getAllValues() + .get(i) + .blockWithReceipts() + .getBlock() + .getBody() + .getTransactions()) .hasSize(i); - assertThat(blockWithReceipts.getAllValues().get(i).getReceipts()).hasSize(i); + assertThat(payloadWrapper.getAllValues().get(i).blockWithReceipts().getReceipts()).hasSize(i); } } @@ -711,12 +759,13 @@ public void shouldUseExtraDataFromMiningParameters() { Optional.empty(), Optional.empty()); - ArgumentCaptor blockWithReceipts = - ArgumentCaptor.forClass(BlockWithReceipts.class); + ArgumentCaptor payloadWrapper = ArgumentCaptor.forClass(PayloadWrapper.class); - verify(mergeContext, atLeastOnce()).putPayloadById(eq(payloadId), blockWithReceipts.capture()); + verify(mergeContext, atLeastOnce()).putPayloadById(payloadWrapper.capture()); - assertThat(blockWithReceipts.getValue().getHeader().getExtraData()).isEqualTo(extraData); + assertThat(payloadWrapper.getValue().payloadIdentifier()).isEqualTo(payloadId); + assertThat(payloadWrapper.getValue().blockWithReceipts().getHeader().getExtraData()) + .isEqualTo(extraData); } @Test diff --git a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/BlockTransactionSelector.java b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/BlockTransactionSelector.java index 7420e54e70c..1130d5021a4 100644 --- a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/BlockTransactionSelector.java +++ b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/BlockTransactionSelector.java @@ -264,7 +264,7 @@ public BlockTransactionSelector( /* This function iterates over (potentially) all transactions in the PendingTransactions, this is a long-running process. If running in a thread, it can be cancelled via the isCancelled supplier (which will result - in this throwing an CancellationException). + in this throwing a CancellationException). */ public TransactionSelectionResults buildTransactionListForBlock() { LOG.atDebug() @@ -280,7 +280,7 @@ public TransactionSelectionResults buildTransactionListForBlock() { return res; }); LOG.atTrace() - .setMessage("Transaction selection result result {}") + .setMessage("Transaction selection result {}") .addArgument(transactionSelectionResults::toTraceLog) .log(); return transactionSelectionResults; From d7a831e7aaeb46491046851e07ed152798688cdd Mon Sep 17 00:00:00 2001 From: Justin Florentine Date: Mon, 25 Sep 2023 21:21:20 -0400 Subject: [PATCH 14/40] adds Matthew Whitehead as a maintainer (#5876) * adds Matthew Whitehead as a maintainer * alphabetizes list by github id Signed-off-by: Justin Florentine --------- Signed-off-by: Justin Florentine Co-authored-by: Sally MacFarlane --- MAINTAINERS.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index e5bd1814983..1bd4f851f57 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -15,8 +15,8 @@ | Daniel Lehrner | daniellehrner | daniellehrner | | Diego López León | diega | diega | | Fabio Di Fabio | fab-10 | fab-10 | -| Gary Schulte | garyschulte | GarySchulte | | Gabriel Trintinalia | gabriel-trintinalia | gabrieltrintinalia | +| Gary Schulte | garyschulte | GarySchulte | | Jiri Peinlich | gezero | JiriPeinlich | | Gabriel Fukushima| gfukushima | gfukushima | | Justin Florentine| jflo | RoboCopsGoneMad | @@ -25,6 +25,7 @@ | Lucas Saldanha | lucassaldanha | lucassaldanha | | Sally MacFarlane | macfarla | macfarla | | Karim Taam | matkt | matkt | +| Matthew Whitehead| matthew1001 | matthew.whitehead | | Meredith Baxter | mbaxter | mbaxter | | Stefan Pingel | pinges | pinges | | Danno Ferrin | shemnon | shemnon | From 387d3f2d24400d57c598ab87d8934537b252606d Mon Sep 17 00:00:00 2001 From: Gabriel-Trintinalia Date: Tue, 26 Sep 2023 13:50:21 +1000 Subject: [PATCH 15/40] [4844] [Hive] Fix fcuV3 parameter return (#5940) Signed-off-by: Gabriel-Trintinalia --- .../engine/AbstractEngineForkchoiceUpdated.java | 15 ++++++++------- .../methods/engine/AbstractEngineGetPayload.java | 3 +-- .../methods/engine/EngineForkchoiceUpdatedV3.java | 10 +++++++++- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java index 1cde6c259a0..b64fca8d429 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java @@ -69,7 +69,8 @@ public AbstractEngineForkchoiceUpdated( } protected ValidationResult validateParameter( - final EngineForkchoiceUpdatedParameter forkchoiceUpdatedParameter) { + final EngineForkchoiceUpdatedParameter forkchoiceUpdatedParameter, + final Optional maybePayloadAttributes) { return ValidationResult.valid(); } @@ -85,21 +86,21 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext requestContext) requestContext.getOptionalParameter(1, EnginePayloadAttributesParameter.class); LOG.debug("Forkchoice parameters {}", forkChoice); + ValidationResult parameterValidationResult = + validateParameter(forkChoice, maybePayloadAttributes); + if (!parameterValidationResult.isValid()) { + return new JsonRpcErrorResponse(requestId, parameterValidationResult); + } if (maybePayloadAttributes.isPresent()) { final EnginePayloadAttributesParameter payloadAttributes = maybePayloadAttributes.get(); ValidationResult forkValidationResult = validateForkSupported(payloadAttributes.getTimestamp()); if (!forkValidationResult.isValid()) { - return new JsonRpcSuccessResponse(requestId, forkValidationResult); + return new JsonRpcErrorResponse(requestId, forkValidationResult); } } - ValidationResult parameterValidationResult = validateParameter(forkChoice); - if (!parameterValidationResult.isValid()) { - return new JsonRpcSuccessResponse(requestId, parameterValidationResult); - } - mergeContext .get() .fireNewUnverifiedForkchoiceEvent( diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineGetPayload.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineGetPayload.java index 5cb72d0cb82..a714b25d8b4 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineGetPayload.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineGetPayload.java @@ -22,7 +22,6 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.ExecutionEngineJsonRpcMethod; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse; -import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.BlockResultFactory; import org.hyperledger.besu.ethereum.core.BlockHeader; @@ -79,7 +78,7 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext request) { ValidationResult forkValidationResult = validateForkSupported(proposal.getHeader().getTimestamp()); if (!forkValidationResult.isValid()) { - return new JsonRpcSuccessResponse(request.getRequest().getId(), forkValidationResult); + return new JsonRpcErrorResponse(request.getRequest().getId(), forkValidationResult); } return createResponse(request, payloadId, proposal); } diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV3.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV3.java index 31dc738fa39..2d25e12cefd 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV3.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV3.java @@ -18,6 +18,7 @@ import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.EngineForkchoiceUpdatedParameter; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.EnginePayloadAttributesParameter; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType; import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule; import org.hyperledger.besu.ethereum.mainnet.ScheduledProtocolSpec; @@ -48,7 +49,8 @@ public String getName() { @Override protected ValidationResult validateParameter( - final EngineForkchoiceUpdatedParameter fcuParameter) { + final EngineForkchoiceUpdatedParameter fcuParameter, + final Optional maybePayloadAttributes) { if (fcuParameter.getHeadBlockHash() == null) { return ValidationResult.invalid(RpcErrorType.INVALID_PARAMS, "Missing head block hash"); } else if (fcuParameter.getSafeBlockHash() == null) { @@ -56,6 +58,12 @@ protected ValidationResult validateParameter( } else if (fcuParameter.getFinalizedBlockHash() == null) { return ValidationResult.invalid(RpcErrorType.INVALID_PARAMS, "Missing finalized block hash"); } + if (maybePayloadAttributes.isPresent()) { + if (maybePayloadAttributes.get().getParentBeaconBlockRoot() == null) { + return ValidationResult.invalid( + RpcErrorType.INVALID_PARAMS, "Missing parent beacon block root hash"); + } + } return ValidationResult.valid(); } From 3afd3ca27ece2f9b63132b794a25a40914d1bded Mon Sep 17 00:00:00 2001 From: Sally MacFarlane Date: Wed, 27 Sep 2023 01:43:23 +1000 Subject: [PATCH 16/40] updated beacon root and modulus to match DRAFT eip (#5941) Signed-off-by: Sally MacFarlane --- .../ethereum/mainnet/ParentBeaconBlockRootHelper.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ParentBeaconBlockRootHelper.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ParentBeaconBlockRootHelper.java index 5bae221bcfd..80eb7a19e9f 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ParentBeaconBlockRootHelper.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ParentBeaconBlockRootHelper.java @@ -25,17 +25,17 @@ public interface ParentBeaconBlockRootHelper { // Modulus to use for the timestamp to store the root - public static final long HISTORICAL_ROOTS_MODULUS = 98304; + public static final long HISTORY_BUFFER_LENGTH = 8191; public static final Address BEACON_ROOTS_ADDRESS = - Address.fromHexString("0xbEAC020008aFF7331c0A389CB2AAb67597567d7a"); + Address.fromHexString("0x000F3df6D732807Ef1319fB7B8bB8522d0Beac02"); static void storeParentBeaconBlockRoot( final WorldUpdater worldUpdater, final long timestamp, final Bytes32 root) { /* see EIP-4788: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4788.md */ - final long timestampReduced = timestamp % HISTORICAL_ROOTS_MODULUS; - final long timestampExtended = timestampReduced + HISTORICAL_ROOTS_MODULUS; + final long timestampReduced = timestamp % HISTORY_BUFFER_LENGTH; + final long timestampExtended = timestampReduced + HISTORY_BUFFER_LENGTH; final UInt256 timestampIndex = UInt256.valueOf(timestampReduced); final UInt256 rootIndex = UInt256.valueOf(timestampExtended); From 41e829be9dcf432adc4b80110fc4cc09b797403e Mon Sep 17 00:00:00 2001 From: Justin Florentine Date: Tue, 26 Sep 2023 20:39:13 -0400 Subject: [PATCH 17/40] Forkchoice v2 hive tests (#5949) * payload validation moved earlier, fcu v2 checks for cancun timestamps Signed-off-by: Justin Florentine * payload validation moved earlier, fcu v2 checks for cancun timestamps Signed-off-by: Justin Florentine * build passes Signed-off-by: Justin Florentine --------- Signed-off-by: Justin Florentine --- .../AbstractEngineForkchoiceUpdated.java | 89 +++++++++---------- .../engine/EngineForkchoiceUpdatedV2.java | 18 ++++ .../AbstractEngineForkchoiceUpdatedTest.java | 1 + 3 files changed, 63 insertions(+), 45 deletions(-) diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java index b64fca8d429..aca6ee9dc6b 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java @@ -52,7 +52,7 @@ public abstract class AbstractEngineForkchoiceUpdated extends ExecutionEngineJsonRpcMethod { private static final Logger LOG = LoggerFactory.getLogger(AbstractEngineForkchoiceUpdated.class); private final MergeMiningCoordinator mergeCoordinator; - private final Long cancunTimestamp; + protected final Long cancunTimestamp; public AbstractEngineForkchoiceUpdated( final Vertx vertx, @@ -86,14 +86,44 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext requestContext) requestContext.getOptionalParameter(1, EnginePayloadAttributesParameter.class); LOG.debug("Forkchoice parameters {}", forkChoice); - ValidationResult parameterValidationResult = - validateParameter(forkChoice, maybePayloadAttributes); - if (!parameterValidationResult.isValid()) { - return new JsonRpcErrorResponse(requestId, parameterValidationResult); - } + mergeContext + .get() + .fireNewUnverifiedForkchoiceEvent( + forkChoice.getHeadBlockHash(), + forkChoice.getSafeBlockHash(), + forkChoice.getFinalizedBlockHash()); + + final Optional maybeNewHead = + mergeCoordinator.getOrSyncHeadByHash( + forkChoice.getHeadBlockHash(), forkChoice.getFinalizedBlockHash()); + if (maybeNewHead.isEmpty()) { + return syncingResponse(requestId, forkChoice); + } + Optional> withdrawals = Optional.empty(); + final BlockHeader newHead = maybeNewHead.get(); if (maybePayloadAttributes.isPresent()) { final EnginePayloadAttributesParameter payloadAttributes = maybePayloadAttributes.get(); + withdrawals = + maybePayloadAttributes.flatMap( + pa -> + Optional.ofNullable(pa.getWithdrawals()) + .map( + ws -> + ws.stream() + .map(WithdrawalParameter::toWithdrawal) + .collect(toList()))); + if (!isPayloadAttributesValid(maybePayloadAttributes.get(), withdrawals, newHead)) { + LOG.atWarn() + .setMessage("Invalid payload attributes: {}") + .addArgument( + () -> + maybePayloadAttributes + .map(EnginePayloadAttributesParameter::serialize) + .orElse(null)) + .log(); + return new JsonRpcErrorResponse(requestId, getInvalidPayloadError()); + } ValidationResult forkValidationResult = validateForkSupported(payloadAttributes.getTimestamp()); if (!forkValidationResult.isValid()) { @@ -101,12 +131,11 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext requestContext) } } - mergeContext - .get() - .fireNewUnverifiedForkchoiceEvent( - forkChoice.getHeadBlockHash(), - forkChoice.getSafeBlockHash(), - forkChoice.getFinalizedBlockHash()); + ValidationResult parameterValidationResult = + validateParameter(forkChoice, maybePayloadAttributes); + if (!parameterValidationResult.isValid()) { + return new JsonRpcSuccessResponse(requestId, parameterValidationResult); + } if (mergeContext.get().isSyncing()) { return syncingResponse(requestId, forkChoice); @@ -125,16 +154,6 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext requestContext) Optional.of(forkChoice.getHeadBlockHash() + " is an invalid block"))); } - final Optional maybeNewHead = - mergeCoordinator.getOrSyncHeadByHash( - forkChoice.getHeadBlockHash(), forkChoice.getFinalizedBlockHash()); - - if (maybeNewHead.isEmpty()) { - return syncingResponse(requestId, forkChoice); - } - - final BlockHeader newHead = maybeNewHead.get(); - if (!isValidForkchoiceState( forkChoice.getSafeBlockHash(), forkChoice.getFinalizedBlockHash(), newHead)) { logForkchoiceUpdatedCall(INVALID, forkChoice); @@ -144,31 +163,10 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext requestContext) maybePayloadAttributes.ifPresentOrElse( this::logPayload, () -> LOG.debug("Payload attributes are null")); - final Optional> withdrawals = - maybePayloadAttributes.flatMap( - payloadAttributes -> - Optional.ofNullable(payloadAttributes.getWithdrawals()) - .map( - ws -> - ws.stream().map(WithdrawalParameter::toWithdrawal).collect(toList()))); - ForkchoiceResult result = mergeCoordinator.updateForkChoice( newHead, forkChoice.getFinalizedBlockHash(), forkChoice.getSafeBlockHash()); - if (maybePayloadAttributes.isPresent() - && !isPayloadAttributesValid(maybePayloadAttributes.get(), withdrawals, newHead)) { - LOG.atWarn() - .setMessage("Invalid payload attributes: {}") - .addArgument( - () -> - maybePayloadAttributes - .map(EnginePayloadAttributesParameter::serialize) - .orElse(null)) - .log(); - return new JsonRpcErrorResponse(requestId, getInvalidPayloadError()); - } - if (result.shouldNotProceedToPayloadBuildProcess()) { if (ForkchoiceResult.Status.IGNORE_UPDATE_TO_OLD_HEAD.equals(result.getStatus())) { logForkchoiceUpdatedCall(VALID, forkChoice); @@ -179,6 +177,7 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext requestContext) } // begin preparing a block if we have a non-empty payload attributes param + final Optional> finalWithdrawals = withdrawals; Optional payloadId = maybePayloadAttributes.map( payloadAttributes -> @@ -187,7 +186,7 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext requestContext) payloadAttributes.getTimestamp(), payloadAttributes.getPrevRandao(), payloadAttributes.getSuggestedFeeRecipient(), - withdrawals, + finalWithdrawals, Optional.ofNullable(payloadAttributes.getParentBeaconBlockRoot()))); payloadId.ifPresent( @@ -209,7 +208,7 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext requestContext) Optional.empty())); } - private boolean isPayloadAttributesValid( + protected boolean isPayloadAttributesValid( final EnginePayloadAttributesParameter payloadAttributes, final Optional> maybeWithdrawals, final BlockHeader headBlockHeader) { diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV2.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV2.java index 84459b43c9c..d8e0fd715a3 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV2.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV2.java @@ -17,8 +17,14 @@ import org.hyperledger.besu.consensus.merge.blockcreation.MergeMiningCoordinator; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.EnginePayloadAttributesParameter; +import org.hyperledger.besu.ethereum.core.BlockHeader; +import org.hyperledger.besu.ethereum.core.Withdrawal; import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule; +import java.util.List; +import java.util.Optional; + import io.vertx.core.Vertx; // TODO Withdrawals use composition instead? Want to make it more obvious that there is no @@ -38,4 +44,16 @@ public EngineForkchoiceUpdatedV2( public String getName() { return RpcMethod.ENGINE_FORKCHOICE_UPDATED_V2.getMethodName(); } + + @Override + protected boolean isPayloadAttributesValid( + final EnginePayloadAttributesParameter payloadAttributes, + final Optional> maybeWithdrawals, + final BlockHeader headBlockHeader) { + if (payloadAttributes.getTimestamp() >= cancunTimestamp) { + return false; + } else { + return super.isPayloadAttributesValid(payloadAttributes, maybeWithdrawals, headBlockHeader); + } + } } diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdatedTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdatedTest.java index 63713c4bd0f..693271bf689 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdatedTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdatedTest.java @@ -143,6 +143,7 @@ public void shouldReturnSyncingIfMissingNewHead() { public void shouldReturnInvalidWithLatestValidHashOnBadBlock() { BlockHeader mockHeader = blockHeaderBuilder.buildHeader(); Hash latestValidHash = Hash.hash(Bytes32.fromHexStringLenient("0xcafebabe")); + when(mergeCoordinator.getOrSyncHeadByHash(any(), any())).thenReturn(Optional.of(mockHeader)); when(mergeCoordinator.isBadBlock(mockHeader.getHash())).thenReturn(true); when(mergeCoordinator.getLatestValidHashOfBadBlock(mockHeader.getHash())) .thenReturn(Optional.of(latestValidHash)); From b912780cc3f16962a52dffe2c1532213a2ae036d Mon Sep 17 00:00:00 2001 From: Simon Dudley Date: Wed, 27 Sep 2023 17:06:45 +1000 Subject: [PATCH 18/40] Fixup changelog following 23.7.3 release (#5954) Signed-off-by: Simon Dudley --- CHANGELOG.md | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fa78e26a4eb..80b56358bdd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,17 +2,6 @@ ## Next release -### Breaking Changes - -### Additions and Improvements - -### Bug Fixes - -### Download Links - - -## 23.7.3 - ### Breaking Changes - Removed support for Kotti network (ETC) [#5816](https://github.com/hyperledger/besu/pull/5816) - Layered transaction pool implementation is now stable and enabled by default, so the following changes to experimental options have been done [#5772](https://github.com/hyperledger/besu): @@ -23,7 +12,6 @@ - Add access to an immutable world view to start/end transaction hooks in the tracing API[#5836](https://github.com/hyperledger/besu/pull/5836) - Layered transaction pool implementation is now stable and enabled by default. If you want still to use the legacy implementation, use `--tx-pool=legacy` [#5772](https://github.com/hyperledger/besu) - Tune G1GC to reduce Besu memory footprint, and new `besu-untuned` start scripts to run without any specific G1GC flags [#5879](https://github.com/hyperledger/besu/pull/5879) -- Update Holešky config for re-launch [#5890](https://github.com/hyperledger/besu/pull/5890) ### Bug Fixes - do not create ignorable storage on revert storage-variables subcommand [#5830](https://github.com/hyperledger/besu/pull/5830) @@ -32,6 +20,16 @@ ### Download Links +## 23.7.3 + +### Additions and Improvements +- Update Holešky config for re-launch [#5890](https://github.com/hyperledger/besu/pull/5890) + +### Download Links +https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.7.3/besu-23.7.3.tar.gz / sha256: c12ca6a9861557e0bf8f27076f8c8afcce6f1564687e5f02bfdc96c2b18846ff +https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.7.3/besu-23.7.3.zip / sha256: 136596454f647c706130e3e2983bdbb4a1cbfaf2bbf6e999466754f9213c11f6 + + ## 23.7.2 ### Additions and Improvements From 84023d8a7ae2101a3908ee87386072ff70352b5d Mon Sep 17 00:00:00 2001 From: Fabio Di Fabio Date: Wed, 27 Sep 2023 09:48:27 +0200 Subject: [PATCH 19/40] Transaction pool unit tests refactoring to remove duplications (#5948) Signed-off-by: Fabio Di Fabio --- .../AbstractTransactionPoolTest.java | 878 +++++++++++++----- ...actionsLayeredPendingTransactionsTest.java | 712 -------------- .../TransactionPoolLegacyTest.java | 263 ------ .../TransactionPoolLondonTest.java | 318 ------- .../AbstractLayeredTransactionPoolTest.java | 76 ++ .../LayeredPendingTransactionsLegacyTest.java | 241 ----- .../LayeredPendingTransactionsLondonTest.java | 294 ------ .../LayeredTransactionPoolBaseFeeTest.java | 77 ++ .../LayeredTransactionPoolGasPriceTest.java | 71 ++ .../AbstractLegacyTransactionPoolTest.java | 61 ++ .../LegacyTransactionPoolBaseFeeTest.java | 81 ++ .../LegacyTransactionPoolGasPriceTest.java | 80 ++ 12 files changed, 1108 insertions(+), 2044 deletions(-) delete mode 100644 ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionsLayeredPendingTransactionsTest.java delete mode 100644 ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolLegacyTest.java delete mode 100644 ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolLondonTest.java create mode 100644 ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractLayeredTransactionPoolTest.java delete mode 100644 ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsLegacyTest.java delete mode 100644 ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsLondonTest.java create mode 100644 ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredTransactionPoolBaseFeeTest.java create mode 100644 ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredTransactionPoolGasPriceTest.java create mode 100644 ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AbstractLegacyTransactionPoolTest.java create mode 100644 ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/LegacyTransactionPoolBaseFeeTest.java create mode 100644 ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/LegacyTransactionPoolGasPriceTest.java diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionPoolTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionPoolTest.java index f66d7f41f94..1fcd45f84fe 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionPoolTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionPoolTest.java @@ -17,15 +17,20 @@ import static java.util.Arrays.asList; import static java.util.Collections.emptyList; import static java.util.Collections.singletonList; +import static java.util.stream.Collectors.toList; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatCode; import static org.hyperledger.besu.ethereum.mainnet.ValidationResult.valid; import static org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason.EXCEEDS_BLOCK_GAS_LIMIT; import static org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason.GAS_PRICE_TOO_LOW; +import static org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason.INVALID_TRANSACTION_FORMAT; import static org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason.NONCE_TOO_FAR_IN_FUTURE_FOR_SENDER; import static org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason.NONCE_TOO_LOW; +import static org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason.REPLAY_PROTECTED_SIGNATURE_REQUIRED; import static org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason.TRANSACTION_REPLACEMENT_UNDERPRICED; import static org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason.TX_FEECAP_EXCEEDED; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.argThat; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.Mockito.doNothing; @@ -39,17 +44,24 @@ import static org.mockito.Mockito.when; import static org.mockito.quality.Strictness.LENIENT; +import org.hyperledger.besu.config.StubGenesisConfigOptions; import org.hyperledger.besu.crypto.KeyPair; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.datatypes.TransactionType; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.chain.MutableBlockchain; import org.hyperledger.besu.ethereum.core.Block; +import org.hyperledger.besu.ethereum.core.BlockBody; import org.hyperledger.besu.ethereum.core.BlockHeader; +import org.hyperledger.besu.ethereum.core.BlockHeaderBuilder; +import org.hyperledger.besu.ethereum.core.BlockHeaderTestFixture; import org.hyperledger.besu.ethereum.core.Difficulty; import org.hyperledger.besu.ethereum.core.ExecutionContextTestFixture; import org.hyperledger.besu.ethereum.core.MiningParameters; +import org.hyperledger.besu.ethereum.core.PrivacyParameters; import org.hyperledger.besu.ethereum.core.Transaction; +import org.hyperledger.besu.ethereum.core.TransactionReceipt; import org.hyperledger.besu.ethereum.core.TransactionTestFixture; import org.hyperledger.besu.ethereum.eth.manager.EthContext; import org.hyperledger.besu.ethereum.eth.manager.EthPeer; @@ -58,30 +70,40 @@ import org.hyperledger.besu.ethereum.eth.manager.EthScheduler; import org.hyperledger.besu.ethereum.eth.manager.RespondingEthPeer; import org.hyperledger.besu.ethereum.eth.messages.EthPV65; +import org.hyperledger.besu.ethereum.eth.transactions.layered.LayeredTransactionPoolBaseFeeTest; +import org.hyperledger.besu.ethereum.eth.transactions.sorter.LegacyTransactionPoolBaseFeeTest; +import org.hyperledger.besu.ethereum.mainnet.MainnetBlockHeaderFunctions; import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule; +import org.hyperledger.besu.ethereum.mainnet.ProtocolScheduleBuilder; import org.hyperledger.besu.ethereum.mainnet.ProtocolSpec; +import org.hyperledger.besu.ethereum.mainnet.ProtocolSpecAdapters; import org.hyperledger.besu.ethereum.mainnet.TransactionValidationParams; import org.hyperledger.besu.ethereum.mainnet.TransactionValidatorFactory; import org.hyperledger.besu.ethereum.mainnet.ValidationResult; import org.hyperledger.besu.ethereum.mainnet.feemarket.FeeMarket; import org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason; import org.hyperledger.besu.evm.account.Account; +import org.hyperledger.besu.evm.internal.EvmConfiguration; import org.hyperledger.besu.metrics.noop.NoOpMetricsSystem; import org.hyperledger.besu.plugin.services.MetricsSystem; import org.hyperledger.besu.plugin.services.txvalidator.PluginTransactionValidator; import org.hyperledger.besu.plugin.services.txvalidator.PluginTransactionValidatorFactory; import java.math.BigInteger; +import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Optional; import java.util.Set; +import java.util.function.BiFunction; import java.util.function.Consumer; +import java.util.function.Function; -import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.DisabledIf; import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; import org.mockito.Answers; @@ -98,9 +120,9 @@ public abstract class AbstractTransactionPoolTest { protected static final int MAX_TRANSACTIONS = 5; protected static final KeyPair KEY_PAIR1 = SignatureAlgorithmFactory.getInstance().generateKeyPair(); - private static final KeyPair KEY_PAIR2 = SignatureAlgorithmFactory.getInstance().generateKeyPair(); + protected static final Wei BASE_FEE_FLOOR = Wei.of(7L); @Mock(answer = Answers.RETURNS_DEEP_STUBS) protected TransactionValidatorFactory transactionValidatorFactory; @@ -115,26 +137,80 @@ public abstract class AbstractTransactionPoolTest { protected final MetricsSystem metricsSystem = new NoOpMetricsSystem(); protected MutableBlockchain blockchain; - private TransactionBroadcaster transactionBroadcaster; + protected TransactionBroadcaster transactionBroadcaster; protected PendingTransactions transactions; - private final Transaction transaction1 = createTransaction(1); - private final Transaction transaction2 = createTransaction(2); + protected final Transaction transaction0 = createTransaction(0); + protected final Transaction transaction1 = createTransaction(1); - private final Transaction transactionOtherSender = createTransaction(1, KEY_PAIR2); + protected final Transaction transactionOtherSender = createTransaction(1, KEY_PAIR2); private ExecutionContextTestFixture executionContext; protected ProtocolContext protocolContext; protected TransactionPool transactionPool; protected long blockGasLimit; protected EthProtocolManager ethProtocolManager; - private EthContext ethContext; + protected EthContext ethContext; private PeerTransactionTracker peerTransactionTracker; private ArgumentCaptor syncTaskCapture; - protected abstract PendingTransactions createPendingTransactionsSorter(); + protected abstract PendingTransactions createPendingTransactions( + final TransactionPoolConfiguration poolConfig, + final BiFunction + transactionReplacementTester); + + protected TransactionTestFixture createBaseTransactionGasPriceMarket( + final int transactionNumber) { + return new TransactionTestFixture() + .nonce(transactionNumber) + .gasLimit(blockGasLimit) + .type(TransactionType.FRONTIER); + } + + protected TransactionTestFixture createBaseTransactionBaseFeeMarket(final int nonce) { + return new TransactionTestFixture() + .nonce(nonce) + .gasLimit(blockGasLimit) + .gasPrice(null) + .maxFeePerGas(Optional.of(Wei.of(5000L))) + .maxPriorityFeePerGas(Optional.of(Wei.of(1000L))) + .type(TransactionType.EIP1559); + } protected abstract ExecutionContextTestFixture createExecutionContextTestFixture(); + protected static ExecutionContextTestFixture createExecutionContextTestFixtureBaseFeeMarket() { + final ProtocolSchedule protocolSchedule = + new ProtocolScheduleBuilder( + new StubGenesisConfigOptions().londonBlock(0L).baseFeePerGas(10L), + BigInteger.valueOf(1), + ProtocolSpecAdapters.create(0, Function.identity()), + new PrivacyParameters(), + false, + EvmConfiguration.DEFAULT) + .createProtocolSchedule(); + final ExecutionContextTestFixture executionContextTestFixture = + ExecutionContextTestFixture.builder().protocolSchedule(protocolSchedule).build(); + + final Block block = + new Block( + new BlockHeaderTestFixture() + .gasLimit( + executionContextTestFixture + .getBlockchain() + .getChainHeadBlock() + .getHeader() + .getGasLimit()) + .difficulty(Difficulty.ONE) + .baseFeePerGas(Wei.of(10L)) + .parentHash(executionContextTestFixture.getBlockchain().getChainHeadHash()) + .number(executionContextTestFixture.getBlockchain().getChainHeadBlockNumber() + 1) + .buildHeader(), + new BlockBody(List.of(), List.of())); + executionContextTestFixture.getBlockchain().appendBlock(block, List.of()); + + return executionContextTestFixture; + } + protected abstract FeeMarket getFeeMarket(); @BeforeEach @@ -142,7 +218,6 @@ public void setUp() { executionContext = createExecutionContextTestFixture(); protocolContext = executionContext.getProtocolContext(); blockchain = executionContext.getBlockchain(); - transactions = spy(createPendingTransactionsSorter()); when(protocolSpec.getTransactionValidatorFactory()).thenReturn(transactionValidatorFactory); when(protocolSpec.getFeeMarket()).thenReturn(getFeeMarket()); protocolSchedule = spy(executionContext.getProtocolSchedule()); @@ -179,13 +254,23 @@ protected TransactionPool createTransactionPool( return createTransactionPool(configConsumer, null); } - protected TransactionPool createTransactionPool( + private TransactionPool createTransactionPool( final Consumer configConsumer, final PluginTransactionValidatorFactory pluginTransactionValidatorFactory) { final ImmutableTransactionPoolConfiguration.Builder configBuilder = ImmutableTransactionPoolConfiguration.builder(); configConsumer.accept(configBuilder); - final TransactionPoolConfiguration config = configBuilder.build(); + final TransactionPoolConfiguration poolConfig = configBuilder.build(); + + final TransactionPoolReplacementHandler transactionReplacementHandler = + new TransactionPoolReplacementHandler(poolConfig.getPriceBump()); + + final BiFunction transactionReplacementTester = + (t1, t2) -> + transactionReplacementHandler.shouldReplace( + t1, t2, protocolContext.getBlockchain().getChainHeadHeader()); + + transactions = spy(createPendingTransactions(poolConfig, transactionReplacementTester)); final TransactionPool txPool = new TransactionPool( @@ -196,9 +281,8 @@ protected TransactionPool createTransactionPool( ethContext, miningParameters, new TransactionPoolMetrics(metricsSystem), - config, + poolConfig, pluginTransactionValidatorFactory); - txPool.setEnabled(); return txPool; } @@ -211,23 +295,22 @@ public void localTransactionHappyPath(final boolean disableLocalTxs) { givenTransactionIsValid(transaction); - assertTransactionViaApiValid(transaction, disableLocalTxs); + addAndAssertTransactionViaApiValid(transaction, disableLocalTxs); } @ParameterizedTest @ValueSource(booleans = {true, false}) - public void shouldReturnExclusivelyLocalTransactionsWhenAppropriate( - final boolean disableLocalTxs) { + public void shouldReturnLocalTransactionsWhenAppropriate(final boolean disableLocalTxs) { this.transactionPool = createTransactionPool(b -> b.disableLocalTransactions(disableLocalTxs)); - final Transaction localTransaction0 = createTransaction(0); + final Transaction localTransaction2 = createTransaction(2); - givenTransactionIsValid(localTransaction0); + givenTransactionIsValid(localTransaction2); + givenTransactionIsValid(transaction0); givenTransactionIsValid(transaction1); - givenTransactionIsValid(transaction2); - assertTransactionViaApiValid(localTransaction0, disableLocalTxs); - assertRemoteTransactionValid(transaction1); - assertRemoteTransactionValid(transaction2); + addAndAssertTransactionViaApiValid(localTransaction2, disableLocalTxs); + addAndAssertRemoteTransactionValid(transaction0); + addAndAssertRemoteTransactionValid(transaction1); assertThat(transactions.size()).isEqualTo(3); List localTransactions = transactions.getLocalTransactions(); @@ -236,74 +319,92 @@ public void shouldReturnExclusivelyLocalTransactionsWhenAppropriate( @Test public void shouldRemoveTransactionsFromPendingListWhenIncludedInBlockOnchain() { - transactions.addRemoteTransaction(transaction1, Optional.empty()); - assertTransactionPending(transaction1); - appendBlock(transaction1); + givenTransactionIsValid(transaction0); - assertTransactionNotPending(transaction1); + addAndAssertRemoteTransactionValid(transaction0); + + appendBlock(transaction0); + + assertTransactionNotPending(transaction0); } @Test public void shouldRemoveMultipleTransactionsAddedInOneBlock() { - transactions.addRemoteTransaction(transaction1, Optional.empty()); - transactions.addRemoteTransaction(transaction2, Optional.empty()); - appendBlock(transaction1, transaction2); + givenTransactionIsValid(transaction0); + givenTransactionIsValid(transaction1); + + addAndAssertRemoteTransactionValid(transaction0); + addAndAssertRemoteTransactionValid(transaction1); + + appendBlock(transaction0, transaction1); + assertTransactionNotPending(transaction0); assertTransactionNotPending(transaction1); - assertTransactionNotPending(transaction2); assertThat(transactions.size()).isZero(); } @Test public void shouldIgnoreUnknownTransactionsThatAreAddedInABlock() { - transactions.addRemoteTransaction(transaction1, Optional.empty()); - appendBlock(transaction1, transaction2); + givenTransactionIsValid(transaction0); + addAndAssertRemoteTransactionValid(transaction0); + + appendBlock(transaction0, transaction1); + + assertTransactionNotPending(transaction0); assertTransactionNotPending(transaction1); - assertTransactionNotPending(transaction2); assertThat(transactions.size()).isZero(); } @Test public void shouldNotRemovePendingTransactionsWhenABlockAddedToAFork() { - transactions.addRemoteTransaction(transaction1, Optional.empty()); + givenTransactionIsValid(transaction0); + + addAndAssertRemoteTransactionValid(transaction0); + final BlockHeader commonParent = getHeaderForCurrentChainHead(); final Block canonicalHead = appendBlock(Difficulty.of(1000), commonParent); - appendBlock(Difficulty.ONE, commonParent, transaction1); + appendBlock(Difficulty.ONE, commonParent, transaction0); verifyChainHeadIs(canonicalHead); - assertTransactionPending(transaction1); + assertTransactionPending(transaction0); } @Test public void shouldRemovePendingTransactionsFromAllBlocksOnAForkWhenItBecomesTheCanonicalChain() { - transactions.addRemoteTransaction(transaction1, Optional.empty()); - transactions.addRemoteTransaction(transaction2, Optional.empty()); + givenTransactionIsValid(transaction0); + givenTransactionIsValid(transaction1); + + addAndAssertRemoteTransactionValid(transaction0); + addAndAssertRemoteTransactionValid(transaction1); + final BlockHeader commonParent = getHeaderForCurrentChainHead(); final Block originalChainHead = appendBlock(Difficulty.of(1000), commonParent); - final Block forkBlock1 = appendBlock(Difficulty.ONE, commonParent, transaction1); + final Block forkBlock1 = appendBlock(Difficulty.ONE, commonParent, transaction0); verifyChainHeadIs(originalChainHead); - final Block forkBlock2 = appendBlock(Difficulty.of(2000), forkBlock1.getHeader(), transaction2); + final Block forkBlock2 = appendBlock(Difficulty.of(2000), forkBlock1.getHeader(), transaction1); verifyChainHeadIs(forkBlock2); + assertTransactionNotPending(transaction0); assertTransactionNotPending(transaction1); - assertTransactionNotPending(transaction2); } @Test public void shouldReAddTransactionsFromThePreviousCanonicalHeadWhenAReorgOccurs() { - givenTransactionIsValid(transaction1); + givenTransactionIsValid(transaction0); givenTransactionIsValid(transactionOtherSender); - transactions.addLocalTransaction(transaction1, Optional.empty()); - transactions.addRemoteTransaction(transactionOtherSender, Optional.empty()); + + transactionPool.addTransactionViaApi(transaction0); + transactionPool.addRemoteTransactions(List.of(transactionOtherSender)); + final BlockHeader commonParent = getHeaderForCurrentChainHead(); - final Block originalFork1 = appendBlock(Difficulty.of(1000), commonParent, transaction1); + final Block originalFork1 = appendBlock(Difficulty.of(1000), commonParent, transaction0); final Block originalFork2 = appendBlock(Difficulty.ONE, originalFork1.getHeader(), transactionOtherSender); - assertTransactionNotPending(transaction1); + assertTransactionNotPending(transaction0); assertTransactionNotPending(transactionOtherSender); assertThat(transactions.getLocalTransactions()).isEmpty(); @@ -314,36 +415,38 @@ public void shouldReAddTransactionsFromThePreviousCanonicalHeadWhenAReorgOccurs( final Block reorgFork2 = appendBlock(Difficulty.of(2000), reorgFork1.getHeader()); verifyChainHeadIs(reorgFork2); - assertTransactionPending(transaction1); + assertTransactionPending(transaction0); assertTransactionPending(transactionOtherSender); - assertThat(transactions.getLocalTransactions()).contains(transaction1); + assertThat(transactions.getLocalTransactions()).contains(transaction0); assertThat(transactions.getLocalTransactions()).doesNotContain(transactionOtherSender); - verify(listener).onTransactionAdded(transaction1); + verify(listener).onTransactionAdded(transaction0); verify(listener).onTransactionAdded(transactionOtherSender); verifyNoMoreInteractions(listener); } @Test public void shouldNotReAddTransactionsThatAreInBothForksWhenReorgHappens() { + givenTransactionIsValid(transaction0); givenTransactionIsValid(transaction1); - givenTransactionIsValid(transaction2); - transactions.addRemoteTransaction(transaction1, Optional.empty()); - transactions.addRemoteTransaction(transaction2, Optional.empty()); + + addAndAssertRemoteTransactionValid(transaction0); + addAndAssertRemoteTransactionValid(transaction1); + final BlockHeader commonParent = getHeaderForCurrentChainHead(); - final Block originalFork1 = appendBlock(Difficulty.of(1000), commonParent, transaction1); + final Block originalFork1 = appendBlock(Difficulty.of(1000), commonParent, transaction0); final Block originalFork2 = - appendBlock(Difficulty.ONE, originalFork1.getHeader(), transaction2); + appendBlock(Difficulty.ONE, originalFork1.getHeader(), transaction1); + assertTransactionNotPending(transaction0); assertTransactionNotPending(transaction1); - assertTransactionNotPending(transaction2); - final Block reorgFork1 = appendBlock(Difficulty.ONE, commonParent, transaction1); + final Block reorgFork1 = appendBlock(Difficulty.ONE, commonParent, transaction0); verifyChainHeadIs(originalFork2); final Block reorgFork2 = appendBlock(Difficulty.of(2000), reorgFork1.getHeader()); verifyChainHeadIs(reorgFork2); - assertTransactionNotPending(transaction1); - assertTransactionPending(transaction2); + assertTransactionNotPending(transaction0); + assertTransactionPending(transaction1); } @ParameterizedTest @@ -359,7 +462,7 @@ public void addLocalTransaction_strictReplayProtectionOn_txWithChainId_chainIdIs final Transaction tx = createTransaction(1); givenTransactionIsValid(tx); - assertTransactionViaApiValid(tx, disableLocalTxs); + addAndAssertTransactionViaApiValid(tx, disableLocalTxs); } @Test @@ -369,7 +472,7 @@ public void addRemoteTransactions_strictReplayProtectionOn_txWithChainId_chainId final Transaction tx = createTransaction(1); givenTransactionIsValid(tx); - assertRemoteTransactionValid(tx); + addAndAssertRemoteTransactionValid(tx); } @Test @@ -381,39 +484,26 @@ public void shouldNotAddRemoteTransactionsWhenGasPriceBelowMinimum() { verifyNoMoreInteractions(transactionValidatorFactory); } - @Test - public void shouldNotAddRemoteTransactionsWhenThereIsAnLowestInvalidNonceForTheSender() { - givenTransactionIsValid(transaction2); - when(transactionValidatorFactory.get().validate(eq(transaction1), any(Optional.class), any())) - .thenReturn(ValidationResult.invalid(NONCE_TOO_LOW)); - - transactionPool.addRemoteTransactions(asList(transaction1, transaction2)); - - assertTransactionNotPending(transaction1); - assertTransactionNotPending(transaction2); - verify(transactionBroadcaster, never()).onTransactionsAdded(singletonList(transaction2)); - } - @Test public void shouldNotAddRemoteTransactionsThatAreInvalidAccordingToStateDependentChecks() { + givenTransactionIsValid(transaction0); givenTransactionIsValid(transaction1); - givenTransactionIsValid(transaction2); when(transactionValidatorFactory .get() - .validateForSender(eq(transaction2), eq(null), any(TransactionValidationParams.class))) + .validateForSender(eq(transaction1), eq(null), any(TransactionValidationParams.class))) .thenReturn(ValidationResult.invalid(NONCE_TOO_LOW)); - transactionPool.addRemoteTransactions(asList(transaction1, transaction2)); + transactionPool.addRemoteTransactions(asList(transaction0, transaction1)); - assertTransactionPending(transaction1); - assertTransactionNotPending(transaction2); - verify(transactionBroadcaster).onTransactionsAdded(singletonList(transaction1)); + assertTransactionPending(transaction0); + assertTransactionNotPending(transaction1); + verify(transactionBroadcaster).onTransactionsAdded(singletonList(transaction0)); verify(transactionValidatorFactory.get()) - .validate(eq(transaction1), any(Optional.class), any()); + .validate(eq(transaction0), any(Optional.class), any()); verify(transactionValidatorFactory.get()) - .validateForSender(eq(transaction1), eq(null), any(TransactionValidationParams.class)); + .validateForSender(eq(transaction0), eq(null), any(TransactionValidationParams.class)); verify(transactionValidatorFactory.get()) - .validate(eq(transaction2), any(Optional.class), any()); - verify(transactionValidatorFactory.get()).validateForSender(eq(transaction2), any(), any()); + .validate(eq(transaction1), any(Optional.class), any()); + verify(transactionValidatorFactory.get()).validateForSender(eq(transaction1), any(), any()); verifyNoMoreInteractions(transactionValidatorFactory.get()); } @@ -430,46 +520,44 @@ public void shouldAllowSequenceOfTransactionsWithIncreasingNonceFromSameSender( givenTransactionIsValid(transaction2); givenTransactionIsValid(transaction3); - assertTransactionViaApiValid(transaction1, disableLocalTxs); - assertTransactionViaApiValid(transaction2, disableLocalTxs); - assertTransactionViaApiValid(transaction3, disableLocalTxs); + addAndAssertTransactionViaApiValid(transaction1, disableLocalTxs); + addAndAssertTransactionViaApiValid(transaction2, disableLocalTxs); + addAndAssertTransactionViaApiValid(transaction3, disableLocalTxs); } @Test public void shouldAllowSequenceOfTransactionsWithIncreasingNonceFromSameSenderWhenSentInBatchOutOfOrder() { - final Transaction transaction1 = createTransaction(1); final Transaction transaction2 = createTransaction(2); - final Transaction transaction3 = createTransaction(3); + givenTransactionIsValid(transaction0); givenTransactionIsValid(transaction1); givenTransactionIsValid(transaction2); - givenTransactionIsValid(transaction3); - assertRemoteTransactionValid(transaction3); - assertRemoteTransactionValid(transaction1); - assertRemoteTransactionValid(transaction2); + addAndAssertRemoteTransactionValid(transaction2); + addAndAssertRemoteTransactionValid(transaction0); + addAndAssertRemoteTransactionValid(transaction1); } @Test public void shouldDiscardRemoteTransactionThatAlreadyExistsBeforeValidation() { - doReturn(true).when(transactions).containsTransaction(transaction1); - transactionPool.addRemoteTransactions(singletonList(transaction1)); + doReturn(true).when(transactions).containsTransaction(transaction0); + transactionPool.addRemoteTransactions(singletonList(transaction0)); - verify(transactions).containsTransaction(transaction1); + verify(transactions).containsTransaction(transaction0); verifyNoInteractions(transactionValidatorFactory); } @Test public void shouldNotNotifyBatchListenerWhenRemoteTransactionDoesNotReplaceExisting() { - final Transaction transaction1 = createTransaction(1, Wei.of(100)); - final Transaction transaction2 = createTransaction(1, Wei.of(50)); + final Transaction transaction0a = createTransaction(0, Wei.of(100)); + final Transaction transaction0b = createTransaction(0, Wei.of(50)); - givenTransactionIsValid(transaction1); - givenTransactionIsValid(transaction2); + givenTransactionIsValid(transaction0a); + givenTransactionIsValid(transaction0b); - assertRemoteTransactionValid(transaction1); - assertRemoteTransactionInvalid(transaction2); + addAndAssertRemoteTransactionValid(transaction0a); + addAndAssertRemoteTransactionInvalid(transaction0b); } @ParameterizedTest @@ -477,48 +565,34 @@ public void shouldNotNotifyBatchListenerWhenRemoteTransactionDoesNotReplaceExist public void shouldNotNotifyBatchListenerWhenLocalTransactionDoesNotReplaceExisting( final boolean disableLocalTxs) { transactionPool = createTransactionPool(b -> b.disableLocalTransactions(disableLocalTxs)); - final Transaction transaction1 = createTransaction(1, Wei.of(10)); - final Transaction transaction2 = createTransaction(1, Wei.of(9)); + final Transaction transaction0a = createTransaction(0, Wei.of(10)); + final Transaction transaction0b = createTransaction(0, Wei.of(9)); - givenTransactionIsValid(transaction1); - givenTransactionIsValid(transaction2); + givenTransactionIsValid(transaction0a); + givenTransactionIsValid(transaction0b); - assertTransactionViaApiValid(transaction1, disableLocalTxs); - assertTransactionViaApiInvalid(transaction2, TRANSACTION_REPLACEMENT_UNDERPRICED); + addAndAssertTransactionViaApiValid(transaction0a, disableLocalTxs); + addAndAssertTransactionViaApiInvalid(transaction0b, TRANSACTION_REPLACEMENT_UNDERPRICED); } @Test public void shouldRejectLocalTransactionsWhereGasLimitExceedBlockGasLimit() { - final Transaction transaction1 = + final Transaction transaction0 = createBaseTransaction(0).gasLimit(blockGasLimit + 1).createTransaction(KEY_PAIR1); - givenTransactionIsValid(transaction1); + givenTransactionIsValid(transaction0); - assertTransactionViaApiInvalid(transaction1, EXCEEDS_BLOCK_GAS_LIMIT); + addAndAssertTransactionViaApiInvalid(transaction0, EXCEEDS_BLOCK_GAS_LIMIT); } @Test public void shouldRejectRemoteTransactionsWhereGasLimitExceedBlockGasLimit() { - final Transaction transaction1 = - createBaseTransaction(0).gasLimit(blockGasLimit + 1).createTransaction(KEY_PAIR1); - - givenTransactionIsValid(transaction1); - - assertRemoteTransactionInvalid(transaction1); - } - - @Test - public void shouldRejectRemoteTransactionsAnInvalidTransactionWithLowerNonceExists() { - final Transaction invalidTx = + final Transaction transaction0 = createBaseTransaction(0).gasLimit(blockGasLimit + 1).createTransaction(KEY_PAIR1); - final Transaction nextTx = createTransaction(1); - - givenTransactionIsValid(invalidTx); - givenTransactionIsValid(nextTx); + givenTransactionIsValid(transaction0); - assertRemoteTransactionInvalid(invalidTx); - assertRemoteTransactionInvalid(nextTx); + addAndAssertRemoteTransactionInvalid(transaction0); } @Test @@ -532,19 +606,19 @@ public void shouldAcceptLocalTransactionsEvenIfAnInvalidTransactionWithLowerNonc givenTransactionIsValid(invalidTx); givenTransactionIsValid(nextTx); - assertTransactionViaApiInvalid(invalidTx, EXCEEDS_BLOCK_GAS_LIMIT); - assertTransactionViaApiValid(nextTx, false); + addAndAssertTransactionViaApiInvalid(invalidTx, EXCEEDS_BLOCK_GAS_LIMIT); + addAndAssertTransactionViaApiValid(nextTx, false); } @ParameterizedTest @ValueSource(booleans = {true, false}) public void shouldRejectLocalTransactionsWhenNonceTooFarInFuture(final boolean disableLocalTxs) { transactionPool = createTransactionPool(b -> b.disableLocalTransactions(disableLocalTxs)); - final Transaction transaction1 = createTransaction(Integer.MAX_VALUE); + final Transaction transactionFarFuture = createTransaction(Integer.MAX_VALUE); - givenTransactionIsValid(transaction1); + givenTransactionIsValid(transactionFarFuture); - assertTransactionViaApiInvalid(transaction1, NONCE_TOO_FAR_IN_FUTURE_FOR_SENDER); + addAndAssertTransactionViaApiInvalid(transactionFarFuture, NONCE_TOO_FAR_IN_FUTURE_FOR_SENDER); } @Test @@ -558,8 +632,8 @@ public void shouldSendPooledTransactionHashesIfPeerSupportsEth65() { EthPeer peer = mock(EthPeer.class); when(peer.hasSupportForMessage(EthPV65.NEW_POOLED_TRANSACTION_HASHES)).thenReturn(true); - givenTransactionIsValid(transaction1); - transactionPool.addLocalTransaction(transaction1); + givenTransactionIsValid(transaction0); + transactionPool.addTransactionViaApi(transaction0); transactionPool.handleConnect(peer); syncTaskCapture.getValue().run(); verify(newPooledTransactionHashesMessageSender).sendTransactionHashesToPeer(peer); @@ -570,8 +644,8 @@ public void shouldSendFullTransactionsIfPeerDoesNotSupportEth65() { EthPeer peer = mock(EthPeer.class); when(peer.hasSupportForMessage(EthPV65.NEW_POOLED_TRANSACTION_HASHES)).thenReturn(false); - givenTransactionIsValid(transaction1); - transactionPool.addLocalTransaction(transaction1); + givenTransactionIsValid(transaction0); + transactionPool.addTransactionViaApi(transaction0); transactionPool.handleConnect(peer); syncTaskCapture.getValue().run(); verify(transactionsMessageSender).sendTransactionsToPeer(peer); @@ -579,21 +653,18 @@ public void shouldSendFullTransactionsIfPeerDoesNotSupportEth65() { @Test public void shouldSendFullTransactionPoolToNewlyConnectedPeer() { - final Transaction transactionLocal = createTransaction(1); - final Transaction transactionRemote = createTransaction(2); - - givenTransactionIsValid(transactionLocal); - givenTransactionIsValid(transactionRemote); + givenTransactionIsValid(transaction0); + givenTransactionIsValid(transaction1); - transactionPool.addLocalTransaction(transactionLocal); - transactionPool.addRemoteTransactions(Collections.singletonList(transactionRemote)); + transactionPool.addTransactionViaApi(transaction0); + transactionPool.addRemoteTransactions(Collections.singletonList(transaction1)); RespondingEthPeer peer = EthProtocolManagerTestUtil.createPeer(ethProtocolManager); Set transactionsToSendToPeer = peerTransactionTracker.claimTransactionsToSendToPeer(peer.getEthPeer()); - assertThat(transactionsToSendToPeer).contains(transactionLocal, transactionRemote); + assertThat(transactionsToSendToPeer).contains(transaction0, transaction1); } @Test @@ -601,7 +672,7 @@ public void shouldCallValidatorWithExpectedValidationParameters() { final ArgumentCaptor txValidationParamCaptor = ArgumentCaptor.forClass(TransactionValidationParams.class); - when(transactionValidatorFactory.get().validate(eq(transaction1), any(Optional.class), any())) + when(transactionValidatorFactory.get().validate(eq(transaction0), any(Optional.class), any())) .thenReturn(valid()); when(transactionValidatorFactory .get() @@ -611,7 +682,7 @@ public void shouldCallValidatorWithExpectedValidationParameters() { final TransactionValidationParams expectedValidationParams = TransactionValidationParams.transactionPool(); - transactionPool.addLocalTransaction(transaction1); + transactionPool.addTransactionViaApi(transaction0); assertThat(txValidationParamCaptor.getValue()) .usingRecursiveComparison() @@ -624,11 +695,11 @@ public void shouldIgnoreFeeCapIfSetZero(final boolean disableLocalTxs) { final Wei twoEthers = Wei.fromEth(2); transactionPool = createTransactionPool(b -> b.txFeeCap(Wei.ZERO).disableLocalTransactions(disableLocalTxs)); - final Transaction transaction = createTransaction(1, twoEthers.add(Wei.of(1))); + final Transaction transaction = createTransaction(0, twoEthers.add(Wei.of(1))); givenTransactionIsValid(transaction); - assertTransactionViaApiValid(transaction, disableLocalTxs); + addAndAssertTransactionViaApiValid(transaction, disableLocalTxs); } @Test @@ -637,11 +708,11 @@ public void shouldRejectLocalTransactionIfFeeCapExceeded() { transactionPool = createTransactionPool(b -> b.txFeeCap(twoEthers).disableLocalTransactions(false)); - final Transaction transactionLocal = createTransaction(1, twoEthers.add(1)); + final Transaction transactionLocal = createTransaction(0, twoEthers.add(1)); givenTransactionIsValid(transactionLocal); - assertTransactionViaApiInvalid(transactionLocal, TX_FEECAP_EXCEEDED); + addAndAssertTransactionViaApiInvalid(transactionLocal, TX_FEECAP_EXCEEDED); } @ParameterizedTest @@ -654,7 +725,7 @@ public void shouldRejectZeroGasPriceLocalTransactionWhenNotMining(final boolean givenTransactionIsValid(transaction); - assertTransactionViaApiInvalid(transaction, GAS_PRICE_TOO_LOW); + addAndAssertTransactionViaApiInvalid(transaction, GAS_PRICE_TOO_LOW); } @ParameterizedTest @@ -666,11 +737,9 @@ public void transactionNotRejectedByPluginShouldBeAdded(final boolean disableLoc createTransactionPool( b -> b.disableLocalTransactions(disableLocalTxs), pluginTransactionValidatorFactory); - final Transaction transaction = createTransaction(0); + givenTransactionIsValid(transaction0); - givenTransactionIsValid(transaction); - - assertTransactionViaApiValid(transaction, disableLocalTxs); + addAndAssertTransactionViaApiValid(transaction0, disableLocalTxs); } @ParameterizedTest @@ -682,12 +751,10 @@ public void transactionRejectedByPluginShouldNotBeAdded(final boolean disableLoc createTransactionPool( b -> b.disableLocalTransactions(disableLocalTxs), pluginTransactionValidatorFactory); - final Transaction transaction = createTransaction(0); + givenTransactionIsValid(transaction0); - givenTransactionIsValid(transaction); - - assertTransactionViaApiInvalid( - transaction, TransactionInvalidReason.PLUGIN_TX_VALIDATOR_INVALIDATED); + addAndAssertTransactionViaApiInvalid( + transaction0, TransactionInvalidReason.PLUGIN_TX_VALIDATOR_INVALIDATED); } @Test @@ -696,38 +763,344 @@ public void remoteTransactionRejectedByPluginShouldNotBeAdded() { getPluginTransactionValidatorFactoryReturning(false); this.transactionPool = createTransactionPool(b -> {}, pluginTransactionValidatorFactory); - final Transaction transaction = createTransaction(0); + givenTransactionIsValid(transaction0); + + addAndAssertRemoteTransactionInvalid(transaction0); + } + + @ParameterizedTest + @ValueSource(booleans = {true, false}) + @DisabledIf("isBaseFeeMarket") + public void + addLocalTransaction_strictReplayProtectionOn_txWithoutChainId_chainIdIsConfigured_protectionNotSupportedAtCurrentBlock( + final boolean disableLocalTxs) { + protocolSupportsTxReplayProtection(1337, false); + transactionPool = + createTransactionPool( + b -> + b.strictTransactionReplayProtectionEnabled(true) + .disableLocalTransactions(disableLocalTxs)); + final Transaction tx = createTransactionWithoutChainId(1); + givenTransactionIsValid(tx); + + addAndAssertTransactionViaApiValid(tx, disableLocalTxs); + } + + @Test + @DisabledIf("isBaseFeeMarket") + public void + addRemoteTransactions_strictReplayProtectionOff_txWithoutChainId_chainIdIsConfigured() { + protocolSupportsTxReplayProtection(1337, true); + transactionPool = createTransactionPool(b -> b.strictTransactionReplayProtectionEnabled(false)); + final Transaction tx = createTransactionWithoutChainId(1); + givenTransactionIsValid(tx); + + addAndAssertRemoteTransactionValid(tx); + } + + @ParameterizedTest + @ValueSource(booleans = {true, false}) + @DisabledIf("isBaseFeeMarket") + public void addLocalTransaction_strictReplayProtectionOff_txWithoutChainId_chainIdIsConfigured( + final boolean disableLocalTxs) { + protocolSupportsTxReplayProtection(1337, true); + transactionPool = + createTransactionPool( + b -> + b.strictTransactionReplayProtectionEnabled(false) + .disableLocalTransactions(disableLocalTxs)); + final Transaction tx = createTransactionWithoutChainId(1); + givenTransactionIsValid(tx); + + addAndAssertTransactionViaApiValid(tx, disableLocalTxs); + } + + @Test + @DisabledIf("isBaseFeeMarket") + public void addLocalTransaction_strictReplayProtectionOn_txWithoutChainId_chainIdIsConfigured() { + protocolSupportsTxReplayProtection(1337, true); + transactionPool = createTransactionPool(b -> b.strictTransactionReplayProtectionEnabled(true)); + final Transaction tx = createTransactionWithoutChainId(1); + givenTransactionIsValid(tx); + + addAndAssertTransactionViaApiInvalid(tx, REPLAY_PROTECTED_SIGNATURE_REQUIRED); + } + + @Test + @DisabledIf("isBaseFeeMarket") + public void + addRemoteTransactions_strictReplayProtectionOn_txWithoutChainId_chainIdIsConfigured() { + protocolSupportsTxReplayProtection(1337, true); + transactionPool = createTransactionPool(b -> b.strictTransactionReplayProtectionEnabled(true)); + final Transaction tx = createTransactionWithoutChainId(1); + givenTransactionIsValid(tx); + + addAndAssertRemoteTransactionValid(tx); + } + + @ParameterizedTest + @ValueSource(booleans = {true, false}) + @DisabledIf("isBaseFeeMarket") + public void addLocalTransaction_strictReplayProtectionOn_txWithoutChainId_chainIdIsNotConfigured( + final boolean disableLocalTxs) { + protocolDoesNotSupportTxReplayProtection(); + transactionPool = + createTransactionPool( + b -> + b.strictTransactionReplayProtectionEnabled(true) + .disableLocalTransactions(disableLocalTxs)); + final Transaction tx = createTransactionWithoutChainId(1); + givenTransactionIsValid(tx); + + addAndAssertTransactionViaApiValid(tx, disableLocalTxs); + } + + @Test + @DisabledIf("isBaseFeeMarket") + public void + addRemoteTransactions_strictReplayProtectionOn_txWithoutChainId_chainIdIsNotConfigured() { + protocolDoesNotSupportTxReplayProtection(); + transactionPool = createTransactionPool(b -> b.strictTransactionReplayProtectionEnabled(true)); + final Transaction tx = createTransactionWithoutChainId(1); + givenTransactionIsValid(tx); + + addAndAssertRemoteTransactionValid(tx); + } + + @Test + @DisabledIf("isBaseFeeMarket") + public void shouldIgnoreEIP1559TransactionWhenNotAllowed() { + final Transaction transaction = + createBaseTransaction(1) + .type(TransactionType.EIP1559) + .maxFeePerGas(Optional.of(Wei.of(100L))) + .maxPriorityFeePerGas(Optional.of(Wei.of(50L))) + .gasLimit(10) + .gasPrice(null) + .createTransaction(KEY_PAIR1); + + givenTransactionIsValid(transaction); + + addAndAssertTransactionViaApiInvalid(transaction, INVALID_TRANSACTION_FORMAT); + } + + @Test + @DisabledIf("isBaseFeeMarket") + public void shouldAcceptZeroGasPriceFrontierLocalTransactionsWhenMining() { + transactionPool = createTransactionPool(b -> b.disableLocalTransactions(false)); + when(miningParameters.isMiningEnabled()).thenReturn(true); + + final Transaction transaction = createTransaction(0, Wei.ZERO); + + givenTransactionIsValid(transaction); + + addAndAssertTransactionViaApiValid(transaction, false); + } + + @ParameterizedTest + @ValueSource(booleans = {true, false}) + @DisabledIf("isBaseFeeMarket") + public void shouldAcceptZeroGasPriceTransactionWhenMinGasPriceIsZero( + final boolean disableLocalTxs) { + transactionPool = createTransactionPool(b -> b.disableLocalTransactions(disableLocalTxs)); + when(miningParameters.getMinTransactionGasPrice()).thenReturn(Wei.ZERO); + + final Transaction transaction = createTransaction(0, Wei.ZERO); + + givenTransactionIsValid(transaction); + + addAndAssertTransactionViaApiValid(transaction, disableLocalTxs); + } + + @ParameterizedTest + @ValueSource(booleans = {true, false}) + public void shouldAcceptZeroGasPriceFrontierTxsWhenMinGasPriceIsZeroAndLondonWithZeroBaseFee( + final boolean disableLocalTxs) { + transactionPool = createTransactionPool(b -> b.disableLocalTransactions(disableLocalTxs)); + when(miningParameters.getMinTransactionGasPrice()).thenReturn(Wei.ZERO); + when(protocolSpec.getFeeMarket()).thenReturn(FeeMarket.london(0, Optional.of(Wei.ZERO))); + whenBlockBaseFeeIs(Wei.ZERO); + + final Transaction frontierTransaction = createFrontierTransaction(0, Wei.ZERO); + + givenTransactionIsValid(frontierTransaction); + addAndAssertTransactionViaApiValid(frontierTransaction, disableLocalTxs); + } + + @ParameterizedTest + @ValueSource(booleans = {true, false}) + public void shouldAcceptZeroGasPrice1559TxsWhenMinGasPriceIsZeroAndLondonWithZeroBaseFee( + final boolean disableLocalTxs) { + transactionPool = createTransactionPool(b -> b.disableLocalTransactions(disableLocalTxs)); + when(miningParameters.getMinTransactionGasPrice()).thenReturn(Wei.ZERO); + when(protocolSpec.getFeeMarket()).thenReturn(FeeMarket.london(0, Optional.of(Wei.ZERO))); + whenBlockBaseFeeIs(Wei.ZERO); + + final Transaction transaction = createTransaction(0, Wei.ZERO); givenTransactionIsValid(transaction); + addAndAssertTransactionViaApiValid(transaction, disableLocalTxs); + } + + @Test + public void shouldAcceptBaseFeeFloorGasPriceFrontierLocalTransactionsWhenMining() { + transactionPool = createTransactionPool(b -> b.disableLocalTransactions(false)); + final Transaction frontierTransaction = createFrontierTransaction(0, BASE_FEE_FLOOR); + + givenTransactionIsValid(frontierTransaction); + + addAndAssertTransactionViaApiValid(frontierTransaction, false); + } + + @Test + public void shouldRejectRemote1559TxsWhenMaxFeePerGasBelowMinGasPrice() { + final Wei genesisBaseFee = Wei.of(100L); + final Wei minGasPrice = Wei.of(200L); + final Wei lastBlockBaseFee = minGasPrice.add(50L); + final Wei txMaxFeePerGas = minGasPrice.subtract(1L); + + assertThat( + add1559TxAndGetPendingTxsCount( + genesisBaseFee, minGasPrice, lastBlockBaseFee, txMaxFeePerGas, false)) + .isEqualTo(0); + } + + @Test + public void shouldAcceptRemote1559TxsWhenMaxFeePerGasIsAtLeastEqualToMinGasPrice() { + final Wei genesisBaseFee = Wei.of(100L); + final Wei minGasPrice = Wei.of(200L); + final Wei lastBlockBaseFee = minGasPrice.add(50L); + final Wei txMaxFeePerGas = minGasPrice; + + assertThat( + add1559TxAndGetPendingTxsCount( + genesisBaseFee, minGasPrice, lastBlockBaseFee, txMaxFeePerGas, false)) + .isEqualTo(1); + } + + @Test + public void shouldRejectLocal1559TxsWhenMaxFeePerGasBelowMinGasPrice() { + final Wei genesisBaseFee = Wei.of(100L); + final Wei minGasPrice = Wei.of(200L); + final Wei lastBlockBaseFee = minGasPrice.add(50L); + final Wei txMaxFeePerGas = minGasPrice.subtract(1L); + + assertThat( + add1559TxAndGetPendingTxsCount( + genesisBaseFee, minGasPrice, lastBlockBaseFee, txMaxFeePerGas, true)) + .isEqualTo(0); + } + + @Test + public void shouldAcceptLocal1559TxsWhenMaxFeePerGasIsAtLeastEqualToMinMinGasPrice() { + final Wei genesisBaseFee = Wei.of(100L); + final Wei minGasPrice = Wei.of(200L); + final Wei lastBlockBaseFee = minGasPrice.add(50L); + final Wei txMaxFeePerGas = minGasPrice; + + assertThat( + add1559TxAndGetPendingTxsCount( + genesisBaseFee, minGasPrice, lastBlockBaseFee, txMaxFeePerGas, true)) + .isEqualTo(1); + } + + @Test + public void addRemoteTransactionsShouldAllowDuplicates() { + final Transaction transaction1 = createTransaction(1, Wei.of(7L)); + final Transaction transaction2 = createTransaction(2, Wei.of(7L)); + final Transaction transaction3 = createTransaction(2, Wei.of(7L)); + final Transaction transaction4 = createTransaction(3, Wei.of(7L)); + + givenTransactionIsValid(transaction1); + givenTransactionIsValid(transaction2); + givenTransactionIsValid(transaction3); + givenTransactionIsValid(transaction4); - assertRemoteTransactionInvalid(transaction); + assertThatCode( + () -> + transactionPool.addRemoteTransactions( + List.of(transaction1, transaction2, transaction3, transaction4))) + .doesNotThrowAnyException(); } - @NotNull private static PluginTransactionValidatorFactory getPluginTransactionValidatorFactoryReturning( final boolean b) { final PluginTransactionValidator pluginTransactionValidator = transaction -> b; return () -> pluginTransactionValidator; } - private void assertTransactionPending(final Transaction t) { - assertThat(transactions.getTransactionByHash(t.getHash())).contains(t); + @SuppressWarnings("unused") + private static boolean isBaseFeeMarket(final ExtensionContext extensionContext) { + final Class cz = extensionContext.getTestClass().get(); + + return cz.equals(LegacyTransactionPoolBaseFeeTest.class) + || cz.equals(LayeredTransactionPoolBaseFeeTest.class); } - private void assertTransactionNotPending(final Transaction transaction) { + protected void assertTransactionNotPending(final Transaction transaction) { assertThat(transactions.getTransactionByHash(transaction.getHash())).isEmpty(); } - private void verifyChainHeadIs(final Block forkBlock2) { - assertThat(blockchain.getChainHeadHash()).isEqualTo(forkBlock2.getHash()); + protected void addAndAssertRemoteTransactionInvalid(final Transaction tx) { + transactionPool.addRemoteTransactions(List.of(tx)); + + verify(transactionBroadcaster, never()).onTransactionsAdded(singletonList(tx)); + assertTransactionNotPending(tx); } - private void appendBlock(final Transaction... transactionsToAdd) { - appendBlock(Difficulty.ONE, getHeaderForCurrentChainHead(), transactionsToAdd); + protected void assertTransactionPending(final Transaction t) { + assertThat(transactions.getTransactionByHash(t.getHash())).contains(t); } - private BlockHeader getHeaderForCurrentChainHead() { - return blockchain.getBlockHeader(blockchain.getChainHeadHash()).get(); + protected void addAndAssertRemoteTransactionValid(final Transaction... txs) { + transactionPool.addRemoteTransactions(List.of(txs)); + + verify(transactionBroadcaster) + .onTransactionsAdded( + argThat(btxs -> btxs.size() == txs.length && btxs.containsAll(List.of(txs)))); + Arrays.stream(txs).forEach(this::assertTransactionPending); + assertThat(transactions.getLocalTransactions()).doesNotContain(txs); + } + + protected void addAndAssertTransactionViaApiValid(final Transaction tx) { + addAndAssertTransactionViaApiValid(tx, false); + } + + protected void addAndAssertTransactionViaApiValid( + final Transaction tx, final boolean disableLocals) { + final ValidationResult result = + transactionPool.addTransactionViaApi(tx); + + assertThat(result.isValid()).isTrue(); + assertTransactionPending(tx); + verify(transactionBroadcaster).onTransactionsAdded(singletonList(tx)); + if (disableLocals) { + assertThat(transactions.getLocalTransactions()).doesNotContain(tx); + } else { + assertThat(transactions.getLocalTransactions()).contains(tx); + } + } + + protected void addAndAssertTransactionViaApiInvalid( + final Transaction tx, final TransactionInvalidReason invalidReason) { + final ValidationResult result = + transactionPool.addTransactionViaApi(tx); + + assertThat(result.isValid()).isFalse(); + assertThat(result.getInvalidReason()).isEqualTo(invalidReason); + assertTransactionNotPending(tx); + verify(transactionBroadcaster, never()).onTransactionsAdded(singletonList(tx)); + } + + @SuppressWarnings("unchecked") + protected void givenTransactionIsValid(final Transaction transaction) { + when(transactionValidatorFactory.get().validate(eq(transaction), any(Optional.class), any())) + .thenReturn(valid()); + when(transactionValidatorFactory + .get() + .validateForSender( + eq(transaction), nullable(Account.class), any(TransactionValidationParams.class))) + .thenReturn(valid()); } protected abstract Block appendBlock( @@ -735,19 +1108,47 @@ protected abstract Block appendBlock( final BlockHeader parentBlock, final Transaction... transactionsToAdd); - protected abstract Transaction createTransaction( - final int transactionNumber, final Optional maybeChainId); + protected Transaction createTransactionGasPriceMarket( + final int transactionNumber, final Wei maxPrice) { + return createBaseTransaction(transactionNumber).gasPrice(maxPrice).createTransaction(KEY_PAIR1); + } + + protected Transaction createTransactionBaseFeeMarket(final int nonce, final Wei maxPrice) { + return createBaseTransaction(nonce) + .maxFeePerGas(Optional.of(maxPrice)) + .maxPriorityFeePerGas(Optional.of(maxPrice.divide(5L))) + .createTransaction(KEY_PAIR1); + } + + protected abstract TransactionTestFixture createBaseTransaction(final int nonce); + + protected Transaction createTransaction( + final int transactionNumber, final Optional maybeChainId) { + return createBaseTransaction(transactionNumber) + .chainId(maybeChainId) + .createTransaction(KEY_PAIR1); + } + + protected abstract Transaction createTransaction(final int nonce, final Wei maxPrice); - protected abstract Transaction createTransaction(final int transactionNumber, final Wei maxPrice); + protected Transaction createTransaction(final int nonce) { + return createTransaction(nonce, Optional.of(BigInteger.ONE)); + } + + protected Transaction createTransaction(final int nonce, final KeyPair keyPair) { + return createBaseTransaction(nonce).createTransaction(keyPair); + } - protected abstract TransactionTestFixture createBaseTransaction(final int transactionNumber); + protected void verifyChainHeadIs(final Block forkBlock2) { + assertThat(blockchain.getChainHeadHash()).isEqualTo(forkBlock2.getHash()); + } - private Transaction createTransaction(final int transactionNumber) { - return createTransaction(transactionNumber, Optional.of(BigInteger.ONE)); + protected BlockHeader getHeaderForCurrentChainHead() { + return blockchain.getBlockHeader(blockchain.getChainHeadHash()).get(); } - private Transaction createTransaction(final int transactionNumber, final KeyPair keyPair) { - return createBaseTransaction(transactionNumber).createTransaction(keyPair); + protected void appendBlock(final Transaction... transactionsToAdd) { + appendBlock(Difficulty.ONE, getHeaderForCurrentChainHead(), transactionsToAdd); } protected void protocolSupportsTxReplayProtection( @@ -756,53 +1157,98 @@ protected void protocolSupportsTxReplayProtection( when(protocolSchedule.getChainId()).thenReturn(Optional.of(BigInteger.valueOf(chainId))); } - protected void givenTransactionIsValid(final Transaction transaction) { - when(transactionValidatorFactory.get().validate(eq(transaction), any(Optional.class), any())) - .thenReturn(valid()); - when(transactionValidatorFactory - .get() - .validateForSender( - eq(transaction), nullable(Account.class), any(TransactionValidationParams.class))) - .thenReturn(valid()); + protected void protocolDoesNotSupportTxReplayProtection() { + when(protocolSchedule.getChainId()).thenReturn(Optional.empty()); } - protected void assertTransactionViaApiInvalid( - final Transaction tx, final TransactionInvalidReason invalidReason) { - final ValidationResult result = - transactionPool.addTransactionViaApi(tx); + protected Transaction createTransactionWithoutChainId(final int transactionNumber) { + return createTransaction(transactionNumber, Optional.empty()); + } - assertThat(result.isValid()).isFalse(); - assertThat(result.getInvalidReason()).isEqualTo(invalidReason); - assertTransactionNotPending(tx); - verify(transactionBroadcaster, never()).onTransactionsAdded(singletonList(tx)); + protected void whenBlockBaseFeeIs(final Wei baseFee) { + final BlockHeader header = + BlockHeaderBuilder.fromHeader(blockchain.getChainHeadHeader()) + .baseFee(baseFee) + .blockHeaderFunctions(new MainnetBlockHeaderFunctions()) + .parentHash(blockchain.getChainHeadHash()) + .buildBlockHeader(); + blockchain.appendBlock(new Block(header, BlockBody.empty()), emptyList()); } - protected void assertTransactionViaApiValid(final Transaction tx, final boolean disableLocals) { - final ValidationResult result = - transactionPool.addTransactionViaApi(tx); + protected Transaction createFrontierTransaction(final int transactionNumber, final Wei gasPrice) { + return new TransactionTestFixture() + .nonce(transactionNumber) + .gasPrice(gasPrice) + .gasLimit(blockGasLimit) + .type(TransactionType.FRONTIER) + .createTransaction(KEY_PAIR1); + } - assertThat(result.isValid()).isTrue(); - assertTransactionPending(tx); - verify(transactionBroadcaster).onTransactionsAdded(singletonList(tx)); - if (disableLocals) { - assertThat(transactions.getLocalTransactions()).doesNotContain(tx); + protected int add1559TxAndGetPendingTxsCount( + final Wei genesisBaseFee, + final Wei minGasPrice, + final Wei lastBlockBaseFee, + final Wei txMaxFeePerGas, + final boolean isLocal) { + when(miningParameters.getMinTransactionGasPrice()).thenReturn(minGasPrice); + when(protocolSpec.getFeeMarket()).thenReturn(FeeMarket.london(0, Optional.of(genesisBaseFee))); + whenBlockBaseFeeIs(lastBlockBaseFee); + + final Transaction transaction = createTransaction(0, txMaxFeePerGas); + + givenTransactionIsValid(transaction); + + if (isLocal) { + transactionPool.addTransactionViaApi(transaction); } else { - assertThat(transactions.getLocalTransactions()).contains(tx); + transactionPool.addRemoteTransactions(List.of(transaction)); } - } - protected void assertRemoteTransactionValid(final Transaction tx) { - transactionPool.addRemoteTransactions(List.of(tx)); - - verify(transactionBroadcaster).onTransactionsAdded(singletonList(tx)); - assertTransactionPending(tx); - assertThat(transactions.getLocalTransactions()).doesNotContain(tx); + return transactions.size(); } - protected void assertRemoteTransactionInvalid(final Transaction tx) { - transactionPool.addRemoteTransactions(List.of(tx)); + protected Block appendBlockGasPriceMarket( + final Difficulty difficulty, + final BlockHeader parentBlock, + final Transaction[] transactionsToAdd) { + final List transactionList = asList(transactionsToAdd); + final Block block = + new Block( + new BlockHeaderTestFixture() + .difficulty(difficulty) + .gasLimit(parentBlock.getGasLimit()) + .parentHash(parentBlock.getHash()) + .number(parentBlock.getNumber() + 1) + .buildHeader(), + new BlockBody(transactionList, emptyList())); + final List transactionReceipts = + transactionList.stream() + .map(transaction -> new TransactionReceipt(1, 1, emptyList(), Optional.empty())) + .collect(toList()); + blockchain.appendBlock(block, transactionReceipts); + return block; + } - verify(transactionBroadcaster, never()).onTransactionsAdded(singletonList(tx)); - assertTransactionNotPending(tx); + protected Block appendBlockBaseFeeMarket( + final Difficulty difficulty, + final BlockHeader parentBlock, + final Transaction[] transactionsToAdd) { + final List transactionList = asList(transactionsToAdd); + final Block block = + new Block( + new BlockHeaderTestFixture() + .baseFeePerGas(Wei.of(10L)) + .gasLimit(parentBlock.getGasLimit()) + .difficulty(difficulty) + .parentHash(parentBlock.getHash()) + .number(parentBlock.getNumber() + 1) + .buildHeader(), + new BlockBody(transactionList, emptyList())); + final List transactionReceipts = + transactionList.stream() + .map(transaction -> new TransactionReceipt(1, 1, emptyList(), Optional.empty())) + .collect(toList()); + blockchain.appendBlock(block, transactionReceipts); + return block; } } diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionsLayeredPendingTransactionsTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionsLayeredPendingTransactionsTest.java deleted file mode 100644 index 3a6c9c8fbf2..00000000000 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionsLayeredPendingTransactionsTest.java +++ /dev/null @@ -1,712 +0,0 @@ -/* - * Copyright Hyperledger Besu Contributors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on - * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - * - * SPDX-License-Identifier: Apache-2.0 - */ -package org.hyperledger.besu.ethereum.eth.transactions; - -import static java.util.Arrays.asList; -import static java.util.Collections.emptyList; -import static java.util.Collections.singletonList; -import static org.assertj.core.api.Assertions.assertThat; -import static org.hyperledger.besu.ethereum.mainnet.ValidationResult.valid; -import static org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason.EXCEEDS_BLOCK_GAS_LIMIT; -import static org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason.GAS_PRICE_TOO_LOW; -import static org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason.NONCE_TOO_FAR_IN_FUTURE_FOR_SENDER; -import static org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason.NONCE_TOO_LOW; -import static org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason.TRANSACTION_REPLACEMENT_UNDERPRICED; -import static org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason.TX_FEECAP_EXCEEDED; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.argThat; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.ArgumentMatchers.nullable; -import static org.mockito.Mockito.doNothing; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.never; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyNoInteractions; -import static org.mockito.Mockito.verifyNoMoreInteractions; -import static org.mockito.Mockito.when; - -import org.hyperledger.besu.crypto.KeyPair; -import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; -import org.hyperledger.besu.datatypes.Wei; -import org.hyperledger.besu.ethereum.ProtocolContext; -import org.hyperledger.besu.ethereum.chain.MutableBlockchain; -import org.hyperledger.besu.ethereum.core.Block; -import org.hyperledger.besu.ethereum.core.BlockHeader; -import org.hyperledger.besu.ethereum.core.Difficulty; -import org.hyperledger.besu.ethereum.core.ExecutionContextTestFixture; -import org.hyperledger.besu.ethereum.core.MiningParameters; -import org.hyperledger.besu.ethereum.core.Transaction; -import org.hyperledger.besu.ethereum.core.TransactionTestFixture; -import org.hyperledger.besu.ethereum.eth.manager.EthContext; -import org.hyperledger.besu.ethereum.eth.manager.EthPeer; -import org.hyperledger.besu.ethereum.eth.manager.EthProtocolManager; -import org.hyperledger.besu.ethereum.eth.manager.EthProtocolManagerTestUtil; -import org.hyperledger.besu.ethereum.eth.manager.EthScheduler; -import org.hyperledger.besu.ethereum.eth.manager.RespondingEthPeer; -import org.hyperledger.besu.ethereum.eth.messages.EthPV65; -import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule; -import org.hyperledger.besu.ethereum.mainnet.ProtocolSpec; -import org.hyperledger.besu.ethereum.mainnet.TransactionValidationParams; -import org.hyperledger.besu.ethereum.mainnet.TransactionValidatorFactory; -import org.hyperledger.besu.ethereum.mainnet.ValidationResult; -import org.hyperledger.besu.ethereum.mainnet.feemarket.FeeMarket; -import org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason; -import org.hyperledger.besu.evm.account.Account; -import org.hyperledger.besu.metrics.noop.NoOpMetricsSystem; -import org.hyperledger.besu.plugin.services.MetricsSystem; - -import java.math.BigInteger; -import java.util.Collections; -import java.util.List; -import java.util.Optional; -import java.util.Set; -import java.util.function.BiFunction; -import java.util.function.Consumer; - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; -import org.mockito.Answers; -import org.mockito.ArgumentCaptor; -import org.mockito.Mock; -import org.mockito.junit.jupiter.MockitoExtension; -import org.mockito.junit.jupiter.MockitoSettings; -import org.mockito.quality.Strictness; - -@SuppressWarnings("unchecked") -@ExtendWith(MockitoExtension.class) -@MockitoSettings(strictness = Strictness.LENIENT) -public abstract class AbstractTransactionsLayeredPendingTransactionsTest { - - protected static final KeyPair KEY_PAIR1 = - SignatureAlgorithmFactory.getInstance().generateKeyPair(); - - private static final KeyPair KEY_PAIR2 = - SignatureAlgorithmFactory.getInstance().generateKeyPair(); - - @Mock(answer = Answers.RETURNS_DEEP_STUBS) - protected TransactionValidatorFactory transactionValidatorFactory; - - @Mock protected PendingTransactionAddedListener listener; - @Mock protected MiningParameters miningParameters; - @Mock protected TransactionsMessageSender transactionsMessageSender; - @Mock protected NewPooledTransactionHashesMessageSender newPooledTransactionHashesMessageSender; - @Mock protected ProtocolSpec protocolSpec; - - protected ProtocolSchedule protocolSchedule; - - protected final MetricsSystem metricsSystem = new NoOpMetricsSystem(); - protected MutableBlockchain blockchain; - private TransactionBroadcaster transactionBroadcaster; - - protected PendingTransactions transactions; - private final Transaction transaction0 = createTransaction(0); - private final Transaction transaction1 = createTransaction(1); - - private final Transaction transactionOtherSender = createTransaction(0, KEY_PAIR2); - private ExecutionContextTestFixture executionContext; - protected ProtocolContext protocolContext; - protected TransactionPool transactionPool; - protected TransactionPoolConfiguration poolConfig; - protected long blockGasLimit; - protected EthProtocolManager ethProtocolManager; - private EthContext ethContext; - private PeerTransactionTracker peerTransactionTracker; - private ArgumentCaptor syncTaskCapture; - - protected abstract PendingTransactions createPendingTransactionsSorter( - final TransactionPoolConfiguration poolConfig, - BiFunction transactionReplacementTester); - - protected abstract ExecutionContextTestFixture createExecutionContextTestFixture(); - - protected abstract FeeMarket getFeeMarket(); - - @BeforeEach - public void setUp() { - executionContext = createExecutionContextTestFixture(); - protocolContext = executionContext.getProtocolContext(); - blockchain = executionContext.getBlockchain(); - - when(protocolSpec.getTransactionValidatorFactory()).thenReturn(transactionValidatorFactory); - when(protocolSpec.getFeeMarket()).thenReturn(getFeeMarket()); - protocolSchedule = spy(executionContext.getProtocolSchedule()); - doReturn(protocolSpec).when(protocolSchedule).getByBlockHeader(any()); - blockGasLimit = blockchain.getChainHeadBlock().getHeader().getGasLimit(); - ethProtocolManager = EthProtocolManagerTestUtil.create(); - ethContext = spy(ethProtocolManager.ethContext()); - - final EthScheduler ethScheduler = mock(EthScheduler.class); - syncTaskCapture = ArgumentCaptor.forClass(Runnable.class); - doNothing().when(ethScheduler).scheduleSyncWorkerTask(syncTaskCapture.capture()); - doReturn(ethScheduler).when(ethContext).getScheduler(); - - peerTransactionTracker = new PeerTransactionTracker(); - - transactionPool = createTransactionPool(); - - blockchain.observeBlockAdded(transactionPool); - when(miningParameters.getMinTransactionGasPrice()).thenReturn(Wei.of(2)); - } - - protected TransactionPool createTransactionPool() { - return createTransactionPool(b -> {}); - } - - protected TransactionPool createTransactionPool( - final Consumer configConsumer) { - final ImmutableTransactionPoolConfiguration.Builder configBuilder = - ImmutableTransactionPoolConfiguration.builder(); - configConsumer.accept(configBuilder); - poolConfig = configBuilder.build(); - - final TransactionPoolReplacementHandler transactionReplacementHandler = - new TransactionPoolReplacementHandler(poolConfig.getPriceBump()); - - final BiFunction transactionReplacementTester = - (t1, t2) -> - transactionReplacementHandler.shouldReplace( - t1, t2, protocolContext.getBlockchain().getChainHeadHeader()); - - transactions = spy(createPendingTransactionsSorter(poolConfig, transactionReplacementTester)); - - transactionBroadcaster = - spy( - new TransactionBroadcaster( - ethContext, - peerTransactionTracker, - transactionsMessageSender, - newPooledTransactionHashesMessageSender)); - final TransactionPool txPool = - new TransactionPool( - () -> transactions, - protocolSchedule, - protocolContext, - transactionBroadcaster, - ethContext, - miningParameters, - new TransactionPoolMetrics(metricsSystem), - poolConfig, - null); - txPool.setEnabled(); - return txPool; - } - - @Test - public void localTransactionHappyPath() { - final Transaction transaction = createTransaction(0); - - givenTransactionIsValid(transaction); - - addAndAssertLocalTransactionValid(transaction); - } - - @Test - public void shouldReturnExclusivelyLocalTransactionsWhenAppropriate() { - final Transaction localTransaction0 = createTransaction(0, KEY_PAIR2); - - givenTransactionIsValid(localTransaction0); - givenTransactionIsValid(transaction0); - givenTransactionIsValid(transaction1); - - addAndAssertLocalTransactionValid(localTransaction0); - addAndAssertRemoteTransactionValid(transaction0); - addAndAssertRemoteTransactionValid(transaction1); - - assertThat(transactions.size()).isEqualTo(3); - List localTransactions = transactions.getLocalTransactions(); - assertThat(localTransactions.size()).isEqualTo(1); - } - - @Test - public void shouldRemoveTransactionsFromPendingListWhenIncludedInBlockOnchain() { - transactions.addRemoteTransaction(transaction0, Optional.empty()); - assertTransactionPending(transaction0); - appendBlock(transaction0); - - assertTransactionNotPending(transaction0); - } - - @Test - public void shouldRemoveMultipleTransactionsAddedInOneBlock() { - transactions.addRemoteTransaction(transaction0, Optional.empty()); - transactions.addRemoteTransaction(transaction1, Optional.empty()); - appendBlock(transaction0, transaction1); - - assertTransactionNotPending(transaction0); - assertTransactionNotPending(transaction1); - assertThat(transactions.size()).isZero(); - } - - @Test - public void shouldIgnoreUnknownTransactionsThatAreAddedInABlock() { - transactions.addRemoteTransaction(transaction0, Optional.empty()); - appendBlock(transaction0, transaction1); - - assertTransactionNotPending(transaction0); - assertTransactionNotPending(transaction1); - assertThat(transactions.size()).isZero(); - } - - @Test - public void shouldNotRemovePendingTransactionsWhenABlockAddedToAFork() { - transactions.addRemoteTransaction(transaction0, Optional.empty()); - final BlockHeader commonParent = getHeaderForCurrentChainHead(); - final Block canonicalHead = appendBlock(Difficulty.of(1000), commonParent); - appendBlock(Difficulty.ONE, commonParent, transaction0); - - verifyChainHeadIs(canonicalHead); - - assertTransactionPending(transaction0); - } - - @Test - public void shouldRemovePendingTransactionsFromAllBlocksOnAForkWhenItBecomesTheCanonicalChain() { - transactions.addRemoteTransaction(transaction0, Optional.empty()); - transactions.addRemoteTransaction(transaction1, Optional.empty()); - final BlockHeader commonParent = getHeaderForCurrentChainHead(); - final Block originalChainHead = appendBlock(Difficulty.of(1000), commonParent); - - final Block forkBlock1 = appendBlock(Difficulty.ONE, commonParent, transaction0); - verifyChainHeadIs(originalChainHead); - - final Block forkBlock2 = appendBlock(Difficulty.of(2000), forkBlock1.getHeader(), transaction1); - verifyChainHeadIs(forkBlock2); - - assertTransactionNotPending(transaction0); - assertTransactionNotPending(transaction1); - } - - @Test - public void shouldReAddTransactionsFromThePreviousCanonicalHeadWhenAReorgOccurs() { - givenTransactionIsValid(transaction0); - givenTransactionIsValid(transactionOtherSender); - transactions.addLocalTransaction(transaction0, Optional.empty()); - transactions.addRemoteTransaction(transactionOtherSender, Optional.empty()); - final BlockHeader commonParent = getHeaderForCurrentChainHead(); - final Block originalFork1 = appendBlock(Difficulty.of(1000), commonParent, transaction0); - final Block originalFork2 = - appendBlock(Difficulty.ONE, originalFork1.getHeader(), transactionOtherSender); - assertTransactionNotPending(transaction0); - assertTransactionNotPending(transactionOtherSender); - assertThat(transactions.getLocalTransactions()).isEmpty(); - - final Block reorgFork1 = appendBlock(Difficulty.ONE, commonParent); - verifyChainHeadIs(originalFork2); - - transactions.subscribePendingTransactions(listener); - final Block reorgFork2 = appendBlock(Difficulty.of(2000), reorgFork1.getHeader()); - verifyChainHeadIs(reorgFork2); - - assertTransactionPending(transaction0); - assertTransactionPending(transactionOtherSender); - assertThat(transactions.getLocalTransactions()).contains(transaction0); - assertThat(transactions.getLocalTransactions()).doesNotContain(transactionOtherSender); - verify(listener).onTransactionAdded(transaction0); - verify(listener).onTransactionAdded(transactionOtherSender); - verifyNoMoreInteractions(listener); - } - - @Test - public void shouldNotReAddTransactionsThatAreInBothForksWhenReorgHappens() { - givenTransactionIsValid(transaction0); - givenTransactionIsValid(transaction1); - transactions.addRemoteTransaction(transaction0, Optional.empty()); - transactions.addRemoteTransaction(transaction1, Optional.empty()); - final BlockHeader commonParent = getHeaderForCurrentChainHead(); - final Block originalFork1 = appendBlock(Difficulty.of(1000), commonParent, transaction0); - final Block originalFork2 = - appendBlock(Difficulty.ONE, originalFork1.getHeader(), transaction1); - assertTransactionNotPending(transaction0); - assertTransactionNotPending(transaction1); - - final Block reorgFork1 = appendBlock(Difficulty.ONE, commonParent, transaction1); - verifyChainHeadIs(originalFork2); - - final Block reorgFork2 = appendBlock(Difficulty.of(2000), reorgFork1.getHeader()); - verifyChainHeadIs(reorgFork2); - - assertTransactionPending(transaction0); - assertTransactionNotPending(transaction1); - } - - @Test - public void addLocalTransaction_strictReplayProtectionOn_txWithChainId_chainIdIsConfigured() { - protocolSupportsTxReplayProtection(1337, true); - transactionPool = createTransactionPool(b -> b.strictTransactionReplayProtectionEnabled(true)); - final Transaction tx = createTransaction(0); - givenTransactionIsValid(tx); - - addAndAssertLocalTransactionValid(tx); - } - - @Test - public void addRemoteTransactions_strictReplayProtectionOn_txWithChainId_chainIdIsConfigured() { - protocolSupportsTxReplayProtection(1337, true); - transactionPool = createTransactionPool(b -> b.strictTransactionReplayProtectionEnabled(true)); - final Transaction tx = createTransaction(0); - givenTransactionIsValid(tx); - - addAndAssertRemoteTransactionValid(tx); - } - - @Test - public void shouldNotAddRemoteTransactionsWhenGasPriceBelowMinimum() { - final Transaction transaction = createTransaction(1, Wei.ONE); - transactionPool.addRemoteTransactions(singletonList(transaction)); - - assertTransactionNotPending(transaction); - verifyNoMoreInteractions(transactionValidatorFactory); - } - - @Test - public void shouldNotAddRemoteTransactionsThatAreInvalidAccordingToStateDependentChecks() { - givenTransactionIsValid(transaction0); - givenTransactionIsValid(transaction1); - when(transactionValidatorFactory - .get() - .validateForSender(eq(transaction1), eq(null), any(TransactionValidationParams.class))) - .thenReturn(ValidationResult.invalid(NONCE_TOO_LOW)); - transactionPool.addRemoteTransactions(asList(transaction0, transaction1)); - - assertTransactionPending(transaction0); - assertTransactionNotPending(transaction1); - verify(transactionBroadcaster).onTransactionsAdded(singletonList(transaction0)); - verify(transactionValidatorFactory.get()) - .validate(eq(transaction0), any(Optional.class), any()); - verify(transactionValidatorFactory.get()) - .validateForSender(eq(transaction0), eq(null), any(TransactionValidationParams.class)); - verify(transactionValidatorFactory.get()) - .validate(eq(transaction1), any(Optional.class), any()); - verify(transactionValidatorFactory.get()).validateForSender(eq(transaction1), any(), any()); - verifyNoMoreInteractions(transactionValidatorFactory.get()); - } - - @Test - public void shouldAllowSequenceOfTransactionsWithIncreasingNonceFromSameSender() { - final Transaction transaction1 = createTransaction(0); - final Transaction transaction2 = createTransaction(1); - final Transaction transaction3 = createTransaction(2); - - givenTransactionIsValid(transaction1); - givenTransactionIsValid(transaction2); - givenTransactionIsValid(transaction3); - - addAndAssertLocalTransactionValid(transaction1); - addAndAssertLocalTransactionValid(transaction2); - addAndAssertLocalTransactionValid(transaction3); - } - - @Test - public void - shouldAllowSequenceOfTransactionsWithIncreasingNonceFromSameSenderWhenSentInBatchOutOfOrder() { - final Transaction transaction1 = createTransaction(0); - final Transaction transaction2 = createTransaction(1); - final Transaction transaction3 = createTransaction(2); - - givenTransactionIsValid(transaction1); - givenTransactionIsValid(transaction2); - givenTransactionIsValid(transaction3); - - transactionPool.addRemoteTransactions(List.of(transaction3, transaction1, transaction2)); - assertRemoteTransactionValid(transaction3); - assertRemoteTransactionValid(transaction1); - assertRemoteTransactionValid(transaction2); - } - - @Test - public void shouldDiscardRemoteTransactionThatAlreadyExistsBeforeValidation() { - doReturn(true).when(transactions).containsTransaction(transaction0); - transactionPool.addRemoteTransactions(singletonList(transaction0)); - - verify(transactions).containsTransaction(transaction0); - verifyNoInteractions(transactionValidatorFactory); - } - - @Test - public void shouldNotNotifyBatchListenerWhenRemoteTransactionDoesNotReplaceExisting() { - final Transaction transaction1 = createTransaction(0, Wei.of(100)); - final Transaction transaction2 = createTransaction(0, Wei.of(50)); - - givenTransactionIsValid(transaction1); - givenTransactionIsValid(transaction2); - - addAndAssertRemoteTransactionValid(transaction1); - addAndAssertRemoteTransactionInvalid(transaction2); - } - - @Test - public void shouldNotNotifyBatchListenerWhenLocalTransactionDoesNotReplaceExisting() { - final Transaction transaction1 = createTransaction(0, Wei.of(10)); - final Transaction transaction2 = createTransaction(0, Wei.of(9)); - - givenTransactionIsValid(transaction1); - givenTransactionIsValid(transaction2); - - addAndAssertLocalTransactionValid(transaction1); - addAndAssertLocalTransactionInvalid(transaction2, TRANSACTION_REPLACEMENT_UNDERPRICED); - } - - @Test - public void shouldRejectLocalTransactionsWhereGasLimitExceedBlockGasLimit() { - final Transaction transaction1 = - createBaseTransaction(0).gasLimit(blockGasLimit + 1).createTransaction(KEY_PAIR1); - - givenTransactionIsValid(transaction1); - - addAndAssertLocalTransactionInvalid(transaction1, EXCEEDS_BLOCK_GAS_LIMIT); - } - - @Test - public void shouldRejectRemoteTransactionsWhereGasLimitExceedBlockGasLimit() { - final Transaction transaction1 = - createBaseTransaction(0).gasLimit(blockGasLimit + 1).createTransaction(KEY_PAIR1); - - givenTransactionIsValid(transaction1); - - addAndAssertRemoteTransactionInvalid(transaction1); - } - - @Test - public void - shouldAcceptAsPostponedLocalTransactionsEvenIfAnInvalidTransactionWithLowerNonceExists() { - final Transaction invalidTx = - createBaseTransaction(0).gasLimit(blockGasLimit + 1).createTransaction(KEY_PAIR1); - - final Transaction nextTx = createBaseTransaction(1).gasLimit(1).createTransaction(KEY_PAIR1); - - givenTransactionIsValid(invalidTx); - givenTransactionIsValid(nextTx); - - addAndAssertLocalTransactionInvalid(invalidTx, EXCEEDS_BLOCK_GAS_LIMIT); - final ValidationResult result = - transactionPool.addLocalTransaction(nextTx); - - assertThat(result.isValid()).isTrue(); - } - - @Test - public void shouldRejectLocalTransactionsWhenNonceTooFarInFuture() { - final Transaction transaction1 = createTransaction(Integer.MAX_VALUE); - - givenTransactionIsValid(transaction1); - - addAndAssertLocalTransactionInvalid(transaction1, NONCE_TOO_FAR_IN_FUTURE_FOR_SENDER); - } - - @Test - public void shouldNotNotifyBatchListenerIfNoTransactionsAreAdded() { - transactionPool.addRemoteTransactions(emptyList()); - verifyNoInteractions(transactionBroadcaster); - } - - @Test - public void shouldSendPooledTransactionHashesIfPeerSupportsEth65() { - EthPeer peer = mock(EthPeer.class); - when(peer.hasSupportForMessage(EthPV65.NEW_POOLED_TRANSACTION_HASHES)).thenReturn(true); - - givenTransactionIsValid(transaction0); - transactionPool.addLocalTransaction(transaction0); - transactionPool.handleConnect(peer); - syncTaskCapture.getValue().run(); - verify(newPooledTransactionHashesMessageSender).sendTransactionHashesToPeer(peer); - } - - @Test - public void shouldSendFullTransactionsIfPeerDoesNotSupportEth65() { - EthPeer peer = mock(EthPeer.class); - when(peer.hasSupportForMessage(EthPV65.NEW_POOLED_TRANSACTION_HASHES)).thenReturn(false); - - givenTransactionIsValid(transaction0); - transactionPool.addLocalTransaction(transaction0); - transactionPool.handleConnect(peer); - syncTaskCapture.getValue().run(); - verify(transactionsMessageSender).sendTransactionsToPeer(peer); - } - - @Test - public void shouldSendFullTransactionPoolToNewlyConnectedPeer() { - final Transaction transactionLocal = createTransaction(0); - final Transaction transactionRemote = createTransaction(1); - - givenTransactionIsValid(transactionLocal); - givenTransactionIsValid(transactionRemote); - - transactionPool.addLocalTransaction(transactionLocal); - transactionPool.addRemoteTransactions(Collections.singletonList(transactionRemote)); - - RespondingEthPeer peer = EthProtocolManagerTestUtil.createPeer(ethProtocolManager); - - Set transactionsToSendToPeer = - peerTransactionTracker.claimTransactionsToSendToPeer(peer.getEthPeer()); - - assertThat(transactionsToSendToPeer).contains(transactionLocal, transactionRemote); - } - - @Test - public void shouldCallValidatorWithExpectedValidationParameters() { - final ArgumentCaptor txValidationParamCaptor = - ArgumentCaptor.forClass(TransactionValidationParams.class); - - when(transactionValidatorFactory.get().validate(eq(transaction0), any(Optional.class), any())) - .thenReturn(valid()); - when(transactionValidatorFactory - .get() - .validateForSender(any(), any(), txValidationParamCaptor.capture())) - .thenReturn(valid()); - - final TransactionValidationParams expectedValidationParams = - TransactionValidationParams.transactionPool(); - - transactionPool.addLocalTransaction(transaction0); - - assertThat(txValidationParamCaptor.getValue()) - .usingRecursiveComparison() - .isEqualTo(expectedValidationParams); - } - - @Test - public void shouldIgnoreFeeCapIfSetZero() { - final Wei twoEthers = Wei.fromEth(2); - transactionPool = createTransactionPool(b -> b.txFeeCap(Wei.ZERO)); - final Transaction transaction = createTransaction(0, twoEthers.add(Wei.of(1))); - - givenTransactionIsValid(transaction); - - addAndAssertLocalTransactionValid(transaction); - } - - @Test - public void shouldRejectLocalTransactionIfFeeCapExceeded() { - final Wei twoEthers = Wei.fromEth(2); - transactionPool = createTransactionPool(b -> b.txFeeCap(twoEthers)); - - final Transaction transactionLocal = createTransaction(0, twoEthers.add(1)); - - givenTransactionIsValid(transactionLocal); - - addAndAssertLocalTransactionInvalid(transactionLocal, TX_FEECAP_EXCEEDED); - } - - @Test - public void shouldRejectZeroGasPriceTransactionWhenNotMining() { - when(miningParameters.isMiningEnabled()).thenReturn(false); - - final Transaction transaction = createTransaction(0, Wei.ZERO); - - givenTransactionIsValid(transaction); - - addAndAssertLocalTransactionInvalid(transaction, GAS_PRICE_TOO_LOW); - } - - private void assertTransactionPending(final Transaction t) { - assertThat(transactions.getTransactionByHash(t.getHash())).contains(t); - } - - private void assertTransactionNotPending(final Transaction transaction) { - assertThat(transactions.getTransactionByHash(transaction.getHash())).isEmpty(); - } - - private void verifyChainHeadIs(final Block forkBlock2) { - assertThat(blockchain.getChainHeadHash()).isEqualTo(forkBlock2.getHash()); - } - - private void appendBlock(final Transaction... transactionsToAdd) { - appendBlock(Difficulty.ONE, getHeaderForCurrentChainHead(), transactionsToAdd); - } - - private BlockHeader getHeaderForCurrentChainHead() { - return blockchain.getBlockHeader(blockchain.getChainHeadHash()).get(); - } - - protected abstract Block appendBlock( - final Difficulty difficulty, - final BlockHeader parentBlock, - final Transaction... transactionsToAdd); - - protected abstract Transaction createTransaction( - final int nonce, final Optional maybeChainId); - - protected abstract Transaction createTransaction(final int nonce, final Wei maxPrice); - - protected abstract TransactionTestFixture createBaseTransaction(final int nonce); - - private Transaction createTransaction(final int nonce) { - return createTransaction(nonce, Optional.of(BigInteger.ONE)); - } - - private Transaction createTransaction(final int nonce, final KeyPair keyPair) { - return createBaseTransaction(nonce).createTransaction(keyPair); - } - - protected void protocolSupportsTxReplayProtection( - final long chainId, final boolean isSupportedAtCurrentBlock) { - when(protocolSpec.isReplayProtectionSupported()).thenReturn(isSupportedAtCurrentBlock); - when(protocolSchedule.getChainId()).thenReturn(Optional.of(BigInteger.valueOf(chainId))); - } - - protected void givenTransactionIsValid(final Transaction transaction) { - when(transactionValidatorFactory.get().validate(eq(transaction), any(Optional.class), any())) - .thenReturn(valid()); - when(transactionValidatorFactory - .get() - .validateForSender( - eq(transaction), nullable(Account.class), any(TransactionValidationParams.class))) - .thenReturn(valid()); - } - - protected void addAndAssertLocalTransactionInvalid( - final Transaction tx, final TransactionInvalidReason invalidReason) { - final ValidationResult result = - transactionPool.addLocalTransaction(tx); - - assertThat(result.isValid()).isFalse(); - assertThat(result.getInvalidReason()).isEqualTo(invalidReason); - assertTransactionNotPending(tx); - verify(transactionBroadcaster, never()).onTransactionsAdded(singletonList(tx)); - } - - protected void addAndAssertLocalTransactionValid(final Transaction tx) { - final ValidationResult result = - transactionPool.addLocalTransaction(tx); - - assertThat(result.isValid()).isTrue(); - assertTransactionPending(tx); - verify(transactionBroadcaster).onTransactionsAdded(singletonList(tx)); - assertThat(transactions.getLocalTransactions()).contains(tx); - } - - protected void addAndAssertRemoteTransactionValid(final Transaction tx) { - transactionPool.addRemoteTransactions(List.of(tx)); - - assertRemoteTransactionValid(tx); - } - - protected void assertRemoteTransactionValid(final Transaction tx) { - verify(transactionBroadcaster) - .onTransactionsAdded(argThat((List list) -> list.contains(tx))); - assertTransactionPending(tx); - assertThat(transactions.getLocalTransactions()).doesNotContain(tx); - } - - protected void addAndAssertRemoteTransactionInvalid(final Transaction tx) { - transactionPool.addRemoteTransactions(List.of(tx)); - - verify(transactionBroadcaster, never()).onTransactionsAdded(singletonList(tx)); - assertTransactionNotPending(tx); - } -} diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolLegacyTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolLegacyTest.java deleted file mode 100644 index cc40d47aec0..00000000000 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolLegacyTest.java +++ /dev/null @@ -1,263 +0,0 @@ -/* - * Copyright Hyperledger Besu Contributors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on - * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - * - * SPDX-License-Identifier: Apache-2.0 - */ -package org.hyperledger.besu.ethereum.eth.transactions; - -import static java.util.Arrays.asList; -import static java.util.Collections.emptyList; -import static java.util.stream.Collectors.toList; -import static org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason.INVALID_TRANSACTION_FORMAT; -import static org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason.REPLAY_PROTECTED_SIGNATURE_REQUIRED; -import static org.mockito.Mockito.when; - -import org.hyperledger.besu.datatypes.TransactionType; -import org.hyperledger.besu.datatypes.Wei; -import org.hyperledger.besu.ethereum.core.Block; -import org.hyperledger.besu.ethereum.core.BlockBody; -import org.hyperledger.besu.ethereum.core.BlockHeader; -import org.hyperledger.besu.ethereum.core.BlockHeaderTestFixture; -import org.hyperledger.besu.ethereum.core.Difficulty; -import org.hyperledger.besu.ethereum.core.ExecutionContextTestFixture; -import org.hyperledger.besu.ethereum.core.Transaction; -import org.hyperledger.besu.ethereum.core.TransactionReceipt; -import org.hyperledger.besu.ethereum.core.TransactionTestFixture; -import org.hyperledger.besu.ethereum.eth.transactions.sorter.GasPricePendingTransactionsSorter; -import org.hyperledger.besu.ethereum.mainnet.feemarket.FeeMarket; -import org.hyperledger.besu.testutil.TestClock; -import org.hyperledger.besu.util.number.Fraction; - -import java.math.BigInteger; -import java.time.ZoneId; -import java.util.List; -import java.util.Optional; - -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.ValueSource; -import org.mockito.junit.jupiter.MockitoExtension; - -@SuppressWarnings("unchecked") -@ExtendWith(MockitoExtension.class) -public class TransactionPoolLegacyTest extends AbstractTransactionPoolTest { - - @Override - protected PendingTransactions createPendingTransactionsSorter() { - - return new GasPricePendingTransactionsSorter( - ImmutableTransactionPoolConfiguration.builder() - .txPoolMaxSize(MAX_TRANSACTIONS) - .txPoolLimitByAccountPercentage(Fraction.fromFloat(1.0f)) - .build(), - TestClock.system(ZoneId.systemDefault()), - metricsSystem, - protocolContext.getBlockchain()::getChainHeadHeader); - } - - @Override - protected Transaction createTransaction( - final int transactionNumber, final Optional maybeChainId) { - return createBaseTransaction(transactionNumber) - .chainId(maybeChainId) - .createTransaction(KEY_PAIR1); - } - - @Override - protected Transaction createTransaction(final int transactionNumber, final Wei maxPrice) { - return createBaseTransaction(transactionNumber).gasPrice(maxPrice).createTransaction(KEY_PAIR1); - } - - @Override - protected TransactionTestFixture createBaseTransaction(final int transactionNumber) { - return new TransactionTestFixture() - .nonce(transactionNumber) - .gasLimit(blockGasLimit) - .type(TransactionType.FRONTIER); - } - - @Override - protected ExecutionContextTestFixture createExecutionContextTestFixture() { - return ExecutionContextTestFixture.create(); - } - - @Override - protected FeeMarket getFeeMarket() { - return FeeMarket.legacy(); - } - - @Override - protected Block appendBlock( - final Difficulty difficulty, - final BlockHeader parentBlock, - final Transaction... transactionsToAdd) { - final List transactionList = asList(transactionsToAdd); - final Block block = - new Block( - new BlockHeaderTestFixture() - .difficulty(difficulty) - .gasLimit(parentBlock.getGasLimit()) - .parentHash(parentBlock.getHash()) - .number(parentBlock.getNumber() + 1) - .buildHeader(), - new BlockBody(transactionList, emptyList())); - final List transactionReceipts = - transactionList.stream() - .map(transaction -> new TransactionReceipt(1, 1, emptyList(), Optional.empty())) - .collect(toList()); - blockchain.appendBlock(block, transactionReceipts); - return block; - } - - @ParameterizedTest - @ValueSource(booleans = {true, false}) - public void - addLocalTransaction_strictReplayProtectionOn_txWithoutChainId_chainIdIsConfigured_protectionNotSupportedAtCurrentBlock( - final boolean disableLocalTxs) { - protocolSupportsTxReplayProtection(1337, false); - transactionPool = - createTransactionPool( - b -> - b.strictTransactionReplayProtectionEnabled(true) - .disableLocalTransactions(disableLocalTxs)); - final Transaction tx = createTransactionWithoutChainId(1); - givenTransactionIsValid(tx); - - assertTransactionViaApiValid(tx, disableLocalTxs); - } - - @Test - public void - addRemoteTransactions_strictReplayProtectionOff_txWithoutChainId_chainIdIsConfigured() { - protocolSupportsTxReplayProtection(1337, true); - transactionPool = createTransactionPool(b -> b.strictTransactionReplayProtectionEnabled(false)); - final Transaction tx = createTransactionWithoutChainId(1); - givenTransactionIsValid(tx); - - assertRemoteTransactionValid(tx); - } - - @ParameterizedTest - @ValueSource(booleans = {true, false}) - public void addLocalTransaction_strictReplayProtectionOff_txWithoutChainId_chainIdIsConfigured( - final boolean disableLocalTxs) { - protocolSupportsTxReplayProtection(1337, true); - transactionPool = - createTransactionPool( - b -> - b.strictTransactionReplayProtectionEnabled(false) - .disableLocalTransactions(disableLocalTxs)); - final Transaction tx = createTransactionWithoutChainId(1); - givenTransactionIsValid(tx); - - assertTransactionViaApiValid(tx, disableLocalTxs); - } - - @Test - public void addLocalTransaction_strictReplayProtectionOn_txWithoutChainId_chainIdIsConfigured() { - protocolSupportsTxReplayProtection(1337, true); - transactionPool = createTransactionPool(b -> b.strictTransactionReplayProtectionEnabled(true)); - final Transaction tx = createTransactionWithoutChainId(1); - givenTransactionIsValid(tx); - - assertTransactionViaApiInvalid(tx, REPLAY_PROTECTED_SIGNATURE_REQUIRED); - } - - @Test - public void - addRemoteTransactions_strictReplayProtectionOn_txWithoutChainId_chainIdIsConfigured() { - protocolSupportsTxReplayProtection(1337, true); - transactionPool = createTransactionPool(b -> b.strictTransactionReplayProtectionEnabled(true)); - final Transaction tx = createTransactionWithoutChainId(1); - givenTransactionIsValid(tx); - - assertRemoteTransactionValid(tx); - } - - @ParameterizedTest - @ValueSource(booleans = {true, false}) - public void addLocalTransaction_strictReplayProtectionOn_txWithoutChainId_chainIdIsNotConfigured( - final boolean disableLocalTxs) { - protocolDoesNotSupportTxReplayProtection(); - transactionPool = - createTransactionPool( - b -> - b.strictTransactionReplayProtectionEnabled(true) - .disableLocalTransactions(disableLocalTxs)); - final Transaction tx = createTransactionWithoutChainId(1); - givenTransactionIsValid(tx); - - assertTransactionViaApiValid(tx, disableLocalTxs); - } - - @Test - public void - addRemoteTransactions_strictReplayProtectionOn_txWithoutChainId_chainIdIsNotConfigured() { - protocolDoesNotSupportTxReplayProtection(); - transactionPool = createTransactionPool(b -> b.strictTransactionReplayProtectionEnabled(true)); - final Transaction tx = createTransactionWithoutChainId(1); - givenTransactionIsValid(tx); - - assertRemoteTransactionValid(tx); - } - - @Test - public void shouldIgnoreEIP1559TransactionWhenNotAllowed() { - final Transaction transaction = - createBaseTransaction(1) - .type(TransactionType.EIP1559) - .maxFeePerGas(Optional.of(Wei.of(100L))) - .maxPriorityFeePerGas(Optional.of(Wei.of(50L))) - .gasLimit(10) - .gasPrice(null) - .createTransaction(KEY_PAIR1); - - givenTransactionIsValid(transaction); - - assertTransactionViaApiInvalid(transaction, INVALID_TRANSACTION_FORMAT); - } - - @Test - public void shouldAcceptZeroGasPriceFrontierLocalTransactionsWhenMining() { - transactionPool = createTransactionPool(b -> b.disableLocalTransactions(false)); - when(miningParameters.isMiningEnabled()).thenReturn(true); - - final Transaction transaction = createTransaction(0, Wei.ZERO); - - givenTransactionIsValid(transaction); - - assertTransactionViaApiValid(transaction, false); - } - - @ParameterizedTest - @ValueSource(booleans = {true, false}) - public void shouldAcceptZeroGasPriceTransactionWhenMinGasPriceIsZero( - final boolean disableLocalTxs) { - transactionPool = createTransactionPool(b -> b.disableLocalTransactions(disableLocalTxs)); - when(miningParameters.getMinTransactionGasPrice()).thenReturn(Wei.ZERO); - - final Transaction transaction = createTransaction(0, Wei.ZERO); - - givenTransactionIsValid(transaction); - - assertTransactionViaApiValid(transaction, disableLocalTxs); - } - - private Transaction createTransactionWithoutChainId(final int transactionNumber) { - return createTransaction(transactionNumber, Optional.empty()); - } - - private void protocolDoesNotSupportTxReplayProtection() { - when(protocolSchedule.getChainId()).thenReturn(Optional.empty()); - } -} diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolLondonTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolLondonTest.java deleted file mode 100644 index 2f151cac80d..00000000000 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolLondonTest.java +++ /dev/null @@ -1,318 +0,0 @@ -/* - * Copyright Hyperledger Besu Contributors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on - * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - * - * SPDX-License-Identifier: Apache-2.0 - */ -package org.hyperledger.besu.ethereum.eth.transactions; - -import static java.util.Arrays.asList; -import static java.util.Collections.emptyList; -import static java.util.stream.Collectors.toList; -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatCode; -import static org.mockito.Mockito.when; - -import org.hyperledger.besu.config.StubGenesisConfigOptions; -import org.hyperledger.besu.datatypes.TransactionType; -import org.hyperledger.besu.datatypes.Wei; -import org.hyperledger.besu.ethereum.core.Block; -import org.hyperledger.besu.ethereum.core.BlockBody; -import org.hyperledger.besu.ethereum.core.BlockHeader; -import org.hyperledger.besu.ethereum.core.BlockHeaderBuilder; -import org.hyperledger.besu.ethereum.core.BlockHeaderTestFixture; -import org.hyperledger.besu.ethereum.core.Difficulty; -import org.hyperledger.besu.ethereum.core.ExecutionContextTestFixture; -import org.hyperledger.besu.ethereum.core.PrivacyParameters; -import org.hyperledger.besu.ethereum.core.Transaction; -import org.hyperledger.besu.ethereum.core.TransactionReceipt; -import org.hyperledger.besu.ethereum.core.TransactionTestFixture; -import org.hyperledger.besu.ethereum.eth.transactions.sorter.BaseFeePendingTransactionsSorter; -import org.hyperledger.besu.ethereum.mainnet.MainnetBlockHeaderFunctions; -import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule; -import org.hyperledger.besu.ethereum.mainnet.ProtocolScheduleBuilder; -import org.hyperledger.besu.ethereum.mainnet.ProtocolSpecAdapters; -import org.hyperledger.besu.ethereum.mainnet.feemarket.FeeMarket; -import org.hyperledger.besu.evm.internal.EvmConfiguration; -import org.hyperledger.besu.testutil.TestClock; -import org.hyperledger.besu.util.number.Fraction; - -import java.math.BigInteger; -import java.time.ZoneId; -import java.util.List; -import java.util.Optional; -import java.util.function.Function; - -import org.junit.jupiter.api.Test; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.ValueSource; - -@SuppressWarnings("unchecked") -public class TransactionPoolLondonTest extends AbstractTransactionPoolTest { - - private static final Wei BASE_FEE_FLOOR = Wei.of(7L); - - @Override - protected PendingTransactions createPendingTransactionsSorter() { - - return new BaseFeePendingTransactionsSorter( - ImmutableTransactionPoolConfiguration.builder() - .txPoolMaxSize(MAX_TRANSACTIONS) - .txPoolLimitByAccountPercentage(Fraction.fromFloat(1.0f)) - .build(), - TestClock.system(ZoneId.systemDefault()), - metricsSystem, - protocolContext.getBlockchain()::getChainHeadHeader); - } - - @Override - protected Transaction createTransaction( - final int transactionNumber, final Optional maybeChainId) { - return createBaseTransaction(transactionNumber) - .chainId(maybeChainId) - .createTransaction(KEY_PAIR1); - } - - @Override - protected Transaction createTransaction(final int transactionNumber, final Wei maxPrice) { - return createBaseTransaction(transactionNumber) - .maxFeePerGas(Optional.of(maxPrice)) - .maxPriorityFeePerGas(Optional.of(maxPrice.divide(5L))) - .createTransaction(KEY_PAIR1); - } - - @Override - protected TransactionTestFixture createBaseTransaction(final int transactionNumber) { - return new TransactionTestFixture() - .nonce(transactionNumber) - .gasLimit(blockGasLimit) - .gasPrice(null) - .maxFeePerGas(Optional.of(Wei.of(5000L))) - .maxPriorityFeePerGas(Optional.of(Wei.of(1000L))) - .type(TransactionType.EIP1559); - } - - @Override - protected ExecutionContextTestFixture createExecutionContextTestFixture() { - final ProtocolSchedule protocolSchedule = - new ProtocolScheduleBuilder( - new StubGenesisConfigOptions().londonBlock(0L).baseFeePerGas(10L), - BigInteger.valueOf(1), - ProtocolSpecAdapters.create(0, Function.identity()), - new PrivacyParameters(), - false, - EvmConfiguration.DEFAULT) - .createProtocolSchedule(); - final ExecutionContextTestFixture executionContextTestFixture = - ExecutionContextTestFixture.builder().protocolSchedule(protocolSchedule).build(); - - final Block block = - new Block( - new BlockHeaderTestFixture() - .gasLimit( - executionContextTestFixture - .getBlockchain() - .getChainHeadBlock() - .getHeader() - .getGasLimit()) - .difficulty(Difficulty.ONE) - .baseFeePerGas(Wei.of(10L)) - .parentHash(executionContextTestFixture.getBlockchain().getChainHeadHash()) - .number(executionContextTestFixture.getBlockchain().getChainHeadBlockNumber() + 1) - .buildHeader(), - new BlockBody(List.of(), List.of())); - executionContextTestFixture.getBlockchain().appendBlock(block, List.of()); - - return executionContextTestFixture; - } - - @Override - protected FeeMarket getFeeMarket() { - return FeeMarket.london(0L, Optional.of(BASE_FEE_FLOOR)); - } - - @Override - protected Block appendBlock( - final Difficulty difficulty, - final BlockHeader parentBlock, - final Transaction... transactionsToAdd) { - final List transactionList = asList(transactionsToAdd); - final Block block = - new Block( - new BlockHeaderTestFixture() - .baseFeePerGas(Wei.of(10L)) - .gasLimit(parentBlock.getGasLimit()) - .difficulty(difficulty) - .parentHash(parentBlock.getHash()) - .number(parentBlock.getNumber() + 1) - .buildHeader(), - new BlockBody(transactionList, emptyList())); - final List transactionReceipts = - transactionList.stream() - .map(transaction -> new TransactionReceipt(1, 1, emptyList(), Optional.empty())) - .collect(toList()); - blockchain.appendBlock(block, transactionReceipts); - return block; - } - - @ParameterizedTest - @ValueSource(booleans = {true, false}) - public void shouldAcceptZeroGasPriceFrontierTxsWhenMinGasPriceIsZeroAndLondonWithZeroBaseFee( - final boolean disableLocalTxs) { - transactionPool = createTransactionPool(b -> b.disableLocalTransactions(disableLocalTxs)); - when(miningParameters.getMinTransactionGasPrice()).thenReturn(Wei.ZERO); - when(protocolSpec.getFeeMarket()).thenReturn(FeeMarket.london(0, Optional.of(Wei.ZERO))); - whenBlockBaseFeeIs(Wei.ZERO); - - final Transaction frontierTransaction = createFrontierTransaction(0, Wei.ZERO); - - givenTransactionIsValid(frontierTransaction); - assertTransactionViaApiValid(frontierTransaction, disableLocalTxs); - } - - @ParameterizedTest - @ValueSource(booleans = {true, false}) - public void shouldAcceptZeroGasPrice1559TxsWhenMinGasPriceIsZeroAndLondonWithZeroBaseFee( - final boolean disableLocalTxs) { - transactionPool = createTransactionPool(b -> b.disableLocalTransactions(disableLocalTxs)); - when(miningParameters.getMinTransactionGasPrice()).thenReturn(Wei.ZERO); - when(protocolSpec.getFeeMarket()).thenReturn(FeeMarket.london(0, Optional.of(Wei.ZERO))); - whenBlockBaseFeeIs(Wei.ZERO); - - final Transaction transaction = createTransaction(0, Wei.ZERO); - - givenTransactionIsValid(transaction); - assertTransactionViaApiValid(transaction, disableLocalTxs); - } - - @Test - public void shouldAcceptBaseFeeFloorGasPriceFrontierLocalTransactionsWhenMining() { - transactionPool = createTransactionPool(b -> b.disableLocalTransactions(false)); - final Transaction frontierTransaction = createFrontierTransaction(0, BASE_FEE_FLOOR); - - givenTransactionIsValid(frontierTransaction); - - assertTransactionViaApiValid(frontierTransaction, false); - } - - @Test - public void shouldRejectRemote1559TxsWhenMaxFeePerGasBelowMinGasPrice() { - final Wei genesisBaseFee = Wei.of(100L); - final Wei minGasPrice = Wei.of(200L); - final Wei lastBlockBaseFee = minGasPrice.add(50L); - final Wei txMaxFeePerGas = minGasPrice.subtract(1L); - - assertThat( - add1559TxAndGetPendingTxsCount( - genesisBaseFee, minGasPrice, lastBlockBaseFee, txMaxFeePerGas, false)) - .isEqualTo(0); - } - - @Test - public void shouldAcceptRemote1559TxsWhenMaxFeePerGasIsAtLeastEqualToMinGasPrice() { - final Wei genesisBaseFee = Wei.of(100L); - final Wei minGasPrice = Wei.of(200L); - final Wei lastBlockBaseFee = minGasPrice.add(50L); - final Wei txMaxFeePerGas = minGasPrice; - - assertThat( - add1559TxAndGetPendingTxsCount( - genesisBaseFee, minGasPrice, lastBlockBaseFee, txMaxFeePerGas, false)) - .isEqualTo(1); - } - - @Test - public void shouldRejectLocal1559TxsWhenMaxFeePerGasBelowMinGasPrice() { - final Wei genesisBaseFee = Wei.of(100L); - final Wei minGasPrice = Wei.of(200L); - final Wei lastBlockBaseFee = minGasPrice.add(50L); - final Wei txMaxFeePerGas = minGasPrice.subtract(1L); - - assertThat( - add1559TxAndGetPendingTxsCount( - genesisBaseFee, minGasPrice, lastBlockBaseFee, txMaxFeePerGas, true)) - .isEqualTo(0); - } - - @Test - public void shouldAcceptLocal1559TxsWhenMaxFeePerGasIsAtLeastEqualToMinMinGasPrice() { - final Wei genesisBaseFee = Wei.of(100L); - final Wei minGasPrice = Wei.of(200L); - final Wei lastBlockBaseFee = minGasPrice.add(50L); - final Wei txMaxFeePerGas = minGasPrice; - - assertThat( - add1559TxAndGetPendingTxsCount( - genesisBaseFee, minGasPrice, lastBlockBaseFee, txMaxFeePerGas, true)) - .isEqualTo(1); - } - - @Test - public void addRemoteTransactionsShouldAllowDuplicates() { - final Transaction transaction1 = createTransaction(1, Wei.of(7L)); - final Transaction transaction2 = createTransaction(2, Wei.of(7L)); - final Transaction transaction3 = createTransaction(2, Wei.of(7L)); - final Transaction transaction4 = createTransaction(3, Wei.of(7L)); - - givenTransactionIsValid(transaction1); - givenTransactionIsValid(transaction2); - givenTransactionIsValid(transaction3); - givenTransactionIsValid(transaction4); - - assertThatCode( - () -> - transactionPool.addRemoteTransactions( - List.of(transaction1, transaction2, transaction3, transaction4))) - .doesNotThrowAnyException(); - } - - private int add1559TxAndGetPendingTxsCount( - final Wei genesisBaseFee, - final Wei minGasPrice, - final Wei lastBlockBaseFee, - final Wei txMaxFeePerGas, - final boolean isLocal) { - when(miningParameters.getMinTransactionGasPrice()).thenReturn(minGasPrice); - when(protocolSpec.getFeeMarket()).thenReturn(FeeMarket.london(0, Optional.of(genesisBaseFee))); - whenBlockBaseFeeIs(lastBlockBaseFee); - - final Transaction transaction = createTransaction(0, txMaxFeePerGas); - - givenTransactionIsValid(transaction); - - if (isLocal) { - transactionPool.addLocalTransaction(transaction); - } else { - transactionPool.addRemoteTransactions(List.of(transaction)); - } - - return transactions.size(); - } - - private void whenBlockBaseFeeIs(final Wei baseFee) { - final BlockHeader header = - BlockHeaderBuilder.fromHeader(blockchain.getChainHeadHeader()) - .baseFee(baseFee) - .blockHeaderFunctions(new MainnetBlockHeaderFunctions()) - .parentHash(blockchain.getChainHeadHash()) - .buildBlockHeader(); - blockchain.appendBlock(new Block(header, BlockBody.empty()), emptyList()); - } - - private Transaction createFrontierTransaction(final int transactionNumber, final Wei gasPrice) { - return new TransactionTestFixture() - .nonce(transactionNumber) - .gasPrice(gasPrice) - .gasLimit(blockGasLimit) - .type(TransactionType.FRONTIER) - .createTransaction(KEY_PAIR1); - } -} diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractLayeredTransactionPoolTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractLayeredTransactionPoolTest.java new file mode 100644 index 00000000000..6245fe83ed8 --- /dev/null +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractLayeredTransactionPoolTest.java @@ -0,0 +1,76 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.ethereum.eth.transactions.layered; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason.EXCEEDS_BLOCK_GAS_LIMIT; + +import org.hyperledger.besu.ethereum.core.Transaction; +import org.hyperledger.besu.ethereum.eth.transactions.AbstractTransactionPoolTest; +import org.hyperledger.besu.ethereum.eth.transactions.PendingTransaction; +import org.hyperledger.besu.ethereum.eth.transactions.PendingTransactions; +import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolConfiguration; +import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolMetrics; +import org.hyperledger.besu.ethereum.mainnet.ValidationResult; +import org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason; + +import java.util.function.BiFunction; + +import org.junit.jupiter.api.Test; + +public abstract class AbstractLayeredTransactionPoolTest extends AbstractTransactionPoolTest { + @Override + protected PendingTransactions createPendingTransactions( + final TransactionPoolConfiguration poolConfig, + final BiFunction + transactionReplacementTester) { + + final var txPoolMetrics = new TransactionPoolMetrics(metricsSystem); + final TransactionsLayer sparseLayer = + new SparseTransactions( + poolConfig, new EndLayer(txPoolMetrics), txPoolMetrics, transactionReplacementTester); + final TransactionsLayer readyLayer = + new ReadyTransactions(poolConfig, sparseLayer, txPoolMetrics, transactionReplacementTester); + return new LayeredPendingTransactions( + poolConfig, + createPrioritizedTransactions( + poolConfig, readyLayer, txPoolMetrics, transactionReplacementTester)); + } + + protected abstract AbstractPrioritizedTransactions createPrioritizedTransactions( + final TransactionPoolConfiguration poolConfig, + final TransactionsLayer nextLayer, + final TransactionPoolMetrics txPoolMetrics, + final BiFunction + transactionReplacementTester); + + @Test + public void + shouldAcceptAsPostponedLocalTransactionsEvenIfAnInvalidTransactionWithLowerNonceExists() { + final Transaction invalidTx = + createBaseTransaction(0).gasLimit(blockGasLimit + 1).createTransaction(KEY_PAIR1); + + final Transaction nextTx = createBaseTransaction(1).gasLimit(1).createTransaction(KEY_PAIR1); + + givenTransactionIsValid(invalidTx); + givenTransactionIsValid(nextTx); + + addAndAssertTransactionViaApiInvalid(invalidTx, EXCEEDS_BLOCK_GAS_LIMIT); + final ValidationResult result = + transactionPool.addTransactionViaApi(nextTx); + + assertThat(result.isValid()).isTrue(); + } +} diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsLegacyTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsLegacyTest.java deleted file mode 100644 index 57cb9e1452f..00000000000 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsLegacyTest.java +++ /dev/null @@ -1,241 +0,0 @@ -/* - * Copyright Hyperledger Besu Contributors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on - * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - * - * SPDX-License-Identifier: Apache-2.0 - */ -package org.hyperledger.besu.ethereum.eth.transactions.layered; - -import static java.util.Arrays.asList; -import static java.util.Collections.emptyList; -import static java.util.stream.Collectors.toList; -import static org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason.INVALID_TRANSACTION_FORMAT; -import static org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason.REPLAY_PROTECTED_SIGNATURE_REQUIRED; -import static org.mockito.Mockito.when; - -import org.hyperledger.besu.datatypes.TransactionType; -import org.hyperledger.besu.datatypes.Wei; -import org.hyperledger.besu.ethereum.core.Block; -import org.hyperledger.besu.ethereum.core.BlockBody; -import org.hyperledger.besu.ethereum.core.BlockHeader; -import org.hyperledger.besu.ethereum.core.BlockHeaderTestFixture; -import org.hyperledger.besu.ethereum.core.Difficulty; -import org.hyperledger.besu.ethereum.core.ExecutionContextTestFixture; -import org.hyperledger.besu.ethereum.core.Transaction; -import org.hyperledger.besu.ethereum.core.TransactionReceipt; -import org.hyperledger.besu.ethereum.core.TransactionTestFixture; -import org.hyperledger.besu.ethereum.eth.transactions.AbstractTransactionsLayeredPendingTransactionsTest; -import org.hyperledger.besu.ethereum.eth.transactions.PendingTransaction; -import org.hyperledger.besu.ethereum.eth.transactions.PendingTransactions; -import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolConfiguration; -import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolMetrics; -import org.hyperledger.besu.ethereum.mainnet.feemarket.FeeMarket; - -import java.math.BigInteger; -import java.util.List; -import java.util.Optional; -import java.util.function.BiFunction; - -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; -import org.mockito.junit.jupiter.MockitoExtension; - -@SuppressWarnings("unchecked") -@ExtendWith(MockitoExtension.class) -public class LayeredPendingTransactionsLegacyTest - extends AbstractTransactionsLayeredPendingTransactionsTest { - - @Override - protected PendingTransactions createPendingTransactionsSorter( - final TransactionPoolConfiguration poolConfig, - final BiFunction - transactionReplacementTester) { - - final var txPoolMetrics = new TransactionPoolMetrics(metricsSystem); - return new LayeredPendingTransactions( - poolConfig, - new GasPricePrioritizedTransactions( - poolConfig, new EndLayer(txPoolMetrics), txPoolMetrics, transactionReplacementTester)); - } - - @Override - protected Transaction createTransaction( - final int nonce, final Optional maybeChainId) { - return createBaseTransaction(nonce).chainId(maybeChainId).createTransaction(KEY_PAIR1); - } - - @Override - protected Transaction createTransaction(final int nonce, final Wei maxPrice) { - return createBaseTransaction(nonce).gasPrice(maxPrice).createTransaction(KEY_PAIR1); - } - - @Override - protected TransactionTestFixture createBaseTransaction(final int nonce) { - return new TransactionTestFixture() - .nonce(nonce) - .gasLimit(blockGasLimit) - .type(TransactionType.FRONTIER); - } - - @Override - protected ExecutionContextTestFixture createExecutionContextTestFixture() { - return ExecutionContextTestFixture.create(); - } - - @Override - protected FeeMarket getFeeMarket() { - return FeeMarket.legacy(); - } - - @Override - protected Block appendBlock( - final Difficulty difficulty, - final BlockHeader parentBlock, - final Transaction... transactionsToAdd) { - final List transactionList = asList(transactionsToAdd); - final Block block = - new Block( - new BlockHeaderTestFixture() - .difficulty(difficulty) - .gasLimit(parentBlock.getGasLimit()) - .parentHash(parentBlock.getHash()) - .number(parentBlock.getNumber() + 1) - .buildHeader(), - new BlockBody(transactionList, emptyList())); - final List transactionReceipts = - transactionList.stream() - .map(transaction -> new TransactionReceipt(1, 1, emptyList(), Optional.empty())) - .collect(toList()); - blockchain.appendBlock(block, transactionReceipts); - return block; - } - - @Test - public void - addLocalTransaction_strictReplayProtectionOn_txWithoutChainId_chainIdIsConfigured_protectionNotSupportedAtCurrentBlock() { - protocolSupportsTxReplayProtection(1337, false); - transactionPool = createTransactionPool(b -> b.strictTransactionReplayProtectionEnabled(true)); - final Transaction tx = createTransactionWithoutChainId(0); - givenTransactionIsValid(tx); - - addAndAssertLocalTransactionValid(tx); - } - - @Test - public void - addRemoteTransactions_strictReplayProtectionOff_txWithoutChainId_chainIdIsConfigured() { - protocolSupportsTxReplayProtection(1337, true); - transactionPool = createTransactionPool(b -> b.strictTransactionReplayProtectionEnabled(false)); - final Transaction tx = createTransactionWithoutChainId(0); - givenTransactionIsValid(tx); - - addAndAssertRemoteTransactionValid(tx); - } - - @Test - public void addLocalTransaction_strictReplayProtectionOff_txWithoutChainId_chainIdIsConfigured() { - protocolSupportsTxReplayProtection(1337, true); - transactionPool = createTransactionPool(b -> b.strictTransactionReplayProtectionEnabled(false)); - final Transaction tx = createTransactionWithoutChainId(0); - givenTransactionIsValid(tx); - - addAndAssertLocalTransactionValid(tx); - } - - @Test - public void addLocalTransaction_strictReplayProtectionOn_txWithoutChainId_chainIdIsConfigured() { - protocolSupportsTxReplayProtection(1337, true); - transactionPool = createTransactionPool(b -> b.strictTransactionReplayProtectionEnabled(true)); - final Transaction tx = createTransactionWithoutChainId(0); - givenTransactionIsValid(tx); - - addAndAssertLocalTransactionInvalid(tx, REPLAY_PROTECTED_SIGNATURE_REQUIRED); - } - - @Test - public void - addRemoteTransactions_strictReplayProtectionOn_txWithoutChainId_chainIdIsConfigured() { - protocolSupportsTxReplayProtection(1337, true); - transactionPool = createTransactionPool(b -> b.strictTransactionReplayProtectionEnabled(true)); - final Transaction tx = createTransactionWithoutChainId(0); - givenTransactionIsValid(tx); - - addAndAssertRemoteTransactionValid(tx); - } - - @Test - public void - addLocalTransaction_strictReplayProtectionOn_txWithoutChainId_chainIdIsNotConfigured() { - protocolDoesNotSupportTxReplayProtection(); - transactionPool = createTransactionPool(b -> b.strictTransactionReplayProtectionEnabled(true)); - final Transaction tx = createTransactionWithoutChainId(0); - givenTransactionIsValid(tx); - - addAndAssertLocalTransactionValid(tx); - } - - @Test - public void - addRemoteTransactions_strictReplayProtectionOn_txWithoutChainId_chainIdIsNotConfigured() { - protocolDoesNotSupportTxReplayProtection(); - transactionPool = createTransactionPool(b -> b.strictTransactionReplayProtectionEnabled(true)); - final Transaction tx = createTransactionWithoutChainId(0); - givenTransactionIsValid(tx); - - addAndAssertRemoteTransactionValid(tx); - } - - @Test - public void shouldIgnoreEIP1559TransactionWhenNotAllowed() { - final Transaction transaction = - createBaseTransaction(1) - .type(TransactionType.EIP1559) - .maxFeePerGas(Optional.of(Wei.of(100L))) - .maxPriorityFeePerGas(Optional.of(Wei.of(50L))) - .gasLimit(10) - .gasPrice(null) - .createTransaction(KEY_PAIR1); - - givenTransactionIsValid(transaction); - - addAndAssertLocalTransactionInvalid(transaction, INVALID_TRANSACTION_FORMAT); - } - - @Test - public void shouldAcceptZeroGasPriceFrontierTransactionsWhenMining() { - when(miningParameters.isMiningEnabled()).thenReturn(true); - - final Transaction transaction = createTransaction(0, Wei.ZERO); - - givenTransactionIsValid(transaction); - - addAndAssertLocalTransactionValid(transaction); - } - - @Test - public void shouldAcceptZeroGasPriceTransactionWhenMinGasPriceIsZero() { - when(miningParameters.getMinTransactionGasPrice()).thenReturn(Wei.ZERO); - - final Transaction transaction = createTransaction(0, Wei.ZERO); - - givenTransactionIsValid(transaction); - - addAndAssertLocalTransactionValid(transaction); - } - - private Transaction createTransactionWithoutChainId(final int nonce) { - return createTransaction(nonce, Optional.empty()); - } - - private void protocolDoesNotSupportTxReplayProtection() { - when(protocolSchedule.getChainId()).thenReturn(Optional.empty()); - } -} diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsLondonTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsLondonTest.java deleted file mode 100644 index 068988464ab..00000000000 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsLondonTest.java +++ /dev/null @@ -1,294 +0,0 @@ -/* - * Copyright Hyperledger Besu Contributors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on - * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - * - * SPDX-License-Identifier: Apache-2.0 - */ -package org.hyperledger.besu.ethereum.eth.transactions.layered; - -import static java.util.Arrays.asList; -import static java.util.Collections.emptyList; -import static java.util.stream.Collectors.toList; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.when; - -import org.hyperledger.besu.config.StubGenesisConfigOptions; -import org.hyperledger.besu.datatypes.TransactionType; -import org.hyperledger.besu.datatypes.Wei; -import org.hyperledger.besu.ethereum.core.Block; -import org.hyperledger.besu.ethereum.core.BlockBody; -import org.hyperledger.besu.ethereum.core.BlockHeader; -import org.hyperledger.besu.ethereum.core.BlockHeaderBuilder; -import org.hyperledger.besu.ethereum.core.BlockHeaderTestFixture; -import org.hyperledger.besu.ethereum.core.Difficulty; -import org.hyperledger.besu.ethereum.core.ExecutionContextTestFixture; -import org.hyperledger.besu.ethereum.core.PrivacyParameters; -import org.hyperledger.besu.ethereum.core.Transaction; -import org.hyperledger.besu.ethereum.core.TransactionReceipt; -import org.hyperledger.besu.ethereum.core.TransactionTestFixture; -import org.hyperledger.besu.ethereum.eth.transactions.AbstractTransactionsLayeredPendingTransactionsTest; -import org.hyperledger.besu.ethereum.eth.transactions.PendingTransaction; -import org.hyperledger.besu.ethereum.eth.transactions.PendingTransactions; -import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolConfiguration; -import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolMetrics; -import org.hyperledger.besu.ethereum.mainnet.MainnetBlockHeaderFunctions; -import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule; -import org.hyperledger.besu.ethereum.mainnet.ProtocolScheduleBuilder; -import org.hyperledger.besu.ethereum.mainnet.ProtocolSpecAdapters; -import org.hyperledger.besu.ethereum.mainnet.feemarket.FeeMarket; -import org.hyperledger.besu.evm.internal.EvmConfiguration; - -import java.math.BigInteger; -import java.util.List; -import java.util.Optional; -import java.util.function.BiFunction; -import java.util.function.Function; - -import org.junit.jupiter.api.Test; - -public class LayeredPendingTransactionsLondonTest - extends AbstractTransactionsLayeredPendingTransactionsTest { - - private static final Wei BASE_FEE_FLOOR = Wei.of(7L); - - @Override - protected PendingTransactions createPendingTransactionsSorter( - final TransactionPoolConfiguration poolConfig, - final BiFunction - transactionReplacementTester) { - - final var txPoolMetrics = new TransactionPoolMetrics(metricsSystem); - return new LayeredPendingTransactions( - poolConfig, - new BaseFeePrioritizedTransactions( - poolConfig, - protocolContext.getBlockchain()::getChainHeadHeader, - new EndLayer(txPoolMetrics), - txPoolMetrics, - transactionReplacementTester, - FeeMarket.london(0L))); - } - - @Override - protected Transaction createTransaction( - final int nonce, final Optional maybeChainId) { - return createBaseTransaction(nonce).chainId(maybeChainId).createTransaction(KEY_PAIR1); - } - - @Override - protected Transaction createTransaction(final int nonce, final Wei maxPrice) { - return createBaseTransaction(nonce) - .maxFeePerGas(Optional.of(maxPrice)) - .maxPriorityFeePerGas(Optional.of(maxPrice.divide(5L))) - .createTransaction(KEY_PAIR1); - } - - @Override - protected TransactionTestFixture createBaseTransaction(final int nonce) { - return new TransactionTestFixture() - .nonce(nonce) - .gasLimit(blockGasLimit) - .gasPrice(null) - .maxFeePerGas(Optional.of(Wei.of(5000L))) - .maxPriorityFeePerGas(Optional.of(Wei.of(1000L))) - .type(TransactionType.EIP1559); - } - - @Override - protected ExecutionContextTestFixture createExecutionContextTestFixture() { - final ProtocolSchedule protocolSchedule = - new ProtocolScheduleBuilder( - new StubGenesisConfigOptions().londonBlock(0L).baseFeePerGas(10L), - BigInteger.valueOf(1), - ProtocolSpecAdapters.create(0, Function.identity()), - new PrivacyParameters(), - false, - EvmConfiguration.DEFAULT) - .createProtocolSchedule(); - final ExecutionContextTestFixture executionContextTestFixture = - ExecutionContextTestFixture.builder().protocolSchedule(protocolSchedule).build(); - - final Block block = - new Block( - new BlockHeaderTestFixture() - .gasLimit( - executionContextTestFixture - .getBlockchain() - .getChainHeadBlock() - .getHeader() - .getGasLimit()) - .difficulty(Difficulty.ONE) - .baseFeePerGas(Wei.of(10L)) - .parentHash(executionContextTestFixture.getBlockchain().getChainHeadHash()) - .number(executionContextTestFixture.getBlockchain().getChainHeadBlockNumber() + 1) - .buildHeader(), - new BlockBody(List.of(), List.of())); - executionContextTestFixture.getBlockchain().appendBlock(block, List.of()); - - return executionContextTestFixture; - } - - @Override - protected FeeMarket getFeeMarket() { - return FeeMarket.london(0L, Optional.of(BASE_FEE_FLOOR)); - } - - @Override - protected Block appendBlock( - final Difficulty difficulty, - final BlockHeader parentBlock, - final Transaction... transactionsToAdd) { - final List transactionList = asList(transactionsToAdd); - final Block block = - new Block( - new BlockHeaderTestFixture() - .baseFeePerGas(Wei.of(10L)) - .gasLimit(parentBlock.getGasLimit()) - .difficulty(difficulty) - .parentHash(parentBlock.getHash()) - .number(parentBlock.getNumber() + 1) - .buildHeader(), - new BlockBody(transactionList, emptyList())); - final List transactionReceipts = - transactionList.stream() - .map(transaction -> new TransactionReceipt(1, 1, emptyList(), Optional.empty())) - .collect(toList()); - blockchain.appendBlock(block, transactionReceipts); - return block; - } - - @Test - public void shouldAcceptZeroGasPriceFrontierTxsWhenMinGasPriceIsZeroAndLondonWithZeroBaseFee() { - when(miningParameters.getMinTransactionGasPrice()).thenReturn(Wei.ZERO); - when(protocolSpec.getFeeMarket()).thenReturn(FeeMarket.london(0, Optional.of(Wei.ZERO))); - whenBlockBaseFeeIs(Wei.ZERO); - - final Transaction frontierTransaction = createFrontierTransaction(0, Wei.ZERO); - - givenTransactionIsValid(frontierTransaction); - addAndAssertLocalTransactionValid(frontierTransaction); - } - - @Test - public void shouldAcceptZeroGasPrice1559TxsWhenMinGasPriceIsZeroAndLondonWithZeroBaseFee() { - when(miningParameters.getMinTransactionGasPrice()).thenReturn(Wei.ZERO); - when(protocolSpec.getFeeMarket()).thenReturn(FeeMarket.london(0, Optional.of(Wei.ZERO))); - whenBlockBaseFeeIs(Wei.ZERO); - - final Transaction transaction = createTransaction(0, Wei.ZERO); - - givenTransactionIsValid(transaction); - addAndAssertLocalTransactionValid(transaction); - } - - @Test - public void shouldAcceptBaseFeeFloorGasPriceFrontierTransactionsWhenMining() { - final Transaction frontierTransaction = createFrontierTransaction(0, BASE_FEE_FLOOR); - - givenTransactionIsValid(frontierTransaction); - - addAndAssertLocalTransactionValid(frontierTransaction); - } - - @Test - public void shouldRejectRemote1559TxsWhenMaxFeePerGasBelowMinGasPrice() { - final Wei genesisBaseFee = Wei.of(100L); - final Wei minGasPrice = Wei.of(200L); - final Wei lastBlockBaseFee = minGasPrice.add(50L); - final Wei txMaxFeePerGas = minGasPrice.subtract(1L); - - assertThat( - add1559TxAndGetPendingTxsCount( - genesisBaseFee, minGasPrice, lastBlockBaseFee, txMaxFeePerGas, false)) - .isEqualTo(0); - } - - @Test - public void shouldAcceptRemote1559TxsWhenMaxFeePerGasIsAtLeastEqualToMinGasPrice() { - final Wei genesisBaseFee = Wei.of(100L); - final Wei minGasPrice = Wei.of(200L); - final Wei lastBlockBaseFee = minGasPrice.add(50L); - final Wei txMaxFeePerGas = minGasPrice; - - assertThat( - add1559TxAndGetPendingTxsCount( - genesisBaseFee, minGasPrice, lastBlockBaseFee, txMaxFeePerGas, false)) - .isEqualTo(1); - } - - @Test - public void shouldRejectLocal1559TxsWhenMaxFeePerGasBelowMinGasPrice() { - final Wei genesisBaseFee = Wei.of(100L); - final Wei minGasPrice = Wei.of(200L); - final Wei lastBlockBaseFee = minGasPrice.add(50L); - final Wei txMaxFeePerGas = minGasPrice.subtract(1L); - - assertThat( - add1559TxAndGetPendingTxsCount( - genesisBaseFee, minGasPrice, lastBlockBaseFee, txMaxFeePerGas, true)) - .isEqualTo(0); - } - - @Test - public void shouldAcceptLocal1559TxsWhenMaxFeePerGasIsAtLeastEqualToMinMinGasPrice() { - final Wei genesisBaseFee = Wei.of(100L); - final Wei minGasPrice = Wei.of(200L); - final Wei lastBlockBaseFee = minGasPrice.add(50L); - final Wei txMaxFeePerGas = minGasPrice; - - assertThat( - add1559TxAndGetPendingTxsCount( - genesisBaseFee, minGasPrice, lastBlockBaseFee, txMaxFeePerGas, true)) - .isEqualTo(1); - } - - private int add1559TxAndGetPendingTxsCount( - final Wei genesisBaseFee, - final Wei minGasPrice, - final Wei lastBlockBaseFee, - final Wei txMaxFeePerGas, - final boolean isLocal) { - when(miningParameters.getMinTransactionGasPrice()).thenReturn(minGasPrice); - when(protocolSpec.getFeeMarket()).thenReturn(FeeMarket.london(0, Optional.of(genesisBaseFee))); - whenBlockBaseFeeIs(lastBlockBaseFee); - - final Transaction transaction = createTransaction(0, txMaxFeePerGas); - - givenTransactionIsValid(transaction); - - if (isLocal) { - transactionPool.addTransactionViaApi(transaction); - } else { - transactionPool.addRemoteTransactions(List.of(transaction)); - } - - return transactions.size(); - } - - private void whenBlockBaseFeeIs(final Wei baseFee) { - final BlockHeader header = - BlockHeaderBuilder.fromHeader(blockchain.getChainHeadHeader()) - .baseFee(baseFee) - .blockHeaderFunctions(new MainnetBlockHeaderFunctions()) - .parentHash(blockchain.getChainHeadHash()) - .buildBlockHeader(); - blockchain.appendBlock(new Block(header, BlockBody.empty()), emptyList()); - } - - private Transaction createFrontierTransaction(final int transactionNumber, final Wei gasPrice) { - return new TransactionTestFixture() - .nonce(transactionNumber) - .gasPrice(gasPrice) - .gasLimit(blockGasLimit) - .type(TransactionType.FRONTIER) - .createTransaction(KEY_PAIR1); - } -} diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredTransactionPoolBaseFeeTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredTransactionPoolBaseFeeTest.java new file mode 100644 index 00000000000..e30d8814111 --- /dev/null +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredTransactionPoolBaseFeeTest.java @@ -0,0 +1,77 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.ethereum.eth.transactions.layered; + +import org.hyperledger.besu.datatypes.Wei; +import org.hyperledger.besu.ethereum.core.Block; +import org.hyperledger.besu.ethereum.core.BlockHeader; +import org.hyperledger.besu.ethereum.core.Difficulty; +import org.hyperledger.besu.ethereum.core.ExecutionContextTestFixture; +import org.hyperledger.besu.ethereum.core.Transaction; +import org.hyperledger.besu.ethereum.core.TransactionTestFixture; +import org.hyperledger.besu.ethereum.eth.transactions.PendingTransaction; +import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolConfiguration; +import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolMetrics; +import org.hyperledger.besu.ethereum.mainnet.feemarket.FeeMarket; + +import java.util.Optional; +import java.util.function.BiFunction; + +public class LayeredTransactionPoolBaseFeeTest extends AbstractLayeredTransactionPoolTest { + + @Override + protected AbstractPrioritizedTransactions createPrioritizedTransactions( + final TransactionPoolConfiguration poolConfig, + final TransactionsLayer nextLayer, + final TransactionPoolMetrics txPoolMetrics, + final BiFunction + transactionReplacementTester) { + return new BaseFeePrioritizedTransactions( + poolConfig, + protocolContext.getBlockchain()::getChainHeadHeader, + nextLayer, + txPoolMetrics, + transactionReplacementTester, + FeeMarket.london(0L)); + } + + @Override + protected Transaction createTransaction(final int nonce, final Wei maxPrice) { + return createTransactionBaseFeeMarket(nonce, maxPrice); + } + + @Override + protected TransactionTestFixture createBaseTransaction(final int nonce) { + return createBaseTransactionBaseFeeMarket(nonce); + } + + @Override + protected ExecutionContextTestFixture createExecutionContextTestFixture() { + return createExecutionContextTestFixtureBaseFeeMarket(); + } + + @Override + protected FeeMarket getFeeMarket() { + return FeeMarket.london(0L, Optional.of(BASE_FEE_FLOOR)); + } + + @Override + protected Block appendBlock( + final Difficulty difficulty, + final BlockHeader parentBlock, + final Transaction... transactionsToAdd) { + return appendBlockBaseFeeMarket(difficulty, parentBlock, transactionsToAdd); + } +} diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredTransactionPoolGasPriceTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredTransactionPoolGasPriceTest.java new file mode 100644 index 00000000000..34022ea0f9c --- /dev/null +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredTransactionPoolGasPriceTest.java @@ -0,0 +1,71 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.ethereum.eth.transactions.layered; + +import org.hyperledger.besu.datatypes.Wei; +import org.hyperledger.besu.ethereum.core.Block; +import org.hyperledger.besu.ethereum.core.BlockHeader; +import org.hyperledger.besu.ethereum.core.Difficulty; +import org.hyperledger.besu.ethereum.core.ExecutionContextTestFixture; +import org.hyperledger.besu.ethereum.core.Transaction; +import org.hyperledger.besu.ethereum.core.TransactionTestFixture; +import org.hyperledger.besu.ethereum.eth.transactions.PendingTransaction; +import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolConfiguration; +import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolMetrics; +import org.hyperledger.besu.ethereum.mainnet.feemarket.FeeMarket; + +import java.util.function.BiFunction; + +public class LayeredTransactionPoolGasPriceTest extends AbstractLayeredTransactionPoolTest { + + @Override + protected AbstractPrioritizedTransactions createPrioritizedTransactions( + final TransactionPoolConfiguration poolConfig, + final TransactionsLayer nextLayer, + final TransactionPoolMetrics txPoolMetrics, + final BiFunction + transactionReplacementTester) { + return new GasPricePrioritizedTransactions( + poolConfig, nextLayer, txPoolMetrics, transactionReplacementTester); + } + + @Override + protected Transaction createTransaction(final int nonce, final Wei maxPrice) { + return createTransactionGasPriceMarket(nonce, maxPrice); + } + + @Override + protected TransactionTestFixture createBaseTransaction(final int nonce) { + return createBaseTransactionGasPriceMarket(nonce); + } + + @Override + protected ExecutionContextTestFixture createExecutionContextTestFixture() { + return ExecutionContextTestFixture.create(); + } + + @Override + protected FeeMarket getFeeMarket() { + return FeeMarket.legacy(); + } + + @Override + protected Block appendBlock( + final Difficulty difficulty, + final BlockHeader parentBlock, + final Transaction... transactionsToAdd) { + return appendBlockGasPriceMarket(difficulty, parentBlock, transactionsToAdd); + } +} diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AbstractLegacyTransactionPoolTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AbstractLegacyTransactionPoolTest.java new file mode 100644 index 00000000000..1b35bd26516 --- /dev/null +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AbstractLegacyTransactionPoolTest.java @@ -0,0 +1,61 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.ethereum.eth.transactions.sorter; + +import static java.util.Arrays.asList; +import static java.util.Collections.singletonList; +import static org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason.NONCE_TOO_LOW; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +import org.hyperledger.besu.ethereum.core.Transaction; +import org.hyperledger.besu.ethereum.eth.transactions.AbstractTransactionPoolTest; +import org.hyperledger.besu.ethereum.mainnet.ValidationResult; + +import java.util.Optional; + +import org.junit.jupiter.api.Test; + +@SuppressWarnings("unchecked") +public abstract class AbstractLegacyTransactionPoolTest extends AbstractTransactionPoolTest { + + @Test + public void shouldNotAddRemoteTransactionsWhenThereIsALowestInvalidNonceForTheSender() { + givenTransactionIsValid(transaction1); + when(transactionValidatorFactory.get().validate(eq(transaction0), any(Optional.class), any())) + .thenReturn(ValidationResult.invalid(NONCE_TOO_LOW)); + + transactionPool.addRemoteTransactions(asList(transaction0, transaction1)); + + assertTransactionNotPending(transaction0); + assertTransactionNotPending(transaction1); + verify(transactionBroadcaster, never()).onTransactionsAdded(singletonList(transaction1)); + } + + @Test + public void shouldRejectRemoteTransactionsWhenAnInvalidTransactionWithLowerNonceExists() { + final Transaction invalidTx = + createBaseTransaction(0).gasLimit(blockGasLimit + 1).createTransaction(KEY_PAIR1); + + givenTransactionIsValid(invalidTx); + givenTransactionIsValid(transaction1); + + addAndAssertRemoteTransactionInvalid(invalidTx); + addAndAssertRemoteTransactionInvalid(transaction1); + } +} diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/LegacyTransactionPoolBaseFeeTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/LegacyTransactionPoolBaseFeeTest.java new file mode 100644 index 00000000000..96ea292e983 --- /dev/null +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/LegacyTransactionPoolBaseFeeTest.java @@ -0,0 +1,81 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.ethereum.eth.transactions.sorter; + +import org.hyperledger.besu.datatypes.Wei; +import org.hyperledger.besu.ethereum.core.Block; +import org.hyperledger.besu.ethereum.core.BlockHeader; +import org.hyperledger.besu.ethereum.core.Difficulty; +import org.hyperledger.besu.ethereum.core.ExecutionContextTestFixture; +import org.hyperledger.besu.ethereum.core.Transaction; +import org.hyperledger.besu.ethereum.core.TransactionTestFixture; +import org.hyperledger.besu.ethereum.eth.transactions.ImmutableTransactionPoolConfiguration; +import org.hyperledger.besu.ethereum.eth.transactions.PendingTransaction; +import org.hyperledger.besu.ethereum.eth.transactions.PendingTransactions; +import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolConfiguration; +import org.hyperledger.besu.ethereum.mainnet.feemarket.FeeMarket; +import org.hyperledger.besu.testutil.TestClock; +import org.hyperledger.besu.util.number.Fraction; + +import java.time.ZoneId; +import java.util.Optional; +import java.util.function.BiFunction; + +public class LegacyTransactionPoolBaseFeeTest extends AbstractLegacyTransactionPoolTest { + + @Override + protected PendingTransactions createPendingTransactions( + final TransactionPoolConfiguration poolConfig, + final BiFunction + transactionReplacementTester) { + + return new BaseFeePendingTransactionsSorter( + ImmutableTransactionPoolConfiguration.builder() + .txPoolMaxSize(MAX_TRANSACTIONS) + .txPoolLimitByAccountPercentage(Fraction.fromFloat(1.0f)) + .build(), + TestClock.system(ZoneId.systemDefault()), + metricsSystem, + protocolContext.getBlockchain()::getChainHeadHeader); + } + + @Override + protected Transaction createTransaction(final int transactionNumber, final Wei maxPrice) { + return createTransactionBaseFeeMarket(transactionNumber, maxPrice); + } + + @Override + protected TransactionTestFixture createBaseTransaction(final int transactionNumber) { + return createBaseTransactionBaseFeeMarket(transactionNumber); + } + + @Override + protected ExecutionContextTestFixture createExecutionContextTestFixture() { + return createExecutionContextTestFixtureBaseFeeMarket(); + } + + @Override + protected FeeMarket getFeeMarket() { + return FeeMarket.london(0L, Optional.of(BASE_FEE_FLOOR)); + } + + @Override + protected Block appendBlock( + final Difficulty difficulty, + final BlockHeader parentBlock, + final Transaction... transactionsToAdd) { + return appendBlockBaseFeeMarket(difficulty, parentBlock, transactionsToAdd); + } +} diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/LegacyTransactionPoolGasPriceTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/LegacyTransactionPoolGasPriceTest.java new file mode 100644 index 00000000000..5d20e04de0e --- /dev/null +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/LegacyTransactionPoolGasPriceTest.java @@ -0,0 +1,80 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.ethereum.eth.transactions.sorter; + +import org.hyperledger.besu.datatypes.Wei; +import org.hyperledger.besu.ethereum.core.Block; +import org.hyperledger.besu.ethereum.core.BlockHeader; +import org.hyperledger.besu.ethereum.core.Difficulty; +import org.hyperledger.besu.ethereum.core.ExecutionContextTestFixture; +import org.hyperledger.besu.ethereum.core.Transaction; +import org.hyperledger.besu.ethereum.core.TransactionTestFixture; +import org.hyperledger.besu.ethereum.eth.transactions.ImmutableTransactionPoolConfiguration; +import org.hyperledger.besu.ethereum.eth.transactions.PendingTransaction; +import org.hyperledger.besu.ethereum.eth.transactions.PendingTransactions; +import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolConfiguration; +import org.hyperledger.besu.ethereum.mainnet.feemarket.FeeMarket; +import org.hyperledger.besu.testutil.TestClock; +import org.hyperledger.besu.util.number.Fraction; + +import java.time.ZoneId; +import java.util.function.BiFunction; + +public class LegacyTransactionPoolGasPriceTest extends AbstractLegacyTransactionPoolTest { + + @Override + protected PendingTransactions createPendingTransactions( + final TransactionPoolConfiguration poolConfig, + final BiFunction + transactionReplacementTester) { + + return new GasPricePendingTransactionsSorter( + ImmutableTransactionPoolConfiguration.builder() + .txPoolMaxSize(MAX_TRANSACTIONS) + .txPoolLimitByAccountPercentage(Fraction.fromFloat(1.0f)) + .build(), + TestClock.system(ZoneId.systemDefault()), + metricsSystem, + protocolContext.getBlockchain()::getChainHeadHeader); + } + + @Override + protected Transaction createTransaction(final int transactionNumber, final Wei maxPrice) { + return createTransactionGasPriceMarket(transactionNumber, maxPrice); + } + + @Override + protected TransactionTestFixture createBaseTransaction(final int transactionNumber) { + return createBaseTransactionGasPriceMarket(transactionNumber); + } + + @Override + protected ExecutionContextTestFixture createExecutionContextTestFixture() { + return ExecutionContextTestFixture.create(); + } + + @Override + protected FeeMarket getFeeMarket() { + return FeeMarket.legacy(); + } + + @Override + protected Block appendBlock( + final Difficulty difficulty, + final BlockHeader parentBlock, + final Transaction... transactionsToAdd) { + return appendBlockGasPriceMarket(difficulty, parentBlock, transactionsToAdd); + } +} From 109bb4df294f53579430424b9f6b6da069302a50 Mon Sep 17 00:00:00 2001 From: Fabio Di Fabio Date: Wed, 27 Sep 2023 10:33:01 +0200 Subject: [PATCH 20/40] Process onBlockAdded event asyncronously (#5909) Signed-off-by: Fabio Di Fabio --- CHANGELOG.md | 1 + .../ethereum/eth/manager/EthScheduler.java | 6 ++- .../eth/transactions/TransactionPool.java | 49 ++++++++++++++++--- .../AbstractTransactionPoolTest.java | 5 ++ 4 files changed, 53 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 80b56358bdd..fdfb1212d50 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ - Add access to an immutable world view to start/end transaction hooks in the tracing API[#5836](https://github.com/hyperledger/besu/pull/5836) - Layered transaction pool implementation is now stable and enabled by default. If you want still to use the legacy implementation, use `--tx-pool=legacy` [#5772](https://github.com/hyperledger/besu) - Tune G1GC to reduce Besu memory footprint, and new `besu-untuned` start scripts to run without any specific G1GC flags [#5879](https://github.com/hyperledger/besu/pull/5879) +- Reduce `engine_forkchoiceUpdatedV?` response time by asynchronously process block added events in the transaction pool [#5909](https://github.com/hyperledger/besu/pull/5909) ### Bug Fixes - do not create ignorable storage on revert storage-variables subcommand [#5830](https://github.com/hyperledger/besu/pull/5830) diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/manager/EthScheduler.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/manager/EthScheduler.java index 91818b9f5e2..9df6edb2c9d 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/manager/EthScheduler.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/manager/EthScheduler.java @@ -83,7 +83,7 @@ public EthScheduler( metricsSystem), MonitoredExecutors.newCachedThreadPool( EthScheduler.class.getSimpleName() + "-Services", metricsSystem), - MonitoredExecutors.newBoundedThreadPool( + MonitoredExecutors.newFixedThreadPool( EthScheduler.class.getSimpleName() + "-Computation", 1, computationWorkerCount, @@ -133,6 +133,10 @@ public void scheduleTxWorkerTask(final Runnable command) { txWorkerExecutor.execute(command); } + public CompletableFuture scheduleServiceTask(final Supplier task) { + return CompletableFuture.supplyAsync(task, servicesExecutor); + } + public CompletableFuture scheduleServiceTask(final EthTask task) { final CompletableFuture serviceFuture = task.runAsync(servicesExecutor); pendingFutures.add(serviceFuture); diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPool.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPool.java index fd3d1a4c16a..f6c8161bf0c 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPool.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPool.java @@ -62,7 +62,9 @@ import java.util.Map; import java.util.Optional; import java.util.OptionalLong; +import java.util.Queue; import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; @@ -104,6 +106,8 @@ public class TransactionPool implements BlockAddedObserver { new PendingTransactionsListenersProxy(); private volatile OptionalLong subscribeConnectId = OptionalLong.empty(); private final SaveRestoreManager saveRestoreManager = new SaveRestoreManager(); + private final Lock blockAddedLock = new ReentrantLock(); + private final Queue blockAddedQueue = new ConcurrentLinkedQueue<>(); public TransactionPool( final Supplier pendingTransactionsSupplier, @@ -321,16 +325,47 @@ public void unsubscribeDroppedTransactions(final long id) { @Override public void onBlockAdded(final BlockAddedEvent event) { if (isPoolEnabled.get()) { - LOG.trace("Block added event {}", event); + final long started = System.currentTimeMillis(); if (event.getEventType().equals(BlockAddedEvent.EventType.HEAD_ADVANCED) || event.getEventType().equals(BlockAddedEvent.EventType.CHAIN_REORG)) { - pendingTransactions.manageBlockAdded( - event.getBlock().getHeader(), - event.getAddedTransactions(), - event.getRemovedTransactions(), - protocolSchedule.getByBlockHeader(event.getBlock().getHeader()).getFeeMarket()); - reAddTransactions(event.getRemovedTransactions()); + // add the event to the processing queue + blockAddedQueue.add(event); + + // we want to process the added block asynchronously, + // but at the same time we must ensure that blocks are processed in order one at time + ethContext + .getScheduler() + .scheduleServiceTask( + () -> { + while (!blockAddedQueue.isEmpty()) { + if (blockAddedLock.tryLock()) { + // no other thread is processing the queue, so start processing it + try { + BlockAddedEvent e = blockAddedQueue.poll(); + // check again since another thread could have stolen our task + if (e != null) { + pendingTransactions.manageBlockAdded( + e.getBlock().getHeader(), + e.getAddedTransactions(), + e.getRemovedTransactions(), + protocolSchedule + .getByBlockHeader(e.getBlock().getHeader()) + .getFeeMarket()); + reAddTransactions(e.getRemovedTransactions()); + LOG.atDebug() + .setMessage("Block added event {} processed in {}ms") + .addArgument(e) + .addArgument(() -> System.currentTimeMillis() - started) + .log(); + } + } finally { + blockAddedLock.unlock(); + } + } + } + return null; + }); } } } diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionPoolTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionPoolTest.java index 1fcd45f84fe..7fad9f1a057 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionPoolTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionPoolTest.java @@ -33,6 +33,7 @@ import static org.mockito.ArgumentMatchers.argThat; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.nullable; +import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; @@ -98,6 +99,7 @@ import java.util.function.BiFunction; import java.util.function.Consumer; import java.util.function.Function; +import java.util.function.Supplier; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -229,6 +231,9 @@ public void setUp() { final EthScheduler ethScheduler = mock(EthScheduler.class); syncTaskCapture = ArgumentCaptor.forClass(Runnable.class); doNothing().when(ethScheduler).scheduleSyncWorkerTask(syncTaskCapture.capture()); + doAnswer(invocation -> ((Supplier) invocation.getArguments()[0]).get()) + .when(ethScheduler) + .scheduleServiceTask(any(Supplier.class)); doReturn(ethScheduler).when(ethContext).getScheduler(); peerTransactionTracker = new PeerTransactionTracker(); From b9f005ea9ab5e84ab6d708e245ddb770878cecd1 Mon Sep 17 00:00:00 2001 From: Gabriel-Trintinalia Date: Wed, 27 Sep 2023 19:10:16 +1000 Subject: [PATCH 21/40] rlpx - Send empty list instead of Empty Bytes for the Ping and Pong message (#5955) Signed-off-by: Gabriel-Trintinalia --- .../besu/ethereum/p2p/rlpx/wire/messages/EmptyMessage.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/wire/messages/EmptyMessage.java b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/wire/messages/EmptyMessage.java index 4611dc4b207..639f486df44 100644 --- a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/wire/messages/EmptyMessage.java +++ b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/wire/messages/EmptyMessage.java @@ -14,6 +14,8 @@ */ package org.hyperledger.besu.ethereum.p2p.rlpx.wire.messages; +import static org.hyperledger.besu.ethereum.rlp.RLP.EMPTY_LIST; + import org.hyperledger.besu.ethereum.p2p.rlpx.wire.MessageData; import org.apache.tuweni.bytes.Bytes; @@ -23,12 +25,12 @@ abstract class EmptyMessage implements MessageData { @Override public final int getSize() { - return 0; + return EMPTY_LIST.size(); } @Override public Bytes getData() { - return Bytes.EMPTY; + return EMPTY_LIST; } @Override From 5d344addad8c9cad5964c7fc0b431106a65e5cf6 Mon Sep 17 00:00:00 2001 From: Fabio Di Fabio Date: Wed, 27 Sep 2023 11:47:51 +0200 Subject: [PATCH 22/40] Improve performance when promoting transaction from next layers (#5920) Signed-off-by: Fabio Di Fabio Co-authored-by: Sally MacFarlane --- .../AbstractPrioritizedTransactions.java | 8 +- .../layered/AbstractTransactionsLayer.java | 18 ++-- .../eth/transactions/layered/EndLayer.java | 7 +- .../layered/ReadyTransactions.java | 71 +++++++----- .../layered/SparseTransactions.java | 101 +++++++++++++----- .../layered/TransactionsLayer.java | 3 +- 6 files changed, 142 insertions(+), 66 deletions(-) diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractPrioritizedTransactions.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractPrioritizedTransactions.java index 3d47ad6efd8..84fa0ac5bfc 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractPrioritizedTransactions.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractPrioritizedTransactions.java @@ -20,6 +20,7 @@ import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolConfiguration; import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolMetrics; +import java.util.List; import java.util.Map; import java.util.NavigableMap; import java.util.TreeMap; @@ -104,8 +105,11 @@ protected void internalRemove( } @Override - public PendingTransaction promote(final Predicate promotionFilter) { - return null; + public List promote( + final Predicate promotionFilter, + final long freeSpace, + final int freeSlots) { + return List.of(); } @Override diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractTransactionsLayer.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractTransactionsLayer.java index 0feae3168de..270e64352ab 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractTransactionsLayer.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractTransactionsLayer.java @@ -398,22 +398,20 @@ public final void blockAdded( nextLayer.blockAdded(feeMarket, blockHeader, maxConfirmedNonceBySender); maxConfirmedNonceBySender.forEach(this::confirmed); internalBlockAdded(blockHeader, feeMarket); + promoteTransactions(); } protected abstract void internalBlockAdded( final BlockHeader blockHeader, final FeeMarket feeMarket); final void promoteTransactions() { - int freeSlots = maxTransactionsNumber() - pendingTransactions.size(); + final int freeSlots = maxTransactionsNumber() - pendingTransactions.size(); + final long freeSpace = cacheFreeSpace(); - while (cacheFreeSpace() > 0 && freeSlots > 0) { - final var promotedTx = nextLayer.promote(this::promotionFilter); - if (promotedTx != null) { - processAdded(promotedTx); - --freeSlots; - } else { - break; - } + if (freeSlots > 0 && freeSpace > 0) { + nextLayer + .promote(this::promotionFilter, cacheFreeSpace(), freeSlots) + .forEach(this::processAdded); } } @@ -444,8 +442,6 @@ private void confirmed(final Address sender, final long maxConfirmedNonce) { internalConfirmed(senderTxs, sender, maxConfirmedNonce, highestNonceRemovedTx); } } - - promoteTransactions(); } protected abstract void internalConfirmed( diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/EndLayer.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/EndLayer.java index 9a18e4937ea..12d3147b326 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/EndLayer.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/EndLayer.java @@ -115,8 +115,11 @@ public OptionalLong getCurrentNonceFor(final Address sender) { } @Override - public PendingTransaction promote(final Predicate promotionFilter) { - return null; + public List promote( + final Predicate promotionFilter, + final long freeSpace, + final int freeSlots) { + return List.of(); } @Override diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/ReadyTransactions.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/ReadyTransactions.java index 6527031c917..227d0e4daa3 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/ReadyTransactions.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/ReadyTransactions.java @@ -25,7 +25,9 @@ import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolMetrics; import org.hyperledger.besu.ethereum.mainnet.feemarket.FeeMarket; +import java.util.ArrayList; import java.util.Comparator; +import java.util.List; import java.util.Map; import java.util.NavigableMap; import java.util.NavigableSet; @@ -139,30 +141,51 @@ public Stream stream() { } @Override - public PendingTransaction promote(final Predicate promotionFilter) { - - final var maybePromotedTx = - orderByMaxFee.descendingSet().stream() - .filter(candidateTx -> promotionFilter.test(candidateTx)) - .findFirst(); - - return maybePromotedTx - .map( - promotedTx -> { - final var senderTxs = txsBySender.get(promotedTx.getSender()); - // we always promote the first tx of a sender, so remove the first entry - senderTxs.pollFirstEntry(); - processRemove(senderTxs, promotedTx.getTransaction(), PROMOTED); - - // now that we have space, promote from the next layer - promoteTransactions(); - - if (senderTxs.isEmpty()) { - txsBySender.remove(promotedTx.getSender()); - } - return promotedTx; - }) - .orElse(null); + public List promote( + final Predicate promotionFilter, + final long freeSpace, + final int freeSlots) { + long accumulatedSpace = 0; + final List promotedTxs = new ArrayList<>(); + + // first find all txs that can be promoted + search: + for (final var senderFirstTx : orderByMaxFee.descendingSet()) { + final var senderTxs = txsBySender.get(senderFirstTx.getSender()); + for (final var candidateTx : senderTxs.values()) { + if (promotionFilter.test(candidateTx)) { + accumulatedSpace += candidateTx.memorySize(); + if (promotedTxs.size() < freeSlots && accumulatedSpace <= freeSpace) { + promotedTxs.add(candidateTx); + } else { + // no room for more txs the search is over exit the loops + break search; + } + } else { + // skip remaining txs for this sender to avoid gaps + break; + } + } + } + + // then remove promoted txs from this layer + promotedTxs.forEach( + promotedTx -> { + final var sender = promotedTx.getSender(); + final var senderTxs = txsBySender.get(sender); + senderTxs.remove(promotedTx.getNonce()); + processRemove(senderTxs, promotedTx.getTransaction(), PROMOTED); + if (senderTxs.isEmpty()) { + txsBySender.remove(sender); + } + }); + + if (!promotedTxs.isEmpty()) { + // since we removed some txs we can try to promote from next layer + promoteTransactions(); + } + + return promotedTxs; } @Override diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/SparseTransactions.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/SparseTransactions.java index 00248dcf4ef..64a4142bccb 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/SparseTransactions.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/SparseTransactions.java @@ -27,7 +27,6 @@ import org.hyperledger.besu.ethereum.mainnet.feemarket.FeeMarket; import java.util.ArrayList; -import java.util.Collection; import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; @@ -126,36 +125,86 @@ protected void internalReplaced(final PendingTransaction replacedTx) { @Override protected void internalBlockAdded(final BlockHeader blockHeader, final FeeMarket feeMarket) {} + /** + * We only want to promote transactions that have gap == 0, so there will be no gap in the prev + * layers. A promoted transaction is removed from this layer, and the gap data is updated for its + * sender. + * + * @param promotionFilter the prev layer's promotion filter + * @param freeSpace max amount of memory promoted txs can occupy + * @param freeSlots max number of promoted txs + * @return a list of transactions promoted to the prev layer + */ @Override - public PendingTransaction promote(final Predicate promotionFilter) { - final PendingTransaction promotedTx = - orderByGap.get(0).stream() - .map(txsBySender::get) - .map(NavigableMap::values) - .flatMap(Collection::stream) - .filter(promotionFilter) - .findFirst() - .orElse(null); - - if (promotedTx != null) { - final Address sender = promotedTx.getSender(); - final var senderTxs = txsBySender.get(sender); - senderTxs.pollFirstEntry(); - processRemove(senderTxs, promotedTx.getTransaction(), PROMOTED); - if (senderTxs.isEmpty()) { - txsBySender.remove(sender); - orderByGap.get(0).remove(sender); - gapBySender.remove(sender); - } else { - final long firstNonce = senderTxs.firstKey(); - final int newGap = (int) (firstNonce - (promotedTx.getNonce() + 1)); - if (newGap != 0) { - updateGap(sender, 0, newGap); + public List promote( + final Predicate promotionFilter, + final long freeSpace, + final int freeSlots) { + long accumulatedSpace = 0; + final List promotedTxs = new ArrayList<>(); + + final var zeroGapSenders = orderByGap.get(0); + + search: + for (final var sender : zeroGapSenders) { + final var senderSeqTxs = getSequentialSubset(txsBySender.get(sender)); + + for (final var candidateTx : senderSeqTxs.values()) { + + if (promotionFilter.test(candidateTx)) { + accumulatedSpace += candidateTx.memorySize(); + if (promotedTxs.size() < freeSlots && accumulatedSpace <= freeSpace) { + promotedTxs.add(candidateTx); + } else { + // no room for more txs the search is over exit the loops + break search; + } + } else { + // skip remaining txs for this sender + break; } } } - return promotedTx; + // remove promoted txs from this layer + promotedTxs.forEach( + promotedTx -> { + final var sender = promotedTx.getSender(); + final var senderTxs = txsBySender.get(sender); + senderTxs.remove(promotedTx.getNonce()); + processRemove(senderTxs, promotedTx.getTransaction(), PROMOTED); + if (senderTxs.isEmpty()) { + txsBySender.remove(sender); + orderByGap.get(0).remove(sender); + gapBySender.remove(sender); + } else { + final long firstNonce = senderTxs.firstKey(); + final int newGap = (int) (firstNonce - (promotedTx.getNonce() + 1)); + if (newGap != 0) { + updateGap(sender, 0, newGap); + } + } + }); + + if (!promotedTxs.isEmpty()) { + // since we removed some txs we can try to promote from next layer + promoteTransactions(); + } + + return promotedTxs; + } + + private NavigableMap getSequentialSubset( + final NavigableMap senderTxs) { + long lastSequentialNonce = senderTxs.firstKey(); + for (final long nonce : senderTxs.tailMap(lastSequentialNonce, false).keySet()) { + if (nonce == lastSequentialNonce + 1) { + ++lastSequentialNonce; + } else { + break; + } + } + return senderTxs.headMap(lastSequentialNonce, true); } @Override diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/TransactionsLayer.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/TransactionsLayer.java index 9c85dac1096..3f18aa57e9f 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/TransactionsLayer.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/TransactionsLayer.java @@ -66,7 +66,8 @@ void blockAdded( */ OptionalLong getCurrentNonceFor(Address sender); - PendingTransaction promote(Predicate promotionFilter); + List promote( + Predicate promotionFilter, final long freeSpace, final int freeSlots); long subscribeToAdded(PendingTransactionAddedListener listener); From 8200e9802ba41ac713d302bb3e53ba682b9d71b3 Mon Sep 17 00:00:00 2001 From: Fabio Di Fabio Date: Wed, 27 Sep 2023 13:11:48 +0200 Subject: [PATCH 23/40] Always enforce promotion filter for transactions in the prioritized layer (#5921) Signed-off-by: Fabio Di Fabio Co-authored-by: Sally MacFarlane --- .../AbstractPrioritizedTransactions.java | 10 +++ .../layered/AbstractTransactionsLayer.java | 10 ++- .../BaseFeePrioritizedTransactions.java | 79 +++++++++++++------ .../layered/TransactionsLayer.java | 3 +- .../LayeredPendingTransactionsTest.java | 21 ++--- 5 files changed, 84 insertions(+), 39 deletions(-) diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractPrioritizedTransactions.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractPrioritizedTransactions.java index 84fa0ac5bfc..f57e6f9506d 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractPrioritizedTransactions.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractPrioritizedTransactions.java @@ -29,6 +29,10 @@ import java.util.function.Predicate; import java.util.stream.Stream; +/** + * Holds the current set of executable pending transactions, that are candidate for inclusion on + * next block. The pending transactions are kept sorted by paid fee descending. + */ public abstract class AbstractPrioritizedTransactions extends AbstractSequentialTransactionsLayer { protected final TreeSet orderByFee; @@ -78,6 +82,12 @@ protected void internalReplaced(final PendingTransaction replacedTx) { } private boolean hasPriority(final PendingTransaction pendingTransaction) { + // if it does not pass the promotion filter, then has not priority + if (!promotionFilter(pendingTransaction)) { + return false; + } + + // if there is space add it, otherwise check if it has more value than the last one if (orderByFee.size() < poolConfig.getMaxPrioritizedTransactions()) { return true; } diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractTransactionsLayer.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractTransactionsLayer.java index 270e64352ab..026d1bf4f72 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractTransactionsLayer.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractTransactionsLayer.java @@ -264,7 +264,7 @@ private TransactionAddedResult addToNextLayer( distance); } - private TransactionAddedResult addToNextLayer( + protected TransactionAddedResult addToNextLayer( final NavigableMap senderTxs, final PendingTransaction pendingTransaction, final int distance) { @@ -304,7 +304,7 @@ private void evict(final long spaceToFree, final int txsToEvict) { while ((evictedSize < spaceToFree || txsToEvict > evictedCount) && !lessReadySenderTxs.isEmpty()) { lastTx = lessReadySenderTxs.pollLastEntry().getValue(); - processEvict(lessReadySenderTxs, lastTx); + processEvict(lessReadySenderTxs, lastTx, EVICTED); ++evictedCount; evictedSize += lastTx.memorySize(); // evicted can always be added to the next layer @@ -371,11 +371,13 @@ protected PendingTransaction processRemove( } protected PendingTransaction processEvict( - final NavigableMap senderTxs, final PendingTransaction evictedTx) { + final NavigableMap senderTxs, + final PendingTransaction evictedTx, + final RemovalReason reason) { final PendingTransaction removedTx = pendingTransactions.remove(evictedTx.getHash()); if (removedTx != null) { decreaseSpaceUsed(evictedTx); - metrics.incrementRemoved(evictedTx.isReceivedFromLocalSource(), EVICTED.label(), name()); + metrics.incrementRemoved(evictedTx.isReceivedFromLocalSource(), reason.label(), name()); internalEvict(senderTxs, removedTx); } return removedTx; diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/BaseFeePrioritizedTransactions.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/BaseFeePrioritizedTransactions.java index b715f4c324c..3dcdfd734f8 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/BaseFeePrioritizedTransactions.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/BaseFeePrioritizedTransactions.java @@ -14,6 +14,8 @@ */ package org.hyperledger.besu.ethereum.eth.transactions.layered; +import static org.hyperledger.besu.ethereum.eth.transactions.layered.TransactionsLayer.RemovalReason.BELOW_BASE_FEE; + import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.core.BlockHeader; import org.hyperledger.besu.ethereum.core.Transaction; @@ -27,17 +29,10 @@ import java.util.Optional; import java.util.function.BiFunction; import java.util.function.Supplier; -import java.util.stream.Collectors; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -/** - * Holds the current set of pending transactions with the ability to iterate them based on priority - * for mining or look-up by hash. - * - *

This class is safe for use across multiple threads. - */ public class BaseFeePrioritizedTransactions extends AbstractPrioritizedTransactions { private static final Logger LOG = LoggerFactory.getLogger(BaseFeePrioritizedTransactions.class); @@ -69,6 +64,15 @@ protected int compareByFee(final PendingTransaction pt1, final PendingTransactio .compare(pt1, pt2); } + /** + * On base fee markets when a new block is added we can calculate the base fee for the next block + * and use it to keep only pending transactions willing to pay at least that fee in the + * prioritized layer, since only these transactions are executable, while all the other can be + * demoted to the next layer. + * + * @param blockHeader the header of the added block + * @param feeMarket the fee market + */ @Override protected void internalBlockAdded(final BlockHeader blockHeader, final FeeMarket feeMarket) { final Wei newNextBlockBaseFee = calculateNextBlockBaseFee(feeMarket, blockHeader); @@ -81,7 +85,48 @@ protected void internalBlockAdded(final BlockHeader blockHeader, final FeeMarket nextBlockBaseFee = Optional.of(newNextBlockBaseFee); orderByFee.clear(); - orderByFee.addAll(pendingTransactions.values()); + + final var itTxsBySender = txsBySender.entrySet().iterator(); + while (itTxsBySender.hasNext()) { + final var senderTxs = itTxsBySender.next().getValue(); + + Optional maybeFirstUnderpricedNonce = Optional.empty(); + + for (final var e : senderTxs.entrySet()) { + final PendingTransaction tx = e.getValue(); + // it must pass the promotion filter to be prioritized + if (promotionFilter(tx)) { + orderByFee.add(tx); + } else { + // otherwise sender txs starting from this nonce need to be demoted to next layer, + // and we can go to next sender + maybeFirstUnderpricedNonce = Optional.of(e.getKey()); + break; + } + } + + maybeFirstUnderpricedNonce.ifPresent( + nonce -> { + // demote all txs after the first underpriced to the next layer, because none of them is + // executable now, and we can avoid sorting them until they are candidate for execution + // again + final var demoteTxs = senderTxs.tailMap(nonce, true); + while (!demoteTxs.isEmpty()) { + final PendingTransaction demoteTx = demoteTxs.pollLastEntry().getValue(); + LOG.atTrace() + .setMessage("Demoting tx {} with max gas price below next block base fee {}") + .addArgument(demoteTx::toTraceLog) + .addArgument(newNextBlockBaseFee::toHumanReadableString) + .log(); + processEvict(senderTxs, demoteTx, BELOW_BASE_FEE); + addToNextLayer(senderTxs, demoteTx, 0); + } + }); + + if (senderTxs.isEmpty()) { + itTxsBySender.remove(); + } + } } private Wei calculateNextBlockBaseFee(final FeeMarket feeMarket, final BlockHeader blockHeader) { @@ -101,10 +146,7 @@ protected boolean promotionFilter(final PendingTransaction pendingTransaction) { return nextBlockBaseFee .map( baseFee -> - pendingTransaction - .getTransaction() - .getEffectiveGasPrice(nextBlockBaseFee) - .greaterOrEqualThan(baseFee)) + pendingTransaction.getTransaction().getMaxGasPrice().greaterOrEqualThan(baseFee)) .orElse(false); } @@ -115,13 +157,6 @@ protected String internalLogStats() { return "Basefee Prioritized: Empty"; } - final var baseFeePartition = - stream() - .map(PendingTransaction::getTransaction) - .collect( - Collectors.partitioningBy( - tx -> tx.getMaxGasPrice().greaterOrEqualThan(nextBlockBaseFee.get()), - Collectors.counting())); final Transaction highest = orderByFee.last().getTransaction(); final Transaction lowest = orderByFee.first().getTransaction(); @@ -145,10 +180,6 @@ protected String internalLogStats() { + ", hash: " + lowest.getHash() + "], next block base fee: " - + nextBlockBaseFee.get().toHumanReadableString() - + ", above next base fee: " - + baseFeePartition.get(true) - + ", below next base fee: " - + baseFeePartition.get(false); + + nextBlockBaseFee.get().toHumanReadableString(); } } diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/TransactionsLayer.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/TransactionsLayer.java index 3f18aa57e9f..c6fcc5e7cee 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/TransactionsLayer.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/TransactionsLayer.java @@ -98,7 +98,8 @@ enum RemovalReason { INVALIDATED, PROMOTED, REPLACED, - RECONCILED; + RECONCILED, + BELOW_BASE_FEE; private final String label; diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsTest.java index 4573a00b124..3fa94c3be1c 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsTest.java @@ -67,6 +67,7 @@ public class LayeredPendingTransactionsTest extends BaseTransactionPoolTest { protected static final int MAX_TRANSACTIONS = 5; protected static final int MAX_CAPACITY_BYTES = 10_000; + protected static final Wei DEFAULT_BASE_FEE = Wei.of(100); protected static final int LIMITED_TRANSACTIONS_BY_SENDER = 4; protected static final String REMOTE = "remote"; protected static final String LOCAL = "local"; @@ -96,7 +97,7 @@ public class LayeredPendingTransactionsTest extends BaseTransactionPoolTest { private static BlockHeader mockBlockHeader() { final BlockHeader blockHeader = mock(BlockHeader.class); - when(blockHeader.getBaseFee()).thenReturn(Optional.of(Wei.of(100))); + when(blockHeader.getBaseFee()).thenReturn(Optional.of(DEFAULT_BASE_FEE)); return blockHeader; } @@ -374,10 +375,10 @@ public void selectTransactionsFromSameSenderInNonceOrder() { @MethodSource public void ignoreSenderTransactionsAfterASkippedOne( final TransactionSelectionResult skipSelectionResult) { - final Transaction transaction0a = createTransaction(0, Wei.of(20), KEYS1); - final Transaction transaction1a = createTransaction(1, Wei.of(20), KEYS1); - final Transaction transaction2a = createTransaction(2, Wei.of(20), KEYS1); - final Transaction transaction0b = createTransaction(0, Wei.of(10), KEYS2); + final Transaction transaction0a = createTransaction(0, DEFAULT_BASE_FEE.add(Wei.of(20)), KEYS1); + final Transaction transaction1a = createTransaction(1, DEFAULT_BASE_FEE.add(Wei.of(20)), KEYS1); + final Transaction transaction2a = createTransaction(2, DEFAULT_BASE_FEE.add(Wei.of(20)), KEYS1); + final Transaction transaction0b = createTransaction(0, DEFAULT_BASE_FEE.add(Wei.of(10)), KEYS2); pendingTransactions.addLocalTransaction(transaction0a, Optional.empty()); pendingTransactions.addLocalTransaction(transaction1a, Optional.empty()); @@ -411,7 +412,7 @@ public void notForceNonceOrderWhenSendersDiffer() { final Account sender2 = mock(Account.class); when(sender2.getNonce()).thenReturn(1L); - final Transaction transactionSender1 = createTransaction(0, Wei.of(10), KEYS1); + final Transaction transactionSender1 = createTransaction(0, Wei.of(100), KEYS1); final Transaction transactionSender2 = createTransaction(1, Wei.of(200), KEYS2); pendingTransactions.addLocalTransaction(transactionSender1, Optional.empty()); @@ -473,9 +474,9 @@ public void returnEmptyOptionalAsMaximumNonceWhenNoTransactionsPresent() { @Test public void replaceTransactionWithSameSenderAndNonce() { - final Transaction transaction1 = createTransaction(0, Wei.of(20), KEYS1); + final Transaction transaction1 = createTransaction(0, Wei.of(200), KEYS1); final Transaction transaction1b = createTransactionReplacement(transaction1, KEYS1); - final Transaction transaction2 = createTransaction(1, Wei.of(10), KEYS1); + final Transaction transaction2 = createTransaction(1, Wei.of(100), KEYS1); assertThat(pendingTransactions.addRemoteTransaction(transaction1, Optional.empty())) .isEqualTo(ADDED); assertThat(pendingTransactions.addRemoteTransaction(transaction2, Optional.empty())) @@ -499,14 +500,14 @@ public void replaceTransactionWithSameSenderAndNonce() { public void replaceTransactionWithSameSenderAndNonce_multipleReplacements() { final int replacedTxCount = 5; final List replacedTransactions = new ArrayList<>(replacedTxCount); - Transaction duplicateTx = createTransaction(0, Wei.of(50), KEYS1); + Transaction duplicateTx = createTransaction(0, DEFAULT_BASE_FEE.add(Wei.of(50)), KEYS1); for (int i = 0; i < replacedTxCount; i++) { replacedTransactions.add(duplicateTx); pendingTransactions.addRemoteTransaction(duplicateTx, Optional.empty()); duplicateTx = createTransactionReplacement(duplicateTx, KEYS1); } - final Transaction independentTx = createTransaction(1, Wei.ONE, KEYS1); + final Transaction independentTx = createTransaction(1, DEFAULT_BASE_FEE.add(Wei.ONE), KEYS1); assertThat(pendingTransactions.addRemoteTransaction(independentTx, Optional.empty())) .isEqualTo(ADDED); assertThat( From c4f66c475833c410d6fdeded8fb83477ff1ddff4 Mon Sep 17 00:00:00 2001 From: Gabriel-Trintinalia Date: Thu, 28 Sep 2023 10:33:44 +1000 Subject: [PATCH 24/40] BlockTransactionSelector refactoring (#5931) Signed-off-by: Gabriel-Trintinalia --- .../IbftBlockHeightManagerTest.java | 2 +- .../ibft/statemachine/IbftRoundTest.java | 2 +- .../PkiQbftBlockCreatorTest.java | 2 +- .../QbftBlockHeightManagerTest.java | 2 +- .../qbft/statemachine/QbftRoundTest.java | 2 +- .../blockcreation/AbstractBlockCreator.java | 3 +- .../ethereum/blockcreation/BlockCreator.java | 2 +- .../BlockTransactionSelector.java | 517 ------------------ .../txselection/BlockSelectionContext.java | 34 ++ .../txselection/BlockTransactionSelector.java | 320 +++++++++++ .../TransactionSelectionResults.java | 161 ++++++ .../AbstractTransactionSelector.java | 57 ++ .../BlobPriceTransactionSelector.java | 81 +++ .../BlockSizeTransactionSelector.java | 150 +++++ .../selectors/PriceTransactionSelector.java | 98 ++++ .../ProcessingResultTransactionSelector.java | 114 ++++ .../AbstractBlockCreatorTest.java | 4 +- .../AbstractBlockTransactionSelectorTest.java | 36 +- .../blockcreation/BlockMinerTest.java | 2 +- ...FeeMarketBlockTransactionSelectorTest.java | 14 +- .../blockcreation/PoWBlockCreatorTest.java | 2 +- .../LayeredPendingTransactionsTest.java | 4 +- plugin-api/build.gradle | 2 +- .../data/TransactionSelectionResult.java | 4 +- .../txselection/TransactionSelector.java | 15 +- 25 files changed, 1054 insertions(+), 576 deletions(-) delete mode 100644 ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/BlockTransactionSelector.java create mode 100644 ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/BlockSelectionContext.java create mode 100644 ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/BlockTransactionSelector.java create mode 100644 ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/TransactionSelectionResults.java create mode 100644 ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/AbstractTransactionSelector.java create mode 100644 ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/BlobPriceTransactionSelector.java create mode 100644 ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/BlockSizeTransactionSelector.java create mode 100644 ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/PriceTransactionSelector.java create mode 100644 ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/ProcessingResultTransactionSelector.java diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftBlockHeightManagerTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftBlockHeightManagerTest.java index 6b53fcef3e3..a421774420c 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftBlockHeightManagerTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftBlockHeightManagerTest.java @@ -60,7 +60,7 @@ import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.blockcreation.BlockCreator.BlockCreationResult; -import org.hyperledger.besu.ethereum.blockcreation.BlockTransactionSelector.TransactionSelectionResults; +import org.hyperledger.besu.ethereum.blockcreation.txselection.TransactionSelectionResults; import org.hyperledger.besu.ethereum.core.Block; import org.hyperledger.besu.ethereum.core.BlockBody; import org.hyperledger.besu.ethereum.core.BlockHeader; diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftRoundTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftRoundTest.java index 986b1f7da5f..008d69330fb 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftRoundTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftRoundTest.java @@ -47,7 +47,7 @@ import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.blockcreation.BlockCreator.BlockCreationResult; -import org.hyperledger.besu.ethereum.blockcreation.BlockTransactionSelector.TransactionSelectionResults; +import org.hyperledger.besu.ethereum.blockcreation.txselection.TransactionSelectionResults; import org.hyperledger.besu.ethereum.chain.MinedBlockObserver; import org.hyperledger.besu.ethereum.chain.MutableBlockchain; import org.hyperledger.besu.ethereum.core.Block; diff --git a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/blockcreation/PkiQbftBlockCreatorTest.java b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/blockcreation/PkiQbftBlockCreatorTest.java index 32d55e7f22e..669563d6f5b 100644 --- a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/blockcreation/PkiQbftBlockCreatorTest.java +++ b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/blockcreation/PkiQbftBlockCreatorTest.java @@ -32,7 +32,7 @@ import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.blockcreation.BlockCreator; import org.hyperledger.besu.ethereum.blockcreation.BlockCreator.BlockCreationResult; -import org.hyperledger.besu.ethereum.blockcreation.BlockTransactionSelector.TransactionSelectionResults; +import org.hyperledger.besu.ethereum.blockcreation.txselection.TransactionSelectionResults; import org.hyperledger.besu.ethereum.core.Block; import org.hyperledger.besu.ethereum.core.BlockBody; import org.hyperledger.besu.ethereum.core.BlockHeader; diff --git a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftBlockHeightManagerTest.java b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftBlockHeightManagerTest.java index 669ed154e97..92471799cfd 100644 --- a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftBlockHeightManagerTest.java +++ b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftBlockHeightManagerTest.java @@ -59,7 +59,7 @@ import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.blockcreation.BlockCreator.BlockCreationResult; -import org.hyperledger.besu.ethereum.blockcreation.BlockTransactionSelector.TransactionSelectionResults; +import org.hyperledger.besu.ethereum.blockcreation.txselection.TransactionSelectionResults; import org.hyperledger.besu.ethereum.core.Block; import org.hyperledger.besu.ethereum.core.BlockBody; import org.hyperledger.besu.ethereum.core.BlockHeader; diff --git a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftRoundTest.java b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftRoundTest.java index 2ac14e79b55..627f5cd9e2e 100644 --- a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftRoundTest.java +++ b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftRoundTest.java @@ -50,7 +50,7 @@ import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.blockcreation.BlockCreator.BlockCreationResult; -import org.hyperledger.besu.ethereum.blockcreation.BlockTransactionSelector.TransactionSelectionResults; +import org.hyperledger.besu.ethereum.blockcreation.txselection.TransactionSelectionResults; import org.hyperledger.besu.ethereum.chain.MinedBlockObserver; import org.hyperledger.besu.ethereum.chain.MutableBlockchain; import org.hyperledger.besu.ethereum.core.Block; diff --git a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockCreator.java b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockCreator.java index 80037c8c6c1..3fa80f1dd0a 100644 --- a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockCreator.java +++ b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockCreator.java @@ -22,7 +22,8 @@ import org.hyperledger.besu.datatypes.TransactionType; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.ProtocolContext; -import org.hyperledger.besu.ethereum.blockcreation.BlockTransactionSelector.TransactionSelectionResults; +import org.hyperledger.besu.ethereum.blockcreation.txselection.BlockTransactionSelector; +import org.hyperledger.besu.ethereum.blockcreation.txselection.TransactionSelectionResults; import org.hyperledger.besu.ethereum.core.Block; import org.hyperledger.besu.ethereum.core.BlockBody; import org.hyperledger.besu.ethereum.core.BlockHeader; diff --git a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/BlockCreator.java b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/BlockCreator.java index c82d96fa858..5931d49f369 100644 --- a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/BlockCreator.java +++ b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/BlockCreator.java @@ -14,7 +14,7 @@ */ package org.hyperledger.besu.ethereum.blockcreation; -import org.hyperledger.besu.ethereum.blockcreation.BlockTransactionSelector.TransactionSelectionResults; +import org.hyperledger.besu.ethereum.blockcreation.txselection.TransactionSelectionResults; import org.hyperledger.besu.ethereum.core.Block; import org.hyperledger.besu.ethereum.core.BlockHeader; import org.hyperledger.besu.ethereum.core.Transaction; diff --git a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/BlockTransactionSelector.java b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/BlockTransactionSelector.java deleted file mode 100644 index 1130d5021a4..00000000000 --- a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/BlockTransactionSelector.java +++ /dev/null @@ -1,517 +0,0 @@ -/* - * Copyright ConsenSys AG. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on - * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - * - * SPDX-License-Identifier: Apache-2.0 - */ -package org.hyperledger.besu.ethereum.blockcreation; - -import org.hyperledger.besu.datatypes.Address; -import org.hyperledger.besu.datatypes.TransactionType; -import org.hyperledger.besu.datatypes.Wei; -import org.hyperledger.besu.ethereum.GasLimitCalculator; -import org.hyperledger.besu.ethereum.chain.Blockchain; -import org.hyperledger.besu.ethereum.core.LogsWrapper; -import org.hyperledger.besu.ethereum.core.MutableWorldState; -import org.hyperledger.besu.ethereum.core.ProcessableBlockHeader; -import org.hyperledger.besu.ethereum.core.Transaction; -import org.hyperledger.besu.ethereum.core.TransactionReceipt; -import org.hyperledger.besu.ethereum.eth.transactions.TransactionPool; -import org.hyperledger.besu.ethereum.mainnet.AbstractBlockProcessor; -import org.hyperledger.besu.ethereum.mainnet.MainnetTransactionProcessor; -import org.hyperledger.besu.ethereum.mainnet.TransactionValidationParams; -import org.hyperledger.besu.ethereum.mainnet.ValidationResult; -import org.hyperledger.besu.ethereum.mainnet.feemarket.FeeMarket; -import org.hyperledger.besu.ethereum.processing.TransactionProcessingResult; -import org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason; -import org.hyperledger.besu.ethereum.vm.BlockHashLookup; -import org.hyperledger.besu.ethereum.vm.CachingBlockHashLookup; -import org.hyperledger.besu.evm.gascalculator.GasCalculator; -import org.hyperledger.besu.evm.log.Log; -import org.hyperledger.besu.evm.worldstate.WorldUpdater; -import org.hyperledger.besu.plugin.data.TransactionSelectionResult; -import org.hyperledger.besu.plugin.services.txselection.TransactionSelector; -import org.hyperledger.besu.plugin.services.txselection.TransactionSelectorFactory; - -import java.util.ArrayList; -import java.util.EnumMap; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import java.util.concurrent.CancellationException; -import java.util.function.Function; -import java.util.function.Supplier; -import java.util.stream.Collectors; - -import com.google.common.collect.Lists; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Responsible for extracting transactions from PendingTransactions and determining if the - * transaction is suitable for inclusion in the block defined by the provided - * ProcessableBlockHeader. - * - *

If a transaction is suitable for inclusion, the world state must be updated, and a receipt - * generated. - * - *

The output from this class's execution will be: - * - *

    - *
  • A list of transactions to include in the block being constructed. - *
  • A list of receipts for inclusion in the block. - *
  • The root hash of the world state at the completion of transaction execution. - *
  • The amount of gas consumed when executing all transactions. - *
  • A list of transactions evaluated but not included in the block being constructed. - *
- * - * Once "used" this class must be discarded and another created. This class contains state which is - * not cleared between executions of buildTransactionListForBlock(). - */ -public class BlockTransactionSelector { - - public static class TransactionSelectionResults { - private final List selectedTransactions = Lists.newArrayList(); - private final Map> transactionsByType = - new EnumMap<>(TransactionType.class); - private final List receipts = Lists.newArrayList(); - private final Map notSelectedTransactions = - new HashMap<>(); - private long cumulativeGasUsed = 0; - private long cumulativeBlobGasUsed = 0; - - private void updateSelected( - final Transaction transaction, - final TransactionReceipt receipt, - final long gasUsed, - final long blobGasUsed) { - selectedTransactions.add(transaction); - transactionsByType - .computeIfAbsent(transaction.getType(), type -> new ArrayList<>()) - .add(transaction); - receipts.add(receipt); - cumulativeGasUsed += gasUsed; - cumulativeBlobGasUsed += blobGasUsed; - LOG.atTrace() - .setMessage( - "New selected transaction {}, total transactions {}, cumulative gas used {}, cumulative blob gas used {}") - .addArgument(transaction::toTraceLog) - .addArgument(selectedTransactions::size) - .addArgument(cumulativeGasUsed) - .addArgument(cumulativeBlobGasUsed) - .log(); - } - - public void updateNotSelected( - final Transaction transaction, final TransactionSelectionResult res) { - notSelectedTransactions.put(transaction, res); - } - - public List getSelectedTransactions() { - return selectedTransactions; - } - - public List getTransactionsByType(final TransactionType type) { - return transactionsByType.getOrDefault(type, List.of()); - } - - public List getReceipts() { - return receipts; - } - - public long getCumulativeGasUsed() { - return cumulativeGasUsed; - } - - public long getCumulativeBlobGasUsed() { - return cumulativeBlobGasUsed; - } - - public Map getNotSelectedTransactions() { - return notSelectedTransactions; - } - - public void logSelectionStats() { - if (LOG.isDebugEnabled()) { - final Map notSelectedStats = - notSelectedTransactions.values().stream() - .collect(Collectors.groupingBy(Function.identity(), Collectors.counting())); - - LOG.debug( - "Selection stats: Totals[Evaluated={}, Selected={}, NotSelected={}, Discarded={}]; Detailed[{}]", - selectedTransactions.size() + notSelectedTransactions.size(), - selectedTransactions.size(), - notSelectedStats.size(), - notSelectedStats.entrySet().stream() - .filter(e -> e.getKey().discard()) - .map(Map.Entry::getValue) - .mapToInt(Long::intValue) - .sum(), - notSelectedStats.entrySet().stream() - .map(e -> e.getKey().toString() + "=" + e.getValue()) - .sorted() - .collect(Collectors.joining(", "))); - } - } - - @Override - public boolean equals(final Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - TransactionSelectionResults that = (TransactionSelectionResults) o; - return cumulativeGasUsed == that.cumulativeGasUsed - && cumulativeBlobGasUsed == that.cumulativeBlobGasUsed - && selectedTransactions.equals(that.selectedTransactions) - && notSelectedTransactions.equals(that.notSelectedTransactions) - && receipts.equals(that.receipts); - } - - @Override - public int hashCode() { - return Objects.hash( - selectedTransactions, - notSelectedTransactions, - receipts, - cumulativeGasUsed, - cumulativeBlobGasUsed); - } - - public String toTraceLog() { - return "cumulativeGasUsed=" - + cumulativeGasUsed - + ", cumulativeBlobGasUsed=" - + cumulativeBlobGasUsed - + ", selectedTransactions=" - + selectedTransactions.stream() - .map(Transaction::toTraceLog) - .collect(Collectors.joining("; ")) - + ", notSelectedTransactions=" - + notSelectedTransactions.entrySet().stream() - .map(e -> e.getValue() + ":" + e.getKey().toTraceLog()) - .collect(Collectors.joining(";")); - } - } - - private static final Logger LOG = LoggerFactory.getLogger(BlockTransactionSelector.class); - private static final TransactionSelector ALWAYS_SELECT = - (_1, _2, _3, _4) -> TransactionSelectionResult.SELECTED; - private final Wei minTransactionGasPrice; - private final Double minBlockOccupancyRatio; - private final Supplier isCancelled; - private final MainnetTransactionProcessor transactionProcessor; - private final ProcessableBlockHeader processableBlockHeader; - private final Blockchain blockchain; - private final MutableWorldState worldState; - private final TransactionPool transactionPool; - private final AbstractBlockProcessor.TransactionReceiptFactory transactionReceiptFactory; - private final Address miningBeneficiary; - private final Wei blobGasPrice; - private final FeeMarket feeMarket; - private final GasCalculator gasCalculator; - private final GasLimitCalculator gasLimitCalculator; - private final TransactionSelector transactionSelector; - private final TransactionSelectionResults transactionSelectionResults = - new TransactionSelectionResults(); - - public BlockTransactionSelector( - final MainnetTransactionProcessor transactionProcessor, - final Blockchain blockchain, - final MutableWorldState worldState, - final TransactionPool transactionPool, - final ProcessableBlockHeader processableBlockHeader, - final AbstractBlockProcessor.TransactionReceiptFactory transactionReceiptFactory, - final Wei minTransactionGasPrice, - final Double minBlockOccupancyRatio, - final Supplier isCancelled, - final Address miningBeneficiary, - final Wei blobGasPrice, - final FeeMarket feeMarket, - final GasCalculator gasCalculator, - final GasLimitCalculator gasLimitCalculator, - final Optional transactionSelectorFactory) { - this.transactionProcessor = transactionProcessor; - this.blockchain = blockchain; - this.worldState = worldState; - this.transactionPool = transactionPool; - this.processableBlockHeader = processableBlockHeader; - this.transactionReceiptFactory = transactionReceiptFactory; - this.isCancelled = isCancelled; - this.minTransactionGasPrice = minTransactionGasPrice; - this.minBlockOccupancyRatio = minBlockOccupancyRatio; - this.miningBeneficiary = miningBeneficiary; - this.blobGasPrice = blobGasPrice; - this.feeMarket = feeMarket; - this.gasCalculator = gasCalculator; - this.gasLimitCalculator = gasLimitCalculator; - this.transactionSelector = - transactionSelectorFactory.map(TransactionSelectorFactory::create).orElse(ALWAYS_SELECT); - } - - /* - This function iterates over (potentially) all transactions in the PendingTransactions, this is a - long-running process. If running in a thread, it can be cancelled via the isCancelled supplier (which will result - in this throwing a CancellationException). - */ - public TransactionSelectionResults buildTransactionListForBlock() { - LOG.atDebug() - .setMessage("Transaction pool stats {}") - .addArgument(transactionPool::logStats) - .log(); - transactionPool.selectTransactions( - pendingTransaction -> { - final var res = evaluateTransaction(pendingTransaction); - if (!res.selected()) { - transactionSelectionResults.updateNotSelected(pendingTransaction, res); - } - return res; - }); - LOG.atTrace() - .setMessage("Transaction selection result {}") - .addArgument(transactionSelectionResults::toTraceLog) - .log(); - return transactionSelectionResults; - } - - /** - * Evaluate the given transactions and return the result of that evaluation. - * - * @param transactions The set of transactions to evaluate. - * @return The {@code TransactionSelectionResults} results of transaction evaluation. - */ - public TransactionSelectionResults evaluateTransactions(final List transactions) { - transactions.forEach( - transaction -> { - final var res = evaluateTransaction(transaction); - if (!res.selected()) { - transactionSelectionResults.updateNotSelected(transaction, res); - } - }); - return transactionSelectionResults; - } - - /* - * Passed into the PendingTransactions, and is called on each transaction until sufficient - * transactions are found which fill a block worth of gas. - * - * This function will continue to be called until the block under construction is suitably - * full (in terms of gasLimit) and the provided transaction's gasLimit does not fit within - * the space remaining in the block. - * - */ - private TransactionSelectionResult evaluateTransaction(final Transaction transaction) { - if (isCancelled.get()) { - throw new CancellationException("Cancelled during transaction selection."); - } - - if (transactionTooLargeForBlock(transaction)) { - LOG.atTrace() - .setMessage("Transaction {} too large to select for block creation") - .addArgument(transaction::toTraceLog) - .log(); - if (blockOccupancyAboveThreshold()) { - LOG.trace("Block occupancy above threshold, completing operation"); - return TransactionSelectionResult.BLOCK_OCCUPANCY_ABOVE_THRESHOLD; - } else if (blockFull()) { - LOG.trace("Block full, completing operation"); - return TransactionSelectionResult.BLOCK_FULL; - } else { - return TransactionSelectionResult.TX_TOO_LARGE_FOR_REMAINING_GAS; - } - } - - if (transactionCurrentPriceBelowMin(transaction)) { - return TransactionSelectionResult.CURRENT_TX_PRICE_BELOW_MIN; - } - if (transactionDataPriceBelowMin(transaction)) { - return TransactionSelectionResult.DATA_PRICE_BELOW_CURRENT_MIN; - } - - final WorldUpdater worldStateUpdater = worldState.updater(); - final BlockHashLookup blockHashLookup = - new CachingBlockHashLookup(processableBlockHeader, blockchain); - - final TransactionProcessingResult effectiveResult = - transactionProcessor.processTransaction( - blockchain, - worldStateUpdater, - processableBlockHeader, - transaction, - miningBeneficiary, - blockHashLookup, - false, - TransactionValidationParams.mining(), - blobGasPrice); - - if (!effectiveResult.isInvalid()) { - - final long gasUsedByTransaction = - transaction.getGasLimit() - effectiveResult.getGasRemaining(); - - final long cumulativeGasUsed = - transactionSelectionResults.getCumulativeGasUsed() + gasUsedByTransaction; - - // check if the transaction is valid also for an optional configured plugin - final TransactionSelectionResult txSelectionResult = - transactionSelector.selectTransaction( - transaction, - effectiveResult.getStatus() == TransactionProcessingResult.Status.SUCCESSFUL, - getLogs(effectiveResult.getLogs()), - cumulativeGasUsed); - - if (txSelectionResult.equals(TransactionSelectionResult.SELECTED)) { - - worldStateUpdater.commit(); - final TransactionReceipt receipt = - transactionReceiptFactory.create( - transaction.getType(), effectiveResult, worldState, cumulativeGasUsed); - - final long blobGasUsed = gasCalculator.blobGasCost(transaction.getBlobCount()); - - transactionSelectionResults.updateSelected( - transaction, receipt, gasUsedByTransaction, blobGasUsed); - - LOG.atTrace() - .setMessage("Selected {} for block creation") - .addArgument(transaction::toTraceLog) - .log(); - - return TransactionSelectionResult.SELECTED; - } - - // the transaction is not valid for the plugin - return txSelectionResult; - } - - return transactionSelectionResultForInvalidResult( - transaction, effectiveResult.getValidationResult()); - } - - private List getLogs(final List logs) { - return logs.stream().map(LogsWrapper::new).collect(Collectors.toList()); - } - - private boolean transactionDataPriceBelowMin(final Transaction transaction) { - if (transaction.getType().supportsBlob()) { - if (transaction.getMaxFeePerBlobGas().orElseThrow().lessThan(blobGasPrice)) { - return true; - } - } - return false; - } - - private boolean transactionCurrentPriceBelowMin(final Transaction transaction) { - // Here we only care about EIP1159 since for Frontier and local transactions the checks - // that we do when accepting them in the pool are enough - if (transaction.getType().supports1559FeeMarket() - && !transactionPool.isLocalSender(transaction.getSender())) { - - // For EIP1559 transactions, the price is dynamic and depends on network conditions, so we can - // only calculate at this time the current minimum price the transaction is willing to pay - // and if it is above the minimum accepted by the node. - // If below we do not delete the transaction, since when we added the transaction to the pool, - // we assured sure that the maxFeePerGas is >= of the minimum price accepted by the node - // and so the price of the transaction could satisfy this rule in the future - final Wei currentMinTransactionGasPriceInBlock = - feeMarket - .getTransactionPriceCalculator() - .price(transaction, processableBlockHeader.getBaseFee()); - if (minTransactionGasPrice.compareTo(currentMinTransactionGasPriceInBlock) > 0) { - LOG.trace( - "Current gas fee of {} is lower than configured minimum {}, skipping", - transaction, - minTransactionGasPrice); - return true; - } - } - return false; - } - - private TransactionSelectionResult transactionSelectionResultForInvalidResult( - final Transaction transaction, - final ValidationResult invalidReasonValidationResult) { - - final TransactionInvalidReason invalidReason = invalidReasonValidationResult.getInvalidReason(); - // If the invalid reason is transient, then leave the transaction in the pool and continue - if (isTransientValidationError(invalidReason)) { - LOG.atTrace() - .setMessage("Transient validation error {} for transaction {} keeping it in the pool") - .addArgument(invalidReason) - .addArgument(transaction::toTraceLog) - .log(); - return TransactionSelectionResult.invalidTransient(invalidReason.name()); - } - // If the transaction was invalid for any other reason, delete it, and continue. - LOG.atTrace() - .setMessage("Delete invalid transaction {}, reason {}") - .addArgument(transaction::toTraceLog) - .addArgument(invalidReason) - .log(); - return TransactionSelectionResult.invalid(invalidReason.name()); - } - - private boolean isTransientValidationError(final TransactionInvalidReason invalidReason) { - return invalidReason.equals(TransactionInvalidReason.GAS_PRICE_BELOW_CURRENT_BASE_FEE) - || invalidReason.equals(TransactionInvalidReason.NONCE_TOO_HIGH); - } - - private boolean transactionTooLargeForBlock(final Transaction transaction) { - final long blobGasUsed = gasCalculator.blobGasCost(transaction.getBlobCount()); - - if (blobGasUsed - > gasLimitCalculator.currentBlobGasLimit() - - transactionSelectionResults.getCumulativeBlobGasUsed()) { - return true; - } - - return transaction.getGasLimit() + blobGasUsed - > processableBlockHeader.getGasLimit() - transactionSelectionResults.getCumulativeGasUsed(); - } - - private boolean blockOccupancyAboveThreshold() { - final long gasAvailable = processableBlockHeader.getGasLimit(); - - final long gasUsed = transactionSelectionResults.getCumulativeGasUsed(); - final long gasRemaining = gasAvailable - gasUsed; - final double occupancyRatio = (double) gasUsed / (double) gasAvailable; - - LOG.trace( - "Min block occupancy ratio {}, gas used {}, available {}, remaining {}, used/available {}", - minBlockOccupancyRatio, - gasUsed, - gasAvailable, - gasRemaining, - occupancyRatio); - - return occupancyRatio >= minBlockOccupancyRatio; - } - - private boolean blockFull() { - final long gasAvailable = processableBlockHeader.getGasLimit(); - final long gasUsed = transactionSelectionResults.getCumulativeGasUsed(); - - final long gasRemaining = gasAvailable - gasUsed; - - if (gasRemaining < gasCalculator.getMinimumTransactionCost()) { - LOG.trace( - "Block full, remaining gas {} is less than minimum transaction gas cost {}", - gasRemaining, - gasCalculator.getMinimumTransactionCost()); - return true; - } - return false; - } -} diff --git a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/BlockSelectionContext.java b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/BlockSelectionContext.java new file mode 100644 index 00000000000..0292f0bf67c --- /dev/null +++ b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/BlockSelectionContext.java @@ -0,0 +1,34 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.ethereum.blockcreation.txselection; + +import org.hyperledger.besu.datatypes.Address; +import org.hyperledger.besu.datatypes.Wei; +import org.hyperledger.besu.ethereum.GasLimitCalculator; +import org.hyperledger.besu.ethereum.core.ProcessableBlockHeader; +import org.hyperledger.besu.ethereum.eth.transactions.TransactionPool; +import org.hyperledger.besu.ethereum.mainnet.feemarket.FeeMarket; +import org.hyperledger.besu.evm.gascalculator.GasCalculator; + +public record BlockSelectionContext( + GasCalculator gasCalculator, + GasLimitCalculator gasLimitCalculator, + Wei minTransactionGasPrice, + Double minBlockOccupancyRatio, + ProcessableBlockHeader processableBlockHeader, + FeeMarket feeMarket, + Wei blobGasPrice, + Address miningBeneficiary, + TransactionPool transactionPool) {} diff --git a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/BlockTransactionSelector.java b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/BlockTransactionSelector.java new file mode 100644 index 00000000000..68ea7444060 --- /dev/null +++ b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/BlockTransactionSelector.java @@ -0,0 +1,320 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.ethereum.blockcreation.txselection; + +import org.hyperledger.besu.datatypes.Address; +import org.hyperledger.besu.datatypes.Wei; +import org.hyperledger.besu.ethereum.GasLimitCalculator; +import org.hyperledger.besu.ethereum.blockcreation.txselection.selectors.AbstractTransactionSelector; +import org.hyperledger.besu.ethereum.blockcreation.txselection.selectors.BlobPriceTransactionSelector; +import org.hyperledger.besu.ethereum.blockcreation.txselection.selectors.BlockSizeTransactionSelector; +import org.hyperledger.besu.ethereum.blockcreation.txselection.selectors.PriceTransactionSelector; +import org.hyperledger.besu.ethereum.blockcreation.txselection.selectors.ProcessingResultTransactionSelector; +import org.hyperledger.besu.ethereum.chain.Blockchain; +import org.hyperledger.besu.ethereum.core.MutableWorldState; +import org.hyperledger.besu.ethereum.core.ProcessableBlockHeader; +import org.hyperledger.besu.ethereum.core.Transaction; +import org.hyperledger.besu.ethereum.core.TransactionReceipt; +import org.hyperledger.besu.ethereum.eth.transactions.TransactionPool; +import org.hyperledger.besu.ethereum.mainnet.AbstractBlockProcessor; +import org.hyperledger.besu.ethereum.mainnet.MainnetTransactionProcessor; +import org.hyperledger.besu.ethereum.mainnet.TransactionValidationParams; +import org.hyperledger.besu.ethereum.mainnet.feemarket.FeeMarket; +import org.hyperledger.besu.ethereum.processing.TransactionProcessingResult; +import org.hyperledger.besu.ethereum.vm.BlockHashLookup; +import org.hyperledger.besu.ethereum.vm.CachingBlockHashLookup; +import org.hyperledger.besu.evm.gascalculator.GasCalculator; +import org.hyperledger.besu.evm.worldstate.WorldUpdater; +import org.hyperledger.besu.plugin.data.TransactionSelectionResult; +import org.hyperledger.besu.plugin.services.txselection.TransactionSelector; +import org.hyperledger.besu.plugin.services.txselection.TransactionSelectorFactory; + +import java.util.List; +import java.util.Optional; +import java.util.concurrent.CancellationException; +import java.util.function.Supplier; +import java.util.stream.Collectors; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Responsible for extracting transactions from PendingTransactions and determining if the + * transaction is suitable for inclusion in the block defined by the provided + * ProcessableBlockHeader. + * + *

If a transaction is suitable for inclusion, the world state must be updated, and a receipt + * generated. + * + *

The output from this class's execution will be: + * + *

    + *
  • A list of transactions to include in the block being constructed. + *
  • A list of receipts for inclusion in the block. + *
  • The root hash of the world state at the completion of transaction execution. + *
  • The amount of gas consumed when executing all transactions. + *
  • A list of transactions evaluated but not included in the block being constructed. + *
+ * + * Once "used" this class must be discarded and another created. This class contains state which is + * not cleared between executions of buildTransactionListForBlock(). + */ +public class BlockTransactionSelector { + private static final Logger LOG = LoggerFactory.getLogger(BlockTransactionSelector.class); + private final Supplier isCancelled; + private final MainnetTransactionProcessor transactionProcessor; + private final Blockchain blockchain; + private final MutableWorldState worldState; + private final AbstractBlockProcessor.TransactionReceiptFactory transactionReceiptFactory; + private final BlockSelectionContext blockSelectionContext; + private final TransactionSelectionResults transactionSelectionResults = + new TransactionSelectionResults(); + private final List transactionSelectors; + private final List externalTransactionSelectors; + + public BlockTransactionSelector( + final MainnetTransactionProcessor transactionProcessor, + final Blockchain blockchain, + final MutableWorldState worldState, + final TransactionPool transactionPool, + final ProcessableBlockHeader processableBlockHeader, + final AbstractBlockProcessor.TransactionReceiptFactory transactionReceiptFactory, + final Wei minTransactionGasPrice, + final Double minBlockOccupancyRatio, + final Supplier isCancelled, + final Address miningBeneficiary, + final Wei blobGasPrice, + final FeeMarket feeMarket, + final GasCalculator gasCalculator, + final GasLimitCalculator gasLimitCalculator, + final Optional transactionSelectorFactory) { + this.transactionProcessor = transactionProcessor; + this.blockchain = blockchain; + this.worldState = worldState; + this.transactionReceiptFactory = transactionReceiptFactory; + this.isCancelled = isCancelled; + this.blockSelectionContext = + new BlockSelectionContext( + gasCalculator, + gasLimitCalculator, + minTransactionGasPrice, + minBlockOccupancyRatio, + processableBlockHeader, + feeMarket, + blobGasPrice, + miningBeneficiary, + transactionPool); + transactionSelectors = createTransactionSelectors(blockSelectionContext); + externalTransactionSelectors = + createExternalTransactionSelectors( + transactionSelectorFactory.map(List::of).orElseGet(List::of)); + } + + /** + * Builds a list of transactions for a block by iterating over all transactions in the + * PendingTransactions pool. This operation can be long-running and, if executed in a separate + * thread, can be cancelled via the isCancelled supplier, which would result in a + * CancellationException. + * + * @return The {@code TransactionSelectionResults} containing the results of transaction + * evaluation. + */ + public TransactionSelectionResults buildTransactionListForBlock() { + LOG.atDebug() + .setMessage("Transaction pool stats {}") + .addArgument(blockSelectionContext.transactionPool().logStats()) + .log(); + blockSelectionContext + .transactionPool() + .selectTransactions( + pendingTransaction -> { + final var res = evaluateTransaction(pendingTransaction); + if (!res.selected()) { + transactionSelectionResults.updateNotSelected(pendingTransaction, res); + } + return res; + }); + LOG.atTrace() + .setMessage("Transaction selection result {}") + .addArgument(transactionSelectionResults::toTraceLog) + .log(); + return transactionSelectionResults; + } + + /** + * Evaluates a list of transactions and updates the selection results accordingly. If a + * transaction is not selected during the evaluation, it is updated as not selected in the + * transaction selection results. + * + * @param transactions The list of transactions to be evaluated. + * @return The {@code TransactionSelectionResults} containing the results of the transaction + * evaluations. + */ + public TransactionSelectionResults evaluateTransactions(final List transactions) { + transactions.forEach( + transaction -> { + final var res = evaluateTransaction(transaction); + if (!res.selected()) { + transactionSelectionResults.updateNotSelected(transaction, res); + } + }); + return transactionSelectionResults; + } + + /* + * Passed into the PendingTransactions, and is called on each transaction until sufficient + * transactions are found which fill a block worth of gas. + * + * This function will continue to be called until the block under construction is suitably + * full (in terms of gasLimit) and the provided transaction's gasLimit does not fit within + * the space remaining in the block. + * + */ + private TransactionSelectionResult evaluateTransaction(final Transaction transaction) { + if (isCancelled.get()) { + throw new CancellationException("Cancelled during transaction selection."); + } + + TransactionSelectionResult selectionResult = evaluateTransactionPreProcessing(transaction); + if (!selectionResult.selected()) { + return selectionResult; + } + + final WorldUpdater worldStateUpdater = worldState.updater(); + final BlockHashLookup blockHashLookup = + new CachingBlockHashLookup(blockSelectionContext.processableBlockHeader(), blockchain); + + final TransactionProcessingResult effectiveResult = + transactionProcessor.processTransaction( + blockchain, + worldStateUpdater, + blockSelectionContext.processableBlockHeader(), + transaction, + blockSelectionContext.miningBeneficiary(), + blockHashLookup, + false, + TransactionValidationParams.mining(), + blockSelectionContext.blobGasPrice()); + + var transactionWithProcessingContextResult = + evaluateTransactionPostProcessing(transaction, effectiveResult); + if (!transactionWithProcessingContextResult.selected()) { + return transactionWithProcessingContextResult; + } + + final long gasUsedByTransaction = transaction.getGasLimit() - effectiveResult.getGasRemaining(); + final long cumulativeGasUsed = + transactionSelectionResults.getCumulativeGasUsed() + gasUsedByTransaction; + + worldStateUpdater.commit(); + final TransactionReceipt receipt = + transactionReceiptFactory.create( + transaction.getType(), effectiveResult, worldState, cumulativeGasUsed); + + final long blobGasUsed = + blockSelectionContext.gasCalculator().blobGasCost(transaction.getBlobCount()); + + transactionSelectionResults.updateSelected( + transaction, receipt, gasUsedByTransaction, blobGasUsed); + + LOG.atTrace() + .setMessage("Selected {} for block creation") + .addArgument(transaction::toTraceLog) + .log(); + + return TransactionSelectionResult.SELECTED; + } + + /** + * This method evaluates a transaction by pre-processing it through a series of selectors. It + * first processes the transaction through internal selectors, and if the transaction is selected, + * it then processes it through external selectors. If the transaction is selected by all + * selectors, it returns SELECTED. + * + * @param transaction The transaction to be evaluated. + * @return The result of the transaction selection process. + */ + private TransactionSelectionResult evaluateTransactionPreProcessing( + final Transaction transaction) { + + // Process the transaction through internal selectors + for (var selector : transactionSelectors) { + TransactionSelectionResult result = + selector.evaluateTransactionPreProcessing(transaction, transactionSelectionResults); + // If the transaction is not selected by any internal selector, return the result + if (!result.equals(TransactionSelectionResult.SELECTED)) { + return result; + } + } + + // Process the transaction through external selectors + for (var selector : externalTransactionSelectors) { + TransactionSelectionResult result = selector.evaluateTransactionPreProcessing(transaction); + // If the transaction is not selected by any external selector, return the result + if (!result.equals(TransactionSelectionResult.SELECTED)) { + return result; + } + } + // If the transaction is selected by all selectors, return SELECTED + return TransactionSelectionResult.SELECTED; + } + + /** + * This method evaluates a transaction by processing it through a series of selectors. Each + * selector may use the transaction and/or the result of the transaction processing to decide + * whether the transaction should be included in a block. If the transaction is selected by all + * selectors, it returns SELECTED. + * + * @param transaction The transaction to be evaluated. + * @param processingResult The result of the transaction processing. + * @return The result of the transaction selection process. + */ + private TransactionSelectionResult evaluateTransactionPostProcessing( + final Transaction transaction, final TransactionProcessingResult processingResult) { + + // Process the transaction through internal selectors + for (var selector : transactionSelectors) { + TransactionSelectionResult result = + selector.evaluateTransactionPostProcessing( + transaction, transactionSelectionResults, processingResult); + // If the transaction is not selected by any selector, return the result + if (!result.equals(TransactionSelectionResult.SELECTED)) { + return result; + } + } + + // TODO: External selectors are not used here because TransactionProcessingResult is not + // exposed to the Plugin API yet. + + // If the transaction is selected by all selectors, return SELECTED + return TransactionSelectionResult.SELECTED; + } + + private List createTransactionSelectors( + final BlockSelectionContext context) { + return List.of( + new BlockSizeTransactionSelector(context), + new PriceTransactionSelector(context), + new BlobPriceTransactionSelector(context), + new ProcessingResultTransactionSelector(context)); + } + + private List createExternalTransactionSelectors( + final List transactionSelectorFactory) { + return transactionSelectorFactory.stream() + .map(TransactionSelectorFactory::create) + .collect(Collectors.toList()); + } +} diff --git a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/TransactionSelectionResults.java b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/TransactionSelectionResults.java new file mode 100644 index 00000000000..b28640bae40 --- /dev/null +++ b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/TransactionSelectionResults.java @@ -0,0 +1,161 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.ethereum.blockcreation.txselection; + +import org.hyperledger.besu.datatypes.TransactionType; +import org.hyperledger.besu.ethereum.core.Transaction; +import org.hyperledger.besu.ethereum.core.TransactionReceipt; +import org.hyperledger.besu.plugin.data.TransactionSelectionResult; + +import java.util.ArrayList; +import java.util.EnumMap; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.function.Function; +import java.util.stream.Collectors; + +import com.google.common.collect.Lists; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class TransactionSelectionResults { + private static final Logger LOG = LoggerFactory.getLogger(TransactionSelectionResults.class); + + private final List selectedTransactions = Lists.newArrayList(); + private final Map> transactionsByType = + new EnumMap<>(TransactionType.class); + private final List receipts = Lists.newArrayList(); + private final Map notSelectedTransactions = + new HashMap<>(); + private long cumulativeGasUsed = 0; + private long cumulativeBlobGasUsed = 0; + + void updateSelected( + final Transaction transaction, + final TransactionReceipt receipt, + final long gasUsed, + final long blobGasUsed) { + selectedTransactions.add(transaction); + transactionsByType + .computeIfAbsent(transaction.getType(), type -> new ArrayList<>()) + .add(transaction); + receipts.add(receipt); + cumulativeGasUsed += gasUsed; + cumulativeBlobGasUsed += blobGasUsed; + LOG.atTrace() + .setMessage( + "New selected transaction {}, total transactions {}, cumulative gas used {}, cumulative blob gas used {}") + .addArgument(transaction::toTraceLog) + .addArgument(selectedTransactions::size) + .addArgument(cumulativeGasUsed) + .addArgument(cumulativeBlobGasUsed) + .log(); + } + + public void updateNotSelected( + final Transaction transaction, final TransactionSelectionResult res) { + notSelectedTransactions.put(transaction, res); + } + + public List getSelectedTransactions() { + return selectedTransactions; + } + + public List getTransactionsByType(final TransactionType type) { + return transactionsByType.getOrDefault(type, List.of()); + } + + public List getReceipts() { + return receipts; + } + + public long getCumulativeGasUsed() { + return cumulativeGasUsed; + } + + public long getCumulativeBlobGasUsed() { + return cumulativeBlobGasUsed; + } + + public Map getNotSelectedTransactions() { + return notSelectedTransactions; + } + + public void logSelectionStats() { + if (LOG.isDebugEnabled()) { + final Map notSelectedStats = + notSelectedTransactions.values().stream() + .collect(Collectors.groupingBy(Function.identity(), Collectors.counting())); + + LOG.debug( + "Selection stats: Totals[Evaluated={}, Selected={}, NotSelected={}, Discarded={}]; Detailed[{}]", + selectedTransactions.size() + notSelectedTransactions.size(), + selectedTransactions.size(), + notSelectedStats.size(), + notSelectedStats.entrySet().stream() + .filter(e -> e.getKey().discard()) + .map(Map.Entry::getValue) + .mapToInt(Long::intValue) + .sum(), + notSelectedStats.entrySet().stream() + .map(e -> e.getKey().toString() + "=" + e.getValue()) + .sorted() + .collect(Collectors.joining(", "))); + } + } + + @Override + public boolean equals(final Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TransactionSelectionResults that = (TransactionSelectionResults) o; + return cumulativeGasUsed == that.cumulativeGasUsed + && cumulativeBlobGasUsed == that.cumulativeBlobGasUsed + && selectedTransactions.equals(that.selectedTransactions) + && notSelectedTransactions.equals(that.notSelectedTransactions) + && receipts.equals(that.receipts); + } + + @Override + public int hashCode() { + return Objects.hash( + selectedTransactions, + notSelectedTransactions, + receipts, + cumulativeGasUsed, + cumulativeBlobGasUsed); + } + + public String toTraceLog() { + return "cumulativeGasUsed=" + + cumulativeGasUsed + + ", cumulativeBlobGasUsed=" + + cumulativeBlobGasUsed + + ", selectedTransactions=" + + selectedTransactions.stream() + .map(Transaction::toTraceLog) + .collect(Collectors.joining("; ")) + + ", notSelectedTransactions=" + + notSelectedTransactions.entrySet().stream() + .map(e -> e.getValue() + ":" + e.getKey().toTraceLog()) + .collect(Collectors.joining(";")); + } +} diff --git a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/AbstractTransactionSelector.java b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/AbstractTransactionSelector.java new file mode 100644 index 00000000000..3e89bb61006 --- /dev/null +++ b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/AbstractTransactionSelector.java @@ -0,0 +1,57 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.ethereum.blockcreation.txselection.selectors; + +import org.hyperledger.besu.ethereum.blockcreation.txselection.BlockSelectionContext; +import org.hyperledger.besu.ethereum.blockcreation.txselection.TransactionSelectionResults; +import org.hyperledger.besu.ethereum.core.Transaction; +import org.hyperledger.besu.ethereum.processing.TransactionProcessingResult; +import org.hyperledger.besu.plugin.data.TransactionSelectionResult; + +/** + * This class represents an abstract transaction selector which provides methods to evaluate + * transactions. + */ +public abstract class AbstractTransactionSelector { + final BlockSelectionContext context; + + public AbstractTransactionSelector(final BlockSelectionContext context) { + this.context = context; + } + + /** + * Evaluates a transaction in the context of other transactions in the same block. + * + * @param transaction The transaction to be evaluated within a block. + * @param blockTransactionResults The results of other transaction evaluations in the same block. + * @return The result of the transaction evaluation + */ + public abstract TransactionSelectionResult evaluateTransactionPreProcessing( + final Transaction transaction, final TransactionSelectionResults blockTransactionResults); + + /** + * Evaluates a transaction considering other transactions in the same block and a transaction + * processing result. + * + * @param transaction The transaction to be evaluated. + * @param blockTransactionResults The results of other transaction evaluations in the same block. + * @param processingResult The result of transaction processing. + * @return The result of the transaction evaluation + */ + public abstract TransactionSelectionResult evaluateTransactionPostProcessing( + final Transaction transaction, + final TransactionSelectionResults blockTransactionResults, + final TransactionProcessingResult processingResult); +} diff --git a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/BlobPriceTransactionSelector.java b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/BlobPriceTransactionSelector.java new file mode 100644 index 00000000000..abf38621fd2 --- /dev/null +++ b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/BlobPriceTransactionSelector.java @@ -0,0 +1,81 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.ethereum.blockcreation.txselection.selectors; + +import org.hyperledger.besu.ethereum.blockcreation.txselection.BlockSelectionContext; +import org.hyperledger.besu.ethereum.blockcreation.txselection.TransactionSelectionResults; +import org.hyperledger.besu.ethereum.core.Transaction; +import org.hyperledger.besu.ethereum.processing.TransactionProcessingResult; +import org.hyperledger.besu.plugin.data.TransactionSelectionResult; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * This class extends AbstractTransactionSelector and provides a specific implementation for + * evaluating transactions based on Blob price. It checks if a transaction's current blob price is + * below the minimum and determines the selection result accordingly. + */ +public class BlobPriceTransactionSelector extends AbstractTransactionSelector { + private static final Logger LOG = LoggerFactory.getLogger(BlobPriceTransactionSelector.class); + + public BlobPriceTransactionSelector(final BlockSelectionContext context) { + super(context); + } + + /** + * Evaluates a transaction considering its blob price. + * + * @param transaction The transaction to be evaluated. + * @param ignored The results of other transaction evaluations in the same block. + * @return The result of the transaction selection. + */ + @Override + public TransactionSelectionResult evaluateTransactionPreProcessing( + final Transaction transaction, final TransactionSelectionResults ignored) { + if (transactionBlobPriceBelowMin(transaction)) { + return TransactionSelectionResult.BLOB_PRICE_BELOW_CURRENT_MIN; + } + return TransactionSelectionResult.SELECTED; + } + + @Override + public TransactionSelectionResult evaluateTransactionPostProcessing( + final Transaction transaction, + final TransactionSelectionResults blockTransactionResults, + final TransactionProcessingResult processingResult) { + // All necessary checks were done in the pre-processing method, so nothing to do here. + return TransactionSelectionResult.SELECTED; + } + + /** + * Checks if the transaction's blob price is below the minimum. + * + * @param transaction The transaction to be checked. + * @return True if the transaction's data price is below the minimum, false otherwise. + */ + private boolean transactionBlobPriceBelowMin(final Transaction transaction) { + if (transaction.getType().supportsBlob()) { + if (transaction.getMaxFeePerBlobGas().orElseThrow().lessThan(context.blobGasPrice())) { + LOG.trace( + "Max fee per Blob Gas {} below {}", + transaction.getMaxFeePerBlobGas(), + context.blobGasPrice()); + return true; + } + } + return false; + } +} diff --git a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/BlockSizeTransactionSelector.java b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/BlockSizeTransactionSelector.java new file mode 100644 index 00000000000..7cef4995e5e --- /dev/null +++ b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/BlockSizeTransactionSelector.java @@ -0,0 +1,150 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.ethereum.blockcreation.txselection.selectors; + +import org.hyperledger.besu.ethereum.blockcreation.txselection.BlockSelectionContext; +import org.hyperledger.besu.ethereum.blockcreation.txselection.TransactionSelectionResults; +import org.hyperledger.besu.ethereum.core.Transaction; +import org.hyperledger.besu.ethereum.processing.TransactionProcessingResult; +import org.hyperledger.besu.plugin.data.TransactionSelectionResult; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * This class extends AbstractTransactionSelector and provides a specific implementation for + * evaluating transactions based on block size. It checks if a transaction is too large for the + * block and determines the selection result accordingly. + */ +public class BlockSizeTransactionSelector extends AbstractTransactionSelector { + private static final Logger LOG = LoggerFactory.getLogger(BlockSizeTransactionSelector.class); + + public BlockSizeTransactionSelector(final BlockSelectionContext context) { + super(context); + } + + /** + * Evaluates a transaction considering other transactions in the same block. If the transaction is + * too large for the block returns a selection result based on block occupancy. + * + * @param transaction The transaction to be evaluated. + * @param transactionSelectionResults The results of other transaction evaluations in the same + * block. + * @return The result of the transaction selection. + */ + @Override + public TransactionSelectionResult evaluateTransactionPreProcessing( + final Transaction transaction, + final TransactionSelectionResults transactionSelectionResults) { + if (transactionTooLargeForBlock(transaction, transactionSelectionResults)) { + LOG.atTrace() + .setMessage("Transaction {} too large to select for block creation") + .addArgument(transaction::toTraceLog) + .log(); + if (blockOccupancyAboveThreshold(transactionSelectionResults)) { + LOG.trace("Block occupancy above threshold, completing operation"); + return TransactionSelectionResult.BLOCK_OCCUPANCY_ABOVE_THRESHOLD; + } else if (blockFull(transactionSelectionResults)) { + LOG.trace("Block full, completing operation"); + return TransactionSelectionResult.BLOCK_FULL; + } else { + return TransactionSelectionResult.TX_TOO_LARGE_FOR_REMAINING_GAS; + } + } + return TransactionSelectionResult.SELECTED; + } + + @Override + public TransactionSelectionResult evaluateTransactionPostProcessing( + final Transaction transaction, + final TransactionSelectionResults blockTransactionResults, + final TransactionProcessingResult processingResult) { + // All necessary checks were done in the pre-processing method, so nothing to do here. + return TransactionSelectionResult.SELECTED; + } + + /** + * Checks if the transaction is too large for the block. + * + * @param transaction The transaction to be checked. + * @param transactionSelectionResults The results of other transaction evaluations in the same + * block. + * @return True if the transaction is too large for the block, false otherwise. + */ + private boolean transactionTooLargeForBlock( + final Transaction transaction, + final TransactionSelectionResults transactionSelectionResults) { + final long blobGasUsed = context.gasCalculator().blobGasCost(transaction.getBlobCount()); + + if (blobGasUsed + > context.gasLimitCalculator().currentBlobGasLimit() + - transactionSelectionResults.getCumulativeBlobGasUsed()) { + return true; + } + + return transaction.getGasLimit() + blobGasUsed + > context.processableBlockHeader().getGasLimit() + - transactionSelectionResults.getCumulativeGasUsed(); + } + + /** + * Checks if the block occupancy is above the threshold. + * + * @param transactionSelectionResults The results of other transaction evaluations in the same + * block. + * @return True if the block occupancy is above the threshold, false otherwise. + */ + private boolean blockOccupancyAboveThreshold( + final TransactionSelectionResults transactionSelectionResults) { + final long gasAvailable = context.processableBlockHeader().getGasLimit(); + + final long gasUsed = transactionSelectionResults.getCumulativeGasUsed(); + final long gasRemaining = gasAvailable - gasUsed; + final double occupancyRatio = (double) gasUsed / (double) gasAvailable; + + LOG.trace( + "Min block occupancy ratio {}, gas used {}, available {}, remaining {}, used/available {}", + context.minBlockOccupancyRatio(), + gasUsed, + gasAvailable, + gasRemaining, + occupancyRatio); + + return occupancyRatio >= context.minBlockOccupancyRatio(); + } + + /** + * Checks if the block is full. + * + * @param transactionSelectionResults The results of other transaction evaluations in the same + * block. + * @return True if the block is full, false otherwise. + */ + private boolean blockFull(final TransactionSelectionResults transactionSelectionResults) { + final long gasAvailable = context.processableBlockHeader().getGasLimit(); + final long gasUsed = transactionSelectionResults.getCumulativeGasUsed(); + + final long gasRemaining = gasAvailable - gasUsed; + + if (gasRemaining < context.gasCalculator().getMinimumTransactionCost()) { + LOG.trace( + "Block full, remaining gas {} is less than minimum transaction gas cost {}", + gasRemaining, + context.gasCalculator().getMinimumTransactionCost()); + return true; + } + return false; + } +} diff --git a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/PriceTransactionSelector.java b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/PriceTransactionSelector.java new file mode 100644 index 00000000000..15755100e5c --- /dev/null +++ b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/PriceTransactionSelector.java @@ -0,0 +1,98 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.ethereum.blockcreation.txselection.selectors; + +import org.hyperledger.besu.datatypes.Wei; +import org.hyperledger.besu.ethereum.blockcreation.txselection.BlockSelectionContext; +import org.hyperledger.besu.ethereum.blockcreation.txselection.TransactionSelectionResults; +import org.hyperledger.besu.ethereum.core.Transaction; +import org.hyperledger.besu.ethereum.processing.TransactionProcessingResult; +import org.hyperledger.besu.plugin.data.TransactionSelectionResult; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * This class extends AbstractTransactionSelector and provides a specific implementation for + * evaluating transactions based on transaction price. It checks if a transaction's current price is + * below the minimum and determines the selection result accordingly. + */ +public class PriceTransactionSelector extends AbstractTransactionSelector { + private static final Logger LOG = LoggerFactory.getLogger(PriceTransactionSelector.class); + + public PriceTransactionSelector(final BlockSelectionContext context) { + super(context); + } + + /** + * Evaluates a transaction considering its price. If the transaction's current price is below the + * minimum, it returns a selection result indicating the reason. + * + * @param transaction The transaction to be evaluated. + * @param ignored The results of other transaction evaluations in the same block. + * @return The result of the transaction selection. + */ + @Override + public TransactionSelectionResult evaluateTransactionPreProcessing( + final Transaction transaction, final TransactionSelectionResults ignored) { + if (transactionCurrentPriceBelowMin(transaction)) { + return TransactionSelectionResult.CURRENT_TX_PRICE_BELOW_MIN; + } + return TransactionSelectionResult.SELECTED; + } + + @Override + public TransactionSelectionResult evaluateTransactionPostProcessing( + final Transaction transaction, + final TransactionSelectionResults blockTransactionResults, + final TransactionProcessingResult processingResult) { + // All necessary checks were done in the pre-processing method, so nothing to do here. + return TransactionSelectionResult.SELECTED; + } + + /** + * Checks if the transaction's current price is below the minimum. + * + * @param transaction The transaction to be checked. + * @return True if the transaction's current price is below the minimum, false otherwise. + */ + private boolean transactionCurrentPriceBelowMin(final Transaction transaction) { + // Here we only care about EIP1159 since for Frontier and local transactions the checks + // that we do when accepting them in the pool are enough + if (transaction.getType().supports1559FeeMarket() + && !context.transactionPool().isLocalSender(transaction.getSender())) { + + // For EIP1559 transactions, the price is dynamic and depends on network conditions, so we can + // only calculate at this time the current minimum price the transaction is willing to pay + // and if it is above the minimum accepted by the node. + // If below we do not delete the transaction, since when we added the transaction to the pool, + // we assured sure that the maxFeePerGas is >= of the minimum price accepted by the node + // and so the price of the transaction could satisfy this rule in the future + final Wei currentMinTransactionGasPriceInBlock = + context + .feeMarket() + .getTransactionPriceCalculator() + .price(transaction, context.processableBlockHeader().getBaseFee()); + if (context.minTransactionGasPrice().compareTo(currentMinTransactionGasPriceInBlock) > 0) { + LOG.trace( + "Current gas fee of {} is lower than configured minimum {}, skipping", + transaction, + context.minTransactionGasPrice()); + return true; + } + } + return false; + } +} diff --git a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/ProcessingResultTransactionSelector.java b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/ProcessingResultTransactionSelector.java new file mode 100644 index 00000000000..1fe71ee48f9 --- /dev/null +++ b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/ProcessingResultTransactionSelector.java @@ -0,0 +1,114 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.ethereum.blockcreation.txselection.selectors; + +import org.hyperledger.besu.ethereum.blockcreation.txselection.BlockSelectionContext; +import org.hyperledger.besu.ethereum.blockcreation.txselection.TransactionSelectionResults; +import org.hyperledger.besu.ethereum.core.Transaction; +import org.hyperledger.besu.ethereum.mainnet.ValidationResult; +import org.hyperledger.besu.ethereum.processing.TransactionProcessingResult; +import org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason; +import org.hyperledger.besu.plugin.data.TransactionSelectionResult; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * This class extends AbstractTransactionSelector and provides a specific implementation for + * evaluating transactions based on processing results. It checks if a transaction is invalid and + * determines the selection result accordingly. + */ +public class ProcessingResultTransactionSelector extends AbstractTransactionSelector { + private static final Logger LOG = + LoggerFactory.getLogger(ProcessingResultTransactionSelector.class); + + public ProcessingResultTransactionSelector(final BlockSelectionContext context) { + super(context); + } + + @Override + public TransactionSelectionResult evaluateTransactionPreProcessing( + final Transaction transaction, final TransactionSelectionResults blockTransactionResults) { + // All checks depend on processingResult and will be done in the post-processing method, so + // nothing to do here. + return TransactionSelectionResult.SELECTED; + } + + /** + * Evaluates a transaction considering other transactions in the same block and a processing + * result. If the processing result is invalid, it determines the selection result for the invalid + * result. + * + * @param transaction The transaction to be evaluated. + * @param blockTransactionResults The results of other transaction evaluations in the same block. + * @param processingResult The processing result of the transaction. + * @return The result of the transaction selection. + */ + @Override + public TransactionSelectionResult evaluateTransactionPostProcessing( + final Transaction transaction, + final TransactionSelectionResults blockTransactionResults, + final TransactionProcessingResult processingResult) { + + if (processingResult.isInvalid()) { + return transactionSelectionResultForInvalidResult( + transaction, processingResult.getValidationResult()); + } + return TransactionSelectionResult.SELECTED; + } + + /** + * Determines the transaction selection result for an invalid result. If the invalid reason is + * transient, returns an invalid transient result. If the invalid reason is not transient, returns + * an invalid result. + * + * @param transaction The invalid transaction. + * @param invalidReasonValidationResult The validation result containing the invalid reason. + * @return The transaction selection result. + */ + private TransactionSelectionResult transactionSelectionResultForInvalidResult( + final Transaction transaction, + final ValidationResult invalidReasonValidationResult) { + + final TransactionInvalidReason invalidReason = invalidReasonValidationResult.getInvalidReason(); + // If the invalid reason is transient, then leave the transaction in the pool and continue + if (isTransientValidationError(invalidReason)) { + LOG.atTrace() + .setMessage("Transient validation error {} for transaction {} keeping it in the pool") + .addArgument(invalidReason) + .addArgument(transaction::toTraceLog) + .log(); + return TransactionSelectionResult.invalidTransient(invalidReason.name()); + } + // If the transaction was invalid for any other reason, delete it, and continue. + LOG.atTrace() + .setMessage("Delete invalid transaction {}, reason {}") + .addArgument(transaction::toTraceLog) + .addArgument(invalidReason) + .log(); + return TransactionSelectionResult.invalid(invalidReason.name()); + } + + /** + * Checks if the invalid reason is a transient validation error. + * + * @param invalidReason The invalid reason. + * @return True if the invalid reason is transient, false otherwise. + */ + private boolean isTransientValidationError(final TransactionInvalidReason invalidReason) { + return invalidReason.equals(TransactionInvalidReason.GAS_PRICE_BELOW_CURRENT_BASE_FEE) + || invalidReason.equals(TransactionInvalidReason.NONCE_TOO_HIGH); + } +} diff --git a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockCreatorTest.java b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockCreatorTest.java index 460e0809b41..b5ad06d8248 100644 --- a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockCreatorTest.java +++ b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockCreatorTest.java @@ -40,6 +40,7 @@ import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.blockcreation.BlockCreator.BlockCreationResult; +import org.hyperledger.besu.ethereum.blockcreation.txselection.TransactionSelectionResults; import org.hyperledger.besu.ethereum.chain.MutableBlockchain; import org.hyperledger.besu.ethereum.core.BlobTestFixture; import org.hyperledger.besu.ethereum.core.BlockDataGenerator; @@ -100,8 +101,7 @@ abstract class AbstractBlockCreatorTest { void findDepositsFromReceipts() { final AbstractBlockCreator blockCreator = blockCreatorWithAllowedDeposits(Optional.of(DEFAULT_DEPOSIT_CONTRACT_ADDRESS)); - final BlockTransactionSelector.TransactionSelectionResults transactionResults = - mock(BlockTransactionSelector.TransactionSelectionResults.class); + final TransactionSelectionResults transactionResults = mock(TransactionSelectionResults.class); BlockDataGenerator blockDataGenerator = new BlockDataGenerator(); TransactionReceipt receiptWithoutDeposit1 = blockDataGenerator.receipt(); TransactionReceipt receiptWithoutDeposit2 = blockDataGenerator.receipt(); diff --git a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockTransactionSelectorTest.java b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockTransactionSelectorTest.java index 50e9cb48821..b15e61354b4 100644 --- a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockTransactionSelectorTest.java +++ b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockTransactionSelectorTest.java @@ -30,6 +30,8 @@ import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.GasLimitCalculator; import org.hyperledger.besu.ethereum.ProtocolContext; +import org.hyperledger.besu.ethereum.blockcreation.txselection.BlockTransactionSelector; +import org.hyperledger.besu.ethereum.blockcreation.txselection.TransactionSelectionResults; import org.hyperledger.besu.ethereum.chain.DefaultBlockchain; import org.hyperledger.besu.ethereum.chain.GenesisState; import org.hyperledger.besu.ethereum.chain.MutableBlockchain; @@ -192,8 +194,7 @@ public void emptyPendingTransactionsResultsInEmptyVettingResult() { Wei.ZERO, MIN_OCCUPANCY_80_PERCENT); - final BlockTransactionSelector.TransactionSelectionResults results = - selector.buildTransactionListForBlock(); + final TransactionSelectionResults results = selector.buildTransactionListForBlock(); assertThat(results.getSelectedTransactions()).isEmpty(); assertThat(results.getNotSelectedTransactions()).isEmpty(); @@ -221,8 +222,7 @@ public void validPendingTransactionIsIncludedInTheBlock() { Wei.ZERO, MIN_OCCUPANCY_80_PERCENT); - final BlockTransactionSelector.TransactionSelectionResults results = - selector.buildTransactionListForBlock(); + final TransactionSelectionResults results = selector.buildTransactionListForBlock(); assertThat(results.getSelectedTransactions()).containsExactly(transaction); assertThat(results.getNotSelectedTransactions()).isEmpty(); @@ -258,8 +258,7 @@ public void invalidTransactionsAreSkippedButBlockStillFills() { Wei.ZERO, MIN_OCCUPANCY_80_PERCENT); - final BlockTransactionSelector.TransactionSelectionResults results = - selector.buildTransactionListForBlock(); + final TransactionSelectionResults results = selector.buildTransactionListForBlock(); final Transaction invalidTx = transactionsToInject.get(1); @@ -298,8 +297,7 @@ public void subsetOfPendingTransactionsIncludedWhenBlockGasLimitHit() { Wei.ZERO, MIN_OCCUPANCY_80_PERCENT); - final BlockTransactionSelector.TransactionSelectionResults results = - selector.buildTransactionListForBlock(); + final TransactionSelectionResults results = selector.buildTransactionListForBlock(); assertThat(results.getSelectedTransactions().size()).isEqualTo(3); @@ -348,8 +346,7 @@ public void transactionTooLargeForBlockDoesNotPreventMoreBeingAddedIfBlockOccupa } transactionPool.addRemoteTransactions(Arrays.stream(txs).toList()); - final BlockTransactionSelector.TransactionSelectionResults results = - selector.buildTransactionListForBlock(); + final TransactionSelectionResults results = selector.buildTransactionListForBlock(); assertThat(results.getSelectedTransactions()).containsExactly(txs[0], txs[2]); assertThat(results.getNotSelectedTransactions()) @@ -387,8 +384,7 @@ public void transactionSelectionStopsWhenSufficientBlockOccupancyIsReached() { } transactionPool.addRemoteTransactions(Arrays.stream(txs).toList()); - final BlockTransactionSelector.TransactionSelectionResults results = - selector.buildTransactionListForBlock(); + final TransactionSelectionResults results = selector.buildTransactionListForBlock(); assertThat(results.getSelectedTransactions()).containsExactly(txs[0], txs[1]); assertThat(results.getNotSelectedTransactions()) @@ -437,8 +433,7 @@ public void transactionSelectionStopsWhenBlockIsFull() { } transactionPool.addRemoteTransactions(transactionsToInject); - final BlockTransactionSelector.TransactionSelectionResults results = - selector.buildTransactionListForBlock(); + final TransactionSelectionResults results = selector.buildTransactionListForBlock(); assertThat(results.getSelectedTransactions()) .containsExactly( @@ -493,8 +488,7 @@ public void transactionSelectionStopsWhenRemainingGasIsNotEnoughForAnyMoreTransa } transactionPool.addRemoteTransactions(transactionsToInject); - final BlockTransactionSelector.TransactionSelectionResults results = - selector.buildTransactionListForBlock(); + final TransactionSelectionResults results = selector.buildTransactionListForBlock(); assertThat(results.getSelectedTransactions()) .containsExactly(transactionsToInject.get(0), transactionsToInject.get(2)); @@ -530,8 +524,7 @@ public void shouldDiscardTransactionsThatFailValidation() { transactionPool.addRemoteTransactions(List.of(validTransaction, invalidTransaction)); - final BlockTransactionSelector.TransactionSelectionResults results = - selector.buildTransactionListForBlock(); + final TransactionSelectionResults results = selector.buildTransactionListForBlock(); assertThat(transactionPool.getTransactionByHash(validTransaction.getHash())).isPresent(); assertThat(transactionPool.getTransactionByHash(invalidTransaction.getHash())).isNotPresent(); @@ -559,7 +552,7 @@ public void transactionSelectionPluginShouldWork() { final TransactionSelectorFactory transactionSelectorFactory = () -> - (tx, s, logs, cg) -> { + (tx) -> { if (tx.equals(notSelectedTransient)) return TransactionSelectionResult.invalidTransient("transient"); if (tx.equals(notSelectedInvalid)) @@ -581,7 +574,7 @@ public void transactionSelectionPluginShouldWork() { transactionPool.addRemoteTransactions( List.of(selected, notSelectedInvalid, notSelectedTransient)); - final BlockTransactionSelector.TransactionSelectionResults transactionSelectionResults = + final TransactionSelectionResults transactionSelectionResults = selector.buildTransactionListForBlock(); assertThat(transactionPool.getTransactionByHash(notSelectedTransient.getHash())).isPresent(); @@ -612,8 +605,7 @@ public void transactionWithIncorrectNonceRemainsInPoolAndNotSelected() { Wei.ZERO, MIN_OCCUPANCY_80_PERCENT); - final BlockTransactionSelector.TransactionSelectionResults results = - selector.buildTransactionListForBlock(); + final TransactionSelectionResults results = selector.buildTransactionListForBlock(); assertThat(transactionPool.getTransactionByHash(futureTransaction.getHash())).isPresent(); assertThat(results.getSelectedTransactions()).isEmpty(); diff --git a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/BlockMinerTest.java b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/BlockMinerTest.java index 7bd64afe109..4222ad476c0 100644 --- a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/BlockMinerTest.java +++ b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/BlockMinerTest.java @@ -23,7 +23,7 @@ import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.blockcreation.BlockCreator.BlockCreationResult; -import org.hyperledger.besu.ethereum.blockcreation.BlockTransactionSelector.TransactionSelectionResults; +import org.hyperledger.besu.ethereum.blockcreation.txselection.TransactionSelectionResults; import org.hyperledger.besu.ethereum.chain.MinedBlockObserver; import org.hyperledger.besu.ethereum.core.Block; import org.hyperledger.besu.ethereum.core.BlockBody; diff --git a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/LondonFeeMarketBlockTransactionSelectorTest.java b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/LondonFeeMarketBlockTransactionSelectorTest.java index 0912c9d488a..29860d555a6 100644 --- a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/LondonFeeMarketBlockTransactionSelectorTest.java +++ b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/LondonFeeMarketBlockTransactionSelectorTest.java @@ -21,6 +21,8 @@ import org.hyperledger.besu.config.GenesisConfigFile; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Wei; +import org.hyperledger.besu.ethereum.blockcreation.txselection.BlockTransactionSelector; +import org.hyperledger.besu.ethereum.blockcreation.txselection.TransactionSelectionResults; import org.hyperledger.besu.ethereum.core.AddressHelpers; import org.hyperledger.besu.ethereum.core.PrivacyParameters; import org.hyperledger.besu.ethereum.core.ProcessableBlockHeader; @@ -117,8 +119,7 @@ public void eip1559TransactionCurrentGasPriceLessThanMinimumIsSkippedAndKeptInTh final var addResults = transactionPool.addRemoteTransactions(List.of(tx)); assertThat(addResults).extractingByKey(tx.getHash()).isEqualTo(ValidationResult.valid()); - final BlockTransactionSelector.TransactionSelectionResults results = - selector.buildTransactionListForBlock(); + final TransactionSelectionResults results = selector.buildTransactionListForBlock(); assertThat(results.getSelectedTransactions()).isEmpty(); assertThat(results.getNotSelectedTransactions()) @@ -147,8 +148,7 @@ public void eip1559TransactionCurrentGasPriceGreaterThanMinimumIsSelected() { ensureTransactionIsValid(tx); - final BlockTransactionSelector.TransactionSelectionResults results = - selector.buildTransactionListForBlock(); + final TransactionSelectionResults results = selector.buildTransactionListForBlock(); assertThat(results.getSelectedTransactions()).containsExactly(tx); assertThat(results.getNotSelectedTransactions()).isEmpty(); @@ -177,8 +177,7 @@ public void eip1559LocalTransactionCurrentGasPriceLessThanMinimumIsSelected() { ensureTransactionIsValid(tx); - final BlockTransactionSelector.TransactionSelectionResults results = - selector.buildTransactionListForBlock(); + final TransactionSelectionResults results = selector.buildTransactionListForBlock(); assertThat(results.getSelectedTransactions()).containsExactly(tx); assertThat(results.getNotSelectedTransactions()).isEmpty(); @@ -210,8 +209,7 @@ public void transactionFromSameSenderWithMixedTypes() { Wei.ZERO, MIN_OCCUPANCY_80_PERCENT); - final BlockTransactionSelector.TransactionSelectionResults results = - selector.buildTransactionListForBlock(); + final TransactionSelectionResults results = selector.buildTransactionListForBlock(); assertThat(results.getSelectedTransactions()) .containsExactly(txFrontier1, txLondon1, txFrontier2, txLondon2); diff --git a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/PoWBlockCreatorTest.java b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/PoWBlockCreatorTest.java index 07f5885f2b8..818210f88a4 100644 --- a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/PoWBlockCreatorTest.java +++ b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/PoWBlockCreatorTest.java @@ -26,7 +26,7 @@ import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.blockcreation.BlockCreator.BlockCreationResult; -import org.hyperledger.besu.ethereum.blockcreation.BlockTransactionSelector.TransactionSelectionResults; +import org.hyperledger.besu.ethereum.blockcreation.txselection.TransactionSelectionResults; import org.hyperledger.besu.ethereum.core.Block; import org.hyperledger.besu.ethereum.core.BlockHeaderBuilder; import org.hyperledger.besu.ethereum.core.Difficulty; diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsTest.java index 3fa94c3be1c..f3135045ad5 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsTest.java @@ -23,10 +23,10 @@ import static org.hyperledger.besu.ethereum.eth.transactions.layered.TransactionsLayer.RemovalReason.REPLACED; import static org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason.GAS_PRICE_BELOW_CURRENT_BASE_FEE; import static org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason.UPFRONT_COST_EXCEEDS_BALANCE; +import static org.hyperledger.besu.plugin.data.TransactionSelectionResult.BLOB_PRICE_BELOW_CURRENT_MIN; import static org.hyperledger.besu.plugin.data.TransactionSelectionResult.BLOCK_FULL; import static org.hyperledger.besu.plugin.data.TransactionSelectionResult.BLOCK_OCCUPANCY_ABOVE_THRESHOLD; import static org.hyperledger.besu.plugin.data.TransactionSelectionResult.CURRENT_TX_PRICE_BELOW_MIN; -import static org.hyperledger.besu.plugin.data.TransactionSelectionResult.DATA_PRICE_BELOW_CURRENT_MIN; import static org.hyperledger.besu.plugin.data.TransactionSelectionResult.SELECTED; import static org.hyperledger.besu.plugin.data.TransactionSelectionResult.TX_TOO_LARGE_FOR_REMAINING_GAS; import static org.mockito.Mockito.mock; @@ -401,7 +401,7 @@ public void ignoreSenderTransactionsAfterASkippedOne( static Stream ignoreSenderTransactionsAfterASkippedOne() { return Stream.of( CURRENT_TX_PRICE_BELOW_MIN, - DATA_PRICE_BELOW_CURRENT_MIN, + BLOB_PRICE_BELOW_CURRENT_MIN, TX_TOO_LARGE_FOR_REMAINING_GAS, TransactionSelectionResult.invalidTransient(GAS_PRICE_BELOW_CURRENT_BASE_FEE.name()), TransactionSelectionResult.invalid(UPFRONT_COST_EXCEEDS_BALANCE.name())); diff --git a/plugin-api/build.gradle b/plugin-api/build.gradle index 2aded925ce1..b66f7fef949 100644 --- a/plugin-api/build.gradle +++ b/plugin-api/build.gradle @@ -69,7 +69,7 @@ Calculated : ${currentHash} tasks.register('checkAPIChanges', FileStateChecker) { description = "Checks that the API for the Plugin-API project does not change without deliberate thought" files = sourceSets.main.allJava.files - knownHash = 'yJgCLn/XmaOwyIlpSw/6gbsM5eNNQQs6hmpTMvkezqk=' + knownHash = 'ON5/4jw14IPAL/Civ3ld6tvwrLsGS9eI38w5C0xRzdY=' } check.dependsOn('checkAPIChanges') diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/TransactionSelectionResult.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/TransactionSelectionResult.java index 08d3683bdce..ffae842ca72 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/TransactionSelectionResult.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/TransactionSelectionResult.java @@ -78,8 +78,8 @@ public String toString() { * The transaction has not been selected since its data price is below the current network data * price, but the selection should continue. */ - public static final TransactionSelectionResult DATA_PRICE_BELOW_CURRENT_MIN = - TransactionSelectionResult.invalidTransient("DATA_PRICE_BELOW_CURRENT_MIN"); + public static final TransactionSelectionResult BLOB_PRICE_BELOW_CURRENT_MIN = + TransactionSelectionResult.invalidTransient("BLOB_PRICE_BELOW_CURRENT_MIN"); private final Status status; private final Optional maybeInvalidReason; diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/TransactionSelector.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/TransactionSelector.java index 6322bd81387..c2682b5d8ab 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/TransactionSelector.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/TransactionSelector.java @@ -17,28 +17,17 @@ import org.hyperledger.besu.datatypes.Transaction; import org.hyperledger.besu.plugin.Unstable; -import org.hyperledger.besu.plugin.data.Log; import org.hyperledger.besu.plugin.data.TransactionSelectionResult; -import java.util.List; - /** Interface for the transaction selector */ @Unstable public interface TransactionSelector { - /** - * Method called to decide whether a transaction is added to a block. The method can also indicate + * Method called to decide whether a transaction is added to a block. The result can also indicate * that no further transactions can be added to the block. * * @param transaction candidate transaction - * @param success true, if the transaction executed successfully - * @param logs the logs created by this transaction - * @param cumulativeGasUsed gas used by this and all previous transaction in the block * @return TransactionSelectionResult that indicates whether to include the transaction */ - TransactionSelectionResult selectTransaction( - final Transaction transaction, - final boolean success, - final List logs, - final long cumulativeGasUsed); + TransactionSelectionResult evaluateTransactionPreProcessing(Transaction transaction); } From ef2d4181d8098dae8529e93f1623322927c81adb Mon Sep 17 00:00:00 2001 From: Justin Florentine Date: Wed, 27 Sep 2023 23:05:31 -0400 Subject: [PATCH 25/40] Apply fcu even on invalid payload (#5961) * payload validation moved earlier, fcu v2 checks for cancun timestamps * allow fcu when payload invalid --------- Signed-off-by: Justin Florentine --- .../AbstractEngineForkchoiceUpdated.java | 19 +++++++++---------- .../AbstractEngineForkchoiceUpdatedTest.java | 7 ++++++- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java index aca6ee9dc6b..8e471e2a113 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java @@ -102,6 +102,15 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext requestContext) } Optional> withdrawals = Optional.empty(); final BlockHeader newHead = maybeNewHead.get(); + if (!isValidForkchoiceState( + forkChoice.getSafeBlockHash(), forkChoice.getFinalizedBlockHash(), newHead)) { + logForkchoiceUpdatedCall(INVALID, forkChoice); + return new JsonRpcErrorResponse(requestId, RpcErrorType.INVALID_FORKCHOICE_STATE); + } + ForkchoiceResult result = + mergeCoordinator.updateForkChoice( + newHead, forkChoice.getFinalizedBlockHash(), forkChoice.getSafeBlockHash()); + if (maybePayloadAttributes.isPresent()) { final EnginePayloadAttributesParameter payloadAttributes = maybePayloadAttributes.get(); withdrawals = @@ -154,19 +163,9 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext requestContext) Optional.of(forkChoice.getHeadBlockHash() + " is an invalid block"))); } - if (!isValidForkchoiceState( - forkChoice.getSafeBlockHash(), forkChoice.getFinalizedBlockHash(), newHead)) { - logForkchoiceUpdatedCall(INVALID, forkChoice); - return new JsonRpcErrorResponse(requestId, RpcErrorType.INVALID_FORKCHOICE_STATE); - } - maybePayloadAttributes.ifPresentOrElse( this::logPayload, () -> LOG.debug("Payload attributes are null")); - ForkchoiceResult result = - mergeCoordinator.updateForkChoice( - newHead, forkChoice.getFinalizedBlockHash(), forkChoice.getSafeBlockHash()); - if (result.shouldNotProceedToPayloadBuildProcess()) { if (ForkchoiceResult.Status.IGNORE_UPDATE_TO_OLD_HEAD.equals(result.getStatus())) { logForkchoiceUpdatedCall(VALID, forkChoice); diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdatedTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdatedTest.java index 693271bf689..249a12d9f0b 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdatedTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdatedTest.java @@ -141,16 +141,21 @@ public void shouldReturnSyncingIfMissingNewHead() { @Test public void shouldReturnInvalidWithLatestValidHashOnBadBlock() { + BlockHeader mockParent = blockHeaderBuilder.buildHeader(); + blockHeaderBuilder.parentHash(mockParent.getHash()); BlockHeader mockHeader = blockHeaderBuilder.buildHeader(); Hash latestValidHash = Hash.hash(Bytes32.fromHexStringLenient("0xcafebabe")); + when(blockchain.getBlockHeader(mockHeader.getHash())).thenReturn(Optional.of(mockHeader)); + when(blockchain.getBlockHeader(mockHeader.getParentHash())).thenReturn(Optional.of(mockParent)); when(mergeCoordinator.getOrSyncHeadByHash(any(), any())).thenReturn(Optional.of(mockHeader)); when(mergeCoordinator.isBadBlock(mockHeader.getHash())).thenReturn(true); + when(mergeCoordinator.isDescendantOf(any(), any())).thenReturn(true); when(mergeCoordinator.getLatestValidHashOfBadBlock(mockHeader.getHash())) .thenReturn(Optional.of(latestValidHash)); assertSuccessWithPayloadForForkchoiceResult( new EngineForkchoiceUpdatedParameter( - mockHeader.getHash(), Hash.ZERO, mockHeader.getParentHash()), + mockHeader.getHash(), mockHeader.getParentHash(), mockHeader.getParentHash()), Optional.empty(), mock(ForkchoiceResult.class), INVALID, From 8980835398bf58120eab507021c714a458b832e5 Mon Sep 17 00:00:00 2001 From: Sally MacFarlane Date: Thu, 28 Sep 2023 13:53:32 +1000 Subject: [PATCH 26/40] Update execution tests to 0.2.5 (#5952) * 0.2.4 Signed-off-by: Sally MacFarlane * 0.2.5 Signed-off-by: Sally MacFarlane * removed older versions of execution-tests metadata Signed-off-by: Sally MacFarlane --------- Signed-off-by: Sally MacFarlane --- ethereum/referencetests/build.gradle | 2 +- gradle/verification-metadata.xml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ethereum/referencetests/build.gradle b/ethereum/referencetests/build.gradle index dc3e0165017..0d0e0894157 100644 --- a/ethereum/referencetests/build.gradle +++ b/ethereum/referencetests/build.gradle @@ -170,7 +170,7 @@ dependencies { referenceTestImplementation project(path: ':testutil') referenceTestImplementation project(path: ':util') // the following will be resolved via custom ivy repository declared in root build.gradle - referenceTestImplementation 'ethereum:execution-spec-tests:0.2.3:fixtures@tar.gz' + referenceTestImplementation 'ethereum:execution-spec-tests:0.2.5:fixtures@tar.gz' referenceTestImplementation 'com.fasterxml.jackson.core:jackson-databind' referenceTestImplementation 'com.google.guava:guava' referenceTestImplementation 'io.tmio:tuweni-bytes' diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index f9abaf556a3..bf2f064afa6 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -1401,9 +1401,9 @@ - - - + + + From 4f49ec9418ea53a88b1ae99e32162e8f1d76e94d Mon Sep 17 00:00:00 2001 From: Danno Ferrin Date: Wed, 27 Sep 2023 23:21:08 -0600 Subject: [PATCH 27/40] Add Cancun GraphQL fields (#5923) Add the fields for Blobs into the GraphQL service. Signed-off-by: Danno Ferrin --- .../pojoadapter/BlockAdapterBase.java | 13 +- .../internal/pojoadapter/CallResult.java | 2 +- .../pojoadapter/TransactionAdapter.java | 31 +++- .../api/src/main/resources/schema.graphqls | 50 ++++-- .../api/graphql/AbstractDataFetcherTest.java | 14 +- .../api/graphql/BlockDataFetcherTest.java | 49 +++++- .../graphql/TransactionDataFetcherTest.java | 157 ++++++++++++++++++ 7 files changed, 279 insertions(+), 37 deletions(-) create mode 100644 ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/graphql/TransactionDataFetcherTest.java diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/graphql/internal/pojoadapter/BlockAdapterBase.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/graphql/internal/pojoadapter/BlockAdapterBase.java index 4d10aa53a8c..6d3884e61c0 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/graphql/internal/pojoadapter/BlockAdapterBase.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/graphql/internal/pojoadapter/BlockAdapterBase.java @@ -15,6 +15,7 @@ package org.hyperledger.besu.ethereum.api.graphql.internal.pojoadapter; import org.hyperledger.besu.datatypes.Address; +import org.hyperledger.besu.datatypes.BlobGas; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.api.graphql.GraphQLContextType; @@ -86,7 +87,7 @@ public Bytes32 getReceiptsRoot() { return header.getReceiptsRoot(); } - public AdapterBase getMiner(final DataFetchingEnvironment environment) { + public AccountAdapter getMiner(final DataFetchingEnvironment environment) { final BlockchainQueries query = getBlockchainQueries(environment); long blockNumber = header.getNumber(); @@ -97,7 +98,7 @@ public AdapterBase getMiner(final DataFetchingEnvironment environment) { return query .getAndMapWorldState(blockNumber, ws -> Optional.ofNullable(ws.get(header.getCoinbase()))) - .map(account -> (AdapterBase) new AccountAdapter(account)) + .map(AccountAdapter::new) .orElseGet(() -> new EmptyAccountAdapter(header.getCoinbase())); } @@ -293,4 +294,12 @@ Optional> getWithdrawals(final DataFetchingEnvironment e .getWithdrawals() .map(wl -> wl.stream().map(WithdrawalAdapter::new).toList())); } + + public Optional getBlobGasUsed() { + return header.getBlobGasUsed(); + } + + public Optional getExcessBlobGas() { + return header.getExcessBlobGas().map(BlobGas::toLong); + } } diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/graphql/internal/pojoadapter/CallResult.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/graphql/internal/pojoadapter/CallResult.java index cc44c36a1d2..78fa30d8748 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/graphql/internal/pojoadapter/CallResult.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/graphql/internal/pojoadapter/CallResult.java @@ -17,7 +17,7 @@ import org.apache.tuweni.bytes.Bytes; @SuppressWarnings("unused") // reflected by GraphQL -class CallResult { +public class CallResult { private final Long status; private final Long gasUsed; private final Bytes data; diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/graphql/internal/pojoadapter/TransactionAdapter.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/graphql/internal/pojoadapter/TransactionAdapter.java index db849fdeb5e..c4aa2265c7c 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/graphql/internal/pojoadapter/TransactionAdapter.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/graphql/internal/pojoadapter/TransactionAdapter.java @@ -16,6 +16,7 @@ import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; +import org.hyperledger.besu.datatypes.VersionedHash; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.api.graphql.GraphQLContextType; import org.hyperledger.besu.ethereum.api.query.BlockchainQueries; @@ -119,17 +120,16 @@ public Wei getGasPrice() { return transactionWithMetadata.getTransaction().getGasPrice().orElse(Wei.ZERO); } - public Optional getMaxPriorityFeePerGas() { - return transactionWithMetadata.getTransaction().getMaxPriorityFeePerGas(); - } - public Optional getMaxFeePerGas() { return transactionWithMetadata.getTransaction().getMaxFeePerGas(); } - public Optional getEffectiveGasPrice(final DataFetchingEnvironment environment) { - return getReceipt(environment) - .map(rwm -> rwm.getTransaction().getEffectiveGasPrice(rwm.getBaseFee())); + public Optional getMaxPriorityFeePerGas() { + return transactionWithMetadata.getTransaction().getMaxPriorityFeePerGas(); + } + + public Optional getMaxFeePerBlobGas() { + return transactionWithMetadata.getTransaction().getMaxFeePerBlobGas(); } public Optional getEffectiveTip(final DataFetchingEnvironment environment) { @@ -170,6 +170,19 @@ public Optional getCumulativeGasUsed(final DataFetchingEnvironment environ return getReceipt(environment).map(rpt -> rpt.getReceipt().getCumulativeGasUsed()); } + public Optional getEffectiveGasPrice(final DataFetchingEnvironment environment) { + return getReceipt(environment) + .map(rwm -> rwm.getTransaction().getEffectiveGasPrice(rwm.getBaseFee())); + } + + public Optional getBlobGasUsed(final DataFetchingEnvironment environment) { + return getReceipt(environment).flatMap(TransactionReceiptWithMetadata::getBlobGasUsed); + } + + public Optional getBlobGasPrice(final DataFetchingEnvironment environment) { + return getReceipt(environment).flatMap(TransactionReceiptWithMetadata::getBlobGasPrice); + } + public Optional getCreatedContract(final DataFetchingEnvironment environment) { final boolean contractCreated = transactionWithMetadata.getTransaction().isContractCreation(); if (contractCreated) { @@ -245,4 +258,8 @@ public Optional getRawReceipt(final DataFetchingEnvironment environment) return rlpOutput.encoded(); }); } + + public List getBlobVersionedHashes() { + return transactionWithMetadata.getTransaction().getVersionedHashes().orElse(List.of()); + } } diff --git a/ethereum/api/src/main/resources/schema.graphqls b/ethereum/api/src/main/resources/schema.graphqls index 183bce31e9d..88598202ba4 100644 --- a/ethereum/api/src/main/resources/schema.graphqls +++ b/ethereum/api/src/main/resources/schema.graphqls @@ -189,7 +189,7 @@ type Block { raw: Bytes! """ - WithdrawalsRoot is the keccak256 hash of the root of the trie of withdrawals in this block. + WithdrawalsRoot is the withdrawals trie root in this block. If withdrawals are unavailable for this block, this field will be null. """ withdrawalsRoot: Bytes32 @@ -199,6 +199,14 @@ type Block { withdrawals are unavailable for this block, this field will be null. """ withdrawals: [Withdrawal!] + + """BlobGasUsed is the total amount of gas used by the transactions.""" + blobGasUsed: Long + + """ + ExcessBlobGas is a running total of blob gas consumed in excess of the target, prior to the block. + """ + excessBlobGas: Long } """ @@ -219,11 +227,11 @@ input BlockFilterCriteria { contained topics. Examples: - - [] or nil matches any topic list - - [[A]] matches topic A in first position - - [[], [B]] matches any topic in first position, B in second position - - [[A], [B]] matches topic A in first position, B in second position - - [[A, B]], [C, D]] matches topic (A OR B) in first position, (C OR D) in second position + - [] or nil matches any topic list + - [[A]] matches topic A in first position + - [[], [B]] matches any topic in first position, B in second position + - [[A], [B]] matches topic A in first position, B in second position + - [[A, B]], [C, D]] matches topic (A OR B) in first position, (C OR D) in second position """ topics: [[Bytes32!]!] } @@ -310,11 +318,11 @@ input FilterCriteria { contained topics. Examples: - - [] or nil matches any topic list - - [[A]] matches topic A in first position - - [[], [B]] matches any topic in first position, B in second position - - [[A], [B]] matches topic A in first position, B in second position - - [[A, B]], [C, D]] matches topic (A OR B) in first position, (C OR D) in second position + - [] or nil matches any topic list + - [[A]] matches topic A in first position + - [[], [B]] matches any topic in first position, B in second position + - [[A], [B]] matches topic A in first position, B in second position + - [[A, B]], [C, D]] matches topic (A OR B) in first position, (C OR D) in second position """ topics: [[Bytes32!]!] } @@ -472,6 +480,11 @@ type Transaction { """ maxPriorityFeePerGas: BigInt + """ + MaxFeePerBlobGas is the maximum blob gas fee cap per blob the sender is willing to pay for blob transaction, in wei. + """ + maxFeePerBlobGas: BigInt + """ EffectiveTip is the actual amount of reward going to miner after considering the max fee cap. """ @@ -520,6 +533,14 @@ type Transaction { """ effectiveGasPrice: BigInt + """BlobGasUsed is the amount of blob gas used by this transaction.""" + blobGasUsed: Long + + """ + blobGasPrice is the actual value per blob gas deducted from the senders account. + """ + blobGasPrice: BigInt + """ CreatedContract is the account that was created by a contract creation transaction. If the transaction was not a contract creation transaction, @@ -552,6 +573,11 @@ type Transaction { this is equivalent to TxType || ReceiptEncoding. """ rawReceipt: Bytes! + + """ + BlobVersionedHashes is a set of hash outputs from the blobs in the transaction. + """ + blobVersionedHashes: [Bytes32!] } """EIP-4895""" @@ -564,7 +590,7 @@ type Withdrawal { """Validator is index of the validator associated with withdrawal.""" validator: Long! - """Address recipient of the withdrawn amount.""" + """Recipient address of the withdrawn amount.""" address: Address! """Amount is the withdrawal value in Gwei.""" diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/graphql/AbstractDataFetcherTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/graphql/AbstractDataFetcherTest.java index 0c304fbc3fd..ebdd92d557a 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/graphql/AbstractDataFetcherTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/graphql/AbstractDataFetcherTest.java @@ -14,16 +14,15 @@ */ package org.hyperledger.besu.ethereum.api.graphql; -import org.hyperledger.besu.ethereum.api.graphql.internal.pojoadapter.NormalBlockAdapter; import org.hyperledger.besu.ethereum.api.query.BlockchainQueries; import org.hyperledger.besu.ethereum.core.BlockHeader; +import org.hyperledger.besu.ethereum.core.Transaction; +import org.hyperledger.besu.ethereum.core.TransactionReceipt; import org.hyperledger.besu.ethereum.p2p.rlpx.wire.Capability; -import java.util.Optional; import java.util.Set; import graphql.GraphQLContext; -import graphql.schema.DataFetcher; import graphql.schema.DataFetchingEnvironment; import org.junit.jupiter.api.BeforeEach; import org.mockito.Mock; @@ -31,7 +30,7 @@ public abstract class AbstractDataFetcherTest { - DataFetcher> fetcher; + GraphQLDataFetchers fetchers; @Mock protected Set supportedCapabilities; @@ -43,10 +42,13 @@ public abstract class AbstractDataFetcherTest { @Mock protected BlockHeader header; + @Mock protected Transaction transaction; + + @Mock protected TransactionReceipt transactionReceipt; + @BeforeEach public void before() { - final GraphQLDataFetchers fetchers = new GraphQLDataFetchers(supportedCapabilities); - fetcher = fetchers.getBlockDataFetcher(); + fetchers = new GraphQLDataFetchers(supportedCapabilities); Mockito.when(environment.getGraphQlContext()).thenReturn(graphQLContext); } } diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/graphql/BlockDataFetcherTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/graphql/BlockDataFetcherTest.java index 58689a18fdd..1ed6cc329b5 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/graphql/BlockDataFetcherTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/graphql/BlockDataFetcherTest.java @@ -19,25 +19,36 @@ import static org.mockito.Mockito.when; import org.hyperledger.besu.datatypes.Address; +import org.hyperledger.besu.datatypes.BlobGas; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.datatypes.Wei; -import org.hyperledger.besu.ethereum.api.graphql.internal.pojoadapter.EmptyAccountAdapter; import org.hyperledger.besu.ethereum.api.graphql.internal.pojoadapter.NormalBlockAdapter; import org.hyperledger.besu.ethereum.api.query.BlockWithMetadata; import java.util.Optional; +import graphql.schema.DataFetcher; import org.apache.tuweni.bytes.Bytes; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.ArgumentMatchers; import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -public class BlockDataFetcherTest extends AbstractDataFetcherTest { +class BlockDataFetcherTest extends AbstractDataFetcherTest { + + private DataFetcher> fetcher; + + @BeforeEach + @Override + public void before() { + super.before(); + fetcher = fetchers.getBlockDataFetcher(); + } @Test - public void bothNumberAndHashThrows() { + void bothNumberAndHashThrows() { final Hash fakedHash = Hash.hash(Bytes.of(1)); when(environment.getArgument("number")).thenReturn(1L); when(environment.getArgument("hash")).thenReturn(fakedHash); @@ -46,7 +57,7 @@ public void bothNumberAndHashThrows() { } @Test - public void onlyNumber() throws Exception { + void onlyNumber() throws Exception { when(environment.getArgument("number")).thenReturn(1L); when(environment.getArgument("hash")).thenReturn(null); @@ -56,11 +67,11 @@ public void onlyNumber() throws Exception { when(query.blockByNumber(ArgumentMatchers.anyLong())) .thenReturn(Optional.of(new BlockWithMetadata<>(null, null, null, null, 0))); - fetcher.get(environment); + assertThat(fetcher.get(environment)).isNotEmpty(); } @Test - public void ibftMiner() throws Exception { + void ibftMiner() throws Exception { // IBFT can mine blocks with a coinbase that is an empty account, hence not stored and returned // as null. The compromise is to report zeros and empty on query from a block. final Address testAddress = Address.fromHexString("0xdeadbeef"); @@ -77,9 +88,29 @@ public void ibftMiner() throws Exception { final Optional maybeBlock = fetcher.get(environment); assertThat(maybeBlock).isPresent(); assertThat(maybeBlock.get().getMiner(environment)).isNotNull(); - assertThat(((EmptyAccountAdapter) maybeBlock.get().getMiner(environment)).getBalance()) + assertThat(maybeBlock.get().getMiner(environment).getBalance()) .isGreaterThanOrEqualTo(Wei.ZERO); - assertThat(((EmptyAccountAdapter) maybeBlock.get().getMiner(environment)).getAddress()) - .isEqualTo(testAddress); + assertThat(maybeBlock.get().getMiner(environment).getAddress()).isEqualTo(testAddress); + } + + @Test + void blobData() throws Exception { + final long blobGasUsed = 0xb10b6a5; + final long excessBlobGas = 0xce556a5; + + when(environment.getGraphQlContext()).thenReturn(graphQLContext); + when(environment.getArgument("number")).thenReturn(1L); + when(environment.getArgument("hash")).thenReturn(null); + + when(graphQLContext.get(GraphQLContextType.BLOCKCHAIN_QUERIES)).thenReturn(query); + when(query.blockByNumber(ArgumentMatchers.anyLong())) + .thenReturn(Optional.of(new BlockWithMetadata<>(header, null, null, null, 0))); + when(header.getBlobGasUsed()).thenReturn(Optional.of(blobGasUsed)); + when(header.getExcessBlobGas()).thenReturn(Optional.of(BlobGas.of(excessBlobGas))); + + final Optional maybeBlock = fetcher.get(environment); + assertThat(maybeBlock).isPresent(); + assertThat(maybeBlock.get().getBlobGasUsed()).contains(blobGasUsed); + assertThat(maybeBlock.get().getExcessBlobGas()).contains(excessBlobGas); } } diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/graphql/TransactionDataFetcherTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/graphql/TransactionDataFetcherTest.java new file mode 100644 index 00000000000..c4aee54176b --- /dev/null +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/graphql/TransactionDataFetcherTest.java @@ -0,0 +1,157 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.ethereum.api.graphql; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.when; + +import org.hyperledger.besu.datatypes.Hash; +import org.hyperledger.besu.datatypes.VersionedHash; +import org.hyperledger.besu.datatypes.Wei; +import org.hyperledger.besu.ethereum.api.graphql.internal.pojoadapter.TransactionAdapter; +import org.hyperledger.besu.ethereum.api.query.TransactionReceiptWithMetadata; +import org.hyperledger.besu.ethereum.api.query.TransactionWithMetadata; + +import java.util.List; +import java.util.Optional; + +import graphql.schema.DataFetcher; +import org.apache.tuweni.bytes.Bytes; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; + +@ExtendWith(MockitoExtension.class) +class TransactionDataFetcherTest extends AbstractDataFetcherTest { + + private DataFetcher> fetcher; + final Hash fakedHash = Hash.hash(Bytes.fromBase64String("ThisIsAFakeHash")); + final VersionedHash fakeVersionedHash = + new VersionedHash(VersionedHash.SHA256_VERSION_ID, fakedHash); + final long blobGasUsed = 127 * 1024L; + final Wei blobGasPrice = Wei.of(128); + final Wei maxFeePerBlobGas = Wei.of(1280); + + @BeforeEach + @Override + public void before() { + super.before(); + fetcher = fetchers.getTransactionDataFetcher(); + } + + @Test + void emptyBlobs() throws Exception { + when(environment.getArgument("hash")).thenReturn(fakedHash); + + when(graphQLContext.get(GraphQLContextType.BLOCKCHAIN_QUERIES)).thenReturn(query); + + TransactionWithMetadata transactionWithMetadata = new TransactionWithMetadata(transaction); + when(query.transactionByHash(any())).thenReturn(Optional.of(transactionWithMetadata)); + when(transaction.getVersionedHashes()).thenReturn(Optional.empty()); + when(transaction.getMaxFeePerBlobGas()).thenReturn(Optional.empty()); + + TransactionReceiptWithMetadata transactionReceiptWithMetadata = + TransactionReceiptWithMetadata.create( + transactionReceipt, + transaction, + fakedHash, + 0, + 21000, + Optional.empty(), + fakedHash, + 1, + Optional.empty(), + Optional.empty()); + when(query.transactionReceiptByTransactionHash(any(), any())) + .thenReturn(Optional.of(transactionReceiptWithMetadata)); + + var transactionData = fetcher.get(environment); + assertThat(transactionData).isPresent(); + assertThat(transactionData.get().getBlobVersionedHashes()).isEmpty(); + assertThat(transactionData.get().getBlobGasUsed(environment)).isEmpty(); + assertThat(transactionData.get().getBlobGasPrice(environment)).isEmpty(); + assertThat(transactionData.get().getMaxFeePerBlobGas()).isEmpty(); + } + + @Test + void hasZeroBlobs() throws Exception { + when(environment.getArgument("hash")).thenReturn(fakedHash); + + when(graphQLContext.get(GraphQLContextType.BLOCKCHAIN_QUERIES)).thenReturn(query); + + TransactionWithMetadata transactionWithMetadata = new TransactionWithMetadata(transaction); + when(query.transactionByHash(any())).thenReturn(Optional.of(transactionWithMetadata)); + when(transaction.getVersionedHashes()).thenReturn(Optional.of(List.of())); + when(transaction.getMaxFeePerBlobGas()).thenReturn(Optional.of(Wei.ZERO)); + + TransactionReceiptWithMetadata transactionReceiptWithMetadata = + TransactionReceiptWithMetadata.create( + transactionReceipt, + transaction, + fakedHash, + 0, + 21000, + Optional.empty(), + fakedHash, + 1, + Optional.of(0L), + Optional.of(Wei.ZERO)); + when(query.transactionReceiptByTransactionHash(any(), any())) + .thenReturn(Optional.of(transactionReceiptWithMetadata)); + + var transactionData = fetcher.get(environment); + assertThat(transactionData).isPresent(); + assertThat(transactionData.get().getBlobVersionedHashes()).isEmpty(); + assertThat(transactionData.get().getBlobGasUsed(environment)).contains(0L); + assertThat(transactionData.get().getBlobGasPrice(environment)).contains(Wei.ZERO); + assertThat(transactionData.get().getMaxFeePerBlobGas()).contains(Wei.ZERO); + } + + @Test + void hasOneBlob() throws Exception { + when(environment.getArgument("hash")).thenReturn(fakedHash); + + when(graphQLContext.get(GraphQLContextType.BLOCKCHAIN_QUERIES)).thenReturn(query); + + TransactionWithMetadata transactionWithMetadata = new TransactionWithMetadata(transaction); + when(query.transactionByHash(any())).thenReturn(Optional.of(transactionWithMetadata)); + when(transaction.getVersionedHashes()).thenReturn(Optional.of(List.of(fakeVersionedHash))); + when(transaction.getMaxFeePerBlobGas()).thenReturn(Optional.of(maxFeePerBlobGas)); + + TransactionReceiptWithMetadata transactionReceiptWithMetadata = + TransactionReceiptWithMetadata.create( + transactionReceipt, + transaction, + fakedHash, + 0, + 21000, + Optional.empty(), + fakedHash, + 1, + Optional.of(blobGasUsed), + Optional.of(blobGasPrice)); + when(query.transactionReceiptByTransactionHash(any(), any())) + .thenReturn(Optional.of(transactionReceiptWithMetadata)); + + var transactionData = fetcher.get(environment); + assertThat(transactionData).isPresent(); + assertThat(transactionData.get().getBlobVersionedHashes()).containsExactly(fakeVersionedHash); + assertThat(transactionData.get().getBlobGasUsed(environment)).contains(blobGasUsed); + assertThat(transactionData.get().getBlobGasPrice(environment)).contains(blobGasPrice); + assertThat(transactionData.get().getMaxFeePerBlobGas()).contains(maxFeePerBlobGas); + } +} From 00853c2fcf9c58f183552528950b6929345f3d1d Mon Sep 17 00:00:00 2001 From: Gabriel-Trintinalia Date: Thu, 28 Sep 2023 22:27:47 +1000 Subject: [PATCH 28/40] Validate bad block before new head check syncing (#5967) Signed-off-by: Gabriel-Trintinalia --- .../AbstractEngineForkchoiceUpdated.java | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java index 8e471e2a113..511300d1090 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java @@ -93,6 +93,19 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext requestContext) forkChoice.getSafeBlockHash(), forkChoice.getFinalizedBlockHash()); + if (mergeCoordinator.isBadBlock(forkChoice.getHeadBlockHash())) { + logForkchoiceUpdatedCall(INVALID, forkChoice); + return new JsonRpcSuccessResponse( + requestId, + new EngineUpdateForkchoiceResult( + INVALID, + mergeCoordinator + .getLatestValidHashOfBadBlock(forkChoice.getHeadBlockHash()) + .orElse(Hash.ZERO), + null, + Optional.of(forkChoice.getHeadBlockHash() + " is an invalid block"))); + } + final Optional maybeNewHead = mergeCoordinator.getOrSyncHeadByHash( forkChoice.getHeadBlockHash(), forkChoice.getFinalizedBlockHash()); @@ -150,19 +163,6 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext requestContext) return syncingResponse(requestId, forkChoice); } - if (mergeCoordinator.isBadBlock(forkChoice.getHeadBlockHash())) { - logForkchoiceUpdatedCall(INVALID, forkChoice); - return new JsonRpcSuccessResponse( - requestId, - new EngineUpdateForkchoiceResult( - INVALID, - mergeCoordinator - .getLatestValidHashOfBadBlock(forkChoice.getHeadBlockHash()) - .orElse(Hash.ZERO), - null, - Optional.of(forkChoice.getHeadBlockHash() + " is an invalid block"))); - } - maybePayloadAttributes.ifPresentOrElse( this::logPayload, () -> LOG.debug("Payload attributes are null")); From 993a6d8c7ece2c632f84ea31aa859155dae72601 Mon Sep 17 00:00:00 2001 From: garyschulte Date: Thu, 28 Sep 2023 08:46:35 -0700 Subject: [PATCH 29/40] Optionally bypass state root verification in reference test worldstate (#5960) * bypass state root verification in reference test worldstate if it is undefined/zero Signed-off-by: garyschulte --- .../bonsai/worldview/BonsaiWorldState.java | 18 +-- .../state-test/blockhash-zero-state-root.json | 104 ++++++++++++++++++ .../BonsaiReferenceTestWorldState.java | 17 +++ 3 files changed, 132 insertions(+), 7 deletions(-) create mode 100644 ethereum/evmtool/src/test/resources/org/hyperledger/besu/evmtool/state-test/blockhash-zero-state-root.json diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/worldview/BonsaiWorldState.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/worldview/BonsaiWorldState.java index b0a48b83043..ed81c90f439 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/worldview/BonsaiWorldState.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/bonsai/worldview/BonsaiWorldState.java @@ -390,13 +390,7 @@ public void persist(final BlockHeader blockHeader) { // then persist the TrieLog for that transition. // If specified but not a direct descendant simply store the new block hash. if (blockHeader != null) { - if (!newWorldStateRootHash.equals(blockHeader.getStateRoot())) { - throw new RuntimeException( - "World State Root does not match expected value, header " - + blockHeader.getStateRoot().toHexString() - + " calculated " - + newWorldStateRootHash.toHexString()); - } + verifyWorldStateRoot(newWorldStateRootHash, blockHeader); saveTrieLog = () -> { trieLogManager.saveTrieLog(localCopy, newWorldStateRootHash, blockHeader, this); @@ -432,6 +426,16 @@ public void persist(final BlockHeader blockHeader) { } } + protected void verifyWorldStateRoot(final Hash calculatedStateRoot, final BlockHeader header) { + if (!calculatedStateRoot.equals(header.getStateRoot())) { + throw new RuntimeException( + "World State Root does not match expected value, header " + + header.getStateRoot().toHexString() + + " calculated " + + calculatedStateRoot.toHexString()); + } + } + @Override public WorldUpdater updater() { return accumulator; diff --git a/ethereum/evmtool/src/test/resources/org/hyperledger/besu/evmtool/state-test/blockhash-zero-state-root.json b/ethereum/evmtool/src/test/resources/org/hyperledger/besu/evmtool/state-test/blockhash-zero-state-root.json new file mode 100644 index 00000000000..444f8298379 --- /dev/null +++ b/ethereum/evmtool/src/test/resources/org/hyperledger/besu/evmtool/state-test/blockhash-zero-state-root.json @@ -0,0 +1,104 @@ +{ + "cli": [ + "state-test", + "stdin", + "--trace", + "--trace.memory", + "--trace.stack", + "--trace.returndata", + "--notime" + ], + "stdin": { + "00000936-mixed-1": { + "env": { + "currentCoinbase": "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentDifficulty": "0x20000", + "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000020000", + "currentGasLimit": "0x26e1f476fe1e22", + "currentNumber": "0x2", + "currentTimestamp": "0x3e8", + "previousHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "currentBaseFee": "0x10" + }, + "pre": { + "0x00000000000000000000000000000000000000f1": { + "code": "0x600060016001600260026101f461ffff5817907c78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b991383610389895f8a5b82723e3d6d5ff042148d326c1898713a76759ca27383404148083e7788908f409e38766cfafe083134530b5279797ef56394faa3183b3780475932387ea37a326494ff1b6b57018c79f07a9ba492a256543f0b6a813b316835b15385077d9e8d32f18c3bb159fab11734a363999e7e940a9c19699da08a82a3ff6743b13f44206194321d026490411a938b35f47cf31b91a1ff397b7c6d879f119915176f3699801bf0766b62fd855b60607d6f133f35fa40307e150a096ea35041306b9330f23441473018055f44698e928a109b02f38f515386177e819161487a5bfa7951f5317183fa743d7587f479009c8b4813089d8d3cf37e3a9b6170528b84f296f07433363a766a64529d8c62ff859c0852173e875685ff15123594f13418966f483a999990109b1694511007477171068aa03a561b8df4743642452039a43c391c3e0033f4615ab1f37cb10293387613024673187c1d5b731c3e53a19080b03e6b94755580876f7a6bf0f238f0991c775172893e7b14449e8c050968b032a29bf13265657d11386d9f8c6f360670fa1116178909f59a369c7c005f8d1464527365f0fd5b818499a2469a0b173f42478294f11c8b40567d8b9f72f43594028d67b17893668a999d8d205014687a6a9b09198bfe87a144313895a208183c8b4060a392387a5106f235a019f36d336f6034f5fe006df413a090791c3c6c52b181f047457a8a73f294f401467a79048060113b1b20fd87078a78a273368c116741128c9a715b085312949c15460b9b8613587c79365b643a67106d840b51a0009e3f893f893236527d540b14403a866d6a147df465a03a8a62489a1d7f680962036b716111f45572367e887606f282820b3d7c178af5f3846a60f2999290f3f3847882f19362113e668f19a07bfffa8aa4374793a28401fe34fd93551a7a721256130789707767a408847307067a85fe3cf1f58a64f0368d38413299f083941885867d18308e0835b054531793087b8c970490597203978d1a8a1b6ba459621b8a8d8313655711563e31073e3c3d6056337299089a94415468097df1425a91f209b13d77f493425041f4ff6718441445463c519771069e727ef59214b19b0b5a3a3b3aa01b6c963da1638117323d637c92443e97795a438593155f73123417fd7b01397b7f4587b1727a011a12450903fa62f182b168920b945a57f28a2078665088593458137d75729f8898800953933056867c1d48441839128c6238f39d3c01149b9859b1958e0b806c81966302f03407a0f5047d778c52018b20f5f13e5b7255544632708064318b31fd0b7b420b3659761da06a17584554453d4363a27c8f767941619d628b75934051", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000005": "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x0000000000000000000000000000000000000000000000000000000000000011", + "0x0000000000000000000000000000000000000000000000000000000000000009": "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x0000000000000000000000000000000000000000000000000000000000000008" + }, + "balance": "0x0", + "nonce": "0x0" + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b": { + "code": "0x", + "storage": {}, + "balance": "0xffffffffff", + "nonce": "0x0" + } + }, + "transaction": { + "gasPrice": "0x10", + "nonce": "0x0", + "to": "0x00000000000000000000000000000000000000f1", + "data": [ + "0xfe25cf37540066ffd30066af7690fad6d555e13067f5c3c16ced98a803e2b009db4ab89b243ac17b80386d12d621723c363e46aff1fcce9c084d" + ], + "gasLimit": [ + "0x7a1200" + ], + "value": [ + "0xdbbe" + ], + "secretKey": "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" + }, + "out": "0x", + "post": { + "Shanghai": [ + { + "hash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "logs": "0x0000000000000000000000000000000000000000000000000000000000000000", + "indexes": { + "data": 0, + "gas": 0, + "value": 0 + } + } + ] + } + } + }, + "stdout": [ + {"pc":0,"op":96,"gas":"0x79bc70","gasCost":"0x3","memSize":0,"stack":[],"depth":1,"refund":0,"opName":"PUSH1"}, + {"pc":2,"op":96,"gas":"0x79bc6d","gasCost":"0x3","memSize":0,"stack":["0x0"],"depth":1,"refund":0,"opName":"PUSH1"}, + {"pc":4,"op":96,"gas":"0x79bc6a","gasCost":"0x3","memSize":0,"stack":["0x0","0x1"],"depth":1,"refund":0,"opName":"PUSH1"}, + {"pc":6,"op":96,"gas":"0x79bc67","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1"],"depth":1,"refund":0,"opName":"PUSH1"}, + {"pc":8,"op":96,"gas":"0x79bc64","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2"],"depth":1,"refund":0,"opName":"PUSH1"}, + {"pc":10,"op":97,"gas":"0x79bc61","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2"],"depth":1,"refund":0,"opName":"PUSH2"}, + {"pc":13,"op":97,"gas":"0x79bc5e","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0x1f4"],"depth":1,"refund":0,"opName":"PUSH2"}, + {"pc":16,"op":88,"gas":"0x79bc5b","gasCost":"0x2","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0x1f4","0xffff"],"depth":1,"refund":0,"opName":"PC"}, + {"pc":17,"op":23,"gas":"0x79bc59","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0x1f4","0xffff","0x10"],"depth":1,"refund":0,"opName":"OR"}, + {"pc":18,"op":144,"gas":"0x79bc56","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0x1f4","0xffff"],"depth":1,"refund":0,"opName":"SWAP1"}, + {"pc":19,"op":124,"gas":"0x79bc53","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4"],"depth":1,"refund":0,"opName":"PUSH29"}, + {"pc":49,"op":131,"gas":"0x79bc50","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913"],"depth":1,"refund":0,"opName":"DUP4"}, + {"pc":50,"op":97,"gas":"0x79bc4d","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2"],"depth":1,"refund":0,"opName":"PUSH2"}, + {"pc":53,"op":137,"gas":"0x79bc4a","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389"],"depth":1,"refund":0,"opName":"DUP10"}, + {"pc":54,"op":95,"gas":"0x79bc47","gasCost":"0x2","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389","0x0"],"depth":1,"refund":0,"opName":"PUSH0"}, + {"pc":55,"op":138,"gas":"0x79bc45","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389","0x0","0x0"],"depth":1,"refund":0,"opName":"DUP11"}, + {"pc":56,"op":91,"gas":"0x79bc42","gasCost":"0x1","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389","0x0","0x0","0x1"],"depth":1,"refund":0,"opName":"JUMPDEST"}, + {"pc":57,"op":130,"gas":"0x79bc41","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389","0x0","0x0","0x1"],"depth":1,"refund":0,"opName":"DUP3"}, + {"pc":58,"op":114,"gas":"0x79bc3e","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389","0x0","0x0","0x1","0x0"],"depth":1,"refund":0,"opName":"PUSH19"}, + {"pc":78,"op":131,"gas":"0x79bc3b","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389","0x0","0x0","0x1","0x0","0x3e3d6d5ff042148d326c1898713a76759ca273"],"depth":1,"refund":0,"opName":"DUP4"}, + {"pc":79,"op":64,"gas":"0x79bc38","gasCost":"0x14","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389","0x0","0x0","0x1","0x0","0x3e3d6d5ff042148d326c1898713a76759ca273","0x0"],"depth":1,"refund":0,"opName":"BLOCKHASH"}, + {"pc":80,"op":65,"gas":"0x79bc24","gasCost":"0x2","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389","0x0","0x0","0x1","0x0","0x3e3d6d5ff042148d326c1898713a76759ca273","0x44852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d"],"depth":1,"refund":0,"opName":"COINBASE"}, + {"pc":81,"op":72,"gas":"0x79bc22","gasCost":"0x2","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389","0x0","0x0","0x1","0x0","0x3e3d6d5ff042148d326c1898713a76759ca273","0x44852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d","0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"],"depth":1,"refund":0,"opName":"BASEFEE"}, + {"pc":82,"op":8,"gas":"0x79bc20","gasCost":"0x8","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389","0x0","0x0","0x1","0x0","0x3e3d6d5ff042148d326c1898713a76759ca273","0x44852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d","0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b","0x10"],"depth":1,"refund":0,"opName":"ADDMOD"}, + {"pc":83,"op":62,"gas":"0x79bc18","gasCost":"0x0","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389","0x0","0x0","0x1","0x0","0x3e3d6d5ff042148d326c1898713a76759ca273","0xb94f5374fce5edbc8e2a8697c15331677e6ebf1b"],"depth":1,"refund":0,"opName":"RETURNDATACOPY","error":"Out of bounds"}, + {"output":"","gasUsed":"0x7a1200","test":"00000936-mixed-1","fork":"Shanghai","d":0,"g":0,"v":0,"postHash":"0xd14c10ed22a1cfb642e374be985ac581c39f3969bd59249e0405aca3beb47a47","postLogsHash":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","pass":false} + ] +} diff --git a/ethereum/referencetests/src/main/java/org/hyperledger/besu/ethereum/referencetests/BonsaiReferenceTestWorldState.java b/ethereum/referencetests/src/main/java/org/hyperledger/besu/ethereum/referencetests/BonsaiReferenceTestWorldState.java index e40b3774a97..0e23f5406af 100644 --- a/ethereum/referencetests/src/main/java/org/hyperledger/besu/ethereum/referencetests/BonsaiReferenceTestWorldState.java +++ b/ethereum/referencetests/src/main/java/org/hyperledger/besu/ethereum/referencetests/BonsaiReferenceTestWorldState.java @@ -75,6 +75,23 @@ public ReferenceTestWorldState copy() { layerCopy, cachedMerkleTrieLoader, trieLogManager, preImageProxy); } + /** + * If the supplied header has a non-zero state root, verify. Else we assume that stateroot is an + * output instead of an input for this reference test and we bypass the state root check. + * + *

Besu reference-test style test cases should supply a stateroot to verify to prevent bonsai + * regressions. + * + * @param calculatedStateRoot state root calculated during bonsai persist step. + * @param header supplied reference test block header. + */ + @Override + protected void verifyWorldStateRoot(final Hash calculatedStateRoot, final BlockHeader header) { + if (!header.getStateRoot().equals(Hash.ZERO)) { + super.verifyWorldStateRoot(calculatedStateRoot, header); + } + } + @JsonCreator public static BonsaiReferenceTestWorldState create( final Map accounts) { From e7311f044ab83a92e05c9773559b49b07b74d8f0 Mon Sep 17 00:00:00 2001 From: Shritesh Jamulkar Date: Fri, 29 Sep 2023 07:06:50 +0530 Subject: [PATCH 30/40] Added toString implementation for TransactionSimulatorResult (#5957) Signed-off-by: Shritesh Co-authored-by: Sally MacFarlane --- .../transaction/TransactionSimulatorResult.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/transaction/TransactionSimulatorResult.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/transaction/TransactionSimulatorResult.java index ac5ab21aea4..0627ca14fd2 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/transaction/TransactionSimulatorResult.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/transaction/TransactionSimulatorResult.java @@ -79,4 +79,15 @@ public boolean equals(final Object o) { public int hashCode() { return Objects.hash(transaction, result); } + + @Override + public String toString() { + return "TransactionSimulatorResult{" + + "transaction=" + + transaction + + ", " + + "result=" + + result + + "}"; + } } From dc4786705495165980d133381e0d213b48158558 Mon Sep 17 00:00:00 2001 From: Danno Ferrin Date: Sat, 30 Sep 2023 00:26:12 -0500 Subject: [PATCH 31/40] Fix t8n encoding issue (#5936) When sending a stack in json fields strip out the newlines and tabs. Signed-off-by: Danno Ferrin --- CHANGELOG.md | 1 + ethereum/evmtool/build.gradle | 1 + .../besu/evmtool/T8nServerSubCommand.java | 2 +- .../besu/evmtool/T8nServerSubCommandTest.java | 58 +++++++++++++++++++ 4 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 ethereum/evmtool/src/test/java/org/hyperledger/besu/evmtool/T8nServerSubCommandTest.java diff --git a/CHANGELOG.md b/CHANGELOG.md index fdfb1212d50..b098443f6dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ ### Bug Fixes - do not create ignorable storage on revert storage-variables subcommand [#5830](https://github.com/hyperledger/besu/pull/5830) - fix duplicate key errors in EthScheduler-Transactions [#5857](https://github.com/hyperledger/besu/pull/5857) +- Don't put control characters, escaped or otherwise, in t8n stacktraces [#5910](https://github.com/hyperledger/besu/pull/5910) ### Download Links diff --git a/ethereum/evmtool/build.gradle b/ethereum/evmtool/build.gradle index c5604d7a52c..f92f6d3f937 100644 --- a/ethereum/evmtool/build.gradle +++ b/ethereum/evmtool/build.gradle @@ -62,6 +62,7 @@ dependencies { testImplementation 'org.assertj:assertj-core' testImplementation 'org.junit.jupiter:junit-jupiter' testImplementation 'org.mockito:mockito-core' + testImplementation 'org.mockito:mockito-junit-jupiter' testRuntimeOnly 'org.junit.vintage:junit-vintage-engine' diff --git a/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/T8nServerSubCommand.java b/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/T8nServerSubCommand.java index eec78ee50d1..8b636b9a8c0 100644 --- a/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/T8nServerSubCommand.java +++ b/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/T8nServerSubCommand.java @@ -178,7 +178,7 @@ public void disposeTracer(final OperationTracer tracer) { t.printStackTrace(ps); ObjectNode json = objectMapper.createObjectNode(); json.put("error", t.getMessage()); - json.put("stacktrace", baos.toString(StandardCharsets.UTF_8)); + json.put("stacktrace", baos.toString(StandardCharsets.UTF_8).replaceAll("\\s", " ")); t.printStackTrace(System.out); diff --git a/ethereum/evmtool/src/test/java/org/hyperledger/besu/evmtool/T8nServerSubCommandTest.java b/ethereum/evmtool/src/test/java/org/hyperledger/besu/evmtool/T8nServerSubCommandTest.java new file mode 100644 index 00000000000..2f658eeb323 --- /dev/null +++ b/ethereum/evmtool/src/test/java/org/hyperledger/besu/evmtool/T8nServerSubCommandTest.java @@ -0,0 +1,58 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.evmtool; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +import com.fasterxml.jackson.databind.ObjectMapper; +import io.vertx.core.http.HttpServerRequest; +import io.vertx.core.http.HttpServerResponse; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Answers; +import org.mockito.ArgumentCaptor; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; + +@ExtendWith(MockitoExtension.class) +class T8nServerSubCommandTest { + + @Mock HttpServerRequest httpServerRequest; + + @Mock(answer = Answers.RETURNS_SELF) + HttpServerResponse httpServerResponse; + + @Test + void exceptionEncodedProperlyInJSON() { + T8nServerSubCommand subject = new T8nServerSubCommand(); + ObjectMapper objectMapper = new ObjectMapper(); + + when(httpServerRequest.response()).thenReturn(httpServerResponse); + + // Should trigger a NPE within the try block. + subject.handleT8nRequest(httpServerRequest, objectMapper, null, null); + + ArgumentCaptor responseCodeCaptor = ArgumentCaptor.forClass(Integer.class); + ArgumentCaptor responseStringCaptor = ArgumentCaptor.forClass(String.class); + + verify(httpServerResponse).setStatusCode(responseCodeCaptor.capture()); + verify(httpServerResponse).end(responseStringCaptor.capture()); + + assertThat(responseCodeCaptor.getValue()).isEqualTo(500); + assertThat(responseStringCaptor.getValue()).doesNotContain("\\t"); + } +} From 987d33c63aa67194d8eb44c2532e7d6d483cc8ac Mon Sep 17 00:00:00 2001 From: Fabio Di Fabio Date: Mon, 2 Oct 2023 10:41:21 +0200 Subject: [PATCH 32/40] Use PendingTransaction in BlockTransactionSelector (#5966) Signed-off-by: Fabio Di Fabio --- .../besu/datatypes/PendingTransaction.java | 39 ++++++++++ .../txselection/BlockTransactionSelector.java | 33 +++++--- .../AbstractTransactionSelector.java | 11 +-- .../BlobPriceTransactionSelector.java | 9 ++- .../BlockSizeTransactionSelector.java | 12 +-- .../selectors/PriceTransactionSelector.java | 16 ++-- .../ProcessingResultTransactionSelector.java | 10 ++- .../AbstractBlockTransactionSelectorTest.java | 8 +- .../core/AccountTransactionOrderTest.java | 73 ------------------ .../eth/transactions/PendingTransaction.java | 11 ++- .../eth/transactions/PendingTransactions.java | 2 +- .../layered/LayeredPendingTransactions.java | 3 +- .../AbstractPendingTransactionsSorter.java | 15 ++-- .../sorter}/AccountTransactionOrder.java | 24 +++--- .../LayeredPendingTransactionsTest.java | 34 ++++----- .../AbstractPendingTransactionsTestBase.java | 28 +++---- .../sorter/AccountTransactionOrderTest.java | 75 +++++++++++++++++++ plugin-api/build.gradle | 2 +- .../txselection/TransactionSelector.java | 7 +- 19 files changed, 237 insertions(+), 175 deletions(-) create mode 100644 datatypes/src/main/java/org/hyperledger/besu/datatypes/PendingTransaction.java delete mode 100644 ethereum/core/src/test/java/org/hyperledger/besu/ethereum/core/AccountTransactionOrderTest.java rename ethereum/{core/src/main/java/org/hyperledger/besu/ethereum/core => eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/sorter}/AccountTransactionOrder.java (70%) create mode 100644 ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AccountTransactionOrderTest.java diff --git a/datatypes/src/main/java/org/hyperledger/besu/datatypes/PendingTransaction.java b/datatypes/src/main/java/org/hyperledger/besu/datatypes/PendingTransaction.java new file mode 100644 index 00000000000..4a8f5795ff8 --- /dev/null +++ b/datatypes/src/main/java/org/hyperledger/besu/datatypes/PendingTransaction.java @@ -0,0 +1,39 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.datatypes; + +/** Represent a transaction that has not confirmed yet, and stays in the transaction pool */ +public interface PendingTransaction { + /** + * Get the underlying transaction + * + * @return the underlying transaction + */ + Transaction getTransaction(); + + /** + * Has this transaction been received from the RPC API? + * + * @return true if it is a local sent transaction + */ + boolean isReceivedFromLocalSource(); + + /** + * Timestamp in millisecond when this transaction has been added to the pool + * + * @return timestamp + */ + long getAddedAt(); +} diff --git a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/BlockTransactionSelector.java b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/BlockTransactionSelector.java index 68ea7444060..679daa8b5e4 100644 --- a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/BlockTransactionSelector.java +++ b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/BlockTransactionSelector.java @@ -27,6 +27,7 @@ import org.hyperledger.besu.ethereum.core.ProcessableBlockHeader; import org.hyperledger.besu.ethereum.core.Transaction; import org.hyperledger.besu.ethereum.core.TransactionReceipt; +import org.hyperledger.besu.ethereum.eth.transactions.PendingTransaction; import org.hyperledger.besu.ethereum.eth.transactions.TransactionPool; import org.hyperledger.besu.ethereum.mainnet.AbstractBlockProcessor; import org.hyperledger.besu.ethereum.mainnet.MainnetTransactionProcessor; @@ -142,7 +143,8 @@ public TransactionSelectionResults buildTransactionListForBlock() { pendingTransaction -> { final var res = evaluateTransaction(pendingTransaction); if (!res.selected()) { - transactionSelectionResults.updateNotSelected(pendingTransaction, res); + transactionSelectionResults.updateNotSelected( + pendingTransaction.getTransaction(), res); } return res; }); @@ -165,7 +167,7 @@ public TransactionSelectionResults buildTransactionListForBlock() { public TransactionSelectionResults evaluateTransactions(final List transactions) { transactions.forEach( transaction -> { - final var res = evaluateTransaction(transaction); + final var res = evaluateTransaction(new PendingTransaction.Local(transaction)); if (!res.selected()) { transactionSelectionResults.updateNotSelected(transaction, res); } @@ -182,12 +184,16 @@ public TransactionSelectionResults evaluateTransactions(final List * the space remaining in the block. * */ - private TransactionSelectionResult evaluateTransaction(final Transaction transaction) { + private TransactionSelectionResult evaluateTransaction( + final PendingTransaction pendingTransaction) { if (isCancelled.get()) { throw new CancellationException("Cancelled during transaction selection."); } - TransactionSelectionResult selectionResult = evaluateTransactionPreProcessing(transaction); + final Transaction transaction = pendingTransaction.getTransaction(); + + TransactionSelectionResult selectionResult = + evaluateTransactionPreProcessing(pendingTransaction); if (!selectionResult.selected()) { return selectionResult; } @@ -209,7 +215,7 @@ private TransactionSelectionResult evaluateTransaction(final Transaction transac blockSelectionContext.blobGasPrice()); var transactionWithProcessingContextResult = - evaluateTransactionPostProcessing(transaction, effectiveResult); + evaluateTransactionPostProcessing(pendingTransaction, effectiveResult); if (!transactionWithProcessingContextResult.selected()) { return transactionWithProcessingContextResult; } @@ -243,16 +249,17 @@ private TransactionSelectionResult evaluateTransaction(final Transaction transac * it then processes it through external selectors. If the transaction is selected by all * selectors, it returns SELECTED. * - * @param transaction The transaction to be evaluated. + * @param pendingTransaction The transaction to be evaluated. * @return The result of the transaction selection process. */ private TransactionSelectionResult evaluateTransactionPreProcessing( - final Transaction transaction) { + final PendingTransaction pendingTransaction) { // Process the transaction through internal selectors for (var selector : transactionSelectors) { TransactionSelectionResult result = - selector.evaluateTransactionPreProcessing(transaction, transactionSelectionResults); + selector.evaluateTransactionPreProcessing( + pendingTransaction, transactionSelectionResults); // If the transaction is not selected by any internal selector, return the result if (!result.equals(TransactionSelectionResult.SELECTED)) { return result; @@ -261,7 +268,8 @@ private TransactionSelectionResult evaluateTransactionPreProcessing( // Process the transaction through external selectors for (var selector : externalTransactionSelectors) { - TransactionSelectionResult result = selector.evaluateTransactionPreProcessing(transaction); + TransactionSelectionResult result = + selector.evaluateTransactionPreProcessing(pendingTransaction); // If the transaction is not selected by any external selector, return the result if (!result.equals(TransactionSelectionResult.SELECTED)) { return result; @@ -277,18 +285,19 @@ private TransactionSelectionResult evaluateTransactionPreProcessing( * whether the transaction should be included in a block. If the transaction is selected by all * selectors, it returns SELECTED. * - * @param transaction The transaction to be evaluated. + * @param pendingTransaction The transaction to be evaluated. * @param processingResult The result of the transaction processing. * @return The result of the transaction selection process. */ private TransactionSelectionResult evaluateTransactionPostProcessing( - final Transaction transaction, final TransactionProcessingResult processingResult) { + final PendingTransaction pendingTransaction, + final TransactionProcessingResult processingResult) { // Process the transaction through internal selectors for (var selector : transactionSelectors) { TransactionSelectionResult result = selector.evaluateTransactionPostProcessing( - transaction, transactionSelectionResults, processingResult); + pendingTransaction, transactionSelectionResults, processingResult); // If the transaction is not selected by any selector, return the result if (!result.equals(TransactionSelectionResult.SELECTED)) { return result; diff --git a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/AbstractTransactionSelector.java b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/AbstractTransactionSelector.java index 3e89bb61006..205e803e820 100644 --- a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/AbstractTransactionSelector.java +++ b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/AbstractTransactionSelector.java @@ -16,7 +16,7 @@ import org.hyperledger.besu.ethereum.blockcreation.txselection.BlockSelectionContext; import org.hyperledger.besu.ethereum.blockcreation.txselection.TransactionSelectionResults; -import org.hyperledger.besu.ethereum.core.Transaction; +import org.hyperledger.besu.ethereum.eth.transactions.PendingTransaction; import org.hyperledger.besu.ethereum.processing.TransactionProcessingResult; import org.hyperledger.besu.plugin.data.TransactionSelectionResult; @@ -34,24 +34,25 @@ public AbstractTransactionSelector(final BlockSelectionContext context) { /** * Evaluates a transaction in the context of other transactions in the same block. * - * @param transaction The transaction to be evaluated within a block. + * @param pendingTransaction The transaction to be evaluated within a block. * @param blockTransactionResults The results of other transaction evaluations in the same block. * @return The result of the transaction evaluation */ public abstract TransactionSelectionResult evaluateTransactionPreProcessing( - final Transaction transaction, final TransactionSelectionResults blockTransactionResults); + final PendingTransaction pendingTransaction, + final TransactionSelectionResults blockTransactionResults); /** * Evaluates a transaction considering other transactions in the same block and a transaction * processing result. * - * @param transaction The transaction to be evaluated. + * @param pendingTransaction The transaction to be evaluated. * @param blockTransactionResults The results of other transaction evaluations in the same block. * @param processingResult The result of transaction processing. * @return The result of the transaction evaluation */ public abstract TransactionSelectionResult evaluateTransactionPostProcessing( - final Transaction transaction, + final PendingTransaction pendingTransaction, final TransactionSelectionResults blockTransactionResults, final TransactionProcessingResult processingResult); } diff --git a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/BlobPriceTransactionSelector.java b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/BlobPriceTransactionSelector.java index abf38621fd2..56a17c28434 100644 --- a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/BlobPriceTransactionSelector.java +++ b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/BlobPriceTransactionSelector.java @@ -17,6 +17,7 @@ import org.hyperledger.besu.ethereum.blockcreation.txselection.BlockSelectionContext; import org.hyperledger.besu.ethereum.blockcreation.txselection.TransactionSelectionResults; import org.hyperledger.besu.ethereum.core.Transaction; +import org.hyperledger.besu.ethereum.eth.transactions.PendingTransaction; import org.hyperledger.besu.ethereum.processing.TransactionProcessingResult; import org.hyperledger.besu.plugin.data.TransactionSelectionResult; @@ -38,14 +39,14 @@ public BlobPriceTransactionSelector(final BlockSelectionContext context) { /** * Evaluates a transaction considering its blob price. * - * @param transaction The transaction to be evaluated. + * @param pendingTransaction The transaction to be evaluated. * @param ignored The results of other transaction evaluations in the same block. * @return The result of the transaction selection. */ @Override public TransactionSelectionResult evaluateTransactionPreProcessing( - final Transaction transaction, final TransactionSelectionResults ignored) { - if (transactionBlobPriceBelowMin(transaction)) { + final PendingTransaction pendingTransaction, final TransactionSelectionResults ignored) { + if (transactionBlobPriceBelowMin(pendingTransaction.getTransaction())) { return TransactionSelectionResult.BLOB_PRICE_BELOW_CURRENT_MIN; } return TransactionSelectionResult.SELECTED; @@ -53,7 +54,7 @@ public TransactionSelectionResult evaluateTransactionPreProcessing( @Override public TransactionSelectionResult evaluateTransactionPostProcessing( - final Transaction transaction, + final PendingTransaction pendingTransaction, final TransactionSelectionResults blockTransactionResults, final TransactionProcessingResult processingResult) { // All necessary checks were done in the pre-processing method, so nothing to do here. diff --git a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/BlockSizeTransactionSelector.java b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/BlockSizeTransactionSelector.java index 7cef4995e5e..5d60ef8fc62 100644 --- a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/BlockSizeTransactionSelector.java +++ b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/BlockSizeTransactionSelector.java @@ -17,6 +17,7 @@ import org.hyperledger.besu.ethereum.blockcreation.txselection.BlockSelectionContext; import org.hyperledger.besu.ethereum.blockcreation.txselection.TransactionSelectionResults; import org.hyperledger.besu.ethereum.core.Transaction; +import org.hyperledger.besu.ethereum.eth.transactions.PendingTransaction; import org.hyperledger.besu.ethereum.processing.TransactionProcessingResult; import org.hyperledger.besu.plugin.data.TransactionSelectionResult; @@ -39,19 +40,20 @@ public BlockSizeTransactionSelector(final BlockSelectionContext context) { * Evaluates a transaction considering other transactions in the same block. If the transaction is * too large for the block returns a selection result based on block occupancy. * - * @param transaction The transaction to be evaluated. + * @param pendingTransaction The transaction to be evaluated. * @param transactionSelectionResults The results of other transaction evaluations in the same * block. * @return The result of the transaction selection. */ @Override public TransactionSelectionResult evaluateTransactionPreProcessing( - final Transaction transaction, + final PendingTransaction pendingTransaction, final TransactionSelectionResults transactionSelectionResults) { - if (transactionTooLargeForBlock(transaction, transactionSelectionResults)) { + if (transactionTooLargeForBlock( + pendingTransaction.getTransaction(), transactionSelectionResults)) { LOG.atTrace() .setMessage("Transaction {} too large to select for block creation") - .addArgument(transaction::toTraceLog) + .addArgument(pendingTransaction::toTraceLog) .log(); if (blockOccupancyAboveThreshold(transactionSelectionResults)) { LOG.trace("Block occupancy above threshold, completing operation"); @@ -68,7 +70,7 @@ public TransactionSelectionResult evaluateTransactionPreProcessing( @Override public TransactionSelectionResult evaluateTransactionPostProcessing( - final Transaction transaction, + final PendingTransaction pendingTransaction, final TransactionSelectionResults blockTransactionResults, final TransactionProcessingResult processingResult) { // All necessary checks were done in the pre-processing method, so nothing to do here. diff --git a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/PriceTransactionSelector.java b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/PriceTransactionSelector.java index 15755100e5c..a6c1889e497 100644 --- a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/PriceTransactionSelector.java +++ b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/PriceTransactionSelector.java @@ -18,6 +18,7 @@ import org.hyperledger.besu.ethereum.blockcreation.txselection.BlockSelectionContext; import org.hyperledger.besu.ethereum.blockcreation.txselection.TransactionSelectionResults; import org.hyperledger.besu.ethereum.core.Transaction; +import org.hyperledger.besu.ethereum.eth.transactions.PendingTransaction; import org.hyperledger.besu.ethereum.processing.TransactionProcessingResult; import org.hyperledger.besu.plugin.data.TransactionSelectionResult; @@ -40,14 +41,14 @@ public PriceTransactionSelector(final BlockSelectionContext context) { * Evaluates a transaction considering its price. If the transaction's current price is below the * minimum, it returns a selection result indicating the reason. * - * @param transaction The transaction to be evaluated. + * @param pendingTransaction The transaction to be evaluated. * @param ignored The results of other transaction evaluations in the same block. * @return The result of the transaction selection. */ @Override public TransactionSelectionResult evaluateTransactionPreProcessing( - final Transaction transaction, final TransactionSelectionResults ignored) { - if (transactionCurrentPriceBelowMin(transaction)) { + final PendingTransaction pendingTransaction, final TransactionSelectionResults ignored) { + if (transactionCurrentPriceBelowMin(pendingTransaction)) { return TransactionSelectionResult.CURRENT_TX_PRICE_BELOW_MIN; } return TransactionSelectionResult.SELECTED; @@ -55,7 +56,7 @@ public TransactionSelectionResult evaluateTransactionPreProcessing( @Override public TransactionSelectionResult evaluateTransactionPostProcessing( - final Transaction transaction, + final PendingTransaction pendingTransaction, final TransactionSelectionResults blockTransactionResults, final TransactionProcessingResult processingResult) { // All necessary checks were done in the pre-processing method, so nothing to do here. @@ -65,14 +66,15 @@ public TransactionSelectionResult evaluateTransactionPostProcessing( /** * Checks if the transaction's current price is below the minimum. * - * @param transaction The transaction to be checked. + * @param pendingTransaction The transaction to be checked. * @return True if the transaction's current price is below the minimum, false otherwise. */ - private boolean transactionCurrentPriceBelowMin(final Transaction transaction) { + private boolean transactionCurrentPriceBelowMin(final PendingTransaction pendingTransaction) { + final Transaction transaction = pendingTransaction.getTransaction(); // Here we only care about EIP1159 since for Frontier and local transactions the checks // that we do when accepting them in the pool are enough if (transaction.getType().supports1559FeeMarket() - && !context.transactionPool().isLocalSender(transaction.getSender())) { + && !pendingTransaction.isReceivedFromLocalSource()) { // For EIP1559 transactions, the price is dynamic and depends on network conditions, so we can // only calculate at this time the current minimum price the transaction is willing to pay diff --git a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/ProcessingResultTransactionSelector.java b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/ProcessingResultTransactionSelector.java index 1fe71ee48f9..8a2778eda03 100644 --- a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/ProcessingResultTransactionSelector.java +++ b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/ProcessingResultTransactionSelector.java @@ -17,6 +17,7 @@ import org.hyperledger.besu.ethereum.blockcreation.txselection.BlockSelectionContext; import org.hyperledger.besu.ethereum.blockcreation.txselection.TransactionSelectionResults; import org.hyperledger.besu.ethereum.core.Transaction; +import org.hyperledger.besu.ethereum.eth.transactions.PendingTransaction; import org.hyperledger.besu.ethereum.mainnet.ValidationResult; import org.hyperledger.besu.ethereum.processing.TransactionProcessingResult; import org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason; @@ -40,7 +41,8 @@ public ProcessingResultTransactionSelector(final BlockSelectionContext context) @Override public TransactionSelectionResult evaluateTransactionPreProcessing( - final Transaction transaction, final TransactionSelectionResults blockTransactionResults) { + final PendingTransaction pendingTransaction, + final TransactionSelectionResults blockTransactionResults) { // All checks depend on processingResult and will be done in the post-processing method, so // nothing to do here. return TransactionSelectionResult.SELECTED; @@ -51,20 +53,20 @@ public TransactionSelectionResult evaluateTransactionPreProcessing( * result. If the processing result is invalid, it determines the selection result for the invalid * result. * - * @param transaction The transaction to be evaluated. + * @param pendingTransaction The transaction to be evaluated. * @param blockTransactionResults The results of other transaction evaluations in the same block. * @param processingResult The processing result of the transaction. * @return The result of the transaction selection. */ @Override public TransactionSelectionResult evaluateTransactionPostProcessing( - final Transaction transaction, + final PendingTransaction pendingTransaction, final TransactionSelectionResults blockTransactionResults, final TransactionProcessingResult processingResult) { if (processingResult.isInvalid()) { return transactionSelectionResultForInvalidResult( - transaction, processingResult.getValidationResult()); + pendingTransaction.getTransaction(), processingResult.getValidationResult()); } return TransactionSelectionResult.SELECTED; } diff --git a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockTransactionSelectorTest.java b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockTransactionSelectorTest.java index b15e61354b4..d1af32dfe08 100644 --- a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockTransactionSelectorTest.java +++ b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockTransactionSelectorTest.java @@ -552,10 +552,10 @@ public void transactionSelectionPluginShouldWork() { final TransactionSelectorFactory transactionSelectorFactory = () -> - (tx) -> { - if (tx.equals(notSelectedTransient)) + pendingTx -> { + if (pendingTx.getTransaction().equals(notSelectedTransient)) return TransactionSelectionResult.invalidTransient("transient"); - if (tx.equals(notSelectedInvalid)) + if (pendingTx.getTransaction().equals(notSelectedInvalid)) return TransactionSelectionResult.invalid("invalid"); return TransactionSelectionResult.SELECTED; }; @@ -572,7 +572,7 @@ public void transactionSelectionPluginShouldWork() { transactionSelectorFactory); transactionPool.addRemoteTransactions( - List.of(selected, notSelectedInvalid, notSelectedTransient)); + List.of(selected, notSelectedTransient, notSelectedInvalid)); final TransactionSelectionResults transactionSelectionResults = selector.buildTransactionListForBlock(); diff --git a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/core/AccountTransactionOrderTest.java b/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/core/AccountTransactionOrderTest.java deleted file mode 100644 index 8f6c76ce03d..00000000000 --- a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/core/AccountTransactionOrderTest.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright ConsenSys AG. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on - * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - * - * SPDX-License-Identifier: Apache-2.0 - */ -package org.hyperledger.besu.ethereum.core; - -import static org.assertj.core.api.Assertions.assertThat; - -import org.hyperledger.besu.crypto.KeyPair; -import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; - -import java.util.stream.Stream; - -import org.junit.jupiter.api.Test; - -public class AccountTransactionOrderTest { - - private static final KeyPair KEYS = SignatureAlgorithmFactory.getInstance().generateKeyPair(); - - private final Transaction transaction1 = transaction(1); - private final Transaction transaction2 = transaction(2); - private final Transaction transaction3 = transaction(3); - private final Transaction transaction4 = transaction(4); - private final AccountTransactionOrder accountTransactionOrder = - new AccountTransactionOrder( - Stream.of(transaction1, transaction2, transaction3, transaction4)); - - @Test - public void shouldProcessATransactionImmediatelyIfItsTheLowestNonce() { - assertThat(accountTransactionOrder.transactionsToProcess(transaction1)) - .containsExactly(transaction1); - } - - @Test - public void shouldDeferProcessingATransactionIfItIsNotTheLowestNonce() { - assertThat(accountTransactionOrder.transactionsToProcess(transaction2)).isEmpty(); - } - - @Test - public void shouldProcessDeferredTransactionsAfterPrerequisiteIsProcessed() { - assertThat(accountTransactionOrder.transactionsToProcess(transaction2)).isEmpty(); - assertThat(accountTransactionOrder.transactionsToProcess(transaction3)).isEmpty(); - - assertThat(accountTransactionOrder.transactionsToProcess(transaction1)) - .containsExactly(transaction1, transaction2, transaction3); - } - - @Test - public void shouldNotProcessDeferredTransactionsThatAreNotYetDue() { - assertThat(accountTransactionOrder.transactionsToProcess(transaction2)).isEmpty(); - assertThat(accountTransactionOrder.transactionsToProcess(transaction4)).isEmpty(); - - assertThat(accountTransactionOrder.transactionsToProcess(transaction1)) - .containsExactly(transaction1, transaction2); - - assertThat(accountTransactionOrder.transactionsToProcess(transaction3)) - .containsExactly(transaction3, transaction4); - } - - private Transaction transaction(final int nonce) { - return new TransactionTestFixture().nonce(nonce).createTransaction(KEYS); - } -} diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/PendingTransaction.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/PendingTransaction.java index 264537e1251..a716b1675e3 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/PendingTransaction.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/PendingTransaction.java @@ -28,7 +28,8 @@ * Tracks the additional metadata associated with transactions to enable prioritization for mining * and deciding which transactions to drop when the transaction pool reaches its size limit. */ -public abstract class PendingTransaction { +public abstract class PendingTransaction + implements org.hyperledger.besu.datatypes.PendingTransaction { static final int NOT_INITIALIZED = -1; static final int FRONTIER_BASE_MEMORY_SIZE = 944; static final int ACCESS_LIST_BASE_MEMORY_SIZE = 944; @@ -52,6 +53,7 @@ protected PendingTransaction(final Transaction transaction, final long addedAt) this.sequence = TRANSACTIONS_ADDED.getAndIncrement(); } + @Override public Transaction getTransaction() { return transaction; } @@ -72,12 +74,11 @@ public Address getSender() { return transaction.getSender(); } - public abstract boolean isReceivedFromLocalSource(); - public Hash getHash() { return transaction.getHash(); } + @Override public long getAddedAt() { return addedAt; } @@ -184,6 +185,8 @@ public String toString() { + addedAt + ", sequence=" + sequence + + ", isLocal=" + + isReceivedFromLocalSource() + '}'; } @@ -192,6 +195,8 @@ public String toTraceLog() { + sequence + ", addedAt: " + addedAt + + ", isLocal=" + + isReceivedFromLocalSource() + ", " + transaction.toTraceLog() + "}"; diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/PendingTransactions.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/PendingTransactions.java index b8474d3d50b..199e88675e0 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/PendingTransactions.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/PendingTransactions.java @@ -88,6 +88,6 @@ default void signalInvalidAndRemoveDependentTransactions(final Transaction trans @FunctionalInterface interface TransactionSelector { - TransactionSelectionResult evaluateTransaction(Transaction transaction); + TransactionSelectionResult evaluateTransaction(PendingTransaction pendingTransaction); } } diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactions.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactions.java index 0a802a7dd7d..5502e9a6f1a 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactions.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactions.java @@ -342,8 +342,7 @@ public synchronized void selectTransactions( .forEach( candidatePendingTx -> { alreadyChecked.add(candidatePendingTx.getHash()); - final var res = - selector.evaluateTransaction(candidatePendingTx.getTransaction()); + final var res = selector.evaluateTransaction(candidatePendingTx); LOG.atTrace() .setMessage("Selection result {} for transaction {}") diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AbstractPendingTransactionsSorter.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AbstractPendingTransactionsSorter.java index 83424ae22fd..ea12b3c4f6a 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AbstractPendingTransactionsSorter.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AbstractPendingTransactionsSorter.java @@ -22,7 +22,6 @@ import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; -import org.hyperledger.besu.ethereum.core.AccountTransactionOrder; import org.hyperledger.besu.ethereum.core.BlockHeader; import org.hyperledger.besu.ethereum.core.Transaction; import org.hyperledger.besu.ethereum.eth.transactions.PendingTransaction; @@ -259,16 +258,15 @@ public void selectTransactions(final TransactionSelector selector) { accountTransactions.computeIfAbsent( highestPriorityPendingTransaction.getSender(), this::createSenderTransactionOrder); - for (final Transaction transactionToProcess : - accountTransactionOrder.transactionsToProcess( - highestPriorityPendingTransaction.getTransaction())) { + for (final PendingTransaction transactionToProcess : + accountTransactionOrder.transactionsToProcess(highestPriorityPendingTransaction)) { final TransactionSelectionResult result = selector.evaluateTransaction(transactionToProcess); if (result.discard()) { - transactionsToRemove.add(transactionToProcess); + transactionsToRemove.add(transactionToProcess.getTransaction()); transactionsToRemove.addAll( - signalInvalidAndGetDependentTransactions(transactionToProcess)); + signalInvalidAndGetDependentTransactions(transactionToProcess.getTransaction())); } if (result.stop()) { @@ -283,10 +281,7 @@ public void selectTransactions(final TransactionSelector selector) { private AccountTransactionOrder createSenderTransactionOrder(final Address address) { return new AccountTransactionOrder( - transactionsBySender - .get(address) - .streamPendingTransactions() - .map(PendingTransaction::getTransaction)); + transactionsBySender.get(address).streamPendingTransactions()); } private TransactionAddedResult addTransactionForSenderAndNonce( diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/AccountTransactionOrder.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AccountTransactionOrder.java similarity index 70% rename from ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/AccountTransactionOrder.java rename to ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AccountTransactionOrder.java index 721056103cc..b85f88d556b 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/AccountTransactionOrder.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AccountTransactionOrder.java @@ -12,7 +12,9 @@ * * SPDX-License-Identifier: Apache-2.0 */ -package org.hyperledger.besu.ethereum.core; +package org.hyperledger.besu.ethereum.eth.transactions.sorter; + +import org.hyperledger.besu.ethereum.eth.transactions.PendingTransaction; import java.util.ArrayList; import java.util.Comparator; @@ -23,12 +25,14 @@ public class AccountTransactionOrder { - private static final Comparator SORT_BY_NONCE = - Comparator.comparing(Transaction::getNonce); - private final NavigableSet transactionsForSender = new TreeSet<>(SORT_BY_NONCE); - private final NavigableSet deferredTransactions = new TreeSet<>(SORT_BY_NONCE); + private static final Comparator SORT_BY_NONCE = + Comparator.comparing(PendingTransaction::getNonce); + private final NavigableSet transactionsForSender = + new TreeSet<>(SORT_BY_NONCE); + private final NavigableSet deferredTransactions = + new TreeSet<>(SORT_BY_NONCE); - public AccountTransactionOrder(final Stream senderTransactions) { + public AccountTransactionOrder(final Stream senderTransactions) { senderTransactions.forEach(this.transactionsForSender::add); } @@ -44,14 +48,14 @@ public AccountTransactionOrder(final Stream senderTransactions) { * order. Must be from the sender this instance is ordering. * @return the transactions from this sender that are now due to be processed, in order. */ - public Iterable transactionsToProcess( - final Transaction nextTransactionInPriorityOrder) { + public Iterable transactionsToProcess( + final PendingTransaction nextTransactionInPriorityOrder) { deferredTransactions.add(nextTransactionInPriorityOrder); - final List transactionsToApply = new ArrayList<>(); + final List transactionsToApply = new ArrayList<>(); while (!deferredTransactions.isEmpty() && !transactionsForSender.isEmpty() && deferredTransactions.first().equals(transactionsForSender.first())) { - final Transaction transaction = deferredTransactions.first(); + final PendingTransaction transaction = deferredTransactions.first(); transactionsToApply.add(transaction); deferredTransactions.remove(transaction); transactionsForSender.remove(transaction); diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsTest.java index f3135045ad5..7d044de859a 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsTest.java @@ -302,8 +302,8 @@ public void selectTransactionsUntilSelectorRequestsNoMore( final List parsedTransactions = new ArrayList<>(); pendingTransactions.selectTransactions( - transaction -> { - parsedTransactions.add(transaction); + pendingTX -> { + parsedTransactions.add(pendingTX.getTransaction()); return selectionResult; }); @@ -322,8 +322,8 @@ public void selectTransactionsUntilPendingIsEmpty() { final List parsedTransactions = new ArrayList<>(); pendingTransactions.selectTransactions( - transaction -> { - parsedTransactions.add(transaction); + pendingTx -> { + parsedTransactions.add(pendingTx.getTransaction()); return SELECTED; }); @@ -342,8 +342,8 @@ public void notSelectReplacedTransaction() { final List parsedTransactions = new ArrayList<>(); pendingTransactions.selectTransactions( - transaction -> { - parsedTransactions.add(transaction); + pendingTx -> { + parsedTransactions.add(pendingTx.getTransaction()); return SELECTED; }); @@ -363,8 +363,8 @@ public void selectTransactionsFromSameSenderInNonceOrder() { final List iterationOrder = new ArrayList<>(3); pendingTransactions.selectTransactions( - transaction -> { - iterationOrder.add(transaction); + pendingTx -> { + iterationOrder.add(pendingTx.getTransaction()); return SELECTED; }); @@ -387,10 +387,10 @@ public void ignoreSenderTransactionsAfterASkippedOne( final List iterationOrder = new ArrayList<>(3); pendingTransactions.selectTransactions( - transaction -> { - iterationOrder.add(transaction); + pendingTx -> { + iterationOrder.add(pendingTx.getTransaction()); // pretending that the 2nd tx of the 1st sender is not selected - return transaction.getNonce() == 1 ? skipSelectionResult : SELECTED; + return pendingTx.getNonce() == 1 ? skipSelectionResult : SELECTED; }); // the 3rd tx of the 1st must not be processed, since the 2nd is skipped @@ -420,8 +420,8 @@ public void notForceNonceOrderWhenSendersDiffer() { final List iterationOrder = new ArrayList<>(2); pendingTransactions.selectTransactions( - transaction -> { - iterationOrder.add(transaction); + pendingTx -> { + iterationOrder.add(pendingTx.getTransaction()); return SELECTED; }); @@ -435,8 +435,8 @@ public void invalidTransactionIsDeletedFromPendingTransactions() { final List parsedTransactions = new ArrayList<>(1); pendingTransactions.selectTransactions( - transaction -> { - parsedTransactions.add(transaction); + pendingTx -> { + parsedTransactions.add(pendingTx.getTransaction()); return TransactionSelectionResult.invalid(UPFRONT_COST_EXCEEDS_BALANCE.name()); }); @@ -455,8 +455,8 @@ public void temporarilyInvalidTransactionIsKeptInPendingTransactions() { final List parsedTransactions = new ArrayList<>(1); pendingTransactions.selectTransactions( - transaction -> { - parsedTransactions.add(transaction); + pendingTx -> { + parsedTransactions.add(pendingTx.getTransaction()); return TransactionSelectionResult.invalidTransient( GAS_PRICE_BELOW_CURRENT_BASE_FEE.name()); }); diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AbstractPendingTransactionsTestBase.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AbstractPendingTransactionsTestBase.java index 1aff575f2e5..f1d9ce1016d 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AbstractPendingTransactionsTestBase.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AbstractPendingTransactionsTestBase.java @@ -315,8 +315,8 @@ public void selectTransactionsUntilSelectorRequestsNoMore() { final List parsedTransactions = Lists.newArrayList(); transactions.selectTransactions( - transaction -> { - parsedTransactions.add(transaction); + pendingTx -> { + parsedTransactions.add(pendingTx.getTransaction()); return TransactionSelectionResult.BLOCK_OCCUPANCY_ABOVE_THRESHOLD; }); @@ -331,8 +331,8 @@ public void selectTransactionsUntilPendingIsEmpty() { final List parsedTransactions = Lists.newArrayList(); transactions.selectTransactions( - transaction -> { - parsedTransactions.add(transaction); + pendingTx -> { + parsedTransactions.add(pendingTx.getTransaction()); return SELECTED; }); @@ -351,8 +351,8 @@ public void shouldNotSelectReplacedTransaction() { final List parsedTransactions = Lists.newArrayList(); transactions.selectTransactions( - transaction -> { - parsedTransactions.add(transaction); + pendingTx -> { + parsedTransactions.add(pendingTx.getTransaction()); return SELECTED; }); @@ -366,8 +366,8 @@ public void invalidTransactionIsDeletedFromPendingTransactions() { final List parsedTransactions = Lists.newArrayList(); transactions.selectTransactions( - transaction -> { - parsedTransactions.add(transaction); + pendingTx -> { + parsedTransactions.add(pendingTx.getTransaction()); return TransactionSelectionResult.invalid( TransactionInvalidReason.UPFRONT_COST_EXCEEDS_BALANCE.name()); }); @@ -535,8 +535,8 @@ public void shouldIterateTransactionsFromSameSenderInNonceOrder() { final List iterationOrder = new ArrayList<>(); transactions.selectTransactions( - transaction -> { - iterationOrder.add(transaction); + pendingTx -> { + iterationOrder.add(pendingTx.getTransaction()); return SELECTED; }); @@ -553,8 +553,8 @@ public void shouldNotForceNonceOrderWhenSendersDiffer() { final List iterationOrder = new ArrayList<>(); transactions.selectTransactions( - transaction -> { - iterationOrder.add(transaction); + pendingTx -> { + iterationOrder.add(pendingTx.getTransaction()); return SELECTED; }); @@ -575,8 +575,8 @@ public void shouldNotIncreasePriorityOfTransactionsBecauseOfNonceOrder() { final List iterationOrder = new ArrayList<>(); transactions.selectTransactions( - transaction -> { - iterationOrder.add(transaction); + pendingTx -> { + iterationOrder.add(pendingTx.getTransaction()); return SELECTED; }); diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AccountTransactionOrderTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AccountTransactionOrderTest.java new file mode 100644 index 00000000000..b4bd59acb88 --- /dev/null +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AccountTransactionOrderTest.java @@ -0,0 +1,75 @@ +/* + * Copyright ConsenSys AG. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.ethereum.eth.transactions.sorter; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.hyperledger.besu.crypto.KeyPair; +import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.ethereum.core.Transaction; +import org.hyperledger.besu.ethereum.core.TransactionTestFixture; +import org.hyperledger.besu.ethereum.eth.transactions.PendingTransaction; + +import java.util.stream.Stream; + +import org.junit.jupiter.api.Test; + +public class AccountTransactionOrderTest { + + private static final KeyPair KEYS = SignatureAlgorithmFactory.getInstance().generateKeyPair(); + + private final PendingTransaction pendingTx1 = new PendingTransaction.Remote((transaction(1))); + private final PendingTransaction pendingTx2 = new PendingTransaction.Remote((transaction(2))); + private final PendingTransaction pendingTx3 = new PendingTransaction.Remote((transaction(3))); + private final PendingTransaction pendingTx4 = new PendingTransaction.Remote((transaction(4))); + private final AccountTransactionOrder accountTransactionOrder = + new AccountTransactionOrder(Stream.of(pendingTx1, pendingTx2, pendingTx3, pendingTx4)); + + @Test + public void shouldProcessATransactionImmediatelyIfItsTheLowestNonce() { + assertThat(accountTransactionOrder.transactionsToProcess(pendingTx1)) + .containsExactly(pendingTx1); + } + + @Test + public void shouldDeferProcessingATransactionIfItIsNotTheLowestNonce() { + assertThat(accountTransactionOrder.transactionsToProcess(pendingTx2)).isEmpty(); + } + + @Test + public void shouldProcessDeferredTransactionsAfterPrerequisiteIsProcessed() { + assertThat(accountTransactionOrder.transactionsToProcess(pendingTx2)).isEmpty(); + assertThat(accountTransactionOrder.transactionsToProcess(pendingTx3)).isEmpty(); + + assertThat(accountTransactionOrder.transactionsToProcess(pendingTx1)) + .containsExactly(pendingTx1, pendingTx2, pendingTx3); + } + + @Test + public void shouldNotProcessDeferredTransactionsThatAreNotYetDue() { + assertThat(accountTransactionOrder.transactionsToProcess(pendingTx2)).isEmpty(); + assertThat(accountTransactionOrder.transactionsToProcess(pendingTx4)).isEmpty(); + + assertThat(accountTransactionOrder.transactionsToProcess(pendingTx1)) + .containsExactly(pendingTx1, pendingTx2); + + assertThat(accountTransactionOrder.transactionsToProcess(pendingTx3)) + .containsExactly(pendingTx3, pendingTx4); + } + + private Transaction transaction(final int nonce) { + return new TransactionTestFixture().nonce(nonce).createTransaction(KEYS); + } +} diff --git a/plugin-api/build.gradle b/plugin-api/build.gradle index b66f7fef949..79b4cbee850 100644 --- a/plugin-api/build.gradle +++ b/plugin-api/build.gradle @@ -69,7 +69,7 @@ Calculated : ${currentHash} tasks.register('checkAPIChanges', FileStateChecker) { description = "Checks that the API for the Plugin-API project does not change without deliberate thought" files = sourceSets.main.allJava.files - knownHash = 'ON5/4jw14IPAL/Civ3ld6tvwrLsGS9eI38w5C0xRzdY=' + knownHash = 'gfZY0boUMYJoAHwou3eEhcz7A/xFvJKnjMUONZ6hY3I=' } check.dependsOn('checkAPIChanges') diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/TransactionSelector.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/TransactionSelector.java index c2682b5d8ab..601158a0fa2 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/TransactionSelector.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/TransactionSelector.java @@ -15,7 +15,7 @@ package org.hyperledger.besu.plugin.services.txselection; -import org.hyperledger.besu.datatypes.Transaction; +import org.hyperledger.besu.datatypes.PendingTransaction; import org.hyperledger.besu.plugin.Unstable; import org.hyperledger.besu.plugin.data.TransactionSelectionResult; @@ -26,8 +26,9 @@ public interface TransactionSelector { * Method called to decide whether a transaction is added to a block. The result can also indicate * that no further transactions can be added to the block. * - * @param transaction candidate transaction + * @param pendingTransaction candidate transaction * @return TransactionSelectionResult that indicates whether to include the transaction */ - TransactionSelectionResult evaluateTransactionPreProcessing(Transaction transaction); + TransactionSelectionResult evaluateTransactionPreProcessing( + PendingTransaction pendingTransaction); } From 7ee5b736f393ceb15a75a0443ebccb2dea6f0a12 Mon Sep 17 00:00:00 2001 From: Fabio Di Fabio Date: Tue, 3 Oct 2023 20:15:31 +0200 Subject: [PATCH 33/40] Target to use about 25MB for the new layered txpool by default (#5974) Signed-off-by: Fabio Di Fabio --- CHANGELOG.md | 3 ++- .../eth/transactions/TransactionPoolConfiguration.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b098443f6dc..2d46af4a852 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,8 @@ ### Additions and Improvements - Add access to an immutable world view to start/end transaction hooks in the tracing API[#5836](https://github.com/hyperledger/besu/pull/5836) -- Layered transaction pool implementation is now stable and enabled by default. If you want still to use the legacy implementation, use `--tx-pool=legacy` [#5772](https://github.com/hyperledger/besu) +- Layered transaction pool implementation is now stable and enabled by default. If you want still to use the legacy implementation, use `--tx-pool=legacy`. + By default, the new transaction pool is capped at using 25MB of memory, this limit can be raised using `--layered-tx-pool-layer-max-capacity` options [#5772](https://github.com/hyperledger/besu) - Tune G1GC to reduce Besu memory footprint, and new `besu-untuned` start scripts to run without any specific G1GC flags [#5879](https://github.com/hyperledger/besu/pull/5879) - Reduce `engine_forkchoiceUpdatedV?` response time by asynchronously process block added events in the transaction pool [#5909](https://github.com/hyperledger/besu/pull/5909) diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolConfiguration.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolConfiguration.java index fbab05d2337..aaf8c326c0a 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolConfiguration.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolConfiguration.java @@ -64,7 +64,7 @@ enum Implementation { boolean DEFAULT_ENABLE_SAVE_RESTORE = false; File DEFAULT_SAVE_FILE = new File(DEFAULT_SAVE_FILE_NAME); - long DEFAULT_PENDING_TRANSACTIONS_LAYER_MAX_CAPACITY_BYTES = 50_000_000L; + long DEFAULT_PENDING_TRANSACTIONS_LAYER_MAX_CAPACITY_BYTES = 12_500_000L; int DEFAULT_MAX_PRIORITIZED_TRANSACTIONS = 2000; int DEFAULT_MAX_FUTURE_BY_SENDER = 200; Implementation DEFAULT_TX_POOL_IMPLEMENTATION = Implementation.LAYERED; From 96fe18e65a99b60f84dc011e18a77a53e5ff0822 Mon Sep 17 00:00:00 2001 From: Fabio Di Fabio Date: Thu, 5 Oct 2023 15:40:49 +0200 Subject: [PATCH 34/40] Release 23.10.0-RC burn in (#5989) * Expose getSize to transaction interface (#5983) Signed-off-by: Gabriel-Trintinalia * Add parameters to EVM library fluent API (#5930) Add the ability to configure more parameters in the fluent API. Specifically contract address, coinbase, difficulty, mixHash/prevRandao, baseFee, block number, timestamp, gas limit, previous block hashes, and versioned hashes. Also create EVM forks parametrically instead of by a method name. Signed-off-by: Danno Ferrin * Validation ordering (#5986) * re-ordering error reporting priority * fixes fork checking on getPayload * adds acceptance test reproducing an issue where built blocks have proofs > txs * test coverage and fix for subtle re-org bug prior to proposals --------- Signed-off-by: Justin Florentine * [4844] EngineNewPayload - Add Blob Count validation (#5973) Signed-off-by: Gabriel-Trintinalia * Plugin Api - Add evaluateTransactionPostProcessing to TransactionSelector interface (#5988) Signed-off-by: Gabriel-Trintinalia * Only use the builder to create transactions (#5980) Signed-off-by: Fabio Di Fabio --------- Signed-off-by: Gabriel-Trintinalia Signed-off-by: Danno Ferrin Signed-off-by: Justin Florentine Signed-off-by: Fabio Di Fabio Co-authored-by: Gabriel-Trintinalia Co-authored-by: Danno Ferrin Co-authored-by: Justin Florentine --- .../node/configuration/BesuNodeFactory.java | 1 + .../jsonrpc/AbstractJsonRpcTest.java | 21 +- ...gineCancunBlockBuildingAcceptanceTest.java | 97 + .../jsonrpc/engine/cancun/genesis.json | 5034 +++++++---------- .../01_shanghai_prepare_payload.json | 33 - .../test-cases/02_shanghai_getPayloadV2.json | 36 - .../test-cases/03_shanghai_newPayloadV2.json | 38 - .../test-cases/04_shanghai_newPayloadV3.json | 39 - .../05_cancun_forkchoiceUpdatedV2.json | 28 - .../06_cancun_forkchoiceUpdatedV2.json | 33 - .../test-cases/07_cancun_getPayloadV3.json | 42 - .../test-cases/08_cancun_newPayloadV3.json | 39 - .../01_cancun_send_blob_tx.json | 7 + .../02_cancun_get_blob_tx.json | 5 + .../03_cancun_send_blob_tx.json | 5 + .../04_cancun_send_blob_tx.json | 5 + .../05_cancun_send_blob_tx.json | 5 + .../06_cancun_send_blob_tx.json | 5 + .../07_cancun_send_blob_tx.json | 5 + .../08_cancun_send_blob_tx.json | 5 + .../09_cancun_get_chainhead.json | 5 + .../10_cancun_build_on_genesis.json | 5 + .../block-production/11_cancun_tx_count.json | 17 + .../12_cancun_get_built_block.json | 87 + .../hyperledger/besu/datatypes/Address.java | 8 +- .../besu/datatypes/Transaction.java | 7 + .../AbstractEngineForkchoiceUpdated.java | 29 +- .../engine/AbstractEngineNewPayload.java | 7 + .../engine/EngineForkchoiceUpdatedV2.java | 18 +- .../engine/EngineForkchoiceUpdatedV3.java | 29 + .../methods/engine/EngineGetPayloadV2.java | 37 +- .../methods/engine/EngineNewPayloadV3.java | 2 +- .../internal/results/BlobsBundleV1.java | 11 + .../ExecutionEngineJsonRpcMethods.java | 3 +- .../internal/methods/EthGasPriceTest.java | 17 +- .../engine/EngineGetPayloadV2Test.java | 23 +- .../engine/EngineNewPayloadEIP6110Test.java | 18 +- .../engine/EngineNewPayloadV3Test.java | 14 + .../eea/BaseEeaSendRawTransaction.java | 109 +- .../txselection/BlockTransactionSelector.java | 22 +- .../AbstractBlockTransactionSelectorTest.java | 92 +- .../besu/ethereum/core/Transaction.java | 157 +- .../TransactionProcessingResult.java | 24 +- .../encoding/BlobTransactionEncodingTest.java | 4 +- .../eth/transactions/TransactionPool.java | 4 + .../eth/messages/MessageWrapperTest.java | 77 +- .../AbstractTransactionPoolTest.java | 48 + .../besu/evmtool/EvmToolCommand.java | 34 +- .../besu/evmtool/trace/coinbase-cold.json | 57 + .../besu/evmtool/trace/coinbase-warm.json | 57 + .../java/org/hyperledger/besu/evm/EVM.java | 25 + .../hyperledger/besu/evm/EvmSpecVersion.java | 24 +- .../org/hyperledger/besu/evm/MainnetEVMs.java | 39 +- .../besu/evm/fluent/EVMExecutor.java | 538 +- .../besu/evm/fluent/SimpleAccount.java | 17 + .../besu/evm/fluent/SimpleBlockValues.java | 100 +- .../besu/evm/fluent/SimpleWorld.java | 34 +- .../gascalculator/BerlinGasCalculator.java | 17 +- .../besu/evm/operation/ChainIdOperation.java | 15 +- .../evm/operation/SelfDestructOperation.java | 8 +- .../evm/processor/MessageCallProcessor.java | 11 - .../besu/evm/StandardJsonTracerTest.java | 5 +- .../besu/evm/fluent/EVMExecutorTest.java | 229 + .../operations/SelfDestructOperationTest.java | 2 +- .../AbstractMessageProcessorTest.java | 4 +- plugin-api/build.gradle | 2 +- .../data/TransactionProcessingResult.java | 91 + .../txselection/TransactionSelector.java | 12 + .../TransactionSelectorFactory.java | 8 +- 69 files changed, 3980 insertions(+), 3706 deletions(-) create mode 100644 acceptance-tests/tests/src/test/java/org/hyperledger/besu/tests/acceptance/jsonrpc/ExecutionEngineCancunBlockBuildingAcceptanceTest.java delete mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/01_shanghai_prepare_payload.json delete mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/02_shanghai_getPayloadV2.json delete mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/03_shanghai_newPayloadV2.json delete mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/04_shanghai_newPayloadV3.json delete mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/05_cancun_forkchoiceUpdatedV2.json delete mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/06_cancun_forkchoiceUpdatedV2.json delete mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/07_cancun_getPayloadV3.json delete mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/08_cancun_newPayloadV3.json create mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/01_cancun_send_blob_tx.json create mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/02_cancun_get_blob_tx.json create mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/03_cancun_send_blob_tx.json create mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/04_cancun_send_blob_tx.json create mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/05_cancun_send_blob_tx.json create mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/06_cancun_send_blob_tx.json create mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/07_cancun_send_blob_tx.json create mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/08_cancun_send_blob_tx.json create mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/09_cancun_get_chainhead.json create mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/10_cancun_build_on_genesis.json create mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/11_cancun_tx_count.json create mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/12_cancun_get_built_block.json create mode 100644 ethereum/evmtool/src/test/resources/org/hyperledger/besu/evmtool/trace/coinbase-cold.json create mode 100644 ethereum/evmtool/src/test/resources/org/hyperledger/besu/evmtool/trace/coinbase-warm.json create mode 100644 evm/src/test/java/org/hyperledger/besu/evm/fluent/EVMExecutorTest.java create mode 100644 plugin-api/src/main/java/org/hyperledger/besu/plugin/data/TransactionProcessingResult.java diff --git a/acceptance-tests/dsl/src/main/java/org/hyperledger/besu/tests/acceptance/dsl/node/configuration/BesuNodeFactory.java b/acceptance-tests/dsl/src/main/java/org/hyperledger/besu/tests/acceptance/dsl/node/configuration/BesuNodeFactory.java index cb9a25fad8e..bd635c6bfcf 100644 --- a/acceptance-tests/dsl/src/main/java/org/hyperledger/besu/tests/acceptance/dsl/node/configuration/BesuNodeFactory.java +++ b/acceptance-tests/dsl/src/main/java/org/hyperledger/besu/tests/acceptance/dsl/node/configuration/BesuNodeFactory.java @@ -546,6 +546,7 @@ public BesuNode createExecutionEngineGenesisNode(final String name, final String .bootnodeEligible(false) .miningEnabled() .jsonRpcEnabled() + .jsonRpcTxPool() .engineRpcEnabled(true) .jsonRpcDebug() .build()); diff --git a/acceptance-tests/tests/src/test/java/org/hyperledger/besu/tests/acceptance/jsonrpc/AbstractJsonRpcTest.java b/acceptance-tests/tests/src/test/java/org/hyperledger/besu/tests/acceptance/jsonrpc/AbstractJsonRpcTest.java index 56c43da355b..508fb891c0e 100644 --- a/acceptance-tests/tests/src/test/java/org/hyperledger/besu/tests/acceptance/jsonrpc/AbstractJsonRpcTest.java +++ b/acceptance-tests/tests/src/test/java/org/hyperledger/besu/tests/acceptance/jsonrpc/AbstractJsonRpcTest.java @@ -28,6 +28,7 @@ import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; +import java.net.URL; import java.util.Arrays; import java.util.stream.Collectors; @@ -82,9 +83,18 @@ public void test() throws IOException { testsContext.mapper.readValue(testCaseFileURI.toURL(), JsonRpcTestCase.class); final String rpcMethod = String.valueOf(testCase.getRequest().get("method")); - + OkHttpClient client = testsContext.httpClient; + if (System.getenv("BESU_DEBUG_CHILD_PROCESS_PORT") != null) { + // if running in debug mode, set a longer timeout + client = + testsContext + .httpClient + .newBuilder() + .readTimeout(900, java.util.concurrent.TimeUnit.SECONDS) + .build(); + } final Call testRequest = - testsContext.httpClient.newCall( + client.newCall( new Request.Builder() .url(getRpcUrl(rpcMethod)) .post(RequestBody.create(testCase.getRequest().toString(), MEDIA_TYPE_JSON)) @@ -93,6 +103,7 @@ public void test() throws IOException { assertThat(response.code()).isEqualTo(testCase.getStatusCode()); final ObjectNode actualBody = JsonUtil.objectNodeFromString(response.body().string()); + evaluateResponse(actualBody, testRequest, testCase, testCaseFileURI.toURL()); final ObjectNode expectedBody = JsonUtil.objectNodeFromString(testCase.getResponse().toString()); assertThat(actualBody) @@ -101,6 +112,12 @@ public void test() throws IOException { .isEqualTo(expectedBody); } + protected void evaluateResponse( + final ObjectNode responseBody, + final Call testRequest, + final JsonRpcTestCase testCase, + final URL url) {} + private String getRpcUrl(final String rpcMethod) { if (rpcMethod.contains("eth_") || rpcMethod.contains("engine_")) { return testsContext.besuNode.engineRpcUrl().get(); diff --git a/acceptance-tests/tests/src/test/java/org/hyperledger/besu/tests/acceptance/jsonrpc/ExecutionEngineCancunBlockBuildingAcceptanceTest.java b/acceptance-tests/tests/src/test/java/org/hyperledger/besu/tests/acceptance/jsonrpc/ExecutionEngineCancunBlockBuildingAcceptanceTest.java new file mode 100644 index 00000000000..2cb768d362e --- /dev/null +++ b/acceptance-tests/tests/src/test/java/org/hyperledger/besu/tests/acceptance/jsonrpc/ExecutionEngineCancunBlockBuildingAcceptanceTest.java @@ -0,0 +1,97 @@ +/* + * Copyright contributors to Hyperledger Besu. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.tests.acceptance.jsonrpc; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.hyperledger.besu.tests.acceptance.dsl.rpc.JsonRpcTestCase; + +import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; + +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.JsonNodeType; +import com.fasterxml.jackson.databind.node.ObjectNode; +import okhttp3.Call; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +@RunWith(Parameterized.class) +public class ExecutionEngineCancunBlockBuildingAcceptanceTest extends AbstractJsonRpcTest { + private static final String GENESIS_FILE = "/jsonrpc/engine/cancun/genesis.json"; + private static final String TEST_CASE_PATH = "/jsonrpc/engine/cancun/test-cases/block-production"; + + private static JsonRpcTestsContext testsContext; + + public ExecutionEngineCancunBlockBuildingAcceptanceTest( + final String ignored, final URI testCaseFileURI) { + super(ignored, testsContext, testCaseFileURI); + } + + @BeforeClass + public static void init() throws IOException { + testsContext = new JsonRpcTestsContext(GENESIS_FILE); + } + + @Parameterized.Parameters(name = "{0}") + public static Iterable testCases() throws URISyntaxException { + return testCases(TEST_CASE_PATH); + } + + @Override + protected void evaluateResponse( + final ObjectNode responseBody, + final Call testRequest, + final JsonRpcTestCase testCase, + final URL url) { + if (url.toString().endsWith("10_cancun_build_on_genesis.json")) { + // if we just asked the node to build, give it some time to build + try { + Thread.sleep(2000); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } + if (url.toString().endsWith("12_cancun_get_built_block.json")) { + + // final ObjectNode rpcResponse = JsonUtil.objectNodeFromString(response.body().string()); + final ObjectNode result = (ObjectNode) responseBody.get("result"); + final ObjectNode execPayload = (ObjectNode) result.get("executionPayload"); + final ObjectNode blobsBundle = (ObjectNode) result.get("blobsBundle"); + assertThat(execPayload.get("transactions").getNodeType()).isEqualTo(JsonNodeType.ARRAY); + final ArrayNode transactions = (ArrayNode) execPayload.get("transactions"); + // actually, you need to decode the transactions and count how many unique + // versioned hashes are referenced amongst them. + assertThat(blobsBundle.get("commitments").getNodeType()).isEqualTo(JsonNodeType.ARRAY); + final ArrayNode commitments = (ArrayNode) blobsBundle.get("commitments"); + assertThat(blobsBundle.get("blobs").getNodeType()).isEqualTo(JsonNodeType.ARRAY); + final ArrayNode blobs = (ArrayNode) blobsBundle.get("blobs"); + final ArrayNode proofs = (ArrayNode) blobsBundle.get("proofs"); + assertThat(2).isEqualTo(transactions.size()); + assertThat(6).isEqualTo(commitments.size()); + assertThat(6).isEqualTo(blobs.size()); + assertThat(6).isEqualTo(proofs.size()); + } + } + + @AfterClass + public static void tearDown() { + testsContext.cluster.close(); + } +} diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/genesis.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/genesis.json index 017d9f0c851..ba102f25afb 100644 --- a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/genesis.json +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/genesis.json @@ -16,7 +16,7 @@ "parisBlock": 0, "terminalTotalDifficulty": 0, "shanghaiTime": 0, - "cancunTime": 4662 + "cancunTime": 0 }, "nonce": "0x0", "timestamp": "0x1234", @@ -26,4046 +26,3044 @@ "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "coinbase": "0x0000000000000000000000000000000000000000", "alloc": { - "0000000000000000000000000000000000000100": { - "code": "0x5f804955600180495560028049556003804955", + "0000000000000000000000000000000000000314": { + "code": "0x60606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063a223e05d1461006a578063abd1a0cf1461008d578063abfced1d146100d4578063e05c914a14610110578063e6768b451461014c575b610000565b346100005761007761019d565b6040518082815260200191505060405180910390f35b34610000576100be600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506101a3565b6040518082815260200191505060405180910390f35b346100005761010e600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506101ed565b005b346100005761014a600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610236565b005b346100005761017960048080359060200190919080359060200190919080359060200190919050506103c4565b60405180848152602001838152602001828152602001935050505060405180910390f35b60005481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b7f6031a8d62d7c95988fa262657cd92107d90ed96e08d8f867d32f26edfe85502260405180905060405180910390a17f47e2689743f14e97f7dcfa5eec10ba1dff02f83b3d1d4b9c07b206cbbda66450826040518082815260200191505060405180910390a1817fa48a6b249a5084126c3da369fbc9b16827ead8cb5cdc094b717d3f1dcd995e2960405180905060405180910390a27f7890603b316f3509577afd111710f9ebeefa15e12f72347d9dffd0d65ae3bade81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18073ffffffffffffffffffffffffffffffffffffffff167f7efef9ea3f60ddc038e50cccec621f86a0195894dc0520482abf8b5c6b659e4160405180905060405180910390a28181604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a05b5050565b6000600060008585859250925092505b935093509390505600a165627a7a72305820aaf842d0d0c35c45622c5263cbb54813d2974d3999c8c38551d7c613ea2bc1170029", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000001234", + "0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9": "0x0000000000000000000000000000000000000000000000000000000000000001" + }, "balance": "0x0" }, - "0000000000000000000000000000000000000101": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0000000000000000000000000000000000000315": { + "code": "0x60606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063ef2769ca1461003e575b610000565b3461000057610078600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061007a565b005b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051809050600060405180830381858888f1935050505015610106578173ffffffffffffffffffffffffffffffffffffffff167f30a3c50752f2552dcc2b93f5b96866280816a986c0c0408cb6778b9fa198288f826040518082815260200191505060405180910390a25b5b50505600a165627a7a72305820637991fabcc8abad4294bf2bb615db78fbec4edff1635a2647d3894e2daf6a610029", + "balance": "0x9999999999999999999999999999999" }, - "0000000000000000000000000000000000000102": { - "code": "0x5f804955600180495560028049556003804955", + "0000000000000000000000000000000000000316": { + "code": "0x444355", "balance": "0x0" }, - "0000000000000000000000000000000000000103": { - "code": "0x5f804955600180495560028049556003804955", + "0000000000000000000000000000000000000317": { + "code": "0x600160003555", "balance": "0x0" }, - "0000000000000000000000000000000000000104": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "000f3df6d732807ef1319fb7b8bb8522d0beac02": { + "code": "0x3373fffffffffffffffffffffffffffffffffffffffe14604d57602036146024575f5ffd5b5f35801560495762001fff810690815414603c575f5ffd5b62001fff01545f5260205ff35b5f5ffd5b62001fff42064281555f359062001fff015500", + "balance": "0x0", + "nonce": "0x1" }, - "0000000000000000000000000000000000000105": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "002ab0b2e0e1ce5603ee5197db312a0b8e5e4de3": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000106": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "00703953f4d3051b835b4d4fd42ca8bf30a40e86": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000107": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0161e041aad467a890839d5b08b138c1e6373072": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000108": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0180d9bc108aaae88d867874615e16d2b02646fd": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000109": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "018894237500cfa19ff831e719575087b473f885": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000010a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "01978943f6f1c954d78ebe9294399492319fde03": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000010b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "01affacd932ed4a3998e3288696d7fec9dd03040": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000010c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "027e3ba0c3cce5092f5bf70eb16e79a2e060be35": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000010d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "028c3f95d493e1ea5105f8df22f108212149a71a": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000010e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "02fad18f5be62cf8d3598d56927d62f88a53763e": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000010f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "033d805a22aac77628336f1c19de949152285c81": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000110": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0341b68cefcce604d5b3093fcec376055bca04d7": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000111": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "037794de0cc3fda05cbd69bf9c63221a5c77bfa5": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000112": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "038c7cebd7bd2e2a4cfde24542bac3267314de80": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000113": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "03a7598f280264de51a4dc179499369bbf8bfe1b": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000114": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "03ccab28366fcefe2017dee8b21ee9f7a0ce4dbf": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000115": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "03f4958d4f7fdb2dc9bab4c4b3b65e4c7c6cc19b": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000116": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "03fd15318785b027746cb6338b3e7e433b788e32": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000117": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0404b3344282bd3e2125b105b0d14fc8343ee91b": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000118": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "040a6b4e9d7ba21453a03d24eef789a4d6bfd1da": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000119": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "04238a7df1bf8969007d28e8adb3acc562f10ecc": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000011a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "044304a5c0f74c4c73f0a0c4bb6ff4c7a6ce65b5": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000011b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "049b739c5efb31ec59af9f7d5d63663040e9c348": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000011c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "04ab3f70c109822c00989890e2e507b67d02439e": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000011d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0509a6b1d5e81ee4b8121445dffb0710c4cd9c91": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000011e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "058fe3a4949a340c5e3eb9e6899756284f2a4751": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000011f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "05c80fdc7d901d86660c1ed2084e6fefae29ed0d": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000120": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "06195318f0fef9ebd6a3dc3e537481e1c67ece15": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000121": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "061c697c1dc7f1763c8ff4f8f1988fd4639fbdab": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000122": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "06406fa79f6fc0cb49a6c099ed884ce88f847fe3": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000123": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "06486fe11ac1b5aacead08f7c2f9204b306e9f6c": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000124": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "06600a99159285373c45bcf429651e2acb63dddc": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000125": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "066d570ac7e0f68d913ec3c0023ef938ca04fda3": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000126": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0691c043cf4ccc5aa82dcdad0306d77a24ae66e9": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000127": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "06ec20590dcc196a9ae53b2c96921d9962b4adb0": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000128": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "06ed51802dc2309c2dba472296f892608994af02": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000129": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "07145dcd5c9f6b0666fa8406d699b8dec03da65e": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000012a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "071e0496af3affc3e3aefe839a48bba4d0405ab4": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000012b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "072bbaca614f044e498fac49d69d3629bb6e0a50": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000012c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "07da92e4ee35657017199edc1a632a3a2e67f0ad": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000012d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "07df6472c006b46f82cf5ef434457770dad10746": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000012e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "086eafa56e15c2e8d2d9e88777934b9aa455632c": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000012f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "08c47da437272c98768b1c616fc2bfe955947519": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000130": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "092ef50560c5051687e149daa6ec1d801217890c": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000131": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "09503d49064e124606be41ba1e10a9a54284dbc1": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000132": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "09668c224a41c1446f6424ee630ead4a221801e2": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000133": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "09bf18bd85df01d10d65746c2331a14f24458cfd": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000134": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "09cf35a675747a3a5258c83323a0305415b8bdc1": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000135": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0aa77079e84293b7b1413a37b7a9021b39ed905b": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000136": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0ab89e4c13cdcb5a0c1a6cee5ce1fb449630b104": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000137": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0afc08af805ff2123e89830ca557774c2c641332": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000138": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0bd61d7ea01bb5fbb819dfca07dbdce366d0055c": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000139": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0bd74fe87a1c42143fd5076f124fa38110212cc1": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000013a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0bfc0b46771c91bd7e3c46857e982f02ad3a85b2": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000013b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0d421d61b0cca76a7cbb8a34ceef434bceae2274": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000013c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0d67f7ea10efe11abdec3c8bfa11c563a89b40d5": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000013d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0d7dd30d2d44cd1e02cc192cffc2ca8369937c14": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000013e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0d9a4a12979ee41b01ce345538bb1b4403e7a52b": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000013f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0d9cdcfe46315f8e194a342bc8842644248a72b0": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000140": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0d9fcc08ff0f8e0326606f6eafb2e2b3935f5814": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000141": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0da5d65e0dca159d6ac91a0d0ec13a0808e80f5c": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000142": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0db661da91779e58629c15b2cc2cb265b2ff8099": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000143": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0ded16333659b504d204f342b2bac9a96f42ec4a": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000144": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0df7af972c609b3264308c355cd5163ddc4a6404": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000145": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0e3838dafee5427b5087b546bb25b2b1b0dd7bf0": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000146": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0ea0666afa5fc2811b6eddc83c6bf0334bfecc88": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000147": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0ec4ad1ee5bec54cf84e8499445de3aaec721a14": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000148": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0f036feb940bb8197357bb35650532e1363c6596": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000149": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0f253963dddd2b26f231b89fe3400c02c577f7d3": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000014a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0f6b3ca6ded57fb42a64002eea269bed6e0e9f19": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000014b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0f75a40ef8367624ccbcb046af275167dd03a02c": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000014c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0fbf10acabb95284d3a2f11396f8af35dbb642e3": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000014d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "0fff125eb500dcdeeee188020afdc77570217701": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000014e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "102e3d3e1bcfe11a1ce47086c0ed095cb6d6006a": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000014f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "107a92d31d85dce3e071768a10fa83e9b4e777b6": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000150": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "10822670007a70494e3482bbe3b07073fed49a46": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000151": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "10a2a8f5f71df727bceb7c3483e2501feda45543": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000152": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "11507ccf533dbf2e240ff7ccc52947eb71e222f2": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000153": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1215712c5788bd0aafb69de0b9a7996ffed73bc3": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000154": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "123b3b8a13785974c3ec5667869acd18fac9228e": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000155": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "124606634cafe61fe7f3f846b2e576fc4177a3f1": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000156": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "12caf6b2684f79dece138e8a61ce34a1573d779e": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000157": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "133a407883d6b7a220f5978203a556ca2a70d34a": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000158": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "133adf1c15325eaff57b4fa70469b36995d8c3ae": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000159": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "136cde1615dccdcfbd6e2acc30d499155df2223c": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000015a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "142bbcc733692bbea7e7f450cec6e83fc29fe9d9": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000015b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "14392dd0de351ad6c11414561166aa7eec6b6966": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000015c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "14c2ef666bd2ce04f0979d1152baadc786c0873e": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000015d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "14f2d565af103a90c06ba16e6dc16c17a9601855": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000015e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "14f31040c184e36432532d97fdb9805f535f2685": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000015f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "15218785353aac9c04ac17736cd69ff02bd894bb": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000160": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1546a6af99c4934120248f850bf58c225c176503": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000161": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "15cc9316c2c2c68521dfa99194eabeb1f70e92cb": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000162": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "15ecc9ca94ae0b3f1c0317dfcb8c95cf327104a8": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000163": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "15ee4f9f1426094d418835b7b0275f0341f0d3a7": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000164": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "16181aad455352989ece55565568fcdc80a1d5c5": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000165": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1643ce928d7e7799ead7c67abf6b321e56656292": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000166": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "168fa1aab7ff2365996eeb6a7b4173b720f23a79": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000167": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "176fc53756d6078468d1608e666dd665e15e2b6d": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000168": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1770205c03b5616fa79b509ef90e4d78600bf0eb": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000169": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "17ba2eff9a58c0eedf8a37e2ae8fad89e281093f": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000016a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "184dec64045ec211ccd1d62c599eb0e31f6d3aa5": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000016b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "18f852455f0af54497f4030f23c08883205afe6a": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000016c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "194408d2be2b07a5613f2f90e1603cd7beabae0e": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000016d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "194c5d26dafd24a7d2a5db8abad7c86e03a61e27": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000016e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "19575b2d1cf3e59b5a52daecc3346cb136703a9e": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000016f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "196d5591d1ec6667b4a4eb219b024221af4308f9": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000170": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "19708d3ac6ff83afb7489ff8d0fbd6a3513df13a": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000171": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "197b1e965186805967ab027b27c154474d2d9897": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000172": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "199389c87383d02522b2d8e911dcb30d9d0ba6d4": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000173": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "19c2eab44918a6c879cc4a10cb02c301140cc0ab": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000174": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "19ef57fbc9bf9fdeacef8e8eed16693e13e5f66a": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000175": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1a1ec0bfb09ddf3442b436f469dfcb648e5b4c39": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000176": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1a62b98a537dfeb4e23865b2054f9d391fe94b45": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000177": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1a8286a6f1297ae218bf822737da6d0a61ac0bba": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000178": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1ac6791c55d2b8c52af00d730a54b69bf5d60abc": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000179": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1af24808f86bc2bd47144df77583e1b6eac26b6f": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000017a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1b7d2aff64b95097cd059b166b2b8e022bc447dc": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000017b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1b8eac4ffd201fce1c24153cd0059998e83a25e3": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000017c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1bcf4cd67f7e24e4f348df8ad7a0a3fb9ba0ec2e": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000017d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1bf874acf29cea24744337796b4f0440a9afa8b6": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000017e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1c38547d1bcc02a13d882746f573624e2ddb507d": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000017f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1c399dd4ce64e2b0ccca8f869db53dbd59413579": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000180": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1c49f8dc3c9fcd1a21ab07848c67138a70a27d1f": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000181": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1c4a2e2745b6d356899ab6ef0216d6b12ca8cfc4": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000182": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1c6abb6f065f5b98c79451fb0c107c5041ee532b": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000183": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1c98bd33023742e0e55fb764f0d6b1bec799d487": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000184": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1ca10ae61d4b78bd0ef1352ade85d9d531ebcd64": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000185": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1cc5f4161d38b009c0d9dc9519f69fbab98d60d4": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000186": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1ce210b59325be1a5771baf9a052c142b18a2862": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000187": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1d05786118e66d525add8c0fc48df840ba824c94": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000188": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1d20ba50ddb64f5d217fac83c2004102463b7076": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000189": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1d2c867848e1132bf507a522dc19bfe921600378": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000018a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1d7aecba4c24775a1280f80c17be6af665b953f4": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000018b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1d7ff504d9a5f74796b1ec6f2af3efb56eafe4f4": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000018c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1d897aef285728f8ef6b23da93228c8c2df56005": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000018d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1da74dd30ddfa5b4cd341db8cc365493710815ef": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000018e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1db411833353dd170731b8aaa0fc462ba6b85716": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000018f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1dea592a523af0e34b2d710da110000ca0cf4bcd": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000190": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1e214a7fc964e6a453ea84202e4358fa80d26735": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000191": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1e3f7cc46db41e467b2c2f7a1aaffc4b50841fae": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000192": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1e5b29f5aa0069edd8aca2fd450453b1cb7f76da": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000193": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1e83f5e7383103b440ff1cb700d44b825f78151f": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000194": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1eddead7dcfaef00342b0fb69376a278bff63b31": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000195": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1fae88f530e5d6ae123e30fb0e13dc91be570098": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000196": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "1fb0b9ab23fce3f62c8ba836278c83b6f5dfeb88": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000197": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "207c58c9bc6a6aa5326c88e214a39e0944e298b5": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000198": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2092ccd2eb0c5b6d39f7914eee15a542b3e8ce13": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000199": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "20c9ebaf4789c3903bdd4f11631fca5c310bc506": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000019a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "21124c66234e745328f3c99047e370475810b7dd": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000019b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "215a5f8b7f4f1e51e39eceb7ba563166be5b78b8": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000019c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "21693f147e8f9502975af2a44f5aac81fa15ba8c": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000019d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "217d6961939b320d0fa533197e87c790e523821a": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000019e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "21a6a51517ff4f2cade26e44601d62dcf5de7672": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000019f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2207a68a063106532ea98034a5b3639a3a74ca06": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001a0": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "228815ba767aea13ae6791c567045e483a70e45a": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001a1": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "22a818cd0f964eaaa5553ed40ec03108e91bc56c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001a2": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "22b252f2526756c819c3ecf459ff50ebfb250f89": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001a3": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "22cc131e76505fe6562dbc98d7b12c4116ae9849": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001a4": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2303055e831aa5f74741aa6794cf0c5ad5760fa3": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001a5": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2318dfa4fd36d6fe68c710b846f722ffa7fbccb2": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001a6": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "231e9c79cbb3551b7deba9aa6f84e369ae25b24c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001a7": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2333fd8ba7b72e19fc7316ecf70c6d83c617dca0": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001a8": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "23590fea9f4e1713aacf139d8024e8cba59145e2": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001a9": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "236df247022dbd825ef4f7a66ab1c5d4b430335a": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001aa": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2372fc55ee67d1140b29c5dd6975ec116a6194b3": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001ab": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "23c6115a2fcb3e86bf9a3844f4180863c739a660": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001ac": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "23cb3586b0fc7d14caf3bc056600e4b243902529": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001ad": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "23ce296758ddbebad2d2745dee1eaea9908a8abe": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001ae": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "23d48a4f486e0f40d07e5ce05b75c5b5a7258c3f": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001af": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "243194746d3bcae6f91fe7e8623311920b3b67e2": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001b0": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "24fdb63c47a3d2bc17ec1420c694f2ecfa3fbb0c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001b1": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "253e05cfa707968557d62e4d4885846664bfd7e2": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001b2": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "25dc7cfad826a0e6bfee2a8d88cacfc66232da05": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001b3": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "25de520eb78064f72a7da53222bc5a7e4a1743b1": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001b4": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "25e61f5e64106ec5edc64d9b2e8753c6530e48e2": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001b5": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "25f78d56fce1f19db9f8b8efd88921ec30cc8634": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001b6": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "26543c2e9703658e763654d834b3003ae6ce2a8e": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001b7": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "26fe70520842263f25280c573fbc294da78315c1": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001b8": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "27399a266b8e0cee618c676f4cc6dc6fcedbdc64": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001b9": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2759fc9e4f426db2b58bd4db7cb2b1960af9a140": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001ba": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "279a842cd4dc1c05e9c1df4f31ac8133717d633d": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001bb": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "280a527cb1f0dc01ef77455468f279fce298ddc3": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001bc": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "28c594abf3998f420f94c9a8995e485636193536": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001bd": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "28eabe17d471333ad4e212cc8552b401d93a4bf0": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001be": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "29d27d6d6b19b84708b9e6a5f5aab08c1132744a": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001bf": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "29dfa721ceb012ac6d6f0f1caa201fba0bb31e56": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001c0": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2a44d74fd13ca27200b4e8c8a9f7b3bdb3f8989c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001c1": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2a4597fb289fdc5ab547daf3efe8b693b074d5b8": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001c2": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2a5a0b08604a762042d061fe45d0e9c902830799": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001c3": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2a8ee9fc596b3930e042874b2ab8211cbea73d52": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001c4": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2ac5d20319df16fb0809efbf4d5034fb5f902c0b": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001c5": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2b05432faf13fb4a83bbe0a1560b6bcb650153ed": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001c6": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2b12d2d3955fa734d2157f0ccbbaa317a7a31b12": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001c7": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2b50df5161e98600bfa174c730bb0aad33e85e11": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001c8": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2b91cae02c4f85809ce2295f6bf28a86625be17b": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001c9": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2ba20a1d9422f408b3948c9956e89dda0d18863c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001ca": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2bee4ee1688f6377ade8e320af54b97aea5c8f7f": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001cb": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2c15ae3843fb32e35de447c7b1cc8caf5370b91d": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001cc": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2c593705d97e016f07b10cbf2bc949cf25e89f45": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001cd": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2cbb3720ad0133bc7bc15f5abf1902c11b88c773": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001ce": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2cf4829e19338e3c6affba8efc400abf67734871": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001cf": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2d4b44c12ce4b65392b844ddc55271fa847a1e89": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001d0": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2d4e892e10ab7d045ad85fa490e365d011b53988": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001d1": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2dc91940ce8ac366c3d5dbaf35d6c579e5770fd7": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001d2": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2de98791d546495881b3a627995c371735b9d989": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001d3": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2e7464e609dee54e9dc5a27074c6965e766f3b85": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001d4": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2ead576155319317f6c6861358804aebd2b98354": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001d5": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2ed0ac5fba04cdbe05ab10c2be5b752b7e3e6567": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001d6": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2ee018c346cf602795a7fafebafccee3dedbdfdb": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001d7": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2eea4ec6ae61eeb2030fdaa27e7cf23fffa31b1c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001d8": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2eed3df23063cec56874b1284aedb2eab578106d": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001d9": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2f1387dda2c669606d8c93d33f32a37a5eaa2318": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001da": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2f45cb95da0f058d1b142068f5e8b1eff7971ce0": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001db": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2f6c17c115ff8291caf92d757f93e07b15bd278e": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001dc": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "2fbe15d5b2943082475fd66e27d2d80ce27491ce": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001dd": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "301e7396914ad722a5b73ef7dbf51bd4538cd656": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001de": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "302a807bdb72becfbd48e7cc31963faca6ce09ba": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001df": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "302ddef5aa3e58c323a8edfd1b5c1815480097db": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001e0": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3030907fa54dcfae06e954b2ad7e6f904fbe9007": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001e1": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "30468d818d390a0e2234ed8cd6a5bd1ac33020ff": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001e2": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "30503f685ac929b131c37f1dc6bc5c21b7103ab0": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001e3": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "306a05e8743743f1e127e76ca5340527a1d6fa8a": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001e4": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "30991a116441260c12f4f5d9a7b9ffcf7d599d0b": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001e5": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "30bcf20b75a8d44005e856f7bb8a4e4f3df1c3e8": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001e6": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "30cfdc1f01c9ec4429231ce7fd9ee621d201c37c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001e7": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "30fb13bc4021cba4362c2cb67c42f946d4d92e12": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001e8": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "320805645435990b2e719db8d1b29a0c79183bcf": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001e9": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "321934d689fce49679afb985adeb579f7dcde88e": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001ea": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "32244776d03a6c8f4525ea522e2b832c72d1bcbe": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001eb": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3224b0628f1e2b8fa92b99bb655ed206bf98ce38": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001ec": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3285fa0c39b5f04aac5afe8d83209422454f6ee9": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001ed": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "32b2866e3b0ff8fd6fdd1a36221f9d6a3385f05b": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001ee": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "32b4a48b6e33223ee13466d1f30006f2e6cb3b0c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001ef": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "32d5d43cbf0575d4a0289a6baee5a78bbd18360a": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001f0": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "32fd51b7c7b2d317e3d9844e6e2d7b3d384e16ba": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001f1": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "334d24f4b1d57c508a3b4de026a8b2c3ca7f083a": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001f2": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "33a9cc1b6d530711d90ed88cfeee6ade476a78f5": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001f3": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "33b12c4582c0332ae047f0fbedaa68da599da70e": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001f4": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "33b189fe9bcdaf667faf222c0f37798549c40d77": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001f5": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "33d57a378e4b876f49cd0102141fef6edc287e40": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001f6": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3459e6cca6dac970d31d5964ae8a9041d0004d3e": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001f7": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "352fb3c114e293af7dc16dd1da51a128441360b9": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001f8": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3532377d1da32ec2a4c43f000f45cf3a02c9c5f6": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001f9": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3605defa4c4a8fc113caf048199724eb1f68b831": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001fa": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "36181695ab51ce34da1806f22e390409a20ef27c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001fb": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "36ba5190ecca98ad6ebc0bf004c31976b15908d8": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001fc": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "37120bbe77878ee286d5c542c873be65532d79a4": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001fd": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "377f2be9bde11b74b1ac4fd33c8401ad6a997064": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001fe": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "378c6c1b8ee692f962fe79f591580be350c30ac9": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000001ff": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "37abb4f8cdec26a50c3a697b6f97bae68f0834f5": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000200": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "37b74f50f8079a6af11e0e4a4d6998a666e3faba": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000201": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "37d12491f2a482b1f077b345ecca90d754389136": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000202": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "37fa45b6c8ac0e4901542e2ebc6348a5044ce066": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000203": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3841f5465ba2b5662f6d678f3cb71f5016674252": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000204": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "389cbc3fa6a4e3d7e161fa9513347d441594ef05": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000205": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "38ce0df8f831623e1b3b132af7407a8de0b73058": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000206": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "38e009300f55f08123f36769954ec53037d82977": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000207": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "38ec9b90d2a2e0521a69178bcb136dd7ae19a425": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000208": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "38fed2142c8984ec2bcd89c4b26109a222b6bd57": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000209": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "38ffa4a78d1b2ceb0ce8b785137da45333556db6": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000020a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "390271cdc83a57cb3202b4a4e43da92abff8b59c": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000020b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "39188cfa2e2160c22b4841701fcc04c1e0ef6591": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000020c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "392b56c05c95bf73c33e4d9b7409e99e8b80f38c": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000020d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "394abcd502145264c2b08e30f2ea1ddbfa688d66": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000020e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "399ccd680c0f73d87c6d2d09a345861a98cf21fa": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000020f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "39b20aa8fa10c57c890bc15edaaa3dfe9c5cc0d7": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000210": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3a328a5f37c9bfb1cbb32d676ddb72ff9e5e33db": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000211": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3a9701a0958ceb6538ed73b16023c3376595bf96": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000212": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3acea82cd5c7ff45efe4bfc2d923c0a9ba8fc31d": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000213": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3aceedc4421c9b72b961fdf628ad2355e8b5ba2e": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000214": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3aefea9cccc68b64207b4559360ee3a727fe2bf9": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000215": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3b2c56ca19029bcd2efa0804e66d4577a5aec432": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000216": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3bd2d821ea6761e2334873409c7e28e19b35de9f": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000217": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3bd8d729d909e572d9dea75ae85eb16e8b8792f7": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000218": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3bf52fdaba90072fcb8c8b70b2ac0940fdb561d1": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000219": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3c08a3a0c33442fb956c53ef52aefc0850b54cdb": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000021a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3c77d957e084397c234d1356b72affbbade03803": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000021b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3d64b28eb7b1f2cf25f3b85b83c97a6272f66d27": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000021c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3d7bbd6c64d87dfaee78b76d0559c0ad64bf0f37": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000021d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3df31fecce9ac56917232a0bcd699f77fdd9acdf": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000021e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3e0d9dede067d641669cdd512400f17233998d0e": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000021f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3e739909221fac4bca7f9b9ec706102a2a64746f": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000220": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3e99ae2d44c25fb6d96dfa508869471228733b68": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000221": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3ec0ff176732adcd32f430e10aa08a7e06dcfab9": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000222": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3ecb1c298da0c76d1903a5ee9607a8420eccc7a2": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000223": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3f71aa1264590a1bf8afea496edc85afe5d2132b": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000224": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3f988ae1511d84f6d42808002d6a66fc332aecef": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000225": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3f9aae77e1a72ac41799216b74fe2ed42122562b": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000226": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3fa2f150f702f3f0245d6a6a6affb5516e0dd88e": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000227": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "3fca8e863955559beab68836aafafaa0b1c27018": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000228": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4021a624af41219bfade44b28fc759f0a53f6a7d": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000229": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "40567287d2c5ff0c28c4534ec0cf9dc1833630e0": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000022a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "407f94603574cdadaedb762a66c40f4510ae7263": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000022b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4082264b56d8caacce66e2de502f6165a38a42ae": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000022c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "40d2ce8e77b786d4f56844931f6abe1f7f091c2e": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000022d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4127f02eb7f35bea2e8be49e086c1d2516dec225": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000022e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "415bec89e7eb382e03cdd85b7d7e3f6365f5450b": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000022f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "417aa671e139408de6e5d491bdedd2cd1be01ea3": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000230": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "41d4449d03b8db1c8361db464caaf6bfcecef34b": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000231": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "42a4ef595e80ea3a339ebab31f8877be41676487": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000232": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4345131f1e9fe55143598894eb45f5524ce97583": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000233": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4350d64a874116884c81c1e4ba86df9020a31340": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000234": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "436f056ef1b4153a6e88c5fc8912a6f258321663": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000235": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "43712cb6027e5ebf631c2b5519db5168a8fc99d4": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000236": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "437f8cfb7fd5ca3a093ae8eb70504d901a895bdb": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000237": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "43b7cc84551a753de9fd43a8932f94a23b96f866": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000238": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "43e3d6f01a037beb0abb984757813ba6746663e2": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000239": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "440108161777b3173f53bc58fc354de830175ff9": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000023a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "442720dd41fd491aa0e5356bb726906928797d4e": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000023b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "442a7584febd05320fa225cc80cb4f7a3695b5c6": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000023c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "446aa7cb71586e1c8eeae3110c9e44f99b696d3a": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000023d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "451a7c2c58b88f57c00a85aaa4508bdacdc4c3f7": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000023e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "454c6b712f355b38bb9c75b6f8992e7bb94604df": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000023f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4573c35686754c208480a0e55a0a190c87aa932b": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000240": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "45a45eeb12fe9821cb01eff0a15c05d5c81413e7": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000241": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "45cc5bbd0c99ef17f0609e05af14f9a38b4974e0": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000242": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "45d1ea85eaa6217317d3f6d281e780b75f6ddca8": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000243": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "460c8a8647070e61d5cac324194a650551adb13a": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000244": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4630a83fc74deaa955655126926cba4394a143eb": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000245": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "466c9d75c871c69c063a90ca393d596bb481a64a": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000246": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "46704eb8230694907a4bf08acac496f44d273b51": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000247": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4670f7b614844ea563414a55054edbe1ff76f7b0": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000248": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "467c2b622d14ea12c69316681b8da3eeb0529b17": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000249": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "46dc75358fe0972bd54470d63ec396ebfab1cd49": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000024a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "47abcfb094c2fbe86acb2d3be17fee73c45a5356": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000024b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "47b62d14c5d04d5b1489a4e46cee3ada098b1839": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000024c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "480cc60f64fb59a24acd5f69cf879e5dbf9f39ad": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000024d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4817f3481484cfbfefaaecc1f92f72f07831d93d": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000024e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "48b92aaba83708343bda6a547b51c80495b0d8e6": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000024f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4901af7f6d0c54195aa09ab9cbe03716ea43a832": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000250": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "49115d53e3678370f2f614275faff7f15b47c9e3": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000251": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4976bf23eab3324d767f1391eb4fa8818e222bce": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000252": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4994b2a9da761ec9093e813bca5053c4f849e406": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000253": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "49a7147585a1f0c8bc2dac06c25c908f29624867": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000254": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4a0243b61ffb6604025d3dd904b524f001c074bf": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000255": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4a590e71c94141738f0651ac8dc76dae82946455": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000256": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4a74d4067eae37b874830fcf55baed6d5d4ef6fe": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000257": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4a90e3adf23c760ecb539570e0d63b5aec70bfe3": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000258": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4aba669107f2e0798a6075059164ef594414f5b8": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000259": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4ac75a64bcfa631576e914e5a2396740c66c1ad8": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000025a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4ad40c62ced7b4f6510f220db997ed10ffc8eef5": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000025b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4b2f43c4fe787f7a42c3e2a541458b2756c34d6d": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000025c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4b7c53abc40a597548f03451a6a1c30c493abe09": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000025d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4c0ba846114d76cf2e56a25f7c43b847cc8299b1": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000025e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4c4519aa9a903707436192efea31bb6df47d4fd4": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000025f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4c6e550d5d59e175465f647179db2244fb416f5b": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000260": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4d40e3c9f3fbadd16d41f7342268ceefa0024035": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000261": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4d481509f52990f5de7810c1a8f578b6983cf3a2": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000262": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4d5e35bae304ef05fe9e37c9463370fb1a8e2399": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000263": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4ddccf1509b32f9477cb7231d30b19ea703f1881": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000264": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4e6725c17794c0270a7bcd51be60d01b5361eb64": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000265": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4e8e32f105529cdc177eedffa7596a22ffd03189": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000266": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4ed42ad636ba22149a544b8f4eb0d54f012f6c28": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000267": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4ee50ad64ec1be302ec18a513d64fc484d4ff94a": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000268": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4f2fc62a3a78a5f5daefddd69a1a408153047dbc": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000269": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4f9c489559deae64a5f5793e39a186db623223f5": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000026a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4fe294607b7274e09e4a86ac1ac04d331e06bf01": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000026b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "4ffa07f8e2ed08d16163daaebcfddece78fb001a": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000026c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "50b8e3bf33b30d5f6ae42b73719063c40ab5e486": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000026d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "50e4a1c299065c53dd26b909ebc7e0f7c6cb02a3": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000026e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "510f6349fc88fabaf6907793b358dc138bcc536c": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000026f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "518327254a4a7c7740853391697dda3261f44803": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000270": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5237dc4dd1459cbd89ccb95df6addedffe131776": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000271": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5283e1604097c96aea1cf4beaff1b07a5a90384b": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000272": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "52fc938d75dda7407b995afc216eb5eecfd88e8d": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000273": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "531daa61eda9ff3ac4efd9c0d626fede1290bf22": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000274": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "532ca78c7f757fc8ac3f0880d7fb65a676ce0f9d": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000275": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "53885b7c187e1b0c558d53c019f1e7fc8aa102aa": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000276": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "547fd2a13fb9d34d9cb5bd72ebf448f6556b3dc9": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000277": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "54900208927b9cb55bdf7141dc2f90f5eddfdfc8": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000278": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5491f067019eb590560c38ec9611267a75e24487": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000279": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5503ea01e384df2edf0a5f823dc32858a0a1b4de": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000027a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "556d1e36b5679751e301d7331873d1d3a5654f83": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000027b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "558bee0d096f1b4d5000100c7a604f61730bd9c5": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000027c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "55b4ce6557a898b49fea96ec498debe4802f5936": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000027d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "55bcd15daed48b3b20ac0cbf3b1fa8681da31a71": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000027e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5637305e2955fcb3fb2616f8b0d46c7465508170": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000027f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "567ec1872c7990b2836b0ad3b8164f06251f1603": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000280": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "568d5411de5616613977758e1c1bd93d0ee0a2cf": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000281": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "56a92125b3315836766b71b49cc711c4cbd3c5df": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000282": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "56ae565230492595c614dbceafbe2e2c7170443e": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000283": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5712775adf262a4755a358089de3e3c098adc253": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000284": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "57338cfe10b4c91ced2b32cd87daa6d0add205eb": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000285": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5738338740df26879e872d202e644d97397d46dd": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000286": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "577cc902fe10ca8646c0dd94633bca96249f7361": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000287": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "57a2c4d7d5c3aa688b679657c3d4668e0768cc51": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000288": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "57cfe5a668fedc04c3f0aeae6675beb7fdc8a3ac": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000289": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "57ea1f0ca1a7703730dc57b5d38e8e520e281779": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000028a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "57ee950e3783b50dc73f5b474dd6fe93c69ea57f": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000028b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5865d86e728b5e48e2c7251d778abe0659bfce92": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000028c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "58a6ddd1b84dd1ac5ef21679115c485df7908f7b": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000028d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5956db8371e1d3f7cfa7ec3d5ab2b9f2c52f1679": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000028e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5957e507893576cdb559c887159021bb385030db": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000028f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5969b5b0f3b55a7d334a29c32a0779d779d74995": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000290": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "598d343e333691268af76fa021540c310d150a21": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000291": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "599531bdbcd95d77dfad0eb77f195b3a85d28780": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000292": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "59a747a88a139fbb73d4d4e0a212dcdb0c64f4b1": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000293": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "59a8f7a98f54781f7030d9716ddc22406a5e8ecd": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000294": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5a14fd2f4074e3efdfc24b87397fe64c04a08733": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000295": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5a59b2c439a0c8bafea56ccae6990db4b649932b": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000296": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5a5b0ca563af02be1a7062c489b37c2413515373": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000297": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5ad0762e34a53b4cd61e863643312dcc53092837": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000298": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5b0236134af191bd8e5629653f972a8dde30757d": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000299": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5b5375081eb89e3e272a62940492f1c66fdbc808": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000029a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5b6575200530588510c1a1ef10e172c67ca7e05f": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000029b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5b932d4e6f9640a29ec51c561ecf45176b53373d": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000029c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5c2049cf79097c45e71d34b724949c56ec39d9b2": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000029d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5ca9f6e6041a2a070db2ce44e44487a53d6333ac": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000029e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5cbe37a958b056c558918744eebbafaba0ad8f72": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000029f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5cfff19913aaeea6bbebcd864a9a09b61240b90d": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002a0": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5d058776e62f5fe1b0df52562cf747ccd6ab036f": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002a1": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5d5344742771f507357a9a3d0cbe7492b2cd2a36": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002a2": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5d7a45c41aebec4f9a26194d064a03356e65ba82": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002a3": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5d89f0a649155ba0e8c6ecde61211bb3dd4e13a2": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002a4": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5d92f03bca35fdfb1eee6cefc5ae65a8b70b3771": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002a5": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5dfb189cc66013941b36a2b7135d6f3d7ba8c86f": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002a6": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5eaa6b624610f5d81983096c9967a62f862acd73": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002a7": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5ef3c6a152853cba92091d329c3b84ea4686a44c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002a8": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "5ef9b6aea8dfce0c0966ade77d9a2a22110a49d5": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002a9": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "60463c7caa024247ab5a3077dda696b0d03d43b6": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002aa": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "609bfca74b0e04816d9158f7abf695fab200a54a": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002ab": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "60bca106d915ef3477a4c780ffa4986d02866521": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002ac": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6167925a1045c2eb6bc1964668b61a2caf55fbc9": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002ad": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6213864f195ea23e2203a527f17a7d5170a8d1fb": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002ae": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "62420e00daa99a53bc92519ea2e384e93381d0e5": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002af": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "63ed5f586db4d9d14fe1f122f7cfe50c20ad47b0": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002b0": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "63ee11f5c35a43c8567d0e8d49e32b5c2ab1ff5c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002b1": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "641b3f0c79ecb1a9505157b517c57e23d8d09c18": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002b2": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "64358442b86aaee289905aab1ff5f93209dca4ae": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002b3": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "647bdce210fadf6c1668baec02ce5733dd5f4730": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002b4": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "648cf49faa116ed003d49621efa95b2ae192e3fa": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002b5": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6496c3c172bfb52ef76f65f940cb44b033468cde": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002b6": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "64a75291a3c69ced4a01fe7a249c86a0e044540c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002b7": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "64dab48f276117501be90fb94ab5a1eb594fa6c1": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002b8": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "652d2a77859819c5c0d999fd15f274c7118c3a9f": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002b9": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "65913dda3ef56d2ddb788dd4a1e7be3211158fe2": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002ba": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "659e39e07301fe9d66b4bdbf4e7a4c4620ebc8e8": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002bb": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "65c9898463cae64505381cd1d182715f17c6ee35": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002bc": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "661275b4fcee14450af5eb3a13e916b4d42ce935": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002bd": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "661ae0f5d97fbb7b0a1ead9d1262a9a91bf98bb2": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002be": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "666b1eebbebcc3e69ede2a5384c2671bab4ac887": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002bf": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "666e9ef524923359b419b129e5502310485fcc0c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002c0": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6673c6ddb2dcae366de2744395eb56a94d9d5e00": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002c1": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "66963ae7156509c0b28abe619079b99fc97abc8c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002c2": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "66ffc2bacf1afc1ab7b346ef3e2f24b666e96f41": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002c3": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6721f56c4bc1c302d6a472ea43fbd4aac82adf83": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002c4": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6733cd28c2d0afb4e0a6bffe48d119d08bdc960e": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002c5": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "674eea623858d3204a00fa3d3a0d90b0689666e4": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002c6": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6754f629fa1917797a996d03b1cc0e2c810feb7a": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002c7": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6771351dfcf7f64a7f4a69c491c54c250be17048": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002c8": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "680ba44d034a1bf566bc8d98c754c58497cddc8d": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002c9": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6821397bdd2eb4f512551063db09dd601063eeaf": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002ca": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "689580fcd4450327b0c17f8d546acf6471540b3e": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002cb": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "69099d5dab1d7a714ee927660dd3d2b4a182a704": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002cc": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "691f889a78b2289b42462a6e08fa109f54a9e378": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002cd": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "698737932825e6a3a1291a27178dc1bbe716ac70": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002ce": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "69cf2b037973144098846965cd5237d39cf239aa": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002cf": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6a21fa379c652d29500d4a6c130aad8772dd98e1": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002d0": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6a2c483f84df249ddb066c261247fa7dda76a336": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002d1": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6a4c7c07f2df4b759a73018ac62664ccc5ae48a1": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002d2": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6a97e27d077c21e13b164155129e5d76c6d3692a": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002d3": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6aaa1e7d69457eb33dd83b092b0d5d054be8e4b6": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002d4": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6b07ff6ebde24ba1e5234801c88e8ecfb9041ae7": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002d5": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6b962f30b4bc28ddf3e76d2456b9fa1991016e92": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002d6": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6bb866777e185887c846d27f1798bc21e07ceb8c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002d7": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6bdb9ad1ba2bcdc6081198dd188f8e2e5b72a7ac": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002d8": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6c1db340717d53d78d3a17ebaa7952069503ed44": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002d9": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6d8e51dbb15229364964e6287b4438e990eeecc8": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002da": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6d94ca988c6f745c5fcdbb7624449294319abb87": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002db": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6e02945ce9378ab3980e4545d0c6c5c6c8058415": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002dc": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6e0d017059737111f4ae7e0d1e4c05b8a5da248e": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002dd": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "6e435efe1ad5a43f4be5ef4feae9ff28c6f5a488": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002de": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "704ca17a7e049070dc19b37df75732aeafb0eb97": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002df": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "70646fd27534c2b0ebf8b6013717d9a762abd0a3": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002e0": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "708ea9511ad5d4b483ba73e065255da6acfe313f": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002e1": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "711309b5a7850955efae37aac28896e91c64738e": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002e2": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "7185eb16b0cf25691f7f696f15fe174dcc44adb2": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002e3": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "71aca59e1ea3cb20e5758a36e8fcf869c5ac0dad": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002e4": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "71b5e8ec5e6e4d123897a8824e39307af4076964": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002e5": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "71f0cfc92bfd98a4ccaef7910fe0e8c6678a4bc9": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002e6": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "71f4385a5f8cf2ed5bc490eee65e593143ac88ce": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002e7": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "728347f55c9ca3746118977275bbf9b90b2deef0": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002e8": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "72b378b47950f4bae412b395b3389ddce68cd5cd": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002e9": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "73220d102b22241ca5583ab132198dac21c08f63": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002ea": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "73947bae04ec5550a138926d0ef34f9cd352b10b": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002eb": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "73caadb2c8ddf7508e701cba151c576af6df8f5d": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002ec": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "73e00e3eedfe35aea0d7ee933a7da03bab2d7e50": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002ed": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "73e252b6c03212a1dfc5f6f45bbdca343047fe65": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002ee": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "7428bedbd09359d892f446579faaf37b2e4ab1c4": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002ef": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "742ffa65415186d3cc295d40b31b2ee13a4498a0": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002f0": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "74420fee8e3688633454278de1764d7a2d9c9d4b": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002f1": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "746de521e7d2b4ec2ee0bee301288dc9ae79b04b": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002f2": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "7476da9eaa6c2c630f455f0cd14bfc95e9caafec": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002f3": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "74b48969fae4410e7da2745216ca4e5952fb1ff8": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002f4": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "75272e78af0c03b35505e1e9d194e292a12e0b27": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002f5": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "75468c683371dc44cc9c45d2f1008a94488f468b": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002f6": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "758e5ee81fbe006dd6d884fe78921f1c442336b0": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002f7": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "75ac9e1e1bce4653f9e02780cf8bb69ffc028a55": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002f8": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "762c1ed6fc47030575f0440fdd6a5c157407f72d": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002f9": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "76a458930e2958890093dc8ab75c6452ad0bbebe": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002fa": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "76ca31737006411488b5c71c8cc2ee786f7a91a8": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002fb": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "76e72408fb36808fe84c62f77487f65ad482833a": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002fc": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "77cae2633bd66aa186aa64748e3b4f17841c10fa": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002fd": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "7837de33fdb9c29821fe3d8bb7792ca28a7ef47e": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002fe": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "7876d78c3dd37ffbb6d96248dc1e8b8eeeebc2b7": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000002ff": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "78fc8a3035db28402ee70411bf413e26aba9e35f": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000300": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "792f3bd1d99e28e487bdf2e5b53018317ba6161d": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000301": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" - }, - "0000000000000000000000000000000000000302": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" - }, - "0000000000000000000000000000000000000303": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" - }, - "0000000000000000000000000000000000000304": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" - }, - "0000000000000000000000000000000000000305": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "79c6ecbacfc6c5833a4d0a0ad4dda6aef2cd7063": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000306": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "7a47079f48928ab076e62bd744ab114e9297822f": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000307": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "7a6bfc579c7238304f08f49e81e7b5bf328eac7a": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000308": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "7a796d54cf4fa0b41a290da86426de2ee388c990": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000309": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "7ac1e3a16875c13835d0f404ccc5fdc7cab5f3ca": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000030a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "7b268e3042304cdd9718ef69fcea27245ce23378": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000030b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "7c01d0b3a74ed97fa622036b8dfde3bd57ae765b": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000030c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "7c380040f5aec11c53cea2f4964d7e093000add0": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000030d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "7c681422c3f9f8382f749c69bbf1b9b2fd854166": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000030e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "7c8ac9051c55d837bc6961e27f0b464870e29bfe": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000030f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "7cdb04b765c76de1151645efb160b087e0e3e5f3": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000310": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "7d7cef887cc1d8d9099204bee6c47650a44a1e70": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000311": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "7d7e623a9f55a859bd5f30068f5da704138d421e": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000312": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "7e5edff9eba0bfedaf96650729e480f7a2b30063": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000313": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "7e65299439a5800d3d6265d2ad53733787984abb": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000314": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "7f8b53dbda481acbf1e99222574b551995aa39f3": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000315": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "7f98989cf08dcebbd9624411ed634fc69d1eb4ab": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000316": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8017043a05ed97ed0a31ef9a26aa9107390f08fb": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000317": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "814933c59918d55e18ad3a25fa27e1c8e6be42fd": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000318": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "81d8d22b031d9039a32eb9334fd898848b25dd17": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000319": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8205de86e7c9121065ef1f3cdea911d346c5bf32": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000031a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "828394d461614a79e73287d0494bef1bfcabc370": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000031b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8287f31bf5f088595e59067a29cc66a3e789bd85": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000031c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8319b3bd678ec20a88288ab6d2dc60d93e9d2408": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000031d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "836ed50309d78d9dd7738dc9e81ce7bcebb52465": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000031e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8398876872b63ddc714ea220555cf1bd9c7fe975": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000031f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "83b964b7b113ffe8c701c7fcc0e6dce6d4da3df6": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000320": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "83e18632055de4a4c526bab58458bcb817073acd": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000321": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "83fac8e176dcd29402acc59c2bbdf776210e5db7": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000322": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8429abe1ae621f37dc9c8b08c2ff791cb7d2ba2b": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000323": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "847ba5d18578b470b68b83da0aa1ae8beb558670": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000324": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "85a59c7869ed0558ea0cb6903bf9cc3dc9c88586": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000325": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "861f0ba5ec8cf80eabe72dd6731daa953798d9a5": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000326": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "86378b55a10141cac3d4bf75a2954bbab39353eb": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000327": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "863def2112317c9d75bd82de247c5b1948fb85af": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000328": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "866ae8a91a3b5d9716b369a44333abb2ec1a62cf": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000329": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "86ac9eb4fecbe8314cfac9b2af656795df3a9274": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000032a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "86c0d92f1698bda944d404f4bebb24b98ef588e7": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000032b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "86defe2b4d05cec71b33afbee6a768ffed648447": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000032c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8729de428642ddbcdb527bd27edde0efb1d6a736": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000032d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "879f892a6396a220007a315166de4b26bb1a57df": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000032e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "87d8348e783a143a84b5dd43f82ad872c862ef8a": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000032f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "87da6a8c6e9eff15d703fc2773e32f6af8dbe301": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000330": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8800aba91052dfc3140281be9fa5196174c8c19b": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000331": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "88230e7c07cbfbf73f4952d741ec6b1445e7f6e7": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000332": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "887111610f3eb311476901a15c2eae23a70ba3f1": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000333": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "889a7578c86710130f7260a00f1b8a6af10cde28": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000334": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "88bb3afc5ea59d57af94bba77bff384082879ad9": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000335": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "891e0c8425f888b791a9c1978f101d3d88eaf310": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000336": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "891ee20cd0e7e46d9e6c446ebeb009edbbbebc73": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000337": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "89274b62e150a1ae6585f3e624146e2a9eba85c1": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000338": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "899ce9f64b126a57954c12c8a61d2f608e10be9d": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000339": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "89abfba6ce57ba469507246dde6c543f5b9589ac": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000033a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "89d87881d704cc40356e533b4c522375db2dc212": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000033b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8a3a0efe24d6aa149c12ebbbfb841f0d66f6b26f": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000033c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8a706ffaf3bbbb34158b3081da73e35ee2e6d585": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000033d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8a9799d1931dffa2db5d3225c07a244821e0a331": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000033e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8b23daf14b05dc47e33ce825bf1a9cd237bcf5ac": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000033f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8b3928ba054161e32f17714de687ecc1b2b50c2f": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000340": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8b5f472a2f196dd72f8ab1ac808f63d718ea3eb8": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000341": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8ba6faa2010d36b32e2bb1b38f5594f7a8256a7a": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000342": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8bf680e23afe6318d17f2b4a54809e10c543499d": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000343": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8c56bebc083d2093c771b0fc74129a17611bf9a1": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000344": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8cecb9b24acef1e4aee8284badb89e7f08f4cdee": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000345": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8d0522d9946b9316130075d5fceb1da45dca27e1": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000346": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8d0ce27012146e553a74a4bf8ce2afb8bdc285eb": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000347": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8d5f009a0e5f4285fd90a8d3424d082f4e0c2f2f": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000348": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8e1a7c3a8be4bc2247d1285a33b6df801c765f05": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000349": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8e54a60c0bd74790aa2e1edbf39e36494a12b763": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000034a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8ec4fcc9423f2cb577e5f5ff89c00555687b08d5": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000034b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8ece83a0e61ef8d2185348c3421b7ae86f6940ef": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000034c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8f97a550f2b9b2fc6db19eebc211fb02d98343c8": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000034d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8fadb7e8fbc5328987c96d0b3daa22933452f4a9": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000034e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "8fde856a0008b5c83d5c3c78e189965ee574dc10": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000034f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "90092525d20af3b42a40a950132b2c11182ff23b": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000350": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "90358c3d610a9f0e88ae814557dd14524aa25d1d": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000351": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "90806c43a962d48648d9fe0b5f6797937be63694": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000352": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "90a6bfacf421ee1a76a10ddfd39d201e4a0e4b6e": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000353": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "90c80eb2afa2c911dff952545c81abeac811c0d0": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000354": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "910ec7278b6082f584a40ac62b858ac90fb04d2e": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000355": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "912b3d297a34b451978f417c55296b84ba6bbbf6": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000356": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "91c9e84453348f4273d95e6d16c82408297973a3": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000357": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "91ffaead156875940f7dec1ce15c7e3a00ce6ef0": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000358": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9263878070a7cb519fcc6a7da73c1d93898dbdb1": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000359": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "92b784d5e7c94055123b7c4de5bc957e07cad30b": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000035a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "92b78d1bd877f243f6651a066bb0821b263813f9": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000035b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "92f23681e9f2ce8e0fa6c19968a7e66873373500": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000035c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9302efcacc555c03cf0c530e98dfafcaec9ad3ac": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000035d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "935f00ad1ac91edc463945822b12307ab76d9425": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000035e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "938944456ddacbbae675eb497c67f7c767c284c0": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000035f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "93ea76ccdae7bfa3b69fde55d04abf45b8bb5688": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000360": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "942947d1193efd08b74f49e269d26b29be2457e1": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000361": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "948ff54290ad4e7152a54fd355617c1e763b1241": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000362": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "94d3f7fc7fc3ee67f3608717518390a79d5f0596": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000363": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "953902f4022bb7e5e6b2b623f89634564f97e67e": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000364": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "954ed7df0711f69c4367c8386bcfb2c0b28ed34f": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000365": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "958841de360e7833eaddf6d4df73186813216d82": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000366": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "95dafcce1d341d90816fd34805c1fefc7d29ab71": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000367": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "95e805378b16c14a6ac39fd9bac3150b5fc030c0": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000368": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "95fa571ada959602cb9dadb9d271a15ee6e12ad7": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000369": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9659950076ad7bdcbe26962ed8dc350900e06fcd": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000036a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "968af69db35e963071406032c5b3a4b5e3a470e8": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000036b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9695ecc5e4010f27213d3fbc1fd96cf805e2613b": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000036c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "96b49a83fa9ef6e337f2cb37bb95fb03d20362df": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000036d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "96de53faa0ad9ca7877654a9efb4f115b773bf8f": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000036e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "974847777f70ec651c35471cd40914741a559305": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000036f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "97614fdf4fc4dcc9671a9f9f05b23f18fa4fdd8a": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000370": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "97c004f71a32c7bedaa70c1c2dfc3bd3b1fb1065": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000371": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9819414eec350415b3085176cf6a54df237fbb17": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000372": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "982e9c3c61d629941dc658cb6592054faeeea8f5": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000373": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "990845c60c6c72621702eabca50d65cbb09b8080": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000374": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "992b748faca7c7cb780e8f6f8d2f021d7a12979a": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000375": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9963621afd68b0607479015c1f250c6d45bf60d0": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000376": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9a0bc4fca425acd05e4af163b3eec2fcf96a6745": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000377": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9a0bceaddbe5c9deb6dfff3dc6aaac1d4b71aad1": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000378": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9a1584d9956adba25d6591a81127984433061cf4": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000379": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9a4b18bda0266eeeac8bb3d70887ae98c8b91af5": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000037a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9a523ec70eb4f8325f88d9581fd761763c25454e": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000037b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9aa913d501cdf78f18e10bfca5e7f0a793a79b08": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000037c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9af86f598002cf035b91190d8f67f36efbf7a4ce": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000037d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9b5e50711d259c2238f4bb56026a5fd60cb39879": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000037e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9b82d8cc5d34839cc73544e5d4cd49b37cb9e515": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000037f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9bbde0edb7c3eca95f36e6b112bc67c9b28e1616": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000380": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9bff06b17908042ab55d949f43d09eda9c62f6f3": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000381": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9c542aad68db6eb1d21904df44abddb167e5c9fb": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000382": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9cc0b8e58b14cf0c20443b2511a20306f1f29f62": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000383": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9daba9479edd5e2cbd1903c4bf16d1f01ef837c7": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000384": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9e3d582c5170e0ff9b7fa6964bb0e9991d836d7e": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000385": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9e4779fe97845e33c0c933c3c81a92516f5a4236": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000386": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9ecc03d52c1e212b6f6918a473191a78f5c8c036": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000387": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9f585a97acc69fa35934dd2f27e54093fcc0ee56": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000388": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9f5d7aff7647fa727baea25d7748285900a76e5b": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000389": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9f64cd5a83dfa7d9e751729606752b4df1db7b8f": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000038a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9fd2ffea8c1c98d33608e59ae36107f8dbf2e052": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000038b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "9fdd590bc06ed61907dd01a3f1f8d9b0e45631f5": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000038c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a01fbd100248e3c934430fe701a5a5eb06a55815": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000038d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a0a6cb6eac8003801d8c7628c51eaaa9cafedd2c": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000038e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a0ed1f74794715d2c3fc225155c8ed062b711f78": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000038f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a0f2c8793c04b4264ccc56b4f1daa8b5a242e94c": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000390": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a110f58ead980d10a874190ad1dbe68c0e65c85b": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000391": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a1146367c3442bb3a825fe606f394296a93f54b1": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000392": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a1214d0cd0ae8bf0fd8a3ee128d22eba2a3a273b": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000393": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a139f52a64c704dd9667455682f81d61862f1108": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000394": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a169c1013bcc0a492543e57f6403e1009b6814c0": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000395": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a1837887e9f2541ac4a27f002ad0654cf057a3d4": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000396": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a22fc04922efff8cc52b2b02a4b73fea64693033": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000397": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a2908da7b9dc21c7f50d914e8341ceb4f62384fa": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000398": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a295b4dd3db23107045157a7e9652d4a4aa5e83b": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000399": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a2a41ceaef921501c223c5178b31212575aa4847": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000039a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a31a74f3ef1480e070380b63fc67e32302d43816": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000039b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a3dd7c71418ec92a947c127b6737e7649a4be5e5": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000039c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a3f278f024232f157b5015414611ae55b3a7052b": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000039d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a43ed523b9bfd5050933f014727321d31941d0fc": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000039e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a4c2b9c181c8756488e72eda02536731fbdeae8e": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000039f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a536a9f9e050c9dc0e5d49a2d7303c0227734b7c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003a0": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a56a4291d88c7a8e7389969c0434f04f91a9f333": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003a1": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a5aa4995507ee18ee8e4870590155fe1e6bced4c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003a2": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a5b12300e7ddc1611e4e06b65cbc771ea7bf88a2": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003a3": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a66ea4161f816b29da9c04e46f4d561bd2d27940": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003a4": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a6c28e5fea8221dba1498b93a3b17c5641f776c7": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003a5": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a713520eb93cf8f4ff3cef2a6bc82e19fff6de48": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003a6": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a78bb379470014797f4b99c5f58aa19a1c1566dc": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003a7": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a80b445fffb7d951d6cd57f7c5aeb0eaf58ee8a6": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003a8": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a81a2b418b4e2b5d8e8a4aeb59aeaa42ba8e43af": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003a9": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a82e3739943b62351e2b03b28dcff3864101816d": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003aa": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a84119a1ef2b0e4caa571101aef7c8ee9760936c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003ab": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a858bec768660c973c0232288b08571ae36677a8": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003ac": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a86ea94e09455633253cdb6842044c070eff9a9d": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003ad": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a8db9b41ff8268128478b02324f4dbfd0e7b7c9d": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003ae": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a909aa97b0aa4d817517d3f916cb0518cfc1b331": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003af": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a92c0397e9e05d9070d8a0cf28d5cda980519464": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003b0": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a973a6ce68f0d0ed44a55f8615fc2788d5ce559e": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003b1": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "a9d2f133966445658f8c2043f1183ae1dadb3e0d": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003b2": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "aacd3cda8bb76989315fbc8f5c0bf03f562b8086": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003b3": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "aafb6224657b4f575f1f65632a440fbe928d117d": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003b4": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ab50f5aada5bcd918a443298c39d3e36b4cc1baa": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003b5": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ab9c43d83862fa5444ad24c4c788964273b66c0c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003b6": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "abb065f38ddc8e176e0998aff3999cdd460ff758": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003b7": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "abe2fd1dfdc29f0a5c97beb95cc6cf632d7344aa": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003b8": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "abee22d63f6634b215c3c5ecd2b5f90916dc2325": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003b9": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "abf94ec329205808d1dd68a46a8c8561d6874a23": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003ba": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ac3bd33d6307e591f7e42e49ba6cb8d91a8ca78f": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003bb": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ac472043a7a60ae29d5e5d6e03a2428b09262e3a": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003bc": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ac68db64f5c69a88b9f1ee8bb47f2cb8978e66e9": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003bd": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ac78ad01a846c0bcfe677c818d450a9ac530409f": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003be": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ac99d0decb2a036fd20e9c9cedff4104f448d852": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003bf": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ad3030d07175ff9d58f3270ee27d62ef1dcbb349": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003c0": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ad319936bf151e8ef9d4ad78ee223e666bb51e22": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003c1": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ad37ece7382b08f3cc97009e2b4ad88b8ca85981": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003c2": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ad4baa1c7978f4b51ac48f976571fe5e716c70f8": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003c3": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "adcb8b393885e093dee13f97aeff4a69aae4034e": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003c4": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "adfb2671876c6218be3ed91ee3e521982329db76": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003c5": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ae5c278e014534c0dc859b64b2661f0ec637b5b0": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003c6": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ae5d49a69cba27748082158a154cc71b0ec0cedf": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003c7": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ae7db52d47c9517946dc53c926abf6e69126718b": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003c8": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "aeca0448b84e48400242b3edb35825a2067bd2b7": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003c9": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "aecdbfee21f2ad2386b28a009ecf65f320bf3c8c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003ca": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "af776f3e1922ea8b375059221a2e6e2b776b9806": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003cb": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "af9c97c06b7ac3d70761f237e3e34f92c84987ff": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003cc": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "afb809269c6b384dfe65487b2987cba4dc04da32": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003cd": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "afd1370997c324b3fee7369fa0b52cea705794cc": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003ce": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "afdd7fc28ddcc4e9d4f99e5a650d17e5f6842847": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003cf": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "afdd8285a5251ac8d795e56164d8704014b79176": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003d0": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "afdd988993af0fb3ce320ba50ea38e7dda2eb25e": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003d1": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b0018472fae4c212a93e408dc1bcc4298da7c49e": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003d2": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b04a59a5e22417aab54588ecf8ae0c795e3af55e": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003d3": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b0c75207150a8beeacf18ae40187fe925ea91cab": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003d4": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b14383ccd5678ce00822e1b153cd2b26b5a9d63b": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003d5": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b1a9f4b7eaab579f56617acaa0452940586db0a4": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003d6": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b1d3b614a3b52f99aebeebace87bea8e4a1a3651": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003d7": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b1d6290264e8edaa6e3edb0567c2ccd7e02ac9b7": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003d8": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b1d73d86222d27763accf74b8885901ace7eec35": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003d9": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b229d991d86eb22debe2edc4ec9d683469dcbfc5": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003da": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b299a8ede38a441f9f82bca1ab3a5c2e8476c64c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003db": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b32ed9184aeff775f7220ef7422a623a03183b2b": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003dc": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b3a321c2a8a68aba8bef72b2c7d724d3ce40d87e": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003dd": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b3a3a74e54003c937cad994e639d1fdee9094f1a": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003de": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b3cbc84a263102f7582601bf9f4032ad13af8747": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003df": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b3d589060d3aa125e274c462cbd74a2cbec17e2a": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003e0": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b3ff5042af20c98d9c63de18aa364cc0a7ef88a0": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003e1": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b4688da07dd46483a6045d0f54d52dcfadbf0b7f": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003e2": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b4c5b3a10fe936b285c3c87e975ceab1911c0697": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003e3": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b4fda73489c8bff37f285f48caba0ab6898ba212": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003e4": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b53146298fe6c135e98631a16a873e6a4b61ed16": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003e5": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b5a0ecc18e279739aabaadca3b7f138954432735": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003e6": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b5bcc72e86b22394ccbede09d355d347b754dead": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003e7": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b644745c0044b734cf03dbfe609eed1bcb90ceb1": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003e8": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b64ef48df3decc3e54818c79ff678c420b57e0ad": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003e9": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b7076894e6ca34b5d75d67604544cbb84c6a15c3": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003ea": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b710b9b96445882315b4e4135be9e7652f9d0715": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003eb": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b71cefbb961d8ba56cd86c8cdfc2432fce0775e7": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003ec": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b7251e53cdd3c383082683e116f39bf1ee3847b7": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003ed": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b7e1581e83023a418ee2eb5ff3d8863ece46a5fb": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003ee": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b82ea0519459f029e42918714ce628e92522b2c2": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003ef": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b86615ae89ee871e5edf0f29d60c212054f39382": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003f0": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b878cd79f4f00fb10c93ce462f74a8a21eb9b27e": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003f1": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b90257a2594235341286be2e765eab5676d84081": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003f2": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b917023e4b0ed6e8b665fddb7c4844e4139c1091": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003f3": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b923b2aa437fc8e08ca0c3d4496abb9dbc03984a": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003f4": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b962274dd3d5b278259a137d5c859fd4b97e5fd3": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003f5": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b97de4b8c857e4f6bc354f226dc3249aaee49209": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003f6": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b9c2ac6988836519f4bd8c3668afeb17edb6e31f": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003f7": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b9c7e145452eb1049c09fd18abab665f40e7d1e8": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003f8": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "b9d86f0df60cdb14ef5a07ced7195fcb0f2f5d97": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003f9": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ba29f88668223d86c0b07eb38bdd9a17a48bc76b": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003fa": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ba2dc3656418867a9c56286b61e116de7018dade": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003fb": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ba3c4938092d40bbfa9126b5650087f058057079": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003fc": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ba821f86c3b3ce5c5611b58f664f7f4d223e73db": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003fd": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "babea897bb14300155156d521db3a09abfaff0a5": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003fe": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "bb36b1964bf90b656f14d9ebf1361004c75b3dda": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000003ff": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "bb5be98f6a7a77c4b47b1959d8e67ea5657600ac": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000400": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "bb83220437af320bc4dc95f380290ebc4eec1588": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000401": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "bb92db6e03cb9f84afa7369ae0ebd0e95d9543e2": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000402": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "bc208e198b85b20403c161784cf51278baeb0e88": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000403": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "bc250f67806309665cf10d660908dbead7b652b5": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000404": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "bc2b54c5a202498dea1183414f0d7953b0cdbf85": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000405": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "bd0271c62f10b6c020054ce86dae4388f4400e45": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000406": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "bd390ef40510c2c47984c36a8771cb345b042338": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000407": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "bd7032b51712a0bdcb28885beceb5223184ddd31": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000408": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "bd9215d63dcfb3bf031ff5c40ea5df4d1ae73491": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000409": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "bdbd0140c6678eaf632c3d76268670bd1dd1cb94": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000040a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "be5b298515ee42aa2999abb2c15385caf08d6648": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000040b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "be8066abd76416de8dad66bc110f0ce999e74afc": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000040c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "be9cc3ff498bd90af698209bda7d676b44621df7": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000040d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "bec8378a0089b8cc1791a32b5ea56a2776db49fc": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000040e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "bf05239e17ef9ca0a710b1a11b017bc71cf1ce69": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000040f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "bf5b822bf2f37d25d59646f40ab84fafe7598dcd": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000410": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "bffd6fa1b58ec5c2e4e2e2e677827d6c40ff887d": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000411": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c027060a375a584a097bf8cae77245ffb5652af5": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000412": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c03aa9cca722478ddd1f20380ee51c8c8b0c49de": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000413": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c0e5229a314616e1f542bc355a4e0231fe408696": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000414": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c131969ad044cefd65575362c5eb87e60e7fffc3": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000415": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c14dc9593bea43e50d9186c4e5c46c27ef591af7": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000416": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c15706b3a6e6b204bc6abeea578af03a43157e81": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000417": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c16b459d94294c80e1c87dc721ecf7a36687a0a3": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000418": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c27139fea1d9274fa3703de89b3a1ad52050ef5f": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000419": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c271b1ff9a3f115d09c53932c584e83b16be2a3b": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000041a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c2f170fb6b07bc0d3a2d391ea2e6bbfdb5803a32": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000041b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c350969f11e162b3ed1c8c1cf26f46abc4c22d00": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000041c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c36800c9912d723b2a6662f4209e38b1b0f74a5a": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000041d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c3760e08e324ced7231e93cfdf5b716d163bf829": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000041e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c3e2d0526b2fc1d481c914c114cd658b360d3aa3": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000041f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c3fefe41cbe64ff5295c3525e72066abc5f4d09a": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000420": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c43e9a7f2d527e82997ee691690932c1c2164f4c": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000421": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c4478f0343df21f90ba447dcfcdb8f5dad45b3d0": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000422": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c46634ae64de7623fa544b4ffe3bc0d6764f50a0": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000423": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c4ff21f48e11052a427ff93b2f0113ab64ece811": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000424": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c5065c9eeebe6df2c2284d046bfc906501846c51": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000425": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c52a1f7ee70487081b8d4866b21465164d6bc9ac": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000426": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c58375e96e08a1ca5ac20947152dc0d5b181fb03": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000427": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c5a9ee0cb8c9a408d1dee946da1bcc6e126660a2": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000428": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c60451c75554560d46fafb6cba721878df793b1d": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000429": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c705806ee2c02385e55beb62fe8deb826fca21a1": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000042a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c7103c5a8f8e48bf058a2f5de84636e9b002e328": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000042b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c72ce3f1dc3c7b201726038ccf93b8821533b0e8": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000042c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c7c21a378527f403d3ed4e421b498320aea15f47": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000042d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c7d9f638a81e290475faf301b343b327ee2fc42f": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000042e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c7ea3ccf65d8a03ec879feee3f034b925523f545": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000042f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c944bca664e6c3e5d9d49ff868ce68cf6238c96b": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000430": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c95a949f0cd491418f74b9888f951285ce99a1f3": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000431": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "c9cc766371bd21149c4761cc8d6f8a5c278dad2c": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000432": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ca3d22fff31b4ae125ecdf09bb10b3d8a5c3d616": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000433": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ca3f59a0e860c45d1766dc981af9fd5101a4d63c": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000434": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ca7dd1767a3ea36fd08a2ef0cdf5ba3ef520a6de": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000435": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "cab6cdf0c548162020a84a348757b4f92760b7b0": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000436": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "caf82a8c72bd88348f2fc818c339a6be8d24a47f": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000437": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "cafc5928b439a8dcba8b11c704352f985599cf16": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000438": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "cb64f8efe268629df478de069c9d85ee08ceb9ae": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000439": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "cb9b37179eeb8fe785756082d80c8b2727769871": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000043a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "cbb0c30b2e289d5959344732b2091e1b03a474ba": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000043b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "cd997df21b205f632cfd1a858c5acf2aac7b094a": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000043c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "cda939904134ad85ad749da6ac78846e07e01e28": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000043d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "cde886fef6c497ba09c8314df932706d5a1dca94": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000043e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "cdf8923c6a5fe02c70cdc38b48c75efd22340d5f": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000043f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ce1bd53422699dc5e2986604701567cc4e774ba5": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000440": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ce79483ecbee1a2d987af1b42597dcb32f0989e4": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000441": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "cea56034fcea43d31b3f6dd6bc2b5ba616c02892": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000442": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "cf082723bcc9f6351c9e46587d05c4cfd65cb673": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000443": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "cf49fda3be353c69b41ed96333cd24302da4556f": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000444": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "cf805cd3b2e3f8a41eb7500706eb057136fe7e02": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000445": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d01525445b0cf6116e9b4139cfe8b473a358e121": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000446": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d01e807e81a80e9da048eeb793b43434fee1bddd": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000447": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d134331c20d0e80bb02fedf926cbcb27df0d27e8": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000448": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d1458a04f39203d22f4dc68033acdcb1be050155": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000449": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d165abc6c59890538ec8a2ff19b1f2292a027a01": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000044a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d189bd341477e615c2b59ea852a726586bfdf1c5": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000044b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d1977e7da1a6bcd4e6abb5b179af445deb68b2c6": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000044c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d232a59d138bcaed5b829bc33aef51d5f7f951aa": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000044d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d2b68c086ca856e9e3128c59649ec0468800c513": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000044e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d38cc083f279bff7bd23c021b4fb47d2195e1af5": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000044f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d3b8ff0510db8c1933e7e7621929ed69b383dcd4": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000450": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d3dd9eb9ce5491c3d73c1565d1ea4897f69cab26": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000451": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d4184ad188a1a4019368ea961fbbd803bbcd452a": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000452": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d4825ab9daebbdca44d84af22096f38f559325b3": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000453": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d545125929e1be5aecbfafb9c942146ac0d0f24c": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000454": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d55719236b9acf883b0b799a849b38345dd73dfe": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000455": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d6332b31851af44b7736a3358d6554e4214efc26": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000456": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d6fcd9914158f3ce5b379aa706cf829e1b374956": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000457": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d7ffe356b5227064840cf1549781c7a9866c086e": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000458": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d81133313169157ac91e6cbc80647a74f08555fc": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000459": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d844bfae80d4f92edcf91fd3634392228617b1ec": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000045a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d85733654a50b059d647c9f5b6aab08a28d8e2be": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000045b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d857a61c7f8e8ed62567b75d77e6e06c722d936d": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000045c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d85fff7b065a2d7755333c11a41701662082747f": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000045d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d9096a98e97678799f388ac412cc893e7ceb1cbd": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000045e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d96a131a7df814d846bc1c24428df20d9d3672d1": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000045f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "d9a897568e4c346746d293f4aefe5426b096e00b": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000460": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "da533f9ab32e90d600ee9038b96717d5c9031834": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000461": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "db1a0f6a126fe479ba7430fcc2f0febfa2a1ce5d": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000462": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "db360c4114ebc9d459a8ecc5b89392fbc30c9b7c": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000463": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "db4446fde5ab9890a4027a5ee971c584b72775a0": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000464": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "dbaa4bf411a603bc0b0d656709f5bbe2d7898934": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000465": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "dbbc953232c50bd1506a1ac88cc187ebc4401017": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000466": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "dc4b05e376ffeb059aeca48f070eeaaabf2122e0": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000467": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "dc71df7a1cca323ff5fbcf98d988ce6c02ba2e0b": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000468": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "dcf86e4f3446bc01148afd49d8fcb38b9e1b65ff": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000469": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "dcfc32238c1842d3d237aebecfdc361f611266ce": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000046a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "dd30635f55c980b60ccf8da983f62a40e42be5fa": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000046b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "dd575294bf11f099ddb3f622e061b52813b39b50": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000046c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "dd9e04397092d7c46f65ce9679e519cdb7264f23": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000046d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ddcfc3410b1b8b96a2188c7e8eecb5c98efc4f89": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000046e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "dde59930ce1d0a4a616e274675f314939cf0e928": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000046f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "de24a3400fc8014eb1f7c39d7d6607db6d3d8c1b": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000470": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ded02cf47a1344792f94e18be81398e0af419bf4": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000471": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ded69efb4e627057caba38fca60477da919d577e": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000472": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "deea61a8cd2e82e7dbe0df97e7f95b76fe93bc6c": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000473": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "df08e05e9f71dc9a5cf1fe0f249a31772f32b2c5": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000474": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "df1df5464b406170f61a49c8cc11fa68bd517097": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000475": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "df57215d98c9f6aec767424dd79e4bbd24db9220": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000476": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e02ae1e86da25d634e592c62a5a5ba213e57a3db": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000477": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e04188e8ae4727b353996f73f93771b4af8a17a9": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000478": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e041f0a96bf26597dcad4649a27430938bd2c3cc": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000479": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e0a52f70631ca70b7ed720b5a8794d17f4f2d665": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000047a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e0bcc1abeb5ae9a5e8f907746c510f3ef78c5c89": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000047b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e0c9972f60ff5b6cc9b515457b28e667e0a69d08": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000047c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e0e330129847b24c1e259f7aade84840b1513528": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000047d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e0e53e38c51b85ccc30c4cd4da935bc3066b4222": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000047e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e16140c884b3050d71343f4c379d032c9112be8f": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000047f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e1797a23efc1b789e11ebfaece3d60431ea49825": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000480": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e1a1147e30143ce9ba34b277543c583986625028": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000481": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e1db4ac581adbeb42f424e8840c21b8b904b06d7": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000482": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e1ed1ae4d0598e7c6f0c830d812c446b748de5f5": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000483": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e208861de5866823d49418ac6d20646a993b73bc": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000484": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e21f1e06a7d5c0e8a0c196f0c4f22b3e247c983c": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000485": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e2a698d4532b872cc431821215c2d9960f90b79d": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000486": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e3388688519a35bb9323f564958f0e6bbc59b9ba": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000487": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e35e685ff0b1b5651e05375a72916749c44d0977": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000488": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e4462835c9f83e93b0cb7e772c13a5292d0b2c23": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000489": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e4561abaf34131f31eaf502ee5d9cb1b01c23f6f": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000048a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e47f44c3bed2a257b795cbd3020ade73c5bfaeaa": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000048b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e4933bfd603e91f5460fe7e0ae0c019b9d68a7e5": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000048c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e4bd2dffc93bc410926713c962f209d3dab80636": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000048d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e4ee1a440082550995e5455c7e5553a617f84047": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000048e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e544b1f45c7a6a71f12257b5a91c522154f532aa": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000048f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e54e6f2bcf3e6d2b43f0bc7e69dbb5921b501e58": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000490": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e5bfa6dc6de685cd3e2ba5908b49c5a1e8b353ab": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000491": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e5f223aff16c00f9409ba76bd327f19f5f29914c": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000492": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e601dc936f6f3ad55367fb30aa82eb3731da93bc": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000493": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e62b3ab4f59cae9779f63d430c9790d5ff8c98fc": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000494": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e746c7b9848ad45d9166460c7513c99be33504d8": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000495": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e75f49bda4b67703a4d1b9c36e7ab266ea0a85c1": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000496": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e76a4d9ebdd8de30dd8c68c9f927dbef4bbd9cab": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000497": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e776633b73be16957dabb8f777c65e3bc767a59a": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000498": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e778fdc105cbcf21143300c9e133045284cc2857": { + "balance": "0x123450000000000000000" }, - "0000000000000000000000000000000000000499": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e77b4b216b43aee986e62bbc577ec344dd2d5235": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000049a": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e77b9308105c3ceebc328fda7f94d8dea1dfe660": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000049b": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e79135590c428f35e597516cbd8eae7713da842a": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000049c": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e7bf0d6906486f20b20bc211aa61340b48fb7b41": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000049d": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e7dc1b842aa575098c7f828c0bc2f40d96ab2e01": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000049e": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e83785f5950df092940b75d28ad4b4c4beeaabae": { + "balance": "0x123450000000000000000" }, - "000000000000000000000000000000000000049f": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e87611019a85209d6cd56781bd9959e350da5423": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004a0": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e8f64622637acc9d75ea1bc831564db728dc7b2e": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004a1": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e9b3812916b3e6a1bad97bde283ceb7c7f171fae": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004a2": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e9bb5389ef54b0791ae8039ec1cb627e3bb74781": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004a3": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "e9d269ec0c17af3a6d0e2e9e7a9763567aad1fdf": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004a4": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ea81314a4b77cbcce89746322f96c42eea379860": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004a5": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "eae89ccf836895f6f5d612f7c2d81dbda4a90dff": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004a6": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "eb3fdf63ddad31e1750f5793750241982ca4859d": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004a7": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "eb6e3c131b7ed348cdc9b037e8b9b6b59ef01a6c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004a8": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "eb7c6ed18eb386a47f562560518c3bf3c878a989": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004a9": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ec499838c44345cc84435d1fcd8097df98ecd6ad": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004aa": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ec8045385ccd15436c6c6ed9df3983ca3149f5d4": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004ab": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ec859e4e4b747c93de7be5761ad1babe4cf2b735": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004ac": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "eca951d943047de5051906f7fcd70cc1c275090e": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004ad": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ecce2efc5935b6bc5916f4e13940b36e13fba29d": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004ae": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ecdc46fd54fe770c3b4c22dd9fa5a12936a4f2c5": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004af": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "edc45b8e84df9452bbf62fb4c2115b0a1d4f2e82": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004b0": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "edcb748ec08aae27b8649c95202cfb5efbe6ee61": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004b1": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ee7e71418068d638a86949f8d2fa319f657a092c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004b2": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ee8ee7b4fbe285a1c7957d15273a6f703675fef3": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004b3": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ee984eebfc7e20e24cb2b9da70b35320ca97bdf3": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004b4": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "eeb2c88b7386f9e2145bfa2d24211c34af0cd84f": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004b5": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "eeb6bf871137fcd38b3d4c59d1af915adbd17479": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004b6": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ef27cf461dcdb7787447cbf403cf156bdbe496cf": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004b7": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "ef37fac5ffbf9e91a6aa48ecdfbc2199da9272ba": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004b8": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "efc933ef45c1bfbc7d7202875eb86c9290ac34d3": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004b9": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f0367d24c2759889fa506738b58cffaeb0efd981": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004ba": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f0a2864aae444f0f621f6fe6040c12a2671af0f3": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004bb": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f0b7623046053e4956112ce7b33a29db55902037": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004bc": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f1038fc6a321237736090a829822ab413c90e18b": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004bd": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f1069f44bc2eaee9ae761da550d42a7dd113fea8": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004be": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f137b8e9e10086fad77606a3ede8095acd8e3a9c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004bf": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f17c4976f5dab0c270b41b92184bb86b91d32bb5": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004c0": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f18472b219238315a2b18ef62ef0cb48b571d44a": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004c1": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f1acd6285fa4bef8b4c5442ab7deea7a1485fd12": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004c2": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f1ae485108441a4a9c34b1e737abb0506adbceb5": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004c3": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f1b147a551b3b1bcff1b1ef0004b1f61c39ed379": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004c4": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f1d3790ad5d492fba64b25afa44249f0b55b763a": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004c5": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f2db2471f958dd1eefe211c705f7cbaac2896a4a": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004c6": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f32b8da8617f001c1f259a03dc8365545da1d6a0": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004c7": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f33dfe24d7f504147297ca2e717e3c4135099074": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004c8": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f3a64e40c0831574f8606558cedda55d8dcc7d18": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004c9": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f3c61f12469e0c0ed0f4f0bd9d8837119b13fcbe": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004ca": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f3e827898af36e05abcda4d5e8e0f122a019aaa9": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004cb": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f3f150774f76a613a3f58d6b58a94ddfd6c24843": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004cc": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f3f248a5086c87fe8497194fd32af0be2b68ea88": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004cd": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f40f4a1fc0b90b517509fa20a21df5619244eba6": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004ce": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f4266f827277b31341deb04983e39c9bc4d66234": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004cf": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f44fc9416281d5c62b48ce7961f2a05d048a8511": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004d0": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f59a335c92788961c011da1479b594c966962d50": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004d1": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f5f4a7a56f8b21ae6fe2a5d46b36bd365732d3d4": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004d2": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f5fd68e5ee73311aac155917d2a6f51293c4e418": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004d3": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f602231cad58d8faacd1e4121543522c5abd4279": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004d4": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f62d8ee583f2cc8659352a887dab73549af95a8f": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004d5": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f643deed032d577b30d28a544cce016d401be49f": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004d6": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f6a1810cad34d7257e8e9d79c634ee561d976abf": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004d7": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f6c4168dbe3c07fc5fccc04d799dcbe2f4ba6f99": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004d8": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f727566152a6b8e94de3b4ac8612de04153673fd": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004d9": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f77323fa9dfb8a1221d02e97c6f321ae86b7a545": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004da": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f78c7a1d5525d90030c6ed4010cd542d67335898": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004db": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f7a4a3137421a1831a5ac7c6b4fd4ee953c835fd": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004dc": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f7dca08d900e100ebb8e95cf0b628fcb7ad1744c": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004dd": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "f95a0f4f7d6f64183154759639e93e31293eac7d": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004de": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "fa4ed20c2b311c0ec88f4900651a2856a3dd0751": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004df": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "fa93f9fd64f43ab40a94baf70eb534c2ae134539": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004e0": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "fae649a4382a53d0e68f5447acc2bb9a155e9f09": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004e1": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "fb1ee46a49c81d146ad8a3ace99e476a9493c85f": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004e2": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "fb32239ec7cff386c7937c8cf92f48d5ae366d54": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004e3": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "fb416bb12af572d4762e991c75e557a0fa6982d1": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004e4": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "fb5de53e74ab53c704574fd0ed1c25e0aa69678f": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004e5": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "fb9b63a9be1e5797e28bd2893e4c76d602a7d9b5": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004e6": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "fbad337fca9b4b1219f2e3ee2003dfed2a25a104": { + "balance": "0x123450000000000000000" }, - "00000000000000000000000000000000000004e7": { - "code": "0x5f804955600180495560028049556003804955", - "balance": "0x0" + "fbf2cfe7770962af4347500023c9ed2c77797a09": { + "balance": "0x123450000000000000000" }, - "0161e041aad467a890839d5b08b138c1e6373072": { + "fbf7fe13324d5b0afc570ef253370070dd1f8e4d": { "balance": "0x123450000000000000000" }, - "0f830fc93e76c8d26ed1f65045e70f5f986da383": { + "fc72e88c93c50a0259574179d466126d6bd2b93f": { "balance": "0x123450000000000000000" }, - "2180290b54d5d9e38f85fdaf086bfe35b610f404": { + "fc8c049c149f8804a6654c81b1436bd2b6213679": { "balance": "0x123450000000000000000" }, - "763fc7d39ab4cfa496c39077542589819aea5c54": { + "fd5f460ec653b616c25f373fbf6dcce4d6f29935": { "balance": "0x123450000000000000000" }, - "87da6a8c6e9eff15d703fc2773e32f6af8dbe301": { + "fd8c46dc7f63c331d65351ddc240c8ddff606cba": { "balance": "0x123450000000000000000" }, - "9c09de85a373dc3486115cab94c72549029f1103": { + "fd906d0398a6eda744904e94ddd55014642bc099": { "balance": "0x123450000000000000000" }, - "9d2f18c852eb5b37292dfc9f68ac5ecbf0d22dd2": { + "fe406ef721d30f20460e21ddbc55e88f16e1b32b": { "balance": "0x123450000000000000000" }, - "a995b3ebccfb2b8e8b1db15b7ca8cf2f11ed0310": { + "fe447b6cc4491b915ced210ac2248ef6f5ecbf0b": { "balance": "0x123450000000000000000" }, - "aa82d35d5eaec5cf87c311a3af844ed682d5a247": { + "fe6d92fc60175ff266a4e568bd6612dfd2d2a6a4": { "balance": "0x123450000000000000000" }, - "b76ae96839fe445670262bce61144e6cda9099b8": { + "ff09031afadde932514738adc88a8f1820e7dac6": { "balance": "0x123450000000000000000" }, - "b97de4b8c857e4f6bc354f226dc3249aaee49209": { + "ff1c2881db2148c9fae64893a401229ffa974b20": { "balance": "0x123450000000000000000" }, - "c5065c9eeebe6df2c2284d046bfc906501846c51": { + "ff55af9b99a59270d1189d790f1207995863dd73": { "balance": "0x123450000000000000000" }, - "cf49fda3be353c69b41ed96333cd24302da4556f": { + "ff7d0a858dedc90ace5aca1a553bd0a9e0be483d": { "balance": "0x123450000000000000000" }, - "fb289e2b2b65fb63299a682d000744671c50417b": { + "ffd92f89a9b7c178c023a806e1e90bfa7397f2e5": { "balance": "0x123450000000000000000" } }, @@ -4073,6 +3071,6 @@ "gasUsed": "0x0", "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "baseFeePerGas": null, - "blobGasUsed": null, - "excessBlobGas": null + "excessBlobGas": "0x0", + "blobGasUsed": "0x0" } \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/01_shanghai_prepare_payload.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/01_shanghai_prepare_payload.json deleted file mode 100644 index 3900ba5b481..00000000000 --- a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/01_shanghai_prepare_payload.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "request": { - "jsonrpc": "2.0", - "id": 1, - "method": "engine_forkchoiceUpdatedV2", - "params": [ - { - "headBlockHash": "0xd76266aeddab03ffe29e2cf11a808d2a86f9b8582a9f4a48372f9a7795a95ba4", - "safeBlockHash": "0x0000000000000000000000000000000000000000000000000000000000000000", - "finalizedBlockHash": "0x0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "timestamp": "0x1235", - "prevRandao": "0x6c9619f4c25184d07b2369f87ffdf9b3786f05ed3bc12c4e086b8850cd9fd606", - "suggestedFeeRecipient": "0x0000000000000000000000000000000000000000", - "withdrawals": [] - } - ] - }, - "response": { - "jsonrpc": "2.0", - "id": 1, - "result": { - "payloadStatus": { - "status": "VALID", - "latestValidHash": "0xd76266aeddab03ffe29e2cf11a808d2a86f9b8582a9f4a48372f9a7795a95ba4", - "validationError": null - }, - "payloadId": "0x006221426d1aefcc" - } - }, - "statusCode": 200 -} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/02_shanghai_getPayloadV2.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/02_shanghai_getPayloadV2.json deleted file mode 100644 index 1d1c88e5950..00000000000 --- a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/02_shanghai_getPayloadV2.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "request": { - "jsonrpc": "2.0", - "id": 2, - "method": "engine_getPayloadV2", - "params": [ - "0x006221426d1aefcc" - ] - }, - "response": { - "jsonrpc": "2.0", - "id": 2, - "result": { - "executionPayload": { - "parentHash": "0xd76266aeddab03ffe29e2cf11a808d2a86f9b8582a9f4a48372f9a7795a95ba4", - "feeRecipient": "0x0000000000000000000000000000000000000000", - "stateRoot": "0x7f5cfe1375a61009a22d24512d18035bc8f855129452fa9c6a6be2ef4e9da7db", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "prevRandao": "0x6c9619f4c25184d07b2369f87ffdf9b3786f05ed3bc12c4e086b8850cd9fd606", - "gasLimit": "0x2ff3d8", - "gasUsed": "0x0", - "timestamp": "0x1235", - "extraData": "0x", - "baseFeePerGas": "0x342770c0", - "transactions": [], - "withdrawals": [], - "deposits": null, - "blockNumber": "0x1", - "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", - "blockHash": "0x50c02dc77082fe2060b600cba0e6ce5a491af6d5323b2a90a7bc6359dd18e97b" - }, - "blockValue": "0x0" - } - }, - "statusCode": 200 -} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/03_shanghai_newPayloadV2.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/03_shanghai_newPayloadV2.json deleted file mode 100644 index b9496a2b286..00000000000 --- a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/03_shanghai_newPayloadV2.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "request": { - "jsonrpc": "2.0", - "id": 3, - "method": "engine_newPayloadV2", - "params": [ - { - "parentHash": "0xd76266aeddab03ffe29e2cf11a808d2a86f9b8582a9f4a48372f9a7795a95ba4", - "feeRecipient": "0x0000000000000000000000000000000000000000", - "stateRoot": "0x7f5cfe1375a61009a22d24512d18035bc8f855129452fa9c6a6be2ef4e9da7db", - "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "prevRandao": "0x6c9619f4c25184d07b2369f87ffdf9b3786f05ed3bc12c4e086b8850cd9fd606", - "blockNumber": "0x1", - "gasLimit": "0x2ff3d8", - "gasUsed": "0x0", - "timestamp": "0x1235", - "extraData": "0x", - "baseFeePerGas": "0x342770c0", - "blockHash": "0x50c02dc77082fe2060b600cba0e6ce5a491af6d5323b2a90a7bc6359dd18e97b", - "transactions": [], - "withdrawals": [], - "blobGasUsed": null, - "excessBlobGas": null - } - ] - }, - "response": { - "jsonrpc": "2.0", - "id": 3, - "result": { - "status": "VALID", - "latestValidHash": "0x50c02dc77082fe2060b600cba0e6ce5a491af6d5323b2a90a7bc6359dd18e97b", - "validationError": null - } - }, - "statusCode": 200 -} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/04_shanghai_newPayloadV3.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/04_shanghai_newPayloadV3.json deleted file mode 100644 index bc43c2e42a5..00000000000 --- a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/04_shanghai_newPayloadV3.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "request": { - "jsonrpc": "2.0", - "id": 4, - "method": "engine_newPayloadV3", - "params": [ - { - "parentHash": "0xd76266aeddab03ffe29e2cf11a808d2a86f9b8582a9f4a48372f9a7795a95ba4", - "feeRecipient": "0x0000000000000000000000000000000000000000", - "stateRoot": "0x7f5cfe1375a61009a22d24512d18035bc8f855129452fa9c6a6be2ef4e9da7db", - "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "prevRandao": "0x6c9619f4c25184d07b2369f87ffdf9b3786f05ed3bc12c4e086b8850cd9fd606", - "blockNumber": "0x1", - "gasLimit": "0x2ff3d8", - "gasUsed": "0x0", - "timestamp": "0x1235", - "extraData": "0x", - "baseFeePerGas": "0x342770c0", - "blockHash": "0x50c02dc77082fe2060b600cba0e6ce5a491af6d5323b2a90a7bc6359dd18e97b", - "transactions": [], - "withdrawals": [], - "blobGasUsed": null, - "excessBlobGas": null - }, - null - ] - }, - "response": { - "jsonrpc": "2.0", - "id": 4, - "result": { - "status": "VALID", - "latestValidHash": "0x50c02dc77082fe2060b600cba0e6ce5a491af6d5323b2a90a7bc6359dd18e97b", - "validationError": null - } - }, - "statusCode": 200 -} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/05_cancun_forkchoiceUpdatedV2.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/05_cancun_forkchoiceUpdatedV2.json deleted file mode 100644 index 9320978375d..00000000000 --- a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/05_cancun_forkchoiceUpdatedV2.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "request": { - "jsonrpc": "2.0", - "id": 5, - "method": "engine_forkchoiceUpdatedV2", - "params": [ - { - "headBlockHash": "0x50c02dc77082fe2060b600cba0e6ce5a491af6d5323b2a90a7bc6359dd18e97b", - "safeBlockHash": "0x0000000000000000000000000000000000000000000000000000000000000000", - "finalizedBlockHash": "0x0000000000000000000000000000000000000000000000000000000000000000" - }, - null - ] - }, - "response": { - "jsonrpc": "2.0", - "id": 5, - "result": { - "payloadStatus": { - "status": "VALID", - "latestValidHash": "0x50c02dc77082fe2060b600cba0e6ce5a491af6d5323b2a90a7bc6359dd18e97b", - "validationError": null - }, - "payloadId": null - } - }, - "statusCode": 200 -} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/06_cancun_forkchoiceUpdatedV2.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/06_cancun_forkchoiceUpdatedV2.json deleted file mode 100644 index 8bd8b07050d..00000000000 --- a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/06_cancun_forkchoiceUpdatedV2.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "request": { - "jsonrpc": "2.0", - "id": 6, - "method": "engine_forkchoiceUpdatedV2", - "params": [ - { - "headBlockHash": "0x50c02dc77082fe2060b600cba0e6ce5a491af6d5323b2a90a7bc6359dd18e97b", - "safeBlockHash": "0x0000000000000000000000000000000000000000000000000000000000000000", - "finalizedBlockHash": "0x0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "timestamp": "0x1236", - "prevRandao": "0x5079013331632e5f6db41eccd876e5659c014b8a0a0809794ad1bf64631e030d", - "suggestedFeeRecipient": "0x0000000000000000000000000000000000000000", - "withdrawals": [] - } - ] - }, - "response": { - "jsonrpc": "2.0", - "id": 6, - "result": { - "payloadStatus": { - "status": "VALID", - "latestValidHash": "0x50c02dc77082fe2060b600cba0e6ce5a491af6d5323b2a90a7bc6359dd18e97b", - "validationError": null - }, - "payloadId": "0x0062166c2eaa44c9" - } - }, - "statusCode": 200 -} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/07_cancun_getPayloadV3.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/07_cancun_getPayloadV3.json deleted file mode 100644 index 921659ba549..00000000000 --- a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/07_cancun_getPayloadV3.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "request": { - "jsonrpc": "2.0", - "id": 7, - "method": "engine_getPayloadV3", - "params": [ - "0x0062166c2eaa44c9" - ] - }, - "response": { - "jsonrpc": "2.0", - "id": 7, - "result": { - "executionPayload": { - "parentHash": "0x50c02dc77082fe2060b600cba0e6ce5a491af6d5323b2a90a7bc6359dd18e97b", - "feeRecipient": "0x0000000000000000000000000000000000000000", - "stateRoot": "0x7f5cfe1375a61009a22d24512d18035bc8f855129452fa9c6a6be2ef4e9da7db", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "prevRandao": "0x5079013331632e5f6db41eccd876e5659c014b8a0a0809794ad1bf64631e030d", - "gasLimit": "0x2ff7d8", - "gasUsed": "0x0", - "timestamp": "0x1236", - "extraData": "0x", - "baseFeePerGas": "0x2da282a8", - "excessBlobGas": "0x0", - "transactions": [], - "withdrawals": [], - "blockNumber": "0x2", - "blobGasUsed": "0x0", - "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", - "blockHash": "0xc33d43425366d661ef70df12faf8ccd66ed7d0c6718d16d14868ba49e6786927" - }, - "blockValue": "0x0", - "blobsBundle": { - "commitments": [], - "proofs": [], - "blobs": [] - } - } - }, - "statusCode": 200 -} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/08_cancun_newPayloadV3.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/08_cancun_newPayloadV3.json deleted file mode 100644 index 0e80c75aabf..00000000000 --- a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/08_cancun_newPayloadV3.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "request": { - "jsonrpc": "2.0", - "id": 8, - "method": "engine_newPayloadV3", - "params": [ - { - "parentHash": "0x50c02dc77082fe2060b600cba0e6ce5a491af6d5323b2a90a7bc6359dd18e97b", - "feeRecipient": "0x0000000000000000000000000000000000000000", - "stateRoot": "0x7f5cfe1375a61009a22d24512d18035bc8f855129452fa9c6a6be2ef4e9da7db", - "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "prevRandao": "0x5079013331632e5f6db41eccd876e5659c014b8a0a0809794ad1bf64631e030d", - "blockNumber": "0x2", - "gasLimit": "0x2ff7d8", - "gasUsed": "0x0", - "timestamp": "0x1236", - "extraData": "0x", - "baseFeePerGas": "0x2da282a8", - "blockHash": "0xc33d43425366d661ef70df12faf8ccd66ed7d0c6718d16d14868ba49e6786927", - "transactions": [], - "withdrawals": [], - "blobGasUsed": "0x0", - "excessBlobGas": "0x0" - }, - [] - ] - }, - "response": { - "jsonrpc": "2.0", - "id": 8, - "result": { - "status": "VALID", - "latestValidHash": "0xc33d43425366d661ef70df12faf8ccd66ed7d0c6718d16d14868ba49e6786927", - "validationError": null - } - }, - "statusCode": 200 -} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/01_cancun_send_blob_tx.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/01_cancun_send_blob_tx.json new file mode 100644 index 00000000000..2a40004b85e --- /dev/null +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/01_cancun_send_blob_tx.json @@ -0,0 +1,7 @@ +{ + + "request": {"jsonrpc":"2.0","id":5,"method":"eth_sendRawTransaction","params":["0x03fa0a031df901140780843b9aca008506fc23ac00830186a09400000000000000000000000000000000000200008080c064f8a5a0010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c444014a001521d528ad0c760354a4f0496776cf14a92fe1fb5d50e959dcea1a489c7c831a001453362c360fdd8832e3539d463e6d64b2ee320ac6a08885df6083644a063e7a001a8a4a49dcd1b91c376c87d7d6a6e73ee3792205864bf61781e8e3ad19d0092a001069693395fb9a698b257e6c25380f32393bc0cf17a290f9e7fcea3c4ae7b8b80a00996890b6031235741030f07cecca332273b25d334a750d1b8c7f5b0a772f875a0760e192f4768128235ba74b605e33ac6eea74f2fd0385e71df1f3185485e2e71fa0a0014ba0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ba020000722662154e6d76b2b2b92e70c0cac3ccf534f9b74eb5b89819ec509083d00a503ae5c198d17634e79059c2cd735491553d22c4e09d1d9fea3ecf214565df22847267ddd7c47030f8667b61a9860b085c060c07eb215a4de991a8fed0cae3821f0ee8de64d25d2de4a710ea9fd89f8f4666fcc7451e6d69a02098bbe5d5b87c60720f6db75bcbad49fc11512930d9d97bef3f2b4bf6c8fcbc414bf61c98d6bff23ba6ab1d76e044908135e6c8720d3d8ca18be1e013c275ba9f2a5d7eef5c2b5f3868df470b4e7848f79d98cfd7381c8e38e9ddbdf213af8d3eacbdd1b7d0fea5724fa5aee5f5b819f35f8fdaffbddc2a2bb2fd21f07f24fbe11f98ebcdbf6e327257389fb0bcb43108092945312d767d4485358fd543215807db5e5e3cb3741c722f2581d15ec8d6eea7c0e7db2ab6f9b5a774be8341d32a3739d103929ce0547208b324b7b29a85552d2fc90b40f9e510680ace1447720c98002f7ef7b7fe09308ff3a8f75036c48afbb09daf42f1f36f477e64606c3322f987fb05603bc62d2171de0fcfe3090c32234a712d7f2483806f192771cd0e2ab1472efdf428f5fa72c2c5a5ca73e3f095ad763054ed2a4a8fa6a05bf3b029646c5f8b61033ed851727e7aa4d120f9817ab2420a7cbdefb67d6d1666cc00a1a37b564ceacd14c37c72e0ae06fa1a09bf6307e226d29942db1ef31c65de6a49922f8f4860ec2d8a71726f74cc29496a85a775bb29103f75247b2b34718a89010dd9371557c1ed466772087bfe3148d17f8279de1fe8387104d0e25bb36e0187b2e1d4df9df3efc52d72f896e5aae4e5371bde4571421bdd1e47b1ece2a8fadbf27f27b87d1689f4453d87d4bdc1f411bfa13789478f4b2f6203af19c7c24063e3d2663dc7a3c97d1255862ec5121e4cc733e7e6929847f32353a4bcf6897f1ff52dcc66d8c9923f0d525a22699ebbebcc80fb1f158beb8c61511698ee9fe9b40a2ddea746c7a921e8532281b46bf4ef7183597e208aff1784d79436cc69ef5bddc0db29fe2da84bce72c78b23dc94c1e76598dcd6ce8c24c0bd72cb581605c4d8a4e711efb957952f7266f9faaad1e0258462eb68de681032d3dcc3047bbf1c7f1f3337bb67d9563a7212a42a90dc93647b636540c774a680e8ae8958f386d4639fa9d61e02fa5293540f6f733de496a0548eaec3d510ee6e1ae2822d348793693e1dc38dd3e69394720adba55b6792fad47817a9ba0881572b4ecb1a91cc7fed3e2dfc51569419777270437988bb74e5eeb888d5850f9de432ebc6a201546325df68f10049d54c9672b3f5271eb5cb37a995d9ff04162a5320a480c457409b28a663ed71b2b40ad22b541b5ffddc62d08b8d4c8da62d21fa429a6d658b35432a73651ad9f9c2121e72e172dcb51ae6ee4f2bbb50c51a97ce7c742fad786e465de42cf569f543c4cc2a37942bf3455a31fcecaa6c1e2718d00478871dc9d0ddb6e984701196f49ac972a3fdd50e631e828c823a3546198efe5f8ca312e31fb2a6baf148cabd595ab8720657f8dd99b792976e6e087b711977ef17efd4e0d28d9cee48ec113c5092567248b25bcfd5bbada813642323a7fd7a76356cde8dabbbea44cde6ce1fcc1e667280e5932f0cd08b3d2399a574629e1eba98b0a0db467a6649945f8e271cfef1223006baff8511b554b9c1181d74c499e3516c03103cb6ccb1e549e9e57be80f72e392508bc624d9af47d2da2ba898fc32608a4df1a5ac4954d819e17ba938a57237c699abbde80e4a73aa42a4ca855c8108d4658b0293f09a94fe192a5c040472b56dfeeb18c3563c86f325b8305e9ab84b276811af6e07bc15aa3ed3e4781931452258d387e284a4dd23b7884b8e9f0a3ae41779a20b18607d692283a413bc4338ad9312499fcf8b17a6f28eab8ddc3151ae89805400a1096164063653267f724c8b712452cbe999386c45e54d94916e0a8017e0dadb21ad27c8059214d97d32c76fc47dbbdf528745ae9e55cc5da5ff0f9aeb46d1b79654600fa3c7df49ac723c0fc457440862b4c6138d577fb8d74ada728be3c5438f5c2c1da853305efe72a917c4dfd89735e8fa5c07c9cc4452b6844463a18781bd9accdda74b1e958e1ca7de9f49c900079ab6108670cc5519b6744ad2d105f6b0d4ec5b5ee88cee9b4e3148da1dbc9c813ad96e911faad349151d6843954d89572c17f63b83cd2def722859980a43cb112480a70af211617d8e346e961abf2f5df65136da1619e0f07247b1a8589f00e9deef61970a23edd6b96b330e54c98e0df0e602724d00368c729f09a21d1b52932276b1aff4e63d00acb3a341f16999d5a013c2454f95ced30f0d22f6c88f672ffc3e61d5223da39266f62ebae5dd75a489efeb6df0862d1172cddf0e365f75c18dbc848f6746a3ccae1684752a217409b8b57a91aa05eea272f8c96a09594956c3e5d917cd6156c096c26dbd93f9a4fa5c8a411092c0c1c63be9403f19d6c6a9a052fc4a6acf46c9fdaaf8a662591f754c309c2d5f6275e92f64b6f81649fbf5e8f05c7e72842ea62acc9b8ab8c82e49b8e96af2219b2b92722cd5a628ab14f7483f8f56261aac17e7b8bd1016a4a9616075829c20eb540672ca8d829470c0050d8f08417cdf4eb417ea0c5864e9e7cb8caca88832cb245f726d60a46004f4bf71f107330d634b86d9fa89051573ed947e7e095d8cfd677d72396912aa12b9fb8dd7d4f21dc0bb28f2d1e290476787f63fa3e4eed2469cf772cfa7451fdf19674a0100d60ffc535cda86c248de1f17c60cde104b974105ec6edc9b7e40822a96b3c7e6018e60db2493d3e53aa0cb9ca9e359940644347ae23fe53c98062e74cb991ad7e03342614f8696bbfc097b1ba768e04449dcb3298d72e50a0733a644a6c06d06e8274d90e3d9994ed7b928ae7c7efad145e2306ebf3a2f258223afe8f1d4219bf37da3670026264d4dc1d2928c1b7865bf99b036de7289286ec6abd1235ada7c4efb349d21f79ca0562ce3e931eb50d4116a4af7bf72bcf2f390341412c77cbdeba26cabab50d0576a00b313fec424ba03d4de19a372326b171e251700a72121d7fa0009e4e8c94e186a7be365ba1568d993ac16b9720764806197b2eeac2d7565783b938a6fbaba57cb60062b53c1e8ce226983a972deea93ced7b88c2e87920a0156c1b94a4bec0e47fcfb30e1972f047b56252b69df22f121758a49b08d8e5147a761143e6ec5e2a4322f9feda4dee59b268c4872550a76c5bc0c07232a77c7d04c47b30ef6965840756e007cc872f71e9faf194a62b69787e017762fd4f9148f7a43b9d50d8abe4290fb986864ccf24f9f52f8483c87e5e4e45c4e935f4f337b7d88baa38b9039fdf03ce40a9ffdc6e111fe692f38c650752019db283668560fd31349c5849183f0d91de0d2b88931ed393a3172624649937fb1afb04a92ff2c4469041679057762ddd15a4c8a4501b6116c9a72a2260b2e8588948fae691303c5a7041027ce4a5827c39edc6a8714434b537d724884fbb9a39bfbf887e945157ca2ee990fded68e30604af9942f8e39195c5972a532333ef4d5eacbc9be8534273854503a0eb94eb6007d4f7ef386c6aa37a866e1c12c0f34f5db2a92b1e3ad467c7e1f75bdad36e05474e15816bd1df4ec85259262d3ff7a5184f80122b13de208e87bd9b2c607e6efae864569a2d8b464fc0473dea65351f4e3d52a497452c79740c458450914eda689474367217d18d62042e63487cdab70eef512f6681a2aef4d2359783936cae2a5c3df843c93c7f35f7208b386b9822f79d21154a1edf2568b4b355ed7da3cf7e5e7954ca7582217a2728bc1c427610a3831d67b931f296b3c30b372d19fcb4d60b3c0b8bfe0f667503dc7cd70d41df629ff139d0f66952901f42795c4babc68f653ed080bc895f56f4053aecb97f6603926a2ae285df8cf20c57e34e56965eaadd4f7bd1b20308f8072508390724cae5611f0574d1e83c0dbdfbc61ab06fdcc0e65be32bf272ead8672545a8145bb1179511c8822c63ff1e7bfbb3b8527c48ba5be283078ebfcaa2f72eaf0a362ff747e226c4f228281fe5e3606eb826f4161828ee1a501d48c6a362749ba4302b8941d81be751f23cd27b040c2d890c9a6a2047b3a1f7a33fce612725e7d8319decc545803a420099ad5a7ca52b41b0f51e588d3583e71244d75027237107713dda0803055314c1fae8fcd8993632a7ed91bb0fdcc791cfb3d720372d2f506986989051a6d32777c2d1aa025246788f30f54c144c0535989333d57723f9ff54a691d043f2c2d84ae95272807860d6c576a0c6dfd90c4bae6b650327225078ac2bd96dc5d646a873a6d7543c2e1265b71f99d3c9f1e2a06a3059c06727c0f5196419afc19a455bc3adb4ae23e69ea0073e7c600fc5dfd7050bbab8850ba35b25de6dbbd8f7f7b395acb6b6d460e7b7883e93508c42d7f2afa4c8f9a26f769f1a0d31fe888ca7ca2771e1c1287314d2833ebd53726af856e4658a0bb6ed55c41ac04b434a3e6736cd9261300b9315ad364c467238487ba0108aceedd1c8814f7fa9e14b82243164e84760887a2419e1559123e9d5f941bd41c8833ca72390d33a27d45b6e73ab4ee02f23b3b01ee0f94b4a98304671f1aab423feecd2879fb6196503b6eb499f20144c56836c3cef788d0ae530e8aeacaf9c01ae40172297c5f46f70b085417bb1c4217ef6b0f3400b4994e57cef7116feeac37c929392ab6bb95ffe92f643f64ec7e036af2656f84727cc308354091c1cd7eaf4df17244b1a04514d4f8e1629881c84cb6f5be182b40b498c3faa55b28a786436929728da528e60150034e1466b60a7ebcf37958455eb09686965c81b585bdcaaadc725ace191deda3b0d0fb3e6363f28b626c14e45918bc314684682b68c51fdd127235c1dfaa021dd9625ce84ad3dc3acb7978f57825a6faae9e704b9ab51772da6119e184ae1bc99ee29bfadf8abc83ab6805488e89ce22a201400c1d9def057462da34cefd8ff96ab767dfb7d2df3b9d2f137fc400338fe88a6c18f8577507f1188dcd5bc975f0412396b1bd5c11f6f6065e058af459835ff942ae4f80ae4c117239828b98b3b34d092cc8cd53a7f7e804d2e337c9fd857228e52c6370eed766729553fd9dcdb643a0127ae1cfca8fe8b3811380b3327c3128db4b6695a6b4a572af57ce3e5e9af156f3c384becabb58717849f493aca027b6f69d6062ccdb3a2fb8230770b229b0ad7098273521675654dc773ff906463e1f3ad49bcb6a418f4d5fac59377fcb804e3961475b38a25e3763c699eb40f33aee021e41d443f1017256cb851ca61b1370239f4b03a34ca4f37c74f6f6c22512debef1be3f4f9bad72f8afe5e15b43685b128d3572a72a4fc33d32aeda6083f2653c7929dd49b5b52c9a686c0d981cd7ad501f137cb66af04bd05188d937c4d6fc0444e119a50f07721a297dd9eb1973d530f9b38715555d91c1eec6225c64b1f9093c903a0ba2b9723b644ce3d551a6ff5f9321ba199b3aae1fa76d478024308ddd8f13c8e177bd725efce52fe97dc5675c7b6916e8589d5e4ec332893e5182a539099c9401b7eb724ea77c823e92465de46d8506c47eba0855bd20f44b0481c4e5aac4dffeaa9e72c236b9021a4f3e40d87d7458be37200b9d53fff411464c3ca836fe28e228cc1ba779f1389f2e71054227bfbfdb43b609e097153ab9e6261468406b34c79688726a4aaa9d768dd5908f762792c833d95d8e194b2fad756aee5c37de5f4e2ed44170d1f80080a562e7a107f0ff741707efdcdcfc116f5d623aacd314b91438ca72f46a4000c0427eeff855d6531c8bd33cafbe7431778b7314519a30712901e0023b24aa992fdd04d537cb0d100761a09977b374209d78ee4a7167f8f36c0ccd7282fc96317f9a1ae0999a71b0291b4fb3cd9bd5f6ed6e78d25f3532394cd167135732b24157d0ac1fc33576ad1823ae1d194a204ded34dfe469ffebe7dc990b72482e9be7351717592fe2f2bec5ecdc91129927b221ad24011c6d11bf3a35f3727f9343726101841a1897aec82d3cd3b08cb95ff74115b202b036373a72416b72c16e4ffdb612a659ceaf00c477078be9cb4a744b45230b8e8269d23c2276ef488825fe04954d85fecee29d72ed7174f8369b7c7a92cd0a1146b8b01b292aa44556d3f4f0ebcd7c551de21462c37e2fb248a5944fee3b730b4bad7c98a095c6726b053c55a55939e08338025cfb41d2397c919aa9ca24e99aad7e262e04f307720ca07ff1216adfe9768c95ea2f31268b15e554968e0de7698d920e6b3c885a7289df3c060501d14822eba963db261b7ac90bc04b1153069580963acb0a7eaa35023bc710d5cf4b5795f6735fa0c8fe7b5b8c82a9b25b9902b2beae749c305a3f7350a85d3913d50cf277e3a0cb2b4c97abe7f6b751c7a541e20ae8b95c112f72a57aa2a793d96b7344fcfa8f2ae7dca3c77b0002489b2bc9986b08c93bf13f72fbccd659056a078da51fad2b3e9374fe1fbfb5fa2c1b5d929e806ff19c23ff30a34c17fb42fe2c9758b0b6b9ad11b63c70a906357b954568e1f67a86180c8b727a6d6153aa544e1f8825f67d8d3e34a5b2de4881bb8fa6120d3817eabbf8dd720012d82975f3343bb2214c138beb912ba8c823b945e89b87c3777f300ea40172b2f5c6e92d1f084e485fd7310408a7ddac1152e1ae7a2a1842121db65dfe8f7205f5bc346a35d3f8feb1f12bf63773417479f8d77b91b5d08ca33c5fc448726a9e874a18aca01384468788d1c76a375960707e27a96f414d56e75d301609c172cf73f8674b44fc19889d02764727b3f00b72b19cfb011821985bf5b6c404a87238b6b4f5b5aeec031af043e0ad241b75f2217d39e388c8194c81e1865707b166e8d3305ddaaba522984c2f16adc97a0e5b03803748f4407c6d4458d3ef4d4324fe24df2ab497000f70e0950c6d9d15bc9e6244e6114b7164d9f9785ee7003172b381284a9a047e78ff4f24700a96cbc204c4fd2551db3053e39ed9b40ae5f7721942dca9e69da31ee7b525010f1b05e574fa2bd0accc49c332fef85c4a62b934c23be43dc5d57d7616d315b8872fa25c565b42da8aac84419f89d8914099bc721e8aa67fa922570c8ebbcf32062db11e2564024707dcff5f9f1c442f7f4062729e5a2154d190d98bf30e60c9716905da3c6cd526b44d8424e17e26b20843704a8b8757130f18c89f533118a4894f0ad2df09c5bd5f8f9f6913a5e67d2b2ef215576dc32227618136e680c1088c5f14cff5cbc717a963fc387d8bb19e01e7fd7256d0695995ca54363328194a5f1650fa13b594ece69a133fa545bdafc26f93725a87ccf2f60072a8135b94f50bdd6bf525b2e584f2923b8ee8c2b583286d9928115e91e0bbc097e5c15853e39f1b07a5709db8d67e19d7ebe86feb74fdabcc65f0abdac0c18bf865851639950680a44a2dbafc3b82e5d901518734d81063c6728442089150aeeeb6e1fde66966456570bfea301cf9f231d4d9d85a7f50a9647248b26d930dc67bb301a4ee15db3c73bccc7c3430f5587bcf5544a7d3dc16994ad88ada2e1f86c08cd13aa9bf59740c3d53b56729137eaf274e3b211cbe09ef72c70d2e975a79bdc7ac33b65d913af0bad759097dc689509a6ec3eae7de87d6720484f7d3dff6671c4c34f8c154467c6ab82234556ca835507f9c01b29c624f498a2a1a4220128f9fb94e0aba663ae81f8538db88b9637a507d7e160ec07e0e0de58869281fc25e6d523bc095868f3e86902095dacbe62da72c5cfca8a4634067e7fd8c932fd65cad326f5054a5ca19e658cf16e8d389d2b67d0ed89a959d30727c804844cb0f7091d18f5a727cfc58207e3156a0edb3d7934fd1b040a3e74072545b77dbf3430ee883a713917c82a721773935ae3e4167b272c1c6b2a911e872e95804e3ee667c63c1cd44b7be371eb5206558f92eedc6362e793d5d6164d745fe1e6447a33636639c46db25865707ba137c57d2aa40931da57d603f5b2681728ed29c9e33fa0a20c2c7738974f4010262b29dd80a16d89c5b6f647bc740f44925be33d0fe2745f1f851d33354252f678c48a125ad6dfe6e415488c6cf5e5472a8eddabf37db4f3083766fe31072c68867122086d05f5f4a7ca181620ded5b20907cb6675e3923e9bc930cddbc38a35f1e5c45fddd75447d6887242b0c69ed72e2f5d57bf97f5ecb94ef2a99870963d7f2ed3d5c682cddb2e12075200b762072031eafae33b40b88fb871d2fb0c9599ea598beb4be4268991c47218488133e7299ee4f43ffb7f3c144c8b0984dfb74448696ac72f37b678aef102845c27b951c0ec031f25c192176b9262a2c81bb5adfbf52c461767e8a63d80a80b0d51491521214b845ca333059f174daeb9879952344dff8eeb7c35b3a1d4d426fbbc8b772a1ff091577f031413cb2f19e96d04dd4b53bea75723105746248ef6f91d80f4f2009ec370debad1fd2f646cd5dfb0c2c162ca8a92535b35bc526161d3643561fe3abd951a4f00fa8abb19ce7c8d9733b2629fb9ff8c7f5cc6037c70c228dc625606104e01f93c81e9bcdc07e2378a8d79bbba35e7a5fad47279932ca03e00472d36e66f55491c860b3a2b0ac3b8863dd453e2f62ebab7288f9ea395e7c165b72139c9b5c5da1ff9f3204bb05a9df069ff12a9908b752d3de38c17c865790ce6da43ce01beb565ab3d18c6220d2c433552f431e536158f4bc38cc4d6dca18d172c1475db6dd16ba788373bb0193094208bf5de4da76d68026448fe1625325ca72d511aed2f0c5c58918cc0207106858a804de142eca9883504449c950479e7f725903aaa55c5fc3ce0e77e9be43de16f636e9e3352aa9c0f3f3cfecaf95b159724faecff96b575143ab2c42489f3c34daf215b85d64f8bc41ff4ddf065c605872ede24be716bf588fa2b8c04162baeda5e2d204efd5b838842507b7b06f68e4721eaf34be7b1f657ceebd981622df84d536ea6f4838b3643b40304664673ec64fb9174f38547d2481e3e851f9b3cedf71310a9832d1cadb9c63cb8c81516eee72fda00b7bda35301844c0c026a166ef8716608e57bd04013e7a8aa93b23c70272bf2c145d66851d25783ae26da22fe9a756d79ac42c82fb0df0e150c1f9ee8d72b219046c462b1abe8a2ac1773efe1134b6c6cba637a6cfe5359c5d853777d139a662a4c19d014d515f00d024609ba54b1e1ec845cb414824dfd3aee1381eac65cbed7d0768f94e1024796397f2fec000e18deaba42e7e27f62fdc0213fcb15720214a51a1ae0e3aa0ef5d723b01d63b8cea2324549b1cf15336d331a9cfb2c727504947db5aaa1af52a6fa1225b9e2031b48fe5267a4407d07874b5b1471504d495f51d6ee6c87624672f8ff8d10fdc20ff538b518fee6286e460dfe861eeb72d31fad3edae3bbffd723153935b054a709f3cd48f9400d7ca9458beb67acd544406ffae187de4e17480994c97775a2ff137834282a250104254076bcf502084c35c24b223f69b2d510829c852a09facc27da5cb47fa027eb2f358b66e389085df181ffdd4a957382ebce4a10c2a2f272aab7f451ad89e9fb12a8823267d6eb62662caf594ab3ab196c7d6c8c757491b41f278619c3fa0bb3badd91f58be36a2efef3dad05317dc01852b04209d4420b5c2a6161b94a9ee5e6f55cafc79660572e02f2d41358004c75f56448bd7016c87a590d2bee38b2cf4d7c302c2c9430972ab03d07a8098b16c046d04c14cc80e5b59e16ffd870a55277a074840aa28c9727f6e77997f2617005616d79c2dd03e7019078917d5e0e5d2e638ea3d214a391670c4512818a4cb8040dfc25fd0264fac6abed2f131ccee0ad7f8caa26957d6498a3f23015ef4da19e915dce6e40f0de5be101857a843d6d60dcd2a12e1dad659c4ac3ae494e382a73b2b3c8cec58e0f35f768521ee89ee39f155ffd74ceb50262bc86dfc3b00e3bfcbca32694d20e1f4167959206e12864921c76f8ad7f46272397428bf84beb8b86e4417086fa2905a744bcfc9d9d32a3c9b9eb92dac9cfb283ac49f4dc172e8c1b05c6597dbe6afd9260d63317143d962e56023e343671b725f28a3a2a2d482b40a919b8271443a6089d28732b999e359ebdfb02024061e1c33f383a8fbf4bfc083885812c4761ced88489465792651b0fee9e208d0e04172abd728a5b9d4c75c221ad4aea8792384f6a6184c1027ab30e6b94322751adf724930aa77c8fccfd7f27d5dfa8bb2afa100d008864adf087165c40f7480614172304686e694796669a4f8a1195b96a7a55583c87c97bbdfd3f38679bf1430b8724a7f29fc23b36fb8ac4dc421bb848bdab1823d4003a3973d4ecae8894cdeb67222e70e36a3d5ab9be292b8c78878cf2b61210724d5cc1a2d8466e6526b7e325834635d6ef11a243c1af025164ea104051aff08fd713c1fd38c3c07d5c8e6bb1618c7638d7a58412fae59db6ee9dac6ff70f90b3ae6b5322153663ab5b724b7727e6c79cd9cdeb3e047c35bd3db80594567050d5e0974df7df04a1e474c17a35e8ba2708d7579bae959f0c0ad5c255132b0cd6701ae0453c097bea87d4dfb310ece09c086e2b1a375a79f6f181f16a2c35742e09edd7b003298e4b805d983a0725e825b36d027c6ac0aae07962dc20c9b39989bfab054fab17139d05ce14e3363c20367883626231f7e602d5c7bf8afbe07a0b8c90854e6f6ec3d8afea616340267e3b757d0facd4b70131233232e91a74a8f93539bc7dbd66ee49bd2c85946661b3a1b6b1b2229e223d59ec7eb742e9c68abad97a7c1b968e7e7b555dd42b56c8ff9d7803ef77b1368e798a984babd1bbe488366f5a8bc1cea0b687b84fef77224dabf4fafa99fa0a53b95e5bc5d804fc80b237b1b941a70921fae76a4e10e6468fef9e04e46ca16c00087aa356aa90cb0dab4bc7ccddeb1af7744d461a8b672ee3321a71f62bfe3cdd21d32f185ba5c2701f9efb32f28063c42925751ea8f3f3d6a4469f94e004cf2b21738bb206f410529a846d6765adf4a22a9179774e245e242d13c2be27c631410a16e754ac18699b6fc8530ce72967bb14327ab286372b65d740ce8d25d5fdd2c4030ce7d20d67d945fb8558149ece75006274e5adf72d078522e81a2623aaacd45a5eced756ea6c0aef163871e514686ab742c000d726eb2dd6a127a3f5aafa8e0ce6ed49d3aa96526eaaf619f940824a341c5c445072fc345ca71f77a2fe313e11f281419136b764fa5130825b2c5109dfe3fe3891a71a181a7a05ea1cd6c098edba4d1b049fd5626eddb35f0d8214424d9ed6c0f7202ec32519a49c9cb435f7a80986b65469f8b5b8c2cb21d00ba499de6160b3d1ff5c4b94dd917da88fef2a11492da8c9ec1020debb4b74f0ff920f62f99705f726c6b74b97b617de69d4330e72f3859f0250b81c6dfb45eec737769cc2af88956d1205523a954ccff10e5c6455c3ac53da19e2ee5ea05418b4aaa9d87014b9e723074c30e5dc326977f3351c88dd3d5c930bdb9cc592a08bc3267d255dba18172809c96b83b88feeb86619abd15fbe4f33d8bcc68b0ae41977513151d6237b1720230507aa59e4535ca1c433dca37d7aff430e545659a5ed458f33efc8f8e4c342ff8e0e8dd8cf19503d7127ca1c011231fe9945c86ce702463f15641f066e26d10e74173f9d374e9f20d268211487113568170772205d2ee9eaae88671a52972411d5910c7e2ba4f5689d9dc76a43c33bd3e542d8c72db08b3b16e2cba009e7212c800b0292f526b61ed350bcd531c5a61cdd462405a5438a214986298582472731ad982f9c8ea1e089ab33d7a105e824139261fc40468870a7a6a5b910f2c29fea513d73966e3b8ea3062af73f61199266f6683e0d7c99981a150b205d20f7223c194bfe90714cf529bd28f8086d387bfac2bea03cf625eff5129183443752b4b823f03fd1188fc5e92bb2bf2fa153a5ae95cddcd422d6008d5243762007b077897a27e2d0834c0a46ed0b5d090b51747696e30911fd88453eb002e1c0c892bb0a0e19864b7e604ea03578b5420b937cfde1b41fbfce4ed40f51d481a468e7238077637e010d4c4ab122a5b2d5736c9dbbf287dde274216d311f24586093572fabfa4f019ae4c2d7db60744d49deaf5f320d1abaddf0e11b2d1727385198e70fce6e6a9c7ff29cee07e39cd1efd20efef866e8064e745984133e39e26a71c0b8eb3ea21a89c2440ccfb44de8dd748962b0ebd3c942e82f65e05f076902e7572809e88fb1aabc5fd39afd427379bf132da8b887c8b53870c6d42f326f37e543ea86a21b9b8a6eae5ba1d0ed7f416f70eaf328b0166b03cbad0fc01a751bd0a729f1e3994795bbd0e251606a57aeea7a99de5f08bbc09a486767e28658091d4687a45f5d31c62a340e92f289f59ef8a16f84ba5e94f2bf12981bc1c6cb883af7283d9e25e31089b51af39b85f1e3c10d8dece04b7df8021d009dd47483928f07260acbc359dc8abe54699d8e4ab1dd208e164ae9685e141a567e3c08daa02b77215d7c8eaf12a791d5af5a3cc79de8b3e40e7348f1f35b7c8498cafd2d1320b720d84e6f38abb8248c5755a922d4423eb639303624a6ebc93d2ae7710c8e1ad5bf1e1fc55c543a2a6016c2f4c9e44ac1a11710ba2a9b0c41edf53adb33c08ae729891ac4483ae648942b14b8516d80968411068a3fb69808be7d2889da2a9633b2680006f5f8f35dc8b44a739c065b5d32d7ed78f3c75b6b5914888a6e6b89972baca4c4b04f48f9dc42f539d694bc72fe6adf4b855b4cc90e922d3967e17997230ce42ac72989c2e575cd5b69c1bc9541617964a919e80a2ac3f353f1541257225860231a656d71408184fea81e017b4c380bd9197c43ff2011f966d83c5f072b3091988a8e087a604c0837a32a03bc6d0050e521cca1b3cafcb90731dab417228c5df9760777edbfb20e134301e6e9965fb289c2a85a25552b2ecc0e0a1707271e61920650d1a0dbf7841363e67292cf2dfea06ee6fefc38aa53afc96d5ea72fd30514591efb45991000e0f9465a30fb90ec68b98026b0252aee1adc3ccd772734aa3f566bb3ca235634dc25ce78e2d119ffd6d44434641e6bac9170e97397207c67c577a6a56df0737b6d9a524e020c15a6943da192dfe32932ab26f3fab4d8d47cdc0c1e1ffcb22b348ac5f3156d4f6dc6ef8c0f349e834ed9a0a9ac44f2c1c51ac98fdd718ec79ec66172fdf2e67ebd6c505ac55d378e4219925725c8872dfacf149c3435a7199b6a62bdcd316da8c467e4e0e3167577388dc8199c61572ae4f01d8c2f8a98740d44d3a584c8ca4591efd905275e0ee2b9b98e61cf4f96d3da3e7c8a63687bb4c1edf636df23e91fc71c3ce7a2fe38416bb31a9744e3953cc7fac6c91199798906bb5b56dcc36d74472257afc0e41ccce2dccd5da16ba0474a453fe076a16e5afa6aee9a5f447bfc466be01127a4ae01f1039349a5d33723045539a87c7898d3f5cc15ba8f38c75a949010a2a7ee0e30eac3882f0673c72abff2479f600869e98d67cdf47d76e0735b8d41fc038999b93d5741a46e36b724eadcb569bcd5c4bdd50ca8db6790583317f6b36f3e67a5838718325dc8584723f7d2b5ef0a12a66ec11d3a2bc9c9383f34fc0a7ea360c5207e62b43997f446dff11934554b523de562aa3fb2751e70248ce16c85c31a61292c08f424c4c5872b41231a942d88989d66feb3c1070c3bb0005b4e5095d6269438d24a5723dfe72e1e2fbf7dd00a589be04414cb2b60f6d41a228aea9511ec261ea544a4e5aa14c609f2ca5551761c1ee4fe4bceea21a7e226349d74eff8c420d1de8a79c418e5b3692f948058d2d0caec220cd500244e259d9993e3b053fa9d7258bf396992872f716113ab2a5dbf6c7608e716c1d2f35d5d7de24bff3e9420c095370f384c8721676a8f252d20294e1ad468c6136b9cb872fe98f8588e9de476845997fa2236a6beaffb983b4dca1b2a928f44c354bc01e65cd1a34b4f58f400a407862338b5fd3fb1585f9648bf9f4040a3b6c73212896a748b58589de1a594613fe6852b92bca1eedbfd29e4fd9fdffe890ffda7ca471be5d0e07493df9e241eb68723a9e727282757fde6c9faffbac375feba511db1848bc824b333424189d79b5db0cba56f8d85c72a154e90579db7e6315143a4ff09aa0418227ef0f38375fbcfe28d03e8ad70198bed5c3d024a8c8f121d66431ae2e544d50bbdd3012541db70399152133ebfb0283771ada32cfb00401324ae7505095dd33915230eb4bd9ea96d69c72880e28dabe5208ce685b82ab6ce0e0170e25e2da97ff2a49f6aa37f6ee0d9537bc2f858eaeaa1acf4bfb6a8ddf08943cf7636cea95d131e09e71579d07c189724eef62f9c94cbbfc4766403d3b5fdfb07ac0969006012806c1ceda3a4e99ec72eb43d2e69babdf311760b775473598b45e7dd623dbee17ddc0ba99a32be72c7254060174044b9e943283133e326eda4b06600a692f8a4db67fb3f560ee1ef572ee97e15024640c66370970e999bbe09e2c3d5c154245be4fa6023a3cb2561072b96797ee106ed99bdd4ea0f6f7d55106fd6ad15605c35e165d1ce0838056e74a66a0280abf186eeeb1148d83f5c8a178b9523754505a35082cb70c95e92d4b0907e89be23def17d608b0ebedf89df7bf134db2a882cc327353f33df031010372139f9335914eaa548b63cc9cecd3d1eea88f9eb1d1dfbe28025b41a92554701992f6aca9ee6d3fb398eb36d95636fc72be095d731ff2f0d7a53c5bbe190fdd72692031a5147f61b8e1b1717207559ef397ac4e2901f30bbb8d76f341f263fb72b181452db6a7feedaa53d0db3596fbcb8dc600d2581d6d3d3783296c14acfe72f340a6db51d18c468eb97ced177958b7143b8ca652917073ed5d30a64ba2f130d0cb06a62998d8b015862f6064aaca062cc3b84cbb1e1b499500d6138c4cc42a7551534f74cabe3b68fea2cbdc6035cd671e475803a88a42c6991ba27ac30e72c7482b003febe8be6db0fe0964a949a18639c0dd30b0061b5dfd7bc6b2ce34726748981a30500603dc04b2ca64fa91ef4fdfea170aff48507ec9d63ca811a45c4d2013af2cc2adb0fc7d234d3bc48bd7b4b823401b62db51b6d401e742711d72f11224f2a0e7468faafbcd1a10301ec7e68785265ed6e928dde68ad05e6e617214e0907d854a92fb476493e5ae75706284fe793c7b9abcbd16b4daa8c0a68369be6b1da8a8c4b343d5acc7116b456aeac5f35b2cbf9e3477f6cab9c3b6bf49728ac76725fe392dca164797b176531d5b889838e32c49d3b1cefd4e8494f15872298ada7fa5fcf547988b8e6d6351820b7b390fc0ed1b7caafcfc7d342d1df5727ae55b194d6a130162279ddce9befd0dc192a51c58dc73a83288e758e573b0723f9138905a2eb44c6b9933354934167d9ac693be5a0b3df0d48bd45030e24c720b45a1a2ac964fe819917ffa70437f710d6bd69dbd8d90da5df5f1b00f5310724b17db433d3b9ae113d4e319514cdb25298e032f288bf582f6b79dcb68f5d34be9178a6617dd548239c54f04450c1b7cd74ff97a2e88afc9b2fe4c6b2ed60a43dc982b11088b60b0068e4b1fa0ba086ae7ec7bf8c3ad3606178a92245b48fa722e8158cf169ee94b1e939c2cd4714b8656214aa7fe295b1f0db7f01a5fef6503f33466706f9a54d2051062aca1670652cb48fca2df283eeb60116843a8f7367200369a00f2d78017a1c2a3ca94666c2e7530a26058867c725098dc40dd6f201e94c3aafdaae10302efb7d7a0c11617ce42d4d6e9e3e6911ea3c5fb4311ba5f1fe4fec9dc933341655dc8afa2695c888daafb64c02b8d16a3d8f1f1743e00f14092cb650800dcd075c7a1e6a6910f09b426991c1d6aa15e309d697b46d752047264e854f9b92e2d34ccc0d019d8db60bb497d3b749c91524bdb5dff84b617727250b51840308455ccedb2313b1650aaa415ffa2ec27c12010d24508d156f6ad720bdae52f4893ad6731ad5dd1e9365652efa148bc212be0531ef35e246f8258722572d80165c4b1e5f02563a344e058291d1e57d54de3edaf2c1da4f2b702d572741d3a5f982f538fba10bf0bbcad7cb283eec6375cc5a142b9033b17b987ac72a71b13b21a27fe343c7249339d82ecd270dbc7ebab0648fb08945a312f63b072ac3d16e5b7058433b624510873e9020583925e66656ea4f6264b6f6a6e129405841dbacb36e9a3ea99792137fbae02b8fcd55fc7bf3b1bee8375d4cc4ce2ed72fcff87f903770e53b5073eb56c0e1a3dd289b2881cc0e0c9ef73ca6b025a785561cb40d42018647e573fe5063b1a631166eef44393b1ff87f5ea5b2505aee7726c3ad8e0751ceb1c1102a829fe18376fe1599c936a58ed939ca7fc0cb9f467585e594a3022b341fc217af72f8cb0be6cdad983e9960806360087cd26069fd40db67d60b5e2483e0a9c479f3001efa93c87b7afa26ec293758029c79239c9a64a48d3fe60d6ead94389ca2255ded5580742caa566a29cba00697ebfd1f76d2472cde0788a881888070c408e613d5646632c0422ba8b6943c042c1e801e18a995342380f0c18639fa603fad98b0c1046881f6e420190ca7896e2874c727ec570035bda71cd0e4a8e9cc3aecc659edf03a474233d8a9bcdce920e2bceeda14b5a72c2f1b465c4b2bae891ab11601d158f1eca5abce00ea8b3f153b8ffe00532bc72ce45b0c118bbdfa24c19a8c3a13442768e3a9540d6950e4019a8332bee6a317251670ffab978afe466d12533eb1b2ebaf65a95301461fe969fdf6f0c9f8be572b377f7627fca97ab9c5f47410b4923504133a6660e4316fc2c6c591f1656664ce33b1b79304b9e7f56e0d5c5ce2080e57a4d3290dc435698c1fbfb39cbe2db4d8b0f4b814e265506531ee0830689139b13e003c5a691e54d0edd667c8fccd31d35112b7cb10bdafe1c512d8b7a5134c6e1113710f56a6f16953dd40913f2c072e4a80ca938d425a3cde7b9aa307064e383744a54830216e87264adbb894fe058f6e10ef940c8e599946053b29ef7543eca6323513a815a83a83ca57037ca130647aebed529d380fdaaeea06e1108846d39539674e36619e132acf6a4f51d75722b193221add90165e1aa332be800da81be7218dc5a698cebd9300c3e5cf89d53ed1a45ee087aea3c139d0d996a791c821b63b9b17ea71071f3e632f5e5bd9b722aa5cf085555e421d44889ac5ec1f8540caddd2618ef7bff8b758d7e48816e57adbc11ee335c908210b634d7482d2495733fe9bb3b89ceea8010c5e53214705b60d1827a106c0f483782d97d7ed52587e6117b0dba2af7fe8d6db8c564064c1a28820eacbf4f30dec793577eef3f906848904d6774f5c7c9550951e9e60b7e5d820394795257fea64a92cb79d266376b6ef1c600c425a57506f39a916588d3315cc2a8e65a6ee3952b15f139a8e90f3ee54cc9fb85af716ce4f400aa6af33c525fb0f55ed44dd14b13e1c8a0575c947092500bb40b54e45ad99a1a83ba4d4f3dec0ebaa780837b025f9db0c9c916101b7abdbd916a6e614585599aa24a30b86aa27456254d1928f63813d2c9bc96e7c747fe9aa4555e7417f1d41d18884f4a063373b6e34eaa805431fa315a10add6b34c5afd4c5b6f85454d36abe410eee42f9f628ea164ba636e0ebb7ed7ce788f0e8d7aa406fec43c9509ae0e4ea16a4972bd27c5e7eca65a66735d782a35834ce8e4114da1d47abad1aa5f25620b7ed672a761752a7d547ea36e896e2ed5d34a92937119eb2b2059cd86862a92bd5bc4489d91bf2e602896bb11ad46a98715c4e6448d363472b5c3448fdf393254124d72585d705d1c3379133f9f62ffe2095e0d977fecbc3673208eb061e3fa12fb205832313bb8503e0cbcdd45081f75738204b6551a07aa2f86dc49bf638a99e8334ab3bfe5dd54e9e408fb633c55372d6182245198b054196ba2ad28fb5528db1a0865ab1f6984e5db4a0c421df59ff4c6be6f792a115ca0d221bcf3f27a42e52d43efcbd12827e519f49a376f4ffcd59cfac80bd15e147b2f9c9d3dc84d9f816b59fa7ed6e6e4cad051e348df73177bdb64a368e3d7669f9da72d7ed5a445f851493b7214bad8650d1e341f39556c5661e3144e0a34ac6d57739f075edfb1af0072af66e76bbbd3b2f59192d7176364beec1d70a79e974c1a6ea34f4860ac403112c1ed6aeaac9f05ebf3138d34aed1094eff04b549a048f62f2f967386c9b96f5bebf9282577c11a551da3a48339433407bbb3f5df4f4a8a33253f5d325c3f0401c90aaba8cd0ea5f8736ba680f1d33cfdd8a2aa305acb831e315c361a86fbf372b4e2b89971613f1bc25074e39b4d1f3a0abfe2acb13309f345c6ab685b7653721e8359d1e2baf4ae14813b4e3a227a5f4a3def6fe7ca65f2aeef10aceafbd972e0005a451a7c3052e08a04c6d0514f3e7e54e060ffbd99642fe0fd7e7a259572c2b6f40596105c64f7355b1913bc37d8745daf4e68d42aafa875f6d0ecc5882ba965099162fb424304b7942da870d130a4b97b6c0dc3fc20b792a4936872cd6b1614f375e1c29b1429ad2193ef58b4a85a057f4578d4a6959f2b14c74d8f253ec7065a2f8e21efc2fffccc87b00eaa383e411f6901fa8278db6fa6a0e1ae6a0a392e840bcc4933dc5b693242e13089992d16c494bde0363a935f8da22b7ee972561fc50cff7de1a683c1ccba90d96f86aac76466e0cb0558331f224d991405722512f2ff8f9f460de7de53abd164e8bd886da57d5bc626328a65a24b49277a33085a0bee09695e4a513ce899d1bf92634db6d12a4a17230ff056b7a66f341f3ca6870e3745b48205077537f6d24a75328036dd0a783f2f27c4077dfdd5c3ba236773c221f7a9ca4ff8772566dfd871ba8569376d136ea244fee0c50c6d01142fd206ea3cfd63eb2b40657e7021225f8d020697aab95a3c21789caed87738a85e560be75bf2bf65ac3d7f343215b1f00ecd6ece839d009c5ace15ca033aabc572ae45c8c2c01c031e7a0fe5e8e8e620f745c898207dc5f307304ca5b92141507253d3a4c1c6b62f3b651e0aa5ca1d99294b40e377ce687ad7c4169e2cfd0846585a14ab6a451703268fa794325d001ec7804adc93ef1be1446f50bc9eaad7ab7241f65cf6a042935221b6a82fa76500a7c82729064ac269ec15b76014fd55c7721a3f9b48acfabb9b65e89ab4d358f1367d69bb051db5d4623695d444be2838370a00932d9fe8653db12bb50a8a55975bd69dd9a714e591cf804432ea87b06a265d4bf4b3272c8442c028e9cd384259a73777eca4b937fc769409db9221654b729d20663b7517677c314e9045e78e72fcf6998c08267692e804cecd117a8f1c727bbacc8b99880520700b0c6744b244e0c9b2a1c9b8300c59fea757a9f1781f56ff93e1d12c98e4b64d7677febea24df4517e5b48c3a0754d9770c9bba3fa2972525758859ba08b6552db038c75bfb2e170a244b9b88f73dcf83de76f2e38de204990d6aa381ce7de435515a79bf495046f92cdb2cfc1cdb46aa66e702deef65565f6d900099137cb942869d577a846420874ed931ac066f4f81bd46230c2e67291d8a8678921944774a44069c2628456b6091ee32920ec9fb3bf0708f1967f43e2cf2ccd0b755142ff659fd77050d477bb3b406952c467557e942a243cf6ff726b74fc939c901b3f92d1819da7a3970bda996bfabf8334735818675721f3ef72ce83555743ab97c53ab63264d64ed722270074bae43b401d05a4e9b4ffe09535e6bc30ebb8c374966fdb62012a2ff79078658fad90f1e2cb6c3c563c3b42bb72fc69024ef54439ebc346c39684002305249c8ca1388432f29955b4796266bf1e4c89ac2f64ef0387941e7422237783fe68d78be9b7440676f1467b5a6fde1a59dcd11b802695739a65603986258ff4980c147110621da3f210d4edf1609bba723441904bb47ca79e2291ad73d07ebc94cdd71d5ef3b09b44ab6bb2500c365a7280068949f72ca5e9d69d1d5d523e23e0ca758a779b7062dfb8ce8d2e7903b972986c2f008a47bf3a882965ec5d89bc2df8f5163544475857e674825605b13f727432ae470ec0c4173c4f36c8c3b5c46829842e9ba5d8bf6f34dc407359f363721694e333d3eb9a24ab218624b582f3428987022dfce70a6b4b169915463a0572267db40594966c96d4ba14eb8c7e18a24b78e6b04dbb65874a4e315e00470572a556f291b7e5495f9130222185ac92aff25dc65091a79aef537e957733c39a72699181fab4452ee419aadfd9b4a939970d0f5985f7ef7cea6efc4ecd4265f972512df8051698ecc69363bcc1d1a7e77a9db62f6bf365dc26ee40cc99dd8091729846874157a6aaabaefcc43bee6fff09734e24479165a1daaef603bde4cd5572f3a17914f3cfc253a14571cf27a883874d001c70611525631adf0afddc81363e229216a685eb936c182dd4b20ca2f361d12a4661635d1305a55e840877fcd158bd7b2b6bf78626fe9b3dea42ba464fa8f4a43715c512a2e39f72dcd69c1f5c7200f2bbe67928dd3932bdfeada35fd7bbb80fe41fcba9b074383d4c0989c97c72c2a7e5d37805ba9c326fd7a033e744100c9905b364ff8a86f1ea1f7e7c42f772b2fa5a1102359de32db2031f9148cc7fc32fd19ada004bf0116c665e3ab1115d1a65063df396b1d77e21b6e721bfe4c6ee9679a61b522c80d67955dade4bd7725bdce69b8d24758b3a9b4c9201dad196b57296abb29cfaaf34485fa1c12b7969850813ea19d14ae1cca6f894c838d3038680ff78f2986b6b17206f39a552d17292c40ba879e511dbe466b4920083b5dd3ecee967878be930871139937663f61a6e4d9831feb0565692fc9dd8b5abaf3db20d6bf087c8dd8e58b054094c137a004ffdbef218947ccce5ac106810a5008d76284b59dd729e7460e759b1963723722ff1b47e288d9c67531e5e9d9ce0eda9820b6122fb09948826410cfa0d22e3729b700b4db3f6da3c994de573315a45f0285ecfe164d8442821abd3ca12471d72ca3e8058333fb70be2948fae9befbcccab4ad3e2fb3b99fc832aabce9a67ef72ea892873a6757fe37e74e64f91e4c0f11721f8b295f5ee0b44ef0b47bee6614153ad39c9d38a1df2af2fb51b7837757ead7bb2b9ddf959fc8fba6e07f8a0bf724a52e3cc6f4366652f0ec1c3753108ae6acf9c7fecdb441e3b01ea376ed2dc6bb707f85ea04986fc90dea4d57d3da1d7d159439c43dbcee383c6d99206c5725e5415d548332226472741056dba769a865eb95822a24c79e36f33e924406b96720e2b469eb556f28629b0f03c7eea5e03296159e6f0730be1bf534448e71e6d72ce06a6f0f30b279318a3edc80e594713feb504127920ef9de64127a8a2623271b0b3f4b1cf20a79e620fd82da716f4de6be46f76a4dd592b18bde8631428f572d0a598b3e168208adb94bf51593c9902d43cbbf5f179f0d0b3dfdbe220807b082141902b2c399b95172bbccb6ecfde5a86e01e6f1eed272c75b675f810b88b72f56f4dadd8d900fbc322f603ac1ed52ccb824ae96338cadef4a6cf980bbcbc059675ae1f1ec3a869081b4d0d21def9cd1b0f7d22f901a1bd4fabc85a70b94b7229ccd17fbf84f858c69379c270df7dd4ebc49e29909bab97ebbe52d42a0d2f070319c92530f3265458ce399abeec5e1941834f4386784887be2b35055b949d7208a2871ec0f31177bc4c255d25b1a2303d01055f8785fcea1209a3046af5c5725fcf2e6462da7cdf83427bb45ea994ec55b53ad02472387a99bc8500b51b72725f8576373f92aa81472f915ba89d7531b202889bbab57bbc655e3ad9c0350e3a075de14c7d6b671024723a1159ce5c962bfdfffec58136a68a070985f87dc209b4755fdfef06d76546686d7b89d85c5fe1936c57e54bdd272f7a42981e802e727368feb41051e48790e0f3da5500a4138392c5acd2fc0ec3c73bfaa6f6f2927230ac48e7f3d8773ca338bf8a9c0d997b1071a3eba23d5bb092fc8fa2368d3272e1be0e886d1b3c95ecaeb44bb1a6afe9464a805c0dc8ac0a5fa170f09dfa2154b80b07093016ce40785092a36ee6ee74862c227faf3f85f0fbca4cad7414ba04f03c16b6325b4842e308c5b1b18852fe8964804758a945daf7c7e8545ae29c72d1b6d015b8ef38d9bd88fa43725e19f06960e27a18531ad028a63b896ebbda20fc9a06a3aa43a0ac2b018e7395e5608b88cfe357fca746838513120adc03d263bd7dcef941b3fd8aa7f757aa799c55ad5fd31c1c3d97516fbee0ddf9cd03451162744bd18b6f155c912863602003af96600d0620ccd951d9eb10632d821eaa72f49a68a878f3c949976b00dea3e8b20917a6b2e856eee4ae0f0f57ab3112cb50761c1ba7d56ab3c2dedf9c941975aab7ecaead89dcbd907f412b5fdb0a7f9a729f0e175c293845a1d63f4048440f1133368850bad5e160b4a827fda2c298f204c27b290e284af8837cc66c794db221fa9b4e59a28cbf9202d704bccdbf221f4c5fefe8f0e0c462926a0400789449e425a1f21d7180a487c8b01c82ddb660a4359d5dfc9f53fcd6be462c8b298968643b944072a8ee299fb9ec6f7fd615806e6e9505f0e6f66e19e8e0064f836096d82aab3bf57bca3555f04907fcc1de597157827112fa3ae6cc3a0ab1e7ddd8235f3892496a596aa1b98826ad91b345459d70f959fba3de3ce29ae187a7016b92c8f3a6fbe2e6295f634c91eb69ac681a2472f44cb340d38c201ff03b96d3f43ce0c61e75e95032c2c1094c169f00e50c6a6b421a56120e687302b828396faf9cc868f3027e92f3448574189348909a6b4a723a10c49ce64ecd660cbbdb54d76a55519ce762243f626de1d390b18b5a0ae272e862eb9be3e1eb161f3d84c6fb0f641f95d1ba8668bc78394262d006bc1b257291be0669aba497ece5dab749f68b642c83d1ed765d5e45385fdb8effed84757251eeea5eac8648fd8a97d2a9d9a63c6a6bc708b65a390dbeb2a33cc41779f721af23634b91b89faa49853cf32a1beba0078821361c8c2c9c4d305cddb91aff67e8f120d4258733d95eeffb778208ea08f4c9b0893ed1166d6a4daea561a28472127635a8afcf28037dca162353c4d325c22f4dcc30b28ae90e84d884d1817d7224c0ee05bc638d54b05a3024e6244a6b5f94e7783f1104e32a845a43df4f7f32d2cfa716d1cc4bf726cdf80c6e0e164dd2de202cbb527762d6dcf6d2c0ff722eb201e83a49fc68e283bb76c6d5c43903d1b8a78fc17fe6eb766119e722762636410928e07cde3c60f17c6829ae435184e8f34c8ac414163fba05dcf0bffad5691590128fbcc3a00f7a183b5e031e093b6b37571a1decb68ae334c2d65daa850ba296110f7f774d620ebe9248ee90b3b2332459dc80bd8f2dca2862b5344fd863a931c0bc8d6d4c2d32d193b918c7f247b37642c820a505bbdae63f4cd1315e6edd507a746b91d14430e4a0a3c167abb7ebd71f3a015602b27c3be51efb8cf93be0f87a83be40eb861d5a37185c45d97e4a09d703d02e30341d975f101382e0727f9c0ef874b41e2d58a5238a36b0d37f63bfff63abcbf4ecee8e7fe3019eb8401ca5cddf8c8e09d898209a39d8e61a309939630169b32dc14e4a6f6a5e20dc72bce71bbb0a9b520106f88ad586399f39400ee6e608d215562c487e708a1b0a41da933941d31dbe70d6393ed9040964ff8d943ec0df6a524d771f7c8d471a6a72d4b29fcbe1ff1070b285f214e477f2c58072516a3a0bf60a2fb4eaf79eb06e722dc1d43ecb8271e91d76fff745b96404c3bea176d0b43870fe350b22e2b17972f8dc5a76305d66508809336d415312dea502791f367bd7ddcd0ea8910d3c7f6cf2b4c53a850aa142f9fbf22a79be43fb0ab014a8d6ba7005e959a81e1f02bf726dfc7fb85d43448405a2432acdc42e416a65a35c8a16c56fb107ec2604873a3f3a28295aef873fbe24c80e79c38211814245f25b0a4b47f91b35c5dc40aaea7289a53ab3d35ffa3f55dfd70a8203a11857bef424094952d26fd364346388da3071457eae0cdf977f79b5bbf9cc3d0db63f6c509d90a81b94f1a67ff1d9d98572279252b801ba9829e80e3aa8ed2bbdb3a9f295dd97998c4c3da96b9a537c7172f84a1d1852a2058b8f01bd5a15fc6d33b8c6ede0e33180cd16dd1711011d8f4d141b656dc279dc9dc88a991bd307895dc856328953820c4d63a0c93ca8ebe1723ef723456172cac55e147391af19b2a601aad86db34782d46054bac591ad97621e83b8472dd975e40081027e7f83bd98e8d0c017e03a3b9f818e7434ef55135ae71477a1ac78a91f851071baacb175b82e2239c25a79da625e4a76f04225ae723991f78d679fe45318de8d3227f36e553e928fa6ae6a897df84e310b693fbc0039687abc8e1f46d35dd5937a317c434abec126352089b916cd64ed8d99728c7252f44c8bb062e422c8b00d15c1023079e0bbb6e87561e0f4af83bfbf6013383014bf608bbfe3f740b8390dcb62deba134d73173e3578848dabc5ffcdc6002172d95d3ee452b11af3fe0e78b52d82150e84043764529ba2fa03a0e93d08235b72f03857c3a9eb22267ffcc6cca49f49d46243e6a155561f408ba6f214be2f5572beb17d68b20e0f8dc2da19a5a8526087970a147999e99dbc34681f0ada8cd4728e2699e964088b16b837a78b29131ddf9017a42bc24077babf9984c03af06272198812b2ba6e4efcdaa557c3058edd3ee041bbb7f2141ae05f73105b0546b372c6213a9fa593cf9bea2706d092824dcdeac11f9d23c3b4e5422e5679ff5c2072ffc7fddcf2fcaeefd2f0738029043718c098ebd1aaf9727b21c5e38784f7d25c6d33fd7d966c690620cf676e57bd2ee37ffdfb9bf391a616d755a6bdea920772997d1c879bc611898e5207b70ef7d22b151ce5a379f13fe49788e5480367fa3af5dd391e50cc6983eca45c11b030a6e4f03d1417f0d551adddea63d61bf912725a7d35719bf7b0edaaf92e80e65e035ae50f1d7a7c28541ad0a1b7f4a9b64b724ca323e91d4eb673c617c3391861aeb5f6303ee86bd2b42479dde16a1c47df729eb4b22b087cfaa1bb310b8c681d69845efc50e066e5e98ee2645d26d72b2972db1981d17b6e8febf58fc471d46462063864eca9666cf126cfa3ac3c091c3e5eeb8199458f303852aafffec95b1fbd3d5bcc1b3632fd05f3fd8dbcc44a566c14285af3dfde8560404d4178d0adc5dc1576c6411a23f585e3c39f563a7636000fc4052878db562df145c9d2f41168e21ed5591fbd2ddadd4337376fc46dfd8327a7b64c0cd0795883bb739a59d2afea4ff1d189242164d25cfbdaca878a67b572090a760ab0cff7adfb1d293027b1539d891681624b8b2d8eb6a003d8dba6bd25b48ce53f114602357a366fe19102bbcb28ffba7a85de6087808701bf2a310e2e2a460d618896cda777fb067e8c733e8d9ff1f888a0534df3cb161475188062722fcb7e1fd27f041eead3299e8b0b0fdb3fceace3811f24c9ab6a7f3c9d89d90daec694492cb3f5aafbd70a5bd8d1622b338f20349fcbb7a40c284feee4feb272cbaafd7c2e8ccaee0e5e6dec1c2b55c0f49c72db370e7aa289a0184435458a72e4f1032e0f8ac247075cb44e0c17d640ed2b6a612c16c39ee5fb159f1bf5fc72263b00fb7c8958524e4eacad8806cf7a09d9ae868b61ba95869557b7f48aa80f7ec7d72d184ba6a8c2f378e31ebe2599ea707769c2ec9d84629a6da9c1046c012454436679a888eb24cad806b720f012e1735710ff48c5c131e21b2decc6be27ac0a17e010586407efe120b7ebd66cbe486a0ffa506fb15150c474bcbcd4c172942bb643f60434b80a3f6e4ff900ac44a0b11f5647e8d95628c59068cf8fff524183f15eb99810e6dd3e6f13dba213cb2703b7f0131bef7cf75164c59eceb1277532227169114559a031b57adba788adf2139d5c33102d36831c6510a77e5c72f5d6f02c8b600ec866ba1a57c509235c177b9fd91f7a147e3c451331b1c2c2724f262f93790db580303f9cc07bcd16857db221212b2fc5301df5d0aa338d7b72fd1c8f753efc8da5d5a2aff2042d9185de8099a51eb1ba2a780b2e04dfeafb32deb66e9c5f81b998039fd815e2462175976ffd59a8aa9200bf1d0878fa7f9e3e8ec1bb6d7f5786644db73104af296c5795201a307134004a90b44bfbafbd1228f92e9b366b98fdfda1183ba7cfe300daea8a858352fa5559069d0129e896de7282f1ed090bf1a8ab75f2f4082e7cc3c743602d18323f3563df1886bf7fabaa273c686e2c8ee77e7a3ccdc1bae6ef376f74125ddc001e0ad55659b664059a65729558a1853bc09d200ef41cc9086ab87c02008695c43c972d68be385d247d5f72e47785a25314e46b8a8d1595eba4267f90e16b97d9d292005442cade29d8c75d34d93e1138280d443617092432bd060628c0e67464f59d5c87544f51e760f00b100df3ca1ff2b88878416ee21d981d376351af9bb05633ce3c6f64d7acda2041ce564ac1df2a0cca16ee9c2664d3134050b692c7f8c5712fb04b70d9e6a71f20c81130de76369b79e0d98cef5197c54e329eb1c346e1bcca281460a3469e5c72884bdcefc8e16b4c8a0a97b6eea1e9776e62083e4b56523e6aa069f3f978a372df20e6f3eab1737ea647855b79076e784e3946c9493be8c85cd6fe2e64a250720256f295e8aee61805b43b547c0f14804e0aa11ad78254d42bc54d8e1a92e9722bb3b0822cf3165329e34d60d9ac2af2490cbe4367d619f44aebe64e2bc52831a52db28d52932131b6abc5c8714ce0c7d1137a494852fafe3f458f4c7499245d62135db829a653e6dae9823311d382ebabda1dff5cf5948bc960360db7a787248de3d2ca26a67dfa062b93d437c2f5fa71c688a51375b27237308180d987f372a19896e6dbe3912455114dd108435197c378237b36a5a0a6175bb0023408ad72f4a9510e735bed5ce1320e6b705ab5d9306ecd9a935e62dad769910b2a74a4720d2b9da7ace4f8fd188c7032c6f2b9f1b50c3a697ec6192fbe98716569748a6bf3e914722f58dddfd4a820d12fa9ef85edb18d074163f342f95b6fb806b58872b65d67214889284806411cd34fb11d1dc0991afc46b5f5307666f35432774072edf56421b14a0155403fda89b6d2fd903268dec22904b2f8dab6802bab0588725dc3ec248d97e6277d8d6989ec1204723500c4240f63ba45f258c95cb236b97268c5aac952447959209f40aff68b14c152e34ffffc6c25f99da57901191bf95a74bbb067fb356ffefcbf7d27bfedd983aac6790726f9a5bd6ccb495cb42f86722067a2744c556102d98838734742935ed55b8fd03a0485d02b293227b8fc4672a9a2710b699493f566d85f16a4ee8654cb626c386ff185ca00e51cd8e985f363aec3dca392e6bb4116742fb7b1a3fa7763a3eeaefcf6612b53d09edfc98455721d803498e3243843fbb87c62642519745f3688f1e1821cedf2b589ac2a5d2e6866e32de731582ecef5f2ca83345e4e68447fedf253c1759e70af456f5dacb672bf7af369061f65dbdf550d6f41e0c32e2c6a466bb62daa7dabf6581505c3ac7249680e1d4d78de4c527b510e8053c43c4b991c776d880fd1833df883e05cb372c7e61af2262a1403cc8ee8708218f22219e996c4cb237e2a3a31e13b9d92f872d230b901db4521982ec892a31075726664b7d89431014f29dc96dbffab16c67215ea9ffd1715456839436148aa1b5166a2ce7d5a5389d3027c071ac9b355147214ed06ae1d57b58843303de750e1f831d006b07b9ee96147bbe59d56c4d8187246761e999ca61e655807a6990999066a2165f5265abd9bde8a8a719fd02f3c7252c24539e7a934a927045f3cd70837e2e86ebcec7be959fef06a0f3279f5ef0e03cbe36707cc3679fdfc024c02ee210a4039a952714c9275ade176ab91da4d72d42871852a1034d67fc7ad68ee3c7095ca72cc0da217bed53306965cfb1fa9310a989a4720fd7934be7999020d41b213e2f125cb69dd28064ea4a1d0fc9b624b57a21641f7d643b2390e73486fcda1c6adc0f387d74b3c5c80323d7f116f2f72aa76efec1e12167249840e5a988521fa733f45b9f1f029736f13507c34d1927221cc96302779a3c3c726b7691625be2f5fc58c1834c72695b9f7e89883e9d67221dbd359108d0f2717a0bc6f85c1702025f2c4450716bbb7cd64fc123b02e641443d4885e84a635faae0c304165c32268ca91d10a49f46eedc807c45dffedb729915056cfd0c7257b531d8bc83e7b320815b7ba5633d27181f1ea4f6bd321b7264caa1110321632d48ddab5f716d8486e4da48257fc37b4b88568a6241d86d46d45c19e032647e76f30b62442357a4b05c9161f6a8591d6e4a74e4f7f17b95684960f7dabec9d7bb3eeb71f2ff96d05204c5b88d9b0d9d2ceee61a061184662516912282c650e8c35723aa4d89a0b44d4063bffddb50e87d1966fc05ae679c3409d8279cd9411364f8bc3313ccf40b8231cd290fba7c88342f945f77cf0151726441c58fd8105cb8ad9761da8a53af5ac27be88936cbee1e2fe3f8150455566aa6e6ab7b1c568f686ce0babbfc54e49fed8766c4e0fba7d79831921ab0b03b7224cf509baaa9d780cca1ab68e91312fcd2f6af778ed9040d6ee144463b899a63327c3fd4d577d771561f195b120f4eb4434da9d458879736f5fdca40538c0214115947a09cc2b00501841a576ac84e5eb71c3793ec0f7c9d95a6627d5a159372588ae6c46c58152220f6e0b4b6ea00980d34132e768e2b5ac306dbc437c355720839d2fdb49a828e1def70dd4246a8eb65f9227f404358fe0abe0effe7cda8635c919f3f4476b0c61be50eea8c2e8b7c30d4dbecc30687df93ee08642f0d607207725e0d59bc3bffdc8bd715047add1eedeaacfc79707ba83d8326783d933b72303642a3af52cdf7a574dac13f07949a6456cbfbfbc4db9e4f39f0b9913d7f6cf5ed633a6fb60c1d14775101232a6f61057de905f725cf7df2665b53012c6172ef507a6e9cb21947d48a908568b56f10abd27eaf1ff846eb7ad05f853f8f9e59e82b865e62d350b02fbfff52dc8679e856efe8f291fe874852a5d9717c9efc01ab17ea8eb5d10e8987813bb48cdcd8aa1e1ca44ad6059409b0156c66b425ab0f141c050a8c24c19f5ba98f90a22a96aa266c74a26a55ef2f5136e58573671e72be8414ea329eb71d8544af044c1c89fe8d2878588251433de99f2821359f806e7b68454a4eaf6ca227069fa88307e5a7a130defb1b1817ef69638b3c6ab34c47c47a060872377bf94e7e94acbd57a124712177a6060c51b05bde14434c0a7e6688704e63cc6a8714e6127b7032a8e4ddec84a8cbafdbf610023e2324ea504c7295227f6b390a1e460a69af7ca2631dd3c2ad38214194c210eed928faec0cd31e43b252f254cb05847daaf66ce38aa524baa613042734d10e7bb13a34bda1841c97d05b0fc8a2497d5abcb28e83d1bc074cfb434f7a37bdfb9ad4032a1d483c2e8112292cf030f2158b2d615297cc98f8806ebdd46ce2ceee19947a4b147b2b2066b3b47f8e63fabd8c73193fc77e0b0e9f1d14e807e2d3c89d5ada0610ddc2161a63f7dcb5bd83a396aedc64d8be3475fc41472511f9f234ea0bdfbb1c154e7276cba627d9337e45bcf453d77167461a7430ba8dc1f680a9e84377bbd827831c57f5ecbeaa13917182f09fe83c64f4f3a84ab8686752c3cae190f8f0ef64230e92215b9ae8527045e329f89cd7276606ef3035eaaaf01412f52e85697a111462362448291cf8701caae52693af551139a9a831601340e5202e05150b09d5c37202952aa656697ce2b72f07625861ce7a300298622df29ac8dfdf83e71a8bcf241eda292df5e8adfcbf7ca54ccf2d4bb670cc09ccab5f984e614264fadbd10072fa27fdb092e98987e388110b53ac6f538f8ac4cee213917253bebd6af2726772c825cbf3635114e3a8e591f5a0e1d02ce8babb3d3337b0723d1c1bde79bc305f0e3a50c137bea8f3fd7a6c17eda287e1e04e43050085c2b0a5684a8282fd7a72fb90fc97535478b9073cef8bed8449d2fa18036d4b1f9c6e41c9bd49cef11e72d0f335eacd762347d285875091451192329ef586d398b5b3b045a5d8eb97607288b9da6bbd2b06b7a898a96948d048611ff058abbb7b820b76ee81e4ab856e72bbcc1adaa9f862c4bbac0e7a176a47ed967dc733e2db7437f6f5a5cbb0470772bf6c611209a40a92ed0e086624dfd2f1666d54965ad0b61aad6142b2468e3e4f20a074f641538d74bd5a4ecfaffd3fce7df438bfb797bb94e25a029f399b06727600ec2362c2f8e1d5d5c1f0c74aac8bd46a138cd4df21743c79cc64c7de2d72e8d4b580b1367c3d759c123daa9caf77e2d8f1cf9dcb250f6e4af1652b6e5e36396d3d5db01f5f476c1318d7a97e5b591e4cd709cb412e13f241d353a795aa1f73893d53d9f7ad538544021b57189e33002d0ec54d37f57c716ed83d4cd5317293257517799ad152b42da428a6dbbee5a34442330143fc887c02b0e997901c7229c892f960d7d4a1764abea7927bf72a808c3774d263bd67664e9b139902987227343ba6611fccc82128127c91689e953ee6be1629737da5f1ddabdd448dcf7264c18eb95d711d4d4f71b6daeb765ecce9c60ba28b29f44f74e600ec1d52092598d43d2724d04a221c7ca0159104383da2de746a7006023b537260490fb0c672c06f872192eb4ed18cb93025b9a11fc23d907f7cafb9a7eeb9c1215b767feb33dbf23278b9aaa0025072151bccc1b84f6a4254818b8455709811d89ac5fb4e522cdc0e47d11d575cf3875ee6e0a1d837915380ebf1b7b8ba48df6fdac58d9772c28fd63193e4db5e0b7136512877137f83051a1f8f3e9ae07389000053ecc2724ceab3387cfaeb9437e461631c7aec2583d90c63e0b5b33531e0e32f39865670b63e0a670c34a1dcdcc052886b494fcec50931cc433049d2d282c64e195921728def7e60b1bb38312fcc0fa85e1b9e50ede1444713188e840d72ef110db7b6727c8a783611385c2cfd65c4769818ad877a50c75f06eb3f7a7b444a04f946177214d6eb9026e3f326154514145c1e7ed4ed31ce3ed9b2fde9b7c8675196f90e72eb453a764d01977c602d4d0dd3970214b59b48f4bd18057d867065b39da192725a7aca010fcce4c27b4bf931a7ed000930a0c57a3abf65687005d86620e40c72716b2fc54d367514df9f88159dcd302d2b41228ec0f71ad659ab56c65d1f69723318a1c9df0e27e8b649fd5bc7701e94f54438528e56cedeef2471f1c1b5f10a540a2b84007150f01788ca78ecbd9bddbd82145197b62c010198981de2f100725aeb480e6e0a6a863f0e495896a3220f4fb5b0e4de9861cdd93786920c9e25328853777047f8b17db92e432941efc55818f542b5974d1ced27b69e0c40af55728c1f20a798fe2f072669e90d48b9601f5784340d3d88aabd0568ce44977eaa4f31381ee09ce3ebfe226e7009be19905da2c42faff8b3c438d792a487c06981729feac8809c1e04b82dde68869b53ec52c10019f2127c3533b8a98775ebc2eb72d8e82de6e5b3c29632318469a89bd59f871c164f09f936f91528097c902ab448df926b0f5be65a56152b38ef3ac6f13d5bbe99a8d508987ab8996519272c022fc30b05dc128b0d78b48615edd05dfc599f575806395c8ff49bf7f55fc9c6927235d7a447504a80058b350df70a8f5c11b290f66008330b69075869a7488d1f002c9dee70251037aa899b36cdf89bfa92549169a93b1be2da50b10961f2eeb972b138d9ff26a10fd2a2ffda4a3ab34c55633e5243bf5af0127d45fa8459aa1b7231df22105ae3d57814372069f6a080218e1f5bb953028631782ec54e48f774727adcb84178e9b4e114d4d725bb8bcda7152d04d1f93c86179143a4c22e9e2a7206f2f05f54a1eb64f1682251e9ccd4087fd08fc2918462469a30c631366049727592c494e5bcdb21245cddf7de9b0a0b2fa7451080e7de9724a4ded677078b7296309c545901efd3d878f3533f8713869960b140a2feba1ae5e9d0db5378537209cc17516fa2b881afc960ba79cf0d21c591be9ce3fcb43c429c99a35068db72b251252b0b377144822e7b43bc99f44c6cadd501eda9b7de1b93a72cc6b682729b666e8f817cf16bd023719d42ce387380ac87d2362c4f330e4393d4e8ace372d93f0f6f3a60b204844160b33aa064551203d17d52eb759676b66b4c9ac5a272ffd7ba87a49293094b706c77b137fbb39bde5f51513d8fe98267b96aff8d011123f72b7871743f690ebad75d668a80f8a8903b9ece9eaa7f3f51b4f53c6e505e3a4a29ea6f959a90e8d2b35525627d75066bb5cb804273e2f11c9b396e979e53cb3a1ecbdf48bac967d5bd13c8f519f0fa71bf52921256aae09feb50f66dd772bb147844f187acba7500bd53340cc37248e98b95fff5a04f1797a9f2a2537072bb220695f4ff8d58afb7467960e8cd9a6b2e8c164e624129ce574f42d283c072813d284fee66ed9967ec06d266d24861416112491be50207d144d7ec67ecfd728db4c18d85292c6cb1bd3c77a39b5c81e2fbc2e534f43ccad2396b9109365972a9807c78a0213ebc085081ec358652a4ffe0e6f92cd03429a9127fcc8c2fc4728317122ec30d5977a989b93bcade56f9bb8ff3900cbd1fb20a09f3d2209e353c0ffa335064d866ffc23e5d7e696bcdc34fd77607d42b3f93b714fc7882ee776f736fdc8b66be03331ba4a872bcdfcff0a0cc53822f497dd3509e38a3d340f37285206ef2d8de9ed26d2e7e818766bdd0176f62aac9bf2f802939425ed7775c72f0197c9752f8bc6620a85801c895e3304408f87a2ba43ef14513a3b98f1adb4ccdb4c1021f5e2c46c3d53b32e3e44fa27293f885d6ceae98b993be05968de972d0edcaededeb1b57bcdf0fd1f1a20679ffe668a7db111062540b306e84ec0f65e54c7c649a4c716b6b9e522107f37185177d64b8a5bb172e6b8a06a3779d187233b8369a2a6102b1438305922f9c4888a85b7ed79794d89e600c4e62d64deb0c8d6a467db1aa0dd3405841d6980dbc98ea33ae8ef2d15e4513e730c1faccb87210b3be463b1b07a6ea2b88f7de107532f8a4b3b6ecd11b03a935c5c410a58d7214b8c331ea7b54684a800a934772ec45be5fb726c094c85536f7c15cf3042e12a3719cb25767f76ca4ea7d5c7db9c427036e6848055459b56fa6ef021de78b518b68c634ca0769799a9dcf3f327d43569523dff23001b36229716a7678b08072d51473ef5a3c0646d473b28d4b81bb946f2ca8f8e1ea353793eb59690d169572a0c012ced19cd4bca26e241f4a1a4c097fa9a16e503851c90471b64d49d77472270793d1188a1be316baeed5d412f86f925a8248e3540c527a9619e06061eb3ecb63343eb7f6b28a41091e6178220ed2f981b6509dbce58aaf6ba6d6159b31724c85e2740a563e980c657e46bc76b982f73e9d8dd2c5f34bc851829c8cbb3372706b37c14526cf4300482b3aaf8bc613c3bbe805285e952295e4fc143a802872943ff2a089f053014dbfb0656360157b7444f6b77815708276c1a365e69eba03a917a35fe1e85c24d1b16c2aaa52288107286852863109d34abab3e64b047c4f14d0521c0d87d75d40d58b10867a156060c14b9299c672a39187116312ae02019cb580274d54df6288c34ce38350fa5bde109bb3c213441e15ad4ab6aa736445aa337eeadf4b1e9dde3087b37be6257582babe33ffe1b1fff6cca05cf1f9ae72b2a78299851476697f4f56fe4e36da8685783dc954c9f001a56f716925def12df41935248c72b356a0f05c28f89c61a4a66995d04b1001c7a48c0a3e3258a76d63e13a5ce522870af41c72d7ba4c639e5821d5e20779202e4051ab08b55c3172ef7b7d73a9053b494eced42de77ae6ca1e581f8f3d7a52902239082173c9236cc56646923d558e73f7ade82516d90be6cae69b27676d3c935bd850a13632aa72a3b621c5111cec897f7a6ffcb7dde04bd1329b3a127167378c2b80b0830c5a72f9592652cc826a6b709798a6c2ce3f288d07de6c8ec813f657cbaf933c1a3b7248679e2d6c9ad5b8b4bb9a85168553078bcb4b7eb0ba8a7c4a617ef6c9f74072b7dbab0cbb6668e62048fd6f83ad87fa803a8d8935b3ca323f9a7ad32995f360b0e269207e3124653c4ca6400c993d4420622eccbec416e158b3512255fea47253a8fc56f7dbedd731a3b29e06fd307a66bee4bde9a51d10d4436f7404aa58475685a94640a110c547439d0ce7afed7d3f434bff9a87eef59d1297117b9d33723670f86ff9d508897a89c6c861184f3ebf8ea163581ae7465be28ae9176a5e4ec4a426d644a38b995b3c96acdca4c7d9a6387edd4df4c251fac85102f62a1d72511dd1582ef0a095db2491761e2d1b152ebf8ccab442f4896165a4cec2cada72badd3824e9851a61c94b153a4e76d8351f1fe90680043c752bbf2153495c3172ccdde16310ebffd7b237bb59fc779daee97b3e20540133a4aa7384e3618b6e4912e663e6805e58364e1f3a420e2640f297ce388815f06f0eaa3e7edb5b6f3c72803b8f97d426a09a5762bb64b21f4540cfc2613f875080bcf113e193b2339072166b88250b866edf632bed75d7e3e4c0c32768fbd6646e2bba1d1f18923586727fa5f29405aef9e6a18416a17d4c3a6fd5bc9ee19a4a220f6c8803ee93901f22d5e6fa378d02c8aaa4b75b333051000bec6706bda5795e43505339326e7eb63fc833540c75c2606d4768bbd480b3f1971159e1114cabe632a183d66c5626f103667929b055b9320924e748cdd97b9c21d5a7ecb82cac8dbcaebf521681803d7259368a004f053a9ea380b412dc1acb24ccdd9d6c7dae2071eb59d00555af527220d2afdc1a04c58c311132dc6c2fa93a89c8687cb76c0d53e5659afeb2df3c39c3a79578c93d50b755967b879e1ec19f4ff86d1c438edd3b780e1e9b4f017c023e011c209511df601b7d379b74d819d5264680200a09ea8bbf6bd8b92c1c3e72706e3572de2ddd183f33a8299c1de72bf2769fa9a9836a913554072633b1a172b48dfb61d70419b07517cb6d8f3c7f42e2f808de61a6db1486cc88000b1a270d9807644876a53d9cbf558cf8ada377bae16b81138ae1344642e87801c333b802ea05ec2f9c6aad6b0c29fa1101841d8a68672e9e47632651d479bde033e549360b968436362503bd0468458d4548388ef515e1d62846a51f86ac532b649aa3572a08ddf9106a1ab4edfe3b43bf2f7d8d1f42e73671d2fe23293d48ce20cb6c663fa47c281ebb7bc199939b3eadf38cd1b88d4ab1ace13f314e7dee4be862e072238301bd3ffec1cdddec6caf1b165f2c6d5fe257dc2afa262376c1c39b8e5f2bb97c6e030df1c458dc7aded123c0143adcbe6e64bbab20669c7d8b9dbf93016ca16566eb4fef98101fd16576255c41244cf08063381af32a7ff4cb63cf4e2772e9d630a3ef93c578886548e80053946826186a252cacc11acafe2685f4ccbc72a133391ba64aa52724686d2d2e319268c8f5df11c25a6346a2e40ea891c81f3376c112f933b79f5a81f01c97729bbd05a0d6c315e73e8f1a36ead77cc53f3633c28a9af155cc4f5d4d12abcc1120f5589d99ffba30cec4174d5fed868299b872899325f84df0dcafde694e3b16b103f25e1a36afe2f793c3e5000f3c689c6f72d78eff552e5dca3cb6bc218d3f2fe2f3c7ef117ab10f69a655d951f4d5c5b65a0d225ba27326cf00252ffff19c0e13f60db447f43c57e408ba30f2ed8dce5b720f9e3184a053b841f23fe74b015f0906c641f7284965fff46dc6da23cf3ae131f39c406dfdeb690d207df3a82d68f673eef5aedb25563bcfb212bf16d9e30f06cf73c7b392068c9e335ec51e6fc0ea4c4a1cafaacb8a8fd22b0c2dd3d02e30722d47c80e00f2b4271a02d7ccd51d7082493a7dfae21b67cc1971df903969e672cc427f5afd8dcf4b232e223b325074d6c76c2c4262f9833831ee90b34765c755182a3d5cab9aad4a5a9d5b28e92bd2e5154d5506a74d17a2ec31dd5b3538a22f6f66efc15737508d097bb836abc1c598ba3b5a26f3406dab42ba9380feb50f3a17d8ca28fa4ce317642e6176c466842c134036d15e062a7e14d6f4293f1b2472dad48c7c09d5ca3220a305af1931d216fdf69495c28b34208e849753f41a4a72ff483015636778f1590422b783497539f619e37bb35b8af95a6d1151b1557d720d01ee690347d902b15c24337cd07362fc9175fc0e8af7d8d359507f239656063537b000b404832daacf9f52223411b7c5cd85e040e1983c1c20506b48ae82724c6cf329db983c215c055a0d79685d7825e1cee7a14002b57be819be2083167221599731ce1484378a080054b9744a8ecf9e16a56c803b76d0f1d9dc6e039a60c07dbe31a4761e33e8a41b4ee0677536cc5fc8c6ffabbcf58e7076ad82f2c34123b428bdb2f416e278d95474dac5049bc358614f05365d605162f371a6cb9972effe1104b2e87352af8a41805e0a227c556cdc2838d3187574d78bcf6e03fc729bfc0a800de7b915dae7a9f3d359536e631729f2e9454a35778a141d86661443f5b3bf4f402b6bd082fc83f897938a269795c80d4bfe342b46bedafe361bea725e99c8f2fa1d00c8a4e04a38edad9eab6267de459fd8635ce205bc92b2e488037d23559c007cc75be45e8cdab2c8a7d261a3ed32dbb47bd052466452d60d1c72b86379a3fe62051388567b339cff455a276e7d6ee5075af64bf527469a616049786070eef366f739e4787ac52429dea53a215362b0ffa72c94093df7f751a4000d3df81ea4114ae64f93011a12f52f8a876bd43ceddbc6304cd5d5d9a9360d48d17fbe8fc814b97ea1ddbbb4040bbafd486852760bd15c285206276c6f0764729ce8869d2403c188b4d42174a4e1061bbd10bdaa07082ee64fff0c5fdceddf72017c41bdfcd4f6249fec93b65ca7c16df5ae74b785702b1fced08b6275c2d3720f1869bd31760ce1070bcadba0d63e784d8392b50d58fe1623fb1f1168a51109fdda4f64fe875f1ae75e3cc847f38c5650d751be17c4d7ddf81dfa64909c9e08ace438acae3077aa42d17bb71f158579efd0cf95f9f7db79e3c73dcd85e27023c9f11a44e5d9d17f23b7db24e51cea9de52a571dc097d1d611bce41a94e66672054b00b76bdd9f794749de5d6234bd995800222aebf8272b60847bd4190bc852c12a3eec79cce9c1e5dcc61ac2b3b6102aaa261bd5c84152bbb132ea2e64fc564622f7792183b4fe11458488151def5b087d824f368a18802ee6223a2bda76596759423e20797e0c5d2442cdce175725cfd3363836f8e2271d6b3d0c4622c4726c42dc39f1565577bf99b8ed9f8a269d6c23e1b174bb5768795049d11e901d72f46a90f1faa4fdd1ac9229a6fc62a846cb407a173c643037f75776f8cc54e24e079728309cbcec6a2c2c94bc2db6f1b58a83e8e2eaf986a3b21c6ca14348df31d1f47911090f9a5cad687f1afd0300ad927b89799d0e2b5f621ecd74bf5d9645771da8eb42a6462914b2e2792ecc0358f7bd1dc4c9c12fb1ec87d5b834e30472e736470b3c2753f9f73bd2b4bbd2406faf19aecb0474869ec0966a4affc13572e99dc019a17f89cb5853f92fae0ac041829db1bff1901ae1949532d7247c3a5a29c6ac8307805f55f66febf28210f2f6196063f8e7d32fcbe4a23aab66043f5137d91844c7548a69c523db29c76f40a6e5ea71a7a26a7185cbd60670001c460aead27e4a11f0de74b6652ec0ccb079c459c53ad71d6f7a4fe786f7d99911b572dd7bc7429462ca01cfa5b331fa4af7e6ad787463d5fdf5406555d0f4321f7020d9847e1d9a4faa12eb32c08297668056cd20af424c6dae0b07b0e4bc24e1334cbffd3f11d948ef27ca33cadb3280c8364392394652a378371c3d129559f7b041af70b7cc30aa21aec0d6ce8bcc955f8887a952f6980622d4595f0c5a55e159723b4d6559bf6f98141741a8d707185ea416fb6bcc04a05d0a1847cf78d056183b428443df6a1b539bb9b1eaf0ea2a6dad5a4361e4fd024301703ad399f8f5227248f888828d0f9175298cfa2b265c69cb7b809d402ab11f3ed6212c24fccd2572c8e414a8993da435c641cc8027d2f9786353f15982dfd6cbc98fd18076885972f67c7e3ec28fdd232c0b34ae10ce126453a29f4d6f97696aa1c6945fd443bc72d8486291733e003d358841ae741efaab045f2e7b1c22789b40a3cf0c989b8c72feb645b5861ab9cd33c6fcf70ff05509b0d44fcb68bcddc7ac0895a4cd5e127286e586fa2599694c13f02c50dc3259a62b3a52592b942fc07a3ac31818292672294364f398958c6b313c769176c44fea9c42e982035442fe50ca479038a1bb53b2dab11df120b59ab23f5a20e3f90cb01553a92abe947da1190ef2b1046204029799f162c9e9b28957644897605d8b73b7eff73bbb875289c7d9d4b8d1b1856e30e0e1b1d4b070025f7ce9cabc613c6b49fd44f16f6120e71df433d0064d3572b24a2d020a4e92d5eb77461cb829a3abc3e58f53c36da273597b9670bf413172eb80bcdc1111b7d56751f25cf5164ffb65bc8a8aa4211a98c82199c486734f2632defae9840f38ffd9ddda0605b42c14d3807ed9dd4b764cdfea87e7024939727f34a6ae0d784b5c9b2fb92b76dc95c60c43894d80e876791b1f9aa70bb0c072557e41d7b878edbcd8d4ffb87347e6d3e30a4c2f8f3bfdb4a6563ab62f238a726fbdf2973cf8a8377500db30e37639417071e74476ed82894b87e30df398936804db3801975d70c6225b13774cbc1e265d39a23bdd39866cd1a4c99a4251c246f68fd10a005ec0f6a54d236ae592ff2d630ac0a481c639b853b488764d10474bd753f33ebf055e856b46c7c7201ed107409417bd4c2cd9c7493ce62444ea8f724cf5614d762566568ece39e03385d7046390b38e19e27b23cb5d8888b5bac2721afa2738bf86ee712bfce6e481c49acb29c50eb3da81f7ad389a1a07e68fc8727bad8552e022b4a645cd4725df5f27d6331f256b93208933afec74911ca1a372a8ddc668e756cdb026917a6b6672096f3a5ac5fc4bb9470183d8c3ff40f41155c8bdf1d1951a66052ee7853ace7accba79183922c3c3dd809eed4e44856aeb72eefb9bede73f747e5ab4ea0703cbb46977bfb2e7c896f9b1614a7bf569abde1382d3094640e49d17315283b177a8b1554af5199d74cdcd52155fc05acc535a7242350861273127357c52e4bb381782cd6e829451154c33ce5911e2bc6be00d72fc4875943def905d2142e276776d49b5d8566508af78494d1a47662f93949e42606d1d31041be81a8f52da476d2381033e1f856a23cbc22b6975d0a8906ad672dd273167eb101334a1cc47ab93c8b7db17479f509ae4cce4ea450c63a1ee3b7284629e8775afd2b2dbc68bd6167f33e2775091c0658ba8322067fad8fbac5272bfea75ad8218aece5025354fe9f72c8234ae116397ce080c281d387b288ac372db103cdff16da23fa15a2f1d737d2c9e429f2661ed54a4fed211f40d754cd27249e7950fbd3c34aa40d24c0b9bf5435524720c8c4235767243d5381b8c767872295e1f485f69174ddf1f81b8283081607d64c75ba3c5aaec52206a764de24e72fa1203ce8b9b271623c342acec6de5c66c965e8f9f6f1611ab608cdcca4ea451122f445c99fcce41eeda8f825ce895799fe7075ce78670ce11ad69ba98ff20729b4613884cad6d68e4c081241f5d7ce3cf3f29ae43d1095f8e9d2acfbead1753c5fe4b74900a8c77ba94d823be338d1824c0b269453b99a651952cbb1dd38b72c093de802e2ff351f5dcfbb6c218761e634cbf3398337399af57d6bbecda661b19a5f203c559a3a509771b96d55853c4eb08d492ea42bc3ed6dfb6c097ec530bf664898b5b32cf8e2138dd6dbadfed82aa65a0abd03e9b23c76b4ebba339bd72970e0d0ceb71f2c529ed91d5067d3b9fc0e78ebd91d1ac60e00c63a412a8e5729b8846c936718e3906f345d5c3f1aea89fc4f4bab5297e884be20ea3aac83f7269a5bf744c6b805c2aa5a5287af900cca645596377e2a9aff33c621b34846771a064041d0e455e8e4f7e14c5a671f9d2937a18b1eeeb656c53ef2f164c0f2a7212e7cf7e51b2d6816f5ebac08d2e8d681fcbbc372a20e169d54d51796aa79c129d38944cf3489ff352179d39b713e2c221baf14fe0c5baf785ec10bc5503f152428ed3e6c3e7ffbbc8cb883b3101e6f06640891406ecff39a8e0047c14243a729a4e9cf317d202018c8df01ec1fd7df5869022516ec0d54217efd915a9f8d072a5f1e8a093d3010b8eb68dd6b73530feb132c74e48314fe34597bce0a1148448ce2df6022f2378f7abbdae39ceafec662168c712cfbf12c020dd31a29e140e309da4e9af85045730fc063d9bbf502f65244f0f23cfce6b36da183974d9f6e15acc8664961e2e4756c4353992492c83db54b28911431c9730ab359bc32d72b672243641fe378e35d714286f36d1be1de9c9ab5c3a261e817f3faf419f14fa931f4ef08200b3c3a25bc0fe06750fbaa1d4a8bdff64a10a826f166e5e5a3ad12e72f808f4706fb6a178ff4b3a070bcc2ed0fdc7ed6f9b9ad4782c5a75aeccb0c57276b88d2ea5562a948dd6ade5c02510c36e072fbc9d87eccc9c693a2e465a1c72db6ae77293f116966647d8ee14aa0aec3f6e70727073540e30dab69baf6a9572e1bd6e67aff554a04e0ef02fa81bf701569569d275e987fc37b503a133975c2c7a57c1cc9c4136320ecce49473fd143eda54810f78a08f906a276523dd30c770fcabcf8d372c5b5b0cfaa3812d5db216a0538ad7c842cc6912cc04bf36b07f4945a83e5ef9970fc2e598ef25a8fcea251ea07c1c6a911ecf1ad6255e1e87a409109faa5965c9f2da232d84b3c33bec2558f8a1cd0b8a76b2fdab0b090d2e4216bfe4974423eb1eb4059c25cbfe6baf270006d21ec411319a7a0b17d89a329b62e1b6cb638c546581e9e3bdb535dc15b41f9567a648401877b7b7225c92151123ca19e2c0fe4f4ce4c1cb251814f130d42c2743a6fb2f15dc2e06be8dc0d7cf2a0ae8d30d89226603840fb4f0803bda88a6695737d6b54118178c08bf7b804172f55841a3c53267f04e64e3c63a9a558192b4dc3b2389d103374d41f01941682f88fbd8030203a77828d188bec622eee8f61e0c1c10f8620179ca55f84c940672e0a41e7b8b0fa1f6d35d405b5c923d57d747a9f494fd0644470a1b8fbde10272aa9fea3ae35b9e187e665316737a854aa53735d5b19f220076634b03d7a58b72012215568cc6ddecf5b94c00c7788fea75b18ee29b7ff4c538638a580327dc1b6c7b965fc4f3f053e5deb843d603938c73069ca6e664d00afe62f382c8516f72e4026f712fe490ad7dab82492008a676f4d065ee7604594f1da1bfafc2b60023fa1db27c661576e320dde24a2f6d13d4590c3e53784663d7507dc2920513585dbd92777340673444e2fef6d5a2bdbc2f8005557ec05e843851f849b253cfc23ff4a23eaec86d438f15d4fb84cf7596294b57e9ea6386d0cf89f2ee96e79b94726567f16199c6659311058bb760eddbaf84d42bf458d7f9a2af81b2b085f9fb7245f78ceb3e32d7b046948916c84de8bc1bab2b96e7d3fbeb11af05d07ec89c7233dac13fa20c62fbe9031a51f45cb1c85747d88d7ecd7284257466268863c8106553480adc1919a8950b92506fbcd3bb82202dc3a91a8c74cd70d78cd338f14a4d6084a354624d382618ea347d81d6edc4a12f65c7d049c26a1ae63b62b0cf2f7dfc2a016e64fa1e34a6673877c578697e28a574076f13f5a5772e74dddde263f39589e7bdec156f9151b09ef1c413c1d49b50d1d4cbc2b0a92c5adf392fae723d7d84e7dc4406061e2fd9be043f7aeb733bca49ab5420a98404b547fa66764a4481cfc6c003191c5828aae266ad34681cf491fecd7c78d309ec757b9206ec721179416566eaeb3f1a70d0462f5d45c10b263feb3a7692da6cd3d777744ce13ae0b0b21dff48c3e3301bcfa90666af1eb6b2ce558eaa69930a963dfa07db484015954e35382af49a2fc15a6a841c306cf64e837c282c6b699cccf8751e58fe2a12bf8d8cd532a16da686d4bac0c6ed1c2d4f7b7f09055c1d02196fc8a45b5c72211c470fd4a826dcf595eaf4fdb2abe548d64f24c9f86d0018fd2d41ddcbb0501ce8d17815fc99ed29adc6983ea5f29a99492d2cc3f421eb4b69999484d51f57a1c442fe2f1c6b2ad82098d87495abe388e9e58fb57d7f778ea8610c4946fd587fc6a66adb8764dfe9a497b5e34d6bc32da8f96800d75b3fca87c7624bd5d072c3cfd4dbf5ebd875dbc58168c5a0801fa0691b925af6b30475d64a29b8fbed72abed18106f8ed82d08f3c090c05c6b492e28c2a7641e6a2d3997df4ee7ed4135fb376934c33b5b30916c8fd785d3b9ccd7a4e5523843b72acaab5eca70abb5721c41eef68e58bf6b69b1d275a6442494d98b9cd195f1bbc2eba70dea05a7e50745861af3223f22091e31d027447d2ed2422a30dcb71a864cfa161707b091d772167452c8f76189925beb22f0f7db8728a456c4319c1f0e1f7fc51474f3f8d807339572d0f53477f5ab333701800a561c2a9e1ef46068fca0c5d40010bfc9d0729f192554f9e7ba1a07d05b498b7dbef6453c6ce7eefaca86cc0ce0a8a11eb5408aa4ea08804eb68fa760615fefdf718750beeb68a2535175f720cfd46f554922195e3c435529aa8b970478e635cb3e8751fb037f039dc253a5b7fd2b2389c15a588c2ba60504840d6681a925b8754c35fbb7b06824acf6ad8d02fce17a424a72d81b50a3b70e67e0cc1c0410b803f655dbb3c4de7ec96bf57bc3551ceca900222e5c42ef5b73358400bf1f536712f063a1894112980456ab3c1ce9bb754aba72cbd4522c46507281448ee8b7702cf2a78122e26ca4c013effaf6f2253748d72f70eacf9c5076f9e4e1c687b853e6a93aa361b2ceb49298050de427af8f425772aa6957d09dc6d6c46154b0fe351e3daa4104460d41991fc5fd87df2456d6e87296da62086be4f739715ccd45a2056053ef2881c4c5344f2c05c4b8c86df2e072fb385ea6b7f6a2de65cf8a33d7779b80fbda8b92e8374ea5775829a65d0c0a725571b6272ca5f215c83e47eec66129a3b7ad67ef15e0a30a8b97bab3caa5c801732ec32fbf1b72aeb4a4d1ec8edc43ca014fe8ee5e0377d366f7e10249229a5d83053a4d60834e15ba87bb7ee26d649e8679b00a138704c28442023e1148bf72d8c52de42f320b341c377a139f7b1c26bb92236ada2eeeb612e5df0d5618434027835f364ad3931f699a4851e6e1936b4e1e5e5f27e0c00d06d92ed440c9c6108ee7910345f97e1b5cc63648b3416664bb7e0a6920d30c55ed555ce239beae41f76fc21f609d78583b131788edc6a4ea45b1b8049dd72614b7c6c17b4d357972b52f2ca13e262af1ad6f8bea337e7d4a23d30a04d3e6fc4176bd9d3adff2aa312938298baaba41706fb6ea1fd2afd76d92d198580aa8acce4b409b9ee5fbf07214abe34195d335c16ae3e1c6d428f451fe42e2becf111e05115c25c4e4b3d9728de6b5c4fb80cfdaff23f6a07c50040b443edb5e0d8a6dd95bae02a6e15f635e549e8a8812f47aa3173f13e26fa06572a22b3b50fdb27c08c419a237d58baf7277d089be3c3c74609eeb5e8d754ade7d4b23f06b039329119bed7afd79231447cb692f53642854acfbf5be8e8157737129253b5d20f93b45da9b6dafbcc80f2961743ca1aa564749a215294ff53f55a6769da6355571b75ca9eb1f57da3e085027fdadba71a57a312fd983772e07b8cc745a49073c7ad9b0ac0014af71c49061fa86892c12444b119b1a2d03507aed642babf37e5ac9eb28dfbf22d650e8857205722e53092d556acbcb7eec3c172e9e4a985d0e45ece6c38bca021805f45e155856c690ad7b620be78f959647c6b8c640794cb9a22c25a8abe545a13866f63113b4cfaacef50e249973538d9f342ce98b66c1c0d6ec26b4fa7fa684185096510e9db1190b663c96fc5bf4d1d4c0448729adfea68179c4fd6e65df5804344a72969c536b46e8152a6798ea2c6ef56f94f1804d85d9ff4f7f1860a021ae11ee05134200e3f3410e7cf804260f15109649b376368e7250164fa697e601f897ad72fd9d77edce2ad36c5d061837eb958fe3bba5ba677dcf53eb5c2b2f693173bf72abcfb428839d43d4e4c0815d27edc8d77f66170f27800c7e8f985ab7f3468572d0d01cf077f92a4294c099b603b63cc3abbea18cc5f7456f4fce71488569b92585d22152ad221007cf2356229e393a83150acf90d26e35f3750a2f51191ae30f44254fdcda4e2ce1829aacac076a4fb2633951ee11ab32b3f9a809871a5582728bcd15054e9b243037907480f0ecc4dc417ed61dc240becfa5c188e4f119e4469c9a81888b368e80a04c5314399a8988160f1f400c64eccc0a343ed737938701622bec649e568961ca192939b87d10117aa97eaccc94ef3a7979380dcaa120569ca06975da51536b181dc35cb68c30c090f7ef2078c2fe0212ea720a21b00a724a12962ec0b9b4454e78d8a7ec328eaac8915682a95c862ac4d70e44edc0fa72e46335d4a10b824ee8c2a0b5c037ecd9a62000298bee8debe59b0e2ae3282372e1c764eb884eeaa86f3212f68207bb1013bc774aa88209930e533808c95ab07264eb900f733c576f76029dcc518bb78e0ed1d239527c226453627df97698f9727cd08aa83345cce9b0b8540a1e362bb4c8b31aeb25887ed8fb7ff22af92e497235b5587102ca69404a3623ac7ce85a802fbac8fa3da92bebc9f3f304fccff372ffd4074410bef7091f51ec0a8faee2f587a308034b69079dfc12b883c63f7e7288250802e3dd9feaefc55ff4b37eafd0bfd8591bcebbf0100eca941d9a74f8007fb2fd472309eb488c4d7c4ebeb5edc5cf2f24f7a4513f87c9e2120f54bb113805ac8e23c695a93d0892fca98fb65759a01df1db6fb7f53e574cafa8b1b12e72a35a0e67f75bda44044504e41c0f6f6cb77a03fd12761a7d54441c309f93927212ca45e54b7769a7946aa34cdf819a1bfd7530abdc662340195a861813b1f70fb0fc1597b53a9da3a8addcf231fab399240bc37707e4152e40305b4d6058ee728ad546099e70dd68ff0a2016a5726b7304011c7708e1ce40b1ce8cd152bf3c72f940e6b85b2971ecdfcbba485759dff6ab51ba5341fd684ec6bb8deffab742097560c7fab6c57d42f66027fc031062ca388d653e4335ec4bdcde322cf4f748620631ad7deb0426b868a099a8a57c3e24925506fdcb6065a54cc31f856c4ae872a0ee420acd2e7a85bfce496724b1dca19f5d2c7623bbc120e425745d3e75aa72666bac82768588da5d8bee788e7cfe58d6d05d5967f4c53e5b5671c32112ff72f169c72f051c8a41d4866154a15773b9b2be853e57941e37c6c5d817f2e18d48f6714e58f87de19b5369cf5d29f21c956ff67aecaee552c9ce986e3ee851093eba2349db456c54eb65beb3ecc1d333970d6b5bcae84a89519add56e6755d7a3200dad3705e68e67286b7a7cebf06b281e41fafb74112f389776fa4a7920fa1729a744edd179c9f0d30ed4611050f77055ef223b3c459e6b61e4d984b757a7b6dcd81f649166a4c20726e09ab4ea12952e41225780f5aa1f1b522f75176a25506401ec8a8c376861e720035b859d12968a69a44f22c60bc440cacc59860f5ad72f6c9e6d3249c001dc81d124acfdcb150d170aab7352d3a632120cb3c4da9d972ba7f75350d7c3af693ef2944512553596400fab6fba62d5677e7752ac4ce49726ba4d9f4239806ddc2bfb1d325b6db2acbb90ba598d7a1d4e0b80691c5ef1671286fd4b4f24a6b0f95a3cdccb5dea1d6a3bbcbbbd77495cbb4c152cde7d8c372507783164813423d66d5a882f2e2194502179ea6af8f89b7df326549437e3c3ca6f708e2452997be1b9ba785e987c404bcfdd699e96e98b7d5aca5347fee9e727d75c712ac4aaaa33061c5caf9c2a5c31be705f397a298353909fa9bba82db7227eca0374eb00bb7d958624909333819f3c7f93f2546dfa2486733575415f772638ae00100e996c796f9ab6ab4b5b5680c174d6a55539b54121cf098d286dc2de4fc9087594689cd0070eb6e94c4ac0c4c0245ed39ea95911f2c378ef091d65d553e9e022af009bf6fc377fa49d6392f53f7e63830c7dbca5374e624836dec724f6d77cd43faf246834b91d76163d86192e8010cc21cfe558e69f5b1bd04cf72f8695249ac7c26ebb493c77df0b8a1d295a503a9c04237f126f22c1fd9215472388815d9ee350b4f0e4996e004e06a474ae348415d7dc5b6a97bae686d237f4134c9e62b5ef410d3e8f64422d2f51d9f0ef832b4d3c198bc5791424ca0248b7255ab7a59abef63847c0769b78909870334f68a762f3f8e6d417028dc8445595960c292f5eea0d9c652d61f38bb3364e972c3d946dfa100e8f59cdf98323a0d19301b679fd2096d5577a626b167668fb8632ab709574a8b98151d055d66651f10239649757773cd2b4423738ec6929326e451e4db92485fd86efca2d5a2fde91b793da324200244b7b544fa1659d3969b10cf80988e36584d514727de2442027231f0e6e5913f272385864b45fd47b1d2dd30c7d050bbbd91e3526cbd86f1ad72a9867bda1acc3b13482b3d67ea31a1b2917555133b1a7e73c40bd995f88e89721703dd410ad3acef2c7c2561c1deaae4418922fc4a64a18e02283b838280ae415b6066d55c44b99609bbc7389409e432c62ec06242a0aa1fb6e74066ffc8267267ff0fd6d15b5f6271824ba6daf54401d4fb6e486b7b7d4889973094c51ca84ac781b04aa953f4b469bc8e3b75d3faaecf82e7b082af0e662112500a85c746725592872b15f4b55c975498292de10278a50ee90e8184444d27517073daa9a472409094ab7f448142bd7cc9c953d10fffa92cb5fa5186b307029d5eae6e75cc5d63a52d20d779537f49e78678359fa5b9d850433058020130ece64e54be006c4a8ffe5723d326831c94150d93097cc3234e53877aae5899bd65d648ca113b7746cba1da844042adcd539732f8affe382fbe82ce9702cfb72cca55416a136b06680dbd1af6b33596e26fee0216ddd34c47390a7a8040cef900febff7d9298b2b723333e9649262d53a4a4719fd58cb68e62643717ca2f1a1e6481807e0f52e8417c9a8e7709fad26b326b873a39a24ae6f0450d8e3c9fb69a0471171c87ffe3e726f0ca856c991f93ebc40958e41f064fe266b6bc03190412ae3e95bef80833172705e1b6a4e6f48246a47fa427ed4926824c55b7e6ad287a5775d44393d47537237395fa77a41901977d0a48027de9645c969fbc2144829da8bd868d92808b472da924b757c86ea96d69c17c20bd85ec6ce34652189d41604f9398dc555ce7b725def373e9ba3abbbc8f6a6337bd273309206973979dcd8e765e0171432f32305b3a1b000f2dc899b29a3a2195dd3a8ade9e3b962010d12409bea4111c58c33721fef34bc4007a4d8340be1c151d0a05fe78c1cf884baae8d29452e2dd651b621521a5ab4cfc4e5653d6ce87091fe5e02429275b458c7670490bf1abde0ebd05983bc1de1f01e46feb4892ba016c3ca8d72f833a7b1a95f85a042f39c296f6e72a4b02270a47067582d04e62a143c05b8c070e11285c870a250a2d85b6e4c7572716d9b3af44ef4d97e13d276e0eb33eef07f602e3352f0b601955d5a7b6cad722f62de8a492f08e45768d5e5106f78afd921def8a29b440ffd53bc14211b3052bde336ce78d83c875d1c117696d2297ee13982e935d93f319379f1281007a172363e3d331f9a2995d6f90581e936293213e80757799642a7e9a2e60df014f772029a91a7a9a8b3af48c5939a552af5f5ea71a729b556edb67cc23611105da70017937c5b6ce839dc6ccf8463f67c3ffc44e0d8143b8847220034b7c52a243a7294a47f9197dd1bea6d0b2fac260b1a83b4bf35130b7391ab56702ec4aa919172f203ea12f8d8bff5cfc9df7124c0d10435b462bb1ff0b5c953eea82a1d3f0c43f335947fef7fccdefe0829c013194816a1ada41217482d1d18561888ff7c3c15b27e123f7d2b44cf79e34ab0bc240f8db8dd9c1f153ad60a7f093d51a2a1f7103721d743a420304e5f9d036cfdf79e480157cbac44a02a01d4aca68870a5297218eb3c85231593b3cdd72b31585be369cfe27b23a1d0d856e220061911d38a5851a4e51839ab9d20cd953453f61019d340dc33f140399d441ddb81b3e77015729ae38e44361538d652e885b58e9e1f90a4d146968267f0540ff86fd9e36f0a72752f4df93a917366260b122f77d9e10e8058c281aec6b4012e6c2065bbe635720181579b40140be0062bbcf28333eb556c8635808dcb5a44ef1419d84296874cce7b3d213b753e45d17b76fdf8ed7bf9187264128ddabb77309b41d06b350672e9380355ab44e8d617c5992202f524031b4bcf22c96b6dbe3886f6b5cf15cf236c6de0aeca04add6b70b81b02569a98ac3ed2c6ffb6c58371daee1db1e06496b2b57460cee6c0b5526b7d48e27c3cf7fe02faafbd99ec66607d8eb9bd69ece4155b96d6f6cf740c0353d38fe5dc7ea4eb74f9cc2e59482e5c39a9aacd6a8893df708839288a643ef0ed17b52330880f8e7cf0744acd9254eacbd644e4c1c2372437ad46631f1e5f24d400dddb6f04204f6a273d103a98032b40b58ffc7a7e83ac960d2ed489212caad674ff8ceecc74c58db5f5b75c308e829f184c409ed1865e3f964c1b06bb889cdf6183c23ad5535a2329c4752b16721c1a9935eb2b9df29a7741fad819bfa12d2ee3b995461997bdff9286d430e3985c2c02c55ac663255a45dac83dcec781750229dcf94c1d8f9a90bafecbde03a4d0fa6c82315066b72c3133d807447986ef7f44c2fd5bcb7e4d6f2f3e821f2a2b4b310f4ad184e40507fd8533416eee6afd95a7542bc4bf90ea5e76769def06cf1303eb72bcc72a73c1231ab11fa168eb0e95d12846daaa5913ace49e670fd82a6a81540239b8c3d723eaf74c72a2ab2ee34df45e3fb4572c406db2d97261357b514509fd04e6932643e6d064ca72e7ffb6b1606cb5b40af661b8f32d7066e6809b43b7cdaad272b726b3714e52755b4ad40270080a57ee5849d23db87ac239e79fa751090cb21ae1a810ee73180a34cc376a00ba1c219157886a62fd22160a8b2e0a977dd45579463a4ed3d1496f98cfa1c5439a85fea1feae10a601b1131c808e108892e5f85d1729198cb1c9952965473bf733e754ba60505ae5833993e96012cf9b195293106725f8d9a4934d8b7d43345a677e6622593fe60f3a2226fd1a702c7b96505a5f320c114b5ae33889a3db886a4e17e690e413b3f32f19c14aeb33ae67852bc895823168815c4660352a1774a8f5378c8b6d6c3fe89f76dfccd784557f645dece1946168af9fed15a301a2b1c4c9b7f3090215f5fd98ee35fc2c63e2da69d4c63bb7226a646062ab94efc8452791ebeca190cfae9563502f8974f015ea542027ceb7256e273b2caefab6c0388f39f7ebecd8754681d7e07b168f76e3ae82d494782727a7bb155283d1dcfa861773ab32a17e99a255f0934df6cd0647f937ddd228572c209c9c60f04a56ba919fb56c38d71d85e8a28f4ea9265a96b839c4f23219572bede1bcd1b508afb70860ff2a12da8a51ef97de0c759d04ae0042938b255197278ff7185532ecc1460873e2398c6cbfc86a4d456c956aff49a203a8c20b54e564eb4e2ef533d65012f08c96f45091e71fc5e8331f193b72c50797ef4126648727d9c162df445fe81e537f0c75b936e3c9de28f2ea58083b4bcca544812902072246671f321e6b8536495905fec1879e9da027c9bf12de21c8ab67b02eec3ab72802257d1d7807509db48fe60a670e689c3634c7426db7947cfcc37be95b14229921f3425d5f8123372b9f5418029d04832af975625883c79018d77bcc5309672ebd3d00d851bac257ff4e2ef477b542030d4b2a5265cea0cc94c44cdceb06e335d8f2f7dc504a5e201bacc7589a4b991716d5e9c55cccf8a021e308cd2d64c72ff4e8afa4e2a8c753de2dbacf9a0c08b6dd5ff2d57ded55db53560fbaafeb57278d036cbe58a2ea17b363e32d392d3b808859c0fb50b9aa805057859c9d6aa72a08ff8a11105483b20edfa006ea85a9d57646abdf1ec8efb5cea1676cb927e27378579ff65878e544cb3414f02dab8a2def123a3b33adbb7d792ec90b9cf5a02b8709ca828c82c8a5212dc65257ac17ec7d8b3a4794d6b041b19e312f36298654299492c95a11e0e1ccfd978280c7f50177fc5d8af4b4e6a7441f485f1985272e6421060f9f520f259c776cc09501df4d84794885fe7bdd6d9c14cefb5c8941d6b714743bb08c0b23f197d479e9aa1bf190e6dbdab50d0d2ad2699365752625d439b1e038ec1e800cb2d6b6d6e42e35316de1e2c8cf39f6586d8e8ab8d0c8772d109046c23fb12e7a7076da9abc2bd290dd0893a5444e5425d726d7544fc7c23656e50e0332e5a844979fdf77d4ed7137aa5e40541451746163a203ba1482e5c112fccbaec2588c1d5139d8e4ba53c83a8b016182c833948b5c577ef4266206151084cbbb7c26a428b2b28a404bf9efe0dfb12f5087da232e05a34a18851a972637b75613065c82b051a54b173a56a46f3f5ee299f931294d963187ebaed8b72e8a22e33570870fa06a33b6d570829b80b1b1a90b77a99aa1a83af91d938f372017cc1b5b6c81fde08f4d6bd5423ffd298cd6f4b11377ea216c802849d6d4046a05c9f7b43fbf4b079dd663963d89e8d2c1fd86c41c64627735d24aac7c99c729a5934f504304f7de9a906dc95983bbd813243f6e98e8e85a3f880da4a57a272508528176c4bb29fbfc6fed99ef935122e7023252178bcc540b6020522be6e727fe0d197a0a28a6d5c10af3cb3df85b49d23397c225219a63627b5d4f1adfc04e8073cd60bfb09125bb7943d3a667172bb3345a6c2eb9225246a09872f0704519aba2b3424b93f53fbb498ef21cb76433412525ae1408dc50539df6e808c8e72a6f89a4d70d15f1b44fb1710b66d683cc4587741b0826a313c6a11474c8fe800237f65d45e81a9cf30b114880a9b15f1fc43bce904cb5b894bc99d9bcda1d572070e9e7a3252084076f6d98b518e39a4ce98446a8e0319b5f34d08c824fb0332b4745233b0c0f3c417e0963fc33079435d1464219b4c8a214b104297ac5e273dfb8a051b8ce5c78903efd5c9b26fac4bd03d726e512e2002ffdbeca83f922d724dac9329e1300f70a9bcfbd53dff429dd4117fa87d8530741c4df985986ba572afde32629649d306e1cbaf594f1c82e329f824517827f0d74b50de427f4fe07227e48b3ac64a78c237d10432ee82f4854b05b88ceeba05873e8fcebc1406a672e7670794c4f843146b668acdfc940c2cfb617eaee1f2408f50c01fab28869139232ee72df2a3874068c2bae3dd2c6949cdc4417623170d54cbca23a7c655364d12ae2cdd3f7b8f0bbc796d7246874e0ce7148ab5dff46fddc8dc7e02e6c96a72f30143f7f44e29e8986dc8a05b70ea51f205b5bf651de1386913d4997bff931121a1563a46e7f439390a54fd2f91b378db0d917512e9deac4af727d172d220722daa65efafce48c28cf484925f1e9e0be4c8a739b2124f060dff9f1d5e34a72655f365cf009dbbfacf0d565ca5804b750880f8088f4ec074cccb06037a7bbd728e0e402cb857517815b6c31ccf0973199791fb1afe96e74597ca50d5535930258b8ef0f30eca264bae7d908e3f258741a9f4e11cb0b6562f30d4a19a7d5d24729f4928753651970135f83ee49befbb950d89da18834ba65b3807723eded244726517ab9716af0c413e4083da5e189cf59fbdf2d02c9ebfaa09af02b297bed4726ceacda23cb31ecb1547eef8d8430c3b79df3141b44df9521af86a6dbfe162152d96a37548ae81ba3925d996cdaa956f7df9817295d382aeb8d64851adaf6172f1b0eba3d0efbd32c3acc60dc4d9e405913770556ee631a926d14851e9454564cb657ffb736d1233f0d3ad7187234a0ee84f31435dea7b27377e17c3e95466723ef2e52a47a15526346c3e3553a17ebc73cdf311dc5cf184380101a8bed6ba7249de7b85357a14a81a80e917f8430d3bea08e8b097591ebee0cf472838c5a954b1a56f03af4c8f902539a81a69eba4a2f71bbf5fd75f4db98416669a96c68e720eb2206336447860966d4f4deef3737a33162173cd919dd82b121a21f5b3c04fd8c1100f4781ec2fb34afaf78ebabc6b3de1861db694b8488ea9d8d9a7d42372b214ab5617e97d11c3079a655d25abd20e383966adb11326c1bcaac1f580a6724608bddcf72d6487e3ddb491cb99a7bd734e835be339c3a9db56c19f16275b6c3a8287da78f9e0703150b8a194d12915687a8cbd523ff90f9b04a0115d6b45722604d867cac5be2554cb8a8293e7e4b86f8b0868993a77d4fc5b1b88b24a85728940003a013d0ae96ea72ff04427b1d2ad0603160a12394b18dbe1035c041672a002d6160ef50be1c04d471e6c9e6ad56f690c4ce429d651c62eb096f6ca8e3d78ef64d0bb1f36dfba9c9082423c80e35998c7ca8d84aeb9d196be27e3cd577274b73d9dbbe52f1105bdd0a6f8243a8ec53da6585cc1958d4d0f50b4a7ec692872135a2e9acbca62ff943fed5e2734cd0f7b5c984068d8c7089df46a28ccf372f3a178f4bdbce58136757f50b3d0d86e7ece0ce7dea903baf14c8c4737ec50721494d86836503b686cf152b63a5160b723cf523084ae277087b36f406779227218e8948927d5a04609f82b548c056339cfe523558db220de404ccd2e6bce8a7267fd158bcc939b4024f5e3a1c6c0c6066b1266dde768a3add2163cd2e6bed33296442c7c74deba64941a6b3d5aad2f66e9d78e4a9ccecd80d4db35a99784a872b07a305e64cc7ad49d7b60fdebb9b5e0c7dd80f4e68e15964b998aee2335be24b84a36583be03d8acae2c546f7122a089641e2d3c1104b8592860dea4336b7722bdd8234268326a454c9aebf618bedff95a46f6d40be16c2a749822a536438728df00d103321238ebc0054202a003216edfe1454c059faba619fecc2aedcef727c50222f531ea437c5025e526c5d6a0356dbb286e4923a2f98f19919758bde23795d8322990d5ce217f49dfba69d1246338efedbe0b1cbf14d50dbb55a5dc44bf4fb3614690f0d174e43ed734cf1efca3e245cb417d61455447476438a63df4c67930520c293f71c3811fff0f9072c51685905d87d8237c9d4311aa3aa379a722ae4da132b95891b1e4f47e6b6158cb62a58bf016c97ca0f7700af0aa0f6c7729b074c3676bbc75fc71bd52da76b1ac08343ef10f0013dd05551ec0d232c5072bc0763178c5247fe1aa63d7641a1443dd0d4f28abbdb1445628f791e43772c72c10d153b6c1b872d07497b51de0d1c7455438fa77c2548b50f12b7a9b339855d7c55ca6930434e71510b6e3f179cbd064fe8443ce5bb2d177365995d89a12a72388b7d3dee27f33cfe4617582fdcdd4b2ef9d558a61d65ae45b543f7c62ae44d40a0fb652c49f3c5bfce2984ab3820d64187591d2f77b06e61d0716cefea1e72a008d1936a7a6cd57c0f99ad92858900306e99c4c8f11937d450c8861bbfad72dd2a2fdd6890f1088050d34381999b886fd6f01dfed4f331e410dd845cf8a672971346b6976fdfe36bb5e5e92663d91b5a5a57d269eaf0ad86b5cffeb001880d08ee83866fe651554f8de389d7bff4ddbd76fc561489216223ad536d82e7ca2e18261eb659013602bc4de430487ecf9d777bdaf23eed3d63405b5f4875f96a1d2e181111315b3e012693f7572d5b25a6e5ec8afdbca02205a1d1571afb7a2f72fa24bde9616365069b230a744009269cde1d5c8f60d01b64c7eb1d11c468f065cb70d072136ad534bc123f0699c3d7d96c21811280b14d0c628c20d2e8414f72dde839d6f16ac6f84bf1a702a6ca6f165d51afd6c63ab9349478ec5a469abf721f89b28d4e238581ec3a56ff142698f6d0dcc7896a7789751c0977c02a12db722725505975d6ed2cc4a652e39e8b3ca4ccc3d65e6055c2d32b418eedfaa17a72082680503ce888876e1bd73c27429c55a8a715b3d6ee39edfee99854c644da352ba94faebfafe3412236dbcb1e0afec478047f35ce50da6f5c6d794f36c86f7298554c1bc5f87db1b6c8ed0de14e5dda7c200bef34513ef77d794142c4242772a149f9f34bbab5e9980c32d4ec8d8e2f0f220a300ddc14ce50ad335c8cf526578a89087b74b921ecb84cc5c16c035dfb084fd3df44db0ed7542510f8b56ff9728408178067bc717a1577da961c6f658943241a69c8299bd98e087831b64ca77225d67b09ada4337be58913bc3512c537df72e1f5141c4943e2b4fcad2f61b0721f58ea6229b7d1df92be55668bfe39ce6b1b2636efdc340232932b68a9a98c72b803ff522360913dca623999d860171fb3ee45942b26a4b6a66364fa3571ea722789f16875279150c2dc30fe84de94e428c4d7dba6ba9c1ff7ab7b8a300f54172f283075b3f84a63200a7168d57d3a9458fe065385cfc0a0b3a9d6e7f7e83b728fc6da6cbf62f43e700e5865b7ef42009c9fe44df623414757d4852e5d1aa4727f7766b26175e3102905396d6b0c5e0f14b1535840eac3acf16f9c7be2c1c120e0933323ce6e9ccd0d6ffc23c070704f89e77a6ca753e97729cee153215aeb72f5672b7821539c38339b4a4fbef9f320cd96d934fdd1ac33838d5ac76da057373471db491729e4fd7b8976468f550b0b7791c058e4745f3d9da3d6f714e91f7250cfaf5294accf737cb3e46ed2a32d0aff4fb251ba316a30e2ce6ab8097f19721c95b5707bd2673d02b01841f3624a39432af3b8301f7756e75c62dfc2382a2c31915a3c09de4154cda2ab26e1419b7f9363a98fd6764a0836f9ad96dfa69272b2574ef41d19351c5725165b70d6d7dfcc2882993143f6a14f0e4606065a3234923a3e76443768be78c9957e1cf7ebc8d7681b5d7743b348432dab4a37c66472c8aeedf777c6b31ca6fde929c645ae0d3704691b3de494ca3e845913701a767254200f3fef88170a8511fb6d691a4d7073a2ee753d6afb3dcf3e1bcd5679ac01a8acd9a0c9bca87204bc72f398d6f7a0a3bf938dc33c413f33cd709988aeee369d7a2820c14f0c87777b8d52ca3485fa8e5c25c9ba09d7b43184fa8cae3114729d917bf003c84f3b1a5f146f1070d6f1460bfdf1e1eb084215d268a5ab5f027278ffec38e5e71a45850e553da2076d1a0f9f19483b490d3eda803daa60039472b1b78ade2eedf7088654ae732ba958dff0681b046a86652e00100bda1cd7b008b5ae6f4935b6797d870c50789297114e6b853760f63603113d3a71abb9f8477229715f49f7b5b471a8bf2ef27aeb52a752d411387907574631a831635cb29f7263d7c7f0a3c31df38335f8435e065bbc4ccb2821d513307638c022c8f26b406d3d742a081f5075300a1976fb1cfcc4ea8af1570ef39c0c7fb985f9ded2d7f2723446af8cfbc6a2c2a1252710532838f70b67a5b35443a7891b02b4159c69e272ad4f549278fa1ce5b93093ed973693e315fc64cbfbfff5ffe22f617733e5fe6f200e74ca0759bd1828cf2415f8e44ddeba302f9525ef427eedfd6a09f962a2577f28d672a4b4d421b2fc7de36a7f2dca77c5b2d9e29f71fbf022d82b6d0eac33ac30245d7ec218bc42200112e0b879499573d12d4e05af8a9959a32be0817f72ab3d5f986a19373b05ce19253eb5aeec473b9241b2a662a14b9c59f8af007a5b7313793a735734b0830ee116a327bb4be42169ad66be9f5d77924ced35be16721e5124ebefff5f94b2786d1ec7822e19e816450da53cb704b89fa73705c32155176137e65906d361a8ad049e3496cd9dcf95c89ab4ab80f1ba24711ac415bf724b733316316cc0009c8b8378db700e157007406871b40fed71641b8e4e3dc2729552706d9aa405ee4f27ef10c00f54ccfb4e3a06fc71f90244587efa6c72627281410c9bb4ae8869e57d139e052026df6f3f34a5528279fb59b9c31982fd737203ac742a61d463819dedbc56b6bc3d65c4571e86aa5d757c374a399f3a80305ccc112bb4d01f915770b9a56f9ce883cb3d48d085e1db6a74fb6fc230dd223e72615cff7c32c2c703adafd59cca271afa56438cb710d198ca58738a346a96f1722f32e363a7e41b2285424f717968116d6e881445209498b19db9b960c274d60b8d4e3aa64cec80023adf5524fbcbf35ab6486148daffedfeb66d055b0d44541556db89b7569a41acc6e0b805c15aa44ddea7e19eb0eebce59da9e86eb11ae472b4f592dd027ec451d4a72b4526a516813c59dd7aa8739681d4c791d725965072fd225616a9a0f3c0e1956880362dbf43d92b32e353417a3757ffafda2ee0a5729feb5ce3c5a3cb186b15585312c40cee7b6c1fa422e2bfb74088062705825472b1f0ab33e7f0c25efe0daf6498addce6f0f0ca671a31f2f996672ed1a63b7d72282f01e8e9899551942ab005d502d93f7db4127efe8d9c9ed5a9a8832796b47269881f4758c34222d2d8c8de0948a24c8ae8daf11d3f5f8a0e77efffa2cdde72e4e4e3c75c6034acddaaca447cb4f19c1da26b762cdc6489790a1360cc23ca588dbddf1458771ce520bd2792832b96bd8635679df8817e9df719766203ef637258eb0475b93a452c07b86ef77ac661b26bd4392de61a637f9782d5ecd39091720554bf0830421d981c2fc8b8ca43436139914cf24154c2e2f649aeaf8f0d0c721b4ddfc64dad60706ab102d501f5c35325c984754e0ea8253b3f99f52fbe7f7247f708efc16d23ebee9d06c55bad3d2679156f181c33974a92dcb4ab48cb5e72e51952e0a270c6e62987d6554851f4375f3bb912b00b76e60091dc9535a00a2bb2ccd1e0674a6326660f9302d9ba5628b50f5c6841f03086acb5d8fbc8a9b972c9bd049ef26851490add12d0fe9137d36bdc5cf366d09360113046c8c5b51267caba3abd1a3f05eed140815c06d07b3647467675ad6e599e4c6b8c855cb8373fd9c32a5a41888b2d1f42ca8c4fb7e1299c3dbc5ff12e23f00f90ffc5cf5ecb72ec363f509f17b0f23746fe8f1cf95e3049ca917d148c8e6e5d5f81c58cc6a472502cea01dc4a6a1f7436ce5c1549a28a9f1f20e3b182fdd4ec995646eda68b72ba1510f4991b62f53a16fb77cae0f1d32d88990131f4d6fed0ed51108b1e506d92730ca3b096c50fc09316605f456dce696904bf7f081686dffb601a249a681d45b3375595b3d7c6fc55c08e29f0f1274fb88529b19d1fb2b067db797b62717225bdfbdfd026f4c0603d58d67e25cf6dc3ae87416542c2f39460e9186a3318723282ce5a3007e75f88bfd4d621acd782f8e891f642e729ac07c69f2a90823672a3db8146e92e9f97ed40dc4029d45fe440d4c697a7078edaf1469788c6b1754f2494c5448dffb913d70170ca81f61ffc8a255f8fca3b85dc61c3a0db50ddbf7241b832c264aa0eb17cace0edd4c9da22516f6113152212a5af6d795db576a729d27d0c379654dfd8a75097c679f1ecbc261816464c2b172894f4978aae0646378977db467b0055779ac00c8368edfa42a019cf945f0b3d18e621d66920cf207220b9d5959f5c9d7303a6d07fed5fbb9402ec4c6128d6ca36019c88f5396af272fc482dc46276f8ecd05ab29556205146d1b8983e8bdd63b71d1bb6d1b12ead52dbc269d011da5c3b04fd8e8792b9eb8019be1d460c2d1ae27919917b311b8d722dc70c93a0bbeb83976387a1570da3c27f3465be54dd33526cdcc2f11ea76f727bb7ebf88dcd7e80868c0e0f2eeae2e78645b2258e780b103ba6de9e19864172e840ef400efa913752ae4e7bdd63dd4daa0fac3b6dc02756491b37ea4f8e181a81d4bb9838092a4308082f59a17b6925cf4871ccc992812d9f1139d9bb2e317218062d0cefbc36b5e92c60d5d774627953fc69fe5c3da57bd26cb0597c2f8516ff509ae3447fcbef1d0a0444cc4b82bdf954259cfd344728783fe7b45fe32772a6447d74cf4371b4a4e696000256599101b18298b52d3be62b8c163652a9c63c2989e62469dbbe64ff492088bdf7ad2ae18bc53003a91751f2fd35158da21d25674101e0e0d02689349d1e2cb724b5258bb4ce830db9f92969bbdf76db65ea1c1fc518825b3b11e8579a1d133034aa12e32979cc41ab8d8cbaf4c299edd535442ef142b282fe2617015207b44fd51ef7c8116e6cd99fd3fad53d55e7c3f2ff3df734db271170ec1eff15612db185a4ac2e8ec00acd0a28348608aa4af0b39f03c51ab2c6e501f7c291096ca230bdcf42b9feb3aed5a4bde52820a186f207166635018a36d7605f77532f6abad6ea0d2405c294b936273d7623a676a48983a26ac92ef8b589095dd82d0885d53e154e74e0abd00fd37c6dca8d5809a538803d46fdeedaa2b9b6905edf2b4dae7c3623692e0fadd090593657b8474b89a630a0720cc6c1099bf82786fba3693a3ce19f38d045e8af0bc60a2f3fc869ef7153b072999474e71db7b922b772cfbf6afb25c8c1183f37447db479807846ba844b706d54e913a788a4f2062e0b05579b7f56d932a542d4819d37427d95fb2ef078f4720c933988b13f90eeede0c7e8a729d13ddb5ad9bc5e1291617788ef10ba732e7206ad2706b6db2a72ca70daeaba5373eccfeea218cf510d42b18874dfc2f54f07fbf530d89088dc3b18f088609d384a111c3b44dddab5bf603f8a8f7309014d4644ab30886e8f9f5f0865c4cef9afa67af3605038fba11c9590897196c96e1372f01e349d78ea0bd35d7b6a57a0f7f954871869c37bc5926750aad87748b8aa61b8f96da7c83ec3b6768de75920eb858238c08aef41fa7e7910a2681dac51db16934d681aa43c1239426d352f0b6694fb7a370dedbf63b7ade105243d9535c85459c494eea794eb1c399e6b795c7a5e7cbe5783ea7325bb9a5e2e537739e55872fd3511071c79f08b7fdd3af793f2e8f6709132b98c92b00beb9788d291d9e67238e0ecacc603cca68b7c6272c6e93f8da0cc0a3bdf0e4fa4c58661ed22ea20720751b247ce875fb74cdea3e0db5ef363869faf67c5d1601bab85e8e8a4f7e872f3db425afc1f7f20ecb9a56858a9a1d34013b2e9a457037972a2aacba56f5b35a97baffe6e5c47bdfd3671ee0124503c10556a0a1076b06cce40a00b585312720ddf5a35d2fd04ef11716832971ae1d64e0747a5ea1bea9f6d0617e4f5dc9a391a4a7f57fd5817a782cb5ffd05aa99cce7e9a5ca08d34e371236e0743517d9721b6df50cfff6ef424c0ac734b66f3dfdf75931858f873c7b1b9beb7a056f58729a8116a87fef3ecbf4b7521d6ffc8aac78be3cdb54059f56f7d401d2d9decd7250fdb51b547f52023f30d2de904c9bd36cd2edb8c46b0edbed60ce9e5045e503bcd2d08eaa88ea950bb48543b1becfe980b298c162949e679cd66c07e7999b72e0d3cf943e4756c4f92c5bbe5d87b5e5c96e338f52c4a9105ddfcd90a3f12872c1d6b50fd632d0ddfaaf05c56c9ade85f8da9db171ffcc44a24c4320e9285c6fb81cfa92a0bfc0a12d21f30c588af8b9f2b22db5fec274f3b82a8ba1a2a6687289371809577d0a104fc3bf1fe132ae8bd078527014540a50ace6104675cb2e61e8d292effee08d2c97f144a4759adb9cae491a36960e82ce2604f312bde68672a2aacc599681d3833878f879fdfbfc4b70747701f738a387273ce9129fc2de1a9f2d8d91d44aea8853d4b58d1e34c54262c4fe84a73469b3c35603855d08d8427929d8d0c806b28f87a938bb9bb26442a7cac5f5ac5f2eda7c8880394658887214d998595ceaae720dd56312eed614ec206f408fe3ddea9ee1dc7376cc798655d657370b4fe8751901b096661fc31dd587317a6316252646817407e0a4cfe9259f0d4b4bfd5b0fd61532ae1f206082b9c1f789f6ed83a3b9ec3c724cd6579172234ad955a9590a589eb6c5754ef04b4952ce8aa70748271c71845ed6e453ff5d3eb3bbe52f8673bb721592e4c5f98c59981942815cdc8961df3d787430f1197238b38f023372e7dfaf15975fa8a4c4a15a7b0ee64653ba7a5dac3b40c3d3ad722ce9bbac990f142053b67c290d3eed55fa1386f3d31cdf6f51581ef942a18854ff8d5551879a4a5b8f21fbc5a322d21564ecdb6bf70b90035387084e659a462288d56b1617345756e07399f4fe31ac9e5604dcb3b3f70474536146ee959a5b65f806c402d43d5f52d4bc3e80a84e60a0d84c0debe4a409f5fe4453151a0c2b105f45e3ec6219b0ce860643a73337ebd8275e8d9fcf57b4607c6a483994ab323bcd0e9970d98919de28a5cde390311aca81298ddc5955217480df7e7c5430837263094467ca2c0cbcc7e9e7666239f0cf5564f705d2ea8eda509b776587a6f340f704fe439aceac7bbae948061411eab112306399574798eae8a19c157fa7275909fa0b8af6a00fa2944651e45ff6b56fbbad5e27e62e10e09e368650f65d99723a4d43ec746300bde94e0a5b01a20dd8cd78f61fa9eec27ac0c6b0015595ea31f8630fe26154a9fe615c59525385e18be3202fffc367bed594639c9bcd18c625d434e4ac04a8742bc94ea770e82dbc669d24e9263dcc1085fbeaa99afda90d722fc10275d0524198446c7f72506c4fe7f989ad351f975bc572c5582fe8f4f64713f83f656d745bbace2f25ed6529a5c848f39836df3531f1d62819f9d7698206e188012719dbe5131f503c1b8d7b9472658ebb680fb6d2fc2f1ea9d5331e3572397d7c00342cf20ed32d3c9c4e1b205dd31a5dab86d73a2a5967d3eaca71f972dd13249576072edf686614e44a27b7e5c900d3aab703799eef847a5eeac3ac721bba543b8a42c7f6db20fd1e5234748948c2c7cf203b464a5055772e946cbc4b83bdf5ad227e516b4fe8b2ea1017f11b43ded503523c407b521fc68e5626e772464853fc499d0f6765f8bc2bdd455b8fe373a53a8be89e428b0e0fdd0692fa721b19aed5cd7853c58c0df881c88c06afb4299388b1fb886a9c1b781576de5544bbe47bdb343ee7677f84977eb7e19786f483aa3aceb4f539517b6a17341ed47230a410ddfd797b63881ea3f5d8ef8b255f71dd3d667ee77d4a3ca8795063c572e29a928f3ec321a839c581fa66c58eaaec2102dab3df2265617e10881356ea722c04b1e0d663979b3d6d2094cfe7a284ee160c7da2057dfc5c43e0438f19c072a55ff1c758a6d6392ea58d45615f8c7adffcabdf305e8e63bccd5a35df7a192c73a24e3c14d9f93ec2ea21ccdd3e2f8f33303d36b79cdf69caa4ac9d2c71dc58972f9c7fa747d34337c95e491c571d86cdad94958a9a710612c3d5ac3ed577724887af29da95615910dd50f6dcd0fa24b838517b7e47e2ea1535b314d6c18f72eeed5ef85a48390c97d612024da8a82ab078cb939deb33c12d02df1143b5bc65ccc9ae9a6bb5b933aba8403886ccf6ce2c990261fb43047b0af7ce20cc6e8e478376e1b39ffff0ac6c2258e9b874f3054c0c0d71b2a2c8e926406354dc7c862305fc63b65368c5da1eeb18e18003e71e567f3a49fbb8cb85697ea9dd30c55452ab5804474041e2d44d3d2e6f77714ce863712230fe626400ae4328f1fa17a754edbcd2b4e38139833094bafdbbd580288de1b71c9b091ecf4fc40d487e85d872015f8f308c4e383d9ce57980c31363ca70e5cc90713c6cfb9693a6ab7ed501728c6d3dd666fd0eca8801c8fedaa7d93ccd2f6600e1e77c7e389b897f54cc07723fa7eecc9e21ca61b67d064972bb19d7fcd703a2247adb92c17567e297b3857205b4b3f8d467e2fb3a1e802cfb077a8555e1570aa6f1b4ba472f994d84e322241475f178f3914a1dac1704411e0ce1a454539915492826c3c0f42449c0db783c62a85e6c0fe766f10d2541f4886b65656d8a32e927783896577ba41e03464d5a45d3896de184d34ea39583a1b67be3038b38c42eaa3bf77d40f3b2127765167203956a06291638a04379a272c476f574a9ad0a29af518e165666381dc5030228180f86082a60c38aea4a506384db343533f2f015f134725cd6fb878b23f8f805f7e66b6a563b528da6f13cbc52032cd30cb2be4f77eab5ce5903f64349fa237295cd43fdb75cf7c6c087af1bf1009931363b7f6e44637753db61daf6fe2d8a4e895b33113a47e6c72d33a9091de58d57aeff3e2ef9a9eae81ea9d8b2c17a571f4b105797c0a352961415a9aa457761c8fa9097f3747e9259e398cc4a1e1bf272c3af8f9c67e4943b66ddd26c25b40a80f0c484bd1724947741ada96a86cc1f720fb84479e823fe0a1b4ef100330f4547b5a53a9d84449a9c61ec25ec2aa4ca7221972b123ee2999121378f1c92a5b3dbaf6aafd549f22e3e7f9ebaabcfb77f72d5221dd2a2798cb60bf7772e41b5310d5126a25030226c04f69e65894777097271d43e2dd18ac1c48db90f4e844f21ad17be66b97e8a395f38a100ba2faf353fb55ad60c6be344b0aba8c369abdb4d9a4cb7cedf830623a2799bcfda2435256f7f8f96c34bff28914947f9ee9a799b78241282f2af3ad1d273fe1e5c97d1e4722b567ed142f36713c3121079af0ff868c22fa37e177d005dd1b6ac56dcb9f372a2cbf2956d17f722ea9040854ab97123bc9291d1eeadcd7a32a72c3c7988cd729bc185210b26658a7e7169458dfd3f4f1d55f3158df8745693685f912a9c1c2ff4a89dc9b53c4f428fd16fbe8bcc42b88f6140c2862dfcbc252c50db98a5e872e6f9160b189e86f46dcd6c247c1d5153b5e91ac904877dec207577df281ba01c54f7cf45e4b224c8c0d2cbcde3e1fb7b23e89a53bc1ad4f7f225eb0251eee12cc01de151ab21bb03bf450ff01b8b3c22403a760d1f192a231a1198b610155668ab7317b4c44791013cb827dc5549e3735cd3e2bec7d2fe9a5efa4445a2dd6f2a5ac8c25f427e6426249ae7374125e74873861550954a838687a52ca447724e72beb4f7357f455fa2b521ac272308562489c7d2c0e3ba2662d468af0ad6a9137219ca330511b0540e3c3d01d9e2064934f5f253046a2cc7b1ce7f86c727fb5c5e8829cd06cc937c43c371672434e0f353e0bc688fe3a5c298ef6905660119797271da6cfe90bffd8d27703c39a85718c49be0311e789a202badc2291974e33b028d539ecd6c4347cb87b968d33365729fc29d96a2fa892ec3841382d817065c584873dd56bbef3bb2faa632c4b53127a60ef213ae4e5ae4b65ac3df163054685e63eec64d3062e87f9a5b801331896aa6b054a9f3f70c8ea014024469ad59c9723607044965d2e3f733f8daf779f134a0f874966e249696a869987d3be21c43722c8786c56eea1fdf36ac53ec5b276dc3c7f85e9af747acbb408d7375a302b343f24ef60cf71a830e8387d3246fa3a742883a1d9b9f6e48dffe618d3cc8216929b1c52a32e109333c07fda16d1169ca8de8f1673fe8dd1612cec71a4d0510f56326d2deebb18ead26712f975febd23a456905f09b917bf7841ad72ac0f36af30ff1fb1e0cbabe018a3346b46513900021230b7783b6e37e1edcc55e207820e843813b7f0bd51e513597995f03b45884886fe60fa8ec924e8144dd6a60c476ff0c0a09781783ab5e522283077cc58981d5315f3d3f538d521296a55d6e22a8cc72d437e1a9f5fd1bf054313bee524c2b46e884fd9db77fdc004a68092344b42531dce6d2cb8e36d760c8942ebea4f902cda1079bec48fa65b3afb019a5f047755d3a30a808a4af173eeeae8c4b4c05848ddc0373c605c8777ea86c4db4e2c6617259bfa0e1e436291f0388af1c5df51b585dcb9ada63b779905ec6854cc37b7c7285fcffef459caaeae81b562f9ce8948279d41fcd79541aa7ae7dbf51810c8d720e3b1dd11920b269b0caf356f9a020e07e8cc5f46beff0d5be5b3b582a537772a4a4098514ae23eff9e13291cd73047db9e3406ebe04d77ad3f3b2d158253741ee48308de14b6d4936b6f0b24b0e7c36b470cc2faccea7d48053a35334634872412e06720f76d86324bdc0f7ef1246477d61ce1449fa821f39a86e3a006f5a72ed4320b0f1ece5d0444feacbd06de55d23ee9636d5774ab2bacf295752b7943884b531599720e3f2ef99919a44b13bb38c277771db75582fafe6691af2126872e24cb98e0e3bb2632a9c126e7d84ef0ffb530cd09c6eeb4192eaea9a777eee476ee6f2bccdc99e19dd4b180f28a98684e455a0c81b1113ce560eb83b02bb3030794c326acae0ebe15587adcafa4d6ed27478530a7ebf03d05947c5309e9e266c1943c303780955050902a98331066ca1676deaf436d8ae0ab6cdcf8b4882a9725c8b34b37dbc062cfc580007eed59793f011af08709395a5a9bf41a8bac66819961a6790d1076ac0c7a76ff95bb3f914b341db0ca0b52f824c12cde1ee3f16727be47bb9b90fae7e5463f3aef9a329a4529637facb7b037c6e31275c57de2072b19d37d5d353356b2377254ba3e238be56b0806db2fa1e01c3dbbcd2f336007216a61e0754e4dca0d41a6f69988679c2c159cc8d10231f35d3e137b5dcbd8a72a1b0989c4293a00736890e9a0b748be8868b40c1e69964ace50a72c12adca0729842fc5db7cbe14dd495b5fe9b9171752f47abdf55fd02fbc3c56e5a1f87057202ace04e7c3c49b3a77acb6ea64cdfd1b146b0e33967b6106ed1a25d11720772462a86ba6e5124ead81f3f9f3ba4c10af4fad40b62799deaa484bb7141c5216b8bbdc966d1c5aca25cdcfdd2d26e7734bea1d249cfb56ae9c882366dd133af7211df738961de4cd69dbd1a8f459d6abcebf41d23a4226eea4715074fdb555772b15fb24a8d1446b0832a43327a26045d4e95805aa38d745b0ea519c46656510f1b2279c016cc8faf08e84bed8dd0f6c1623e53f9fd284391e84de8e14bd1bf3e0f490547fa461ce340a6f4103b1f6a920d5d45b0cf77c1dcd6eeccb5f1152a61072550c1beb692e2bc405787f711f1a49a84f4122aaf86ab85d9579b3ce55d720c3c7d99fcca531d9be1732d4bbe401146cd295bd5d3e25cf125db1429806c72ade140c2fd63a88a887d59463b50723cafff3d75e0058d5780e0d290275a9e70188be3223794dcf4556d039ff2247802a4b5bf950b55b7122d3459351239322a69e83b43a2ce244b47d96214c897fb0c22e30000fba795df50c1c601a2d4667234ed49ee61684a2448f47ee708ee25a621f70b10346bdee41403c3c817b55b086ec4ab1da91c80eb6197705c7eb1c28ec07f82a42eda9093331bc413fef69572002dcb458eb394ed874d561ea9311394dca7d1450d069057b32f21edf80bef6251a9123a43fbc76fcab7142ec36b5006a5531a1658a822f54f03142b65acb73e8ee1b06ab472628f1dc635621c3f15951b78bad01192b210e76d0282beb3356e840cee20a4dc5c5fe7cafb24db1cd39ce5b4ee1ce03266172811f1371203315a0c414ef8c1587bf165ef26be0eb64f7b74500fe9a386e0ca561cdacadba94d5a20f223d3db01d47b9e591d1eb72d541991904225e4404d35507f9858fe76c4727ea525e67a741c8d0642b0fb7fda04092b8e1d8ad07d542278878172198c6d03dc46d2729f3a3b5e9adf25e82e32ac29ea2a11b96980b1624aa7162718ac677295097f8861cbf6f0555b6c9220462d023d4e6fc4f3b11703177f904abc5f7f72f9ea37934181640e6c9ff6ee8d325589998a66fb0d2038b5c863c8cf1d990a10d4c7962f8a50315e4cadd30ef69480c0f83e29a220321a52171d81780a5e1c49edb9132eff5854d71188db63357e24c7cceb1d6a032ba0c2772835cd1e201953f6883d16d7c4f73a9626fbdbfd9b4dcb858d8f284c9aa9394541ff5ecab9bd72f4e39d209904ae9e657a3db17b7c834849413c98ff97aa9168e52daef39dbd609d4e875bcd8f85ab528ac6232285e33b8966e34dfa8e4da363042db893f6a5725baa98258d9888b400a72b9ae73b4e10fce47c990bcdba65879802d5d43fc7628612b7c487cbd19569ee738974555ac3ef1dccca4edca5615b98524ec4913d726cd2b42cd0794eacf185dd876fd3cdd71bb4e77e1462e2ab310f696174ba6f72632d0461651c20fc04d2b4f35d53e16867820ed458c15f566cc8a03e9971fa5ed7b05ad3af8f69d0f3f896e555e8a3a376d9672fff68e2555d93c535106d8f723f4d752044b36d689fb8f99709e979b5ddab53cdb9646100d717e19c90c21372f9f53c4dcd7adf63998057274a27119e018c2288a748c3ee8af682e6c9886118abeb16d230a42e0a01384c7dfaccfde4d04e367dd7e49d3aa7fc82621d8cfb7209150fe58aa70da4068ec2545c53d98d0aeb9838d92f018585f6404766d0ea0e4bdd24ee25da469acf1218abd04b496f2d5e8eaf02a9201daaa3509a2b0ff372fc358a1af4079c4cf04c6172ac2d9f9ce8d264516cb8e5efa8a8d18481ebf301aebc7de81aa52dd3af11e68387055f34e0058a4fa4c2eb35f7e4416c03d42a0ac9df2df685842fb9e78b6be939f2be8469d28e128bc7a29ac9913064163b5f72003229f3b6643bc5ae036c4432739a6eac726dd2e3060a7722b53ee7c4345f5593228c1ce1cce2282083cb8dd94647b8338eafcc64e0e2bb6591ffedf16beb2e9c4ea8de8ab9e9491f879d0631c93328fed216f8cf24bf2961d5962acba4e972ee31320e4cd2dccf120465c365be2f249177f0b5c7b89c235461453ffa7d577276f9b050f4fec9252cd1fe0f738ca5ce76208e4499b7aa216f56b76ae587667245c18e9a71cde1bb4152cbd22a9fb5aea480feeb185f8b4b8f2f7a78cae6837237772c51a90ca44fa60ebda79c96b15231612c03c4d4ebfde4ac95bde1b1d772ba6c05d00f8a08021abfb20514c9d76a8c804f5fd677f72282c734461a4179061e0a3b7f0949ecd88413639719ae9b630d135646b7576da101d6a965e5f043589427dd2e507fd96685d0fb36cd5d2c5bab438d34f618f76aa30e8407edcfe12d4f3ee4dd9495ca6a832d1a6e01eb7f2d4683f42ea4aee82d0d2d74cc4dfbd426dce258e6b0a82424b2a36265bb90824e23a6b07d32e672f12a33096a8d3e4e7243197f5bd2a36366ba3ab40f1587610f4416065b3532539e0edf35f73d51ce4c69909ecf159790076f19189ff4223c4b304bc1223a94dda4ada3635441f0ee727acf09b12485d3888bd77da82979fbd96adbb2f77908e213cbfd488cea89ee728e7ee59300111a62f8580294283b522189ad090c067bbb0ffecf81cae4351809b65af8a2f402313fe649a06b0aaf0d8f867802b3cf80266809c8ead5a4fb0d140b66bd1ee7386d682984e94433c81fa244a3829a35ba47893fd36267cbc9dc72f2e4521b0a26ae07d20334a9da8fb98239782d08362e006616fbc7c8638a9572d81b78d9b4560f9cf92cdb1a547be5a3d8971d2b87980d595f0e75eb092b472eb65b8ff0b2cdb594dfe47c82105c643aac0cc84e4b4fc6a567b6eabbbbc4a24aeb673437a29d44e0adf9f8b838abb81620138310bff24241ecb04f988c384e33408a937b9ec9e342a3b8ce9f2489f76383194165a77edf97fad0844b371828726b3c56cee9ae870d63c7585ee2e1787e88ab403af24e29052a21f34fe952a53ee8e17a0d55904637f1a848dd0f709caaafbf9345138cd8daf059d950d1f37472575fe0b4b30b01c8bc87162ce0bbaf72781cde8e085bd2835ff09dd667e0ef723faee1e0bf636ae20d77ce42a193ac9d7f9b331624aa5d42fc767bb338d6c672b705e2300fee92b3cdc1f31ad9f5158a8d8083e53cee1693618234ecaf3c4a61647deea91d18740173090c0e35745436e90f2c61d531685fadf86251cc252a723707bf037dabba29dc5d604b1e704c878ca6970ed80f1141fe35def5b02cbf483954f5e638bc988ac1cb2a6efdb80cc57535695e4488a7bd3f73f815f485b82d58109910226b388528e9a9804e1fd3325a629563760d52c85675c8f1c9426e11027ed677ff65ee643f90ca7538560813aff34b26d9036c3c299258214c0fd92dc470b9116f021f2c68aafe68d9c27f47af364ba84dddecad77562cbf2b502b646be8ff3555a63c427021fbf5a65f22c2cf5d5ba2ff37067738c84a96761c8b44ae29cb4beb8ce0b7c1e575e336db69eea71897d5666778a6fc8bee4490e00868425713252e3e25d19d8fdbaf29e8627c9ad51aa0113f190ab06b1279637023270f5549da774a596857ba97995e9132ce813c118eecb8c6ff4e3e2afe34eb5c727b99218c830a7ad8b09a4d28ba61ec61aab6826f66bf07dfd611f856cc165d720ca0d52dcb56bcd7b4bc048a01c52553d17aeff55f050a5533e7b09bb88a3e7213d60bbf2c29a09b5a556c16e407eb07f33101b29e44ec68b3abe6e1cbcf18271744568284de404074341573b5f7a4c3e40e619ea37d6986c24fdfc47c73422601d33ed4266651318da55149e1fe860ff12df900d0e09d7f9882636353713928ab2c3a634b5fcefee2c3948862f47e9df87c98ae1d0c80dd9e390954f79d9a197605697f96ed78c53c7aff0107b1c231bb0e3b736f08a95c25561e09743041727a636d586eb45c8db89dd71f83879448fcd946aa9eb14146f65b06d7ed2afd72baf24d77650e22ccfadd695af6b7bca93ced601c3728d9e12e8d75115fa45b7260765e469e8993885ff0201e001c1dfae463068c81724b87ec9bc741fbbef467f45b1ba43521ec122d0f7c2effb92af4677ee07b1ace8a8a174eaad7b9f8ec728a55f2671360845834ddca7ed8a020493f17e4f17255e0fd70c9d645ef0cc04006e308a760f046bba10745b3b2491845bbdb18b6147b0879d5e914820291601e7594c14e40ba33a20dc5dc29a13622b113591316f659d60d1b80c04c567dd37272e86043457d5a5bb438ed52ebe975ca1479da77ebcf35fa3feb1994be8c107204b4f00b62eec32ecae0d59835e968b6b4ec009f558d74dd937e0308b13b1672330749f3889354db8da18d6350ba921aefb4e5c75293f00fafdfd455f0d20b72be610a26eecd1566642bdec37b2d9f8e7c7fdd4740f7350295c3c207f569c008470a1813a321e8509c3a097600a7c28fc5adbc2b1cd2b3df4a8fed5733c18034b882619185242544e162cc7edea0ba448e95681e83878a78a8dff9a755e2ff726bc3439304f11f9dc424c1b8f00f7e1231d3e0ee9ac3ed2a5e7866712c4b4d4adfc90f7c41142603c6c006c4e76c382be8c0b06ded0f0293f0b9b346b244011778884dc4fbc3a42b08bd7c8dab7e310955696a74a01ef71360c71f2593a87772960dc79af2f465e82a393798a44eb9c9f5dfc2ea112f348ca8958d4a7258fe728d78c19da6957fc75ddaa1accd43d995dee69c3cba9c8d03c5916dd85c0d577251714ffe285a64c7681deab74fb71dc473992592e7d9680bc6522a600168c772e69b0244dfee9e8875d02f35616e69bbe00016d60c8d69fb272adaca17a8ad72191e3dbdb71b3f75c7c506f0d0a8be0e970505260ac258ef18d0f88137274d2656e3693c25d02db2d6dae6324db52373261bbf18fa5fbe917d9d9ef74e46910ba475de44654ddd27f300c9cba5e5688725b243e999cb9cfebe81d449dd1e8a1fcbd2a7ad2c605b1187d005e4cede57e0eb72d1e9065ce648340c19dfc53a184aef53cedda31a1f651e4875ef63957da549bfd369732f9f3a492520152c7a876e0f8dafa7fc450d92377196e87791658ddbaef3ba774410c25eab6b224778e072ffe3797b7ab41df75e87d1867d405f4e7bea031aea096cf62202c50bbb2a945df98022c44452f629d508f43624642a5439f153780718812ec9b5b0d10287ad72c74a63e9ca5a944ac6a532fea427f22e1c872384a52b80735329d92fcef23d72ec1d9c67d7fd45a79041987d7f5544937259c350b6d915b6a87031381089637224402125a5e9ed2af35528b056d46338cf65868ef3611ccd4f3efd896c8926162e1d3aba9bf1539fd834817e6b4d996738eea98ced293ccbdb4211f009911d1d06b28464a3f75c56908316c20f7af092f34b9fe452bfbb07205e4a058a7e254b5c946d58f5595c92f0672c424e4ba30c3b50fc21550a7de71536bdbb93143b72a192000ba8e99d61fd0a42d53066d9850617a51fb6bef3633273cd9203c4ae71a458a6beb5abf25628bd026433890ad1b28eaeb914b943edb66023faf6e5316823e3df5daefbe7bed434de50e0915b9f4e441c364fe8c4d549c3afbfc6548972ded29428776f0bbbeb112db3a01a6cce2ce1b8b0b688d9c29d39a2ab0c3c8a2638ff4065d8ffd9852600221d43090774470095a85dd4a1377769efb113eece02a08791d27e537446efd30b52e9d561d2edbf15297bbcf0e4ba2380cc0aa1da722be0e9f752b5587d9a2eeb846bdb2de6474debbbce2f51fa9a7e5bdb47375f7272e390eeb00145a3719145a04256f3e308edce3e6478be0e7a426d3983b8d1724e221e355a8000a621fc2d7cba83f59068d0dd887862c00b5d18eb8ac8a35772f11afd3498e912c813419a55a8589f412d7fba095335d4e7456b4a8885b88b72f6da9ddc721e26981736454e0724e8f089ea6ea13cd6aa90da4439d2f2b7936c8b90f0ab1db33fbdf4f835d02d3f5627dfaebc78b51e848cd40bde89a11710721c6a4413e4ed830993630aff7b567a96dc2c0260c32e1b5a47eaa23b1533b37224a4b1982da9463ca4d7790ecd852b3854d8595ce2c6660994212567089d5972c8e718a3cdc67405ab629d22aebc44e40fbaea0835e809f924604e7ca9cc2b7254818e9ea5bdf09e5a92960e45779ed360ed5fa031fdeec56f88f75cb56561664bda0ae5ca3e5a74c80ad8239ccc5e71d27f551eb10bb9ddd838052f8d32cf57209bac4b6836dc5aac4cbba87c88f78f6a24260f77a21a348e3c452d85ffe9725804c1bc835e4768a5460cefc9bde565f7faa819a8ad48c962ea79a885b55a724a216a2ed04da3c805cb607d933bf36349c9ebb25d6a949d41f81c31a7af28722aaa5dfaa3aa5cfdfaa0c378b3b8dbd2d7bcbe603b2f122e17897a5e4d5a24726ab6cb2c6e77509a26e2f88182c3cb1deff29bf34278684904d452fb05439372e0fb4b52bbde510729119bb5319c754acdf24bd5b28811999d9cb1884fc1f6725b0c578893354d2acb8261a22f9d5bfb23dd3dd2f2a31096d10fca71b307a03d665a57f865d21b87edf6f7dadd2b98918514e31d21ccb0f649ddb4765a581a0dc88f68ea104a01481970c6c2d8290bcbcde1d59c8642575db0aa882e1fee737206e2e28cfe605aa898463929666cfbc1ee2e04a7c5b10fdd37ed83d3c801e27282a066517c07bf2eb04a820e905d9bf861d6b2e181175ed58f6615d2735a2072fe3bba85ec8819bf13ba2f8c640383194db7a6c51f959c978418b69c1bec5b3e55df7979e9eb0431a4eae2ef80d794d9ce879ed189bcec91336afca24946bd722e6bd5928ae7d0fc4bec31ab697003628c6923cbbd7bec571861a25da51379611640101493c518692f00d5495d91e2c07437463b577c052b747a77349732d872695d93088c8d8ea5ac981b0b5df0c1309f0bbfbb3a9a095465550b7e764c2464c4d894d3ae8fe075d3c7dc32fb444caf360ca837025fcefe4c0b0c0bc68ce5350a3737220dd8ed0bd30b6bad3056dff9da84456d42c7d6132e71addec5312b72362423b318c6f3197fbab6a4760ff48368bff2688f36687b1d79a0b355e36372c454ec27def1e5f545d5cac50768c8a0e56eeb90ed319332b3971ffd2b63e072273d954ce03d8f0a036e21a6c3b4417e1fb5fcd4af782f369538f8e7e2946f72bd05c76bdff04dcb0fc614091a0fb237829fa93ed71cfc646f25507dbf207f6f7b6fa538aeb773a7acbe1a77dccf2ebe0c9d2f118012a1631fa154d0e1c4c672955bbd97e1e406319de551d718c8a6a32e7f14f95dc1b17c67eb9a2e01aef45dc0707e966b12969b55294a2cbfb5666fba91c3926817927a61c4ee769c439672cecb3cf4bf5eecc5badf31c29bc40344d4ac261588213e0767a1a6053c8838724c8a8ecef767d9330a57530acb8c9fd1e6f5b3cbaa90089afb45520c2224262988c34275a56783e1cbc42079b07abf414e59219368643f1c2bd6ad97463b1839b1febc578459ba55a01f9140682fa55e0aaf5f28a47e6832ccab11869d5f463e42508fef9230d0cdc2f2e4c8d00a05b7b4157fe076eaee1faa4049fdd92da572e2442632d7c6619891a81ad1689ee354e4b8e8d17f22d6b274b950d466d73f2415e31ded3512e315d03eaf49b7a05b135fcea92ee93cffb24f78034ef715de3869089eb7b2e24663f1b6dca30a8bca955d90b5c159d4327896d02723618d05729e98d4d7b704064a0a1bdedaf9ef107353cbd5b2632116f834c4dd0d466076720fe42c0b05d605ca7a507a7bcfd282c59b48ae45f95d3b447b2e863a23735872bf175469b1b3e485302c8cb62f5f2d93c2841eb8c402e4f3961d2c06dc111b7214ca695ae1ee8ff24a2f26dd58b6ee775567c454dbea7943dd27ebb4571a376381ad554fe275a7c3ce8848eb9b85c333650d124af4428309f0fb158bd9f77772563892eeb6516f25d9d1e655dc735597a26f2df5fc696a52b804e09b5d904b724ac5e5d6ef37c6eebc53a85473219d41418a4811df8a433601715a9bf5f65d721b486f673152e5d9ef2017496532bc16a3e5fefead1628bf5bb1279b36972a54d1f21b8b12554238303115d44fb36d27311e43f30e6bc39d8c0cb3fa10ee5b729620843c448899a08989a5a80882a85a7e69f934efb2b97e26922a4e51e72f729c68e2aea686748829e4eb2a277cc946a161b48c2a4da0b1d4c50065222afc27ac0047cd1192fe7f60620d100a67f125387207d8c4351623161fcc8f4afc45725a6f2038fef1c5ce89fe4ca59a193e20bdc95aa8e873b0f294758eeab302156ba294c8a8ffef4c5034dfcd814ff706a95be8e1cd1a2b7d0f7522bb7ba639f972002683384c3b16d2b919f8cf66d487c34e9c8525f9105eaf18c07f0513d5505dda521f6ab4f6bb8da03a4857950e43033195c8c82c04f9a7ca3846745ca6de729bf124f952653cc6416aef1477a221388943bd8270f9e0359f32af907dea3c721106d593069ed074f5fa01256c85da90831c487aac1f945afb624e2690961568803e24185da328dcec75434249e4529010014bdeb85e0aaef3470d5ec409f672601a8934f9524030e15c3cc5983b62ef215be3d54029e1a2e9f520b542879756a3fd7a07ec1c16fd5607d9d123eb15252a59e435ff3275774679ffcc2e7172729d13a581f37a5993855aee87781a235a0807b193df297690d7820c9c7f445a720bb7e20fd1a13ece1a778a74ff04bac7a847633fa76eaf0cedf3e994fd33c52250e69c5c7d503b93bbb3ebe83f2635d028d1447ca237a64bbedc121f0f79917211c5809d16d3efac9f5cac94086ff7164f1579ccf9d8780b63598d738956ab726c58b3b3e101da29db85d3be91a09da6ca6b6a2395d2dbd07e093edc84813572b66cc8a0c3f2e132e2a4ee64a7f19f3d804d6c56be3ff7b6280b84e5a20b335499757c08e2912bfc82e8f605d5f31d309faa7d5b71dc323ca030ba8ed82af246aaf89aab4ba47b74837171b71da2097c2dca43b8193b3a61a1d7d063b0f19c7273e205afd84cfd90ba092af7963ef78ecd3c06baaf18233dcdd519392b88135fa4a6290888060936050628a25fd658eeceb4f5d9c2c522842a28faa9cbf3ac72f0e4541201f4221faf16bfd7ccd222fb017cde3216b63fb521e79a378d91e155a22a7750eafacad6f14f546501628d401d8f6d5823cac9e7a7f0affbab231e726eb94faec17d25030d304a1da9e43d0056c6bb34f451c1df5546c93536a1d472fadbb9630342732fae1b27cb2fa41472a4886cf7e685b5e7a47845f3a6d7b43babdb0f7baea989f169ef1c32b4b32b658ccac227358a7e6853aa6dc848f81372777059edec4a7954e9a13e3af7419e5c0b8abbaad3233fca255d88b49a0efd72a192554b1eaa3c06c258762ce11610f23a59d5ed48e19988dfca757e4879265980cb1dc5b00490aa0a5b23a76781cbce4b30734b5e1ffdf90569266ae5c12872b9c2fc50938cce71e89d7fa028a15034181d47fe6f6ee2e313c3d1881846e31b277e77562de13fe7733a28cf70ca2d08221141d7b7732a1e661358de73359f720bb307276b168c33501375934ccc5140d5e83ceaf570b556ef844ae6cc417b724e6ffee0035f3487800107346c069d119511ab1a03c1f8db2ee736fabed4c9727f88927d45f56f7be5088240fe8a0ecb21fa03f313f8de0db5e2349f146df2729b8963a780783113ea13f632cebae9f6b5f3efe83bb5b198075fa1d7bab9205c563673272dc5c156f5aa45a16dd7692f20070505b929599566133f953353ef72fda78463789e522be43fb087da7cfc9d714b07c3f89ec963ad83bedcb276e852bb355dc797a5601a95bd257fcb2ef8ee46a1343423d3a476cc7446074de6f0723f48008be04ceb7dba12787cdb84edb706a204b170b7856250c4b81b3f7aef728103593bf4b37b5a73d8991029699fa7c6f0c00880880a61cc8ab4f614f5d369a1c76fb38013c3dfe10e51d348055d3d602220a7e8ad350431ec2a5e6fbbb6728636d4872f635646308851233085d2d6ec294e3a1971855d1a13ba3cc14fab72d3e90e677699528242b2c44807456d7a5a0f273eb4a506cb4fef3c2a64b3567225cd041ace1289d6b1dee2e4bc1edba69aec2f87e04e2aa5f7131f991c2a3472f9af6bf1f17fe41260d8ff33c83c100d15f4921640fb0b067ce81db62465635d906aaee619d70e1dcbabb918358125269508b605d79080c2f42b50e56c211d7274d2a866e9b5e1e5b8ac8218cb623139f6d5007fc581f5592062143982f2647230c4a00503c50e5dccac79396dadfac019628def6aa52e64bb4b39c86e04a94107bfe6401ca111143dd8fb548e1dfdd177482f1dd7ac5253e45c2a917966e272deb84c36a6c6cb194229cf0e2e3dc3edd6d268160fcb4c927a3702ae2b8274709b8b95ef7af90f7ebe1608b39eaaaf1bce0ec57205cba5202c33c89ddae44b46e2197b3fcf35383e0f70628d72fef441a41356818e1068c9feab8ce1825d3a724d6f7981cfb707a3b4fcf9fa11f134efc14b26bd7c141859cda192061bdcc9726bdad6a030b46ac844017d6344f0174c56ca8590d77c04e070770c0abb82d672e690d24e10cc6281df48fc297a5f569e9bf75e583f90ab9257824e140fcc4b7258afb1f107681b7a1a824654894d6e07da18b00ee93ef545a3b8bbf777fed254e87887ab4c514cb6a67a3b0b31609b68ead81912d59e4b4847b0990a523fd1729544b226f4c3efa7ada70d0edd4b4f1432b0a2ce97666c9d2b3ba32d9355f96dd0e8a596150923cc670d729df35e3bff9dd01823997fe745f2ead07c85ab137228d723a4c830d34e9cd4de2dc3deea81807c64a542e456a3f4b12f51802604723a3f30d70f2e5f547dc2263f2df925a5a6699e1aff143d2a7b29d1bd59f712466f45798a457a4e07d58892ab2b53916e8f951fe746f21dff8015fbf1aec29b7262944e2fa59227b0f6669b2e902daf4e237e1e04ff211521becc9af5a6077d72c912add0fb9a54c8d62eaa8ab699781629d5253a1b92efe8240ba664c0e4cc72da8603b1d2eb02b6156dd209867cfd985edb0a35a3bc94891a8233ab5eaa2c3089912581748f79bc9ee8e07ac509114429ecf6b6911771861299cb3c1d91e472cc232cc7a416b0f33e7b4e988a3501eaab41d3cca886b13686e11190c9b5787223bb5e7f36987570c8ab7f2e8f712151408f8fcfdaa941bcf245ca19a6aa8272e1bdfebb3db3f846c7cbeea74135f3d73d9b598386e81f801441f563c2be7e72d3d44c05a18f63fc7f4e5857880d6c14483d02a5c5dbcfa1f35a9eba80e7ef4b3925bdec91bc5527405833bfb6b336b448cd637c2fb89c68e2594058aac3e57296800afe1ed29daec75dadacedd7e67660d0aef9ab6c561623039d0e33a69272e482f68a2263727fafcdc034fb8fdfa8866ba613aaa9f1455d0446d1382aa07299bd4947737f0d1af82d85f7aa32bdb997b67975df852061ba309a34b67ed972241110843eb7b172718449be3ed20b30f50c30c4c059638022e602a21f28633e0eac19e1b693d47c0db3f6bac09aefcb2e24dbb1acaec21652c7f1f21ca5c1722cbdf76d1329a774e28da9e266f60dbfc52b0d2d28bd85947f334a275a433672ca6faef105171e110de0dbde0fa9c3f4fb367af223d77fb16f1f8274e860367224e4011737a176efd6db9554fbdd8dadcd6c877cab05357b9dd6c8ba23d65c6f83baa24c129e9bc56964ce0bd59aac848b65f708d5ca5bc47a645a39aa59892e06fa2fa9f147d7d24cbc6b0970c71222a36481c94549b010ed0133a7c1e91e72428b0c761c3ad5b6137543bb8f13fe31a6f3dbc3f7d9c90597ac406deaa10572bc39640e72466cfc0cca849f29ba0e971587898b5c4e7d91e5855da1ccedc572cff1d4723565d1b9cce424424cdb7b021ce8c6dcb931c6d3cbc3e4871207971adb6c93ba9015ae6601e1e3040703a5f380f57091d55b8378884ceb863515292ad15aa619673056e61970f97241393e39b1b8cde36af47642dbe0513b76bbb019c7299daf0d6fe1b14bc9e1fa6fbd693c867ec0f89eb1f7648f5e9a9a032ce31e51b7d832e4a79aabeca092865c26fb18a85bafac724519a330203f86c8586e3f575e269827cee14319c185d206f7cb982bcfc0c30ca3791992fd5d6f708e8464d3da134cee83b9d144f42efa77ed982bafd67b789f76621e4b7544cfe4388872fa0337ed44c9b41859227e3c8f69cdcc7935ac2998ff8e6708de6270d1f73a720081cdd60edfe6ff20e800272b9659d6980c75a739c454273bd8e6be836b3b72e51a64d2b84a3bd39d4bccb08abe37f7f8856630de6a0d07027db8b35ddecf21ce899d84f9b695e436c4c3753e3552a25e7f977d9ff8d04bd397fc510adae37241e3aa37f816a4607e41b4e38c0a83d7b2da56245222012b4c39f6935f394d33da40e46fa54887de76029fd994a4f1d2f65d5a4a2dccfd293b8f1e521559b17287aff20c39af4f2d079a50263ca0c3929045ec7d907d99290921a19d02f0282fc25a1dcbe2d33608c1196a536ad0913908e6b38ae3af4b5907b0422be5e55d72a0cb0af440ca6429f72e89bc0ea2750b85c9b9701ec4e43136d73d18db88265c10e9b22a4498ee947636c0a98c36cd1f78b9cf76a3bb62e2fdcf1d636ee0b664fc55ef808b0d29be1e696cd531f139f7a30c2fdfe9a5edead7063df1747cbb052b8120f55bd89e692dfafa039232d2be80a2d472278436c7025c1d9998aa1a72420e75e32a719a3409a3474e63012bccff4e116fad533d91580fc1f62e799c2c46282f53bbef46080c36762f6ead8ea9df9403afff560adb7daf897f382fca72107ab3a2dcb83929483c6bc88158fc6edd9fb1987d0967149e0f28dd3985c072acce972702f30a631b2968a322b8d3bebed14bd60ec1c505e23899790788aa7214b500c659424f87574978e72bba08f8e2bf7a1777af86c251e6852c3001d37251817325fd87c8281064faa517029d363f8b1c3caeeedbc6c56b63c9318b143723ec5c9503af2f022f1a8fd729f3e9f54339341576b67a1a81f10b67c63caa2d1b2ae2f6340421a71b618c60e6eee73ee044fce64c335714e2c9b24391ed81688adc4cdb2ee2b3b5738d62168458fcc93a0936eba5bd0d1ecc7dcc94d93e09156b3a39ab8ede977fcfa229e9ec7f66f80286520914601cd19f62e37ab53edf28edb4e5eb8dcb04e51f7f8bed34ea86b0b4f691db385d892ed8a95ca39c1de77225ae437b26b7c14653f53ec17dd006d669c9485bd053fafffe620552ab207072b9873fbb82e36a2ed00bb3e58edb7d0c78144dda96575c1ca99b891af8cf6a1e239fd5459cb5f19bfaa3feed60cd2ae3bdbbc55b1ed01f62591ad31c28f99d72acf1c313c8a119189d07513e8e88e2dd05430c1978eea5bbcd65722a8aa2027254d61a89db0ff37566f7a17ef08914ea6bb664467b166a56456c54204aef4b72b379477375404e92eb6b7fa112f9d610fa9ae55d83edcf89d805fe05295d0200d8b6faf225ffab5cf5447c9a24baf3327f6347b4f778bc28f8b2a7f76341915fb73e68ac5cfccec0ce10fde844e0483f37a3cfe815506c33fe44cfaec1b40d72398e9b501d51b0ae7cdc0eca5074d87795a030a7537bb20e64abfb1836751972ef5642908c3fce5f7209359a37c093edec1bbc1a8c942b54c8f796c70bf9d97290ac54239fb39e24f9ce2f0d12d9f6fa87fdcd5f1bf1652bc11c0cdbab30695538d71fd784f90e60f9a90ef7cd02a7a76203822771ca4a087d6bc81897e70272d96d3dd8006ecf36ce3fe255c39b60f76d13316fa7dbb33a3e99339594358c72f3e145a14d7f05a56e14230d77618335b3246f89f58c3e90d39dbedcfe492672ee12148a09eac9ac3aaf670e2c67645712724550ade77db9a2094ba8d0aeb072a28a58a85409e2f6b9c78357e32d9b33347915ce3094cc50709af92ee7288872fe92fbccb571f46263cfaa6ed7e37e34f78464669b16f7ca73f9963132f4382a8ac45d02c17f734b4dedaf6a535fd4b49801a5a4a7e580d06ad3cac7d62b0540a4db72f22c73b4b58a4a6a102a4fc9784d99b1231b51d9c1be880b994142fe7251228cc20102b8a54cc9e1ae33e8d21d6555cd5b5ab960c7346eb33ae768c0729427666a3644c5028112b0f2d0fcfe4185fcf873dfde3aa3a9b64cb36d27df72b027ab744eb148fa24cfbd6bc43b8b08feaf289214603f85e06a0f3aeae92372519c78274eb393c694e222942c482182c19e257fb0ba2940b87041d64d0eec4e04dc33246eb6ae3a62afa8fbb22f2ea4e734616cb5bbcfd3b817a172cb401c72a8c3d93e1a15efd8a6b6903626b4b3eae2ddafc6425cc1d14bd41e30eecd7672086a7f8bf95dc9d4c970eb6b1f20ff64027435cc19f3a0764e958c4c44e6cd4fa67026fb937bf0b2ca239772ec5235ecc6891e093a116736588073ab8b12c3727067f26fa63d9c03dc862c0aeef76bdf2aa196d05da75b67b4fbab7d4855f972bf9c833b1d08accba4eb3c0863804c1b38c423af551bf5f2977204215ea660567a45fb05a7f86298ea052de76b64e21fe04faa0015a905c7155154731b2fb472008671e14eae47c21b16e5b40f91f1704bff8088f62b5bca22b030bb1fab61727b8a9a78566d818812717ff123be9c4dd693ffa1a6f056e26ab271af9a8ebe72dacb8e095cdfe2a5b1fc14eb01935c72ab7a7d0eef22667e4344b11b46aa3d721f4e6f59ac99b03799b5c1a9e164d24d226f03428d99c43c4e4d277946a4c515d160a022ed66bcd79284d5bb06fb65f2e2b2df11af7ebb77e82e726fc640534250fb37bca1b0de6401c8919ed45364dfd0a712fafdae65866ff737d6c06ae969421c0086a41a459c45fd67406e046fe63effce3d6b6059088d18e7a626ec3972dcdb55bd916cbfccf487328e6abb724cd369ae409addb98b28a1786bc77e971708c7986cc5fafc7090972d070bdfb4be3f160febe267f7c847681c9cfa070e7268a9e8914a888158f3599e430daee704dfbe6ae00a3b1450b92da8b418e09515fae7502d364bdf343890628686d0bcdd17ce577ddba3c91984f1e7bd98d4ef72966471280d9f77d6658627030782684e27f86fb16b0cce4611a4567e43095b41673e0d05bdbbf33bb35a1e742defe1932feeda1042fa4bd6086d2bb447673e3d2134fa328ee50608d5439f657ff045c93d30474a61f3d422a684a71d4a1ef0727b24213a5f181d75dce2b103208f7cb6a7dbf38b7daecec534d195b484f5e61847cabdb9c6a2e3127d8d1e01d00b42e10f42242d8fedb3e80aad3d652948694267468b0d9e8561862cc335e778885d651716de2d9436c83e66d319d08bfc500192169a47f82a01457260fb18758eacaccdb5ba75c35441cbd5990bddc3ca92563c7c461c2efc379a79455420b482a9b6aa355f250114ef23ace8b2a3afbfa57210157dd86f32ed7210f2753d7ec0c7100991da27343f1b86c32426330fdb9c4131ef3c1915cec9329f0cc5cb9132d02dc2b241cb5c46d974cc4452f5a2a6c212e1df9703ecc3438726e67b692b863ccf6b9fabebb10dbac41305dddf00434572f4af6d5fc0706f73849f16aabffc8c3d2a94036e9ed88c8da0f367bda2131f72652ddb3e71fc9ad7eaafeda0f9c73736facc190a1fc9b40ea9e33e30389dc3723212708d7463d0c441fe7c111d370264bf73b7ae7049791141ea22e38948727239d7d6cd0456bfcc21324ae3380f1756418c740cf45b0ad3f5a38f3cba144d722e35bc9a29d8b00c5dc9d45e70f88d3e3a37209c2b67fd8b5b93d0f7ca143b49d33b1e23645947220105d33e8dd089e9e5e16a657b73ef842b6970b3da023c2cb505ee8155aa0caefe03ad8f36106e1bf657c415198b74939a8e4892cada2a7226abde496befd2754d66e4e4213c4b2d9e54bd85064b828ba7df26c585d7391ff18e3af51601dadb3d0072036d26ca11276f3eeb0eff04cb8ba5dbc418321972d6520a80dfa7c856699010f65f970a9258ffb0b00a4973ff693fde2300a72170f3c7693a90b8294b445b92c91ee87a5e9b5718996c1dd8adbc30337aaa2a8241e8c159b4e5b8f4beb2338b3bda1576905f8fe7b09e81ae8e7c0b2f90bfa1cd72324aec32dbfbb01292acfa760f47cbf7d80089841fd7268b46164ef1cb7729725df409959732d911f4d3a7c4efd7d285067c57d30c6cbc98f4ddd26d70d1fd72a6feadb80159f28eeabaed725029029f4388a1a3e0f75a5be253d524c45724723e25d3fb65286c9f6d43f6adb6ffe2666ef1687d9b9c0f1df36bcb25f2859072af1c68ac2c867f3f3ec2d36b26fe5290d6890ae8b2340ec73c019445adca5c72ae1d918c726603c04a22f9199a5919d64fa867579592bfd4b77035122a9ce1724d164eb8575a8feca668e8816a021e91789767fc84ac33d340d25ff0fb81ae13d5487ae158d4eb2852f006424f1e85329efe8823cedd0c55b4b427ba603fd7405b46458c0c2a28e49cd3205a84816a73c1ae106fe9c94ff0a669020e4a8405263cd838ea3da8d1f508151977bec7feb939e2fa84aedd40fe45e622cdc204935490d5b2900232957a943763621d10e5bf850702018a27a3714f1efff917063472927e885f0011bd90859cbcb153af4e3a842965eca67f35455d5c37c9cc49f072235e273020156ccfce1e94646d1b420fc360c621a37796707a0822bcb2c85d2c6b1de240464214a33c41253b25a6c604c2e33e48dc9c0cf3002a4c853d83e47284dd4ca76a28d1b9ac06faaf8351495867b64f29e56413b418f422c0f3d370722b3142b78be1cb73ff3f2680240aab480de992ab480699cd547935d158872e30db83e536cfcd4f084b79080eeb50e2d15470a77e06c1e2d78d27ade665aca9722ce7785c20b77e797413fbe2137178bcf13f8c9f59d8a903461ddb16f7793472a74e0993c1ea1eb2c4b4df2069cc2f1107750f18c5c4a5a1d65cd315acd56872049a05fbb592b04bcf052864f4a896a0137262b9e5f41612298d25f1221ccb7290524478ebd5ad8b71071dc80666b13c7965f0119a3c8436bbc11ff78b45da406a7195a794d87404b3ae55efd95265fcdf3857c57a801091ed38b4cebd04f23fa501494f18f549a367d465abec69d9ce4ba45a8d39bad591f5f065fc4a626a727ffbca0feaff8ae72a88b30f212fa688e199ceecfdbf6dd7cde0077d0f955e72bacf2a7db9fb95b7ba7323e12eee634c87dd093b2add95eefb0dee4e9762847202c0195cee0f5318e8e83b7424b720abc7da89db79c6c47a847ed86768184c72703b462b41dcc5193856d426ba0231a407e98a6174352a9a3ae044d2f65e082a5d01775fd0b834b4ffab54adfea2deb5b0120ce16821902b277a3372d50b3f7226d122d31a9c353aedbd347456323e9bb332802b9f3651324db85533d8bbf87282709508a11d10c5011a7c2d3f15f67ab6472ff7eb252843761d174aa21e42729e5560daddfd4f7aa1be8e93ab2c0078a8783c35c75b7c8ef75f81e768e11172b6a48bc0b0e6ea9e6ce5b74a7316d14d04792b7328b8a10987ac8b05b5127e7242980a7489269dbdf866521738b4129e03a554621e997dac108e7d7165c8e834d5f0109485bc8d1495ade3f1239d3f24e757201c9acd693f37f6767305299b723a5157eae97c7571e6a43b94bb201d07cc5bda5bb2acaa4f208a0a93f9cd4d6d8199b100b02fdded8b36540550fb8dae3ee1d743dcac43494a6d0abf0ff98572c7f7445f4e1beb048730a5372c4ee917fc7106e504b02aee44e0a55a5550c072d66607a5faeffb0450129f2136cf1d256a1a5387127756954ec7f305a4ee45722477b7bb90e9e8c8689034b15f742e347ddf2c5db1b3520983c3b106195010463d53245db79e849eaee70c1289aa7105b5c9c223cf51a055197fa88df6aaf072ea03f575394e64a2dea01086d5604f66f1428f6eb2c610c92fccfce7af585e72d2f2cf3e32ff94987b5e916e01cb04f7c1067d992b61fecae11f6e733a293072d1bdf47490befdc33de9d21e4d895c0b905766a7e75c17c682cadf52f91244722690a2e335ebba4bb65d070935dbea6b36115fe014bed4f919af43f9adc67c66680e0f1d36ca81d4d3f4be5bfd4fc58f935a46222d82e268abc6cf3d41f15172858dbabab4b4330303065d3d598dea52243a9a7920ff3c6c3ce246a70997d31095823e745bc5ab9d8b9066588567f988b17c4f39052b9626d93cb999916bb137e47e24f4e2c0b1fa131c5de30f33af7025a467a4002068bb500f3ecc137a7e727e8a60001d9489f9ce180c4d9b3cdc0b9f0421401baedde920fd97c9a4a6e72c406f165c2167ed79a91d6dff3b895637c4c055428d81ac55f62e5d32e3d24769d238be8d6cc44497024477381aced561a5c4847c178aeb7ff2ab283ef0ec1b3b1ee727cbe06d860bc519a989e1b6f4eb2e7f2cf3837be161999a31268838a2727e96e7eef608e36592950159535e04857f3acb5a7d7d6685ffaab2d26dd11972b39e5ace82d0ca7c62e902e09a395bb2ec9a153b45343e7976661f2fadcc3c7236e8b0305cd75806840176b46b58fa57cac129fb9b2f46dcc8f47411bd64e872e4877157fe509a87a1058fc5942ab4d95a3d2359bd087819a18e810e1b4a2718a933fb613d6ffcdd8ee2658354a89fbe7eb5002e1f7499cd6c75e59edf9a1972248522ca7e4da05195af522991dcbab94bec51035295e0cc26880fa1ad138872c3687cf343c8134f027ceb6d07cccee2ba8d75cc529d3de165e220af1eee5557cead641f59d4840e905114a333651449441cbe4b137b5d8d36b4441bc914a248d2b3b5948144c02b6919580c2b72836cd716b1c59afd0f898132184376933e6965f4d7362940f16f7b176d4146165c565e07049112644099a29ceb05e296337234829174784756c93fc1ad73ff36a7421ea038afaf88cf786c5673d15a2cb763c87e3b73ee9efea78daa7c00da124a2339602e4a239ddb03b04fe0afaa89ac5f6237f6f11b9d7be55ae8c91c2e03206797012e81483f09f3d2b986b45f5afb721d7360b174973f9c032833a94698edb476f7eae65974ac50144361a21409ea72592705e25a575c0d1505a64bc7d295843dcd54960bfefaf0613e30ec749e707297d38b5cc905eb8aced3bd3b0067f09b9e4482cfd4ec782b780e60a509f0e74aad4a6005ea11d114bdda3e9ee996197f12ce014d0cf473a415e4f0afbeb127726118ebff2caf0423a02e80ea2a261c2a73af2eae99ffa9f4ecc6710ba89b4956318bf4d9beda744d5015dbebaabba1ff1d0cbcfd9ed1836324cbdbc7352b4429335fa2a62029d87b414c80394a75ad19a9144e857e9ed553b4fd126411df3d14c4c9d28343f46c49d1278d31df6c09f88c9b56a287bb1a8fbb7d96abbb675a727c911069fd3707cd5cbf55283cde2851d52edf8a04868566f7388133f5950672be7b985dfc3c0981c7769067152b9cbc15f23f74f8da2df9105cbd6a0132cd0bc919dc0dd8488915e52f76e69b119b47099e9077b70f5ec51b2ff4fb3bf99272c78f76c3bde861541a04a482593b400c0bc861a40b457cdacb20e4f9ab11af728b5983f3d7bd6fffa0bf218f8354cd960c5c02b48fe580d8b36b88c8c071f9148d073e3fa4b0a7eff9898744a31ebc74d29855c92db892d113d6e533e5034e72b6a19e7b6d0bca707fe1ebeef216aa7147330c3527ece4eb015f965b61b93b7254de1f1aa1a5a687a1170e59ba6680358e221e16e81013a4cbfe2140d04b92021d795052f3531efe2f00048b8ebfca69976ff853700b4cd5f7cd6e23c698b372494b436b6e8703da569be311916cfe4d51502dc2c949e50ee9cd31de5fd7e372cd9369e26a57b392e3f1237781e551f574df15c351c0a0af42286877a58d397265ff51e1cc2b4cda99e2014de5cb4dbffa21c9d549a8ca12b494ceea3cb088569ea5c243d3d1221f9a2feee89341cddeedc85f48cc1186121c2dffbf335d6d72145111e5128c0f0f0f9d13240414ff4ccaffa72d3270258d49f2866543b31b725b1d29c24c7a5dd2d47d10c5ef15d78e9d4092973bf6c8505cafc2ad1cf1a73ba14efba0f1c3eee5f6102384c3e3548f38dd3350e067c47a32a4f7df59551672240e18f02acee1a3c4bb954d88b929f26863ee84e52c5e6825198d51f15efd724b4268a30ae59e198c6906de7bb2045813046d3f7ddd2673fe02f3f38023a2726483ee17b0a9121d4938177bdf1fef4bba888c19c316c010e3723a63d02b8d7282fcd5290ae4e104fcf6646866a81dcd51e86ec79bbb5416f3b224cc5eb58d5fae40ce684a7328bc078551b2b2007ade81b199ee5573a854577e2c1a8b18e872a5c214917bbd585ca55f8608e8f2bfbd7c7adcf3345d53ce0f708870e968fd72b74cce148a3a96007190bb8a089304e3d576b582a1049de7f3289472ad52b45f9492b52acdc2bcb3c235a15b1eadf76865372491861a8b7e6127e3c122515572a11804de6cb35cfee2caab2b0b76ecf5208cfdde6946e0e48b74fa8e5a5f15253c17a23b9024507f20f6d628cba51c5db51dcc1a5f1b012ce72c1f0b3f900272ce5fc88f8a5475796a84faf4d92b0ad8b16d46b6985773c6306b722ab571a972cb336a01aba8a68d9ea27c21a3ac9fafbefccb6784633bee18aac48640ffbd41ba90e4905c9aa078257fdca793e3be812097151127e0ed613fa50cad4f9b2155da4d6d554b806655a157ffe9b18757623a1d8ce86da76605099263fa7c13e672ea74c2e4aac2715403bd4d74590380f98d751d19e176da963826b7a5501026722648097dbdefee90ba0a9649d2062e336a83a44b12dbb0820f944d2646c2a76d3fc915cab6e5fc5bf57ee997313ec9d814cd1a179f795d49d1eaf0070cc3270caf9f5f32d0c76108696051ace3977a02074712fd2032794d4044f494f8e9d25e96ef9c983204bf985188acae6d0fa22ab638fac5e46cee100a6eec65cd47520ad21732c9bf4552462fda28346dd438504678ebffd150711fde15ba5713391c727f2e4c85edc6e795ff5299474ab35d33f6dc40479cd41c678ce179abc9247c3b09932ae482a48840a0abb0a1b94fce6b6d5454a1cdd2b3fe02dcb656ac8eab5473cb315dbdca8bebfa42ae5129c6ebf500a37bceee1f1fd7711c80ca66676750cc264911a4f656e8f480ae31beafb4482dee8dc59190c154b9cd8944c2291429d8b7e226e94df91da25b8c747463515e140313b98d11a9539eab52738d08111a3f181278b67f370adabc586209a770d22dbaa852146334996a9c6765f5356172c47277133ff77a641105288d1233b835f13d428d487ee23404139a30bd41224571ba576d84c79b7bbf810969dd3bc6a0fb2d1be4b339d3e74e54a76f948bbe50c264caafc5f16a47dc16452b4a3c95c6c6e72debeac353c71bdc36167277c048646ef5eb312db9b22dfcf58d8b843abe77477199451c37b1328b4efa5f6fee56a1d1dfa0e9e655258c6ad7bfb09906f4bf6b9cb5c86e125115e90370a57ce072b485657ed587606f0f003ec6bb77f118167ded341a641b611561f40a34cd7172afdbdb52ee919da38038190612d52b79be27004fbd4234af362c2e6372113f234f8181fc0e6db093822eedf13bf24fe5b9e4d4a43ac6a5ec8f03ea21482acb720ee0284071f98b647fe6f1c25582f047c7b4dad59051aa7c7cef5e2f7ecbbd691b44a2a8cb36fcab1df9c9047a28d277841f5c64b427776468c0028877710472de6d2520e0531bd2394b5a121911740a3c3283893b619e7dd41c191dd0d8ed727ad6a4246717817fe6333456be6c0ff0852c623b43f2cdfba6d3fdffba91381c48b41797250743dbb93feb8bd18bdd0b016c34bb495356da2fc13610bf7f5a7270c3fff3adb373f963119b3b01deb08f52bf0c6f66d818f52f6ff2bac27bb026e84f38a44173dd486f41ef124384c65de25e0c15223b43ee14d4b4cabba9647239d5848623e6a6e81b21099282813cc5c057e73f1d989873e982daf7454e67727044c2877258248a81b8abd41019d0092c793c11e3f9eb36ddcc5ad91c522f6d1365f5ac914d1e6cc31dc7d18d26fd0f8113ceaf1c8e75f1525f3ffae5c2612fc3d0b6ab106c6a87e10260ae59f79688ed3971db359166f0eda51596d4dfc7591421dca3e7fe4524bd51da204f0abf5a3a396fe41cb6400057ec1ac8a1a02a56205ee73acb926f4e0b0864d36dcb8b859104c6e52551b2957c1367aaccbe491f9eb186a5e42bf8adec3ff04eee477e43f1f7bb9ed6c48053c26fb4958d8581725b6ceeb3e2e4cb5644c10c28549efabb0455e8b207c5547a9a4c213b061fd9727a2684fd0bef937d8064df5c616b0d29600f3279ffb21e262f864824c84ef906a2dbdb027913fa739e250a9071243330f69aa2d20e71899d59fd7f8240b5da72cb002015cfc76e6bd326e8399f185c6392c717e26864df57f5f0b590df172672b8384b7f6c2f1695e10d1cff0aaac02ec77f7bf0f30e807e6074b9192e2ffe724c48dad36dcb342222ad4140bb4e6640b69513b017711efa12285f4ae955a13e99c6055b0eb444c7db62fa8a56097018af08faa1581b9dc212437b894c56b80860ca967ea4bdc30a58b47ee50687967a2a3c4f1b012d896fc376a306247ba6722d01bca9c29095b6c7d68d9e0b3cb378142b0938960a7eb28fd79ec1b29a2872fc2b236816c69afec4ff22b8b8d2d969f0b82b0af2d599ce0e92a73baeece572828fb257e58ac2649b051e6e539de3676f5745a7c87a28a307dec243179c956507d274ab91aab1833118e2b419358329c2fa7bcf766a8448fef15269b1175072b08253877e8d3be58f79913997d07e5d88eed7455ea312706d0259ec43fb5372d15698def71eec8f8b2114b967a0c35321a204dee5cf0dfdac8c8fa202298e3ad37bfdb1c24e8d0282c282e4738a3a37e1a85221d64f1b9c8c57fd0067357e72ce017929d6c0c8d16ce6dcd3ef8fa10822a2330a3256a816f970ae4bce46ae72e5231d70369dc6632f717563327a36e1a98c58351b74e633c9e10f32790d1772e3ff58e1414ee45b5f6a87a59544e867f64dbf0491e8a36c071d6aa25922d472617157e1a3871d7c95b2e8d10884009f9e707b18daeee2f3bca6f36f26455d72ef44bb7699c00f8797bd0536cc924dac6eef888c76ad672a71f33df6b3cc1f72188c5c6741d58629432b85a8dc0896bfca1d2122332c4355ba07279a208164728d8bc195144fa48c5f93716acbb4e89a1a28deb0f99fa229520f1626082e641d1e4a12c0f6a8f5c2df3059e666381ce05ba711fbdf6edba1f25e7d5cd6b05372530957868c77949e818b452c8e5d77df2c7cf82f90f23128bd473f2dc7e2d072ff0409e2550b3a6905823e1bcc6fa90cec9da45f29064392a84d9b86dbf9c94caec2a693e1ff15e3b7f688ce470f5c53b02b460059b5192d4c99ee1feabd3a4129930de2aa97859919f76542e14e1f69c1a851d3422ea5efec7181de61511c7201d957b01ec286f5b1746e04fcff19d4996d054af49b4d6d37288beb7aed19567594c181f1d94b8ab40e32c0920e4a520d522ca1311adba319c0632f12ec7218524e9d8db536376b28cd309aa4a3377ceab391330040ac6d0462746c38358f6cf06a050e63c8952974d4cef608c956c90c57595b03ed8218b46c25041574fc5f40f0a6dc3073206f603aaf882cd313cd09a25af45fde90c5e5b6990ef17472722942cba53b0af041e7e545056771ace1219b04a6d49b0ef5d996645cd65eb87222dd70a70810eb25c0b8fe3d1a346e2785ce2a1c38f1847d42ad3c9e0d8e8672210998ad1b5867fc19620c91a860bc2046a73a766c0ad5ca2586c2959d0d66378a561dc9f5e7ad37035e40157302da04cd56a0f7373edfe590a34317c2b5ff6ac088e702cd95aec266da459d1c188f4716859eb7ea003b5433a71fea11831e722e83e351a1791ba97cc2ebf165300a9632aafb355389c9c011d01b81f7c16a72476497f2b094f481f5f6f393d61b99d60d3cd6d0cf4b24df4d7157779ba5ba72468955f6e76d15d429d176dc8be431f371bfb9944f9311dde55a3d2578fefb72a4a2234203b1557d77a9191016f442a1aa79776e26ab252d414f0561846ea4343b3ecf85cb71d0b414ebe9cb9d6d24501d60536d944fa61483a1bae92e9d3272074951b44936dfe83102963b0b4a1c20fe3ac3034e9cc7e2c2baba29480f106451ecd483e548f1a86b3f57a431cbd0b86104ced0757a4e88d667b441a76516724d198ba7b7cd7603f7f32a0e2cfbee55ae07835711dd575410ade8a8d305167287b173d594eb3e68c25a4d4e063904a3a1d24e2a2d89586f96a33379234ab772c3e4991c041420001728e4602a273148a9162eb56bd36dc582aae6eadd272572a8ad7d8f9d4b5e603c5044e8c97f5172c08daf7e4e0c95b38a8118f10e227462d1061adc0355044c2142fafcff14bd632b9fa9726e711f3b3a52e2eae225a236cd2cd276644c3d1387239e49e04bb065d07d51db8331223cf7a5af8d867c124bc2c1635dc3705ceb1fafa3cb1466a0d34408fd60d2b69f8ebc3b825d6bdf6a727d0cf868477584364c14690a00c2e2793a81d373451461a40548570156b2992d41ee6c8f6d5e2c383e7d4ecb54bee8de72a3cfc2fcac85be6b00470b884162722731f096376fbe1199d86e7cf1f351566bd73d78ffb072586cebff6c31c8c372a51ac607627d1351f22ca989322d3e61190506495fdcc958f69764efd2a1f74eaea5b869a4fe0b44f6c67c2ab5d8dceaeee015edb1018811efbe8a735f73154783520ea3759a6acb6671111c956e75c15c94f187306eeb09a8c344fd17b2bb72b8dc1575b45e7022cc444699e6c8d36c02017c627862166ca4b546476eb9c872e86bbda79b3fa1b9e2921fa8451f2b22b7a600f89e0507b3010f8e19720aa772672b44dc78dcc5c775107b831e9988336da3d5221489f45432590b21d5119c5c27a7b0517169db747ad4080cf144e4016eb17029ca7861d9ee3aae593fcb2e7264979c33529b66475f43c0e650572f53f05e5cff1ed04ce18f23a6ba2d01b472bfd37ee926ac2d3784ad377b68c33be90a21c4d71018fd76bb792f30e1799472d43cebf97bd822e4756f4ce4e5ea36e86bff8371779fe9dd7c8e056a83917172b29fe2c6490b5993160dc7d3e4318e9383e51c791d67311f031f0c730556035aed371e69448693912f13464138f1c4ec1502b201bcd2170b7da53a13dea0196bff1c869d818fd5495bfc6403a43d2e7599cea7a85d6f2523ada860906be11a72913d6495dc47b3c671edcff0c46d5cdbc777ffcc97c1978ba5e9f4fdf3366c4960366ffcc4cc23713245bac3af09168c0abc75a7e04a61e793591d974fcf1025671d9b61a9d60b70f8758f8f9724281e53ad9b01986d3f4aa768ef87d871f854e92d88ad6eba9434bc79019d1ed4520adf9b670753031f0fa9eddcc36ecb7c72e49e41485bd61c11333a1d33013250f3caf76da8b2b67d46c747d26a0df75a53ac53d58f1a91b1e77c568caec53b88ac3bf39660ac89de6ce4fff7d393b6aa72424242abcc40b5308753ffdc6511ee51abe7d1e53b5e99cd79ba3767b35f8172a3698587ee35bcfe71131c62b31c373aae4a7a5904ef415bc2fec19ae8ad507262570aad69e989073b331c6b1309df213754ba1872de6a62d3cb2262a8459c7280b174f95567a8b06c59369c97bb172b7144878acc0095884fcf00c07e811249ea87bcc41db3e74474227691e90ec1e86501e4adeafb43f51e5713eaf1947072430cadb0f6bad0fa29e852c098d042acadc70bb241474236ef41f41311602172d31ee329741f233277bbdc49ac424040258b8e82dcfdc7ec8daa799c8aae847232bdf4c54ead1cab53810ebd5cc7ea2a2e7dff847de5a16b63f5b4f6b74ad20baa0cdae25dcc13c0a573a01bb3fc24d18b5e6c40df680ced1dd097434bc2d6165fe288b0e9ca2a59befd9109d482847c99be3f98c1468e2d4f7b0741ab2d9f5cf084407654cc975d552d9a83bf8f31bdaea1c36d913886595b61207ba15b204b210d633ec46a1a6d91a47bb4c62dc69808c1b49dd8e26aa172d0e8d520e08472cb99ff7ac6111f4bb7a1fb7a33b5a3fb635897276e49b2f0f57a95a917f7b272de7f2969025abce969af4ae9f4752f1bc8653b0af158c18d95b3279f158f51724b3a7660c9c84cb8dfe41fd1d62c7d0f5f63c5bd2d5f0f30a6987698f95a6d721f65db54f2b42a4fdafbf39f35743b7ee845f02e9d4c302fba05788d0fe97f72b74e9d66d58b5a3858f09bcaf321b2a2dc3d5c4cbae0f335a9e941b2c7b98372677a45974f65795e4c0e03208857c75f081f563f5074a5bd1c5ee1200167b8725c9984cd1ad442c32d9ff4ffb4fee47dda2394a7a764c0188be9b2b2e4800d658e491667461a31b6c7979a8db7e87aec8552a40b6f876a52933ba43b75a1c94a10b0fa23767f04a8ae24d89a56c6c32f2e502dc025206d58674f9ed940506172c8e78a9385d78f6aa4eb192adcf497c9b879019d40edc2baef5eb01baf112172d2a28c3bbf992e40d4f09ef32e47d71b5426bdb267312b141e450222461e59726614a8436cc5bc7c085d689d5d23b371732a4875898628c9acf339b44d87127248e307725d3465bcb7616551e7baef2f43b06afbca32df787c80782fbc768b15ea6b9858ac2e868c5e4ce832fb6067b5f1dd87480ac5cefad0ad4beb66e7cb14d577e9bc4dcd1819517caa682af575392fd08e2050116cfa7ad95a162b38255cae39f142c03e2ae3bdec840ac4abbc8cc922babc3eee1a8cb4878aa111a6457295bd56f3e57701d33f164416da0ee897530f207c2fc5e8911275bf158448b506e4d57db2885b8b4474d95775fe3fe32fadbe29d5b1473247441ab2c2d5f3270c04e1b1af265d4ea583cd9137050ab08c6d7cfec5aa13f514dd80171e2a48bd720436037073a793f1d6e61678532296d76ae3b2b5b30fc13c01a1f730ee6ca517d75c1dff3c2e48cae5b88c3254afb71d091e2b2680791d5e6dfa3270713290723333f5e373d1452b44a37635298905214caa9cf809834fc6e69a1197345ed2725320442e779a083a3010ace7b6a5038adf15c01d5f1578ea317982c3aa5e960bd82ea490628c45a6c483f1d2d957a96bc6936f95a981569ee55769fc4b37a3720b1c5e024c3657f31ccf107cf5e7b5ef458a0978e469c7033582dee104c47b724c8ec264c5e694088df7854d3843d3a0162d98fea3c76acf7668b9bf4eb98f1920150a8553af1b4523834a2be5b7b51bacb800b3edbdfb585fd0adc575abf872833c58e266c59f4a7ab54f862de913986f65c846af4f3f7c99b53c22dae8e1255700bb43b933a82025a1d53ed07a992286c39c429d37dd000f7eef1c86d5e772218979bf16399d4a2ac50bfe234545d07d0be2390e79b9b9e8d315f330da4c72481dbcfc9f5f46542a45a5e281ed6707096c939ce5bf4539740a7df039926872d7867416793d10ab1ea161a3c819798f02c4e4a497f348d81a3484625f434672c00a72597215c50039ab361026b97b88afa9925487576b047bcf7216c2935872be9a8bd33b0b646efe1865985b9dc12bfc0db0c43b63a2a5f0df7b37f31d56726b4e125a1fb84887195eb4591a3b88d3822072293996102514f315b6d1ded825f7f06f9421978d5981faf4f5f4d52488d21ffcff6b14b04870642bbf50eccf5fd824a648027251f94bc6b20d396f5092c44f22c41bf081c9b8b253a7e39a7972db6aba7bfe5faa14311a003ded27e6a501c99b7f137c364562e4d5b4e4090d7290a94f4afb3559997e4676c214f47c42cec8f1ed539817b076934cc050037c7294034435aa47678fff9f156675a845ef3bb50e5cf63946d6b0e53c09cace007214dfcf0ef0625e1af43926752b7720279749748f36e8409abc729bd1a1b9ae06daec9ea564e4ed301a77ed7c33911ec044d82e9c4296cc173c0f01298506c972ecc790eb0a63faba74adb1f77fa64068ebab8e3c9840be74274374af0250f3728dcd4f350b571306278c7fbecc95c6a98d7a16faee8598801d101bf0ce90471c113e12223604e4cd0d324d796ea5c52a87184da4aaa490c5fe08a00dbfcff302f0c4a94ff94f98ee3b0da425b136fbee8040cbc0670a6f421504b2205cff6d4797124d33603770a2d1d9e79cfe90ff43df98cb43e0ad0858e1b39c2bd1713d721b2222f71a91e26c0c722aba90a22ed5eff33601874d7be60cc6bdf5b98e045b274496d955af3db9196011fe0bc73d7ad077a43368d92e1f20e7e23a4f60eb5cc7f42fb126b659e141ece5c2bc3c984f2777c8ccf7ac55cfe85bed19d15c0458212b30417a74bfe19949bcc3ff2bf70bd0cfb2b92df88b627c086d814ece4a72c47b041bbc0740a255d984e729cb6db1551cbefed7b31e2fd5a673401bc24e53e59433bcddb4fd669f056d437d1c3a2644c75d3fc7bfe1511c43cf9b5c6b5d454fc7f6ec3852dc4c2f38b742f94598c9267b8d52434f34d88d6639b6f8584c5c4f3cc00a01fccb31efe09134bb2ecf20ae6d35a5c09bb076ea78c1802434bb72ce7a7ee0aff4d58b4494d9273614fe054af5cbb3edcdce10c3df402209fd0f42364a2acef9ab633ce4befc6fce152443e36c92f853db5583f9a273de97685a7251b94b7c3a6476a1a063e801d34df7f43823150cd2c433803b8c104d88690a72159a2cd07cbc935f0ac6c3d3213bfe91981808c2c92240bff40221587b1cf472f85e32ce6d093117672e4fc41dfad6e79e413d3f0780478dfc766665d93e9c72f76447f6bc323fffbaa7983ecc07a6e614c0a1b180ee41dfcb5ec1fbce2ce40bae968300561a1f13fb5ecd51b9ab30f7de45ed561e78f2a20f1e1543e72f25723de87b3d39480c5590ebf7fa21f494915766726748333512ca532dd89a15fb09f62d624e95eae3720656a79eb814ac96bbb79c3909251205d427542b0d3f9b1ae39d711c1243412bd4948dbe264cfdbbfe0fc03b725582fed462b386ceac8d729be4ebb8f92c7d4f94279f8f46e2fc0a1c76712bfb9ec4eda7891b6bec250d7204dc32fa43012219740faa71987b0e391346fc6377cd1ce5de8e843deb4a0d5d600eb164c24fd6639a1665145ba3a31d531c05ac1eeeacdebfb9c7c58a3afc2b736e54ba5204d7f8d946db3ad89bcc8b0e4c00f8037cc4b977c00f94b2b60c723618f3f1c33c121b28520fe5fab7fbceea38e7a8c3432958c8a311aa8901506752e7a1bad17c577ae8591eb26c33bea778aec65167334bfd0891906646baf2725f03b83c3e1f19f47f96b7b9c459fa70687434e199d213968086d4d9d414900927138b1a2af36e3873157cce1cbcea1f0afc8e07691f71dad53f660d7cee8172167348a11b6b71a9bb281702526cf82fde7041bbe108c934c25cd237c5d9d311a6c54a24f4a659e0dcf0e299581d23bcb727274d4be19df0dcc536b097d92521565b6b40db6bc877e86de879af614eee0dcbfe4509a95366c8b0f3264467cd72ebd813ca1d9401e6c7cc52a46810babe4b7d4a0eaa5af503633bf73331a1e57200ed85a4339afbd44bd91cac01f22e63b873e36313375b72b2897912127a1b5c33ea866ae8d61ef0653e47673f15db268882e0ce3ec6e6ce7d0da6e1a9b91725e21582d6a092d83c3e841b78a0bf639fc83d3aa081835c96519e9deb6cd11b726c3cc29a12f7fb7265e30fbe3e963d5c53a048a385f0bd702b5ef51f1f59f47260c2fc9871f66848e6c2a8221134fdc8fb39bfed94a11ba4645feab0da53a572df3a5c3b95f7a7ec30a4303474c21dcf11249b6eb0682fb492592d16eb561a726547dfea86695cf53a7e55c582a11a2dd74350f2ef34e88f39e55d4321f088317f56cf5c87eeac3de4980602e69dd3bb55cd71d5f574a681bc099d6b1c939272537710956fee24aa4b33bb98e12eefec0ada917fbe5322dd085ec2d3b9a77972c0e3c7598f346ca4e9d173440ae1b36c01f212cf88520ff53cffe8c45feb7972ac33d4b0bf1579bc6f874e5c8766814c9359f17706bb6f3b8bfeb66edf4fc172ac2e55382f6da2e319e81479b476426ff403c01ecdd565edcc13e49e2428be72ddd5efbf2d7ff8346e9bcd4d5b91ae8e88607ac4b6bf5b8c1918cd0f314dad3daf77d2196c92a26b00e9b616da6c04d49a160a776dcc30d642b4c973f092e2720290af94fa5e5919f6acca66223c40163c35ff7bd48268603ff10d42337f26605f2bc2d0866eb27eee0a77a2a6178cc914e77f5c41ee1692b915b9ba9407ef6e9a12cb95495358a383e589125a4b6a96cbc414caccd59f86e9e69ae8b730471a42e44a6361ddb0232f16b6beca3087c660116d72e7d95a91c6676dcc9ee4f872f9b1c344e0b4937519ec56a07d58897749f8f2f253931e3109689d14beafa71d0fa4d38d7b45443a238a485d4ceab7358543663b590e26d40c92c342c8a97d1962cb6dba0411d2b586c30114daba6ef395cdaff3f8ea4850cfce2050f4972b43d1be8e39e759065024a5d2c78baca3f51bdb5fc956758ed617c7457c32d3b8700257dca038eae810d95b44ad82fc673b87c8e33f5540cdca11d36fb9609169729495629e956b75dab12b06160fd3e3d9949b1e73290bf15683f2d5270c9bf372949864969d508832a2de22d29fdf97651e21e2c32918e7ecc9b4036d41f2334745d4219ca717b8dc249d3a9ceac59b5008ec62760f5184461eaefe13a4c5fa721890933282796174416b7a440d74ea93e136ad026610dcce8b1ed17708cd915d17a6ba5dc9c2dbb88057749efc9dfe932c93002c9513d1a8c39a359dee829c7235173c04e0bf1c615c84a7e6d042e5fb3770064083b862e9e9547b257e75f30b3de32d0be5d08aefca1733d695e82f3d5c22028ad3f2d03fa9dabd26abbfa57286a5a33859ff90bdd170a089c1071aa5fd50862ac15e68e947ca726758b2cd72cd7d5234d54dc3256abcdf10ddbb9e96e4cd03797654fd25a22502497259d0727a2c5e9f458285ade166e5530bde1401cebd7ff5db93723684ad6471c012df728b4ddb24bf151cb7d1bb910ca05bcf291985199d929cac2cb778e8ebe8014e72264e4c1d9ff51153e07c7e228a22a821bc9f27159a4d74da6e259ea3fbf97772b672ca205c63c6937a09927f52678e56e4a6fb7aed2c61074825b6e9a0c29b48c82bd1f3ce8f8fa7937aeae2c4ae7eafbe3c24d425355b071ac61f7acf17b672434a9904f03141948a903a2fbf93ee3fc23fca361413c7cedfd28226d02b4863cc70056f55ca00b8a7ec95f16e2e47b190dedb83a5116d28b3b75598954086690a3b73a596563a79668a764453eb8adad772a98a0eeb97928f17d958ca511a7235b50e36c918e3344732c8e99a986ed16c6693050ba20c871361f01efd6cc7132790065fb271c96c971ee3ecfd9a6b7a103399db2a9d24137707bcfc2d0b07727da884fd501810d718ea5f1440410b222b33b959e25f3d99e083433e38160572c95c510490a5b188b92e8fa0931db56367b2cf7421760b0ea4c0cb196a08a572ae3a263673b4fdeb0d1a1bfd7af8cf163d065e1e3917189fb9fd06c2ce382f6abcb80f65385f8325c2014faf50d5600574bc0916a7ae170e6da5f4924bf34b097751b71a74730e0336174d456066c1bf33d12609840477a08cb4acf8dd5f66721a6f1948bb0317de2ff3107decb9066da999e0454b730c525b57fbd3d4d2ff0a976202f63770c6f7a44f334ce91015350ae5fefb42b93f219fd9e86366eb9e10c5c200583d8bb616c83415e9dfc876d86df0025923f19f53a5f66dafa9bfad72b65422edd2a02a69b296f8a3bb648053c7da85206453e899a38bd6e14e49f0132ba2f5a5435266a8cfb5c338c192e3c7eac5143cb1d838ecaf3b5b5ee5b49150c0a2251e5051542232fe7f6a0b066254f8af1901004c0b8d93419e4d5b480a0c76e0bce7031cdc23fcb5f4c361fe1c7bd518c5cb332d8b0c4377e0c3cf914b726a6bb7c97f6e2a63866ae89867aa11c79a9c5456b4a71af39f9ca96234ed0f72a3df4380d1f9668698ee713ff6f9bc6bb8fb4add652b57e34badbf13e0c95868dfc367a3afc19cd603089b425d7fcc76dedff2efa990e18bc4ddecd90d12eb72f53983765e33d968d42d755092b05d3c0ab466f1b5889733a3240c6a8e468b391251d70d2f8bd56d5c2de3f1763aa4b9ec56ce04a3ca42f96c6d0515fbee5453616588049e8ec5eac44f800166777bddf33744d1baf6a94368b5db547dc7ff134f80664c0d005c732a0cf54995c9574ac4b4aee13132bd3a0616a94b51d49a2153fa656da99755fe55f5f1c24dd14efeb20aaf3adb739637031d032ce203c0660d7d6df97b85c15ddd228af2058f55088c23f423bf0296a099dabc19fb51f0722456260450861bb281efb2042039cc69242aec7edfd25875c7fa57a7d7331e4f3f98daac72e6cd552b779dc1374ea799129fba42e5abf11b51eaf431da9f9111600e855e703f7409d198f9135b03c8e40b9cad93deda81e263e58a49c58441728a618e11734eb7183883af6ac917e113e5c65115deebc7ff305d61b27c551662f27c84b4deddc5e4095b3d10ed53151051f1a8289cbdf1ffd7942e55a5f23b72f3afa3fd9706f8d909096cdb3519157d2492f2a67a45e195b1709f651b78cf72fca4b41e6a11886f479999a37f3d82769102f46e4e9dda09339145a2006d4072a9de63b10c6dd5d4047b8ceab6bdb6c5b79f5052e5b8836c1c55b8493fc87572bfa8a6d8f7216561dc8d05e1177e56ce8265f45bcd1b5392ae4c3e4af590ab362838fa44e4bcd237504574dcc6a534516d167f424b3cc7af8165a3d718c11972b75f561c11fd187133db4c9dd4c6fb365a181951c10c4098acc38873c97d7915e53f32f7261aecc18f0ff20da53c2ad9865fd50a677be21d20bb90aebd02a47202e5c746b77abc67d6673b5257bf7f49d875ea999b44d6de771f3cb9c96873728c62e2df50d89eff1e2c67a9e539ff181a7ddc0ffcf2b7f4610251acc8cf5a72f8a275110dc82f9bf1190602706dca33023d0b33197391d77a320ef9244551725d586318a891eec713f460f20ff550897ae3fc74e237ba54b9957d3605009d72683afd2db8da0d9d37e9252632d2c2f52e0bb5084604fdeb484405ce2f34b91c8b83bfca3d03e3056a3167bc93feadb44635435ad959d8784c4352e1f8d25868e4eccc716dbd8377ceb939933a43e50f533c8c0bddd3959a8e162163ea3b2c2f7551a93920aeb65e3555bd35e4977cb0635cbfa3e7adae47ad16faa8b7aa8e7250e6ecc47bb15a108b0afcef1c24622bcefa939bb02c05e0af6f6055c8505b72b5997360b253298ec3c93113c01de8e3336a999448f0f35382ddf80c9ea4e35a1c1cd03bb7a0103ee7304ac1b4f8e63fba97ff1f09ae7162d5629fc804348472ead799a9822bc42d11e8ef4c54261a1c53fb6b4c2d74ba2ebd78717cfb24d372fd6633ce5bbfbc3a0635df18c9932b230cc547d0da9004ec2ce26c06ef95c628067cd0082a06f7cef4eed9970c2d8c7cc60ab4fb5d6ec7bb08ade6cbf5ceab4697f75db0ab58d6585b8e5732963d58c37b6904bf7d3cd57215725111fbd23120214ac83c3c810c9f3d4a9a1e43286ffb3835972bb6fb0521c107a6a67696f0449095f504ff1c75d0669052c6a45ed2c67d1c59a792ed2b9bdfa09d6fbf856772960633fff9399c0f86b02e16025b7176ac7451b3ebf384792e98e96660a9d872b4ca5aca54681d6c47f1db218a588341df779fc202f8a9726a567d0ea1a7b23af7d14bae90e86d5c2798e7e0207c6a63d99e0f698e19e8fd2f876b5505c3fb72ed4b49e323b26f4cd4b42080f513eebbeb2fb8e39c31ea34730873989c461200f99d1fd3dc40cacb6e48a523a53d0c6806ab66423da93de23e503f4e94d24423f801e788987a9ec45987ac3ca0695dd535375c28025891286e5aaf80c995ee2ea0cd81d13c282b8a29b6acd11e6aebf231135ce0673536e48dae37928439ab72b10e60b470cf8d66dcd9d3422ad47d0c95f6a25f17e49633dcb0a52a209ef2482ee2467ccbbc8a97e665b0ad7a29a811f1bd4dc76af662ecc6d824a39d58b50f3a54e29d144a1d47bf4e88a672af073596bf0681d4aae55b504307b48fa7d572d2db25c39554e83366b745e4a0e25d24f95a63731804647fec26d6b9047e6772c76c01b287c2bc98a9de0af5ad0564df6b7d21c431464888849e645b916da972da4ce24af386ddcf9811edc09eadfb16713ca16ccf95cda4fc56206e84906f1aac30b31716bf035ad564b9dfc5bbe9bfc85095554d28852149f712135d036d7282206d4819f89701a7ce41aa3dd434d198494409311f4f05431ab2124e789d15aa7a5a93d8973dbad29eed903bea29ba233c20641da427f231c0bf12c1ac4254dc1a9d4d9a2cf228653bd386f9dc0c283f04a4e91ee3a2d6c03aab50c0abf9647d0721b4718d54db43324a944812b96b6f844a9a656fd3d9c4acc8f0f21d867241ae8bce70fc98fd1f577d7bd7da2f309ed7c45f6eb889f1a68bf25f3ce1d13871eb3f31ba977f20cc7196cf4fd2e2bb055f9a779e0034ed56592601b7e91510702e3058767b95debed35917a334dab2e14ff9b0a834daf2bc2d5a27f51d3272f86d7cc7001aced755f07090af7765eb2b77e66b5bc95b36aa02878d8156c32895fcfdfbaf9c69e5409e48884d6774f32489b9bbda65f581e3601bce5c950a727f276b356821fba8c41ecb536b36b2e632fbb4e998d01d5c109a1ad1d7792672cf731cbda5f13a30f913e4e2dbda5245d21f09878222ab1bc37efa3738f652471797e333e6f53651e6623bf8ba61aa03fe190fa96d5d1290854ddc60b6ed38721e184f0fbbebcc5bf50871e5ad826ee9f5a198f071a57dfe21fb8eba2083e71c9c49d9d4e0bca26882ed3c2b2b757696c07a16b7342bd8b3b11e10d339ece82367c71a0fc255dee764a5457cd534d43090c87750ead34211d2d47fc84dc2cf7207cffc77b0e890803e1cd26bf20a0f2d22acef7646b5f9bf090c4bd6d15d6c72da14938b6a7b63818f2a173e679a5624d56588e6ab5e608e9c931cf36343f26ac06c4c6a8d18039c69c20d4ac72e4881512ea1afab9d3601b66c5c14116f401749df77a9551c70b4bd9de38b751030eb7ebace01a304df92e78397e2cacc4368f5b2bf3827a569b3ef07c5ffe1396d7e9fbdca0b841570d302c05c142bd1fc72c759fcddd767c263aa79384a7ce664c3c31942ff9645937d54ec8e7efb61410c79f7eb640ab67f9b33755e6af5e6f8d2900fe08c16d885f162daba609842e94776c0822e5035145fb0026ddb7a15082c5fdfcee19d24bb220704a5dd136aea7237e3fcdc73c00ceaeb7e13375033f63b8c28baf463d2e8e54e809ed7b24ad2728a486d4601d2c044d4188fba8cf2ca1c21b33289ec0770e0f4fce25af0f5fb72669a55c77668bc03a16b80c718c5fb8fdaa59b8adeace3a72cea905aea099c623b607435b5cc364c5ccce75d667ea04bdc4a4adc35acb18ed099ca848c0c6772a4ff596d4320a50a545b6de93efbd86df6830e06fac47ac95555deaa4d2a3672465a6cde8bdcebd9621d66d39aeceb032aae7900ef256c5fdcdc2f47db12a072270e9fe137680d3016be3ea505327c1e1bd0941425bea1bf1c5cf72648870a72d213d99ce1461c1db59a253ee8b6920560ea9b7ea5ab1670078cba2b75c54d309b41a850ae492ff3c95c2758474d5d9a54e05987febe31118637ee8ef5f1d972636cecbecf9c48ff99473fb8773c162c2a2907dbbb5cb459878ec81e23673672df4ff58741ad55832c5a47735f45ba88c7e94d9aa675b4c7412819878730bb43112669439c974c075aa62813c29efdc9bda0c73329ba1c271025920c61105872e8cde3718dd0b7a78bb51773c67af74e0a3042528ec5044258700bd49061d32c2cba0af1b7771781ea550075716741815f67ed0ebd4532ae36623f2613ad607201d6e8155f0f84432f5fc4811e98cab603c40bceb6091abdfe6b8c313f8ec85fa16be66ac97177c734d5e7e08ff3f54a970a49505d6689632bef6e92a2149a0eec28400e79de33193d2a9be1736e904951790850635492609b936f0760c6ab7293af98be574946a5a12855a01816a90f162200e80c44ede6443db33c4a3ffd72bca7a4c985317870e22a5e3d4b9e2997e08301446a934d59baacba23af44f472b42774e9aa2c23aabc96dc6b9c28996874d6e942b08fb3263a2a223a61f0637204da842fc163b69ec063c5d07390461c80d0c55c2fc453ca5ee74253ef26cc72f7d39ef2fd871aed09859c6fbea86d7cae656d549e13bed802b9b252b2eb6f0a2488d03fbc7956aa7062f770c699971a99107c9f6dba87ae334d2bf16a057035475d28660671620b82f921ba273f973d45ca75707867630da9491d0b0a9e3a1959432d4474265065ce454d4d9f285bdd12d98c258bb17a3754e028b80a4276722b45e45654f21dd6847976d9b4c9fdb589c34f83426a15922013cfac24d7e972e1b87895ffcadc766d66e4d9399af176a747c7e216fc46112b81504874fc086f3d2c56677b0e0bcd87c54e1ed20a3dd999d08bc91a6c44e84f1025406a302d724befac85b43e515606ff6e52c36b94d352b7de45ef23ddbe07c5d41db2d793634d9b860761e00459d96cb70b9981368171072e945ddf12551f45fca54ee9cb72eb6e540eb90f4e08221a51da175283498f8ed374419b905238b49e4e0d946e72ad31ee54b4c9069acea5ffc990851e40150f46f4793924e77a0cb58b4fdb6950bb37742de32c3e2401467e29513a2ea1741cd1128d41d3a815128e4ae0b30e7262668a96fe2756ee6293436690d2c9d87deca0b66aedb083388f9159751a1a72c4748c1450e8e32ef382f0433a607c1e3d69c542d771acdc744e92d5d9484f01cbdf1a7b8248f4643be7c82abce45165899d70f277b08459a7842083a8c284729ee783389319dbae76806fcb6dbe69b61809b563f60edf5dbd1f83e059ab3d42f3f74726841abe055926f483d7c6ce901ef672839f20e6bc553df0ed79c0d072bf81025ad5ffa537c6363db04a106dfa01a4b0951b296b5ceacaf1034e323e00d53d5802d326102f95f53b4257436c5a76aacaa4ef708645e282191c9ff039396e930ebea6036b3cdd4b8b70b98d2d9e51586dca8ff41b4ae214cac7bf7cad7232a28a6077cf9b37217e943b4f02f5ddc7f89106ccd834d9f9fd4604c39d9472b1dfc20735fb987bbdf8a359c1c64c6df3effb3cf3d6583f9feb0bf7dbd03972cdd4b7e076660ebaea608edc673680153d61c5963d078f7a20e706c98465b272c771ba07d922197fb85641509f6e6e9f0cdf25115e8c9fb682a397ab80214348c99bc2548f321b25b0cb47b7b0e1a75fee1f973da5a900d15df967d0bc34c97231875e09b0ed64016c5ce9d77d0cbc7915c5817987938827465a4def801c3a3bbb0bcfbe385dbaad3d9054198913e945883a9a577c5f1cdee3849247c9a6d4667b4c563340ab6bc49d1013af1224f890bec160e27977a2032a3b5045e3e1fc722ce2f8cda5adeb1208afe9af694771a59ef78afc2ea0bccab5624a431b2496720c46d801935bc70139e44d2efdc8465f95e23695617f256db8f38657e65ef3727f33d8635517e1f64393c44637e7abbcb394794878dedb3c1bafaf72bda6547232989d6857ad2e931d5145d72de05ed7e490b6fc0fbee3615542634cd0acce501b9e9a6558af001d4d44e8f15e33c8bb51392cb02d436800226e3ec61f81fa72de0c5140534951296511ee7d4332ca95e7bba0cd6c0f8fab01a0a227985b8c72df0e16b50dba872f971b10a3a7819bb2a405aa9bde16185591b44c854fcd417266bdc077495d825459b6d5e08d3183d85dc41f58371ca76c38544c81c995f02f229c0afdbbd2ecb2fff2b5b81df219d273310dff4713ccbfb40cf234b1587a680e3b46a6ad4d0dd8274054e8637c31cef05918a27e2b1b67c24777676a71456ae93f7fb982c62b9e2c2ecc54634d5e8d47dc7126ede6efaef07287e7ad403127543944df66e4d942bbd7beb4b4c100f578d26e4f03cda2ea52bf5353dc97d35acba32c5b38f684b4cb7c43f60b437475c7e9fcce7105b7894726b374bb6ae172c6b09b58a58aeb2fd85295bbcc263132f9a8c46a7d697f6d57e5a18c16bbde58cdd1ce4dda021eb17447c9ffae857d40d87f347468e1dfacc2799b3a69c2a01329b423b9b8ee8c2a079abda0d6f0bcbe69a44a03195fb1503a73d210a9f8076968484eaf87fba403a956609ec3a86c3f7b63df238e2396586f10f260fca9ba5a734272cd5444bdbaa55c88858c0e473062976ffaae23ebc14d29729332538172e94629f9a6879c117ab33c04e819a4395ec70c76602bd6bc36c9f9e1e3c80e72b9aebf9732fc3bcd025d596006796b712077785e7d0e87b737f0a3e5c4380e3aeb67e664eeced5b3039f631b8099323539f5c9c864a2b4f8102c2bd38ef9d37216d1662d043f59f025d9379d6c420f2794579fcab003abf83a216aede37ed472de917483d7dcb1fd67184c602aec2822d727ecdbe996dbfff674ab0ace391b17be6fd182799c86f1812fcf591c703fce0360a5eb4d7582d1322c38b222fca572927f6b5cdc86169642fc73a0273f2a52d0abc507db75507fda4c78757899d615dc73de4ad111e9cddf77ae7dcb4af6d4c27bf87b8461fc8a485417bdc86dbe721718541bcac6a24ee2540f4fb9e82bfbc42b5e2a5c7619f4d0951c667cd13140b599487cba1465106a10c0a850e5c5ef4ff0d6b1f31847cd6b75abb3408ca772438425ab823f2619f23f1e0608fbd509afb873ae07ab34e6b4bff579f7b73418692aecd4f96daa442e9107cbf03f5655e380b3c9d58afefea984c04adf41835d3c11b4a8046a9fddd94a322577cb359601ed329fee2f8a7b43ca8fce524ffc4230af1c1fe54d55bba943ca4f5e2d7bb75e46f64b470a12c3a60b2c5e6e2b3a24d2c46f05e1614793a08ce4d055483c1e2178b1b4ad1a3b49c8e7c141a2212c72e8236562bfc53e8bb0d945ed505d9d40d3b902a53cf17b3e0687a647b015c0723c66b20c32726f371b891684cb9b0a9576151a5f5b91b48b3bf6ac288ccfe372e978c5b33c55e2ce582eeb6c566a5b06cc57cb0a8e3bf8b19e3194366c18ab72c527533f76375f2c6f29fad5187b1be3be926a299cb64e71c9bba094b1aafd27dcb34d4036bc2b0439a76fcfa3962b57d92c43f422394ecb841ccd8ab21e73149c564c4d93453ba75b6f43fb5d3cdac73ea511725336472eac3f28dd7836807242592388887eac273321a8f3ff244674b99dfe294e9bace67422fb46d7a1ba7231df200f9c30be66de9ace4cf62154b228e8f23d3f86331905cd7136b54fc772a08d1a581989b702bef9facd5f013ba77d2fe9d59302f633d497862d1adfb949c0957fd48c8e7e02beacac8b7a060b47689568c5c6d916c0dcdb8daa5ff8d41114831072077d2e5062262f96c82220578ec0821278e00046447a38fc92a0fa7280d9ec7f7df7c1a4662147c8e31b9d2c8ea5605ae84a7396438c030aec790f727cd66d246a1192b34134c891c9fbccf43fa7a3eb76c2a947e73ef878bbe0ed3e29ea7bb6b1081351f40c31c9c3c45fe6ea9c9f8e962d3226a411369650953a7296d81988f4e0eb1eab0287ddb614caf623a74c917d7560900935ed403762051975d503b24a0c89584a456d9fc3f90fecff8c2b993ff56d53f2e124346f44ac44978b8ae94aa42a7acb9bf0a3ce9e39207accea19bab902ed9ab4c6d3aab6c0728db3b105019239ad5395e325f3c77367c45b3703c888c4d2d9652db9c431ba7299a810a8977499001fe3cf37e602ed938eb5042c8fd37df12da1182ed1ea012e9c0864a4f6c1a0d512e2ce3947fba644020968d8483bdb5d828a58aa69b5da10e85af4049b4424a769c7006e13067a4ed492f625eaaabae8c834b7e8baf1fd3bdb8e8c2be5a71ef36e9bd5c3ecc46eb31ca4179201ebe4af8c33b299831d235da81b0cbaaad0dac73500eb8b4b0c4ac84b90bc5caddfd72810ae6692ca87b072ce9db328ffbdf074d4cba6b8537d3556a12d5344dafaad03b44254751adc1610de71f5f358f4f37040bfc6400fccad4da96665427fefd41c36addd1acf0626342910d851ef2bba8b2819b0025e868034201660448ddae3e5c6e1ad4b75cdda421202ba913d69060ce34c575ec6ebb41d03df08a5cbc0c88034b6a3fe74b8407295f34efd50f9c289ed936ed202c0726f0ecb157f4a1002e0054b671e14259924ea076f2652f6f75d049cc5084fd4e94162e3b91c5db200f98ffe691aa096440acc819b03fbfc57000c93767af64b824a6a959691fbc8804188126afd7af7a90484332944e1e3764775acb9207139ab7180bd6764226fc962d5eaf16aa3ae463072a817df5dbd9369a69765507d79996afdac87c74cf0e12ba73c34bfd88f440a3510f6fecc4f9e1bbd28d14591ea07f83447fb31417a8c6c585a339e3ab423553acd4cf18819ea18f8e894ce319902285023c7367acf23e2d0e26f0569df0d7248eac4d7800d9695091f6364797f6c3c0d287889a75f62a530a60f8d8de8c172880a329aebdafbc46aa82589a85bf0a82434e9b51420466d05662f2ad45e4f7264076382222d67c560e93f86f0bcdb1358531149eeaf4d291ee286df74e991421de5da730396e5e604f4202312720b080acd901fbdef8cd463d3706159e1fb7294b36c7d19375848a2776876bdb21d433bd234d019a9bdd978691541b89bb80edd89ed2f30856921f1807fc8b0a3c06ebfe1871f8c958d9e626b3b797d3d8a7279ea9d19a96b690c3af531eb5dd6538116c8d11d96bdd6edff1538a8fdaeb46cdcc1bb3c9fa8bd0498d74cf418d1b50860359619f310f38baac5ff0ebde6b1727d53e221ad813cbe7db5b64677576fdb74d878b6a34eaa6577c1ea86f679ad727c2efd3bd25e780d45f7aa3c447b49f8b65e77a5174e788c3642390b2e25dd7284039c7feccb12197f7abbaf1a9bd533385bf7b537dab1c7bda6df89350299726abe3aacad8cbbb7c149afc7a767032c06c5284d25a0b04fc89e26002c01eb7242ccefab2a8fd7368cf7e138834819d500a3e829a715175d1bf047b8505ad114ba428bf4ebac01fb00f0134a0fe9b1e7289e752ccaf17d3d32beca715ed8a172d2233bc4aa6a470e900b703c31725fbbaa129b7a77748cb5f78f78ff9a88bd72160f353831073969a7b641c2d657aa31be159faf01013f26d72c2edace3f1965fed315e3e7c7cafb0b8e793f488256d799325744e508a5d80a0201fd606be91b1a15824e51e846791c93a98682e745aabdfda70fffb054ebcd573e64e0c51e721678e69936e991c1bc71bdf75196e1810870eec179050a30cbcc0dc35490757230f6f9eb3b0debccc27e117c070c4fb01a7096baeb3a56d6f4140d97a72f2b2d624fdef92c81a063ca9480cb7a1ceaa7eaf8a57507f53b25ce85167213f87f1abb4a671f5d68acbc99df9b750b4c0a5025a8059c2617b62a5deface7d7a6a87214b150b9e48cbea231bd9c800fb96f3bc6036b033883eb9e41c00775bc1a597215db895bd5101238e866f2363d61a0e2f799c65fb3c889acce1959121453e668e93cbac71829244add1f46d3ee3f39549ded62bad7a10789bf073645d510887290b83790e6bc46f5832dc49de90ab1f19d1bb13fed8d582e5bfb51430197de72ed7133b7a5adeb561cf4b9a27bf028635d7569ba5266628f9bfcb7b253eb7572734b17d0d4cbc63e42c68853cfd8d25b0669615802f2d92f8c35a93eb2ff967267ae65f2be58be929de8dcbf3ae76390768fa59cc2a5884db01a58e435ee9c72e1933a3b805052fcb27ccc1d0d3e788a504979759472fbcda554eb91455e473f00f95265c4908555a8e892af0f31ce2a90e61cc96b6741d936deb569ff98b0594729a3a2b665931a39ace2a0dac24bfeca60e1ced52e12d0473927faa2d1021fd180c86908c0c5d28e9d8a8ed4e12341c61dfbe525ea623920d88d4d80b1ea728c540b86f744931d92a8558215d372496e0846cec06c410e86bdebcb9881d02acc24803272fd3bde274704fbbef95d9121a7f332aedd20d95a17b65ea1e22572c2db8c347b7b41757feed0d6612c89f8849c334d95a96d2f3cccf1c1ccf85a2ce21735e234b0d7d0c5d73a68619389398de5b68aec85e25c84c5943c719e0772087dfe8f9578abd49caac46c3f064635e639828f6584daef97fe422932226572bab44920f1775581f3a4fb78aa362918f256eca6a58ca5b06ef21c0299c9f258d3482a460d18177e1528165d7c577e90789b5a07af4eadcdf776ea34e87cf90820d217b16aec87c89c24988d413553350175808f8096be1d519a3b8d289084728ab7bdd063fc7a3485b51436e871fe07a5bd6cbf7aa39d19f3ae15a63a2edf72489b6377d0c7d0c2aca3a729d8a1c0f0575be285799fa97de0c4858ca7d835729192ca6a97426764b45858975bf484fc3cf7db7218bee001cba6d4fddca2f95b692f95f2a64d5fe79e802b9a98b19a9cee6da80287c61f6f4a1754f408bc691ac084931c4cac1b37a5fbfacf65281869759535bc138e678ad35c6b649a2613335fd6bce2ac8074043024599bdc438d6f12ff7c5a29f0c5c66df419edd480b81dc59d858a8ee0f57ce617bcce0da81d814f11f0cc05e98c0f599a5617ca59c572b4b84681575383f19a24c9aad05180f0a5da8a82d9d95f861d30ce9a4d7d8a71613f75706c3a9685e291a09b5ccd441fab2d666d9d8b4c4da0febd13b7be5b722d6cefad9779fb1e9acbbc4a347b3c702e08f6f55447fc24af8da49f5fcbe472f71361723f03005a9a21b4df8c2b939dcf05a50015bd7a3f10ce482ac3b32472b970abdc41300c71b040b79ee3a30b8ca75193687a76cdfb4fc49218ca72fd724dee15aa9a24bc78ad7a971933ce87f3735051bd10330452db784f83ff70bf103a0bd6e63659d210c370955a54c4acd3017fc98b0d3ae8c56b30267198f6797263ea6624cfa015c4f9d28e5032746d9383360cc509381ddcda8b462671d369480e529b8ef4f6e94cfe1a0486d4ae3a88712e9385d7e858089635137309fb7b726e51f180ab098c7c2bb2f676af6c2cbf401760d452f8fec0e30d890c7ced3206d70ffce8a05600a1f50fda35ad3400f8154e4eedbaa3c08bcdedc240d2c676720400cdfded54a85c0aac8fc0861183209084f733bafb5c5de75b6d002d79a572c3cabe5a88785bb44f94daaa07457b14c44c18e34132df572a898c0682a17372dc2be664bfdb0f19a090a91114abd9b895ff1d36e7b70a1717b20a09cdf582728362ddcafd703f6653b57755ad5b6985dd5639eb46c947c9151d5e97aab1cf720af2fc14d9d764adeae58f5c08065f21dd4cd4e6e49d3831426a938fa2231f4d00b57655a5669d0897cec95df0e8aa6ab65bfc78e7f49157b342bc2a4ba78f72f1c4f13945cbcce962989d0f1b3d0f2e1b4f4cc6e071975814f4b5a988d7077223a96da8a2bc20b6073750f6429711c50f59b4af36ed600f2cc9103c16d78909fed95234ca8d188a1ba4a702338b2a52e4548ad5645afa290a604528d10be872e551677a0b72c21372fc99330e310f4090dc7e092e707856db44730733257272913dfeffb698e154b32ba88fb94b5e0edfc5efa3511778aa3cb59a469a6c7c727c6d303d73c6a6d0dc91b0a29639da07ab6a29e10d4bf9ecf32f7644e6fde37230304ab2a229c5234d6392b9a4db2aae34dfbdbed5c9b89aac4a5df57805487255c8b30bb1fbee7dc0ab459b2608be48d832b4323d17fb0f4eddeac8acabbc3024fd6731b8ffe2619f258012ae73fa6b202def3546207bcbbe7a6c43589366570ea1b87860de604555d13a6ac9c4e34b82970060573930c6896403668aad01721fdd0b98e3fbdfe9cec3a2bdb0c3dc4ae525952b67349570fe7898558d11ed72c1441e85d594c5527883d675028222c3cd6c51b5426365e4b80a684fddd0e8721be41b5a0dad80063ad6f34c4d3416ffb0cc13b8bd045e99f5777258a5078132bdd62180b70b8d3c640756e923d838a741e0df9affc85b984ab88e39be0edf2f53b0da1e632a2fdb880d8d347b9da4c336d225acf973e1fab57df8da8beafc72129add80a7205985f120c1c4f1ef4a8cb4d9f95aa7ec666fabd91462a790262be3663e422731347eb58c2f29f5dad3c21e0b9e2d3a12d93cb2a50d19f2755b01e3d818f3473dcd38f404d70b875343e382fe1208619ee2c767ab97c34c94cb72b2f390afb9a98d85ca9d30d05b006e9bc90dc434e40ca5f855814e5899b50820f78b16ada83b6a8f1f80058b6d5e37ddd3a4bfe99e3786fc2742c2474273542534e0fc54e0bb63ac09a0396455fdb5e526922cf4163514d3a178eebee1734972921f092b592357021c88442107fa19d5cc15b61d473f29c3832a49d52bebfa7245353a5f58d77ba18b77724f02f076e5ccd3cc8a9adfdb0b20df44ba8165aa725c6707d4821838ef50849625be414b0b115ddea76b0fb2f640e055faad57064ee32727acaefe3986dae01a3fd5c16f0a3082542722a77e734f7e039bc48670729711d248a587a508cc6565b1707c97eb3b8ecebcc3cf3500a3f22be74603c87242a8e68ad5e6cb31af9029e61f6580ec83ec426521cec57b6f6d324155a8be15f5109ed64c6e0f45ba065370a0d11687e261d044ae14a5e8f74ebdc7be879d72478bad8bde488da57583a84440d08378f29b0b596729c4435ef2eafd47dfe347ba22d5e04d8c8a31aed7883076e168ccc28d0636a8ffecf9c40885a72037927246491f086b138ccb04f01c7095d4f49f61a3eb9d391c5faa304392c5b6401372bfa8a24fc6a089a8baf908951ab9c365e3caad80f5a5be0cbdb884f14d6877722b611b87389334af8a1476f2cab7b25e9ca2242bb113d77d82bcd604201c472452f9148663ffb34a8ead13cda98ea821557686185450dcb796987f6110cdb872faa6172ab401c51e3ff5bb46581534966d43e07733f47cc945f0ac86c536c062fb7bca7f867739e21cedb8f5a2e708143c4eb8ed8a2e04196e1b8feb4506975eb8205ef635e8faafbd5cef830bfff80ca43cc846730d35e35ad2a914e572e172c739e181ab9c6abec51c033f7bdbb7cc7cc0009c3539fe544260eed992190372c772ec3dec01ee71844407502e80fc93759d6d97f53ecd12108819886e60a972267edaa1309d1d38b38910f15b1c5e3875b80ee322d79c5fa44459012f9181722c4bff07da53f9f77e50154e64ac1d199eff8db4d8d0f950e043c65fcc7b15728fe8ad6d20a0dabd3798edce1a066081133cfed57837866dc3916c3c2856a7721e45c275522202d446f29b45f7423aee214c14f60f0c8bfede0bf24551a58372e639401c6df4679d21fca52eef24e0ddf380642f1cc3656f110e787a26ed5636a4e0fa52597315621a3c2539d37b2b68b9c146e5295c60da03d7a0b1f243726ad26730a058f87c2e9b93d1b3728cd2117ed8f5cac3fcfd31dea3f8463efdf7729244b691c7cc8d1e93497a5c07f90bdb36e997c16cb083517ad10ef272caa91157114583d30558bfbf9fd5f2c5b5bc033a0fd6ff752c822cbf929d1e5b9bf3662980da2a5c4b80f2dbb999514d03e63c992538c42da631c26c966e98f7372a727b1fe7104e5956bd653b6a4152895c5b46aef8faf7406ceddeceea786806ce05530fbfcb0f18f2e98897fd6200e819f865e910c11f7f6bf936b96b0d7f171972fe23d4951df0d1968940e988ef4c51d8608ff59c07362ac1d82e586dbae8817272901a5acb906a827ea5f205078c754b5c9c6b0c5d93fb8fa7e01f69d3fcf9627dd3e2e445db32ef5bb5dbd607821b2f866e53b8c119cb5097387729267f2422f2bf8c592291c7e87135d9e41c25a0c0196d517e4f171b25bbc6ba26f89328724abc2e7a9c091170b1f0ab9a305f1c2c856bfed7ef1dc684f57de4ac4f434472bdd745525bdebb0f7fbecbfcaa7083e28615a36a3f31148ccd1cda31665cd4728bf537638772fd8f6e8edf2fdc20c6c3c02caf166c0e62fa561b45067376924671cba255642cc06131d4030955361b89ebddcbb1d4250b5a5c51a72ccd1393723d4ec32b881441bff3fd975eb52e61e77d7ce841c0049ef703c9dcc2a827d972532ba66d64919779613e9879c8275cb6fbef29f1b90e59fc2785bccf87ebb8725fbae3af4f3b60dc232b122eb22f7fc1e2d841a4e988f947117ff1f766617d7232de233b76478070e344bf008f46a3c733c54c3b12f06130d184ba894e97f26deab123d42bbb6430fe0a115010d6a94fbe99d95db2263fc9f42f22b5236446729fc77f02d91e0850251d59fc204852efd264ca0e0dbcf0abb6922ca1b82bc27244915aeb3dd5eba656dcf54682d7ec2eac4d122ce32bb2630145e59a1457f35877fc9b2374419152f70d559a5f919f8ba58f8e459e3814eedd90028e615f682a059266cb90f49473b1957403d5c4b65663021412ea46e1d1ada060bbfd09bf724b2350e53cf2dd12bca43adb3e79868178d05721d2725bbc8e05339c31380372840ac8f1cd9d4446d8416d59e0ffcd98bee88cc79097294b48772b4b6aea236b38b6abba99837847a9bc9db5e4ef439c8a0a1c6267f3929379d7b71d939dca729a5e54233721c6c9a7057e00f391a3e0e84626e5079872f3571b8789e34af1722944260b6cde5447115bcf24ff60a7677303048326bd4ca93a0d78198eeb6172266fafc29ef7f462ff7d53a24faa11a231d723d8f67ba988b1d75953b958787270255a2b3cb50a6174df2e7f81480f37daed01d9f91852bcede8a4019b9c2872d086915221fc7b9e3a591b0291d876163a9160305faad828c236cfd90e17f36211c43368884207f97fe33cbbfea2f7578c87589951e7bb9cb316721ba7531653d54b3b8d5ebc95a5e70f41a1129d1084002f385cc24e5cb8bcbea13b46b8e1325ca722b12796d5ad86a3a438415a2964c239f43484829773c1962123fb725772517ddaec206967acd2c2548110c59ddebdbc220ab26e3f4d6f420bea037de1266af1da4b52da0e0f8857f239221f35e341a9bcb141e7c537501e3c693a110e1041d287ad2fd22fe5c71e8b033122f10890b8bb4c7b3345bb915e51ffb6f2e8560ab0b1ef0a552158feb3937049ae6cad4486d2d2ca2f1d010ab2f89cee28b50f45e438553f3fc3b097700dc749781a70212dfef686e489c7fefb8414db32c772d273940b64aea827cce32603af30e581c4513d05ae38443bcd289cd954234072be02f1184dd16b871f031053123ebd9465aed2a15a6e0c03986d12ee573008017921512b023c7f0fc266bf643970893c39e411a50ebf063c955c69386f728c72306e3027707246ef6cfbe283f7861786f58a9a494aaefca6a04d1a0f9f19c0727b718a92a73e8314575d760ad2e0891e98216725d341bccfe2330e7a0252b100d77d8c4f6755391ae5fdffc6ee47757271df036d9eb73b57dbf410103c820772991c4d43c94107c06973e32060dbe90699c66aced1df7e933a75691faab696723814eafce4796d5996816b427eff779afa686db04bc3146b11beb2306c48fe0cc29439f8cc8204fc193542501ffcd4d01036bf4e1c54c9cf45143dbf4b5d53725d8af727bd52663ac21c16a3cacf0afcc7d10671b6c8c0f15c0c2537d714017253f497e42ee3eb599dc663617c7f9b76e8a98ea9570299cb435f415023571a727ecfad5337949f4e411c988e337320e49491bd74500a42cc8ee219599624cb35fc0d6278dc51a789c073a3ffb1f6ecdaebca82af486ff792ea07a7ff50acd472c0b94f0c726e5832042baa2c7a0ec707ebc8d4fb7f1f0bdcfd0d88cb4ac21559e340231639f72a20b3e8159ad06f2b10352484053b5e5d3ad321393c9392fa7259751eb8078ab0849b61270cb5ecdd561d0db386d1362981516cab8305ff582ee39a6d22dbe5c0fae0c44bf3f2048307c17bd149fceef340b377e7be4d88c30afd23d1d95f5474c9f1afbeff1d0ac68b596a95cc545e895b28610f63cb461b72bc387cb0e592125c856bf525b49b367fa8c0f9ab150eda2963b9cdd4cb32be72b906f9b609ba3e07625df72a06d02e36805f7059cc1679c1789545f893da06728af3115f4a2ab6a9381440ed395b0ad7a04f874a8413020f03acf4bb98476c7207f5d267ccbfd35b0961d655ec64ddb4f7c31d7a18ba8ffa4b11b8c329148d3a019735492b98b94eab926492c05018cc67e8996e538b2cf6f82dd7ad30fc974da3566465c9c1ba7316aad69f74b0aea56e605ea2fa3a1678e2e59ba997fc5d07c3e115a1765d800cf1a953f088d6db301c78ead71434ea3b7dea4a4746bbc07206a3065aca5f3d1fadeddd1e7e1c77b88cb0124fafbd32f25562b2fa95a495518589ddd4e044e79cc8d8d4ac7f40f30e465b2545634a1db60d79a1b2f47ba3722cf1c04dcd28ad570d71e01b5780059841d76bbf687e5515794c4d52f3ee2219e3978c98e1103f15ce36c46e4a63ffab9aaf408ef00ffd69932bdb5283ec9303cb810d275eeb8ac4da46e9920ba198460676bb4de2a3aa997d4d6de3854b89728bd65eae717689fcff07d4555bb02025c5613d93203427ef6531004a2b723d1c83ee1eb72524a190068a621dc5d34b3ba86c5a6d1bfa8aabec76a2257db4f73b0eb6e71191bd227141fd61f0f55abe2a77e200efc576aa86cab4944560dbf072944253b5210df46256227191e6a151550731dc946d967bd41458748caaaed272f7aa9e6854ebe598b829ae3ec4197f01d606a3ba4ad7bacc4d876082feddaf50a336833f864ee20a35dd5172d842d9f830cf57db92806e8b16ca4b57a755000b01225146d4c73f6e8edea86888cde7802868931efb3899a75fb74d3a3b8b7672b6da864bfa9806dd2521309d39cb485861743fc1bfb28f8b7c77e588c88f4b5c59c03fea5d6b4d52e93b59ecc586a032c374500f821115bd279f5a17b152f603099674462191d8838d2a9749ea26be5efdae8fe8e2531880045ea1ca4d193d725942d0574dbae61010928b3d4c46529a193026ee7ab92cf566186acd1f42af722e7b049713c6572f87a0c6fae6247485a1d168e0ad6f2e264ee188e87086f02efa881d71b159d7f17750e9d2196d11229779ec6e63a61c4d94283c104e6a905e91fef0cd5ba64d76a993461488bb6132c9d3c0dfd8ae3b5573703290b782e915ca2381ffed25adb755a2deea4df095865b1c34699201972ac5266c3c384d5a72cfb0fb4271a45e01d10dcf77e2e015aeec50849f7fecf3af9dc57d7fc7df302f4955b8c230a9a98c1b8821efebe8f7c2f252e52889996f788d00bfe4ddb1b931af25ae0ba65654dd33e326542cac9b4613511bb6002fc471dd57085f678e47342a16d7d650eb260c673a41e54291ef0b6ae24340a6897c7d70f9efae705f6a72a0c5c62af5bb312a988d5509a64bdd4ddc943f825247a812601ddf2cc337db72e6f5579d52114dad473da364a2d1854f144f4fea8e45c738bf0e901ece11f07294999b2098461320d43a455f98f7fdb50a877dfeb376535ee3855cd248bbcd714a0e30c13c40c9d1a9323db6dc307162eabaf9967754b280a31e33c95de6037280ac620f731022e0d9b7b3af4dc8b7d674fdb7eeeb7a3a36d0ce9fbf5a9a426ddd614d3f6bee1cd4518672cd7c01f708da75fdf56d54f1a6709c5298f128a272ae190e0b0644e0410654d49e1b4fbe6c2460c12b5a1ef9cec730211871a4d5720cb8e9c72b91096cee9685bcd0c34b4c9e2695dcddc925e087cd446371aec056fca963ef52a460476c422f648a19eb9765391b8946ee9c347486745d8c07a77209433ca42605e396598e3c7f5b173a0852f26b3bebde16e82449934738a2c772f003318177fe822d1eb022be178a0ea70dc336151c1b0885bb9f2a29009fe0728d167d752dd56892408ce7e2e9ed8df2b7d8e70fde403b375d0d84cfdbf4d33965d479be0b0f9149f8ddddbd6678c7b0068d02ce073461e9a599906bf07cff2842f0d9d291b748a47fb383c531759e65f923d3d5b1303f264b45ad619c13677287781a45bda7342cc48136bcf3665d8cbd818050d5e42a1c210c2ae900dd95725daaa0b2388efceda53a97dd29cc22b603419b6a0d1179e4d61e97bb9a16ea72edea88b0a59e2f598b28369270d04918d90b3aafb8115a535b3028996aed5f374a80eee63726eefbd970c1bf08e73246ca059e02a8850efedc4764d131fd3872e1416b5450ed0f2461ae5c4fef66e1fbc069c5567f52c7e567defa403e3e0b722b33d4cb1e59850ac95e30e54bb5614372601464abc9a6aede0136cd85b75272c1717ecaea520715f0b5a27511e66e24bb47ab5c1c0a0df3002c278685c80b48e59f94d30f508ed3edbef11820ba253e03db27bfecc5e8e26d1a2d7d21c7737284926d97be1d70b6ba98d809ae1dea0164d55d03be87f28b355027845a6010723bd1d55ce9f448acad9a11b169074ed8914daffad679492216c2d258691781724d421bac9d270ca9b1f6bbcc0904f2e21f9dd1ee95ad94dfbab2b4e63e53ba30ef8d512980b64e5eb645d147b558a86f05bd36dbaaf66533960b683bd9b823622f3a65ac6d6b7d389b78e81a2db26577320f37e759b5d3e464719a0f390813180c86ceef8310df69f0ecd86e61c2deda83b00643bf8805218701c559ff59b8715dd9351d000f352b393fe43b5789a45bb06c1cf6dfe4b3b722f29bddc2ca926b03780737b30cea026b80288d63ac4290794083bc2adc85562ed57dfbe6a08b7257fc7aa7018525c71e06e895e653f7182abe8ccd9868330f43362939d02ef3241768cbb193f59be2bd55deb2f76a4bd7f9338f4d26bfe0c87cef4c6e02113363cc4c7d44aec9f9a4ad0f748db86a93fc043e9ea87e42f3bdaaae12066d8aab721f973cf7c831bcd42023a56ed8abca2dceccfefeb502fb049fbe15c816fe5c726169cf70c80f46776d86600e4aaf1eb48d82757885d20ffd6fdd46808f76de4f985382adeded768f4bdd07304d3461bb9ff9d9b42cbca0cdca6dace4ac475c0379470a9ce59b9020f1103989ca34259bf72dc648eddf01e22cfcc000b1d5a6228cba51519edc2b1d7e05059a9787119eaf40c97d74ab7d60fa63d75b9f4c8d0ba6fb8152c80b698382a29007cf1c0e75efb70b4040879a920b3f1284cd9c392f9932b68bb9e3f2a71625d03943fdc8c278699ec2c4bac03fd2dddbbb8aa61b725958d9f57fa64270197c5653f47428fd52656323566756e172960f7b2acda87240731df471fa15b83b894f8b88ab8dbfc0d09f4b05c6e5e377f65ba4903bc072843375f93c35ec98a8c7c8a901e62e9bb08a237428070919d0899cbba5cf455c4ff3a39fe8d48bb64221f8107a42e4250c650e3aa7f76d0a706d406a9de415727faf05539d7f7ba860e0b929b752973c29053888193fbd829bf165c753435c7246ae8585b6da6c4334f38608d41ca8654afece11caf9dd063fc7319ea5d47c7215d1e4db49d7bfdd93725ddd089c97aab4f690dda4fe666fde8bed370056c57285917af79caa998021f93fb4fc385983177fb13292b97a263eb108b9d0493a25271e5183a81ae25297a267cd426928754a2f69d2da8a36bef842773b978b99260f4b8d8018484e95b63825799e416ae87217e08fdf296aff96ba0de9eccb6f72e4abccd093595694f7000e2b517b157f3a0d4d98cfa84166957cde309ebaf87266afac050ed490d141379a1c2c0bec61451b799ecf875d749d0fa5f5ba178872a179ff7763156af531053795702ac2d4b01ef5ae7990ce157d132a78e377e9187059d5b0d58d3789aa1067bcf74743075c1b47bc47b981f5d8c58047c984b90b32c7ac25ee445fb6cbdc8830178e962d12d3524d398ef4780a9f759440635b57e6e95c663f9585ed1ae37998ea0ec0fc4a1708641dce7098dc7a1d42196ac7727d02d86b3f8127349d3fc470d782bffb62d1f0e426b11d810855af1479a1e104dde3bcc38c10ca9377f44543e8df2caff0c5980083a83a9499d5ef6c89fd350715397b157bfc36b83e01455794e3401a7a895cfecf3512d77d3f8e5178c1d8723112d5bc0f516d371db647db82e2c0d25f661fe21ca17eb442cc65719fe1bb1aaa008ac8f61777ebb1f8a441a6b217bc0bbce419fb9f4de46e74b9e10d3bd50ed35bde3f610b8a708963ca9241b702f265006a77a04120d14f2d68d76f4fe0720d5676d6dad39d8336c450e04c1ee8717b7f3907c0bb58d4a6f84bd79597a9722fcd3c17f6132b4d96dee424e1daa230ece74bae466970b055d96df49b775272b2c2bb9f36c44849554f18922d7e32387dc29e929a1ab7b04b8aa658551c7272832ed1465faa974fa47fee464a6439c1c3896f63e98ffa89fd031848365481721b2c546c5e0906f24101f639c649a88de40dbd0da3a3e3a65e49bce281b05153961aff413cbfd28fce9ca410f1439e5d6ad141038f6d4c15c9a9a4baaa8e0972502d83dd921b3a6d3b84979e3a6aa8fd205887c7570d18ee6802eb452709f41ce798a71265eba5817f983ca0b4556d1445ed5ca5ba472296ef14cb58fe9d0722fbe67519f61edf190350abf184a15cf11f1561e8689d503f1c5f9e3f0bc10972ecdaaf2e9057b2f0f8b6e61d5aa40095d8fc0cb60ef13ca3aaeef844f228d54ab143046ad59f6a66fa6a5fa57509a4a05e7b4928d84507ae6ecc27d6fb6ebd4632d35ff5a7ef43d53ad7096da8dc1da96bdd94e056577d131a825055abf64e724041ebbc34a84e8345580f70057d17747c0ebf4205f76367a3263de2de604c61a659c72662211cffc5a0bfc693f5322466f3dfaadf2f09650b1a77705e083a72fde415c3689b3ec82afa1d757222e8627a077d070b9b3db8647759bbb2918b160c9e058bb57863bb6debb1ca260dcc22bf822b7dd708aa13fa70635501f7750c0fc2cf618b4fe7afe64ede551c7dc0d74b9c1a34b0e5a06bec4935b9a15b25723d5f7b681337cc15873724540d52244f41dcad676592493cf292647455466a5de1d90f40afd2a583dd841f039552d1c65f7473f04f3e59491b25342808911872f9fc0aad626c53569c4efc93e88a0ca4eda9ce4887e9334ebd65e24317cfa77225fc0e7038bc06d3bbfb1f4cb670c3de7d57c62578bdd8e56efce88ae3b90872b0c02ce4a0914e3f9386d86874fa9f0ba101bcb925605acb1c22011d6025ac72885da4d31712530433cd6f88c69b5284f4d6f59c936a8cbfeb55a5d2fd73b817af76b22bc50eba6f05e4dc8469f24ae780300716a963bffcc16b44ec001d447202166c3cac24095af91ab0caebde97cabe103cf206d14ecdc2104a519dfeb22181330539cf17301f54ffeb7a420e6affbef817fa017d20cb0cf35bf90faf694a547131d6f9e644c275bf0abc3574a32845558abb3c89ea45fdded08ab23b76725ba0d36eb5b8ae2a3ab0cc0a07ac4c2ccd74779798b19061fa51180ef44ef472492a6791cb7620e80ade4b6d10503f87ba2642b0ce5bd453a45b586d9506c3727529fe514028b30ab2e5e17e2d4aec0e33d8009c74995fff8baf540138881f72d37fbcf5611fc0389fce11e1bcd3f1885ff5280a11508e4fa47a993d3706067264ca3482b02c8692cf98acc8821051677a668818d5be7a2888dd7196630a095d30de324390e554a1db5141235e55bbfb5751fddf70a8fae23d758117f71a35728774cd26093927199dcc9ae2e5ca12dca96d81764ad3f3cc7493239ed927ae72f515a3fc0938cc3c2682133e58aae3ab38f0bdb50f9eb2d7605d304776f53e72c5f3ad63c27d38acc03c452141acc363c17cfe7290da9fc3baba62b2cf301d6dcfc4626014ae8f5e30694f604412faeba685f19a44b7db4c036c3c6c0540be7200a02ce0d34154fb1a5ae890b2bc2d5b6cddbacfa47a4898c35bb1920bc57b72eee32c48e68673fa54d93c5d22bb85a1a4e957601b8ecdd35b0427d2311706039d910344561b615406e7c790d4f50e37d95c0e15fce5e484861114fa88abc62e446cfb6d682a6ba236e30972f3aa8c76d39da31ed6a24a60d3244e3d3476224580c9fa86f7a9adc2f237785ffe656a74a791b45c486d833695d68eb45dd80a7254b22996aee8bc1d6cde15142d925b3ca1a36d8f48034505f8ea88c38963eb72debeae0f7644044484b7187e38dc0366d15d1badfcaa75febe6603620db6487261375de9000951632fe62e52fee48215f960128db6b7fcaa6c06e4b080d2ec72d1eb4e69d012f0feb858dc72a9ca0c208973c655c63c7cce9f97012c4a0c0a7205367779e959305a653262d5d375a7b13226f0b22df8da5cc00795a40a01cf72f7d1632be1a5ee101b7e7ed7abd22655c8d00b49457c6e18d30f4425efa7e9725a6bf4becf0e4fb4580fa7f33bb63d7513ba7ce013c6f8773459e164b98d0463ce18c168e1381d8a75ddf4b78d6cf334c620b61be353dcd23343a03cf50750720ba77c380ec4c9d1e99f80642c244f75bb28e9f12e0b154aca0c8041198d873b6b759cd3f0b00d14de5633def16da25d09eb25bd1ab79f8ada2b9be4f3e0fb72a1b7c23b78000f3301d91b5def969e849963bf9888c56a50f5f4df62bc73cc723e6254c90302d17f4e8bf8afde70698ea75449bb6ee6e3488982d219d6974a666ce77dafcb7a1ae0a50bba46e09de37c9f00bce24835e92a026a9a46cdee2c724eba973c407ae9b4b9aaa0c9ecb7d9fe694b1399d48e397781dc8b06d6b78172522f3d00e4a3a33be11c6746de23c7cf7e5c8bcf4381d5ac8ff2643eeca6487281d876b61c01f314c375af87b83e6db54ac6e7d7ded504af8debf62bf575f76511e13377009a6cca6a642bbda096f1ce4cda5117361426b13a77c745027a78202a77daf65cf82cbb1938b0d2abddbd9dc2db6dc133c4b9c966da1e103cb101236cb0a086ad499f0eca9a944acecd8dbb620e4cb5379bc23761c67293193e02720744cbab1bfeb91de044c82912045efe92f3858515c74d7c1df08f457e9d4c72b40969b231c62d4f1a7ba97af160e3e9cad772f9f1297ae15e2388f559cdd926fb26149a0546b3555f9e31d174184fe47e60a5d1e9adc9e81ab3910c2cd7b8727330f94ad99583d06e63f0d7e9a2cb5b9b7d1420950b78216230992e9d261472ef5c73a8c61822c87a59d78b6f1df6899fdc95933a94b5ed5fedd3a45a33e372f7eeffb10a077f24f29f16d6e2a7eafd865618e104f3fa310c980969464f8a6610c7de9f7c54da10f939fd9eebfba6b6578531b3654f86690055548beebfe7721f951cb335bf496b437ddfe3ba1fedc95dda90c9b2885b22bfaef60e08b10c72ee7e179d8bf1777637eaf0fb1bdb462919cc7221656d44c8ae696378ef15cf7237a0201b585b1943cce1ad04e4991f832fe7bc2c5ca6f0fe0ab5813ef99b7f722761f4a4979d1d778d66c1de075a3fa6a3de771b714e6f9fb8dd862e4e68d672cd8d75e7a3e419e7cd0c6b4893b939feb5d48f95f8e69eb0a5cb4b38cead5b2a59cc0bd9bbd93ef1f60bde61c3a7565d727f34c0fbcbacca72986809008b795116175cc95fe483c8b39de763a66ee517d155faad2aa6129bf9e2aa7a9456e2729936a07e52c53a7a3688aa7bad1944e41ba23da32e6d68037d75cf80a45124728cfe5e8716200cabfb3c67945b32e6ab802ea5213ef8c8d29763de59f27cde253396eb85834c0ac6d7b729f51e9fb5fa0731670f83f71d6988937fa10940f272f27ba35406d40103473977c44dcaac323af7129f3decf32c9e56a24766580c08b6de7967ebde1b2d9aec2d2f1ca27949f89d39b13dcdf0437dcd313fe7bd4663b4b88a82334ed279d7ad5ed89a2bb9354c02f3524f5f90d7cfe7aae569e1d661acdcd74fdc749831e6b089f1502465d9228b195ad02816310db4fafed4f2f3721706ce21f614379a2362027da2528f0c6274837189bcd261584d6c03fc496c6a8e0d2d2777486550496a1d1547cc7bc6001e24c346041331c899e29214f88872f3a420f40d13f21d71fa3926d19b14870524afed4381bcf67ad048e4028a4b7226d0e833ebd884d410c18a1111d72933fe33a628c1aebf3d593cbbca7108d33d2ab5d1ad718dccb92528ca240bf86b5b0f094fa5c956356b4d56b6f8dd4ec747ff85841cbbb080547db92faf1adbdb0907fa65c2e7c6c30b57c9ab8f7b09677037051387b17c6caebf25f27b58ed19f8818e99965adfc975fb0fa14c1583a643c5adea20df03f06f741e7f19f08dcf7811b11f8bfa947ccc4fd0c3987ce4ce72c526604a0defe4e0ba4eaa57c5b6ee0b9a889ba66265d20ce4abe9062d1a65726be4c7b631196a2db343bc14b8d3364054b93281bca8bd3c3dd29b1a8db9b1064ba57aac56550b81b015e20cefac545b92f3e473e7571a7356309bb75fc2974f62bf79e5169fcd82aec25fe862035e244dbc74f330408d9471a4aea8b6333972f49df54c2108951b761fc8f81bd6a18c6e076e1a45d9446c8ee9a37367e4de72ef70e12ae922bea4d3464e5b464b9326eff530316f0d12730361e275982954399e3ab2e13f211aeefd04379b68d3806fad62fc527eba1ff6527c74e4fd18db4e00dbec2548f7cb4d736e98b76d48c2c9cc325df55b8dc9968e476f080f362e72886edaf606d21c4587c69ba11db770d9127a8f0302e6f95c9d97922dbd43377249ede682bf8f1e38dd2f1eb35daa29ceedecec72d3a3cb4e651c69090482085252c240500dec31eb627edadee076aed3cb50a135b7d22a8b58cd43f1ac99a672b98b834cad6051dafd1c8ffb2003636d21e8dc64b50cc2ea7a76041c0feb557294bf2042e909855b4f74750bcc98c3bcccb232cdc16d4816d82217f561239d0ebebe3e278fc918660da15745bc04c5ac354688d3635c2dd74311789cdb25984bc9e99a57e590c555fbbc56acf5202d9acc42b4eca9de53289a9559f85571b53d0bce7f0da63269a5ade91fbc965f97d5edcee085251beaa301f3da07b2cc070e7a03d6fb3903b36d4de720df7eb570b6030082ad68a4473a5fd38be9215533727040b2c0b644aa09cbd5f1fe751cc9852ad4c667d2644e53a7953f4052b7fe72585e1bb01cf41221d9648db5e81fee886d880e267b55d660efe65c6ff0bb210d2af8278d43ce63ec4fe828d0ecbeda48c252335649a2a3495e89c9fa017cf17231f8845b2e0b4510f7c608da2e483186b24374b8ed51d31c59e993b1ba6a7172e9446080b699c8fdaa5b57223ddebec7c806dffa9b0074cbe7efd831bd1ddb0ff0acf1a7caedd9ec68cef0895939ec4093c53752b23debd1c27a486140f45c72078d5a1ac0096cf80e33893d93173a31410dae309bab8d89eeb269d316d30d70d577a16c1f34a5e6e247d9736a06b46ea7f89f692ab3e8d581e7b1a0017dd465289f653ea930666a4908380b97b1d8907bd961050e9c12db7bd89dcfe825343082f888711d6ce82b38db66d9c1d7b52c9ffa55cd1e5c23a8fa92caa2fc33191468ff3773f5e56383b96fea593f5c571be2fec4391b644f3347687fbc7c13760268efcca9b53de8a4fec7c718af87879822866ce0c25966e535cca6ec57240061554b5cdb04ad7673269acd082e3cb42f5eb423af2292889def8ca90ee51eeb7247a253cbed81a20a12882f31a01b1a814e25bcde1f509de887f5577621cca5728bf4273746528aa32e47171f84d774df2ae1a981f2155ca624a3cf0a50913f056b7cb2f2a382e241398574deb5da083995a0c0a44f90b2ee4ea25e17e500f83d3743aa078164c8e7fdf7947451798191293796f77afeaebffbeeaead9c81d03d37e91e72534741146d4bf8be769df2142aa7997573abd67d37f77cb3a935302154a9198bc2efd923582f07e1c9c634c11b6a601f75f4cb9a50d5df767a84f944e3c21f21f5234ac53cf6a14cfeac7e46b1dadce034ebec6679e0634f52a3f55c2d577e050a8735d169213e3468cbec76ee2a435900c6232631598d8d9a441d3b2542faece96dcce5d0a2ccb03422fa2c5af4a7f67a050f3fcb9a1d7488d8e2612d348856aa0e3ceb06bd4d35af798eb6911637f279ff0e20758bbe4cce3f4f724db59c937fdeb0719486c938ed6511c472d27d53b27f6cd30c66f5f386fa4f7255990aeca498ed31f21f83442f07617a67aa4d8220e54d505c58d9fa0006d172e66a007338b7e668c9b78a40d4ac8c185d4bcab1933c9af41e415b47243cab72414cf001bbe3d63761b7e7626d758f27dde2acafc16fd506689fd4d6fc44147272eb00e91e271fc84b796726fe7bb8cc954c24da56be22de82fa3a0e8632d5724ea3d00d38a7ba49470f788c9b9c4a64de33164948d6376ef19e6fdaecbe4b698d66a005e11aa41d9c33cb945b9e45a84bf6e03db5bfaa7a13fab46fac52b302552866b6fcd89122858500b04f354d5ce5225575b0253394298d51621dcfc772fd04f07897535d98ba5e2bc4dda5f50244355fa2960d3c0f0db6c3533f0fbc728f5f718ec89539dd16d9218751d5826e86880daf44b016b31d7c6173479b767215a936301bee24db90aeaa2c7c8440d8ae394e2f9fc0d30e89b12f6cd482e272496ca48dbba94e010d5509cf08fb461d8334be246599bbf3945f3b8e76ccfd6896ca92711da145d1bc7fab8cbb43f6894c44b17d19098934166e50deabfebf722add78422226c79a1b44c934f4086f90532e9edd098ac7c4b29f33f5731d97729fce1a1232a9f0ac660b24706810f72e8a25ea09b30e0cabb4348e02565741724e5dcc56fef6bcf29ada458df597623523027403603449f8a2463330f0eb8b22005730641cad200146c33ebd7ea1bb5254360675bbc2edc01ae977ee141d14027f41d49abdcb993bcf15efb847a368d660924a70fd4777397a21b8823a22e11da7940aad657c969d55eb0dad6c55b93f588adbc450e779178874f7c61b92597222e4f14a14179bb0510554bcd86ab399568a90aeebb61cd99d0e6627417c8343570d20fee2e5718df460cea774d5987b74e1e8111b5e944f2a3f583be97a090d269345453f49a909ebd123450a9cf16487248d8efaa520433c7a56746cb8fa72594c6c4f444115255b3aa9d41f8ea974c714634884aaf829ba4038c8ed2f3d724b7251fe7b8e610034d7efa421fe0d63acff2a31185c79e064e7e85d79944372976901fda69aa44cca76f5ed0534b14b17952c67525ed9df9ba4b200adc8192e95ce2b3cc083533f81eb3da5d17711fa3cec85c44fdee5375dedb4ba2faf7543ac8ca83bab9e93b106821742664a417f51eb754979ec5ce70a50c6b9c8b80172b24932620656fea87ca331cb5841f43c1b568fadca708df32b4047fe6c1bd972cac8b6cacdf4d493839ae9c8e79fc23dfe63eef93872ee3f421967a2d372fc708ea3a6750fb24f80a6bf5c07a678757aa15ff48adaec1d287270c3ec0fa73a32ba0e6f643376d8fc3b2114b3db3a0d7dc0bf25fc7bd4b41b99e54f6c12cf7b35979a5c4abe038b9bee2d35d469227982e73f074dfb8e85a89d5ff1d72660962c3a6ca252acc6272087fdd57ac3e7328832c16bc7516724f36aba7a0a6a0db872a8e978b7f3d4d87e07f763c22961c85de8a556c8cfb670fe9569c021e2682d3a12b93a147c074aad070e234e1b4ac40cd96a5bb76edfd4cbb8afef8fa466d3612b6e07de0e2ae640da2da25ab273d0d38eb9401e54144e1dbe9d61f3407d1529c50c7090489326c211898200f4edb9aa50f72b92678afcb82108bee3f51cd1726c4b74d8fc7e82d6af65e037eb4945e7501049d9c5c5f12d36e93d6c1f491972e053822d36fd4c3c1989b904f10ffe38140ae3d9c9037bc7e91fbc34fe92e772fc3a1f79504a164486ccf4b2d7aeafcb9ae6f3b2f71fbcc6858a89a99e600e724a02b7ff480839ce03294f15a2d15533036e3c4b21b8ae107c6cd8274d429272eb80cd74f0c9d557ede286caa41a589bb3f1a6e6418b296c0253adc2b143fc728078cbe7a3b0526ae6610ced6aefdbef44f3d7e1030cb58f72d7655d52c88c72705a44acfd1dfb4e680d852ec6aa8657ace280614c47e0f8d6f9f7a6e94857722387a5f12c10c24e5bd2eccb3be7fd49e82d851094f3c5205718bcac443384456b22b4d88701763e7b40cded1ab3377ffa8be9f99c329d8abf61883043f08855b4cccf09e3509aead46dc7feaaeaf3937de1a6ff4c0540dec90df1c577477672ee83b0070c717c4e1b81550b8fcb57e7a39ab5e3c9812b4f42bc731091929f7217e72330a7cc76f30cbbe3f1ba950f9e6ea168d96a44257b98bf8bb16ec74772250376e9863e88f7c4719becf96da2afdb7c5745086f5fe9b7989e65c4057e72917164944118e4861ec74d3e220ce18f7e51e67479db420d9ab96b1072882e71ee537cef171c76250a81ebc5992d258fc19459ec2ef984809556e141b23cb244adc1da9bbeb174dca4bfa7213779450cd7eba5cdfb41342be9f630b4596cef3ef822df93a0db9a11d753ccd87c8ee329001c9ec8cf97e5fa9e7a76de3442f50320aa1896faebdfe452f1eba0aa3e5dabcff52688a219539db49c3adce059d4726fd9f31c26d0f27f6b8408da0d8c21317cd13b02554d0a9800f9b6737aa2c272cda4fff2968a0850f0fbef99bf6ee9d8c4e9f86a160cc48d5ff93a9ad829a66245f8fb39c34a3ca636105b53a853ec275164d56a09bb06e6f427a45437dbd0727000840f75cc0419be8caa345e8b369b69eda9aea2ba7d952c91d4a697a0fb2ded57ecd93ba6708eb36c6633749f8cdcfe84be538f8a85f92eeebe28a003c652d6d50e3b522b954213d50e0e7e5f3ac55cd38a9338d40874cc10fbd4ec8cd772f2fbc05797866bee79fe1b8773d440e5b5624f625c280ff34c594a8d8d52a20151bc342c89dbcbba446310ae7ab9cb8bf46b4cd547ac6ce40e5ea4d316718672ece16b5f348cee2eaa953f43e8836bc8c45d6f39b66d7b6beef073fc51062f50ffc4dab9e595312848cbf90c559b0b5c10e8173aedf1f1e05c4d608216edbe72c18136406a135c7bdafdd7e6e62421aa99ba97b7b014c6914ea3832662808d570bebe0860682c75abb3459eb5aa8491d0d28fdc8a4d56ba2c9f8e35236de41261792f8ed3904b2e7d97731c0d02107c1d6b2010918e96aa7d2d479694ff23f17f294940fbf21f04f1665cfa6f7e3ab64b0413525afbebf486ee8ce5d0ce3d319ca86c96efe869b01a1bacaf6d302cd6fc2bc04503da14cbad308b8caac9bf913dc095fcee4e00c2bb4ff6fc38afcb078f474666cc220479351e9fe949f153a729401f7b9b23f11806037d99ddfe2f4cbc83593649e932a1c7ceee584cd7a7072b5e7cbe90ea5866638cc1aa85ae7cd451e37e751ff500e5893629e2726578e727e2cd441677e5aa00338675994a9c64881b9da4e8a31d68ecad95ca8233f33727a508549c2d687a38c50ff9f639d2057acac8d8e95a2f1a6b767ec41c2c766293a1e3b0d02773ab22892a8a0924209b412d1594536b3a769f888f95954309e6e355a82084990a26670c815dd4b429f314f0fcadfc3b3dee35a1a0d1165de8109dcb47dfd9c75ca3b3b75fdaaba746790ee1bc8ce01d9276ca70f936cb5b3bb09432cfb25b0f3480b229e0a16df23c1a5b2778e6d8cde968c61a7bc2634f5da72fb4d04e9ffcff6c33776d8c288488e297adad8601fb916953c2f42c88f128a727fb67a3a3a2d38329548b8258e87a9373c4fc8f06b87058e7b55697721db2a7292a743563232eea2e65f3c44c015913f2564a6599a5f44e59fc0668b58857572d5679e387c65414eb123a305c04d737d0446007f3922d34c9b67023bae475c72f690b1e640d4a0a84d0814c2fe16e255327740ef2899fcd17f4370e638413072fbb1900f6e4b04bf135d7b1ee4bd032641d05537e13b1b2a3976401204af85725c835e65344e74505185725b125b432e253bcebde21727bc1b534bab8e3dab4a3d2d9183d8a4a6500ed2609753c2778e19abf21c4e77f016a0618ce4d483320a839ee89520e6c782229ba4da0fdd00122385f55e94d27e3a5e5430e69fe5e3293169435f0bda8fe4c445e11e2b3273b24cd15a12dd6706daccd0093133c3067241d2152771056c01ff87507e3da9742723236a434ad91e584afc0279e876752110411dd9ea2276a10217a2f901fcb6ffffb9f2108d9e0cb38d6fde7a4251a672f8bcd326d44d965d83d2e3b4bb4620f5a59dd0bd4004811f6b084356ae8c98729c90f0a49420cb815fa86b16e7183a216218dad980c5caebc31ee83d29283f72b0e50ed9fe952a3e1f68140a59669907dd8e78bf859a9e7e04a6a087c9485172a6428c67038b63a7f979cd65117e2775500f4d2909a4586030d5fac087bc0272ccedd50c5d74ebd267abd0cf84a1bc72d3ef023b310d846d74c88220545d84723e598cd550b20a9e26d02353d35fcf2762ccaa7c081a7d17d5fc7262a7a29e71cdd5454541110b7724346da3c198509aa88b03db1d3031c51aa02127c462690b505770058cd8b89d54a9e4a113873c121c6fc15ef5a1735029bfe125fb736072c078abd712b6700a16f66aba2cbb67ee711281cf35821180cc35a21d7d3f737292abbd93dd85bdad41dd5743307c56a2ed77d2fbf58a5dc2bfef72159a11b47267cc7147ec079080ba9bf0291ce96e706b1628e54cef87b2b944b672c2c3e172418ab2b150f852950136596e2a767576f2a3c82b5fb3f7daa6029f70c6a1df7203067cb836847c102a76dcff3d30f9c93ed55c4126004e6eb06d8240852e5c1a36323d2efde90c4488f6edbfe0c15f9f0eb865bc8c466b4684fe3add7c8b396fac99b53897bd57584902dc46e0f3065e569563775dba55727ca8134f4c69b872495e25e62d5d7995f6c9f7ae305498c62f1183946b9fb7410eea985810be807299b56d914c30c2b25f37fa81950bdff9a240f600966fda62337e9d2312ad9c4f41ee4b0274c0c6137343332af71062be72383637549e5bd4a2556fe30bd78972e170177df585d6871dcc9c5fe98c92037fa48bf900950ac9348bf6c3065ba8727bdd50ba06439e2a35b5dbff0a33b978aae0518269fdfac094928fa478010365ef7ce49d629195faa64eb64ea82686a4050e959d1ed60818644f2ad90cf21e72a7821cc5c9f6283c6a7ea77519a9cbb9f694ce623cca55e7d31fa87bbd1c13724fa656881deabdbd8f0ce8bdd4786d048a71249600256c7d1c08b943a4ea8d72e7831982e6de480d7e847c577d1ca94caf583c27ddeb862d9ad16265e85f824c53f64883b5a189c7c3a07f35f0d6511e73fd8adc4d661cf614643086f3d67072cf3dc41204724a58d00556792e3f8ca505630ac1007eb77d8279207300d7b9723021634fc61c5154e43b91514d0a284961d0beb175b25278aa0170447d89ea726136a63bab66a8b6886df800d7895db9540d5bb6531a9833e709b0d438843747e977d5e2ca19c833d3a6cc56fff1335c4b67cf6e8ae26b00a3671d93957f0672542ebbcb36b5c316cd76c3218c9b9c3ff4689e8a75396f8d401686c2132ed072fd293102c7eb9abced31e315d2e415c91f2d1e11f8731046dc9c2b5755524672e5c454268ccee055b44ccd59235e7730a992f3cc0c39397c6db1c4e8782b7e720f97c3783b991cb8172479c833e9886b15576fdd78d1b6418882b333d3c9d9729948f212e7be98e710b7659fce1000c5801c02b83e22223a6505b7b4dfd9b672e8cadb23d274610045a00bc828063b76c33d11b3aeb4880c484dda25d2ec876e0d67311ec76e8049b66e566bf90a192793a6f9695e4579b63627b4e5fb94d74edca244fc76e84ea0e9898d6d59690e4105770c8607ac9664eb493fd475c15772253bab8e920ffa817671179799b667ec4716629efa67742b22df92dc65282d6ed7b2743c044b717d0b0fdc0625b3719188c62fa97be0472248d12e039d2a4c729585095c42422c933fad88898b8673aeffadf06ce3c44755463f58fa18149b728512b52d317744a7a2429e63caf864d1820c4fc37f282f0dc99c8128ac6f1f729d529ff902b014ea9c8ef9fcf5f19f71fbcd85a5dc85bd56c8b78c0d065e8838725bba6d90e65ad151c8725742ea5abcc645a66e294b2d0309ee10304999e753d77841274413e8795817bfdf81ffa1d5521bdec89202510835b2d98c77a1130236b5b5e3294cbdd44e4b050916fa8855378430c72abbefe32fe26b960423ea72e294a3cb7b490566299ffef4411c11d83af9a497e39c6f8caafbead4b4e2d572eea9d3228357d3af5538e1459fdf3173bb678b43718d92329006177bb4ddc2727786e853b7b353e6014217cee136cbf9bfaf589aab77dd2a220698f17c929e727a2dfdff13e326229bfa76e018f5b6769018ac18e9b3efe4110750735f5a4d27d442cab514a6e0a4e3a6a6c8ab2f7dadac5a3728bd7582a592af8c2166c10672797f18d969c4e440e2d924a0e8edd649c90940b75da56f4601b2038344fac900ec29264df894dd0358ec9dcb8e33e07027fb0dc0b0ab4aede65ef2fb7168db40e32cb8969b073d8b495e43062f7a84e65f699c57719aff4414825dcec1ee7e7281a158f61ec76e90d0c16083e9b5b2486078b774f6d0b5f1dac20ddd3fcf190dcf35fefc0c9b6f0705fe2dba613256e65809baafb786cee4d15da812b5f4ea0fcfeb48298b50c1a9a40fc8e49583cca6a573ba4610aef7765fec5c85a228ba2c4b7e131016163e81a666a534729c731bb9bbba1d884ba114f7d55b759a05be72b9f9d99bf3d6b98dc702b9ca29370212a60f21807058370902ddbc6a73b9284c4fdf35e8dd177355013e54d2071694a88abd1ae79eb886980a7bb0193e7e4335286b248f2bf247ad1b310e7b05e9f6bfacaf5b92e37e56d613bd450c065c724a6fd7aacaf7561e80ba100c6f40a13096fbb47053cbd1787497df213af868cf720244ca3a73c4d9e7f901b77713fbc9834cc8dee01322c56f3a237ab74d431d72eb25177416c8ae575521432ca983919fa3543b029bf8042fb575406b1c84a0720fded20c1859d014b27f91305a8052cc7343e4766ee027af6a60a24f4b203636bb6f70c440b1af0153636ff2608d1e131e29d45aed04b8547749d628b6e3270ecb75a7acb36b119ad07821e7fb565c0cef7933b619ed04ba46eb4634c24da272dc59617e3e3723f7419457197953117077fa6c99ef334e1d3325f87f55952a72f116ec641a719c572daa2b4f82c6ce6989170cbabc9ff865295d532dd2ac8e719992dfe45972337360b517867354202aab254ee534a5615e9898172c94349172c29142f61d9331efd01c6592f1d38534794ff03dda5fd42bc49a3ae38416de72897116a8c991abe531a3489aafd990c0724950966d69f948a9cee3c59772a872229252bfd60117b4d7d11d670db57ac9a52a16c2543d3c6d4cd341e309dcb37204cc28e4e2f4f2071d9c1a6af74d886c8c797795ad8cd1b355a0336ea4282b72da1f752d0bce2631dbb0b9dacfdfce6bf10b4844c965e7930ac91485e810ac72fedf4e837c5dbc6dc8e61fdc02405ad500c38de0a3b0d99d9b9043addd59a772d4c89ef48fab8bf8e47f0102d0ac8de2e7cfee3724b2095958fdd570107a18729a8d5bd27592dc69292e73905514b2d222431159c27cf0d01d5c38c1064a3b7267a11cdaf12f2c355d9c7bdda11e19978ad52d0722ca44a95f72cb27d5e42a728c1dda49135086f51156571d28fba5e3c5e7096db4df107d1d6773a89a5aa37278bfc1c3740a10a1bf1a6c84df7445b7c65e93b41a1592fd05abeb832abc9472c6f8a478e2c66cf0ed291807f0e83bfe1b2daff541ecbecb8f992689bac6327278b158de25324207e4775ba7a4ae64a871db1c46a887f79fe4b69634292c15728b0f75bbac33de751ee25ce7d4800c0516bce374aa4eec3db89e0e1c8dedd02a414f5540a6ff949694b26b95e483ff17dc3b9b66723d1721675cb72e5a1ed972797006944ee27f3b97e7f4f5674ffaf79645e2aef461a70b6dcc0e34eecf64726b82e4250da2da6e2d686f9ba687bf2c1cb414f5c8b9333d1a4487441c88fa3e0bd0e5cb0e199d0fb9a93db2803610f35d9e27e6a92e9747687db539133430722e89ab11da9c60e8c1dcca221fa27869d0383dfebaa484d9994acf795857fe4e8a50dfb0b4c393bca85d0d792d1d7c8a774d0af89cc69315348fd0a2f3dc0e0223438688e0c3f7d724751173af5912c402ac77ca81faaeab6f441f17a3c77b72f1a46ff95192ebb6bb00e33509b201a827b6834211aba27e08425f72c3fdde724bc268fbe019c404c6611569fbe203c110e98c9f623d6951272dadddfe435772d0574af5a1ae0e1da5db73c4816a28ac6d0c233d99f46053d97e2a4b1c3e76729f7694e7fce923453a4d8bfcba2c60d179c5b8de01ea4ce1f136744ba096b57261066f6db3ca41fb248826bd930210e8a4a1cab656c9f71e82feb4417e044c727066dad28f46c2b8201d7b227aa34d6649381eaa4769f8f0059f5739913ecb5b92841eea47697e1f4c3943d9fad0427f81dc576cf918959e31ec027d1eac4b7274eff819a186e39bde9c1489fb036ffcf6a429cdff0f574ebd2808dc8839e5726e81ca2f8922f5d596dd91b7f219b9f5d4fd147002735bde0935551c934f03726c31b12063d5169a64677307928536f171bcbfc042e9180c62cbb25b45457029a2f50b51b062778b9c67cdaf948f6dbec5385e6c79d81843b3508f9cd12ed172f4d6a1ad90e501b1cdf2e1ac22c3da5004c39b1b1c55762c188fd29df1f06b34a6939ad70bebbb1705f5bf5763311304e781ac8c10fdf558b71f995923c22772655b430fcdf5dacb037d688c8d673e1d22055075368bfb10fd60adc83cc59c0351fa32f451b6ed25eb7a9fa7ffee2b6861b0f409b7b04ed23f7e4d4ee1cba47208b0d1c2f9d7b4cc5f13cea07f29c9d4b528964d9719faa3b3c8ca662a0d787278b586666907e39a55f9924d693d94c118e6dfa5444af30f0a3a2c58dcfe78720871743d16401ace91428cc68f8cce260cadd682a79f3c99748646f3a68c405a88490ca48b19e906bb27b6ea3331dd83215b722d4b6def02cd6b2f673695f81e8dc366784ef6c3e995d93766e41a0c492a9277b362f419331b8d0ef15576547245fb171939820d55b15227db70c3887001243a14444938f3ab5ffc74711533724388cbab0a3af28a78aafb98a5139c023565bc2e97e6a166f9cac551ed22347224f53e491e79d0eac6c08b5854a95758b328fbc07fd45f59a594ec3f32c5700d5e3f6582e5b750d5d5c27f5274923dd0bff76c6ab4a8d6b6c7fabc45298b7949795c42e299d66bfe4d6e42bf59a8d4990e265e2b1e478dcdf9d59337ff261b5e961939f4a90bfc425ed4f6fb4ae388782cdd30754bb68448f41a29c9e8cd5443d85e1b56b51d0c5d3b42835e858d963517e4ed0abe00b7998bf16d6aa1d19258c18bcff69c0fae235849d5d830c45b8be1887172f2f41d229aec33f7e13725724ee64cae0d2b157c1d12bd93ed2721394883d423e4ff317a38c893934afdab7205e9def197c9193de33e67dd2115bb3107d2c75a6050dcc6db08c01305f32c722b70114c12b06a47fbe3a198d4c5ed9769560ba9e3fa0182cc970bb2e21229721d11652150b4697587fe3190a3ca3da3ce6ad66df836f1bc49023992702b7572d6d154de3fb8632b8a93d619719443c040a6d38e135204dbd0fa2182aed34259e31b7134f46147e47ee42ca412026ec31b7c3cac2bb2316c9fbeb65aca3cfe72c9c50249e0fbde05489dee8924acead4902175828bfbd1255af5ed75661e705ee07d775ea1b37304c6c71b002f8e27b421e525c9843c3fa4d3ccfcd94cf84309580d5ed0ad14146440ad14460c68d8c626fcda8e9a81930209a500d8eab2805744dbdf4e803556e502d4c529f7d06f7186f19ff6e5cf11f8443d6439442610725de4ba9f462a4887430eab0564fc25f33659ef1c279f42f2f040021b288f2d5b98c399ad4dada7f4b7efcbe313d8bc83aa45ab95b699114b04480155b7dc80720edd90eff3401facf7d88ccb5958a24946e80937d1c65df8f6769c6daea1bc19ebf9266d8b3c2af0ac00f02c717b50f7075368762cc43ae292cd34299cebfb724e8a6d8c110cb5d595f8e8285fdb898a95013f9549bd31f303151a96bcc76e34e09ecfe16cf067395ee51b9d5f6a1afb09512cbc4249b4bd360fb0d0c789b105dedba8278d19daf1c2c39d595457d115b96b3981d72c328c2411e6a0c329a7105320cc39ed9b5d9a0a7fde2020fb02cae55525043a649a88c513f6bc23d5207276cf17dd58fd379beb260336fda1c19628bdad7df9c6fa56c8fd7ad64e2c297230d1e76a36528c25752b67ab973ea97816951b046c5b8aeb9265b4ceb4f6c31032991ce3d64bc12d6dcf8e7c731b3566dd9e58a1afe91d87dcaa7092909eb70135a0f90a28b45b15c1554256ae2a534bf10f33782d91c2b2cedfed596154e54d02d8779a700bb40a8edb8801920461bf7abccb441187f384d15a36f31ada045e62c940b60d80e7aff16db4993e0f15e43fed21ef5ba88ea52aa5fa70a4325028c33dc6702c0371bd75432573b6d7c7b3c625eee4ddbda7b861f88e2f6fbe1b59849fece06e37c6ab50f8d6ffecce2394c225ce70d345b326302694de9ffe3f2490252ed8dedbd97d1c6e6d868fa1a4f30095fce3f509fd6b17a27758ff53f0640cd548bb42242a525e03b47aa2f8e659376b797ca6bcb5da71c2a54f8e214e22ae0b1d50bd2afc7f0163f150efd8a47a38216325abedcd01ebfbf7784c2ec472e86b3462b52e3240afdb7348a0c82d38ca37bd6ce7e07c9596daf938f64c3e0f22b7a25e59920eda4793017c2243bba6f6445a670e5587dd3680cf07a597a672e81868b226b930d5f16cfaf11ee6114234fae483159b9a5ca4c1498058d2542f74322128afc2688d1316ebd00299d34442a3dab297ab7fd6adbfc5b55f174c10aaddf508630c006a923f17d84cb43707cdba51288a452c40ce99b14ad0349c72fb474396136024685688b74b32176047e35961cf8ff481ce80a2d32e06528c7246f1a0cea8a06a61582af2d1fa451ac173e081decb925345b8a1763a4fd671722d5f31128e030f5b25fbaa4ee36a223338a21e2459831c4375d0b572d49d9b727abd463640c9e2bb08c4fab6d1011515c05691490f225b3728426ee228ceee023c3dc8d17e70175d60b56a927375133cc69c45fa9522c56dc5dae20b5b8fbc4bb79674ad23c07c681a5e110e1b90143dd0e7ed5f275c3dbe02b51cf3ae302c50ddb6bf8a446b328c6bed19a4dce9d1871ab854219fb6ad8fd206f14bf2b38c7279ce3dd9ee007802e8f56421b2062f8bba062dab27f221d982b44464e5357815a72d0e279b3123e98ca4dcab47c70c2fc5af54787c5c41341556f190ded7807215ec53d141b21502353f141f90c414705cd6f073f704264f1cd4eeffcdc5ef72239cda58bca7a5287ea0aa6be38f191a31910b2c034e909c53df6163650cef65aee250138ac318989ff74345042fb38f9b67e74fcb46d7e8d6b3906226e670508384af25d54d2cc40ed72239578cbba05499bf6f583b403375f4ca8fb58e70609da521ff4e9cf9b3d24b78f1144696facfa6723dd82f963a05a282aeb0e62872c8c7d001b966b0b0cf95949c38096d7c7d1b6b9dc31291963a0b234509e9a972c74a2e1cfa6b1c3dd09ea0a61ded1c9c3286110a5a569d7b2e636c0b5bbb4b41cce62b93aa67034e59443d570de8a5cc733aa5474a210b464c45156488a32972b96275bb7bc50abb1163827eae19b4ae16a3ab433446d05e20f6b21fe08dd372acdf74880adfe8e8745f4b46da16eb0964d81bbf55c5827d6ba9486b453c9d7293cf5dfdd61d0259912f72133e5099f9ad7cb95adae007c9432a6d328905f1726569823dcee5b9c2042f79370d08a3e120c020c2d8f4c03dc5b290c1a7f9cc722b8c379d798e6e8dda693b44ff74e4f4ffc533d530c4deffb3f4b5736a8b3b4a1cd1b469b45570a04aa97ecc44745c7a0f46ed8e8869ad9e4384804c4b6f306e8482b99076a5332c674c310ad4238c9f22afb95f741dfd0f98be7be0b8675472cdf411baf013d0a01990c61d2f350991740cfc4037312eb39ff112e8f423d07217e86267b3978b8bbb25660366089110a37e898410ceebc57fa0aa620e0c4972bf1ab5351f4c228cdfc210c94754b424f192807117ba435029a64ff6b910fc72e6e8eae1df9eaef7da77a4fb41dc9f1c7ccd7b27275e9b353844b6c73712041cc092883a02f7beebc45d7b635854265d8b002e7723f0f12e96cee77fedc4632f49c4fa3c7c1ed8c0a7df8fbf07720627e8a0f99fbe425b3bb0a961c89d722372f385a4027fe24286e4bfae31dbf91510c3138d036d291f5c40a861d1d1ee47320c6a208122c91e2d85e32da77597202131cb3c0c218c6ea7acfa2780d9947e5e758060eb4e6be3f496ad0b5fdf8d657a21caabeeb84743036fa8e6fe4e7a1f502d8618f64aa47327cc8b88bb598157a61a4791f6941e8c76a081a7a895165a727a32e70726731620d52d1e91fad0b27c541f7a434e4cffa783d4b78e063aca7285df8891b465232f396e7c55b74e5d650e2fef6bbc86a4eec2390dfeb95bf272b6a965fb4d49cc4c1ec0ca40429aa2917c2a02b926bb59eeb221311434c5a1484c05ce5f306d15118ef7c982885ecfa385a2a13c71e7d578f22c4675d5e79772931ef771096ef23e02860f8206ea52fed6fe26965a3db14339eb6d94e233d27254d7113630b676faf80b5af84fdd6ba45b14699d43aa8092e6539e6924a3aa727fc00158ee73b8a040aeae2cf8ebb7def934db8b48f88873d327baca6b53df49f0a1499f6706cbda08848ffb9d2639e802c5252cd4dd49bdbf80798ee802ab2626e5629eb2fd364604358b8d38f0983a04a0cf5011ef037e24e70c7dfd55217232e08daafbd7f9c7a06af9369f2c106a008ec86d71203be5059ec0d9373966699ec748678b9b768dc4eaa757a8f7f2f31fbbc828ddbd4044d6ff348347aa0942d1417400166fae45553872357b9b58e921eb268710597433a02280a5623dca7235dd49b9fe6ea0cd869918f66d4df93b3a94dbaac00abbef42d0d3a377fe047256ceafdd8ec67a77b6df79b70a934583c8f2d87c54f350931da18c29be38797298774d22f8c6d101546d00a70a9beb98e90dc0b19ac722ea3eae535f7c65731cbaccf7f11662421b49312c9858ed2ffcaff00ea2a4ceef20e88e6316c5d41851226d575f7a3cdc92c612d54df27007403bb3fe685e0d70afe2a09504033f06709b15c0bbf968065ad65351060223f10cca7384ba3da2896d012aa8ae799d166f4f1f0800d2b2445ef1a8a71cbc41575d39c22b8c635c706e7911498dccf6e6723383a8e610b6d4b5009ec4e7e59dce87816b7a15e98df6110977f32a81f633727369ea60521bd1d69fbc9a70dcbcc6a2b919b540407ec8fd48afa635f3e6c01409760f6d4cf5af8266b3c4c12c359bb2fd55fbe61229b24c6b498577410b93054e11c4c5f2a99ff482ec5d8d1164e9a832c709339272720f05e687bc00d3bf725381dbd43d89ad84856fef2426f6d87790713b90184a01f2be37107c6e94d830839d93ffa2aad6ad1b4c687eca21999652e44494a4f6c3757a55ed2b3f5d6e183d35d0f9833dfb22a7b9662236d6be698a1ee4656fa10d372e61210855a64d356e4bac48620fb14f1ccc08eee1dd65d00d2240ab4106bd9b49b73f340df61c7235738bb97d254cd4f149bad3c3aa5cff78abc40f6b8fbabf4eba329f929c2472c15e7cbbecb62ebbc86df636094966cfba48091cef923bfbc84e81b741a57f5294abb26bb1136a79e837ce963f86bbda24ffbe3879da804da9cff71a519cd6729e12b2b38c3f569b13a4ef052828df21d8ed3139c28d501e43b03bea6d5b227268721f8e598fbbcfe39428ea037dcc295eb4a63b74aeb28538488856742dd03ffc2280ddee80d1e57c0a605e36f3ca4866b3afd68be94584f668deb087a4b20de3769dcf9f2c0ef438d01b1e5451f5f239476bafcf56eb64534be204a0766b61180e1935e004b30803e92e76ac358d8c76fb3be28ea67fb39d1fef34886f0e7286e6564e276c4be58e796a9907dc57a6ab38cafcca951e0672b9b0388b7f45729dd6f1c687a24865bdd08fcef080f00f122278cae88d30b3391a28c6c3bf24720e2862008f87580c3f50aa9ebdb95501f5baeda74e7f1cdf6ef766fe94efa26d71296f3b912f54c82272868c8b28c99e3f23257908f90286fee581b6d82ca8143f1a7f608cd6874016155a68d4747a8071acfb4aeeae866755d60d8d065236722e931589a25c8680104886d0f3b6caaa732c0d12dd6e1c0aeb30cf2ce86f4e72ac836415b8df074cd33d472e6276826f645321c34aa6396772a550d7863b3c72d0785d0f2f7dc22d70d3973265886831896523a00ff4ca845adb73352ae01c2e155e5a1909f8c31e63f4bb10a3d48efe7671eac9807eb86e2f8cd1ba26bf90184594bcaf222bcba75e7dc4b9277d8d18de9131b9c9c6b926e7ca82bf5fc8a44337766f6aee9446a7479d42e6757896e0f9d31acea681044402aae95e71e3243174d1d0c5747a8fdff4c8a3419b0247d0fc5cf512389d9224ebd50dec30c9936f82d9fef66423120044e79ca6445d0cc7189fcbe0706dbc004809a86154ec8772eaede7f4777905744319a9a4b1adcc95b0486c998ab81d5797b9c3fddf1d5501f5a7c23432c7bd37f5da5ad63f91506db8a1b58fb9f9ed8294461bb8d23d3a185de435e21d3076a7aff13630f93dc188a78de6979a5bac32be31975898e1335f5bbc8a802da5a03f5e9a946e00fd5f556df6a48871202abd66152e21c557c9729d701573c178495fb09f76ba8f898f84dd2ea88dbd63d298a4395e749db7bc726665e6a2800f9223cf7f3ee6aa0e0cc800f0ffe6ebb4ecad0f98be04db242a6ec23ecaa6a1c24dbca7766aa700f6eaf3f2e49a5176c3bee0df8b0025074a946e62e776f3174fdb1e925da2c629ba422c5348fb83c5b69050dadbe9bc5181e4203bc685e5f84db52e234582e889642177fec2b830a909f96b0ece6a251f757872c6cb3789cd47cba07d93fa70e33ac976df55726c1acd98e52f92cfed21e33e721bfdd81d4458cce9fad25e56557c763889d16b74fb0bdb1f918431c453d09c55eea3fffef8d00cb57ad6de4da48d55acff9449f2249de3dacf0e1e9ebd6fd272a3f9ad17506adf58366ca76416a0f5f59cb98fa5d6559594b3795401971b7e72f3d7b46aba19e31a7c3da455f1d918a4b1d4ab79e0e2f5d74c8220b0f6d8b071439238495c58d79b237321a5bf9cc67f0c6b3e368d63b039897a7d9f9d001359dc32dfe314892b7051aedd0cd3982d0874674a4b297d8379b96c55bf292b8072328865177fce715890c27c7ad4bd0089eda711ef2e0ff9716cb8f50dc5502972ee52d67f5e481396f3c13bd95b206279706beee72de0e2f3c5034a7e10174f0d65852a45a8dc42219544a8b7886970469f20635081fc5fd403da275cca4ccc5afd03cd053283ed99c56b659faabd2b529158be4c34aaf205ace79e2c808de30ce3bae0e73be538defd1337b8fe492761e6389c118536a9f56b1ecaae0a8dcf122ac93304faccea11a776b94c9c72c324931d8c24024a162c535bf9dba051ab725416301276557c302d8c1e157dcd04e16db9e3ec7a9ada40c9fe1d307b3b477241991b57a6580642ea1f831d7e39226bea57e6757e2323d977b552fd6ed8597231b6ac6adb70509b0d42ec3cebbf11dd2594b28c143a7939647af901c3f00772a6b165fb6f40e722a9c924aa04aadd449aafb513dbb5b63141ce6041f18f8f72387d9e445edc72b7b929c8ded6430760006f291697bf1dd278737b8ecc03100936ede73ca9a5920cc4a692928293936d3181b985024dd01a90027365546f6e64923ffa5ab470f1980f874780712ada800199286d6c779f3ff0fa50d7afcefd7202f1b0e13dbccd15ae5a29b5b64f37a00b7a48af9778173badaa9a231c6a8172e85c79197d67dc72bede6958a5ff6a0683bc18fe013bbae2c91cad53da55ed721fdff9b5e591f3ef8a192aac440ff4a3f18d10a164c647fd86fecba88c66b9727821206b37d833ff599597d1cfb3239995a7b6f15ce7beafbeaa76935a4d4e39fa114de14c62f49654c73f03e004de6732ee53c0387581f0c8691e159687ee2c6e7000d5572e7dfbd39555fda1b36c7e4126cbf6f622f648f2b21d81dfae687282188445f75aa35037022067b02c15e4373116d2ee9b1c01ecc5ae4967e41d17d0386d5ff7a03aaa2cfbb571a0bf3eaafb59f547a22e5b87fad504c152d272584a5e2a51f28102cb05dbfc75cb2c5701e1854b26ec39e49174d1b87aa3f2fe647d897f7c34a69d04926361e601210c5a127fc72a16ddf0225737c7aab0add0429754cc750b29bb3f3dd1f99813cd590dbfb12501b1bf9f8e3c78b884f19e5b72952daf32c8be259c475687a2d55287f18dd844d3cd895b864f07aad5d06c5072d5c584c1e8f32949ebe8582fa19e16e2e58215f5a6c225c7cd6c14c779d8d6723177731bcf439b59c5d0a67559dea8ffa02600f8b0f2f3824f436a22252f186f84cf8e2550624b2f1d322701a69f18fbb4b081b08afe090841711a4245cfa572256f6e586ece22ed30a67792a848b349158d8fc7ebc07c56c302cb6f76c65f23bd8f488ac0f74e575fbca3a21c6e715316a11a87b9e449c432146b44b3ec652d5b09709abaee725eb7971a64b73edea605960ef0ee0ee8870990745c019d91147079e302740364147e5c8cdcf1aa85431d209cd77787c6d2d91c1e998c8bbd721f74a24ba278db4cebdb6877ea010bcb30be2e8d85ef1030d2ebab5957f177727955bbcc46be2cd33b7ccb46a21e6a2668f977332e653c5d81c88db7e6b95e725264b59825d4a4130b0f4d5012cbc30df24745b2af089f955ce2259fd7566026b6e5ae63ce3d53128da7d015143fcdb20f51e0011610d5c0f7650a136f389d60e5aaaa459cb59218d205d0128cc0c16e08fe7f48f383dfbfa5a857fd3bf23a72d9ec2c13375799f81b455d15cdb66c0068eeb30eef2d1d7d97f11ba5210f7e72f0640d5f27900f3d86a6c0afe207553bfbc480d9e84e04edbf1f8c9fed7025314577f000399d6df0ff4f92cd918711778a1c1f93f44543ffc1319fb4bb5b0f30f26c246bf0bff5f51d5bc8a37055afe320f89ad579cfb473f1ded348640fd67214850f7dc039fd6be9ac7ad462fbfb2544086c273821f0c774a6de682ec330724264ab41711729bad7f4794d78b8693d2ef59a1d96336af3d498e68358866613498f59debf88fa36ea470c88967a6bccc291957162e4883e0fe173449a5ba13cc67afb04c0f26bdc71e239f7d6f127bbfa6369ee1bb46fd9d3cf81da5b060272e9bed9b77d964715b8106a02b02979f30b9509a7cc9bc615242c97c711dea73000b727ad7f74ee453224d01ad2e3b41818a6eec957d8de3fce42c69b0e720e72d5dc16579bca120f63ead8e420902b5dea49dd399a767e2a6984debce3160f7260ca9bf1592343f22b10ee2a69268791339421ec63b610681ed976628f98aa72427160a41ca08d8fc75272a6e11eac086dadde9ec5c4a4ce602562b7b1cecd61b454da8327ebb31f71025fa9d00669baa4fabc5766badd9622f7b7ee21c88d722fa26effde9bbc4f087e15b9d298a6e00a029237547d9d4fb403b8b682ce3872d509dce235aa4ada4f16feaa3b7f81b66461f361a7291a9ca0b752a364266d723862fd87c0161b215c6966f4ec1698db7f71910d6f61c80ab475823f265eb2725bb0f2d6c4b1b65716eab23b44450549a72422a5e1119f2392ac55d2b9379372d48fa5ec91c15bf7db2ec3f4795cd967e9da1cbc40836cb7ab5995b9a4ec01727f644173791ae1832db66510ee1271e19f48d945ab9b5ea78322faf8c31a5372328020512087a4508b5ea46ba7558eb0d3ed12fef4ccfcdfefd8bacef6d7a272ad3eaf296d6144a9403ab8e084d87de704b04f999fea2bc051679e1b406d73728b87db6bac300c1968163a8f037dcbae4ba1f4d5ce277ada1c7dde75f863f11760888b20db37e774748c3b0db91dabb8244743abc80c59f41a93360444e1fc72fb799a538a298e7404726a75d6b390068a0ac3f7986d7a54145303acb19dc57239fcb664eee4f8100dbdd02ef3a15900213f5c2365e6183eedb94d5a633ed9728456abaa7a548190874d5fdd4756dd313145afabaa8872ce38daca50bd88067272bb7b0f997a641530d09b23452f5176a342f3284b4377316324291db17b4b7240f7336fc63249b7ef09e1d0f4bf9878857847c8821efdf594c8d2cc8b8c9c72d94184cfe24e6a91efa7a6adcc6494d0a5083502c1dcc57483d1966ef0846f49f6c54dea6252f1728333405b8ff4e0414285e1ec5d7b6ef5470b4ce7e7ef2312df53c033ddf8a6a5767c30d7fa865c7688b203445398a4e0eeced76b51198172f263f1ee104ad505517e7cc0c37505c254032b7ba83bbd7cebb6b9eb9ab25372885c2fd6e346d257b3953b0c314e3fe455a0783f97bffd18eb55e948343f431022e4178ae4d6a1b289780d50bea933c011f7aa36cf8aa1b0b355fee5ec258a72fef9c5ac300e18ad50384be443f25936c35b1208b0baabb87afea98227088c172a6c8b41bb5d0de247610a2e8da89b7f3659034a1486b64e38daac3beff26b72846e4c5f70ad19bceb65a543df8b46a647a13ec67ef71672cc216924d224913864c5941a554cb8c277ab38d45f014520fe79253cb97014e36de85a517beea20da3994851f904a17556b84fda88813b6bd3d6c50ae3deec69d3ed711a29d17e1dd38d9e12f7b6e2f0da3f1223dc5abe5b72e797f493aadab08fd244df121b4d65cc1e52ef88f3380d8d15deea66ba719419a02fe010cffc3e7d51a4bdc4c14f1967429dd0bc4e07bf6c94ef5762fc783d7b4d3f3eb73e5bcd57cf5d92657315725cfd9c48222164c8b57bcaeab7dd0a10bc0818e48e6abf3283844ba13f6aca72c73cedcbabe099923c7799680a073fd9b71c1840d576ab4c7cc2badd6327f23b5d651be195a37e4da1a1e215ce7d4af9c0354b2cc1692a756b615d71a448327278c47900952459dd606a0f88425d2e7d5b61ab1506f136f6b194f7d1d4e3c07218ff7e74f8a4a7a84bb1ddcdcd66fc084c8437f94c967cb953429f3627b79e1e164089d5ded8308300d0cfeb751ff17e3156897d39e2f9df59aed3c417b55526c42b5d94ea6bf02e4c29afa393ab9cae3df012d5be87794b3d5e7a0fd5603d4d05ebb9d865118d560ce0eb76950c7ae87dbe9fb3c5823c6c80a93ed524c8da72b6927660629d2b7945f55ef62e46e230148511f55e2518a3034bc8dbc0ab491079b3a09a533688347216d0b9391aa1e03cd3a90222739a36b04c6356299adc6c16d2971e7cead60ce2d1b3040bbadaa4a0f18e08102544ca8db8e4629a2d1b72d2ba0bcb505a69d91ed763f454c56b8eb448202e9a3a21c787731c84005ee0024128a7f0cfdcad852eb531ecedfa9cf34bca75ef614d034f7c489fed44e12e724e1cc305bc9b7265b58f717797e5b03521f3013584a78f0106f5a3af3937160cc36e9fe94afd77908258331b0c51b578cb4eac9444facb4e51bd18d2ce97de5763e5a7f3a3dd5503d36c7537e484bea6242e86941ffd6ad52127fc7afd88d4726356183382da27172132ba01574d80a8ac7b1cc79963255b0407d00c612c7e727fb154101f00067b630370f3d5486b29e469c3b82dce3c3cb430a9bce7d0f372c7c8c512e14a58cf14cf9ef347b5e6faf5ea6da8b33ec02a9813d9455c3ad2727349d19ffd0d6937cb6228a2624d7c134fc522460248981d1c0636b2fcece51c752b075f5a1a8b318b52da65423c1edf7b1f37ba5285ced045b7cefd8c6ca839578f2e7cb2ba3014dd3700474e625b4f89158e97c2d3efdf13d98031d9217672f55c612d75d51ccc6ffdb5759a65816a05aae6b48005996799f4568cfc1a7c72b9c61124c9ef759561308ab16b2721aaf6f120096801205818a038c209766f2d94d054fc7328cb5f756ccfeae446657062843a944526138ed47d8787f13d137263ade9f53974f4ff12f0f19a72758d66d58428fad7a7ae499df0d398191bb77292a47294138264cfb0656ce4b013b24aab3c793d4425861618b2a347e204b324518fccb56a3acf628895d53f4111064ac68d366f3af385ccf03e55c5c8f0481aea69fb5c51ee86af0750b52fb4978c2e1109f52c50e2f41f4a92e357dbaf1e72d61f73e95fbefdd49a7477131f2edc0916a61fd407c23e1d660376e1495fa772564a5bcad66c44eca4aa9c23244a69545f8683d56d8ca305b93cc9f8256b0f5bd69a172e087af2ef66ca8398474f96ad6524b81c4266ee294f9c310e5a457c72571779df9608ca2d1f2a3dacda960b4c98188f914cf420cff469cb726d71256ac334615b862fab6c9603f7b3691dc0fa98ec7bf7f74b000a659aca0448556c72460532b72824936e5f1b9d01a24eafd6b28b2ec15f46cb9e1953bdd92b71e247156f1d04b88af6f9bd88530e7f43a118c6e1e347be7e9a7595879906bf6faa20d8d149fd9dd5a82294ecf4d3f75d90ca3cdded619f1442bbcd753b705ef39d2b0ad010cedfdb0bd7ae969e5b6925fc50d9176422bf76b0391f2eb626d54aa27250b74d7371a975b62212c6f2a17215076585d8e312ab4983be3c67dc9be9b9722808ca76b5cf4ed42f343c0628d7fb88d0523d68c4c81ffb78abe1c53b139472c52979a983f4d1f8dc4969683fbc7f66d9c69ffb17e8806585a9e543edffa32a5ed1e4b346a465dde0379cbb9323df4a64f749e9c260ca850f3fb424e8bfe22178a797eb7575882988586078d181b37fee1ab3438fc7849be27b1045fe44cd72907685c4a6ffe8ece1e2dedc31b1424e3236b3bc1e4051c89396538064eb4e696a0370bd67c2f73ede995e919d2cd904e0527537e5ac683dc5b697c70723c672aa8c102f0872c10eb23cf3051daf50452427a32e828eab29fd9a3560ab8529128b09f8ee4802ad69380e187238f9467cd68a744f59c9c5f95acf544cd3e96646c43dd83cd4f3d7399834b5481f2297535019f91343f0f395cb05ad09a311637254e275b34fdd8ed52a19773a48ce6a67e45a7e9ddc37bed60c28973e7379c63bdcd705c7eeeb58174fdd26088642c171ba0c27251ad0ca3054232898227cd27206f1e3a74652c0c85566201be9630704524b2868895da27693506b9b15c0550bb4889de5fdd2684ebb5d7d6f0eab8e14b49fd46371fe49bc3516ecbbf4a21e72dfdb9acea9921b11ed0c1b7c7219af132b7eecd291df78e6cacd9141fb234f72876a96b0cb94e0e2b2204474f1d719a30852662365dde0b5cadd3bbfd52610721cee96a76be1415529c7c7761d695dc52114a3c95579df1d0ad21c59f07a114bd83014721cba4464ae55f0a56d12234f1b979c5d5d1555d67ac07d40c4681d72942ffb2821a28af177301c9302cdd92433305e02a5fe9a19d776cd9dc4b8cd72eb9161442ea3bef696df6499cd06aeff982549f69c6adf984b7694f8eac30972e929d9b1cc4ccc196020ac203ed7a4ff27a7973ef8f8ab88dc9eb898638c56598a67143401031e3e9a4ba4105b27a43f55c1ac5d07dd2c8be6033a15fb277a65ba0113253ff8a8535e1b72e21fafde43815bf76bbe7196871693b1443d1efe7246b89c78a0d227d398ec79bb3ad77b8a187eb0f1a501a5997520b5635c3ada38378a414d48c848d5d604d435ac331e3ed4c2a01d08935601883c5eb5b83b8272bc84111259de84f3710a3ce674451eff686110c67b16fe5a6ed2a7391f73f3720ee12e37acdfa628154328de0858515a7a808c54e235058ebb57cd417c490d72338231910fc194079846e6d9adba1aed281855b6b299a5f88da662db0d9435725dfe93407e115fe5a048d179b1704485b839e6aa0b189a312422d89b3a94f02a0c4d734cd3f7151f3919ba4f4e6442a3b37ac829cf186fa59a5a6309655c3e164846b9ddae53007857f5ddc34c32d9351164ab08dd2bd883cc9cc88d6bf32f721d54f3e78f67d9448cf9005ed5fcd09ffd2ccb2c4aff523c8c5b9510f7936a72c76b1f9223c1729edf839eeb563b0d42dfb82ac4e9d42f46cd99d4b13eb38672adecc306be10942a6482c8249783f2bd96905bd2d2dcfdafbb066cf97d6a017256f0aaeb102617898af9dc29fdb794554a494f7f7d5efea208abdd7aef910d720f01d841c5f7d2f1e6b169a0d75f77c7b0b2cc2fdfccf3e30833dc6d43d4ee307a91bc2bf28248943565e81dbefda82098938afd38d9ac0f553f08ad2f221a72b20ec33ca67c7698c1860a9ed3771d4e164bdc6609c20f76238997464d456704831feea29dcc4880453ba718da96893fe39f7ce514276d2cf7d785fbafb0df72df95ed4bbeabd67c3e3610b6439e02342494ba875759a06a2b0f2bdb6b013972727353cc7fa4eb3dc2af8271e60585fcee32ac59e72d1257d59e945a12878b722602c291fa15c77747fe8f7777244f520dba56e0b01efbf1020e3127025f47727d460162904bdf9cb9af743f3ce62bd6e748ed995062f00b0f6ba65b2384b0720d0620970967f1a0bfc4684f9d119d455e9bd1e5f16d1de57a32c2c9d5460634501c4ac9d0b2f2976966b0f1b7ee9c755c7188d5e5e6779891854e290b37f3728d7680af4f92aaef8ab6aecab7de0b71efe4401251c7c9f3d41545caa5d97f70eeae269b9263e90dbffc9908c24d0821dc12ef9821dc0c6c8a9ec95967ac277238f67ad061fb677358fa0791e3e58cc3ae181009e5da54be3cedb9ebb965a6054fb3813cff486596f2f7a1049834a438017876fce81bb5d99409a2b33c873672ef230b1c241ee399a1929c6356743895983691b1d02df6b586a3882f654fd322d9d40a53147036078b04eda3d448ed3c4aee1af0202e2cbe10db25a3f7b59d7275388f5f99914febd3f8d5799724bef4727339a44672ab6f363372913fffd972e302651594ead782871c30e69d918545243f4399145777d2533414fdae1de12fd8553f2c599f2edfe2a4096ede36f49c45a99b27daf53c775e8516f3c7bb100c25995e7537383f12232c7d7735133558d19a5e6b478e662ab886b51cc0c00572b5d8f55812a203a73199d39a6838064c4c98e6c7f370fffd9968347546b368690784335dbfef0cdbd96163f1293440d688de552b73bdfbf7ad3abc2a8eefe872b25639de263aaa40cd78c3a42e1cf4bee52a498e7f4c82e363ebe7976fdccd72bc348335bdf27edbde8a5a11dc706dd90f68df8bcf1f0ae731edb97ad11889727baf60a9b7f048ed4b2c51562cc82b82c4f78a08fa8e2425818fd5d8dc297361a3595a0585e51f1a9ae78a5b7d0d82addd0937265d49e52755f56c6865395772611a189b4bd91ba7803cbdf074ede2170a6b9970271a18bcb29fe8695a95dd725c02c341f287a2cb5729a497ac3f5cc2fa0e2c5bae0a560d1cf19b9774f9fd6c3bb50292bb303a847fe3acc047078c029c83cd7d5683b8fbdbeae99237fee225c11e59adba666cf3b90f38ffed2c77e8676757fd98f7151163e45648eb182f207062c8d0b73fa5d0ec40d92879d6cec683c44443e7843ea0de6043c1ab2ff472f4a25a90b21ff8284defff482be6f37679fd723e18fa8fd5564579d7b1f029727064d6dc09a3d00ee30a404099ce1b34886ec76e50229e8291a7790c6b46fa5b9c09ed6a10b2637cbecb8ec82a07a82f73f1c154b97a14b1422c1d6ebfd20d711096eff24e5edb0553afdde83ed59b232df9269dce4bb17361008f7b731bb45f431de075f141596bfe4a08fc8f707a8b7e4fccac6f60489eb88008723d81d77261b7d2dd6cf4b26b1be471cc55f774c479efa629ffa580502964c61a89b99840ba36483cfc5f2af9cb1dc736f3989fdae223f45ab00fecff19a9c7c59a593372535edc9f0306e2ea85d37cfd662f63653cca658bfd677102b05dd5ea39a1f040ebf3717a4f74394a25cae57ca2e013d897ee107c80bebfcb80ced8add0b35523e6f98ad3a9df98b377a2412efad9f7c0aa8636765d7fa813c027fc590c0149723bde3ce8ec88cbd29177d7a38c23eaffde4781f3bd84adf5ec896b443220f67247fbc82daba2b5bc2b1edbc0d10d9c8de832b2165c93f12676923567fdcc4e72c9719f010d179aa959de4fe055e3ba50f1b79477e18c54de1b7fe3cb731ef3723d7439070a5bf96b58ec5979734a24bc2d95afef09c8bd791e0cd098a0aa5909e055ba65edaedf38126011ab9be3f97ce2e3df5bfdbe42f5a2fe5cca9a306a72c9d3e5fb295cd733fe581d8b842955fc594a381bbd785a6a3f1868d5886cc6722a0fb3451adeadd4aeb3240b110c38de84096625345eb0ff13536af5845c507274cb6004e2be37fa00bb073dab5626e0dca4ca72fa315fe85f8338b9911dea7003456f3b88b5bd92a227748aa235e81cc19ed598aea1ee1e15d550940d866172201e32639fae1673e84d552d758a248d20432a3b55cb8a4ce1efa4e8afc266292bf4685c19084c397c93fae4454d14ee2bfd44aa1cd35f119258a2b9e936ff7214ce7e7892ec6a52205a6b1a0d56a162cf981742ed87e4a6a27ce63dd3720c15cf8a987fd1b186cf231d98763bf5fc43004fd8d8785ead3b67aa4ad04a70c772d6289a551eb463089c2acdfea4c77fc7353e75cf07e69c53f85213c0fb4ae57270af2a9f70dd1105685eafc5ebcb8d8737d454cd4ea11c2045f6d22be85cc84d45e8de6dfde7cf4baea6db8f309ce8575facbad7ec3ab5c8cc95643101b3cd678d16a54e857cb7e27fe7256ba0755dd804d6aa6b97b686a0112ae62ac0633a1b62743e6c5667956f17e98ebdebf3e2e63f838431b01fe52878fdc82993edc43eea150de6427fa7cb4ad6b1c779ff03324e8a49690651cd581523dd7b4ceb936be4b00553af4837d667fee1b4cf73e1e56db5dacbf7524d68ea04d4d5ba530b408f16ea2e700c36746cf9b39d9673abf17df88cb0c6c99da4c6cb67eabcf3c357f816fd8bae9359f99b695b16be120b67815325715ca904e4f5a026e2e30f9227c35c1db52232adb37eb9d3856c77351d4e2545ba555b4935ccd548d7ad72c6640f47ae969356fad04f1742f0f4cfa62514013ff47bf133d885fe86872e8dbb52a28fbf048c00514e43aa1121f46850a4cb7fd23a88aabd175d5508dab43fea72fbc33da00cbc8e4713aef5055cc5389f8208206da9056be8808411916eb7d9723512e619238fcd4123931660dcf4ede867ba2d700dd095cb16b245e49d361d30e2ef2f993327c0fc98ffa4d5ceaff919ad743858a9b62c3537af4af8770dda722ee4ff67f8b733b22152ce7531dc898e213950c498ccc15c37474a77276a2b72e8f4a2ae69a0cf90e68fa50116e7539b45fcadf4a998f81831073a7fb8a31b2b8359692273db5e5e0b4eae8e5a33cbee65ed115102f82c6aa938d696bde0e5720c5db6944f7b474415e712e5d2000678874dc6ef14e24b887f9142e4a692df074f9eb6e9b78e78112ba3f9d0bb6ecbdae1b67a1b0a1cb54401e9cd2b2e6969726e40e1ea15a3f335617d0d3aba2756a419a7bb46b4efce5effac7d87e07ccf72887c8d62d9be98c0a736b8e92a69544ff41c0d3ae4d679d47398a763d79590528233c35631165862bb4c7626a4b61564b3516169559d9f94a4b9e5c373cca3320a3ebf9ef548e4ae101ffd155f193e5e8d5b5338447f4296b43864c75998eb72033bd2420af205aeba9fce548af6e968e3c093e11a14cc4fac88d997fbfc6d7299829b9b84a2336c44426e36ccbfc6a063cfce9229080bdadaead3a635073768d979976aa4a0c0413b8b936f9981ecec83bc537df037ee3f6adec697ca82c35a51a323fdde754522f8313a0d24d5c2b900eeffedbceb5edc6f81b47ee968f472a47a1c485cb6530289f0287deda19695f41d2875970ec9c5dac279099b424865cee46071fa38d7821f66354c87f90e73f0912a8b5777ad26ebb71e3377759472746c146b67262df3901be8dd35efe1b26bcaa0557d74a2153ff102bc7f0ba272db86df73704ec3856bb3991420088ab12e709c7b4ea7d9255cc05ac78ccb57724c0447f9df935867c8d81c5717da376a904723b43bd1274fb364019232416672d1ad082cc855aff84956cfc087ad2d6a278e9c396e17bb5dd32e9e4850764c01043f9d4b7f40abdfd2219d12d73e4982c84b6d3b87dc1a63a6f1822b893c2e72f37f832065816545c6b7b4aad57a41cd12c58985844f0cc971cf088233692c316cb3fd3dc55fde643d0686ca056387091aa8abcacfaba4570c08da407079b2720a143eeec3604a99373f0ad8707be24c3a7ce99e10be093bae5c54043e6448086950a012909794c042cdf8358c1ae15f3c57390debdc0798a9767a4b0df4251a8d61956e38fb43c73642565dd4068f94af216b4c17e7aaff6388efe58af224728e333cbdd138d5aa62664f8b9bfdcc2260e267472322000cde2205fa07d49b72e1c24fa92ea5469a2a10fddd0b7f7882cf95dd626cbf424b18e0b465d5988e2a5675c53c4e04f60c8e521c98b4fd0386a1d1444ab9906ee0ed68a86fb9cc4835b59e06c934c1431d9f5044b25d8b74b1352ef50139ce50be3dda465ce424c97289947882ab10c885abd3dbfe2db9bfe276fb297c52c07c739b1d914235ccd76b0bb06e85fa39bc8a2946a36aa5ebbe52db7b1c5f39d3a0016f75d329babf8300c89d64b55871b773c587dcc390774515d64e3cf659cab8737f3e684dcc8a4416a2d54878447007799aded77839739ff0b57f0daf387981c709d078ae8a7a7363163f01394053b3732436d3c3f0e8267d89994874293ca72f38514d1e8c4461720fd372ed9e45b62a71136ae690c3a60a0352b6ce53c521068b301b4cc19b9a612ef8452178a2dc86932cd7546feb8b8c3be12c24a4485308aa4375e50976c0104c1986c6da0e1ea364709311b5d954cc2cf0214fbf327ea56e82179625217072762b0992f07f0fc9d60d097845f5799a1d86a3f8ea8c30ba202f7ec2f636ab7267421f2a54995d0ae012c7b4f4d2da5079fa972e2309ac46743421dd28b23c6f6c5288ab05c186012a275e04d75c231f563a5dbc9b469c0e84793409c3cfd3727cbe7817bcba77b9280cf7e8ea738373cbb6b2fc169c8df8b2e45c0cdb8f453b245fbe9fd4048714ca95bc04da844294134a1fc3ffeb378a36b6281e9e7f6411406068f1f560bf26454d519c474104b60bb2d55c99087108cf457baeef5a5c38024734f97a7e5d0fb0cae7c5384ee126966a412e2f6b21a8da1897f655c32a72eda4b164dffed7f0b667b6d7fcb2246aeed7b46c740dabd4a6c71a0eac9cfd72416ae2e190b592e386b32632ec9ece046230a6f174ef844fe1bc2ba02c240f72cf726aff6802f70a2a3086986db08ff25b8105732164eff9a0cafba857c10f72d2981dcf7d052d3b4e269e2410508fbdba4a6bc056d9a2260e12f7a74e8e4f72b4377f37fb8b10ef8d63aa7576f25c052d2d99152d883b4b7a89c44bbefd4f721549b60f862222f53005f5ed08be602f59078c3643a38b4721d385b68d961959915628523cc2fd79fb3a03328e2d83e64c66694afab05bb4d7935227a98e03722aa8b8b04ded1252f8c9fdf4329d2130a216034f7061375813c47878a3d52b72beaae052fd39f15a5307a18a92775b60c85280744fc93326dc9b8bfc0a4c101ef1d17d173869963b9ecf5014c07308f9fdbd15e18d34402401693002012ac37249e03de4745f9e420b6fafa8bc67f221ac5fdf1fe2e57261cfdafcf02c6c113d921ab833d636d7f50891582a07c5ef90144b67902fa7f2e40d627165a3875e2a4b7fd381ea5dcf356fa42a70ef94d3189f081eb8c501ebc3afdf5ece748e0d721e78b6e70c3eb861d0dad7c0c5587658377c94dc558ba91aab56865ddebe834d002b68aa9e48367ae2aff6954f625e42c692ff9e54bba3400b321d91f7c5d772163dd747176c41c94e9ffed5ef4c2c3e33011d93280e92c8a4f588238e72735a6229031770ab8b6591cf3311d5ac54db00fe674f8f50a2bbd74e333d73786972db02722ff95025cdb2547e6bde061d153805a7ba70b0fe0efd2d1b6e27589101bace80ca22ee585924489ddca4bd2d3c99cbbb3e3eec07bf5f91f6270e239754f94e66a1449ea51588bc50c17fb877d5174e7e2eb2d0380f14efe815b77cc6721c28c55886e46fc7d2702a5246e44c048200d43392a4af8d244bd92b7e2ee3720f3606b048cb2811dba4b0db180c85b087821a0e4b9235b1ca9d6d2aeb308c72af1e84ba1c88d2c5c268785de59829e4e1888a1563b336d29c55a4f14af1820d705d9127331cf27252fceefda4e65bb9d608135df4786db7b7b6ba1666f0a8721e14916036e150ad50123c5d9db69fe3be1cefde11e121cdbadf0e0dfc2062724d72a4fc59aac14365bda857fa495a66235e7f685a55e80aa43743080a5765726dbd266ec06c4ee3e521353d9d65c7e2359f3ef3cb07a51ccd153a7a41decf6a96e5b4b0ff2089ae76942cdd6dddee9138f3b8f76087dfc2a1fc4fe6911d66727d3c2a5898ae14e6c3b0cc0ae70452981915f03716863f3a7640bf10916d392ec3082c7b9859aa49fa46f1cdb73acef339050835ccd32277368017219935f6729eb26ace2e79e34b51ebed1627fd594ccf43e8cb2910abe241bbe305efd7fc720099a88503a0bd081351c6d36e43196eafccfe265e937796d39cd3f18041457200b6639ff52ea09822d411d7ec8d1b0cec70b471769a402a41a90f236f2dbd723f5dbbcf5f7d9f37ea88b8350acfe8595d8dd4823750f7506817aa5779553072880b9872e96f1b1be386f536905057596f626ace6de5e42454a385fd3046650142e31927321c5893d020a7926ac0160e8315905dd460efbd246d6737cc8f41728911ad45b63ead29a8c4d229fb02dfc67ab04885751dfb06f7e7816098b086724b21784f0461646c41e0d35e978a1c3afc1c6aee7fad6653627e47a997134272ba46673da329f0a20bf19e904f89de8e80662d79a73467a9daf6020edb488a727b1ab391a0713a3d64ef4a41a9c889372ccfc179b9dc83364d4a360138ce3c282194748993a07f735d6d5e51f36a33bc7e3f542a03aa62d02782cce92992ce5953729527240c6891bf8542b6e0f34393dfa36650781742ff600fb5447d199411073183116edc5411d60c8ca5824a93c98f12f491dc96cfc0fb5269f4725708724e62abb4867b3a4e15bae1877a66424abe1eb0aa999b167a2507eed89a0e45480f5e8162bdf1bd1ef4c9d7f892976678990adee3f000499346ec02fbb97b6b07cec9e38405a6a7ae1aaec5862dfbb397094aa3c67ee4fd9f301df46e2cc61c72781aee2de8ddfeba3034c5b90599bbb18c0f4f67b75e1b21d63137928491d63645d9682eaf388dfcb99802323e92754d41c9ecf0d695fe13fef54705b34d0f4ac26c49ad5bb11b4a859d908cf038829394f1e7bc44051c97478be8a56361d072ce2543a9dfca288454da3bce9bb09d7e0ac1e546dd50a668a2fce4b6cd5ab73357e59144b32a84bbedf61fcfa78a817c0d459af430d4e482f82e2f194ee69e259404e3fc48cc8ab356f105869f9c16de6986c674462d24a0d5e911c126e6e4723b467fecb841d0cae567ea9cd85e1fcd2c3fba34e5e82203cbe35a53a4d87972cfeb42767245a7f0d0c937a959b4c20d388f516193d3ded646241728c4b8cf72c557f804f5b44c27fa3d88552a6f61241ea490187ab2eceeaa610e24353a6b72bc1b790161a4831e5932bacadc197aa78f50871f53a43c146b205b02bd765c72a13b0848d6c40b473429e9a76bd4931135967d5b0cdbf0f150b8c7af06ab2e61fb646882b07a453869a83f733a28337aa8671b99e5d02f5aa515af3a9b39527200a83b4505ac3a0c1c254d0a543dee275628aaced8200602ca4a9a23d78b8a04251058f12b9b7aaf9b95fbbe921f4e6726c6337c86038193f97db2a6c79e3f725c71a7cae5f3e97016abcb8b20f283b13f0deef704c45ebc56f8a39f25ded872070cc467a005a494b186b7eb830b091fe0532b8801bb0a05e5bb9cc9682d2d7284e7080cbc02b6d0fb914c274b3f6651ef459558af28ba2a8f4b6de98919b77220a6e5ea4b30bcf4a088bf3b27e7e3f721fb35dc40cf913efff1b892cf7b6c243920cbbf861624df5419b4442a839eb471642521b91ca01afe52272e390b6f63196513f566b39757fee670a7d683998d874f9ad047000652658de448f79a7d59888260eff835bba1e28b9f8accbfcd45c5e77731aab1c0e486156eba5761d567bfb92beb882134bef6df6af7f3ae3c08e372144b32b98d9f0e3ba7418454f672ef3f149c58084737832c331068bc92eac987ccfcde181db82f9d0205befb1b72078ad4987b790cdc7a776f83749275b8459bdb1cd010b6ec33df0d2594a782312b8720d23f59ddd41e2675962637111a717d3840be1426ddab1f410f7c37f145fa9785ae4f8072c786fb33252ecbc365e78d75b71123fbf44864d9a0782f74720ae7483025a1f28eec77dd86118dd3ffc6b39979eca42f5837a9e7d32d8ea60b81a78795a0179222da4818ee7e1c60a05368ba10d937a80ccef522aa2f74a92b90886766c9e018d5cb574922cf791ff3bb9704256b38132cd9d68cd1643cb772866b4af3ac9b5088c2914047226b1c098137f4bad8a18441751c2ef2cf902d601a2947a6fae1e7571dd8c2de11575c342c2b036967326a8eda0c0973b63d515f12be4d8386d5e993cca073058628cb438b6e945e88909a11e304efddcced360164c66f039a3f4a1e50ccd60876694b3fecc3c3d773202b8d415c0fe5fe749902fbc0a3fb39f1bd5cebe27e9c05543149ca72af4cb791d7108e2a400708de2272a1cfc25938c0588835b536c0e36f391cde9e800baf9b9288f4969f3a705a830382d20d701ccf14c87c40a1f82e0a8dadaadfe9affb629393081158592789ff729a8f440adbdfd1479467cc7f66dc43ff46837c57bd99b1405987ec7f52d99166426de46010fe345df14897ff12963b6a872da7970e6068fd25232d041d8328370da3a19cd85f1d3d77f6809846318926a4984db4ce6a2c5690cc5b8adbd28c72695c9146160ce84070ee9351c4f92f12c8b01fba3bd5bcbd8e56856cf9ec7e19377c10197310c9bfd1a9da771b86dd94570cf17f96cc02144ea1b95de9a6771b3dbd3b94cde104401c2b5a41c32393b4fbe21ad916626ad1620dc46b2b6bc60dac6f842486fea20d2f9bbf8541ee3d0b59c15a2cc8e99df47104960e292a0672e78c1c670dcfe7424632c199ec9d9882edb6ab84a14bfdbf2f063534014f1672e665ce9211ec0dd14563fe4a92ae0929e170e05c85687323ae6efaf02cbddf72c1648bb51554f19f65964074f54a6fb02e9656abdeaf7fded5e7715ca69e5c728400fb2acdfe5e8b49b355c9560ee90f3e616cb1cc97d84497287761a58c757204fa627f6e4c6bdb75e14d94b43f454c26c300f87796d9e0b33a4ce66c87317269bd7bdbb5d273b47bf7ed9522a7047e039affccce46b828a71d52a07f5830589b48675ebe5b06c24b87344c3dd58cfa9184c4012b4436c6e363d0b1aba5891acd6cf91ee14144b291802b9eaf76a3c936fecd004de2c38389a028247db3c772cd518c2c699f21a6ce87f6bf425f8ffde0c18d279c4b5c3e6b5a171d741a80724737afa9389a2a68de5a74becba471b8cb4f5cea6bdcbd6fcddcb28dc4ac3f7282d3e7b54fe4c24ea9457e9ba6f1eee2df228d414ece8b024910ee35230c0632fd8d6297dbb0161c7060a960e9020bb6db5cb84648deb729e1adc668269d2072b489c74c38eab1a99581c81ecf920432dfcf4ffc453f9eb1f024b03633eb3672066a7d51f6add16d58cc096517f91df2a1a24e0b6a9d2d9e556ff2898f93307275a59b6d692ab7b1a2d85eafbe099dd5ec3dedfa69880b5dfeef157079770d32fd01c6d808d0572b0deec1aa9aeb7503c20014d0d3c7940f22b3d3bd03b104728bedd32261dade7c4d5a35879233d1cb79aa729cf33f24deaac652736354547244bfb3504f9986ecb809811e4687e75d184abc27401ba60ed0206249c90a0772d61b8ab847a3e00a408ca56dddd3004c7ccfdfa58a307107ffc551c6cacc49724324d087729076e2dd8953e95adefa96fa4f669628c132897ffb0422666c8b008fd9606cfe2c7be96c2c17fb9a2cb4bb338c6c488cbe0a660d91bb6458a56f72af8d229fd246bf7a766b46f62c93c246aff8eec9a7c290d6f38a8fb3fb9c6f362a9d07cc5e8b3f9632235b8dda70a42d15ef97817197e33c3a5d434767e49a63d97778e77cb12d3c8fc6653933799a864ef41991b83f6f6cca299b3ba0e82a5f3870673afec780559ae675c37e906d8f22c47e715e97625e8738bfff511e32722c8d108ecbac2fd5033780d2ddf450cf2418f33905e10c03ccaa432a0c1f9a728f04ee204ee1d802c76dbf0e64c016572db36b2d77935702b8fbc2a5989dc5723d3e576f432a641ea733c5dfb0f52266cf318de2f52f45a79d23278119041c722e5d2ca0c0f17c915bbe7bebd691a7202fa5cdd5aa1a9b5ae82cbea72513ba72d50669f3f2a4830edab9768aaf7302e5885999de7153656cbbcbe6463e518a72e3d69174f15478ea6d80b01a3bf636fb48df8e06edda9cbce05ebad0464fec70dae90d75226f4558959ac43bd9725232238a9129eac481efabdada32d7e5b77280debaa6ac03444fedf830bc27f103d8a4a4133d381999d341d5acdad4e5ec0be922f2b7562d1dc3524db02a689ed0ce2c15aa701a1337144eff70304db82420005477b0b1fc6041f4ee534e75a786446aeeca2ff8ea00efb3c7a0c879756f72b351af7fe24516893a2f2d467e3f1da44002fce340050786e48a984a306aa17017569d7280b99f1936a24e6df79e352328a213bd2aa11993b769b282b4ae3161aab92de2a807a0ea8b1b0da7c218dd25d8c155ccb3f5b240db0b881f63487b1a372e5b24e11a536b8f3b04fb7906e9955ac22557a23db81880e67f018ce2cd7216b9d0733d2ff01d9c16c4567bba5affaf8024660469450ffbb58977a01d0a72c191f4b69fe615794c482b68c2968bcedf68c17b67dd8ef7d754582d85fd05723b8894a21ec6ae223ae9419335a27e0c9bc0728a5157dda08b7df996dcf7cc474117d52c2fb4d6b94187a892765bac87cc20f096aaf1dd88a17ed5b9c6030a729819e89c6263fb89c4b929384a0a2c244263e846a421be859ef38caf03867172d14a7ddbf1314ae0448119ac00f3a534719ed82ea85fd393494c1a9a55348b72a6b5226baa1e654cd2120801b65d4e7bab12932c95658faedb30880bbcde437292557a543933fd820b3776e451e382aa158970dfc35c79046984296411f21372fea508a745516f02c0ebaf31263003739dc656eb7dbc21970264e0b64b49e53ca19a85885125be2969f39d484631936f616d36a002e1054145676e5a53237a724c2b074e87ebebceaeb4f864e595d9ea4feb119e9f92f15d69fe27fd05d38b72e567552ccbccb1334cc17afc8fcb7289acd5b76135019df002c5788757acab728ddad716c299becc3c0c2fc14bb44706211675382b22f59cf79f5fab2b90c71efa6ae6a429bc496dbbd952d3c36f1e52751d87c445d9d3e9fa20eab094c78203281d25c88210c116aacc70d0bccffe89c31010b7b52033694788b5d4e2a68272a6ff8688d9b7ebc157701e867e37d58e5e035bd9a9807b7cb07ffe13a4dd8a18ac4b4ddb831995a25219e0148fcac14178c1cc146c17040e74a19a836c22d472b65a64459ab20747e6bb6623083f0ca3bdfadb3cca8e1597af321474c0526d6cbd1e7f3a3824516fed1de18dcd0f8dfe939a29402e8f8b42bebc218fa58a3172aa73e229dc20e73878e1aabe47f0e0f07caa00b22eb83a834b53c505f7ef2b72b539ab440a587ecc95cc7d8d56cd003843614ddb41abb54bc9608bcf11e09726c09f77fadaa3741b0ce214af0bd094cbe4c3df524fd96edb70702793decebf341a7f26a2ecf9520874d77c7270afdf0279180091679271347b031a54c8953d1f60eb4cd594cbd3729001fb0a81ad16a5c4702277543b2c6e4f9b32ff5123fb09de9b1eeda1f79dcfd2a838b0568c95605fb06cd435290a25861b1c6d458be34cd319dd508172e3f83212f02e6e8fcf61eaa66a09a3239fc13402802b110648725e9b7e63bcc88d4bc0e6f70af28ec3cc21b540f3efb6437388f4b59162b2a1728be7ef927523756b5a7556ba2e5d0b0d83ada110cacb2d6fa3e2792c5da37072f7715b83b8099cfe54174743a1798ef03d8816387ccecbc96edeb96f52b324723b7a73147e743228b02400cb069a2b89b9aaeeaf7d7c1ffb96717b2f599ccb729b8dfffd1fd3386c4179e3a90011874109b31106ae45587e35839777776b0c7266ee7c85665addbae21e848b484dce734721b124fe94c01785d5bbc619cf6672e945ac5303d555836e1ab59110df7eac4f5b74e3d8035ed6068902b4ac76eb72f9deef5c201937e202c3ca4dcc5f619a6e97d7e4cd736dbfa6b02b237c365e09bd79ba01f5abd046c52ed5a5d135582957b2d7d10a58935e9f02e128aff30c03580ea239682323e897fd320455b8c77e342014201617e4aed94504d94e62ff7286014c0d27acff137cbb7b88d2d1734c3b4a3786320f84b9dd93a1d6e13c3072465a478e4a9c3bcb5fc52cb214149600da9ad6148ad188892273735ac4a8266c2152ff8236478af0922a6e18968c7a192bfb640ae2c4eca704b751aa3bc9f13a5697b760a140530418b9f04deca1ff88800fa4c83b1d8e250df949a2d22c74183fffd54fe68e2b5b713c8f1752fe5184a46c191692ba77b6960b0be0099d5a720abe923a231962fe7b61889ca3e5ef0740046e37c6103b57eb4e24ea1de2dc72cd16c8a91f77b53875f812b12c22d2e1ca1d91b6a3322970637ea4d0c75ac3118de95069af8bea9e381be466d57a25cb2d2790b4e3d6d32c039a216e85468672bd1c10b8445ca8f938e6eb27519375712cb4e5ae322fd92cc8c3e10a8c652472ace731d733497ca3ab5fd1a281f5ad295008371eca20366b508b769495fec972fa4e4acb99191435b942abdf535554dbf746f8b766ed87a1e579997f66654d052a74ff117bf0364ee5aa1d2880fd0e1a2c8c17efefba215366f6d92e1c1cd172b63536b4aa513388855a0fce1ffde451e9d995db71746f3b393da3daf8a2d072f35a6b5e2592da6d404ea8bc8d1e7cbea52d044556269cb31677037d39144172dc568852d8a49a5abe91ab51bedaf02f60b8b980b3320f941534d42cbaafd86d15a2991151d71be634213e3dd257c1316a10e58c5c59c14f860d2a6d9cf22541d7578eff226ff338411e7b6d9a33da2e1d436a5ac51527cc7746815f172ada4e0c39923dc244c5a5164b4a4eae71f2d498643312dd9c86de22feaca591856872608dc10a43a5d055fc8e63e04f7291016227455c2a8ddb23d9fbeaf0d19c5c727d79eb16c2d4d4d650f2867749a5361e79a24c16c16a24a56725badc03a53872152e39e3788fbcdd8545ed7b9a1f8d5ddf4dc7b8fc611d1961da58a06706cf729e72301107a031ced62ebf78bfba23921361ad3f0418f1f7768256b488fe2c7272f5c6621447fe3f1fdfb60339df88009983311310b954125c7496a61c1e1b48fc99a7b6b9e00889810510efdf79d20473b468b2426ab1f063abd995f55916729acbbafc20ec5e091f8d3d7dfcf63be11220d5a604e898aa0967ea0ccb37bb72386b9cceb3105f79196269b47094da5295b2a675e936e01a9990da94bbd1f172c5b9492afc4c3dacec51ceceba6bb66ab2ba2c215397dfe99005ba1977715372194d53af3d133b4d9e5949306542ee7bbb3972de7e7f79859233b73726ce0972efbe103406814b74927c9561a07b96aca8ed158561062549295b8dc02a03ff1ab9a8e44c81edfe36978ee90216061dc618cb5beae39ddff2ccfbcc7f1a0af672f37b59fc1dad3d71270ceeda5fe83e35ecc67fb728f8569947d771efa229915ee2bee5406fddff79248bd184a888b8a9c49f36e89b0b4923ac62a106dab7b7725bf139c39ee2cb599f8fe74c3402301cd364d41d263590b38aa0f764d6974f673a65db665db87ff85bd3b5eef3f4aa10b3e23b3bca3f0e70994ae5e171108f72cd46adf71a5e794afa4324dc35e0237dabf0dccaec14d6d0efc7078c11965a2fc971c661f318cce32dc46ec3f5dacc394edc18d79f3d9ba8ad267b8d0410d37253512de03ab2c0aff26f2e9026a7bd634f0399ec56f38358b9ce696227a6f4362516a1b3a40e00807c8f7b0c2b48fa2e829b754f5774e1f0458f50f1e90c0b0b16af26d86b4e41ad877eb13311e54d9f3d4de527883da82739f88e1e79ce1f47458811df6bec0ceffddffc9ad30c6394e3e51eb5d8b33e72deb0d571eabb616fee54c3b8b0f6eb96bf9055cc0714ff375b66ad487cd846ac0c6d462b4d8012728710f5b3b00f6a7e4a503f5c661659e9f32beffa8052b4fb317d96702c6854722e6a3e742577e9c2594b3952873392eb549095cc5e9d81f0ce833f3112cde03125f656033b9fe36b5359792b9bc6efc6ad25f0007de4a6072407bfeeb1dea922635a9365b263bc18c532a432438e33e710932338d48766502d37e969422cb9723ac147f2af4bdbfb2ca9de000fdcd4c478b756a96669ea0c6e0869a28dfd6666f4671e16ca7127e346e235405c7f3392c6ebe428fbbac1dd55d562ebfad31b722fbdbe15790e415cf9ddef515b3e05bfdacd121b07159458a115b3429b597572388d90369916651da590fa231b26c1db1cb7456dc2a99fc6d1c139fabb4dd7722b708f4e1413d14e036774755265d167b4b7806c0618390b5c26d101ccc08a729147597c9c8ef58b2beed9b01039871133dbdaf1cf9166372033a1ca35ff3a3d950f43d4bb9fe3a354246f91a51d86b890fa29ea8074ff3bcce5f0d481fd4a723c46348e3948a5f5650d74ca66dca2e71b32caa73c2b53ad9d50b73054b1f97201aea877d11ce91f57a675f256373082fa1f5aa26bba155be9dbc2587b1b13231ce9716aaa2904dca28742834cae342a34783a045940185292cd005e2bf6a6721c2e0c1194dcd0c305f89f834c07f6fe30b1460fe81d654111ebaf9446cf0160903013f06ac239ea6ed0d0e15ac0e7a6b8c81345a28bed216f39aaade382e272ec72d0635fab25e1431a933d77f3cf52419da0572ad5d8dcc2efbb3a1a2e6c72800d834d11630f0778bbee7e591b4479433fb9f820f569b0b66e4f895d7dc64cd9113dc07cd7309b98acfed9a9e66778f041c5debfdaf14134e40b904bace0095b54ee0186934696f0936c1b20d1808d961e17aaeae4d9792e3e640a3660b701533306ce7cb6e24d77710186430138d2fb6c721bccb4d2f5643744d4b4465b72cf8ac53ca73113ca251d60375ec405361daf801399e1750b3ab0845256f5d87272b81614eb4401aa64837a607be4e2717e9dce8b1b674a91e79948d2c4e9601d6f4ff87030eab79d65ed710d7f81df7ac45770e7a1e9d77da283896a3ba9a372a518a1a0bbdbf34424713b7554f2959d29344b2b6e70d476ffff3205f4cf4d727da609fd3506140cc66d695733863d75a2b1e387f1bc3fde3d9781f2562aea5d2649499a7c8233f11b102a64cf9d28b8167893cac581bf1ab8a02dd0435a36726131fe50a97a44d57d3ee4c3934b2a8aef0ffdbfe9548d748b62773428bcec7237508a83dcd9a1b7bcb2ee512db1228d8ef54c60c0281c5814321c645256815b48fdbe1675ffd5bbef426f14dac6490aa14379bbfa58446086ad3a68e03a4472fa2153ca5c88a332cb4505546bad5a1f4b3c561f438b5f6b35c214bf9535d26eb4edf08f45388f9f42fb50f9b95f089c55c33dae8e682eec4650187ad896d6728edafa9c86ad9bfdd8314534250d8492cae341b2d4a32a5b8c053892dc510a1368ae2ed985fe0a532652cbc0192545cae6140839b1f7ff33898e025847b4ea17f6c372d292fecaed14a3b5d9db48d051e81d8b469535f14bc6d6cff2415b607222fcf22f190f236cba3d188fb0ecace2c4c9e551d66a817126eddcfded7e97269f176a7e91edaae4b904fd6238937a3b7792c6864df74cf12c59038be0a1c76d7cdbc818c4ae9ecdd05e0351b65865c401367eecf8b9804677a6a3536ff43f684aa829592851371cbccd1ed19f7617ef3aab89739e4b83a3e16aa2f8605e2a19f33e1aa64b8b33a7a989efb31c6d171c1a2bf734671dd06fa80e6bbb2a14dc64dc5607a506b79094ef48932da3ff53eb7d536b26ba88d097118483f504278a722f5f2c3812c2b28f19756ce02ed56965270f9b55c58bb003b5c6caa5e414b1723bcd0f5616269b1a8e8722ecb331f180b8dbe38b386f2aee92bc4c2568381572b8546702f0cfe7d54c92c4fa6765a3186ea3f951ea5e51808874185b576d7122230774f45b12ac0a7660d782805bcec1b8c8a1ee8858cd65ec61babcce627a14b03aa958ddb29af752510ef6146e6e393d4d6bb8f8cafe104d39f4de5e3816729a137d81fd4185fbd05b63d5bed116512817dc1cf8d8fad07378a5c6733dbc727b648ff222080d60d42ffede56ebd93d54420e2523bfdbb764c17f6edd308c72be2d51e61fc4b2c60f78352f59f4f0d060ecf8d21b5ef38e2182046371f3bc72c9b57417f935575090aa94863153266ed2069e8c2aa8374ca9f4a5922c4ff87260b9421a1afc7e0001e71db2cb028c5745274172a15cd6d0cb0062ed9396f2720659c0c640fce49f0ca4a05e32063664b727f4d8b71580ed55ad879b07b00572bfe970e0fc33b957a193b8e11f9bb522230ba8bb40d43f65b862d25774d7e40984ffe6e9ddcae2c2d861434a45f8e045d1fb3cbd6444aaed7c0cf2f3b5acae72d0a2f2c0da1d5750e49586e2aa71a97329c91cc1a17e39e430cea005e794f507c9ca18b5ad1fa47305bd513e7d9b9b30f85e8453c6c53029abe6ee259f85ed726bcc207f5abba68754575e74d92a679bc64a73b688b33acda9ae398466356d291af6d5656dedab13a17fffb2891a8f874a7485c00c3527dff20c4aabb77e0472d9a63f6189f6a667002917f36d01927ebfe9cd5744eaf9cb188aa1a1d9d925726f8e4cd803f41056e7b559bf7c472a7db4af34e5582145c2dbc13f2b25a1556b3a335bde2a4fa2388a56c1f984f83364bebda835847546603d9dd87d8c8d86679a1d5045dec2e6d4d8b933592b5cd397a78621b431fe8105f4fafd4519d16872fff549351bfb4854a5f91cc84dd860eed226158395c85c0d96ecf631586b7e7228329a64ff3dedb32aa9c73ca10fe5d029de2491fa22938b899f74e3901ce8729970ee9e2d63faabd876935caaace6fb954cc72fd6a05715d04c8265a417a820e3c51a8f69756f9c3b446f4ffc2159d11ef962720dc1d97c95ba38620ac224724006218bbfc18c4f2398541d0932c47cef7a1debc465c29d690a9aa55139403d8907f15f413b04616b753be6e71b5eca0cbf9b71e2049a679e7ed5488e13e072b20851c7e9121e3253c71eec9f3c6a37ac5d573939f2f511052288b8045ad5723442e4aa2e3dd9b3544ef18e6ba1f4a5d780b475a0a737abf7c55f44ec601f72e05519c0798a1d3fc11d27f4a55070471ee0b8381eb6eb4fce087bd2c02d1f34f8f24e01ff93d25545a0a66a85a0d1559b32ba174eaef1955a3f29b0c265d772f03a55685f8085d77161ed0bbf8ea09183f97732588124aea2d0342a417261724cb2f584b2d1e1d6180a3fb4d982207db4f29d4dcb16045b90463d3684df11722adad4edd29811e730935515a8a93a6a4c1f2c996b30cd021e16b5476cbf6d074c9807089d14ce1e2467d495745fc4c716c663902f6515603d69810768efe872c21a1993ff443969d6abf469bcd782e0f591ce011bcc7793aab8651be36d5e0999347d829419bd580c38a7457397340f254ea71836d20d04b23a8e8ba809d3167f4c9993cc55820019236be775540f34a730692d88f81ef2104a48df9747fd722fe16b2826c64f29b757865030444186aea303333b8280010b58f7cd5fad527238c6e1db058d26d327f60ad171c25a6861df8b7eb886e0c53f7c7c0c83eb0956ae15d3edb03c964015cc9b0fb2c045675e32ef4afc4ec9386ecccbc7c84ac5725f2dd8b5daafe09d62be8ab455fa778c91230767f99eab7453d327a0287f71720c0b04c063b37b3abecb530c39169bf9e403851e8d11524d5319fb3f5e3420725df03dcdd9f859d61f987bf436c12e93868b18fc8facdffea815dc49ebb27b4617ef3a281a7f1471ef4ac1f1d38eb4b7a0fd337532e60945cb580d22cb109b720ac9b95dc4126f119a1e8d1c3317ef9fbd4e460875998452110ed076704579724018424fc94ce9a9cc7ca11af1eacabbcd0c4b2f69457fe7b78cbbd70316a5443c63c18188d0990438f3bda762464cc560e3269fbbbfa054558c3c885d6e7272ada05a52ad008834b80b33716ea2eb375be70cb195e948e59f2b0c1435532d723bd4771226d91ed52034760f6bf8e0cad693324e543d6d125a9a1d88f9cef25c27fd42e9de59537a36e06abf3ce78101fbc0ce969450f327f666d246cb08ab5f0c83dabdae522174205dafc252b638eee2f506f099e3ce69fb26a9648822b772c3304f05967f980415b615366d80a54f53a363b815478e3c7418dbc5483446725d89cc7230a1675643c5d5c50cf62417a698268198b1dcd7a0701f7587e53e449ca6021fe9e9e031efd81c0b523d03274507f780384cc02ab9aa14e1576a9572e7d15440db7cf07b183d39786547f7eeda4a592aa16a73d7a0559737e985f310ea44610b2eebb943942e01803b10cb43702c371920179d393db2cc1e83e169729fdd0cd7a632196ba1cf68969a2b7fd413ce90623bed6b4206da90d67564d4727a8069ee8189a5b8e7afccb33d5dfd48396697aa40d0e550eb32d8f335899445283ebabf6f42d11bfe7176ad68e0fe58c88f08a0a28c655dd272af6bda1dde7243d7dd1b15d7e50a5a1a2a41be2581da28680adb27b094cd03d16df0fb275e021a076482af50c710c15ff93ab0c53ac69e4a71a3dd486eb9065cbf4b142e12729ab807a33f70999702cdc440f125a6a7151e414831ea24910707d6911a6c5729f540c9414d61658d812cd857f9e047f7916ebf2c7c0a05b6814f3c82cdfc2b184ba60845c93c31f1d346503745b084ca1f5151ea485fb67ea55c9b3194090872e5dcbf5667fbf7aff05f6032b60954dd07f3e5e094c28188e690e7333ee7d37279adc3a977cef66b4295fcad139b699cbcc937b7a3e7d7550993af7ee0aa7119d4d9c5d81e88f9eef789248bea42c0d73c370a0137edf6d05bfe6a873db6ec22e641a6caf1ba7ffe6cad9dc9c1466fdd4a0d94497680262adfcced88d61ef3666d1578fc85ebe8ba1e714d0032b2036e92b718050ae6a5aea08e495b7f9e61727a81d48f553d7fe6b9bfb8fe81d2c7826e23b23c1cadf3a72a0286eef50d4726e6a9a03d8e0eb4a46d465671374216c70983712426c6b447e1597017c69f0235e3ead2ab30e39567e3617d73b92f4a8bc46eb195a45159076eab204e09aa7972c682a72b67b033737c57a2634d8247be16d01adda6ca85a59ab03756f5c4486913522e47d6f67c2d1cd058c9404b1dc6322e1b6e3b190809f307ef53f18f5972468a6f671257344e10279f0655ef792722fbc213906c866b2b25fca2108fa572d2fa01d5786fcb15704bacc9d385936365430b3e54b4d87f78814092c2d0db725f36a8d1bc772a2b485c6f0430d9380b6620262bc3365726ef9115739339034de3d337510f74f0ebff3de5c9cb99f5247016a81348b31d0e70f9e975fb350d72b3e40566d305f8bffa626ca60dc8f5d60cf84664dcf1268b230b465bbae0a5723d8f3403d685afb7affab348984672b3e61a3a0517352d5c76a276f3be0f8a72287794424c17a1e63f703257785c777cb8b37448ea37736487d4b18ba4a47f656fa9b285630a8941e16771de56fe423ae3a395e87f0c6dd3cf01f3db96a77552f8168acd52d3a7289f1e6aa1ac7644b710edfad80d7dabec1c9ddb66e9cf9f2b32164b343eaaf5dc40d9098f9dee79e52fd7f9f37b8e8af1ad8083e291dce972c9c03cf3b0c31785c191446c05a6478874ff654ee1836d1df5f091aeb0f7ef4a8338eda99734d07fb054199cebf0267ec0f38b4395c8be2f5a01e821ba15ec6188d597dee246cd55d7cfa40e44997bf46775ba2cfb02293b31b6b5846a151d72a75f033ed286d8ec52e85e6e46cb05310c719cc52a830a376086eac95c018272846884c26a9ecf6256b10c6f3e28d752b710e7c44dc614ff3aec8c95e6be537280f4595fe0c6ebb51e96eabb1a479826cae2b39478ccaf6adbee1c897e255272966ec28def7531d17df63dee36154dcd41a39dde8a83c6b8705a87c7e24d64724c0e998c9cd81740097277dcff58c4d3b630b52cb97bb83f231e5a1416264472dacd55cf6515f3c198d144f806b7215a30ca754e04960adb032d12d5c66b3643f70d092a03c627ddcafb8d0a4f9410bf8918fc0ca495a3d4ab06c5d258e1517293edc760f4388e2fc509e7a07dc446f1130487a808536e9ae81eec132335f37254a3342f63172f4c1f0364e23507c1539ed0940db3cd7567569dc5a0dec1cf4668ac3f46edda25ee4a171f33d54b75e199ff1c5a163c4d966afb9080840595722c5d1462df4b89d1574cd019ad84a678b3e8cdbc090a38db46ef133dff657b72ef3d45298756635845a607661714e7a13872c6f9e3490e4bc0fef47d96d2d372eccc3abf1359b34877ba3b9dfad10dee9c7923e327d0f464f8f3f1cf92bef45ceb6ed4e80226bdf2713958cb11f5ba6ac29371fb0fba72ac1b303231ab7c0272924764c6d73e355c6493337bc1a1f70a9127e9dcb1366bc88480fa2e15fe7a72fc3262696037b282f09d9db6f75efb95eed8d5c9a2b24651d3152db0ccdef7726d9ab98400f1a6966af4c6b4f275f575ab0d7cf1900742082dc2c73b71128f278ba72446f0a253059e9192d5485d4f35856c179c911f931f5ed6621221f54a01b4ba8735532f8920492582b6e32174517c6239dac751e485b3b00125591ce2199624bf52b33f0d55c331b2ca2956908e249dcd374836ead3418c17b99f4a5a31dfad5b84911c653934f64fb0c2d44496b8d33c5bcdd43c9e65fa4b146a770a728e35ada4c81fe9abd0642f1911d09f1c35290bc6e99ec8c5a9ab4db662cf5d5f477a5812d8234fc45ed09b9b915d29f3c46b8d7d545836e009e2f33e0755973485f187e6c754e8a22db0549ded298e8c032ab8de38b920bf1947d921d62b794879f1d14fe9109fd45955fd2737e239ee10da56291136f6c604c8f648f418067237eac751e530a485fbfc43213591b5bdc5edb5219e326df74b269185da19a9494f3b2fc0846315ceb75b71e065286334e34b1e60dfb934b1486a23e75138c172d11b05dcd5747318ed432de5cedf316a0dabc16dbb8bd54975d3b00d2e914b0017e0bcba33c26a24eeebacf3dbde398ca1d92ee7b16f27bcc00c2c2adc1420729595140c48d7c68b92adf9e2aea8feca9416f83bc853abf6e849f354412379627d8166c3844bf60cc69cd71caeb85d2715708f386f5ad1fa0814d0734f7edb3b95ec8cbaf2173e7c4105a7a80af72bad55515de8518945e9b149e5306fffe572b26142b2985e55f487f018e2e6a2a0adb738dd3a372bae00ecd8c30036a8b00f6579f8fc72c7f8c2890e77a02b0484680af530ad5698051092cd8edc27aa9b723e367b37032c10f504f4e20778a6ef4edaae7348c68826dfe7b7eed957e1da58dcece523d2605b1752a22f2c665d33bd8c6f30b52b40a48e297cfaec3f1fc172a16b0b7e1ec334784171c945899cd28e42beb620e7be6ccac7817d29fd1c5f2ad485f8b4a44fe00948430c6604fffe52ffca8355ea4d4e32b0395ae843eaaa7205e0070d0ecaf6715cd4e4546ba0f85ca446f6c7ba958dd12d153f8f17d248724ae8d569f3c7c5d510e892519644f89d8fcd96c035268359cf54812c10de5872bef589c95edeed53dbe78a6ccd8542ecb154c6a38f392eaa62c60c6f19bf7272898be9d5a05628df5310b342ee9f1e5b247b73554b593856f74b2cbf257c4f0a45371dc03d4f41147db13fe91fa7ae56982b4b959199cd58065e276f598175239a72655ab52b4461a043da4033ebb8cd778a8538e54c8f856106cb05f25c7f5c8ce12d73aee7db524d16ae61c49c33520e42a22956150fbdc9c312ca40ce5e061ecd55540c8a227568d6eb51905e193bc6b20695adba9f9d3dfba84b52a5dd6d6c68148bac9d3a144e1277b0c546e30873394f51f8e4293da521a77465b87a0593787ddd71ccf9663d4463fae0dc8b58c6be2a9533cac53fae9712c68e9b5172b17a1eeb86beb19a4cca73e409e899662aa233f92aaa42006d6e0acb52953b3dcc20d77f46536e9742cf4c1881a69921c44a57f39d5b4e66fd9001545c6df50487391d183d9b77eefc715f421294e97962c6af99e542f43fb79d62fd15adc4562101ae74edffdf3cc4e905de989685d8140d8c2f19df75026105bfd3bf12da72ad0d6e5eb11b7fe49513bc26dd061a5032fb6951f91324d37867f0b70c70287242cceac68160fc1b073b94ef32f9f05e6ccaaa3873a0de6b79f1511be258021b320b7b399d2ebd6b1002433f3a48efcf1203db34f8068e35dc3233ef2df26972067896f3fe37de09e561ecbba5304c7aaf9dedb8c7195111fa10575f13add548d8b883b64ffdebc91969f8c85c03a90b99a6b11efa092eee83ff3a812c893f7255e22a0982aafacf4dded262092dada60c601dbafc91c4f406ee187edefa3072217f267ee97a5bc067a9bebb9ee760884daf314d8d5e15b8d3f3f3372bc4e260c5eebc5a36f572a73f54e283f0851e7836a505d8c0452595eed7fdec990ac864a62cb3ea97183d9d457ee78c7f747d1024609ff9190e7b38f582e5b39cbf75721223e3e1de8d44d8273c7e1f82911b823d19fc76ae8ca8b8dce28f6c20d48c72e72429ef36a7487680da95122944679fd14d3c6d28c81518795bbdc811f1ca6116dbcec24b26c708ae07d82b8f7284773f2334946f15bc23c95728110229553b2abe58924224ed0ddda47563a8b45ac805b8fed5584b7372bbfd3b5e6070f66cb48714f3b42da31cb0114831e4d194b869a540a65060622ea39e48b4b2b5397281dc7fed91f42d1c39c1ce86b43725748ca2eeed7171339245b201ed12c65c177ce4e9084d8ee6f412246fe5d058d2d3ae638db9117084b5cad196863eb9735c57231f9be1011183013c39e2d2d02bb6cf9aa4a765186a6804b6a893eec6bf724438eddc7c6196d4a139ebd6988a1bab0e41de685b1302480a9e0b964715df6d49e94b9b7eb3cc1711d780d13bb16311c6f67ec5421ec6b608dbd6f37d13dd2ac8fe5859c6b705d084534cca31cf08b2d0c786d1631b83197b23ecc6aa5300726994b2680004b531b600aeb208ce53546dc606907bc5e340195b6f8284341a720058cf3a644cb9c030c3be90b8b10c779edcf1ec0ae00e15245bf964d41ce772ce56e966fcdcd8cb6c7d040b1245af5d084d1892d7466d43d02fc2ed14bcb672ae14db8f2377ab216f24b519b9957e49a9ac022543a3c3630b1835a6650b51723ad4faf8c62cbe87b75246156696342cc7f6654750e226b2a38fb83287f50072030bdc6dff5bd7623c93aac277da9257d4a0e574d91e492c05b49ecaab3b6f66b12f911b81e4392b372a54ad567b11661d584598f0a407da3f68487f5a369a728b43a0650dafdcf58efe31db2e35d603d61d4b7c776c3821c9f3efb7ef6e3e720b267d3863e7a862dffd01b1c9320f4cf32759e22fa73b5f21361c63663bc3725a26679bf2deef3a9a56b90ebd844eefbccfc47f889944c1b91df982137b8172652ad984c9105787e6287423cf4237a11b5c5a65e8533e1611a80505f2a14872058be83d28d3bb1ad4eec67ba537e601da47435319d201e4e6e2706f8bbc3772a7ec76f570c2970761dd3676e22d0da8aaadfbe120b6efcb8f1e7d49c17d5b72f768b0996cab0cd136186645bed53d75a5238c90869a575cdab37b2ab1a0d77259ac6934b5a8f7dae100675bd24ed24d779aeb98daf1daadb34f10bb5ec22a66e432713c9b367ecd91298cbbbca4e27f03e332d93f721e0878efa9505b7a2660b64370d37bb7d0fdc444580608fa64baae9781ae018b0569ad3a238a55966b72b6acff803b69c15fba08ce425864a9d844dcb562999956eaa059e4cb98d36272ddb340c405c6206628bafe8c34a67c161f4c8d46459c610b08ba1bebc264ee672a9e65b3dc566899727d183804fe02224009a9b1708e364c8ef66767c7acf8049fdc6d20ba24c219e69b4958a2e0706128977fb1aad9a5ddee88f8d7cf3e890118263d92e669a44043b30734f5768050d40ac09cbe8d95cd9436619f5ef4185218564709cf92cf78f7f8a6f2b292c0ed08bee1c1f1f8037d222c76de1b8b5e721db60053801dd1e9d5808c84d82073d64588ad082ff2b20bd32f05e4e0404203836377b8d3b80cb57be27898839d4673a0b65c7b8ac8ffd16c1cda358c9b0a08d94f9a0dd1d8fe5cb9af5a1468f38f10518b21026e50a6cea7fafc7699754572e8df1990ede53f0c6f7af08e99240874bf1533bd3f597588843da30e3f37094ce562cba42e0edf05860089c09860a8e8ffd54ca587faa41f01c163d65bf92139a529752a350e16015c5a728bd814d42d9379e48d52e09294f6369336cbb32f721e1ae920e096171f25bbfa1f568dcaf9199a21c5fc1609c536f5080dbafb877250e4794fa19da950c9790e101b3ae69b92044024622f2e2d0f0b84efcc122b3760f3b778228c66ea7b2befc5184b9943c140473ed40ae3eda7d04711af25131363b8b559f9f6351d03591788532b6a42fa4e64677bc88573a033f59c4a636f7227a7332661869e77b7c6a79ed311f3d9f3f83ee1eef2a9de4c5724fc6633da32ff9673eba7ba25b4660814b100ec88a2db4884595b95a8f23ee5c8da2ae4be723e2bbe43d0bf691d2b460d9ef9e8163802278bb6b033b561d1f55c45b137fa1975cab9f8edee4e7ad1f8e517808e12a49ffb1374ebf75c980eaf5f42ea14a372fdbf62915deb5fab9a6b6d8f70f09ba9533799c8eb4ff41ad4d8e6c61a82307268d6212517e1689f1e5d49407d948d1aa71b3e55ac633d0eee0292f6646ccc2e56d4805ea1615b1c17a61307d611004b9340d3e17c86ef315fe7b804563ed172d33d7d1b3bd0dad38ff4648e3c7a5714992711069fcf4b09d360dcba14b93d72824fa9ce05f1cc284bb628c7cab64db8967728aea388d7d5b0438fcc0d87a57211cfc60b85c77bdf4cb3e9cd7c7a4ca1693058421c034d76c188e9fe10f83f47e82894f1446984873bb1522bccbdb1ed2111585b7b22d658ed18e272bf340d72fb9465591682bcaa71b4c0618f92b09041ff7609f4c3e6d0725c9bacad6e59721106539724d02fc9fbe325fd0361d9ccb0140c95589fdb29a5dc1cf21cde10718f5ddc6b32d73d97afbc66cebae652b5438a19239de89780da5d0f6946c3c372a590afa6fb1f0cd82904f2868cbee5b5ac6f2b2b6ef09de8cd9ca9f63e50ae0d0c6b1a21a1077da6816b78115e4de82ec86d63837f371e4ba533dd28db84a8727a49cacc0ac103cb98769c9739292bd651e000e818f079bc04484dd124f41d5470fcd8fd4f54e5d2f7047948bedb7df14a3b210fde93e29ed05d19c472467005ae561615d4f9b0503ad3023bb4c128c513a68ce6aa0a30cc5cbc1d8f956b594250e5141a1d73300bec80a43b595bdb2bcf7ca7bbd166cb045804c64b6124c972f358f5ec38c4cfd11e12ae6b44132bfb2854fd50ff2af59b38c17bd8ebfa667217d4e98bf89181370cce75300c290767bb3bbee37df8137b8f1156fba685ce720d611f24a8b018e848094936f5b15dd81825fded2d7d8b11abc508a26edcf872293d3a3652eed9a4c5322329efefad0f9bf41cc71f01c72010cf67af8a092c72db918c2cbf17f14dd59568d3d85d8435e73bb041084c607eed84489dec95d5631f552248b6f30e69ba2ee47909a8c6eab4754aa8bf650494831768c9ba837a66e500b92820a95e3e914ef649ae1f5eee896b28836c88643c9acd319a6280d672c6a2566909f4d1fa5783ea392ebac30dae34f86cf48a2289934fd953651619724520bdc7491a7002f7d06271484834d997c207885994c7b2f94db3676da69b7285966ee77b554ee85c7d69739f82d373ab18e3c796cd125d25f91efb897e455265cd23cce7d57a19474b9bf616100149b1abde999abc73ad51d67d62ec4ec8723788a0a8bbcc9ce2eeeb19e88ddccff540c7d76fddefee396760ffa6cbb08d5ee3247f80f8720cf9045bba660611483824429c6ca144061a0fc0cbcdff39d0723c8371691ccb6018ce659a10bd9ec650f3cde65a4dc38230e5e6e97f600ad772885b5f1fef7d8a88d03a4c09391895b7444153829c04853e55b31bbf43258b5f68557078c1a1ac6dcc29d3376f1a9cf454942ccac690cf8121b2ace6fbf4c472458e6869a9d6a4620ec6592cb14fcbe73f22e65b0afce4fedbd5c281337d9072cfa211e469ca50d40bd60f05d1681af61d8e07d3fb1c4839e6fdab310bcad6036c90d4d0bf1be5e822d3c429b57c73831efa69c62e733c9d925673e656879459a1fd278b93d8f2637634e7e000af8d1ef64c213ea376ebeed2c858d409a61e72ad90e49d6160b44244da2d0fbdb9578c5f6bc9bd891c7a8d2a56fa3d12d0903c0d839bc42f2d1a7e14b9c2b71a844f0ed3e2839109c0f7589902c390c2214a6a4fce3a2dc61975e769750d8059d394183824370b610db25cd2a5fd4c4bc295722fcd3dbb767d3bfbe6486e319768483d6bd23fd859c98837fc6106a512aee1559ff1166432fa859243cb2953675a24913c2fcad93e7a67020a5b9a07f992f0727587f3c1b36f14b1a1b217f481df250d85b1e9ff21bbcbfb628e450a6c3d946bc5317f906d52528820ba0d99ddf068a9405916a10633d76211e994b49a1a9172751075059336e77dc758a2d675e0d139d2f08829c8a31b842b3ba556cb6dd9304f998b749cf57e12f17fc64f69ebf28af68c39e4b7b1348cd658420b5e3b44724a0de7dd702517dd758f3c31326dc3e35edefee59502cde1d4ed0e0c9ab473721e1a25daf980c92c2d02f2e96af0506fbbfd898f26ad0469774080c16f009872a042a1b39045eb3f587f12ff6b158a44f4f66c2f0c80d27299406f4b77368172d119f7df082363cd9f298072757fea7f7217d60c9ba37e126c71e0c38fe6c472ec6303282d50d97b2c9cf4d50641a44181e86c3c4b5927bdce7480d8d300ab728d2aaa6baf70237550ca6bab1b3868197e805716d6d723873ed8ea2ff6e40172f22dd49abb90608812c45b6d8dc93ccb978ea75f4d039677873a5dc4218c111510be183972a4de1cb7aee152c556ff048f5b7c32efc33ca5dd48232b6afb4024b7a08f8a8f09d7144ede6dcc9a3debcacdeeba7f87294543c604ad2ffff59072840d1f63939b372666e8f3bbc7f5a684cea19ef7e5ee8fea8c9913a9d594126ef7aec9130271ecd1b37421f8f17c7918303130ffaff51551ed873ca255690d728942ed8e41cdcb7eced6667473fc2b570abf38f17f0cd6ffce9555de644feb7280dfbc530fe14c946c43c1f6e7b561e172f662dd62559df31b25addeae5908029f783e0db5c79acb59e4f9e6a602e7e58c666f0494710672fec76531963fb806a53a34c46bd9c4162f6944914865fccd1b1d13179bde6fc9de05cc020ebb42728cdfce4584dad35c901723d2cde49c9538ffa15feba89cb52e4d663f1efa4672c297434a90907d5df23d3ef93a2c6e4247976c635f96db6175e3023c7f024f72c5f206983d225bdb93cf99541afae81e18c476e4d5afb9b23deab3e1aaed3172fc0afbfaadabfa7ca8cab08820d9af6ff41a77796ca5d80c5b6dbb8ceef77f72923e0fc1857dfa62ccbe25de5d0bb124734e9a512abb7a70f138cd54ccc1e57256e5b7a86d37474029b885a8b786d790861d8563342f43a223613c33aed8cd72e1637cdaac83156b7040fb8ab6b1d9bca6a8afd407d73e9005dff4a6dc34b8104d556d9e86d885cb3cefd5e3d80e4888109246d5574ef1fc39e0133821ee1d72d2fd54492a7c644855d8730aafcd6dadecfdac64b5f6cde40003cdcab89b6772885230911605a81fb8821e77fc356439a694b65cac3ea1225d7802fd299cd36081673e27990d8b3df99fc19872d3e9b737003b6765ff7111018fac8ff28b420a247875505db29295c42bfcea59c32da72da540aaf0d224834083d097b7219772186f1543d94d6d87f5bd4297a9f95adcf9124309ad7d9887aa4437b552d217720d96f1f9456e5b1c32cdbc433f1992b2f16b008ca78e998c61d1f858600ecc7200572e824f7e933b2bc9decd7de34e9919aefc4f7991f71d8309afeaa3256b7280cbeec3d715c78e9587c8ada8537759e420fb3722797970a680fb9d00118a5b5f21cb730ea6bea3a0d88dc95f187a46ec15ff09dfbdbcc4c72322a6b10a23477a9b8cbaf685767bd9f24d27584d3a0b7f6bb153700142643460e2d61471a4651faa37cf1496ad2a5be1f8d9b01ebcf52b4967ed591d24d0024294ec235546725bb442d1f081ae7437c95f27a8efc376f8d35e3d4b9c45587a8714e772b3bd0f7bb3022320c61ab3751ed199bf84035a2bf00211d4d9c62437ec413ab4e9d0726964e8b3d8f2e912406febb55bc0e1776940eab17ad858da985f2ba94492ee4d41855be9a0319c9d5fd202cfa5d8306b6999a870f0bdb4e2694e3d562bb3225d3a6033b476b894f5ed8c762c8f376625846492395a8464eb4ef3f64ea0a30d729a4f129a538835fe6133f152a33d59b9062d6d94c1ceccc80f334f74b373327206ab6359da32effa92239f8de476045b40f54725484d6b133f60043a4b505172943ae341534552ba8febc8a95df1256d85640b8a0836ff92f32f9b3c825c1972143a7ee51111d87741a3b596cfe87f10c0e1bbf7f9abc641ad506fbffca64472f8bcd4de8f72a58f15073c36561d05abdde2b943e344d675afea188b7a3a007207670e78314cb93c27d88da3b55d0c69291fbaa8802c0672fc64d037edf6b462d0748da98462b26bf866aafb71aaff6881d90794c1ea333539cf7a0ab9e0d772a2b8c216e596920eec9269a93109b24e104a6455ffceec0bc1e47449e5554708f5445acce1f6d56eff99c2d830cb170bf79d012ecc65c8c3381bc6034be8e872d065f686067a3d154af9f22b0e34d27105e47bf2a2e8ed073b64505176107c727aeb1abd2272858acc47bb5535d559b14b91d84592ac13797c8340c22052fc198688061364b571e2a753ff520f1ce0ffa9262411be4a22a9eace4a55b50bbb1a246f51d3ca5ab52ece4bbe2003a34e20ca9a2dc7cf1e728932ba62aa9b4a0372254365ada967c9c82cb819117b545eb0090bf5bee3dec41515674796464ce472c1b0e5b04186cc3ca01715e567aaff5c72848af0aa441bae2a0eb160315d8e72e4b3f949e64048e001b4bda2f2b5e6bbe44b54e8059329cab14037e9d10f79721c1a1b363dbae06cc8311a68fc2d82e16892541815e80a0f864a150dde82cd7221f074f342f0c2bc556c1457e9271e13263f7b1e8de2998e4561c44e90c66360a62b7f7576d51d950a61f7fe240d446de165eb8add4ad6f858122ebf2b145a722325ba092234ff1ac3bd8ed3a99511a6fd0190f7653614e67c650a9c9d32320be2504aed2bd27d6a478e8143497879f8b982e4e9ec40ca193b320e8a13167b23288e52105f776a1f8ddae9fc44cd033c6ec57d3a88705081bdf59b08af63f57285b4ec7a451a7e9a8e16d38bd0e3bdb6e606c4fe08749b224b566c12328eeb72a137c10d4a83069991d7098f2b40dca66b5f5d244c9c7faf2a51fa9d3609ae72786db23ac629b1c7bdada96208029d6f2471725da23f84599cc2f6397009f131c3dfe3d9abe11251fc4367123a8ad6c2061fd02522d9be58845b5426a38f600803b9fd8c5d1570cca891199d1a810178e11994b95d182ce5b538d6f376e61672511453caeec266786f95914ae7b7fcc6f258898e42444b80ce2b3f960fbe37720540ea9f14fb17743c3fdba9aa00409a6d24344ae82885f7fb05e5218556c76e1c39345c5fe8af2e3b8b17ea0599bcad23d1489d7f202a343e50780dae6e7a1c6553574491c99d96c7ce0fe1bf28af881893ade044071bfac1ec6e9c338c1a1aacb6e089500ee541f31d984ad0df8b388c6f31b935043e715b0454b63d3fb472eb9fff083f749d866cd5163e8b5c895cabc0d33da2cdbf720dd78616fabbd072f4ba53b9e3e64e43efc592558af7998871569a220eb90a356dac155a6559ed20458d2ae9815861c52780859b7e984f9c3d0dbfe6f2f2f7a3c9d1ea78d268047292d97842521927aec0ba49e69cf54573d51cd9f9ff59883685fea4c40459336ab950225fd7caabeb4e442be288122de33d50846d5fb57b697e4a35563f6b3c20c9617688802687e508da6e143fef8763f8c82ef33a1106ab92915d609e6b2701aa9ce393fde84742befc0d18f91b25e2c67bb3634e850da103f54d7feb9872009ddd250501e384159dd9cb71e945ab30b5e45b9b8511fb60310be84c69b11972adcd32d2179809be3fde58fdf1799097b483e348455c1aa0ddc68a1f18dc2926e5f94d318adfbde181200423f5d33fa9315dbc002a6437903a07f5ee77e2de51e18502a46db9f5b15d0880cb8ff5919beddf6c4820237001f944d6ffa72c9b72ce0f50186cd91560e61979548def38396f1fc3d3e83d69dccba4e9f97fe71072245b309d2b2d1f12dc35b1c317c61f14f8fca27f5b23f142a77d847dbbd9ed3b7e16e3061358fbf8924aad62088cdaca924e541c22be7f8b315dcca33fe89b720d96bfd4a65df599c1e82436265663db6613e6a39804179515471e5f145909573f904c747c423e0c116ff1a0d1a4b75bddcca9282d245d22095babe004dffe6f5bb054c972ba2a861a6470298c21d8b08a571aa7e2f0fafabe89dd29499f1b72b55f7e1b7fbc33cd1bc8b84c567ed668c314c9a7c0811a6633a2fff999f4587206f542ec5bf8f2e47e2413e6887f2c6d6310699112ff51beec9fcd8a7098a772f627b1e06b480f83cfed52e05315b43925da8684085d409f179dfaf130593872b6a52bb195921720f71f8141a276b36aee3bcab8eb7926601a8857e74d1bf272052671f67fb5bc713d6d1ac2cf3d9148f8db7b266464bd53529e72d049caff4692acef9c832582392d486c5648c5b03f162e8d37dc76e6a0716c33cf83143372d1ae7c0a4d1f5c2b6236eddecd05411f9066e89132bb11bfe22f0948fbe32a72cb87d82a51164d19daa18c7f648eb83c97f5d5975b1cdf7d16de9233b6080c72695379157f23d7a55b489fcad23a1c1518d2e6357aa672be4877c13fb23b900b53327474be6d2a677f8d14a4baac6c47eecd9c7373cffcc1323547a1a7993a72ce105debb0ba9761ff8e68329965df274363547cc5a98d1971b38896ae4b797269ffa5998eff53c35cbdad337dd298d2c869709f58507a4ff5c53c4b4b10fd6a7db491a99caaa8fd248cfb980b7861dddd6ad5bff492e69b2c64c91cb555ce725bfdac0b1df812a83ee24f8abda2043bc29e767cb49031b1a0fe8ecaf2559d72775a3356403f9222ae864bb16d310e293a3ab56af5a86eb306ff6b459de62b72bd75eed546663e71634602cbeb43933620de330f5fdddcf7d2a54df15acd8972e40bde8e53c5ba3fcc54bd70c5735d9ee479dc80da366d38580db1fb3e1aa072e240bf3475664ab4fc31404ff7d27937a59ac49a62902853cc4c60131a386c062ee6a5de325e2d5a1fc48a15bddc8ace1bf533060a9a944729b3582b382e2c725488a5605cce2767ddf39237c813866f4ab0209cbe4f13982df3dfa67d551272360f1df0e227c30c19fd0232d685b1d3dfe2ebcb3331d173a18ef301b83c104eb44d4ff1d39ee5a4ad580652b700fe246015a1929f1c8f3a6284d9f905c84c72e0762eb8c671ebd50b9159c6f16453773f11eced58006c58c1c6d4375c185b1973725e4cd7a8804df1481af960f513188a7a744ddf363bc1c6d24c65746c3572325ba5492d1955524cd2f75b3baa5557e10cc10839f0e680179ca5ff3edcc9721eec830b348681f7d79b375f7c5c103edbd1b29941d7c2f969581cad9fe58072deb0c649d2177a0954e7c677f4c9df73b8ddefb02e95313d5a0dbaeea12dd8227f9b8462643d0df3a4b8782bf35ee6f3ad56292d245c6f39b16c0128636485006797a96f47802ece06700efed158c444696e2fe781ede23b24f412c5c66bdb05c9e0f2157cbcc691946935fc220a09f8812e040c8b9199f0744c8631c0078972479e2e64f3810b6f5d23d949a068f847133fdc6c0a67c7ffe7cc8beedd53fd43aad5e82869e4a421790e6be2f107946b65746696c4ba4f2b8961b0cea1ae2f6264052cc0e13311646709a5db9a88e6b44fcc87bd2da2fa2f9de83789ac511c7235c88f6d68c5b4cd7d03e7edbfae879031a05418cabb40de5415da99ca145964753c4e8b8f52c8dec61feb02f7bb9663f36d7eba8dfe4b685789c369db786b726fa859ac1023780c0d8ae2527402d92a9b2bd3d5de8d7ac7ba4af548d3c7497206054e84c8231976b102c9ee9513c8534c346fffeb04b3a22265b124d6482f56dea63f165301816c717971dc810ef5007a25ec41df034a6fdf1e597ef240ca13be37c807ac2b5d48d32caafdc3701b8a9df18fae2e518cf51db233c27dea377228156ca38ef261d6594b7a74d69909eddccd2b4dbae8a05d5c4b9050863e82195d85b9bdb3236fe86db10227f842e35522f5ea22bca2269dcb4cca9932ad1f72085c1bf92fd90cc6f9272099e45adaf8694986f29ed217a17ca031f78a49d2725911d8c2a7c62d2448ef22ccd8368b53cb96e7febfaf08cef94ef06d8176f57258b19bdb2ddac5d47bc37fde5ff95519d8128a605834cea8035f7f0c01642572a0c46051c6180ebca12687bdbf24985049c13d9dcbb461e795a0acd9f635855cf86c86a5a86eb0e5706311c3507938b829ca2e52b6836294eb43771479129e728240adc08bd08053d2186a6f68c1eab70e2f8070cd7758d8be916402ca62df7255ce09423e7e44c2f1a66773b9fb749edf9fea960e355edc1e0f18bfe22ef172bf7a8c7d2c9f61ca4ae490d096b7167a7e8094f64f6be9995e618f31e4bf6f72314b9e452244e8559589f9d4ce42f18fad41b90345115c3117812553a7a3c94a4c732ef225cecca5d9c6bb421df6058789c8cee9354a6d3354dcbd6e67cc912a68500ce20c9d296e62637aa9cc9aa2fa7185c1aebb35ca9abcdf968d2b2ac45fa016990cc15f7c94a0f1a5c488a1d08ad78ebfbf6528266e0e5ceb62cba29b72e34e4ae6b7a9b566c6d2a374606a8e890e7fab0a5d994f3a796c85bdf8d64b4b89a21511a6d7e607fd1aee007ed819c710335949e590b75e9d36c48aa273877245233a445a4d8a109338290abd3c8d2fe2411d268518023376320a29c618277216fa28a67da45db99e3d381cfa208f7c703997541aae19e5f7bbd4283187287219fc522e3c125047cd5db09b0a7b062699cd2c144ca6d430736f2e142cdceb223e9d154fe730da99e145a0f7bd808071c4e1d6fc14547b4670242115d169d472ccaa3973ce0ab886c27a5155755a6edf07aa8709a974ebf47b78c87a6768e31e8333e668c7affb5d0cad0dab2f9542612e5cae2c72c55c0d1f10102c7c666f2c379fd5ec1b909cf522bb47bad8de37dbfffd69101fe4b9a3750da2b9ec1527722068ebc7283787b1ed64ab398d80491531c31c57026637059f31d89b59d3b5721e7fef34dc82093d903c64b40d20ce2951e0b84bee5f21b4526f1eed63539a0be62d5f1faed587d6d7f6f160ca84f98a945d3052ac58e9b7a136d17ae323733b017a65d1d1bff08a5444d263a7241a2c0de299cadec3a895df7ed3c48f980c6e183554bdb0b42694339d7503e08e146301a5572fd5e4de5802d9e46a9654887281809aaf3b57875dce2c0fa0b8950d6f28a569c67d85d192c94bf8b7239ec172d547dff8658d3e4f237f906397c5419df40f2a3067c9a67fd93365a8b20dc3720a2a38646a5fba7452b22f6e29f8d7a8116eb48fa58d658794387f6515167821d68b1bb0602c01a1361db6f56987ef798262e7539e0f1bffe8adc5c10d26e672173a3280c2cbfa03869d2497679df47a3d930524a33787ce4b60be94cf657672ff19a2acdf42b1fdd5eaeb6dbf7de7587f7cdc45ed8bd3079151f80c073e5e72f75cfd64fa2b2af4ce86a3e74f91b1f161fddc640d80f01cc994c979adbac072111a52735999ac47cb5ff79cc286faac74af2d26dc185f1f0cd2b60a97ef6572008dc7a8fa82416c6e986f1f670a7fb51dc5341b7cd6ab29065320528c4b3572fbb00649ec63a7e5c1749d1765e00974de35191b7000d50032d08fd3534efb1646c9a6c0e491086e654e954e75b4cfccac7dcb8cf48803463e349c8592520a4547d4a5d56097395527fca6cdea13a14bfebfd1f1f269c3272ee7fb319273a868471cbf78180f4cec601ae91e3b0a260fbceef48256fdf337bbc234cda2c53572f1bba84a8b407e53397e51891961a32388d6380e36080ebdbeed05c4fb4a8c4b4afeea157646f4c00974d672f5e2b99838eee829421314f46576c2ebe3fed272621672e5a0b47ad08ed27c87659083686045b7f48e28bb2576c80c0b51895a72e529f30d6de464680ddcbf263b622fa16722ac5dcd8c747d70d82e9734c8637237e7fdcabfa2d81150327064d3a036f156f7cbff3ae446317a711f397023e972c72330acc6ea3120fb06d167e7ee9f00e8e06e75e3dbd30e550086dbff9aaf72bd2d4b8a0f7a0e88542f7597d178481573f2135f77efcbf12da58dc141a3f47245bb26b13615c13bd6e8ac3a76452e1c4e7be676daa3c44bf6d5f2fc242b2930e3605ccbd762c4ec1e7facc11fd5356ab436adbde61e31b77689fde11a936f2213dc53d498819c00fe83fc5ad3ab42adf8735ff26d7d8eae6728b19f5ea4237202015568f790801e29cbb28aad8106f51bdaf9422da47c6eba6fd82ea26f207229ee1fbc03ce639b1342adb91fec9555ddedf1dde1eef070226be286115975174c0ff058db722232b0099133346406a4e2ce9cb311c65461a8924588e94bf97049b8e6d36cc7a568704028275101bfee309dc3d78b0e4cf310bcf7a115df3b4449df616abfac742bc109fe76efecc9e19a7293951b3d798642cb53a827b50b7240c66bd71fdb488df0b3d678a0a3b6b08392b2b5b7a01367bd9cdc8b32c50746c2e45d75e5fadd3ec75bd727f1c3b58b53118b6a7b7907334e5e1a2b24d2b572253781b6b934264a5c4925c60143cf6b272d4de4282dba6f0d1581b2bc948a72f4cef4224f62ea32e67dcc17130dfb848076d7528739d5251af776e73a6e8623755a8591f0e187278a27c10427f400c6bbeebd8a9d1cbd132b15fbca953d9001d68999cd8b74cbd7d911fd8dc8cdf83d0cdfe5b7b1ed89cc435c73eeab38a272d90f7de4534ffcb507382b15b1861b2801ac14c12795d06cc148f3f15763c8724d2b3eff3ac4b192a9d4e4b0f700d38f791fe0fbe242c10197cb5bc32615f543d13f48dacb8ae1ed3891f5697039f820d521ac2578060373d18d3cb3768a9a724ec8666fdcf611497a9095375596af21e9d057c1c74266c961a2f0703b8a3d638edfde971e718057108fa5397e5d439ef33425418f5a86d2aa4d2ac874f19472917f041ec53e9c80de19aec9014cafcace6f3a7910233871ad912cd84f59da3b277ff3624ed9a54df8042a033565c43ed37eb48e01d7233211cdbc2343c598721d686d03b1532e5be1aa704833681cc003f8853008271c58f79aaa368e1cc51d6b8d5fcf6d265c0bc12a7c8736db5223356908eda710a6afda9f62b1242a5272be7890a9de2a3d5e859a945c60248667a07038e9f8b5a53c3dff468d582108725565665d395203b92ace207784c53934b0f9f278bff771ca6d420787fd037b7229b43d9aecafa2770f104c77a6c3899693c376c82d704f8d31925389f20c3304ff76de54225c2d6c4826249a617e8cd12275bdbbc38c0ed97c1f5512b34dca092d74c52c6ebd128874e2bde4604620a0106b87932bef30e5f70c5baff8229d37d77a173aaa056324faea24bc1e8c4d95f7d7acc94891f9453f21b8813d788b720ee60c335d61875b4e478482796e8daee6b91d6e9e2faf2c788fe6a8f76b5f72a14a390877ba0239e3f60965c9559ed95ff0668095f0b96fa12972b98194ee7211263a766cd0b3883b2436111cc1b01b200361a4be660e92804ef4a6b25e04723fd3a7c5a502e548d7f57cb76787870b7f5c02d66efee5182da3c8005ac3202621c744f74c8522c618f4ebc2216c1d0915ab06c44dd420455cc89e517d37df50b88bc3da61042c8dc8a30e89713fcdfa5dc30b8755dd5fffeab7c83f3dd3d5728a53d9a2586789570d1eec14dd6e5e72f76fbd33deef27ba97763277d8de00726d13ea28ad64a0500b0edda6e19f16d831692d8bad2bbd6077489a15e309ec53cf9251bdafabf991ac5ce7059116a78855015e4413da1e7d7667a017d9ba1c72ee6a60d91aa6d239b2dc1086aefa344b3755fc6b018a20ba1b56d144c2566c721f3fdd2686b55921ca7589543cb1ccbc83141d5aede3bd973cf83521ac72c32eb9e25c78567a0b0c3a04487d120af648d1a9c16b8017ecad66c7121f185eec7235c2896c50ef6d84dbf20a6dbd5e1be65685b0829ec24447ee9b0f91dd649825083602c1f9b38671230ac83eca9d5e4b339e982e90500cd4ba23a6435e2cb97222c1a4c82b26751c06362a29a16bb43c19b11d6bde8d23ca40edf65238d56472ceef319470f9fbc550a8e3267b01c4fae1b1a5f9546f447ff57ea24d6932b37220bef66c1c2c0e0d19f4df997e9a825b20c14c735b33c3b08eb00def1b26337271782bdbc4acef327d65ddfc9aef288aad517d4c5b244a7dfe2100f89b4d5c727486ddd829ffab487349bb8bc47b6b097dd2193e762feed26d1287b17934877253e2e495854326310ebd6f98d1264d6eae88935e2966aa9e9d24867d35b8aa38911b5f6fcfecb49c3a3b1d0256aa4f64d834a318c87e1f6c2e37696b6d4fa072b81a64c35824cbc5ba983e4850ab3adadef97b3dc8d843d58da31c666e57cd72fd65619b97d5881d817360a3995de611760e9df30b9a7f6baf7422cd0dffc0725bfeee514b67369f0c6ff75a6a179999053c5c9a23fe27be70be40cd2fb970723bb95eb67d15ab6d041d69068947ac3e644ef5ce11a3dd22777387b068a49312ebeb101c80b019703b9ffc02dbaa965c6c15d2a264524bfa35662e99b26fea45186577dd9d0a2351445b790ae300fd9db5cba1f1fb2bbce470fa1b1a7e9dd872f89468e00fb30793f19c49cce568efde2112fa1d83dc5916af373abedd1c93297b34ec5f735b485ed4888e09319a73eef86a687540d324465f9ea3815e9b3b720dbc9a0ba072a75c447e1623236a8b9823bb89e2c82d0ea6b6809384329ae07271cf5b6d4be58acb3857db4f4cfa663f6f736d43962cbb7230eb0a983b87480d00267c508540429f1dbac8bb6f0e5c1a06ab338c0c8a6e8200520ea647b28c45b57764611b57e2143aad3c2effa213963b7f7fb385a9ff005a578fe36c8b374f16718bdff64c56cd67c092be7f5748f94eb2170ef9ab4495d545785b5bb77e52722048b888ff3823b2a38bf9b3522875fc16483cf1e7877e827e094047c09172ff9bcdc161c3b4fc35d7e67cf9531d0fed9bc50f0914ff600283194715eb6b4c5f1ecea9bfcc61b7344832150e6cfc1c9c095424e23de92f1ba7e1cc03b3f672a06d3d07bd4e184f52206237400efe86b6b635ed40c4cf80ae03b520dcff1272d938e8f0c4b3658b9275ac47aa5d25e71f3839f92ddbf110b88a3eb54980cf72bf2b4902b1f4365fcbf735d920a76d3d7abce37699d62495c405c8b7fe23cf5e0977c47d462dc460d91834b4a0f9233229939c6f6bf18a98fcc535f6d283415e386d07fb73387bbfc0bee763a732c28aad821bd28e886ee1faa6301a578cce01ac1c84484f16a8f30fb59b7b820c7de23b33a3f47886851dad145bac2d808272bfb435a357815cdde16c12c4f9bbfd080bf9e712dd54bdbf0b76ddf133196372d196221f2d68840f09044d2b3dd8c450e0545f9c80a9a75a197e8afd0ba3c363e5eda7709ceb943441d7c871a1a61f2e140abb91f049513996457aa2cb132c6da6520ed22581a0490043a43953c9aed29eeff567447fe391caa83832850d004b820b087cb16d3d86136a8d3912c1d38a647a44e943cf208867919506e08e48722ecb399d4cf4a423ec7a287b267e6290257cd07967616e43505db585ae4c95724106c1ee2c240fc516050ec116bc3751ae9ed4cce442d04acbf9617f196c3f39882e204b076a13d8a96b3486134c41c5f8c96a7ed9522581f408d7c45fa6a2189ca8fca7b19849ad735464f772cabd59e27cd1edbb7579def96833f0c97a11720d55702e7a4ed987d8bbeed164c4ab56d95054457205708d8d52c82f120f517275383a99b5ce7504f0e3ff3b01baece26870c8451f8a63e9f125dd3b2f9dd766505583a464e4c689ee30f0c98df9fbb8691566df686d2fa665ce2ccd58f29559ec075584d0555d67a3e2d47019f084a062884adc1e75a05e8ad1bc17708f0072f34931991c1ec16b5a18a3913138e9da5729c3c639f7dfe3fc953d3a90596872cc9e674d539bba01689956f2eebc5c7ccd3ef97ab74e2e3e8a377d39d7d0465a9bd64fa7c218cd5fa1172c2065854ab7451333235d4c2625fdec842cd7af1762ddaba09802698476483725a35aa2f49cc35390254deda29e4e22865492a19272a465e84e74f8205f125d2ce40380479891f12ae9ae2c6e15190e63a300c10c43254fbea081633e501643d32a3808c3e28507ba0721dc3ac80ee27192f0bc54721029d9d0fac2387f66f2bb699084c661f6dbbfd1c3aebf7031f9b6d6152aad03c38f6ff8503ecb99a165d0d810e989ae8bb807ed270623c705bf4bed5242f872fcd90bce7a521760a76d6fdf3e1ed5bb3bf886a50f870376d69531ddc8db18ba0200007204a4754498e06db5a13c5f371f1f04ff6d2470f24aa9bd886540e5dce77f701dc67b8108505c5bf675014ca41c819ef786c1de2a8099f6ba4c79bdb87da6055fdbabfce532894fef0c2db87a07ca982d1743be29a773b3bff5e6e59c2e298f72463dd5d53f5e059b0765cc9abd2b26a843952879df2bcb8fe88a2d09d5c612728079d9acfc46433269113e3858a4f22d7a92de1846678681669d38b1a5e2cb7266af98a66999923431cd5d53e797ff0fba6a0054c1496c3afb5564bcfd19de727bbc74ee6425cce0c1bbf296d913f6aabc7dbf6947fb984d01b8421ca684d87244a1d3b5d788838df7bf2d24afcc411db8ad3c2bc6b4ff3d964655a5d5e55e72c62dfe4bb029af1502597969500b93c0134f8cac9f66594aea7347e21e4eec4166541a03ccf0be5c7e24d33e3a57bfd0dbbefc8ce28714d78a369bb87f3d1447f26f9cfaeec65cb142cbc158484deb1b82e28545813459ffc10e6cbbf855dc72544c4df4205eec1b934b87518318c79e3abf9e706b80fb73b19081f344d7e272b1289104d30c3dadacd25ea8e28cbc6d1da0353f346e674b8feb4f1980d19b722e5b0c197590050d5c20bb2e3d5369763d3e7352486e0fa57f6c4dabf56f7a350dbf01e73b24c032c0469c6729c9fe210e2419ad65e4f6848017e18f5ba65d72f3733aceeadb4148267cbadfe7b21f12fcf95ae3584227128c74bbdb14040b720426e7e3d1ea6e7d23a4bb7bc973d46c867c53464e3b500333b03a4fda717857ad21acf7ecdbccb5c62f016db95b5bc9249650b696f69bc53ed6a41a20b00872d8fc88e52885b9b8856ab5f0868b21d36b6498801b70ca22f836ecd5713a5572e3f85ba611ef0d69d3ee322e4d82e9565d16b9944d80e8357b288a5ca9681f502900ea5181b7950b8b8f606688a7e32793d2695c49e6bd3cf7947465c0d8b172f6f7ab8c403af8356794055e8d3fdb41df400e8bfd0ec36886d6920df17fca5b89687c28a43d46e47c20c41f0e626fc71c848f3fac6fd8f6f6fcf4c328efae6a6d21212edc8b79170213d6eb89014e8cec02f869b1b735ea8054a872181009722405f9dafb4d7db5626803c1dbf3716957ac20bece27991f9110186290915c725516f6747d6687f4c748989f9bab899ee8e8c0e320574de9ce621252d7a98a6029042617dbda870fd147db91573f8b50e1d4465301e7d0d1e711dedec7a098491fdca3a66067d6fceb31ad36dbb2fd92c997f744fe7af340eef510ebf0dc72722fdb1354b9da81ef977a52843d1af8599776eb9bd6529b3153cfe8f727fbbc72c4b20539a45ae92f1101902c468e586254808560af368d2505bec1b22d9a4c5039b20ab25b5c8e17a4188d0073fa57b30c20da250b7d97c60a89b85f0aef6c308939a1192fee65a538e775bf8cd82fba17c144f6080bbf5bbb910dbbb8c4935d5fac68645ed58c7b226c3c275b6bc6f8a8f8f80282b13562dea35683d295a2393629379bb984c18b1166e42eeb264666b530bbfdd3449dd9758237cc517999568b57121751350ab7019a5feb8e959b967018250829783bce3d13452ea698377215048f10f786e606da085074a81121672faf05d8d706993e1bf12d0f6df5ae7234d690f93495bf1aa0c6b9c620358ca50848f157b13f016f297100c07f599e72b6485a7905d5b6077818be8711444b32c9873dffb587d5937bee071892ce9e72e9dd7536d4d9e5abd349ad6c4735964e7e68a8c6005f77078b7d21c0b8796872150fef2e9f5af0a62de63be673ce3919f794ec5f71144d25d0e0bb517c8abb723d72cb93f9aa2b7aa112b13218eb8f524b8db1bea060c730efe60029ac7494727d9b8ff27833f5b9b7c5a85e3a359736884cd6081f1461114d4a0a535da1810376c6cf106035d7e198c1428e42526d1adfc5e907fd1885d4dd63a23ee45d2213417e5d1e61635361945e8b81e124939a1028d500e15c2a4b33f056e4aa31da277b51d8573e44d147fff0003ab828de6613d54e47d63b03c87d2bb43749015961d4d15edf362a352810fb7e0ee848e6232097d557d1f70634d7e39ba61b06c872b860b33d8b718cdd28ccb8c8ca4c35100060e1fa94d4f48921f390ecb2f8c14a33c33c27bc7b75b78a3df72112be1390c2e494e282b6c4cc1bd12737012d3222d346c4ab3873ceb4900c611003ff2b55923f08b4ff72ec46a3bc192b6d777210a008db3649e9a9487ff8016c6d3e257bb759224f25d88a300e5e70509de54666ac5003e1afc51c9caf62dd1c78c9b26460263ed73a2f675a09c6427348d79a285246b1be213c2983814db5116a94419f2f91149ed9fc39f29ea2afb15486257201a68180eac98f4c38ecbae2d3b789d75ff049415bde9317125fec204f62bc72f22a92b2060e5a312181a33d55be8a9540021fba92d309fae96d248c2f4d15724788ab1b022591bdbac963149f0435f21dc5ef7eea783de58f3e1d7fe882b17276ccdae0ddc7565e79547515ad87b354c13f16b2534d3b2835489f76ee57a84d07dfef7423f608039889cec153de18d62b3bbb80d59cf73f669910af3d79077282c4e0e0ac792b3a51fd7d6b459f376bab1ecd63cfb9963c40a4dd416d37a503b226691f701b9c211cffbaeb23ac880e28b8c46eb0b40d34f01bd811868715723ac015fe0c90ba9665ff231040713c20afbce75b4e09e6812b0b102958f72f7215f07a19522e5465f5ba15babb6234281e8fc81c8dbb287201c19a560d5e2872acb1c440d4597edefc84713235f2985c699d7c82bde0bdbd21f475f72a694972191588900b853e16ebc8bc6ee04e4000c789b73792ae9f4963a96c4980c5a2531019bbbd951aa7dbae207d88a298be95c613d3024e4059d5cdc43b29bb66840ad854b6ccae894802f7c0a6b0e2ea3b9e6c37ffbefeabc3cdd749948689d5de45ff13aa24722979c3e2ac2c525efea7591431b21fa16158a142619116ba87b339cc0e4ea71612d2d6153cc1e2159ba31a3735d023e3b972ccba8eaab4077c1f1ea39dda1d3f22674f2f30554b9e3ba0ef8a5ec74c83db5cc3feccb6c1ede0c8169941ef30ba1bcbe5e515413c00e88d6b51966766b2ee3c64c1e43c061cc020246e5757adc61515534dbe30e90047b46a9da535bb40bf25c1a10b98a2c9826e721891f11d63bb0a144e719591ed3144da8b6c8169c96a09ef6d6b873320bf9f39a17b131bda4fe44c26afacb4c8e3010bc25347b331f39f0e1d7953eadff6e031f689760d7c04689315a37f517cfd363f0610ff5a45a1d3362e3d1c99aac8b3726aeea188811faa87ae78bc4465960a2e6cd3dc0d5ef87b7bfec7aef1bde05a6af6b8ef8714e9a15f55e6211472cb4baf423b6f512379d8da2227c311e323c272db7469d018290246f731f5a746683c601e96d3f1a51aa860e29d80b99daecd7286c105854a166624025543561d70a631760312a292dc82562d951ae89ea2b672c4d3b60a5d1e41161b19efe6b759add6b64c966d6d2e95822fe0b248dcafd15367fd7bd53c878a8b731dafb6d3fdd0a9fcb22c21b9ef5badb008c12613ce06726897d1272b9abe6cf0007fba825150dafb6de6854aab55a73a76d1b6fef42660fe96fb97eb87364b6ab7736c59f9f6e587cabc1fab98b3599f75c54f2294764ff82215efa63c0a69f8fe98681eed63e66074e028a0dfd5c86de20c2da94ef772b58dad140e17250d00a1e036001cd37226ae59adc4db8a4c476f0d684ecf02288ccdf2125e75800179ca4111743fade94e0819f8fa9e10c2a22195122c675e5c0f57c7912f8425747f59cae4be826e53428102f63208402c0fe2543c626ebd729da7be6de9f001e0e3020dd25253b9b894d1b3a7bd4b2831f2cb39229980b13a8d45a6d73f5d7460050e440b8425cba6fb550bd9a47f29e7efaa2368a70c9141f63adf227ae1a606072ac29f0cc200323fdf74569433a24d5d45d10bb60fbe72697f491b93b7fbda060f49464e98f6b7fd4a0c23b70cc942ea1ff40e3d9a54727c817e34c3189ec81e4e6c18e0de9cc97868f0edb0cb889f136c6a0f8e4c0e72202d056514dce7386abbc7d61085590fe07083e5a24660edb5445d492be8566860c2437f6660d8c6623b690556161e7f875d5ae2f947e065673492af7f0a2f721d2e19a8d199da272b266c5569e9140d925cc36e443041253af7b8dcfea50b72114601de8d643c62882dde792ddede7e6792966b2cbeafd5c86a6039a6e70872e8e6f4a2235a88017b7c4417b243ffb074a77e35168b7812bb8968cc903fb656758c9b1e74b7eceb56bc93b4deb0850f96b94543852107753ebcb32a8b187d1c24eb310f5fb422c12b750f8337ef911a46d41c6e41e830c0239e14e9aadc0f72246732a6f47079f3d48e3d209050f834fd4a7aa5b656d37ef937d962594d641a14139abb20c3627f5f992a40182dcaf4a25945c737cc634ec3db936ab2e21672a5fc807987742725dae8aaad6db48517b6b2eea8ad4fecdbbd00e5d4ae27c172e357a419bb96ac32d182ccc0006deb2a1ee833ed43e1bf06a2016c1928d72f72355098db30b4b590e5fc191b95a91f3e0db83d7bbe9dc74665cdc85495e63515adc66ebf8784cc56892b4a6c50d9a3a642f155e425dab61f2d57498e262e647207a65ce52b4f07038ee8e7627de8ab0f224e4dab081ae8ea0682675866ef4d729471050bf173fd0244bbe8b378fa528e2883b69d09c23969ea8ca5e91267a645d497c861b30e5c642d7c4dabb778928b68490e4a3d078fadda6553c17388e70bd104d6271459a2481fa12136f64547085aba6602b3e91aa811533c6ee835b168067f0240d1b6c546974f91aa2e45820b50a7c787ae2e362a1db1ca4e6a977e11eb5f71b3c24d220482377cec86848ad027199da7e6245ef69b6c233c83b82e701e2d8d91625fcb8cd80f970bef79c981593bb440886e310557412ecbf4a6046aa154e98384629de25e8b5d4418875c6e8a370ace778d263249813abc12ec0d7203e19845d3d3425fdb2a3f97c7881b83ede703719bbf1f0b36197429bb582040892c2553c140da68002bcb599e079567bf6875ca315e972ff16c0f9c7cc8aa72b0d8977a86f228175104427f09660ba35891d4e4407c95a37ba4275756a62672425c8307cd2ce249cdd8b8a0631605666a68041a2be2db57d81f3f9ad6f15472a593daa11309c58c25a0307f0afd4f7d0c13b756cb77446cd95c42c138c3b6724a58c4835d4fb55e2f0f9d1da59687f1da73c39139b50be37c36ada7fbb9b3722321da60cfbecb79847096825e97d3232bb91bcccd17e9ef30e613e583fe3472803faf4a75f4cc8bf7b5a5001c473120c557e3aaab176fb7041badfc774624720995f7eb955e84eaecc39048e37dbc16879719842d901dbc7d6683c7f450a9695b2f9dc41d37d9b4d4b1a4a8b1186f25c22f765187e6b3f1cbc38ee05103987230882ec5a82464f7dc95208ef6ee5be392aa24352ae2cfed5457e805a243395343e46663e8524712bb348238f95bc0723ff49d9b098b6904ce672bef6ba3147240db3adbdd543229261f74cd5846a650a66c55e0ad4bfa3abe6ce2b75cdd1931d0ba4e00e8479b50838a5883a9e322f3271536a1109b0ba219df866f2e0c5172fa5b2d3ef9ddd1daf4fac29cba9514e73948144dd161838d2c30b8d0aecd2872cb306c391cea16f261624f0339eaa1aa9706c77557756c3b257da4ed9cdb6b726b550fe5a38f305d420808976404ca27dddd95ccf233a6c54e9bdb76ffe09e72587a6f136e5ef8e8b519f2ca388ab9d3c52166fa73947833d3a80e1e8bbfe072dfa40f3c45ed7339cd709596899d56cf8e01c8ad37b96e8951979b36d6a8b872d2b9dcaf843607a32fc5c16fa9167cb18901608b13265368d4264ff49153c955511be1310f93c50f3faabc7e86fb096f4f6b6e50e56cc89752368036559ad272f56d9d84017256e025e3f590aed2a150033505ea449f19730973485fec7faf725346e3594abd07b4386a5e4a5339380a71981072ff41681f8afe9bc00704de7233419caad802710a4b781bdad09a27db8825d287af9d2a526cdb207b7a52166eef938e23bc9c3d1012802b18e73bd1d61ebc7e6ce87f88ffaa67500152752472a328160f3e30f548c6f9214d63e7fc2ec19a53cb0f7c37536743d66b6e4f9c72585697b05a0ab77da9841004c098b6c10e57d8e4de66276bbc7f2f7a21042472fca0bb8a3bd0befdf153403b6629832b90d366883468fbc75d8ea72b9f892448c74ac8bd1d8ffa853a77e3182aaf7fc93cc24c4dc76a77d12b49950f79cfb16e83ba4c826e9e7f215170f9d23bd9927ace9dd38f328334f6434d59a23cced972251cae5706d437929fcbf07544a861248589d084ab7c0d62d47b201e767605729bb3734d46f1a33f5ae1afcdbca268433633e4422036aaffca8fa0086c0530085ba5b28774cc823134ce83d7d8d329470f44ec7863a24dd6ee47c50b4771eb72fcdb0809b4ece5002adf7985ab4bf45ced13bbfb05df19ee123ec74cdf6d5f72c19a1eb8fa72eec5fa035dc15f88b87a576a3d22a66b9fbb48027286bde4d872c1e4d3558bff185000f57a4a876ce9a9f04e8b15e109d311f80c3095223bb5720f58faa968deb75f3cedbbd32742bfb6f06878f36cb088cee6503014dbd70453db21173c2f79d4751cdb7d0253543adde152d20a0cdacca47e9c80c2ba8a13728ba8495339419b97177de4dfe27ddc5d220c89019df8e698e1ca56f4acb8dc721bfc3d4166dc0037885ca4bf85bb1c36111c24811750ef44045cb3d82a380472374da760da2e61ab04aecd8521915c9b0109c18277ebea4b36b561ab10cc5e301586af7bd82ae1a471fe64c28950066f86166de67238281a2f10bb87e1ca67603ee10c2f42cace79d5808c1e082bd61755fb657c5de7652adfcdebe06d38530731da6ffccbe702ec595908a3a4e3fa58637791109b456a2f392df5c68188a41f3bb80448301e98ae55e319cb76f7d255c156ee02b37ef9f471f354977f270e72295fd7714b4e7257f446c7dad2709abb40c55d6fe0c865b3eea824705fb63b52ccd2663f22648a1c8a070ff213b9e56ab438594f19bcdb2256ee2f9f9ffe295ff6f9d36873d5f36e59e66f3e3f1ecb1902fdd4620dfc4bf998a88e748c3e790e1cd60cfdbe25cda5123c13b1296f82f9a29a3313437fe9b129d9b753250d385f3b565c85b5f1e46a8cdec2de2849e50a477b228985035fe30d6411161996ae00e0d06dd7a2139dd54d5451d907707d8aedc71b8fa5d39405ac95818edde0273ebd8d8b4e7468c00e74e1458c3b7ccd0d019d9da6557b441d903d76adc85f5d72a7bfe03ef84f0febd7e6e811662d2e8aed2f7f3943c4a9b1063d19b903ab33728294feb153435613ceb083f6a561d3bc8353ee6e5948e89b7e8a632babd41772c881250984c5cdf4529592a9f84d222ab1de62c600e48e5c53f77bc4627ac4722d0aca458c4de30e8ea28e6c574846211057614f501c2dc218a57d8891cb16205a5a8dc8fa045cacfb3b3a546dee1ccef24e0eedaec237dfce6ddcb034c73b72bc55f2b5a3d2959084cc990313fc095966bb48bdfad9c65eda6240d524e9e45b62fd66427b983929d6cef3e9f8647921c34e863a1bf2f400e163e49a65fe79088620e115698b496e623e0d46dde4f45a8af9e432e36107a8925e6948baf25c5fa04bb9110f163a7ba3c6cecce2ed269bb1318554166dbcebf3b4a48d024c113eb3fc7d5ca48aea3580b8da44d188a1d7d5e2043d7d566ed4b7df6e540668ca72a7125d7bcef42c7fa73322ba9e19ffd89340841f8055aa048ebadeb9eac9e32f13341244b42b0e12d88d93313c404f6020b3b1d6b5ed2a89a1d0738e4ea9ff721a078a001dc44fedd67fd652c562dde767f9800571c937f292fe43aa8b4e87724f108c504c2cc018f51dcdbaea3300444628aab60a1847872ed2fc790ac66a72f4b6d73d73239e4029c7d256c261f6aeb1233a105ae8f8df76ba40541e9966723ee1db46c2fec6f910049c4019fc8ea58edbf5b129e4137b94c471fd8859fd729641a0f06c293001e352b94937eed68b9224a97da1ab72a13b48f0b8c90de972fab8b8f5722be35c1a461fd5e4326f3526a99c86802b3c8a63a251009525413f91183514efd541c32f3e63580fdf6b09d83d7aec0d2a1acae76230ec47a8c872244f53455de02e784c05841cc1a86df5faa767115e63292489ab07604d5ff57216431efc65536a28db1e05bdb69d813f34957fb39e909781b8bde70ebd76f872689f8778e8c70481d092702c0a99b3187893d0fec6fa8c28c059d6e9760fd372024b217eb8c533acb2546fe2d1b9b667f570ea6eee699a304386264ebde49c44340654e17ff6716f1c1a2295bb2dc1018e549bcefd8a45df5e155d6dfb740439da79011b9609a8a97add48367913ef933596e020a64bc1f67c909cb620131372b82d5748c848cc904cb6da8d0c4d698887ade4ada931a7f9267e656394f4cd72977b35aafe623da9a27f19085eece273904a45f692879d19c2310240d6afd96ad3d79997ae448588dc3fb773e740c705b2aafa5077dfbedf9d900078810c7027c2b214e97d76d3667a04c5c55cd923c1e8589933a8b95444f049dcdac8b0d54bb11f908172f902625f1fbbce99aef67b0cfea8c50286fab192ad156bf0c6915cc715a4d179fae965f94a7d04452b5f16fd8e32b61fb5edae3fbfa5fdf049b6138798fa35f88e1f9d76e9cfd39fb23a9942a978b1c7dfc5a69e4b0ad2e3ec1a172ab5796e5feb9cccdf319df3dccf9d272c3f7ab6c23337ba8294e6589f983b72e7f52848bba42d19e4315e8fa6c70ab6287d0eb19550b71dba43ce28a5110a16e3b0b165393ccc66a850d65a074d96f87aca954e7244a6700308adefe3da0d72e4b95c660d495059b345958a5b90b58d287065b055d0e2b357062abb7ca335728dc3f402c6bcd0aa5a079509ada3fcc0a9b5ff2136c31f08939e662b36fe9e2a0ebb7e7f1ca365db0ec6a416fe81a950d0557c39b6c3f72df2fe1f48dd757138b212ffc504b7801d4414d5e48376db6d2aa89c0a27ffbc570e6d3eba599c06722f0fd6477fdb342f2cb238baf7eea3b6a6029a0332ce1096e877dc013f47f8725e94dfdaf24464af20df182b74986b3d62af70ba08237b567d0fb79fae57230ec210ec1cb7e256f5908c601284e0c4ff3202fcaf6cdcf5b5d60c21f4df0da9720765373f02b8c0e8fdc0ae2688432356443816a8e9a75028f64c487393673107d1516ac73ff50f5de3bd7a8d4059583b1a03bafae46ad8b6a6fbdc9d06d43872fd4b475ba61d42e59507d8627a12ed3d9a57e2fd5b220b385ba248707c2eab3e04002048a244c9ae072765656256a56c8dab2475796bf7b784eacf123ca2c372ed5a177b600308d3790ce4762397e76a86c07842d068261d48f028e05b6b0e7233d50cf38642f8b8ebe133740ed60975d08ecc9d1e6d1c93a10af064a69e98725394aaaa8147c2b6984d32dfb683b600ce3b51b72d8adbbf3f219713ab514a5a2214612cb9a5fa05e2e13bd27f795595b88d1d144fe9ddfa3324db15bdd964728ea03124000d7b23dfb6b6ba12d5fc375c59bb8f0d86e8b0fb3d7032d2b7a072ceb55fa4d238dce00913da3b19c862dff39ecc80173347f4e97536c62d2c67040e2250002ae61a863aeef3b9624075b61cd84620b09f004a62fefd6a24ba997204a0c9dc4314578eb5eddc076a5a94f4bd9f35ea948f1b64c123abf1b1547a2648bc29e128f0b7fa9c5971a98d7ca2190d0ed6787b3d3819c7b7a999e71960729def0e8f65f36002aa0ec69e92662d008420b6f821679ac43fb49912bdfc1d72706ec09ac0919ef07c1adbf89d20e6420d21f031850fe7b6470ef3af5a95147288f364f9b48e9d5c9d79650d0fabb45576f4414271c2d51bb7aba44acf5477481c3dd5836db486ef7e9d0a4904dfc1ee98975cd1600550b744545e65634be25b6a38a3abfc74795c45eb9a802df8fef1770e18751c516cfec333d01250c18316ee7dde13960ebdadb637344eac3ab18d6619965304af6df9dcc82b7c0e92e9723b42270d197b9b287d59e03940afdff0f263deb450a2013afbf0002308e5c9720a3b35544bddbbcca95a84d3086cd07d92754ba78334878f813c7bb2ef72e3722fbbe9e5736be9066948bebc415a9ff9c38e66336ad097c2a7120cab4b638d7238a9d684775037ed2b3be221bf7b2cb8c7f76ba21860ca0e11c8a5516973c572ca7bf51b2da201257ac810bede1b013a29e82a42ebca24ab1f56f4ce3de59d55aeeda2c778a3a501f86e862e8bdc6d5fef9c60525f1a63796f8c48b0a80020724227fe9d007efb1c55c8e2cc865bdcd932ce00a236e9bba7ee591818123887721bceda94531c7663750b2d3d7319f06e0c42f8c4c9b22942587aef109cbcfa0280b4bfa83e04666bc46e7b581259140fc7618a4b8dfe3e193992395814d8a17257e9d8f04186eca2662ddc46b96a1d64a8ac4650fdd6179adf686847cd420b3f4c5e436bdfa14edb2c8e19c765f816e02445ae8096d4bdcb51f117ccbec09939255345c10665356d499a3eeb2da242099d17a8a954087cbd1c8eb263bf7b5a45fcf1f9f8fd347cc9e21ba6cdc2f8b82d8a12b5a1b83cdfae2a22f31e9cce14181ce3ee7659ae3f947d4275e7142f2aa43abbaf44c73bb02cb801c727327a0e7279811568a6394858d4a638f43eee09c09cb6ce1c5e6473ef7ba724f70a35c4437c35267c181f461e6a0765e4ab8e71cf46777d9f4b5e2c4828488863005af6725144f9ed484b3cf3ea61914634bab51517d8ad9f55e03f15703484eb68227e726a506269581da5744f1b807c5b66aaae7abfaf2de1aed935499ac06b3ea98a6549b718e5a4e64f4c66a21a0cd6a236d06ae99aa2fd6aa617b422f6bdcd85e3720bbc6c66ee0b39f11a2a350b060739fa748a4bc6568f645363c11bcf3c6b3472c59d5c37cf24745110faf08b1008176cd46be0ce5666532b87e8eb45b184407245f0bcc574ad4a528c5010564463b7334786e31a0059ad6fc518262c0c5cc87289f6d1d95f43055d3c0c8ba79e97e88c594b653a37c2bdecffd88652d891043a57f287921aa58989cddcd1b087e35a15bbb468f35802ce379c1f9deb3e63a97225021458821e27a6ef1a2beaea86d638927de1f31c8620a90f17550812cbac58116768a7d5e0a55313e39f3378ff40d03bc8d747dca39242e4ba57376940dd728430833ff212b44a3c45b404d42a57b21189806f4eca8c9c69a3918f86640330840995bc4038abb01e12ba28ba47a1f931abfaa5a4a9c7fe161fb97cfbe24c704a7719bf75a2c99fa61d3b02c7c216b01bf1b3df4d40abf6673a994e1de2716e908a7d6de6e33fec8bfd0bf61c5c4e60b9728cafd5cddb2732c4977d31ea2972568cf9499dced170a1658b150c840c840e1afb133753710de3cb8cfaef087e72fd9151eecc90e32717013ada69cb6c4b9cc74cc51024cd31cf36a03590d89e1ebd3a37bd20546af0f13f9b44beba8e7e857bdc28c1f4877ff347dddd93f81762c59eac576963e0d58c9f0fc23b4d5af6c4acd466ba9c03218bd21d94acd3de7293cc9a4e500e80004c20f577b2ea8e2d84806d2666b0625d63f5ee87f43d96728c079309af6ef32481eed560c6b9cd2138ab3af3da7de63de34d1d0c44547c72d558475270ab41b1eb25524dff965632484d413407e84758ab45ecf4a4b84e7246c5f80dc39ea00033f393e4d174806f4e9a025023b128c39ecf34373f5ba8720354f02402724d6f9d6cac9df5cc67661eccdd9e66fe80ec505e8884b76203721d8314ef0488989d435623ea6ada3a5c7ae319ba6ec48adfb74f8e767739c2725ccbd44592c7e834f2405b93cd3397ce433c7f6cba938d673679479db52cb672b77a91c4d0fc3100dce72f2216c22f3a33283a17cde0439e4633133dda5e622077551b7f175d4db166ded407a6f6e0e0e59ac62fd805185f247b8b0210ba0b72da881f13928443aa5b1dcbd9372e363e1f021fce4b1faec829b195f4842e677294020e8b8bd32f2701929064b1926ecacb476db4c1fdb0d235ec0760a3012f53e45d69ad74a4d08b2d1247d301dbabfe0e96e5ecbc97f73c955969ddcbfc8b7284ac50e5a4e23a5285770c45c8fbd1ef93346982606066e674ec57aa1617951486de0c79c2c08bb2125b2844f0dc61669dfc11c4c190b2abbca865502419f0725d4e6919a415491fae19a7d4c86aa93e0ed5899701c0a8bee7998584dfc80b72bd3d53f6b8d86011a69172dc58eb2cb57f2806fa10e09968f182477dd04b0672623a9e6aa7b998d513b1e3f80b24e0632946e5f39a063b01a63fb99ae78a14433192c05294c28387392c63f1a175bc2236a506efbaeb620d76acb13239cad81846a3267dd56177dc17b2aa2c6615ec6627e06d5144ef83d5f1c236f0763ce30a8bc9cf2c222e2dbaa67cda4ed6e27ceb1440cab6a6deec45c2f73c06ba33a772002709f699be70fc848fe0c4524df710c9e9dc7b17b6785a525474a706e61b2a15e555052daa3c2a518d7ff32aa135faf43574270481ab3d5fc615fe72dd005c3010b0b310bcc1d12f0bc1cba0f1e7805915d8815024df1265575dc0b3310b1133b009cf688fe5e14b65be42b804dfbdb0af2daec673d0cc108ea663cf6f1d724e91e7b85d9adf658bddc04dca66222230a72c127b36d96ce5dc30edff8630119b9979464d66aed0537ea4eed654d9b54de8d339ab4c8bda101badcf6d344e37bed78013f8115bd2ddd714a02aac36f70f955dc2be2c716566fed33cefe2cd72a64ca092c87dfeed2279a31406fbcccbe8bf4c7e0eb6baf675806e0d0e9a487200aaa4c36a5ea439a7ba70aebfe71a8f4d6409514135d64060ba44640dbea372d4d57b7d73ed50275b78d98d29936dbacc0ed3e7dfa594f7b8393260c086d672266ec1dc63a4a476024971b717830a3e3e8f1938563f42d5aa6909e593bd2f727ef089a87b6cd29424d5d88e4e18aa94072fa920ae5076aa79ca5ae0ab177f725e0cebb8131a91df42d9a246e5276776a303e44ed5d94d68ffd90d7892b5ed724069da5a1d93fe7eefc891dd3d2bbc5c970857faffca94427cad04924ff8e672e2e84c9d076346937264e86c4bf4490637a598d20ff21beb9a98664306b8ee729f1ecd2cc10ee42b249d99641463d8992c9b327de1a5cb22304ebe2146519172ffee0496af4993bff7f98b992ee53ba73278a0ad4ea70481fff18b6db9aa0c72a93ba0484a3a4374d42d557d5ac0e7e27b8b15f8b46d19ef03cb1710ccb348253e776d61364840a496899c8c72608258433f7978a176dcadfcb02dd9c9cfcd1b73f716e45dfb755c0dd486cc1a6a5ff478d05098b4e4084b25d484642df9a77293fa916219247d4c24f3008357a48dedad6d37072afdcd9af874d5ad79accd7250ae6311a19c795d661193f23703844e6c28314a2a2e1c0ade59c96ddd16ac721dbf80e6ac0deee2e49afda99780a90603b382c60d0649ab3979ea3d3dfb83525f99d02ac15c938552ae300d213680fa5a722ce74caff8e6bc84bedb1a9f9a7298ce233eec2ad2dc792d3ac92bc9ee6410cb04a5c33802dbf3e3d70f3e8c045c46ec43dbd7ec7ed6d2d30886d2e53c9fae98a8ef24a9f212d996d84dce47831bfd430910c08738f9912b035b6e5222e533d67a4106532c593640a6840acb6572c0db975cb53f1e75c5b1a97af9e8d53cd253e1ef743167b4d1d5ee38285d2d23c14969a21f0f617a8240bcf7c3752d843887c5e3d3f359b42124d45dce5eaa72a71c866dec24017eaa188c26a89dceb5b121796be810a56df66f55ad25b93c72ca56d400909e324aa11d57b5758cce0730a47770bd6bbc7d14de71831f54ce72f5b0818c35477dace5245fc248f4da121f0d5092b1428ee26987a8103799363e027cb4bc40339092b548d7666ccbe32a469ab2fbe2bc9e5f022d2dda0da93f72d0f627b70d6233e260aef00e9384e7253574fc1ff82c48e44e26e182094f0a720d00dc3c42be6ace6a17caa453b80b0b5ac803a92899c62060c7fb9ded1958728afa283abeb2365d0d26d583fdf9a73a55494ca4bff555cadce915ad10d447159556044fe46cb8045dfcd9fd7f52e91908093d05ebbdf8a51ba5189e83b24d72d81d5e5e48947d8de21c859310a961c348b9e98150cbf11b03f20134328e75729ccb626afa5816dcffdbf29db637a0c68ad7d0fc81eaba5e9a4fa0a802ac4a575f976c07a919cfaa1fea12354a5ae2a9cb273de4579fe468faea48c0b6494572642e5d4334d3b32a03df5730ccb771ee063117d648be2b54541332f2184fea607883eb264be75bf95e7cfea2f916761ea7ffefe9785d2fbbe37355cf568e3072b8abeee95b52d5b533a2d1a374de4aefbf464d29772e4bfd68afd21de68feb1b01684987af0fddd7695cd2ee4eb48df0c3838684289493935d5acfa159c33350752770b674e1e4912ec73a0d0020bac8a3a4a4384a0ebe969ac33be0f449e030377fe1d1bd917ae5953cbdd866236c754c2aa370bb0acc418d0d39ed0edff157e1cef7b5d55c3a5364e5e593c08796ef5add7aad88dae196b63c5c69e8bdd272d521065831483ed98bef4e98ba11b125198c4b3bf15d914a8e17fe3e659a880025d6508287abf682cdb3519e5b869337d6da285f3a0b2b1795415d3eaccbd372011cbc6a0a2e5510f43302473bbd9b2c6b52bb8c4d7e96bb9ae46fa39527421221632cc8fd159ee9e1db2590352347f4ceb811fafb13ae4b0398f0f70dbf9f34bdf9307887f4279582b7946830aff473063859ac9e963cbed84417676421010de6e77d7b5241fddd21ca87e93beaeed1e2ad6f9ba17e2b4176afdd60c8746672d967b0eaff91fabb1cc62b18dff754b40131d456c10305d545333946df2d844aed6f93e94dade00e6a0716b9864cd3e14abde3bb6d2de51d64f156d76d5eb41f6ad2830facd54cbb123ce9ed1e75ab23de7b9535f85fcdeb632d609ce5d09d72b7741e504dcf08ca4281341f548bc5f591e1e385e06a76f059cb3c19a167e472870c1775f880e58ec1211604588ab6a0330e564223af237e4942b72d9d1cc85f66fc89e6f1e7236c863ff774fc7fad13b86abd31bf6bfd815e2a1ed36388d972cc4a23dae9bb91cabdbb2ec8544ebdfa807a54bcf31f665b8a826acc08149372f6da5810c990eb0fc3bba2abe88947529812b2f2f0fb391ea54e6e4c5c293c725b74933665c208e9e9661bd8ea14e66dfe1637db310f799b8973a92f6fb213727a9bff0accffc5d2d89a22f7d30a7390caba563100a21476df5ab8cd52835a72ad83205cdca65e3a49980a713c9d6767f7196db7e2283433076d88ad22747972b70846452042d402eb859782618b6f81f31ea71da447032624fdde8e1285ee017b4edaabcd18a71eb2e12e446934272263d487449aa1f558b67bad5c71a63241c8cb64a9879fa0212e44d4de761900ed506ab67394c6d30085529c6f3ec1a1724fd54ec0a9a40340b6c426dc828f923de216f6e680dd8e518cf2e11ce406e4720e2a56a0d1bac6cc2a93300f29ccfb756811f0e7339372112b04e46fccb2787204b7fbec7c0504fdc6488b8b7b55924f05ed6e63bf8ca92327ecbdfd3efe8e7261089ddd684063d777034ba3de7b82826f9cb42823efd17b48d5f32005295a728e4d21598ed504ef083ed305d31f60cea0caeb93135c6108bd4384bbf3afd042313bc212b3bdd193fdde193c4b57ff00a3e52418f5931282112f8bdc97659272eff1377492f3e2fd5e4eda7357b83aa81b908afdcd5fd9e7b69e53da900da8085649838ccc5d480435202d350a15a2240fb82d79700afdb74da1c41a93782b666fa36302c5d1beac16d243bf939758abc9a528bbd01badd9d90dcfa48ab57939c88b71b0e1a737f09aaa6d36ba7399914b6ef8d25a56dbb4b63d56d12de18472c315f978ed9b5612b965e4ee1c88e141868efa86fb673d1f442e4b99e7e20e210b5c5215b40b2546bfb0f6640594865303a3a544c1350a0c86a9753a34db2b1f1e932c00ac587b2e3005001ea53df95ac90d14e2852244f461dfbfee2c49f972e89df9c573dfd855d956a48ccab27e8eb3f2a916018966df534ec2412df9491b73aca0889cabc1ce4b8ea25c28949c0b3b59f77f3fb0014e56fccb6e9cda355296f7935a2b4e9454c471470cfe5adec083402e74121627ff32fbafba898f6672315cd55825cb7d508faf5c8cf2d9f6db650c2d702afd1d2ea9c0f92db7719b70cf26b61b6c0a56d653daf9d0a2ee7a59c0291959ed8f6851ed98b04730964029d2277f95ad79be694f76a7c2d4692929ad1079cad139e3dedd4128060efd44578c513473cc11aaae9f643e34c61ae1f310a9f13d6493715725e37041e43afe7263ea2e96c41db50a41a4db9a164e1f860a18cf155a7f77fa51ae17174da7ad11b2317bd3ea9b2723b009f82bb306363852a4c3475fe4cc3f2885a1a890a0953a26b03e2655b5c1fdd2226efecf4bead99f6c506de550ad6fc627151909e4096cc58b303530eac0197488a4ca5a174fb46cb250cc7f8d667672d0bbd2cd31ad5e3d07d46ba3ffc2ec697ca75f2d978d4cdb382db537424e51e4a60d4ee4da2a601fad62090e5e25a8698b60e4c4ade37d4edc9b714dfc2d7d77d59fbb60da065a679dacbbd9c0ac9590e27f51a836e0c090bab7f69c418e251eabb7c3da2be314229e28329eac8c952d88839f00ca59de05b17cf210a8d20528abce4c0554c8725e6374bd0b1e6d3b6713f89a41aa20e496d027cb259055534289ad7c44055e220f275e3735bd50f091bd49b565be7abe7cfde3fc34d6c2923e73a1c3a15c4a72f4044ecaa6206cbae0d647c5897f5e4fa1f1c6b918f5c198ea3421e54fefa0722c5b492f33f4acabf825bb84da1161d431fa4ccef7ec02c86db9f31a0f1d4b6669b086bd1eb16aea3ab301b34df45700da94f493df6a5ac1f12ddaf9cb9275718ccc9cbb7ddde8bb0ab49ff6f289b5fa0c638b8fb54adad36dc47f58e6b34c72473f911e7958aed99492ebe2c5f3f521df29618c05b941426b155ee1179ff072eac9147a532f95925d15de76a04742a11026d230ff3cdee15b2d34d622b5312ca73b65ae7452bea6152ecb6a5ba3d33e6a40c1583021e67250ac94e93b8d2872ff52c74a4d6b5a117e362e6dda746c6b12a8562c4a9a9fb373ad8f7e0803d5456922986b5fea33df79475344998aa5ce10b7c765b30b7b4c2e19b25cf196985aeaf8b217f7efb87dee1fc6ea51e146c52ef03e65c25b7aac5ceffffcd26b357206e2b52f8e14bf611a3d0a7de9da302f9d6e5b159a49dff4c1e700ede4527c7206b2ae59ae8416437d5496464259e56edd0a6a3427d0df5fd83b363d166cb33294e16ec2237b0a450a959389c44d990c5fde6a92b4083ab0bb8ff999ca7cd172c86a47ad4bb1ff586148729fa35e028179bf961973c2de9120aefec76e1073505c4af839d2d742807b6da67b4eeca129cccce1612dfc9bc45047de04a82568715fcbd1519f368296c2ddeb3f4bacb7d58519b4e80be853f00bca6ae0c3a49b52209e96ee4c02aa15a64583a255a8413f5dfd27e762d2a54189b5645585bff47226ef09a48ebf7c77d454e1b4b20a5044714c50a0028c96e8e839e5531c3a4d1073161ceecc02f176a19666f2ff46f2388472d36db9421dc924fdcae7ae88801154843616f8e63e0b5538c6d190bacf50f2f60d6ee67d74ceadc72c524257ca724813fea3457cb0a8c9fa44eb4a1cf4e0e9ac8f4a45c390e961590a6922ccfd7206fcb77f82a3ee494df42a2dc5cd05369d2a95fe9f05bc5a89444bb31790c12d679010937199b67398a998c5adc6cc37dc4cdd2958b0328a9e73cc1b79937c729c211c45ccfc970c433b0ca8f8b225533cbc8ee67b6af8b5c8d92e4684b5e77238937e2d03679e6b7b4a73d19b49f801cc097fc15e5b3ee1cb7d9b2520057a72e8e6d52ec19e063002f55641262a564cf8b609190ed590c48c954765b83baa724380a861955fb28de26f6e14ffb6fc507de32610397dc5de3952ba10e31f6f31aa9f8909b24aa0fcca49b0795f999402d38b1ffd50ceeddccd6383a52f3cf172fa0b8e4603042e77cb9c6a3bd8e30d387fcfd05e46e06d31abca18f2acaf8b6869d893664a2ce47589fe19bd413900d9131bedb364ee07ab42cfc8a4dc23f8151b4d66d80a7c6ee9b3ac5e449758e315e87ac6aa2bcd48d7a7ea61c0a5f6907298ea34cd83741f2820873d4614074c473a5163b7db4f84bde5a9d81a4b000472e332ea49f50a450d84a18120a1a76b430f1f50bc2714b4838d02e8182106a372ca5d5a387c45e737c5aa3c4005ac9e0911d8add51e77814862324e322d700d46eeefa4ed99b3cff2be369503a61b4be038a0259d97921fadd40afbf798139e079dd880f9e120f26c327b5c8e0ea91fb9e96fc7ad86c50587060864c3b53a386f2f537c44a2fe9731d113afb112d25502da12c244f4a5a537fc39e9e56c1cff20bd4c8c895acc42e843c855c83c47a9b45a9335db961e0a4dc5173ab442561f72675e060667bd9904d63a79e78332086e195707b1333c82cfbeaf4a6867970f72ee39235e503986940267d50436c46a738b485da0e6f5777f974e1271c9b6cb339d94f51123c43fbc1fad24ea4bbe4b5cb852c3580ef32a9c797a3f16d5f11312db501addc68ccc65c6f84fb6662bd89f2828ab145c2e1f6699e32886121dfc537edcf717c7d696568f0f22093680a49f54536cf7c87bbc959e2c8cac4fd60272bce65a4692685e0404118eb24470f4742163ebcbbb9d586c3de2b421546574151cfd25d7e424be81e43b1383bb02ca2a39d2dba341161c9978051d5186135b72096d7e6657303d4033e01bde8bc0db26fbb2fccf6896ce7862a33ac94f6e19119c3178b85927aaef0fab238e7dace76526c8377a2757bf03f05dcfc6eb74a643f208e27e756bb005fc88f3cb2b695d5ff5fdc30999a8357cd09c434b4e210d722efe435a4c908f7c3bde0c5c6a80d5fdaaf9623b9a3e024352770a1995ea867222b2570be2b651a434ddc14019932e16454a27616e06a23392c10506c70188044e237555447de78f0fc5a78ac7755dd540b9b05acea0cdb42ebbb3a7d7209a7257aabb0d82f796cb21b37e34596ea9a0fbc47314c132bf0611fb69bde7c00308c2a1033106749d2b1115a52efc63412da3f261159a58bfc373a856222afcc26fce3d156d5848a455e9da3fd8c740089e3295a46fa77529a3262bdea6fa558c729c09e7c81d4dd480d9f7038eab2bff7a9e0adcd4e9505d8793c665923e0c2157ce32fbb89b1364a602b37d95a35f0e9f7f942f8fe233a18a0f3456f42f5af92354dfc8aa4f7d16cc4e1a3e7e677c85b63d1008cf638f90968060f8dbf8a21a72ecc240edd5c00d8d6ad08d38925fcc38a181c6792c20ddbc809a2dc0b554f172d9d40fe15a75808e2452210475f0bcfb762f6145e3823bf8b505915e39935304261b030bb995662e3586333df1867df17d0be33996d31dcf47ca2c67fac2b65cdba632169469a261ae18c27a9a81d0452e821b9262bbc0376a3458b782066e727cd5bc4fd07db8b169dc19c52b74aaa7f37f5482f679666baedc7cc7fb07a172f805c63bc7f025473fbf63d1c8b5555855bfc0fda6442adf2cc0b4a7eb719872bd9e417a959fecad51d324a3047f995d22de1f0cf2c9c0f212b4dd2b7bbd6e72c0b82fa81660b20c92d5e8392b8e7f7d71e2237a09d9f97c0248bf3c28b9e072c996eda6bcdc8a7f4ae8643934d1c6141868df1cd287e80aa1e585e8a014367236ab8c4d7162fd894458f96e858248000a98ea9fe42e3ccf699aba721aa35553b812230dcf7e404b78671cd26a0940749048b7d906039855279f7a32cc3bc77231ce6c6793f89d71d3d6646d5f30eab475382aa75ef65f8f0f0f73023917b71160fae3564e1c6a261f28b4c31268021925e9313f7a2be2024d7c32a41bfd5e72b8237390d5a24c4dd91bbaf15509c40dd648184a4c85e3a128599f37ae845f72fe18fdf14d5cefbe8c5b2f77db658eb1373624ab9aa3673e19bdc2289926bd5c8e13c30c11318e9fb3c004053ce17ac3fd7f3405ed8b10c6031076c67cd59172a8f3c24cf0867bde69bd26e31ae15d1fe05681322ddc7d96d14161e31a718472264356fa73bad554c9d6dfff6f1887109b427c7707b16be6a35fd03a06370572001a4e6fe75b88d6fa63e15d7fc10895aab97e3b2a236da36fa76144e72da572c6bf331e2390eac9a64d1576131b61f6dc1fec3d4afe96aaacd0fd89ac4bd91649e3e2cc4caf1eceb264f54b2d14652836c0b0c2a3f28958a7c9563912abce72cee44477de40f007505975bcabc870cc94b1961c49ecd84725f8be155eaa0b526258a34997396f11a8564c8e62f4b4036409c6632cd8869f827f993d10085b7227c3f9226a4e10f12c4be2644607ed542c27e610bacb7117afa397301c0c07428ad93cbc78dd34da15382a7e6943ad6b60ccd1d763a901183028d341a50f096d299f5d4b840e084a59d6b2be17865e773fcc2033c2e4272998e0601409940a72daa7aa4b78c4e4f98c561074e6c1bc929a8499201fd5827f3cec34d04df56e72f6df9980743e4fe07758399898e8365f1c453f6dd8aa7c831b7c0cad52c23f6b11b1419c61adf49cc1836088c535dbdd4101b25d4ba1b8397dff2c038cee8f1122486c58304d7dc79343cad266d8a0fcd5b6989ff2a679f58ade4aad4cf75c721f35e6509af5e622cc0a86abf0883b3d23baa5e6e7e798e7cc857c5a54e57d724e36bf8f711219e36fc94cdc8f454e6e292096d9661696edc7bc889e67e32872246656b771d3750e2726781cb4c1d99b1acc2edf40a39dc679ee076f98c1c54b8a67f0783aac2127da5b3dcc30bc359c946b998c8a7ff933719b2a418846ed3fa1e8fb60e6987f855209a3c1b247fd2c936fb2d9ba14c0c060bdee580c765572e1ccdc224f940e7087f4d462f8e1a103f028c80a7789d3ceee78063c43a1747249494e38de8a54bda3c178df663844bb9093c3a4d2e58211df6409ecc76ae4722d8edf1d97d07530d9697d0c2f4790bbbc719bd334a2c616040773a33d8cf24e09e4c138a678bf67df11c2f0ba8a545b410d4ffc509117755d35f73a30135272547813ed4fab7d8ae2269dda92f46024c790f45bde60d1217b8f6cc1744cc27234d5da8b0fcefc3488b229f8445d62a0e09c6ad85485aeafa4f679d48cd5a85ddb90002979b41cfc49f03fa2611fd9031bbafa4ee06121983383cd5784ee0f68db537e5511c6874aa5c80b768b2952af57d4f985cf702068efdebbe442730772ee76dbe8639e331fa7507027b2109876521a2db2fca42e5f742f67b96649d0319e6fcf3f7589498fae13550152cfdb62d18326d93445145416f8ca03f7b3ab6d4047f5432091f1cbdd915b9d3591bd180d01e4fb259e5e1161b21df77287d1234a223c531cdea485dacdda58ad07bea24bf04e607ebafe03fb721ee5efca0e5e183d57ddd5cdcebff4e652cb00a2687e492795d39ae5edb84f3a0189ba1c1972e858416fa32c51a3ee0461bb6a6e8fc45daa12b5d51de981ce93a2ecf081e9728674b385e274e77ced08a6632eff5a9faa3032b186494e2e759a038c1eaf391178199a12f445ffa1bfda077eac310ab73b3413a792432e0c6fe28b45ea60f77271aee00dad6662601f4a77630a893a0b02acc15b042cdc0a4e962bfcfc08dc337ddb126856bf62f1a09feb5b679707e277b1f8a4b37b92f6818f619c6864c60999d935d4820e0ca0f73002b758a30c8fd2498b81b85902c6e7d3ec9b4c28ff1d54cb0f9fe2c7d25cbbfc8c46f715b99aebc41ecdcc66b960da7af2960ab0475b2296b973135376ce8c69486bb39e21513da3163c18079cb87a07607f26021372f035a701cd3fa1279099bb9a5f1a39f539fa82d4fd581919b7d062f3bdfb3072140218644b5e29c67efe5949c945f4fdfaa3451f1f5829d8b1b74ae03d448272754f3fa1a9305fad90d5b2f679e9360c6a36f92f6912c00ef9a759feb9ca037260354cc93a7ece42f9138912197ef93049beadd346d460310c18f9e22cb5c85f1f0ba1d5b0f398f5deb79654cdecca6711573fe54de543d3af00eec731d6b3722a4a325de0eb12176b8b973ad80ff2726983d7b914313bc0cd3457dc0501f87229ccf8a41bab38859558a50734a175aecb074be0d6d0b9f6c6bf9f2479c97001a1063415b3c6bc04b53d2125f419e5b15bc612732b94def50fe8f485467f7a7201c1ba50188569332434c5783445fa7b7e4f52631ede01a55c2bada0eb9a760a5bd15267817bb1c75be12391c9146a77821c1eaebca706f0b9c9cc39718e8132ad5feb600e722616e0bc4fea3393c6ff9dc4ce668c569cb4c3447916c076b5726a80902c45c876bb35f6c5ee2a5907be3694e3f282df0f5e96ebeca1146fbc22c348fd2bb2f847d7a4f3661eeb5003b4d2ee41173ce416bdfe90366356734f5c1a5d23d4b5948f2b20339efe1846813d45dda122b99031a9b6efdf2aef759d681f012c93ca079fae9410a3100dff2a3b51913b99c17bf5d8cd1d27367af9ff120e7ea8a8f1f3bd051bb50a0c01662c26343f1d6e6657d0b56fadf35755bed872449b413b05ac509e05bde80bd8d03e41c6ccc140bb4bb6b700721a682351b57213adb3eb43b1f3724d4b8cee4e1799d60b4de5bc000e50edd8cc2a54ef26090be5346d79ec6b616277c56ab7fa96042366e59de51985cc8a59ae8cabdc352772955dcba5cd5c9b2c5887091726a2ed801f1659c3d2ed06e0ceefec7ee403602ce2a41b5be1808aab5a215baf720efc49136651cdf324ebb8776cf7cb0f0a9f68fbb349b613e8c0325dc4bfb106ca4d7e8e9378d94ee34e0372a21bbdd3dc816f0c3693921d35ae2d722bd79339c25e58233a3e4327d63dce7830e14e490ea7727dc4c0a04372654fa1c08419ceb0130578d86f32d933bb62cd79071222a11d72a7f7fe0b24a76f996f9f744055850275569c3407c539276c6867a4b7d4a76972dab49873e41aab52e2614442fb822b2ccdbc7931fb3f386baa77f057ae7a3972ba81183bda16f7e450675b4f5cfdb8f74c53165d01e345ea086045ff6f7a9b72118233da963d0beb3ef92532291ccb57152e3131b1332cd8e6b222d3c1315e4babc2cd9445665faaf6d4a579ff6c29b0b5c577b9c814e37d4124433e8c42e3723d63cab0658d5f22d5921163ff796777b548f6e39354a058a26b9fbd40fc8c033d9c85acea68de2e16c5257f463c2de2655bfd89229dc428e4880a606921aa72ab362545fc535cb015e8f5fef6aa2e64327bfc606c19e7dbffd3256be7791c72fa7d4e4952818cb34c6c2fd8d1d631adbec4762568718d1970c7d5dd17029072083b0da089e24f10af94c35a761b90600a1bce434725f925ae17322e7914c072ad1a1b886f64e8cb0896dc0b1a71ec03b9f31875958c2bd2e3e041e733e20e059a0e7e356693509a778c472f508ca875ca664d52e0482958f857e0937268e5501e94319416fc311876dff57809dfaa3981013a04c983d940723a88c5d5b6180ef7936d1c1ac41e5f098453658c5d3670e7abcedf039d67946d9162e74b1fff2d0235c208e131c8103f03f5a1840b4e56255e4f257e4b7de4818858eb3983870f4a9b4ed7aa9042ca99388e7f778d986ab0330066dde1f319e8ca82d8c9c47972c774632d4c721251bbc4867202a935636011eac6caf3cc461692c0b1de5be2724ebbf7bc7ab81795910429a08ffd84a09f69ae74a46427ca0b86193d87a47e5e68dc995468ff6066bca5dd2e6043f5644b0d5f8d7cfe362f7f0609a29acf3472ca36e56bcd5e43aac1fbe3c253caeb6bd1556701840f84873efa6f84b2fab250c52ec87251838504b64d4f2d5b8da4749d5687b593f346f6f7cd5063a8e01972affe4668264823a95aaff98827d5469cb0f825c03a4b198520cefdc8a88ca37283044ded6d889e73df148b360fb99ffb77d0f00e9a51138042e44435e508da727924882babf7d596344c82f61cc46968f042d504f10be78bf284ababcf557655ffb7484e0eefbc13e7d02bd0a0c0bdefb596110ad531db4536938a81b9fbfe72544520e4e6c715c2b1591d66e2734ac8ca1431b5049b93ef035db267121f426dbaf8d33728b3bc019af2741a7fe3a3f2f120aca785a70b930690f22acbf0b5436b7316ea6cb42cfd4a4f2811bdd7ce1dfb006c3772948ae5b2c01478edff841f58cdb985f8d385e5f3e278e089d192d227e426808e6d8e7c24e60e3442c43972ee50bd2f35db795d5efb335d9d4ad5a75ca60cef0771b5ea379a9a2196d1ce6b09ee66e766fdb1d1bf2425747e7835ad770b7dc15937a4a2d7165b4d8a93ca0ba6e970c3184b37b59f42b50d2e2dcb67ecd71c2e0efa470801bddf651af47772c159bb97a3f481766a12fa29208bd900945f238dda4ee68815aa7eda4c9a00720a2ca8c11c77426ee45b0ff6fd870153e94292f18a8b445cd6f97530ff6d6372dfcee6597547e5702512bae063f6386f2ebb1799acfbdde8f988d91ffdf2c872a6bac4bb00aa380b1e88bc4cfe485f2874388900d201f6b0cf3f99d02d0cdb27401c5e01bfa89e19516512c321a03f6c88c06db503999557052b09f223aa6537b58b44b8a25688c21efae89f7c49bf6173b77016f8237a3ce235369064771a4da10d92bda331ce5314c8b32ca70e20089035e184a8f44c368ceb56d94d18b039a51edf1b789671b7f24cd08ecc63243b3e8c73a21a450d1a499d644c9d7a056d2e69544c3bccf01ebb8e31df22d325d9497a4c33b4bb34c9b21cae0fc97e8a2eb96e6d1ae35276ecb484eadbf44b4202c633ec67570f29f79a37488795015772560553e9c5058cb50fd4070a4ccfede415022c910409e9247357bc34b4a82e728162d9e18f062b9abc8e631b9075b7f3276e6c21f10eb504cbeba3e8e45e4d728614f26239d5fd6aa10b29a9f52cd8e022f6201d5db46988fdff16219940ba51dd08e571efae5dc5ee2056122696d28c16c85ea67147bd196ef1e0117402b44b9cad6c922a6a9469f0439dc1f613e3f554f966d810ff89f3343a7113c3967a0a4fe5d50d81e2042cbf754d434f2a49b968ef0656cac188a0b1165f0f2d62af72a90d8522e105591e47e67ad82c3ab1f5442ba06cac92d9c08796334cd0ad9203cd7c1a38f781d8cd8a810604b005312ab8ce66a620dae1bb9c25b162e21de655edb78ebd2ce4c165bdde6e110befac6b7fa69c9123e01933031e3a5ef5faf2726b6e59c8937f81cfef44a7ed09388f99f492495e8d24d938025ac3f614215472b50ba102ea1172288c35a76dcc68c8faf0df374c4f268fab2f2e054e19f0734fa48cab870585515ee52a138c68c8df4e0f98e2851dabed0ed9254041318ef764ca33ee7ba51cda63854d450ba0b6745f8f5e66523cc1ecbd84b47a621a590e72c4fe7e9a683acb8b0f884b18f78fe264f4b60935baa97a4859386f6269122772c013817cf6e4bfd2c3c39b4bfb9f4cc04e7a2dbbb8e6bb518fe754e30e9bce7228a2dfdef01822448016c8aec0f01b4fd3a7b78e72bd6166ec2e1d43b95e935a9eeec1cfaca08b8e6b18f8e227b3e5e5eacf315e67fd39ba52f899f482935f72589d757142a1de11f8ca394743e66c15421f93b13e3d061b8e209d85fd5e5267271acaedd8d9ae9b17ce58eaed9664606e8c0bb49ffacfd19a5e208d6278ac72cce8a36c39d3936b008a501152e733b2e81cce4af638b83f0bb97b93b369335f66da5cb3bf6d4c81946ef554a6bcc529a9ec34a8634f6e76a162365e61b214720c0e77d9ec3d2a0c4e8973765a5a65825017ec286728df2b81a9a56fd34e53728b548e554d4397ec4711630a09d53511b573081cbb3cf5584075dc70175ba80e45ed8a70df2ec101c569b136ebbdbe2bcf73accd2cc098b30e4f0d0929466472b3957ad19e09fff940c4811e2ec18b3e2c677141a7be5fc06dbb6c99ffae8e3098089f969431ed043ce4a6bc638fbe71d176e4c6c46a22bb2bac6168f852d172d861668caf08fb806da53b58c33f02291a45f083b01c8e5817b55b48d6c36072869046386ddf28bb31f4b59a2423357e2507e310dcaafccd2b7495dae05ba77297624c4750eaf5effefef72fc10ce389bba6961073520f1e226f3b4404a01372c2f08a9869175200a89954f06923ab576f40100a09e141d1b434bc77aab5e072eb7a19fe52423755259eaa44e0d1a091495da323d0cef89176af24cff3e90f72854365d4f6f2dea34bcf384a287544ca952f546f59ef6dee38a5812b3bbe264b33d54154cc5c7e101e418f5892189ed307b92da6b1b42d365857620105585828757b0d67120a519b7b31ee83ffa71ce1351561a36e76cb4ab729fea6e5e3e07287b03c198e446693eb73c6cb30deb831739a6699a0c78f114f3c7c743d45287252192815e28075e2eab91a07249d5a5b7da689bf2ffc67f6ccbe5733993c683981ae9649c5acea0666b3fff124583b6a93594b07bee8474ae38d92ff5c49b1727ad3ff79ab0795f520eff09920976019b1dc46d471ecafe77b9001dc86dd1672c62e7fb553d72f359a095c5aa08be9985d84089fd083834c467ab4c3820b5e64ac73247f0b20f68db30442ebc578f4145f06049f7e864e77449b909c9c6fa3721869382cb0756d97edd03dbdb503b1a705613b693d8826f20e76b37683085d72fe87aefca9bc1f7e2bd3757d999022d73dd6791222ef2e1885a8d8dd11a9c63e27fb1be4601385ba67429fdfccd3c0e0c85be9e98157aa32088735ecac6abc72ace2be312803f19ebeabece23e0ba014c57101a4eb03774ba2769e05017a7d64ccc1b61da4025cb3afeecca62b1a7ad4ec70c96364a444b8cd65f0b5befd3d72d748c44067ce6535dad690d2a5020400ffe6b6357a3409f532a1089750408070742bdbc92c2a9c936196829bbef1cd8adff014fc2b8fe99bccea4e40c394a0423f5e81f7cc7adebe56a8e8f45a24e3478b00f1fc53e5cc212e309be69ae3e12bafabbc9f52eaf5573efe2261735655e15600b3e8471b46345226d0dd013a6c5ecabc12c5e3c860e7b6f0433e59f92aaa44cf7eb7be224f645bfba27e61efdd72189f2b5277c16b5ad154c447a6a729f80495c11d288381bc347a4d7cfcdb336eb79af457338319763338b8adbd54659c17787ee67e4e44a3f89371909252b672afd86ca1f9a8fafde131617913799d3276e5769bad492983712e83fb5003da72a4f88694b3d540b79b7661e960745e456b6fd5c5ad75031042759a3b94f6d8729a84dda254388e48f8ff9ce570de8c02510b58aff588969f8f53e1e8cabfd7724c1f1787e71dff4323dbebcf8189ceb4d8c966f68f81f8a630d5b3f144dd13112feb3799dac404a5ba5a0dc4e36f420167b9726ab511180001b514952ad544423c606bfa49a176165e5c6958754a4e65793504ce4c29bdc5e6d684b213fa9e72d212e9524a0929261e7f5cf58aa3a3afa4737441534d119a8fcb1dd85c66bf72f5e59b863bc1436df6944eadb25e56bf0ac18ab25e98399e04a4e7b79d9c8172c590f46b829cafffa971a85c75a25f8f366e8d6a83654c587d2e18653e7f852f06cbfed0240a81bdc27d207c4ed2b1649b7040221f8c1fc83c8b0fcfad3e490ba896b4fbea874da3ad19eb992a8dcf6d9f32b620f4ef9699c8b7b7930ef07072a2d28bde5ad41d52fa807b94554d3bca35486b644a3b1aa66bcf5001e3c74209261a14a5367907be7f9d4ea8a59d3a31551d7072d482e9391d3618fa08395b6e72c29b7c746efdaf59f7f1a31455e54e4140c7b525a9662feac994ef4b43a3154503f7d5640027801b64d83741405f30fa3ff4657c48fa9252814fe11ec5035d81992899c8b409c7123b986f5d64f6daa6f5598fb185af544a0e2c25e35ef60be5e020f1d2f8728a8549a2600c8704f5a82e3dafb9f62af564b47a998ffb6e72ebd10acfe22363287f2ecd8fc97a8b89033bcb875d82e3945fc6b5f58eaf9f72546aae6d5b2a20d2169b5dbb999c12bbf88f283fe1108e0d8297cf80de49db0db002e9046e6f7bd73d8a76fd24db97f69b5284d2f3db7573a5b893424aa30272ca3ee6444f88c40f9b49551defb6c91e5a98b0d2aadcf97273cb6a2fac82567254e4b49a93b8e76410d434107021fe097c82b9ff0e0de888abb16d70d420ec14dee92994df6bed915641805ada4a52579e0f30c532d1109f7a12f257779bb1720ab2b169c7db0ee42b6b4735210431e8d6218515501c2c560cf36300fba5e1727235e23e51b9b032be61bb382e0a559d7195393c5b2e79e87fd6fe696944a809cda7f323540aff44138807a8fddb2c62927c7866bcdfa2c190ab20bd9f39de72e692457ce127f10d5246db2a0d3fb6766c04bbf4b4963d009d66a2aa73ff9822392c932852466ff284f1907b25ebdf34bbc77ac0867fd7c3f02db54a9730360c0ef6ff6a7792463e0d47d81d7fb20cffbfc833b9481e8fc68e056b860e0a517291f9b2261677484d4e3307f325d1bd797e010448f54fc9a4046f6f8e8083e459a03ba464cd868ef6d97d66b8045492db42b6d1488c5f87111ee242c66c65e6721f3657a082e697180222026bb9236279b0f5f50d5a881a1d692fa199d4e714726fbc2c10a998e3d8bd580d77049eb46d23c2dd232e8f2d4c8394146632b0a62a6fa0621b2d0104273fdc9d3a8024d8eaf2bc6cfc93f5c0a940434432da17d07247ebff11115c8ea4429397d5ffc50b9fb59d66e15370ad745721e98a0821f872b91d729220258a4970012647e04fc3c47de2a560864104b770bd5e2bfd639340bb03374722e78e03d202ba3e7631b5191e67748f7a09bc212811e674a8c11b1d72692510af70347ebf0552e2fdf964e7d0762d54339874ba8e08474efe2ba972f03339611378a3ba1933bf2a72f51368870e3adcd84ab81dd79cd7072da77c72fb1b76a6f20bb6fc57e4963fab47043ab8badba8cebd6ef330fbaec1c6fc8e72f988cc3f9194157036cdaecd812dbe6ca1481375dbcb9dab0031a00b45855772d211a3c4ac70978f0ca80eee2189d84ce29caf533c1071b042169c148dcccb726bf8727183e48d87b6b1a0aefc3cfe4bbac379d5e9e901a5a862cdae55cffd725d94cbec4bf82f7ab3c58b739d3ea8b5248a221c5298fca9c0f8019dbe5470727daa8fe38297621c49137d47d41f00154c787661f1c981fa958bcc8685437a72cbd3d76841d8bdb2f4d0b412fc181435dca4657c3abfa4e049176debc5826c72b5522c33300376a8f9ad1b353c37ef5215a9feec452f40d1ea26b21fda44e37294d497b3ab48b24ff3fb8210139b0984125411021c3826a7a1ed9550af6b4572f4bf62a4df2d5edd0a68a2782e7ecd9932b91eb8c4024ea762e33aa143cb71727225abd4ab37b01d483673708fcad4e7b8216701a02e6e1db2f81859a87fd372bf4400ef67758a073092fd9c0b27fbd97e7ed84e94e5abf3ded896c634589538cea0722e18009dd3e587bd6d3610d9ebca518848a04bf9631f38f385efafd0177ce49b0aa763ae25133310589be976f7479dee6fae06bf2b6038d956cf422323ea138ba5f6104cf61853f35e35068cbed751487ea12eb96341057c39525fee2b5c196b651d6b269a89cb88ea1004dac86fe90bd796feab18cecf194eea7ea1722a8fa63dcf411e343c93335d7846714342226f41c6b92d3391a4be91522ac92b40a1582164bb2819ac0aeb237a3fffaffed2bea4491efde8d360f8e4d2ada672d83c2fb0e72aeaaf11bc74fc4d7c6de32b8bb1aefc7ede9549d4ff8938b5d8059430cb3c4569decb95922c2da8ce96316ab4a60e7e3b18174834566d6eb2ce72d59b85eb44e2c77c73f9043141ef1766fe031bbcf6e7b6586f87a08272c4021618ca6b81d7eb21a7d0b98a20db0984a302da8d700cb73889dbe75e7261775b0151871b0692c57e4756b65ffda2cc96cb76d6c0502bc243b84b692355f2bbd211472b7274a2e16866b0d83c565ff2040dd41ad4965624f3e6f54e2d92118e1703a0024e614a463eacc0bd7e6a87fa2de993cb4fcdb78917c1d41543b816dd7317bc5b4d6f77c53a84acc35fba2488d152e12e14b1789ff9eb0d1e54642e6d8a6ababaa1660d32aa8ab8fcde8da657de943dfdbdc763b02ea0be19e340c94ef021b321b3594a30ff87b7663e589d30075f1ea874737cefcd643669d92693e51672cd7f783ff1b88271b7ed1a80ea64fa8284d7fd9512247138e8d44faba0a0f620671cb0fc8d43a18e46bfbd0f23ae4a4132891565b2ade0c782b3996db68415729987408a0402dbeecd71342530e54bd2de7cf4b0e7246197030a20c43cc31831966ea69d31bdaffed4c68cb115726565925c6fdd0a939354da5c263ce8d61c727c8750c9da800c66b4b468c918018e1c355ecf8d6732e3b1b212e3b2d4125a2113a8e5634a61ad02da52c690c83c95fc07b2f11e61868c047486ed8b14b9cc725b8499caf9bb13cfbdb47189fbef5af45dbd6a80ce77b138224e1a25d40c70680cf308c5b44f4f3ba965d6f9eb70611846b65554768a861de36c435917dee47226ea2f88ed409fbcc9e44420773404539c1999feef69c13470fca6996666834ee4c82fc23a133e73737d0c47284d80eb69f648730103aa385ef1ca2c72519d7263faabdb137826b9324d4479b38cee6b392a5695614defbf6de1c21a4d8cd94dcc55798893aeaa6ba3a0de952a931a2cffcae1dab287e1444b139476114c4d69a1f8a6b33de7780cc2d204804faf671f23edde9a55a0ff5a245eac92560805121735f6c3c5121c8f19bbf786876e205565736390ef442437ca0869bddae09372bd51731e97d271712b0c74ced671fa08a89313971c543ce674afe586dcbda6723915dea4186c3b36087bcdf835b254fdc3a06553077e42c9276d894aae61eb7269d8cb0d63d769ebd2771a94613aba3aed9c55a2399c7f0c8eebefe24953b3116d48491b4afedadec3b2d4915f84e553a2c8bd5e0e871c96cf8d172b145f70728275cf2deab6d54a55cc4202676414b8d802924b2ee7acee25b95eacf5eeba72c46d6c9026bf7f41b8c0baf5fa3dcda085bf816105c90c5ce683ed56cb07b672a365494b8e307f3338152f5a62c37cb75df7646d2a5b10c70014a1f034a768724cb09fa7857b34de9c61ee953828b51014b9d8b5a4a5654ff6cae6f13cc82f3cbd53003cafe534533ba276161571f09dac45385e1dee36740e7b52185df92772c10481bab47bd7df8359a68f0c37ecea4166c2f9dc0a2fdea8f5138837c157237a2f57817f818942adebd63a294b3d3921d538a61a2445349ab48219373150728d7bc1fb9da6fad10e3108e98b6e727a20ff0e656fbbea7b4cec2f9987f5fc72ba53f1f28596fd408c240c33752aee6697238bd64aaf141577d7eaffeebe607214dd85fc02f587b7e8feba4c0e4b8fa72e4e5f91fa43630322c7983d6572fa5cc9e80738bb79bd2a2d5033bc5426c80ea46ce5dc052456df6ac7403eac580572deb60331c2ca9c9afbcd7a40fc3c1c5f79c9a153aa1a4cfa89e767c57ae4da724482715fa25df7fa43078ebb1a32b263b1881af48b77616ed3e0d0cf83afc3728b9186eeeb55fa023a82031e03a5f329bdd2520e49fba7ef1f7870121bed827288c453ded215a96280f8c869d55588248a9d09c6890d3b22bb7ee0e46499e67224e927ba4c2af65843b75a70b65132603a457039d427a85b0a82408db22a2d722e28d1cc9a1b6929316eadbdfc060244aba7402520287dda21f5ed777fe8fa726504df10e9a2c48a3edc9de31a8c343a24039bea9f0fe0be31cf3a3d153c2e72a260eba454c0076e3f1f7d40259278e0d2d3f3cf54c38aaf848b5ff1b15ee525fd6b43f8bf525741d5b3f86c80d99def949ccae834b7aa9f7c06ab06c0e8c505466ad717d67430d1183957344d52f713f43989d03c7bee9e437239c269664d14a6ae3cb1082759c383f4a9f839af61912ed129917f689494acd67a5ed944cc3c7c13f66368864840f99fca626f48636a046cf1eab1dde8efb6cfca3316c68e72d3965b254c20c643e2aa2e0064cd1d3abe44638d2b4cf6a5374b61cbd8479a7253994ddd8d42855ae1ab19a7607f521596a0bbe98370a74b81ad501dde7d5f721f7ea0641b1ee21a8b27764f7ff6c9854e46996d3edb5883ef7ec4bf2c289137ccfc10a5c1d950f186e8077a68c4b0701aee39a2489fa4840cc3aacf2556c372f6c717220e002f7e3909e96c710a2f43643fd681bb201a6d38fe64a4df069d7297750d78d75e4cb35bac575ae1028d47425a3a3907c5cc3532d07bca997fc072ac5a2201aa3d5df53d43d3ed2daad5d14d84fe978d919f74ae99823d0b791435df29a4d9875014c971d89ec6d3eba13d4efdb5c11b0eb4a637db3d1668fa2472cb45d378ab2ea6971f6189129e888d63cea7f25a4e7c9f410beb426ccb191372cd39a8060fffddec0fd770589d96a35c7615a2318b0bd9e5024d83e50029b00ee6ad152989672d0f20d337c43dedfdf0dd1c70cc123f2dce908ab5a5aad81f32750dd0bf7f306729cdda89a80d09dc588addc73e98240bb28cb53c675dfee7729445b1925f42f23026dcdfb91597b47a6a0729f9e150d5ceb0974c2e1ea71d0756323138253b23052b3707e9f10cdae994783334050841dd6044d4d6c4a018728568adb537c659c56c00517a7af4e24637acc000d176dfa3a59b328fee313572dd2d70e700536ecfb437654b35fe18c3f909ee6608144c8de0e99f8d5a58dc7213385453234f3843d969e7fccc12562baccd1a0165504820e5fd2e4ad47f233941e3af645461db7c92deaf3ea4fc6e00086bb53f7f84f9fa1fca8e2ba359a2724d11c527224db5246a3ef899d0aaf19bbdcf4dc11cfc7f017761f4ed6521bf729146d572b268539b36a8481c0832044126fd595e18e1c8343cf434e5c7a0ed726a2e3ca99907b0242e46403bab48cd1528ea3377484f4b326e3ca1fd3c0b2a72c2769562f9a803fd5aa902441057969c2eb136cad87adc3d5bc3e3f8f5ba4741c607d0cf99d20ac318dfa7e9ef317f71a08ead3aedc8a6ac11656818f248925dfcceabd6818d822526dc477a1b61d2fbaedb282358b7ed42a95b538aa1d99c697f5c71777e0a8b36ac9566ab61f97782c812a24203eb54275694c2a382acf27250f4fcf4aa7d0c203d0dc525c401b210355c6910fb754d67e758b4db8c30bd581d4e97f2fae1fccda1c6c70b3348c73a91f23e38015308692a775499a89acc72f0268be3c97d697d3c63aec5d716569bd7498a47e8ad322d0323ebb3a5ac1949f88718179c63aa75738bc51c0cf93034b6f08f087ad18a5ec635768143e273727d08a6c220fbc5e48e441ae80baa245927c6538a8558f88d04e6ebba615fcc72e0dd6e86b531c3cc7ca6dc974fbf1b6842a449ed1d0236080579d4ee35a48e2ce8e2791b7ebdc20eb32d1ce3ab211dded99da847c3885e33335cb631a5acc2722778d0364331751352d7e6a9f4f3ab4ade75a3abd37cd98fc25e581eb103e77236c51f2665c8a33290f9442602307ccd8d4a9e577b676ccf03fb84991e25e172f8759924d52ce7c9c81ff19d2062e90ac6456a237d0c6215a16a1cceef4fb4283d8786967475a2b76bff166e8ac41ca00f09bebd0f6ec7b90bac0bdd5fcb885979e6aae6b2f6f61c6b9eb8bf9689682660c65ef82e8ef945210b5c9a9a9b8c16a9994b53d054591c4ce6b8dbd81f2f6ff59dc86f46282666a0c7226de1813872d3d28823cd05c9657fe9f9f458daed3f4b1d4ae276916ac289e588132f752572cda91f56f6bd3db2865e4ea82d470f20330303f43d9cbd3ea1e6952b7a706e72eb931879cffcf3d541035b988aca6d2378381387e9539b9b9cf0392d6bef98728bf33f80d6fb2cf01f29a970a3abd7d6ae2166150f215e6d661da7c69004630fd26d95b911f1c35d1abb39005ca9f446af0b9112e6858e5b6c7dd643caa27550c20f6e9bf6c20ff6c7811fc1477491669c884c578dc89f77ed8733a56f01f672917b98fc7cc930fbdd592d39360054977a2a43be2d7d38a06b1a3d2afbfd20723e42f7c7318f2717c4021df6ee58ebb5ca3addd11501925391307d6371734a7228c28b948877b77c02b76877c81b23518463a6c00925e576575a7abc829b8772b6e4736169c4b78700f0e4423021d06d59bc9f0baaa5aaf77f3291673e36e972e16b1f5843e748066454534dd49fd1e4132adffb54c8f7b44cc7704ba470be72a6bedc8fc76702282c051503423373524f1dc541d51e41bc068bdafdd7f02b2e3eaea0b04b80e9503af5f4989988a02e77f2efe62f7e13d2bcec474cf68e12721532ad41907cd8674730d9fb19c6abbd79f1707dbd2af23b742267f1c1f33872bb4dd5ca4fdcd3644a55e33ceccd74a1bc48ddb2f2aac75b004f990c4aea816e13f29be23af4d42f67fc7ed26f3bde431f0d34e8ae552975a0cc81cc90c57772f2ac224db2394f99a2e9ac5dda77988e4ae08cf56bb5d174cbcef142388e107291eeabac93a61e649651bdb7d5d38b5d11219fa32bd6c2b12398134f3bcdc1729784e1030f6f118ba5a31947e69a490ae9da4eb5017651e487b4f95913c374720d7a41de2ea0827ec9684ca4d6dca0a62eda73c2fc8da7d75fa2256a6c889b72657857027142c02004a34f70f23ce8a21597eb62e4dbe9f7ff8ff9d06ab84f4944da820223c392522dffe9a1b70c3f0b26e9f838c4a3f54668bfdd8c470c277258a430cf48e539de862375348934d066506a7f5e4f772fc3d33bc886de984f7272b3edf79c9960b300e05fa3fd70d758c249a376872fd84e37b9a3975988277280f66a21b556e3fae5b66c57bb2d9f78d514d7ba957ca450692e9d8abc094372864fe330a32e7183040b69943fd1c08c2be8aed7854a7924788855236a0f8a4e1b71a2243a0dee1eac82bdafaab1b5272ec5ca9ae392924b4bdb62230457df72ab64650f001da444a6315d07c47c5e4334edba3f7117bef228242dd8813dff2cf8cdbafc177fcc5460cc4f1f8471a4519cf434205b50f472f609f667166536729706f91e88c5aab0ee9114cf8b1b506620bc6f12f6689a7a168f2219fa6fd27271683bbb6edf75367437050f3d4e07b6d908b03f171c1d1982840fca34b68e29b4eac6d116755735ebc0eccd8eccfd2599a97c8e04d50e93206af3d65e2d7b10d284c0642f25e21ec1cb1fd259cfea99488dea0a2fc2ad7356abc33d71933172ddcacc4e6f2f91d2b9dc27be0324bafb902693929a0ec541614af4f703e6e5431eac6c2de28ba32c2da09e64d209932cc3c4a1ac0e53b8a760c9c1c4588eff72cc780805aa8c89e125796d0396a80098db48bfdc66678244f628161f09028272069c930cdf7f3ce1cb4cf1fed0baba6b988bf45159e25e8497a8af674aae6772819c60503c0fdf26986dcabcb9e301d985d5fd217307b7288cab45fb9ed2c86eb11695f095f71584aee02a8a9bdb89b208da450e80cff876a445ae0c6e3fc17282fe2fbd969d23dc94f2124ccec5f0b3e7aac3816ec3ffffe448a3bffd404b6aa18491cceb34d41a1e26c5989c0b6598a10446437d12de44b75ab89eaddd1a72f707a9d8f0df733e2b2ff4bc22df0ee021180fe030e7d3df3dad99cbf58bfe01914a1671e39b245c9bde05f106b26a023d2bf29d962db00d9f62c20fbe0efa7286ef03e7658c6eca21e930d01816f7dc9ee7996399823df2309f892a4ebb5e13531c5476c2fa5acc6e1eabf20081b6cc1d1adb74901883e82d9e6b636e80c672c360db123b2376cdff36f851a492ff5639c6d6be5265a6dca6cf2c461691917249c316f0b6cb8283a82bd309b844046f5b636b7f8dc936e32ff112564a169f72f0d13766a18fea726d1167b23822e5895ec5d5256f2bbbf4a1eed5f5a92ff2723389e906964ccc753d19b01a806c76267c6bca3b3514d1c191205d3158c33e727fafe2adfede0453680d252a359adf7afbf1366cca877d44a14b6e2578334972709d97d5a9f30014fd1fdd52919a91f3c995a3bce504aa9e795c63e8d1793c51ab9f03be32eda1aa0ff622b7be68eb87049f52e5738c593cf5a8f5ed7a91fb4fec0cb033c3326ab394a11e8fd748932d7219312987ee2c33a9a414461fc2be549d826e8ed39ea325c288e06a1ecc9de09c59d0f2f4d884fd8e69fe1ae2fb90055dbd334f21c47af51d0284b008707653a3ce78a1631ff00ecfc271f1a50a0e726803b7b5fb6c810ee0575ac1903760cbf9d35944522c9d0ba74c5ef7566327712eb0dc063de17b6b4da753c45f2edba3c30ad54e7b0cae1cc86a3797ca747d53ead4a5832a57ae7c1e9bc3f53f18f92932a546a141736de66d93eb537631de31c330c6fed92fbe5d446c4317fe41514857695df0c006dd40ef9023bfdd750172e22ea5483a31747bf97cf05bfdeb463a97dd25c29098d92acb60705383405972bebc8f2b82b8f46ced4dcd2f6bb1756e2193f5045397e78a8107e0e79524c525f47f5a952a9297efaa25953a0d1e04b425c6ff39492f832af4e242daacf24638eefa8bd09da2737120521297376767b0991e9883018537d7fa8117a9dd2bed72a3787c7fbbc5c2457d7744f2403ce779b67e831c62d8d3a40bc3e7531dae3f72101eb4f6241961d85c1d1035d8fdf174cfb9e70cbc8a0d1815048561c1cce7729f91e0987314eb0c2e59b3d6b453317989578e50cd78585d3601e559afee1744ac2efebaab0252a3e9f58191233177741da58042bdfc195fb00201170a191a723fbcba534287671f6a413663f19e16042b961687cd9d3f7a76bfead3425fd4723611dc876981f11c82017ab25b77d2ee9977a74c0f531e000d1f2a8595ffc33e6b99cae75c9f62c77f81c9ab63a1baab54588978595c9fa20f149d2b8a583f7225893caaa94b9bcbe77e45487cbf41c8717a05ca9688c3b0116e9596c412ff48176cf0c84c29a19fdae334e07a17bcfe96c39ed7693979e44d25e0c2f690462610ac7b5be9d19c74a1e2b1c32de8c45bd6e1f79f04d120a575f88b7077f5a614ab578e761d23c145b17ee601ad56367afbf47a258338d05ca89d6ff4e6c69a729b7370567fa7ad7e5ecd3cbd250cca07d6c92d957a31e3299b778b9909aa0918e1eef66cd01b7b2756be5dd1deedd939c3277497b63d2937d034e5232760927213d97defc00d5fcd7763028ca169e5068c33c4c7671ce0cb0216b70162b6da21059343bc5bda2aae11e6c48655a942ca5d506a955eda5d06eb28d637914a761d25fb044a63e79f4f9d76f8b049197e319be28b04614172d7f59cc1cde1a76e72a6fca80ec8c65a510130070b9aa910f5b638243578e62185f0f2d7495dfd432f5bc3cd748ff143178a6f0d2bfe9f82d2db7a3c26618cf85de6e385a12276394892bb6ff97e924add35a24378746fd1d970c077ee567c4e2291f3e389dd028272aeed3ae8efc1cb4d04b14533b96136c6d2bedc6770ee279b4d2c004f001c67723ebc5a734d390d1cbed0fb9c6ffd8fbadfc8268f91f0910a6fa871eadd78567291a166a0a0fce14115a652f2fae1b5cb59cd6bb8b42399dc62b9c8233b8d2272d164bdb8cf6672bb6373083195485f6c87584c85094fdbfa08cf761188ba3372490d6e2bd823454c9d2157e8b1103f9d40a2651c7096bf07d55c05c9e4379572499c9b1fa330c2d9a7e115fcb37b067e3aae051e55f4649fefa48028b74c0a72c4aa30a0fe63cc91642861656b841019249e718dfbed0155cfa6f20a33727f7284f81aaba2aec26cfc39040ef1b944619e2cc69ef903bdfb307253beb0080772d1e3921997aab19a5d62f82db245842cdfa5ebc1cb8ec178a2317c909cfac672d42f8d085c309a857e325871e3a8935e907ee6bcafbf6acafa0eaec82b8b5d05d45c7afe9c53931428325de100e45b36bb7a37c2a11e34fce7e6e185d03a6172f6491d15f9c122aa4c30ed284d9f2a09fc92ce82bbafa7f6109849461f688450c0043bbadc1e8e057d6b93cf3ad0a14271c2a4a5c4100c64c85f3d4b21a0ca6ef512af8e41140e24483f48d50c9b615f8b42ad90f0fcfb39ea67cebbc19dec72df98721965bd054cd81eac6172bf60d93f20c2ab66c5170b5bfa06cd0bd76a714449c2a08a9aadc50abf182ec708dfc70b2a66c998bccae682d44cc16e9685624df9631aa0eee3c115ab41c56862c3c07e1d3349ab652c96183682386c9efc219db4d567558563fdf43d1d0df6669cfee3fede270d59525dcdeb9d9644a0e12dbfab9b08c5a73a481ce31f8bbd90a2172a583821756a7aa94ad67ffd5c8dcd72b8adaaaaf9754411ad35aeb4c72217d527f4f07b56dedeaba9de8c02270f017245c0daa474c4d4bd433ffc3931298f0fe1902c227105d4335a7ecabbe088c672643071854354e050a38472f677a5a431ea805140523f980b673b0c8529c23472749ff182e18fd59744f1d3de0802816915780dc7eb8d83ffc59434eff011dd720632b228804f9c63175b6a7cbc50c86bf2f2ba3943e8bd7969f48d8f46556e7296195c0acdff3349bcc4f46e9c7b5a37b1d3697186d96e8cc6cabcca215e2c72590cd90efec3cc08085bffb4fa28e30292abdc0868bdd54310207ad12d6b2f607651898067f0954c3e524ad97419546be9eb59db69cac189fb2394729f66f93b9db1ce7e83829771fdfd6b3ed1e34e920c3b9f5ed889c1ea2e326fb3ae7f6b7252301f80165cb8623ca430e62125b4e1ea49a72465850ad8ef060485f65c775f713c002bde073a88876cbec9e448c60bac962ca644b3feea25122dfad71e61729613a92b80b933a09d55cdc0d89649ebb1fe9c9f9ae95b8838806d0b005a332d26092f56167c824c5f21c4046077d86d523a11fb3e7fcbc10a8a319612237f727e4a3087aea46f805017192eeed86af3c327a36b56e9fbbb72719b8cb020003552aa855c3a8c68f41516d9fc0e3171a970a61babc2f0022fdf396b90e84ec00804d3e9781f01edf24fe02d5f5addcf30bf7ab54c624326349f1201400adb5a72f0429baa32394b1b134591d934827020e591fe066e9b3e42313594099f5868725496e94fa6966e52f0110cff9b88254c11a2f484c56fb6c37b4232ae1582810622750b063770162299f0ab7703b17bd2dfd00e1f1d25e2cbd74557828b8b1272c019727aaeb4b000a5ba0a12a778f0b7157fc32d971dc7da4de7efc59ea5c4729bdfcb2d96a6b5565570225e6c70e572983a1e61f85d1f7c34158b13aff9c85fa4e70023bd99c516068e319004504e8f2ccce5d8b86ecdd692f062cac5bdcb72924804668b24a8ab49cdcbcc8ac7d9820b3d589ec13d881688c3c92d0e04b3492adb6b5ef627a33614898e23885d7162ac6afa01f83a82a1be496cd9bd4fe6657f4fe5903c09ace12dc52d28ebaf365fc469fff69cdd4c395821a0df2ef87c7259d87a27378c3465bded40269cb39dbb099332bd4268057f36b884cb0a9a8a72b5ba73da416120fa1962a95f651a0094f1baca2c7a3324bc0f01620704c1224c6f2c57fae3889802407c023781c710d7a507ea540b01614bc16a36ef092b856171d74cacc2ace517f77001e293b27e1635d7995b44c617baf794cfc3ee96cf526b10b239599fa16018c9e4c4ae6c1ff869a78e078118addf30995d9d16e648727539854e2ae2b5ed14558ffa93c274a6ae8c3e7a07bfe11a04ff6a881ee796727c697edb4feab665943948fff0526eada2b591aeb3783616bd92b18ddea86f72634d1c6a0b5e18c4129b8ab21d5ca07bba96a9eeafec855525b3a8ad1f475a724f368c5c35ed2b3f20fd124a1252a08350141a085da2880e32b97265a6ab4b4cd06054889c401ea0be16fcb9b645a4a2e39805cda20912e6c61ae567438695725f101f33043cea06dbe8336b11ad465cc1617314086212b7dc4d51ac19b23109cb62606c3e0f2d23d493169cd5fd23d40686d02362efc46fba77610892f47d72b3a796355a5496717c9242187f656d8108e33ae205d6d5faad16586e71a7d2722bff02e591e171cdc0c05e0e584faffcc025a198d42c61d0b7a82f3398833d729200eecd56da1e1572ff5d86be275992500cc7a7b5fdd65c689bf789630ab37296242d3d3027607bfc677de63769ea4022f217e29716aedce17bf32648e4fb382684d500fb5f53ef446cfd7e53c9e5026ef1369d08d9f050a3a3e8bdb1405f72494b847cbde3e92ed6ac5b002f46589d0a919d4209118d8b0656d7d8248f0172bad43d92b2d650ba352f8beb8264f8da3b8a3cf9b6b98bcc49ed9c96d429b272340f5558188597a329d97493a24798345903bc0799a8270fd10206ea021ef51e7a2eebf996720ff4e170340ac9e831600e28259dbc5432e6a392be8751cc7272ba0f0436e0faad86acffac7817c6f950bf7808164b5897a8115634fbdae7aa727ee2ecbef81409b3bf528b35c81e5fb8ff21a29f1c3a3357d698a7b3359c2d0bd819708d9c9be4b3fe3cf68c70abbce2ec257e0a8222b5bb8b47e3ed5df2dc62d80c099207de022c161b0e780d67dc24201d5c0d87ecb0e5b5f24befe22c0572b93b9cdfe752a16e36019556f338f76fac137ae12e0c30e39902cc88913b652f94f90e7a85601712a792eed1c4a26e8a996d723d9c0e518c1e5e2a8fb2171c4e6f6109ebcb0f0246e1f8e02aaae72e4f32eb9f9919d98425abf37eaa34b9163f87b17d6ec6de7073a9a05fe9ad497a85ea845a013192c34c1d523f62f7243a723d740aa5d618ffdc00c816a3a4f1938c816c0fcc440bf4ba8ae4b26355db4f7225e728325d11636e16fd46c0ccc26d16cff2ad5a57aab14a25d836d15223cc728fabe40f1ecf6f5676054a8e96d0cfd6da481e91ff90b61348350507c3f1357208126750d19ff227ef445047652c9d32d99ac089dec7f69a9a48be41a8137b368e39dee49013ead8ba192753423e83d0868c01dfa66f5c871ca8a3f0c68fa7725335a4495cbcfd602cf71aface6b0de876902d894b84f4b3ef2f2df49ad9045b308aa373ba8a78c6c41882b78480ad82768df7d5c64c05c8b801ef653766d572c190c1d231df30444796ebba3edf39c24f709e2f77aa5e52cdcd22944d63c64304c87e2a9144b03f1d57a40d0f3a852f8ee39a85c13b01e9a2700f7fa5361317abdd13a6174b6979935eba7082d9e57f24ddd02d5936b6c82b60008d95aa5d724f4e5a5bd4d938345ccbfb8c070b455bfd22349a068634e34856c2fa97effb6da884ed56a1c335d533d7ef14658ade1e7a9b2e823ef33b3ac526f48cdf25465da962c879cd1f0e7a51df3121228700ca6a043a7edefdc378f0d0822fda22cb3df47062dee7216f6eee92a373767085bebae2a69f3eb48ed431c48e11edf2c00b6cb96dd967357e51c51c24e043d0669689765e24e673855b1d4abbc267d3aa72191d91cb3ac3ef7f0dc3b120a746786c10d3f8f7072888f5f9c99fc484d82572cc85c110e4cbbef9d0f1d369550004be03741ddba89b08704ae987d407e4e572bbdc274afeaf29e38cd999c35fe32f28857d0bb920c6399326a295ad1273c5728cfdafb908634f6fc2ef9979a3556c71797bc3718fdce66a2f3f903d99831572d09bbf879ca0c2601f8826f356416ffe088b0c90b3d7dc2bee8f1b3ef87f6320c56af987f22b88d9322af52d10f7934b2cd70638b3e94a8122be1a125000d26a01189903235ec574527c23ac4b2ead798e97c80278d8fae4acebe9c0821cd372c434b306a36492f9db131f674cb033384ef1d781700e81e691f75048e1ead64a6e315e4e445ff0815a5bb17dc1806fc230ea47f15fb545eb816734d1820ea97287cb3dfe223de126987757d6f3b3b0ab64c899bd0a28317a59dd09b97a562672e3cbdec5a44dcd19834c5634535c42cec5a2a66faf18e73b2a999702d71ed5725693259c2b5534678923bb54e971c16362110f4494c95ea975d5ee8a486d6d07211added758c6bd1f34f0f27a621f15472956d7a07f28cc65d408a103a373372565e3c0eea273ad3e0adb60272ffbb4482c55859f556a5cfec4b96a0ccdcfa725fdc32b382d9c05ac9ad9ef65914298d47ebd9e8e4134a83d27011232ae2da72cda9ae84f94cc48d129b24a7274ef29e9e8bf336958969a5b153256dcfc45c72967d88a123a9a1a212712919802b390b3a44ac4c226d41310a0fee933785967204933713ed9f086b6788b70761432be92ece44fdaaa131763709d780402e5f72848813e93a1e24affc4f22f6e3f56ec9fdbc1e5a2cc4669b3949ebbbde18ad723c7b249a834895e4ceb6ecc6858ceb873f4f290b328c13b74120a29d9639a97214100665f7c58c601e16d68ae5ead76a4d3321d142ec074fdd5e074f997d724cb81fbfd45f3f33fc18438c33f01afad42e1f30084c1ef6ca747156a3569bc8559d12bab804442d496864a62fd7c09838515a71033a02572946fc4eb81b43616978a24fec01547dd612bf61e91de55fdc20c7f363819d453251e7972022b3a958bd87c79ed8bfaa8b455686a7258acbf0356c19722fb784b4ee4220bb42c4aa726e1cce5746e168564eb4edff47382e59f27f16ef9bf316d506cdbbbab57f387265d7fae124629c7e4e38fede7427b46053bf079b8a4ae89152d99bc3c43b9737b2b83586a48eb6c0e54e6b0c961f6d3e0193a86aaffe36dbf80e4fd0b27a176f2300797d4cc0dd3ff882d79f4769a195f2e6f7768f6a1ce45ba7f3d2e6217544209d3a67a09cd48a170e6231bcc4cba581b0b18986342c333f8e73155decec72140f80d45c7755b744f4d2962918c6320222b42c3ba9eb316fb5818dc525ae2f4f1308455cb2dc5e509244cf0b9ce963cc2a67703fa437b6b553fe2c5377536c4040aeb831e824b82d92d52b3563cb761d731c6b7ed2069f1a0f33a9ba97612a8709070e6144af26bb035123a6d2c2e1934bff1b0a2603f3d4244f582187724b3ef7d6e2fb188dd7c5b537784d9359f4c1d5ab651d0d26bc6f0b9915e914f5629476833beb4e3f49be059d0cdbee021aaf8f638903e81e12d9dea0d6ad8da82cb507e46c86384ff1f42c1f249c69dce4fbe697d6c07d9f18e240d5b8cfec5c12302de16079f0dd582867886fe1b220f1ce4ee2c3f6f87b1be1b710c243dfff72028681886e2b6de3b7efe173780f996c5642996c3401c563a43186f5437330721eb03e6842ba72e69beeb61836b7802d45c528eb3be22bc75528029a467b9e72c39773132c54f6b7b7b79fde1e98d88129d5107842dc82ce0d96b235d9fdf96d510811927175d21dc3a8c7b1670b509e15098ae50da5a05be150c60242d3647265f64ae6793411cde3fd6ff9dc3f8ee60cd83ab35445074a6ce87628fbac74725b401254700cac0c3cc6a3d09158c3e922359db0067a2ea9531daa9d242d1672160690b68eba17d471ad37bab5f23bff11bf529a62870b2f2b4c89632e042116ba862621f7b7c1a5fd2f2d6c33815f19d7876cfe0db6f8ac394302f6a9e88a72b6afbf862d6d86e2beb602eaabb5424a6d81fee6d3ae4d9708fd00a437fa7f352adb95f5ccc241bca42f18c6002224eab40cfd8950b045015184c2243bc1d33eb1351863ab42ce371b177c030827b8294fc71d5713154d9a0d2848ab2ee487728f4fccd1f520af16dd0907d355757e856190affbbbf70b455f3d682c0cc47509f30560c546517e84905ebffd6b170f3c10d67ae5e0b5be339fc90287971305727d2b2b2ef5ca8189dae4c7eae5567b826eb010ba48ac5cae4709860dcfcbb672828525c1a71168d3a0bbd7b113f2cfdf6e7323507bcc8944989c2e42639f1372b6f36510df08f9694623846d3c95a40b0544e26d11ecda78356b9766255ec858f0c6a6a144282430bfde455b857a29befcb4a801a443a5eebedfc97950491d37d4724ff50891cd3bbb4a073e67507b6f4e0ff29ad0110d803a933c74beb1a570de51bb94a37277f04f62f4d10910583addb7698e021d32d00de304f853b83800ad231b14894eb5a22718c8086aeb103059efcc6db116014c612b67abb4d80f0b0111e37ce47f22a2086d7f3b4db293ac2ec88fa2e533c8f4ffcb99b554b08f72d7ae9d7f52c47627406089536ea21f4ebccac03a0f662c9dacab5a587aa9b17299e06d68a355797bc518fc3584bd80dc484b6c3d0febe9abc24020ec13999472440fd99005cf683c6e129184960379bb437326881cd35984c9b88c1700e3b67269ecb9a1e43737d6bcfb5f06c3e78ad1926e6ae09ec827600381e87e5dd90f7262005ee8e71b7c8f1cf69b9b6eacc8b2343aa427ba5ca7939143c77e005b98577e7304f217368db1c4e9af1b39743b5b6013290dc164d6a093a39f033bbc26729589e705a4f2bde7ac48a268d923edba69dcf9858403857826ed3e4931ebf96ce6c1e6b1129807a998beabc98fc24025a95fe5dbe45d77345e6bb7d13a847972c461675c4969e526742832170e8baf48366949ba911c020902f6c0ebefe4ee5960d93334905de9fa2b20f647edfb372942fe17a67f4443c6e1afc563fa53153f3592fe218eb95a745c61404ccd899ba2cfe8425edf528ea9994af443ddc5ca076e4f381a7515a0391390051bf7b1145f22ee38937837d8d03107029b5559b02de5395fcd1146ccfff8f1291f6956381bb8643ea2931c6804e4a81ad109650a7201a827902f46babff4f5c20a5e6eee4c071a40172d6a5ee36703663164a55548517a15d0f4cb4f8a901d1d6b074a38588771634a8fb1b3a6119a6d25ca129069d8f1338de4ef664ac938da6a3e94d86fabf939aaa3a2b952dc65a23b4b8b9c65d6614fcca44689b9efb1152bc46682f4b2f02a99d5aa8d0131cfd56e368de61d03bcb7272211cdefd12cc4e973e74085ad3b60d9f89f9b9283bbefa9ad35d972a5a518585a293861823b878d673e2f8eb27276a8c50e222a3c9df39d37f255306aaa8f06922b75a0da614db8dcff10bc0a6816902d3c6c7910cbd52e1569a04112d22b19f857e15191e53ccc1f6b0e7412d863daee96e5996333442709cf8c72e30dd30849333ed62859d133f886699eb99c588e47dee2a6fd968fa14eb35a7284b4f97d4ee9e34d38f8df0147a616ba6b13708b3e64da0dd218b75ef9887472399044303e414e46f9338abf84db3e51b0962bce5c8818920815701766e8fa72792f9f7a21f67167749e9bffa1eb8e698bc28a848016712da5049c03fc095c4a813ee14f1248067a3647df1064abb72a59e92b83c72bf31532174cffcb926935e56f8f11af446b85256a72d7fac55a2cb6f958a8a00d7f41aef5024cd5980372686bccf3edeea1ec21c3768ca718424a15b743314f10a8679584d20d464f6c34f89324e3e27d8958d8cf7c6f91f95708a33d2c96ad167d5a1512c51c159cca7202490ad89321e9390ada3c9ebad8df0e71ddd21510de02bdd2943bfe571e75727f2ef5e489fdb8b57a8aa95a29c1d607143134a0218c0ab07fd3649de0523b7274297ea78b44297551c33da48d91df14733022f2a5e1ddddbc229573d2e0a172324350d776c93ea3c7b4511c42b5bf7ff431571e4d04df73b3560639031b84723af43dfcec32a93d8e8ccea38533af17693435abbfcbd137486ad325203e0c72b3062ce686767bb537aec3f44068d461518b793e853f3355b432cfcf2cdbd472e9ca67c0c62e7973fe7545d66aa57e34512a2aa387f6df0525bc242a73854a00eb57a1f010992f4ad24bba627aeb1b427390ffa11305610abca17b80f4903d6d61ac89eca8489847fee4d10beacd278d3a17e453a15cef6210f40c3ac36080729f63650569e3b83160ec7f61949bd53043a1b7d87a6b4412966c0b7c45737535b5214bbf5af84c934090fed4e7e6615dd0ac025bc15621ef7cb79f7e07c37f53a43a624465f14c7b09b7b46a36db1fc93eb070b36c11c2f764333c8f47359c728b26567c9b78b588a1c5b8582b9508679e7cb66e7afbab81cdef2bbae192c84c07baba11c3c814b40f3e45e90e407a783859ac7612b38a46ea406872e99e5b62ca2e28a2d6e42d7e022a8d4086879701e6b387a092d926f0e94ef0406c8d8b05b5a8ce8ebdb9c3040f9bd9b0ab6cace1eb7b3cacfcbf8b3203106894b346617288df732f90c572f78e890a83c1438aa9e83607bf665dfb9d5dc9e5e79921e172b31823dda26c6cac8808327672cfd97347867ab2875a48c0521d7380e7e3c810667453f4f466300c80e93d11190dfd1d3905428cccdad852b87b4eca09856a7225b90d025b62c372b695d786870764b0b35da02cecb88523a1fe4f71ebbe9c2e7e6c5de7aae55c953d6c65317962cf88f05f70fe6b8aca7101d214a979fb667204d50b6e93841d3b23b4d3fdf61cb58ee7ca8bfacc53cd3ed915e93ba33bd070c23b56bb484400f0afe1a19932879290870dad6925cf5b325e3100deeff6bd729f3dae9a8d36d49c04a3d32c412f69a391acfc748c749430efe74f4d3e410f72018a8ceca7ae6f644fa17a8e1f1bbe8979fe3501d2905cd71ce4f6aedb66f12d71b70846761a9be0dee773ee6365337e2f52f89e60dea99a5f8249130089b9728268ee4081eaa647905c3610f9e458357abc236da7d7e4ceeecef683f39a0472649d06e8d1b2b23bf91bff67172c4be833aca7eff43e20026aa6078eaa5e742ee99c37dfef24cb50aa80b7c35d81e83ce5c3c4c9f84c0c21d7c99da03960e61b87ecc1ed16270fdf8fd03516d06d8650ad26ec50fa8fb5977f5ab89a4453ef56b5286215f8de14f849d73892577ff3a9e89b9c4e3f663d5ab791a9bc8232697253ca178e962608b117633730619be3cb062c662e01758c15d05212284cb015728b7f456fd1d2f83d2f83df1e64bbb43699610f9961096c0cc9b3e5baa52a7472a336d43b2fcdb461d2ed867565a9e4c797fb73790cc1081226f64c2cf18012723e552373f0101ba1b4887887701e5c1ba24328fa276a7b9229ee99537a73be3c70a14b0f06c2ac3e2ea2b5a3ec1141a47eb7b12fbc65209f06726351fc037047e7ebc0c5ed85396eb14fee626d217f1eb9bf3edb2874df467401e07a7db52424169886c756e157a2cf68d0f1c6a2f4ecf35b596a0c5cab660d95c9b236d59572066e22f607946bb6cb8361e9c077570c8ae76051e7237b9849758922e6beab72ccd0626cc99ac9bf2b82df938b7427c072f9fa254aaa423b38527d17aadb0c6c4687850a9761e84053dafd28371c45e3ce32aa5f9555b5c1db688cadc7da4872756bfb8616eac6e90a01df3303186bae77418b2f4ac20ea8a86b10f85d73975ed7bd2b0696071b153aaed4d11f1ab42ed63c7e5ffaee47fd09d19c40294bd855baa334f10021f46fa66fb9783ecb5616b282bc167fc33e9b1b5321b7711a9b72fc1d0bfb5c8ea5f239734810394094526ae5af54aa17a44ef7f44a581d8afa7240287d7144b35c846dbfba57c7c785a2dcc8b6194e574d7528d65adbb490b77222ca91b93f5a725723e071736ac33974f60b5dd1bd1d4158ce6a7a705513b272d9bcf67800069d3c067dfa8a91018fe4ad871f884a54ac0ace27974a22d9e7586776e8aed2b0ab08ad1afd4c14dbbc65b3cb2bea86a120ed29c82ef60ff1eb6e502c675199f246ae80b422ad5be787ea5d35d83dad000ae8b7451b12e59fb368ccc6c34ed7d017d785a88c24595418eda1d66cf38fab61030bca60b2d4185372f2a0accfdd3a7b29500c0be907a80ee79dfc766c94b417b377c6c65cce19f4721d4f8197ac82696015ba04fab5d84c3737ba41b3568642315d4636c6d714fe72c04f2b010a367cacf319bb9f5670074b71620f5ac0c57ad26144ab89a0e5e572bb20bc717bd0c05a0c6bc2b343300cdc8c26c427349193c4b0e713126e68f54feb9827c5124f93fe9d923c76ed7b927997619d54ec65dc05b496093776278572adc57b6b543dd754131108d1465b5bd9bf3362a587d2e15bb1bf5e301b75be72a670df22adc71c24bbf158103f7c063166b7d869031cf9431cd231d15e58657246279706398d1c19a90ffb00f6f40c6fbca1252802c94206b7f8f22ee401610692b709100fc0fe13403339518f0ee1eb75cf8ba1c3318e54efd2ab8774f14a65fbf8d95aecef50816a1a62975e544c79355a8d09e1d4951c412fbc88b2cd6072ea2220e14566e73dec22a7aaf51b2753c2b5a812d2cf28c39e78279a13c7b27268b51cb678987ca3151310301b01d477d0d85f31beb177c67e2c3a42e5488d72fe946091db9a47176fdaed5183d93188df6d90fd2b186d9c8369a40faea62172eca61f2d8063f3348ea3909dbc5e29f41c4854130e790fbe87747d0f1fec7a72ba98ac257773e69ace8ce649562fb75eeaaa696e5387225d15c54c9adbdac807a90adf8bcbfa688c8042974c86dfcee606125c38a782becc976e2e15f1c59b725e8d1243008ef575d57c838511e34b38c5b573a9d24c8f228fd26715aedb0f4eb3ab5040cc7ec59e23e6d8a3e27ccd8416d067dde0d1d8ad0fa0ff43f24a177227aa8fc11ad98b85f2f1935ef15a8202954238ae0939452d543bdbfae970b727e1131e5c6293d54ee12f6082540ef8610c6502714e47bb759e3dce0337e44c7288dd0737ac2e1905e9cd349c79d21c3998d3c2dc9a214c63454dee69e1764772c1880c0b6caa495941a8de0e33189475dd0007f1785e3224b1621f434420e572a964d3142ee72e1d7c79b70b78508d18623601eca284b945696e8abb22eb5526b18014ae31de321ef3aaf5b559dd6b6324339911bddfd64d488978bf51880439f971e8684b7c6fc60a24279055087a300c748dec57cceeeae897b6adc3f45e72eb15e2714ce5437c7cb5a9b66416e70ebfed9aec828227dfeb6335bba8eddb4aa374180385851b9dd1dd6e3c64b5c174c973142be1c79d0abaef75afaf275172657f69f886c6c85bc171eb8901213c865de05bfcc403b8ab48b184540346006aad51c06d6e9ac06995fb11304c35a59c34ace7a1b70d5146dded899309696772d21b05dc0faeb86bb293c8a9fec5a1120a54f6ac9c7cebc371d526cae2e157722886744c191a3782ebfdc396eda6338266f3b36c0132901298f0ccba5e8d0f6d0a71e01b8a573a71712e8db5666897b04cc7ceb502b03e673533f26649bc7272c9fb825da1af6a0f66c43c73cd3ad89dfa0fda0fb732d74812954279ec06b4729fee0155a840de9f029655b8ff339ca1f78135c8be1847e2d9e98c0e2661277243eb292f525809a7b93fc1f6bdfe8db02688fe99507703475bf8a10df9654431b96466dedae4532c6511152f257e43f04feb0b5ede3a1a758ee1ba8fa86a9b727505bf42fac6dc4c4ea9c17fc809f4c3456fd276c7da6b32532fc249e66d927293ae89acffd99e5a465be7d12832b25591f0629007509244ded626a0f31e553915d499871c37907d074790d1f84a2638afbbe7bf8f4a3aad5c11caa2603aaa72e3432f7029ccabc9c177a721086b9a2e1f44b8fc25bbb68af1d1d85d2980d8723bf2a7cd88fc39c9d3a782b6776878ad88b39e6a711b456a9c9dcedf6cb9521d1cf92e652b4701248b4ebd6e7cb5afeaeba8da6832769ed5d4428e2853cff27290ee493c1de3d7d44ef08e3f66fd023fc1e5769a45992264773302618c12c73374634b807b526b73683031960610b5ecfd6bba816f25943efd9745ebb18e9f7248bd73e065f65dd2766b37410736f072c5325dd5784c764ce4af9190e3e9bc48d70da73537e694ead101522e3ea7c1872ffa5ff1b9829e9129758b46b677251844fc301fb93898cf70018a71affc1375fcd92d7c81ca99c2282d801c15b8381443af6b2f5633616da4222ff707b789a8a2d6f5ea5b5cc934afb3d143c2c1c115eb23989ddefc575c03138194edd049460eff765bfcd2e8055663fcdb73c1b45d9cbe6897847c964c91ec8047cbd206c560e419eaee625b82dee8cf3db8b2c272cd1cc1dfe9264eaf344114bfbba15c7d808f143e75f738334702495280dd5f725148561174696ffc8e6861d4f6ac6a9d59c43596abe6b884680803d2df6344721f7bdd0dd0b05d9135312272eee5dacf55e634f2d68409e956da751c980b58139fbbc56d6caec51848c2ba3a06bfe27d478ab9294f871261756086b029e8871dee34d746f30dd27255d842564af68e86bab7597a8090ec09adbcc29052fce07241a7166ea2021adfce872b1ba4f139d73fe9b63fcf81cadc72b32f3af024b5729d28359b7954456f95320bbc8b70d103669e49d33d512a841a3b0151087a37727d37c1ec8db096659b3b974b4c06f3dccd3f7ae1a61541e46d6c6b5d8854ec72c998e81ac7b5e6561c22ca9b1df0bfaa32070457481f19590084cc209c635c72b49cc21b7fd05dd78fc4578a051c19ee2532be14f26693b059db41f0d6d5f16083cf70f71a24bae55394d3aa07b0697e86d88d52e2201c6a2bda53376196160d34af08c36c3e09bfe5a820a2b008f3b463c0d14719754c91c0e1f0f0db1e99724c706a6870422599bdb3be69cf5dbaaff74ab1934618eb9b7cfc2d4e13a2432018a6ebe10c863c73ccc7e1283dad681d711d947e9e61a77dfe7ccb27708b4672d50c9d2a29287e880eca4538cbf2e046500e1fc5b29e7d98e60685e3ceeacc362c249338df0cd46b440c8623ca51f6ceccd0d65a368f675539e4994eea9e68728d35bf665337bc36762986b73e4d1d989c918dade8937f9707fa799c2f4e58724d2a059cebf5095f9888f61ab8b86bb0961bce36299e81bcf40cf15fd30a10726ef67825398dfe6cf702cdbfe997c6e017e1973d0f2e80051ec45c9a982c1c729df803935d2ced7ff60f220b5cb26e7bde68e4fc3b21b76a099e4e217b3f1872aa374eb5f0209b9a38437df664618a7db900b57d997626fa0f55f884f9dd1172c30f7d352f459eb7ee96194bf326df1e2de13e35f0a398fc07596fe522ecb072693d9992f30c66346ad7d74937be333040ced95475be35381462f34d97064b724dd8a11d2651e9fc5745aeeafb7e0d827eebc3bb68d199e3a445e6e66e2c5772c4042d46705d0a4c090bdf5e164d4a6b63d71e92d33b86455209b6309c1b4d1380f17f31b555144eef34e61b72d11c101d27ab0bcd04a7f47b22f039faa921725c876a60f3d1404f6d7715835f6133a9e03d0e7f0e49a0a49f9325bcda3cea17eeb3d12c5d3849ae45f71518ea8ab14066b926b8767f92ff507a53d58013891cfb969282f689bd54ed54d06ce29f7b0025f551ae777c95200cb22768dfef39721179d52e6d92dd86f218cd80df7dbe6d711def5a0b64f74a523742aa6dab91726e63c1d7c8be8835149b98419b5b7984189bc4776a9c6fd3307277bc8cefd0726ab95d86e5cb7905dd5b5b1abe0e10975cc8f0bd0258b86c05b7be400289c972b7e71c3e56342b1a222f6e68497268c8352ac33c589b9fa0bf34f58d10f708729224cfe0b5a0d39901681df122d5071554f8e91f714f92ab642552adcf937872aad0d5824c990f76e3117ac8a5ee6f88cf6c3956185c22da328eac8e39c37172ab81952e023bae173f2977073c01ac0e520f999141abe0d9c52b59be39f29b72b82599019855533d6ad8ce81e38d942210229fe27f2ae4393f4d67053416095715c18b93f99660c8a5efd28d8e6ff2098e3a9889b3217a556f626bb11682cc059f190a56d66a7f938b4a003592ce6560438e3a17d051251a523491a06a15ee722eb0ed6a22bfc34505b3a32458c4093e99b2fceafe1937c89fba340eed15572b9a5e1802346b2d9463bc81092f0ca194eb4bb1ca32760347b6102758fce7d655808b520b097d0bfb6ba20074e3c53b9febf7268c707724cb889993c81bd3035fb88aa5584f4cd08b51d38af9568d1e7b7a14683b5c27199098c0dc903668c41621a6dd8c1b27d5e0ad41e88c16e3777043436f6af889eca73970c82ec17a5072839be0231effa326d0a8dcf1664396e9acbe4fa9e76cf51f3c35758f38f27937a84020062270cd1e7518a40e2eb2032172d816fb55fde98ea1cda63172f54706d629f6f6a8b299ea9b127abe224a7f6599c93d6e745fa6149fb2d83156c90864794b1cb8f891d1a4b70df8128ef52c7dee4f9d1993578f88a8b673a507aaa77286264c3dba35eb531a40d2c49507fa65706bdef23a5aba23cb91e3aea5faf372a486cce307ea4148d5b4c010d58e0184b3c5463b1ccb71067e278ab5429b80563140eb59f86701f07d6ce2d6fb3efdc392eed5d5440aaa5d975aae526618290d6af8ef2e10ba11b0d65686f2f0866c1473481e84bb8a06c396cfd02b3d2ff37229aab21d2c3a5591b16c4a0350838ac3f1b98f586e993fdba799428b92a2f24f527f6958d922752f23b62704bae5190add8ad91dc43412a63a841d987bbd9a72cc1f7f41104405469ef2c95e5a9bfa0ff54085efea82d84b3e12ea03f20236118a97785f2a6ce23fb2261bae96683c6a82c291d5947d3c951cd72d75a2b5767281412494440c5a6b16876ad06292f06ab8e2be7100610dcfd6e82eee653ae76980863e3a64ebd8cf134b05f1cb0b5fd2177b516e1162e736ddafde91cf461b72bf26d0ae12928f5b379dba2feb622445083fa7114054422d6ac00bf1bb4f27726e1bc83f45fa16e5b191ca448677a1e7fce023d073fd53dd1b311b9c17729c7228ff896785819b3ce5d4248d9cc16cbbe232419bdea0d81b46181fdbfeefcb36b33f9f11ff5bbf926fa4195aafb0e7d09b1665686311427e98b0c65a4b10c4727801da694dde5d7f9b3d20f83f1e5fd2e732dfff3ec088590e2e6c6c84659c72c5319f1ad23f5c3efc7d0fb56bf0be1302b0a1cd7a172f3eb93ef39f75ea835335a6d2787d73c52e2924181445508418e27cfed782636ec3fcbfd436cc0b1372bf2b9ac919a24cf9ad4e5ec6e994d8dd12aace1a179856a79cc6612632d8f27227c35097d9076994d6135c2c0b96977c911195f35640eb08aed2f271eb9bfb2d9db7147e9cd6bdff3213791fccb91692d36f3755643677a25d15a5cfbf1ee9238cc6d4b046832b6de1ec68fe1a5932a71030bb07e91137e93f36d994b0a98c72ab7b843f8aa6fc0d29a0ed7fcb4e97f8393cd7d05537b05f684672be26f992720c45a87e69cf57fb56f0b8a10d1c1cc562a766e126dc6f2bec59dc8094e4e4151641f866594b161f450a5524e1e89d8fbfac54091d768de6bfce383025efc372b2d3ccbd80934a359a1202d918c66b2cf81be3216a0da569d518cea8c45af7725922c1922a5935a1d77f0e654fc0d24e75337a03bdbd25958dd45ba146cf4d118bcb11bdd4506810d37d28b8cdca26a05859412b1daf7933277ea6f8beb2ea7294fb1119988459c30e2a8f99cdd94ca238194ab8121e5ecc0196c2336774ad191505d9b3726ffacb01a0a6a47ba5be2c6aefcad38b9cf3e4b9322b08efbf73728bb09c19c62c8f69bae31d3c4af3302972b518e74678516d6d0b4ba65ebfb317c5d9a27409573d821e954db86390bcc512055734b739565a4fefcf02a8b149723dd6f52af7267520ee4f5991d98811a7d1e420d3ceb5135a7c4c3865b1b626726211a6ab97efd8926ed9281d6179bd2a6b245eb5e0e57723c9f87834fe4efa72eb3189d8cdbf09f6169068b86b6ef7917c5969d6a6beda7276660fd0156a4d272653055345f2557fa4b44957414abdab8dd56acca2f87cfe6614028de104741dd90219625e4b58f3b91759f80381855c6ccc6e8be9a8da214dfa76389bf7bf7212424bc8ef74853c62eec6600be191a059375b8fd038e82fad260a725f8e4d725394e00d35cee3e12bb6b83c4f0f8520419e6276aff300d56985b8f6bf77ad7200f45c389413aa36e1b42909edc3caeaa29c70ea6c57c8c4c5239ceff1799862862cc56f7d9aa5724c54278f49a9cc6fb0a7e7ebeebac8e72219718bb0617e08b12d8b8bb7b0690377f72798a95a32d0208374e205d2f430eb17417d57403b70eeb1cbfcf806110c5c157ddff86d46b0391e3c2868ee470e1e47549d02dad772df1534bfb83d48a30e859bd78cc436b12b9f479fcf6368bc85a30b4a0dd310727d6313e733de84998bdd2a20e8b344f7cca1ccf8eb5953bd45c7957e202c18725ccd14a4eed4275d443fc56b0cb2c1f58f66865b462c7294c8b76f2c6a3ce77245d5b9f218635843fff9047364bc4365dc7fa162ab46a63035128a1d043af1537b20404d12d8772851c84aa330e9f8a3b7b83de50c12dc776d564a3d9cc0ce72496edad59f4560d26ead98db159d974e174ea334a64901eeca3933b25ca179728feec09b53d4e1819f3b5017eb832fc3009eb52c9dba2277d925c27281636b7272041e11285560ca16b535a06d49b301351c1b4aabbf2f7420d4f86fe0e6c27281633f7a12ea043d0883464bc9ea6c65e674bed77a54f3d21539b7b0a3121a175215931ebc1d5831797ac80dc12f473566572526309744e5746d06def608e872733c5c0e902cdd4947d4611cb6e59a3fc64ba1502155f047f66ae246f61283727fc18f50aa8ec4a00a230423f2ff31afa72fcca7d4f483ba5257eb33b5ea36720919f8128d9cb82a20cdb0b1cf18abf076519ec643b38a6b615d652fd67efe64158778a3e3322ec7df17ddf76a9eeca0312d945c77b3164fc713c209c2bb1b723790cc0ca87ceae3012ee4c76c75c03d6520fda04d69d79b220f39d9f4e6a8724c962e5d48c416e661a9876cac31ab17e4bdb291960828f63e0d4c0f9d7762236ab43859ec9b4892819521a8b9fae040df2ecbc0c53e97afc6b730aaa2c2d17218a1db88353860f09fc12265b94d5dff6ac21efc205bb9cf06c6066a578f99724e75eb867319a3a44869e508a923916f9a6d5597452ca222d3e8c518d6a6e172056ca654a6014be366b36c91c464b513997a20a13d5f9a92c53b6f82f6de85728aacd0a8a60112b1f3feb094cdf3bfeaed6a83bb1af2eb8ac8c43cffa6afbe043ddabbe927b2f33d04bc07e3d80f91a5cf98c40985b267553d2d7ca3f52b9272d1794548072633b49f2243eef5044e1b00fd7f3943a161ae1aa55e3e080ff144eb57c4f8d6afa2917ff4afaa839304c0bb3d34d7ff57d47fc74410f3897e371eaf7e4de78d33e25ed7b15e7e8b0c991393cd271836d214c6b652b79effc47430fd598738231e2ed3729df4277d4f558bff49ba61fe4c107581c5cf41a3ad274de43af3dedf75ad76cdea4ca0b20bdf38860d918ae6c5d197026987b58365f672f004485f2ccbc59e6965ec11fd05d619fdb3e5e93ac1ec1194d45a614fcb63729019b4a0868ae2d30ac91209ffd8b9e8e2750842fe06ec9e036148140e903b72e8bcaaa1975d7ac494a5ddf1e2580602aa2bc12db55f212aa59ccce130069f72044c2869dfdb0e529bf01086807036e59adf7d5ca0bfabe9036f6da8c2214d2fee4887e2b6b01562d70e03dca24b3679f23047f1d2e6530239acf6bd686bc33f63524f7724f9b54680eb7a27de9938273a80d3ed87741f4207780ace6fee7d72c0f05ce098ceb497ecd4488af2b3f538c4dbe8e249331c06e244048625f05d47a0c2eb9ce76307495b32eed777adf398cce206a2e20062b0092c15c8c0ede672489fedbefa7049765d07c376f3ab1cb3a26b9840a3c250a0d47ae71a5273c972501d44cbf47a47ae657ff01095a9de2b04ae88b942629b40df849a5ad336780b08275bc210a0f2536d77dc7bde03acaab69dd5f4c70fde234311f45bf1fd7472a0150db03ce65a95243716757b5c510dd1005c1846fc615119bfc9636ba99543828bf0335f646f82ec60d8f53a21b827f4bb574a99875ecb05c5f00959980c0b2e627b82cfbada8b833e4345702d190e4eedbec4d211f7a28a9f637b17e36f39c4e1857b00180d14c068d31b619b6afb7305ea2f0af90692b120d166eeb9465e9fe1af21eb21a3ed7f3b9018e6ff6c4a991ca493cd7fd466672a1abd36b1da725cfa2ebf6335eb08febe09c17ea812e1468117457771233a7f30c629545992728a2d4a3ab51bbf6b2f5243b7a25bbbc92dc2d1970d95648854a5938511505172ba3a1b9ced94c703421b0766a0b6e4d1605ce406a39631aeba3b09f12e29a07222279dd6431ecb5852a6eb67ba01259210155b6696d027f15d728870aa02d927fcf64e8b7b7fe681fc5e286818b54ea216c9b85846c9548ac77b13e063d20c722481f351318216058d361d405f0ad3c40f7911a19199df44c88383ab8e009b72638cc4f4c078b9a1eedf74892fda303afcedd0353e01d19c8c7b442e5d985f19da673a62191290b408467e8f53329a8aaea4c83e3ef71ae9e45ed08c460374723cb4f63095609fd6db47a15343d8096f4eabbc31ffefff25988d007aa0666244b159e35042dd2b5b1aedc54b90172a02d337beaaa99890135f71bb26827685722b60d4e9b9c6885d3c10cc682e4858c7dd89968b4cf6a6ff7d8c719df4bd897297201272cb7fd87a2f13d69c826e831a625e2b9f4369ef1e34928adb46d11f724d05a76baf235b4cfb4d41ed7943d19ee60f6aaf549e0cb73b6ae03e1205880c584ebd1406a71f6e39f876babee95d3697a6e7704326bfcd0a4dd3a85cb2df335d66a9d6ae44925c72b0f49ca2ffd96fd3d9334d907b69b4d7970a2aead8a03ac11897d9f7ccdea94fc5a9c961351bf45a1c5f4076e97248bd3320b9997a7a3202754fc52df31ae2ba6bd2d5456939fc14c0c08ed2f8d77b0475d20a95be9c72d0afb2a5bd998e43339c09fc3bbb4b4b5318d09dac81adf8f48e47aef8b85f617676a08ee56ee4a27527131355a1c590a8841ed49ba60363cfddab9466770e2160f781c6788ceafad43bc988613508850486e76741f2367545af399205eece7261955e5353fd539abe155a9d111e3642d0b0ee076aaa7daa7a94bb4bb26ec14e4329b6fd03ec53e08a775f4d776abcd9253b100cf584d337ffc802fac12d1e72c387e507015eae206947e431ad536fca363df410904d2311a7333c6fadd1ee72aa47f46211ff32378fecd205199546f99b49e048cd9931c4cd6114f37771c80983783884407bdc8bdc91c6340f2c28f2729249525b649ec3cc1d49e42a3102102d30a7d5b9be0599b0d66bdbdc6b546eb5d7fa9ed56fe187952664647d04863568cabcc796d8e9642652298dd0b22ea7fa0264f96bec4a68de28c86b76a7e472ceef0ab3ff2949672377820f0412e08d98f8f45db3176fd3f19cd00d78fb6542a21ae6427bf51f3b2b656e719a0c31d39c0d4553581f2632c5d40336e3e37672e7a76c39aff2c6f879651dd419562ebbaf0a84e9bf7cbb95bb9ec4d45ca4f66644bd4a11965c3d674ffd1706a9a14b9c4e27ba4f9266edf39aef81fda759f9725da404b76fe6e3d51ea09623acb48cfef00e7c0ccf3117073aaee3aa2edf2272c4f75c606f4ebaa002c2ca7ada1450af7707416d2f30279b1f0672f3b1fa324068df1dd434cbe9c5d29665ae790a0824ae0b385d15741e6587aced07d2c37b72af8d8270e214791aa2c866223d1be62507fbda7e3a78f3878fbce378c68e5a72980571fbf4be6a2a895819e6256981a97fff243399afa73d1190886e72f08910d622e8b231feacc9eee12a7e30fa0117cbcf3e5922520371a9f348d67018d372b12eafde0b8a9e43cb41cfe6b92a70b56264b144ae3685cda90851409365ba4493355cc9d709e4a60978c8fdafe31e67d65bba9228c9e1a9598c995ec04cdf722e00d2c6af0f550134fb843d7086cf759f39b0957d3573807c55addaf9f77262eab185323c2299cb5a645511717caa1323e8058a53756ed38b443c4e1d02067228efc1f54210fc7d1e5f5c3b46ac224acc3ea3a3a9c9eae395e2a5ef7b275172c232ed33ce395745b89b5732e8e2412912276af51e7a1bdb14f60d2d20e1167292cbd51236d8455e2d3a3af09a06108b01d951916c8c2ab3f3cbec5995cfb272fa1ab13597fe475d9c63eb851c43a57bf3a00c17dccdb7775cb45224bf83ce1902335c4db424cf091944d77e432a8979f727bddb80b043ce34e2149b9d88c4317f78a630496ea438d3c9c202d86ec09a4325d19beca14dc47d663a707ff0b531518be9d78b3ca672b9eb877dd230c72d7f682135ee27bb2f1d4dd40343c1f06e6a16962abec6ec056fcd382a59a0ae63ba70c5d24b4c0ea80287df0f3d6005728e64dc49fcbb0d1f2f5d72e73367b80940654088f742d355a4ab8296f2afb43e40f473f851098e7159f2dd8bc84ddb01019a3e7d5e0c06020aad2266b0808f4c4d113a3e2601474635f10b620166ffbce8dae98639871f05cb0ce167b256e27225fee4b4648e08b80652d2551574b4b31fee70be3a28d2107593a3d976694a22d45e3a2700c14f791ae02926ca38487326742948651d78a1b6833d10b75faf72f083c6b6a4c73a222d36819e3bc7f3a3b87c11c1a4d257f343a2f7dae923be0bfd960d790e4fc06cce63839948ebf3392b20ea8e9619581a89fc190b4baf8d46137eed677d675826d5efa5d42a831bffa8707d16c1ecb24a984d4d96b729c572059c4237b2253586ba04888ef0d159530335e6b57b279c01cb9135741ce59a53ff3bdd9f1a93924df7f471293d28ec0d8f53c1c2c5fbbd2dd991961b4bdaf172bb2086e19c0cf3fb206e57e7aab1d4f5f01b21549019ea90796f2be2aef6d442bc407a72090df2797eb540799c018991596541c39179a9b0161e21b73363761854951097f1e1ca1c26ec9c6c3c0832fd0d2fce1dd9ac1b447ed8b1eda972a3117d358ff0d18abc76b1a54e27dc7c48258f620b1bb9394525a48e5376dfd9ce72490c8068abf79afa5df89afa66049b9643318337d967484f1389f2f683d0d6723e143e7a12b9aa08fa59cabb2b84ec29905f63bdd6ef97309a81b775f8ac2a720877dec6febbbcfece3ee5c2e6fbda53a3af96015c9f13dd3ae3cd46418157720b73828850514de17e4d99631a96cd6a6a0b273cef07c565b4554d17dd298972e207c90e92aed1a33e5fd44c19def847ffd2ef57165a6f457e8730c0b0720511fc83323e7e075e13eec250d901ebb06c059c383db365811c09f3fd0f48cee30240369db5a5948833a0ee0b14f303b74518e08431e2c5612a198644e4126f4d72b47e30d9ebfd7f284a46da6a3cd0b1e851a66d7ac56a4cd6d9244ea788a891724bd5e8f8ede0b9e9abd58af2e140cb6a200febd4b8aed7f84f17c3ad0eeaf6723eb47dbe98efcfbce01f06bc76983367cd83c9e4294e114ce5074514ddc45972e7cc7768d8f57a1b54ed3fa7f227d64af50204ad75fc637d74344c7bdbf3417206612762c3489216dabd4ca2174333b636b5fc4ed28f9bd4f190656cffb27272b3c1ee5c86698bd5d14f2aba746e52b926ee86791cfefcae1c794b5113c624648d66c5c3eec1850cce3314d46a0a79be500db437d86dbe2e8937f38c23c35c721b5b409c1588dbc738364d8d1ed417119468d5a1bb194ee6eda2caf5517a6d7206528c0d79268b921678b4b2cbef30f615871c1e381c52e476afbac930180b72dfcfc3db5b2765a0044d47da3c914237ec2d97d3b0bbc24e032788896e09763e029a21f65e5a0d9b15f60864137066fbb7e3370e0bb06c181cb62b1b37350a7207f5a898f0fcec0115d9b83cff6468e615e84e076360673051d690d6918baf72683e2c1882f76715426ac65c052f746c41d14acfc0eb31a1e01052a6e076d372fc8ed290bc3e44525fdac372bab12abef8f5dd7d2a542499cc23585a9902e572af2117dbd1235fdb1715c27f664b57d7b2c41f7850d6fdcb72d91e87e9dfd1724361e32d4edfd8502d1f1711c5e36a8b55364028a1ce797cb532614380596a7237b9a6cf01e31be158a9c6972185236903891fa515c21a88275c3cb5e05ec63c2d30c8fb9d0e9a6604440f5554024a0ad37325cc55ef782856983101fe3cca19b11f8639e4ef1193ffe8ab20fae8167da61c47040a116f081471dc63124e2e7221c95dcfdb9d8ddcc52d96033bc6075d1b6e8f3ebb7353d3b0ed59140b611d721739391715cb6bd0aa0813ea70d2deb9b7330ca77c47c5f115dc8c561761d9724c17af3308c1533d2f6400646b6488cde0330c4248a97229d6a9a202f445c83ea90b2f1858d9a1d3fd7d9e12cd53ecb685b5423474d46870acfd772b0a4fcd725b711c64b2ca2c4b6deb7c78808a79c22676749b214c068291cc4904f3a61c72c540c361d7d732332bb53ede719f07ba3b47aa6b9e79a629d8503d01a3a88372029643cc212752be7cb90fbab2eaa422e1ddafd93c1c4d85b7be17614d167e72aa00ffc254bb6238d712126114e8cbd5c83507c8d9b7b5f1cf924301b7beab7251c8ce8870c476c0b7a2f270308eb87c4472795be529da61edf9a2e07365a8729721f05046e841727465b717bfd51cd036222b97cff8a7d7e3dba6523fd50e53f04ce7ced37668e12eb3b21f4f38f373c1d1fecc2e6df36f1b53e6c0dceeab723b993c2bfd6e0355836f215703556edf9aa9314a87d397d893ade18d33738e72e2fdbd48b6055d310edfc51ba47a4e55c0e8acec04163a73522902de373daa72c8ee03200ec2afef92d45ee16a8ce44108481f4a0ad91349df4b7ba71350ee72ed92c505f493962e9999751df24bd1fcbf4768d1f35e075061dfce91e2bcd072be45f8a97e53adfb19d15f595be2acafc28424fb8e2121cde6a1bf145809607239b507a69ef295c2d55124e992bc23dc4f0f19cee1c69e19b43ed4f83e6575728dbb535c7521369cc3a3f6a53224907d36a2ed553c1912c44ed9c34a727fee72c23f977208008409f9fa158b21ca870a341e9c5dfcedb0c432a51e79c55df072ff6acc0da7e580bfb4d715479348e52016386203e54f891b2e71abeb160c505589a93bf6df21b847475c89ee8bbe38f290666e032eae2baad646b706b580c20896f7c31e24f3fb0f0b81086a872aaccf1f26925af9dc212c7a10dc99f6478572c4c304ab99f4461c6b119cc42746351ad6c19c21ebe719446073d33613ad0d72d8a5ace4644d9d3b071f1986d3ab84c917fbbbdc809aff3c0c577ba09b6c88728842198168cb7a2c2d275f61693e249230dde2d13199132995bb45db2fd3021b7e2cb6bff817681b4a474e02528f74c5e8fe850a91df113c140e8957cf42c3512e2dc16023e2f3e9b9f8295cb8ebd86e75bbbcd1332b65a5d85cb7aa4f1f70604e32fae669f6c1e182acbdbec9c636b9d8e1fcdbc69e56ad14fb680483227f72ac2c065c01ecadf1dffd2209c9f2f4ca657b595d0f6c51678efe7469a6b35a72303d85cc8510417a97395cfb453edc965b13d21f18724fa220d18f33f7549172e4ef2d3ef6618ef0c0c7f9cb9cde877606870ce0daa1bde9c66cb2f26154bb17d230bde7b19c8a89b7cb2e7b1c9b5f9a86d66c2035c8d6f6294ab13e1c22d76b602a69bcdc8d268cb40ffd57d2d888ea427d75cee97dfb867e32b1ed47989c0068bf82cf116204f1ac9f8c73bffe36208100bb65aa1f89050d4abcecfb6c3c7283ab178f2c25513b5e008c3ba67ccab6802f8d13dfb2a04733ce9e2980b8983a9ef99165563af696fd37fea1fe6a30af5da82b8c34cbb9673c4fa3287fc55f5e0140e7d46c428fef3664a9e83667281c249d849f4640685558c827a1881a3f13d3fbae79fbc1d7960ee67aa3d66fc00eb8bb6375db2668c9248c1397c7603b72206414c0a3cb47040d002ed52592cafd5f581b21322a379d224c67e9b4a0b43e0542b652e637aaeed59b2688d3e18a0c5dc10a3099ae11b5cd33099a17c055365fd3dfc1b59563a93ba588b67e46f48bdfb9a789c320dff51ef9514b5a6d404252848ed881e65e609a9a962517eb7a1c4549f3984b002dbadb27bf2164dab1401e7630d4fed45ed5a0a7e0ed24214fb1d00dc8350cb0c771c6c3bf5e92924372a9cb956a0db2e82c226f1ec1eb56433222fdc7860ca6c12c9666d9b2abb4837222c36132ab6c6a8927b8b1e8caf3696ad84d327f00b61cb2ce8d9f535d06061e10fefee216b7cfd9504eddc157c4b4a1c310ec8fd850aff457aab2fe9bddca72dd565fcc7561cd37492c14a0010910f4a2ddeacdd2c5e3843f9ccc28e668c372a45e5c9c835bbb8f790fa713fb2849601499848da69a3a9a49126b15ef509f7276f7bde4d1b272853369ae0306518e79e1358bc3b59a3d239d81024ce6efc72fc1b542a89a5e8e7e262b83825b560c0fcf743e0d97cc3d829fbcf0b860f84e6c48122f8c00a8d9d027d4c12e6d145939287b7b7a52e9245428b1011dab91d27205748c99c9cd254179904e7fc17278e8e7c52ed959281870153df23501c05742ad5ebd952ede4525867ddfc7e4dec008c68a6818a7a8a5a7acb9a3ff7e28d10d75cebdcccb7a6d9842920fc4640c0ac1b8edebc61ce11ca2b6d830056b870608bbb4eb8516be1f55f51ed7a49e50f2ec62810c47b68c9a1a1146b83542244e72abc2ce52cad25b87081856572caeb1f3618b1460d097096ff34d5837d7050172c790ebb4a5346bea0358b1bb2bac7a8c4bb30c4906e3cc380cd4e2997cdbdb72a200f1535766cf483dc26956ecd6bb7f24aaaea8ef62c1dd604fa3be500ce5531e1aa397436034aebf760a9a2b920b47c16e937184f6dc31b7c481257457ce72af9efbbf6767759e83ac7fa4bc59772a3032bf604844f6fa8b08ef800d41d1721ae747ce4e09bfc5b3753f845a20a1a4c2fbcd57a253195ff1c16a405a64f54a3ec97e2e2ccf8d37e14c6d64f2d38dd0626844667fef28ad0a67271217b7855a341df8cc24bad852445e65fd85c82c986c8185661b140e5d15125dd18963794ff36092f525e1016d7a38e76aabb1afeeb754d7001c0b92a1ec94a1d8adc35c728a83784118090b5a0aeae15304e38ef8c1ee7d022583def2bd288480eb0e0a0ce89b55bb272f3bbccb68aa3edc9779171fec6401c7eacd9972639ad6358034726277bc719488b3dc7a1d240a74d85dec5baa5f0f9a503a2cd992f23e85880b699b8c36c43a1df76a3952f7fbd48c8687eb956fe06ec271ba095f55d1e0d49472b83ce5baaac55eabbfcbc4d8a7204a598c5100ee2a9079dae7c3f221b6f1c66fec26bd48ce2c63cbbbf6e541dfaaa70ffeecc0aea475e5f75d33e6564502ba722a34a3ceafb2836e8fee7182e431573f533ab027740363c4282073957084af51309caaae9fdea6f622131849b945898314d5cb23f8da5c5b19a06743ce018239f0fa55c9aeb9303e3e502bf6545e6b39811d943fd150c99d8574103657e9fb6e579430723084ff4df8acd03c019985c69f36a83e6dd63457a80de4f3b7e30772610d8b429d549ea0c4af0888408426c3d7be883f282502a002d563a8cc8f3f6e0f378f5481c176c1fe8b44c4e0224b8377388b981b1cc5459e9df392be68aa725ed56c9f414f0980be198ae73bd84243558304499fd1702eaafca56b352ca52daa9c6541c01bfeee2b2f5b75bbc40255315e5bef73f1e268c1a65d29d3f5a43f5471e7f83284ad699823609f82d9b3ae538e5522653391105ca415fa90c92c584e4680111b64da283a064a2ca8c1a5f889163132d4beb19680d22d66cb1f2e727377a4059a9b66de2776b69ecaecd8dbeaa9c4f2e7c94511ddde1f9ce399015fb7a3cfdf4cbf6ef2aaddaa79851e810069c6647be2dc71b39cb19f5bcaccc55c65c020adb35366c199985a594f7a9b4dacce8cf248971ae862fc4ef00807682e14ab564d9e0fae043e8f9550ef1cad7d80f966744fda02cb352556a83806060af57c610f5afd84ee0be05e7c7df920c2c7b0c4f7520627107d502c601922bd3b21188c72d0313aa540ea83610265fabdf9616fc20b3a9eea0bc738c6d5aaf427273c92a2c553490f12fe7051951d0b84dee99b49183bcbe68cf9f60b04dc79728500457816eb70ac18c8fe7d8deaa2a66a9f42650a8ce22c39e82ea62f524535990dba8c53df8efb59ff1f17d36e9ee868f014e2eb325ade6a03a721791990724c1c333de48f69a5eac9b439d7a197c070fcbcf729e3412430477f77d38d1b720802c45dcc24b879e3c970ced3e7001f748e3d41f257137050245737f025be5c7d991220ffe045ba29cc1fd800657774f3dec7a64a5456c9b3116a7e4a97e272e1ce3ce520098d1a27aa87fad9890b64f10beb9753ae8ea0bbb885526e0d4672cda8b2b63b48d4a7bc710236f217e3294c27ff65bfc50fbcb23452930fc7026a0aa34f19ac4151c1fb381bcd5187be8952543a6cf4b90fa111c28ed8007e627223b16b8943948d3332bbfc9c5ad1e6d7430d0185338197cbd0f8a492ae1778726eb7ae7034af7f1f99a45746f3a5033f4ae1f852e057098a721224304c4c5922730fb2ff834814aef46bceabf72e359dba402b6252095f488dbb8c879cc7f972e087c6be2cfb21c9b46c290a8e1542d3af6517302bedb322ffdcd44c6d79f2727d9f98a191ed386aab8e1376a36b80a8e12841b746bdc98c1e1fe0b0e63b091715212154308590ef6f3250cc384657d229de1788b633279e2458800d511fea7269b330b15d69dea4eb17512b25218ec149068f7bb97e409c19fa1cc7cc8c4c72c68f1342700aa0b273cedea7028002277ec9a5e6987667cd2ea4abffa1c1ba6a82f31fb1eeefa66e3d5c995e1be46d276ac1a79aa7d7695b0f0a6d6079264872803dcbf2f210a7f1d8af90f7c4da0b1d40608d80b2eb2a2cf816fe48a9af1f72f09b5031386b9460a9d8c47372f039585cf7f0cb1729b06ab8b136d1d62b081e3b11cec4bc1efe924617eb4471ada1334e6b64c554a589a05d3ad6116cffcc34e329856153759ddb7f51365e34123f93e34672c57873fa5890079e05f8964250a10908a44eaa71cf189b519e0a2b66b820e414a5220e4105e99880e0de4dfe72e0f66e0957db4815423dda6e373259587ab6eb4577c8f2f5b331cbad783b8868dff1d6d691dcf7b198c7e0d9655d7370b0cbc242e7c7cbe199bf903d4979082d3320305a11effca90a05638e40e2e841a12140b38b38d091ac2b2663581b0b3a97d9cf5a4a8ca022314f171da5c6bc894a5f0781a3f1e11a9f8daeb43d47d572ce47795abdc37aee3d4c7933ed953f55c7ca5f642f29e6ccf3f728cf5796e47206f12a9feef033e9c35282d03349398c776f07b6f2f04f47de795a8ccb3f0b24e5a3885e4352487d70a18e8bdb35db935b8974e826735ed16463888baf1d506659d37e3a260738311259af6851efc2dc09c1c4eedb8e67a57b5281ca2a7c1072290b34b330b68f22bd2bdd1ae800405d8ee16a663a7ca26ef1f8749c01517672d5ca8883f9a849b452e00b37a33f94aeb5f861c6dc50f36c1bbb8cb26c2f967262cf421397f4aa8cc96fc1e8a1d0543dd112e1a8cec6f84645ba0b8ea6d9bc72317e41dc273fc82124597ba8f976a5241097a060c8085e5041bbfa04a00c6b646a0c3b3fc5dd956eb4be2a307432b204d7730cfc2fa54c8eb52f90b28805d71b359e06517676ef4222db69a82c84c20d72845e45635d276fd8c7db5d50ec00726b8eaa44c75516b175d39c4ae72f5a43b9ba28434348c59ffbccc9b4486096062e1305d468169636ec8911ab000d0efdc2a48b87323d9756cf9bb3290e6cd91be679be6e662481b33e7dd25a4acc99787efce63d3b80cfc0432d37c0a302f037c8b18a5bffc2ec9fa08c966e619dc3a91aef0a6b26d7c13adbcb6d230def70727934d6051c471ab03a2cc085939ffe0cbcd8f839dd619bd904700ab9f9391f729c2aeb32f5793cd4151bed26a726bed6188f32cceb3197df08e3b8c26c6b26722863b04c58bea52f33bb87ae057267b0da76549af7af1630226053dee65b784294c11931943187f14125888c4d52359b33256088893a4c78f2aa541a927dfb72f5cc77302ec0ef8bd76a6933bb0745f72150e61fb8c7cea27836419a1afa8b7220f6870b16cb0b2dbfbd2bc5a94d544039d4b173a8b8f8b728a26fd76f9c53729ac1a9422a4c6224d9de1189a7841c5c65f981b47a6fe458695b61f785ef0b728a9a6e3bec83db690a64b23415781e33b14aac945a54e0f88a48f2b49fc8ba721a8f73f217085f165d5d41637381ae80a6bb21f3c82a3f6c96697fe03da34f599408960c83c69938f1a1cff91d67c06dbfd63616983586b8ea734339d4dfa8720ed81d1a71902c50c10abfb64afadf0473bfb07e02b864d7012d9cbabde621464835bbe11328957fcd144b2c783cc2585dec7fe06ed0db88b2a0ef7645b1db5a33b218c897e157a68270f1439a14a47ff49dd4d421852e3197a654f6604fac72ab2c94862149a94976d99973daaa7533f70fdb1edd0812d7fd2dd96812336172ee1b2225517a1bbdbd60947e586d932e1a17a626b2e96af6bbf9cd742b66b3150234804f7674060369ebba46415de5582d00b2ac9dfebae67d9b363c3f8ff672f970a65d59213c8f4be9ef794d2318d9b721f8b7887f82918db3dd1f339aa55400672effa3a747dfa4f11ebbe23c709f0d5b9a8a67eb4908c30f766e5f032272ab5adb0afe4647927db8d0dbe319b91ecfc5f171207c2e0cbd95a46eec03b40bd6df31abc3d831c39c7785d8ec35c5ae09b3beef1ab13175feb86945e7830e72d0be10b0a0bbf983e5194c60c513d0fcbbc653760db6e6cee3a21eec3bc45250a997607ed2c0bc9ef20c915c5896a0c9e6aaca73bba96d80532119176decc9722ab557a11c6fb54ac32e933e8f268897d5e56af286a62e17e8cb04db6e1a7c3ebb3af0606a636f2a59d2d04579940961ced871d8dfa3b41247997b56878c201b3dac5492d5e505bc4350cca136542bc5a1474fed227e109207513706dabf5d5b3ac7bfb3cafb94f18755487e968f36c6cdd0590238088313859e1f535530762fa8b9906b5fa7bb4be71f24165faf0af863924281139a4b8d798bb558d8d8823b2db25190ad18d7e507449f1ad25a056f23065891f2af885c5b16802287048b270b3070d73583975d5db11c93fa2dca93f5507e1f8c07a083f02558d8430373724706a92e1fb648cb3960d337dda77337d382cd4f338df535f22479fbb4838672d6caa81ee921fdad59ef75eb48b4d03e278ecc2639a0dbbc44e886f5ac93ed72dc2e5a0446d7de370c19f37f5c7070d3ae49a408adc1df2b9f09d4a0a41a9472edd8ae938f6ffbc5f3eb30d69d565848be523201a7ee43b4ee4356ef35f74f72646f195e22e7875b20045e80925b02c7318f340b0d0cc137816052961fb65c547c4721935644ee13477b8dde987f0fc9c5129d5d5b1e9103eeb01da89cb66572d3d9b7d12f0b3e9a77d3bb5eaf01d64dc20ac5ca7859715e714a7bcb9ccd31723c6fadf4d358146244d52e3bcda665dccccf6df0773dbca1a96e8690472a38727a7b37a8bc7244e5658de076b442cdb29b5377ce591b1020eef95523206fe6048d6841ec968d0b42dede18bcf4fcecead470822297ad808c676ce2fab91e5e72bc819468c1c7131440235727a2ed421f9d3b20275c1c8928a2b1b3a0df77c41fc197cb88d307c1da4eb1e6c62065172b0d7da0eadaca13306dfb23d584a70272864a7f4a6e431defc2ea0b30c1d4216b58fd33427d2a0b296c26c6648cd7cd1162e644e03ebef0cf362ec98b1e88e191632c87f33cdb2eba1e66184243386a38685cc992bfe88a9af6a554c73e289c0a8178c7572c67f2633d511ae58baca117d8ffc00f90ad37981f97c654bd9e021c6b3a910ecec1e6ce5106a7b3b33d0a7276f20edbee8ec92804ee80120e622176d4581f887dc36de2fd110c29f7cca926c2dd016f22c8cbdc2cec026ca8a5942638f171fef1d44e5bb34293e0648dc63b3ac621bf10972118ac38388c14e2abf2fa479e6df6010f4e2df4795e79795c53295cffcb638804b352b33df132ac3645f930fa61a7a9757ae7d93b9222d26772e1709a94a578789fd99ffa8379d38d0b747bef0f8eee252628b8adaff0869b33464123ab758ab3a3f61a39aedcc3ea0307d18fc80c17a36cbe0eba80671629720274a83c675a105227b644ea340401431ea911342e90d878137ff03414bf3072822d9dfb5558cc76ca8d676d444679205ea12aabb89922bb983acd8001ed7272669fe7a6980759087de80730bdf001c156c4428eaaa51e009b8cfa30778e5112e349cbfdadccc360e2a65b2121c30a16ca5cec2500adcb98f8a2fc74ebf7461720f5dd5532f2fe64243cf751fc0ebd84207cb69ac300d788b04998bce5c4d1720399a73b2452a244a476be97a55718136735f484ef1895177b4546c67965687227c30b3c45253a4ae6e1fb3186d442859541a0e2db8a836b088e14fca0b6d47227630ac21f24dedc37d62a9e4848e4a2d8275e6b58726f8d2a50da07d0e280725cba412471e407a60d77c622043416a2a8fa2701a687d7b319ef249f1ed035729a34a12f461c4ae1c68345547def7fb0db65406e74d01b3f5ff43291ce88717297cbbee9e20e17332956ad19ee8d55ab7efa7827b1134bafcb58079ac9d23d36dd3cb8bfccde680f2676eba916d437aba323c939a58a6116a39f10b5105dd86048ec006bca0e5f157d5ab38f189510dd6cd5fa0227690132ef4aa240db014c625b6ef4ca31c24393e452a84fd3975c36b07671597f227aeed271563e90c45c7266fff8e5ea60a2a878c9a53f9ede8b0858ec4af0880931bb3f553a518f38b17219628eedc5aca3ca2211ddcbe1272c80a030837d64770b4463596a5dd40874721fb8f0af8f77556a43ed973c58e5cc6a66a347132b554c0cf710d7cee862f8728111c9080a2fedf003b6fdaa610e6550ac141e74f549dda188a3877f2b834513bafde168d59149d0adea36538db35b27cad23a747b0023c7b159d9fc2265b136aeb9c2f12a82b2f7e1f7e826b1845b8d38727b6cf544e2df9939a2045ebc55725237f7d32226211782d328081283c898893f4ab519e128e5a51247a2562b191de4054b8915b87c488b03d9ba28d526beaa153241e859bb013bf1153dcdb6326c98291d128e2c8cc454ee42462650770c4fed8e960d5ef5c1f329a54609e1266ff4d8b342491169f75cab353f99adc3475a90b1d57ac4926beee5bde3096dc0723b893d64935529444ce13b96a41b1c727ea0069a7171c51b2c99d72395629372d61041f4c25bcbfc99657e16897ef3dee585275cb1972e43e761cb1107b3fb30483b77551211b39b9f9a5f9c7d5c1167c4601a56e49177f322df8a8b731b75729ec326e8c6be8f220e8395b0bc06a1c89c50d821f939707f8d0b1831fc046b723db19abd935e1c46587c8aa8ec5a25a65bc46a34be9dc9f6eee68fc875930952bc14e5619aa9ce9ccaa7cb134af0861c22fd6df5be81bdcb3f9776eac1a33672b087643bc6f1766b00e066ff4665e33613159571d07b5d8c9595afdc9bdf30728201c66ad25514fc14f32d3edda5330da3e5cda0cb9170e0521eab2afbb91372db56302034678372bf296a9235debab9d55d81bd3681829faeebb5c4344d0e72116b7964731174423b6ff3cd62cc8c4df7a5904b7628291b9e2ff24ea044447216178530acc6fda234474303a970f6b0a9093af308d22692a7c89e6dfc7f1f0d01afe5748c38a79863a4a4815d3f0ced3852fe8e8d15bce374f5ee4aded8b60382f7d5ef7447439c26cac1dbd5799c5da7a2099908ed63f8795721be37bbe2720363d9a3bfd9923d62b8816cbaa0a576ddc850e9eee00371b6d167097bbbaf7244f0b0bdc42b7de08de8f4f72abeda4ab6c5d82f0b3cd9b834b603003efead45096f0bac0546988e3a3c3a44e8499027c697a38814ceffea6c9bef82fa07d372f4521eaa8ae9e28cbdc2b92af5195dc449fadfb9e1864d07f9b001b0cf2b1172f92cf6693692f048a14a276ca9b2783327f426ed86dc7d9dfc3318d60b5fc14daceebba7938e60c1b09f3b578acf318736c79d5ce6ba8d4291e8fb7fc5ffb472052441219bd351049c685a664fb305f80bf77e2a29ef96180ed63e6877b46372cf0dfd6641b786ddb5423315f98823b5df815d2fe670890cbbd0aa2b77dc1272a22cc39ab9c2cf557b9b983f13c9e9466688361b88aa9362d59779d4d0630f727c4be07c879c0f4c3fa127de0fd5c028095563f0db748c5f0f3a5c02f8cf4a22e5b643015f3a5b250f1de8f80eb3a9fb80983d5665ee4c84b5f384d31e0f1a1294fe8e4886d1cee8219c89661877c1a95b3b06226cebbd50c66beb8939e0ed723780283e317e93696aeec52e89cd2053666ea3334bcda0b2791228995bb75b725cb5da4c9bacdb836293a491a114cb6b4e1df2816dbe2682d17728a6254f3d253d5836a95417fc82b6ca00d99c08ccdb75d0c516d9eb0b5dbded166eb407fe727ff0ade8ba0bbc3f1d1b72680b9213c3a16351968241d43820574e12f8b14972f32e54f0b7a36335972c6e82df67727ad40aa8fa7b9b61a596ba036584741e721cb0008f5b1646fccb7b10c0c767fc5f63a6142ac0ccdc0af75adaae04cec97252899a05bab8bfa6228e839cfdeafbe1e92f8a16afc6b9e8b9f772abe472363434fbc5a3dcf1a55d12a55dd2f9e51f44e93fbc1dac993bb1f327001e13c4e405149115df83d9534afa448fbebfff0e6b823eb0ce4d27bc167db0b447768f8118be19bf2d0ebeb0bcd110499b73558a1dd4eb026ccf9bdfc8f72bdb2ec6df4b727e5caa7382cb55ea839fa38323177c3abf6bc1432e19c52a8bb1e554ee180e3ab0bbfb1617850906f48dc3e112c4f3702cef57875eee9b4d92962eeb0934f87288cb511e2d60f7fb5b260e9a9f8d74d8034ec58385dd85eaca1dee4f97ecdc4f16a05ed1dc1aaf0a2b9a31fda032fbf93d406b7e7f3805a09cce8f3847c9f7726345cff5118c6ff5380697ef033426ad15eabc87ea6fd5937f9ff9a7626fdc6add5199fe01412e8753612c9ced2417090ae27d0c948c9433fdddfda8808591647ea48cd5bb647dd861939407f383425072a1e84eb7505d6627e599a60d440803342e009a4c277b3da6749cf09767c0dde220c75c4d0a2a8b5df44786e8c6526c0243c34ce6cbde4b4cba3073c37585f7b34b11a6a03aa46165ea3961e889fc72be756148f2f5085cb307b17c7a45f5c447126d8bca006848a55de0f82d2f3372c8ee901b5087026042c94a0ca964f3390dd31e6e9a5df3a8e09cb64c1c2917721cdf8b1bb3a4c063d395b083983a501ff995b8d4c437dbc2a22d1656206be5726aacb91bc730c0f6d2b5655bc8e33cc733de3dc987c8a3594cec347bc1e36a517b3eb22e800fa849951fc9d577407a58ef4ecc3945c622f30cab9a279e0fa12205fa375b52b15ae8115b6c2d63c0815329e1c7631b3696bf68eec9c5a1feb0729d27bb386b38bf7eeb6bf8301fae44a1af0d7f31987ba97618b4c320061b43722f35978c4d8c0f7d13afcaf31a39e2a3b72031770644fa7e67be611ae9e3411a5b146b887b33030b29993ce82340c094a76562c7409bb6e737f6f0cc3c4bd672d4f9a384a0419701e390985bc0f4a924363341f290fedfb2d4a7e384c84f447258fe81d3d13d04480ca149a7d01ce5e8b10cc32834dfeacad0c3273d25a6f0721567b5ebb3b12f30619c4e80285473314a3f22605adc1e4eb0da0f3a6da56d5f42e9c4a47a886f636fc74ff09a049b4e1d273244a9ec3e5723b190ad9f43d82a6164ed612d28875db88e7ea1687cc64176f24a8302d438e2864d3e8d66589e0133bcfedf2fd1ef411516a06b8be7a724af7007f38641d68b852ec20ce2366e0b85a409ada581a962784bc8e205c8140d867a72a71bcf024b9b71f3ea76162b7221f8b9442a1466aac5a216af75fabda936b1f4be0cdcc14e2fe258adc379eb72e2960848c1ff9d457388cd9033d7c5819966c5fdc27a5fb61c6c01c4fbf57d72ec8f32d0128d97f3dc2ceb2ae744f7bb774943f73153014ae9d4ee2217885d7207e9150a6f22536437c52279b564b6ea9b13dd192cfb68a3839620fbf8677a531981b2a8869ea24607f74100242f09d3113712f5a713be85c96373a9be18843116a1dfd7945350568c74a5acbe129a42dc1aed468d708c356c5ffbb7a7f8525378560533e0ba71863841feff5d9787621bf193de2343571047fa6e3315cb5f071dd301b46dd59eb1856f92e20639ea85d7dab5235497beef3cbaa008f6f35e7226594fb4960bbb787319abcf57f3fe0999d9c475763ee977476584a2f9773872244122343e85ead9a862662c9dc16280094b5c65ae7bcfa4c96d8518e6990f22fdafe932e069ad8641c7a13393efe0a9cce1dd8757d9feb0e81ce9496504e5726327e731797158de994e6eabe6d9f78f849db720373b1c6f2472c2ce7af015444cc77fdc4330ab486ff16c319b1faf62419f80a547f4edb2a4ade27e2be8ce6d2bb8fce7d3f36043486c9d43ac52ad87f69d0d821d550494292accfbe252e572232d975aca75d9d4dcdda01660404ce83c734c507c36fe7c0b302563bc838b4a2ba2be0cae4ad5919cc9bc7e0d21ae4093abf3ed102010237d80cf7a9ef1715d160b10ac3e8a72a627ab690904596b3ddd98545f845f5737ee78764135f1431c45cc10c889a6fad3ac0dafab5988648a2c7bf900e0bc90c6a0dd77af4c3fc60d00e4338e3fa815789e4c42df87f7f092d9f22994af225c97a84ad7e6f1620f72e850b8a84501d0816e4b7ea0b24d6f659a49db3aa0dfeccc9c9c5b8e5c116e72790b5b7ff94bb974e8a8f074352e796828ed7dd49c8367a6040e759204e9d672237592be6f6089a65c9cb11ebca632747f72870b1f6fad532b5730a95de81e2f4fa105a5d95798720ec31263b8f4b2b297197bfbcb3864069f05e7a1639f691af3a5c94bfd998f8263f24266b9d86c91466e99a2e19f9ff61c5e1179837ba6728b37c78387617f2f0d5fb1611aa4bad650cbc7415afd25bc9b08fbb676188b72fb36d54bf2df02e4aa389d2bc242dae2fc8c585352971b37a7f6f6987c9aef3717224572f16562bee8ee6c8757d8da8a819c44fc49217a0ce6fe1e5d936061726aa64bb50241b7ac9729d8a05185d6c7541db17973bca681a0c917df6ce01572692366fe875673b03ae54f96d972441dc6bf40206179b9c598973d853ea5f30b4f9b5663e154a6173c83b1125eede4c96da8c3c171d75681ad801ebab2101b72cc6dde5d5cbd66a90a59348e8b1a57c9331e9e93195ca7258f4696bf84b3176b240be92fc8816009f5b3e61c81c0d59191d1416294c054e48185676559aa5272188a2171bd1531b64f1513accc866a5cd770b04e583d04ea96b4bb618651a959396a4f9e48a8023c73fa951c448b76e1100ada3a98d63ce71f9d56d100dfaf7251d789a58abb765dffc629d8f8c252886fba535d813915c726063517d3e87c4979fcba6f2e2a82ec174af2910cba44188bdbf3886c6ccdf87121b376194d8e1ed0ce19397e16efc9772b10dc177a2a6e05bcca2d98eca9842f8f344c218b7428244e8b5dc05d403d58beb937cb71bb0a73edc700391ba91821d59cbf481d09723b3041995b4d3b672ca2b04982fe420c9473c527a08d281436e6b781224642634c1298b6af99a790aada830ed3d2db80cfe318754cc31f1ceda4509e353d6772bcd73ca0083cb90c19052da77a98ee9a0ef980aa38ee33907971e476f6b2d14c624393d6aaab4044f4e0241d5c5aa9428eb7e7ca026db20b399a917eb525541083f9225eb50786433835b668f35a045498f98ba40c48fa8621997a5e07ffbc72f731a70478dd68f72f98b612e2a2942a2f7e27a42a84bd1d680c45b48e4e007283c1909473de6d33b62f861831382c1d59ccbe79e25012165abac273146ed426cba2b879030bbddaec73070d8c0ffed9780564d0ac6cddd5e99af4605517690cd9851eef912c477b8a85509784bd028d73f50612716dc3be5c1c0b03aaaf79726d962107b4e0967c8a5eded4426fa3441bb8ff81276a7d042a99543eb383330fcbccc26adc76ecff8820b70f5ed4c979f1413101e88b53b00269902c89358720fdbd173e4ca088a31f2a51b955e59fc5ceb9fc401260b62261e4bdcb19df3072d5e4ff90e12eddc4e3631d2b57cf5a774c17f5e346ed30b34d258e69642a1b0f3b61693e89dffc2b8584eb3c537ec6e10e376b2c5a8a53ff7ca55717d93d7072707c94b7736f506c69ce99a81f5699596d29aa1b48efc21732fca02b2c1a1f530cac04df11c6f0c25c73d3cb0bd12dc01693bb102ae94ba4ecc87efcdc40a55a0267eee5f00f777f018156b8ebafe499f513f0228d5762529fe3fa17bfb84c0a75de4f9ea352f4d04e3108f0306a193fb9d035f41cffa8acab1a51063bcf457206934e3e038c33c9abef1b3427ad09b09f8b62c7534f61bde789036325071138ac7ae91344e9b7e240946d964a05b7ed88a91e75c25145e868bfd0de72ec8572da5ad15bdac92a45c9a175bbd8e82fccc9be7b3f7ba5d8238ec0fea7493aef7292329cc365b07242e439d63421d4bbde486065a74ea6d3d19471fe61ffb13001468c6a4f0ee74f3eb90ecd18185a0988e059fd6e335c974348ef04a6472a3f4fb4f11d48396d89a275941df0f9ddb2ec9238ba80fea5805ad39cd1e3869a144aeffdb8b7f30791c568f106a997f8b7286419f5097b6deaf0880a1ff5194b6a71687c35a0f07744c321fb8cef6be00c54ad38a71ec447e6dc14c02d671b69f21c2d4382ed85a23fdaeff835a46d5d4e5f67300b1adf33753683546ae7e860655d677326ea89a184e4f2429ec38890ac6d2696406261d6d3268e0f61134a03476d5a183cad0b8b73d8575225b7237ce0d039e288fbc75edbc91f2716dd3d04f072e14cfe4cb7915622a3ac624aff1ddc6fac0446865bb3e27cab38de0ac359bf72d28daf66b62e53fc5be0f01911f46469ac1907d5a45894057c0ae5d95f8813722a3203595f0c2c350dcbdc3986b24df55939f7758a9edec0d785d6edbe896e22d451139d0e0e3156e1c2f6ba925bbb8dca98c344dbf93f6de93c5f085a1c2672a87925e16c3076647303ffa1b1b585684a3320f49587c148fbc75d6e0095a47226ce306b6f52f8b3f490cc2cf79d07bba7eaadea4850a1341035e48e14dc74694817f424cc1c67dc862299bdddf01433d5f6b1ad80998f13c46adb93405f3b72fa1c3a8b80147450b108b1be2d94ca25686bbea7bb5997cde091af117ed2e8124b60fd4bf5ce0064ed6db7cb1211a185e0efa7ca4b2029279d68a1fd77884a434a8f21e1078c25d0cda535bf77c3ed7fe8ee84a7a452c9f3b3f22582b46d59720935ba7188be8180304b8ef6459184989f1ac5774b6c4ab29c4da2bb038582275f91c5aada26a3171141a11b3ae5fa71a08c26fd031bb48dfc1c359f72aee765949301d1fa1160731663a77d8c28b081149cf57f9bd1c12db98a8619351966728bb7223f4febb272829e9ce8f87df15b844f4706dc15915322d39ddc2fd8a572b6edee5765cc9a67c3c0bc056a3e29715409187266f4ecb3429baa7fd5330f729c194b447ae45397790ad5d5f6575b2da1132572d1dee9bfecc8d7fc413277721ca63b5784bfe7344dccd4a837fd44c85463d0b3a877570ad27ece6641d21f72bb9df7e2c6eb072fcf7724d00c3821f0e3cc7ac03bf7e043f18a64380fe1a972001b3ef171abd80f6342f328e62018601eb17f8a067b1ea7736fc7548e15b6722a02a3d2cda8912defa108cb9c89b6763397a2ba082d0b99d0e69ca9c3e3de0c3dfc4262b7c1e3de79e10f643b1b17cd3c5f055ab39107bb84b3f296a842306965b1d1c099f2ea0a2993cc9669638034612746cfa861db684dd81f294cf8865124c6d6a1d7f86d874d5ba1060daa0270ed0fa7e3f56a4de6ee6852437d570372060fd149184b829187904950874d531a731d9c40e36c56b3b86ed90b4e578614b919be3bc943a6b8fa819ce74530327197e9e322cd6d57cf500582b63d4ec4494fb521e15bc9f721f78ef471e30f408118b771e8fa72b357f7c3c915ba5d17729d994b981645e8e432c1c7fe918f7bdc54156a77d82ea8ae35b9f764cc823b72b239d7664b4221525ac29ca4adf2029c99f405482c39028aea4afa9353be28722b61e519fcd5ac8f4ac8aea57f9af3747aac7ba344938bbc3cc24a29e0619d7224aa6fd65c62329036f266650207df325ba49f54981b8bfdb7a39d124cc2d972686f3e70bf2b380c84367638107ee69f9b5021f99c3dc0d85272066ef816ea72c26fdf4cf711af4c2f7262acc955090f191f8a14eeaa8f8ae0bddec4c85cfd725cceeb59092dc3410c2e4be39a7d61f5a90d2caf8bebd39bc69469f83766a06982ab6ba899ebd3369881dba6160aa438eb58f2f82aec8ddaecc386b44fea0e728ed59be4754e083a40bbc8d9cfce7c6a8788409c31c81e10d3de5accc7fa0272bd96e1f93850ed113bd1603d23fc67c95d5925d2e7a1b9517502f792c6609672aa6389fbf3abbca1b1919667f36f4491ab06251c343e4d993910dca086f67e72b45e922b48b84163b5445742b2770a4e5afe77a1b1deec8dfc02f27684af4b1b10d69c0fe2090983adf57a4302dee47818b6d5f0532e12f0fee95d1e802cc572b72205260a578d546362a853c8e088c60528d998b2d0f1559039353f4c6976725b0179f1784b9f13edf0cfdfab1365ef466449ae080b8998a10c22b157ddf772c7689100d21839c2745279f1bdf4545f8c6525a4c0a6925cbf6030885d877472bb605180cfae8669b9d636cd981a95dc8e50cb24df63bdcf36c7bbdcadd2c072511c65a117517f634629bb7c3d1d4e9dc8a74a5e54b2800dffc40e3ea3cf957267e24c0f2a539959e734b4fc3f5e70da57ad03d74b26202c05aba55b69c2960553e2431b4be568382eaefb2142340806352206eb200adeca512bba05273c1772406db48f135f419f01fe901a3c54be0fbcffaf46ff9fce1b88bc95da9aec487208b3cc1dc334328ba47caed31eec448b7563cf4caffd36cd27694818b87f32369c299541f6fa212140497ff62f44a4f0e686804061a8147c53b8d170330e2a7243c30aeb1de3848e310e19f4bde5890ea59de47fbffd0fa8cb917eb6bb0a59080a40229c16d176a159b1a38f5ffc97be9917a074489f7fe60a674821fbbff14b0f573dba5ad8b38f92789fcb4d31ae973a050fca0a491e48b44f6978b7066e0f178b395f78fcd622b38ea48968b1552350e5276ea7e97d2036ffe2c4d349672202582e05ec96d90a1bb253132424c51bb4eaa2219ac40bb82763193b50fa4b72e1a3f6a8aabe005d71eb4ea0655590ca5d54e5f3f9844fd8bb30c1a8f9ef41720f0ef4724181d4553cdbd48c564dacaf126266dec785fb1ca744bf7976636b72c35e46f71bb1ba909a7da44efafa2ce934c6b972ef1242b0a8cbe2f6c7cc8b075abc22848660b24da874a2e85c60793dd30ddf0da2b1d78fc9ecfd962c8b1c72632e49d49b0a78348ac0f8c5d5f6ffa8c1ec70d8b13a9ad0b3ee7abc522482612a321b9ed9027e71787795280604079919a4727bfb4d78778d14c3f0d4fbfd72d4e72552b89e97aedeab468a63bf91c9f38dfd025d921e627e00d64ea600c21ea32b0eeff6f55128afbc772bee8be9ebb6527e547548d76ebf818b7bac81a3556c546175c4fda21ab752ee0a14c3a8900eeee1d959657eaee213d0ca379594726c6b0ade3e050f8286e5a42f7e8cf869c2993ceac1ff920dfc2abba5a279e57245835c185b3da0f12c8840ebe5ea6cb00205c2d3d29783ac17fd85e3a5be9c6aa0e9cadeda04f5128a991e1bbc79beaf266912b31fa7328abae69e0cf4349c3e61b6c8ef66c18419f7cbf488f07ab8c6339eb77bc689b0566fabfb1d9db3fc72b27ed22cc2b20698fece3f60e9e9bb8ba646f2d8e635136d008a313efec23c724d66045044d15740a114ab8f532ae4f39330e1e188130c6d03e12cbbad24ef7220522ebc803be15983c71276d718e905c63b1f7dd8cda3ed3b46ed8bf18edd723ae90b9ceff10f56c68b202460ba413fa4037729780e86d1cc8981c98f9cbf720d60317dda05c4631db196020a7737cec524bd3b776f384e810524edf471e97245ffa7274d6be783fab20e757fc1cc5b0a78cdff1eac8017ce048b0e82c09644e85037d58dcc0893794a4cf18e8b6b3bc3ff619b5469f747af1d9385a7e74b7276f480140e9294dc5e97bb2dbec71a37b409f80cc0664fb4117e12d3e0f68a726e94a49b3fc13aad70f835daaddac7a566abfe3d8a26d47b5e8b616aab6bc172067fa1858787d216e6684b856e65638a0c24e65216315c7f6327922be3f0454954f0a6b552cf4e91ffa7f57e6fc495b607f72dd2ad86c1d1475a087c9e96d172db712e903875fc5cda67f7dcf68f95284283157f34faab07ad938c9f256bf472c14dd32e4f01bc579aabd2f08120655569e36cab0883f52d13065685a2b19672308c6e8b488b1c9ebebabcc24da00c779912aeb43e966113501b730c9e8dc75c8d915d75c98b5ce573b27995caa5bfc4a718ce72565816fa0e561288fb06e972fad859d2ec7bc2bcad12783f74000f5ee470a2f5414ac7dd9fad1b2a767bee72d7a485c200abe5f83067e034ab246b0976fe4dbc239850e2118df3a209fc086f94fa6d166a29a16ee324e1e25dd61f88341c5e43f3068c101f2c15e3e95988724e91f88d35ab03ffaa3732b745c9c3d52f6421ce0b3abe2e03b34171f08205726130f6d0a795d3ff2432a20f32b10a8e72fc20d43ca17c67151e1e3b68814c72086f80733275ee8e8fa99dc38d564fe651cfee4c420c4d1fe45fe99f3d17e01980ec2661b8a7f238f37593a6860c35c84a47020fa698d279e11a5e94f51b0d721b40b935dcda92acbd8c546570c0bde0ab2928d6266144c3a40b071b73ad9918e7dfada62e95c8663602e16831448886cb6409f481988287112a0c8ea765c72ddb71cc73be64109744fd06cea82391e436133b32d04558d73727d14143e95a726264537d6a1b4be54f4a94ea514182da515ca14f4bdc3bc0e832b625f61f78725a12ebc820db2ecbc38dda414b63927b9af0371dfa96c7791e264176f18c3f30d1bf566f46cb6095c8526f4a9b63d2442c4f2cf1b223d0aa7fe1b9d078057372c47e11942cf0a1281d8bedebb2ad74bcb72b695273618e00ef5b15ef7075c932e86451d0eeb820531ed58e53142582d36615ebaf8aa109bd1f73779e9fae71723a4ce44cdb1a739ab35c43939e8fee04faa77ab48afcd5d04d289886fd9a7a7274bac043df801a3389ee614c4014bf87bc2b3e5ddb6cd6e21bf9804bbae15431046cd92ad0907277814b0f17c29dcaba2534e3fa5a08c09a38a046d8e4ff4472398a99536175c58c5ef6aa8abb92a641054679ab5904f1e74b04e5c539349c72293d512a23622b027f823d06dd22a797bda4144c741827069f093dcb2d5ef272b84f9a12a6763899a30c2abe23daeed5680513bf350833d211cf74a86658293e27ab5bd078695e7ae2834fc64eed95007473c1e324cdcd533e655d61dc474e4bfa821875a98944806a009672bcee1dc4a9bb998f3eedb25aa32ccc8fb1523f729676b13de12139356b50d6f12e151306498cf3afbbf506638b397849ccdd15723eccd291b3f803aec29c06f121caf6c4b69f531ef8c5330298b92f6d70eeff0b65929233939b8e0550947d4baec8d508285f50e884418527c6712451e343d6663e4b09bf540002dbe02f1fca3f89480f44108e5b073098da8f4ae83510d0c61d5f5499ecc78f063358c63a2e9fb2daa4921538c254b687b14e81a03e64dc79580cb5ce239fcd7a0ad5bea49bc8a2d98aef94fb3f400c1c37ba9d0ba66b641672fbe1a26255e714756ea71b16c80c82b9fd2965795e83fd56273c2e1887670519b3af0ccd15e3116545c422f0940cc1e1283fb34416693eac9d1ec46b10f11472037dddcf23f89c3cec080fe14b435e3226b04a0d7d707bd2540237dd3abae37243755ea8cbbcd5b9ca4f1bc6c3b87711e0f7c80b4f7ef37900e51db9f9bf94277c30c28064d1e1bad05dfd120cbe4a016302a1286776e85994f9bb75c5532246d704c00b41cf701e320d45fa0fd2f6276d3e0f91b4269fd4598b4c20928d8672347aa4e7df38467cf2723765e94d6b2a9b3808e5e535b5635f4f2f58cee2ed722d90bea89001200329cde2e4bc1ae20edc659e0dd1acb3fc5eb30bbb346418726d76fb06a7599242737daa730aa5b853cafcdacdb51ad8eef18acdc26e0cae724663e52572690ae7535b9a3171f5002d7ff4e2373a413526b222ad993b33a66939a7d27de4ea434674de0b2dc9c036f57bc9774d4da6f55df7feb3126ed88d1efdc8098854746425043e0532c225ee3580cd75c0d0bfb9215d3dea13de447f415f69b57c6273c1e956fcc642482c7a6a9554cd6050cc6c70a2fe0493d9fd4e7270816e40af8eea3d2164a908e697e44aab71d4444fcba5495b891bbcd63f684042b7d955bb8c678d41ff3dce96c70f73ff93f998eb3ceaac9e67f01593da8b724a2a1cc5e87e1cfe31b0c5949558b422313485946ee505ed4a00ef19fa7c5872126b67a44a77d5d68cb755e27d4ae99a4495f23794f9502ece8a7b07d3e8277268b58e7587e1dbf0a9a098eb22b8d8c3f968056aa5d08bf64e74d59d90b59b72e30ef0628e376be51777473e720c8479de8c7a883ae650ffc3878cec293dba72a39535d8e7012e34117e2cfd2bc61db120166b52e9cc4bd4b9816c121e2aec03929093cf2fa204deb60c42ba5627d6a5d5ab8c7631d3816b0f9c4c108c3b9e728c3e9e40671b500d3c2c2e108a781f16b87ef50359bae4736bf3be40ef1579725587d7f61a6e1b3ed3aa06bfa94e61d96932f43a5b9177956995368cc8f9cc72dc80e33e9f0cbc676194d2d86ae83098aef92386fb5a9270195eeb33720a7a0f5c6963ae1efc8d39d7bb9a132dd7de1a49c9722859573f10cace351e81d379628b1647cb195c067208b0586d96777330000170112d043559ecbddd2056456641303a66c383afbfd044524a4dc94a827814c72e406a00f5b8d7fec1c7deb64272d9ac0a2a921db770076616a50e633d6f8ea54ee26fb15ea114dd37607d252c72b7edeeb32ecc899f84a66b94bc5f95b25b4390a237f1abd6da1c08ab1f08d038a20aaa627ee4de44103760100d7da3361de87869f721a4f64a32d753d07c8c724da4e9cf7c476f550b12b9deb2e545aa1394afcd6a3d5aa6d4d0ff2cc950972c35ec0ec55b5b9be1a3ecb1f1100392426d89123036283205de0c94120f048d68b9c537fe4b7ce6d9f7d56b89f94582fce6a3e219666e94b48663965f95140f14bd72011d2c4851a3ba7778f44f4cb8f50c80b4544b877629bd0f0f9cedd49a720069814a718fca658fccf2665578cd47bbadd498bb47282eb928f86b48adef3d640696317f992e3c42fe1944d7258585c4947296db662409f1c904c82e930032f6bbf41fb79c1fd8871a7d4d69c541f6969cd329e57a446d22ba238121791f72ab42dfcd8e90dd2116a4cd47de7208d8a0ec35dce9a2b59bf2da0ef46b4f370df1d66bc46404c8fd125e3b3203a2620623cf707eda1956f4f8130823e6041172597e2287743c73e969662cdd1caa06e9a94ec591ea7aebe95182cbada4c32a1a15229eb6cd768e63460052b23bc8d1c85412d2c19d1a9d3479b1653884578464256871f5406ad3110936177e5b5a2827010a37ea6bafe37d5e65a78c67f74e427474a7d244180160505593bc3230d22d4a24538b7ca4611e35f26a3ef1a39e72dd2d432cbc385ffff709aaece082ba3d466d90b2b330a3c80e07aeffba889f119b962a201fdc170c5ee87772c62882aea344f45937f4409ede82df5e6c953a31b7adc94a86870f0756886d684ce3ce888dcdac746dd3a02efa436243fe00a8728bf1c30cc62774659cace7f90ec3c5035a0f8ea9d61ae3f24ca5f18d04897d45dd367e3945771eae5891eb5c3407a7b86e0b27db66b7af1a9e88dbc8503d57728d97ae2f59f265f4ff208e16a711d9c3cbf4a787d5c4e5daa1cefdb93014aa727f8793538ff6ffb6de6bf8771132e8bac80438bfe0b5acc1920a8d5d5fdbd1720e9870081642795d9c6d64b5cdb2ce40182f037e41b438b3108091603a1a46725119cac46317d264c7c29a834622bc72ad28a753db49cc80d82ab5b8f29124720e7a01cd60c9f497571c707dadda4cbabb54f4725de6002d00340950346a845af055430a292417ffaa8ec48462bc61175f555d581130b7d61c1acc7ec9079f57c029b94c7aacb17c99ca7c96f6831202deb897ac1bd844f19f347d1871482d0ea573a4770313d0fbf68de5d936d5ae2d870f44a2aae945238fb2b70da0d04b70c2930b2478f8ce6905188212a2f205ccf2ca3c14209ea80ac055d7e452c838728bb76a9d8f622e296b88dc9cfe7bede2450e4b1e99ccf5dee7cb517382eae67230345488fe0e48efb4ff642ec2785adaacb8aca43b9d86b74e217ac5e01cd70121591a1056291d2a3ca426f502aff0171a9da5f458e600754680fd717b7302071abf87c89051afa171b4d54f05320d111304d3229aeae67e9348cfb5c73a34489df4151c0e432615b367086c438614d1148d4a895280e3c791d524e39efec25afd51e56a9cf2aa92c8cec9c36c11f3aa2b675e38b19f3f9a0969c0fd09a5fb477aee2befe2d1dc5055eb9d20efbfdfafd0e462c5cc99135125a1757aa877c872e2ce9146537e0648e234bf1965787d5fea336589e150fe79aa590a87cab6b52d6dccb101016fbe87249802a05fd30fbc6b7e36a64833610d49666710b8b79927620925a31e702777bad1a9dde0aaa593f0ea81cc568ff0932eb99ae67d0de572ab18bd953507f3d82fe7ce57d1c667e5252a46a0256270d6a2995e80103d02721d12d266f23bd6e75179ccc681c0abbf73bf4e989d98f7ddf2216ef695016549800acfd0d5085118113e231fd302ec34029479c15994078d052d1532de7fc070d97cc4b7540a06ea318bae93f3f0b8a0ce3f7ca52939a484ac3379ddbbafbe051757be13a62d63e85c755a2c73927c695fa6b18bc4b30f799b2b81dc2e9ae872495849f863fa51147692c2e612d154e801015853249dd71eb7f3b2205143e6629f9e8535b4432e6113970cdcc38b17180ba52bc3e22051e5d549fd4ff3429d7215448281e6ddc7743bad9649eb5380872c571f7f442f3e46c8bb8c400498a072313d57b685e8e395f163d23608ff8df711d24516b3bbcc01840de1838d9cac729db4806f610f99f76a8ad10702f5fd0d38a8be34fbfd60fc4e22516b7a6a91716d60c5c1393acac31564cb30ddfc0a75d1a17719dd19986c87104315cef37c60ba5fe21eff1d4fbfb3ebac48357786ad65727cb1eb4e95efebc84d90a7b3d71bb4746f4064a92f67ad666c50ac220dc48f72c32bfbcc2a626caf30853bf2bd26d9b5d08584b22bfcf15123acb6fa34e51601006a9d7ceed544527db05eb9b972fc3558652bd18ff910798b14ee26d614360d39a54d7cdca868b793bb0f27427271db77ffc800432b0b16aefec3176ec869ff8f4253e4ced7f59d1108d5a408726018c0ca61dd6e183e26a402ce80150b9a0b386a043bc305aa0aee590ca95d72f451b97a39344baa8ef6a22080c2b1cb374daeb063496814a5b9e2ac9b4a975ef4f775fef8941526dcd39ccb58802cd1fd12a73def3f9c4ce5152aa0f0a6997231e8a21fbfbecaaa5cf9654e0366d32269125afce1cc50abc32ff52479b3027257ad3abc4a3856abf6a79208db5ce6500bc1a7781e0319dbd6e9341b54f2d6413230018bfacbd1ce7d8b5552afa5d44a1553d953a351b835dfeb5a7147cdbe72b6b65088890970285f0469e294018241eb549f078bc0ea594941460c807d0072cb9cd2dec8df1f27ed9f83c463e85c5111ca7740c60838212e2ccb8dd57bc47242b0af70f9e0234aec5d0563f839f0d5b15a1d5bfbca70f4ba988049a6712e7272aad3ddd5d981271c53faf04e7b0e7470ab82876f3ee0b3a74c2d706ca4885814ab64abb4bcf8105a00dd303aae0abdc8ccb335b7a2bb4fdf9237a2d6fc9c7205c2ed652493e8e5e60751baa60f3279988932caf7d99859267fa6ae7e18a52360a7a9e1a97fb534047ea59a429f0025baec4721648f2e6295fa6709c3e31672ab7c825d67f84f9b5d7a3d71951514a50c26eac1bb6fc5be7aa42b27b117e72fde56141b24985d477f0f7e04eb15c72312d3ce1e75c72f80170b122ce36fee3df75b2ccb34b727f3f67bb41e1b561a5e7f3e0ff57a689d0f23102426a6bc2a518f6e698a407957ce3a2656974d8e2cb8014131daa378e7e9d4f11769f1dcb75bd771e730dcc29a5caec641a79cd9228eac9d78085d4b50850afa41bc84a1cc1ad573d42b8f273bad04113f72b14a187572741e1fca18d39247923c0791e11d5643774f08fd1306e1a213dbbc0034f4f28e6eb8a68e588f9e51e39b9ca9cbfe72ec6390c27056d21502e41b50605435b5e0942aed422cdc5433cfcc5fff70f6540d684de0b5f084a07d714cd9436eefd98289154d908993eebf9a48d20806df72fa51cbb0a427410a965103d80a685da72c76a8435ac61859a5f43434963f077240f826e4626a49c582f373ba8fd2c88e976bb87ce74c447aea3d72519252be6d9d36be48bffbf892b5e405d30f96684441548c329204723e2042595ac2b50c724a2f06024585f8989fb48f8d39e224f06a03cf3cc3f308f7280acebfee585b7242c5a23a0d5eec74dff63a5d4897e01e4b80f193aac3b25b0f2ab1ee3dc6a1721b25983b6448cacce22cb0a1146c87371ecaef67f1568f9c7323c33f5cd9ae72a858ce6a47114e05200d7c00b69d86dfb23b2b36a56d6cae0786a239becb8c7210ff9fe823d3cde8c9db9d10fddd61dcba075ce8eac6fda615ad69e600e57b345b51c1f199922c92c251ab402fbb45d9722b804cc8f582540888b46370850d72db92f72892942cd78473da9bd1b2893e840841b00b82591b431af8a38b57415e93d9db60800745f020664525f66ab38fc1ed875510eb089efda562a1862d4e7255ab2531263712a064132be98edaca298cf5dcd9d93b44e2f854511f99541472498f73117a6bf4e3f731d4aaed9f1af61b6bcafa68c2cf9c75a7a9931d306f72e853b6519551e5ef31a4436fc78b14389dac68d7c64cd2f1a9e3b18c3beb8a3c4aeb132a54f3d0fe006cef73968af4eb3de1bbf462d2f899a155672b443dd3723a48ffac70e9d163ec0f8f3d0749fe355748da8ccba02905b2eab40f19a6a1686c6d6b1cd96afe344714fb0c63348615799c4d0b0638ad72c26cfdff78f799723402e602cfebae1723783827080856c9783004afafddf195eb0ee6c8b83244728cd913513c227768a5a6ad2bb30b676cb09a0ae7517529637b7efd5fd458be3f8bd443481454bfe2e2739df983aa7b7a6f541c268dd1a0ec07a3e29e163b857241d25ba21e814613ffc919c03bf85849ce877cc36c52d008e9586a3449bc0072b78f10addcfd51f1913742ad6049376b3118691a97d0351bd98026e173cea56840e4860d1b49689a12779204e5b139f31a25a72eb4939f5a0e17bea986444a2d09d2a34c6119fda71201862e6b3c0af02b737766c9739c00a912f1a48944bc72ff386e2f51d677dcee0ad60df42b4fc1ded9b3ad1d4a34b30f61e1c0636c9846718e7cf08aa13a379ca419314cee473e6305dfc6408d1b6ff089258f7a7b05722cb69afdbb4aa1dacac97bbf38213a86393ee80a32d8914a5534a9d697d1bc7233de72727738e8c314450ef87b98f142204ab25a1910d28ee07ea3206c878c4f17b2006a579526cfa6e8eb18e349f9cde7964aeb4eb3eede2d1b4005b49b0f4247ec38c079752b268c52172a931bd01ebea7426f05fd466fab3a32c1c535f372b5930f8b6c183ba913e10650a881bf05725fc52a25cd5030478e40ca5ae6dc49376233d708ccb354b92526bb59d545bacca7d7a2bb6aa520c59d65892d15ad7208e9ed6ee8564e9a807f1e91cfaccd8706038e11152f45bed232680f728abc441824f33c7e876bbfe9578a12159643d6c8975cc9f987e305665c1757acc30272fbe75383c4c7764baa19d7bdf460e523ec12c87b8de95ce5fa57da58d89b6c5778604899d33c25d103563315fe7c0b30981231d226eb7e7a2465a5bdf24e7372ad7aa640c6dcf29fb8385a3d9589d22dad9d63a17b5cb51365a27e2fd21f6472cf3160ee742ccb7247e78b6b1c2628a51861cc8b034d06e6cccb40001f80e3729aaf47f2982f3fc8d9ceb8960d6af000f58a294b3c7371adc30f934fb011a7729bc184039399cd6b26367fd38bb38349267e4b22d9ffa806281e203c1872d4722644d81981772da6ee24e8733053f9e038c4ac25a390a9312fe35a3859e33d3f7a04477d4db59b837c15f02367633feec3d55209eecb053c26d1b2d136b4214b96c7db9dfb956b909eb0b6eae34edf53cbac07e634aa55776d99352d49b4a625456022b134e72cb6bf7d5e198a2d0ac6127fbe8f02500ec7bcc3d3ca67864d27ab7ec902a955a126fcb2189cd6bd5b7e0451accb2f948728f972e70a4e400c72bb44cd6a3402a06dcb851ecdff54843f144437724fbc6d2ad3f2547a18c2e272f67f9d2d91080d0212dd06a886968eaff8a456e6067c68c5dc7f261d24905f1fe52b38a6cfed7753acf0f432cb536e22e8aefb2ea5943abd589af8e5a71511729aa894b599567b75a30549ccea07d2410db14a0abc5d11fd229ec93664791172c497e257d9baf47ab12f365773061c406480075b8818afad40d4f01cdb9656723c23fd9bb69858041d1b42fd2a91d9703caaf25d5842cf8ecd692d382644e072c1082bb65359fe3f838f5aca19f5c4cdebfe404550756ab7916aa6588ec46504276c5a6cf8517fe6332c156a6cee4f3a749b1ce6451c0e88967911c3548c356947836bc79f83b94fbf07ad073e9eabc72c2ec3261b4af0f0f30198f829f9ac7226f465d6d76f80e59dc783c6ed778678a63a2b3699a154e7e55946c9795567098c9cbbc2ed72329262b4125d60ebbf480c5c5fbb496c6e71b2b385dd732b1a72403a444fdaf1104c5c63f0be3e73a02f0b3cad9fd5884cad291a1424e8ea9c5f472c3d972772b0edccc6966482f1a0162ba3e6226ef6fa57ea5c363d3fa42f727cfd9519798a5e417c2ca889d79ca637315cd317872012586c36a9e8836b57718f46f9d26e48537d0b36a1600e800443ae621c9036d7714a4fe7491e2406a41d5eae48849a11ddb8f595b50cf800b73d969a141797238b424725b1ff194c3b726e5d98548b58268a4a2c69ea1ee5ff2e07ac0562dbd3244cfe3a51f3932fdf38d151167caad7ffa1c1f9533d90ce10b3c3dde3479270b8fc3e7fe11e438452721cd34ff678fa054bd0a369bc938d392a30ae5573a6e4ae692d2d7162b46e5b4c769e62cde5f39856c417239ac14e7badb284e0fa320c820054c5324e3ce31c724df574da7703d7fade04dd6e8516624a327771b3e121fe52173986f0a476a172b254522e33595e9d1829db308fdbe29d37b0a5ca8f302b8b8adea01c2172b772303933d51823b395940f52ec516e4688aa6a73d87fddb01f559f8f811e14133292fd57e9ad0fa8a7a3edd7620751141c693326107cc48672a01c8fd10f9c8772edbe714e42d1b13cf2ba59af850e15a985264a0cc7a2d08f8ecb3ab62117e872f581b16e6959e213350c6e70f791842ae0370f0c84e3071d84a70e9fb2684e725a5d495385990ce0a00b6eb55b501c6bece98d301dd4a74d34a4368d412887720750176b9464e35b1d5ad67bf06ee6e2f26e37a6b9de1f04033cee9ffbca727274fbea08d1f48f255d929c3ee102b0bee5a36f04154269b468c4a5533744f2142c3183bcc74e7b877a740fd4d9adc8101049cb92fd7fd0a5a79b8fa0560fb5727e6761fb9f0104cdf6d9c1ffe27446f693650b36799011cec020a28526e526725a218b9e8f756b5e29ef2a72c990a748aacf30a31ed0629eb15f6695d36f64729667d67de52751c9a5f29ea674a56521c1272fcb645d1a18c896054d5cff5e727e17e8dd186ed257d480f4baf5b1ae397c238eecde676a28d410e0f3f495af727328f1d150c0c7bd92a76a6cbd84610609835f20f3299d9b2a9611e35cde317242d7905699e735001fc1f48a9dba945dc5105a792c91912742aa7190efb3db6798e5826f37dbf82fd61027a3efb179a943ab0fce869a71572de0abba513ac95517eb495adb7bcc0145633ea578b8f4c2b5c22dbfc27fea1803826a13bf677a729b9e5ee5eee3db7ecd685793eebf548c72e12871ee39477b30dc15d189ae3a72faa9d4e17ba1329d8d65f2444740e75329c9dc973b60005b1b9a918396a98d726e6260e62d0f04b46c4420d9bbfff0b5a31fbe236f0be80ea965fe6a8709df5d4367d104601476682993c73bc69ae54758513159de188571a9f104b3ef0c472c198e18a37cd2137ffa00492b73570eff78e21c933e7df2820f2e3b613fbf76219d91caa482e0ae6a685f8439f102e785b3102afb16bac587cdb45c28957ef60c4353a690786fec3af8be6409bae38aabafcccfdf2a3f777db32029fcabca2b3c09ae0a72463676c45d4a8c3e7fa1a06c1a31b52301897b6adf83df145188371a38113b0e3c6633102f9d384be2f1f3c1f1c73e16c060daddc1ef71aece7fae21629039215e1abd7c22f0b5db7ca7f96fcc99823dfcf07f7fcef41d1b582f39633386184372cfc6fcf61446bc3610465d2f77e8a9cea1c126b9d8ecb7065e28722ddb0dcc3621a6ea2ae4145efcb74e13c2a082b464a10d9513fc7a27040c0e7284a3eb01c65d77f50ccbe40b74679087c0e324675a44ff482035ef6298ba21329da2f529cb734eb6d002ec564012cb27ca2683b57ec479547e7c181589f5c670d702e6bb12b9a12ae229200b0eb3b980df9aea450720c90891e4185b25f22872dc4879c695365c39b9a7adb900ee0364d7ce0f5cfdf5c8fab9dd4f0d0e33197291535f1b9004f634eb2d79b8534c633961cd77aeba99ffc6e7f85461894c4c4efddd461a5fd4b17b57a0c16de6ad79cbd037f863cb2ae728ba0678ef3d4486139e0011b16b6fdb22988c3b34aa65ac8dd61c28c340a7efbb489d4cadf94339723ce50641c278dcc3c8f2062ddf74504a1a556c9c75eabe291d99c5f069db8f06f139272ae30c18d32de73d5ef694b77e696863a5406edbfed84d8dda8fa7171df3fdbe3d3f74a4f905a8dfe5cc11cfaeffe7c8c1ffc2cc526bb5618fb7c03872d554ebb5c94600b0339628a800698d83ebd90690cf0729c9cc05fecaaa216a72b90396fa252e4d6c3cb4e3755c302b5dc5f5592200afa3164a3caad91cc96d1ff05c46652697ba8c5321607856816de709c397abf423e8156fc97471c57fce7255b73c83e227f170f444be6a2ff38f87d8e0ca9b6aca7c8d8f605b1af7622172de2983b82b845f51174e633699d30997b6f7925f5904d2dc4630633b88606c729df2c436d702d307b9f1e0f42b9b40e90d7248a2a0040ff207e1eb05f19c427244e4115710a632d8178aacbd8eaa1c1d35b6285137e8193b888e5f452ed93272fc4c6c1692aef0eaddf8abb23cde790b6a7f7c4c9a62f58b623f0c5b96685972d00cc9ed3fa3c177a3c2b3a077dec8e215d5cc9087592954311ce5b51b4c6e72fcbf2d627e126adf9f432c77b7f16fad6061656b86a0ef43c057e8f62305f0720bea0f72a4626842d2a5263901ab054d68e4c1a6e80679655c1831e65ebaa972547223f9cb08e208985775bfd28ac0abbb79e6f0428c673fda712ff71b260d7257eb81e1a3bf33b2db8a7594313f3187f004d939455ba33ef5336ae84a49e26579af907f946cbfcb15ae9a66ab6b409889934dd6b20ab02c60af96945a950d17fcdf465b5033a1df6bffca71c13ec21695c6cc6f1240e39c6ce0a6819890b6723759a3b589a7d2e4e1eaddeb154c06e5cc6280bc8f5e56ee966471ff4b603172f489850b4d37c1b08d50c32b5aca0139dc66a8983f77215baafe54fca4548e726ac0f3bf0bf3551727b9bfef11f767e9112f01aa317a014cc3c50014d2d9fe720df512b1686ecbe1a53a76e560b9e784f046064129836f59c368a8a4772d2271adeefc665ef1774a013089667ed101e934a286f91b2261752584eec22f5d09466a832b637a7f3189fea190a4cbc93f796661371808dcae0d02ea436ddee7fd720b2c5908a65bd797d38992b6fea7dd5da8f89e8730cbfd34c34610ca626ff2723b27001fd8342442aab380cc8f4cfac7c96ec29b3431d66708c53bd46e0ef67202b3b8a557e124e7938405e5c4b2bd15b198f5346e00d7c3b26de3624055944559e06b0943f6a196d8d69b76bc4b19bd680c67db1f79f677fedcec01be1d56438b7a9527dfb8fbca10b94de4df2b71fffd9acb1ea02141a3bd1fa7eb1473b6722f9f8a5809cd92985a7464d65ccd009c5a38a48665dc0b7786b7f41e45105f15237ce4f49cdb9093c8dff0089e23dac7edc7926c8832ce53cc71c6988b2f7c271c77aa254a0309189d3eb561ecbfc3479c08d82ea6dc7d480e7478669865fa72b2f3ac71f7b1868c5d7e00a4a78e73e7d73dc144505eec2d47b4b5c19f2232723b275569d2e84f0f9770b519da68c906639b98e1d632e3acea29dfc210bc1c7207e12881a9f258833ad4f36bc5b83613ce59a1ec924d54fe1161d27ff415641a59bcbd24550fbaa50800891e2447126e5ed52cd6d118123b6c76aa09ad7ae43afae15d075afa81c090647507d29bc7309850dba73c1141502c4c9b3ad8b5b27283defaf1697053934d2fbbcad1259769cf67d72d92cb42bb74a24cd5508eb27253c08cf6c27bfd5cd594585236dc1e86dc041c300bb98b1e7f3d5ec9ce4a96669ab8b19359254462128663bd99e31a964478a77877499c9bbd45e822e588cc72a54036d7ead3fe4749cd1293aa5e14882884015735db2334c4508ce361ee8372bd2f6c5452b6dbe00ce675ddd65b0974017d1baa71885b83f86edc7606119d007aa491d197b665422ac63fe8a6a38161e38d9a839928b7587de8a5522889dc00d42aabe2108031fb6a7b6e1a8b8398e11b7b90bad1c5ba9f9388b4f342fea072808672bc26e6b2fb45417f1cda32fc938bfcddd3602cd9d41662b9a1679f921815cffbdd3790bc9ebc72c11809d7edb71d804fdbdc637014e0c5dc987c419372ce95e2ad0059d0fad20bb5a62427459efd4cff96a7be7fbc8073607f671e304bc7bd3de216ce898563ccf18a3bc6037ff44e7d8ae0f753547cd71181a054fa4ce3f4710ce29af12250424b301f6a7fb4e743e0aa542ec866c2a4f9408dbf6b2b154bdab36a0b4c31c44e3b5643fd7d02e5308dbd6f8edf6c974a364be6d256727c918dc847d421c170d42480933a3f9bc628bce21a5fb4f219f1e233984b387299566661aa87d7bb6c323496232c283e19a15c5c3ee83e3f0dd2c2e7f05dec72275009052a98992245916f7c9d43bc92e48eb0ecfe45a1bc4fa464e52b023572455207b5cbc3e831f97cee0aca7ce2f4d04f22b1a1b77552962aae22f712e072fbe60d6e3dc00900db31c8e8d6155bff8925040ea2a4ae81d59db65772ceda72922ea2463c304747e125062f28c8b9dc5469b9e3f7f6d13f4d7435ce9ee94d537ba74b6502f52a6b570adbeebdeee43c0f25e73086beb1e0cc00c930a15feb39964758d32ead7971ef5e012ae13be224587ef6c476aa91d7fe86100c078b17724afed9f82df23faed3cc89bc08aac537dc8de4299d45457359175ccfbd51d229b6693b81037822d91c18b8499fdc2006ed2b17c0058918605ae39eb2ef69e172f6db80945d480b759a339959b352fea1210516d55a2b3f0459da2fdc41149672d38335eba259bc5a7f0470f81694ca6187284490864d31a1ad6471351406327287ed150abff3b828bb26b6f152d2051e7d93de2eb1a8b71425803ec56bb5cc5926b739da307bcf7a770d90fc62d2aa7e3b618e4fde17785fd73c4cb5aeead611fb0c93a3b7603e779153ce1172e5bfbd2ac4ebafd0149b5f09ca921a45f9f972e2212da09d9b38b496b83f2c4a1263f049cfe51ff38daa8f2c73c0ceae64e0726121bb5dda8228de72e07447210ef49a1c79a4e1a5ae5c971a5058881305b9727e75286eb44d0324f29cd9d60ff6584256a960a8fe4b5641042c32cfda55fa727b8678311a8d19e23d130cf6de01357200e17aa6946a8089983dfe0313d35c7285ad0da8738a44ac8302e224f03da36cb7ef2bf0edd323d2a4a60a9ca49fcc72c7fdabc1ad7a32dba4f09ed0e7be9f932a5a48d891e3354d3f99017b9b8b9a72806a76a65e35e848325aef5381e1133ac08bebbc986dae57b849b63db722d47272423ae219db0c30153526c8a634b118e1b50c326b12134eddd8b1d03008c752c7a932a58a36ca2a04c79fc20d6d196aa13f5431da68660160d59b3b23720b5ecdf5b37541a6b7a32ba19468cc942ff1c79de8c4e2053ab122dfe7237492d0721d48af62c38cbfc2937d541a42651a41d38af21d4db9b3ee77761fbd6816ae722d9670d5a0f75888ac97c9aff40abe82f8fd4d5c8b5982f2ed52b4c9a6aebd2bd8a3cf0be0702934d9c855765d80a3f25ce96e027746a5c5270e3ba1816d1d7283c751def104471172b54ef298bf8b8913a6f6e019cce05b09cc3f3549f9e941a797feeb1228f0f9733dc6cb5a85d5d550fbd484c325d5aafc1b85460afcec3bd97df2731e9ac55a74f931c33541de4561b9c5d7576ccf0ed635601c3442eb33429bcc7796da793328e1f3352899db16dfe5cdc8d737bc7c87291b17a9a76d72e7954a40c16a5e01f95c02fe86d50b2eb8642b286aaec4704abb21afc4c2d2723d944f3ab28db80f803332c0b0dd83eaa86b1468649b51208a8b321cbccb8e72e0e09618f3386e592c000d8a2cdc5de15d2b153650ee980c32951052ef5422630e6d31e3c8c89db03de89d80d5fbe3428e17ee1bc8cc870aa00b183732050272310fecec2dcafa77035b77ef19a15b925f4fed59badc5df392949a02e83ad97264dda9196b888096e1af43369f46923541d386824c11e8225df89252cbde1f6f936c0f6ce47aa9805c0563944df33cfb8ee0bdb2081ee56f107367e2c44f7132c6fe84868a500b96beb52b740c7255c5cb42ff815346b1050f66fe7a70c0cb72c2e9e38a2b44e0e52af13da90a67732abc6d88c8d55443d83d877a439cd83f62a02b6165a9d100e4c794b755d33c39e4d540f79a7134191a600b2d9f15e1bd72eb0121eed8a7a89c550f2f5524609d4c98f7c871ed3b79d3d19288ba0332e13ec33edad6b8996699e0fc71ac96353857c6ed60d65caa0a163f5adb59e23464192b9a6757b6b05f6a8b6d99ee8a361cf32a1662915934c747a3b109994e0c96319f118c235bac0fbd7b711694ad4ada7229f3c332e1c16ee7cbd40f8cf2e5806bd8c5da5afbfe2cce99e702ea27499208bf34984b62ef9275b8d5f580f36b3625942858bfa015c884e134b33f1f8b7a988ca8e2dc74d730e601f542e706ae353d821b5553d3918e86a9f64df65dcf29c00c87128b9b2049da6b4ea5ec48e33c55c7afb79d7958717197f8a41cb783921ed8a0f87f24ecb2dfcb6a887ce4c2637288879205482f86a16582acc00bf29b7fda07ff121f1379a0ddd38d5656e5621965ec50cded8f28cd5fcc530c2abd0b45e65a0f9022223db75d2623dbd69a9e11b10bfb7d7b9fb12afa9bdf82ae8a818237b02ebf43c466a307a77afa2b597d2b1e3856bfd9a56e5302eb9faa4ffbdd937342eabcae02aade5182a9929bfb544ce92f054e2b8289aaa712264a383fb87935effb73ca288d11514cd59265cc4d720c115d3db7bcdbd2944ccceff890281e07d858e87d9c8d09899c98ed2a240d37638d851594c7e14f53487e362a8873f41907adc414ef7cf0d4d7a1559194177268452b304bec4779a3ead63352d6e5a5ba7dc1fce3cd327ad718c466d56b7272422f609d17957f0c1c82494b573b1c4ff823ecc7ee1476f2b5e2da822804357207db8eab13aabbfc282dc85697980ad6340fc6c2f08654099a5cbc907fb250723994c6126334721177412c7f2d96a5c7cd9caa44bd63b1464b2ec1c113ea13509240af5bd9efd8a95a1521b6902dadf19ef7009207d5d6722e3dd4ad14d212722c1e6288dcff9b7bb9fe9311f3a00564a42c54ba5dedbff164847add2cbc46727ba1fe1ae4c21c9616e0ff309d32f8782f451c364bf1da1d7a214a7eec3e9272cc443aff729a94654085203a0d60a009d8b1c06ba3681681a750941d63e52872f4f9f8a3ec0099d2023b40c6187628d281bdf43a7af87624d5b7a73374ac1a7274af23ac7b96300b118d6b4692924f673071aa41ae72161fe9ed43e718a307726563b5985209f63c3e5f96612a22380c577d28960126eb8aec2e2dbaaa8d5a47ca36e7a99c2bfcdbd7f41f4564ad433276ad6125b9a74c16cbd73964a60dae72d99bb06d8a1ebaf1fe363bb673edb8f37c3337c165f6b4c6c070f23263fecf5e66b0d44d8d7ac9996d90dcb08cee81b6c0ab5822421991686c6d0b9b4c23c87225a3c53a616e0dac88fca1cca5f97cbc6b2814ef820444c25118ae1a6c256772f1c61fdb4afd39f689485ef48dc2f67e7cc99d5ca3facf569bc7cade53758e729d5a672e78d473d20cacb578154862ffa3005615cd605f684000420e38af5b72fa6fdfe9afa9b952f4915f69b06461f2d9e52c84387e65e6d07feac4b9c7e7729c8c261f17296f0003837705e22e5733192471b98a1292ae55e37d3da93c4d0aeb8be3558d3d56945fe23dd3138075f56f4b4e24e5bf37287f8d67a77e62c25f16d116d09956572186396726188ddca91ec37623ddbd2c8d5a8a14391c91504a9c14f5db4ae1f4ab87079444ec01ffc62cf7db1e7edad9bc89d0e7141b3a9407d061b2967d187b4cba243ca58d25f61946a438e8696acdcc009f630b5ef11630a14d792a7a5712ac930b095ea34103c388db184ad180273ef75f9bf28b2f2c72d31dc49da74c83165a206e86fed028ccf6086232f71e2b56d6dd2240944f6c7252e0aeac32311075a7b5997fcb867706028859906790033917664e95f2757d721921bc2ec7f3b50c01d95d1ac624229aee367deaaa8188ae5fe1093d124464728165f025268a9e1b6638ec1ed9ba71763e01b753f85d6ea05dfe7a83a002a72ae2e8860daab55c824a280edfce37ba6fd62e37e1defc38b8eaa1b4f403742572c9b7f89b526618c58b006e8b9945db0f85c67e94e24305ff5a24c75d06e6de331e3ebfd44f72c598f5d8c69562f03569cdb103e391b338b0433f9c13d7aee44809730fb066261447ade6e5636e8a6d852966f11acb8b39442a08170dc0a5037212250b9c9c31ef8f284f995b57d4c360c7d2dd86e7ca2944c29f9c04047ee23ec09a70fdb56922327dfad779fb4bab58e0d58b16b8e911fb911e8d98faf45472e9a16db8c651e7d701466ef0c6e79c5cdfa406140bd17d64483b8c927ccc901dbb4fbd1e2e0f7020e568b3d96c2dfb26ca87b8390ae36f0064d5e281405ec5233218842d914e632492818d9cb9a6965d2dfb21a20dc844d5aa3eb401c608c8721e6b608c7743a0bd92c892f83eadf87a6a258fe57c333af48ef25b63d80cf072b9dab4f98ede563368b8ce2b1d2d0951c95bcbe84631776b4106380421920272934835b0a8aa26d715a6d1166aa762efb8fd92ad8a931248c879a502673db17243f3fb0414201c5b8f31c93721f8c7e39fd62370dfb9d3fa817a696e37981e10b233a699b8d5e03324087179ab7cafb6527f31734d13fd783ad9f565ed55b32af60975e4fe8a8ab42054814b3dbe8af4de43286afb6c11a86e62fc24802fb572380240029497887748305bc92e7e98a1724f9d13a797545308a03f906308b2724ed4c2a176a01e348ed4ec5797a4f103480e316e8536f34d0744c9f3bb185f72c9235df3774597d18aedad2a495b1e34ef27f448e2c2ed4983497bd4fcb85672fbd9511cfe0874c28d44a8116ec3ae53234ad6f011b7593c2608aea06b41b1720b997e3437b1d2ec8ec147feb5c8987f4a301041958d72cd86a1c272f884a13a46731600627e5246b89f6c7bba764eda28fff5012be6ba4d5abdbd3d7758e272688477648008b8b058f6fcb5f2bf90fbb8212f9b5a8328ef8601fe6ff133b34b287337e47e3b68e41adc577db0f5d3b0c21e981e492d500ae93f913e60051b728a8d764596705cdf64ae2f8eb7ffe7a97dbb3b32ff24ee3f06d747cfcbf1d072e62b5ffd0bbcd24fcc81c4623b3f7afc3f9c88d8d9c731ba122bfa7fdf3469016c21421d2d681dce56562b679f4c7cd7d5b4a3057e657ccb28d4b49c26f08472e9da2a06cbbd80caaee5ab233e776a54b75e995d2ac0f6b8a6a00027085a7a72b5091229ced7585fb47441d9ba9f9422d1d5a04a699ce2d472395685a61c6072c00bf3124fc6079e85d0408f63ab4bbd915746ab6322885cd5fcbad665defa72c3ec0df6f4a337f93840f8e16e99b644bebfb3aa202fc0623a48ef3fecffe04dd5a560ff6e081ed949bba96c2f77f95d683edb1dc7e5b0a151242158e444d837aac0817de62f12ce29b858c7a1f81ac1ee438663bddbbc7af1065cde7daa76716cdd8817acb3d1072e7536a30c08f6c80e2e13fd4406840abf484d60c9703f3714a26f8e5c21d9e6d28a49cc41bff6fab646ca3923b93b6078b12744215b5a72c25da3e090538011c4a5f2de76a89f77e3e7c92d24fc65aaddd7468717c8ea72eabd959d67a671af40f7156d77332fa7a96dd24ae11e1c63c71474bf7d3a3166d117946396e80836bbaa5b24b8bc0a21b29784c80370830d15b25e4c3ada30723486ebe06a0b32667ecd7c7176ffa3f7fc7abbeca7f55b9165a1035a75ce06234d04d91294e614ac35e41e6b2e4e437f82c6083d685028414b46f363db5d1672989fa02d9f2f297b9b231ea2d8cb235510624d7c9f694fae34c7bace00a729724b8b685fcf0ad91689df2edc9f9ae850529530bd4624bf21914e28104c125255ad1a1ff6a1b60b8bb2da4c341cac90c43de6ab363620cb9a97d3f621cd0b3c38d1cdfb0aca0bf38cf6a9558dd1e42a1f519dfb3ca2da888fef197c8ef9d884729b1634405a35bc9886894871f4e10a76ad65a0c185915064b77ae0dd7705ed04067b31b478045f420e2551cb003ec94866f6372849d353ebe47566593f91924c2476ed940a07b42a540675d9a7ecf856d3489294b7c0ec5b2d9871d79cd49a6465a401dc452809808cf76b05215110630c425a83d7945baff71f875f629dd918421f6ec1014781be7bfcb56b8b0d22b29c3d100e94768716e15dab51fad6eb4663bebff6296638f7d1710a2f5d28465b51fdd5621b00f7f77a75215ac24e2403f13f8c9079a9b7984d11af9efd6f28bdd411b722174dcf52f7df56d9ac1ffc72a3f3a6dbf7444976cb3867b305eec82a31ae52e6a917e1675e5817a58134410ee2dfdda7a2b1194fa051fbbe91aa7a5fb2f3fabda776694eec3955f2918862679367fb933cf9339e1ab5d7d6dde5e2ac3b3d7f8139f7018c42df82cb30e28a720d12712245d3f36d9ce911819adc560f85f8d06add6010a0cb8a24884d697b0015abeb384c886dfc48f3c614165ead70ba79b329af5f6a32ed0aa8c27921137185f2fe2f38082a65361fb2c245c2e60cc7ae61ab8493a7ebf751a5a07a269c4da8b2c8f870ce5078e47bb7aefc8e10aa4031a140e5c33cf2387cee4d3ed852120f288911ba204c71252b4c616b85e3acda9457a06b22988dc73e57495a1c4772f663b22fe3a5b1f4677f204c7137ced5b4fdeb7f61db4613f5ae78daafb67026e4a43ff2a14c97263652449b318b4f6a99e431d46eafcf0ec339a11f84e81172e89257cf43294ca5b2d2e24c2b170dcbd1354f6976dd00749672d571a2c1900f02d69f013ce1e843ab2bacc819c3bc880c4b0dc6a7fd4a084900894c7b5ed264051cd5f3ab4a419028b0e4927c96f6cc5f806d82e8d218bdc8e3a347154633725d6cc0a67820abfe482a557d06ca6abb1e4e4849cb5082b8b95396c26edbae720feb8e682f2333543bea1730680499574674937870a43cd681991914d86d9572fcf983e4427389033016d863cb589b28759f7de152e03c11938b9e2ceea022602620b95900925753ffd4a2b4e609842b0f7f943d6618ca4fa8f2f44ff3625672377db17d35fee09e9e6b8c10901641076c1dcdc8c1ff79c959f8e8ff0ebfa572c27f5faf09348d5b7de1b2a464c11d33027e8fec13dfac0b9fba9d0c071bbb72b58eafd989c282295fc4c98e73727de863ba367abe92905e981f0f51a7993f687f360d03b839b1feb478bd2d3d0d6d96904ef427c46ddf26153ffe1e276b6c2e9e026790de0d780dea88197867f8a54bf6fcc5fb4064cb8ab1f5a4f4523c9e72af00d9352d7beec062b0ce87f29e0c94280253645b16fda9c490581aa271ef2d64aa8332b4d5dce4e9a651406bb3789361a0494caa9f4aeb081bda4293d7ea0d9efefb52594656337dde6f192008319b084a21b14055af993bc5af31a96d1c5bbef9944f64bd3ed681c340ac159e25478ea474d920cbe5d1762c651a7067e4442af3aa7430b85cd6d614b030df0ee31cfeb52a536d25a1fcac55cee2606cc94ec2d716b3c079cd16194e0f3a7cdf206a1be61e8530f9e2012a709f1b45d5c3726122bae7a5f9d38d0e06f00f5ff69bbb58b62ffdd610f3b297453c1ceccf5c37d2878010826e1f2a7bfab2d1ffce9c187c9b26884933ccc293c5c531868af75544a6391129433d9f1a8ce47311506068b0d78f6f7c77beda6f1cdee68536fe63589970505474caec0230841c63c92a923eed818f65f57131e5d236b5442a8f72efad5fb3fec61b7a0480e8325dbd2687c881e5e52e61cf51718276fec9f62c40f77c978f22e42f145ef31dd53ba0b6467796bd15bf9ea33ac0fe428b19fe067217be46df49292a0cb8be4c49ad839d102237e9c06034ad259bdfd4a3dcb7c271f8e8abaece8c7a93c89f1ca51792a76d19835f997153850128c813430a0f5c72695b9d0219aa8cbd0c47689845f4ecfbe8064a142285814f6b2c9b4fd766eb427804f374c1cfc73bb19a1bec6f3ea05cdc13cd945566665ce8213afcf87aed72b064d89bad412f5bf7c23b4690fca1cca8ad844f182c63bb1b13c3c8124bcf720749e5c1d58032e31c2186637565a7a8b93452ac20a74e0267e685acdd7d6d64fb06f680f87ef40d0005936d2c9c48346d505d986354c356f10a449480f28c0a3b71b08333ac7140f5917e578331be4cd861e360d73045569ac5412ca8445e56d7197bef7c731f4641219cb39c437ea7b6e54ef53d91a66cd7fff62faa86dc72358ebb60b79dfb723f3588dac7ffb20022fd6171606a87ceb4889c9812fa3b3cc86608edb0d21125eea1ad76e1558ec89f4a642451cf89470609ddb92beeb17283483253ff2d24548ef22e34428d2eea7d8c22cd5567072b9eb13d1d38a5495653f7373040ea17321c05b6f7b4cd5b3844cfa405ec8f404315b28ca76478ae72815942ca12ebe08230e625d320a7d6f4e80f486b025f5ea38929e518464b813bc035bda5c5319f879d3d8fb686ae2e97531949b811f603c6afa376bc5a9fdf2fc8b18be1649049228eb5b08281bbb91a52f725f1453354fedbe686700d322172fc30102572ca413f99fb65015c2c28a7c3dc065b1acce8702128f600bbdcbc72222bbfff267011f12eb7837e311194946435c2f4ca3e12127978f3302606ee72c1be41446e5c0bba60f9fe998f8ac19329e6b83d8de62bf2ad2d7055aa1a91729eda2fa2c4cf39c781db4ee87e6713691d954fbc439499babd117f459ae390727f0193ebee49e874f9ca8b2830646786ae93757ec408a1cb495adfdac30ae6728b4db41d5d80bab464e9e3350f9663a99a9961ed5c5dbc768424d204a1c391725519d07839b62a490ceb83a3dacf24bad27351298bd472e5f81a652632cf3c1c0547f44fd6ab64b064a26a3f2f7db05af83039cd9a542bee7a4393fde6315972c71c393426722ebd41c6015c1487f5852bda0fcd029fab672974853347ce454022319931f880586253a5353c89a59b9a76361a945407118cdd1268b4a77760473350a6fb53b3d9311d0b0dc32333d4f23000edc5f1b5680a0382c2c9ae3b9b1a73815e59d373e4b61174b3d70f58c2f3c98314ab1a1ca818f9c08958c71eb51dc00bb750f2c3600a8d408e0b836623ee03f9414e44c15a4560f4176446b3ef093db3dbe65fd660a55d8ba3be83763eb550bbe2584a5a5b1318d8105b97222d72b6d3f10b175b799d9d3582a1d2ca3c5effe146085eb5a1046b54aca0019d1b721bb2bae843d9170a2f341713b63f256fbbfd4982ba356a10506752d8d97ade6f21dbcbe290d129d53b264291fb0a84a8d10d8f94d3648de90e4a51245f67157298e73443d7c641b13b86488ca37ea8f3f45be7719eeca8439c1b39fb887e92722e8c16d446ff787653c382a6501b323196f8ef4402bebc03655ebf3d0262347210c9111542a72b23461f6380f5e4481528b1d2c56fc591d0195acfc59cf57708a01200b2af2912e37e89b13a26528068c947747c5de72a226f3f89404b96fe7276d6946f578d0baf1064a27cc997ff9d5eefb2e78db7e9916efe70512370e4725ca264e275a6118790b8349796d866839b0c8c4ae23156d2ed824c89f241791559d3aefc22934bc84e18993d17cf715476c1ac369435e1c73040fd8738d1a372e6444ae4ba47166475b3a36db9e581160ac91355064ea6811b531dbb9200c97299920751f837b6e08084436addb954f12242da39e23d362e1ee69edf57bc994f3a42478123613cca00485f022c0db892dca31d2bf4104f44eb2d240f0ff79c725c7cb2b4c59843aa789809f94dbf3f9d5907e5a7a5259389f622cffd96c850477253c3f13fd70908b048341dfc77c9ba4f54b580a67e52dc44f3275d8748cf594b5e25b805b0e46582a9d0aec90f38226d4e0496460f3e7dcef41b5bc8d5f864710f3b9e9d4e80debd4318a2c6af95f90ce371472bba833bc736c2fb5e1b657277d406291073d58423c90f52456836478b7cd50abc4eed50635581ea51ecc66f3d2366b1b618c525357ab060a51461231ce5621960fa68860d56709441377f103820a0fc554c3e3dc725406a81b95c526c074083f9d58bc42287575552f5a072ec4fd851afa1f1b7614916bc6c48f7f336e5177028f42f4e7db1fc4db1bed672c9702c6c353818ffc5a26436b2461936a502aaf23df7de717031a68e9c040c72010a3861b7f55e854d5968da3089f0c6d2aa32014285e4ca13fe5257627cb072a0c566121dc24b5a6ddc985d2bf6b6adbb6209ad4ddad189b7c5aacd85bf3e5bcf2b30c7042c131c76b01ea7888dc9630ba7572d9b7d4166eb68940a618d9d50b58131efef120b8b0558090475121dea1c55180c65acf9cb0fe68019a2cd6b72a7c28779668ae5295774b11780c195af2642468a5be6c241e1eef211fc33667230e76b3d5d68a98cee444d6722440f418328499965500304331c710ab2132172bfcef7a0ec2de0152924c3d142771c3a5f1adda5d6b54bea1e2afd8179595d72cb5085696b6948675c504c47a07a123bc67f72bc7f0c137bccc7eaa200e80d725dbe51c0f995d61bffe12a828911edef039368a803edd6964956645317b7021e52497f770e86a26f0554a2616473d277086171a56e8d366af974d5d5fe7fba72d9e85d15bb9a54a930f5b7462f50d7aeecac89558f36f567e382dba200672c724326c641292634fc5f86757167452515acb76df9055d5591af3a12277c74ee722e13473bc37b5503230c1637b2c5fa82e86071658ad79199b8264367f92c194b77bfffb3905fba867144a74b8f1e2c66995daf731730fe4bd0618ef42b9ce172efef1806da9061f4c350b14e41be5892d199e5f375e45164886631df380cdb72588ec38f6f0fa619f9f80ade475fe32ca1468345dbf19bc377692077eaaad57280d051750da3dd822ac98567bfb6b41d2a038721267f5a84ede9ef346c57cd72140df33f196bdac0d6a15f2dac93c1c45995fc0836bed6627a74b0d192e0a90337a394ca052f71a8756bce6a7fa22bc21360ccd93e26a15e3e1208a3bdf23e68683bf68e46dac02dc5af24fd6fdc1fcfdabcbde0411f1b4b1417abde7f52c0221da243e177ea36436b3b55fcd1f5ecd5100f9711fdb6abd7d35f956d658b2a726560aca63903674b8b98c3cf2b4de972e960d5f284c3ba65b84908aced2c7572be18770a1a3e69a0889f9b212f2b856db5498fea05d2f7181393dc1d9c92796e0d4620bd2670fcdf54dde80450d0f1a5abdbe9a4bad8c7a55934928f9fa6e37216dd84fc4afb495927d2715f0c013cba6641b03cd869558ea61e3119ad465e72e443a942aab75de805d4c188c22295b5238c7416b601d5db9d54b289db3c37702b67564db234cc19c069d25c9b9addda45010edc4545900ea5538411e8783372e6b89e1478eb778337e93a94a666af06f01914dffd02d74e952d480e85fb50025533b8bb908923a7a66f616503d252251e85ae0d36803129e699b5d0fff67472188a3c332c92385b3f4ffa410a37d519077e97657d67706da58c8ed3228a3e72dec50801a915fadbe25f65755954c30a4732d13fd552bc425eee9ba01a0a4972ca10d01eda88867fb907085a070eede4bb3733f7780e82dda5c1d99d820d8b3df199f5f2a339a4823627dd1e69bb09b22efc3944b67b3b914dd52e65cbd4bc10ede6b6e96db985c5d0a13d7baa0bf71c21705498510279b2b65c9fd7304cd5721526eb981ee3e65c075e504b10919664b99a09393159471405e75b890a7b36725e97bf2bb46803cd791d19655c11ad1c2dc96b35b4cd2f97a5695da7428c4832c68b6fbbf14c72ab61c907e5ce9b024660e9a3d1f393bc9a7859e9a70a85de282dc92f8f67afdf82cfc5007ca060ff2c6fb8c6a0068399b3d93c2d3d528dbd720c6d9a4cf372498f5f35ed1003b7c102118ff4fc2f0299d60d3f93af09f3647268cd7a9ce7d8dd7c812b2d59821b3dfacb1ff61d89b13f7833bf037c55c6386b16974fce21af0a4bfb15de50e9cf4bf3f9b5578b44c57d2911e562e9ade1b5615797c018520f622958181c44387db14ba2e003eb660994852af0828b09d5984530ce5c165cdeebfd5b0ea2ef72cd202884586af247ab65fe4d69cd0ddd871c726e38c5fdbc006b2557313004356de4b70396e10683c443562ddc7f38bdb70870045f3872479b6458ddf395ec19d0c9fa042239abe8b80c6de973cb3fa1f5a072fa13b5274115009d452d410fe6276fb6a319efb932ea846006dfe064de14c96e3180e5355d2b3e0075fbe3b65f723ff7d7a04f9daf93f77bbc319d8880dc0072324f6653698923824ef0ca5d6b223eeccee4c17c46941f2f5f5e1125beec027280fbdb1ca20a07e2d23047090a224115b7f13b648a3cdd18520b05f252de3d72a85c81dcf09b7c45d51ca43bf8661b4571c686d909545b57d17dab19a7c7e672542dd26a1adc6f7ad6ff5156510ce0d738ae9244da3aa5b04d8653458ba5e9727150bc1501dcc792bb3e7d0c3309e4d641aa3902e0586449660c81c663654572f48f8dc78bd11183185947c4ac22bbe8969c7c849d69116f65122317cd7be3555cfde552dc695b4097f4e2182eb9af9c2716fa9d146fe20ff2c7ee7721e296720633a2c420fb86d86245dd3008de2fdc995e4e6b2b74a11682e112f01ee338241ff6c2969f6511c03d6c7a8e04cce3eef997553e237f1346409d61db1b0c737290cc7e1421b83aa25ce86be91d019accd222453001826a22624f7a73796a1a204fd57b5e283b669ddf96cb1925f551f7807342357fb800a82a0a8509c1e71434c58b04df94634a948da1bffba9ab800c8847eca70ea4acdabf56294e3f781f72151705c91fc99676ab5a1430618977de4d14d61d4cbca08042aaf08e0508c3729affa49611c644a88e2c52b494254790dd75a4e7e258a22a1dcc75734179ab0919cc5255133939980af2d3735964782f50a954796b8f180ac311796a4524fd723a5aa28d270cdea2872d386656081c581a281507542d5bebedea91dc8d716172b81031824b22aebac20daf04fe1034a2aad37d621334d2c2989ab84343de7e51fe22f0fa56243e588bb41aaf8d2e9c86629d82c08cdef3279aa60b52ca7a9f72070528a251a4ec699b54ad06f84acb13864bb197fa5d065fc2513b75820ed5724774da6ad4b62b98dd397c414ec5597c7ab565915833800c872d71415c119c72e5d308a847d626bb7f1da5955fd6f3f324223acf1feb235ee988fb88cb8e9a7267dc32d68d87af308d17cc9f08680fea59c8c2f872846613b3b96dd7fc699072a990c14e986886bf6b7ff44bd74517c3c6f8a501213b96618c29524edd2c137282d4bcf7cc3a34bd0b1c1b51ee88e66ce417ef2f32ecae582b13b25cca7cd2290ecc5fe0135309037aae8ab4bf8ae9998274307120af58e835fc52ed1604cd72b24ef4f1bcd7afa77671d734735c519bbbe10a3c3850ad4e4e455aa40657f20825c3eb70eb6df645ca1a990918069dc46c213fe194e773536c281ff52ae1f34344083fdc5ba32e502661f8fe1db6f0d8b9ed4a280ce6e84974ea932cf13198721bafa8df8c703de7ef8cb38c3dfe5c97dddc2d7df08c13b6e85a39a59b11053e038011d1d1cd9470ca5fd1becd48750b37256ddfbcbe01f1e3f0e71d1ab3f7725609c27c8e9c08945f69d6dd724c96be43f43ea6df80ac7399ac7697dc40e772f4dd907b2afb4cce01bdd19520195bda522b817777bf2c9e48cfaa724bbb097220ea26beeb7621b5a86e45c591cdb55c462c965816035882eef04b6c0a0e4162120c329ad36596af938b7f13a12d987b5c0f456d654949bae1033d98f7ba2d72c8b5d41c79e3b263d85adc1990b17a999b0da68519dda66d9930b5b7a219d02f818db6ab00b32bdffd85bd7c7d921ca595e90b04677096a5594a5a675eb69d720677da77279e214769a6769b38aef288f7a42f786aa7c6e0bdbf0269530e9c0d001d510efed9e182fe39f986b6f022c0f8a1e4c2b9f956508602b3edaaa48b5452057e07dd07cc217322bd11a2e53e4b616b61b69333db931212c32e230ea11bce8239235e9e98b940d51c360050e719a203404222916a52957e4280adc9c1502728180127e953558296b0273d314269ad97f541268d723798702b4ae8a57972fb6bd056fda5f753a7123186619c2e35172d7af3c05e432be388498c613a00722347ebdb2a5a7babedf03e5d04dbe890b9d14a4c9177dc458b02cbfe72f21e2340118b4740970867a7ecc4e01baca80725a5eff55d37eb18020e7277d050dc6c38e19a155412e714a518b63bfcb5be22b97e16e0e32a72ddf9c069c3d019f43b762f74ea8d7e4baed5185ef9a837decccd647ba38dc92881a86c9b59e9d0bb6c8ac0b70259de8b80bded1c219e20d4e0a8bc0d43cb963e7ede5894e037f1207259eac7cc29229664aed0a38fd1688587f7b11ccd3c5dc1694c71fd80d6e8b47289a1beff5c66486ae6f57248bc3d16cef8437dc2ab5e0590d9db082a616a5a281f3899d122cce46c61191da8b75fd1f74de5953abe912c63791aa02b3ac9fe456374ae177da37347644475ee38d5d00bc6d1ad080b5efa77202c2ec609ab7a43c76be76d805a42ce0f1b27369bba8bf23afbc3b5b5a8584c350cd2becc04aa72616718b515e2373a034c6bb16cd0a4e9a66beaa9a2a678f25cc8a253eee1876c2195f1150c385bfc5805a7fa03aa66c4305806e9558545219ff6975aa5eabd72432f36bf8352986fc79aafd753a97f7bd49319e730cb446e4378bd67a79c59723f15c725a5db8f9dca9d8592e8bc5ef9ee20588f1fd535bc6fa4ee18a11fb85f5207ec0712d9f98103f5ea21b8f2289609ef0d346dac2793a1116c2040a7e35a6de3107bdfa01823ccf99dd48eb09fc441eea502f12d6cc6a4e764b99003b972f984548dfae758494e163730b20e7172ae0c48584e8d3d9e15aedba18fca2b720ac3f7a307af406d4b724b9db032bf22941de510f8d5a6579ef8de9775b247432d556e763a55d74a11b97d3a095f731a9e48cda3669f088f5b3024c31baf117237dc4f804a183b37dea5afebeb524486c1f4d4b2be3b97847acc130989e46a38f1984c1b2cea115af315fa802a4216590553e5be66fef1deff8cff3d25714f15fd13a54576882d31280a5c51386989f5f0d4b9a9adb9b4e3f13143ca0dce644d34155916abbe8282a0cdbd64d415d6b24baca1b1b27147bbe10c3ca4e36da34eac91e259064df41242a7051fd1386f6462289ec8009da40259762735ee694a39548612504a6b17cd18f288c3cd5d1e0830104a20f4c2d679531555b7c4c07301bffb071150a5158550e247f6d5931adcf89a88d32199edcbde7792693d316649c17b93949ec6996b48ff13383704aabfedb8162d42a31ce1843cad3dffa4af1bc33f6a7fcbe40837bf850ab6a68005616a4d2ac89fdf0f1eacb3713e7e95e472d1828e5817dddf41f882f0dd101a2f0d486deb671f4269f2f3cc4694405c06726b51744e48c6644431084069c276a64922aee265c501badc4b463f9f71347572bec3aba51316b6cc3dc077da03fc1681ed8430290b94af6696dc5d0bd8c31c72ec466d722b2c7ad0c4de82c378e5e273aa715640a0ee58655d22ed02f9a8752e5087e99fa1d2db1b026b7dfec43fd837af0fdc982ff39c6f10939e25ff7d52118ae63fb953891b0f6af023d5659d15db7a32ba727b2d066f98fd066789a4555a526583f0a1b015ae843ee7c897b91216e9a96ca8fb080cbd1631988858b982725aaf6575641efce25d045b37fdb68493c888fd2c9f7451ebc768709abcaa70391abc5420469fb5919c5af32c689326189b3458095d7ed6a19b1b0471e852ab2852e0c33e36c7da1a598a317ae45d9ca621661344a47a65c0d2de9f8b0f973a728355351e9f07a78a64ce9c6f2937a21aa22a75354be438be867f17e71b1c9669e14fdea42918c9ba5320ae66fa35acf63c2df88610a3516ee7809f6f00103a728c11a87004adef376d691c83470e7dfeef172c1a42345268b64f30a35659f15a2a8447bf2db3ac9c6f3fcd59b2a0c20c1a1d59473315ab45b052e60b75888172707d1c18cbfa21745c2b9c155f47789be871764dc40d877cbe6e8b05c65afa728142563e7b6c4da5ba2e06c5ebd452405026a9d5c989b6e5169b91155971c6388e98a57aa965ea4ddc81222a0c9e5aa888ce29c97175e48dc3c0456cef9d98727785f8432d4e65ffd4425ec737fedb252767d44ae5bcaef4f8f32c74444d2572ab7238cc41ecfbba0b7740e4b7da9f9f0b300340a620cb99f6d38cd623527672343616fe54c1aafc39b271494e3a265ce3f2410a3c3a14d6d7c7d16dc23d6072bdf933607449381dd85feedb73588fc09510372eeb99ab9b090233df8f1adf7263c48503c143529aa94d79ffd60ebb2bbc72ef3611b7c0bd6354b7af4b28c3411acd58ef81c4b4670c7c124a865d8d03fc9a87067a3e1419001b61f5752322725dab3cbf6ba862207fe2f33b44f0e20fe8b7ffb87427ca71b2d65d4d26650c179d53e9747177c255c5afa9453d6ce16fdca0b704453ad5356e336629469b7f720b2aed0213b6c853bb426e7356356829df2e5a78e81462e7132cbcdb2f090472ee1fdb557b2a9ad17d337c838c7fa12ad301d82e88d26503a6ac05befaa2647208c63501538d5e155f6bd04e7f0fec1c547c4179a99aa45d7f60f34a51429c315047e9dcb9b8e36174bb3a07bc398d457ef4e736517821ce9007813b110262724157f17883016c66581c33f64f78998b2534950147500f4c0f31e66959edb446efe99b05a96ddce27276873cb593ca008fa7a6e82a1017af19f0232802917f02679fa7ed38bade46303f54124be475b3755cae4ebfafd532305e4fa1cc861d7257905b5816f179dabada52ca384f2adcb3a96005fc38487ffeca2cd10810db72a8342aff32b34a0d3e8ad50a010640eb8314ef1b33d45118a52ef126c30f4f728d7b6566b9774b621cfd51a5d0b2dc5ce2d8bc4d4faf02e24e48754e8ff6247257fdc11746f2ed6de4cd130d0e366ced3b5856f456fae499cbf5107d3188e27217e8c0bea5859bff8ed34c58627a7364c115980fab925daae42cb8bc9dd4774d2dbbce44a91a5422be23221e633cd21f95b1b78a50989aa48b61749df5602d72f146b6a484e35203831cc7ca09a6c59fef09112d8a01c705e85a1d61f2f6d3721703f90d4b30fa0dcced2e2cc1d080ba3d442f66f9d1e34544b5678bf657460d548dc18a10cc8eb344ba9035636fd9cbc10dce2a634a34ffcdb8e0ce5a796172a6df555a09307146a4a28a93aa926724da026b58b9f12363c9dfe394ca4a9072188f3f81af04f68e34d4bf6a9f6584dc9be15559fff91ec903741436817b5b61b5ced415779b120060f2c614acb074d25e1b25a6b91cb3188c9f8af1d25f5123f4a8b5f3376a39ed4d32e0500f508e54134d1f6b1ef9dd865866781283f74a72eec230bd1e097e97a39f61b86e0d7247957b444fae628fe33b1ae06cc572c772c70055f4c9f707b94aef3a3268e9dea88d7b06ae6b19e4177f25c4f08dcea0729df3acd727341b65e26069ff8ecc9a84d072e018bf70d506c8083b2fc8e9ff725458c90ee41e710198896b20e728599aa8aafbc1e0c1ef4959fe051be0feba72dda0ab7002ef9e0131e18788bc64c6fd1a7722d0a00a4d26a5c95425ca3a5d72d12726811b23ba5ac0e9218ccaa8a39b59ef267137d9e801abbea6e7063830193ad38d667b7096a948a354a8a2387d14ca599844eb18308bd78bacb3ad09075ead773f5252f40a9167f670bf0be81f6a506b4cdda69f77f33045780398464a724a4de2eca2056e0143017f0aaa5ad2d5d9b05af027f8d9a2ca5d0b747c505544fe5484bce0916edcae94db5c954e5603bb404beb985491694d7e77782a90c97297687f6d8ecc5f2ba98c67c7bdf5bb5f59ab6d3f9d730c24b75b58ae02bbb95581319118bedc1e96d32546ec6e076ea280d27f59ddf202af393a94fb8239a15f7578ea242792b84c49e07b0aafb961dcbae1333f2d950cd21de87e5bb7584072b78cd288630d350bdd351bbca38b092896aef3eced50ccd97e9ad653e6dce772f514265031cf6586f956f2014aa879eb2b76fac911f0b30384b74c32df082a72bb9aa6560ee324e33d57cb4ff728c52541f9694edcbb411e70d3f305412b01728b9b4319d462d26438741291adb1bb0c6ed3482a227148f257ff153807f28f7237360fc4f29e8096c9108677f89a389c9efce9c1f107a6621a6d4b22c3eb497263e4709781d1f9675232ff0214bfe4d3f8b25fcc8b47bf9e3e33b3a7ec6c137204d8302f2c796f0c9c87ebc000b6e5538da4cb6374a6743c275ede79bb19ae68129b4ee50f4038322f39adb4ea38333b803bb69e96a1ec60e15d28789bef2256eb6e70c9f1edb4a8715912cd2e5c6150ed2230876cd9e47706576e24fa561d63e0cb90c755f7e065e24ad216b126c142829a4e68ebe949174eded2c00f39754b77ac8e98f1f5b8f2116935d3e4bf346bbf78cd33a5ff1d84453804bb07ba5c72c7a26932149bf37c1996abe4202444addf5028009117c88923354213179ff006f7ab41c3a71b99c5674ba276f533110e20dd8263dcf693c9b64b3f4bf0a28b723000a51d11d25502bede1f8f725645173f6ac896e4a4e42f33987e88c1f356729b5862da2501f7206f2292621ede9b70f8a286d4fa2347949e8686a6c1f9602363c2d4e994d05b54482d40ec380abaa3f9c1871926dd35f37202c44878841872badbc629497293b64f2afae47af2361c8d559db3f95c8e8afde70554527f907201affad0e8ff88c876274d3be9779798f34126d032e26f33003230d35e7e56723b8ad0423297ca713323c84ee0b7d60b7ff6eeea747f0babccf439899206ce72d6558ab974121506bd37d3b0595d738e01fdc1ff0ea1ed03e0d7015d4c573f2e3db2ef534a410ff24ea0b227919ba4f18502c65c1e726098960d96f74012227270e6d9bdc8edbf3f29e8423fa2ac8d81032fdf9bba84699438ff0c0b5c9069722627d02bb6142fd8d2cdee57afb6a88afc68a9c2b05ab7bc547fbb6c40babe1daffddac9885146cc095ba5710fc7ac04d0623aa682dce02c8ec6dd46e718b572d22eaa74d5fab0971f9ad50bd6959399e0df6c8a20afbd04f7a1ada1db5cff72e930e638528517e13f0882df73bbfccea6327a5114148ccfd05860be2e8c057219a368f3595d3f49671a56e05fb279ad247fa3c0c3c0c6e56c8bd97ea3236172addc815c531fe298d7c25dd55625f002533ca1980bb2a7ca7af0c447bfda81725a3b25fc9eeccc15c72a83db55fc351e2c2fe3881e5189acbc1101433f2f8472d327530d7c7569dbecf2edbaf8ec98aebee719bdd2f4accf34c2155ddbfbfe72da7567789b52717b1de1229fc3e7a96530da2e554403aaf241d3036bdcbbee06ade44caf55793e18646394897a48ad0215c9d41062b431ba7a786b8430349272948ebdf2cf946c3e15e352e06e89de22e94db124353091e6e4bb356917f73316317525084e446544fa7fb14945ef53a900324479b796d4f0e38f40970a9ff7720e116d8e563b44d821a813ce1ec9e183b51fefa8e4043f96dcd5a56f0da4ed403e37a9186ee03762ba885453cf18063dbbc84b4df0055039107a162f44d1b972ffb157001a03e90548b0399e3b7a823ed00b5087679bd50afd8fc73476fead72af018ca1e2d44f5c94fc1fb052aafdc1d50574b8e928363d49a78dd1d6d2633d5f97b1a07cf9703bd3ecdcb222b65824e24c434df329d4107b5a867f57d60171311128ed6dd5e13ac5aa591da3feb47292136853379f47390a4284963a4221468eb4f9ce3c8f9c9e538e5a17b0e471d750322807e7145407a378ab1b9ae754532f4e4eeb374e66aa4b90268931cd72caa8f7d16cc509ebe37d5eb8f24c9e2c60020a9cf145bd353b115256aabddc95cd2d9ae6c45e064e3ca3e5abd34cb70229ba991738e7cb0b49bed2566a0ca1961c12e2ccdfa9a2d2ad977de61720b85b2b2588f1dfb3719ece2231fc2c7c4d4edaa41e612af156f0b59f3b21bfaa30fc72b2c20d95308a01a69766b130263564254ccc6f51fb3e3f35dddad1e088b70315ad374610e1b9114be9b6d6a8ad3028781b504f363585ab86d7a0fa04f7dba772be5a088a858fc333feb3b61bf3b7786f3c092fc5007360c33da69ecb6256d66df64cf446a91d5067f2924ee1449f16da26894a2e422e255e7a3286094f4c617216c00fd9908508e028bfb7ba60c0dec6a1d00b11cfaa71d922b55a5417d1c372813ca80c800612c59505da0cc1682490bb3db1f44574876e7b3151069db6d869fa058d22a0cc33b2ed50cade3e7e7ab115673c98ec0a69c496988a6b52cf732d6ed20e8e93e0e0345d07b55313ed832d5e24899d8e7474c0777b2a3504fd8572fed420b0848993d034b27dbcb8e4b9ace286dc3cf6d74004513228c2f7b4e30986e5463b818c53be62a67a43322cf31cb05d8e82e30a60c97ae7b6f633b7ef41958981301f41db2a62cd8cb623f9d4e5ec8440c7c97dc9f00bebe89dcca232728e16e3ad5b154d60f272ee32f6d6ab7d95fdd5bd0f9e22b5c7023df972a29f72f6f947c0de5f11aa067333b2c14530fc751a4870fac2001b1b3650c1db695521d70385281f81b050236d01fd32bc5515a485d3fc7a3775da41a063d0f7bfd3722f46dc43abadaad2785311bfdfe67e3365dc5e8c2a36a697b4acd539aeef147288bad98ccc27a7f076502ecc4467d260f941a4bef0f2caa8007518238c658e7205ac9ea895f96b2043a97c61e5720ccd323463c1ef39fe60fb86801572307f5f76b9cc8e65ec514c253b6792f94c1efee44c27d0fc23f3dd8111c4dea16ed372fbc573fa40ce721bc3ef5a49d2e1b89096e30c2174f326d69ba1ebceb11eac72b2aae67c2d205b6bb0654f8823a680faa1a1dd7bf3827b257b98abbb3e5dad7227d7c5deebef55b51bd051ed3cf5e6528d1690cf04b30af3f9bb796bcd6f611df6eaaaffb9f5c7581d6d1a20730e62a730c90ef355e05a6d93a41ec4d7d76672a31ccbedcf1ddb6a1635b9489a54b884ddd2cb1686b21b99ad52e3015e0a4855a3c35d2f7078739842027bdcca0089bdacc93b7c35c23ea57287bac2a0df95721c8a6c318fa8d962eb411d23d8f770106e7daa881588f804291b71b521c98708bb351f9f884ddb19b28794057cbca1e3d969be8f213774556a085ee2a9e15d72b140be59df9adcb946a8933e386ba99b53af5d5df61a868e8b510f9b3dbd967226df7b05bde21e150ea7f704a8c20d790985abfbc284414322931631d5344455d815116202a985f1601e4bd75691e1a1e1b5480bd86f756d0ffe41b023101b4b425781293cdc091fb8e6889499ca9c0f677b90024efdf69ca6d377aa16845c4b93fd6d9004cd899e478aa8b59d57705eae171cb8d36472d694ec0a50accbc76b3c9015cb14d08add176b6d4cabc6ac7bd4bca209be9bbaed28ed327c85222c726a60e987a26ec2fc747d7df21c34638744bb613362ff1f890692b7a696ddae729a66a7bbe097d696de161216007f63768d72230b57c82b34baa35931196fe163e73638bc5b6c95f60e3f4791d85b7ae24a970af206d6ee6e015e9ac61ffa7f3ba557e8da04b31ae7cab4c8448b464bc509f540e75124ca97a3c8aa14acc34c4afee7c4c326394ae8d5298c76d54516bab9c3467c1eccf947e491b130d0f7aa7262f0274df2ab657969fed9627fc3c2b02b42bd0892d89b6a575087dca37bd172cddf65a59dd924bb1548fb53a52af8a6e0866b0db04186d43e99df0fef811072fdf5151b55da992f2093ce03e68c3da65f6f85e5e3118c499bf8c0e6689ad972bdb9c7092962748d2c946b1117335f72392f3c792cea7044ca45c30c4dc6e572200f22c4eb34e1675069ef98a8dd17fcda1269f4613fde7649c543928b8e1c35b5d410f0cf468143f962f0d514a0f6ca6d197d8377ae41e6d9100613642e0172ab7374142b9f3a504b0b734c27aeb640148b656995c2e982696f9e4123ed4572a8ae91bfe670841a0899c5a3d7def912da5a14ae0d3d759f719ddde14d988b5875a0fc5b6fdd952ccc2f3a18cce9b3c20dd346c0061ccb12c1b44ac7b045f028cad896013772555e36912edc4c3ddbb8073636841972581f47d204bcd6f94a5d4f2aaa9d6a6d9a5462415be12a96f586205a913b4bf2ff56f917ba8089a70272575c1c36d84a7bab921b9ba24322dbd87f0189a7969ff185ded6db9aa29eea72dde19a6bdfff2a5e5f92d5eb6ce1b6aa934948800c37f6cdfa839ff3405cb372830a285344337d6ffe6f0780e6ee635b8ffe87f47879a64503557fa429ed7d2ddfc495a68843296b1c3bede94393f5b0d57f71cb64cb64e1e97e5d26ffdc893a9d55cead605153ae677d57772272120a3672e1bd629e6458e674704a4d28f17253db2c9ffe5f970eaec2cc2607f8b536ff773c5692e4963d979e7f95c5521272f8f466e9dd4db6d90a48303001952ca7d48f86aa236ae4043176fe169d8f017283a8c75536a5ba83c75d0458f4e8887e4e2c6194bfb056549e5a14f154252c721453b456b90e42042d1dc6fb509a44bad603a6de78b99297c61491621b728d72244c9cecf19b6bac5e3346f0b4fcf93612ac27f2e0660b5d43afa81a6928c272d5ac90966812316a187621d3fe9b38cec33b68c93c89f40485be75d80f0637615ad3497340a170240c33183839e67b8f07e9be2c806837a3ce8e618d22729f72e8e999345941383027623df7e38dcb3b833e4d25243c54ef881defa8ecae4d70687c319f63537cbfe2930e147e3e424b6f7887c0d8cc1a1160ca1a9b5c593672b3210120eb41cd1dcc86064ba560d2879a74cc80cf1e8c0b2038e32992b5ea72d9bf56d59d72a705cb23225956a3547f4106bac76c5e321485214ca968ac522d5a3d4decc7ed35f714255ad099ce22e462b0976c04e5d3da2f3341f7cada697282501bfa92800188bcb9fb01f846645102f567b20a6eec4db43e1dafad85b8722117a8ad94ee1d9f371912d062542f594107ca9f21108e2c0cb04f1acceef90561c8d59331f9e56c462b74e3a483b64bd2db16e2c7d1a5ccfb1b0629ec35296706be582e24a8cb8227e6978afb6ccb6c8aa51b33361b32986884b81e6c140f63da597c5f082284be12e627d1f5bde91e1612e9f0ed98fc6ab89b561b989bbe32e54e7c2af6252bb9b9614b0ee7bf7f1eaa520674d93bc4a3040281696e1cf9727dfca423c4dac4db6f0a278273179625bfd71d845b46b95eb10aeeefeaadb272573fb68b7cf24c80a90a4b810f27da3ba6ad2c506455a1d16315bbcb37c2c371c6cfdd092c6c1a8880c5457305b72b53451132edc584c3e25c4ec606682ab5725c742024aa29da05cf3a7ca629c6829c6c3bbae86f5292d4fbf4213d15497c7271aa9ae6895fabe93a13116dcc9e6e934864812a8f6d1467ca61b87d137414725f5d7ead3a47f28ab2b24bac79e56f906c8233245fe793771fca41738cf11f7266a7cf01f05c39e0c1dacab06ef56d203898a4e217a6624beda485d62b3b4f72a0be8e35e1b423ebc6cfb1fb533cdbf18f219a2251f372acba54d4b27c36f872239eb04b9ce898075f7d22013a5b0c166d3492c984da6f498ffcc519fa70fb713aefa16d7ac0e7906932d15b31dbf8ea6aa9648472d49b25f57b467d69378e72539a710672e2b41c73369f1a7f9048eefaed399f005c3d179126081c22fc8f723ad303031feaaf1bf3867265b2566ce38f24b0c1be3e2d233bc6fdd49b56e40657605d2e8f8f03457c8ec7f82c8c3a5c48dc7a5e367d07c861a054463397c73385ca255a4733ce25d1ba22771a6b3ec0449ab824c5eae87148f7ca42f5a01d13650273081fa782420e8caae2b346ce9db51f970b29d1df1a7cb0325a82a3ab27c1a8bee1b5ec502b8cddc0e81ca6091594c21a169e3f7a67728813458d075a72b62e0cc5d005f877f73d87bae96e6f3a045a710f8ed28289b82d2d1d2b3af4729e5ea74713a28aec9abfb180ccf3e518e8a8543bddde59d87524551979cee972e9ecb1a8a1323504cd17a7b64b98a5076706e414e5eaf83bf7768725b2518910a9b175c316090ff7e1224cf64e627097929302a6af86e0aeef85f2b2bd09b472d06ee4c8a004527ea640b109180aed39bc4741ea9251436c6e06ce484b259e72f5eb74e628398ee0b2810dd51ac887995943791a4816bfd8c7b5297b7d1aa972d504a06bee74f7b319e5e358ea740640e9663f64d94ea6d3f6ae3808ed425672b26beb94c2a0479539160d22c3268339319caa1697e877906441204cfd324e20cf48f99ab62544115902eddf3470289f9ec6e0b671ded91d5f79b363c133c0724cf95088245dc5c8f58e475ba9db0cd8d94d3c4e77ebb16c6f8409eec8e369724d1abb756fde02aa169dd0122bc05778e523115ef6af4512d9b892dd84018a6c3d140e8d9235e72b88eb58c999d26557df40cef1d794001771c29fa77de01d1fbe446b67214f58bbc24ddf4535adc14ece268cc039f923a507a7a780c39edf72c67139e5f2a0468e9cfc22c9c58a5615bc4be95cde369414814c75d1fefe5972d8e4f72c4afbbec475ac38d7adea97f29f16d3997fe0d62b4a631408d996d961bf23e8da081d5e1c8fef7632b07abf2f8ac3b296fab204fc3aa74b0ba9dad3720f84fc3a9b043189e76f160b730b4c3685b7e3f24c30051ac095248444fe0727e5d76ca1d0416d6ef6213da87c9d5db50130e71b4eca12913c57d6934dfd5372202d70ef3f5f11dc3abf0256ef2259adb83da80458477162c4394ba02899f44dcf6d25f3ab7a3fd7679139a69c23a1a95059169aa3a7e1176c2b12f6ee5215727c10526056c4cad112da123ad2d1e2d2b46c950ce9835aa561880bb996881772e94427baa61ae518af04a328954d7557c02b3e1f744e84bd145a86c382498e5a0e3754ab18afd76f55cb4d78f4e8b941b4bd55dfd8131d2a461b5aaca07cf734296cc01aea56a981fa9752b90e1b8304cdef81610d0c5e697ecc438cab65e772f0fef9d6848333a2e50b21705e5369a71dc4a975f0f55af29a44384fc1453c724c5866766dc8de304d11f50fa96e88762bc1236e843e6c7bcfc763c2d128b572a89cc8bef59860647342ae489980714b7688978667109041e91310f5764fa4725df8b3973761239d87edda3c3ebff81e0105b645a5a385a6a6480fedbf980f7239aaee1ef9241d972256dd421a52983c80df28f28232d70cf829a9772d82903b90d77b57bf6e77aa73657078db3bc3607123dac1288e8a9a815a6d01d2d60d728e9f36340957e00cb01405bdb812c26faeaba09dce1683a7a177e1ad9ecb4a38483f22d840db1a23b328e0d4b2c7f46a7264a9d96b1e26229f4c2b23e5962e725e3767a357214a6a5ec95a08cc666be277fbce5d55df900a4834f72f4a8ab803a9d3baad031b739637b2b56acef02aae54bfa1f9089ea0008d31ea87259b72685ca87b0146823d7688fd6b2d3c5474f34b53e7c4e4329e4bed54364da36c245aa18a4b02ae6d91ac3b126c937935d9bf119da06ff90b41ad92ab9fc0876e1b030f9534b7a92f9a845c08f2537885949be2aa1a3ff83e59a50f4364077e31a272d84b002e73467eb551eae130286672ad522cae758fea385cd6574e3be84949726b0960831b1b9ccab61b67fc14fc9100b3e1f9e8a6c485fd57c59864beb7783cda608ede6ed11d5398c21f85b7e749852ea083308ce65d999cf3eb2ff34414725e65c9a40ad1633b62950b0c920d65916fce3ce7e7d7d99b123af9d90e92066fa653a934ff03775b64a2a54b7d88a8be5239a42ba4382eaf77963ca01e36cc6ec797a18772f5922a27c4360182f67b3444d035018dda549975e6f694a371111341f927c1ad3ca82f7e3b3aa9419fd43c1040f5d18702a88646f47e45650c4172b1d56a6414283572ed0f79b71fad0676e03df61b21b3c3da65de9cfe6545d07249c67cf9cd20782c19bc831c828dafc97d30ef718bdfbd36ec91543da090ec72987b2c2ea950b339f36d71ff8573ed331018f9e60638195440d189ca05836c720dfa54bca13ba39b2584e1a6641c61bce34482b89dbc92bc3746277ae92fd72c20c00a87ac02e8f68afd1f83dd3f161ae5f20abd29139e7ab952af8d06298672279865d9cda68bb32ff33104d295b0d1e6d4a2aa81e159bcc876c36c0946365e67d745ddf6f80bec35f6625ed8f120dab2901b239d06d72c99cc9d60fcd59072f6d56123c2db5e1101d00864d00b369ac2619dc196669f1f5f642f967c90a0729bf455a5b03b64fb7f67a88b2c3f221ac7a59099f87ababfbc9546219fc14e7297ea4cbab48ea6224f744068b342cb65d0f858d2395d2b10d783e648a41ad67223519760dd5ee8946901ba53b22ff43270ceb9900b9a9c41b6396e9031827172c4a13a310a542769ff37de967d5618756f5f709f717a1d806d3767842f6eb772de4e25fd22a1c1689088c176bcb6dc9b903f35118e5c7800155e07ef79e2cc72dcecd645b41bc47fb183103895cc92f90ffce30dd452515a6e21ef7f2bf12854739aba274c52a3a37ecc76aceaaaa67447cbe03622cfb4d1388f273ca7803c72c05a0c1f95d4794fc7b440e7d9155f2d9fbcea93e75b61d55a9af5755a4ecf72df7625b289ba7b27a70978ad52270a5df35c06d77725a74eaf9370469dc5e566a12458fa9c5eb6260cadf94e4ac2d0668ee58a013ec66f239a9851c5742fd372f466e7ad8e2df72e491b4ed5b6cec4c1b98d7075f3fbafae893b7d298c33bb72c9fa8311edae73d6fb837b3edd4f6691178475bb3a33532ccb4c0b64c095cc725d6efb89414cb559785336aa7db3ba88e0c15a23f27aa7835c0f1f2f6d47351a82f842e3b22b6b8471c6ebd2ce45836cfe869a9f308e79ad48bff32c99a3d872ae1c91786a8e8205ff801f5accc5673053d48f6df46d2cd9fd4691bbca279d727e63c8a64d89029c080265b1d09d636852ace09a5b7f56c604f80a1724f2b0519456b71e3fe192bb19a149e3278c854d64ac2848f19a5a9587b073f1b5a545126131cffc9e87d2bef3a9ba1ad071ea56b1600e71a4f2837d7197eae212f09d5f8eabca5ee574d6243c186a4b5d9e14800fd6b7e74a766b897846a0fa164e452491829a19b49e586c08b224ac51c4dc78259f80c0e1227fa22ccc0724057398729a8b4af17e7c6f58cee9eb9475dd75d85b2e10d817bc21be4dcca83defb2b22ece33026b5e6eb9832ff19f05b6aadd9194ae1e2918f99cf214c489251d8fdb72b12138e4574fce4559c00aecaea77393a86aab54326714e1d9ad60a77125c572f6cb05ef53e4a0659633ed48757f782686889784e77d77ae87de3050f47fa472ce2d5b4f3f91c952546492234d9ba489a4e0f5ebb6b8344a8e346af6d8f9e9720af28e4ffa6c53145cb570a20e08741b569a1b1848098c3947737140955c2d72ae2ec0bab6dd8b9109f57a006afc5a1f7177ee63baa2be4091cc85b4f402fc58ee4d7b6545fddce8d9e947584673c5b4db6769a4e594ec7d3efb12dd7c156872c19874cfdc4c0fc55c777ebf32f6cb2b5ab8298bb906445037009bc22566547208447c44af9761aca8aed5484ad443924e46ff081c816f5854c5d20f11fedb7250b49935e38b50ce12db03bf0eca496f54665c4794ea3f4cb5e321b9d74be37279f4d8f8e8012ee533a9d8492311b40b61be10ab1a2023a23804d3dc51fda872044788d24129b06415bd551954f9b83ba6efa7958416f263a6ba770632927672ef9717cb7ea1bbc3fbd6d624867d1a2cc5e9e1a054c7e69876d51188f350a043dd371f13e1b315e22903fdfb3d80c16809683503f626be691ad85cbe4a283c723b03c0dadf9da4d112025c0fa48b8e2f73c5b0ea9434e5fa78b30bb84066747296716658235ee9d11bf0026fbc802c957fc92d5d073e922ee9a9e90297e253598f4c8275a58dbc0bd727d6815d3c92db7d5b6ff566f415a555b4ce8d56f0895efdca7507e555ffeaa996695f53afb1ddbc41f6994a0923b340cdb47da9b6c272725b40cd92d84e28af744808927671bfac7639edb7ebb70f2b9394b5850dd472b9650ab4f37c47800cfc5dab8339b6c6b27bc50bba470702577bffa3e184aa72c03741130ea14173c1334e632f8c5a0969249121eea421627767a86356b26e72f958a4c43964b5e3b191631829addc5b3e8c37404d8bb92653821de1b9b1c04caa72c47ea2fcde002ce1c6c1c9910f32f71ebf6552c90848dd764ccc8ad191722ffe0d667198f201e41a502b2b73c7fed89dd033444661f7c51f05c29133802f2118013ed3b0119fb1658d32cf927cdefb4f9f23288f7e9c1a4a1d407a14f53f4c63d0481f4f6629855d08125941ce8f20d1c26bbbed8b09782a694dfc2c6c7222b22d05e0aa1f23d1533994db99fff55f581329585f7d8cfb61b79a986a6e7239bc3405d765dd3d3c3f25c6c14f198e499c138cf7cfa85498b19c2428651a7277848d4dc9b588049133ad825ebb6abd84cdf045f3a3bba2000d1607bfde2072d0ac0610373dda9ea78eb755eca239d48cf0207428d94041fd35596169c2773c9350bbd11b3a4a709d31f1420e9c38ffc8a949c404bfe22b2411012bd50b7272163cbba397291cdd4c472a67804795807a93df009600553e7889ce0bdb522c0460cdf125c90b5c12134c4012368fe27fc55d9c7c7960a6534e7d96aa93d034350881aaf51653bb227e22e2ffe4485d0917910e2460ee2e6a86e106ce12b12c65d9fbc313d956b382c610c24cb5bc444b4d6bb5766ad132235955e83dea3b8e722da8e9efc0e5e249649b267bfc572a23e93f424862222fc72b4aa1c21c27a01abd70566de1426263e4d2c5d9d2233d4d75d32986bd9a139916be27194a98ea4480dc3d90413545070d67326456ea3b7a811a83bf1dc9da43803122959015a049424b2beac782d78de9bfec39cdfae9c46601f0a600a8f690b198535c03b6835b74b61fb425947ae4bdeb2d31fe84b0d2153cff8b0393b7f0194e0192bd300f2c4752ba7daf6bdea1282bfadcf0f9075886684154852ee4cde7d1a36ad0e2b372d4af3fabbd96738efcc60b2b09e976dfcf02c623c9de848e1db1b0321de98672ff954b2f501c97dc7b917654c89226e72202eef6cae7860069839da959b69f43b602a26eb90df3a2ebbec0f3d4b65c216fb99b08246d7ce1679bb084fc9b1a7270e46d936eaf98507934f09fc0405b9f49ff6b4fc04c5bdebf1812f75d132309c6c95e3018bbd81c9fbf84e56a35506c51b747af490dd9a84708282c85395a66204504291b319d0a468f78f87306c231a7e4adfae824cb9dd1c5c6049b2787728c0451f7a701a7bf02eabf5582bb752659d8b17ab47ea76e9e5a8d8378e88847b2f699391c417a2497fa9376acad677a24ec1742b03705403618fff333ded572bc0fdcd3660a4ccda7e076e2bc4da31dafb7bbc228f4a32665010f32202960121ca4af76191579128b39c487ed9a55e0f6e953e49d497b7062e0e855e35eba5f834ac5139af119412f5d70f81cbc285eaa6e9ad2d3c2ca28a5023b94ae1b911d0c5c9be8e5d907fabc0e7db00b0c722cc882b627cd4805b01598b814d1144572800486d9e8d4873d8ab8f06d7c0b3eb3b113cfc4024e3841c9326a220ec57c727e0a5a2e4608aaea045ac658c9ca34203b1ba6f1a907e71723d609c174c4e3400ee2b5df1f24ae426519b0cab68ec7ba3738b323984fa990ccafda395f0e957275d90d83ac6c67328ea4117dd826f8d732f5841c62b396e1fbf66e9f6d627d189f6337315b987814450e35c52c649b6e3bfc2e300646ecb1d60b0c6d293a166390e106e90e58298fb13574c3cdc3085d476c798308fd5786634985d1317f9872fa1b863408612a8ba523b289455796802f451596147350b71a72d0f098b4067213a4c21b598cb9225bab9360ee3a080d1e1c6b74ba0c9a9702de9a234116da4383ee02ae8378f02add9572babfbc10db5da06ca394e94258c89190d8f3248e1092b9683a3a37d48d18b839630294f01f5dcbb62eb4eace220013042f1bb08a41b523a45cacad166eed72b3f65e5ac755b9df87229b04921f84f0560109e66e7036feadce1ff8b8bc301855b6a7490f99ac4c75c1fefd6a2d4f364561a7ee187257ff1d936dc73ed7d9e2252a8ec3a197ee5467c9ad8ffc142588231c0e893f027e556dbf02d9690c97201d210c40dc9cddf3129b2ed7855b65fc85dfe043747207a27367f72bbf26dd3c958e08d25afc3c374e4cf813da39982fda82bb027872e8ecc2875326fefdfefa1011f9ba2ac2f06df78b3216aecd150f5a2820dde95b7ed7c374a5ec28269d0366690667dda0250ec18118cf93e2b12dc4f6a67907720c87af1d760345d42d1b508fd7e7023daaaa50d690e8a5b95ccd0367581a18721ef4c62b98d5ef73d6db02c25642fafe23bddb951dabc2d50d0ec1409456f072128d625126713e0cd20c0e9eb1c4ffc56ae42bab37c138290c16caaba20c6c727d4f24ec06b6a78699b0b2f42c06f66eb2c4558138c751538e3034e8995279727b43aa8a2e5efb3cd167697b39735bf981b3dfe404321e7666234276fd1dd9723aaf283f7912972e0cf72c92373d1adf1608224316a0395cf6ca6aa78639c33aef8e9f3480f7c372fec7e9693cba5a3e81fae2acadd819093471b396e19e93004c64cc680e6edc508c0ad2e1c5c406e80f4e5a4b3a62a35e1be0eb32b083f41c147495a838878dcfaeca6dac5800bcd6f7e7454b472253b23b79195d6a1106176aa22e0a6392f22f15cb245623dc15efff3120a017d83f39e6de2b2b483cb852e3f15ca774887f61d563096f218a7285c0699427de7e99e497272d0fd585d872dce9eb09fff5d2415e60174a9e161de70dc5abaa9fe5f08a6d5ce072b1dd0c7286b1f2f9a66a784a9ee185662d44be4df7887269fad906c3615e15db6d4b5e22cf3a401107b948a676d1f235a923562d77706f61ba2b7d3b4beea19a5c0fb81b6dad94b3cd59a9f53c32a9f95e2a16591b843bc65ae77037795c235cdd35a91adfa7b446018963b2b42972ccfbb56c9dc1b3608df27d854a0b6114f6ba302e727756cd731bc25f180fcf1368437f3caad20f3ca951d240cdb340bcdd67700e725adc32bef268a78df7dcf6c5d140ad1df23d29cabb11131a82e2c0c900500f727b0872971be9910c13e0fd015c2d5dd45e1150b79a3cbcd9e61d15ed8d81335a629504546d8b99d29e0bc8bd55fa7f829a528c50ebc0097edb797723a2b17272cd6bc584b73ff608df0a53f22c4406c86fcfbde063e14d28df4ff2c01ba3141037d0ddc2981f44fce576247c007c3ad2f1d9328e10b2f24a0e5c5941faa35372ca3177de71858c1a7adade1b6ea40eb305292fc1acf4d68984257b8662a79972445c9953995e8342554c599454d8d454e7be8c4f21e1c7a2c5baccf918be4572b7fa914c3e66c0033ff474d4698ecf4a2dc19e5967433b84f97bb35aa03d8e7282179ade802a6d775e4494a4bbe11f4272bc65dd0df6446b7bc4dc11c14da572d1fe5e35aca40e542d4e7882bcd11942ff2b367a7f568c585e5cccc021b8c91c4138f045437f5fa9d0d5c895ad8b613b874c22fddda9ad46acbb55c8e10c6f5c69971fd980cf9adcdb1e8c0fc5727ba41a65cd22d5f47f34429beec9a9de9b4cbe3435911f09d200a62d9fc43e103696db79b98be22fd2e194e90b2d18570672319ef9fe3aaa8b705b7ae3fecdfe1402aef868bc2be7577c0350d638a4c10f1163ac63b1ce3d33e6fec17dbc7fbb45d70ca3222b785d8318f62132aaee8fb972d5c0ac153b3e367dd7415dbb4d5924b995d229c7621da2866b029e52cf009c729e7ecbca81f6a6909676dfa0199d89a93dab47e03356711e722f729af5d15c11a3fea86e86d4f678d9d011b857bd20bbc95456cfb0635e0cc3511566e839a46dc96492d4b7a61d76d9af9c2c7480937544517f5ca40ec39604b77640fe843c2647483611e2d68c39f6e581e161ff39eda65ea7e42562dba49ce857b8098d2072d9446199f533a61554d81ec164df1dba2645a9af3da70e4efa2b212ea630280355d896540debd46cf37769bb58c5228a230c6fbeef8eb4c43134bb746550494ec138563d013a7c407307ee476ac49339271f258260137c4ece56b2f82cac4e7293cdfddf64a462fc37cb9523c8bdf8beb386dc5fd82d835d39c8df89070e3536befb5b8517770baa324320996ac5262db50faeb619980cee14c80bc27ffcd6729f97bf906604fd2cd1db41aa7b0338d1248c310eebcb7ac6df69aa65542b7610fc0b17c58a0cf36a9758f5f83a4e079fc057172c7990f659e6be59b3806b9e3e46ecfa7af334feac9612f6ba208d3214f8cce129100cb5330198d03527c3616cd7db535af9fca207988218674fd2ad6549128c1da931ddf6da400f21d6f687010394fcfbfdf0219cf9d221bc768ae273c1cde79dfc02dba3342ed2a3dc76986ae7d2fef9a554707d973a8f848580f07e46cd97f993578a3ddac1300f3533835251d9fae2eda2118315ffa0a100c5f93ff506e29a6f6f57c48befb1cbfdfa68728090f75918d72ea9b08cb6ac123361d86b7a0e6b1c593193b4ff6cc5d7b69d72e77656d4aa3dc4762ed7831b0684b2f6a30dc4298eeb4e187009d6b12bc228727c7578d861095f858609583497b45909f06133c7e4bb67ca307a7311f95f6072e6e71546e690865b71de317a0e2014112477df9e382947fbfa0c46898a2a6a722d8e451c65afb93df4570f1f56d5326138772e80c12cdd8b9ec72c56825efe72070bebbc0e4dca2df9a024d0c6c1f8932a8e9cfc9ff650f9555991c685eab408d49377e5201cd11e85c5395edec9954e2fe907950b3202f651dcaf929da53a46703a24a29adbe61f63fc813bdebf654ffaa459cba7f4740c717b21f99bbbbb13fb2e883232c573ffcd5f35de39038c6bacb5cc119d5d3d895e708d133745e7723c1006d5a2de3c84261a33c60594284ee21c2d55fc5653a465393961b7b76556e0251f4ad3eca31461938f2c74316e8bac3a0c170392aaf64f24e93c5083bd722aea050d8200f8912efd9b5b013f715b44b70a8423dcd808b6d6dc18a7f7f32deb65afa45469800839998d18d2da963c1ffd71515f3fcec52e94308e815fc0723f0197322513cac8db2d4f4eddd531022a279a72145f6555462b94442eec66727ecf5c1f646d2cd705aa888850793b4139b611b03292ed7d65563e23016c9c7270b3bc4a486e8c8e7dae8050529162be099ddf8f92059b6d8ef23ad53e77594a82f940dea4cafc3c3ec948e1d61cf331daf31e4efec01d1069410b9daa40d072292284ed57be47f669a3dddca29a37cb3bb1b62ba9e630b1ff71b165670b046efd9faa12c6e9516ad67d0132fb53841c12642eb6cf63e79fb51e1ecebbf04e1858b57039fd01b61bb56bb1fb78a6a232c32c3e00b465dd7dcd4768f09cde554f807d78f0b9ede7bc4855c01095efc3d655488ce455aa1930212dee4d0dcb5972b498a6db92c632e3be011a3d73c3e2a2e46694bdaaca0a3ae2273a5f3ec6e037ff8c94ed61a0a8fc5f6cd6e17ca104274160df05513cc65cc755a34fbdcfa772c974b95914e307e537884c095eb680d2e8e6c435a47bd6728f0eddb556714a726c1b115da3a9ef91032d1853c079ee9a0e73922bfd14acbbb4e762157911237222c7e6be86cf0f470aa15b0e207a47eb517b1ef5bf22b3985088f1d7e00e3170c53fbe6615fc156fb5e51b7d5133a4838b01679fb7280954d8153b4d0a67293c5633b9d768160e77bb79ab5f90e4d203f63782388d7a7e0613fd80ae259ba272d739bccbbd3b655605f8cac338259045a98ceb7a9933ac8b7a183f0a5a5a7b7248943f46615d32f31fc797248300769a96493575844efd7b02ed58dfc98a7b72324c79ce53c7073c9e1c54d49ea2b1f9a5bc74f466a3dc5d90f805881a6e2772f4a96e1c7290c0b77607af4b6e766734e0c818d9e34e91956e19f8336ce44b72802505b0145820cef8b06f3ef5e2c0a744b8c2c4b27b13db1e8b27248caad272695d8cf660d9e67f0c702145dfeb447209bee7dc5c4b9703a2545cf3b4e4ea557a1ab9fa833e1a5ab0749c1fc382fd87c3e54f5baf0c0cfe6618c99aa1b63472564b32b45639407dd961c026e18239dc9446753b1570a80bfd50949e6275bb723065b99200e081859d6c565177ddb6e75b5d1d8ef8a957466e080e35f456f34b8a994c0f093637eca76a303f5def15ca82b0a13e53137e98555b7e45e0e19503e5c7de6148d97826b8a39d045fd4d0ef4bbbcc47f5d69b0e290c5c7b3afc977239003a6f4cbd779adfaf0453e4ed78eb1f701a1bf508e4ca8405317abec52872bff450ed7c49c081fcb686c05da2ad75a9b71b13cc2c8ddd1660ab7f9c6d3c140c3f08eb3954d6e2a0702a06c80938eb3eb1e865cb26a0c5a49e72075b1d035914bfd9adbd71c4079f82b8d45a776db11b5bc3d85ce85aab8cd39c5f5b2971727eec74d59240e3b42d0bd9c6f44b7fad2a9fe494c69f26a55f0368b8dba9c872eacdea674d1215b633b3daac0b3487db40ac8c52cd8c68dfc7dba36f945e430809954229ef740a5dc20bdda9b2ca3ff38e8d0721ba09c3520ede8539b4fedc712dd6da77b8e478bd2585b82e8b5ca633a30d186cad86111bd54f644374080772036705426cd7a1eef4f138ad87d2257b1c37951d79f11c1424b6a823ed92520d53855af43cc0b537968cae16164d7d82e367c77d2590aa82a0bb40b51e7c3072c6c493003bb216bfc8532ef2bf8abdd3c227dd1b3b67b8a931571a4e69ff7772453f84fe3337e75ea8939924e32c64f343e3c3bc4eefbea4b19207d9d048401a2ec10b9433a5a466b13b6a59d6bf3f6fcbdc7660777640ec6437c75d16dceb16c147920504da58c529b142ef5787a4ef4351a46570a8c5ab3ffbd3882d2928246b061ddf4309d6d7691626726f5b8949dd5dc9325e2ef42920fcbc7b11e069726fb6616f5a1c9d761f1cdbdbc06b7eae7b6aa81a12208872de7ee10ed4e65a72f5b4a21932027538ee0ca43cadae83b79fd22f4beff5fd861fff8f9c99961272a12c2bf9ba0561b75b0cdb615f5dcd517395a1495bd8680f678da8c8d509d272c95f0a166218f411d0779fc253c66634563edb0d129843c6ef53d0f582a0566237249782dc01f2d9e4f3eb239e5c318104fcabbeef264fdd6b0e62c862759b2dcadaea174ef5119bce5ec92a334f93da8abd22cdadc2c23e3179a285f6b300082d3c9fafa5f82538d41960a63fe108f1512953f97a5cf57b99827d8840637672b4a72dc44e124a2eed8ea638b776f8fe64125fbefc77b9bf59b25410e0b16f72f66d4633917977b6a83e3cb6f98d447210906c2dd4968e3873c3bf9a75544b269695dddd7544047c88a995e33c49d3883768f9d489084308ff5b3102a506dc729322618a1d8daf0c690e6d1fd62bba321a8f027d554d4616fc9f1cf5e2bdff59e2d2305c502eb1e865b329925eb30ea5cfd5d082e2ca58b8932125432767f167e557edd913f568f298a54c93da0964a6747eacfef4ed557eeb6f2b49091a07724e897ae8c39c64797289ebc1adb37b0ef472f5ca110722b1b6c4b41b0fa63f7226f35b1250137213da89280ea780b65cd3634b9e611e12e10b46e7424fea0b7259f2177c0e8f14f019c71f07b685267f8d60b78be8ede13b8fa3e6c1fb927e717c9c667b5ce7a8520024e1f9a7d09d459eadfcefaad419f868d430a16ada987213c4e2b490d726506f439bfad56a60d763a08cf6291200bb3da4c525f18940725f00b0806d049c2e86735f1f2bc3382e7e36f4b6e186ddca4c59a3cab44707724c04159196839e9c93f194f6b4bc79236eee3276664919cfecde59fbc95d4d7214de1c25089ab002881f5aec257a91fe18821f5a27e15db5ad001da56fe9e40e4d61ce048ed3270e491c44302fa4483b9ea473089fe2557f9dd47ac00993e54e052fb054190621a9664d2e4dc2cb3e2f01945c5f539d4879c175541952bf0172d46a0006982662abf6a370f425224747b0906fa6f3b782b343d48358ed033672f17ef6d45cd15a5fa47591b8c16e095b578d723fc83ec9371615969cc6d37104435f46c5c8b09b08cea4dbf431f8e200d6b0a88c7244f3dc03e1f4c92e084b721bd6e11aa8c2f9c4c1fbc7260a529721017a35717b79cae7a4ecb6a9fac3212abfdd5d6a46ec713cfce4293fa816c87f9fb0aef87562e17af978c36a5698415f6e820862c9fbbc4be1a652decaac513d5f347b95fdefd36ab1ee1fd56c21373697ab76d41d89f938841912a335a5fa5f9beaf32c8cf2980132b7e9b05c838e72f2d4f5aff71e5bf2560a2abf53f1eced79ba36ec7594931335e20b1879b60a48129de5dc121d577bce58ede0d828d112b72d217e29534619545adff6fbebcd60e3ef0bd155f9ece9999b8f727cb3d8e11d23b269099b050676c1de5119f714725b6fba2c0f4f2b0b336413c06ce4f252295f487ce8fae25676c86347355a7d50c3cccb812add48b59dda55c8178bcdb9871ffdeb3c0dbce8a21c3675febe302379d8827788b002157efc2aab7b2976884b4ffe4cb9ba04e6fc1fa1842e617a72b8c64ee82726111c62fa442f8f4573825db40eb44c17385fd111de2a6d83374503da764563ac27f0a21dd314d6733aee22ad21e61fd2d06833db296a82225872b9edde524c1e6a78131379239bba6802c9621e93e1b01fdd5aa9bb49700f3d723b616b90200f536883792232075f1641165d73732c8432b96371caf5447f5272543a9c4c4152af4db17d9a2552fdf0155f4b1ce90555fc972a90ac20e15d7351faa72bc4bcf0dbae8b4a12ec4fedb9810d1212f0668e6557f3f0ef824317197261433da74c747c724ed45675908866b21ede40a26755426bc0da276c0a3ff2723edc336bb861ad1611211eb092e957a9505f98ee7f4304d10beaf91f854ac00be64d9e5f23691362cf8e09fc79d0b9c3760f8a4ebe9fbb3506802e3b93e4e2179f75547efba5c61a0e048ccdcaeb2b3d54a65ddfe1223669456ee33115f26c7220ee64bc47a346d0440201aefa9af5c439f4d94264dd3c72dbc71d418fabbc72b52950b0a9d7f704f0efb0b444623138623a0761238d2fa63bd5532080cd8172f7d1e6dc00867ed3a31ab6aac38b953f06d4b2ad8b8d4e581d93594f21fb687227975e0690d22d5d1fb4d1cb16d33046d50c55c6f50e2e3e204639e5344c8c72828c3ce4067ac73c83edb61573b8e42bd4baf0e316463e8881da4eec5196010c9c0d5dfe54fae1cca167025b62ccbe5d0f69e8f1a93d19f0b48862ea7b9965728ea0054f24d426223f3560d778a493bc49a20054455966e68cc67ce44faee8720d9cb3695993af069824d9fe5b989b25f74e6ed913b82996a4bd069bcbf5ce7236f6a4985cac3620381b7c4d239ba6c1ab1828cd1c4f400ba4db7a5a25474f726c120ab86455390e689fe3a3dcb4c24b3f4200eed6ce923bf2453de17f230d000cb328b18ed58d92f27b2fd24426ca19ef86e7a303cbdf30ae2c6c55e1a884729903df7ce0a9df710d268684208ae940697397563043b05bbeea29022556e96a4a2b8c7cffcf29941fa245de8369fa78d8c18c715ee4876ce44651e862f93842c719aa8c54d30e3297906594d1832044d39a4b2f0e3ceb13c3fdcca492db3972c2957b6511ed8280837a1843aed492fdbf25f9eab5ad8d7b895e8352da88fa0e44da9371b216773706ed8e357e5c9cb2b91878864114fcfb2292f747650f247248f00de53fbe5b540e20bfb15448259ebd7b4f5cf3ce8156ad01afdb376ee9720b6df116458f88f1375d917cce38761ca284d792a0be505660f9d7f66a499f72f62df0678fbbb9f35b86d3814ae3d4be786b7bbda9ef623ca8e6634c309c14724c171259149f452930ec7a2a78eafa64f24d98ba09d911a6ffeb58e61be95f563ce3bec88ca93f8b87515d3ef795716d2687b15af157e47c907e8fd82feb0272c213c729bfe63847f4b810760ebc59a7f1e445284b748b9d5a65d35664023d725b49bd78f31049673a89e4c8902b8d67a47341aa6e0904558b9bad69d045ed6b090bd1f694c538ab4083a7a01428bdf9ffb02a177b89ac454b95e928bfabee72d995a4ea331298e3fc7d27cab57ff632722064fbac901e2eaabc65042958324eb88c023b1d92f431453c126a275b24f5f87c262dbf315f96a5fc3ba4cea08372dc167e66b26511dcee2c1b03c2fa7a28cd43bf547dd54b14891ee6fc98db517203604b3cf6ac41d2716e00c1890220aea7d7987d2bf09c49f400464410921005651412420c813fceec1492b159f2b7f6101fd9f99cf43f25c30621ef8e75e072c96b337c5450abac715c09c9b17802b37673d37f8c0b398128f79e463aff3f729d47390f777fc3af50039deb5689342b59144cacadbdb1f3c12b9eb3e2554264d53c33ddf64e1684a5f6bc181386f837dd4c9475135e6d121a5f3c31fcbbb52bf38a3dc3eef262677723dfbd7a7d6b44abb5df861ca830038e165a3d0235544ac28dd2840fa4189f31305063220e65358b0f17ee93d07e32888a5bae1c134864af4ea72dd9efd560b9b5c120dfd048288886be69f9c2ff9c8d9820b229b64322cbcd468e61fdc10a39e3dcbcfce41c64adf42d8ad900ca979f4bb5dd8e526872dc87166107f06061a0ead1e1a7f999e45d44bf126d889e8490c2cd2eb37b9e72caedda7f27300f9e59976549dc71fe5495d458c00ef5386b09217084020a8372d40b8531020a65e0632e69497dc1d31d743ab65acf0d4232f424131cac2b55726ac5beb96c0f5eaa9967df3bd08563f69423bbf04b7aa9af9235b6433444477204e741048addf63c4ecff8705a912e27eae99892b63d250347fa70e00cfe9837edc9e875d2417afd092e93030912821a70d67b49b9e77d29aba8651cde4a50721685007f8ea41c5bd441d95f3e8808ad889e1924ca867260eef077917eb896242d175ea16082836ea1879474d0ab84117185a07613775f333021bceb5892d8630f1a247c158c7c09cbd51f9bbe0296226f7b020a1384269306c7bb1416e4010f8e91244d891389c61b8fbc57c1b931c54fbf9ff40909698e7b5d040b46037172b3ee5a21d17ebfff75c07ba084cf02463d762c4f9a3bcef9f59109566734e5720d68460c7ed72711decc44143c6de7863b073cb1e44a7950ab4729eb6b3dd3727d27ef3709801597aa9edfbc88e55b323773be8b96b565c516adff6907bdd45c6f0354c200ffa340e2107a7d8335d4c71af51c960d1c2c45e9c2f36ea4fd08728d7d9393aab13cdd610dc5072d825a3e186ae42c964bb8e4a50cd29de7e04772e4f6f3ca5263ecf9efd0a97bcf859693b29eea2bf8985341e3ce7a6917a24a72d688ab1fc7c18c5d87d5bdc39361ee53d24e7c53f72faee30b33ee4661f42238e127007109359f7f798c04ae588c957955ae31337472324765187ff383fb591e17cc504fadc0341bc0e102944dc9c3cf5fec022ae33f4390a4ed38a8eb6a09681e9b2680b7e31da7b907a67fd6e2d24fd1b7ba8f1427ff156831dd84ff039d729242b149b7fd045e4f7169a79fc3f33f76f810e03d32fb71770a356b94ded16333e31d1c76a30864f7cf92ac583acf384053d51fe909538f631bbb29e9ce32726efabbc1383ccb857a0db0b458f2ac92a26bb2713814c6a13af3f8f6a37c2a720bede1cc43e95f201dbdce41481d960c2b5aefafc087c6cfadad4c274d1aee20e0ff65c722ca586563708830a6c072751381eaf02ee5441658aac913e736ca7210f4c7e2e73933822049237434b8f1d248c705fb0ec7465e016ba28040105f7235d50a60c9889e7e94c7e6d0ead3a4a7621068108a3964e209edc6ce1e69181be98888dd7e8a3699b62da86b632ff124ca0f290a9cd1e2d64dee177537671351169676f6c6013b37b464b5502c957f7ca16481cdce0674cbcaed19c8aaebae164b1ba5b5e3516665bba0867c1635295287d295108592ecd2946226a075ec49433d528d2aea6e38f8752f7ec438dd5d93839fb0f22a4562194ce0a84c4b0b6b13870f18188c0738f7f5da627f6550197484ec16197c7227161ad3a64be577e82f17740ae3890a29f73428ce8fdc3fb9f6975e1a321e416226f3f08f56fd42787267e74b7e6117714ea1319ff60211659dbe578f02393065b97d2971899acc6c252ae0196b3c4cd96e958a8044ee8e146141d15fac64672a8435e15bc34211ba72ac7f77bd0ab71abbf1af21c6aa9078ca3719f4b4cea80cd31df51d080b2a1772911de18a3e3b6c0b8fc6cb791a905ba79a37c98ef82061f2b2b2c2992245fd7272396681f27a06c7d382b32bd42c216ba6bc84bf3959841b031228afddf50372b5d99315a94a8e201ed6d1b5d50bc6d72cd6b2d9623b397c267b7188d337204815f753ad3b57ccb03239da00a42869b369159c0c8591d52c7e7c6d208cfea972b69b8444e8078e4e96f4832d2e9c349680bf7cf1aacb691dffe4c1307a380f7210a6d16ed3a88616e3897dcd72b36e22a0d9a90d25251e217f367a1bb327ab72f6f5651a08b7d585b2a12ca65b014078209cee0950e60cd195208124b0e59e4683a92c286efd4deea76d52510fed1e7bbc53583d5bc3f99af9719c538ca796723a49f6714ac2d1f976a800ce9f8ccfafbb9ef032aa9a551a4b2c74f594907627ff6085a4cc7211ed1f48ad769911f17adb511d083c4edbdcd523ffcbba37425bb6fb66c618248b72e9dea6325db51fff9c0aebbca5c1d3d26133fefd4e79201ad0093785eed3d0a098c4099821762cbdea089d44401f5557f6df92297189c172a46a62764e82fffc0a7e4f2d315d6e2f2ed2b0047c155cf55adab5ad3ab07d72fda8a45c826cc6297afef387bdeca2fb9a1610230548e774b0494c257b39c372af49e9ff3043f92220183da68b253145861d5e20e31d8b5967f1a84b28861c4d8812a75cebf70a5584319194ac721b69d91bbd49b065caff3ea3838c4f2f5e728a6b4789088dc327738713717e717b86329875849a3e88db09b3fb83921eb772d162e537e4e37e6a06b0ea9a7271734eed7753d34575b9837bf18b2701caa90a25747b5770bd23a9d19722cf4c85a54bc16249b19a6dfe3f6c05d6d4a6e78a44475f3c57a1104afe24c9d942e0aed0d22e05a1946379db3810264a3a09dea472cecd330a357b934c211f2e750727520bfd7606bc6090e8e098a768c212b8331ba9a3c6a896a19e42cee35f4bb2937554400b8dd695004814b769064bc4b51e72eaedb1aa6ae23c8e4a5e1dd9137b822326abbaf4642cc2c1d1c3f4b8ebd7f348c738a7894acea280ee050b11090927a9b86a325698ef7d476fd6c39a69edeb72846ea71395d3740df85ffcf23b37c52332e6ed06003535f608634a07abd34272667dcc60d80dbc9b68eb20e1e58fd173c6a26c7a7d6c8d03e8795e19b4a316726db310533752a1755928ccd46877d196f4463d668b4325901f4697bb14894a72b7cb4eb1ce739ab128505910655f3ad65800552ea2ae7c2b7be3607efa77fb1e1de4f246d882fafc17a0742a1c26512d6ad51fafb5c216a4eaf6088966e49a184eb53c2ee517d171033f8cd7396a4445e5e4224e34894c5325252ba274a6247205090684a0087349360fb2df62552b23c3cf47925fdb15440bbb9c4266ef9372ebb716ba8eba21b59e9f1ae70a7ccc2068ec6a0bb94a0d773476596f878e2f72f8d82b48d0f1d8263414c025cba4b1099ef6d6290322c52d169a2becb516684a846b268375f1d759f372ae74503d17a8a5df56ce5feb0230c6d3e24d3dd66f720ee5824e2db5d1de435ee15d6b5d7f1fc50b112af55291d0a7122836d155c05a7496418442efa320bd6f75011a17217eb08ad6cb1e66b1f2460b80bab1844372d7be2a66cfeba31b4f9b9eccbbbb691d6c30933ef3d21346ed9fb993d715610202bbacc155076f7016e7c02a098bed82428e697a59e3d02ff91a7a6b4a17977274932d489f97a6fb93e07709ada3ea65058fb4ee89adba867d2274221894087273c1f7b4182ad9c0dd4ab8d65b87ad16cd6ecd124dbc73f070562b2708246772e884193c4dc68d88181d8baf9f55ce758a3dafc33258a2ec4fe741901007cd7275097331757547e2e48db09b74221205d527131e7786db5ae55491f0cee206674b4a0c63f2b8705ffd975e9b0015d97aab81e0cab94c35956936c3315533f702cb70a28a400aac92276e4049b3a5bba0d325df48ebd33c052520d856741fd0728c2815798b12a030c166fc1d20c85f7707bf104483a34f61e4f8355293f28072387c86d8404a9ff75f126c6e4372f0843be565822f50e3e304b953b5adb5c272f204ae224024102394f912e32ca31b8e041343e0476dceab283c775f383dbd043a3781f91b6616941456122c999f3fe1e69f9419815eadc5a83bb7a84580b97283767afcb61fec5d9aa33e8bc2a3da9854ff9d49a96360a2c3bcb480a6e622721aa71b1983a9f42b7ecd3930f5e05acfde780fce57e471759a4aff81b952203258c834aee0400b39c3a14fd66ca97d9f6ad6c52a0f3b476846f60871e09f200d22051f336e0ce16e929df1bd7156a74d8250e87a69ba9c7612c9af3451f71b31433c02a26dfb7007dbbed8b5776967b7d788f4dac0e3787dad5e759dfd0d2a7253cbd2dcd98fdf9bd06a2e8187af8ad492a66c9c629c8b3ebbc9ef39454ffd72a1b9eb5bc83b7180e91c87f0eddfdafee3919cbc6b1e489677c701e775e65972755b3f6c492c8f4493391c973b9092b24d2e97ded9139cfd319ebd722fcca8722a82fd7bfebb67125ef9acb7673244a4a509a64b40a39bb7e223b1efaedebb729b22dfb2d92cc3493a54c4bca42e7da69243969b4f745bc63d608524277f78724797cd8fe3bd310624b3cf355eb8de6bbdfd51b68ae3bafab7cf1f7b6b5bfd72c4924e7a077ab078ce69867e326fd6c7dc713c226b657d71bfd32128289919545dacea2f8c38eabef9ca72b0392529c52416b6560b6fb67e10b0c072f15c3a578da837576198259f19151a6cf505a0bd86de9842e94125d94046bfcaee28e2721922105aa4c53ec71660bea721a49f54ba3fb3d3ed274ded19a080b8f3b0aa72825981a1aa50ca2b3e90d8dc6cc304d93721a80789b3a5c26187b7847084740aa303ca5aae65c1af02d44a8e2d7d71ea29cacc8be8a39cd02940a9faaf3f023232b958343efa63cfad042896cb595d3e3bb8be5b8df660e2af78f44137e40c0885749edfdd8acdb498f1ec897aafadbf91a14af2687040160931d86dbabd2472d49f41529241eea0156c3ff04cc748c95469eb983f513205b9028e2b421e545a658b4a5ce33b5781dae02dfd660d04e392eeb8961a56fd36c397c1c5cf55ee721326af91b151516baedf9e376fbd42fc66d0d5caaeabb57bec2d3f1861c14372a9ac49e832af7f2823a392ac692c9afc3c864918a30e09165bcd87bf72685772d9638c10e2b0c5c14d6dec276744deb10b0bafa38664ba24d0881f1f5acc4472a5412775b931cc295601c94fcb0db8280707d0cc1b8098629349e11fab099400ce4d88d19fb84ed79e4f7abd5058253ab416fe4547eaf065e9a3295ded6e5b282e1ccd2066a36bbcb093f8399940f79428fe53d0f6be904b5ff8b8c36e8f1772e8f2f0f9b1f8ed1a16134f0fce7bc63e969166513ca962ba16b23bca6489675c614fc84a73df4f4e5a9bf00dd515cf250987cdfd1313c144ef9ae47e6af05743374c7e1eb28dbba8650909b4584e4af4cf9bbeb86d120b3abd992c4eae884359a3975f45ebdb413a4d76cb019c8774a121216f1ba16731b6583190f002a4b972b97d029fb54f13dadafcb305adfa37f776e80bfb43f348cf8529b6f332fc5867798aa31e8d3d822aa06e284904b581d5968018efe08c23fd7bcd9c2aa1def77259b2aab4ac700352fae2c65e8d336c8541fd7b436758673cfeec729c4c2b0172d4e4bbf785214823f52485950554cf7b9ee00ca63820e42a87fdf827138e6c47673e4f2a00404078e9485f406723a4cc6f8f4eccd2aded3894bd1c6a15635c72a3ece203c3efc2ffca8d7d2ef40b82f812298799bf8b9757569014f5e7791569cdc21ec1f792ed2d80d12cf533692c14541d5de48edecd6c9014e1b0d23778506dab9e266b416a577dc3709b3afefd70d220d360a821477ed6bc6742fe17042c5cdf818ec78b95e46c77f4555304e60911e9770cd69605d09f91796d5c187272fba34be5968f561dcd7ef693df0e14660da2ad755a20ae4ea4fc086b3a387372c38c965dd1c6ccf760759604f73b3edc0abfccc511c11b1d76193c6473fe05728cb52c29af6aa6cadc17234bd346a2a52ba3517e12fca7bba737ff5fab8c6472725c92f8e2733126d2242524726519e5595d66c9e78b02c433b2bd3ff5140f72b4520c21284c282e8082f24d6ba251447c72a94dcdfa3294be4e05c337e3b05ad3be542fadc4bdef42afdf0870ec68b35b534bc2996150eb450cf18b85fb68723206a122c7dcc4777dcc2a54d46733f71d6cd2ab6a5632c8feffead2dc28c110fea0e95ae04f79b95cce8ac6f32b26c14826107db14139e906c517b353f9000071b21879e2753d6c3233a3ffc264e65c03f8d19b0e81bb6ae554474c5d9735729c76b1a48b5e767f26070aac6ad05f0366c5866835dd37a69ac251d305ab893f85330bb69e46bfc6af9287900b9a52cfd939d1683aaeb58e459a30e4542ab23566aa90bd3ec007a3aa684c023ca817cbd37fcebe0b72f8af4a65f059ab57500799e4ef1cf7d1003d529213183173f21b5b5abfe9fd1f7aa03a47aeea1bf9da72ac701303b15a86c707fec8824513d6631567a620788d4fb34996e54923f4051cdc7f0b7956e43f41386378d46d36b30987f563dce608e51ac7cdde9d6e541f59a948215ac1c027b9f0165691c8a68d22ea509401b4abd0f2d40bed8e9a4895263045d5531191ac309e2d196d7a54a77a650374d39650b91e020b329c077d6038320af9dd40aa875fca697249aa77852bdc7a192e87f898fab54c01244d0cc4726de31647e18a3caeaf0c9d272e11d97ee4dc9bf6efec3172a28b7f631f753972d55fd6f5de091137da537e484ac7fe1812506d5815026a16bfa29d797db28b729859c256d8ea05939d5661964d0d4df628810e0b82680c380ac90225951c3c7123ff747cf72dbff26b9243c1d493d1724d18cb2f79d0e030bd6f84a2c45da9725112098b9cef703d14b0e379107784971dccbd9de295bae314be83ec10e121726d969843a94a6fe9ec874233aefcbb7cb8073cef4d51ca43df5d66ddb6573e7262b3717db6aa1b947ec418dc6974f347340a9f0ff57d86e1146d365553b310727a8755d7134ab2ef2fcdc31e0ea776afd24b944d863fb338721368a64f0b7672fa3f5c23752b60b7acd414866a2f8a23bdc44071a1a0d2f2491f4b9b6d7f243cf69d53bf43018dca6331338bbf29e066b9d92c1486c64a62574cc43f0954365a0393ea3847d740f35f913518914c7e60c59e10b32e3695af8ea245907fa79d72a50250720558b7ba66be187e4a710df05970b7c7a3d424cf016bb6884fa478726449395ad3eda164adaab51fa3daced07ccb6506c216ae89be327345da189a570004cd7136c02fbad9dff827baa0ca9ecea8462c1199ff666f8cbb4ccd9aa272fc9ef11e826243ca69296bb6483355d3916d77f9c578a31b9bd3946145a49607d39cfabea8c7f50b5a4a1f8fbff911ea3ae396813bf7fb71d97d81313821d772f01c3c45d0ef2891562113e331f58f56c309d8a2759f84b2d94c0e3fb7663303e25433ecd12d73ba95ead74e2e00b860c5fa3967663d83d22b28becc1b6e084085f51c36479e4dd0f61237c7363869cf9d4fa6c56a516add840a8c9dd697ec30a7d5f808fc61baddbbbe1d18d39d30afa403158b57939859e5fee7dd5e9acf6b42fd62bbc35249ebd68fbd3be6b21193cb7d1945d70aa67e507a3a8c0afe0572c66e7344555355e143f538eca9b1a38961c05a77e8fce2bcf7818923d67f876ffaf1e3545f857a7f3de6174a96f6c01f5de9d7e04f09566dae789b65a74eca72f1d14be6dc34fcc503d04cfa070b315e62b95d08ca7190550ee0d9986134486fb0396752810dccd613a52f793b7bcef4af24ebf1ccc70231c2c075bf6758fb729b4c0116370a272b60f845089f70ad3dc0feb4edac325560957d5fe8209269720ea922b27ea0ed1710cebac100bab053a5479a213b37eb5ae410ef655404fd4163b6c4cbdff7ffbbc2f4171e787959b007e2c3261156ac93d6575fcbe16a6469ef23ad9500dc5c9ec4b37f22d2f05f6b839688006fa56c86c46a8daee9cc3172535637d4980bf3eb5accdf13ddcf5e0d33efe49acde626709ec51642d380bc14a83ca4f4743dfb4466f27be8c1264863d81817f20271f2240a012445e255b5721349be7c0547f9bea87f06a3bdc1f0becfec498ce425b8b6d15470ccfe8002724a2405d807ed72914fa72ccbe2027327e966099607419148b65651f4aee40848eb21ee30deccde7c068ce7c5586e4d674ad7626a7808bb7db4d29b45a2cd957286e8d6d2456775d854d4c55eedcfa9f5686b53e100258495319b18fc66119f72f1607643d42ad6dd179dddd15e92ab11563e1e34002dc43a3b5a03d324f4044a523b040ac870128c71dbf2ee24c62403dbde08265f3ba9a530610ab9f1d50d249c55a620aa62e82fec0e723f7aecba0ebf40245a4154600a0b483c27f252d34adf3982278870461d243931f55b748ed1f2e3e32bca5867e503f91f4d60142d01927c8a889ccc22af37a8ad5dabab2688aed42a5d8bdca0c8e5a8e41eea88eb72a5e0f1c89f06e10533aa4ad6eb7ae94c614eb7d6efb580f6378a0690a8fb200874f96966abb6782d018469daceb7a462cb3aa74dc1375501428b585bfd625172b21a03cf0a00a376f33b48e871e92ac648763c83bcdb0dee4134142d87684a303032c69fdc7b50b913bb361d5dc8539fa0eddf77fc932a6f792d5e1dc8a2df72a80d9a5cf49b722966230a5f226f948f542c7186b4bd8f434b5fd92683c6df72cac6decf163d3a304d4df6b0b45e176ebab2f9d7a9bbfab3c36505a185bf1a240e50af7e414266788f17688e1d7f22cb9842041a69e1e9700bfd4420787884720b73953b0b83319ce45d20b1597c9f0b3e514ba4f6d8601a06f201e94474a60bef2edd71abc9ff8e086aff3f6285a6f95061f6d1612a263c0812e77b00cbe9276985bdb09c0f12845600cd48e1d3691b9d52b9d932ac987a9a90c88ae3440b2332395a781fce27f5f3e0b13af32410895bdd7f5e4827b5f1cf858e49904c87728bed336be5c8d50b8021290612d05c862773e1ab7b977eda2995f8dbba5a0e72ee12d68f3fcb717dc0b70b8553b7b2a3ea2b1f2439a87ea1d4ba06b223d0b87220b7f70ebfd2ce2a191af7c07a4c8d20d6cb4515faafa350e4516593e416eb33217055552613477b0c1c1f855af8a1859241ac864c1da3f9f88911ddc637942936fa4410288abfc866daba2d3f1ae0ef5202405aa3a63a2de4011c00f81822613c3f2461afd4864b6c6c7736c73879a16a99b3ac53d4765e803dfa9ae3edd3129ceaa20626b2f667b96eccc4a220addb829ccc24f7161b56a6e9609056c2f772f0e0b7bbf34f3a3da91d1c417d0b696c8be1063b3bd393711b02d6653885f34a423200370c34e99f4705ee92543b60d8f4690c463f4a9747e790663844aebd33e0531fcb99138dd358cd785249cecbfb57d84c272f72cf0620554dd4f9fe9a72360fb2f690bfb1e00ecfde8e36caf518abbb3a36dfc2d38a06e255f02f5274702a8b48ebd31a9f667575e650afff2b9ea823ba53990988f966ddb8710f5ee072926115d9ae8695abcbd7273f61a9e1aeb09b82efa0fe62d68350dc1224b7164c96066a82eb062454a79815f46a5125b3ee90ca92214f6c7e71860c5dfe07b872d2d067a6d07de7f6bea90ba8290250c6bdbc1df16aff34e0a38b0cf26fe767728c487c819ecd7646e6d07188aeb218be6357196a165b1dbeb7281f76aaef1f07d630f1a5a0d6b3be45d0e465e6127b9e9bfedd4511e559a4f1c33db95333c672984cf9a3addff6875f8f7d15804ffe673b6f6981cb29299d06a971e6b8301136497cd6e286313505a73d2beef0a6a22699f79189f9a73e968f8b2e560e087326972afc019226658b0684af0063b7d74b402884bd0907fcf2e3921b9f65bffb7266dfde62b83f5b57de827c7030cce65fb06c2d509445a172fa44a4ba74503d70691f17a99af2512ec57c2391c26f73a42e8f42316d469a09b1e73c1d4c7f6372e6e36e8f422092796ec81cc2698afc5d061579d4038919e786c6406d76f26460d72464acaedffe7a6691c123581ff9d58fb864bf582b0943b3ced6842a1b3a72b8c79a66906f457810de16426af17c89557a04d9587e01d06a15e3e8973a0972da9794f2902a35f632ed379fe3af0690ef6a7558d0b7c2016ccb93898711b272d18a15b7c51d231ba55e3c38d0ee285194848a5da7051cc621ce359400886172beaed25a61c807cb9c28f301f8ed1e6593d78f8806d89146536ae7fd7e6ac50648e34311811c0ff9deef533558f4c6c860a5e74ec3b96ca20d83cb293d1e426481e02662623e1f18715f4ae82c7a0aefa444876d914f6a59039f6508522e6f38b58cd15d6931009485bf4c76622ed084c4aec7f39811fee3212b44f940848272fed3faed65eae4191e27fa75fa85498c159d2eef6de423fef933d0ae0027a7729ff6f8978e1b7249e6ae4f57e03f22cdfd3f16f34638a30aecbcfbe2d6140872d6466880cc45fb4d0290bb46dab9dc7db3ec2535f4a57391d8640cfb5164b57285ee94b0c787b92b8260f3e4eca1bc0a43c5bdc18b179b46bc4e053a4c6aed6bb66e8ac9f2da4c71f20cf864fe8647863a9179a5d4b2002f6601b19645fa5e5fb88fe141873d76665a193a3556f370599e760b3684ac4723eb7d15a50715814f98d10072cf21d555d3ea021adf4f9ae9f4ffb622cc799e8ce620cef71504f95754d003fe3c76551b4a3ccef42435823b3a478e5c7f04aeb989fb9b39a55a1e721044267498d81decf715590457b83216bec906b8cce9cf2e94f9fe4e39964e720ea99237e4d9579e2da0e676be72723ccfba250cb90735d4def6f4f00e41d172a9d861ada74494a252a30405eb8be9241e7fc5db6c2c71c667d116aaecada932c7e3778ad012b9a8a42ee38f3726e2af47f0add85a6b912587a2fc296c96a572b01e2217a502522d58835e45d70d1a19c0037cdf26d0278a71047f9eeb6df35cf78b0274bbf9f991c7146cb4a7363db1d6a4cff77b9c968e4d98fc99d8e6591eb3117fa09b22ed766d1c01c37768fbb9db3a3bac17e57fd90480d1b764d7aa72061ad1139001babe5928f23f64c2d180409f0792bcb745c171e55c9d4d018c729c5de96ba7096a90959d3fb4ccd5b08306de35c5e21f608cd6d26b4d756dd44533cabc9fb2d690d6232109da12fb3d212605446ea759844605d64901d450f27234b3128b2b6e606f80375f7975fd22a97f9b29f173a43e30d2ed93c84ece0d2ec9afc6ae9eafa479feb7a6e90ce09795552b4657d5438160608b60a8667aeb72db11585ab254fd78a538617f3668e05626a19cdd8f3ebb642b412f0f5a70540d454232c9af8bac674d7649458747a244143b374d4e416d7f78f48fbb30a0826ee2d63ef8e3cb7115540eabbcb48c9c10b0ee83d6349d2626330f8ab632417a7220ce0144cca882813a848db18951c9a013d7618117113d0f9bc53ee57536cc720f927652bda96c6d8ac0563dc20b4cff20fe8bf48ac176da7fadb68e59b467724f47ebdf146c3ba7fcb0425748fbe07a9f67609f83cfd70838a8fd2e306d5920f0752c1f06bd56f3bfc5dcbaded92acfe2ba227e9517d07ea2ae0ca6b0ace341ec1448d09cc60695e732bbe508160740493220b9dbe4f3a3e4047a169da34372b9be0cc7671283047458f63f69cc687a945f1b7e576ab0dff5f029c49b7aa4721feaf8a94fb0dc5fd14457eab0f29e8171b80d552603e25a086a93f766228a7222cd5985368b35f08e7824ffa3160435ccdd51a462214583a2949332f859620a90b6d1970d074b49822c00e151d1a25fb9fc345300318cd605cd1ccf3bb40e727f82ff2bc2f3864f9e01661715daa9ca89bf665ee81d1c6a36801bfa20fad90a29683549bb8df523b198fac93c6ce2eb220fb973f558a135e63cdddd49554b72dffb55ef1907b8e31b3a16f1eb84c3e6aad9d92d428586584aea09af1704d252ad3c7e4d56b2737da1dc559c4ede5c9ab8a8378562efeb59c794befea3767c11d706fafdf6098f9e142f6971de98bebe5f9116ee960fefc3ec9345c867e6127289a890f8f3f3db859cfee78c41cd4365b1cf964da25c1426204cd86682db9970c95db60af1fdbd0ee19210a6bf52e06d3a5dd4c4a5aa3b449fc3fa41e635ba3b53d0fc1f286cc5172dccb75f5753838176929985a995578a4e92a8814ccac472781f66b122628938f1febfd186466da5ecee77427e60e606b4bcff53bd987c67e611dde3bcc25b566471588e8c4004686f731dad19104867f4c786c5efa5b672dc46389e9615eab4a3cd705dafae69ada9e2f86e056fc19d43c2efb258231a72077d6a737ee59a8652185083c4fc9dd0abd2e890fbc8228d10735edc0079df5b7b89bce6e5cb171533d5d345d939f38ff4a11d559079b203e33dc1f683717c723a6a382723ec0ebc3ece0ca83e54e30622fd9a779c02a4f9cdf0ab41376d2424ce85e4a04c4afb6060c108a66ca419a6dce1d98da71134ec7edd452e6f3b6b72cf703c56dcfb67a651491a5cc33d63a4b6ca1c38c70b2272b64a1e0332582905ba1b386e42fe4f7b4842415ba74d2d404a7977f00e929e4aac21a0afc1fb9072d7ff9ff694e3f594fbab1807f6073dcafe5e78484ebd803444eae728d2568a72e61056bf406fa303a2d8ce8fe04716a58a5ff403ed08c4013921401584f19f720fd33a84a544cb828ded753fa7c9ccd644833da1173bd15d6ab1b66e563452728ad0e45ee9b724fafb54d00b7642b5fcb84bea527a49bb98581782301e609472f13de09fdca5a0fd7f27c8e3c1447896337ae99ff158063b364e69ef72eaaf4803105277075a012cfdd41f0ad609b5ce3a81271b8b257f3f84d4585d017c7b1e3d2ac8534cd3218a4d40aa745f1ff5e2ddf84df9d53b664a174b32989498057086fa446b62e36fbc55d678b688616852da523f8e89d90fc0d9dbfc2331951563a97addc474775416ad1ea8422fae688a5d4eab8314d8566697e47935ab9add726d5e432b6a214b44734c695e2b83e09ef70d633de4a8393f6fded0f715b29972f4d38c1a92a443b60fee5de90e2587d644e46b2d7798ce714b1b5bbc84d2ac00cf3a59cc07c1a9986f3f59cf7602a69c999f65fa2fd1eba3c19e21cfa555b3115097e8de1ac6a6b055dd172707788b750223a4f96a20886a05b20657b140b6668e9c77f3940c7ac99aa1433a2868c5d90270be97286fb849340c42a0760cef1aafa50bbd3bf63042226e1e8b36aef2fd6b721ff45dc3d493aafb9d01e5e7a3103a07cf98b5fa345e9cde22afe0cc37f75f25acde6215d312e693c6d724711212d70385ac2dda7deb90291681b86664947816ca78c8953b938bda108dd35a037295a42b60e28c8cb1a232d53b2844b7df2f6e2bd9c0deb06d97855787fe5e624aa5f96ab7d0112d8c1f2ed6d3eb771c7411745b6a3a7daa3f8316d0e7eb18881dfdac531ab708c958e0e835c01c88169ffd930d4eec73974ea24339f0a3f59d72f1db89d96ff8b11ff83d00141bd5bf1be66b770764bb2ca047dc58744e45fa7234beb916da2127a189e1ad0bb4290de76d4fca43f256d085f0fa4f356e649d473ed4ad61133771474c1a4cb65e5bd61c78cfb774b895997fed41c49ed1f813727839c3df5b85b885fa74b07bc49b75b0fd084b902dbcb3ef6e71a8065d57ed720f01a9b76ed18075df0226d0f021e3224f2582b032c573817e8bdcb64212c6720c3254a444b0b37bedc7ea0fc23f9aee8e728517203e4c34302e0236342b3e51047e2fe81ea797d3112f9aff57648ef148a5cb2968ca18b6120b156751bc70726e6f6abd0bedb3436b14863ba4a54418dc6ae27625ef53177eec647ee1d8fa72f4e8dc703ca598733a35381cd09e183c90c4295c37fa9af331a8fd466cdc5572f84e175b0de2787075e22458e8cb8d8af804c79e30064809282a94b9b8440a30576d9172f6734b29c69207c9afe124d75a28f5b6e235d1ccb36c553867cba40be3691cf5616c24e80258c2923354d4c620959fbc5c51442e2369e4e298d6d77276531500a0c3fe9095c0f792b57307345494b36232c7e2a65d857b9ef5d0cd72bbdd9a48df3b35c6f2986c56aad7b22e683c0b140bdb9b9b16c888960be2dc72714857ece5fa5cc32ca326031ee99e82bf04185319c639c6f485aebc8eec222e2be178ef41ed1d3a6ce38466d4bb8dde7cf137d95e1168fe0a178b48d4a27472da8dd6536fd82c17584200aa2191c9606a49fa8890ef28352e449c385879b372dd89b03e4e8ac9e9342c330631151a76f54bdc5b9d6932093fb0106f4439956511f3dbc04d428bb25fffda3174c424fac55c5c470947be15399c80eb2b8b573c760a1d99340073017c3e8944029b9a74dfaf8953dd720f84e52a2d9cdb8ef572e819071449567cf2c00349abb91fd7b50e01f78e82ad6a0265ab1ea78b5f8b723db545bb6a81c035f9c39ea514b9ad202402e3158d0a9482b9d71cdb9fedc8720285deb94de77351f4dcec4f19cf534b8ad9546005494a7ebf52ff3607da0c7226c9f54d67aa52631e51fdcae017d4ede19929ed6ba38635c876c31a4c9516724e613af080508f02c49d36397f64f8072b0f0a1edbfa78ebf303f88e2b1dc57242bdca65f18d54197eb080aa7526773f36b848dcdaa004d8ac3e91d23c02db72b9b5bc20b9a86a646083c2bcc606cc15fbffddfe9acaeae1657bab6b488fd672daa4ddc3ee3f39d964f44b666b5dcf7a707dab63e6ece4e6680bba502da1db14b10569eabc9293504d9ece9aca1721890ddf2649c3ade5f71fd14bb63cbe1872925c3b0667c010e8a3e624dd959b78655a53804c361c44dcc206166a5057c50fa328afebd9017ae0468c51e7ab89a786a49de65e0037051133f992dd5b19ad079f47f5fb80b5a2025477583d97d0a88c5024b5f19b298c73103ffd8a44359b722bec5923a73942559f10649cda5282e7f8aa980ae6cad79fc8f02a22dade8e7209ad2f07cd0967c5ea94680631c19c15b5c3faefd549e94348da60906c85f7720be0abd7bbeae25dc2dca4aebc640c7f9a86fa5448a0c2053fce1b34842e7c728eb8a0b369d2038587b093d9669386cf69a9e06bd78b2e722bc94c9e0e180e723d5dc500a85ef098788b24bd06a3a0111c981db7bf81242b40100f5d2c0b9a721809b41bcfa3c67f9a5cc6f842a07adbde9a3f37c3e365d3a3ede84cb7e856729cedc60dfbd967d4e243ea90921f1dd76bb4cbb54a5056b170e4179147511472e703a52ed96134f2de802c6d2e452c801e41b0be652e179e9f991a3238c2de72022b8b5b48e615f2b29e91fb3c55f90f55f81be24cecef14116c743c36bd781856370c6786dc04ae0e48f24c0ed2f0f51221da9c1056e6aa8580de42fec236670e996261164b784ddee02b97671743f849c8434b24298d50969c741414827c091eb1b478d59e14235077f04dd05304a958e1866ea9884bc979b15ab479b4b472c1ee13003f3d45db2e6742274b7fc9076fa02e64bb91dd0ce4c85a18a6db0072097c7f6f706b9f76c818211ee43fe4908db66345d9059d168bd3a71098a1a24733fa713393b9ffbb39d833bfbfeeec372476d287ec7e7f8f16bcc0c2b10b3172d0c1207d4c420f1bb851f3af6825682352344f9588f65c167d9d105607da8c72152b291e8e8d783060b414b43c5746879ba708e8d98a90b355b12f6e32b37300f9955e19258d5ea1cae05d24f6b019062f067a2482e598e7494d08381a23ed726d70bf4fbbc85e3ea56e909b5181a57705fb6fb98c3b956672e146889fff90190197363808878bb3fe16839c6bf7d9388a9590ae6a575dece6d84cba13677d727431fb70eb3c22e44be6b9648d9d3ff8c24a9aafff304ec016efcc46f124a07218c2a42a28ffe2525e41423de8e93d52ed0cf13f6aa1c4383658153ed070157258c3ac89ce01f9e7ca487c8d0bb633aac9e91bde6abf05a678ece89d41823f7229f573951b037d762cd6a34c5e47f87649a3fed670e88a076bb888735468fa7243fb994e17800e978627f141f36bc1519608c15babf422d158a77efbd54af430e67cb5b36a47d096d1af7add8cf711bcdf001904250f4047441220a0bbb6e37298998f1aa71deb166a7924081dc78bd1cf6312ba176d58f00634c8d9f09d83721ac5406d2273e38bd382ad29a53c5b1aaf8c7323d1771d8d98adc0b34663be72e622df3fab7ab7a9156bf6c77ee5e0993f4b777ca19ebafb247ea8b6ea7cfb72e481b2bccf8c522916b9aae7c9cc60f57a8e84689647bf7362d792bebaa89072708b84cb34ab8fb93128d943ef11a05e2daa6e8eacbbc14515e04baa87b5cf5496afa9b4b664bfbd56d3e080743cfa393eedddc0e7711bb15ebb0e9adb8d157296beb6c993b3bd11a5c157372de09d4c9acedd49d24f6a6015c4f0d808d7ea7207e51ed73f681ca2c15a6dce8458bb620b98afc7629fa2153477a819ca3cf9240dd2b5021f8c8e2b80e3564521cb7ded300b30dfee032758888f7e5e623a0b7270f8fc5d736f6bc996559e892dbb261223f87fad18550cf896e417f70302e87259cfc4d6a3b18f421986eeab5badf4fa9fb35477ea3d5f1e58d43d2f9b84c47246c9fdbda29590edaa55ef3077b4053184a262b43633aab3f053b67bdb88b8720af06cef4ad7ff1cc4650c55d735ebdbf1d73e7ca06c16fc39488ead574140725f0676eff98d6eb23d9dec598ab8ab0c2784b398e7f5afad50f85a4e407e8b72861c41d97009785f609b869ce342245dabc9314a99dfc3d64fcae4b17e8f7c4c1a429d18b715fd3a54cc960a2c83a0040ffbae9f90d0283790d6986d4c725b72587880776339948eefed4a3702c04cde1735d465331061f93747cefaf633410a7c42ac450da89dc10191fd55b6388123b705302ba7b558cd9e7abbb44bbc61424c37bd93708ead7b9a7fb73c0d552f2e1ce0ee43cf6fc5580e69f3b22f5df5729807eee17736264f94d91692448b65f2ca0ac8e1b76077550b46bda245e11e5c087203351caed6a4858316241f21294bb4e3815e9cf8e61e73ed2f703c2844392a5bea91eea5a50b7b68901aad3a67e813f28e13dfa34d1a3b19ebf009688b7264295aa43e30ed1894baade055edc49a346a1932ddf95ff9a324b4a2658b2372a8bb951b1469151e34b45143a9bb35e4e7ed87b2f73045ab91f77a2bb3ba0372df303b44fad6aa33d32471e4df3fbfe0c71020ee4c22cf786c9a107a6f2728216173ed4d77a1c00a7a46c8f138a31bdedd3785165b37288aada7d68bc7282d3a279c6f7037097dd1ef4959a54300a828fde0d743234d4de5a072e6ed5695b0726080eca1a96efc19e8fb014924267b9f79f446125f2c5c317ab1916dc874944f5b0597fd1534bb9d1d891eb7ef817bd5f600501cdb89fe93439662246633613e57807c4addb04404b6b1f3bc70c003c6ec4bfc0d147dd5482791bf98b0eae0721749bd50bdc51434dc8ab61f52301a08d3bfe2198260a130a97110408edcf01975b1c9f5f77a26617791e3f4748154df8e496613ac131d40871bd792f4489b28d403950d8d09ae3da144628a868a3e46fee76c07186f1bb8b3eb73e63f9b192b8e59d112a7efcf70f3dffb0e704d4448db69b632681026492355521441b9037225cfaa4a72c0f695cfec127a29ee70439b080bc41e186eab4b3cdacc0003d5055dcdf5c437bdc8dc05655e669d2e8b1ac5a68a88c2d8f7260a793d0de4c8167273261ed12484c60b58d085cbcdc6ae69e48fc21ada41f8bd4367140bf7430f29c2cc3d6ecc105b6418ff199ee275ba9deb1522ff60c7f6214b92383d3983a8729f80f81c7e73f33c215528a139529a5165cf2c5a810204d108b837519121347254c9f06b2d57892cf55cf4360cce3379643c69924046e67150c3ae52522f0e7210a4de8772955a2ab662daf757522be228d3485285fa1c117e53daccf7129521301df18283c51f9eb71236eadc644a4332cc1a1658ef70b33ef450d2d26e4b72c5eba4b078122dd98d29f7a79bc4657ccba7ab7446524f8987a4c4be4f22081030f2254edc64c0da6d8eb2c6a46f11696b58e67f459ac783f34f8e2ed9d60800000e59884838311140cd5d87345f7e2888963100a6a8062dbd905bc20425bd729879fd1b478fb5078c09436fb58f2352394763a0c8c491f72e13d439986a1b721ce8d1137c9f2a9244868648ed4320ed6dffd87f192bc0f44f6939b87d4411723e8d7bba03291f574ed47952459b46645ba79f91b36879c48387bdfc4a757f727158e611f81955d3d5bfc606fd0c73dd3b3d14afe2e7b5376587f7c9dca0d4726116c333d74fed07891a4a8be732fae890e321fb3d5b8feb003f01c1af95c85004c46b428e75a4d70edef27009b2114c8c8a4e5bc76814e11f6a7c361df7cf72ae501878ea911bb49211e21edb2eca756e4e3c3490ca9dc5e061068f3c77d7244d002d1c0b641db9bd776bdef0ae8b3e6216c233f1bc73eb1368d57b542ead1289aed033477ed32b5ec7c49b8024b401e088d938da4793cff45640d755652747848583276179c65ce5c8e4a7f3ad33d59195923cc551c3e259a62e0fe5985872e9193113e0af4e40b1749f2d2463a1a1be45b9d2ef6584f15a65a04055016a72347e17c9b143a479ab3a24c8cb1cf8d18827868647d2edd56dd818b279db6372546a28a297ee785bc9166753a2ed49273967c311082c9bf3ed5c822db05a3a72c6d5f88076e3e4b18d994b892a503369448a41578a03beecdf9418b65b31ab727cd0eca7d0f4d7482772f7deda12e4faf1fea704b377e4563d08594936fd90717f899cddc58a711eb8d32d6c48c65370ff5ff9f197b71bce2aa14de3077b63729e5794af85b035587c06bfcb30162a29a2c223a3af5afc642a47688592e1e172802f10fdcdb88cdf3467b8c22ec0fb31b055d8b2e032e84b5c43d38f297724034dbe4ada4169a4a3d0999af190abe59074107387cab9e78edcd6b49c46bb1a7219a00c7e69358a10c8dbd1d072fe660ca9aa746f9c641265a7283a71b39f8512430a10bbffd69ef59669c1ad59b77926e44814179472ab45c243d4f1193a2c727a70e4e812aea8827b5d27c900792cf105ebb37daded67d6552941d2854d022dd132e18c2230d5c8975b54a9bf41dd80fe3d53e263376fb9d8e1fb6d7b8f0a4e93555fe1dceb7c488321784d81360021db699a2d52abe32bdc1bdde62e1c7c72ddef9ba10a8fbe8a53c79051d5857ce6ce5d17d8d8a667dd8db90fe79df10b7204cf94c3c979f7532e4b855c9bc871582409471e4f9ff2d478fa9dc81248942a144b5ca82e7b8920be3a4fbf827bc71c72791d6364d2ad348716d7a932847a4cc00a46c787fc2100eefe7fb356bec6192bf48f233615588f4ba87a14c5e6f972d89bd0660976c9e12751fef52f957e0be4acd30a2c69d023209a8c339046296c37e2b5ac61cd45509bf58f28842e04c7fab403eff825df9253efbf043abe5b13e406f29aa9c051ed7f555fa0fd5ce0fabe5b5b67501fd681ec127366794afe424114fd8394b97e8a8a2af2232412ebbc4ba33d6775268164ba2fff35d420847233bddea7f771f4ded168432db5b4c2a39142afe296e908e19f436b66a7e99947e3d1409c0420b27894de8605afe7e03e8d3e30fadcbb09755777c617c323ed727784185344bb0f5169e9e2cb756c5ed28d8fdd1024595609a9422f26cb29cd72bc5e2f3f9d6ce0223ff197c3921e08bcf2855d8041d0a8bb92a77ced4812dd3af2d055aa59b6a10095c582f54f4d1c9da4eb58c0b55766244318bf6008229b164060c7647ea033255c14a21b88d0f85ef971d4c9bdcc01dca111887431e27d728c01af17792cacddad60390eb8500e151c83b443e333e1d0025139ada979784ac7ffc875bc9db826d48c30ad59c8adaa42ebeb2ed09a7393937e23503e5aaf72584ba204d4a8ceda62b550dece91f31097e345f19ce2fe7ddc5902cfbe718b151df49a8422d001f0044fd60fbd6babd656dec62c0ef9f0c1656b4426fa1c1b7228c1ac1b28d7b8da361db759c2fc6dad27f6f7c52f7c48083624efec8b915044d77330f0c744fcb24159674b9bb1bd13d43b3e1fbd28076a9f15e0598d9127723d60dc6d14b0ff3765e07493d70e4905a03b42ce391a18f79f4a0ddbaabc753e58c82e6e723ac3ac5727f0fc66a911a577b496ae06aebac0e6f3f907f8fb56109c1600b3671dad1e90fe6636e6673a2b25e9bf84f8b0e2d08e02d471fafb07265d3c8a35b6ea634f6ddaf632d68605a110b9af05cd98337bb157275a0fd884721ee03336c982fe5df7466e92a93c52fcd4e4087102190c5ac86770a93c3c9d136b94ee85f9bb11d0543eb3f7e2f2d66748d5245c41ae82a17df743c82bbe8e72e9e46c65d8c5c4493d0e6932f9fbb74401e585e629c8aac38c2ef31f23a1194f38afcbb675b2335556d298ab0c17fe862498e5882343d967f8593f4bb62d1872cf6dc67910677f247d66552bc2cec8c9ce4328ec8273dec3fa24a8a81168bf434b1399d68d96bc953404e6cffb2444a9f5a179a85601604ac9ec6108f2946872f20f4c1a350fa1acd790b3c0c60caf05b3c27cd30b7c27a9bea0012a18fb9b727422e9772fa9afd373e3957b554426658635479c3bea194fb5c2e8790ad7d572f5edca3a34e7f0efa0901c4cbe26c1f1a29b44a22f2068f0b8c54c9396a5fb4230f7e9648421aa922abf8a3949378cf78866dcaddefedafa3aaffbad6c119427d67b3a4afd817f779f168834cd2c9d63ecf0f3dca48ad052035dd8588b277218fba785355ce6eb222eed18e77fb820998e18212b429f23ec37eec71a58e5c34929b4ace6590cc6ed46f6d04099a8131e8fdb32d2f203b26953c0cd69ba39a7729134792d9fa550a98aaa0d6bcf035a860f503c08600accb2fc70d9c75d3d1d2ae24405dddfbc984248292a5c6c49ca2b195c4a485ee0137042bc33a47162dd7257e332bf60f9a20d445213a745bfa9212a79fcb0561414b144ba814320596c568afc3ce4266a1cecf368d383f546dc334b347a70271f44685e79b4616c13b77254887b12ef72cbe02e764398600833043ca7377dfb8f660c088f43794f34633557f0729d5f04645ba7cfa6f4545a0d818054b58256d01bc097d702feeb0f7170ed58cfbae10630565f222812d96559aec015cff882f203074fd0fc4d1683207265801838c797c3b338a68031178c1475b73e11776eece428d1b7591e0b4112216f93275f19e65a90e34e806304bcfb3305cbcab28ff27b1a873c1b652c618c72f994036d01c8c66b367110a1e4f70d2e1ded909f38e20ca982f1687e0ce6a67244d3995a152e694bc5d75017234aff9434cb746a9ee7dac7987d2fa05a802872fd81c7423f266f1a9f6ddde1274222655328d290c5b846a7431e39648a25aa72afe5896844982a152b37bae630f816187b38d4a096957da934a54a504d3784002e5cad54e18b1cf680e392f943c39ef8499ea5832ccc056e07e63707e0366768215c9653f8dd14688938de69b3296bc04bcc7a0071d665b53052b02c3c4eb4729178bf48aff9330ab549d5e529f486e00f1975b966720e7e7b36ab6d96c92b721212932e88e6626a166a668d8372f8a9342c3514478caf8f08b8cff3f2434d72ff2259afef4cb6d5e3474552b421fcd979db6194b4a5668b403fe0de528266699d89ee07fa644912655e9f73ffa1fae735ac05dfb24731aff8ec4245b12167727e9dd4365e0760c272b50e3a0bf4971167979c80290d2fbae1ed2b1c5be250727a464470432606588c098b61debc32228b86836d502fe2ff5f3ca0dc75209e72c995273d4a5fc0d8ec5a712c04fa976b26f99e567e893459cf5e033e5f5b73723d7bfdd20002d666a660c9354a35d6f7a8034853d49f04a83b5b9641a23d53020c9ca4ae8b359cc6e70353e81fb0f0ed4f2837196ac88fc5b51c88e35672457270194e71dcb18369f3d609155b3b84394cc94b1f0efe6b235bc26a97c53556723821baa73f4837457fc431f2f744c115402ea588504a7dffbd8997b911f82a617575795e94d16b7ce0dfb20f4af9ef28e3846cbcc2fd87ecd7b8cab35016b4725c1ebd2e31cf2d0326741c0c1468c1724b19afcd1fdf808cf978e9bf19453672ad802170e373636d5d038c26c5fda628dccb9ef8da6d31c5a69da40d23ae4f2f8e392e50f539639f06a9e92f7e3a60b840b2e347758a769b31b4d7c30d2b415d140952b0d040a63d8c32bb1977f461841508ac9874261c91064f9590050d29053aa58cdfed6d4a69984c94cc4012185b189e3c2ae946adfd17a093b30b402b72462c8453fda2d779418c56ed615b06b503ee2e305cb91929710b8473b5e091721d25820c19375941a4ea92237bb589776951f83a89d946acdff1aed02677fa72f4e4713924015cfd26c8b06fd62f1dc14fed0773c1ccdd51d53c7e662b968b592ab01cf72be04ebc64b2d768e512e1452af41194c0f65e8d0e84f904af6349727c70f4a05d959a985ce8ae836bd5d954ceaa61178df7d3f143233eeefb7fed0c0e3f1f0d3ecc32989bc3428ed78e6506934308b9d3be9610f20f9892704c48722a1fd7e3ed78225b95b6264cf910c1d8e7b3af54444662b42ef1cbe18412df4ddcbc90fd2e1d3663e2666c2f47d558278f6b2bcce0c81947e344ec11460bf1646ff0b83f21415ab2e4eb0b488770f776d13a2baf5916677b8da331d4aeebae72ae456100c8cf476614539c0f71603f294caae691364264e758ca350262bb1e72477e5fb158c62bd3878610656a430afd522693e90926d983d52667aa4b65e872661a9dc2efead0beebd23df040448f8be226f2d87bd2f77bdf854fb1f315f272dc687e7af2290d23be603eeac10d8f6c6d101adbcbd7170d22f0b0d735071c326d4dfaf7fb37327b51abae9fd5c726da493f141055a8ca5f3c4f4642a174665edb48903729e7fab3bd91d65922077289e8fa3a98263e86572edf20ada4997834d67e70cb78f0dc0bf41c350b13b93479b4443cb30d4ace769a95080c57b79a72bc2add9066dc267b02110ec162e3bd6538eb8bf2ea54386e2d0d3f607b9c2f7277c4ac2fdd91ae3951cfe35fea7574661e734b42da61a0d63f40c3f21ca23d529c5de91f41eca3a6ab5eff80530e654efd9c2ecf8d9c01caff58d889c3b24c7233c123c1466834bf2e30b4a46061281537749304c4fcdede0484028ac68520466fdf6cd42061a356bf074bef99ef56a2bc1292ad564bf3fa2a39d96364490972076ba1443bba46c99d3731789fcd9a40451b599f03a421f27c5cf6d38cc9db5b50b603cbcec20d522a43b43e626e5db81766e69798f612db7b06d481b47a45727cd0b57500b6c9ba613db6f08dccf9f367e0cf950f7afce9d18acde3eb69ed72ec158de3d79f5d9543a707dc72a4e1677308151e190f1f7c79eb135b02e9c22e778f69dfdd61c4785624c7d619a2f6012b8effbbfa0e5c7a9da1188fd1c19f23bc47e9448f02e3e081285945833388194eae85d33823e7e9bc5c9bd097f3d9724a68c3b360bc7e1419c507a6ef21b2fc221a1ff58c7b935a0f0d945f713cee722062ea482adb5ec5a58362c0f29b781582e5dc5a4f1ac7a37ea8ef8aff4cad330bd26a3d671e8317c7e983855a751fe770415bf80f842893b2d859e9e885421446702e19904600a1741ee50b99433dd3ed0e022c984736d8ef760c5083c0cd729b536eeb49f3f6cf5521eb7ed0dac97af4a770638c9502aa313a3d229ab79972c59e2c81376736e6fa311c0a62a35fb4f86008dff20bf70bd44fd95480555872aa9181d985e974508aba2118f3485b5557ef6b892b74d9f853630ec1e4db99729ac9a4f6af5118ab17af813bc35b4e9156cbcd69db1612a0ade66b9a419af33452ad8cdeeb324ae658733b4c8e47f3f356f944543e6a0067882223780d663e7216202665a161cdc07b934126b871731621a000e7ff2f203afe51c95878e8223f436624b536d3bafa64bb8a4c9648cf70ecbc0c241861b7a1c7dbc0d65dfa470028550fcf8368af38fd4dc710c19445c28c12b30df1dc43eabfdba09754b4857262ce8926c74ab5257fddc56928ab5bd7ba57d655109d3c2c462e123ea387cd72fe3d121cbb33b96e6279d295d0b01c0105321ac9524932f3cf7ca70d6826d6729571a15489c80ef4f1c13a1023fc306a4672550def25be6126cd3bd70bcc567206c4cca1c4767896ac37d16e16b3c2e80fee7e413389e998ee416fb6df220672d1d077b68d30b2fbdb164f89080da7079a585e603174cf32a31dbeea943bf972aa9e7acb4ef5c5235ab2cce8ad75ece7fb4bdd7c12bc31fd640b350007f78e7244df3041f3b495136d8dc0b61ebb1fb11ab0e1ace92257c32712843112a463727324b8e8b4d0af9e977bf6b2cc940f208967810acfb4c66e4f9dde90d8bc0a72278cdb1462a344a7059066efb347ad72237e594fb61a04984fdd2f5c1a821472e3f51ef1d0fe76801613fe1f32805364d80ae18f942ed2fde20e76a808a0fd616a669bb5eaac434e247ce811c9e65112796fa3763d85aae33fd98087fcf4c972f0dde48648e4ba21fab38995569d2a466372d36e6f8f95aa89a563d98e1b32587e105e22b96a36369185f2fe38cf4ae48879e73a06d34e0f3583166d193df0728829642871f0f1300994113367259020d31f63b83bdc95c69a3fef5011482e3db94b2f43346996b2aca4f05e1f44086582318545e21974a89b39abdb3032141da16b10306e2b7ad509a3841ec42ea92f5e6c66b6bcf6225f0ebd40b99b0ab4724bdb294eeb1fa426a1ca0660385b67633d28542987ba277c24648e21f2e78d68055f203eddcda7eb58f72b5451dc9faa502dfa55547a6c916ce73028214c50728a70bc032d8f47a5114ee5f28c20c326d2833b53244c8a6db728f0251f2eae72d18c037cb22e82becd0b812d45e0777fb71d8ecce0237025776131f12a989552b7a0ead0d1658fbe1da0c731d3d095684ef652aa562ce397d65bcabab8ad2572d3db902708864ee3e2b1247f4da308a08e377a7b9b5b5cc66ef1a7b79783f0728814738219a6be221a6d3c0282336de4ca40338db909ba069831f078cd9a91722230a357ea5426942b0983fea9052db9c980ead770278a995429aa77b251db23f232aded124292b52b90b6e2ebba89ba50325036ef55c6ca09f25d77422c9864047f392b68bf33b04f3131f3414be88ea9ac9049f32cc72f598a2e07297ce20d2c2a37340d38db761cf0222e18500939633871f82f5efd56ab1bd8c2fbac2f728686301f765bff331bf9898d4b10823aa4877bd5a5f248f9a3cb206002c28672839fa7272b2ed26038e250a869de7c94330b7cbe6b76cf03be4c8254c4b9ca72ff7d1fb34475dfe646a095a9ed48a5fbbc6b3e00ff8253d34b903e9804a12a726b71816ee53a545c5b3e3db2c4bd279bf87016709bb7eeab4777f1a586811d723c71800a1aa8cfc84990e6adf3b292019a0f53f32262b5dd4adfbbfc334c602def51ab42d26dafb3bc31358af51e2072363c25cc6d667cc75d509bd93aca992f490715611b9ce34e805eedfd64e1df3b490562e5b6e2519682bed9a1d23da2728a33595660fee44a4e871cc3702202063844b3993faecfe780efee72deec7749a406b995db71f2e6121eb4079ac4bff88b124d3573d7e14caddd831ac62a297289d3315fe9c8b28f01ab5e8bf37b9bece602935776597bfbccc268a0ad9815475a0a034b7197a0e732497bd8eace9704c786c8902f3446ec677d0dc526123063ef8e93df17a5b9a4397a415224116db4606c51ab15b1ccf737744d5f6d9a9c130ae5000bc5b1713f5bf71e2f20ffad7165e95097dce83ba7da6ecd967f79ed729d47a75b61e4a9f2a3a170986aabe8aafe9c3e24bad89412f0892c657f8c5a72c6eb731ecbb83f016a995f49ca3328b5ffda2089789a4db13e1a0ab8bd5f1908ab3c8b2c0b40e6e1a4b6e17c9ea9369696357e210400b88005c837395446311f83ff2db95162c9268881238a0ed2e11ca0aa8e6ca556888f235e08d3743bc3725e0be63c568c9e27d4d56b57c6752b8dea707255a492f50e2ac559a744531e673cce6e959447f447b4446c177d56c073efc3bf5a515c5c4ad5d999c838e60d728394b9f4a90a88854bd8eea02c49e86aad17b32c95311fa04e4bf0546a5b2b721672c71d1c0d44c77199a4c8f6231dcb2425fa7ddb37cc35fe07504487e5a272c1b4188f604c429c85f290ef0f42240096b6a3d3402d5002a1cc13c0f01d47721be6b0b4c6a8037cc6c1111508d5ea9aa2ca5164ca6983878751c97b4b7e9265fa2d823251d2c1deed327137fc7a7abe4b66cfc50936bc1c58f19c46d449d77218cdd9f9ba28f7e6f0a1e4779fee2545278fed14c0a24b471835c0c1e9750f721ac4a5d03563caf5db74f41fafb31e2eb0daa2f2208109155fc1e7d2804d3f36c17e94d7a118dff55ac1dad8d202435e5f1b758b434b117741b3150b768f1e727663113462f3fa44d9a1e7f114ee3cd4a8327d6214095034af35f816849d2d723cd29f851e16f9a7e93ff8731d39a9565d769fb6239c21daf4537c2b59d9a772357b6fede9a41b807e2a385b7416b8ad72c128b91a44f78345e762faeb8def40867de86c3fe17d813748405bdc19ff4cb8d87e9bfee77bad0c8fddad8742975d1d2752cd03e820b12e3655aa65b7b15922e15ac06cfec5febfe856cf6f9bd3669565d224b723cb45124b8d116d602412155cd9b69e4166871fc6b3733a5de6720ebe70f0e4d4f1d0fdb5cd2a70bec346a168bcd25754856c44764066ae552a60eba5a4c99ce6bd746c805656e47fe628f47b68723018d2cf5e6aab56beebc87266ffd1c432396f66d00eeea28447fe0a8fb9bf1d104fe2fabe85e8507e21cc72d454dadbacc8ce189a582b8a6ebb49cc51d9a3f9a7e25251f03dbf46b29f3f5ea5f7cdbd0b34495a763946b849f601b6cd9c6e3caaa6fff0399269388f9765725b916e7bf6ba72946e55a33bf93beb294b489cb76352e3c7fbf55d24f6348a72ccc3d44f662e859de57479b401703ae17ecfb759e99bf303b274f0502a304472e460c661fe307da614bbfd3bf227265992812d31ad6de0e3f5385fc5bbc98b54ffbe87d16d59ad5b01a397c9985e960c50f0662ffd52417270e934a03af68953c1cfb403f68286465b1363e3611a20475d5019f6ca2550c9be900f13b0dd5872f82093a782b6dd1229fcb27712c5f2acab2ab2f028e7cdc88c8854c25899a550632fef4a8ff1693261aa06bb3af9b8ed18742761f80550271eb5f394e5063e72466be377a51052c66066333a24d5353ddebc1b30109b15eb5f7fb05fcb883c7222f7c4794ce8686bcc3021a1062d53bdb90f8791320de7554c601af4671a2972296234c5eecf872e0ec70f236cf1adc3b6c8e8dc5659c0d7e4c5a8cf2ac73e14a29c1fc63512ffe83d59104dea62e2afba6243608ac1683062be76b98f14c3561b39a47ea80528523d556db362c44da3f50e839dcadd2aaedb4484f7f1573c7245a66d174520c278917f84d8eb8835badeb66d83d166854113667c1d7980c16450e724930765c45cec47120e5445d67a2cfb88e69ee51e9d171a708188bc897224bffe5eb1bcc4db737ce42d4cd3c8763efca82314583aefdccca4154e813e72043b652e31703f670b69ea597ddcf7118b62a98e863ebabbd0f7018e8f90477232b74925251da8a9e7f55cd8890f836e0e71b263c4e1defc258141307cb85f628a2b5cdfb512e332222dd8ca9cd54f5b73d7c0e63ea345fcfd5f462078549d72b554d066d56aba4b1b21bae5130e3c6359df483ec94b2757b0b02c8779eed16eb2147c3c264fe63f62da82649b9c703d6598407c1cde5c2b3e3ba54069514f2ca8257f32c0654135b7fc0c515c549036c90dd71f13c97233f4ecd79b6088987200bcd136c3711801d106e7c9ef7710eadd541186d646fed3c21b6952e866e55a400a5b24c160e6a698a266e02209a8c47c1283aaca9a34263d6d8aea1243ee721fcafd5c9ac0e6346d70bfeb0cc361399ec1ee58249f7c5173d9dbbf6ebfdd58ae761025919a9fe5649138dd15f6d21d0f6bddde3a7f00324ed8ee292ec62e72a72819dd3f513f9ea9eba667cdff4671188fd1fdb5dbeeb9b2940766ce440f0e3fbf09091bc806e6cc784976f8ed4907eb42e0ad4ed7028e59815f6a6c2d326d93d070890f6eca3e36dd0f2356460fcf1d08d5e14424d47ab438e23316b82072047fd6544fd030939f8cebced38832d62ee5d12ad4335f6a7620ee835d79751578319065317e8d8e524a1fc6fa5e7beba31d4ee0f9cd1b057f2055b55801f628f417bb4e30e2baf3f1e71388f1a9a429169a41cf2b12bf5692057851f1a1297299b6655f15eebded10a03f25e3b2a1557823a858f2e6068306ca1ba692497904162c535ca4a0247c0f5a88438a7eba17d63206a5c0756043cf112b660064e772dea9ca5495eb6d2b7fd85a7ef28a5e6e64220d147b390944693316e004176c69d4531e2fe71e242eafb769440026c8fe17d98fb3a60c06a5c2b4a09999140972b3760ef073ff07034f9d02ade1e719e012fb8c3e6ec4bd3287f81d05f0368472e5293ee0e9be96540d5a28dfac3e545f8f431dd8f814d08382922cff62f0cf402bde3b60e96c23a4dcc1c50e120c8372f6118c6e2edbb6c1b5af1d2a4ee4fe6931d1ec29ee8875bc4efaf52c689a1968f9097d4084905c2d027139c33c8add725d98f1bf129d4aecc669a2abf9981eb44b65f4ba6ca60413892533b147ac7972f40dbd8d771b528a8b2d437b21247005667c45452a6e2981251e524dfd8e1c72d9aa4f7c3478bd3c0f1c09e9845fb3ff194b8daf7e2bd8bae2e97d7f851589725f17b584246997f348ddce9a0d507c8cf1bcae81bd932a1c52bab47b2ff501723de028b2f18a308a1b2f07e6c93bde2d96aa99ad2910fb42ca9e3198ede35a36e42554bc84ac6ba02fb18f9506d85f2569e266fb6b5d560cd4c68e289c53400ce9c1db2ec57fc69acec01d6a3a87037dba48a76c86b4035e87fdb32e43045658d99a7199e4f6e55fba34c98a75064fc37170453a346562b0c73fbf50c8cbae724a869a1bb55efbce9dcead4e7960dcd3ac6be918e9366083379278020f98e7688743c75c81e23ed8a3f5f60cd0d49321ca41d036333db7f2652f2a536ebec770eff25c52843694e8f8f736eeec5b9026c3ba9efc945942ebedd2e9a85c1b5e1c53b27b3c7ef188fa223421389253881bbcc1cca14ead33fa54a3467382cbbe1aba95c4dd2a760a042a6edfb4b5558f062c5b1f778349b512b93038eb8c5fe8727059e6697745ca328d146b03e597ee8fb71118943672fd7f1fc3df171c06b24fc06dc4599d0612360ebd65e8a07b941fffad59f240e320d43cebbf0da855f15ce22aee34e68bc0878587007492b6cea5cdbbe2c39ff60307d2005390217042040648d3f82a81d2bbf4a5fa15d950ddd6a770b3eea533ed44c2c4915ee7658b72d4e92d2c69aeec64ef84297d31e545934794e6081ecd3d339f256b0d7383713fbf59a5cef303d15782cbf10fc8f81b681b1bbedee77e94df19bf25596125e972a2a5308382cc7039c8c596ebdb71d06679a8f20f8b19b0f810a4e0dba0c794720b1cd581f5020535290607c26e51eec3a312045db42b20db91e6e604152c6925a97518556a93046693ce4e8500dd05936b7355d1942c0cdada2bab063b268b72dd55d7109f9a823caeb74acccb2190f5a58f0598de9aa1fc82db0119d3383f7231a426376a01de061272c250841a09f2e273b48dfeb848a1ad24590306ce9c37ee2cbc669b535b4d1229f9a26ef7932851a959203226987efc69cd45d1358d72fc805fbb33ace9abff3480b180691eddc9bd42e2ceefd83888a50497ed1c0b729f1e454f4c6fb272fae8b36b232a9a4d2cb7397a46319ea63e6c5870dc75b42a165c7b264051582d8e80a12368f305eddc2a8994748323ed58838658a5634172ae74f4465e8bc4d9faecd0ed51ef3d606a100615dde190c42105df8b16273615226af37cd3cab361c2b5affedff5604ee8708e7a4e861ed2f2d8029b061e1428ead8b631983042238d16d7e9e96234b9b27afb9699719bf8d7af8c0154a81544b5e2218f8dc2f5db1cdf5064edb4110dfd93de006fd1cc5a9c747fd7c7ead94b80628499c1329885e1d4ce44fe080913f1c6c6cea71ee711e634dc268e056172fc29ab1ea5eacd2a7b302ecb593cfb549dafe7aa35d87120d6bf8adf45fd5b72b1969ae0c65951258fee5c18899008c2182080232b31619e4d5e0af6e64be87273c4fbaf4518f02f9a2ad1793f208b3144fd29a365a9e70d0db689329f52507231ddde803a19fa4ad973fa70e3d4749896079bebe1b1d47f3f1cd3e7273c203b06b9c383a22073b46e8150a17b66be8e26f8a89ec574459efe74b19fba2bf7729f19621eb8914dd9c5556a8f00e9f72db9d7df7d97f4e45018ede1c06f7c6268f7bba6428ea87a33d2d6eedfebe4bb2caedb4a1cb8f9dda196168b34906e5269ef5f320f40bf4f5816f3724e1305a6e11f699cabeeb361e1e6eb87c4d00a8a605642ef6122067acde69d671cc11e37e66e666c103ffb5158c8cfab86941a17729842b622457b5989519be127fff0357088b1012ee88d7b492bf1af09f0ec127283867cd4b8d38a14fabcfaba7099db15ea8303f27972fdd13380588fc7e3f53ee5f69edecf98504e27ebb1d60f629bc576340544208e4ab2588a2a51c614027225730261b123065af0e6980a6c5907e59403df0cb12b7b0b9eec6b0654687e7286fc32fafa5badac4267e728e404487db6db51e8b88751fb9108bfd96fe72b2371312ccf16a7abe2dd8e2f99d451661818296ab37a7aa848ffb5afcdde497d4557b1cae154e0f307b97b419bbb093d8a0e8ce8654c3cfbae0952ab2924b180721909ded175964e55ec3777ec88c464aabbdd267b655be4882fe566685c78733398c32e3f48c3bdf8956e3447656c971317edc42474a09471ad509f1532a09a4b30a1efa1f1daf64a57393b23c3b7f71f38bfc4f506d90d5a60689208d8b87c6ff653eb5f7c0b51c80f1372a2472f9c6fedbfcb659b37072ec70706f256b10e72b594b33fee75b25e50f3e1390b52923e7b7cd00969482022a2b4c0d30341ca724e06e0a8e5e3f337415520dcca82c3fca0952bca24241a7be718660e9fc4eb31fb2640b27be3178627db43407ade8b1eb07b65ccc196dd8db3e335850467fc72c0d212df3c119f367ab7e92b6b73af3127f6eee97d8e5688fdce51c22c476472cab8e1abc485960bd4621772631f3d98a84cf213bb7d14a72b3efbe99dcede168bcea5cd7dd2616ab4639442b568d982cfe89f2a07b51c35c11784a0aee67c726f7fd5ae52a629a513d1cf05333839ffcac62b49ce1e8765b3b1821f5ba503103317e4ffe45a758b36876dfc7e67b848d4ab9dba67767f9931c562703706c42f8f8c43c13019cba1f5bb19b490044a31227f0e79013ac9ffabdc44fd7a89ee30ff74de6a7a79851aaa36af6a9076b5c02053e1fa74511609129b1e8f4a4b4472a9e3603b142ffe66ec975b00b5c5b8e0b9d3520f3d0787363c01b63dc5136f513fd8216433ed503d67fc9e31ff15b060558a618f06501a73813ddcec6168bc2af5ce8a9e3fb48432816467e0d8cd821e4361542b461977d1944f1c4ab5108672b5513863cd73e5a5905afa7f6f7212626dfa5cf67a52ed8698bc63810a36367273ca35109e7748b59f06ed5a2bd8612cfec93e34a078ec320890f98581c7c472393081f0cafd8ab8ed7ef912a50b355c363fa59b8653d6d172fa17a2e48e45728e6f9c28499af846617c32cab4ba26e4b227a5d58aabe034de3f074130ef5b6656e1925bb79f376fff10594de90b1ac30ba0ea48895eafc6cee08bdc1d8dc072ee48cec6aab27a11bb700d59ba23861f7864cd0ef70b82b74da40e94dfb0a318b42c5fab91782bb8671fca138c0eb5089472023e7721ade4231c73751d7551729361cc702438f8a3a7468ad66e9d1cb2c4ff8f35133f0d0e73245354770d127268c1c923533f13486f6c5eeeca2754a9611386463c115b65d171591e1939b272f000056ca07ac49ff82516a0d2f2bb445d74f5488b8046ec556d8fe83f420800f96008dd41b55ed892c6e261e06edad17e11829a2e84c32047bb15dc317291722996e7e64589ad9d94b41d76024707bbc00afd44c6a51148ec980fa77d18b872f3ae6dec6cb5940c57570fb512c618710879bebd77c9a8caaf1c8e6002a69b725a71c92cd25354fb5c4d07ff9eec870da2f03192546912767682d47983b32231698094ca0bb84c13ed432816d70fc00269708df602aa795b76a1e79f69982d72588b8dfb2d929a75d5a4c3ffad527eb858f150746f47375617f1ea2e0d1c462c8e9ceea185cb138b399c893b0ed965b097a26a92b4978d1898a039e8fe079c723fd32f2968ab15a58c556e5bd86f90e344512c296075f336bd7509fd1566e472579a421987e208f832aa7ddb2202d72a01cb41452739525d5b951d96e9dfc5722a99b5f550d913f19bb04f9929508ebdbfae165bac9fa4de47470d5ff491e672a225ff25c7894cc5e974b27fd5262a497ca47d1a67e76d5c5b3f9ccca866a372a86113625b4bb53f9492bf0e2e917d70a0e8f4c08897e94e773c05a8e1b512364ebe4e1cee8c8cb4507eb990200576be2572e372fcb935d0f0327efba76612728e8f890634b0657154d6d9c4a221a0dea64f3a3537cdace785db1835e410a5723bc1b784ab4f3f2184a908ea3757ccbaac191c4914b607d2a6be4842446dde06ca397bf74106849b8de7bed14f8c045085db51f093064a3cb0105fdc3bff32729611620e42ced03de666970b6674c0cfed0b15044d6e824347bb3fe4df031072f7d69fb9f953cd8594180b811ee9c9918ea9f966f602fd10ae3cd15ccf70a272eec7b006b17b7e516898b40be27fc6e25c29f891d66925e9c0e0eef76913b207ab6da4762bdca34f8123ecdc05d6379d7774da73b53712cbea188cbc28ff7b4854a63e21281b4343bb81855c56ce42e208a77da4e7f7fd9b1df730e001b427726d21afc9c556a6999cb15a481b056c6d9a5deb200624e82cb210a6fa1acddd7210a5df024e84e51f118e1fc60a160c3cb723dfa09dc6f3690855ee5f42e1e5054ef6d9c04cfafd2ca142ae1de55ea80a288d198a7de59d50c68dc728ed159872796948de5d35295f615ebbc2ba5cde4a74e4f00f0148f26bbba84057a9a18c72a26560977eca8b35028285ad123ccc3dfc3181f985c7ddded0355a093e00017221bb1a703985c9ef94ef4dcce7644d4eef94f0641617470f428ee1f3c8fc9c52206c59ba06b6c6cfc40256621d16a29fd62ff848a7de6eaecacc1939a899921919831bd0745528dec7b2845734c594490e76227ad789af95795e96bb84dad472606bbd50ae12179fd561f5e7488cb82419d0529887ce06aa8fa48e3221047f72cb3ab0c3db2413925344efd56e4ee57d2b0f3ef65a0b72d9298d4ad8f48395729ca41380b89d159787d28051b20425632a278866f3e70b8f04b0c24d7da24f310083d67759fe7978e92fca706d57d62a8e0820ecc6461e972005770ac2e30c36ac87471b168b0e962b9b3df0890494533361d1ccc55b25afb224c8208cfbbb72be6c0c0e9a5c89bcbcdb4e2dea3ae3ea2531ed19b8a40a8352be749c0074fa48551dfe52c041d4bb14e019c15027471e60d88b1e7eb69e3c2fb231f7f4a02d72a9cfde2fb463178b88c84510f458087d53ad193fc63191a9f7940b7754b0082d7bb14fdb2b83dd64e8821d320bc2aabd93ad0733a4a9fb1c30d563825834270595459870d820c88089e55e3e0b8c8a43e39c9f7309f2765903c50e9aed11510e4b324dea1d27b60fc86385afa5b57e469ece2e36ea8aab0e6bd861f297d0dc62884bff0b7b6ac211f0c806b8a7a5d3dc43afe918799fda8e57f6367bbfee165d82a36ec1e21ab313bfb8166b85c4734244f07bde3fc79f5bb085a7232c0ac2723390a41058e50b0f89aab4fdd68f771a925e42ba2c1b03621c8b075bb4d9ef72d95f840fc7015fff0ec78939a08daf33e7f7d12c09d9731e5123919b6f4ebe408a3eca36a17d067c5d172507d08f0cdaa33e54b05db42c06a873179f4834be726ca75c310d129df4ecea23fa8b74648360f0e4a82397141ad48e1f550024c87233cadb406b5ed43cd1fe1e457b5d423f4b5806d0daa9232f5826161387e104726812d84eabe64be491278db03530c9e882b15e3272dfb7e2fe5f158ca238bf7234d4b131d1b5388835eca05312f2e64595fd55a28c0892a319a3b6ed96055f41fb68168f0df554374d82a35b6db4aed6302dee9f3ac2dbc04f2d9739f7834f72468a032f2716b8d5d2c2bfd8bc9a1ff23da0c1ee0c07b69a0c5222371e622d723140f678ad566554ee8291777501ad97208a0440ae73f8f94a82f087a92be27271fba680ce46d2e4e6f06448cbb8aa87994e1e3dfdb5fa68af5eefef3d4aa54c764d476f3a38fb0b8aeae1b1afb713072a7c9b1ad8b0ff8cb9a1ca459e77ba722efc868b8c54b8eedbb2082137b5c131966a9afeebf37abde97e109ce2bf8972457d946131591fe352eae87a952671d8efd8f52869a4e59b0cd049071cc0b072621977ae656c5fd310c36f1624be775f2e3ad9afc0fbd215bbd3f8d7308b280762ab63ab5e7cc7271d6a34a1b37101c9cfbb650ed30e33d0bb14b11387b9387258c28f9b1e9c148b1ecb17b4a81b758cf227fbca8b0088af1e8385b94c603b7235661116defbd2d0689d61a23fe980ec53b9fa3779e316885edab61da3c29572a4302d2f1ba7d72538ba5291ba9c69bc1ecceb6a51d8a86f3275c05bb9df815546e71cf75da219daa39a76605c44d6d536a8041c8bc43488ba79576c63f3fe482017fa6a8613e6c4205f4f756ef1a3e4fc45cc0d4d7e7d024f463f959c258d1cb13f6aa3a23ad8430cc8fa94c130a64db17e2a657c711e7af99855c40892b072dbe8a50e81197e3dd566ea36fa9ea5e0644bd64633bdd7687dcea85410eec25272e00cf1a1ef1893e918830e5fc97b8f331fbd3eacb3a505c2a17d4a50571c725ae998ea498d6316e77cf317a876b81010de4616046d8d43dcbcee95088f861cb620dca50b8d26c7138c1114c4680937402c06dfa8e6479f63fe2623fb9cb65022ca818a00c5a62c1915752674721256f310257df634dcb8a30a94caad5eb060a6b7f578d1d4f14e0c718392bc90b0cf80ad176eb69a4fe8ea5c873a1436d6632f2fbbf0fa4a8b8c1470b6b20571f85eb1dd98d8f3cc4f97e8d05fef3f4197726ddd1dd5471e2f7a5c0e601d6f59555326f635634fe84938daa5b58011dc5d1e6ab5b32ef5d652e6458e0048c15e2eb0b95edcdbd9ae51d021df7d897565a85ac99e04fb06cbb3ac8b858e0909fc1f5cd33af601788ac475e59daf7e89d884648714060456e0eb4d5bb83da8350e0321d51c40f34129b9535f87bb02493c98721fecf88c5448fcfd6f7b4c2b80d4b8badb804dcafa37fba0cbe6c4d2ec119063dabaca96ea0301d8b71983e1bfe66894147671ed9ecceec9bd2a585cad0b1772a836410f7fa197e076f30f6f65a876ae7734abf100c0ef75d89111bd4f60437287ff75e1e1c6946a2ecfd1a044f05e7acb9bd35bf488a50fb6eb2d5a7eb4917295a5c606873838e5555283479d9eef62a2dfdc510b6aa29e24e0515795ba187266de92d50e6ae8e70472117f5e6891ea6aaf9e7721947c93d51e6b5aca7a7872ce27ed00b5676fdae841334f2d5e37cb07a4e8ddef39597cd6f7ba5d92d86172d0911042c50b6e3970f295495b6c764014afb9bf37004dbf4fe4c732edb59338a5952ac3626fd686441d4f9143214da9ddb73133b7d7bea2299a2c144753f15e19ad092b44934d96ac68b67e9e5aa1ed8a69569ec6b970722d506ba827e0487253cc709d03ae30e577ed620261c2091ad09fe945b7f40e16389a146a0866f67218a29df6edd19fa1deb11465ac41a91757869abf01ad15a2f2ac65793dcba07291645acbcf82d713e84f59d4390d9d03c0d304e2b6cc61465de7b64e67405372e70d931b1998284b8db1d1652e8d0037a15f60d73a53663785f90b77c66ec87230d7c4a98bed1773884387c524c522839afbe5779f82fd6c326cd538cd3ec5722262a12fddbaa153475115ad40ab64d4d08b02610c28ad8718565936ae8bb0727378312e023922dff75fe28029da3210e826b93e32ccd47ecd432030b20bf063b21e918c6bf64c3665f2d4a3658cd04f84d07f3408445c5eefc9e6fa76dc1a438c8145a7c2ba364baeb753eb725027c37600a672495139f4c4b47f959f3e0317a6c89fce29ba6ad073934fa2499f27d62fb1713254e4d24123149e16c283ee6e7b01a9b00821d98a2fdc64aeaa90facd55de177fe137ed48f6ac33ddeee4bf697687816e31f00b42eb4677d03f4a146c2096b250868ca6f408541f868dc22f72e706dfa5d0cb37f4d53ed88cc340201248613665bcc4b56f76ec9b078076725ae42fa9da490e6fab3d82487873c33c37ba7ac20ec01b8674c61d90fbc9c56472d40a82805235af499a1f9c2b1f3bb891e1a73d47dfb28a9e5f062caf64a5a372fa93b45e67e1a32b1a5a99e6026201be6dfa440673c7243e90f871aca9dfe83c143e6eb3ad0b367c94297aace419f9600b3506e45c7d43b2aafc609f69e9104c9b2434a48c6eb35aebee05013e7c415c72cb6fc77f0f11f39d49b012c488c472701e2619dc002d31c3bdf93086b8f27d595615ce015bc471f920a1640dafd12c253214789cdbc1cf5b2f135743584dfcb602c04ec2119b4cc1d657e5a0215572a7eeba869c4cbc6a635f1456eda34cabcebef0749a13c0eb9c2a1065f59de172937502d8f29743b4c10b84f4560b6c99fcfdb8cabe5b445c2734579f8d348c72e16d856e99181b15abfa44d99012014f8f433c0e587725ae7edd88dfaf7de82f2447430aa21652b8481a25d02bd5ce244123eb9f775407ce34e0d065e5cd7d7239ba885e73fc4daf0a2d3a9cdefad0c633d8f6d88d3ec509aad24ba2a3349a5ed2ff079c113ba8ad7fa7810eafec395b6edb314206bfb2243ec5b104a255c15cf7899e66412e462a1a3da3f21630bb329f2c39c726679c72186520f376852364680b8ffef421021d9670963cd8087753f45d6e957747315e874c4fc75f9456725e24c53a5d1a299287615e684b152037a6223c56be30a40471a8d142d1c7dc0526e9bd4d64b3ab653d6585ef33dde1fc886e6ef5f5f66b5f572c177665cad872d3b89bdbaa881296124fbe5e0b171ab954cea169bcf78c433a12d03531fc1f2021b7fbb13ea9f377b212fb5d264987452af891719c42bd6494db872cd93e87723603bd433940f0b2e5f77f1570024424962949d967a7804b367a2fb7b7ee39727fba21c740de08247c3e743c52e18e265ceaa5a62451b60e77c29a8958e9ba6354416f0223f98e0b5b8ecb83e31b7a8a56b703f2dbded105e67cadf021d15a5fca24982d7f2c64188140891adf47ff875c33a06231e3bec4050fac92c3459a55d41b8677a44dda172bd63d8119c4155eae35a732244c1e22d784654ea2f644526c0e49ba3730f572837d78e59568e9917b3add618985b6718607c3c7f51876094899921ed577e7f0ca09c020274e73dbbe6fa6af0aaabafb7ccd7b494a49bf72694473ddc04ac6aeeef9db2ef453773ab7b8886361825eaaefe344b488233d724b7aca023a65fafe9bccbfa231df7c256dffae78c292cd7055baa17382125e3327b30122adb79fcb5ae0115ff2affa0f224eb70d39502cd3a4e08bfe970561728c90adcbc9e5c60f562e32f2b70b68c8e41e0f78377757f37b00b9980faff2726f78451b050ee162000320c817e41058ae8f006265b6d1602904b0420d02230d515efd0ebf7cfc3c9d9c658d7a0ed51921f71286fadd16b5562444c270941b72535c665d58292d3ef26b861ef96abaff6199bcc6d6aff6dfacbe25a608f154722f873e5917c31091a707c79736c300e2c4e9bcb83b4c7c37903694761897d33c322fdf7a5fcef250819f335ee5f1cf092de579820864e99709d6b3370b1ca840edff4aaa338880d7698b65e86d4d6fcaf74d9152aed4b244783acd678f2d2072f007507ec1272706e39b1725e09e7964e059989e0f4dceaafbe03af00b8e12608cbd0064209189ef85ea02f4baf347ec99f05805895c5fa39599e4b454fccd1e1f4a77a006be0a846fbde670f1c7e81dda869dfde2c377851bc73b5bb58031722b16144f7d6ad2ceeca1298e76058a1126d37e4aa028da672524c9801d6cc436854132ca696ec581ef96eec34e8f597b791ae7a4e8c9e69f5d3c90e04cb60272547c1dfd5fb3d99f1da04d596e40e9453d6162d3ff2fd91215e8aafcf79d21720fa015eca24ee44b21622749af3858d5dd303c1ec5e94908c27e486328fc074445a660f87dbad04ef94ba185254c8bc3bdf8e5d346aef18a447c4df9eec3a672347b5a81f7674ca8658cee9479a921b9a55fcc94d8770837458f4c5d41cc6772a73028dcf0511c2e4efbfbc0747997c86b726827924fb1ef0679e768af5b4472b89e0fd52da7c4453d35cec71b275455fecea042720db3ea20b15a8d176ccc72a7329d5c152ed7cf28d08adfda5970b2fccdacdac95d51d49b01d9d3a4147d72145e9b9eaca13fa931c0ece268fb8aa709a2e9c79ad8c253c41f7077dd373372f860826f5a1fa40c0b37ce6e04aa87fc7580d30e8f2ddfa9994a7f043ef75f72cd0a7761d851f430d894e63ab18c13985388e865c60abeff19cd572ec99dd9293ee892791bb6e286da930e68d4d7edc67bee9864adffdc80ca703502747f31628854eda853ea9227db85c471275051c5ce681a655f46ba4b324b418ca0451472db323dcfd9fcaa3cb95ce5d0642f13ea60045116275b99c080a0685c9ff31b72410c2f7d3d9dbc34b8ca4dd6e8289f065bf1a73fbea59c5939127a671625967203197c04d8c4be33041bcbce73f17b4cb2a7538b85c21091579aafd0b2f67b334d58df77ad2801746707f04922000f66bd05fd0f03e7623d1fa60ba97377ea26a526c7a0e7c8deb3f327619c9c0022b9ec81df6475753ab549256eb7aae7653f88cafa0763d4b55d81d30bd8cc33837919ada886b2f835835cf3a05a12f74072553cb6996b4da1fa219e58800a8de40cb5d43eb49d8c0619ad782cc36cdf5e3a3adcfe8bb930dcc1cdb05fcfc59eb586ffab49bcfc87e9869e5124fc00073d633ada60134058fe0098a06b17b69645858e7bc586c01a509a5a4c2c9f37ce56325dd78fe91e0d3d2d841cb4cd86186a54cf9ed0abb40cb257757297534f018d677d8b0c50b8e43bac9d519f380a056ba67828d141347d8ad6d08bd6f1fc71df4f31f8c7ae40c74f4b4e1afb0c0acec5c51be5bed6a2d01829517a7419a90afe7204cca6e5af1736f1e0c7c5fa11a0c5d04e3704b45b0bb088060b4e01d345ad7263fc2e3c8d0ee64ae5b9b15bc47c97b9a1ad1b31fd5f154104b6d11423b01d72e639ef6c81fa87a896744bd2587c5bd14f9694f41e043b64c849e8aee2560672943c3ac22e345f64d9bc65e6c800a98d5f022f897308440a59ef4c30b825ca72ebfca802269caa448f38845b917b182b219b5c21917aabb337be15a552171f72fb0f48446c8922c98aecbe3199c131c1f1c920e29322560978e02a3102e724726b20d6c374c34fb088afd30a272da04148b159b810deef1d6878bb2636809072470276da116e71cfc9e5ee3ac27e80324a1aa124e6a4c06baea00594ed2a4330c2767482411dbf0c7d6d8e1e30ceb69c52dab4c372c17a041f3c100a4fe3db66b821f7b6789fa40f1bfb62d3ffb1f1bf4ac91edad66a31f441d5ad1a8318b93209015e1502574620536aa1d030902949a5d8735e673c34fab44d5e18dcb33b50516a2bf69208747b94b701bd569f23c9050e9d92ca7f5b5b55bfa621e06c7347f981453bea2a5005e836161ac886c5693d4320d813cf9b4340e2df13874b4d073d7cba9b75031d07cb0b4e038be15ccfd5f44bca754fd68e49c9026156d7f80c149d3b0b7f346f33e045b8e92122d0a29ccc96ab9dca24184bc36bcf7e2b7772cb02c77fa95d06dbb1640427712463d64f2870fed5eba4baa756cb9b19a8c93f3f88a4dc06ca4041c7b93c8fc652c35d4aa2521c730c14c1a56a5825a928ae7296633f3018c95163eeb9809ce8d2b58d9038c4f948001f4ad288e615e479e05ef588f2170bc2a7d4a492025588820e6199bdaa7b3f6a8fb9493f9511e9f59a7250cd9f0c77c926f0bfea7fc6a46188a8011e5f7e9ef9d36e33f9c6a5d14ac359365b448a66e08d84328732fb0761d8695b6af2dfe36f1d3212fe70d74f2c7e06d6aa6c00343438cc3e3c4de0a0c1b045c8852443b69447c5939716e3965db50b257fc829018367760cc240ab721ce6bc3b205bb673576790d38d46f037cd176da37c4e27ff9565657c2632bdbf3e1badc6c33181874beec64e3d7177193a5772ca9d49a09e97ccea2fc608ce59cc2e46b197b07aae7bd8ab0e5cdc513a29670960f199b084294dcbcf485f49462b2c14222ead7ea4f5152be3c7cd2a8d1ce572291c1a48c4cb7597b10fc535c8dd2025a7054b756f74ee83e06847cb2a4aef581f41cc70b04f01b94f710f204be86725475187f703f27958d628cb44a30fa3435636430abf038c05e31d03a679b23dc3e80d336498ed31d099086e0da8afe9724cc9147eb18f8c0e2955755027f7a1aaa56c7f72f4f2166a40f7bad01f54d32573b598bbea5d1c87cb5c40c4fcd234272e973c9ef6647bd540e2254fe13a6972cdd863f22a9c6235ed4a210f6119157d72e8aef3a3f9d5c2c7f19cf65470c272aec664cfc88715bf5aa65ad57c6f4f229fd8d73b1a16eb888f67756dab1d8b29e5a30a3aeef832e1800e7095f1896b82975d23b05b6fc519371446b23bb18f72dff56f1a8ce4640d268b1570e42cc01b3fdaedf09ff1c91595a33744ff886c2452f3ce4253f341fb6e32987ec134b5e93c3774091a5970431df2cbbffb59f3722195999b2dc201edeca0981dc19491c09c0892c0123bae2246baf0bb85b12772bb1279a7489982f0939bd30728f03887a4730d0e24082a388ece064de34001720aee700e7b3f993af5c7c7195c5762a5292a59cb7ab5984550f480bef002ee7252dba3386f83cde1c403e3db715b8fe54ff84bd5c5f9ba3046061786c6955a72fb330cbc2c6b7dedf8f19beb7e6c0cab3978440754449925627ca1ddde5c4b723bf770e711b93edc10d5b783bbb826a4dcdc5ccdd8d61d6ca3c8115d0639c172817646a45868a102daec7e46c3cf3d6245f9db29a3c0bb81bafae7e2f54eba624a32083c4b2be60bd5fc526f68aefb469b678f0365475953164be1d27885fc09283e6e20d135d69fc95939351308f2ab4e486275ec2c612e4452200d29e03252e8e17d6c740bd80512245743d7fd8b68ff82f7b356e94015e2a5c6735b39e34643dc5f27764d3fe37b02d2ed8d3faadd546d726f54507bd75f7b2a9d9622640e1ce3b02476573729e1acaaa53d9ea9699bb19b3d051fa798f88710c2e66d6032ddcb029f1b3ffae18fe3de3cf1c5c896359fa70768aa0b11a9d587b421dc627288950c44bb704331c6dc41a3e7ae53a4ed94f211c7195b53c6b23841bd34337264962137880def55273bbdf43d7b82ef152067a1585160039f4a6df25dc4675208a145da573612143fca1036e2949ddee58717cb751464798ed01e9438afcf725bdc170ebb9d0c89e9add4224f50e1b948d2ad502b7fee212b0a14eac3545722e435107158dbb0367964c952fc83e5844317e0c27234af735f39ec85190e0272849bc28b2fd2c2d3cd10a55332989ed1a135811acad3bfdd90c373da5e4d60725be984ba42c14856020ead8c8e55ab2f414b18c66066c86f7429f9bb8e856f48bb7e1aebc27a3639425ccb883d727c3fba2a4671f036c0de7055611f6df5c6724cd8bbcaa718aaff170f5b642601880eedf4b8e43441248a55508e5503cf3c21cea37dbca2620a2386d7a7bf8393a91f6d10f95a354c9476b3ecd248fe85bb24b76bbc787b45cc52958d33c4c6f477184d413fce3d15bdfb330905f402f24572b9f62ad70572a3c013d73326c9b4ad1e76a361844fb43021ef374451fdf97229ab63a1cb78891866a762eaf1fef022d812acf5f4b5794f9f390d2458c35df34601a367f601d576ffc9c2bb38e36961770aca9a5da145395c400c360f7a679b723a79e1ffe02b97e9d3206ab24e07ba7aed5c427798620b4176cd624a1784150b32066e34f62c34e626e6027f10c6443fab470b1450984911090c6bd4d7c64b724aa870d9367abf6c9d14e5c57f1dbea5358d9bcacb9a482c9e03b3b023b01372d2a5576d091d8909aba52aa1e7def340a7bb869294b5631234b84c8698125a229d3c63d6ab695c943c933d4f58c68e26838c009ce97e42aff9aa95a514f8c1724feb570c7b4b093af1a1dc6c7e68445fa334d85d048edc22e0803534d221c94fbc3e96bd543d1e2eaf6f16709b501e85e9433f8156d3b02a483cd166bd501947bf20d9d640e07a466781552501e333ae2d22f843980963494e5944e448f1647233b873f6d03ea516aff029a5faf2ef2ded82d4c9eda7aad53807c541bf496c588d02681b26cc020707c51aecd7b28b57449d1710128e17756c467e27b101ce724b2120626c12680fe0bc23575df80900c4686490c9d1aa6686f391bfa1c42e08f1c3581c855ac503471618bf91ffa39cd317be64b49422c0658075e14984cd725d4a688fd745fcfd2534b960864c73901065b503fc221957d6a09bfbc8b2cd72ec5dad58648b5eec23b15348d814316e03f97a0c36df73c5b474cd31c42154722db30a3925a5570553ac0c2fb28ac296e2c9491b3874c73f39524077c734850affe00da5480fab81585cabdd9d38bcbb965aa3df98e8c9b94fd36c6ca75eae72a1d755fac7d3cdacae472fc581447c41eeaf247f74562a6eb20b4b282267402716d54dccd76596c103676102b90bf5aa852cef75aba95378d2bc526c793e6772a9706381020fa11111e5e44c0eaf2c552351f375f15229d3b5ca67237e05d472a30e5b43722cc75b0147569c08aaef63d3604b3751da9666427c83bf94ae61721c413be9273f00b53b4f3ae3044afa465a1dc9bd755e40616e78a40ca74e423a0279dc0c456b38e1c9675d489dba6c6bd232c360864e022c78e9a4799aced6727a4a3d21dcde63c79fcab153d8f05f834968d75166cb2fbb74422d44a7b0d9725ce58d5d6efe236c0ac468a0ed802b70542d1e666ab6b42d8f89d43b38c1b24351546916fe8bd2cf832f4c4bb473e9920ac39e62c4244135530f021f5ce67b33f5f9e0272a9a2173e3218b00e1ab23fdcb50c9496be6a1d8420ae852bdb2ba7234fd539a04d1f2626761e9e77e40fae20d6eaca2377c2d56953335c6b0089172c9bc4998fc0efbb00c4b6716292558e69098a32cbfd808d07d5844fc0253bd72786ac036947d7d6789a0755ad5f664cdb9cc257010869fe427960e34f86d01455791e351f5aa0eca21a740c1196960070b6eecf1a6b42ee211248f16236b2b4a7250cd4e50e52d0a7344e30597c8dd3a5b115bee1c6a07b37321cc9566133772e7e550632f2bb4a1b7dce6367312053d96d82d00e97a87ec8ff5a312df844c72922144d2b8bb0434c2fd75e75ec62be14a8a8136388a345670f5f3d554289c72fd3c90fac095806631dd05cf390f6a5346796888a8586f54be7bfbe16b05e972643d865fd78d37f14338d205d3115982393af7d341439960629e71f72190796d6c1bb47f3312c22d90692b43b67ceddeedb7287f9be800a0f2d7553439687f24a45729f9865f37475f65b0f5277537a94b1845a3b8718e4f4c043d33b0f59b4f174551ea5637c87075932a67c03ecf6b2123eb507e9305c0b6970f2d37cbf172981095d89298c44d024202dff612d68cf20738d2d4248b23195b3f8823dfd672e68c470761c72b96230b7ad8132e2c23acbafc2893c5eeeffc10b8eeb160db729be81e90d64cb9610699b90eedc09f4709c34349ad1eee52edad50a4aeb9725ce1ed7c39ed71b8df5abba626da22dc0fe569a0cbcdab0ec4552b7955de37d936fd4eadc61b70f430d7bbde9cf6d227b0d902d5c5d5d9fba9e889907b8e646272d1b8f5508f48d543323aa5b09db25dffa2d58b2a44dfdfaefc1862ffe7ca8e722d174e82401adda656ac5e47aafb56f52e7f6213a2edc35d122b2841268c187260674d594590b5425e393fcdb24384cafad9074e6ff2d115b93b527b90aaad729cdee2d0a7323d23c7f674eabcba538ef50bf760b700ade2abbc37b71475227277cb6f1f47d56028128e62d51e73ead43d44fa6752f030188a3ccd6cba24e3532e915dfcdceb196f88326f4e94f9d44ca2a68a558dbdacca22afcc5737d5006e7cd10a15787c438344f94cd9dfe1d494322efb0b48346de3bd844696f7eb1b729317529c971e7481336ca4f914040f4283da1e66ccea3b8b3fc40ac13f2be6671eb76c90b46ae35b09f78644dde1fb0c2b04a4e41f0004adef8b0d62f258b433b8187f00648875fcd81575aeb89c604ed1903a8e2f8983ee0293fce2b47eeb435f27f55a6e7b448786f27b52db9856c46181725e9846756f5db03798c2d9fe16546b7972fb4b1544b37d07766ed01cea36fb1e33d841b3226f43a2f066d3fe7295277d190365f6d5b38555ce895738f41af7710dedb4e76c95777138f917ca03a21b7c28a7f72dcb37191ccd2a81bce427d09e0f138c3c7be873886e4bba817116070dd4b9f6537669035a63c0e805fe78a1ed73afaadc2210be85b418b16353d3d865cfe41ff1e8ed5cc3b6faf2a03c163bfa48068831d1e297c17cb5d8714a0807ef1abfa6a26e33cf35274f3f922cb4af69b73179f2d5943d5b584d7a6454e593f63f2e8e3774cf2447f228e4ad0ac84c5f2082df941ebd43fc7e837204105e4eed57ede64ded45729b3f100aa543b7cbb0c40f8bd08e8e5eaf9878dc4c668896500e644a938d6466bfa8f4a849c9d182495764295f473e461977c8d8b0723b0df6ba5fc8ae15ebccb71a8fe05dca3f4f4b127d5c3693b0dc56847b1bfb72b09fb018408dc6d9a33623d7d7b3d6659c7ad4d804883a4644f8ecde2a1bcc25eac9b0c02806122546652865146c60be943e2203e99093a4883535b4f40d1e7259337fe0131f20fbf627dab9ab3847cd5e2f956031dadc0a3563b3477199ac062e754e307d2cad3354cb4efbd4d8cc0c91cb56fc6174b8a9dc87c100247d1771b54750bd5bfb58b3f0d19ca02c914bd8a7b253b35ec9c93b726d131baf5a94729b31518ab57ec4b3fc7032edeffdf2b0b10421afc1d5e7083dee557075c2a52528643ea1ee521fd1325e1aba256a60bedec176aea1ad7cdbcc2843faec66b772213e140a8f07cfd33960e96453090253627f591b2fe7a2c970cfa6d72475ed5e45d262bdc8e02ffa255a047072245cd780c6e977dc552f518fff2a75e596a7664ff9e620fa508ce1d76ea0d0811cee6e4b33c8538951fd5920cb66f8e5db3b725818ac3f106c3bd8ea01bee1fecdb805b7ce0f62d84bcb313e4c53f94852dc72db22dc6d7d64d318fe56bfdceb23b0225a7892ddf6f87cc8a8ac3e5452c6bb511f9fc44e74f57476d95459f95d2943bff1f69f338c7d377eb5446bc7ee0945727e16e34a8a5bd77a607d51ff455c24e8d715efe4b0f5539960b99d0b95ba3b727864e484c29bf0ea82e8665f60a44cdd784e8886adea942f473d59074615d072bc38828de5c6d05b52a59beda25634b8f62f332af409b62016d2949dd9692a31c8084b5bae20bb81c19359b47eac9583d20947d335340c9c0a62f0a32af06f724af0a94bc9bb25c5039587f44e3652fb675a194de63b24b5092da9dc2f9bf6726cf05ec1be23ca5efd81d182d601782c93c7855d36a4977c70864d60e582257298c20f11ec55fad14821628aa0f303d1ffe347ae8b295303fe3af08a0a4d847217ff845b8cd87690d8bd807a28733435498aac4713d1210cd57ae0b403b79f725233257c2f3046f1776fd3d70339c50e80a3cf1e5a434bd6a6717506cb133d72f47e4f2c4f0c1b95aa0b55d1b4e8f0758d713e5fe7985364391bdfedbf664b72063721331f9763aab5f1865953541f69f9bbc1dea829b7d9a56da0f0f4c0440fc1d217775b0317b37358079d6994190fb973bcf61b2c7bc4d927e76727d2316438d0340fb15bbe4d5bf1b11644e453f61e98e45215bac479ac0738a88308ac3aaa5c8f3888fe88ba84661fd8dcbba495480f60820e11f9bbc30d061f92892463f96778c716c9ce3491cafc5bdfadfc254e5d58dd5051c70dbbb47d2f9b6d5b65bb6ef209c04574c0dc3d5457f7eb27dc6fe118461d9cd6865b6de98861161572e89ab03db4e53cad32b0b2f93e60645d7958871ab6ddb1ba1a4429b24b2c7b726c935b438cad35f906eed67a662e3c1190fd6099a46d0423ba710dfead42c2156033d8864ba22bcfed78f0a533530be8c54bbc9006dca003804c78ae3d97847223f32dbc47c0bf789ab08f63f8fa4d5f34059af4b9aaf0ca509623eef3064072971a242465a2e79456b7e61dd11469218fc6f722fd15102b88f9759f3f163d7273310e846fd6e6ae193490ec8da9b01664f741579b0fe19397576999a7877017415babe91d967e6c73c1463dca7582fe8aa1e19f5e0e3ade0dd8f9046cf4cf4eb827d6f03be693c5160b0c100fa5d8431519b7cc31012793578295a0126ef972f1dd3fcf1c10d7197f4408dfde21d0f8ea5b9b13c8aedb991b1bc05cd1d7636686b22dbd91b54a70eb781d51c51b247f9ef2bfb251ddbe2015246c976abc8172fc6c8cfe28fc1539ae9f523cb467c9a61935038c16ba5f79e8bfe640e2fa1e6a94022b1b2e7a0c761b240e4563fbd9c947868f8fd4548480c127335e6888e272b4abfcb338633c1ff9b87cab8e08ceb788c2aa2a4554218be2ed12f108e05372c71be5675ccfeb72adf50ce3666012436da33a7b840b67557b43d802dafa8272dee31e5bb32fa361704385bfe9488d81a98dd6e4263e450ca0f86a81ebd5177262258fb2d68a3cfe292c01207a0cac26e4b1becd57f8ed2df6d797a23b97d5722a5004579c15dc912e49cf1c64f67cef8dd6947827c621770f78fbb8ac247b72d97aa4b34f1bb0755fdfcd684c42699ed59c8072b70058c38066f9f87ad8023c38b9b7c913c871c5cbe74340d45b4fabc04bced1a7a71f890aba472a6b49527220f515bc1063072fb11cce11998f65ea09d24265730a19dec8ec9a574ea19d729677f6d1ce25a3224717095874ff8dbbcdbf69375df62acbc09e190cb61645337956bce6117f8dd69f4f204aaa016d39281fdd2ddcc0ecbcbf5d5bb7a7f735728a72dcebe5edc9465c146892adea3fc0b9f7a74fe531cb22a305f9039f120a19019aec34fa8992f24a1d2d21df6ef14cf72df358bcb7945883edbfd698cde972807f88d0dccd4110c78fe2a51da2d6cc44683d0f9339a21a9b7f7140fa506d718d84d35e971d788c060c09ba1195ee0b03ec5f6b6049b805d04599d5ca1835003d13732d865aaaa2d6362f15c16b11cd357387526a7774aa72b7a456559a2d722616506c1a34b63332056e841966e7e57c00fdcd69ebd54e7ba8025fbcb2da6ff3e094f30a932fb1c37e6e4033e56fd681db14fa26952c2ad4a31eaff1690865e3d93dc09bc79ec44de9f59429c5b49826bfb88bdf3f187719c6621d2c2d2d4f5a64dc48a1284df208b98d4be1e7fbe4776c0f0a0e761fd6b5afc9eb0f42d8720d9ed4e830e267eb62b8923f21ebb599e65bf5ee892ef7927a6f16e9787c6c72f50da718ceb68529c26e83560dc56c5c0b3df62dd66e0164e1570e7a51939a729bc78ebb5fbbad260b856ea03050a5648233d0871a522cbbca87ee4fd2050b450f0b52c0fc6b06baee84f8567655db0aca188d87bc3a8303b13f05065e392d721cd17ec966884ee0da019cd9e5d09bab5c2f7d01c3979cc2b8dcf8340fa78c72ae7f1195836e82560f37885d3c3d8e0e8b2afee47a80eaaa7126efecced1af57879ba553b4dc5b89e2c2f6b9ded2b2ba0e31dd0b31425b97b128e5fc11d2bc310bbce48071823329afa470b6a74298a50d7a1f03c8ac1621bdb0d5afdacbc4460b31579b3478666eaabc86503fbd7ba802879e3a530f91eb6687a195ec143c2279a0d40e4dc0701e07be75463a9b19a09dc50bc910c047adac133a5dcb8d3772a79f1f42ad8119ab28d5527c0f24e6f9589b57071a3578f52d042a40206a58720e412c10094214d9fafeaf6be6bea868141a008875b4b113d415282e15b54572cb4ee611289eae12482052f925f8cfa8f8890356eb99b644f9fb9ba55a255a724d3413a1ee06f63791275d408ecd67f7d8194dc815d72fed858cf43c88c308729ae4c3b1f949b9dab8849492fbbfc642e45601e872843af7356a6225a44b6e72a9fd2c7ab7b0b0fec058260e3e265007276c53baea045e0f009429408b4ee672d96ef8a244d96ca21af9c702a875174a49c39b147b1e9e7b8afe2fb4f4167c728513bbbe13609a61fe996ccccbf04363b2af406a513aadad61f576631b0f7b0acf1a0f2c21e6660a7b54e86aa1bf3f53305188da28970bd6ab01a9e805ad8823b7fb479a3af167f6d6323b2d415c1f10fec0e0504673b25994e60bb79e54d272b3342578f76c70a6770d34c50ec344e8afa22672f5a5542707c427c98816ae72a1584ca8aa80d80ac4c9343a52414e18a0d0572d70607871ca1e72cb516f753e5e3e76809d24d155ef68d837967e6b80a72e3b13848329155f7db1057db66a729b6459e25dfc8e70776cc43005a67f00af8d9319c6b02c165b75b144c62f571ee7afa97235847a0f2796e1e1b3bd9ba6c9a28744cba833e695761cef9b14191b0aa9c1e47ce065bea5ee9ba17ccd5accb3d3764063d4f3d5b4f79e71e3bbbb335833598cc745f4b5fb911dfb5cc6b390d46547656faae417f015d17c67b1524feb559e4fffe658d836fb3a73b2213b01c4c61cf6c1f6ccd851b9eac4bee8b14a9cd283a47f890bc3ab7d10afe2fc9779f9ae044c75542944d88644d1c79935614743f9a7837e89270f05439d102c13adc239d3baea12d99b8943c2c83417ff6a9c684fcd5550b736a67b1bdac381d6f0114270029282915d8448eea48de4137204d245e8a9fffeb9efc8404262601cc4e4b79dec8b4b658d60f4efaefafc97720b72ea291890227407eb366ff9fffb453282beb1e8118e4bbbf3570c7a6a8237511749b5bcae5a05aa66d967703ee6aa73ee7e3ac5ef82be898c64ea8eaf1d72a7c6112c505394412cfc51bcbf8674986c289d921c55521dea3771c584160e727aca577626de675f7e77bd119a35b08c8c1554f97fb89543b5db607e89a8830500b4a59bce84772dd331ca72008c5f2b379181622952069655b5f4b1d7bbef21c8180352cb933ab0e8bc7eb62b5a87466fd754cac782d806c50d1dcd81f85b72055280115204c641053d41d6120b9121b6a0f6a69e1f3698dd4443b831fd833fa6a4a4133d034cff24f16a60415fbb0da03e9c5b2cd4a45938521baa7ac18c247019effb4a435b92d91c0f03d0ce00608c8ac4c9989705fd084a1922a5ed26523d8a873852c0e8a22a7862921dd854ac79bd505a5e3b919f2904b0cce17a5472f2766ad206e981c54237c1aa298fefc39e0dab9485a003c069776679e419e0725c1c3774ccdc7dd41d21a136004949a4278ce0df9ad8585c21c74ca78810ca720741cd59149abbe8a844d9a8d84d8adf81356506140f54b529e8d7559d11e30ae963cf9519c20e66dfa346fa5a73363bcd99fa321c66609307970e9b4c6d00720959816f665178512dafc58c5b6f5c39382bc83edab5b2a358ba8aefd4243b061592aa68d8fb73a616b8c90538d6f60216dcab6dc8a6da7a3489364884c8cb72692c7926affda7655f79ed918460ec3993cf7358a72a1efa6fdd58643d877f0a6e94d42326dec28684ee8bf15254714133226ec10481a0d8ee0626a870f6842d7cc9fdbebcb93b7d34c4781cb56d87c8ed74cab77e735b2572fa473cdec00572ed94bbce17ed1d6b80e3286e9e214b6fb31083c0b1a16b9a0d6ce4a2e2990f72b44ca70c08cc6d9378bdbce9aceb8cdc0022b2bb771ece3da5ff119d9ef8fe3ecbefd25dddf410bbea8519d78d6c123bda67fdff709ebf08ace273564788fb3add8ffda51bacd51748939d32fc5243c393f1dd5aea34ea0a688d04ce894331721ac280a8b08321ef4b68092173a4a3a02511e96ecbcbcff77aed356f77c35b3de4bbfc82a056f36455d678da500bbabb9234e3dc357308da500352c4da3c8f723a9972696e7ee2c2f7ae13b29b9b3c87244bc3b167955197feae0b6f15332172c72b0dadae86c6b5de5779fd445e2b7b156fac2bd210dfb49d9aa2a094cc9b720cb8be826e080feae40743f9be9bcb725b33e6a07670d5e465197ec6c3aeb77280680f221ce90b1ecaa9549c83e8e54ec35c01febb10f21f188be74343972135b5d3c58e6a94b0acb8cca44899e9718cc860f7aedad6e037ffb55e706079125ba568deb975dda96cef6fc681a3afec16a4d1248e6bc4a518c886cf761b83fd72fa5d7b41151235c68f60cc3b084a3c77f6b7680e04548640b192c647933f2a6f3e5aab67d5cb7377f27921e9cec443ed93f0b44a453029e230883f1516a13c23bf339e1f5f7f34680301f6f835ec89eabe8951e7708af1f9afcc5eb858356c72a5f65db1343968f268b9d07e4d145cdae0c1a85f9cc75e489a1dab37b78954723b890379453cc17104552ef60c59969242c00092e792461ad95ce3aaa1ff4739dd15bef6327b892ed2205da3da150558eb8c7aff910b7fa35d6306a23da62572685fa412847f54a7c63bb35f2482e35261f847623360618c15f89735ed7add722f19c1793c202f92732703c7dd574e02409f6eec353d9f45a1e5b621d42c6b7237e11179b43bfdb00d6ea18980a62121c34c137d6113c444096e09b938236f72e7e035523bc768f29999c4f4409c0e2750e8e842618d73e9905ce8fe20f2052b16cd9be156b3c054e2288a78ac3e896099c536663ff0eceb0e1bfa42239cdf217a344562832237c6fc33f17138071f4f75331aa0116592863fc353e1659c68154f34d31c6a0931532dd4d951e976b67880915c41059eea23dd65f66b6308d472b5e85bba9f37164f32b14230c68c81c57a1a824d6af71e354060abed70f45272756cb0ad33f26867a43738d443da2a9aba11b68528e9b466617e5f9a81130b4d8886d705d072cee0f808058614c05b859105e7dd15cdb7b205140af103d74972ff6a349f2b6e30f1c8cac06924b2d7c8acc97aa480efca1a0d519d8faeb686687868834d40b060bb4c90bf07ce929ca1a9fe1690238f8af5ce8c266405d05c69b63fb4cbf119286c963aaf30126892d9e469b31bb209ed6145eb6024020fa66367f89c1396596e7df71e2f95b5e7d12a1fb62e78171f2fb14ac9646ebadd3c1554ecc052ea45197010f7c49d93c228adeb6738b4ef7146faa88ef0774fc77872a7835b3e6e03f4fd0b12299ac7667f49cc5794bf1b04507fff9602a16994877251a8b373dc0b22c1e040050c8956b665f5091e2f055d2c1cb883f7405a161c53905473d52593a97681bf9bda9a0150d4edf92a85459b8f0ffbcef2e3ebd4657253ba3a6e3505e20e702eb8aefd14263c649e2d54c606c8e036dc2621bb137072495a6f0a7fbc99300fff99ed6acafb17a5832243d7369c47d7a9045bfea0ea4804cfe34976f79c9a7e57378e08b430c9e82d0cd344883708cfa6239590cc5372bba0f2db39cdc02f6e633388045eab2d2243df8646be12b79df88274792b912a0442f99a00af75fc4c07b04b0739bbfaff19c883a06384d8464836334150d521c720e9a386cc7b100be86b93dc157a91270d351a350dcbee56fd78212525f57255fc43118b6deb9e30e1f7044072f957c716b44f7598ef9dd40dd9b06a8b7e7264f849ea107c983b42314ac031c7a5a25d466a5d19571da9c27f9ce71f0e5b72bd0425162e499a770bf209c9ee8e5786ab4e19f7042ef2a0a00f1c4059ac146e860dfeb055d2a3b85197a36097b259185e02e7c565a3a9e553f301a017868d727abcca18b32d90469310efd654db6cf1d8fa114d7734ac9f3a13ce3c0e7bec723ec0849105b30de714013802b50c38390cc23b2959df96e18027fd5fb76a16722d559b13947c72c9692c0474ab3a05ce6e141c2785875892e892bebe6566b9728b054a7f1211198291ce4e3de783b2a166ec59e3938351994497d9798c07284d7f391060b0726ba0f4f3bc4886f74489af7e3e2e6babb7263d65e03c82359949e8decfe33ded713a1e921deb56e860b441b706650972f9b624f3fc0a1c9920721b44e38369993dce2b4c8bcb7b59abe1b4eeeb9d33466774de69f1abec993a516d7ba57632412638ebc79c16dc287bcd53c1941d75934c124e7af124e0381038dc1e643015501dcf6de259e7127adb3e51760502255b6c84aee24bd1b6efac72fcc521fc6ce8a964c6cdc94bb22a665e8ec70e93ceaf851df3fd2989fa0a1a639645d809e4a3a8867e758d71c7436900c6fc95b7eff145011fe0346012e7d672d057a193571743a0d847fccbc1bc80198e82fe77984fb3839fbcac48350bdb72e3583ea7250446e7ea2caf5548d6fd47113642341d7c6fc02301782635bef0255f6dd2489b3635015ec257cd2b685c3e74f6302e49a1bffebb8758a1c7031472b8408603ce9b0f3015484e2083261d1218969cc730afaeb3d8050030b173bb6d9df59965bb405329ece6c5420a5ea95705926d1d1f68b74315739e746f4c7272626bd2046feb7bea1eb199fdc7d7dc9a5c0178ee39523eb0200cf30d0248ca720ee0476e776df6e46ead7988851294001da6466c1d6792d6e27467fe14ad15722a9e124ef5c068082ea0a9f5b466b49ba9b7e1fa48a5c19a465c0f7b54262b7258ca7489c9c8ae6c6fea0f849c5806eff9eecee8991ae73e5e56bc4043541a726032473599b31c08eddc91a0ca57aff91608d373aaa646ccb84a6491bade16255a233b9ff986a5ffb480595d9fa74670f98b613aa370e6fa80bc09c2172bd5338a80a68659cac8bc6779ccdb84dca7f307428e208c577888e47604df036ea272616654221f83e46a6f17922b9eebb45604a234da9c5e0630345240376378b42c43cfd2de5df271a183792cb139ee3937800a9028e43f4edca87f05e223329d6c02fd70152e82ba3bfc399ca6aaf73d617a529a38ade2048ef7a562404c1e3966904d29e99c7164103383f806d4c99098c8baa626379b0021e9a08586d113a86e0cb7d74be7440dcb43e5c39dc7de5aa613c84eabf0303aa9645c4a1397c8a113bcedf43136f40f4243e07db6b8bc54f4f3c0dd896251ae8b3cdd25618c0593723b5d4a286c71c238487057bf881573a3420f0a00fa5f5bd0295f5dab0b55e072de12254ea4157a59f3f10a5792bd3580dbc3bdd4a46d13a8984a8f737903bf37ed0343d8cb2179b221ccc14912f0d3cba1eddb9970b700cbd1100e9c91a24b727ba547d8a48eb9884c453526c4e91263c2b5184f3c16439c0d5c660c054a900c0a445fe89ed0b5215c86ba38fb2149aff33260a1e2059fd99512d1a5e0191b722672c4f3a4b1ba992c5e61bffa5c1ea3eb991789eb0bd3a5c06587d5cb88827287b425981b3db7994cb3e77d1509bfd2439f0126f20421396b1d01fe77095443a6034ed59d72e3120bfb4a50a321b19d2838bd402212323dcb735bed1fe33647169b37c6eea04e56acdc7eb4ba59c4b23a494bd050dc480a189c837cdc360d724091980365a0ff755aca5539e1bbdd1b84048ecbb10cbe3c4f0f1efe59f7d46bd0b680e987ec2ce39a1fcb917f822ec7733fa023c490172c3a213ff44d4d6f39a3d575d40544d292c03a8583eb25c92843d2cc191578a83920c639a567d54e3c1b3d39c5055e3db59d2531d95b8f0e9d076e98852809011f941369264201847274e295b8ddbbe883d70a2ca57e48ebc6762d7c310e80b259b399155fede11572d96eb8028b3ead10177dc507d4aa30efac79348377465cd1c35fce116312af2ba1b4f8cf253dc8c6b7292e26658785339d48906bbd7f2c28e3353a882d152f1bdb923db79993bce891f90faa74c8fd135bc7449b886960d068720975d730412b6dfbf63e544f58c85d01e41c6487bda23a5e6f0145843f297ea061a818bf55729ef3be1a8f383653e5e2835ff787117dc96805c8e46b058a5a24847341611b727b99753865b9cef573a4ebcbbf03218e9948875aa1346261f52b7ce112b8897280e62ea4fc2bd3f93be79b34f13ca109943e3f1ada9ce4beb364542abf98711698045fbd1be9be559fa6396bde2c704ba4e6736569dc89ed3626579fa51c9f724b31f672d36aef974cc37c67c8a50f8b06f923f1478ecb93ff1b66c52a0e644663a1831c0c45b2ed8db81ab5cbebbe6082dbb6538a2309e63805741708b605552fed26d5391be0e4ee3e0ec2e8d8b5eb334df8294b7d0f9e17cfd5e3d536f46745d003d7fa6e2028327efffc2991754ce3c0d49ba586daeedcb108043420cdba02000072688a52d55a02ec4aea5ec1eadfffe1c9e0ee6a4ddbe2377f98326d42dfc97572e90b3f4cb4196eec018dea56f4836b5ef860a4404252f08b4f99e40b41300772f022d107cd069bf1040921d5d3d5f77f6724d2d30588b45d6200139319add3409a6ae8b88e662a08c065783d1401665b7068368f8d7a85599f602b16341623721b16644482d12893be90042819a776abe5cd9ad8bbc544dfc3ae0c9b9810f4499c40e6fe77661e6e4dec51214220c80f41d95130a157b9c32a0545ee089c8872312bbe4864545b87803abe1c322a06aa08021117750fa3e35617ee6ba021737246ccaf12794d744a94c87983a455786eb60f6101ffcf4a308de32450ff5a93644c943a2c1fe10807f679e77459f87b192e8f757305b0852bbbc7f6853c95ca537f129ba21c63fa71b096abda334f9a9b0ac442740da04e8b36092a93203f91167dc343a6203e3f446646a2e5ce9c7c5577cbc1f28d717effb9ae8f1c2927c7729fc2061315f155a3836188cdbe27c04dc9b40ee14780a933a8ae4ea75b99057250261384bf3d8fc4a9d24b1a84cfc35cf1d5edbc011ec435e80e85f2b6d4bb18b9ae5cd8b9c81c0d8068a204b1a3f2e5a6244ab4c4ca6f475319df4f2c21477220b0e55cb3ff2c947b59b058d44c4f64d7be94517d011737e44b12369c2a3a2053be36d9c6298fe0642ed2d70cfb37fc3a2720f8b105015ed0bf8f3d88490b3452b0c75e1a9c6ed61d9405debc8e947f5aa2153a89956474494715d9bdb71e729aead078649daec15e1eb9bdeaad1f896eba956740d77ebf2f1ad9ffe9d5fc71980570fb14c360905b0c163d8eb55033fcc01f783fc53c3501ef1f5dd1da5704dbf89b44d000ec69998441c9f57e6bdbe1c0839bc504f989a0c8b27e25db9c726958a4a5333e8e405c957f4c23eb0beb6106ffa1e70b113e2391825e8224663d883552428a88e9e3b8446e95498968fcf05d941d6cf445931e483f7a7a94fc721d8f0c7fea9e677455c7bad3aa829b8c900d7adca4650285573e4cc0b3216565a11dcb43c6b4cca64b677e3f8426cfe617d566363294e91dd5e09e7dac0f4472d250b66ca8ea6c2703c400aee96fd30a69bd4122b7ff7aa77aede3f37787ce726258634edab9364a61caa2beb53a5cbbf67e51b0e08894a29edf28ad11cc90727ca217a0499ee8e1e8dae41dbfee01e34ee82513723d7335581aa33effd0ea4e75528b65fcf944d4a80fb1abefef24e43844b71ae61cce9401b3d5c0fc2341722dbef3a369fa78cd21304ba86ac7839611dda36d5e48b4e7c87e62342350157269c3eaf755cbdb6089e8234e961ca15354836a9b9096ecd5454a449caffb47278f27e8ae1c252afde499c6da661515dddcf76327dfccb9acc4ef97f69fedd272055d8a8e8155e0a9c0de3b2443a1c3f4e71211908ceb0c604f43f99c5f7c7b0379fc63d42d26d1c8715d772ef727dfa51b65964401361a53cdd016d2c387e772696922229d03f2a3f4cb50cfc9b9ab9170d565127543e2b0e301f8bf38979b72b8434ed32a5423685c70b7ab7182fdf431344ce1937462579d1aaba8889e7872ba820a9dedba63fa1ad7a41e3af3d4f828fd327512428405a3f1bb3e14b505538c31eb9e09f39956fb3b8888a8841641f802fa2a61a8abbc9706b0c17d1746720d4cd344c94733862f33224ff2197eeb2a74eee76fad8c1274309dfe2d5b32621378c2b48548d8c8d696acc7e6a6ceb87b6904398d72ebe56471c1fd97cfaa7247d692204c99c7d4ebc714e1c66a0961f5c055318b50f0fb61f15d39d9dc3f7221d3f2074781009c153f37b5f3a1bb5df676eb385a6165e51675e1b3ed243b5a76ec148d9c00fa4101e403185ebe95d3c8a0785b068a862cad792595b9a7a81e4ec2c8fac21dcb9c685e25b2b5d60d720c3f853e6035afe4fde8cd9a032613721ba51cc1897c612cfaa1788b30de3af259d9584978f573ef133f513e07c4ae72a0332e3be6e28ceffb6f88e917fb7e9c2883d3a2e20d0fad2f9e9d36b87a5e72a267871337d26d82eede016e81fb2e55ef03d7e7858540b4e76531a541f5c1728a0832e32d79343482373b378c1aaf5afe81c46b4a23da5cd3132cebcbfd4172b36590ea590d78022067782833176008c8e68920e3f2c939d990ddaf26a7e8722d13400a8ec0271625c3b0f94ca87b82728053f4de3224a87c347821f59cb7531c6f74f10dd9af0684bd43a25069e73a7ee778b1680e1bfac9cf6733c018ed72126f071bbac49e4f1e7cdb374189824f1807b2f83d10b87cb97db55f19bec96163516098998a533dfcff7e167cbb06580fc3613dd4aba3c55952ea6071f46b3eec3daffa35988342af4a281b73df9883c9bd248631d8b88a29f68f2f2eacb572f13e632c31779f1d4509f44c7c122d19b79bcef56e805af9a239073e7c95c433b3c371514a4f3314cefa6cfe49a053492cb4f8a0d45d4362ff163e51e708247253ea41e1e7296edd208e4f87bd34c95aaee0c7d7b2f5c5d1d2ec95b9d5d8dc720bc646721809fcb37feb72158f8823c3cc077d1ac9884707cfd0cc156269647201059337a3b97f08ef8f917fdd0a309a33a877bdb1b060fddd34d7a5847485723fa1692d54a60ed636e5dfeb990533e06c1b17ba3fe7914142b427669a8a4003f26914c655647354e07e49a931ee704feec3c1cd2e6fbf4be34a3b1ac5010f72ee5b68ec4673f6270aa9484db85a682fbfc3cd4ca565c6844a608a4e6840b9729e964a7b9d9e92320ac6d7e36bc55d3d12f09641069feab4eccbc8d378b284725d5d6c4a252e08b3590696d663721a2d8ba87e085c5da876f66fc91e87a690725c74ff0531bc89748d9752cbb9f063857b01ee0070d7e6a3f2085f4ab17a6e58d43b9607311b8397dc6f515c5e3ba74d704fd41f8d4ede0f7479ff1481933272ea705a9794e842aa8fb95d603c649087631854049f7fb12db0589de7bbd2ed726228034f35fc0d8b75bad03e2925a94d17962d74db87f943635cf78f6a1f344bd61e513d809ab8060ff2b7cab383fe614558f625dfc415dda310e7bec402366626e5c0054ad217afd8fecb0cc8a0ae55bc18276aed612f717e8fd865c1a95c1be40c5dcc4b2253ba7c366d605dc214dc461112d1f812c3e04c445330419260728811cb85496383bda7437ee099aef5799c644f2ddfc8da21419965023b3ec2720cd678b2d98eb9295b8d3bd7ecdcce06c520d2550789ae6a65b8de64fd23e372fcae7165548931c40510629d60266d7ba11dd960d78813d10ae08a262ca3a822020e41452d61ec46fbdfa0cd8ec8c3e3dc15f969fb65f55109518c55845e51727f4a85e7bee27ce36df356f327fd55744ed2e5a1c7398030fa8c899f40a86a2ba30878fa2f6f029a3a9260e609543e56eb09a48d82b92da34d770f1848d618728dee7e6aa05ec93429019970d08f4db73cc0e5743b263f6872fb8573112f5370ac3abc46e690350cbf8ce7a8160b051a2a45f5b60e1b40b315c7ba8aab6ce4729fcbbeb4af907f3e08e39e0a5b94b32aec2e993eedbef41ee5025e7e428a4372051ca705b6ee2a646e1487cbd6a2befee1cdde2c54bd8fd739fbec364069087218c6a2ecbe1e0b50586de0b8c1500413aa05b0639e023355db20ea1aefb7dc71f988fcf6fcdd87b09c1d294993fae79c8a8867c4432fdb99d4782500d6fde272153221c8ab10793b13deed56d6d1e32f50c96b82b07a6290927e445dfcf4a27240fa21fa694c97d8afdb895f4ced657fc9fd4b9876d58bcfb3965c548829350ec98e343852916fb7b028a7d4a8719baeee178fe0cb08dfd511a4acdff3ac463d799b43c1248d9addacb478116c70a501fe4e13a4067bcc71d03a36bea9375a06072b368422d96653c02de2fc3e3ed007a93e81765f39fab4e396c8aebca40a024b48c043afd795d23967a841a18dd455eccdbdcb022f50f997e65b6a6de7663d7d84e032c92f34cc682c93240ad41b571f7e4efc9a17a1790023081ee4681d7235481cf21c86b34bc488cde9a81ad10c940b339268d31a4943d86550ff312e72de9c20e4d4dbe1b27f6967557bd6dae3383d226699a627ad79718d281cc7607245f0891e0124ce720306c643a5b0169a9ffeca366654cbbc8a112066d95b9a7295735e85dd7d28bf080bf2ae90e66f182a6a0ec9d162812d217cb310493fd81dee67e9f0525af43f091afe379a63bb0495d816af68ea39cb4b4143106b0a25109f06e8e594ec24ff90b1b3151e1bd81c9f7d5a6643e12bbb8228cdd5cdd620162ce454510dd28dadb77472799c2339e45ec875c02aaacabbdf90736ab91f3136883743b14113a757487359c3aea7c15cc7bd3fefcb7158a55b66bef8e6d55972ef9ef9e88c0a29851c315a355a4bc4f8e4cc6f0abf1244acefd81e5898435723cf8bd97d8732c26eec949253101179c47bd95ae45944bbf837ba94cef22e7072147ec76bc0a7ce3fa0ee5344dbd22632cb67b5e0063f37b3439ce81f57b6c449d0d20b5b434f1974014c4698d10a1af3ac2fbe690721733861aeec6735b23228bb88c1ec3033b5bde20092ed39bd19697ee065fc43697a35e3690bc7aa49655bc29a50c22955b8a2a507840be054c225c90690123362fd40dcb6d981f4d721089ebff7697a3ff6c72625bdb08b503f9803c1b2df74753c0cf4c3b762ef874f400508edb50e05eb1ddebcf1a15260c74d8eeabec1e890f3f4f34eb6ed2f7187601dc10a6b07c85046ca2cd70a9304c8a87bcc92d39c0be69aa575a41f854eb672c75d40b8c3496207a5fe4457fa01bbe122e6da8384463c99435a50600698fe7200b03f8e78f2d88d5ba89df6091f8002d99e1197e45def488f12b221364a4b721317d25d1376ad3592703092bc2f79a9b258eef04bb62d34c87aebef9e94b81a7ff650106f688be3b5c5bb9e7adfbde74547a0c67c7d788764888bf93bff34720c5ed0a97ce2ff9ab234aa13a5bd6f7ec3d206544cb185c411e573efbfc9a532baa91b4a31a56ed3293d44ff2ab65e993d46f82d04d5ead13911590a022a9072a0a1802b70580be2602bdd7d1204c6c08c10e78d4520d2e517964ea6cb923972f43575fec0c31f84f7279f7cffe377e8e2f51bbc7366a3e5417e6e60038270727cfae4c66a7b31ccb7e13bfe63545e60c524ac11c5709719e59bafe8dafec372e155056c26028824a272ff8c48a780a2db94585d8cabad7a29ef604c118eca72369382304c26fd047a1618408ac4fb5f8c10a9b215076eed3218d67590f93a33291bf6db231442343f9ca80e4146f82c0a0d941948bff731fddcb6312a572d7246b67e7b800d16ae2dc5c0406df8591e1a6c6740bab5673d1d17fb884474096a4385229b3b63f44db1190ea0e058dfed703e2961aed297b44ffb79d0c44bff2e6e14c3e2df4c9da9d6a6919821c55d8d24efb1adb82ac750a11960d587cbe82703c1ae6e6cc7fb6410abe27bd2838fd9e0409800d2c8e3f8644728479c98e849906dada0bd157bbd08df602bd1bda112072bcedc34a239035de2c08c131146724b48dfc2398b520f5d700a65c5befd25a15d26b4b39dc790beff36bb7a5bac72bfa54875bdd060370cee2e03a464bedf2ffaa1cacd5ea18db92ab89ca233c64d1dcee75aeda20309330eb9cd4b531d4f350a8aad785df58f7c9546078a5c597210bf00dfff1def680d88fc53260ca9a4cf3721f4c56d454eb19b7c72e1c85b7270133ff9fe57ad3742a6e986b8c05b2d34ffc104424284acbc6f4cf2c1f873726195c0f02ed250cfc351c8a54415c57df2871cd3ba3155b5a2bd05dbd92419723d07ea1134428ed99f12175c88c152a44752da430cc70f99c6d55971ec481b5032924b37aa9d0ceebaf080eca62edd293ff5b659b5a3d21a8aa6b77e5a9cf44abff103d7ed705ba2a5409df02b09308c42fc366a6014497aeaf555a2f5ac60728dee3c03923ca81a13fc393a9cb2f31544403993356b554cb4bbc231d54332341e3d79123f3af7840f4a8c03d8703095b48e423bcb1033b5180a7fb85c913d6ee7bb0f88f2efbad36e6530b2129cf436bfc571fa079d1f8cca5d832b28f8cb04899e219715d4cfd1fbbce67c6f884e27ceda21448ef3b787be5401799a1aa920b9120cfbc91984132c168470fb243183c3aca3530a76062852a2834037e7a272b8d6b4e821770b96e60fbdadabb86a53a902ac34a1e18f95cd79371ca761a3721735bc00ac52404686f5541fce062f3691cac74a2f0dd4bc17faf0c9632ad23e053e07470bd074e479e51a3bc9075eb45e9c0c2a500cbb8fba878fd878ed2324b52c7d911256a588a8feda46f8daf526ba449390ca71327d37f7a54f46ab7272c5741e1c0a300730eb52d679e180ecf75f08233c9f12460a793143a2f219b910715f12b230d969d1c1a50d45c6d040aaac088d955377d1769ba2e6a5365ec81e2e937282d1f145511284838d8c030e7c09efdeccd7350c5485cf81f2e5f41d19a0bf8afbc6d73d4c0b9ff28ab2cefd618bc9376fe9e5cb1632f6b6f46192977298d1fb8ddc28357bc5967b42713778814fa7ea24340ddd839506742e0d3f0e35fea6bb9e68017b7c1a5c24dc33bf4b162da0c91eb6cf274293eebfa7c6830872a6a02d36ca7c87e37b50b3968efaefe19e5429e171d2dd0b530e6409ba1b307206bded9aa0c36595e94c2fca5b67a8808937675e25843fe82564bc940b0c33726248fa1b27fab046985bf599bf94267cd69241ba57c59714b81d57672cd19372e7ba20b0393dc6b602ddbdc888ac2a079caab7974801c456999c2eb7eef1cd725bd0514c86244bf37b8f0f05828f9da2f504bf55dafd354a913e72a515174772533d7422b3126bc4571cc3c06b91d42880e700cd65eada0e6cff139aba1c1a2b34baa00e005ec1ac4c2c164254c2bb1712966f70ec72667e9593b94660534072513a0b98991261291deb50a6f905dfe9362ccad9185c62a8e90064012bf17c382c0440657adb4a1bc0bc0c334923f825691267bafd2d718acfc73112b9897172dd29a415f38c343ac6531bf12ce83e5ee7a8daf5ff587b635a2d0b33cd5bd472c442ed2ffa38c329a82d30133ecfa90c006b90393d3a1fa935ad668446cf622ac81c921b3e05f18ae911ff43c0db42df100dba5b46b733e003071941ed98e372599ba08f4b3c4cf28ab7675b46d66419a627fca52a381d708bedb865140a8672f7e51646a70a7b51bf17a22ff8ca637da5565acee0fdaa59f241ec9b41fecd72987d8f75b5ca47147fd8dbc9d8de20bdd518b8a5442b1f473c7933e192e3825258ccc74534ff7fda612f270cf4dc9f73b5a716bdbc9314a2043301665bda5e54383bb7bf63f5f8a6d206ecdf061ad31295a2bd047dc6e0fb08c46123aa2234723d7256e4985c2cd91606036f9c6c15f5f67cce463659f5bc859575549d35603ad473b02139a554046dc0d79fcfdf96a86a3b3350d6b5b2877c8cb12768a21e723c48c3baff715c37f1c299a06151146edb092f5b633caf24e3191f4528b58433b1e30cfa3f15ec694eff5892925ada62bcfb87390e60797d4b68ee66e7a6ae3dbd7359ee16985ebc3a726db18a98dbd6e066844465c09f86a4e22b2fa7d2a05651f15d74473086171e3c8f4af7b22ffa56c379e2110fd1ec1deb891c1278827259e719a8fdf9a7137399d90e1c9bff5eec7c5d4cdf5788db860bfe02975bf87295d89e605bc9774a3b527b5cac182d0d810003f33f22bf758fa427eeb37e4f02f97139511c2ef8ec52f30c324d09f295dd7de9b252881940586b0073e68ccc24f5b5d9c972fff966ec9d45cf9d1bb0512a7a3439e1f67f2ea0dcc81ec16b3f729f058490d58f2acd3aae051230beec665b60c3f0c579889f64e7df0912f3c91238880c9f26e7978379f4e3f02795cf374ae79898a271f7b70b6c77a9a158c672f593d91ac0027106ab94bcaa32ab28dc921fe48b806c68e09932b798e1af3e722e21ad5d2f539cae1c00daa509c981395c1539ccd6dbef9cc8f9f2dd926f9972e8a4529f84654b7953d8994c1492f5253635f53d10aab66ae07ca988c1388172c2d58f74ac617a85be822a5d37d6e47e983153623768d4ea5d31d2d9d4779f17063c4ce9b3936caa3b69716d1310ed7a482d766799191467e1c25cd438030372cf544b6d07c92b4910bc02f128d054a1b21f008911a1c26be768203d170a79462fa855830312f7714016e929a89c643ee4c704d7bd413821ce08f72951834b72a68e79873bde6fe4c231fdc60a01cb9a787ca05dbbba08ce895c0f423ef39e3502ee325e44475873e79d1b7e0b5f7d20e8b0079033d3e933c7b44887aaa91d3a5d3445fb6be78c04077c295441ff168a1aaa4616f3e2662419541de2a0be343ed0c815e533467af50358601b21a62cb532194cc7954691c4d0d823f515414b3da141d7de4e4d2c49026e89e0788f719958500d2fe1bc941124235b4e6709bb72a928dd63f3098ba2b59f49306b0b2cbc106af58e8a95cf211187e4826a11ec721c31814181489121526fdd4e66bc97cf01f8b7f58d2d71f1ad5514e5b4e83a0206b36edc35de1cde3ed5e5863b3476de62f5f35e818e17e3a241c06f70e31e471008cffd522326473d6e959da122628b5f8d51d7ac46f4167c9ef5089b37dd729240981ca881965d4f19fa232ff008ad9972d1b1d2a8c8fbc01972e3ac7efb72cf61de0c246a7348f6beb40fad16398c7d6b814282eeb9331016321f82fe6a4bc867caa5c6fd25f1e0b0d601f68cd8bf87e7b9a4c8e8fe21f7bfdb949aab13720288777b16d9afa565fbe83e5525322977a21206c36a6f9535fddf54adf5907242c2367ce2fc9d4932d1cdcc501f5613e5417bb3bdb013dfa536f54cacb45641a63d042c734b2ad6c56f5966ee39d2b63918908b152108d60eea06f6c8c9cf668acc9d498e6f9ac388062bdcb99971640e8a1d31ea387ec68deb1ad59e5f85729d3905edcaa24b1f962e511e38cbd3ce255f0d508704d8c7707f7cae2fd59c41af6e293931544edcaca01f47796596f522c65314813499b7355f741c27372872bca56ff7121ab70e09e85c57077d86972a49fe2821136ef2d263a2b14e408910fe4c3f8efc74d844777f59f088b34b9c2cb2ae8de13350ec0eef2812ee58bd2f0f82ae0790600fdd187925b87802478d6620320aa567a2b115f8391190bfb7091f230a100179896c656a6fc879b335149c9c5e07740063a52502814cad3af372e3025b48e0e33fde7b0e5260389dbb28bea6ecfbe8a9a470b0dc53f5c3799f727002bf5c66ee40ef2538104d6b0daaad00c29e7caffde4b1351d1584709f0a7258d57b8621574beb30a6205728ee16d7bad6804fba64e10be18cf7c2409d49723af312738cc611e2b0b6c3126811d2672994c82c00bf54db1bac5b7663b7ba56cbd043349879bff5badbc5532750cfdbae339403afba10a3a87e866e4304da50cadfd767da0f7fb7e55a1a2742096742365f4caa24fdd29b1305f076b6f6472005aec5fc40ba5487351bd16c665c254e4c501952044755b9c0f15ff0be1f647212e007d02ddedb296970978b5e62c76f15399285a3b989eeb0208b2a7b004c72ba6705b3723dc84bee4a5572686da58a6ce61047b82fa074258f63fd2380727264f6a16d1c84ff152a79d7ca9672871d6914a6240ba598617472224373969647733040b9c0f29ce50ab142bd4cd72488cb22df14a62a47636b9d6580424b9472a70365bd401a130a092ea63f8a6fcee14c3703cb7092cae5577664388da5b23dcc0441707b6c5cd56dba25950cc67384b02d9cb5f0ca047ca7b56699be0942723516a021e56696b01bd5253372e8ff110b0c2b456d9412294a9a929af20fca72e46232cc5a5627df7dc2a4bfa0802b26e5c613e7458c0dd32944276d8fd646722efb281c62143bf7f02a38cda932a8e726ed8c60f454da9245c297992ec4b4500374d270f0ec4d881ba512c721fffdc2882800b5c75f5f03e52b29670d491b721cb6ebe82e95fad335bb8baa10242d230dd7793b5f8dea0c961265ad829f8c5df24272a20fa0b0b858472610d872b72aeb3f8103d9b7cf66b5d7405f88654e317a124c64b1459cb8402c34dfdc09b840ae431b47ffab4c9013e40d332bb17b3b3fbc13da02735cad96a89f32849c5a5d6d86ad4795c05dfc9685898b9c650015d00d95d29e8355ea19d2a6fb77f6824b416fc1289ad1dd8efa369da15e71f328fbaa96845d24f0eca7de9d53528e375f7240381b841196cf288a12f4a239f32461991174a189b2e6bb52ee6e7a4e9eb19c57de784e34dbb0837c0d72d1e3c372b3b86a15154034e40d303257b4045ff8bde8f289fc81470f7dc6e38e79a6f44812c49133c7f7609fa8580405237d7a9f16bb04502d2b791ea0862867fa191572cec114c90f38fcc1a79978a12887822e4658d95889cd39ebc072a49ad7bc4162b7c049f5ede25143c860140082fb2c5caa44885936c36641e31ff3de89601e725219f5ee0140e05b4620e84a599760c88cba4fb8118614d5a4ec9f54b38d297252216a9307c1f6b6f0ebc99df0bdac3ce9641e31ef375b566220c8b593b9855ce64919a3a79a8414030fec491e9ae92757971bbe6b8b4c5ca24600c39255c7724eab4a0acfb2385586fdd329617f292deabd7b242860c1fef8f2aecbb66ac01c5b23e9ebf14936677a048906df279d169682d3763eb5a3fb704ef32057519172da43abb4d936cc82ea14805608168abd40b06c5c0adb4c7c26d37874662ca172eaa2ee1a570cbfa481386b7baaab9882df8db85b2868e4df1fa11807202aed727b50db15cf97e636f2c279eaef2f292ba8f6e66da00816baec0e2da860e4c15633b4ca4f42c0265dbdec838b0a57d2613b81254b1005f1d706aadeccc65cc572eb9f32b1982ccf47e51e56900c56927185fe4be03700a20c152ea47de9954072bb75c9f5d2d71a172bd24d493b855a61ca80e8e82c5fef96cdb0f42122fa017269e0dd2873d1c8185030d86b98739c54ef81d183f9c61ec2576565c9bb8b0a724c137a70bbad1f79c1ff07bff017512e817a132edcc3c00884c4dec1bb99ff72414c4cc7753ee1eb825a98e8a5d345351777009787d424dba63793bc66a0fe0bf4154eefca2241a4736dcf97f30791feca1bca6de8b25c95bfdfa03f174d5772532d4d9aad9e86c4cc3d65d1cf7befa5f38559eacbcdf8882d77f21f77be530c32cc94e88b10c2bd9d7eb381b8bf8b78fbf3274c82cfae96151da07bb886556895836843c93ea80b08be7aef9cf696cdf1af4210baedc39fbb878ec36298d4726ba782f92c32c913470a7f6af3676cc836eff4f3eed70be52ae8c36ab68e5a724b2cde49f5db64fc658c682de2805b033621f92c694b6cb12a147063e0b2a057aabdabb2b6d051e588673d08e77d39448fc19fb2df679a8faa47c357fde635721c7128fc3075b3e451357f9ba0cc5cec8173a7837d36364c750f5d0c9124ce2ee96983e6f99d8ea409b505e76bdf184ac6ffc459b7c478d13b5e50d5e5c4ef20f2b434a729bfbae36f830ed3ccd6aac165a5d0ec65dbdc90e0889cca6bcb2449e3b603d1c2d40b9e68fe2b47d1f57737a9f9c31074421e54843b41df80cc8128f7af9c05dbdd03dda66a25cc0f98e4b69d285b0813fa03ad211bb07df272ac217c38f8f1e3ebb344022fedfb6b62436fdaffd2fe11eae58f5749bd78318c3f72bcc35fe5ddd710240e5e2a37e3bd67cb1f4ac3f017569379e544424dd81e2a7262841b3d4844f27f0ac608f096448ad16d6982264d219de4d08da9506c0e3c72c3236062aa3e63a564599f0eb81728d4db98f5de21118bf781d724f49fd9535495f73bc9b8415d175b8c5e9769ef8636206f8888629db260dc5f454166cf8372a2399d3cdf8366de358d694b3327436433a8e39065122652b3477c957184c47280a0feb8de537b25212afbf7b04dbb335ca0ca441764a726d6ea51a863c4f572b4af1f6685ea0ad7860bec9cd4c67d88205d53923a38f3c4fcb89edb8f5b5772ef0684e9b644a4550efee29c54f6b5bbe458f9adc037618ce099b52c388f9a72fa308625b3278c33843612ffbefbd61874fcdfbbfbeb66d78576927972cb8f72d95103ebc5cf1273154ab8e5fd7dbc34593d7461ad250c52dc869af8c6da935a3b7090220c6d822c867e772cb11baad81ed2215382b0666174e06a0a1dc85a72970de7c1704fa23285ef7b6b79de9a69577a5a5146fa7c8a3f9cca5f424dbb0a3e05c1007f627efcabfea6b8cded63c5ed68cb24e42aa05b7c6ecbe40f7c8d724238d032b301ded4db7372b33523e2078725265fbc93e2086fc85af961586c72e860f655286372a0920da4f4c2aa8355d8ed959c5b33a6dde7bb1e477459d37292279829c2c755bd7467a08058bdce82574227cda7739f7e4c2b0cddc5c02c0fbeb80be497a1b910192ae539e0f7a8760527f546f2005bd4dc7fbb50797d2672d5c3c969cea10986714ea8160dd53436e6f990e11e73692907fcce133c82f272ba5742f5986cbf61b27eaa23e02a2b5da77fd852bfbc832b78390f3fce4fe118d616e474b467390b64db5468f69a91db6d9dce960c55d65fc258bb5108c45e729038105969f3a65d5220a07a9cf13ebe62d45a72cc5a46d6ceac9fdfe00ca3728a782dcbd3fd3961e15dfb1978c884f99f6b46f9c681de6e445fee766e9808688d1b61e56118e95666a50c4da4c7dd942d00ed12db43522987d1297ddcab293de6cd0ed2d611682e15eb2d8b15856fd34bd447fe6ee39cb4a13ee5f2f437555cd20d09583358a1263e8f69643f5610ca264aa8c93080039f279ae2ceaaedae72c4ec55fb226b944bb052ffade228ef7e4d7e94336b5d22afd01e1d1e2d85b958af89352d4b00bef42fca886c2718e19f88cdf2f3407916e900523c09f40aba3fb66f5cde92a22a20a11b5ffbc27927679feb80d5af9c081afc4cfc73083a8d69c43a75dd984814f31bd1b59fead4eed7e20b34a59eecdee6a65289fbc13fd61700a53319e6e9ad99eee4894a60c254a1bbba3511ce92206dadb248f4627522729b9cb98acb2942e0aa50b8e2292de008804ffd46f316a7cf8fc3f7736c03bd722b03fe56edb355caee9cf6de56c354b33f20bbeb4af8839a8b95beaf362dfc72a6f873c5e586fbee62630b98780a202d9ae8a6c91bc5b495298cf69d60c5946fd8b35c0a26696dfad6210eb79a862a147cdde79d5d88f3214990e756cc41f1612b5cd12418fb17617e803df9072dfd09a0fdc2ac792455ccd41781a495ea6b728580508f2387fcf8417b3129a555410bb2ef4c11b87e8aa36f9bb678b1292c723add738d487b205a521a25d073b8343b51187377285ab1a8d0b7e74c791a7d72d97c97680578257520f007181c410c009b24fdcdacca2aabe09254be17f42c7291d16aca08a2f9628ff8c03e992d80c7cc1b758315627254e5f40c5a448d21335ee6608f02e0b3341d52dcf1e561da6cd6c7c62e668fca2f0057623e3a3e0872b25e7b5136b8a53fe7e17a68b77261a233027d99bf6db72a0c15be5452b21c627e9ec132bb6264e9f2ceef3e7b5140b3486b63902fa0a949b2af38fb30897e72977927205ee10d6bafde20a66c2f338f24bed105bcf2cf70541071469c143a72dbb3628f5248b48d6f712b70f5ebbce46fd53c547746d3981ada6f3025bea92d5b3c35d890b8a484ebea79396f9ffcb7fe6d9209c84b527fabe618b56e4c1472d4fe1854560dc6cd175c55c6989c7390c8db274ae14ce867a74c5ced8eddea7263aa964e5c128a1ee98be885eae5fc54a289a5b77b634059921212940da6e7721c06430e5f6ca47f3e640891dbb0eb5bbb29bee050a17e2fd7cc92f0ea28cc5b6e431a957e3d71b5a081711348b6366bacb2215b24f439a752338e967230e20ddf1406a11a0bde316f066cd309d156a78209929af5603675fb2fabf4f2fd9045a3f4525c674dacf120a5244a0417d13f86d64944ebee46e5db348ab40d25eb724b241ce33fef8f61e6e4a52fa2a58ac7df064c0d431b84aedfee94be59981144626537bfac9b8f2a6ca28be676e4aa201b822a1ccc302c5e406da0ad8da82072153d3d7153b9f284ae8c7515767ac353b0299a0b943223590c15898cbea397727abf24c0f55922506a9cfbe31c188ed26751e48a50aaad92621f9553f9c6e9725f93bfa0d7441e14c6daa3dd3e56d087db79c27e859db248d2ad507e75271d72206ad9b9dd57b848d515e944dba5a3cfb34a89f46cc12f2c7c841ac7a8657572dd819746a2b606bc3a5b63c46a44b66e4bffa0f6f636a1a7881d3cebf9013f723d14449a412888ae63cd119ebaab4a56b91cbc2f45fa9be330403737b4ae5f7257c68bd8033bd4c9ad3a50da86f7a31fbb7be3288486d207d1b6eb790017054f7d88db9cfbb10717ad0dec4fb385f4407f089f5dc9f6faf20039ecbec9c4c70dc0475e8f61177131e163c02657a854d5031939f50d4ad56b5326eb4b807c6d72f318081df9ef31a11b4f234452160738939bf43d2b5664dcbc8b5695cf0a06726f41b35e3f9c1d6e85c50f0a836683b97e2cf2c02c3f7b912f9de7e53ef1de3f1edc9774158c44739b0025940404c795c67adb34eb34b3e93121c24d308c58629d96075b3e5ff5e335361168db90081113472071a8eeb5f92a8ce5bc00e09f72e5c6bde499cba7a6590bb8615ee4807d72ae60d7116545b56f9351c13a9514395ab96da4a9122aa8a156657139513acbf9898599954ead8440d7433c6bf8ac171d78f71b41463280950221a6416ce664a29a42344aa5ee1c928e59135c1990723ab0a9c47cdd13747ef033b37f4c89e8fb9eb09d6c23bbe8e47c6dfa34e58b7282cb57bda18782e4163254b73670e42e917298c4a5397554b17af92f8adf355640b2a0083313fe4a014240b97c6d9baa5cfbb8b244f12998ba27b7ae51b69a72b9f7eaaf0c5c1472e47915d889d107be873d4169dc5598b81fcaee8e12965672c9898a1982d6ec18ef78d2bda3d43b498f29ba7d0d967877c3252327886fc672d447c50f987da66d5d2a8fb29e8b6e5db499b7bb32eccede8eda2efae9fff01981838c8127e955631afa6008e4d194984408c8d72e632e1774c43e86e3b2ac36fe65dbdaa9c9819434cb52dd60b1de096da20ae7b4b5270bb9dba4d991049e7232ae89a625285ef2f8ea98ee2c0dc99a43ca09738e1a6ebf4834f08c8490bd7223a9066d42c659f9baf72a45c00beb5be20f4209b8524187d6bc0a7e4770ba729dad63295dbd25903a9aa36b6cd38ce878bfa49fd47484f5fe2324b610ce6f723d45ae6eb7d3a150698b570453270151269c16b792946beaa3016944732734725fbcb2367412c4c7f11db65412797b197786efd72661a63ce1755e678071323df8fd71c7d362748a15de8fa913a1a8b5859133b172e00ce705377a6757e8976f68abb5fde58cdd1c38307391295de7a5758aa3c5cb0d10b8e0f75f5d336316721e044c0062de40b9149e2fb1c08de4cca4a3195cbe060ae0978dd67516ac0972a16eb50b554341caf7fc83b94afe5983de2245b77300b46bd535c90b1fe63463766fe0b6548ba701d0e9f75a73ecd47a677da87fd3003022de4564ee7432fe5a82c19cb326ea8dbfa56fbcbcb5ff94582f63aefb5804a1ccbe9dc083b0cc072d25876e96645797f6f794e9731a779a1668d094fd4fbffbdac2c03e90833e0e5005c075bd8ec735a7e2cd3116f2797a83480591352c18ef8148cf9e25ebf2977226c7f6c8fccf43f1ed72706003637937df62d5e73413ed8d3156b3f9eec65e7247318781c99ae0d865f1d265dbbc558a5adbf4810d655d76230a5912c5f89a72686d42566984bf7e01970b239cd7d69b6c736dfc7ecfddec8e58a566e11bfd604b2aa981b3b419aa854b3576d306b8e5dcd3449ce970079b00597bf7f8023472e2eefc3cc6e89fa99cf8805e7e86d9f5a604c47caa6aa1a00c046e28c6b52872fb9917a14d5383f876c506900a5c70f2c79b4aecff426ec89ca66dd72c9b483d67fe3acac03d5766d8b5904914b4c57263585a7994789da9f34b7fa62becf872eeb7d33bdedcdf46fe42029dc75122edeafdbf68a6350888c3f10fc9907ca972e95c7e0a74013d399390212662e7b53b09b145747187c09f6919a35e3bbcd1724bc1c26d99598da08a948c55eb7f29a722fa11c13b7cb78c249029dc56b21872821bc2a034b8be815056ea0d5cf606c9ef23e55980cd711ffb429bd3a5c0c6362c6c6d8db039825b87315f003a19b2380d0ed339a085e003b9da412a5077fc72093d7bed86ed1790fb07c2756f7e07ae9bbd625cd14fd5c3d8bb2e7bde8d2f7204bda7f2853aa30465d621eb995b64a360558cec15ecaef0b2aff3d5faeaeb605c6d8b1d66d4fa4b8a1fb1b76943e05bb22448a8842898d312ba4038959e39270896b1a5271ee253cc3b609740126751d8d537624f6d5de87f0642343f2138722150c4d7b238cc17369349a8e66d684730565a9e2d42744ecaa908fdedfa1834e5d1b711df9ed079f57da3ed1a4bee036ab980308869d8aec033f83c1917642bf10ec86cdb22f1ef00b1e734662e044ee3559dd6318e67b5523d13d38e65c700e4fe8de2b8da62eb65a36c3f4369d72129afacf374821906d82934d673c26572e88eba2bfe314efb80da0f02d70a9871c9bfbc182c48891d376543416da47b249869c16cfb41c4b46964eee1ffd9eeb48ed7954d340e72f8642ab7b1baaf09723195c344743eaa9ae9daa6005a8bddcbda226cd8195fe458c967fea8c4a998722f3a81e3a31b1308ffaf331dbb977c5d8015e344d70d17f0836e032f498edd720dbf648fd30519744c41f41feb77a27839802ae0b5d6a0049b5179114aa77c7232e0c411bed9b0cc4aa5e8a33fd53c065a573dade4454fd5898679f4936cd02d3683d650fe0aa170ce0774b8b2cd1d8229719a1b4aebf7d7fb442e8883f67b7239b2834517f0bc00a8ef8f6afc6e8dad269cac64c21bee06da66987ec525e8533c876a838c7f6810cff6ea6d98b89e82da6944035fbb5ce91c5e1a518c5a4f729664e6bd98742d08023456b5151e1fedc398912709d03a181317d4a17d89c672a68bae643b22a2308f026bbe94932e485145bdf826d56a5e099e68cb0028db29e9660d3221fc744993d0b13505fa7f684fff16b589b8a23dae5d40318a66fe46396154be9cdb6efba8d9606fe17e7cb103db1c2f51edfbe6e8140fbddd53b5724d8d44c9a2146832b021520b19987f0aec64c343bf5b5730d5edd69ff21023726b228d54135c5aa8f1a3df1ba7ad8380f45c9e268910385312b1d147f22b3d72952c2ae67961e8180ec9a81053ea43957e8e0f082117a3c410a47d0627a01768dd6f89bf6df23007e070866d2054bf9d4d23c8cfef85153bf62f90883f841764747bf59ff75cdbe085b7a596782178bedd096be8b359b58f63dafa472d5fa22ef1abc983e5303ef6335ae05294a8a3dd930b97f2c3028dc0713c0ac4add302720c3230f181976df17df2a71fb8743c029dc295fcc92cc8f8f29e5e1edc849972983bc5a1135899dcefc0f65defb2be5168510f768c9553eaf1bda30daadf0172f2d7ef852908cf57abe1f63116387f6cfb5e951bbc7c790c85a7696f8dd493722d65cfb828c4615dae2965e344a20338cfd0e3a342520b9921c07bc6790d1072914aa2a4593c373a3f33722251271a890153a0c59035b6df1eaa9ea004589c53ced2d370aeaf37e12724c667e5207b427362ca120a650be3544f4b4da5104b6836260a81cd8b1e7db50bdfe7b0f13bb81d920a9e37762eba5fce01a371a6264447164a026bde84089996c89218db59e502d9f14d4326dadcf261798342f6b5555e138522c51c7d5a0dcaf958c4e762230f1a32910184abaa23e04e9218820f72fc19dde735b11810adc243f1e508f86739b59e7740dc2866d2ad6d8ec918df07b95f2466f3a44150e4c8f9f247babdd78bc08243cd141de5266f076a4d804f72ccee7b8999d9c3acc52db9a0d7593b51cdce3cda96157001528162bdaec66972adc48546c1283855960623fee8cc953eec64476cf0402ec30b0acd4ab4c57d72befa4174f93347e83a66f407c4f1858022e1fbb2b5c747fb716d27c99d24f672a18cd6bb86f5f5fd3ae8e400a363225844ae19947621f4438c8f6b2e55e00637638d24869804f93a4e24324b7a25d7e6320dfdff2ecf73c65543eafccf35b57212f81f1007814ce6252f268ad368c7aa1b2cff5a9cca57a387d7c683a879e17257d4a4e0d4d7f7bee006ad43d4bcbba80dc606e77351cd0c4d2de9f4dc189672e242bb96c8a1ab7368c2db5295bca3d528e5ab7b0744a220a6841d39959d46087edc02dc3cfde67c43eab15ca87c901a8654101fbfaf8481a17efd3b76789b50f0ac2ca6c56cdcb1cc3b72cf35253d5758e6eb37a636c4a46a856c6da2e60272bd3b9d496165d22b7f79a51012f798a77feeb2bd78cdce2f59689436ca8a5c720c1ccc643c4001247909c1baf7edb2bbe4aa8931771870e3d4417e6c6fcc71724cb1036fed620cb0a51b9fcf2cd19ee36759b7a8610bad266b7e6d206ac695720f8efa04da53dfc706780e0c23411d9e56a4b309638da3062cd59c7c73ca7c721521bc454a858dd15fdefb0348ecc1e26ba384c879fa29ad9db2e4955ce3e96cde71f32d24e06f26521466c7c43e478af6fdf4e90e41da1b1b3013073568907286ec7776a7b9e19c283a8c134bac7ca167d327cdbe66d1602a461c030e3f342d18a0cf7882daffafd0ae54ae62fcaef3ae5543756767b634393f080b78aae41906558a0632f20177ebd55852df107f73aa806db632c8e209e439106980a9d67299349bf3f7dcc414989b65e75c9b394dd6c29acd8896bfcc3501bfa100ff782fe2e21888b3fe42d2c43d56365545c13ef5f9a72fabddf4160c3cd2087eee6958c75fb77892f7ff154cf177f6fa13e13903d2248dc32fe187bf566332b4d8495cc619ce31a607b54c52e4ad92248095fbea85f41bc6c7c6eb3b50e19efc9802729760ea2ea297af3730dd40475e10fcaac9783cd1bb12a149aec754adc6df5e1fcdb7269353db119461bae560f92eabd9d70271edbc071dcd35cdd8c5088f0655180f1e1a5b31fa898a8eaafffdc7c082f11f05d87c91a402cbff3c52d548fd3e1a68d97828ef20d40ca975af5e7ebfdc346dc99de345f124d509be53466d932018829ffdf6e37c0406a68aa987a1b1a3fada966f11f00851d02c044609ed55662ec0e114459f6fc79ad88431809a729a1d83420c8fc1680e04e78ce7bdfb2e603962ca6fcc1128dc1bf185855ac575b182976c737ea20fa4e9807b933bb43572869f430e81dbbe8cf16c614c6b31db697b54f950b30b7913bc2eb4c863ec32722461d18336673048a04b44c8631e299c1ebf875a26b8c7a3231c747182c43272c1ed9154bff3bebdf2f4c7bf5140392c5f24e690c02f5cb1211805031c628c72d45856bb04d4548af80f3926f9ba38268fac522e2c3a27de5db2e792553e6c52de1d5871c21e1c464d3435cde1cac2e85d1539ed1b14ae71cfaf5bfce00e1172ef0590a41fca48330c1689cdc2241fad3f44e42348f18b553cffa4a5dc34e40093b4ae4c263dc8d5ebf56e40c79d7664178b79205914c425e32f16e3a5580472a9617abab1747a710d1f16e4a9819b2460f30e2dea83d0f4fe6ff47f98ce08604027ea614b6ddda9423d836cb6734d6ca9cece8e17b1edad2f4b3e3d8c59391a86aa1360449f1b841c67c0545eb81415b50b6648dcdb6818cf73f845971e944274f7c41c7021e00be8c9b754c422b9ebbba8c544d4f538b5d5dcc6610731d1729be990274dad7d665011e93ad431aeaca24c121b37b94e653586dc0665b39a728b183c0e4be2e3136224d2f47dc28fb53d20185b6f3b81cde9b8c8f530f1380d70f9ce4e7ab3bc2b4c437b7339e7374b7e8bc8da0bd43e8ca9f9f4cfb9e01a7243d466d4d03cdb4408aa2370426d871c613de9956c48b0bcce23bb6f1e19567206380b3ad8613265222356f8688d5d12318608e42105483185cc39896c962a72ec75e321624031cb3977ec56ed584081867c7c02f45fed35aa949c939e76c1183c276916b7b65c292b40038f49e79e1cb564d5d6f58c29519efdbdabc29b6c017aca55311199deda80017e70e88d211c06564b8facabe20649b3de0174ff3472f5a58093eaad6d4d52f1d6d6771ae4407188e8c562cd51714973eea9f0e7657212782c675909e498ddf811a3880cabc6ed9e12b33ced489d0a012a57b875f77221f42587d6890d9dd6f0792dd7b482ae4c16f7aaf09d421675a3ae8075fe9e721270229336a1b7c04234d3fc05fe68103b7d3d805789dc48d1b830469ded747294a2fbdebfa632a04fd4b570dfef02f0899279cfe0ba464dcf375950b1969242563c1cec2928c106d6548d9bbf4c52fd4ecbf7a3db99e6925d3fa261c34697724c4a61100eadb464d891a12446aa8bf64038360294b85ae5f552009eebf4ca05df9e41cb601dffafde4487a19b8534c0bee081124e6295b08bae3ae6d95ecc15539b19d3a6b0429f077b5dc6e1552b3c49b8f8a88d8664dcc9b9f62da37c2f24db2f521e82a88f0bfeafd3568534108245979c03203ca3477d1e39e5c4ea6a247ff499f5e9385446c3cdd1b9cbfb75d8c3a437ee71e94bb6659e786cfff9da13edc0c14884dd750d3d94e174324cc5ffa41561e3fed0d3cb64674ec08e8c907215e23d299e15b0f3ef607ff9a7d039a70a9dbfe0acdcda0f204f1eeac430f10a54298daf2003b7352a0763fafbb536ad2e31920314c94e7948155db91663907225be3d2e9b1c78ef9d8719b4cb0cb540a365374846c66b38890f58cbacc1ca331fe649bd9c043e311e21e7443cd467d1565e9c5a54b29bc3c76701e4eed0d872d568fbcd6fad01e8b1eb93268aae23aeda3b3a948ea291d1544d8751023a627223c1fe17fae1cd476e3207371f8f39dd7fbf3b0f1a147cb63738bc3b0ab76972c1ec075a7b26ae2ffc04c7db239f767d92acba241b3f1f899c2ecceb17cb8b715a0ada0607e5b5669cef974469a7bf4aa05443212f659e45e43fbc4d70066c2cb283c830e400f83d5628de8d81d3785313adc47f1c88eefc758f57abf3094f72199b9602f85b132ada4d29b7a191570d515037e3d703d2613ee5cc82d5c516728a6fbc4a72944914fa65044162b633c9e9c88aaf93ff9524cbebd5555a9406347ef3cbd4ad1902cf7faa1c54d1f29c4ffb3fb2859248c5454d91c02483d1bc2afb24a35c2043ec3c0427e85441f28f9228c7bdf55b286ec9d1d9659a6e8aae3cc0e383d932fe901150955fdc47e9303b98f4dc2befd4ee68bbf26e8eb217092c99bd8e02cf98f816b856f1a555d4dc408237c13910a6d2b1dcb4097670332172783de30eaeb4729d67511bbd96f087df94539b8b1a1c6f02c40161747ed4505b0ea3dc7b9a6de934568d6c21eebcca7bc02341dfd056c9988a37ec140d08fb72c3c7177a7be30074c1801125585b533a4f90ce91ab5e3f308a4b6df74cb9e8726c083eb8cd104ec2bb6fabf42d229a5608784e925033e93ef8318e63a9795a72722cc0ba736543dfd8421be16765e56c23a1cdc3d5dcc9f4086ab5f2ee558a726f87af5ff3a2830ed54e142b9cf982861292f4c687792dbe36f059d21fbe3b721fa0cd610772891c5fb57ec1df8713e037eb850354359ea1093e38970bfb5a72bc57fe38a1ff9d33eeb20311a242bc41d6afc52cc0234fc496983e992ce00372b046e9b25791a00501e1adb2f0b5053bb7cb8b36e122418571d9cfe19342a172edd1e7401f0d42861ac0757e52781ab5da874e274fa0788b4bb0255c9b1b00723e49e4a4dd5add7bd7ffde2f74737d1da80ae28fc8b353ed7b79f974662001053b4d6f23f1b56a2953cac36af60be6a1ba46b08c8b157f9b32a5e018c980261d6ccfbb4717a611cec5d18abed865131a362d351593ecdf0245220f222c73d41661d503f44b3e1f3ef21dcfdc6aa0a47bdbd7e998808b2b5693a1c2e4aa6b4d72f6872a9731af2aaad9463767f29ed5b8b5fd60b64abb0db8399c7570c51f48198a8e0a000c69936eb1d297d58f664cd16deda69061b4d2ecf55a59f9ab7d1e725f09646830e2c1356a31354beb990244d2526c579396656b4a9b175a9c7cfa724c29cd271d90875bd14bb7e3f89b9d0e4ed737a43283388820a7172030440172cd673f84177edd5f588cf5d6559d578fab9f3522816ed56ae0ed6aa7fc54fd686b0efd8b6d483aef93e4cc463a78cd5134e68fefa45ae2e38dc0bc511b7d3d4dee037f1d9401cff3a18453f6bd49a86989a733210303d3e0ae0266d0b98ea17263c8ad395ed8e13aed827e32d0ada998ca4139411ee2c5f8f48a7f628ad7a36ed8d971d7ca743dc2a7d6a30628f7f07f22f4917252613d4a13b576f824091653186ddcbe998d311aff5986597b6ae16e3a777aa402744ae73476563a976af2729b9ee46752297f9766bfb114edf7ad01a87675091c57b5993b29ea004acace63b847d998e8c39b093fc67b67449bd5a6e027b4335235df842d61f2c1a54cff7273d1476ee6c1f72f39cc7dbbd6cf1375a5ef7c7d47c7b7c15af4ab65ce0f6945d050f7cecc96f4a0a5edce25f12fa19dbfe680d8206fd6633dfd135ce0e57f1e3e85701baf43b4500967142400a91bb110465b4358cd85b1a56d2e28c5b77444b2681ad17b1488cf2821acece483635cc127f644eb774edbda4dbfce924f394762b94ecc184a7ca6bd78604577c11d146305219f851ada0eeb82a5be41b29572dbb8c3f0c5a79af6d6c25966d1be40d6e97bfa057ecf771de845183a74540b72de97dda9826848f1928fd9f8e6bd39d3ae17ab328f9afe9a3aa75c33c5e17b72e5211f15d48435ff98f5e7d91a6ba38845883e654ec18413ff5f836c50314b722daa2ebfefdb3489da931c12908bc95188ce58b052b1d6de67facec3f2513f725c188389ee612bc3820720dba0ec5cd16d1b801c7bdd2b2c166d0843583f2b0cba9b3ee76c8c6593928bef2f55b1f172f0d3295319b3d2b876258d522df631155fae194318b53e46a39fbc5593aae6c5a8fa6417d50a0c27387039d70d937e549e9d9c5ed62576df48fe77e4ee929cd1f378391f420e27d27f58f228d654ab6964606f1022c91c1136d9d6448b68057ce891adccbb48d6b2998d3eea11b93272046529f62042340abf950ebf0a97b3af324c5ecaaf0cc14f264a8b2e259e581d7952ddf424d5cf0180deaf825a73c647777a8fba727005bfd972924f62d9f872a92b669d341327514eaa5d1891d03c87c988f69cb4861b05896e2031fe34c8555073b1446a54ec1b4c2738657d42e37f507d4c207879ebb92f78b042138265309f87889bac9099ccaf220436b5e785a59912a867ec74e89bb8c38094f7942323f11c95a2b3cad366e90cb61c5a3c76751078aa4d5be4094bfc52fdedb8673d721ffa1034264ef2d13d2336fe51f2f4480b45f43a3efac665ed23c02d09ed8972c6a607bb2ba252ea8a030f3632598cf84df99345b283ab3371efcad20ceea97250950cc33121be566893941e50ee733e71c3094680ab77bf0db15106fb225862fcbd3401face8ba339f29bd5707f7b48cfee70812fb13ff0e76b4bb59de3f5729da44f3a2aa30394c91d0d9c1bd8e1fae2502d1be3e70e8e2ddd3ed9bf136572cf0cadc1b3023029a2ccff3a0b3ef96e0edf2227ea1af621cc72bfcec430dd729363c28ef69ed490c635be14ad32bb43f5abaeabc8054a55f97d46537d4a5936060cf9cddbb92fbddc7bfb984d5eb454d5effbe35cc21840077ecf7c6f22aa501fd0f0219f7db2a71d9856470951c11cc21e3a83d04f38e973bfeb5e0f463c18bc882db457bba1dbb2ad480a21f7c67cb40e4523a1a35cb2e9f6a21eadaa774d7a13c3c005bc6562935fa3c1e0b56464d52ede590e6ccfb09c3c17b5f56eec72709c341cf9d774411630a5a0f5094dc913c2695919d8b4ebb19baf872fd6a32d1551e387196e6fa12e6817fbae60b1c8d046ec4fb9d1a7415e12b9608c71b472f5cc0f3fc7b1b7ef5cdd4cb510e22944fbe36081c686851415c968064990fa72b4a35f2e8a221692dd4a3821727ce76c843df284a651825c765d8e51cbe6ff04e86e15b534d9d947171741d25c99fa4403d3a51f17b297e94270ddf09f10602f112f95b1b29449a0f1ab50d2bc754340530e86a37c53c13e36d5b0074ea22e08a025ff20310842daaf0c36dec706b8a31225ec9384983e204f28e2c6a32e5372749535edfff4bebd0541031a4ef64a367aab05590919b14ddd0dc5f000493e72c332dd8be92cd3996e6539c42217a88516d87eef99fe9bc9221b265cc6c3cd72188cf0c097581b114cbfce5ca27d6ca5cacea0f2958d2580f32ad5b49fd4a372f9bde7549dabe9546dfe48b5dbd3702955ae447ecb041a20974d9b89158e8c7269f8daa81a33e87c2efebbe40eaa7a954de17ed406c8c44a07ee89c2cd2bfd72ec6cc0865cd432f6d10aa0080a069708a1b86bbcac775f3e6c6f31d929a5d872a6b402488df37fe57d7d577cff207f36e8b0a2ca3287b30ef69b0bb5ee029f72a6efb0b19214e4ea5e3d46becd31f364ba1a0ba81755735cc1e89fccefa27f7261c006987fe62a3d1fd76e77646435aab8d3a096e24cde8041d7ca8c3b40f940e77078660d728c0a8e18f59b64184461fc908de78a050583bd837c813f80087215633b1102d7c6370a6e03fe3440088015007f466cbd958ef32db294ed8e54695d6f9859de0b08b5d5b3e9af67b118d6507504330e44f6ddbca88d02a99f987292a947382c7689beb9516db719dfa1a3dbdbd1ea15774d19fb6b247dab5304727802e0e62a4a1093511e495f892b332657cd68758f9e935967537979571a5a71fc8664fff3ee2dd0c7a20c145361d7a9139339338c5cfc0cb475480451c05f72c31cc39e6197bb1cb163ebe1f4b07f8602500e93111c2fe648976a6737050d7254bac2861e4b2483867615cb58d64fb7d76901eb9197948a73a906c794f0dc723426a223b18b1ccdea07cab77b3b8b77c5368be05824ad216d333714ba6550722d575574368564875c18f016057a304f8ab7cca3acb49088b578de4aa876aa2d24102cfcbe6c57c2b70c5f5459fc9bc9fa79c7f53539be381e56340486d5ad72d4daa824357d385e63bcc38ab0c5adfe1ccbaf0aa2bc6aed13b4238d723cfb72925713a4cfa4033e73cd039c859d7e72a095cbb164db1ae1eb6354c8c7440a1a396248cdce10c7cdcae9820d04a59120cc3dd9cc737b7cbd0e75e0cea86f4c72a1e6b43e0d261e344e07c692cd1bc12d6b4961d257ad72ef5f8e07a01dedb0729584e0683d820f8d6372ed33efdfe22fc02e7ca0292c932393bc82c519831e0ac85608871fd33cc98a8880a81609ae6453f4661efdf856c23067090534916572a691cdfb3ecc4dd313ee0825b1d7672678d3d8897138c19ee4d1b46f9922f2486745972fb93f193810d4b19a140016ea33bfcdd4eac6e9b57992fdb4a4842e62c47422c890401e545d6130bb982d76b0879db87b94ab090523bc590d258166722551773c70be1c78fe21351f149ccb7df783ca43def123263c6f64177992cb6a3dbe03c49d1b866c2780ab36ad33adf6c7138c07194ad3129d48d38f827d7e72d1e9cd1db8fcd1d946940b78633d67969b8bbc6d132cb33c89158df5716f3b238fd04acf6aa8a8d44748d73fd1848873afbe450ddc4258e6a76c391e7c28bf40489f65b596224e9a19c0e53e1e1c2125f0fe8bad8b593fcd132fbdd4029a7e3515b5cd04819128431c18ff4fb3d2dced7972ec203d21067af242e075cb176172ce32d3fadba7b6e4303ba2d6162320b540d2a026ac88bf89de0b478a1af48d72f23f0b55ca7617134fb6813f83d39689eb4c3f4a1660723b1ebdb7e4858165727710091af73ca4ce10824303f4a3048183fab2143109289fda0ef5964aa3c93a4933fd944365baeab832feff04ebe68aaa55ac7da1be7023fb7a4b3522b8cc262a9203beb90bcf296cc738ded751e80c72435bf45b3ed09212ebd60bb14f2a720a3723195d5304eacffa3f4f31d02040f2d7f182a54ed90f9cba8526734bd8726e398330bc766dc0c01d7a0032cf4cd5233b430f9f7408d5895a48daef204324c8a9e89596f940dca7ae65f56b1ba819497adc8ebd9098c93fcf6e2b4c3ab1494a7db7121b982fbbf5f474b978b2457b686ff7ccd1bfd26a060046d384ba0b72c1e02bf5599c259abd2388fc97f47de10865ec6b4f51b7e98a8b059814218e72aa22070411a7ac243872366832d5954bc9dd115c43eb2b428c0f682487faad7284fe91660313858f47e0ab24671bc9778f2b01a61addcb0f08818dfa021253728a19658e84664be2394e6fabf33ad8b57da395af79f5647b7afa2b6609613672c00e6a90d04ad8045800efcbde30fd3c8945fd288fea3b3b643e731f5abe49724c3b9a32c43898785faf2c0c69bce97971cb379ed4907b164e49d998c7e2f972f67d2bee7ca5c40c5fe0751994b6d92fcf01355ffd74462995ac0351fe17842a02d473e622a23c0d422dfb9fe16893e22ad2c08d1539239c77e75d75229424256f1d1b5c38c283eceeaed5b4024b049d269bbe23b9bb79bf029fed61026a0172281a0f493f56b4b02d0d66490dcd5af2fc6212ae7629b339e7efcbeec76b53725496910389f57ea904b7dfddaf0d91ea0cad425c45e0ac8cecb253397aec193ab8b36d4c535bb809e1354899e3dff8d692d914c0bfcf1fc2fbcd12948ed96d1f48858c284fc9413672ca950d36afc8d83e644377eb49e5629cf2da2dba1e293445645e0f44fc72aceedbe7023f740c93b9c7135c1fbbadf10695c79d9ec35372f6db53e9084590b5e6a77985c285f8c4f653128532d04bd56e34c0183864b872b087380890c3e66d136e62cf5275726ba807325b12783fd322f759adceca9c20af389275934aecfa657e4fb4f0150e643df03fe3f39b761cfc55731ee94755721dbd50aa8c1c795b3e9177bfa1fa5a25a3b21ee160a357dd87693f020e0bd772432442d4f12e7efcccadba4f979ac57571cf07c210feba049c2403f389959f72aaa00ef496927962d3a429c8dd6d96a58841a14c40f791a3d1e1c8c329f0c6200753e17f9df5fad347a9855acfffca6e5777fe6c648db7f50dff7b187de7f70c4802bd3b03c6c947c661e39396689a39a3dc17207b5b30bdbbca6c1a95d0876f3be5e38aa61c140b58a832ff405ca0e93d8872469ecf3ce0569dd9bc9de3c857cdab155aa9a874860f0c412b581762948ed81b367c7310b492fe9a15853ecb701b8cae81faad68846574e4abccbbf490f6fac5e51c87db3425e6d734fb2a5972c804e532e3439065848b41daccbeaf263af63cc9ee7ffbdc3402a55c7640e9725e89fb293aad4d202ff87ca1d13a20d563adfef17a6c969ca8e55f45bb99e215f65995e5eeeb8125c7ae3db47c22079e710e94f9dcf3b6cd59cdeda4b4b8977200a374b075ac22919b89b635b30dae935e487999313427364ef9f78c7e62e35450800ff7ee549e8f09536fc7eb863f7c3c12b83679c66cb6bdf2928892943166066e404e87042cb98f235a6581fb1ef1f703eee0c7499f6abe69067c17af651ec201927a66bad40906773e5e6e107945066074f3415215ec19be66d31d8f3e728fdc53fe870a8d54a353808a8eee10ca023e48a5c4c73115ed25dd8ec411d172f0ceb8735f944edc365a5c6831f0e6393a31727b429e0e5467d7d28802653872ebc7f80dbbf1d25755e9422b8b0cd2456400cc6cc7936021074252978a38e25af12a09be12171c7fc9f57a026823f21139836708058da256db7f053e1e02ba721250582969c9e287ce205fe162356e430bc795ee8d5f4378dd361e85bbf3ed7240f3319d86ca46b7e589c212d129fb80bc0a8919c500afde55d1f1f4be08b0728aefb1fd75b0b676713ca02426c3aeb2c97690fc97d0b81674ea4b30ddf714729216510e8d409d5c00cb068fc146e92936c94a2b38b5f5726ff2ef6256be693e0677dc2b4232147554d0933a3f7fd2d5297659b70be6eabc4af014c38a50260975570ce42f3d4175b29b172320cf1adf21e4eddbb2b9c5d575b8da20247bfd720f1ecf11bc3f05cfd1b603a95d3e5207bb3374a8896f2d32718e5d4e3f3a8356ccafb03700d180d7bee46b9a7ff3574d59821ef5948d1209961881c8f42f1472b16003b4ae3e0a1ac4bff24408efac26ee66da296ebd6cdbf36eb6001c781a720307ef5f715c0c3f20e00dc84983159b1b2f75c0ed337edc9945bf5aec16a072b20b09d04d432199ec65e9c748e96830e7c23e0064bdff5101fd3e68875e08726d0bfaee207fac483891c5efa9f02193531bc039d08902ba8d111ef7893c1344a9f0aa6c955493cd8b3bb2df32b94baee1d0472ae06fe0cdcf73cac9b8653d72271f8deffc75a9b42a4cab469a99736f3b28bd736c8188b23f06a26de562147256e671336542fdaf5a9fb30f3cdbeca9534895e0a3ca75fd0307703fb91cfa72014208230fc6cc6f1852caeaeced2848e7547c0efaa8343f950552a51ddf3b7217371f06196a0e80b9a8ec6bc3fbe273c8034dd3629bdb0853605e81a1b2d20d636527d16771a26545b9ba2be8c3b837ef35b5c0b4d6039a8cf949c4c9188e10657844f11c6a4fbf82364eacd406acadb2e589484c27588f01fd824b019c91361644861f7032e98e9b1c8ed11c496c482752cff98599c06c234e70083eeab1728794d82b36b16102bcccad7a4eac0ca17abaaca4e537bbfcf92b51800f5db27238e32f86d4a110797a2cf252a3df4edf5b5b0d887b23ae8b9dcef67c717fb172345b31c637232b0e578255d2f224b5fa155b9d96b30d48cf69b0878151363943558ae701486ef5c57188f396698c7f5ecf106235aaa94a2c85b4e594d819bc0ce2c7807ff6530623ba82b4eb98b703d03c6281b89589eb248b35ae81852f9859315d08d3f0b84a335a79d7bf7c2234f017ba4f0767b858e5d14829981de25e72f95f9e106667f3dfd16a92bed8ea91acd5870b124dad0582b73f61cad42d47356ca44ef1cfd5b4d912257783748aa77cea2c2df628c85889561a47d0ca210817fe96f61fee33eb2ee31bf945405ce7d6d41a8c92572e23b4b169534900f62f727310f628b1fc056187352c154449fd699eaac003d64219f74e04a8042243934640b263e5d49590fe4dc272a75d8efb2a0619c2ddf94ebb57fb34ebfe6258dd44a8f24139700d5c9a79ff94754aeefa638cbcb854b586f9654c4f038225136672282a19fb364009be61a08ee7960525412d390b164ceb9e01a6579c705f7e9e44632503c1d786cf5bb9d630143cc3fb041d1dbb210a319a2fabe61e0f932a821c6c89fea1881e9613de0f51d5b8091a3682220bb0ad04aa8ab6c22a8fbdf8d072600e56791d10b6907bff0e5c4518ce650c0e0899ae3ceb28a7daa1f09c589a72ee2bdcf10b270ea329a3d47a44fd3cbe33cf868847631761276a68f896363d2a3791f2f2f62afb3088c9f53f7b61e307fa0702147f60d8c3c9034999c48f906510a255ca86febafdfdd4f8337e2bf107869585102bd4673aa344e57084a69672207e169133c37f00ea0219cb0b9723265e7b040812905e992e16db04f5494272d4d30801db6d5cd78092090b9608af9a1233332239553c975b427a4b73823d72fb6fe5ea4f3a14bbfaafc91604527de4b9ab1742491b7d252a11db4e6c5f0131f2abed1224fc9cb2b7b1f5c01eb01d347b09e8dbdaa4224a08f4ab575507b95b19d7f463af913fe4c5e947dc7515b95a512bd8bfcbcd03d7eeeefe5b13b2a523c2180e24792b2e02ca43b1a0db19cba91430fe6490b8c51d10898406234023715441c26fc7d9cc4838421f12e297b7c7db4b18f85c568c279c6f50c98dd8237219e174774098bab036bc32656c409fb350d94af9bbe99d41ba40194a3240a710fb7da13f26bb9af0e01fe8e935285f3d70aee09efdfd77ead4375f2818b6950aa0a5c917bc82438af463973cd55ebe93ac772ed12551a71648d0eb6d6bab822e89a4e1981dc2b15626b66f60e10786d4bf29de84210007a2b6d38041569a6d720e5fb1c7e2d396a40af3b5eb0ad22d6cc1a356e03d2f34c9b7b20a3d972c38723e043e1c6c6495bba7752679076d50fe05df1c5b41d0cf05e343096689719072dff36410f98b4e1ffe4a432c8ed337343fde8f42157bc02de342e972310b6f72fa21d685652603c005bef4e5b5f8d009221efd27ed091f5212d227de4096523c25d4db5bc11801585ccddd46314d0ee96e257953dc20e72baf1225340ee01416a65d1c4fb55619a1100bc71471a711779066823bfff1d6264ad6c0533c7bbc72711785d2b80ad13b12546765618e7b19f7e1f113c2c8c28b667b3c5abdd28f30fd0233379cfcf27895e3407613da9d76c88f41c0c3f3649e51a57a9e734f957213d8efab22b25ed35a77ba955d553621f5e3a105eded958cf8efee74d8a7c4470bd682a41b2197fc2011f27b95996026f2c90e965dd4309bd435fb1cd19ad6670ee426fcf47ae624aaab5d89bf32514a65497491b37df8250e78a04490fb4272aa0544768729ec34a2084bb5fc709d9dd12f8e7b9bed3ca87c3ed31ce9d9f072b99f9a70f44d2c7bde0bb2f95e6d04afe9c19c11846db42ef46076882cdbff459e9b8369d7bbb93d50d6e1659d231af72b7a1650c6357a08a20b6c2403fc45472b74ae44422006a8536c89c08dfd2a4aab14a1c73f264b8f5af7531ac06da3722cb173637dd57a01bbbd69507d0327227c29f71a56fd5c099991df995b029072c8c5aeb9b1a302333f74dde31b3b45d0fe5c838e47029022cd7653c20fbf6972b6c2ddbd55214648cbe42ef75c38558488626df619715de470a9f44a53c05950e8dea15e431e62881a83e2ab1c1dd711fdd2c90fb7cf31bfb767eb3374cc7840c4ac015810f6260c5544b0de77db3ae79a0821091d50b19e431fe83f6cdd812e28741b9f9cc065a226ae86245c2512e03f2eefcbb161a44d12624732923d5b72574265c97a56a8b9a62028768bcdf8a96b1d299841a19042dff785a0713af639fb9e0f54234d75e416a2144d73c2a7aed4b77791f8f353412dd4ba9071e6b823f2cd670ef479c7db73f5197bef5bab062b149054042464276ab6a07267e967725c6459c89f8b093d6dc0d7dfd76ac6554f6f0092931f36284f0eec38d14de30d0a97262b653c12f5ac62b32576d871f858d39656490eabed0553580d17ecc2727352a1ced499ca6d56d6897fbcb2a6e755c5b7bc80c75a0dc74f573306daff724629acfe8f4ec8456cb57dec1bd88e39c2364f78dbf3baae4ae3c2c3a9490f72b38f7a7db8d6fe3e7bd1fee63e10ecbd5e130d66736691bb5dc9797a9ed5e572ecf10deb245f144a397ade806f522b7b1654b284635a8aef822e7da6a54c847213be7b8ef22ac3f5f471744fa3cbc232a674ca57e68295fb3d2deff39d69e053f2fbd51a7e1ff77bcf7281c78db367a509e3d24e7704a4d17fdd4facc8f3cb5e11ea485ac90cd221776b4ec2f583dad3dfd769a457ae8d7761321aa3088e5472616309b9545715058748f47d07e3718b6e4f0d22108243e249f3255078d0877283198f6e9cf7fb88f86b6341de9e89c947c4dda2daf8be5e58be981a0a030b7209aca5a6ccc967cddb62dee2fdacf69e50ffdda5e76edf1025a39c71e59789720cb1eef25806b03027baea4f1d9309890005c4f4351a5f48949abdd184e93072593d65db7a3e4f3fa4f19ff861db19848eabc79679f2c0c7a5d4747042204272677cffd4cf0e0d126c1c6a910b4c6f6f5ee272c492432f6e6d7ffcb38e6d291733c2d86952c4ef0c231a1875f4463b3e89d3e41bde305b439cb746d385bd76721726b971a84c06d26e3c795cd72c88c556efc99a77c65a1d427173d79668b75b7bf52bf4c78da50ab2c6d930bd87720deaa6b55883cfc100c8c4d9ed9c1c5572baa84ea860653587ca85425ad7e96cb0262ddcf3b5d0b85b4306992f462df15ecf8c6ef5f794203fe9b3149908df22f697ff522ba8e46f0c4eddabfac2502572193961fccad91483f8958020a2941e2c12cc111f924d73eb64560e3384e4a5720134f51ffa4b738eeab0832fa65e2e251a30013d50658b1e62d86ea34917677266c2efa4789b845a27ed3677008c7577994b5dfc28c396f0e454eec0150c6772de1cd762191cab78cef444c146c3a837330c864101d3b08a759586767f4a84303c71cf0b7ba4b35bbac358a1171445a45f307afa72196019f3bfa8db0e67e0722784ad7394b01949761d250d9557ec47a10be14399b4cf5ee17781fafdb4907225d6bbefd01936100077aa96b5307148ed9796088a45c2707c195ac000d77b63ea7e63866100d211566e0ab573b5b71ee2994bd5aa1fb1e83eee602bbca0ae7204b42a66e6924f5a74c0414d7868b9550a952cfcfd4ba1a4ad53d2a1d25b3d3bfe75bef1d8e323ad4d2706c0ec0dc393bd2d406fd6f2841ab04524594e2db35f08a943e4bf96e41ebe6e9547db5a91dcad5bbaade63dc7eb4c00da3a912b3e2294d8647eeeada69245a1776644d3fb1bc0ef2f617ab26ab88dead8fe32a50322265f758681076329514009d509d0312767fe28ed585f1769807474dbecae1d6e9af58f6d90b05d46207706782a10ead8f8e5893e26fe00ffee0ad35b53d439720c84f5d7f67a16838d6106b3dbd4adb1ea2f8b8f51921561b951f42a5926f072a86d1e1c2ebe9d2d518babf9f8a89280187689714d65ac47767806ee106bf2727ecac417bfd69afac21a29322e7c95f40092928fc775f7b16f275fd6b8e96b086ad9844955068fb5250ca6445e29182fbb49442a1072f4603d00a472d5415172d981dd246c1e57fffce43cdda1ad4c36add619900fd0d7464287b026db09784e4d15b16525c5e1cf9f6efadb9a7441e64cbb66addeced9327d35744b7e3d9f316a564609d19a1f890933da85401dc85c3131c9322e144b156ec16a37759e1972bd249f520179059768fa641360e58d702882f98091a6181ca0319022ef16e872f93238639b2bb4045514533e151c6773358a893ee063834cfd45a2610331847240bcb2c55e87afc8a70f7faf42097512d42b4ea42e17616c35a465acbe0cfc6e9cdef672df4c8dc0b7d1780f491100a3d8c3d8ed91c9f5173fa84d20cbdfe97291bf51af9d9fc7af523c97ade1dd113a74eecf931f34fa0e95da6aba7300f7724c360fb8f2e99e62eac436f951306a9de82df8874a498ab7702ba11e4a920c5cfed5282e85c6e04d4483bf4dd7daec3f5e4e252d0e2b1cc0c7d86406180c5f2cc9a59ace179718125d42a2bcd76eb351fdb6a54b9d9dbe2468dac293658f23724bc675b34835fbc3be5b67ae4792f8055ceeef3270d0f6e25ff1efce455a947233d4c8d4ddf8cd6d141b194ba036e1c55fa1bf5d6fdcb51ce4b88bfbdab81f72b386b51348d36e7dc389023d34325b3745606740edd43d613ac9c70f25c7b672921387799471b92edc193a1be3b5ed02be84d7d1a6a41a3e966590ff744e4c7248e371494d7a8d93c40c6ce708b5b6d37e24630b9978ff75ab0be5deb4546e6c0e6b7735c86529df9b3b4ea9bd7f9f54e9462b17a2060996e02a045dcd3e38723c5489333a9cf26f88d3ae40a6ab36e9f2fb818edcd7947ceb7cdf74c23d79722c28fb7e196ecf7e2d06852fa2bbc61b990dffd9c3d4aeecd2b66e1c4474e972575a26859f95b035bb8165c1b5bcde6214fd2d4bf5aa5f7441a5383b51cc7808d6bed4d399a71d772bbe195397139a1fbef28d73f31c203be37a8c7b3bf5a9725da914972e427f2c56209e417432d68eb9a7a2ab31f328689bf1d0f942a3ad72accafc6d43b5644f5b99c2eea28a15e63e362f3a30c0cc0d23a5fd66e82473226ae6b8e299ae64360220a16163666ea88523f0266f8399c557210b09f5a1363fde35e97ea640e2eeced50f0184c877beb136f0e889e0f334479f21d8894dbe5aadc6ef836c3b822b604bba3e3aa864752d3c1577256a6ac60ecda059f851ba17bdc68788768882af2dab733974e9cfd534e3aca949a46d9b52ee437c2f91d172506b0d22b8eef5f4feca1528dcb74f3f1c4c144d4d9e6bdd83668898c0f62e721922a5e4994c0c90cec61fd431c118e7b930df65b18741ef8157fb03ebe9c172c42c978939176031ea9da898cfb6b0ce9efb70991258d8d9b299a1ac7fa8c1720852dd8b5d4623cab066003534d7e93004ec652195283fdbd2dd92f4fe7bae72b19ad6fb330614f4b6694f1514981d78a5bc55891b3a62a6dd20c638548f8e72fe4e2f026a6e857ddcf0528989d0a035768f0fe321cce27d26b5e1200560d8720bc03e0a5c97064a4792b854f41102a435daf7fba144e7cbbdcfe8a306e961729ee73397e0c77f2f4ffa2ef8f0d01a42955b87ab75c9b76dec9e421182914f4047057e3f27c797483753653afcdfff6e3eb15a55dd4ac3881f8b94df45076672a203c294787e119a9b1ecc4ddfdb328a8e7ac9b729409411fa30f3e914d8a849e0cbe2083fed7d0373eed0589c5b04063af2e6567b8b7a226e709ab46de57b68312e7b4fede6f6566844e0d19fd4c4bc211d696a06070692f1aaa79d4a3c6c3c1bd20e6de37005323c4fd139c19d9c0f16c0e61b61bf3879d2a74016a8e72b72a010a55df4d902a7e3b8f8d7094915b9a87506e196d01ddb6e6750869857544856b5d226186e02b968cd0d3fe84bd4a99f6cf1102bee9b29ae9b31c247df89721a2f4cad49bc585b4848bc2ef286c28b1bdb5a0c1031b22a8b6be458b2848272b0882721fe4a48377238e715be59c3bc7136212e16fa584ea265a964460c93456ef6553d0da5a969b9687da5ef4e2fa3425880719e2878af7ce62e1cc082037225a73bab06936610b92b3e392b7a26c2e532c8862e0a802ab90077eb82ee442d013b4236277951b150621800e18d8abe184737558d50a0f7fadb8a12b8bc6372079354253af094577153df168adb9fefa46ee19231846861161a676704a9b5722fa294a9daecc2d42459d820d2449c24ecc7bff983754ce7db170b1637913f72d0886b2caa5b25f62674848d1d7b0ea84616a4845263641a3e3026b197491e72df253a13ee0b06a205c293848fb43fb1136123a435af918d6ffc00f37a3fb7720db3f9677304d86f593d84b25fab963b79ba16a4074a3f1c7d66920e1f3a227200774742bb9c4284665501546bd1c70935f6e30b54ef6c5b9f5b88c9539a5e72bf2af45d6e0030f052bb2ed0688ec66b93a9424c6880d81d78053637f8fdee7221c3184d0b1d503aced74a3060f3eaa05161960573fb76eca154f69bb81ab972d3b68e48bd40acfc67fd2365efd85fd1987f3e7d40a87f296f5bbed198c5c37222a529d82e48e45f1f84a846166495a950c158ff8a24be7ca842c3f05c51a972390a958a10e85b0f1f55d5c85e4f7bf5b926b92e02747a1cba1906e8a8649245c044b5c75587c8841658f99366f15b1c55daa1cbbc1d5bfaafe644a21c1e89266e7fba46a72d102b95dc25592a94d12949a9cbe8c21d2b3fa2dc72447019fe3170d0db8a8439168447a4cb9b8b142751473c87a43ca648742847d50225b0612464b09be795d1fd47dcb9bf36394adcf5fb068bc9ddae44490ed39947d2f7b072965946f3db7cecd8b3c18ee3af804fd6c599db2909d7fe8618dcddf30f463e724c07570eb53cd4a6466a6e3802fd4e106e9fd04f1f3e5c94f511f712c250f172b939f6504694a408845d1143088951483585dba713b37854b0b88d58f21fcf7264cf631273e47a965fd5610997f5d153a6ad483ea030f062d10a2352a84788728b56052a67835e10162835c88f962d616994fa732e839ee43aafbd577cda884e221a9c3d1ac290011429816521a4c57e8aff68a5d9ac2a3d573d7c5cdabd9a68ea5bc0af2c86a1a3a756a8a0e073eedff70bc50111b2c7d7f729c5c03fc0a772a613d835bf9b8e7242495d70fee12375aa3aa1c9291b42214777c285c85ef572b51a091f2faecd2eb0d25e941552fd5477e62a2743644979a9a510793047ca7250f06532e616546c999069fba9051e701e4e33cc28d586f92ff56fc457c3124fd76bfa7840c6a7e973daa9a776e8137888e49a0130abf0e11005f0f41ae9044a14110b7fb6f9fa74ccce5a8b058f06f49447c4efe3d87d056ba15b6c09284d722c10e546d1683a3261c847e7bbd189614ece31c31ebbc5905292c0188ee21d72e364778ae0dde930b355404edc3eee9fce0e7de9082e9eb56c846948cb948902b26685faa4bf164fddecf40e5654f1c2ad20be0ad706469afc059e6af14b617279eb76363711ed5722dd0b3d3f669e218bfa5291d663d54c3a314264ec7b6472f1e8a76dde98ea05b40175b4b2e559a0fc3bc33631d2155b38d3b32338371b72ef6a5b9a16df5b990379c71acd1468348587fd19a87075f76890f38798050172e94f93e24d000b7510f64dbb67572dfd6f327f9513435ad71ccbc5e3870b5c66627e83538c727a2bc3d43d5fbe2e0374a3d2f24cc4a5122ebe2c7aa47b3e9672fea48c473af9de0de77a3e80ad30a3fd258f7d68781e27d6ba17bf9a4917ca6c3ce2859dd3e1eec4552db0e52d10097fee089bba408af3f97a0a884891ca4831a50e5becaae60327dd98758b9e239b8481a0dd703d01bea1e8ac742f8f49d41ceb5f3ac150d300cb79b1bee29f74e75a0b4061beca3152a5c6b4ef1047e1943893e2036c09071b281bb7f79b9e63a858fa0a839a8d25e88939e959875881af259789bd74d0955edfe7b93b303cf90adc9a6d7abed27da134bece350695d6ef722958bd60f87b3e6f99a8e8e915fe6224d3e901e7ec2b2719f888dc12153fe86dc54d5fb3332800c4b18353934664213e3f05ed4b4edc127a54fdf0cec1dbd15e05131f2d852dd6127b551e60514a0a830f51a3f8fee6113fbe4066b21be73d72a7d25f5fbf1a9cc225ef467880cd5e45c89aa07f77beb4d36ad343417b6b1114f60d09afcc429cc9a28988e8054781111e69dff9e2c247d77671b6dc38624f01704941db5a224c6b58933aa60e7a4e6a309a016a10bc509e10ef63eedd4dd0728479f5156e5f643fb9f8a91cdc63d2d8ea74c17f72fff68e2ee97b996f14990712603663e0505ea5e2534462fb3368e4695350ac2be2fe2a36fe3373a20ab36cafca07a1044c3e05c6504f5d55f1ea3af3fdd8b48bae01c505b16a2a8c1f0758397001dd253982968314e756d294975c8089e5889a021a8f3b14a9218b54ac72c806bbbed4d7f7b76e9ad5f1263338a09eec0a12e88eb9c55f824f56a9b33d723db547d2d417784e2d81501c3aa5e330f08b2de67bb6185399fa835869053c72a057369b6d9e1f8b95f5a59e5f421b5680de75a607be681d87a216b1a11bda72b7dd624adb1740b3619903f1175dd35b92a521ccd752f408d09d5a47904d4a28733616772c33f8b0709a386f69441084dae6f362fd1083872fd1e73db5c4f06f359b74b2ca066ab53fb11821c8162920c54696202a84b300c4653bdb333e327265a8b9d679c91ac9afd63f36c1c45ffc05cc95656c313d17a2527e01f41ff1145eacfba48aad50ec40a87174fa3601ecb808c7ccff4be2c2254b89f8ba8f5972907b9d63483f585ad1135350190f6962205ea7f86a98fa184da18f1da7ce687297a07d3135dd47b67f7e448a20441ec06ab5d4f95367df99b01436e646637e258cf25ffa0ee5bafb4605a3b5b3048beb5632423a73d408402b06e774c89485726d67bc70024429da4d077e3c2129aaf6f1493057647153f79d01e7766715c872f7ead32805dc873e4afb80e8b8a4b2a36b26010e20a7f7f2dff0a09e872f2672071fad942120d11b9e3aa79b0a9d9c82bcff9d0625d6563502869457581bfa0c6ab2a57cf538205bc267bcd794d71838b8b89945897e99f0bc701325e59f0d725af3538f81ba89f4ace8a1870982f5ead21ef63de1826b2c71c2154bf943b772649c99be9dabfba15169d887c21e0cdcb65134049925ad846654632c8f7c42502a788e75c44570b742ab52305fa89ceee1aeefb96eb3b4e21cdb4d8ebe19aa728287cefb65eff5decc04ece17517baa47002604588f82362ad3d40bc74e95872cfbf45726b3971984ba5896045514727b2387c2ae5c5a10e95b1d89b4ab0fd726490254b9435e092f604326c421b5e8a74a6b70283167289003db5afe610740189b60bb97bae197860d9c705e970d82d5fa2eae8795b516b10bdd877aaaa34729124686480db070435c7f30a59e21600fbf5a3d2e11400445d7ac7e6683a91722048265aef68123c0bac58ba152b2c5a831b94bf83dc31990beb294b3b107572d72b7d914f9ae1ab79fdd37a8827327f29bed19e72961394ba6da71de02c0a72c4c3f91400eae30784232f02d7dfb3be3d7aed8c1488f248e68a8526b4b56c72c5bf39b92080e7d8763ffebbf2c8917624e0133711ede3f6ec95bb07ccfbd772db07ab55e99fb6460d2e0394ac48e85aeb673726315c405c85edcc6415c273701cf0df95f56f01f0fb94cc6d6f031ef80f25f689cbca9682c168068220bc2a72f66f1dfbdfe56dc5c209ac470b653d7df36ca345edfbee37171427c39e1e8f70e92ecfd495713a6734102f4ef32e631017f7cbc0cee6cfa94a79f8528a9655721ddfcba49ebe168853c9edefe6dbc261bdcba4401d5f96df0027d85dbac523729fb1123d87caab9a86323e607fa09b0649a72c5904acda6ab32e5ef9dd7f837258288f7d8e299e4d660f583441fe8b01cc382e4ee76d5e41676bbce28de1a972b6021a392f50112dc158f5937576373436bbb373252fc776f6634f30aef6663c09c6adc5d4ac5cec37ece521352514c5ebfb9c49ac0e62dc84c7d0eef8da4372fdc4d37d08de6c364f81eb7a3a67763262c9dedccfe91720eda6900b1dd42357ab2d8cf9ad227eb5f98bbbf45ac72bfe0cab54889baa2590525c4d6624e57972cd05c810b56ff4d3216b3578a3a1832756e9a24172116a7656785c2c1b8828728e63f97672a5966e5ccf03d4d3ce60409a5a696a1b7c3a2b6122b06ff2350f05a88f6c32b95b6a4c90e24e837fa443995cf432f60b3d1ea0e6cd4ad0a6482772db0a7e1bfbb5e7304b37be133f866e07bec92c1426126b77662b87f757700464097b8abe67d7054b47823090be137494f73684b8092a1c4305a1c38781f4a072421be301d8f61614e52d95d71fe26f12024970889dce488530941202702e73724d17585ae69d1c6644cf6f2838442633d8d4461968bee1fcd300bad29b36637246f652e367bce476bc07409915cf7757e9dce4ab66d8e73890276f39a7095320e6cc80556d616bb24578eb41f4a26f208c918799e834e2373df2594c3a935a72ade8a987a80744b687effd7332f5e890b60d917f5015e00235e72f33cfa16a726ca94886695cdb241403811a32ac914392c0e4be1e92e6c2c22905b96e39e00c2ac7b9232a68229446b4881aafb8c42a9001339fe8d91fd399e158a1b4cfca1d319bbc27bf55d8979e1ee7d0687091ba0db6e56068c728da2bc1a9e609a49e5b38e4d4100d11519f72840052c4b9270d8efe2505c790d168a3b00ad253d2cb7250c751958e512264e29fd1b0b23d4749c97fdb40b726065dad966e64b61aed72005ac527be1e68b420b2c0ca8efdfe1c46a98dcea43e21fae50c06676b522d724169020370ca34d5a109a46a43d23cbe8715d6a6aa0cdec8c9fbd59aa7c6bc7206f8f5fbf2a4ad4196f98c1629b0fb1eae559d11a8eb592b6c77be841e412572bd704975cc9d708e32b2f9f4e3e500026a639da9f9a286ae289edab1b7a39272779300f812fa2da616574ce84b1c51523848611f3d7dd296580361a19b35cd721adb51ecc1601c7cdb0419ec4fc2d2df646edb6463ad34712556320e76d979724eb50e8c97b537c28df046d5afd287f883588ec2fa5dbdb1098b8caa50b6df728e99ec6849df49225852c0310c591200140b4948b8443c86724f1f151c8adf72b17e0dd6baf2d34cb1d5860537a0debe0249d4796e7a7a4ecf67878aa3b45a4c13cfd73f508c9302f8d9873eab4ec6bcd4bc980e05114ffe583b31668c61684df2a1aa8f4b16c52d036c054a11ff1035bb7728c6179720de0da7ca1d05e07810cccb41297d298e02a55bfd0e02068aa112d65a7a21049ce6fcea7b967b2fb737c1b742f9be398a7a5936fb5e84577dd97976cec871f1cc235a68606356105172857a44987f4ffb5db45564feac42dd064cdeee7bc174ddd032ba481eb99b5146150db0e74fc3293b1e669a7139c021c179db177a392470ab9c1c21c0ffa9a527d699fb4039399808c604d3f40a194dddfc126dccc5c2bc1a6e6d9277207b3272451726f4ad6a91423ea01748c269607c6fb82b28c79d428966083e7dcda1ac53708fee1ebcbb4c08e5b9bebd553300d9079b2279ce534c8282e8414055b40d728f8c747e84f5c1ce48e7ec5e587736dc38adc530385cb16c5986e21b22c0626d97f20c88b3548787fe01ca28bc6bc1edd8ce60c13a2f3eeffc1164e05a407472d6cdbe83ab35fbe8afef78f9353266669135ed6fe3440e8c5a89077b3d7fe0726e4842305b657a90bae8a9fcbc10fabd278bcc4d1bf8d51315e3594cb6ab9a72e9873ec2a446008882b96275b4a2a5c1de44c222d697b161eff0ecdc747f1d723aab94831d1b5effaa252460081be338eaf90ed14875c59c451f33b40ebf0864786446e2bc76488181a775b6a4ce38002614c8bbea764c32b6c16d0dbac0183b0a2bca80a852f16317bde4c1853e3268da5b1bd0b8570dafeb69dd5bac8c3b7277046641404f04f2390b7516bbbd787517fe53e7399490caae068f67cd7ae06f7e36a10d658be5bc38d0f10c94320ced4fc6100daf315120b1dd4402ede96840b16837b2078117c49790e3599185ec505abd557be92bc53ea4afc3754c3cf912482d116d7c89cb78a4be51bb558f360f6de8855a4a4204a476f53b22ea7c9011ea33601b9fe287d6c686dd4883a0b183f0486fdf76db6aec7032272411140e720e6373eff64ad0a2a334639f51b86427670210625d3b23fa3c368ee05d4a8972201c8a332cd327192d3e2324347ce4569e216b1f5a269423f77abe3486d7b072701b98e2fa84be9567fe8069941a445d17b906ba054d34164ed3435bdf521c72f10c7d310837ed88610bfd576b8c0f3c6f8b9befdadfe0373addd2c6289def13cd8d5f7f7dd3cde1d81aef1e1e4f3cdc6629d42edd538aa35827b443ceeed97253b0d567c1bff393de41c474ad0ab1a19a34a9fee6968663c79c33cc510fb54f67f2348c165977c9733bfd97aca30063fd637f2cf0172b93d39104c8e50f3e72b877f8ae3d0551564aea5db2af33212b8d50040c81a94adad8ff717d8d2f0b72078da973d351f0c41afe826d289ce0d6d91359bc735f6fb71d1555686b8e0c7222309cf0e222b4da3777b1f9ab6de30320173878e7057cd07a2799a43522ab655bd099fb52dbb473ad9f661adeabaedae092eeac417aed4004890b3e938e670b76100e5f575e1675aca8a336e384327bc18d587f5e022d0b5976385104ae8b72c368e085ac8aedd45f2d9e04332d4b4ba29c42573c033cfb398b8b0036f045722a0e6c9bd4f3392a0f358cc813841ac54aaba58bda47485bc175ac5c8ac92a37db44c7e1cf14097ce6a77ef620906f9a11ef2696ca0693175a3b945a844fdd72dbb43edb69aa95d88e6295470fffe802f89c6c1a75164c34e781e50821057c50360bd3adec5b2e1baeec6dc9379e2708d6d60eb11a8a385d3ba144a4fd24b10efd1603673de68bd3bfc9a0a82c16099fd9435cb2746424c409fbbafe2a023572db5d00c8c02be8373470be6d687113041d71238f9d9ad02404a241aac1fe1417cedc78898db6ef7a3a831a6522ec62269a5b186741f98504f41eb9258ee38772cf1cbccaa88983312728ce149a61dedaecb814277201abb92b60dd97d3e483721a92da431bb687503dc11a53f7c1686cdd84dc78003fc780e50f0b6b749070192fdada54fb6320158d777457d1d84ec15e6b652cee573bac20730e4d000c271cec0b5803523678c1435a3d679b216177b2142a2b7b2166242f08fa0e6af46072410c38a0e557e1f3038d0f5bff96aeb303ce30673583217306698ef0b784ee705abf98d3fb55db6b474697b39ab7cdcad12d113e298b1016d89fdf583c5776726b47c20f5bc3983ff5d014e4b429d8563fdde26397a9cd16420318f615483c72cb87e373a31591b42e0f11d779fda86f238a522e3af6d05faf68983e8428c3725e883a198cf888ce10fa61109772f73e0494dc973c7a1f2d86aa65b2600e2d72d5236a9764dff24f2c2dd0da7623a263ed34a46cd4110f5c4c3df2dd000f4272eb6cfeff1bfcb5c3c2683d556cc416036bd502511365016448a4aef40a8c3c72db6e646e143b2ba516b4c6a4c209ee047fe22f70e44efada64f85a8efbc54e64cdf7f2a16a0e75a55a394ac8438360f4f66f9ece819398039f619ba03247ba720ce9891227fd4bff5448268cbe88517ef1a8e2faf83a72c2fe9808272c279a25fd632313e84fb0d30460ccfafbd7460ecd7daac6ab521cb5ba0a449d33297e2c1aca9ca0db9f9ff31d3145aee21ab433ed9b8232e903de218408f01bcdd48c72f6dccac12642aab219ddae27865f7dd5f737909c643b11ac47c992d4b0459a72dd49723926f20b24a99ed6cf48894ca6e6ee650244b453414aa161fa7b60cb72250b384e8b26b05451bc7c1e1aafeffebb3b0ed4ae4fb3d48cd6ab4e456cfe72b96366aee2280ddbc21932adf1dc77a2dec25c515efb18e500d7d25d241d7572127b7ed51623267c226b012ba50ca4856f2ed85b38087cf9c5111ae45435a77256a3eceedb8b1153410adb6bcd238e0fed671f0b3b0e44700cb68ad75c68092937311e7b5b2cdd57ab934b8d1cdc43cff23fbf40dcf831563b29d0992dab6f20208608d96cb8c2d88d5bff6fc6ae6220d569d7ee47793548b328ed0de17b5d72c72e846cfc09e577318c57e04759dbd07027979a1d3f659f47df16657aad8b387e17336ed67961bc383d56f2451eeb59cf4b28e0779798c44391d18df8f6c8068cc0268286586f1e2217c2f024597fcdfc28276bd36c9ac3ff9d71fdfad2c372dc6907aea5302283f15c9d448fad4314397cd8a758eabcf81cf03c851a194c72ffe0ee08e25d6ca943b2a921f894552330c49c932254e874a92523770dea5272f95a2fd285174b9ca5ebf8eadf42e56d348babec198077c3242e8cfa794f90031107730e3c33f5f6fd182bedbf8301c97ecc82e02789220c8fc0009bdb899072552de7b7c204474ec26eff1360f5cfe8f0104a6c4c50088feeb829a864ea07510ebb3825d1f239c191f462a4d011d9653a04ea628c6af3fc68542cf806ba4e106556e08ced01a2c3dd6f9cd5b8e55eeaca90b064e215c472b7bf29c53d18b37277ce89462d9e052572cfa2fa16c8e8455b171d330e11b323d50f8efe33bacc2e5b9092eea2c4ed14ab6e21060a9e15f99fa970b55dc4d205250793dc0d57a152be435ea03792e3d25dc0d314ad871c78720104382ff7834036d952931d0e8c35b6af9f2c4d39dfe4f8279b7f4bba2905496eb06a9a53f9090d0305fed53d3668858fc20be33a091405bbfa62e8d765b1b93dbadea25643ac002a724995081d72570afd941c6ed3b3b524cc685eda59e81b7dfc0a8ad98bc6a5ca2dcedb3f047243073e36e051f90c3eada6fcfe27133867cf75882b77408648d87127c2320b50b2e9c76220088543ceb9ad119d3f0502a4b5d20a22c2dfe9cbafb8bb44cd82728986c33745cae52d4369777abf8127077de3fa7e06982b4101838da09fd5ca72dd7ac0bef8321f95e7fc107e7a237931b844c0baefa1020de7cfb475209cc45c41fb00c6144fcb0dd232c22902031572a04f32f437fc2ef46ff58cf961e498727138547e55d5c998e5a5fdc9b0b79fb3b7a58038caa5bb8410cf526a9fd8d72bc8542aeb7b54c84283a1d2909bdfe986bb8f990a6da13a4fb70dff1c6f46eb72a0912be6b6e621a5bf4aa63ce82a5a724086a3ec5087c8820de2b2992f3ac34af5f75fa7c09a79050bd75288b757ecdf2b90d79d708e74da8c3d43a3d98be572ecfde558f73722e3c9dd569012e5806a73ba9f2c12ad47b54062e2338336f872974c4bdd9b1d6e18f50c16596ca75bdb0664de6ab595e0f7e45e8193e7c6c8066956202a53a15aadfb6f848281a3730367b10011c8727a5efb99b187155c7072e972aff2a8cada63e47775c400520a5e7e94b17a32824a0569cb4f0ebeb98b72df5bbcb7dcc305300c72e84076a7666ec88c1d826d86eff8ac7e05224209c219e8c6249336fb8b4827afde2554dc4007e435afb214487176f22e909519cc86726bcf39b09bd15903afffe15c9cbca7837ae9a2f1cbd01a42eea80a4dfebd343b2e98e7d4938fb9371f3a091e2f4987f88bb3c49034ea98b57f42b672ee63ae72c729e6e5ca2086523c723500d9da2049fdf01be3edd4c6f3245e4ea0be41586c57b8d45880c0ba9aeb332ab05a69de2b12feadb8c7ce6300cd1903bf4ed08147f6d8a964b8d8059623eb121dbbd67312d9186d0c3a29df47178d9c1791b2511f182a5dca9a2a762fd171e90bf11bf0d81984bed0e145ffd29e0e80badca7d31555721642df12975ce5ade6cfe57af66cc3dbdddd66369bee44883ca8a0368c72fec1061d39ce1f6897da1e5325ee4b8d7d3478610efc0b07410f23edb624896134820fe0cde6e836984b5207edb7e79fcf10b0f457898f075f40744cd07e623d745f77691357ceb6618d956b684327ff2e68f57e3f9d4ccd0b47ae5018df1a727f238014d7e1bddab03469d9d38a13e0c17e383fe5d66f22eddc4fba8fc50372848277dd153cd639b98461c1ad61057c8393a563a0eeb74bec348b4c6f9c376ac75b1301b3d85174caf61612ac824db626b471ea5fdc08a74a4d3e182df3db1d6dfc10424b3ba6456a359e14cb46fc067fcddfea6780eac53c044081be459e72ad6065aaa7f124b813cfbcb937d68b305223a29bc3dbb340f180fdc1c2de375412fd6e1a614b5c97b23bb4356fc64efdc2ba0d92e8054dd1e9975914f2a64072f034f7b8ca810ccd95c19ee0e92d481d74d571e898557e08aef5839113ffa2606d8983be62e4b38932c1fbf6a51f66bf77f1c33aa7254328a7d2709842012b0a1b2dc5a37ee5e0396b94e191786875e053c05cb0ffee508c99da22a67f1a037215377eabb61382b77cb35fc50158e73197c81f54dc1c9e92f246113a511b677203d05e6124cf4a75af916e8f05bf327cbec0cc7485b129a0cc197eeedf63d672fe1ab530b5aedda5adf6060166257d11b2417dcbb11294b97b410d75782a8e72b75f05aa2843e09f99d362e4609859709be930f80809840d79eda943371b2a409492c150f66b30d8464108276ccaa4550f07fbfeada462123b29f611c39eb0721d9a2c0ff7150303d069e973433a2303f2fe8222b2a8c5bb390433360834824e063c55977d5f4b299ccb91d9f26d2c76454fbf67df4f1f46c5861f1ff51e78726f856b6e51c95765c2927bb4e9361d8c085f78a60d6a820f1d067cc08c9d8072aac6c7f538ee553af209b9b30ebf1b9c8993dbcf7c8e8f7cf60e34ea6d583f72db914df429caf35942f539a90a1d600067011bd87fd2d8b8a254fabef814a372dd41c6bea06d6283a76358487a44a24ec6d25f84cd7eefad46c56c4e54ea5f6afb833014438d6087a2fe6b0b0e1cfeef8c000b821c0f97d1a34c0b4d09322959d1737efd8ffd612284f6a937168055ba21c087ae2086dae6c48db0c8bb2da0722a82ce83d0750845d80e0bc5b8e2b2b6804483492727c0e7bb81a91d532e630de1adf04f13be6efa0648e12cfc81d0f822dcd6eded73217360c7ecb5f3903951cf122050266c75a94c07dd84c1f129a18f9794664313c5994524c6d0f76313729622430701259ba0c3505d8fb3cf49878cb240a72fe6e2af9aebc17cfff7f614c0b73ae1fc4d4a3728369cc865f3e41bebe32a04bb70f1c4aa2711488518c0724c569c2c61660b3152e9bb0932bcb1a62d4cdfbd5dde501a7c35045c5a34547240786fd42ea1939d28564357f967b4bd058255989a47afeb23efc7a81e54757294b11954ba836c3f2330ea9c4861eb25f0540f09b97339efebc43e66206eb73c068714eee28c5712c3d6feb7298af6a6a8e3113ccd7d3d1c243d13e8ca5903720999aaf8f902fe3d0fdaebfcb1bc339fa723facc7ba98d3b6f06486b2e0e9f72ee988dc71388dc40628d1859d8e87a53c4632b67700bfd930cfae648165bd67286c052b0237c88d7cf0a6b5c068c0093f2e298c59381b9e65ac47cc77ca2fd72888bd1808159a0beed1c33c2de25415223a5785f122cebe8e3b570e7e8ed43050b4726ad0c972acc83b67259d5512fae095d0abec7519a7cfc4fc3d6444d59655c0e27cabeb01c51b5ce45ac8e6b582cfb18327c8fcc97438da20124e184ea32609e07838dcb6acd615eceb1744c70d27e476a07f0cbe3e70684f8fc4d03507210994c5674263a88503090c7c04c6039bfd2ae64653e6b61a5faee4c6b7e6672a5badc19ea528f3de1168a6fca9ff27bc2165cb69fb4ae0b457fab6ac8350e72a3b565d655bc36d7c977f2787b7775ee82dee00f1b6fbd21117dd3e1284d1d72958ff8f9fdd4289db33e68daccd6a3c19e05d7e72eacc8088d9624c258ed8c721a7a63f4c07c06a9978b6f5c6f1affb2c7ea2e9daf95e03ab11aa6e23c358c729e1b56d81c5f51071e6f4a2a985db4ddfdb9c47086080001a0b9c746614b03728d1f3bba85d80d4cc4d587c61789936af67fff915958129ef50e40496c216147bcf613f6d89e53bd67a813c6f0cb9921e2ff1975c81dd8d9c5f8c16890e87672ad23c1c62b94e9515cfca3b9792a6eefbbb23fa3ce82c7c2219781f9575c882f7857eadab79527f8a3e05be75e2096e01d959cec1886910b927726bc5018cf72d9916136c842744210918c40e3709d9ec63caa7a16a2a95024e47a01a5f6da727da0ae58b61117e5d4e6217c23e8c36f0ddbc497159a499a7453261955d5ce728f10501769e03566c829f84853e3a772334aa5224cb6162c17e55e7638e1530ee1a02bce54f02a17525c1bc743953d602b5753e3dfa4c4336f808d508a1bad727334af70c8c2e350ea3ae38dd08354fbc1c618fee0d30bcd7f83d131ee1b01724128bb5edf3d6fd275b3e1b0ac1f1c102eb70d1a4452de5539d7212611796801bdd661f0224f2e4dfd6d67c438b69291bc3ddd77f2799ece9ee7fda9ce10f5729d3c7e2c11fa74236b49a3b0235f08847fab727378dc6b28011c09c30eee5105c5f30d326b2545093388aca35ab2b64274ab7bce1a6478435283b35552d4f928ed97d83778256111a3266133cfc3400f123d395dd2db8911ce7083d0e74cd6729799780fb7906341914f6ac6c9be0e450154352b347f0cda9b7c7eacaa87b144d9baabecfe66dceaf7ef472d62b37156f1e5c9b80b58009fe8a4e5e3191dcb727f97bde114d1730ce4966356312721336b2e0329b71ba586cc664bccf73008729086fde3a6d4c7646929edd4f1dfd98393667e8f4d5a73e6266264ae6ce40f66bb538baeff450221c7597ab5a92527506300f4c95cbbc90306c31e383bbdce492dd96497fa3a35c1879e7d9ccbdd7793946a81e639d8b337f38f02386f4c0941a911009a896507624faad0b62cec31ea09d4a48167cdfb0c4c2dac40d6af270587d5c524415e0c246b824214f0a8b14c02d1b269a4a23ee26a9446b4f9f68445923ece9adb03c4112e63f77e27743d19ebcee27b74a96badeff256c700b0954558f1a694cf660aed82a8f2ac57873795e5abd528491e40274e9c3997bbee2b33549ba59a0a01ce587d67cb7b4797fb42cb2e65f396ed2db9a7b05cc3996129724c1b94e3e0e8c59f8a9757f4e9613f145a3de7b5575f83644bdb52ef71ae2772f9d28d19da9a071e46a1166fa81620b6ea91bb6dec11c77d22676b04ea4cab2787c9dd3aafe12c5f788c5d8d2f45eeebe819757b47ca44312b19c28510a07a63d8c83bd59eaa0176544e909ed7ffb593fa0a8b812075b85818e66b718eec803da7e7b085d3a2f1aa6b3fee86368f4530763fc8a0c2b4429f18621aaa5d655f39bf15c01a76155dd86da2f7427f2a2e6c2d17de4ba28ba7220e8dab4f97debc726213b446a261564f6d508c7d5567549f144758f745e7f8320df8f13e1a501872b18f98c7111e91b90bc5d1f3d4e85ef408796e3620765fda7c4f65b5a9774215f6505d6fd77823c19652c03862e4b08bea5e14027990c97e5c008dbcb73a7550d9bb37063ec901946b67a79d67591b63cdeee67497a9e6b4d0bed65b508599723eb483ef804594cca7239f8f56761309d7ae309fa7832edc419c183fa95f6e72f345694899f20b6b705c24bc7047291f73bb74a33c0b9f4c7158d2416faa4e7239a027980be7096c313d7b469d9dc152022f69bb1ba4a1b654b758c390552867a9b2ceaa1436176f9fd01a9dea4093d20c4bc3bedc617ed02116ad78d58ed6722fe65b8819ccc75e459e288edc25bfb6b94b24a3361cea3ee74e72bec2227972989964137243a9e97de890738fddaef6018f70b5a17808fb889cd33c26995572fc0a313084e0cf9ae5a5cc152bdb7cb547803dd3fae036c9ffa835afefe040720f2659f6cf65e558d53a48eb17c3381a26dba3a67ccb2382ffd3e2b4b6236f26bd2d9340ae509be7164629b8befc68e3026bda165eaea914c8b8644c54d33d7209ab264bcbb3d87939230c24356d4f4bba20ea23d0415f4506669ef0aad45b72652493459cd7ac25268d8604cbf7ef686ab427da44c1d1a02e8f839aab2c2448868a8a6d3a228c5cc590f2eb658f5cee9cce4ddf1519f6c182cd7780dad91d13d42fb9d9a1966be7f6812ff66ae29f1b3ec562a12d5390c2fbe2adb5d2ce2572944325b2a6b3ed481140cbf5ef21de91166890f0e522482685dbb2616562f96608583dbcf1793ecb92d32bb31f82c80afa999f680be6ff6d3903541091fd1372268100419de8b4d2635cc6332577d9479d9d7e9f952f49fa3101632ffb5aac729a44166a34b5f837b7bd54a34d0b04c323f161bb44f8515ae5ba20ce636ddd372d14f81813126994e0e1ebfc897a608f19e7e7536a392b2e63c367f0197b4006bb373d483635316dc3cc8fa025e7691e2fd655afeec25ebcd4ec12dfa57d7f729fa77c94f08a32fe36fb64552fe8ab0b63130d56780b4587338b09f395fd9f722008105449c07db59d096a7cc81eb995735e35749253893738a7d9351aa399486cb4732d7f5db23303d0b787b2ed2c94a24bba8ed4c42461e8ca3884033fbb723bb956a87b52d5c021c769fd8e0410b83b4cd5e2dca3748f4e4efdcf465e0c72918d32cc946d406d0d400c0b00b7d2f9b01eb728be14263d34c562ac1a2171724ae58450916d5a38901e195c8c7a7489ed9f2cb6fbb9424e98d12e729b98f3727e1893e80c0092ceef5bea80f1bfae155fba824a35d067d0c9391c736b06d71d518d77757a986edde511572f677ed84538536f352631d65442d2ce86ff64d66c955de35885017ee2266b34b624757ac3b2dbb51b5df4eddd67a437c573804c7232064cefed6654cdb87d28a5702ce3043d83c645a1b8c96624a29ae2a6a8007223449b8a8784910d2339eb6d0a53bdc2cf41a94548fd754a86508b9446ab8c729ab0d691c7cc5f8c369d30a5d8112fc961019143223c6e41fa4cc0d6952ef707315d2e59db77eb835cac5fef0aa9568259d8a0eeba4503d00a62e6d6275f9172a8de1f2f5292ecaf2eb9af83f687b0d25a07f938a7918cf79bd65706a16b4460488f657dd4afcaa8d43e421242c86ff19274bdfa37f8df842910a47996124e7214aff2bef201eedb297d9a3f0c77d934655c11124778c4c679a930c52892856399fee643c9124e9c0f45a931277fdfedb394a7c51f5e38ddb356b632924ba8721408a9ee25504c8a767a19aa520c82d1d5d032192f63d63145925c188084d172062af963e5afd912fca5c8b87f6aabbe483dfa1f55b3782a679cdd12533670381d4debe96b8ea85a17273d2423057392ef805529473a15e4b073d5adab47ae7232cd57bc212d8b786b97c8e1f9d23bb0359a316a144038bda0446b765f6518723fd468292342cc417583ecebd510836f90277c033d6400d2dde08d40b5b581725953fc072c6a01abcd06394098743e82f72f44ae51c99a12cfdbe0376b801a72003ae7e71f67c920ea7d14f790c165fa9f54c90e97e6716a0b6edcc8f3078730d4193766484ad1608e7509787ff8892aa6378a41065ebce4278388589c98c572064df5b0cd9221fc6f6ab5cba90bb6e052339e6bc36015b5a720430e2d072e28dd5eaefb4501f52905dd48a4a7e7f00551572b4c33d3f7116229b90c70e37e7243640c75b03a1763f44c68fe16bfd9748a520fe4c1ac2d0fd3642eef6d58df6522506abad470a1f266ea77c777734b738604068fc230fbf8ce97e703ecb2de428f60ead418686f81112fd43f7c9faabeb43fec17fc6f75d042a0f5f55bf12e1f45e67d57941438ef34a07be35f261a258d71e1973a68942515502e89e6a87d22dded84a5df6e2705b6a83a7f4400ef7fe1a68210d9c9d8abc411650232874e72190971d300ab489a56ad6d4c5a459d665e21289506a4d06efad72e2886a37272ea7b2c8dea021ffc807b218a6a0a90d3e905d5d750c6da22cb3ffb973ee03972e61a110ef86cef73601db190831f095e62031ff76cc294f07a924440a059c872521e92592fbb8830c98f253da9084e3c6b427ed41bc4fe528de1bd2e3210a472a67f9ea087bfa6265e7b66657795cbf16d71d2b7ba341cc801777dcf84d76c6781e3a249d69b1aad135158eb88610338d195180aee490af905ce57bd3984871513ccdd5be4a679a0465db01f8f5ec1e7e3fa86c0c6ddcd16a12a60ad53cbbd72fee233b9cb813b8396971873e068e99c6b844d0b74509daf59fb51ce85dc1e34331a2c9754927233305860d010a6621da01434efa19074a43e1197abfe7d9240415f42e16a26ab6be6d57da3ad62e092b9684841e2f9a60c101f1a48513cf61668171f6f1d0fda4835831e83c5ce3daff17c6012abd3ba180feb518092aee228288729d87c544f4812036b0b1b9d53a0302fe295b6ba633505ec4b25ae0eb4728bd657edc83234b0a38734847af0134581f2042aa41ba845575f2a83286e9c14c4b9d65bdada6651ce7919ec4261119983b25208e6bfa9d335d1c7f1c3dbc072ed23867bc79b27847af649ef8b99530355f76b682e76668bb25fcb2897572072252cc149946b2c1a921ffdef9cc645a095858daebb179071f66482943413a0720886c5dc58abc4e61f4284708c42af94854a16bf06026c55f38d7577513c4972d893ca656a94dd393bcdcd86d5bce2e58261d8e2c4b447c8d27ba2e00316435cbe2035299ef5b788559380182142da8004a46ca77c7c576c73d88b6b6ad42d7279d760bc38546adf404719f1d23f0b786e537475ee431364fb75b3d81f3266475145028831c1aceeb0df186396bcd563476f804de8369afdb1771eabeb4dd80f79e8edc6dbf30007d15bca7d576c4f25b570f8052d0ae1599bfb1d3b8c90ad72d16270907169fe0a5ab594b54c136a66dec3e9e2fa58e5924427f7ede671fa2deff392ea130562b00f2807c787a5b4ac5a392d4b5703166623e3f745ce6124650b9679bc3e4dde15f306d1256798bf0bc9a3ee3346cdb51dd3e309fd8ad4d4286dd28c07f25a160289da7b9eca8ba15c0f144472ad4da0b5284f5847bf8353722071322ccddc52f1b180e081eba0337419a0570a18df12669c5bf83a32490372c9542492a04dbcb2eda2ecf86a45e757944a2877733493a153014aae7703b872913df913fbfd2918856fadd0a60f03760d38acf1161ece88466dd6f036fe247230e616fa964c7ada44bff16dc4420598482ebd3c7b058dfaaa42760eee1044355b4b95480206da143dbd9b2d1409879388c8f6668bdf92e73ee6d674d249534869b90b6e492adc2cbdf61675a0b820496d76a034c5737666c3b6aca2b41a80721f4a1d526dfcce8b16097ad640ec7a67511f6fed64e70f417ca767c0a909d46aa83bb69baf9d09f47efd28da065fdf33840031a030578dbff05372bf0e6f283a6d147989b682457bbd1522ad26b2a834a7b3c09e6cd0262649a7379d0b352472ed851deb835b6ab7c73396e756d4d424a6b807243f9f71af46aa677fd3c39972a7a74e94401ac0407723e92583c1c899b7416ea4f99fe68d393edb1fa644917290f9459f73a0ce80588cc1222fab84d2bfc8c4c297ac38c6b728e895fe2afe440265230908eaf1b01601b2781ead7b31030d5318b87e53df9e42b9db459b0672ad876ee7c27adc976f5cd0c9ff17912dfdce78d21ae1fc9f02516d12c8110b72f568a5c01d7898433430312b9a7ab2adbb55d6d2e13b005a6d17ff0d7bd9e05b7dbea030e916bc1ee11d5e15d5140b0804e0631f254c938a9386ae5d9b414d1ac0fe124d6fa79093495606c769d9cde7cc975e7adb99a052c617356ef0f7b3336a63105ac3eda8b82f27a853b9e63652ac9dd8ca85a1c7aaad85962d7c6be572ffcb6a98d2e75ba613ed48ad1fa32f920ecd7a9fb25715196da097295842e9723545b85563cd55ebbc4e355a098162ea4305b5a4f0d7e29b5e8ac0bbd598a4308f6588e3b2ad3bc9ff5493a17ab8b7463fd9babad1f8b4ffd7a46335bbb2c772a22fb41dc28c00125b6f7d7608d3b9cefb26a179046e077f2a9016eb22e361726617c908b082edb893d635eaf8746b58da07c98d7326ff18433850bffdd6c072c102386ecf61409582b13d4db09de3990abe5837c56de7f4d1e6e46c83f90572885c87d434b93d553c5b9cf7479f4b81649ab26255c6e3446466ef1be0437072dc4a7fa83c163724c04a94155f24974b2684555f90246d58671549976e996272fe8d973d95d2869461e4485dc94bdab22b454b4d5aa838b3942030514c77fc722d12dc35e5e6a1aeb6e3af61e9530aa60a12d64ac1d849e064b1a1da397632728879f2290b60cb9a311230dc775c7636f830e4616462fe1980d4a285909e5a6a6307d2337d4abce4bdd122e7eaff404383285337d5c44b9d0904204bb83d7672a67b03e9cc5491de920db39c9d8fb8ad733f16094bbb3c25e685cbd4a629372f8323055fcd06cc35fa8c6b0315576b17f6b1c27942865d0c08ef8e599d2a135073a2a1105520e5a4b043682cac0c156e8ee53c0a038a9c6776fcefdbd7471772ee17fd807d12cba5725574681a10bcea1ab85b23a13eab57ba9024d8a6027f2162c0f1741115640b993bb5b98b5a46bb9e3d694018c25d3e7c26e2d2b4c9c8729f4b68d44c8001d4978fdf6243ed404d0e0fafd5aec0fa5fa0625830ac300c10df66d3a0a2df418753d011f51261062641b2cb366b570c4996600db8d092b372d942fc35cd41c428fd6fdb3a4e58780cb84d24cec251345745e37408d3f3a666913b991f6d556550353f6ae9e21e69fcce298dd8864b95bf0c3caa03ec69697242f4ea0db58a8ef33ea27dac48e9e68f9a5757ca8cfc3b3aea85df8757735a688b15ecbd901ea9721616f5fcd99e4c51d9e2c4c4e7e9b66633fcfb7333cdd7725cccf391f05424e661dd3e8c781d5cffca991857c6cd07d473dddeeb471f7204f44d54d4bbd6ac2236e99308c2a2d684aa03d3dc530edcce411dbc63d8331f728581a3d03ab32ab30c4391123a7282fd160588f750e0a6725a84f7f528def911f528b0cbbc74248c2ff95c060064f8e80d4a486b8562347039d7b99c113477644c4f12120bcd3c01ece26850ec481b62fb71a45b065df52f39d9ee6127f6243ab0dd7ed49ee55f0a8eb31cb150a2d4711f7aee18e401a73c9ad0cb8e35053e72fc09cb22575d42a4dca0ef414323947629cd9c3587378d1657531f3dc9862672065c11196c27685be5da4b801020fe750a8a69ea26e0b03298052aa619fe8d55bf82ace7f066f2942e4d019fd90901706ab5984f0de04620ac4f7bfcaf27305d6bd4f5f7471e16abddd91ad0836fc04e3fee74345ef1098dd0fe3359308d076bda51d5a7ef67d8a30705ddbf3a70b0e52b8deba58621cc78836e192450599772bcf199ac682fc8176ff6810bf8d9b20a3e2d1fc3d938aaa53a070eebf23767075bc23df4fc16e71b77c878c896a63ac4bda0d784641d8777c2957796d775ce300c207dac6e2722665a3922681bc943cbf66632341a8d8c9edab7fb67a8064e46fd6b0c319342cb05778fa6320013b650f927d8a719e8ef1f4aeb6514f1761a525c7f10dc556573325dcccd25bfa8ca6ff7f446ea3ddce6118fad011876e2303f07b40fb50a4e50a0ba7ca4b12301158a1fcafbd3d414f386fdcbf8659d2e2b4c477d9d5ce5f43e838074a8c59a7202fe6ee8054fabad9530fc48546067e8b562fe42163b68ace46fb5ace124f7ec7f6443afa2969e90e842e455fee164662b528940578a38f4b8544ab854b9f5a1bbcfac2ec730a723faa5bbc2d62feab1c223065d3c8189afa5d0131f531ff103cb02e125d155ee95a56718b361a5e365694b6245040cc07b80195a25e43ffc6433eb91dc2dac34aebef8d3b3218795ec10724aec0f04b933c6dadf26873de5d420ce9cc732fb57112475a950e62df6af797224e43961c86e4f1cf6d1e225f22f71c98185a08615b424047499f83081bf1344d26faed1c62c74672432ddc6e5aac7c9e4f0caf2882bd9f032c1ab80354d0644d2e82797f3f7927b29377b72fc85cfe2ef1aed60025a09834b3b22f3b5eeb672a8d074944cf2908235786e1402943b78e8e8100325e0fb6fe9c64648f36edf6ae750057370e10fc27012e7484d777880a3c5b06d84ae76d264e7206783832d30881ac00fa2b3d65a65c8b5e05ea14b560cba48a94ed90996bd110eae1f3fb172ebe5a5e52af193a9d1a26cf0e4fc1fb2c689d0da1d8f72f992708492663981720998fd6f34a67ce80ab99a47dd05cde4285fd14d6fea701a6141c948c4f3460be9f5cec8dd3e3227e8b2870662f35289e87c43fa33b6225f3184d63a44730c3b285019753ce6d084e369be62f0bfcb8afa1c20c14af49d565e6c0202b36c524e623f0b619a571471143e8d1619016e39db0fe8a0955ce828f6478559684731725240028ed3c443d59f79f6e0a0e78b399381d9c4632f5fcafc7496b49d42722be41d189af2754db5aab5dcb1423af44055b023869eb9fe958b827dbcb95c103caf6711cd3a6b47817b039289dfb76cbd8a71d583d391d4fd918f2bcebd2c15720111e4da7212d49277c27f34e231ad1b5d01146f4eaca8bc6a24f4cd4509201760d7d9adf80e1b2cc5bac0ce86ca2f1586007018e172904e0ee9bfb172cc8f728a206a0af66f9dd246f74915a1eb4c40ce828812e8a1f76f10986412cc13b272fc36bf6eac83723918d33fcdd090b55aa87a94b472b186aa0b0ce49cb95c7172f6b4ff3163f73075c758185e4d48e124160f2b55fdcd42747279a8d59f3dab38527bb12017d09c44cd645c7676a0107a5e745d89a174d9146bee529523c68672c9c36b5d29f7154a25a4475f9f6533e71d4394accac334d1b853f25cdba852724ac45f6e6b2e51859aa9588b1221c14d484c452189c608739b80d0e984d6d87239e96b4b8b0e5c25c14ac6a8c7ee66a89143470d509b744157e862ee7ed03c714e3a431e253ec0935d0c0673f23100bdff267d53ff7784f401beb3e6585ef7725b3e3795a14feb8defeacbd04cb27a218ff62da76d34dcd3b732c1ff8873907221c7f98338f80fb44dada2d0ce94fa3f0fce74329b7c8d47f57943674f17dc4e085a5118515e29fb89397b579d452d32ceed6e640f29a150c5cad5bafeb27972a24ef07a6ac3c587042a7fdc973fea49d49f9880935074174285deef7ebd3f72ce5c23c36951686956f20fb6bc05035030e0ef20a46c8dff3c05d07ea1fc215e7a1be7d850a3e21a9eb4305fd3edb7ca4550ef81c5589414453fa33854527f724c985b6ae49d728065cd3a3c8f9af83af219e1b220d2595dd4a25cbf1fd91b726c37d44277726f6bfcf964bfc2580bb0868ba0df869f9a6525f2b3dcd1a26e482930154d0bed8749aed6249b77628bf7898c71694a43f7e1625c2dd4eb0e775e3e5c64f6b7e9b8d51a1a53e8c7d43b65ad028b9ce51f41330e9c68cbdbf86f21f5e7962699ffdb231795e62c5872ddfdfdc524d36a13f4d43902efbb84a4194db186b3bc3725204f626cec6f19abe8a3b76c3864a06636acdb7503c4706ebc72ad0f87e5034b7ab1fd5893762337300fdc6f23a50e01493ebbd13f6e176d80453dd22d340ac14953e49c969ff9b0405d1787f695bcbc2852d788137cae41a8723f2c3fabacbc4abb004a10fea36a6253da0eb64fafc5ebcfc18c7281f53bb3722abd36eaab4a55428cdb60a649e6ea467b5534429b0a4458ab626cfbb4a93c7206dcc8d27eb40562bf3cd261e5a05c0cd74d1318c102d166ca37e733297bb472666dffb083f726f43562d775ae70292ff71b8e008e57b979fae73f19f10cc472d63cc22c29f2571eb9a6bbe9eb84efaee1244536d73df5e87e809692bda47172e418ef0b5a5ff4fa5f4aac7fc5124b9f1b826c71935d585ad8b87f0add802c720ac7615ba185561b089489160021a8c68664bed3f2e541dd96554a6bd46d8872c17635dd117d461ab0c36946567dee210a043475bc0d9696a2a268f94bd31172cb46dbfbff4a635f57811dc8d72a47d1cc1c8c8cabf7f7ce362737878a5889723de4d1dc5d2ff1e9da439f691803df04703283aac2cfb8dcb7e674f9272d0c0d100b05eba4bdf7898edf59e7e132b0a30f1ba5cc8984050a5ceef7faf5198b725403e240499dafccd7046fdc43379ebd69fd61c378a02c059dd2c799ce3f21640017ad8d1fac0e1afae5a1d6ee721094ee2c6744d50714db6cbc0390a0c56c72dddce70b26a4d128a361a503187f325f25a7bba50a0a0f1e16c3b94b82648272ad7590e26691af323477a4de55f017469d38ea79e9d8f0955c4d25263c98a5036d7c94c92466eb449aa6ab8d93222450632a2616394dda3a68aee117a5abe75478b88a82ab9cc037543b523cb63db0ceac451c90913dff5f392ec455d7ffef72b37e2ab4427a901c6d98d1e4d6a7072ba3b80592bc8814f1f42d132f87d92972439eda53605c85ef0d6ce523193fc3c2c17a107e48df69b2942f77f0ab3bf54108e45c9a404b3bb329dfc2e2506c29a70b68358c55b7dc03aed6e9132575cb72cf8fdfdf68d2fae1a9261c08fe59846a7af91bb4446d427eceabdd0c7963362603703ec29af0ec159c0c4aec198b4d26a994a28601be112fd9e9cb20dfa2cf173c72367164e67c09a16e016713a350e559f696475e661c16ed3bdbbcee2f3d72dff65ce0611674a3d894cdbcc11028c438a63591e3ed88eccc4a98b33f956d72354270d5a75f61f9de5d66caf4d280d585ca4e8e67a5f3bc720a3e3254fe2c53940bde41a87b5d09f76fffb3e120862cfe99e5636246a48867bd16a57a3ed472546fade829d9b08a5c62fbb87c7bd7e0ff31e0bc1231b137cc2e8e795c5301722f43dca09e82a6df4360c8557e4ebd36e80a711c41382e7a9362cee49fac2b727bc959c56f4104884473581286cea40502d0a6cff0980ea6843c707475aaeb7271e9b99526dde3aec7f628ec48fd33170da63922ab746e18648a22e37ea1a46f2b8cc110003e991a6d557cd4af6ec27a0d7bcc034a112dcae2e0f4dc51cf6e72576f4653edd7202f6fba103e32fdd9c9cdbce13b1439743132f0c4c1d28eca72f91cfbbdf3c43068102d280321034f876ff135690a62bfd38d231839c8449472de82410adf59cd293d2279f32e0686a90c1a26fd8612e5159f530e3dd35165245d0229ed3401b38dd818521da375dcc6295dc4875748a82f2cab3f8cada53403cf835c2ad52512d527463a6667743fc70c5cb43db98cdf123b72d6fe294c927236e124ac06f8157c4baf5ab009be13a93dc9ab8fcbe3346269dd21cbbc8e614220b468bf8c2dcab35f94b4f035e675b079eae83d2774f6fb08b7d0deb948c63927447ba50125431151d304a03de33717e55d5a2dce5f7298621dab05467d137290c70385b40af879b6479b8efccf16fbbc08d16138790ea7661a79413a00587296c0a468c1f5d5d26797f2b986dfb5e01cc42b3a0b40a3431e61d325b3cf9372d8e9483333e229da259d96215286f10f00220f092f80df59c7fe80877d57b1228fda9415d97ff92a28288be42aa6a9519b62b6004fa010583764c3291ab36134e4081f7b2723fb6082735bcf10dbaa9fa461174051ca9a3bf8085c339283147245ff382789e291e4c32c4b7042682b3dc26e9d8789f126ce9cb4e06ebff89672f6ce71df5dcb5cc1d8ba4bc4f2c884fc2eacfed7599d86e284bfeca9afb8e600a9f6dfbff6abeba91dab017b657a94ad3e852ee83c0274f9ac7f43cdda1ed772ad8229491209c18cad88192d87e0fc3d0b6dffc8a513b0e4f64873a93ec0dd19e98a7f8c31c76151a183e80ebb4cd547a1bddecf7cef10f68bb0f4f098e490727841630ffd483314fd7549dd3679b1c68b3ef7a4199b19f33a8e05d2a7e99a303ec9606a3200e9dff8430869ce6e8ba32fa75cb201355c9f296c3e812fabba70767a4c3ca4c6d2d535bc2ae2efeb5ff92dd0e67b21048228ecb101b8f6c8ca7260f81196a32220704060cbdadb91d9c5f89e1efd90d15516b5e815dee3c580724040c6897a6816399c7a39c8ae82b5dffb6536ce5fcd49f264d420162b21012aa3b3e869b87ba42a72ecaacf7f1c27d754fb2c988d0fcef1c14788e454339a7270cba9520588e8b7bcb98b11d41c4ce251ba16d728626b2c1c535d877304ec08a8476937d36c3c4bd533bbfb928fa6f7d587811fa996a3e7bac615820b47ec7264bf2e1fd5609752481093b9f5b3b55b39974c310430af5b2b3362db7998f9202e8f8653eaed9f9970b8c2571db974d3ae1cc955d455b2e7f655401def76ab72df6991d4bc418421984307800b11769a14d9593e22c465cb24ce372661f6617231b12f1086ac45813fd17d81c77a1b41c08922bee2b0e5bd89b49ba79b82a90782694b0a80f61f93d6ad20629165c72baac2d79a59b81f0ce4228ac16e53b63b5422ecbf1bafac7225587b15f7bfd7eabd062f95c6d19c572a7da4a43410c3729b5dda9a044f2b66391276c5c83cc2dba0549ade615a6705200ebf469769044b4f56f495882ba0445928cf5d0b9022cdbc4b8f63d549e6c9f37a860ca35dc972ab4674229236a15e5644cd82c5a1238d588ef9fdd0ba154d0381d18df4117372c71604f3af6fa41f002b3578c90ccf72570a1d58cd77eac7b5925ce5839a321e9ab3404005d9bbb6fdc42d7fc215e7f8902b552a6eff60906624f76caeaefa7231bde416e5003a4d361081e03b779fd605a4b1f41a0f1d83af1622bab8023772644a80baa1f71a6bc41127384a5b04e069f1b681e9872a21da3b9c60f7751172c09fb5b97e2cc89620a01a0101259f4499545eece5fe0d908323c3245728bc72ae683b0c23b6defdfbacf69e1b97c62b5bb6a1618efafb276e79bf783ecdcd7232c674237c6e3f6a8f0f049bd06674db7277fd787a522902d746882699b86072fc38ca759f4ab40f1df6946d22536a29ac0bea3b5e407965c09175b13e691818950b6842b17e14a3ba80f44ae57508de8064c14402d7223e761c2a7bbfc87272c959c7f316e042b3bb331402d52039cf8f2769428f7900b1612b37f70ef955254e72781b3db0bfd87ba044bf29db170e5f8b9dd010440934dca518da96c059727e50422d467707fc2ff223ef62eaf266cc79c2b8be6dfe3d066a3e702f599c151816fce97b094cfbe13e0fcb72f5e7a83e2a2c7328edfdea7f060e59ba101572ad5802e058549ae49ed02a309fe74c2cfe095c41299056675a7220cc7ef075722b7a40ce9e77bd361088dc6143e1208097dd0965905466e9cdcaa00ee68e0572b42843b9b8748cb0976029535bb9b91669db531ebf41929836b2f2c65fd81f7238b9b34ed3fe06d9262858448242759f2b366540d67698c67f6bb55e5878d7614776f78631ef81167e2a11507c77184af602999e0bff01e1cc750e5c6437e872d916ebfc4007520d89d11afaed4a218ae6c276158636f5d261189be1adec9a72bc6ee3d37896f48f3b80c2a3a514dd290b259442a036d182100f6532da0100724541464fb1e8cb6b5622a01c10378df01e1085d8b73a2fca63b7304c6cd7621ce0c9cecca77e3e0d545861d87c7c0f35bcf484bb0aa9cfd5cebd80271e6c4372bd8c37034c6af02cd1e83d34a112d998cb924fada0fb9c41aed4aa5d3b9c3072709fec97d24a140989aa4082a3abaa005f33ec43fb52b7992e3e629148f4932e0b1a2fb27da4d8a63913d7d6b705f4be4352f78becebcadb08ddb3ba840fe8724e44ff56aca9a5c2ded4b6a75307bfeab061eaeec32391ce3bf310121edd84724a14e49c60d195d3079d251c7476513f3eaf53af229e3a5e4cd8d03684a4e91ef45ebf967666c82310704a37f66c517116580dbf6e37fd650c2d10549d604d7255da4c70391988a2911d0f9a3ed0bbf06bba6cc807946c1d4027b0de022416722d505f9ab89a6ee1ea1eb4c2d6ec57d888bd1743adfcf059b63ba3896e716372447fad8a0cff8c53c155f5668d8434fa1c40a405486efa5e9c503526c66d65726e79662a69f4846e76c6a243467515afc9fc7a3d7274ed7922e0422ed3a220652687576ebaacecc89d29186db01edefd55055bcc4be49bb43175f784226b9d45b298b9e42080a0c7008358ea658028c3f46c1bf9e10a99391eaaae6c8a957e72e080b6a0949de450508785fe60aa5fd2a9404bb7254451e3024e6c80429ed32381c35f439c25764cc9190ef7e06765f304cc353970eff74d627f561b8539bd7208f5e7d7be8fec26d602364e474241a7444f14145cd3f8f95115ccdf3a814372d869b62de75ef6c8ee039423c7a690a0482290a6f8a5ddfd3b63a751e34ba91e83859c21c36c58746073eb65d732a31cad859654d6c2cc1551acf605dcab1c72100d639615a8205f6e7d03b3adddd15a72e32e22552a33638b23ac8e0b33ae72bb5d98ed5101c692dd9903a69a02d6993a8a08c488be8d55bfdee6c7492c0f5c695ba5f0ef9c4859373aba8355dcef1c929ba42951aa87886a7cfb79dc8f367289c92f4094f86910ab4d6602239341c924bbe1a28836f9656e5b01fbc2b18172cca1a293fdfe96008551a0ae5e205aa0bb555caaa4871a16434f033b82c5cb72bd2f3e8ee489dcd4ac20410fed8fddb3a23b7c893551e1e4e9a59408255f3572405f6274293ed8b60d0c2a500f873e85fd9cd5f76308e5a73a1189283c5dcf72a0c267ff9c9f2bf8499e4ed349b1c8872d665334f8b60fe75cde98d1f29d8f06d1e4fd4a24af574111de02609365d5f0a7e90737213493c191bea81ae2331f724aef82473fef1cb6ec1b8a022676744a8298c6f352f2111acde7e0ca7a553742cf1de95260eca2a4c81f3e0e40eb9268f2bc1bbca7f53e488bc985e1f722ef7243eda213d2ade5a9f8a46f0d5143f72eea532d95fd7846092ea53e6bd2ecbb72dda691a9c495725effdea6b07ed395baae002de5a6b01321d36926d2fac96a7277222fe9bcae0abc8a3629bba33a5e74ccfa31f507e4270b8cef7fade4b4a94947012a0b7bfe55a0a1ac83666d96ddf0f615c5a57aa7113c9ba42807f93da77222da92df2c03e559c2bbdba997a389bbaeb93185c919c477ad7fc5f4231b9872e04c9f9b3b072b389913bffb78a14204c978a715befc401029f991bbed0a672bad7a9647dd9dd31ac40282e7f8fca76a4e0e27423c30dfcd607138c039dd9e720fdaef30e0ba10585a77ae92ccc1f5ae54d1ce81da109f56d3dc1ab138cc962856dc76df83c1d4582d972f1412ac0fbc409df2ed238efdd2e8daa6d28eb0b9688b730c25bf391ada71f9e4d423cf65b63ce4174f3a6e4a67a7ea71e8ce5b28100c26e0c7246e6527314406b11208dcc125aa937f2ee7bae224b50ce967e81d3ede4afa9f6a46738337b969bb374f9ed1e48146bad6b854f67dc6f3c293b5826559fd2c8db27c135e1ce736697a4882c0b6a65edd364329d538e37add695e930c17735a0dd11357c423af0b398277ef59e9a6bf78f9af3481c0e6efb2ae17027204d50c6925a4510f2b4aec891dba0dfdc05b37964535bd3de64a3873bdc5cd15b12359329e340a2e4baeb1fbbd4022f54d42910c77623b4932dfcc887a32f17204ca7990bc8906c51ac25e42193efc7df3fbec7d9789354320c2753d84a435721488697b35e39eb604bacdcab3f4e36f2dce86435f39fdba90c53247c0017872d0243309d96f8197a0dd30f2747aea57125cac11c2dbdb717d4210b1a5d44f0b2f403222fb812aec289cddbc1c943ee4c96bf9ba7f1b6d80beb06897b061f2005907c2b59b58be2f00de6d9fd7c956dc8b81695ad9eb86222f88aa97bd411a72424a06eb327bc95a1a328d0e191437c70e413cc904d11f583ce6938a547d28389e8b1540b973fdc85749db87824ed32e7c9b76de8c38725767b93422c5cd28722498e4676dc7fb0ac76f13a34786c13369df02ca9eb7d5170043ba4391fee211cea2ddcb135dd420453306a8a13a70644c62d48cb1f3cdabfe6f98a63ea944720c3888ca322731a5db8427d691b987c3bc3ff6ae74c9794b9fd7f7bab52d70723f58913dd37ab80566fbdb5555b6906c34d50bc073e561a8e54da9dcbb5eb2727521bb0009f1c9a2d116cbc006cec73adf8accb5f3e957e48daa399497baa172f0aab43f1d44a39ba3a69ecfc6c65e35f2246257ccdc52dfccecb38db12ce5729ed85962138be556f9e85dbab947e8b98a94fe38ed486f3b5254f8e1e8177f72a7e0dab5bb760e58d7ede33558b33732cda0b8e11536207b999e34c91959a97252cbd38134ebb45a8ed1e9e56ddec15fcddc5672ae404cd0c8e11c8514a9e64d03741e61272282367f24b4b296eecccaad189ba078182f9b0c872b30255d4872c78e36a2d54bfbb5b6debd263a2b6fcda396e0e98748c6c1003d28ca1a51f572072afea55413519e7414c36a67e38305488d4dbbb3fd9aad4d6d87ea84264d724df286c1835c47967d83e83e0d30c7d93483da7073eec09a98dc5e855005c572fa38020f1b2421e1cdfa5dc15eab7617b7ce59490f74b711eec63427f8352872ab89faaf0880bc9cd80b5f8dc08b75727730db49248333c6efc83f50c3165455683fb143bef4357ab14323fe2194e9503bc0393c656c73fe0bd7b326dfbefc724d552808810c6bb9c75735953ac27ce41afc46687d21eb8f528e824d658361722bfffa1427808721e477fb1e2a7a06043a49b43e0339c6aba2c7b629b3e5df721d4cc9202863a4efbdda66bdbf8d7013425279099efd173ff87290cff076826c4d7bad85e29889ba3758b675ac5e2037718fb4c74ed7824b2ba0f7275f8f837204f4bddd247ad8111d44e8b0905400a117af505b297ffa497c46c32902a51f4cb1788c3848411b651ad3975744fe98cca123c121136e8d43751bb29091b7db67f938bd91dc8af2ccd497628d6c604f6a4bdd8bd94d3831e7fd246dfaf0084272b3ea306183bbfaa1b94e1d6f0e7db977a539de91282378a4cd8a57c9d780f772bff3821baef3f97fee9f10075dab5d0948586e2bde00b4886eaeaf7aef8be6728bfc5c845765c54ddce911a21472986d7746f726410172cc2404cdc4d2db8272eb52bd8bf2133e36fe5e4327817497e6e53a498f7c16438ecdbef3bd77ed5672d567e66fa9c2024a4b9754094fcb73d01885a754a6c236596c61961417d8bc726abfd577ff1eaa8cf5f803e9972ba9ccc0749a658f90572afd59be4ccc12f0728a6bf1ce7e1092db88d9e274a7096b51c76f4b46a240f392da988e3e7ec369727101e796b684e0599840d7c5ab1e70a158312b4fe31eb59467a3215a9995c8728f9135723f6dc80430ad5891c78d68a989f70e0200c14e6a2f5bc4f038913b72d9bb39095c38599baf39ed3d602d0927a4e31b72086f5ef3c7fcb06d4a1ada72f83b0f1f99e4d47bdf42b4184c9a12b8ba0afde7659d8a7c5070c2553a44355b5c32e340f31f8ba329599e48866a7dff483ec460b822f9bba70f25435485363598b699c3ebfc06f816b4dd400c8e58dc91657f5fab50d34b8773e05d24de1172e83cd95bf502db1aa728f3c4562b6d0e3c430c95fbc26ba97e8d07f9f782597261846879eb837126add0d257b647f8425b52058f96530ad27724087031a82672c0cd6cf6683b3bbc38754270fa5a3d1fb97696c35d73ca37f93c451971e3266583eecb170b82d48d791501038bb895092d9dfa0371c70dc48a0733d44e906d7230b8d733ce1556c33a8756a8f579c100a34468a6f438152b83d353c5b8b6ae72991c517b8824a9bac86791fa2f7eee41dd74871ce1b4bd79d43b95495690ff72ec9f990cb28d412645d02756bcebbe28405067db0a77e91a720a5aaf035ac61a547b5b7f356c45cc3f95c08a72cc05d4f6fd2520719e0f8f33eab69ed84fb5310cbfc5387ed7e9404d554dd79d7f8a8823a9b0b3a7205170aaa4e9edb9c842349ffa52ddad171b7c15a6df5ebeb93b6f37a45430634f60f92bdb3f9d20ceb27234f314c3b452f04d74e78c97f35ff964f0b1a7bf1af72d6f1f0d60bcf81fb572a620c0613cd3f6ed622ea8fb723ff4c2421a5b6bfbb03ac401d4c71245084272a8e0fb4bc3ec19d13b3050d97ad45e6a0e5b6273a85e40c64e60a3e038622b720f6a065468fb21f20220373e2ef014f16b8474ae55db65deb211e8b7d74229694aad28569b32fe6bda0e0f8da5baf141aa3e0616017da13f05d763bac5eddc723d8f8f1c3b58791a49d7d28f860b00c4815b3a810d0d0a807a3b4cefd4406157086ee521537d9e8e60182f0be08509ab6801d5b003682022bfd742cdebba4f0180b522cfc2682695bff15c254c6cc313ae9b2f085f37bb488182ffedb34fd7720d91384a647ff4c14656cdcb0d9b9a30affacfdb590748fc71bb6b114e956e7200bc257383d25ca8f839c93adc80aac37a972bdcbb1fe8005641d4bc6f7bed7221b7d40b30d00778c0902ec2546acea3718b872e37514cb5a896211487476a04a7e57f3a4349a2feb70bf88731d44356dbe26599bb1c0a90ea6a6a81f8552a72dcae016f3430a90f23cbce44632d44b5ceeb7d5ba55066421ac3b33c2dd7c35ed902f8662ac6dce59388f794979fca521ac33ec6d9e871df23260815e4549e7250f3227d6663d85a2cebad2a0421268b2f4e0355893e307bc584203a4efa60097c45717f902907da3c667007b2669864431c379d7a3c1801f223fee996536920d23a452bd73bf5f7005ac1987c7c82eb79c4204a870f4c1aac8f89ec1113b50b2236a5d801033f56725f41edb8757fa8329502bd940b96887f169a66f5b3c972dadd174cb5a5982b6a3890de3cad65ebfaaf40abc2de024a9dbf0ec9bca0bb7285f5e035de459002eccbec282e04c71da8d992ac29dc03c607af645a5dbaaa2bc91b35f5a98719fb78d4b7e65115465c01edfa53fb6e37123c77677d6ec8c52626838baaa2e97afa119f217b9ada919180f2ece42d460f7c3a355515626b953a938de7fc0d7c6f14145970abf4e9919e833306e7e16d6558ba480ffd66bbc17251fc70c84e41de6baeeccf99152bf83ac244f32d300d39da72a78cd2dfe23557c301e929e7048ad54b218d9644ae9862f27cc3b064bb80d8d3ea9d2ac0bccc72dc0da1ad75923b7e44765c3cf77eb3f81dba61be2755106c2706e16f40cfcb7214bb79208c318b2190f45984e8d0364899768729ac169ecdf48d4b979f7626721a5a2f724da35ab15861bfa86c6c617d52bfa215c8e7d5ba10ad9a5ee124ef72997b7ba1e5642bd38f5615bb554ade8196c4101ce409c480c8ea52cf7483e272d2e43380e6e7bcf290ae6a6ae917e62d2845b7299a511034ab8dbdad9aea1b722e8959977ce6ae94db18810077d10baa020701dc48a35e7a0d5ee58e0702076a9a895907c48ed1cb44ff22086a7c4c35746880186d07645f4f98ae9c0a5cca2f33f2c18a6de9ff00ffa84acde2346a5a1f382ec93569b7ffc43fb3cdc5e37172612fa2d223e9ffca220f0ca5ff8358e462ed0e4903ae1766c743e80f9f5dbf721be2e9101a1e728e5133202c35fcabfa41be1b29b9fe1690f81ccb7107a140720c9d295bba72d83ef86f9e259a4c6588a5917d67bd817c038c38c2e9c89cee700aa6a36a6eba133cd2a9c147f635550208b86238220e36e852dc9a481955567281afea125657c4e61ae00afcaa144cedb2c26eba555c00bdf655d2e06566c25f9b9b07eaa522d79cc2443b4e5ebb9fe9f0db342ecd49d9694133d1347946a7472835205eb4e5c0631e51478ccdcfe48e0d54730afee3a7cfd8eed1e10c9e0172acdb559f2933a83c1d767646d2979ed99684a8a935ad4dd9fae057957ee9e3725861e752268058298b436da335a241f4d165cc58f28320d1a53f46937cd1c7722785450254e9af9f9639c9145c0f6cee744ed53d320500d611a32a8755d32a2d67547e0640ca500c457d70524362d3a877080e14ed7b249fcc157a8b18168155b9334d72e678d6d0c914dd87eba99a8007be72fd85f0a6f13b02da1699080f726a3c08fe7a85d529d11dc8cf7fd82c83df10a801fa7c974d1c57ed7bce242c40918f01f7e043d130c34b9396ac6a55420fc09177c27c736a1cab8d70a88e02729a791fba1878af44d056107cf2d846303894031b6863ab84e5a00374f5d11a11d63310c44472b75ecf80972d8167f21739a2ebb23eb84319bf1ce616ca17af0d20a3ae36f19cf81927e8342a8049624bab421814ea88aa44616434396cdb9772ff202c3de0410d8a8a63ef8e420ecf0573009ba3c2cdd1512c3e2dbe366680292a1cb1679adf5342b448a5df2ac8ac543077c97156401eae278b909493729c72d6722478f25c3e2ff6380ef5c2138a4ece1c0dd8631ee987619b51582aa63c72e9c6f05e9048f176b7f5de2c198d134fc50be2e694a0d5d385e75b419b75ea72cfbdaa22b858a21526ef1adaed356bd062b2375df2f3c4b0f16c0e292ab8dd7295874d1f84864e68d129e021e39e4462180596403d09405d00827b12c88aa90809bbeb56b0a3485ead873a59973f8faa110b208fd3290eda190231a68e8574638d2a0ebc465f0fbf85b111a252326e24d82317253fccf9d8f8407eb0d9dd5372e572e84e5376a1aecf2abe073fab121d891129072af946e998f345e9e064fc72ea696882f2ad220799fd7720607edf41e1c0a7b2d947274b9eb4e0fb675c8b7270b7f4c64442171d3d21fa69688e62d6a90e1172ffd9cf3262de84f5f98e3533c7883f5e812d1b6f41f868a4405c39d4fc37326583ff72bea0018e32816b1172610a65089b9ba3a82e8766cee6b7619827b81aa6f07d8f332ac88d3b3eb25d725d587124c0137470e576abcb04d6d4c05d89f556f7c12c2f95af73be7e700d729d1f917707d7d047e613779ac0004e049886f989231863d5e1255a8ccfd63b095878329de0b7097e6295461eeef789130bafd2f8428eb3eb042a1999cc7b722cf3f24f9dff4126a2939cc5aebbf506ebac7e6d603a98003630051dcefd10d872171c54b46647d0ead83ca629b2ee78f58a5e808e0f7172b40dfc51654eee927251ddab7b4aa1a869653c4226524e31efff12052edfa2ebeba23f42fde9df0172cf17a90affbcc532fbebd7fde6ef529cc3af2d07e176bb706e7c0602910d1831cfdd311eefc887dd9df77c94d65fe73cb487ff31c180d5f60764cdbe6fa9ec72a78391ba5f5bed39a74ae0bbccdfca25e9b4f6dfc1de007378a9dfc6564cd372a12bb1656a79082fb3eb70284f1e8f76adf98f976ebcc4727e2396b53c95413e7bd61fac174149b99f86cbb7226a157d8cdd3b65d879dbb4f94b92881b42087239ab4d9cfbe04ca2d47f3534bc8545fd403785ceb383efe75e7467b40686c97236c445b8bec1c72569dc3ff64935eeb76e68d8ec9e44b0195527a2580e1b3b54d252ff2834ec1453cfd9df45f281308de4982b0c12dc174f5373dccdd53d6c7226b8086a256f4f03796079d4f283a31ade417f776949c0804d60fff681cf28462a8ad3f166736237600cffdacefaed0deecb5ba11225a11fa4b3fa3e7e9c3b7297c334562bdabae3f5c5bfb138b9c088d7c12eff37871b349dae5f72b3a7cc720ce9d782d5d53406380cc52e10ca0fcbb8acb29314ddac4a4ca883341a5feb6c4aebadf4d0db336de65258d2bc43db60c921801c4bf90ce1acde06ff9b3857722fb448c4d06d7d87b4f13471e7bf4ae58d9432c11e5887b221eeeb70392f44722fa785c45311380540b4ef63992b913bd65b2edcb7183966d722ae585504085db6b8bcd73da6821fcfb11369db08951a6f4561508aee6573fb1690eb75bdd772533513a51bae083b65c526c08321c0a1a67128d5e3e18ddbe7514d10cdf79c030bd7f30c98a14d6d9ba7e5fadf1f49841074409c3c366f57d58341c41e3611610308f179843600135ac58a8f8cab66bb660fef37d6a86ef37107a30ce1ced85b535934a8c7100a53c4621084cecf0247f3d248d051732a6102fc91caf5d79772c228c47888a12c2bd8badef3c3f77886127ecdb00d7fcc60b4e8fb57ca40ae21d5716c64fe2b4fa53434a7763afc3d613f2ae1bddeb666bb3a4e9d60fdf7a072419d9ad4229f78526ec7893044eb4bbdac4e37d565ba94d6df421680dd1a29721b8003befbc8536138092b561f5042cd04829ca76912271340fe3da8b5989c0d5cb49c06b4e273c21adc1f278ae728ec8dfb42da0151e720364804c4d0753d6117860c5e97a155ba2d71a69eaf3efec3fb8c642a8b5a9499f570a3acc0ac2d34f06183bb8da3dfc03f7ca2858e045c7c3d088c4be4976898fba53764a2a67604c0f3904542170b7b21068d3471342c398858657fa1b143094179d4b310e28a72f0b9e5bb3f2fd996644a105cdcee42b555ae45edbe3a5e8a02701d51e15614728b452d9e57c704abb05a79c14583e1ef8440bc7f12ec917b6deae229f48f0e38d1ca1270b5981f1bfe236848ba2761558eea4e0a2eedbbfdfe89a52bff600f724b70960107bbd376873a6cc7fb2c1d745336e1bf0dc3c85f8b345442f517e87272784061125a5caa47c0a41dfcf1c456d6be25523833530577bf401947c0474c5857f7fc91443cde99f8d246ce2f21d8ebc39aadb04309e88c8e317e501fab72cd29f7055e9839f0c9996079ae6185d212fcd9f53c32935eafb0b138b1b98425fa4603c32a1381d16efcccab295e4263fcd56d611324564459ad655b4bff7d68aa0d3e5a7762edccd0a66301fcb514446798b3243a6014d6ef3993b82629c90b8267de21db8ad6c91c44b7fd619d3836069b961698d4565f7eb0dd2cf479fc728a92cc72b3d94b1ddac20fc56be37154300562ef72b6a17e8cbc841a6084d44bd8450685c3fd567c60b815d99082a5404da8c0160ea02e365d883037e80a170d246ec784d3ce544435a51617620235a00defb30f98e5812dcab7976408a88517af9436e220b9b29e01488ed2d712d0041e613b98919ba0d825b004bc36adc572d5841971b4b331130fa20fab8c170865e934cb0bae486d0cda96256241e2bb27aa1a054b8fb5a1e439c1141c52d3fedf95685825d061e87980f9fc726282936975fd4351de69550f8b28b500d964f60998998b1e538fac310386fd1ef2191113e44e9e2694b3770dfd4bb0c0f5069c89fe77ec842f75785dd4498c9f321f91729f0a33354b5444758e2d851652e20afa8e1be35dd863d73d557383cf383943722cea8cfd168a9db6a8566bf7dd6d2e156389790cbb7abe59e844277102d5845a2fb26374aa1680a27f122e65b5e98ba6ca2d5b2fb4e71824527f64dfa8e01b5c05c949fa4ffafe202141ece680ca624f812b9a9c41622df9f1c93430dcaa6e3d28fee58d437de1d6597f42b5bd2f791c7d4f68c6022b900d9e32a74e175c50724895305d4fbe55a53db19a6eba25d741fd012f2146eb5241cea2a1b4ca7e4072e263f7cbb22efe60925ba89dd2b4cf020166d88fbd638ad9700f1d6a1803f04d57a0c140d6fcf25837c69d68126dcee99e3f27b618a25a50ec36f90ea82d584df48d0902707c998342172ad175540a4fb9c67c7076ac369848cc726057c8a34cc03d51edcfe1b71afc682a17927b82c3afb1dfdcbd387db718068c04610b4a7208934c65fcef0306fe22f6c61fcd5728d562b39222ea757510a42e117523175441f7246a044b2d7accb8af5690d43f4a7a6de98025e4acbe2cb84e0ec6275272f69bd936a3f586976fdb569aac92962fba4d4fa89c129f79cf1cca8106be8050f7ccf9467645914fd7503539e94ae1e00523d0a6580173974c1fc48bc8052440633ca7f2a9e85bd4be295263c1676338cfefba2ce053a9b6d9d6e5fb9302ec1e0fe24fae2ec4d41c7ed65a1208ea880e9751cc21269f465fb53bdd02cd365b6636e44a829b3bf932067f29b203658a23c398790b457d7ff701aa8b69ee8e9a72c70b61d029358170e902dcad82809574b75876a741f3f447b4ddcafa0b534a725d620ff5a5569ba8ab16ce0a7bd281a014f7dcd226e57d4a7447629ebfcda372d20a7430e980aa33667c3682486da02251e25d77a7b54e81c3194d7b08faaa72395dc407e98d5f93198c60127502c9ae3fe35e48d3094446430e33eb27f5695eecd475a2770c2ef3ff38d142101e1d9d0ed1b82bc3b846340fd316404657e54562d14f4de754f7739b26da12a740aa97594a30e230f7d911dff31dbeaa9b1572d8a930df1412265f9246d9d9c0ecc5d05967f3d2a41ab80bca045ab744615f42f881c9869f6b3717390606c3dace15a210a6dfcf24deb15f43f83d826eea8772cdab54ecaaf5ec8038043e0bb6f1aebd6d9866714402bc0a943401eddc1d46299ec4c6e79b20e9ba084f322ccda0262a2f7b92495439378b08b9d35588a49c72bc17d54e5e9cada412138f13478fe1430b9059a0736ae99044d8be7d2597740044619ffcf3f31dce82191d7764aa4f5483f7c933f524d9ef3011a2080db6942cb9d99e74fec71b05af88ae78b3e846e2f6ccc239f67708612f21649cf5a2356a737a46774961d448f36b523e8d796e0bd53f4b7ab45c24cee8f4135cc4d3ad6271fa535da3ea942a4e3a30b37cfc6f79db1757321b7d7f2586d0440306e54264f673e1d939e6a7f1c73e76921f05ef953ede7b75d634ccb9f32b21d9cbd1a572f4a8c0ccb317bca1a8a898befc883fdbce206f6c861d9c12ff5620467dc9d27259e610b58af7f88ac5b7dc4da7828a0f8df07d4832f5a4622acc748c2b649c08de494c274203f8c51eb3755819b1df016cbda35ec2ff773387090169a903a6667a4294f7163ce32dec1c9066c0fdc3ef56471cda6273f0cf01d3d76639abf57238f1393046a569132c2fa986ddc38af7647446def56b82ff20843afc81fc29721205684a2b7dbac7a918542cbaafe83bdcbc561e37bd57f6fbabb7302c80e359b57d09e23baef4be9251d1a7d2b8e4c4d1ca390752139bcc60142ec590d19272c0267fdacf0af6bf3510159316bc9eb114df357bbccda8a5cf252e4e612cbc29ced53f7eb7a6b6570c24f4a7c80dda074dc456166ae20c1ed0c52c40f856c60d3012a35b038e395a416d247c2a063a6056c53357bd63b7a0e1bf604df9299e72019c3b52b0d8e2ea340b675aae32c2d571f37a9f0b9f02012fd24ca13a1eb340469488086aa5811219f8a5f6e270d755bd27afc7442939cfce504e803710b242529011a9fcefa5f707a45e01ae51c1667d0ef17fd3a3e0e3a565f42700d3c927bfee90ac08467235a811cf0986a75764ae317496eb3bf282d9f4d71120f7f1722ff12be00f2d1cba54b0ea75f39ceb6eb8a0c80e6a260bca98e3862b5072b5722f6846199c4ed8ee79376dc6a7a7205ec9c7087de8d8b92f247260b6739a866c93ac67a82d6db6332838b48400de61091a7d6eb717ab95e5821dd2475c05e37265440ae4756b4a1588ffe854f096dc8b90eb21e1254922974b2350b1f179560acdba4f53d106059a622a9a9cdddde4e3af7bdbba5e611dd2f0516954fba58572c8468ef22e4411bd5f0d995420b85a294ffbe675ff052d39a148bd9fadc5897222f7bfd19c6de544a99d843adb53d6168f34debd189e48a8d90e059ed4f33a151dbdc673d9104f0ff42c79f038ed42b24360b4d1f71379582e0f767f7aa1db5a31f0b312e7c367638f49957a519463063904b45ceeeded89b0c16d0d6a4b3e7223b28a457bb02b70080ec5755465b388b51c782f884e3cde9a26a7e9f41924033f0b3e99185ea771804b583b0a0b32e2b2464473b1f28912ae48d36088ded47214c73cb1b2ed85ce914c20aad44a84d7e0c63e0944865eab5583df3dabd3ec72f6ab7f7e7cea919eccd190a767e6e1796a020e4e5eec28dad9cf2ee38ff79f728194f773c57326500d70fa20ee310df81157b7dafc8f154c79c1285240f41f7259cc419f63e2f35d597c95863a2d8e7f7f14ee6377507b3921d2e7444f4c435825f739adf711b2c7d0416b11ed48b4d58eedb27a50a9dbba8220a2005076b572b357c98f7ed9b327614759434190f44611e21adffb41a956535586f9a00e5213aae8ed5336ab3b00beff1d02de66f8608bff3447f245ac72e50ee7c13eb8701b4c0589802f829a67a0683e729a9cf8c610b9f5172d75a8413670de16c0901272c74069df9004f5984faee974b7d0c56a2dbfad9b40ff0a48702e4da70caa52727de22cf8c99318c36ca22923bdbc47d4c406f8084ef3c630b3f790793f890372da595db009284267fba6eaf443d7fa923693ce396a5d6187cdaace5549ea82446228a4bd9d647b172eaad5cdf652940d0866a697c57b2221f84c5bed93cc453616e91a97a13f841a11e837cc892525e3d0bbbba655c3e82f631d0111973e7e72f376cabde8fb050db4e7e5ff21af425f04a302454d2b9a317806483b90a7cf72590f2510453d57039eb7b8df08cb6015f9b66835d10c426b5426863b5372a2726a5ca7173a444ce71d323abd5b1208bb851f999467e461c2a3980ed700299d7214a9b2b5c1a4eae59337597f3ece210aedba1c4b3d57cd6311bfbef6552dce726495044a8294b4a567f3acc708bf60c8de1b6c53352eb3250b54d6d0663d4a7231104ec5ff8ed362355928c0c739fecf2071c00fab4ff12e9fa7f207b4b13b0f0f058614ab316abfeebb3ba5c02e4e848b7a84aeb5c12a85aa3a7d6919819859c530933e636f25b73cc3fd6f47387268200024a9ae50a353ed11d816de33cc298b19249650b8953bc342002d27a88d29d985f316d8f6474097f3861811a69f72ad0b1fb17d1ad27efd9812b9085a09a197c42e29d4b0ac8e8a901fb3012d0d728fa9f5cc9e66e1f71e2d3cd0a038ad9443bf6b944c45a63a4b27af5e1110002b1a841175aaab9ddc7162dd87b7e96cb8cbe8abefab598ab15bd51db841d9fc660b6d58f2a4e9c5506b865a1a6f9b453019496c2c113708b5bca6889ca12e1c721a13a3597c9e93eb433b02363f85e4236f496f5f6492bc4e2a109677387e9d2454296b5629345f8ca689f4368042b9e20b26904bd9a5ce34e678c53aae65bb40d11cf6d9b58d0cf5db0421897668f0105c5ef35c4ded5a89f25667e606481472a8e165ef63f077cf46f7ad1d2eab89815d6a4ffd806cf4ffbc3550ad28b39b4c419e084b56a63f98e927b146648f225f9a4f8d14c9fe6790a1cf4d5bcb96aa720ff046dfd7940f760ba36a6997c22bd1fdd2f7543e817c82d27c0222d9300c1d7c32a7e9f1341cd9e6de643a38329d310b5e1ef2dd67b8ba0713eb2567595330831fb5f15dfcdb4c7de006426973a47bb361a8635453915fb0be3fc113d8d67253bd446c68d39717057ad6d22dc7002b7be146b470ed198d9dd490370efe9272dbc48d7f16f6fc25c349d8ef870039691a8a50e6c135605e3238fd788b7fcf65f6aa4f6a0f2f762909a7870c323fe5484313d2093a0073e2cbfb222d8a0aae0dd55b16209e8f1f4aecc88c3f002f6144214287b20498d9add6bff5ec4fb0fc1ca30484ead83438232b04eafed2d5cdfea9461478f95c14a4b593c3257829d049f1c397805b90de0533e9aa78c679b82d73896fb48709daafc7fe4166f591c47229da563a4f32f540ac0a0a773a8e1ead54b26f329226f06684639ae890cc8b44a7bc4d1c05f933977f3b72c07d36fc5fbee4c78d110bcb8c3429005c5f82127228dd73393680d5b423aca459885babdab5b1092d3c55fee0d3caa550059772333f8fc43ec130dcfac95defbdbadda27ec493073ce33200ff2108ac84c923ef72f42b33f7a79be31785fff7fa6d6ecb6e0c8609f1a01979a7cdd5f964584471720cc2702a0934ec46d2521ec84d2e729a8ca9ba5f2d26cfb669e710686b3e511aed292ad882012b7866e9c646b8bf75680e8654b1463ae3f1927d514aaabf1372cb39ff9258b7ad729aa6710a2fceef23a8409821649459b0bec0068729523b57c3edf9dedf2f448531b517a7980927151a17154257e1bb625d89932c60d33d1c219dc944f39fdbf940d9e05b4c7513a7d7930130d3bdb7cc6040160d307bf75542b98f6a2c2e353c8112540c2b1236b41a47abe2d2aa5aa0640b66bb110049064bec97b810ce94b59dc91a2185e90da94857dca49d6167ce8b580e78b7086472f077e6544728b6f5b45c3d39a09f8239b7ca629363f42b509e99410a8aaf39729f7196e05921444adc565b557f6dc2fe7b249dc0e7322a06506327d5cb3abc72f8dc4a53b05d302fdafe5a86f30bce958acd30009830f4b5b23b8c9b352ede4a30781eb7545cac589ecf5121f9c198b9c605e489073067f5f4f515e6b53908723bd2cba26c9eb0f0392a1e766cac99b1602e773ffef758e46d5f52849b678d50af6ed23c80c5e08339d6a7cf974739f2dc06763adf401bffeaee5186a5a56c720158edb20dca7185d304a6ab0d4ac48d9c365d8ac634d084ead4a36cc5ed2b729e9fdaad9615c1bf45d4f83a3c451d0ab8c6b356fa358477086d4e0f748bd072bf5038bf3d7220364e8f4022a00e6efc8a92dd1f00302fc60c00416f1a142c72fc1417f321e0b0ab0b5b131f07fcfdcbb085c4d0c9dbb4b893bb229abe7f1f49e4599d3169cc346e1903d4e6ae6e7c316a2fcc8306112be9faacfeab13b2f772a8f508962ac71186d9e18140c3a5910b456fc282f5c3b16fd712c54bbceef81eb222a3fe00dc61d3b669fdf27abcee832f9efaca6c9f56f3422d878247fa7134d29e6ad7199c54ec2ea337f09cbe2fa62860d6f3d46cff46aacacd8ae5b93c0e4fc63a369535fa48131fe23e3738c9ae39ae97448bd69b05fbe33aa558aea472646e5b2ed06e9edfe00e76b502659531b3a5228cf693abd5fc47c925c8884711132e670cb0df5df5968ac3a51730751ce575d5f30d3145578d19fc09d7a7c27238d19cb45c16f47aac7bba7773183491272f40cf25dd2f29279181732eb591209525efc79b0d28ca6fa1f7d1965c65433108e274e8a69d3ae3806b36d12806729ace002fcc2eb5a226b9c693dbec90e768fcb39140d805820a0ec05008f28a726a4d96d5e4ca25169334f9d93c5fad4948e6a224ea316e4f31f174a16c2a397213d2af12fa32e4fe6a68b1554a2deddc9246e8bc0d5d88714251c59901f5bd72ab412bfbd9e1144d680bc31c2fbef6ad61ff810fab334044203601537caba16f45a1872b3bb50f3f19b2e765549e507f22c1a010a6dc773a23bb9303035fda720c44774039f93d034bb6c39f771c92766ea107a65770b3ab14044f284bb8814511b2cd1b9bf7ed451cd35fba35dcf8703db0a2bfdbb48b4746a97e6b250b97722f34af2dc556c4ec5f9429d74b55264d87fa5f3723c71bdbb2798563f786e108c23f04a4cc7735272f50494dde94d014d398a4731129f4cce8e14a96e626687268760714e6a7b400a65c121e96b950f6867b45344c5ccef0ae50b23f5d93db318eb80bcf0394c16feba797955f5d22cc11f94890fe6e27049c52ab16ab26dd727635ac40b26ed5c0fc0c9ed9ac1bb733d3b81880a1b04d38656be54a23ed2b3864195a87cd7eb835981050069c46a2164e47cdcf5aaf5b0d981bbe8699738a725c07a181d472ef09f562e74f88f44e22d8fbaa52941b978779f1b5fc986c432154dc10812c92b91a9ef36d33772060ccc90060345b199adf3c0d77c1aa6b1c1d7dd4b0e8ceffa4686ea07fbf865331aa555fc7c90869d35c38487a22101dde7233e3ed3f36c40ac8d723850728784eb963b41a413d325262387058888e67fb5f7f05b8f0a7aa34fee6983c371aee1512058cbf43f7250a8dd372ba312b444e72c004e243a638bd705941a6f25ea9c27a3dd125847e26dd236273a5b4c1392d72ac4c1744daf05c68c56a2b87df58010549fcb3363d1ba9e298d66d0297da0804912be24dee41426cf306754cddab65cb49594e763becc2f3c0e1194cd01c3a72aed20961ba21df79760a49ea994520c5b4f2eb3cc17eb5c9de4ce83f79d2c117df66344542f1f85b8a1459115c4781342ccb4a546488fe304655f736b351b67285e344ebdf06a26b3aaa1ae9bba22dead1a3440f414c6e7e6cb77a8344ee4d72601049ea04018108295928007f37884c16916f591447bf50527c7f56eb10b372fd3a7cd2010f5df82c07f799c9004a5b5d8f5a13f53add881105dde04036627204d524b66594b663c8272cf9343dd5dcae3d7aefd1fc839eca2698aeb9bf5b59323d7bd725cdffa68bd1027b66885784a42e569a086d5d7f2dc24e9938a9ec4e701a5b332b51f1f970693832c27bb0497bf85e9c35ad24975d6665ff89604e72d23d5a0c894ffd205ba449eac3aa0b3e6f9cd9fdaa5981ff4a78eca4922c6a72f2af2c9ba15e088abfd321cd40bd369b9055f30e9d996b927e63ff2e8a8e5f72f2157f6a916d1746328210c98cc8645acbe0c61ba4d87aff836d3132a97ff051ab08996868776412400920f5821251d2b16a6906eb027499d8e2d87fa4f91753798a383ab8a5b629d7421d3fb02d7f24b6df937e1d26a161d3535b2581b9be72e6f003519134a0c8633b51e21ea83d7840986deddd27db0dde69c85c5741bb6d874988fe731e1f14e997472219f0e8b83c3ad30f6552c5038bb9a6adfe4087621515758cb199752334d65ca00be7414c132289856d1fc371fa8838b98a80d1720d9e27cbfcdd8b18579a9800f5d5b86e7d7625ce874d8ec56eaec58a6cfeac1d89b19b20d02d6c6bf0d93d278d39691cd63d70ece57592350de6883afe670f72d118de70a3a87780a5e440dfadf0efe695c4055289b32d1fed2e891957b410720350ec14d62a952bffc4a294496cb82d36e8effb910ba2f5d94017260fdf6c7261252529f8b52f2a6ab27911fb597979f118cc637d302d7a78ca21fa4f84416095ae2ae634dd881be52935636d36428beb9c55c3e1a25c9747a77d6d5a392072535f3f2ef63d62692522287e12e94db7c64969f645e467ef92b9ffc6e20a5d72b6fa5216be32b219bc3122fc50f2b415a648a6a0296ef9aadb59f11c4b756e29a36b010ec7c5d22f9c351b4b916bffbde8d2acc2e9f3387a852e44bc3fbe2d72353838bf8c123befa27287373a7c423c0046f3a71d400c4acbeac36840596e1df2b1315299c1246768875baa45ed684ce9a71414b0647a354fd342cbd2f18472f0eb48ad48c9d368cc6f72a4e4155f451615b8c1d821c3bb77787370b82a2072e8be312089aae1eef25517c91e2d6f115c1bc9b36427a37cb416bcd2e7d00a286ab9eb851384c003048c699371de22dd2d6fa83ba3497e356d65b522410bea727bfe28fc671f44bba4d442379b8d04055536a717dddc8a86edb990f9c1a8df729a093a5e62bf2a55d4cb06db800ba71be4cee6e43f612b50a8e446ee78ca3a6b24c83b501a629ede5acfb565e6a6238cd002e2483f673d245bf03bf67d528b3bcf69da018bbf6668a1b7aa3becf92701e55a739eb2f1fda2718e7d9f80934372d892b33e354857841c4f4e6b4942b7925c8c739363a591e456fff2de6ea1547299ef3100ad1853ddc84e1b2f729b2c81f0e80c588dfdb7aa5fb0c71e34663372364de41f6af66a8aa335bb21a126eb681574d04d7d962923df214ac5baf67472ffae69db9d1f484228c1493c84b33ad108823f3763d23b540b30a8403a5241727b977b24a7c5d82da33373ed64385d9897a4296c4ce150212573bded3e3613725b81abb1b67c8cd14592ede61002d14a43da25854532baba36639c7a9ac9970e8e210937c770282bf8cd9de1063c4f867dcf787f75904f3f4833459ffebe597270cbd194c92b68f6e0ef03b84b603552c1c0c6be9ea4fb7defacc1b0aa58ee2fbfcc323f2bc41ec1c8e1afd1a5ff0df6f9bca845e88f7fe06ff0e9f4fe6dae07bd225b4ab23ba0fe424ef8f2f4c2802d82f2804b341e201058d92b1daefa550a2475bff335f358c52ff43c6c5a08ef75bd38ff6fa9e1e93a17b374cbc0bba27296fe51765867df3798274f377155efdc920ee85b898faf83447d57bf03fa3272bc5b5c80bde3840d6d1cf7fb79e7de65dc91b8a0d37cfb4ba90f2e620c3a1d72c6dde56b9b24ff989d2398c64108cc611a88713d09b3807ddc2273992c9536729386e65b481b4fa80ed5b1c83a3aef5cb0992f080f5f9c4f0f7787b267766b05d8d71fbffb611bc7f13a23547dd02ad04d7056ec248bc26b2125ce7a9a224672e6ab17c782852ff6f8095b57587a2bb63ac70f32b52705f25c0d8eb80d322c728b6a85526acae3efa2291e798da3b316bb5381c06898bf728be2311bf43604150995d78b5e1da9d0871896c904dc1691381ed2a8579c807c050c7e52f1d4ca269a0f6f164c18c7dc613b785b656862fa361560bf89d594a0518f8b0338ee9b725a26adaba125022c2cc0e9a46e1cb88d606a42dce83d1f9cf3476dca395edc727c3d653801e5604f273d0d8499ab7381bc8e5af480b346d48653aa6675fbfa11f6854c6198d773a1ba30fb5d6c01dad36b232a9ffd8e44a1700c8a3cb632a845e74d517deedf195edae4b379bcaa2adb18287ef5838506c019d5bbe7ee78de4992cbad2d92e4ce06fe2b55831c640fa6664fcb3190d4a1569b0923ce46256c720eea656bb356165a10154db564fe4f972ebc7226f35fc10b2a3d0a41736a8f0c818579342bdaf65d668ce2a0e94df4668fbef6cbfcc3760a8ba735fdac2a187204ed4d09e0d32ae84740d9181e2c0ca687aada11339834fc1f071bec8e3d5a2b08acc6330b452ac8fff5705e1645dcc5b112e17aff9bdc645d1677e5d9ca9031b26d2e0614b410d011aa042cfffeec5b67ae2ddabf2862cc76a444a080ffdf726ed003d2b27cedc3fc46e1640e1d23477ccf67e00090277962827a59f153c62cbb96f3ac46bdd0a1fb4e7056709e80f08b064e9a12e50cd7ee03322eb23b9d72d20ed2f502d74f71b84a62b4df8023a068e2d406eb5bec8acaad871c4301e9655fb415fbb430837ff0eff583862a0ad94c9b4ee00d4182435de51c262d40a56a49d076200081094fb83e7b64535cdf5386b70e9d688e8ccd360b402e8f427a72de9fb18d8891186c511bbbd67a072463235107cc56d41697373d2f94f24ac200f1ad2d7b84bb4a3ac5e8b96d1056a01378bceed1e9e7c214a95b6a53d8e7572093e9189cd116700889494ac54e702e62bb3453167f41ae1307240042d4ecfb72a60ecbe4d11c2d317be19f510c3644c02c5fc86268e077397ce009cd0089596fddf9fca483de0102842bd9c250766596107d549117903555af51fc4ead2ec92f1ea1c0ab45d6ec8124cfae6e33d318b8684cefc1d47d8c768f9b1913627a8b55842b1987f00f15b90b0e8ce0fbcd2bac0fc55b65e8c6583ec335c36d03349c2cb19186c0bb2bedbd7fe1f8218a6e829da744a6f7884fcdd58c9eb3b12847ed72c91310ed04dce5efa6c9d4d100964802093b4dbb76737035574598a9c690bb48a8ee5fd60b60d8a98574662d1ed42fd8631dc8feb1d613789517fb5e6e2d977243a08165b3e517661b288a32bc56ad029622c28b0a2ce705f5c0e0122f1c0f0e4f0eabe92e5a310aaf6c89e7e240fb4e8815daeb5f152dd2af5770eabc149c72388120123a95418da19fea572011302946f459bb0a80fbb258adba8338a21744c0c7bb4527f6cffb8f45ac3ef02ed9656f8499728a601a69b40f4067673a2565c3db40e2666ce3d921e7ae1d9e193101d6433b3f7c0811f45507f5f170c18672eb4555ec9b08962a6cb3d6c26c6cee06917eb11abb04011f99d13e3d3d186a72cb2028f13544e252ef697c588c79262d6ea520103543ccdbb7d2b3478f7c4605ca6575874a0328983d4929d7288f6546451315caef57ac30f4b2e80e5485ef72b5d9c7fbe14beb7116e93b2a702de43370c7e21604af7957317e5da17057e0356f28d1e2ff335c820f3c54bfe922fdcf3105ecbd5b133aa4b4f9da4ec32159725d2f8cb1777eb0899bbe227ac63d18d1a2167772802a2cbfd1281c8a97dda172e559da30defe5ef7eeab1ab224696ee380f542828ca7e933617672cf7244e772fc86349903fbe4fe26069d880033201eedb49e2297af2a975be1aacaa84fa00c88ab415834abf393d29a6b8c6a631ca54231d650415b465c5088302f9d3db513bc93c3794adad59e420ac58a95d1a2b799f4b52dbe4b501d79247030b933c77265dfa801c8dd337c0b1b57e9c4d8c3772362e92f916d8794b43f453d8d3fc219b84aced187aaa1f6f146b0115c4368a9e72edb2cea96eccd15f47c4074221572966c572c93c1cfc59a83abe26867b6e148fe8005e72819875277e0a6aba1e646539e66c8d0c4268f3a42ab6697d84dd4c98269012e45ab6bd179aac3da483d72322bdaf495b73deaa3bfb29f7c115f22f35e20f274e01e41f8d4f80636801a451270289311c68ff40816f6371f9f7492bcf0c9d96eba01662842fc72629ddc3e9383d30be9541f790af3bcec4d98db83bd6d9eea1588d055e618cf19f43a1b72acb0df5c0ff56049f7b01916e40fd03c7c36a4b5e3848c43ffa177d5e65f075a437f6591ba75615ded2655bd6f615bfb8285bbb676f7abcfb1e3fb32272fb072e34bd647fd9c85d21f14d84a9811571569f0b0042994b0384c415b83de18db729eb285529e9b80c881c687940d30b4e13a5dbf688057bf50dfb6858b99ae7e72fa41c596ae56be5a47e54f1d3536c17d329b16f53b3fa538fe0ac8eb8b574f72f36d9b90c4b86d199d120d1e4ea624711d30946a671cc266c081468609f1f70e8dda5fec383a4341c2c78a34a72197d321a5e271bbc68d8fe354217a7560e57275fc7c4421fd0076e8b7b5646e2b1f95d549f9004731bbc9589ab8a39ce8f172cd821f98c460580013334d668cc208ff820abe647297bcbb73b4ffaf11a7364345f6fdbd17f56ab4fc8936e3e35eb11b91e28053dceccf76e2aea954b8d5b7723167641599c71d78d4b4722a845c4ff6dedef531f55be8500eec2b46d34d0b3652262bd15930b3d341fd176a3f5425e4264256d8af0b3fc3b5ffc77271d3517278050a3b9b2c5d0b83c0389eeaf5828b1145b9912f295f35556684152bb15e72c2892be4c4af6002ea47ee3d9f4408dae5825a2ca5a963d01dbf3a2b232a75273f03d3bc979b71e6e7257246f9fcc726bc0be846f61bee86f88db17d5b834f1ab928ed34fea3df2b09bcf6a2d6b3e91919f25c866a753ef34edc16104ce208721fcd9263938618b05395cf79296bebbbe8372150fc75bd488db3ae5dd2c0a6729d6b369ee2eb1f3fc276e74c89f326c2ab8c8fd32351f0f7db68d6b67750427128f57fdc2dbc5abc78e2f45ac3fe7eebd6a6490914bc445399752450e9675e72f5bcfa4f43a72d3aa1670a8543443547f19dc53d8a92b440c6128c51e49f547297dfa87e37ec1cdc33e184e8983ff58640afb6e77a3969159b372c86119ff9529dc369a086e5ca45b0c578aa9a96114b4169692fae3df16258d1180e34e2d972338a16b8d39613c70f274d9490d62d34712169feb333251f9f6aeb0d91d77c72e058a8f0b4892bc832b52aeb8f5d5e71b52ef5bae3c76f9de4d3cd4043a31b7216c96c514811de1f359aba00750ff1f7d0623075111a8ab9b07b627eb2d702727cb5e778836c368119d342dbe4e9a3811cb909129be27b41b4d061275cb6fd72dda8285d3a620966cac3da8fc82273fea82a3cde636473838ba6201a1fe87d72ccb2010ac503724d1704cfdf392ff67ea0b04ea304d43ed12be7e509d11fba5baa90d9303c4f9737f995e368f49f59daa37402298000a2555bc1ccd7857efe0b569f475545c1c4ea905931de751ab3a891495b80857648018ad9900a8214777290eb68ef5e44db9eae138b6521c653300e404dcfcb7813e4d1f796c8268e017274f30a9ddbd9b319d05f5c0bc3dd09d134f09818076da4f16017ff28fac7835c2eab3a6f9c64bc6cece59a01c60d87807c90d31e3c658296cfff9421d27ead18fc89291cd3477d66c4000c23a9e5d36de0ab29df18a3d7b9c66fe8e13cd70825ce1227cfa77617d3b5a6d10caf48e93d128af6fa35e4301dbf6e18e544b0412010eeb580fae8c44f11805bba2acfde67b7d7d44f44692826545eed4353ab21725450201f222a06aa244e68dfe4d9adc332f9c8fb95d90e6a1d02aec792dfd8729b8af830d0fa511b9a34b231444e16935194b29b2116e5c3919ed4ae66f90b72d7956e0ec0d6d8521ea84c8aaef0712846039c391c3de429aea2b88fff34d572e39c09dc4541631a1235a552c237ee3544cab4631e99159b24286533f0fe3f71d55aa1e67871ab4ad30ce902bf371b3f3711099099eb2fdca730e828743d2e3a4ba2a4e5aff05f173d145412673a683e882197d36cbaeec7d42048121851aa190fb8e11de8399d7d5c5ba6c25c58b2b935376aa59ae790bbda2d769cebe6b372af1c254ec59367b5e21ae983a143cd89425885397375761371ae54ff936fa36a62d04f0bf8db7db10d04687e2300159be96cdca71c5574fed192e326d0eb2a7205ae9912bf995083edd8c486c04d5cb86314ddb4aa15db84ebe6b8ef33469752c58fada47df47332e598e21c22037cd7344c924981a0ef3b299223af6393c372b24513161c8b24357324320a15ab43ad64af79a0912d0eb247fb757fd28afc726f3a08ef8bc2d77cd5cf5459424b114e8445cd377df15054369ae215330ef872bc89bec9ab678827b4e3cfdd31a9c8a9fb0522752ccc7874e13b50eb3677ef59a24a3af399a0c24bfb176fc68bb2739c4fef64ed0beb76ecdaafd5f8dcbe8372a575b99eae8cbf6e5f212740f2b93059bf6f153b680c6a47ae1de2ce4291d6720ab1c2fad5cf9f06ca23bee30beee2aee40a5877bf8fd83d11db4bd38253fd72085715d6d9834fd1fcc8da5ccf329a86db1c22f77a074e44a937484394e74c724f70d02406134cc68047f92a471122660f83204d95bc0d01602752238849162e7fc0055040c2e847d1a16bc392e11478ff5e093dcd6fba44ea161e102602e172d552dfef1f972be19d5842ab45e09c30b50304a3e00c73825f29208754cb2c5ca3dca1e31e071a374795aa0a49ad2eda8c179d2597184f3ee4ed1a30c0b81f467ca458db2419a0947f2d75dfdd532eed4ba4d00a91ff74f215fbceeadd9edf19f4e1df61520fc5d56d96edb017095e228906fe3d9cf5f11098de9f00fcb7283e74dd833746f69b17e3e4d3e30044873dba7252579870aed271077aff49c6fa7253539324e4b906ed334b667da6849d66e3d86d8dff6d3782223508ff5a920a4cb6032452fae97f800b09e8140e7f61519854121061e813a99afc523f84613363e4c52b83ba80d262ecd8557c2465291d6de8177570f50f3ef748b9adb308077240f5bde0c20a835b6207c3c00e7a2db00cb5bd1a844da8b8ef358f781217497210af992601bb13241667b4c20f4731ef872d54d1e315782c7df69988e019e93608ebe1c36606a8eb8c55bb8260d723b0e6fc47dd543a832442f41e5fce908029f6b998a823f752bc65eed513aaec51b59f0890ce01510ceba80eb95716168767563e6f784b46ba2a33f4e93f7f726f1ebf447f7ac1d16411d8d5454fe2edf546a59a2d02a51c84466a06657b5e6834e19d7f32da05ab83dd3a3899bfbd143a62be4fc4b776e5266ec948f3036f67a274fffd372a143d9a4fc21e5b0c1cc2976ecb792bf1dcc77af0c44f38be5acf7425131c327cb7ec2e6b771471aa52c28f2dbfa0a6b1e7d26af2e9b3e602a937beb333a6b47587a287cc923524647af70e0e29dd50c4b26e3908d5879a9b3f4d6976d4128017c20529b39a4578f7caba5972a6701920d8ac0576fc13c0330bf7dc5984d2e594fb2f89bf688268b56f7b2523b421de560a462dc4c0d3794d543e1518b1a6b001bce8a57a6902f1ab49857b72d8cae23e6430a05a4f0b74b4227f6feb502dfe3d138c678c7f8da46fbc0f3a042d419bbd338430e3324f6951fd459609ce421ac800dc2576f7a88fffb1decf720fc4fb9703670f8d5a558b233662b33136fb26337a9e47661ba415f4caef73726b0a8f6d89a337623f3180cb3e2fca3508943411a5f6ef998ac639c992c0c66b55f4e5e389d69f1815b470795c10f11bc29dcdab5f0f35b647625f5e22f88f1afa961a043e73f7b909edbca4f4bedd1d42735c6a3943a55fa8f45e0644d71572ea4f1a5e7006edb417d4ba2f9390bb60ff96a965cf6b5a870e85a605044f2c72d7add74cd401e9e0a1ac702dbd46f103a3bd5633794a4999e9ba6d8550f6ab6e86deba4777e9012e6dde6835c65818a44721d201137e1653ab34743b081e460dab6b3f0bd33e7e97bfd14e277f69fef75f6f56283ada718a25cae3dcb7bb6d6975954d59d105d27e6c0c78d03c3c2e803cbf9623c7308bde79650bb2082206722ce725c3b081fa2fd474d52da0d4978fa18b126cbbe1056b0602d7304b6fbd65a24e8995ca5a4df435706752e74b63cd406c2d9a6d3272d2e29d74bad7b1b172483965fc2ba52c7e6bdc0e112228b21d32e8a28a4db2a876a3fd1e60baa53f7254117435d00c999dcbcb245efe727b225db404c4f09c595c59705b947e3df312e72c8522e7f0062c71b9c97f98cc4a36db3b06def770398d8ddf8630f7e51f206d5e758a665e929bf47d44d603c972b968eaa7a2f39f2d6e75530ce4af173572112dea5e078175b4bee8961e73d2c7b3e226c09c22b1218dbca8dcecc0be7b723bf0f03116963fcc9291bbb71704d52875dd68925eb24f73f8cc257f1fe4710f91f89eefd94560d652537024ca128c20196a59ae9b1c807fcea9273116bd8e72ecec8d82198c62e4da2a1fe77f9cc3808d3e212ee645b927a1aba3d630709f0742ee75fc9f1c2e8bb307effca8ed2be588ba0fac45ce9919b3a11f9bacef9e073c16cd2cfc0266c9f98055224ace4cff81b9299d290010f249e7bcf2087e3a724620ad7933e83849bbcb2b97db5cbebc682c7d91a14bfcc61588a0da19bce25831029bc2c6040fdb7d1670ff813ef765a05ecb41e4048b975aceed13911610724205f1017ca76b3e33e85be954b76ec4ea0a8d944ab867a6d069a708a8618d6b5e83af9d3b53db7730f52241f6f95563b98e1066c9aa3b4f3906f5be6e1fef3c87de10f3af4772f163832d7c8ca756351756e1bbc5715ae0837e2521529261725d0679e7949f8cd59a2bf680e519e49fba1af7e375cf7aee7ce42a3429460b08a3cb7851337267a7df410d712839e63a65f7d258c3d5aaad24d1e729e1aa6e72280cc4fc4d2521b557b93acacbe71e2f54e1b36aad3b8f4cec333b0795cd057216a2374f187e895a8b5a7457a7baed1d9c9ce3b20281ac7f822a15d917b0d37263ebc90ed996280c4f62b6e14bec9367081ef4d49ad116304fefc6cf51cdd07227b8be970a11e57712da8b07e0285f778d28b0f5cc4ff2e64c0419e53206de727bc1eb09a6491f9a97426f0531622b49b9aa512bdfa04eb35eb77ddab83f7611fff9485fda37b1e96c5af4ade1d9637e1dee9601841dbfadedbe6d083a8fa6725a023b02ba1295dcd7ed092250826175c65b924bd82ea83411b8fb8b4674a672d43d24572f0bf1530ee0a0f8bf66ee36fb7e9ebae8ee7bfdc395d2bd4fe88c00041dd75fc1f4eb1bc3ce9b291130bbf23e9edd939656df52b8a47e03ab9d08727db6402a44141ad7e443ef8f4eac896d42ffd9e448ca65da222e5f5ad83ead72024583f0a72dc0394355f568b61dea2f4454256362b8c39b9e1e04e822b02f72292108a2fa7500fa49b5d478586dc8a51524eb2375558703a16c921a74484014e0842b8e3398326ebe36e7519052484c929df9dc76cb66dc7dce3f98c1ddc61d6892c7bde49042a5e9b91b6ac013981b5c3719b79739d0bf029b2eb975d74b726072078cd719daa04eab410789c14e7ddfa3f8eca6b8b3e1f538aa1b04aa9504a3a77d29a19d13680fb80cd8c4ad101616baf2bcb93d2dd41e2dd449e302ab127df3bbd3f3a77263834a3ef209e7daad4350b4042c0ad188d7d690229c94ce296108dcc72c4a319c1aef440beb9411796e52e295734cb417f259cb08de45f67219e68a19789aec4cd3a5fa25522401eedc38becf3ab6615bacee36a5e3e5057207cbcc6f3d9a10ddfa043d79a4a26e4dc0e82505dd8b2cf0c8d00f869cc74c725ff409c4e8b44561377610e46e045807eec13777cf2eeeb45dd8a4f16fae4472fec302be2d90fa2ffbab33d95e1af18c0e27166d7dd9964438a6b86c003b777269cd71f54fbf010679602c6f38373e439ace1c93a0cbfd612feb2b9ab4d4997267db0296b2b6b279540a80edfb563d49cfb3560de2bdbcda53b2df4aac681a3b48e8ba000e0727b37ec05ff7399e077f3fbf694dcaf6f0979a4abe925cc2de72c2a796cb100bc3785e418f1199b491144aac8a7f77371a57dcf596581c9fac721754e25530776653689b0cee71d5517ab6824a798f4e5731ded6c58c4e3ee072b3d3f19200ff4744d523dd5412d3eab90c50674c3028e27c7ab0da2d7c86f44439d3da9a670e3829fa642c8c2f39986937fbf7ab4e3bb934e3a85e0a361bad722a3c8aa5ef959dac681984b5fbf4c6320ed7f0d3a4bb1f1130158613808090309c157e1e35cc0773e5e997afb4710c94ce987ab54a09d118fd55e2c5878752722a5c9e408b2feabfa6619d57aa21f6443d8fd057e47b006f6773c6145b95e249aa41126b8ca729f479fa3701628a099407c584a814deabdaee1cfc7a64cbb805b0cca944808a6aff9155a10ce70fce3f9ede4277fde7d1434f770136ea3bb0319944e2b2760ffdea3fc8639b92bdcc60c71517a106677d4fe11f6ff51a031e721a827c639a6a4afeb86aa009216706948c1a236085216f9a96bd88b50e44e372d027ff6ea18bde7b60d95797d2c204e9fb42b138b21e8717f836a1fed13bb67231bed6b8875effe4ac2e8590dafdb9919b0214bf9ac77bc6553bb1c8522c4c54a1acd21f8dd3510c2571925718f55f64ea7e1961956187bfe14560aaec8d27284971a1816cadbc8f3d4ca20dac364ce8d8f6f42426cec5b7e810dbe3bc1fa6720a2e4b2e22b052b21bc572dd1c702d54c24b0eeb702b6940f7fcab1b8c453a63454d3f487daa58110e511ea9d0468882fcb8587dc41acee477d2d4364431c572d1cddfe2283925dc8c7fc2d7d07ac72a0f2d020e5fafc71f2af5e68b8df9bb561073179763148d40eaa17c5fe072dc95d1b8af7e32a14d2e218fb1b855b777617bebc5a33e4e6b680a02f40a42df6b5e210a263573c62f1b1ce1415faa2d161cd818d2ab3f9c868ba52a49d8fd3a6fdfeac2d161d0017524b47569a6f7155c728d52fa01eb26530094d6d1735c8869cf2dede9369138cbb35595a3422d14fa72db41f9c01b17bf3ff843f9c33ad7b6ce1c7f674bb963527bdad05c2393670d410a60634ebd54c6b68ff2fa44e73d3db7d0be1aa59eb4e6c0608bd72d7f82281f7fa50f944d6ea8ed8fbc041d98caf6e1aab7a0ef642aa5f994a538dda6575b723054cd69b2343c824657771131503b6e7ea0e709f6a33d325e01a279111c6f72bd7b14ed10eafb42ec0f13cdb68c06bc5c2b655a6337f404e9ff179d6d3ef405bdd4b9cd29e9b7059081dd8b547209a326064c16d820ccfa2c8dff3a3405fb72994fdaab8de9e6e7e14660136ff11dcfdcd619cca2a5274ecc4413589b65c32ccb25ded94327de3e542968c31f79d12bd909f1cd76957f3dd39ebfadda76ec098a600b386b3ab1a2b629bdb0bba9fab630bdb0243c2f845dc67feb03e4cebd5cb031fd007d21b5eef21e8cc490bd01d2b7dc163ea2d7bb9100ea88b2e0126312b893a6fced8295592f58d956cfb47e00d464f962f13c244c70d2a80a0edf644a27854d2ff9e70f1b76b84de4014da79187377ab247e39a01aea01c26faf89107ffd8d1eb42ab01f9b270a5380237c9e321564b13a5fa1e871190a32bea927a242b93907b8314506db2cf517718e11dccf68747d027fef7f14eaf5534d8154a7251a0e4b1eaf57771d5d010c64bc038d94cccae2173179691c084d31e33d64a0074f1868e7fa9cf46708bd62a68bc78dc49563ef535edd706d9106e7884021572ddd70f5a831e4266c20bcea0c4a6280c022fe46064610799a44b7521a3994e5d2f5b8e65eb828f33be40f6c075608d2f5df98eb9bb0dc160396209d9ccf8f37235aa458a84bb44e0b4c29b474f62b909ec42fbeb9205eb7d88d39ca09140db45d3912cb2c6d1d162484580b8c81093c333c426ef4e56c4e98807208004dd22722881c6fa48a6a533a7bda316b436b49226cdb37b0470ce3d11d7d2c8460d0772a7092192e387e0af5f2684d8d260aa62ffcf4d1108dc0cda50771936f48c0a538b66e7daff3c17b63d579e5304fad87ee3fffe6dd359372cf83b47523ff0e972cf64369c7f17eca5872a091f5e0108c7a9d399048a210c9401888d4a1b03cb72b2955fb71d7e1999a6e7ce10129b9d2901d292e62ae1509f47a13a1f54df4a72671f3d35288f5826ff9ca0aa86638cfcdda9b18edf5b42c367dba13dc7fadf1dbc80002851d14661867d96f30bd5455542fb23d09b99bf923ff70d15925c70260116287e2f1aee9a3c3ce0a83e14a59cd014305317fbb6395a595adbe424f348ab8f5f03ada7588a58f9a53fe4bcde3629d0dfa3c52ed474dc4f661ad9e64972c4510ce8ec81ff1525730aaf9f69644888bd5b0c5a0f502684ee2a7f2e41bc720927365668675ca33225970afe8638f5851d7cdc9cb9a75f37760f61b68a2872ad850cd546ad0de963ec49e8ddbc10092cb0549b42968ade62043c8ffea2e472063879a396a24ecdbdee168b305315f7ffef36805290e71590ac292488888972eaf3d026828f8288c94a8350f699c1208267cc3b0188964269a3b567e1a18c721f625992cc0658b173118cd3459ad76d1021ee2a865979b0e15bb847e4b26a610e63ca5fb55b9c239e1a68fb2b6f3ce2bc704ed1f10907f4f31b3ad637ce97728701261704db55666ac251af47689705a24decb11cd8454cacd0d65c3e159172e271676cfc6daf447393e29d15aa1845769b910806d8e5280a8549131828695cb9c46e869f0ef13b43bfba0dc78b488d35a87d930726f0cc4d2b046cea16955f768fec0dadf1b05a7098eacaad71ecc93db08d580ca7630431a3794bfa478972fc14aa407d66dbf9dac95384f9b23c2887fa0c3a4b9e023cb1cf82b19e23ad4283a854422494a2449d3a86df2c9547de45289d30f2eb9feb652b84aaf7108972239a8c62ed0fd782b49cb9128a24b6caf3e45d7d993aeeaf7dc2f134ffefb172c90dc2242fab6f75b7b5d76ff3136215f180ed7814eacb66663efa46f60f72677be93694d13ae5404534c3aac72f2aade67c9c512bc330044697fcea2c5cc1682dba29c14a2e7250e45503e61e4f08cb1838702de78cca28f5785d0e19a51d71dbe82ab21df0cd40e61d630f74dda51a75daea916625cb3c403870a927fa49720c34c7d42a538d7e9ed090ab8dca72b71ceec065029ac7a4c841404fed566666deccdc426f4d81536742273f3e14961c1034dbf8d1a39f7b65ba8cafc1ed6472505203ab01aa60a570a60176b78574a95683f81d7839d74a6b7576762ada4a39cdf8697309af3b84ba91ab702b9779e2ab53aa19c8295c3bde79641c093f0272043647ea86179d09bbabccc9438cd506701efd27eeb6c8b16f25e8c59140416adac7028c2e7ac79b17c996ff8cbf39b1b78c99bb94ea4055559c464e55981472e81b12b42cfe929ee6e4053b257587f30dc2a7fc9c29c42cd61d039d5b4e1772f08ba8531046f1e98c506b48c1292d3e455cb2be2c565368df3a5a3e24207c29d79bcb641fc2cec568df2e73b575cbda9127548c1d536f6a2d93db1cf8f8f37243be9b5486095de4b8f0e9dee85b2541ca53011dd7d176cb9b72be6b7848b372609b806e3d9e0db4615b0a5d3deff6f6cd582e1f8d4841d61144038ef20d15726679f0acd426ec1292b8952ee200610641a607d7cf4dffbafe093a0971e6b23b25526036838daaa94fa11d0b321739a69b324fbd7edfea9692d93d490c42647269739726f12f558da3b34e1983971df11ce5b85c9877c1a84bec92ec945a3c33d67f71dbe9631292ff603de9329382f256455fa131d88c6d093e63a7b058d418f8e30926ea6d2194792a33387649a6f03b6768500d404375e1c528c0bb89f923226642bc0d0d33f5e5095a33fc40292e12b5cd1bab834e275794871d0efb3e72ec77f6202c4d9e5507f3b8955616a5b54f9a321e7173de304870399c888e81725ad08366c3268c3d222bd1bc0da2674740bad0f8e0d9e4d6184b3fff6c94472fb4fce6ba52ad40594b13ab0af31a946353bc49512374a8a66ffc52c6acaa2c727c6d368ac21cc5b82e76786ded65c96dee18e0b2efed089f5b8940ed33c2b1720bda3c7e084cd1101aa711715f66b10f37db0f0ecbd5ed50b0bd9a3bf1dccd52e8095fc2531d7a83c8074832233817dcd857e3081316e39383661ea0d0e2f1238063c163efc9e3dd8cb03cffb78a53b0994bc9a49728fef1e4b0517ae9717f727d4b96be1a1d361f8341957ac6aa71c8b7902dee18adfe1d37aa23f3a3bb233457ca522607508182776b5e0a0e3ef410ecc165ce7ddfb7d1428f288170f28d72a170aa23532b9fb15fa07c7a5a7698b63cc3d8e36a51e9f5797f9265d4c3f672d40d34a7698670d20cc9e052ef99b33c91d5860f0f29e448a032da12559b767278aad619aa95b7b6f01fe3ec0e57892402bc35f1560175f091da7200f9b34272d8fabb5c8beef5756819b731ca8a46ecb94f48b19f0e4139bbb01eea89b4687206af1126b8c8431ce22b9990127f7e004f8990a0a36e68a19bc6e1c1c5dd0f35e67d24697a148be411a9f00038985ba661e8e9b7414165637467efc6e88e8872226a6245cb2d773b7485268574d36a3ca45746f9ec833b9480b7fdc4475f3d72f83537f5accdce80fc5a8892a6c6f870fff6eb53a472f102d8c933d126a32e724a4d2343f11705adb36c3744b8fbb53be6093dcf885297640ad7ee1b6c8dbe72632a49d0066bf7b8fa484b605ac251fb44a90514c2e6d44407a8b39f227be4722dc40918ebe2844af2d022d0a56c9980f940b82597761f4f914ce10305363f4ed65d30d6714ecc18399c2e1675a536d60dddcfd09884d98507b584cbf5e64f0ffb54d105bb9cbe03f0f57d455ad4012dfa63be03f1dd7b79c78931be9b125e7211cccbb1e132fad86225b4f38e60d9251798b214c67cf900364c08cb3a00bf724db3350dbafc817e6243929059ce315390326a840ce7d412937623460c7fce0532f3ea5d4903ae801a97c6f35b60e037724c0fcc92bed2c3dd08f33e756685721decd02758e2a1dac8069b2ec5b5a200f988e687925ef5de8032a568fb6a7472a4a98166538643b0e71df575d7e08f2c4c47b87955cd276dd59eab8a27a9b072c81e7a38824014dca425d273d7695519a278d3efd4d56ac8debf900bc6bed172401ccfae4982d4f6a1f618717fd425b53a2ddc9115dd69b13280fc8543221772a310a881a480f6d0465c91f7c61e971681488c5754dc3fa02dd8c1f597e55d72965f4dee787fbd012116487c6e2dcce6e4bb41850f795b0dfc90b54eee93a772deb30607073075bb3e1a43dc23f06823183d5007483fc7e1054009c9d7138d4732231a81022db6638296da8f4057ce978ce758fe8629021024d279f05d2bb572fde6cac42c4c7ce22c9048f65decf1c5fc474f0f1cada1103b42751cbcf8847257f0fc11ce7c1533c273e22c5f290b5ab21a9daaf1e8be464e63338a5edd5672fa5d39d02cc30eda68a04d2be202bd358685092f1faf30addad8eb079beab848367e22e00bdd5cfa3fdebf8c6e05c210374abb014662407f1db3aae4c85a783bb433d06d16b233d7e1a73ad15dae7037fb1f7227c1a1028e2e3965729d769226cbd8786bccd6cabc71bee861899e8760fa64908653ab2ef735c88cf5e12c371a53ee555713218fb77e4986f8715fe97c8196d8cd3a7b8fa5cba092196ee18672cd0eb1dca5e78317d071d07d43e224af914b6b854fb17dc352933ebc5d73387223eb0ebbcfcce22047ad7d6108165b730eae8808d964bd269e92287c4b39c172f3e865ddbba253ee8e380de33dcad37e10344e372cc4c2a3282a3f258a5f9320bdea7cab4a3fe8aac72437a484a380eb1fb9ab1b195eca2c0cb4a145c8736b729a3f845614f775bd3e9052a90f67a2f63dd71cc3518a4dce52884f0f9a20d12d86eeae57f8cb8f2b9c0d23f839173334f744dffa9177eba09ac85465fd32c139b01d21cf6dc97f1f46c738591f9966ba104d62d3f9446c8ab6f5c9ebb19f6c7244465e59a7bb562e1b3a7b5f7ef29f50e042ab27eb5e9e92745306ec4c792f72c0525552e28cc9d7447448009ee202b090ea2d7f5afd78bb848f2d5c31ef9d1f61cb1a650378ede7712706e1938b39410de338888001d8fa3fd7c8cc433948690ccbf1e7e193b8c61bf63e9cb06d8a66ecef07e06472c40335cb48b3338ea1455d63a2fbfb3b026319e973abe545ada66758d6eec599575bf3d91c8ee5d61b3ac3d51daace1a0bf5d990a822b7a563dd7ae56f25964008e12e1efa3f165e4a72a5b0cc9bfd507a456a212a0f6bde2424ceaf04071af19a9c7c0948853d579a6d936b162d1300a0c4d84ee4bc7488ff1fb6992fa0dd38ae447f5ac3b0fd5aa4554b88573c4ded9a520a2c25c0eec59f2651e50ff70caafb2f09bb41d1c7fd8d127b32d6b9b4b36026969fe3d96610575edc3442eef55a951c2aacd0f7343b442fdf4e81e7a22f53fa3b010d365b7161a687e8b5aefbd088e94121b4c8241525285c6be2f0c500c5c5f8bf57f9b120fd6a9ac65061d118af5caa7719dd664f1d723957d638c8cdc415cff0f58526f5fb0fc456e3979af889669907280e36d5e33c1eba13bfaaf27401decc18aa64a5cb2bccd30074ee5d0325ecdefc249bda2a72c5287a071317fc19bee1eca8825b1e74f804b060b1b40a2f0265859a0b051d7273eae74b81a50884b06d5e4791dd25608eb262d5d3ff7b7abfddcd2e47734a72a4aadba63b71b66d5cd175d7f1a575724cf7760407c6932afb4c307ad7e8d5603632f41ecb813f08073856403924dde1939080c1ec8b64d4c28e4509138f282955488e955e96b6a40a2005924cb5d350f0678c0932a613b217148f1802a38c727b529044450c3c497423c83c64048b396048b447ef16f27d6d0de10338c7092417a3b561c876d232fa9b9b61471ef81a6f1de6157f0d91a4b7a2fde9943d437269d1b3fb46f7cbb027a4fad65038093801a9ef4067ce1a48011f20611a0ab90dc43054d6a896d0999695c623356aa3ecc6d463a33dbb19ba60285b289d44627298caf41d41634fd83fe4c74ec82104e18894ff696c60c4cc39406e2a3f91a7722c1b0a5a8168a9403216fcde77fd3bf4175c14cdaea928e0c95b79ab8780a47239cb72baa79a8480df549d64326a4860b4b12ad73cefd87ce768a31fa8f1d172ba01004b9ab0a4ac1b601a5faff6ac15c05c571c987dbcf0eb0426a86d261e36eab4448ce2f6bb8b93f41cc122c2f2d07c8d7f4472c30fdf7a0d97efdaf0ac2856186e43e5adea0dbc56440f8b3fc3d878375f4cfde92b42a702dfe1942650720a2f330c69ed3803736bcb8188a46af6ae7b61e60276f7832b0346e1b4b788728546b001f5ad6d2079baac88cdde66e3635e4ae7e265d17d8d19dca2c3b6af72ce80c2a2d57887c6a7c8ae3defa63cd1757c5d6a6f50481eda6c2617202fa767b65563894d03fec64c575e85168bcc616fa12704d7a7422de7a7e5f4a681f57289635a51f8ac38e8e62c76018769cfd307ef33e1d47568de53e29e10b967d7727d9c5f4c21bc5210624f2a51d8bb38d109c820509457cda72a3bbdc05306374c24421aec5dc078a95ae2edd08b174857faaf9c5c57d1c2b1c9ec45e026d11a724b46bd99e69e932a4f2c4d4e170b2844de90f8eed49599d29404672889fd6925a5b1a5aa3ba0129c5b0d1899744d81001aaed182dc00f3ed4be516312d3fcc6956620e279fd2b4ed9f9ca5e4e6c40779d01b174ff27afa6bff5b82738863fb7268d84c293978d96a49a46f20149e150307a2b372963acc399bbba65afabb7e722a1213da166b03738708d1a12310f263d9a79fa0ce154c9d3e3c03afb05d520f78159dbc92afa5f4b5c6601418e97909a5433650642ca38a49f7e576bd763f72d51523d6f3827e52c1b172e4ea6cebcbf6d00b3c574a474120b3abb60a1ebc60ba8b9a2eede68ef0f7bfebe5834de40648e36281d39e63c70642e00d5ca79b720b3f9190811d31a4a98c0f3775e63039501dd7cc7d676fe29a9b25b64c2d6772cd97f4c7dcc31686b1d1862c98be76ffef500e619d4ba205b862aac9609b356bfbb51094bc9002379b0e854d543c23aac66a0dcb9c7bcdca9ade2b0e3077982e203a8d5a634eba8dbc6122bf0c5b1f53241f219b10951f8f0a9089d69ef41172e906a6ea31173ac298c724795cf4e5e0568dc01f21a2f22c48dd49dffe48fa46d59683c71183de79c5269c55c2c570d9551eba894d859ae33c86a3e840c22c72fd819bea5cce923763e33bce9313be72345c1f7f31ad068ef13d00073898397251662498eedc3bf5ad9a66d9297b351bad1c70f11460b442510329e065ab667220a9d1018adcfc3b13aa165f47a531900d55c6bf0afe8b992e7cf376905b7172fe7eced566ad4d2f7482cbc4ae1593b05660f7f68571618313b51e626c50706adff861647a558cc0c3849bfd00c9af98ae0b9a1ea7057ec9955efef27d34e11ead29ef476df864ccf054e6edce849372a4318d831e6df56a95ea6690ab2bf91382d9f82e2c10e52f18b3c26b198111c6508bfdfc30d7d57ba2a72120bc38b572bfd80b14f6b8eadafda55935306a947b73e40d3f551fd4de9428d7b4fb2e2423a00ece27b4a012f78312e372e68c4a678570469ca78f2b1254b2f0219bd80649f2378b05033c707c7c00886807408a12cf2d82fe41083fc815b6bfb1e2e34172d3243b68514b0c4a1da30c00944ec8cfebef858d1817738d9a2ea2688b257f72d155b16c030ab9deff19a3409e98b2627a67523b390eae2a460aacb69049d172e2e248f12eb13c387e0a88a222e1d74cf4392d790eb6f8e284a2bac21e1d8a1619c13eadd7c4b7e2b11548f8545f32774f85402aa16fa12e13d3ffa6e8c1ce72205d0c4a6c2c3438e0a1f430238880df5f8a1c410dd35952b8063b93426ff172351c6aee85e5abfc6db6327f21c818a71c803ce95221f9e0fec7b0eb12cb837241d362ef4e6bf4dc6302e74daa6f397305b912d083c14e80250b094ab08f5559259e6c18e9366ae3ffe3b0e7831eec4fb48ea6ee8de4ed3db3f770289db690728da3cfc49ce3f1d180af12824d231a3601efb6b03b412594dae8133193a1df17d0598fe50a629ef11a88e537074bbf1788bb8a8cf38b4e56cfe630a4615377408a3044101b02e8ee6a4ebee9606516dc89e1f15b5e3f496d224c28c456823942f41d02ddcd3ce3b6577fa549270d26d762fec64fc44a515c2025a0beb7e8ef722219cd7e8351ea20725ad642246638b9920ebbd7e0525c89136b1320492a5072ad2d1e242e0f6e2ff222feb095d7af4fceac46af85ff94972d3c5abf8e3103729141bb2650134974d5deba9c9b143ad99f0e6eaec6717034bea1335e869959154cc3ee66d84f02a06e9f4d2c9194c5434449e8d516bd63adaa8970a998ee00421698b7b776d96e64414a389aa52d4ec38dbb425e2a47ca523654ae2a28115159488198c8d0592e7640a93453e9673b454a585926fcb0fa49cda8bbdfd433d072ed5cffda59dbeb94efee1f9a07dc29328b9fe6899ecf5d45c36571784f49c320c0f90c9296576fa44a7565b441a1df506fc76df5e343080bbb6bbfdc212815722b8156bcf7a1690e5727a5deef2519767ed29abe462988fcac466f49f31431721dd19c8c328a020a280b33d43ca49657302f3ce608fe8d60e811911c251358724803ed232e5959d9c52f27bc8105105400f1fae697f89f7756d4d94b34e862727765cf407fb0ed53afd6ee6c177d30ca1c4ca0a0d69412b05896d235e177972e3b10c5ce2ac95be22f24f5381f0ca38d25c6b0a610848feafc1d979f910c46288c6af4ecce73631f6321ff292d1e99a6b6e71c5f1970dd3f5d0140d54542835ec0d9bdd1d3117465dcabaee0100bbb9a482a60b81c8a7fba822220f5eaa1f45e4a2c5c91830859d2e90aefd41486206852934003eb8a689caeff73fbbfd07072dee42e0453f1b59451f622292dc34ca7353927316b5397643aeba15c0628a33d6ef3c60bb9e4d8ffa2cb1291e0764ed4779a2d0a100b12284acd182d82d8100472831e500d3630101f9453f4599962d137790903d1e5f108ad398daf2e02c4726e5f24721f7bf70860036af2efdcf55b6f2434f7b3fa2bc26aa2c6f36174a472b75c4b03dde41df77678df65de3dd3f68b343f05c9087cd618abf5ff2e1d1472816cf97a88695226ad843359296f6e330d67b24ceeccdbab39060a8a0f2b01722b295dd36f9d2144f8b7cacf80afa0825cbc7d8238bef1fc63e995f3f0447d09851fe733a4ce576376f73dddf9107c32faf14fbc72db840a2a86268ce5deb5726c32ff5cf115ed9fccb314f080d89301b5e538b9d04ba288c1050aebc3ba1172532f859d6bba45ff2f88df1d0216c72ca6c9fc4f504791618c24303f1668aa7288ba54d8d500dd58e104e252adcca1b503a683505e3c1af20d4c38de2265c257ff47f7d633404ed469f2b58c5d5e8d76fa809a58232fe4e42d0e4dfa55185f7256f81446e965984e74c38fae6a46753295c7e1c15230769dbdb34d3a652c83339ea12bc02ae4af8b406f395e2cad41d3a2b359fe6fd6f9ed05b1f300c950e003f6ff9785bde737a54809d630c50bc25e5aaf713264396854772d21c2c2128472e9abb26964d6bf902bfac439e17d9ffc2b3b4ff3e9decdfc0fae8095ba240c2b7cd45eb5a24f646c7397256519dc3b3fecd50c83f63ae8dc9ea89419dea63f723f322635ec21e0a9927941e077f48ef944d6a2921c3e1389ae4cfb8894a33b4e73923b24a2ad1da64548a66d8c88d8df4aebe768c5cbce7f26144f603c953272aa3dc3623dfb1a328b47e52fdd085f3199acc9f21a85b3f0117302f3209ead7291b761d0be8b38ff65b108c494bf65b153162b719a80e2feca28d65a57644423a2a0a463744348ff62907002c38527c99d204286f840eddbebbe632074def772c62397fd0917eb8cb9cda25555b93720c665135761336be46c9b7d6e2541f23d44221e742fb6137bbaedc8d68fc99746e95b76d43f77bb639db479a4239a227238678372c15944b9c476b546bcb28d3d2acdd059a68c1876d63f2e1368749a72b32f9ca6ec0fc23ee4c7eeb7a41b4e070de565cf6822a7f2651faacea41e9c54cdd3d5e4fba56c8b58825f9caeb9fcd3b060adc8adbe0937c0467b10fc4a8e6a9824c66670a37752350acb857fdc8b9d93d3a5b5fd89406fb469d5df2ba64272de64ccc7acc6bac64fb35ec07297121eed73a1157217f2b7e9dbe85edc60f17225014fbd04fde659cecc00c442a36bbba05a21b1a88345264763afe85e5a662efc1192a0b6dd7c17b97f1a6e6dac9d0a7b6cd32790ac5c078b51e23c88ccb8723e37b6f4501a2672fc176651990a191add260b64d0e27a0f04087b0eded17372ff6ca0a3ad6799d6a431740be55a0a4552b728c33b8fa1d04d0fa8ebd18322724bf1fe3bf801cda7500797ad9e1636a1292106439022dc20bc832f5b8fb254397125db0a9ee77267ef00267e4e052b35bf8691a54d921bf87dd2f49735770c728d636f71a784d918384698a17afdb7e649e4b2e57454029164f27ddd4fe8517248c48ed2ca160f15f9156fedfad2b2b78b8ba59b2f866411cbc358df5a63e772bc528a305978631f923e2c37dbe61db88a7fc5e02483cdf1a58e5cab0cf5ad720be3f367c0123a7b3b3ece939f5db79ebb2c9de0b1d7c8a3e94e223e46628f461c798b3597fcafa88e2c5cb564ae6f24d1c90801bdc79d3da6bac9ca74466d0407dee4124ca4bb9e82a3645220946c94d1d233265d41371b91e744af874811729a1a7def823a0dd389775f85b7b3f514f13b99fceace4258b6113bfb63a5461e4d4fdc4f58dcf0f026c97b7140bf4e5e1b6ce5fea14c064ed4d72964a893c872462083755bfc7e4b596958041d1641312305f82f03043fb6319be779f83f8772f7f586a372597c5b14f9255d29dd32ce96be20ecb15d74db7745ffa8f33f505090c9cbedfe2c7637c128d2a206d19769e130592dc2843fd8f15f5f1d2535e772bd09181dd90e8c516c3e336585662cf29e37afa5621148b4c8edf79227e9463b9427b8460f5c13e9a7a4e69cd8481127240e3a98419131a41592def629075b7274345ed7db0c9f69158d4ed0c02c71c0a55dc633ea0aa72389573bd1e803fe721438ac68d27e37030d3b7681a2fbd97dcd4cc6e85596d888a2271b0b4baad21ddba41aa3a714ed9f865e737c1b3384cad45954f3b1503674ea8c1f2d86958b6dc5f73af1a5b8b40bcfdb19d10835ffdb841f3cb50d4526733ad343811c9130722cb30ca55b7ea6208bb40cedac076070a32cb37056eeb296489c4d4b77ca6f72c94aed6a025a62895d0c5826bc07b4a1d4ee029a505935f2b6704048047dfb727d00f634d5dcc05f65198cd7ad2b3993443bda3a4942b53f0bf22fe00be3e972d97223f65f7ed09700944a886832c3a21af86ba771a1fb0e3cd610ef23564d72ffb656aad927cc88e491d09de8dc793eb0d6844540b4266065bb451016271e35e84cddddf6a563d79d07e9f15af2bbb5733608ff5f8775bf8fd523267cb2797273bb133ae566ce8e390cb661c9387908aad4346f3ee1b0649c6e2cb531c98a72bb537c8dc601ccd9d17d1f083a552e06a8e0fe8b30683a62607b0ff5e3c07472640f1f6ed2f07d8d7980c170dec9671d85cf9580756bffef4e897880c6564772504d27394257851d44dd2be5d4a5df277aecae7ae204d87a1eb84f6d89c96e7271f5ec7f96e0711b6ac10ed94547aa3fbf359ac21cd54c754dcc5e4e2b148541b425b6dbcbde76b1f29c37ef65736d3830e35889be076cf005a01e8d045f1f28de087ddec9f4ee33e81d295dd205ba5f6fe74208249f34b0d1d9a267d0cf8472240dadd0f88ca1021fa73bf2f694b59000bfc66717c91f2059082692ade2813f3a4181be1700cbc3ae8e90e09ef84d4e105b0b3076971fe8a2c5ec8afd1516381b7516e294b9e122373cc8dc4e49f5d509041081c739352ff644cd42d0315c10c5378b2c424b1367d3c57379a8fac453eb9612e5dcfdff3b1551955a4e4add3cab4c0edc6dbdfd0fa2662cd7c1f05873328f8b54ab7156072be7bff2e04d9a72509be5c7378ae533fd151cbfeb44a77cac69a213eb2a2b80a7397c52b9fcd17240542325717177d56f3e8d1f571f638a8829d71468583a7bac32c17c7837f518542c52f866d2d4778aaf86c2fb740a27f01a9b4d352f308fbdcd6b0062ab5464b4d58aa4a21ea36487bd64f73ca6115be7d5190ca9c96478a5a62f85635d0f72fc7701f61c4d86082e2444bc8096b7613e628c0c0c1dc382f80bad270fad9b2bc84c271774132ba2dd595cbe0efab8605e0e3a40ad660cd35cd414c47500c272117387e2b576a3dde4e69d5af5352e9328c90434401d5fbfc3f9a47d5e649a72edeb157596051d24d9d00998409c61d406250d7952259b13fb8596bbc918f22af185e64727a7957812c492156e7b3547961eb1d19934573dde263a4a29fbc348f9f3b97b7bde6e9a67c90447b140c299b1c1e1227d1048e6cdffe02dcff8d65c8cdec31bccf64548778cab400529357f71a53877e70056d0f2580a18add05d556cae62fb7e0ef350c2d4345e3848e6a32a8baaf86accea338e6f31c249f4625748b59c96edd3469a5ec0e29d2e899d423ac60bfdb932ff655e7ff2b33840993535d036ad6c089156d27bc4088c600afdb2f594c882136b2ae833be7786f92672cde339d8c7cc5436feb089d3d51fff1ea7f93687c44da0d57121087ff03a1c7225d6ded4a30de2fa3f11b3e2e1396cdff83fc9a6a47e65417f737d599da6c6682ced5018593a0effaa46b4d3e46aa71a3543d67623b011ef245e259d8fc5a072c604d8235b1f6bae1a6382da72be3d0157c310a2a5e77e9ace85ffc5f9a18b7219af3a6f0a37dd23c956598c27893c6763271b6f0d714e698cbdeb4a013ac13b5c891295b26dc1977d8d4ab7dff3a4e4df59ef918c945dc6544f616a8a3b5b36fc69466b350200ae578dc82bd961534994f980e09d4d8057ec11397744db75469d093f8c37d3984487fcc1c7f4fbea1ffce402bb41b7cf765b820d81c6ba9572d2366cd35599e79102ff765f55fddf021bbdfee1846fc25aced4bdc82308f97215f4bedc391cd2c5ffb0ccee407b138e007e5740eeb9c976a6dc660d19bac4725edd8e79b116449c8916d7cb222c9baa2c128c41cce3cfe195cd3e7034c686728070f3de8bb654c9d6e1e887bf9f935392f368efaf78395ad2895210054aeb07af9954b0b22d0db4b8ed671df4fc4d192cb4c49e9bfa0d1c014016daaf42de72b3c9d0c0f64f22a9ebb36ef30b2c2582946a0a21dc748b84ecec2f76a04aec720ee4e4ad3b9fc9425f4350eeda10cba82833ef592c73271ce57c1962d146e34e7031547f135a77b00026c2c3b514ab88ad347514fa3ab5dcceef363551e18372918ba7904453341e56198e9e8fdb0a76be609f7fe97ba39e76bec04895625520500e357d62facf6dd899f6dcc024be8f73d159928366ab379f5a5b0f93110657fd44c7c7195e583c7a74b86ae3f4f883ef49de2d981567e16eb9dc317138ef3253a8880b43d009ccddbdb30c1d73a1009f41d3572610cb0bb29c0437a204997282d7964d7f522b5f57e826a321724522aee2f22053457c375c0069b9cc13d1669896c596f1b8829456d4b750af312746e21e8923c0ee2263bc65bdb2dde095490d91d3bff2fd93ae5a67678954b677324be66c06a2973531d634a9d5a1959972c6eefe6e674642881b90a48a6a0a6cf37238fb5c9aa02407a5d64624753e752e50c65b12c3005601be3b037bd59f2bfd7cee5686a5daab974cce67283cbcde72598baad49dc728f778f16a4a0aeccf676dd779e7ca77afa5d897aa49f1a28f727dc8136cb8d37f3410a7642cb5c5a6998ed65e1467e2a172ed5dae5d8c853272670643826788084c8c0173e2d10074d665b58583299d5cf8d15facc1e29e320e5ff52ef44e8d09f406e5b897cf78f40f23d8325a1476802c6502ee5657b7bf5685e1255f997375f1835364c62c9c41611710ee1ece5a28726b4350d76f9a54725ce10f60c4a2afc1c8e63b659db6a0abeacdde317e28f743ffd5ee54e8932e2f0023a66d00241cac5d22348dfcd252de81d7e929db132ddd5d5e0664b82b6f034bb2e6c316942ee937cacc3bf605634695d81db83888ad719db2b4d11206424f835e3c24c2acba34ca0d311e300df07ade93517d235f0ebb3d753845c612bd1bb7c63057674faf10be2acfb12170ec761530697b39b92d64fbabc2911a65b246b1991a3ed3363ed74a3ca22387e42f1610b00afb4ad54b8ff14ccb03cfbd9a459f1ff1cb3747c0f7bd2284abd24d4f2377639a959a9c711139789edd2af7c6434e5821e7ded8da5e7124838a3e1bef580991880322f35b51b17706440f79792eef54585d4846f288c86d036bd0b294feb2bb734eec6ae4fc81bc0b29c524c072c2cb61a19c617f7ca24a05fcd6038c2bcb8b4a257a18511408b707755476537221bb91e4d57eb5561aa1a3ed1fd90c4e938bf75d63d39a30fb9c8317582cbd7204be45b3af923b74ca7fa198723ec7b8ce1eca527dd4d271c98da7c66b7f1b724e79e5d4d947a8ac1fcda50782d3aad3cd2c9438204f24733a4a9b7490c87f72208c86e6f74148b155095b3ec8eac43a4284790cb832b0f38344f75eeaa0bb203233cdf50679bd6ea546a4a47de1383819726271b2ccda52b52304134da2ea43f90801affe31651ba514c2b3270d8195a520ebdb072773ec3a4b1bb555e096726282ab4db4a24aca7cbe00de95152a9f86cda78ea56b731f7d30dc86ff4fa172bd0baff5c2253dffaf191444c6ebf6f60b7c8beec62f5bba57cab1ce861f8172e12061fad6e1dd83f7b1331e100945ae279906a983efaeda7124aeb99074a9477399253ce41f92227e63d59512d634f5a7bb47ac8c7ed8251d00e2c17b32d25e069c9043d56fbbb186f8c42469489df3c4f557c4ff0a6bc57013e72d94c6417275a0c04ad6182e6a17c14b0d9c07321360e858917c5ca0991f86d6106ef7a972a98503f595fd7dd7d68fa0d9df1b7ab3a583c74ed53fc1fc4b82303fbf8fcd72643916ccb940c7b57b4d5e61f319ba2c620792866bb3e68fe63a39880bc98b7298600476dec0f2aa056bb26dbe214d523a9b5ed63398cb9f45d13923ee52ca361e45a82592b05b1c9096427f89da795be5e0d0fec1aae906d9346cf94465e072c40dfda1213b57ca8a60e72d1d8034301634c4c2bd22270b777e48b56e152072f829a061bca5e74f9db3340a2c5e5d012a2a2c8783003325da1b51cc672e640263508a338e36921234e3f1e74462b3f5675e6800ca9814d4692de41de87c415f0ad18841b39c99f8c36ddf0101d200bf4626492ca715ae538875c32fc853c943e52e9c4ccc6599ef59d681fb8e102b5543cc998a4c07d032edb684d0d3676301cf769043ffd5e69e1ad7bc1c08cfdf17532201ffb173818afbab120140cd47720ed2af84926276d7916b280f8a8adc7aa95f68feb7cb2e4e7331085693528c17db8407efd1e2e4d7191d978ee7c61840593d06cb09c7a16f1f1dc68474725b45c1360853ad5362f0d3acf02a06c6188696fae1b6e356327836121efd13f947723d7ac914d6b23ea3847b7cd645010bbdde567379ee82837a6ca8a9979fb96a72c4809de68337564253f36861bae459685fba6815f572cd1c9e38d27fe2045b09531e1a0bf72ec7684989eaebbea6c353252f83a486325a14207001853f51ff4e73f8745d69e115c5c1d78feabc61f30d3351af6bf44f773f99c6ab48e51ea872126c2dd64934dd23c549a9b0576bc222fcb559babf3235331468c5fa01e9b80bce8a3523a3ba2a04eb09a19ed102012be56517432b3651738b0f8edd745cf9724f2cfe9f559eb60bd29d213f904d44e795466da8e3fd9fb016ce8b4dd085fc24db7ab9f5899d7979fc05d15fbe9435d4af272be2e91fc0ecc566823c9f343372d5cd18fc5b2f46665e4eb02638e48d28f3d075a3f21f03fae07a7411f0994f725e63cd12da6cfc493e635e061032b318b0c6029032497202d0a004bcdb024d726cc73a11261da5e37372ab304c217935faeb53a1d3aed21e6a7aa6248582f172c5c0089492b2158f8f21f8935a574a742a40183426f633cd1674b0f826a26b176470eef5730b5f78eac848f6311ce68039354d59b2e608fcb978a95e06bf511ca77dc8ba398a0570510b0b1dd46d646551e859cc4cd36d1aae0d707a606ebf23281114aacec33ff64538525ed1a755c2491cae0b00a65ebf3b97e0f528b7f27222e70899d59dd44203a8f39c5ec0d02716f08d578440bb762ef2b402914b1c72d8b8ad51cfe0058049e2d146ff386da582d2d9daa5cc087b68a064ab63a4f0729db94423e760de163de6c39eef7d83bc0c0f85b90ada5fc02a48487f646d4403d73def57ca6b690e37bf6c3c03b4751cfc9388dbd96df2a41b3f56a52bd00c72c07cc29950e2fcedfa36060f71d9a54cdc4c2e226e07cb4caac2264515507e72e04dc2ca489649a1a79f0d1b26ae5ade7861aac033f932933d0e0f3dfe5d617263ac80642b50b8c128f252c0d54f34405205c6a1eee6b3a2fcef95b2efcfb272e5b9ae45b6146f045683dc55327041d3698e09002571e21eef727545750fff72c4e27a91dfce133b6b40abf9e4df14e9ccde197535e4b6410a00d8892d3c817262982d4c2cddc40f49070586d7feb2c75a272c2483e8e7b429538f28ec96cf72ff2483c0cf7259b14046cbea84d307b5a4cc0c2faa81f1707a9975d115f4894a4fcd66d4ab841f2d7d9c25ac93716d116be8057bb8df40e18ea2f3299af3ed5a636b645ec37c1645d43b66769a00c0cf5ae6fbf9abda3388ef8221657a78215d05a09740ed2ce7042ca9c0451ef438da49b0204705e35a7a6efc2a9f99e25769d62b2968dd8253107bec527a175b303de09a755f77eabeb6487daea5d588df6c312a84a84a8b678738beb9dd74f96cc393a2523bdc0ba0d84ae2fe5641b5fb72a801e14af3b96d9fa349ff71b1ff763f9c078992cd5a11b17d70de9802bada3ffe67c082bfb6667574b3e4889e1933dc32fdd931c6f9fb5e96a6055c630b7928f226fd724cefdf83c872e0ec089087b9fb376e73409dc93816c7710609688372ea29cffe93da86b18b4c946f3a1321725e5b417617069f677bddfdfd80b4a1725eb4fe3e3de605b19f6a565a4615aa617f6d5cf4d2511aa7501ac706e321167213ecaa398bc6070253456d195654c5ed6f5be5627bd520cdf45738ba4e9c562f502bde82e0ccc6ef69b2543fdc8988131f53485b7d694acac8e93925c3a85d33fe7d6329fef9995ae0e7cb7d4a5a2c786960410f578b0c0710c393bccf84d91caced230b8e129e07eb721ac44bb836461adcc25407959909bdf45abce4a74772857340fd40b59d9f2f7e2a055fa555ae4442e66d10f6824b211cd4f03330df1bdbe348de01e6a154d65b00ae21f858b49ba1e439c97819af24bda8f370aa5272d506f1f5618517e44712b0c62bf7b6a91b3afad778f8ab1a2613b1b8f96c3f72da486c99543b3b1d276b01bd8bd6a3e518a096116833d2229395f098303adb72dbeb81fb4480efb71547ea25d732febca06614a1f0bfb502eb5f112f2723f308a4c4d03baf622a2c324d7dc9ea71818dd58cc8fd226a3ed8f599f40e6340ed22abbf70673ce8ae2537a178e9307286f6d740eb09c3c74642d3d3f060c7a89d72fa3a06826560a06b231883d307b8ba72a476d244fd75610f9d9ef1a033f0aa5af28c976aeaa14808794f6d8ba89c8e0fa1ba35cdc46e02fabab74dceb925a66675441d7ae72f1533fd38f8d656f89107ae3055a10fc1cdb88c138246ea727115cf3484d20acea75b5c64a7bcde9c5471c02d50619b7aa13610f3f86fdec3c66624092ea989611c2e12923feba802db54b175fac2cdcf0ca2fc9e0d7a51e80a72d66f2c1003896dbc1c6dfafafc796eb86f5fcb748b248e99a464f5161ee1547268a9ba68b62082fc83b3bd6d128f5b23c018a645218a122b2459dc48a1f33972ddec961805ddcaf3fd70ff010d22ec11fcdc3c2dbbe215e407fc7895b6215272130f155c4ec6c9c9aeacf0b45290d7ddd8b14542b6c0c15aa02cbe87264d0b5186a02ad690c362d2c5a1c2d3b6eeac6bdca221fb53f4e9691ba0a46cd99072679c92b255418aaf1d1c2a671ad0d0722936bf8e63fdb44d39d8eae9d5188e72720c49f2f7d88920ae1d1378d5dfbdfd05584dc026ef12c052c5fdc9b00f174472e9ee3b6e07f3bdf712afde62aecf3574d47d614837812ed968fca9642b3ae4721be5fad1f19662bfad83df449655a55764dde7e80c2732a2f5e9f4f253195a6180a59559f8c95a6a32168bc33caf4ec64f12a1050340aac178e8d44fcfbb2a0b1bd8edcea1cfc503bd4eb18d03e5a7e4a7313989cbc8b72490c05c8d60c30a3d1c3ea4a57c4e6aa7d27853b1a8dfa6f1370e7898f84cc5e0509a73ea01aad9726b431deeba61be0776775c09720bd9075fbf1ac012910fde484f716967844b722aac3f27af95c90d6821c1e43161b78be0eae5de9a62e246991b0e7d73e83b72599a072ca5da531a6a3178a3a856eb33bed09214d3543c7ed34fc69c481155720072aa0442d26b8686b35b1e0685c5d436d2f53e02bc6128398f1040a5eee572e4f59092a39c49f5b2d55a6032e17665683bcfc514299f7f5722212973fa562afe52a4903af4c5d1f596451b47fd21b9bb4a4fc347ddaaa30e025fde8d68d072562365cda5f3b13e34cb9e5c0e4936ba866803c8cea22012eb90c6044f145b658b857a07a94612d047f408a20b3ad007aaf6555b39ac92dd959c66efb6e34472e79916ab88b1cfba7498f78d859dd1d43e3123a27b3c7292dd4d3bf692f25b722479a5593f3da29abdf7961d3712acc65cd61e8c0272f15765123911594acd3b11b0409afee3e27dd30cbd6df507de5883687accbcb641f98422347c28bb09724bfdec4aac8aa5e760dba91706c04efaa33644fd2d89e849ddcfda02c6ba910c6e594a54ea25fad7a5e3b23ca8029c00377d6526bfa5007258cd3ba3bcbfdd41c3b24e2c0804ecbd3a87883d27c052941799b0e267530dfd2259a1ed01a3ac5cebd82c98f862ea350206c7d435d1cc714b83b9253a66f5e5a50674c835949d721bd36aef2974c7311748db917f9426822a60fc1a016b4682f71594773585f372cdd5853f2c69e2578c1ec897e21a6d365269d33c3ddf7ead6c1bf971ec35d72e17ea489bd8de4f74ff59788c0ac1bf4f3c50a14f9be0fc6eb55e885c224702729d53ca4f82cc2b34d2395636d5eaf4121a3f8e89b4d589711f0a72d1d152d272ba9d4d6e41d823b4ef32bbb588c768c61a5a7d2cd5ca67a1ce2249e0e636b3723443fd7038647d20d98b3104b9b907636d3e5148d2e03382aab963dca6a2d80fb15716efb3290538a83b4f059bb88b3678b6cded637c55f351e17bc985920a724f0b38ba542cd2f59b6a938e9d24171cd6ada072d2f7f8ede4429fc295a4fb1e5a29503058319ac3f7e7f867cea6622659f6e8c55af8e63a3b97d93dd5544a72e9880d4ad2df326886267b64e6d53fcfa9ee82d87aa9a1c66d16598b965d22723724521d5de50e6bdbc9790335999ea5df29d40aff1993eca124f0f385d20172bc57a558512e72b4807f2fb4c3e9882eb596c6a70ebf38b5128f4ca10327894e062cf7799633d7d32a9a2638d931b46b6fef25647a958576ab74b9ce77713572822f1c715c785e884bdd1a796fd4a96d468b19c45498dc5e8d070103605462729172d59a7cb3667e272d838868d4f9a93ad8c12459880b4be014629982536553bb0f8af28410dbfa011a0b8f770d54c9a3cb6d1b91627a28464b62473f2fb60e5b6f07a2ff107584fc7485dc5ba5707a9646bd29eff880b708bfcb01e38de0725de541d9bf39ae5d6f2e71201fa61a64eb584c246880a46555a0c2326f929a649667916c4ce503175daa2ac3098603d1a669b1be1ebb2954931538627c1a5f30d700a2f5c4fb1f5778755732159d3ed9dfead47ff1876ffa4b9dd66fb6f20d0b1138601a17b2c6d2667f17219031d11ff335904c2de2ed5ddac9713ab4e32772c5bcdd8e483991a8f391531ad4a8402b1d891d72e04bf6605641f557096e135d45c37c100f621773fdc28a37b6819f317f3b64bac3c80c54839d9344b07fcc5a19e5c7240183c96ed4b3cfe394c671d341e7a0db7ca89a9a1c9bf12c85da97416180903cb33d7d4529061395b321a0a7ed5fec08d1351d19110f06a53bca4e0d7e8c120d347ec0dc3939aea877e3946c6f425422e975ec6730bc62fd64b4ab1081429e184a98a0f0c39742fe41d0fc5859b949b3748353e209197178996e6e0a329e3d546efbed0d40366d39b2ccf2a32570cac38d6da1cdd2b65388622dba3027da4a611014b6a225e1b78880701643a65c4191eff9f835384d7085ab06416e1bd16d8933f46fb62eb2f237b3b866984abe9a96487ed403e3a9e08e15a2d0558d77b477f082542e61e0d6ce89f62090ac5d0b9469ad02d90feda6ffb0b843725d5c7a23ef4363e58d449f42613f15ac3aef8e25c164ec32e485646220cb1320526ad40d0172d86ac66d83e48368ce8b72ce60a64c738e680621a9ffd3a37a7296781f1830ebfd26262b804af07c672b330de75562f0299ab3a22f0675ae2902dd99d04abb5182c4cd7a9d86e218e7e0a527fcf605f29b7031e3555be63e416b0dee3263a31e2165359162305c92216342acd07c697f0fc83d5e980edf6dab72649209dadebcba9e41b178d508b823c2089e96de8d17b7a6d84d9d623e4a53724e0b0a76fb56747c216af1630e6d1870d453e3ca23e74d5ed78a6ff61b4813514cbb69f0be31f4471db5450963d856b8c2ee1eaff105d5d92f28004b62115e6b9c654a3ffb6dc6e8c3d68ddb0129106021ba09ab0b0ac21395845759c599ee7281026a70c3e9e10438dbe74b2966998ad35ef37f04690d12116e232ebf09be72657f4669eabf6473a6900df21ed5c7a4ebd6d8773a2c8d656e8b6b3752f4ca35dd0032fdfd8dd0e1d90aa4f822b1d9f247a9f4df7cca9cfb218ec8f0216fa472171c44f4c4dfae69bcfbe866996ee07ad7f61218b4e92f556afb22d2720fe87258c3f68f5cb454b8d1a12e4cd2a1bed2fdc2a06c21deb32606e1b73b3ac721724f048b26b7931c0e9f0ad276a802ba99d19ea5cff53900c0463be3b8ab4d4d720e0e81f631a8c1de05c488de6200e9326c091d382207a25efc27dc7e8446161e952a6b203519f3d32223352655e9e91d2d4a77e09668a93f062321131d23864649fd440fe43ded463ad24d07296c41f29a428e50ad0a98f4e2a0048a369ec924690daf1a663a22c08795447b3eb82816b35d68853396c7652d98ab24f953a672cb48bc83722d65a03148180832798ff5e36a286f676da6067fface29e1ab957217435dd16d079e91957273415b9f219ab000c94497d26d5d11afcbf6b2f1fd58108dfaf9e151d9ab5d16b2e844b647e07647d0a95e186edf98cd214073b0cb7233851c146a54b3629a6eb5f91261e232a16ec38a5a1ac83feb41a9057a92bf0ab869aa46aeaabafcad3f860be7401f918df528cafdbe643478ab8a662f9eff72c830c3ed72eac2e7eab5b1feabd3b47b082c669d400e40924b8cd6353c907772be7ebc4ef64f1d1eb548486daeae69ebb11380385df5e85119b12d6c3c7ae6637d7d42dd62c4f8403d98a4ba4a0eac3b13d40935940c0952903f843a394aa772e2f36d27fb4159a322faa21ad6cde6b07424308ed8a6e554576039a856bf6b60d91a528f37f338d96d153f4fb3992c959619a02ef63c12bbc71561d70afdda15a4a51650ea208f2e2750f54b7afd46ea81e5bf5966d7765f8c400f327c339e69cd5084ca5814d9fde880ebbdca2b4f02fe8cb120b939f90feb5410c520dec672915b6fd0ab6ca8d56a8805c688d59ca514c6a0db0a9befb44aea6a68498bf7723b581050de3ecacea40cb249c151b57b7faa6b990e8edd3d8efde653198b6f7219e3ede83c453bad8b5d3b8b47f414ba7a8ba562dd70c92e94f0ff211c142e721d5c44d96334ca94f971ab7ac9a1dbf8499919d8445695d9211260aefffbab72bf712597084bd4d90e22d629c383955ea229b068bf56812ce28dfadf25291e7215a322983f13d5dffa3c7cd8c6103aedbb9c54426e3c79425a8f4d52e1c1e16b39f5dbdd3cc2a2365f74400122cf9fa3a0e4597efefe9fa944df3c37b3e3b764d27e654dd6341a862a7fbe91111d35a62285d50172d69188234fe19251d96772c09698fb8dfe89b260a6abeb7b2d08565080597113384df182ba201127888572dba23512a39e58542fcaea8a88297dd3637658dc0623e1b3fc062c1d9f64e3720c32d6161c89b3795301fdec12b9255fb617fa6e8489efb16d67a0e7398c66068bc021303835688d38e17b1fe8c19bad957949b16fa1ee0ef459e2ef2187c672d87477ccc8c7540e74e8dc055556b898a13af7dd62eac7d4b36e787c15dc9722ed2af6b44acb47dcf3b95b825fdfd579105635685f12037c7b706686e1b8dc34e9cb472988ea20823a9516b926143ef8dcdaf9a74bfcb45bb25c033e2833844c0d4a981552b0768ab445c7ab253ab0a5e4b8f699d50e99d90b0b2f75149a3a5f8898dd33ebde66e6ed4549d02ea4dc41ab9837af691ca28053589928ec1a82726a07f628861ed8a0c3fdd68c9a957d28f2b6efd1559404cdb8dc630ab3df6c7275c47700026f3d063c228a2d9101299da982f3750c87566bf2c4345f9e6d6f2a00acf3065e168562f9ff5f17aaeeee9efbf7dd83a4fff11ef266340bce9f81727571d9401cb7ee866fc80a751788e6f14af125d99f850f97cc5e45c9601b130a98842dfed0bb7eb873dbc284c26fade416e7777b04e09635e928f78599f1af721b20d7bce03e3dacefc42561370dc34943c087e9a4951e599837303d4f7363562c636435f70f384e89d4db7b4530c6edd0b0d4526d08f0c7596cdb577cdf483668dcf6d99bbe964209472917727d1c2c283c2b03327636155e451512ebc35e726f5819f8ed0eea8917c43a87d7b817a86dc0bfe95918cda8e9ec168ea3547072c096b88d9145fd7370ef4d00b73a7f7011903839e75affbf7fe4c0bad1db1446726c7128f8ea595c1e40dd665443406de4174bce0889af9717d6ba152d11d766fa53637bace2c4878ab976be6ea61d5d54911c79055065d16aef4dc995fa7627061ea8104d0733bb29479b9c74e93b407100017fc7772f128351570e0dbddb72b31f236cc478af398a7cc92a33b963660011f5f7b41ccccf917e6a9f51372a0055c487cd526bd14fb8e3c5694d51b0c9377f9a12be3233b0c692e61d81d8eb3a69cc0f31457d809ab5383aabb333ab25ef6eae890fb09782bea6ebf8bbfce80d63bd43a00f3c9f4480c13ec8056716b5b5491cc7908c474a541fa2e6e25e40725e2888fb448f3853bf76bc73d7d859f2aa77f860a9d8dca58220caec9717e03897b3cb280876639dcdec9368ec3530b4092c81fb925ef375042c1170fec32f7226c03fe11463e0b0ef7a76d76c03a5ea6ad10861f75efa2371f54c0601b67c72f9ecac267c1f091c2fcf28cc9f6f27fb2d64a766b4d7273f055251192f6271537037fd9cae2415dcaa0c934ef3e115f4f6d6802676486307887902c1ad4b3a35be0b8339797b9164c65109f044e1590976ba6129c46fc7528e2ebc3b6036af72afccf441793788e9659744eb9cc05e1f6f7abe0cdbd4ed556c203253e9642d2ad7c87cbdf852cf6eb69f23fa163ab41730ad718dc08d3488fd3d67e1024bfe57f9fb1f670160ef4dc4939c4ed3eb49ff5c271a0f66a4ec4d6082710cedaac96dab121021fb9bfc7a93d34d43af0769d1d3a8b1c3de7b7a7353194278508fff72f9a954dc4e019a90e57e7be5e7e6b427b39a1a11c699a4f97a28772bd5382e671ca00ce5c1b2024a1b25d056c2cbcfd187d1076185e31b21574fec8d48f25072ea053768e653551a71b3d85793ac3fa9ae65b2d5d09ffe6db7953d439fd1ab2b37d831775417ed739c7a83414b457accfe9fe7c7c17fae6832656ef494bf02720ee11886ae73ed1e5a92e0e9a27e4e976ca80aab32dcd03ec294421f4eef70185682f18233ba1f25bc01383f51cfdfb03f5c30b166f7b09b119b099c54d3d772f7a103e53950d0c376578da2e320c94166c8f805b8f64842a328d5ae5774ac720b146e621aedc56434110ac0ca37e3bd6aceeea2262426e1894e39d25007a3720696c47760623a6f31c1e4f206e49a7c3a8ff4202c6c491fe1999743c4bcc57280480cd5fa0bd024034cac8bea0f3886670efe4f75dcafd9060c95a27eeefa4111a1a0c21e546306c401c3ef0193670582383bbd4eb51730f406303c7e39a868b70c114009c4798d77a46e5903cf0bd1dd82ff77536eed94773c7be057d3b92ec97eb948e26dc24e511ec87f329fdda60a9bb0820c7ae8efd5758e70a2d6774323f2f107369aae166a7e372deadb6559e822787be8d3397f7ed305597b8dc529be0138d520f016dc11c6a77668a80e75e0fd853fdc8ecfb60f606cf11ac5c1724e9565c54e89c31377f5d2d5b58e9a87236b0f639409446fccdadc5cfb48ea72efe0b6f2d873beb79478c8c7153f4bc9e3554df1b7a327a5f70c59d70bd4ab72fa7565183cefef9ab53669ca7ec8f0fd5e305df61255ab743b0abc7d38df630f1631d739a704514ece275662f03e645d7ab95b8967adf5b34e24d78b76e99926d7365f6de722ad15ec7e5dbec1e276e4a8725ca4bfdaddc410aa13c7be7b8f7215c89d0b7a8df77df270a7e3866d1b6dfb6131154f5e8d0340a895427a58e75bb364e7f52b854f372c2b95f5fb876e5ed137c03cf7f2a71085d9706aa3f0ba0c68758282ab84717310712f336b6d7825e337a75472bee0a291c1b7e6eaa8163440d9e5f4a46d431015cdc196c67cf3393487fe8ce347b4ba0f78fe4ac12da509dbae80d3245ec125f48b9738de298a57f941a74bcda397410312488121ca071462bf302eb1da49f254b906cf8a98a6a3ba51faba036fa9d981cca23e3c8e185a16efe77c5c2b3c7842527caf76f740354eb258f45d7b197790eb97dc76428672bdd553b99553a35be99884ebb32fb7ee821b1290b991e39005cf8662457d0772abf778be59fa466425add209f5ee7db3e6c96561ab1c26d2002ada067b8dc557ac294c5b2715d7018aafcf6b655d453f787e71c5d107cd5e9428d3de47c289728d9b03f50323de3c6eb0a410f911997bf1d994c6fe0a84d7d22d361ee1c2e967789bc9d6176be0e871b5429c188c7d9349358d7db5f5ccf814ef6fe728cc13017924a504bc5bf90b84c43ff981c60f868fe6fa3c2e14930fda0795d86b2c6772851ef6054a644d07163f851c211f5a56021418a2a6cb9766b0a242dfcaf71c38161ba3a4b679ebb4488efe92d1c5ded61d75e6228e4c258c23290586f0add30f3242ff7f4d3b6f53d9a19ce7c1d86c972e175829d37cd5e674b04b2a1b92486421becf98e108809177004fa65d412bd3de35b0f6ec8938739613dbf42f536257bee6fcdc606a79bb2f64ef786e57724076ddd66ab7cc97474388310fa5ef8a72fb70e9507b74ebddb2d9f8995c2a67a39f2383aaeec328674d6b595a0bbc861d763efb6c56bbe6b20ae583ccbe1b92af69f6e3ba298beb913350a1de667f2172776179ec9aef045efde6d848917467c5e6a667015c782092e2cada3bc34384720eea24a297dea46f0b6d2bd4ba1bea077f3df52489fcfe674db8ae7df5e0d772603c04387a29a4df1e19a0c59feff13ed19b3cf7824bcc29740c1a483453e97207e024f4514442189b616d693cc20cdffa479fe33bae41a1c3ebac791c3ec972494894265f6beaa84630cdc8440f4babec88bbc4c3e124434b9ab71a3dcfe736286abdbab8ceae328ac3285763a5f0c313ab1614ffdae38135013d4dbd7a915365d1f74b549a15ff4531701c68a0eac8b141c2547808fa702f72fa04753cf8720bb8151cdaca10a0718a3c948e79730889aad66b0eb2b9be63d1212fef639d251601fd9a3a5cf81f6dc9842065df2ea87d26860f387fd6d7f9b0f9fec3b365726c2d0f55983c121b826fad9838b13493e98c14d883ae2eb0069e780e4020ba1ecad91ff0332ad058a69405a6af25339022a3bb9e4ba5392160912dbc94c01972cced89d45e9c3e5839a89152b7c891d1c3bcbe43a76e062306017482c31287720eeb0b617e2bde1cdbd1897c2918a1c1e776872c2771cb0af7d5f7da4660ec72b51c4b1a0b832ccd5b87610aacd2f666cab3a78792be4999029e49e343428372bd79f0632586bb4275f538feaa47043857e1f7c0cb4f0b2f5b5d1b979babba728a01b06e1923ae3c76a2c035bd25184d77b0c954fdb5f2237faa1bb6eb86455570e48c6326974d5c271b48cfffb43ae9ad40a2dccbaa87b00a6c96194ef58e1bbe9e912994fa62fae6d60786f079b923d3f17d860e0ba5c8a02519f5daa9cf72db658b250262062b9bc751ba7145daa35ddac4f21e4c83b921abcccf9eac27347ebcd07a9f4f1a788a05b5dcfb2e42eef4e8c93d88467c83fb8a1c76f2219c5aa13e89a2dcb7384e794394cc2d5727c6ce74ee8df3bee512c88372abcbfb547251edd15e08d5f58dec6ff19eb721cf287c6a4a920f3d2ff99753c2c21a3f1272dfa66977a50a966323f250b5c6ca9b44b44ae3857b17c251bfa239ee323442468ae2f967fc333e45cdc36ccba041484067d0144f13d64a5074e486c6355c717288666abcda68d12d755e280f2a2c241651e239ff471616a5106d9446d7d85872ccacfba2c28789abbaabb504485292e86f7da819b63da88bec433f214d84b44f9d46efef75bb12e129c9ef5cdc538a62d90ffa09a6afc177f6e6c10a3ab79272a0f01ff18e31befda5d6a071f46d54440586b2834d9fd731bdbe82dbd52ad57241024fe6d5841a9d2391c2016f56ab7e82dbb183056375a7aee6b7525a7ca472cbb2492f97435aff81b482792eb8ea23743829549ffe46e090887d63edfd1a72c1cc1920289904402bbafe255457539f2ea116841cdd9c91be6778a0e6cac05fb8b34ee0ba5eb2ac1e8884485f061f06c4af8a672d1e59cc284d0d18cd5e972ed26633ac3b2b6f6447af16ffab01354e203a2251af429b25de1593b8825da3726c5026235d167fd2930a49adf6d03db1b69eecd0732c94e1acd8c33551f832724b4b63bf5a154bce2029e61b861605ebb54d8de95eca75333de5f86d52c3f661ee11fc5ef6b1306ae20590b1b6cee2db220f14682cc4b56f7f39e4e792e9457208990c48d53c54c1f012a66ea5482b374339517e616e5eefc1db9a8ce23e66722317f695ab51c915b19412c49f83af01a3467ea9d24cddd61182640ae08f7f222dfb1676fc27d8bcb7e796820b1816148eb88fd789551edff0c8c8f16a34e945e78a901721b7695231ae2783752ca8866c3216b65259f7f33fc0a35e88e765721a3ce2ad21f6f563afaf332553ce045ca8afb8ac61b2fa76926e2a3a8d1b3e72c5e51dc39e0468b9a491ee0f4641ada50306bd46ddd1d2aa33189342b443402c9715b4e2f8ac41b227141aaafc44942ab3698592a44c328f5e05a63accd6ae72164b8edc4a504fcd450f4fe8bc063b8cb28b49654d0389844d53bb3e024ab654e0d7ae73d90b9fb9a0035004fa6243d70539ae8cc2802b288a17a76144535408068124c74251fd5235b545908e4248c6147749d651efae04546deb5b0577ec728a883d53897e5419a108cc144df6d74f760e0011905f04bde09138db72073c7250f5c44bebbf358dab20ed2e7c0278ef252f923d33a9192d883d5b075f130340bc931fea4658dd399297a7bc2f81ca5d2b4ac210cf94fadfb01d276cb1155d529dd63fcf6332d0d69b772c1ecb4388d1e798ee532c91e50b3f5f27a20ee9a9722657f47676926b2a680b4979c46faccc7e8da1e2037b0a08e296798710957f171f0b2ae7fa1ad7ea5457ebc8d1dac1c2de1953ee847b09833d29af143cd0f972e065d079594c54c4b22fb611548dbc9052117e10f936e46abb3e1651fa7779720b5197da6a59f388d066fba1c1f495ed6f274da7aeb6d0206b3a46b65a09e6720de8c4c3d26e84d1fd0aed80023afc375ec932af514cbfc35dd83bbec0eb6172cdcadc8327b841ef6e967c024dbdc43ea03028a1175911d44fad8250ea22de72bb98717d70d8b700dfd2deb2fa27056e3cf0f1842a475f8115ba3981991e4c29cd723948efc7a57ee6366e2db620e3b4d6acbb8c5d0ffe01a07a476f3889046c5899330040c5ca7aa10aee1c84b18910f0d4751adcf4aa667dc78b2c40b5f14a11a36f6794519ed2b375049f89f6a3c8f6e75ee7dca96e632eeef886373fc9257d7a8a6938f973e43b06b1f7f8415a5fd2fe134f20852b3ba838897c36ff061083d3f8e4c39334e9c3e2e4843243c52471aec73f358c4c308e0d242e7ca93a37a8155c8e5a5bb9995bfef53887535fb00c88dcf911497c0b128edc540a57ff721fbe31835b36137b588679c5345d29fb610ce7f7ad8384d32882cd8e5e1b62720e0561f843631d6aa7494dafd433b376d95e09de7948fae9eaa96a4c5c984b6fa6ae0f5da672e1322f7335984e9adf6d6e977136e52d1f12d36660c494541072282cedf0c9092c1504cae5fe69ca39fe69f8fe40b079ca5180bc3ba50c6cff721352ee4d189e9dabfb101e95f09a7737ab256ae8fa0e83f1f3ccf6089b92db72cc66d8dbc20b66cfc6e788c29c1db72993343487635e8889ee6bbcab78c40572c9feb46708712a323807122c8430461409325d6b2b0972723f5d3a896e4668727ed984d2f3b795e4fb720b45a813fcb997c764c0c31f3e9462b09feacfc71572119f3e10477b356084da345a5d2b327ed27de5ecdb33bb6e5babc65a8eadcc72079e727e90b8206980d3330ac201d2cf509506806f01075d7e5ccd4da9e5347205b987170167b8e9de0565dd7f7a28abc7ae8f42b3be183097c217e28863f272c609c75ed4f5c5bd6db9fccb741dfd157eaa19b67a8249ffeac2cb48681fc1722c344477da0215eb2ebda20af5df1791af79ea5f6203a650e4da3a28d9587f72305e2c2ce40dae512e8817e0950830549c4880adcc2f9cc614c2f9983d921972424a230ce68e0e2150e6ba8803cf682e8e3640e372a441834f32f8af40f56570914f39dca2152384e6f120549ddb5141b291b18996c202e5ec744e3619713e2148b8e887ede71bb574a118d215471bdc9b8ec91f0cee5a7329246c75d65bd06502ca7a5af0d20603b14ac017678e820d4b96318515ea0466c558b881b2c3a872fe45314864b845464cfbef73d68e1e29c1dff173f32f792c1adb2e317b16977285e54cbc90fab3f1e48f9f6c69bbe26c9226460cb92753f41c81bc40b067a210bea28057595d0eac45bd3fa2de78434ff398d969dc9203fbf384f2eb2d9eb827091ed6d9245eeffa0006ec941b8fb4d9c89477a89399a4795fa2a1e3576f421a70ef88bfd0403285be1da81266a6889f5c79c9c4dc63422fc24e94930cc7da34d027138f7c74b2b092e2b071dfdaf182d86c26fe7f273bf0e023d294a3893c1a2e9c548ef1da7e7b57f5f94b894a7d9d0c12932503f7c75afa3f678410e5733ef5fa312ea0524c924e03f0f9a88e9e6a9790f96902d9a0cf8290d6813110655f110ba2521df9f15fd99b160d514a82806a17fbb49ca0d445ba7ccb17545ec572e33d731379bece7c6f24ee357075b7954de6c7a2ba099df70c2933a0a8302172a548c325af2f1df1f3da9033ee85a2624e3fd8a04095e21a5811b5a06142cb72a7a82463c780fd33898c19c94cce40fefd5ff220d018585c1f1ad296a9cb4472c36c5d37521f27a9d6ae7fa323fe0515e3ee47eece0051f037fed0eaa01d445dc3d0a07bbb8ad906fe6220115394dc1b0913ebf554628f528c4a7aae7f286772ca020b606e9d12df6c762469de460715487ac3446f2d3556dff2dd53b8437d4b3215959c44ad7c1cfdd40cf0c6dac08d0a9559b9a70dea84030c03edfefb733addab22f7395a822c91907789e27b4968749735aa4a4976b7a3e377b5cfd8f03c9af90b7667b271dc8a70c9a706d8dc4e7435258d7f4f05b6dde0a0f8c27d0f7287c3f7df602848a2b49770161cbdd180113e23f2c43857ed6cff835c0c1cbb722396385137f9eaa15cbafd10b9f3de4791e4240523ac5ec97d4569408471a472935a4e75ea23b18e068e715788b64671f93f294f7cbf08b0a6ed726adb832965b71f6ea5232deb30683ff7e4e60e3c04676fd10b9b473991f7669b1acbd5d240d86b80eba9db683f41f11bbc17732fef0fd3dcdcf278635887bc7e5c68c93d72813323fd04d30f2d9c73b94bebd85f1111efd6074600cefc3d922dca289b7652c3549de522445ff8634075a0723968b196f6792f403272d599c8c9864a65ac7290f586e6e565dd592b2c30c831dd089c053f414cbd48df5f938ba710e4b2943ca8243a334b89d87334c5e6792cefde85f700d610cea17fe7d7105d354ecdc172367be8b355c8ae7700188eda1335d6db170357acccc948702832e73979806f72fd538eb501f8a1a5bc7e6859cbf644db7c0e8ad3635eff5cf9df9b6e22e9b572cee84bfa059779226f6cf7bed17774c73f9c2ee5dad3aa2c2e77543e2a1f9a722cc6ca388002069f4f008f3776d7591df8fbae9e5911425da70f893343e915724f38fe5b30b804f8878c72d2338b509a523e1fa6ab3ebc62d2a24face7df8c51e9ae7210ee64850f114f645a9c37e8628af417c1188d3b0d9dc5517b94040651865edc2d64c5411946fe5aa9a7a1fed41cd5998c9d0e7c81b95fe5dd559307727042ce8755d698630619fccc9901b8ef8ba4ae6c1569ac3af43990f2106b4e3c6ac69ca0af9b3d25524e535c929cab8d57db07836b583476a420e6c0002b02729fefc8ca8bbbbea0e1e01b115d9efb6be7df096f16ce7290ec2f43da7011b972a126427f680b484c28db491f883e6a82dc88eb53e1c9bc6c26a6b743ed5279726e75a8f1a8c22253203f7344efa8ec2f47c668fb7d029345406117a1292245724839fa3238d2ea5829add045c8f5b0cc2d19900581bd023064403314a7f07272b545cd81c58b057aa19d8dfd4ba1d1ee3c644ca68b7271b0456295103710ba1ef039644450f4688d53700436530c07d128e1ebb0c31b29deabdc422c793a8d22faa27d6ad3f7646c9fb18c70a9274dff3b19cc3d4d14df60be2c31453d7b9c726a41de1a3bfdc1ce87b75b767f8026539a76e149034ff1b7579c1de083a2a52e722376dcb2f696850618bd2250a58480d529f7eb973a0ab717d8490e7fd57e727ee5d66ff767caac1c3bcf4a42d9fbe903f2df0eac5aaa2f501b913170017172c73e3e90721274504703d7dc4a6f2e1991c88e4e7368b8c4a98dddf17c164172e507de5395f4577243f3e103af044205387a30e83e3ce3e619ee468d5f491c6c1691a12c196b981532dbe5cea160300a970fcb5db88c80699b921ca93d395572f836ee83582343e0a10c7ca8fb0ab62a28939b02861a412778af26a4e094054f47ca9ad3a7c7c7959ad890e7bf80f6b87b22a5e150bbec182d176868a707d272894ae350f8791e29333af3b7406236b0ad989e6ac361f6bde379ecfd9e9a931f73baf12761b943f7e8dbe7053119fcc912d62931339f89b081306080c7467a43a4be9618de30733130d3ec4c83a337161b7284c689fc2ab4265cd5c1041dae72f40573e243cf83c2b25d3615272362bdb34ae5c59c17a93cea0831277401fe72e41939592a07a4d3ad32b2ad27ac417aea7100321e8880a436dd7cc425b217723f9c6fab786b1702aa48bd87984ba57e60b58099878488260cefb80d4f636b721fece0149bf2e2e89147095873de3aa195cc3daebbe3b20862d78e992c9b1d2e88d3d270fdabdcbed4f2400e620163628a704bc91da5cd365108066a6c858434d2068cb2760b312bd2ac9edfef767145cb465ed3981bbb523e7ca69fb6655c72d489b4d3e0a957715c53f7cb082cbab16009ba4802484b625f63b144736a78504e49f58ba36af4efc4b2e7ee6ec754e43e2a77d621706c66a698d746899e157253f6bc8a1b4c2b20bcea8a4da551641cf1befbf3730cc273b8adc20d01bc3872758a0ba4365eb123cc4f383940c8ca9d39027847d389f061ee999aad21e189206865d813fb894b177774b2092e59e1a896324f4e0d400a920db3818c3bdd8b0ac94fb6f7eb6aa1f6c2fdd83dbacb60a872b4822bd512a9b14c85eba7bd2ef972e677a975b0fc55b3894a492c596f490cf4dc740142e83ac71236472ec38a4e72dc9052204756ed44ae1433435d1f727837ffa2a6fd262ca473c385c464c1d5542ac1b9e48dee30f68fbbab106d81fbc35f5b13903fe85ce6f1afbdbc5452d672932f4e809b80172339fe3606426ff37441131dcea7174a5e3895fa65216f507216ceecfe1964e6bd906fc4a1ac58e6c785397fc91a955083e9a27c56bf6b6661e55eb1991ca9c1c6cbb56a80bee606ac4045ac050eb7f7a1c61cc557a6163f729ff81c3fee39472ac55190edf1952ad7e0ba541767f1d3772fb1ce546a352356aee81b8c429eda91e1efb2c063a6d37817b6176a9de4c5f7e784522bb6a1d23b79deb8c833e6c518645f8d8621ef58f49e44aefd72eb22b76d000010485f627228caeb0d8d98559cce11de1563c3236872864e76fbfe90bf3117ce9974212c725a4de9fac004bf484d7b3fc9a46644010c36912718bf9505ebca39e6e3338a72b568c6642d00bf217e8380741d7058dddeddb6145ce38fb4ad04e111eacb79308a4872d27e7287c0e083bbc8ef10107e8a78c40329fef817549d58f098b17e3fe67a3614d5806d0f94414e80e0301bd13c2e46cdc988992bf8f8ba6648898272b96948f34450e89caac8cd9a8fa723de6bed3cc9a763dbb91f8374a7314b807207805e5fcd0417af717913b83f48fe5f1a58fd7df63c638cf75b1d6a0cf6e7728eca42a5a517d9344f2e0bb023515c9b250d6ada01202c9e46c40baee663da7289878527a747b5aac8b2e99c78ad778e67c8d3337d1a85b53a28cc4feada5c3418d1fbbaaf6ac765c26e627e91bb4720996f707c6344f699a2383cc626153e72b806b4d271efdc88c94f63fe78d7547d4900291e56a46df43ae2b4fc173400721f8d742056a0f677c370601892a7a65d6fc0d9ee6442d5bd9eee78e1a1256372d727c0ddfabd2dfceb0f9dcbd6b2609441dfdc07fc31586c4387b6aaa4e434723803085b1ea7d582eccbdc1badeac558b1396a729dcd4686391c3735c9e7276d02d2fcbd12da7fe2d64d8a430176a03b0932bab72f161cd53bfbdd9e0522f472182295d81809c24d641ddbeaa1b3e6573dcb31c12a3ef709ec3bff5956633672f5677a7bc2179bb46cdf36ef5fe608940739f0d94b7eeb1ad9e261b0dd2027722e899f673b276fa35c9d6dd6d55b4b15c898cfd9826871a26a3d98141ad21272d1249f4d2f5581d7b57f502dc8a2c3f2e4eefd6e0c2f89900250050026f404722721ac4e074cdc75cfa1b7dcbffe045401d86add3ebce597bcd7310a415cb87257ed6bfcf1b6a44124809bb8c0c3d061dabf309155dc57cdbb15b13c564d314632e9d2bbbc1a5de29c261311ecbbd11f9ec6dacdaaf26dac548c430a6e0d56721261de595e4654eab9f4c996836fdd908d4786e7bbd93d5cebbd2bf745e71e0df0999a8f896191f8dece95f5c8076226df54aec937f37bba9cc2b6fdd62337722caf7e3ae54749c440f1807a8993f4952f23a0c7244bfa0825ea077b77abc96d1f67b44eba2b58908a58090bafacbb25e574f8dcc631da350e4b57c37d803231f089576ca2eedebea7bee9984adf3d9765f659e729e35d4d068d86c3047a8c44b560891392aa15abeab67152e0484f18da6e1009afd559a0307dd4e5fd05d32b4f1ddc82f03f0e800551dd3c765cd2064fc7f306287787e18da3c08cfd11bd726458cc79a046ff9a559ca793f22ca72e0b1b38b1394bf8acef132a48ecbd4a3da842edebc1da4d687e9303dbdefe1ea3427ad8d26612ee3e2895dd0233bc2138acbf1a9535c66c62ffc3447d1d3531ad87d4f2afc0a326adda13a9702d5dc630eeb6d8021fcf081502ebc767bf3a95a94ea08edb1e6537f9073c3601ac3dfa721337127a9900336193cf34315b9b58bf9326490d2855291b1bcf3ae50f420e3ffbdc9aa482c1a700eaa6bc3d6d94682f3c1942dd6a8fdf87101eddbae5a4a03636f653c2b89c795a232ec7f239935c974c614511faace509b7b4c0af4c7e6d383d5af8bea997025347ed68ebf7fa032627e8d7ba7b2547562c6d569748911872b7f2abfa243e141d63db1717c793ed8f2a4863dc24a6120914377967ddf9ff72d12e88cd18ee314a60231f16712b859ec322b9849837f9e68a6a07269b35e072fb12295ff7ec085b2b86c41683cc0cfe5c1ad86bf107064fb7ebc9b182a8ff6f1b585452140a3cd4c589740dc73e12eae019b5175711a33758634594d18b94729df816a2f9c1c84ac9464752f738a49eff0e6995990eaf429562a830459c32721aec360118e1e0bb995dc5088703edad2b0776ad170fd412def7454b7f582472ad99b8b4f12bb611c9d356b8c275404c8b8e45ed0600de7cedc0017b86265a463e585528cb11792e1c81998a199b34ba75d9796ec8a20d9b296b39647d2c603097a971e9e67b0a5a9d7205564d07d7bc808da250856c1b9e12165b630cbc5b7246ad8fdd7713c0526046d60573389cdc6d25bd55048fe7759d4d5bab34985272b86c7b02ffc1c05e26ee8f0b6039924dc01bd60014cf99bfc52ac58fd029384b706ef336316fec15d11090f41f71c4875056858be619382af39b8e316cf38706e7d06ae7bf760bbd46f41388bccb9dd573f4cc3db22bad0f629de8f5947f0740535d57211953942f336942e26bd82be0dfd473cb33fcbbd3fe7a3ed92f63fe3710f915803e01fb7028add4803e63bfe6e0180688aa1e7b4bda6c4f7a614edc0fa817d2f57ef3276a98a4c7280b90f7191e5076d8aa91137adb15b3651fd49f7263b45bc3c2242f5ba67763530bef34a0d15ab5916d8b702e6d0868796c07f772d93f74993a4a6f266dfefe0760708a136013c642a2ae23181e98d5c1f18989725ddd6595682e2cd1eda6bce5b462c61cbdfa278747e705aee04e1e3cb985ef72c49c9e5ece829785c2819fd10b448b11a56a35676d3acf389fd814e358a33f7235edcd177808f964b939fc8c19ad43dc8cc4d9ee4bafe22bab80de56cdb229727aba6711d51379cdd974a8aa76c5b253b3d9e482ae0c1af938f37828893a1528e92207256f80e87a9380216050559c45588bd05dba05941b4f85317873fc6b363abc1f279d17614800f5caeab6511370c1f6c89cc4d7f5c0c7e909fd731a474017b5975f7e69c9be8aff44dfeb2379f9567414572256c429b448e0919b7b191a665fd55956bc85a7e42340357c7d2ea3f3d1eb36fff89391619343fefbac27725872fdb3925d7852798dec2e39e0cb4f37b053847d8af5ccd72b91055287a672e5ac31cc810b6b7044262b82f38735f7ed33c960be197919884a4c78e335c008377cafe51bfd129f2fa87ace35965190a4f3a85715ea971634a02e5ee5801572307ec71e9f9a48941f0697c6faad866861d73724dcfb474b84cbac8de6db44724b99e2e26a88a53a16c7151d2a2adce376f8a05123ef6a7cb6deba5bd7cfce7258bf05d3cf4a5b363a8102fafd5793cf7428bdd1f5261d36a09fdacfdc87b1720986c68a0a4ed75bc4c8c2a94893f6ec5a1080eb590aa0f990b860a44e75ef72616642c2883d1317c7a190032bff11d486692dd43f27bd672a3ff0a6798daf4e4a1516977192230a0fc62b68ab4e176a703e90369c82780f9a10703655df3026dbebc7e7cf71f51e5e9aa9169a713d3fa257c637601efdc54816c57a4c542172ccf1a3023654502082bb26f072cbfef4b966090d2200cad5b8b66a758805d10556c5885da3b19de52836ad08670ab7513e353554d6683d55946762cb0f7d85724009488ad07c7bfada028b3479c406ecdbdb03841a47a40ec3bc9f592aa61b72c84a7cc62994359b524223f7debd19d4fa9ec75da0d6c13a7ee5f763a5119e72a9e6393a471bc4072eb2f018445b4527e1de98a8f6978ab424ad3b936e468933aa493ad13c2461f0d2b6ad4146a233950896f8916af53b04fb034ebccc944b72ea6a5b9df5ba7e51552c58bc4d863f3b460df66dab8e00f15429b6cb14795404ad0c144cdced3374ab44360228115740cc58e9228d420594993732b40b14c064145530f53a743395c69fbd56b646d60eb875af54bfdbd16323c8b19676ad1b20eb710182aa01ebb9d3e91d1b4915b8f697229863749f9b25ff14eaf58505ea722dc11ac688e87b42f9584d80773990768645de53c84a7fbd009f6f07e2e08b561a154b941f53a094e0cf7eb894b871481c3848bac7f6f93f11914cb7951dd669f04174451b63bf8e9f5a33aa1dce3b97e9a0b08c8836a5b1f299edd56ecb8c0a7bc1a0733a95d280dcb918120e028273b52ba1f7ca390a48008ad8f1e60a644e730dc0ffdc6066c69195382a13917266f6c6f2fe94ed3e456d32c0360f86801c519b720ce5165030bace35cc430578f657492fcd22a44a21b35c072c51856e725f2d50ac45b07231fbc4a829d97fa8d425d5f5abba4aecf255eadc55b9fea2728d3208ed58a5471ad542e5237ce4511d0816853096d3487c5485e1f767fc9072d152a7f7e75b620c086bd4628fdb2b8069c996d0b6bd352e98654f1b51f6b70d5508f131ed9fa7d2e207fc3a2c17f576f7a9e926fbc58453a84ce65e4d14527249233626a78ccff58de2cb8a520ec09c065497b180075dbbba5a2ec0c23f41725bc233798543dea11f6a07b9e8445ad9afec117b48bd66229bf605055bcbe8727156af4a8fa9a456d40b3c7c5753d91c0e9bbd6880db618b129044c3635b59721965f6de8b4df166936aa16a7da404a9aaa5ab28e3e065bc620500f9d8dee701e632a2aa7f9d56a7045519632d43ff060ffda02db238d602ac64f93a016a1447c8e8d1cbdb092dee089f6d308d4fb6525f6bf54faf10d6b4613234c583a77b72a789fd8a64e33ece5654800393da555868d1c69b6e48a494fc862b9432464e72d39b80222a01a5606b7c28d61996397e8a7f997bd416aec4c81ed1dec86cd972c46f998a5c61469f30cde442799c4fbf2117d90998b3dd138758adf9784daf15776db9bba913e777769d391cf4fda4cc554708a46e541bbaa55916f17f84383671e7140adb8c80ec2fc2dd1e85972dae7de2805a63213bfd91bf22966ac61f720a6e5e1bd63d3c92768fc55651deb8ebe0dd24b09ac82b3a33b9f82d94891772190a6940357878a86c9978ccdd50f71d75afd19e680a950555815940a3d1e472a867f3547771fbaf786fdea8cef4f9252dea99d36867d14c0246ce8fbc05857274bb9dee8a4e45f0e20a031abc9e5cf391f1444daad11a125da42d240a50b35fbab8a40611724768b890a5d25835b049ff5faefafcae139655b4d990e807af386c0518c973108a1413d09d7052fa0b78f66f7311381eca86c3c1d61efd85df15c8abcac6f39b154b6c7c3887fbb1752d0fa2f79ae6b80223a9f69ee216d1705d9bd2a79bdde12f91ecbb687e9693fe6cf9c0d38f1769ff30f8377684f030b272618e04122ab027ee0a193639494d7896d4fbc29e15dcc32809a52bb26206b2526d3360fc72b66c19244bcffb5ab91fad19a0b554543fce4dc2c216e90065247245576340108a764c297059d8f4b3ec62862d463d7ca3c109267ee4cc86f7ca6f8ba8421659a9ebbe9f0bb3d19e8f9c2aaafb50fd74f089d555b77a62a2f65d4234bfee53d1b96debc3eea6ff034607c657f0163d409475b14f00e200039b8b5b3eddfe2241273e85bf76407b89e6346ffd50c364ab4addcbd353f0d0f8362472943118ce2e88f2b7f9f87b594a5b7b60fb08e4cd7cfa855ee2694e7ce8f642723b1e7f07a30d81c80dad5dbf8a2f1be05a2b1c630a62e184bfa1baef35be96721bffd63003e4b5b1f4db38ae3d3437efcbeee0e9cde1114ef21ebbf6274c66121dfbb73de326cef2c341da3ebc59c082d65b748d89face2e56c5efcfa1def67225731ee7ddf8b48a62eb384cc54696ed75ec285e615d1c0f586241b3d6a0c6727bbc087302df50a3221bbb57c90b40191079c9b9ca0aecd9bbfbac0427ef1253d4c774ce7b49a18e9872111d52aa038949793557561180ef20ed819122cb6372d125bcfbca71cf30e1fbf0461f0da31f6a1ff0513e6d57a8e4df8d0e59750b72fa70c948f1ed77bcb21f324274c30e963aac324f4facb331cd0367c82d991e27c43174d7c88be8f6e01f8763bc1405fbfc139df0ce3c1417cd8c712092820c728d7d8e76d6f663206302271be9277d9a6d9c4df9b7574dd01dc736f2b7f65a06273215e72810137202861936012cced21eb9500fe40e53faa081bed2233dff423c7dcc86ff3cde70e7657098fd93b95a722e3e60806274901845dc890a8835702f0efea18252bbebea13687d8977f4dc770d27e441bfe3520289d36b7c15b26745d84a50c8fbd4b94b9564f545f76f694e130e57fa5ee3305a11e6b7201641720fa5b23f4ee4974157b72d26a8b8fb1ba5937fd790242f57078a3cbaec3371724671b0504dd98ca681cc333e59af9a442cfeb7c1cdb120351a8d585ff68e8d135a4ffa34c8a60b1c8b8d63017a2b70441cdceed57e9bcc35d10728f5245767721267b7d1947dfc81197dfa6c0e7c9bdea4d68be48459ccef8bfb019a89634e7215d9775617afe4ecaa0d81744e27a4423cf42a9d1fab0f41099708d27486d172212b3fad6e59f666868d54118732b9049270d8fd971dd50214b6cb1b13910e723f011350389c5b91a9352e602a141d216181467cfcebe6b4c05bed19bfde674fce1145fe393908cfeec3bdc32d7e9d6a4d4e236180750a768e5e5b3bbb33553ce2b9c020e648cc733a96f283a5c7e1acea128c131b872428b90009c50ecc0472f7a1f6a7ed022bc085de6d7251023f5c71ce65c880ee3768f9248db7c6087b201e5b467e1af6d5225396946d4004cf130708644131bf3e49ddeca86a2b6db972c8d98d57fd3911dd07acc569028178ae02dde982af6aa50e3b03b1f29f6a0672e48ae804d9070081211e88c7eda17a36bf4f2a6d9e37146bf88298082194a03e9fbe22fa5d00c5e3358e222dbc7fce2e694056058c266a3b5d95cecaa3c412726b6349a78a49d9963bda24a580aa82393e7e8453cec51ad55021ff9e5103b472911b70f6948a37e519fc7119faebbd8871afb35e49ed897b337a92429559a50d64197985b33c6617830c4dbf8fb70d668cfcf215cc76508184ce13fc7a9527729d6f4dd416f0ebea55aca070dd767cded504a63fd7f7330114406d99bd58607293207f0709bdcac807557d55e59fc613834de1dae6da70c6d75da1e0c573037223bcf50eb2f14968346642c6ce99c02ac64e6a1c1191aaa1cd7717487e665b20af2a678775bccbf5c055d20944d60631d493cc588ac8567ed91f99ff82cc695424d53cc66702277ad7f79ab7029955826d5f8117cebc8c9650f7e327f98e8272108d27bab6e94ff4203c3de8364f122ca792a63cfecf4695ba771a5edd16b8726b701f3ad18074ddcca83990e37721d83d83b67c87bfc72dbade975ff53c0f72459d16a26b88d2ba506a77e65f1ee1f59d567c59afbeefd5a963e9f1662bd327faa2b197572adb9af92895e42ab8007301ab18e14362a1297621f07fe9fd9d72cb09e426f045b4449724ee1bdbd0f156e2c33894a4009d96eafd6d72980c6869404214df856bb18fdac3dc77ef263b34a8cea2ac38eb6ab92d09f21e41dbc2729456b03a22730ebe5ce0cf330d8cfe62049c4ea723cd99df8178bc7fda861f4230d77d77b5a5867e98de42f7db66a781b64ec5aad5aff98f72042be90417fe00c7155b3c152df31f52a03cd0b4172eee839d17e3c2ab690c6104429655ad9a72146f00e5f132b98a9450cb73081c5c4798ef3e7dac3c4b7467874541b0ba9d7229164df4067d125071f14a201216f0883b29b5cb854a75f45b235853eb403d70eafad0103b44b312ff8b6372bb0396b6794e9ae4163dbbfb8385ef47ddb2d6197ae9299ee212c3ab22a117631ec959c59218662e31a07cf99257dbbdf4057c2c6383777ab0f8939c3140da5e567b65de354736213f516e775d265f2635245a722b7cae24f5ff87602def81c039ddacfd35c256653e0e7e3347554bd0c317e172fc226ea6a8f0ab0b3c53591abb81659dd7065c6c0630d25440dfe781448df300c011b144667d81899a60fa9edfb0c9feeb28ad081fa6d0a8e2d2a6ac1df3cf725522f8b00ab5c0283c627bf62d6d9d7b45eda95028e632d5ef501f7e51ab861fd0ba245f39be698a6f00adfa6c532988c9c742aa775ae69a38bf905ecb4ef2722b8a3c743010ec710f181b0e8f747925ca41f7b32d199a635021fe5927ec367225d2cfe6fe11e29e3219ae930f0ac7803d4f54eee2d70ea7634ac0e2d328582f5af5592a4f2b2a7129a70a4d8f3724c8d79c6f82aaed16dd0b85fa37a606de1f0608e850d9ae6913eb7634af1bf55f93d4a7a0c3fc94f2b9c6862542e0067c723e26044b6023ea14da9f286d97fe490cae7c905151a8b09a5d4f5b3e5b8f0872082b100b3ae388a0be0efb84ff59b6c63633e494df5df6bbb865b6e8a5a79072cda3709b8d18702ccfabd304c02134af820c6d8a754f283ccfb73a067241607228e6b8cbf0153294f8b161df3531f8f67a6fc1e07686698ae560afcc2b726f721c87a3a33cfc33db1be166e062963772ff3df7d72f2a529dacde2fb6da01f772dd2827d431f0fa17bdbe86c6768050fb89acb99317ef30625e2a45b363ab1f2fcb52a32da7ac1ddb523ffa1eb1dfce74670d15d0960ce5478f0d4c3453ff7265d0401aa5ce1fca5da596bff112d1ecc7a4f024412c9a3bf7ae367e5c8c6019379af1e0d0c592bf23e8d16f6200b5bbca17d5a2683fb0876a29fa415327210a72e1e23b7b1dd46a3429166a84e943e0107a67eb85cb49e65ec09066c9a8be2a106ba5e02986f631edcd86f2f848b06723efb06a7277bed5cf9867c66e02008972a0cce6047ec38d0baa07f00cf7a7c84e0826c76c13fcf98446d22edd603aae4f9b24bd3b0925f9339ccfb88ed2abd51c7c90897d27cf52c86c5da7e327a4c63b70451681a6392cdb9dffe552c117e5a7bcb2c8cd496fde500e52b934ac41cb724ac7e98c773c2a7e5317a21504bab58bf8198c0ef3b07fe60222e8d471ba2272af6a1518f74932047de1a65b9542be6ea4356983c2d6e1e9699debf5391b60025abf724e71c0347175164c25f4c59d4cf6376e202ea13ca969870a220bd640108ee9ea8ca4dc6c0106993a8d77ac7025303220bdbbb51cd134f50bcb55f41d723ad0bd2f2740841c3d7d5c5485ff46724083e08776405700e43ed9509c2fa555a0748a1189f0b475057a06faa46be5d9ce8e44a34719d6425fe8adaef8ff0472f20b1335b09c13630ca3958491f87abcec9e3051bad23033f2dc6a82bb688672526b0fd6d74049db282add0f74ccd073a529b6ed5d04e63e6dfd6b6c001fa2472895040b75c01b79d7cabe5dfe64100a6da57c05fdfb48d4f73fde690d747d50203f357a090882fb85b2bee1bbaa1fe0d3db559e5f2f86200caccf6bd62fa2193bf5343c4178e1f7ad952b5d9a422a77ca7ef16e2ce02e5429fb1fc3c9a13a59ac5af8021b4c70e898d4174a0ad3659cf39ae4870d8f6f18aad333e5ad0163638514f28e93a17870c556834515de9f8a1edb28c679da6bb607e0ecf2e13a3348caaba3973b40a93ebf9d7a40d055ff7fde33be5bf74f61a65a2609d6e6f28b724cdf94eb23cc2b717563645ba78c1ff10385485c26372bd7d910baff86c3711dc7867e5276807d5781f397de2d4d658d40d020b76a0e8854c68d6525f5739b5846002e951fc3a71d1541ca7b47f31dbfeaa63bdc8b3dafb883d2dc88d4a78d72a2f4f960edc7cbccb48c2a9b8ca5db8de1d4840768578c46fbf06b5d93d0b2716e795b9fe6815f47efdaab1573023de108dc9100af18dd2f94d8d81fbeffa67281abac2d632e90ecbb51c0aaa0851e5d83c103c31932194833dfec13138e2b337bffd4ae71d16e727daba666e2139cb4a9d2126c8dc1c43111c444fb0bc51772e916ec6db63eb9387cfa3d04579ef09b8ed7ee0dec950e3dbf39ba37eccc84729ea75b9de16ec0deac77d50039a38267c9549264a9c0cfe04b7dc76fc93bec333c77b2ad73ad4bc2d3e8b3ffc977bea74e8f8e8b45613ebac45113c383106a163c7697c0593ef73b369b143ed556cabb364b67ef2fbe9a195a339adbe13c4872a96e82fe321213dac4fa135b9d0ce0ff6e6fc7afd25c85e15077e70d34128f72ffa224bf388fb3c3687bcd384d3252cda81b6986945e9ffcdf3c5f1957d2dd7257605e7f0a3fbbcfdc09542b4ae9387637cea03ea9342d8dd803f94d43b4fc721fb2e8399c776a07f7248bf193511128d83dabc370ef8a875a581ebab8f62672f0f89f38d970d4297de556e284ff2de76aa32f636747066ff06b4fc81187a872a94ac784261d5240cfa08007a613445e4b034ec1a53a360d4a46cf021c68f372b1146f3e88c17286aafa2b7583aa35ba3daa61e6fa504ba70df22cfc0203563d0a6529bc9130cf2cfdac0c7f8c010d95d9b19f1a0081293404d8d5e5f846f03b11a4c187293abf8c2d56577dc96feb46e488e21dadaf05bb937dc4a44229db72d79754fe2da5e390886b7ee2263044e144daae98b43274e075daf63771755172f1a6967ad91c0ecf2be69f3a9551573f749bc150f9acbe4bd879472013055b7201ce6de581847c8b0f5a2f988bf900239f12ed37402439fb09d5d791a0b04a3026d5782f6c4f5bf7b1308927087428d4ebf0e12d1044afdcc2106d15f056c57244104f5e25303a757cad21ab0d186bb049fce2f91dde5c858a2f90cfbaa8d672918b7c81f226f09735027cd49055a1e8e3ce10c25e5c7fa9bf4a78a355826d567bbff60df007de86f25f76c9231c5d3986c4f3e4ed5d153b9f1b64175d686072f2e72102049a307cd89f5a9b3392593c57f03e5ac73b97cf294656fd01e8c15ae87c47859b607901638b78aeb782450320fa7d7cbd8651e62cd315369c33117245c5f79e05e80238ce1cd8e68f1dc85690c001ec15bb6481b3952d3ec7a0ad0eee0404b61cada02b0b5d925eec9a989d76ee98c3fcfbb7c0a11e4aad5d6c2c60f8eca428831d5e1ef47afa5cec5238c2687a16f94a12f66e3639294251fcae725efbfebb52de19d601cb8a759ca41ee58f8339dc5a826ad0883ca99e9c6b7561f66a0944118430307932885ae3b20397397fb25af63341b8d49ce3c0c0937450840571ff85fc18ef7eac94a3b1a19612f5cbd7f9a0b1f3904892eca4a30a61215e95f20c57220f2d6fd5d36fb140007ded0d74601b206782ab1581ce3a5a4e7286b58fa6e6ea6f9fe771391fffe6b1123e922f05913d2bf45f29bca1afc1d33c961448c57c5186df56958bba7a66659f40b43e678a4b5dfdbd35d8f435483772a8a5138d8ed03b9abe5f5a6e9e683af68d764e4b21256bade8bae5d5da9dae72e02cab43a6a6ad662fd1069db3ebb85432c9cb56b76e896ac8512b0f06f2e73c2a6b85c5dee953e2076e892971f7003007e5dc641c0930df714c0dbc4f32307220b5e070ab840df02b5eccc169f84bc98ff31891356206ee8359fdd361c62034c9c6f9a99e6f0f5b23c923258dc6cd91c5f460dcb987923eb431202afab1ad724c4a7a4f607d4708de1ceee72ccdb81d64be30b0d96e63752eb01c9d14bab272b9b73a69df8fc4fca247c40954eb3c429034a89b7926469e560bc64418ea2a06c08ad6268a05757cef55b9fc08dacde9df4773c9c00734ab957c7a236bb44d7218e6fea20e96922a2729ff85aa24c9619f2b06675948bcda89cac0a91ce5e4720eecdcf4651f059628a1693141d740440017e129d17617d8bd91634464d4ef2c944d4ab2e4cfb714b6d4049b592589c6bb2a75ff96422290dca484672b289337fc4dbbf0391c435633fb74103e106d190ed521d84ea398659281b84fab7d622f8219bc12a5c637eff21a413590ec7d81bc58f6b9a3b4969039b10055eef6f172dbb02c4f8682a3c3916264253cb8d56916dc86df4c32261041028dadaf87c37204ec11040f365725ce3207a82da934dbeed23703c5f896c3fd06a7c5a095967279c41c5a682fe2ee2f1e2c54a97dc4892b25af316574ec46bea524c0da9c1b7278d69206dbad2b6e0c5a30617c51855bd52bc6eb941346b7af5103644d1fc4519744bc518fd09725cb1817437fd9f525f0f4f82dbd8d07074841e4e689fcf1175a88ea8deb0149ecd421808d9a0d53bcf756703a676264e0af447a9c5e87227239cf07248052524f718ca772c886dc552b76c156dd1106128eeea74cdf8f272bb3e905831405392a5f1768b3371022024ddcffc1ccbeee34ddc52aa17d1d5d488f140a956475678b8fa056a9b6850102aa70f9d16eb23b2c34a27615d02e840559f90044feaed11d967f1e82e1c9febbe24e386035590c5e9bc22650278ee772299bac5d0a7fd077a64dfce8cc6adb4c96a4dbc62fd269b1f39601498409e572b4b5b47822a3683b65b485b2d8e288edc966308f7f0c76d41c643b74038b4b721c878fd003ef6cc592f8c87bb6efdbfd112a3d1fc16f212e8f0f3d0c61fd78728906e8212bf9974620b740d1d9ee4ede03af965048af7f3a12f12496a127bf72f0484ff679b3c5db2a79c79538208d03c2e5f160272d459c7db202102ceae049e1157644421d6031c7e59901716cd6ed37323b100cbc43b2b5b39de4bd505672d1956236e0c27b14294efe86a2bb085ebdd2036ee0b33e8d42bc60c760b0f32b833b8a4092fa0cf034054101bc09710c6cdf00d7d88445d7bb0ae023b22c93332e9072cd04dcf812e67206a48cce3d81d6525c91aad70e73527253b4b5a29a4a7bd93bb49cdb1232231a671855c77ac4b6ebe4f34c07f582b50387de00b7f1725bfa5f06dd6785b107c949a249312edafab8d99ba5b0fe1088e7d04b2a9ebe577163c3d3a9fc137ff7447524ab40d3c6c63331cb3acc3ee996eacf8010f0c45f259c1163a6304b1fbc46287d399b9aeb6843ecfaf284424e97e7fa8246675d240f74d1ff0927292e34a25f4c515383dc6446f6c50ce4b798c4815039c4864372091438faec0cdab56f37197c22403d0b39be0e9be49abe43871847ee164040728eafe7b32b5d58dfe2c93a9de3422c72864c7addf378ade544eda17df92ad272095828a94140ce3cd0bac3fd056eda93522150d4c47372d8d7773491b4527e673075067c1199aa533b646786858ec1453d6566da537d73e35ece3c00f750003cecb9dc1940200040a87067915e2a090ba48cc547ce61c3ea05bbd664f9a298723e086374e940042feae8eccff387a7eb7d810d5b88856349cebc63cdce744a72aa5575e9593c4855aa1c4c40626c61fa689aa2dfccf45a2ccf2b1a54b262d471cd2c20946ada0f7c526ecaaa8848bd7bd23f84fe0e65a1fdd8786c7a17f66b4d9f27406b306ca4aa9eaad63762668c9fae92db12e36e02ec5cb5ed945ef9ec679f00318a89e42537c6f149ad9375f6f4a79fb763cc984cb50127d242eb636206510a294b842f16501bfaea355361183359e160c2227ab076fc75fb6b3bc73f71e01f222d87cc814185450fa5f09f0ccbe0fa456dff9f55c6db41f7e121cd530ab3d56e8725a30c54724d5073345fada67721bc3caa661ad2a048a987143edd05e17a561a4f1ed7187251d0531d1c896a53931de1404fd19bc1143c42c8c7ce72322a56df2727ccf524d53be8bf740546c25367b306bfae036819fa3d1ff1dc72e4fb1df88f9f0886ad2d2f7ee4a6742e099302b3cdfea72f68f6a5ccf61aae513cd56a693b76d74ca3ce15fb3a52cf44bdb4823e4f10012d67baa9635ebd5e723ef557bfa345c888bf4c8c11f715c341d6c5abf5b36fdb6447a7af08e276b072c2c02d353fbaec738e8ff6de89fe198c6efb7ec08d4701893579242fb6f226725d0c17621b2042501ac6460b35fb8d64434a75d281f521caff8853eb960f85729fbe1ed94e4138f2edc7daa874a459ff326bff1aa206cdbbdf7124be1351406b4dfab410c8f99370a6d08180da86059152301eae48f32ced1a4bbc21b5d5d71df4eab1688f0d2c0db95b506bec227b632c2cf4a0553ee50b942e86b61471382803ca46ac9dc6c534f1e5ba0c784df0e6e2092b68ec8a8cad2303463add03e972a57f8eddbff533f8dc3f0e777409a4cc7a207ca2c283e168eb383b05a6e06c72f1b3bd7e923970b84fe0ab2d76d8b18f572613d24a66e16ba5668b0c5779ac728d59919a3b11050aec3b52546eb6e89075f07817813e998aa284b9c0737a7d72b9cfbdd0963b3cd6d31e355718e4de288b0462376cb81e9047fc2bf959951872f311a1fa883ea52616ee3f8514e59d63b6dc4cc5a0defaa5a4187e51ca48544eac3c2a3dc09f0f1c19d03f20f54aa065e99c517558880157195e25b81b1c8947735bd94151fbec07629841fcb5581839431014fdfe4d24b553bb74c5036249359948f226fc2606f50081621b319f77c6df5ec9f74a6c0b08158d3c7fe8de0e28a54296bb3b855052e392b40abfda0fcdfcd04f837a21bc370cf00e9c8e6aa271fd47f76cd185f32df8a6d55380725f1f30e19c6d6e1dc0212e7a16bd44c505727aaa536b2c7298cef61c895ff7902ed3d2afabbe825f54d6d61e4bcb288f9b2f19456c812dcfdb15e9efa47aa8e799401a5baaa81c77edd33245198d3c81833d486ca0bd09a22db051d1b540c2dbe78d47ecc1e9f661af6df15df543a1b1bc35cb64ab7e98943ce1255d3ac7cee97ec7e1e04bac1b1c6d87cc068be43306b6676f2ba9de3953e2b316b556e67c66ac52f324ae6bcf298da8723775612f657f72d7ecbd9d8e0f1acfa79b3dd109e4bf57a6cfc4f23d8406316cfb5e4444113829c72b17c06d4a06bc0b84a69a8d6df7e6af6feedab27fe1caee2f06e309ffdd720316fdceb0dbd34a8682e1f6a86b5bf813911c064d3b90f19c273b51053fef12e9d1525c7972869eeef3593b956e068a8bb7a92772c29ab6b165a7c88a600d7222ce10fb1ef688f1ab5f9bd1fada97d30319c41620ba4381f0f2179559782d6cb70e28e029363722d762cfa3102905e8d08d2fe7701990aed13957839501f43b450789f9103367fa8028856a45bde673eae307534620283baa528da9cdb7be00f18d7549921e9afe54f76f57a2594fd3f828ed3bce8f2ef5f2accd964c7a8b72fa6c9a139abd24d1fb69759ba84ada75828cae47936c1e99584da10ab4d0006db9a425945ab574886fe9f6bb2e9b6dd0d6089111785f8e303e2353d752240d431dac0f569196e155734007716080775965ad69896bbd2a253b9c34e24b5b7a7268869faf90f37a3f8b618b2a3d0e79b9c91b6a74e59f3a8f4898d84ffb4f987210877ea94c6dc1b58b0cdc392d0b1580c01a98c37b563e8a8d03506a95e8ba7226f2bc24fe675febdf4e8d730097ce0435ad0098a6d407d587df9dcef45995442dd642ce2d87140d50c5ec25ac183a449a6ea5eeeb6faf8823b2cfb7651ff003176591f373f6f1c79f3ca898355aa3eadd6d2fc0d504329f8e85b53d7b5cd368d1cce7ca5f37da2dfc3a89aa67fb48a44f138eb5849fed36e08ba00bd8508b722b2cc64b01c0838fac2c622f908ae9bc516178aee33da53c8d487114c83a6b53f7d2db042cf912a6668b04e15b49796631a2ac2eb240680e8b4d8934f3686672713e09ac1d2a98f58eb03cda6d8a54d1a1765f4e8a156e5ce9f691a9e32c1e72f2b09949669390bbf80ccc8d4302bc8003829993eb2d824eb7ccefbb1f1551321ec44fc3beee802e8b76be48c933e9f77c874f35250857afcb669d268add6b72400e58d1607a118a546b0b56d117bfe847bd543a6d06558e59081954d4ce54725789921bd17a7888a86e2fbbfdbe9a92426c1c389ac0d1ba5e0f61f15ef1aa0d1c4e633d9ed65eac048da12f27a45988742d655ea9f9a364c46de3d8fdb2d07212b48dadcde7aabad7e0c4a09ecc37437c7d09197487ba99a6a1ac623214a15b8249a80d034b513e4e7349eaf6f83de2643314c105c4c7a9affe6cc1d9a14f727957bef83d784aabad5e4f49a813720b894403812d48bc8df17c72af5e1e6609ffd5c219d85d1680f9b80af4477f834f0d1ce7b647fd8d3dc8e30e93f722c46b68e08f95aa283bdc8923001c1494092980d7e3bf3be6dd4cbab1798c79663d6c71ae711a9fdfb6223a99700c3c1fef3425396a8f8faa488d6d91e0114af14d4d550054d021b2857feb4f6f13e4b49774b65cdf35f8d735ce5685a503b524ec4cc0dba3177d652e7e72661347cc463b6506737f3f4a436c73cee28e910c437a39e29cf24ffe637a78e49babff91f8f41e5428964a5787bb12bd0e63f54fc90f72d31ad4a10abafb5439232951635123be879ecd8f6ea2f351fce594c0fb7d5172f9931d30bad42cd6faa404735a5e179adfebcd71a03521a543aff6ad35c24304811e253792eaa71926b34488a268551ca9a834a632acccea07a011f1da82ff72caf7a5a93b632f7bcf314c6378e3b70c2c2077e5bd383e8d02949669f2ef8a518a9903e36a2967777915ea2f00da08e0378abb8feb7960478a33abfc58d92d7259a54122825258e4cee37979fdbdb3bd60d00711eceddaa7e341c45f1d418b729acfde132ffb69759c9296f7d32eb72c212e2e1fd8c9f1edf43070e5c2fd5e72517a3137420748885c86428e97f478bce0b5022a9d4cfebff9056d85a81eeb1f1f4ce4769ea72774ed80e9f26bc29402e486bf57b1a1c4d518d747dc42ad4772cd7ebc1212adb6fa1139295971298e122f4747a8fca80fa5ae1b51c8cb0a713da289150c0152b12494e00ab4f80244eb6608748d16a1e6e20fcfd2367be16772f253cb3cbfd87b69cccb0bcdb6dd5b3acbd7bd38f9c21cca47f8d0012079bb72ee19f30ee58bedc962faab7e303ea09d525f778dc81d45ed1d177e4f35a5a2728cb4eb60bc6b85f17bff0696752c784e7292424c38026fe2742b29ba44e47e726d5f3d68b3792e186bce37181b58661171f13c881629c5298facf52a5388bf29b49fff10f787cebf587c3cb74b586a1c59bf34e5341444f28f86755c6236c772b69c9cf4856fa9269230668951bc29763187cacfa2d1a73dd008e22794681572dc819533e32bc9dc7badcc463cd7d4573517915cebb15c6bc7a17fcdb09ae272c39ca9f5f541bfd3a65cd53b5a587e1e0652ece9457ed02d822a5837265f7172ab9a9756dead760a6f593349f86045c8bb28cbf344d4f8a7c0817fd46d6fdc727840b8f99335ab43338861bff5225c6a7f30abd7c20197690f0c9cb0f592c616e438c1d94f2cce1ba4feca765ed34931ec1b4d52dbdd83fb438b75e9e50ca172fd8ed660ed2b0fb68a025aeba95c4375afd1230bdb035ec9a536bc83bb94aa3ed64fcaa53eb824e8ca11f6b253a60d73f605794ae84c147c48d9cffd3f7839722af313243346bbb2ddb6525f57af837522407deda0b4c08d600e7cad8880a272d7daab39514998f42431262cad6551dea7f0bab5b89c419cfc96a7a92d57b82516dbba7360718056e5b38bd41dd75f614b3d70adfb8d1d27188b549fbc40782fddbc4ac7ae4c20b937425d2973613e408aa456bff51628b632493af115edc531a8aff67008469da1a662120fd25145ad7d950bd2e53bb49b8679baabfd0673729f5192d22cab4ae5ba3c7a7b39fff687e96bde24906790c70369a1ddcec67d728931ef0a5b57781899bc39bfc29ebedf6698645682fe46b9ed4541f207e716003e08d2797d1cfcf1fdf307d2eca35fe52c1caa9f6e6c4562b31dd2348c782872bbbcdc252a08cc3502fdb90bbd0ab4e463009a699bbd3a9eb099ad550c89d07294ca580b37abd88a5ceda6f92a4752e3b31a736aff8f6a476100100189c5a605700bad678481ad93eb173b51e9f9729c3ac385b574452e1ec5aaecbfd4fee472aacdbd8f6a3d564c4ca3c1f9387d237500c9a86428791cb10b76201cbe8f9872587bb652bde9c6be0c5237c09e897db1857efddce9dbe58c783d01557ac62972aefeb9c5a74f0bfb9be1a1ca5604b413b4d9b8a5ada20361b561c30ec2423a6cbe9511cae6ddc4dfd9e0c6418a47e8e7ba0bd2a12e0b71b198cc939d758dfb2bbd1a9b81aed921b9091383aa41de8664879d2b30aa3cf63817655429856ed572fa538c8f6264f204887bf490ec070fcdc498051d2c790c234e2b2c44f7083b7222386d35d0dbcc0022e50c6f8f37039a6e6f617fed74fc0f06ba513e0ba5ac7255a6e22cd76ae6ee8c71b70c249da4cf2fee47c124cf3c20144bd7c76ed4fd5dff5ddc5d3a0e375eab5dd4757b6d59d03a6369988d4e5a245f880916926f3e72a8d26ae33de578c4910afc6c82fc71e484a3236c81c10d18da17fb5223343572958628987e9808350807db6f244c60c15422304e914a070effa5c459612c81725774c186960471f66b76baf2a47941d90d97a8116d0fe719ce503e3d35d3cc6d72fc53e4299b513578101696c70bf96818ec06a28fb10cd9ffb20bc8cd5aeb72f1928dedf8ba9c4c1e8f4f8475150177e2bc3ba0062f6ca72e1e434d4785386f0d4789474dd9f1204546dbe6f15ddbd5a8fb9f0869c18273ae3b1161b4c5b172244d43c276f86509f7cde7cce588ae3f4d57465d3269df28b628dede740f1769d7f57553da0cd7e4bf14b3c41ffa895b9e2bab828d03835f6e06a0384204fa72cdda50d43464dfba1821cce730c1644dd4cf4d878edb98cb700f03b3eeac6172913542f23e4a699f1b7be5aa505966f4595550d0de8ab114fa5e6da9726a1072c87f5748834a754fb8b51bd17c8f065a8c9797a663105040176abdc4380fd272ac11c3289f0afb4f737543b12f3e8484e48dfa18ba5292ee968c74159ad2ad3027fc6cc54174971c0f71b838ebe5332a831359e2f34a358d7ce05c809f219572c46283fd59c45b259cdd1ae8fcc5055d0c3e5ee5ab466a06b4de2534f4b96e7271d49b901e32f2eba2f5c3e225ec73cc6edbff96d592eb0893515e94d70ab24d321f9a02e6ea58c0e6b077744a2126b2be147a14059d1528f528681fb10f7805f92449846211b2854be20e74efeaa315dc8ea1ea3543a4e0e6ed7c2420c83972e0e206fd75436bdc9965f602d4b62592980471e9203ed2c2f62cdf25c9e7e909e5fd1304beec6b541bb1b8df7743be8808add614bc21713f0c44bff633ce396205ed3167034d6369aff05b5ebe0a28eb7140792a2024e5171ed78900b1d6c86ee9f73487e0a5562adc4d52e8106a6ded78917fde783c16f31b424c12315b885810b731e65d2f1309ffe9b730abd9512b058719fcff60e437b0be563913dd80720d31a2dbf3f1bad0f915c4ef44632eac0dae224218778287ee66abd3dd1756087f923351e840ae1e63da74caea53b0d34ca858daea0842f7aa56799a70048c4eb7232f9ee8a85f0ccf32f843a2ab26ccd0330a8988ce8a471e9f9f78b4a4b85e1605d2c4e199fbfbcf22a4f2d6293cdc44d432c61342f13d6194854a1325c57200b871acab9819baf63cfe2b021b03494e24198afd782ad402677fdfd87b6972623755c7b18d6a8b1b4b79f5178719e1197ca3af9f3569c7e93083b03e55407200e6047b4cc4cef21c8c22b6fcdf9b77ec75b792ca75276c4ea4c196952bbc11b9c3573ca7a84047edc3df0e3b91c586dc31e13fbad78051277848bffb578d231a2726edfc41725ddfd7dc76b5a4d6161657c6dc387271e5886fefd23c9fa426a8e26ca90409e4a76b82472c184e2d53d4716c46696df569f5c917a310aa4f5c16674b3e72c557c3e885fed0ad8f2499514cf08d567b8be4732bf5849b6b155dd7aade0137da08f05996323fbe377adf6e793c5f34758c544fa41d68e36af9724a0ef195a6661895506c1cf9dd86d2a7adf79d8cb39530d7d7918fbf95fd8272fb241ffe402936c4033eeda6b597564ba28cfd823557bdba45f44c5fb033b1729829dfb08f3d4315cd31731bd63f118c6870c201e970cad01b5ec1afbc33c903d9607ffd2851569a8235b2d2891563c6fe3b39af5929f5c1dd1c26dc123ea472b131d5e787c8e4bc6412ee88c212b2d5f174a140875b553b6d98256cf0b19472cf1911d850c045a7faa662839b3d0cfb4e49e191b754d8d4207b8e82e4ccef720839c4bbd9f1deba03a9cfffa6efd0d8a0ee0035c1b5595cb1b1b2f948541e62930ecd50a01c641ebe2dbc941296a59c5cc3645b7b4b9cda1c1bc070ee5ec27266e6e46637e0ae83874c6d150fdbc2cd11972a7e5b2e09e0bd2eb37fe89e8472e3e8933a2a4e04a934f9b69e9e3b12b382336ba39fde1d1ae6247e7f87f949725c22f4fd39100f40ec580930f171527f9ba09224279a8d448b68ea85a99366487ce72d539a89c0ad798b9f3fc08e26158503e4c8b3149165b5c17464ba25457245230fcf6a94c546b008a37bc02696861827b1995f10952720ef780f765a4572d984d2891092bfac9864decaa4b50c10e8c82057058eba1f04a933f96cd536727015d64c51e1397d370b45faa9723c9b74026ea54a1d0770ae55fd31861868722d446c885511490813ff568094f446840050a94e6c28ffd2c01ef82a73802772d0f2a949dfe64cade48fef7e3c87d4c9fcab6acded88cecce848e2ee86be1d7264388fd18cc50fa90450b65b31385add54cc72692c4d0682cd7ee19173351f62bce7d111ff639cf489ec15456ecdb495b2c6f1358e27445a947ced15541b011873d32a8d777c00cf340d1965f299841aaf5a49661d615fa411572eb3b58fd672f17628c735768fd03128ba2c73658885f3360b6b19f30bb65881b0b7e65e9c721d8612f1f8a61b66896ce26e3799ca55576f96344ef9e88b3237fd019753db728b6af281968afabb384ae0a8058a098536e4997cf5879d354d05bc89fff49a72853996e2c6bc94323e70de66f3f60a0a14b4e36c0a07ac201162dae0e667030aeb4b8b4a8c6016f3676517b998d63410c38107b3fd9ae126cce80fa6227c01194231a2d46472ba3bf92861ddb1f367d92b73b68f2143e2b2ed3f89e31ce5cf098df33d3ba8e058057f00d0f0a0abde11eff9c503db3272763b02e5930f83b4720a6e5b200b7fa2891c454156e811787e63d69aa0a852681ad085e38fd5104a72fed35693ae4c7b8cefd4b50624c6a1f2f3925dc6bf37fce88376b89fb7523d72b65383e3b87c0cfbdee46ff791e95460a5de68bb0cf61dfa3d76a262940a0272e930a918598107d3dfe0c0c0c215c8e5243018a6eb674f2aaf516474f220825109e820ca0399643a4ce40e98f768e565261dd4f92ed6fc8f27d99f6226e0283ffa7ac59eeaf27bfb9085578ae02ef4239835e0bd86d8a8270c4126cd45cd490eba0ddd3b565e50fdc5085e82683ddced2e2ce331780e3f8ae745efae6f15b12dbe77f42b6150caa288369afcd571ed8e2e1119da42596e9ba2253e902b11ae23fcbfe758bb8796c28e00b2b79117d07a60f76a09d2054eba69952b2f810d9b724274fb369f064474004ee32db891f52a5a7bab9b307e6ee4491d3cde4db68b3f490ba905e7926c0a52146906395738f434f2cdb41336dcefc01544164ac0d472d1722559201518b54ce88612a39a154c0cb3b4c77bcba3732e9e94cca2ebcf72cb76292265a45af799b747e26dbe63257bdab13f4cc5d4869e50697d062ee8343338daf08fec7e2a2d43fc06a8c2a588ac39b7e2a902d8047f4383903f6908724ec7ba6d0811697f1b7bdb5d517277ea2396acdf80b4ee3d53a1ea5aa3fd497202e5926166010a804f7c6ec76bdc3e7dbcbddf40bd643f20cf649de63c0887726011f2cabcb5180f1a40d914ba9fbed09bc20ada90e67bba1c0fb1b91d114d72fc8f199733b36c6d9e281120c417462734cb61fc3d5374d5445870167976534d9c80004ec113dbcd7ba1b2e93be42654ced9b26594c175df143dd50c401319521e95d7686b4590753fe0a76b65dc4021a4652a5df13509801fac993b153e660f76c3b1e6a6031cae5edecedba1b54134139843a7750a31224561b236a044207257a3277b6964132871b53dcfe902b46e9c624f27b22c4297413482349085b572eb7210070724ad25a6b34064c031c76c74ffead6e2a869486dc510cb831554714f73ab698b7bb3a3bc0bdcac0a23b4b46f795977bf70ba514556f98907d71b68efe654b94d03cecd02667514ab60dddee398fe95bf8df534904496d8087c32727652ba6893d4b30557c6a2fa1ec74b44c5673c36c18123dee589feaeebab67722914a5b23938fc10381ef077d4cfbc3012ed096cac4bb99c847c3048f543b74af915e01fb8cc7e1e88dc2e7a21a4fd3cf37626d6ad764d3c4dd173d2d220e172b3eed4087b09494a047db402e9a1b7116c7f6950cd8d7a40b6741a63ac6c9772a3c465beec9f1447b7ddbca1122590ab707357e7f0e61e3fbd39bdd10cb58263001aa00b29aeed7e7f056723fa26c192cdb108183730b8c95021b9cfb8d0fe72d3fedb96bd7080e836563b2340d081ba0ec74fbff78c1ee2ef3c55fe7740b572d1b269e297885ad4c86aba43c6d7ceda61f1c300a26c043db0950f73f343f75908c7310b43b1d1e430b0b45f5dcc7a7e1c4db7a38786a5ce67d1a29e2e4460728ced61637bc7285ee5fcc2db15597c4143c74ed160620fc056109f5acec6863d521eea8c26b3f87c7d0d4c86dcf49bada2875f13d83b0c7cd38ff7f8a70a5a723c1257ef2d137ef01de5e41aaf2dfb7332c3447e32e8cf399ea95d9236bf7772652373c85616fa1ae4fef9d21f970be28410e8814cb403491a24fb28dbd11c23152cba30db438bf805e2392dbf15b9e2cb3e56bb21b1726fc3132edaf8ce2372e0609fcee79798826ffe874a456573a603d6bc507568ba9c1dd7606a2da348527a115bd63631972da1223d2420ab4ac80680af7a33294e9cf7f12269b938fe56dae958366c40f610d9b48f1343576becabfe728816d41065f70d5b3347fad27297173ba6550ffa66d4075ee989b1966a35f19eb6288af4a130ea925327f41964215b593414c15a94c080f29b01bf0c05b508ae716c99085182c42fa4b8014517b2673eb3d9f2d748b5ae27fbd1a37ea5f5b37089b77b23221bbbdac778f1f9720fcd6b8c8d962467b5885cb6ecb234208083cb1854082211eefc74d38bee5a0d733047d38fc0afae82c58712ac4e0238cbc1bbddd5ed79b5522f10dc21641772f1359c593f11b111ed01d9f72a8e1eef2936ae0fcbbd676500300f627918a327c1313fbc8cf32fc4b613bab97a9701740d2b01ca692a5d7a39cfd548c2cdb47291caff4fee74ac274a5637ab90a12c013865dc6a012224e6a4082099c11d8d614b77d9aa07db18baeff36b64f0c0372a8ab0bb16bec90a58a30004e01f3cd10e36af183a563383d49ef6c57e166093d4908be1ce29db3f251dbc84a3f1161019bd3e188fe19f15a31be3ed6d2a3425cc730ccff925ed22f7217a92e875b79d3e44c2061b426de0889ad5db9a9f8589f8b6b94e0f6e04729d8aff0361f22f161450e17d45fc6eb0673f8a7b68ab387ef1a3893f1b04e0138f6dca99d49f9fdc6dc622ce631a5c1755200f0ced473ae872a2b4726332179e366726bbe066cf5c4a842f5729c46ab0ccca096aab883704847061ff19f59356dc058e2fa994980b221e3db5b26e6944590ae1a614c62caf8c67d577b09410db238277b24906b79f7264ae1290bae235e25c79981aeb8e84809c530916e62df3e8017f1aeaeb421439298953c675775dbc6a5e6ea3c072f690c7c7529690752fb22dbbf8ac1f1b01720743da1156cf776fee3feabf8a9d178cbf883275b73f68155eda08b13472892e339792c28d863d8e3e7a9c87b8f8f2cc50f3ffb26794f3484c145561d0460972e26849573ae706f016db3935a34a7f1b46723406c09871cf06b1309d1446f072b00eba21b4e8920c1d977b8ba3388518bb649ad9d7e71545c911ef5b9b58537283e69115f16967af1e2a276df1a3a3206a3b1d1f81045b91defff95c3327e072593b921c329753e3d387a6613f8e39ce80f620902b7aea1d0910d0d4f2b5677237ec91616480250f42126f97d93393a3eff2e469b105551f52cad686c6d61472422e9554afdf17c30b76a2bbbd916db370fac2cc1a1196a098203f8b0673000381fc58e46fdc2c0c89e49a09785550dcda28fc095842c887bd87600152e8c3503bc38f5c5b0a1a41571d139e801c18c39cdb78a0a199526dc847014e57b04a6775b7b3e264564e8a812e4219f0c257a70479d4e8dba367a7176082e8ec92df720a783f6e08332e03dbf05969ff79c307b9873eccddf96a826bc57bdea7fc9254a8f6c741f3da63427afc9a56cf33e837ecd73c5a20fbd3b2ec3568effb9c4a72eadfd7ee4a2e53ef4984ac9cd908b8d870edd144e593482bb0e09937c6086d72944b7ddb6a1029a963b5f98448462648eb57cc0c109f0649d7d9945874035672059c9c430bc5e6bac1ce472a897c95f53789761f754735026b45680428b02d69a2b3795bcfb6cfdb52b3e451d35d2202e3e63478d15d1d9047c590cf1970876d5006cb3bc6dc38631b8f9cd5f285944e5c04bad52ee4aec0b0b59292f4570c72ec167fdc420c757ce942e42b5975612d0873ca318cde7b7ab0a6c14d09dfb372abc66309fa19104233757a825653b889ceddf8ef23f1ce5cdc01a03d21ce3972cd293a3abf41107da7139c75452ef088f0ac43aeb52f91294dd32be544100e277773f13883e481e9afacc5969301e9dee08630fad37c51e1f5d83f539a264c43800a2e360cbca6dd57d81d833ef29a80ea64785ae00708023cc9bf8f15db3c727a5db1271ef55b01a5e4b0ad4d5d9d0767f0ff4169824fae53a52ccba53770726a80dd76f86d69eff53f323a9d4170e770ee171c480dfb88732473b7f1595b05d24c778c828930ce952a2a4a1393dcfd3aaba1d95a8200cd9f9c0e13a1f15650b7d6ab6797787caec635ed6f6adac3293e02a8dc3cd6bb9f57f3fa6755ea4403901beb1ae7505e882d780f6e3b8dde1b2f2a2b979ee4f6692af245565d388e7222f86da89a21fb2395a24aac6947ee5d1c3103de27898ef73c1964d5319db07249ca2d935afe1fb650a74df6c50457e839bb1e6f5b76bfb0f25a33bc6587f4725ef6a6a3693662e33145952fa9d91df71b836db7d001a7d3fa1cda20993bf77272d013f3f63d9406f02ecdcb320538f053ddb4e4066d118a944126bd2ff049049c76dbb9ebb70460556b73017897c6551bfad5c76004a37420c377464db32972729383317c928c87ac936419aab14aea4894be029249b4d719bb6cdfe2c4cc6220ed37c920d88b1083be19ad6525949a6ade6f00d5ee745201e138daca761d7259be0a47e3ccf48ab31cebc1a439e875f622884f467fa354188bbec9fe9e46722e5f8664e9ca3ab6e31a094b7239e0b1fd40eb91a6de13213673ac3cd5e0cc72d4014e647b29b7d9aec5a732636023002a9c6febe07279fc02938db4a1607e7266cdd7e18f1e89dd08cefbd6269bb8c250717a348bf4ecab64c5f0afb21643725c3daa99f44df33d804145603fbcf7123c39801bd5a39143ef8f4db8533694476449c84432b6d755aa2e6568985813b356069f54c1e04e82e2af40c4c7445872a910294d9fd1a036d48013bf285b571aba0a84aff63446f52c45b3826d0def5a798b9e9743c2dc96fc5b163bc46b39605bce16b6cb809f7006886b7636ac6672a0efc2e9152e2fd2779cbd8612296d388982958abce99200c38e1ffe77611c2517317a8fd6dece0bc334d6bba0edcf3c1849bdf0122732ce98932c109de8f2726395e029f866573efa5d52dfc5cb1bd7799b39191298146054836c6dd331b172070e90139cd5e1cb1f251e7d321bf1d62f1307697dbfdd1009ba515030e47a722c073cf2cf5f77415d421c24083ff8b8e1560817add3efdab0c2f942dc76e85c3ed8e2640c0988c5c43051e43ffe8f09c94d7f3c7778ec5ed5c876bdbce98372881b4a836458801b6354a79c75c313e120d7ce0348ccdd522fdc13119ba69672d57856a186a6009fe81fba3a7464c004b2039a89d812e8c88a275802d74299727a1801032c0cf1233f78458c1d1ce42326362eeb8a8388d281ff326f146dd050683300238831c20c006de0999d18bcd122c478966b3cb355a91167a1164379161e1766a0a746856dc5eac8bf833b0ef4cb77beeee89d825422eb031d6bab6a7211b61ed464fbe51e126292dec5494bdf911f518fd4fcfddd57f4db309bdd1b0eb8f275496f20b15ac1145539072bffca98b3e6292a6e71ea5fc7bb7ddbcab538ed8ba5374dbe4cab04bda3d4db941458065d3984e379d7f202e53094ee39071abd5f878a25c8dd22540152cbb647fc46ace906cf8d2483b2aa0af3fa8122e6722a5531508ec5ecd8800d0968ac60f7799e90bd6ebe74e30492f01ea58eeeb67294b2274b126cb7e2c7f373cc204aa08d51219d35e72885451fb3454bda9d033ec9b38f8e95feab5e775469e766ab6cc07d07c353e74a855d2db54e6410b9812662f6d937e307a238041c06392f4b9771b30d6e043f54df31bfa45fe4823a65728440245ffa098ce670ed7b8824a7b894b2db54d6fa659e877a2cfad5a58e1272fea13abc22237d4fbedc3130808ddbd2fed13cf87bd93b5029273fa35a72c96941911cd6e83d48eb1b0726ee0b9dcb482de0c4c42e823f85cd7d7ff2838a767286495cb18d41c5bcd1be99e859ae8161bdde68346bfe492ea6a00c1480418c31aa52f7039740f5e21ed2a85de17bef128ca0e2f64ff0775f3a905c3ebe3b0b43cb7f154fbc95bd0b9f9a178cf8e54721fd51ed026c2ed99cbc283fefc2604c420b48b13acb6649e83cbbf5bf7074cda3f22cbd3980922719370407f4baef5b4dfe32c18bbb603594795b281387a4c6ffabb1e8011f85fba983ab3b5a101d6372b2b10b188abda925cffc428b4966d07b0871345a0740dd0115895f586ef95d72c23d19ff605d492ff5010a4c4e80b914f89bf4d91d5a1d367b497499ebefd8387699f4087ea9239ed295ecdd4f9f95635505f88bff801413d016bcbc84304b3f2a197da9b44f08467d4aa3b928698880920e65dda4cba080c749799b67b1c372b6494fdc81f65af98e32621416b28fe8840023ee7691f5f82e30f34629026723dc1dd692fad0831875f61578e0351586bab4302a02a78059ba372300574bae72d0d243e8da4096edebae6ab459dfdc45309c6307f2d05a720e9c442f477f27729851512a7c5ffb14f330872340ff07e1e4bc1a0dbb54279437801a594e5d0c726dbf49970c8411621a213068ca87071f0a3e2a506f747eb4192078a70028f8725401d98ade7fb8b15dab22fa3fcdd5194fcf2cd9ccbfeb9e9bfc092a90a59072b4592656c150a1d452e3d2c98759de4d43f25f909e1afb0254ffe46461f0997261f12cb40f4f409d5b13a3ea75a9d146535acd63baa93c68d9bc6a6b6887bd2573e60d17ec304e72b737a64a17c75e1c3f1abb5f00087084eedfbcb047e40702e8e3bc96356478ec78925a87cc87fae994eeb753d0ba689a963cb1766a0015570a4cc0db41f7e67318a060db318b7d1d8a666fa17ecf738ba42ee0f78369416f4e5136f6b17a0160db7c8564cbdc7a0cb68f82f2e43d7dd63ef5e3d8e3fcdc7282b686674fa4442f14c48fe5734e66c040cc3bc655f333d56f9aab437990e47277cdc26947581695303d554a00d3d465ae1af83c60d3c9e3ad8e35ffa46d8d00d4eae29e0d3e281872769f3ea731a71d996975a962ab8ff7f848ff6d3c27f472951cbc4af876bee93da86273295d54ae0ee6f59c8b39f757cfeea13c2a072b1c3733fab8e5d73cf95c25e55c453c9f1df135ae585ee85441484443a0549d0672b9f58fe4cc492ac8f8208fa78792411e7e0d97012f98804e993d9ad37ff05572ec053ffc6d6a24fd274aad144dff11bbfb2d56e6d83cee9ececdd775ed615a72ab13959015bfe21a86848b13223680fd6fc63ce77a9f6238b8104454710af87283b226cd88aa46d648dcfd2ace97219d630f8c2bb2c4551aa7fce5b2ff6d4267551e51f76d5b2baa9dff3bd5a0903cc4737fb0201f90f108d1180a77e6776c1cd59733e00211d3596fc5463ab01802508272fce072b22cc554e903e887959a72efce0a1573dd46696aafde72d2859b8969797334da9b54d40ce79549ce8c4d40e4f7e305e4719b0c5abc8d2623d37fae69c8fde2711e44c1d37333bc2db10272f91587e99c5b253034e517f825f4426674b11b6e4747e9f878448581a2d50072c979c6f0c05298a482103493a13d90ec62e930b35aff6342a791d340fe64233c109e185ac7ee9626596f49f4b484316da5ac46e90643251c1df936a68d98250672f1bf38defbd2496c8ab0f02efebaead79d2404d5dcd5f6fd67873407cbd605f2d5448ca3dfe8de1c465f49c0180be71053757957672ada1f97dd355fcfc37258545331cf161360c3678d2d68259d5c72413e81a4132b2f1d3c3efdf09f5572373097357229842f36329c08dba220f88b216676eebc6df6e80881005af0b65729712e3ecc920cd3c4a2f79f3561d699670e0b594802b229deb14aea717fc7727b376e2b51716e27038eb1040a766c2f29ae3bb844ad2550889360220ab28572cb7d1cb25836de9b34ac21eb4a542bb0e8ed06485e08be3d4a0fab9dbc7a9372e200dbb0f01b74d12fc27d5bb6f8c1fa52615f8a89fff4bce12486df76b4d7610233327d7f3c68275078dff5ad44b6602ba61514f2c702d59d0873e578a574667e6ad9d514ff16f92188d65cbcb7a15aeab3c3005bd9f8349d3ed1dc0fb47e11b0116c934af4447890f1f1ac6f11a9739164b36c737d5a1edcde96232e0fe5724596d2cfcacbde0fae9b5fb473065009c87ecce5582e3e24a77491d1b28f19645c0fc425d2f5a0ce5df48d76b4e063b00e59260900e65af387a15e9c0bded03cc6e482611b2e69d86407d395344287ee9a5504b0a5c19e1b01549aa929682f72a63080c68a9a7cf6e5697b131244af47347f698f2626aa41dce2d8824defa672c851a916a071b5e93e24388c604879ecee9bb8eac918ac86b2d22fa3cb8acb5d9c2937fd5cdbd20fdda6441081de82f3968ee26912de6ec92128db754b56de1bcd405b31f1600069c8007b66fe8fd768e3ea6ea00a749485c7f21411e0edc872a4c323cc3b337aff9ae76aa524c00c28fe38452efe7b4fefdc7cf9d090931a5de57a7974a6d9113054245fdbd508d0889928736f5ecafacbebde245bcca45572d46380a4fdba7fd3dba775df264fe975e60a5e295bcd41aa083fb72937666472bf43ba500e2f81aa0108f9f22dd01a4198d34383d372cea641746bb3afc44a382acb49273df962a714afd596a2c9292c615d4f0beea1514d8cc44a9c7a541951c8b71c59293ca01b3c7ca31b18843b4a88d218ee074b631484740529fd8375720a2f453ca17824ee5db76f7cf6f89b38da87cb954379653e073364bb20c8105e0f7d13a3bb5625cd34f25dd679a57fd0961677a1ca645cca10f7bd1a4be4d545caa6cf771cd6853e64d3b62b0eb601a87c305a777d23e73afc19448ba9060a382da20ce93917d6ffe66a518e709b8269629cf169beafffaa2d93029a907aa872562e7dd7dedcba5e2a25464c69fe32de820f11c6a643797914ad19f84da7bb42bfab7ead4f35e2a100990cfd9c31d9de17b43e3506ac04e87249ff02aa56657208d3871446200f3c88320d679fb6c72f7783699c82eca7fd356541fe62615225ec22457b0f2a8272335ed41d0545a202e2e4766a8b86edc5eb6ac53d7d6db8724706239716a8f0b0ef8288cd24c6eb154cc4cf2cb36760bb9561bd7502566072d475b2b3064f5e3990e941b72f8c73a39ad640e338ab761eb6415b0efdc13f723dff063478d213e864fc4466065f9f3d2670d430e3dbf4474c89b43fcd84c6728e4be89a70a24b60e5e3a43455d8a61bca4676cbede66cc6871f6ff5f926ca3427251eb15b7eb1acfcdb26f3d081f160089fea4e0900668efdc8b54b65ddee722af3bec81a1fec7d90508f42f544c245d47fc9bfcaec6adaacc8e95bdffba872a26f7d81b06fb27ab5e9a74ecfb71ab50f496194bafacd1c8fa346f5a6bb090aaf622df25bf68c64e51288b3ac361502474c8286a06293288586b6a9546dc102b2fe659318602c8c20f55d6ea209da3dee623d0a71fb25c41880ef2f246bf83df96794ecd5eec85af258a78a09016bda4a7bb80396eef9cfa9e318b434786e535a2b223c8b6c7b22c675a35c6b1b8e43dd01bb9faf29dc749e7ae02977c04f72ad5bf44b46da877524c599e50dcd1321da39d41c3a2e6dbd8d4325310e3dc5722cb631895e0b98d6a08644f58ee6b3d8c2128549dd73c07e9eed2cf49694b072d8e730b8562e59f71eed01ef32f1e0db6294bed9de7c02434bf6c75f2d74217239b3d6dd18c52b0e298c8426d033356ca6696637cd619bd4e1955972edfaaf7239df1d587230bed7c457f40b1bf1e7fcae737d255f1fed40edebef1fc4e4d272c1f98d36987d86d28e043b93cced7f9f26b7c874024704c2ed0885ee52d3ff02b1440d8d782834ca6a9511ea3fb7ed47308e9a5a2dfbbe9afec8c778dddea472466d0561bdf3c01045ab0bbe286fe1b0d83d5ffe66131dd83224d174beb370175a8def40ad5ab7dba1100d0ce555ee95a30ebcb224be92d7bd9f358f96cb973e56116b206e6d7d75799d7322635b00b5eadde4b7bf87dc401ce5f5dc1a92a052a7170256d58595dccd2f6d914876d6123a6769fe8ea6ee6ffd3a90fe0d7114723f7477a71009aa224447319b55a93c8dcbf324b2d2309fe22fc803846662fe498ac4818e8020b292df3a7b3611314c85c74a23cc3bd22a6a5f8a6aad36c1057200e23b8282155dc37f54e43d4f1ae15b9256ee2ff39985ec03fe88cb44de7b01b70438995ec75983932edcd18583743abd2c2ab799a4102032829c8cd1d1e25b4c631b490bb0f7348cca02ab13ab2bdfa7c5898010edab733e9fe9200f3c3237454143f64057e7c34d2864d2c8a3168ddf5a98e308f8969d5faba7d713cbd0724d605419d7f115bdab936e4f88714953b97a8854e49f2b950e34c6cc7684a536b8460c90585bc9d0f120acb933e15fe6342b6741e69441944eb04e0bf9efa5165213fdf0e00c7886d2fe1a772a4a46245c3bbbdf106e858433360a7d40f9567218c315b41ebdbcbbd7aa7126acf0529c1cece42aee9c1f2597b83b371a0612729bfa74772294762102d9aa4773ff8ac25b9180546c3d308ef4b44e427bd0df72f80ea7a5a7ce9ac954bc3e96d159ae118f8ff81c7da612d28dd7ddb62f24b21e68d0369562e331533d3dd5d3942354697d2c6fc289a5de15094513f46b499c728b6c42e7ea9b088ec4abc2317347ff1108ad798377539601c784358ebd1acc47f81d4378a15378ff618fa5bc04bbf4504cdac860895ef1d339e1683fae2ccf726207889ae33445f356004b3718c4619bd46bcd3209176675f8b867c9df9c335ea8a52f04c5d2cc749c5b3f9ab9e5d125ff2ebcb17107842dfdc439599ecfa572882a34d4af9eb5e4785b9c312aa7502ad4850d4892727fc891e063250478817271f9c711f0e68ed630fc4c7887e7b6510c46c9fb9df3e23fae884f2b85996e724c323339fb4e2fbcd19e49704d548fc571537e7596cc8b6d450e30135d6ff472e9c6e42553d8122da0ed7727679574bf1898e5545178f2a59d0ba3d8b00e9472783cc89a5e3291b9ad4add0e9d1b3d0a3ddea56c7625da096c46e8f7f868dc72512f984987213ec78f0671417cc0318bd2571dd9c0b8e6c3dedeca0ffb9c7c722cc59db295f162aaef7a08251421f8bdd949506700fe9ebc1dec5f1b6cf33772cd5ab685071e7947b300eb2d851b3e5edf96492390efbe33d645c0126fe387722b5204c0070238b64ae0bec233e7700a0cea9abbd6b8e04a99157376227aff1b62f20689aeacb038093c68a02734dfe79b39ae20a49dfcc0605235cd71829c7283dcb587a4e73699ba47cf2582a081bfc9a47724bbcc9be5c6f5c2d5a6854f72033fc57ee844c0653ed97493806075478308e25159d331c1536ecee082ed2b141892d2c52670a97e210eda1a04051f5ace7478da455f31388e274ba9940afa721fbe4f86583eaffd734401620c0416ac5047c0b8379fd24635af1278a2842419e1bb76dda2c2041e462e3736fa5b8098e0db03c2b2bbbba8ee5fcaefa167861d6af1e22f522609c00a2b89ad8ae2ebd8e7ab33fe6d1e549ec7d0671067f1832564037ab29d604cabc35672b742e6415783155e23febde4c76520c8133920236973de852fa41bbd542bd7908f90a3001cd870c4a6a63fc4d928c7fc59ed28057234f10581e98a3c8adaf9cdc4775eba27e285ee52be607976cd92aa123e23ad579fb32bf0e81f83108b92c6c60d692544c7f419cc9164f06467d07918ac9d0c7232f9f2a3c19d4f23b86d2d82e2c02f29ca9e79f26332ec32cf3c83d42b95e46a4390f4cd6752609acf4e609888244c064e9b51c48871ba0b97a86d834d662e31c4ecbd7eb2d1cdf3d106c0023947c198fffece43b2609cd9d2570eaaa652da289ac74711463eae9897ffd73d8b8900af25619f1bcfd0c0de6ff294443e679d31f8136cd8e09d6d326467d3cef2a090b7c1f9f0f2f4e76cb0b549a45b875ab7122b210139ea732cf74fa8c157c554973a0e0c41fe69aaae72574ecac00a0ac9722c275f3cec7c31f497b4a24b6869181237c48b56445992139b1ca11ec91a3133b0e114474655cffc50e61a00df813d4025c8e8fc847c52080d09c121a5b8317260405e3b5e4e8d9236af94e7c0fb992928c8c25165f466add286dde9c337e5725f37ba339991bcc847969e100e3609ebf8785507ba4396af1fc33a0c675adb7236eab71bd2b937268a3b5de3224924d38ef6738a6a8aca1ffab08827dead1f728e88ee03a766964932f66a4f3befdaa70db8b02ab1a1f49a597b6622d5586c72add104d379b584cd86b98c88053f6f5780188b33d1538547df1cebab8a4ddb726939afdcfe93044eef237c29c5eb997fdd9aa9d55448e9f3fd2526bec167c172b78cf5fe792ddf52b0c63270e15ff22e77cad991576af10a3ea17e2de0fa0c08bb8f48a3facc9159228b3f611bae11043c5a8b98f6bd5a8dcbe4734c31e4b2726a88c2173f5417859a584df841c9bf952e7ae829d3d3cb49674db064b696c27257c5754d646ebce32247b232bd8986f69a9aac0291862b97ae3bf72a13775d254b0296615a0f70468a19b5478a387faecbaebe40c1dd7bab17213b6f45be3372949d142869c13057be0442873c8a4450182c52c70a9058fb6be8852241d7f97247b75ede4e42856006eba3ceb2534800b52716ac5665a8d349754aecdc90ae72c7c908d713e5ac3e169e79cd336986b0686728cbb5581bea07dc4dec65945c725cc99855d250c7e4c3cac67af76d981dad4ec0fb003fb1a9b22ba1d7107145725b72b3e657c356b28778f682b710cdaaa9f896eeed9833bd306850295e81277226c87a0466d059384bcc9f05724b0ffa184f4066c5aab52aed0870ebd7c2222c72025dc0fe10d85d0df3ce911225dcfee30bcdcc24a02e2874bfc7c8374c54562dd338bd16a1b36e78323e793e9ccfac08818e0f318befd5e3497870571974726922006d67c9c344dc5dae8392641c38cbeb97e3752e7def07c18ff79bfb315a565ccd5a172c1048e40a2ba569eb0fe3e0017ba68946889c25c78d3806201c72c3bca1b66154f9bf61f9ca0ff9a528f9da69de48dc5d7b444b6c178e41831772bf9dda0ef9b8dc25482ea8eacee7e6226e071ad5d2cc50b217f47d0310f571209da6248504d2246aef927848b7dd98dd6c0f9a784c5388e07f63f353d711696d4e357623827babca98abdb987f02c74cd5dae7e81ea87846d655207f06713f0878e70320c0dde1c93aba5425064c738490d6f1557e978e492bbd33804b9f9f09a4b63aa6a81fcf006f5a7b274f8cd3108d6da5cb9a8aad413fded0596db1b072cd3d756e62a1b16cd93ae7fbaceddb421d5cbb24ea5d61a8472b937bbb49465d10654b6be54cbde4f12a39879b4f09d40596e41b350357bf790eb4e1e066693eae3df4aada675dd79cdbebb3bd593a62e104aa9e99723419041eba3c5d915272062dbb930192a0eb5f480310df62479a6e6840db9317f61e403dddefe3d4bd72cef509256749592c8c610c47d221d76404cff94d49afeba24877973455b6f5727cf2cf5241d0df3675092a079d2d26b076a286e40c868e16033b0ef8d8c7f372f4e68c9ae3c7b28b16e919f3c4fe9b54a100f6041cd518eb4924f244bfff5872fe537f9d511064762d799e32c6ea45165d453f7af76a9ffda9d98e9828efa972d1512419fef4280a2f48f9a67ead96b51138ad45d0a14381003afa94a6908372279155c5573e477908c947fa401b408fda41384d184e0d5beb02055e97a66241d8b2c081db8d2b9178c16d8b5774194193f8a359a9894a99eca427d2f49f25727ec0df6eaa9788d97e5fd71a3b1a3d71c423c3f88840d07f805ad3c649e49655c8ab2a966060f0d8f76422a0a942881d50236dd8b7a4692b561420f8d2499e72549440927fc2a87096fa02f33d144b83b4a21dbb5f316c6a6714c17ac32fbe720d3e7ee9e83c9022a4f9b86dda7b81775afe30aa7950c08708f2cfe6a728c213aed3d021c058c8a8cfd6cb0dae7d1458f163b0563f4ea0519a88d96832cc4c3a62f37cbc87996061c35a5d265268b2bbefad0270c6606d9007efa44a80c99b72f54cb73c279310403b3191446b210b0439aa11286378159fd200c4dc2a86b35d2b56b848c26b70b2a873d29763a8f33c8210e6bee3164ef9b6189e65442615491ce302d9f708eed2b51ff42ef499dc243114ddfb361c316e988d2ae292cea00621c281ab8a5b74fe187da30dd7663c35c391ddbf50d0fdb9859729ed125a8c72fa78573be6fbd82f99bd15799e5238f9eda1b9dc70a12cb41445e148d2675b7270cf7bbf458dfe6a6eac4212cd467148f86e8a9e2077b1dd940659fc46bdab729b7dceae8cbb05087c9a278c4b37adb3b00155014d209fa074b94bda5be81c728d899dd50c917ddb587b253101face4216f4deea4968f3e721e8027877718972adc9047c95435e864efc9334b6d6bc61e7311a9947cb88de294256ab3823c77285eb8c7b1ea52c1068fe15c9a456cc35ea9d5d610ba4d9aba71096686a366372eb00cfe305ec01aaaeef2a1aacaa55e260499f37d15fbd254a6f30de39adf572365b73cfaa2814b94edefbbce1207b4a764e97768bfada5662440383d4464e62c5f19a3983eb4955fdadaab2496ae52e55e43661cbfecb64147fc04fa9c5872f0a95be11b5d93de276d05f21a56d931fc538df57e34ce3409ba090ae21305d4e3ab0d66c7ec93285d6d1039c3065eefe2c92520333a6954da4f1270cb5607372883708911b68960e84e8265b1e8708e8865ece2af0754e684585ddd116ca037204afa44ea298b9eddb44b9b1fd9cf6f7b35ed9c266e58eb7e5532a40e038b56c9cf11e55bc50474e1046ddb575b178878c1df52a9d06c05c634b23895b7cd272e99cee0aab5b5a6caf8c33eeb00cacefd0e51e93ea9719738a26dc47527cc70dbe76b997fe1309e99199a6182415b656ae0745a551391cc1c17f2043aaeee5726787ff4986651f2bf04662c433e82caa9cdbe8a1525b02cf7333d7ed5da3a072054279e546d0a3bdeef826e7fb76f05a5a68182d0e5169ca5267343fdfe9e4729107b4beb26171a5682d2f2d1f4b0b358f022670d8422ad21f045e64c3e8bc581eed23ee85fd93e8a610b5a1a711564b8ad90f93982a9a59679386b003bf957282d864cb1de51c46b3878c656da5358c88f3e53d4f91ffc8b7bc8219f528904102945b8a925deb465d32dd9e0e8fdb5419364443aa619bb1bd14ed16f315907202c6bc7068ff1ddca6f4d8a40936d809ded1453b2682584dd030d0563cef2a728f7b28528aa5dc408fb2192661129bce4eadba2c5a1b10f84b0d7f610181f972918544432be256808bb02d774ae1cfc07c9ce2afa32d13295c956f384646c072f8a319be9f2ca7f97ffc951fa3f186045102b43932e30e28d8c3b210b09f25720b9533bc68b451094d73bb2c120eefe5a7ae1bc061c93a61c639681407bd4c726a6fffd68c102671a223f965a617c97e4183122d57101dc49219957d6fa267294e4a52a9e28b7f7aeb7b8671ef12ff06bf3dc06a1d0bd6f90d9f60a514a4d872472132a62ad7054d52fe4e3be0a0d3fb10e1dca593381d05bcf790dca8ebb372b23defaa1c91733b7bda4f3df6f5ff2c113773668c09c8bf3ff46c1cdae2277206d8055e0b18886798f2bc297b4c8c5fae1c4dc71bde0d59fe31f30d45239834535f741fbd8755e2eaaf05c606bd7984ce46407b3ad14d9bae91c09cc4262d200acfd5aca7f3e9caaa5a1972a33fdcc8ce9d51cf25cfb962c75e8736f95f752f6bce6ce9fffafe4934a3a2b3dbd77eaf45503375a251a92740eda9b0916efe72ad560abe8f5db38a6580cadf5bd5805b159571ece6fdc843b880c3313a483a4863508dce33e4d07c4e4e7f1fdb5c5843629a537121664bbbd8a021198766404b3859de4a8e2ae4ff6cd5dda46bb39882835fa8a079fff749003a45089e0a477218a45122608cf1298941fca08977c20470e5b37ed266fcb22309e8712e27b6720a6c1e2ce791f38247ac998522d64be37d2aad3438fa746e1c0bade2e6ef0c48599840005a98d1f5842af193925389da894f1130b9514f99fe38f3e4376f4872f3d78af7b83c2f00a4d37c5449a4ae850f6a57ee2ee38b4e6753d0be196f1372076c27ee8ab7fb65aa279df5da0a98ded776fba01e93301d5d35213acb208a725af6bedac4ac7c6a611023065afe04dd7cf21aef53d34febc488062b95f9dd72c7a096408b43e5f04d7ebda2e0e310550d34e19f2107567c93d24bf4fdf0cf72fcea2d404dcc1a25e28714705d39825ecde53afbb8019e9a558dc53dbed6ff13a7cd1c4513c6a58e6496095bcc54c06927bc2110cecdf7b353c2563c794b18720f3b6112a5635ac8258d29e6a0d9db0190ba242cfca804ffcef5c3bd8f75d972a7a8901f04ba6664f1e975f6ce80c6a0ad0ed7e8e4acf1b5a3fe00e1d0d2fc32706b428e47e8d3f3d606a00c5d5dd0e727a99c7f2c04cdce1a6bf3b6a09f91727546a70d2111ceec9e7980d90b3f1b835ec91cf751c66c429b03972cf09b4e4980e971a2911dcbcfc93ce9d6bed40f01c9a401f9144522e1b4d78c57ca0101725de417175517b90d5a76f229e28ec4d71ed0e2f743fd602ef80a8701b2e97d4ea00a3eaf4d9fad107cebda9cbd5a1653de54e8ffa004307326cea009a6166172d11b1159801a681077d6ec5ea249144cec46d256c464998256ee03c9964061027082c5180b52cb484cf8780ebf37adb81de61e24b65aabd4864c8eb73912016252f4461ceb2440394dc4dd01951acba376482929bbbcfce32f17b8235029a640eaa596684393aa28c5e4363b58d9d743c66e528eb5744ee94ff9064cf34cf03c30866dc90708797377c9d7818f672ba190862539c5cbdfa5302c7534794c577296233ff10a021d17b30f1de07c361a0e229886162e753383e13dd1ce3380ba72c002b6866d786f6431e7033c5f76f743002b99a3e095aac38118e8039c89a9728a8e86c1c2d5eba96075431e752fcb7f42a5767d04552addef0e4a047c8b550c884e5cd9f51e1db2c30b0246244187a26932b693654f4038569bacf009c74e72e44f1fa1b331b8695c15e3cd72ca4b3767a4cb08e9acc7e1f4e0ffc74a7a2e0659768e7ea839c96861e9bdecfc35f13d184fad001c7e34ad9672848aca318966cf6fd3e0f2b43fe42c69533763bae61a0da2bd3d8b5b6b86b1561e72c44112726fcd2f9ccf2178c51f6bc47d3d70e245ae2029cf429cfe18b3f443d7a6ac49722058382c37b9daf907cc6b58207a5f369b604a1e5acbe1ea1604984a109d2c3189fdcc0964fec7ce9daae36818081d7a73b55727d8ffe8a6d5552f1c3979e2723dd2316d1fc9f3a8f8a10993a1447e39858fc36be18d6609ef849c8257626c72c5d4b5d47d7fc708b6b6771a7a912e16f45f52b8690865a594050bdbb1e30022307a383c616926ce5ff231b12d7d945a002edb0175107146043100b3a8f2f772d06679c32031ef59f20b6a0dae2bdc03582a274ecce89e95059ee7b42c6dfc7211554ccac705356e757fc0b2799effc1397ef9e7a927875909c12544a8e981422960209c3618afce89cb30b8f3b8adad8d550fded015ff2b33781f2d71136372e76d0bef1f7d3526434b4394e415cafdc77a381b498c028162b09b44441e4372f99a06d691b731dc8bfe4a7623e1b9d0d6b6047460e60beec42ec6bd0798e372df0928e7f42b6783dbe5179350e78cd2d0a2b54c6cfcaae767ddca810b97df72da95f5684d770c664821d6fafe622ac316e32746831de9ab4ac4bffca1c08d31fef3422b97700d4ad2e1b060171d9c3f9c52d82bd9270a5b6b7c78a36f4f7e7290ce29836caf7cb6966daab5c37cc8d2b76e510f59a4c4b5c47cefaee9c4ec7277c6016b22b7986f140acab59095ce71af3228100bee954f368457f15dcbeb3d7d13a58ca809ece37225aa8f4c09918a35c3378f297b6b90a2edf8ba7f0af2725ec5bed7a374e1f35b6b0732b4881e3d43e45b764cc70c538167520f8dc4cd33ea92555381408bfc136dd3e06e3b0582a42588773b94c38e23780196b4ccd411bd1b6d7f394c217f7a0f50c68e2eb5b2ab9706f64ec1afdcdb035af75b5fd2721bdfb8dd2fcc24d6bd6e43843f4e5e79ee69e087aceead9445dde1cb0c7b87722a3b8e79f292c9937cd2726b4b3ac992ff16cfe7e1807cbdd7bbbb0e36e1587223af748f1b5c9680b762fae1a6257dbfb8c789089b5d9a2698e6f191673401720278c9686d2a3c113512b5618ce7fe0c11a88b3fc3f0d954318bc348768a28203b5d41e9283c980152c69a4f2a17a13af6d94a13b7f020554ed7ac43b929fb72b7bebbd896fa9ad56e4117a9a582ff937d009cbc8301d6d7e571c3f7d314cd30362bf807ab7c3efbcce596ee331296a5e990631e533e7610dd4201f735459c72f99bd56f962a5ff61ac39847ad47bb682694c2e24fb01e55f2768e12cc11b2728fd82ca4a2326f5834d7c6af44c487b8acbe81fa43355ae30af2bc7d2112212b7bf066fc179c9082f41c2521e6f68b2e32995589759ce51f2e05ba30fa9e68727012ac2ab3c354d2f95d30eaf536c10dd17193380e57504055bc678d372bda726118833bdb74f2d32ffab74fa4e812b83d742085248ead78edf1d34e48c19c72f96d94ac104dc07fa54cc92627e75b86e9cce72a0cfa2542bf660510c3187e702a0a226583e640db058509a6663156d8703b5d4989de74a039c9ad3a83d939722877aa7d65b0c076bbe67a2477a15bd436d9f7144c9111b89faf4bd31d3a010735c2d209f08d3600f4653b1ee6944142e1d11a148732af7588079970792a3d3116fa005875caeff21e6d685c433c485b2f055484f474ea77ecfcf25fa3119b725157d10d0b3cf122975c21b5742044db4c9b006aa82d1241739f4c2dd95abf3b38e182de87482616a1fe86209e39811bc9c287080b733cb1c3b097cbbde9ad726ec085e0540b7c87843036296501f201bda26c5114667731b9140693f20d5d72dd6e8ba67cf9134c286047fbbe9fb26bb0609878ff45add7cd18d0a020036e08aa08b2d10cf0ef6b1755eee19962d0ef74d71175b9388534d16dcfa191b4a772405a57d9f16f667c84f43a0f7cfb6492bc0f2f9b7f53f80d0041517b263c3b729967c48895136009612d48361a063a3dba81fa40b3613e93b63913ab6828ff72479bae84d7022ae7a2d7a90aae4cf97b55d6bbd27f8ae68963ddda8f4768542bb4911b3a1a60e32af2a617c34c7cd4fdd7c9c9c6c2e450b81b5fc544fdc22872c968047f2bf3ec759441d4ac4a455c1dcc085915f7f99cc11a095e072ba8ba72770ebb8f81b0116fa908e623b217fe1cba8eca1e7d4013155fb4566fa91bbd58cffee614da916c1daa44f4e02393ab9bbbc1434618ef6f8277916bb9345ed4728d592545f30cb158ccb916317bd03251d961a1c578266251ff382881fd2da37262959ea27d41f2adfdf2023e836ed214301d0e4e84d21cb490bd101c637c2b7221a373890193807a62f82b82333335038f91167158321f50d8e18add7ed8a872d4f0c6a0c8765128751e7acd402b7b27321132c54e52d4af96086c76de86337282ca6de912db1394f9cc9ca68e50542afd42b567768ead01131f7facedfd1772c0d62b90df76c5ffcb1720bf0659c71ab1e3f7f7e29df4c27b478bcccf99936c54359431b6c196428bc7d7d0e6bb55d412186e846edb85c3adbb650aa1400372f037abc3ef9242d306130574b35e67a330b80e694effbc43d59aded3553add300a7caf6b067c8ac63ccb8c234483dcaa5c56015196a3be7c43dd4a408fa99c2ac1a8146d326a4bc2f27e9694713e5f8710d6f32e3fa63155b41b54d052ea1b72b0b6a0721226c803c0bcfc06127a1110cbe068f4c84d7357f400615edcdb4c6ef1970219738f7b3263ec9175ea8af702d5b4bcb729f52e2209562f740a7b826eb9cfec5e65dac64c1891585b04bfcb419c13aa548db5a78cbcda1dfc2e6fbd6f25040033e9030bc865ef5c2bf9526f72b0f242fe9894790fc1df317b4665c372fdac2754c5e47db1f8223c09a484535afb4b58a0668e2ccaac32a0d36bbb1d0e06e6d118ce2c149fd06e25a87ab0709818b1b1487a2c6dd74b0851e99bb47472353a2e6e8bef5e47aa185ad8d398e98f81ccd4d2135f489e92f809e6bce828727ca70f91d9c5ae4de115b97784e2ba7bbe9bf155d4047980af65daed7fe0de72ca63a5d0dc06bdff7d609f83e42cf90711bac46733c9db0dbcf32659effcbc7258413b3c99fd60bfccd4bd74be0d97e55c31fffc133f05272303918f25971672da2f6b5bce907b3b43851368a611f75004577b8b547eacba08bdeb9120e43d327bd506e96bd160656f1cd9ed4eb8b656b55ba955107ad46f0a302222e718d87271b44150e26a45e61d8d3b517db48f5c398cb3493d703c4f3823631df25d0b724b60464e2a1125ce0a9d04c5e4f413f5af7e862a58d782221d4431f380664372623f4f648b221122b67070e9db5d22acca991bf4889f48b564ca3bdf50fca0524ac1dd011b6e6bb337a8dc32bbc5ae80edd8bc45ee2d1aa73a17bc68f19922723ce2e353d85993f6824ba8e1f6b4d146793f39b40564c000688dd66c5b052b72824a76e2c2062689184db250783c463f11880d86308bbc1af4964cb9bee6e772ac2ece91253fc3d69229095bc3bee049e4583f1890b80ba6c4ff584dbc6696722b1170d959f66129a484c31653394c9d9361b73d6199a9ee776632066e1cd272fc472cfcba0476f1114fdf110bf593ebb5160d8e50289e41f593bb7ee05bac355abfc2914a051563a5b1cff9651ef1d035a04c96dd0d2a73d1e54f5c0299f272f3ce06da9f04f910ae734521648e2198fd74e6de75eab7494885fab92618d21185b2048ed9239950bc48763eede55aca2b2f02639787997105428b8322cc2f3fd453d8fa6b2753f82f89d5ea2547e489a3eb9fbd4d5a02f567c45f82fa3450722636dd54a13ca83cf19859c35d1d62835930c519b2bb68fa08eb431b66d93b5881231b6eb6a2b8adf1707d6005b3d6ed9262675cef9ea0fccc6a93b50041cb2e6c44b71be5693901f6f975aa0b9fa5cb6497dba456d707157534b1c4f125656007632b4434e91f1b4016b3805a8c0ce0435fe7e754235bb26f619c96e0f0667296415d016017ccff23a591d55f60a044ca55335275d223cac43daaea94cd9a5db8b5da8e4931fb75a3860b640f49d4415eaa523ea327e1d9416c6a3634d7097218fbe0cbd303e57c0c0402d08f875873d7235821d63c81d1c64fcb3e7fdca41729b76a7efadccc8266ee8333cb113516a0de02ce19a3397fdf5c975a4f2ff572a4abef21260a219c49ebe3352f57e4783d1a01d9ba58ddf46d687509d07b8216569bfdf7df0067f418c227b22d95d405d0d63330e4fda415b191a689706f731fb92f7c08949f68770b6adecfee6e45bf4cbbfce7244a80aa44bea2715f38594fa5ce5d11022a4745b3f6a525e7e8ab1c5d1936cb3e7334ce906dd61f7825a71c5279bf6f79e6030a9fac912f15799b8ae52f45b7bd5946dd0f1d6a9141043b41b09cab74c37a22d11fe5fa36c77b6f2bcc947fe89f4b3490437bd84a4ec59e1d15fa7f1fe655dfca72d2d390ff25914dd11035357bc2779428999f45089436725147521f8b8693770a2326db76b4089517f8fdc18f08723c20bc4f655955c27250fe28ae15d7129dd9cd41a58165db7dcf66ab1950e20f4af5338cfc0d396c72b0174d7004f1c9404a6784757c8bfcaf0b6ab1f82363f694b201451ac351fe7246a12bec7573c0c77433d73c885af40fc38c64e19512be9703b8abd969678b13e51f28bbe27867d9add0fa34a247fb3f38b897535f1e940902a14adea85d4f3766ebdfecbb8518de02141c9dd3ac281ab68d3c6d08a1eb784093eb7393d44072ca012e6fc9158a3368985780ed0f1ea17b226bd31f3f1f2d08c6fe6e9abf3572292195b852c038463769a09ccd602b98cf30e9c70460358c4c476477c3c4f4720a1aaf15382c1ca261124aa5f80a98758e5aaabe422a3ea40f79f95d43129d72e6a5978f06389c6dc53b56763653e9a7cc9b632f8d86687dd15b854685216a5ce9b89f46e2c6cc53cf312c4756283ee7740de2e39fc506cb4d968a2461a39a5f5171c9d5076f291ebc9e1165f10cf23472be77da4168cbec994918c6c045986c8896d2182c4a240bd69c24012d4a432c913627dacf4658af2f42ecdfbb8ae0405e8663e6e61dee2e0f3f636640d63b8f77d81f0ac3ce525c6b3dab9522e830729b8f2aafad73a6173b53846549f8edd17979f64896c82cc2966969071e0b4c576f112eac1c01013d752d598e7b3d190abdbd6ef32ba8e21b48b0fdf2a44cef24992de09e32b8b0625d0d9b9b0b36a4ee51d1c889880a6cda84b3370fc03a157231d8a3fbc5f9eba3c3001a5f795eae4b662f0b6703ec9f4201fd101134ce6c7298035863c4e1742526ec1c232de7320475b9f4244e61f00f7c5161da70901272e4bab4441fc42220056db921be728e35a375b9ffb4e0dc0fc67912b801d8b17217641267b03395af05fc30679ed913842254643224281e12087d256764442f4dd0d836c2c6261a96b2cf1ac80157328e9559b264b1b6e371006220dc6cacf86ca37001ec4a21636387c4db642b4a831acc718756efbbc8080f9b1e749e9c58066842b537f49d6a2907651addf3482f0d2df7c445f673889be06fd0c89f842072ad7d2875bd5080180cbd6da4931bf1d7648862ca7896a886c25cdfdfc8067f7208b4ce62fd26fbb283971dd76f379c206e251dde6829771027300a4e2ecc063f1fac1cc797a32a1da1c8cbd326468cbcf63e5d9e43a2f570f39e94b5fdbc6e5b4517b4778f0511d4f3a09d32cfed1b0b5d561b8675dfad78cc0b300afbb5a672b6e7185614c35b8238782bb0862c4d69b6bbbe5d5c9ef11eabafb921279cf2727b9672f6b8ccac5afae30e06a33510bc2171e1606e4cf7f37961b1638a4983721e5b4e5b6f4e929105c0b2c3aac534a813341dfac230d38e63f8c046c9ab2e2828c63face2c70136da97674916588452b877489a7be1b51bffd335bcbe130b536017269231013a57d35a9336c892400390d6e02a1314137a3ad03af699fce54910beddb196d941b57d25326c946caaa331311d15c81652962d4dbb81ff3a0419af733cd16894bf3b99596ff5fa858ce6c0a6238016c89ce74770d53906d68272978ec96f36966f13ede31cb59e56ebd165901f1f7441b9e3786fba0225768130dbd4a8027049f7305ce50994857c01c1278c4605145c074f6175053b22c01f7239f937eb39fec7275ed9134bac7e5fddae2fb78e51c112f5bd92f3b62133ba71b1b40318d56c7308d36044a96bbb032b37aede1b738ac07a754c34cafd7b9472a2a64cccde75ad5ec0e2526b25792495b8e27e059dd4978d07e8704e046c195f4475ab7ac3d746d6b095d68ee7823cf76f9bc5df2998665aec9bee70c8ab7406a8e91e6886e4846c56f66ed897cbb6de4ae9fa4680fe5c0176607e164d981c7215d68d9603be672463e1a038b2b25748f22cec9c1d0996749f3d95efd335c40c4733a6a867c2274c46fe18993b5deb79df56c07240d5c5771e2057743de74262d3c701e9d65f42fdf0aa577db75819383a229d4789054c3808b6805ffa74f0013ba0b08d0cf35a2b08cbaafe85bf67901e7d237db15980b00ce8b2fbfe217472b1a97d3ec66c550646c13902d4f8e1442b825a0778e5295b73e576bfc15403722f864ed2a2de9b440365ef11a55a2f0557e37df01a2613b59b361810bff66172564c2150988ab9d1b00e8c15879d83e32eac749b3b939880a80210e2c6153362a26ddd998f52c780f7d80f6264f9c6ea2e150badbe2c31f3ffc32d89ff72f472e0e77fba23ca507bbbee4e0a865a61e8694170df682af659769944cee9af8372cc9d2dc737e5fe9a9fd87e7c888b21e71737ef6286cfefbd66412353adfc76705ee37361f8e3639ea6bb423d800e3c5af1182798f41361b435a9d979e3301572ff93de84f4351f1eaceef42985c39192d62a8f767da00684cc70586a9a713858175d480baf9e21cde843cb2d4cbd6049700073f3e912f1cc78319ed368a3f360d5861fc81e11207328c968aa85a783615e9c87172371a1b239043ad9435b037276d7b5d67f705b697a78bf92c200f986199751a955b2c6ea30dfa088035d462918128d44e8ede3ed3e2eede460d3915ca2b78ee46d0f3fbbfb26fc150802576eaac648c4e99fe85f5904307483d60aac1d64101e2732055427838f49813fd0418024264636bdd1f905c84044dd47359fa71ed83df48d38fc1e446a92a67ac3729be850240b1f1d091a1f8200b4ab3e39ed24c1c25d9fe48cbdde1ab2302cea3fec8bfd6679037450da026e56d1ae6f4bc62e0b7a6deb5643a275ea4daf00fc7261e0b95319566d9adcf79aeb79b7ae0facaf62607e3f50b7de4e2680ddff8872d024d2b66804259b8c44ca6327f673776c5380bc04403b765c2082bce10f777236010e4635ff03b45b146c9b8e2f0531f67906a134b6d615614ac9dd1229f5725c22a7863b7f0bf8c0ffb9b5118397efe7301c57746d154016222cd1f1a7682480deb8e1d017def5bca032eff78089ab6b146f9057c267a360bfd1ed9fea514474b10d06cdf16b5c16c27cdb02131096177eb71fbcea2fc3cb7fe0e5299767724177bf2a77fbc4a19f634a2975075bfc095b476cb04de43bd26fd32ff233b1721f52957b5694c5b2494c340230e9ba8ed3f52b806790842c7ae1035fb7058772477fc4627206be75168cb06712e22ed0371d1454f848495efc9c0515906d7146793fac56d6314958e44a0f89ce5fcedf8a6d735cba92f3dc5dd8f458951df4725dd2e4d76b9e22f12c71bcb72683183d98c4790f10fd1e43f70754a6f74bf255a30b1a02380abbe206a69cd7920d151ddb9ea197c9fd7fe9ae9497f56c64b23884cb3b9eb64c83e03314ef156bfe9863095b6f81acc6487e30ecb91311a7d8727baca59e1b4139c849977bfd2ce2238b4352359bb4f5f099a59844e673579e72e481af4e4aff241ad0191ebb8e1d1f9507984c619f617cf35eb9138100d3b272bce33ce60d369506a94b79ab8d457767209b263013cb483b4e1efe2a017d02721f5ba527d188aad5754f94e2fb16c8982a35cc43c36119f17a9e84a0ac13024faaa88ef657af9f32ff64e049e6b263e682ff35ba4ce56d6fa8b53dc15674fd678406a5085b02541630eeac901980541a523f7109d1ba0498eeb63bc6b8439d3114609325f185f206b64eb5549a79389daaaa55b15254dd575b80aeda63a9f7722fa2826375ecb62de4d91ce930a2826465b15cf52f5726a7619eaf8553186b62144411fa63961b69ea442e9b9630f6bbe9a3a27c94cad9fc7caf5fd97e84bc72064c58b7d5e74ea95ac94988afe474de7d9d89c3ba66c8b9194104bfc7722808211a81987c9a0da3867648b9fe2e7b378f143977df2dba8299dc531fa7595372b686683108b520971638e4e5e7349433dd265935ca6a4b6de056a7cd718b6c44267ea4a9e1d9ab1c282d783f7c898868b7be13df0f00cbcebbcbe49522f07350016b22235ee88e37258aec0d677db7e6267a87c313c853e92ce44245b2b6fb720705bcdcc8ac9bff714341876de935046cea6069b7fbd5b98ea5b88329a0dd62754c417b1ec530797214e0fbf0f1330ab25588915092feab274ef262c2afd71a056e1d512cb7ed36e2fd77cc7c71b866b68970b7ae2c8181a1f9070508194905e8551514ec341eb367353cf116bf0ccea6c59b89de3b905caf30ff04719b8461cb826611465378453f18569ae2db5b07ff6424bbf0ee1477804e074cf854e211712f4fd793b22aab80504592fb88b67e9f9fd7575b2327a98a4d914eb169a572be1b5d2fdaed1d1525d0eabc5fb121c5a9bafe4d709b807641a678685c2a48653dad48f08f0f46cefda2fcba1f8eaa9d2cb7811a1dc61f75ab09e935e37f3472576838dc3e34b14b8e72743b1752d881a398a5a6318252e7ad844241d5db2705d83deeb248558d076f741e778a7ce0a11c02661579d01d4abac3535beb575872b97ef2193d39f37585c39e1a6c5d1c35f32d9a804c31c5df27023cf2bc0c45722ace020c6ed68172a54eb1145cf92e8e1b525028d6ea125295fd83afad2ef672d1f3293200cefe8e7a265c40d302fe254488dd23716b1ba40d0da68ff9efc23e06589fa81d6fb17ea0d9172e41c10755105e28aaeb0843ff3fcb168d72b5db2dae0979ecb8bf32afa85a661e9d30c8edc24b0b2e5476a0e6e41d3d4804db4572b22643e46988b4a28edc1c580895107c31665406783a8da1c4a8eb59b13e0756da7fa3679142f36f21bba2380e9a7698ab8982fd92c20a5474eedabb0c2ebf7230712523141d12bd613456e36abf958ee5d80d6a03e7877bd077d1b2fe51bd4fe6cfa2e51044ead35aa829edf42fb6ab1b6c6221754fbc37c60217e0d2076672b29d5f01ada5e9f6ca9993c2cbabb25ee5ed2bd8ce930d56681ad4f86f2a1143c6d75ea03c0ec07b389ae2c1e40eacce91123bd5b2c74222cd1a173c460f1e7262af8b5e1df116949dcfdd3fe6dba5836bde88e73be753350fd87fbca5c8bd6c2da680165f9d8c328e0a59075ba9a68dff863825ed252a46d15cfa01cf2f4272f9e6caa9005140c561b3e30fc17ce3f6b2523c160762194da86aebffa78c27729bea479604f40a13195689c80cc5cbe4f6a3c38570983c0274db90ee9b5f1665df6a606b4672c4d072ab12ca802bc4f5b05ce4cb9a42d13dcfb8fcc99b686a72ae399b800d543125a5ebb0a3468a39595eaa994bff16470581b867d6cab97772bbf80d55fedd0e7edcc3b0c4d9474eb20a1fb7c39e3b7a9396e90b3203164752623c3d592950c732472021aa9c06a8584a5d78db22cd44271b1f4f3eebf4783a61eea9063fb51e0de68690a69851e520a2982d102208b1f0d7b370b9aefb835c899a5034938318ed466a8ea524e329a65466e431735fe10d833c44d838a2e772862befa249cce2c33c903087b838fde34e975c83170e5f49290d40893305b272615b4ff07f5f6c8159f19bcea56903bcbfed9db8cea86bb3345ad1f9b650a2721a06cef72cb516539f2c028d064801b81102b52098455f435ba414cc2ab6055d9576c6d59e4139c83d200e4cf7e7aa544fadd0f578273658b33f4b6a9040560d06a9427f35e41b4be072817ff94381c1e66d69217fc0f4d16772398c8a870c72240238ff1f01ef59d50431844ef925a45a2a807c9f8729ae0e45f7350837a3729b6f30f43a12562c112b923db395049f1a947375719a2afcd456a137dd21fb72ce4a032c8114f48b08c8571dae186760fc0e4670ccb346c0bd1366f9a81eb3723e7746052396b341a978ae04525ca645e429e616afb5f8353ae8f8ce19a93072b5685ace43b2d3cae20db97a8ad857895af7422223665d7f51ca8c326f209e25588f21ab236cecfc9d58edfd608cd025b816a6e03558a244bc86b7583750854d90d70760389ba7c1f1e5904300ed334390312eaa6cc9f1c939d6c0d082dad3725b2326d3983fb69fd0ebefd362c972e959aafc37c768150f0263412642aa9a25051c962e0142e4ad792756bd05c5d738b8c99aa9dc65e6fdcbbd221479f80a28d94be2a9418ca5517517afca9534022c8c6e4c50ed1646674d38de2e4bebec72e5c5b52efc37687154b89bce2c23c1bd80312f7057275227ff8e565c613ab470060b25b546662b81c61de2be57475f1c7f6d2cfc14c74b6fe8492654b75b9753b7e1bb328f34f8f0702e1f40ebc65a19c583fc7703f8c56b4b1896c3b5484e282bf63c0b3500c13cc41af16466f2029e776f4d81f4995c936d5b3b923a2aa95d2988f9db950816e6be099f722198b806c51a22b6a8aa964b863be6968ee73972e380684448769e691db484c3f89b84fa1f67be23972ac648dae1e8a6ede23472dc0700951ea33f9d92306287f61dd9c28865004af7b7fe072d6bfceb0529fd725ba06b8813dbeffed51923465cab774e5b7958bb836786e0e8b716fa61f508722e634b375236016146373559a2238705573ecce85927fb978f28778de1f4b0041726d06a109febc454b6b066d7db2583525bc62d66492b3f68c0b8e28c0bee326b8ad5d383b166ee5038a499483c4604f44bca86cca11dfec063d5d688d4f73d616bc725cffad3aa6578342fdabad5bbf5b19862cbce0f9781817e648fb8a472849b4c7e3c9b75bad5056c87aba6521f65d816b92df029218de220b885e0df72365833ca80bcb53e2a9f18652cf128f1c80ac8274c645eb1223287122260d37257652e3a0d22d58cbee1914669dc4cb1fdce7604ca58e4e2e0cb5ed308b2c159b028549faf17bb44f26241e51bd4d879a582a4153fd3649b105871dc40b0b5729638f9d2ff46e436f088d62f32f9fd2a148d1927f3337c90d1b4475a25daf472e4d27621b5cec366324d5c51f11df1397f78ff6ed390b0632b2ea8df381f046b7ebf42ef9ef1065b29137c9040e59ff5cdf6fb45e75f4259e7017b5fc33e7072fccf7bc2e110b1c4a579dbaa1106a7dc96fc599e9c905cab6dfb88fdf5fc1672f3d5f47e2adf0d620c061ed2229586e63fed6455cf49ca7e14f114d2754652725be513bbcdd52f0f9011746c2d437fc36009baf3c0db6732bffe00581137c0723d34c1ff3a466d5ea86c33b316d08f13917205aadf2378b039f94ad17ceebc6910c0085c5cc9ad2ae665dbeb4fece2fff0b44a2fb38f0a4fe242748e27e689164284cdc1a61857b61ff1b98054d1ef8fc78434dfc09dbbd04131f436e5e8f02c0d1960b0d76059df10681dbf3373699868ef65ebeadf85aa96a71902301ba3103d49c9f300e6112c635c3f86e21605f3d7487957e593c2210b7da68f6d145e65dedb5b6c75e67b6bca15ed9dc3765cd27b7c94663f41372f1d40d7176a47d921cb969d88b66e11199def8858e2e44638117b7a9f7d1b38f904433af51df071663ea6d27f453f576e12b8fbec7fc58f7ddda1994ec6dd12df7ab7e0a6283d8872f7b9b8fa524325a9d4bbbdcbf2ea04b6caa1a34e697d75479d54246d6c319f725c3f6d16af300902346b5be8d75bf35ce7652a42e0938e559f6fb10e16cb0772fb54b46a3986281893ca72560f388375808f8acf0a33c6af0d2f0fd5a54b8e71c72f3e2fd11075e783c9dfb69ae06a1bbc1d4d7d89c7a413bad962a3fc3404729e725361ce5869939fcd4ba4bee6afeb056cc5cd87a5444901409fda04650a723a35b290b1e0d7e2592df2035d3c37633b79834b88840f8df64f55cd0091e0721e1694fef7a36065a9c3bad0b88632ae2c9e51102bbcfa7ff099dfb1775c6f096f37ab8232bb5511ca0f7665e9d3b6886e23af4ad7f1926aa63d5c192a6f7d72339f25677aea4108ce75e9c34ee628ccc82d256a795801228ab32aaa87ecdd5312c12eab8fb8dd5178b595fe2cbae9ae8e7b120a3eb122c3ffb5e5904083d872fef98fb460f07be24be1d27d80a0b9fa838b4e6ff2c630f4bd146c75156af242b91131fe006d2eb0250bc8bf5e386f9967ac916bfa500384c7e3e10fd4dfd44fa26125dab940fda6302b6aac07101691677ce680c03ede8db6c7573482a738340b1ef32dc652e8d0e5efd73d25feb70f1a7c4c6641382511c78ece6db52660380ee580d2de74c93e7646f790dfd3780a18fbba71b22967740f42d3f0a40c5972bcd83115f2b395e28d73cae6abec92461ec7fc350aa6ad78c4e413a3c5f099164ed7d3247323029ca6e85db068b9e731610ed19875edffa48d8b6ee1064a61339d7f99306c988dadb6664aa91a6b6cd8b57bcc968823b56a58d2e4ff37cb8067b990289e8ff2816c254e01cc33dd02de13e64c8f36d711570e4a5e0df3f1a57260130d17f45fd5370cf61f011237e44872b718993692fc2c1abee1571412ad6e581fdb944fadd34747d405d1857f0fbd348dfbe49f096a27960957e73f078e01b5998ee1917a3c4df4f9771512b2590b4bff38aeead93966e1ff73395585ce724a7e60637a2fa610ffeaddd3b4b250d8c13c7e907cbb89365c4ccfee1a17a7728854e791dd3dfad9adbb937dbf6fad866395381915bf883106ab57f5a2d4b372688a2216dea188097193e09cb576042bee62fd93ccfa1a35b64875babdcc14362fe9c2afa7a6821f04b0b16a670cb95a220068459a682e7e448f9bb8069b0243c31725e3984ea6de8ccd853213ed21d30451cc7de3f562b94e8d7abe23304e722abab861a9e00cecb56997496a22baff17292e2ce03d24c90e9fad4d8e6d3b6e5f7dc9c4008a9bc40440647a3de0f264daeeccecc79c02ea5f2bdbd01415e1187b4851d3f9b95009ac5fb0a69c6e7ec7d1f3c4f09b7e94d4da918c97482de24a8687c0c6ed35a0cb8116cca9a367b49aa03828252d14e3f8673d5e1ac080dd4bdd455b30c901b3d99b295fc53c742f630296736b0737cbf1cecf1accf6a49c72e53cc1f26c57ba938eb1b273caf2b383cb33281177f839a7530ec8c7a1547d54fdfcd0333c627b7b752b059ab5f1943ab86e7bf5c94b1ea0702248146d7752726a3614f89503dcbacf966da8731f110d564964dd9e47bfd1ed1eab381a5f7672b448f0d6bf5dcb538f1e94a29a3188311522a2949d11aa296f4fbad9be525d61548eb2739576338ebb3a936f1d632f822aad011e66f469d19c7e44462616347284ac42cbc409564e223e03163ba557e293557ebc5f0401c0d274eb1a633ee068e9188a8aee3bd1c8282e0a800a7df1ccd7aabc9e08f6e1fa1555fd7b339fdc720dc510fb0a4b3ec635fd23f86edd6f753c40342965c203e2941aa2191e3f63720db008c82a50c835db0be54506f7e29bcd757e694cc0e7bedc1a539cb330b24ff8d344270e598ba9292d9ebb2696da9e832819b9ce685e6c0c8a30af0716ee4a7b29068dcc7c65df1dfd84437ad8e4c23aa0a49327ee547e8f876841968d8972422767cb3b9095b0584ddb2cd25a4061e4adc319a85963b45826be5e6fab64721443931a9f5bc97bbd9d8f830614974b4f3bd3b1513530c6da8dd44dc423d6725a7a7e35f92d64018004a6d991077d098b06ab197efc0186e3d574b9e0ff7a3f10709fce192e84cdfe7b6f40dc732a76d1001c499eb010da7f4065e45e693e54e71dbba320b342949b6fc63d7480b8d3dcf8e51c57987aa18022ed044df6920cdc9b905271dba4021965f0cf6d2161cf91dcf59e20894e04dbcc2a6a689c8b72425372c82c26a18568ea61d0b52b6ca01691aef501d11aef60cf73e9f5c03e1725eab115f51fd6fc1df3f1721f20950b7045edc1b758b4d1a3d67ce229667e72268845fa5f778bc00e717308185661f2d25578f0206898507a6b544b5ae5bd35e7cabfb1655f0e52911a679531e035d94264d783776c70dd777e5e60143c6c7259847aaa7bac7d2aa179fb81a08e7be2f4dd362bc19eb8f1adbe70ec8dbf02724a07c09f50db2de0547e9eaa2f2bb40ad1d964a88d6515ded8da1dc96585f512accb6479350a01748db7b64da69ad08afcef0f46bdaedf618bc056e1484dd121fce61a6026fd465de6b06266b24b660ba2a0974d27453411f71a1695bd7d3972d9b239045e55ede3b349d06f883a9c6824c349c1a809f73bb30027934b575748d7ad17c9e6a1f2c110c8745aa830d6d8985369b342de09af31eb818fcb0d3872627d0522d92145c20bfd6c37d17a945f54ce00bb5c6f0cdfe48cc085d7835b01db0c3d95fe04454ca956b1069d85c8a69730bc20cdf8590a4015aa4bed75f5217b0a646c77d8f9d0030d817e4664d20fea2b259095428bf5e0c9f46f0b675c72e09792bf15980e220c16ef9d83fb179f5ba0a30f2fd7eb0253d868a1d2d899130df676089e214b466c10044bfafc92663508264c68a84baad8c2eb90b064f3727186accebeb24f57a12a08b3b643f5be16a5748bf1fc8eb1e8b5b656b0fad572ecc8fb65143f939c5561ba600d428887cb242cc84b3bf481ddb3e2626b44ce5d0a10917534ce6fc662795a30f34659b1d680a65cb7d734550983ffa0272fcf67f452fa08bd54da192bb593072a62aebe50c83061ec8e0df5377ba652917dd072e48016b7c6b389ba52774aab9239c5107c98bbe6886429293fad58b27cd9ef72c65df88ea04366609b0c3b09cfcf6abff4977d27d043b702c46463a51bd412526f81874eb7c8426e86c18a768cafd4ade8e7bda8862f2c60d3105926dd52893dec82ae56d6f8009b893dfa08e3d44197931e2a425ed57207bf8fa4b77b0b88729d4a2580e062ef8febc3c3d33568b0047b26a7697acb9a6fc6bd34aec1fae20409616439ba77a6a9596fb251a46207aeea7f95f354f7fc4560b9239406ec6f378e1c2a028cee5af47dfb2fb0365bc3c77c8fd0fc1d4f8547099a2473526c431c19935ea714d81067529bbcce87ba6968f3e85c88d01bb3757698719aa8e560633c7c631c78805e77b7d5f6d4823bbf2f765175e850014e1e978bf71beaf51772c2094adde226d78b3b083a7501d0a51719b3ad22e29a54d7d50624c5c4a73f72cd7b4038ef38bde51481ef41f129ac63e0c0cc8e067f00f71c057794442c584519d1d1ea1b420b023898e77aebdc458e138a1d3faa745255c9256fe1f0c4a6139555b7fef0638000d491dc300b3bfdf7b724021f95746b758b0dd3f7015e427281e8d4fb18aa943ac262985611644f03d0d6f4458c262bc09dfc45830194e5722f70de224016f75679e1a0292acf3f2582f7f5912cb9b716301f485daaed217231df97226dc33103aee1f65a3b4e0479b6fc3380703527b68cef199621138d724a140b4a9899e61f8927968020f4768da5c3ef6828a3068fc9fe3bd959d64651e950a682cde953f15342786d091a013093b66d8dc3e72a4301fdef4c64a7d77223b67169c5ac3b7e375547f0e5c064dc0c6636c99235834703be90965ac5af1a59b14afabd7f6ef40467cae528603385bba940d5099b8fdf0886c93910740d72b021c02013d73f72a4ff270785ded1b3f24e30cb6ee2e57d42897848771ae672a75ac1998f0feae55821f2f999ae2755dd23597ad5a74aa4d447f56b4415bd6e44cadfe246f02d5d1a9cd573048f2363fd0102827fde2ce293ff7868313ab27260d8984c7689f7cc7334884a72fd1c277688d59ff384b3bed5968996307b347237d011f8c98a98d90737de74a025e0e48f311dd9a44a850049db442a2381d7148398990dd6c7a9aea06394be5a1f801e07ff56ed9ccdac836cf40052cd70ba726c8bc2fce0e9d868f453014140e3bf3bbc4228fd3b2204f5ec85f8688888477282f27195085f6b8a9a89403375624ae35f36c21baf7d0c47cba8fb4ebb199572d1094d43aeb14edd9a7ba5ca83a178318a19c0e5d8f06c98b43ca8c36f73a02f1ae3180e94795cd53a82e4df5072c2a7820921f8804251e09e7b79b6a5a4364c418b46a5fe4b7a2f9cf51297b41e533d33bd0ad007617e3b64641d18981160288b9bf94a0a175a1d34d473f5f63c8abcbc46f5506bd795677cc9b8268ee56e7243ec79a8183d91cf68215f5c75b451725ce6e36ba72dbee6ddfd449ca372b42201d0653ebcd4acb2f7d571f3c867e744c9ea6f287fab45a31962fc99991a8543c37f0dac1d9cd0b053ea749356dc4d15c6ee7af41ceab8727bd9ca10e5ad91725a7073cb99ae4d7be282e90310c62f202d347fe40d115a1bc8e078b89322b972032d86053c13902d843a12bb47ece97e1e4f63850e515d0517dc56ee7dd3e0721d6541dff286642a7fd01e33c11daba2d201405056e7c747353a5ba8e501607250828ad090564c1c013e20958e343cd4979a5242aae46c19765f24d54b251d72b852a4ff9ff2099730f4ec3b13635e7f922c646144dd94f48521e16ad6511a72d416455ab601f4efb3e8318128af317d6d43ef38b115f9bf36e6e75885e2be723a1016e2e615f8d4d6d7d3c4d4e2ca794857d9779ea8ae30991618c6823af00f4c665b5de9ce02d4a0b69dbb2eec8461edc8dba2cb68ba161cee262ce9a10e7239a5b8d26c6360a4c9d4deeb5a4a3724202a4f4ef9be7e56e239d978510421722a848f9c7165e7848a30c34ec9d63529bd6fd4f41d4f6ce2ba42b9e50287377294a6791d5de9e10acb0d58217f7f7b1d6bc35c1e2554d3608df12246f2ae0d5b71e139ab454e8bb1bea310088ac156cfb6016f086b1175a973a364807f68085bd05f62cb27e76147a4e27c5b36da0f8e2b66b336cfcb472b7635475ba0625f222135ad819005aa69d289965c4d878e9c65e1f112cfda88f89694d6106037155bd9628719f07b239284c9dc5996dc55d09bf87c191a02deb0b13842cd550c172b83029995496116f718ffc96163c220a2876655e856aaa8c5d6f969ab8ce1957237f1bf58a15f5b868f42d458959d6c561f066c27e24680d62ef976f7bc651e7291237404e238f0b8815b35169a31f88cb740cc0aa568ab68c84aad2f5d1c7a72ae72faa60bc60e618c01d4da16444a334d36ad918547a812ed654f84a8a28372d8ef40492976be38899a02227e7c856762229311bcaef926610ba8ddf8bed07231c244444b91040c2d080bf9e1b811544c882f4f3dd73c86e68c363daf45a221d3dfb74592144e0de3acc44de85161a13fae6f210727b3d54ef36bb51c9ed00373c225bfaa9ab5c1aa4c4d43658b66304519a84860e2269aef7932bf99d8330060cb802cd4c5d65159f130e53c80579a0d2a1acb04d4e0edd547ab529bc87f0bb321ff1f4619024a553cbe0d47301e5073c003799779476de65acdd32f6e1d7276428101e534ae33315b68e5336b11a6a27000eecbdd91e81b701245c876977203bac67f19e5c99ceb72e0d90326a669f350bc374b54987c75ac4532aa266972da1fc66f43042582772ccb5d6f87647eaa922f07dd6b357d07c06e8012725b7277ce1591e10d713c8935f29e7e58eaa31256a5013dbc8356d4eb9f040c167872f41338ce08fdfee3d40aac77730eb576c28b8fa2bac0364bc09e2dee18dcfb7279977fdb0ac82bad3f9f2cf49d5e8d318f487b2c0ae0d57182e023e86a3a924c15226de35dcfdcfff0b9c9362dbbb6d5d6bf7f1b8dc3b0966d6763c10c351a36bedf111648d74e24460a3f3f94b08c99a5beac905779300becae155f3b33af1cf0ef1530c1ab41ebfd28ea203c72ce048189e7333691366635dacb06f397157225d8077363c31635534b8c29a00317c74baabb7ab60acb3c3daaadc40660fd6ec10c2062381b3143c7526433369ee548cb5a1e9bab5c5fa1af2ddc2e757dc172f15df461097f8534795920d39df40884d680cd97521f45f45d1d639870a68d19610e1aec2cdc3438c99f17cfa10d3363d7014bc378d415a1bfa2b23f9aae8572314d9f94cdfece29f980bc76dfe3fe8c359f0e69984a33780506d63a15af5b4b05617aa53c1682384159eb7e3bf661af05d150f8ba48bc880ec4f6f724f1e03c2df966e9b1637caa04a5355999b3921c20e87e047e1a3975ffbc4783bdc1b4725d2df5c6dc8aceea679c3c1f386262e66102779a8bb11b9105d50066d6ed0d2e3c4ca9afd621d3e651736b50f5f59a7be7f6d76819271dfd2375144e5a600e1bb3838fcda183bcf787f74aa0eb4cdc38ca51b63a8ccab79404b72f1053327533993890bafae063feb03a3ad8959d07448cc87b5993d95cea779cb2106dbde9548dd862c5b98f0fb7e174f21d5ab377a9c89b4e838b9b680fffb0102bbe6f960720c5652d652c3fc57552bbeb22d07add8a1da1d4d7bee29872b3309762f7a97280d2694aee0297aacad53b27d18714d4b03e9c6e53aaaa73ec6c6f89a9f35d72ff3654fdd5c40116640843b50798f455657e7077b83e0abc231b0587a9d26a667941349daf074c0621af7be809412e006bfdf75ef270b2154f9194d6662920707514e585b21f7698e0fd791b89cf9093bb61c8cc854f25ad935330d5faa80a7205b9149fca2edb56b2d9a6faa92a88c205ec6e1c06665c2e97670d68700b5a721593fc885009aff8ba1ab08ace98acf149542322feb675d9c2546ad00d58bb726ebe6a65e1eb5f1cda7ca5ff231386b3b9b149dc2d55d18d4909dbdce36bcb729485fef2c86edfdb5418d5001b4f6cf62572be6ec07516e3b9fa8e30f6c249726a1d912729f0257c007d540bb0293a30c48c48d0db0964e1835ecf902a938b72c1d13853fff7b5092a698b4ad2f96a847c75ae9f8ef696be834099bea6dc0639b3ecb577927abf1f4e1a889927d763a37d4a282410a555cfc6dfdfd8e40287722123ed2f4beb952141fff2e624ca5b2a24ec49e372f00c2ca07a2d7ed15d9d21451dc408bce9c8b27cfb15f3ee8586af5879731d5eb63575f8d3b70d72ddf572f1ab40e70060658998f5105fe31471c80b14198ea0ff41745f7840c1c4484c3c0824f69265cda480e645207dad51ce5b5f34f3113945fdd209d5dd99ef72e972100b45c3d20c8ed4bb05d8c4867d7a472e2fc450bca8256376d1ce1651cb9572473c6baf0ad4e24ecd2568356a77f28704121a6dfd312d2f719d6659d454dd72a4974dd677fd125bd72f35cce0b76cfa07c99c1e56b26ff4d37eac7622a05c149a2c074d3f9c33d6baae922ce97cdd5185d7aaec5de2c820d07c6da3a2486272811701004f4a35caa9c013f35a74b110e0f55a3ec36824cf7ce7f2bfe7e2d51b0f9b40c1c2635505f3234cab29d6b0b3ed074abda2504255f8f1e215c9c41472b0954e9caf41d5ced45238815622e322b42da2d9f0f2595ce9b8fdd2d595ec00860a9c3d29c22428908d5d91e99329183d2fb66c943e22b23c7b5f5c72080b00c92776e53cdd1dca6806ff3390fd898d645f7028dc60c281b2cc43c23e1bce0b19bce3cac314ec8dc3bd5e01a99bb8715b536275e8269175955490b8914a615d170e9bfc5a015acf5ddbfeea474d4a67c695c22c1fa9ef08261696545afc31720985279c6a5838115ba52b44ae8175a9e9b7aafbcf8b949fcc8afd90d77525725cbc18124b2726cbae139c4c726ef4ca09da2f2030905efde9313a8154eff67224efcbf18875e12c0b84c0a002863fa3818f46d7181d41e066aa52e1aefd0572e87cede01ccb2e98e4584b0dec8418208250b9b8031bbcd97e13310d2730f572365623753a47b31fac5ce26244104534ba304092205c80426f0c3bdd5a563d72922371a879ce662508c8369ca3dfa04bb45ef10b236a5c87ae3bfd46215eaa50f8fae6ff922b1e6e27358d79f1681cc5e29e0387ed447cb9e8653fcbcedbfc72ca3c9e0e63de65378c85b079a6797615f80a847a145aeeb2b14e10ce7288a172b25132e828203058d0440940d66167bbdd1352ed2716b6899d4ad7d2dd53ff4808dc01d2419d291cdeb95d497bc19e380e59ce83d2e8936d35b81ed83bbc1f4a4573e9146a74247d17df7da1a82fe2a02efa9aa62b602dc1f23af925295606726f0ccdc63b72cccf0e70bbfd78889e3c7627275427118129f45a469ce116cf2a942d40d928695425dba3912fcbf56fccf44a2054e92d9726f4f4ba3c5129e53d32f3056f8cd1c1164be028f15e4ce8ec810bc081ea33c54eb2da3d224bcaf672ce09adbe667f7ea02fc145d4f78936f9fcbd785d5f64573b56d71c1b7e5e44723708b0e260db63d037290dcfca4c39a2bd7b6cd7b4ee1d027e2daa2796cfce72c1024c45bad40188ccb2a7b2b15bff236ba4b1c15bb4297a608944cdc8909a50f67f26b19527f59c20696463a49daa5468ba20c0369e898ae050a317528a8d72f98d6ee0b913c321e9d04ad331643d1623e1f11215bb9431d9edf2282b0b0172b1d01a71faafe3b142fd223055eac7722937ff841ce0ec93f99fabed10e6c97259c9b4fdadefa60962b3790d4eddaba43b5f8332d93f64a4bffc0cde8fa0e172889804bdaaacc0e26a0442bcffbcab18a66053e271c1ed7400eafde6ea756c1d604ecc270797c643cf4d31e58e4a2c3bd0611817b4fc3d33cc7e7a027b7e6972823c474b43e92a468f4f2d622426c7c39b7b16cf55efbb381a148276346e4c72d5d7debb501cc4481d1eee2c4293f91477b02aca693627a5071e3b4643b3e77272f9645d39cae03a3c8205396f465b8be583c5b374139ebaf9e7e20fb684cd295b8abd2d6bc829b6a99260e4797118f3c68a77357e26eff5c3f7355a020001727ff9d4a7c825a2e94b5d901e40285af843b1487943563f0062105d7f25328a724704d198be50202e7d1145d14d68fc11bae07fa69cd5955d10f3f1ceda6d6e72ab18b09af8a7dc55d36b387ffaa664b8de6b11a4dce7a8783c967a988142dc72e0a218ef0893dd0ff7c785069f63c67377f079b32a830ec34c889e4d0fe83072ecde07a3c369f8c86e522d54d80729ab14d5d6926c42c9c20761ffc067c9f8284a6183e540ce63df728a4da53ddf4b6dcad26747b4514930053bc1c7fc2d1d723fb04da23549685d01348071b212091d75d26401a9953bfe002f4ca31e2b9472e969cd59018f61c0bbe091e2e1a08f0a3bcdaedcd1605e9efd00d64b079fdb7275281aa4ef6654bf2d6ab7d08d30dd4d9f53b00b36ed04e10234a745b16bfb369fe9b1198c2873c9f57b9c18b0a853736fbff631701f386de585b321ee7f3e723a319612cd80c0a68dd10cb0a00cbdc46e46b5d22b662f2853bfa5061530065b8c5ad798ae8dc6ec54d8bb1b39eebc4cd0d45464cd818142c8c26b848eff016b7d74b1d5d294500328d68152948eaab876b588aaf8c1d8713f49729743e91e72eb56637ccfe70260613a76b129fce8dc6fdf7f760602547788a2e7ee8d77361bc7e43210daf416698db8b05e584cae11d0e6c172010da9846ca055d1159b6231ec7c1fa8a12a6cb746b2046de80aaa96fc7c239a7158490c91029fc8f4d2a70792f504c53b80d40272ccd14040c83272d37c3af6d9833dfe50f7a39ca8617d3de62bcea719e7ecda2d6ab1f85b912e07688763cda768355b226e4a656667c03df790c8edb152773ede1c1d5323e98a889f5df8ccb4576752058f27b2f042f4114c3777106dbf02fbf2c99e8f6802693e25f12e1bb2d7116e2f4c697d30bcf20de9e056268e1e1d7766b70f094cc088daa69c2e668c3f0bc0608e5477770b731f3cf60b6cfb5e0ea596ec290057e8048804f37ee8494d1a593ae0b3af9aabbb72d4ca7fa8abe73cdb3686c45d875aa27e1ac52b8edab3825fcf388bf33981c9208e48fd477e1c90adfb43b3ed57e0a1e269ccbec551e738b9fc09bd6256aec6720bd96f4ea0c7491c10ec569433b5f87e400049dc5af058744c0daac13988b312e1a0852b91cfacea84133cde0083853c743f0ce1d29214e3f9aee32cfc206f0cff64fd81e0bd69bfba3c04e384d36cf9715afa0597eb77c80736db43b596df724cdbd4f5932a58337357db84cee42cfae16d1df93c5bcbe97994d4f90cbba34d3ecf40ee7b9bf30a989936742f73f8abbfc8de0e3eaa84c260c58f81ca19c97216b44bcca7009f8054eb852ac5a56f9f1546a29fdf0b09187e496bd9838efa18c5a736739bdc77b546141cef70d414d1aaff47c3b43228b56a076ae19570c36270940b5a539e557af6e53d7245eff41937f1117a9c5c5ea744a4c78a588b645d56b4d4d681e0a0dc032f3c02476ad3fca8c32b8c1a0a558005ad0b7067613b4537ad2540037876db93038fbdddfc7f9529e6c31815647af5ea8d24778b6d41726cc43ace7f0def78392fcc52cd9942b0227dbc956f9532fee02d65271ec97f72882ecb60f6d9d6f4369554c17c4ab034afce2471778c164ad1e4759439ae4a72f4e3d4e6396f96d1e535ee2966a3e66f2b952351bc1274a782ef18e04e5c6672defd72ad8cf5f5ef4afcab7f4396d9acef264584116afacff0faf329d8e54172ab50fdaa70c7a69fecd89d9e179ab47d5d7cb5ffc47fee8990d197800e745572401777c1aba28cc6202b0285551074b6d4006c8861d616c91c5af2613a1733442953a4410d3d65cfc15537e830319580249e0bca48911b8bf8c0c4e2f37ca2725c3a71f082284f837db361a29bf69a73992591b9138381cdaef2bec553ff93058ad0e50723c681639eabe65ef929bb024a34eae8c762ffcf6c761925082243728f6fd8163d9cdb59230daf2c15389ecd661297a95401b3e17768452ba3345d521e2056fb9523776c6ce2de06cc43d6b8c5b2f2f3970d4422caaa815351894a06844c61273e50a8a35ff15986d2dcf78e46363da588c6f8d462a8ed3c19b6ac7294e008399a8f7d160a0c3eea091dca61d5c1e78ab05e49572c7ffd560b65c234aa837b4ee028b8f156d8564febd6bcd2d8ab4bcd3d98864b0b273ac51b15f149662a9c14d6cafd37f0c4b2a5331340f97b7d14cefacab87371706eaf70f23351d2532fd94b495ca516abafba707e4e07e84502765779c8a5c2a72e3b2a217e2c5db4a026a573d4f4bb9dd244bb6a075a701e8ee01d4106088d9840224876c972100c0d66c9a43b34f0a0f6f2ee18c99ee8b4ce3a6d9997c488e0940f6c9630722857601f514359031095005b1d1c8b80380f92c0040bc5cd29c24d69a5b472728875c0bfd0f5503d557608a6fd3d262b768edc5f1a1a85f1afb78575950eb0693066b5dfb1a3ed5090ca9979605e6686965392b76b84465a57ad8679931c8105e7032649b7c55d7261db06941492c85730b73f9b3d4955a98eae8e7c083dd272d288c51b91b94ccf5fb7506cce11eee025de6cbe74faf0a0d51d0eaa0fd9e77216611ca8292d15294311758490f212e68e1baa3b906f0295731e3870a09b5272d1912325aa3294f0f27a866a1a3549d1efb5a71afeea5a5858eb81d0c3a06235bfcde0d01a2dbe835e2e0e3a90a407088c6903c6d05c865522604076b06e5d72f412c74c3047cffbc9964a476dbcc90778939a30934500a3c32a3680d0da687280cc70d0c01dbc47e73f24f95421da15b2737653b36f3a3caf0410ebf99dfc3727a00137dc41291b80e18bbc3ebc2a6c0251a1fbf90629c741159c619d6b2607b8923033e2f58d407160786c75b2406e0ccbf98bc4061c166337e081b332cc7259165d0a09293b9335d6d7d5d4a4759ee3bf582a76e03e346dcfe6b51bfca372caf11812288a4a5718bd3e58643e9133e589d106c26b548c619fbc555ea81e0d6cd65fad49292b3350247e45f0aba2c45ead2a39fab5cdd54f9af653fef6356d458a7c6cb6e04fbf51eacbcfd346c2d352e9ce6d2bc2283f702077c8b5d4dc2f38c6e6c8f05a5c3c2fa72c191b6dc731dafa9b9175b3b0c2e94199fae59f38483fa86c94a9b54a05b3428342f65abc36732284f0b082147ab26abec30e1b505635f96e46bb1dfaa9e51c5032e85ce20402cd8c19ddb38eec1b3443b2df88af417c8ea57bd5cad9244cd4042dd90d5978c4c641dd651f19584a3401a71de6d706f3b619ac9c27112db85292e2b8213fce3540cb35e5b1879072c54fb18456e2205c98da4a609e652d4c667518a4e62ddb5f60c42ac52d9ff359e99f616cf3b2726625ab96c741c355bda6ab673ba20fa85ab3d1324fea39ad9674b563b88b6e7238a988925223606fd793f88300b758ed83b084e6a805eee342de78eb5ab2364e3447825eb3aed0ed4bb02186ec86b1d0945cca6006414786f5f8ba13b4662072fc729d63ebbb3668673176b1e28bb4e5ef4346cca26e0e289d181d1b4a718b72931daecd22d7eb428c1ecf4ad4e303bf7be37159af64b38054b93d2deead987286d49f974ff11ebc033806689de8cb0e02698822d393031c7dd74757faac97725c01a77ec9ca18d027db045460377151cc159f9105d4d4d84270065a60b0744f1aa512b414f2d9bc9ad3e716e655bbbacfa000c384b71045624cd4881eaa0972ffb75a0e5aafb4351f741865acde19e6263fee59525014cc85a40236781ee8728c0f9a98be6e3241fbd02019d809698fe9cc5ceb55755006f4b1185aa8aeba723ca84563c0fd4aff13f8119c3604dff5915c25d8037eecbf520177c62136ba3c76eaceaf13fccc295f6ca9c483b4c3aafa3897362d0e8cf9610ce0980ca50771aea3d53ec7680b8e8ee928f03d1beb4187462e52533b19f42b7161142bb75d72ce8b681a118155ce8275b75f8571dd77c9b2ebf0121a2c01a7749d7898cbc4725b809bb1375044af6a3498cae27d600189c3abd176cb06a7f0eae49fcbf7db3d1b5f0f3af850d3e008dd487b45edf9e1b9ccd601662ce407ee7b2bd82081b8724184c98d8d034433c92f9abb71608601ccfce562b839f08d857e201deffe8d59f20309916851c38759613a65a03fa3008daf6aae71d03c4c5b8c37cc91356772aa24529d2ed3978da6079a07a451883c9c37f4d11a4a32ce4447a3a6778fef72cb05ef2cad61d0387271d1362ca9904ba69adc6c3299deb35bb1cf0c9ffcf3422f14b66aafb56db013f9b8c7993a87b3fd391cc54f599e1c5284db2221ef1f5d9dbe1a118fd8480523fa83c21921654bb6b18c58baac270232326d5a37d755724ebb0f4274cb2ff459bd30673e679d242d7da3c554c1a063ecaf087e8bd4db72126f7fb7e10b1de80b4bef0bd8c6257bccd9ec2a34e2615bc3973416b0b50a72593b051c6e6ab4dc75b3dad4444fa591c1253a57dfc1e1f3c82f4ce6d1612472afc8d8c63655e861f04b0ec61f0d42a627a247b446b407be6e59668259fabe7250359f7a72c511836fdf189334d15672d7bf38d1596c31c903cef6eb3e81d369f202c9e13e430570427fc7e2f57c140243ef0ecda8be7d9e5155f21d30cbc5723cd206cb380195d03689d3fd32e70a6cbad5a979a325068c76ec6c959482dc7246ed216fc59a5390c68cdca122044070b379fb43d293efc205d97fbc17882a7208b0d08637a05361c4859707787d1ae5e3ba6f1b3af85eabd13e994e61b7e5ba0200007205f02d43fa06e7d0585fb64c961d57e318b27a145c857bcd3a6bdb413ff7fc7254cc6696747820bde1feb894597e52da063209f92ceaa86cfaead2a56f694254ab77fc148fe69d82973c5a00b126b9f1362c4d3c08ad817e29a4017b9302a92e4b6e55181e949fe6d72a866b7f96371c2a311f6dadd983d5521277c82e7f8239052ae7a055447c1c3e292ecaa7994612d230438adc015564e210cfae98b2dc3e6ea1cda03139572cf09cf203c79685dcf444d847fa614bddd39455a937fbbd16c5b03b0848aa7de4a9a1b55aa991d4d02b0776248ce687b413068f54671f97729b5d987f39ef476f2898e94e0dd5d73e09d96a73850b6c5fd46bd5fde3ae5a725ba3c43800754c383d05eac9cdf19a5108fa76e1df5f5324d5cf360f1a501172957081e63589fb8f1ac519069d8e9ad9cd25092342cf28df97a922999e148a517ec881fb8cca753e79bc90f655fb8f60d29f44405bd8671a254dec231401f1725a89e9a7913c95f5e316dfc1971c04adee868cfa3b58b13d5af9d7f862c6ad6baee0d8e9eb69700d0207550547dcab2b70d43ae364eb5a269deef06446b09272c376f5bd48284b1936e0a5c1cafb49c9e867c71b95bea06b3a886b470086fe7218e3fa898d4642293ee1d0b2eb86e22bc8342244091e6d2e3d10c89a8c42292b9c1892d456c1ce1d436426925017da6a95963cc4233092b2e392d0f9f5b60548cc91a293db9d0f29477fe30f5e5a277c9e69821b05c0a1dbf697ae9209fcca7260b1ddf8669b4d5ba1b87b3348385b9a480dd001377d99e513c0c791cb39d14218f9ef428adc34c2f2c8f786b059e0521c13fd17b3d0b38ce825e19b233b82726f7d839952a349106e71a057a11104e9e2d3e90235471f5a8e3bc9e7a4396472061bf4b3ccd02aa723d2505d97575dd4a9bb1bb8d04286941d55d6ea16237e05f855a1beb03eefea6106252281bdac6ab96a923648aea5a5b5c249c89700d37293101e951c62d661346c89707624d3c6ffab389c13288586d749d6f2aa758c07583d00f1a79bf4aaf97d5e013cbd7a0afe01e5193209c31cb5159c15788c2672790d57c6532abaf7efb4636998ab8cb6b576c1ce886a396daff0ae3003d4f07207c0e8c99ae6e815dfda9d146aae112b411b310e9a3edd53a53a3d251aab33720c7e93c2dfb23b1a843da49f8afddfd3a9fe267b5e477618bf696e46ca99983899f471fd60036ac9a7bd3a70a3a29d0fdf6920b07b3b5fbe49a8b7c8b3a92272e13c581151433dc79ec99d0cc0acba9e05d7167e655d985662d4088e71c3b0722d8a05f545c13499b289f942a3562387508b128ef5902605b7df030c4fe2787219487e77cc178b1174b181e8e58250ab21ff0f8842878a649f495a9c4093b17284b7a4e5f8caf214bfe295329428d838007483568dae665ce88601a41138bf72e3697fe912be340eb8b3b0c6c5c45129967df6b3c8a998a89c9d717f1e3428248575c2e8b24ffc8e1d39388996ed2537e42f85e137e9c5186cfbe86048884172308a88bb46b7d9e8a679f6019cb24615328c3756bf4d71aee15c750ddd267272fb6d0eb30d74fd6e1a40fb5aef7b8e46fa4bda70e976e05d3a0f4e970434e027b1f53f090e382ac98a47257f32e631131ecc1d12639b023291120b78f3528c7278f106551a2cb159f972576fa70644bef05ace8734b8733dfc708f6a073aa672cb75c24d58bc597f7ea89ef8017e000633f4e1ec9041f8301016bebe08be2b72b7a755cf876485f126e7172902920220aede7bd349df158e214a0aa6c2dc032ef97996c71c13563766405b2379a12a42b274b122497a6942cddf3973a883fa5266cf7d054f1795c22510d38f0d7c2a29f788c4e3a2b0bdba25a2fa4fbf3e9f7266caab22f09d663b6d90911dec2413cf7dd25dc58b3a421b7962811a5da37d5b3f5ca2bf6e5d8cfdd1a4f5531cb3b0dac56a5a791771797882e9506257a7fd72fe21b9e2aa53ab88e2a7c12095abb34497350fc0f67bd7398e584049fe47b902f62b91f8cced87d16c09b86649760e58e0d4a7d407855c973a835b716a01ba608ab2affd10ac455fb36de16bebac8688d8b6264d0dbb8d56f1bd7569deca7f72054b88a2493acc6bae484b8470149a154ff724c7cb4c8c314b237fa1e610261944577cce28e75938a82a912125d188923c8d5ac3cda01bf22580c55bfc27dd727a0e2175e8385570d192de704b3e0692ef3a30b7cff5a931e9da6cd1865ede285e5921102d26cd4b4eef0e1140d12055bbb7f56f2f9390fd26aee2858c222872dfa37c1d636476c019472cfac2d2052479a610de69fafcbdc9386f53f002b372959f1cbc602dc75f051736e7dd42039da3973bce884612e61616dcd60b849a721e334ef7cdc1b18741344252737e2c08a7350c2a41f869c928ceb51373025321d9844ff68ab48f58e388aee7887680f2f8a176ec3effa998e862e1333dbfc536076b4450ba8c4b2d59ea2cc993d8ea62f2be10a86c429151ffb2592662874b721d74c41f9f6780890867509d94e718b16beafe4d0b5e789f95079eadc13c51729813222532b66c4e3c42633bcc35890ec453e8fde7ebf54e59fdb41ff2b14b02ea62a3366a22c1151377a241b0d4af048fff8a6b5996ea9c786cf9eef18dd272bd60bf4a87a6ac6b655f57ce46d2272ddc4c27c7fbb3b10880ca48dc4cdbf3527c521f54ed2f799867639c169cf04f7b3eb57c928511778f2b97a16be404177214602b0730890543a8acbebe7cde171abe53d3ea7e7e115e222dd95eed215970aa812990266e59c8c702e71b599385a766fd797915e872528e86a60658b410729253bf6fd4eb699aa5b648af97b94452bb4a10222ac3ab5691aa5ce057996b727e1e509660a7aaa41bb0831a67094bde875f1177d4fd3bc34579dca5e39c4672e95824e53112917fcbee0c33d704bb9f093f56463c2bda3b5e06f51679f266725e8d68e208fd6c0d7aa234b24e1321b15c9ef0c7863993b007b663541fbc37452b54147370de97a7ebe1460032b5128c0cc68bfed9e2db5356ae1c30aa397d5ff684a60de27ee004c70ea0ce40cd7088fa56dd9015560d94a23215f11797ee72977fe3a8465e70283f44e37f3e49ea5c4b9f42d7b56f0130730a6f00290d457299f0ad64601fdee115d99e5ddc5c8e159a0a8f40398e6e0265c67216cc28a240e0c36f0ee5e67f37f9127da95df59da71d37c17db98cec0b75a509db6ad60b338f31b103b2e2e3c7d7acd9cfff4b99ebd50777125ce0b2559fd8aab8c4944c3e8139ab7020536fe5b9c92559be9a86b111152404b146358182e6fdab9171c61c797cde22ccf90ef9be06013ef0d1ad10850cf680b9db646a42858efe0194d70a8bc08efa03d348b229a6207549cc826784c803701265eb13088669aa28219272c8e735f9fcb37b879add904f88a3514447e42b489fa3da6e19c4d97fa5b8fb72986bb75e20ffa8deb17fd79e5cda775fc92e2ed92a6c84bb9786b102839e8a19905876a78e3d2c6a6cca0fe7f16827b5fb7e719f1269182b5499c505ceeff972f72385374ec864455d153580d4fd52c56782ae367b1d999b24864f28b8d790724adeff5a1ccbcd10e69cdaa65e78b981acc17c55a320755254997f8eb130e172487e8195b449cefd85a380d1ab27ec40b0be5d970cda084c5bfdc57d6c219b72c150b628628ed86f8a066a181137532d5696f5d224a96a49b0b7dab4698db072a88b1121738c1f0f41e8dae9448acc1cbeabdbd3421e64645181a8aca6abc6115f65469589ac41aa11f7dc2d2086f39b9a0aa608d69bdfd8b8a2ba56937f450a01862b53ed65259e1657c75f1553c543b990c8049bdb6e03f7511ff8e8b14761a3fc1672c959491e67663e49bc43062edfde7b0716544d07e6964b770f584d7253b21b25185bbec561804d6e62cd889c8497e0f7927b3f63a04f5673187c6972f4ce95d58f6ca5eea2fee90d1de7e2f7ada9cd0e855e862ec3a1c1c02cf3e072eb0e0c4d4b7190cf26b0601bd1b143bb851237d80893ffeda07fff7da9f61425408890f414a25ef964c3f53e265be69b0c58a5c891a563e8e37ba23965c0b472f1a377e3cc6d389692d289f324447332900ed77739c85373a89da67ad28f4472f2068898963452e98ff9a8c6e7302687cef44892297fe4e1dd709ad2793cde27c1dc40ac939336d404788239982ad4cb41b9346f137cb678512ae8209abf9f703d205c6314692d41560692dbb6f1138419ebda3732c87fcb65e7d92acb8564721e98c738ee686aed085b7e5bcc3bd1d0cb9d1e405831e4ab164cecb5f7661d72b9c72ea9d668d218ea452d4a3270e41bf514bfcdd5296fce4d8fbe1835816b72111384f2db034790f8ca3619df60f0b47d38d6305538e31da73e8439a2253072a55d9dbc0841b8a526f6177f762b979484eeac3e6889bfa90e88771ed41a4d72bd37d4aa2e93817c030df6144718ce0055c67cfec8fbf63967a348b22d3cf318f7d37527ae76967aaa6b14621e3287452deb9f43e6b9bff3416b3d747e757a4c8ac37d1ea7c5e9b9a2fea16b0d5d9ae195c44047f7c221147deda8fdb46f3504fef1e11944ee8ee7a7aa8ddd12441dd3fcb3215375babde5d5c0b5f8122cb0058ff23bf469d33c79ef27ca0a8dcfd66e53add0b52a47eb11d589d9a23d41e6728de4cd130da54dcaa0311ca6b032015090fb4652f0a5720ba485245115754d4ea5ee48a4d0634e80a08f5f1f783c695428401c50cc29eaedf73ea865bb488e7269305bff379472cf50c8a77d645708dedeeee2db7b8cc74bc873c33ce293f172b7e26c32e842b593a6e253db066d45213fe830e32611bedfde1ea7f4eb7d8861f04abdab62ac0dc0ddc2fe2fcc089d1d2ae973a4a6fd7647e607fafc38baaa72ed4d5e74fdbf86e9e84c7642fa316003c881e3fce2670ed0d2fb41640eec270a69f733f8d6258a807b55cce607ad194da63b14b51da18499ca7f3e7d75a1de342e81e7640dc2913a1bb6ab25b543973a6ea783079180b2e7e1e18c751d8f5a0a64c0105bac1e7fc1cf5b516ab2a242d373844f69fe618519855e1d5518e2b672e43853ee000806e9fae54f14b771900255f5e2b4258adc2288f04b56c6612972367890012ee2f85c19e2fae252fcd0db998f3fe55cb3950bb3c95bf4925fa872362637e74a47c7b25ab1136408acf51ad341c751dd8e1b8f91e45fd357928972ed869caa13a336d2712ed5f21baaab131b4e27bd62fe4c8fed85e6501b2bea72c8a4b35d3bebdba6ed7efd443f68f32e1b34a9146e797862dedaded8c979a572917185a134b0e6f74566f53b3e14fb53742b3a0c5e1c3ac6e18a081e075fe5589810eb1aaf1a5bdd7d3b3de8b8031fb77cdcd523e2f1611cb818be3fdbc7c67269a24525d2db04af6558b9ee6b61027ac5e95de0b0cc51de7a3a6675357a0a50af92c5522411dc180e6b93f9304e764aa4ba378080a5fc09ae54a28d8346692d796147d6b0900065e318723de32d3306650e3555085b7ff717310b7f9543aa05309c43f98d512caba28753219d601d60775f9eee226e0c3942c6399fd0256f722c8c32d8d0792a64b9bbe863e3cddfff1ce7989eb1dcedaaf15a63be8392ae6277f97c26cfdb49fc3fb716272e248917ad9b23c949d0da71a8e20523402f89728d02853265cf25796c5c9d6b28efa56c9bbbdcb104599e657a0f2e8973adca726a2c72f5260cc06ef26b55bee61e66efe9a3978c13aa645aba567d9895562b550f61f1714360406bce775ae73994c38e9e25dffac5f686e5d415883c2ae9f1191ccc62daf88b131cd842c275dbc5a2792827d5ae3a4fdc7664bffa88986d094021c95d4ae5591d3c87c8324a73e2a7168b4261e4cda361ac53567fcf57c8067240398f7eebc5ff27c23543a5f5993d1e6db76f1b371a0054a8e2f16ac12e14125743b11a122731c23b5ab2f610a95ae1c36458a97e250ca0f3607f1fc8a1017271f814aaf87f426cfa6390cdb7ec1da8e220811531fd99b3782f0a1847647149561970b7ff7d2dfa71459aeec9b839c2b6eb379d071e718328259a6ce6615b4c0c368f44087603713a1877a9e1c9beb8a68fa42c63d847bfba1d2d7f6db873726caec89b184ecd21d6d0cd8e6859a48ba670309a85a33bc07f8fc9c8c91e5072228fd71fd65b4124ad50368d01cba619a7434ece9dec30997e126ed05a51be3708ad05b91e5af88ef995276d6ab2c358a32a552b403356a6e92b5ae6cac8ad19b26b1adfa1ab7bb9c397c93bae187f292b82b2b69f93c0bfa371268b4264570da56db1efef33159252436d673791064dc0894bb3f320af917b386e1da7646b6ffcc334fef79191b3aff870b39bbd3502e83882f58b4ccba0d06610277cc8f672fcc177033e5c5617ace80b436004f007a67868bd6c9fe46fd5538681228b47726cc19f3d256938619ece4fc3fb6388a692e85ae847060a88ad47f5705aabdd72eadd7f32462b7ea7eabbffd0a544571beb86aa92c07bbe23821c1fe487cb49728ee5c8026a79fa80a494d3643958d210d3fc65700eb8526c05393151599fa17241a36fead02747facd6e1382843f4046108a6dcc02626535fed2ab039d67b372e749b7d5d7f6b71d0c70a16e1fb5ce1e4a81a3786b227feded4de1703807304acad96a209200ca003ac0acd07f7df159856244ab1ba1a46fd0fbac4c578e6b72111ab83a371a8a10b14ccbe35fd59f4cb5d4630d9f0de7399d250eedec756e7221b6ecedc24b125ae14d7d6fdc4e522bcc4694f17cef519cc2ea55a0e0d14372fb5ad7110d679eb33fa10831566b26de036be9c422ceb1ab08154305bf7fac72b66d40d2aef68d5885908ba1329fa0a58342b06578c4806600f9bdb196301f72d9098a8e94225ff6886df1d380cf17f9d81120d30a2dd3ed74791e4c95b76a72632c8f41cf9be459a00015651c4b1ed2fac7fa720993d021d2c2914af7ceac15e3f0e276e6f8eb4502568d6e234a0867ec29e624780959aa14f325bf345dff61f4775492f427a6c26f2e0c0559dde8523d11e475e8885d9fe773832599b69872c22be1a275d45067c2874a63b500945d0f78de82f145ff148fcb283e32410e2132f5d64bdba193bdd2966f02141366bfad69a8e9a4cb13a35f3c093a191062529f20a04b6e5385795287f70299b82043adda111b8f234af84dd164479ff55a72493c1d0d6c37d207a5d181e3b8d3736f9ef03ac17e10ebb7e1e70a552e641d1e3d9f291fe33b6edb9b7c8b103e53e357620605200405d6f0da9d0101e9df2e722ab82cb7762b563ed1841dc6f8fba2fe10d4f9b36ac2f903bb2f5e64b02c8c72a4aad053cf6d258ba998eff7eb440e2f4d2a29a34d8fbeffebade35c8d16a372b74ea5e60acfd1d3acf35f5e857d4a15a13ca0cc263bc68769a3bd3c9465f7084e2347968da8549b4c62cb7ce8660fd727b5dba48f6c074d6d40f97db9881572375c888127140d637cbf23fc5572efb05b22f157894bc52d96f04b1ac3d56e72accd522eacd566cfa65b4bb4cef63295d4f3efa1441be25daea09b0b6acf0772d824bd762936158f6a53fa51029681bd81e60a61f37a7f9d525d8345aa25f1726f1b1cf49f7df59539a261c324c7eed25c67350b6d603bb2912c1ff04595b3410b0e5d49553563466bb818e27ee492054d3471330863f22624edf083f90a48726c97c46a783136453cd7e730d48dde5cbcd47a5e83ca4f590a6004cdac22142c79bb6738454ec94d82e66583e089483909044d1fc37f9b280169ec9db8810c72e2edc58330e5c8d8721426155d97bcc9ca70424f8f8b80f3f3ef4a898c93a129012119bd919e213c40151b4931707a8a5f6d0744f133a678da44123a3d84e04dba5c111234f6717095f919a0d46f90c486ce7492667aa7637b09443f8351347263a36aa246a7d4d005f74b8b7414e9ebaaa647fa66a1993e64f671fb1e782c3a7b7f875d1b5a427afadc3aa342c222d311fa2c7cc87312acd7ee371268b739729e3773c127e984d119c293aae9cf0981b92e434db90dfdb9e25f35873be10a1040ac68c5803a08fdf061636037773ff6b96f4a25018334fa0f1353f332707a3a807fa61a1a9f1620494c911fefa41b1fcd1832ac80a0e4d3bd250f648b2f7a16eb1eff691ba4d22423b2680ffba01f83bf98eed6644d6d12e4c8635b5c09a57200afe9da5ba32cc4b1d124ffaf322b59e3d9bee10bc77f375210a6d10eb0492c4e158bf41aacd8a260a0a3121a46be93005146dc6601613490a38a06eb4c6a72c2f6a81d32ad23f342cf51fb65f74380aed914b4cca47f8945db11a8de251b724e4e0e25668a91e223ab72e3a26970b743bf3677ab68b1941dd255b4b1e22e72544192381e5a1ebcd2b589b6c20d7d3fe3f6528e3a394990262de64724fff17291353222eb83312babd7517f729da9bdf312c7e35d781d7b40f6e05bc5344f3cb1f60d77f2d3cf4edf02113e6f0aa5f2f78fdc2c737e6e32350215037da60326e3b39099aa9ff84b3330d55324096dfb5ec0ab527f10b22acbf657f63fdf7972cd31c7ea6ecac80b24d264df6ef1a16d8782f0d0bd3a63d028f0f8a82f809a72f58bc8f3cef326bbd15ff695e7128bce9cb71c38868891110b5afd70ff5b6d4235b79281aa2bd3199c4c25e1ca0c1e8f1eac65b4ee0fcaa7b047e805a2abd726abd51469b92773db5de88f066aeb9895314f6c7e6a9ce5788f72bb079cd0be72e14ebd512a780b891ad9a8aec2323166ec49d38e1b311c7183417af5d855d67283db88d75ef2fe5f675d7a7393bc48c102ae892d86c53fd8143cefb9dc520402db057319f7b40498ba4149f685aca15c2f9301e14d752db3146257e1a78b5472328d6aedb6d53e16d71b63fd032cc96396c5ecdb1f8b278d6688901f5fba4c471173b0a01a016afd8a14f87218f3cad0b488f03ee75535c2fd2b8a2eff8bd2306978610be1246cf2c28b7830e5b6fac832a3b8c201cb3f1cd60759e05bb7d03b9b5bb3648e352237af5cf94c23c5fa2afd24922a6e75b8ee2d53d3cf043952720ce3d46bbf7d15761bf1bce7a3579f793b1cc627d5d1f336f2ad61983adb3572e083dfb4b052954e81325d9def53aba5ec4b351171bb66b6d8ccc85712938c4d0914eced7009e502608e07e35ea548864d7c7c4b435b865dd0fe5c0a85872f72af483c0da618fe35c20af9d33c8c61849fb4b6318d5430388a0a20da440ce335ee975005c080437f25a164b94a917c57584072ba49c3d712c18263fb4d095972ab036fe4762979513e0b52009f6ffb0dc18690f4653891121651112fcb853b729024a35b83c118f566b00096517858a56f88eb38fe204a8f0a2b8e330ca2a8724f7ba848453e1e121f4d76189f26ff06be863bc6eae1a18db31070dde25b4c72a997ed0fa8e1edc3f5f0e3f3f9f3b834d98cba23115eaadef352a0d1fe5a6c6a5a62d47917e11500f0ca67ca9c0943ffae88324381cc465e69a124e9ddd8e36f07208683e0e0bfc26af885a8e2bf7d2fd570f5551f99abfae845186647c332729ed656b3c39dae83a50fe816e232b5057988bf470f6df783f6f64032091b9172e11d10e094b0b4b795b5869d55cda741994bfccf055b4fa35a244d629fbfd572297d36f916c6f0e677dc9d67c6fffeb17da1c7d09d749bff8cd968cf12ad6c724fa09d6b7b1f42cb7c08b4220eb2b24286b58361a77f91b3af27c9b25f465572c8fb4a55be61b4349105daff3bab673268c1642423ecfae9e0b063e24091c409aab559aefb29067f1e9e78ee5044bfb1e2a54a39487b7358d0e46da13d3adb72d972f2c18eb526fa3b9d883734eabd4d4969922782860e76c2f9a6550a26841da2e041e0dc1bc20a32de1bcaacdc11ed2ca46abbce10fe2a2e849f5f4dc16f72645583b401a6f424e0e590dc6ee067cb08ccc7350daf9beb4ab8dd25c3c43a4ff438d289ab2824ed0788acbf4b488209993caf0c073b57b79ee7bb05fde88a6bc2fd6f90cfd03f1b0187c1ee4df33bbf73c333897a9b0fe309b1fc4be2c1ed1ddd5807f08064ae0f2e80d8aa70cc3708204d7240771ae0e0aaec18db87997f72bd93fa9e1bf8553ba9a6b47d84c2e34c8d703848a179f46aab052b1161c0285af26878aa8999478c38c574776ef295df834005663f8bd50064349f5e61d33a72b1eac014f6595e44e5ad2f26e5db6bec0f074c9b45cd10875af5fff2b629df5101b2ef58028ec5bd1b67e5a2311689c14b3ba0ff55b2d1326a2d390b5312d472e41edf4498524c68fb920f7339a421f0e3006c99769e810401db5d7f3887bd72646cc5b5fe8ca2b3b8f93708b6957fc7995dd549d12d4df603b233494f1ab472ee901f4625ce6f4c67eda7eb4b77c59aafe75dc4272b15fa6e43476b8840137233575083eacdbc41fe9fc4fb6b63e6b78473511ac6d8876a26b0574c42d0a172a712b1ee46fd50a3d1e9f3e775b710e4903ad3b30e60f2ce0e4b95d4910eb1724d5a3f7c33c8f1201ed10af419c905f5a9c10a7c997f52ac1e1581c184054e405a1c9f8237eb2ba04201c44e17936f4258ef194ca7575a3ea880227efb46456fdff9264a56391f80cedfc110274e36b6504221c2146b056d3b4ead3ecee921725c0140b15a1fd9ca8e623b844a71468a69a7c89cf180e379df64ac04a19ec207f2a1d23a472baa0236251f27aa729faf2470a2fdf4813fe05c6909889c8a722e0b78414f057b401a3bedcc067f3e5a34244426afb089abaed15d791fa1a07e6712095b7b95681ab31a53955b257e69572a279e019544d1ea848a912383dbb758184a4dfb99d3c576e42354ba69df177c3364267b8a77d1f882921c85a41f86689c1c954ada4c60e2633f6052a9b4bd22e9b4335b3799fb95485a9546a9f12b721bbedbb4a13ed3d2b99a564183f79b822903466aa8a84f0b21dd221e7a59344849c9b1430a90a0990ae8186c82455bbde40ade8c97808da5c3d31c06eb2336721dc9a5b67998973ce85f45195c66cfc84b73791ab21ed698f434196c9c36437203f025b74ec9a356863c1e1c23ba0cddad83c0024b0d9e4a43241d4cfe185872a5de614865d23d994170c649a3453961b82206bef7191b1ff874ebf152f5572ccff50a8b6bd4f662cf6b372b5a0f48e70060504ded33d50cbbb60d7edeb747728eddb99c90f7974c8e7da326a7a7788b43c13108a29afcf1b503dfa120d32e72fae51b62b4db9202dfcf8e281b485f66e4492941562c27a089b5e184cb65a772f857048fe41ab1fe3f026a63b3811ff0cc4550b2030671dd84adb97a7777717237048b19f826c21fd54bff52fdfcc964b296abb544458912a8d12debc6e5bb728d5dd66b433356669ba8dbdd4168c788c3d7df2fee5b26deaf69d986c5173d662b2de5827c50b55669ab3004781be9cf486e68dd8235278bc26586b4c3f2037251cc7ff7d03022b90a3cebd2b42db0cb9d2792a0e698b8ecb294ff9190927972a034b071a232f9978d67e095b664ae7bad4ca0d1a0029f18920f040c7e50c87219cc97beef8dcbdcef08bf308a684bc0146fcc4271937a80759ecd7f46c50b7135dc9d788754c37d0564331938c812b4615052157aab83672bd72c3a7932567279ddfbc3274b8ed6493652d0e348e4f54ef5d7b2c1dd7337ef9cd937bef4a07201128b213f1731362c54ff637e4755d1a3a80bb9fcfd3aa5168e07f28c0d43726564b5746a38255203d78fdf3956622d3e6b205e75d4ceab44d308fe7559547225c293e7aa56aeb6dd08e746bcc50f7d2b0870d318f1da2489384e7aea6fb63d0024d0eb0ebf7069fcfc6356d38bee7e2df6129490eae7c77f1ac1f26137db72ebc8e0732cf9bc6497f123bbb63c904389a60bb1c4faf6e60647aaa64a6a434d03d9dcfedfe7c981bc98f0849c262a5a4caa69e1055ea7417511e7667769502242ef98578e4c933a96c94a960fe38b53d83e8e65238a653d4a9e112002303a729cc9d9456dcbe01824af6064467ed00e1d215a2f65374d254905a25361dbf661a91c6a34a6a6ee42fa9413e5d059636159702996b8c54222236c060d08e69e320549c6d7b5faae29e16e7fc5ed0ef31ea6a2eeff00a89d25fd0f3370d09dd07278d3439ffa6549d0c6c417bb560680968748154b2891f9e8d5352bb24370767280e504950f45cb4b28a5c8c0d9fcb0a0aaac2f0e712c263e448b2354870487724e32a2fbf77c8cbe63b4bec6af6fcdd362c413dca5cfdfb0db19dad5480eba727a96059f96b7ad52079dbd7828c09366f5707a63e2f20e9a4e0136da9d8fcd3715c08b3d1ed4f8ee7f7e4b5c0d57ea1868a4dfb43e028ef5ce6b1b0a96680b45dd0056450385a0a436400392c1b8fe6001a56e8447c6913967de9855e0a6b672d4d70ba2fbbb2251cfcb8a4489ab9cd48ccb357aa432185c8b1eb5cc294b9b72d53da509774a77bf60bb86846cb36899a90743063299828ac9cac7b766219d121cd24db547247054eee91497c023449e50964a66d00992a46cd6a8c1c57f923e86b735f71223a0245a384ecd8759490f0fb180df623bf7e9584e320161af2f725962b08a1d628f8ba5f45f30d44970a9f1a73c3ffede24820bafa15836275d6b28967b2e2fc5e63536d8e4e37fee6886f58e36309c51475ffd0a8924eba4cf728e094bea1b060514d0160ea27d6e8fc948e8046aed8218a42c77887f463a4772cc19f61e81f78f8b4fa4974dfe0688c0709be4fd9562b01a1c36203b65aada72f8e2184b23c2dcd258464dca45a7517ab87032fec5bbb15f8d56fa7e87b88e27ae425248089e1b4fcff31c1f58bda2fdce2b78836686a48b1a20c922e3a9e2724e5344df83f3bfdf8636b55230d86a14fe40ebf3d8892d5dd9da5866454316728642d9ca6b45a9767044660afc443cb0b2462f1d8366528f494a1a6a5d8b077279e1d98fe5cd6698de1ce75cd512a2898b57e765020fd2fef456e1e3b2634c38d1b61d97e842d78ad9b99eda4828b9affcb6845ec4f8604567b854a998a47e72d457268a31a6837ca70a41d1b9daba517edc1a744dfbe1ce2897d90a6b0021721e8e55492598cc2fcefa85dadb323db1ce7473ed7e284a2c3f681d7ae6df332ae83e0404b85d1a381c7fc713c60a116b9ace0aed17da60cdbd782b1fc6909551c73ef2911929eccce86746bed211cd4fff67fd5aaf5392ca572925d24611bd726be238db3d47a508612ab53b09056feeead96867b2f9fe85cefe050223f333728dbd386034a2df0ec73cae881c4302546da2a8a70d7f5ad5994697b372c351723b6fce5f6ed04490f26f98f6331bc717dacbf3a2848f5703c5ef3fa2fe04ca0eab17bb6cd72d6c359d1b3061bc55dc978958bc821d202e08826d0545c2e88c7251d81708f3bc036fcdfdd6bbf2f25442e3416568cbc7808532230886b79123212537a88c638e237cccc0ad7cb3af1b89731e38c00405f490eac610494d970d72fdad6355ad9ed136b74f5dd98242dab49bc0572ee2fa4e874b6a686779930b72903580803cfe6c91d9690bcd863a1bf07e62cb46c6a5a18984ee684330432b72d918f4f6a3ca7654ffb8608ef74a7fb3ddcfcdabeb72cb992e25d0ef43641c726fa22d06c836ff5a472500b4dd92d8777da7cdf0343b7ec74e63d0a9852ff7724cbea0efa24241b03d1d4c328f78beb75f90cf0f7a4fcfe9a83c7e54fa2e8617490224626adb28862406ef9a59e026185fcead51551a30d1411b3ecc3672d9114ae30a9d786fce3e25e523c9776482427e6db30bb7ecd961e69a0c201208ae310be7051be433339c4770d89708518844db145a57075cf5135f89d92ffc272972234acff8e293a167378cc488e335602a75c284d62565e0c52e490552ee22080f4f4ed547cb99c2cdc0b9e83347381a0b19ef1f851cffe24ee9c636cd0e25130d0b3469c948ba21770581794863eac4f87d7f21305dd8baafa5d958f05b8b9f72e41b017c171a2108f05c4320072021fa7aeeb3aa121fd3e9dbbf93329ece406b93df047bc78f515c463ac0622d7e135df7de069c8d597f348d912d4486fda572f0221b975992dc787bd22758d346560b07e8dc34e77b0deed73bf4729e6a1072a4359eb00e60ad05544a4da5af73d0a7e9ca95b2d75521d56a6cc1ac7ac0c172c830602c2fceacb61f2b57633a87d8f2882a9ec28368de49a123f339d3d4df72f2402bd732d41d8da9d647709affa22f79579ff10478268d2e5071bd754bfe72ac4b2275bc96b7f37d56919061834b7c36432b48717a6fabc1b3c8f737fc0d722e4098f391116819688bc14e457070d2e7f1cc59c2499c34902f34bda021a9137809c85351e58fe651120bf73423a97063f0349f1e5c5b74fdee03323fb49c72e1cc70a09f74ef81ea73001ac668bca95f0b5610199d0bf54e241079e5480672d51f6ae4d24a759f6ab781e98644424765a30eed745cdeba14f69487f6b4e172b620211557ecd2375fffde1d870f63d834c033b09e07524296188e996b2d8172620f11268064c206e7b2d46023af067526bc43886fb7eecd261f2d82f2da464ad56fd44bf3e9d2df12c7bf6c96fd045cfb7c7f1d388891f0a01627c0ebbb7f287feac4a8e250931cc5c06f79e3d79c4f0a81dc58c965179e2ac1f276a604915a769754c7ede4b0a2da481cd5260bd88348e4e8eec8215b6909bce7f084cf2f721cca33206a0b550a54e733c6d9ffdfd141de96514bfa71d86aeb224d3f9a40722ba2cd6d89518a9327014fe56a30e00b9d834fb23c2adb83601737845c348272e47921332a2cece0cf8d4db4702eb5ced57a534674b41b5e5a024b5f2590a372cd430f9908efb4ff04821b6ccec8ce334dc8b8fdc301a962d007a36e6a7ce2728b042b06095085679d0348d8a4f99c14bf63b893dc429b0e0497462ae3a6734d5f93d3bb0c011c75419990526f8a52f3c7ecab82ee33f5ebb262a27faa2a1d72f69955a3b49ded7d04be742bd2258ef22ead418f130621f83496aab40d04b822498e5ebbae2a13f1369acf2b47aea86d3efe08a07fb2264119ca617ab2ff4d72f700bae771ad6639b79b65c25eaa294ae6d83d41b3d29c035ce04700d151ab721f43c3bfcdfcedfe93f854624e8a1207ebc45f024571d982ab15455426454272516d2dc730e5becf24cb08afd22218c0f8a42d9bb23ae30f4b6a8b69c9fb377210c7f5bfe4d1dc0ba9cdde93dbb672383845ae1f4391abf018b5a7c93b2a6852c1c2e8b40be0af75fa800b8d7073296b42ea02e505ac263a79c6b6ea6dcb0b728c60d5c5918efad5f6ff45e17015285ab5aa350332d5627d1be46aab5065097276f68b8da3b2b4cd48d2006ad12be45adbf157e6a3ae5972f3be6e262d413072b45ae7b46696f115ba8677df1f3001e98e20e597099c5f571f8ca2bc6136be723fcc8931a2e16591fa832987b901696d4f4be3ebe62b3fffd7d776fa75b198353e8dbbfded268e4ed1fdf43d13ebd1da19492f66ec6540bbef55e3e67416b710a02985c28e5d7d2bc438035c2bc30276fd1a52fff29dab2e3257086c3cf85a72445a424ab456032f85a9133f6b0942f16f2cf9c8c5a3766ba6d853ca7206f6721b44aeb547d87cb0dca6785a5cb3558e8e155ddac7d31b41fb30694958757272280c285e378cc64ea90514171ad959214766f0c43d123fb87ef850cfd67ee172f8b3d034130af4b1dc2663a1c98f52ed65ed95cea5a4f4ddb84109aa4b179f72ca2777541c6a2b7bdb6b9bf245ab04d62cd4d5554a72a103cd766003d12fa7559d85e9fd6895918aa12d4d252f50199cc7d221dccb656c6b08a8ea86623e380ac12fe6fb4423e53375f8ad06d88a3abe8aed595ac1692c01a1a9d2440e5cec7232a948b64d4a2c5e7e46ede7d36a08427d9029e97584c4f7bb049020e4bc0b72842ba0b2472374526c704614c8828e4d04de2c165c7fedf6c56d439838c60172715a9a26f7d13bc8543f73917a099a4bfb02223ff7b9ac3501d4c47fcce17572cb1031a23454995489eaec2ca64ecb7c7453a524d9e5c47c2f67732b8d26f172eff45b9aa858353be0a08a9d9055c2c674d335c4a60a8e4f42d4889dc2f93072c4abcb0561dd901bdd7a3e16e8d36317dcc29c89bd6e9eb16dd18924d9560372cfee2fb25194764d83239581e4810e648dfba25f06974a9cffab66b5f4eda672ef06372c2967f3ec3663370abdd844ce7b21f31d7d9e9d0babeedbc75f5863724b4a24ee7a335a6a622742113498067ae797fd2e363140a6465e6e87bb8f2472fb0d4c21997f6a19a602a2f46407c566b99b8626dfb35b3a2d7b7338aef5c322dc445a369286a10defff546a78958535cdae81aafc178342fefe4284d02e7772caadec562caffcb1f4462ddaa21477fc3574a2b4713df2baa5d266a4cca2b572db394501623f4abcd9ae9a0e5236099957167cb0e97b9f1230fc0fe22452671d11058255e8ca96928d60b6c94ee3c288d1526f43e988834f5d4fee47902c012da79f5963c06e55515d772015d2b13f5806c0daf341f31ea96c1c6e918255971ff7927fd71723e0ee356e6ad94d14ed0747a3cdaaa797c757c5c3b80546eb08729b5af59c9df3018ac212e17efaf4a7c3e4d0846281a4243c208544ef83310f7252e9b031c5a85e9bc646dff0cd4b8642c4f5fba317d70ba1fbc7b2622dea2917a31f3aa8df5f64ba63cd87f5c2cb3e8d2c1b8ea41f2e0ef22775f314463fce581efe61c4cdaabdc79902449807fc56484e80fac6e5a8ade54f910b291aefcf729ee962be0bde0ddf403442fd07bc00e96bc2af42c53e5b7779d3e0d47d555072c46daa249fc13566be912a276eed0913f3ce4457e8c9611241f8a06ddc05605704d3a26fb3a6fa8e67b94aeb0186d70bdf4cc1bf7f05f8305bfde325b78aac520154082342f884aec966be5715d51836bd06cf68bfceb8ce37dda39092118d508c2cc38f335168ad0f5d96061833f3aab8f8f68f677174d7b0ee7c63e09110464bbcae2bb7eb3fb286612c22b1ed47196ebd9beefb8c8df575f108d3a7c6913eddf96018f9a66000c525ba5654c255a2304750672ffa151a802e20c45e342a724f5bb6745ed4b5f89d955eb6cbf3111a15ad1db45b8289a672bccfb2e0c1c042a156c5e332b15616ad7bf558ebd28e6bee76fe7f6ac9517c5c895ada94176572feac42e68dd626d10139bc6d22aceb0e09ec6dfafe8c3b1f22db0931bd717972576bfdaaf0eb061e26bfac70d7ebc8b744764f1a2a967d4216b935484f4fac506f95e9ef23f3539846b451cdea08b902c61a9c1026b1842ca4c8c9cc9463ae720f31d8552d0f49a67f190686efb6bb694ee529b0c33169ecd9c47a1a1465ea3be3d4469aaa946b819666d62f0fb115d25cafde9ad522b308730873bad5b0fa7262b4a448cb59bb137bf365ecd9dba6e6d1dcdf27b4e7e0f6335cd90c13d998725a47fc1f505d6c77c525c205ec7e3772adf94671a5ffd0e0dd98b3dd707bc47259bfa08fe7e7e868203fe55f4e7e01ce39800a5d73a6a53c104ce14ef2ffb772cce104e44889439052a076c4a2bd34d2e6662e90a7a1feaee4d449c8010f36187a548d5ad03c1a3ca699888c5926f0131870239913f728aeab23de49b0951a720c2e5d79dd36ec63f0a0b0e3e8c225c1706390719b01257fb9a03eed2d040d72280db1b582f469450c384d39a9a925641e20d898ec2c3a8ea56fd73e43eaae32678450041b305ebb013518aff8eff0d0772697a020e5aebe7d0920b38a49995c60f65bb6ffdd897165b433790f765cc0cf0ebefd64f3ebc7b0a9141918588d72ea93773b43b2692f0ec700314bed97fcfde88d526ae7dd297864e82aba3e547252ff35d670045a50f6ce8a9f43e95d86f2a43f5dc9e61591213ba3f94d9bf272d6dfb5b1c5e633732dbb4131820822cf959eea9171fc229caf5f49f34ff9ea6701e1585a100b747e335276f49b41d7d5ecd9a1354b644696ef5a26ded452536308f529b56578dcf869e8dbeadacd97cf0beef0ca3026869f9b8addbb0f032c0f15f398cbe0ed596a4c641214eadde244087908fc9a19c4253580b9f1f1ddbd6a56b5baf4bb50040a5460a2718a6c135697aca05ccd3e080cfe1fc8f13223c27253f2b72a0643b7c67cb78aa3263c8aa1e5823d6025014be6483d5b8bbaa05c628b149fa70240821e05e5de5546fcfcc0ef453ab6a7f265a02c8467b59a0da41a0e0bf93ea74572677645a6368024c5542a32ad62de6c1ac427cd9b71c8b6da72bf8eaa89619323cac4eb91e6915c01f5d009eb88db633c2f8e24bc7fc164dd72dca358efd616ad36715c222c5964cf5ddbf98f5fff03c007897c835584f92972653c9652390645f2807806a81c455359b99cc2d66cf690da9648644946c1bb72f31ee7ef907e93cf7f01255da82d745230ed9fe00869824952d5afef7be36772c8fafe93112ce356104e1e778aa184c94d6b6139bde41958f946178868f1783b82449e5dfafd55e7f9f5583d86d2f2fbf2b3f4c5fad8e9c6bd50ed638c67a6721edc40ce71334a3d737cd772a2e734337f9ba7ae90c5e23c0d127e59d7ea6f724cdb5e10a7fac2a64e3c42253688f6d0168ecd8796a31068c04c7eb5baef4e72f17c195d0faaa51b89b674f810a04c7b7a8eb9ba50799a998d91c87ec8d5ff725a9a195caf5de689c675995a489701ca56e9a31e195799199310af6599303f722700aa5dcd28ccdc05cc6131cd2bfa47fd0e22608795beae150278e51681bd72c93b4da648aae02263a3be9a4c63b2642d17b9edb0919e98a60c8336c38b38727721242e6f85e47294cac1959709a051d00737cb5ce4bbe9abf39fd4b07416068261fcd2160772ee05318dd9015c318b098233694f885202710008f9baaa6672a17c5d2d7e490f7604be1d2ed79093488b06560b286703eeb8be17312815e755a14fe5ba4bea50b01759cc0e256df5c50f22d4059a2c9dda484bcd4f901e651e32196723cb4c9156919b640dcf63f28a38c8e1c2adf480a3dc36e85f2bd974382de8c5d96bf9d5a45b1fabd655826c57b1d35e619384fb5deb5bfa576ec988102f4904e8e203233e5e6be26433ea99f735e068c742092047cd2740196a15e372c043176740f7c0fa2585db2ab19a4502a7da300969fecec1979749f6d67063722e31b83f9adb5425c8804ca4ebbc98cb4af13bac00a840d53c0963cc5203ee72a5d11f6b0450dc26c2a40079985612b9557bf2a4def5bc005fc5b21045067a72276e0c469aef4b5ed88914519d1a798a04e221e2eae670dfc1b38d8260d07c2965d4e5e65763d2e38a79d168732108e276be063cfe774c12682902da106e7572eea9b392596282cee5be369c94c189b7107fce8b4aeef4ede7f3afaf4d2c2972e6f42a0ac608987068329f0986704cd56a4b0f2a685fc64c8e3bf71818a57b089beeb3a3e9903ddfb7a60d9c2165c00abd5e51084ac18644670d5875ea49317232cddb845d2b251b1fc24868029fd21423040de30a719682daeafaa50668887278928181599a0202abf49f86752e45bfc1663629814969f03da4f5a68149954597190db8d5281e87b929db307bd74219f5994e0b25c9e2832c44d6fc732b4a2bf3a6e51ccbd6519200171640ad617f74d021f58e30ff958e9ec98c2e32460e72cc759c3fe4027d9aa24044bd5d2b193b908a21f9232887c72ca41bdb3eea173db63fab11a6630c637d432cfe01e3bffc8e19e8b989213e3754051b360f27c0724446ecac5a784faae4a761f9215ba81029867d8fe0c661dfab8744e27ddd3d721ce755553e61b547594aa5505243f9d8ff6f56a47df1947224897176d6d29c30a829365decc7bf9f9ac92b153310176d8c5624f3cf39afe9597cac07d578440fa10c1324c4ffa21adf8ce6fa3f8d7a9c46e0b0df02eea7450c26a91009d09c412f8b8c34b215fdeac338dc1663e21667c34fd5b979bbdd31c4345403ce2b1c0c8d76aaa07e89042bb8ce8922bccc8a0ba4d9519f25a8dcb80c30d4c614f4ce2dc379b1abc68323631a8962e5348bd862c7f23c8ee38fb078569d2e8655e0b8720101fcda080dde0045d8241fd67df3b62122264246502f14209d7e6559cdfd50328026ddcaca777e60aa8311f9135c5e6b70e13290519de396371e343bcd76725fd98d6c54fde418c5d7506eaffd73382cb38c899394beeb2194381755562072aeb3db1ab11c41fc73248fd8054575a5ddcff65ce6fae88a7d6cc676e79ee7726f909ed20583316ec433022f3655d7eae584ee47156f22563a3fb227fe9b3f7208e147a2201b5389b1ee6cc0257166015e84072746299b468b04591035632d7234bc14f3e632cac2500da0c1bcf65a0bee15ce5e6466ae8f90f8bef773ac1d62ec46c356d336c6d144ddcb33e2a7c114a1f54f360f4e2175d19c884378bf635c5f0e9b4ba3711ff7dbbc10d78bd34bc8e3bee5bd39b115b515e80e4a92d81f728c4e120e1ec2b9c513c5573efafe8ff67449b61a03730f4891aef3279659090fa6771e0b0b256fee5389a24d21336a9fc4b85f86c51e7598a4d23c5b7afac609255d3fdd8b446a88900f452b85779dc725b95b64596961ba63fb3b2c38d0a22d822a7438772e39869120c250eb675e4e05a47665151abe3491ab80411434957240b0df0a2a9118a62f73b982226e0f175a2a5d2245d599cb84c8f9add530f672f02e3c3011404a03c97367b4fbd6b1168c7de53d776d8298fa3b9534d228527276322e37a1229ffc2054484f09b4085743a511db77418ca82fe84698b7a7f7231e55d01e5cf0d3e64927c126cc97674f8157427b64b2c67e249eac5b4ce35372ce50f12eb39f16bf06445569169f3c014350621054fa31d5a60fdab8f7da5b7241275b132df707966026d41b08abfe6c524d4dceca1c21bc32fc30dda28bd226d8cf48f4dbf5602d2351cda6130abce7386350d98a65b7f431bbfefd09820d72ae3f6064cc473143e860fd47c528ef2de83ad5626a6749a242c610cddc253572b9489ea803433283a6076d550272cf73edc1f713c0d554fc90be169646c6f0614fcfcbd2adc613fc23292f58159a81acdaf8b1e1abb03fb01af77599b91e2b4163cce15c05f068e2c16ee4ad00ecfd76fe4c7bfdebf40e9c906eb5c962e049726d343bbd539df0a4f26ac11980fedeee256065c08361ac5de9be46ff48645972a82a7505c1b0371cf681625ded0c75aa3304c12ba1c63b99ab2033452886186bd3fab826e22d8d87fc073f4f07d56ffb81162870803dad0b35200abc459f12725dfbf61b59fa0b55259f02b3c31f1c229867cb67f644fc19987faf9b97563540051d3aad21c570afc11e3a3101d1ae71a606c134ce6fa57066545d7cd04f1672268cffcce812b7e958d81f3bfb08129b5eef1914e05a943bb6db860bf88be70628f658375ec476343aad0f0653e64b58c284ac058316017c05b023fefc30f033fd539bde789a2a207b912b5c9c39bd589bee21c280167da409e37bfc0a282e3bd872ccae7e8913507a3923531286c30593a13c1250fa2f90d13001032715640a125787db9ab2b48af7d74c62664c0d0a78b8bfa1fe62085482a5f8e6c156367221b58e1913b01c50bf0beabc552b1dd465355fc0543ad51f00d416f95151f272310452cec98c7fbae590b4654cde987cd2d46c746793c8b1c9c95275e68fef594511e5fc1874ef24d2f1c504b9782ee76ba2b4fa4d6bb2a8c13e1b29367d61720e14f6453dc143dd78ab7f26f1b8cd0733d86925365daaea50706959734ff872a02027c285ceda72ad4ca44f3327b9c24bc8de263a3283375704f97877bf0a72012a50ea740b95708a2ee59591d8b269b26a8a546c9484d10d727a3197ed6441fe3a4775887e4aa0b1faeb11d21b907b2700b9b753bae2e0871c67ac041d7672b701e70513231ce1310b64cf5e9ad6418d826b276916823b9725265834ff052910c76e14f7d5edddbb66e2359bb4d56117a6fcb875bc31874362c70631dc3c35f229a9c6cd43f15cab91ac1bb8be786362ead02f3eae12a3862e447ddbf0e772a284bed8a431c9b668c6c34b2395ce2c59196d89e2fa172f7cf4dc74e43940722d84c2ef39cd32e8741a4f8107903faea6b8727271aee640a044c14276aebe72678b6bbfc2916d99888dec8a19af5dc59fc246cdd0b8f1a9eedc9440e9b2b2721d46706f9d8c40614c4334d02e4ed027bbdd4c295a95000224dfca273fa03563ba02c0b5ad1b86257f19532e1b37d1bf4ccba90de7be84998067e8af5012350a204fe96453ed003ca6ac69a0a044effc1dc1ac5991cc180e6948edf24552d672b608e1ec1f24645ad5f625cf85e3f6633edc9fb8eca7613b07f670ecc11bd97283c42a9dbaa98e05148991968f6e392a8d9b78a5fc0f5f21cb4ae777e1c16e17b29290c8954bb2e7855531d61e06bcd90b91e2b5f12bce48b887beae4d012a7242fe0ea6c8cf4b02fe442acdf14cec281a3e66591187b9ade44d797ab9ad8f02d17081007b520dbbf89e0fac8ee8e31e3aa728a2da744893fab4ca911076e3722a541d822f0f40fedd07762ca35259b84c95323e69b8b198901d32fdd4bde77217025fe32f89a1d615d0a029925de9b59e92f5511aa3f1ace42dd4e607299d164a9c0a26b1d1f5e53ef84c3cf5f488efc2fa97f23dd4a39858cfafc13d07807214274d3e880279b792df57f19622d98016facb95cb446930c739821d23fd61725246627ba80b2f2016bb9e54498213f5b94b69e03417b54c2b0d9dda6f409d492f3eae8b2a67b92279d935d16a9f488bad7c115ad03619e22a77f985a2e5b5727106f2ecc8e60f20439611f89d4a94da24b4aa16d9cc365f542b468f19601372b9ef28201c8a87d93a0b9bc756190c4b18c51b85885a483056aa012ea5b96360f8da34522f31c066fe0dbe05bf5f3d406b2084edd1abb33a96480ffc86d2a772e716851d871698578398b2d24df9f1c0fd21585c49bf7c85add96a3bcf3a892318534ec9fa87b5733589eb9903df93479f9df5731f925c3a79241f3943d61c7230a685ca47719e3c7ff0cf9c01bae632621a81d2a9f738c509b7d153d6368629cca088ab81bdb43a4f273a6d7f7136647ddc5b3cd82ed8a9b842746c2cea9e72d71025bb08e84526667e96cbf734ce1d0a1de7d54e70430ce12fa5106d043c729c55e55c57d20224bc46132ab8558f7b6bc64475d15f449652a510cf6cdc587268957ea79c3eb0a012fea321d02d935a2f0f18775c807dbd667109327a7e7a72986e51bd2dbee91bd82b5c7307383def2bfe89114f6a468fdeb7fa96061c1472aacd3edaa2aee6aa3eabc3cf0452139586419bfca9b836fc9ab85c16d3dc8672ed7b93d02b9f74e898105ad865ac142c6b1cd252d7911c4bbdd46ce67eb3887258f0e15c06a3cba096c3f3ae111390a49cd30f9df929211aec3920e08413d012c0d0161c06da8f7d2dec805e9b491d5b2659c631532014c89ddf4355f4cddb4ab2706eb7155909eb299f41cf49619f69f36135e969ac910df2aed7ae28c7035ed5e8208d59fd0379a0c1c90351ac316511c004dfa80934f51d52c4727e1d0c2565173cd8b839592977e73a5c66de8a15d0c090d878c4ec2dbd1f7879a91e697214f6e83f38a7d399fb0714d8b843deea1e95a9064f51444437a83a099362f9725c444d3c768d141ff153ba09f14e7d71e93d879ea69ffcae44fdce8775f2e072715d5fcd2feb0f0326fdfb085e21f95fe48859a7b034a42019eaa9d11ee9bd72e408255e6076a4f70b1c31f0c4cfc6900463304c734240566d02b22fc2f59572384909ee0f23f32007429a9075ef15130ba99594e2a1eb3ad39ac832de197e06419260db762b153dc23ea651fae56f9c044247eda89460732298fb54e0072a31a510741f32cfe9b30abf68cf9b033fc2562cdd53a2d4c0edfd9911206946a717cc4a9ff33d5366629a5f458ff888979691483266ff7788e73d9a5c009db9a16c04d6fda4d49cf53ff10165ddb43fba3b9acb9db918a34479d037b5988b738d729f60c0345c23317aebabe941d7cfe94127261a4b49ac566df402dbc072b4040fd6a9253472063b4785f1516cb0b89f7f2510b638437206668e35c4c6487ca93c04a2cc83c53628976d3689ab2df126103ac8aca7f2ff7060d257414943656872e44bb795d11aa902d5813a50329e5f30bc9c5e4f8d8cfbce2aa3c8eceef1117220c92c394d3d148321769f588e7c127d925d2bec6fb7ed81044516f949055d37b2b64f343c48d144991e1ddadbed94820d7cbe0a7547fe8c3ef81a6ce1c90e72083e4198d0fc4f73831e53c1c205c39b03cd40ccad5064cac702d81ffe74f1723c5375e9bf98a0f712c086e3a47ce946d2fbb723fb4313f1b8fa2d87cc4b453b93fe1f4f35c603a96852f5985bd9d4c64e5e25fbf4a528ff841f21dec905e0725c5aac1cb410481e8d70ecc8209bf5376f48196e587b76853216f7b2acf5d872b26a0f84ac6d1d893a779e83228d16ebd727de8eea999811140b5723bc173b702f71e58e8e46a2963e10ec343903966a52ba4d79095bcac7f548e84045ed0472cf8954d92f3a98a213cf8e81d01aa702fcb976e0f54672b402c7177633e695727c40c99c3108939eeb45e3acd78d7e984fb070548d0bf847737466b6e8b96e3681cd5c2007f9c0b7e05a659509efe8670f3bf5e0e45c740631672921bf1bdc54d4b3084bb2c459d57f19a272938ca7b397ca2f9e9303683b5bfc4ba2d315d70b0d14d3e43b27ac898acec91b28d59d9e4188abe954881493fb8b032ea07bac2ba5e51da59f14a71d2649fadc9b8f55631c90b0fd6b96558840ce3b3f4ea2c972d8e7b7b11a444bf8406a2241ef329c3f1985a2b278663da777501e5f0c47527232aced32bc3242020a308d8562fe0d866dc480f8c1c53469503e98bad0063d7226aaf8985f4a1749fdd633cb0a1f3c039e643f60a49673c080eb72d6df2c91723bb8293671a7217c90dbddb287023c9cc41c87a6c44a48a9f89cc4cf18647a727973b615cdda09c7beaaa63374fca52a14bf4cf40a85b889c5b74a25bf71211bb7ccc337434bfcdbe04b16bc273a22f5e92e0f3466fb52d31d653fb4575f6d267684774ebb2d617da1750b4dcda9a2e53dd2c8e3f6a0954e8ea7ebd449c3ce7243789942a588d9724c53604a7150ca144cc71402c3f7ef7a18c9c56f6114644316d2b5b33810466db7a41d52939be967f02854f26eb90b663f0146f83175175ed96c321ed338653ad821aa37b46bcde6eafec6ac92f1ad0af05f0d8a0514bc72219285f5250b8fd280493a448cddf1dcded9d6858aada082ccaef17fe5ae2f72c922d84ac04e140710423cdc74c578755632d58677259afd22be00bd14791272bf3f9d32f6f6d8a8a670def2ca10deb8906e2a3b74cfea5b1676fb69d792ac72cdb38c3b6fe50e0adc4263b71861837db54c13ca7b3e74981123a2c4663b576f43b70fe0d99641a2c32c81386103d895d62b5b05b73fe5944e8cca34691fcf72bf2103d4bfb03647c7c12af8fe2761e3a46a34c33d7dc69d3c39e1f38b2738723f9dfce40132be18dfb22b719ef10b8d7dce79567f9fed5244ee82b5a2f71272145347bb07480514b105de273ece29b00c93d5c9072a83d7ea93bb35beef1772ac94e202a4a9787a9231af7a2acca5c1d5d125d151b0c39b4a4763e3de3d7b7282abcecdf7f4ff8f423982cbd2691c8767835cb02c562bf2a89b9a99aef5fe3755201922bc2dcb65f753d031f6cb9b0dcc0725aa8055e19dd60196bc654cab7244dc3bf3c934925334dc406d07170b488c6d4bece53a4b6f0d42387592943d51a5b0ea346e9c55f18a43b6038a08bc49626373784c1bb691f9e21f62d76b3f366468a57581b671555d9e295fbdf632fb39b794e0b14d9d9e96d362990e9e38722da6911320e572156363feae0ae22f921a22db3b8f4b73239e5233d009b9c6726df7591901825413c0bb2c41472db70b82c7bff324ec61a8ec9013dd2ba5e27224a07059a21f663b6de580a0215d6b7712170c9ffe9c24226def73f136c2227188530403589a9c0373cf8e575d1a3831317e085131d28793ce31ff2ffe318372fb038d1247ba7a8409db0c35d4667aa8620f8bac50acdc02c6397ccfad6b7c11b204afdbf48e435ecde55a1f58731e6cac246925a90881d89d3c99359f1d9972a34452cdf1f320a4e2af07d34ec651a4635a0bf2475fe2771283e2a29b6e14165bf0ccfb46b7ac0659f67302f330ef03f9993a2b02ea56cf18baff52e9f4f1695a6e33a73a4fa24d7182c2bf63d67a0d4c8ca0ebdf4d2e2ee6f1025127ab4a3f04c2fa377b4ecff688a050a5b2993c89a5eeb045ff3364d0922d5b87b91d9149369e512fde14dcc1b90689f6bf83d4a0c4c38d6c7ca61a7f6adff0ed25b2294b02af3f02cd921bc6f03d45e1583422391bf94a0e90a1356634bb77aed662d413b87a577ee7047dbd397dfbd8671c795cb6bc069d824690b5220779f3ae74f87288735165b8eda13f62f32754695889c26ae063ee52478816815fe55c9122cb720d2321cbd22d7a4b82e113001398c8d637ec8b266d4b64ad20785b6702d02172d4e636397b27484cd12bf9c761951abb541015bb3ee6ed46f99c2cfabef3fa10d108168b2f2049f65e879a7c826d44cb846e1b682599ceb935de6c2df1769372fd302a9c90b2bbfcfd71a50a5a60cc2f2e2cc5fd92eab5170cf0b78145e780299736bc40660595bd92b00256441640b2ade918767a9b69ee553358a30ddce0729034b6ce927f1a7c74bd6f37a8f477cbb0ecc08a852d2bcbd1586c01e486437209618881b6a05b6fcddd5221f77d2455cdc1f43d16c96b78f4b21a87d1ddc0551a0ee3fbc6d1a4653881898da0704e9daacf9d4920f2560ec218236e86440b3a5f4a54f33c20995ddcc149d8b41316e3290f959f7e143619055041055842bd72f3e11471f2cb116aabfd4935cf96dd4d34de1e752ebede9d4515f64c8a21fc101fe91679c51beaaac493ad90062796ce04c3450835e9bc02744764d08b215209d4d9709f8b15de699ca8a3a16987acd6c2e9e495994967bb1410e12791baa97275f39b116fd4da586e027eba8e5c46bdab57f67247eec39900dd5d3b8a53d47297e5080f99d703c859bc0f0f2f845a20511b90cc69247c7ae0590a2a7734fb2fccb5357703348e1d32888febba0f10310485b679a0e6c83e0d8305ab6e1cb127680b67fd5925405eb852680a8404fed6967431d5ed5d712eae5e8e58a1c2f9724f9052bb1788253d491b043a90586f94060d64ad681b8af8f730ad0c9c99d4727bbc59219c5f4d24a02e8595ee9e69e1829079543ab24b3172b3fd8ce23efe6b26a2bba0f943d5b648f076de596418c5002e7119db49a9436e5206a98b50c6722ec63b49a79cae736db58be9625e13f9a53f0bf73b38a0b13bffb1e47faea372af3c142097753de4fdecad167b243f6bb6c2105aee8b57c39f894b0c9bcee1725d3bc5653de5df33209e68ba614351d7e9d7b9dc906ea26efbcf691ea71cdf0e5ddf2bd91a781cf207a2a041670cfdd1f8a1d3e4f5f12d637f1c1c065aea2d72ac3bda482719f19a0b459ea835ab0a432214c5768f15a1a5fe0d36d8ef1aea72e143968cca75bde626730a307e9674d4bdc0760f1a575bf908484ae9d784af1ab19570fa4a5130ce23a4ed96e1df597112cb8d90a3ba538d729e12a8c62c86721c03add4020b172904ffa10378db73401de782b4d11d11d4a2109221ab8a053a624f5097d7d7e3074fc2356d4d53c6d4e226e2851f1602f26e6a24c66e81a20014d57cec7fe0a437ddc911321012e52068110f4e9f59a441b78740d3aa3ba1720780c6496eb3e46081dde85418c508c7d5da4599d0ae5e96268148a816fb6443bbef66f1aa288630ea19ec7622f9549a393dc7044f3d2dc6befe218ceba5d07266854566d3434134c5f6806160269e7f518fbac89b216f34bfca06e2eac9b1722b96a0572c36ecfe8437690a223d8204b01acc0a1a787edd511bdab885d05172f75ee4e60cb468114f492d831529718389fbfd5fc09290ca83c5ba13b699bf2e099aa8e35661433e474d0e646ef48fbc464efddb2293c6f7c5367052e852d5726a2418a0eaad95816ccb9e03752d6d6cb448ba33e9c08f70e3bcbeb3aeb4d86898026a1ef354da7def4904a7e06d8ff2fe81e02a2cd97e320cb3055fb7faf81c0e4edb8a68207e36196002077a0079388e1d2ee314ea6a439eef79ea033c7f72c4a0df8470b844e0a9086e28005b3292bdc5fc697ff8135b5a3ea97c07ec3568cf69f09b35d963fc7872bf95c9c75d1a0ae8b83b9bbf04c3a0d0d6fc66a9e372bb2c8125748aa9453f1db0a649dad68cb88c132cbf582b07c8a250585a9d34727a86b76338d65b4a6245dd5d3168d9a207945dc32d9c140e967557af18eb560769a9b74474acf43d9967080252f60c5c91af64aa0df4d362d52ed86d5799332498d5270c93a81b233b83f32e6a3c5e9f9f58ba5a3dcb3f45b21a13991c2c990418983597567f552e25ce0c0d4ed8b805b0cba65f20c2cb0ebc7320544ed08f2ef2c2c60f80e02d7d027cb69af3a889284b2a1f76dfbcecefb253bbaa3a8e8172b51c94d24d0f3fe1b0d33151ba0ed9e90c36838a382b88cff52610dc992a80728964d2c455e9da607460bf87302228f44a08eb69cb88d110980b74f40be67f72d751b97e8ba0a99e7e5f5230168b5467d75e29f32f4900a17f9ab6bab8ba1e7201c1b63b4b52700f1f4cc3d66acbd1e2216f610fb0d4a4f3fa1d337154f5d5725bdb466f9c0d77b6ad5023bd11986a6715793572f03d20a99f8f486f01df1b724fc0d0ab2ec774f57974f9726d2ea6f20c386a53fd9dd663b8742f877f04a9726148620305cb32b8bbd6871e2052fdc857cef31620f0371b0dba7aa4ab71f5093c091ddc736959d94642f1fc83cf3bed866ed58b399ffc7fbddb7b16ead28069cd4b73c21014e96a331de7e4f1013b9e7f8b46a7cf7a261fa620b6e6f9ece372cfa83ecf12eb9ba2e5d52711b053a6f7c7e47624c115b1a1d1a08b9bebbdec722bdf04ddb82b73cc38582320a994808c660d59bb81e13aba09d993de63eaa27257d02e9289cf3865ea4d4edc2ccd29b12a7524f1660014d24f8224158692103135cb63e92fb78c5ebfbda00cb9f0594fa5bb6f7999f70ebe74584d39449b3d72b9cc476ffd2629db7817fff1a1ffc2d446825381c1398ee20af15bda43296c723a6965fdd1a6a7dedcf4c26aa94f1037b3892b15c27737116488e3952084ca728ede8642b46b612a1457040465de02866981b8d69d8b3d2290325cb8a755e73ab6ad1851116aa610d1a3970e1470fcc957a4290a59c61907c82fa23af7645072ebe8ab9fefbe476bb8e2643a8ea831150ee180f90ebb9cfc9787f099c57a9c72626c00dc858ce0e053417f496b06a63e7404e030fe3051d666feb3cf5d43fd595f15441874a8799492fe83b5986a3e97b5cf108d8a115c2c19cffb281ef9aa722a71773b386c192bedf4f5bdfe74fd12f7c0d7bb66b0c73d3e7443503dd6bb7243231e2d57b8ae0efab388d5a67823050ead8e9d095fbc8bd071110084b6e27233f7467a4a7bbcffcc566c75c3ea7dfb4d943ae8da77b63706ee91b319f2441390a6ba7fcdfd90310f40b9b2274e3a8cb51ac1b93aaf3359ff62d5427489a672ece0d6db8252c0639ef6e905ed3e96c838d9d5971cb89ddcf65abc1d202ea072343101e3c183bb7c4aea6f31c0029ac2d633db9cae78e3c406f50e0f902938382664320416143d8b3dcf8465eae4e92eb753b3b64875cefd41e71f78a65064720b13e8c2a37a20b1a3f4516b8b926da875cac1764204c91848343c7bc46b7e72e2bfd784c33b995b6f4099d7ffaa2ad364e3d9c67a3d639d9df7e6bd658d7e72485fbb12fe316087a054a9a4720336b0dd53d35f34638425f350c1cced786b4cc018207fab1b5884f1092dcc3d938a3422ec6f0f986f6a96775e5c90790fa472c23b097083ebb439fee484ca0ee68937096df1d0686ebd9fff58b1d95bdad872aafb8fd515d3b9882b5573dc1533fe231ce6aa738c8e1b6a758899ccc775f66abbb4da519fa73c4149f60f579ac5febe3af465442158519906352c8d4ea72c23c2bf1ef572fd0b182ca9a87c6a0d315052fe950a20e73d550c3165fd8ebed772685f65d292a46fc10266f444bd47db3bc26ee0cc599c792fe51412b9bd6ea52a46d229453c220b1d51edc5ea7b757e8b5c4c7506fda1395ac182cb420453b00cefbc336e70c1f88748f652df673a612c4e3641fb7015c61357a9aad983a673726c4188a02aa554432ff84e161d91e0ac51abfcab16af242bd210efe68856e459119658a9bd9e2f0128f5aa8b5552a5abcaa9d9e9e9e5e8110f9a022c779b2b72c8dbd0ff908684b5193a49c08041ce0e1e4fd72075b60e75b876e4844c709213652ee2ec2c4b2a20821afcc6a814ae90c0077feb52abb9411896b1ff9d6f9572a9a61ab5aecc17d9246b3d4320302524b12af3ba6dfa54d3431c32669f115372440e002345c1e74a038e0e3b38f21ab28a84ad3e29e8bb800c249b581a669472b39c69308839cbcf9036d9942edbbd095c87b1633a9a76a26bcb3f1e31312d277747640f93b1bcb6f5fed9f9b6f80f752589906e05115f96d37e6e1bc48aeb728524202ac1edf5333c347a495cb7b853cfcf5ace51723845916181ad616b8245a2ca7461699a40239ec0c09d5be7282627c8a84455fc6f60a4407299cff0da72b6a9a499494e83f5705b55f6b15e947fd5f9a2b9e5032fa453b22e3fcd3a9c725f233bb8c569257d6eeee25a90041ecdcd01b396b341a82248bfea4e77a7583a635a154995eaff8c492dd26ea913f2137b4e22fc29d95de630be749d4bbcaf2aaca6bdcd3ad1abf6f772310e159e7a2125e66ddec20c85ea001dda87c7622d57405d4b6caf9d4f099f7c47beef0ba0857ad5f640dbce2ebfc43a6d9e72ff59726e88c3de1df6af6b5ca35c4c32788b1dfbb431d8270d928be8e7db28641c97729f38b9aa6ed606d0017fab38918e84da51e9283a641749f17c655eea22ebf66fbe0b5b2fc2fe8ea5ba69806286b0d9ddef46fe1472fddb984352d70689e76472ec7a620ad83155f9500323b1955ca69b76092406f1fccf28a8c6049eef38261854e790216f5f22f6c6a836337425003077b7c945b46ee8cf5aed8b678d223715c1bafd992faacbf1e308f773060852823037642ccb0758bb65585cb1a9ea98612b8f9b1f97faf8a841b11ab11ebe9b61c3d7633751da3b83f989cb918288fb3947706f8ec6f016bfa350f1db00dc31b58f032b00ad19a80f5d6554d061693c721b8eea2732a65fe3ffabcee6985630fbb529ed030dbe3a4ce030b838da51ab5b9af9d54e225e50e8928543eebcc38a4fe5669d4260f04ec5891044515c1e1172e3c24bdc80dd55cd0481b7a4c19a81056eacb41c19235a1231d8a9d5dc2dad631a8ee158d5d0528530d71440ffba6c3d55bd45f5a16d3729f81037776ca81a722d5e01b2bd17e82a17c9de0cb4908691715cfa6450db7f83ff5d5bcde9ad0072e08f503ba51c3038d3118b5aaa94b6414cfb5791e9b44b88a1cfb8f374f58072f844205250264af1e1770935028a2a787110a358cd77e325104c264875b0e172bae6eef3044313f6abcb6d134a45eddc040dd7829e1727e91910e4f2cb92db72702169bac8ba91259d65af162e59d10a874ecaea7504642d3ccfad3c37d56d7295c42a68a993dd3ebd5011ef8c7311e0ad30d45b95841074f56a2500ae3c620205818e90587541a16077fb77f40f458d85bc61d618c95fa82a283422ebf4467255a1bcc0f47b0ee80b455956171d00bf9d4c917d80f1e8902e899155802449283fbda9c91fd90688333f1323a325f90c44927f7076b74851274f0508546077081e48c48921e45efc2d6df620a37d5c59cbfaa1ff514f225562df0b12d1a9d472b9e71a20d9d522c7d245c5d1e6cb95ba50190e0f332803c53f90103a6db855675a9a81dcea0d9785d66c99737951ad8cb18f769e61e2e8ca4e29dfb8200f556923d410c74d60601e18274cb60c03db5642fafc6a87fa375aba89ba2bb5f30b72bd3186826c9bf128b3aa690fd41f0ddf7bf04916e77a0821654fe210c9518f33a28f5c4b6dd979bbda00b114f2b0bc322da0abbf8d68a8a8bf7387c9cc1385722f4b3075d4b11b230aa358ca2fcd90e7046d63bfb152b4760394de755057bb41a017d0090b5784c1ea4b7e8506b8fe819997a4de6ea541c47dca26fd6fd750729dc0bd265c363d83d26973abfdf31691744b0c13a9ef7cc73b668eeb1718ec644624bf9fbf5590987e7f8ca5fcb83e616aab1450ba672a67eedd9a5e6f84a872b4ea9d435eeeb61403cda533ada9fafdfe9c436474fef12613d0f78bb118a1340d2b2c35eafc48eba9ceacd25ca45ab36042a754edfe0adde9b4e86f24098a72d41eea6f92ae8365204713dc5e9585b5d1c6c400cc4170856f137c1c07d0937209bb4fad905811969f49b0f6028572047f7ee9ddd752d68acfcb2df00dcb1a728493e30fd3f7dd978eaab2c3a87b5fc2f330bf7f85b51c25c7ef9471567ff32a56efdb58b4a51710db1aa2d4516c1a2b144f5b7b9e302402a668457edada9172b824046d6351b2620f24a88532bef9ee6cc4c323fbe85177d7b285a43f788e460a3ce877f024da46e7b7e765f451b7c67098164327aaa1647470c83de39ac172721154ff3a17188d971131cf0c93508ae5ae116bc1a731b49d51390775001d083cb9746aab82c33e6be57bbfbee8b3cd7432e579d03dc7c1346ad35c403f0172d6d72acfbdfb272cdfbc51ce7be545deb9d6126038e4ac0d9164f8d8fa247a7221f17b2f6b69482da8c5871fe39ffafde879efbb8bcc61641f6eb2ab0c978d64b505fc0e791e5faff0a83b07613474580443296b108529b0b6bf8651c293c272aedddc37bec069b37672367a881f5f2a4def587bbb96de2ef0ced337d0535f72acae034abcdc0e04ebc227cf4b4dbf065ca12bdb3f09d51b15f9f2a3b7b777391b0160556bdf77303d5f636ee73458c907b2061d3c66fb86b3d5fac771626172702ec12703895a76f88e6dbac0b0c291063b89a3102ed2582c685333b48ce83d06159e0c9d6bc4fcf38692622f19297c7d676d80419109b105ef0b21618d5072df10bba37e73e8dc70b541360dc973414f0e36df46ec227c2c89b2d05882a5095514a18c8c8921dc762914ed290c8bf465c201cb85ee5d22ad55929f04e39d72cb8cc4393b841dda93944d45b1cbfef540ebe9c91b6f4d728cae30cbd8c1d7727b4e17083e47bcdb061abc70911f98292dac71a2f31c583db3d09d4df61e9a72522c1efad711ed850ef64eaec0d56ea82de67bfbed69e9cc455c428606f09b456a563cfb384b9df77a83e0df41029dcfe65abe6a02be117c60114368559c6a72dd00393dd972d6751884bdccd4b25dd9ad523739893fde9779bf4f4323fcd33ef3b9f0c8e6bcec36e60fb6fe391e41904be103fb041524f90b4a09b94a91b57262544480ba8f83fdf34131f48e47c6cb65d23f2f3e5f016335d2aebabf261c72b64c6b432f441fab3225e0a20dfa98e2189ac375a1623a9a519c8ef5dd06cf7296e6ccc83fd423d3681e9668fc9e0144908a30794f306f678ffbeed1bdae1a72c6f328eeba7d8dd1487c78a3d38e3edced7d3a4b4d8a5cc5c6a51f6d3d18ae71511a3e14965f1e82a17da1cf65ec19fec28de409755cb62a537c4af45800bc72dab4620bf125705056c62f54c0d95ce8fb652a077beb6de1911e6a3e4dbeca72305eacb63b81a5a82aae3f165155bf102adb27ffafe44b1826443e29e5c8cc72bb31e9f2c4801f021a63792e8520c55ee8e01fbd3986d12dfa0fbf135ffcc57268dbecba066282abc3a5c90c7d6a3390a5b355ca772582bba744bbbee1ef4b72519908f66c77aa48d6149296ef8ea5d755e38bf974fbd8e4db72abcd18874d720ffa2cd3dfca21e1c8041a0db1e05fdfe7ef553a8791307e51403fce360bbf7235b446b7257b37efdb7d72d1d9f871defb5667b857f2c19fa8acf158f64f8872bab69a0e186dbf1f881d3a03fb9cc3d5123aa5a9cdb59c46f0c17dd4275f6a381444c947c612d98dc08239d2759d0412a352c8859aebbbc217eed6b2af58b0228b9e6b003b1acb4a9a12c52c22d7ae3839494353265deff175d3bc633bbcca4c459fcadcb43276327e224619ea02f01cb37ccc41a39a7e67bc943474720a927201c333c9c3a8c30b8cd88c27f9db5352d30b0c426cd89c0404de21f0a6351572fc18b2a7b730eff0e04630b1decd2328ddde51dd60a3ea45bbaf944b89aa9f39a18f0e8ffa26b878ecdf246c72d4e4c0356a78c1fb1098a3096017b16bd8a467c416e94360becb7cd6a06e1ed2ca0a4723fb7bed5267335c3d5a098b1b0fd77288690856fbc259ecf94e9c800c903eb7f6c5e5910e63dfee5e44db5aa61a4d726fb874c8b17cbf457f240b3cfe2a54d10b20e3c91dbdc7083611d3f3d5b655726d0c44055a891bcb44ef1e25b485fa4ec1ebc60ec57f08561f82f799774a9972b745c51d1d7520ce5a2787a3a4eb68664848e0ed32ddeda4b7b8b1bb722e4d72d2a9515229eaee27d5731889e0ee35e09891d5a3bbb5aacbf10b984dd1dc375254b86bf4a2b244753e6ffabbc5fd37135801af3662b16dca800c8b2bddcf682198ef964b65dad64c3e783a9cb192fd8bc73811309dd0280482b1512873a089723705345d8062a840b9a633cbf170860e6750ce8a976afb843f41e85f20386d72f2b411abe9b3232aad943386763166c3e343938912127b311cb74b02b22d911e2157dd9c9fa5dee4443b6227ba55cf6c254cc04e51527eed375431cccbe30a02d7fd368e00e985016c2f5e8620d407dc00d1a245ea6f2f0a8ecc9e010f2c4872e526abdfa93e90abbcdbb863842d2b4888bec063471ed180c2f527201923d64da62e5758d2f057df07b39b1ce6028be103aeac2dfa25e92f203f4698abd261723c230df966d1ddebd703cbeba40d0f67aab4582d879a5ff07ea299779d801b3713cda840de5bdc2b3649c9b780aabcb091070840539235c46bd8adea92e53d1669ada9f7acbd7a6a284834b0252f6d0264ac73d5db43f972df2e2d89237b6d72dacf0b6e71d73128c0837b4834eaecf4a0afd32d66d0b5a52f661e69666b7872a97484e277880e15d39eeed1429ecabb29000df51e90e16f701ec728f5738d05e4a1b89104f8e9f85e8f5d27867c351034da3f70e42c4e7e263fc8f609d233532e2f22b7bd18033f8626fc0689685913156249fcbedffd570589fc9cf1e6797267de7d2697760b30fe9787ca4f2075811152ea95477927ec9046fdb5527d9e703494d0927a6086a465444ea1f538c723d7676e076bb99b435274f284050d824964b8e726b6def1ca03d66035b17e3e397c735376de9d1f9ff81687c598475a3314d034cd5d0e0641c01d38a86e8e0c05c5dd997b16aaf9eb7c6c357d4434c613de63ce8475b5daf2943fc4ab4044ecc67811b5c6bd249bc6834999d143c6126d713a1f7caef28d907edb45efdd866d668c9ff6277f68f4e94dc67c7606afec723c2e6ab26ddd21191a8d68ceb9d05d2de02c2c2a575ce27e1dfe308a7dfe970c5a396b339450fa1dd4a2707d4b665c03f72dded47a7fcba510c36799fff0d772ad0a96e470e46da06644dcc5626308d1a9e484cb14579e1e4ebfb48421e3143877722eaa5a4a1de0b45ba70c17ebca869e6f958162230222570193fed1d5966f97943ad10c4b6b7ba9554ec94ffa4cc0512aed88251e33e4c066ec4c8d8b5e4d3f631ffb93012b08dd51f6d1a9c466783fdf602f328d6cff99a25ded3382a972353e1e3c548d08abed89f77d7a2777aded611a81ec7b48e34f7adca01b5ada724c4e9bfd78a468c353bb19b3b767b5cbaaeff29a5b639a1b4e2095afac28df720dd0fc201fd46ed50922720f9375021cc386e017f81a44c304bad28e16707a6b686e5fd9e83008dff75801f8cbf5a16d0a87875ea03670dc136b48da0970553c6ed214956f3b72d3f83320735d02c94845f0ea9077e3e722508f411fb5db394534f8dcdfc095e6b95884acc8dd3c653c43f719f7f9e5aaa530f8b6d7681fae72acda8d75a2d788324c1e1a54c05c8ffdc6eef0d61970978ce4449a66abaac6723457112a8c665f2e98b3e658b2ff22405f47059bc52ea52504a453a85d6f2d7294debd185ecb4978256300abb639b54275e7368ea2acddb3ff161b197e05b660b932a6be983e9d54442f12f43ad5ce21839b35beb96d18b3c48f5b6166a70d72727b8f9c86dadb43023a5e7160f5c53652cf75d07af2295e35474513180b057240089481c0f2f02ecbb34fc785da3b7dc158e26a3dd24e091fb5951930487572bc1b361823feace7895b85e15e68eacef540bbc11932810d0ee8f450d4750272b3a705866a77a3c1b95593da2215ab53488b4b41b4598f1caa78054793899272537af5c9c78b0f321fd66cbed4aa6aa12e795920d3ff336f9287f0664652d672f306e73a20d29d129f242699ed7468e0e0c1238bfed0ebf73625ebe4c5b0c2727378601b8a6f3993a7451e3386920aa6225b14c92fd4b56d114071ce8e470f061f29cdf4dbe13a4422892e2917cbfffab8693c65a304445b0669a1b063b89c4dabbb8a1209cb877eb33ac970ee98ac6f03a099b154d58ebc018dcb9ca0bc2f0edf1952e5884ec4a06801e7d5fc42e8487078e25282f2e9dffc465011f62bad2baaca9e8424844336ee270f357f4262abe3773c5172818e4711e73bcd7fec4e72e2c8d1c7228ed2778c32511edb89a4d3e55b650a2f57aba62876b68383a18672f9ab43429fe60f1566ad4f375344101b1a2476b5c5debced45dba0541155ce72ec1b60987d26fc7505856dbf43789a4eb9341ee0ab885ec31b2c1f448d93ad2f87a8483a13cd0cca0ffeaf263f795defa6937f2ca1539c905795ff6d3aa68a729b5786f73e0f364e5f0ac9fc45108fb1cdd0f4bb3947ca4eab105687714351384162f5c7f16d4f88baf39d71f171a3c7487d91d02ffdad35f9fb0a3d40a6db7275b8058717333a195fa286ac0c4cfe0dff74046225f1631f898eea2b6afdc2724938d4b2389d43d879b8767da9159b58e40a203f7f9aeb6cac0cd10ce45002720380a89f2bf38d3f7c2ec79f0973f8556e8d6b176355a47e1b2a768679d757278ba6e11c8eb2ce8f6de0ff7896a56682b7a1e13c1105919a5dddf996b8ca8d72909fa9c4751b9fe64f80aab631e5b5fe50c0e9cff57c37bcb948762dcdd1a929e8eb8d3b8d47367e7f5a640ae8307d9539e22cc42d8c68ff27b39e2882854172d1ebf13883a342414213a6b3fede3ad8b72deab8d7f4f762d31220bc03eb8c1001ae13ad4a933238d29480dc95ec4bfd273ce4eab3291b7f106a162970ee886b0ccd0645afc0e5c35cf93aadeab3efe3062df5df9b9522165373aa2d55dae672fa33393bb96ace7736fd1b9db585d9e96aca1cb3f48495cb14b0bdc3cbd91472d211a01f3fa4b1553f1cbb630fe84b771019c9d5fb0b2c29a238c545c4385672c0e351ca82950abae5860fb8d5b56f39a1fb1977c18e42b5042b984f2f263672dc49448f5e980d3569e012fd55c51bff060c463b15fb4e043c129bd3bc163361757fbc912515e2894bcc0cb13abce9f64ab4b014a9cc78443376b9fd07ecb572f05456e159e80d1f03c0623d5f581e5cd89d1e38c864c118032c9509b3f62d298000570203c007dc48707e9a7d2769b077618ad7fa20ceeebbcb4dfab015db0f3f87fa807be49c4b9b3d4a03087417e080fe66fc4336847f70d03fe7c661205edb47bb57df0977ce6921da77022b56e0f79041e7197cabf81b6496a59d2c197295c278844e98f9e09429c4a4a031aced8b7306db9923ec33f64ae2ce95e16a725595eb54527ae9ef0c6b102f887851411aff0fa067b00598d617595255a39a06dcc3d83c702b533b618a248f3a45a4583e57347533f52c50dd9ba6245564fd6825f7e12cdb851373eccf3aeeb728e705519134a4e22972059fdedca3d974bf1c1f3f69f329afc4f471356751ac5aed0752f44f543bf56a54adf01a65d24734725a9a7d1044e6a1f75ad53982a0f31463c322601a110b02173d31d8ffebdac322ce4888e45aa4b96839322c6863e9e50cac9a3f63202972d232fa85eb1c92e072d9c6f0badc8566ebaf54115f85f860548f18d7ee68d44b12d6252fde16891f64580bb1f2d5c45089f32edf8e4df538afd94230d25775d052f4ed7aaf3746ea10d573969e74d84ad85ac8d50183cae76c8baa211092c4485d28d89efbed5a10724ef9b746f90f2a47e601023c401080ea1d9f17beb01c90c7e8b6c83c0b8b0872be2e0db6151651dd6a72dde577c75cce418f311a5bc8e8e48ae451592d551b198b7f7f751472b449ba5bcaf4b8e132d55a771c2f890c0faf3edd1473cd3f3572e7cbcf49303958567da71783e2673aa485c6385343da1d513a1ecdf6822d1972b73733cae2e0d839c4d46b63d82ba54ce781f21ccf83302eeb3d1ac48ccae132f9de7c93c40142a9ef0de1333352caef5689bd767b01c303ac6b6efb2283da677340bae6512b74cb2144617ffc447fbbf099d3a42f6e52d7595651c098d50b72df756f32fdffc65e1285d4859561f4f1b5ed79d225c1e1e1521092e71983d4721274835d6dbb23fd6abf6915c43d0dbe46c608f428683d9ee3bbb5c782fea73ca8d55726ac0ed0bafbafac76cb12e9cd3a8320a7940a24984afb06aabfdeb117ed31f08b3ed8d1241fd2b3bfd006104f927d3a6b691733fce489281706edf07242abb3552e2eb3904934358e2742a41a757f29033cccba133d2ff6fc2004ff7283fd570df2791529e77097366381a7bc87e12e3a68123f5f98321ab35fc5b172d55d5c435b6125e26a0e39e389bc157adc3c33aafb4986c1bebc28ada138647289745807b1776b2fb44367c1bb288097910b928e4f8d97311476aea206004a39f725a107233ea586051bbc549d620d6d6d8b2fb9985376b3a185d5ab048cae72353fde5f26ec8f0a045d20cd125f496a872ba40641bda33f2119c4f991372c726f6fb7be7086ee1c48efd86f83e65fef3dcd28931a240718dedffdc4fc04bd296a2135d097ab21a827fd3332988a4109861e847cbfc9b722227df716091d9872706bc5918cda3374cd34afeb3fbbd6be48baf705a2ca138cc39a740f760b742b49c98091edcfa37fc62e13418134edd2ad394d069b899b11133ce303511a507294f8c7edece587664ca0134324885a311d02d44b5d92521e87affce1596d10723966912c3e597ebc646e0d87070b3960a1f6e50be61622a068e2a9114616be72bc64830e92bf6969b9ffadc4cd967444810f25bda2f6c8c3176557375dcb3b728801bd4716e1b852df1793f40e1bece591fc776d88db65c98ab8e80a66b632728f4ec040aea0146314573d7ca9caff10a697340c5c160e43e60bd9f82cd745729da8fe4f18730f2a5d966c133e05f2b6f1a79cf004245f5928675b94c6be60725e7202d8c700be09ebffef94eb1ed275d3afde400f70badfaa198244bbec567257a8feca786a500a023780191f5fcf0a5cd197a9b49ff3db8f2bc6d21d261b06465e861a6e7de5faf0738fff37e1634dd80feb7fe8e21182985faac3ab21aa72ce829bbe3a9fb85434205bebde5d3050625b6d2422bb9885ea32b90633769d72bb0864b33a03c0b102a3d3e08d1795bf46eb0e6a9c6124f6317aff0607743e722273eb1ae688f59bddb36b06ce59ee37e621f72192ef95e2d2ae48159b73397238792e25d6557b250c07115ce3320864848909ae3091aa85b9622f4ba0ae0a2e75d069d2ed6fad7381e9445a478255119d05b8e1ad75f7afac3385c3220c843c82c8188dea4b4151ae287955160baa706c153173a708e9cee75c3359c4b5f90e0d253e01c3152634543edf6d047daf71cd2aa02e12e737b88fbfb4689c56370aeacbc4a8c61067211145f86ee1a4c5b2172d7714d75583e46bb4b53a99022272670ca44249d49a30a045db552ebfe6dfc266faa2e77311460994109e3dd3d23ab110ad901e92a45109bc0874eac9f0113a73214fc72c16e6ad417d84e6c35a37da667fef98f435528d6a2b153385bba4cc98e496b7fd19cf9a85cd28f6daf972207deb5b8c30bdfbbc468ab638bedf3c63c4ddf2249439138d9b06a8d2235d72bf68102b177dfa9be09b314dc4b18ef134ee7a7209bd8ff42476b16aff641a501c717b85a95239bb4a801a29d7832eeca02dd5886b6a6a456ee7113f74e8ab72b5c3b53025a4defa71d34b75217d30ae45714e08a1dddc19fad2e52e56a14d302c003a28f0524e719d1ea4cdbd475c049700feda2a5c9714923f66371649021716d539be9055e560ff5010e8757ce74293e891bc536f27235411971c9787aa72c7491cbee0a49c6d3bd263d3f6521bb244bec743a3ec16c655e3e97143a13a7251d6a5f04d5267dcbfbdb5d4ea719e922408f6d2c7b6ef02ef19a9d44dc19516ec554e8deb1bdf17e34d62f8e5bddb64cb7f34ab5d4240d4076c4e4ee386dc72cde3e6811f0ca71778b3fb494b216af5fa9f483bff0ff81751d5c5bc8982e6134189ea17e07da501d5a8c76b0461963d2e4352e2c87a5890eed06d6cd1b0cc6255a1bc9a2b1f5953a95c5880219aab8ede3ce25bd72a042ff39427bbfc45aa72d49eb29f2c0901dd069226a2e216754bdff448d996c0f1b643a24a959897715f5337652a1b14280b694736c93a5c3084818b206fd0c7a30c4e4cc4e4248e6443ca4d2ab00988dacf6d49a25c6bbd74b7138f11e6acdb2f155dc4650ab3627d1ec9b16043a66a22de0261718d3568bfffad0ee757b42f441015790754d421eb728ab66cc99714e7b5842a8cca4d1e2e8266a1e5a22c21ed0e68305ae83c7aa550d723684627f96119fe48989d9a278518fe2ae4f9b18427cf7044ec775c151f511bd400a752e96e5011734380fde509e2c386acf4043dd76887a6a1c1ad0d240f4d5511fa64dc501e7d1d905fe555fbd10e6cab99a52de2a8bb6d16d5c6241d72619717c2092bf53c38da25632847f62b9b9199776652e43110bd26fce38693726e67a6a2f3bce9316feadea571fe42904ff6f4104dc612f84905adb0c1c23c724cd28e862f6ae9a7a1b1704e25103d724d41444c8bca010f7af4039c3e9a21259b8c24c3f3b708eb39458cc1050ef02beb71f253172c4f276c405c001a312a6a5920c48f25b02dd9c8dbe606683ef46a740e6781e4555749dadd672db5f1be1cc6702aca3e957331185143be782bc305916cc36eb7cf953a4321ea0d49c1a14425eb8561dd951f7b84643e757bc20a1792779b6f7e417f0077deb56f68f09706338ccd0c7e0428c1dc5186485d491a29f5b19678a4c0ccd00bff94960c66af4b59e80cca41ce3f80f0b938bd86097f19c42b599c1d79baebcb74e4e38ed38c725f93a24fb04096717dc2e99455e304ed205dc3f38357d2ba174df513a0f39e72d9f004fa482a2db5db551e31ac706a719787c6bc1f3266556fe27663cdd3a672442cde30d7f77451b42574edf615b31d3fcceafe0f5615ec58215cd88ea6fd49ef4c1db3b94b3ae506a1a009da10bf1fc9bb9dd193ef9a045399858f21cd5017d683bd9ccb1fb4d3e9de2e382c8d7eb37cdce5af4dda57d37bdd6e143c4c5172145f1a7309a90fd828f44be67f0d391ec91f458c207560bcc88a3d867342aa298cac112ab9856de56296d8915ab3913c2c7dc2033605df12e3aef01a055ddf59898c2878c38766751f99bc85190cbaa13845aeb824d508922856dc51e99b737259d73afdc552d818962df585de3e1404be1676c19df8b23c5442127010a85b7275039f018501556ac619ccbf45fb8d801de8f098c4e42591a473d1c39f32e61e7807ea958e6fa0df7543d0ef952d255baa6e152c3fe3624f1635fb513dacfa7275d4f93e0da769f25efaa45e80c6ef41278db88f5778794558ea9fc6bae52372b5332c597bf361018c33c042923e8fc620f2f5181d1d03b48e5c6c34b5323c0a830f384b36e94422f55af5b45b7292c6773b9857e93461e574ee86992c6c9a720a703bb97a42e03dc01a19eb192faff34d14d04716b7c4da99c80c391e65fc72ae744fc82a147a80badb35162d8a7815f3b36740917db323daa40ff85c68b372e40bce6c58b528e007d75f376a507b9129a14c97f33b7b7c45389ac8e86ef569733f1b6921492c0f3e2cedc30c9fed1333af5c1585cda8fb34d010d839cda572584408b7d1ba2cfcbc1900a01e0f0c407652dfecd4293e9f277f096c8b92c572315d20ecbcc04e725c5943a359a9afdaa8ac3268054cb454c6034d3896e081485cd552be97284e082fc3e6fd04de836e52356df0f05e38c1dcb837b49dd5427202f59701f84db076f46b709335a9d960e44f80f8b4b2eefe6ce79f2339a3d2462adf5235c19d2f4cdc2abf09fc489eb81d862fd4737452e9937525eaece80f72ff37e80589fd9a06760c25a336c3ecfa7629e70716c3db9ff585b378e30c04720015f820c3bf361c4403e85a4a948ea538a7ad2f32cac4356c33f9b5985cbe3d6ef70b60fb96da20478097801a32d4485821af2e2038d9791704072bf2740c72c01ff792a2b7e71a0908958d412798b78b1ae372c5383549087d63639f45df72203710702c8fd090d7e45e5b1482bc5af1b90a6b70a0b165a10d39ca71127a72dff9ed561e1936fdbc5d30f5affcd2e7a63b1ca74ca6aa17d48ae3fdaf2d8652b5fd251f874651e1790dcf67d243e6605bb7eb5fbd70ba6765c158665eb0ec5a248741804290bafd484e60926e2746f50d4a6419c149881cd1a1c976c403e172c8b20cdb2367bf7f0a6b5a26769b0001cc929f60ad3d8c89a2a6b916361cc472b87fca7a7e4ea5d3428f54d773e752aef75e43654894a5ca0963d853b3d1bb7226652bac12cfdf292c11795df522de74f29458804022b8ff258e5667d4a8cb5c73539b032dfb3858ad80380f8046053e6ed91f61c9e5844fd4f59a5d37f03072980b309ea4448e6faf9f44c8ee173390752c7adb89c4a087856be4b7f56dec5fbf77c764f2a9f1d148f5a77a843c21df70ddcd2c26ad86e461056bd067930272e16bdd8e90bd1bcc4ce407b833ad56fbd065388e00a59ceb67ec3a41192a8b72e201616a461086400bbd0403e5e603d5a96ead5d009e98bdfe979cc38233c572ce2e5194611986301112449ac343ebe183d15884bd133ff02328cfbfe6e6646889337ff362eecf60a448fdcf2fafe3a3e49629ea318d51b72b851e2f166b4d6ba3d68d6950fefc6cb98a0611fdd8f8d68d3a4648c6c9fa308ee1c4a5e86a32722e1d89bf0db9661efcd8d943f44d665a65364cafe12571e69b2eb458d61c4e721b16e1b6c516bb0161534d218c92bcebb3fe16ef60582e2d94be4f4e86007e7201bc44887d95595266728d1d5f101d2e9030e667a895fcd43927468a2f2e3d3360e9449e4dbccae47f97e62729b5bae37d8ebb3d16cc45698f554849e276da3c14246f97b0aa921e4db0b94d52a9682c8e9de42332ecf0c89c73295ab3c7dd631ea5c6d8eec2e68799b178d7b0062c0553b29ab11b00f8ea972a86878e66b26cc21192591bb33399d2ecc3a60743e817d55e4e10d2fcd9d2907a5184ec836e726a59c261448c70554437d86960cddfeabfd0878c0cbc2af5c5be53419848b572373272aa1543dd0d722d3893377a497473399712d0fdfd6c77dc74d56700d3146052326d60b2efac47713b81f22022ceb2f4d727db7bb1fe6923f555e1ab875cb916071fe1d6d14bcb2d696fffb264b9b32696a25a235cfaa6ac2f963341d272b3c763f017edd4f397a261ff08d05c0eb72ca22de95fd0e4a0b30f5d689c3c0c8bab162690d474a0ae2440a042b7d941d46e9a5e0d129535b6ed1648ba7b99721367c782109cc889d0be64195fb5bbbb176bfcf48766e60ab27597d2903e2d39c2792be37b77c184647100157419d57b2d29d6c84f584f69bc4b7732b694cb72408fa50da4f36fb998199e7d24b2c9e585aaafc1ace59f62c81c04b6fae9cc72562a1ee24dc1457496cd635869386b9b241371caf6a299b6aba5f1a0f4107f296d7069511072582311c3c5c4941c0075a27a3fcf87722f11126d5ef1ad6213082ee9fba543bb510ad4b29f8eed822392ca2170c825ef0194ae545533d9ff4172dcdd11098df7f6bc6a28776f734b84fa45c168690376a6ea09690cba73a55f077a7147984f2be7844165d1965daf729b0e8e7ff377bc32d24dc421107678d17201f83256443d3270b40a1cb59a1e5a406f085293637221177f61fff8628fbc2a1798231431324b77140b6c911419357570451377666a83d2e77a469285faf1653eb15728d276a081b406cac20b67404e9c5b266ac0462af0867040d4f370e07296c8714f9985f1b0fc5843fab40afcb5524a1e9867aa6258b7936ef0711eaf0ce03bbdabb535d59f334a801ef409f238dae8b7ae5c1f39451af8dd4768f899729cf4fdc60d34a4f600244b484b40b8281d5a1216eca767eb806b9528252875726ccebe4dbf0301b49fb77d2480a5fe2f7062ed101fcd7c816404d1b7e5a5c704698a050202ba7585dd77a36c7894530b6c93729add0b839a076fc44c9654397014e0235aa5e157036e75c731199f45ed26866167f1fd035b9789e6f10ee3e27233c971f4cac2081eee5887f65130533252841d790af95d28400c83e23ca21f7299a30f1f84479b3a6d21e5ebec687764f15d609cd1c53c2e5bfaa6712819540a4ce67257fb52825b46a9c8ecb6f6a9cc95c8f7502fb412a29592fd10e3a18230181d56b6031f22b7a9a2741bda0bb157cddb7ca0852746b50357dbf24fa51658ee7805a6e6901a8dafb0f5c98c4d9ff713b2de0b64b411385d7b3af71edd1a366bd7e26dda432e2bd6e4d1cc41d9620b74b1a9dbb7ae299cc789d477c719e172a098b6f5af0bfe7cd515e48958094e57f67998159e0a2787cad6f615c8076617fe6dc8cedb3547aaa9d2a7649ae7bba87810087155cc6f08e4c38c9550085f31010914617a540f4f482a29601ac3b59c997793f854a84c1cc5048af262e1317296efc8fc19c36389a3abf2aebd238dfe75cba59096290fa91412babd093be872c04001e8c376ce799fb78fbfe608bf5b0c1a517bd7e4887c67c5183fb8de417229c10029efd9ac5138559bf6aa10faaf1f83359e00ae0d15c23fd9afb23b85005c883b964a146101f210fb1a2bc39f6b6763e89915603749b264916c837bc972ca84dcd7bc0864daf60b87652d6bbd4017a68896eb141bb4d93da098845f95729d97d47dae67cdcf740284ff59dc0105aec2c1b984fc520129e9e60b2bee665c53022d2171fdc9fc1d314ea045641a8c65c0834181ddf7f8bef5bfe0de5fb82f72fa2f2dde6328c714fcdb2b35c2a96dc3c8c47c531775a0877279ab9620177206fcebf010299c3a25686f40e0eaeaab09180a5b6f3a90a1d8d74e7247586672613e36d00e49d82ff407a9b401ad92af89777232785ce50a4579002c1189f04f99829c7f845ad0112dbfd0b0475dd42175e2446b60db42852d168d7326cb9171ee8f647dd582c92fff30a6eaa38683c35333082d4eef15563de98c6659354a72b6ee91b17866d763913f14fc9c2807826176bc6147795600bedd955627a1a2448140be845796f063e87dd1bdadf89108e79cf05f4fad612c2808e75986fb7f729ca3ab2cd36b7d1c2b59c78fd393ff56f755b4e7b42e479fe064016dfb13f872fd314d38fc2583dda2832ee8695c897bc2e26d48e304a6d7e76cac12d58fb3515b5e88da7da0b35f1963eb660e0755c39feadeaa5f3220bfc4e12e5fafd482036c7513a0ac43cc70e0eb891cb29f3aab3472621691d5d2ab993423c39be39964c9cfc0894fa1d46ef42babbba42a62a3d59efbcf064ffb62696c2b183e6f903d433f50403c6ee325d5d4a571f33cad7eadc444c98b035fdf463480f6beb50313900a3376da1c933b6429f3b0e16be40bddaa73eacf7fdb5ee6ee23f931754972bdf563e48a57a9e316696bcf42c6929bbe8b09dfbb78f6dc892e294282c43015a500baf5d4cbe6479454b6c84381b91e1e905c75e18cbcfceee6bacd09ff9f723e5ba1603cab766327eb0e6ed551ac61d89bd66cf7bdb2e301552ff1cb74b42e9584c0d1dc497dad6959bc131675509d5a7c1f1bfc424eab15038c8e2495653e9119363fd164d647f832a9d224b689c1817fccf69770b5d5c60c2c7aa82bde2f75b8653b0edba4e0cbd7ad42e684ad326803687e8a161e155bd559a662c02b724cb4a1b806b8412760ff2645f7cdd05907d4fd9f242b887e020340a38b187c722babbeb93e4d208b4768c8255af3bd25c64908b6c202fb3538b73d2f88273e1e8680f2c4f8d2caa2bb3e3eecb9391c2c7f665140fc0a54ca07cbc01f91de62720188e00f084d24b6bfd922aacddaa69de6b7185e3e6b5fb8b7cc36b041c56d7282ce3afea24dc92604704b0a087e5abe5cb33560d18e1ad5e964f37e062897724d3e4568ae251b2a8e8f197b99c235feb1f732304041423ffd7d5b5d53dce672980e23ae0df65ebebab032871a63a68b6c13f4ed3a0df46ef424ded0a7cff77295197898471abe5bda190c5ee4075a44c97467df06ee56775687d3fe01519e65c726d8e6491526e3c4b42ccd440b00f662546ab033d6482ac73ae47e028ce204ecead987a25f13d7569f6713ff509ed27c1091a1411c902555323a71e5344872138fe6c9764f058339de1baa9a7f548929dad60d7a897f395026f7322c233172301f3527744e1aea6e7ae8cc93f9b1203d11ac5cd56db05c46957763840b5a726c31cc8620f6e748b5c906e0993ac43c320ced7a8fd28e0aec06b11bcc1eac72626baf593eaf1e5873a6a1276e0a3a379d96b8d74b406b340076dc4a2feb2700b8b772cab44c5b59f64cfaa84c210a0d64f89ba2e1b0b54694b14e84f036cc6409583eba7bbf5e0094868c74a9df3966bc526969d854e66f3b80853367f73472ad263b2646bf73646ddf4011686b8f6b2b825f3518ead0daec5332aa781f47725bc30da74b38277989c24022513883046e52e6af6d2dff99d9bdf59c5eb61018dddb2b1a61fe764c8031dd046fc8e2c504c50cd97bb2eeba6dc28929d898c70ffb76e34b2d5f8dedbe9b268fac84bee5d35f591cc5b71b14ce4b6aa6872bdc22781d4b673ade47950f1fe2330e7f25902d900d2ba5da20a0e8469a73d7a4ec72a1fea55626891990c6361253710f3122f680209d0972739f47d9577afc5d7c332e7cd0904ef480ec45549f3a9a881d61be2f8feb47a5e84b8d621f4962a6357217143da4d52d7bb15d08585b6cb015e59a8c24510cc119ddbeb3ae200a1e7d72c358f98be84744708b689811e52423a1e8879ba8f29f31496159c3fbfbe534720a1054db5cba630643a9fd612b6159bcf40c55db118ff6b2dff9ee7d97c6164820ae4b5ad7127db652901491579d85b90560964f71320581ee4a99bd8457d872111503d65fd0bf2ec43890ac87627ea92ea2c9265dcd43f2d117a1e9daca8e72534ca4f662f669159633556849a2134b5513749b19002944f7b4016c081f8b41e89ea67f293f353c95c1ff71dd9ab94647aa79b0d94362a266b6ae9ff669f054a10714d7a8e8541262f48fc5071032e42e42f683b19ed70030dc101a8a16324bb18de3d249c23330c83d739352bc4964ed879cbc6aa9ca7d89736d1c9ac1d0720f5a82d768520605fd93285d259bc14c4f202add8d79ec85c55ac3c61b36dd727919b6154440be164a797b341636b00708388f95ab2ceb23f091d142d04d6d7238fd967f68124982e2f8221d848bb105030bb7d0c8e02a4f782462f1b8403f7231ef1786328f55513949831a014a9c8df2447ab444dcf6f9ccc99c691adf8872024cc12b6fdbb68b583b467acb1b40a7aab949186ab1abd3acff5e454a4654560c88544c51f2c38702cde418a4399da6d3f34e897f5ac06abd9cb440cb321e72f46211afaa9b281788a60d8513d65a1707653451e99aeb3e8ff45b4b65845e4a2c7a9a36239da5d7f8631eda738f439c6a6d1b9ed236ad9a7f5722d6e65cd672d36ff22e0941531643c8a4079a5e91e3c2cb62a1e43782be68d9390e83f1b523dba157e5cfb7ff01284f5a3e61f8046ed489d050a1a550e0a7198b4b75f36972ae87873739aee73206129bc78b8beec73dccf63f272f13a232e43103e238f572a388440b960199fadcfa1b683a07ed2088173a52dcf3de163941cceee1b1b372364e7cf4f7fa79ada6bc5b855e9e46896debbb6627e6bb648d98a55b8c4cb03998010154be953d603c12f03b6a4c7f1c2cde9aab1c1638426029b1e9b60ed810b847d5d8c79f338ffc280a44659f7a6a6a4b1c25ed870907356b6cf80628af72a6ecba8b287b1021f18ad8df2ea4b26d940c323a0276dd5c919aa743aea7e53471ccf52b3aeca0a85ffe4898f0ad7eb99cda0ef25496af11839eb825195634727bc686a5cefedd356106180f76732d2f3bcff27497b6669f7855b3ad6f8b24729e601d64142f2fd3d9de7ba0823605ed7866c36524a586a5d33b6d4a5c8ce272c00d8558d1b48172c4a31713b01ffb3aba8141254e34cd7b00f26d7b0d4021723e8867fe4945e9e4361aba642335bba717262c62475ee212015dc0e4e90dca09be02e2098975bd8c0f48bedc687027ea9aa36da4a35154ab4ef6c2793c46bd10d4c48b588e61d30d1649d14eebdd77b67bc14b78e39bb1b0c57bdfd451e4950be03f06ba8889934ef3685e8305f708a8fb577af1bd91ce3de0a31e40a9f55d3fc0ae15ee4c5c5bb1eef1f7dbb0478919a50523ba19dc0b98ccb4d77c40ad6b72dac6c086df7bad3994b3bab3ef35b31c64c3dd30b3e54cbd7e4aed43aa5705724e1eca8b66bd58704b3cb786ad00967fe27e277c9f2a2b4d97547b5d6149f47262709cf54e599ee3f8ebbec1286d3c665b716c5de678a339ebd7d99fb61f72720691c7c46453368aeb9c8f1118a505753195e5a7c7d4c6a9488dc958335e686350e77effb32585a3d9d2ffaed04951b73e9477b36d344a97a706645bfba788014eb95794aa38f76c058754af26ca6c9e3625dacd73ec89b63298d53d87fb5272dd4476382d9c80a8e2642e9704ffd034b39e94918f0af521e937cb20356f80721041e98a51db3b5a4d887357b5894d2a7f16b80817147f5a259ef2014206f872adad2311729d68141843830feec2f14fb94467a3f73a232cbc19427c61ba5272b27ee41acd732824f2d0f5f9d7627177f80787971222105660f35a3aa245d172cc84a8649ae3b023ee4ed7a22d851f4154c909dfe0b1ab55002465b76432421bbf36cfe25c0028bac0e6685779ed47d071ea458a00574f417924a6793c30844d0aaa0e93797b45caf7e3a209533b914ceb48da8598e9e5254d6deeeac08ee341e739a3bd78abb5f441fde4562701d6cbc8bef5453d4b51deae6c04b44a0f1103cfbbaaf903fdb9fbf04665334840747b3babdf0713f290c5faeff1b39cc2de6db72c6580e735f5052d00a2d025f05dcb0e4633c9d49eb64771fda53ce1cb4204a49af5c6cb2c18738d0a0b732abab03d149019b94d517d8ed8b9e073c97599725ac55c652baf7efe11a85854ba1ecc81e1cca33fbec38ce1ba7977fc946d1772119176ac2586a0fe06b6312b99114bd39a9e756d2e4b3954773792877cea9b721d02e45140ecf6aaee1c76da0df4916a99cbb87dce6a8bb3442bbbfe7c00ef5c3348be8bd68e470071442b7c43a4850db5351c5f755e3e7f119fad3961fadc72a04bdaefc6b618165532097a3171d7948d636895ea94822045b7e1ebbf5c375cccbc6d75efc1b6b720c30c230967ad2d1c4304a4f53bcc4b58b79e92e073ca72e806800dc5a7a44f638c7ad47114850908c01644a0d0c7204b38fdf76c70d772ccac58e0535264aca440590ac9a873043ddad3f3eb5bd7d1f5e8b639b2f9db70698b934aa6e31a334e6e06957eb5e3823c6b73d5973757416d211dd10a9f72725d051f6a5c58579e45756a8880ab0dbfe0cdd8b154e27c1391f7595e8ce6b97248998767107d33e368c1925c4b8e6bd225dee880e4e2c30f3674a9e501b87e722dfb9e942f4fc4a75826ed13ad43ec515a0aaa2ff74329444139bb32fd324f7236ecb2cf39551d0e2efe96d33a5c2491d41b8a821b918cc479bac039e4c28c72166a1e3fccf95b07bf4dcbd5ec9d1af321563157be4e97a336d3762dec45577229c305beeb2ef302f989162a53a0744c3bf8aee9ec0414ebe6cd2233a35c2e10f198b6c9baf66199289c90ddb97aca0b926942880c6931bc4a80975752be95356d9d39b322b449b658fc85c5f527b56459c1a1df8e68e39e973c1e27f3af2472ed77d50ce0a5f3bfee9ce5e188be0e3ab3113477bee9077258954ee4a4bd2e61e69f36663a1d17580e581a76632b145ac2a5f7bc41821085cb029566d81d38727e5dc5a56c2da4bb07bceee999c1e82440ca749aad5a57c572e2830c3e0bbc72ff8fa4003b6abe6fc431b0fe25c703b0bb7b36df1c4b34af54249c1b42423c7243af49ae6593f2969a04dd9775a2cbc9768a7972fefce2f7127bf801d36e53641a6c9685afc9acc45b12d403f7bbc295e9a0a58ff73ee279277124aecc05d90b3e22b823d7ef719efde63dbb00393d3ff50354f9f310a4646bbc8f3453075063ea1ad720b5456e6244f6622af6055ab5637ee5e9ff0d6c77df9f488e6533261ba6b8d553e1b68b3a531344c69fab3bec902ff6d6e83ecf570b5e1bcb02c59572367b0f2ff0a15e8c734b0f06b18929c422ef2451dd892fdff997ea72a88800722b3ea79faaefb7601b245719bd595348f30f4a3345e6f5ece773acafcde55472f28d0194284101de94a52c4deb5386beded0a6073011af9327f2f0f292ec7c729b2749850b6fc655085941605cfbf4e17db184e1618529d179db0c573f056b7230e96bee7f1b51d0d6632a439dd5fc59132bac328ffa12126af84debc0bb2b66dd2f317032a46c141c043e14b54b4a9f353a0412bcf4c90f32a02a965b8e1613abbcb4ab0900a86cc689f425c6987042946ea68c258fd72b50b95136f0d51d72e863395b1768911d55ff83d102d981f5764a3e98fceec80331a60c055f16ba723ab10baa49cb2bfd9b0fb36e8472dea8da4437f070badd84a2baa8bcfb61414cdf550c56cbbf25ac44ccd68493e4e796dd0e5d9f24f88583ce725a9978b500723214d4ddb38b43cb013a9bae98f93b364bb9051676365d416079e1fa91404572bae5a98c7044f6a63d8ddc9dd30e62b2030066100e822c1c56384fbfed678e301ba630f20f0e6aeebb221d7e7457ab1ad8e2643d1ee50b283735ea324690c642f99a05f7139e1487b2b5d75fbfbeb53d04e1d0f746c89c0b11652afee9a44e722af6f57df8fc4853e6866e452cfa7198f144e3eb8174e7b36e45097b359cea72c7823590a72839da6cd3f181b9c7642082129638f674dc40d0a7fb4c462c6272b3e2357da4b20a83789664e7e63a680199b5f974669dc8c6b26315ce05f58b726a6f0b78657a664363f052732d3a434e957e05b993f1ba60f36b3030b943285561495560591c8d0ca7fcb1d6f57c1611efcd21cbc855dbc7bc311752816c592111840df7262e53e318ae42c3bc1c80a6497bcf29516eb8ddd917c0f59e1ddb723548b7e016be77eb2a419c4dc496b270d729b710a69a044ee843bc17f602311670b97f0d641fbca848ce2cdd5d375ba1b54ea396ec09b8bedbb7ddd766b81072902989daf06479ef45d7c5933b882ca34449590a7755831695b217d69c2ed47249edc0bf1aac3937927b3321d82600bb939333d4f10e07381f76ca98b73f9012aa3f41697770a82f084751c8d051cfeed835c5b8a9bd7f20b2d8230711d2403089458fcacca83b9c281214fd6ec20cdd0322b8fdf2f98f392b61e846588bb1631b139f79060961d8d0584900ade836904e58c62a004d07bc40af0220d34ac072bb333371016d4a2e47cff6f44da569c02fc2d7bf2dfbcbef686f638b67b67b13c28e627a983b60ff1a9b768a03995cfabfb496892bf0d233031f9aeede22b87246a6f761f37c292fe3983f611414e27b814eb8bb84a67ad4f1a45b92be8cff1da9270ba157015ffc1f0425fe9c0cf6bdf0c0bd95af6bf30a42da16e68a7ee955c571a7afe0ce6ac556a7bcd7fe93d6ff7eb3371ba8531230f5366eaab7ef4c72b9dedd49a0f6c22487f708578c5ffcca9049104f4d4f92d3ff8fd4a4e82f6927f262879bb3dad9f7a04ce65c4a7b3c6a9e4f30d7671b88fde32bdc47b77b7972cd83c510f35d4542feb610a6aaa826f8f6f877801bfc9ee2eeb022cf4993b605d799d3443cff3946e6c03bfe1feb138fff09a770f74fdd5c5725435c4c220c7219414e3125a337b4f58111bbc6fdfcc35e69a6da096cb0fe2674835ea06f346ee5eb1514f9e76850790faba647731b424f458214bfdf90783a5ce955512d513055c575a2f23c513108acef44813914c5718d3a89236519b3b26b8506844df018e8c7b40570269540c5a2271c134252e830c6ebd7150d8b97fe3e1355cf0b62127e313c9bf35d997c8c10956873ff73c2b2fb2eeb29f1229102ce728bd57568128075f773b53fa8d985393041c524b705399f92aa7b7eff565ff2b70ee5c09672c5b94f2cfbde726969e4414e550a16970eb432fa93f052ccd89b53a60f8ba372cc5021eebb385a4c77ac0a44778dcbb5dabefa94483674ba8ed8de266b1176729c64657f9e272444b53901ff7d7acc08d1f24fe81ae4b5687cbb6fef1ea7935fff99fc34d5a88740f5e22ef1f8f9983210e900f1959ab41bf99d3acdf818bd017e5a4370f4827deb13a1802ad8260c07474b8aab77aa0b0819607d47caf04b0f0070740b3d7e28ac7138bb3ac69de206aedcb61e6be68859cdfb077f3bf67b18c0412db819392f31fb48b61da4e40354642ad5b5d39deb991e035d01cfc18472aedb7e5734d53684b96cb1de0ed85f33fe3c056417ef6746a220dc31bd4a3b7214adb954a8cff764d76c66ec3ca1f05f62b70c8846c3e71872bf38f97d4ae972da8338a516fcaf51b369737216aca793e5123d06b934586109504b76b6817a62c1a74bc01ea573d469c9e779f59fb0dff9ae68f5ec5f571bb2e55ec74e87a5154bccdc35eb5b617cc8209ae412b1660cd9bd204551e5d084730dcfa00d3339724ce24ae06ebd251a6a1bef3926c533276f6fe92d53bae90b68717035866fb7585d3b005895158e2f67e725670412ed0cf5e861e38b59fb11b6a04e91cf823408dec0e58890bda3a889d18e4f7df04799866d5952ee7e1f2cbd75eb5c01a3fc42bd2af121671e0bc006db8a7fafa972c73c17ae16724c85b0a5710afc90451f7256afb129a9edb2bb0694661a99243348c5c85b5f55d3e243166d11129ba87a0dc5f32ad98d2cc3e651b6748165d2df7941ecfeff4d2d69dd7d50d0fc1fbf66725a6270c15301a4eef6d452e43b800f8138ec5b741105ea7a0163e2e8547fac07a14dc16878a0bdbc0ae52c1c95ef97404ac44f65c826e81b7a0f05baa30d2b7236a6f102d2f6f7293f5ad1a1fbf21d8ae789ff6f9f41d503742162cd21a92c59dd5caa030e862d7b38a0868be627da655a3747721fa756d9cf6ee093c3aaa472cc57842d32b4f3be6de9149207b9a471f9717e7d9378fa8b8c60698f9e958d726650a6c50e8ad3d22cc6693410700bbc3e6e3a010a17fd76930f40101ac86455b5d5c94f26879ea868d3d98ff12c06a3c49f77e00a95f75e62ce87bcf412be2881f53e41e85277a068b03302bd61da2cc3b09e8f7215393fdf18c4660f4c36096da89be71245d16b8fba736160172b890991af8451e9e26958b7469a4d2ad37225aa21d8d204c098f043278478cc11ac3370a73fa20bd5086494d7df69377f669d22b914d3e899d14df2f281dd2a3b75184500d2d71b5dcb2f79ddf69e6fa35dda9e73f78bd3163775e454c1fdc3881a05ff22c00f83b86c1af0753f2d0dc9625296f205d5be2ecdf73dfe41e0bafaa7d1eb09000da9146e54ed70ec6bc32072cf3c04259a59379259abb1cf04bd41d517f2ac8bacebe1baa98cc3562c8008070967cabb08c17f8fbddec742366ad32342dab5689cc289ca5b5865766e1461399c67d91a045034424efe9780a3906ace380504c5421999d3722811e53dd86260988649e10a81d8235917f165d0f46abc9c0255f553ca81019462c932cb43ad620afec2d53774c0921d9736f8ba088fba85fa9442a5bd9cd262709327f88327725cc16fca8fdddc534694ae07d05044e3ae3810cd4c8428460a7515a896a1707299238c614d8f1400b64565aa3a49ccf3fb33ff02a9989b43275a711f0d4c2810bf1a4534a511da5bbdf5745f8e3057929dcd9d2ae2ed44033b4fb35f270ddb0c6ecc4d8a0e9a2c392f0fd82d66b0e56e77e0251091e356ad6e9c486e7f89bd72c4df563debb6af5009fb4060edb070f8ade6aab9b6f1e2711dbe52356a58bb721f495c272ef9e9be431b5945a9ee5c269512ada46072b628c223a4e859a9694289c3f6aacebe717cfa5f60c2a0ece4c4fda833014f626cfc88dacac0ad22fb7202ed733116c202090b31a9f8823ce768465790bb29fe1678bce96e85debd1372c2cb89f197196d825b01cdffd795c7af1deada09d0daf00412541594a673127243f95ddc1dfeeca8eb4afe8b60c202ce6ebfcd7bfda1832f7b8277e1a418286c53796879ca6181c7f19579cab583ac5206b8763ad1f3cffb3d0f30e48f198b727ae74aab782c1ff1485f1fab9860baf39a5557486d27041926a106f4707b327285601c95daf6a37646ac8c2b4e8c0a027c0d607ff0bc89e9378feb19746f3d724a54cfeb55575cf01b17e8a92e2cfa18088f7ac6fb470a17edfd6d7861267a5638f94590149771004fd86de8dbce1c9e9bdc2ce6ef7fd5f4429909bfd757a44a658ddadecc972e3a7c17473a81c15ba7c59795bd4b09bcdbcd5d6719ce684472e2646bcb5bd752305508ef7e1d682f3107bad6f4ebbfe18d2f09dcaadf747c7246d5a09e21cbab51e652c92af0badc0fab83cb7eed49ca48fddad8149d181772b11dcd121ad21d2c1469db9e220ec19b3d33bd77bc4badaf0cdc386b80289872de4cc92a306fb2d03fc6a35dfe703ac42da47b7257dfea21528c432d94e9587262c95a8a1a04da11bcea4c94db8a1d862b27fca72af98ddbd0ed51240182a7729f8ca542c40a6c87e81ec3783c6c6df5ab157f4b15181cf91cd2af48c1def17242efde968b58982347c1740b9dbad63dfd254a9639c2aab910d9c15df9c113726bc642a6571a8f31d06cd21044ae3d02c80651e7be5a04ea468908d437d006722392ad3044a589f04762d191425ba7ae132bf706f56a44d04daab2dfeb3c83726f12372c4863dba2c6fb9c0fdcff56bbacf0013fb9e024d4332e92b8853d6a727795b47414bafdeb6ab638b420a83c99a1c4faed0aed8024f2b84318e0e3e8360bde33c1a662951c141eb73bbe0e993b8859858aa9c49ae7b6ea64cd5151da25ec3b88794a921ee44016ce197fc6472a98fa29ca9ebfa69b65cb8db4b996616c999b4240fb263dee518c04df26e45191ed78c2922b4fa7898d28fb5ac015b532f3095c9710766bf6a9b4e06b47996e2cc230325ae7ddc8824647168a5e7bc45fb50b10712ef195a6a9ad0279dad27a85f474d77c1ee61b994ddfd730631187588d5f436e69f05bc29fc90d55b5f6b294035785a402f66afdaa04958ee7b0bf7256554bf849a4af22b13c50b788d69915a21213e1011fd7b9018eae788defd836c5a9ea9cda0c0cd06b67d5972254fe151b90eaf2ab38fe4c64486a304e0cb57288750683d43a362c92da4ddc2b5520565c804e66369ee16e230e7c5d26cdae726f7cf32ae92dd5f89fc388f24a214c2611d688c77d5be6bacb62108ac94fdd724c49e627e5c3d033dbbb014fc1881529777c9d6d211f3fe25343e971d82280431e5da5e1d654a7f0d61d2eebb1f236a126888001a439bd6bc2df75e3c5bfa7725d7ff8d606c2ed13f82311f7325344e17e10638fa5be89e58461032c746f4472b65bb2c832e3b065ecf3c5da5e0c7e7c94f83e31ab0fc1142d0e3e199787ff72d1632874893389756d1b3409245e581f087ae331352848f5463b25dcf9098d7291a13607e48d24492e63753195802a1b30bb62ffe612c1db357da0326e36106ed8f2ef7265352eae3a9cdf2959fead2f0c228cb830e35cc165c74bbfda9086334ce4bf1c0ad95105f723812bfc8a407b115c5fe94c09d310b71aeb9893141102110133dfcba00629b0bd6c99210b0d0099ac7b55245f6c4bd8332edc078c8509edd543dc319c4a09128fc8c3f6776ed0094f47a15426a37814738f216360d172d74544475390ee19e65b915cede880857b77d74268791125a71f5cf5ce3ed3593be773effc74580c5eb1e0eedf057d34b31153c77f65e5779a5911deab98142e391c426bcb703d947a717abb9f20465fc03ee52cb2b0846da325135b3a0de91c4149cb52c92c18335718064e8e3907328a8466c79669ba792bc2fcec83611472c7f4b95c63855144e87a2517956c187040a3aa4bb85dcce0d8eebd34c5872c3a6db1739db0b676cc3d8770c941213680f15894d1ee8b67b466f0970648443572b70753c3d0dc27e5b19403b9e581edec653c2afdb1c9de97f8d535358634d07265cdac08c0eade4c4df0c3cf87b295835b6115b1a0ea151bca9610e16cbffc7243760d5d70614b217771cbf30a4088eafeb2e5925022e119409bece81938477296ac2079d3b53378ae5d87f54423e01974573fe79c5a8d715163a2f4efef80135ff971b6eaf4ab0cf0b28fa8a13eb67f94fa61e86f887ef0e14ba12ebe06a81d15a04b4bd49a444cddfebf259eb8e00401a5bb2f10e3aa66127b2dd21055cf721a1881fcf8d19841805e444827a5d7653d05387607db8a02a9ffc834af8b9d29fd6a2a4cc58dead32671cc3f07b7ced7778ee323531636b735db547a5c7bfd572f194e9c0cc302602f7fa4e68fab797dfe6bf73585aae6ec60a8640744025172db33e36db18b10457a34a8456c366a5e266eb0518a458f13dbb10ca766f2f70bc0578c2bf0b23e79621864125b5e263df0bd8e9b8568a410c849dec9a3a18c3015e847721c8519f50fd330cdbe5f6c6974f8ae3169bbba29ae82e92160c0882e5a149bdc4dfc7dc06052daa61fb560d0e7e59acfbf46713550ab5187b8758915462f1886a0a713782c111d910106dad3699e3ea9efb81bda02bdc0b1126c95726c3e1bc84b8e8228ed3caa743b385236c89faf157b357900b34f3f31e60c903f32fd7a786e079f1b32088b9a77fad839c2987e322ef214345853aaf4fd2daa4fb356f1a6719f0fee29e39f2bea3eb2b40b2734a3031c3a1d25b8c06fec7a81729926963a79aede843da45a1b5afa8e2128b32ad4b36f53b960a4629359f06d72cfafc61a3ac23c2c942195180f068f3d19bf74de17050f31db0765c8c5cbad7210863ead8fd5f372308e5cf9f5d78543a2c1282a5e9440a09097cbf011becc321a8ca9fc760e278ee73fe1dea10ad3b68548c9979f7676862419bf080ca4bb726a1e458cf3660ab4aeeb7fa774af2f4a2dc06cb41b6ba228f5f59134c1cdcc6547d433d2b8419348356471667cfe5f835e960df124f5f524f8d3f2d38e681d33e5536dcda4cae9a2d3efe9ffd3759a1ff2d7b7329097d004afb71e211c4910720b87a975fa218ff11b0ceeefbd19339c26fa8df9cb5c2b36856ed6e044d42b728d08c506406e4e75cd96e9b421640c49a87420701f30965e65a34b529c0188729567553b6cb64f82c1261d868c05bfca1d1ec79428c1d41d28d3715dbc80ae34152d79a88107ce75bc3f3d090ee611e07d58d69eaf0ae60a10b5c4aba5e7ea7219354f16109881aa611ea85ab686be713ac5c5b9f4b7ef14f0abcc3b4b618b5fa9565b67212d59705a97fe29ceacd3f0155ed77208ee35517add138cc867bc72a0fedf7af70b583a139fe54afb6360beb0e03f9374c7945c554b7c710dec477210de8d1fb9939b053345c93a397330d69d9a686ea0f17294628e0292dd137865efe9bead2a81a1d79ccf6ea9ee25ca33292019bb5c744543274c10941241ef4c4e53c987894695b7644332f6dc1db9b02965a8ebfafca7fbff5a061ed30e246a55cc2c454f3d942b7e3687e416b756716f5549f178b8aecb9931e8eddbdbc072a70a15165fcd8eb84d91d5a4b1869553a35c3991e3646600b19e490ad3f07b722b7a2f0fd28abfce22606e03fcbd29a33acab5c7f91be2d2bbbb7211afe51b1e25a576cf3619479b7b0c72a021ba4223d6732ef5cb583818b917b2927d3914722257459d5ef21215bb0a0d4977ffd961895c1d06a869c81cfb469c1ef5f6435c64162daa3ab5fc709485bdf865c6526cb52c98a0a3d0a61f1f52ac36dda32f185367a4da2925bd61f0d96c4a232f5201d66745eb2dc0fa8ae5c2bfae0f54c04eba6ec9620dfe539a5238ff8e896ccdf1f1b564f21f4f94685903f8b1d8375b2cdf083c013f608446df89710ee513de0422af2fb4a5fe0c3ec1a9871afd438421ccf22a5c2aebdb0896e1b0e5507406caaf97fc98e74a301b845d7ef055c0e76e070cb82f320ae51acdf45f52218a8f5f98d33acf6801b1c5ca289411259a923f24019cec90da177a0e2e03f63c5c5f03b46fb0e6dfef374b93717b84f3e8e672d0e629ba3779717601f639c9fc0802724153adb3c0adb4a854529b8d1a74ba23a89ed778e771b3cbd30d91429b6dfe5135b1d13b505fd6c51e8b8290a083fe726432cd199efe2c20bc60a1ad0318d2222cbe29b748394cf458b750c616b74010ff5181e92c22bc2e0576cc96ab112e93b620f9ab4ef9cc4ac17b502c8a454872f5913237c19bcf7586729f33989e6c73a0f0e3247e780d28cbb49cd5d856bf7203828fd8e813e181d0346272bd0b0fd161b3dbd2d888fbbb901688ed8d57147204f0e83ab886a69f4a34386c617f31c0fe88bfa3c46ca4e0483be93ba5a2b839807ec0883e0d8ccfdb8677c49efab5a5a40cb0a6000272077ace4512c5cec8145327c0e338ed2713e710ab55464ca863ba100d92f67e3748a74637737959a91d660927f49b6ef81b3d577e51aed1b504d1b97a937d4743284405b01d9dbd8a7029154e5b7160d5df32e3f2f803906832fe379b31ef5a597296b042f25c7a4172b0909fc4e95a13c041b9ffebf201ead04a4c8a92fe67b14c266b1ff22edb5372a50523af84b0411eff8d12213218b77efd0a843c7d06ef1789bc823fcccb307251539ed5333d83f7d59d32b9629c799f63547e3454e836066bb57fd240b41008357a2319f2e96198994c4382df735f58f15cd4c2ab20a2a440e50533734251709bc8214525b62e2499387bd59db53d13304ca4712fd79473eeb68b981b3efa721eb6208273435475647ad4de2523891325aa2738b444897695cb33094f2a9b0f8dbc38e1ed4fc9149f4736103daf997b4130fa4e8033ca3507455776e66d2e723a977523fb6b7ba61f1d23a93f68cbfed928428001e3523cd10069c79c6a1a50a5947fb5a3e29ca80e2a0b907786f2e5fd25d1c0df9a16c9ed1d9f3df6a78872b84b25cf7a36d64ef0932df0f6afb371b8206cb7a78defcc7922da20547688723f113b8079659cfd462ce7283c28af72842d4dd3e228fc8f23b73a4c8fa71b7209dab16ecb122b6c8765a6f8a79ed571789b5895ac7f8fb82aa41737ba752f72d2bf876befc2d3314bdf52370fe86e563d65cb3c4e0a37f36b09c2c745d57b386a7c196350383d2546e3f206440660a7735dfb99a84327afb6434814df989f40f81c944e88064fab8047cbe3c8f10f2bdc1a7ce174269be5574ca99749c6a0723a902e1bf8cdffc741be7763e8c6570db803d47363453449c21edf59e2db863b2b76112cf7565648530816b91a16ac41a2e1e3c1da466bfd0ad1cd09a4af6672bb46d2ad2d5b79296c57adaf32dfd996cbcaa4a5338f8a6d62a4acf2be28c055db97db3089f8958b02289c3b7441a2657998f31e998b6f00b29964fa8835ae72477b1663d466f96ae0cec6aad259bc79e07e04c656f8759b492963a46f933669aa8280b7d4ed82fa74dd9cf0bcf17a5936e02f3b71b8de36aeb05498bcde7669cdd7e5b863c1debe9b27e409b94d71e378c6f1116541bb740443ff023caf73720599cbb5adb76167f3684e874b1c7c300908835236a2966fdc9809c45d5284721960c623ab924b347396546e1ab342235e23ee7078597b13ff37be2117aff1721439b8b18ccce6b95ee40fe84a2ac33e190be05d121795847626d3978bcd6872be30990611db0dd4af7e105be2e1f8ad4c7dc465af6bf1ff7748306aec1d2b72e9bd6c9fd0daa32d212e77369c94b987b3ac1350c6b6bc7eecad125cb5f17072cbc62c6f840283f3c5226ef672fb3a68be106c80894b0869f0c6e872b9098f44592d83e13c9d7a38b3ff3b50d09d7f113e1dfbb3801d3433f027e29f9b67b470409d5f834b40f7cef8c6bc97963dbd3201276bdd554d3791053c4209afa57247d840b4bdc1e1da9ae6904c60f4ab548e19b183d6e3f32cc65cb30006e05ac172e7b18bcd25929407bc9c6848764df2d060dcf5768a7eb85bdc4c7fc63ef458727dc751b25bdeafb5fd6a281f913626ed80475dbbe3c984b781bd60cd7cd288726ea13193d151e63532e62796a79a0abf8f6c3a422791ff4e680698b09ac80143ced89470f6497e5e7e24c48d8ac10035faf1bc0a98ae2c1c1604963f57f02600720a05a223504966e091689f1fb2ee57eadeaf64c050e92e0b3250279802f3724d6b0b455cddfd4c8459a590114cd71ba6842b1b550bec64afbf4955e2f96e17285f2f5a0042d4547bbc53f0b59b4147de28c75a5f6b8eaccd4bfa5fe5942a56ff1fa539d2e0a964d6996f58b87f7ccb4d6c50966ceefc380951d4bf4fe51922ff331076bff20e3342eb5c2c2e425cf8ae7f32dff3d944facab0a51f19020972a71892cdbc1548dd85f346656da4b9241fdddacea78b89616e27a5d0b4eadb10c2a6963585cebfc6dc66e50de75c93d461b17f57e48d1fdad7855ae5b01dde729f82c04880cd0b84200fc84073aab208f241bc27f3f1e59745fb33d9ad1fc772660fb02eb857d3ce9a5419c6c9e66bc4b996d65a97b9bb711fd379d3da3c8972bf2ed10a5b679271aa585069348f3b8ca6d3700e54fb05b40999cb9572515b106f9da65f6297a96e499e2270cbfe00a5ac3ead2682e5d528431614be22f7545e73cf8358189e3a83e6a7090070746813939db9c9ca7f9bbf53c8162a334e052bfe8c4a54b614c7ba2ad672b413c726fab4c18f658ed42f448d279f9b5f526c7288894c10992a1b7281095b3b676e2aecf9fb7ae55727d8497b4c9aaa8b8e0772c1337f8ba9964ba6fa34a733d948ffb7cef77bcd32b563d18d56fb2d19b4d01d84a19f1e940d5953303c9dd08458cc5397248eba5ad68abeb657f4a2a9356972ae94fbe20d052688c1a3b12c29a2380947433849fc6d2a3768ca60fe22d54772bd1fd847ce9f53684f5f43af5482b11814b31e518c18a6bb77aa768cb04e567220780073d4c3374d459e4109be645181db2e53c6e3e29b712d0f261717c45e44ddf83282b31638c3e525288994d348b647ef65547b51f68ced55fcd0651d2f7220404a048e51542de0c2402cdb9664970f109b40b8a7be64ed8a42073a48c020ccfe44d84aafa84d669db1197d8180b525e73e207da6566efd8772030322c272f259e21067b0d21c5c9d0a58ea9f8276c16f6f78cbba03b431fb89af295e524375d35abec00c15165186a798586caa545d2c6f058319daa876dd51dde7f51f6b8a8fcc71bb8536531bcde322680751b96fb1ffc0b829194f407372d48998cc1987822175fbe5fb3ebe2eeb9f767c875105979a348cb6359eab62d26dd4aa74726f32a55a3a01dab5e6ed8cb9a6ccf3d416af8f9659c1481e6155b2206b852072d0d73c18490847f790c783e93a33b6e1b523e8cf91ee4ce1200df516cea52b1cd0a0c03ea405ea856c327d40cdb6fe01295c0fbb5aa8d2ed07f13d800f055672c47c715279dd441cf5cff193fe8219c873f527bf71a3a47dc4be25ca7cfd3933ca6c3a8674a9b0c55aedf840979f385493f383f869f21fa609ab5fd9c11d121bf46ba24ca6269136932f350a965733d5025e3d0e11cb483452f59bf85a616654110b8e348143938deafafae40b7d2122db600a13f1eb3b893322daefb3a8871f1a3b22bf600289b9790d2923d64aa279e5b81c1cfb119432a16d325713d0ed72c3483510cffb20d33b9cbf933a30926a25d5195cedd4802d8af4d8d6c820d47272b53004758638ce9a2d28dec58ff4f685fb1d14f03da53c0abe23627867b472b5b0b2e5051cab21538f2ed1c98f2332276ae89f5700b40d9bcbac765d6d3a7246b983a3495cabe59a10e415c9ddf9de34ac6322a7787478555fca865089d0721c9b0a55b4a6d08d21d32a2335ffb26da5bfdb9a41fb4c366abd2b51bbde0c6119e3d68e1032dc0a1b7419b17d020fdac26de25536f823a4e3c3c4f1d7b84b21093280ab4a208a954ed0e4be6add24a4d13ff80c8622d8c80c63cbb3df9cfc69f2d49da6136450d414a7407e8bf83a32e5f313ec14b498c7b8caa25ebf20754c394c4ebf5965561ab3c08b479333aa48350a601004787375d8a0fded0958a5726b67d97a878e6a23a98e5c207a28839709e5d356ad5436dba02d7e16934dc10d5d8adfde9804183b4dc318138ded9bff2e5d55ebedb898f258fdfc3f89bd2e7255e89dcf9a3606412a8077a014979049c32a107578a1b3fb0e51dd3cafb2cb7291bf3e3bec1fab034a24241445caacabf7864f11a0c48a9350481bc19ba2de63c1812cdbd461f34298f8944b0b6f227baa8c12b6060d21da69886b4832f58d7219a814943fa8224b46bc5c681bcea986e0a567ecaf74597c920e32f8cd74b772f05ad15b98476794aec1b1df449ac7cae08e3f7fe6e2b94cfa1092368e7fa3545952f476fe07108ceb8ef7adc61e3adc1c078661959232caee105969a00d7d720ca8299ee8e59ab2875ec6c471cfac0128f66d68178eb50fc971623b5f315b728f95f336a6d08f50e52791853ad499288ebbf236afe628fb4b704df9e14f887233c9ed7752e0d3b75880f04458d0bae3bd4c1a87982ad1f1d7f6c9adc025225b93a267c82da54a26d1cf5d23cab9b95c91f4603f2a106b654d9bda1d7400a62f1ad9cde7a2dd3846d485d1f095cd88cf027788d8a966955e0e688482e488395e4bb76f6152c04e6c564bee4269a2c06cb0e58a3089e4157fa6377c592a36086dc18d3a9295bd67299eac258c4ddc3898622e358c41b595476d1b40cbd8afbd72de96a4369f610e7fc779f1f5417871861e571427df81c1ee7e492b9348a9f13146cf62c674a01ff17d8a33f7490c6e87cd9a2c8805122d49e610d56bba75344f729deeb388a7f456f2e2722426685d6f1c8aa02c3c35150e11ced7762047e1721b00275045f474a3f3d891746b81fdff26a6f70aaf89cb8c56bbb75776c88f05a763af92f264b498343a3ce9c0c30cf6e67e9a8b83c001640298e5d6c67bfd240815e7db7a69397ac3941f060bd6cc827b0d425a3783e507edd9c48e08221e72d5f2e0e73de879300aed1a5762ef46a2c41846ff6610ac5a1ef2b6cfc9f3ab1478f4134736d5c230d973a5a8444747b1aa8ecdac7b57c57bdd5a8df199f16b432b0a694baef9740ba24188ad57e98c1af16137105d3d35dfae6dd29fc74f7172faf606e3e42f2fc640ef83280807994586c181ebd38ba77ecb2609999d07e372e5b057305f508852fa09c883f6ab31e6857e80e052eb6c90e58f7a796ff05324134121bd62a9ab51c6b1a045629388809d726497c5874938ace0baabfe09f8724ac4be036ab27c1b466d0bd21bbbbb76c673b2bdc8da54ac7f37ef91b1bca472d581a7e9b0b097d316e71a7e9884f6c6237f1f4f22289cd37943b8cf9fac022a224994c8bdbdb08a6474bbf791da5becbd2c2e8189796b72cebf5f1754d3bc72cff3b3569911309ffdc952ab8f94606e2cabdd5eb8b963c6d6dd4739df01b6721eda1bd226744e8f6e6dd7c001093b4921632f68f211f717914d38bdbd94525d016859f40908bd9ecbb3caecda7cd16463b516a30e403f661468f1b3f7883a54d9d76a924b52694fb256090cff210287ee6d5010d4513b0015fc96546ef72b71e399586931427242fb9dcebd98bec86eff91f3bb10627f623a4b56195e916e72741326e6a537304535b3a84ec1aa146dab141d9e02ababc8d7f55d1549009b45a8e301a62292c43a7b0c942da60a92303b0b80ea6366cc1cd965d3b84b125172f2fe1202283097244fd1f2d9f963a4fb5a3e5798a99233f59d4d6b6e2fd31172dd4c4de843621b2c7a5a5f3079231475f5f2427342fcade4a307789ff7fcf972c4bc19fa0950ec324357362d111a45d0e1aaf4d61ff66fb23cb01faabb450e725f02384b1b4f35906c780ef04f472a09edf5d2cd4f33f433f2b27c63ccfbf972d8d267a42afd6d1102de204bbd4c534da13286a60d87d248ccbbe8cc89d43c7208d080082c7f300b1cc8e480cd381464a0082878bb0d756db246fa446469a561d6cc45b1f94d8fdb4449fde7981af353c63a091f5702ddae937e5571fce3d5091281e4ebbfbf290ad2f9e47f768cfdd1f1450737bf868e8fe7da366a4ff00d727b9387a042e0dbefe4d4f9fac0599e83b68bd91b69d74df643e08d3d50b0816db365a92cc2d01a2fcd741c58419b34958e3bc06c9f750a634c2b12bca16fd072f8b43dda37af2506538fde2ddd4623a2bd1eb8b3bc7461dd831c7121bcc6bb20e321ec970e10f5cafa6689e4fc154c957478d969474fd177a4ac4a79cc206e3337e97f71bea4baf3bfef9d328c2541f0e296c9269b042a9e097c090991cd3d6e89adf25e5563e2aa2f86c04d649b6cb5d5d59fe617487063ed5fddc02774974ad7625770a5ccb852c2fad5ff18bd0d8d7c4125b3cc203f23656dcf0b93e1415cbad16ffb07bca6fd6fffd37d7072a0372d60642227cec7403c55a95e780a2172788042b4e0583bfb23483ef2481ed7ddc68f72f12c6e45357916289355b1d1725be56baea821e2488df708b41e3056b4a490a9e37e5772c0298616ab843b0f72ca3c216a4e6031300b9c39ddd8ffdfddab789ff561d0b09e3366094827599472a55bc87dfc56fdf1d466b19178183a5da46bc427e3facd0f656f2512f7b7a7724baad5c94ccfc7958b891a757500a3d9dee8b2ab42825efcbd3fb5ee07e8965086300e32bd8f1ae5649a5f965855688374ef91ea48a8b217c9614c2ffb433b38e62cd836a29b3f67117cb91cbb76d74bd1701d66544fc35fc03e228d61fce164bab261dbb0975840f60b3a536d97ab61e7abd7e05b782d72b69b7029d00fd322bb904ac5896732f550c5944e41b62b00d2cb461d8504579aa03abd4cabce8172fdcc2ad9471ae0db1e605af534593e439cb06e575bb67c2347bc0d41d4574245458e5713d85f56ad5c4fea928f317b6fc8502281bfc47bd67d92abb5a2246e46cae77527b5f57c17c17f2124e3f4f68a329c681cfc04ad9adaacdf80aeac0a7282c3ea65cdb11836663dc479a0835cb25df4d2f485f74a15a0b8b50abcf8437239da87fa9f3d80effd54d1f91e13ec4e98a2e906129be0ffd875d22a2784ca72872df7ce8d2107e06a4a4f818b587b6cf915042e2c06f2e96bf9c07161d3297281aa1a3eb221b9694cecdb0006329f02b1a12bd7fdb440ed567cf342d0b1766e77ea8e998685e16e886c272ec0bf8a29975affdfd91189b33cc2e919dce9c4539b7b957c6fc945f7175eff1571a35a6ec0c1aa7cbffbc93ad79d35c84e499d2cdc11e2ad7788f788504f38380a97e1fbae7ca03ab74b90c4db8d332f15e8b739936e3ce5b79046ca99baf57c06a1b0daa2ba814c3cc20540174eb042aed828720063f3e26ac16cc6b20c3eccaf1c138442a000c13b9d28bd4b0a55381aaba6725b83aa26f2681bf9f87656205a35c157febccea917594057db8b19b8698dbb6334e0496eb9a199fc54afcd263222e8b2a6ca0d6fe99e4e7a2454f399ff7e9b724f9eff5763a986c68993bc2bdb325c42f7d9ae91b231b30be4c10f74c9484372d3a66d8041301dfc975bc78721e64f285aafcc34a2d9af0fa2ca8e3412df4c728764f0052eea2f18edae18fb3635236ce7ab43a43f05769d8ddf3cb938779b723489dc3671dd9fefa78f9cae6ea6b903878bf3d62fde35cce1b5973134bb9972934e5fbe8a6e3a6d5f9b58972f5c4919f8566fc5701a8558aa080948dc3ebe727374c8b067587585368d03d9c87c6816bce83072409fff647c35f5591c43515e6650c168b7337cb2060cdd98eaa5c4ef482c0e8060ea17fb7a00edb90b6c1b7298c1f8c622b4408a5ef877e1c9be63fb649c1eb0bb39b4e1cb6d915d5b2f0f72c2ecedb96025a50415385dd4deb16755c5ff2b4bc43619d59e5bcf7cc3a86572175149cde0577b87b05098e9a6e11a3e29605656ae68e3dcacada2fcc38c4c72be0c8ca41c6fd6b86abb0f2ec68827f3e94df70cea4d5d9abbcdce0d3cb8f97265e94bc3033299da9d06e6a8958e080d79f4146670998c11ee60a1c5fd408272c8bbf49566802472da6c38af6bbfe33b2a27e8a36b3e5929bdffffd3bb1f53722cc9c9e02d0d59d49a8f2daab7d1b508a5daa125d4df161bf8d2c9db6fcf3e727011689cd3b10c76051904befebba29bf446d0f91ff389f78fa75ff3b2b40f728c8a4d3fbb6a82481277abae184e790f60fb7549272f978a5a91e7d7efeab4728932849fe6274ec40f4bc70a3b58242c87539d03e0a2eb6cb193b8466d1216729e5abbee67acf60012e2319ccb08c28aa874bfdd36a9030e7991a898d5c35372d55628ffa5945229243983f0564864cf808b5ba71fe3429326b85557f034cd28ac2e89d14716cab03d3763fcc6e1617a2820d9060c1a3ddef04cc5c1469dc17203fbff782d148f96e4c127e1dc5190804e63e2fb8bfbc389249068a219a9ba107a5772ad13bc47b278adbd9a5fc054e260eb10a99178113cc8d38643ccbf336d3372287025a8f2d3b8417d03dff02df0d0ef85a17e7eb0b213857f98055b163a7eb3ca305d095616c65d38f6b0dcf07d04acf14c4ecbd3c4d85ebfc6e4a7e94aca1402ce94ab9d5a0a07d03f1637c3a06e6f6d640dff94a7119212d0f18587724bbfba33179eb8f7dbf0e97174c475f180cf0f70fc46f4c58def58b9eb6d8233de9dc5a0b12eb0ca8ce15e195e81c4ddb307623ffe1db7f8792ff96faf27b572d5db72ab0f95c3fe8a7c9a4c13b4e7e628edfdc86986fe1d4168052db55e4e28c9c17d9c3945e27d21ec7667a506a3edbf76c9e492feba77de047a23981f187277ecfa5e72ec0b6a3e5b7e35e417ff6c0bda030ccbd54d3211d6d7e606cd1c45a7b835524ef20a5a2c3e7b5c7315194ee8263530006fc8f930adffc721afb772350418867d36258d4cb5317c3a179478639e58eff7f72569cf2739a29950dc4e9a32d683888a8ccdd979e0e213dcc5b1ba11919bf9f932ca89b27dcf00ef1172dd6da1c7c06ccccb7a3e4e24427e3f42cbaa0db619e198b7e8cdc96ccc02ff5fabc5a3a28a8685f75018bb6526019bf6b42fc12b7d4022725f2da9c015c8a172d9297a45e0a09365646a31a39d8643756012299f92c2242c4b2865d86cdc1d72ef746aa5a2ea72a0dbe2473a18c491d005f45d6a26acceca805cc55c2486cb72f345410713c52a4e83ff75f58fc0b4b6e4d4a506a37b9ef0c3be4f545e0b8d72b85f95e0933ed0e4ea6951330335f2e0ce4d7a3eb556dae537e80f9e9c504d72db2731f157c4f2583f6dd832abbf8ce6d71f8f6707d690a02fbc5caf3e909e72fe4de1405c9eed20bc7e5cb531262211b1c567d9cf845a880203e68538f2537267372e6e6f9efd06cf5d735eeda2aad06bfac9af6a34f9fe4c2ed045609f36724687eec3b9a34039b1c8e548720496d24523bb3ab2c4f4631f87d4a239e186720ee41dbe505b47810f197c69fdbbf2a4769a5ceeb49879bdc5798c15e7db114f51d5ec42837b8c2694f54b6bc4935c8878c4b2bbb0f0bfa78a660692c3f6a16b59c344b636d6f863ba80c32d7610bc744c53b28a08cf92e002ca77b95ad6cd721b95193c0728191b1d2dc5777124254ab5654f4b9cdee85b091d4e2212074b2480fc50ffe5a755eb03f11c052eda2f46eee6fe47f9fc1d0299a6d69979563c42764cdf16bcaa286745fe51bb9c67a72d6d8d4ab880ee42dbd3749039e049ce2e5800a0b9c7452c8f36b8d21c109735fb4d303251deefab660eea1ec2afa43172859c04e8a53e2ca82275ea6875b9e48dbd96ee2e28ae02150ad04a6b15fc072f2b7a7885c0e318af75fb1b80c8235ee3f212a7103c4b2c8c8b479328ac3d4f726fe9df1ec5468b0897264d957a4dd7dcb8e7aaba89e1487835652e4c66cde872a6ff3c958574bb52d219ea0ef905c63d267f656f214174d1a25a0613d0a6b6726f693201a34fcba18fc33d04b99966290991f598250a0aa85e31b04427a7ed724c8bb13b125677d525b4346ac114f0ab17eb58c6b65adc1d9f414470256f3308eba25249efd8106e75f4ddd23c91b33beafaca29118f397df528008e55201e72f9948bc0b09210ea1f49cb5d573c725d24f799ffbef12531b2c37851c6eef772f8175e20e8bc10f0497b616f2e040a82a18ca8376358522144d074c0b1f4ad7201bf4aece54fc56dc6bc6e137a86d31b686254871160cb16034d666c3b40bf399b1c17abe0a185ff618297a4117dcd5354f4ceef1fd8a81b40240a58f6fb0872fb82cb60f5f41eaf6ff50e463b1746c0a0fb6a58bae8ce5720f70c0271bd6a2cb76162cd257ca5879a48d4c341babb056c20cc61f6ccfdcd52c6b94e3d8e091442a75234b3a5ca0d96517dd62e8182a3fd15e0c06b8dab1c228a7caf8f1e964d7972b4cdbd5678b3a0f32626fe075db08ff53a7778e8a0ce8d817592e6324a4b2abb2545a715a854c83c19a3e874f405c589e5a65409fd7888d66bac1d7b016d2cb6e70bec2db5a5b1b880121dffff2ce137eb9d04044b0ef97446a689cf29727ac6c5585ddf07e1400ee07dfc24e4ed948711904cc823d3ca723b2ff710d372b8257adaed098175b0ff636579019431bbaa1998860ce565a214245de2668c68e97c596cb6e40b26b3dfd9a9c90861718775a4df76938fb8307ddc2689809b726d6834285032049b7064b6e17b79f75185e383f957142de629288dc27653af7233b54790c250f177325477ef33344fd4d9819d945dd96dc0c8fa6f90745aaf72fec2bd7d7aecad2c97e90688ef03dafb5552f9b8344a220fa7afa79aa21fa1721808533c92bb0b033ba64b4c37a286ec708a09a5ef7773651b59a7db90e2b172a92e2efa26b17e38a51a629b28f6965b600a8c342ba85452d82830c6a7e1b472a88266fe304c919b83c59ff7c9f261aa0804083b76ab40063100d8541defe072e40ef7de19eea25ee8bb9d4b8fb23057575aed21f7af3699011afa608cffe5720ac69839b3bb1f291be2236da070ac8ca7dda9eff59985592afd0a3c86767f43c28d8301ebedbc5256cd164687266a11645ddb44a8391dd035cb96260289fa725715e557661bfeb940b3ea1ef87ae0d57cfc6769364866a3837d02757ed762699a086e0e6ae2551c248954162353c3ffa09612cb94e6451af290ded90d85906f348b953a4011dc23b314f1897ca23d8a4c5b30b86a6944590f615421f2014d3d1f5a4cc27b4e3b1650feb61e78a9c29dcce082667c21806c8a153d3e5d86b0722203e24abd6ce917b50cb1930fec7314e566007f465f9362d071f5c25ec8843eac497e3698725e615b2e5537393db1d457580fe655818e14ad98c6b66f818a725f6112c43866da5cba00c3ea0c69c730b70577e33a2e06a394c68a0c18aab85f30c92f8f1ca08eb8a757c6800178cad5b04662189a0bbc4da1a94820c58f2172401e79dcf0ba844aa1d93b1c028395b6c3033d47f7deb227758b98230b0e8c7017b2def0c179426ae66e67d7879376f41d6184e934efdc2d4bd3895af99c3b69761a0af26c19ea2af5681dc9a294c35154b697ab790a2b2b75109ca5c02aed7251a1e85c5b2ea120da44fc69664a24d2a8ae17d36ac5d28cd461bbd8c82cd872b74c21b22fe15fedd4f7b558449843bbc59468d51d0080c77226b6658cc28e664525188dcb66cc5745668614a6b192a76110c0f39e3b0e4f20d255124ec1f1720966be8dc098453ee4526df86e34bf06d37a9d521bfeac2b0b111ae632cb525b766594d788abe7b6c9a428726a8d05767fdfe48ca9af371d9c4a7a89c881f664c5b77ecd1eb301c6e3207fcbb8d4266c5e4dc478f0fe9af866b5da63a6c33b72fa01522bddf121715302925eace78d8f848866c73dc10cd3455a2b5f848bf2128168e77335c4084b574cf5d1ad961dcf929731546d178023723b7c66946d1d668c763c9ea869e448d8d559271b05e4bce0566114ff38818056c7df46d553061627e2f33f82cd6d051eaf7814dc47734710dbbf830f20a96c9d0e7c6d8cfbb8729972a4628166312c6812cb3ae1ae92972a5b1f4704cdae49caab61a61f62276db9d9a9b3dbe03ce58597bfcd8bbf60fbd1d375b314528a831619067204123572ff94912615ba4370ff8dcdefa71b668b8dbc46142874ec67c9f97b5235fa591b6a6be492d5e516722b1c510f6377dd615fa41ba36c8280a6a7339ca7ab1f9072e7109f6ea8792a59f18a4ff990c7a0b88e28daa5b52b5cb6bae7a84b07d24f2d2b6f45e9807acbd2c906aeac3e91ebc180cd1afb183234648b14803a307f280fde79cc8aefefdc891e2de5e5bff3ea66d81f1013d5468c1a6e27ab65967f16726e7d841e6346f3abc340aad1ccc813a1e03d27c34c49b019fca1e72f26e8fb6ca832a2a8167afc35eb7f7c89664294c86b525f166842c422da39f0fb0e78e6728cd97ce0a356368a73c8f105cc6a4a330c94761e8d3d031dd78b18e036f1fa721fafe5ffc1531012145c43243fb9f1a2be74cbbbfef740dfca116c52b4e09b72afb0da9f315c5bb5c63a325090c50712fd89126d8a29ed445362c5a31fa5f92d4473e396e1f6c5dc6e74526ebda9a6c1c460d71d35a8b24236f595b8cacf024479d0ba2bc684e2e67be202bf2e884044ddd7213fe8edb78c15d556d0969fde726a8545dbc06131945ce663c4884298607f0d971d8530052c4c24858fa742be13cc8bf457c84435ce3ff0c119b0ad8eb990a6dcff4844ac62c368a5f015cf9372deefb79a55f121a7290ad003ac1eb65a39267f5b91721b396522f20d26308f09b592f5c3fc9e92878835598de20e7f90d9b3cb7d7079e9c171b1014804a5c571161725ba64c7f9ca1c77aedb170f42a07e859c72f2d3d2618c2810c0eda2426ed2df627bb83a5b4ee6ff8fd4c7865713901db1536679af3f97a2b4bd28460972c46d8594398de416c55badc322bb16eb4adc4573b3e3fcb0f5b645d9fe8638727785900c6ae76fba3d4d9b8ff7acf59fbff19e4e0d319a0e3095272fb444167259544b78d83dc908bec8e405bcc81cdf7c48aaae81445f4fa13adc9454850672e0801015e9cb149e96b12c73b6604d890698d19af4dc79804deaf542d5d1fb72288f800f37ab8386ac14b91b138ebcdb304fe6ba46691885bbcd1b53b9dbef728d9dd277948e8d0397cbddb8931c8da4a0f3a9b498d767d2964b10df07ff9b115afbb75722ba498f142cc3d97c08bf4d44ce141555b4d74ce1c69b96bbee3c72d468328456c1142896d71e3179126516d7a3fadacf7bab820230c477c19221726f76d8b7f966bba483f0a05a4b6e962eada003fb195dae8dfefdecfebc797d72fe6c89067f16e38f82a2f06edf79754bed3855916cf2239c8280f9b4fb3d6b720a2d930d959ac474cb5e0eaf220913084fc3333d39eeabe9ef1dfaf55de4a63ccbb6044a5c2c4efab043646b6cb318173401e154e2a6cbb5c77012b48e876f239e479d0a8e13080890c94a55b408512073dc36b30b64d6f7607f30645ce2c60b486ab7f0da301212fbcdbaa5a9e2f48f2457dbf63121c750fe4607fb2ea00a727cf11d8269d28caf69875714495a9855b45a353476f25564ce68cda16ee5240cdf2fb1bacbb42514cbdedf6c1e488a377f5db9a36049505b848ed29015ef72725fbdf50f1b4a728f061286c31af7da2a5e5785a7eceb4cceee85ae9250a57a123ce21e5f48caa276854a109487206be0bccb2881bf85bbcdcc35c1ade664fc7233447e0ba19942f8f13bfea5c50d286126e14985e20d6c2e0080baf2c5461f723fb0c3ce2620a5df9371d38ef7a93011b89e54b34c7e9e4c9d1473d2e0408a67dcd833e24434c3a7cce2c2165c18c6f97a65630d54002dbead4b2ea3c03fcd72624f4893f56a5874ea35e33622173824169876a44c8982216ad741d9667d577213e106c93c470a2e0e646444f8e1e5065f3f09d4cfc8d0d3b4f29c1912a5f53baaf6374f9fddc2b64d14728a97ffe12969cf5a518f20beb1a51cf900ba72b17290c5614853965de2c5bddf66beb5f853073dd63f5c3d69d3ae6aa56e86583672dde498bcea88ad2a0fdc488f9cbb39159275d88cd5d67eeeece5003325d9cb72939f2ef3fd3daa155b1154e562f135f01c03a20632216ea00c19d5b9d8b8e3724c6690341314806b4375332077454166df62dbb3c83e5238e05e9f7e99d0ce729c21073e1479d297bd1fec719c05ea508b743e35171913f7842f6424ebd0e5415e73c89c0a6fe03d3e990defbca80e27af968e91a06b3f2118c8fcdcad02177237c378b3d59f9a5d4e84760a88a463f1646da6c9ebef8d0f319468b196f6b57201366ea338b19ff749040abbcb07dfb862bbef68b0071a2491d604817655d4724a4cd5cb4f5ed54ee2de4fa27168cb123d6d5c65f1ccf0d5ad8eaade31ffb6448c5ea5761a79cc27417c65ff2992910cc1d20dc26e591b4e2b6baba69d877a3d7eb3c1d1f6781cc94b8655a6199c7841df1f023f98c2d004b52bea4bec14e772f23493d1856e29d7fdb62e8b096119cf7039da3bc602b061f61ae5fe3d5d2b4ce472f216e3c156d5581c815d2d4e3289fca3be6f5bd33ed69ca12350b324bb72c7257cf8b251e59da592f02d1735d79ebb9b66181f59fed883b87716a93f032d8175a1714409a42c7c73a049cb1187e988a9cca9eca50f7f078de2ebe803e0544b0f0db8fbcecc09d5e172e84d7ec0558317932ae3dbbf0a75cac80b59707f72913227eebb7bb7d7a4cc62101b87dc26b974dc58001b1977d25c3bd455af23721d1c52643265eb079f7a54345258b820f3bd03708fe34c889d1ebd6ad9c5754ba0bc29756d323b7135cb96ed42c7baff94c280792c7d61724bd7725c256e4c7276f1352fea25642f93407f50ac2d214ebba0e9b5514f490911ae8f077ea2806d94d0c8a95cbc8d0f9ecdae50ca754479a9557530a60b586d9c357f611ab07c72366aa46388fe85127d972dc591101c8fd22054f801a47007609e6331f3f304726cf9d23a2f73770a062f1404f3482f80332e272f6f7da53276c8941e33558f20407e18998b75bd57fbeed97b8d20333339927c0cf03b30b4553c39ec16d5987235dd358b8b59aa8ed3b06af603275b2bfbf189aa5ed71dbe4ef0e6b33ee9627268f95fc15289ca4482180d298e5c2a3c58763af0bb97735a763ebe96350177367de466f916af92c8987859aa0d273f62d349ae6f2f90b1b5e1949123e9035e576503f92a85e1517a770504854528b45bfcf8183372d0293247301c7f204c8b720222c70902a886e9031919816b5b1acb6ac8e312b004c88523425993d2cdbf72e674dc2c60c10e05b6bac0f38f816803935dc4f4aa7fc8088b867bdb93b0a2417073d7e9fb7240c9e2a400a578274bdbc06a4e969d3efe90d6ef897fc2c1cf5e55776ed34a3a177b4674bec03f14b47efded2830d96b472b34ece4b931ac2b72a823b142584e3d796994dbf760e0fd0af855d44a97590c5cd415e16cc175e572c2c5a04b40a7d8265bebc2d1e2f8ea798b20ec3d4fdd1121e4571a20dcb3b35e9b9d39f7d68465a4a1ff0b843f3a17c984fddf0ab801a123d9185a6ec2b70a72b8f053509bedb7e2c27ec4d16c5787fe0e023e89ea8ca76d6e4bd31bb2c8b604c0f36da0df3f79fa7d14c18a8e24d9fd03b6188125a0bc185a73ee757461d1619613461354d5be44ce02084b63649d4f97ce1da9b7d564189efea781e9be1d728d2a78c3745b4806eb65ad22f5ab77bd5810646bfc4a9fa86dc07f82b2965772e40010ff9d7c75e560b8572c6355721a69bddb783f5544c8565b09c457663372da9081a46d0e92c80780cbcf1a0b00149559b8886b690917f5e007df1046422aa69d085afd31c8446b29a824d26746bc28950e9627bf2d14adf10ee147e146721eb9bb06e184202f55cf462e5c8c95b7a39aee140b90024d0302b6da51836172ff837fcadb1d2fecea6792cef735f8d8e60d7bde9aa5d3040fe14446a9157472c4a3ed6f89e4071369ed066ef62fb2cce1f7886aa1cf7d62d5c7999a717c8a3c50950b331d84020b16cd34a6230840b380a2c0b831160f241d0550c5755a61729a87bdfc502bc06b62d0dd474001b1016663437cc022797f391e4405407c1365ea0e71a2c250391c37d53e52493bf334f3ef618805614009f9591cc1ec2ce7725dd1918f455114a6a6a6c52bcdebcc71ffaa42817ad3224cecd8a586b9bd1901cff44a8a0240beae5f3ef763cd45ef00f3b108dd032d87cf67a6075a7ea01a72564facd2d3dc0c2f2d780d209e488c046ff6c377947266300ae128c198e8a3725e9baa095fae80e4775915f52d763c429878985d6b477b74212682657e06fa4f1003ec3d327f37a8a9a56a7388256a269996998ff91f43f4ef6846871cdc6c721c50d5e07a87584c4fe97464f002f917d7c2780c92b8779aed6b3f700567d566a74738f7ec67b912c0dfa4cb5b4607f0442655a94bea71865077e683850d9172568b7766ea551f71ac31f90f73a652fa92cccc0815406fe79b158477d4ffad26f077422ede9dce7c131e4e57581913829364b9aca149e85a07ccf311483a0e39c4e27fdbacf591e616d7877075021ab781fcd913591075b5b998de10397a0472ca591ec8ac7ab958a239230279bdc3e0020d49fcb411370123a8cdbd36ed02309ad9ba95ec8cdef4958647df4acf75facb5e0b278d5c207f3cf8dd41d5c4fc72704b4c3732ef684a27b561a7146ab15dfeb288af24f0891c3dd4c8f54f363f3760ac8d08bb993fc55f0a7d94509ea5939834d4aedb7b147b9d1532c4e7ce8f0e5e65c1b10e55dd4124eeaac8834eac5d49d67fb6ef01d9e1531e9da677f8bc7217c2de6612bc5a76da50a2eef251c66cea2c9c20eb4ab5ef3c0bdc3b969b3d11c5e952ae6f93bf9feb2459bfcaf1315d280f9983cace615580923697eac73b7279535026fe5dbe31f448bcecbf69e7a2690e7e2aa17fd93259e1bd6933f1db72b458f78b6826a91576ddf29a12e098cb4d9383b6711b0f366d5c6ca33248eb723c90e702729f867e36cb0157370eb579d97e165bfcdd915569e965e5dbe91a50cf8401a14682ce5401235f9da1eb0374374cbe43f6f06e0295b3ff81b727e536b5b45e127a5c1501fe3aaa9e78dde4dee36c7cf6f13a32c425641ed30eaab41320b3266595168f2274b89e0997177256bcd6d9becfe5f76f69281b302f833a72c766482d573cd653f85b0394b2d46d42051567d3a7b4c03bec38bac3f62c311311eddcb200812132c1755f1ef2d6039202731835a4c82361062934fe66eabe7270fdf0b0b6474c35da82323ad553cffe598a3800ed75582ad6dac76c067e817245438ae7850ce17467ca37c5bca381ea13579d3527160978a6c2360429c9d35871f4c1a90c5ddb7f80d696bf33e2794987e2d1a29fb87e0602fa3809df9e46721e106488105eb2024aac95015af21e68a0369fb4b8cb73f992796ad0a12fe817ceee103463a1186678dcd338f69b21df611b9ec4d9df5092ae3c4d5ba1bf6e72279398909fb594da42470464d355640543539a4e0299ddcdef49b99a97f37a72955634bf21a299131cfc4d0a715ec1045ee43634376d12a50c7ff6e84509877207a7e3e6ec1ed79c97ebed1cc9fb41e0dcb35ac3348758a0cc4b34d28b9e315bc8db515886b7cdc911b15d92643d4bbdba2e56bcff7b80e8fbcd48836b486f724950313611df4e33de2f1c6fe5ce4a87352cc3eabff298efb76b05b2d9168a722cd57448f26f7d5fd33490b88aaecbd172819da7473b20dbe6da4d5ed9883272c00da7fd02b189e0e3991e5db2045c3981d3abcb57656ed1df57bc4a8a0ce1705fe9219103edda7b122b5e531dbcbe3ed8b4c7d2982a22ce0138f05f4fe45358590c4050badaf497da7296741b70ddda0af50032959b036e1f6bb2ddee4c6b70e86edaf23ac0195d0bd0a2815954239fd76fe691ef001562993e835eb662270330aa71a18e3936f7213278606eafb14a1625d784ec4cfa56d5246913fab87672152bc343edd73725b57e21772bcffb7ed282a40bffd4afbe9d96cbab45b0da53c323f9de605b30295d6f0e703d544c653d17c888c4b4ca7f7418c7cb392aef720ce870ecf80640e5b185f48f325a776f31e58389eeaf72f79d1d303212419572c1e4fcf6541ccfb948173adb6a69c2b1b369e043be2e2562c6d9a08a350c0472b1742e2882f68a32694dbc1df77dcbb49b5d20881e4640cad233ea0346c6183ae6ae9f0ea406d4ad20c928f52c011afbb83167e84408eee35536617c5f8aa93b3fae10396a2089bc8e1d72bc9e5df9f1586ed60c071ed8663a61d5cb87591f72deb6c2e935e16142c56c88d5e69d2436977df29047556bce976ce75e22505362d395eac3fb36e51da1786a5d987dc30396d2436a3b09b6faec04129b00825b72a20e9fbf5f24e26c7eb928b56b16dfb82bd4d6c3aab7c5bf3b74b44082476572c73ec20558c4af50dd8e023278957de4e846ddbbf0ae841e0917972dbdcb65054928e42a508ad1a259e27a1eedde11ede957770b1b65a8ad6c6a11d205c7977284258131a8b806055418923d53471428fe878c71a04e30b25edf8e21038298720cd40a1bda2aeab2fda3363163c405f536bc4abd3d70dda69b3f051455859572e91722865e3dea6375a28397e0dee332265fded63ef0434e5b1e828863579b720f96691d3c919cb22279b33032820e053077f7334b26e3ab93cc90330d3c8a72b92f0c5961f4ccd65eb42e0b9410b1eaa300ec8780402db4429f21e4527414722fda132cfb445daaea927ed22ef82eb4796e0a9b33b86389dce8c723e77e7a1583517efef3c16089597dc03abb66359291aacb8dd9cab63f625de75e4ba2e072b2bd70813ea72214300e9c934704cf1d1d3ba6aa4d934db4dfe778d333392c72c00c08bd13109c9360de1fffc469b879aadb335a4b6794fe69e0f1c1434bd715de8b159cfefebf5b71a9e2c58361c570e7f512185840e18bc3655697cb57285ed65048de1016f1ef27cdc44e8d284a58479e66926092dad67296597eff4f1a03a8f0bd625419f09197c66cf453f37251d4733e80887a39c9f1230297ce8c5c53d08f8272d1035595ca484c1dfb982a00e3b84bfccb7ccee82eda4bcde8041e107aa889124da19c28e184f98037148cf20994df6b2beb0ef101b9cd3507820a725e7e423e13e082ad8dd5a69c7494c9fa3d87c37de2b711b00c9b6134477c9a1e5b09b02c613b8df2025c43024c246f14d3d46a68145ef5c4b0cf2282d9a81b3a19f6937e547c4692d96ee8ac22e6f62cab84fcbe13ae0489998518235341264b3b3902caac66cd85d0a424f3579c348317bc7660569550ec2173eb0607ec7072093607fcb16a8a0d7378f781c0efef88930720d4b9162daea7f30c5da8e44b2b068bf629d40a9020b81022c84468f33b8d6e1130344ae4b9aa3d8aae5df8f17224c74e4a1b1afdff83eb330d17c64700e4592c6c82b01bc8bbfd59a89f0b1542e6a15c3e2adb84ceb30578805b3f06a529ebf95e24bd3b41e7d0973896ec9d721ebb5b06cc45d77a77e901f83d928a9daa90f9d77c9e1fd8d232dfaab4a7fa725c9a255b45fbe06dfefac16af9e51807e44bb0b9f6e4ee325485d1cf1f60d75196fbd32f6a288ef4816549848f9ebef28dae8bb49441c77b234ef993b2d32d7211b869943f7f797094bc674b41aab0fa287b50fa4cce1641a15dd373d866ef72390ce43142a9ee1d4ba65c3f2eb8c9d23a1ff62a070dd73ee75cc796eb44d772d0a66a0131d3a22d758e2fbc6d677348c47ad5c39831b053462deaa5bda61c7260decf2297ab0ec5cf9fde8bcf9983e1c8e4bcd0e978add8c3a4b53f0cfba3720818eb3abe25a4257dda15b7b7a3957a0b86e674451715f79eebaa5740e50c3a26514a12f801509c214236d2abe570f00bcdcf8ba959baad512feea13f5daf72b14c98f459291fdbc2df65fbb4bd262354ed47912adde523cb2983c1fec83e72760efafdfca45e7f74f42bad7dea369f633f806e8b1991f72811246022187038559cd16b905c41d46a7101e64a045130caf5a59718020d00d3bb07a3e5230b7265155596b1678b7b740f00627ce953e1f393e4b8676859afbcf17cd5b6c9ca728df3e7974bedacbf357c4193f004badf572325dcac729fcfbfad81ed73e7c8727ab0cbbf1048e618c759766ed082db5d3d843c3101e0f7c788605afde4a32472c4b4753e0a33e1766c1547250dc6fec90cc0b3e5d0f577c6d2fad02a8085ef720637611e1b48e384bc016670636c39f6e93a5de9030fd32d6a185687601fcc125f51626eea3ca53d3c7516400cff96de6db22808f0a426e0c853bf4f378b5b1837013a89fe226d636be2da2e688ac01384c04752446e62c59882992e825476723d2086e785fb6e2f6cf126b6bdfd011f35fb65ab71ac0b4a1b1b4890da4e200c63e8b3d677f6200a9e17e6df73410d9eea6d2272138463a6ef81cffe6d2f6d43768314bca3ed3831c5fcfc60cc0f26f777cda7b4abba14275e258a40d3223c3ec76bf00f2c1a63bb2364724203468e1a1045ea8cc76654c361751d29b68da95636e79996fafea3bad49cd544c09cfa9ed996f74f44596fcd4ea7be5c722aa51d39bed7d2ea1e96044ab40f5f5120f083341c267dad3a7328d1a8a7276012fc5a16d295fd0b48c3804bab718d64ad9e7a60afc3dd54427fce46fc2438a7170472bb6d84477a5353a14d2c45c8d1d3305c61c89e4f804c552bcbddd47ed1814e71731cb6f6d0891875a891578604b6faaf79ff24121ab1f6bb8b62437d3f6e4814de30c88ac4c7edcb07e6938c012bbb12d07f3c38dca559bfe1df0932effc0563809e32d7d1fd51e7f1a245a2917c06c1982ce1794495fe533d87098e2fd8bb72d708128249007e50deeeeaec1cbf48eac957ba43e639f9925866dd819427710257249f8733f1ef0e565e79bfd1c8ad001594a1f307d99af76f8212ff3a8bbb72e8acea2247932d1fee62c9fd20ef570dc9260ff5b966295e6ab864b9e446d10e549153b5cd4cdde7388daf98c97cf4c86bd1c1533a1702872509351f33b69448922846b16b7079378375bddfbbe3d6a4d998fad59a515790dc564ae09192fd721634f955fed5f661a886a7804465cfd50bd1db76368eb8a910051524c24ce172aa82a78c2ca3a78566e107f0693b930d2c897435d4418290c60edd2b024c25041ff6eabf7a79b6ff4142f2dba94ee46b46491fae43de53af94350b474ee95d5c864d46752cc7b4352d5910c0b5f8540f3d7ab8f05279e0da848cef9acf822072594b800b1880555eac97517793be7ccbda1a838ad47998edc1597326a3f3327251bcd782f9fb56e7fce63cbf9fda1a035c8850d3ae7e9a5aceef00ee1b1f56727ea9acf4ebae3f664f00fa6205a1f98187aca37557a23f220734ee21bc92547254886e99d16615853d87f958d6f44dce3fb02958efe9e459c9271a0097390772b870a3dd41ef511d9a5e61cd2a65e70c8179260622b683e8b6da7f922d27f8726edcce7dc6c7da7fdbafcaf8d06548d71ae75cd9de591bcb488af165b7a0c972305ce9e0e52f80ff9c8721548332cce460e47b3c7145602f41949875ab8fda72a88e773afa33cc91c18af4e6117caf259f6ec6825c3e5ce0ab4ab01e5398c872806d70a7854726dd6af17562d8e4e8bd82cc39217dda263e5b75276f57c993725ee4b85b38d7fdbe5c67a2e14e90d41c51e950f7b909a24c31e66ebe21a477723c6eccf7b31329caabcdced7f6bdb34a7d14ba8ea122f2ed2ef9e255a8be935ef64cb8d8019d9a4b17375936220a1fa3ba594f64a6f1ad317d91bc2e5f19ca27afc65bdef961929f6e4d920ce97d41dade76d1e371f89eadc0078e2eada19e72f9347b6d93463d5bf7e3765f914aa68a302b38583df618f27ff9bb3b590f9d72d422a5673674b7111d958044e16bcb5f5def3147f4e07a3769c19640fc98ca72741a358a367685b5b8443280b1ed13227aee16e90b04a5bfc1878c7aab55810f1de3178ee0093006e696a0336d1c894f0c081146e0cacd38175bc7b3242d2e7214bee5653bc0295578ba11068d8df8fe84378e8578d4ef60bb5ef73d7bce7b72d1a115200d659b24fe95e394d6db45cee780bc6309d9c73403babca025674d72dc7dd2a0d86fe48667d35d3b56c6f5a576603ada8e9aa991e4ebc2cf824a0772b44d9f3432e12987a8379a18b57895b56635f3403222e43111ead1310dd51372a66278aa0fd9b1c09826ce52d401bdfc924bad4d94649a0187ee028a7898ae720dd6184e9b5ae2c7414a8a67c78d358f19bd6aa1d19d8d6075a9afd8f789506e7319cee019041ff23a4b0d16b8f4fac3c39fcae9d67564a613bc65a523c3da723f4bdf7e9355f517de1432231ace3126d86a3d84aa2aca6198c9cd9c33cf5e7285011da34b0ff528cbd0224477f78d0e8ee1f84a6838a2824659ced8ecd914724c8d39adc21d27992bf6ee9ea65b7f8b26ec785d328185f9943ff47ca053c572988e94e04236828dfd419b7f22da1a41aa1605565de3ab03a7340621348d39724a833ed126aba1395f160eca84ffe46fb0b140ba36924490cb7aea6e4ccb627271efaf48bd3f60bb2d2a9d58c8303644ff00787e33579ee7cbd45bc9153e4672ce98fd0e2dd26f6962ed0259cc8c24ef57d8a881b019c5e6a218dbf6db5765160cd2595c4ebe08c722dab34c9d9c9f68c85172a8da333665aaf9516fa94da61ed2b9a2905a469d50aecb4f982c12a086fb2bc0e3a5ab37c50b706065c752df527d264997487d52f319c66f6d3c6aade1d3784ded29c0354b1baf65a0943b5372e93dd03c4530027d67020393609a9591c08ca946f33323c7d582de57b548325af9c42fe8ee272d9fb3578983a698dce27c72c489fd815d91181ab00dcd32075174897a3cc509f849afbabedc3094b90bd4d9f95d8dfd87f723d6e2e4161c864fe8a39894681d23685c77d93717e6318c6ace84c3cd1d553d7b1cf71d794de872cb6db8d8a2b1520e71f4d05ade558fa39ffda3690ec4a44094cb615765d3692524e6a352f5fd32e2a0723af5d1c0f59a7554f34aea3f6801511c2590ffba6872928a7bb80428b33ff85c08e001796f0bf8666fb39ef003d3efb2eb22c1c6b772220713b4d43ae753633cecaa1909394917096b1cb9a844c173417b48873ad835226504157f30fb36b8070ff02ce53dd8e04952521d0840cbcc8b5e1233eef41c5ca7bcd2a4534cc22c27b18bf8e8bdbbd86c0bda913c9f673d197902bb27d1253dbbd671289651f45bfde3b74e34f4df496353074d3c672a9ba4a984b045bd5c680b0763fef40938732e305a8d4753b80dc8be97abe3c9da74ef1e36ffbdc3726c74ae731e94f0ff2fa8a7bc5377e64962a6cbe4dad274e9a35aad34bc0599724398fe74935815934079e4e7ef1de5fbfa2b7130f0629647fa2f9bf7a1968e1d3d118ac63b5dbc79e39f32216df0e7d8803dd5cd563becdda5d3d573ad04ec04c1385d579c0de423f354e819a961dc9760e3365e050440b0cda50722162a496eb1c3b641b44961dd5b2919781113d86c55acb6e53f40ae58cbd2dc243c19b323073004dec933ae29c56afe63934fbfebafbe7d3f58a44fbe4832280566fa51720f7bbfd7ea91ff0cca882caee1a289deac54cad30fd0fdb5912beb3572f07a725175908b533591cff58d7b612d79d02332889745abb436043a1e864d8475a0161c871602d1c2fb73fc6c101fa2f989d87100c6a7343a56653e88ccfdb2244b72541807bc0058ae946998229b4a7eeb8e1ae313806a27afc01ac3023dc7606d72031dbc353a1031c770c74c20c37f25197571b046ff6085ea9942a5712006de27968d8d2060065125a3c9351b9a24b4fb262774bdead0825bbe664de3fb1784720143d3cc3f2400a11a069e3901598c1f1c1846ae5689dd09c22b594396c2726279724dec1a3b625c57da5bd15a400622603281c5308a6118cef45dcca502b20a2d9376099c2eb4692cbd8fd07474a9b0492ac379223762300541a4269ba963726d61d3cb1fde1d2a0de80cc2417601514eed1095d73312441a8664e1c072842a9be6898f8c223c599059a0ef754f4f7c570d9166c1114e82cc5f77ed6e528172bc3ccf48f6e5b40d91ec4612c34cb19f8a09ab0042de7068636dfd19b9624e72ba55257a2d004351cfa5c7c85b03f0efc0cedce6cf3843c8f646f29f50ad58725ef99b0f0fd8abe637f6ff7f6d63faa14ff23966c502eb5b120f66efe9f17872ba312f4caeab84a0472574aa97706982021f5de2991caee0daa805b1e6e97e58ea3687a4523e43a0cf9ae6c2144df7118fe3330b1c9d0818ba6b1d33b097a2722a86c6b0935aa9962ae9b8dbc21aeb18e9c570f7533490448a7e7988338b06387cdfa6a03989e9f627265fd97cc30745029dbe7fe6fa3cc6a8099c65a3fea272d21b465fde8e61d089d724afeaa9598d327d3211662fd8db90b084dde0ec30272c3cc7edfb76451ca823568a1be7a0905b60f8854e4b72b13aa400a5cdedea1294ff900e8fe23b25c9f4f77d82f23fb8629b203e6e08d0c44345258c68020d72c3d2849ac5cc2306cd30a2d185bb2f86d49c2a0c660599d0765ad817931ebd31aa347745d74a4993fd7f5cca6237afcd927c76a4bb515788e679236c729c5a4d939ac6e2abd98b743fcf7efbe390c242873807be0d9fc40ae5e01c829c945a72b9d62966520eb6bc8915fa265636a7c17a890084bbecf1091159de5fe2d86772b13678d2f58172eab23ef62ec79c9028621708fc9aebe2bc1cc9f32b4eb36a72b0d9e519d5098e44a37569b957a7b98b77c6662cd539d7516768a8ca583a4272e75b5a7620065037271e7308fb15602c97cbeee713010f8b1ae1f18ceb3f530be0f89c7ca39729894fc638a061f7f4a42c6f3abd0ed96b361e647a958363545258875142b35da69b8eac7679ecefe08ebe4e0a315721afa02a0960961288ad72404bbe160fedd049b34b02576ebff7cd5008bf5553f46ef4675c7b656866221b1fd86c5168d7c4fe13bc87b8c00ed1439ae5d5cc9f52d86ebd73c52209bf85348f32f312e9b233ad43e5151dac378e3e3e6a68fea699dd231457bbc948592c72899d045cfea5b76d93a17243188a7906595981880d6dc2912ea43ce1bf2abd13122a89182f02e9fc4479ae3866b1c1cd8c9dc1b6a903577dc6ba55d65c42ee727cd7045ff5417dfe429d52aaa3d213d3280ba27f5409c8ba44c293106a2a5472e01ae81b3b46bcb57504399c5a67b56a8795be4fc8b814db80ec37b622de8c728bc54d2fa17fb85fd7187187810bd2398aef8d3aeb4fe8db2110ec1dd2b52a724a3fe46d447e5b66ecdba73b1246300b74ac7f38cf1313c2ce28f0425aeb8d725934475dc080b3e3db2e5c5d5404d5500ab6bab8131f1c21f5d14e8df7e20072eafa090abdcd221ee0888a93419dedc3687734eef5fa8d374d99bf6218e5ce7220ed5e3a6bb2ee8e4311c39e6bfc52436a20d7eadeb6f18578507f0337275505c85e7bf3a41e440b4c85e9004e88e6c60908ebc329b00be4a201bfbec7732411a8d420a93cf6b3a3db4ed9459b7a2f0c05249fa9e0a01c95c8599bfb9a1f757296cdad875af91aedf1b170ad7ca5c76e4133372cd311de26103ec7a73811145304c55e820481fb6bbcfbef422696f9cfeae343dbe27c4086d4a9f6ab9de64a33f19fc313c0f957735456da112c04e7f8887167893992f77004d91fba5c288f62a4295e40508bd1da8a3b264d175da0a6d731e985283371ad6c6604c84617ac3ce8f42adc501775eb842fb94c7e53a097cb1f8888a0a8a402849b6a66b303c434f69b5cd9c7e89b10d0706cb123886d8652fea51b6b2269aaf3710ea58022c9724b5fb6fe2784cdcfc49a6dfdeebfa7b8a7a7ac6b346618b9114c18169201064a4d73b2fdc302721be0657978aec989a449b9bea375dd3b5f197bf27998f161396ab4add2091c624a09cc2a7dd6cf99203bf09dd96f742c47bca36f478ec0f272716ab3800bec90ed9797f17390d1bddf6cbbefefc8433f23ee43fd19bde29d72b9477f8b88a91a013b2f2caec6b9c276929af7a065e866c1429c107ff4e11d723e20fc0278a6b3d358de119531e28833a631bb69f1928b450b9136abc1448f720de1ff9a8860f55e93069e801c701b0e316c31c03cce67fcd0833ee5f1ac50724b8778d38c86fc8327dcac7358a80b16ec95b87ed000fa7ce14d634fde2a620cbd4135ef44ee65e7558c12dd55b0b97936989d2cf630337ae620404e6a503772c1a1e4d4453f47955f926439b12c57b151954a4931f4a53a718840e99966bc1489a6b9e5aee76ab7eab21c957608a2d6a5c2d2fd3ed3dd54c4c1f8c880d2507227362f3189e05ee869ae565e01190c4a57c49b69f101320f76c396d05827a14e6b5dfef74ff3c491c03148fe85d3891f466a92490c37afd05e13fc81044cd73b4d5ee506b4845e21990ae670ca32d80cbaae4bc093f40e6ee84099d39032da727e2a0bbe3ee4b9b09dc0d64968b4750f8cf509f99a34699411da229684b33a7281784748dac9944dd513cbd9994dcc07c1d39ffe2930ea074aa0399c21b4dc5ee541b47e4e972db9d8211aa2084ddbd44273cc1f2f42f1d22a94604ba8a2b07291a1618fda911ad5fdc90772fd39928737c484794e8d4f47eca03b228bddff35d723e74782cd9775175f380ed529d27e2a032308d1c775d25d4bf550cc001e1d68ec6ac47f2bd5e5f2acb5740397a963f36e0dd682ee3e4bf2756ed48297b6721a0b2f0e9cc79050ddcd81d9f5e377f6bb2db0dfefc4f79765947174051626223bfde996dfb90fba0843e4ba0001a2874ef28e925e071194fe8c8eee547a35726be4f58f24dee76b5d763634dcf8aa1c86cc6b7652fd749f78922a98a1a2ae7271fd03a35ffeb1a71f5b414f0abd208f416efd1a6cf0edf17456d09c97909d7255161ad548a21b38a8cd2deb51737c8714d8c7ed03e907159613a57014e9b8720de548fc5179d4f105b62353acb0b413bcaae7e13a87ea81904889617b30cf0c3b91b23b2564805aea0617bfce1b30d22a72916a0dd77ffd6248618f46997e729705fc676d36f7dd080040813bd74eea27c27a19e0854fcc0c9e439c51132e51648bba39e391e9818f2e465774d7011322b13ed5d9eca1ed73bd10033608a23071a54fd2a1076d82d45d363c997327af982d8f8d1b84bf15435b4483e4ec26729464578577c218fcb93b9337568aa9c8a18d0f4a953705fc25164794d37159724adefc531b849b07ce35f1d285e9f83e2ac4fa675e65127126c723e736313b729f80ee0093eda71ce01de99f4288ea5221795db3ccbab80efc2d0bd5991f524949d488239d158a3b3920cb57328e2e123c575d006ab04462fe8e342c68b40b7244d0078122e508552da07d7b92bfc65e144c82b4fd05f95d1dadca2e7ab0e529bddd7071504002928959af5a82820c03ac6793487c34bea4658cf155d6e950720ec3eeac5103a0de12b715db60aef72ba6374de2980fa319ffcc01f9739ae67204800482124128e7f7f582b5d5e93e30378b499f546594ca6aef41d0a35eca72539877723cf6f50f245eee60e224975895f8304c694606515b20905311185e003c2ffa50b406bf462b6088ea69003ef7f04f0b65abc4a9871e69b551d29d1271916b6f2d74bf6eaa8470ad5e4c748b219a1b5a20fb32ca3073d1a197737b1704e176033ededc7aab6932beea5d6344ac271ad90ac66f1ced2173ae543301537257f57815913dedf413b574020173dc7b59ed92dc505d9287a9e45a74794bde7290696bbe32d11e782744fd79be39ded0b8721f38b5c676871e79a21e2949fe72145c9814b812c532070044cef0bd7741d9868bba0a964042a4c86d7ecc29c71c45777738eec82f1ec2415f70b24cf996f5f15d460b46e556502501c0cc12cf3a828374759acb659b8e39937007622c42576a1a1cbc9ef1880cf25ce42bc33d7216f8dd38fb31d45ea2d9564425caefca108e3d946c33c78144191d414a4857492297a29806e35dc99511fcaaf8cd526b5d5e605e76484cfa7de7d62e85bfe9720f86fecc8f7e8f2e65ef3b56ea857526ce80b81f2e555f406bafc9dbcb816b7274a6bda122b783c01b95759c2e7c436613aca734034a80d7e58beee8b2620872e19673527b67824a1fbb1323f8993cdd280745841674dc1e4b043f35b8322b1b9a35a8fbcfbca66c05bb8275128a57c7b9418f32a34f0150a30dce83ecb6431920bc3f84122a435e87fe18f5a46755ca9ff265ac7963c03f00ef8465463d0272172385cdac1ac7aa9bb6a8a5ba7937f7c58613ef2506a4be0afe31c4878d1a40db9ae19c7a853edb6d20f5a992e9b4aaefcb06d87b6ef1193a928522531cb872582559e1ff93c2da656475ff58addcc1c0746daa8a601ab0b5682abffb0d3623f01b8ec55f7be0862ce437541e0526309b05b3519be18e798742d29be0120f425ca1dfa48a696d62ad0dce73319e8a3763c1525548e0f2390ae8ed41995b9472af6fca81a45f32a959276162e767f3346894cc24fddc9484a399932ff6aade00a1af03250aa0fd0e8dfc3c9d1b894b54169d2e4499834253d78978b8f7668f72324d9faa0194e8b81d2992fea76551c10942e30c96e66fceb7c5ea0cfc079b72f2164f351c5f674351f427aa457027294ad0a79f2cf983a053f3678ca5e1d049df4759f31f6ff6bc5952957932dceaf3285fba1a7b26f962f6fa767a95bf8a72099d013f37297412bb56df2da22883ea94b9bd4fadb674103d1152c2945a447257cbbaef03024e91fcc50a2f35f47605aab4bed0f1002104430ad22836577d720876d42059587097c4c1108c73da39b9961e0694c5079909cf64ac219ea9ce72d646e2108e91ebd3e5547d690e4702806c1549f9bfc73eb2a87698dff793b1728af2ec180fe2dfd5ef54bb7c6ee34144544ebe612d8012ddba072bd7fe324372b9d3581ce4c680511e049068edf6f22290ebda9f7392af0fc499f8b4a70d55727eceb49fa76912710f81198de3ceebe101a6ea69a96eed12f1d437a177167916433ac3742e5e3093ea0a6d18c1aa87695376a2ffcf84ba00093dd5608cc13a0fcfe69d5b26fa897f6399005df430da5df2ca8cc55de3e9367af1e0a2c103c9723282192fc0a346b16ed8ea926880d61cd0138e02e4a1f99508d49290be9dd82ef920d47f70c1a5d1812af997e1d2582447c876bffe51cc0187cc18e95ad5c2116ebec58f7279fbe50eea30d2b46fa3ee6cc1a531bd1c76036373e584efb0b172dcb278d701393803e4c2d8e5208d68d5c064e247ebcf622cad9be7b819400836600d2152e0002347ae348878f0b01c38b3a6e231eeeb4d5cb430f72db14b4372de30a3202e70bc5c8a92597d19636bdf85a738bdd9836702a94a7d8eb2c6491e81c4dc2b3c16a75d2593813edb1ded1d2e569024a1dcefaae2badeb61e05e6655adc744040d6d7bcad165877638b60d07b8cdaa5a00814b555f67d4f4e3bf82fef2313655b45315c8adc9200d6d6e564d55d4e032508e535f4209daec090c3723a51b890f881ac5a8191eef1ca113ec74f91fa9479d0c94f0b9bce068943f772ed3bd3f4730c16f01b02124bd2594cb58fe8f04026dea85908992015b6e39f4bd80fb3e388754ba4c5ff4aa0c78842bf164e88e9583a74ec062fa1e04ad8b939df89fcc73b165017487be93d46244570577fef70298153d7948251dd496325723a3e33b4ffdaf7f98e7b6474ec2f5808e146b440923258b1d4cbccf00040ca727e3f9d52ec4e36b861959cd5e9d43beeae6e5607e8e660bf2933bf22e22e2847c4622f6e4398a6dda905d9ae2830954df7d7b7d9eb3151eaf884f1f61e963e6f3f3631eadce3ca27b3e75b4345b2916b4c250315453766fda83b63cfb4cc6d0e1eee3b510e19e742a0554c31fcebd20c1f934a0aaf7b8df7fb84e07a52b0fd7254be2c081c9f4f5a92a890cbbf0daecff36a5c904a34d2b0962a20eeb60649724513a78c040114bd334d423d6f61fcf6935ddc466814492d3068f43d252453723f199c75ce1c0a20153d788093ce668b58b94e2cb2bfb037ed5ba2d769331672c5a0a7b39f5d8ea4e04b343beb34923b174beff4de9524f15df75309a3abc02ab3de51a03516e0633ef1bb5973dc4f8c995041b2a7c30af980b879ed47818e51863044d8424f0c1fec9d61802c01b57d3366a5f8595255444f26391895af630438d8e2d35e69bde6230376e8e86a37b168b3b211720ae940347686aad9545e7276be399d0f24c53a057a722517ab6a6a19b53466430e4594e2c396d58b0b7872afdc03d3deaff6764c909180ec458ca1bd2458b513dd4a28016acb2034bab472b146d228a7c74fdf8b97d5c4f3702311e08628a75e39adcd1b62f6371a4f2372393db415f54b02c7d30e074774858af89a512c98b7f5a758cb385f152300ca7275b6e03c851a169dfabaf68f21c4b6d67f1ec0cd305cee132b4e90165d5aec7280fcd8cc39aea34053b7c339fc38573a918bda0fc735860b5cecfcf006ebb3725f9817df89d790d130e6400eef9f918d577b27b280c1d7cbb0d63efb409fe872f6899a3bbe9f49ec79ba4f6c65cd5131a98429a050be96198debc9d1da6f0d4d549604d138c171a3294663cbce07e595ab210eb11755f0b5e2e26b0121c1c11398faea6a9a5e684d07b10f949356dc2a31a4c12ee3d47671eb521e1128c0522bd9f72f8b8678c1ef5ba5571746f7898a1a04d785275e6b5dde1dc2ae26c11a72a501d3441134b2c32c9229d427ed7c7be90650f1d87a870d296ec28ab6a01e7271ddf0507200e5b7aa75539f4124a6762f8a3be0e25f23dffe4fb81bdd3869104a59a088011026bec1f1b9fcfa9a986a7b4d1662bef499a49104fa765b2957724d91deaf188a0dca2c8ad3478005b1b1d9b0694c0f02b90a6f9506813165ad72df14dabafbb7df4173700068f49d6adfb5403f682bdce7071b78e3f8e9956b72c43ac72d50fcc587c1d338f10859c60fc9f032ac35d88dcea65439d91b88697246f4e4d6713fecf09d7e992c1b761c749550038f1bc457ff06f98e7f8c90a002e564d3b8ad30c0ea26b35149b821f3e9c6922250713d88995ca4450d10f071646feed1a5c507e179bdec6dcb55fb993b10cf16cb050e02b762dec742b559944c02a7baae78a9db236533d3479bb21779f5128eff862c9b36230222519512c92ecbdb95276e02ca79b7e55ba80577b1659997019983a013515b77a995f514db0115b849f1ae5658558f1c7e7dc68753d9907ab7743543970862b77121b71e52703ddc0d693c09a7bda34bfabac0be10ddba96dd367fbb331a888d556c6f4d6459eb4f923134da4338bc8c54342777140af3376ecf0cc191573b97a517d6047372f1ff4bade157930b92bd5db685df2ca52e312e517a75862bfda22fc331ea6f724648ad306dcfc9bbeb6197eefe5df929938bc830123609f3b49ed28252785172bcaf1c74dde7b4bed5a8629495e2374c1ee1de6d8146fd5f77804aa1422ed1330839aed096f5154d0f871533d97e5ba040050a2e039b6edd228e5c9bdee49a716e9169fa557480491eb495c74b73ab7f9b98e17af0aba5910d3179e85c91b572766679659065214a93209851a851ddf45fefd35affe1436af9b2fb39eff4004a14442f538144ee3c07aa3036c2065007c73bdf87ab81aa7e96836bf31f6bc1728486edab84b1c4bdf5a62bbfebcfddc58559d3f07900a095afd66f46405e7b72da4d91b8eb06e5d2479cf5eaae386bd52f33c120e0200bd809610e33768a33723e23c271d71afe2d5f8e54cb546db71e7b8e9460b1a3f91349c7eb568a844b2a5a54b464232bc6321822bc14bdd25df798d90057c6137c480f03ffe5d1b0a772c85169665842b5f85428d67d3554041fdb6a492085e8ebbbb5c83d748e30f972f1c20e27eebe1b0f6f59558b232da8ff2eb1a494d2629a33732effd35534db72b3e0d6cd0e8a58fbae57404e289e7cd32ef24744560d4efe77b621db2c38c472fc407119dab79e9c3a95189233099e43daa119805738c918ae2cf3f8ec919172bcad1b3b0c6646c8786e67338d06dbc2aa8fba30c76d01ef71f55a147ce17072b988f477d380e5316a4afd32c8df30038a05eb68055742cd51c89aa03c089b7247f2b0763b55b09041795b08f2468213ae09dab473b7836f35a7054a8387e972c20fe036b34ca363d9dfedd07c3ed8a3b4512521f4855336282b4d84ba9ec80825b2b8f8e17f57be065cf6f9a49f96137250469c0ec3cdcff238c37803f20d2e1b2ec266d4bac70be09a25dc812c2054805b7b24dcf305894ae9ffae0884d4681889d1acfbef1fcb7b85587e72d3ffcb7ecc04b8e485818886b90d722d550172f6e78e2cf163009efed9f253f6f7db209757eaa914fdc590e43109aa15fb4b72cbbeaf79ebf4b0d2ab260213c19eb042df684d83eb01b124c06c3299db4f2e722892b83961accbc45ca203cfd0f0be059471eb6f7e9779d3862eab3ffaf57a72edc1da348c69a5a60f72e39fb6ae057b25329ac09dfff8a719296f3decc0615d8d2e593e60c920fca6aa4435891d0a7a12f5ef3cfc20f340e7c45eae3c16e772649ef925b37f75dfdfd7a38fe4bf013f7c0fa4b24c8e700a048226d9c29c5472a4601cbb9c6362fea691a7a85396042d54e52e1d90a34b57b38ada7ef78bc8727080aa3bcc067699cf9408695d43c81f0d17a91a28c12da025e21712ae988963dd6a44b61ad274f410da6fe163d726dbf0e434816bef7387f1b44f2aeefd7d729803717ceb5aad77850418f3aa6376019081cd50297ad68be22f90ffb35f5c72c3f1db8fca532c45e7b3be2ccd0f7aec140546e4d5037b1eb7375a4840fb4772f3dd68aaba8ef6001909b7a6cc6aad41d7b9c67ba0894e161c6151cdd6150572d1dbece58a0cfa19ce629a38a0941c79f3762f21839f260b434524c77b99ef720dc23445807a42966b0278609453e529b17d004381eb15ef1c561de1a3726a72e3686c41466ddcbe4a2be5b06367fad028a1635805077d375a8fcff2599c5d725ac7061fb952a80efa705c6b10893376492ebb927880bd0e2bfd1f1f311e0a72641c5c87a1788c1a65ce564ce5c62a96e7496d1881c3f58f61b4efb787902d7212bcc3094ac2cb7fa0043af03f83ea2351ecbf960826179420513165d32d485ed04560a1b9a618a395dec18318b9be10cef6d8b06878bf259feeeeec38721872b72ce11027071297312ad67553e685f09d96f0cdc2b774e3179e0e15b7b70372fde28467929cd7a26eba9f50ab55efa14cb0284983b39537643f5030f7a7ab4d3f0e65fc728b46dbe6548aa892d5bc9348b4b0fab03a894224bac61d12c64272968dfde9a2f2d95efc24dc27f1079bebed704581e52bfac066c182cdacda907274e0358538db9be059c2d8896a7ad68bafeca1cf1335d0c4910f69dd83c13c7203ee62d25d71fb73cabfa0a866c8fe7db8437b5ba4231e97f5a2e00c8b309012eadb864fd5f7fdc5f8747cdff2bb969665655705e7d86f28af1a6a2ca2de7272cbdc9894e10fe1991d80cf5dd44262b5b1b6a3a26f072f9c0149f831aa13046e6065684516ba05dda6e6cef9f005de4543624053416a6684ec96e043340c466c40d875c369f705d0b2ee973a215d595a3df250577d0372bfff5803bd5bba0d72ac81ef6994fa6942a3de19cb2a2cca3b420864148049f5a2d7f194e6e7896d6f83eb039089a783ce19b6a6104e27a301035cd350da64d32aaf3dacb00f064d72050c0cdeea9207891ed579a7efb938710a463b9399ad39a1cc15accafef00c726045bc71cdb0f5adf1ed8db7da560654c4c5938ce20bc3b0ff2c23d6f39d3512de1e5ca429a551174cb21c9d1bef4564dec7f4d14d6f8186edc955ea1767187266e9a0434522fc5c065eb6fe3e64c5fbca2e3afcac74c36a99c7fa25f14497721232e797e7009fc463d3d742728b702df230c6e48bae6bc65cc8aa0149d2bd729f7ddd40962bf904dc9682b4d4643e150a0603512a3e022cf5621020e6183c72a19a531a8d86c3be6910becd605627080b65e737f6f9609aa0f87f58d3b79701c06361b26629546b4c9d3d6e3a6ec1f27c3dd90571cc026d2fb082f39fb28407727e715e033bf542ee494da517bd7f376cd3bdd26a6b8e27336345771251ad72a54dfdfb93356573716fcf451f768a97261f9ac97a0b1a36b8daa33942fc5e3df9b5ee272efd8bb26b349c9c6d458444939abbfa436d90206fc0894c56c01872027255a2663b3a9b3c60b225edae2ff81569854d7d8a41b2a71150e8095031725c08d8e70e7d8f66f8a3b3e88219e6ed90374f20a96237d4a4c10b75d233a053d4ef5521307ec792599d0536e50a59f22fb0128fb68c17a337b5313615e4b06fadaeaad1625eaa047b16c916578e4ac52ea9076555e338bb69f25ca33379fe72c1dfc7739e481b81e6cb688447d604d3416bb012692178c01105c3d3fdb3723b203fa9f19b13f119808d56c204851a580f2b598a3e56c855f8594a8722ea9227ef4f50b1d28bd120685338876fa68e8efd5934e06038f96cf46aa72cec4262723eb5abc1415a7337b3e7d3c375386bff2e8abfa447449b2dc2f5aeb88813547204513dbe42a571ad6a84b28feff5e06274133e0856025b8f5372529e38f7d3084ea364d6d3e1a0f125f3e31656792709332e3322c6cea5e4e7b79c4d65b4e872650581ab0c74309708b9736e79fe5aab306ece8346b283480be357480c8dc751d7df6c96977d369e92182bbf31cb634d4e866a176031691a9199831f8176fe726bed2e3e432d48f056041012a79d507d8054e74d56d05067f22119ef1312577207ce22454a650dcbd6be1f4d25f6928e8ea29fe4eba9586c31a47f0ffa0a3b72f7ac3cac932038946c18de84404f867348be136ef4d3bc569b4d9eeeb2d88572180ce156f242c7ca7329148881fad1650d29134208168d9a76c206dd3f9f3872d7e142cf21e8886adeeb6412aa3013fd4231d6ffd0b04eee927b17f6c93a0d7269e052154c34adc98b52fb620482ed09454bff0bf8e2b42429d4b9b7f28b032199ebbfc91bbde3a1ecf740526b513ffaaa247e4e3aaaeedf9bae37159b48e072c4ed388ffe968987f665bdb6e6c59724a29c9beb7898250815843191513b212af3885520e7f5ed85ebe7066462ac729d220f1b013f7215bc1bec3406c8d46c726ed39ddef983a4672b3ac9ff1375fae1985314a0f2d1cdc2c0229801a772b8724bfb9c6ae62f2e09d96dcabcb8665d536242124d1be6c57e085aadc516b6f236ad8ddc4b60b22e3b21209d7633da696986bc92b9ff5af7f56782df494fe0d83ec25ff958cef729af7038b112f4be1329e72e5fe7518f7fcbc7e92ce207105c3361ba661348618c17736b50935d99e70ff7c615ec6e63f0a19532728b178cc5720a96e3a9b60409215211c930684fc80eaa09d894b5ad2f77ff7410fbdcd7c40534309d0faf9eceb7cccfcd1b049358cbed88609f052803fe5cf813b571a5320ef29b029520b13945698be4f0778a4d0a8e06c27a1ab45447c8407860a14a6e72c777270967df132b93fad949d3f75bc3e1215c84b790fea29e13eaf7f1342d722f22bf68666b5a5a9b9cc3232409badff5d85dce9ff6f2f6f60e04dd17b4b4727ec497cd17766f44d679ca2a86ce3afa932559f45fd22056a0ebcdfb82251b5150ab8fb9f82af428299e5e41bd40160181e3553f6de6d6a50336874d682dd4724c99d5e4a026b6474e393b41c89aa2d6a5b03f7cb76eb98aac0a9a73f925fa558f62a08270887be68d7a874723ef4611ada44803e261c7c63acdadd4d7f647728a9270231cf5dcf925424eed80f1a8f3b32437243d3065b8bcf74b3e13df21722438b1dbc731510d6498219603914aa983e3bb0cf371addf076450c72d162e2075b7c12998035e5e2cd515f4fdffbd83aa8fad872feefd71ffffeb32891a893b5ba4b7df26dfb7e11b341871fe074d1f4923fef644aa9c3687b9ccaed5fc4072b652ea94ca32196f5ad0b25986e131ab812da1cec5480b4b1607b3283624577202deb6d59c6a11c1e34a51540cc430fb59d6f24a7d263d1cf8130a41c0e04672e53e4aad97a939363359e177abda340a05f20f3d78f79cb3517763ead51b1a72e42905934c6477693ac9fcd5a2d1aa2a5eafd1337687b76c405459a684331904d513283963aaa8f551bc3a0bf6e8c60fe7d3ced7f7f9bc2b24494f70d47e0f72c21eb3bd370fb8705a18867a4d8b92517cc3f5ad5285867be8204e6bd9b1fd7256690869e7abda39af73fcb452c63e7d9601187b7e7e9c50f70a3346b6e1e972b1100545317602ad25e2212a70dd5d59d549ae0d21457930dd279ffada7f866ab2815fd02cfafbb342591814107f0f3420fdae6ac3c24eeece9e1e623d694a72f2cbcbde71e2ff80ceb0e2aaac4029edb3a399e07dff612a6ff59d420c16b621757d01589b885215594dfb8a130561edb0f172db27808de28c808e5db4046c1ce6ba1622e15523051c4d76419dcf824ab231a4fccf4387df50376191600e607229feb2d61967e7304c242edf5c4abc79bf8b29e9fdb5b55d9d08d56ee694cb320ea02373fbe34b110a941644a98f3c840b5901161ff310e15a2a0714d893f4729a7bd40a4b1c732dede8f477ae6c2e045355c03f7b200d69346554963061c97228b9f6fc547a52dff60fb76ab3991830c4bf471063c1c3332c422edc323ad072d9023261454966a79526afcc06b6aa4da4afc60cfc0e167b83c54cce649504243900cae76567ce8e530ca05ed8a79b10eca2864b474d34cff859cf8bd8d9e4724ac31cbc8c55df9cbb97c61456e0bb8aef4802d78a1b79422fe801f150ede072ad7ad69ed10247f931cc455fcb1d7ce6af7eadb06474901f41d475ddd4022d1e19bda473554cbc999e341f929a9795d64d999d8e8c75174d8c5b93c1197215723ab59d9111d41eb1b8d436204c75cb68e523a1a3a387e8dad00d09f1391f1f72b357a47799da9058003ac0f951363cc378d31a7a09def18453397c5006e57472276667517a5b84e00c4942d512603de0b5b29ce8f7254fc815e27aabd87a8672367066ca1be12659e69d8ed6306e4adce879f1370c52ffce47a734b5935fd008ae2fb931bcff8d9f37896293b07106482df1e7da7e6d342ff3e40498960c9b143f46337ad3de780b62ef10f42bd71d111dccd2e11e7b30c1db713c69635a5f222aa732bc3cd09266938b1e87d7f157587861710e94463f8921863b6e3f11c23752b1592cc263a583eeb2285cb515c0306e79044ec0946247734c8d4810fdd53d2824e55f36f3366aa48d6e54cdd72ac1b920588b3782d579742ba789c2b77919f25092b9225b0fe75635570a1764a5cb8d81a7b4d7a8bf2d739c8ff41a135e727abcc657467c47bd371927480da41c49bc3fe16cd5e0b4bf41f8793e963082721f50913b605574a1a7958772bf5c9ecadab5ee98a670488aa607d39e8ead0f72e5de4f0d85c2f389bf552b67570ca4bf74ab3ab161fec6bd41d65f29c5c040468f34caed8ed1dae54d7f132671178329784668d0e3cdbd523047d3d225391f725c10a5d2ebd4d5e8976166503acc43746502a31709f20ffec3d62eb0d0d095725bd00f8d2aea4c2161d6fdb15a2ed263b876b66ebb88c5f6de0de51fb755613fd9cb0abf7247c8bf9fa5c7ededf7f0041c69f262a1054ff575a852979155dc728fb2fafd2a7913918b8bd96dcac37af1f2c89e8602bf20491b8c8a99ebd3717249937813303900325361a415798b96f3bf7cb43f784851c0f498feaf44131572b8dcf321440f8c7b040df7295a0710b2723cea0162507c8bda1c610d91c29f72600ca25b9d3b8b6da472c3a9f5ebbe230207f71e629f4ac03f4460eeb782696e432fe434c952d7d01dfd8f2a6a70c6ded59e47346c77efa13b33c95c9e3a574a92eaaa7b947858c9f00b5f1163ceb0c48753aec9f19ad17313987c72e37031725ed60920b246227b564e1b2019d10212e6a0b15e73f93a5b71016e4c121136522e7a4d97777582fe1e2e2bef0b7752f017f5a54646b7177bc36808c1c42fa541ee5669f8706c482e0420be59019d0e73f007473d805316db6c1d4c2f35d332729b2e57e505027d6bd578f7c2283af5d8e70f8130a8f116c5d24813663e055964b84f0c13efc7430f9382f1fa4edd88098f5ecd79673da5bad4432b5a734d8c7211736c92868766faf092171df3f7d4fd722cc7964fbe8cb99e702bd7a81b6e44849d229be9cfeb179c0d8e18f0d8d58c7bc4be9f49e8158c2ae730c4b0cc126d3e80fd1f14a74eefb087aacd76411dcd7f383aacfc74ac2cf008334c53cb7249f14887f191b6f79863d3bc3acb1cd23acbfa2ec1a5e979d7188f9d001cff4268a16cdb7674a2cc29614f96cc98ec90c31d064949933a960e0d872b4e37487331f22ad4e5b1ddbbb00c0d7d3139551292b87dd8e15c4b3bf2b01c1caa2c0c97659f81e7c99fb3f59adfbdfc4b937d1f132ed8b09a1f89001dd4043dac751cce72f20821ae881a06e255c654f76916bb7d9b6cbefdc6b92ca124495fad5044e2727a9ec294dac5d93f48ce9d656a58942de37fe8a3a83a98e339282ad1bc5c880c9a0c82f33c20257c3a1154230505ead663c3cda60f6df5db9bfeb861fbc6e4723da5e78493e9f30736fdc76f3c78c7aa2c4cdfa3ce92c9070665d4837855155b2c72f579e4fbff9150b910bb8745cb24047ce738d47211e9c7c72db9ab8e5672bb5b1e18ba50b6edcdd7cdd5b134b8bd2d48457767a7deb696d2d25b033f3e5f7d479d266332ca2e5371640aad44b3079d29a5f9b79257572688bf01c11c14166c738dfeaf6bbef0afec6639b6b3255b763de5663035cf3f92ff379fcadbc0726b8a2899dd0f770adf2965830a42e63f9f08a52ff61125bce97b5c1c83a5907234af32e33b11b8ab75081c74a68119fa33d7a8c3867d0f504ab98aa1362a547281f05fdb6ff17f6ea1615832b30a07169eba6a27fdf6b07e544e616d55dd1d72a55261e27c5fc27f48078f61f8531c2719e78f7170b555be919a91dc11dac770ac640f3e209f3887f3cf40bef20ad525bc9d3cba8c4fbe58ed245e94dd619272bf899f89cee89f0b0e703a24fc1ea15acaae874df3a3cc52c23a0fde73f0de72b33687e3bfe352cacf6d88c778f0d585ac0aaa4b00a43629b7848d6391e83372e9325bff36d7c0c64619db21d2048a6dab7cc59b3b8207bafdea36da3f1cc472f6f0a8fb6c0218eea4656eb6e7ccd67c9c1456662996e7beab523e1e2dcaa172a787d98865cc5b21569a64c229958deb378030483e2acd948451b13c1d435c07aedd5e11f2957703b078936f0b909266555afc3ef7ce3b21449b41e629c13572224544a38801303a3d87811cc51bb9ca47fe514d5ef86314aac0b709f70b5d3b2c94006686f359e325ef8e441a114146dd987cb9bad25e9577583258b8f2d772e92f5a583da4bedd54eb60bbfcb2cd9f3ca13635e418252e37c2b7d302371d58247dbd7dc80a83fca1d47b5a1f8c37a4b4691e6ce9c4c0ff26bcfb16d8e6027209d419c41628a133f835d5fd9698314ebcbf03fc2e2416d4ac80efa647086972118542234a7dbc3cfc8cf8936e91f95e22878e1015133dc48c2b934f498ef10e22bbb4c1df811bf82660e1eba20f56d0de2aad5f8f777a1a56f1ca98e38d000cf3dd5c8a43a74c2803f6d93f1835bad1c9b2629a196e2ec463ca63138c1ed23258a7e8946055e6c7ede138a715777b421a9147023dafef4ca61a47584a9e3f72a0ebbca5a5d2d2562ac2744809420624e9bdc0cd364b9e1ff31796ff75b9d672831db0433ff1f130404bac953c5277f4ddc286bb38364149b4c4ed7abd65137284fe7a149db703d6354176eb2c7e1852c917a79eb5e38a576812164603838372234b52a8d31a86eb4004da91de2d18a1edd8c2c4d13e1fbba7789f1e24de2b4de45039c16ac3ba94f2b15b04d1cfdd475f9cd49c12fd3baf1a573069b922f572610fb1e3ba82b8ca4d0c2d69c803c100814b2b5bed4ed022941b64c79b209f2e12ff308896306155d32dacf2a5d1259f74a22edc35722e6c5e7fa1a78faa1872276c77bdb1f8621d59005784f7d9c498306094107b592d94bdcd3d6cca28d9723fa485e6a02a95e8e9047ce8ef9cd58ac3d8d71f87621a19bcbdf4ef96459007188b16f90456e962b77f631beec075f8e8f568c2c5daf69138a97c7639a5897277a01784960a1e12854e9a7a25f1594279fe6b11a9b5457541176a502dba6772820e2ccdaee28d2cc7c44ca87a287fb06b4e7e518c8140d4e2ef7034f2b9ac72d8f7aea06407a22c64070617658437c0716535ed301344bffb48c6c1a237385b3c98ea6717a71bb1d798c0427d68a9a39167b661a2bf29d981189ac9ee7e9c2741a2f4ff2310e3d4534aea0d898de690cc094afcd2df06f8388f4f55319f4072010de87b33152f79307bb418ec32f860cac47fdb12911c10079753be2b20f7721a8810c5a9627ffeb54a1922aceeb9be584e5832ab2a8b247ef0966607a5bc726a815d85f22b58dd14fb27997c05235f6e0b1d5dac607d7d1ffdd363678d5f72f093b3c19320a20d0ffb4b736964f029b8fafe26433f1ccb4eee09b7cd6bf82b8b9b66c88306779810f116d44f87a397d6a89d3ea1122209bd112a80e2521e40beaeb2b5f86a23ef8c0052b1c0cb1db454a28904be4031e61d5a00fbc1bb97724cec7e10f0436a7dfaa12d3b333b0c4c0aed1a9021ca4ac3b1d787ff4fabbe72460375cfd277a511192df4e5f10768b293a5658dc3bc6bcdef550dd5d703897211eb64d6157bc41ceb70d599c4428e8648097fa2b5b6a32bbe48ec123d825b722944187a6194816c0b17b18db95983f10f30b16424d0d438ac979aa2c4c0f972b58dba0163cc12d67c8cd068cecbf8d71a03e65e75f25c14674d6f1d91748b1642457458a3ac25ada2005fa9ded9d52cc67c123f27b12cea207443c0e339d672824b33a6c3cb838bf9bc599b75eacb632df7182d89ae5fd36149b4e25b827072cffc620b752b61e5bb764262bbaa1917d54a4009ed3c4f548056261b8786ae7297a7e567527e4ce4b6420684f3ca6598623a1720fdc1712502681560feb069538cbab4b7ea64cd257cd0b5c0d1f2e9689254ebf5e7c045087cf05a845e873072c91689ef1bfe1609b43f9020c29dbf447392e26d5457aae6041e6e9efb5e3952b1043575fbb2107cfa07ea5269e5df7d6189a7763c629a9e9eaf2908d07c7d7272d1e48d3045d4166be1bd628b2e26d8b928e0e2fb513dec729c61826ed8f2723db4213c802df6c8125054f3775e72a391eeadf805969465cf5dff699ece84726303abc79526d0cc8cc1cdc02bc1305492b227ba17948de59f626c75a903ab72e025bd25a3452363649a1d2011556a625bb67087379bd627338f3bd83b9a805cdaf7c3b1c7025edfa94b13e01971ec509f34e6fdfde117e218d1609abc363e724841b715c704987c5021928bc26830a81f4f5e70893834b2524da69ae022901c416133dca39e715f6c259cc2c1fa47eeccffa2cb4b236de080deb38a34867953b18a077042f44307c166ea0c5a77b5af781a6cb3a421a406aecf0af67f898472ba4db2b4eba08b54252729bdb82c9f4f7c9879128be7cbbad725a98348fbd27269c5008d8d7b9c1e6b377064c4e6101a585a31e8d22f31592ee8f13b5ce84372565beae57e9a9b988c5b11bc38e8165fe76fe5e96b6b6a80b10a5bd8339431728edd36688bd2add489d161eb23c2db4a02d1db5746fe73dc4c434074c2d94b7214d2807a3e9df68e254454c333ff54833ad6ed9885f7c7a9448973bd3a843f7246ffc6a44f042397662b8de67e6e1316596e6741a28d4513df242f7a4287364980c083195d5eddd53d2b4576591c3307db39ba896275a3cc0e664bafe099de3e2511b01af2a3f3bb1d99aa32529a86c29de174fc7a7b6ec4a5bde00044b3df3d351afba83a4e587dbf5615f41cdf20dd0484c6ffac04a41a48f69273ec9da372b25ac8a8b865c768b6dadd067ddddcd006337572e285f9f23f6396f77e3e1c1efdf074589146a0073493ba22b3874d99413313e25669df51b8c83f04f516f072037e368b7618ac60cd2edc3841b3266d0385571ee6f6d34b1f15dd9ad9c83f72cc5ef4995c0a7ac5e4a476c96f3f77c45a76a5ae35d4698e3d4ef28d3ec59b72d0df6052143198522000160be03eed64fa35ff55631636bdb1815a9f1c6069723ef1bcf065c5bad7349341bfabef6b80c021ad52d2523422ccfbfed2417a4272ac993fec802bf1d8c22a380565c9e3f729db5da7bf85567ba08135f37dd8f36439cdc62b539d5d47a668cb112a0a5038ac53793f781b15fce4ebf0a42d86ca2b34824dc31993b666e6ed6148ad0c2d8467a20cdd0119845e4ca8b6f455b3ac6b70be274abfbe7c0c72b38e682ccc9146d480cfab7be6471acb0d211f675e197249671dd1840234327b8b6f1cbdafb9b03683e3698ead3ccb52463fb34f0f4c72f69132f87433ddaa061d09cbc142ca74b83486e59c9dbf093face875133a0728c431506454b12ed1e1bc5be5934318a8af273bfaebb4d071a9884ff6bab38818c077d337e59ac19f3f0d1b8213510af8b57949987e329772cacdb3e718890872aa4cf294af12dfa6c222db6a7262d874362e9ef064043a9430800e0e6398177231c862faaba0e93f9de0898bced5af9fdebbd6bdc5485083e29060046ddd1472ea039dc5e03d144d9d9feac60d56be4f55ae3981719df617bdcaa7fb6bd5f072edf0e5a8b4b4ebdbfb751faf8480d6a49c2fdf01e1326cd761e3042d44c21c72ddb62d6405c55d5f65dac66ead36b2870b1a8bde5ee44db913a440d16304364ac27b196b49d0fce7a011f030a235b4997fd21d2f3d3cc376915513d6b3c88b51c9c86bc3ccf7de2524dc6d0ec82d08aa1122fe879bd5fa83f27b2f4806ae0672b7ada05595d88354a4d0a1e95fcf3977c65365b008cc5fcffd8d9a9d0ef89a72247b95cf0abd2db567758cebce9ffff34c10de929a0b8fe9eb946a538454652be63a7f28dc85dc6fb76ffc14b4722f7bfc943d4a70d83a729b5bd7cd0a79da11d933cf54dded8f1ecd96b84d58872a74d1a5027b7df961e2aed2f29c13de47720c1bb375abadcc86680a76bd5e439a4c3452025c5b6f3e62b8b3c5172523da72d84443afbbc163ab5c453f7350e2abdd844af1f88dacc4aeb9bc8479a130587227afd30ef5e3e263cf9e3ca31a76683da36dd8fe38a78df2af1113cd6f902572c5b4a634c2a2d1ec85b4787823d811450070d94ef6cee67468938a2af39e442b30afbfde8ac83d16a0d34bd87b1e452fc84cff50739d0f00c255a3f40c8a9f0dc707a2775229e5bb5ff0e2b72ee34a077cce352b4b55f01d88628bff6b2c7f1b9618732a06118e1d9c08f50718b44d3df124b973cb756759ef3dbd46f2d12772026842644421d8b92931444a4969491c99cf37b53e64ec22c72df00f25d24f72988f80bb5d695d9c5e8c426bb70ecbeee4463dd79892e40a76cdeb8c60b89272e0c66b9b5f810a486ee3983a24d957a4ade2709ceebf7678f8407a072eb18f726e1d175f31d69ecbbfa3afcbca353f111527b693799971a2e8b4b17e5a66ad22c04f281a8566f65725b1a5e5c9cda603c467260201cf3eac0e1c8c01c84df272dcd254838d11855631be85af1f9b660a845e41b0a1e72f0f6e6de7ee6ec42f6d02b072ab625921c697be5e78346341fa1db61f5d6d187a91579c0685c47cfd72bdd597c60dae14ca9fd59503df3a7e593c6468b9b8e9a0f9f4c4d9688e134a724490a907250287d65257ad6cf16df86fe5a895e3adeaf2ed14e7d4a68d89766765e182d5cdf0b2809b540cb522fbc66b7124a2131146c0bfeb7f624ceae90a726dc5895d2874664f8be92b7cde9e8b0da2f54876ae62106f506db9a0755c1a726dd0744576e93cbbc3fcf569ae3548bd3b4b8c02b2078f3ddf162032d227856d7bcb031f08b5db73295967333381533e38b34e064811796262db3f68d68a937283a8d7fc87b75db122614689e6dad9ef55ec0ef43ef147a0f1f8dcb39bdaab6e8486042de82d3c2d64041a888057a5b2079c4b0ba4d1e3f39a885db0f252927226615130bab6d35afd3d97d6ef21708e4c8a5124b6a576906161b5e002f14772edba94bbcf270b23825b782baa84547b91d63a6aa130310c33f052c0bbde567284b6dadf2bcc5fdaf3f98be39a69cb077b05a15f982d82c02186f18d9e88c92ce2fbbfe74992b0b79a7c918744b482249257d145eeefeefe1ecd2b1ef76c0533ca1fe7960aae11fe60c241b3100a5b25be81c71a5a8d0f1c26b9d902860a4f722fc406cf66d45102d174deab299580e1b890ad81a021e227ad82ae309f583172a795f0ed9ccd630f551451dc4547bd5296be9a4036a004fec2b65260fea9015eb4d9b1494c8c44ac8e21cf100d2c09a15528404a62e49b854fbdda9b4e6c171821fd15e9a3df5c2e307dece7e41afa3b5627f217c288d263c62f33ab13e34272f8e24c47bf5002f2db24d952c4341b9acfacdb78140c151b672d78e0c32c39724b43af1f00b5524779a062288da8aeae4dcdd851ff369c96cbcefadea35e2f70f7724d7769127576c65196b83889a500b424388276e6f3fe849fe500403ddf60b11c283b371b59d2857284f000e6197c0bb21bc3fad52dafcacb3fde376cec72ed41ecbfdc7173140c3f3da1c078366ab843c742b54b94069adbd38b23375c72e0f85f08ee15b9fe1772bdc90ebbe8f7e99769167584d5b21f8e321513528c7253b9206c53436b7967cd49fbf7d67ec39c7606740cfde5931eea9e4d77259672595df86262e9998eba4f460bc1af7f196b9495da5208f1daebd58c235f76a94d5d06a2be239551d85d9503678028ebfd690f01f2f0dd8dbca695f25bfe12d272488d9238b4907ea6085cc92cabfa4de6417d30beeef3088d4bfd746c2b8f2e40f2a1704f7309be298bc0633e6483480efc502b89770911cfe15f132a9118686b17f802c620e3251cf919c9e41f53ea392e65649cd8d9921d9f9729f997d31972eaf5c273614de31da959e85b0c3312184f8b66cd71dc6acff9302c50cad24e725ff56f0b3f27456fb7f79f65474d52ab667a9fee1dd3393dfff8a5a4d635c5722e7758bceeb52846297e84213a3e53bc859331297cebad110fb788fe4b6ef1297400c6afddba4eb594f92d690580c9b5d0c554f44525427c769f3bdf2753aa724a564cedbc96edeaad92c746264f3c50ffe8fff7f62e921cbdb5f4e591d85272a7fe5e5c28beddb24dbeb5c111c65644e8e8762ca219d28b1946dfc77c9669558964b81acbafcf1b3d44bc11fc848c973b77363e992cd5628307b9b3630355724e30d5160360b79346a35eed3943972fb88290b9a5e7cf2a44d428f13040b6661eb9bcd00cb3b6bc26d3cc80f32e48ec2821f3244f7f25fa5ffabdae7a1d667256ade9e937b46bbe329640b0731142fe9d1e2f68281637f0aefdb546f2ea79435a049c8e00a2b158f6268626dacac538d57a51d4449359a54bddd70fc378b8726c83ae2540f800740191c5b0c7899b3aec874f5421a6b6924dce9ed816d04172239a1080dccad94d3688ffc79ad8b20d9aa782e02dbfd1f4f805b8f07c20c47217878c4bb52136537ebc407218f7b024bfc5514c1bd0c5aa3aa522f1b53bc4063ca99fe51bde76a92b7435e11e8867b0f75f3cc50dd3c62c00987f94e31cde5d077fdc2be513319296130a601aee434d1a5c84adb87e88c7fe942ae976f8d47270858c9c36f6a45e138e22210691d39a2ab6b272fcd9e277f612202f1eb4e37258f8368cdb34bbf808b116be076c6c0435e232947e52d437d5c077b2b799522c8a0b81b980ae3fd13d58607906d53369c67a31c4d8dcda20cdeed9dfa2884472680c0c2cd71c513198b3cbbec4da340f2dbefc50b48794ca8271cf3272aae872c4f937be0c752dd6a013a1dc8eb81e1a0fd87a6cb1d8842eec9de6e268b6de61fe0273aa5c676471a756accc299a117edec497bd85094bb5566336a63f9d24727d353ae49477eab58ddc1353e4efc801faa0511f71388c06b8b5e36a758d79185a3dcee3e3429865c68737b847b95222b98dc6f3344ebee163f9a86c34fff572a3f1ebfdc77d503e1796e4a233af503ce485ffde1b4096c4458c3052e58fef72ca9fb45e5b893f3cb2e06ec07db2e5f8c8acc8fcbc56f6b4eab0414d04024572702c07203e91410a8f2bbd475ad2d8adb28b829755bc8c21bf1781a98b5ae253de4829ecd25a67c4682d220c20bed35074ed7d094838b6d0e6ba616b5792e8726ebf91ff9ea05c368897a0dbb58bd0dd9c86cdbdbdafda86b465429414fe6f5e4d0691c69168750e503f303f63240795fe3b2a85f375913be3ed46f3e413e972c063a4f3af1c450fe156ea3a07c346dfd6e08add7ec7c7682dbb39d2a67a794db511f3dae1b241a934b1d8b4955b9658093cafa6dd82e4ef0fb913b825f4c11b1d87f3e7bae22c260c8abad28bfdb1dbd81cf601fdc57fed78b054af59f5a5727d58a5701dde3686d3158326b61d70fe8b2177f2cdecfe9e77a8d74317726048d9b6155d426379fc2143632cea9e54c4b22091ec409a9893b9bea8d792ef8472286d8412256d54fd6ce5b70b50e15516c17a0ca862200b94f42681664178277224418e4e2c28b4889ededc3d8c156fe07afc22f9d6d69f881679274ec464dc720eb6330703e44fe04a6138d71be3ccee60ff0f8cf78fd0c61944230a7c4178725cf53fc03626ce4be8e3cda2653f8f979acb9862c4f544e97a14db5f39e64105052e40fafa62a4b0c4891ef0e0fa1f04a7eed02a63a4fc31270fb8bacb07d2112f251adbc974f72ec49e1c3029528d9197ff891cef2af81a51dbd152d669b972c49ef754d2263efc18997bf652ffbca2e48983ee7b2d6a608bcd1bbfa720d5231eeaf254adb7f9d629294351ae3d348a95fc3488517647f66289c5e20b9c145ae6fd1dbe8870b1b1d31d239a1a8e7637983302484b4a3c1d3ba328ae2ed2a13ac0a841860a79c3d23da4254e754014e6e44da2d37581fbc589f55fae95553672f978c18e6e0ec93b4a88b40265223bf385b0009d3dd8abeb130f507836876c54aa59a618ea0a2b7d8e818f2e94c4024c577a598f29e2d22f669e2793fee33172eb28e0481595f5dee345b814c9dc72c906d98698965f15b0e86d6b05689b8d72ea46bdf47e7f0b67a841ca285ad63ec2d6496ca2112167e129b4ca56c251274d2477a6d829a56292cc60b9879f0a3c3b8cc2819d4399f6d14c9a771da3bd5744762f9677160199ec83ae746e1f12d61d0356264ef561457e54b0eae703268949498c9236de5189f23aa254310452c410b465e3ccf9a2fca7748a1619406a87421058ad2cb094c5845857b2a4208d7deadd4666d3665de24979ce04ffaaaa8d7281f2e00eb096d45d67719daaf30695d68527c0243ea027b5d78443a61989043022b716de89e308de425d719c28681e72b29c54982ccf9c54dbf77375b248e272c92b834efedf43c000bbae0bd8c3d2d3f080eea9ef72244eb560c1683a8cae72ba9cb740f6f99925e0298b69bf53cef450ecbe7f34acde4462d3e5e8a54164720c8926aa9c239befeb8eb05af9eacbb11c8cd16b8fb2aeca783e19fe7254586c8b04581f7c6fa39dd179974d60e8a8efd6d6c85f32c0fee8369ddeb1063fb77280c6b8bcae9ebc9e549419faed549b62510670db43e0533d4e54a243499933729d32df846a5c841b1258d9ba0657371e37996928769d28be6bfbe851eab02472139292e0a2a1ad7b71cf3464156dd5ef809da8ff8ad2c31b15dd677e1d83d172a9441fba3b3596759976539f9733865a7648a05bdff8e965c10b80264a10327274eaa01cf98b830b32c6cfd2ae02298ac58c2f3f2e353c5e19809f3a3c547d7221f6cdfd56bdefb617b932c2c08eb537fbafd43c25a8df530a2a2e3d24c1f723d7ce7a37f18d88b5b562a132a1a51a9d0a8763eb286f68d8f064b67fd828637261e2f4344d77d1fb397e75f0fd02ff520eb65242c030e533a59087af4b2c4719b99a376defbfc3c9ccbb42b92745d0d40d353c6200fc0df66567c81d3a0851728e6967bc1c8e5bf1d001aa2742ef94ccd04c0092c55e1dc53455fdfaffc36f1b97c0b062fff82f1ba1e6ea2c7a2b1599c07bac90a2b06e94147b3200b046d4723ce3e30ac0566db84eba7c0d18e0cda6beeb5bb8f28509fb05fd6b9d46cab94b6dd1fea2aca3e1dee0e0ff0da2b2599e4ed215dcfa4cce521980b64a4c878f728e55b65f655518998023a1d02a6ff120137999d4a063c9f1bdf75bb0acc42d27d5022e4914abed5f638c0b07006166cd812812eb38544c8e38edad051546b0534c4613c265d05fa51d74036594cf5f10d838f62eceb613def060f54be7004072a25487adbf12615bd014934bfe368fd283de362dbda75c5ff5a5630bf9292372d8eb42cbb6bc25af1fb11eba0ed3dd133ea1b653d9be7fdd6f12151d34c2e54ffd711e8c7d3e93c81dae772cb9171c6dbca13965afab25a9e6dc548755029272821afe54d15e2cc5d76584812145fc16e268ad10f7266d9e65315928139e1772ec5b36c36d82f2d34dfcdcf4973340ecbc79bbef0b74b860caaa6f8ca000c3721e44f091914db2a9abebf0d2654c5e1f64a2463a301e4d088d56c562e441a65b895288d30747afc2dec1c8decd01b5323320841f7d9633b58495de9773dc59433e7629ecfb9bf50a69bd17d95657c2b169dc06f633fadd7e61a57592d7310e72e4efd418e230c49718e119d875ccf541f97b408ab07df3f3f896c5be98ab201561b01d1193844684b821e2708fa051167929b8a66dff6a2d75d6be55b13959269b1649df867c1f213c162077391595428f12d6a42360356e92f2a0040283a20845a09e272e6038d8e532c816be45ffb7f810673841690084ed7468990ddc5c72be9f223330de9c877900d8e974e02ba304dd2eec2eeb7c6f17efff0d280afe08ce053ad3ca12486def9d810539763ae852012da364cf7d97f7d01936c9414c729f38e4be7b69304f7aa5057206f7d57a545c5898ff90d4b8459347a3306af1723516b9b1359e812713ef90304b9386b3bd010e83f23ea27a3eb726c1f3193072d2cb11a11288a05c93b61d2d619834336638e021e9e9208098b5065f3dd3ce72008af8a2d1a4462f34dad380d830882dab8167f21969652b8e73a68d599b6272051efb6acbcae7498e17ba261152d8bd4a9190e6806f257c90135e04bd60307291c9d3e717f096b97e34c3b75cd59e66f8967cdedc6215cf058ece53dbacec7201d6ee2c86b2972d5a51f8f80a66c5232971ba7159d885c80c5985e23b594772788db0e0376c0021f06602c9c96a297c24d66ca109e0f553f886ef79e80ac053a24927ee0cb2d351485c669aa59415558f9a267792d39070c14502533c3ae34dfdf4558dd0a4fd0bd1f571ba7f2b39f5f9976f363efd27ee0145d2db4d3ec772ebd666e291e855e10b39d437c7baecb5e715ff9631f26acc87aea4b51d9e2e72a085cd33e10e595e9ab1dde21d8dbbf886b7bae77d594991d5c1042a69b854449c6e2d81458956f93aace51bf758423df3e2a8ada1e92621c8bff07cb5162c6a4788a90035d0313040a0d0e7c35e225aaf20f97f78ff089e88620cbd9aa088724aaaa385e783b95b3d4fd2a548eb599bc73b4dabc1e4f7c53294a00d7d6670729d811cde70d727b0fa3ece302c946630c275cd79e8cb8169e90ba5898b5c2c72144b6325145f3269317afc1a8e4b920f9488fb6cd08036c653f599fa621cf1727ea9494e4113f9ffd5ce5680cd1492f4209e83cdab0f29feac7cdac6c802de726231920ba0fc923322e5c733699bb535c485c09aa1c2a0dbbc5b91a6e530c567e961e8c1d369570e94a4678d4a031f6c6a09f1b918ea56e277edada3efe2f072e1e9c8ae24351f8c9361af6857c31eaf9b632365154d1b798bcc8745d1c46472332803e62f82ea83fae3b55c8730e7546747f66a389bd3b84530ace0ff876656d79037fd35382e9bfbb06241be9d80f1010e0c3f74e98c3d7b15984496bd9872c7b9a73b9c7165233946ab0de92f3a7f5607af6a9544247249382625f83e5a725a59e974fc22f59a6706cd3e4acdc6ab6d787e19683a74c6d8267ee433cda56871ee314db6d78a701daff4aef86bd4e81e56feed80fef56048d89af8f40d15727271a49520a13a30883a9cb774318170d1f5cb450078574617e6bcb027269c7227b9bcfa0df936087d9ff5b92ee38ab69a6a4be980f6e3578304c3445684325cb5a3d071eac635f54738083bdbf91b5fd55c27eebbfa6baa810b3a847e356c298df8cbf025070ff4508246b2329e7f5f2a006277fbc7da4a155bcc37d2c99272b279fa2a97ecf63332557be9c14d8b1754774bf381a0ca3e7134aae664119733042a97aebed0d3e5f63afb3153495d6ffe18e47697b5d4e2ded2356f9b3a0e72ccdcbbb8cd7adc60b235aca3da70bf8ab12906ca6fbad2f5bc9075f33b093f68c81fae0f6a94b1d8fa66e21e0931b2b0ed5945870cdfdb3357e9b06199427a22e19e4c8a327e9a33f1c5115d153b6c12de71ef41591c3fb41b146da560371c72bd0f9dd6a96a641b26eefd52e2753b6e0fd9751b99ae82b2efe97e3efe85f8721f6439781ce9e6df2ea4737adb0597ac65b4165db0e0ff5d776077d8d1f60672de45aa7d2bb14d17583c5c39a10399aa0a9655a12b22782ccd1b79df7e6f3a6e8f676755d9e77691758f1892524c74e776e0932b0f782e567df6467c979eba726acb1e5a41af47c3b43f2aa9127b7ada6fe6ac826d148243e4fc06d7118ab772a34556af456f04a787410ed5778bd2b3f5ceead30a319756e4a311c5d46362720da7d8c9b26939b0f0ddac0afa8fdac929c3275527a149cf135255bca7f69f7297202a5ca2ac1c2ab7e7cac5e21f444d2a3e11fd4acc9659e56076dc7978da4240cb7516567ded782cba46298126e06a3edca1003da86add008bc7a8ce4ae272785ee0e7b096e630e673d8f9f763ef731ba673a47f3683aa88c5fce806d1e76b205341ad9118369a2c6d9cb0fce13c5d83a5f9bb2e28f61c16eb6cfd824b2572186f6f4b448796f103437754fb30ea8b19f63e8ef2d481a51106bd31634b237200bcc3c66a25925336d164061111fe7cf452d894b0d5f77e8d7c136b6030db726abc79a6614d8dd521bde885193b7fe4b620f18570046aa6776b1e78f216fe724cc7989d89d86994b9f92c71c065d0339e7805b99b07caa15ffee0e084e3b972c8beaceac275abd9a28aec98ebe77287b1fc37cd6f4d008527dfed738c419572739ad2c97ce171457bb2dd6eefaa93b7205cce084da04be9214dd0bf9f40884cb9c7486f65807f223303797590139584d2837d4cfe42b527c1380a898ed1983b2e760378e69567f6458586ba6d0f2661982e273fd5824262d0d8d18172d2dd660335c8a5d8157bd9005eae7492e05b22bdf48d75b6c06cb487438442dd863208696b8a5218525d5f476f95085b07627e6d0488bfe5f84290cac22ab37afbb37237a7da54eefacaadd39572d474d36a2ffdaf699a1debd07acc7c04b4b8d35472f77bd9eff25638a43d9f7bde1518fd4a1a2e69b6f70cc701f2c8e1727178686df5376f00cf86c6aba86a562ce5599ba51885b62df8dd0a983e00e0b1c906906e233c03f70b1bb7bacc5b6a742d53434a40e57c2aca9a6859e424dbaba10d0072c04e2f39527d8ba66043d04ec901d790f1fa7651868a1e911527fc5b07f8696a3d27a008dae0e25f5e2e5907a3c7d0d7df43fcdbc3ac67ec06cc50c1b7525772172bd5eedc09fd3d5e43c1e002aaa8f174cb9b37908db282410a24fc89870617787cbbbd172972353875a628d6b710e7f7b931d55a660068eafffa7520cc55728f579a5b002a38623844cc775adfde491f2b80e7f93f85ee144456c8a12b41723b98de7642b4f6078b45eea9b0a5904ff85332d578aa4a9124a48cf1e076c57206ad3910629386ee2b0393cdaf5eac174c5ddae6d4b04fc6a5d350827e457f72361bc3ab8bd2a195a951dcb090c7e8c19781630d72a44d9261d8e3f6d957b1729b5ebc57162d224eb38ca8639a83e802b1386b309ef7b83080fe48031d195b72666de1db45ede0d2b04e99966f5942d7de4dd36fafd1df855071693aeb42312668740222111e30f95db327e88113ffba99189702f784b22149677dbe53b581721db9c26d53aa8f20279facb576509a56671d3567c6076c3e348c8c318d928e7209a7fd45d0160a12bd03fc995df6784fe8eacc424159437a5d4f008ed8580a4328b44f39d90a0e6471c84d01e3eb004b126caea69d0b570a0c21a1ec9d6bc72b09a040321393dcd94be972a8d0f92f33b73e5eefe2572d3cb0ac2c22be79903f2261d1f85bd19a30639494f84d880ba7a8144d57569749f05ac44113e6d797729ba274ba9fde85aec70df5cba272b6b7c74fb5ef694cab042df470b800c55572a17d41b619add036f1e9f8903ba3acf9e1f21f401fcdbe1a3fecfc51969fac7264b90c27bfdf2633f29943679d990c1e3dfba2b5143034273bfb57f16c90036f0d25aea6202b0ccdc6bf3cd4c530af27e9e9d3cc06c01bee9e67ffb9df887072f94d2c2c423b3c4fd708464a1ff3af4d70ccec6c8b65e053ec46b917600a0a3c99319b2a153ef8f76e43ba778e63d1cd2c065e6b1f0140040990efafb25fb072074ca710fdcc5f897fa492e916ad5587834448e72351973768ba0a4490420d723979e591618d62a90caf4e515f78238f53525b1d963316f7f9c5b44ec93a4a0729635490fc016bc3835590374425403f2018a9ae00aefa10cdf98b283d6bc134a1ec7d559ab9aa5e5dfa1046b026ef1ed5f8aa77dc0089d01f57c7193a2cb35a1514fc77345a6e49eb13a7da7228cfddfbc763c176163b2dfbbb44fc2c55b1725bdb1abb4af44ec50fd8967a23fcf6d2032b9b954707e3862438387d57850572a998535d5c7650d67d4254555a85910ae28202303e56dd6a3d5b67a4373cf55478325d22dedaedfe6d0f8906a883e329125f9e535a7071916a385688f79ecd72362df2c2a62d14ec64084a247c759580eeb69ccb7980703b72be205c7a0ade5534cec66cc2b35f0563caaf959a7d65f5b1196900fe0b45a67ae178ea8c25ef6f4eb8e476c1d9ccb6d5c32889dcacef0739c507e0d8759fba4517d722a6e10f72b99b3f6d342acf4e54353d09fe1930eab1eea48438eceaeba7107e33b774327274f4d89230a6e9fb6ca428a6cd52eb98a5135542c3c900e034d0ef3178399309721b82f2d68ba3c29ed61682bcc8afcea87ae01a17e39a27aa68d50de14ced725065c5757dd7c8e7ec8de043529fc5c4e8ed09748fb5fafa1e8cb1e85203fa7208266697e5ddaa361e566f4e5d32cf7d614ca20f7b086185b7142be631ecf8393d749d1505c03cde59e3151b1d9f233b6c4ff13e169ff9df817933ec99125772b5a7e53f2baa314cfd3118df5537bcb3ab0e7213991b6ef869d8b1a46f02ab3a1eb4e108e55ebe31a774fba42bee03a3e4fc6b4e1e3fd0db6b02145dc006732517b1324bfea775f0f2f57de09f84c4287fce82e3e437664ca07997dfcf572d02baeb3f494d4768335345c993a9418866026467038ed57c0f870abcd1c37edb0c8995c833fa693e0c3e6370c04f5e27a9c2517a3f05fe5b78f3485ae0337a9f25afd068b869413634be21c8a62f231c18549d80ef1df285a637a06704f1299f72ffff408e99aca9837a09d7d48015670eacbe2ad6687eb353becf10e4f4226572739238b68ed03575d3bc2eda7fc6fbef0401904c1b57996a29a967e68e151042ed99d9cad4d5d90aa91f82bf4c9f80e5c4026bcc82a5e53cfc775ed843ed3b533c742c99dba29ae8c1a6e1da38c54703f975dab2486e364bc2ec55245ec20e72f2af10e0a03cf383341918751b1e444aca23786303f427c319d8d57183137c72f92d328cf546cdd43ed6bccc2b8627b622fcb473f057023eb653d3ca65803e725170109e680581734542665b90d5a20108cfa965eb3851d66a127d43b9a2744e71bfec12b053e8f2d0c77797a7001ccf16097db4f33d9f1a4f6ed88bbad9072d2f65e7e9013f3c8d306865c594b4aa178d5875925698778dc38c0c48e9ec99723e4b499870ea0b9a8c10185acdd64a0c8db5b5916757ccdc7caf4d43bd91d527bbda49b79c4748a1bc3f561421835eebb97d6d2d5bf1d3904ffdd0f57e6d7e72866d9b40f27a2f9e72fecabd8d383cb85f36e2d6119b8a48ebb91aadaad8f87288bfca623d1bb06c0b486b4695654474dc760a2e238406d9fd18a4b5cdc2e2722dcf2a34b5013b4bdebfc0d22e12c982361bfdf72e72aabe9726e94a38d6715ab6fa5ef8243b692f809f8d44c4b21f67a6e1184bd05ae3eeb54b440febe03b318ddb92595391b876928bf4f11260f580a9d6b7918f2a13b8b3668041eea1e4720a1645849f7e0b8363aa6c4370679896e515213cfe94bfc50bd7cc8a60ee4e72f60025acdcff4cb517aa548641477547e20b976711ef352539c9f06e958a8b7253ace923d49b5852d3449623b632d648041b55b29d3252381368cba50b413c72a6d0de7acbe4b3aed2869d7a746b0efbf6bfaf97e54ee6b6d3351d8df0ad3d6f0bd423b3372ef25f3e0ec8c8f4ec5f5ef2dc5e0b7dbbd26aa2dff016c3d79b7260c332c6adf8282ad63c2acb98d9ef7fab3ff72abd1a4e04eef04750b81d2c72b919d434b0ee1eaa2dfe7dc937def09bf1e7bea985e06630a7fcf5747224b572b2e2a7c0cbdfa0a8609c419dccc5f1b106847cc53630315e1766b7c9f1ad3f72bf069ea7bea0ac1b3e02781b01de5e50f0a9032fa8744054eb00d80e969242698eac24b54714f5e4e8f619ed38ca957672772bcaeff14a733940fa95cb47c272cfea1a06b7aa3ba4ffcf503476b4916a35b4f1a74aa808b3db0374ef832f780a66fd79778b651515ac5eb3cc8d355e425fe0d11d8feb5f4784ee300aa2a2a872a9d7cb2288972b9026d48de835ee2423bff1c8764298e79520e71481859186725b432f1de9246664ea546a6857e1f94d6880a91b70208b6767ead24c8ced1272e1ca870dac352648782be3b3e180475f95b33ff323154471302ed55e5a5403725f8a1bf1d0d62be9b47344850d367386eb52988f3d6080699e23e7aa84aeff724e105dc63a639c99470eadc67900a5847b4755dbe0f30f11f78948a68165ea72cfa408127fd8341621c3207f2c261a768b33ad2ef0756c4bc795e76609bfde6546efb7774b027d285b6c93b217698b9e9c7a090594b79494c521eca2c8a4c1727d0fe9ac3e2acb674e6d8b353a4d619fa5d76972e1dc4b028082d7e606afe43db43eab6a3d4a8186f948146ebe69ecc11889505b8a464fab7d59f34ff673cc720847464948c94d0baf8fdfd05af7a88788657642b8037957c958ad6e65d68b72c41bbbc74629115de26e67cdab2146beedea96b3f807730504ac36308e8dc14d4ac7efd0b5cb91d53367b0e4e452186bc9666303ef25c2964c7a86ac34263039ed7b36cc0ae939de4a5c5facbd42bce1591189ad0d5506f239c81335dea0a657c9bcfaac505282706becef71b05523ac6da422f4797299839dd704ced588c2724f23fa8217ce8279b153ab1454e8fee79fd463261837af02a8bd665d6a4c7a721d8e52c984e74754e80c33a1b7c92be96da6b2624f527811f9a54bc4b3486c7224febace6f1502b35cf76fb1d799d0e7b781aa814559907410832da8460bf45eec77bec243d3262771ad26effed647a3f2be03263d90b244191611943ce71172b995ad379475121169d3e55429054fc8bc7f9d87e8855743fed753d174c25f7290cc2350d45615a759f18d0dab2a05ee5d62595223515aeb2200874f8b87b4723fa0277aab8b930333022d245d16568ebb4be539f1cf340dd7671b7200e69d653bafcb722631f8e86ec29de02bba4768cb2f7e5e4dd7953a771f883b175bb8723cca9784a89d955c9049f26018dc6cd51872e17a3d870140c56d6bd11bdd8a519eafbacd2a87b4c15a5dc00f602092f65a6c44c723e129a0e2966f82338b733e7920efeefcc0a495582aee8f0eb6ad15f8e48845f5a1f75cb9fe34a8fa89c8721e9f553f61f0ccf9acbc66c227f6858c5ac1bd60ae6c7ebe67ab52d9d0222d144df935de39032625da8661ac2ee6fead269a89412612c06863fe7b506be0ae725e29d9b0937d1557abdee9501f8f5841f6d85a7ed7e5cba62127aca18765ea1e9e798c1d0599ec52bd36f21b5826f88ce884aa80bec356777b8e2252c1a0b572432bab1eeed41816f4fc39de51182076ece2a4ceea5ff6fde928d6c293d7b4726127cb8b9a559d0e37f4d706b8e7a4782a6323a7735b8d57c13e640c3e939772722a3a18d3a8f03ee2a4976782cdc548b27408767e6db4c2c54caf84627fd6726ac49752b28c7937354e1998d5f3802b6af6118618d99c62e36e10594dcdd3728be86a1e761baf1acea9deff0b4a4a9ccc0c7e27cc3971ea7f81b1b9c9304c6e0140f27f1e32750077adf4c002f176b7e4ec7d2566e97fccfe4fe6f11369f4727ab4a2763d07bd6be8ff3c79b79dc105e6eba50b10d1912f73fba3b2b335d272e478ea217047b3d4e40f1e93b07a82defba83263d4273bf3a0036d07eeeaa34049a77f71bdf70867c2e5d47227108f2e66622c93d447f4d99ed0a04adc31f272c09fb11b175568c5d5d701b58fac20f69f624cc9774a3e8c519bdbb9169bd81d0fe51d11f35ed0cba32bad6085372bbd4deb58f1b59c69b88866bb610e9c58032a324324c854ffe0fdc49817645bddcdf3a73301d1c7a7e1a8d7642286f9bb5ed9d754ac34b775d6c25c5f50201179c506cc1eb19cd8b9dd32b66f2a38e3d27220f65682989878fcddf5b6339581baee0f567bf8b5bb24e0d0b6f4f8270ac672cf7d3ed21d39f1348bbc900700d8a9c4abe21531e1aa93f298c2ecdec5c29b72616555c4492aedf25ed34156c7a8b1d1b19a0caafb8156ac63820d480a8ce249646819fd690b745ffd8428bf22d6900dd4273f4620cbc9ffafa814584812bd126ade43b3422d64ad44c08ed1623e498992d1529fd36769f6b694909f30dc0c7250c77764cb4c493ea357c600461a2b37d8b5e775d94d95dd744aaf503448db0cee623640665f6b4d83f178578ad1c1b752b86dca491931e3308196d969b34c72f1f40db5094c11044eaec8807b40bb06127493f0867312709834e7a49cf128729e269b4dbba6bca37c6bf6cd8e261b6712038c35549d22084caffa704777ef720a0bf0d3262076fafee8b852dd9c09a1b0f6ccb3fc1d9df4781b2288a3ad293b56f2185837b13494332c461f1c6537f88a1646435537e919d14d054f252ebc220c8f0da4fb7373782ec8b9a42fe44bcec557d4c1ff9bc8db26e4cba8ab968c72d3cd9adf86ca7b80d4815636bad9516be28f8e7309b4bd0c929e2a4809e03254a48767c673f7dd4b37dc6c46bcdd0375fafbac4f28ac77d0f7a6ed0137a1902d31b84e2e53c4571b84b23f8e650e72b289bedba1b3f31d6d3caf8c78cc8ae8727d648a9fd4054655c04cd2b8045c6090251d2c30fb7692a6ec5b58028cbc24721fd7570d30894a3c302927e0a74c1573d03fbe30df84e69f159b0cb8b7d01402aa57e10666ac37991ae886ecef739cd920eee94e664111a98a4daa05650cac118209e1225612dc6aad206aa11ec817bea5cf251ec364a08ad253368deb57ae7212f28b7853da1d72439cb821fa074e63e45f3297702d26cb0cc4ace237d6df23e45e907366c9b874f31f833136b3b1d0879ff488daded944f0177260155cd7723727a80755e02b9c623c757a44210ec780c470896ca343c732f8a3685d69f51ea8faf5494631acd4ec28005a900f6c211b925c49f6a21e3087283144c972b37276079f697845078215e4ae4221e3ca07b33f1d1cf5fcfb8520864bf3fef08f14959936d3fd00944449dda9fee077d0abbef5cb469e64a9be01b4de2febde1b36931fc165fd3e79a69c1c904cedcb1e450dcd91cfc70acec1f337393de518852f2719105354c9426054ff8c779dab05e3f7275c6f93b26495ea34abca2f15aa72172a9d11ef8705f8e1d31cd5e10302b6453362a3e36426b401a4483e72cadd2ff39bd7f62874a3c89073a2ea64e4175cc6424737e2c246bd1e1139430f9e0e72ac6bf5c704236ca8ad2a68f6d10893b52d37d8c79d7405dabda2577ddc21277213e8a904b304f091588ce1697ca5f2c10d0bdebcd963013f0e602f32e5bc4672554af3c0f2eae3b2938ee8826de70d4862080fd0ac3fa77dae60a9a5ea9e6e7278cbff60f0696b574e0592b84acc562b32a981e9347d0ac55024a48ee3bab92ce78773f863a665a08bdff01c3bbbabcb67f939d7bd12c66e566b04ceda1f484f1597f606d689711f04fadfb3bf5a83cb173f4885d91cc76c575521fec5edb87251f65848cd4b21b2b973b788597bfc5d9e074dfe18b943ff2ac4e9b3b8ab7a1195e9552fde71d49e32797a7a5b8b3cd60d51045e9b895b19fea8702fc48efc72a8be85bec2170091cc4c6ac134491c52602af7138bd47523f65b82f9a1908a7237a1cc63996697f2157092316645533d47b9e32d83cc35c69fc8c0a78aee99726639d36c770208a85de3ecbbdbb00b177c4483064447cf42ea79d73520a1e172c4f16f198a563dbb9d2f23239a63d3d5e433624c01532ceddd0fe8e7f4a10216d014a18098221652ea3ceeea18d5092686cc0e00f8c9bdff2b04e6951dfb6e0b400b1900afce0d37c2c7fc18442397b7f5c06858c989df53d0cbc224e1562472c031ffe272738ce5efc824c98494c4209a05172d7c54fba2e82f1996afd2a06f3d534d23910e78fe757ca79da2f83c482ea8ede8746a2154a325763e8ca94c13732c48c4ef335ca44b10e41117222aa02c560c987190cb2ff340122ddc2ad267976b038b230a6864d494ccdf399055e1d09c0a870da0a0581d8c5e3b579c2b72a67693fbbd2f2faa3b154ce4324e80b6aaa662967858604b1cd2e54144c0cb4e17abd5aadece83f93b59c255b74892f46bf0a1a50259400e549421de08c43d165fe7e09475319810b5fab9431122f19b624a4e4fee59c0b8e481aba791050572758a642669fab0ca6847633fc1c6b767d7a857af3ebb3947dbdbf0300ee5ca0a60de1b911e1cc11584710ea1569ec2c8f6543f7b80a51535b364097262bb8a180d76e5218c1bef0bba30fd6ad2fb2689f5084d3f975804a842896bd75f17eb36d2b910818d1de1480c47c9dcd15312cda5482fafcdafe9114cf99ca9cf06fe72bc37afe6b3ee15ee28d8e657ccf58f97081313d291f35756aecafae4df8cec72ce6a2ae93cf26803b231456d35acb64d34c1940efe368b2cec118f72e93127729394be68caa358764e98578ac1ad20ea47c89db4c42097d95f10e9b40110c65fbf154663321d9a7b0635d4b78d2d47268d49ab94b3077fa4af594495aeb17472a7b0ea4fa351f14b0887cf5903a1ee566e75d6d2e35b4146e2ccfa1ff944971dd05929d788297d550dfcc3fd1b76d717906f560a75fc82fee7d6026d4c7845720d12af58d77928c68f7e9563d50705666b1fabb3a0868fb3b928a945af133b545cd640a089a163ae935af69d1657a1b1a93d26f3bc40230eec0314de6fb89d7255d2533a9c5d984df7d30faffa5500937382fac02ce06a399b300f94cf4fcf7297ef1745e3d63968d4abc829257549d468a38c652627c0455b681dfb92bfe17226a566e69343d1268602349f4d133a75d33e033238e55f3a31cc71bcb58fe2721b34a6f13364039badfcc70eac551cc528363cb4c76291249e963ad907c39f72179a4ca9ad0af2ad28c95439fa07d4285e93a27e88320e236555c385720b1d1083b9f8272eb0434c173f813e8e1a1747ead7f22c53304a7d3c62fa5428d05872fd787b08902ae2add42e34546348b12129c1fec42ebf9bf1fdbe3422d23c963e7892bdb342b60c345809ccfadf334ca5a73e5f1069423d16c257dd8a30725906347d2916c6b5ba5bf91bfdc9a2aab4cbdef84353bbfbf90142af4867250440724469513c73ad959351eee2d285b128fdfd66d674368d552b2ae2e8d79be1d52bb4c1e3e59d3bc58ca4adde5cb469c15db1f5777ebb161f268c1b4ae28383f270be37e8f74c0f0380f55439835d059a15e8f338ef8a1f0032ad15eab4938a1602eb74db9ee4e6ea69d0eb1e31e4e97732f3307d834668f2d385e5842bcefdfb72ac78d96b54abcc8bfe721b5cd69ec84c0c7f5df93cfe00ea2584bf5edb6f497224152bbcd20ccef97f60cb577a17c0aa79a2574572d3d1a070bc609ec65b496d624f2bd46065417b114b909ddc3cea76d3a8691bc5bb6af9c5d8dd1e39eb0f42678dbcb52b8fb1d790ed5cf9e2bdd6c413a880d9885bfedfa046cf755a247f4c3705a00e0476cef3dd662b29beac73bb34f342105a43b95346ce04c9368f414e182b563b3af896b5300091613d6b0970d1afbb28bba9484682b01cb9b025d26bb32f3b666b7414192a9204432003fee5a976b473a37e3bd7d100aab64529dd728e9acaf7ce9dac5b6891671ca444430fe6a2b02f7c4e51f4bf4dfcebc4ec604bd6c93e998f9f2c460eedb03ef7bc8b722cdeeae6a22315ac3a7f2742df082c19d3f2f9c350e0e15f3a4161fd77cc91aa74e8abc239f447e320e1f0a4b9b2c10233e64146ceab474f4b4a27a3e7c7e11b8faa30e80260ffcdeff80b652f53300829773b7a6975aca756b213df6f9fa695f779f7214459474706821e9e1c75ce2137309caa2e409c3904ceb37666aa8910658d58a604532c1566eb775b92defe72f7da9d7ddf73074e0ff96503b823ce0f33b4ceb982639e56d9a0be13468f3872ecd11bb8c03f421c68f7ab2ae3f37ad211272eee5c72401a8f7b7e84635f4e722e3a19abeb1773afc285e3522ee7353ae1582dde7c9566166b715ebed5b6cd022a74b32d0dec669c1245aebcb9b2eaab8a3da91c31760285168e27dbb739c772c544c80cb02747efcc6a4611f78bfa8f15a3b7ec6a7d9f652e009bb42d48ba720d9b380ced4e869b7344173d81bd4df2eff1f6279e1250e523e56025d729f73b39027ee68be3fe8dfff3cd676ce9bbf899050088a4804415d60d2b074dcd4972b5f8f6e3c0b500e962e32632766ed0b321a32e89fed77b10c0cbd71d3d12762d2afaf04ff4e6710d8ddb7dc58f09deed274e0606126917b56ce724c0e0ab2b72cdd00d89f48972399d5ca2fdb9eaa36e3cd4401dcecc19ba5ef5d4c6e8d85c72e1edf33011ac8eee0f53ef006f7cb5fb28427deeae30b09181e07ff62a67ff72c14cb7246d1aebfd988b404911851a9cafc27529b638b0d3944aed8bfa557e7232758b7bfa1a888bd7be0faa9b69628e2785a5bd8fbb318c61deaef866bae27120a6fe5f85495a2344b1470ac092025ad56ec92e07460f3f397f02e11d1d5b6b54b91115f8b45be827efb1e4625be46fbb03f76e30a14dceb518728c96a02272d0b58479e549115ad0af42c358852734ebaead21017f7021b8b8ddd0e7c73b72f820a3a1ee56577f50fe68cf7adbcc3579967488fe671474f54f774fe0cc5b7263f4336d0cf52700ac98add18da16767e99af2eb89c531b1fd2e9b328bca716dc77916d6aa4f6e159590628a54020e008c33d7e3bf54fa70293c264f61a367720b3c45a8cbe1a245d91ee831b2d5ef24c6529bc563b481b29279065e2b5cd36653e761389078c056f6906954809f82d4497092054189467233fddba4cb7823146325dc07b30e85a7501f7f5915cc486e60095919219aa121c85c1a89f8151d22a049265cf648b50237751a198faca5d50da265d13123680286e440cabd131a250d9d2aa9a8dadfb4f42e55a1f46ffd24f3c001d0ef7b83025a934bf02154ec1125810b6cbef504c36400e5409d1d13fea87bd70ae312149ef2979873758d1a720a4efb15be89bd87106e207994e98096594b87bd2e948eff4d08cf34bf7987726814702be16f73385df974e287f2fc025f7d72d2783400e391303fa757ce4272b5617bafb946c2270db3040690d530520673085d6ec21f743f4e3d1181a81f727476c1e571ace1bee3861ef1891e4ec37c6d1d9854a6931813173c86e973ed72c6b79f6178ccbb972b502105b91a359d3540af5e1ca3f17e60a6a59909c3517264210ab8ebc0923dfd8a39effafb86893027e14d608c2cdc575e6dff61b56472381dbc915d1e2b73964d905442b5de4546c8139957292f0ff603883cc60bc172edfceca207fb812889fbad5d57acd46371ea17995cbb5e1d90555bf3f9a6817294f143a7f3fa8b7368a1c4ff43ff568f33ab8992f833ae5fda90d5c23282b0728215ec96e1e22fb09cf5cdaad6766c8aa94342e890a82d755b75ad8c2a9d15712942be1d368a57d22a8730185b7eacf46f1c4e8821c4dcca76efba79738d7c5b7d32042238fc2388c91fd535450c9103b67191f80bbb4f74496c85a7f974027294081abdc4148c1592afc9789b3dc4537bad5bd98648e9621222f1a6335fdc729a2254978cd3167dd9b2e14e906fff43de86922d6cdeef31ae64127014474e0d9fb70d3ae2f13916e40a803327ec2e655d9c2c3266237b51d5beb4ba4b57aa7210634f6bd1ea8f72cdc6207f255c37d8ea2bf397899edd5ebbbe7542fe9e2472704b4e1695ef8c8ec13b5048a8fbb761310453b049c76d87cc81f431d8c2c372634f29c84695900debdade9860035c24c316a3d1702222e5ecef4ecdbe3a4572f1ef8b061f777fc07d768ace90c482a80fdcc6d90fb4ee98c4fb20d87dac6d2d009c5f11e8f55bbb00973a7bcd18a5825276601f8478cf00b1ddcab4ffd30c72db5618acb737e85a417a3ce26da326ea66f079a4efa54383b108fefd85ed256e143f1823cd32cd9d712e852d1e7f8083606b8c306576befef0ff8da77315ac72b276749830325ff39bde872284352fe3b0969e56572936011cb9c3a3c870b3519d69a91ea0a8432c0c9692a2f62e6880658811a514b06863ce181612f5acab21ab199aeff793d34f7d162d16c4337ab14db89969d2341e4118c83d291174cd720f476f33ee1208f595fe9cb1d677966c2621fb838e96c9e2a8541052d07cec72e594642723709363672bbd53963aa00ef29fed7d2ce91557cfa5b71add402847bc6bd7d2eef04dcb9c82912beb5148b50c97c59d559b3aba476ffb7744cb5a5e9686a32cc58a5efd428aab972d7a85fdd14218e11bd08623231871a2cd90243583a2ba05b13377dc6b1942f4206ecbceaafcf025725b0f18a7d84d12048145270a2275607361e5c141aed08745f39b686dce98dc0a88a4d5774b3eec96ee4a72893185a1359a936b4e49dc3f02ba93aef1c6f596583741836a58099f331802278da1ae279c47dc495c7b8be169cd16cd35026bbd0012c28092b2d1141ac5387217569a65e388799c8f3995f4df424f9b5d3b78d55c1fa2d88785eebf0215a4189197c538b6286bbe993dd09c8a69055f5d187e8dc990416d10174e32816a17727af9cb0042c9c236c998b4011657215f3ee4cfa17e381638cf1c630819757905da4a3832a8ff759e80f3139d1e393dd653b22bc0e6622f2e7cae1e2ddf7e89729a87ba38f45b828c73dd6573ad237783b8d12c169bb110a0fba31929b1e64b72133a64da3d636b44685bcecefb616ea28641550deb5fcd55935fdbd9e639f772232e34c78ddb28f2a823e2eaf785c243218c874b6320909cf710f934a6892d0bb2b46077fb35bb1be680686133adfa59b76239061235362984dfc25fde853724085d0837d7fba7a5fbe993cbe6dde463cc87c69e274b28746de490b7d5263c722ba786353975a108ae5fd5fc5988d2c47a4fd8a8d9f68afbf8539e6854ca7c72801d15441d21a44117e54ca58bea65d0d2b65d8039a9d60abbc9c57c0ed53672f8a48c54cb52dbc83f06ed3e322241c3cf80eb72f68ae674dde41c986d139502406e212c722b1ddaa9cded0170770b4af15d29c15bebb54fd3aeb80690d26172e3b1cc3cb937b978eaa92fb917dc09439917f6093aa99e0c0cd8a2b6aea060725000f8a5b6e94a1dfe32eb4863f1b55aaa9a4d6dbf45aac606f5311aa6ee16524fc543eba6620e6bbfa96845db5b45f0ee38b235c9be0523b14cc356b2760272ac6fc9f11f3de95ca028947fbc63bf7aac2eb048907fafccfc184184caae14277688d314e6f4fa3a6f2f96646e7387ee9f97aa6ad3cd059f50efa9e76e025a7265874820ad636f672908cac72d6963ce8fd19b7e8c0d624e6936d4efaa4b200a72a9e0558fef5f36076e8459bfe5607847108a52c80f2d8420dd25585df4ff72f57cae1c25495b89030fc143910d69aef691c97ddbfc8b43034a0ea0c581df728567cc103cce6fa847ae82abe01aaffe13d71a3112cb65709fe52f64b23e3e72998c4f1adc241ec9a8922fe003871ae6c48aa09ce69a04c4179d4c4ba25d2d722145d369986efa1c092313da50573008a4490495736b8389710841fcacf1be72b95256cafd128816e07e0206936fa7648e1628660677b4afc566c09fefaa7d72a04a32244d79b8a17f8cf8d3384ddb4f5760017904679e7f2598e47da2701072a06bb0bd7cba0c167f7c09827bf44d263a166e9b09824e8c018ca70b5e89e044f3560072f01be1333255313a7e025522213c8bc3fc4bd20ddef8c46a98cb6353fd37e5c29d51e4f5cdce96b941bd20d9121359b5bda85501025d556fb2ed00147901ddbb501aa6d1da7528fb29a320d4469191bc9cb601d9ee6c8878b5cc5b7235c197a92091de07307b11b21a103adc68af029cb1841eb595ef0e8c9291ce72076dd3eacf4a11ba03aba9198113afe4ddc43add21381d2b89112f0bfebc9a72c7ae74b242c0d302c89ca5e92f8bd4b878f2f960c67229d184ec8bfc4e03987239a90038ae62905d955adba5e3534db2f4e4949998ff7437c778a29e6e1b83515dd488a3e9c9df4705f9c2dc0f26092ffbdc7e4175eb0ec517f3ad51888e59004a20923ea1b3e787acc190c5517569b6de4adf1a7e1fe20ec73e927661cbea721c6f66d4462aacb243e129d32f4b8673df6d6e54ffd371e46f5abf15ef411b72bfa0df5af75118de35d82a686d478ff957a516e007eec25d1cc59793f403b57207423ed16f60b5226fd92cd62ac08e9afc6fc72237252027266a6c1af829bf2c0b851e65ed07929154dd3092d06dfe174d2e4fdd96ed7edfc6645e2fc6a58a7235955eb8c2c89344555f81db15a19eaa588cb04276eb3931e9534165be614072bb0d1ee19b3e125660028ac25bc110864d38bfbafc133d3e3450e90917b38a7218298a4b09ed8d49ca5c19dabb091ea4425d7bc3ce4d6392a2353d751984b92d4181b91d832c0f68b0b3a5fff06439642d674c734d2819826f75aa983c91b072e1192cdb0e6360652e306bdcfc2dfd03a84233b15f0cc86fa97b9a3b5db4bf72be1b2cd791c8db4030ee1961ad0ddc61dc305107c5e312e57f324193d49b977234912bf8cd7e8a0210f725a4ab638e1cc38d243e92f04457da25f3bed13a7c72913a50ef3cb73dd1ba62fd55330cbc52c741df9cf4aab6d6616ba943ee82c672b26908a7b846ed44b112681cc07129d64cdb23238c85f108b947179b4fef9054351029bbb10b9ff1c58ce9d4cc9f5e0a38f8d511664271f488e5d38af4fe53278a7f28effdfb810a215392c6c3a10c52f208ccfe95a63d589360375f8256ed7223910d57f3188cec5a236752660dbbfb1bf5b147478dad8acd371da12d5b1a06ea0c90e6b4fdf4038fb84c86ca60ea8dadf1f6fb146b0d7e1dbb6a9f22c8ec722c9ef17f29af02aeee4dd80c5c0e189e0060b9d923f23422b5be3fa20c2414403564e377cac35ee8206b61bdc6c4378d64864ba0d11a18ac2be0b7525b7cb572e3fcd054bdc66892c41153278542dcdff55fb3e725085e989ca025f5232fb672e33827a0ff72f13ea12864a6e4224f53ab8ae0ff66a13f2120f6abe381abef0828854ab47fa5a09227eecd9fcfe80ccf7576b6c9d92cc6bf0fbf9f1f5b8eba72547cc62a960a91a03ba399bbfcee4a1e8d13e6b4ddf8f93ee49e6e454139fa1debfc6c7343ad724fe32df2664d540a53d3c1bdde567bc5ccf7370c1e618a167260dc658c5b4a90f0ea8c4d63e46de4c5389e2b2a6323e62faf1aca38a5e3887276a4fa96f07080cf9f4b77df15ae8ab0dc8435392c500dacd3d978b68d689e72e0612ad0ade1eaf2c0212f4b90099c9b8af943d14d646b9d9c1d9a6e0898831409701a8eeb135553fd541d3b0f9e01079d6843d078cba6a980ae353a6025be44c5a4b4ab3f3516fe676e7609e35ad8f883353800e05c2f953b2d76366649ba72564b949835f1e5d8121c91ed15e893f154c97235b41693a125b5977ccdb0c772fe4825302e2c7b6c2f1ddb07ec0deb1a0144eccff8312ecb20c3f045c3bee7723c4f36f52c99ccc57c01c8b48f9786ea6ff1853a03d1e113029b31788e94de3f4b1ee89cf56b59056ac755e9584de89559aaf6cf0d70df05db70bf268e23bf630ac1d23d0fdf29b81a7ff0c91ca7426f8f6fe3fc02ad6a7dab7f921b63a0ce3cf1901cce8289e32d5a88de95c311907f3cac15b5f69bf411e9402ad9e5058e14c2fac0550f04dd481026f9356f352a2461719cbd02eb342d450b2279d8571c72cb2a8ccd0076bf9d19ab96269d11bef8c9db4a108b51ce2474ed2b9d3b12677264c1506dfdb9daea2fd5a1b0c66fef5447506516d98f3fc1aa6026cf7042016f3df1a37134621191054cb989f463b4ac1e19d73d7e640837e229616633a77d7276a2302a3dc0f61eb68b4417e35ea48730b219e6c42cb3227a352262ec4d2172347002bf41de7130201ab0cfb61c42ad9d978cd4379df8409eb688d5e96ba772ff60461c340ae1f120a3a429b2ccc489f4f106863aaa817cd5f9a0592f3f827297ca848d37f9807952b217175cdb034fae9d1f250d2b018275bd89f7c6b38a720fe78f0852d927a49ff42f6cedc3366cff90c8ef39219ef005a3300f7aa95921bf028e2ba9ce54142b9560e91f0258dba46460bb01c4f281dcadb4e81e125361963f98dd29a596c9d91a13017c22ed074c6cf9f8ad1d710db1d3e0458ba4c972a48d7c2d83e07653eb023b622e06cf5f51929384dee93ef750988947960e3c7258de56a42bd025f9690d8ccaded3fe346e47c579d424d4f01a47ee6b2ea0cd40ae435c6fab31a1163901cb160221e192ce679ea3f699ca9d6bdcde268f3dd172501419523370beae454b033dc7d42e041d0f86d95b91ec1c0ff1a548ac8121728351c949e34e330107ca763d9b3cd4ecf49fe820b5a5294e0f3642e361fdc8569070b9c2db91a281d20218c2f995fe5da9468e655236fddec8c43490aa34e272ce7ae38812595c65f11819dfed10cd1a320e02d14e192961ed00375b2d84087299a6fc1fdfbed6f9e7a63557375060da8c2e0a834214749b2349bb30aa4b5172ef467ef24bc76424e5469e0cb23d002f79bb9ff9cac4e85896b1058ee1ea6131e88b925dc75bbe66925a9d57cc618024cb628db2da9ffc92d572f8a661b8d872a2b825223ccc85e729e75db27e3bfc83c92aeb056626e97d38f61ce8fb88be460e0ddbdb8c6d57374de3d8a610f0f26aaf9cde0b4d0fec825a509f5f0935d272edb5123d77ebc1e11ce67caad0641e6a29c4eee9ccd887e09c1c104022f61772e12c7799355c08cdcc10470f0d1ad27e8a95edf9637ed8194e52aabca52de372672afd806fb462819f20c734345c782c05297e9877202d03b2ee75ca72b64672878104d42459651631d21a95a2108aaad3c668b4fef466dc6824da2f2bf608224912497363d21cda1178e89f0b7d7cfe567b43a501f9d6ed56be69f8e439e5723468a2835106abaff058385134bbf1e09bdab5a71ddb5f4d06afb66c4ab13172cb8e8ef35cea4b2f3728a3f99f8c0e14bdae4a45b64f8be49eb6cd5a814db21d17f86cb34ea44dadf0827425044040befa17783397d5c33841e84071f672c44bc6b8a095139a22ec1df996a1fe098045cffe5c8a1f86ca11f4a1868c7e64eb7216873ba224237db2ee503896c80f544bcd647080cd648a8dc3f3e9a5104f3d7282cf87d8e4647098f661e73389ce5b334a2fe418cc3fe8f4242eb48830868b359d991808d9153a631486870e4b07e9a056acc46dff6e8ac80001fdb027163e06bbf9071ba03fb88de2961eb0333d400b76dd61bb1debb8520c2f1e6ede910d7261c5268e09e6beacb3331dc247917509d0fdd7c699b54e1dbd65f05db0472e72189cea86f16d5cc3b992b126632bdbb14f5d111fca2ac5438484931eef4715213e92b2970b12b6b60493d3645d70c1022bd2fe87d281f3d48c7450f56c96b42c5c023611c5a6d808bd0b69e9edf567ca73f744f180673699fd9061e38f18ac7297769aa1a1311503a90dec2edff01e8a845ee1e48dd4786ffba3ea2430f7b5725409970b5253313d29870883e8e0ddbc8a65ef0ff104706e0c18dea7c86e0b7262d2bf93e54292ef42586195c964534551266e620663705c1a76f230d5327c45eea02e3abedd0bb9ab0fe4ab58ea61355690289cf3a2b38c4c50d39f664657642fd945be6a12a99df7b603629826a1e82871b789a0cd46f7d549450fb7063d033a27d909b228bbc70307b0286a1036876c745d6270dd24cafcb7fc327b39de725520db1c763b3ca6c0bc64efe9654ba6d33d9bf2e8fb7adf242ccad04bdfa159070d3d49554b5641be2c5aa36ba74a9c17aafd18baa7b17f34790872110a1521f59becc817fd111fac3bfc253eabf7a721c8af2a0318de42e372f1948bb93451d31f991c4b4649b9840aaf8757689856b4ade9ba787b221071e47066174065118974c36fb302c5f2c2eb1dea8500645138ae1580c9eec847a2d2cd42b1b4ef5304ba1d04e75ea1fc2534675f943cddd761314f8d9f4712866923e218b54d717257db93b12b190662a65e3d1b9329e14bd54ce98d9b5efa37829deaded061605f3323428129be6a1b556286242772b44272ff11845c6749deb29a6800be67774448a85e9764789f75415e82a50c2c7851628be24c5b8b4fe86a72c433cf9125342f81d46d682a0e8c5dfc48f0096dbfcd54db1982da066f5fc1a00b35ce040772a77afeae1034e69bd0f0d044c6bc395410093b1bb9f3056f6c48d4a87f2a197214087b204b2a5fd4af7339a589d7b46f5cafe754c23ff1c5da4581b9bc89cd72dc25047b129b3f15fb9a4fe9a0610160ec85a59458d549988d094da9e00db726a9a6d47e19382b511754c5a6e9f44b373e2a408b60c142b5085e7d28dd72e172cd23337d63f6df271ff6bc32a93ca81a2e93429d4fac0a62f46a657a1acbb315baa2019d1248d4139969ef3c44fb494642f5636a72aa3fbba7baa2bac0f9eb7259adc0d71d2ca11b43871196fcda6146663e981c6f56e841a26280b750588d72b7b5c2ef5486c8e8677f3b2889ec3f612bf4cb363ce3f704b642795133fb125281b89653b8ffecfd09eeffe65fafe480380b17e590196c7249cea44e83d63e63ac0d29f7dd551f786b61f40212171dcba4bb162dd6580fd18208428cb505a7722f4883fe8bbe55c0b00790549d1d5b7921cab88f53250db0cecef82f14ef3300591f1af75ed2fe1c7a9e1e48ecbd144e29f3ea7420cbbdfe13fb920a667e1917d623f53ca495eb90e095e609b4f5bf015f0e602cc7108a6bb435b19a1b6b592ffc8fe52d29ed2b31be801dd346cf164bb20f9cda05c0ebde3ebca7319a998072341caca3108c205e18498cbc250f19f925c07caad550642a7085cfc29dc8eb729f43020203922616d57aad7a8ad398e492322ac0b7f11c633d5c46d902a9b472eec9e0bb9977e4691299d3fbb5ec2b3fe1d61ad5929cd629a285b1eb134697722644f158f21bce0099a048807e755f27920bdf8fe996c1912602a921404b4443fa1b539f7d0dd7e8a92cc35e2b97408c3ed348d3715e6c8c212365816e5605213c31589607f7284b45faa4ba2fa31629fb8798bd5d160df28666b997b5d3fa72946fe4099da228a6674f3d874460005e0abe5d77f100b16fa2905d41abda415c54975bd237f21953aa5951bf947028c40bfbb46ef9fee67fb6c96d0f8fe29935711fec7df1f79b42c519252722ef503f0a868a91fb12dc48678e36f6c8cc183a52a015b1fb7a58d78cf7425c41d24c88c875ec36e0beb325d9f7dc8fdd830d72a20de6dc4663c3fc2444bc0650ad741d458be929115e1f1ff275594f1de5c5723af12671567f8ffdff4fd7b8e1915fb892899b6ff7924411561801907a3088723e601f1239e7cdfba8092eb305cdc92bb920116a503ed8b7b6f4ea05a737e101bf44f4612918c6e312745a8ab5708683960897790c34833f22454c3f0bc0a34ad11bb2f787d32a35091459086ffd289e66db229462823cd79ce43528ab132872844b303a5949befe6870f237e486744cbc3c3b4e6ad2661f308a5e70e41ee730e4d77040f078a094106f8cddd7f2761dacedcbc8ea9e62c6158581ed478e334aa7c58781e18eebf6c31562d93512fecd540e2608ab2048f824d0d0f32ffc08726905ba482501c3b561ffc5418c6e40a1c3b855458caceb8d04a9114709c9db0f71c0add761f2e842810363f372d1e4775c3b854c0a06e2659f0cf87b5ddf99724325fe7ea9b46d5d75a0c63f9b73fee810b8de7f0236c60f8ec3e48c7dd6de72d26aba3eb395ec07c9fd5589c5fea90a5f52dfdd72dbe4aae2c7fdeadd5bcd0ed5e977b40b013e9913d9a636786ca7a7136be056ce2f1bf043e7fe205733904c96e952c9ae18d0a98cdd5398ff9263cfa0bce1c7a7c5ad40bf4c6b326fa30972c1df6bb0f4bb46abfb057e96831f3ea7c0cca780302727eac81218546b644528a1b6ebaf4abfde7214e065733aefeb7bf9afbb83d5ec636a36667ef3fcd9cd7255f41f7667cedfa7b600e4e5e0a3cf456c53a33ef0af367ff96134cfd7bd427211c530a7c23c6f5edcc98cb3a8ae775442eba49efad4777e79aee3028cdba4666fd7ba04f892f43c3bb6eadcf8f882c56431c6ebbe2531c07575205e3565f565226dfaab440f9d365cd388e9c885e9f528396086da71ae1fc35da9b825270172b93899469b55836441eb1ff6afea9a9246b84e79a0f66f8af4581d812395340988cd09431d2726724a5b6edd953287e66193f98012dd37835625145bf880097260acec8384679d3dd1dfbebd7d2e542201c1c34e60344ae9a02de9954ab993728ebcb23addb35f85558899371371cc68d1a0af4de90c15b880adcfd56ac180661d914fc7c2c0d7bb5f914ff1d77a3ce927e49f42a19af136135ca9dba383210e84642836da1fbcae5582a073ef211343073147b61d19645ff8459afd4472317221934842fabf85b44e697b9425d422c594313a8f34c6c8b06f7c6cfb985a6b727d3a3ed44b902bf4dfcee99aeae48aef550f4cf4fbe2da86df304825397efd72c801d348be4fa09f892dd75b9d958f21b04c8b0d868321357cffbb8a8b6cb161ac4460badb9acfb439dab89f04d1e818892a3f51cac12e1ddbc1936f32430330d25e3c42f02b215682c0d3a1aac11a6fea077d61b6599d256257bdc5b5ca214aa32271ab06b11458f23492b041807da2c4ae69d9946321c74fd3c5118961705284a19a7145d3c19c8646cf36f53df953f0fcd7a2d8e924226749940aff865c72e04ca290a01754426285d663bf7607f85c8f40c648fed3005eec4d7863da602a29d2928ec0e0b019a614ab98078e88329bfd8fad05dc5eaac7460f53955eb259c6c4c2ec98a11742039da42703332368a5a00f292c8e013daef608d6f5d53e4cc1382e14ab980c6d2dc885fc91dba4c9d36ed98e137290affe32d430266136721e32d5e7e15213d1a50012ea2481afa673212295cdae0ec0a4275798c944a90cbc933810a15913434351328deb253995841f59aa2b9c2730b1c7252ae2761072a98ab56416dfc5a7be0a801f2349c79dfc7f6f15b39034668fde7dc485f1af728f4e285b2c678ff4ba45562ef9b07644e5559b63db2fb779bf5c1875cb07193c65f614a728b7157b06b4e406ac5faba536d40a28edd5e0ca5e33ef844f76b26f2df118e93dfa887229c6cb7348687f25ad29b4362e09588d0b4d705d97b59049665c38e4973b5f944d75c0e3d0706174f2e39189fb99942d59b087a4b2a82972cd47240f62d7b56f322028290d5072cf665dc3a8bcdbc8c8afa66b3d9978d972bea7c59aee72c2bfc92c9e5339c7d93a128f3e5d50c5496ee2083c35da80f9728b02eb300fc9e5f6481e05ba80651f50c98a082df52bd89b1a2701315301e35d80dd28d739ba371a467bc805be342e12d7ed3e33f0b5c91796113fce4db46a542ac14226a901fc45c977c51cef03f85bbf42785bf609c2280536ea6d00d900725c445388f1c10cc95cc1ff852e99b7d568eb5e3bc55a026dee8e04cb29a26b72c4a40c65aaa7eac2fb22e6174fbe73521beec03b062c03629e3736f6746b5d4cc5b8636040e64ceebd040ec9ff5e7340213564c9eccdafe14a32a6ff89d03672e45a8534500f26fd9311aa9560834a034f03fcbdb823e899fb9149ae0eed4072e55fe90a2bc337897315137f0d2b784f9d66081da83ac031f5146851be63df116aa7d68a988d41ca91389d61e84807db29c139f84c50ab1c7a9368ba7a250649eacb45820d8f47427f179cc4e1f74ec6cbffcb2e1e99c19762b9660e9ffe05720d1ab721334abf62b4e7e91576839eb57595df850c7a957002468e60e82fe772661015b7877d79936f93d760b2a91f7cd15608531639adf8a1e5392d93288d72ccb3f36e8c5529377792cf6cc8cfca8902944846e242682ea428ada28214a272b4e90c90281ab1201e8fd3d6bef16a615d37a2e24a4b288b645df1f12f8b7e72026edefcc89f39ea3792b448c51a2c7a8230d03ae68b54aafa1c9f8ec52a33721d539cef083874c9daf3f92100b7f4a9e0f901e08605228a204bd754d7f69272ea6408e6254b9bb7007902233394ba0ec6780166bdaa7cc36c8c941732d001726b008c46e23a51a572d6d4f00d59209a93f1894c2d0a0fb17e651f5a624c8a72f7c9324662c872eee8bd6e1a542c2d07091931cdc2ac0f609ab0cbec8658d572846dae4afcb9315bcfccdd702ae6a26f6523200ef1c30735944060e46b37740b19bef79cdfdc2f1c3330e7e39f11600b26ad2436f6e611538baf50266fd6b772f2999e5aa54c6e316bc74ec513fd4de2db7b5fe386d9f3668d97157b60453a333390d3206f7d2c399b281968773099fd1db837470d18204382ba03cfe1211f3b7ec11161670ee34f77137986a085c44425786386805e9a32338075bcb52a39729770a5dfc39256f90f0bc9ac327df086cbe548eb18b0e3b6c8acb9699cda501436418c8cf270f0db7506bc1242e03816fe9982679ec2338e8a952dfec59f21420933d581b9ad3b3af8198097bf38d0432b9aaee6eed5299594e91ce59d80700995043c2ab103e4bdd54850584aa3e4c12e1c333230a66c22453022a37f6924727dd3b64b5cc9e964c0c5ba46efc1a22b7b8e78253d57cff8d6d01dbc7533e6726fadb4cb01a612a1964a83a63d36012293c1ede2ef260c6747a5df257268d872a1dc6158855e52d1d9cc991987f18c81ea62b37d74588038bbba2ab790d3ab24f0b0c0ecfdb9d70082b46036b1131af31f908186af5ad17d137ce2a01146e2726709601facc49ce8f9882a184e73a56c13acaa440d497eccd00b943215907d01cc29bc8b0615346d63f89920c3293cc78290cef739f0b1af46a069478c67e172922e918436722e16c25adfad7857efa3e2c0dc4b91ea75f9ece9a0c0b5f97a72ed8371fcc35c967dc68342ce38a935f40756c37fe6a04fcbba2aa3dc4410117290687d36061106c161960d293dadc4fc90e0811e0552b9e4dde7b766a8bdd7728fa3d7502c3d1b8e03a749f6944d592743a734bf463a7d4331c393fe1266bf72043928c20ea6311c9b0854dc0aa429b6e9b4861f8a5e39b6c529ca5517ac5d6711ec051fe5689ab8d86b0226485809d62b5957ab670c1d288560fe6b9bfd815c0ff361c817d9acf652e70caab1a6175d4db0428945855ec7a107ecb76af10672adc5079ebf75f1e4adc3cde823f62f736608bf78ab41bd8c1cc8269b07d4b628e1d3b36b4f6a60966151a79faa6b264a2e31e7f03468f0819c0cd33423c4e137c7ac31de10648130f0bfce15dc3f0622e12ed7acf5e2ce308ea00ea5b357a6724e795051d22001be1f03a72683129d03138e993fa20a6968294629acad849e726d31cba268d45228465e3f5125fe1b587f1befa926a537e9b6445e46511fca720974abbbc81abd790542cae5150a5d25cb402d7b2e0538cddaa5fe696c058e63ed7442eb8cc7586711d7ed4eb8f30452570880cd4f5ae196df0b2ffef8744c7273205649ad4695ed27e170f5d58172f5b00512b5c80cd6a22067590b00157f232262257c2f87b6acc7de4ca3a741635342fc655904858a0e9cc87e4c1129480c2463850f6a631fe93dbe6abb276a2e6104cbf3b6b427c24bebbb4283ca2d3472c94eeb5e38d4b1ef83697dc929b1c42f1bf27b0199a2fd4115830b5fd475047284876af3bd62af510fd57f5ffd1d22fbf358b80d2f3bdf69cb36d69da4d76027293bf94c7dde8b66c66be569ecd2eed6618836456d04e3d9eaa9c2ad1175184d5596dc796630ff3a52e4416d4164a688ec427a93fb3e2b320a627ff56d77e37240382293672d3976e7b834926c39ed57504323ee5456509837181bf5d8604472282ccc01a22530e5bc1c27e6abe4da249332bc2e401dcc695fd4b1525c5df823470cf75bd2832fb428bd5510ccce4304aa3172834af8ddd63f61cdeab75a467111ac2be43fd034aab75597eee319308e7db2f484887f9684e2d561ddd950387211758ee56b06d0dfc1f1d72d3ff6fa08e6a06df9d0459dbfc79abe0b478ac67248e26d66007b19042cc816b42d0d28e10814c50ad098304f7256f0c2ed5c4d728eef7d11e07a16afce917ddba03457ebfddcd8c256f6925873d7c8b20a5a5872304495243b8b7c25cb85eefcda9aa25dfeac5e5bd2d36ec9ff1d2c3653be8372c578ac86bc9898e9dabaa245ca40e6076cd705a4b93baf19e49ce3addee586720914bc52b1d2806d1d79982947b218825223ba965836a20b58d7595abc22a62b01041300c313ead9498037728e3520ce393e0b4830dd1748a8134c54f9bef702de7b8630e335be32aada41fb0e5b8333e1ee3c9fe5a7855e8498b21996df63723dd92e0489ef0b44fc97e8327dbdc73d314aecffb42bf792bee5634491de47726d7420b34836a3eeb547842598ba0ab39df150ed68d186e6745c3b93bc9e2e4e6387c3f0295a124947f03cc98b4f19dc8f48f20a2bfd7c458856eedaf3ec1849dbfd2d18e44f28cac9421f15661c496602182e46afc2d336231e1d9d619db60734ee3506eb637c79a053a046cd88368a8d00b40ecf90c31deb6c3a8ea29eb8706ba91af0fe02f697dfcac65b1ddcaf11987908b3c9d7c8769b7d339b8e22eb7205b3320b4873e0b456103732afa4da3590bf123df91e03e84bd76c8ea487437213873f02a204cc9913ef64e27a05d34fc57cde5ab8a00db250114ac4f759315f3787ed5b3db66c964948d833a9660f63e8daccab463f9745a74b7a9ac2a38c721d75c975bcbb47ea532143df965080b1c79181eca3a50fd711039d7aa62b3772c7399d14073c4710ec5485493e653e9229959d936d97f372080749b43145887238bf8b5d52dce05a60e4385c5f58c250cf87ea85f560a545f212e6603c72057223b5efcc0ccac10adc1fd9a2a20411b660d6eeee4b1697d6a6f6902a56b1895d96861f2e979ace067f7a7cbf0cbcc1cbab52aade0f9df27425dcdd4d24b6ab72eddf6da5caabdebd2c6fb55c8bd6d15568629bde68b61e33486ae1c0ef539f72fa1e3d92f7e70c2659b929139c343f6f28d9fe291e8e41d6acf601c20ac1cd0a102f60e67687a02206fa9b99eb2f54ce4de626308c5483157aeccd5872ea2b123cf1dbde9f743c5922da39efc09cec4c275d0f551f5dbb4bfca30d3e2551c1723a8fbc9de685462362429cf0a46e3568a6fdb594eb16b02d94ffece91bd1e27241e21e7db9a30c3bdd66cb14825eb4ca55b8d577de67060bcbc7dff0995e3772f6ebe6e46828aea01e3fad9ae7e8b76a438e308faa7f0e25aaa638999eabe44089928f2a46a5ab672e2e7ff30f82fa5fb5d8bb58e21840de24300fc2f6a41c4fe64364029e72141b971aca46fa2ea016c7d5889811b58b09d9e598eea04a3929ed9def26eefb11443436a458a3d77c765015e3dc7bac84d42ccd2ab726c2277236ee846212127ed4e44f14383652b3a488efb3c2989866950cdbbf93cbae212a5d60cc7038adbff0fcb80d94eed161ad73e02ae7207461b6e06adde5bd4c137240b745a0424f52a91fdd94afc1a62c17ff0ce435027005dd8f9d5abc360e9872e780eb4418b28d20ecc150679361eb967311fccb5207248b0ca662daef809b72a223fdaac2b24ff374afb70824b0428fb5c51fb6439c3e27de4c7af9f6138e72fabcfedf61f2cef68824e78eebb971e098ed8afbf25e195e9292c0709a7b820d1e3611d05679a9d3a122e9325a523c65f1695ca41d5f0cd9d4a3ae8766b79672fd2d7e1f8f07f45fd0c4dba3649528ccacd1b9114ded2f3d6bc9b9d964a2fb004d79d74cb6487f894f1d41b44f58e0de173c4451b1445969540e6c69ab60ee42c82c0a782a01f1f30d17c6fefc64ad14264c7f4b4b5b47a1dd1e2d35623a4572de853d0446fda0823419705018a871dd1f4e587bce3a7a0dfa9409d3c72a4d0878e589ae833e2a319e3783b31ad561b9bc909e1b595bf9a9ebccf985f2a8207202ad078d2361814599f13e3b3fdc4c87207bfd89edf143acbc53fa54dd947f3fc5048e393d987db2201140d33e65107e2009e3c898f5c9fd373e616290603d72508050a34c53eddc5bb856a71c8c7c01fd9a73db511997efad6d017cebddab722735644649aedeae28943702e06aa5e1864c66cc5d7ddf7a0edb9f51a8520d727f976b2ce248b990ea991de42e99b20efd99dcb70dd06128d6247129c8b1d7242a7bcc2ceef73a2bed96ce91dbf5d3258c23971805f04cf77872c9d7572622728b680bf0c43f60000041c62c3bfa9ffe19ed5f4455407830232a1512c5c00772fcd938843ae85820c170980e05c9546b69c8888916e37da7ab2459735a6ef75899e8ad7bbe24d927da31fce8ca3ee951e22f028e2c3692572926185fd6e4f37225460f5b9df25106e3c4917a9081459f6c5fb35fecd3ccb08e0245a7ee048172201a4913b221b98d2c019ad42e23212377e8e4786451474b4b41e778478aeb72a8595bb384084a2a4bddbdf88a6681ab5ca9da92508d5646582a5fe51361cc72dd0f7c13a3b091a33833053b1d2a58b947f072c5aa9f5127eefd0b77f48eb272fda1b9afb40b28bae0b7ec602557483483a581f2a2c060e0ec53fc0bedd83372d193776e29fb82762b3334d7d6a202a7d1c3c9621e1ccd0f537416d59305875bf8231cb2cb782195fc7954a492c5145c70e50741c2166bbb6f57348f2f159d70efb73c5cdb3ebf02cb024335aed1dd40df3c3b9d21f8328250775ad43268c872135f0f583cc7fc75dfb799db8f4806c4e7f2dfdef7123fba0f527c6fcbd04572053bc48556bbdd8d77bb62ea09a49c7c2acf018295b814ff8d001afe11e02469fa10b90fa8366572e3e0fad251c282192a313075ee839127a5b9730d731c4933ecdcaefb72a3d26360dbf5cf635fa14cd5471380ee950ac51dd1b23e7ea28628e0dfe0be809b2fb7625438a50260c12a719a078bb15df673e48f8bfe3ca0ee0ce7dd572b07e3c78b468f5cc117e4f0926332dab29c58569d867481481b23ca5ffe76d9ecdb72eefb956b415a38379b71f5a8146714a381e90b01d0de3c1aaa721c1df7875bca4ee1de803416105d5e12f94a0cde3505f9a2164542af4ec4a50cd566d5cdf4c5fbee16b759b91c92d16ead6da65adebea9fdfe5196ef40b6c2723436a0b88e971342ea90c9e996f47472799896ae2e20826663f12b9a7b469d72f0f859d8607491af918f89fd86494b0a6b0cbcefbc579b7a00f059d22c162c31b4d042436663b926852fe17fe3dc6b2df0b6f325919b7418b151fc51a89f23720b10e8c3b56975ef626ad04420fcc0b6dc05d6f4acacb3678eded9e9299785729e5074bb0b39de831a593587fe1bedaeb38b873526f8aba332e944e540c57372cf598d9d997e7ddee8486c983ac02aeab8011c3217c11e8e194e8f788dcad9721cbf0eb43882a2dcb9909020699a271a8711e84b87f01feed100167894ad8131ed843cc350baf8a301dcb45632a50a77163d5799e79652affe8029da18c76e72eb483adef38200852d0feacd2d7cd45da4e85bec3bbef098a560298c42847572e3d33a3605b2d6f7d001134010188aa63a8f2f6595090d84ca783395345e7772b6efd3c8600ac0df0d2d46217fecb596530f58c47ad282aa82c580154e3b5c2015db77b20389f4a044c6f9851e4c530df66234396ecb58fa0701ca8d4ba0977256a0d8feb4843ba9d30307fc2f2941b2f2b9acecf714c53269acf45eee0a3d546acf16a222f8a6dd27f1be02bc5f009667abf95a7bef302ebfa5df069b4d30616703ffdccdb2e4a8036cee9eca0f96ef5425b97021db9673402ce0d4246b8a72cc2c53df5f1468aae3f0f7bd8ad48ff27d3d607255bcb360012dda1c32505672c77dd77c13ce15bdcd7ae0f7b20f488c41e8b5435e6d06754ef3dceaa2a6de7207b4034fe236073a1c684d4e9b28804824103a995f486cfcabbb6c472b98c84e9ba73f0deb4fffcc91028e6ab370e69f7b3bf98fe08d0397218077906dad186d83e4218f1e20b4cc04bf12297b699749996ce0a8514f663727ada33ec1313b721d8f2b8b8bce69d556afea9b190e772f306db04e6c8d2103745be3b572147872ad7de41118c35e7e60fca1478fee24bb91098871cdc26e9594e7109dc7dc26729f4a05e6ae7e51432aa6d5624045864f60ed88beba6fefbdfb653d4f3c03a06a1183089dd53951e0e412b83934b72994d1338906e3c97e78a8a2c786da2a996f27cbd5f39668229ee0f37ae50839530a38269644c3d2cba8adc824e9d68a0d0e97749a63d9f34a874f167e36d5208249be6b5bdb5e43616d34a637b925ee5a11bcf31434b1e0918a8a05aefab98bec84a712767f1e2897d7b793712ad36b4972a9614b75dfdcc5ca72b64cc1a9a3c544896cba7910c42ea9592482e3d1e51372cc356a1c5d374f409782f51e973d7c356853c60f388e96a5d9d09d8871a10530a0d8e46b5eda6ea37e0a4aff538fc7dbe503f8002e6e131bbafefc1c052c34664a698c325173e7c83c68c77b10414f5bfa056a5fe308f3a992d91f1108c8c1723b91bbdfd170955d19f0dd1afbe33833cb83ff661b3d01c4346c032d58c6fa7294cb6ac28ce14fb4df1936e73f79c5914f584b1dba2a5cffa81484fe2a553459f0c965b92964a6983269ce2a3c37286354c37ac4805024f59742fc362ca22538bc8a89ff4b4c38d12d1f059af6106a6c02356ab6f1939f221ef0b385b531080e51e747398713d8777933f78970bc1f888a920c8f24f52df98b0d51e058997c72a0e78d994079981881826712f94e9b5f321c2f9bf46c346f20e5d8ddd46c0b72395f4b9edd5dfd9cb6c34f6f5f08e899db59c3284bc2199636f527540af3dd3d418189d969eba9d5cddb59fcf8aa9cccc477e41260eb1b9c368487634b5b853480bfbf5c87b8b0755b17d78c0d20830e82b5d40db6b9173f4632e4beaa22f9081a9c937acc140e269b5b6e666c2fd235d34544265c21eb6378f6f12fa632ea725d9bb0b2e8f44942d36ab75bb421db6c098e569448e08e8e6c1bf4017057a97227fa9994d63965da793f8086e2ca1d2f824d57efcf6cb1b1df776385b372d17272c7d637e062cdd7061b36f4935883c94cf707d0e56d66013c53ceaf09dc2572df8a4c10949f5303899aba16dcc34bd9e6c9ffd1c257180eff2e4af6cc0a4c72f3e926982377ffeb5b3a76107680ef9c284b0d6fc5def949026edfe9cd71a41ba3fa65a0122095e56ad1e23c2cf8e9d2eeb3f446d21215d94f20e5136aa40d727c0341e306e46e5d7d78f1951b3b0c9be864dc0bc73f2bbf1f08fc1d78cc7a726baeff318ba664afddc47e67f04aabe198add82c3f22dd46e73fbc883a869572245bc2ab3e5b88531d1af0ef535dd9a37fcf4ed2e8c974028ab274a126dae572ec9f32c9b1945b8086427a31a1f33f93422ad0658c1884395f51582384a9d10b1ceaaeefb73330b36281e3c773bab887d32441fe319dc266a219abfd5e3aea7282e53b6187330c2fc8d94161be5462ad83bab5452b2d5908e2e518452ed0cd46ab93648f68636bd7034d286afd35e16bb620ba60c443e033787179f186f08d3eb0b5198610e62e736d2d28be8c00d8d3abfc9a13ebb6bc8df2bc163bd8cf8d15b44416cc89e50be0f80ce5716cc861215799638029b438d4c95ca370b87151726208298727f11c504c25f9c838f7fc4aa9aa75493cdc8eda25cc299f4753e4300e946cdfae718bf15942262e1dde7034b82d45c62cae957285531e67a064e5724deebf05f446ae883640be4b25828b7c41f34e29dfceee77e0d4d37c53ae817288d04ae2b72c9ba968412795ffca3d56c3bed4e923262be2033af7df0f7d413b4ac921e634db5f9304dd6bb84f6baf829de73735e58cf381a1a260a903ad0f053e7657a1735b851c71d8268922cb902180eedde0f976c7a513bc35232c935a728f822c50aa9f86597f98c3d6907539bdcd390c39e737ec6d1cfe8714a685df72d5666fda84cfe52d1655ad9e633fd80390c6732c41260699f3fa954fddb73b726f18e4121bebad5ca859943298ba5d3beaac5fb019c7e55ec59cdb0739943c72451bfba4c13d8a2682af296b8c716db28584553a2b1ae806868e22854745e572540be7c842f9fa6adb3940f43e24a6dc27e6fd42b6012bfe8b0e3b3f3b1079133d96c12653640ecc636b7ab5f1800b86f0c4670396e99e2a4609a5ec44d4057255e15310f9120aee27983a862061ad40f9e13116a3044cf2e5908bc8e2edb046e171c9aacb1394d1ef91f2cf7ba248bb07a14f8a316a06b9cb5b924db1a62672409a093108689bd46d6cebbbfd274554d817c3cede6ebc693939d3245cf4087233300de59506f2eee3955188f7790c6cee97a41874e6796cb22495ad0830e2723d4f193cd32212a8461b9c8c28a282ad70ece943aa002d6a584fd654f6dd04702c263df6b557e755c52c56f461c386f184bc94b393bf01c8d77f211897e4e7729d49144cdd4af70c9a1abfabf921316de6087b57f9e9010540b0112cf93621727d8e5c3598c15ee8ec3e8fd5bd8b8c3ae6b6c494e0934e9a8bcaf937c13a047217e463e77b757561388c5648044eab114ae27968e51431e981d1268cea480172c7caff4675692c9573bac30ba71a4b7e1dc5e1b777ab736321168f5b0fd80e4da6c43b97272ecee8a04aa8e0c3a37b2832aa51286283be975fc7459bd87b5b7295c9bd6bae91a1a2ad54f5b5008dc4ba98163b6936672e252e2137c358abd172701a34bbe027b828129c0ddd3c12204f90dbf56938ee062af81a1f0c608142245ec60fef94ec88ca3118759c8a98103ceb4d8dafb517fae2e0e766c9481be1633c3a05144c10292af1128bdd929bd49e57e73eaa67b1c8d2fe03e188430e7972b8cf5f586f092f3fa322e1a4ea4bfd12827c5e0e8b41d585266c69c5c62afb3a19c998a64dbac569aa5c7ce1f9cc1c9d047d74ada627a6870b7fe0c2e4fe0b727ec10eadef33f3af66d151d4fc6e97e658240daecb91cfcf1ac10e8b0a76f259033031ed75a2397a6991ba061cd4ad083f9d72fb4d0cfc7c83b61f5669e3946c97108c55a317e2c6b4c7d6958521a1cb9e611b2459416766f5bfb4542a936f1b83bd95860c21a387e41fa27a1f1d31553fbf206dc721fcc7582003059957897236151832ce056215b3469d4cda3d6c66a419e5c237dea5f817b6b34e2ca85f72f95f09ed75e700bab5842dacbe9e9f6fc22951ca908566596fddaae160a74b7204d560813134fb2f8ea29eb0c4e5147e72fd9143535e407903ba56266f2761725f31ffff904fd5ccfa77fa6e4c8690efa1678bf7dc32f3f29f381941aec49372c1b6b888267b3071f57e10f92cb5eb5803bdf273f4976b6e779d6163624506724afea045c5d999734ea876fc454fb574aebb7437bec4a69234c86a4b16f0516eed198c30b67bb1fc64ca98ba7ff9c1e451d016fc7b5ff834cc81db2263496b46b4933b9fed82d0c216591855de8e06d972dc04f4c8f3b044489cad369852a3723a9996aeb78a92ba39a2ccba7575c43ab73dadf8a79f13bad829da9bfe5296725b037caeebe7eaad374b9e0053edb23edbf0c81252bd6a10bc18e41c49889661f137ed55cae55b89866c34698f725f4c9e8ce3184a7914558f661ddbe7d431722ebe68ef6dce78747724f4856dd3908c4d5521961d226ca0c51fbd0f9b8573721104a4c09052801da1a2358b7ac54f69c643a5209273ecbf63ba75f16d46037257ce953ab62b2d1aae4ecab23c40f713f1f58f66f10d16ef71bdff8dbaf5963e80fde6bd66bfbe25e36847207906896f6a6ffd2cf301f4b9d68afd03bf8077723f6ac1110dbb76f18554e6991df0a4435eb8a4cff87ff24c7197d84b537c9472d29b5eaab167975633e8cc05d71150d002149d7eb362fa644ff3034a549f5772251942f9617f49ad9293e5a66070ccdae77ed3feaaa1ab656e4c2e554f105172996518853e110e32bff584fe85f77f709ca154e781f7a9d03bfaec8b0feaa36c26e5dddbd6f87f66b311d15e313a1352f97f6b8a085200ae01f537980af46a3dba10619b2eda3deeb97c0096ab6b3aa228b62a78a1023f5f1e94ba8900cc011984738cb0e52af468ee5e4e9ce7e1c708cbc9c3d4c4af57e0e362b544295b30336454ac8d2031d41509b12c53e4aedc85f592d480166538294a17947a1ccfab526eae60212a297d4394ae1b1ab78f76de9ee402c0bac9fcc900ca822f9acf4a729af9579649fe8edb54ad18b5f96539d6d8753ca5e0bc8b85ad6014945cae25728288f746d23b340f84e3a3449bbec8008fe1e7d4bd26bbf8698d3b25732f33720baec8363557d37a93f96faa3d9f0c1eab873d1fd0a824b7b8fa4b05af76c45eb03c8aad393c3c56caea888d33048c73d29e31faf1cd55a3405065ea8f8fc072d8c8ad7ace44b329e2cace83ad390f414dfaf6167fb2f78e34ef2bc9c3d78172ebef0d83ead853956dbe5b12c164f6cdc16d4ec585b9a3a00ff3b7c8bef3830dc3197df9fff98d4ad4f3e571541ae81179e5097d367f5afa9205aa1eb7784872cede13c649f85ee56d3356e9ec0c4873fed0b38329dd15d630136a6fa33429485e8a2bdc42053617202d0e2f40b28872178f582c756f5f6c173e77bd6a646372467ee58d3380959f22a422d707df4fbdea283664c6573021d680c03e6566430aabc74e20dda0029c672ee8a6359527b2d3ca89b1421bb8a17c18366962cb67724c55be0d6e9cda649e01a77c59ee60145baa7124721f59a70217b27340f54772e3265e2f66e78adc11bdc8e283f9ddb7f344714d1a96c49834d9943209cc5372c786f3e810c91d47d27cbff623f7b175f0ba6a62342a747da752e306df4f9d7290248efed7fac0e2af5e2c152e9200e93c41661ef52a455a636d565b5cabdb396b489ff377cf6c106fa31d71983727529944caa8356aa69a6e87e298436b1772af24892d96ccd6d674f1e9ca2e062bf98028d4622911e3e03f7fdd31e965500c5590899b2649725a7de1f074ec505fe8c3e0d0148031d9a70c5ff240bac87c72ed5fc4550111e3747a252d6441ad38f86f03131cbf61e6293044dfbc6359e210807dcf5747ab5f7150b77ae88354630478893b78f22c0499c496e2e2f53c4e09a9135c31b00109ac813d7588135253a8459fcd1e87705c8d758275479ec0d0722ad182d982493b43bc826a8fbd8ace5c593b0bcf888e8c63276cd69b52aca0074d2b08e4f2388554103c5e345fc21baefb28e37214fea9d16d73d6c9db6ca372da1affe854a25a088c1b75107ed8815e7f1fd5185b177c2a42cfec1ddb2e7e19ec5e9494e4e2ede5ff7caa7a21757a4387020426747c43fac3a851e1f0480a3c4f87f740c99436c51237c7cab2aaa7090f3b2d3798978e98ed8ca3f3777f49723e1d1beb25c1c2842e4520495389ce9e430c9fae00c47d1e160de170c3494072bfbb2a8b643733e0d1c238a57e2f940696f30323fc8976e64d6c77465dc1f203312a0a10c7239da0e0d315650d18b80adeb04f3d7d66204e7e7929a9fdc28c5979efff2fbd71cf9618549c6922823d12e9281c6eebc7c8b0414e68cd1a323d728879727c1d3310e1e879d9acc4c02ec3b6bf73d5aca227cb301d193eafdd725b97615b3772ee0abc6b348bf9b1019bc0ce2a54f0575d6678186ae2d41d35a07240d56d06ec023948e3b6b626c86d18ef10dbbd752e725154a7737dcc5e0713728509b3b6282b4e038adddfe283e0bcb8657907e2ae387cddf6828d85a6ebf2504a8457ab11d1dc59eddb2becd34164921c8d6512169a5d3f630c509afc9be5723da2a01873ebc12ab0a517795e4a862cae13ab894c88f421140458e42976f01c6d2c32b922b831320434b194b0b41603f600b1530951542bb328125e101a2703f5c6fb6d6b0673bc1156a64448e57553504767754235acf198b8c69f911bd90843e74cc5d04c93f738a27e957275d1f158cbf11f0ce651849d6abe03921aac72f2c10e622d104e6159147b1fefee84dc227172672449c584702dc60ff3170a6afd79f18abcb697adbe1021666d602bc1aab49ec542ebf5627fecfd28cd673e72311b5d8f1ac2a37dad1f3b76122886ea8e3340332d8f45c9c1785fe0d15c464330951295a0f8cf98853b4f94eea7f2e3087cfb60cb3dfd8877e52c21f14be072b32dbe6036aef25ff58a47d345d977af4936548be35d74fdc9239002a4931272021180ede02f77a14d28bc4b72df90f03a7e7482d0e74302c4ec0bbe488d0c54efdb1737756099f557af86cd345ca346f1aa2aba2ec38bf49433fbab1e59ef5f8630db603ed4d99ce55486f1bc48fccf504a525b2d9ddb32328a490e821a354ac05dae505574c38d0b78c9be92d930bdf79a05217d04c98a7f921eb9c989080bdb49e01591b76a37ce6eef3bc61a1552c5087de6c7c82f3b5337f096e4df3172ee920592429991ceafc3b7f23022f919932b3c959c519bd7158b374971686c1ccf73eb64c612a53b01cbf25837e715efd56b9c65a24552a88a07a9fab127b52249ff34aa2228f3d2d9201817a7261c7cd79963ec26a4bd7006c28e05a2d3b072cf7607a5ff1a0c2fb77134c3917efec834af4ce16ec93b460761b49a2b139d39b63733e58cd8d70fcf84ce3e648789794226de056cda8fe0ee740e40ff7be872e37ebe4c456641558ca37b74eab354d235d9fe622defe828e53d27615c2953725049172807ef86dc9b7eb305d4662d554d0121a5e236a6c97551af89a04e2d72a0fee629b8ad0b4360ae449eb9d6b78747863bf553c176f0457b43370a20c472d49a8b5094d2420105e886cdbaeb8a45e0519fcc157411eedaf44044461cf9725197c9163f4c2dfc9f33149de5654f4fb121b7ea1d60ae04ee6ba7058f1d7f7246e59aca26a11c3c5b8e0a5d1434da9e9654e8e3b5c8176ce7324c61ef7b3e72ae053d53d4d946b2f83aaaecb31b664410c58890d7b82e96623e08f3e17a8e7283e35be0f63ace233059854ed743c9c5d1c27a57483db8af77029ada7a95b872bb6f251e6155287a188d6f2e93979ed9a3acf7a3ed9ff1e5209452f7165dac7262fc16cc2959ddf296afa46ddd3058cc0ecf70aa7b4b9d9eea0ec6bcec653005d700092ed5221baaab17dbf55b14454e5a3e062ec03d9d26af680a1ddf17d372efaf2cb3722313d27ab365c44ca090973673906efd4aadfae4a6afdfc9a5aa72e2ec4f92147dc1046f31268e2b6e3c80d66d13bf2d8a88a86591b72125a46b3195db28002a5e7864c7d0036a5f324f9179e4e618b470bcc8b211a1636f9ebd72d85fb62019e7ad3775bfb07337f7fb54d77e2f01d5721b3d9a14fa50ee639f6624ef21758e73f8c3ef3ebb51a39ef1247dc80d20cb462f985080db519466e572d6047f032288346fad1c7a2c5510840c09e287dd8bbdc1a58134bdac2a465749d17dcf8a0a1a8197bf00580d136786d78a0bbd4019abe0171cfe84e9bf74d45728e8ca075dda8cf99123fc5f1612da9586230680ac50ce9014d6eb8d8247497275c66d614f77b63b8dcfae2f6ffa885968ac292b7856b22b80a081e0d0c0fb72e48c9a612ec2f5414d8af8e2b95f7e512753e05d1f6447bcadc42816f0018e4639225cbb26c581c9d487a1eb56834aa91fa2cfd370ff6d5176eff1938173ba415ef5be97e0b81291de82d7dc06dfa98645fa96d4d52f255a3b0b28c47438be4ef53d228501ed33be445ee9d63114b4f8776b8f675f9d4aa66f1167aa8743aa7058cc44e9077c43fd142a51544769ff6cf6f3150c9187078a9956da0ffd5c9f72a37dd24568c9c1d3cc60bbb09aa8991e2a8c162dac6e218909a620a9a775ce667e12c1bbbf98dd39534a91a6a16f8516f5e6baca54a5eedffd04776486c83772718d3348a120cd877c11bfe9fc1e752b89d0321bf4c4ac22934151c009db3572b2bc44381bc1cce9b75f8005a21a8ea58fa87719b568c5827aa9b8e893fba13984bb0ae15178f11e71b5cee6eddfdc2cec44a913e1fff3a015bb5b3cd31b7072e3446b392c822c89d162e631ccbe2f2a314583188803d1d2e2bb9c04265f8372871361c2e0b8ced33a4cdc34a70606d49644b3ee13b5723090fd1d7b870f33723cfcb8e55725ef88ea8c4dbd9edfb6f17602a319cb8bb36214adf3f81ac48c7245568743343f1f3bcb0368e0a3d3ab7877144d5fa6b99225cd6f9c812a097e72fffce97fa82ae706b7d1eca18ec23571bac072c3897c9a68ef578e2cc304c672163bf0640284e97a6fcce949dc01529ef2dbafc44cd518c22d00fc223bd9ac72992848eece2ecb3e3af7072ffcc3195909b3ead286bfda2505cfafdd6586c0723c0814c8e387b516a6687c246ec8b44a23686c9e30d75da2bb8483be934f903b2221839dbb9566c3805ccd52b38a657043ba1b5f34990a126b5912bd6a65b3729471e0b2d14968d270a7071dca748f19f33e0e0f3334d0925a9964c3955fc5720fe4d4f58d176e9937a3edd0074c7516b91b4e619dbb51f4c16f547b01417e72063e59cac125eafea8103cec270e40313bc1f2e3b488cc336153f54d9af0f55412a63d186916534e1d5db9203a96d660eb4422e66a855672fb820d2837982f3e9449d5d428c19703d91bddc83d99d8350e0cd86a3e5f7d2e99b078b1a56706723d035aea635513d11a1581654691ce04e7a4927abe76fdda753f2536ec8f3e1a9c998c3cd39ccf54944b5079f4d1db5027365acc6cf7626e13a07b98b229412662e76829b6d8f3c35504b0792ca4146ad7bc36f1307339757559a2e728098b4767d56c8675564fb747439f6bd81659686d695f0f3891a27448d87fec30791d72596595f556265323327d57a403bf9d7e17d310c5719dd69f11c81ee420e3ff5209e9fed3c7f1ffcb13d7a9df8ae6a08697de3013bb0300bc31122af1ccc68f72d41c65f17ac09f8ee13c784213896e77e35b518afce8ae289c5f1bde5041db7277d57ef4579181e536b7505aa915f34e6f600d92f6396abe654bdb71df5d69725b82a528fb93a0e9cdd01350f1456ab6d636a1b253967122d7bd15b44ae82c72289fb0fa8acf7398a23414aa9d946d845150100227f79281ed59ecc43ccc3a1e13ed5a56042121a6b01db82b5c08aef4923508ad4410da2599b7e913bf12ef72f7a565f47816076aecba009e688b8b863f2012147ca5bb1fa1c6a9a7c73fc972d4727ceecb45a6ef497dee123041e989588ccbab610d5b04d6ca7b2f6117bb725b3060cf5f1218c70ed736aa2daf59b27f36ed8bdf4b917160ffa5068ffc2c727974b9cb970b26ea469ce8bc46ef28caa0dfba95dd3689dc328cbec791f4cc72c861e68b79b81aafc336908efa44d56931a29c6b9a781c3becf05dc4e07a9b72fed222395ced62536ea72bf406d4e328f613b6506e0e20e39bdd9b3581e49a36538cb91a4265da613be467a67c2d4d829aaa323c7774037f0f2f829883aec406b21ad28721f53a8d8f90f7d693e21615357b6ea7f289cfa55a2d458f2927ee286dc4d2dc1a14df74c4f79fda1902979d6aa9616a054ab920048d7301d3cc077227029fde2624d5152ea4f0b6112af0cbca109674cb5ca2aca6f4bc0afc487e5343612a54b12374725282ed65ba3fc65817fcf38b26cae7a3a6e36f485d4935723208c0a1bc50fb6cee67420ad027ae8c8d88931379905eb1d7f47fca25c0c772b4f59d6a7f3713926d22417bf9230e3b033b86be50035f91956e9e30a6948e722a100023da978c2f8c582f72eed1d60e0096c676ccb170f19e0ded2e4af2a001482a9c123c74f7ddd7e07d04fd8633870620828c30883d92d469a0a066741f4ef9a241c1357b8f4f65d80bde4e29adfce3e1585e8e4c0e9ba160cd90cdf7977202e589bd052eae636dc49fdff2a2d8cfd205ca292bb3ab1cba569c386dec12058133c8846217ffeea42b0796a2b9d6b5d49e97d43b61d321bf036c634865b8033a2aa68c823945fe765b54e7b79d517a4544b4bcf529132f5cdd4f262077240d504930ee557ead30e2b6a0796f195f12e768266dbf687521baebe6f46ca80b5834ceeb98bca2e451e88b02180fd1ba6b02897a5bb44366e3c57b74f4110a8c0fc09ccc3b6e3b0270fde07a65e74f6530537ff60cb9b755c7b53ee9d9d7de47728c8f0f68dd5df106ad289838f854ce5f5f35d0c4a34a04547f6d89640d44ca72f4f3ec2bf480856350d5663b4db96f2045bba177a10eb3c77be92f764c5beb72c915fe5398b8d43b02a06b68e2850f9fa08c3629320f7413e4b8db58303440720217a527c518f2ab28c4503b399bc24c2047cda0504498668abaed0413e1e472133a8884323f50beea77fd17eb49aaf515f0762feb9b98d7ee1a78ef45c8422150316119ec69d9e0e24f079b5b90f7a58587462bb55005d6994832397a25395488d0f18c97a4e96f7d691125a203d6c08a8ea31aea5ad1eacc6bc2d606b4fa6cb928600238b5096d68854a4d1b296fa3433b8567165231dfdcd41f950125476a2e26120851c4c377f1259cd3a65abdea0df0becc214d559c547ee703f8552e7248b9832e86517c02816bc2d72034d6222ab672caa109e630b257300686770d0bb75e9828ea8d44a85ba08ae90a45ad58815adf312dac20c120ac2d0f57c06c356784c08d84c38a02e36895ed3fcdb4496fb7d8e1cca8d26f1af0c2c78a7856675fbb3d4039b0b9b52c126f417932168fd9f006cb832cd43149d8939571fd0059d1003867711377cafd8f2e957531768e1625b442a3e095132e4e05fbe24d6b1e06c36b00d32b6d8dbcece5ae12961a210103300209c8aeac58fc0f14235eb80efe11aee6c1875e2221bec8ea7374fad8ca5b952e3594151c8460df1a20f68b72a597e5787bcfb1d43b372dbe68e92ae7dc290d9b0566c2e33d455332bc31ec72255a7e2c1434ed213f47f163508609c412ca11c211b15783c6a85f2dc8471c6f004422e639d547414d9364397dea8ae2ea434c61ef8292d6d5cb6d5c8ba8557081ca3a64d93db44f511d6ba0b468e900860e4800b5601aa14d8a30e0c4c6b2334d14e9f465f31e001254855c629c3d0489dbf886c5c9415e3874d63082eac922a5239b94096155dbc435a739dadc9dd87bddc856ad98dcdfd72acc42d02d9772a9fa874b74705268fd251808dd1c1895cb11b8421170068209e1a1ed6927bd729ed7ab86453922536932355f55e6adcf3cd97496f8e4cded8976a62e37d8b61322dbbf8c14eff23ac48b5313784c15fd04e4d5714d32d5d8c7a5e6f3ab35c472b116c508ee3d088ed55589460b59bd2be0147ce9234101beb2f2e8e9b705c6347b9d9a082a4aa2927f54ee74b3ec8b703714c8054b232d6456c2508f7c863f0f8a6b4c1a786543909fc34e72b59490442efb9697409322bca2f0cbfb1b3f8d2c964a900cf1dabc1bcbbad71c416fff56db8839d8804433ce4baa5635f3ae2b722048c421f62fe5099f27b03dd8e5e48f9af62a07f2dd573db205c69614e53b72671cb0b469a87d49113f6bb3fe994f955cd8bc527a0396d990b6af1de89a3d589efab89458c3de34831beab19601984ca841d0eef465caa29357ed3c47037566170ed88db21aed1d36b62e76a42d3157a2aab8ad10966c65882e26c9de110872bc0bb2b81f4e21d06fcf69d47d753b5de7f5e784bc57a335c735bf136a28b372cf56b4954a7afbcc954d949c3384dc24a4eb3e7840675197c316653bfbc8027298aa0c77c9e06eae3fdbb6add38dfe2c215f394025953bff99a5fed314540172a2b6c7f29786e37f13e9702b2fc0acf2d44a8878c95078bbbab4d4983c5b6d4821bf1ca3fcd9484f76d90310e2331462ee9aa5fcafeaa8a000a47693df9c1b705d12a37e8b9ddb0a54fc0714db8d682b0f8cbad1d07179a016d23a55f6112472b2b51a69c9627bbc4b611237d230f575bcce437a50dea7b6f0714bb3e1022c724c115701359689306774755570ce4031eedb5830ba884475c27a5f6aaf569f2994421ed07aca263d00bbc8ac76fa4069730667e470b80b2e5661df814ca5090418ece8146c5e1bdaa59fc38e21b958d57e2083387600c7b39d2b92e6cce308723fe1f2bd12a8f239fad5b314167aee07a85b5a814b6a9a986e1f77392314287273d3c8a7f401ff0ff83a4d1244940d762ad27af1934477ebcac15891f210e472140b4696a1df99a9618b660048da6ab599c425723bffbb8203596c0ec1564029ded9f052947eda9e9fa980226a824114dfba1bc788a01564d476c71e70c08c7277bfba49d61d53033f1a1091a5c220529d3e8e286082371de3c814149eb77e3421c71cb6a5edf3f8b188f3f001301420a509e013f7dc1aee9dda356c4f1db133a3f02f8135eddae81909435dd9715e47a24d237929747465a619b93d4a8d304fb913bc005125396832eedc714f9decc4b107670035354aa9821c05e098ee4872235b4f78ef02502b329d22903de192d6ef6858929796f5df82ffc9d3fdbc921423979d5f3aa7b9069b26c3fd4f53c66d5bfd44372c939251838581726669bf726d05d7b4bd0508158e6050e355c4f82ee91861676d756c622e932e101fa59c4b87e3956ff4bc7fef07874914975edecbebc9b940de5e042ea8d0bc1527566b728a780419c3145d19b81c4dc5eb0b4e97fabbe2afe9a1cd6ff0ec3b3ec8a20e6ff22680ca48930e91297893c3d8d4f91810f86662bb34a298e14841f2fa6386723fae59c7a3cbc765c36fb2c323fe2fa111488bb35d3b85607209ee4a900b142433dcb64eae384980cd118e5d027d10775ed6e5c7b2a783b99a5fef1d4109e672d58f17db45ee8fd910a9a9e62ef410baf48fd30ee8dd4f6ca247e2d5b9af837225c81888043a31e9e7efdeea886f967cdc257f7e15a39631e4b7d9325b0d457245ca02e3900660aa3bee80842e7208e7cd23057890aa1b67d82031036abb49199bd5798d54e8ada150f5adbd702957f95c0a888b365b638fba858b3a938f3203a92506029441978aff97e5a1d9b9c297442cda8dc05695bd3250a95bb672334c8da3edaea3a0a16cfd0883e2b96466bd5a1f57cfc3faf7c59e6fad9ae32f2e720c0a0e298f34fe3ff5ed609f9852bf1aba74785689917d6f3a055db85670f14cafd5c91e30e026d79c1df531fb726016525ea3793f3032516207152a5c97ea723517dfe26b2ecd527d4e7a72482f7dbc3c44f80bb14513a87c84d125e113b4726994aae160040fbfe15042f8e8a4965f8baf2de65873f3f264dc8726b2f4447276812d20020730701bfa38ec6165ee18591985c946ad987da16e558de4e87c7284c2bcf76acc6460a1d14941dfdb1a239b881168355b9a91fde22b4f757ba9185dd7d81fc176ecbe0eac0dd9588f7b1571ed12ce57a0230beb3774a26d28cb69e1240a85d61c8486bd5990836f4f2d6f755335e9245d2ecbcd40b2d0d91ad82fb12fe953caf7206572a01b9ce0793d36cde217ad34365a6a57359acc0fad8035cc28ecf5c4d9f401ae5dcfaa2b0a3ab216b5878895cc915ac0564c6c70bd010b6f713f5822264b74b412ad25bf7635a283712c2262d7731ffa4340f5df1ab754fe4bbc8e28b3d6c0bdeaf720e8f63f6ee5c1fc330cba76eb96bcbb02b4d57872351afd781c32c6c9cfd694698af62ae7a63fa5ec00c6272c480bccc7f3bbcf5253ba5833ade5528ee4a0068d9d70e6943d4b2abeaf73be39d875384140a80a3feb9a476d644b9ef3274473f2edc2b3db35179a9ab01e26b90ce552feb162b072299a55baea24f74357eeaba275fe6d802f329dedd22a482d15a6e43b4be0334d92492af0eb100e15019732a184aaa8f3b9a4f9cd225a2bfefc88e730934b9e72c76f9460eda05e0a4257cc78e5c26ed3fb7ea2ea59a5f2e6d69141197c3779681b552dcdfaa7350d97690997609a10471687cebc0dcc1d005a089545532c0e72ae4c3bc7d21d264f8eedab11b8e215dba4d1d7edceda28ef12afe462898ad37246e31a1e392dab486315a22de921eb394096b3ea4056068ad6380f9c17b04126ff7d50ad9e950de372f9bd4e9d66b056bf924a98a14158966edb5cf1479e8918ee546e46becb4c4ebdd9e75c67eaead1292d3aa6a6529ccc724c7dd11ab74c721050c312c7f093dd284c42f6b6c59ff0448af7db9b37a3af25d7adf621406d72bf1f5fc2526c0aa4eedab7521634c3cf0984194d66e4fda2fe375fa8fde91a719e8c8a6c32f30fd05beee3f1ffa38a535bc356d38a25276c8e472aa97acac2446b1d12fff9ac63ecb44e2f9f50d7d59934a2a479bff66fef99e72ca32c18dd72b42cb62b3eaf456b2bc2d61622467491353e5248fba234652b17e49b18ee4c72300a69e4b4bf5fcd029ddee3bddf1ea9ccdf31659eba1379730f248178c51f72f70ced2fcb6a6447d44fe3f8192823b2a9e23c67ba6de7c80bd130d057c63e72489d33cd1f8b9ec5150576782d25cce34d3f78b7c13178a2104c4684c0c31f38b6c5e3ab72ec1086a36b7463a608185acbdb9b8b569610287c0e24278a5fcb72c8368ab470206e8c67b9eac72fe22e54243ff311518d2ea85bca5bdac941b27277bce4370d3ae3592cf2421d1783e07b53fac644dfc3fd393443c37794e74e7237edf0c03878a5fd2429d0c29e23833c23a833a6a33083efd0e44972babec1598b9f76b98bb87ae682b4f3d868c3af92f0488af3fa4b7c06a797572a748f1872d930f4b62fab497e2ae87b461c41487854cee9c73d2244ed565deb2c6c952b72ada0623eeb5550852f1a9e8bdd9194bd8d8d31327e18cb7da278b3a6f4ba29723f3aa1f31a72fd24be5e0304a0d8c1071112b1455f3079939eb10e08bd6695720a14dd1103c189d9f393485d0b97a9696d34935aceae8dfca707ad0ebaef1072186a6effe2d19050707259d9a9f06c047fd7b64a6302e4cf5c8df7f3538f4f63d4aaf1a39522906402b8d07190004a6d424d838311a74efcc508d1ac3a147d72329d99cd131f1c84e18ad807980d75288623ecbdb7a5de176ad534bf8ed60172e5a997de8b8e5299a00b7818374691b97c469d79230c410ff0b29db78e5578724c7266c529a6e1e67898d5aaaef2dd90a5875379208ad87922ebdaba35e0ab72e622e180b2b388796e40b0f54ca0150fb16202367b8ccccf7a1f5b28c6db4c1fb1773f8e30981f17a2af07b837ccb81808cbe9d67a5b133a28e818a739c69a72b2f201e4f6ffcb9d851557c8084925dd297d13ec5844a39b5c2af86f512e270727594fcff974556aa9c4cd7f60d524011885ceb848cc21044a94c257d681972956334be13f1c1530eac8280eeef1d1dfb6c9e724253c58487cdad6c9ed794c40cde1167f4bea2770c5fd1b8fc482097bca70c10f65c77ae4ffdc8233cca5130a373e204f6c7d4d3fdc4762eaebd0d27f18544c7efe4910bab72dadc207a09272c69dc02977bf3c67445f6c7eb3c3f9b7311f6e464bf1daae9afd3e8fff8cfa72db6477746dfbb01aaf2ce0d2dc194a123e50e67d10419359eb06c06576f6ac6cef85dbbee7473a475f77c4fb4f3146162ca1a9fcaa16f97147e4bb598e8ac30d130d5696dffcc85e60ea5bd9fca57e537e4ebbc37c78e14e6c6048b177fea74b9ccca17964783a4fbbb5742bbc50970eb4a12d9f8d9cebd2823a9124b6874872b668f36f1f485948b77df23d181aae21c4c1d64a38c31f53a3681b057403aa320a5c801c3124933f1c5d8af7db4315612155e21f0311f683a33d16a293371d0d431a98c21937f4496dd2a5d342c78468d67a147369017c6608b0a97e4374142b69e8d2de21adcb759ca3b6dbb347cf684e6d7e156aa63d0fd56df850f0cad972375d21dcb77bcb82a7035981bf4bc0c0e1f46850ba4bd3bbaeded0f95d6fa911214287fc753f1eeca0dd10670546527062b1e1f44a900f5498c0107a5c01967250f227f1e837ceb0abed436875af5d39bcbe230b452c1f3fb676e4d194b1270ac6360381144449c915604a9b9db25451cb508b0ba82d75a66c08398d5494fa2d1e48384460df55e2a9b4747da2159ac7708550e00e4e86109919bd46c85a6036581af15620e4dd450d39a351ba09fe12bddc6f036f90518d1f0d0ad62098dd722bfd4f242d282d662f4f404422d51456a05c5a5bc3c24a138531ae46a629e1720e117d7ec35507aea129d65d088e8222f19e78d1bfc67c7e9e15283a4ba26c729491ce980e46eecea88a9c85960a8f7748bb4c0b4e03ea06b7d71d792ced4272a9d43de01a0438d24725d6d6f2f66227182c37fe4662a6c7094360c4b5079b722d36d609473a26028c9dc653340f2bc75cee04528bfa11a684a5ae8689b4e16b91e053ccbb669dc86d403d6bc1812121a336e5b834012f50931d4d5dfdd6126e0df3d829b2f685b02cc56c6c7c7a83892d491b931525a9c9b9fd36e9bd9e9772b2c15ff358333dada76f9f9e806dba5378a5ffc3c2aafd9a3ad37c9e18697f72b21f90fa06c2221db6302f71a44af77df979dab15f83b6ea7d4d7a537de8133895efe14ec5b3c094fd7753d7c84d239fc28315e3a8eaad917e2049199ce4ac1ec6412270294a7a787216156fd348b28bb8569133fb094ce0adbeda8698b96172193306a37af469f9910b448bf41ecc969f3c1e095aa23bb44adee859d9fcf566282fa5be2a217be289ca54c7954ae357376be3356bdd54157eac8250b20b15720c64a8a7aa54b37135a2007041a54be1e3199da33d5a790705377515c4a6573067f598c930f7cc3bca13bc967f67b9de556fe5755998842016b9689d00924b72181fbe03df50e130865e6734cbba5a1043c5bac5f0533f33b4605a4ec26c6172c5b5f9c866ac17b6cd4cae32582edc0d51bd5e1b1ac671d19fc4327e00750357cfa799d2729380dcf9aad4c7d9f89c002b01b98469c4d774300510605224f1215d1b5c0d41d3a46a873def5548dca360187a01bf6bbf226a2774ecc9f79d4a729adc0da27edf4a9d745f96adc0dd13665af1e32940ecfdf5d400213b9bbe17342d1415105fa9162b000a5936f6f1aac6968ffff4d7428d0b56d546bb815047676c74ccd1c1af97aec5d4ad6237307ac5e83a97f433b611ceaf49a1b473cc4e728360b4f08820e44acc930dd4d4a08aceec03426cdcbb3b9f0bb809279fd34301281cd4d780cf5242a6ce84f0574a52aa71544859c148fc51c4843898b960dc0c5dab42b3b4e7583800492ef15e855b238b585cb566648fd98374367d16ecb872e6228f6e6e32ed058546328465377d09f2d9b7c11eae74ff8b44addcfba280037ed3756fe7e48780d33a3e7d88d08e7073b640e276d3cdca7a76e33159a632576205208038f7c0a6790f5c1f8878df0670be8af9fbd830f1139d11dabd3ada72caa26277b5dadc14ede8a76b936d7592371ffd491bed339c4bf78043db42b672efdeec6658323b71dce62a43e9e1a30213fe9c05fe7dfbb655ffaf4c2c3ee859d7a3fe2748e6b1d953385b83909b4076d96d470c282d18d534bdfd322015e472d0f6e451aed58f3902a49d8c96421a97f253eb0379b703bb4925a4ea74fbf3722b1ba0f8a2c2660a2e5ec0255bee817adbaf01d20f22ddd2130834f63be0ce72f8e438aebdf78702a7d02ceb2e87962ebed9565d6b54ce5c3aef69791088717261f9ad23ed9d6de1bbab95c54d7b246fc220bcdc730b358f3b6f652531f3d66af1fe794e13decc80cc6c14ce9f476c9ff550aacefd99651a5c622a3e4cf1fe2bd0e8c05133151cee4c0276f11375a74e304b23d66aabbc541c911506ead2341b6801a91fecc3cb5ab2893224fa178a83c48494ff32b9c8309a4c07c55c501d58bc44f672f967ab81841d114b4c1e9e6615abe6263ad756b74360ebae104558722ac4e5216a680fb708e559e4453e693cc6a2b1945f90bcdc63aa311c67f6c072ab4909d1cea9cba76b939d06c6592aeee2bde178c4e2302e1ba7254d9df8bf4fc38f9e0a9b360504eb3ffb394d0e5f2b0afdf7cffd3876d1e4548762adf1433bb50ed1a1f93f9435c66d1b2e6feabfda8a9a488ab27160db61bdda88badc5572296b47d1c4c8d8963eff42e68b012c42c260a0584dcd36f9cebcadea83f13514071aebc3c9a3a8eccf690aa0862c21a55d82b61290338606685fa334b56aaf5e8c0d5ff591a1237207c8ff425f9b492b94642bf63a7de703ab8eb852a4ea2641a2bb07093c4750759673371eb20883d60cca89776dd643c8cc58e5ea1517007240d57a692a80ef4f9692bba282b97dd52c88e41f5cb6593c7a2d65df68df4c7265a3600e93f4b9d3d05e2bbfb2db80e667b11c05960c4f596463603373e3e472db56dab707f4e3932de82af8b74b7f62a21dc51cb29bcd54cb3f286567e3987289911fa751d1222e69ce2e08a92ab774a4915dbdbd3766be02a463a1cd91ff51c5c6cde0a4cfa8793256a1c645f2bbda66cd7a599ab0ff4425fed96add0960538f3f5a63cd183c3b6a291dd78d6f3037c31174cbd4709aede65e1548b08f624dc805cd8c736e7632b4d0b37bea6871a41c1655bc6efb0f3d9c16538a5ba4df5a9dc7b5224c7718ec587ebb338d13fe4702612accbf276f27313c9369b3406b723b2c370833c08c7b19dd02f1272a46dc9440c31e6845a0af2fe83a7cc8a7cc41aa9105dea68e7a500344ff20b47e1caf51098a9f08ea3d8e5ec83bbb03e82572f0ebd08b06858a2c66ac8ec56d582127eb2fde417c9d81d924d11245d5fe43725992342d85ef535a352f04f7e0c2cc008bd1623a0563f2aca281bf14d3200c72b1dc42502892bb81c5e7d64723e0b73a0b0ca7f4f2fda67e48e3d8d753e915418cdc0cd3d5153605d61b00e6f0d9aca0fdefa8603354b701356ee085ee8f2f7258aa523b7bb31ac6f38a0f9ea853345793ca553137f70f00f8125d27e76e7272f081113433cb314e42bc617b574e0da29be0552eab8d5dc3d18310db33c36b7294ee0e6627589a9a4cf8d08b1a13467115d63e8c57647eec7d1ab7a9c2941c7206ed616659d1a129486f7d18dd37505827019c455cd1bfc6cefb9848f050da72289bdb73b61b2a8bc8b51384c1f1639404328b1d07d3552963910860cfa6b672871a5df7d83db397bcaa3413fe2cb2cd6d8a4235ade5211df6cb08ea47bd4e6f9fea60801e208d86586dfa20e807b93370998f5a156f3ba413febcc6ba1c71385562c2789b778d7470df8cd128ebde5620eb0b8c7bc31d9525e02ca2f94d171c574289c1f1eab072e6ad5179fe3e923cbaefcebe0462e92170cb65a816f2a2725dadad68bb813566d0b34d05060c522d2cbae7c2593c13788b920afd2bd03872b2bd3424ac05af026bcfd8fc0b25372fb94a1bb41ba83a7562e157822a94382fa26ce189096688ca3ba08962d79cdf852fce68815cf89c16ba0702a884da23268c29ed4061dbe0cf340cbda8023d6127c2e0d1cafde962d5dce9794901909272808aa33b243352afb71239c4fac2f63b8ccbd5e94c41e4be474ded149f8e0b726cc0c25fb5ed075fad7d0010aebdabb031615feaa8bc4ea4f7c78726e9a9cb7270743f721fecb78af9b30ab4b2f42057e91634533ce87eaa980e27c0b1b3240eca39c2daa661101c34b7f170273a405c95a48af3c83ff961c16e20d3eb72ba7283971f8adcd8cf8232e928d61aa315921e3a86884a89fe01dc24f71b9ece76720d8ffb204e0e0954710eb228e0ba3029dbad022978a43055e7410e539a5c95722d7e4bbcb955ffdc3c6e10c4ef5d4b4d45c71483a49527c4bee886844f69887264667efa56a2fa57baa5fa1e64092336f2529e30b02de8a328764222dba04d725c260552e20ffd37200e2e3d7c01836e8485d9517c570554a46f19efe846f05922cb90050c6aaf76b53a0946cd1dbb87cf2354a59831d03249a968e9fa35f94eb94c4f793fa533f4a03b11b1903a5dbf0173d7048705230d841b653388bb314cfa7447d715716afb94587fcca6b8be04ad4a9208c04537c29e5cc0bafac9df534eeaf48812b019d52d1b8a95168f6a7f414222710fc0bdfcdae7154539af95728d26fd0894c3f54693b2545009fbf86268bf1c56b89e37f471215f44b1b65c72bfc447b5f890877ba6d8435acca8c5fd3c472cbf4d60dd5634e2f94c6879eb72d20ab6348d45f354c3d9a8bef4f884b920021d0318465888435f51524f8a266c9c972504cb26a7ae7ebd44fc1fc1b7b4bb0c29be9fb9ee13e17e0a117fff2d7257c652afa5f6ad1a4c6b01c71cb2bb7493ad9fd5ecc6e4cb517adcac98e65d11fc8fa3849baba6bb8492cb83a9f9649bfc8629bec9ee0a3f2a8f1f7e02d2dc3310796735ca5a03c27d54afc070f455dd1f0580fb2426f30fa70f4a3609e8e4165771c8f4063c9bbd14fe397b127009e334bb0a4a76f61aa580ab766a30add472ac85d8dcedb60ad45493d72d38330074e7d753c390950c5b8edf27d60a6830729f96419b0e957673fc4354f8118beac8f67c9179e407f928e91faee80dea3b5edeca025a2a54b07031f2aa8be846f2bc7a89b8716a53d6f24f0a83890161b469904d8d1960af2f3000f08dc3015460998b4e06adb645f09728c3074c3d117f726ee3308eed7ffc6bfe2444b63685a567ddd031714afb26727db69d7fe2342c72420bb95480629084b659216e31e02a66864123feab6a153d3b0e8eea6f9ee850189e4e54ff928ade64128a295996c82d953d35bbb952c511e3bef591e4e2df6bea9fecfecc2f067efa62aeb8e7d51c22f3b879c9d15ac1747cfb37b8ccdf8d272a8482653ff3694d3f1efc37379a9ffd0063ef07f89c1fa0fec96518e93e787223bb1c94dd7b3ea85933dc42b950a4b18e83c1a10b970a621649aecc6d03ab689367c3b59f4b61be5cb229df8113a3db1ed0c79f92a5f24fa7e2609841834372e498ed0d6095df32cc3a37f0dd2004c6cc72f4be812a4a08b5a4b91f1c1938720785d9940eb4dc1c0819ec06d732eef62d6447dec9b7f6c56ae67c0be9f3ba10b8d0c7b70c906fd4ee07396c797e0bfbca77b25fa8bc1f3cbfb93a29a722ce72b968fab959c175152916fa429ff0de81f9b4078756a86815252331ee56b1f472d066fb18c4a0a55a3655112374ffee8a76a64239fbc0ec9c3dfee38216fe95726dbe1d30f823505d4460fbb8b32a546f39b4b5aa1dbaa997986d85435c88f24ba59a569f50d1a7aefef4db436256d8b4909849d72ff1fc02359cf60673c6a872ed68f0a5906e40b578b60050391fe3d8ab19f3491bd9da6850b9b4e6188cce57f6fca2af31656f56569fa99f2fc1f7cf0e0d58740955adf7519406c0166e13722c83f3135711545240a81d2f870cca03b64f4ce5a841b64269c11494d011b00283e29d0a9a619d39cbef28d1d75a91af0973771c6da1638b18d08881256fd63c3248e44a4e9b7bad0a51ff2a9a6653e24fa57941c99ba9d7af7318080df4217295b1c7bce2a286ad01039d28eb617ecdf049e5d6f5a3f6b8229d675a81d9ff29d2a127574307b24b3097ac95bd2f524622c4e0ff6bc4b41e3fa17056ddb17454aa5bd930b1182aea31ab8735d2c21126e69c6a6511d3f3a9812f00bded71c47214c57e14c4994bb1d06e2ae12529c13e97a6a20e70b119177e02950da1eef817d210a0bb0fb8ccbcbe92e35c2e25b3540257f31613875b4e0f74ef50098f49702700c6b82103d32bc9457e01787600c970e7549f31e92b0dff9e3c8cc7978072cd656be93cc84906831efc2f88975b8f770edac4dd9a32551c6a6c931459a7114d6612d18a917725e4aaac383a58a9f79de8603e2a9d0248848068906fec9c5427cd749745d11e3ec52fc5d304e7a62f0460cfb02f40fc1838de64d4543b836f8edc2a2073a02ab7099ae731fe9e688563eedb6bffa157c77c29518e191d28724b0b9753ffcbc7090d3941360b65ab323a4b699ea52ec08979a48eff3b5e25724692ffa32e17aa232735d8831a10e8cf42235c64e33cb57a71e628c04cee7d724df79f19b94abc478d142d23d60a4e689115878dee70b3e68d88efe6f7fbc072859cb9ebd4e92e965f462f0a939e6e121eed5388fe825099b79e2d1b92a54e1f3090d63968d6d5df27c8e71760d7db66fe6c384445ae3c52d7814b63a57aee723c1a82ebcc36ebe34a1c30749739c1bd9577cd598bd85450d9e717bf4b965523f0807499404da41351aa4b05b2f1d3b8f7b269e7a45d8c372d80936ef88d16724ecb44a45884ab5fc61c98b9e115722757c2fc2b68a34149839a66fab924304fadfc3670ced86757ac88da746b7ba0e185c65f048c10392e0ee434498ab07d6ea390479090d79e1d143205c8e005ad312330e6a6f4e761d6826079f9101aab705f07a549beec912874064aea4fac72b725eafc7a49246080e684931ad40a5d46903086ec38dbe7afdc5f2babac35de9c6e998c15aefe26bf1ebdd80c42897458a4020e25ba48a7443b1d5c83b6beb2e4af7a7e60daef2946ab33e55719c31e7246954b6b03b623ba6aae674751212f336716c7af79b114377c401028c2e34c5644108a60394e2c7a2cc48c9526d97e8ff91cfbd8d607a13eabb506557ff7697257d881c36758a00e802c228f7c2115a8a24eb650ebc2a2d0c72d40e76fea4b729780ffd169e2c9c1d56419f007c032cd42a5910205c3d28e55bcc4849cc02a723708c9a38a0ea5f93120982e36231704af231ba312c570ea81cb5967c676a4722a40f8195698ce4e19c452be008233140f8451b389d394b179cb8519b5c8ab723834915ea504275957debaee74ef6c8c1f68e102c7ccd460def1961f87fe8b059589816612212c89bb68d2fc7b27324c042fcac23674970412feed7f41b6ad04442fde3c8563aa432d88164f2116f6ccaf9f5128cfb4b8248ec0e9b72c695b72f98674e2abbc494c11b1bc8dc347e3ba773bbdbcb6a6b7e6ec2063a8dcdce372431fc33a97dab624657212a20aff973078259f7be5398a60a33657027b1380725aefa9e2735878892097077a4a85909cfa11bda295d36666ae4844995851c713bbce54274428d073d64c8091ce027c71c18c020820500d6d86908cd35003a772634019ab3667d9e020795b0916148775da40d7411c1f55020b9606072352fc72186feac790d75fae5904aae5596548f22eef7c0bc712b2a05c233b4eb636ed541ce28ced0d92ad18ae391ca0c9c8c6656ebea9bf5b8c1f21f0db3d7437d04f06da18731e45f5d989c0f3627d6ad101b2c067380ba386ffb255dc04a371ad3472d53a752449ecf261249d641b50f493b811216a850476e9d1750906b326519862e6691ccf8fe151adc2ef3fb1f5684067f29fecbe6e484a701371f50f081eca3e13234d556386521b2df3cafc801ea5029634c407ed67276fee6b4a36eee9ec72ef05fc4d1ee19de254040571392a6d92a949abe304402affb8e59d999e7e9039c6b324ee02dc77a4af2243244d599da51a0eeb6de54a99125a17ab028f7a74318707858920b8739572255b39d6f202d6173ab4f7887e6523b32754cb99cb3c72cb387c78b282aefb0071f6022b4198ae76639271ca97ec32c23cd8d3a6b106278df79e7a8a1e1c0a6beb216959f21fb9d7d09be2789e3213147cd8c402d053729d3c32e4e591ed28f530040181724fcb35029bc1583e75931a6bf77a0bad5163a517a31f738c772a36ef7de30545339d615a8bc034fefd7796ae398a3fa19732ef87842c8c0c5aefe98ea0dacd82095bc7b93b70af423f1d62247702f6821310242907474b9eb4eb2389fa97dd1efc09664eb3311b1c220561ab45a3670d14725211ba84344aaec7b00543b55600f4cf714cbc82b388c4b684294d3f2bcf2472ad25dfd3aa9d269d9c28cb3130ec2b8370471ac04596b4973e5e0f7f2408f062ca1ec1f1a369ce8efa8d2b5f94102c6835dd76aa2b7a35d3d5199bc0e683c372d45eb5b0243e5c32f10b90b3029a03a3d2b41306c2082bdd936e454038a482727ed652532c3e8fea775f67ee225c65a0ff2b6e18619634ca2d7d4c83a4ba5a6545f7ce0158030011134d5fe703d9a286bc6c04eac05126dbb11707bf8c043731977a9660a8eb32b384031078dc67245bf237ed43d37d5474f12be218fdeb4c7204426160a69554c90dfe0239b595e6d28718ac40028a5eae7585a6ae7e71c172e53d339be8f2f35db7537c77af3735a3c97281d2089cca63a5e4efa09e207272a49a7741484664fac369f56ef206d16803c0fd2f7f7fc0659054cad41cad7b724dfc7eb1b61154f8e4afa13e2ea8ed976daab555df1d43804eea554a07911e1efccce654a5569f476fba750cfe2995d2b100fd1086f7bc2ba7ee0e4689776c3eab6247b946ea56d7b3fd247c7e613dc98b2068fe2e1fca5f4d41b54c14234772e132e591eb30fd92cda64986ee534a8329f96d8ede9d8957756113b8c25a7d2885b92805d58b577991133c815b9dcfee3017c3d0527287419c7741f24559297224ba51cd3a6f7a66c40e001d1f188efe0e52edba1da26999277bca698d2bb029f03301df6b9078ba77d270d5647c923ac68d2321cc831f67babdf1741ab6ce6ed845b09e499ef2a67a3effc9903e6956163c9e9d146415b8b42ceef149b87b2d0a6366de4f0d5d65a8f061b4f92e8fdd241991bc543093f6687229a39f516372b28d66e4fe55e26019f0553bab296ba051d98e40453164d62a7913b97a42810d570d6e0bdaac1b6c567cf5a8d55679d402df9c1d10f6cda2ba83b8df41b65c427146b5c42b2b96c0aabe490d19a8a9a08f91a084005c4c7403b66fc23cd6d4727c5d702fc76507eb8cc7670bb1e26ae600da7fdca78ef4db0a0dc312a2d9a272ae18c3c5faa484115979f1796418006a9819c1f9586aa058b7b58044575baf7209fc3c896312b82ce689ef34c80d9240d1b42c122e797675d566bfb9bf02f072fab48e57221d284be9cbe6aceaa05eba390b1c4e353829f44c6f07097925c572ccf983448a1b69ca3f96f8411061628c909d71ee38cb4f07dee8f1900211c5392726262c4ed8a14d9edd72a15649fc9557ad082a5e698d6008b0a825c3980972d80929855c3a8d84dc3511da74a5bd06a65d78eb1792781680d1fe53cc1bb23e8f91690599c5641580d499771e4ef5e37fd7b8017c12d7dc1006c86d47daa9723cd115f6b38060c26a62b9366d1332573784b23866ca2eb7c63aebef6798b372abf8a0a84dd042ef6a4970ebc4ef13d81229749244aaa7f68e0895f2d0e91072db30ba10b42c7b951d584ac891a60a107c4b35cc35aca94e1a9f014213f4250bd10abe9e447ff112530e64d09003f9d06973e1a110832c02028fc7eeb9c163304214a266922615fb66c8a6f3c907510b510f4b5a117e9555829f137ab44fe67242548a34e7902497fe436f6804474621eb967e0f30c3147c2904b079c2ce9072382839e70dcc15fe2bc9d54ceea0f1923f90c672d2bc63faf3d0a404bc30a972185e5afa8054b6e838abaa0485fb3e51933b72c1e25f8220fd3bd387dfc769727bb27b52466631441d8501a6e3224573767482242a6e0aa7e5d43bbc37ed1d72857d6350dce9eaeab246235e7d6365e5971ca61168343c4b1861af9280c2177263e0353b1ac78cb6305c620b0bd2520f51d97208d1e493670afde482f6f3021cbe40ea83ad77d1c2053ebacc1242f22dc0a6d42ce542fff0ec1f1ceddb778a100552f0e408c92f0029ebfa7ea3b3064d883756b5a3e52a4a3219fbc5cf037919d1f61481418138bd59b3cdee6449b6f4d1297213c619c69a5dca9c7e4cd7797208f750bfcd10add7282805c02da5bbefa35b73fef2c374500814117ef4f3470aba6faacd869970d1551ee77c3e491135e629c1d6494fdcf62e6eaffcf23a333c7366fc4d172e5a5ae70c5ada7b20631ed09496aac90effe6281e00c2a7c97a4e7b32838c6c96dd5d6c83c597bdcd89063c601e2d20e4968878a0013770ab0b675ac91ebd65fc8fc6e31bba233c0c2cd5842b55c81adcd0e03e21ea306ce03e7273bb1e04ff67c99880d028d092a35ea46dabb70d35ba888229b7bd961dcc7e6ada20b14216004dbd0954b099a89c094643796d50022968bb4e709359b352fb34feeb972127d6696b8e7276e4191d18fb99e2f5862e68a9d942a7e69b32d30b72a5f92680baa2c82609a1901d2d24b6be1da66e38154b9be10236a515a554fd3361c74c0d00cdd1bd90b765bf096edfdb7b0f4801852c4121b4fa5d0ec76a5e72f3859a19136ec4a4952f8ee3959cecc6dd5aeb9f09df7f232fa21b64a8a2db2c655fa0d61b0c30bb3aecb936ebdf799fb2e18a5e8c04a911f2674150b42ec972e8447b7ab1387940bd3a03e9d9f45dbc795285810bde13e66756b12a244e2d30c4bcea772230a62a43d0ec3150125d6a189b70be11c915cd8ab048c835e9d058d4a5a8ed4f38eba409cd63511669826eee97841e11e4addcab86ea1e34f381722c3bc4e6da0b62944b4183be6bdb94710e3454371022ee9008d02d14c98fbc1fba8d7e41638c6950743b27c336728be6cf99eb15875e12ec935d9cf832b0e772c7e7873ab576467dafa777cee3fde6c9275c57fdcd70b660df6ab0d1cd52a44aac92795e7213ccad40c82bcc2604674324d4ed3c79bf66091b495515983d8b2dee53d746f155d330a826a7e82b6620d16963e2a299bcdcb7ae41921dbe275b7220d04640694453ea56bddc28f242ff424eaf816d8d526f29e1abb405f284a17292935ccda247086ae3907d246f31fed6e6542a024ae1301f6f49e7e38791b672b643e874e5d7570d7de580ee1782e95818f2b252af1e5cd5e81a8931e52bdd313fa46668e68134855b0551a6425c6781a40a277c076d0ca0816f334642154d724c35c74bca3362a2f2a8290ae80cd4546867245c7a0bf722a88b4637a781016892464012e6395a55b21c22b8a6a4978498a5c234b540b15d8c911b24f81bca209be712b65c9b1df465c8e44363bc54dd087398fadf9967a70df02c9fb9036b56c7f7918fbda5e79afdbc4613e2a417f79373e59254b0705bf7ac64c20e092c591a2d40707da9f16fb1b2d21975b2ef62d308d1ed9dd03a48cae7ef24099e21723b6cabf0ca7a3e592c541f52549bf0d4dcfaeaed314836b4187799454636fb727d68ce700505b6b5c5080c631bb2c3379ac071e2112146b7b516e026eba04372550117cf56cdab84dba5f436b9de824fe63283d74e29a709093a846153e65c72630ca10c838e4a1a83b63589498bc3fa256ed62362f3ee55eed3d979d6574472715c0213f06310614164c7bea4f566605e73768c37375e77b7400827a4a76f729ffe7d52c0666e8d87f1366d832bc8a3fb4be04e3f5fe9e67fc9c6b7302f5b55c3e231952e062a47c339e30ee9b0993e5ea0d966a259b9fe07317462fa4f4d7209b9f499e87e18e96ef18fc1842212fd5d312b6689f5e790cd84633edb90e372f7ff7b4fc47ceed53f64121f37303c60637e2595ded0a4628f1516e374084d72e266c006cad7cd7f89ff105e252048d8706877ce1ff21dbdc74a493b7e09c515223ab1a66a4373f5344340dc7292fae8795f7d9e5e5493cd22542686ad532641766ca067beeb18c6b42108b3fc46e6b684a0781e5092b2c2688eb3e09de4be7248add7b04eac84714b454218fb982e1dda0a8d1a71a1054addad2de9a2ea5672a657a1a35dc9a7d4518a01ff5f02dd558145b1a384627c60cf8e3379d1dea87201ddb03a3a472c3698af2bc9c55f8f02e503d9fe963ba6854636ebedd76ab333ba68895aa9cb94408a81efb06f0c38c9f10b3acf378f3cc5df9d55d2e05f6c72ef25511fb3bdff6b9822a016f8eb0ac796211442ffe6011ae77f82077953e37209cc06c27b383b2f179980eff34ef12fdccb70547f82bba225d8090190d07472bbc8c81b9344bbeb6e59dec4b45ef5600e5ef09f0b3732c4f3b7a1cb0b394872f9697c92d36019c0a1ba0b8c8828570376be76e99db9e6d8e0b89b3d72aac6720e858c1dadb2a0415bdd902db4eba2dcf12c49554afd739bd15e31575cdafb7296a71ec28c29cc811f1f21245cb076545fb127a7e22bef3547c63689702cbe72dbb005b7dffa5cc43b7de2e017844504a47546de3e94d6d6666666732220b918bedfd6da4199bf4277a68ee0e8c2c3c42de7f6fccbcd646789288962a8e8f172e6e67bd76c63c9b0cd6040e476a50dd1bcb7cacb55decda60b7d353862fa7f725f28e1cc196d1c9c8b4983d78364863726a9e5ea2d3b5ec0bb0f82c554e32e72ea1a9b08a234951c4ee5685dbc5171ebf51b0b52139969f520c94a216c668b251ab9330d8dea789e80118d9cbe33aceb29050326360bc6464775677f8e7d2a5f2d52e80e54410a10832a14a097a9428f7f948e25d4968157a89da8ce3c2bbe72d5e4262dbecb90c054d660222c584778651f9cea719c276f6211041f4284217225a802bd22fe926ac48806dd3c4699873c11cc3850b1d96b41007b070746d37272ff5e033287eb9c3fda7211ce47d13dbaed1c340f569c5534d47566a4ba7d72ea8ea9d530d1af254bdadf7b408e059ae574ea9921f3074badeeaaa71579b5729488493a48aa3a7617b0c6b436555fab7129062c8e8360b70e747bbe8624b3725f3b9910f09f220606c8f3c5da4de24989c2747f304c29cd18f2cf01d5b8031314e6cd5ed1b4190bde26d0560ee0ef28738ce25aeb51d2372feced8ea834f65379cbd47825943eefe9e90b80477c6538ee5ecc969758497face78a13fef1de2601a649f5d2b812a552b30ea1e1d2204e1aec4183ba24bb4516637fd629dce072322ded10381ee94072cbb82e668cd3c204c9cecf5a92b4a8de344335d1e12b726e36b11d6b627c79241f120c01e0f884c2a1fa1af15303cccc5f015a3b47383016445fbb23a74617d21b6c76786a3bae4cec381ac73e9df6df52064a411aa06d8fd4503af444488ddbae8db2ff0e306160579477eab1310ed20d83df18707b5037a9d7db6d093ec2a7f5d94aa35fb5e9fb41497463df30fa6171701f78bc182c64ff4aa8c5e5da0e59bb1415939be57299e5d7ac06ddd0127f1a874d2f3ca61a7613b1def1652fe55f6037914c49bac8cdfd9ecff1054e57bccc4ef0ea118c729d883ae319ad8025a22cee7e1b354d002513206552481ebd7a66ab7ec9437d2f551f5372e07fa2bc2ac33b19a10d7b0e3e7e434b50e086b5c1cc787ef0eff8726de3375204d66e36844d18c55b7445364c759b7640bb7426cbf1d92b0cb8a572ffbc9e9f95be7e7843d27ac2066ab06931f4c6aea6adb071eb7a478488d78d576655c6c95064e5a702582f6e8bb5a29d93dd364e2067abc3ab31a8d2184bbf72c0d237f03857233388fece4b8464342a1d189d2df3c780ba548c5a3849ff701f1be24ba724b6195190aed5e713128767979d26eef6522edbb14b742ef1d3ea720f3c0ce021243df153e75164db7052ce6d96b8639ec1097ef9dff0543f9b6a7292beee0420ecf8a6d7b04525d936a03e7f849787f0cf6b25e1b8b4ef3f06bc4f1312efa4d08f5f602fb75980bb296041d4c6e458062a382358fb9b2e68ea775a84666936e708bed5a2a5942465ea0f366cf9494fb13e6b311dd27644f074b6728f1389352d360b377ca5f1f2deaa8c2f8a2f1205a87b996b849b9609bae2707218b9f8bab63280ec6b31ebf799cdd352c7a0b0cf4f6c832f1c8049d813605d72c3c4e27d18b897da0be43d8bd31f936b4067ead50415b1d5022ea8bdcc720a311be5f708884c7bac65cf3d0a921924b01f47155671a49bb43471ba20c2abdc7283265718deecde40fe8e9e094386429df45b6a8273ce4bbfd57fe00ac9d0804fcf279deaf6a8532122c9c53107c4adec2fd1912781ac0b602d5a988cc3daed721ff95dd7b36f4249184832d0c1ad13aea028feeecfa7a5df26d68fcd0abd95726fc9376234d0fa8ce614f09acc1b8d1417ea78ebe658d4138711b968f5c32972cee06697916dab98aea36bd7743de5e98ba6c672cbcc290e7ef35a438021b53ec48a9653cd9eeca75f08fd49efa9ccf51cef392cac5a4472da1be982fa596a4f4ce247f905220c36ea65977edbd6eaa1b82c7dbbba7069fbe7d20e5efd824d33f3fb1cabd17dc95a05453f540fe494f09ae6336fe9fd25c1376894efbac44b43f5eadeafa141725dbc6cd7f427b120387a9c09eede940dc6493b3fe251b9e172866618d837491c16a4a4ad35974446ec5436cea351850fa97d40e493a44f2a19867ea4e4b828d0b21b5d5162ef87baa3aec520306898791fad58eceee153f80a697aa3a1c9c2e760bf9e4f4898c5d830e90b9a3f43910e71b598ce940efa3d725dd3383991d52ae9f99f33ebc63110be8476161b047e66b3a1126fe7584013165814837cea9af233d7d9c87dc6fb86e787bc9dafc527c4a97e06d7f25e754272ed9c55f1afb70c13cee2ded9c718066feeea121bb4a021747f331ce43c4d8472d95592c2ccaa78039a798a37174f73e8c55cb0de40ba3bc1cd832172abf9547256b11a4e66d3e45118aa7962ded943f3116e7c7c698959e652d5a48ef45028602238191b1fe0ede427196353ecbd9e8c6818c7d284a77f60d0f3c5c831d29331021d97951bf39b7a6e0670ae2e41b9d0e0111a7cf70b44956bca529596d72872e614875873bf40c9c84bd09ff3ba2ae74bcd15aef91494b53021b10f26edbb1d54e7c3bc2782e039c23d9500cc9c99f3ccb72e3ae4c3da744a8912a8882e397269a41d5bb868e23611c7e3f11be481ab3dbb832761d8ef9be9589ef480f3e42dd26252a64b423e5189de9d5980e7993470c8edb9062db7495ccb964710dccc72a00a32199d106a50183beb22d1dde10b9a37dcf53cdbcb417dbb088db848d372141d1001eee9cfaaa422db0b6b341052697be178db0e4d2dca310efc9c057e7201e396ef2758461fc4e95121aa867a914cf5dbb725258b2b7921d6f6ab02d5010d9518139dede6a32e403a7ebc4eeaab52f7a500fd289e7147e50dfe8aa42772ba773586c322877d94ff4febb26919bf7a0d5d156d310a51088daf2aebce5d33ba26ba4a70d37f6990fcc216bca291d1f8bba018656cbe7fd0deab6732fda272ac77f3a2ec9515bdd8a1890117390c74384ba01ef646be2c1e8f157c31749272ac9397b0546cc4f5aad7778ff800cf127aa5d0fbeb3c7251f203a8e0ec5d2a3381299ac998fc4b8d73594b458f0077ee04913fd12759171c4fa3656401748772b911ef4526dcbb664fc2b35a6d3df0645d3820ed452e1cd8161c35599479df083c8f8bdaeda1aff6d6d44feb4b63d5c5407ee8728a6a504b4cba926f27bea772deaba211734dc6302b0b953c4211b3bd6c8787e45208e2b0ab91a89eb263a9715085187d9c01f06510e98278053c53234d3be96419c20dfcb23ad8315300217283065017b70c356a68322f6d6f23c85047d5094ca7787af98eb46cf1aa88444b8810768f080a97aaea0f8973d27c5db4b3089989b97797634fbfbd4717f77a2f36925133228648693e625ba65bd25edc990e52ad9714c20a20e5d4ece484c83217f2b2ac71d50e0ffb3efd9d557519ecdd2a53a69743db59ffb171681e0e8510ba3629a7a329c73b277a2eca1215d7e6a2f46b99c64cdc291a8abba620897f727ec0f3d99b938f0f844d59512e7140729beee8a70c71eb0d6769d5e4fbe942728b732d1930314f20c5845ebe0ebfb9351c4c1ed2b7605dd18899e3947eb54b16fefeabcfd0a54dfb8b206148f5a17dbb6fff86462da8deb80a3b6393a2c9e37223bbf29c7b859c986354354193f6333a637c89f49cbfe6022c737b059966b26352c9429695b76f9c65c3a56fa79f2620e934cf6ecad464767523be29a271dd41eb4989814d289b724e8551f11dd213c381565a758fa896af96dc1382fe2bbc05b98f0d128c41198ca55d71cc98d8c313cd9f64587b93c4f3aeec116f8a4582722aa6d8c83db98d393a470945465f04b297ddf63d334cd6c0ebd5930f51d66356a554fb9479840a416d7e4f1fe54e234c7e372c22b36e3451ae2a80def1685272f579c5d00df806c7d3cf043da9e2720b1b8e3962fc53206306f33d28824f08729cf9024b4e5ee15b04fde30d39dad9490df42436f2474b7fd1569f942270bf72eaccc1c117a92f1402ccb485da2820314400487240f27c730a2b2758e6aeeb72c16c6708daf0b21eff671c4f537f6c8b57d6e1b55edc3bfaab158ee1ffe66005ed7199fdc04410d76ddc9eef90255810226d493e3a019536401219c32bbcdb722502055fa9d5b61a92f9921249f29b5072398448da5096fdd80372bcc762137205fda995616071fa23d2b3f4e3f5667575242f614f03e135518343f167092272f35ff836ac909ea42f6e10c39580d9b6e38abccf95663c0a8354ed2b38231f729832f73f52ebe0de64922df2e987c589879d33ad62f9dd2eb70b562f765ab372e979cfcd41d016b183a3870ddc5ac080f727a32304ba6ae9c1382f4f70d127417ff14a8e4a1d209c42ae6b5745b6eceb11f8de17c6715f4861472fbb507e24213e40b77c028959bba225216c09423493ca3ab6cbb57b7e5fd7122035c8ef2772160021311264d6b799765e9298249b06942c2ef6cf182519ca393fe4a721f93e8d7c13f0df60d05cbf682603dd1893163858238b591c05a275c7d5ba5e53fa72617f3e2688b42c2e5c1cf2f6d67fc7adc43d0f138af2aba5144b03db739bf16fef4b1eb0cf472ca5b616512f05afa588efe5bb7063eac66a424a9f3f9a7f1f72a9111297d7db9f0ba5965be49d2fbfad526e2f8508952d16ba6737ee10d1f672d5c125c5dcc574ec787bd707361f2ddfac73ada7145883907d6892047883113573307eceb6633c544e3d7d9f9a564f03921d9843e6fabf3819e7b6c0948d7a72718dc2501cac913a47e8d9efa5cf4ac8e77662c7bea1ee312c92bc17d999e872814a64e64f928f0d60871282d84064a651e36e3a91fb6011dacb3eb9c2781c6b6593a593ad028ebe579e5620bd4208b7ff14d5bbc3605210add1babaf7c8087251ab837125d59b8e5df1110637d57587cdc430e0d90b55499c2f47438af6da7289991fb3a282cd91a8ab0ce6a206bbc46fd6c9e8d0c7079fb3eb790eef5f53259843cae2f3890ab2f27777d6c07b583063ff57b2b75c4be863bab9cb99a250721865b998ce178733de49174c116327a06d27ed3e0ee12b7cdb01c2af1e4f8636b87aa951dcb024751bffcb6cf41cd84a1b89f469fcc9a6608e4e8ebd358a9672954fec8fce83855b5c9e8b63e434f6c80ffe6ab5c3d16528bc5c1a060a12f2724351b97f67124eb1870e9f4458fad8348345e0a6b183c63aa03c109d0beb4f7287cbdbb626b495c905ba5560734c2f5ee5f8caaba090853a62bd28ea58b4b35c486a43eba5d3e53f7d52fa3e9bc48270048ddd12fa4819faf88b0ab56b218e071ca7896582aee66e8b12e1f145eebcbb14cb85bba36be86f081a37f0b6f0ec72ddf1df9a5c97794e26751dff3eb359c64906c644fbb4bfe0ffc7c43606224f24be3d8c6a9fb3b6d683f3e714961c5b1262aa23f21eb9d9addedf2f3a82332e41d82fca16054cb1a271f42aec942710ea6639585c2200dd567817fcc08e06b767da326d9c5f2a9a9bd348be11cac7dca5b9a11d29c446d1e59d20f10c67e05e6cc7f5461369e509495315e41f8a4cc1aff5a7c29c0262d59e14ef972558b57c72bf4840eceddd258b77e99253eafa7749219a49d841b9c55bdaf9a18ba0ac5e140729616fb455e377ab13b23f2951ff39658b510df7a96886697ed13cc61c7302e70649c73acf7643f1cfd2a06f57d4a92151d32c1f2ee75055d80e0f31a72d0ecaae4320b52297086993a8b0cb5c2773092db807a5dcae5de38c4f7d3edd1b4bed6ee607364a1dc39eb7a15f284f46b3cc76ad60cba4ff63127fbae0b8b77f72d0c0a48b0a0406662ea0c0c6b80fd9acdce610025f4b909867f3aa063c82037290b3d2efe897c54ede23c5fd855b1188ef08e29994df6fa54ac9084898c2bd72e3e82ac75742b9218e48981981511eb7eaec626b5dcfed06bab1adc73f1df12782218a5d0981b91db7791a26ebdc6ce12a28aa43651e9ecd87064f107a938972746356b50265f5558509c6a43ce5d6f7d6f503266f6ca580b2d1953dd3ee337237e112ab6a8f278d876568bc4c59c3b610f15492efd03a217f04e0811bb1d872e621475354ee56785cd169542b039d00ab1026560e4a9d57b03cbcd90e4c08499995a5045d3867e8174b594036f1260d4b9220b2a61c9f23d90033e888e37272dce85be1710d9c8b1902a6918beb29dce0301647cf8b25a824096242ecc70d72745760d5597e251514692476d6b2ec5b6d1b8b650e585a8db0fcdbff4e849572b87896c979144663f9d8771a0333b841eae46bd1e428ebb2ee201629b624fc72f444f6471cc9d1552fa303bb3df1d83a8efae8fcaf590fcf16f84b2ca4f3b6722c8ba46f749f52eb4f659f9dc5c68d73e9922d6af8b31f8998addf5681894c0b44e0bb6e0450c1e9be5ef150a00229a536ab65e35d60cdad82bd33efb8d2c94db0a65104afd92e743d4e2f0a44a845f18a9e5994b0cba0c17f939304c8c7aa6bb251b570fd771e5b652ae7b1f606b91f75615de3bcc6225db340ac81f9dbdf2ddd9c55f776a25ad03e65397ace13ea5f7c134ff3561b3610e9a35032f0ef446606de749063b18b265eddfd062dc0ad923eaab82db45bb8b1c71ba567301bfa1b5277471ecdbcfc69042b3f0c8c5cd3a2d24966f83e0b8d5882bbc2a58e7bff237f3fc3e40286e0bd6aac07fb0a1591ebfb5d3ee582322c4fa36786984f2925723612ab8da3a15d5fb6f56d4a4092675fd02ce8c805d183d8aab4febfbe4915658a3443980c1ce6f014f00a243334c194556a6d505d32f743ff4f7d21d6d1e542df03fa57fa4163bf4af94a8ba7ad2a1d8dea1d3fc1e355918b736688d0f52a5411f06912e3a4e3bcc0231dea4bcbfc0be5be91fd31a98708232966b301d442724a274875f877f59e474469dd133d9b43d9e7ccbe323ab78386461a05d350562d1c8f41633b08245d5510734492d0f00c6ba1aa33eaf263434d3706258a3433131c9d5e6acf90c6ed18b65adfcd1a32b07cbf6bb05649dec6646b5d61e107a9726eac10870c438ae96b53702123a6e695e73ef6766c5cf3ba9f05f6e4d6659e72eca49263e95762504be1795e613ea3f19fc415dcec57a2680c838ba00eeef36613c978eef309f091c3ccb9512c500e99c1cde726341e2888f9d38b71b0456c362c506b1c1d4caad3bb00667ce8235edfda6edc57dccb8a836509c658d4cbe31e203d11dc589a218f6a4267870e59ae278ee45ff75dcbbb404b4e2ff7b51cbf13047955b50b6652695ed41329252a4edba4103e1dd1673d9198a59564ac341351a57da622d3f1025cc70deffc31c2e42572bbeccb2acad38abe1ae6130a736f7244c8747a6dc2b57305cde3332f7a8efa797fda9c7096336703d72e0acbf444729e3de6a7d45372407080e6b32adf032f25230d6dd655323fa864dab6f0ea7c033dc9faf7e08c6af1d5cf390dcb48ed342ceb1da79713ea69366b511f4183b17279d964acd5a00c79284c202d024377893696b82e1433228744ff946dedf3f772dc8352b9810349532c8e85e6c73c0a159a224ac2e4df05f8c1d9e96ff1b177727cdb1cb93c52a8c71130230b07d6452ef5a44a68637f026d8ad01e426c43b0667c378551e2d56dd18beabe133789375fcab836f4f30f6479d2acab145c22ff72894eb3e35d475e31ea4633bdde7e400e0bee3b1918b0c6993b2e4a412369f77240b0141794cd78951138c4863d59837e15d492135760a064c77da6925e9a3663c6e4fc97a0ec9f4f68525c680d063c216174b46554b18d7845fdaa913b1f2b721290a03c6e5545e506a7a56663ff814e24c211407924ff48e33f599f2286f13ba5ec1815376b6ea816fee4e7f9f61466e422e86d54de69dd9681ab476cb29172cde5e8bb1d9c45934c72041be554c8c216083940be2f900c0943852fe6d66502e3b6a153da75898dfac3e1ba35082e85a21099555555cb145d4d6cad13d07e725f1e013349955174df22993f8731494cb9e50625dda98078598af3f619f3d056c92a6da28bbe86dcf8195c94a9205485528eb4fbfc7c797e11337e951938c6725b36e1d8611ee199311552a0b74fed392f1a12dde1984437a11911c6e67fd634feaafab773d4b821957dd300b29059d9024ef62caf5c455d1850582b84534320580c7187ae0ad6ad15b525eef075eb7a0b50bb0b5847df542c5920fec94875502f4dc52e0331d2d8455d8a81ecaf74e4fa7c8de7c3abdae111f7c7c1e61ae172b9739fedb848cf0239c52ef2f6caf14f2d59a05a3b7539a2d9cc9973c3a9857297cfaac1a073474d0acea1f5a34ac19c1406a59884b5872082ab964cbfe82472e40cf430b8d36ee7e245f4c95ca29b4b472c681ae575425f3c8d7fd7ad032a72317f00212d8a3e14dbaa152011fef336654abd1bd8561fcedab54cd9a351e802402471ed9623189e9e7210386b85b30ac5437a7b983b0ca226c92fc3dd73dd72faec52d727131e4a16328d076ce512bdd0ea8f56ccaf27dc3d6fd1e108f36a721684c5cb758de5c53a759690318d56f99b720cfdfb4e9fcc7bd73de3b2a38943565807d15301de55527792618fbe7860a2e52d652afea3a0b6f442ddb45a9b72a3d8de73c8e54574eba200a5a2ebf96d636a00cef260fa5feec9d7e722ea4e3f3d403eaac2b87c5342fbaadd4afa848493986cd29bb4c258bca7a0b569ebb1725a7aff41613e3d9dd8ad97b579d13261a03918e537c455e3064187132cb68f72f85709e55f038802b722ab547c0f4915b0dc5557bb5cd03f5ccfa65c72f86672ba3f1b93f2fe95fb5ad2a22409e396da6e1f7ce1db071b6eba62045bdc2b1729d1ddc150077a231d6716cccd6d7e3bdd93eec71a965a7eeedc3bbbb03dfd61721c0d183499cd2365791000d864450924b089925d804f38cd5ff8d05977ac5172929fd32b3502fa837af2c3b841dd97e06c8e5b2bbd15aa287f3972912a5e5b72cc621dd2d3c1253614d162ce532dd3ea96c9d98f7599a20ff1798ed1afc01663e38371551b942c6be08683dcf54cba4694c1cb01850e37a016d7f5a497c54f4aeb5d73d7d599f0b60d43d4b1b8eff9338c75bec077b9899bc1b1a52064052072991b04b98f313f1a69a1b84a9d83aa0d4c304d0b1166689d3ebf5a4eac45f472aaad1aff238ed135511e37705f24c19fce3e00354f07d09dc9b502eedf66c072bfac68dc25d102ca06143c196c873306242c1fccd18bc71c2bfd4df059a6442ec2cc4941fcd1506359f5ad3bab876971646ec4e2d21611c13a0f21cad1b14e49fc22cea83b6cea1a83c494d7e403c8edf337b2c15e70fe483087cc5c2a8e7972aa82ff8eae52453dc427f4621deabb540149ae78dd2cc35ade975f35de34e01d4e2143f7548b6527562ced3e9563d97a62d19e5acca0c68570fe2316956c7d72ed7a79496ac95c42405cba39e136da634b8ce8afbff9282409d2801f32db7262f29f0ed842322d5fabad58a7a37edc7d838f4502b04a1a00f1750888291e6d19a9b5dd5a108897321b8daea5bec481858f7c50d6f136c95973461a3390d6d372f37c5ef5c789cfe812178df77a56a8b59c4241e058de45ae76db09f9a3715e0029264fef7d6b330d37481266b25bfc4faed380d910fcb9e7baa756e4424bfe72f6afee8d7909ccf911c9cba8a8eed4600cd4ac3a2a8bb44f5282b11ee3fd6a0e111998aab06471a8e66e045a29b7dc05db766d6a4960897bda192710001e6372cc7c9cf416a5ece0114a4abaf830919e2b4744807ba4fb95f6bda420e44ba272abf6478afc935cb2bf159be6fd4baea98f2055d74ba37c19828bd464738bd9388e131bbcf3466403fdbf6dbe6d6b1a4df26965cd1e66092a7eede40f4821d2720226cc9820a112938f3cdb6c073337a705e87dbb94e41e2d214728e296ca7b0146e9466589b3667d84b0cd75940157895a3b12ed642172cba6fc0fafe4f5f972e0adffc7def3e21319e791209cd4bd65afe388ff27cdf30cc2964bcd8ceb9b72c3c0c14ff5f640950b1630364ac251ffa3f4b09f468f4987c346c32da2790972085334c45fb67e4198f2114b5d506d97437678aaae833ec91b8154ebc6dccb72ff8806832f2a1389fd86fed608204c4312a2feb7e19b6ac22dd31bd666cc1f40c7ef74d2133c02bf6ede29ed7ddb01f777136905fb0ed8735bcc7edc95dfcc23d34b45b3798f11ae513d03306ae22ea59034956d532a6bfaa2087989e4646e5ffad835e96d8e30872fe30ceef785a0530e5d2326c1c61797d37d7dbe9fe71472b8d2d57fc7405391e0dac8bf4d556c7ed2f34ad87dd9048b46c8f88c58a974725e773697cf58ea498c69a7520748aa9e5022ac30ed71cd2938a92dd6f1797672d21a9567b8997b66bb9af8fbd14edd3db877de16d4f7a8144a0c2add09e32b729f6b88e2d3d910327864e0e82c41f8b9401b4b9826e0eaa4c17479960ac3b2720fe30c9f3269d8a40a108fe87546f68e97f6cb9782b48be829ec492aa99b72727399faa550692acc8cf5c727a26c7f48548fb81bba83fb7818be66fedc8eb1721e6f06b56222018bac038ce20e3699f3511ff9391895f633faf738c2adb77e7211bdca0588348bbc0b6ba4e0915c4d7f66d8ee0d698a071355e5f4710aec6449340425d82f44c97206aeb5db5fbda59bc1f0948e04522254871b9259f570937234c3682538dd4f4ee9f2374bf5baf958c575cdeff50712b2606de6c39ceef923d1343102d8adf21293aafa050c3c97ffef19496d4176821d6d945aaa4c083572d84cabd2094710f01b3deddb98871651f66a4eeb1d467f54d3c646659e5b5f722a190fd3276005a7e03473f20a94940632da15efa6063929729a3f2a5de4192486a030ea5c0c3157f6127ed34d7ec4c868814a5364c2fea9ec9e8c6e4ff57672bc7316881d6851c171fb262c76960f44030d5fe08b9fe7990ec577bc2581232b46fd80fece490d309f56ff1b8c6524b62d3df9855d08e8cce63a197d1239827289c8af699c08f14c753fd2d78f6d78cb4f67591b913b517d5ee974c420d87d6aa1b7d2c7163b58bf049db5f2e6c0e90972355cf779a022a7061c939f071be01cef0f764a46124db87b1b0f9bde54a01fec58b3a49d9180ec748cff168fed6941f4e8f68fffd29a0881dafc6747790e4588c29e333d1a6aa369f83f316fb2de728e6a27cf104f2ed59e22dc9e3f86f0b3099174e555fe06c10a09644da9866772e29330f5d4fb86b3cbaa254107157444a4c0c58ac969a48868749abc6d5f94725ad54bcb42489dba0d7213f6bd3d50008ba84505f4f1286be43daab76a0a3204e66a51d8c7a5bf6bfab91c995d05036727635f5b5012f1e982e3315bd936ea722dbadf346fb729acdca0de75f31169bdcd6b57695784db60bf9eb158768a321dee338aa6314866144faba962477112280b4963734e12aa3412a4811e4982501555ee8dc4b6fcd17248aa88b97c5e651eb9433d08cceeba84ae9cb2a3d8d4f923b8d5264be75caa2f2781a24242fd8c9a31f0dcf5728dc267740681dcbf02ed72e577b417163dfe2a47ebd47c6b7a43dc6ce97c7d221302ba879b39e64fc92c7290c778bd13733b5ad4b951df682ad2654c290603f1c79f2e8af055bde13e5d720cfeb1d42764a82273d7077e775645bbb2104668000cb2b62f47f2b3c7cc0a72cf2980db3436b3b5767226c3692f9d80ea25d063970fb1748bac9422fdda7a722a6fc8c4d8f7e6d486adef995d125863a5d64e20430bf1b9b202f178c5b8e609427181b2b200276d57fc35a1ba0e81f5c8658a4b8d23027f5ad52ce7a700b7519dccc17531179c7cbbd632cc02b395ef3b685865c7880b80b6ec8c5126a84e724d15996cb953d20b7be302286ee0936171c25a543b4e64fe1ccc529f15e13072b1c99fbc4b479f8e8b1001b750375cc2877377d78144d22850b0ca92448e675dd51a0588c11d345eadde70b4a74cabfb5825f64373c6600c0a024eafbc93c46b19ac0b8c016c2cfef74ef80f50a84b193a6b738c008eec3d7857196ef2afc9722b0e5e58eb0aa8ae1c60b668a8401a7ddcbce4e9c63dc71b0cf40ee5a2be494c672a74f6ed739db9c02a424022d565038fb68395bf696db46de9c7cba80a14365b89c915bee2121f3d8f95fee7c9470923ebcf1865b85b866527da5667c6ef722b8af2257bd2043d0938ab139919fc8fad3e1f94626be7d8622a0573901b5343ee551739d75846288beef0f3eecf928700aca1d53549e7c968351270258d4d728a238a93885e693af065f4fa97ca4bd13c03c8772c4048f452390636033ff872f2123d9d285a5f06891e2a109005a41de0d79505ca8ae31d5803c25bb8eb6a2ed7e250a11467cb59ca91d4f8f674f4e049080909c12dfbc27ebbbc64924a823850004d8b4961631532047b9318d99d216ce113acb6c8fb52e714274538387972288609741f73823235e2422d9c1b5f671f83ef73dd90b69c1bf85c94d199047269a7d7a15fdec1008aa76e747517ccd45c0d850886782cb03ff26f043b9a850a7221a2b436fbd2d17eb63532f22a94f9c15c5733dedac5e7475b1d64589c2f729b3917ba4f97f033bd017c641da8f8687c90d0106bec9e56f3ac083b0892350651f893bc774db909f00d7faff4f5fbc44a26d00790566c4e9dd0d91a393f6772266d8dd80c9d961f1532a0f53a4c9ad896d6b1bdd6ec61f1a498e83f0a32e32dde43c31dbcf6bec5f376c59de0b44a485d9d50e79ab706bcc4eb071dff5f9e252bf10a28dfb460dad1e02c2edd024175fa51e8d79cd7b0b3399b6008bd3ef4097c78922a22780898e0492d73a020cd6833d3f31b08ad015ec66bbca28ddae972ec572f0bfa6c082ef04f8f0c815df3ee707f9b1dcbc5d14a6faa009eebd8f4725c566ad6e4a76a38a2fef5a845a0a6fdbcb3865015ce2d4290bd6e2457d60f43bc522dd391bf912e3ad6c62bedcc75134f61fc0c0d09f64a1d988fae972b54286a232e6f076d3c9a352cb7c30f40216f0b8d066d88e65bfb5ef6b3c309f3fa4e209c3c2e57456b3ca48ed6a550f4d8690b1e73d8cb3450dffd0e818e0338b9207177eb9976e9588be3404abce5cf83da333028dbf80cc445b7d849815e2c1e720853d2f6438674c672f4ca745facb948b15d407904b062f3e75e5d29f802ea72185b4846fc83023cb0305c8de2b2739aacacb7aae0e743be00d548d4ffa91c729144a0620782ea126904a1470662f4532c6c53684a5357878930e91dd395b72942487c7858814d3fd1bf0ed4a2b0a1c90d2b20d5b038940126af9adc59730f4cd5dc7d4e7e88a3b57cde5210b688932014e7c8ed833a66805854a269fa21b372693c1021b53604605ea760377001d5f12574846571e2c5081ffabc0414d6024cf136387825bf96400656dd6a793a80d6f855d978f878274cc247de801f555c2141191db4c76db50189d6ca8832a5e9be0bef9a3d8c7a025cefab40dd0ffcde59e99585f5a2ee2e5a3c507680367991977184b4076eb5d9da36599318a8d9a21059ffbc8cc54bb15efaaaf511d3860b58d54cb291b764b217a4e425b444e46c724d37fbda139fcc7c85c0afd7d3312f259a7c979c6bafc83228427530a10c6e0ad572de2708c7a5220f6ae6cac6fe422b68c6e192bb9ea6aaec06de82adcd640430ea5d4619ab7007bc4556aa2f2fbcfe4b5da87662f7558b68fd2bdc324c2972e4195c20681d8098c199dcb6b19cb4311edcc6322703fb758c7fe08361c0b67231588100a97409ff73ed39ee653bdfa1b46140052c1bd8086727307c7b37cf0d94ddcd531f4c4eb4232d4ccc0b191544aec85a9fbf10970d8651903697e173724489d64dc0c425021d9dab287ca00ed6d253f5de83a2454b7a3eb18a9f3a8c729ac788109326a0873f8d88898afd5071617055d8f564b2ea474126e9610d427236da522457520cad35819a70e61360953aa4665ed1f224566c8886813d61c3725cab59c8a4def10d7ffd0a60fe34c5402a6f55a1dacf084ce0961cf247be6c72f67d0fc15860d79afa9e56edacafebaa0f6f30c53f6a395a8d982781a2c1a4549457031fa3d38704507ed213e0a544dffbaead9d7475cc7f60cf6991dc01a369b7eb2e2980c4cdfb77be63b8e14f845744ceaef9846668854667d805a7bfd872e8f096537c02fa27e2f834c39a0d965eafc67963da10d487d21693f8ccec86725d50ade9d8e75b24ac359fb0926af2399492c0ad36f4e91f5eae43879c0b5b6c88d10672bd5839e664f0cadf4d12c02bed0b06f9f1d1d3054f600ced25018f2ad49aac05bc6b217e6915132310ce7c67dbe15ff2be20c17ce7b0c5172ab32d72a3b17c03690e56050ae4c423cd24db23bd9002450b0eb1a77760697e2e3aab523a69ffb0ac34e8db6eaa5ddbb5e32e413c6bd5aa8b25b158125151d885779a72e1129f631d3dd00c4e06424d122f8e345e20f0060b582dbdcec83658997e466397214e3757ce9ef6a24311efbff7db53a3445c653b3fb2911e5bd136cc45b60461f2c78f2779554e4a6fb1d494783ec628d057390809ab28390cccd5794d8b0df5ff9114451cbb9047dd7e0cde1695a13c94a8a817aa9fe63e845a3fe9e5ed720358645b6a9e6039da93a0e6c4c75505676bc1d42f3a58282bb8975467291d72228736e575f0d2b6ab05ef5a6bae5f8b6eff55dee966675ab25d0c2793ac70727db8d97f230a603124d85cbfea0dc559cb7f337afb682c9516c41efea1256872023da511bc147a63a965d56fa38516c3b5f2c3b3b351e9286cb403737f531672ca2f48c639076255a19053d805c95948fd23a3b634be2fa22e3853c67a49c17256bea9ed12c22604c6c84c78154a234fee23fbc04c09333bfb1c14b18290787291f6def4298f3fe6c8584600d995d6a1994c6dbceed3d8c15d044ab1670a3e72e1fcd8d83e147340d0ebb68fc215b40c29ce1ccf0b0d39b98a54b0b09d72eb72575407c356a9e3a6d5faedb507e19ca01bc001e1d2f1524862799f59e0c15e4f4e81f38e6f817fd6fef642e73ac639d1b38ac1a3288fe31c9dc5951cea86a272f882ec457c114945250087e15a525bcc9b7710bd6944002c4f5920fe44092930bba58915b690e7fe4e1e995793ed2c6847e5ec1379fd673e2d3ab1514dc75f0186979f57264810c28e5a6f6a13ac860bcb4dc2c77547629e75e5f50f4d72ac72b251213267bdcdab3e1ad2903188ecbb3618ca508866415b114df2abfd7c6c10feb281c4da2d2a8ab481b7d95b0feab2e31502c9dab00e7bd8b486da274952722bb88a5036ec9303e5788247ccd2ddcb4688ee507beb75693c0229813554e0725cdac0ffad4da38a8a7a76258bc39062d4acc8fdb4ef6678ebf0c316a3d6d52e77db83f028f099c548f575485f2b7ac0e0fc0a38e745b7340070cd9d049a8a07078a140164e41e84fcdd7d0743467025891889626d056edee5852a0506e77b7214e2914ea28bfdeec85088411abd369bc198f1b55bb29728910f13df473d1372c4c0c507335a78c798623df73e55c3afa53bd2ab0dbb24f61d8091f8bbbf4772bb43ed532823ede5e9533f0d736660b45646c46399ba97bc8b4c2505fe7e5e70c549265f0ee870afa88d4496e7d199fc82309f4871920724ade8e231db3fa962cbb243dd1e2ad4056a20eb8a60f9af6cf5bf31f76a4014b20e4569f4dd48a5408af2320b5f202f4e80b994dbd1f591e6eb9f05c25507177f5808aea1c0cf7b7291f6840fff45d6a578ca50c0b65e45aaf0c61e0424a1248acf2006d66ebb61465d7a3e1c8153600a7614fdcdf3801c303395e4651b4b64217662a84f93a0b55b16d391e0ceecc60d0021596522063e90b144b5cd79ae57ad037d54e73f779172bab4f555ec0c31553ca342806fc93a068c23d07329da209809a4dcefef335372a851d142da9eb351fa7ddae86a1373f260f988a132716a1dc5f3af1a435fd972b8b7c3589efecde8bef51d281965a4242a58693a7da0c6cce5b058fbfccd0172d8983dbc799fc983f84904d15a72205af8f16518693640dfbeecf8dc8ddc30113840d03c1fb410a4b9cca50a43ceebd98a62dcaf5eb6c966c431339039975101f523b2d371aa17aa2a0c2148ec3c3e65974ed0b8ba1ebd786381b074d15e4e7299bb794c94d2f40107b9cedf83a0c87d22e07d6588e2fbf41ce71453bfd69472a5e0a7905e82c57aa1f3031049480607ef7921bb537c0ff38f0534bcb105e0728c4b9d744ff334dde62628965dc960f8d782338fcdca30146fdcbaef7207136e0cf1eca46d9d5e3d7eecd51063f0d72196fc21a75f4b45ea54b65b13b66c567221986f2d14ffac422bb4da38e95b6ae031c241a6dca669e5e64dea2dcb447772ff121fc03696feb9a5587654cc49c6ac0d9ccfb662e30f97e3545b492a778e6cb002979b7163ecce3cdd9a3f10d5a15f97cf3cc951e0cd13684c8b8db6fd1b72814f59c7557b2ce1c08ad1241a49b97be1ed9146e09b5e2e9f21848e92d72d4800d3e37abafeb37896a12b050a52c82fa73c300c13745c73c0a4dcd1bcee3a72158e82cf23ab93d7a4a11712627fa8962b48364c48eaade1a92549b2ec669235583c83e52cc4ce0238e79869f3afe66ac2798e3c63277f9bd8cb36c37cf38d728712834b5d131dea71158add01c9c35916f5a180221f6717f85abf1a0ce52643a59ef526aca3699a1555d47f11fe598910d04c4a7d68746925712a78a0671769a1c658ee85a89046930096fc0d2b63b6e29a6059de50020c5f4ef1f4d24cbc7241409460f4dfd0352c09a8728d56696853bd48220fde07abadfe4f45785c500abf9d298b7058f5efd95884e84eb7fe1a4b5f6ca1e0fd430cfe3463c9bd8a60720961ebdc5dd62cf006b0d9f80a422e1a921c130250a5c102983ac72d0c460872f7a9b3c732689ff94b9d7a1e096a00abbe2ced0d310d040ca7c480d36d249531a9878fac1633ea1bc05a508516f540e931d5ba01168ea0c901b6da21e56ad17252d593c1978b74a849c93935b04c36c2e026ffa1030323ba2858661aca62b27263f89ce6a2e20edfe7e84501583c1d77c3ef8bda35e53d5a72a65e957858250afb784cabc5d7c356d05768df8482bfe6aadace20e36098e9a502c35da8ddc072eff4273520c2a43e5f33e083de39062ea825ac56aa4a3e8cb1b57cf0aaa44a72fbc7ab80689987297f175fa172bfe3860ffe7705b1d665482e07b2c460ae0b72ec58bad4bf3df7c59289b8702f1f7d3829246df7420e45010c64f6ded541321a986d47775eb561e3fdb4995b88ef40566b4c1db4acc515c4ab195008f4bf0072810097117d5c318a8e605fea054f7a820d7fc33241283a8d5b123f36a6978072f33adf0f2038fd09ca104837d2f2208e599c39ac66e8fcb14e8591c8b6f08c722fe0d4dee3e69c2f0ab6c045ea795a8d858c0b19558f7b3fef27587a3a9af072bbd6e9f08bddf7c50c9e5fb6f694ccf71156783f38155df05bb39337c2b0fa715b8d5956109b610360bd5f2d3ed453ad0a7914891161464d1385e486a5e21e499b4e4044fcd6a96a31274614c47b0d7ca18511d190ea44c167ae6a62d41a6e72e7c1ee5a10ac4a4d4500da17972cc256a1edb75bcebe5cad55e07d70d46c2a727a442649c919161a6272ff234f83c7290eb3cf5a5f3c41f3c7b9545468d915195911674ec4803d928721c3c553c8a5a03019889628ab27cd822c8f3836efbf726ae3f005f074d894daa19fa0326f08c2940852b2a46adf22e60b8e507b967d724e38b28334e2b9a1b7618e640af6fc91f7a24247199c604d380c08ec8498ea70e4544641f2746d59f9214e8b72ea0858418a358b29e58bc02457a37ebd3b587297db039b89debab965606c11af47fd68cddb35cc169b0052c0b79eaeb28ab872a76f62fc08f3f382306de85d03e07cfab2aff1aa42c8a552627474312a48142037476f646e188811deaaa016b46c8645a65626bfbb6cc447979b943b7e031f30bc3d118f7d10c99498e9397cdcb1df9e6e137c9e7f853577374324858b209e72285e519c5f4a6baa569167bb7468c506e725714a280ef305cb6b637d7ae4f1142f1295a056064b01aab06d2f3a4cd6862d43bdc8409f43dc56f18b37c27f5572a09a2f5f7f3213a165104751cf8d05c6850a48abd90cbbfbdb0808266735cb7297a7244897fb267e08220ce861df02db84e61b8eda4d2f28c9e3a8976b0ba972fa9218c3893dc3e537a2ced56d5d0aaa5875140616234eb923ace87d82d5a740b731553e0cc0274a8561761c55a4fb0214ffae58b60d3c60fa695461cfbb2c6870c935247960b76d95d4211d50f65ea99c38ae77e68e945132e048abed93d56954f2d59acd7a8f5073735e57bab2ee379e784af7abc0c5a0b72a7a288f8b04415be6223c942579e9b3c00cb1f2b632157d24ebc737cc03c2ddccc266f9d8a2727e565735f52e422553a326b5208210c9e189bca1176bfd9a3a4ec8e3ccd822f8f5b0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b085103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d0b0abc07739e8026f10eeb9a014f804934b7b8179be4d0cc36be461163862f6a575c564a3acd27de42dc50aaf4cf214ef7cb0822d2a5d346f1fbd8a182b7eb4db0d74710e1b2e241321e238e18c319bf56fb3f44f74fa0fc73de32ccfcb877a1c3c82b0934e95336c3c3b055ef8b77422d76bba4f5136472be7d4bb203cbd126b73fd869bd1c97015cc1a6b423d5de05afbd586f8f5b0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b080c5f2e1eb23939cf3600f61872e3e9964d0acafb440634e530d6139a193b889c56a0c07d737729dbe0626706fc9f25fb098daeed734da114470da559bd4b4c7259e1f7952555241dcbc90cf194a2ef676fc6005f3672fada2a3645edb297a7553b08a0acec060064f7b4d8afbcbff1590de931a07fd5d0ef602758a231efd8432b86b6980585b8befcfb8a423f823356dc8b0acfee4b69fcaef947e5457351d3b5eef9501a7b9c029f20650729d81877315a7ebd571154d063214f66069a4a80fd7a7"]} + , + "response": {"jsonrpc":"2.0","id":5,"result":"0x11edb80769649595aea642fedc6b49675854e6ca28f2feb8569618119a8517ea"}, + "statusCode": 200 +} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/02_cancun_get_blob_tx.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/02_cancun_get_blob_tx.json new file mode 100644 index 00000000000..67b787a7b8e --- /dev/null +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/02_cancun_get_blob_tx.json @@ -0,0 +1,5 @@ +{ + "request" : {"jsonrpc":"2.0","id":6,"method":"eth_getTransactionByHash","params":["0x11edb80769649595aea642fedc6b49675854e6ca28f2feb8569618119a8517ea"]}, + "response": {"jsonrpc":"2.0","id":6,"result":{"blockHash":null,"blockNumber":null,"from":"0x47b62d14c5d04d5b1489a4e46cee3ada098b1839","gas":"0x186a0","gasPrice":"0x6fc23ac00","maxPriorityFeePerGas":"0x3b9aca00","maxFeePerGas":"0x6fc23ac00","maxFeePerBlobGas":"0x64","hash":"0x11edb80769649595aea642fedc6b49675854e6ca28f2feb8569618119a8517ea","input":"0x","nonce":"0x0","to":"0x0000000000000000000000000000000000020000","transactionIndex":null,"value":"0x0","v":"0x0","r":"0x996890b6031235741030f07cecca332273b25d334a750d1b8c7f5b0a772f875","s":"0x760e192f4768128235ba74b605e33ac6eea74f2fd0385e71df1f3185485e2e71","blobVersionedHashes":["0x010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c444014","0x01521d528ad0c760354a4f0496776cf14a92fe1fb5d50e959dcea1a489c7c831","0x01453362c360fdd8832e3539d463e6d64b2ee320ac6a08885df6083644a063e7","0x01a8a4a49dcd1b91c376c87d7d6a6e73ee3792205864bf61781e8e3ad19d0092","0x01069693395fb9a698b257e6c25380f32393bc0cf17a290f9e7fcea3c4ae7b8b"],"accessList":[],"chainId":"0x7","publicKey":"0x9f70d2f39138c29cd388fcfacccb00c0c2ae8b920ba4c62e15510b5deccdee4f417b56ec8927ba0cf4ad023daf1ea54e251dd6f3d45a4ebf64ea47ca277a3938","raw":"0x03fa0a031df901140780843b9aca008506fc23ac00830186a09400000000000000000000000000000000000200008080c064f8a5a0010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c444014a001521d528ad0c760354a4f0496776cf14a92fe1fb5d50e959dcea1a489c7c831a001453362c360fdd8832e3539d463e6d64b2ee320ac6a08885df6083644a063e7a001a8a4a49dcd1b91c376c87d7d6a6e73ee3792205864bf61781e8e3ad19d0092a001069693395fb9a698b257e6c25380f32393bc0cf17a290f9e7fcea3c4ae7b8b80a00996890b6031235741030f07cecca332273b25d334a750d1b8c7f5b0a772f875a0760e192f4768128235ba74b605e33ac6eea74f2fd0385e71df1f3185485e2e71fa0a0014ba0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ba020000722662154e6d76b2b2b92e70c0cac3ccf534f9b74eb5b89819ec509083d00a503ae5c198d17634e79059c2cd735491553d22c4e09d1d9fea3ecf214565df22847267ddd7c47030f8667b61a9860b085c060c07eb215a4de991a8fed0cae3821f0ee8de64d25d2de4a710ea9fd89f8f4666fcc7451e6d69a02098bbe5d5b87c60720f6db75bcbad49fc11512930d9d97bef3f2b4bf6c8fcbc414bf61c98d6bff23ba6ab1d76e044908135e6c8720d3d8ca18be1e013c275ba9f2a5d7eef5c2b5f3868df470b4e7848f79d98cfd7381c8e38e9ddbdf213af8d3eacbdd1b7d0fea5724fa5aee5f5b819f35f8fdaffbddc2a2bb2fd21f07f24fbe11f98ebcdbf6e327257389fb0bcb43108092945312d767d4485358fd543215807db5e5e3cb3741c722f2581d15ec8d6eea7c0e7db2ab6f9b5a774be8341d32a3739d103929ce0547208b324b7b29a85552d2fc90b40f9e510680ace1447720c98002f7ef7b7fe09308ff3a8f75036c48afbb09daf42f1f36f477e64606c3322f987fb05603bc62d2171de0fcfe3090c32234a712d7f2483806f192771cd0e2ab1472efdf428f5fa72c2c5a5ca73e3f095ad763054ed2a4a8fa6a05bf3b029646c5f8b61033ed851727e7aa4d120f9817ab2420a7cbdefb67d6d1666cc00a1a37b564ceacd14c37c72e0ae06fa1a09bf6307e226d29942db1ef31c65de6a49922f8f4860ec2d8a71726f74cc29496a85a775bb29103f75247b2b34718a89010dd9371557c1ed466772087bfe3148d17f8279de1fe8387104d0e25bb36e0187b2e1d4df9df3efc52d72f896e5aae4e5371bde4571421bdd1e47b1ece2a8fadbf27f27b87d1689f4453d87d4bdc1f411bfa13789478f4b2f6203af19c7c24063e3d2663dc7a3c97d1255862ec5121e4cc733e7e6929847f32353a4bcf6897f1ff52dcc66d8c9923f0d525a22699ebbebcc80fb1f158beb8c61511698ee9fe9b40a2ddea746c7a921e8532281b46bf4ef7183597e208aff1784d79436cc69ef5bddc0db29fe2da84bce72c78b23dc94c1e76598dcd6ce8c24c0bd72cb581605c4d8a4e711efb957952f7266f9faaad1e0258462eb68de681032d3dcc3047bbf1c7f1f3337bb67d9563a7212a42a90dc93647b636540c774a680e8ae8958f386d4639fa9d61e02fa5293540f6f733de496a0548eaec3d510ee6e1ae2822d348793693e1dc38dd3e69394720adba55b6792fad47817a9ba0881572b4ecb1a91cc7fed3e2dfc51569419777270437988bb74e5eeb888d5850f9de432ebc6a201546325df68f10049d54c9672b3f5271eb5cb37a995d9ff04162a5320a480c457409b28a663ed71b2b40ad22b541b5ffddc62d08b8d4c8da62d21fa429a6d658b35432a73651ad9f9c2121e72e172dcb51ae6ee4f2bbb50c51a97ce7c742fad786e465de42cf569f543c4cc2a37942bf3455a31fcecaa6c1e2718d00478871dc9d0ddb6e984701196f49ac972a3fdd50e631e828c823a3546198efe5f8ca312e31fb2a6baf148cabd595ab8720657f8dd99b792976e6e087b711977ef17efd4e0d28d9cee48ec113c5092567248b25bcfd5bbada813642323a7fd7a76356cde8dabbbea44cde6ce1fcc1e667280e5932f0cd08b3d2399a574629e1eba98b0a0db467a6649945f8e271cfef1223006baff8511b554b9c1181d74c499e3516c03103cb6ccb1e549e9e57be80f72e392508bc624d9af47d2da2ba898fc32608a4df1a5ac4954d819e17ba938a57237c699abbde80e4a73aa42a4ca855c8108d4658b0293f09a94fe192a5c040472b56dfeeb18c3563c86f325b8305e9ab84b276811af6e07bc15aa3ed3e4781931452258d387e284a4dd23b7884b8e9f0a3ae41779a20b18607d692283a413bc4338ad9312499fcf8b17a6f28eab8ddc3151ae89805400a1096164063653267f724c8b712452cbe999386c45e54d94916e0a8017e0dadb21ad27c8059214d97d32c76fc47dbbdf528745ae9e55cc5da5ff0f9aeb46d1b79654600fa3c7df49ac723c0fc457440862b4c6138d577fb8d74ada728be3c5438f5c2c1da853305efe72a917c4dfd89735e8fa5c07c9cc4452b6844463a18781bd9accdda74b1e958e1ca7de9f49c900079ab6108670cc5519b6744ad2d105f6b0d4ec5b5ee88cee9b4e3148da1dbc9c813ad96e911faad349151d6843954d89572c17f63b83cd2def722859980a43cb112480a70af211617d8e346e961abf2f5df65136da1619e0f07247b1a8589f00e9deef61970a23edd6b96b330e54c98e0df0e602724d00368c729f09a21d1b52932276b1aff4e63d00acb3a341f16999d5a013c2454f95ced30f0d22f6c88f672ffc3e61d5223da39266f62ebae5dd75a489efeb6df0862d1172cddf0e365f75c18dbc848f6746a3ccae1684752a217409b8b57a91aa05eea272f8c96a09594956c3e5d917cd6156c096c26dbd93f9a4fa5c8a411092c0c1c63be9403f19d6c6a9a052fc4a6acf46c9fdaaf8a662591f754c309c2d5f6275e92f64b6f81649fbf5e8f05c7e72842ea62acc9b8ab8c82e49b8e96af2219b2b92722cd5a628ab14f7483f8f56261aac17e7b8bd1016a4a9616075829c20eb540672ca8d829470c0050d8f08417cdf4eb417ea0c5864e9e7cb8caca88832cb245f726d60a46004f4bf71f107330d634b86d9fa89051573ed947e7e095d8cfd677d72396912aa12b9fb8dd7d4f21dc0bb28f2d1e290476787f63fa3e4eed2469cf772cfa7451fdf19674a0100d60ffc535cda86c248de1f17c60cde104b974105ec6edc9b7e40822a96b3c7e6018e60db2493d3e53aa0cb9ca9e359940644347ae23fe53c98062e74cb991ad7e03342614f8696bbfc097b1ba768e04449dcb3298d72e50a0733a644a6c06d06e8274d90e3d9994ed7b928ae7c7efad145e2306ebf3a2f258223afe8f1d4219bf37da3670026264d4dc1d2928c1b7865bf99b036de7289286ec6abd1235ada7c4efb349d21f79ca0562ce3e931eb50d4116a4af7bf72bcf2f390341412c77cbdeba26cabab50d0576a00b313fec424ba03d4de19a372326b171e251700a72121d7fa0009e4e8c94e186a7be365ba1568d993ac16b9720764806197b2eeac2d7565783b938a6fbaba57cb60062b53c1e8ce226983a972deea93ced7b88c2e87920a0156c1b94a4bec0e47fcfb30e1972f047b56252b69df22f121758a49b08d8e5147a761143e6ec5e2a4322f9feda4dee59b268c4872550a76c5bc0c07232a77c7d04c47b30ef6965840756e007cc872f71e9faf194a62b69787e017762fd4f9148f7a43b9d50d8abe4290fb986864ccf24f9f52f8483c87e5e4e45c4e935f4f337b7d88baa38b9039fdf03ce40a9ffdc6e111fe692f38c650752019db283668560fd31349c5849183f0d91de0d2b88931ed393a3172624649937fb1afb04a92ff2c4469041679057762ddd15a4c8a4501b6116c9a72a2260b2e8588948fae691303c5a7041027ce4a5827c39edc6a8714434b537d724884fbb9a39bfbf887e945157ca2ee990fded68e30604af9942f8e39195c5972a532333ef4d5eacbc9be8534273854503a0eb94eb6007d4f7ef386c6aa37a866e1c12c0f34f5db2a92b1e3ad467c7e1f75bdad36e05474e15816bd1df4ec85259262d3ff7a5184f80122b13de208e87bd9b2c607e6efae864569a2d8b464fc0473dea65351f4e3d52a497452c79740c458450914eda689474367217d18d62042e63487cdab70eef512f6681a2aef4d2359783936cae2a5c3df843c93c7f35f7208b386b9822f79d21154a1edf2568b4b355ed7da3cf7e5e7954ca7582217a2728bc1c427610a3831d67b931f296b3c30b372d19fcb4d60b3c0b8bfe0f667503dc7cd70d41df629ff139d0f66952901f42795c4babc68f653ed080bc895f56f4053aecb97f6603926a2ae285df8cf20c57e34e56965eaadd4f7bd1b20308f8072508390724cae5611f0574d1e83c0dbdfbc61ab06fdcc0e65be32bf272ead8672545a8145bb1179511c8822c63ff1e7bfbb3b8527c48ba5be283078ebfcaa2f72eaf0a362ff747e226c4f228281fe5e3606eb826f4161828ee1a501d48c6a362749ba4302b8941d81be751f23cd27b040c2d890c9a6a2047b3a1f7a33fce612725e7d8319decc545803a420099ad5a7ca52b41b0f51e588d3583e71244d75027237107713dda0803055314c1fae8fcd8993632a7ed91bb0fdcc791cfb3d720372d2f506986989051a6d32777c2d1aa025246788f30f54c144c0535989333d57723f9ff54a691d043f2c2d84ae95272807860d6c576a0c6dfd90c4bae6b650327225078ac2bd96dc5d646a873a6d7543c2e1265b71f99d3c9f1e2a06a3059c06727c0f5196419afc19a455bc3adb4ae23e69ea0073e7c600fc5dfd7050bbab8850ba35b25de6dbbd8f7f7b395acb6b6d460e7b7883e93508c42d7f2afa4c8f9a26f769f1a0d31fe888ca7ca2771e1c1287314d2833ebd53726af856e4658a0bb6ed55c41ac04b434a3e6736cd9261300b9315ad364c467238487ba0108aceedd1c8814f7fa9e14b82243164e84760887a2419e1559123e9d5f941bd41c8833ca72390d33a27d45b6e73ab4ee02f23b3b01ee0f94b4a98304671f1aab423feecd2879fb6196503b6eb499f20144c56836c3cef788d0ae530e8aeacaf9c01ae40172297c5f46f70b085417bb1c4217ef6b0f3400b4994e57cef7116feeac37c929392ab6bb95ffe92f643f64ec7e036af2656f84727cc308354091c1cd7eaf4df17244b1a04514d4f8e1629881c84cb6f5be182b40b498c3faa55b28a786436929728da528e60150034e1466b60a7ebcf37958455eb09686965c81b585bdcaaadc725ace191deda3b0d0fb3e6363f28b626c14e45918bc314684682b68c51fdd127235c1dfaa021dd9625ce84ad3dc3acb7978f57825a6faae9e704b9ab51772da6119e184ae1bc99ee29bfadf8abc83ab6805488e89ce22a201400c1d9def057462da34cefd8ff96ab767dfb7d2df3b9d2f137fc400338fe88a6c18f8577507f1188dcd5bc975f0412396b1bd5c11f6f6065e058af459835ff942ae4f80ae4c117239828b98b3b34d092cc8cd53a7f7e804d2e337c9fd857228e52c6370eed766729553fd9dcdb643a0127ae1cfca8fe8b3811380b3327c3128db4b6695a6b4a572af57ce3e5e9af156f3c384becabb58717849f493aca027b6f69d6062ccdb3a2fb8230770b229b0ad7098273521675654dc773ff906463e1f3ad49bcb6a418f4d5fac59377fcb804e3961475b38a25e3763c699eb40f33aee021e41d443f1017256cb851ca61b1370239f4b03a34ca4f37c74f6f6c22512debef1be3f4f9bad72f8afe5e15b43685b128d3572a72a4fc33d32aeda6083f2653c7929dd49b5b52c9a686c0d981cd7ad501f137cb66af04bd05188d937c4d6fc0444e119a50f07721a297dd9eb1973d530f9b38715555d91c1eec6225c64b1f9093c903a0ba2b9723b644ce3d551a6ff5f9321ba199b3aae1fa76d478024308ddd8f13c8e177bd725efce52fe97dc5675c7b6916e8589d5e4ec332893e5182a539099c9401b7eb724ea77c823e92465de46d8506c47eba0855bd20f44b0481c4e5aac4dffeaa9e72c236b9021a4f3e40d87d7458be37200b9d53fff411464c3ca836fe28e228cc1ba779f1389f2e71054227bfbfdb43b609e097153ab9e6261468406b34c79688726a4aaa9d768dd5908f762792c833d95d8e194b2fad756aee5c37de5f4e2ed44170d1f80080a562e7a107f0ff741707efdcdcfc116f5d623aacd314b91438ca72f46a4000c0427eeff855d6531c8bd33cafbe7431778b7314519a30712901e0023b24aa992fdd04d537cb0d100761a09977b374209d78ee4a7167f8f36c0ccd7282fc96317f9a1ae0999a71b0291b4fb3cd9bd5f6ed6e78d25f3532394cd167135732b24157d0ac1fc33576ad1823ae1d194a204ded34dfe469ffebe7dc990b72482e9be7351717592fe2f2bec5ecdc91129927b221ad24011c6d11bf3a35f3727f9343726101841a1897aec82d3cd3b08cb95ff74115b202b036373a72416b72c16e4ffdb612a659ceaf00c477078be9cb4a744b45230b8e8269d23c2276ef488825fe04954d85fecee29d72ed7174f8369b7c7a92cd0a1146b8b01b292aa44556d3f4f0ebcd7c551de21462c37e2fb248a5944fee3b730b4bad7c98a095c6726b053c55a55939e08338025cfb41d2397c919aa9ca24e99aad7e262e04f307720ca07ff1216adfe9768c95ea2f31268b15e554968e0de7698d920e6b3c885a7289df3c060501d14822eba963db261b7ac90bc04b1153069580963acb0a7eaa35023bc710d5cf4b5795f6735fa0c8fe7b5b8c82a9b25b9902b2beae749c305a3f7350a85d3913d50cf277e3a0cb2b4c97abe7f6b751c7a541e20ae8b95c112f72a57aa2a793d96b7344fcfa8f2ae7dca3c77b0002489b2bc9986b08c93bf13f72fbccd659056a078da51fad2b3e9374fe1fbfb5fa2c1b5d929e806ff19c23ff30a34c17fb42fe2c9758b0b6b9ad11b63c70a906357b954568e1f67a86180c8b727a6d6153aa544e1f8825f67d8d3e34a5b2de4881bb8fa6120d3817eabbf8dd720012d82975f3343bb2214c138beb912ba8c823b945e89b87c3777f300ea40172b2f5c6e92d1f084e485fd7310408a7ddac1152e1ae7a2a1842121db65dfe8f7205f5bc346a35d3f8feb1f12bf63773417479f8d77b91b5d08ca33c5fc448726a9e874a18aca01384468788d1c76a375960707e27a96f414d56e75d301609c172cf73f8674b44fc19889d02764727b3f00b72b19cfb011821985bf5b6c404a87238b6b4f5b5aeec031af043e0ad241b75f2217d39e388c8194c81e1865707b166e8d3305ddaaba522984c2f16adc97a0e5b03803748f4407c6d4458d3ef4d4324fe24df2ab497000f70e0950c6d9d15bc9e6244e6114b7164d9f9785ee7003172b381284a9a047e78ff4f24700a96cbc204c4fd2551db3053e39ed9b40ae5f7721942dca9e69da31ee7b525010f1b05e574fa2bd0accc49c332fef85c4a62b934c23be43dc5d57d7616d315b8872fa25c565b42da8aac84419f89d8914099bc721e8aa67fa922570c8ebbcf32062db11e2564024707dcff5f9f1c442f7f4062729e5a2154d190d98bf30e60c9716905da3c6cd526b44d8424e17e26b20843704a8b8757130f18c89f533118a4894f0ad2df09c5bd5f8f9f6913a5e67d2b2ef215576dc32227618136e680c1088c5f14cff5cbc717a963fc387d8bb19e01e7fd7256d0695995ca54363328194a5f1650fa13b594ece69a133fa545bdafc26f93725a87ccf2f60072a8135b94f50bdd6bf525b2e584f2923b8ee8c2b583286d9928115e91e0bbc097e5c15853e39f1b07a5709db8d67e19d7ebe86feb74fdabcc65f0abdac0c18bf865851639950680a44a2dbafc3b82e5d901518734d81063c6728442089150aeeeb6e1fde66966456570bfea301cf9f231d4d9d85a7f50a9647248b26d930dc67bb301a4ee15db3c73bccc7c3430f5587bcf5544a7d3dc16994ad88ada2e1f86c08cd13aa9bf59740c3d53b56729137eaf274e3b211cbe09ef72c70d2e975a79bdc7ac33b65d913af0bad759097dc689509a6ec3eae7de87d6720484f7d3dff6671c4c34f8c154467c6ab82234556ca835507f9c01b29c624f498a2a1a4220128f9fb94e0aba663ae81f8538db88b9637a507d7e160ec07e0e0de58869281fc25e6d523bc095868f3e86902095dacbe62da72c5cfca8a4634067e7fd8c932fd65cad326f5054a5ca19e658cf16e8d389d2b67d0ed89a959d30727c804844cb0f7091d18f5a727cfc58207e3156a0edb3d7934fd1b040a3e74072545b77dbf3430ee883a713917c82a721773935ae3e4167b272c1c6b2a911e872e95804e3ee667c63c1cd44b7be371eb5206558f92eedc6362e793d5d6164d745fe1e6447a33636639c46db25865707ba137c57d2aa40931da57d603f5b2681728ed29c9e33fa0a20c2c7738974f4010262b29dd80a16d89c5b6f647bc740f44925be33d0fe2745f1f851d33354252f678c48a125ad6dfe6e415488c6cf5e5472a8eddabf37db4f3083766fe31072c68867122086d05f5f4a7ca181620ded5b20907cb6675e3923e9bc930cddbc38a35f1e5c45fddd75447d6887242b0c69ed72e2f5d57bf97f5ecb94ef2a99870963d7f2ed3d5c682cddb2e12075200b762072031eafae33b40b88fb871d2fb0c9599ea598beb4be4268991c47218488133e7299ee4f43ffb7f3c144c8b0984dfb74448696ac72f37b678aef102845c27b951c0ec031f25c192176b9262a2c81bb5adfbf52c461767e8a63d80a80b0d51491521214b845ca333059f174daeb9879952344dff8eeb7c35b3a1d4d426fbbc8b772a1ff091577f031413cb2f19e96d04dd4b53bea75723105746248ef6f91d80f4f2009ec370debad1fd2f646cd5dfb0c2c162ca8a92535b35bc526161d3643561fe3abd951a4f00fa8abb19ce7c8d9733b2629fb9ff8c7f5cc6037c70c228dc625606104e01f93c81e9bcdc07e2378a8d79bbba35e7a5fad47279932ca03e00472d36e66f55491c860b3a2b0ac3b8863dd453e2f62ebab7288f9ea395e7c165b72139c9b5c5da1ff9f3204bb05a9df069ff12a9908b752d3de38c17c865790ce6da43ce01beb565ab3d18c6220d2c433552f431e536158f4bc38cc4d6dca18d172c1475db6dd16ba788373bb0193094208bf5de4da76d68026448fe1625325ca72d511aed2f0c5c58918cc0207106858a804de142eca9883504449c950479e7f725903aaa55c5fc3ce0e77e9be43de16f636e9e3352aa9c0f3f3cfecaf95b159724faecff96b575143ab2c42489f3c34daf215b85d64f8bc41ff4ddf065c605872ede24be716bf588fa2b8c04162baeda5e2d204efd5b838842507b7b06f68e4721eaf34be7b1f657ceebd981622df84d536ea6f4838b3643b40304664673ec64fb9174f38547d2481e3e851f9b3cedf71310a9832d1cadb9c63cb8c81516eee72fda00b7bda35301844c0c026a166ef8716608e57bd04013e7a8aa93b23c70272bf2c145d66851d25783ae26da22fe9a756d79ac42c82fb0df0e150c1f9ee8d72b219046c462b1abe8a2ac1773efe1134b6c6cba637a6cfe5359c5d853777d139a662a4c19d014d515f00d024609ba54b1e1ec845cb414824dfd3aee1381eac65cbed7d0768f94e1024796397f2fec000e18deaba42e7e27f62fdc0213fcb15720214a51a1ae0e3aa0ef5d723b01d63b8cea2324549b1cf15336d331a9cfb2c727504947db5aaa1af52a6fa1225b9e2031b48fe5267a4407d07874b5b1471504d495f51d6ee6c87624672f8ff8d10fdc20ff538b518fee6286e460dfe861eeb72d31fad3edae3bbffd723153935b054a709f3cd48f9400d7ca9458beb67acd544406ffae187de4e17480994c97775a2ff137834282a250104254076bcf502084c35c24b223f69b2d510829c852a09facc27da5cb47fa027eb2f358b66e389085df181ffdd4a957382ebce4a10c2a2f272aab7f451ad89e9fb12a8823267d6eb62662caf594ab3ab196c7d6c8c757491b41f278619c3fa0bb3badd91f58be36a2efef3dad05317dc01852b04209d4420b5c2a6161b94a9ee5e6f55cafc79660572e02f2d41358004c75f56448bd7016c87a590d2bee38b2cf4d7c302c2c9430972ab03d07a8098b16c046d04c14cc80e5b59e16ffd870a55277a074840aa28c9727f6e77997f2617005616d79c2dd03e7019078917d5e0e5d2e638ea3d214a391670c4512818a4cb8040dfc25fd0264fac6abed2f131ccee0ad7f8caa26957d6498a3f23015ef4da19e915dce6e40f0de5be101857a843d6d60dcd2a12e1dad659c4ac3ae494e382a73b2b3c8cec58e0f35f768521ee89ee39f155ffd74ceb50262bc86dfc3b00e3bfcbca32694d20e1f4167959206e12864921c76f8ad7f46272397428bf84beb8b86e4417086fa2905a744bcfc9d9d32a3c9b9eb92dac9cfb283ac49f4dc172e8c1b05c6597dbe6afd9260d63317143d962e56023e343671b725f28a3a2a2d482b40a919b8271443a6089d28732b999e359ebdfb02024061e1c33f383a8fbf4bfc083885812c4761ced88489465792651b0fee9e208d0e04172abd728a5b9d4c75c221ad4aea8792384f6a6184c1027ab30e6b94322751adf724930aa77c8fccfd7f27d5dfa8bb2afa100d008864adf087165c40f7480614172304686e694796669a4f8a1195b96a7a55583c87c97bbdfd3f38679bf1430b8724a7f29fc23b36fb8ac4dc421bb848bdab1823d4003a3973d4ecae8894cdeb67222e70e36a3d5ab9be292b8c78878cf2b61210724d5cc1a2d8466e6526b7e325834635d6ef11a243c1af025164ea104051aff08fd713c1fd38c3c07d5c8e6bb1618c7638d7a58412fae59db6ee9dac6ff70f90b3ae6b5322153663ab5b724b7727e6c79cd9cdeb3e047c35bd3db80594567050d5e0974df7df04a1e474c17a35e8ba2708d7579bae959f0c0ad5c255132b0cd6701ae0453c097bea87d4dfb310ece09c086e2b1a375a79f6f181f16a2c35742e09edd7b003298e4b805d983a0725e825b36d027c6ac0aae07962dc20c9b39989bfab054fab17139d05ce14e3363c20367883626231f7e602d5c7bf8afbe07a0b8c90854e6f6ec3d8afea616340267e3b757d0facd4b70131233232e91a74a8f93539bc7dbd66ee49bd2c85946661b3a1b6b1b2229e223d59ec7eb742e9c68abad97a7c1b968e7e7b555dd42b56c8ff9d7803ef77b1368e798a984babd1bbe488366f5a8bc1cea0b687b84fef77224dabf4fafa99fa0a53b95e5bc5d804fc80b237b1b941a70921fae76a4e10e6468fef9e04e46ca16c00087aa356aa90cb0dab4bc7ccddeb1af7744d461a8b672ee3321a71f62bfe3cdd21d32f185ba5c2701f9efb32f28063c42925751ea8f3f3d6a4469f94e004cf2b21738bb206f410529a846d6765adf4a22a9179774e245e242d13c2be27c631410a16e754ac18699b6fc8530ce72967bb14327ab286372b65d740ce8d25d5fdd2c4030ce7d20d67d945fb8558149ece75006274e5adf72d078522e81a2623aaacd45a5eced756ea6c0aef163871e514686ab742c000d726eb2dd6a127a3f5aafa8e0ce6ed49d3aa96526eaaf619f940824a341c5c445072fc345ca71f77a2fe313e11f281419136b764fa5130825b2c5109dfe3fe3891a71a181a7a05ea1cd6c098edba4d1b049fd5626eddb35f0d8214424d9ed6c0f7202ec32519a49c9cb435f7a80986b65469f8b5b8c2cb21d00ba499de6160b3d1ff5c4b94dd917da88fef2a11492da8c9ec1020debb4b74f0ff920f62f99705f726c6b74b97b617de69d4330e72f3859f0250b81c6dfb45eec737769cc2af88956d1205523a954ccff10e5c6455c3ac53da19e2ee5ea05418b4aaa9d87014b9e723074c30e5dc326977f3351c88dd3d5c930bdb9cc592a08bc3267d255dba18172809c96b83b88feeb86619abd15fbe4f33d8bcc68b0ae41977513151d6237b1720230507aa59e4535ca1c433dca37d7aff430e545659a5ed458f33efc8f8e4c342ff8e0e8dd8cf19503d7127ca1c011231fe9945c86ce702463f15641f066e26d10e74173f9d374e9f20d268211487113568170772205d2ee9eaae88671a52972411d5910c7e2ba4f5689d9dc76a43c33bd3e542d8c72db08b3b16e2cba009e7212c800b0292f526b61ed350bcd531c5a61cdd462405a5438a214986298582472731ad982f9c8ea1e089ab33d7a105e824139261fc40468870a7a6a5b910f2c29fea513d73966e3b8ea3062af73f61199266f6683e0d7c99981a150b205d20f7223c194bfe90714cf529bd28f8086d387bfac2bea03cf625eff5129183443752b4b823f03fd1188fc5e92bb2bf2fa153a5ae95cddcd422d6008d5243762007b077897a27e2d0834c0a46ed0b5d090b51747696e30911fd88453eb002e1c0c892bb0a0e19864b7e604ea03578b5420b937cfde1b41fbfce4ed40f51d481a468e7238077637e010d4c4ab122a5b2d5736c9dbbf287dde274216d311f24586093572fabfa4f019ae4c2d7db60744d49deaf5f320d1abaddf0e11b2d1727385198e70fce6e6a9c7ff29cee07e39cd1efd20efef866e8064e745984133e39e26a71c0b8eb3ea21a89c2440ccfb44de8dd748962b0ebd3c942e82f65e05f076902e7572809e88fb1aabc5fd39afd427379bf132da8b887c8b53870c6d42f326f37e543ea86a21b9b8a6eae5ba1d0ed7f416f70eaf328b0166b03cbad0fc01a751bd0a729f1e3994795bbd0e251606a57aeea7a99de5f08bbc09a486767e28658091d4687a45f5d31c62a340e92f289f59ef8a16f84ba5e94f2bf12981bc1c6cb883af7283d9e25e31089b51af39b85f1e3c10d8dece04b7df8021d009dd47483928f07260acbc359dc8abe54699d8e4ab1dd208e164ae9685e141a567e3c08daa02b77215d7c8eaf12a791d5af5a3cc79de8b3e40e7348f1f35b7c8498cafd2d1320b720d84e6f38abb8248c5755a922d4423eb639303624a6ebc93d2ae7710c8e1ad5bf1e1fc55c543a2a6016c2f4c9e44ac1a11710ba2a9b0c41edf53adb33c08ae729891ac4483ae648942b14b8516d80968411068a3fb69808be7d2889da2a9633b2680006f5f8f35dc8b44a739c065b5d32d7ed78f3c75b6b5914888a6e6b89972baca4c4b04f48f9dc42f539d694bc72fe6adf4b855b4cc90e922d3967e17997230ce42ac72989c2e575cd5b69c1bc9541617964a919e80a2ac3f353f1541257225860231a656d71408184fea81e017b4c380bd9197c43ff2011f966d83c5f072b3091988a8e087a604c0837a32a03bc6d0050e521cca1b3cafcb90731dab417228c5df9760777edbfb20e134301e6e9965fb289c2a85a25552b2ecc0e0a1707271e61920650d1a0dbf7841363e67292cf2dfea06ee6fefc38aa53afc96d5ea72fd30514591efb45991000e0f9465a30fb90ec68b98026b0252aee1adc3ccd772734aa3f566bb3ca235634dc25ce78e2d119ffd6d44434641e6bac9170e97397207c67c577a6a56df0737b6d9a524e020c15a6943da192dfe32932ab26f3fab4d8d47cdc0c1e1ffcb22b348ac5f3156d4f6dc6ef8c0f349e834ed9a0a9ac44f2c1c51ac98fdd718ec79ec66172fdf2e67ebd6c505ac55d378e4219925725c8872dfacf149c3435a7199b6a62bdcd316da8c467e4e0e3167577388dc8199c61572ae4f01d8c2f8a98740d44d3a584c8ca4591efd905275e0ee2b9b98e61cf4f96d3da3e7c8a63687bb4c1edf636df23e91fc71c3ce7a2fe38416bb31a9744e3953cc7fac6c91199798906bb5b56dcc36d74472257afc0e41ccce2dccd5da16ba0474a453fe076a16e5afa6aee9a5f447bfc466be01127a4ae01f1039349a5d33723045539a87c7898d3f5cc15ba8f38c75a949010a2a7ee0e30eac3882f0673c72abff2479f600869e98d67cdf47d76e0735b8d41fc038999b93d5741a46e36b724eadcb569bcd5c4bdd50ca8db6790583317f6b36f3e67a5838718325dc8584723f7d2b5ef0a12a66ec11d3a2bc9c9383f34fc0a7ea360c5207e62b43997f446dff11934554b523de562aa3fb2751e70248ce16c85c31a61292c08f424c4c5872b41231a942d88989d66feb3c1070c3bb0005b4e5095d6269438d24a5723dfe72e1e2fbf7dd00a589be04414cb2b60f6d41a228aea9511ec261ea544a4e5aa14c609f2ca5551761c1ee4fe4bceea21a7e226349d74eff8c420d1de8a79c418e5b3692f948058d2d0caec220cd500244e259d9993e3b053fa9d7258bf396992872f716113ab2a5dbf6c7608e716c1d2f35d5d7de24bff3e9420c095370f384c8721676a8f252d20294e1ad468c6136b9cb872fe98f8588e9de476845997fa2236a6beaffb983b4dca1b2a928f44c354bc01e65cd1a34b4f58f400a407862338b5fd3fb1585f9648bf9f4040a3b6c73212896a748b58589de1a594613fe6852b92bca1eedbfd29e4fd9fdffe890ffda7ca471be5d0e07493df9e241eb68723a9e727282757fde6c9faffbac375feba511db1848bc824b333424189d79b5db0cba56f8d85c72a154e90579db7e6315143a4ff09aa0418227ef0f38375fbcfe28d03e8ad70198bed5c3d024a8c8f121d66431ae2e544d50bbdd3012541db70399152133ebfb0283771ada32cfb00401324ae7505095dd33915230eb4bd9ea96d69c72880e28dabe5208ce685b82ab6ce0e0170e25e2da97ff2a49f6aa37f6ee0d9537bc2f858eaeaa1acf4bfb6a8ddf08943cf7636cea95d131e09e71579d07c189724eef62f9c94cbbfc4766403d3b5fdfb07ac0969006012806c1ceda3a4e99ec72eb43d2e69babdf311760b775473598b45e7dd623dbee17ddc0ba99a32be72c7254060174044b9e943283133e326eda4b06600a692f8a4db67fb3f560ee1ef572ee97e15024640c66370970e999bbe09e2c3d5c154245be4fa6023a3cb2561072b96797ee106ed99bdd4ea0f6f7d55106fd6ad15605c35e165d1ce0838056e74a66a0280abf186eeeb1148d83f5c8a178b9523754505a35082cb70c95e92d4b0907e89be23def17d608b0ebedf89df7bf134db2a882cc327353f33df031010372139f9335914eaa548b63cc9cecd3d1eea88f9eb1d1dfbe28025b41a92554701992f6aca9ee6d3fb398eb36d95636fc72be095d731ff2f0d7a53c5bbe190fdd72692031a5147f61b8e1b1717207559ef397ac4e2901f30bbb8d76f341f263fb72b181452db6a7feedaa53d0db3596fbcb8dc600d2581d6d3d3783296c14acfe72f340a6db51d18c468eb97ced177958b7143b8ca652917073ed5d30a64ba2f130d0cb06a62998d8b015862f6064aaca062cc3b84cbb1e1b499500d6138c4cc42a7551534f74cabe3b68fea2cbdc6035cd671e475803a88a42c6991ba27ac30e72c7482b003febe8be6db0fe0964a949a18639c0dd30b0061b5dfd7bc6b2ce34726748981a30500603dc04b2ca64fa91ef4fdfea170aff48507ec9d63ca811a45c4d2013af2cc2adb0fc7d234d3bc48bd7b4b823401b62db51b6d401e742711d72f11224f2a0e7468faafbcd1a10301ec7e68785265ed6e928dde68ad05e6e617214e0907d854a92fb476493e5ae75706284fe793c7b9abcbd16b4daa8c0a68369be6b1da8a8c4b343d5acc7116b456aeac5f35b2cbf9e3477f6cab9c3b6bf49728ac76725fe392dca164797b176531d5b889838e32c49d3b1cefd4e8494f15872298ada7fa5fcf547988b8e6d6351820b7b390fc0ed1b7caafcfc7d342d1df5727ae55b194d6a130162279ddce9befd0dc192a51c58dc73a83288e758e573b0723f9138905a2eb44c6b9933354934167d9ac693be5a0b3df0d48bd45030e24c720b45a1a2ac964fe819917ffa70437f710d6bd69dbd8d90da5df5f1b00f5310724b17db433d3b9ae113d4e319514cdb25298e032f288bf582f6b79dcb68f5d34be9178a6617dd548239c54f04450c1b7cd74ff97a2e88afc9b2fe4c6b2ed60a43dc982b11088b60b0068e4b1fa0ba086ae7ec7bf8c3ad3606178a92245b48fa722e8158cf169ee94b1e939c2cd4714b8656214aa7fe295b1f0db7f01a5fef6503f33466706f9a54d2051062aca1670652cb48fca2df283eeb60116843a8f7367200369a00f2d78017a1c2a3ca94666c2e7530a26058867c725098dc40dd6f201e94c3aafdaae10302efb7d7a0c11617ce42d4d6e9e3e6911ea3c5fb4311ba5f1fe4fec9dc933341655dc8afa2695c888daafb64c02b8d16a3d8f1f1743e00f14092cb650800dcd075c7a1e6a6910f09b426991c1d6aa15e309d697b46d752047264e854f9b92e2d34ccc0d019d8db60bb497d3b749c91524bdb5dff84b617727250b51840308455ccedb2313b1650aaa415ffa2ec27c12010d24508d156f6ad720bdae52f4893ad6731ad5dd1e9365652efa148bc212be0531ef35e246f8258722572d80165c4b1e5f02563a344e058291d1e57d54de3edaf2c1da4f2b702d572741d3a5f982f538fba10bf0bbcad7cb283eec6375cc5a142b9033b17b987ac72a71b13b21a27fe343c7249339d82ecd270dbc7ebab0648fb08945a312f63b072ac3d16e5b7058433b624510873e9020583925e66656ea4f6264b6f6a6e129405841dbacb36e9a3ea99792137fbae02b8fcd55fc7bf3b1bee8375d4cc4ce2ed72fcff87f903770e53b5073eb56c0e1a3dd289b2881cc0e0c9ef73ca6b025a785561cb40d42018647e573fe5063b1a631166eef44393b1ff87f5ea5b2505aee7726c3ad8e0751ceb1c1102a829fe18376fe1599c936a58ed939ca7fc0cb9f467585e594a3022b341fc217af72f8cb0be6cdad983e9960806360087cd26069fd40db67d60b5e2483e0a9c479f3001efa93c87b7afa26ec293758029c79239c9a64a48d3fe60d6ead94389ca2255ded5580742caa566a29cba00697ebfd1f76d2472cde0788a881888070c408e613d5646632c0422ba8b6943c042c1e801e18a995342380f0c18639fa603fad98b0c1046881f6e420190ca7896e2874c727ec570035bda71cd0e4a8e9cc3aecc659edf03a474233d8a9bcdce920e2bceeda14b5a72c2f1b465c4b2bae891ab11601d158f1eca5abce00ea8b3f153b8ffe00532bc72ce45b0c118bbdfa24c19a8c3a13442768e3a9540d6950e4019a8332bee6a317251670ffab978afe466d12533eb1b2ebaf65a95301461fe969fdf6f0c9f8be572b377f7627fca97ab9c5f47410b4923504133a6660e4316fc2c6c591f1656664ce33b1b79304b9e7f56e0d5c5ce2080e57a4d3290dc435698c1fbfb39cbe2db4d8b0f4b814e265506531ee0830689139b13e003c5a691e54d0edd667c8fccd31d35112b7cb10bdafe1c512d8b7a5134c6e1113710f56a6f16953dd40913f2c072e4a80ca938d425a3cde7b9aa307064e383744a54830216e87264adbb894fe058f6e10ef940c8e599946053b29ef7543eca6323513a815a83a83ca57037ca130647aebed529d380fdaaeea06e1108846d39539674e36619e132acf6a4f51d75722b193221add90165e1aa332be800da81be7218dc5a698cebd9300c3e5cf89d53ed1a45ee087aea3c139d0d996a791c821b63b9b17ea71071f3e632f5e5bd9b722aa5cf085555e421d44889ac5ec1f8540caddd2618ef7bff8b758d7e48816e57adbc11ee335c908210b634d7482d2495733fe9bb3b89ceea8010c5e53214705b60d1827a106c0f483782d97d7ed52587e6117b0dba2af7fe8d6db8c564064c1a28820eacbf4f30dec793577eef3f906848904d6774f5c7c9550951e9e60b7e5d820394795257fea64a92cb79d266376b6ef1c600c425a57506f39a916588d3315cc2a8e65a6ee3952b15f139a8e90f3ee54cc9fb85af716ce4f400aa6af33c525fb0f55ed44dd14b13e1c8a0575c947092500bb40b54e45ad99a1a83ba4d4f3dec0ebaa780837b025f9db0c9c916101b7abdbd916a6e614585599aa24a30b86aa27456254d1928f63813d2c9bc96e7c747fe9aa4555e7417f1d41d18884f4a063373b6e34eaa805431fa315a10add6b34c5afd4c5b6f85454d36abe410eee42f9f628ea164ba636e0ebb7ed7ce788f0e8d7aa406fec43c9509ae0e4ea16a4972bd27c5e7eca65a66735d782a35834ce8e4114da1d47abad1aa5f25620b7ed672a761752a7d547ea36e896e2ed5d34a92937119eb2b2059cd86862a92bd5bc4489d91bf2e602896bb11ad46a98715c4e6448d363472b5c3448fdf393254124d72585d705d1c3379133f9f62ffe2095e0d977fecbc3673208eb061e3fa12fb205832313bb8503e0cbcdd45081f75738204b6551a07aa2f86dc49bf638a99e8334ab3bfe5dd54e9e408fb633c55372d6182245198b054196ba2ad28fb5528db1a0865ab1f6984e5db4a0c421df59ff4c6be6f792a115ca0d221bcf3f27a42e52d43efcbd12827e519f49a376f4ffcd59cfac80bd15e147b2f9c9d3dc84d9f816b59fa7ed6e6e4cad051e348df73177bdb64a368e3d7669f9da72d7ed5a445f851493b7214bad8650d1e341f39556c5661e3144e0a34ac6d57739f075edfb1af0072af66e76bbbd3b2f59192d7176364beec1d70a79e974c1a6ea34f4860ac403112c1ed6aeaac9f05ebf3138d34aed1094eff04b549a048f62f2f967386c9b96f5bebf9282577c11a551da3a48339433407bbb3f5df4f4a8a33253f5d325c3f0401c90aaba8cd0ea5f8736ba680f1d33cfdd8a2aa305acb831e315c361a86fbf372b4e2b89971613f1bc25074e39b4d1f3a0abfe2acb13309f345c6ab685b7653721e8359d1e2baf4ae14813b4e3a227a5f4a3def6fe7ca65f2aeef10aceafbd972e0005a451a7c3052e08a04c6d0514f3e7e54e060ffbd99642fe0fd7e7a259572c2b6f40596105c64f7355b1913bc37d8745daf4e68d42aafa875f6d0ecc5882ba965099162fb424304b7942da870d130a4b97b6c0dc3fc20b792a4936872cd6b1614f375e1c29b1429ad2193ef58b4a85a057f4578d4a6959f2b14c74d8f253ec7065a2f8e21efc2fffccc87b00eaa383e411f6901fa8278db6fa6a0e1ae6a0a392e840bcc4933dc5b693242e13089992d16c494bde0363a935f8da22b7ee972561fc50cff7de1a683c1ccba90d96f86aac76466e0cb0558331f224d991405722512f2ff8f9f460de7de53abd164e8bd886da57d5bc626328a65a24b49277a33085a0bee09695e4a513ce899d1bf92634db6d12a4a17230ff056b7a66f341f3ca6870e3745b48205077537f6d24a75328036dd0a783f2f27c4077dfdd5c3ba236773c221f7a9ca4ff8772566dfd871ba8569376d136ea244fee0c50c6d01142fd206ea3cfd63eb2b40657e7021225f8d020697aab95a3c21789caed87738a85e560be75bf2bf65ac3d7f343215b1f00ecd6ece839d009c5ace15ca033aabc572ae45c8c2c01c031e7a0fe5e8e8e620f745c898207dc5f307304ca5b92141507253d3a4c1c6b62f3b651e0aa5ca1d99294b40e377ce687ad7c4169e2cfd0846585a14ab6a451703268fa794325d001ec7804adc93ef1be1446f50bc9eaad7ab7241f65cf6a042935221b6a82fa76500a7c82729064ac269ec15b76014fd55c7721a3f9b48acfabb9b65e89ab4d358f1367d69bb051db5d4623695d444be2838370a00932d9fe8653db12bb50a8a55975bd69dd9a714e591cf804432ea87b06a265d4bf4b3272c8442c028e9cd384259a73777eca4b937fc769409db9221654b729d20663b7517677c314e9045e78e72fcf6998c08267692e804cecd117a8f1c727bbacc8b99880520700b0c6744b244e0c9b2a1c9b8300c59fea757a9f1781f56ff93e1d12c98e4b64d7677febea24df4517e5b48c3a0754d9770c9bba3fa2972525758859ba08b6552db038c75bfb2e170a244b9b88f73dcf83de76f2e38de204990d6aa381ce7de435515a79bf495046f92cdb2cfc1cdb46aa66e702deef65565f6d900099137cb942869d577a846420874ed931ac066f4f81bd46230c2e67291d8a8678921944774a44069c2628456b6091ee32920ec9fb3bf0708f1967f43e2cf2ccd0b755142ff659fd77050d477bb3b406952c467557e942a243cf6ff726b74fc939c901b3f92d1819da7a3970bda996bfabf8334735818675721f3ef72ce83555743ab97c53ab63264d64ed722270074bae43b401d05a4e9b4ffe09535e6bc30ebb8c374966fdb62012a2ff79078658fad90f1e2cb6c3c563c3b42bb72fc69024ef54439ebc346c39684002305249c8ca1388432f29955b4796266bf1e4c89ac2f64ef0387941e7422237783fe68d78be9b7440676f1467b5a6fde1a59dcd11b802695739a65603986258ff4980c147110621da3f210d4edf1609bba723441904bb47ca79e2291ad73d07ebc94cdd71d5ef3b09b44ab6bb2500c365a7280068949f72ca5e9d69d1d5d523e23e0ca758a779b7062dfb8ce8d2e7903b972986c2f008a47bf3a882965ec5d89bc2df8f5163544475857e674825605b13f727432ae470ec0c4173c4f36c8c3b5c46829842e9ba5d8bf6f34dc407359f363721694e333d3eb9a24ab218624b582f3428987022dfce70a6b4b169915463a0572267db40594966c96d4ba14eb8c7e18a24b78e6b04dbb65874a4e315e00470572a556f291b7e5495f9130222185ac92aff25dc65091a79aef537e957733c39a72699181fab4452ee419aadfd9b4a939970d0f5985f7ef7cea6efc4ecd4265f972512df8051698ecc69363bcc1d1a7e77a9db62f6bf365dc26ee40cc99dd8091729846874157a6aaabaefcc43bee6fff09734e24479165a1daaef603bde4cd5572f3a17914f3cfc253a14571cf27a883874d001c70611525631adf0afddc81363e229216a685eb936c182dd4b20ca2f361d12a4661635d1305a55e840877fcd158bd7b2b6bf78626fe9b3dea42ba464fa8f4a43715c512a2e39f72dcd69c1f5c7200f2bbe67928dd3932bdfeada35fd7bbb80fe41fcba9b074383d4c0989c97c72c2a7e5d37805ba9c326fd7a033e744100c9905b364ff8a86f1ea1f7e7c42f772b2fa5a1102359de32db2031f9148cc7fc32fd19ada004bf0116c665e3ab1115d1a65063df396b1d77e21b6e721bfe4c6ee9679a61b522c80d67955dade4bd7725bdce69b8d24758b3a9b4c9201dad196b57296abb29cfaaf34485fa1c12b7969850813ea19d14ae1cca6f894c838d3038680ff78f2986b6b17206f39a552d17292c40ba879e511dbe466b4920083b5dd3ecee967878be930871139937663f61a6e4d9831feb0565692fc9dd8b5abaf3db20d6bf087c8dd8e58b054094c137a004ffdbef218947ccce5ac106810a5008d76284b59dd729e7460e759b1963723722ff1b47e288d9c67531e5e9d9ce0eda9820b6122fb09948826410cfa0d22e3729b700b4db3f6da3c994de573315a45f0285ecfe164d8442821abd3ca12471d72ca3e8058333fb70be2948fae9befbcccab4ad3e2fb3b99fc832aabce9a67ef72ea892873a6757fe37e74e64f91e4c0f11721f8b295f5ee0b44ef0b47bee6614153ad39c9d38a1df2af2fb51b7837757ead7bb2b9ddf959fc8fba6e07f8a0bf724a52e3cc6f4366652f0ec1c3753108ae6acf9c7fecdb441e3b01ea376ed2dc6bb707f85ea04986fc90dea4d57d3da1d7d159439c43dbcee383c6d99206c5725e5415d548332226472741056dba769a865eb95822a24c79e36f33e924406b96720e2b469eb556f28629b0f03c7eea5e03296159e6f0730be1bf534448e71e6d72ce06a6f0f30b279318a3edc80e594713feb504127920ef9de64127a8a2623271b0b3f4b1cf20a79e620fd82da716f4de6be46f76a4dd592b18bde8631428f572d0a598b3e168208adb94bf51593c9902d43cbbf5f179f0d0b3dfdbe220807b082141902b2c399b95172bbccb6ecfde5a86e01e6f1eed272c75b675f810b88b72f56f4dadd8d900fbc322f603ac1ed52ccb824ae96338cadef4a6cf980bbcbc059675ae1f1ec3a869081b4d0d21def9cd1b0f7d22f901a1bd4fabc85a70b94b7229ccd17fbf84f858c69379c270df7dd4ebc49e29909bab97ebbe52d42a0d2f070319c92530f3265458ce399abeec5e1941834f4386784887be2b35055b949d7208a2871ec0f31177bc4c255d25b1a2303d01055f8785fcea1209a3046af5c5725fcf2e6462da7cdf83427bb45ea994ec55b53ad02472387a99bc8500b51b72725f8576373f92aa81472f915ba89d7531b202889bbab57bbc655e3ad9c0350e3a075de14c7d6b671024723a1159ce5c962bfdfffec58136a68a070985f87dc209b4755fdfef06d76546686d7b89d85c5fe1936c57e54bdd272f7a42981e802e727368feb41051e48790e0f3da5500a4138392c5acd2fc0ec3c73bfaa6f6f2927230ac48e7f3d8773ca338bf8a9c0d997b1071a3eba23d5bb092fc8fa2368d3272e1be0e886d1b3c95ecaeb44bb1a6afe9464a805c0dc8ac0a5fa170f09dfa2154b80b07093016ce40785092a36ee6ee74862c227faf3f85f0fbca4cad7414ba04f03c16b6325b4842e308c5b1b18852fe8964804758a945daf7c7e8545ae29c72d1b6d015b8ef38d9bd88fa43725e19f06960e27a18531ad028a63b896ebbda20fc9a06a3aa43a0ac2b018e7395e5608b88cfe357fca746838513120adc03d263bd7dcef941b3fd8aa7f757aa799c55ad5fd31c1c3d97516fbee0ddf9cd03451162744bd18b6f155c912863602003af96600d0620ccd951d9eb10632d821eaa72f49a68a878f3c949976b00dea3e8b20917a6b2e856eee4ae0f0f57ab3112cb50761c1ba7d56ab3c2dedf9c941975aab7ecaead89dcbd907f412b5fdb0a7f9a729f0e175c293845a1d63f4048440f1133368850bad5e160b4a827fda2c298f204c27b290e284af8837cc66c794db221fa9b4e59a28cbf9202d704bccdbf221f4c5fefe8f0e0c462926a0400789449e425a1f21d7180a487c8b01c82ddb660a4359d5dfc9f53fcd6be462c8b298968643b944072a8ee299fb9ec6f7fd615806e6e9505f0e6f66e19e8e0064f836096d82aab3bf57bca3555f04907fcc1de597157827112fa3ae6cc3a0ab1e7ddd8235f3892496a596aa1b98826ad91b345459d70f959fba3de3ce29ae187a7016b92c8f3a6fbe2e6295f634c91eb69ac681a2472f44cb340d38c201ff03b96d3f43ce0c61e75e95032c2c1094c169f00e50c6a6b421a56120e687302b828396faf9cc868f3027e92f3448574189348909a6b4a723a10c49ce64ecd660cbbdb54d76a55519ce762243f626de1d390b18b5a0ae272e862eb9be3e1eb161f3d84c6fb0f641f95d1ba8668bc78394262d006bc1b257291be0669aba497ece5dab749f68b642c83d1ed765d5e45385fdb8effed84757251eeea5eac8648fd8a97d2a9d9a63c6a6bc708b65a390dbeb2a33cc41779f721af23634b91b89faa49853cf32a1beba0078821361c8c2c9c4d305cddb91aff67e8f120d4258733d95eeffb778208ea08f4c9b0893ed1166d6a4daea561a28472127635a8afcf28037dca162353c4d325c22f4dcc30b28ae90e84d884d1817d7224c0ee05bc638d54b05a3024e6244a6b5f94e7783f1104e32a845a43df4f7f32d2cfa716d1cc4bf726cdf80c6e0e164dd2de202cbb527762d6dcf6d2c0ff722eb201e83a49fc68e283bb76c6d5c43903d1b8a78fc17fe6eb766119e722762636410928e07cde3c60f17c6829ae435184e8f34c8ac414163fba05dcf0bffad5691590128fbcc3a00f7a183b5e031e093b6b37571a1decb68ae334c2d65daa850ba296110f7f774d620ebe9248ee90b3b2332459dc80bd8f2dca2862b5344fd863a931c0bc8d6d4c2d32d193b918c7f247b37642c820a505bbdae63f4cd1315e6edd507a746b91d14430e4a0a3c167abb7ebd71f3a015602b27c3be51efb8cf93be0f87a83be40eb861d5a37185c45d97e4a09d703d02e30341d975f101382e0727f9c0ef874b41e2d58a5238a36b0d37f63bfff63abcbf4ecee8e7fe3019eb8401ca5cddf8c8e09d898209a39d8e61a309939630169b32dc14e4a6f6a5e20dc72bce71bbb0a9b520106f88ad586399f39400ee6e608d215562c487e708a1b0a41da933941d31dbe70d6393ed9040964ff8d943ec0df6a524d771f7c8d471a6a72d4b29fcbe1ff1070b285f214e477f2c58072516a3a0bf60a2fb4eaf79eb06e722dc1d43ecb8271e91d76fff745b96404c3bea176d0b43870fe350b22e2b17972f8dc5a76305d66508809336d415312dea502791f367bd7ddcd0ea8910d3c7f6cf2b4c53a850aa142f9fbf22a79be43fb0ab014a8d6ba7005e959a81e1f02bf726dfc7fb85d43448405a2432acdc42e416a65a35c8a16c56fb107ec2604873a3f3a28295aef873fbe24c80e79c38211814245f25b0a4b47f91b35c5dc40aaea7289a53ab3d35ffa3f55dfd70a8203a11857bef424094952d26fd364346388da3071457eae0cdf977f79b5bbf9cc3d0db63f6c509d90a81b94f1a67ff1d9d98572279252b801ba9829e80e3aa8ed2bbdb3a9f295dd97998c4c3da96b9a537c7172f84a1d1852a2058b8f01bd5a15fc6d33b8c6ede0e33180cd16dd1711011d8f4d141b656dc279dc9dc88a991bd307895dc856328953820c4d63a0c93ca8ebe1723ef723456172cac55e147391af19b2a601aad86db34782d46054bac591ad97621e83b8472dd975e40081027e7f83bd98e8d0c017e03a3b9f818e7434ef55135ae71477a1ac78a91f851071baacb175b82e2239c25a79da625e4a76f04225ae723991f78d679fe45318de8d3227f36e553e928fa6ae6a897df84e310b693fbc0039687abc8e1f46d35dd5937a317c434abec126352089b916cd64ed8d99728c7252f44c8bb062e422c8b00d15c1023079e0bbb6e87561e0f4af83bfbf6013383014bf608bbfe3f740b8390dcb62deba134d73173e3578848dabc5ffcdc6002172d95d3ee452b11af3fe0e78b52d82150e84043764529ba2fa03a0e93d08235b72f03857c3a9eb22267ffcc6cca49f49d46243e6a155561f408ba6f214be2f5572beb17d68b20e0f8dc2da19a5a8526087970a147999e99dbc34681f0ada8cd4728e2699e964088b16b837a78b29131ddf9017a42bc24077babf9984c03af06272198812b2ba6e4efcdaa557c3058edd3ee041bbb7f2141ae05f73105b0546b372c6213a9fa593cf9bea2706d092824dcdeac11f9d23c3b4e5422e5679ff5c2072ffc7fddcf2fcaeefd2f0738029043718c098ebd1aaf9727b21c5e38784f7d25c6d33fd7d966c690620cf676e57bd2ee37ffdfb9bf391a616d755a6bdea920772997d1c879bc611898e5207b70ef7d22b151ce5a379f13fe49788e5480367fa3af5dd391e50cc6983eca45c11b030a6e4f03d1417f0d551adddea63d61bf912725a7d35719bf7b0edaaf92e80e65e035ae50f1d7a7c28541ad0a1b7f4a9b64b724ca323e91d4eb673c617c3391861aeb5f6303ee86bd2b42479dde16a1c47df729eb4b22b087cfaa1bb310b8c681d69845efc50e066e5e98ee2645d26d72b2972db1981d17b6e8febf58fc471d46462063864eca9666cf126cfa3ac3c091c3e5eeb8199458f303852aafffec95b1fbd3d5bcc1b3632fd05f3fd8dbcc44a566c14285af3dfde8560404d4178d0adc5dc1576c6411a23f585e3c39f563a7636000fc4052878db562df145c9d2f41168e21ed5591fbd2ddadd4337376fc46dfd8327a7b64c0cd0795883bb739a59d2afea4ff1d189242164d25cfbdaca878a67b572090a760ab0cff7adfb1d293027b1539d891681624b8b2d8eb6a003d8dba6bd25b48ce53f114602357a366fe19102bbcb28ffba7a85de6087808701bf2a310e2e2a460d618896cda777fb067e8c733e8d9ff1f888a0534df3cb161475188062722fcb7e1fd27f041eead3299e8b0b0fdb3fceace3811f24c9ab6a7f3c9d89d90daec694492cb3f5aafbd70a5bd8d1622b338f20349fcbb7a40c284feee4feb272cbaafd7c2e8ccaee0e5e6dec1c2b55c0f49c72db370e7aa289a0184435458a72e4f1032e0f8ac247075cb44e0c17d640ed2b6a612c16c39ee5fb159f1bf5fc72263b00fb7c8958524e4eacad8806cf7a09d9ae868b61ba95869557b7f48aa80f7ec7d72d184ba6a8c2f378e31ebe2599ea707769c2ec9d84629a6da9c1046c012454436679a888eb24cad806b720f012e1735710ff48c5c131e21b2decc6be27ac0a17e010586407efe120b7ebd66cbe486a0ffa506fb15150c474bcbcd4c172942bb643f60434b80a3f6e4ff900ac44a0b11f5647e8d95628c59068cf8fff524183f15eb99810e6dd3e6f13dba213cb2703b7f0131bef7cf75164c59eceb1277532227169114559a031b57adba788adf2139d5c33102d36831c6510a77e5c72f5d6f02c8b600ec866ba1a57c509235c177b9fd91f7a147e3c451331b1c2c2724f262f93790db580303f9cc07bcd16857db221212b2fc5301df5d0aa338d7b72fd1c8f753efc8da5d5a2aff2042d9185de8099a51eb1ba2a780b2e04dfeafb32deb66e9c5f81b998039fd815e2462175976ffd59a8aa9200bf1d0878fa7f9e3e8ec1bb6d7f5786644db73104af296c5795201a307134004a90b44bfbafbd1228f92e9b366b98fdfda1183ba7cfe300daea8a858352fa5559069d0129e896de7282f1ed090bf1a8ab75f2f4082e7cc3c743602d18323f3563df1886bf7fabaa273c686e2c8ee77e7a3ccdc1bae6ef376f74125ddc001e0ad55659b664059a65729558a1853bc09d200ef41cc9086ab87c02008695c43c972d68be385d247d5f72e47785a25314e46b8a8d1595eba4267f90e16b97d9d292005442cade29d8c75d34d93e1138280d443617092432bd060628c0e67464f59d5c87544f51e760f00b100df3ca1ff2b88878416ee21d981d376351af9bb05633ce3c6f64d7acda2041ce564ac1df2a0cca16ee9c2664d3134050b692c7f8c5712fb04b70d9e6a71f20c81130de76369b79e0d98cef5197c54e329eb1c346e1bcca281460a3469e5c72884bdcefc8e16b4c8a0a97b6eea1e9776e62083e4b56523e6aa069f3f978a372df20e6f3eab1737ea647855b79076e784e3946c9493be8c85cd6fe2e64a250720256f295e8aee61805b43b547c0f14804e0aa11ad78254d42bc54d8e1a92e9722bb3b0822cf3165329e34d60d9ac2af2490cbe4367d619f44aebe64e2bc52831a52db28d52932131b6abc5c8714ce0c7d1137a494852fafe3f458f4c7499245d62135db829a653e6dae9823311d382ebabda1dff5cf5948bc960360db7a787248de3d2ca26a67dfa062b93d437c2f5fa71c688a51375b27237308180d987f372a19896e6dbe3912455114dd108435197c378237b36a5a0a6175bb0023408ad72f4a9510e735bed5ce1320e6b705ab5d9306ecd9a935e62dad769910b2a74a4720d2b9da7ace4f8fd188c7032c6f2b9f1b50c3a697ec6192fbe98716569748a6bf3e914722f58dddfd4a820d12fa9ef85edb18d074163f342f95b6fb806b58872b65d67214889284806411cd34fb11d1dc0991afc46b5f5307666f35432774072edf56421b14a0155403fda89b6d2fd903268dec22904b2f8dab6802bab0588725dc3ec248d97e6277d8d6989ec1204723500c4240f63ba45f258c95cb236b97268c5aac952447959209f40aff68b14c152e34ffffc6c25f99da57901191bf95a74bbb067fb356ffefcbf7d27bfedd983aac6790726f9a5bd6ccb495cb42f86722067a2744c556102d98838734742935ed55b8fd03a0485d02b293227b8fc4672a9a2710b699493f566d85f16a4ee8654cb626c386ff185ca00e51cd8e985f363aec3dca392e6bb4116742fb7b1a3fa7763a3eeaefcf6612b53d09edfc98455721d803498e3243843fbb87c62642519745f3688f1e1821cedf2b589ac2a5d2e6866e32de731582ecef5f2ca83345e4e68447fedf253c1759e70af456f5dacb672bf7af369061f65dbdf550d6f41e0c32e2c6a466bb62daa7dabf6581505c3ac7249680e1d4d78de4c527b510e8053c43c4b991c776d880fd1833df883e05cb372c7e61af2262a1403cc8ee8708218f22219e996c4cb237e2a3a31e13b9d92f872d230b901db4521982ec892a31075726664b7d89431014f29dc96dbffab16c67215ea9ffd1715456839436148aa1b5166a2ce7d5a5389d3027c071ac9b355147214ed06ae1d57b58843303de750e1f831d006b07b9ee96147bbe59d56c4d8187246761e999ca61e655807a6990999066a2165f5265abd9bde8a8a719fd02f3c7252c24539e7a934a927045f3cd70837e2e86ebcec7be959fef06a0f3279f5ef0e03cbe36707cc3679fdfc024c02ee210a4039a952714c9275ade176ab91da4d72d42871852a1034d67fc7ad68ee3c7095ca72cc0da217bed53306965cfb1fa9310a989a4720fd7934be7999020d41b213e2f125cb69dd28064ea4a1d0fc9b624b57a21641f7d643b2390e73486fcda1c6adc0f387d74b3c5c80323d7f116f2f72aa76efec1e12167249840e5a988521fa733f45b9f1f029736f13507c34d1927221cc96302779a3c3c726b7691625be2f5fc58c1834c72695b9f7e89883e9d67221dbd359108d0f2717a0bc6f85c1702025f2c4450716bbb7cd64fc123b02e641443d4885e84a635faae0c304165c32268ca91d10a49f46eedc807c45dffedb729915056cfd0c7257b531d8bc83e7b320815b7ba5633d27181f1ea4f6bd321b7264caa1110321632d48ddab5f716d8486e4da48257fc37b4b88568a6241d86d46d45c19e032647e76f30b62442357a4b05c9161f6a8591d6e4a74e4f7f17b95684960f7dabec9d7bb3eeb71f2ff96d05204c5b88d9b0d9d2ceee61a061184662516912282c650e8c35723aa4d89a0b44d4063bffddb50e87d1966fc05ae679c3409d8279cd9411364f8bc3313ccf40b8231cd290fba7c88342f945f77cf0151726441c58fd8105cb8ad9761da8a53af5ac27be88936cbee1e2fe3f8150455566aa6e6ab7b1c568f686ce0babbfc54e49fed8766c4e0fba7d79831921ab0b03b7224cf509baaa9d780cca1ab68e91312fcd2f6af778ed9040d6ee144463b899a63327c3fd4d577d771561f195b120f4eb4434da9d458879736f5fdca40538c0214115947a09cc2b00501841a576ac84e5eb71c3793ec0f7c9d95a6627d5a159372588ae6c46c58152220f6e0b4b6ea00980d34132e768e2b5ac306dbc437c355720839d2fdb49a828e1def70dd4246a8eb65f9227f404358fe0abe0effe7cda8635c919f3f4476b0c61be50eea8c2e8b7c30d4dbecc30687df93ee08642f0d607207725e0d59bc3bffdc8bd715047add1eedeaacfc79707ba83d8326783d933b72303642a3af52cdf7a574dac13f07949a6456cbfbfbc4db9e4f39f0b9913d7f6cf5ed633a6fb60c1d14775101232a6f61057de905f725cf7df2665b53012c6172ef507a6e9cb21947d48a908568b56f10abd27eaf1ff846eb7ad05f853f8f9e59e82b865e62d350b02fbfff52dc8679e856efe8f291fe874852a5d9717c9efc01ab17ea8eb5d10e8987813bb48cdcd8aa1e1ca44ad6059409b0156c66b425ab0f141c050a8c24c19f5ba98f90a22a96aa266c74a26a55ef2f5136e58573671e72be8414ea329eb71d8544af044c1c89fe8d2878588251433de99f2821359f806e7b68454a4eaf6ca227069fa88307e5a7a130defb1b1817ef69638b3c6ab34c47c47a060872377bf94e7e94acbd57a124712177a6060c51b05bde14434c0a7e6688704e63cc6a8714e6127b7032a8e4ddec84a8cbafdbf610023e2324ea504c7295227f6b390a1e460a69af7ca2631dd3c2ad38214194c210eed928faec0cd31e43b252f254cb05847daaf66ce38aa524baa613042734d10e7bb13a34bda1841c97d05b0fc8a2497d5abcb28e83d1bc074cfb434f7a37bdfb9ad4032a1d483c2e8112292cf030f2158b2d615297cc98f8806ebdd46ce2ceee19947a4b147b2b2066b3b47f8e63fabd8c73193fc77e0b0e9f1d14e807e2d3c89d5ada0610ddc2161a63f7dcb5bd83a396aedc64d8be3475fc41472511f9f234ea0bdfbb1c154e7276cba627d9337e45bcf453d77167461a7430ba8dc1f680a9e84377bbd827831c57f5ecbeaa13917182f09fe83c64f4f3a84ab8686752c3cae190f8f0ef64230e92215b9ae8527045e329f89cd7276606ef3035eaaaf01412f52e85697a111462362448291cf8701caae52693af551139a9a831601340e5202e05150b09d5c37202952aa656697ce2b72f07625861ce7a300298622df29ac8dfdf83e71a8bcf241eda292df5e8adfcbf7ca54ccf2d4bb670cc09ccab5f984e614264fadbd10072fa27fdb092e98987e388110b53ac6f538f8ac4cee213917253bebd6af2726772c825cbf3635114e3a8e591f5a0e1d02ce8babb3d3337b0723d1c1bde79bc305f0e3a50c137bea8f3fd7a6c17eda287e1e04e43050085c2b0a5684a8282fd7a72fb90fc97535478b9073cef8bed8449d2fa18036d4b1f9c6e41c9bd49cef11e72d0f335eacd762347d285875091451192329ef586d398b5b3b045a5d8eb97607288b9da6bbd2b06b7a898a96948d048611ff058abbb7b820b76ee81e4ab856e72bbcc1adaa9f862c4bbac0e7a176a47ed967dc733e2db7437f6f5a5cbb0470772bf6c611209a40a92ed0e086624dfd2f1666d54965ad0b61aad6142b2468e3e4f20a074f641538d74bd5a4ecfaffd3fce7df438bfb797bb94e25a029f399b06727600ec2362c2f8e1d5d5c1f0c74aac8bd46a138cd4df21743c79cc64c7de2d72e8d4b580b1367c3d759c123daa9caf77e2d8f1cf9dcb250f6e4af1652b6e5e36396d3d5db01f5f476c1318d7a97e5b591e4cd709cb412e13f241d353a795aa1f73893d53d9f7ad538544021b57189e33002d0ec54d37f57c716ed83d4cd5317293257517799ad152b42da428a6dbbee5a34442330143fc887c02b0e997901c7229c892f960d7d4a1764abea7927bf72a808c3774d263bd67664e9b139902987227343ba6611fccc82128127c91689e953ee6be1629737da5f1ddabdd448dcf7264c18eb95d711d4d4f71b6daeb765ecce9c60ba28b29f44f74e600ec1d52092598d43d2724d04a221c7ca0159104383da2de746a7006023b537260490fb0c672c06f872192eb4ed18cb93025b9a11fc23d907f7cafb9a7eeb9c1215b767feb33dbf23278b9aaa0025072151bccc1b84f6a4254818b8455709811d89ac5fb4e522cdc0e47d11d575cf3875ee6e0a1d837915380ebf1b7b8ba48df6fdac58d9772c28fd63193e4db5e0b7136512877137f83051a1f8f3e9ae07389000053ecc2724ceab3387cfaeb9437e461631c7aec2583d90c63e0b5b33531e0e32f39865670b63e0a670c34a1dcdcc052886b494fcec50931cc433049d2d282c64e195921728def7e60b1bb38312fcc0fa85e1b9e50ede1444713188e840d72ef110db7b6727c8a783611385c2cfd65c4769818ad877a50c75f06eb3f7a7b444a04f946177214d6eb9026e3f326154514145c1e7ed4ed31ce3ed9b2fde9b7c8675196f90e72eb453a764d01977c602d4d0dd3970214b59b48f4bd18057d867065b39da192725a7aca010fcce4c27b4bf931a7ed000930a0c57a3abf65687005d86620e40c72716b2fc54d367514df9f88159dcd302d2b41228ec0f71ad659ab56c65d1f69723318a1c9df0e27e8b649fd5bc7701e94f54438528e56cedeef2471f1c1b5f10a540a2b84007150f01788ca78ecbd9bddbd82145197b62c010198981de2f100725aeb480e6e0a6a863f0e495896a3220f4fb5b0e4de9861cdd93786920c9e25328853777047f8b17db92e432941efc55818f542b5974d1ced27b69e0c40af55728c1f20a798fe2f072669e90d48b9601f5784340d3d88aabd0568ce44977eaa4f31381ee09ce3ebfe226e7009be19905da2c42faff8b3c438d792a487c06981729feac8809c1e04b82dde68869b53ec52c10019f2127c3533b8a98775ebc2eb72d8e82de6e5b3c29632318469a89bd59f871c164f09f936f91528097c902ab448df926b0f5be65a56152b38ef3ac6f13d5bbe99a8d508987ab8996519272c022fc30b05dc128b0d78b48615edd05dfc599f575806395c8ff49bf7f55fc9c6927235d7a447504a80058b350df70a8f5c11b290f66008330b69075869a7488d1f002c9dee70251037aa899b36cdf89bfa92549169a93b1be2da50b10961f2eeb972b138d9ff26a10fd2a2ffda4a3ab34c55633e5243bf5af0127d45fa8459aa1b7231df22105ae3d57814372069f6a080218e1f5bb953028631782ec54e48f774727adcb84178e9b4e114d4d725bb8bcda7152d04d1f93c86179143a4c22e9e2a7206f2f05f54a1eb64f1682251e9ccd4087fd08fc2918462469a30c631366049727592c494e5bcdb21245cddf7de9b0a0b2fa7451080e7de9724a4ded677078b7296309c545901efd3d878f3533f8713869960b140a2feba1ae5e9d0db5378537209cc17516fa2b881afc960ba79cf0d21c591be9ce3fcb43c429c99a35068db72b251252b0b377144822e7b43bc99f44c6cadd501eda9b7de1b93a72cc6b682729b666e8f817cf16bd023719d42ce387380ac87d2362c4f330e4393d4e8ace372d93f0f6f3a60b204844160b33aa064551203d17d52eb759676b66b4c9ac5a272ffd7ba87a49293094b706c77b137fbb39bde5f51513d8fe98267b96aff8d011123f72b7871743f690ebad75d668a80f8a8903b9ece9eaa7f3f51b4f53c6e505e3a4a29ea6f959a90e8d2b35525627d75066bb5cb804273e2f11c9b396e979e53cb3a1ecbdf48bac967d5bd13c8f519f0fa71bf52921256aae09feb50f66dd772bb147844f187acba7500bd53340cc37248e98b95fff5a04f1797a9f2a2537072bb220695f4ff8d58afb7467960e8cd9a6b2e8c164e624129ce574f42d283c072813d284fee66ed9967ec06d266d24861416112491be50207d144d7ec67ecfd728db4c18d85292c6cb1bd3c77a39b5c81e2fbc2e534f43ccad2396b9109365972a9807c78a0213ebc085081ec358652a4ffe0e6f92cd03429a9127fcc8c2fc4728317122ec30d5977a989b93bcade56f9bb8ff3900cbd1fb20a09f3d2209e353c0ffa335064d866ffc23e5d7e696bcdc34fd77607d42b3f93b714fc7882ee776f736fdc8b66be03331ba4a872bcdfcff0a0cc53822f497dd3509e38a3d340f37285206ef2d8de9ed26d2e7e818766bdd0176f62aac9bf2f802939425ed7775c72f0197c9752f8bc6620a85801c895e3304408f87a2ba43ef14513a3b98f1adb4ccdb4c1021f5e2c46c3d53b32e3e44fa27293f885d6ceae98b993be05968de972d0edcaededeb1b57bcdf0fd1f1a20679ffe668a7db111062540b306e84ec0f65e54c7c649a4c716b6b9e522107f37185177d64b8a5bb172e6b8a06a3779d187233b8369a2a6102b1438305922f9c4888a85b7ed79794d89e600c4e62d64deb0c8d6a467db1aa0dd3405841d6980dbc98ea33ae8ef2d15e4513e730c1faccb87210b3be463b1b07a6ea2b88f7de107532f8a4b3b6ecd11b03a935c5c410a58d7214b8c331ea7b54684a800a934772ec45be5fb726c094c85536f7c15cf3042e12a3719cb25767f76ca4ea7d5c7db9c427036e6848055459b56fa6ef021de78b518b68c634ca0769799a9dcf3f327d43569523dff23001b36229716a7678b08072d51473ef5a3c0646d473b28d4b81bb946f2ca8f8e1ea353793eb59690d169572a0c012ced19cd4bca26e241f4a1a4c097fa9a16e503851c90471b64d49d77472270793d1188a1be316baeed5d412f86f925a8248e3540c527a9619e06061eb3ecb63343eb7f6b28a41091e6178220ed2f981b6509dbce58aaf6ba6d6159b31724c85e2740a563e980c657e46bc76b982f73e9d8dd2c5f34bc851829c8cbb3372706b37c14526cf4300482b3aaf8bc613c3bbe805285e952295e4fc143a802872943ff2a089f053014dbfb0656360157b7444f6b77815708276c1a365e69eba03a917a35fe1e85c24d1b16c2aaa52288107286852863109d34abab3e64b047c4f14d0521c0d87d75d40d58b10867a156060c14b9299c672a39187116312ae02019cb580274d54df6288c34ce38350fa5bde109bb3c213441e15ad4ab6aa736445aa337eeadf4b1e9dde3087b37be6257582babe33ffe1b1fff6cca05cf1f9ae72b2a78299851476697f4f56fe4e36da8685783dc954c9f001a56f716925def12df41935248c72b356a0f05c28f89c61a4a66995d04b1001c7a48c0a3e3258a76d63e13a5ce522870af41c72d7ba4c639e5821d5e20779202e4051ab08b55c3172ef7b7d73a9053b494eced42de77ae6ca1e581f8f3d7a52902239082173c9236cc56646923d558e73f7ade82516d90be6cae69b27676d3c935bd850a13632aa72a3b621c5111cec897f7a6ffcb7dde04bd1329b3a127167378c2b80b0830c5a72f9592652cc826a6b709798a6c2ce3f288d07de6c8ec813f657cbaf933c1a3b7248679e2d6c9ad5b8b4bb9a85168553078bcb4b7eb0ba8a7c4a617ef6c9f74072b7dbab0cbb6668e62048fd6f83ad87fa803a8d8935b3ca323f9a7ad32995f360b0e269207e3124653c4ca6400c993d4420622eccbec416e158b3512255fea47253a8fc56f7dbedd731a3b29e06fd307a66bee4bde9a51d10d4436f7404aa58475685a94640a110c547439d0ce7afed7d3f434bff9a87eef59d1297117b9d33723670f86ff9d508897a89c6c861184f3ebf8ea163581ae7465be28ae9176a5e4ec4a426d644a38b995b3c96acdca4c7d9a6387edd4df4c251fac85102f62a1d72511dd1582ef0a095db2491761e2d1b152ebf8ccab442f4896165a4cec2cada72badd3824e9851a61c94b153a4e76d8351f1fe90680043c752bbf2153495c3172ccdde16310ebffd7b237bb59fc779daee97b3e20540133a4aa7384e3618b6e4912e663e6805e58364e1f3a420e2640f297ce388815f06f0eaa3e7edb5b6f3c72803b8f97d426a09a5762bb64b21f4540cfc2613f875080bcf113e193b2339072166b88250b866edf632bed75d7e3e4c0c32768fbd6646e2bba1d1f18923586727fa5f29405aef9e6a18416a17d4c3a6fd5bc9ee19a4a220f6c8803ee93901f22d5e6fa378d02c8aaa4b75b333051000bec6706bda5795e43505339326e7eb63fc833540c75c2606d4768bbd480b3f1971159e1114cabe632a183d66c5626f103667929b055b9320924e748cdd97b9c21d5a7ecb82cac8dbcaebf521681803d7259368a004f053a9ea380b412dc1acb24ccdd9d6c7dae2071eb59d00555af527220d2afdc1a04c58c311132dc6c2fa93a89c8687cb76c0d53e5659afeb2df3c39c3a79578c93d50b755967b879e1ec19f4ff86d1c438edd3b780e1e9b4f017c023e011c209511df601b7d379b74d819d5264680200a09ea8bbf6bd8b92c1c3e72706e3572de2ddd183f33a8299c1de72bf2769fa9a9836a913554072633b1a172b48dfb61d70419b07517cb6d8f3c7f42e2f808de61a6db1486cc88000b1a270d9807644876a53d9cbf558cf8ada377bae16b81138ae1344642e87801c333b802ea05ec2f9c6aad6b0c29fa1101841d8a68672e9e47632651d479bde033e549360b968436362503bd0468458d4548388ef515e1d62846a51f86ac532b649aa3572a08ddf9106a1ab4edfe3b43bf2f7d8d1f42e73671d2fe23293d48ce20cb6c663fa47c281ebb7bc199939b3eadf38cd1b88d4ab1ace13f314e7dee4be862e072238301bd3ffec1cdddec6caf1b165f2c6d5fe257dc2afa262376c1c39b8e5f2bb97c6e030df1c458dc7aded123c0143adcbe6e64bbab20669c7d8b9dbf93016ca16566eb4fef98101fd16576255c41244cf08063381af32a7ff4cb63cf4e2772e9d630a3ef93c578886548e80053946826186a252cacc11acafe2685f4ccbc72a133391ba64aa52724686d2d2e319268c8f5df11c25a6346a2e40ea891c81f3376c112f933b79f5a81f01c97729bbd05a0d6c315e73e8f1a36ead77cc53f3633c28a9af155cc4f5d4d12abcc1120f5589d99ffba30cec4174d5fed868299b872899325f84df0dcafde694e3b16b103f25e1a36afe2f793c3e5000f3c689c6f72d78eff552e5dca3cb6bc218d3f2fe2f3c7ef117ab10f69a655d951f4d5c5b65a0d225ba27326cf00252ffff19c0e13f60db447f43c57e408ba30f2ed8dce5b720f9e3184a053b841f23fe74b015f0906c641f7284965fff46dc6da23cf3ae131f39c406dfdeb690d207df3a82d68f673eef5aedb25563bcfb212bf16d9e30f06cf73c7b392068c9e335ec51e6fc0ea4c4a1cafaacb8a8fd22b0c2dd3d02e30722d47c80e00f2b4271a02d7ccd51d7082493a7dfae21b67cc1971df903969e672cc427f5afd8dcf4b232e223b325074d6c76c2c4262f9833831ee90b34765c755182a3d5cab9aad4a5a9d5b28e92bd2e5154d5506a74d17a2ec31dd5b3538a22f6f66efc15737508d097bb836abc1c598ba3b5a26f3406dab42ba9380feb50f3a17d8ca28fa4ce317642e6176c466842c134036d15e062a7e14d6f4293f1b2472dad48c7c09d5ca3220a305af1931d216fdf69495c28b34208e849753f41a4a72ff483015636778f1590422b783497539f619e37bb35b8af95a6d1151b1557d720d01ee690347d902b15c24337cd07362fc9175fc0e8af7d8d359507f239656063537b000b404832daacf9f52223411b7c5cd85e040e1983c1c20506b48ae82724c6cf329db983c215c055a0d79685d7825e1cee7a14002b57be819be2083167221599731ce1484378a080054b9744a8ecf9e16a56c803b76d0f1d9dc6e039a60c07dbe31a4761e33e8a41b4ee0677536cc5fc8c6ffabbcf58e7076ad82f2c34123b428bdb2f416e278d95474dac5049bc358614f05365d605162f371a6cb9972effe1104b2e87352af8a41805e0a227c556cdc2838d3187574d78bcf6e03fc729bfc0a800de7b915dae7a9f3d359536e631729f2e9454a35778a141d86661443f5b3bf4f402b6bd082fc83f897938a269795c80d4bfe342b46bedafe361bea725e99c8f2fa1d00c8a4e04a38edad9eab6267de459fd8635ce205bc92b2e488037d23559c007cc75be45e8cdab2c8a7d261a3ed32dbb47bd052466452d60d1c72b86379a3fe62051388567b339cff455a276e7d6ee5075af64bf527469a616049786070eef366f739e4787ac52429dea53a215362b0ffa72c94093df7f751a4000d3df81ea4114ae64f93011a12f52f8a876bd43ceddbc6304cd5d5d9a9360d48d17fbe8fc814b97ea1ddbbb4040bbafd486852760bd15c285206276c6f0764729ce8869d2403c188b4d42174a4e1061bbd10bdaa07082ee64fff0c5fdceddf72017c41bdfcd4f6249fec93b65ca7c16df5ae74b785702b1fced08b6275c2d3720f1869bd31760ce1070bcadba0d63e784d8392b50d58fe1623fb1f1168a51109fdda4f64fe875f1ae75e3cc847f38c5650d751be17c4d7ddf81dfa64909c9e08ace438acae3077aa42d17bb71f158579efd0cf95f9f7db79e3c73dcd85e27023c9f11a44e5d9d17f23b7db24e51cea9de52a571dc097d1d611bce41a94e66672054b00b76bdd9f794749de5d6234bd995800222aebf8272b60847bd4190bc852c12a3eec79cce9c1e5dcc61ac2b3b6102aaa261bd5c84152bbb132ea2e64fc564622f7792183b4fe11458488151def5b087d824f368a18802ee6223a2bda76596759423e20797e0c5d2442cdce175725cfd3363836f8e2271d6b3d0c4622c4726c42dc39f1565577bf99b8ed9f8a269d6c23e1b174bb5768795049d11e901d72f46a90f1faa4fdd1ac9229a6fc62a846cb407a173c643037f75776f8cc54e24e079728309cbcec6a2c2c94bc2db6f1b58a83e8e2eaf986a3b21c6ca14348df31d1f47911090f9a5cad687f1afd0300ad927b89799d0e2b5f621ecd74bf5d9645771da8eb42a6462914b2e2792ecc0358f7bd1dc4c9c12fb1ec87d5b834e30472e736470b3c2753f9f73bd2b4bbd2406faf19aecb0474869ec0966a4affc13572e99dc019a17f89cb5853f92fae0ac041829db1bff1901ae1949532d7247c3a5a29c6ac8307805f55f66febf28210f2f6196063f8e7d32fcbe4a23aab66043f5137d91844c7548a69c523db29c76f40a6e5ea71a7a26a7185cbd60670001c460aead27e4a11f0de74b6652ec0ccb079c459c53ad71d6f7a4fe786f7d99911b572dd7bc7429462ca01cfa5b331fa4af7e6ad787463d5fdf5406555d0f4321f7020d9847e1d9a4faa12eb32c08297668056cd20af424c6dae0b07b0e4bc24e1334cbffd3f11d948ef27ca33cadb3280c8364392394652a378371c3d129559f7b041af70b7cc30aa21aec0d6ce8bcc955f8887a952f6980622d4595f0c5a55e159723b4d6559bf6f98141741a8d707185ea416fb6bcc04a05d0a1847cf78d056183b428443df6a1b539bb9b1eaf0ea2a6dad5a4361e4fd024301703ad399f8f5227248f888828d0f9175298cfa2b265c69cb7b809d402ab11f3ed6212c24fccd2572c8e414a8993da435c641cc8027d2f9786353f15982dfd6cbc98fd18076885972f67c7e3ec28fdd232c0b34ae10ce126453a29f4d6f97696aa1c6945fd443bc72d8486291733e003d358841ae741efaab045f2e7b1c22789b40a3cf0c989b8c72feb645b5861ab9cd33c6fcf70ff05509b0d44fcb68bcddc7ac0895a4cd5e127286e586fa2599694c13f02c50dc3259a62b3a52592b942fc07a3ac31818292672294364f398958c6b313c769176c44fea9c42e982035442fe50ca479038a1bb53b2dab11df120b59ab23f5a20e3f90cb01553a92abe947da1190ef2b1046204029799f162c9e9b28957644897605d8b73b7eff73bbb875289c7d9d4b8d1b1856e30e0e1b1d4b070025f7ce9cabc613c6b49fd44f16f6120e71df433d0064d3572b24a2d020a4e92d5eb77461cb829a3abc3e58f53c36da273597b9670bf413172eb80bcdc1111b7d56751f25cf5164ffb65bc8a8aa4211a98c82199c486734f2632defae9840f38ffd9ddda0605b42c14d3807ed9dd4b764cdfea87e7024939727f34a6ae0d784b5c9b2fb92b76dc95c60c43894d80e876791b1f9aa70bb0c072557e41d7b878edbcd8d4ffb87347e6d3e30a4c2f8f3bfdb4a6563ab62f238a726fbdf2973cf8a8377500db30e37639417071e74476ed82894b87e30df398936804db3801975d70c6225b13774cbc1e265d39a23bdd39866cd1a4c99a4251c246f68fd10a005ec0f6a54d236ae592ff2d630ac0a481c639b853b488764d10474bd753f33ebf055e856b46c7c7201ed107409417bd4c2cd9c7493ce62444ea8f724cf5614d762566568ece39e03385d7046390b38e19e27b23cb5d8888b5bac2721afa2738bf86ee712bfce6e481c49acb29c50eb3da81f7ad389a1a07e68fc8727bad8552e022b4a645cd4725df5f27d6331f256b93208933afec74911ca1a372a8ddc668e756cdb026917a6b6672096f3a5ac5fc4bb9470183d8c3ff40f41155c8bdf1d1951a66052ee7853ace7accba79183922c3c3dd809eed4e44856aeb72eefb9bede73f747e5ab4ea0703cbb46977bfb2e7c896f9b1614a7bf569abde1382d3094640e49d17315283b177a8b1554af5199d74cdcd52155fc05acc535a7242350861273127357c52e4bb381782cd6e829451154c33ce5911e2bc6be00d72fc4875943def905d2142e276776d49b5d8566508af78494d1a47662f93949e42606d1d31041be81a8f52da476d2381033e1f856a23cbc22b6975d0a8906ad672dd273167eb101334a1cc47ab93c8b7db17479f509ae4cce4ea450c63a1ee3b7284629e8775afd2b2dbc68bd6167f33e2775091c0658ba8322067fad8fbac5272bfea75ad8218aece5025354fe9f72c8234ae116397ce080c281d387b288ac372db103cdff16da23fa15a2f1d737d2c9e429f2661ed54a4fed211f40d754cd27249e7950fbd3c34aa40d24c0b9bf5435524720c8c4235767243d5381b8c767872295e1f485f69174ddf1f81b8283081607d64c75ba3c5aaec52206a764de24e72fa1203ce8b9b271623c342acec6de5c66c965e8f9f6f1611ab608cdcca4ea451122f445c99fcce41eeda8f825ce895799fe7075ce78670ce11ad69ba98ff20729b4613884cad6d68e4c081241f5d7ce3cf3f29ae43d1095f8e9d2acfbead1753c5fe4b74900a8c77ba94d823be338d1824c0b269453b99a651952cbb1dd38b72c093de802e2ff351f5dcfbb6c218761e634cbf3398337399af57d6bbecda661b19a5f203c559a3a509771b96d55853c4eb08d492ea42bc3ed6dfb6c097ec530bf664898b5b32cf8e2138dd6dbadfed82aa65a0abd03e9b23c76b4ebba339bd72970e0d0ceb71f2c529ed91d5067d3b9fc0e78ebd91d1ac60e00c63a412a8e5729b8846c936718e3906f345d5c3f1aea89fc4f4bab5297e884be20ea3aac83f7269a5bf744c6b805c2aa5a5287af900cca645596377e2a9aff33c621b34846771a064041d0e455e8e4f7e14c5a671f9d2937a18b1eeeb656c53ef2f164c0f2a7212e7cf7e51b2d6816f5ebac08d2e8d681fcbbc372a20e169d54d51796aa79c129d38944cf3489ff352179d39b713e2c221baf14fe0c5baf785ec10bc5503f152428ed3e6c3e7ffbbc8cb883b3101e6f06640891406ecff39a8e0047c14243a729a4e9cf317d202018c8df01ec1fd7df5869022516ec0d54217efd915a9f8d072a5f1e8a093d3010b8eb68dd6b73530feb132c74e48314fe34597bce0a1148448ce2df6022f2378f7abbdae39ceafec662168c712cfbf12c020dd31a29e140e309da4e9af85045730fc063d9bbf502f65244f0f23cfce6b36da183974d9f6e15acc8664961e2e4756c4353992492c83db54b28911431c9730ab359bc32d72b672243641fe378e35d714286f36d1be1de9c9ab5c3a261e817f3faf419f14fa931f4ef08200b3c3a25bc0fe06750fbaa1d4a8bdff64a10a826f166e5e5a3ad12e72f808f4706fb6a178ff4b3a070bcc2ed0fdc7ed6f9b9ad4782c5a75aeccb0c57276b88d2ea5562a948dd6ade5c02510c36e072fbc9d87eccc9c693a2e465a1c72db6ae77293f116966647d8ee14aa0aec3f6e70727073540e30dab69baf6a9572e1bd6e67aff554a04e0ef02fa81bf701569569d275e987fc37b503a133975c2c7a57c1cc9c4136320ecce49473fd143eda54810f78a08f906a276523dd30c770fcabcf8d372c5b5b0cfaa3812d5db216a0538ad7c842cc6912cc04bf36b07f4945a83e5ef9970fc2e598ef25a8fcea251ea07c1c6a911ecf1ad6255e1e87a409109faa5965c9f2da232d84b3c33bec2558f8a1cd0b8a76b2fdab0b090d2e4216bfe4974423eb1eb4059c25cbfe6baf270006d21ec411319a7a0b17d89a329b62e1b6cb638c546581e9e3bdb535dc15b41f9567a648401877b7b7225c92151123ca19e2c0fe4f4ce4c1cb251814f130d42c2743a6fb2f15dc2e06be8dc0d7cf2a0ae8d30d89226603840fb4f0803bda88a6695737d6b54118178c08bf7b804172f55841a3c53267f04e64e3c63a9a558192b4dc3b2389d103374d41f01941682f88fbd8030203a77828d188bec622eee8f61e0c1c10f8620179ca55f84c940672e0a41e7b8b0fa1f6d35d405b5c923d57d747a9f494fd0644470a1b8fbde10272aa9fea3ae35b9e187e665316737a854aa53735d5b19f220076634b03d7a58b72012215568cc6ddecf5b94c00c7788fea75b18ee29b7ff4c538638a580327dc1b6c7b965fc4f3f053e5deb843d603938c73069ca6e664d00afe62f382c8516f72e4026f712fe490ad7dab82492008a676f4d065ee7604594f1da1bfafc2b60023fa1db27c661576e320dde24a2f6d13d4590c3e53784663d7507dc2920513585dbd92777340673444e2fef6d5a2bdbc2f8005557ec05e843851f849b253cfc23ff4a23eaec86d438f15d4fb84cf7596294b57e9ea6386d0cf89f2ee96e79b94726567f16199c6659311058bb760eddbaf84d42bf458d7f9a2af81b2b085f9fb7245f78ceb3e32d7b046948916c84de8bc1bab2b96e7d3fbeb11af05d07ec89c7233dac13fa20c62fbe9031a51f45cb1c85747d88d7ecd7284257466268863c8106553480adc1919a8950b92506fbcd3bb82202dc3a91a8c74cd70d78cd338f14a4d6084a354624d382618ea347d81d6edc4a12f65c7d049c26a1ae63b62b0cf2f7dfc2a016e64fa1e34a6673877c578697e28a574076f13f5a5772e74dddde263f39589e7bdec156f9151b09ef1c413c1d49b50d1d4cbc2b0a92c5adf392fae723d7d84e7dc4406061e2fd9be043f7aeb733bca49ab5420a98404b547fa66764a4481cfc6c003191c5828aae266ad34681cf491fecd7c78d309ec757b9206ec721179416566eaeb3f1a70d0462f5d45c10b263feb3a7692da6cd3d777744ce13ae0b0b21dff48c3e3301bcfa90666af1eb6b2ce558eaa69930a963dfa07db484015954e35382af49a2fc15a6a841c306cf64e837c282c6b699cccf8751e58fe2a12bf8d8cd532a16da686d4bac0c6ed1c2d4f7b7f09055c1d02196fc8a45b5c72211c470fd4a826dcf595eaf4fdb2abe548d64f24c9f86d0018fd2d41ddcbb0501ce8d17815fc99ed29adc6983ea5f29a99492d2cc3f421eb4b69999484d51f57a1c442fe2f1c6b2ad82098d87495abe388e9e58fb57d7f778ea8610c4946fd587fc6a66adb8764dfe9a497b5e34d6bc32da8f96800d75b3fca87c7624bd5d072c3cfd4dbf5ebd875dbc58168c5a0801fa0691b925af6b30475d64a29b8fbed72abed18106f8ed82d08f3c090c05c6b492e28c2a7641e6a2d3997df4ee7ed4135fb376934c33b5b30916c8fd785d3b9ccd7a4e5523843b72acaab5eca70abb5721c41eef68e58bf6b69b1d275a6442494d98b9cd195f1bbc2eba70dea05a7e50745861af3223f22091e31d027447d2ed2422a30dcb71a864cfa161707b091d772167452c8f76189925beb22f0f7db8728a456c4319c1f0e1f7fc51474f3f8d807339572d0f53477f5ab333701800a561c2a9e1ef46068fca0c5d40010bfc9d0729f192554f9e7ba1a07d05b498b7dbef6453c6ce7eefaca86cc0ce0a8a11eb5408aa4ea08804eb68fa760615fefdf718750beeb68a2535175f720cfd46f554922195e3c435529aa8b970478e635cb3e8751fb037f039dc253a5b7fd2b2389c15a588c2ba60504840d6681a925b8754c35fbb7b06824acf6ad8d02fce17a424a72d81b50a3b70e67e0cc1c0410b803f655dbb3c4de7ec96bf57bc3551ceca900222e5c42ef5b73358400bf1f536712f063a1894112980456ab3c1ce9bb754aba72cbd4522c46507281448ee8b7702cf2a78122e26ca4c013effaf6f2253748d72f70eacf9c5076f9e4e1c687b853e6a93aa361b2ceb49298050de427af8f425772aa6957d09dc6d6c46154b0fe351e3daa4104460d41991fc5fd87df2456d6e87296da62086be4f739715ccd45a2056053ef2881c4c5344f2c05c4b8c86df2e072fb385ea6b7f6a2de65cf8a33d7779b80fbda8b92e8374ea5775829a65d0c0a725571b6272ca5f215c83e47eec66129a3b7ad67ef15e0a30a8b97bab3caa5c801732ec32fbf1b72aeb4a4d1ec8edc43ca014fe8ee5e0377d366f7e10249229a5d83053a4d60834e15ba87bb7ee26d649e8679b00a138704c28442023e1148bf72d8c52de42f320b341c377a139f7b1c26bb92236ada2eeeb612e5df0d5618434027835f364ad3931f699a4851e6e1936b4e1e5e5f27e0c00d06d92ed440c9c6108ee7910345f97e1b5cc63648b3416664bb7e0a6920d30c55ed555ce239beae41f76fc21f609d78583b131788edc6a4ea45b1b8049dd72614b7c6c17b4d357972b52f2ca13e262af1ad6f8bea337e7d4a23d30a04d3e6fc4176bd9d3adff2aa312938298baaba41706fb6ea1fd2afd76d92d198580aa8acce4b409b9ee5fbf07214abe34195d335c16ae3e1c6d428f451fe42e2becf111e05115c25c4e4b3d9728de6b5c4fb80cfdaff23f6a07c50040b443edb5e0d8a6dd95bae02a6e15f635e549e8a8812f47aa3173f13e26fa06572a22b3b50fdb27c08c419a237d58baf7277d089be3c3c74609eeb5e8d754ade7d4b23f06b039329119bed7afd79231447cb692f53642854acfbf5be8e8157737129253b5d20f93b45da9b6dafbcc80f2961743ca1aa564749a215294ff53f55a6769da6355571b75ca9eb1f57da3e085027fdadba71a57a312fd983772e07b8cc745a49073c7ad9b0ac0014af71c49061fa86892c12444b119b1a2d03507aed642babf37e5ac9eb28dfbf22d650e8857205722e53092d556acbcb7eec3c172e9e4a985d0e45ece6c38bca021805f45e155856c690ad7b620be78f959647c6b8c640794cb9a22c25a8abe545a13866f63113b4cfaacef50e249973538d9f342ce98b66c1c0d6ec26b4fa7fa684185096510e9db1190b663c96fc5bf4d1d4c0448729adfea68179c4fd6e65df5804344a72969c536b46e8152a6798ea2c6ef56f94f1804d85d9ff4f7f1860a021ae11ee05134200e3f3410e7cf804260f15109649b376368e7250164fa697e601f897ad72fd9d77edce2ad36c5d061837eb958fe3bba5ba677dcf53eb5c2b2f693173bf72abcfb428839d43d4e4c0815d27edc8d77f66170f27800c7e8f985ab7f3468572d0d01cf077f92a4294c099b603b63cc3abbea18cc5f7456f4fce71488569b92585d22152ad221007cf2356229e393a83150acf90d26e35f3750a2f51191ae30f44254fdcda4e2ce1829aacac076a4fb2633951ee11ab32b3f9a809871a5582728bcd15054e9b243037907480f0ecc4dc417ed61dc240becfa5c188e4f119e4469c9a81888b368e80a04c5314399a8988160f1f400c64eccc0a343ed737938701622bec649e568961ca192939b87d10117aa97eaccc94ef3a7979380dcaa120569ca06975da51536b181dc35cb68c30c090f7ef2078c2fe0212ea720a21b00a724a12962ec0b9b4454e78d8a7ec328eaac8915682a95c862ac4d70e44edc0fa72e46335d4a10b824ee8c2a0b5c037ecd9a62000298bee8debe59b0e2ae3282372e1c764eb884eeaa86f3212f68207bb1013bc774aa88209930e533808c95ab07264eb900f733c576f76029dcc518bb78e0ed1d239527c226453627df97698f9727cd08aa83345cce9b0b8540a1e362bb4c8b31aeb25887ed8fb7ff22af92e497235b5587102ca69404a3623ac7ce85a802fbac8fa3da92bebc9f3f304fccff372ffd4074410bef7091f51ec0a8faee2f587a308034b69079dfc12b883c63f7e7288250802e3dd9feaefc55ff4b37eafd0bfd8591bcebbf0100eca941d9a74f8007fb2fd472309eb488c4d7c4ebeb5edc5cf2f24f7a4513f87c9e2120f54bb113805ac8e23c695a93d0892fca98fb65759a01df1db6fb7f53e574cafa8b1b12e72a35a0e67f75bda44044504e41c0f6f6cb77a03fd12761a7d54441c309f93927212ca45e54b7769a7946aa34cdf819a1bfd7530abdc662340195a861813b1f70fb0fc1597b53a9da3a8addcf231fab399240bc37707e4152e40305b4d6058ee728ad546099e70dd68ff0a2016a5726b7304011c7708e1ce40b1ce8cd152bf3c72f940e6b85b2971ecdfcbba485759dff6ab51ba5341fd684ec6bb8deffab742097560c7fab6c57d42f66027fc031062ca388d653e4335ec4bdcde322cf4f748620631ad7deb0426b868a099a8a57c3e24925506fdcb6065a54cc31f856c4ae872a0ee420acd2e7a85bfce496724b1dca19f5d2c7623bbc120e425745d3e75aa72666bac82768588da5d8bee788e7cfe58d6d05d5967f4c53e5b5671c32112ff72f169c72f051c8a41d4866154a15773b9b2be853e57941e37c6c5d817f2e18d48f6714e58f87de19b5369cf5d29f21c956ff67aecaee552c9ce986e3ee851093eba2349db456c54eb65beb3ecc1d333970d6b5bcae84a89519add56e6755d7a3200dad3705e68e67286b7a7cebf06b281e41fafb74112f389776fa4a7920fa1729a744edd179c9f0d30ed4611050f77055ef223b3c459e6b61e4d984b757a7b6dcd81f649166a4c20726e09ab4ea12952e41225780f5aa1f1b522f75176a25506401ec8a8c376861e720035b859d12968a69a44f22c60bc440cacc59860f5ad72f6c9e6d3249c001dc81d124acfdcb150d170aab7352d3a632120cb3c4da9d972ba7f75350d7c3af693ef2944512553596400fab6fba62d5677e7752ac4ce49726ba4d9f4239806ddc2bfb1d325b6db2acbb90ba598d7a1d4e0b80691c5ef1671286fd4b4f24a6b0f95a3cdccb5dea1d6a3bbcbbbd77495cbb4c152cde7d8c372507783164813423d66d5a882f2e2194502179ea6af8f89b7df326549437e3c3ca6f708e2452997be1b9ba785e987c404bcfdd699e96e98b7d5aca5347fee9e727d75c712ac4aaaa33061c5caf9c2a5c31be705f397a298353909fa9bba82db7227eca0374eb00bb7d958624909333819f3c7f93f2546dfa2486733575415f772638ae00100e996c796f9ab6ab4b5b5680c174d6a55539b54121cf098d286dc2de4fc9087594689cd0070eb6e94c4ac0c4c0245ed39ea95911f2c378ef091d65d553e9e022af009bf6fc377fa49d6392f53f7e63830c7dbca5374e624836dec724f6d77cd43faf246834b91d76163d86192e8010cc21cfe558e69f5b1bd04cf72f8695249ac7c26ebb493c77df0b8a1d295a503a9c04237f126f22c1fd9215472388815d9ee350b4f0e4996e004e06a474ae348415d7dc5b6a97bae686d237f4134c9e62b5ef410d3e8f64422d2f51d9f0ef832b4d3c198bc5791424ca0248b7255ab7a59abef63847c0769b78909870334f68a762f3f8e6d417028dc8445595960c292f5eea0d9c652d61f38bb3364e972c3d946dfa100e8f59cdf98323a0d19301b679fd2096d5577a626b167668fb8632ab709574a8b98151d055d66651f10239649757773cd2b4423738ec6929326e451e4db92485fd86efca2d5a2fde91b793da324200244b7b544fa1659d3969b10cf80988e36584d514727de2442027231f0e6e5913f272385864b45fd47b1d2dd30c7d050bbbd91e3526cbd86f1ad72a9867bda1acc3b13482b3d67ea31a1b2917555133b1a7e73c40bd995f88e89721703dd410ad3acef2c7c2561c1deaae4418922fc4a64a18e02283b838280ae415b6066d55c44b99609bbc7389409e432c62ec06242a0aa1fb6e74066ffc8267267ff0fd6d15b5f6271824ba6daf54401d4fb6e486b7b7d4889973094c51ca84ac781b04aa953f4b469bc8e3b75d3faaecf82e7b082af0e662112500a85c746725592872b15f4b55c975498292de10278a50ee90e8184444d27517073daa9a472409094ab7f448142bd7cc9c953d10fffa92cb5fa5186b307029d5eae6e75cc5d63a52d20d779537f49e78678359fa5b9d850433058020130ece64e54be006c4a8ffe5723d326831c94150d93097cc3234e53877aae5899bd65d648ca113b7746cba1da844042adcd539732f8affe382fbe82ce9702cfb72cca55416a136b06680dbd1af6b33596e26fee0216ddd34c47390a7a8040cef900febff7d9298b2b723333e9649262d53a4a4719fd58cb68e62643717ca2f1a1e6481807e0f52e8417c9a8e7709fad26b326b873a39a24ae6f0450d8e3c9fb69a0471171c87ffe3e726f0ca856c991f93ebc40958e41f064fe266b6bc03190412ae3e95bef80833172705e1b6a4e6f48246a47fa427ed4926824c55b7e6ad287a5775d44393d47537237395fa77a41901977d0a48027de9645c969fbc2144829da8bd868d92808b472da924b757c86ea96d69c17c20bd85ec6ce34652189d41604f9398dc555ce7b725def373e9ba3abbbc8f6a6337bd273309206973979dcd8e765e0171432f32305b3a1b000f2dc899b29a3a2195dd3a8ade9e3b962010d12409bea4111c58c33721fef34bc4007a4d8340be1c151d0a05fe78c1cf884baae8d29452e2dd651b621521a5ab4cfc4e5653d6ce87091fe5e02429275b458c7670490bf1abde0ebd05983bc1de1f01e46feb4892ba016c3ca8d72f833a7b1a95f85a042f39c296f6e72a4b02270a47067582d04e62a143c05b8c070e11285c870a250a2d85b6e4c7572716d9b3af44ef4d97e13d276e0eb33eef07f602e3352f0b601955d5a7b6cad722f62de8a492f08e45768d5e5106f78afd921def8a29b440ffd53bc14211b3052bde336ce78d83c875d1c117696d2297ee13982e935d93f319379f1281007a172363e3d331f9a2995d6f90581e936293213e80757799642a7e9a2e60df014f772029a91a7a9a8b3af48c5939a552af5f5ea71a729b556edb67cc23611105da70017937c5b6ce839dc6ccf8463f67c3ffc44e0d8143b8847220034b7c52a243a7294a47f9197dd1bea6d0b2fac260b1a83b4bf35130b7391ab56702ec4aa919172f203ea12f8d8bff5cfc9df7124c0d10435b462bb1ff0b5c953eea82a1d3f0c43f335947fef7fccdefe0829c013194816a1ada41217482d1d18561888ff7c3c15b27e123f7d2b44cf79e34ab0bc240f8db8dd9c1f153ad60a7f093d51a2a1f7103721d743a420304e5f9d036cfdf79e480157cbac44a02a01d4aca68870a5297218eb3c85231593b3cdd72b31585be369cfe27b23a1d0d856e220061911d38a5851a4e51839ab9d20cd953453f61019d340dc33f140399d441ddb81b3e77015729ae38e44361538d652e885b58e9e1f90a4d146968267f0540ff86fd9e36f0a72752f4df93a917366260b122f77d9e10e8058c281aec6b4012e6c2065bbe635720181579b40140be0062bbcf28333eb556c8635808dcb5a44ef1419d84296874cce7b3d213b753e45d17b76fdf8ed7bf9187264128ddabb77309b41d06b350672e9380355ab44e8d617c5992202f524031b4bcf22c96b6dbe3886f6b5cf15cf236c6de0aeca04add6b70b81b02569a98ac3ed2c6ffb6c58371daee1db1e06496b2b57460cee6c0b5526b7d48e27c3cf7fe02faafbd99ec66607d8eb9bd69ece4155b96d6f6cf740c0353d38fe5dc7ea4eb74f9cc2e59482e5c39a9aacd6a8893df708839288a643ef0ed17b52330880f8e7cf0744acd9254eacbd644e4c1c2372437ad46631f1e5f24d400dddb6f04204f6a273d103a98032b40b58ffc7a7e83ac960d2ed489212caad674ff8ceecc74c58db5f5b75c308e829f184c409ed1865e3f964c1b06bb889cdf6183c23ad5535a2329c4752b16721c1a9935eb2b9df29a7741fad819bfa12d2ee3b995461997bdff9286d430e3985c2c02c55ac663255a45dac83dcec781750229dcf94c1d8f9a90bafecbde03a4d0fa6c82315066b72c3133d807447986ef7f44c2fd5bcb7e4d6f2f3e821f2a2b4b310f4ad184e40507fd8533416eee6afd95a7542bc4bf90ea5e76769def06cf1303eb72bcc72a73c1231ab11fa168eb0e95d12846daaa5913ace49e670fd82a6a81540239b8c3d723eaf74c72a2ab2ee34df45e3fb4572c406db2d97261357b514509fd04e6932643e6d064ca72e7ffb6b1606cb5b40af661b8f32d7066e6809b43b7cdaad272b726b3714e52755b4ad40270080a57ee5849d23db87ac239e79fa751090cb21ae1a810ee73180a34cc376a00ba1c219157886a62fd22160a8b2e0a977dd45579463a4ed3d1496f98cfa1c5439a85fea1feae10a601b1131c808e108892e5f85d1729198cb1c9952965473bf733e754ba60505ae5833993e96012cf9b195293106725f8d9a4934d8b7d43345a677e6622593fe60f3a2226fd1a702c7b96505a5f320c114b5ae33889a3db886a4e17e690e413b3f32f19c14aeb33ae67852bc895823168815c4660352a1774a8f5378c8b6d6c3fe89f76dfccd784557f645dece1946168af9fed15a301a2b1c4c9b7f3090215f5fd98ee35fc2c63e2da69d4c63bb7226a646062ab94efc8452791ebeca190cfae9563502f8974f015ea542027ceb7256e273b2caefab6c0388f39f7ebecd8754681d7e07b168f76e3ae82d494782727a7bb155283d1dcfa861773ab32a17e99a255f0934df6cd0647f937ddd228572c209c9c60f04a56ba919fb56c38d71d85e8a28f4ea9265a96b839c4f23219572bede1bcd1b508afb70860ff2a12da8a51ef97de0c759d04ae0042938b255197278ff7185532ecc1460873e2398c6cbfc86a4d456c956aff49a203a8c20b54e564eb4e2ef533d65012f08c96f45091e71fc5e8331f193b72c50797ef4126648727d9c162df445fe81e537f0c75b936e3c9de28f2ea58083b4bcca544812902072246671f321e6b8536495905fec1879e9da027c9bf12de21c8ab67b02eec3ab72802257d1d7807509db48fe60a670e689c3634c7426db7947cfcc37be95b14229921f3425d5f8123372b9f5418029d04832af975625883c79018d77bcc5309672ebd3d00d851bac257ff4e2ef477b542030d4b2a5265cea0cc94c44cdceb06e335d8f2f7dc504a5e201bacc7589a4b991716d5e9c55cccf8a021e308cd2d64c72ff4e8afa4e2a8c753de2dbacf9a0c08b6dd5ff2d57ded55db53560fbaafeb57278d036cbe58a2ea17b363e32d392d3b808859c0fb50b9aa805057859c9d6aa72a08ff8a11105483b20edfa006ea85a9d57646abdf1ec8efb5cea1676cb927e27378579ff65878e544cb3414f02dab8a2def123a3b33adbb7d792ec90b9cf5a02b8709ca828c82c8a5212dc65257ac17ec7d8b3a4794d6b041b19e312f36298654299492c95a11e0e1ccfd978280c7f50177fc5d8af4b4e6a7441f485f1985272e6421060f9f520f259c776cc09501df4d84794885fe7bdd6d9c14cefb5c8941d6b714743bb08c0b23f197d479e9aa1bf190e6dbdab50d0d2ad2699365752625d439b1e038ec1e800cb2d6b6d6e42e35316de1e2c8cf39f6586d8e8ab8d0c8772d109046c23fb12e7a7076da9abc2bd290dd0893a5444e5425d726d7544fc7c23656e50e0332e5a844979fdf77d4ed7137aa5e40541451746163a203ba1482e5c112fccbaec2588c1d5139d8e4ba53c83a8b016182c833948b5c577ef4266206151084cbbb7c26a428b2b28a404bf9efe0dfb12f5087da232e05a34a18851a972637b75613065c82b051a54b173a56a46f3f5ee299f931294d963187ebaed8b72e8a22e33570870fa06a33b6d570829b80b1b1a90b77a99aa1a83af91d938f372017cc1b5b6c81fde08f4d6bd5423ffd298cd6f4b11377ea216c802849d6d4046a05c9f7b43fbf4b079dd663963d89e8d2c1fd86c41c64627735d24aac7c99c729a5934f504304f7de9a906dc95983bbd813243f6e98e8e85a3f880da4a57a272508528176c4bb29fbfc6fed99ef935122e7023252178bcc540b6020522be6e727fe0d197a0a28a6d5c10af3cb3df85b49d23397c225219a63627b5d4f1adfc04e8073cd60bfb09125bb7943d3a667172bb3345a6c2eb9225246a09872f0704519aba2b3424b93f53fbb498ef21cb76433412525ae1408dc50539df6e808c8e72a6f89a4d70d15f1b44fb1710b66d683cc4587741b0826a313c6a11474c8fe800237f65d45e81a9cf30b114880a9b15f1fc43bce904cb5b894bc99d9bcda1d572070e9e7a3252084076f6d98b518e39a4ce98446a8e0319b5f34d08c824fb0332b4745233b0c0f3c417e0963fc33079435d1464219b4c8a214b104297ac5e273dfb8a051b8ce5c78903efd5c9b26fac4bd03d726e512e2002ffdbeca83f922d724dac9329e1300f70a9bcfbd53dff429dd4117fa87d8530741c4df985986ba572afde32629649d306e1cbaf594f1c82e329f824517827f0d74b50de427f4fe07227e48b3ac64a78c237d10432ee82f4854b05b88ceeba05873e8fcebc1406a672e7670794c4f843146b668acdfc940c2cfb617eaee1f2408f50c01fab28869139232ee72df2a3874068c2bae3dd2c6949cdc4417623170d54cbca23a7c655364d12ae2cdd3f7b8f0bbc796d7246874e0ce7148ab5dff46fddc8dc7e02e6c96a72f30143f7f44e29e8986dc8a05b70ea51f205b5bf651de1386913d4997bff931121a1563a46e7f439390a54fd2f91b378db0d917512e9deac4af727d172d220722daa65efafce48c28cf484925f1e9e0be4c8a739b2124f060dff9f1d5e34a72655f365cf009dbbfacf0d565ca5804b750880f8088f4ec074cccb06037a7bbd728e0e402cb857517815b6c31ccf0973199791fb1afe96e74597ca50d5535930258b8ef0f30eca264bae7d908e3f258741a9f4e11cb0b6562f30d4a19a7d5d24729f4928753651970135f83ee49befbb950d89da18834ba65b3807723eded244726517ab9716af0c413e4083da5e189cf59fbdf2d02c9ebfaa09af02b297bed4726ceacda23cb31ecb1547eef8d8430c3b79df3141b44df9521af86a6dbfe162152d96a37548ae81ba3925d996cdaa956f7df9817295d382aeb8d64851adaf6172f1b0eba3d0efbd32c3acc60dc4d9e405913770556ee631a926d14851e9454564cb657ffb736d1233f0d3ad7187234a0ee84f31435dea7b27377e17c3e95466723ef2e52a47a15526346c3e3553a17ebc73cdf311dc5cf184380101a8bed6ba7249de7b85357a14a81a80e917f8430d3bea08e8b097591ebee0cf472838c5a954b1a56f03af4c8f902539a81a69eba4a2f71bbf5fd75f4db98416669a96c68e720eb2206336447860966d4f4deef3737a33162173cd919dd82b121a21f5b3c04fd8c1100f4781ec2fb34afaf78ebabc6b3de1861db694b8488ea9d8d9a7d42372b214ab5617e97d11c3079a655d25abd20e383966adb11326c1bcaac1f580a6724608bddcf72d6487e3ddb491cb99a7bd734e835be339c3a9db56c19f16275b6c3a8287da78f9e0703150b8a194d12915687a8cbd523ff90f9b04a0115d6b45722604d867cac5be2554cb8a8293e7e4b86f8b0868993a77d4fc5b1b88b24a85728940003a013d0ae96ea72ff04427b1d2ad0603160a12394b18dbe1035c041672a002d6160ef50be1c04d471e6c9e6ad56f690c4ce429d651c62eb096f6ca8e3d78ef64d0bb1f36dfba9c9082423c80e35998c7ca8d84aeb9d196be27e3cd577274b73d9dbbe52f1105bdd0a6f8243a8ec53da6585cc1958d4d0f50b4a7ec692872135a2e9acbca62ff943fed5e2734cd0f7b5c984068d8c7089df46a28ccf372f3a178f4bdbce58136757f50b3d0d86e7ece0ce7dea903baf14c8c4737ec50721494d86836503b686cf152b63a5160b723cf523084ae277087b36f406779227218e8948927d5a04609f82b548c056339cfe523558db220de404ccd2e6bce8a7267fd158bcc939b4024f5e3a1c6c0c6066b1266dde768a3add2163cd2e6bed33296442c7c74deba64941a6b3d5aad2f66e9d78e4a9ccecd80d4db35a99784a872b07a305e64cc7ad49d7b60fdebb9b5e0c7dd80f4e68e15964b998aee2335be24b84a36583be03d8acae2c546f7122a089641e2d3c1104b8592860dea4336b7722bdd8234268326a454c9aebf618bedff95a46f6d40be16c2a749822a536438728df00d103321238ebc0054202a003216edfe1454c059faba619fecc2aedcef727c50222f531ea437c5025e526c5d6a0356dbb286e4923a2f98f19919758bde23795d8322990d5ce217f49dfba69d1246338efedbe0b1cbf14d50dbb55a5dc44bf4fb3614690f0d174e43ed734cf1efca3e245cb417d61455447476438a63df4c67930520c293f71c3811fff0f9072c51685905d87d8237c9d4311aa3aa379a722ae4da132b95891b1e4f47e6b6158cb62a58bf016c97ca0f7700af0aa0f6c7729b074c3676bbc75fc71bd52da76b1ac08343ef10f0013dd05551ec0d232c5072bc0763178c5247fe1aa63d7641a1443dd0d4f28abbdb1445628f791e43772c72c10d153b6c1b872d07497b51de0d1c7455438fa77c2548b50f12b7a9b339855d7c55ca6930434e71510b6e3f179cbd064fe8443ce5bb2d177365995d89a12a72388b7d3dee27f33cfe4617582fdcdd4b2ef9d558a61d65ae45b543f7c62ae44d40a0fb652c49f3c5bfce2984ab3820d64187591d2f77b06e61d0716cefea1e72a008d1936a7a6cd57c0f99ad92858900306e99c4c8f11937d450c8861bbfad72dd2a2fdd6890f1088050d34381999b886fd6f01dfed4f331e410dd845cf8a672971346b6976fdfe36bb5e5e92663d91b5a5a57d269eaf0ad86b5cffeb001880d08ee83866fe651554f8de389d7bff4ddbd76fc561489216223ad536d82e7ca2e18261eb659013602bc4de430487ecf9d777bdaf23eed3d63405b5f4875f96a1d2e181111315b3e012693f7572d5b25a6e5ec8afdbca02205a1d1571afb7a2f72fa24bde9616365069b230a744009269cde1d5c8f60d01b64c7eb1d11c468f065cb70d072136ad534bc123f0699c3d7d96c21811280b14d0c628c20d2e8414f72dde839d6f16ac6f84bf1a702a6ca6f165d51afd6c63ab9349478ec5a469abf721f89b28d4e238581ec3a56ff142698f6d0dcc7896a7789751c0977c02a12db722725505975d6ed2cc4a652e39e8b3ca4ccc3d65e6055c2d32b418eedfaa17a72082680503ce888876e1bd73c27429c55a8a715b3d6ee39edfee99854c644da352ba94faebfafe3412236dbcb1e0afec478047f35ce50da6f5c6d794f36c86f7298554c1bc5f87db1b6c8ed0de14e5dda7c200bef34513ef77d794142c4242772a149f9f34bbab5e9980c32d4ec8d8e2f0f220a300ddc14ce50ad335c8cf526578a89087b74b921ecb84cc5c16c035dfb084fd3df44db0ed7542510f8b56ff9728408178067bc717a1577da961c6f658943241a69c8299bd98e087831b64ca77225d67b09ada4337be58913bc3512c537df72e1f5141c4943e2b4fcad2f61b0721f58ea6229b7d1df92be55668bfe39ce6b1b2636efdc340232932b68a9a98c72b803ff522360913dca623999d860171fb3ee45942b26a4b6a66364fa3571ea722789f16875279150c2dc30fe84de94e428c4d7dba6ba9c1ff7ab7b8a300f54172f283075b3f84a63200a7168d57d3a9458fe065385cfc0a0b3a9d6e7f7e83b728fc6da6cbf62f43e700e5865b7ef42009c9fe44df623414757d4852e5d1aa4727f7766b26175e3102905396d6b0c5e0f14b1535840eac3acf16f9c7be2c1c120e0933323ce6e9ccd0d6ffc23c070704f89e77a6ca753e97729cee153215aeb72f5672b7821539c38339b4a4fbef9f320cd96d934fdd1ac33838d5ac76da057373471db491729e4fd7b8976468f550b0b7791c058e4745f3d9da3d6f714e91f7250cfaf5294accf737cb3e46ed2a32d0aff4fb251ba316a30e2ce6ab8097f19721c95b5707bd2673d02b01841f3624a39432af3b8301f7756e75c62dfc2382a2c31915a3c09de4154cda2ab26e1419b7f9363a98fd6764a0836f9ad96dfa69272b2574ef41d19351c5725165b70d6d7dfcc2882993143f6a14f0e4606065a3234923a3e76443768be78c9957e1cf7ebc8d7681b5d7743b348432dab4a37c66472c8aeedf777c6b31ca6fde929c645ae0d3704691b3de494ca3e845913701a767254200f3fef88170a8511fb6d691a4d7073a2ee753d6afb3dcf3e1bcd5679ac01a8acd9a0c9bca87204bc72f398d6f7a0a3bf938dc33c413f33cd709988aeee369d7a2820c14f0c87777b8d52ca3485fa8e5c25c9ba09d7b43184fa8cae3114729d917bf003c84f3b1a5f146f1070d6f1460bfdf1e1eb084215d268a5ab5f027278ffec38e5e71a45850e553da2076d1a0f9f19483b490d3eda803daa60039472b1b78ade2eedf7088654ae732ba958dff0681b046a86652e00100bda1cd7b008b5ae6f4935b6797d870c50789297114e6b853760f63603113d3a71abb9f8477229715f49f7b5b471a8bf2ef27aeb52a752d411387907574631a831635cb29f7263d7c7f0a3c31df38335f8435e065bbc4ccb2821d513307638c022c8f26b406d3d742a081f5075300a1976fb1cfcc4ea8af1570ef39c0c7fb985f9ded2d7f2723446af8cfbc6a2c2a1252710532838f70b67a5b35443a7891b02b4159c69e272ad4f549278fa1ce5b93093ed973693e315fc64cbfbfff5ffe22f617733e5fe6f200e74ca0759bd1828cf2415f8e44ddeba302f9525ef427eedfd6a09f962a2577f28d672a4b4d421b2fc7de36a7f2dca77c5b2d9e29f71fbf022d82b6d0eac33ac30245d7ec218bc42200112e0b879499573d12d4e05af8a9959a32be0817f72ab3d5f986a19373b05ce19253eb5aeec473b9241b2a662a14b9c59f8af007a5b7313793a735734b0830ee116a327bb4be42169ad66be9f5d77924ced35be16721e5124ebefff5f94b2786d1ec7822e19e816450da53cb704b89fa73705c32155176137e65906d361a8ad049e3496cd9dcf95c89ab4ab80f1ba24711ac415bf724b733316316cc0009c8b8378db700e157007406871b40fed71641b8e4e3dc2729552706d9aa405ee4f27ef10c00f54ccfb4e3a06fc71f90244587efa6c72627281410c9bb4ae8869e57d139e052026df6f3f34a5528279fb59b9c31982fd737203ac742a61d463819dedbc56b6bc3d65c4571e86aa5d757c374a399f3a80305ccc112bb4d01f915770b9a56f9ce883cb3d48d085e1db6a74fb6fc230dd223e72615cff7c32c2c703adafd59cca271afa56438cb710d198ca58738a346a96f1722f32e363a7e41b2285424f717968116d6e881445209498b19db9b960c274d60b8d4e3aa64cec80023adf5524fbcbf35ab6486148daffedfeb66d055b0d44541556db89b7569a41acc6e0b805c15aa44ddea7e19eb0eebce59da9e86eb11ae472b4f592dd027ec451d4a72b4526a516813c59dd7aa8739681d4c791d725965072fd225616a9a0f3c0e1956880362dbf43d92b32e353417a3757ffafda2ee0a5729feb5ce3c5a3cb186b15585312c40cee7b6c1fa422e2bfb74088062705825472b1f0ab33e7f0c25efe0daf6498addce6f0f0ca671a31f2f996672ed1a63b7d72282f01e8e9899551942ab005d502d93f7db4127efe8d9c9ed5a9a8832796b47269881f4758c34222d2d8c8de0948a24c8ae8daf11d3f5f8a0e77efffa2cdde72e4e4e3c75c6034acddaaca447cb4f19c1da26b762cdc6489790a1360cc23ca588dbddf1458771ce520bd2792832b96bd8635679df8817e9df719766203ef637258eb0475b93a452c07b86ef77ac661b26bd4392de61a637f9782d5ecd39091720554bf0830421d981c2fc8b8ca43436139914cf24154c2e2f649aeaf8f0d0c721b4ddfc64dad60706ab102d501f5c35325c984754e0ea8253b3f99f52fbe7f7247f708efc16d23ebee9d06c55bad3d2679156f181c33974a92dcb4ab48cb5e72e51952e0a270c6e62987d6554851f4375f3bb912b00b76e60091dc9535a00a2bb2ccd1e0674a6326660f9302d9ba5628b50f5c6841f03086acb5d8fbc8a9b972c9bd049ef26851490add12d0fe9137d36bdc5cf366d09360113046c8c5b51267caba3abd1a3f05eed140815c06d07b3647467675ad6e599e4c6b8c855cb8373fd9c32a5a41888b2d1f42ca8c4fb7e1299c3dbc5ff12e23f00f90ffc5cf5ecb72ec363f509f17b0f23746fe8f1cf95e3049ca917d148c8e6e5d5f81c58cc6a472502cea01dc4a6a1f7436ce5c1549a28a9f1f20e3b182fdd4ec995646eda68b72ba1510f4991b62f53a16fb77cae0f1d32d88990131f4d6fed0ed51108b1e506d92730ca3b096c50fc09316605f456dce696904bf7f081686dffb601a249a681d45b3375595b3d7c6fc55c08e29f0f1274fb88529b19d1fb2b067db797b62717225bdfbdfd026f4c0603d58d67e25cf6dc3ae87416542c2f39460e9186a3318723282ce5a3007e75f88bfd4d621acd782f8e891f642e729ac07c69f2a90823672a3db8146e92e9f97ed40dc4029d45fe440d4c697a7078edaf1469788c6b1754f2494c5448dffb913d70170ca81f61ffc8a255f8fca3b85dc61c3a0db50ddbf7241b832c264aa0eb17cace0edd4c9da22516f6113152212a5af6d795db576a729d27d0c379654dfd8a75097c679f1ecbc261816464c2b172894f4978aae0646378977db467b0055779ac00c8368edfa42a019cf945f0b3d18e621d66920cf207220b9d5959f5c9d7303a6d07fed5fbb9402ec4c6128d6ca36019c88f5396af272fc482dc46276f8ecd05ab29556205146d1b8983e8bdd63b71d1bb6d1b12ead52dbc269d011da5c3b04fd8e8792b9eb8019be1d460c2d1ae27919917b311b8d722dc70c93a0bbeb83976387a1570da3c27f3465be54dd33526cdcc2f11ea76f727bb7ebf88dcd7e80868c0e0f2eeae2e78645b2258e780b103ba6de9e19864172e840ef400efa913752ae4e7bdd63dd4daa0fac3b6dc02756491b37ea4f8e181a81d4bb9838092a4308082f59a17b6925cf4871ccc992812d9f1139d9bb2e317218062d0cefbc36b5e92c60d5d774627953fc69fe5c3da57bd26cb0597c2f8516ff509ae3447fcbef1d0a0444cc4b82bdf954259cfd344728783fe7b45fe32772a6447d74cf4371b4a4e696000256599101b18298b52d3be62b8c163652a9c63c2989e62469dbbe64ff492088bdf7ad2ae18bc53003a91751f2fd35158da21d25674101e0e0d02689349d1e2cb724b5258bb4ce830db9f92969bbdf76db65ea1c1fc518825b3b11e8579a1d133034aa12e32979cc41ab8d8cbaf4c299edd535442ef142b282fe2617015207b44fd51ef7c8116e6cd99fd3fad53d55e7c3f2ff3df734db271170ec1eff15612db185a4ac2e8ec00acd0a28348608aa4af0b39f03c51ab2c6e501f7c291096ca230bdcf42b9feb3aed5a4bde52820a186f207166635018a36d7605f77532f6abad6ea0d2405c294b936273d7623a676a48983a26ac92ef8b589095dd82d0885d53e154e74e0abd00fd37c6dca8d5809a538803d46fdeedaa2b9b6905edf2b4dae7c3623692e0fadd090593657b8474b89a630a0720cc6c1099bf82786fba3693a3ce19f38d045e8af0bc60a2f3fc869ef7153b072999474e71db7b922b772cfbf6afb25c8c1183f37447db479807846ba844b706d54e913a788a4f2062e0b05579b7f56d932a542d4819d37427d95fb2ef078f4720c933988b13f90eeede0c7e8a729d13ddb5ad9bc5e1291617788ef10ba732e7206ad2706b6db2a72ca70daeaba5373eccfeea218cf510d42b18874dfc2f54f07fbf530d89088dc3b18f088609d384a111c3b44dddab5bf603f8a8f7309014d4644ab30886e8f9f5f0865c4cef9afa67af3605038fba11c9590897196c96e1372f01e349d78ea0bd35d7b6a57a0f7f954871869c37bc5926750aad87748b8aa61b8f96da7c83ec3b6768de75920eb858238c08aef41fa7e7910a2681dac51db16934d681aa43c1239426d352f0b6694fb7a370dedbf63b7ade105243d9535c85459c494eea794eb1c399e6b795c7a5e7cbe5783ea7325bb9a5e2e537739e55872fd3511071c79f08b7fdd3af793f2e8f6709132b98c92b00beb9788d291d9e67238e0ecacc603cca68b7c6272c6e93f8da0cc0a3bdf0e4fa4c58661ed22ea20720751b247ce875fb74cdea3e0db5ef363869faf67c5d1601bab85e8e8a4f7e872f3db425afc1f7f20ecb9a56858a9a1d34013b2e9a457037972a2aacba56f5b35a97baffe6e5c47bdfd3671ee0124503c10556a0a1076b06cce40a00b585312720ddf5a35d2fd04ef11716832971ae1d64e0747a5ea1bea9f6d0617e4f5dc9a391a4a7f57fd5817a782cb5ffd05aa99cce7e9a5ca08d34e371236e0743517d9721b6df50cfff6ef424c0ac734b66f3dfdf75931858f873c7b1b9beb7a056f58729a8116a87fef3ecbf4b7521d6ffc8aac78be3cdb54059f56f7d401d2d9decd7250fdb51b547f52023f30d2de904c9bd36cd2edb8c46b0edbed60ce9e5045e503bcd2d08eaa88ea950bb48543b1becfe980b298c162949e679cd66c07e7999b72e0d3cf943e4756c4f92c5bbe5d87b5e5c96e338f52c4a9105ddfcd90a3f12872c1d6b50fd632d0ddfaaf05c56c9ade85f8da9db171ffcc44a24c4320e9285c6fb81cfa92a0bfc0a12d21f30c588af8b9f2b22db5fec274f3b82a8ba1a2a6687289371809577d0a104fc3bf1fe132ae8bd078527014540a50ace6104675cb2e61e8d292effee08d2c97f144a4759adb9cae491a36960e82ce2604f312bde68672a2aacc599681d3833878f879fdfbfc4b70747701f738a387273ce9129fc2de1a9f2d8d91d44aea8853d4b58d1e34c54262c4fe84a73469b3c35603855d08d8427929d8d0c806b28f87a938bb9bb26442a7cac5f5ac5f2eda7c8880394658887214d998595ceaae720dd56312eed614ec206f408fe3ddea9ee1dc7376cc798655d657370b4fe8751901b096661fc31dd587317a6316252646817407e0a4cfe9259f0d4b4bfd5b0fd61532ae1f206082b9c1f789f6ed83a3b9ec3c724cd6579172234ad955a9590a589eb6c5754ef04b4952ce8aa70748271c71845ed6e453ff5d3eb3bbe52f8673bb721592e4c5f98c59981942815cdc8961df3d787430f1197238b38f023372e7dfaf15975fa8a4c4a15a7b0ee64653ba7a5dac3b40c3d3ad722ce9bbac990f142053b67c290d3eed55fa1386f3d31cdf6f51581ef942a18854ff8d5551879a4a5b8f21fbc5a322d21564ecdb6bf70b90035387084e659a462288d56b1617345756e07399f4fe31ac9e5604dcb3b3f70474536146ee959a5b65f806c402d43d5f52d4bc3e80a84e60a0d84c0debe4a409f5fe4453151a0c2b105f45e3ec6219b0ce860643a73337ebd8275e8d9fcf57b4607c6a483994ab323bcd0e9970d98919de28a5cde390311aca81298ddc5955217480df7e7c5430837263094467ca2c0cbcc7e9e7666239f0cf5564f705d2ea8eda509b776587a6f340f704fe439aceac7bbae948061411eab112306399574798eae8a19c157fa7275909fa0b8af6a00fa2944651e45ff6b56fbbad5e27e62e10e09e368650f65d99723a4d43ec746300bde94e0a5b01a20dd8cd78f61fa9eec27ac0c6b0015595ea31f8630fe26154a9fe615c59525385e18be3202fffc367bed594639c9bcd18c625d434e4ac04a8742bc94ea770e82dbc669d24e9263dcc1085fbeaa99afda90d722fc10275d0524198446c7f72506c4fe7f989ad351f975bc572c5582fe8f4f64713f83f656d745bbace2f25ed6529a5c848f39836df3531f1d62819f9d7698206e188012719dbe5131f503c1b8d7b9472658ebb680fb6d2fc2f1ea9d5331e3572397d7c00342cf20ed32d3c9c4e1b205dd31a5dab86d73a2a5967d3eaca71f972dd13249576072edf686614e44a27b7e5c900d3aab703799eef847a5eeac3ac721bba543b8a42c7f6db20fd1e5234748948c2c7cf203b464a5055772e946cbc4b83bdf5ad227e516b4fe8b2ea1017f11b43ded503523c407b521fc68e5626e772464853fc499d0f6765f8bc2bdd455b8fe373a53a8be89e428b0e0fdd0692fa721b19aed5cd7853c58c0df881c88c06afb4299388b1fb886a9c1b781576de5544bbe47bdb343ee7677f84977eb7e19786f483aa3aceb4f539517b6a17341ed47230a410ddfd797b63881ea3f5d8ef8b255f71dd3d667ee77d4a3ca8795063c572e29a928f3ec321a839c581fa66c58eaaec2102dab3df2265617e10881356ea722c04b1e0d663979b3d6d2094cfe7a284ee160c7da2057dfc5c43e0438f19c072a55ff1c758a6d6392ea58d45615f8c7adffcabdf305e8e63bccd5a35df7a192c73a24e3c14d9f93ec2ea21ccdd3e2f8f33303d36b79cdf69caa4ac9d2c71dc58972f9c7fa747d34337c95e491c571d86cdad94958a9a710612c3d5ac3ed577724887af29da95615910dd50f6dcd0fa24b838517b7e47e2ea1535b314d6c18f72eeed5ef85a48390c97d612024da8a82ab078cb939deb33c12d02df1143b5bc65ccc9ae9a6bb5b933aba8403886ccf6ce2c990261fb43047b0af7ce20cc6e8e478376e1b39ffff0ac6c2258e9b874f3054c0c0d71b2a2c8e926406354dc7c862305fc63b65368c5da1eeb18e18003e71e567f3a49fbb8cb85697ea9dd30c55452ab5804474041e2d44d3d2e6f77714ce863712230fe626400ae4328f1fa17a754edbcd2b4e38139833094bafdbbd580288de1b71c9b091ecf4fc40d487e85d872015f8f308c4e383d9ce57980c31363ca70e5cc90713c6cfb9693a6ab7ed501728c6d3dd666fd0eca8801c8fedaa7d93ccd2f6600e1e77c7e389b897f54cc07723fa7eecc9e21ca61b67d064972bb19d7fcd703a2247adb92c17567e297b3857205b4b3f8d467e2fb3a1e802cfb077a8555e1570aa6f1b4ba472f994d84e322241475f178f3914a1dac1704411e0ce1a454539915492826c3c0f42449c0db783c62a85e6c0fe766f10d2541f4886b65656d8a32e927783896577ba41e03464d5a45d3896de184d34ea39583a1b67be3038b38c42eaa3bf77d40f3b2127765167203956a06291638a04379a272c476f574a9ad0a29af518e165666381dc5030228180f86082a60c38aea4a506384db343533f2f015f134725cd6fb878b23f8f805f7e66b6a563b528da6f13cbc52032cd30cb2be4f77eab5ce5903f64349fa237295cd43fdb75cf7c6c087af1bf1009931363b7f6e44637753db61daf6fe2d8a4e895b33113a47e6c72d33a9091de58d57aeff3e2ef9a9eae81ea9d8b2c17a571f4b105797c0a352961415a9aa457761c8fa9097f3747e9259e398cc4a1e1bf272c3af8f9c67e4943b66ddd26c25b40a80f0c484bd1724947741ada96a86cc1f720fb84479e823fe0a1b4ef100330f4547b5a53a9d84449a9c61ec25ec2aa4ca7221972b123ee2999121378f1c92a5b3dbaf6aafd549f22e3e7f9ebaabcfb77f72d5221dd2a2798cb60bf7772e41b5310d5126a25030226c04f69e65894777097271d43e2dd18ac1c48db90f4e844f21ad17be66b97e8a395f38a100ba2faf353fb55ad60c6be344b0aba8c369abdb4d9a4cb7cedf830623a2799bcfda2435256f7f8f96c34bff28914947f9ee9a799b78241282f2af3ad1d273fe1e5c97d1e4722b567ed142f36713c3121079af0ff868c22fa37e177d005dd1b6ac56dcb9f372a2cbf2956d17f722ea9040854ab97123bc9291d1eeadcd7a32a72c3c7988cd729bc185210b26658a7e7169458dfd3f4f1d55f3158df8745693685f912a9c1c2ff4a89dc9b53c4f428fd16fbe8bcc42b88f6140c2862dfcbc252c50db98a5e872e6f9160b189e86f46dcd6c247c1d5153b5e91ac904877dec207577df281ba01c54f7cf45e4b224c8c0d2cbcde3e1fb7b23e89a53bc1ad4f7f225eb0251eee12cc01de151ab21bb03bf450ff01b8b3c22403a760d1f192a231a1198b610155668ab7317b4c44791013cb827dc5549e3735cd3e2bec7d2fe9a5efa4445a2dd6f2a5ac8c25f427e6426249ae7374125e74873861550954a838687a52ca447724e72beb4f7357f455fa2b521ac272308562489c7d2c0e3ba2662d468af0ad6a9137219ca330511b0540e3c3d01d9e2064934f5f253046a2cc7b1ce7f86c727fb5c5e8829cd06cc937c43c371672434e0f353e0bc688fe3a5c298ef6905660119797271da6cfe90bffd8d27703c39a85718c49be0311e789a202badc2291974e33b028d539ecd6c4347cb87b968d33365729fc29d96a2fa892ec3841382d817065c584873dd56bbef3bb2faa632c4b53127a60ef213ae4e5ae4b65ac3df163054685e63eec64d3062e87f9a5b801331896aa6b054a9f3f70c8ea014024469ad59c9723607044965d2e3f733f8daf779f134a0f874966e249696a869987d3be21c43722c8786c56eea1fdf36ac53ec5b276dc3c7f85e9af747acbb408d7375a302b343f24ef60cf71a830e8387d3246fa3a742883a1d9b9f6e48dffe618d3cc8216929b1c52a32e109333c07fda16d1169ca8de8f1673fe8dd1612cec71a4d0510f56326d2deebb18ead26712f975febd23a456905f09b917bf7841ad72ac0f36af30ff1fb1e0cbabe018a3346b46513900021230b7783b6e37e1edcc55e207820e843813b7f0bd51e513597995f03b45884886fe60fa8ec924e8144dd6a60c476ff0c0a09781783ab5e522283077cc58981d5315f3d3f538d521296a55d6e22a8cc72d437e1a9f5fd1bf054313bee524c2b46e884fd9db77fdc004a68092344b42531dce6d2cb8e36d760c8942ebea4f902cda1079bec48fa65b3afb019a5f047755d3a30a808a4af173eeeae8c4b4c05848ddc0373c605c8777ea86c4db4e2c6617259bfa0e1e436291f0388af1c5df51b585dcb9ada63b779905ec6854cc37b7c7285fcffef459caaeae81b562f9ce8948279d41fcd79541aa7ae7dbf51810c8d720e3b1dd11920b269b0caf356f9a020e07e8cc5f46beff0d5be5b3b582a537772a4a4098514ae23eff9e13291cd73047db9e3406ebe04d77ad3f3b2d158253741ee48308de14b6d4936b6f0b24b0e7c36b470cc2faccea7d48053a35334634872412e06720f76d86324bdc0f7ef1246477d61ce1449fa821f39a86e3a006f5a72ed4320b0f1ece5d0444feacbd06de55d23ee9636d5774ab2bacf295752b7943884b531599720e3f2ef99919a44b13bb38c277771db75582fafe6691af2126872e24cb98e0e3bb2632a9c126e7d84ef0ffb530cd09c6eeb4192eaea9a777eee476ee6f2bccdc99e19dd4b180f28a98684e455a0c81b1113ce560eb83b02bb3030794c326acae0ebe15587adcafa4d6ed27478530a7ebf03d05947c5309e9e266c1943c303780955050902a98331066ca1676deaf436d8ae0ab6cdcf8b4882a9725c8b34b37dbc062cfc580007eed59793f011af08709395a5a9bf41a8bac66819961a6790d1076ac0c7a76ff95bb3f914b341db0ca0b52f824c12cde1ee3f16727be47bb9b90fae7e5463f3aef9a329a4529637facb7b037c6e31275c57de2072b19d37d5d353356b2377254ba3e238be56b0806db2fa1e01c3dbbcd2f336007216a61e0754e4dca0d41a6f69988679c2c159cc8d10231f35d3e137b5dcbd8a72a1b0989c4293a00736890e9a0b748be8868b40c1e69964ace50a72c12adca0729842fc5db7cbe14dd495b5fe9b9171752f47abdf55fd02fbc3c56e5a1f87057202ace04e7c3c49b3a77acb6ea64cdfd1b146b0e33967b6106ed1a25d11720772462a86ba6e5124ead81f3f9f3ba4c10af4fad40b62799deaa484bb7141c5216b8bbdc966d1c5aca25cdcfdd2d26e7734bea1d249cfb56ae9c882366dd133af7211df738961de4cd69dbd1a8f459d6abcebf41d23a4226eea4715074fdb555772b15fb24a8d1446b0832a43327a26045d4e95805aa38d745b0ea519c46656510f1b2279c016cc8faf08e84bed8dd0f6c1623e53f9fd284391e84de8e14bd1bf3e0f490547fa461ce340a6f4103b1f6a920d5d45b0cf77c1dcd6eeccb5f1152a61072550c1beb692e2bc405787f711f1a49a84f4122aaf86ab85d9579b3ce55d720c3c7d99fcca531d9be1732d4bbe401146cd295bd5d3e25cf125db1429806c72ade140c2fd63a88a887d59463b50723cafff3d75e0058d5780e0d290275a9e70188be3223794dcf4556d039ff2247802a4b5bf950b55b7122d3459351239322a69e83b43a2ce244b47d96214c897fb0c22e30000fba795df50c1c601a2d4667234ed49ee61684a2448f47ee708ee25a621f70b10346bdee41403c3c817b55b086ec4ab1da91c80eb6197705c7eb1c28ec07f82a42eda9093331bc413fef69572002dcb458eb394ed874d561ea9311394dca7d1450d069057b32f21edf80bef6251a9123a43fbc76fcab7142ec36b5006a5531a1658a822f54f03142b65acb73e8ee1b06ab472628f1dc635621c3f15951b78bad01192b210e76d0282beb3356e840cee20a4dc5c5fe7cafb24db1cd39ce5b4ee1ce03266172811f1371203315a0c414ef8c1587bf165ef26be0eb64f7b74500fe9a386e0ca561cdacadba94d5a20f223d3db01d47b9e591d1eb72d541991904225e4404d35507f9858fe76c4727ea525e67a741c8d0642b0fb7fda04092b8e1d8ad07d542278878172198c6d03dc46d2729f3a3b5e9adf25e82e32ac29ea2a11b96980b1624aa7162718ac677295097f8861cbf6f0555b6c9220462d023d4e6fc4f3b11703177f904abc5f7f72f9ea37934181640e6c9ff6ee8d325589998a66fb0d2038b5c863c8cf1d990a10d4c7962f8a50315e4cadd30ef69480c0f83e29a220321a52171d81780a5e1c49edb9132eff5854d71188db63357e24c7cceb1d6a032ba0c2772835cd1e201953f6883d16d7c4f73a9626fbdbfd9b4dcb858d8f284c9aa9394541ff5ecab9bd72f4e39d209904ae9e657a3db17b7c834849413c98ff97aa9168e52daef39dbd609d4e875bcd8f85ab528ac6232285e33b8966e34dfa8e4da363042db893f6a5725baa98258d9888b400a72b9ae73b4e10fce47c990bcdba65879802d5d43fc7628612b7c487cbd19569ee738974555ac3ef1dccca4edca5615b98524ec4913d726cd2b42cd0794eacf185dd876fd3cdd71bb4e77e1462e2ab310f696174ba6f72632d0461651c20fc04d2b4f35d53e16867820ed458c15f566cc8a03e9971fa5ed7b05ad3af8f69d0f3f896e555e8a3a376d9672fff68e2555d93c535106d8f723f4d752044b36d689fb8f99709e979b5ddab53cdb9646100d717e19c90c21372f9f53c4dcd7adf63998057274a27119e018c2288a748c3ee8af682e6c9886118abeb16d230a42e0a01384c7dfaccfde4d04e367dd7e49d3aa7fc82621d8cfb7209150fe58aa70da4068ec2545c53d98d0aeb9838d92f018585f6404766d0ea0e4bdd24ee25da469acf1218abd04b496f2d5e8eaf02a9201daaa3509a2b0ff372fc358a1af4079c4cf04c6172ac2d9f9ce8d264516cb8e5efa8a8d18481ebf301aebc7de81aa52dd3af11e68387055f34e0058a4fa4c2eb35f7e4416c03d42a0ac9df2df685842fb9e78b6be939f2be8469d28e128bc7a29ac9913064163b5f72003229f3b6643bc5ae036c4432739a6eac726dd2e3060a7722b53ee7c4345f5593228c1ce1cce2282083cb8dd94647b8338eafcc64e0e2bb6591ffedf16beb2e9c4ea8de8ab9e9491f879d0631c93328fed216f8cf24bf2961d5962acba4e972ee31320e4cd2dccf120465c365be2f249177f0b5c7b89c235461453ffa7d577276f9b050f4fec9252cd1fe0f738ca5ce76208e4499b7aa216f56b76ae587667245c18e9a71cde1bb4152cbd22a9fb5aea480feeb185f8b4b8f2f7a78cae6837237772c51a90ca44fa60ebda79c96b15231612c03c4d4ebfde4ac95bde1b1d772ba6c05d00f8a08021abfb20514c9d76a8c804f5fd677f72282c734461a4179061e0a3b7f0949ecd88413639719ae9b630d135646b7576da101d6a965e5f043589427dd2e507fd96685d0fb36cd5d2c5bab438d34f618f76aa30e8407edcfe12d4f3ee4dd9495ca6a832d1a6e01eb7f2d4683f42ea4aee82d0d2d74cc4dfbd426dce258e6b0a82424b2a36265bb90824e23a6b07d32e672f12a33096a8d3e4e7243197f5bd2a36366ba3ab40f1587610f4416065b3532539e0edf35f73d51ce4c69909ecf159790076f19189ff4223c4b304bc1223a94dda4ada3635441f0ee727acf09b12485d3888bd77da82979fbd96adbb2f77908e213cbfd488cea89ee728e7ee59300111a62f8580294283b522189ad090c067bbb0ffecf81cae4351809b65af8a2f402313fe649a06b0aaf0d8f867802b3cf80266809c8ead5a4fb0d140b66bd1ee7386d682984e94433c81fa244a3829a35ba47893fd36267cbc9dc72f2e4521b0a26ae07d20334a9da8fb98239782d08362e006616fbc7c8638a9572d81b78d9b4560f9cf92cdb1a547be5a3d8971d2b87980d595f0e75eb092b472eb65b8ff0b2cdb594dfe47c82105c643aac0cc84e4b4fc6a567b6eabbbbc4a24aeb673437a29d44e0adf9f8b838abb81620138310bff24241ecb04f988c384e33408a937b9ec9e342a3b8ce9f2489f76383194165a77edf97fad0844b371828726b3c56cee9ae870d63c7585ee2e1787e88ab403af24e29052a21f34fe952a53ee8e17a0d55904637f1a848dd0f709caaafbf9345138cd8daf059d950d1f37472575fe0b4b30b01c8bc87162ce0bbaf72781cde8e085bd2835ff09dd667e0ef723faee1e0bf636ae20d77ce42a193ac9d7f9b331624aa5d42fc767bb338d6c672b705e2300fee92b3cdc1f31ad9f5158a8d8083e53cee1693618234ecaf3c4a61647deea91d18740173090c0e35745436e90f2c61d531685fadf86251cc252a723707bf037dabba29dc5d604b1e704c878ca6970ed80f1141fe35def5b02cbf483954f5e638bc988ac1cb2a6efdb80cc57535695e4488a7bd3f73f815f485b82d58109910226b388528e9a9804e1fd3325a629563760d52c85675c8f1c9426e11027ed677ff65ee643f90ca7538560813aff34b26d9036c3c299258214c0fd92dc470b9116f021f2c68aafe68d9c27f47af364ba84dddecad77562cbf2b502b646be8ff3555a63c427021fbf5a65f22c2cf5d5ba2ff37067738c84a96761c8b44ae29cb4beb8ce0b7c1e575e336db69eea71897d5666778a6fc8bee4490e00868425713252e3e25d19d8fdbaf29e8627c9ad51aa0113f190ab06b1279637023270f5549da774a596857ba97995e9132ce813c118eecb8c6ff4e3e2afe34eb5c727b99218c830a7ad8b09a4d28ba61ec61aab6826f66bf07dfd611f856cc165d720ca0d52dcb56bcd7b4bc048a01c52553d17aeff55f050a5533e7b09bb88a3e7213d60bbf2c29a09b5a556c16e407eb07f33101b29e44ec68b3abe6e1cbcf18271744568284de404074341573b5f7a4c3e40e619ea37d6986c24fdfc47c73422601d33ed4266651318da55149e1fe860ff12df900d0e09d7f9882636353713928ab2c3a634b5fcefee2c3948862f47e9df87c98ae1d0c80dd9e390954f79d9a197605697f96ed78c53c7aff0107b1c231bb0e3b736f08a95c25561e09743041727a636d586eb45c8db89dd71f83879448fcd946aa9eb14146f65b06d7ed2afd72baf24d77650e22ccfadd695af6b7bca93ced601c3728d9e12e8d75115fa45b7260765e469e8993885ff0201e001c1dfae463068c81724b87ec9bc741fbbef467f45b1ba43521ec122d0f7c2effb92af4677ee07b1ace8a8a174eaad7b9f8ec728a55f2671360845834ddca7ed8a020493f17e4f17255e0fd70c9d645ef0cc04006e308a760f046bba10745b3b2491845bbdb18b6147b0879d5e914820291601e7594c14e40ba33a20dc5dc29a13622b113591316f659d60d1b80c04c567dd37272e86043457d5a5bb438ed52ebe975ca1479da77ebcf35fa3feb1994be8c107204b4f00b62eec32ecae0d59835e968b6b4ec009f558d74dd937e0308b13b1672330749f3889354db8da18d6350ba921aefb4e5c75293f00fafdfd455f0d20b72be610a26eecd1566642bdec37b2d9f8e7c7fdd4740f7350295c3c207f569c008470a1813a321e8509c3a097600a7c28fc5adbc2b1cd2b3df4a8fed5733c18034b882619185242544e162cc7edea0ba448e95681e83878a78a8dff9a755e2ff726bc3439304f11f9dc424c1b8f00f7e1231d3e0ee9ac3ed2a5e7866712c4b4d4adfc90f7c41142603c6c006c4e76c382be8c0b06ded0f0293f0b9b346b244011778884dc4fbc3a42b08bd7c8dab7e310955696a74a01ef71360c71f2593a87772960dc79af2f465e82a393798a44eb9c9f5dfc2ea112f348ca8958d4a7258fe728d78c19da6957fc75ddaa1accd43d995dee69c3cba9c8d03c5916dd85c0d577251714ffe285a64c7681deab74fb71dc473992592e7d9680bc6522a600168c772e69b0244dfee9e8875d02f35616e69bbe00016d60c8d69fb272adaca17a8ad72191e3dbdb71b3f75c7c506f0d0a8be0e970505260ac258ef18d0f88137274d2656e3693c25d02db2d6dae6324db52373261bbf18fa5fbe917d9d9ef74e46910ba475de44654ddd27f300c9cba5e5688725b243e999cb9cfebe81d449dd1e8a1fcbd2a7ad2c605b1187d005e4cede57e0eb72d1e9065ce648340c19dfc53a184aef53cedda31a1f651e4875ef63957da549bfd369732f9f3a492520152c7a876e0f8dafa7fc450d92377196e87791658ddbaef3ba774410c25eab6b224778e072ffe3797b7ab41df75e87d1867d405f4e7bea031aea096cf62202c50bbb2a945df98022c44452f629d508f43624642a5439f153780718812ec9b5b0d10287ad72c74a63e9ca5a944ac6a532fea427f22e1c872384a52b80735329d92fcef23d72ec1d9c67d7fd45a79041987d7f5544937259c350b6d915b6a87031381089637224402125a5e9ed2af35528b056d46338cf65868ef3611ccd4f3efd896c8926162e1d3aba9bf1539fd834817e6b4d996738eea98ced293ccbdb4211f009911d1d06b28464a3f75c56908316c20f7af092f34b9fe452bfbb07205e4a058a7e254b5c946d58f5595c92f0672c424e4ba30c3b50fc21550a7de71536bdbb93143b72a192000ba8e99d61fd0a42d53066d9850617a51fb6bef3633273cd9203c4ae71a458a6beb5abf25628bd026433890ad1b28eaeb914b943edb66023faf6e5316823e3df5daefbe7bed434de50e0915b9f4e441c364fe8c4d549c3afbfc6548972ded29428776f0bbbeb112db3a01a6cce2ce1b8b0b688d9c29d39a2ab0c3c8a2638ff4065d8ffd9852600221d43090774470095a85dd4a1377769efb113eece02a08791d27e537446efd30b52e9d561d2edbf15297bbcf0e4ba2380cc0aa1da722be0e9f752b5587d9a2eeb846bdb2de6474debbbce2f51fa9a7e5bdb47375f7272e390eeb00145a3719145a04256f3e308edce3e6478be0e7a426d3983b8d1724e221e355a8000a621fc2d7cba83f59068d0dd887862c00b5d18eb8ac8a35772f11afd3498e912c813419a55a8589f412d7fba095335d4e7456b4a8885b88b72f6da9ddc721e26981736454e0724e8f089ea6ea13cd6aa90da4439d2f2b7936c8b90f0ab1db33fbdf4f835d02d3f5627dfaebc78b51e848cd40bde89a11710721c6a4413e4ed830993630aff7b567a96dc2c0260c32e1b5a47eaa23b1533b37224a4b1982da9463ca4d7790ecd852b3854d8595ce2c6660994212567089d5972c8e718a3cdc67405ab629d22aebc44e40fbaea0835e809f924604e7ca9cc2b7254818e9ea5bdf09e5a92960e45779ed360ed5fa031fdeec56f88f75cb56561664bda0ae5ca3e5a74c80ad8239ccc5e71d27f551eb10bb9ddd838052f8d32cf57209bac4b6836dc5aac4cbba87c88f78f6a24260f77a21a348e3c452d85ffe9725804c1bc835e4768a5460cefc9bde565f7faa819a8ad48c962ea79a885b55a724a216a2ed04da3c805cb607d933bf36349c9ebb25d6a949d41f81c31a7af28722aaa5dfaa3aa5cfdfaa0c378b3b8dbd2d7bcbe603b2f122e17897a5e4d5a24726ab6cb2c6e77509a26e2f88182c3cb1deff29bf34278684904d452fb05439372e0fb4b52bbde510729119bb5319c754acdf24bd5b28811999d9cb1884fc1f6725b0c578893354d2acb8261a22f9d5bfb23dd3dd2f2a31096d10fca71b307a03d665a57f865d21b87edf6f7dadd2b98918514e31d21ccb0f649ddb4765a581a0dc88f68ea104a01481970c6c2d8290bcbcde1d59c8642575db0aa882e1fee737206e2e28cfe605aa898463929666cfbc1ee2e04a7c5b10fdd37ed83d3c801e27282a066517c07bf2eb04a820e905d9bf861d6b2e181175ed58f6615d2735a2072fe3bba85ec8819bf13ba2f8c640383194db7a6c51f959c978418b69c1bec5b3e55df7979e9eb0431a4eae2ef80d794d9ce879ed189bcec91336afca24946bd722e6bd5928ae7d0fc4bec31ab697003628c6923cbbd7bec571861a25da51379611640101493c518692f00d5495d91e2c07437463b577c052b747a77349732d872695d93088c8d8ea5ac981b0b5df0c1309f0bbfbb3a9a095465550b7e764c2464c4d894d3ae8fe075d3c7dc32fb444caf360ca837025fcefe4c0b0c0bc68ce5350a3737220dd8ed0bd30b6bad3056dff9da84456d42c7d6132e71addec5312b72362423b318c6f3197fbab6a4760ff48368bff2688f36687b1d79a0b355e36372c454ec27def1e5f545d5cac50768c8a0e56eeb90ed319332b3971ffd2b63e072273d954ce03d8f0a036e21a6c3b4417e1fb5fcd4af782f369538f8e7e2946f72bd05c76bdff04dcb0fc614091a0fb237829fa93ed71cfc646f25507dbf207f6f7b6fa538aeb773a7acbe1a77dccf2ebe0c9d2f118012a1631fa154d0e1c4c672955bbd97e1e406319de551d718c8a6a32e7f14f95dc1b17c67eb9a2e01aef45dc0707e966b12969b55294a2cbfb5666fba91c3926817927a61c4ee769c439672cecb3cf4bf5eecc5badf31c29bc40344d4ac261588213e0767a1a6053c8838724c8a8ecef767d9330a57530acb8c9fd1e6f5b3cbaa90089afb45520c2224262988c34275a56783e1cbc42079b07abf414e59219368643f1c2bd6ad97463b1839b1febc578459ba55a01f9140682fa55e0aaf5f28a47e6832ccab11869d5f463e42508fef9230d0cdc2f2e4c8d00a05b7b4157fe076eaee1faa4049fdd92da572e2442632d7c6619891a81ad1689ee354e4b8e8d17f22d6b274b950d466d73f2415e31ded3512e315d03eaf49b7a05b135fcea92ee93cffb24f78034ef715de3869089eb7b2e24663f1b6dca30a8bca955d90b5c159d4327896d02723618d05729e98d4d7b704064a0a1bdedaf9ef107353cbd5b2632116f834c4dd0d466076720fe42c0b05d605ca7a507a7bcfd282c59b48ae45f95d3b447b2e863a23735872bf175469b1b3e485302c8cb62f5f2d93c2841eb8c402e4f3961d2c06dc111b7214ca695ae1ee8ff24a2f26dd58b6ee775567c454dbea7943dd27ebb4571a376381ad554fe275a7c3ce8848eb9b85c333650d124af4428309f0fb158bd9f77772563892eeb6516f25d9d1e655dc735597a26f2df5fc696a52b804e09b5d904b724ac5e5d6ef37c6eebc53a85473219d41418a4811df8a433601715a9bf5f65d721b486f673152e5d9ef2017496532bc16a3e5fefead1628bf5bb1279b36972a54d1f21b8b12554238303115d44fb36d27311e43f30e6bc39d8c0cb3fa10ee5b729620843c448899a08989a5a80882a85a7e69f934efb2b97e26922a4e51e72f729c68e2aea686748829e4eb2a277cc946a161b48c2a4da0b1d4c50065222afc27ac0047cd1192fe7f60620d100a67f125387207d8c4351623161fcc8f4afc45725a6f2038fef1c5ce89fe4ca59a193e20bdc95aa8e873b0f294758eeab302156ba294c8a8ffef4c5034dfcd814ff706a95be8e1cd1a2b7d0f7522bb7ba639f972002683384c3b16d2b919f8cf66d487c34e9c8525f9105eaf18c07f0513d5505dda521f6ab4f6bb8da03a4857950e43033195c8c82c04f9a7ca3846745ca6de729bf124f952653cc6416aef1477a221388943bd8270f9e0359f32af907dea3c721106d593069ed074f5fa01256c85da90831c487aac1f945afb624e2690961568803e24185da328dcec75434249e4529010014bdeb85e0aaef3470d5ec409f672601a8934f9524030e15c3cc5983b62ef215be3d54029e1a2e9f520b542879756a3fd7a07ec1c16fd5607d9d123eb15252a59e435ff3275774679ffcc2e7172729d13a581f37a5993855aee87781a235a0807b193df297690d7820c9c7f445a720bb7e20fd1a13ece1a778a74ff04bac7a847633fa76eaf0cedf3e994fd33c52250e69c5c7d503b93bbb3ebe83f2635d028d1447ca237a64bbedc121f0f79917211c5809d16d3efac9f5cac94086ff7164f1579ccf9d8780b63598d738956ab726c58b3b3e101da29db85d3be91a09da6ca6b6a2395d2dbd07e093edc84813572b66cc8a0c3f2e132e2a4ee64a7f19f3d804d6c56be3ff7b6280b84e5a20b335499757c08e2912bfc82e8f605d5f31d309faa7d5b71dc323ca030ba8ed82af246aaf89aab4ba47b74837171b71da2097c2dca43b8193b3a61a1d7d063b0f19c7273e205afd84cfd90ba092af7963ef78ecd3c06baaf18233dcdd519392b88135fa4a6290888060936050628a25fd658eeceb4f5d9c2c522842a28faa9cbf3ac72f0e4541201f4221faf16bfd7ccd222fb017cde3216b63fb521e79a378d91e155a22a7750eafacad6f14f546501628d401d8f6d5823cac9e7a7f0affbab231e726eb94faec17d25030d304a1da9e43d0056c6bb34f451c1df5546c93536a1d472fadbb9630342732fae1b27cb2fa41472a4886cf7e685b5e7a47845f3a6d7b43babdb0f7baea989f169ef1c32b4b32b658ccac227358a7e6853aa6dc848f81372777059edec4a7954e9a13e3af7419e5c0b8abbaad3233fca255d88b49a0efd72a192554b1eaa3c06c258762ce11610f23a59d5ed48e19988dfca757e4879265980cb1dc5b00490aa0a5b23a76781cbce4b30734b5e1ffdf90569266ae5c12872b9c2fc50938cce71e89d7fa028a15034181d47fe6f6ee2e313c3d1881846e31b277e77562de13fe7733a28cf70ca2d08221141d7b7732a1e661358de73359f720bb307276b168c33501375934ccc5140d5e83ceaf570b556ef844ae6cc417b724e6ffee0035f3487800107346c069d119511ab1a03c1f8db2ee736fabed4c9727f88927d45f56f7be5088240fe8a0ecb21fa03f313f8de0db5e2349f146df2729b8963a780783113ea13f632cebae9f6b5f3efe83bb5b198075fa1d7bab9205c563673272dc5c156f5aa45a16dd7692f20070505b929599566133f953353ef72fda78463789e522be43fb087da7cfc9d714b07c3f89ec963ad83bedcb276e852bb355dc797a5601a95bd257fcb2ef8ee46a1343423d3a476cc7446074de6f0723f48008be04ceb7dba12787cdb84edb706a204b170b7856250c4b81b3f7aef728103593bf4b37b5a73d8991029699fa7c6f0c00880880a61cc8ab4f614f5d369a1c76fb38013c3dfe10e51d348055d3d602220a7e8ad350431ec2a5e6fbbb6728636d4872f635646308851233085d2d6ec294e3a1971855d1a13ba3cc14fab72d3e90e677699528242b2c44807456d7a5a0f273eb4a506cb4fef3c2a64b3567225cd041ace1289d6b1dee2e4bc1edba69aec2f87e04e2aa5f7131f991c2a3472f9af6bf1f17fe41260d8ff33c83c100d15f4921640fb0b067ce81db62465635d906aaee619d70e1dcbabb918358125269508b605d79080c2f42b50e56c211d7274d2a866e9b5e1e5b8ac8218cb623139f6d5007fc581f5592062143982f2647230c4a00503c50e5dccac79396dadfac019628def6aa52e64bb4b39c86e04a94107bfe6401ca111143dd8fb548e1dfdd177482f1dd7ac5253e45c2a917966e272deb84c36a6c6cb194229cf0e2e3dc3edd6d268160fcb4c927a3702ae2b8274709b8b95ef7af90f7ebe1608b39eaaaf1bce0ec57205cba5202c33c89ddae44b46e2197b3fcf35383e0f70628d72fef441a41356818e1068c9feab8ce1825d3a724d6f7981cfb707a3b4fcf9fa11f134efc14b26bd7c141859cda192061bdcc9726bdad6a030b46ac844017d6344f0174c56ca8590d77c04e070770c0abb82d672e690d24e10cc6281df48fc297a5f569e9bf75e583f90ab9257824e140fcc4b7258afb1f107681b7a1a824654894d6e07da18b00ee93ef545a3b8bbf777fed254e87887ab4c514cb6a67a3b0b31609b68ead81912d59e4b4847b0990a523fd1729544b226f4c3efa7ada70d0edd4b4f1432b0a2ce97666c9d2b3ba32d9355f96dd0e8a596150923cc670d729df35e3bff9dd01823997fe745f2ead07c85ab137228d723a4c830d34e9cd4de2dc3deea81807c64a542e456a3f4b12f51802604723a3f30d70f2e5f547dc2263f2df925a5a6699e1aff143d2a7b29d1bd59f712466f45798a457a4e07d58892ab2b53916e8f951fe746f21dff8015fbf1aec29b7262944e2fa59227b0f6669b2e902daf4e237e1e04ff211521becc9af5a6077d72c912add0fb9a54c8d62eaa8ab699781629d5253a1b92efe8240ba664c0e4cc72da8603b1d2eb02b6156dd209867cfd985edb0a35a3bc94891a8233ab5eaa2c3089912581748f79bc9ee8e07ac509114429ecf6b6911771861299cb3c1d91e472cc232cc7a416b0f33e7b4e988a3501eaab41d3cca886b13686e11190c9b5787223bb5e7f36987570c8ab7f2e8f712151408f8fcfdaa941bcf245ca19a6aa8272e1bdfebb3db3f846c7cbeea74135f3d73d9b598386e81f801441f563c2be7e72d3d44c05a18f63fc7f4e5857880d6c14483d02a5c5dbcfa1f35a9eba80e7ef4b3925bdec91bc5527405833bfb6b336b448cd637c2fb89c68e2594058aac3e57296800afe1ed29daec75dadacedd7e67660d0aef9ab6c561623039d0e33a69272e482f68a2263727fafcdc034fb8fdfa8866ba613aaa9f1455d0446d1382aa07299bd4947737f0d1af82d85f7aa32bdb997b67975df852061ba309a34b67ed972241110843eb7b172718449be3ed20b30f50c30c4c059638022e602a21f28633e0eac19e1b693d47c0db3f6bac09aefcb2e24dbb1acaec21652c7f1f21ca5c1722cbdf76d1329a774e28da9e266f60dbfc52b0d2d28bd85947f334a275a433672ca6faef105171e110de0dbde0fa9c3f4fb367af223d77fb16f1f8274e860367224e4011737a176efd6db9554fbdd8dadcd6c877cab05357b9dd6c8ba23d65c6f83baa24c129e9bc56964ce0bd59aac848b65f708d5ca5bc47a645a39aa59892e06fa2fa9f147d7d24cbc6b0970c71222a36481c94549b010ed0133a7c1e91e72428b0c761c3ad5b6137543bb8f13fe31a6f3dbc3f7d9c90597ac406deaa10572bc39640e72466cfc0cca849f29ba0e971587898b5c4e7d91e5855da1ccedc572cff1d4723565d1b9cce424424cdb7b021ce8c6dcb931c6d3cbc3e4871207971adb6c93ba9015ae6601e1e3040703a5f380f57091d55b8378884ceb863515292ad15aa619673056e61970f97241393e39b1b8cde36af47642dbe0513b76bbb019c7299daf0d6fe1b14bc9e1fa6fbd693c867ec0f89eb1f7648f5e9a9a032ce31e51b7d832e4a79aabeca092865c26fb18a85bafac724519a330203f86c8586e3f575e269827cee14319c185d206f7cb982bcfc0c30ca3791992fd5d6f708e8464d3da134cee83b9d144f42efa77ed982bafd67b789f76621e4b7544cfe4388872fa0337ed44c9b41859227e3c8f69cdcc7935ac2998ff8e6708de6270d1f73a720081cdd60edfe6ff20e800272b9659d6980c75a739c454273bd8e6be836b3b72e51a64d2b84a3bd39d4bccb08abe37f7f8856630de6a0d07027db8b35ddecf21ce899d84f9b695e436c4c3753e3552a25e7f977d9ff8d04bd397fc510adae37241e3aa37f816a4607e41b4e38c0a83d7b2da56245222012b4c39f6935f394d33da40e46fa54887de76029fd994a4f1d2f65d5a4a2dccfd293b8f1e521559b17287aff20c39af4f2d079a50263ca0c3929045ec7d907d99290921a19d02f0282fc25a1dcbe2d33608c1196a536ad0913908e6b38ae3af4b5907b0422be5e55d72a0cb0af440ca6429f72e89bc0ea2750b85c9b9701ec4e43136d73d18db88265c10e9b22a4498ee947636c0a98c36cd1f78b9cf76a3bb62e2fdcf1d636ee0b664fc55ef808b0d29be1e696cd531f139f7a30c2fdfe9a5edead7063df1747cbb052b8120f55bd89e692dfafa039232d2be80a2d472278436c7025c1d9998aa1a72420e75e32a719a3409a3474e63012bccff4e116fad533d91580fc1f62e799c2c46282f53bbef46080c36762f6ead8ea9df9403afff560adb7daf897f382fca72107ab3a2dcb83929483c6bc88158fc6edd9fb1987d0967149e0f28dd3985c072acce972702f30a631b2968a322b8d3bebed14bd60ec1c505e23899790788aa7214b500c659424f87574978e72bba08f8e2bf7a1777af86c251e6852c3001d37251817325fd87c8281064faa517029d363f8b1c3caeeedbc6c56b63c9318b143723ec5c9503af2f022f1a8fd729f3e9f54339341576b67a1a81f10b67c63caa2d1b2ae2f6340421a71b618c60e6eee73ee044fce64c335714e2c9b24391ed81688adc4cdb2ee2b3b5738d62168458fcc93a0936eba5bd0d1ecc7dcc94d93e09156b3a39ab8ede977fcfa229e9ec7f66f80286520914601cd19f62e37ab53edf28edb4e5eb8dcb04e51f7f8bed34ea86b0b4f691db385d892ed8a95ca39c1de77225ae437b26b7c14653f53ec17dd006d669c9485bd053fafffe620552ab207072b9873fbb82e36a2ed00bb3e58edb7d0c78144dda96575c1ca99b891af8cf6a1e239fd5459cb5f19bfaa3feed60cd2ae3bdbbc55b1ed01f62591ad31c28f99d72acf1c313c8a119189d07513e8e88e2dd05430c1978eea5bbcd65722a8aa2027254d61a89db0ff37566f7a17ef08914ea6bb664467b166a56456c54204aef4b72b379477375404e92eb6b7fa112f9d610fa9ae55d83edcf89d805fe05295d0200d8b6faf225ffab5cf5447c9a24baf3327f6347b4f778bc28f8b2a7f76341915fb73e68ac5cfccec0ce10fde844e0483f37a3cfe815506c33fe44cfaec1b40d72398e9b501d51b0ae7cdc0eca5074d87795a030a7537bb20e64abfb1836751972ef5642908c3fce5f7209359a37c093edec1bbc1a8c942b54c8f796c70bf9d97290ac54239fb39e24f9ce2f0d12d9f6fa87fdcd5f1bf1652bc11c0cdbab30695538d71fd784f90e60f9a90ef7cd02a7a76203822771ca4a087d6bc81897e70272d96d3dd8006ecf36ce3fe255c39b60f76d13316fa7dbb33a3e99339594358c72f3e145a14d7f05a56e14230d77618335b3246f89f58c3e90d39dbedcfe492672ee12148a09eac9ac3aaf670e2c67645712724550ade77db9a2094ba8d0aeb072a28a58a85409e2f6b9c78357e32d9b33347915ce3094cc50709af92ee7288872fe92fbccb571f46263cfaa6ed7e37e34f78464669b16f7ca73f9963132f4382a8ac45d02c17f734b4dedaf6a535fd4b49801a5a4a7e580d06ad3cac7d62b0540a4db72f22c73b4b58a4a6a102a4fc9784d99b1231b51d9c1be880b994142fe7251228cc20102b8a54cc9e1ae33e8d21d6555cd5b5ab960c7346eb33ae768c0729427666a3644c5028112b0f2d0fcfe4185fcf873dfde3aa3a9b64cb36d27df72b027ab744eb148fa24cfbd6bc43b8b08feaf289214603f85e06a0f3aeae92372519c78274eb393c694e222942c482182c19e257fb0ba2940b87041d64d0eec4e04dc33246eb6ae3a62afa8fbb22f2ea4e734616cb5bbcfd3b817a172cb401c72a8c3d93e1a15efd8a6b6903626b4b3eae2ddafc6425cc1d14bd41e30eecd7672086a7f8bf95dc9d4c970eb6b1f20ff64027435cc19f3a0764e958c4c44e6cd4fa67026fb937bf0b2ca239772ec5235ecc6891e093a116736588073ab8b12c3727067f26fa63d9c03dc862c0aeef76bdf2aa196d05da75b67b4fbab7d4855f972bf9c833b1d08accba4eb3c0863804c1b38c423af551bf5f2977204215ea660567a45fb05a7f86298ea052de76b64e21fe04faa0015a905c7155154731b2fb472008671e14eae47c21b16e5b40f91f1704bff8088f62b5bca22b030bb1fab61727b8a9a78566d818812717ff123be9c4dd693ffa1a6f056e26ab271af9a8ebe72dacb8e095cdfe2a5b1fc14eb01935c72ab7a7d0eef22667e4344b11b46aa3d721f4e6f59ac99b03799b5c1a9e164d24d226f03428d99c43c4e4d277946a4c515d160a022ed66bcd79284d5bb06fb65f2e2b2df11af7ebb77e82e726fc640534250fb37bca1b0de6401c8919ed45364dfd0a712fafdae65866ff737d6c06ae969421c0086a41a459c45fd67406e046fe63effce3d6b6059088d18e7a626ec3972dcdb55bd916cbfccf487328e6abb724cd369ae409addb98b28a1786bc77e971708c7986cc5fafc7090972d070bdfb4be3f160febe267f7c847681c9cfa070e7268a9e8914a888158f3599e430daee704dfbe6ae00a3b1450b92da8b418e09515fae7502d364bdf343890628686d0bcdd17ce577ddba3c91984f1e7bd98d4ef72966471280d9f77d6658627030782684e27f86fb16b0cce4611a4567e43095b41673e0d05bdbbf33bb35a1e742defe1932feeda1042fa4bd6086d2bb447673e3d2134fa328ee50608d5439f657ff045c93d30474a61f3d422a684a71d4a1ef0727b24213a5f181d75dce2b103208f7cb6a7dbf38b7daecec534d195b484f5e61847cabdb9c6a2e3127d8d1e01d00b42e10f42242d8fedb3e80aad3d652948694267468b0d9e8561862cc335e778885d651716de2d9436c83e66d319d08bfc500192169a47f82a01457260fb18758eacaccdb5ba75c35441cbd5990bddc3ca92563c7c461c2efc379a79455420b482a9b6aa355f250114ef23ace8b2a3afbfa57210157dd86f32ed7210f2753d7ec0c7100991da27343f1b86c32426330fdb9c4131ef3c1915cec9329f0cc5cb9132d02dc2b241cb5c46d974cc4452f5a2a6c212e1df9703ecc3438726e67b692b863ccf6b9fabebb10dbac41305dddf00434572f4af6d5fc0706f73849f16aabffc8c3d2a94036e9ed88c8da0f367bda2131f72652ddb3e71fc9ad7eaafeda0f9c73736facc190a1fc9b40ea9e33e30389dc3723212708d7463d0c441fe7c111d370264bf73b7ae7049791141ea22e38948727239d7d6cd0456bfcc21324ae3380f1756418c740cf45b0ad3f5a38f3cba144d722e35bc9a29d8b00c5dc9d45e70f88d3e3a37209c2b67fd8b5b93d0f7ca143b49d33b1e23645947220105d33e8dd089e9e5e16a657b73ef842b6970b3da023c2cb505ee8155aa0caefe03ad8f36106e1bf657c415198b74939a8e4892cada2a7226abde496befd2754d66e4e4213c4b2d9e54bd85064b828ba7df26c585d7391ff18e3af51601dadb3d0072036d26ca11276f3eeb0eff04cb8ba5dbc418321972d6520a80dfa7c856699010f65f970a9258ffb0b00a4973ff693fde2300a72170f3c7693a90b8294b445b92c91ee87a5e9b5718996c1dd8adbc30337aaa2a8241e8c159b4e5b8f4beb2338b3bda1576905f8fe7b09e81ae8e7c0b2f90bfa1cd72324aec32dbfbb01292acfa760f47cbf7d80089841fd7268b46164ef1cb7729725df409959732d911f4d3a7c4efd7d285067c57d30c6cbc98f4ddd26d70d1fd72a6feadb80159f28eeabaed725029029f4388a1a3e0f75a5be253d524c45724723e25d3fb65286c9f6d43f6adb6ffe2666ef1687d9b9c0f1df36bcb25f2859072af1c68ac2c867f3f3ec2d36b26fe5290d6890ae8b2340ec73c019445adca5c72ae1d918c726603c04a22f9199a5919d64fa867579592bfd4b77035122a9ce1724d164eb8575a8feca668e8816a021e91789767fc84ac33d340d25ff0fb81ae13d5487ae158d4eb2852f006424f1e85329efe8823cedd0c55b4b427ba603fd7405b46458c0c2a28e49cd3205a84816a73c1ae106fe9c94ff0a669020e4a8405263cd838ea3da8d1f508151977bec7feb939e2fa84aedd40fe45e622cdc204935490d5b2900232957a943763621d10e5bf850702018a27a3714f1efff917063472927e885f0011bd90859cbcb153af4e3a842965eca67f35455d5c37c9cc49f072235e273020156ccfce1e94646d1b420fc360c621a37796707a0822bcb2c85d2c6b1de240464214a33c41253b25a6c604c2e33e48dc9c0cf3002a4c853d83e47284dd4ca76a28d1b9ac06faaf8351495867b64f29e56413b418f422c0f3d370722b3142b78be1cb73ff3f2680240aab480de992ab480699cd547935d158872e30db83e536cfcd4f084b79080eeb50e2d15470a77e06c1e2d78d27ade665aca9722ce7785c20b77e797413fbe2137178bcf13f8c9f59d8a903461ddb16f7793472a74e0993c1ea1eb2c4b4df2069cc2f1107750f18c5c4a5a1d65cd315acd56872049a05fbb592b04bcf052864f4a896a0137262b9e5f41612298d25f1221ccb7290524478ebd5ad8b71071dc80666b13c7965f0119a3c8436bbc11ff78b45da406a7195a794d87404b3ae55efd95265fcdf3857c57a801091ed38b4cebd04f23fa501494f18f549a367d465abec69d9ce4ba45a8d39bad591f5f065fc4a626a727ffbca0feaff8ae72a88b30f212fa688e199ceecfdbf6dd7cde0077d0f955e72bacf2a7db9fb95b7ba7323e12eee634c87dd093b2add95eefb0dee4e9762847202c0195cee0f5318e8e83b7424b720abc7da89db79c6c47a847ed86768184c72703b462b41dcc5193856d426ba0231a407e98a6174352a9a3ae044d2f65e082a5d01775fd0b834b4ffab54adfea2deb5b0120ce16821902b277a3372d50b3f7226d122d31a9c353aedbd347456323e9bb332802b9f3651324db85533d8bbf87282709508a11d10c5011a7c2d3f15f67ab6472ff7eb252843761d174aa21e42729e5560daddfd4f7aa1be8e93ab2c0078a8783c35c75b7c8ef75f81e768e11172b6a48bc0b0e6ea9e6ce5b74a7316d14d04792b7328b8a10987ac8b05b5127e7242980a7489269dbdf866521738b4129e03a554621e997dac108e7d7165c8e834d5f0109485bc8d1495ade3f1239d3f24e757201c9acd693f37f6767305299b723a5157eae97c7571e6a43b94bb201d07cc5bda5bb2acaa4f208a0a93f9cd4d6d8199b100b02fdded8b36540550fb8dae3ee1d743dcac43494a6d0abf0ff98572c7f7445f4e1beb048730a5372c4ee917fc7106e504b02aee44e0a55a5550c072d66607a5faeffb0450129f2136cf1d256a1a5387127756954ec7f305a4ee45722477b7bb90e9e8c8689034b15f742e347ddf2c5db1b3520983c3b106195010463d53245db79e849eaee70c1289aa7105b5c9c223cf51a055197fa88df6aaf072ea03f575394e64a2dea01086d5604f66f1428f6eb2c610c92fccfce7af585e72d2f2cf3e32ff94987b5e916e01cb04f7c1067d992b61fecae11f6e733a293072d1bdf47490befdc33de9d21e4d895c0b905766a7e75c17c682cadf52f91244722690a2e335ebba4bb65d070935dbea6b36115fe014bed4f919af43f9adc67c66680e0f1d36ca81d4d3f4be5bfd4fc58f935a46222d82e268abc6cf3d41f15172858dbabab4b4330303065d3d598dea52243a9a7920ff3c6c3ce246a70997d31095823e745bc5ab9d8b9066588567f988b17c4f39052b9626d93cb999916bb137e47e24f4e2c0b1fa131c5de30f33af7025a467a4002068bb500f3ecc137a7e727e8a60001d9489f9ce180c4d9b3cdc0b9f0421401baedde920fd97c9a4a6e72c406f165c2167ed79a91d6dff3b895637c4c055428d81ac55f62e5d32e3d24769d238be8d6cc44497024477381aced561a5c4847c178aeb7ff2ab283ef0ec1b3b1ee727cbe06d860bc519a989e1b6f4eb2e7f2cf3837be161999a31268838a2727e96e7eef608e36592950159535e04857f3acb5a7d7d6685ffaab2d26dd11972b39e5ace82d0ca7c62e902e09a395bb2ec9a153b45343e7976661f2fadcc3c7236e8b0305cd75806840176b46b58fa57cac129fb9b2f46dcc8f47411bd64e872e4877157fe509a87a1058fc5942ab4d95a3d2359bd087819a18e810e1b4a2718a933fb613d6ffcdd8ee2658354a89fbe7eb5002e1f7499cd6c75e59edf9a1972248522ca7e4da05195af522991dcbab94bec51035295e0cc26880fa1ad138872c3687cf343c8134f027ceb6d07cccee2ba8d75cc529d3de165e220af1eee5557cead641f59d4840e905114a333651449441cbe4b137b5d8d36b4441bc914a248d2b3b5948144c02b6919580c2b72836cd716b1c59afd0f898132184376933e6965f4d7362940f16f7b176d4146165c565e07049112644099a29ceb05e296337234829174784756c93fc1ad73ff36a7421ea038afaf88cf786c5673d15a2cb763c87e3b73ee9efea78daa7c00da124a2339602e4a239ddb03b04fe0afaa89ac5f6237f6f11b9d7be55ae8c91c2e03206797012e81483f09f3d2b986b45f5afb721d7360b174973f9c032833a94698edb476f7eae65974ac50144361a21409ea72592705e25a575c0d1505a64bc7d295843dcd54960bfefaf0613e30ec749e707297d38b5cc905eb8aced3bd3b0067f09b9e4482cfd4ec782b780e60a509f0e74aad4a6005ea11d114bdda3e9ee996197f12ce014d0cf473a415e4f0afbeb127726118ebff2caf0423a02e80ea2a261c2a73af2eae99ffa9f4ecc6710ba89b4956318bf4d9beda744d5015dbebaabba1ff1d0cbcfd9ed1836324cbdbc7352b4429335fa2a62029d87b414c80394a75ad19a9144e857e9ed553b4fd126411df3d14c4c9d28343f46c49d1278d31df6c09f88c9b56a287bb1a8fbb7d96abbb675a727c911069fd3707cd5cbf55283cde2851d52edf8a04868566f7388133f5950672be7b985dfc3c0981c7769067152b9cbc15f23f74f8da2df9105cbd6a0132cd0bc919dc0dd8488915e52f76e69b119b47099e9077b70f5ec51b2ff4fb3bf99272c78f76c3bde861541a04a482593b400c0bc861a40b457cdacb20e4f9ab11af728b5983f3d7bd6fffa0bf218f8354cd960c5c02b48fe580d8b36b88c8c071f9148d073e3fa4b0a7eff9898744a31ebc74d29855c92db892d113d6e533e5034e72b6a19e7b6d0bca707fe1ebeef216aa7147330c3527ece4eb015f965b61b93b7254de1f1aa1a5a687a1170e59ba6680358e221e16e81013a4cbfe2140d04b92021d795052f3531efe2f00048b8ebfca69976ff853700b4cd5f7cd6e23c698b372494b436b6e8703da569be311916cfe4d51502dc2c949e50ee9cd31de5fd7e372cd9369e26a57b392e3f1237781e551f574df15c351c0a0af42286877a58d397265ff51e1cc2b4cda99e2014de5cb4dbffa21c9d549a8ca12b494ceea3cb088569ea5c243d3d1221f9a2feee89341cddeedc85f48cc1186121c2dffbf335d6d72145111e5128c0f0f0f9d13240414ff4ccaffa72d3270258d49f2866543b31b725b1d29c24c7a5dd2d47d10c5ef15d78e9d4092973bf6c8505cafc2ad1cf1a73ba14efba0f1c3eee5f6102384c3e3548f38dd3350e067c47a32a4f7df59551672240e18f02acee1a3c4bb954d88b929f26863ee84e52c5e6825198d51f15efd724b4268a30ae59e198c6906de7bb2045813046d3f7ddd2673fe02f3f38023a2726483ee17b0a9121d4938177bdf1fef4bba888c19c316c010e3723a63d02b8d7282fcd5290ae4e104fcf6646866a81dcd51e86ec79bbb5416f3b224cc5eb58d5fae40ce684a7328bc078551b2b2007ade81b199ee5573a854577e2c1a8b18e872a5c214917bbd585ca55f8608e8f2bfbd7c7adcf3345d53ce0f708870e968fd72b74cce148a3a96007190bb8a089304e3d576b582a1049de7f3289472ad52b45f9492b52acdc2bcb3c235a15b1eadf76865372491861a8b7e6127e3c122515572a11804de6cb35cfee2caab2b0b76ecf5208cfdde6946e0e48b74fa8e5a5f15253c17a23b9024507f20f6d628cba51c5db51dcc1a5f1b012ce72c1f0b3f900272ce5fc88f8a5475796a84faf4d92b0ad8b16d46b6985773c6306b722ab571a972cb336a01aba8a68d9ea27c21a3ac9fafbefccb6784633bee18aac48640ffbd41ba90e4905c9aa078257fdca793e3be812097151127e0ed613fa50cad4f9b2155da4d6d554b806655a157ffe9b18757623a1d8ce86da76605099263fa7c13e672ea74c2e4aac2715403bd4d74590380f98d751d19e176da963826b7a5501026722648097dbdefee90ba0a9649d2062e336a83a44b12dbb0820f944d2646c2a76d3fc915cab6e5fc5bf57ee997313ec9d814cd1a179f795d49d1eaf0070cc3270caf9f5f32d0c76108696051ace3977a02074712fd2032794d4044f494f8e9d25e96ef9c983204bf985188acae6d0fa22ab638fac5e46cee100a6eec65cd47520ad21732c9bf4552462fda28346dd438504678ebffd150711fde15ba5713391c727f2e4c85edc6e795ff5299474ab35d33f6dc40479cd41c678ce179abc9247c3b09932ae482a48840a0abb0a1b94fce6b6d5454a1cdd2b3fe02dcb656ac8eab5473cb315dbdca8bebfa42ae5129c6ebf500a37bceee1f1fd7711c80ca66676750cc264911a4f656e8f480ae31beafb4482dee8dc59190c154b9cd8944c2291429d8b7e226e94df91da25b8c747463515e140313b98d11a9539eab52738d08111a3f181278b67f370adabc586209a770d22dbaa852146334996a9c6765f5356172c47277133ff77a641105288d1233b835f13d428d487ee23404139a30bd41224571ba576d84c79b7bbf810969dd3bc6a0fb2d1be4b339d3e74e54a76f948bbe50c264caafc5f16a47dc16452b4a3c95c6c6e72debeac353c71bdc36167277c048646ef5eb312db9b22dfcf58d8b843abe77477199451c37b1328b4efa5f6fee56a1d1dfa0e9e655258c6ad7bfb09906f4bf6b9cb5c86e125115e90370a57ce072b485657ed587606f0f003ec6bb77f118167ded341a641b611561f40a34cd7172afdbdb52ee919da38038190612d52b79be27004fbd4234af362c2e6372113f234f8181fc0e6db093822eedf13bf24fe5b9e4d4a43ac6a5ec8f03ea21482acb720ee0284071f98b647fe6f1c25582f047c7b4dad59051aa7c7cef5e2f7ecbbd691b44a2a8cb36fcab1df9c9047a28d277841f5c64b427776468c0028877710472de6d2520e0531bd2394b5a121911740a3c3283893b619e7dd41c191dd0d8ed727ad6a4246717817fe6333456be6c0ff0852c623b43f2cdfba6d3fdffba91381c48b41797250743dbb93feb8bd18bdd0b016c34bb495356da2fc13610bf7f5a7270c3fff3adb373f963119b3b01deb08f52bf0c6f66d818f52f6ff2bac27bb026e84f38a44173dd486f41ef124384c65de25e0c15223b43ee14d4b4cabba9647239d5848623e6a6e81b21099282813cc5c057e73f1d989873e982daf7454e67727044c2877258248a81b8abd41019d0092c793c11e3f9eb36ddcc5ad91c522f6d1365f5ac914d1e6cc31dc7d18d26fd0f8113ceaf1c8e75f1525f3ffae5c2612fc3d0b6ab106c6a87e10260ae59f79688ed3971db359166f0eda51596d4dfc7591421dca3e7fe4524bd51da204f0abf5a3a396fe41cb6400057ec1ac8a1a02a56205ee73acb926f4e0b0864d36dcb8b859104c6e52551b2957c1367aaccbe491f9eb186a5e42bf8adec3ff04eee477e43f1f7bb9ed6c48053c26fb4958d8581725b6ceeb3e2e4cb5644c10c28549efabb0455e8b207c5547a9a4c213b061fd9727a2684fd0bef937d8064df5c616b0d29600f3279ffb21e262f864824c84ef906a2dbdb027913fa739e250a9071243330f69aa2d20e71899d59fd7f8240b5da72cb002015cfc76e6bd326e8399f185c6392c717e26864df57f5f0b590df172672b8384b7f6c2f1695e10d1cff0aaac02ec77f7bf0f30e807e6074b9192e2ffe724c48dad36dcb342222ad4140bb4e6640b69513b017711efa12285f4ae955a13e99c6055b0eb444c7db62fa8a56097018af08faa1581b9dc212437b894c56b80860ca967ea4bdc30a58b47ee50687967a2a3c4f1b012d896fc376a306247ba6722d01bca9c29095b6c7d68d9e0b3cb378142b0938960a7eb28fd79ec1b29a2872fc2b236816c69afec4ff22b8b8d2d969f0b82b0af2d599ce0e92a73baeece572828fb257e58ac2649b051e6e539de3676f5745a7c87a28a307dec243179c956507d274ab91aab1833118e2b419358329c2fa7bcf766a8448fef15269b1175072b08253877e8d3be58f79913997d07e5d88eed7455ea312706d0259ec43fb5372d15698def71eec8f8b2114b967a0c35321a204dee5cf0dfdac8c8fa202298e3ad37bfdb1c24e8d0282c282e4738a3a37e1a85221d64f1b9c8c57fd0067357e72ce017929d6c0c8d16ce6dcd3ef8fa10822a2330a3256a816f970ae4bce46ae72e5231d70369dc6632f717563327a36e1a98c58351b74e633c9e10f32790d1772e3ff58e1414ee45b5f6a87a59544e867f64dbf0491e8a36c071d6aa25922d472617157e1a3871d7c95b2e8d10884009f9e707b18daeee2f3bca6f36f26455d72ef44bb7699c00f8797bd0536cc924dac6eef888c76ad672a71f33df6b3cc1f72188c5c6741d58629432b85a8dc0896bfca1d2122332c4355ba07279a208164728d8bc195144fa48c5f93716acbb4e89a1a28deb0f99fa229520f1626082e641d1e4a12c0f6a8f5c2df3059e666381ce05ba711fbdf6edba1f25e7d5cd6b05372530957868c77949e818b452c8e5d77df2c7cf82f90f23128bd473f2dc7e2d072ff0409e2550b3a6905823e1bcc6fa90cec9da45f29064392a84d9b86dbf9c94caec2a693e1ff15e3b7f688ce470f5c53b02b460059b5192d4c99ee1feabd3a4129930de2aa97859919f76542e14e1f69c1a851d3422ea5efec7181de61511c7201d957b01ec286f5b1746e04fcff19d4996d054af49b4d6d37288beb7aed19567594c181f1d94b8ab40e32c0920e4a520d522ca1311adba319c0632f12ec7218524e9d8db536376b28cd309aa4a3377ceab391330040ac6d0462746c38358f6cf06a050e63c8952974d4cef608c956c90c57595b03ed8218b46c25041574fc5f40f0a6dc3073206f603aaf882cd313cd09a25af45fde90c5e5b6990ef17472722942cba53b0af041e7e545056771ace1219b04a6d49b0ef5d996645cd65eb87222dd70a70810eb25c0b8fe3d1a346e2785ce2a1c38f1847d42ad3c9e0d8e8672210998ad1b5867fc19620c91a860bc2046a73a766c0ad5ca2586c2959d0d66378a561dc9f5e7ad37035e40157302da04cd56a0f7373edfe590a34317c2b5ff6ac088e702cd95aec266da459d1c188f4716859eb7ea003b5433a71fea11831e722e83e351a1791ba97cc2ebf165300a9632aafb355389c9c011d01b81f7c16a72476497f2b094f481f5f6f393d61b99d60d3cd6d0cf4b24df4d7157779ba5ba72468955f6e76d15d429d176dc8be431f371bfb9944f9311dde55a3d2578fefb72a4a2234203b1557d77a9191016f442a1aa79776e26ab252d414f0561846ea4343b3ecf85cb71d0b414ebe9cb9d6d24501d60536d944fa61483a1bae92e9d3272074951b44936dfe83102963b0b4a1c20fe3ac3034e9cc7e2c2baba29480f106451ecd483e548f1a86b3f57a431cbd0b86104ced0757a4e88d667b441a76516724d198ba7b7cd7603f7f32a0e2cfbee55ae07835711dd575410ade8a8d305167287b173d594eb3e68c25a4d4e063904a3a1d24e2a2d89586f96a33379234ab772c3e4991c041420001728e4602a273148a9162eb56bd36dc582aae6eadd272572a8ad7d8f9d4b5e603c5044e8c97f5172c08daf7e4e0c95b38a8118f10e227462d1061adc0355044c2142fafcff14bd632b9fa9726e711f3b3a52e2eae225a236cd2cd276644c3d1387239e49e04bb065d07d51db8331223cf7a5af8d867c124bc2c1635dc3705ceb1fafa3cb1466a0d34408fd60d2b69f8ebc3b825d6bdf6a727d0cf868477584364c14690a00c2e2793a81d373451461a40548570156b2992d41ee6c8f6d5e2c383e7d4ecb54bee8de72a3cfc2fcac85be6b00470b884162722731f096376fbe1199d86e7cf1f351566bd73d78ffb072586cebff6c31c8c372a51ac607627d1351f22ca989322d3e61190506495fdcc958f69764efd2a1f74eaea5b869a4fe0b44f6c67c2ab5d8dceaeee015edb1018811efbe8a735f73154783520ea3759a6acb6671111c956e75c15c94f187306eeb09a8c344fd17b2bb72b8dc1575b45e7022cc444699e6c8d36c02017c627862166ca4b546476eb9c872e86bbda79b3fa1b9e2921fa8451f2b22b7a600f89e0507b3010f8e19720aa772672b44dc78dcc5c775107b831e9988336da3d5221489f45432590b21d5119c5c27a7b0517169db747ad4080cf144e4016eb17029ca7861d9ee3aae593fcb2e7264979c33529b66475f43c0e650572f53f05e5cff1ed04ce18f23a6ba2d01b472bfd37ee926ac2d3784ad377b68c33be90a21c4d71018fd76bb792f30e1799472d43cebf97bd822e4756f4ce4e5ea36e86bff8371779fe9dd7c8e056a83917172b29fe2c6490b5993160dc7d3e4318e9383e51c791d67311f031f0c730556035aed371e69448693912f13464138f1c4ec1502b201bcd2170b7da53a13dea0196bff1c869d818fd5495bfc6403a43d2e7599cea7a85d6f2523ada860906be11a72913d6495dc47b3c671edcff0c46d5cdbc777ffcc97c1978ba5e9f4fdf3366c4960366ffcc4cc23713245bac3af09168c0abc75a7e04a61e793591d974fcf1025671d9b61a9d60b70f8758f8f9724281e53ad9b01986d3f4aa768ef87d871f854e92d88ad6eba9434bc79019d1ed4520adf9b670753031f0fa9eddcc36ecb7c72e49e41485bd61c11333a1d33013250f3caf76da8b2b67d46c747d26a0df75a53ac53d58f1a91b1e77c568caec53b88ac3bf39660ac89de6ce4fff7d393b6aa72424242abcc40b5308753ffdc6511ee51abe7d1e53b5e99cd79ba3767b35f8172a3698587ee35bcfe71131c62b31c373aae4a7a5904ef415bc2fec19ae8ad507262570aad69e989073b331c6b1309df213754ba1872de6a62d3cb2262a8459c7280b174f95567a8b06c59369c97bb172b7144878acc0095884fcf00c07e811249ea87bcc41db3e74474227691e90ec1e86501e4adeafb43f51e5713eaf1947072430cadb0f6bad0fa29e852c098d042acadc70bb241474236ef41f41311602172d31ee329741f233277bbdc49ac424040258b8e82dcfdc7ec8daa799c8aae847232bdf4c54ead1cab53810ebd5cc7ea2a2e7dff847de5a16b63f5b4f6b74ad20baa0cdae25dcc13c0a573a01bb3fc24d18b5e6c40df680ced1dd097434bc2d6165fe288b0e9ca2a59befd9109d482847c99be3f98c1468e2d4f7b0741ab2d9f5cf084407654cc975d552d9a83bf8f31bdaea1c36d913886595b61207ba15b204b210d633ec46a1a6d91a47bb4c62dc69808c1b49dd8e26aa172d0e8d520e08472cb99ff7ac6111f4bb7a1fb7a33b5a3fb635897276e49b2f0f57a95a917f7b272de7f2969025abce969af4ae9f4752f1bc8653b0af158c18d95b3279f158f51724b3a7660c9c84cb8dfe41fd1d62c7d0f5f63c5bd2d5f0f30a6987698f95a6d721f65db54f2b42a4fdafbf39f35743b7ee845f02e9d4c302fba05788d0fe97f72b74e9d66d58b5a3858f09bcaf321b2a2dc3d5c4cbae0f335a9e941b2c7b98372677a45974f65795e4c0e03208857c75f081f563f5074a5bd1c5ee1200167b8725c9984cd1ad442c32d9ff4ffb4fee47dda2394a7a764c0188be9b2b2e4800d658e491667461a31b6c7979a8db7e87aec8552a40b6f876a52933ba43b75a1c94a10b0fa23767f04a8ae24d89a56c6c32f2e502dc025206d58674f9ed940506172c8e78a9385d78f6aa4eb192adcf497c9b879019d40edc2baef5eb01baf112172d2a28c3bbf992e40d4f09ef32e47d71b5426bdb267312b141e450222461e59726614a8436cc5bc7c085d689d5d23b371732a4875898628c9acf339b44d87127248e307725d3465bcb7616551e7baef2f43b06afbca32df787c80782fbc768b15ea6b9858ac2e868c5e4ce832fb6067b5f1dd87480ac5cefad0ad4beb66e7cb14d577e9bc4dcd1819517caa682af575392fd08e2050116cfa7ad95a162b38255cae39f142c03e2ae3bdec840ac4abbc8cc922babc3eee1a8cb4878aa111a6457295bd56f3e57701d33f164416da0ee897530f207c2fc5e8911275bf158448b506e4d57db2885b8b4474d95775fe3fe32fadbe29d5b1473247441ab2c2d5f3270c04e1b1af265d4ea583cd9137050ab08c6d7cfec5aa13f514dd80171e2a48bd720436037073a793f1d6e61678532296d76ae3b2b5b30fc13c01a1f730ee6ca517d75c1dff3c2e48cae5b88c3254afb71d091e2b2680791d5e6dfa3270713290723333f5e373d1452b44a37635298905214caa9cf809834fc6e69a1197345ed2725320442e779a083a3010ace7b6a5038adf15c01d5f1578ea317982c3aa5e960bd82ea490628c45a6c483f1d2d957a96bc6936f95a981569ee55769fc4b37a3720b1c5e024c3657f31ccf107cf5e7b5ef458a0978e469c7033582dee104c47b724c8ec264c5e694088df7854d3843d3a0162d98fea3c76acf7668b9bf4eb98f1920150a8553af1b4523834a2be5b7b51bacb800b3edbdfb585fd0adc575abf872833c58e266c59f4a7ab54f862de913986f65c846af4f3f7c99b53c22dae8e1255700bb43b933a82025a1d53ed07a992286c39c429d37dd000f7eef1c86d5e772218979bf16399d4a2ac50bfe234545d07d0be2390e79b9b9e8d315f330da4c72481dbcfc9f5f46542a45a5e281ed6707096c939ce5bf4539740a7df039926872d7867416793d10ab1ea161a3c819798f02c4e4a497f348d81a3484625f434672c00a72597215c50039ab361026b97b88afa9925487576b047bcf7216c2935872be9a8bd33b0b646efe1865985b9dc12bfc0db0c43b63a2a5f0df7b37f31d56726b4e125a1fb84887195eb4591a3b88d3822072293996102514f315b6d1ded825f7f06f9421978d5981faf4f5f4d52488d21ffcff6b14b04870642bbf50eccf5fd824a648027251f94bc6b20d396f5092c44f22c41bf081c9b8b253a7e39a7972db6aba7bfe5faa14311a003ded27e6a501c99b7f137c364562e4d5b4e4090d7290a94f4afb3559997e4676c214f47c42cec8f1ed539817b076934cc050037c7294034435aa47678fff9f156675a845ef3bb50e5cf63946d6b0e53c09cace007214dfcf0ef0625e1af43926752b7720279749748f36e8409abc729bd1a1b9ae06daec9ea564e4ed301a77ed7c33911ec044d82e9c4296cc173c0f01298506c972ecc790eb0a63faba74adb1f77fa64068ebab8e3c9840be74274374af0250f3728dcd4f350b571306278c7fbecc95c6a98d7a16faee8598801d101bf0ce90471c113e12223604e4cd0d324d796ea5c52a87184da4aaa490c5fe08a00dbfcff302f0c4a94ff94f98ee3b0da425b136fbee8040cbc0670a6f421504b2205cff6d4797124d33603770a2d1d9e79cfe90ff43df98cb43e0ad0858e1b39c2bd1713d721b2222f71a91e26c0c722aba90a22ed5eff33601874d7be60cc6bdf5b98e045b274496d955af3db9196011fe0bc73d7ad077a43368d92e1f20e7e23a4f60eb5cc7f42fb126b659e141ece5c2bc3c984f2777c8ccf7ac55cfe85bed19d15c0458212b30417a74bfe19949bcc3ff2bf70bd0cfb2b92df88b627c086d814ece4a72c47b041bbc0740a255d984e729cb6db1551cbefed7b31e2fd5a673401bc24e53e59433bcddb4fd669f056d437d1c3a2644c75d3fc7bfe1511c43cf9b5c6b5d454fc7f6ec3852dc4c2f38b742f94598c9267b8d52434f34d88d6639b6f8584c5c4f3cc00a01fccb31efe09134bb2ecf20ae6d35a5c09bb076ea78c1802434bb72ce7a7ee0aff4d58b4494d9273614fe054af5cbb3edcdce10c3df402209fd0f42364a2acef9ab633ce4befc6fce152443e36c92f853db5583f9a273de97685a7251b94b7c3a6476a1a063e801d34df7f43823150cd2c433803b8c104d88690a72159a2cd07cbc935f0ac6c3d3213bfe91981808c2c92240bff40221587b1cf472f85e32ce6d093117672e4fc41dfad6e79e413d3f0780478dfc766665d93e9c72f76447f6bc323fffbaa7983ecc07a6e614c0a1b180ee41dfcb5ec1fbce2ce40bae968300561a1f13fb5ecd51b9ab30f7de45ed561e78f2a20f1e1543e72f25723de87b3d39480c5590ebf7fa21f494915766726748333512ca532dd89a15fb09f62d624e95eae3720656a79eb814ac96bbb79c3909251205d427542b0d3f9b1ae39d711c1243412bd4948dbe264cfdbbfe0fc03b725582fed462b386ceac8d729be4ebb8f92c7d4f94279f8f46e2fc0a1c76712bfb9ec4eda7891b6bec250d7204dc32fa43012219740faa71987b0e391346fc6377cd1ce5de8e843deb4a0d5d600eb164c24fd6639a1665145ba3a31d531c05ac1eeeacdebfb9c7c58a3afc2b736e54ba5204d7f8d946db3ad89bcc8b0e4c00f8037cc4b977c00f94b2b60c723618f3f1c33c121b28520fe5fab7fbceea38e7a8c3432958c8a311aa8901506752e7a1bad17c577ae8591eb26c33bea778aec65167334bfd0891906646baf2725f03b83c3e1f19f47f96b7b9c459fa70687434e199d213968086d4d9d414900927138b1a2af36e3873157cce1cbcea1f0afc8e07691f71dad53f660d7cee8172167348a11b6b71a9bb281702526cf82fde7041bbe108c934c25cd237c5d9d311a6c54a24f4a659e0dcf0e299581d23bcb727274d4be19df0dcc536b097d92521565b6b40db6bc877e86de879af614eee0dcbfe4509a95366c8b0f3264467cd72ebd813ca1d9401e6c7cc52a46810babe4b7d4a0eaa5af503633bf73331a1e57200ed85a4339afbd44bd91cac01f22e63b873e36313375b72b2897912127a1b5c33ea866ae8d61ef0653e47673f15db268882e0ce3ec6e6ce7d0da6e1a9b91725e21582d6a092d83c3e841b78a0bf639fc83d3aa081835c96519e9deb6cd11b726c3cc29a12f7fb7265e30fbe3e963d5c53a048a385f0bd702b5ef51f1f59f47260c2fc9871f66848e6c2a8221134fdc8fb39bfed94a11ba4645feab0da53a572df3a5c3b95f7a7ec30a4303474c21dcf11249b6eb0682fb492592d16eb561a726547dfea86695cf53a7e55c582a11a2dd74350f2ef34e88f39e55d4321f088317f56cf5c87eeac3de4980602e69dd3bb55cd71d5f574a681bc099d6b1c939272537710956fee24aa4b33bb98e12eefec0ada917fbe5322dd085ec2d3b9a77972c0e3c7598f346ca4e9d173440ae1b36c01f212cf88520ff53cffe8c45feb7972ac33d4b0bf1579bc6f874e5c8766814c9359f17706bb6f3b8bfeb66edf4fc172ac2e55382f6da2e319e81479b476426ff403c01ecdd565edcc13e49e2428be72ddd5efbf2d7ff8346e9bcd4d5b91ae8e88607ac4b6bf5b8c1918cd0f314dad3daf77d2196c92a26b00e9b616da6c04d49a160a776dcc30d642b4c973f092e2720290af94fa5e5919f6acca66223c40163c35ff7bd48268603ff10d42337f26605f2bc2d0866eb27eee0a77a2a6178cc914e77f5c41ee1692b915b9ba9407ef6e9a12cb95495358a383e589125a4b6a96cbc414caccd59f86e9e69ae8b730471a42e44a6361ddb0232f16b6beca3087c660116d72e7d95a91c6676dcc9ee4f872f9b1c344e0b4937519ec56a07d58897749f8f2f253931e3109689d14beafa71d0fa4d38d7b45443a238a485d4ceab7358543663b590e26d40c92c342c8a97d1962cb6dba0411d2b586c30114daba6ef395cdaff3f8ea4850cfce2050f4972b43d1be8e39e759065024a5d2c78baca3f51bdb5fc956758ed617c7457c32d3b8700257dca038eae810d95b44ad82fc673b87c8e33f5540cdca11d36fb9609169729495629e956b75dab12b06160fd3e3d9949b1e73290bf15683f2d5270c9bf372949864969d508832a2de22d29fdf97651e21e2c32918e7ecc9b4036d41f2334745d4219ca717b8dc249d3a9ceac59b5008ec62760f5184461eaefe13a4c5fa721890933282796174416b7a440d74ea93e136ad026610dcce8b1ed17708cd915d17a6ba5dc9c2dbb88057749efc9dfe932c93002c9513d1a8c39a359dee829c7235173c04e0bf1c615c84a7e6d042e5fb3770064083b862e9e9547b257e75f30b3de32d0be5d08aefca1733d695e82f3d5c22028ad3f2d03fa9dabd26abbfa57286a5a33859ff90bdd170a089c1071aa5fd50862ac15e68e947ca726758b2cd72cd7d5234d54dc3256abcdf10ddbb9e96e4cd03797654fd25a22502497259d0727a2c5e9f458285ade166e5530bde1401cebd7ff5db93723684ad6471c012df728b4ddb24bf151cb7d1bb910ca05bcf291985199d929cac2cb778e8ebe8014e72264e4c1d9ff51153e07c7e228a22a821bc9f27159a4d74da6e259ea3fbf97772b672ca205c63c6937a09927f52678e56e4a6fb7aed2c61074825b6e9a0c29b48c82bd1f3ce8f8fa7937aeae2c4ae7eafbe3c24d425355b071ac61f7acf17b672434a9904f03141948a903a2fbf93ee3fc23fca361413c7cedfd28226d02b4863cc70056f55ca00b8a7ec95f16e2e47b190dedb83a5116d28b3b75598954086690a3b73a596563a79668a764453eb8adad772a98a0eeb97928f17d958ca511a7235b50e36c918e3344732c8e99a986ed16c6693050ba20c871361f01efd6cc7132790065fb271c96c971ee3ecfd9a6b7a103399db2a9d24137707bcfc2d0b07727da884fd501810d718ea5f1440410b222b33b959e25f3d99e083433e38160572c95c510490a5b188b92e8fa0931db56367b2cf7421760b0ea4c0cb196a08a572ae3a263673b4fdeb0d1a1bfd7af8cf163d065e1e3917189fb9fd06c2ce382f6abcb80f65385f8325c2014faf50d5600574bc0916a7ae170e6da5f4924bf34b097751b71a74730e0336174d456066c1bf33d12609840477a08cb4acf8dd5f66721a6f1948bb0317de2ff3107decb9066da999e0454b730c525b57fbd3d4d2ff0a976202f63770c6f7a44f334ce91015350ae5fefb42b93f219fd9e86366eb9e10c5c200583d8bb616c83415e9dfc876d86df0025923f19f53a5f66dafa9bfad72b65422edd2a02a69b296f8a3bb648053c7da85206453e899a38bd6e14e49f0132ba2f5a5435266a8cfb5c338c192e3c7eac5143cb1d838ecaf3b5b5ee5b49150c0a2251e5051542232fe7f6a0b066254f8af1901004c0b8d93419e4d5b480a0c76e0bce7031cdc23fcb5f4c361fe1c7bd518c5cb332d8b0c4377e0c3cf914b726a6bb7c97f6e2a63866ae89867aa11c79a9c5456b4a71af39f9ca96234ed0f72a3df4380d1f9668698ee713ff6f9bc6bb8fb4add652b57e34badbf13e0c95868dfc367a3afc19cd603089b425d7fcc76dedff2efa990e18bc4ddecd90d12eb72f53983765e33d968d42d755092b05d3c0ab466f1b5889733a3240c6a8e468b391251d70d2f8bd56d5c2de3f1763aa4b9ec56ce04a3ca42f96c6d0515fbee5453616588049e8ec5eac44f800166777bddf33744d1baf6a94368b5db547dc7ff134f80664c0d005c732a0cf54995c9574ac4b4aee13132bd3a0616a94b51d49a2153fa656da99755fe55f5f1c24dd14efeb20aaf3adb739637031d032ce203c0660d7d6df97b85c15ddd228af2058f55088c23f423bf0296a099dabc19fb51f0722456260450861bb281efb2042039cc69242aec7edfd25875c7fa57a7d7331e4f3f98daac72e6cd552b779dc1374ea799129fba42e5abf11b51eaf431da9f9111600e855e703f7409d198f9135b03c8e40b9cad93deda81e263e58a49c58441728a618e11734eb7183883af6ac917e113e5c65115deebc7ff305d61b27c551662f27c84b4deddc5e4095b3d10ed53151051f1a8289cbdf1ffd7942e55a5f23b72f3afa3fd9706f8d909096cdb3519157d2492f2a67a45e195b1709f651b78cf72fca4b41e6a11886f479999a37f3d82769102f46e4e9dda09339145a2006d4072a9de63b10c6dd5d4047b8ceab6bdb6c5b79f5052e5b8836c1c55b8493fc87572bfa8a6d8f7216561dc8d05e1177e56ce8265f45bcd1b5392ae4c3e4af590ab362838fa44e4bcd237504574dcc6a534516d167f424b3cc7af8165a3d718c11972b75f561c11fd187133db4c9dd4c6fb365a181951c10c4098acc38873c97d7915e53f32f7261aecc18f0ff20da53c2ad9865fd50a677be21d20bb90aebd02a47202e5c746b77abc67d6673b5257bf7f49d875ea999b44d6de771f3cb9c96873728c62e2df50d89eff1e2c67a9e539ff181a7ddc0ffcf2b7f4610251acc8cf5a72f8a275110dc82f9bf1190602706dca33023d0b33197391d77a320ef9244551725d586318a891eec713f460f20ff550897ae3fc74e237ba54b9957d3605009d72683afd2db8da0d9d37e9252632d2c2f52e0bb5084604fdeb484405ce2f34b91c8b83bfca3d03e3056a3167bc93feadb44635435ad959d8784c4352e1f8d25868e4eccc716dbd8377ceb939933a43e50f533c8c0bddd3959a8e162163ea3b2c2f7551a93920aeb65e3555bd35e4977cb0635cbfa3e7adae47ad16faa8b7aa8e7250e6ecc47bb15a108b0afcef1c24622bcefa939bb02c05e0af6f6055c8505b72b5997360b253298ec3c93113c01de8e3336a999448f0f35382ddf80c9ea4e35a1c1cd03bb7a0103ee7304ac1b4f8e63fba97ff1f09ae7162d5629fc804348472ead799a9822bc42d11e8ef4c54261a1c53fb6b4c2d74ba2ebd78717cfb24d372fd6633ce5bbfbc3a0635df18c9932b230cc547d0da9004ec2ce26c06ef95c628067cd0082a06f7cef4eed9970c2d8c7cc60ab4fb5d6ec7bb08ade6cbf5ceab4697f75db0ab58d6585b8e5732963d58c37b6904bf7d3cd57215725111fbd23120214ac83c3c810c9f3d4a9a1e43286ffb3835972bb6fb0521c107a6a67696f0449095f504ff1c75d0669052c6a45ed2c67d1c59a792ed2b9bdfa09d6fbf856772960633fff9399c0f86b02e16025b7176ac7451b3ebf384792e98e96660a9d872b4ca5aca54681d6c47f1db218a588341df779fc202f8a9726a567d0ea1a7b23af7d14bae90e86d5c2798e7e0207c6a63d99e0f698e19e8fd2f876b5505c3fb72ed4b49e323b26f4cd4b42080f513eebbeb2fb8e39c31ea34730873989c461200f99d1fd3dc40cacb6e48a523a53d0c6806ab66423da93de23e503f4e94d24423f801e788987a9ec45987ac3ca0695dd535375c28025891286e5aaf80c995ee2ea0cd81d13c282b8a29b6acd11e6aebf231135ce0673536e48dae37928439ab72b10e60b470cf8d66dcd9d3422ad47d0c95f6a25f17e49633dcb0a52a209ef2482ee2467ccbbc8a97e665b0ad7a29a811f1bd4dc76af662ecc6d824a39d58b50f3a54e29d144a1d47bf4e88a672af073596bf0681d4aae55b504307b48fa7d572d2db25c39554e83366b745e4a0e25d24f95a63731804647fec26d6b9047e6772c76c01b287c2bc98a9de0af5ad0564df6b7d21c431464888849e645b916da972da4ce24af386ddcf9811edc09eadfb16713ca16ccf95cda4fc56206e84906f1aac30b31716bf035ad564b9dfc5bbe9bfc85095554d28852149f712135d036d7282206d4819f89701a7ce41aa3dd434d198494409311f4f05431ab2124e789d15aa7a5a93d8973dbad29eed903bea29ba233c20641da427f231c0bf12c1ac4254dc1a9d4d9a2cf228653bd386f9dc0c283f04a4e91ee3a2d6c03aab50c0abf9647d0721b4718d54db43324a944812b96b6f844a9a656fd3d9c4acc8f0f21d867241ae8bce70fc98fd1f577d7bd7da2f309ed7c45f6eb889f1a68bf25f3ce1d13871eb3f31ba977f20cc7196cf4fd2e2bb055f9a779e0034ed56592601b7e91510702e3058767b95debed35917a334dab2e14ff9b0a834daf2bc2d5a27f51d3272f86d7cc7001aced755f07090af7765eb2b77e66b5bc95b36aa02878d8156c32895fcfdfbaf9c69e5409e48884d6774f32489b9bbda65f581e3601bce5c950a727f276b356821fba8c41ecb536b36b2e632fbb4e998d01d5c109a1ad1d7792672cf731cbda5f13a30f913e4e2dbda5245d21f09878222ab1bc37efa3738f652471797e333e6f53651e6623bf8ba61aa03fe190fa96d5d1290854ddc60b6ed38721e184f0fbbebcc5bf50871e5ad826ee9f5a198f071a57dfe21fb8eba2083e71c9c49d9d4e0bca26882ed3c2b2b757696c07a16b7342bd8b3b11e10d339ece82367c71a0fc255dee764a5457cd534d43090c87750ead34211d2d47fc84dc2cf7207cffc77b0e890803e1cd26bf20a0f2d22acef7646b5f9bf090c4bd6d15d6c72da14938b6a7b63818f2a173e679a5624d56588e6ab5e608e9c931cf36343f26ac06c4c6a8d18039c69c20d4ac72e4881512ea1afab9d3601b66c5c14116f401749df77a9551c70b4bd9de38b751030eb7ebace01a304df92e78397e2cacc4368f5b2bf3827a569b3ef07c5ffe1396d7e9fbdca0b841570d302c05c142bd1fc72c759fcddd767c263aa79384a7ce664c3c31942ff9645937d54ec8e7efb61410c79f7eb640ab67f9b33755e6af5e6f8d2900fe08c16d885f162daba609842e94776c0822e5035145fb0026ddb7a15082c5fdfcee19d24bb220704a5dd136aea7237e3fcdc73c00ceaeb7e13375033f63b8c28baf463d2e8e54e809ed7b24ad2728a486d4601d2c044d4188fba8cf2ca1c21b33289ec0770e0f4fce25af0f5fb72669a55c77668bc03a16b80c718c5fb8fdaa59b8adeace3a72cea905aea099c623b607435b5cc364c5ccce75d667ea04bdc4a4adc35acb18ed099ca848c0c6772a4ff596d4320a50a545b6de93efbd86df6830e06fac47ac95555deaa4d2a3672465a6cde8bdcebd9621d66d39aeceb032aae7900ef256c5fdcdc2f47db12a072270e9fe137680d3016be3ea505327c1e1bd0941425bea1bf1c5cf72648870a72d213d99ce1461c1db59a253ee8b6920560ea9b7ea5ab1670078cba2b75c54d309b41a850ae492ff3c95c2758474d5d9a54e05987febe31118637ee8ef5f1d972636cecbecf9c48ff99473fb8773c162c2a2907dbbb5cb459878ec81e23673672df4ff58741ad55832c5a47735f45ba88c7e94d9aa675b4c7412819878730bb43112669439c974c075aa62813c29efdc9bda0c73329ba1c271025920c61105872e8cde3718dd0b7a78bb51773c67af74e0a3042528ec5044258700bd49061d32c2cba0af1b7771781ea550075716741815f67ed0ebd4532ae36623f2613ad607201d6e8155f0f84432f5fc4811e98cab603c40bceb6091abdfe6b8c313f8ec85fa16be66ac97177c734d5e7e08ff3f54a970a49505d6689632bef6e92a2149a0eec28400e79de33193d2a9be1736e904951790850635492609b936f0760c6ab7293af98be574946a5a12855a01816a90f162200e80c44ede6443db33c4a3ffd72bca7a4c985317870e22a5e3d4b9e2997e08301446a934d59baacba23af44f472b42774e9aa2c23aabc96dc6b9c28996874d6e942b08fb3263a2a223a61f0637204da842fc163b69ec063c5d07390461c80d0c55c2fc453ca5ee74253ef26cc72f7d39ef2fd871aed09859c6fbea86d7cae656d549e13bed802b9b252b2eb6f0a2488d03fbc7956aa7062f770c699971a99107c9f6dba87ae334d2bf16a057035475d28660671620b82f921ba273f973d45ca75707867630da9491d0b0a9e3a1959432d4474265065ce454d4d9f285bdd12d98c258bb17a3754e028b80a4276722b45e45654f21dd6847976d9b4c9fdb589c34f83426a15922013cfac24d7e972e1b87895ffcadc766d66e4d9399af176a747c7e216fc46112b81504874fc086f3d2c56677b0e0bcd87c54e1ed20a3dd999d08bc91a6c44e84f1025406a302d724befac85b43e515606ff6e52c36b94d352b7de45ef23ddbe07c5d41db2d793634d9b860761e00459d96cb70b9981368171072e945ddf12551f45fca54ee9cb72eb6e540eb90f4e08221a51da175283498f8ed374419b905238b49e4e0d946e72ad31ee54b4c9069acea5ffc990851e40150f46f4793924e77a0cb58b4fdb6950bb37742de32c3e2401467e29513a2ea1741cd1128d41d3a815128e4ae0b30e7262668a96fe2756ee6293436690d2c9d87deca0b66aedb083388f9159751a1a72c4748c1450e8e32ef382f0433a607c1e3d69c542d771acdc744e92d5d9484f01cbdf1a7b8248f4643be7c82abce45165899d70f277b08459a7842083a8c284729ee783389319dbae76806fcb6dbe69b61809b563f60edf5dbd1f83e059ab3d42f3f74726841abe055926f483d7c6ce901ef672839f20e6bc553df0ed79c0d072bf81025ad5ffa537c6363db04a106dfa01a4b0951b296b5ceacaf1034e323e00d53d5802d326102f95f53b4257436c5a76aacaa4ef708645e282191c9ff039396e930ebea6036b3cdd4b8b70b98d2d9e51586dca8ff41b4ae214cac7bf7cad7232a28a6077cf9b37217e943b4f02f5ddc7f89106ccd834d9f9fd4604c39d9472b1dfc20735fb987bbdf8a359c1c64c6df3effb3cf3d6583f9feb0bf7dbd03972cdd4b7e076660ebaea608edc673680153d61c5963d078f7a20e706c98465b272c771ba07d922197fb85641509f6e6e9f0cdf25115e8c9fb682a397ab80214348c99bc2548f321b25b0cb47b7b0e1a75fee1f973da5a900d15df967d0bc34c97231875e09b0ed64016c5ce9d77d0cbc7915c5817987938827465a4def801c3a3bbb0bcfbe385dbaad3d9054198913e945883a9a577c5f1cdee3849247c9a6d4667b4c563340ab6bc49d1013af1224f890bec160e27977a2032a3b5045e3e1fc722ce2f8cda5adeb1208afe9af694771a59ef78afc2ea0bccab5624a431b2496720c46d801935bc70139e44d2efdc8465f95e23695617f256db8f38657e65ef3727f33d8635517e1f64393c44637e7abbcb394794878dedb3c1bafaf72bda6547232989d6857ad2e931d5145d72de05ed7e490b6fc0fbee3615542634cd0acce501b9e9a6558af001d4d44e8f15e33c8bb51392cb02d436800226e3ec61f81fa72de0c5140534951296511ee7d4332ca95e7bba0cd6c0f8fab01a0a227985b8c72df0e16b50dba872f971b10a3a7819bb2a405aa9bde16185591b44c854fcd417266bdc077495d825459b6d5e08d3183d85dc41f58371ca76c38544c81c995f02f229c0afdbbd2ecb2fff2b5b81df219d273310dff4713ccbfb40cf234b1587a680e3b46a6ad4d0dd8274054e8637c31cef05918a27e2b1b67c24777676a71456ae93f7fb982c62b9e2c2ecc54634d5e8d47dc7126ede6efaef07287e7ad403127543944df66e4d942bbd7beb4b4c100f578d26e4f03cda2ea52bf5353dc97d35acba32c5b38f684b4cb7c43f60b437475c7e9fcce7105b7894726b374bb6ae172c6b09b58a58aeb2fd85295bbcc263132f9a8c46a7d697f6d57e5a18c16bbde58cdd1ce4dda021eb17447c9ffae857d40d87f347468e1dfacc2799b3a69c2a01329b423b9b8ee8c2a079abda0d6f0bcbe69a44a03195fb1503a73d210a9f8076968484eaf87fba403a956609ec3a86c3f7b63df238e2396586f10f260fca9ba5a734272cd5444bdbaa55c88858c0e473062976ffaae23ebc14d29729332538172e94629f9a6879c117ab33c04e819a4395ec70c76602bd6bc36c9f9e1e3c80e72b9aebf9732fc3bcd025d596006796b712077785e7d0e87b737f0a3e5c4380e3aeb67e664eeced5b3039f631b8099323539f5c9c864a2b4f8102c2bd38ef9d37216d1662d043f59f025d9379d6c420f2794579fcab003abf83a216aede37ed472de917483d7dcb1fd67184c602aec2822d727ecdbe996dbfff674ab0ace391b17be6fd182799c86f1812fcf591c703fce0360a5eb4d7582d1322c38b222fca572927f6b5cdc86169642fc73a0273f2a52d0abc507db75507fda4c78757899d615dc73de4ad111e9cddf77ae7dcb4af6d4c27bf87b8461fc8a485417bdc86dbe721718541bcac6a24ee2540f4fb9e82bfbc42b5e2a5c7619f4d0951c667cd13140b599487cba1465106a10c0a850e5c5ef4ff0d6b1f31847cd6b75abb3408ca772438425ab823f2619f23f1e0608fbd509afb873ae07ab34e6b4bff579f7b73418692aecd4f96daa442e9107cbf03f5655e380b3c9d58afefea984c04adf41835d3c11b4a8046a9fddd94a322577cb359601ed329fee2f8a7b43ca8fce524ffc4230af1c1fe54d55bba943ca4f5e2d7bb75e46f64b470a12c3a60b2c5e6e2b3a24d2c46f05e1614793a08ce4d055483c1e2178b1b4ad1a3b49c8e7c141a2212c72e8236562bfc53e8bb0d945ed505d9d40d3b902a53cf17b3e0687a647b015c0723c66b20c32726f371b891684cb9b0a9576151a5f5b91b48b3bf6ac288ccfe372e978c5b33c55e2ce582eeb6c566a5b06cc57cb0a8e3bf8b19e3194366c18ab72c527533f76375f2c6f29fad5187b1be3be926a299cb64e71c9bba094b1aafd27dcb34d4036bc2b0439a76fcfa3962b57d92c43f422394ecb841ccd8ab21e73149c564c4d93453ba75b6f43fb5d3cdac73ea511725336472eac3f28dd7836807242592388887eac273321a8f3ff244674b99dfe294e9bace67422fb46d7a1ba7231df200f9c30be66de9ace4cf62154b228e8f23d3f86331905cd7136b54fc772a08d1a581989b702bef9facd5f013ba77d2fe9d59302f633d497862d1adfb949c0957fd48c8e7e02beacac8b7a060b47689568c5c6d916c0dcdb8daa5ff8d41114831072077d2e5062262f96c82220578ec0821278e00046447a38fc92a0fa7280d9ec7f7df7c1a4662147c8e31b9d2c8ea5605ae84a7396438c030aec790f727cd66d246a1192b34134c891c9fbccf43fa7a3eb76c2a947e73ef878bbe0ed3e29ea7bb6b1081351f40c31c9c3c45fe6ea9c9f8e962d3226a411369650953a7296d81988f4e0eb1eab0287ddb614caf623a74c917d7560900935ed403762051975d503b24a0c89584a456d9fc3f90fecff8c2b993ff56d53f2e124346f44ac44978b8ae94aa42a7acb9bf0a3ce9e39207accea19bab902ed9ab4c6d3aab6c0728db3b105019239ad5395e325f3c77367c45b3703c888c4d2d9652db9c431ba7299a810a8977499001fe3cf37e602ed938eb5042c8fd37df12da1182ed1ea012e9c0864a4f6c1a0d512e2ce3947fba644020968d8483bdb5d828a58aa69b5da10e85af4049b4424a769c7006e13067a4ed492f625eaaabae8c834b7e8baf1fd3bdb8e8c2be5a71ef36e9bd5c3ecc46eb31ca4179201ebe4af8c33b299831d235da81b0cbaaad0dac73500eb8b4b0c4ac84b90bc5caddfd72810ae6692ca87b072ce9db328ffbdf074d4cba6b8537d3556a12d5344dafaad03b44254751adc1610de71f5f358f4f37040bfc6400fccad4da96665427fefd41c36addd1acf0626342910d851ef2bba8b2819b0025e868034201660448ddae3e5c6e1ad4b75cdda421202ba913d69060ce34c575ec6ebb41d03df08a5cbc0c88034b6a3fe74b8407295f34efd50f9c289ed936ed202c0726f0ecb157f4a1002e0054b671e14259924ea076f2652f6f75d049cc5084fd4e94162e3b91c5db200f98ffe691aa096440acc819b03fbfc57000c93767af64b824a6a959691fbc8804188126afd7af7a90484332944e1e3764775acb9207139ab7180bd6764226fc962d5eaf16aa3ae463072a817df5dbd9369a69765507d79996afdac87c74cf0e12ba73c34bfd88f440a3510f6fecc4f9e1bbd28d14591ea07f83447fb31417a8c6c585a339e3ab423553acd4cf18819ea18f8e894ce319902285023c7367acf23e2d0e26f0569df0d7248eac4d7800d9695091f6364797f6c3c0d287889a75f62a530a60f8d8de8c172880a329aebdafbc46aa82589a85bf0a82434e9b51420466d05662f2ad45e4f7264076382222d67c560e93f86f0bcdb1358531149eeaf4d291ee286df74e991421de5da730396e5e604f4202312720b080acd901fbdef8cd463d3706159e1fb7294b36c7d19375848a2776876bdb21d433bd234d019a9bdd978691541b89bb80edd89ed2f30856921f1807fc8b0a3c06ebfe1871f8c958d9e626b3b797d3d8a7279ea9d19a96b690c3af531eb5dd6538116c8d11d96bdd6edff1538a8fdaeb46cdcc1bb3c9fa8bd0498d74cf418d1b50860359619f310f38baac5ff0ebde6b1727d53e221ad813cbe7db5b64677576fdb74d878b6a34eaa6577c1ea86f679ad727c2efd3bd25e780d45f7aa3c447b49f8b65e77a5174e788c3642390b2e25dd7284039c7feccb12197f7abbaf1a9bd533385bf7b537dab1c7bda6df89350299726abe3aacad8cbbb7c149afc7a767032c06c5284d25a0b04fc89e26002c01eb7242ccefab2a8fd7368cf7e138834819d500a3e829a715175d1bf047b8505ad114ba428bf4ebac01fb00f0134a0fe9b1e7289e752ccaf17d3d32beca715ed8a172d2233bc4aa6a470e900b703c31725fbbaa129b7a77748cb5f78f78ff9a88bd72160f353831073969a7b641c2d657aa31be159faf01013f26d72c2edace3f1965fed315e3e7c7cafb0b8e793f488256d799325744e508a5d80a0201fd606be91b1a15824e51e846791c93a98682e745aabdfda70fffb054ebcd573e64e0c51e721678e69936e991c1bc71bdf75196e1810870eec179050a30cbcc0dc35490757230f6f9eb3b0debccc27e117c070c4fb01a7096baeb3a56d6f4140d97a72f2b2d624fdef92c81a063ca9480cb7a1ceaa7eaf8a57507f53b25ce85167213f87f1abb4a671f5d68acbc99df9b750b4c0a5025a8059c2617b62a5deface7d7a6a87214b150b9e48cbea231bd9c800fb96f3bc6036b033883eb9e41c00775bc1a597215db895bd5101238e866f2363d61a0e2f799c65fb3c889acce1959121453e668e93cbac71829244add1f46d3ee3f39549ded62bad7a10789bf073645d510887290b83790e6bc46f5832dc49de90ab1f19d1bb13fed8d582e5bfb51430197de72ed7133b7a5adeb561cf4b9a27bf028635d7569ba5266628f9bfcb7b253eb7572734b17d0d4cbc63e42c68853cfd8d25b0669615802f2d92f8c35a93eb2ff967267ae65f2be58be929de8dcbf3ae76390768fa59cc2a5884db01a58e435ee9c72e1933a3b805052fcb27ccc1d0d3e788a504979759472fbcda554eb91455e473f00f95265c4908555a8e892af0f31ce2a90e61cc96b6741d936deb569ff98b0594729a3a2b665931a39ace2a0dac24bfeca60e1ced52e12d0473927faa2d1021fd180c86908c0c5d28e9d8a8ed4e12341c61dfbe525ea623920d88d4d80b1ea728c540b86f744931d92a8558215d372496e0846cec06c410e86bdebcb9881d02acc24803272fd3bde274704fbbef95d9121a7f332aedd20d95a17b65ea1e22572c2db8c347b7b41757feed0d6612c89f8849c334d95a96d2f3cccf1c1ccf85a2ce21735e234b0d7d0c5d73a68619389398de5b68aec85e25c84c5943c719e0772087dfe8f9578abd49caac46c3f064635e639828f6584daef97fe422932226572bab44920f1775581f3a4fb78aa362918f256eca6a58ca5b06ef21c0299c9f258d3482a460d18177e1528165d7c577e90789b5a07af4eadcdf776ea34e87cf90820d217b16aec87c89c24988d413553350175808f8096be1d519a3b8d289084728ab7bdd063fc7a3485b51436e871fe07a5bd6cbf7aa39d19f3ae15a63a2edf72489b6377d0c7d0c2aca3a729d8a1c0f0575be285799fa97de0c4858ca7d835729192ca6a97426764b45858975bf484fc3cf7db7218bee001cba6d4fddca2f95b692f95f2a64d5fe79e802b9a98b19a9cee6da80287c61f6f4a1754f408bc691ac084931c4cac1b37a5fbfacf65281869759535bc138e678ad35c6b649a2613335fd6bce2ac8074043024599bdc438d6f12ff7c5a29f0c5c66df419edd480b81dc59d858a8ee0f57ce617bcce0da81d814f11f0cc05e98c0f599a5617ca59c572b4b84681575383f19a24c9aad05180f0a5da8a82d9d95f861d30ce9a4d7d8a71613f75706c3a9685e291a09b5ccd441fab2d666d9d8b4c4da0febd13b7be5b722d6cefad9779fb1e9acbbc4a347b3c702e08f6f55447fc24af8da49f5fcbe472f71361723f03005a9a21b4df8c2b939dcf05a50015bd7a3f10ce482ac3b32472b970abdc41300c71b040b79ee3a30b8ca75193687a76cdfb4fc49218ca72fd724dee15aa9a24bc78ad7a971933ce87f3735051bd10330452db784f83ff70bf103a0bd6e63659d210c370955a54c4acd3017fc98b0d3ae8c56b30267198f6797263ea6624cfa015c4f9d28e5032746d9383360cc509381ddcda8b462671d369480e529b8ef4f6e94cfe1a0486d4ae3a88712e9385d7e858089635137309fb7b726e51f180ab098c7c2bb2f676af6c2cbf401760d452f8fec0e30d890c7ced3206d70ffce8a05600a1f50fda35ad3400f8154e4eedbaa3c08bcdedc240d2c676720400cdfded54a85c0aac8fc0861183209084f733bafb5c5de75b6d002d79a572c3cabe5a88785bb44f94daaa07457b14c44c18e34132df572a898c0682a17372dc2be664bfdb0f19a090a91114abd9b895ff1d36e7b70a1717b20a09cdf582728362ddcafd703f6653b57755ad5b6985dd5639eb46c947c9151d5e97aab1cf720af2fc14d9d764adeae58f5c08065f21dd4cd4e6e49d3831426a938fa2231f4d00b57655a5669d0897cec95df0e8aa6ab65bfc78e7f49157b342bc2a4ba78f72f1c4f13945cbcce962989d0f1b3d0f2e1b4f4cc6e071975814f4b5a988d7077223a96da8a2bc20b6073750f6429711c50f59b4af36ed600f2cc9103c16d78909fed95234ca8d188a1ba4a702338b2a52e4548ad5645afa290a604528d10be872e551677a0b72c21372fc99330e310f4090dc7e092e707856db44730733257272913dfeffb698e154b32ba88fb94b5e0edfc5efa3511778aa3cb59a469a6c7c727c6d303d73c6a6d0dc91b0a29639da07ab6a29e10d4bf9ecf32f7644e6fde37230304ab2a229c5234d6392b9a4db2aae34dfbdbed5c9b89aac4a5df57805487255c8b30bb1fbee7dc0ab459b2608be48d832b4323d17fb0f4eddeac8acabbc3024fd6731b8ffe2619f258012ae73fa6b202def3546207bcbbe7a6c43589366570ea1b87860de604555d13a6ac9c4e34b82970060573930c6896403668aad01721fdd0b98e3fbdfe9cec3a2bdb0c3dc4ae525952b67349570fe7898558d11ed72c1441e85d594c5527883d675028222c3cd6c51b5426365e4b80a684fddd0e8721be41b5a0dad80063ad6f34c4d3416ffb0cc13b8bd045e99f5777258a5078132bdd62180b70b8d3c640756e923d838a741e0df9affc85b984ab88e39be0edf2f53b0da1e632a2fdb880d8d347b9da4c336d225acf973e1fab57df8da8beafc72129add80a7205985f120c1c4f1ef4a8cb4d9f95aa7ec666fabd91462a790262be3663e422731347eb58c2f29f5dad3c21e0b9e2d3a12d93cb2a50d19f2755b01e3d818f3473dcd38f404d70b875343e382fe1208619ee2c767ab97c34c94cb72b2f390afb9a98d85ca9d30d05b006e9bc90dc434e40ca5f855814e5899b50820f78b16ada83b6a8f1f80058b6d5e37ddd3a4bfe99e3786fc2742c2474273542534e0fc54e0bb63ac09a0396455fdb5e526922cf4163514d3a178eebee1734972921f092b592357021c88442107fa19d5cc15b61d473f29c3832a49d52bebfa7245353a5f58d77ba18b77724f02f076e5ccd3cc8a9adfdb0b20df44ba8165aa725c6707d4821838ef50849625be414b0b115ddea76b0fb2f640e055faad57064ee32727acaefe3986dae01a3fd5c16f0a3082542722a77e734f7e039bc48670729711d248a587a508cc6565b1707c97eb3b8ecebcc3cf3500a3f22be74603c87242a8e68ad5e6cb31af9029e61f6580ec83ec426521cec57b6f6d324155a8be15f5109ed64c6e0f45ba065370a0d11687e261d044ae14a5e8f74ebdc7be879d72478bad8bde488da57583a84440d08378f29b0b596729c4435ef2eafd47dfe347ba22d5e04d8c8a31aed7883076e168ccc28d0636a8ffecf9c40885a72037927246491f086b138ccb04f01c7095d4f49f61a3eb9d391c5faa304392c5b6401372bfa8a24fc6a089a8baf908951ab9c365e3caad80f5a5be0cbdb884f14d6877722b611b87389334af8a1476f2cab7b25e9ca2242bb113d77d82bcd604201c472452f9148663ffb34a8ead13cda98ea821557686185450dcb796987f6110cdb872faa6172ab401c51e3ff5bb46581534966d43e07733f47cc945f0ac86c536c062fb7bca7f867739e21cedb8f5a2e708143c4eb8ed8a2e04196e1b8feb4506975eb8205ef635e8faafbd5cef830bfff80ca43cc846730d35e35ad2a914e572e172c739e181ab9c6abec51c033f7bdbb7cc7cc0009c3539fe544260eed992190372c772ec3dec01ee71844407502e80fc93759d6d97f53ecd12108819886e60a972267edaa1309d1d38b38910f15b1c5e3875b80ee322d79c5fa44459012f9181722c4bff07da53f9f77e50154e64ac1d199eff8db4d8d0f950e043c65fcc7b15728fe8ad6d20a0dabd3798edce1a066081133cfed57837866dc3916c3c2856a7721e45c275522202d446f29b45f7423aee214c14f60f0c8bfede0bf24551a58372e639401c6df4679d21fca52eef24e0ddf380642f1cc3656f110e787a26ed5636a4e0fa52597315621a3c2539d37b2b68b9c146e5295c60da03d7a0b1f243726ad26730a058f87c2e9b93d1b3728cd2117ed8f5cac3fcfd31dea3f8463efdf7729244b691c7cc8d1e93497a5c07f90bdb36e997c16cb083517ad10ef272caa91157114583d30558bfbf9fd5f2c5b5bc033a0fd6ff752c822cbf929d1e5b9bf3662980da2a5c4b80f2dbb999514d03e63c992538c42da631c26c966e98f7372a727b1fe7104e5956bd653b6a4152895c5b46aef8faf7406ceddeceea786806ce05530fbfcb0f18f2e98897fd6200e819f865e910c11f7f6bf936b96b0d7f171972fe23d4951df0d1968940e988ef4c51d8608ff59c07362ac1d82e586dbae8817272901a5acb906a827ea5f205078c754b5c9c6b0c5d93fb8fa7e01f69d3fcf9627dd3e2e445db32ef5bb5dbd607821b2f866e53b8c119cb5097387729267f2422f2bf8c592291c7e87135d9e41c25a0c0196d517e4f171b25bbc6ba26f89328724abc2e7a9c091170b1f0ab9a305f1c2c856bfed7ef1dc684f57de4ac4f434472bdd745525bdebb0f7fbecbfcaa7083e28615a36a3f31148ccd1cda31665cd4728bf537638772fd8f6e8edf2fdc20c6c3c02caf166c0e62fa561b45067376924671cba255642cc06131d4030955361b89ebddcbb1d4250b5a5c51a72ccd1393723d4ec32b881441bff3fd975eb52e61e77d7ce841c0049ef703c9dcc2a827d972532ba66d64919779613e9879c8275cb6fbef29f1b90e59fc2785bccf87ebb8725fbae3af4f3b60dc232b122eb22f7fc1e2d841a4e988f947117ff1f766617d7232de233b76478070e344bf008f46a3c733c54c3b12f06130d184ba894e97f26deab123d42bbb6430fe0a115010d6a94fbe99d95db2263fc9f42f22b5236446729fc77f02d91e0850251d59fc204852efd264ca0e0dbcf0abb6922ca1b82bc27244915aeb3dd5eba656dcf54682d7ec2eac4d122ce32bb2630145e59a1457f35877fc9b2374419152f70d559a5f919f8ba58f8e459e3814eedd90028e615f682a059266cb90f49473b1957403d5c4b65663021412ea46e1d1ada060bbfd09bf724b2350e53cf2dd12bca43adb3e79868178d05721d2725bbc8e05339c31380372840ac8f1cd9d4446d8416d59e0ffcd98bee88cc79097294b48772b4b6aea236b38b6abba99837847a9bc9db5e4ef439c8a0a1c6267f3929379d7b71d939dca729a5e54233721c6c9a7057e00f391a3e0e84626e5079872f3571b8789e34af1722944260b6cde5447115bcf24ff60a7677303048326bd4ca93a0d78198eeb6172266fafc29ef7f462ff7d53a24faa11a231d723d8f67ba988b1d75953b958787270255a2b3cb50a6174df2e7f81480f37daed01d9f91852bcede8a4019b9c2872d086915221fc7b9e3a591b0291d876163a9160305faad828c236cfd90e17f36211c43368884207f97fe33cbbfea2f7578c87589951e7bb9cb316721ba7531653d54b3b8d5ebc95a5e70f41a1129d1084002f385cc24e5cb8bcbea13b46b8e1325ca722b12796d5ad86a3a438415a2964c239f43484829773c1962123fb725772517ddaec206967acd2c2548110c59ddebdbc220ab26e3f4d6f420bea037de1266af1da4b52da0e0f8857f239221f35e341a9bcb141e7c537501e3c693a110e1041d287ad2fd22fe5c71e8b033122f10890b8bb4c7b3345bb915e51ffb6f2e8560ab0b1ef0a552158feb3937049ae6cad4486d2d2ca2f1d010ab2f89cee28b50f45e438553f3fc3b097700dc749781a70212dfef686e489c7fefb8414db32c772d273940b64aea827cce32603af30e581c4513d05ae38443bcd289cd954234072be02f1184dd16b871f031053123ebd9465aed2a15a6e0c03986d12ee573008017921512b023c7f0fc266bf643970893c39e411a50ebf063c955c69386f728c72306e3027707246ef6cfbe283f7861786f58a9a494aaefca6a04d1a0f9f19c0727b718a92a73e8314575d760ad2e0891e98216725d341bccfe2330e7a0252b100d77d8c4f6755391ae5fdffc6ee47757271df036d9eb73b57dbf410103c820772991c4d43c94107c06973e32060dbe90699c66aced1df7e933a75691faab696723814eafce4796d5996816b427eff779afa686db04bc3146b11beb2306c48fe0cc29439f8cc8204fc193542501ffcd4d01036bf4e1c54c9cf45143dbf4b5d53725d8af727bd52663ac21c16a3cacf0afcc7d10671b6c8c0f15c0c2537d714017253f497e42ee3eb599dc663617c7f9b76e8a98ea9570299cb435f415023571a727ecfad5337949f4e411c988e337320e49491bd74500a42cc8ee219599624cb35fc0d6278dc51a789c073a3ffb1f6ecdaebca82af486ff792ea07a7ff50acd472c0b94f0c726e5832042baa2c7a0ec707ebc8d4fb7f1f0bdcfd0d88cb4ac21559e340231639f72a20b3e8159ad06f2b10352484053b5e5d3ad321393c9392fa7259751eb8078ab0849b61270cb5ecdd561d0db386d1362981516cab8305ff582ee39a6d22dbe5c0fae0c44bf3f2048307c17bd149fceef340b377e7be4d88c30afd23d1d95f5474c9f1afbeff1d0ac68b596a95cc545e895b28610f63cb461b72bc387cb0e592125c856bf525b49b367fa8c0f9ab150eda2963b9cdd4cb32be72b906f9b609ba3e07625df72a06d02e36805f7059cc1679c1789545f893da06728af3115f4a2ab6a9381440ed395b0ad7a04f874a8413020f03acf4bb98476c7207f5d267ccbfd35b0961d655ec64ddb4f7c31d7a18ba8ffa4b11b8c329148d3a019735492b98b94eab926492c05018cc67e8996e538b2cf6f82dd7ad30fc974da3566465c9c1ba7316aad69f74b0aea56e605ea2fa3a1678e2e59ba997fc5d07c3e115a1765d800cf1a953f088d6db301c78ead71434ea3b7dea4a4746bbc07206a3065aca5f3d1fadeddd1e7e1c77b88cb0124fafbd32f25562b2fa95a495518589ddd4e044e79cc8d8d4ac7f40f30e465b2545634a1db60d79a1b2f47ba3722cf1c04dcd28ad570d71e01b5780059841d76bbf687e5515794c4d52f3ee2219e3978c98e1103f15ce36c46e4a63ffab9aaf408ef00ffd69932bdb5283ec9303cb810d275eeb8ac4da46e9920ba198460676bb4de2a3aa997d4d6de3854b89728bd65eae717689fcff07d4555bb02025c5613d93203427ef6531004a2b723d1c83ee1eb72524a190068a621dc5d34b3ba86c5a6d1bfa8aabec76a2257db4f73b0eb6e71191bd227141fd61f0f55abe2a77e200efc576aa86cab4944560dbf072944253b5210df46256227191e6a151550731dc946d967bd41458748caaaed272f7aa9e6854ebe598b829ae3ec4197f01d606a3ba4ad7bacc4d876082feddaf50a336833f864ee20a35dd5172d842d9f830cf57db92806e8b16ca4b57a755000b01225146d4c73f6e8edea86888cde7802868931efb3899a75fb74d3a3b8b7672b6da864bfa9806dd2521309d39cb485861743fc1bfb28f8b7c77e588c88f4b5c59c03fea5d6b4d52e93b59ecc586a032c374500f821115bd279f5a17b152f603099674462191d8838d2a9749ea26be5efdae8fe8e2531880045ea1ca4d193d725942d0574dbae61010928b3d4c46529a193026ee7ab92cf566186acd1f42af722e7b049713c6572f87a0c6fae6247485a1d168e0ad6f2e264ee188e87086f02efa881d71b159d7f17750e9d2196d11229779ec6e63a61c4d94283c104e6a905e91fef0cd5ba64d76a993461488bb6132c9d3c0dfd8ae3b5573703290b782e915ca2381ffed25adb755a2deea4df095865b1c34699201972ac5266c3c384d5a72cfb0fb4271a45e01d10dcf77e2e015aeec50849f7fecf3af9dc57d7fc7df302f4955b8c230a9a98c1b8821efebe8f7c2f252e52889996f788d00bfe4ddb1b931af25ae0ba65654dd33e326542cac9b4613511bb6002fc471dd57085f678e47342a16d7d650eb260c673a41e54291ef0b6ae24340a6897c7d70f9efae705f6a72a0c5c62af5bb312a988d5509a64bdd4ddc943f825247a812601ddf2cc337db72e6f5579d52114dad473da364a2d1854f144f4fea8e45c738bf0e901ece11f07294999b2098461320d43a455f98f7fdb50a877dfeb376535ee3855cd248bbcd714a0e30c13c40c9d1a9323db6dc307162eabaf9967754b280a31e33c95de6037280ac620f731022e0d9b7b3af4dc8b7d674fdb7eeeb7a3a36d0ce9fbf5a9a426ddd614d3f6bee1cd4518672cd7c01f708da75fdf56d54f1a6709c5298f128a272ae190e0b0644e0410654d49e1b4fbe6c2460c12b5a1ef9cec730211871a4d5720cb8e9c72b91096cee9685bcd0c34b4c9e2695dcddc925e087cd446371aec056fca963ef52a460476c422f648a19eb9765391b8946ee9c347486745d8c07a77209433ca42605e396598e3c7f5b173a0852f26b3bebde16e82449934738a2c772f003318177fe822d1eb022be178a0ea70dc336151c1b0885bb9f2a29009fe0728d167d752dd56892408ce7e2e9ed8df2b7d8e70fde403b375d0d84cfdbf4d33965d479be0b0f9149f8ddddbd6678c7b0068d02ce073461e9a599906bf07cff2842f0d9d291b748a47fb383c531759e65f923d3d5b1303f264b45ad619c13677287781a45bda7342cc48136bcf3665d8cbd818050d5e42a1c210c2ae900dd95725daaa0b2388efceda53a97dd29cc22b603419b6a0d1179e4d61e97bb9a16ea72edea88b0a59e2f598b28369270d04918d90b3aafb8115a535b3028996aed5f374a80eee63726eefbd970c1bf08e73246ca059e02a8850efedc4764d131fd3872e1416b5450ed0f2461ae5c4fef66e1fbc069c5567f52c7e567defa403e3e0b722b33d4cb1e59850ac95e30e54bb5614372601464abc9a6aede0136cd85b75272c1717ecaea520715f0b5a27511e66e24bb47ab5c1c0a0df3002c278685c80b48e59f94d30f508ed3edbef11820ba253e03db27bfecc5e8e26d1a2d7d21c7737284926d97be1d70b6ba98d809ae1dea0164d55d03be87f28b355027845a6010723bd1d55ce9f448acad9a11b169074ed8914daffad679492216c2d258691781724d421bac9d270ca9b1f6bbcc0904f2e21f9dd1ee95ad94dfbab2b4e63e53ba30ef8d512980b64e5eb645d147b558a86f05bd36dbaaf66533960b683bd9b823622f3a65ac6d6b7d389b78e81a2db26577320f37e759b5d3e464719a0f390813180c86ceef8310df69f0ecd86e61c2deda83b00643bf8805218701c559ff59b8715dd9351d000f352b393fe43b5789a45bb06c1cf6dfe4b3b722f29bddc2ca926b03780737b30cea026b80288d63ac4290794083bc2adc85562ed57dfbe6a08b7257fc7aa7018525c71e06e895e653f7182abe8ccd9868330f43362939d02ef3241768cbb193f59be2bd55deb2f76a4bd7f9338f4d26bfe0c87cef4c6e02113363cc4c7d44aec9f9a4ad0f748db86a93fc043e9ea87e42f3bdaaae12066d8aab721f973cf7c831bcd42023a56ed8abca2dceccfefeb502fb049fbe15c816fe5c726169cf70c80f46776d86600e4aaf1eb48d82757885d20ffd6fdd46808f76de4f985382adeded768f4bdd07304d3461bb9ff9d9b42cbca0cdca6dace4ac475c0379470a9ce59b9020f1103989ca34259bf72dc648eddf01e22cfcc000b1d5a6228cba51519edc2b1d7e05059a9787119eaf40c97d74ab7d60fa63d75b9f4c8d0ba6fb8152c80b698382a29007cf1c0e75efb70b4040879a920b3f1284cd9c392f9932b68bb9e3f2a71625d03943fdc8c278699ec2c4bac03fd2dddbbb8aa61b725958d9f57fa64270197c5653f47428fd52656323566756e172960f7b2acda87240731df471fa15b83b894f8b88ab8dbfc0d09f4b05c6e5e377f65ba4903bc072843375f93c35ec98a8c7c8a901e62e9bb08a237428070919d0899cbba5cf455c4ff3a39fe8d48bb64221f8107a42e4250c650e3aa7f76d0a706d406a9de415727faf05539d7f7ba860e0b929b752973c29053888193fbd829bf165c753435c7246ae8585b6da6c4334f38608d41ca8654afece11caf9dd063fc7319ea5d47c7215d1e4db49d7bfdd93725ddd089c97aab4f690dda4fe666fde8bed370056c57285917af79caa998021f93fb4fc385983177fb13292b97a263eb108b9d0493a25271e5183a81ae25297a267cd426928754a2f69d2da8a36bef842773b978b99260f4b8d8018484e95b63825799e416ae87217e08fdf296aff96ba0de9eccb6f72e4abccd093595694f7000e2b517b157f3a0d4d98cfa84166957cde309ebaf87266afac050ed490d141379a1c2c0bec61451b799ecf875d749d0fa5f5ba178872a179ff7763156af531053795702ac2d4b01ef5ae7990ce157d132a78e377e9187059d5b0d58d3789aa1067bcf74743075c1b47bc47b981f5d8c58047c984b90b32c7ac25ee445fb6cbdc8830178e962d12d3524d398ef4780a9f759440635b57e6e95c663f9585ed1ae37998ea0ec0fc4a1708641dce7098dc7a1d42196ac7727d02d86b3f8127349d3fc470d782bffb62d1f0e426b11d810855af1479a1e104dde3bcc38c10ca9377f44543e8df2caff0c5980083a83a9499d5ef6c89fd350715397b157bfc36b83e01455794e3401a7a895cfecf3512d77d3f8e5178c1d8723112d5bc0f516d371db647db82e2c0d25f661fe21ca17eb442cc65719fe1bb1aaa008ac8f61777ebb1f8a441a6b217bc0bbce419fb9f4de46e74b9e10d3bd50ed35bde3f610b8a708963ca9241b702f265006a77a04120d14f2d68d76f4fe0720d5676d6dad39d8336c450e04c1ee8717b7f3907c0bb58d4a6f84bd79597a9722fcd3c17f6132b4d96dee424e1daa230ece74bae466970b055d96df49b775272b2c2bb9f36c44849554f18922d7e32387dc29e929a1ab7b04b8aa658551c7272832ed1465faa974fa47fee464a6439c1c3896f63e98ffa89fd031848365481721b2c546c5e0906f24101f639c649a88de40dbd0da3a3e3a65e49bce281b05153961aff413cbfd28fce9ca410f1439e5d6ad141038f6d4c15c9a9a4baaa8e0972502d83dd921b3a6d3b84979e3a6aa8fd205887c7570d18ee6802eb452709f41ce798a71265eba5817f983ca0b4556d1445ed5ca5ba472296ef14cb58fe9d0722fbe67519f61edf190350abf184a15cf11f1561e8689d503f1c5f9e3f0bc10972ecdaaf2e9057b2f0f8b6e61d5aa40095d8fc0cb60ef13ca3aaeef844f228d54ab143046ad59f6a66fa6a5fa57509a4a05e7b4928d84507ae6ecc27d6fb6ebd4632d35ff5a7ef43d53ad7096da8dc1da96bdd94e056577d131a825055abf64e724041ebbc34a84e8345580f70057d17747c0ebf4205f76367a3263de2de604c61a659c72662211cffc5a0bfc693f5322466f3dfaadf2f09650b1a77705e083a72fde415c3689b3ec82afa1d757222e8627a077d070b9b3db8647759bbb2918b160c9e058bb57863bb6debb1ca260dcc22bf822b7dd708aa13fa70635501f7750c0fc2cf618b4fe7afe64ede551c7dc0d74b9c1a34b0e5a06bec4935b9a15b25723d5f7b681337cc15873724540d52244f41dcad676592493cf292647455466a5de1d90f40afd2a583dd841f039552d1c65f7473f04f3e59491b25342808911872f9fc0aad626c53569c4efc93e88a0ca4eda9ce4887e9334ebd65e24317cfa77225fc0e7038bc06d3bbfb1f4cb670c3de7d57c62578bdd8e56efce88ae3b90872b0c02ce4a0914e3f9386d86874fa9f0ba101bcb925605acb1c22011d6025ac72885da4d31712530433cd6f88c69b5284f4d6f59c936a8cbfeb55a5d2fd73b817af76b22bc50eba6f05e4dc8469f24ae780300716a963bffcc16b44ec001d447202166c3cac24095af91ab0caebde97cabe103cf206d14ecdc2104a519dfeb22181330539cf17301f54ffeb7a420e6affbef817fa017d20cb0cf35bf90faf694a547131d6f9e644c275bf0abc3574a32845558abb3c89ea45fdded08ab23b76725ba0d36eb5b8ae2a3ab0cc0a07ac4c2ccd74779798b19061fa51180ef44ef472492a6791cb7620e80ade4b6d10503f87ba2642b0ce5bd453a45b586d9506c3727529fe514028b30ab2e5e17e2d4aec0e33d8009c74995fff8baf540138881f72d37fbcf5611fc0389fce11e1bcd3f1885ff5280a11508e4fa47a993d3706067264ca3482b02c8692cf98acc8821051677a668818d5be7a2888dd7196630a095d30de324390e554a1db5141235e55bbfb5751fddf70a8fae23d758117f71a35728774cd26093927199dcc9ae2e5ca12dca96d81764ad3f3cc7493239ed927ae72f515a3fc0938cc3c2682133e58aae3ab38f0bdb50f9eb2d7605d304776f53e72c5f3ad63c27d38acc03c452141acc363c17cfe7290da9fc3baba62b2cf301d6dcfc4626014ae8f5e30694f604412faeba685f19a44b7db4c036c3c6c0540be7200a02ce0d34154fb1a5ae890b2bc2d5b6cddbacfa47a4898c35bb1920bc57b72eee32c48e68673fa54d93c5d22bb85a1a4e957601b8ecdd35b0427d2311706039d910344561b615406e7c790d4f50e37d95c0e15fce5e484861114fa88abc62e446cfb6d682a6ba236e30972f3aa8c76d39da31ed6a24a60d3244e3d3476224580c9fa86f7a9adc2f237785ffe656a74a791b45c486d833695d68eb45dd80a7254b22996aee8bc1d6cde15142d925b3ca1a36d8f48034505f8ea88c38963eb72debeae0f7644044484b7187e38dc0366d15d1badfcaa75febe6603620db6487261375de9000951632fe62e52fee48215f960128db6b7fcaa6c06e4b080d2ec72d1eb4e69d012f0feb858dc72a9ca0c208973c655c63c7cce9f97012c4a0c0a7205367779e959305a653262d5d375a7b13226f0b22df8da5cc00795a40a01cf72f7d1632be1a5ee101b7e7ed7abd22655c8d00b49457c6e18d30f4425efa7e9725a6bf4becf0e4fb4580fa7f33bb63d7513ba7ce013c6f8773459e164b98d0463ce18c168e1381d8a75ddf4b78d6cf334c620b61be353dcd23343a03cf50750720ba77c380ec4c9d1e99f80642c244f75bb28e9f12e0b154aca0c8041198d873b6b759cd3f0b00d14de5633def16da25d09eb25bd1ab79f8ada2b9be4f3e0fb72a1b7c23b78000f3301d91b5def969e849963bf9888c56a50f5f4df62bc73cc723e6254c90302d17f4e8bf8afde70698ea75449bb6ee6e3488982d219d6974a666ce77dafcb7a1ae0a50bba46e09de37c9f00bce24835e92a026a9a46cdee2c724eba973c407ae9b4b9aaa0c9ecb7d9fe694b1399d48e397781dc8b06d6b78172522f3d00e4a3a33be11c6746de23c7cf7e5c8bcf4381d5ac8ff2643eeca6487281d876b61c01f314c375af87b83e6db54ac6e7d7ded504af8debf62bf575f76511e13377009a6cca6a642bbda096f1ce4cda5117361426b13a77c745027a78202a77daf65cf82cbb1938b0d2abddbd9dc2db6dc133c4b9c966da1e103cb101236cb0a086ad499f0eca9a944acecd8dbb620e4cb5379bc23761c67293193e02720744cbab1bfeb91de044c82912045efe92f3858515c74d7c1df08f457e9d4c72b40969b231c62d4f1a7ba97af160e3e9cad772f9f1297ae15e2388f559cdd926fb26149a0546b3555f9e31d174184fe47e60a5d1e9adc9e81ab3910c2cd7b8727330f94ad99583d06e63f0d7e9a2cb5b9b7d1420950b78216230992e9d261472ef5c73a8c61822c87a59d78b6f1df6899fdc95933a94b5ed5fedd3a45a33e372f7eeffb10a077f24f29f16d6e2a7eafd865618e104f3fa310c980969464f8a6610c7de9f7c54da10f939fd9eebfba6b6578531b3654f86690055548beebfe7721f951cb335bf496b437ddfe3ba1fedc95dda90c9b2885b22bfaef60e08b10c72ee7e179d8bf1777637eaf0fb1bdb462919cc7221656d44c8ae696378ef15cf7237a0201b585b1943cce1ad04e4991f832fe7bc2c5ca6f0fe0ab5813ef99b7f722761f4a4979d1d778d66c1de075a3fa6a3de771b714e6f9fb8dd862e4e68d672cd8d75e7a3e419e7cd0c6b4893b939feb5d48f95f8e69eb0a5cb4b38cead5b2a59cc0bd9bbd93ef1f60bde61c3a7565d727f34c0fbcbacca72986809008b795116175cc95fe483c8b39de763a66ee517d155faad2aa6129bf9e2aa7a9456e2729936a07e52c53a7a3688aa7bad1944e41ba23da32e6d68037d75cf80a45124728cfe5e8716200cabfb3c67945b32e6ab802ea5213ef8c8d29763de59f27cde253396eb85834c0ac6d7b729f51e9fb5fa0731670f83f71d6988937fa10940f272f27ba35406d40103473977c44dcaac323af7129f3decf32c9e56a24766580c08b6de7967ebde1b2d9aec2d2f1ca27949f89d39b13dcdf0437dcd313fe7bd4663b4b88a82334ed279d7ad5ed89a2bb9354c02f3524f5f90d7cfe7aae569e1d661acdcd74fdc749831e6b089f1502465d9228b195ad02816310db4fafed4f2f3721706ce21f614379a2362027da2528f0c6274837189bcd261584d6c03fc496c6a8e0d2d2777486550496a1d1547cc7bc6001e24c346041331c899e29214f88872f3a420f40d13f21d71fa3926d19b14870524afed4381bcf67ad048e4028a4b7226d0e833ebd884d410c18a1111d72933fe33a628c1aebf3d593cbbca7108d33d2ab5d1ad718dccb92528ca240bf86b5b0f094fa5c956356b4d56b6f8dd4ec747ff85841cbbb080547db92faf1adbdb0907fa65c2e7c6c30b57c9ab8f7b09677037051387b17c6caebf25f27b58ed19f8818e99965adfc975fb0fa14c1583a643c5adea20df03f06f741e7f19f08dcf7811b11f8bfa947ccc4fd0c3987ce4ce72c526604a0defe4e0ba4eaa57c5b6ee0b9a889ba66265d20ce4abe9062d1a65726be4c7b631196a2db343bc14b8d3364054b93281bca8bd3c3dd29b1a8db9b1064ba57aac56550b81b015e20cefac545b92f3e473e7571a7356309bb75fc2974f62bf79e5169fcd82aec25fe862035e244dbc74f330408d9471a4aea8b6333972f49df54c2108951b761fc8f81bd6a18c6e076e1a45d9446c8ee9a37367e4de72ef70e12ae922bea4d3464e5b464b9326eff530316f0d12730361e275982954399e3ab2e13f211aeefd04379b68d3806fad62fc527eba1ff6527c74e4fd18db4e00dbec2548f7cb4d736e98b76d48c2c9cc325df55b8dc9968e476f080f362e72886edaf606d21c4587c69ba11db770d9127a8f0302e6f95c9d97922dbd43377249ede682bf8f1e38dd2f1eb35daa29ceedecec72d3a3cb4e651c69090482085252c240500dec31eb627edadee076aed3cb50a135b7d22a8b58cd43f1ac99a672b98b834cad6051dafd1c8ffb2003636d21e8dc64b50cc2ea7a76041c0feb557294bf2042e909855b4f74750bcc98c3bcccb232cdc16d4816d82217f561239d0ebebe3e278fc918660da15745bc04c5ac354688d3635c2dd74311789cdb25984bc9e99a57e590c555fbbc56acf5202d9acc42b4eca9de53289a9559f85571b53d0bce7f0da63269a5ade91fbc965f97d5edcee085251beaa301f3da07b2cc070e7a03d6fb3903b36d4de720df7eb570b6030082ad68a4473a5fd38be9215533727040b2c0b644aa09cbd5f1fe751cc9852ad4c667d2644e53a7953f4052b7fe72585e1bb01cf41221d9648db5e81fee886d880e267b55d660efe65c6ff0bb210d2af8278d43ce63ec4fe828d0ecbeda48c252335649a2a3495e89c9fa017cf17231f8845b2e0b4510f7c608da2e483186b24374b8ed51d31c59e993b1ba6a7172e9446080b699c8fdaa5b57223ddebec7c806dffa9b0074cbe7efd831bd1ddb0ff0acf1a7caedd9ec68cef0895939ec4093c53752b23debd1c27a486140f45c72078d5a1ac0096cf80e33893d93173a31410dae309bab8d89eeb269d316d30d70d577a16c1f34a5e6e247d9736a06b46ea7f89f692ab3e8d581e7b1a0017dd465289f653ea930666a4908380b97b1d8907bd961050e9c12db7bd89dcfe825343082f888711d6ce82b38db66d9c1d7b52c9ffa55cd1e5c23a8fa92caa2fc33191468ff3773f5e56383b96fea593f5c571be2fec4391b644f3347687fbc7c13760268efcca9b53de8a4fec7c718af87879822866ce0c25966e535cca6ec57240061554b5cdb04ad7673269acd082e3cb42f5eb423af2292889def8ca90ee51eeb7247a253cbed81a20a12882f31a01b1a814e25bcde1f509de887f5577621cca5728bf4273746528aa32e47171f84d774df2ae1a981f2155ca624a3cf0a50913f056b7cb2f2a382e241398574deb5da083995a0c0a44f90b2ee4ea25e17e500f83d3743aa078164c8e7fdf7947451798191293796f77afeaebffbeeaead9c81d03d37e91e72534741146d4bf8be769df2142aa7997573abd67d37f77cb3a935302154a9198bc2efd923582f07e1c9c634c11b6a601f75f4cb9a50d5df767a84f944e3c21f21f5234ac53cf6a14cfeac7e46b1dadce034ebec6679e0634f52a3f55c2d577e050a8735d169213e3468cbec76ee2a435900c6232631598d8d9a441d3b2542faece96dcce5d0a2ccb03422fa2c5af4a7f67a050f3fcb9a1d7488d8e2612d348856aa0e3ceb06bd4d35af798eb6911637f279ff0e20758bbe4cce3f4f724db59c937fdeb0719486c938ed6511c472d27d53b27f6cd30c66f5f386fa4f7255990aeca498ed31f21f83442f07617a67aa4d8220e54d505c58d9fa0006d172e66a007338b7e668c9b78a40d4ac8c185d4bcab1933c9af41e415b47243cab72414cf001bbe3d63761b7e7626d758f27dde2acafc16fd506689fd4d6fc44147272eb00e91e271fc84b796726fe7bb8cc954c24da56be22de82fa3a0e8632d5724ea3d00d38a7ba49470f788c9b9c4a64de33164948d6376ef19e6fdaecbe4b698d66a005e11aa41d9c33cb945b9e45a84bf6e03db5bfaa7a13fab46fac52b302552866b6fcd89122858500b04f354d5ce5225575b0253394298d51621dcfc772fd04f07897535d98ba5e2bc4dda5f50244355fa2960d3c0f0db6c3533f0fbc728f5f718ec89539dd16d9218751d5826e86880daf44b016b31d7c6173479b767215a936301bee24db90aeaa2c7c8440d8ae394e2f9fc0d30e89b12f6cd482e272496ca48dbba94e010d5509cf08fb461d8334be246599bbf3945f3b8e76ccfd6896ca92711da145d1bc7fab8cbb43f6894c44b17d19098934166e50deabfebf722add78422226c79a1b44c934f4086f90532e9edd098ac7c4b29f33f5731d97729fce1a1232a9f0ac660b24706810f72e8a25ea09b30e0cabb4348e02565741724e5dcc56fef6bcf29ada458df597623523027403603449f8a2463330f0eb8b22005730641cad200146c33ebd7ea1bb5254360675bbc2edc01ae977ee141d14027f41d49abdcb993bcf15efb847a368d660924a70fd4777397a21b8823a22e11da7940aad657c969d55eb0dad6c55b93f588adbc450e779178874f7c61b92597222e4f14a14179bb0510554bcd86ab399568a90aeebb61cd99d0e6627417c8343570d20fee2e5718df460cea774d5987b74e1e8111b5e944f2a3f583be97a090d269345453f49a909ebd123450a9cf16487248d8efaa520433c7a56746cb8fa72594c6c4f444115255b3aa9d41f8ea974c714634884aaf829ba4038c8ed2f3d724b7251fe7b8e610034d7efa421fe0d63acff2a31185c79e064e7e85d79944372976901fda69aa44cca76f5ed0534b14b17952c67525ed9df9ba4b200adc8192e95ce2b3cc083533f81eb3da5d17711fa3cec85c44fdee5375dedb4ba2faf7543ac8ca83bab9e93b106821742664a417f51eb754979ec5ce70a50c6b9c8b80172b24932620656fea87ca331cb5841f43c1b568fadca708df32b4047fe6c1bd972cac8b6cacdf4d493839ae9c8e79fc23dfe63eef93872ee3f421967a2d372fc708ea3a6750fb24f80a6bf5c07a678757aa15ff48adaec1d287270c3ec0fa73a32ba0e6f643376d8fc3b2114b3db3a0d7dc0bf25fc7bd4b41b99e54f6c12cf7b35979a5c4abe038b9bee2d35d469227982e73f074dfb8e85a89d5ff1d72660962c3a6ca252acc6272087fdd57ac3e7328832c16bc7516724f36aba7a0a6a0db872a8e978b7f3d4d87e07f763c22961c85de8a556c8cfb670fe9569c021e2682d3a12b93a147c074aad070e234e1b4ac40cd96a5bb76edfd4cbb8afef8fa466d3612b6e07de0e2ae640da2da25ab273d0d38eb9401e54144e1dbe9d61f3407d1529c50c7090489326c211898200f4edb9aa50f72b92678afcb82108bee3f51cd1726c4b74d8fc7e82d6af65e037eb4945e7501049d9c5c5f12d36e93d6c1f491972e053822d36fd4c3c1989b904f10ffe38140ae3d9c9037bc7e91fbc34fe92e772fc3a1f79504a164486ccf4b2d7aeafcb9ae6f3b2f71fbcc6858a89a99e600e724a02b7ff480839ce03294f15a2d15533036e3c4b21b8ae107c6cd8274d429272eb80cd74f0c9d557ede286caa41a589bb3f1a6e6418b296c0253adc2b143fc728078cbe7a3b0526ae6610ced6aefdbef44f3d7e1030cb58f72d7655d52c88c72705a44acfd1dfb4e680d852ec6aa8657ace280614c47e0f8d6f9f7a6e94857722387a5f12c10c24e5bd2eccb3be7fd49e82d851094f3c5205718bcac443384456b22b4d88701763e7b40cded1ab3377ffa8be9f99c329d8abf61883043f08855b4cccf09e3509aead46dc7feaaeaf3937de1a6ff4c0540dec90df1c577477672ee83b0070c717c4e1b81550b8fcb57e7a39ab5e3c9812b4f42bc731091929f7217e72330a7cc76f30cbbe3f1ba950f9e6ea168d96a44257b98bf8bb16ec74772250376e9863e88f7c4719becf96da2afdb7c5745086f5fe9b7989e65c4057e72917164944118e4861ec74d3e220ce18f7e51e67479db420d9ab96b1072882e71ee537cef171c76250a81ebc5992d258fc19459ec2ef984809556e141b23cb244adc1da9bbeb174dca4bfa7213779450cd7eba5cdfb41342be9f630b4596cef3ef822df93a0db9a11d753ccd87c8ee329001c9ec8cf97e5fa9e7a76de3442f50320aa1896faebdfe452f1eba0aa3e5dabcff52688a219539db49c3adce059d4726fd9f31c26d0f27f6b8408da0d8c21317cd13b02554d0a9800f9b6737aa2c272cda4fff2968a0850f0fbef99bf6ee9d8c4e9f86a160cc48d5ff93a9ad829a66245f8fb39c34a3ca636105b53a853ec275164d56a09bb06e6f427a45437dbd0727000840f75cc0419be8caa345e8b369b69eda9aea2ba7d952c91d4a697a0fb2ded57ecd93ba6708eb36c6633749f8cdcfe84be538f8a85f92eeebe28a003c652d6d50e3b522b954213d50e0e7e5f3ac55cd38a9338d40874cc10fbd4ec8cd772f2fbc05797866bee79fe1b8773d440e5b5624f625c280ff34c594a8d8d52a20151bc342c89dbcbba446310ae7ab9cb8bf46b4cd547ac6ce40e5ea4d316718672ece16b5f348cee2eaa953f43e8836bc8c45d6f39b66d7b6beef073fc51062f50ffc4dab9e595312848cbf90c559b0b5c10e8173aedf1f1e05c4d608216edbe72c18136406a135c7bdafdd7e6e62421aa99ba97b7b014c6914ea3832662808d570bebe0860682c75abb3459eb5aa8491d0d28fdc8a4d56ba2c9f8e35236de41261792f8ed3904b2e7d97731c0d02107c1d6b2010918e96aa7d2d479694ff23f17f294940fbf21f04f1665cfa6f7e3ab64b0413525afbebf486ee8ce5d0ce3d319ca86c96efe869b01a1bacaf6d302cd6fc2bc04503da14cbad308b8caac9bf913dc095fcee4e00c2bb4ff6fc38afcb078f474666cc220479351e9fe949f153a729401f7b9b23f11806037d99ddfe2f4cbc83593649e932a1c7ceee584cd7a7072b5e7cbe90ea5866638cc1aa85ae7cd451e37e751ff500e5893629e2726578e727e2cd441677e5aa00338675994a9c64881b9da4e8a31d68ecad95ca8233f33727a508549c2d687a38c50ff9f639d2057acac8d8e95a2f1a6b767ec41c2c766293a1e3b0d02773ab22892a8a0924209b412d1594536b3a769f888f95954309e6e355a82084990a26670c815dd4b429f314f0fcadfc3b3dee35a1a0d1165de8109dcb47dfd9c75ca3b3b75fdaaba746790ee1bc8ce01d9276ca70f936cb5b3bb09432cfb25b0f3480b229e0a16df23c1a5b2778e6d8cde968c61a7bc2634f5da72fb4d04e9ffcff6c33776d8c288488e297adad8601fb916953c2f42c88f128a727fb67a3a3a2d38329548b8258e87a9373c4fc8f06b87058e7b55697721db2a7292a743563232eea2e65f3c44c015913f2564a6599a5f44e59fc0668b58857572d5679e387c65414eb123a305c04d737d0446007f3922d34c9b67023bae475c72f690b1e640d4a0a84d0814c2fe16e255327740ef2899fcd17f4370e638413072fbb1900f6e4b04bf135d7b1ee4bd032641d05537e13b1b2a3976401204af85725c835e65344e74505185725b125b432e253bcebde21727bc1b534bab8e3dab4a3d2d9183d8a4a6500ed2609753c2778e19abf21c4e77f016a0618ce4d483320a839ee89520e6c782229ba4da0fdd00122385f55e94d27e3a5e5430e69fe5e3293169435f0bda8fe4c445e11e2b3273b24cd15a12dd6706daccd0093133c3067241d2152771056c01ff87507e3da9742723236a434ad91e584afc0279e876752110411dd9ea2276a10217a2f901fcb6ffffb9f2108d9e0cb38d6fde7a4251a672f8bcd326d44d965d83d2e3b4bb4620f5a59dd0bd4004811f6b084356ae8c98729c90f0a49420cb815fa86b16e7183a216218dad980c5caebc31ee83d29283f72b0e50ed9fe952a3e1f68140a59669907dd8e78bf859a9e7e04a6a087c9485172a6428c67038b63a7f979cd65117e2775500f4d2909a4586030d5fac087bc0272ccedd50c5d74ebd267abd0cf84a1bc72d3ef023b310d846d74c88220545d84723e598cd550b20a9e26d02353d35fcf2762ccaa7c081a7d17d5fc7262a7a29e71cdd5454541110b7724346da3c198509aa88b03db1d3031c51aa02127c462690b505770058cd8b89d54a9e4a113873c121c6fc15ef5a1735029bfe125fb736072c078abd712b6700a16f66aba2cbb67ee711281cf35821180cc35a21d7d3f737292abbd93dd85bdad41dd5743307c56a2ed77d2fbf58a5dc2bfef72159a11b47267cc7147ec079080ba9bf0291ce96e706b1628e54cef87b2b944b672c2c3e172418ab2b150f852950136596e2a767576f2a3c82b5fb3f7daa6029f70c6a1df7203067cb836847c102a76dcff3d30f9c93ed55c4126004e6eb06d8240852e5c1a36323d2efde90c4488f6edbfe0c15f9f0eb865bc8c466b4684fe3add7c8b396fac99b53897bd57584902dc46e0f3065e569563775dba55727ca8134f4c69b872495e25e62d5d7995f6c9f7ae305498c62f1183946b9fb7410eea985810be807299b56d914c30c2b25f37fa81950bdff9a240f600966fda62337e9d2312ad9c4f41ee4b0274c0c6137343332af71062be72383637549e5bd4a2556fe30bd78972e170177df585d6871dcc9c5fe98c92037fa48bf900950ac9348bf6c3065ba8727bdd50ba06439e2a35b5dbff0a33b978aae0518269fdfac094928fa478010365ef7ce49d629195faa64eb64ea82686a4050e959d1ed60818644f2ad90cf21e72a7821cc5c9f6283c6a7ea77519a9cbb9f694ce623cca55e7d31fa87bbd1c13724fa656881deabdbd8f0ce8bdd4786d048a71249600256c7d1c08b943a4ea8d72e7831982e6de480d7e847c577d1ca94caf583c27ddeb862d9ad16265e85f824c53f64883b5a189c7c3a07f35f0d6511e73fd8adc4d661cf614643086f3d67072cf3dc41204724a58d00556792e3f8ca505630ac1007eb77d8279207300d7b9723021634fc61c5154e43b91514d0a284961d0beb175b25278aa0170447d89ea726136a63bab66a8b6886df800d7895db9540d5bb6531a9833e709b0d438843747e977d5e2ca19c833d3a6cc56fff1335c4b67cf6e8ae26b00a3671d93957f0672542ebbcb36b5c316cd76c3218c9b9c3ff4689e8a75396f8d401686c2132ed072fd293102c7eb9abced31e315d2e415c91f2d1e11f8731046dc9c2b5755524672e5c454268ccee055b44ccd59235e7730a992f3cc0c39397c6db1c4e8782b7e720f97c3783b991cb8172479c833e9886b15576fdd78d1b6418882b333d3c9d9729948f212e7be98e710b7659fce1000c5801c02b83e22223a6505b7b4dfd9b672e8cadb23d274610045a00bc828063b76c33d11b3aeb4880c484dda25d2ec876e0d67311ec76e8049b66e566bf90a192793a6f9695e4579b63627b4e5fb94d74edca244fc76e84ea0e9898d6d59690e4105770c8607ac9664eb493fd475c15772253bab8e920ffa817671179799b667ec4716629efa67742b22df92dc65282d6ed7b2743c044b717d0b0fdc0625b3719188c62fa97be0472248d12e039d2a4c729585095c42422c933fad88898b8673aeffadf06ce3c44755463f58fa18149b728512b52d317744a7a2429e63caf864d1820c4fc37f282f0dc99c8128ac6f1f729d529ff902b014ea9c8ef9fcf5f19f71fbcd85a5dc85bd56c8b78c0d065e8838725bba6d90e65ad151c8725742ea5abcc645a66e294b2d0309ee10304999e753d77841274413e8795817bfdf81ffa1d5521bdec89202510835b2d98c77a1130236b5b5e3294cbdd44e4b050916fa8855378430c72abbefe32fe26b960423ea72e294a3cb7b490566299ffef4411c11d83af9a497e39c6f8caafbead4b4e2d572eea9d3228357d3af5538e1459fdf3173bb678b43718d92329006177bb4ddc2727786e853b7b353e6014217cee136cbf9bfaf589aab77dd2a220698f17c929e727a2dfdff13e326229bfa76e018f5b6769018ac18e9b3efe4110750735f5a4d27d442cab514a6e0a4e3a6a6c8ab2f7dadac5a3728bd7582a592af8c2166c10672797f18d969c4e440e2d924a0e8edd649c90940b75da56f4601b2038344fac900ec29264df894dd0358ec9dcb8e33e07027fb0dc0b0ab4aede65ef2fb7168db40e32cb8969b073d8b495e43062f7a84e65f699c57719aff4414825dcec1ee7e7281a158f61ec76e90d0c16083e9b5b2486078b774f6d0b5f1dac20ddd3fcf190dcf35fefc0c9b6f0705fe2dba613256e65809baafb786cee4d15da812b5f4ea0fcfeb48298b50c1a9a40fc8e49583cca6a573ba4610aef7765fec5c85a228ba2c4b7e131016163e81a666a534729c731bb9bbba1d884ba114f7d55b759a05be72b9f9d99bf3d6b98dc702b9ca29370212a60f21807058370902ddbc6a73b9284c4fdf35e8dd177355013e54d2071694a88abd1ae79eb886980a7bb0193e7e4335286b248f2bf247ad1b310e7b05e9f6bfacaf5b92e37e56d613bd450c065c724a6fd7aacaf7561e80ba100c6f40a13096fbb47053cbd1787497df213af868cf720244ca3a73c4d9e7f901b77713fbc9834cc8dee01322c56f3a237ab74d431d72eb25177416c8ae575521432ca983919fa3543b029bf8042fb575406b1c84a0720fded20c1859d014b27f91305a8052cc7343e4766ee027af6a60a24f4b203636bb6f70c440b1af0153636ff2608d1e131e29d45aed04b8547749d628b6e3270ecb75a7acb36b119ad07821e7fb565c0cef7933b619ed04ba46eb4634c24da272dc59617e3e3723f7419457197953117077fa6c99ef334e1d3325f87f55952a72f116ec641a719c572daa2b4f82c6ce6989170cbabc9ff865295d532dd2ac8e719992dfe45972337360b517867354202aab254ee534a5615e9898172c94349172c29142f61d9331efd01c6592f1d38534794ff03dda5fd42bc49a3ae38416de72897116a8c991abe531a3489aafd990c0724950966d69f948a9cee3c59772a872229252bfd60117b4d7d11d670db57ac9a52a16c2543d3c6d4cd341e309dcb37204cc28e4e2f4f2071d9c1a6af74d886c8c797795ad8cd1b355a0336ea4282b72da1f752d0bce2631dbb0b9dacfdfce6bf10b4844c965e7930ac91485e810ac72fedf4e837c5dbc6dc8e61fdc02405ad500c38de0a3b0d99d9b9043addd59a772d4c89ef48fab8bf8e47f0102d0ac8de2e7cfee3724b2095958fdd570107a18729a8d5bd27592dc69292e73905514b2d222431159c27cf0d01d5c38c1064a3b7267a11cdaf12f2c355d9c7bdda11e19978ad52d0722ca44a95f72cb27d5e42a728c1dda49135086f51156571d28fba5e3c5e7096db4df107d1d6773a89a5aa37278bfc1c3740a10a1bf1a6c84df7445b7c65e93b41a1592fd05abeb832abc9472c6f8a478e2c66cf0ed291807f0e83bfe1b2daff541ecbecb8f992689bac6327278b158de25324207e4775ba7a4ae64a871db1c46a887f79fe4b69634292c15728b0f75bbac33de751ee25ce7d4800c0516bce374aa4eec3db89e0e1c8dedd02a414f5540a6ff949694b26b95e483ff17dc3b9b66723d1721675cb72e5a1ed972797006944ee27f3b97e7f4f5674ffaf79645e2aef461a70b6dcc0e34eecf64726b82e4250da2da6e2d686f9ba687bf2c1cb414f5c8b9333d1a4487441c88fa3e0bd0e5cb0e199d0fb9a93db2803610f35d9e27e6a92e9747687db539133430722e89ab11da9c60e8c1dcca221fa27869d0383dfebaa484d9994acf795857fe4e8a50dfb0b4c393bca85d0d792d1d7c8a774d0af89cc69315348fd0a2f3dc0e0223438688e0c3f7d724751173af5912c402ac77ca81faaeab6f441f17a3c77b72f1a46ff95192ebb6bb00e33509b201a827b6834211aba27e08425f72c3fdde724bc268fbe019c404c6611569fbe203c110e98c9f623d6951272dadddfe435772d0574af5a1ae0e1da5db73c4816a28ac6d0c233d99f46053d97e2a4b1c3e76729f7694e7fce923453a4d8bfcba2c60d179c5b8de01ea4ce1f136744ba096b57261066f6db3ca41fb248826bd930210e8a4a1cab656c9f71e82feb4417e044c727066dad28f46c2b8201d7b227aa34d6649381eaa4769f8f0059f5739913ecb5b92841eea47697e1f4c3943d9fad0427f81dc576cf918959e31ec027d1eac4b7274eff819a186e39bde9c1489fb036ffcf6a429cdff0f574ebd2808dc8839e5726e81ca2f8922f5d596dd91b7f219b9f5d4fd147002735bde0935551c934f03726c31b12063d5169a64677307928536f171bcbfc042e9180c62cbb25b45457029a2f50b51b062778b9c67cdaf948f6dbec5385e6c79d81843b3508f9cd12ed172f4d6a1ad90e501b1cdf2e1ac22c3da5004c39b1b1c55762c188fd29df1f06b34a6939ad70bebbb1705f5bf5763311304e781ac8c10fdf558b71f995923c22772655b430fcdf5dacb037d688c8d673e1d22055075368bfb10fd60adc83cc59c0351fa32f451b6ed25eb7a9fa7ffee2b6861b0f409b7b04ed23f7e4d4ee1cba47208b0d1c2f9d7b4cc5f13cea07f29c9d4b528964d9719faa3b3c8ca662a0d787278b586666907e39a55f9924d693d94c118e6dfa5444af30f0a3a2c58dcfe78720871743d16401ace91428cc68f8cce260cadd682a79f3c99748646f3a68c405a88490ca48b19e906bb27b6ea3331dd83215b722d4b6def02cd6b2f673695f81e8dc366784ef6c3e995d93766e41a0c492a9277b362f419331b8d0ef15576547245fb171939820d55b15227db70c3887001243a14444938f3ab5ffc74711533724388cbab0a3af28a78aafb98a5139c023565bc2e97e6a166f9cac551ed22347224f53e491e79d0eac6c08b5854a95758b328fbc07fd45f59a594ec3f32c5700d5e3f6582e5b750d5d5c27f5274923dd0bff76c6ab4a8d6b6c7fabc45298b7949795c42e299d66bfe4d6e42bf59a8d4990e265e2b1e478dcdf9d59337ff261b5e961939f4a90bfc425ed4f6fb4ae388782cdd30754bb68448f41a29c9e8cd5443d85e1b56b51d0c5d3b42835e858d963517e4ed0abe00b7998bf16d6aa1d19258c18bcff69c0fae235849d5d830c45b8be1887172f2f41d229aec33f7e13725724ee64cae0d2b157c1d12bd93ed2721394883d423e4ff317a38c893934afdab7205e9def197c9193de33e67dd2115bb3107d2c75a6050dcc6db08c01305f32c722b70114c12b06a47fbe3a198d4c5ed9769560ba9e3fa0182cc970bb2e21229721d11652150b4697587fe3190a3ca3da3ce6ad66df836f1bc49023992702b7572d6d154de3fb8632b8a93d619719443c040a6d38e135204dbd0fa2182aed34259e31b7134f46147e47ee42ca412026ec31b7c3cac2bb2316c9fbeb65aca3cfe72c9c50249e0fbde05489dee8924acead4902175828bfbd1255af5ed75661e705ee07d775ea1b37304c6c71b002f8e27b421e525c9843c3fa4d3ccfcd94cf84309580d5ed0ad14146440ad14460c68d8c626fcda8e9a81930209a500d8eab2805744dbdf4e803556e502d4c529f7d06f7186f19ff6e5cf11f8443d6439442610725de4ba9f462a4887430eab0564fc25f33659ef1c279f42f2f040021b288f2d5b98c399ad4dada7f4b7efcbe313d8bc83aa45ab95b699114b04480155b7dc80720edd90eff3401facf7d88ccb5958a24946e80937d1c65df8f6769c6daea1bc19ebf9266d8b3c2af0ac00f02c717b50f7075368762cc43ae292cd34299cebfb724e8a6d8c110cb5d595f8e8285fdb898a95013f9549bd31f303151a96bcc76e34e09ecfe16cf067395ee51b9d5f6a1afb09512cbc4249b4bd360fb0d0c789b105dedba8278d19daf1c2c39d595457d115b96b3981d72c328c2411e6a0c329a7105320cc39ed9b5d9a0a7fde2020fb02cae55525043a649a88c513f6bc23d5207276cf17dd58fd379beb260336fda1c19628bdad7df9c6fa56c8fd7ad64e2c297230d1e76a36528c25752b67ab973ea97816951b046c5b8aeb9265b4ceb4f6c31032991ce3d64bc12d6dcf8e7c731b3566dd9e58a1afe91d87dcaa7092909eb70135a0f90a28b45b15c1554256ae2a534bf10f33782d91c2b2cedfed596154e54d02d8779a700bb40a8edb8801920461bf7abccb441187f384d15a36f31ada045e62c940b60d80e7aff16db4993e0f15e43fed21ef5ba88ea52aa5fa70a4325028c33dc6702c0371bd75432573b6d7c7b3c625eee4ddbda7b861f88e2f6fbe1b59849fece06e37c6ab50f8d6ffecce2394c225ce70d345b326302694de9ffe3f2490252ed8dedbd97d1c6e6d868fa1a4f30095fce3f509fd6b17a27758ff53f0640cd548bb42242a525e03b47aa2f8e659376b797ca6bcb5da71c2a54f8e214e22ae0b1d50bd2afc7f0163f150efd8a47a38216325abedcd01ebfbf7784c2ec472e86b3462b52e3240afdb7348a0c82d38ca37bd6ce7e07c9596daf938f64c3e0f22b7a25e59920eda4793017c2243bba6f6445a670e5587dd3680cf07a597a672e81868b226b930d5f16cfaf11ee6114234fae483159b9a5ca4c1498058d2542f74322128afc2688d1316ebd00299d34442a3dab297ab7fd6adbfc5b55f174c10aaddf508630c006a923f17d84cb43707cdba51288a452c40ce99b14ad0349c72fb474396136024685688b74b32176047e35961cf8ff481ce80a2d32e06528c7246f1a0cea8a06a61582af2d1fa451ac173e081decb925345b8a1763a4fd671722d5f31128e030f5b25fbaa4ee36a223338a21e2459831c4375d0b572d49d9b727abd463640c9e2bb08c4fab6d1011515c05691490f225b3728426ee228ceee023c3dc8d17e70175d60b56a927375133cc69c45fa9522c56dc5dae20b5b8fbc4bb79674ad23c07c681a5e110e1b90143dd0e7ed5f275c3dbe02b51cf3ae302c50ddb6bf8a446b328c6bed19a4dce9d1871ab854219fb6ad8fd206f14bf2b38c7279ce3dd9ee007802e8f56421b2062f8bba062dab27f221d982b44464e5357815a72d0e279b3123e98ca4dcab47c70c2fc5af54787c5c41341556f190ded7807215ec53d141b21502353f141f90c414705cd6f073f704264f1cd4eeffcdc5ef72239cda58bca7a5287ea0aa6be38f191a31910b2c034e909c53df6163650cef65aee250138ac318989ff74345042fb38f9b67e74fcb46d7e8d6b3906226e670508384af25d54d2cc40ed72239578cbba05499bf6f583b403375f4ca8fb58e70609da521ff4e9cf9b3d24b78f1144696facfa6723dd82f963a05a282aeb0e62872c8c7d001b966b0b0cf95949c38096d7c7d1b6b9dc31291963a0b234509e9a972c74a2e1cfa6b1c3dd09ea0a61ded1c9c3286110a5a569d7b2e636c0b5bbb4b41cce62b93aa67034e59443d570de8a5cc733aa5474a210b464c45156488a32972b96275bb7bc50abb1163827eae19b4ae16a3ab433446d05e20f6b21fe08dd372acdf74880adfe8e8745f4b46da16eb0964d81bbf55c5827d6ba9486b453c9d7293cf5dfdd61d0259912f72133e5099f9ad7cb95adae007c9432a6d328905f1726569823dcee5b9c2042f79370d08a3e120c020c2d8f4c03dc5b290c1a7f9cc722b8c379d798e6e8dda693b44ff74e4f4ffc533d530c4deffb3f4b5736a8b3b4a1cd1b469b45570a04aa97ecc44745c7a0f46ed8e8869ad9e4384804c4b6f306e8482b99076a5332c674c310ad4238c9f22afb95f741dfd0f98be7be0b8675472cdf411baf013d0a01990c61d2f350991740cfc4037312eb39ff112e8f423d07217e86267b3978b8bbb25660366089110a37e898410ceebc57fa0aa620e0c4972bf1ab5351f4c228cdfc210c94754b424f192807117ba435029a64ff6b910fc72e6e8eae1df9eaef7da77a4fb41dc9f1c7ccd7b27275e9b353844b6c73712041cc092883a02f7beebc45d7b635854265d8b002e7723f0f12e96cee77fedc4632f49c4fa3c7c1ed8c0a7df8fbf07720627e8a0f99fbe425b3bb0a961c89d722372f385a4027fe24286e4bfae31dbf91510c3138d036d291f5c40a861d1d1ee47320c6a208122c91e2d85e32da77597202131cb3c0c218c6ea7acfa2780d9947e5e758060eb4e6be3f496ad0b5fdf8d657a21caabeeb84743036fa8e6fe4e7a1f502d8618f64aa47327cc8b88bb598157a61a4791f6941e8c76a081a7a895165a727a32e70726731620d52d1e91fad0b27c541f7a434e4cffa783d4b78e063aca7285df8891b465232f396e7c55b74e5d650e2fef6bbc86a4eec2390dfeb95bf272b6a965fb4d49cc4c1ec0ca40429aa2917c2a02b926bb59eeb221311434c5a1484c05ce5f306d15118ef7c982885ecfa385a2a13c71e7d578f22c4675d5e79772931ef771096ef23e02860f8206ea52fed6fe26965a3db14339eb6d94e233d27254d7113630b676faf80b5af84fdd6ba45b14699d43aa8092e6539e6924a3aa727fc00158ee73b8a040aeae2cf8ebb7def934db8b48f88873d327baca6b53df49f0a1499f6706cbda08848ffb9d2639e802c5252cd4dd49bdbf80798ee802ab2626e5629eb2fd364604358b8d38f0983a04a0cf5011ef037e24e70c7dfd55217232e08daafbd7f9c7a06af9369f2c106a008ec86d71203be5059ec0d9373966699ec748678b9b768dc4eaa757a8f7f2f31fbbc828ddbd4044d6ff348347aa0942d1417400166fae45553872357b9b58e921eb268710597433a02280a5623dca7235dd49b9fe6ea0cd869918f66d4df93b3a94dbaac00abbef42d0d3a377fe047256ceafdd8ec67a77b6df79b70a934583c8f2d87c54f350931da18c29be38797298774d22f8c6d101546d00a70a9beb98e90dc0b19ac722ea3eae535f7c65731cbaccf7f11662421b49312c9858ed2ffcaff00ea2a4ceef20e88e6316c5d41851226d575f7a3cdc92c612d54df27007403bb3fe685e0d70afe2a09504033f06709b15c0bbf968065ad65351060223f10cca7384ba3da2896d012aa8ae799d166f4f1f0800d2b2445ef1a8a71cbc41575d39c22b8c635c706e7911498dccf6e6723383a8e610b6d4b5009ec4e7e59dce87816b7a15e98df6110977f32a81f633727369ea60521bd1d69fbc9a70dcbcc6a2b919b540407ec8fd48afa635f3e6c01409760f6d4cf5af8266b3c4c12c359bb2fd55fbe61229b24c6b498577410b93054e11c4c5f2a99ff482ec5d8d1164e9a832c709339272720f05e687bc00d3bf725381dbd43d89ad84856fef2426f6d87790713b90184a01f2be37107c6e94d830839d93ffa2aad6ad1b4c687eca21999652e44494a4f6c3757a55ed2b3f5d6e183d35d0f9833dfb22a7b9662236d6be698a1ee4656fa10d372e61210855a64d356e4bac48620fb14f1ccc08eee1dd65d00d2240ab4106bd9b49b73f340df61c7235738bb97d254cd4f149bad3c3aa5cff78abc40f6b8fbabf4eba329f929c2472c15e7cbbecb62ebbc86df636094966cfba48091cef923bfbc84e81b741a57f5294abb26bb1136a79e837ce963f86bbda24ffbe3879da804da9cff71a519cd6729e12b2b38c3f569b13a4ef052828df21d8ed3139c28d501e43b03bea6d5b227268721f8e598fbbcfe39428ea037dcc295eb4a63b74aeb28538488856742dd03ffc2280ddee80d1e57c0a605e36f3ca4866b3afd68be94584f668deb087a4b20de3769dcf9f2c0ef438d01b1e5451f5f239476bafcf56eb64534be204a0766b61180e1935e004b30803e92e76ac358d8c76fb3be28ea67fb39d1fef34886f0e7286e6564e276c4be58e796a9907dc57a6ab38cafcca951e0672b9b0388b7f45729dd6f1c687a24865bdd08fcef080f00f122278cae88d30b3391a28c6c3bf24720e2862008f87580c3f50aa9ebdb95501f5baeda74e7f1cdf6ef766fe94efa26d71296f3b912f54c82272868c8b28c99e3f23257908f90286fee581b6d82ca8143f1a7f608cd6874016155a68d4747a8071acfb4aeeae866755d60d8d065236722e931589a25c8680104886d0f3b6caaa732c0d12dd6e1c0aeb30cf2ce86f4e72ac836415b8df074cd33d472e6276826f645321c34aa6396772a550d7863b3c72d0785d0f2f7dc22d70d3973265886831896523a00ff4ca845adb73352ae01c2e155e5a1909f8c31e63f4bb10a3d48efe7671eac9807eb86e2f8cd1ba26bf90184594bcaf222bcba75e7dc4b9277d8d18de9131b9c9c6b926e7ca82bf5fc8a44337766f6aee9446a7479d42e6757896e0f9d31acea681044402aae95e71e3243174d1d0c5747a8fdff4c8a3419b0247d0fc5cf512389d9224ebd50dec30c9936f82d9fef66423120044e79ca6445d0cc7189fcbe0706dbc004809a86154ec8772eaede7f4777905744319a9a4b1adcc95b0486c998ab81d5797b9c3fddf1d5501f5a7c23432c7bd37f5da5ad63f91506db8a1b58fb9f9ed8294461bb8d23d3a185de435e21d3076a7aff13630f93dc188a78de6979a5bac32be31975898e1335f5bbc8a802da5a03f5e9a946e00fd5f556df6a48871202abd66152e21c557c9729d701573c178495fb09f76ba8f898f84dd2ea88dbd63d298a4395e749db7bc726665e6a2800f9223cf7f3ee6aa0e0cc800f0ffe6ebb4ecad0f98be04db242a6ec23ecaa6a1c24dbca7766aa700f6eaf3f2e49a5176c3bee0df8b0025074a946e62e776f3174fdb1e925da2c629ba422c5348fb83c5b69050dadbe9bc5181e4203bc685e5f84db52e234582e889642177fec2b830a909f96b0ece6a251f757872c6cb3789cd47cba07d93fa70e33ac976df55726c1acd98e52f92cfed21e33e721bfdd81d4458cce9fad25e56557c763889d16b74fb0bdb1f918431c453d09c55eea3fffef8d00cb57ad6de4da48d55acff9449f2249de3dacf0e1e9ebd6fd272a3f9ad17506adf58366ca76416a0f5f59cb98fa5d6559594b3795401971b7e72f3d7b46aba19e31a7c3da455f1d918a4b1d4ab79e0e2f5d74c8220b0f6d8b071439238495c58d79b237321a5bf9cc67f0c6b3e368d63b039897a7d9f9d001359dc32dfe314892b7051aedd0cd3982d0874674a4b297d8379b96c55bf292b8072328865177fce715890c27c7ad4bd0089eda711ef2e0ff9716cb8f50dc5502972ee52d67f5e481396f3c13bd95b206279706beee72de0e2f3c5034a7e10174f0d65852a45a8dc42219544a8b7886970469f20635081fc5fd403da275cca4ccc5afd03cd053283ed99c56b659faabd2b529158be4c34aaf205ace79e2c808de30ce3bae0e73be538defd1337b8fe492761e6389c118536a9f56b1ecaae0a8dcf122ac93304faccea11a776b94c9c72c324931d8c24024a162c535bf9dba051ab725416301276557c302d8c1e157dcd04e16db9e3ec7a9ada40c9fe1d307b3b477241991b57a6580642ea1f831d7e39226bea57e6757e2323d977b552fd6ed8597231b6ac6adb70509b0d42ec3cebbf11dd2594b28c143a7939647af901c3f00772a6b165fb6f40e722a9c924aa04aadd449aafb513dbb5b63141ce6041f18f8f72387d9e445edc72b7b929c8ded6430760006f291697bf1dd278737b8ecc03100936ede73ca9a5920cc4a692928293936d3181b985024dd01a90027365546f6e64923ffa5ab470f1980f874780712ada800199286d6c779f3ff0fa50d7afcefd7202f1b0e13dbccd15ae5a29b5b64f37a00b7a48af9778173badaa9a231c6a8172e85c79197d67dc72bede6958a5ff6a0683bc18fe013bbae2c91cad53da55ed721fdff9b5e591f3ef8a192aac440ff4a3f18d10a164c647fd86fecba88c66b9727821206b37d833ff599597d1cfb3239995a7b6f15ce7beafbeaa76935a4d4e39fa114de14c62f49654c73f03e004de6732ee53c0387581f0c8691e159687ee2c6e7000d5572e7dfbd39555fda1b36c7e4126cbf6f622f648f2b21d81dfae687282188445f75aa35037022067b02c15e4373116d2ee9b1c01ecc5ae4967e41d17d0386d5ff7a03aaa2cfbb571a0bf3eaafb59f547a22e5b87fad504c152d272584a5e2a51f28102cb05dbfc75cb2c5701e1854b26ec39e49174d1b87aa3f2fe647d897f7c34a69d04926361e601210c5a127fc72a16ddf0225737c7aab0add0429754cc750b29bb3f3dd1f99813cd590dbfb12501b1bf9f8e3c78b884f19e5b72952daf32c8be259c475687a2d55287f18dd844d3cd895b864f07aad5d06c5072d5c584c1e8f32949ebe8582fa19e16e2e58215f5a6c225c7cd6c14c779d8d6723177731bcf439b59c5d0a67559dea8ffa02600f8b0f2f3824f436a22252f186f84cf8e2550624b2f1d322701a69f18fbb4b081b08afe090841711a4245cfa572256f6e586ece22ed30a67792a848b349158d8fc7ebc07c56c302cb6f76c65f23bd8f488ac0f74e575fbca3a21c6e715316a11a87b9e449c432146b44b3ec652d5b09709abaee725eb7971a64b73edea605960ef0ee0ee8870990745c019d91147079e302740364147e5c8cdcf1aa85431d209cd77787c6d2d91c1e998c8bbd721f74a24ba278db4cebdb6877ea010bcb30be2e8d85ef1030d2ebab5957f177727955bbcc46be2cd33b7ccb46a21e6a2668f977332e653c5d81c88db7e6b95e725264b59825d4a4130b0f4d5012cbc30df24745b2af089f955ce2259fd7566026b6e5ae63ce3d53128da7d015143fcdb20f51e0011610d5c0f7650a136f389d60e5aaaa459cb59218d205d0128cc0c16e08fe7f48f383dfbfa5a857fd3bf23a72d9ec2c13375799f81b455d15cdb66c0068eeb30eef2d1d7d97f11ba5210f7e72f0640d5f27900f3d86a6c0afe207553bfbc480d9e84e04edbf1f8c9fed7025314577f000399d6df0ff4f92cd918711778a1c1f93f44543ffc1319fb4bb5b0f30f26c246bf0bff5f51d5bc8a37055afe320f89ad579cfb473f1ded348640fd67214850f7dc039fd6be9ac7ad462fbfb2544086c273821f0c774a6de682ec330724264ab41711729bad7f4794d78b8693d2ef59a1d96336af3d498e68358866613498f59debf88fa36ea470c88967a6bccc291957162e4883e0fe173449a5ba13cc67afb04c0f26bdc71e239f7d6f127bbfa6369ee1bb46fd9d3cf81da5b060272e9bed9b77d964715b8106a02b02979f30b9509a7cc9bc615242c97c711dea73000b727ad7f74ee453224d01ad2e3b41818a6eec957d8de3fce42c69b0e720e72d5dc16579bca120f63ead8e420902b5dea49dd399a767e2a6984debce3160f7260ca9bf1592343f22b10ee2a69268791339421ec63b610681ed976628f98aa72427160a41ca08d8fc75272a6e11eac086dadde9ec5c4a4ce602562b7b1cecd61b454da8327ebb31f71025fa9d00669baa4fabc5766badd9622f7b7ee21c88d722fa26effde9bbc4f087e15b9d298a6e00a029237547d9d4fb403b8b682ce3872d509dce235aa4ada4f16feaa3b7f81b66461f361a7291a9ca0b752a364266d723862fd87c0161b215c6966f4ec1698db7f71910d6f61c80ab475823f265eb2725bb0f2d6c4b1b65716eab23b44450549a72422a5e1119f2392ac55d2b9379372d48fa5ec91c15bf7db2ec3f4795cd967e9da1cbc40836cb7ab5995b9a4ec01727f644173791ae1832db66510ee1271e19f48d945ab9b5ea78322faf8c31a5372328020512087a4508b5ea46ba7558eb0d3ed12fef4ccfcdfefd8bacef6d7a272ad3eaf296d6144a9403ab8e084d87de704b04f999fea2bc051679e1b406d73728b87db6bac300c1968163a8f037dcbae4ba1f4d5ce277ada1c7dde75f863f11760888b20db37e774748c3b0db91dabb8244743abc80c59f41a93360444e1fc72fb799a538a298e7404726a75d6b390068a0ac3f7986d7a54145303acb19dc57239fcb664eee4f8100dbdd02ef3a15900213f5c2365e6183eedb94d5a633ed9728456abaa7a548190874d5fdd4756dd313145afabaa8872ce38daca50bd88067272bb7b0f997a641530d09b23452f5176a342f3284b4377316324291db17b4b7240f7336fc63249b7ef09e1d0f4bf9878857847c8821efdf594c8d2cc8b8c9c72d94184cfe24e6a91efa7a6adcc6494d0a5083502c1dcc57483d1966ef0846f49f6c54dea6252f1728333405b8ff4e0414285e1ec5d7b6ef5470b4ce7e7ef2312df53c033ddf8a6a5767c30d7fa865c7688b203445398a4e0eeced76b51198172f263f1ee104ad505517e7cc0c37505c254032b7ba83bbd7cebb6b9eb9ab25372885c2fd6e346d257b3953b0c314e3fe455a0783f97bffd18eb55e948343f431022e4178ae4d6a1b289780d50bea933c011f7aa36cf8aa1b0b355fee5ec258a72fef9c5ac300e18ad50384be443f25936c35b1208b0baabb87afea98227088c172a6c8b41bb5d0de247610a2e8da89b7f3659034a1486b64e38daac3beff26b72846e4c5f70ad19bceb65a543df8b46a647a13ec67ef71672cc216924d224913864c5941a554cb8c277ab38d45f014520fe79253cb97014e36de85a517beea20da3994851f904a17556b84fda88813b6bd3d6c50ae3deec69d3ed711a29d17e1dd38d9e12f7b6e2f0da3f1223dc5abe5b72e797f493aadab08fd244df121b4d65cc1e52ef88f3380d8d15deea66ba719419a02fe010cffc3e7d51a4bdc4c14f1967429dd0bc4e07bf6c94ef5762fc783d7b4d3f3eb73e5bcd57cf5d92657315725cfd9c48222164c8b57bcaeab7dd0a10bc0818e48e6abf3283844ba13f6aca72c73cedcbabe099923c7799680a073fd9b71c1840d576ab4c7cc2badd6327f23b5d651be195a37e4da1a1e215ce7d4af9c0354b2cc1692a756b615d71a448327278c47900952459dd606a0f88425d2e7d5b61ab1506f136f6b194f7d1d4e3c07218ff7e74f8a4a7a84bb1ddcdcd66fc084c8437f94c967cb953429f3627b79e1e164089d5ded8308300d0cfeb751ff17e3156897d39e2f9df59aed3c417b55526c42b5d94ea6bf02e4c29afa393ab9cae3df012d5be87794b3d5e7a0fd5603d4d05ebb9d865118d560ce0eb76950c7ae87dbe9fb3c5823c6c80a93ed524c8da72b6927660629d2b7945f55ef62e46e230148511f55e2518a3034bc8dbc0ab491079b3a09a533688347216d0b9391aa1e03cd3a90222739a36b04c6356299adc6c16d2971e7cead60ce2d1b3040bbadaa4a0f18e08102544ca8db8e4629a2d1b72d2ba0bcb505a69d91ed763f454c56b8eb448202e9a3a21c787731c84005ee0024128a7f0cfdcad852eb531ecedfa9cf34bca75ef614d034f7c489fed44e12e724e1cc305bc9b7265b58f717797e5b03521f3013584a78f0106f5a3af3937160cc36e9fe94afd77908258331b0c51b578cb4eac9444facb4e51bd18d2ce97de5763e5a7f3a3dd5503d36c7537e484bea6242e86941ffd6ad52127fc7afd88d4726356183382da27172132ba01574d80a8ac7b1cc79963255b0407d00c612c7e727fb154101f00067b630370f3d5486b29e469c3b82dce3c3cb430a9bce7d0f372c7c8c512e14a58cf14cf9ef347b5e6faf5ea6da8b33ec02a9813d9455c3ad2727349d19ffd0d6937cb6228a2624d7c134fc522460248981d1c0636b2fcece51c752b075f5a1a8b318b52da65423c1edf7b1f37ba5285ced045b7cefd8c6ca839578f2e7cb2ba3014dd3700474e625b4f89158e97c2d3efdf13d98031d9217672f55c612d75d51ccc6ffdb5759a65816a05aae6b48005996799f4568cfc1a7c72b9c61124c9ef759561308ab16b2721aaf6f120096801205818a038c209766f2d94d054fc7328cb5f756ccfeae446657062843a944526138ed47d8787f13d137263ade9f53974f4ff12f0f19a72758d66d58428fad7a7ae499df0d398191bb77292a47294138264cfb0656ce4b013b24aab3c793d4425861618b2a347e204b324518fccb56a3acf628895d53f4111064ac68d366f3af385ccf03e55c5c8f0481aea69fb5c51ee86af0750b52fb4978c2e1109f52c50e2f41f4a92e357dbaf1e72d61f73e95fbefdd49a7477131f2edc0916a61fd407c23e1d660376e1495fa772564a5bcad66c44eca4aa9c23244a69545f8683d56d8ca305b93cc9f8256b0f5bd69a172e087af2ef66ca8398474f96ad6524b81c4266ee294f9c310e5a457c72571779df9608ca2d1f2a3dacda960b4c98188f914cf420cff469cb726d71256ac334615b862fab6c9603f7b3691dc0fa98ec7bf7f74b000a659aca0448556c72460532b72824936e5f1b9d01a24eafd6b28b2ec15f46cb9e1953bdd92b71e247156f1d04b88af6f9bd88530e7f43a118c6e1e347be7e9a7595879906bf6faa20d8d149fd9dd5a82294ecf4d3f75d90ca3cdded619f1442bbcd753b705ef39d2b0ad010cedfdb0bd7ae969e5b6925fc50d9176422bf76b0391f2eb626d54aa27250b74d7371a975b62212c6f2a17215076585d8e312ab4983be3c67dc9be9b9722808ca76b5cf4ed42f343c0628d7fb88d0523d68c4c81ffb78abe1c53b139472c52979a983f4d1f8dc4969683fbc7f66d9c69ffb17e8806585a9e543edffa32a5ed1e4b346a465dde0379cbb9323df4a64f749e9c260ca850f3fb424e8bfe22178a797eb7575882988586078d181b37fee1ab3438fc7849be27b1045fe44cd72907685c4a6ffe8ece1e2dedc31b1424e3236b3bc1e4051c89396538064eb4e696a0370bd67c2f73ede995e919d2cd904e0527537e5ac683dc5b697c70723c672aa8c102f0872c10eb23cf3051daf50452427a32e828eab29fd9a3560ab8529128b09f8ee4802ad69380e187238f9467cd68a744f59c9c5f95acf544cd3e96646c43dd83cd4f3d7399834b5481f2297535019f91343f0f395cb05ad09a311637254e275b34fdd8ed52a19773a48ce6a67e45a7e9ddc37bed60c28973e7379c63bdcd705c7eeeb58174fdd26088642c171ba0c27251ad0ca3054232898227cd27206f1e3a74652c0c85566201be9630704524b2868895da27693506b9b15c0550bb4889de5fdd2684ebb5d7d6f0eab8e14b49fd46371fe49bc3516ecbbf4a21e72dfdb9acea9921b11ed0c1b7c7219af132b7eecd291df78e6cacd9141fb234f72876a96b0cb94e0e2b2204474f1d719a30852662365dde0b5cadd3bbfd52610721cee96a76be1415529c7c7761d695dc52114a3c95579df1d0ad21c59f07a114bd83014721cba4464ae55f0a56d12234f1b979c5d5d1555d67ac07d40c4681d72942ffb2821a28af177301c9302cdd92433305e02a5fe9a19d776cd9dc4b8cd72eb9161442ea3bef696df6499cd06aeff982549f69c6adf984b7694f8eac30972e929d9b1cc4ccc196020ac203ed7a4ff27a7973ef8f8ab88dc9eb898638c56598a67143401031e3e9a4ba4105b27a43f55c1ac5d07dd2c8be6033a15fb277a65ba0113253ff8a8535e1b72e21fafde43815bf76bbe7196871693b1443d1efe7246b89c78a0d227d398ec79bb3ad77b8a187eb0f1a501a5997520b5635c3ada38378a414d48c848d5d604d435ac331e3ed4c2a01d08935601883c5eb5b83b8272bc84111259de84f3710a3ce674451eff686110c67b16fe5a6ed2a7391f73f3720ee12e37acdfa628154328de0858515a7a808c54e235058ebb57cd417c490d72338231910fc194079846e6d9adba1aed281855b6b299a5f88da662db0d9435725dfe93407e115fe5a048d179b1704485b839e6aa0b189a312422d89b3a94f02a0c4d734cd3f7151f3919ba4f4e6442a3b37ac829cf186fa59a5a6309655c3e164846b9ddae53007857f5ddc34c32d9351164ab08dd2bd883cc9cc88d6bf32f721d54f3e78f67d9448cf9005ed5fcd09ffd2ccb2c4aff523c8c5b9510f7936a72c76b1f9223c1729edf839eeb563b0d42dfb82ac4e9d42f46cd99d4b13eb38672adecc306be10942a6482c8249783f2bd96905bd2d2dcfdafbb066cf97d6a017256f0aaeb102617898af9dc29fdb794554a494f7f7d5efea208abdd7aef910d720f01d841c5f7d2f1e6b169a0d75f77c7b0b2cc2fdfccf3e30833dc6d43d4ee307a91bc2bf28248943565e81dbefda82098938afd38d9ac0f553f08ad2f221a72b20ec33ca67c7698c1860a9ed3771d4e164bdc6609c20f76238997464d456704831feea29dcc4880453ba718da96893fe39f7ce514276d2cf7d785fbafb0df72df95ed4bbeabd67c3e3610b6439e02342494ba875759a06a2b0f2bdb6b013972727353cc7fa4eb3dc2af8271e60585fcee32ac59e72d1257d59e945a12878b722602c291fa15c77747fe8f7777244f520dba56e0b01efbf1020e3127025f47727d460162904bdf9cb9af743f3ce62bd6e748ed995062f00b0f6ba65b2384b0720d0620970967f1a0bfc4684f9d119d455e9bd1e5f16d1de57a32c2c9d5460634501c4ac9d0b2f2976966b0f1b7ee9c755c7188d5e5e6779891854e290b37f3728d7680af4f92aaef8ab6aecab7de0b71efe4401251c7c9f3d41545caa5d97f70eeae269b9263e90dbffc9908c24d0821dc12ef9821dc0c6c8a9ec95967ac277238f67ad061fb677358fa0791e3e58cc3ae181009e5da54be3cedb9ebb965a6054fb3813cff486596f2f7a1049834a438017876fce81bb5d99409a2b33c873672ef230b1c241ee399a1929c6356743895983691b1d02df6b586a3882f654fd322d9d40a53147036078b04eda3d448ed3c4aee1af0202e2cbe10db25a3f7b59d7275388f5f99914febd3f8d5799724bef4727339a44672ab6f363372913fffd972e302651594ead782871c30e69d918545243f4399145777d2533414fdae1de12fd8553f2c599f2edfe2a4096ede36f49c45a99b27daf53c775e8516f3c7bb100c25995e7537383f12232c7d7735133558d19a5e6b478e662ab886b51cc0c00572b5d8f55812a203a73199d39a6838064c4c98e6c7f370fffd9968347546b368690784335dbfef0cdbd96163f1293440d688de552b73bdfbf7ad3abc2a8eefe872b25639de263aaa40cd78c3a42e1cf4bee52a498e7f4c82e363ebe7976fdccd72bc348335bdf27edbde8a5a11dc706dd90f68df8bcf1f0ae731edb97ad11889727baf60a9b7f048ed4b2c51562cc82b82c4f78a08fa8e2425818fd5d8dc297361a3595a0585e51f1a9ae78a5b7d0d82addd0937265d49e52755f56c6865395772611a189b4bd91ba7803cbdf074ede2170a6b9970271a18bcb29fe8695a95dd725c02c341f287a2cb5729a497ac3f5cc2fa0e2c5bae0a560d1cf19b9774f9fd6c3bb50292bb303a847fe3acc047078c029c83cd7d5683b8fbdbeae99237fee225c11e59adba666cf3b90f38ffed2c77e8676757fd98f7151163e45648eb182f207062c8d0b73fa5d0ec40d92879d6cec683c44443e7843ea0de6043c1ab2ff472f4a25a90b21ff8284defff482be6f37679fd723e18fa8fd5564579d7b1f029727064d6dc09a3d00ee30a404099ce1b34886ec76e50229e8291a7790c6b46fa5b9c09ed6a10b2637cbecb8ec82a07a82f73f1c154b97a14b1422c1d6ebfd20d711096eff24e5edb0553afdde83ed59b232df9269dce4bb17361008f7b731bb45f431de075f141596bfe4a08fc8f707a8b7e4fccac6f60489eb88008723d81d77261b7d2dd6cf4b26b1be471cc55f774c479efa629ffa580502964c61a89b99840ba36483cfc5f2af9cb1dc736f3989fdae223f45ab00fecff19a9c7c59a593372535edc9f0306e2ea85d37cfd662f63653cca658bfd677102b05dd5ea39a1f040ebf3717a4f74394a25cae57ca2e013d897ee107c80bebfcb80ced8add0b35523e6f98ad3a9df98b377a2412efad9f7c0aa8636765d7fa813c027fc590c0149723bde3ce8ec88cbd29177d7a38c23eaffde4781f3bd84adf5ec896b443220f67247fbc82daba2b5bc2b1edbc0d10d9c8de832b2165c93f12676923567fdcc4e72c9719f010d179aa959de4fe055e3ba50f1b79477e18c54de1b7fe3cb731ef3723d7439070a5bf96b58ec5979734a24bc2d95afef09c8bd791e0cd098a0aa5909e055ba65edaedf38126011ab9be3f97ce2e3df5bfdbe42f5a2fe5cca9a306a72c9d3e5fb295cd733fe581d8b842955fc594a381bbd785a6a3f1868d5886cc6722a0fb3451adeadd4aeb3240b110c38de84096625345eb0ff13536af5845c507274cb6004e2be37fa00bb073dab5626e0dca4ca72fa315fe85f8338b9911dea7003456f3b88b5bd92a227748aa235e81cc19ed598aea1ee1e15d550940d866172201e32639fae1673e84d552d758a248d20432a3b55cb8a4ce1efa4e8afc266292bf4685c19084c397c93fae4454d14ee2bfd44aa1cd35f119258a2b9e936ff7214ce7e7892ec6a52205a6b1a0d56a162cf981742ed87e4a6a27ce63dd3720c15cf8a987fd1b186cf231d98763bf5fc43004fd8d8785ead3b67aa4ad04a70c772d6289a551eb463089c2acdfea4c77fc7353e75cf07e69c53f85213c0fb4ae57270af2a9f70dd1105685eafc5ebcb8d8737d454cd4ea11c2045f6d22be85cc84d45e8de6dfde7cf4baea6db8f309ce8575facbad7ec3ab5c8cc95643101b3cd678d16a54e857cb7e27fe7256ba0755dd804d6aa6b97b686a0112ae62ac0633a1b62743e6c5667956f17e98ebdebf3e2e63f838431b01fe52878fdc82993edc43eea150de6427fa7cb4ad6b1c779ff03324e8a49690651cd581523dd7b4ceb936be4b00553af4837d667fee1b4cf73e1e56db5dacbf7524d68ea04d4d5ba530b408f16ea2e700c36746cf9b39d9673abf17df88cb0c6c99da4c6cb67eabcf3c357f816fd8bae9359f99b695b16be120b67815325715ca904e4f5a026e2e30f9227c35c1db52232adb37eb9d3856c77351d4e2545ba555b4935ccd548d7ad72c6640f47ae969356fad04f1742f0f4cfa62514013ff47bf133d885fe86872e8dbb52a28fbf048c00514e43aa1121f46850a4cb7fd23a88aabd175d5508dab43fea72fbc33da00cbc8e4713aef5055cc5389f8208206da9056be8808411916eb7d9723512e619238fcd4123931660dcf4ede867ba2d700dd095cb16b245e49d361d30e2ef2f993327c0fc98ffa4d5ceaff919ad743858a9b62c3537af4af8770dda722ee4ff67f8b733b22152ce7531dc898e213950c498ccc15c37474a77276a2b72e8f4a2ae69a0cf90e68fa50116e7539b45fcadf4a998f81831073a7fb8a31b2b8359692273db5e5e0b4eae8e5a33cbee65ed115102f82c6aa938d696bde0e5720c5db6944f7b474415e712e5d2000678874dc6ef14e24b887f9142e4a692df074f9eb6e9b78e78112ba3f9d0bb6ecbdae1b67a1b0a1cb54401e9cd2b2e6969726e40e1ea15a3f335617d0d3aba2756a419a7bb46b4efce5effac7d87e07ccf72887c8d62d9be98c0a736b8e92a69544ff41c0d3ae4d679d47398a763d79590528233c35631165862bb4c7626a4b61564b3516169559d9f94a4b9e5c373cca3320a3ebf9ef548e4ae101ffd155f193e5e8d5b5338447f4296b43864c75998eb72033bd2420af205aeba9fce548af6e968e3c093e11a14cc4fac88d997fbfc6d7299829b9b84a2336c44426e36ccbfc6a063cfce9229080bdadaead3a635073768d979976aa4a0c0413b8b936f9981ecec83bc537df037ee3f6adec697ca82c35a51a323fdde754522f8313a0d24d5c2b900eeffedbceb5edc6f81b47ee968f472a47a1c485cb6530289f0287deda19695f41d2875970ec9c5dac279099b424865cee46071fa38d7821f66354c87f90e73f0912a8b5777ad26ebb71e3377759472746c146b67262df3901be8dd35efe1b26bcaa0557d74a2153ff102bc7f0ba272db86df73704ec3856bb3991420088ab12e709c7b4ea7d9255cc05ac78ccb57724c0447f9df935867c8d81c5717da376a904723b43bd1274fb364019232416672d1ad082cc855aff84956cfc087ad2d6a278e9c396e17bb5dd32e9e4850764c01043f9d4b7f40abdfd2219d12d73e4982c84b6d3b87dc1a63a6f1822b893c2e72f37f832065816545c6b7b4aad57a41cd12c58985844f0cc971cf088233692c316cb3fd3dc55fde643d0686ca056387091aa8abcacfaba4570c08da407079b2720a143eeec3604a99373f0ad8707be24c3a7ce99e10be093bae5c54043e6448086950a012909794c042cdf8358c1ae15f3c57390debdc0798a9767a4b0df4251a8d61956e38fb43c73642565dd4068f94af216b4c17e7aaff6388efe58af224728e333cbdd138d5aa62664f8b9bfdcc2260e267472322000cde2205fa07d49b72e1c24fa92ea5469a2a10fddd0b7f7882cf95dd626cbf424b18e0b465d5988e2a5675c53c4e04f60c8e521c98b4fd0386a1d1444ab9906ee0ed68a86fb9cc4835b59e06c934c1431d9f5044b25d8b74b1352ef50139ce50be3dda465ce424c97289947882ab10c885abd3dbfe2db9bfe276fb297c52c07c739b1d914235ccd76b0bb06e85fa39bc8a2946a36aa5ebbe52db7b1c5f39d3a0016f75d329babf8300c89d64b55871b773c587dcc390774515d64e3cf659cab8737f3e684dcc8a4416a2d54878447007799aded77839739ff0b57f0daf387981c709d078ae8a7a7363163f01394053b3732436d3c3f0e8267d89994874293ca72f38514d1e8c4461720fd372ed9e45b62a71136ae690c3a60a0352b6ce53c521068b301b4cc19b9a612ef8452178a2dc86932cd7546feb8b8c3be12c24a4485308aa4375e50976c0104c1986c6da0e1ea364709311b5d954cc2cf0214fbf327ea56e82179625217072762b0992f07f0fc9d60d097845f5799a1d86a3f8ea8c30ba202f7ec2f636ab7267421f2a54995d0ae012c7b4f4d2da5079fa972e2309ac46743421dd28b23c6f6c5288ab05c186012a275e04d75c231f563a5dbc9b469c0e84793409c3cfd3727cbe7817bcba77b9280cf7e8ea738373cbb6b2fc169c8df8b2e45c0cdb8f453b245fbe9fd4048714ca95bc04da844294134a1fc3ffeb378a36b6281e9e7f6411406068f1f560bf26454d519c474104b60bb2d55c99087108cf457baeef5a5c38024734f97a7e5d0fb0cae7c5384ee126966a412e2f6b21a8da1897f655c32a72eda4b164dffed7f0b667b6d7fcb2246aeed7b46c740dabd4a6c71a0eac9cfd72416ae2e190b592e386b32632ec9ece046230a6f174ef844fe1bc2ba02c240f72cf726aff6802f70a2a3086986db08ff25b8105732164eff9a0cafba857c10f72d2981dcf7d052d3b4e269e2410508fbdba4a6bc056d9a2260e12f7a74e8e4f72b4377f37fb8b10ef8d63aa7576f25c052d2d99152d883b4b7a89c44bbefd4f721549b60f862222f53005f5ed08be602f59078c3643a38b4721d385b68d961959915628523cc2fd79fb3a03328e2d83e64c66694afab05bb4d7935227a98e03722aa8b8b04ded1252f8c9fdf4329d2130a216034f7061375813c47878a3d52b72beaae052fd39f15a5307a18a92775b60c85280744fc93326dc9b8bfc0a4c101ef1d17d173869963b9ecf5014c07308f9fdbd15e18d34402401693002012ac37249e03de4745f9e420b6fafa8bc67f221ac5fdf1fe2e57261cfdafcf02c6c113d921ab833d636d7f50891582a07c5ef90144b67902fa7f2e40d627165a3875e2a4b7fd381ea5dcf356fa42a70ef94d3189f081eb8c501ebc3afdf5ece748e0d721e78b6e70c3eb861d0dad7c0c5587658377c94dc558ba91aab56865ddebe834d002b68aa9e48367ae2aff6954f625e42c692ff9e54bba3400b321d91f7c5d772163dd747176c41c94e9ffed5ef4c2c3e33011d93280e92c8a4f588238e72735a6229031770ab8b6591cf3311d5ac54db00fe674f8f50a2bbd74e333d73786972db02722ff95025cdb2547e6bde061d153805a7ba70b0fe0efd2d1b6e27589101bace80ca22ee585924489ddca4bd2d3c99cbbb3e3eec07bf5f91f6270e239754f94e66a1449ea51588bc50c17fb877d5174e7e2eb2d0380f14efe815b77cc6721c28c55886e46fc7d2702a5246e44c048200d43392a4af8d244bd92b7e2ee3720f3606b048cb2811dba4b0db180c85b087821a0e4b9235b1ca9d6d2aeb308c72af1e84ba1c88d2c5c268785de59829e4e1888a1563b336d29c55a4f14af1820d705d9127331cf27252fceefda4e65bb9d608135df4786db7b7b6ba1666f0a8721e14916036e150ad50123c5d9db69fe3be1cefde11e121cdbadf0e0dfc2062724d72a4fc59aac14365bda857fa495a66235e7f685a55e80aa43743080a5765726dbd266ec06c4ee3e521353d9d65c7e2359f3ef3cb07a51ccd153a7a41decf6a96e5b4b0ff2089ae76942cdd6dddee9138f3b8f76087dfc2a1fc4fe6911d66727d3c2a5898ae14e6c3b0cc0ae70452981915f03716863f3a7640bf10916d392ec3082c7b9859aa49fa46f1cdb73acef339050835ccd32277368017219935f6729eb26ace2e79e34b51ebed1627fd594ccf43e8cb2910abe241bbe305efd7fc720099a88503a0bd081351c6d36e43196eafccfe265e937796d39cd3f18041457200b6639ff52ea09822d411d7ec8d1b0cec70b471769a402a41a90f236f2dbd723f5dbbcf5f7d9f37ea88b8350acfe8595d8dd4823750f7506817aa5779553072880b9872e96f1b1be386f536905057596f626ace6de5e42454a385fd3046650142e31927321c5893d020a7926ac0160e8315905dd460efbd246d6737cc8f41728911ad45b63ead29a8c4d229fb02dfc67ab04885751dfb06f7e7816098b086724b21784f0461646c41e0d35e978a1c3afc1c6aee7fad6653627e47a997134272ba46673da329f0a20bf19e904f89de8e80662d79a73467a9daf6020edb488a727b1ab391a0713a3d64ef4a41a9c889372ccfc179b9dc83364d4a360138ce3c282194748993a07f735d6d5e51f36a33bc7e3f542a03aa62d02782cce92992ce5953729527240c6891bf8542b6e0f34393dfa36650781742ff600fb5447d199411073183116edc5411d60c8ca5824a93c98f12f491dc96cfc0fb5269f4725708724e62abb4867b3a4e15bae1877a66424abe1eb0aa999b167a2507eed89a0e45480f5e8162bdf1bd1ef4c9d7f892976678990adee3f000499346ec02fbb97b6b07cec9e38405a6a7ae1aaec5862dfbb397094aa3c67ee4fd9f301df46e2cc61c72781aee2de8ddfeba3034c5b90599bbb18c0f4f67b75e1b21d63137928491d63645d9682eaf388dfcb99802323e92754d41c9ecf0d695fe13fef54705b34d0f4ac26c49ad5bb11b4a859d908cf038829394f1e7bc44051c97478be8a56361d072ce2543a9dfca288454da3bce9bb09d7e0ac1e546dd50a668a2fce4b6cd5ab73357e59144b32a84bbedf61fcfa78a817c0d459af430d4e482f82e2f194ee69e259404e3fc48cc8ab356f105869f9c16de6986c674462d24a0d5e911c126e6e4723b467fecb841d0cae567ea9cd85e1fcd2c3fba34e5e82203cbe35a53a4d87972cfeb42767245a7f0d0c937a959b4c20d388f516193d3ded646241728c4b8cf72c557f804f5b44c27fa3d88552a6f61241ea490187ab2eceeaa610e24353a6b72bc1b790161a4831e5932bacadc197aa78f50871f53a43c146b205b02bd765c72a13b0848d6c40b473429e9a76bd4931135967d5b0cdbf0f150b8c7af06ab2e61fb646882b07a453869a83f733a28337aa8671b99e5d02f5aa515af3a9b39527200a83b4505ac3a0c1c254d0a543dee275628aaced8200602ca4a9a23d78b8a04251058f12b9b7aaf9b95fbbe921f4e6726c6337c86038193f97db2a6c79e3f725c71a7cae5f3e97016abcb8b20f283b13f0deef704c45ebc56f8a39f25ded872070cc467a005a494b186b7eb830b091fe0532b8801bb0a05e5bb9cc9682d2d7284e7080cbc02b6d0fb914c274b3f6651ef459558af28ba2a8f4b6de98919b77220a6e5ea4b30bcf4a088bf3b27e7e3f721fb35dc40cf913efff1b892cf7b6c243920cbbf861624df5419b4442a839eb471642521b91ca01afe52272e390b6f63196513f566b39757fee670a7d683998d874f9ad047000652658de448f79a7d59888260eff835bba1e28b9f8accbfcd45c5e77731aab1c0e486156eba5761d567bfb92beb882134bef6df6af7f3ae3c08e372144b32b98d9f0e3ba7418454f672ef3f149c58084737832c331068bc92eac987ccfcde181db82f9d0205befb1b72078ad4987b790cdc7a776f83749275b8459bdb1cd010b6ec33df0d2594a782312b8720d23f59ddd41e2675962637111a717d3840be1426ddab1f410f7c37f145fa9785ae4f8072c786fb33252ecbc365e78d75b71123fbf44864d9a0782f74720ae7483025a1f28eec77dd86118dd3ffc6b39979eca42f5837a9e7d32d8ea60b81a78795a0179222da4818ee7e1c60a05368ba10d937a80ccef522aa2f74a92b90886766c9e018d5cb574922cf791ff3bb9704256b38132cd9d68cd1643cb772866b4af3ac9b5088c2914047226b1c098137f4bad8a18441751c2ef2cf902d601a2947a6fae1e7571dd8c2de11575c342c2b036967326a8eda0c0973b63d515f12be4d8386d5e993cca073058628cb438b6e945e88909a11e304efddcced360164c66f039a3f4a1e50ccd60876694b3fecc3c3d773202b8d415c0fe5fe749902fbc0a3fb39f1bd5cebe27e9c05543149ca72af4cb791d7108e2a400708de2272a1cfc25938c0588835b536c0e36f391cde9e800baf9b9288f4969f3a705a830382d20d701ccf14c87c40a1f82e0a8dadaadfe9affb629393081158592789ff729a8f440adbdfd1479467cc7f66dc43ff46837c57bd99b1405987ec7f52d99166426de46010fe345df14897ff12963b6a872da7970e6068fd25232d041d8328370da3a19cd85f1d3d77f6809846318926a4984db4ce6a2c5690cc5b8adbd28c72695c9146160ce84070ee9351c4f92f12c8b01fba3bd5bcbd8e56856cf9ec7e19377c10197310c9bfd1a9da771b86dd94570cf17f96cc02144ea1b95de9a6771b3dbd3b94cde104401c2b5a41c32393b4fbe21ad916626ad1620dc46b2b6bc60dac6f842486fea20d2f9bbf8541ee3d0b59c15a2cc8e99df47104960e292a0672e78c1c670dcfe7424632c199ec9d9882edb6ab84a14bfdbf2f063534014f1672e665ce9211ec0dd14563fe4a92ae0929e170e05c85687323ae6efaf02cbddf72c1648bb51554f19f65964074f54a6fb02e9656abdeaf7fded5e7715ca69e5c728400fb2acdfe5e8b49b355c9560ee90f3e616cb1cc97d84497287761a58c757204fa627f6e4c6bdb75e14d94b43f454c26c300f87796d9e0b33a4ce66c87317269bd7bdbb5d273b47bf7ed9522a7047e039affccce46b828a71d52a07f5830589b48675ebe5b06c24b87344c3dd58cfa9184c4012b4436c6e363d0b1aba5891acd6cf91ee14144b291802b9eaf76a3c936fecd004de2c38389a028247db3c772cd518c2c699f21a6ce87f6bf425f8ffde0c18d279c4b5c3e6b5a171d741a80724737afa9389a2a68de5a74becba471b8cb4f5cea6bdcbd6fcddcb28dc4ac3f7282d3e7b54fe4c24ea9457e9ba6f1eee2df228d414ece8b024910ee35230c0632fd8d6297dbb0161c7060a960e9020bb6db5cb84648deb729e1adc668269d2072b489c74c38eab1a99581c81ecf920432dfcf4ffc453f9eb1f024b03633eb3672066a7d51f6add16d58cc096517f91df2a1a24e0b6a9d2d9e556ff2898f93307275a59b6d692ab7b1a2d85eafbe099dd5ec3dedfa69880b5dfeef157079770d32fd01c6d808d0572b0deec1aa9aeb7503c20014d0d3c7940f22b3d3bd03b104728bedd32261dade7c4d5a35879233d1cb79aa729cf33f24deaac652736354547244bfb3504f9986ecb809811e4687e75d184abc27401ba60ed0206249c90a0772d61b8ab847a3e00a408ca56dddd3004c7ccfdfa58a307107ffc551c6cacc49724324d087729076e2dd8953e95adefa96fa4f669628c132897ffb0422666c8b008fd9606cfe2c7be96c2c17fb9a2cb4bb338c6c488cbe0a660d91bb6458a56f72af8d229fd246bf7a766b46f62c93c246aff8eec9a7c290d6f38a8fb3fb9c6f362a9d07cc5e8b3f9632235b8dda70a42d15ef97817197e33c3a5d434767e49a63d97778e77cb12d3c8fc6653933799a864ef41991b83f6f6cca299b3ba0e82a5f3870673afec780559ae675c37e906d8f22c47e715e97625e8738bfff511e32722c8d108ecbac2fd5033780d2ddf450cf2418f33905e10c03ccaa432a0c1f9a728f04ee204ee1d802c76dbf0e64c016572db36b2d77935702b8fbc2a5989dc5723d3e576f432a641ea733c5dfb0f52266cf318de2f52f45a79d23278119041c722e5d2ca0c0f17c915bbe7bebd691a7202fa5cdd5aa1a9b5ae82cbea72513ba72d50669f3f2a4830edab9768aaf7302e5885999de7153656cbbcbe6463e518a72e3d69174f15478ea6d80b01a3bf636fb48df8e06edda9cbce05ebad0464fec70dae90d75226f4558959ac43bd9725232238a9129eac481efabdada32d7e5b77280debaa6ac03444fedf830bc27f103d8a4a4133d381999d341d5acdad4e5ec0be922f2b7562d1dc3524db02a689ed0ce2c15aa701a1337144eff70304db82420005477b0b1fc6041f4ee534e75a786446aeeca2ff8ea00efb3c7a0c879756f72b351af7fe24516893a2f2d467e3f1da44002fce340050786e48a984a306aa17017569d7280b99f1936a24e6df79e352328a213bd2aa11993b769b282b4ae3161aab92de2a807a0ea8b1b0da7c218dd25d8c155ccb3f5b240db0b881f63487b1a372e5b24e11a536b8f3b04fb7906e9955ac22557a23db81880e67f018ce2cd7216b9d0733d2ff01d9c16c4567bba5affaf8024660469450ffbb58977a01d0a72c191f4b69fe615794c482b68c2968bcedf68c17b67dd8ef7d754582d85fd05723b8894a21ec6ae223ae9419335a27e0c9bc0728a5157dda08b7df996dcf7cc474117d52c2fb4d6b94187a892765bac87cc20f096aaf1dd88a17ed5b9c6030a729819e89c6263fb89c4b929384a0a2c244263e846a421be859ef38caf03867172d14a7ddbf1314ae0448119ac00f3a534719ed82ea85fd393494c1a9a55348b72a6b5226baa1e654cd2120801b65d4e7bab12932c95658faedb30880bbcde437292557a543933fd820b3776e451e382aa158970dfc35c79046984296411f21372fea508a745516f02c0ebaf31263003739dc656eb7dbc21970264e0b64b49e53ca19a85885125be2969f39d484631936f616d36a002e1054145676e5a53237a724c2b074e87ebebceaeb4f864e595d9ea4feb119e9f92f15d69fe27fd05d38b72e567552ccbccb1334cc17afc8fcb7289acd5b76135019df002c5788757acab728ddad716c299becc3c0c2fc14bb44706211675382b22f59cf79f5fab2b90c71efa6ae6a429bc496dbbd952d3c36f1e52751d87c445d9d3e9fa20eab094c78203281d25c88210c116aacc70d0bccffe89c31010b7b52033694788b5d4e2a68272a6ff8688d9b7ebc157701e867e37d58e5e035bd9a9807b7cb07ffe13a4dd8a18ac4b4ddb831995a25219e0148fcac14178c1cc146c17040e74a19a836c22d472b65a64459ab20747e6bb6623083f0ca3bdfadb3cca8e1597af321474c0526d6cbd1e7f3a3824516fed1de18dcd0f8dfe939a29402e8f8b42bebc218fa58a3172aa73e229dc20e73878e1aabe47f0e0f07caa00b22eb83a834b53c505f7ef2b72b539ab440a587ecc95cc7d8d56cd003843614ddb41abb54bc9608bcf11e09726c09f77fadaa3741b0ce214af0bd094cbe4c3df524fd96edb70702793decebf341a7f26a2ecf9520874d77c7270afdf0279180091679271347b031a54c8953d1f60eb4cd594cbd3729001fb0a81ad16a5c4702277543b2c6e4f9b32ff5123fb09de9b1eeda1f79dcfd2a838b0568c95605fb06cd435290a25861b1c6d458be34cd319dd508172e3f83212f02e6e8fcf61eaa66a09a3239fc13402802b110648725e9b7e63bcc88d4bc0e6f70af28ec3cc21b540f3efb6437388f4b59162b2a1728be7ef927523756b5a7556ba2e5d0b0d83ada110cacb2d6fa3e2792c5da37072f7715b83b8099cfe54174743a1798ef03d8816387ccecbc96edeb96f52b324723b7a73147e743228b02400cb069a2b89b9aaeeaf7d7c1ffb96717b2f599ccb729b8dfffd1fd3386c4179e3a90011874109b31106ae45587e35839777776b0c7266ee7c85665addbae21e848b484dce734721b124fe94c01785d5bbc619cf6672e945ac5303d555836e1ab59110df7eac4f5b74e3d8035ed6068902b4ac76eb72f9deef5c201937e202c3ca4dcc5f619a6e97d7e4cd736dbfa6b02b237c365e09bd79ba01f5abd046c52ed5a5d135582957b2d7d10a58935e9f02e128aff30c03580ea239682323e897fd320455b8c77e342014201617e4aed94504d94e62ff7286014c0d27acff137cbb7b88d2d1734c3b4a3786320f84b9dd93a1d6e13c3072465a478e4a9c3bcb5fc52cb214149600da9ad6148ad188892273735ac4a8266c2152ff8236478af0922a6e18968c7a192bfb640ae2c4eca704b751aa3bc9f13a5697b760a140530418b9f04deca1ff88800fa4c83b1d8e250df949a2d22c74183fffd54fe68e2b5b713c8f1752fe5184a46c191692ba77b6960b0be0099d5a720abe923a231962fe7b61889ca3e5ef0740046e37c6103b57eb4e24ea1de2dc72cd16c8a91f77b53875f812b12c22d2e1ca1d91b6a3322970637ea4d0c75ac3118de95069af8bea9e381be466d57a25cb2d2790b4e3d6d32c039a216e85468672bd1c10b8445ca8f938e6eb27519375712cb4e5ae322fd92cc8c3e10a8c652472ace731d733497ca3ab5fd1a281f5ad295008371eca20366b508b769495fec972fa4e4acb99191435b942abdf535554dbf746f8b766ed87a1e579997f66654d052a74ff117bf0364ee5aa1d2880fd0e1a2c8c17efefba215366f6d92e1c1cd172b63536b4aa513388855a0fce1ffde451e9d995db71746f3b393da3daf8a2d072f35a6b5e2592da6d404ea8bc8d1e7cbea52d044556269cb31677037d39144172dc568852d8a49a5abe91ab51bedaf02f60b8b980b3320f941534d42cbaafd86d15a2991151d71be634213e3dd257c1316a10e58c5c59c14f860d2a6d9cf22541d7578eff226ff338411e7b6d9a33da2e1d436a5ac51527cc7746815f172ada4e0c39923dc244c5a5164b4a4eae71f2d498643312dd9c86de22feaca591856872608dc10a43a5d055fc8e63e04f7291016227455c2a8ddb23d9fbeaf0d19c5c727d79eb16c2d4d4d650f2867749a5361e79a24c16c16a24a56725badc03a53872152e39e3788fbcdd8545ed7b9a1f8d5ddf4dc7b8fc611d1961da58a06706cf729e72301107a031ced62ebf78bfba23921361ad3f0418f1f7768256b488fe2c7272f5c6621447fe3f1fdfb60339df88009983311310b954125c7496a61c1e1b48fc99a7b6b9e00889810510efdf79d20473b468b2426ab1f063abd995f55916729acbbafc20ec5e091f8d3d7dfcf63be11220d5a604e898aa0967ea0ccb37bb72386b9cceb3105f79196269b47094da5295b2a675e936e01a9990da94bbd1f172c5b9492afc4c3dacec51ceceba6bb66ab2ba2c215397dfe99005ba1977715372194d53af3d133b4d9e5949306542ee7bbb3972de7e7f79859233b73726ce0972efbe103406814b74927c9561a07b96aca8ed158561062549295b8dc02a03ff1ab9a8e44c81edfe36978ee90216061dc618cb5beae39ddff2ccfbcc7f1a0af672f37b59fc1dad3d71270ceeda5fe83e35ecc67fb728f8569947d771efa229915ee2bee5406fddff79248bd184a888b8a9c49f36e89b0b4923ac62a106dab7b7725bf139c39ee2cb599f8fe74c3402301cd364d41d263590b38aa0f764d6974f673a65db665db87ff85bd3b5eef3f4aa10b3e23b3bca3f0e70994ae5e171108f72cd46adf71a5e794afa4324dc35e0237dabf0dccaec14d6d0efc7078c11965a2fc971c661f318cce32dc46ec3f5dacc394edc18d79f3d9ba8ad267b8d0410d37253512de03ab2c0aff26f2e9026a7bd634f0399ec56f38358b9ce696227a6f4362516a1b3a40e00807c8f7b0c2b48fa2e829b754f5774e1f0458f50f1e90c0b0b16af26d86b4e41ad877eb13311e54d9f3d4de527883da82739f88e1e79ce1f47458811df6bec0ceffddffc9ad30c6394e3e51eb5d8b33e72deb0d571eabb616fee54c3b8b0f6eb96bf9055cc0714ff375b66ad487cd846ac0c6d462b4d8012728710f5b3b00f6a7e4a503f5c661659e9f32beffa8052b4fb317d96702c6854722e6a3e742577e9c2594b3952873392eb549095cc5e9d81f0ce833f3112cde03125f656033b9fe36b5359792b9bc6efc6ad25f0007de4a6072407bfeeb1dea922635a9365b263bc18c532a432438e33e710932338d48766502d37e969422cb9723ac147f2af4bdbfb2ca9de000fdcd4c478b756a96669ea0c6e0869a28dfd6666f4671e16ca7127e346e235405c7f3392c6ebe428fbbac1dd55d562ebfad31b722fbdbe15790e415cf9ddef515b3e05bfdacd121b07159458a115b3429b597572388d90369916651da590fa231b26c1db1cb7456dc2a99fc6d1c139fabb4dd7722b708f4e1413d14e036774755265d167b4b7806c0618390b5c26d101ccc08a729147597c9c8ef58b2beed9b01039871133dbdaf1cf9166372033a1ca35ff3a3d950f43d4bb9fe3a354246f91a51d86b890fa29ea8074ff3bcce5f0d481fd4a723c46348e3948a5f5650d74ca66dca2e71b32caa73c2b53ad9d50b73054b1f97201aea877d11ce91f57a675f256373082fa1f5aa26bba155be9dbc2587b1b13231ce9716aaa2904dca28742834cae342a34783a045940185292cd005e2bf6a6721c2e0c1194dcd0c305f89f834c07f6fe30b1460fe81d654111ebaf9446cf0160903013f06ac239ea6ed0d0e15ac0e7a6b8c81345a28bed216f39aaade382e272ec72d0635fab25e1431a933d77f3cf52419da0572ad5d8dcc2efbb3a1a2e6c72800d834d11630f0778bbee7e591b4479433fb9f820f569b0b66e4f895d7dc64cd9113dc07cd7309b98acfed9a9e66778f041c5debfdaf14134e40b904bace0095b54ee0186934696f0936c1b20d1808d961e17aaeae4d9792e3e640a3660b701533306ce7cb6e24d77710186430138d2fb6c721bccb4d2f5643744d4b4465b72cf8ac53ca73113ca251d60375ec405361daf801399e1750b3ab0845256f5d87272b81614eb4401aa64837a607be4e2717e9dce8b1b674a91e79948d2c4e9601d6f4ff87030eab79d65ed710d7f81df7ac45770e7a1e9d77da283896a3ba9a372a518a1a0bbdbf34424713b7554f2959d29344b2b6e70d476ffff3205f4cf4d727da609fd3506140cc66d695733863d75a2b1e387f1bc3fde3d9781f2562aea5d2649499a7c8233f11b102a64cf9d28b8167893cac581bf1ab8a02dd0435a36726131fe50a97a44d57d3ee4c3934b2a8aef0ffdbfe9548d748b62773428bcec7237508a83dcd9a1b7bcb2ee512db1228d8ef54c60c0281c5814321c645256815b48fdbe1675ffd5bbef426f14dac6490aa14379bbfa58446086ad3a68e03a4472fa2153ca5c88a332cb4505546bad5a1f4b3c561f438b5f6b35c214bf9535d26eb4edf08f45388f9f42fb50f9b95f089c55c33dae8e682eec4650187ad896d6728edafa9c86ad9bfdd8314534250d8492cae341b2d4a32a5b8c053892dc510a1368ae2ed985fe0a532652cbc0192545cae6140839b1f7ff33898e025847b4ea17f6c372d292fecaed14a3b5d9db48d051e81d8b469535f14bc6d6cff2415b607222fcf22f190f236cba3d188fb0ecace2c4c9e551d66a817126eddcfded7e97269f176a7e91edaae4b904fd6238937a3b7792c6864df74cf12c59038be0a1c76d7cdbc818c4ae9ecdd05e0351b65865c401367eecf8b9804677a6a3536ff43f684aa829592851371cbccd1ed19f7617ef3aab89739e4b83a3e16aa2f8605e2a19f33e1aa64b8b33a7a989efb31c6d171c1a2bf734671dd06fa80e6bbb2a14dc64dc5607a506b79094ef48932da3ff53eb7d536b26ba88d097118483f504278a722f5f2c3812c2b28f19756ce02ed56965270f9b55c58bb003b5c6caa5e414b1723bcd0f5616269b1a8e8722ecb331f180b8dbe38b386f2aee92bc4c2568381572b8546702f0cfe7d54c92c4fa6765a3186ea3f951ea5e51808874185b576d7122230774f45b12ac0a7660d782805bcec1b8c8a1ee8858cd65ec61babcce627a14b03aa958ddb29af752510ef6146e6e393d4d6bb8f8cafe104d39f4de5e3816729a137d81fd4185fbd05b63d5bed116512817dc1cf8d8fad07378a5c6733dbc727b648ff222080d60d42ffede56ebd93d54420e2523bfdbb764c17f6edd308c72be2d51e61fc4b2c60f78352f59f4f0d060ecf8d21b5ef38e2182046371f3bc72c9b57417f935575090aa94863153266ed2069e8c2aa8374ca9f4a5922c4ff87260b9421a1afc7e0001e71db2cb028c5745274172a15cd6d0cb0062ed9396f2720659c0c640fce49f0ca4a05e32063664b727f4d8b71580ed55ad879b07b00572bfe970e0fc33b957a193b8e11f9bb522230ba8bb40d43f65b862d25774d7e40984ffe6e9ddcae2c2d861434a45f8e045d1fb3cbd6444aaed7c0cf2f3b5acae72d0a2f2c0da1d5750e49586e2aa71a97329c91cc1a17e39e430cea005e794f507c9ca18b5ad1fa47305bd513e7d9b9b30f85e8453c6c53029abe6ee259f85ed726bcc207f5abba68754575e74d92a679bc64a73b688b33acda9ae398466356d291af6d5656dedab13a17fffb2891a8f874a7485c00c3527dff20c4aabb77e0472d9a63f6189f6a667002917f36d01927ebfe9cd5744eaf9cb188aa1a1d9d925726f8e4cd803f41056e7b559bf7c472a7db4af34e5582145c2dbc13f2b25a1556b3a335bde2a4fa2388a56c1f984f83364bebda835847546603d9dd87d8c8d86679a1d5045dec2e6d4d8b933592b5cd397a78621b431fe8105f4fafd4519d16872fff549351bfb4854a5f91cc84dd860eed226158395c85c0d96ecf631586b7e7228329a64ff3dedb32aa9c73ca10fe5d029de2491fa22938b899f74e3901ce8729970ee9e2d63faabd876935caaace6fb954cc72fd6a05715d04c8265a417a820e3c51a8f69756f9c3b446f4ffc2159d11ef962720dc1d97c95ba38620ac224724006218bbfc18c4f2398541d0932c47cef7a1debc465c29d690a9aa55139403d8907f15f413b04616b753be6e71b5eca0cbf9b71e2049a679e7ed5488e13e072b20851c7e9121e3253c71eec9f3c6a37ac5d573939f2f511052288b8045ad5723442e4aa2e3dd9b3544ef18e6ba1f4a5d780b475a0a737abf7c55f44ec601f72e05519c0798a1d3fc11d27f4a55070471ee0b8381eb6eb4fce087bd2c02d1f34f8f24e01ff93d25545a0a66a85a0d1559b32ba174eaef1955a3f29b0c265d772f03a55685f8085d77161ed0bbf8ea09183f97732588124aea2d0342a417261724cb2f584b2d1e1d6180a3fb4d982207db4f29d4dcb16045b90463d3684df11722adad4edd29811e730935515a8a93a6a4c1f2c996b30cd021e16b5476cbf6d074c9807089d14ce1e2467d495745fc4c716c663902f6515603d69810768efe872c21a1993ff443969d6abf469bcd782e0f591ce011bcc7793aab8651be36d5e0999347d829419bd580c38a7457397340f254ea71836d20d04b23a8e8ba809d3167f4c9993cc55820019236be775540f34a730692d88f81ef2104a48df9747fd722fe16b2826c64f29b757865030444186aea303333b8280010b58f7cd5fad527238c6e1db058d26d327f60ad171c25a6861df8b7eb886e0c53f7c7c0c83eb0956ae15d3edb03c964015cc9b0fb2c045675e32ef4afc4ec9386ecccbc7c84ac5725f2dd8b5daafe09d62be8ab455fa778c91230767f99eab7453d327a0287f71720c0b04c063b37b3abecb530c39169bf9e403851e8d11524d5319fb3f5e3420725df03dcdd9f859d61f987bf436c12e93868b18fc8facdffea815dc49ebb27b4617ef3a281a7f1471ef4ac1f1d38eb4b7a0fd337532e60945cb580d22cb109b720ac9b95dc4126f119a1e8d1c3317ef9fbd4e460875998452110ed076704579724018424fc94ce9a9cc7ca11af1eacabbcd0c4b2f69457fe7b78cbbd70316a5443c63c18188d0990438f3bda762464cc560e3269fbbbfa054558c3c885d6e7272ada05a52ad008834b80b33716ea2eb375be70cb195e948e59f2b0c1435532d723bd4771226d91ed52034760f6bf8e0cad693324e543d6d125a9a1d88f9cef25c27fd42e9de59537a36e06abf3ce78101fbc0ce969450f327f666d246cb08ab5f0c83dabdae522174205dafc252b638eee2f506f099e3ce69fb26a9648822b772c3304f05967f980415b615366d80a54f53a363b815478e3c7418dbc5483446725d89cc7230a1675643c5d5c50cf62417a698268198b1dcd7a0701f7587e53e449ca6021fe9e9e031efd81c0b523d03274507f780384cc02ab9aa14e1576a9572e7d15440db7cf07b183d39786547f7eeda4a592aa16a73d7a0559737e985f310ea44610b2eebb943942e01803b10cb43702c371920179d393db2cc1e83e169729fdd0cd7a632196ba1cf68969a2b7fd413ce90623bed6b4206da90d67564d4727a8069ee8189a5b8e7afccb33d5dfd48396697aa40d0e550eb32d8f335899445283ebabf6f42d11bfe7176ad68e0fe58c88f08a0a28c655dd272af6bda1dde7243d7dd1b15d7e50a5a1a2a41be2581da28680adb27b094cd03d16df0fb275e021a076482af50c710c15ff93ab0c53ac69e4a71a3dd486eb9065cbf4b142e12729ab807a33f70999702cdc440f125a6a7151e414831ea24910707d6911a6c5729f540c9414d61658d812cd857f9e047f7916ebf2c7c0a05b6814f3c82cdfc2b184ba60845c93c31f1d346503745b084ca1f5151ea485fb67ea55c9b3194090872e5dcbf5667fbf7aff05f6032b60954dd07f3e5e094c28188e690e7333ee7d37279adc3a977cef66b4295fcad139b699cbcc937b7a3e7d7550993af7ee0aa7119d4d9c5d81e88f9eef789248bea42c0d73c370a0137edf6d05bfe6a873db6ec22e641a6caf1ba7ffe6cad9dc9c1466fdd4a0d94497680262adfcced88d61ef3666d1578fc85ebe8ba1e714d0032b2036e92b718050ae6a5aea08e495b7f9e61727a81d48f553d7fe6b9bfb8fe81d2c7826e23b23c1cadf3a72a0286eef50d4726e6a9a03d8e0eb4a46d465671374216c70983712426c6b447e1597017c69f0235e3ead2ab30e39567e3617d73b92f4a8bc46eb195a45159076eab204e09aa7972c682a72b67b033737c57a2634d8247be16d01adda6ca85a59ab03756f5c4486913522e47d6f67c2d1cd058c9404b1dc6322e1b6e3b190809f307ef53f18f5972468a6f671257344e10279f0655ef792722fbc213906c866b2b25fca2108fa572d2fa01d5786fcb15704bacc9d385936365430b3e54b4d87f78814092c2d0db725f36a8d1bc772a2b485c6f0430d9380b6620262bc3365726ef9115739339034de3d337510f74f0ebff3de5c9cb99f5247016a81348b31d0e70f9e975fb350d72b3e40566d305f8bffa626ca60dc8f5d60cf84664dcf1268b230b465bbae0a5723d8f3403d685afb7affab348984672b3e61a3a0517352d5c76a276f3be0f8a72287794424c17a1e63f703257785c777cb8b37448ea37736487d4b18ba4a47f656fa9b285630a8941e16771de56fe423ae3a395e87f0c6dd3cf01f3db96a77552f8168acd52d3a7289f1e6aa1ac7644b710edfad80d7dabec1c9ddb66e9cf9f2b32164b343eaaf5dc40d9098f9dee79e52fd7f9f37b8e8af1ad8083e291dce972c9c03cf3b0c31785c191446c05a6478874ff654ee1836d1df5f091aeb0f7ef4a8338eda99734d07fb054199cebf0267ec0f38b4395c8be2f5a01e821ba15ec6188d597dee246cd55d7cfa40e44997bf46775ba2cfb02293b31b6b5846a151d72a75f033ed286d8ec52e85e6e46cb05310c719cc52a830a376086eac95c018272846884c26a9ecf6256b10c6f3e28d752b710e7c44dc614ff3aec8c95e6be537280f4595fe0c6ebb51e96eabb1a479826cae2b39478ccaf6adbee1c897e255272966ec28def7531d17df63dee36154dcd41a39dde8a83c6b8705a87c7e24d64724c0e998c9cd81740097277dcff58c4d3b630b52cb97bb83f231e5a1416264472dacd55cf6515f3c198d144f806b7215a30ca754e04960adb032d12d5c66b3643f70d092a03c627ddcafb8d0a4f9410bf8918fc0ca495a3d4ab06c5d258e1517293edc760f4388e2fc509e7a07dc446f1130487a808536e9ae81eec132335f37254a3342f63172f4c1f0364e23507c1539ed0940db3cd7567569dc5a0dec1cf4668ac3f46edda25ee4a171f33d54b75e199ff1c5a163c4d966afb9080840595722c5d1462df4b89d1574cd019ad84a678b3e8cdbc090a38db46ef133dff657b72ef3d45298756635845a607661714e7a13872c6f9e3490e4bc0fef47d96d2d372eccc3abf1359b34877ba3b9dfad10dee9c7923e327d0f464f8f3f1cf92bef45ceb6ed4e80226bdf2713958cb11f5ba6ac29371fb0fba72ac1b303231ab7c0272924764c6d73e355c6493337bc1a1f70a9127e9dcb1366bc88480fa2e15fe7a72fc3262696037b282f09d9db6f75efb95eed8d5c9a2b24651d3152db0ccdef7726d9ab98400f1a6966af4c6b4f275f575ab0d7cf1900742082dc2c73b71128f278ba72446f0a253059e9192d5485d4f35856c179c911f931f5ed6621221f54a01b4ba8735532f8920492582b6e32174517c6239dac751e485b3b00125591ce2199624bf52b33f0d55c331b2ca2956908e249dcd374836ead3418c17b99f4a5a31dfad5b84911c653934f64fb0c2d44496b8d33c5bcdd43c9e65fa4b146a770a728e35ada4c81fe9abd0642f1911d09f1c35290bc6e99ec8c5a9ab4db662cf5d5f477a5812d8234fc45ed09b9b915d29f3c46b8d7d545836e009e2f33e0755973485f187e6c754e8a22db0549ded298e8c032ab8de38b920bf1947d921d62b794879f1d14fe9109fd45955fd2737e239ee10da56291136f6c604c8f648f418067237eac751e530a485fbfc43213591b5bdc5edb5219e326df74b269185da19a9494f3b2fc0846315ceb75b71e065286334e34b1e60dfb934b1486a23e75138c172d11b05dcd5747318ed432de5cedf316a0dabc16dbb8bd54975d3b00d2e914b0017e0bcba33c26a24eeebacf3dbde398ca1d92ee7b16f27bcc00c2c2adc1420729595140c48d7c68b92adf9e2aea8feca9416f83bc853abf6e849f354412379627d8166c3844bf60cc69cd71caeb85d2715708f386f5ad1fa0814d0734f7edb3b95ec8cbaf2173e7c4105a7a80af72bad55515de8518945e9b149e5306fffe572b26142b2985e55f487f018e2e6a2a0adb738dd3a372bae00ecd8c30036a8b00f6579f8fc72c7f8c2890e77a02b0484680af530ad5698051092cd8edc27aa9b723e367b37032c10f504f4e20778a6ef4edaae7348c68826dfe7b7eed957e1da58dcece523d2605b1752a22f2c665d33bd8c6f30b52b40a48e297cfaec3f1fc172a16b0b7e1ec334784171c945899cd28e42beb620e7be6ccac7817d29fd1c5f2ad485f8b4a44fe00948430c6604fffe52ffca8355ea4d4e32b0395ae843eaaa7205e0070d0ecaf6715cd4e4546ba0f85ca446f6c7ba958dd12d153f8f17d248724ae8d569f3c7c5d510e892519644f89d8fcd96c035268359cf54812c10de5872bef589c95edeed53dbe78a6ccd8542ecb154c6a38f392eaa62c60c6f19bf7272898be9d5a05628df5310b342ee9f1e5b247b73554b593856f74b2cbf257c4f0a45371dc03d4f41147db13fe91fa7ae56982b4b959199cd58065e276f598175239a72655ab52b4461a043da4033ebb8cd778a8538e54c8f856106cb05f25c7f5c8ce12d73aee7db524d16ae61c49c33520e42a22956150fbdc9c312ca40ce5e061ecd55540c8a227568d6eb51905e193bc6b20695adba9f9d3dfba84b52a5dd6d6c68148bac9d3a144e1277b0c546e30873394f51f8e4293da521a77465b87a0593787ddd71ccf9663d4463fae0dc8b58c6be2a9533cac53fae9712c68e9b5172b17a1eeb86beb19a4cca73e409e899662aa233f92aaa42006d6e0acb52953b3dcc20d77f46536e9742cf4c1881a69921c44a57f39d5b4e66fd9001545c6df50487391d183d9b77eefc715f421294e97962c6af99e542f43fb79d62fd15adc4562101ae74edffdf3cc4e905de989685d8140d8c2f19df75026105bfd3bf12da72ad0d6e5eb11b7fe49513bc26dd061a5032fb6951f91324d37867f0b70c70287242cceac68160fc1b073b94ef32f9f05e6ccaaa3873a0de6b79f1511be258021b320b7b399d2ebd6b1002433f3a48efcf1203db34f8068e35dc3233ef2df26972067896f3fe37de09e561ecbba5304c7aaf9dedb8c7195111fa10575f13add548d8b883b64ffdebc91969f8c85c03a90b99a6b11efa092eee83ff3a812c893f7255e22a0982aafacf4dded262092dada60c601dbafc91c4f406ee187edefa3072217f267ee97a5bc067a9bebb9ee760884daf314d8d5e15b8d3f3f3372bc4e260c5eebc5a36f572a73f54e283f0851e7836a505d8c0452595eed7fdec990ac864a62cb3ea97183d9d457ee78c7f747d1024609ff9190e7b38f582e5b39cbf75721223e3e1de8d44d8273c7e1f82911b823d19fc76ae8ca8b8dce28f6c20d48c72e72429ef36a7487680da95122944679fd14d3c6d28c81518795bbdc811f1ca6116dbcec24b26c708ae07d82b8f7284773f2334946f15bc23c95728110229553b2abe58924224ed0ddda47563a8b45ac805b8fed5584b7372bbfd3b5e6070f66cb48714f3b42da31cb0114831e4d194b869a540a65060622ea39e48b4b2b5397281dc7fed91f42d1c39c1ce86b43725748ca2eeed7171339245b201ed12c65c177ce4e9084d8ee6f412246fe5d058d2d3ae638db9117084b5cad196863eb9735c57231f9be1011183013c39e2d2d02bb6cf9aa4a765186a6804b6a893eec6bf724438eddc7c6196d4a139ebd6988a1bab0e41de685b1302480a9e0b964715df6d49e94b9b7eb3cc1711d780d13bb16311c6f67ec5421ec6b608dbd6f37d13dd2ac8fe5859c6b705d084534cca31cf08b2d0c786d1631b83197b23ecc6aa5300726994b2680004b531b600aeb208ce53546dc606907bc5e340195b6f8284341a720058cf3a644cb9c030c3be90b8b10c779edcf1ec0ae00e15245bf964d41ce772ce56e966fcdcd8cb6c7d040b1245af5d084d1892d7466d43d02fc2ed14bcb672ae14db8f2377ab216f24b519b9957e49a9ac022543a3c3630b1835a6650b51723ad4faf8c62cbe87b75246156696342cc7f6654750e226b2a38fb83287f50072030bdc6dff5bd7623c93aac277da9257d4a0e574d91e492c05b49ecaab3b6f66b12f911b81e4392b372a54ad567b11661d584598f0a407da3f68487f5a369a728b43a0650dafdcf58efe31db2e35d603d61d4b7c776c3821c9f3efb7ef6e3e720b267d3863e7a862dffd01b1c9320f4cf32759e22fa73b5f21361c63663bc3725a26679bf2deef3a9a56b90ebd844eefbccfc47f889944c1b91df982137b8172652ad984c9105787e6287423cf4237a11b5c5a65e8533e1611a80505f2a14872058be83d28d3bb1ad4eec67ba537e601da47435319d201e4e6e2706f8bbc3772a7ec76f570c2970761dd3676e22d0da8aaadfbe120b6efcb8f1e7d49c17d5b72f768b0996cab0cd136186645bed53d75a5238c90869a575cdab37b2ab1a0d77259ac6934b5a8f7dae100675bd24ed24d779aeb98daf1daadb34f10bb5ec22a66e432713c9b367ecd91298cbbbca4e27f03e332d93f721e0878efa9505b7a2660b64370d37bb7d0fdc444580608fa64baae9781ae018b0569ad3a238a55966b72b6acff803b69c15fba08ce425864a9d844dcb562999956eaa059e4cb98d36272ddb340c405c6206628bafe8c34a67c161f4c8d46459c610b08ba1bebc264ee672a9e65b3dc566899727d183804fe02224009a9b1708e364c8ef66767c7acf8049fdc6d20ba24c219e69b4958a2e0706128977fb1aad9a5ddee88f8d7cf3e890118263d92e669a44043b30734f5768050d40ac09cbe8d95cd9436619f5ef4185218564709cf92cf78f7f8a6f2b292c0ed08bee1c1f1f8037d222c76de1b8b5e721db60053801dd1e9d5808c84d82073d64588ad082ff2b20bd32f05e4e0404203836377b8d3b80cb57be27898839d4673a0b65c7b8ac8ffd16c1cda358c9b0a08d94f9a0dd1d8fe5cb9af5a1468f38f10518b21026e50a6cea7fafc7699754572e8df1990ede53f0c6f7af08e99240874bf1533bd3f597588843da30e3f37094ce562cba42e0edf05860089c09860a8e8ffd54ca587faa41f01c163d65bf92139a529752a350e16015c5a728bd814d42d9379e48d52e09294f6369336cbb32f721e1ae920e096171f25bbfa1f568dcaf9199a21c5fc1609c536f5080dbafb877250e4794fa19da950c9790e101b3ae69b92044024622f2e2d0f0b84efcc122b3760f3b778228c66ea7b2befc5184b9943c140473ed40ae3eda7d04711af25131363b8b559f9f6351d03591788532b6a42fa4e64677bc88573a033f59c4a636f7227a7332661869e77b7c6a79ed311f3d9f3f83ee1eef2a9de4c5724fc6633da32ff9673eba7ba25b4660814b100ec88a2db4884595b95a8f23ee5c8da2ae4be723e2bbe43d0bf691d2b460d9ef9e8163802278bb6b033b561d1f55c45b137fa1975cab9f8edee4e7ad1f8e517808e12a49ffb1374ebf75c980eaf5f42ea14a372fdbf62915deb5fab9a6b6d8f70f09ba9533799c8eb4ff41ad4d8e6c61a82307268d6212517e1689f1e5d49407d948d1aa71b3e55ac633d0eee0292f6646ccc2e56d4805ea1615b1c17a61307d611004b9340d3e17c86ef315fe7b804563ed172d33d7d1b3bd0dad38ff4648e3c7a5714992711069fcf4b09d360dcba14b93d72824fa9ce05f1cc284bb628c7cab64db8967728aea388d7d5b0438fcc0d87a57211cfc60b85c77bdf4cb3e9cd7c7a4ca1693058421c034d76c188e9fe10f83f47e82894f1446984873bb1522bccbdb1ed2111585b7b22d658ed18e272bf340d72fb9465591682bcaa71b4c0618f92b09041ff7609f4c3e6d0725c9bacad6e59721106539724d02fc9fbe325fd0361d9ccb0140c95589fdb29a5dc1cf21cde10718f5ddc6b32d73d97afbc66cebae652b5438a19239de89780da5d0f6946c3c372a590afa6fb1f0cd82904f2868cbee5b5ac6f2b2b6ef09de8cd9ca9f63e50ae0d0c6b1a21a1077da6816b78115e4de82ec86d63837f371e4ba533dd28db84a8727a49cacc0ac103cb98769c9739292bd651e000e818f079bc04484dd124f41d5470fcd8fd4f54e5d2f7047948bedb7df14a3b210fde93e29ed05d19c472467005ae561615d4f9b0503ad3023bb4c128c513a68ce6aa0a30cc5cbc1d8f956b594250e5141a1d73300bec80a43b595bdb2bcf7ca7bbd166cb045804c64b6124c972f358f5ec38c4cfd11e12ae6b44132bfb2854fd50ff2af59b38c17bd8ebfa667217d4e98bf89181370cce75300c290767bb3bbee37df8137b8f1156fba685ce720d611f24a8b018e848094936f5b15dd81825fded2d7d8b11abc508a26edcf872293d3a3652eed9a4c5322329efefad0f9bf41cc71f01c72010cf67af8a092c72db918c2cbf17f14dd59568d3d85d8435e73bb041084c607eed84489dec95d5631f552248b6f30e69ba2ee47909a8c6eab4754aa8bf650494831768c9ba837a66e500b92820a95e3e914ef649ae1f5eee896b28836c88643c9acd319a6280d672c6a2566909f4d1fa5783ea392ebac30dae34f86cf48a2289934fd953651619724520bdc7491a7002f7d06271484834d997c207885994c7b2f94db3676da69b7285966ee77b554ee85c7d69739f82d373ab18e3c796cd125d25f91efb897e455265cd23cce7d57a19474b9bf616100149b1abde999abc73ad51d67d62ec4ec8723788a0a8bbcc9ce2eeeb19e88ddccff540c7d76fddefee396760ffa6cbb08d5ee3247f80f8720cf9045bba660611483824429c6ca144061a0fc0cbcdff39d0723c8371691ccb6018ce659a10bd9ec650f3cde65a4dc38230e5e6e97f600ad772885b5f1fef7d8a88d03a4c09391895b7444153829c04853e55b31bbf43258b5f68557078c1a1ac6dcc29d3376f1a9cf454942ccac690cf8121b2ace6fbf4c472458e6869a9d6a4620ec6592cb14fcbe73f22e65b0afce4fedbd5c281337d9072cfa211e469ca50d40bd60f05d1681af61d8e07d3fb1c4839e6fdab310bcad6036c90d4d0bf1be5e822d3c429b57c73831efa69c62e733c9d925673e656879459a1fd278b93d8f2637634e7e000af8d1ef64c213ea376ebeed2c858d409a61e72ad90e49d6160b44244da2d0fbdb9578c5f6bc9bd891c7a8d2a56fa3d12d0903c0d839bc42f2d1a7e14b9c2b71a844f0ed3e2839109c0f7589902c390c2214a6a4fce3a2dc61975e769750d8059d394183824370b610db25cd2a5fd4c4bc295722fcd3dbb767d3bfbe6486e319768483d6bd23fd859c98837fc6106a512aee1559ff1166432fa859243cb2953675a24913c2fcad93e7a67020a5b9a07f992f0727587f3c1b36f14b1a1b217f481df250d85b1e9ff21bbcbfb628e450a6c3d946bc5317f906d52528820ba0d99ddf068a9405916a10633d76211e994b49a1a9172751075059336e77dc758a2d675e0d139d2f08829c8a31b842b3ba556cb6dd9304f998b749cf57e12f17fc64f69ebf28af68c39e4b7b1348cd658420b5e3b44724a0de7dd702517dd758f3c31326dc3e35edefee59502cde1d4ed0e0c9ab473721e1a25daf980c92c2d02f2e96af0506fbbfd898f26ad0469774080c16f009872a042a1b39045eb3f587f12ff6b158a44f4f66c2f0c80d27299406f4b77368172d119f7df082363cd9f298072757fea7f7217d60c9ba37e126c71e0c38fe6c472ec6303282d50d97b2c9cf4d50641a44181e86c3c4b5927bdce7480d8d300ab728d2aaa6baf70237550ca6bab1b3868197e805716d6d723873ed8ea2ff6e40172f22dd49abb90608812c45b6d8dc93ccb978ea75f4d039677873a5dc4218c111510be183972a4de1cb7aee152c556ff048f5b7c32efc33ca5dd48232b6afb4024b7a08f8a8f09d7144ede6dcc9a3debcacdeeba7f87294543c604ad2ffff59072840d1f63939b372666e8f3bbc7f5a684cea19ef7e5ee8fea8c9913a9d594126ef7aec9130271ecd1b37421f8f17c7918303130ffaff51551ed873ca255690d728942ed8e41cdcb7eced6667473fc2b570abf38f17f0cd6ffce9555de644feb7280dfbc530fe14c946c43c1f6e7b561e172f662dd62559df31b25addeae5908029f783e0db5c79acb59e4f9e6a602e7e58c666f0494710672fec76531963fb806a53a34c46bd9c4162f6944914865fccd1b1d13179bde6fc9de05cc020ebb42728cdfce4584dad35c901723d2cde49c9538ffa15feba89cb52e4d663f1efa4672c297434a90907d5df23d3ef93a2c6e4247976c635f96db6175e3023c7f024f72c5f206983d225bdb93cf99541afae81e18c476e4d5afb9b23deab3e1aaed3172fc0afbfaadabfa7ca8cab08820d9af6ff41a77796ca5d80c5b6dbb8ceef77f72923e0fc1857dfa62ccbe25de5d0bb124734e9a512abb7a70f138cd54ccc1e57256e5b7a86d37474029b885a8b786d790861d8563342f43a223613c33aed8cd72e1637cdaac83156b7040fb8ab6b1d9bca6a8afd407d73e9005dff4a6dc34b8104d556d9e86d885cb3cefd5e3d80e4888109246d5574ef1fc39e0133821ee1d72d2fd54492a7c644855d8730aafcd6dadecfdac64b5f6cde40003cdcab89b6772885230911605a81fb8821e77fc356439a694b65cac3ea1225d7802fd299cd36081673e27990d8b3df99fc19872d3e9b737003b6765ff7111018fac8ff28b420a247875505db29295c42bfcea59c32da72da540aaf0d224834083d097b7219772186f1543d94d6d87f5bd4297a9f95adcf9124309ad7d9887aa4437b552d217720d96f1f9456e5b1c32cdbc433f1992b2f16b008ca78e998c61d1f858600ecc7200572e824f7e933b2bc9decd7de34e9919aefc4f7991f71d8309afeaa3256b7280cbeec3d715c78e9587c8ada8537759e420fb3722797970a680fb9d00118a5b5f21cb730ea6bea3a0d88dc95f187a46ec15ff09dfbdbcc4c72322a6b10a23477a9b8cbaf685767bd9f24d27584d3a0b7f6bb153700142643460e2d61471a4651faa37cf1496ad2a5be1f8d9b01ebcf52b4967ed591d24d0024294ec235546725bb442d1f081ae7437c95f27a8efc376f8d35e3d4b9c45587a8714e772b3bd0f7bb3022320c61ab3751ed199bf84035a2bf00211d4d9c62437ec413ab4e9d0726964e8b3d8f2e912406febb55bc0e1776940eab17ad858da985f2ba94492ee4d41855be9a0319c9d5fd202cfa5d8306b6999a870f0bdb4e2694e3d562bb3225d3a6033b476b894f5ed8c762c8f376625846492395a8464eb4ef3f64ea0a30d729a4f129a538835fe6133f152a33d59b9062d6d94c1ceccc80f334f74b373327206ab6359da32effa92239f8de476045b40f54725484d6b133f60043a4b505172943ae341534552ba8febc8a95df1256d85640b8a0836ff92f32f9b3c825c1972143a7ee51111d87741a3b596cfe87f10c0e1bbf7f9abc641ad506fbffca64472f8bcd4de8f72a58f15073c36561d05abdde2b943e344d675afea188b7a3a007207670e78314cb93c27d88da3b55d0c69291fbaa8802c0672fc64d037edf6b462d0748da98462b26bf866aafb71aaff6881d90794c1ea333539cf7a0ab9e0d772a2b8c216e596920eec9269a93109b24e104a6455ffceec0bc1e47449e5554708f5445acce1f6d56eff99c2d830cb170bf79d012ecc65c8c3381bc6034be8e872d065f686067a3d154af9f22b0e34d27105e47bf2a2e8ed073b64505176107c727aeb1abd2272858acc47bb5535d559b14b91d84592ac13797c8340c22052fc198688061364b571e2a753ff520f1ce0ffa9262411be4a22a9eace4a55b50bbb1a246f51d3ca5ab52ece4bbe2003a34e20ca9a2dc7cf1e728932ba62aa9b4a0372254365ada967c9c82cb819117b545eb0090bf5bee3dec41515674796464ce472c1b0e5b04186cc3ca01715e567aaff5c72848af0aa441bae2a0eb160315d8e72e4b3f949e64048e001b4bda2f2b5e6bbe44b54e8059329cab14037e9d10f79721c1a1b363dbae06cc8311a68fc2d82e16892541815e80a0f864a150dde82cd7221f074f342f0c2bc556c1457e9271e13263f7b1e8de2998e4561c44e90c66360a62b7f7576d51d950a61f7fe240d446de165eb8add4ad6f858122ebf2b145a722325ba092234ff1ac3bd8ed3a99511a6fd0190f7653614e67c650a9c9d32320be2504aed2bd27d6a478e8143497879f8b982e4e9ec40ca193b320e8a13167b23288e52105f776a1f8ddae9fc44cd033c6ec57d3a88705081bdf59b08af63f57285b4ec7a451a7e9a8e16d38bd0e3bdb6e606c4fe08749b224b566c12328eeb72a137c10d4a83069991d7098f2b40dca66b5f5d244c9c7faf2a51fa9d3609ae72786db23ac629b1c7bdada96208029d6f2471725da23f84599cc2f6397009f131c3dfe3d9abe11251fc4367123a8ad6c2061fd02522d9be58845b5426a38f600803b9fd8c5d1570cca891199d1a810178e11994b95d182ce5b538d6f376e61672511453caeec266786f95914ae7b7fcc6f258898e42444b80ce2b3f960fbe37720540ea9f14fb17743c3fdba9aa00409a6d24344ae82885f7fb05e5218556c76e1c39345c5fe8af2e3b8b17ea0599bcad23d1489d7f202a343e50780dae6e7a1c6553574491c99d96c7ce0fe1bf28af881893ade044071bfac1ec6e9c338c1a1aacb6e089500ee541f31d984ad0df8b388c6f31b935043e715b0454b63d3fb472eb9fff083f749d866cd5163e8b5c895cabc0d33da2cdbf720dd78616fabbd072f4ba53b9e3e64e43efc592558af7998871569a220eb90a356dac155a6559ed20458d2ae9815861c52780859b7e984f9c3d0dbfe6f2f2f7a3c9d1ea78d268047292d97842521927aec0ba49e69cf54573d51cd9f9ff59883685fea4c40459336ab950225fd7caabeb4e442be288122de33d50846d5fb57b697e4a35563f6b3c20c9617688802687e508da6e143fef8763f8c82ef33a1106ab92915d609e6b2701aa9ce393fde84742befc0d18f91b25e2c67bb3634e850da103f54d7feb9872009ddd250501e384159dd9cb71e945ab30b5e45b9b8511fb60310be84c69b11972adcd32d2179809be3fde58fdf1799097b483e348455c1aa0ddc68a1f18dc2926e5f94d318adfbde181200423f5d33fa9315dbc002a6437903a07f5ee77e2de51e18502a46db9f5b15d0880cb8ff5919beddf6c4820237001f944d6ffa72c9b72ce0f50186cd91560e61979548def38396f1fc3d3e83d69dccba4e9f97fe71072245b309d2b2d1f12dc35b1c317c61f14f8fca27f5b23f142a77d847dbbd9ed3b7e16e3061358fbf8924aad62088cdaca924e541c22be7f8b315dcca33fe89b720d96bfd4a65df599c1e82436265663db6613e6a39804179515471e5f145909573f904c747c423e0c116ff1a0d1a4b75bddcca9282d245d22095babe004dffe6f5bb054c972ba2a861a6470298c21d8b08a571aa7e2f0fafabe89dd29499f1b72b55f7e1b7fbc33cd1bc8b84c567ed668c314c9a7c0811a6633a2fff999f4587206f542ec5bf8f2e47e2413e6887f2c6d6310699112ff51beec9fcd8a7098a772f627b1e06b480f83cfed52e05315b43925da8684085d409f179dfaf130593872b6a52bb195921720f71f8141a276b36aee3bcab8eb7926601a8857e74d1bf272052671f67fb5bc713d6d1ac2cf3d9148f8db7b266464bd53529e72d049caff4692acef9c832582392d486c5648c5b03f162e8d37dc76e6a0716c33cf83143372d1ae7c0a4d1f5c2b6236eddecd05411f9066e89132bb11bfe22f0948fbe32a72cb87d82a51164d19daa18c7f648eb83c97f5d5975b1cdf7d16de9233b6080c72695379157f23d7a55b489fcad23a1c1518d2e6357aa672be4877c13fb23b900b53327474be6d2a677f8d14a4baac6c47eecd9c7373cffcc1323547a1a7993a72ce105debb0ba9761ff8e68329965df274363547cc5a98d1971b38896ae4b797269ffa5998eff53c35cbdad337dd298d2c869709f58507a4ff5c53c4b4b10fd6a7db491a99caaa8fd248cfb980b7861dddd6ad5bff492e69b2c64c91cb555ce725bfdac0b1df812a83ee24f8abda2043bc29e767cb49031b1a0fe8ecaf2559d72775a3356403f9222ae864bb16d310e293a3ab56af5a86eb306ff6b459de62b72bd75eed546663e71634602cbeb43933620de330f5fdddcf7d2a54df15acd8972e40bde8e53c5ba3fcc54bd70c5735d9ee479dc80da366d38580db1fb3e1aa072e240bf3475664ab4fc31404ff7d27937a59ac49a62902853cc4c60131a386c062ee6a5de325e2d5a1fc48a15bddc8ace1bf533060a9a944729b3582b382e2c725488a5605cce2767ddf39237c813866f4ab0209cbe4f13982df3dfa67d551272360f1df0e227c30c19fd0232d685b1d3dfe2ebcb3331d173a18ef301b83c104eb44d4ff1d39ee5a4ad580652b700fe246015a1929f1c8f3a6284d9f905c84c72e0762eb8c671ebd50b9159c6f16453773f11eced58006c58c1c6d4375c185b1973725e4cd7a8804df1481af960f513188a7a744ddf363bc1c6d24c65746c3572325ba5492d1955524cd2f75b3baa5557e10cc10839f0e680179ca5ff3edcc9721eec830b348681f7d79b375f7c5c103edbd1b29941d7c2f969581cad9fe58072deb0c649d2177a0954e7c677f4c9df73b8ddefb02e95313d5a0dbaeea12dd8227f9b8462643d0df3a4b8782bf35ee6f3ad56292d245c6f39b16c0128636485006797a96f47802ece06700efed158c444696e2fe781ede23b24f412c5c66bdb05c9e0f2157cbcc691946935fc220a09f8812e040c8b9199f0744c8631c0078972479e2e64f3810b6f5d23d949a068f847133fdc6c0a67c7ffe7cc8beedd53fd43aad5e82869e4a421790e6be2f107946b65746696c4ba4f2b8961b0cea1ae2f6264052cc0e13311646709a5db9a88e6b44fcc87bd2da2fa2f9de83789ac511c7235c88f6d68c5b4cd7d03e7edbfae879031a05418cabb40de5415da99ca145964753c4e8b8f52c8dec61feb02f7bb9663f36d7eba8dfe4b685789c369db786b726fa859ac1023780c0d8ae2527402d92a9b2bd3d5de8d7ac7ba4af548d3c7497206054e84c8231976b102c9ee9513c8534c346fffeb04b3a22265b124d6482f56dea63f165301816c717971dc810ef5007a25ec41df034a6fdf1e597ef240ca13be37c807ac2b5d48d32caafdc3701b8a9df18fae2e518cf51db233c27dea377228156ca38ef261d6594b7a74d69909eddccd2b4dbae8a05d5c4b9050863e82195d85b9bdb3236fe86db10227f842e35522f5ea22bca2269dcb4cca9932ad1f72085c1bf92fd90cc6f9272099e45adaf8694986f29ed217a17ca031f78a49d2725911d8c2a7c62d2448ef22ccd8368b53cb96e7febfaf08cef94ef06d8176f57258b19bdb2ddac5d47bc37fde5ff95519d8128a605834cea8035f7f0c01642572a0c46051c6180ebca12687bdbf24985049c13d9dcbb461e795a0acd9f635855cf86c86a5a86eb0e5706311c3507938b829ca2e52b6836294eb43771479129e728240adc08bd08053d2186a6f68c1eab70e2f8070cd7758d8be916402ca62df7255ce09423e7e44c2f1a66773b9fb749edf9fea960e355edc1e0f18bfe22ef172bf7a8c7d2c9f61ca4ae490d096b7167a7e8094f64f6be9995e618f31e4bf6f72314b9e452244e8559589f9d4ce42f18fad41b90345115c3117812553a7a3c94a4c732ef225cecca5d9c6bb421df6058789c8cee9354a6d3354dcbd6e67cc912a68500ce20c9d296e62637aa9cc9aa2fa7185c1aebb35ca9abcdf968d2b2ac45fa016990cc15f7c94a0f1a5c488a1d08ad78ebfbf6528266e0e5ceb62cba29b72e34e4ae6b7a9b566c6d2a374606a8e890e7fab0a5d994f3a796c85bdf8d64b4b89a21511a6d7e607fd1aee007ed819c710335949e590b75e9d36c48aa273877245233a445a4d8a109338290abd3c8d2fe2411d268518023376320a29c618277216fa28a67da45db99e3d381cfa208f7c703997541aae19e5f7bbd4283187287219fc522e3c125047cd5db09b0a7b062699cd2c144ca6d430736f2e142cdceb223e9d154fe730da99e145a0f7bd808071c4e1d6fc14547b4670242115d169d472ccaa3973ce0ab886c27a5155755a6edf07aa8709a974ebf47b78c87a6768e31e8333e668c7affb5d0cad0dab2f9542612e5cae2c72c55c0d1f10102c7c666f2c379fd5ec1b909cf522bb47bad8de37dbfffd69101fe4b9a3750da2b9ec1527722068ebc7283787b1ed64ab398d80491531c31c57026637059f31d89b59d3b5721e7fef34dc82093d903c64b40d20ce2951e0b84bee5f21b4526f1eed63539a0be62d5f1faed587d6d7f6f160ca84f98a945d3052ac58e9b7a136d17ae323733b017a65d1d1bff08a5444d263a7241a2c0de299cadec3a895df7ed3c48f980c6e183554bdb0b42694339d7503e08e146301a5572fd5e4de5802d9e46a9654887281809aaf3b57875dce2c0fa0b8950d6f28a569c67d85d192c94bf8b7239ec172d547dff8658d3e4f237f906397c5419df40f2a3067c9a67fd93365a8b20dc3720a2a38646a5fba7452b22f6e29f8d7a8116eb48fa58d658794387f6515167821d68b1bb0602c01a1361db6f56987ef798262e7539e0f1bffe8adc5c10d26e672173a3280c2cbfa03869d2497679df47a3d930524a33787ce4b60be94cf657672ff19a2acdf42b1fdd5eaeb6dbf7de7587f7cdc45ed8bd3079151f80c073e5e72f75cfd64fa2b2af4ce86a3e74f91b1f161fddc640d80f01cc994c979adbac072111a52735999ac47cb5ff79cc286faac74af2d26dc185f1f0cd2b60a97ef6572008dc7a8fa82416c6e986f1f670a7fb51dc5341b7cd6ab29065320528c4b3572fbb00649ec63a7e5c1749d1765e00974de35191b7000d50032d08fd3534efb1646c9a6c0e491086e654e954e75b4cfccac7dcb8cf48803463e349c8592520a4547d4a5d56097395527fca6cdea13a14bfebfd1f1f269c3272ee7fb319273a868471cbf78180f4cec601ae91e3b0a260fbceef48256fdf337bbc234cda2c53572f1bba84a8b407e53397e51891961a32388d6380e36080ebdbeed05c4fb4a8c4b4afeea157646f4c00974d672f5e2b99838eee829421314f46576c2ebe3fed272621672e5a0b47ad08ed27c87659083686045b7f48e28bb2576c80c0b51895a72e529f30d6de464680ddcbf263b622fa16722ac5dcd8c747d70d82e9734c8637237e7fdcabfa2d81150327064d3a036f156f7cbff3ae446317a711f397023e972c72330acc6ea3120fb06d167e7ee9f00e8e06e75e3dbd30e550086dbff9aaf72bd2d4b8a0f7a0e88542f7597d178481573f2135f77efcbf12da58dc141a3f47245bb26b13615c13bd6e8ac3a76452e1c4e7be676daa3c44bf6d5f2fc242b2930e3605ccbd762c4ec1e7facc11fd5356ab436adbde61e31b77689fde11a936f2213dc53d498819c00fe83fc5ad3ab42adf8735ff26d7d8eae6728b19f5ea4237202015568f790801e29cbb28aad8106f51bdaf9422da47c6eba6fd82ea26f207229ee1fbc03ce639b1342adb91fec9555ddedf1dde1eef070226be286115975174c0ff058db722232b0099133346406a4e2ce9cb311c65461a8924588e94bf97049b8e6d36cc7a568704028275101bfee309dc3d78b0e4cf310bcf7a115df3b4449df616abfac742bc109fe76efecc9e19a7293951b3d798642cb53a827b50b7240c66bd71fdb488df0b3d678a0a3b6b08392b2b5b7a01367bd9cdc8b32c50746c2e45d75e5fadd3ec75bd727f1c3b58b53118b6a7b7907334e5e1a2b24d2b572253781b6b934264a5c4925c60143cf6b272d4de4282dba6f0d1581b2bc948a72f4cef4224f62ea32e67dcc17130dfb848076d7528739d5251af776e73a6e8623755a8591f0e187278a27c10427f400c6bbeebd8a9d1cbd132b15fbca953d9001d68999cd8b74cbd7d911fd8dc8cdf83d0cdfe5b7b1ed89cc435c73eeab38a272d90f7de4534ffcb507382b15b1861b2801ac14c12795d06cc148f3f15763c8724d2b3eff3ac4b192a9d4e4b0f700d38f791fe0fbe242c10197cb5bc32615f543d13f48dacb8ae1ed3891f5697039f820d521ac2578060373d18d3cb3768a9a724ec8666fdcf611497a9095375596af21e9d057c1c74266c961a2f0703b8a3d638edfde971e718057108fa5397e5d439ef33425418f5a86d2aa4d2ac874f19472917f041ec53e9c80de19aec9014cafcace6f3a7910233871ad912cd84f59da3b277ff3624ed9a54df8042a033565c43ed37eb48e01d7233211cdbc2343c598721d686d03b1532e5be1aa704833681cc003f8853008271c58f79aaa368e1cc51d6b8d5fcf6d265c0bc12a7c8736db5223356908eda710a6afda9f62b1242a5272be7890a9de2a3d5e859a945c60248667a07038e9f8b5a53c3dff468d582108725565665d395203b92ace207784c53934b0f9f278bff771ca6d420787fd037b7229b43d9aecafa2770f104c77a6c3899693c376c82d704f8d31925389f20c3304ff76de54225c2d6c4826249a617e8cd12275bdbbc38c0ed97c1f5512b34dca092d74c52c6ebd128874e2bde4604620a0106b87932bef30e5f70c5baff8229d37d77a173aaa056324faea24bc1e8c4d95f7d7acc94891f9453f21b8813d788b720ee60c335d61875b4e478482796e8daee6b91d6e9e2faf2c788fe6a8f76b5f72a14a390877ba0239e3f60965c9559ed95ff0668095f0b96fa12972b98194ee7211263a766cd0b3883b2436111cc1b01b200361a4be660e92804ef4a6b25e04723fd3a7c5a502e548d7f57cb76787870b7f5c02d66efee5182da3c8005ac3202621c744f74c8522c618f4ebc2216c1d0915ab06c44dd420455cc89e517d37df50b88bc3da61042c8dc8a30e89713fcdfa5dc30b8755dd5fffeab7c83f3dd3d5728a53d9a2586789570d1eec14dd6e5e72f76fbd33deef27ba97763277d8de00726d13ea28ad64a0500b0edda6e19f16d831692d8bad2bbd6077489a15e309ec53cf9251bdafabf991ac5ce7059116a78855015e4413da1e7d7667a017d9ba1c72ee6a60d91aa6d239b2dc1086aefa344b3755fc6b018a20ba1b56d144c2566c721f3fdd2686b55921ca7589543cb1ccbc83141d5aede3bd973cf83521ac72c32eb9e25c78567a0b0c3a04487d120af648d1a9c16b8017ecad66c7121f185eec7235c2896c50ef6d84dbf20a6dbd5e1be65685b0829ec24447ee9b0f91dd649825083602c1f9b38671230ac83eca9d5e4b339e982e90500cd4ba23a6435e2cb97222c1a4c82b26751c06362a29a16bb43c19b11d6bde8d23ca40edf65238d56472ceef319470f9fbc550a8e3267b01c4fae1b1a5f9546f447ff57ea24d6932b37220bef66c1c2c0e0d19f4df997e9a825b20c14c735b33c3b08eb00def1b26337271782bdbc4acef327d65ddfc9aef288aad517d4c5b244a7dfe2100f89b4d5c727486ddd829ffab487349bb8bc47b6b097dd2193e762feed26d1287b17934877253e2e495854326310ebd6f98d1264d6eae88935e2966aa9e9d24867d35b8aa38911b5f6fcfecb49c3a3b1d0256aa4f64d834a318c87e1f6c2e37696b6d4fa072b81a64c35824cbc5ba983e4850ab3adadef97b3dc8d843d58da31c666e57cd72fd65619b97d5881d817360a3995de611760e9df30b9a7f6baf7422cd0dffc0725bfeee514b67369f0c6ff75a6a179999053c5c9a23fe27be70be40cd2fb970723bb95eb67d15ab6d041d69068947ac3e644ef5ce11a3dd22777387b068a49312ebeb101c80b019703b9ffc02dbaa965c6c15d2a264524bfa35662e99b26fea45186577dd9d0a2351445b790ae300fd9db5cba1f1fb2bbce470fa1b1a7e9dd872f89468e00fb30793f19c49cce568efde2112fa1d83dc5916af373abedd1c93297b34ec5f735b485ed4888e09319a73eef86a687540d324465f9ea3815e9b3b720dbc9a0ba072a75c447e1623236a8b9823bb89e2c82d0ea6b6809384329ae07271cf5b6d4be58acb3857db4f4cfa663f6f736d43962cbb7230eb0a983b87480d00267c508540429f1dbac8bb6f0e5c1a06ab338c0c8a6e8200520ea647b28c45b57764611b57e2143aad3c2effa213963b7f7fb385a9ff005a578fe36c8b374f16718bdff64c56cd67c092be7f5748f94eb2170ef9ab4495d545785b5bb77e52722048b888ff3823b2a38bf9b3522875fc16483cf1e7877e827e094047c09172ff9bcdc161c3b4fc35d7e67cf9531d0fed9bc50f0914ff600283194715eb6b4c5f1ecea9bfcc61b7344832150e6cfc1c9c095424e23de92f1ba7e1cc03b3f672a06d3d07bd4e184f52206237400efe86b6b635ed40c4cf80ae03b520dcff1272d938e8f0c4b3658b9275ac47aa5d25e71f3839f92ddbf110b88a3eb54980cf72bf2b4902b1f4365fcbf735d920a76d3d7abce37699d62495c405c8b7fe23cf5e0977c47d462dc460d91834b4a0f9233229939c6f6bf18a98fcc535f6d283415e386d07fb73387bbfc0bee763a732c28aad821bd28e886ee1faa6301a578cce01ac1c84484f16a8f30fb59b7b820c7de23b33a3f47886851dad145bac2d808272bfb435a357815cdde16c12c4f9bbfd080bf9e712dd54bdbf0b76ddf133196372d196221f2d68840f09044d2b3dd8c450e0545f9c80a9a75a197e8afd0ba3c363e5eda7709ceb943441d7c871a1a61f2e140abb91f049513996457aa2cb132c6da6520ed22581a0490043a43953c9aed29eeff567447fe391caa83832850d004b820b087cb16d3d86136a8d3912c1d38a647a44e943cf208867919506e08e48722ecb399d4cf4a423ec7a287b267e6290257cd07967616e43505db585ae4c95724106c1ee2c240fc516050ec116bc3751ae9ed4cce442d04acbf9617f196c3f39882e204b076a13d8a96b3486134c41c5f8c96a7ed9522581f408d7c45fa6a2189ca8fca7b19849ad735464f772cabd59e27cd1edbb7579def96833f0c97a11720d55702e7a4ed987d8bbeed164c4ab56d95054457205708d8d52c82f120f517275383a99b5ce7504f0e3ff3b01baece26870c8451f8a63e9f125dd3b2f9dd766505583a464e4c689ee30f0c98df9fbb8691566df686d2fa665ce2ccd58f29559ec075584d0555d67a3e2d47019f084a062884adc1e75a05e8ad1bc17708f0072f34931991c1ec16b5a18a3913138e9da5729c3c639f7dfe3fc953d3a90596872cc9e674d539bba01689956f2eebc5c7ccd3ef97ab74e2e3e8a377d39d7d0465a9bd64fa7c218cd5fa1172c2065854ab7451333235d4c2625fdec842cd7af1762ddaba09802698476483725a35aa2f49cc35390254deda29e4e22865492a19272a465e84e74f8205f125d2ce40380479891f12ae9ae2c6e15190e63a300c10c43254fbea081633e501643d32a3808c3e28507ba0721dc3ac80ee27192f0bc54721029d9d0fac2387f66f2bb699084c661f6dbbfd1c3aebf7031f9b6d6152aad03c38f6ff8503ecb99a165d0d810e989ae8bb807ed270623c705bf4bed5242f872fcd90bce7a521760a76d6fdf3e1ed5bb3bf886a50f870376d69531ddc8db18ba0200007204a4754498e06db5a13c5f371f1f04ff6d2470f24aa9bd886540e5dce77f701dc67b8108505c5bf675014ca41c819ef786c1de2a8099f6ba4c79bdb87da6055fdbabfce532894fef0c2db87a07ca982d1743be29a773b3bff5e6e59c2e298f72463dd5d53f5e059b0765cc9abd2b26a843952879df2bcb8fe88a2d09d5c612728079d9acfc46433269113e3858a4f22d7a92de1846678681669d38b1a5e2cb7266af98a66999923431cd5d53e797ff0fba6a0054c1496c3afb5564bcfd19de727bbc74ee6425cce0c1bbf296d913f6aabc7dbf6947fb984d01b8421ca684d87244a1d3b5d788838df7bf2d24afcc411db8ad3c2bc6b4ff3d964655a5d5e55e72c62dfe4bb029af1502597969500b93c0134f8cac9f66594aea7347e21e4eec4166541a03ccf0be5c7e24d33e3a57bfd0dbbefc8ce28714d78a369bb87f3d1447f26f9cfaeec65cb142cbc158484deb1b82e28545813459ffc10e6cbbf855dc72544c4df4205eec1b934b87518318c79e3abf9e706b80fb73b19081f344d7e272b1289104d30c3dadacd25ea8e28cbc6d1da0353f346e674b8feb4f1980d19b722e5b0c197590050d5c20bb2e3d5369763d3e7352486e0fa57f6c4dabf56f7a350dbf01e73b24c032c0469c6729c9fe210e2419ad65e4f6848017e18f5ba65d72f3733aceeadb4148267cbadfe7b21f12fcf95ae3584227128c74bbdb14040b720426e7e3d1ea6e7d23a4bb7bc973d46c867c53464e3b500333b03a4fda717857ad21acf7ecdbccb5c62f016db95b5bc9249650b696f69bc53ed6a41a20b00872d8fc88e52885b9b8856ab5f0868b21d36b6498801b70ca22f836ecd5713a5572e3f85ba611ef0d69d3ee322e4d82e9565d16b9944d80e8357b288a5ca9681f502900ea5181b7950b8b8f606688a7e32793d2695c49e6bd3cf7947465c0d8b172f6f7ab8c403af8356794055e8d3fdb41df400e8bfd0ec36886d6920df17fca5b89687c28a43d46e47c20c41f0e626fc71c848f3fac6fd8f6f6fcf4c328efae6a6d21212edc8b79170213d6eb89014e8cec02f869b1b735ea8054a872181009722405f9dafb4d7db5626803c1dbf3716957ac20bece27991f9110186290915c725516f6747d6687f4c748989f9bab899ee8e8c0e320574de9ce621252d7a98a6029042617dbda870fd147db91573f8b50e1d4465301e7d0d1e711dedec7a098491fdca3a66067d6fceb31ad36dbb2fd92c997f744fe7af340eef510ebf0dc72722fdb1354b9da81ef977a52843d1af8599776eb9bd6529b3153cfe8f727fbbc72c4b20539a45ae92f1101902c468e586254808560af368d2505bec1b22d9a4c5039b20ab25b5c8e17a4188d0073fa57b30c20da250b7d97c60a89b85f0aef6c308939a1192fee65a538e775bf8cd82fba17c144f6080bbf5bbb910dbbb8c4935d5fac68645ed58c7b226c3c275b6bc6f8a8f8f80282b13562dea35683d295a2393629379bb984c18b1166e42eeb264666b530bbfdd3449dd9758237cc517999568b57121751350ab7019a5feb8e959b967018250829783bce3d13452ea698377215048f10f786e606da085074a81121672faf05d8d706993e1bf12d0f6df5ae7234d690f93495bf1aa0c6b9c620358ca50848f157b13f016f297100c07f599e72b6485a7905d5b6077818be8711444b32c9873dffb587d5937bee071892ce9e72e9dd7536d4d9e5abd349ad6c4735964e7e68a8c6005f77078b7d21c0b8796872150fef2e9f5af0a62de63be673ce3919f794ec5f71144d25d0e0bb517c8abb723d72cb93f9aa2b7aa112b13218eb8f524b8db1bea060c730efe60029ac7494727d9b8ff27833f5b9b7c5a85e3a359736884cd6081f1461114d4a0a535da1810376c6cf106035d7e198c1428e42526d1adfc5e907fd1885d4dd63a23ee45d2213417e5d1e61635361945e8b81e124939a1028d500e15c2a4b33f056e4aa31da277b51d8573e44d147fff0003ab828de6613d54e47d63b03c87d2bb43749015961d4d15edf362a352810fb7e0ee848e6232097d557d1f70634d7e39ba61b06c872b860b33d8b718cdd28ccb8c8ca4c35100060e1fa94d4f48921f390ecb2f8c14a33c33c27bc7b75b78a3df72112be1390c2e494e282b6c4cc1bd12737012d3222d346c4ab3873ceb4900c611003ff2b55923f08b4ff72ec46a3bc192b6d777210a008db3649e9a9487ff8016c6d3e257bb759224f25d88a300e5e70509de54666ac5003e1afc51c9caf62dd1c78c9b26460263ed73a2f675a09c6427348d79a285246b1be213c2983814db5116a94419f2f91149ed9fc39f29ea2afb15486257201a68180eac98f4c38ecbae2d3b789d75ff049415bde9317125fec204f62bc72f22a92b2060e5a312181a33d55be8a9540021fba92d309fae96d248c2f4d15724788ab1b022591bdbac963149f0435f21dc5ef7eea783de58f3e1d7fe882b17276ccdae0ddc7565e79547515ad87b354c13f16b2534d3b2835489f76ee57a84d07dfef7423f608039889cec153de18d62b3bbb80d59cf73f669910af3d79077282c4e0e0ac792b3a51fd7d6b459f376bab1ecd63cfb9963c40a4dd416d37a503b226691f701b9c211cffbaeb23ac880e28b8c46eb0b40d34f01bd811868715723ac015fe0c90ba9665ff231040713c20afbce75b4e09e6812b0b102958f72f7215f07a19522e5465f5ba15babb6234281e8fc81c8dbb287201c19a560d5e2872acb1c440d4597edefc84713235f2985c699d7c82bde0bdbd21f475f72a694972191588900b853e16ebc8bc6ee04e4000c789b73792ae9f4963a96c4980c5a2531019bbbd951aa7dbae207d88a298be95c613d3024e4059d5cdc43b29bb66840ad854b6ccae894802f7c0a6b0e2ea3b9e6c37ffbefeabc3cdd749948689d5de45ff13aa24722979c3e2ac2c525efea7591431b21fa16158a142619116ba87b339cc0e4ea71612d2d6153cc1e2159ba31a3735d023e3b972ccba8eaab4077c1f1ea39dda1d3f22674f2f30554b9e3ba0ef8a5ec74c83db5cc3feccb6c1ede0c8169941ef30ba1bcbe5e515413c00e88d6b51966766b2ee3c64c1e43c061cc020246e5757adc61515534dbe30e90047b46a9da535bb40bf25c1a10b98a2c9826e721891f11d63bb0a144e719591ed3144da8b6c8169c96a09ef6d6b873320bf9f39a17b131bda4fe44c26afacb4c8e3010bc25347b331f39f0e1d7953eadff6e031f689760d7c04689315a37f517cfd363f0610ff5a45a1d3362e3d1c99aac8b3726aeea188811faa87ae78bc4465960a2e6cd3dc0d5ef87b7bfec7aef1bde05a6af6b8ef8714e9a15f55e6211472cb4baf423b6f512379d8da2227c311e323c272db7469d018290246f731f5a746683c601e96d3f1a51aa860e29d80b99daecd7286c105854a166624025543561d70a631760312a292dc82562d951ae89ea2b672c4d3b60a5d1e41161b19efe6b759add6b64c966d6d2e95822fe0b248dcafd15367fd7bd53c878a8b731dafb6d3fdd0a9fcb22c21b9ef5badb008c12613ce06726897d1272b9abe6cf0007fba825150dafb6de6854aab55a73a76d1b6fef42660fe96fb97eb87364b6ab7736c59f9f6e587cabc1fab98b3599f75c54f2294764ff82215efa63c0a69f8fe98681eed63e66074e028a0dfd5c86de20c2da94ef772b58dad140e17250d00a1e036001cd37226ae59adc4db8a4c476f0d684ecf02288ccdf2125e75800179ca4111743fade94e0819f8fa9e10c2a22195122c675e5c0f57c7912f8425747f59cae4be826e53428102f63208402c0fe2543c626ebd729da7be6de9f001e0e3020dd25253b9b894d1b3a7bd4b2831f2cb39229980b13a8d45a6d73f5d7460050e440b8425cba6fb550bd9a47f29e7efaa2368a70c9141f63adf227ae1a606072ac29f0cc200323fdf74569433a24d5d45d10bb60fbe72697f491b93b7fbda060f49464e98f6b7fd4a0c23b70cc942ea1ff40e3d9a54727c817e34c3189ec81e4e6c18e0de9cc97868f0edb0cb889f136c6a0f8e4c0e72202d056514dce7386abbc7d61085590fe07083e5a24660edb5445d492be8566860c2437f6660d8c6623b690556161e7f875d5ae2f947e065673492af7f0a2f721d2e19a8d199da272b266c5569e9140d925cc36e443041253af7b8dcfea50b72114601de8d643c62882dde792ddede7e6792966b2cbeafd5c86a6039a6e70872e8e6f4a2235a88017b7c4417b243ffb074a77e35168b7812bb8968cc903fb656758c9b1e74b7eceb56bc93b4deb0850f96b94543852107753ebcb32a8b187d1c24eb310f5fb422c12b750f8337ef911a46d41c6e41e830c0239e14e9aadc0f72246732a6f47079f3d48e3d209050f834fd4a7aa5b656d37ef937d962594d641a14139abb20c3627f5f992a40182dcaf4a25945c737cc634ec3db936ab2e21672a5fc807987742725dae8aaad6db48517b6b2eea8ad4fecdbbd00e5d4ae27c172e357a419bb96ac32d182ccc0006deb2a1ee833ed43e1bf06a2016c1928d72f72355098db30b4b590e5fc191b95a91f3e0db83d7bbe9dc74665cdc85495e63515adc66ebf8784cc56892b4a6c50d9a3a642f155e425dab61f2d57498e262e647207a65ce52b4f07038ee8e7627de8ab0f224e4dab081ae8ea0682675866ef4d729471050bf173fd0244bbe8b378fa528e2883b69d09c23969ea8ca5e91267a645d497c861b30e5c642d7c4dabb778928b68490e4a3d078fadda6553c17388e70bd104d6271459a2481fa12136f64547085aba6602b3e91aa811533c6ee835b168067f0240d1b6c546974f91aa2e45820b50a7c787ae2e362a1db1ca4e6a977e11eb5f71b3c24d220482377cec86848ad027199da7e6245ef69b6c233c83b82e701e2d8d91625fcb8cd80f970bef79c981593bb440886e310557412ecbf4a6046aa154e98384629de25e8b5d4418875c6e8a370ace778d263249813abc12ec0d7203e19845d3d3425fdb2a3f97c7881b83ede703719bbf1f0b36197429bb582040892c2553c140da68002bcb599e079567bf6875ca315e972ff16c0f9c7cc8aa72b0d8977a86f228175104427f09660ba35891d4e4407c95a37ba4275756a62672425c8307cd2ce249cdd8b8a0631605666a68041a2be2db57d81f3f9ad6f15472a593daa11309c58c25a0307f0afd4f7d0c13b756cb77446cd95c42c138c3b6724a58c4835d4fb55e2f0f9d1da59687f1da73c39139b50be37c36ada7fbb9b3722321da60cfbecb79847096825e97d3232bb91bcccd17e9ef30e613e583fe3472803faf4a75f4cc8bf7b5a5001c473120c557e3aaab176fb7041badfc774624720995f7eb955e84eaecc39048e37dbc16879719842d901dbc7d6683c7f450a9695b2f9dc41d37d9b4d4b1a4a8b1186f25c22f765187e6b3f1cbc38ee05103987230882ec5a82464f7dc95208ef6ee5be392aa24352ae2cfed5457e805a243395343e46663e8524712bb348238f95bc0723ff49d9b098b6904ce672bef6ba3147240db3adbdd543229261f74cd5846a650a66c55e0ad4bfa3abe6ce2b75cdd1931d0ba4e00e8479b50838a5883a9e322f3271536a1109b0ba219df866f2e0c5172fa5b2d3ef9ddd1daf4fac29cba9514e73948144dd161838d2c30b8d0aecd2872cb306c391cea16f261624f0339eaa1aa9706c77557756c3b257da4ed9cdb6b726b550fe5a38f305d420808976404ca27dddd95ccf233a6c54e9bdb76ffe09e72587a6f136e5ef8e8b519f2ca388ab9d3c52166fa73947833d3a80e1e8bbfe072dfa40f3c45ed7339cd709596899d56cf8e01c8ad37b96e8951979b36d6a8b872d2b9dcaf843607a32fc5c16fa9167cb18901608b13265368d4264ff49153c955511be1310f93c50f3faabc7e86fb096f4f6b6e50e56cc89752368036559ad272f56d9d84017256e025e3f590aed2a150033505ea449f19730973485fec7faf725346e3594abd07b4386a5e4a5339380a71981072ff41681f8afe9bc00704de7233419caad802710a4b781bdad09a27db8825d287af9d2a526cdb207b7a52166eef938e23bc9c3d1012802b18e73bd1d61ebc7e6ce87f88ffaa67500152752472a328160f3e30f548c6f9214d63e7fc2ec19a53cb0f7c37536743d66b6e4f9c72585697b05a0ab77da9841004c098b6c10e57d8e4de66276bbc7f2f7a21042472fca0bb8a3bd0befdf153403b6629832b90d366883468fbc75d8ea72b9f892448c74ac8bd1d8ffa853a77e3182aaf7fc93cc24c4dc76a77d12b49950f79cfb16e83ba4c826e9e7f215170f9d23bd9927ace9dd38f328334f6434d59a23cced972251cae5706d437929fcbf07544a861248589d084ab7c0d62d47b201e767605729bb3734d46f1a33f5ae1afcdbca268433633e4422036aaffca8fa0086c0530085ba5b28774cc823134ce83d7d8d329470f44ec7863a24dd6ee47c50b4771eb72fcdb0809b4ece5002adf7985ab4bf45ced13bbfb05df19ee123ec74cdf6d5f72c19a1eb8fa72eec5fa035dc15f88b87a576a3d22a66b9fbb48027286bde4d872c1e4d3558bff185000f57a4a876ce9a9f04e8b15e109d311f80c3095223bb5720f58faa968deb75f3cedbbd32742bfb6f06878f36cb088cee6503014dbd70453db21173c2f79d4751cdb7d0253543adde152d20a0cdacca47e9c80c2ba8a13728ba8495339419b97177de4dfe27ddc5d220c89019df8e698e1ca56f4acb8dc721bfc3d4166dc0037885ca4bf85bb1c36111c24811750ef44045cb3d82a380472374da760da2e61ab04aecd8521915c9b0109c18277ebea4b36b561ab10cc5e301586af7bd82ae1a471fe64c28950066f86166de67238281a2f10bb87e1ca67603ee10c2f42cace79d5808c1e082bd61755fb657c5de7652adfcdebe06d38530731da6ffccbe702ec595908a3a4e3fa58637791109b456a2f392df5c68188a41f3bb80448301e98ae55e319cb76f7d255c156ee02b37ef9f471f354977f270e72295fd7714b4e7257f446c7dad2709abb40c55d6fe0c865b3eea824705fb63b52ccd2663f22648a1c8a070ff213b9e56ab438594f19bcdb2256ee2f9f9ffe295ff6f9d36873d5f36e59e66f3e3f1ecb1902fdd4620dfc4bf998a88e748c3e790e1cd60cfdbe25cda5123c13b1296f82f9a29a3313437fe9b129d9b753250d385f3b565c85b5f1e46a8cdec2de2849e50a477b228985035fe30d6411161996ae00e0d06dd7a2139dd54d5451d907707d8aedc71b8fa5d39405ac95818edde0273ebd8d8b4e7468c00e74e1458c3b7ccd0d019d9da6557b441d903d76adc85f5d72a7bfe03ef84f0febd7e6e811662d2e8aed2f7f3943c4a9b1063d19b903ab33728294feb153435613ceb083f6a561d3bc8353ee6e5948e89b7e8a632babd41772c881250984c5cdf4529592a9f84d222ab1de62c600e48e5c53f77bc4627ac4722d0aca458c4de30e8ea28e6c574846211057614f501c2dc218a57d8891cb16205a5a8dc8fa045cacfb3b3a546dee1ccef24e0eedaec237dfce6ddcb034c73b72bc55f2b5a3d2959084cc990313fc095966bb48bdfad9c65eda6240d524e9e45b62fd66427b983929d6cef3e9f8647921c34e863a1bf2f400e163e49a65fe79088620e115698b496e623e0d46dde4f45a8af9e432e36107a8925e6948baf25c5fa04bb9110f163a7ba3c6cecce2ed269bb1318554166dbcebf3b4a48d024c113eb3fc7d5ca48aea3580b8da44d188a1d7d5e2043d7d566ed4b7df6e540668ca72a7125d7bcef42c7fa73322ba9e19ffd89340841f8055aa048ebadeb9eac9e32f13341244b42b0e12d88d93313c404f6020b3b1d6b5ed2a89a1d0738e4ea9ff721a078a001dc44fedd67fd652c562dde767f9800571c937f292fe43aa8b4e87724f108c504c2cc018f51dcdbaea3300444628aab60a1847872ed2fc790ac66a72f4b6d73d73239e4029c7d256c261f6aeb1233a105ae8f8df76ba40541e9966723ee1db46c2fec6f910049c4019fc8ea58edbf5b129e4137b94c471fd8859fd729641a0f06c293001e352b94937eed68b9224a97da1ab72a13b48f0b8c90de972fab8b8f5722be35c1a461fd5e4326f3526a99c86802b3c8a63a251009525413f91183514efd541c32f3e63580fdf6b09d83d7aec0d2a1acae76230ec47a8c872244f53455de02e784c05841cc1a86df5faa767115e63292489ab07604d5ff57216431efc65536a28db1e05bdb69d813f34957fb39e909781b8bde70ebd76f872689f8778e8c70481d092702c0a99b3187893d0fec6fa8c28c059d6e9760fd372024b217eb8c533acb2546fe2d1b9b667f570ea6eee699a304386264ebde49c44340654e17ff6716f1c1a2295bb2dc1018e549bcefd8a45df5e155d6dfb740439da79011b9609a8a97add48367913ef933596e020a64bc1f67c909cb620131372b82d5748c848cc904cb6da8d0c4d698887ade4ada931a7f9267e656394f4cd72977b35aafe623da9a27f19085eece273904a45f692879d19c2310240d6afd96ad3d79997ae448588dc3fb773e740c705b2aafa5077dfbedf9d900078810c7027c2b214e97d76d3667a04c5c55cd923c1e8589933a8b95444f049dcdac8b0d54bb11f908172f902625f1fbbce99aef67b0cfea8c50286fab192ad156bf0c6915cc715a4d179fae965f94a7d04452b5f16fd8e32b61fb5edae3fbfa5fdf049b6138798fa35f88e1f9d76e9cfd39fb23a9942a978b1c7dfc5a69e4b0ad2e3ec1a172ab5796e5feb9cccdf319df3dccf9d272c3f7ab6c23337ba8294e6589f983b72e7f52848bba42d19e4315e8fa6c70ab6287d0eb19550b71dba43ce28a5110a16e3b0b165393ccc66a850d65a074d96f87aca954e7244a6700308adefe3da0d72e4b95c660d495059b345958a5b90b58d287065b055d0e2b357062abb7ca335728dc3f402c6bcd0aa5a079509ada3fcc0a9b5ff2136c31f08939e662b36fe9e2a0ebb7e7f1ca365db0ec6a416fe81a950d0557c39b6c3f72df2fe1f48dd757138b212ffc504b7801d4414d5e48376db6d2aa89c0a27ffbc570e6d3eba599c06722f0fd6477fdb342f2cb238baf7eea3b6a6029a0332ce1096e877dc013f47f8725e94dfdaf24464af20df182b74986b3d62af70ba08237b567d0fb79fae57230ec210ec1cb7e256f5908c601284e0c4ff3202fcaf6cdcf5b5d60c21f4df0da9720765373f02b8c0e8fdc0ae2688432356443816a8e9a75028f64c487393673107d1516ac73ff50f5de3bd7a8d4059583b1a03bafae46ad8b6a6fbdc9d06d43872fd4b475ba61d42e59507d8627a12ed3d9a57e2fd5b220b385ba248707c2eab3e04002048a244c9ae072765656256a56c8dab2475796bf7b784eacf123ca2c372ed5a177b600308d3790ce4762397e76a86c07842d068261d48f028e05b6b0e7233d50cf38642f8b8ebe133740ed60975d08ecc9d1e6d1c93a10af064a69e98725394aaaa8147c2b6984d32dfb683b600ce3b51b72d8adbbf3f219713ab514a5a2214612cb9a5fa05e2e13bd27f795595b88d1d144fe9ddfa3324db15bdd964728ea03124000d7b23dfb6b6ba12d5fc375c59bb8f0d86e8b0fb3d7032d2b7a072ceb55fa4d238dce00913da3b19c862dff39ecc80173347f4e97536c62d2c67040e2250002ae61a863aeef3b9624075b61cd84620b09f004a62fefd6a24ba997204a0c9dc4314578eb5eddc076a5a94f4bd9f35ea948f1b64c123abf1b1547a2648bc29e128f0b7fa9c5971a98d7ca2190d0ed6787b3d3819c7b7a999e71960729def0e8f65f36002aa0ec69e92662d008420b6f821679ac43fb49912bdfc1d72706ec09ac0919ef07c1adbf89d20e6420d21f031850fe7b6470ef3af5a95147288f364f9b48e9d5c9d79650d0fabb45576f4414271c2d51bb7aba44acf5477481c3dd5836db486ef7e9d0a4904dfc1ee98975cd1600550b744545e65634be25b6a38a3abfc74795c45eb9a802df8fef1770e18751c516cfec333d01250c18316ee7dde13960ebdadb637344eac3ab18d6619965304af6df9dcc82b7c0e92e9723b42270d197b9b287d59e03940afdff0f263deb450a2013afbf0002308e5c9720a3b35544bddbbcca95a84d3086cd07d92754ba78334878f813c7bb2ef72e3722fbbe9e5736be9066948bebc415a9ff9c38e66336ad097c2a7120cab4b638d7238a9d684775037ed2b3be221bf7b2cb8c7f76ba21860ca0e11c8a5516973c572ca7bf51b2da201257ac810bede1b013a29e82a42ebca24ab1f56f4ce3de59d55aeeda2c778a3a501f86e862e8bdc6d5fef9c60525f1a63796f8c48b0a80020724227fe9d007efb1c55c8e2cc865bdcd932ce00a236e9bba7ee591818123887721bceda94531c7663750b2d3d7319f06e0c42f8c4c9b22942587aef109cbcfa0280b4bfa83e04666bc46e7b581259140fc7618a4b8dfe3e193992395814d8a17257e9d8f04186eca2662ddc46b96a1d64a8ac4650fdd6179adf686847cd420b3f4c5e436bdfa14edb2c8e19c765f816e02445ae8096d4bdcb51f117ccbec09939255345c10665356d499a3eeb2da242099d17a8a954087cbd1c8eb263bf7b5a45fcf1f9f8fd347cc9e21ba6cdc2f8b82d8a12b5a1b83cdfae2a22f31e9cce14181ce3ee7659ae3f947d4275e7142f2aa43abbaf44c73bb02cb801c727327a0e7279811568a6394858d4a638f43eee09c09cb6ce1c5e6473ef7ba724f70a35c4437c35267c181f461e6a0765e4ab8e71cf46777d9f4b5e2c4828488863005af6725144f9ed484b3cf3ea61914634bab51517d8ad9f55e03f15703484eb68227e726a506269581da5744f1b807c5b66aaae7abfaf2de1aed935499ac06b3ea98a6549b718e5a4e64f4c66a21a0cd6a236d06ae99aa2fd6aa617b422f6bdcd85e3720bbc6c66ee0b39f11a2a350b060739fa748a4bc6568f645363c11bcf3c6b3472c59d5c37cf24745110faf08b1008176cd46be0ce5666532b87e8eb45b184407245f0bcc574ad4a528c5010564463b7334786e31a0059ad6fc518262c0c5cc87289f6d1d95f43055d3c0c8ba79e97e88c594b653a37c2bdecffd88652d891043a57f287921aa58989cddcd1b087e35a15bbb468f35802ce379c1f9deb3e63a97225021458821e27a6ef1a2beaea86d638927de1f31c8620a90f17550812cbac58116768a7d5e0a55313e39f3378ff40d03bc8d747dca39242e4ba57376940dd728430833ff212b44a3c45b404d42a57b21189806f4eca8c9c69a3918f86640330840995bc4038abb01e12ba28ba47a1f931abfaa5a4a9c7fe161fb97cfbe24c704a7719bf75a2c99fa61d3b02c7c216b01bf1b3df4d40abf6673a994e1de2716e908a7d6de6e33fec8bfd0bf61c5c4e60b9728cafd5cddb2732c4977d31ea2972568cf9499dced170a1658b150c840c840e1afb133753710de3cb8cfaef087e72fd9151eecc90e32717013ada69cb6c4b9cc74cc51024cd31cf36a03590d89e1ebd3a37bd20546af0f13f9b44beba8e7e857bdc28c1f4877ff347dddd93f81762c59eac576963e0d58c9f0fc23b4d5af6c4acd466ba9c03218bd21d94acd3de7293cc9a4e500e80004c20f577b2ea8e2d84806d2666b0625d63f5ee87f43d96728c079309af6ef32481eed560c6b9cd2138ab3af3da7de63de34d1d0c44547c72d558475270ab41b1eb25524dff965632484d413407e84758ab45ecf4a4b84e7246c5f80dc39ea00033f393e4d174806f4e9a025023b128c39ecf34373f5ba8720354f02402724d6f9d6cac9df5cc67661eccdd9e66fe80ec505e8884b76203721d8314ef0488989d435623ea6ada3a5c7ae319ba6ec48adfb74f8e767739c2725ccbd44592c7e834f2405b93cd3397ce433c7f6cba938d673679479db52cb672b77a91c4d0fc3100dce72f2216c22f3a33283a17cde0439e4633133dda5e622077551b7f175d4db166ded407a6f6e0e0e59ac62fd805185f247b8b0210ba0b72da881f13928443aa5b1dcbd9372e363e1f021fce4b1faec829b195f4842e677294020e8b8bd32f2701929064b1926ecacb476db4c1fdb0d235ec0760a3012f53e45d69ad74a4d08b2d1247d301dbabfe0e96e5ecbc97f73c955969ddcbfc8b7284ac50e5a4e23a5285770c45c8fbd1ef93346982606066e674ec57aa1617951486de0c79c2c08bb2125b2844f0dc61669dfc11c4c190b2abbca865502419f0725d4e6919a415491fae19a7d4c86aa93e0ed5899701c0a8bee7998584dfc80b72bd3d53f6b8d86011a69172dc58eb2cb57f2806fa10e09968f182477dd04b0672623a9e6aa7b998d513b1e3f80b24e0632946e5f39a063b01a63fb99ae78a14433192c05294c28387392c63f1a175bc2236a506efbaeb620d76acb13239cad81846a3267dd56177dc17b2aa2c6615ec6627e06d5144ef83d5f1c236f0763ce30a8bc9cf2c222e2dbaa67cda4ed6e27ceb1440cab6a6deec45c2f73c06ba33a772002709f699be70fc848fe0c4524df710c9e9dc7b17b6785a525474a706e61b2a15e555052daa3c2a518d7ff32aa135faf43574270481ab3d5fc615fe72dd005c3010b0b310bcc1d12f0bc1cba0f1e7805915d8815024df1265575dc0b3310b1133b009cf688fe5e14b65be42b804dfbdb0af2daec673d0cc108ea663cf6f1d724e91e7b85d9adf658bddc04dca66222230a72c127b36d96ce5dc30edff8630119b9979464d66aed0537ea4eed654d9b54de8d339ab4c8bda101badcf6d344e37bed78013f8115bd2ddd714a02aac36f70f955dc2be2c716566fed33cefe2cd72a64ca092c87dfeed2279a31406fbcccbe8bf4c7e0eb6baf675806e0d0e9a487200aaa4c36a5ea439a7ba70aebfe71a8f4d6409514135d64060ba44640dbea372d4d57b7d73ed50275b78d98d29936dbacc0ed3e7dfa594f7b8393260c086d672266ec1dc63a4a476024971b717830a3e3e8f1938563f42d5aa6909e593bd2f727ef089a87b6cd29424d5d88e4e18aa94072fa920ae5076aa79ca5ae0ab177f725e0cebb8131a91df42d9a246e5276776a303e44ed5d94d68ffd90d7892b5ed724069da5a1d93fe7eefc891dd3d2bbc5c970857faffca94427cad04924ff8e672e2e84c9d076346937264e86c4bf4490637a598d20ff21beb9a98664306b8ee729f1ecd2cc10ee42b249d99641463d8992c9b327de1a5cb22304ebe2146519172ffee0496af4993bff7f98b992ee53ba73278a0ad4ea70481fff18b6db9aa0c72a93ba0484a3a4374d42d557d5ac0e7e27b8b15f8b46d19ef03cb1710ccb348253e776d61364840a496899c8c72608258433f7978a176dcadfcb02dd9c9cfcd1b73f716e45dfb755c0dd486cc1a6a5ff478d05098b4e4084b25d484642df9a77293fa916219247d4c24f3008357a48dedad6d37072afdcd9af874d5ad79accd7250ae6311a19c795d661193f23703844e6c28314a2a2e1c0ade59c96ddd16ac721dbf80e6ac0deee2e49afda99780a90603b382c60d0649ab3979ea3d3dfb83525f99d02ac15c938552ae300d213680fa5a722ce74caff8e6bc84bedb1a9f9a7298ce233eec2ad2dc792d3ac92bc9ee6410cb04a5c33802dbf3e3d70f3e8c045c46ec43dbd7ec7ed6d2d30886d2e53c9fae98a8ef24a9f212d996d84dce47831bfd430910c08738f9912b035b6e5222e533d67a4106532c593640a6840acb6572c0db975cb53f1e75c5b1a97af9e8d53cd253e1ef743167b4d1d5ee38285d2d23c14969a21f0f617a8240bcf7c3752d843887c5e3d3f359b42124d45dce5eaa72a71c866dec24017eaa188c26a89dceb5b121796be810a56df66f55ad25b93c72ca56d400909e324aa11d57b5758cce0730a47770bd6bbc7d14de71831f54ce72f5b0818c35477dace5245fc248f4da121f0d5092b1428ee26987a8103799363e027cb4bc40339092b548d7666ccbe32a469ab2fbe2bc9e5f022d2dda0da93f72d0f627b70d6233e260aef00e9384e7253574fc1ff82c48e44e26e182094f0a720d00dc3c42be6ace6a17caa453b80b0b5ac803a92899c62060c7fb9ded1958728afa283abeb2365d0d26d583fdf9a73a55494ca4bff555cadce915ad10d447159556044fe46cb8045dfcd9fd7f52e91908093d05ebbdf8a51ba5189e83b24d72d81d5e5e48947d8de21c859310a961c348b9e98150cbf11b03f20134328e75729ccb626afa5816dcffdbf29db637a0c68ad7d0fc81eaba5e9a4fa0a802ac4a575f976c07a919cfaa1fea12354a5ae2a9cb273de4579fe468faea48c0b6494572642e5d4334d3b32a03df5730ccb771ee063117d648be2b54541332f2184fea607883eb264be75bf95e7cfea2f916761ea7ffefe9785d2fbbe37355cf568e3072b8abeee95b52d5b533a2d1a374de4aefbf464d29772e4bfd68afd21de68feb1b01684987af0fddd7695cd2ee4eb48df0c3838684289493935d5acfa159c33350752770b674e1e4912ec73a0d0020bac8a3a4a4384a0ebe969ac33be0f449e030377fe1d1bd917ae5953cbdd866236c754c2aa370bb0acc418d0d39ed0edff157e1cef7b5d55c3a5364e5e593c08796ef5add7aad88dae196b63c5c69e8bdd272d521065831483ed98bef4e98ba11b125198c4b3bf15d914a8e17fe3e659a880025d6508287abf682cdb3519e5b869337d6da285f3a0b2b1795415d3eaccbd372011cbc6a0a2e5510f43302473bbd9b2c6b52bb8c4d7e96bb9ae46fa39527421221632cc8fd159ee9e1db2590352347f4ceb811fafb13ae4b0398f0f70dbf9f34bdf9307887f4279582b7946830aff473063859ac9e963cbed84417676421010de6e77d7b5241fddd21ca87e93beaeed1e2ad6f9ba17e2b4176afdd60c8746672d967b0eaff91fabb1cc62b18dff754b40131d456c10305d545333946df2d844aed6f93e94dade00e6a0716b9864cd3e14abde3bb6d2de51d64f156d76d5eb41f6ad2830facd54cbb123ce9ed1e75ab23de7b9535f85fcdeb632d609ce5d09d72b7741e504dcf08ca4281341f548bc5f591e1e385e06a76f059cb3c19a167e472870c1775f880e58ec1211604588ab6a0330e564223af237e4942b72d9d1cc85f66fc89e6f1e7236c863ff774fc7fad13b86abd31bf6bfd815e2a1ed36388d972cc4a23dae9bb91cabdbb2ec8544ebdfa807a54bcf31f665b8a826acc08149372f6da5810c990eb0fc3bba2abe88947529812b2f2f0fb391ea54e6e4c5c293c725b74933665c208e9e9661bd8ea14e66dfe1637db310f799b8973a92f6fb213727a9bff0accffc5d2d89a22f7d30a7390caba563100a21476df5ab8cd52835a72ad83205cdca65e3a49980a713c9d6767f7196db7e2283433076d88ad22747972b70846452042d402eb859782618b6f81f31ea71da447032624fdde8e1285ee017b4edaabcd18a71eb2e12e446934272263d487449aa1f558b67bad5c71a63241c8cb64a9879fa0212e44d4de761900ed506ab67394c6d30085529c6f3ec1a1724fd54ec0a9a40340b6c426dc828f923de216f6e680dd8e518cf2e11ce406e4720e2a56a0d1bac6cc2a93300f29ccfb756811f0e7339372112b04e46fccb2787204b7fbec7c0504fdc6488b8b7b55924f05ed6e63bf8ca92327ecbdfd3efe8e7261089ddd684063d777034ba3de7b82826f9cb42823efd17b48d5f32005295a728e4d21598ed504ef083ed305d31f60cea0caeb93135c6108bd4384bbf3afd042313bc212b3bdd193fdde193c4b57ff00a3e52418f5931282112f8bdc97659272eff1377492f3e2fd5e4eda7357b83aa81b908afdcd5fd9e7b69e53da900da8085649838ccc5d480435202d350a15a2240fb82d79700afdb74da1c41a93782b666fa36302c5d1beac16d243bf939758abc9a528bbd01badd9d90dcfa48ab57939c88b71b0e1a737f09aaa6d36ba7399914b6ef8d25a56dbb4b63d56d12de18472c315f978ed9b5612b965e4ee1c88e141868efa86fb673d1f442e4b99e7e20e210b5c5215b40b2546bfb0f6640594865303a3a544c1350a0c86a9753a34db2b1f1e932c00ac587b2e3005001ea53df95ac90d14e2852244f461dfbfee2c49f972e89df9c573dfd855d956a48ccab27e8eb3f2a916018966df534ec2412df9491b73aca0889cabc1ce4b8ea25c28949c0b3b59f77f3fb0014e56fccb6e9cda355296f7935a2b4e9454c471470cfe5adec083402e74121627ff32fbafba898f6672315cd55825cb7d508faf5c8cf2d9f6db650c2d702afd1d2ea9c0f92db7719b70cf26b61b6c0a56d653daf9d0a2ee7a59c0291959ed8f6851ed98b04730964029d2277f95ad79be694f76a7c2d4692929ad1079cad139e3dedd4128060efd44578c513473cc11aaae9f643e34c61ae1f310a9f13d6493715725e37041e43afe7263ea2e96c41db50a41a4db9a164e1f860a18cf155a7f77fa51ae17174da7ad11b2317bd3ea9b2723b009f82bb306363852a4c3475fe4cc3f2885a1a890a0953a26b03e2655b5c1fdd2226efecf4bead99f6c506de550ad6fc627151909e4096cc58b303530eac0197488a4ca5a174fb46cb250cc7f8d667672d0bbd2cd31ad5e3d07d46ba3ffc2ec697ca75f2d978d4cdb382db537424e51e4a60d4ee4da2a601fad62090e5e25a8698b60e4c4ade37d4edc9b714dfc2d7d77d59fbb60da065a679dacbbd9c0ac9590e27f51a836e0c090bab7f69c418e251eabb7c3da2be314229e28329eac8c952d88839f00ca59de05b17cf210a8d20528abce4c0554c8725e6374bd0b1e6d3b6713f89a41aa20e496d027cb259055534289ad7c44055e220f275e3735bd50f091bd49b565be7abe7cfde3fc34d6c2923e73a1c3a15c4a72f4044ecaa6206cbae0d647c5897f5e4fa1f1c6b918f5c198ea3421e54fefa0722c5b492f33f4acabf825bb84da1161d431fa4ccef7ec02c86db9f31a0f1d4b6669b086bd1eb16aea3ab301b34df45700da94f493df6a5ac1f12ddaf9cb9275718ccc9cbb7ddde8bb0ab49ff6f289b5fa0c638b8fb54adad36dc47f58e6b34c72473f911e7958aed99492ebe2c5f3f521df29618c05b941426b155ee1179ff072eac9147a532f95925d15de76a04742a11026d230ff3cdee15b2d34d622b5312ca73b65ae7452bea6152ecb6a5ba3d33e6a40c1583021e67250ac94e93b8d2872ff52c74a4d6b5a117e362e6dda746c6b12a8562c4a9a9fb373ad8f7e0803d5456922986b5fea33df79475344998aa5ce10b7c765b30b7b4c2e19b25cf196985aeaf8b217f7efb87dee1fc6ea51e146c52ef03e65c25b7aac5ceffffcd26b357206e2b52f8e14bf611a3d0a7de9da302f9d6e5b159a49dff4c1e700ede4527c7206b2ae59ae8416437d5496464259e56edd0a6a3427d0df5fd83b363d166cb33294e16ec2237b0a450a959389c44d990c5fde6a92b4083ab0bb8ff999ca7cd172c86a47ad4bb1ff586148729fa35e028179bf961973c2de9120aefec76e1073505c4af839d2d742807b6da67b4eeca129cccce1612dfc9bc45047de04a82568715fcbd1519f368296c2ddeb3f4bacb7d58519b4e80be853f00bca6ae0c3a49b52209e96ee4c02aa15a64583a255a8413f5dfd27e762d2a54189b5645585bff47226ef09a48ebf7c77d454e1b4b20a5044714c50a0028c96e8e839e5531c3a4d1073161ceecc02f176a19666f2ff46f2388472d36db9421dc924fdcae7ae88801154843616f8e63e0b5538c6d190bacf50f2f60d6ee67d74ceadc72c524257ca724813fea3457cb0a8c9fa44eb4a1cf4e0e9ac8f4a45c390e961590a6922ccfd7206fcb77f82a3ee494df42a2dc5cd05369d2a95fe9f05bc5a89444bb31790c12d679010937199b67398a998c5adc6cc37dc4cdd2958b0328a9e73cc1b79937c729c211c45ccfc970c433b0ca8f8b225533cbc8ee67b6af8b5c8d92e4684b5e77238937e2d03679e6b7b4a73d19b49f801cc097fc15e5b3ee1cb7d9b2520057a72e8e6d52ec19e063002f55641262a564cf8b609190ed590c48c954765b83baa724380a861955fb28de26f6e14ffb6fc507de32610397dc5de3952ba10e31f6f31aa9f8909b24aa0fcca49b0795f999402d38b1ffd50ceeddccd6383a52f3cf172fa0b8e4603042e77cb9c6a3bd8e30d387fcfd05e46e06d31abca18f2acaf8b6869d893664a2ce47589fe19bd413900d9131bedb364ee07ab42cfc8a4dc23f8151b4d66d80a7c6ee9b3ac5e449758e315e87ac6aa2bcd48d7a7ea61c0a5f6907298ea34cd83741f2820873d4614074c473a5163b7db4f84bde5a9d81a4b000472e332ea49f50a450d84a18120a1a76b430f1f50bc2714b4838d02e8182106a372ca5d5a387c45e737c5aa3c4005ac9e0911d8add51e77814862324e322d700d46eeefa4ed99b3cff2be369503a61b4be038a0259d97921fadd40afbf798139e079dd880f9e120f26c327b5c8e0ea91fb9e96fc7ad86c50587060864c3b53a386f2f537c44a2fe9731d113afb112d25502da12c244f4a5a537fc39e9e56c1cff20bd4c8c895acc42e843c855c83c47a9b45a9335db961e0a4dc5173ab442561f72675e060667bd9904d63a79e78332086e195707b1333c82cfbeaf4a6867970f72ee39235e503986940267d50436c46a738b485da0e6f5777f974e1271c9b6cb339d94f51123c43fbc1fad24ea4bbe4b5cb852c3580ef32a9c797a3f16d5f11312db501addc68ccc65c6f84fb6662bd89f2828ab145c2e1f6699e32886121dfc537edcf717c7d696568f0f22093680a49f54536cf7c87bbc959e2c8cac4fd60272bce65a4692685e0404118eb24470f4742163ebcbbb9d586c3de2b421546574151cfd25d7e424be81e43b1383bb02ca2a39d2dba341161c9978051d5186135b72096d7e6657303d4033e01bde8bc0db26fbb2fccf6896ce7862a33ac94f6e19119c3178b85927aaef0fab238e7dace76526c8377a2757bf03f05dcfc6eb74a643f208e27e756bb005fc88f3cb2b695d5ff5fdc30999a8357cd09c434b4e210d722efe435a4c908f7c3bde0c5c6a80d5fdaaf9623b9a3e024352770a1995ea867222b2570be2b651a434ddc14019932e16454a27616e06a23392c10506c70188044e237555447de78f0fc5a78ac7755dd540b9b05acea0cdb42ebbb3a7d7209a7257aabb0d82f796cb21b37e34596ea9a0fbc47314c132bf0611fb69bde7c00308c2a1033106749d2b1115a52efc63412da3f261159a58bfc373a856222afcc26fce3d156d5848a455e9da3fd8c740089e3295a46fa77529a3262bdea6fa558c729c09e7c81d4dd480d9f7038eab2bff7a9e0adcd4e9505d8793c665923e0c2157ce32fbb89b1364a602b37d95a35f0e9f7f942f8fe233a18a0f3456f42f5af92354dfc8aa4f7d16cc4e1a3e7e677c85b63d1008cf638f90968060f8dbf8a21a72ecc240edd5c00d8d6ad08d38925fcc38a181c6792c20ddbc809a2dc0b554f172d9d40fe15a75808e2452210475f0bcfb762f6145e3823bf8b505915e39935304261b030bb995662e3586333df1867df17d0be33996d31dcf47ca2c67fac2b65cdba632169469a261ae18c27a9a81d0452e821b9262bbc0376a3458b782066e727cd5bc4fd07db8b169dc19c52b74aaa7f37f5482f679666baedc7cc7fb07a172f805c63bc7f025473fbf63d1c8b5555855bfc0fda6442adf2cc0b4a7eb719872bd9e417a959fecad51d324a3047f995d22de1f0cf2c9c0f212b4dd2b7bbd6e72c0b82fa81660b20c92d5e8392b8e7f7d71e2237a09d9f97c0248bf3c28b9e072c996eda6bcdc8a7f4ae8643934d1c6141868df1cd287e80aa1e585e8a014367236ab8c4d7162fd894458f96e858248000a98ea9fe42e3ccf699aba721aa35553b812230dcf7e404b78671cd26a0940749048b7d906039855279f7a32cc3bc77231ce6c6793f89d71d3d6646d5f30eab475382aa75ef65f8f0f0f73023917b71160fae3564e1c6a261f28b4c31268021925e9313f7a2be2024d7c32a41bfd5e72b8237390d5a24c4dd91bbaf15509c40dd648184a4c85e3a128599f37ae845f72fe18fdf14d5cefbe8c5b2f77db658eb1373624ab9aa3673e19bdc2289926bd5c8e13c30c11318e9fb3c004053ce17ac3fd7f3405ed8b10c6031076c67cd59172a8f3c24cf0867bde69bd26e31ae15d1fe05681322ddc7d96d14161e31a718472264356fa73bad554c9d6dfff6f1887109b427c7707b16be6a35fd03a06370572001a4e6fe75b88d6fa63e15d7fc10895aab97e3b2a236da36fa76144e72da572c6bf331e2390eac9a64d1576131b61f6dc1fec3d4afe96aaacd0fd89ac4bd91649e3e2cc4caf1eceb264f54b2d14652836c0b0c2a3f28958a7c9563912abce72cee44477de40f007505975bcabc870cc94b1961c49ecd84725f8be155eaa0b526258a34997396f11a8564c8e62f4b4036409c6632cd8869f827f993d10085b7227c3f9226a4e10f12c4be2644607ed542c27e610bacb7117afa397301c0c07428ad93cbc78dd34da15382a7e6943ad6b60ccd1d763a901183028d341a50f096d299f5d4b840e084a59d6b2be17865e773fcc2033c2e4272998e0601409940a72daa7aa4b78c4e4f98c561074e6c1bc929a8499201fd5827f3cec34d04df56e72f6df9980743e4fe07758399898e8365f1c453f6dd8aa7c831b7c0cad52c23f6b11b1419c61adf49cc1836088c535dbdd4101b25d4ba1b8397dff2c038cee8f1122486c58304d7dc79343cad266d8a0fcd5b6989ff2a679f58ade4aad4cf75c721f35e6509af5e622cc0a86abf0883b3d23baa5e6e7e798e7cc857c5a54e57d724e36bf8f711219e36fc94cdc8f454e6e292096d9661696edc7bc889e67e32872246656b771d3750e2726781cb4c1d99b1acc2edf40a39dc679ee076f98c1c54b8a67f0783aac2127da5b3dcc30bc359c946b998c8a7ff933719b2a418846ed3fa1e8fb60e6987f855209a3c1b247fd2c936fb2d9ba14c0c060bdee580c765572e1ccdc224f940e7087f4d462f8e1a103f028c80a7789d3ceee78063c43a1747249494e38de8a54bda3c178df663844bb9093c3a4d2e58211df6409ecc76ae4722d8edf1d97d07530d9697d0c2f4790bbbc719bd334a2c616040773a33d8cf24e09e4c138a678bf67df11c2f0ba8a545b410d4ffc509117755d35f73a30135272547813ed4fab7d8ae2269dda92f46024c790f45bde60d1217b8f6cc1744cc27234d5da8b0fcefc3488b229f8445d62a0e09c6ad85485aeafa4f679d48cd5a85ddb90002979b41cfc49f03fa2611fd9031bbafa4ee06121983383cd5784ee0f68db537e5511c6874aa5c80b768b2952af57d4f985cf702068efdebbe442730772ee76dbe8639e331fa7507027b2109876521a2db2fca42e5f742f67b96649d0319e6fcf3f7589498fae13550152cfdb62d18326d93445145416f8ca03f7b3ab6d4047f5432091f1cbdd915b9d3591bd180d01e4fb259e5e1161b21df77287d1234a223c531cdea485dacdda58ad07bea24bf04e607ebafe03fb721ee5efca0e5e183d57ddd5cdcebff4e652cb00a2687e492795d39ae5edb84f3a0189ba1c1972e858416fa32c51a3ee0461bb6a6e8fc45daa12b5d51de981ce93a2ecf081e9728674b385e274e77ced08a6632eff5a9faa3032b186494e2e759a038c1eaf391178199a12f445ffa1bfda077eac310ab73b3413a792432e0c6fe28b45ea60f77271aee00dad6662601f4a77630a893a0b02acc15b042cdc0a4e962bfcfc08dc337ddb126856bf62f1a09feb5b679707e277b1f8a4b37b92f6818f619c6864c60999d935d4820e0ca0f73002b758a30c8fd2498b81b85902c6e7d3ec9b4c28ff1d54cb0f9fe2c7d25cbbfc8c46f715b99aebc41ecdcc66b960da7af2960ab0475b2296b973135376ce8c69486bb39e21513da3163c18079cb87a07607f26021372f035a701cd3fa1279099bb9a5f1a39f539fa82d4fd581919b7d062f3bdfb3072140218644b5e29c67efe5949c945f4fdfaa3451f1f5829d8b1b74ae03d448272754f3fa1a9305fad90d5b2f679e9360c6a36f92f6912c00ef9a759feb9ca037260354cc93a7ece42f9138912197ef93049beadd346d460310c18f9e22cb5c85f1f0ba1d5b0f398f5deb79654cdecca6711573fe54de543d3af00eec731d6b3722a4a325de0eb12176b8b973ad80ff2726983d7b914313bc0cd3457dc0501f87229ccf8a41bab38859558a50734a175aecb074be0d6d0b9f6c6bf9f2479c97001a1063415b3c6bc04b53d2125f419e5b15bc612732b94def50fe8f485467f7a7201c1ba50188569332434c5783445fa7b7e4f52631ede01a55c2bada0eb9a760a5bd15267817bb1c75be12391c9146a77821c1eaebca706f0b9c9cc39718e8132ad5feb600e722616e0bc4fea3393c6ff9dc4ce668c569cb4c3447916c076b5726a80902c45c876bb35f6c5ee2a5907be3694e3f282df0f5e96ebeca1146fbc22c348fd2bb2f847d7a4f3661eeb5003b4d2ee41173ce416bdfe90366356734f5c1a5d23d4b5948f2b20339efe1846813d45dda122b99031a9b6efdf2aef759d681f012c93ca079fae9410a3100dff2a3b51913b99c17bf5d8cd1d27367af9ff120e7ea8a8f1f3bd051bb50a0c01662c26343f1d6e6657d0b56fadf35755bed872449b413b05ac509e05bde80bd8d03e41c6ccc140bb4bb6b700721a682351b57213adb3eb43b1f3724d4b8cee4e1799d60b4de5bc000e50edd8cc2a54ef26090be5346d79ec6b616277c56ab7fa96042366e59de51985cc8a59ae8cabdc352772955dcba5cd5c9b2c5887091726a2ed801f1659c3d2ed06e0ceefec7ee403602ce2a41b5be1808aab5a215baf720efc49136651cdf324ebb8776cf7cb0f0a9f68fbb349b613e8c0325dc4bfb106ca4d7e8e9378d94ee34e0372a21bbdd3dc816f0c3693921d35ae2d722bd79339c25e58233a3e4327d63dce7830e14e490ea7727dc4c0a04372654fa1c08419ceb0130578d86f32d933bb62cd79071222a11d72a7f7fe0b24a76f996f9f744055850275569c3407c539276c6867a4b7d4a76972dab49873e41aab52e2614442fb822b2ccdbc7931fb3f386baa77f057ae7a3972ba81183bda16f7e450675b4f5cfdb8f74c53165d01e345ea086045ff6f7a9b72118233da963d0beb3ef92532291ccb57152e3131b1332cd8e6b222d3c1315e4babc2cd9445665faaf6d4a579ff6c29b0b5c577b9c814e37d4124433e8c42e3723d63cab0658d5f22d5921163ff796777b548f6e39354a058a26b9fbd40fc8c033d9c85acea68de2e16c5257f463c2de2655bfd89229dc428e4880a606921aa72ab362545fc535cb015e8f5fef6aa2e64327bfc606c19e7dbffd3256be7791c72fa7d4e4952818cb34c6c2fd8d1d631adbec4762568718d1970c7d5dd17029072083b0da089e24f10af94c35a761b90600a1bce434725f925ae17322e7914c072ad1a1b886f64e8cb0896dc0b1a71ec03b9f31875958c2bd2e3e041e733e20e059a0e7e356693509a778c472f508ca875ca664d52e0482958f857e0937268e5501e94319416fc311876dff57809dfaa3981013a04c983d940723a88c5d5b6180ef7936d1c1ac41e5f098453658c5d3670e7abcedf039d67946d9162e74b1fff2d0235c208e131c8103f03f5a1840b4e56255e4f257e4b7de4818858eb3983870f4a9b4ed7aa9042ca99388e7f778d986ab0330066dde1f319e8ca82d8c9c47972c774632d4c721251bbc4867202a935636011eac6caf3cc461692c0b1de5be2724ebbf7bc7ab81795910429a08ffd84a09f69ae74a46427ca0b86193d87a47e5e68dc995468ff6066bca5dd2e6043f5644b0d5f8d7cfe362f7f0609a29acf3472ca36e56bcd5e43aac1fbe3c253caeb6bd1556701840f84873efa6f84b2fab250c52ec87251838504b64d4f2d5b8da4749d5687b593f346f6f7cd5063a8e01972affe4668264823a95aaff98827d5469cb0f825c03a4b198520cefdc8a88ca37283044ded6d889e73df148b360fb99ffb77d0f00e9a51138042e44435e508da727924882babf7d596344c82f61cc46968f042d504f10be78bf284ababcf557655ffb7484e0eefbc13e7d02bd0a0c0bdefb596110ad531db4536938a81b9fbfe72544520e4e6c715c2b1591d66e2734ac8ca1431b5049b93ef035db267121f426dbaf8d33728b3bc019af2741a7fe3a3f2f120aca785a70b930690f22acbf0b5436b7316ea6cb42cfd4a4f2811bdd7ce1dfb006c3772948ae5b2c01478edff841f58cdb985f8d385e5f3e278e089d192d227e426808e6d8e7c24e60e3442c43972ee50bd2f35db795d5efb335d9d4ad5a75ca60cef0771b5ea379a9a2196d1ce6b09ee66e766fdb1d1bf2425747e7835ad770b7dc15937a4a2d7165b4d8a93ca0ba6e970c3184b37b59f42b50d2e2dcb67ecd71c2e0efa470801bddf651af47772c159bb97a3f481766a12fa29208bd900945f238dda4ee68815aa7eda4c9a00720a2ca8c11c77426ee45b0ff6fd870153e94292f18a8b445cd6f97530ff6d6372dfcee6597547e5702512bae063f6386f2ebb1799acfbdde8f988d91ffdf2c872a6bac4bb00aa380b1e88bc4cfe485f2874388900d201f6b0cf3f99d02d0cdb27401c5e01bfa89e19516512c321a03f6c88c06db503999557052b09f223aa6537b58b44b8a25688c21efae89f7c49bf6173b77016f8237a3ce235369064771a4da10d92bda331ce5314c8b32ca70e20089035e184a8f44c368ceb56d94d18b039a51edf1b789671b7f24cd08ecc63243b3e8c73a21a450d1a499d644c9d7a056d2e69544c3bccf01ebb8e31df22d325d9497a4c33b4bb34c9b21cae0fc97e8a2eb96e6d1ae35276ecb484eadbf44b4202c633ec67570f29f79a37488795015772560553e9c5058cb50fd4070a4ccfede415022c910409e9247357bc34b4a82e728162d9e18f062b9abc8e631b9075b7f3276e6c21f10eb504cbeba3e8e45e4d728614f26239d5fd6aa10b29a9f52cd8e022f6201d5db46988fdff16219940ba51dd08e571efae5dc5ee2056122696d28c16c85ea67147bd196ef1e0117402b44b9cad6c922a6a9469f0439dc1f613e3f554f966d810ff89f3343a7113c3967a0a4fe5d50d81e2042cbf754d434f2a49b968ef0656cac188a0b1165f0f2d62af72a90d8522e105591e47e67ad82c3ab1f5442ba06cac92d9c08796334cd0ad9203cd7c1a38f781d8cd8a810604b005312ab8ce66a620dae1bb9c25b162e21de655edb78ebd2ce4c165bdde6e110befac6b7fa69c9123e01933031e3a5ef5faf2726b6e59c8937f81cfef44a7ed09388f99f492495e8d24d938025ac3f614215472b50ba102ea1172288c35a76dcc68c8faf0df374c4f268fab2f2e054e19f0734fa48cab870585515ee52a138c68c8df4e0f98e2851dabed0ed9254041318ef764ca33ee7ba51cda63854d450ba0b6745f8f5e66523cc1ecbd84b47a621a590e72c4fe7e9a683acb8b0f884b18f78fe264f4b60935baa97a4859386f6269122772c013817cf6e4bfd2c3c39b4bfb9f4cc04e7a2dbbb8e6bb518fe754e30e9bce7228a2dfdef01822448016c8aec0f01b4fd3a7b78e72bd6166ec2e1d43b95e935a9eeec1cfaca08b8e6b18f8e227b3e5e5eacf315e67fd39ba52f899f482935f72589d757142a1de11f8ca394743e66c15421f93b13e3d061b8e209d85fd5e5267271acaedd8d9ae9b17ce58eaed9664606e8c0bb49ffacfd19a5e208d6278ac72cce8a36c39d3936b008a501152e733b2e81cce4af638b83f0bb97b93b369335f66da5cb3bf6d4c81946ef554a6bcc529a9ec34a8634f6e76a162365e61b214720c0e77d9ec3d2a0c4e8973765a5a65825017ec286728df2b81a9a56fd34e53728b548e554d4397ec4711630a09d53511b573081cbb3cf5584075dc70175ba80e45ed8a70df2ec101c569b136ebbdbe2bcf73accd2cc098b30e4f0d0929466472b3957ad19e09fff940c4811e2ec18b3e2c677141a7be5fc06dbb6c99ffae8e3098089f969431ed043ce4a6bc638fbe71d176e4c6c46a22bb2bac6168f852d172d861668caf08fb806da53b58c33f02291a45f083b01c8e5817b55b48d6c36072869046386ddf28bb31f4b59a2423357e2507e310dcaafccd2b7495dae05ba77297624c4750eaf5effefef72fc10ce389bba6961073520f1e226f3b4404a01372c2f08a9869175200a89954f06923ab576f40100a09e141d1b434bc77aab5e072eb7a19fe52423755259eaa44e0d1a091495da323d0cef89176af24cff3e90f72854365d4f6f2dea34bcf384a287544ca952f546f59ef6dee38a5812b3bbe264b33d54154cc5c7e101e418f5892189ed307b92da6b1b42d365857620105585828757b0d67120a519b7b31ee83ffa71ce1351561a36e76cb4ab729fea6e5e3e07287b03c198e446693eb73c6cb30deb831739a6699a0c78f114f3c7c743d45287252192815e28075e2eab91a07249d5a5b7da689bf2ffc67f6ccbe5733993c683981ae9649c5acea0666b3fff124583b6a93594b07bee8474ae38d92ff5c49b1727ad3ff79ab0795f520eff09920976019b1dc46d471ecafe77b9001dc86dd1672c62e7fb553d72f359a095c5aa08be9985d84089fd083834c467ab4c3820b5e64ac73247f0b20f68db30442ebc578f4145f06049f7e864e77449b909c9c6fa3721869382cb0756d97edd03dbdb503b1a705613b693d8826f20e76b37683085d72fe87aefca9bc1f7e2bd3757d999022d73dd6791222ef2e1885a8d8dd11a9c63e27fb1be4601385ba67429fdfccd3c0e0c85be9e98157aa32088735ecac6abc72ace2be312803f19ebeabece23e0ba014c57101a4eb03774ba2769e05017a7d64ccc1b61da4025cb3afeecca62b1a7ad4ec70c96364a444b8cd65f0b5befd3d72d748c44067ce6535dad690d2a5020400ffe6b6357a3409f532a1089750408070742bdbc92c2a9c936196829bbef1cd8adff014fc2b8fe99bccea4e40c394a0423f5e81f7cc7adebe56a8e8f45a24e3478b00f1fc53e5cc212e309be69ae3e12bafabbc9f52eaf5573efe2261735655e15600b3e8471b46345226d0dd013a6c5ecabc12c5e3c860e7b6f0433e59f92aaa44cf7eb7be224f645bfba27e61efdd72189f2b5277c16b5ad154c447a6a729f80495c11d288381bc347a4d7cfcdb336eb79af457338319763338b8adbd54659c17787ee67e4e44a3f89371909252b672afd86ca1f9a8fafde131617913799d3276e5769bad492983712e83fb5003da72a4f88694b3d540b79b7661e960745e456b6fd5c5ad75031042759a3b94f6d8729a84dda254388e48f8ff9ce570de8c02510b58aff588969f8f53e1e8cabfd7724c1f1787e71dff4323dbebcf8189ceb4d8c966f68f81f8a630d5b3f144dd13112feb3799dac404a5ba5a0dc4e36f420167b9726ab511180001b514952ad544423c606bfa49a176165e5c6958754a4e65793504ce4c29bdc5e6d684b213fa9e72d212e9524a0929261e7f5cf58aa3a3afa4737441534d119a8fcb1dd85c66bf72f5e59b863bc1436df6944eadb25e56bf0ac18ab25e98399e04a4e7b79d9c8172c590f46b829cafffa971a85c75a25f8f366e8d6a83654c587d2e18653e7f852f06cbfed0240a81bdc27d207c4ed2b1649b7040221f8c1fc83c8b0fcfad3e490ba896b4fbea874da3ad19eb992a8dcf6d9f32b620f4ef9699c8b7b7930ef07072a2d28bde5ad41d52fa807b94554d3bca35486b644a3b1aa66bcf5001e3c74209261a14a5367907be7f9d4ea8a59d3a31551d7072d482e9391d3618fa08395b6e72c29b7c746efdaf59f7f1a31455e54e4140c7b525a9662feac994ef4b43a3154503f7d5640027801b64d83741405f30fa3ff4657c48fa9252814fe11ec5035d81992899c8b409c7123b986f5d64f6daa6f5598fb185af544a0e2c25e35ef60be5e020f1d2f8728a8549a2600c8704f5a82e3dafb9f62af564b47a998ffb6e72ebd10acfe22363287f2ecd8fc97a8b89033bcb875d82e3945fc6b5f58eaf9f72546aae6d5b2a20d2169b5dbb999c12bbf88f283fe1108e0d8297cf80de49db0db002e9046e6f7bd73d8a76fd24db97f69b5284d2f3db7573a5b893424aa30272ca3ee6444f88c40f9b49551defb6c91e5a98b0d2aadcf97273cb6a2fac82567254e4b49a93b8e76410d434107021fe097c82b9ff0e0de888abb16d70d420ec14dee92994df6bed915641805ada4a52579e0f30c532d1109f7a12f257779bb1720ab2b169c7db0ee42b6b4735210431e8d6218515501c2c560cf36300fba5e1727235e23e51b9b032be61bb382e0a559d7195393c5b2e79e87fd6fe696944a809cda7f323540aff44138807a8fddb2c62927c7866bcdfa2c190ab20bd9f39de72e692457ce127f10d5246db2a0d3fb6766c04bbf4b4963d009d66a2aa73ff9822392c932852466ff284f1907b25ebdf34bbc77ac0867fd7c3f02db54a9730360c0ef6ff6a7792463e0d47d81d7fb20cffbfc833b9481e8fc68e056b860e0a517291f9b2261677484d4e3307f325d1bd797e010448f54fc9a4046f6f8e8083e459a03ba464cd868ef6d97d66b8045492db42b6d1488c5f87111ee242c66c65e6721f3657a082e697180222026bb9236279b0f5f50d5a881a1d692fa199d4e714726fbc2c10a998e3d8bd580d77049eb46d23c2dd232e8f2d4c8394146632b0a62a6fa0621b2d0104273fdc9d3a8024d8eaf2bc6cfc93f5c0a940434432da17d07247ebff11115c8ea4429397d5ffc50b9fb59d66e15370ad745721e98a0821f872b91d729220258a4970012647e04fc3c47de2a560864104b770bd5e2bfd639340bb03374722e78e03d202ba3e7631b5191e67748f7a09bc212811e674a8c11b1d72692510af70347ebf0552e2fdf964e7d0762d54339874ba8e08474efe2ba972f03339611378a3ba1933bf2a72f51368870e3adcd84ab81dd79cd7072da77c72fb1b76a6f20bb6fc57e4963fab47043ab8badba8cebd6ef330fbaec1c6fc8e72f988cc3f9194157036cdaecd812dbe6ca1481375dbcb9dab0031a00b45855772d211a3c4ac70978f0ca80eee2189d84ce29caf533c1071b042169c148dcccb726bf8727183e48d87b6b1a0aefc3cfe4bbac379d5e9e901a5a862cdae55cffd725d94cbec4bf82f7ab3c58b739d3ea8b5248a221c5298fca9c0f8019dbe5470727daa8fe38297621c49137d47d41f00154c787661f1c981fa958bcc8685437a72cbd3d76841d8bdb2f4d0b412fc181435dca4657c3abfa4e049176debc5826c72b5522c33300376a8f9ad1b353c37ef5215a9feec452f40d1ea26b21fda44e37294d497b3ab48b24ff3fb8210139b0984125411021c3826a7a1ed9550af6b4572f4bf62a4df2d5edd0a68a2782e7ecd9932b91eb8c4024ea762e33aa143cb71727225abd4ab37b01d483673708fcad4e7b8216701a02e6e1db2f81859a87fd372bf4400ef67758a073092fd9c0b27fbd97e7ed84e94e5abf3ded896c634589538cea0722e18009dd3e587bd6d3610d9ebca518848a04bf9631f38f385efafd0177ce49b0aa763ae25133310589be976f7479dee6fae06bf2b6038d956cf422323ea138ba5f6104cf61853f35e35068cbed751487ea12eb96341057c39525fee2b5c196b651d6b269a89cb88ea1004dac86fe90bd796feab18cecf194eea7ea1722a8fa63dcf411e343c93335d7846714342226f41c6b92d3391a4be91522ac92b40a1582164bb2819ac0aeb237a3fffaffed2bea4491efde8d360f8e4d2ada672d83c2fb0e72aeaaf11bc74fc4d7c6de32b8bb1aefc7ede9549d4ff8938b5d8059430cb3c4569decb95922c2da8ce96316ab4a60e7e3b18174834566d6eb2ce72d59b85eb44e2c77c73f9043141ef1766fe031bbcf6e7b6586f87a08272c4021618ca6b81d7eb21a7d0b98a20db0984a302da8d700cb73889dbe75e7261775b0151871b0692c57e4756b65ffda2cc96cb76d6c0502bc243b84b692355f2bbd211472b7274a2e16866b0d83c565ff2040dd41ad4965624f3e6f54e2d92118e1703a0024e614a463eacc0bd7e6a87fa2de993cb4fcdb78917c1d41543b816dd7317bc5b4d6f77c53a84acc35fba2488d152e12e14b1789ff9eb0d1e54642e6d8a6ababaa1660d32aa8ab8fcde8da657de943dfdbdc763b02ea0be19e340c94ef021b321b3594a30ff87b7663e589d30075f1ea874737cefcd643669d92693e51672cd7f783ff1b88271b7ed1a80ea64fa8284d7fd9512247138e8d44faba0a0f620671cb0fc8d43a18e46bfbd0f23ae4a4132891565b2ade0c782b3996db68415729987408a0402dbeecd71342530e54bd2de7cf4b0e7246197030a20c43cc31831966ea69d31bdaffed4c68cb115726565925c6fdd0a939354da5c263ce8d61c727c8750c9da800c66b4b468c918018e1c355ecf8d6732e3b1b212e3b2d4125a2113a8e5634a61ad02da52c690c83c95fc07b2f11e61868c047486ed8b14b9cc725b8499caf9bb13cfbdb47189fbef5af45dbd6a80ce77b138224e1a25d40c70680cf308c5b44f4f3ba965d6f9eb70611846b65554768a861de36c435917dee47226ea2f88ed409fbcc9e44420773404539c1999feef69c13470fca6996666834ee4c82fc23a133e73737d0c47284d80eb69f648730103aa385ef1ca2c72519d7263faabdb137826b9324d4479b38cee6b392a5695614defbf6de1c21a4d8cd94dcc55798893aeaa6ba3a0de952a931a2cffcae1dab287e1444b139476114c4d69a1f8a6b33de7780cc2d204804faf671f23edde9a55a0ff5a245eac92560805121735f6c3c5121c8f19bbf786876e205565736390ef442437ca0869bddae09372bd51731e97d271712b0c74ced671fa08a89313971c543ce674afe586dcbda6723915dea4186c3b36087bcdf835b254fdc3a06553077e42c9276d894aae61eb7269d8cb0d63d769ebd2771a94613aba3aed9c55a2399c7f0c8eebefe24953b3116d48491b4afedadec3b2d4915f84e553a2c8bd5e0e871c96cf8d172b145f70728275cf2deab6d54a55cc4202676414b8d802924b2ee7acee25b95eacf5eeba72c46d6c9026bf7f41b8c0baf5fa3dcda085bf816105c90c5ce683ed56cb07b672a365494b8e307f3338152f5a62c37cb75df7646d2a5b10c70014a1f034a768724cb09fa7857b34de9c61ee953828b51014b9d8b5a4a5654ff6cae6f13cc82f3cbd53003cafe534533ba276161571f09dac45385e1dee36740e7b52185df92772c10481bab47bd7df8359a68f0c37ecea4166c2f9dc0a2fdea8f5138837c157237a2f57817f818942adebd63a294b3d3921d538a61a2445349ab48219373150728d7bc1fb9da6fad10e3108e98b6e727a20ff0e656fbbea7b4cec2f9987f5fc72ba53f1f28596fd408c240c33752aee6697238bd64aaf141577d7eaffeebe607214dd85fc02f587b7e8feba4c0e4b8fa72e4e5f91fa43630322c7983d6572fa5cc9e80738bb79bd2a2d5033bc5426c80ea46ce5dc052456df6ac7403eac580572deb60331c2ca9c9afbcd7a40fc3c1c5f79c9a153aa1a4cfa89e767c57ae4da724482715fa25df7fa43078ebb1a32b263b1881af48b77616ed3e0d0cf83afc3728b9186eeeb55fa023a82031e03a5f329bdd2520e49fba7ef1f7870121bed827288c453ded215a96280f8c869d55588248a9d09c6890d3b22bb7ee0e46499e67224e927ba4c2af65843b75a70b65132603a457039d427a85b0a82408db22a2d722e28d1cc9a1b6929316eadbdfc060244aba7402520287dda21f5ed777fe8fa726504df10e9a2c48a3edc9de31a8c343a24039bea9f0fe0be31cf3a3d153c2e72a260eba454c0076e3f1f7d40259278e0d2d3f3cf54c38aaf848b5ff1b15ee525fd6b43f8bf525741d5b3f86c80d99def949ccae834b7aa9f7c06ab06c0e8c505466ad717d67430d1183957344d52f713f43989d03c7bee9e437239c269664d14a6ae3cb1082759c383f4a9f839af61912ed129917f689494acd67a5ed944cc3c7c13f66368864840f99fca626f48636a046cf1eab1dde8efb6cfca3316c68e72d3965b254c20c643e2aa2e0064cd1d3abe44638d2b4cf6a5374b61cbd8479a7253994ddd8d42855ae1ab19a7607f521596a0bbe98370a74b81ad501dde7d5f721f7ea0641b1ee21a8b27764f7ff6c9854e46996d3edb5883ef7ec4bf2c289137ccfc10a5c1d950f186e8077a68c4b0701aee39a2489fa4840cc3aacf2556c372f6c717220e002f7e3909e96c710a2f43643fd681bb201a6d38fe64a4df069d7297750d78d75e4cb35bac575ae1028d47425a3a3907c5cc3532d07bca997fc072ac5a2201aa3d5df53d43d3ed2daad5d14d84fe978d919f74ae99823d0b791435df29a4d9875014c971d89ec6d3eba13d4efdb5c11b0eb4a637db3d1668fa2472cb45d378ab2ea6971f6189129e888d63cea7f25a4e7c9f410beb426ccb191372cd39a8060fffddec0fd770589d96a35c7615a2318b0bd9e5024d83e50029b00ee6ad152989672d0f20d337c43dedfdf0dd1c70cc123f2dce908ab5a5aad81f32750dd0bf7f306729cdda89a80d09dc588addc73e98240bb28cb53c675dfee7729445b1925f42f23026dcdfb91597b47a6a0729f9e150d5ceb0974c2e1ea71d0756323138253b23052b3707e9f10cdae994783334050841dd6044d4d6c4a018728568adb537c659c56c00517a7af4e24637acc000d176dfa3a59b328fee313572dd2d70e700536ecfb437654b35fe18c3f909ee6608144c8de0e99f8d5a58dc7213385453234f3843d969e7fccc12562baccd1a0165504820e5fd2e4ad47f233941e3af645461db7c92deaf3ea4fc6e00086bb53f7f84f9fa1fca8e2ba359a2724d11c527224db5246a3ef899d0aaf19bbdcf4dc11cfc7f017761f4ed6521bf729146d572b268539b36a8481c0832044126fd595e18e1c8343cf434e5c7a0ed726a2e3ca99907b0242e46403bab48cd1528ea3377484f4b326e3ca1fd3c0b2a72c2769562f9a803fd5aa902441057969c2eb136cad87adc3d5bc3e3f8f5ba4741c607d0cf99d20ac318dfa7e9ef317f71a08ead3aedc8a6ac11656818f248925dfcceabd6818d822526dc477a1b61d2fbaedb282358b7ed42a95b538aa1d99c697f5c71777e0a8b36ac9566ab61f97782c812a24203eb54275694c2a382acf27250f4fcf4aa7d0c203d0dc525c401b210355c6910fb754d67e758b4db8c30bd581d4e97f2fae1fccda1c6c70b3348c73a91f23e38015308692a775499a89acc72f0268be3c97d697d3c63aec5d716569bd7498a47e8ad322d0323ebb3a5ac1949f88718179c63aa75738bc51c0cf93034b6f08f087ad18a5ec635768143e273727d08a6c220fbc5e48e441ae80baa245927c6538a8558f88d04e6ebba615fcc72e0dd6e86b531c3cc7ca6dc974fbf1b6842a449ed1d0236080579d4ee35a48e2ce8e2791b7ebdc20eb32d1ce3ab211dded99da847c3885e33335cb631a5acc2722778d0364331751352d7e6a9f4f3ab4ade75a3abd37cd98fc25e581eb103e77236c51f2665c8a33290f9442602307ccd8d4a9e577b676ccf03fb84991e25e172f8759924d52ce7c9c81ff19d2062e90ac6456a237d0c6215a16a1cceef4fb4283d8786967475a2b76bff166e8ac41ca00f09bebd0f6ec7b90bac0bdd5fcb885979e6aae6b2f6f61c6b9eb8bf9689682660c65ef82e8ef945210b5c9a9a9b8c16a9994b53d054591c4ce6b8dbd81f2f6ff59dc86f46282666a0c7226de1813872d3d28823cd05c9657fe9f9f458daed3f4b1d4ae276916ac289e588132f752572cda91f56f6bd3db2865e4ea82d470f20330303f43d9cbd3ea1e6952b7a706e72eb931879cffcf3d541035b988aca6d2378381387e9539b9b9cf0392d6bef98728bf33f80d6fb2cf01f29a970a3abd7d6ae2166150f215e6d661da7c69004630fd26d95b911f1c35d1abb39005ca9f446af0b9112e6858e5b6c7dd643caa27550c20f6e9bf6c20ff6c7811fc1477491669c884c578dc89f77ed8733a56f01f672917b98fc7cc930fbdd592d39360054977a2a43be2d7d38a06b1a3d2afbfd20723e42f7c7318f2717c4021df6ee58ebb5ca3addd11501925391307d6371734a7228c28b948877b77c02b76877c81b23518463a6c00925e576575a7abc829b8772b6e4736169c4b78700f0e4423021d06d59bc9f0baaa5aaf77f3291673e36e972e16b1f5843e748066454534dd49fd1e4132adffb54c8f7b44cc7704ba470be72a6bedc8fc76702282c051503423373524f1dc541d51e41bc068bdafdd7f02b2e3eaea0b04b80e9503af5f4989988a02e77f2efe62f7e13d2bcec474cf68e12721532ad41907cd8674730d9fb19c6abbd79f1707dbd2af23b742267f1c1f33872bb4dd5ca4fdcd3644a55e33ceccd74a1bc48ddb2f2aac75b004f990c4aea816e13f29be23af4d42f67fc7ed26f3bde431f0d34e8ae552975a0cc81cc90c57772f2ac224db2394f99a2e9ac5dda77988e4ae08cf56bb5d174cbcef142388e107291eeabac93a61e649651bdb7d5d38b5d11219fa32bd6c2b12398134f3bcdc1729784e1030f6f118ba5a31947e69a490ae9da4eb5017651e487b4f95913c374720d7a41de2ea0827ec9684ca4d6dca0a62eda73c2fc8da7d75fa2256a6c889b72657857027142c02004a34f70f23ce8a21597eb62e4dbe9f7ff8ff9d06ab84f4944da820223c392522dffe9a1b70c3f0b26e9f838c4a3f54668bfdd8c470c277258a430cf48e539de862375348934d066506a7f5e4f772fc3d33bc886de984f7272b3edf79c9960b300e05fa3fd70d758c249a376872fd84e37b9a3975988277280f66a21b556e3fae5b66c57bb2d9f78d514d7ba957ca450692e9d8abc094372864fe330a32e7183040b69943fd1c08c2be8aed7854a7924788855236a0f8a4e1b71a2243a0dee1eac82bdafaab1b5272ec5ca9ae392924b4bdb62230457df72ab64650f001da444a6315d07c47c5e4334edba3f7117bef228242dd8813dff2cf8cdbafc177fcc5460cc4f1f8471a4519cf434205b50f472f609f667166536729706f91e88c5aab0ee9114cf8b1b506620bc6f12f6689a7a168f2219fa6fd27271683bbb6edf75367437050f3d4e07b6d908b03f171c1d1982840fca34b68e29b4eac6d116755735ebc0eccd8eccfd2599a97c8e04d50e93206af3d65e2d7b10d284c0642f25e21ec1cb1fd259cfea99488dea0a2fc2ad7356abc33d71933172ddcacc4e6f2f91d2b9dc27be0324bafb902693929a0ec541614af4f703e6e5431eac6c2de28ba32c2da09e64d209932cc3c4a1ac0e53b8a760c9c1c4588eff72cc780805aa8c89e125796d0396a80098db48bfdc66678244f628161f09028272069c930cdf7f3ce1cb4cf1fed0baba6b988bf45159e25e8497a8af674aae6772819c60503c0fdf26986dcabcb9e301d985d5fd217307b7288cab45fb9ed2c86eb11695f095f71584aee02a8a9bdb89b208da450e80cff876a445ae0c6e3fc17282fe2fbd969d23dc94f2124ccec5f0b3e7aac3816ec3ffffe448a3bffd404b6aa18491cceb34d41a1e26c5989c0b6598a10446437d12de44b75ab89eaddd1a72f707a9d8f0df733e2b2ff4bc22df0ee021180fe030e7d3df3dad99cbf58bfe01914a1671e39b245c9bde05f106b26a023d2bf29d962db00d9f62c20fbe0efa7286ef03e7658c6eca21e930d01816f7dc9ee7996399823df2309f892a4ebb5e13531c5476c2fa5acc6e1eabf20081b6cc1d1adb74901883e82d9e6b636e80c672c360db123b2376cdff36f851a492ff5639c6d6be5265a6dca6cf2c461691917249c316f0b6cb8283a82bd309b844046f5b636b7f8dc936e32ff112564a169f72f0d13766a18fea726d1167b23822e5895ec5d5256f2bbbf4a1eed5f5a92ff2723389e906964ccc753d19b01a806c76267c6bca3b3514d1c191205d3158c33e727fafe2adfede0453680d252a359adf7afbf1366cca877d44a14b6e2578334972709d97d5a9f30014fd1fdd52919a91f3c995a3bce504aa9e795c63e8d1793c51ab9f03be32eda1aa0ff622b7be68eb87049f52e5738c593cf5a8f5ed7a91fb4fec0cb033c3326ab394a11e8fd748932d7219312987ee2c33a9a414461fc2be549d826e8ed39ea325c288e06a1ecc9de09c59d0f2f4d884fd8e69fe1ae2fb90055dbd334f21c47af51d0284b008707653a3ce78a1631ff00ecfc271f1a50a0e726803b7b5fb6c810ee0575ac1903760cbf9d35944522c9d0ba74c5ef7566327712eb0dc063de17b6b4da753c45f2edba3c30ad54e7b0cae1cc86a3797ca747d53ead4a5832a57ae7c1e9bc3f53f18f92932a546a141736de66d93eb537631de31c330c6fed92fbe5d446c4317fe41514857695df0c006dd40ef9023bfdd750172e22ea5483a31747bf97cf05bfdeb463a97dd25c29098d92acb60705383405972bebc8f2b82b8f46ced4dcd2f6bb1756e2193f5045397e78a8107e0e79524c525f47f5a952a9297efaa25953a0d1e04b425c6ff39492f832af4e242daacf24638eefa8bd09da2737120521297376767b0991e9883018537d7fa8117a9dd2bed72a3787c7fbbc5c2457d7744f2403ce779b67e831c62d8d3a40bc3e7531dae3f72101eb4f6241961d85c1d1035d8fdf174cfb9e70cbc8a0d1815048561c1cce7729f91e0987314eb0c2e59b3d6b453317989578e50cd78585d3601e559afee1744ac2efebaab0252a3e9f58191233177741da58042bdfc195fb00201170a191a723fbcba534287671f6a413663f19e16042b961687cd9d3f7a76bfead3425fd4723611dc876981f11c82017ab25b77d2ee9977a74c0f531e000d1f2a8595ffc33e6b99cae75c9f62c77f81c9ab63a1baab54588978595c9fa20f149d2b8a583f7225893caaa94b9bcbe77e45487cbf41c8717a05ca9688c3b0116e9596c412ff48176cf0c84c29a19fdae334e07a17bcfe96c39ed7693979e44d25e0c2f690462610ac7b5be9d19c74a1e2b1c32de8c45bd6e1f79f04d120a575f88b7077f5a614ab578e761d23c145b17ee601ad56367afbf47a258338d05ca89d6ff4e6c69a729b7370567fa7ad7e5ecd3cbd250cca07d6c92d957a31e3299b778b9909aa0918e1eef66cd01b7b2756be5dd1deedd939c3277497b63d2937d034e5232760927213d97defc00d5fcd7763028ca169e5068c33c4c7671ce0cb0216b70162b6da21059343bc5bda2aae11e6c48655a942ca5d506a955eda5d06eb28d637914a761d25fb044a63e79f4f9d76f8b049197e319be28b04614172d7f59cc1cde1a76e72a6fca80ec8c65a510130070b9aa910f5b638243578e62185f0f2d7495dfd432f5bc3cd748ff143178a6f0d2bfe9f82d2db7a3c26618cf85de6e385a12276394892bb6ff97e924add35a24378746fd1d970c077ee567c4e2291f3e389dd028272aeed3ae8efc1cb4d04b14533b96136c6d2bedc6770ee279b4d2c004f001c67723ebc5a734d390d1cbed0fb9c6ffd8fbadfc8268f91f0910a6fa871eadd78567291a166a0a0fce14115a652f2fae1b5cb59cd6bb8b42399dc62b9c8233b8d2272d164bdb8cf6672bb6373083195485f6c87584c85094fdbfa08cf761188ba3372490d6e2bd823454c9d2157e8b1103f9d40a2651c7096bf07d55c05c9e4379572499c9b1fa330c2d9a7e115fcb37b067e3aae051e55f4649fefa48028b74c0a72c4aa30a0fe63cc91642861656b841019249e718dfbed0155cfa6f20a33727f7284f81aaba2aec26cfc39040ef1b944619e2cc69ef903bdfb307253beb0080772d1e3921997aab19a5d62f82db245842cdfa5ebc1cb8ec178a2317c909cfac672d42f8d085c309a857e325871e3a8935e907ee6bcafbf6acafa0eaec82b8b5d05d45c7afe9c53931428325de100e45b36bb7a37c2a11e34fce7e6e185d03a6172f6491d15f9c122aa4c30ed284d9f2a09fc92ce82bbafa7f6109849461f688450c0043bbadc1e8e057d6b93cf3ad0a14271c2a4a5c4100c64c85f3d4b21a0ca6ef512af8e41140e24483f48d50c9b615f8b42ad90f0fcfb39ea67cebbc19dec72df98721965bd054cd81eac6172bf60d93f20c2ab66c5170b5bfa06cd0bd76a714449c2a08a9aadc50abf182ec708dfc70b2a66c998bccae682d44cc16e9685624df9631aa0eee3c115ab41c56862c3c07e1d3349ab652c96183682386c9efc219db4d567558563fdf43d1d0df6669cfee3fede270d59525dcdeb9d9644a0e12dbfab9b08c5a73a481ce31f8bbd90a2172a583821756a7aa94ad67ffd5c8dcd72b8adaaaaf9754411ad35aeb4c72217d527f4f07b56dedeaba9de8c02270f017245c0daa474c4d4bd433ffc3931298f0fe1902c227105d4335a7ecabbe088c672643071854354e050a38472f677a5a431ea805140523f980b673b0c8529c23472749ff182e18fd59744f1d3de0802816915780dc7eb8d83ffc59434eff011dd720632b228804f9c63175b6a7cbc50c86bf2f2ba3943e8bd7969f48d8f46556e7296195c0acdff3349bcc4f46e9c7b5a37b1d3697186d96e8cc6cabcca215e2c72590cd90efec3cc08085bffb4fa28e30292abdc0868bdd54310207ad12d6b2f607651898067f0954c3e524ad97419546be9eb59db69cac189fb2394729f66f93b9db1ce7e83829771fdfd6b3ed1e34e920c3b9f5ed889c1ea2e326fb3ae7f6b7252301f80165cb8623ca430e62125b4e1ea49a72465850ad8ef060485f65c775f713c002bde073a88876cbec9e448c60bac962ca644b3feea25122dfad71e61729613a92b80b933a09d55cdc0d89649ebb1fe9c9f9ae95b8838806d0b005a332d26092f56167c824c5f21c4046077d86d523a11fb3e7fcbc10a8a319612237f727e4a3087aea46f805017192eeed86af3c327a36b56e9fbbb72719b8cb020003552aa855c3a8c68f41516d9fc0e3171a970a61babc2f0022fdf396b90e84ec00804d3e9781f01edf24fe02d5f5addcf30bf7ab54c624326349f1201400adb5a72f0429baa32394b1b134591d934827020e591fe066e9b3e42313594099f5868725496e94fa6966e52f0110cff9b88254c11a2f484c56fb6c37b4232ae1582810622750b063770162299f0ab7703b17bd2dfd00e1f1d25e2cbd74557828b8b1272c019727aaeb4b000a5ba0a12a778f0b7157fc32d971dc7da4de7efc59ea5c4729bdfcb2d96a6b5565570225e6c70e572983a1e61f85d1f7c34158b13aff9c85fa4e70023bd99c516068e319004504e8f2ccce5d8b86ecdd692f062cac5bdcb72924804668b24a8ab49cdcbcc8ac7d9820b3d589ec13d881688c3c92d0e04b3492adb6b5ef627a33614898e23885d7162ac6afa01f83a82a1be496cd9bd4fe6657f4fe5903c09ace12dc52d28ebaf365fc469fff69cdd4c395821a0df2ef87c7259d87a27378c3465bded40269cb39dbb099332bd4268057f36b884cb0a9a8a72b5ba73da416120fa1962a95f651a0094f1baca2c7a3324bc0f01620704c1224c6f2c57fae3889802407c023781c710d7a507ea540b01614bc16a36ef092b856171d74cacc2ace517f77001e293b27e1635d7995b44c617baf794cfc3ee96cf526b10b239599fa16018c9e4c4ae6c1ff869a78e078118addf30995d9d16e648727539854e2ae2b5ed14558ffa93c274a6ae8c3e7a07bfe11a04ff6a881ee796727c697edb4feab665943948fff0526eada2b591aeb3783616bd92b18ddea86f72634d1c6a0b5e18c4129b8ab21d5ca07bba96a9eeafec855525b3a8ad1f475a724f368c5c35ed2b3f20fd124a1252a08350141a085da2880e32b97265a6ab4b4cd06054889c401ea0be16fcb9b645a4a2e39805cda20912e6c61ae567438695725f101f33043cea06dbe8336b11ad465cc1617314086212b7dc4d51ac19b23109cb62606c3e0f2d23d493169cd5fd23d40686d02362efc46fba77610892f47d72b3a796355a5496717c9242187f656d8108e33ae205d6d5faad16586e71a7d2722bff02e591e171cdc0c05e0e584faffcc025a198d42c61d0b7a82f3398833d729200eecd56da1e1572ff5d86be275992500cc7a7b5fdd65c689bf789630ab37296242d3d3027607bfc677de63769ea4022f217e29716aedce17bf32648e4fb382684d500fb5f53ef446cfd7e53c9e5026ef1369d08d9f050a3a3e8bdb1405f72494b847cbde3e92ed6ac5b002f46589d0a919d4209118d8b0656d7d8248f0172bad43d92b2d650ba352f8beb8264f8da3b8a3cf9b6b98bcc49ed9c96d429b272340f5558188597a329d97493a24798345903bc0799a8270fd10206ea021ef51e7a2eebf996720ff4e170340ac9e831600e28259dbc5432e6a392be8751cc7272ba0f0436e0faad86acffac7817c6f950bf7808164b5897a8115634fbdae7aa727ee2ecbef81409b3bf528b35c81e5fb8ff21a29f1c3a3357d698a7b3359c2d0bd819708d9c9be4b3fe3cf68c70abbce2ec257e0a8222b5bb8b47e3ed5df2dc62d80c099207de022c161b0e780d67dc24201d5c0d87ecb0e5b5f24befe22c0572b93b9cdfe752a16e36019556f338f76fac137ae12e0c30e39902cc88913b652f94f90e7a85601712a792eed1c4a26e8a996d723d9c0e518c1e5e2a8fb2171c4e6f6109ebcb0f0246e1f8e02aaae72e4f32eb9f9919d98425abf37eaa34b9163f87b17d6ec6de7073a9a05fe9ad497a85ea845a013192c34c1d523f62f7243a723d740aa5d618ffdc00c816a3a4f1938c816c0fcc440bf4ba8ae4b26355db4f7225e728325d11636e16fd46c0ccc26d16cff2ad5a57aab14a25d836d15223cc728fabe40f1ecf6f5676054a8e96d0cfd6da481e91ff90b61348350507c3f1357208126750d19ff227ef445047652c9d32d99ac089dec7f69a9a48be41a8137b368e39dee49013ead8ba192753423e83d0868c01dfa66f5c871ca8a3f0c68fa7725335a4495cbcfd602cf71aface6b0de876902d894b84f4b3ef2f2df49ad9045b308aa373ba8a78c6c41882b78480ad82768df7d5c64c05c8b801ef653766d572c190c1d231df30444796ebba3edf39c24f709e2f77aa5e52cdcd22944d63c64304c87e2a9144b03f1d57a40d0f3a852f8ee39a85c13b01e9a2700f7fa5361317abdd13a6174b6979935eba7082d9e57f24ddd02d5936b6c82b60008d95aa5d724f4e5a5bd4d938345ccbfb8c070b455bfd22349a068634e34856c2fa97effb6da884ed56a1c335d533d7ef14658ade1e7a9b2e823ef33b3ac526f48cdf25465da962c879cd1f0e7a51df3121228700ca6a043a7edefdc378f0d0822fda22cb3df47062dee7216f6eee92a373767085bebae2a69f3eb48ed431c48e11edf2c00b6cb96dd967357e51c51c24e043d0669689765e24e673855b1d4abbc267d3aa72191d91cb3ac3ef7f0dc3b120a746786c10d3f8f7072888f5f9c99fc484d82572cc85c110e4cbbef9d0f1d369550004be03741ddba89b08704ae987d407e4e572bbdc274afeaf29e38cd999c35fe32f28857d0bb920c6399326a295ad1273c5728cfdafb908634f6fc2ef9979a3556c71797bc3718fdce66a2f3f903d99831572d09bbf879ca0c2601f8826f356416ffe088b0c90b3d7dc2bee8f1b3ef87f6320c56af987f22b88d9322af52d10f7934b2cd70638b3e94a8122be1a125000d26a01189903235ec574527c23ac4b2ead798e97c80278d8fae4acebe9c0821cd372c434b306a36492f9db131f674cb033384ef1d781700e81e691f75048e1ead64a6e315e4e445ff0815a5bb17dc1806fc230ea47f15fb545eb816734d1820ea97287cb3dfe223de126987757d6f3b3b0ab64c899bd0a28317a59dd09b97a562672e3cbdec5a44dcd19834c5634535c42cec5a2a66faf18e73b2a999702d71ed5725693259c2b5534678923bb54e971c16362110f4494c95ea975d5ee8a486d6d07211added758c6bd1f34f0f27a621f15472956d7a07f28cc65d408a103a373372565e3c0eea273ad3e0adb60272ffbb4482c55859f556a5cfec4b96a0ccdcfa725fdc32b382d9c05ac9ad9ef65914298d47ebd9e8e4134a83d27011232ae2da72cda9ae84f94cc48d129b24a7274ef29e9e8bf336958969a5b153256dcfc45c72967d88a123a9a1a212712919802b390b3a44ac4c226d41310a0fee933785967204933713ed9f086b6788b70761432be92ece44fdaaa131763709d780402e5f72848813e93a1e24affc4f22f6e3f56ec9fdbc1e5a2cc4669b3949ebbbde18ad723c7b249a834895e4ceb6ecc6858ceb873f4f290b328c13b74120a29d9639a97214100665f7c58c601e16d68ae5ead76a4d3321d142ec074fdd5e074f997d724cb81fbfd45f3f33fc18438c33f01afad42e1f30084c1ef6ca747156a3569bc8559d12bab804442d496864a62fd7c09838515a71033a02572946fc4eb81b43616978a24fec01547dd612bf61e91de55fdc20c7f363819d453251e7972022b3a958bd87c79ed8bfaa8b455686a7258acbf0356c19722fb784b4ee4220bb42c4aa726e1cce5746e168564eb4edff47382e59f27f16ef9bf316d506cdbbbab57f387265d7fae124629c7e4e38fede7427b46053bf079b8a4ae89152d99bc3c43b9737b2b83586a48eb6c0e54e6b0c961f6d3e0193a86aaffe36dbf80e4fd0b27a176f2300797d4cc0dd3ff882d79f4769a195f2e6f7768f6a1ce45ba7f3d2e6217544209d3a67a09cd48a170e6231bcc4cba581b0b18986342c333f8e73155decec72140f80d45c7755b744f4d2962918c6320222b42c3ba9eb316fb5818dc525ae2f4f1308455cb2dc5e509244cf0b9ce963cc2a67703fa437b6b553fe2c5377536c4040aeb831e824b82d92d52b3563cb761d731c6b7ed2069f1a0f33a9ba97612a8709070e6144af26bb035123a6d2c2e1934bff1b0a2603f3d4244f582187724b3ef7d6e2fb188dd7c5b537784d9359f4c1d5ab651d0d26bc6f0b9915e914f5629476833beb4e3f49be059d0cdbee021aaf8f638903e81e12d9dea0d6ad8da82cb507e46c86384ff1f42c1f249c69dce4fbe697d6c07d9f18e240d5b8cfec5c12302de16079f0dd582867886fe1b220f1ce4ee2c3f6f87b1be1b710c243dfff72028681886e2b6de3b7efe173780f996c5642996c3401c563a43186f5437330721eb03e6842ba72e69beeb61836b7802d45c528eb3be22bc75528029a467b9e72c39773132c54f6b7b7b79fde1e98d88129d5107842dc82ce0d96b235d9fdf96d510811927175d21dc3a8c7b1670b509e15098ae50da5a05be150c60242d3647265f64ae6793411cde3fd6ff9dc3f8ee60cd83ab35445074a6ce87628fbac74725b401254700cac0c3cc6a3d09158c3e922359db0067a2ea9531daa9d242d1672160690b68eba17d471ad37bab5f23bff11bf529a62870b2f2b4c89632e042116ba862621f7b7c1a5fd2f2d6c33815f19d7876cfe0db6f8ac394302f6a9e88a72b6afbf862d6d86e2beb602eaabb5424a6d81fee6d3ae4d9708fd00a437fa7f352adb95f5ccc241bca42f18c6002224eab40cfd8950b045015184c2243bc1d33eb1351863ab42ce371b177c030827b8294fc71d5713154d9a0d2848ab2ee487728f4fccd1f520af16dd0907d355757e856190affbbbf70b455f3d682c0cc47509f30560c546517e84905ebffd6b170f3c10d67ae5e0b5be339fc90287971305727d2b2b2ef5ca8189dae4c7eae5567b826eb010ba48ac5cae4709860dcfcbb672828525c1a71168d3a0bbd7b113f2cfdf6e7323507bcc8944989c2e42639f1372b6f36510df08f9694623846d3c95a40b0544e26d11ecda78356b9766255ec858f0c6a6a144282430bfde455b857a29befcb4a801a443a5eebedfc97950491d37d4724ff50891cd3bbb4a073e67507b6f4e0ff29ad0110d803a933c74beb1a570de51bb94a37277f04f62f4d10910583addb7698e021d32d00de304f853b83800ad231b14894eb5a22718c8086aeb103059efcc6db116014c612b67abb4d80f0b0111e37ce47f22a2086d7f3b4db293ac2ec88fa2e533c8f4ffcb99b554b08f72d7ae9d7f52c47627406089536ea21f4ebccac03a0f662c9dacab5a587aa9b17299e06d68a355797bc518fc3584bd80dc484b6c3d0febe9abc24020ec13999472440fd99005cf683c6e129184960379bb437326881cd35984c9b88c1700e3b67269ecb9a1e43737d6bcfb5f06c3e78ad1926e6ae09ec827600381e87e5dd90f7262005ee8e71b7c8f1cf69b9b6eacc8b2343aa427ba5ca7939143c77e005b98577e7304f217368db1c4e9af1b39743b5b6013290dc164d6a093a39f033bbc26729589e705a4f2bde7ac48a268d923edba69dcf9858403857826ed3e4931ebf96ce6c1e6b1129807a998beabc98fc24025a95fe5dbe45d77345e6bb7d13a847972c461675c4969e526742832170e8baf48366949ba911c020902f6c0ebefe4ee5960d93334905de9fa2b20f647edfb372942fe17a67f4443c6e1afc563fa53153f3592fe218eb95a745c61404ccd899ba2cfe8425edf528ea9994af443ddc5ca076e4f381a7515a0391390051bf7b1145f22ee38937837d8d03107029b5559b02de5395fcd1146ccfff8f1291f6956381bb8643ea2931c6804e4a81ad109650a7201a827902f46babff4f5c20a5e6eee4c071a40172d6a5ee36703663164a55548517a15d0f4cb4f8a901d1d6b074a38588771634a8fb1b3a6119a6d25ca129069d8f1338de4ef664ac938da6a3e94d86fabf939aaa3a2b952dc65a23b4b8b9c65d6614fcca44689b9efb1152bc46682f4b2f02a99d5aa8d0131cfd56e368de61d03bcb7272211cdefd12cc4e973e74085ad3b60d9f89f9b9283bbefa9ad35d972a5a518585a293861823b878d673e2f8eb27276a8c50e222a3c9df39d37f255306aaa8f06922b75a0da614db8dcff10bc0a6816902d3c6c7910cbd52e1569a04112d22b19f857e15191e53ccc1f6b0e7412d863daee96e5996333442709cf8c72e30dd30849333ed62859d133f886699eb99c588e47dee2a6fd968fa14eb35a7284b4f97d4ee9e34d38f8df0147a616ba6b13708b3e64da0dd218b75ef9887472399044303e414e46f9338abf84db3e51b0962bce5c8818920815701766e8fa72792f9f7a21f67167749e9bffa1eb8e698bc28a848016712da5049c03fc095c4a813ee14f1248067a3647df1064abb72a59e92b83c72bf31532174cffcb926935e56f8f11af446b85256a72d7fac55a2cb6f958a8a00d7f41aef5024cd5980372686bccf3edeea1ec21c3768ca718424a15b743314f10a8679584d20d464f6c34f89324e3e27d8958d8cf7c6f91f95708a33d2c96ad167d5a1512c51c159cca7202490ad89321e9390ada3c9ebad8df0e71ddd21510de02bdd2943bfe571e75727f2ef5e489fdb8b57a8aa95a29c1d607143134a0218c0ab07fd3649de0523b7274297ea78b44297551c33da48d91df14733022f2a5e1ddddbc229573d2e0a172324350d776c93ea3c7b4511c42b5bf7ff431571e4d04df73b3560639031b84723af43dfcec32a93d8e8ccea38533af17693435abbfcbd137486ad325203e0c72b3062ce686767bb537aec3f44068d461518b793e853f3355b432cfcf2cdbd472e9ca67c0c62e7973fe7545d66aa57e34512a2aa387f6df0525bc242a73854a00eb57a1f010992f4ad24bba627aeb1b427390ffa11305610abca17b80f4903d6d61ac89eca8489847fee4d10beacd278d3a17e453a15cef6210f40c3ac36080729f63650569e3b83160ec7f61949bd53043a1b7d87a6b4412966c0b7c45737535b5214bbf5af84c934090fed4e7e6615dd0ac025bc15621ef7cb79f7e07c37f53a43a624465f14c7b09b7b46a36db1fc93eb070b36c11c2f764333c8f47359c728b26567c9b78b588a1c5b8582b9508679e7cb66e7afbab81cdef2bbae192c84c07baba11c3c814b40f3e45e90e407a783859ac7612b38a46ea406872e99e5b62ca2e28a2d6e42d7e022a8d4086879701e6b387a092d926f0e94ef0406c8d8b05b5a8ce8ebdb9c3040f9bd9b0ab6cace1eb7b3cacfcbf8b3203106894b346617288df732f90c572f78e890a83c1438aa9e83607bf665dfb9d5dc9e5e79921e172b31823dda26c6cac8808327672cfd97347867ab2875a48c0521d7380e7e3c810667453f4f466300c80e93d11190dfd1d3905428cccdad852b87b4eca09856a7225b90d025b62c372b695d786870764b0b35da02cecb88523a1fe4f71ebbe9c2e7e6c5de7aae55c953d6c65317962cf88f05f70fe6b8aca7101d214a979fb667204d50b6e93841d3b23b4d3fdf61cb58ee7ca8bfacc53cd3ed915e93ba33bd070c23b56bb484400f0afe1a19932879290870dad6925cf5b325e3100deeff6bd729f3dae9a8d36d49c04a3d32c412f69a391acfc748c749430efe74f4d3e410f72018a8ceca7ae6f644fa17a8e1f1bbe8979fe3501d2905cd71ce4f6aedb66f12d71b70846761a9be0dee773ee6365337e2f52f89e60dea99a5f8249130089b9728268ee4081eaa647905c3610f9e458357abc236da7d7e4ceeecef683f39a0472649d06e8d1b2b23bf91bff67172c4be833aca7eff43e20026aa6078eaa5e742ee99c37dfef24cb50aa80b7c35d81e83ce5c3c4c9f84c0c21d7c99da03960e61b87ecc1ed16270fdf8fd03516d06d8650ad26ec50fa8fb5977f5ab89a4453ef56b5286215f8de14f849d73892577ff3a9e89b9c4e3f663d5ab791a9bc8232697253ca178e962608b117633730619be3cb062c662e01758c15d05212284cb015728b7f456fd1d2f83d2f83df1e64bbb43699610f9961096c0cc9b3e5baa52a7472a336d43b2fcdb461d2ed867565a9e4c797fb73790cc1081226f64c2cf18012723e552373f0101ba1b4887887701e5c1ba24328fa276a7b9229ee99537a73be3c70a14b0f06c2ac3e2ea2b5a3ec1141a47eb7b12fbc65209f06726351fc037047e7ebc0c5ed85396eb14fee626d217f1eb9bf3edb2874df467401e07a7db52424169886c756e157a2cf68d0f1c6a2f4ecf35b596a0c5cab660d95c9b236d59572066e22f607946bb6cb8361e9c077570c8ae76051e7237b9849758922e6beab72ccd0626cc99ac9bf2b82df938b7427c072f9fa254aaa423b38527d17aadb0c6c4687850a9761e84053dafd28371c45e3ce32aa5f9555b5c1db688cadc7da4872756bfb8616eac6e90a01df3303186bae77418b2f4ac20ea8a86b10f85d73975ed7bd2b0696071b153aaed4d11f1ab42ed63c7e5ffaee47fd09d19c40294bd855baa334f10021f46fa66fb9783ecb5616b282bc167fc33e9b1b5321b7711a9b72fc1d0bfb5c8ea5f239734810394094526ae5af54aa17a44ef7f44a581d8afa7240287d7144b35c846dbfba57c7c785a2dcc8b6194e574d7528d65adbb490b77222ca91b93f5a725723e071736ac33974f60b5dd1bd1d4158ce6a7a705513b272d9bcf67800069d3c067dfa8a91018fe4ad871f884a54ac0ace27974a22d9e7586776e8aed2b0ab08ad1afd4c14dbbc65b3cb2bea86a120ed29c82ef60ff1eb6e502c675199f246ae80b422ad5be787ea5d35d83dad000ae8b7451b12e59fb368ccc6c34ed7d017d785a88c24595418eda1d66cf38fab61030bca60b2d4185372f2a0accfdd3a7b29500c0be907a80ee79dfc766c94b417b377c6c65cce19f4721d4f8197ac82696015ba04fab5d84c3737ba41b3568642315d4636c6d714fe72c04f2b010a367cacf319bb9f5670074b71620f5ac0c57ad26144ab89a0e5e572bb20bc717bd0c05a0c6bc2b343300cdc8c26c427349193c4b0e713126e68f54feb9827c5124f93fe9d923c76ed7b927997619d54ec65dc05b496093776278572adc57b6b543dd754131108d1465b5bd9bf3362a587d2e15bb1bf5e301b75be72a670df22adc71c24bbf158103f7c063166b7d869031cf9431cd231d15e58657246279706398d1c19a90ffb00f6f40c6fbca1252802c94206b7f8f22ee401610692b709100fc0fe13403339518f0ee1eb75cf8ba1c3318e54efd2ab8774f14a65fbf8d95aecef50816a1a62975e544c79355a8d09e1d4951c412fbc88b2cd6072ea2220e14566e73dec22a7aaf51b2753c2b5a812d2cf28c39e78279a13c7b27268b51cb678987ca3151310301b01d477d0d85f31beb177c67e2c3a42e5488d72fe946091db9a47176fdaed5183d93188df6d90fd2b186d9c8369a40faea62172eca61f2d8063f3348ea3909dbc5e29f41c4854130e790fbe87747d0f1fec7a72ba98ac257773e69ace8ce649562fb75eeaaa696e5387225d15c54c9adbdac807a90adf8bcbfa688c8042974c86dfcee606125c38a782becc976e2e15f1c59b725e8d1243008ef575d57c838511e34b38c5b573a9d24c8f228fd26715aedb0f4eb3ab5040cc7ec59e23e6d8a3e27ccd8416d067dde0d1d8ad0fa0ff43f24a177227aa8fc11ad98b85f2f1935ef15a8202954238ae0939452d543bdbfae970b727e1131e5c6293d54ee12f6082540ef8610c6502714e47bb759e3dce0337e44c7288dd0737ac2e1905e9cd349c79d21c3998d3c2dc9a214c63454dee69e1764772c1880c0b6caa495941a8de0e33189475dd0007f1785e3224b1621f434420e572a964d3142ee72e1d7c79b70b78508d18623601eca284b945696e8abb22eb5526b18014ae31de321ef3aaf5b559dd6b6324339911bddfd64d488978bf51880439f971e8684b7c6fc60a24279055087a300c748dec57cceeeae897b6adc3f45e72eb15e2714ce5437c7cb5a9b66416e70ebfed9aec828227dfeb6335bba8eddb4aa374180385851b9dd1dd6e3c64b5c174c973142be1c79d0abaef75afaf275172657f69f886c6c85bc171eb8901213c865de05bfcc403b8ab48b184540346006aad51c06d6e9ac06995fb11304c35a59c34ace7a1b70d5146dded899309696772d21b05dc0faeb86bb293c8a9fec5a1120a54f6ac9c7cebc371d526cae2e157722886744c191a3782ebfdc396eda6338266f3b36c0132901298f0ccba5e8d0f6d0a71e01b8a573a71712e8db5666897b04cc7ceb502b03e673533f26649bc7272c9fb825da1af6a0f66c43c73cd3ad89dfa0fda0fb732d74812954279ec06b4729fee0155a840de9f029655b8ff339ca1f78135c8be1847e2d9e98c0e2661277243eb292f525809a7b93fc1f6bdfe8db02688fe99507703475bf8a10df9654431b96466dedae4532c6511152f257e43f04feb0b5ede3a1a758ee1ba8fa86a9b727505bf42fac6dc4c4ea9c17fc809f4c3456fd276c7da6b32532fc249e66d927293ae89acffd99e5a465be7d12832b25591f0629007509244ded626a0f31e553915d499871c37907d074790d1f84a2638afbbe7bf8f4a3aad5c11caa2603aaa72e3432f7029ccabc9c177a721086b9a2e1f44b8fc25bbb68af1d1d85d2980d8723bf2a7cd88fc39c9d3a782b6776878ad88b39e6a711b456a9c9dcedf6cb9521d1cf92e652b4701248b4ebd6e7cb5afeaeba8da6832769ed5d4428e2853cff27290ee493c1de3d7d44ef08e3f66fd023fc1e5769a45992264773302618c12c73374634b807b526b73683031960610b5ecfd6bba816f25943efd9745ebb18e9f7248bd73e065f65dd2766b37410736f072c5325dd5784c764ce4af9190e3e9bc48d70da73537e694ead101522e3ea7c1872ffa5ff1b9829e9129758b46b677251844fc301fb93898cf70018a71affc1375fcd92d7c81ca99c2282d801c15b8381443af6b2f5633616da4222ff707b789a8a2d6f5ea5b5cc934afb3d143c2c1c115eb23989ddefc575c03138194edd049460eff765bfcd2e8055663fcdb73c1b45d9cbe6897847c964c91ec8047cbd206c560e419eaee625b82dee8cf3db8b2c272cd1cc1dfe9264eaf344114bfbba15c7d808f143e75f738334702495280dd5f725148561174696ffc8e6861d4f6ac6a9d59c43596abe6b884680803d2df6344721f7bdd0dd0b05d9135312272eee5dacf55e634f2d68409e956da751c980b58139fbbc56d6caec51848c2ba3a06bfe27d478ab9294f871261756086b029e8871dee34d746f30dd27255d842564af68e86bab7597a8090ec09adbcc29052fce07241a7166ea2021adfce872b1ba4f139d73fe9b63fcf81cadc72b32f3af024b5729d28359b7954456f95320bbc8b70d103669e49d33d512a841a3b0151087a37727d37c1ec8db096659b3b974b4c06f3dccd3f7ae1a61541e46d6c6b5d8854ec72c998e81ac7b5e6561c22ca9b1df0bfaa32070457481f19590084cc209c635c72b49cc21b7fd05dd78fc4578a051c19ee2532be14f26693b059db41f0d6d5f16083cf70f71a24bae55394d3aa07b0697e86d88d52e2201c6a2bda53376196160d34af08c36c3e09bfe5a820a2b008f3b463c0d14719754c91c0e1f0f0db1e99724c706a6870422599bdb3be69cf5dbaaff74ab1934618eb9b7cfc2d4e13a2432018a6ebe10c863c73ccc7e1283dad681d711d947e9e61a77dfe7ccb27708b4672d50c9d2a29287e880eca4538cbf2e046500e1fc5b29e7d98e60685e3ceeacc362c249338df0cd46b440c8623ca51f6ceccd0d65a368f675539e4994eea9e68728d35bf665337bc36762986b73e4d1d989c918dade8937f9707fa799c2f4e58724d2a059cebf5095f9888f61ab8b86bb0961bce36299e81bcf40cf15fd30a10726ef67825398dfe6cf702cdbfe997c6e017e1973d0f2e80051ec45c9a982c1c729df803935d2ced7ff60f220b5cb26e7bde68e4fc3b21b76a099e4e217b3f1872aa374eb5f0209b9a38437df664618a7db900b57d997626fa0f55f884f9dd1172c30f7d352f459eb7ee96194bf326df1e2de13e35f0a398fc07596fe522ecb072693d9992f30c66346ad7d74937be333040ced95475be35381462f34d97064b724dd8a11d2651e9fc5745aeeafb7e0d827eebc3bb68d199e3a445e6e66e2c5772c4042d46705d0a4c090bdf5e164d4a6b63d71e92d33b86455209b6309c1b4d1380f17f31b555144eef34e61b72d11c101d27ab0bcd04a7f47b22f039faa921725c876a60f3d1404f6d7715835f6133a9e03d0e7f0e49a0a49f9325bcda3cea17eeb3d12c5d3849ae45f71518ea8ab14066b926b8767f92ff507a53d58013891cfb969282f689bd54ed54d06ce29f7b0025f551ae777c95200cb22768dfef39721179d52e6d92dd86f218cd80df7dbe6d711def5a0b64f74a523742aa6dab91726e63c1d7c8be8835149b98419b5b7984189bc4776a9c6fd3307277bc8cefd0726ab95d86e5cb7905dd5b5b1abe0e10975cc8f0bd0258b86c05b7be400289c972b7e71c3e56342b1a222f6e68497268c8352ac33c589b9fa0bf34f58d10f708729224cfe0b5a0d39901681df122d5071554f8e91f714f92ab642552adcf937872aad0d5824c990f76e3117ac8a5ee6f88cf6c3956185c22da328eac8e39c37172ab81952e023bae173f2977073c01ac0e520f999141abe0d9c52b59be39f29b72b82599019855533d6ad8ce81e38d942210229fe27f2ae4393f4d67053416095715c18b93f99660c8a5efd28d8e6ff2098e3a9889b3217a556f626bb11682cc059f190a56d66a7f938b4a003592ce6560438e3a17d051251a523491a06a15ee722eb0ed6a22bfc34505b3a32458c4093e99b2fceafe1937c89fba340eed15572b9a5e1802346b2d9463bc81092f0ca194eb4bb1ca32760347b6102758fce7d655808b520b097d0bfb6ba20074e3c53b9febf7268c707724cb889993c81bd3035fb88aa5584f4cd08b51d38af9568d1e7b7a14683b5c27199098c0dc903668c41621a6dd8c1b27d5e0ad41e88c16e3777043436f6af889eca73970c82ec17a5072839be0231effa326d0a8dcf1664396e9acbe4fa9e76cf51f3c35758f38f27937a84020062270cd1e7518a40e2eb2032172d816fb55fde98ea1cda63172f54706d629f6f6a8b299ea9b127abe224a7f6599c93d6e745fa6149fb2d83156c90864794b1cb8f891d1a4b70df8128ef52c7dee4f9d1993578f88a8b673a507aaa77286264c3dba35eb531a40d2c49507fa65706bdef23a5aba23cb91e3aea5faf372a486cce307ea4148d5b4c010d58e0184b3c5463b1ccb71067e278ab5429b80563140eb59f86701f07d6ce2d6fb3efdc392eed5d5440aaa5d975aae526618290d6af8ef2e10ba11b0d65686f2f0866c1473481e84bb8a06c396cfd02b3d2ff37229aab21d2c3a5591b16c4a0350838ac3f1b98f586e993fdba799428b92a2f24f527f6958d922752f23b62704bae5190add8ad91dc43412a63a841d987bbd9a72cc1f7f41104405469ef2c95e5a9bfa0ff54085efea82d84b3e12ea03f20236118a97785f2a6ce23fb2261bae96683c6a82c291d5947d3c951cd72d75a2b5767281412494440c5a6b16876ad06292f06ab8e2be7100610dcfd6e82eee653ae76980863e3a64ebd8cf134b05f1cb0b5fd2177b516e1162e736ddafde91cf461b72bf26d0ae12928f5b379dba2feb622445083fa7114054422d6ac00bf1bb4f27726e1bc83f45fa16e5b191ca448677a1e7fce023d073fd53dd1b311b9c17729c7228ff896785819b3ce5d4248d9cc16cbbe232419bdea0d81b46181fdbfeefcb36b33f9f11ff5bbf926fa4195aafb0e7d09b1665686311427e98b0c65a4b10c4727801da694dde5d7f9b3d20f83f1e5fd2e732dfff3ec088590e2e6c6c84659c72c5319f1ad23f5c3efc7d0fb56bf0be1302b0a1cd7a172f3eb93ef39f75ea835335a6d2787d73c52e2924181445508418e27cfed782636ec3fcbfd436cc0b1372bf2b9ac919a24cf9ad4e5ec6e994d8dd12aace1a179856a79cc6612632d8f27227c35097d9076994d6135c2c0b96977c911195f35640eb08aed2f271eb9bfb2d9db7147e9cd6bdff3213791fccb91692d36f3755643677a25d15a5cfbf1ee9238cc6d4b046832b6de1ec68fe1a5932a71030bb07e91137e93f36d994b0a98c72ab7b843f8aa6fc0d29a0ed7fcb4e97f8393cd7d05537b05f684672be26f992720c45a87e69cf57fb56f0b8a10d1c1cc562a766e126dc6f2bec59dc8094e4e4151641f866594b161f450a5524e1e89d8fbfac54091d768de6bfce383025efc372b2d3ccbd80934a359a1202d918c66b2cf81be3216a0da569d518cea8c45af7725922c1922a5935a1d77f0e654fc0d24e75337a03bdbd25958dd45ba146cf4d118bcb11bdd4506810d37d28b8cdca26a05859412b1daf7933277ea6f8beb2ea7294fb1119988459c30e2a8f99cdd94ca238194ab8121e5ecc0196c2336774ad191505d9b3726ffacb01a0a6a47ba5be2c6aefcad38b9cf3e4b9322b08efbf73728bb09c19c62c8f69bae31d3c4af3302972b518e74678516d6d0b4ba65ebfb317c5d9a27409573d821e954db86390bcc512055734b739565a4fefcf02a8b149723dd6f52af7267520ee4f5991d98811a7d1e420d3ceb5135a7c4c3865b1b626726211a6ab97efd8926ed9281d6179bd2a6b245eb5e0e57723c9f87834fe4efa72eb3189d8cdbf09f6169068b86b6ef7917c5969d6a6beda7276660fd0156a4d272653055345f2557fa4b44957414abdab8dd56acca2f87cfe6614028de104741dd90219625e4b58f3b91759f80381855c6ccc6e8be9a8da214dfa76389bf7bf7212424bc8ef74853c62eec6600be191a059375b8fd038e82fad260a725f8e4d725394e00d35cee3e12bb6b83c4f0f8520419e6276aff300d56985b8f6bf77ad7200f45c389413aa36e1b42909edc3caeaa29c70ea6c57c8c4c5239ceff1799862862cc56f7d9aa5724c54278f49a9cc6fb0a7e7ebeebac8e72219718bb0617e08b12d8b8bb7b0690377f72798a95a32d0208374e205d2f430eb17417d57403b70eeb1cbfcf806110c5c157ddff86d46b0391e3c2868ee470e1e47549d02dad772df1534bfb83d48a30e859bd78cc436b12b9f479fcf6368bc85a30b4a0dd310727d6313e733de84998bdd2a20e8b344f7cca1ccf8eb5953bd45c7957e202c18725ccd14a4eed4275d443fc56b0cb2c1f58f66865b462c7294c8b76f2c6a3ce77245d5b9f218635843fff9047364bc4365dc7fa162ab46a63035128a1d043af1537b20404d12d8772851c84aa330e9f8a3b7b83de50c12dc776d564a3d9cc0ce72496edad59f4560d26ead98db159d974e174ea334a64901eeca3933b25ca179728feec09b53d4e1819f3b5017eb832fc3009eb52c9dba2277d925c27281636b7272041e11285560ca16b535a06d49b301351c1b4aabbf2f7420d4f86fe0e6c27281633f7a12ea043d0883464bc9ea6c65e674bed77a54f3d21539b7b0a3121a175215931ebc1d5831797ac80dc12f473566572526309744e5746d06def608e872733c5c0e902cdd4947d4611cb6e59a3fc64ba1502155f047f66ae246f61283727fc18f50aa8ec4a00a230423f2ff31afa72fcca7d4f483ba5257eb33b5ea36720919f8128d9cb82a20cdb0b1cf18abf076519ec643b38a6b615d652fd67efe64158778a3e3322ec7df17ddf76a9eeca0312d945c77b3164fc713c209c2bb1b723790cc0ca87ceae3012ee4c76c75c03d6520fda04d69d79b220f39d9f4e6a8724c962e5d48c416e661a9876cac31ab17e4bdb291960828f63e0d4c0f9d7762236ab43859ec9b4892819521a8b9fae040df2ecbc0c53e97afc6b730aaa2c2d17218a1db88353860f09fc12265b94d5dff6ac21efc205bb9cf06c6066a578f99724e75eb867319a3a44869e508a923916f9a6d5597452ca222d3e8c518d6a6e172056ca654a6014be366b36c91c464b513997a20a13d5f9a92c53b6f82f6de85728aacd0a8a60112b1f3feb094cdf3bfeaed6a83bb1af2eb8ac8c43cffa6afbe043ddabbe927b2f33d04bc07e3d80f91a5cf98c40985b267553d2d7ca3f52b9272d1794548072633b49f2243eef5044e1b00fd7f3943a161ae1aa55e3e080ff144eb57c4f8d6afa2917ff4afaa839304c0bb3d34d7ff57d47fc74410f3897e371eaf7e4de78d33e25ed7b15e7e8b0c991393cd271836d214c6b652b79effc47430fd598738231e2ed3729df4277d4f558bff49ba61fe4c107581c5cf41a3ad274de43af3dedf75ad76cdea4ca0b20bdf38860d918ae6c5d197026987b58365f672f004485f2ccbc59e6965ec11fd05d619fdb3e5e93ac1ec1194d45a614fcb63729019b4a0868ae2d30ac91209ffd8b9e8e2750842fe06ec9e036148140e903b72e8bcaaa1975d7ac494a5ddf1e2580602aa2bc12db55f212aa59ccce130069f72044c2869dfdb0e529bf01086807036e59adf7d5ca0bfabe9036f6da8c2214d2fee4887e2b6b01562d70e03dca24b3679f23047f1d2e6530239acf6bd686bc33f63524f7724f9b54680eb7a27de9938273a80d3ed87741f4207780ace6fee7d72c0f05ce098ceb497ecd4488af2b3f538c4dbe8e249331c06e244048625f05d47a0c2eb9ce76307495b32eed777adf398cce206a2e20062b0092c15c8c0ede672489fedbefa7049765d07c376f3ab1cb3a26b9840a3c250a0d47ae71a5273c972501d44cbf47a47ae657ff01095a9de2b04ae88b942629b40df849a5ad336780b08275bc210a0f2536d77dc7bde03acaab69dd5f4c70fde234311f45bf1fd7472a0150db03ce65a95243716757b5c510dd1005c1846fc615119bfc9636ba99543828bf0335f646f82ec60d8f53a21b827f4bb574a99875ecb05c5f00959980c0b2e627b82cfbada8b833e4345702d190e4eedbec4d211f7a28a9f637b17e36f39c4e1857b00180d14c068d31b619b6afb7305ea2f0af90692b120d166eeb9465e9fe1af21eb21a3ed7f3b9018e6ff6c4a991ca493cd7fd466672a1abd36b1da725cfa2ebf6335eb08febe09c17ea812e1468117457771233a7f30c629545992728a2d4a3ab51bbf6b2f5243b7a25bbbc92dc2d1970d95648854a5938511505172ba3a1b9ced94c703421b0766a0b6e4d1605ce406a39631aeba3b09f12e29a07222279dd6431ecb5852a6eb67ba01259210155b6696d027f15d728870aa02d927fcf64e8b7b7fe681fc5e286818b54ea216c9b85846c9548ac77b13e063d20c722481f351318216058d361d405f0ad3c40f7911a19199df44c88383ab8e009b72638cc4f4c078b9a1eedf74892fda303afcedd0353e01d19c8c7b442e5d985f19da673a62191290b408467e8f53329a8aaea4c83e3ef71ae9e45ed08c460374723cb4f63095609fd6db47a15343d8096f4eabbc31ffefff25988d007aa0666244b159e35042dd2b5b1aedc54b90172a02d337beaaa99890135f71bb26827685722b60d4e9b9c6885d3c10cc682e4858c7dd89968b4cf6a6ff7d8c719df4bd897297201272cb7fd87a2f13d69c826e831a625e2b9f4369ef1e34928adb46d11f724d05a76baf235b4cfb4d41ed7943d19ee60f6aaf549e0cb73b6ae03e1205880c584ebd1406a71f6e39f876babee95d3697a6e7704326bfcd0a4dd3a85cb2df335d66a9d6ae44925c72b0f49ca2ffd96fd3d9334d907b69b4d7970a2aead8a03ac11897d9f7ccdea94fc5a9c961351bf45a1c5f4076e97248bd3320b9997a7a3202754fc52df31ae2ba6bd2d5456939fc14c0c08ed2f8d77b0475d20a95be9c72d0afb2a5bd998e43339c09fc3bbb4b4b5318d09dac81adf8f48e47aef8b85f617676a08ee56ee4a27527131355a1c590a8841ed49ba60363cfddab9466770e2160f781c6788ceafad43bc988613508850486e76741f2367545af399205eece7261955e5353fd539abe155a9d111e3642d0b0ee076aaa7daa7a94bb4bb26ec14e4329b6fd03ec53e08a775f4d776abcd9253b100cf584d337ffc802fac12d1e72c387e507015eae206947e431ad536fca363df410904d2311a7333c6fadd1ee72aa47f46211ff32378fecd205199546f99b49e048cd9931c4cd6114f37771c80983783884407bdc8bdc91c6340f2c28f2729249525b649ec3cc1d49e42a3102102d30a7d5b9be0599b0d66bdbdc6b546eb5d7fa9ed56fe187952664647d04863568cabcc796d8e9642652298dd0b22ea7fa0264f96bec4a68de28c86b76a7e472ceef0ab3ff2949672377820f0412e08d98f8f45db3176fd3f19cd00d78fb6542a21ae6427bf51f3b2b656e719a0c31d39c0d4553581f2632c5d40336e3e37672e7a76c39aff2c6f879651dd419562ebbaf0a84e9bf7cbb95bb9ec4d45ca4f66644bd4a11965c3d674ffd1706a9a14b9c4e27ba4f9266edf39aef81fda759f9725da404b76fe6e3d51ea09623acb48cfef00e7c0ccf3117073aaee3aa2edf2272c4f75c606f4ebaa002c2ca7ada1450af7707416d2f30279b1f0672f3b1fa324068df1dd434cbe9c5d29665ae790a0824ae0b385d15741e6587aced07d2c37b72af8d8270e214791aa2c866223d1be62507fbda7e3a78f3878fbce378c68e5a72980571fbf4be6a2a895819e6256981a97fff243399afa73d1190886e72f08910d622e8b231feacc9eee12a7e30fa0117cbcf3e5922520371a9f348d67018d372b12eafde0b8a9e43cb41cfe6b92a70b56264b144ae3685cda90851409365ba4493355cc9d709e4a60978c8fdafe31e67d65bba9228c9e1a9598c995ec04cdf722e00d2c6af0f550134fb843d7086cf759f39b0957d3573807c55addaf9f77262eab185323c2299cb5a645511717caa1323e8058a53756ed38b443c4e1d02067228efc1f54210fc7d1e5f5c3b46ac224acc3ea3a3a9c9eae395e2a5ef7b275172c232ed33ce395745b89b5732e8e2412912276af51e7a1bdb14f60d2d20e1167292cbd51236d8455e2d3a3af09a06108b01d951916c8c2ab3f3cbec5995cfb272fa1ab13597fe475d9c63eb851c43a57bf3a00c17dccdb7775cb45224bf83ce1902335c4db424cf091944d77e432a8979f727bddb80b043ce34e2149b9d88c4317f78a630496ea438d3c9c202d86ec09a4325d19beca14dc47d663a707ff0b531518be9d78b3ca672b9eb877dd230c72d7f682135ee27bb2f1d4dd40343c1f06e6a16962abec6ec056fcd382a59a0ae63ba70c5d24b4c0ea80287df0f3d6005728e64dc49fcbb0d1f2f5d72e73367b80940654088f742d355a4ab8296f2afb43e40f473f851098e7159f2dd8bc84ddb01019a3e7d5e0c06020aad2266b0808f4c4d113a3e2601474635f10b620166ffbce8dae98639871f05cb0ce167b256e27225fee4b4648e08b80652d2551574b4b31fee70be3a28d2107593a3d976694a22d45e3a2700c14f791ae02926ca38487326742948651d78a1b6833d10b75faf72f083c6b6a4c73a222d36819e3bc7f3a3b87c11c1a4d257f343a2f7dae923be0bfd960d790e4fc06cce63839948ebf3392b20ea8e9619581a89fc190b4baf8d46137eed677d675826d5efa5d42a831bffa8707d16c1ecb24a984d4d96b729c572059c4237b2253586ba04888ef0d159530335e6b57b279c01cb9135741ce59a53ff3bdd9f1a93924df7f471293d28ec0d8f53c1c2c5fbbd2dd991961b4bdaf172bb2086e19c0cf3fb206e57e7aab1d4f5f01b21549019ea90796f2be2aef6d442bc407a72090df2797eb540799c018991596541c39179a9b0161e21b73363761854951097f1e1ca1c26ec9c6c3c0832fd0d2fce1dd9ac1b447ed8b1eda972a3117d358ff0d18abc76b1a54e27dc7c48258f620b1bb9394525a48e5376dfd9ce72490c8068abf79afa5df89afa66049b9643318337d967484f1389f2f683d0d6723e143e7a12b9aa08fa59cabb2b84ec29905f63bdd6ef97309a81b775f8ac2a720877dec6febbbcfece3ee5c2e6fbda53a3af96015c9f13dd3ae3cd46418157720b73828850514de17e4d99631a96cd6a6a0b273cef07c565b4554d17dd298972e207c90e92aed1a33e5fd44c19def847ffd2ef57165a6f457e8730c0b0720511fc83323e7e075e13eec250d901ebb06c059c383db365811c09f3fd0f48cee30240369db5a5948833a0ee0b14f303b74518e08431e2c5612a198644e4126f4d72b47e30d9ebfd7f284a46da6a3cd0b1e851a66d7ac56a4cd6d9244ea788a891724bd5e8f8ede0b9e9abd58af2e140cb6a200febd4b8aed7f84f17c3ad0eeaf6723eb47dbe98efcfbce01f06bc76983367cd83c9e4294e114ce5074514ddc45972e7cc7768d8f57a1b54ed3fa7f227d64af50204ad75fc637d74344c7bdbf3417206612762c3489216dabd4ca2174333b636b5fc4ed28f9bd4f190656cffb27272b3c1ee5c86698bd5d14f2aba746e52b926ee86791cfefcae1c794b5113c624648d66c5c3eec1850cce3314d46a0a79be500db437d86dbe2e8937f38c23c35c721b5b409c1588dbc738364d8d1ed417119468d5a1bb194ee6eda2caf5517a6d7206528c0d79268b921678b4b2cbef30f615871c1e381c52e476afbac930180b72dfcfc3db5b2765a0044d47da3c914237ec2d97d3b0bbc24e032788896e09763e029a21f65e5a0d9b15f60864137066fbb7e3370e0bb06c181cb62b1b37350a7207f5a898f0fcec0115d9b83cff6468e615e84e076360673051d690d6918baf72683e2c1882f76715426ac65c052f746c41d14acfc0eb31a1e01052a6e076d372fc8ed290bc3e44525fdac372bab12abef8f5dd7d2a542499cc23585a9902e572af2117dbd1235fdb1715c27f664b57d7b2c41f7850d6fdcb72d91e87e9dfd1724361e32d4edfd8502d1f1711c5e36a8b55364028a1ce797cb532614380596a7237b9a6cf01e31be158a9c6972185236903891fa515c21a88275c3cb5e05ec63c2d30c8fb9d0e9a6604440f5554024a0ad37325cc55ef782856983101fe3cca19b11f8639e4ef1193ffe8ab20fae8167da61c47040a116f081471dc63124e2e7221c95dcfdb9d8ddcc52d96033bc6075d1b6e8f3ebb7353d3b0ed59140b611d721739391715cb6bd0aa0813ea70d2deb9b7330ca77c47c5f115dc8c561761d9724c17af3308c1533d2f6400646b6488cde0330c4248a97229d6a9a202f445c83ea90b2f1858d9a1d3fd7d9e12cd53ecb685b5423474d46870acfd772b0a4fcd725b711c64b2ca2c4b6deb7c78808a79c22676749b214c068291cc4904f3a61c72c540c361d7d732332bb53ede719f07ba3b47aa6b9e79a629d8503d01a3a88372029643cc212752be7cb90fbab2eaa422e1ddafd93c1c4d85b7be17614d167e72aa00ffc254bb6238d712126114e8cbd5c83507c8d9b7b5f1cf924301b7beab7251c8ce8870c476c0b7a2f270308eb87c4472795be529da61edf9a2e07365a8729721f05046e841727465b717bfd51cd036222b97cff8a7d7e3dba6523fd50e53f04ce7ced37668e12eb3b21f4f38f373c1d1fecc2e6df36f1b53e6c0dceeab723b993c2bfd6e0355836f215703556edf9aa9314a87d397d893ade18d33738e72e2fdbd48b6055d310edfc51ba47a4e55c0e8acec04163a73522902de373daa72c8ee03200ec2afef92d45ee16a8ce44108481f4a0ad91349df4b7ba71350ee72ed92c505f493962e9999751df24bd1fcbf4768d1f35e075061dfce91e2bcd072be45f8a97e53adfb19d15f595be2acafc28424fb8e2121cde6a1bf145809607239b507a69ef295c2d55124e992bc23dc4f0f19cee1c69e19b43ed4f83e6575728dbb535c7521369cc3a3f6a53224907d36a2ed553c1912c44ed9c34a727fee72c23f977208008409f9fa158b21ca870a341e9c5dfcedb0c432a51e79c55df072ff6acc0da7e580bfb4d715479348e52016386203e54f891b2e71abeb160c505589a93bf6df21b847475c89ee8bbe38f290666e032eae2baad646b706b580c20896f7c31e24f3fb0f0b81086a872aaccf1f26925af9dc212c7a10dc99f6478572c4c304ab99f4461c6b119cc42746351ad6c19c21ebe719446073d33613ad0d72d8a5ace4644d9d3b071f1986d3ab84c917fbbbdc809aff3c0c577ba09b6c88728842198168cb7a2c2d275f61693e249230dde2d13199132995bb45db2fd3021b7e2cb6bff817681b4a474e02528f74c5e8fe850a91df113c140e8957cf42c3512e2dc16023e2f3e9b9f8295cb8ebd86e75bbbcd1332b65a5d85cb7aa4f1f70604e32fae669f6c1e182acbdbec9c636b9d8e1fcdbc69e56ad14fb680483227f72ac2c065c01ecadf1dffd2209c9f2f4ca657b595d0f6c51678efe7469a6b35a72303d85cc8510417a97395cfb453edc965b13d21f18724fa220d18f33f7549172e4ef2d3ef6618ef0c0c7f9cb9cde877606870ce0daa1bde9c66cb2f26154bb17d230bde7b19c8a89b7cb2e7b1c9b5f9a86d66c2035c8d6f6294ab13e1c22d76b602a69bcdc8d268cb40ffd57d2d888ea427d75cee97dfb867e32b1ed47989c0068bf82cf116204f1ac9f8c73bffe36208100bb65aa1f89050d4abcecfb6c3c7283ab178f2c25513b5e008c3ba67ccab6802f8d13dfb2a04733ce9e2980b8983a9ef99165563af696fd37fea1fe6a30af5da82b8c34cbb9673c4fa3287fc55f5e0140e7d46c428fef3664a9e83667281c249d849f4640685558c827a1881a3f13d3fbae79fbc1d7960ee67aa3d66fc00eb8bb6375db2668c9248c1397c7603b72206414c0a3cb47040d002ed52592cafd5f581b21322a379d224c67e9b4a0b43e0542b652e637aaeed59b2688d3e18a0c5dc10a3099ae11b5cd33099a17c055365fd3dfc1b59563a93ba588b67e46f48bdfb9a789c320dff51ef9514b5a6d404252848ed881e65e609a9a962517eb7a1c4549f3984b002dbadb27bf2164dab1401e7630d4fed45ed5a0a7e0ed24214fb1d00dc8350cb0c771c6c3bf5e92924372a9cb956a0db2e82c226f1ec1eb56433222fdc7860ca6c12c9666d9b2abb4837222c36132ab6c6a8927b8b1e8caf3696ad84d327f00b61cb2ce8d9f535d06061e10fefee216b7cfd9504eddc157c4b4a1c310ec8fd850aff457aab2fe9bddca72dd565fcc7561cd37492c14a0010910f4a2ddeacdd2c5e3843f9ccc28e668c372a45e5c9c835bbb8f790fa713fb2849601499848da69a3a9a49126b15ef509f7276f7bde4d1b272853369ae0306518e79e1358bc3b59a3d239d81024ce6efc72fc1b542a89a5e8e7e262b83825b560c0fcf743e0d97cc3d829fbcf0b860f84e6c48122f8c00a8d9d027d4c12e6d145939287b7b7a52e9245428b1011dab91d27205748c99c9cd254179904e7fc17278e8e7c52ed959281870153df23501c05742ad5ebd952ede4525867ddfc7e4dec008c68a6818a7a8a5a7acb9a3ff7e28d10d75cebdcccb7a6d9842920fc4640c0ac1b8edebc61ce11ca2b6d830056b870608bbb4eb8516be1f55f51ed7a49e50f2ec62810c47b68c9a1a1146b83542244e72abc2ce52cad25b87081856572caeb1f3618b1460d097096ff34d5837d7050172c790ebb4a5346bea0358b1bb2bac7a8c4bb30c4906e3cc380cd4e2997cdbdb72a200f1535766cf483dc26956ecd6bb7f24aaaea8ef62c1dd604fa3be500ce5531e1aa397436034aebf760a9a2b920b47c16e937184f6dc31b7c481257457ce72af9efbbf6767759e83ac7fa4bc59772a3032bf604844f6fa8b08ef800d41d1721ae747ce4e09bfc5b3753f845a20a1a4c2fbcd57a253195ff1c16a405a64f54a3ec97e2e2ccf8d37e14c6d64f2d38dd0626844667fef28ad0a67271217b7855a341df8cc24bad852445e65fd85c82c986c8185661b140e5d15125dd18963794ff36092f525e1016d7a38e76aabb1afeeb754d7001c0b92a1ec94a1d8adc35c728a83784118090b5a0aeae15304e38ef8c1ee7d022583def2bd288480eb0e0a0ce89b55bb272f3bbccb68aa3edc9779171fec6401c7eacd9972639ad6358034726277bc719488b3dc7a1d240a74d85dec5baa5f0f9a503a2cd992f23e85880b699b8c36c43a1df76a3952f7fbd48c8687eb956fe06ec271ba095f55d1e0d49472b83ce5baaac55eabbfcbc4d8a7204a598c5100ee2a9079dae7c3f221b6f1c66fec26bd48ce2c63cbbbf6e541dfaaa70ffeecc0aea475e5f75d33e6564502ba722a34a3ceafb2836e8fee7182e431573f533ab027740363c4282073957084af51309caaae9fdea6f622131849b945898314d5cb23f8da5c5b19a06743ce018239f0fa55c9aeb9303e3e502bf6545e6b39811d943fd150c99d8574103657e9fb6e579430723084ff4df8acd03c019985c69f36a83e6dd63457a80de4f3b7e30772610d8b429d549ea0c4af0888408426c3d7be883f282502a002d563a8cc8f3f6e0f378f5481c176c1fe8b44c4e0224b8377388b981b1cc5459e9df392be68aa725ed56c9f414f0980be198ae73bd84243558304499fd1702eaafca56b352ca52daa9c6541c01bfeee2b2f5b75bbc40255315e5bef73f1e268c1a65d29d3f5a43f5471e7f83284ad699823609f82d9b3ae538e5522653391105ca415fa90c92c584e4680111b64da283a064a2ca8c1a5f889163132d4beb19680d22d66cb1f2e727377a4059a9b66de2776b69ecaecd8dbeaa9c4f2e7c94511ddde1f9ce399015fb7a3cfdf4cbf6ef2aaddaa79851e810069c6647be2dc71b39cb19f5bcaccc55c65c020adb35366c199985a594f7a9b4dacce8cf248971ae862fc4ef00807682e14ab564d9e0fae043e8f9550ef1cad7d80f966744fda02cb352556a83806060af57c610f5afd84ee0be05e7c7df920c2c7b0c4f7520627107d502c601922bd3b21188c72d0313aa540ea83610265fabdf9616fc20b3a9eea0bc738c6d5aaf427273c92a2c553490f12fe7051951d0b84dee99b49183bcbe68cf9f60b04dc79728500457816eb70ac18c8fe7d8deaa2a66a9f42650a8ce22c39e82ea62f524535990dba8c53df8efb59ff1f17d36e9ee868f014e2eb325ade6a03a721791990724c1c333de48f69a5eac9b439d7a197c070fcbcf729e3412430477f77d38d1b720802c45dcc24b879e3c970ced3e7001f748e3d41f257137050245737f025be5c7d991220ffe045ba29cc1fd800657774f3dec7a64a5456c9b3116a7e4a97e272e1ce3ce520098d1a27aa87fad9890b64f10beb9753ae8ea0bbb885526e0d4672cda8b2b63b48d4a7bc710236f217e3294c27ff65bfc50fbcb23452930fc7026a0aa34f19ac4151c1fb381bcd5187be8952543a6cf4b90fa111c28ed8007e627223b16b8943948d3332bbfc9c5ad1e6d7430d0185338197cbd0f8a492ae1778726eb7ae7034af7f1f99a45746f3a5033f4ae1f852e057098a721224304c4c5922730fb2ff834814aef46bceabf72e359dba402b6252095f488dbb8c879cc7f972e087c6be2cfb21c9b46c290a8e1542d3af6517302bedb322ffdcd44c6d79f2727d9f98a191ed386aab8e1376a36b80a8e12841b746bdc98c1e1fe0b0e63b091715212154308590ef6f3250cc384657d229de1788b633279e2458800d511fea7269b330b15d69dea4eb17512b25218ec149068f7bb97e409c19fa1cc7cc8c4c72c68f1342700aa0b273cedea7028002277ec9a5e6987667cd2ea4abffa1c1ba6a82f31fb1eeefa66e3d5c995e1be46d276ac1a79aa7d7695b0f0a6d6079264872803dcbf2f210a7f1d8af90f7c4da0b1d40608d80b2eb2a2cf816fe48a9af1f72f09b5031386b9460a9d8c47372f039585cf7f0cb1729b06ab8b136d1d62b081e3b11cec4bc1efe924617eb4471ada1334e6b64c554a589a05d3ad6116cffcc34e329856153759ddb7f51365e34123f93e34672c57873fa5890079e05f8964250a10908a44eaa71cf189b519e0a2b66b820e414a5220e4105e99880e0de4dfe72e0f66e0957db4815423dda6e373259587ab6eb4577c8f2f5b331cbad783b8868dff1d6d691dcf7b198c7e0d9655d7370b0cbc242e7c7cbe199bf903d4979082d3320305a11effca90a05638e40e2e841a12140b38b38d091ac2b2663581b0b3a97d9cf5a4a8ca022314f171da5c6bc894a5f0781a3f1e11a9f8daeb43d47d572ce47795abdc37aee3d4c7933ed953f55c7ca5f642f29e6ccf3f728cf5796e47206f12a9feef033e9c35282d03349398c776f07b6f2f04f47de795a8ccb3f0b24e5a3885e4352487d70a18e8bdb35db935b8974e826735ed16463888baf1d506659d37e3a260738311259af6851efc2dc09c1c4eedb8e67a57b5281ca2a7c1072290b34b330b68f22bd2bdd1ae800405d8ee16a663a7ca26ef1f8749c01517672d5ca8883f9a849b452e00b37a33f94aeb5f861c6dc50f36c1bbb8cb26c2f967262cf421397f4aa8cc96fc1e8a1d0543dd112e1a8cec6f84645ba0b8ea6d9bc72317e41dc273fc82124597ba8f976a5241097a060c8085e5041bbfa04a00c6b646a0c3b3fc5dd956eb4be2a307432b204d7730cfc2fa54c8eb52f90b28805d71b359e06517676ef4222db69a82c84c20d72845e45635d276fd8c7db5d50ec00726b8eaa44c75516b175d39c4ae72f5a43b9ba28434348c59ffbccc9b4486096062e1305d468169636ec8911ab000d0efdc2a48b87323d9756cf9bb3290e6cd91be679be6e662481b33e7dd25a4acc99787efce63d3b80cfc0432d37c0a302f037c8b18a5bffc2ec9fa08c966e619dc3a91aef0a6b26d7c13adbcb6d230def70727934d6051c471ab03a2cc085939ffe0cbcd8f839dd619bd904700ab9f9391f729c2aeb32f5793cd4151bed26a726bed6188f32cceb3197df08e3b8c26c6b26722863b04c58bea52f33bb87ae057267b0da76549af7af1630226053dee65b784294c11931943187f14125888c4d52359b33256088893a4c78f2aa541a927dfb72f5cc77302ec0ef8bd76a6933bb0745f72150e61fb8c7cea27836419a1afa8b7220f6870b16cb0b2dbfbd2bc5a94d544039d4b173a8b8f8b728a26fd76f9c53729ac1a9422a4c6224d9de1189a7841c5c65f981b47a6fe458695b61f785ef0b728a9a6e3bec83db690a64b23415781e33b14aac945a54e0f88a48f2b49fc8ba721a8f73f217085f165d5d41637381ae80a6bb21f3c82a3f6c96697fe03da34f599408960c83c69938f1a1cff91d67c06dbfd63616983586b8ea734339d4dfa8720ed81d1a71902c50c10abfb64afadf0473bfb07e02b864d7012d9cbabde621464835bbe11328957fcd144b2c783cc2585dec7fe06ed0db88b2a0ef7645b1db5a33b218c897e157a68270f1439a14a47ff49dd4d421852e3197a654f6604fac72ab2c94862149a94976d99973daaa7533f70fdb1edd0812d7fd2dd96812336172ee1b2225517a1bbdbd60947e586d932e1a17a626b2e96af6bbf9cd742b66b3150234804f7674060369ebba46415de5582d00b2ac9dfebae67d9b363c3f8ff672f970a65d59213c8f4be9ef794d2318d9b721f8b7887f82918db3dd1f339aa55400672effa3a747dfa4f11ebbe23c709f0d5b9a8a67eb4908c30f766e5f032272ab5adb0afe4647927db8d0dbe319b91ecfc5f171207c2e0cbd95a46eec03b40bd6df31abc3d831c39c7785d8ec35c5ae09b3beef1ab13175feb86945e7830e72d0be10b0a0bbf983e5194c60c513d0fcbbc653760db6e6cee3a21eec3bc45250a997607ed2c0bc9ef20c915c5896a0c9e6aaca73bba96d80532119176decc9722ab557a11c6fb54ac32e933e8f268897d5e56af286a62e17e8cb04db6e1a7c3ebb3af0606a636f2a59d2d04579940961ced871d8dfa3b41247997b56878c201b3dac5492d5e505bc4350cca136542bc5a1474fed227e109207513706dabf5d5b3ac7bfb3cafb94f18755487e968f36c6cdd0590238088313859e1f535530762fa8b9906b5fa7bb4be71f24165faf0af863924281139a4b8d798bb558d8d8823b2db25190ad18d7e507449f1ad25a056f23065891f2af885c5b16802287048b270b3070d73583975d5db11c93fa2dca93f5507e1f8c07a083f02558d8430373724706a92e1fb648cb3960d337dda77337d382cd4f338df535f22479fbb4838672d6caa81ee921fdad59ef75eb48b4d03e278ecc2639a0dbbc44e886f5ac93ed72dc2e5a0446d7de370c19f37f5c7070d3ae49a408adc1df2b9f09d4a0a41a9472edd8ae938f6ffbc5f3eb30d69d565848be523201a7ee43b4ee4356ef35f74f72646f195e22e7875b20045e80925b02c7318f340b0d0cc137816052961fb65c547c4721935644ee13477b8dde987f0fc9c5129d5d5b1e9103eeb01da89cb66572d3d9b7d12f0b3e9a77d3bb5eaf01d64dc20ac5ca7859715e714a7bcb9ccd31723c6fadf4d358146244d52e3bcda665dccccf6df0773dbca1a96e8690472a38727a7b37a8bc7244e5658de076b442cdb29b5377ce591b1020eef95523206fe6048d6841ec968d0b42dede18bcf4fcecead470822297ad808c676ce2fab91e5e72bc819468c1c7131440235727a2ed421f9d3b20275c1c8928a2b1b3a0df77c41fc197cb88d307c1da4eb1e6c62065172b0d7da0eadaca13306dfb23d584a70272864a7f4a6e431defc2ea0b30c1d4216b58fd33427d2a0b296c26c6648cd7cd1162e644e03ebef0cf362ec98b1e88e191632c87f33cdb2eba1e66184243386a38685cc992bfe88a9af6a554c73e289c0a8178c7572c67f2633d511ae58baca117d8ffc00f90ad37981f97c654bd9e021c6b3a910ecec1e6ce5106a7b3b33d0a7276f20edbee8ec92804ee80120e622176d4581f887dc36de2fd110c29f7cca926c2dd016f22c8cbdc2cec026ca8a5942638f171fef1d44e5bb34293e0648dc63b3ac621bf10972118ac38388c14e2abf2fa479e6df6010f4e2df4795e79795c53295cffcb638804b352b33df132ac3645f930fa61a7a9757ae7d93b9222d26772e1709a94a578789fd99ffa8379d38d0b747bef0f8eee252628b8adaff0869b33464123ab758ab3a3f61a39aedcc3ea0307d18fc80c17a36cbe0eba80671629720274a83c675a105227b644ea340401431ea911342e90d878137ff03414bf3072822d9dfb5558cc76ca8d676d444679205ea12aabb89922bb983acd8001ed7272669fe7a6980759087de80730bdf001c156c4428eaaa51e009b8cfa30778e5112e349cbfdadccc360e2a65b2121c30a16ca5cec2500adcb98f8a2fc74ebf7461720f5dd5532f2fe64243cf751fc0ebd84207cb69ac300d788b04998bce5c4d1720399a73b2452a244a476be97a55718136735f484ef1895177b4546c67965687227c30b3c45253a4ae6e1fb3186d442859541a0e2db8a836b088e14fca0b6d47227630ac21f24dedc37d62a9e4848e4a2d8275e6b58726f8d2a50da07d0e280725cba412471e407a60d77c622043416a2a8fa2701a687d7b319ef249f1ed035729a34a12f461c4ae1c68345547def7fb0db65406e74d01b3f5ff43291ce88717297cbbee9e20e17332956ad19ee8d55ab7efa7827b1134bafcb58079ac9d23d36dd3cb8bfccde680f2676eba916d437aba323c939a58a6116a39f10b5105dd86048ec006bca0e5f157d5ab38f189510dd6cd5fa0227690132ef4aa240db014c625b6ef4ca31c24393e452a84fd3975c36b07671597f227aeed271563e90c45c7266fff8e5ea60a2a878c9a53f9ede8b0858ec4af0880931bb3f553a518f38b17219628eedc5aca3ca2211ddcbe1272c80a030837d64770b4463596a5dd40874721fb8f0af8f77556a43ed973c58e5cc6a66a347132b554c0cf710d7cee862f8728111c9080a2fedf003b6fdaa610e6550ac141e74f549dda188a3877f2b834513bafde168d59149d0adea36538db35b27cad23a747b0023c7b159d9fc2265b136aeb9c2f12a82b2f7e1f7e826b1845b8d38727b6cf544e2df9939a2045ebc55725237f7d32226211782d328081283c898893f4ab519e128e5a51247a2562b191de4054b8915b87c488b03d9ba28d526beaa153241e859bb013bf1153dcdb6326c98291d128e2c8cc454ee42462650770c4fed8e960d5ef5c1f329a54609e1266ff4d8b342491169f75cab353f99adc3475a90b1d57ac4926beee5bde3096dc0723b893d64935529444ce13b96a41b1c727ea0069a7171c51b2c99d72395629372d61041f4c25bcbfc99657e16897ef3dee585275cb1972e43e761cb1107b3fb30483b77551211b39b9f9a5f9c7d5c1167c4601a56e49177f322df8a8b731b75729ec326e8c6be8f220e8395b0bc06a1c89c50d821f939707f8d0b1831fc046b723db19abd935e1c46587c8aa8ec5a25a65bc46a34be9dc9f6eee68fc875930952bc14e5619aa9ce9ccaa7cb134af0861c22fd6df5be81bdcb3f9776eac1a33672b087643bc6f1766b00e066ff4665e33613159571d07b5d8c9595afdc9bdf30728201c66ad25514fc14f32d3edda5330da3e5cda0cb9170e0521eab2afbb91372db56302034678372bf296a9235debab9d55d81bd3681829faeebb5c4344d0e72116b7964731174423b6ff3cd62cc8c4df7a5904b7628291b9e2ff24ea044447216178530acc6fda234474303a970f6b0a9093af308d22692a7c89e6dfc7f1f0d01afe5748c38a79863a4a4815d3f0ced3852fe8e8d15bce374f5ee4aded8b60382f7d5ef7447439c26cac1dbd5799c5da7a2099908ed63f8795721be37bbe2720363d9a3bfd9923d62b8816cbaa0a576ddc850e9eee00371b6d167097bbbaf7244f0b0bdc42b7de08de8f4f72abeda4ab6c5d82f0b3cd9b834b603003efead45096f0bac0546988e3a3c3a44e8499027c697a38814ceffea6c9bef82fa07d372f4521eaa8ae9e28cbdc2b92af5195dc449fadfb9e1864d07f9b001b0cf2b1172f92cf6693692f048a14a276ca9b2783327f426ed86dc7d9dfc3318d60b5fc14daceebba7938e60c1b09f3b578acf318736c79d5ce6ba8d4291e8fb7fc5ffb472052441219bd351049c685a664fb305f80bf77e2a29ef96180ed63e6877b46372cf0dfd6641b786ddb5423315f98823b5df815d2fe670890cbbd0aa2b77dc1272a22cc39ab9c2cf557b9b983f13c9e9466688361b88aa9362d59779d4d0630f727c4be07c879c0f4c3fa127de0fd5c028095563f0db748c5f0f3a5c02f8cf4a22e5b643015f3a5b250f1de8f80eb3a9fb80983d5665ee4c84b5f384d31e0f1a1294fe8e4886d1cee8219c89661877c1a95b3b06226cebbd50c66beb8939e0ed723780283e317e93696aeec52e89cd2053666ea3334bcda0b2791228995bb75b725cb5da4c9bacdb836293a491a114cb6b4e1df2816dbe2682d17728a6254f3d253d5836a95417fc82b6ca00d99c08ccdb75d0c516d9eb0b5dbded166eb407fe727ff0ade8ba0bbc3f1d1b72680b9213c3a16351968241d43820574e12f8b14972f32e54f0b7a36335972c6e82df67727ad40aa8fa7b9b61a596ba036584741e721cb0008f5b1646fccb7b10c0c767fc5f63a6142ac0ccdc0af75adaae04cec97252899a05bab8bfa6228e839cfdeafbe1e92f8a16afc6b9e8b9f772abe472363434fbc5a3dcf1a55d12a55dd2f9e51f44e93fbc1dac993bb1f327001e13c4e405149115df83d9534afa448fbebfff0e6b823eb0ce4d27bc167db0b447768f8118be19bf2d0ebeb0bcd110499b73558a1dd4eb026ccf9bdfc8f72bdb2ec6df4b727e5caa7382cb55ea839fa38323177c3abf6bc1432e19c52a8bb1e554ee180e3ab0bbfb1617850906f48dc3e112c4f3702cef57875eee9b4d92962eeb0934f87288cb511e2d60f7fb5b260e9a9f8d74d8034ec58385dd85eaca1dee4f97ecdc4f16a05ed1dc1aaf0a2b9a31fda032fbf93d406b7e7f3805a09cce8f3847c9f7726345cff5118c6ff5380697ef033426ad15eabc87ea6fd5937f9ff9a7626fdc6add5199fe01412e8753612c9ced2417090ae27d0c948c9433fdddfda8808591647ea48cd5bb647dd861939407f383425072a1e84eb7505d6627e599a60d440803342e009a4c277b3da6749cf09767c0dde220c75c4d0a2a8b5df44786e8c6526c0243c34ce6cbde4b4cba3073c37585f7b34b11a6a03aa46165ea3961e889fc72be756148f2f5085cb307b17c7a45f5c447126d8bca006848a55de0f82d2f3372c8ee901b5087026042c94a0ca964f3390dd31e6e9a5df3a8e09cb64c1c2917721cdf8b1bb3a4c063d395b083983a501ff995b8d4c437dbc2a22d1656206be5726aacb91bc730c0f6d2b5655bc8e33cc733de3dc987c8a3594cec347bc1e36a517b3eb22e800fa849951fc9d577407a58ef4ecc3945c622f30cab9a279e0fa12205fa375b52b15ae8115b6c2d63c0815329e1c7631b3696bf68eec9c5a1feb0729d27bb386b38bf7eeb6bf8301fae44a1af0d7f31987ba97618b4c320061b43722f35978c4d8c0f7d13afcaf31a39e2a3b72031770644fa7e67be611ae9e3411a5b146b887b33030b29993ce82340c094a76562c7409bb6e737f6f0cc3c4bd672d4f9a384a0419701e390985bc0f4a924363341f290fedfb2d4a7e384c84f447258fe81d3d13d04480ca149a7d01ce5e8b10cc32834dfeacad0c3273d25a6f0721567b5ebb3b12f30619c4e80285473314a3f22605adc1e4eb0da0f3a6da56d5f42e9c4a47a886f636fc74ff09a049b4e1d273244a9ec3e5723b190ad9f43d82a6164ed612d28875db88e7ea1687cc64176f24a8302d438e2864d3e8d66589e0133bcfedf2fd1ef411516a06b8be7a724af7007f38641d68b852ec20ce2366e0b85a409ada581a962784bc8e205c8140d867a72a71bcf024b9b71f3ea76162b7221f8b9442a1466aac5a216af75fabda936b1f4be0cdcc14e2fe258adc379eb72e2960848c1ff9d457388cd9033d7c5819966c5fdc27a5fb61c6c01c4fbf57d72ec8f32d0128d97f3dc2ceb2ae744f7bb774943f73153014ae9d4ee2217885d7207e9150a6f22536437c52279b564b6ea9b13dd192cfb68a3839620fbf8677a531981b2a8869ea24607f74100242f09d3113712f5a713be85c96373a9be18843116a1dfd7945350568c74a5acbe129a42dc1aed468d708c356c5ffbb7a7f8525378560533e0ba71863841feff5d9787621bf193de2343571047fa6e3315cb5f071dd301b46dd59eb1856f92e20639ea85d7dab5235497beef3cbaa008f6f35e7226594fb4960bbb787319abcf57f3fe0999d9c475763ee977476584a2f9773872244122343e85ead9a862662c9dc16280094b5c65ae7bcfa4c96d8518e6990f22fdafe932e069ad8641c7a13393efe0a9cce1dd8757d9feb0e81ce9496504e5726327e731797158de994e6eabe6d9f78f849db720373b1c6f2472c2ce7af015444cc77fdc4330ab486ff16c319b1faf62419f80a547f4edb2a4ade27e2be8ce6d2bb8fce7d3f36043486c9d43ac52ad87f69d0d821d550494292accfbe252e572232d975aca75d9d4dcdda01660404ce83c734c507c36fe7c0b302563bc838b4a2ba2be0cae4ad5919cc9bc7e0d21ae4093abf3ed102010237d80cf7a9ef1715d160b10ac3e8a72a627ab690904596b3ddd98545f845f5737ee78764135f1431c45cc10c889a6fad3ac0dafab5988648a2c7bf900e0bc90c6a0dd77af4c3fc60d00e4338e3fa815789e4c42df87f7f092d9f22994af225c97a84ad7e6f1620f72e850b8a84501d0816e4b7ea0b24d6f659a49db3aa0dfeccc9c9c5b8e5c116e72790b5b7ff94bb974e8a8f074352e796828ed7dd49c8367a6040e759204e9d672237592be6f6089a65c9cb11ebca632747f72870b1f6fad532b5730a95de81e2f4fa105a5d95798720ec31263b8f4b2b297197bfbcb3864069f05e7a1639f691af3a5c94bfd998f8263f24266b9d86c91466e99a2e19f9ff61c5e1179837ba6728b37c78387617f2f0d5fb1611aa4bad650cbc7415afd25bc9b08fbb676188b72fb36d54bf2df02e4aa389d2bc242dae2fc8c585352971b37a7f6f6987c9aef3717224572f16562bee8ee6c8757d8da8a819c44fc49217a0ce6fe1e5d936061726aa64bb50241b7ac9729d8a05185d6c7541db17973bca681a0c917df6ce01572692366fe875673b03ae54f96d972441dc6bf40206179b9c598973d853ea5f30b4f9b5663e154a6173c83b1125eede4c96da8c3c171d75681ad801ebab2101b72cc6dde5d5cbd66a90a59348e8b1a57c9331e9e93195ca7258f4696bf84b3176b240be92fc8816009f5b3e61c81c0d59191d1416294c054e48185676559aa5272188a2171bd1531b64f1513accc866a5cd770b04e583d04ea96b4bb618651a959396a4f9e48a8023c73fa951c448b76e1100ada3a98d63ce71f9d56d100dfaf7251d789a58abb765dffc629d8f8c252886fba535d813915c726063517d3e87c4979fcba6f2e2a82ec174af2910cba44188bdbf3886c6ccdf87121b376194d8e1ed0ce19397e16efc9772b10dc177a2a6e05bcca2d98eca9842f8f344c218b7428244e8b5dc05d403d58beb937cb71bb0a73edc700391ba91821d59cbf481d09723b3041995b4d3b672ca2b04982fe420c9473c527a08d281436e6b781224642634c1298b6af99a790aada830ed3d2db80cfe318754cc31f1ceda4509e353d6772bcd73ca0083cb90c19052da77a98ee9a0ef980aa38ee33907971e476f6b2d14c624393d6aaab4044f4e0241d5c5aa9428eb7e7ca026db20b399a917eb525541083f9225eb50786433835b668f35a045498f98ba40c48fa8621997a5e07ffbc72f731a70478dd68f72f98b612e2a2942a2f7e27a42a84bd1d680c45b48e4e007283c1909473de6d33b62f861831382c1d59ccbe79e25012165abac273146ed426cba2b879030bbddaec73070d8c0ffed9780564d0ac6cddd5e99af4605517690cd9851eef912c477b8a85509784bd028d73f50612716dc3be5c1c0b03aaaf79726d962107b4e0967c8a5eded4426fa3441bb8ff81276a7d042a99543eb383330fcbccc26adc76ecff8820b70f5ed4c979f1413101e88b53b00269902c89358720fdbd173e4ca088a31f2a51b955e59fc5ceb9fc401260b62261e4bdcb19df3072d5e4ff90e12eddc4e3631d2b57cf5a774c17f5e346ed30b34d258e69642a1b0f3b61693e89dffc2b8584eb3c537ec6e10e376b2c5a8a53ff7ca55717d93d7072707c94b7736f506c69ce99a81f5699596d29aa1b48efc21732fca02b2c1a1f530cac04df11c6f0c25c73d3cb0bd12dc01693bb102ae94ba4ecc87efcdc40a55a0267eee5f00f777f018156b8ebafe499f513f0228d5762529fe3fa17bfb84c0a75de4f9ea352f4d04e3108f0306a193fb9d035f41cffa8acab1a51063bcf457206934e3e038c33c9abef1b3427ad09b09f8b62c7534f61bde789036325071138ac7ae91344e9b7e240946d964a05b7ed88a91e75c25145e868bfd0de72ec8572da5ad15bdac92a45c9a175bbd8e82fccc9be7b3f7ba5d8238ec0fea7493aef7292329cc365b07242e439d63421d4bbde486065a74ea6d3d19471fe61ffb13001468c6a4f0ee74f3eb90ecd18185a0988e059fd6e335c974348ef04a6472a3f4fb4f11d48396d89a275941df0f9ddb2ec9238ba80fea5805ad39cd1e3869a144aeffdb8b7f30791c568f106a997f8b7286419f5097b6deaf0880a1ff5194b6a71687c35a0f07744c321fb8cef6be00c54ad38a71ec447e6dc14c02d671b69f21c2d4382ed85a23fdaeff835a46d5d4e5f67300b1adf33753683546ae7e860655d677326ea89a184e4f2429ec38890ac6d2696406261d6d3268e0f61134a03476d5a183cad0b8b73d8575225b7237ce0d039e288fbc75edbc91f2716dd3d04f072e14cfe4cb7915622a3ac624aff1ddc6fac0446865bb3e27cab38de0ac359bf72d28daf66b62e53fc5be0f01911f46469ac1907d5a45894057c0ae5d95f8813722a3203595f0c2c350dcbdc3986b24df55939f7758a9edec0d785d6edbe896e22d451139d0e0e3156e1c2f6ba925bbb8dca98c344dbf93f6de93c5f085a1c2672a87925e16c3076647303ffa1b1b585684a3320f49587c148fbc75d6e0095a47226ce306b6f52f8b3f490cc2cf79d07bba7eaadea4850a1341035e48e14dc74694817f424cc1c67dc862299bdddf01433d5f6b1ad80998f13c46adb93405f3b72fa1c3a8b80147450b108b1be2d94ca25686bbea7bb5997cde091af117ed2e8124b60fd4bf5ce0064ed6db7cb1211a185e0efa7ca4b2029279d68a1fd77884a434a8f21e1078c25d0cda535bf77c3ed7fe8ee84a7a452c9f3b3f22582b46d59720935ba7188be8180304b8ef6459184989f1ac5774b6c4ab29c4da2bb038582275f91c5aada26a3171141a11b3ae5fa71a08c26fd031bb48dfc1c359f72aee765949301d1fa1160731663a77d8c28b081149cf57f9bd1c12db98a8619351966728bb7223f4febb272829e9ce8f87df15b844f4706dc15915322d39ddc2fd8a572b6edee5765cc9a67c3c0bc056a3e29715409187266f4ecb3429baa7fd5330f729c194b447ae45397790ad5d5f6575b2da1132572d1dee9bfecc8d7fc413277721ca63b5784bfe7344dccd4a837fd44c85463d0b3a877570ad27ece6641d21f72bb9df7e2c6eb072fcf7724d00c3821f0e3cc7ac03bf7e043f18a64380fe1a972001b3ef171abd80f6342f328e62018601eb17f8a067b1ea7736fc7548e15b6722a02a3d2cda8912defa108cb9c89b6763397a2ba082d0b99d0e69ca9c3e3de0c3dfc4262b7c1e3de79e10f643b1b17cd3c5f055ab39107bb84b3f296a842306965b1d1c099f2ea0a2993cc9669638034612746cfa861db684dd81f294cf8865124c6d6a1d7f86d874d5ba1060daa0270ed0fa7e3f56a4de6ee6852437d570372060fd149184b829187904950874d531a731d9c40e36c56b3b86ed90b4e578614b919be3bc943a6b8fa819ce74530327197e9e322cd6d57cf500582b63d4ec4494fb521e15bc9f721f78ef471e30f408118b771e8fa72b357f7c3c915ba5d17729d994b981645e8e432c1c7fe918f7bdc54156a77d82ea8ae35b9f764cc823b72b239d7664b4221525ac29ca4adf2029c99f405482c39028aea4afa9353be28722b61e519fcd5ac8f4ac8aea57f9af3747aac7ba344938bbc3cc24a29e0619d7224aa6fd65c62329036f266650207df325ba49f54981b8bfdb7a39d124cc2d972686f3e70bf2b380c84367638107ee69f9b5021f99c3dc0d85272066ef816ea72c26fdf4cf711af4c2f7262acc955090f191f8a14eeaa8f8ae0bddec4c85cfd725cceeb59092dc3410c2e4be39a7d61f5a90d2caf8bebd39bc69469f83766a06982ab6ba899ebd3369881dba6160aa438eb58f2f82aec8ddaecc386b44fea0e728ed59be4754e083a40bbc8d9cfce7c6a8788409c31c81e10d3de5accc7fa0272bd96e1f93850ed113bd1603d23fc67c95d5925d2e7a1b9517502f792c6609672aa6389fbf3abbca1b1919667f36f4491ab06251c343e4d993910dca086f67e72b45e922b48b84163b5445742b2770a4e5afe77a1b1deec8dfc02f27684af4b1b10d69c0fe2090983adf57a4302dee47818b6d5f0532e12f0fee95d1e802cc572b72205260a578d546362a853c8e088c60528d998b2d0f1559039353f4c6976725b0179f1784b9f13edf0cfdfab1365ef466449ae080b8998a10c22b157ddf772c7689100d21839c2745279f1bdf4545f8c6525a4c0a6925cbf6030885d877472bb605180cfae8669b9d636cd981a95dc8e50cb24df63bdcf36c7bbdcadd2c072511c65a117517f634629bb7c3d1d4e9dc8a74a5e54b2800dffc40e3ea3cf957267e24c0f2a539959e734b4fc3f5e70da57ad03d74b26202c05aba55b69c2960553e2431b4be568382eaefb2142340806352206eb200adeca512bba05273c1772406db48f135f419f01fe901a3c54be0fbcffaf46ff9fce1b88bc95da9aec487208b3cc1dc334328ba47caed31eec448b7563cf4caffd36cd27694818b87f32369c299541f6fa212140497ff62f44a4f0e686804061a8147c53b8d170330e2a7243c30aeb1de3848e310e19f4bde5890ea59de47fbffd0fa8cb917eb6bb0a59080a40229c16d176a159b1a38f5ffc97be9917a074489f7fe60a674821fbbff14b0f573dba5ad8b38f92789fcb4d31ae973a050fca0a491e48b44f6978b7066e0f178b395f78fcd622b38ea48968b1552350e5276ea7e97d2036ffe2c4d349672202582e05ec96d90a1bb253132424c51bb4eaa2219ac40bb82763193b50fa4b72e1a3f6a8aabe005d71eb4ea0655590ca5d54e5f3f9844fd8bb30c1a8f9ef41720f0ef4724181d4553cdbd48c564dacaf126266dec785fb1ca744bf7976636b72c35e46f71bb1ba909a7da44efafa2ce934c6b972ef1242b0a8cbe2f6c7cc8b075abc22848660b24da874a2e85c60793dd30ddf0da2b1d78fc9ecfd962c8b1c72632e49d49b0a78348ac0f8c5d5f6ffa8c1ec70d8b13a9ad0b3ee7abc522482612a321b9ed9027e71787795280604079919a4727bfb4d78778d14c3f0d4fbfd72d4e72552b89e97aedeab468a63bf91c9f38dfd025d921e627e00d64ea600c21ea32b0eeff6f55128afbc772bee8be9ebb6527e547548d76ebf818b7bac81a3556c546175c4fda21ab752ee0a14c3a8900eeee1d959657eaee213d0ca379594726c6b0ade3e050f8286e5a42f7e8cf869c2993ceac1ff920dfc2abba5a279e57245835c185b3da0f12c8840ebe5ea6cb00205c2d3d29783ac17fd85e3a5be9c6aa0e9cadeda04f5128a991e1bbc79beaf266912b31fa7328abae69e0cf4349c3e61b6c8ef66c18419f7cbf488f07ab8c6339eb77bc689b0566fabfb1d9db3fc72b27ed22cc2b20698fece3f60e9e9bb8ba646f2d8e635136d008a313efec23c724d66045044d15740a114ab8f532ae4f39330e1e188130c6d03e12cbbad24ef7220522ebc803be15983c71276d718e905c63b1f7dd8cda3ed3b46ed8bf18edd723ae90b9ceff10f56c68b202460ba413fa4037729780e86d1cc8981c98f9cbf720d60317dda05c4631db196020a7737cec524bd3b776f384e810524edf471e97245ffa7274d6be783fab20e757fc1cc5b0a78cdff1eac8017ce048b0e82c09644e85037d58dcc0893794a4cf18e8b6b3bc3ff619b5469f747af1d9385a7e74b7276f480140e9294dc5e97bb2dbec71a37b409f80cc0664fb4117e12d3e0f68a726e94a49b3fc13aad70f835daaddac7a566abfe3d8a26d47b5e8b616aab6bc172067fa1858787d216e6684b856e65638a0c24e65216315c7f6327922be3f0454954f0a6b552cf4e91ffa7f57e6fc495b607f72dd2ad86c1d1475a087c9e96d172db712e903875fc5cda67f7dcf68f95284283157f34faab07ad938c9f256bf472c14dd32e4f01bc579aabd2f08120655569e36cab0883f52d13065685a2b19672308c6e8b488b1c9ebebabcc24da00c779912aeb43e966113501b730c9e8dc75c8d915d75c98b5ce573b27995caa5bfc4a718ce72565816fa0e561288fb06e972fad859d2ec7bc2bcad12783f74000f5ee470a2f5414ac7dd9fad1b2a767bee72d7a485c200abe5f83067e034ab246b0976fe4dbc239850e2118df3a209fc086f94fa6d166a29a16ee324e1e25dd61f88341c5e43f3068c101f2c15e3e95988724e91f88d35ab03ffaa3732b745c9c3d52f6421ce0b3abe2e03b34171f08205726130f6d0a795d3ff2432a20f32b10a8e72fc20d43ca17c67151e1e3b68814c72086f80733275ee8e8fa99dc38d564fe651cfee4c420c4d1fe45fe99f3d17e01980ec2661b8a7f238f37593a6860c35c84a47020fa698d279e11a5e94f51b0d721b40b935dcda92acbd8c546570c0bde0ab2928d6266144c3a40b071b73ad9918e7dfada62e95c8663602e16831448886cb6409f481988287112a0c8ea765c72ddb71cc73be64109744fd06cea82391e436133b32d04558d73727d14143e95a726264537d6a1b4be54f4a94ea514182da515ca14f4bdc3bc0e832b625f61f78725a12ebc820db2ecbc38dda414b63927b9af0371dfa96c7791e264176f18c3f30d1bf566f46cb6095c8526f4a9b63d2442c4f2cf1b223d0aa7fe1b9d078057372c47e11942cf0a1281d8bedebb2ad74bcb72b695273618e00ef5b15ef7075c932e86451d0eeb820531ed58e53142582d36615ebaf8aa109bd1f73779e9fae71723a4ce44cdb1a739ab35c43939e8fee04faa77ab48afcd5d04d289886fd9a7a7274bac043df801a3389ee614c4014bf87bc2b3e5ddb6cd6e21bf9804bbae15431046cd92ad0907277814b0f17c29dcaba2534e3fa5a08c09a38a046d8e4ff4472398a99536175c58c5ef6aa8abb92a641054679ab5904f1e74b04e5c539349c72293d512a23622b027f823d06dd22a797bda4144c741827069f093dcb2d5ef272b84f9a12a6763899a30c2abe23daeed5680513bf350833d211cf74a86658293e27ab5bd078695e7ae2834fc64eed95007473c1e324cdcd533e655d61dc474e4bfa821875a98944806a009672bcee1dc4a9bb998f3eedb25aa32ccc8fb1523f729676b13de12139356b50d6f12e151306498cf3afbbf506638b397849ccdd15723eccd291b3f803aec29c06f121caf6c4b69f531ef8c5330298b92f6d70eeff0b65929233939b8e0550947d4baec8d508285f50e884418527c6712451e343d6663e4b09bf540002dbe02f1fca3f89480f44108e5b073098da8f4ae83510d0c61d5f5499ecc78f063358c63a2e9fb2daa4921538c254b687b14e81a03e64dc79580cb5ce239fcd7a0ad5bea49bc8a2d98aef94fb3f400c1c37ba9d0ba66b641672fbe1a26255e714756ea71b16c80c82b9fd2965795e83fd56273c2e1887670519b3af0ccd15e3116545c422f0940cc1e1283fb34416693eac9d1ec46b10f11472037dddcf23f89c3cec080fe14b435e3226b04a0d7d707bd2540237dd3abae37243755ea8cbbcd5b9ca4f1bc6c3b87711e0f7c80b4f7ef37900e51db9f9bf94277c30c28064d1e1bad05dfd120cbe4a016302a1286776e85994f9bb75c5532246d704c00b41cf701e320d45fa0fd2f6276d3e0f91b4269fd4598b4c20928d8672347aa4e7df38467cf2723765e94d6b2a9b3808e5e535b5635f4f2f58cee2ed722d90bea89001200329cde2e4bc1ae20edc659e0dd1acb3fc5eb30bbb346418726d76fb06a7599242737daa730aa5b853cafcdacdb51ad8eef18acdc26e0cae724663e52572690ae7535b9a3171f5002d7ff4e2373a413526b222ad993b33a66939a7d27de4ea434674de0b2dc9c036f57bc9774d4da6f55df7feb3126ed88d1efdc8098854746425043e0532c225ee3580cd75c0d0bfb9215d3dea13de447f415f69b57c6273c1e956fcc642482c7a6a9554cd6050cc6c70a2fe0493d9fd4e7270816e40af8eea3d2164a908e697e44aab71d4444fcba5495b891bbcd63f684042b7d955bb8c678d41ff3dce96c70f73ff93f998eb3ceaac9e67f01593da8b724a2a1cc5e87e1cfe31b0c5949558b422313485946ee505ed4a00ef19fa7c5872126b67a44a77d5d68cb755e27d4ae99a4495f23794f9502ece8a7b07d3e8277268b58e7587e1dbf0a9a098eb22b8d8c3f968056aa5d08bf64e74d59d90b59b72e30ef0628e376be51777473e720c8479de8c7a883ae650ffc3878cec293dba72a39535d8e7012e34117e2cfd2bc61db120166b52e9cc4bd4b9816c121e2aec03929093cf2fa204deb60c42ba5627d6a5d5ab8c7631d3816b0f9c4c108c3b9e728c3e9e40671b500d3c2c2e108a781f16b87ef50359bae4736bf3be40ef1579725587d7f61a6e1b3ed3aa06bfa94e61d96932f43a5b9177956995368cc8f9cc72dc80e33e9f0cbc676194d2d86ae83098aef92386fb5a9270195eeb33720a7a0f5c6963ae1efc8d39d7bb9a132dd7de1a49c9722859573f10cace351e81d379628b1647cb195c067208b0586d96777330000170112d043559ecbddd2056456641303a66c383afbfd044524a4dc94a827814c72e406a00f5b8d7fec1c7deb64272d9ac0a2a921db770076616a50e633d6f8ea54ee26fb15ea114dd37607d252c72b7edeeb32ecc899f84a66b94bc5f95b25b4390a237f1abd6da1c08ab1f08d038a20aaa627ee4de44103760100d7da3361de87869f721a4f64a32d753d07c8c724da4e9cf7c476f550b12b9deb2e545aa1394afcd6a3d5aa6d4d0ff2cc950972c35ec0ec55b5b9be1a3ecb1f1100392426d89123036283205de0c94120f048d68b9c537fe4b7ce6d9f7d56b89f94582fce6a3e219666e94b48663965f95140f14bd72011d2c4851a3ba7778f44f4cb8f50c80b4544b877629bd0f0f9cedd49a720069814a718fca658fccf2665578cd47bbadd498bb47282eb928f86b48adef3d640696317f992e3c42fe1944d7258585c4947296db662409f1c904c82e930032f6bbf41fb79c1fd8871a7d4d69c541f6969cd329e57a446d22ba238121791f72ab42dfcd8e90dd2116a4cd47de7208d8a0ec35dce9a2b59bf2da0ef46b4f370df1d66bc46404c8fd125e3b3203a2620623cf707eda1956f4f8130823e6041172597e2287743c73e969662cdd1caa06e9a94ec591ea7aebe95182cbada4c32a1a15229eb6cd768e63460052b23bc8d1c85412d2c19d1a9d3479b1653884578464256871f5406ad3110936177e5b5a2827010a37ea6bafe37d5e65a78c67f74e427474a7d244180160505593bc3230d22d4a24538b7ca4611e35f26a3ef1a39e72dd2d432cbc385ffff709aaece082ba3d466d90b2b330a3c80e07aeffba889f119b962a201fdc170c5ee87772c62882aea344f45937f4409ede82df5e6c953a31b7adc94a86870f0756886d684ce3ce888dcdac746dd3a02efa436243fe00a8728bf1c30cc62774659cace7f90ec3c5035a0f8ea9d61ae3f24ca5f18d04897d45dd367e3945771eae5891eb5c3407a7b86e0b27db66b7af1a9e88dbc8503d57728d97ae2f59f265f4ff208e16a711d9c3cbf4a787d5c4e5daa1cefdb93014aa727f8793538ff6ffb6de6bf8771132e8bac80438bfe0b5acc1920a8d5d5fdbd1720e9870081642795d9c6d64b5cdb2ce40182f037e41b438b3108091603a1a46725119cac46317d264c7c29a834622bc72ad28a753db49cc80d82ab5b8f29124720e7a01cd60c9f497571c707dadda4cbabb54f4725de6002d00340950346a845af055430a292417ffaa8ec48462bc61175f555d581130b7d61c1acc7ec9079f57c029b94c7aacb17c99ca7c96f6831202deb897ac1bd844f19f347d1871482d0ea573a4770313d0fbf68de5d936d5ae2d870f44a2aae945238fb2b70da0d04b70c2930b2478f8ce6905188212a2f205ccf2ca3c14209ea80ac055d7e452c838728bb76a9d8f622e296b88dc9cfe7bede2450e4b1e99ccf5dee7cb517382eae67230345488fe0e48efb4ff642ec2785adaacb8aca43b9d86b74e217ac5e01cd70121591a1056291d2a3ca426f502aff0171a9da5f458e600754680fd717b7302071abf87c89051afa171b4d54f05320d111304d3229aeae67e9348cfb5c73a34489df4151c0e432615b367086c438614d1148d4a895280e3c791d524e39efec25afd51e56a9cf2aa92c8cec9c36c11f3aa2b675e38b19f3f9a0969c0fd09a5fb477aee2befe2d1dc5055eb9d20efbfdfafd0e462c5cc99135125a1757aa877c872e2ce9146537e0648e234bf1965787d5fea336589e150fe79aa590a87cab6b52d6dccb101016fbe87249802a05fd30fbc6b7e36a64833610d49666710b8b79927620925a31e702777bad1a9dde0aaa593f0ea81cc568ff0932eb99ae67d0de572ab18bd953507f3d82fe7ce57d1c667e5252a46a0256270d6a2995e80103d02721d12d266f23bd6e75179ccc681c0abbf73bf4e989d98f7ddf2216ef695016549800acfd0d5085118113e231fd302ec34029479c15994078d052d1532de7fc070d97cc4b7540a06ea318bae93f3f0b8a0ce3f7ca52939a484ac3379ddbbafbe051757be13a62d63e85c755a2c73927c695fa6b18bc4b30f799b2b81dc2e9ae872495849f863fa51147692c2e612d154e801015853249dd71eb7f3b2205143e6629f9e8535b4432e6113970cdcc38b17180ba52bc3e22051e5d549fd4ff3429d7215448281e6ddc7743bad9649eb5380872c571f7f442f3e46c8bb8c400498a072313d57b685e8e395f163d23608ff8df711d24516b3bbcc01840de1838d9cac729db4806f610f99f76a8ad10702f5fd0d38a8be34fbfd60fc4e22516b7a6a91716d60c5c1393acac31564cb30ddfc0a75d1a17719dd19986c87104315cef37c60ba5fe21eff1d4fbfb3ebac48357786ad65727cb1eb4e95efebc84d90a7b3d71bb4746f4064a92f67ad666c50ac220dc48f72c32bfbcc2a626caf30853bf2bd26d9b5d08584b22bfcf15123acb6fa34e51601006a9d7ceed544527db05eb9b972fc3558652bd18ff910798b14ee26d614360d39a54d7cdca868b793bb0f27427271db77ffc800432b0b16aefec3176ec869ff8f4253e4ced7f59d1108d5a408726018c0ca61dd6e183e26a402ce80150b9a0b386a043bc305aa0aee590ca95d72f451b97a39344baa8ef6a22080c2b1cb374daeb063496814a5b9e2ac9b4a975ef4f775fef8941526dcd39ccb58802cd1fd12a73def3f9c4ce5152aa0f0a6997231e8a21fbfbecaaa5cf9654e0366d32269125afce1cc50abc32ff52479b3027257ad3abc4a3856abf6a79208db5ce6500bc1a7781e0319dbd6e9341b54f2d6413230018bfacbd1ce7d8b5552afa5d44a1553d953a351b835dfeb5a7147cdbe72b6b65088890970285f0469e294018241eb549f078bc0ea594941460c807d0072cb9cd2dec8df1f27ed9f83c463e85c5111ca7740c60838212e2ccb8dd57bc47242b0af70f9e0234aec5d0563f839f0d5b15a1d5bfbca70f4ba988049a6712e7272aad3ddd5d981271c53faf04e7b0e7470ab82876f3ee0b3a74c2d706ca4885814ab64abb4bcf8105a00dd303aae0abdc8ccb335b7a2bb4fdf9237a2d6fc9c7205c2ed652493e8e5e60751baa60f3279988932caf7d99859267fa6ae7e18a52360a7a9e1a97fb534047ea59a429f0025baec4721648f2e6295fa6709c3e31672ab7c825d67f84f9b5d7a3d71951514a50c26eac1bb6fc5be7aa42b27b117e72fde56141b24985d477f0f7e04eb15c72312d3ce1e75c72f80170b122ce36fee3df75b2ccb34b727f3f67bb41e1b561a5e7f3e0ff57a689d0f23102426a6bc2a518f6e698a407957ce3a2656974d8e2cb8014131daa378e7e9d4f11769f1dcb75bd771e730dcc29a5caec641a79cd9228eac9d78085d4b50850afa41bc84a1cc1ad573d42b8f273bad04113f72b14a187572741e1fca18d39247923c0791e11d5643774f08fd1306e1a213dbbc0034f4f28e6eb8a68e588f9e51e39b9ca9cbfe72ec6390c27056d21502e41b50605435b5e0942aed422cdc5433cfcc5fff70f6540d684de0b5f084a07d714cd9436eefd98289154d908993eebf9a48d20806df72fa51cbb0a427410a965103d80a685da72c76a8435ac61859a5f43434963f077240f826e4626a49c582f373ba8fd2c88e976bb87ce74c447aea3d72519252be6d9d36be48bffbf892b5e405d30f96684441548c329204723e2042595ac2b50c724a2f06024585f8989fb48f8d39e224f06a03cf3cc3f308f7280acebfee585b7242c5a23a0d5eec74dff63a5d4897e01e4b80f193aac3b25b0f2ab1ee3dc6a1721b25983b6448cacce22cb0a1146c87371ecaef67f1568f9c7323c33f5cd9ae72a858ce6a47114e05200d7c00b69d86dfb23b2b36a56d6cae0786a239becb8c7210ff9fe823d3cde8c9db9d10fddd61dcba075ce8eac6fda615ad69e600e57b345b51c1f199922c92c251ab402fbb45d9722b804cc8f582540888b46370850d72db92f72892942cd78473da9bd1b2893e840841b00b82591b431af8a38b57415e93d9db60800745f020664525f66ab38fc1ed875510eb089efda562a1862d4e7255ab2531263712a064132be98edaca298cf5dcd9d93b44e2f854511f99541472498f73117a6bf4e3f731d4aaed9f1af61b6bcafa68c2cf9c75a7a9931d306f72e853b6519551e5ef31a4436fc78b14389dac68d7c64cd2f1a9e3b18c3beb8a3c4aeb132a54f3d0fe006cef73968af4eb3de1bbf462d2f899a155672b443dd3723a48ffac70e9d163ec0f8f3d0749fe355748da8ccba02905b2eab40f19a6a1686c6d6b1cd96afe344714fb0c63348615799c4d0b0638ad72c26cfdff78f799723402e602cfebae1723783827080856c9783004afafddf195eb0ee6c8b83244728cd913513c227768a5a6ad2bb30b676cb09a0ae7517529637b7efd5fd458be3f8bd443481454bfe2e2739df983aa7b7a6f541c268dd1a0ec07a3e29e163b857241d25ba21e814613ffc919c03bf85849ce877cc36c52d008e9586a3449bc0072b78f10addcfd51f1913742ad6049376b3118691a97d0351bd98026e173cea56840e4860d1b49689a12779204e5b139f31a25a72eb4939f5a0e17bea986444a2d09d2a34c6119fda71201862e6b3c0af02b737766c9739c00a912f1a48944bc72ff386e2f51d677dcee0ad60df42b4fc1ded9b3ad1d4a34b30f61e1c0636c9846718e7cf08aa13a379ca419314cee473e6305dfc6408d1b6ff089258f7a7b05722cb69afdbb4aa1dacac97bbf38213a86393ee80a32d8914a5534a9d697d1bc7233de72727738e8c314450ef87b98f142204ab25a1910d28ee07ea3206c878c4f17b2006a579526cfa6e8eb18e349f9cde7964aeb4eb3eede2d1b4005b49b0f4247ec38c079752b268c52172a931bd01ebea7426f05fd466fab3a32c1c535f372b5930f8b6c183ba913e10650a881bf05725fc52a25cd5030478e40ca5ae6dc49376233d708ccb354b92526bb59d545bacca7d7a2bb6aa520c59d65892d15ad7208e9ed6ee8564e9a807f1e91cfaccd8706038e11152f45bed232680f728abc441824f33c7e876bbfe9578a12159643d6c8975cc9f987e305665c1757acc30272fbe75383c4c7764baa19d7bdf460e523ec12c87b8de95ce5fa57da58d89b6c5778604899d33c25d103563315fe7c0b30981231d226eb7e7a2465a5bdf24e7372ad7aa640c6dcf29fb8385a3d9589d22dad9d63a17b5cb51365a27e2fd21f6472cf3160ee742ccb7247e78b6b1c2628a51861cc8b034d06e6cccb40001f80e3729aaf47f2982f3fc8d9ceb8960d6af000f58a294b3c7371adc30f934fb011a7729bc184039399cd6b26367fd38bb38349267e4b22d9ffa806281e203c1872d4722644d81981772da6ee24e8733053f9e038c4ac25a390a9312fe35a3859e33d3f7a04477d4db59b837c15f02367633feec3d55209eecb053c26d1b2d136b4214b96c7db9dfb956b909eb0b6eae34edf53cbac07e634aa55776d99352d49b4a625456022b134e72cb6bf7d5e198a2d0ac6127fbe8f02500ec7bcc3d3ca67864d27ab7ec902a955a126fcb2189cd6bd5b7e0451accb2f948728f972e70a4e400c72bb44cd6a3402a06dcb851ecdff54843f144437724fbc6d2ad3f2547a18c2e272f67f9d2d91080d0212dd06a886968eaff8a456e6067c68c5dc7f261d24905f1fe52b38a6cfed7753acf0f432cb536e22e8aefb2ea5943abd589af8e5a71511729aa894b599567b75a30549ccea07d2410db14a0abc5d11fd229ec93664791172c497e257d9baf47ab12f365773061c406480075b8818afad40d4f01cdb9656723c23fd9bb69858041d1b42fd2a91d9703caaf25d5842cf8ecd692d382644e072c1082bb65359fe3f838f5aca19f5c4cdebfe404550756ab7916aa6588ec46504276c5a6cf8517fe6332c156a6cee4f3a749b1ce6451c0e88967911c3548c356947836bc79f83b94fbf07ad073e9eabc72c2ec3261b4af0f0f30198f829f9ac7226f465d6d76f80e59dc783c6ed778678a63a2b3699a154e7e55946c9795567098c9cbbc2ed72329262b4125d60ebbf480c5c5fbb496c6e71b2b385dd732b1a72403a444fdaf1104c5c63f0be3e73a02f0b3cad9fd5884cad291a1424e8ea9c5f472c3d972772b0edccc6966482f1a0162ba3e6226ef6fa57ea5c363d3fa42f727cfd9519798a5e417c2ca889d79ca637315cd317872012586c36a9e8836b57718f46f9d26e48537d0b36a1600e800443ae621c9036d7714a4fe7491e2406a41d5eae48849a11ddb8f595b50cf800b73d969a141797238b424725b1ff194c3b726e5d98548b58268a4a2c69ea1ee5ff2e07ac0562dbd3244cfe3a51f3932fdf38d151167caad7ffa1c1f9533d90ce10b3c3dde3479270b8fc3e7fe11e438452721cd34ff678fa054bd0a369bc938d392a30ae5573a6e4ae692d2d7162b46e5b4c769e62cde5f39856c417239ac14e7badb284e0fa320c820054c5324e3ce31c724df574da7703d7fade04dd6e8516624a327771b3e121fe52173986f0a476a172b254522e33595e9d1829db308fdbe29d37b0a5ca8f302b8b8adea01c2172b772303933d51823b395940f52ec516e4688aa6a73d87fddb01f559f8f811e14133292fd57e9ad0fa8a7a3edd7620751141c693326107cc48672a01c8fd10f9c8772edbe714e42d1b13cf2ba59af850e15a985264a0cc7a2d08f8ecb3ab62117e872f581b16e6959e213350c6e70f791842ae0370f0c84e3071d84a70e9fb2684e725a5d495385990ce0a00b6eb55b501c6bece98d301dd4a74d34a4368d412887720750176b9464e35b1d5ad67bf06ee6e2f26e37a6b9de1f04033cee9ffbca727274fbea08d1f48f255d929c3ee102b0bee5a36f04154269b468c4a5533744f2142c3183bcc74e7b877a740fd4d9adc8101049cb92fd7fd0a5a79b8fa0560fb5727e6761fb9f0104cdf6d9c1ffe27446f693650b36799011cec020a28526e526725a218b9e8f756b5e29ef2a72c990a748aacf30a31ed0629eb15f6695d36f64729667d67de52751c9a5f29ea674a56521c1272fcb645d1a18c896054d5cff5e727e17e8dd186ed257d480f4baf5b1ae397c238eecde676a28d410e0f3f495af727328f1d150c0c7bd92a76a6cbd84610609835f20f3299d9b2a9611e35cde317242d7905699e735001fc1f48a9dba945dc5105a792c91912742aa7190efb3db6798e5826f37dbf82fd61027a3efb179a943ab0fce869a71572de0abba513ac95517eb495adb7bcc0145633ea578b8f4c2b5c22dbfc27fea1803826a13bf677a729b9e5ee5eee3db7ecd685793eebf548c72e12871ee39477b30dc15d189ae3a72faa9d4e17ba1329d8d65f2444740e75329c9dc973b60005b1b9a918396a98d726e6260e62d0f04b46c4420d9bbfff0b5a31fbe236f0be80ea965fe6a8709df5d4367d104601476682993c73bc69ae54758513159de188571a9f104b3ef0c472c198e18a37cd2137ffa00492b73570eff78e21c933e7df2820f2e3b613fbf76219d91caa482e0ae6a685f8439f102e785b3102afb16bac587cdb45c28957ef60c4353a690786fec3af8be6409bae38aabafcccfdf2a3f777db32029fcabca2b3c09ae0a72463676c45d4a8c3e7fa1a06c1a31b52301897b6adf83df145188371a38113b0e3c6633102f9d384be2f1f3c1f1c73e16c060daddc1ef71aece7fae21629039215e1abd7c22f0b5db7ca7f96fcc99823dfcf07f7fcef41d1b582f39633386184372cfc6fcf61446bc3610465d2f77e8a9cea1c126b9d8ecb7065e28722ddb0dcc3621a6ea2ae4145efcb74e13c2a082b464a10d9513fc7a27040c0e7284a3eb01c65d77f50ccbe40b74679087c0e324675a44ff482035ef6298ba21329da2f529cb734eb6d002ec564012cb27ca2683b57ec479547e7c181589f5c670d702e6bb12b9a12ae229200b0eb3b980df9aea450720c90891e4185b25f22872dc4879c695365c39b9a7adb900ee0364d7ce0f5cfdf5c8fab9dd4f0d0e33197291535f1b9004f634eb2d79b8534c633961cd77aeba99ffc6e7f85461894c4c4efddd461a5fd4b17b57a0c16de6ad79cbd037f863cb2ae728ba0678ef3d4486139e0011b16b6fdb22988c3b34aa65ac8dd61c28c340a7efbb489d4cadf94339723ce50641c278dcc3c8f2062ddf74504a1a556c9c75eabe291d99c5f069db8f06f139272ae30c18d32de73d5ef694b77e696863a5406edbfed84d8dda8fa7171df3fdbe3d3f74a4f905a8dfe5cc11cfaeffe7c8c1ffc2cc526bb5618fb7c03872d554ebb5c94600b0339628a800698d83ebd90690cf0729c9cc05fecaaa216a72b90396fa252e4d6c3cb4e3755c302b5dc5f5592200afa3164a3caad91cc96d1ff05c46652697ba8c5321607856816de709c397abf423e8156fc97471c57fce7255b73c83e227f170f444be6a2ff38f87d8e0ca9b6aca7c8d8f605b1af7622172de2983b82b845f51174e633699d30997b6f7925f5904d2dc4630633b88606c729df2c436d702d307b9f1e0f42b9b40e90d7248a2a0040ff207e1eb05f19c427244e4115710a632d8178aacbd8eaa1c1d35b6285137e8193b888e5f452ed93272fc4c6c1692aef0eaddf8abb23cde790b6a7f7c4c9a62f58b623f0c5b96685972d00cc9ed3fa3c177a3c2b3a077dec8e215d5cc9087592954311ce5b51b4c6e72fcbf2d627e126adf9f432c77b7f16fad6061656b86a0ef43c057e8f62305f0720bea0f72a4626842d2a5263901ab054d68e4c1a6e80679655c1831e65ebaa972547223f9cb08e208985775bfd28ac0abbb79e6f0428c673fda712ff71b260d7257eb81e1a3bf33b2db8a7594313f3187f004d939455ba33ef5336ae84a49e26579af907f946cbfcb15ae9a66ab6b409889934dd6b20ab02c60af96945a950d17fcdf465b5033a1df6bffca71c13ec21695c6cc6f1240e39c6ce0a6819890b6723759a3b589a7d2e4e1eaddeb154c06e5cc6280bc8f5e56ee966471ff4b603172f489850b4d37c1b08d50c32b5aca0139dc66a8983f77215baafe54fca4548e726ac0f3bf0bf3551727b9bfef11f767e9112f01aa317a014cc3c50014d2d9fe720df512b1686ecbe1a53a76e560b9e784f046064129836f59c368a8a4772d2271adeefc665ef1774a013089667ed101e934a286f91b2261752584eec22f5d09466a832b637a7f3189fea190a4cbc93f796661371808dcae0d02ea436ddee7fd720b2c5908a65bd797d38992b6fea7dd5da8f89e8730cbfd34c34610ca626ff2723b27001fd8342442aab380cc8f4cfac7c96ec29b3431d66708c53bd46e0ef67202b3b8a557e124e7938405e5c4b2bd15b198f5346e00d7c3b26de3624055944559e06b0943f6a196d8d69b76bc4b19bd680c67db1f79f677fedcec01be1d56438b7a9527dfb8fbca10b94de4df2b71fffd9acb1ea02141a3bd1fa7eb1473b6722f9f8a5809cd92985a7464d65ccd009c5a38a48665dc0b7786b7f41e45105f15237ce4f49cdb9093c8dff0089e23dac7edc7926c8832ce53cc71c6988b2f7c271c77aa254a0309189d3eb561ecbfc3479c08d82ea6dc7d480e7478669865fa72b2f3ac71f7b1868c5d7e00a4a78e73e7d73dc144505eec2d47b4b5c19f2232723b275569d2e84f0f9770b519da68c906639b98e1d632e3acea29dfc210bc1c7207e12881a9f258833ad4f36bc5b83613ce59a1ec924d54fe1161d27ff415641a59bcbd24550fbaa50800891e2447126e5ed52cd6d118123b6c76aa09ad7ae43afae15d075afa81c090647507d29bc7309850dba73c1141502c4c9b3ad8b5b27283defaf1697053934d2fbbcad1259769cf67d72d92cb42bb74a24cd5508eb27253c08cf6c27bfd5cd594585236dc1e86dc041c300bb98b1e7f3d5ec9ce4a96669ab8b19359254462128663bd99e31a964478a77877499c9bbd45e822e588cc72a54036d7ead3fe4749cd1293aa5e14882884015735db2334c4508ce361ee8372bd2f6c5452b6dbe00ce675ddd65b0974017d1baa71885b83f86edc7606119d007aa491d197b665422ac63fe8a6a38161e38d9a839928b7587de8a5522889dc00d42aabe2108031fb6a7b6e1a8b8398e11b7b90bad1c5ba9f9388b4f342fea072808672bc26e6b2fb45417f1cda32fc938bfcddd3602cd9d41662b9a1679f921815cffbdd3790bc9ebc72c11809d7edb71d804fdbdc637014e0c5dc987c419372ce95e2ad0059d0fad20bb5a62427459efd4cff96a7be7fbc8073607f671e304bc7bd3de216ce898563ccf18a3bc6037ff44e7d8ae0f753547cd71181a054fa4ce3f4710ce29af12250424b301f6a7fb4e743e0aa542ec866c2a4f9408dbf6b2b154bdab36a0b4c31c44e3b5643fd7d02e5308dbd6f8edf6c974a364be6d256727c918dc847d421c170d42480933a3f9bc628bce21a5fb4f219f1e233984b387299566661aa87d7bb6c323496232c283e19a15c5c3ee83e3f0dd2c2e7f05dec72275009052a98992245916f7c9d43bc92e48eb0ecfe45a1bc4fa464e52b023572455207b5cbc3e831f97cee0aca7ce2f4d04f22b1a1b77552962aae22f712e072fbe60d6e3dc00900db31c8e8d6155bff8925040ea2a4ae81d59db65772ceda72922ea2463c304747e125062f28c8b9dc5469b9e3f7f6d13f4d7435ce9ee94d537ba74b6502f52a6b570adbeebdeee43c0f25e73086beb1e0cc00c930a15feb39964758d32ead7971ef5e012ae13be224587ef6c476aa91d7fe86100c078b17724afed9f82df23faed3cc89bc08aac537dc8de4299d45457359175ccfbd51d229b6693b81037822d91c18b8499fdc2006ed2b17c0058918605ae39eb2ef69e172f6db80945d480b759a339959b352fea1210516d55a2b3f0459da2fdc41149672d38335eba259bc5a7f0470f81694ca6187284490864d31a1ad6471351406327287ed150abff3b828bb26b6f152d2051e7d93de2eb1a8b71425803ec56bb5cc5926b739da307bcf7a770d90fc62d2aa7e3b618e4fde17785fd73c4cb5aeead611fb0c93a3b7603e779153ce1172e5bfbd2ac4ebafd0149b5f09ca921a45f9f972e2212da09d9b38b496b83f2c4a1263f049cfe51ff38daa8f2c73c0ceae64e0726121bb5dda8228de72e07447210ef49a1c79a4e1a5ae5c971a5058881305b9727e75286eb44d0324f29cd9d60ff6584256a960a8fe4b5641042c32cfda55fa727b8678311a8d19e23d130cf6de01357200e17aa6946a8089983dfe0313d35c7285ad0da8738a44ac8302e224f03da36cb7ef2bf0edd323d2a4a60a9ca49fcc72c7fdabc1ad7a32dba4f09ed0e7be9f932a5a48d891e3354d3f99017b9b8b9a72806a76a65e35e848325aef5381e1133ac08bebbc986dae57b849b63db722d47272423ae219db0c30153526c8a634b118e1b50c326b12134eddd8b1d03008c752c7a932a58a36ca2a04c79fc20d6d196aa13f5431da68660160d59b3b23720b5ecdf5b37541a6b7a32ba19468cc942ff1c79de8c4e2053ab122dfe7237492d0721d48af62c38cbfc2937d541a42651a41d38af21d4db9b3ee77761fbd6816ae722d9670d5a0f75888ac97c9aff40abe82f8fd4d5c8b5982f2ed52b4c9a6aebd2bd8a3cf0be0702934d9c855765d80a3f25ce96e027746a5c5270e3ba1816d1d7283c751def104471172b54ef298bf8b8913a6f6e019cce05b09cc3f3549f9e941a797feeb1228f0f9733dc6cb5a85d5d550fbd484c325d5aafc1b85460afcec3bd97df2731e9ac55a74f931c33541de4561b9c5d7576ccf0ed635601c3442eb33429bcc7796da793328e1f3352899db16dfe5cdc8d737bc7c87291b17a9a76d72e7954a40c16a5e01f95c02fe86d50b2eb8642b286aaec4704abb21afc4c2d2723d944f3ab28db80f803332c0b0dd83eaa86b1468649b51208a8b321cbccb8e72e0e09618f3386e592c000d8a2cdc5de15d2b153650ee980c32951052ef5422630e6d31e3c8c89db03de89d80d5fbe3428e17ee1bc8cc870aa00b183732050272310fecec2dcafa77035b77ef19a15b925f4fed59badc5df392949a02e83ad97264dda9196b888096e1af43369f46923541d386824c11e8225df89252cbde1f6f936c0f6ce47aa9805c0563944df33cfb8ee0bdb2081ee56f107367e2c44f7132c6fe84868a500b96beb52b740c7255c5cb42ff815346b1050f66fe7a70c0cb72c2e9e38a2b44e0e52af13da90a67732abc6d88c8d55443d83d877a439cd83f62a02b6165a9d100e4c794b755d33c39e4d540f79a7134191a600b2d9f15e1bd72eb0121eed8a7a89c550f2f5524609d4c98f7c871ed3b79d3d19288ba0332e13ec33edad6b8996699e0fc71ac96353857c6ed60d65caa0a163f5adb59e23464192b9a6757b6b05f6a8b6d99ee8a361cf32a1662915934c747a3b109994e0c96319f118c235bac0fbd7b711694ad4ada7229f3c332e1c16ee7cbd40f8cf2e5806bd8c5da5afbfe2cce99e702ea27499208bf34984b62ef9275b8d5f580f36b3625942858bfa015c884e134b33f1f8b7a988ca8e2dc74d730e601f542e706ae353d821b5553d3918e86a9f64df65dcf29c00c87128b9b2049da6b4ea5ec48e33c55c7afb79d7958717197f8a41cb783921ed8a0f87f24ecb2dfcb6a887ce4c2637288879205482f86a16582acc00bf29b7fda07ff121f1379a0ddd38d5656e5621965ec50cded8f28cd5fcc530c2abd0b45e65a0f9022223db75d2623dbd69a9e11b10bfb7d7b9fb12afa9bdf82ae8a818237b02ebf43c466a307a77afa2b597d2b1e3856bfd9a56e5302eb9faa4ffbdd937342eabcae02aade5182a9929bfb544ce92f054e2b8289aaa712264a383fb87935effb73ca288d11514cd59265cc4d720c115d3db7bcdbd2944ccceff890281e07d858e87d9c8d09899c98ed2a240d37638d851594c7e14f53487e362a8873f41907adc414ef7cf0d4d7a1559194177268452b304bec4779a3ead63352d6e5a5ba7dc1fce3cd327ad718c466d56b7272422f609d17957f0c1c82494b573b1c4ff823ecc7ee1476f2b5e2da822804357207db8eab13aabbfc282dc85697980ad6340fc6c2f08654099a5cbc907fb250723994c6126334721177412c7f2d96a5c7cd9caa44bd63b1464b2ec1c113ea13509240af5bd9efd8a95a1521b6902dadf19ef7009207d5d6722e3dd4ad14d212722c1e6288dcff9b7bb9fe9311f3a00564a42c54ba5dedbff164847add2cbc46727ba1fe1ae4c21c9616e0ff309d32f8782f451c364bf1da1d7a214a7eec3e9272cc443aff729a94654085203a0d60a009d8b1c06ba3681681a750941d63e52872f4f9f8a3ec0099d2023b40c6187628d281bdf43a7af87624d5b7a73374ac1a7274af23ac7b96300b118d6b4692924f673071aa41ae72161fe9ed43e718a307726563b5985209f63c3e5f96612a22380c577d28960126eb8aec2e2dbaaa8d5a47ca36e7a99c2bfcdbd7f41f4564ad433276ad6125b9a74c16cbd73964a60dae72d99bb06d8a1ebaf1fe363bb673edb8f37c3337c165f6b4c6c070f23263fecf5e66b0d44d8d7ac9996d90dcb08cee81b6c0ab5822421991686c6d0b9b4c23c87225a3c53a616e0dac88fca1cca5f97cbc6b2814ef820444c25118ae1a6c256772f1c61fdb4afd39f689485ef48dc2f67e7cc99d5ca3facf569bc7cade53758e729d5a672e78d473d20cacb578154862ffa3005615cd605f684000420e38af5b72fa6fdfe9afa9b952f4915f69b06461f2d9e52c84387e65e6d07feac4b9c7e7729c8c261f17296f0003837705e22e5733192471b98a1292ae55e37d3da93c4d0aeb8be3558d3d56945fe23dd3138075f56f4b4e24e5bf37287f8d67a77e62c25f16d116d09956572186396726188ddca91ec37623ddbd2c8d5a8a14391c91504a9c14f5db4ae1f4ab87079444ec01ffc62cf7db1e7edad9bc89d0e7141b3a9407d061b2967d187b4cba243ca58d25f61946a438e8696acdcc009f630b5ef11630a14d792a7a5712ac930b095ea34103c388db184ad180273ef75f9bf28b2f2c72d31dc49da74c83165a206e86fed028ccf6086232f71e2b56d6dd2240944f6c7252e0aeac32311075a7b5997fcb867706028859906790033917664e95f2757d721921bc2ec7f3b50c01d95d1ac624229aee367deaaa8188ae5fe1093d124464728165f025268a9e1b6638ec1ed9ba71763e01b753f85d6ea05dfe7a83a002a72ae2e8860daab55c824a280edfce37ba6fd62e37e1defc38b8eaa1b4f403742572c9b7f89b526618c58b006e8b9945db0f85c67e94e24305ff5a24c75d06e6de331e3ebfd44f72c598f5d8c69562f03569cdb103e391b338b0433f9c13d7aee44809730fb066261447ade6e5636e8a6d852966f11acb8b39442a08170dc0a5037212250b9c9c31ef8f284f995b57d4c360c7d2dd86e7ca2944c29f9c04047ee23ec09a70fdb56922327dfad779fb4bab58e0d58b16b8e911fb911e8d98faf45472e9a16db8c651e7d701466ef0c6e79c5cdfa406140bd17d64483b8c927ccc901dbb4fbd1e2e0f7020e568b3d96c2dfb26ca87b8390ae36f0064d5e281405ec5233218842d914e632492818d9cb9a6965d2dfb21a20dc844d5aa3eb401c608c8721e6b608c7743a0bd92c892f83eadf87a6a258fe57c333af48ef25b63d80cf072b9dab4f98ede563368b8ce2b1d2d0951c95bcbe84631776b4106380421920272934835b0a8aa26d715a6d1166aa762efb8fd92ad8a931248c879a502673db17243f3fb0414201c5b8f31c93721f8c7e39fd62370dfb9d3fa817a696e37981e10b233a699b8d5e03324087179ab7cafb6527f31734d13fd783ad9f565ed55b32af60975e4fe8a8ab42054814b3dbe8af4de43286afb6c11a86e62fc24802fb572380240029497887748305bc92e7e98a1724f9d13a797545308a03f906308b2724ed4c2a176a01e348ed4ec5797a4f103480e316e8536f34d0744c9f3bb185f72c9235df3774597d18aedad2a495b1e34ef27f448e2c2ed4983497bd4fcb85672fbd9511cfe0874c28d44a8116ec3ae53234ad6f011b7593c2608aea06b41b1720b997e3437b1d2ec8ec147feb5c8987f4a301041958d72cd86a1c272f884a13a46731600627e5246b89f6c7bba764eda28fff5012be6ba4d5abdbd3d7758e272688477648008b8b058f6fcb5f2bf90fbb8212f9b5a8328ef8601fe6ff133b34b287337e47e3b68e41adc577db0f5d3b0c21e981e492d500ae93f913e60051b728a8d764596705cdf64ae2f8eb7ffe7a97dbb3b32ff24ee3f06d747cfcbf1d072e62b5ffd0bbcd24fcc81c4623b3f7afc3f9c88d8d9c731ba122bfa7fdf3469016c21421d2d681dce56562b679f4c7cd7d5b4a3057e657ccb28d4b49c26f08472e9da2a06cbbd80caaee5ab233e776a54b75e995d2ac0f6b8a6a00027085a7a72b5091229ced7585fb47441d9ba9f9422d1d5a04a699ce2d472395685a61c6072c00bf3124fc6079e85d0408f63ab4bbd915746ab6322885cd5fcbad665defa72c3ec0df6f4a337f93840f8e16e99b644bebfb3aa202fc0623a48ef3fecffe04dd5a560ff6e081ed949bba96c2f77f95d683edb1dc7e5b0a151242158e444d837aac0817de62f12ce29b858c7a1f81ac1ee438663bddbbc7af1065cde7daa76716cdd8817acb3d1072e7536a30c08f6c80e2e13fd4406840abf484d60c9703f3714a26f8e5c21d9e6d28a49cc41bff6fab646ca3923b93b6078b12744215b5a72c25da3e090538011c4a5f2de76a89f77e3e7c92d24fc65aaddd7468717c8ea72eabd959d67a671af40f7156d77332fa7a96dd24ae11e1c63c71474bf7d3a3166d117946396e80836bbaa5b24b8bc0a21b29784c80370830d15b25e4c3ada30723486ebe06a0b32667ecd7c7176ffa3f7fc7abbeca7f55b9165a1035a75ce06234d04d91294e614ac35e41e6b2e4e437f82c6083d685028414b46f363db5d1672989fa02d9f2f297b9b231ea2d8cb235510624d7c9f694fae34c7bace00a729724b8b685fcf0ad91689df2edc9f9ae850529530bd4624bf21914e28104c125255ad1a1ff6a1b60b8bb2da4c341cac90c43de6ab363620cb9a97d3f621cd0b3c38d1cdfb0aca0bf38cf6a9558dd1e42a1f519dfb3ca2da888fef197c8ef9d884729b1634405a35bc9886894871f4e10a76ad65a0c185915064b77ae0dd7705ed04067b31b478045f420e2551cb003ec94866f6372849d353ebe47566593f91924c2476ed940a07b42a540675d9a7ecf856d3489294b7c0ec5b2d9871d79cd49a6465a401dc452809808cf76b05215110630c425a83d7945baff71f875f629dd918421f6ec1014781be7bfcb56b8b0d22b29c3d100e94768716e15dab51fad6eb4663bebff6296638f7d1710a2f5d28465b51fdd5621b00f7f77a75215ac24e2403f13f8c9079a9b7984d11af9efd6f28bdd411b722174dcf52f7df56d9ac1ffc72a3f3a6dbf7444976cb3867b305eec82a31ae52e6a917e1675e5817a58134410ee2dfdda7a2b1194fa051fbbe91aa7a5fb2f3fabda776694eec3955f2918862679367fb933cf9339e1ab5d7d6dde5e2ac3b3d7f8139f7018c42df82cb30e28a720d12712245d3f36d9ce911819adc560f85f8d06add6010a0cb8a24884d697b0015abeb384c886dfc48f3c614165ead70ba79b329af5f6a32ed0aa8c27921137185f2fe2f38082a65361fb2c245c2e60cc7ae61ab8493a7ebf751a5a07a269c4da8b2c8f870ce5078e47bb7aefc8e10aa4031a140e5c33cf2387cee4d3ed852120f288911ba204c71252b4c616b85e3acda9457a06b22988dc73e57495a1c4772f663b22fe3a5b1f4677f204c7137ced5b4fdeb7f61db4613f5ae78daafb67026e4a43ff2a14c97263652449b318b4f6a99e431d46eafcf0ec339a11f84e81172e89257cf43294ca5b2d2e24c2b170dcbd1354f6976dd00749672d571a2c1900f02d69f013ce1e843ab2bacc819c3bc880c4b0dc6a7fd4a084900894c7b5ed264051cd5f3ab4a419028b0e4927c96f6cc5f806d82e8d218bdc8e3a347154633725d6cc0a67820abfe482a557d06ca6abb1e4e4849cb5082b8b95396c26edbae720feb8e682f2333543bea1730680499574674937870a43cd681991914d86d9572fcf983e4427389033016d863cb589b28759f7de152e03c11938b9e2ceea022602620b95900925753ffd4a2b4e609842b0f7f943d6618ca4fa8f2f44ff3625672377db17d35fee09e9e6b8c10901641076c1dcdc8c1ff79c959f8e8ff0ebfa572c27f5faf09348d5b7de1b2a464c11d33027e8fec13dfac0b9fba9d0c071bbb72b58eafd989c282295fc4c98e73727de863ba367abe92905e981f0f51a7993f687f360d03b839b1feb478bd2d3d0d6d96904ef427c46ddf26153ffe1e276b6c2e9e026790de0d780dea88197867f8a54bf6fcc5fb4064cb8ab1f5a4f4523c9e72af00d9352d7beec062b0ce87f29e0c94280253645b16fda9c490581aa271ef2d64aa8332b4d5dce4e9a651406bb3789361a0494caa9f4aeb081bda4293d7ea0d9efefb52594656337dde6f192008319b084a21b14055af993bc5af31a96d1c5bbef9944f64bd3ed681c340ac159e25478ea474d920cbe5d1762c651a7067e4442af3aa7430b85cd6d614b030df0ee31cfeb52a536d25a1fcac55cee2606cc94ec2d716b3c079cd16194e0f3a7cdf206a1be61e8530f9e2012a709f1b45d5c3726122bae7a5f9d38d0e06f00f5ff69bbb58b62ffdd610f3b297453c1ceccf5c37d2878010826e1f2a7bfab2d1ffce9c187c9b26884933ccc293c5c531868af75544a6391129433d9f1a8ce47311506068b0d78f6f7c77beda6f1cdee68536fe63589970505474caec0230841c63c92a923eed818f65f57131e5d236b5442a8f72efad5fb3fec61b7a0480e8325dbd2687c881e5e52e61cf51718276fec9f62c40f77c978f22e42f145ef31dd53ba0b6467796bd15bf9ea33ac0fe428b19fe067217be46df49292a0cb8be4c49ad839d102237e9c06034ad259bdfd4a3dcb7c271f8e8abaece8c7a93c89f1ca51792a76d19835f997153850128c813430a0f5c72695b9d0219aa8cbd0c47689845f4ecfbe8064a142285814f6b2c9b4fd766eb427804f374c1cfc73bb19a1bec6f3ea05cdc13cd945566665ce8213afcf87aed72b064d89bad412f5bf7c23b4690fca1cca8ad844f182c63bb1b13c3c8124bcf720749e5c1d58032e31c2186637565a7a8b93452ac20a74e0267e685acdd7d6d64fb06f680f87ef40d0005936d2c9c48346d505d986354c356f10a449480f28c0a3b71b08333ac7140f5917e578331be4cd861e360d73045569ac5412ca8445e56d7197bef7c731f4641219cb39c437ea7b6e54ef53d91a66cd7fff62faa86dc72358ebb60b79dfb723f3588dac7ffb20022fd6171606a87ceb4889c9812fa3b3cc86608edb0d21125eea1ad76e1558ec89f4a642451cf89470609ddb92beeb17283483253ff2d24548ef22e34428d2eea7d8c22cd5567072b9eb13d1d38a5495653f7373040ea17321c05b6f7b4cd5b3844cfa405ec8f404315b28ca76478ae72815942ca12ebe08230e625d320a7d6f4e80f486b025f5ea38929e518464b813bc035bda5c5319f879d3d8fb686ae2e97531949b811f603c6afa376bc5a9fdf2fc8b18be1649049228eb5b08281bbb91a52f725f1453354fedbe686700d322172fc30102572ca413f99fb65015c2c28a7c3dc065b1acce8702128f600bbdcbc72222bbfff267011f12eb7837e311194946435c2f4ca3e12127978f3302606ee72c1be41446e5c0bba60f9fe998f8ac19329e6b83d8de62bf2ad2d7055aa1a91729eda2fa2c4cf39c781db4ee87e6713691d954fbc439499babd117f459ae390727f0193ebee49e874f9ca8b2830646786ae93757ec408a1cb495adfdac30ae6728b4db41d5d80bab464e9e3350f9663a99a9961ed5c5dbc768424d204a1c391725519d07839b62a490ceb83a3dacf24bad27351298bd472e5f81a652632cf3c1c0547f44fd6ab64b064a26a3f2f7db05af83039cd9a542bee7a4393fde6315972c71c393426722ebd41c6015c1487f5852bda0fcd029fab672974853347ce454022319931f880586253a5353c89a59b9a76361a945407118cdd1268b4a77760473350a6fb53b3d9311d0b0dc32333d4f23000edc5f1b5680a0382c2c9ae3b9b1a73815e59d373e4b61174b3d70f58c2f3c98314ab1a1ca818f9c08958c71eb51dc00bb750f2c3600a8d408e0b836623ee03f9414e44c15a4560f4176446b3ef093db3dbe65fd660a55d8ba3be83763eb550bbe2584a5a5b1318d8105b97222d72b6d3f10b175b799d9d3582a1d2ca3c5effe146085eb5a1046b54aca0019d1b721bb2bae843d9170a2f341713b63f256fbbfd4982ba356a10506752d8d97ade6f21dbcbe290d129d53b264291fb0a84a8d10d8f94d3648de90e4a51245f67157298e73443d7c641b13b86488ca37ea8f3f45be7719eeca8439c1b39fb887e92722e8c16d446ff787653c382a6501b323196f8ef4402bebc03655ebf3d0262347210c9111542a72b23461f6380f5e4481528b1d2c56fc591d0195acfc59cf57708a01200b2af2912e37e89b13a26528068c947747c5de72a226f3f89404b96fe7276d6946f578d0baf1064a27cc997ff9d5eefb2e78db7e9916efe70512370e4725ca264e275a6118790b8349796d866839b0c8c4ae23156d2ed824c89f241791559d3aefc22934bc84e18993d17cf715476c1ac369435e1c73040fd8738d1a372e6444ae4ba47166475b3a36db9e581160ac91355064ea6811b531dbb9200c97299920751f837b6e08084436addb954f12242da39e23d362e1ee69edf57bc994f3a42478123613cca00485f022c0db892dca31d2bf4104f44eb2d240f0ff79c725c7cb2b4c59843aa789809f94dbf3f9d5907e5a7a5259389f622cffd96c850477253c3f13fd70908b048341dfc77c9ba4f54b580a67e52dc44f3275d8748cf594b5e25b805b0e46582a9d0aec90f38226d4e0496460f3e7dcef41b5bc8d5f864710f3b9e9d4e80debd4318a2c6af95f90ce371472bba833bc736c2fb5e1b657277d406291073d58423c90f52456836478b7cd50abc4eed50635581ea51ecc66f3d2366b1b618c525357ab060a51461231ce5621960fa68860d56709441377f103820a0fc554c3e3dc725406a81b95c526c074083f9d58bc42287575552f5a072ec4fd851afa1f1b7614916bc6c48f7f336e5177028f42f4e7db1fc4db1bed672c9702c6c353818ffc5a26436b2461936a502aaf23df7de717031a68e9c040c72010a3861b7f55e854d5968da3089f0c6d2aa32014285e4ca13fe5257627cb072a0c566121dc24b5a6ddc985d2bf6b6adbb6209ad4ddad189b7c5aacd85bf3e5bcf2b30c7042c131c76b01ea7888dc9630ba7572d9b7d4166eb68940a618d9d50b58131efef120b8b0558090475121dea1c55180c65acf9cb0fe68019a2cd6b72a7c28779668ae5295774b11780c195af2642468a5be6c241e1eef211fc33667230e76b3d5d68a98cee444d6722440f418328499965500304331c710ab2132172bfcef7a0ec2de0152924c3d142771c3a5f1adda5d6b54bea1e2afd8179595d72cb5085696b6948675c504c47a07a123bc67f72bc7f0c137bccc7eaa200e80d725dbe51c0f995d61bffe12a828911edef039368a803edd6964956645317b7021e52497f770e86a26f0554a2616473d277086171a56e8d366af974d5d5fe7fba72d9e85d15bb9a54a930f5b7462f50d7aeecac89558f36f567e382dba200672c724326c641292634fc5f86757167452515acb76df9055d5591af3a12277c74ee722e13473bc37b5503230c1637b2c5fa82e86071658ad79199b8264367f92c194b77bfffb3905fba867144a74b8f1e2c66995daf731730fe4bd0618ef42b9ce172efef1806da9061f4c350b14e41be5892d199e5f375e45164886631df380cdb72588ec38f6f0fa619f9f80ade475fe32ca1468345dbf19bc377692077eaaad57280d051750da3dd822ac98567bfb6b41d2a038721267f5a84ede9ef346c57cd72140df33f196bdac0d6a15f2dac93c1c45995fc0836bed6627a74b0d192e0a90337a394ca052f71a8756bce6a7fa22bc21360ccd93e26a15e3e1208a3bdf23e68683bf68e46dac02dc5af24fd6fdc1fcfdabcbde0411f1b4b1417abde7f52c0221da243e177ea36436b3b55fcd1f5ecd5100f9711fdb6abd7d35f956d658b2a726560aca63903674b8b98c3cf2b4de972e960d5f284c3ba65b84908aced2c7572be18770a1a3e69a0889f9b212f2b856db5498fea05d2f7181393dc1d9c92796e0d4620bd2670fcdf54dde80450d0f1a5abdbe9a4bad8c7a55934928f9fa6e37216dd84fc4afb495927d2715f0c013cba6641b03cd869558ea61e3119ad465e72e443a942aab75de805d4c188c22295b5238c7416b601d5db9d54b289db3c37702b67564db234cc19c069d25c9b9addda45010edc4545900ea5538411e8783372e6b89e1478eb778337e93a94a666af06f01914dffd02d74e952d480e85fb50025533b8bb908923a7a66f616503d252251e85ae0d36803129e699b5d0fff67472188a3c332c92385b3f4ffa410a37d519077e97657d67706da58c8ed3228a3e72dec50801a915fadbe25f65755954c30a4732d13fd552bc425eee9ba01a0a4972ca10d01eda88867fb907085a070eede4bb3733f7780e82dda5c1d99d820d8b3df199f5f2a339a4823627dd1e69bb09b22efc3944b67b3b914dd52e65cbd4bc10ede6b6e96db985c5d0a13d7baa0bf71c21705498510279b2b65c9fd7304cd5721526eb981ee3e65c075e504b10919664b99a09393159471405e75b890a7b36725e97bf2bb46803cd791d19655c11ad1c2dc96b35b4cd2f97a5695da7428c4832c68b6fbbf14c72ab61c907e5ce9b024660e9a3d1f393bc9a7859e9a70a85de282dc92f8f67afdf82cfc5007ca060ff2c6fb8c6a0068399b3d93c2d3d528dbd720c6d9a4cf372498f5f35ed1003b7c102118ff4fc2f0299d60d3f93af09f3647268cd7a9ce7d8dd7c812b2d59821b3dfacb1ff61d89b13f7833bf037c55c6386b16974fce21af0a4bfb15de50e9cf4bf3f9b5578b44c57d2911e562e9ade1b5615797c018520f622958181c44387db14ba2e003eb660994852af0828b09d5984530ce5c165cdeebfd5b0ea2ef72cd202884586af247ab65fe4d69cd0ddd871c726e38c5fdbc006b2557313004356de4b70396e10683c443562ddc7f38bdb70870045f3872479b6458ddf395ec19d0c9fa042239abe8b80c6de973cb3fa1f5a072fa13b5274115009d452d410fe6276fb6a319efb932ea846006dfe064de14c96e3180e5355d2b3e0075fbe3b65f723ff7d7a04f9daf93f77bbc319d8880dc0072324f6653698923824ef0ca5d6b223eeccee4c17c46941f2f5f5e1125beec027280fbdb1ca20a07e2d23047090a224115b7f13b648a3cdd18520b05f252de3d72a85c81dcf09b7c45d51ca43bf8661b4571c686d909545b57d17dab19a7c7e672542dd26a1adc6f7ad6ff5156510ce0d738ae9244da3aa5b04d8653458ba5e9727150bc1501dcc792bb3e7d0c3309e4d641aa3902e0586449660c81c663654572f48f8dc78bd11183185947c4ac22bbe8969c7c849d69116f65122317cd7be3555cfde552dc695b4097f4e2182eb9af9c2716fa9d146fe20ff2c7ee7721e296720633a2c420fb86d86245dd3008de2fdc995e4e6b2b74a11682e112f01ee338241ff6c2969f6511c03d6c7a8e04cce3eef997553e237f1346409d61db1b0c737290cc7e1421b83aa25ce86be91d019accd222453001826a22624f7a73796a1a204fd57b5e283b669ddf96cb1925f551f7807342357fb800a82a0a8509c1e71434c58b04df94634a948da1bffba9ab800c8847eca70ea4acdabf56294e3f781f72151705c91fc99676ab5a1430618977de4d14d61d4cbca08042aaf08e0508c3729affa49611c644a88e2c52b494254790dd75a4e7e258a22a1dcc75734179ab0919cc5255133939980af2d3735964782f50a954796b8f180ac311796a4524fd723a5aa28d270cdea2872d386656081c581a281507542d5bebedea91dc8d716172b81031824b22aebac20daf04fe1034a2aad37d621334d2c2989ab84343de7e51fe22f0fa56243e588bb41aaf8d2e9c86629d82c08cdef3279aa60b52ca7a9f72070528a251a4ec699b54ad06f84acb13864bb197fa5d065fc2513b75820ed5724774da6ad4b62b98dd397c414ec5597c7ab565915833800c872d71415c119c72e5d308a847d626bb7f1da5955fd6f3f324223acf1feb235ee988fb88cb8e9a7267dc32d68d87af308d17cc9f08680fea59c8c2f872846613b3b96dd7fc699072a990c14e986886bf6b7ff44bd74517c3c6f8a501213b96618c29524edd2c137282d4bcf7cc3a34bd0b1c1b51ee88e66ce417ef2f32ecae582b13b25cca7cd2290ecc5fe0135309037aae8ab4bf8ae9998274307120af58e835fc52ed1604cd72b24ef4f1bcd7afa77671d734735c519bbbe10a3c3850ad4e4e455aa40657f20825c3eb70eb6df645ca1a990918069dc46c213fe194e773536c281ff52ae1f34344083fdc5ba32e502661f8fe1db6f0d8b9ed4a280ce6e84974ea932cf13198721bafa8df8c703de7ef8cb38c3dfe5c97dddc2d7df08c13b6e85a39a59b11053e038011d1d1cd9470ca5fd1becd48750b37256ddfbcbe01f1e3f0e71d1ab3f7725609c27c8e9c08945f69d6dd724c96be43f43ea6df80ac7399ac7697dc40e772f4dd907b2afb4cce01bdd19520195bda522b817777bf2c9e48cfaa724bbb097220ea26beeb7621b5a86e45c591cdb55c462c965816035882eef04b6c0a0e4162120c329ad36596af938b7f13a12d987b5c0f456d654949bae1033d98f7ba2d72c8b5d41c79e3b263d85adc1990b17a999b0da68519dda66d9930b5b7a219d02f818db6ab00b32bdffd85bd7c7d921ca595e90b04677096a5594a5a675eb69d720677da77279e214769a6769b38aef288f7a42f786aa7c6e0bdbf0269530e9c0d001d510efed9e182fe39f986b6f022c0f8a1e4c2b9f956508602b3edaaa48b5452057e07dd07cc217322bd11a2e53e4b616b61b69333db931212c32e230ea11bce8239235e9e98b940d51c360050e719a203404222916a52957e4280adc9c1502728180127e953558296b0273d314269ad97f541268d723798702b4ae8a57972fb6bd056fda5f753a7123186619c2e35172d7af3c05e432be388498c613a00722347ebdb2a5a7babedf03e5d04dbe890b9d14a4c9177dc458b02cbfe72f21e2340118b4740970867a7ecc4e01baca80725a5eff55d37eb18020e7277d050dc6c38e19a155412e714a518b63bfcb5be22b97e16e0e32a72ddf9c069c3d019f43b762f74ea8d7e4baed5185ef9a837decccd647ba38dc92881a86c9b59e9d0bb6c8ac0b70259de8b80bded1c219e20d4e0a8bc0d43cb963e7ede5894e037f1207259eac7cc29229664aed0a38fd1688587f7b11ccd3c5dc1694c71fd80d6e8b47289a1beff5c66486ae6f57248bc3d16cef8437dc2ab5e0590d9db082a616a5a281f3899d122cce46c61191da8b75fd1f74de5953abe912c63791aa02b3ac9fe456374ae177da37347644475ee38d5d00bc6d1ad080b5efa77202c2ec609ab7a43c76be76d805a42ce0f1b27369bba8bf23afbc3b5b5a8584c350cd2becc04aa72616718b515e2373a034c6bb16cd0a4e9a66beaa9a2a678f25cc8a253eee1876c2195f1150c385bfc5805a7fa03aa66c4305806e9558545219ff6975aa5eabd72432f36bf8352986fc79aafd753a97f7bd49319e730cb446e4378bd67a79c59723f15c725a5db8f9dca9d8592e8bc5ef9ee20588f1fd535bc6fa4ee18a11fb85f5207ec0712d9f98103f5ea21b8f2289609ef0d346dac2793a1116c2040a7e35a6de3107bdfa01823ccf99dd48eb09fc441eea502f12d6cc6a4e764b99003b972f984548dfae758494e163730b20e7172ae0c48584e8d3d9e15aedba18fca2b720ac3f7a307af406d4b724b9db032bf22941de510f8d5a6579ef8de9775b247432d556e763a55d74a11b97d3a095f731a9e48cda3669f088f5b3024c31baf117237dc4f804a183b37dea5afebeb524486c1f4d4b2be3b97847acc130989e46a38f1984c1b2cea115af315fa802a4216590553e5be66fef1deff8cff3d25714f15fd13a54576882d31280a5c51386989f5f0d4b9a9adb9b4e3f13143ca0dce644d34155916abbe8282a0cdbd64d415d6b24baca1b1b27147bbe10c3ca4e36da34eac91e259064df41242a7051fd1386f6462289ec8009da40259762735ee694a39548612504a6b17cd18f288c3cd5d1e0830104a20f4c2d679531555b7c4c07301bffb071150a5158550e247f6d5931adcf89a88d32199edcbde7792693d316649c17b93949ec6996b48ff13383704aabfedb8162d42a31ce1843cad3dffa4af1bc33f6a7fcbe40837bf850ab6a68005616a4d2ac89fdf0f1eacb3713e7e95e472d1828e5817dddf41f882f0dd101a2f0d486deb671f4269f2f3cc4694405c06726b51744e48c6644431084069c276a64922aee265c501badc4b463f9f71347572bec3aba51316b6cc3dc077da03fc1681ed8430290b94af6696dc5d0bd8c31c72ec466d722b2c7ad0c4de82c378e5e273aa715640a0ee58655d22ed02f9a8752e5087e99fa1d2db1b026b7dfec43fd837af0fdc982ff39c6f10939e25ff7d52118ae63fb953891b0f6af023d5659d15db7a32ba727b2d066f98fd066789a4555a526583f0a1b015ae843ee7c897b91216e9a96ca8fb080cbd1631988858b982725aaf6575641efce25d045b37fdb68493c888fd2c9f7451ebc768709abcaa70391abc5420469fb5919c5af32c689326189b3458095d7ed6a19b1b0471e852ab2852e0c33e36c7da1a598a317ae45d9ca621661344a47a65c0d2de9f8b0f973a728355351e9f07a78a64ce9c6f2937a21aa22a75354be438be867f17e71b1c9669e14fdea42918c9ba5320ae66fa35acf63c2df88610a3516ee7809f6f00103a728c11a87004adef376d691c83470e7dfeef172c1a42345268b64f30a35659f15a2a8447bf2db3ac9c6f3fcd59b2a0c20c1a1d59473315ab45b052e60b75888172707d1c18cbfa21745c2b9c155f47789be871764dc40d877cbe6e8b05c65afa728142563e7b6c4da5ba2e06c5ebd452405026a9d5c989b6e5169b91155971c6388e98a57aa965ea4ddc81222a0c9e5aa888ce29c97175e48dc3c0456cef9d98727785f8432d4e65ffd4425ec737fedb252767d44ae5bcaef4f8f32c74444d2572ab7238cc41ecfbba0b7740e4b7da9f9f0b300340a620cb99f6d38cd623527672343616fe54c1aafc39b271494e3a265ce3f2410a3c3a14d6d7c7d16dc23d6072bdf933607449381dd85feedb73588fc09510372eeb99ab9b090233df8f1adf7263c48503c143529aa94d79ffd60ebb2bbc72ef3611b7c0bd6354b7af4b28c3411acd58ef81c4b4670c7c124a865d8d03fc9a87067a3e1419001b61f5752322725dab3cbf6ba862207fe2f33b44f0e20fe8b7ffb87427ca71b2d65d4d26650c179d53e9747177c255c5afa9453d6ce16fdca0b704453ad5356e336629469b7f720b2aed0213b6c853bb426e7356356829df2e5a78e81462e7132cbcdb2f090472ee1fdb557b2a9ad17d337c838c7fa12ad301d82e88d26503a6ac05befaa2647208c63501538d5e155f6bd04e7f0fec1c547c4179a99aa45d7f60f34a51429c315047e9dcb9b8e36174bb3a07bc398d457ef4e736517821ce9007813b110262724157f17883016c66581c33f64f78998b2534950147500f4c0f31e66959edb446efe99b05a96ddce27276873cb593ca008fa7a6e82a1017af19f0232802917f02679fa7ed38bade46303f54124be475b3755cae4ebfafd532305e4fa1cc861d7257905b5816f179dabada52ca384f2adcb3a96005fc38487ffeca2cd10810db72a8342aff32b34a0d3e8ad50a010640eb8314ef1b33d45118a52ef126c30f4f728d7b6566b9774b621cfd51a5d0b2dc5ce2d8bc4d4faf02e24e48754e8ff6247257fdc11746f2ed6de4cd130d0e366ced3b5856f456fae499cbf5107d3188e27217e8c0bea5859bff8ed34c58627a7364c115980fab925daae42cb8bc9dd4774d2dbbce44a91a5422be23221e633cd21f95b1b78a50989aa48b61749df5602d72f146b6a484e35203831cc7ca09a6c59fef09112d8a01c705e85a1d61f2f6d3721703f90d4b30fa0dcced2e2cc1d080ba3d442f66f9d1e34544b5678bf657460d548dc18a10cc8eb344ba9035636fd9cbc10dce2a634a34ffcdb8e0ce5a796172a6df555a09307146a4a28a93aa926724da026b58b9f12363c9dfe394ca4a9072188f3f81af04f68e34d4bf6a9f6584dc9be15559fff91ec903741436817b5b61b5ced415779b120060f2c614acb074d25e1b25a6b91cb3188c9f8af1d25f5123f4a8b5f3376a39ed4d32e0500f508e54134d1f6b1ef9dd865866781283f74a72eec230bd1e097e97a39f61b86e0d7247957b444fae628fe33b1ae06cc572c772c70055f4c9f707b94aef3a3268e9dea88d7b06ae6b19e4177f25c4f08dcea0729df3acd727341b65e26069ff8ecc9a84d072e018bf70d506c8083b2fc8e9ff725458c90ee41e710198896b20e728599aa8aafbc1e0c1ef4959fe051be0feba72dda0ab7002ef9e0131e18788bc64c6fd1a7722d0a00a4d26a5c95425ca3a5d72d12726811b23ba5ac0e9218ccaa8a39b59ef267137d9e801abbea6e7063830193ad38d667b7096a948a354a8a2387d14ca599844eb18308bd78bacb3ad09075ead773f5252f40a9167f670bf0be81f6a506b4cdda69f77f33045780398464a724a4de2eca2056e0143017f0aaa5ad2d5d9b05af027f8d9a2ca5d0b747c505544fe5484bce0916edcae94db5c954e5603bb404beb985491694d7e77782a90c97297687f6d8ecc5f2ba98c67c7bdf5bb5f59ab6d3f9d730c24b75b58ae02bbb95581319118bedc1e96d32546ec6e076ea280d27f59ddf202af393a94fb8239a15f7578ea242792b84c49e07b0aafb961dcbae1333f2d950cd21de87e5bb7584072b78cd288630d350bdd351bbca38b092896aef3eced50ccd97e9ad653e6dce772f514265031cf6586f956f2014aa879eb2b76fac911f0b30384b74c32df082a72bb9aa6560ee324e33d57cb4ff728c52541f9694edcbb411e70d3f305412b01728b9b4319d462d26438741291adb1bb0c6ed3482a227148f257ff153807f28f7237360fc4f29e8096c9108677f89a389c9efce9c1f107a6621a6d4b22c3eb497263e4709781d1f9675232ff0214bfe4d3f8b25fcc8b47bf9e3e33b3a7ec6c137204d8302f2c796f0c9c87ebc000b6e5538da4cb6374a6743c275ede79bb19ae68129b4ee50f4038322f39adb4ea38333b803bb69e96a1ec60e15d28789bef2256eb6e70c9f1edb4a8715912cd2e5c6150ed2230876cd9e47706576e24fa561d63e0cb90c755f7e065e24ad216b126c142829a4e68ebe949174eded2c00f39754b77ac8e98f1f5b8f2116935d3e4bf346bbf78cd33a5ff1d84453804bb07ba5c72c7a26932149bf37c1996abe4202444addf5028009117c88923354213179ff006f7ab41c3a71b99c5674ba276f533110e20dd8263dcf693c9b64b3f4bf0a28b723000a51d11d25502bede1f8f725645173f6ac896e4a4e42f33987e88c1f356729b5862da2501f7206f2292621ede9b70f8a286d4fa2347949e8686a6c1f9602363c2d4e994d05b54482d40ec380abaa3f9c1871926dd35f37202c44878841872badbc629497293b64f2afae47af2361c8d559db3f95c8e8afde70554527f907201affad0e8ff88c876274d3be9779798f34126d032e26f33003230d35e7e56723b8ad0423297ca713323c84ee0b7d60b7ff6eeea747f0babccf439899206ce72d6558ab974121506bd37d3b0595d738e01fdc1ff0ea1ed03e0d7015d4c573f2e3db2ef534a410ff24ea0b227919ba4f18502c65c1e726098960d96f74012227270e6d9bdc8edbf3f29e8423fa2ac8d81032fdf9bba84699438ff0c0b5c9069722627d02bb6142fd8d2cdee57afb6a88afc68a9c2b05ab7bc547fbb6c40babe1daffddac9885146cc095ba5710fc7ac04d0623aa682dce02c8ec6dd46e718b572d22eaa74d5fab0971f9ad50bd6959399e0df6c8a20afbd04f7a1ada1db5cff72e930e638528517e13f0882df73bbfccea6327a5114148ccfd05860be2e8c057219a368f3595d3f49671a56e05fb279ad247fa3c0c3c0c6e56c8bd97ea3236172addc815c531fe298d7c25dd55625f002533ca1980bb2a7ca7af0c447bfda81725a3b25fc9eeccc15c72a83db55fc351e2c2fe3881e5189acbc1101433f2f8472d327530d7c7569dbecf2edbaf8ec98aebee719bdd2f4accf34c2155ddbfbfe72da7567789b52717b1de1229fc3e7a96530da2e554403aaf241d3036bdcbbee06ade44caf55793e18646394897a48ad0215c9d41062b431ba7a786b8430349272948ebdf2cf946c3e15e352e06e89de22e94db124353091e6e4bb356917f73316317525084e446544fa7fb14945ef53a900324479b796d4f0e38f40970a9ff7720e116d8e563b44d821a813ce1ec9e183b51fefa8e4043f96dcd5a56f0da4ed403e37a9186ee03762ba885453cf18063dbbc84b4df0055039107a162f44d1b972ffb157001a03e90548b0399e3b7a823ed00b5087679bd50afd8fc73476fead72af018ca1e2d44f5c94fc1fb052aafdc1d50574b8e928363d49a78dd1d6d2633d5f97b1a07cf9703bd3ecdcb222b65824e24c434df329d4107b5a867f57d60171311128ed6dd5e13ac5aa591da3feb47292136853379f47390a4284963a4221468eb4f9ce3c8f9c9e538e5a17b0e471d750322807e7145407a378ab1b9ae754532f4e4eeb374e66aa4b90268931cd72caa8f7d16cc509ebe37d5eb8f24c9e2c60020a9cf145bd353b115256aabddc95cd2d9ae6c45e064e3ca3e5abd34cb70229ba991738e7cb0b49bed2566a0ca1961c12e2ccdfa9a2d2ad977de61720b85b2b2588f1dfb3719ece2231fc2c7c4d4edaa41e612af156f0b59f3b21bfaa30fc72b2c20d95308a01a69766b130263564254ccc6f51fb3e3f35dddad1e088b70315ad374610e1b9114be9b6d6a8ad3028781b504f363585ab86d7a0fa04f7dba772be5a088a858fc333feb3b61bf3b7786f3c092fc5007360c33da69ecb6256d66df64cf446a91d5067f2924ee1449f16da26894a2e422e255e7a3286094f4c617216c00fd9908508e028bfb7ba60c0dec6a1d00b11cfaa71d922b55a5417d1c372813ca80c800612c59505da0cc1682490bb3db1f44574876e7b3151069db6d869fa058d22a0cc33b2ed50cade3e7e7ab115673c98ec0a69c496988a6b52cf732d6ed20e8e93e0e0345d07b55313ed832d5e24899d8e7474c0777b2a3504fd8572fed420b0848993d034b27dbcb8e4b9ace286dc3cf6d74004513228c2f7b4e30986e5463b818c53be62a67a43322cf31cb05d8e82e30a60c97ae7b6f633b7ef41958981301f41db2a62cd8cb623f9d4e5ec8440c7c97dc9f00bebe89dcca232728e16e3ad5b154d60f272ee32f6d6ab7d95fdd5bd0f9e22b5c7023df972a29f72f6f947c0de5f11aa067333b2c14530fc751a4870fac2001b1b3650c1db695521d70385281f81b050236d01fd32bc5515a485d3fc7a3775da41a063d0f7bfd3722f46dc43abadaad2785311bfdfe67e3365dc5e8c2a36a697b4acd539aeef147288bad98ccc27a7f076502ecc4467d260f941a4bef0f2caa8007518238c658e7205ac9ea895f96b2043a97c61e5720ccd323463c1ef39fe60fb86801572307f5f76b9cc8e65ec514c253b6792f94c1efee44c27d0fc23f3dd8111c4dea16ed372fbc573fa40ce721bc3ef5a49d2e1b89096e30c2174f326d69ba1ebceb11eac72b2aae67c2d205b6bb0654f8823a680faa1a1dd7bf3827b257b98abbb3e5dad7227d7c5deebef55b51bd051ed3cf5e6528d1690cf04b30af3f9bb796bcd6f611df6eaaaffb9f5c7581d6d1a20730e62a730c90ef355e05a6d93a41ec4d7d76672a31ccbedcf1ddb6a1635b9489a54b884ddd2cb1686b21b99ad52e3015e0a4855a3c35d2f7078739842027bdcca0089bdacc93b7c35c23ea57287bac2a0df95721c8a6c318fa8d962eb411d23d8f770106e7daa881588f804291b71b521c98708bb351f9f884ddb19b28794057cbca1e3d969be8f213774556a085ee2a9e15d72b140be59df9adcb946a8933e386ba99b53af5d5df61a868e8b510f9b3dbd967226df7b05bde21e150ea7f704a8c20d790985abfbc284414322931631d5344455d815116202a985f1601e4bd75691e1a1e1b5480bd86f756d0ffe41b023101b4b425781293cdc091fb8e6889499ca9c0f677b90024efdf69ca6d377aa16845c4b93fd6d9004cd899e478aa8b59d57705eae171cb8d36472d694ec0a50accbc76b3c9015cb14d08add176b6d4cabc6ac7bd4bca209be9bbaed28ed327c85222c726a60e987a26ec2fc747d7df21c34638744bb613362ff1f890692b7a696ddae729a66a7bbe097d696de161216007f63768d72230b57c82b34baa35931196fe163e73638bc5b6c95f60e3f4791d85b7ae24a970af206d6ee6e015e9ac61ffa7f3ba557e8da04b31ae7cab4c8448b464bc509f540e75124ca97a3c8aa14acc34c4afee7c4c326394ae8d5298c76d54516bab9c3467c1eccf947e491b130d0f7aa7262f0274df2ab657969fed9627fc3c2b02b42bd0892d89b6a575087dca37bd172cddf65a59dd924bb1548fb53a52af8a6e0866b0db04186d43e99df0fef811072fdf5151b55da992f2093ce03e68c3da65f6f85e5e3118c499bf8c0e6689ad972bdb9c7092962748d2c946b1117335f72392f3c792cea7044ca45c30c4dc6e572200f22c4eb34e1675069ef98a8dd17fcda1269f4613fde7649c543928b8e1c35b5d410f0cf468143f962f0d514a0f6ca6d197d8377ae41e6d9100613642e0172ab7374142b9f3a504b0b734c27aeb640148b656995c2e982696f9e4123ed4572a8ae91bfe670841a0899c5a3d7def912da5a14ae0d3d759f719ddde14d988b5875a0fc5b6fdd952ccc2f3a18cce9b3c20dd346c0061ccb12c1b44ac7b045f028cad896013772555e36912edc4c3ddbb8073636841972581f47d204bcd6f94a5d4f2aaa9d6a6d9a5462415be12a96f586205a913b4bf2ff56f917ba8089a70272575c1c36d84a7bab921b9ba24322dbd87f0189a7969ff185ded6db9aa29eea72dde19a6bdfff2a5e5f92d5eb6ce1b6aa934948800c37f6cdfa839ff3405cb372830a285344337d6ffe6f0780e6ee635b8ffe87f47879a64503557fa429ed7d2ddfc495a68843296b1c3bede94393f5b0d57f71cb64cb64e1e97e5d26ffdc893a9d55cead605153ae677d57772272120a3672e1bd629e6458e674704a4d28f17253db2c9ffe5f970eaec2cc2607f8b536ff773c5692e4963d979e7f95c5521272f8f466e9dd4db6d90a48303001952ca7d48f86aa236ae4043176fe169d8f017283a8c75536a5ba83c75d0458f4e8887e4e2c6194bfb056549e5a14f154252c721453b456b90e42042d1dc6fb509a44bad603a6de78b99297c61491621b728d72244c9cecf19b6bac5e3346f0b4fcf93612ac27f2e0660b5d43afa81a6928c272d5ac90966812316a187621d3fe9b38cec33b68c93c89f40485be75d80f0637615ad3497340a170240c33183839e67b8f07e9be2c806837a3ce8e618d22729f72e8e999345941383027623df7e38dcb3b833e4d25243c54ef881defa8ecae4d70687c319f63537cbfe2930e147e3e424b6f7887c0d8cc1a1160ca1a9b5c593672b3210120eb41cd1dcc86064ba560d2879a74cc80cf1e8c0b2038e32992b5ea72d9bf56d59d72a705cb23225956a3547f4106bac76c5e321485214ca968ac522d5a3d4decc7ed35f714255ad099ce22e462b0976c04e5d3da2f3341f7cada697282501bfa92800188bcb9fb01f846645102f567b20a6eec4db43e1dafad85b8722117a8ad94ee1d9f371912d062542f594107ca9f21108e2c0cb04f1acceef90561c8d59331f9e56c462b74e3a483b64bd2db16e2c7d1a5ccfb1b0629ec35296706be582e24a8cb8227e6978afb6ccb6c8aa51b33361b32986884b81e6c140f63da597c5f082284be12e627d1f5bde91e1612e9f0ed98fc6ab89b561b989bbe32e54e7c2af6252bb9b9614b0ee7bf7f1eaa520674d93bc4a3040281696e1cf9727dfca423c4dac4db6f0a278273179625bfd71d845b46b95eb10aeeefeaadb272573fb68b7cf24c80a90a4b810f27da3ba6ad2c506455a1d16315bbcb37c2c371c6cfdd092c6c1a8880c5457305b72b53451132edc584c3e25c4ec606682ab5725c742024aa29da05cf3a7ca629c6829c6c3bbae86f5292d4fbf4213d15497c7271aa9ae6895fabe93a13116dcc9e6e934864812a8f6d1467ca61b87d137414725f5d7ead3a47f28ab2b24bac79e56f906c8233245fe793771fca41738cf11f7266a7cf01f05c39e0c1dacab06ef56d203898a4e217a6624beda485d62b3b4f72a0be8e35e1b423ebc6cfb1fb533cdbf18f219a2251f372acba54d4b27c36f872239eb04b9ce898075f7d22013a5b0c166d3492c984da6f498ffcc519fa70fb713aefa16d7ac0e7906932d15b31dbf8ea6aa9648472d49b25f57b467d69378e72539a710672e2b41c73369f1a7f9048eefaed399f005c3d179126081c22fc8f723ad303031feaaf1bf3867265b2566ce38f24b0c1be3e2d233bc6fdd49b56e40657605d2e8f8f03457c8ec7f82c8c3a5c48dc7a5e367d07c861a054463397c73385ca255a4733ce25d1ba22771a6b3ec0449ab824c5eae87148f7ca42f5a01d13650273081fa782420e8caae2b346ce9db51f970b29d1df1a7cb0325a82a3ab27c1a8bee1b5ec502b8cddc0e81ca6091594c21a169e3f7a67728813458d075a72b62e0cc5d005f877f73d87bae96e6f3a045a710f8ed28289b82d2d1d2b3af4729e5ea74713a28aec9abfb180ccf3e518e8a8543bddde59d87524551979cee972e9ecb1a8a1323504cd17a7b64b98a5076706e414e5eaf83bf7768725b2518910a9b175c316090ff7e1224cf64e627097929302a6af86e0aeef85f2b2bd09b472d06ee4c8a004527ea640b109180aed39bc4741ea9251436c6e06ce484b259e72f5eb74e628398ee0b2810dd51ac887995943791a4816bfd8c7b5297b7d1aa972d504a06bee74f7b319e5e358ea740640e9663f64d94ea6d3f6ae3808ed425672b26beb94c2a0479539160d22c3268339319caa1697e877906441204cfd324e20cf48f99ab62544115902eddf3470289f9ec6e0b671ded91d5f79b363c133c0724cf95088245dc5c8f58e475ba9db0cd8d94d3c4e77ebb16c6f8409eec8e369724d1abb756fde02aa169dd0122bc05778e523115ef6af4512d9b892dd84018a6c3d140e8d9235e72b88eb58c999d26557df40cef1d794001771c29fa77de01d1fbe446b67214f58bbc24ddf4535adc14ece268cc039f923a507a7a780c39edf72c67139e5f2a0468e9cfc22c9c58a5615bc4be95cde369414814c75d1fefe5972d8e4f72c4afbbec475ac38d7adea97f29f16d3997fe0d62b4a631408d996d961bf23e8da081d5e1c8fef7632b07abf2f8ac3b296fab204fc3aa74b0ba9dad3720f84fc3a9b043189e76f160b730b4c3685b7e3f24c30051ac095248444fe0727e5d76ca1d0416d6ef6213da87c9d5db50130e71b4eca12913c57d6934dfd5372202d70ef3f5f11dc3abf0256ef2259adb83da80458477162c4394ba02899f44dcf6d25f3ab7a3fd7679139a69c23a1a95059169aa3a7e1176c2b12f6ee5215727c10526056c4cad112da123ad2d1e2d2b46c950ce9835aa561880bb996881772e94427baa61ae518af04a328954d7557c02b3e1f744e84bd145a86c382498e5a0e3754ab18afd76f55cb4d78f4e8b941b4bd55dfd8131d2a461b5aaca07cf734296cc01aea56a981fa9752b90e1b8304cdef81610d0c5e697ecc438cab65e772f0fef9d6848333a2e50b21705e5369a71dc4a975f0f55af29a44384fc1453c724c5866766dc8de304d11f50fa96e88762bc1236e843e6c7bcfc763c2d128b572a89cc8bef59860647342ae489980714b7688978667109041e91310f5764fa4725df8b3973761239d87edda3c3ebff81e0105b645a5a385a6a6480fedbf980f7239aaee1ef9241d972256dd421a52983c80df28f28232d70cf829a9772d82903b90d77b57bf6e77aa73657078db3bc3607123dac1288e8a9a815a6d01d2d60d728e9f36340957e00cb01405bdb812c26faeaba09dce1683a7a177e1ad9ecb4a38483f22d840db1a23b328e0d4b2c7f46a7264a9d96b1e26229f4c2b23e5962e725e3767a357214a6a5ec95a08cc666be277fbce5d55df900a4834f72f4a8ab803a9d3baad031b739637b2b56acef02aae54bfa1f9089ea0008d31ea87259b72685ca87b0146823d7688fd6b2d3c5474f34b53e7c4e4329e4bed54364da36c245aa18a4b02ae6d91ac3b126c937935d9bf119da06ff90b41ad92ab9fc0876e1b030f9534b7a92f9a845c08f2537885949be2aa1a3ff83e59a50f4364077e31a272d84b002e73467eb551eae130286672ad522cae758fea385cd6574e3be84949726b0960831b1b9ccab61b67fc14fc9100b3e1f9e8a6c485fd57c59864beb7783cda608ede6ed11d5398c21f85b7e749852ea083308ce65d999cf3eb2ff34414725e65c9a40ad1633b62950b0c920d65916fce3ce7e7d7d99b123af9d90e92066fa653a934ff03775b64a2a54b7d88a8be5239a42ba4382eaf77963ca01e36cc6ec797a18772f5922a27c4360182f67b3444d035018dda549975e6f694a371111341f927c1ad3ca82f7e3b3aa9419fd43c1040f5d18702a88646f47e45650c4172b1d56a6414283572ed0f79b71fad0676e03df61b21b3c3da65de9cfe6545d07249c67cf9cd20782c19bc831c828dafc97d30ef718bdfbd36ec91543da090ec72987b2c2ea950b339f36d71ff8573ed331018f9e60638195440d189ca05836c720dfa54bca13ba39b2584e1a6641c61bce34482b89dbc92bc3746277ae92fd72c20c00a87ac02e8f68afd1f83dd3f161ae5f20abd29139e7ab952af8d06298672279865d9cda68bb32ff33104d295b0d1e6d4a2aa81e159bcc876c36c0946365e67d745ddf6f80bec35f6625ed8f120dab2901b239d06d72c99cc9d60fcd59072f6d56123c2db5e1101d00864d00b369ac2619dc196669f1f5f642f967c90a0729bf455a5b03b64fb7f67a88b2c3f221ac7a59099f87ababfbc9546219fc14e7297ea4cbab48ea6224f744068b342cb65d0f858d2395d2b10d783e648a41ad67223519760dd5ee8946901ba53b22ff43270ceb9900b9a9c41b6396e9031827172c4a13a310a542769ff37de967d5618756f5f709f717a1d806d3767842f6eb772de4e25fd22a1c1689088c176bcb6dc9b903f35118e5c7800155e07ef79e2cc72dcecd645b41bc47fb183103895cc92f90ffce30dd452515a6e21ef7f2bf12854739aba274c52a3a37ecc76aceaaaa67447cbe03622cfb4d1388f273ca7803c72c05a0c1f95d4794fc7b440e7d9155f2d9fbcea93e75b61d55a9af5755a4ecf72df7625b289ba7b27a70978ad52270a5df35c06d77725a74eaf9370469dc5e566a12458fa9c5eb6260cadf94e4ac2d0668ee58a013ec66f239a9851c5742fd372f466e7ad8e2df72e491b4ed5b6cec4c1b98d7075f3fbafae893b7d298c33bb72c9fa8311edae73d6fb837b3edd4f6691178475bb3a33532ccb4c0b64c095cc725d6efb89414cb559785336aa7db3ba88e0c15a23f27aa7835c0f1f2f6d47351a82f842e3b22b6b8471c6ebd2ce45836cfe869a9f308e79ad48bff32c99a3d872ae1c91786a8e8205ff801f5accc5673053d48f6df46d2cd9fd4691bbca279d727e63c8a64d89029c080265b1d09d636852ace09a5b7f56c604f80a1724f2b0519456b71e3fe192bb19a149e3278c854d64ac2848f19a5a9587b073f1b5a545126131cffc9e87d2bef3a9ba1ad071ea56b1600e71a4f2837d7197eae212f09d5f8eabca5ee574d6243c186a4b5d9e14800fd6b7e74a766b897846a0fa164e452491829a19b49e586c08b224ac51c4dc78259f80c0e1227fa22ccc0724057398729a8b4af17e7c6f58cee9eb9475dd75d85b2e10d817bc21be4dcca83defb2b22ece33026b5e6eb9832ff19f05b6aadd9194ae1e2918f99cf214c489251d8fdb72b12138e4574fce4559c00aecaea77393a86aab54326714e1d9ad60a77125c572f6cb05ef53e4a0659633ed48757f782686889784e77d77ae87de3050f47fa472ce2d5b4f3f91c952546492234d9ba489a4e0f5ebb6b8344a8e346af6d8f9e9720af28e4ffa6c53145cb570a20e08741b569a1b1848098c3947737140955c2d72ae2ec0bab6dd8b9109f57a006afc5a1f7177ee63baa2be4091cc85b4f402fc58ee4d7b6545fddce8d9e947584673c5b4db6769a4e594ec7d3efb12dd7c156872c19874cfdc4c0fc55c777ebf32f6cb2b5ab8298bb906445037009bc22566547208447c44af9761aca8aed5484ad443924e46ff081c816f5854c5d20f11fedb7250b49935e38b50ce12db03bf0eca496f54665c4794ea3f4cb5e321b9d74be37279f4d8f8e8012ee533a9d8492311b40b61be10ab1a2023a23804d3dc51fda872044788d24129b06415bd551954f9b83ba6efa7958416f263a6ba770632927672ef9717cb7ea1bbc3fbd6d624867d1a2cc5e9e1a054c7e69876d51188f350a043dd371f13e1b315e22903fdfb3d80c16809683503f626be691ad85cbe4a283c723b03c0dadf9da4d112025c0fa48b8e2f73c5b0ea9434e5fa78b30bb84066747296716658235ee9d11bf0026fbc802c957fc92d5d073e922ee9a9e90297e253598f4c8275a58dbc0bd727d6815d3c92db7d5b6ff566f415a555b4ce8d56f0895efdca7507e555ffeaa996695f53afb1ddbc41f6994a0923b340cdb47da9b6c272725b40cd92d84e28af744808927671bfac7639edb7ebb70f2b9394b5850dd472b9650ab4f37c47800cfc5dab8339b6c6b27bc50bba470702577bffa3e184aa72c03741130ea14173c1334e632f8c5a0969249121eea421627767a86356b26e72f958a4c43964b5e3b191631829addc5b3e8c37404d8bb92653821de1b9b1c04caa72c47ea2fcde002ce1c6c1c9910f32f71ebf6552c90848dd764ccc8ad191722ffe0d667198f201e41a502b2b73c7fed89dd033444661f7c51f05c29133802f2118013ed3b0119fb1658d32cf927cdefb4f9f23288f7e9c1a4a1d407a14f53f4c63d0481f4f6629855d08125941ce8f20d1c26bbbed8b09782a694dfc2c6c7222b22d05e0aa1f23d1533994db99fff55f581329585f7d8cfb61b79a986a6e7239bc3405d765dd3d3c3f25c6c14f198e499c138cf7cfa85498b19c2428651a7277848d4dc9b588049133ad825ebb6abd84cdf045f3a3bba2000d1607bfde2072d0ac0610373dda9ea78eb755eca239d48cf0207428d94041fd35596169c2773c9350bbd11b3a4a709d31f1420e9c38ffc8a949c404bfe22b2411012bd50b7272163cbba397291cdd4c472a67804795807a93df009600553e7889ce0bdb522c0460cdf125c90b5c12134c4012368fe27fc55d9c7c7960a6534e7d96aa93d034350881aaf51653bb227e22e2ffe4485d0917910e2460ee2e6a86e106ce12b12c65d9fbc313d956b382c610c24cb5bc444b4d6bb5766ad132235955e83dea3b8e722da8e9efc0e5e249649b267bfc572a23e93f424862222fc72b4aa1c21c27a01abd70566de1426263e4d2c5d9d2233d4d75d32986bd9a139916be27194a98ea4480dc3d90413545070d67326456ea3b7a811a83bf1dc9da43803122959015a049424b2beac782d78de9bfec39cdfae9c46601f0a600a8f690b198535c03b6835b74b61fb425947ae4bdeb2d31fe84b0d2153cff8b0393b7f0194e0192bd300f2c4752ba7daf6bdea1282bfadcf0f9075886684154852ee4cde7d1a36ad0e2b372d4af3fabbd96738efcc60b2b09e976dfcf02c623c9de848e1db1b0321de98672ff954b2f501c97dc7b917654c89226e72202eef6cae7860069839da959b69f43b602a26eb90df3a2ebbec0f3d4b65c216fb99b08246d7ce1679bb084fc9b1a7270e46d936eaf98507934f09fc0405b9f49ff6b4fc04c5bdebf1812f75d132309c6c95e3018bbd81c9fbf84e56a35506c51b747af490dd9a84708282c85395a66204504291b319d0a468f78f87306c231a7e4adfae824cb9dd1c5c6049b2787728c0451f7a701a7bf02eabf5582bb752659d8b17ab47ea76e9e5a8d8378e88847b2f699391c417a2497fa9376acad677a24ec1742b03705403618fff333ded572bc0fdcd3660a4ccda7e076e2bc4da31dafb7bbc228f4a32665010f32202960121ca4af76191579128b39c487ed9a55e0f6e953e49d497b7062e0e855e35eba5f834ac5139af119412f5d70f81cbc285eaa6e9ad2d3c2ca28a5023b94ae1b911d0c5c9be8e5d907fabc0e7db00b0c722cc882b627cd4805b01598b814d1144572800486d9e8d4873d8ab8f06d7c0b3eb3b113cfc4024e3841c9326a220ec57c727e0a5a2e4608aaea045ac658c9ca34203b1ba6f1a907e71723d609c174c4e3400ee2b5df1f24ae426519b0cab68ec7ba3738b323984fa990ccafda395f0e957275d90d83ac6c67328ea4117dd826f8d732f5841c62b396e1fbf66e9f6d627d189f6337315b987814450e35c52c649b6e3bfc2e300646ecb1d60b0c6d293a166390e106e90e58298fb13574c3cdc3085d476c798308fd5786634985d1317f9872fa1b863408612a8ba523b289455796802f451596147350b71a72d0f098b4067213a4c21b598cb9225bab9360ee3a080d1e1c6b74ba0c9a9702de9a234116da4383ee02ae8378f02add9572babfbc10db5da06ca394e94258c89190d8f3248e1092b9683a3a37d48d18b839630294f01f5dcbb62eb4eace220013042f1bb08a41b523a45cacad166eed72b3f65e5ac755b9df87229b04921f84f0560109e66e7036feadce1ff8b8bc301855b6a7490f99ac4c75c1fefd6a2d4f364561a7ee187257ff1d936dc73ed7d9e2252a8ec3a197ee5467c9ad8ffc142588231c0e893f027e556dbf02d9690c97201d210c40dc9cddf3129b2ed7855b65fc85dfe043747207a27367f72bbf26dd3c958e08d25afc3c374e4cf813da39982fda82bb027872e8ecc2875326fefdfefa1011f9ba2ac2f06df78b3216aecd150f5a2820dde95b7ed7c374a5ec28269d0366690667dda0250ec18118cf93e2b12dc4f6a67907720c87af1d760345d42d1b508fd7e7023daaaa50d690e8a5b95ccd0367581a18721ef4c62b98d5ef73d6db02c25642fafe23bddb951dabc2d50d0ec1409456f072128d625126713e0cd20c0e9eb1c4ffc56ae42bab37c138290c16caaba20c6c727d4f24ec06b6a78699b0b2f42c06f66eb2c4558138c751538e3034e8995279727b43aa8a2e5efb3cd167697b39735bf981b3dfe404321e7666234276fd1dd9723aaf283f7912972e0cf72c92373d1adf1608224316a0395cf6ca6aa78639c33aef8e9f3480f7c372fec7e9693cba5a3e81fae2acadd819093471b396e19e93004c64cc680e6edc508c0ad2e1c5c406e80f4e5a4b3a62a35e1be0eb32b083f41c147495a838878dcfaeca6dac5800bcd6f7e7454b472253b23b79195d6a1106176aa22e0a6392f22f15cb245623dc15efff3120a017d83f39e6de2b2b483cb852e3f15ca774887f61d563096f218a7285c0699427de7e99e497272d0fd585d872dce9eb09fff5d2415e60174a9e161de70dc5abaa9fe5f08a6d5ce072b1dd0c7286b1f2f9a66a784a9ee185662d44be4df7887269fad906c3615e15db6d4b5e22cf3a401107b948a676d1f235a923562d77706f61ba2b7d3b4beea19a5c0fb81b6dad94b3cd59a9f53c32a9f95e2a16591b843bc65ae77037795c235cdd35a91adfa7b446018963b2b42972ccfbb56c9dc1b3608df27d854a0b6114f6ba302e727756cd731bc25f180fcf1368437f3caad20f3ca951d240cdb340bcdd67700e725adc32bef268a78df7dcf6c5d140ad1df23d29cabb11131a82e2c0c900500f727b0872971be9910c13e0fd015c2d5dd45e1150b79a3cbcd9e61d15ed8d81335a629504546d8b99d29e0bc8bd55fa7f829a528c50ebc0097edb797723a2b17272cd6bc584b73ff608df0a53f22c4406c86fcfbde063e14d28df4ff2c01ba3141037d0ddc2981f44fce576247c007c3ad2f1d9328e10b2f24a0e5c5941faa35372ca3177de71858c1a7adade1b6ea40eb305292fc1acf4d68984257b8662a79972445c9953995e8342554c599454d8d454e7be8c4f21e1c7a2c5baccf918be4572b7fa914c3e66c0033ff474d4698ecf4a2dc19e5967433b84f97bb35aa03d8e7282179ade802a6d775e4494a4bbe11f4272bc65dd0df6446b7bc4dc11c14da572d1fe5e35aca40e542d4e7882bcd11942ff2b367a7f568c585e5cccc021b8c91c4138f045437f5fa9d0d5c895ad8b613b874c22fddda9ad46acbb55c8e10c6f5c69971fd980cf9adcdb1e8c0fc5727ba41a65cd22d5f47f34429beec9a9de9b4cbe3435911f09d200a62d9fc43e103696db79b98be22fd2e194e90b2d18570672319ef9fe3aaa8b705b7ae3fecdfe1402aef868bc2be7577c0350d638a4c10f1163ac63b1ce3d33e6fec17dbc7fbb45d70ca3222b785d8318f62132aaee8fb972d5c0ac153b3e367dd7415dbb4d5924b995d229c7621da2866b029e52cf009c729e7ecbca81f6a6909676dfa0199d89a93dab47e03356711e722f729af5d15c11a3fea86e86d4f678d9d011b857bd20bbc95456cfb0635e0cc3511566e839a46dc96492d4b7a61d76d9af9c2c7480937544517f5ca40ec39604b77640fe843c2647483611e2d68c39f6e581e161ff39eda65ea7e42562dba49ce857b8098d2072d9446199f533a61554d81ec164df1dba2645a9af3da70e4efa2b212ea630280355d896540debd46cf37769bb58c5228a230c6fbeef8eb4c43134bb746550494ec138563d013a7c407307ee476ac49339271f258260137c4ece56b2f82cac4e7293cdfddf64a462fc37cb9523c8bdf8beb386dc5fd82d835d39c8df89070e3536befb5b8517770baa324320996ac5262db50faeb619980cee14c80bc27ffcd6729f97bf906604fd2cd1db41aa7b0338d1248c310eebcb7ac6df69aa65542b7610fc0b17c58a0cf36a9758f5f83a4e079fc057172c7990f659e6be59b3806b9e3e46ecfa7af334feac9612f6ba208d3214f8cce129100cb5330198d03527c3616cd7db535af9fca207988218674fd2ad6549128c1da931ddf6da400f21d6f687010394fcfbfdf0219cf9d221bc768ae273c1cde79dfc02dba3342ed2a3dc76986ae7d2fef9a554707d973a8f848580f07e46cd97f993578a3ddac1300f3533835251d9fae2eda2118315ffa0a100c5f93ff506e29a6f6f57c48befb1cbfdfa68728090f75918d72ea9b08cb6ac123361d86b7a0e6b1c593193b4ff6cc5d7b69d72e77656d4aa3dc4762ed7831b0684b2f6a30dc4298eeb4e187009d6b12bc228727c7578d861095f858609583497b45909f06133c7e4bb67ca307a7311f95f6072e6e71546e690865b71de317a0e2014112477df9e382947fbfa0c46898a2a6a722d8e451c65afb93df4570f1f56d5326138772e80c12cdd8b9ec72c56825efe72070bebbc0e4dca2df9a024d0c6c1f8932a8e9cfc9ff650f9555991c685eab408d49377e5201cd11e85c5395edec9954e2fe907950b3202f651dcaf929da53a46703a24a29adbe61f63fc813bdebf654ffaa459cba7f4740c717b21f99bbbbb13fb2e883232c573ffcd5f35de39038c6bacb5cc119d5d3d895e708d133745e7723c1006d5a2de3c84261a33c60594284ee21c2d55fc5653a465393961b7b76556e0251f4ad3eca31461938f2c74316e8bac3a0c170392aaf64f24e93c5083bd722aea050d8200f8912efd9b5b013f715b44b70a8423dcd808b6d6dc18a7f7f32deb65afa45469800839998d18d2da963c1ffd71515f3fcec52e94308e815fc0723f0197322513cac8db2d4f4eddd531022a279a72145f6555462b94442eec66727ecf5c1f646d2cd705aa888850793b4139b611b03292ed7d65563e23016c9c7270b3bc4a486e8c8e7dae8050529162be099ddf8f92059b6d8ef23ad53e77594a82f940dea4cafc3c3ec948e1d61cf331daf31e4efec01d1069410b9daa40d072292284ed57be47f669a3dddca29a37cb3bb1b62ba9e630b1ff71b165670b046efd9faa12c6e9516ad67d0132fb53841c12642eb6cf63e79fb51e1ecebbf04e1858b57039fd01b61bb56bb1fb78a6a232c32c3e00b465dd7dcd4768f09cde554f807d78f0b9ede7bc4855c01095efc3d655488ce455aa1930212dee4d0dcb5972b498a6db92c632e3be011a3d73c3e2a2e46694bdaaca0a3ae2273a5f3ec6e037ff8c94ed61a0a8fc5f6cd6e17ca104274160df05513cc65cc755a34fbdcfa772c974b95914e307e537884c095eb680d2e8e6c435a47bd6728f0eddb556714a726c1b115da3a9ef91032d1853c079ee9a0e73922bfd14acbbb4e762157911237222c7e6be86cf0f470aa15b0e207a47eb517b1ef5bf22b3985088f1d7e00e3170c53fbe6615fc156fb5e51b7d5133a4838b01679fb7280954d8153b4d0a67293c5633b9d768160e77bb79ab5f90e4d203f63782388d7a7e0613fd80ae259ba272d739bccbbd3b655605f8cac338259045a98ceb7a9933ac8b7a183f0a5a5a7b7248943f46615d32f31fc797248300769a96493575844efd7b02ed58dfc98a7b72324c79ce53c7073c9e1c54d49ea2b1f9a5bc74f466a3dc5d90f805881a6e2772f4a96e1c7290c0b77607af4b6e766734e0c818d9e34e91956e19f8336ce44b72802505b0145820cef8b06f3ef5e2c0a744b8c2c4b27b13db1e8b27248caad272695d8cf660d9e67f0c702145dfeb447209bee7dc5c4b9703a2545cf3b4e4ea557a1ab9fa833e1a5ab0749c1fc382fd87c3e54f5baf0c0cfe6618c99aa1b63472564b32b45639407dd961c026e18239dc9446753b1570a80bfd50949e6275bb723065b99200e081859d6c565177ddb6e75b5d1d8ef8a957466e080e35f456f34b8a994c0f093637eca76a303f5def15ca82b0a13e53137e98555b7e45e0e19503e5c7de6148d97826b8a39d045fd4d0ef4bbbcc47f5d69b0e290c5c7b3afc977239003a6f4cbd779adfaf0453e4ed78eb1f701a1bf508e4ca8405317abec52872bff450ed7c49c081fcb686c05da2ad75a9b71b13cc2c8ddd1660ab7f9c6d3c140c3f08eb3954d6e2a0702a06c80938eb3eb1e865cb26a0c5a49e72075b1d035914bfd9adbd71c4079f82b8d45a776db11b5bc3d85ce85aab8cd39c5f5b2971727eec74d59240e3b42d0bd9c6f44b7fad2a9fe494c69f26a55f0368b8dba9c872eacdea674d1215b633b3daac0b3487db40ac8c52cd8c68dfc7dba36f945e430809954229ef740a5dc20bdda9b2ca3ff38e8d0721ba09c3520ede8539b4fedc712dd6da77b8e478bd2585b82e8b5ca633a30d186cad86111bd54f644374080772036705426cd7a1eef4f138ad87d2257b1c37951d79f11c1424b6a823ed92520d53855af43cc0b537968cae16164d7d82e367c77d2590aa82a0bb40b51e7c3072c6c493003bb216bfc8532ef2bf8abdd3c227dd1b3b67b8a931571a4e69ff7772453f84fe3337e75ea8939924e32c64f343e3c3bc4eefbea4b19207d9d048401a2ec10b9433a5a466b13b6a59d6bf3f6fcbdc7660777640ec6437c75d16dceb16c147920504da58c529b142ef5787a4ef4351a46570a8c5ab3ffbd3882d2928246b061ddf4309d6d7691626726f5b8949dd5dc9325e2ef42920fcbc7b11e069726fb6616f5a1c9d761f1cdbdbc06b7eae7b6aa81a12208872de7ee10ed4e65a72f5b4a21932027538ee0ca43cadae83b79fd22f4beff5fd861fff8f9c99961272a12c2bf9ba0561b75b0cdb615f5dcd517395a1495bd8680f678da8c8d509d272c95f0a166218f411d0779fc253c66634563edb0d129843c6ef53d0f582a0566237249782dc01f2d9e4f3eb239e5c318104fcabbeef264fdd6b0e62c862759b2dcadaea174ef5119bce5ec92a334f93da8abd22cdadc2c23e3179a285f6b300082d3c9fafa5f82538d41960a63fe108f1512953f97a5cf57b99827d8840637672b4a72dc44e124a2eed8ea638b776f8fe64125fbefc77b9bf59b25410e0b16f72f66d4633917977b6a83e3cb6f98d447210906c2dd4968e3873c3bf9a75544b269695dddd7544047c88a995e33c49d3883768f9d489084308ff5b3102a506dc729322618a1d8daf0c690e6d1fd62bba321a8f027d554d4616fc9f1cf5e2bdff59e2d2305c502eb1e865b329925eb30ea5cfd5d082e2ca58b8932125432767f167e557edd913f568f298a54c93da0964a6747eacfef4ed557eeb6f2b49091a07724e897ae8c39c64797289ebc1adb37b0ef472f5ca110722b1b6c4b41b0fa63f7226f35b1250137213da89280ea780b65cd3634b9e611e12e10b46e7424fea0b7259f2177c0e8f14f019c71f07b685267f8d60b78be8ede13b8fa3e6c1fb927e717c9c667b5ce7a8520024e1f9a7d09d459eadfcefaad419f868d430a16ada987213c4e2b490d726506f439bfad56a60d763a08cf6291200bb3da4c525f18940725f00b0806d049c2e86735f1f2bc3382e7e36f4b6e186ddca4c59a3cab44707724c04159196839e9c93f194f6b4bc79236eee3276664919cfecde59fbc95d4d7214de1c25089ab002881f5aec257a91fe18821f5a27e15db5ad001da56fe9e40e4d61ce048ed3270e491c44302fa4483b9ea473089fe2557f9dd47ac00993e54e052fb054190621a9664d2e4dc2cb3e2f01945c5f539d4879c175541952bf0172d46a0006982662abf6a370f425224747b0906fa6f3b782b343d48358ed033672f17ef6d45cd15a5fa47591b8c16e095b578d723fc83ec9371615969cc6d37104435f46c5c8b09b08cea4dbf431f8e200d6b0a88c7244f3dc03e1f4c92e084b721bd6e11aa8c2f9c4c1fbc7260a529721017a35717b79cae7a4ecb6a9fac3212abfdd5d6a46ec713cfce4293fa816c87f9fb0aef87562e17af978c36a5698415f6e820862c9fbbc4be1a652decaac513d5f347b95fdefd36ab1ee1fd56c21373697ab76d41d89f938841912a335a5fa5f9beaf32c8cf2980132b7e9b05c838e72f2d4f5aff71e5bf2560a2abf53f1eced79ba36ec7594931335e20b1879b60a48129de5dc121d577bce58ede0d828d112b72d217e29534619545adff6fbebcd60e3ef0bd155f9ece9999b8f727cb3d8e11d23b269099b050676c1de5119f714725b6fba2c0f4f2b0b336413c06ce4f252295f487ce8fae25676c86347355a7d50c3cccb812add48b59dda55c8178bcdb9871ffdeb3c0dbce8a21c3675febe302379d8827788b002157efc2aab7b2976884b4ffe4cb9ba04e6fc1fa1842e617a72b8c64ee82726111c62fa442f8f4573825db40eb44c17385fd111de2a6d83374503da764563ac27f0a21dd314d6733aee22ad21e61fd2d06833db296a82225872b9edde524c1e6a78131379239bba6802c9621e93e1b01fdd5aa9bb49700f3d723b616b90200f536883792232075f1641165d73732c8432b96371caf5447f5272543a9c4c4152af4db17d9a2552fdf0155f4b1ce90555fc972a90ac20e15d7351faa72bc4bcf0dbae8b4a12ec4fedb9810d1212f0668e6557f3f0ef824317197261433da74c747c724ed45675908866b21ede40a26755426bc0da276c0a3ff2723edc336bb861ad1611211eb092e957a9505f98ee7f4304d10beaf91f854ac00be64d9e5f23691362cf8e09fc79d0b9c3760f8a4ebe9fbb3506802e3b93e4e2179f75547efba5c61a0e048ccdcaeb2b3d54a65ddfe1223669456ee33115f26c7220ee64bc47a346d0440201aefa9af5c439f4d94264dd3c72dbc71d418fabbc72b52950b0a9d7f704f0efb0b444623138623a0761238d2fa63bd5532080cd8172f7d1e6dc00867ed3a31ab6aac38b953f06d4b2ad8b8d4e581d93594f21fb687227975e0690d22d5d1fb4d1cb16d33046d50c55c6f50e2e3e204639e5344c8c72828c3ce4067ac73c83edb61573b8e42bd4baf0e316463e8881da4eec5196010c9c0d5dfe54fae1cca167025b62ccbe5d0f69e8f1a93d19f0b48862ea7b9965728ea0054f24d426223f3560d778a493bc49a20054455966e68cc67ce44faee8720d9cb3695993af069824d9fe5b989b25f74e6ed913b82996a4bd069bcbf5ce7236f6a4985cac3620381b7c4d239ba6c1ab1828cd1c4f400ba4db7a5a25474f726c120ab86455390e689fe3a3dcb4c24b3f4200eed6ce923bf2453de17f230d000cb328b18ed58d92f27b2fd24426ca19ef86e7a303cbdf30ae2c6c55e1a884729903df7ce0a9df710d268684208ae940697397563043b05bbeea29022556e96a4a2b8c7cffcf29941fa245de8369fa78d8c18c715ee4876ce44651e862f93842c719aa8c54d30e3297906594d1832044d39a4b2f0e3ceb13c3fdcca492db3972c2957b6511ed8280837a1843aed492fdbf25f9eab5ad8d7b895e8352da88fa0e44da9371b216773706ed8e357e5c9cb2b91878864114fcfb2292f747650f247248f00de53fbe5b540e20bfb15448259ebd7b4f5cf3ce8156ad01afdb376ee9720b6df116458f88f1375d917cce38761ca284d792a0be505660f9d7f66a499f72f62df0678fbbb9f35b86d3814ae3d4be786b7bbda9ef623ca8e6634c309c14724c171259149f452930ec7a2a78eafa64f24d98ba09d911a6ffeb58e61be95f563ce3bec88ca93f8b87515d3ef795716d2687b15af157e47c907e8fd82feb0272c213c729bfe63847f4b810760ebc59a7f1e445284b748b9d5a65d35664023d725b49bd78f31049673a89e4c8902b8d67a47341aa6e0904558b9bad69d045ed6b090bd1f694c538ab4083a7a01428bdf9ffb02a177b89ac454b95e928bfabee72d995a4ea331298e3fc7d27cab57ff632722064fbac901e2eaabc65042958324eb88c023b1d92f431453c126a275b24f5f87c262dbf315f96a5fc3ba4cea08372dc167e66b26511dcee2c1b03c2fa7a28cd43bf547dd54b14891ee6fc98db517203604b3cf6ac41d2716e00c1890220aea7d7987d2bf09c49f400464410921005651412420c813fceec1492b159f2b7f6101fd9f99cf43f25c30621ef8e75e072c96b337c5450abac715c09c9b17802b37673d37f8c0b398128f79e463aff3f729d47390f777fc3af50039deb5689342b59144cacadbdb1f3c12b9eb3e2554264d53c33ddf64e1684a5f6bc181386f837dd4c9475135e6d121a5f3c31fcbbb52bf38a3dc3eef262677723dfbd7a7d6b44abb5df861ca830038e165a3d0235544ac28dd2840fa4189f31305063220e65358b0f17ee93d07e32888a5bae1c134864af4ea72dd9efd560b9b5c120dfd048288886be69f9c2ff9c8d9820b229b64322cbcd468e61fdc10a39e3dcbcfce41c64adf42d8ad900ca979f4bb5dd8e526872dc87166107f06061a0ead1e1a7f999e45d44bf126d889e8490c2cd2eb37b9e72caedda7f27300f9e59976549dc71fe5495d458c00ef5386b09217084020a8372d40b8531020a65e0632e69497dc1d31d743ab65acf0d4232f424131cac2b55726ac5beb96c0f5eaa9967df3bd08563f69423bbf04b7aa9af9235b6433444477204e741048addf63c4ecff8705a912e27eae99892b63d250347fa70e00cfe9837edc9e875d2417afd092e93030912821a70d67b49b9e77d29aba8651cde4a50721685007f8ea41c5bd441d95f3e8808ad889e1924ca867260eef077917eb896242d175ea16082836ea1879474d0ab84117185a07613775f333021bceb5892d8630f1a247c158c7c09cbd51f9bbe0296226f7b020a1384269306c7bb1416e4010f8e91244d891389c61b8fbc57c1b931c54fbf9ff40909698e7b5d040b46037172b3ee5a21d17ebfff75c07ba084cf02463d762c4f9a3bcef9f59109566734e5720d68460c7ed72711decc44143c6de7863b073cb1e44a7950ab4729eb6b3dd3727d27ef3709801597aa9edfbc88e55b323773be8b96b565c516adff6907bdd45c6f0354c200ffa340e2107a7d8335d4c71af51c960d1c2c45e9c2f36ea4fd08728d7d9393aab13cdd610dc5072d825a3e186ae42c964bb8e4a50cd29de7e04772e4f6f3ca5263ecf9efd0a97bcf859693b29eea2bf8985341e3ce7a6917a24a72d688ab1fc7c18c5d87d5bdc39361ee53d24e7c53f72faee30b33ee4661f42238e127007109359f7f798c04ae588c957955ae31337472324765187ff383fb591e17cc504fadc0341bc0e102944dc9c3cf5fec022ae33f4390a4ed38a8eb6a09681e9b2680b7e31da7b907a67fd6e2d24fd1b7ba8f1427ff156831dd84ff039d729242b149b7fd045e4f7169a79fc3f33f76f810e03d32fb71770a356b94ded16333e31d1c76a30864f7cf92ac583acf384053d51fe909538f631bbb29e9ce32726efabbc1383ccb857a0db0b458f2ac92a26bb2713814c6a13af3f8f6a37c2a720bede1cc43e95f201dbdce41481d960c2b5aefafc087c6cfadad4c274d1aee20e0ff65c722ca586563708830a6c072751381eaf02ee5441658aac913e736ca7210f4c7e2e73933822049237434b8f1d248c705fb0ec7465e016ba28040105f7235d50a60c9889e7e94c7e6d0ead3a4a7621068108a3964e209edc6ce1e69181be98888dd7e8a3699b62da86b632ff124ca0f290a9cd1e2d64dee177537671351169676f6c6013b37b464b5502c957f7ca16481cdce0674cbcaed19c8aaebae164b1ba5b5e3516665bba0867c1635295287d295108592ecd2946226a075ec49433d528d2aea6e38f8752f7ec438dd5d93839fb0f22a4562194ce0a84c4b0b6b13870f18188c0738f7f5da627f6550197484ec16197c7227161ad3a64be577e82f17740ae3890a29f73428ce8fdc3fb9f6975e1a321e416226f3f08f56fd42787267e74b7e6117714ea1319ff60211659dbe578f02393065b97d2971899acc6c252ae0196b3c4cd96e958a8044ee8e146141d15fac64672a8435e15bc34211ba72ac7f77bd0ab71abbf1af21c6aa9078ca3719f4b4cea80cd31df51d080b2a1772911de18a3e3b6c0b8fc6cb791a905ba79a37c98ef82061f2b2b2c2992245fd7272396681f27a06c7d382b32bd42c216ba6bc84bf3959841b031228afddf50372b5d99315a94a8e201ed6d1b5d50bc6d72cd6b2d9623b397c267b7188d337204815f753ad3b57ccb03239da00a42869b369159c0c8591d52c7e7c6d208cfea972b69b8444e8078e4e96f4832d2e9c349680bf7cf1aacb691dffe4c1307a380f7210a6d16ed3a88616e3897dcd72b36e22a0d9a90d25251e217f367a1bb327ab72f6f5651a08b7d585b2a12ca65b014078209cee0950e60cd195208124b0e59e4683a92c286efd4deea76d52510fed1e7bbc53583d5bc3f99af9719c538ca796723a49f6714ac2d1f976a800ce9f8ccfafbb9ef032aa9a551a4b2c74f594907627ff6085a4cc7211ed1f48ad769911f17adb511d083c4edbdcd523ffcbba37425bb6fb66c618248b72e9dea6325db51fff9c0aebbca5c1d3d26133fefd4e79201ad0093785eed3d0a098c4099821762cbdea089d44401f5557f6df92297189c172a46a62764e82fffc0a7e4f2d315d6e2f2ed2b0047c155cf55adab5ad3ab07d72fda8a45c826cc6297afef387bdeca2fb9a1610230548e774b0494c257b39c372af49e9ff3043f92220183da68b253145861d5e20e31d8b5967f1a84b28861c4d8812a75cebf70a5584319194ac721b69d91bbd49b065caff3ea3838c4f2f5e728a6b4789088dc327738713717e717b86329875849a3e88db09b3fb83921eb772d162e537e4e37e6a06b0ea9a7271734eed7753d34575b9837bf18b2701caa90a25747b5770bd23a9d19722cf4c85a54bc16249b19a6dfe3f6c05d6d4a6e78a44475f3c57a1104afe24c9d942e0aed0d22e05a1946379db3810264a3a09dea472cecd330a357b934c211f2e750727520bfd7606bc6090e8e098a768c212b8331ba9a3c6a896a19e42cee35f4bb2937554400b8dd695004814b769064bc4b51e72eaedb1aa6ae23c8e4a5e1dd9137b822326abbaf4642cc2c1d1c3f4b8ebd7f348c738a7894acea280ee050b11090927a9b86a325698ef7d476fd6c39a69edeb72846ea71395d3740df85ffcf23b37c52332e6ed06003535f608634a07abd34272667dcc60d80dbc9b68eb20e1e58fd173c6a26c7a7d6c8d03e8795e19b4a316726db310533752a1755928ccd46877d196f4463d668b4325901f4697bb14894a72b7cb4eb1ce739ab128505910655f3ad65800552ea2ae7c2b7be3607efa77fb1e1de4f246d882fafc17a0742a1c26512d6ad51fafb5c216a4eaf6088966e49a184eb53c2ee517d171033f8cd7396a4445e5e4224e34894c5325252ba274a6247205090684a0087349360fb2df62552b23c3cf47925fdb15440bbb9c4266ef9372ebb716ba8eba21b59e9f1ae70a7ccc2068ec6a0bb94a0d773476596f878e2f72f8d82b48d0f1d8263414c025cba4b1099ef6d6290322c52d169a2becb516684a846b268375f1d759f372ae74503d17a8a5df56ce5feb0230c6d3e24d3dd66f720ee5824e2db5d1de435ee15d6b5d7f1fc50b112af55291d0a7122836d155c05a7496418442efa320bd6f75011a17217eb08ad6cb1e66b1f2460b80bab1844372d7be2a66cfeba31b4f9b9eccbbbb691d6c30933ef3d21346ed9fb993d715610202bbacc155076f7016e7c02a098bed82428e697a59e3d02ff91a7a6b4a17977274932d489f97a6fb93e07709ada3ea65058fb4ee89adba867d2274221894087273c1f7b4182ad9c0dd4ab8d65b87ad16cd6ecd124dbc73f070562b2708246772e884193c4dc68d88181d8baf9f55ce758a3dafc33258a2ec4fe741901007cd7275097331757547e2e48db09b74221205d527131e7786db5ae55491f0cee206674b4a0c63f2b8705ffd975e9b0015d97aab81e0cab94c35956936c3315533f702cb70a28a400aac92276e4049b3a5bba0d325df48ebd33c052520d856741fd0728c2815798b12a030c166fc1d20c85f7707bf104483a34f61e4f8355293f28072387c86d8404a9ff75f126c6e4372f0843be565822f50e3e304b953b5adb5c272f204ae224024102394f912e32ca31b8e041343e0476dceab283c775f383dbd043a3781f91b6616941456122c999f3fe1e69f9419815eadc5a83bb7a84580b97283767afcb61fec5d9aa33e8bc2a3da9854ff9d49a96360a2c3bcb480a6e622721aa71b1983a9f42b7ecd3930f5e05acfde780fce57e471759a4aff81b952203258c834aee0400b39c3a14fd66ca97d9f6ad6c52a0f3b476846f60871e09f200d22051f336e0ce16e929df1bd7156a74d8250e87a69ba9c7612c9af3451f71b31433c02a26dfb7007dbbed8b5776967b7d788f4dac0e3787dad5e759dfd0d2a7253cbd2dcd98fdf9bd06a2e8187af8ad492a66c9c629c8b3ebbc9ef39454ffd72a1b9eb5bc83b7180e91c87f0eddfdafee3919cbc6b1e489677c701e775e65972755b3f6c492c8f4493391c973b9092b24d2e97ded9139cfd319ebd722fcca8722a82fd7bfebb67125ef9acb7673244a4a509a64b40a39bb7e223b1efaedebb729b22dfb2d92cc3493a54c4bca42e7da69243969b4f745bc63d608524277f78724797cd8fe3bd310624b3cf355eb8de6bbdfd51b68ae3bafab7cf1f7b6b5bfd72c4924e7a077ab078ce69867e326fd6c7dc713c226b657d71bfd32128289919545dacea2f8c38eabef9ca72b0392529c52416b6560b6fb67e10b0c072f15c3a578da837576198259f19151a6cf505a0bd86de9842e94125d94046bfcaee28e2721922105aa4c53ec71660bea721a49f54ba3fb3d3ed274ded19a080b8f3b0aa72825981a1aa50ca2b3e90d8dc6cc304d93721a80789b3a5c26187b7847084740aa303ca5aae65c1af02d44a8e2d7d71ea29cacc8be8a39cd02940a9faaf3f023232b958343efa63cfad042896cb595d3e3bb8be5b8df660e2af78f44137e40c0885749edfdd8acdb498f1ec897aafadbf91a14af2687040160931d86dbabd2472d49f41529241eea0156c3ff04cc748c95469eb983f513205b9028e2b421e545a658b4a5ce33b5781dae02dfd660d04e392eeb8961a56fd36c397c1c5cf55ee721326af91b151516baedf9e376fbd42fc66d0d5caaeabb57bec2d3f1861c14372a9ac49e832af7f2823a392ac692c9afc3c864918a30e09165bcd87bf72685772d9638c10e2b0c5c14d6dec276744deb10b0bafa38664ba24d0881f1f5acc4472a5412775b931cc295601c94fcb0db8280707d0cc1b8098629349e11fab099400ce4d88d19fb84ed79e4f7abd5058253ab416fe4547eaf065e9a3295ded6e5b282e1ccd2066a36bbcb093f8399940f79428fe53d0f6be904b5ff8b8c36e8f1772e8f2f0f9b1f8ed1a16134f0fce7bc63e969166513ca962ba16b23bca6489675c614fc84a73df4f4e5a9bf00dd515cf250987cdfd1313c144ef9ae47e6af05743374c7e1eb28dbba8650909b4584e4af4cf9bbeb86d120b3abd992c4eae884359a3975f45ebdb413a4d76cb019c8774a121216f1ba16731b6583190f002a4b972b97d029fb54f13dadafcb305adfa37f776e80bfb43f348cf8529b6f332fc5867798aa31e8d3d822aa06e284904b581d5968018efe08c23fd7bcd9c2aa1def77259b2aab4ac700352fae2c65e8d336c8541fd7b436758673cfeec729c4c2b0172d4e4bbf785214823f52485950554cf7b9ee00ca63820e42a87fdf827138e6c47673e4f2a00404078e9485f406723a4cc6f8f4eccd2aded3894bd1c6a15635c72a3ece203c3efc2ffca8d7d2ef40b82f812298799bf8b9757569014f5e7791569cdc21ec1f792ed2d80d12cf533692c14541d5de48edecd6c9014e1b0d23778506dab9e266b416a577dc3709b3afefd70d220d360a821477ed6bc6742fe17042c5cdf818ec78b95e46c77f4555304e60911e9770cd69605d09f91796d5c187272fba34be5968f561dcd7ef693df0e14660da2ad755a20ae4ea4fc086b3a387372c38c965dd1c6ccf760759604f73b3edc0abfccc511c11b1d76193c6473fe05728cb52c29af6aa6cadc17234bd346a2a52ba3517e12fca7bba737ff5fab8c6472725c92f8e2733126d2242524726519e5595d66c9e78b02c433b2bd3ff5140f72b4520c21284c282e8082f24d6ba251447c72a94dcdfa3294be4e05c337e3b05ad3be542fadc4bdef42afdf0870ec68b35b534bc2996150eb450cf18b85fb68723206a122c7dcc4777dcc2a54d46733f71d6cd2ab6a5632c8feffead2dc28c110fea0e95ae04f79b95cce8ac6f32b26c14826107db14139e906c517b353f9000071b21879e2753d6c3233a3ffc264e65c03f8d19b0e81bb6ae554474c5d9735729c76b1a48b5e767f26070aac6ad05f0366c5866835dd37a69ac251d305ab893f85330bb69e46bfc6af9287900b9a52cfd939d1683aaeb58e459a30e4542ab23566aa90bd3ec007a3aa684c023ca817cbd37fcebe0b72f8af4a65f059ab57500799e4ef1cf7d1003d529213183173f21b5b5abfe9fd1f7aa03a47aeea1bf9da72ac701303b15a86c707fec8824513d6631567a620788d4fb34996e54923f4051cdc7f0b7956e43f41386378d46d36b30987f563dce608e51ac7cdde9d6e541f59a948215ac1c027b9f0165691c8a68d22ea509401b4abd0f2d40bed8e9a4895263045d5531191ac309e2d196d7a54a77a650374d39650b91e020b329c077d6038320af9dd40aa875fca697249aa77852bdc7a192e87f898fab54c01244d0cc4726de31647e18a3caeaf0c9d272e11d97ee4dc9bf6efec3172a28b7f631f753972d55fd6f5de091137da537e484ac7fe1812506d5815026a16bfa29d797db28b729859c256d8ea05939d5661964d0d4df628810e0b82680c380ac90225951c3c7123ff747cf72dbff26b9243c1d493d1724d18cb2f79d0e030bd6f84a2c45da9725112098b9cef703d14b0e379107784971dccbd9de295bae314be83ec10e121726d969843a94a6fe9ec874233aefcbb7cb8073cef4d51ca43df5d66ddb6573e7262b3717db6aa1b947ec418dc6974f347340a9f0ff57d86e1146d365553b310727a8755d7134ab2ef2fcdc31e0ea776afd24b944d863fb338721368a64f0b7672fa3f5c23752b60b7acd414866a2f8a23bdc44071a1a0d2f2491f4b9b6d7f243cf69d53bf43018dca6331338bbf29e066b9d92c1486c64a62574cc43f0954365a0393ea3847d740f35f913518914c7e60c59e10b32e3695af8ea245907fa79d72a50250720558b7ba66be187e4a710df05970b7c7a3d424cf016bb6884fa478726449395ad3eda164adaab51fa3daced07ccb6506c216ae89be327345da189a570004cd7136c02fbad9dff827baa0ca9ecea8462c1199ff666f8cbb4ccd9aa272fc9ef11e826243ca69296bb6483355d3916d77f9c578a31b9bd3946145a49607d39cfabea8c7f50b5a4a1f8fbff911ea3ae396813bf7fb71d97d81313821d772f01c3c45d0ef2891562113e331f58f56c309d8a2759f84b2d94c0e3fb7663303e25433ecd12d73ba95ead74e2e00b860c5fa3967663d83d22b28becc1b6e084085f51c36479e4dd0f61237c7363869cf9d4fa6c56a516add840a8c9dd697ec30a7d5f808fc61baddbbbe1d18d39d30afa403158b57939859e5fee7dd5e9acf6b42fd62bbc35249ebd68fbd3be6b21193cb7d1945d70aa67e507a3a8c0afe0572c66e7344555355e143f538eca9b1a38961c05a77e8fce2bcf7818923d67f876ffaf1e3545f857a7f3de6174a96f6c01f5de9d7e04f09566dae789b65a74eca72f1d14be6dc34fcc503d04cfa070b315e62b95d08ca7190550ee0d9986134486fb0396752810dccd613a52f793b7bcef4af24ebf1ccc70231c2c075bf6758fb729b4c0116370a272b60f845089f70ad3dc0feb4edac325560957d5fe8209269720ea922b27ea0ed1710cebac100bab053a5479a213b37eb5ae410ef655404fd4163b6c4cbdff7ffbbc2f4171e787959b007e2c3261156ac93d6575fcbe16a6469ef23ad9500dc5c9ec4b37f22d2f05f6b839688006fa56c86c46a8daee9cc3172535637d4980bf3eb5accdf13ddcf5e0d33efe49acde626709ec51642d380bc14a83ca4f4743dfb4466f27be8c1264863d81817f20271f2240a012445e255b5721349be7c0547f9bea87f06a3bdc1f0becfec498ce425b8b6d15470ccfe8002724a2405d807ed72914fa72ccbe2027327e966099607419148b65651f4aee40848eb21ee30deccde7c068ce7c5586e4d674ad7626a7808bb7db4d29b45a2cd957286e8d6d2456775d854d4c55eedcfa9f5686b53e100258495319b18fc66119f72f1607643d42ad6dd179dddd15e92ab11563e1e34002dc43a3b5a03d324f4044a523b040ac870128c71dbf2ee24c62403dbde08265f3ba9a530610ab9f1d50d249c55a620aa62e82fec0e723f7aecba0ebf40245a4154600a0b483c27f252d34adf3982278870461d243931f55b748ed1f2e3e32bca5867e503f91f4d60142d01927c8a889ccc22af37a8ad5dabab2688aed42a5d8bdca0c8e5a8e41eea88eb72a5e0f1c89f06e10533aa4ad6eb7ae94c614eb7d6efb580f6378a0690a8fb200874f96966abb6782d018469daceb7a462cb3aa74dc1375501428b585bfd625172b21a03cf0a00a376f33b48e871e92ac648763c83bcdb0dee4134142d87684a303032c69fdc7b50b913bb361d5dc8539fa0eddf77fc932a6f792d5e1dc8a2df72a80d9a5cf49b722966230a5f226f948f542c7186b4bd8f434b5fd92683c6df72cac6decf163d3a304d4df6b0b45e176ebab2f9d7a9bbfab3c36505a185bf1a240e50af7e414266788f17688e1d7f22cb9842041a69e1e9700bfd4420787884720b73953b0b83319ce45d20b1597c9f0b3e514ba4f6d8601a06f201e94474a60bef2edd71abc9ff8e086aff3f6285a6f95061f6d1612a263c0812e77b00cbe9276985bdb09c0f12845600cd48e1d3691b9d52b9d932ac987a9a90c88ae3440b2332395a781fce27f5f3e0b13af32410895bdd7f5e4827b5f1cf858e49904c87728bed336be5c8d50b8021290612d05c862773e1ab7b977eda2995f8dbba5a0e72ee12d68f3fcb717dc0b70b8553b7b2a3ea2b1f2439a87ea1d4ba06b223d0b87220b7f70ebfd2ce2a191af7c07a4c8d20d6cb4515faafa350e4516593e416eb33217055552613477b0c1c1f855af8a1859241ac864c1da3f9f88911ddc637942936fa4410288abfc866daba2d3f1ae0ef5202405aa3a63a2de4011c00f81822613c3f2461afd4864b6c6c7736c73879a16a99b3ac53d4765e803dfa9ae3edd3129ceaa20626b2f667b96eccc4a220addb829ccc24f7161b56a6e9609056c2f772f0e0b7bbf34f3a3da91d1c417d0b696c8be1063b3bd393711b02d6653885f34a423200370c34e99f4705ee92543b60d8f4690c463f4a9747e790663844aebd33e0531fcb99138dd358cd785249cecbfb57d84c272f72cf0620554dd4f9fe9a72360fb2f690bfb1e00ecfde8e36caf518abbb3a36dfc2d38a06e255f02f5274702a8b48ebd31a9f667575e650afff2b9ea823ba53990988f966ddb8710f5ee072926115d9ae8695abcbd7273f61a9e1aeb09b82efa0fe62d68350dc1224b7164c96066a82eb062454a79815f46a5125b3ee90ca92214f6c7e71860c5dfe07b872d2d067a6d07de7f6bea90ba8290250c6bdbc1df16aff34e0a38b0cf26fe767728c487c819ecd7646e6d07188aeb218be6357196a165b1dbeb7281f76aaef1f07d630f1a5a0d6b3be45d0e465e6127b9e9bfedd4511e559a4f1c33db95333c672984cf9a3addff6875f8f7d15804ffe673b6f6981cb29299d06a971e6b8301136497cd6e286313505a73d2beef0a6a22699f79189f9a73e968f8b2e560e087326972afc019226658b0684af0063b7d74b402884bd0907fcf2e3921b9f65bffb7266dfde62b83f5b57de827c7030cce65fb06c2d509445a172fa44a4ba74503d70691f17a99af2512ec57c2391c26f73a42e8f42316d469a09b1e73c1d4c7f6372e6e36e8f422092796ec81cc2698afc5d061579d4038919e786c6406d76f26460d72464acaedffe7a6691c123581ff9d58fb864bf582b0943b3ced6842a1b3a72b8c79a66906f457810de16426af17c89557a04d9587e01d06a15e3e8973a0972da9794f2902a35f632ed379fe3af0690ef6a7558d0b7c2016ccb93898711b272d18a15b7c51d231ba55e3c38d0ee285194848a5da7051cc621ce359400886172beaed25a61c807cb9c28f301f8ed1e6593d78f8806d89146536ae7fd7e6ac50648e34311811c0ff9deef533558f4c6c860a5e74ec3b96ca20d83cb293d1e426481e02662623e1f18715f4ae82c7a0aefa444876d914f6a59039f6508522e6f38b58cd15d6931009485bf4c76622ed084c4aec7f39811fee3212b44f940848272fed3faed65eae4191e27fa75fa85498c159d2eef6de423fef933d0ae0027a7729ff6f8978e1b7249e6ae4f57e03f22cdfd3f16f34638a30aecbcfbe2d6140872d6466880cc45fb4d0290bb46dab9dc7db3ec2535f4a57391d8640cfb5164b57285ee94b0c787b92b8260f3e4eca1bc0a43c5bdc18b179b46bc4e053a4c6aed6bb66e8ac9f2da4c71f20cf864fe8647863a9179a5d4b2002f6601b19645fa5e5fb88fe141873d76665a193a3556f370599e760b3684ac4723eb7d15a50715814f98d10072cf21d555d3ea021adf4f9ae9f4ffb622cc799e8ce620cef71504f95754d003fe3c76551b4a3ccef42435823b3a478e5c7f04aeb989fb9b39a55a1e721044267498d81decf715590457b83216bec906b8cce9cf2e94f9fe4e39964e720ea99237e4d9579e2da0e676be72723ccfba250cb90735d4def6f4f00e41d172a9d861ada74494a252a30405eb8be9241e7fc5db6c2c71c667d116aaecada932c7e3778ad012b9a8a42ee38f3726e2af47f0add85a6b912587a2fc296c96a572b01e2217a502522d58835e45d70d1a19c0037cdf26d0278a71047f9eeb6df35cf78b0274bbf9f991c7146cb4a7363db1d6a4cff77b9c968e4d98fc99d8e6591eb3117fa09b22ed766d1c01c37768fbb9db3a3bac17e57fd90480d1b764d7aa72061ad1139001babe5928f23f64c2d180409f0792bcb745c171e55c9d4d018c729c5de96ba7096a90959d3fb4ccd5b08306de35c5e21f608cd6d26b4d756dd44533cabc9fb2d690d6232109da12fb3d212605446ea759844605d64901d450f27234b3128b2b6e606f80375f7975fd22a97f9b29f173a43e30d2ed93c84ece0d2ec9afc6ae9eafa479feb7a6e90ce09795552b4657d5438160608b60a8667aeb72db11585ab254fd78a538617f3668e05626a19cdd8f3ebb642b412f0f5a70540d454232c9af8bac674d7649458747a244143b374d4e416d7f78f48fbb30a0826ee2d63ef8e3cb7115540eabbcb48c9c10b0ee83d6349d2626330f8ab632417a7220ce0144cca882813a848db18951c9a013d7618117113d0f9bc53ee57536cc720f927652bda96c6d8ac0563dc20b4cff20fe8bf48ac176da7fadb68e59b467724f47ebdf146c3ba7fcb0425748fbe07a9f67609f83cfd70838a8fd2e306d5920f0752c1f06bd56f3bfc5dcbaded92acfe2ba227e9517d07ea2ae0ca6b0ace341ec1448d09cc60695e732bbe508160740493220b9dbe4f3a3e4047a169da34372b9be0cc7671283047458f63f69cc687a945f1b7e576ab0dff5f029c49b7aa4721feaf8a94fb0dc5fd14457eab0f29e8171b80d552603e25a086a93f766228a7222cd5985368b35f08e7824ffa3160435ccdd51a462214583a2949332f859620a90b6d1970d074b49822c00e151d1a25fb9fc345300318cd605cd1ccf3bb40e727f82ff2bc2f3864f9e01661715daa9ca89bf665ee81d1c6a36801bfa20fad90a29683549bb8df523b198fac93c6ce2eb220fb973f558a135e63cdddd49554b72dffb55ef1907b8e31b3a16f1eb84c3e6aad9d92d428586584aea09af1704d252ad3c7e4d56b2737da1dc559c4ede5c9ab8a8378562efeb59c794befea3767c11d706fafdf6098f9e142f6971de98bebe5f9116ee960fefc3ec9345c867e6127289a890f8f3f3db859cfee78c41cd4365b1cf964da25c1426204cd86682db9970c95db60af1fdbd0ee19210a6bf52e06d3a5dd4c4a5aa3b449fc3fa41e635ba3b53d0fc1f286cc5172dccb75f5753838176929985a995578a4e92a8814ccac472781f66b122628938f1febfd186466da5ecee77427e60e606b4bcff53bd987c67e611dde3bcc25b566471588e8c4004686f731dad19104867f4c786c5efa5b672dc46389e9615eab4a3cd705dafae69ada9e2f86e056fc19d43c2efb258231a72077d6a737ee59a8652185083c4fc9dd0abd2e890fbc8228d10735edc0079df5b7b89bce6e5cb171533d5d345d939f38ff4a11d559079b203e33dc1f683717c723a6a382723ec0ebc3ece0ca83e54e30622fd9a779c02a4f9cdf0ab41376d2424ce85e4a04c4afb6060c108a66ca419a6dce1d98da71134ec7edd452e6f3b6b72cf703c56dcfb67a651491a5cc33d63a4b6ca1c38c70b2272b64a1e0332582905ba1b386e42fe4f7b4842415ba74d2d404a7977f00e929e4aac21a0afc1fb9072d7ff9ff694e3f594fbab1807f6073dcafe5e78484ebd803444eae728d2568a72e61056bf406fa303a2d8ce8fe04716a58a5ff403ed08c4013921401584f19f720fd33a84a544cb828ded753fa7c9ccd644833da1173bd15d6ab1b66e563452728ad0e45ee9b724fafb54d00b7642b5fcb84bea527a49bb98581782301e609472f13de09fdca5a0fd7f27c8e3c1447896337ae99ff158063b364e69ef72eaaf4803105277075a012cfdd41f0ad609b5ce3a81271b8b257f3f84d4585d017c7b1e3d2ac8534cd3218a4d40aa745f1ff5e2ddf84df9d53b664a174b32989498057086fa446b62e36fbc55d678b688616852da523f8e89d90fc0d9dbfc2331951563a97addc474775416ad1ea8422fae688a5d4eab8314d8566697e47935ab9add726d5e432b6a214b44734c695e2b83e09ef70d633de4a8393f6fded0f715b29972f4d38c1a92a443b60fee5de90e2587d644e46b2d7798ce714b1b5bbc84d2ac00cf3a59cc07c1a9986f3f59cf7602a69c999f65fa2fd1eba3c19e21cfa555b3115097e8de1ac6a6b055dd172707788b750223a4f96a20886a05b20657b140b6668e9c77f3940c7ac99aa1433a2868c5d90270be97286fb849340c42a0760cef1aafa50bbd3bf63042226e1e8b36aef2fd6b721ff45dc3d493aafb9d01e5e7a3103a07cf98b5fa345e9cde22afe0cc37f75f25acde6215d312e693c6d724711212d70385ac2dda7deb90291681b86664947816ca78c8953b938bda108dd35a037295a42b60e28c8cb1a232d53b2844b7df2f6e2bd9c0deb06d97855787fe5e624aa5f96ab7d0112d8c1f2ed6d3eb771c7411745b6a3a7daa3f8316d0e7eb18881dfdac531ab708c958e0e835c01c88169ffd930d4eec73974ea24339f0a3f59d72f1db89d96ff8b11ff83d00141bd5bf1be66b770764bb2ca047dc58744e45fa7234beb916da2127a189e1ad0bb4290de76d4fca43f256d085f0fa4f356e649d473ed4ad61133771474c1a4cb65e5bd61c78cfb774b895997fed41c49ed1f813727839c3df5b85b885fa74b07bc49b75b0fd084b902dbcb3ef6e71a8065d57ed720f01a9b76ed18075df0226d0f021e3224f2582b032c573817e8bdcb64212c6720c3254a444b0b37bedc7ea0fc23f9aee8e728517203e4c34302e0236342b3e51047e2fe81ea797d3112f9aff57648ef148a5cb2968ca18b6120b156751bc70726e6f6abd0bedb3436b14863ba4a54418dc6ae27625ef53177eec647ee1d8fa72f4e8dc703ca598733a35381cd09e183c90c4295c37fa9af331a8fd466cdc5572f84e175b0de2787075e22458e8cb8d8af804c79e30064809282a94b9b8440a30576d9172f6734b29c69207c9afe124d75a28f5b6e235d1ccb36c553867cba40be3691cf5616c24e80258c2923354d4c620959fbc5c51442e2369e4e298d6d77276531500a0c3fe9095c0f792b57307345494b36232c7e2a65d857b9ef5d0cd72bbdd9a48df3b35c6f2986c56aad7b22e683c0b140bdb9b9b16c888960be2dc72714857ece5fa5cc32ca326031ee99e82bf04185319c639c6f485aebc8eec222e2be178ef41ed1d3a6ce38466d4bb8dde7cf137d95e1168fe0a178b48d4a27472da8dd6536fd82c17584200aa2191c9606a49fa8890ef28352e449c385879b372dd89b03e4e8ac9e9342c330631151a76f54bdc5b9d6932093fb0106f4439956511f3dbc04d428bb25fffda3174c424fac55c5c470947be15399c80eb2b8b573c760a1d99340073017c3e8944029b9a74dfaf8953dd720f84e52a2d9cdb8ef572e819071449567cf2c00349abb91fd7b50e01f78e82ad6a0265ab1ea78b5f8b723db545bb6a81c035f9c39ea514b9ad202402e3158d0a9482b9d71cdb9fedc8720285deb94de77351f4dcec4f19cf534b8ad9546005494a7ebf52ff3607da0c7226c9f54d67aa52631e51fdcae017d4ede19929ed6ba38635c876c31a4c9516724e613af080508f02c49d36397f64f8072b0f0a1edbfa78ebf303f88e2b1dc57242bdca65f18d54197eb080aa7526773f36b848dcdaa004d8ac3e91d23c02db72b9b5bc20b9a86a646083c2bcc606cc15fbffddfe9acaeae1657bab6b488fd672daa4ddc3ee3f39d964f44b666b5dcf7a707dab63e6ece4e6680bba502da1db14b10569eabc9293504d9ece9aca1721890ddf2649c3ade5f71fd14bb63cbe1872925c3b0667c010e8a3e624dd959b78655a53804c361c44dcc206166a5057c50fa328afebd9017ae0468c51e7ab89a786a49de65e0037051133f992dd5b19ad079f47f5fb80b5a2025477583d97d0a88c5024b5f19b298c73103ffd8a44359b722bec5923a73942559f10649cda5282e7f8aa980ae6cad79fc8f02a22dade8e7209ad2f07cd0967c5ea94680631c19c15b5c3faefd549e94348da60906c85f7720be0abd7bbeae25dc2dca4aebc640c7f9a86fa5448a0c2053fce1b34842e7c728eb8a0b369d2038587b093d9669386cf69a9e06bd78b2e722bc94c9e0e180e723d5dc500a85ef098788b24bd06a3a0111c981db7bf81242b40100f5d2c0b9a721809b41bcfa3c67f9a5cc6f842a07adbde9a3f37c3e365d3a3ede84cb7e856729cedc60dfbd967d4e243ea90921f1dd76bb4cbb54a5056b170e4179147511472e703a52ed96134f2de802c6d2e452c801e41b0be652e179e9f991a3238c2de72022b8b5b48e615f2b29e91fb3c55f90f55f81be24cecef14116c743c36bd781856370c6786dc04ae0e48f24c0ed2f0f51221da9c1056e6aa8580de42fec236670e996261164b784ddee02b97671743f849c8434b24298d50969c741414827c091eb1b478d59e14235077f04dd05304a958e1866ea9884bc979b15ab479b4b472c1ee13003f3d45db2e6742274b7fc9076fa02e64bb91dd0ce4c85a18a6db0072097c7f6f706b9f76c818211ee43fe4908db66345d9059d168bd3a71098a1a24733fa713393b9ffbb39d833bfbfeeec372476d287ec7e7f8f16bcc0c2b10b3172d0c1207d4c420f1bb851f3af6825682352344f9588f65c167d9d105607da8c72152b291e8e8d783060b414b43c5746879ba708e8d98a90b355b12f6e32b37300f9955e19258d5ea1cae05d24f6b019062f067a2482e598e7494d08381a23ed726d70bf4fbbc85e3ea56e909b5181a57705fb6fb98c3b956672e146889fff90190197363808878bb3fe16839c6bf7d9388a9590ae6a575dece6d84cba13677d727431fb70eb3c22e44be6b9648d9d3ff8c24a9aafff304ec016efcc46f124a07218c2a42a28ffe2525e41423de8e93d52ed0cf13f6aa1c4383658153ed070157258c3ac89ce01f9e7ca487c8d0bb633aac9e91bde6abf05a678ece89d41823f7229f573951b037d762cd6a34c5e47f87649a3fed670e88a076bb888735468fa7243fb994e17800e978627f141f36bc1519608c15babf422d158a77efbd54af430e67cb5b36a47d096d1af7add8cf711bcdf001904250f4047441220a0bbb6e37298998f1aa71deb166a7924081dc78bd1cf6312ba176d58f00634c8d9f09d83721ac5406d2273e38bd382ad29a53c5b1aaf8c7323d1771d8d98adc0b34663be72e622df3fab7ab7a9156bf6c77ee5e0993f4b777ca19ebafb247ea8b6ea7cfb72e481b2bccf8c522916b9aae7c9cc60f57a8e84689647bf7362d792bebaa89072708b84cb34ab8fb93128d943ef11a05e2daa6e8eacbbc14515e04baa87b5cf5496afa9b4b664bfbd56d3e080743cfa393eedddc0e7711bb15ebb0e9adb8d157296beb6c993b3bd11a5c157372de09d4c9acedd49d24f6a6015c4f0d808d7ea7207e51ed73f681ca2c15a6dce8458bb620b98afc7629fa2153477a819ca3cf9240dd2b5021f8c8e2b80e3564521cb7ded300b30dfee032758888f7e5e623a0b7270f8fc5d736f6bc996559e892dbb261223f87fad18550cf896e417f70302e87259cfc4d6a3b18f421986eeab5badf4fa9fb35477ea3d5f1e58d43d2f9b84c47246c9fdbda29590edaa55ef3077b4053184a262b43633aab3f053b67bdb88b8720af06cef4ad7ff1cc4650c55d735ebdbf1d73e7ca06c16fc39488ead574140725f0676eff98d6eb23d9dec598ab8ab0c2784b398e7f5afad50f85a4e407e8b72861c41d97009785f609b869ce342245dabc9314a99dfc3d64fcae4b17e8f7c4c1a429d18b715fd3a54cc960a2c83a0040ffbae9f90d0283790d6986d4c725b72587880776339948eefed4a3702c04cde1735d465331061f93747cefaf633410a7c42ac450da89dc10191fd55b6388123b705302ba7b558cd9e7abbb44bbc61424c37bd93708ead7b9a7fb73c0d552f2e1ce0ee43cf6fc5580e69f3b22f5df5729807eee17736264f94d91692448b65f2ca0ac8e1b76077550b46bda245e11e5c087203351caed6a4858316241f21294bb4e3815e9cf8e61e73ed2f703c2844392a5bea91eea5a50b7b68901aad3a67e813f28e13dfa34d1a3b19ebf009688b7264295aa43e30ed1894baade055edc49a346a1932ddf95ff9a324b4a2658b2372a8bb951b1469151e34b45143a9bb35e4e7ed87b2f73045ab91f77a2bb3ba0372df303b44fad6aa33d32471e4df3fbfe0c71020ee4c22cf786c9a107a6f2728216173ed4d77a1c00a7a46c8f138a31bdedd3785165b37288aada7d68bc7282d3a279c6f7037097dd1ef4959a54300a828fde0d743234d4de5a072e6ed5695b0726080eca1a96efc19e8fb014924267b9f79f446125f2c5c317ab1916dc874944f5b0597fd1534bb9d1d891eb7ef817bd5f600501cdb89fe93439662246633613e57807c4addb04404b6b1f3bc70c003c6ec4bfc0d147dd5482791bf98b0eae0721749bd50bdc51434dc8ab61f52301a08d3bfe2198260a130a97110408edcf01975b1c9f5f77a26617791e3f4748154df8e496613ac131d40871bd792f4489b28d403950d8d09ae3da144628a868a3e46fee76c07186f1bb8b3eb73e63f9b192b8e59d112a7efcf70f3dffb0e704d4448db69b632681026492355521441b9037225cfaa4a72c0f695cfec127a29ee70439b080bc41e186eab4b3cdacc0003d5055dcdf5c437bdc8dc05655e669d2e8b1ac5a68a88c2d8f7260a793d0de4c8167273261ed12484c60b58d085cbcdc6ae69e48fc21ada41f8bd4367140bf7430f29c2cc3d6ecc105b6418ff199ee275ba9deb1522ff60c7f6214b92383d3983a8729f80f81c7e73f33c215528a139529a5165cf2c5a810204d108b837519121347254c9f06b2d57892cf55cf4360cce3379643c69924046e67150c3ae52522f0e7210a4de8772955a2ab662daf757522be228d3485285fa1c117e53daccf7129521301df18283c51f9eb71236eadc644a4332cc1a1658ef70b33ef450d2d26e4b72c5eba4b078122dd98d29f7a79bc4657ccba7ab7446524f8987a4c4be4f22081030f2254edc64c0da6d8eb2c6a46f11696b58e67f459ac783f34f8e2ed9d60800000e59884838311140cd5d87345f7e2888963100a6a8062dbd905bc20425bd729879fd1b478fb5078c09436fb58f2352394763a0c8c491f72e13d439986a1b721ce8d1137c9f2a9244868648ed4320ed6dffd87f192bc0f44f6939b87d4411723e8d7bba03291f574ed47952459b46645ba79f91b36879c48387bdfc4a757f727158e611f81955d3d5bfc606fd0c73dd3b3d14afe2e7b5376587f7c9dca0d4726116c333d74fed07891a4a8be732fae890e321fb3d5b8feb003f01c1af95c85004c46b428e75a4d70edef27009b2114c8c8a4e5bc76814e11f6a7c361df7cf72ae501878ea911bb49211e21edb2eca756e4e3c3490ca9dc5e061068f3c77d7244d002d1c0b641db9bd776bdef0ae8b3e6216c233f1bc73eb1368d57b542ead1289aed033477ed32b5ec7c49b8024b401e088d938da4793cff45640d755652747848583276179c65ce5c8e4a7f3ad33d59195923cc551c3e259a62e0fe5985872e9193113e0af4e40b1749f2d2463a1a1be45b9d2ef6584f15a65a04055016a72347e17c9b143a479ab3a24c8cb1cf8d18827868647d2edd56dd818b279db6372546a28a297ee785bc9166753a2ed49273967c311082c9bf3ed5c822db05a3a72c6d5f88076e3e4b18d994b892a503369448a41578a03beecdf9418b65b31ab727cd0eca7d0f4d7482772f7deda12e4faf1fea704b377e4563d08594936fd90717f899cddc58a711eb8d32d6c48c65370ff5ff9f197b71bce2aa14de3077b63729e5794af85b035587c06bfcb30162a29a2c223a3af5afc642a47688592e1e172802f10fdcdb88cdf3467b8c22ec0fb31b055d8b2e032e84b5c43d38f297724034dbe4ada4169a4a3d0999af190abe59074107387cab9e78edcd6b49c46bb1a7219a00c7e69358a10c8dbd1d072fe660ca9aa746f9c641265a7283a71b39f8512430a10bbffd69ef59669c1ad59b77926e44814179472ab45c243d4f1193a2c727a70e4e812aea8827b5d27c900792cf105ebb37daded67d6552941d2854d022dd132e18c2230d5c8975b54a9bf41dd80fe3d53e263376fb9d8e1fb6d7b8f0a4e93555fe1dceb7c488321784d81360021db699a2d52abe32bdc1bdde62e1c7c72ddef9ba10a8fbe8a53c79051d5857ce6ce5d17d8d8a667dd8db90fe79df10b7204cf94c3c979f7532e4b855c9bc871582409471e4f9ff2d478fa9dc81248942a144b5ca82e7b8920be3a4fbf827bc71c72791d6364d2ad348716d7a932847a4cc00a46c787fc2100eefe7fb356bec6192bf48f233615588f4ba87a14c5e6f972d89bd0660976c9e12751fef52f957e0be4acd30a2c69d023209a8c339046296c37e2b5ac61cd45509bf58f28842e04c7fab403eff825df9253efbf043abe5b13e406f29aa9c051ed7f555fa0fd5ce0fabe5b5b67501fd681ec127366794afe424114fd8394b97e8a8a2af2232412ebbc4ba33d6775268164ba2fff35d420847233bddea7f771f4ded168432db5b4c2a39142afe296e908e19f436b66a7e99947e3d1409c0420b27894de8605afe7e03e8d3e30fadcbb09755777c617c323ed727784185344bb0f5169e9e2cb756c5ed28d8fdd1024595609a9422f26cb29cd72bc5e2f3f9d6ce0223ff197c3921e08bcf2855d8041d0a8bb92a77ced4812dd3af2d055aa59b6a10095c582f54f4d1c9da4eb58c0b55766244318bf6008229b164060c7647ea033255c14a21b88d0f85ef971d4c9bdcc01dca111887431e27d728c01af17792cacddad60390eb8500e151c83b443e333e1d0025139ada979784ac7ffc875bc9db826d48c30ad59c8adaa42ebeb2ed09a7393937e23503e5aaf72584ba204d4a8ceda62b550dece91f31097e345f19ce2fe7ddc5902cfbe718b151df49a8422d001f0044fd60fbd6babd656dec62c0ef9f0c1656b4426fa1c1b7228c1ac1b28d7b8da361db759c2fc6dad27f6f7c52f7c48083624efec8b915044d77330f0c744fcb24159674b9bb1bd13d43b3e1fbd28076a9f15e0598d9127723d60dc6d14b0ff3765e07493d70e4905a03b42ce391a18f79f4a0ddbaabc753e58c82e6e723ac3ac5727f0fc66a911a577b496ae06aebac0e6f3f907f8fb56109c1600b3671dad1e90fe6636e6673a2b25e9bf84f8b0e2d08e02d471fafb07265d3c8a35b6ea634f6ddaf632d68605a110b9af05cd98337bb157275a0fd884721ee03336c982fe5df7466e92a93c52fcd4e4087102190c5ac86770a93c3c9d136b94ee85f9bb11d0543eb3f7e2f2d66748d5245c41ae82a17df743c82bbe8e72e9e46c65d8c5c4493d0e6932f9fbb74401e585e629c8aac38c2ef31f23a1194f38afcbb675b2335556d298ab0c17fe862498e5882343d967f8593f4bb62d1872cf6dc67910677f247d66552bc2cec8c9ce4328ec8273dec3fa24a8a81168bf434b1399d68d96bc953404e6cffb2444a9f5a179a85601604ac9ec6108f2946872f20f4c1a350fa1acd790b3c0c60caf05b3c27cd30b7c27a9bea0012a18fb9b727422e9772fa9afd373e3957b554426658635479c3bea194fb5c2e8790ad7d572f5edca3a34e7f0efa0901c4cbe26c1f1a29b44a22f2068f0b8c54c9396a5fb4230f7e9648421aa922abf8a3949378cf78866dcaddefedafa3aaffbad6c119427d67b3a4afd817f779f168834cd2c9d63ecf0f3dca48ad052035dd8588b277218fba785355ce6eb222eed18e77fb820998e18212b429f23ec37eec71a58e5c34929b4ace6590cc6ed46f6d04099a8131e8fdb32d2f203b26953c0cd69ba39a7729134792d9fa550a98aaa0d6bcf035a860f503c08600accb2fc70d9c75d3d1d2ae24405dddfbc984248292a5c6c49ca2b195c4a485ee0137042bc33a47162dd7257e332bf60f9a20d445213a745bfa9212a79fcb0561414b144ba814320596c568afc3ce4266a1cecf368d383f546dc334b347a70271f44685e79b4616c13b77254887b12ef72cbe02e764398600833043ca7377dfb8f660c088f43794f34633557f0729d5f04645ba7cfa6f4545a0d818054b58256d01bc097d702feeb0f7170ed58cfbae10630565f222812d96559aec015cff882f203074fd0fc4d1683207265801838c797c3b338a68031178c1475b73e11776eece428d1b7591e0b4112216f93275f19e65a90e34e806304bcfb3305cbcab28ff27b1a873c1b652c618c72f994036d01c8c66b367110a1e4f70d2e1ded909f38e20ca982f1687e0ce6a67244d3995a152e694bc5d75017234aff9434cb746a9ee7dac7987d2fa05a802872fd81c7423f266f1a9f6ddde1274222655328d290c5b846a7431e39648a25aa72afe5896844982a152b37bae630f816187b38d4a096957da934a54a504d3784002e5cad54e18b1cf680e392f943c39ef8499ea5832ccc056e07e63707e0366768215c9653f8dd14688938de69b3296bc04bcc7a0071d665b53052b02c3c4eb4729178bf48aff9330ab549d5e529f486e00f1975b966720e7e7b36ab6d96c92b721212932e88e6626a166a668d8372f8a9342c3514478caf8f08b8cff3f2434d72ff2259afef4cb6d5e3474552b421fcd979db6194b4a5668b403fe0de528266699d89ee07fa644912655e9f73ffa1fae735ac05dfb24731aff8ec4245b12167727e9dd4365e0760c272b50e3a0bf4971167979c80290d2fbae1ed2b1c5be250727a464470432606588c098b61debc32228b86836d502fe2ff5f3ca0dc75209e72c995273d4a5fc0d8ec5a712c04fa976b26f99e567e893459cf5e033e5f5b73723d7bfdd20002d666a660c9354a35d6f7a8034853d49f04a83b5b9641a23d53020c9ca4ae8b359cc6e70353e81fb0f0ed4f2837196ac88fc5b51c88e35672457270194e71dcb18369f3d609155b3b84394cc94b1f0efe6b235bc26a97c53556723821baa73f4837457fc431f2f744c115402ea588504a7dffbd8997b911f82a617575795e94d16b7ce0dfb20f4af9ef28e3846cbcc2fd87ecd7b8cab35016b4725c1ebd2e31cf2d0326741c0c1468c1724b19afcd1fdf808cf978e9bf19453672ad802170e373636d5d038c26c5fda628dccb9ef8da6d31c5a69da40d23ae4f2f8e392e50f539639f06a9e92f7e3a60b840b2e347758a769b31b4d7c30d2b415d140952b0d040a63d8c32bb1977f461841508ac9874261c91064f9590050d29053aa58cdfed6d4a69984c94cc4012185b189e3c2ae946adfd17a093b30b402b72462c8453fda2d779418c56ed615b06b503ee2e305cb91929710b8473b5e091721d25820c19375941a4ea92237bb589776951f83a89d946acdff1aed02677fa72f4e4713924015cfd26c8b06fd62f1dc14fed0773c1ccdd51d53c7e662b968b592ab01cf72be04ebc64b2d768e512e1452af41194c0f65e8d0e84f904af6349727c70f4a05d959a985ce8ae836bd5d954ceaa61178df7d3f143233eeefb7fed0c0e3f1f0d3ecc32989bc3428ed78e6506934308b9d3be9610f20f9892704c48722a1fd7e3ed78225b95b6264cf910c1d8e7b3af54444662b42ef1cbe18412df4ddcbc90fd2e1d3663e2666c2f47d558278f6b2bcce0c81947e344ec11460bf1646ff0b83f21415ab2e4eb0b488770f776d13a2baf5916677b8da331d4aeebae72ae456100c8cf476614539c0f71603f294caae691364264e758ca350262bb1e72477e5fb158c62bd3878610656a430afd522693e90926d983d52667aa4b65e872661a9dc2efead0beebd23df040448f8be226f2d87bd2f77bdf854fb1f315f272dc687e7af2290d23be603eeac10d8f6c6d101adbcbd7170d22f0b0d735071c326d4dfaf7fb37327b51abae9fd5c726da493f141055a8ca5f3c4f4642a174665edb48903729e7fab3bd91d65922077289e8fa3a98263e86572edf20ada4997834d67e70cb78f0dc0bf41c350b13b93479b4443cb30d4ace769a95080c57b79a72bc2add9066dc267b02110ec162e3bd6538eb8bf2ea54386e2d0d3f607b9c2f7277c4ac2fdd91ae3951cfe35fea7574661e734b42da61a0d63f40c3f21ca23d529c5de91f41eca3a6ab5eff80530e654efd9c2ecf8d9c01caff58d889c3b24c7233c123c1466834bf2e30b4a46061281537749304c4fcdede0484028ac68520466fdf6cd42061a356bf074bef99ef56a2bc1292ad564bf3fa2a39d96364490972076ba1443bba46c99d3731789fcd9a40451b599f03a421f27c5cf6d38cc9db5b50b603cbcec20d522a43b43e626e5db81766e69798f612db7b06d481b47a45727cd0b57500b6c9ba613db6f08dccf9f367e0cf950f7afce9d18acde3eb69ed72ec158de3d79f5d9543a707dc72a4e1677308151e190f1f7c79eb135b02e9c22e778f69dfdd61c4785624c7d619a2f6012b8effbbfa0e5c7a9da1188fd1c19f23bc47e9448f02e3e081285945833388194eae85d33823e7e9bc5c9bd097f3d9724a68c3b360bc7e1419c507a6ef21b2fc221a1ff58c7b935a0f0d945f713cee722062ea482adb5ec5a58362c0f29b781582e5dc5a4f1ac7a37ea8ef8aff4cad330bd26a3d671e8317c7e983855a751fe770415bf80f842893b2d859e9e885421446702e19904600a1741ee50b99433dd3ed0e022c984736d8ef760c5083c0cd729b536eeb49f3f6cf5521eb7ed0dac97af4a770638c9502aa313a3d229ab79972c59e2c81376736e6fa311c0a62a35fb4f86008dff20bf70bd44fd95480555872aa9181d985e974508aba2118f3485b5557ef6b892b74d9f853630ec1e4db99729ac9a4f6af5118ab17af813bc35b4e9156cbcd69db1612a0ade66b9a419af33452ad8cdeeb324ae658733b4c8e47f3f356f944543e6a0067882223780d663e7216202665a161cdc07b934126b871731621a000e7ff2f203afe51c95878e8223f436624b536d3bafa64bb8a4c9648cf70ecbc0c241861b7a1c7dbc0d65dfa470028550fcf8368af38fd4dc710c19445c28c12b30df1dc43eabfdba09754b4857262ce8926c74ab5257fddc56928ab5bd7ba57d655109d3c2c462e123ea387cd72fe3d121cbb33b96e6279d295d0b01c0105321ac9524932f3cf7ca70d6826d6729571a15489c80ef4f1c13a1023fc306a4672550def25be6126cd3bd70bcc567206c4cca1c4767896ac37d16e16b3c2e80fee7e413389e998ee416fb6df220672d1d077b68d30b2fbdb164f89080da7079a585e603174cf32a31dbeea943bf972aa9e7acb4ef5c5235ab2cce8ad75ece7fb4bdd7c12bc31fd640b350007f78e7244df3041f3b495136d8dc0b61ebb1fb11ab0e1ace92257c32712843112a463727324b8e8b4d0af9e977bf6b2cc940f208967810acfb4c66e4f9dde90d8bc0a72278cdb1462a344a7059066efb347ad72237e594fb61a04984fdd2f5c1a821472e3f51ef1d0fe76801613fe1f32805364d80ae18f942ed2fde20e76a808a0fd616a669bb5eaac434e247ce811c9e65112796fa3763d85aae33fd98087fcf4c972f0dde48648e4ba21fab38995569d2a466372d36e6f8f95aa89a563d98e1b32587e105e22b96a36369185f2fe38cf4ae48879e73a06d34e0f3583166d193df0728829642871f0f1300994113367259020d31f63b83bdc95c69a3fef5011482e3db94b2f43346996b2aca4f05e1f44086582318545e21974a89b39abdb3032141da16b10306e2b7ad509a3841ec42ea92f5e6c66b6bcf6225f0ebd40b99b0ab4724bdb294eeb1fa426a1ca0660385b67633d28542987ba277c24648e21f2e78d68055f203eddcda7eb58f72b5451dc9faa502dfa55547a6c916ce73028214c50728a70bc032d8f47a5114ee5f28c20c326d2833b53244c8a6db728f0251f2eae72d18c037cb22e82becd0b812d45e0777fb71d8ecce0237025776131f12a989552b7a0ead0d1658fbe1da0c731d3d095684ef652aa562ce397d65bcabab8ad2572d3db902708864ee3e2b1247f4da308a08e377a7b9b5b5cc66ef1a7b79783f0728814738219a6be221a6d3c0282336de4ca40338db909ba069831f078cd9a91722230a357ea5426942b0983fea9052db9c980ead770278a995429aa77b251db23f232aded124292b52b90b6e2ebba89ba50325036ef55c6ca09f25d77422c9864047f392b68bf33b04f3131f3414be88ea9ac9049f32cc72f598a2e07297ce20d2c2a37340d38db761cf0222e18500939633871f82f5efd56ab1bd8c2fbac2f728686301f765bff331bf9898d4b10823aa4877bd5a5f248f9a3cb206002c28672839fa7272b2ed26038e250a869de7c94330b7cbe6b76cf03be4c8254c4b9ca72ff7d1fb34475dfe646a095a9ed48a5fbbc6b3e00ff8253d34b903e9804a12a726b71816ee53a545c5b3e3db2c4bd279bf87016709bb7eeab4777f1a586811d723c71800a1aa8cfc84990e6adf3b292019a0f53f32262b5dd4adfbbfc334c602def51ab42d26dafb3bc31358af51e2072363c25cc6d667cc75d509bd93aca992f490715611b9ce34e805eedfd64e1df3b490562e5b6e2519682bed9a1d23da2728a33595660fee44a4e871cc3702202063844b3993faecfe780efee72deec7749a406b995db71f2e6121eb4079ac4bff88b124d3573d7e14caddd831ac62a297289d3315fe9c8b28f01ab5e8bf37b9bece602935776597bfbccc268a0ad9815475a0a034b7197a0e732497bd8eace9704c786c8902f3446ec677d0dc526123063ef8e93df17a5b9a4397a415224116db4606c51ab15b1ccf737744d5f6d9a9c130ae5000bc5b1713f5bf71e2f20ffad7165e95097dce83ba7da6ecd967f79ed729d47a75b61e4a9f2a3a170986aabe8aafe9c3e24bad89412f0892c657f8c5a72c6eb731ecbb83f016a995f49ca3328b5ffda2089789a4db13e1a0ab8bd5f1908ab3c8b2c0b40e6e1a4b6e17c9ea9369696357e210400b88005c837395446311f83ff2db95162c9268881238a0ed2e11ca0aa8e6ca556888f235e08d3743bc3725e0be63c568c9e27d4d56b57c6752b8dea707255a492f50e2ac559a744531e673cce6e959447f447b4446c177d56c073efc3bf5a515c5c4ad5d999c838e60d728394b9f4a90a88854bd8eea02c49e86aad17b32c95311fa04e4bf0546a5b2b721672c71d1c0d44c77199a4c8f6231dcb2425fa7ddb37cc35fe07504487e5a272c1b4188f604c429c85f290ef0f42240096b6a3d3402d5002a1cc13c0f01d47721be6b0b4c6a8037cc6c1111508d5ea9aa2ca5164ca6983878751c97b4b7e9265fa2d823251d2c1deed327137fc7a7abe4b66cfc50936bc1c58f19c46d449d77218cdd9f9ba28f7e6f0a1e4779fee2545278fed14c0a24b471835c0c1e9750f721ac4a5d03563caf5db74f41fafb31e2eb0daa2f2208109155fc1e7d2804d3f36c17e94d7a118dff55ac1dad8d202435e5f1b758b434b117741b3150b768f1e727663113462f3fa44d9a1e7f114ee3cd4a8327d6214095034af35f816849d2d723cd29f851e16f9a7e93ff8731d39a9565d769fb6239c21daf4537c2b59d9a772357b6fede9a41b807e2a385b7416b8ad72c128b91a44f78345e762faeb8def40867de86c3fe17d813748405bdc19ff4cb8d87e9bfee77bad0c8fddad8742975d1d2752cd03e820b12e3655aa65b7b15922e15ac06cfec5febfe856cf6f9bd3669565d224b723cb45124b8d116d602412155cd9b69e4166871fc6b3733a5de6720ebe70f0e4d4f1d0fdb5cd2a70bec346a168bcd25754856c44764066ae552a60eba5a4c99ce6bd746c805656e47fe628f47b68723018d2cf5e6aab56beebc87266ffd1c432396f66d00eeea28447fe0a8fb9bf1d104fe2fabe85e8507e21cc72d454dadbacc8ce189a582b8a6ebb49cc51d9a3f9a7e25251f03dbf46b29f3f5ea5f7cdbd0b34495a763946b849f601b6cd9c6e3caaa6fff0399269388f9765725b916e7bf6ba72946e55a33bf93beb294b489cb76352e3c7fbf55d24f6348a72ccc3d44f662e859de57479b401703ae17ecfb759e99bf303b274f0502a304472e460c661fe307da614bbfd3bf227265992812d31ad6de0e3f5385fc5bbc98b54ffbe87d16d59ad5b01a397c9985e960c50f0662ffd52417270e934a03af68953c1cfb403f68286465b1363e3611a20475d5019f6ca2550c9be900f13b0dd5872f82093a782b6dd1229fcb27712c5f2acab2ab2f028e7cdc88c8854c25899a550632fef4a8ff1693261aa06bb3af9b8ed18742761f80550271eb5f394e5063e72466be377a51052c66066333a24d5353ddebc1b30109b15eb5f7fb05fcb883c7222f7c4794ce8686bcc3021a1062d53bdb90f8791320de7554c601af4671a2972296234c5eecf872e0ec70f236cf1adc3b6c8e8dc5659c0d7e4c5a8cf2ac73e14a29c1fc63512ffe83d59104dea62e2afba6243608ac1683062be76b98f14c3561b39a47ea80528523d556db362c44da3f50e839dcadd2aaedb4484f7f1573c7245a66d174520c278917f84d8eb8835badeb66d83d166854113667c1d7980c16450e724930765c45cec47120e5445d67a2cfb88e69ee51e9d171a708188bc897224bffe5eb1bcc4db737ce42d4cd3c8763efca82314583aefdccca4154e813e72043b652e31703f670b69ea597ddcf7118b62a98e863ebabbd0f7018e8f90477232b74925251da8a9e7f55cd8890f836e0e71b263c4e1defc258141307cb85f628a2b5cdfb512e332222dd8ca9cd54f5b73d7c0e63ea345fcfd5f462078549d72b554d066d56aba4b1b21bae5130e3c6359df483ec94b2757b0b02c8779eed16eb2147c3c264fe63f62da82649b9c703d6598407c1cde5c2b3e3ba54069514f2ca8257f32c0654135b7fc0c515c549036c90dd71f13c97233f4ecd79b6088987200bcd136c3711801d106e7c9ef7710eadd541186d646fed3c21b6952e866e55a400a5b24c160e6a698a266e02209a8c47c1283aaca9a34263d6d8aea1243ee721fcafd5c9ac0e6346d70bfeb0cc361399ec1ee58249f7c5173d9dbbf6ebfdd58ae761025919a9fe5649138dd15f6d21d0f6bddde3a7f00324ed8ee292ec62e72a72819dd3f513f9ea9eba667cdff4671188fd1fdb5dbeeb9b2940766ce440f0e3fbf09091bc806e6cc784976f8ed4907eb42e0ad4ed7028e59815f6a6c2d326d93d070890f6eca3e36dd0f2356460fcf1d08d5e14424d47ab438e23316b82072047fd6544fd030939f8cebced38832d62ee5d12ad4335f6a7620ee835d79751578319065317e8d8e524a1fc6fa5e7beba31d4ee0f9cd1b057f2055b55801f628f417bb4e30e2baf3f1e71388f1a9a429169a41cf2b12bf5692057851f1a1297299b6655f15eebded10a03f25e3b2a1557823a858f2e6068306ca1ba692497904162c535ca4a0247c0f5a88438a7eba17d63206a5c0756043cf112b660064e772dea9ca5495eb6d2b7fd85a7ef28a5e6e64220d147b390944693316e004176c69d4531e2fe71e242eafb769440026c8fe17d98fb3a60c06a5c2b4a09999140972b3760ef073ff07034f9d02ade1e719e012fb8c3e6ec4bd3287f81d05f0368472e5293ee0e9be96540d5a28dfac3e545f8f431dd8f814d08382922cff62f0cf402bde3b60e96c23a4dcc1c50e120c8372f6118c6e2edbb6c1b5af1d2a4ee4fe6931d1ec29ee8875bc4efaf52c689a1968f9097d4084905c2d027139c33c8add725d98f1bf129d4aecc669a2abf9981eb44b65f4ba6ca60413892533b147ac7972f40dbd8d771b528a8b2d437b21247005667c45452a6e2981251e524dfd8e1c72d9aa4f7c3478bd3c0f1c09e9845fb3ff194b8daf7e2bd8bae2e97d7f851589725f17b584246997f348ddce9a0d507c8cf1bcae81bd932a1c52bab47b2ff501723de028b2f18a308a1b2f07e6c93bde2d96aa99ad2910fb42ca9e3198ede35a36e42554bc84ac6ba02fb18f9506d85f2569e266fb6b5d560cd4c68e289c53400ce9c1db2ec57fc69acec01d6a3a87037dba48a76c86b4035e87fdb32e43045658d99a7199e4f6e55fba34c98a75064fc37170453a346562b0c73fbf50c8cbae724a869a1bb55efbce9dcead4e7960dcd3ac6be918e9366083379278020f98e7688743c75c81e23ed8a3f5f60cd0d49321ca41d036333db7f2652f2a536ebec770eff25c52843694e8f8f736eeec5b9026c3ba9efc945942ebedd2e9a85c1b5e1c53b27b3c7ef188fa223421389253881bbcc1cca14ead33fa54a3467382cbbe1aba95c4dd2a760a042a6edfb4b5558f062c5b1f778349b512b93038eb8c5fe8727059e6697745ca328d146b03e597ee8fb71118943672fd7f1fc3df171c06b24fc06dc4599d0612360ebd65e8a07b941fffad59f240e320d43cebbf0da855f15ce22aee34e68bc0878587007492b6cea5cdbbe2c39ff60307d2005390217042040648d3f82a81d2bbf4a5fa15d950ddd6a770b3eea533ed44c2c4915ee7658b72d4e92d2c69aeec64ef84297d31e545934794e6081ecd3d339f256b0d7383713fbf59a5cef303d15782cbf10fc8f81b681b1bbedee77e94df19bf25596125e972a2a5308382cc7039c8c596ebdb71d06679a8f20f8b19b0f810a4e0dba0c794720b1cd581f5020535290607c26e51eec3a312045db42b20db91e6e604152c6925a97518556a93046693ce4e8500dd05936b7355d1942c0cdada2bab063b268b72dd55d7109f9a823caeb74acccb2190f5a58f0598de9aa1fc82db0119d3383f7231a426376a01de061272c250841a09f2e273b48dfeb848a1ad24590306ce9c37ee2cbc669b535b4d1229f9a26ef7932851a959203226987efc69cd45d1358d72fc805fbb33ace9abff3480b180691eddc9bd42e2ceefd83888a50497ed1c0b729f1e454f4c6fb272fae8b36b232a9a4d2cb7397a46319ea63e6c5870dc75b42a165c7b264051582d8e80a12368f305eddc2a8994748323ed58838658a5634172ae74f4465e8bc4d9faecd0ed51ef3d606a100615dde190c42105df8b16273615226af37cd3cab361c2b5affedff5604ee8708e7a4e861ed2f2d8029b061e1428ead8b631983042238d16d7e9e96234b9b27afb9699719bf8d7af8c0154a81544b5e2218f8dc2f5db1cdf5064edb4110dfd93de006fd1cc5a9c747fd7c7ead94b80628499c1329885e1d4ce44fe080913f1c6c6cea71ee711e634dc268e056172fc29ab1ea5eacd2a7b302ecb593cfb549dafe7aa35d87120d6bf8adf45fd5b72b1969ae0c65951258fee5c18899008c2182080232b31619e4d5e0af6e64be87273c4fbaf4518f02f9a2ad1793f208b3144fd29a365a9e70d0db689329f52507231ddde803a19fa4ad973fa70e3d4749896079bebe1b1d47f3f1cd3e7273c203b06b9c383a22073b46e8150a17b66be8e26f8a89ec574459efe74b19fba2bf7729f19621eb8914dd9c5556a8f00e9f72db9d7df7d97f4e45018ede1c06f7c6268f7bba6428ea87a33d2d6eedfebe4bb2caedb4a1cb8f9dda196168b34906e5269ef5f320f40bf4f5816f3724e1305a6e11f699cabeeb361e1e6eb87c4d00a8a605642ef6122067acde69d671cc11e37e66e666c103ffb5158c8cfab86941a17729842b622457b5989519be127fff0357088b1012ee88d7b492bf1af09f0ec127283867cd4b8d38a14fabcfaba7099db15ea8303f27972fdd13380588fc7e3f53ee5f69edecf98504e27ebb1d60f629bc576340544208e4ab2588a2a51c614027225730261b123065af0e6980a6c5907e59403df0cb12b7b0b9eec6b0654687e7286fc32fafa5badac4267e728e404487db6db51e8b88751fb9108bfd96fe72b2371312ccf16a7abe2dd8e2f99d451661818296ab37a7aa848ffb5afcdde497d4557b1cae154e0f307b97b419bbb093d8a0e8ce8654c3cfbae0952ab2924b180721909ded175964e55ec3777ec88c464aabbdd267b655be4882fe566685c78733398c32e3f48c3bdf8956e3447656c971317edc42474a09471ad509f1532a09a4b30a1efa1f1daf64a57393b23c3b7f71f38bfc4f506d90d5a60689208d8b87c6ff653eb5f7c0b51c80f1372a2472f9c6fedbfcb659b37072ec70706f256b10e72b594b33fee75b25e50f3e1390b52923e7b7cd00969482022a2b4c0d30341ca724e06e0a8e5e3f337415520dcca82c3fca0952bca24241a7be718660e9fc4eb31fb2640b27be3178627db43407ade8b1eb07b65ccc196dd8db3e335850467fc72c0d212df3c119f367ab7e92b6b73af3127f6eee97d8e5688fdce51c22c476472cab8e1abc485960bd4621772631f3d98a84cf213bb7d14a72b3efbe99dcede168bcea5cd7dd2616ab4639442b568d982cfe89f2a07b51c35c11784a0aee67c726f7fd5ae52a629a513d1cf05333839ffcac62b49ce1e8765b3b1821f5ba503103317e4ffe45a758b36876dfc7e67b848d4ab9dba67767f9931c562703706c42f8f8c43c13019cba1f5bb19b490044a31227f0e79013ac9ffabdc44fd7a89ee30ff74de6a7a79851aaa36af6a9076b5c02053e1fa74511609129b1e8f4a4b4472a9e3603b142ffe66ec975b00b5c5b8e0b9d3520f3d0787363c01b63dc5136f513fd8216433ed503d67fc9e31ff15b060558a618f06501a73813ddcec6168bc2af5ce8a9e3fb48432816467e0d8cd821e4361542b461977d1944f1c4ab5108672b5513863cd73e5a5905afa7f6f7212626dfa5cf67a52ed8698bc63810a36367273ca35109e7748b59f06ed5a2bd8612cfec93e34a078ec320890f98581c7c472393081f0cafd8ab8ed7ef912a50b355c363fa59b8653d6d172fa17a2e48e45728e6f9c28499af846617c32cab4ba26e4b227a5d58aabe034de3f074130ef5b6656e1925bb79f376fff10594de90b1ac30ba0ea48895eafc6cee08bdc1d8dc072ee48cec6aab27a11bb700d59ba23861f7864cd0ef70b82b74da40e94dfb0a318b42c5fab91782bb8671fca138c0eb5089472023e7721ade4231c73751d7551729361cc702438f8a3a7468ad66e9d1cb2c4ff8f35133f0d0e73245354770d127268c1c923533f13486f6c5eeeca2754a9611386463c115b65d171591e1939b272f000056ca07ac49ff82516a0d2f2bb445d74f5488b8046ec556d8fe83f420800f96008dd41b55ed892c6e261e06edad17e11829a2e84c32047bb15dc317291722996e7e64589ad9d94b41d76024707bbc00afd44c6a51148ec980fa77d18b872f3ae6dec6cb5940c57570fb512c618710879bebd77c9a8caaf1c8e6002a69b725a71c92cd25354fb5c4d07ff9eec870da2f03192546912767682d47983b32231698094ca0bb84c13ed432816d70fc00269708df602aa795b76a1e79f69982d72588b8dfb2d929a75d5a4c3ffad527eb858f150746f47375617f1ea2e0d1c462c8e9ceea185cb138b399c893b0ed965b097a26a92b4978d1898a039e8fe079c723fd32f2968ab15a58c556e5bd86f90e344512c296075f336bd7509fd1566e472579a421987e208f832aa7ddb2202d72a01cb41452739525d5b951d96e9dfc5722a99b5f550d913f19bb04f9929508ebdbfae165bac9fa4de47470d5ff491e672a225ff25c7894cc5e974b27fd5262a497ca47d1a67e76d5c5b3f9ccca866a372a86113625b4bb53f9492bf0e2e917d70a0e8f4c08897e94e773c05a8e1b512364ebe4e1cee8c8cb4507eb990200576be2572e372fcb935d0f0327efba76612728e8f890634b0657154d6d9c4a221a0dea64f3a3537cdace785db1835e410a5723bc1b784ab4f3f2184a908ea3757ccbaac191c4914b607d2a6be4842446dde06ca397bf74106849b8de7bed14f8c045085db51f093064a3cb0105fdc3bff32729611620e42ced03de666970b6674c0cfed0b15044d6e824347bb3fe4df031072f7d69fb9f953cd8594180b811ee9c9918ea9f966f602fd10ae3cd15ccf70a272eec7b006b17b7e516898b40be27fc6e25c29f891d66925e9c0e0eef76913b207ab6da4762bdca34f8123ecdc05d6379d7774da73b53712cbea188cbc28ff7b4854a63e21281b4343bb81855c56ce42e208a77da4e7f7fd9b1df730e001b427726d21afc9c556a6999cb15a481b056c6d9a5deb200624e82cb210a6fa1acddd7210a5df024e84e51f118e1fc60a160c3cb723dfa09dc6f3690855ee5f42e1e5054ef6d9c04cfafd2ca142ae1de55ea80a288d198a7de59d50c68dc728ed159872796948de5d35295f615ebbc2ba5cde4a74e4f00f0148f26bbba84057a9a18c72a26560977eca8b35028285ad123ccc3dfc3181f985c7ddded0355a093e00017221bb1a703985c9ef94ef4dcce7644d4eef94f0641617470f428ee1f3c8fc9c52206c59ba06b6c6cfc40256621d16a29fd62ff848a7de6eaecacc1939a899921919831bd0745528dec7b2845734c594490e76227ad789af95795e96bb84dad472606bbd50ae12179fd561f5e7488cb82419d0529887ce06aa8fa48e3221047f72cb3ab0c3db2413925344efd56e4ee57d2b0f3ef65a0b72d9298d4ad8f48395729ca41380b89d159787d28051b20425632a278866f3e70b8f04b0c24d7da24f310083d67759fe7978e92fca706d57d62a8e0820ecc6461e972005770ac2e30c36ac87471b168b0e962b9b3df0890494533361d1ccc55b25afb224c8208cfbbb72be6c0c0e9a5c89bcbcdb4e2dea3ae3ea2531ed19b8a40a8352be749c0074fa48551dfe52c041d4bb14e019c15027471e60d88b1e7eb69e3c2fb231f7f4a02d72a9cfde2fb463178b88c84510f458087d53ad193fc63191a9f7940b7754b0082d7bb14fdb2b83dd64e8821d320bc2aabd93ad0733a4a9fb1c30d563825834270595459870d820c88089e55e3e0b8c8a43e39c9f7309f2765903c50e9aed11510e4b324dea1d27b60fc86385afa5b57e469ece2e36ea8aab0e6bd861f297d0dc62884bff0b7b6ac211f0c806b8a7a5d3dc43afe918799fda8e57f6367bbfee165d82a36ec1e21ab313bfb8166b85c4734244f07bde3fc79f5bb085a7232c0ac2723390a41058e50b0f89aab4fdd68f771a925e42ba2c1b03621c8b075bb4d9ef72d95f840fc7015fff0ec78939a08daf33e7f7d12c09d9731e5123919b6f4ebe408a3eca36a17d067c5d172507d08f0cdaa33e54b05db42c06a873179f4834be726ca75c310d129df4ecea23fa8b74648360f0e4a82397141ad48e1f550024c87233cadb406b5ed43cd1fe1e457b5d423f4b5806d0daa9232f5826161387e104726812d84eabe64be491278db03530c9e882b15e3272dfb7e2fe5f158ca238bf7234d4b131d1b5388835eca05312f2e64595fd55a28c0892a319a3b6ed96055f41fb68168f0df554374d82a35b6db4aed6302dee9f3ac2dbc04f2d9739f7834f72468a032f2716b8d5d2c2bfd8bc9a1ff23da0c1ee0c07b69a0c5222371e622d723140f678ad566554ee8291777501ad97208a0440ae73f8f94a82f087a92be27271fba680ce46d2e4e6f06448cbb8aa87994e1e3dfdb5fa68af5eefef3d4aa54c764d476f3a38fb0b8aeae1b1afb713072a7c9b1ad8b0ff8cb9a1ca459e77ba722efc868b8c54b8eedbb2082137b5c131966a9afeebf37abde97e109ce2bf8972457d946131591fe352eae87a952671d8efd8f52869a4e59b0cd049071cc0b072621977ae656c5fd310c36f1624be775f2e3ad9afc0fbd215bbd3f8d7308b280762ab63ab5e7cc7271d6a34a1b37101c9cfbb650ed30e33d0bb14b11387b9387258c28f9b1e9c148b1ecb17b4a81b758cf227fbca8b0088af1e8385b94c603b7235661116defbd2d0689d61a23fe980ec53b9fa3779e316885edab61da3c29572a4302d2f1ba7d72538ba5291ba9c69bc1ecceb6a51d8a86f3275c05bb9df815546e71cf75da219daa39a76605c44d6d536a8041c8bc43488ba79576c63f3fe482017fa6a8613e6c4205f4f756ef1a3e4fc45cc0d4d7e7d024f463f959c258d1cb13f6aa3a23ad8430cc8fa94c130a64db17e2a657c711e7af99855c40892b072dbe8a50e81197e3dd566ea36fa9ea5e0644bd64633bdd7687dcea85410eec25272e00cf1a1ef1893e918830e5fc97b8f331fbd3eacb3a505c2a17d4a50571c725ae998ea498d6316e77cf317a876b81010de4616046d8d43dcbcee95088f861cb620dca50b8d26c7138c1114c4680937402c06dfa8e6479f63fe2623fb9cb65022ca818a00c5a62c1915752674721256f310257df634dcb8a30a94caad5eb060a6b7f578d1d4f14e0c718392bc90b0cf80ad176eb69a4fe8ea5c873a1436d6632f2fbbf0fa4a8b8c1470b6b20571f85eb1dd98d8f3cc4f97e8d05fef3f4197726ddd1dd5471e2f7a5c0e601d6f59555326f635634fe84938daa5b58011dc5d1e6ab5b32ef5d652e6458e0048c15e2eb0b95edcdbd9ae51d021df7d897565a85ac99e04fb06cbb3ac8b858e0909fc1f5cd33af601788ac475e59daf7e89d884648714060456e0eb4d5bb83da8350e0321d51c40f34129b9535f87bb02493c98721fecf88c5448fcfd6f7b4c2b80d4b8badb804dcafa37fba0cbe6c4d2ec119063dabaca96ea0301d8b71983e1bfe66894147671ed9ecceec9bd2a585cad0b1772a836410f7fa197e076f30f6f65a876ae7734abf100c0ef75d89111bd4f60437287ff75e1e1c6946a2ecfd1a044f05e7acb9bd35bf488a50fb6eb2d5a7eb4917295a5c606873838e5555283479d9eef62a2dfdc510b6aa29e24e0515795ba187266de92d50e6ae8e70472117f5e6891ea6aaf9e7721947c93d51e6b5aca7a7872ce27ed00b5676fdae841334f2d5e37cb07a4e8ddef39597cd6f7ba5d92d86172d0911042c50b6e3970f295495b6c764014afb9bf37004dbf4fe4c732edb59338a5952ac3626fd686441d4f9143214da9ddb73133b7d7bea2299a2c144753f15e19ad092b44934d96ac68b67e9e5aa1ed8a69569ec6b970722d506ba827e0487253cc709d03ae30e577ed620261c2091ad09fe945b7f40e16389a146a0866f67218a29df6edd19fa1deb11465ac41a91757869abf01ad15a2f2ac65793dcba07291645acbcf82d713e84f59d4390d9d03c0d304e2b6cc61465de7b64e67405372e70d931b1998284b8db1d1652e8d0037a15f60d73a53663785f90b77c66ec87230d7c4a98bed1773884387c524c522839afbe5779f82fd6c326cd538cd3ec5722262a12fddbaa153475115ad40ab64d4d08b02610c28ad8718565936ae8bb0727378312e023922dff75fe28029da3210e826b93e32ccd47ecd432030b20bf063b21e918c6bf64c3665f2d4a3658cd04f84d07f3408445c5eefc9e6fa76dc1a438c8145a7c2ba364baeb753eb725027c37600a672495139f4c4b47f959f3e0317a6c89fce29ba6ad073934fa2499f27d62fb1713254e4d24123149e16c283ee6e7b01a9b00821d98a2fdc64aeaa90facd55de177fe137ed48f6ac33ddeee4bf697687816e31f00b42eb4677d03f4a146c2096b250868ca6f408541f868dc22f72e706dfa5d0cb37f4d53ed88cc340201248613665bcc4b56f76ec9b078076725ae42fa9da490e6fab3d82487873c33c37ba7ac20ec01b8674c61d90fbc9c56472d40a82805235af499a1f9c2b1f3bb891e1a73d47dfb28a9e5f062caf64a5a372fa93b45e67e1a32b1a5a99e6026201be6dfa440673c7243e90f871aca9dfe83c143e6eb3ad0b367c94297aace419f9600b3506e45c7d43b2aafc609f69e9104c9b2434a48c6eb35aebee05013e7c415c72cb6fc77f0f11f39d49b012c488c472701e2619dc002d31c3bdf93086b8f27d595615ce015bc471f920a1640dafd12c253214789cdbc1cf5b2f135743584dfcb602c04ec2119b4cc1d657e5a0215572a7eeba869c4cbc6a635f1456eda34cabcebef0749a13c0eb9c2a1065f59de172937502d8f29743b4c10b84f4560b6c99fcfdb8cabe5b445c2734579f8d348c72e16d856e99181b15abfa44d99012014f8f433c0e587725ae7edd88dfaf7de82f2447430aa21652b8481a25d02bd5ce244123eb9f775407ce34e0d065e5cd7d7239ba885e73fc4daf0a2d3a9cdefad0c633d8f6d88d3ec509aad24ba2a3349a5ed2ff079c113ba8ad7fa7810eafec395b6edb314206bfb2243ec5b104a255c15cf7899e66412e462a1a3da3f21630bb329f2c39c726679c72186520f376852364680b8ffef421021d9670963cd8087753f45d6e957747315e874c4fc75f9456725e24c53a5d1a299287615e684b152037a6223c56be30a40471a8d142d1c7dc0526e9bd4d64b3ab653d6585ef33dde1fc886e6ef5f5f66b5f572c177665cad872d3b89bdbaa881296124fbe5e0b171ab954cea169bcf78c433a12d03531fc1f2021b7fbb13ea9f377b212fb5d264987452af891719c42bd6494db872cd93e87723603bd433940f0b2e5f77f1570024424962949d967a7804b367a2fb7b7ee39727fba21c740de08247c3e743c52e18e265ceaa5a62451b60e77c29a8958e9ba6354416f0223f98e0b5b8ecb83e31b7a8a56b703f2dbded105e67cadf021d15a5fca24982d7f2c64188140891adf47ff875c33a06231e3bec4050fac92c3459a55d41b8677a44dda172bd63d8119c4155eae35a732244c1e22d784654ea2f644526c0e49ba3730f572837d78e59568e9917b3add618985b6718607c3c7f51876094899921ed577e7f0ca09c020274e73dbbe6fa6af0aaabafb7ccd7b494a49bf72694473ddc04ac6aeeef9db2ef453773ab7b8886361825eaaefe344b488233d724b7aca023a65fafe9bccbfa231df7c256dffae78c292cd7055baa17382125e3327b30122adb79fcb5ae0115ff2affa0f224eb70d39502cd3a4e08bfe970561728c90adcbc9e5c60f562e32f2b70b68c8e41e0f78377757f37b00b9980faff2726f78451b050ee162000320c817e41058ae8f006265b6d1602904b0420d02230d515efd0ebf7cfc3c9d9c658d7a0ed51921f71286fadd16b5562444c270941b72535c665d58292d3ef26b861ef96abaff6199bcc6d6aff6dfacbe25a608f154722f873e5917c31091a707c79736c300e2c4e9bcb83b4c7c37903694761897d33c322fdf7a5fcef250819f335ee5f1cf092de579820864e99709d6b3370b1ca840edff4aaa338880d7698b65e86d4d6fcaf74d9152aed4b244783acd678f2d2072f007507ec1272706e39b1725e09e7964e059989e0f4dceaafbe03af00b8e12608cbd0064209189ef85ea02f4baf347ec99f05805895c5fa39599e4b454fccd1e1f4a77a006be0a846fbde670f1c7e81dda869dfde2c377851bc73b5bb58031722b16144f7d6ad2ceeca1298e76058a1126d37e4aa028da672524c9801d6cc436854132ca696ec581ef96eec34e8f597b791ae7a4e8c9e69f5d3c90e04cb60272547c1dfd5fb3d99f1da04d596e40e9453d6162d3ff2fd91215e8aafcf79d21720fa015eca24ee44b21622749af3858d5dd303c1ec5e94908c27e486328fc074445a660f87dbad04ef94ba185254c8bc3bdf8e5d346aef18a447c4df9eec3a672347b5a81f7674ca8658cee9479a921b9a55fcc94d8770837458f4c5d41cc6772a73028dcf0511c2e4efbfbc0747997c86b726827924fb1ef0679e768af5b4472b89e0fd52da7c4453d35cec71b275455fecea042720db3ea20b15a8d176ccc72a7329d5c152ed7cf28d08adfda5970b2fccdacdac95d51d49b01d9d3a4147d72145e9b9eaca13fa931c0ece268fb8aa709a2e9c79ad8c253c41f7077dd373372f860826f5a1fa40c0b37ce6e04aa87fc7580d30e8f2ddfa9994a7f043ef75f72cd0a7761d851f430d894e63ab18c13985388e865c60abeff19cd572ec99dd9293ee892791bb6e286da930e68d4d7edc67bee9864adffdc80ca703502747f31628854eda853ea9227db85c471275051c5ce681a655f46ba4b324b418ca0451472db323dcfd9fcaa3cb95ce5d0642f13ea60045116275b99c080a0685c9ff31b72410c2f7d3d9dbc34b8ca4dd6e8289f065bf1a73fbea59c5939127a671625967203197c04d8c4be33041bcbce73f17b4cb2a7538b85c21091579aafd0b2f67b334d58df77ad2801746707f04922000f66bd05fd0f03e7623d1fa60ba97377ea26a526c7a0e7c8deb3f327619c9c0022b9ec81df6475753ab549256eb7aae7653f88cafa0763d4b55d81d30bd8cc33837919ada886b2f835835cf3a05a12f74072553cb6996b4da1fa219e58800a8de40cb5d43eb49d8c0619ad782cc36cdf5e3a3adcfe8bb930dcc1cdb05fcfc59eb586ffab49bcfc87e9869e5124fc00073d633ada60134058fe0098a06b17b69645858e7bc586c01a509a5a4c2c9f37ce56325dd78fe91e0d3d2d841cb4cd86186a54cf9ed0abb40cb257757297534f018d677d8b0c50b8e43bac9d519f380a056ba67828d141347d8ad6d08bd6f1fc71df4f31f8c7ae40c74f4b4e1afb0c0acec5c51be5bed6a2d01829517a7419a90afe7204cca6e5af1736f1e0c7c5fa11a0c5d04e3704b45b0bb088060b4e01d345ad7263fc2e3c8d0ee64ae5b9b15bc47c97b9a1ad1b31fd5f154104b6d11423b01d72e639ef6c81fa87a896744bd2587c5bd14f9694f41e043b64c849e8aee2560672943c3ac22e345f64d9bc65e6c800a98d5f022f897308440a59ef4c30b825ca72ebfca802269caa448f38845b917b182b219b5c21917aabb337be15a552171f72fb0f48446c8922c98aecbe3199c131c1f1c920e29322560978e02a3102e724726b20d6c374c34fb088afd30a272da04148b159b810deef1d6878bb2636809072470276da116e71cfc9e5ee3ac27e80324a1aa124e6a4c06baea00594ed2a4330c2767482411dbf0c7d6d8e1e30ceb69c52dab4c372c17a041f3c100a4fe3db66b821f7b6789fa40f1bfb62d3ffb1f1bf4ac91edad66a31f441d5ad1a8318b93209015e1502574620536aa1d030902949a5d8735e673c34fab44d5e18dcb33b50516a2bf69208747b94b701bd569f23c9050e9d92ca7f5b5b55bfa621e06c7347f981453bea2a5005e836161ac886c5693d4320d813cf9b4340e2df13874b4d073d7cba9b75031d07cb0b4e038be15ccfd5f44bca754fd68e49c9026156d7f80c149d3b0b7f346f33e045b8e92122d0a29ccc96ab9dca24184bc36bcf7e2b7772cb02c77fa95d06dbb1640427712463d64f2870fed5eba4baa756cb9b19a8c93f3f88a4dc06ca4041c7b93c8fc652c35d4aa2521c730c14c1a56a5825a928ae7296633f3018c95163eeb9809ce8d2b58d9038c4f948001f4ad288e615e479e05ef588f2170bc2a7d4a492025588820e6199bdaa7b3f6a8fb9493f9511e9f59a7250cd9f0c77c926f0bfea7fc6a46188a8011e5f7e9ef9d36e33f9c6a5d14ac359365b448a66e08d84328732fb0761d8695b6af2dfe36f1d3212fe70d74f2c7e06d6aa6c00343438cc3e3c4de0a0c1b045c8852443b69447c5939716e3965db50b257fc829018367760cc240ab721ce6bc3b205bb673576790d38d46f037cd176da37c4e27ff9565657c2632bdbf3e1badc6c33181874beec64e3d7177193a5772ca9d49a09e97ccea2fc608ce59cc2e46b197b07aae7bd8ab0e5cdc513a29670960f199b084294dcbcf485f49462b2c14222ead7ea4f5152be3c7cd2a8d1ce572291c1a48c4cb7597b10fc535c8dd2025a7054b756f74ee83e06847cb2a4aef581f41cc70b04f01b94f710f204be86725475187f703f27958d628cb44a30fa3435636430abf038c05e31d03a679b23dc3e80d336498ed31d099086e0da8afe9724cc9147eb18f8c0e2955755027f7a1aaa56c7f72f4f2166a40f7bad01f54d32573b598bbea5d1c87cb5c40c4fcd234272e973c9ef6647bd540e2254fe13a6972cdd863f22a9c6235ed4a210f6119157d72e8aef3a3f9d5c2c7f19cf65470c272aec664cfc88715bf5aa65ad57c6f4f229fd8d73b1a16eb888f67756dab1d8b29e5a30a3aeef832e1800e7095f1896b82975d23b05b6fc519371446b23bb18f72dff56f1a8ce4640d268b1570e42cc01b3fdaedf09ff1c91595a33744ff886c2452f3ce4253f341fb6e32987ec134b5e93c3774091a5970431df2cbbffb59f3722195999b2dc201edeca0981dc19491c09c0892c0123bae2246baf0bb85b12772bb1279a7489982f0939bd30728f03887a4730d0e24082a388ece064de34001720aee700e7b3f993af5c7c7195c5762a5292a59cb7ab5984550f480bef002ee7252dba3386f83cde1c403e3db715b8fe54ff84bd5c5f9ba3046061786c6955a72fb330cbc2c6b7dedf8f19beb7e6c0cab3978440754449925627ca1ddde5c4b723bf770e711b93edc10d5b783bbb826a4dcdc5ccdd8d61d6ca3c8115d0639c172817646a45868a102daec7e46c3cf3d6245f9db29a3c0bb81bafae7e2f54eba624a32083c4b2be60bd5fc526f68aefb469b678f0365475953164be1d27885fc09283e6e20d135d69fc95939351308f2ab4e486275ec2c612e4452200d29e03252e8e17d6c740bd80512245743d7fd8b68ff82f7b356e94015e2a5c6735b39e34643dc5f27764d3fe37b02d2ed8d3faadd546d726f54507bd75f7b2a9d9622640e1ce3b02476573729e1acaaa53d9ea9699bb19b3d051fa798f88710c2e66d6032ddcb029f1b3ffae18fe3de3cf1c5c896359fa70768aa0b11a9d587b421dc627288950c44bb704331c6dc41a3e7ae53a4ed94f211c7195b53c6b23841bd34337264962137880def55273bbdf43d7b82ef152067a1585160039f4a6df25dc4675208a145da573612143fca1036e2949ddee58717cb751464798ed01e9438afcf725bdc170ebb9d0c89e9add4224f50e1b948d2ad502b7fee212b0a14eac3545722e435107158dbb0367964c952fc83e5844317e0c27234af735f39ec85190e0272849bc28b2fd2c2d3cd10a55332989ed1a135811acad3bfdd90c373da5e4d60725be984ba42c14856020ead8c8e55ab2f414b18c66066c86f7429f9bb8e856f48bb7e1aebc27a3639425ccb883d727c3fba2a4671f036c0de7055611f6df5c6724cd8bbcaa718aaff170f5b642601880eedf4b8e43441248a55508e5503cf3c21cea37dbca2620a2386d7a7bf8393a91f6d10f95a354c9476b3ecd248fe85bb24b76bbc787b45cc52958d33c4c6f477184d413fce3d15bdfb330905f402f24572b9f62ad70572a3c013d73326c9b4ad1e76a361844fb43021ef374451fdf97229ab63a1cb78891866a762eaf1fef022d812acf5f4b5794f9f390d2458c35df34601a367f601d576ffc9c2bb38e36961770aca9a5da145395c400c360f7a679b723a79e1ffe02b97e9d3206ab24e07ba7aed5c427798620b4176cd624a1784150b32066e34f62c34e626e6027f10c6443fab470b1450984911090c6bd4d7c64b724aa870d9367abf6c9d14e5c57f1dbea5358d9bcacb9a482c9e03b3b023b01372d2a5576d091d8909aba52aa1e7def340a7bb869294b5631234b84c8698125a229d3c63d6ab695c943c933d4f58c68e26838c009ce97e42aff9aa95a514f8c1724feb570c7b4b093af1a1dc6c7e68445fa334d85d048edc22e0803534d221c94fbc3e96bd543d1e2eaf6f16709b501e85e9433f8156d3b02a483cd166bd501947bf20d9d640e07a466781552501e333ae2d22f843980963494e5944e448f1647233b873f6d03ea516aff029a5faf2ef2ded82d4c9eda7aad53807c541bf496c588d02681b26cc020707c51aecd7b28b57449d1710128e17756c467e27b101ce724b2120626c12680fe0bc23575df80900c4686490c9d1aa6686f391bfa1c42e08f1c3581c855ac503471618bf91ffa39cd317be64b49422c0658075e14984cd725d4a688fd745fcfd2534b960864c73901065b503fc221957d6a09bfbc8b2cd72ec5dad58648b5eec23b15348d814316e03f97a0c36df73c5b474cd31c42154722db30a3925a5570553ac0c2fb28ac296e2c9491b3874c73f39524077c734850affe00da5480fab81585cabdd9d38bcbb965aa3df98e8c9b94fd36c6ca75eae72a1d755fac7d3cdacae472fc581447c41eeaf247f74562a6eb20b4b282267402716d54dccd76596c103676102b90bf5aa852cef75aba95378d2bc526c793e6772a9706381020fa11111e5e44c0eaf2c552351f375f15229d3b5ca67237e05d472a30e5b43722cc75b0147569c08aaef63d3604b3751da9666427c83bf94ae61721c413be9273f00b53b4f3ae3044afa465a1dc9bd755e40616e78a40ca74e423a0279dc0c456b38e1c9675d489dba6c6bd232c360864e022c78e9a4799aced6727a4a3d21dcde63c79fcab153d8f05f834968d75166cb2fbb74422d44a7b0d9725ce58d5d6efe236c0ac468a0ed802b70542d1e666ab6b42d8f89d43b38c1b24351546916fe8bd2cf832f4c4bb473e9920ac39e62c4244135530f021f5ce67b33f5f9e0272a9a2173e3218b00e1ab23fdcb50c9496be6a1d8420ae852bdb2ba7234fd539a04d1f2626761e9e77e40fae20d6eaca2377c2d56953335c6b0089172c9bc4998fc0efbb00c4b6716292558e69098a32cbfd808d07d5844fc0253bd72786ac036947d7d6789a0755ad5f664cdb9cc257010869fe427960e34f86d01455791e351f5aa0eca21a740c1196960070b6eecf1a6b42ee211248f16236b2b4a7250cd4e50e52d0a7344e30597c8dd3a5b115bee1c6a07b37321cc9566133772e7e550632f2bb4a1b7dce6367312053d96d82d00e97a87ec8ff5a312df844c72922144d2b8bb0434c2fd75e75ec62be14a8a8136388a345670f5f3d554289c72fd3c90fac095806631dd05cf390f6a5346796888a8586f54be7bfbe16b05e972643d865fd78d37f14338d205d3115982393af7d341439960629e71f72190796d6c1bb47f3312c22d90692b43b67ceddeedb7287f9be800a0f2d7553439687f24a45729f9865f37475f65b0f5277537a94b1845a3b8718e4f4c043d33b0f59b4f174551ea5637c87075932a67c03ecf6b2123eb507e9305c0b6970f2d37cbf172981095d89298c44d024202dff612d68cf20738d2d4248b23195b3f8823dfd672e68c470761c72b96230b7ad8132e2c23acbafc2893c5eeeffc10b8eeb160db729be81e90d64cb9610699b90eedc09f4709c34349ad1eee52edad50a4aeb9725ce1ed7c39ed71b8df5abba626da22dc0fe569a0cbcdab0ec4552b7955de37d936fd4eadc61b70f430d7bbde9cf6d227b0d902d5c5d5d9fba9e889907b8e646272d1b8f5508f48d543323aa5b09db25dffa2d58b2a44dfdfaefc1862ffe7ca8e722d174e82401adda656ac5e47aafb56f52e7f6213a2edc35d122b2841268c187260674d594590b5425e393fcdb24384cafad9074e6ff2d115b93b527b90aaad729cdee2d0a7323d23c7f674eabcba538ef50bf760b700ade2abbc37b71475227277cb6f1f47d56028128e62d51e73ead43d44fa6752f030188a3ccd6cba24e3532e915dfcdceb196f88326f4e94f9d44ca2a68a558dbdacca22afcc5737d5006e7cd10a15787c438344f94cd9dfe1d494322efb0b48346de3bd844696f7eb1b729317529c971e7481336ca4f914040f4283da1e66ccea3b8b3fc40ac13f2be6671eb76c90b46ae35b09f78644dde1fb0c2b04a4e41f0004adef8b0d62f258b433b8187f00648875fcd81575aeb89c604ed1903a8e2f8983ee0293fce2b47eeb435f27f55a6e7b448786f27b52db9856c46181725e9846756f5db03798c2d9fe16546b7972fb4b1544b37d07766ed01cea36fb1e33d841b3226f43a2f066d3fe7295277d190365f6d5b38555ce895738f41af7710dedb4e76c95777138f917ca03a21b7c28a7f72dcb37191ccd2a81bce427d09e0f138c3c7be873886e4bba817116070dd4b9f6537669035a63c0e805fe78a1ed73afaadc2210be85b418b16353d3d865cfe41ff1e8ed5cc3b6faf2a03c163bfa48068831d1e297c17cb5d8714a0807ef1abfa6a26e33cf35274f3f922cb4af69b73179f2d5943d5b584d7a6454e593f63f2e8e3774cf2447f228e4ad0ac84c5f2082df941ebd43fc7e837204105e4eed57ede64ded45729b3f100aa543b7cbb0c40f8bd08e8e5eaf9878dc4c668896500e644a938d6466bfa8f4a849c9d182495764295f473e461977c8d8b0723b0df6ba5fc8ae15ebccb71a8fe05dca3f4f4b127d5c3693b0dc56847b1bfb72b09fb018408dc6d9a33623d7d7b3d6659c7ad4d804883a4644f8ecde2a1bcc25eac9b0c02806122546652865146c60be943e2203e99093a4883535b4f40d1e7259337fe0131f20fbf627dab9ab3847cd5e2f956031dadc0a3563b3477199ac062e754e307d2cad3354cb4efbd4d8cc0c91cb56fc6174b8a9dc87c100247d1771b54750bd5bfb58b3f0d19ca02c914bd8a7b253b35ec9c93b726d131baf5a94729b31518ab57ec4b3fc7032edeffdf2b0b10421afc1d5e7083dee557075c2a52528643ea1ee521fd1325e1aba256a60bedec176aea1ad7cdbcc2843faec66b772213e140a8f07cfd33960e96453090253627f591b2fe7a2c970cfa6d72475ed5e45d262bdc8e02ffa255a047072245cd780c6e977dc552f518fff2a75e596a7664ff9e620fa508ce1d76ea0d0811cee6e4b33c8538951fd5920cb66f8e5db3b725818ac3f106c3bd8ea01bee1fecdb805b7ce0f62d84bcb313e4c53f94852dc72db22dc6d7d64d318fe56bfdceb23b0225a7892ddf6f87cc8a8ac3e5452c6bb511f9fc44e74f57476d95459f95d2943bff1f69f338c7d377eb5446bc7ee0945727e16e34a8a5bd77a607d51ff455c24e8d715efe4b0f5539960b99d0b95ba3b727864e484c29bf0ea82e8665f60a44cdd784e8886adea942f473d59074615d072bc38828de5c6d05b52a59beda25634b8f62f332af409b62016d2949dd9692a31c8084b5bae20bb81c19359b47eac9583d20947d335340c9c0a62f0a32af06f724af0a94bc9bb25c5039587f44e3652fb675a194de63b24b5092da9dc2f9bf6726cf05ec1be23ca5efd81d182d601782c93c7855d36a4977c70864d60e582257298c20f11ec55fad14821628aa0f303d1ffe347ae8b295303fe3af08a0a4d847217ff845b8cd87690d8bd807a28733435498aac4713d1210cd57ae0b403b79f725233257c2f3046f1776fd3d70339c50e80a3cf1e5a434bd6a6717506cb133d72f47e4f2c4f0c1b95aa0b55d1b4e8f0758d713e5fe7985364391bdfedbf664b72063721331f9763aab5f1865953541f69f9bbc1dea829b7d9a56da0f0f4c0440fc1d217775b0317b37358079d6994190fb973bcf61b2c7bc4d927e76727d2316438d0340fb15bbe4d5bf1b11644e453f61e98e45215bac479ac0738a88308ac3aaa5c8f3888fe88ba84661fd8dcbba495480f60820e11f9bbc30d061f92892463f96778c716c9ce3491cafc5bdfadfc254e5d58dd5051c70dbbb47d2f9b6d5b65bb6ef209c04574c0dc3d5457f7eb27dc6fe118461d9cd6865b6de98861161572e89ab03db4e53cad32b0b2f93e60645d7958871ab6ddb1ba1a4429b24b2c7b726c935b438cad35f906eed67a662e3c1190fd6099a46d0423ba710dfead42c2156033d8864ba22bcfed78f0a533530be8c54bbc9006dca003804c78ae3d97847223f32dbc47c0bf789ab08f63f8fa4d5f34059af4b9aaf0ca509623eef3064072971a242465a2e79456b7e61dd11469218fc6f722fd15102b88f9759f3f163d7273310e846fd6e6ae193490ec8da9b01664f741579b0fe19397576999a7877017415babe91d967e6c73c1463dca7582fe8aa1e19f5e0e3ade0dd8f9046cf4cf4eb827d6f03be693c5160b0c100fa5d8431519b7cc31012793578295a0126ef972f1dd3fcf1c10d7197f4408dfde21d0f8ea5b9b13c8aedb991b1bc05cd1d7636686b22dbd91b54a70eb781d51c51b247f9ef2bfb251ddbe2015246c976abc8172fc6c8cfe28fc1539ae9f523cb467c9a61935038c16ba5f79e8bfe640e2fa1e6a94022b1b2e7a0c761b240e4563fbd9c947868f8fd4548480c127335e6888e272b4abfcb338633c1ff9b87cab8e08ceb788c2aa2a4554218be2ed12f108e05372c71be5675ccfeb72adf50ce3666012436da33a7b840b67557b43d802dafa8272dee31e5bb32fa361704385bfe9488d81a98dd6e4263e450ca0f86a81ebd5177262258fb2d68a3cfe292c01207a0cac26e4b1becd57f8ed2df6d797a23b97d5722a5004579c15dc912e49cf1c64f67cef8dd6947827c621770f78fbb8ac247b72d97aa4b34f1bb0755fdfcd684c42699ed59c8072b70058c38066f9f87ad8023c38b9b7c913c871c5cbe74340d45b4fabc04bced1a7a71f890aba472a6b49527220f515bc1063072fb11cce11998f65ea09d24265730a19dec8ec9a574ea19d729677f6d1ce25a3224717095874ff8dbbcdbf69375df62acbc09e190cb61645337956bce6117f8dd69f4f204aaa016d39281fdd2ddcc0ecbcbf5d5bb7a7f735728a72dcebe5edc9465c146892adea3fc0b9f7a74fe531cb22a305f9039f120a19019aec34fa8992f24a1d2d21df6ef14cf72df358bcb7945883edbfd698cde972807f88d0dccd4110c78fe2a51da2d6cc44683d0f9339a21a9b7f7140fa506d718d84d35e971d788c060c09ba1195ee0b03ec5f6b6049b805d04599d5ca1835003d13732d865aaaa2d6362f15c16b11cd357387526a7774aa72b7a456559a2d722616506c1a34b63332056e841966e7e57c00fdcd69ebd54e7ba8025fbcb2da6ff3e094f30a932fb1c37e6e4033e56fd681db14fa26952c2ad4a31eaff1690865e3d93dc09bc79ec44de9f59429c5b49826bfb88bdf3f187719c6621d2c2d2d4f5a64dc48a1284df208b98d4be1e7fbe4776c0f0a0e761fd6b5afc9eb0f42d8720d9ed4e830e267eb62b8923f21ebb599e65bf5ee892ef7927a6f16e9787c6c72f50da718ceb68529c26e83560dc56c5c0b3df62dd66e0164e1570e7a51939a729bc78ebb5fbbad260b856ea03050a5648233d0871a522cbbca87ee4fd2050b450f0b52c0fc6b06baee84f8567655db0aca188d87bc3a8303b13f05065e392d721cd17ec966884ee0da019cd9e5d09bab5c2f7d01c3979cc2b8dcf8340fa78c72ae7f1195836e82560f37885d3c3d8e0e8b2afee47a80eaaa7126efecced1af57879ba553b4dc5b89e2c2f6b9ded2b2ba0e31dd0b31425b97b128e5fc11d2bc310bbce48071823329afa470b6a74298a50d7a1f03c8ac1621bdb0d5afdacbc4460b31579b3478666eaabc86503fbd7ba802879e3a530f91eb6687a195ec143c2279a0d40e4dc0701e07be75463a9b19a09dc50bc910c047adac133a5dcb8d3772a79f1f42ad8119ab28d5527c0f24e6f9589b57071a3578f52d042a40206a58720e412c10094214d9fafeaf6be6bea868141a008875b4b113d415282e15b54572cb4ee611289eae12482052f925f8cfa8f8890356eb99b644f9fb9ba55a255a724d3413a1ee06f63791275d408ecd67f7d8194dc815d72fed858cf43c88c308729ae4c3b1f949b9dab8849492fbbfc642e45601e872843af7356a6225a44b6e72a9fd2c7ab7b0b0fec058260e3e265007276c53baea045e0f009429408b4ee672d96ef8a244d96ca21af9c702a875174a49c39b147b1e9e7b8afe2fb4f4167c728513bbbe13609a61fe996ccccbf04363b2af406a513aadad61f576631b0f7b0acf1a0f2c21e6660a7b54e86aa1bf3f53305188da28970bd6ab01a9e805ad8823b7fb479a3af167f6d6323b2d415c1f10fec0e0504673b25994e60bb79e54d272b3342578f76c70a6770d34c50ec344e8afa22672f5a5542707c427c98816ae72a1584ca8aa80d80ac4c9343a52414e18a0d0572d70607871ca1e72cb516f753e5e3e76809d24d155ef68d837967e6b80a72e3b13848329155f7db1057db66a729b6459e25dfc8e70776cc43005a67f00af8d9319c6b02c165b75b144c62f571ee7afa97235847a0f2796e1e1b3bd9ba6c9a28744cba833e695761cef9b14191b0aa9c1e47ce065bea5ee9ba17ccd5accb3d3764063d4f3d5b4f79e71e3bbbb335833598cc745f4b5fb911dfb5cc6b390d46547656faae417f015d17c67b1524feb559e4fffe658d836fb3a73b2213b01c4c61cf6c1f6ccd851b9eac4bee8b14a9cd283a47f890bc3ab7d10afe2fc9779f9ae044c75542944d88644d1c79935614743f9a7837e89270f05439d102c13adc239d3baea12d99b8943c2c83417ff6a9c684fcd5550b736a67b1bdac381d6f0114270029282915d8448eea48de4137204d245e8a9fffeb9efc8404262601cc4e4b79dec8b4b658d60f4efaefafc97720b72ea291890227407eb366ff9fffb453282beb1e8118e4bbbf3570c7a6a8237511749b5bcae5a05aa66d967703ee6aa73ee7e3ac5ef82be898c64ea8eaf1d72a7c6112c505394412cfc51bcbf8674986c289d921c55521dea3771c584160e727aca577626de675f7e77bd119a35b08c8c1554f97fb89543b5db607e89a8830500b4a59bce84772dd331ca72008c5f2b379181622952069655b5f4b1d7bbef21c8180352cb933ab0e8bc7eb62b5a87466fd754cac782d806c50d1dcd81f85b72055280115204c641053d41d6120b9121b6a0f6a69e1f3698dd4443b831fd833fa6a4a4133d034cff24f16a60415fbb0da03e9c5b2cd4a45938521baa7ac18c247019effb4a435b92d91c0f03d0ce00608c8ac4c9989705fd084a1922a5ed26523d8a873852c0e8a22a7862921dd854ac79bd505a5e3b919f2904b0cce17a5472f2766ad206e981c54237c1aa298fefc39e0dab9485a003c069776679e419e0725c1c3774ccdc7dd41d21a136004949a4278ce0df9ad8585c21c74ca78810ca720741cd59149abbe8a844d9a8d84d8adf81356506140f54b529e8d7559d11e30ae963cf9519c20e66dfa346fa5a73363bcd99fa321c66609307970e9b4c6d00720959816f665178512dafc58c5b6f5c39382bc83edab5b2a358ba8aefd4243b061592aa68d8fb73a616b8c90538d6f60216dcab6dc8a6da7a3489364884c8cb72692c7926affda7655f79ed918460ec3993cf7358a72a1efa6fdd58643d877f0a6e94d42326dec28684ee8bf15254714133226ec10481a0d8ee0626a870f6842d7cc9fdbebcb93b7d34c4781cb56d87c8ed74cab77e735b2572fa473cdec00572ed94bbce17ed1d6b80e3286e9e214b6fb31083c0b1a16b9a0d6ce4a2e2990f72b44ca70c08cc6d9378bdbce9aceb8cdc0022b2bb771ece3da5ff119d9ef8fe3ecbefd25dddf410bbea8519d78d6c123bda67fdff709ebf08ace273564788fb3add8ffda51bacd51748939d32fc5243c393f1dd5aea34ea0a688d04ce894331721ac280a8b08321ef4b68092173a4a3a02511e96ecbcbcff77aed356f77c35b3de4bbfc82a056f36455d678da500bbabb9234e3dc357308da500352c4da3c8f723a9972696e7ee2c2f7ae13b29b9b3c87244bc3b167955197feae0b6f15332172c72b0dadae86c6b5de5779fd445e2b7b156fac2bd210dfb49d9aa2a094cc9b720cb8be826e080feae40743f9be9bcb725b33e6a07670d5e465197ec6c3aeb77280680f221ce90b1ecaa9549c83e8e54ec35c01febb10f21f188be74343972135b5d3c58e6a94b0acb8cca44899e9718cc860f7aedad6e037ffb55e706079125ba568deb975dda96cef6fc681a3afec16a4d1248e6bc4a518c886cf761b83fd72fa5d7b41151235c68f60cc3b084a3c77f6b7680e04548640b192c647933f2a6f3e5aab67d5cb7377f27921e9cec443ed93f0b44a453029e230883f1516a13c23bf339e1f5f7f34680301f6f835ec89eabe8951e7708af1f9afcc5eb858356c72a5f65db1343968f268b9d07e4d145cdae0c1a85f9cc75e489a1dab37b78954723b890379453cc17104552ef60c59969242c00092e792461ad95ce3aaa1ff4739dd15bef6327b892ed2205da3da150558eb8c7aff910b7fa35d6306a23da62572685fa412847f54a7c63bb35f2482e35261f847623360618c15f89735ed7add722f19c1793c202f92732703c7dd574e02409f6eec353d9f45a1e5b621d42c6b7237e11179b43bfdb00d6ea18980a62121c34c137d6113c444096e09b938236f72e7e035523bc768f29999c4f4409c0e2750e8e842618d73e9905ce8fe20f2052b16cd9be156b3c054e2288a78ac3e896099c536663ff0eceb0e1bfa42239cdf217a344562832237c6fc33f17138071f4f75331aa0116592863fc353e1659c68154f34d31c6a0931532dd4d951e976b67880915c41059eea23dd65f66b6308d472b5e85bba9f37164f32b14230c68c81c57a1a824d6af71e354060abed70f45272756cb0ad33f26867a43738d443da2a9aba11b68528e9b466617e5f9a81130b4d8886d705d072cee0f808058614c05b859105e7dd15cdb7b205140af103d74972ff6a349f2b6e30f1c8cac06924b2d7c8acc97aa480efca1a0d519d8faeb686687868834d40b060bb4c90bf07ce929ca1a9fe1690238f8af5ce8c266405d05c69b63fb4cbf119286c963aaf30126892d9e469b31bb209ed6145eb6024020fa66367f89c1396596e7df71e2f95b5e7d12a1fb62e78171f2fb14ac9646ebadd3c1554ecc052ea45197010f7c49d93c228adeb6738b4ef7146faa88ef0774fc77872a7835b3e6e03f4fd0b12299ac7667f49cc5794bf1b04507fff9602a16994877251a8b373dc0b22c1e040050c8956b665f5091e2f055d2c1cb883f7405a161c53905473d52593a97681bf9bda9a0150d4edf92a85459b8f0ffbcef2e3ebd4657253ba3a6e3505e20e702eb8aefd14263c649e2d54c606c8e036dc2621bb137072495a6f0a7fbc99300fff99ed6acafb17a5832243d7369c47d7a9045bfea0ea4804cfe34976f79c9a7e57378e08b430c9e82d0cd344883708cfa6239590cc5372bba0f2db39cdc02f6e633388045eab2d2243df8646be12b79df88274792b912a0442f99a00af75fc4c07b04b0739bbfaff19c883a06384d8464836334150d521c720e9a386cc7b100be86b93dc157a91270d351a350dcbee56fd78212525f57255fc43118b6deb9e30e1f7044072f957c716b44f7598ef9dd40dd9b06a8b7e7264f849ea107c983b42314ac031c7a5a25d466a5d19571da9c27f9ce71f0e5b72bd0425162e499a770bf209c9ee8e5786ab4e19f7042ef2a0a00f1c4059ac146e860dfeb055d2a3b85197a36097b259185e02e7c565a3a9e553f301a017868d727abcca18b32d90469310efd654db6cf1d8fa114d7734ac9f3a13ce3c0e7bec723ec0849105b30de714013802b50c38390cc23b2959df96e18027fd5fb76a16722d559b13947c72c9692c0474ab3a05ce6e141c2785875892e892bebe6566b9728b054a7f1211198291ce4e3de783b2a166ec59e3938351994497d9798c07284d7f391060b0726ba0f4f3bc4886f74489af7e3e2e6babb7263d65e03c82359949e8decfe33ded713a1e921deb56e860b441b706650972f9b624f3fc0a1c9920721b44e38369993dce2b4c8bcb7b59abe1b4eeeb9d33466774de69f1abec993a516d7ba57632412638ebc79c16dc287bcd53c1941d75934c124e7af124e0381038dc1e643015501dcf6de259e7127adb3e51760502255b6c84aee24bd1b6efac72fcc521fc6ce8a964c6cdc94bb22a665e8ec70e93ceaf851df3fd2989fa0a1a639645d809e4a3a8867e758d71c7436900c6fc95b7eff145011fe0346012e7d672d057a193571743a0d847fccbc1bc80198e82fe77984fb3839fbcac48350bdb72e3583ea7250446e7ea2caf5548d6fd47113642341d7c6fc02301782635bef0255f6dd2489b3635015ec257cd2b685c3e74f6302e49a1bffebb8758a1c7031472b8408603ce9b0f3015484e2083261d1218969cc730afaeb3d8050030b173bb6d9df59965bb405329ece6c5420a5ea95705926d1d1f68b74315739e746f4c7272626bd2046feb7bea1eb199fdc7d7dc9a5c0178ee39523eb0200cf30d0248ca720ee0476e776df6e46ead7988851294001da6466c1d6792d6e27467fe14ad15722a9e124ef5c068082ea0a9f5b466b49ba9b7e1fa48a5c19a465c0f7b54262b7258ca7489c9c8ae6c6fea0f849c5806eff9eecee8991ae73e5e56bc4043541a726032473599b31c08eddc91a0ca57aff91608d373aaa646ccb84a6491bade16255a233b9ff986a5ffb480595d9fa74670f98b613aa370e6fa80bc09c2172bd5338a80a68659cac8bc6779ccdb84dca7f307428e208c577888e47604df036ea272616654221f83e46a6f17922b9eebb45604a234da9c5e0630345240376378b42c43cfd2de5df271a183792cb139ee3937800a9028e43f4edca87f05e223329d6c02fd70152e82ba3bfc399ca6aaf73d617a529a38ade2048ef7a562404c1e3966904d29e99c7164103383f806d4c99098c8baa626379b0021e9a08586d113a86e0cb7d74be7440dcb43e5c39dc7de5aa613c84eabf0303aa9645c4a1397c8a113bcedf43136f40f4243e07db6b8bc54f4f3c0dd896251ae8b3cdd25618c0593723b5d4a286c71c238487057bf881573a3420f0a00fa5f5bd0295f5dab0b55e072de12254ea4157a59f3f10a5792bd3580dbc3bdd4a46d13a8984a8f737903bf37ed0343d8cb2179b221ccc14912f0d3cba1eddb9970b700cbd1100e9c91a24b727ba547d8a48eb9884c453526c4e91263c2b5184f3c16439c0d5c660c054a900c0a445fe89ed0b5215c86ba38fb2149aff33260a1e2059fd99512d1a5e0191b722672c4f3a4b1ba992c5e61bffa5c1ea3eb991789eb0bd3a5c06587d5cb88827287b425981b3db7994cb3e77d1509bfd2439f0126f20421396b1d01fe77095443a6034ed59d72e3120bfb4a50a321b19d2838bd402212323dcb735bed1fe33647169b37c6eea04e56acdc7eb4ba59c4b23a494bd050dc480a189c837cdc360d724091980365a0ff755aca5539e1bbdd1b84048ecbb10cbe3c4f0f1efe59f7d46bd0b680e987ec2ce39a1fcb917f822ec7733fa023c490172c3a213ff44d4d6f39a3d575d40544d292c03a8583eb25c92843d2cc191578a83920c639a567d54e3c1b3d39c5055e3db59d2531d95b8f0e9d076e98852809011f941369264201847274e295b8ddbbe883d70a2ca57e48ebc6762d7c310e80b259b399155fede11572d96eb8028b3ead10177dc507d4aa30efac79348377465cd1c35fce116312af2ba1b4f8cf253dc8c6b7292e26658785339d48906bbd7f2c28e3353a882d152f1bdb923db79993bce891f90faa74c8fd135bc7449b886960d068720975d730412b6dfbf63e544f58c85d01e41c6487bda23a5e6f0145843f297ea061a818bf55729ef3be1a8f383653e5e2835ff787117dc96805c8e46b058a5a24847341611b727b99753865b9cef573a4ebcbbf03218e9948875aa1346261f52b7ce112b8897280e62ea4fc2bd3f93be79b34f13ca109943e3f1ada9ce4beb364542abf98711698045fbd1be9be559fa6396bde2c704ba4e6736569dc89ed3626579fa51c9f724b31f672d36aef974cc37c67c8a50f8b06f923f1478ecb93ff1b66c52a0e644663a1831c0c45b2ed8db81ab5cbebbe6082dbb6538a2309e63805741708b605552fed26d5391be0e4ee3e0ec2e8d8b5eb334df8294b7d0f9e17cfd5e3d536f46745d003d7fa6e2028327efffc2991754ce3c0d49ba586daeedcb108043420cdba02000072688a52d55a02ec4aea5ec1eadfffe1c9e0ee6a4ddbe2377f98326d42dfc97572e90b3f4cb4196eec018dea56f4836b5ef860a4404252f08b4f99e40b41300772f022d107cd069bf1040921d5d3d5f77f6724d2d30588b45d6200139319add3409a6ae8b88e662a08c065783d1401665b7068368f8d7a85599f602b16341623721b16644482d12893be90042819a776abe5cd9ad8bbc544dfc3ae0c9b9810f4499c40e6fe77661e6e4dec51214220c80f41d95130a157b9c32a0545ee089c8872312bbe4864545b87803abe1c322a06aa08021117750fa3e35617ee6ba021737246ccaf12794d744a94c87983a455786eb60f6101ffcf4a308de32450ff5a93644c943a2c1fe10807f679e77459f87b192e8f757305b0852bbbc7f6853c95ca537f129ba21c63fa71b096abda334f9a9b0ac442740da04e8b36092a93203f91167dc343a6203e3f446646a2e5ce9c7c5577cbc1f28d717effb9ae8f1c2927c7729fc2061315f155a3836188cdbe27c04dc9b40ee14780a933a8ae4ea75b99057250261384bf3d8fc4a9d24b1a84cfc35cf1d5edbc011ec435e80e85f2b6d4bb18b9ae5cd8b9c81c0d8068a204b1a3f2e5a6244ab4c4ca6f475319df4f2c21477220b0e55cb3ff2c947b59b058d44c4f64d7be94517d011737e44b12369c2a3a2053be36d9c6298fe0642ed2d70cfb37fc3a2720f8b105015ed0bf8f3d88490b3452b0c75e1a9c6ed61d9405debc8e947f5aa2153a89956474494715d9bdb71e729aead078649daec15e1eb9bdeaad1f896eba956740d77ebf2f1ad9ffe9d5fc71980570fb14c360905b0c163d8eb55033fcc01f783fc53c3501ef1f5dd1da5704dbf89b44d000ec69998441c9f57e6bdbe1c0839bc504f989a0c8b27e25db9c726958a4a5333e8e405c957f4c23eb0beb6106ffa1e70b113e2391825e8224663d883552428a88e9e3b8446e95498968fcf05d941d6cf445931e483f7a7a94fc721d8f0c7fea9e677455c7bad3aa829b8c900d7adca4650285573e4cc0b3216565a11dcb43c6b4cca64b677e3f8426cfe617d566363294e91dd5e09e7dac0f4472d250b66ca8ea6c2703c400aee96fd30a69bd4122b7ff7aa77aede3f37787ce726258634edab9364a61caa2beb53a5cbbf67e51b0e08894a29edf28ad11cc90727ca217a0499ee8e1e8dae41dbfee01e34ee82513723d7335581aa33effd0ea4e75528b65fcf944d4a80fb1abefef24e43844b71ae61cce9401b3d5c0fc2341722dbef3a369fa78cd21304ba86ac7839611dda36d5e48b4e7c87e62342350157269c3eaf755cbdb6089e8234e961ca15354836a9b9096ecd5454a449caffb47278f27e8ae1c252afde499c6da661515dddcf76327dfccb9acc4ef97f69fedd272055d8a8e8155e0a9c0de3b2443a1c3f4e71211908ceb0c604f43f99c5f7c7b0379fc63d42d26d1c8715d772ef727dfa51b65964401361a53cdd016d2c387e772696922229d03f2a3f4cb50cfc9b9ab9170d565127543e2b0e301f8bf38979b72b8434ed32a5423685c70b7ab7182fdf431344ce1937462579d1aaba8889e7872ba820a9dedba63fa1ad7a41e3af3d4f828fd327512428405a3f1bb3e14b505538c31eb9e09f39956fb3b8888a8841641f802fa2a61a8abbc9706b0c17d1746720d4cd344c94733862f33224ff2197eeb2a74eee76fad8c1274309dfe2d5b32621378c2b48548d8c8d696acc7e6a6ceb87b6904398d72ebe56471c1fd97cfaa7247d692204c99c7d4ebc714e1c66a0961f5c055318b50f0fb61f15d39d9dc3f7221d3f2074781009c153f37b5f3a1bb5df676eb385a6165e51675e1b3ed243b5a76ec148d9c00fa4101e403185ebe95d3c8a0785b068a862cad792595b9a7a81e4ec2c8fac21dcb9c685e25b2b5d60d720c3f853e6035afe4fde8cd9a032613721ba51cc1897c612cfaa1788b30de3af259d9584978f573ef133f513e07c4ae72a0332e3be6e28ceffb6f88e917fb7e9c2883d3a2e20d0fad2f9e9d36b87a5e72a267871337d26d82eede016e81fb2e55ef03d7e7858540b4e76531a541f5c1728a0832e32d79343482373b378c1aaf5afe81c46b4a23da5cd3132cebcbfd4172b36590ea590d78022067782833176008c8e68920e3f2c939d990ddaf26a7e8722d13400a8ec0271625c3b0f94ca87b82728053f4de3224a87c347821f59cb7531c6f74f10dd9af0684bd43a25069e73a7ee778b1680e1bfac9cf6733c018ed72126f071bbac49e4f1e7cdb374189824f1807b2f83d10b87cb97db55f19bec96163516098998a533dfcff7e167cbb06580fc3613dd4aba3c55952ea6071f46b3eec3daffa35988342af4a281b73df9883c9bd248631d8b88a29f68f2f2eacb572f13e632c31779f1d4509f44c7c122d19b79bcef56e805af9a239073e7c95c433b3c371514a4f3314cefa6cfe49a053492cb4f8a0d45d4362ff163e51e708247253ea41e1e7296edd208e4f87bd34c95aaee0c7d7b2f5c5d1d2ec95b9d5d8dc720bc646721809fcb37feb72158f8823c3cc077d1ac9884707cfd0cc156269647201059337a3b97f08ef8f917fdd0a309a33a877bdb1b060fddd34d7a5847485723fa1692d54a60ed636e5dfeb990533e06c1b17ba3fe7914142b427669a8a4003f26914c655647354e07e49a931ee704feec3c1cd2e6fbf4be34a3b1ac5010f72ee5b68ec4673f6270aa9484db85a682fbfc3cd4ca565c6844a608a4e6840b9729e964a7b9d9e92320ac6d7e36bc55d3d12f09641069feab4eccbc8d378b284725d5d6c4a252e08b3590696d663721a2d8ba87e085c5da876f66fc91e87a690725c74ff0531bc89748d9752cbb9f063857b01ee0070d7e6a3f2085f4ab17a6e58d43b9607311b8397dc6f515c5e3ba74d704fd41f8d4ede0f7479ff1481933272ea705a9794e842aa8fb95d603c649087631854049f7fb12db0589de7bbd2ed726228034f35fc0d8b75bad03e2925a94d17962d74db87f943635cf78f6a1f344bd61e513d809ab8060ff2b7cab383fe614558f625dfc415dda310e7bec402366626e5c0054ad217afd8fecb0cc8a0ae55bc18276aed612f717e8fd865c1a95c1be40c5dcc4b2253ba7c366d605dc214dc461112d1f812c3e04c445330419260728811cb85496383bda7437ee099aef5799c644f2ddfc8da21419965023b3ec2720cd678b2d98eb9295b8d3bd7ecdcce06c520d2550789ae6a65b8de64fd23e372fcae7165548931c40510629d60266d7ba11dd960d78813d10ae08a262ca3a822020e41452d61ec46fbdfa0cd8ec8c3e3dc15f969fb65f55109518c55845e51727f4a85e7bee27ce36df356f327fd55744ed2e5a1c7398030fa8c899f40a86a2ba30878fa2f6f029a3a9260e609543e56eb09a48d82b92da34d770f1848d618728dee7e6aa05ec93429019970d08f4db73cc0e5743b263f6872fb8573112f5370ac3abc46e690350cbf8ce7a8160b051a2a45f5b60e1b40b315c7ba8aab6ce4729fcbbeb4af907f3e08e39e0a5b94b32aec2e993eedbef41ee5025e7e428a4372051ca705b6ee2a646e1487cbd6a2befee1cdde2c54bd8fd739fbec364069087218c6a2ecbe1e0b50586de0b8c1500413aa05b0639e023355db20ea1aefb7dc71f988fcf6fcdd87b09c1d294993fae79c8a8867c4432fdb99d4782500d6fde272153221c8ab10793b13deed56d6d1e32f50c96b82b07a6290927e445dfcf4a27240fa21fa694c97d8afdb895f4ced657fc9fd4b9876d58bcfb3965c548829350ec98e343852916fb7b028a7d4a8719baeee178fe0cb08dfd511a4acdff3ac463d799b43c1248d9addacb478116c70a501fe4e13a4067bcc71d03a36bea9375a06072b368422d96653c02de2fc3e3ed007a93e81765f39fab4e396c8aebca40a024b48c043afd795d23967a841a18dd455eccdbdcb022f50f997e65b6a6de7663d7d84e032c92f34cc682c93240ad41b571f7e4efc9a17a1790023081ee4681d7235481cf21c86b34bc488cde9a81ad10c940b339268d31a4943d86550ff312e72de9c20e4d4dbe1b27f6967557bd6dae3383d226699a627ad79718d281cc7607245f0891e0124ce720306c643a5b0169a9ffeca366654cbbc8a112066d95b9a7295735e85dd7d28bf080bf2ae90e66f182a6a0ec9d162812d217cb310493fd81dee67e9f0525af43f091afe379a63bb0495d816af68ea39cb4b4143106b0a25109f06e8e594ec24ff90b1b3151e1bd81c9f7d5a6643e12bbb8228cdd5cdd620162ce454510dd28dadb77472799c2339e45ec875c02aaacabbdf90736ab91f3136883743b14113a757487359c3aea7c15cc7bd3fefcb7158a55b66bef8e6d55972ef9ef9e88c0a29851c315a355a4bc4f8e4cc6f0abf1244acefd81e5898435723cf8bd97d8732c26eec949253101179c47bd95ae45944bbf837ba94cef22e7072147ec76bc0a7ce3fa0ee5344dbd22632cb67b5e0063f37b3439ce81f57b6c449d0d20b5b434f1974014c4698d10a1af3ac2fbe690721733861aeec6735b23228bb88c1ec3033b5bde20092ed39bd19697ee065fc43697a35e3690bc7aa49655bc29a50c22955b8a2a507840be054c225c90690123362fd40dcb6d981f4d721089ebff7697a3ff6c72625bdb08b503f9803c1b2df74753c0cf4c3b762ef874f400508edb50e05eb1ddebcf1a15260c74d8eeabec1e890f3f4f34eb6ed2f7187601dc10a6b07c85046ca2cd70a9304c8a87bcc92d39c0be69aa575a41f854eb672c75d40b8c3496207a5fe4457fa01bbe122e6da8384463c99435a50600698fe7200b03f8e78f2d88d5ba89df6091f8002d99e1197e45def488f12b221364a4b721317d25d1376ad3592703092bc2f79a9b258eef04bb62d34c87aebef9e94b81a7ff650106f688be3b5c5bb9e7adfbde74547a0c67c7d788764888bf93bff34720c5ed0a97ce2ff9ab234aa13a5bd6f7ec3d206544cb185c411e573efbfc9a532baa91b4a31a56ed3293d44ff2ab65e993d46f82d04d5ead13911590a022a9072a0a1802b70580be2602bdd7d1204c6c08c10e78d4520d2e517964ea6cb923972f43575fec0c31f84f7279f7cffe377e8e2f51bbc7366a3e5417e6e60038270727cfae4c66a7b31ccb7e13bfe63545e60c524ac11c5709719e59bafe8dafec372e155056c26028824a272ff8c48a780a2db94585d8cabad7a29ef604c118eca72369382304c26fd047a1618408ac4fb5f8c10a9b215076eed3218d67590f93a33291bf6db231442343f9ca80e4146f82c0a0d941948bff731fddcb6312a572d7246b67e7b800d16ae2dc5c0406df8591e1a6c6740bab5673d1d17fb884474096a4385229b3b63f44db1190ea0e058dfed703e2961aed297b44ffb79d0c44bff2e6e14c3e2df4c9da9d6a6919821c55d8d24efb1adb82ac750a11960d587cbe82703c1ae6e6cc7fb6410abe27bd2838fd9e0409800d2c8e3f8644728479c98e849906dada0bd157bbd08df602bd1bda112072bcedc34a239035de2c08c131146724b48dfc2398b520f5d700a65c5befd25a15d26b4b39dc790beff36bb7a5bac72bfa54875bdd060370cee2e03a464bedf2ffaa1cacd5ea18db92ab89ca233c64d1dcee75aeda20309330eb9cd4b531d4f350a8aad785df58f7c9546078a5c597210bf00dfff1def680d88fc53260ca9a4cf3721f4c56d454eb19b7c72e1c85b7270133ff9fe57ad3742a6e986b8c05b2d34ffc104424284acbc6f4cf2c1f873726195c0f02ed250cfc351c8a54415c57df2871cd3ba3155b5a2bd05dbd92419723d07ea1134428ed99f12175c88c152a44752da430cc70f99c6d55971ec481b5032924b37aa9d0ceebaf080eca62edd293ff5b659b5a3d21a8aa6b77e5a9cf44abff103d7ed705ba2a5409df02b09308c42fc366a6014497aeaf555a2f5ac60728dee3c03923ca81a13fc393a9cb2f31544403993356b554cb4bbc231d54332341e3d79123f3af7840f4a8c03d8703095b48e423bcb1033b5180a7fb85c913d6ee7bb0f88f2efbad36e6530b2129cf436bfc571fa079d1f8cca5d832b28f8cb04899e219715d4cfd1fbbce67c6f884e27ceda21448ef3b787be5401799a1aa920b9120cfbc91984132c168470fb243183c3aca3530a76062852a2834037e7a272b8d6b4e821770b96e60fbdadabb86a53a902ac34a1e18f95cd79371ca761a3721735bc00ac52404686f5541fce062f3691cac74a2f0dd4bc17faf0c9632ad23e053e07470bd074e479e51a3bc9075eb45e9c0c2a500cbb8fba878fd878ed2324b52c7d911256a588a8feda46f8daf526ba449390ca71327d37f7a54f46ab7272c5741e1c0a300730eb52d679e180ecf75f08233c9f12460a793143a2f219b910715f12b230d969d1c1a50d45c6d040aaac088d955377d1769ba2e6a5365ec81e2e937282d1f145511284838d8c030e7c09efdeccd7350c5485cf81f2e5f41d19a0bf8afbc6d73d4c0b9ff28ab2cefd618bc9376fe9e5cb1632f6b6f46192977298d1fb8ddc28357bc5967b42713778814fa7ea24340ddd839506742e0d3f0e35fea6bb9e68017b7c1a5c24dc33bf4b162da0c91eb6cf274293eebfa7c6830872a6a02d36ca7c87e37b50b3968efaefe19e5429e171d2dd0b530e6409ba1b307206bded9aa0c36595e94c2fca5b67a8808937675e25843fe82564bc940b0c33726248fa1b27fab046985bf599bf94267cd69241ba57c59714b81d57672cd19372e7ba20b0393dc6b602ddbdc888ac2a079caab7974801c456999c2eb7eef1cd725bd0514c86244bf37b8f0f05828f9da2f504bf55dafd354a913e72a515174772533d7422b3126bc4571cc3c06b91d42880e700cd65eada0e6cff139aba1c1a2b34baa00e005ec1ac4c2c164254c2bb1712966f70ec72667e9593b94660534072513a0b98991261291deb50a6f905dfe9362ccad9185c62a8e90064012bf17c382c0440657adb4a1bc0bc0c334923f825691267bafd2d718acfc73112b9897172dd29a415f38c343ac6531bf12ce83e5ee7a8daf5ff587b635a2d0b33cd5bd472c442ed2ffa38c329a82d30133ecfa90c006b90393d3a1fa935ad668446cf622ac81c921b3e05f18ae911ff43c0db42df100dba5b46b733e003071941ed98e372599ba08f4b3c4cf28ab7675b46d66419a627fca52a381d708bedb865140a8672f7e51646a70a7b51bf17a22ff8ca637da5565acee0fdaa59f241ec9b41fecd72987d8f75b5ca47147fd8dbc9d8de20bdd518b8a5442b1f473c7933e192e3825258ccc74534ff7fda612f270cf4dc9f73b5a716bdbc9314a2043301665bda5e54383bb7bf63f5f8a6d206ecdf061ad31295a2bd047dc6e0fb08c46123aa2234723d7256e4985c2cd91606036f9c6c15f5f67cce463659f5bc859575549d35603ad473b02139a554046dc0d79fcfdf96a86a3b3350d6b5b2877c8cb12768a21e723c48c3baff715c37f1c299a06151146edb092f5b633caf24e3191f4528b58433b1e30cfa3f15ec694eff5892925ada62bcfb87390e60797d4b68ee66e7a6ae3dbd7359ee16985ebc3a726db18a98dbd6e066844465c09f86a4e22b2fa7d2a05651f15d74473086171e3c8f4af7b22ffa56c379e2110fd1ec1deb891c1278827259e719a8fdf9a7137399d90e1c9bff5eec7c5d4cdf5788db860bfe02975bf87295d89e605bc9774a3b527b5cac182d0d810003f33f22bf758fa427eeb37e4f02f97139511c2ef8ec52f30c324d09f295dd7de9b252881940586b0073e68ccc24f5b5d9c972fff966ec9d45cf9d1bb0512a7a3439e1f67f2ea0dcc81ec16b3f729f058490d58f2acd3aae051230beec665b60c3f0c579889f64e7df0912f3c91238880c9f26e7978379f4e3f02795cf374ae79898a271f7b70b6c77a9a158c672f593d91ac0027106ab94bcaa32ab28dc921fe48b806c68e09932b798e1af3e722e21ad5d2f539cae1c00daa509c981395c1539ccd6dbef9cc8f9f2dd926f9972e8a4529f84654b7953d8994c1492f5253635f53d10aab66ae07ca988c1388172c2d58f74ac617a85be822a5d37d6e47e983153623768d4ea5d31d2d9d4779f17063c4ce9b3936caa3b69716d1310ed7a482d766799191467e1c25cd438030372cf544b6d07c92b4910bc02f128d054a1b21f008911a1c26be768203d170a79462fa855830312f7714016e929a89c643ee4c704d7bd413821ce08f72951834b72a68e79873bde6fe4c231fdc60a01cb9a787ca05dbbba08ce895c0f423ef39e3502ee325e44475873e79d1b7e0b5f7d20e8b0079033d3e933c7b44887aaa91d3a5d3445fb6be78c04077c295441ff168a1aaa4616f3e2662419541de2a0be343ed0c815e533467af50358601b21a62cb532194cc7954691c4d0d823f515414b3da141d7de4e4d2c49026e89e0788f719958500d2fe1bc941124235b4e6709bb72a928dd63f3098ba2b59f49306b0b2cbc106af58e8a95cf211187e4826a11ec721c31814181489121526fdd4e66bc97cf01f8b7f58d2d71f1ad5514e5b4e83a0206b36edc35de1cde3ed5e5863b3476de62f5f35e818e17e3a241c06f70e31e471008cffd522326473d6e959da122628b5f8d51d7ac46f4167c9ef5089b37dd729240981ca881965d4f19fa232ff008ad9972d1b1d2a8c8fbc01972e3ac7efb72cf61de0c246a7348f6beb40fad16398c7d6b814282eeb9331016321f82fe6a4bc867caa5c6fd25f1e0b0d601f68cd8bf87e7b9a4c8e8fe21f7bfdb949aab13720288777b16d9afa565fbe83e5525322977a21206c36a6f9535fddf54adf5907242c2367ce2fc9d4932d1cdcc501f5613e5417bb3bdb013dfa536f54cacb45641a63d042c734b2ad6c56f5966ee39d2b63918908b152108d60eea06f6c8c9cf668acc9d498e6f9ac388062bdcb99971640e8a1d31ea387ec68deb1ad59e5f85729d3905edcaa24b1f962e511e38cbd3ce255f0d508704d8c7707f7cae2fd59c41af6e293931544edcaca01f47796596f522c65314813499b7355f741c27372872bca56ff7121ab70e09e85c57077d86972a49fe2821136ef2d263a2b14e408910fe4c3f8efc74d844777f59f088b34b9c2cb2ae8de13350ec0eef2812ee58bd2f0f82ae0790600fdd187925b87802478d6620320aa567a2b115f8391190bfb7091f230a100179896c656a6fc879b335149c9c5e07740063a52502814cad3af372e3025b48e0e33fde7b0e5260389dbb28bea6ecfbe8a9a470b0dc53f5c3799f727002bf5c66ee40ef2538104d6b0daaad00c29e7caffde4b1351d1584709f0a7258d57b8621574beb30a6205728ee16d7bad6804fba64e10be18cf7c2409d49723af312738cc611e2b0b6c3126811d2672994c82c00bf54db1bac5b7663b7ba56cbd043349879bff5badbc5532750cfdbae339403afba10a3a87e866e4304da50cadfd767da0f7fb7e55a1a2742096742365f4caa24fdd29b1305f076b6f6472005aec5fc40ba5487351bd16c665c254e4c501952044755b9c0f15ff0be1f647212e007d02ddedb296970978b5e62c76f15399285a3b989eeb0208b2a7b004c72ba6705b3723dc84bee4a5572686da58a6ce61047b82fa074258f63fd2380727264f6a16d1c84ff152a79d7ca9672871d6914a6240ba598617472224373969647733040b9c0f29ce50ab142bd4cd72488cb22df14a62a47636b9d6580424b9472a70365bd401a130a092ea63f8a6fcee14c3703cb7092cae5577664388da5b23dcc0441707b6c5cd56dba25950cc67384b02d9cb5f0ca047ca7b56699be0942723516a021e56696b01bd5253372e8ff110b0c2b456d9412294a9a929af20fca72e46232cc5a5627df7dc2a4bfa0802b26e5c613e7458c0dd32944276d8fd646722efb281c62143bf7f02a38cda932a8e726ed8c60f454da9245c297992ec4b4500374d270f0ec4d881ba512c721fffdc2882800b5c75f5f03e52b29670d491b721cb6ebe82e95fad335bb8baa10242d230dd7793b5f8dea0c961265ad829f8c5df24272a20fa0b0b858472610d872b72aeb3f8103d9b7cf66b5d7405f88654e317a124c64b1459cb8402c34dfdc09b840ae431b47ffab4c9013e40d332bb17b3b3fbc13da02735cad96a89f32849c5a5d6d86ad4795c05dfc9685898b9c650015d00d95d29e8355ea19d2a6fb77f6824b416fc1289ad1dd8efa369da15e71f328fbaa96845d24f0eca7de9d53528e375f7240381b841196cf288a12f4a239f32461991174a189b2e6bb52ee6e7a4e9eb19c57de784e34dbb0837c0d72d1e3c372b3b86a15154034e40d303257b4045ff8bde8f289fc81470f7dc6e38e79a6f44812c49133c7f7609fa8580405237d7a9f16bb04502d2b791ea0862867fa191572cec114c90f38fcc1a79978a12887822e4658d95889cd39ebc072a49ad7bc4162b7c049f5ede25143c860140082fb2c5caa44885936c36641e31ff3de89601e725219f5ee0140e05b4620e84a599760c88cba4fb8118614d5a4ec9f54b38d297252216a9307c1f6b6f0ebc99df0bdac3ce9641e31ef375b566220c8b593b9855ce64919a3a79a8414030fec491e9ae92757971bbe6b8b4c5ca24600c39255c7724eab4a0acfb2385586fdd329617f292deabd7b242860c1fef8f2aecbb66ac01c5b23e9ebf14936677a048906df279d169682d3763eb5a3fb704ef32057519172da43abb4d936cc82ea14805608168abd40b06c5c0adb4c7c26d37874662ca172eaa2ee1a570cbfa481386b7baaab9882df8db85b2868e4df1fa11807202aed727b50db15cf97e636f2c279eaef2f292ba8f6e66da00816baec0e2da860e4c15633b4ca4f42c0265dbdec838b0a57d2613b81254b1005f1d706aadeccc65cc572eb9f32b1982ccf47e51e56900c56927185fe4be03700a20c152ea47de9954072bb75c9f5d2d71a172bd24d493b855a61ca80e8e82c5fef96cdb0f42122fa017269e0dd2873d1c8185030d86b98739c54ef81d183f9c61ec2576565c9bb8b0a724c137a70bbad1f79c1ff07bff017512e817a132edcc3c00884c4dec1bb99ff72414c4cc7753ee1eb825a98e8a5d345351777009787d424dba63793bc66a0fe0bf4154eefca2241a4736dcf97f30791feca1bca6de8b25c95bfdfa03f174d5772532d4d9aad9e86c4cc3d65d1cf7befa5f38559eacbcdf8882d77f21f77be530c32cc94e88b10c2bd9d7eb381b8bf8b78fbf3274c82cfae96151da07bb886556895836843c93ea80b08be7aef9cf696cdf1af4210baedc39fbb878ec36298d4726ba782f92c32c913470a7f6af3676cc836eff4f3eed70be52ae8c36ab68e5a724b2cde49f5db64fc658c682de2805b033621f92c694b6cb12a147063e0b2a057aabdabb2b6d051e588673d08e77d39448fc19fb2df679a8faa47c357fde635721c7128fc3075b3e451357f9ba0cc5cec8173a7837d36364c750f5d0c9124ce2ee96983e6f99d8ea409b505e76bdf184ac6ffc459b7c478d13b5e50d5e5c4ef20f2b434a729bfbae36f830ed3ccd6aac165a5d0ec65dbdc90e0889cca6bcb2449e3b603d1c2d40b9e68fe2b47d1f57737a9f9c31074421e54843b41df80cc8128f7af9c05dbdd03dda66a25cc0f98e4b69d285b0813fa03ad211bb07df272ac217c38f8f1e3ebb344022fedfb6b62436fdaffd2fe11eae58f5749bd78318c3f72bcc35fe5ddd710240e5e2a37e3bd67cb1f4ac3f017569379e544424dd81e2a7262841b3d4844f27f0ac608f096448ad16d6982264d219de4d08da9506c0e3c72c3236062aa3e63a564599f0eb81728d4db98f5de21118bf781d724f49fd9535495f73bc9b8415d175b8c5e9769ef8636206f8888629db260dc5f454166cf8372a2399d3cdf8366de358d694b3327436433a8e39065122652b3477c957184c47280a0feb8de537b25212afbf7b04dbb335ca0ca441764a726d6ea51a863c4f572b4af1f6685ea0ad7860bec9cd4c67d88205d53923a38f3c4fcb89edb8f5b5772ef0684e9b644a4550efee29c54f6b5bbe458f9adc037618ce099b52c388f9a72fa308625b3278c33843612ffbefbd61874fcdfbbfbeb66d78576927972cb8f72d95103ebc5cf1273154ab8e5fd7dbc34593d7461ad250c52dc869af8c6da935a3b7090220c6d822c867e772cb11baad81ed2215382b0666174e06a0a1dc85a72970de7c1704fa23285ef7b6b79de9a69577a5a5146fa7c8a3f9cca5f424dbb0a3e05c1007f627efcabfea6b8cded63c5ed68cb24e42aa05b7c6ecbe40f7c8d724238d032b301ded4db7372b33523e2078725265fbc93e2086fc85af961586c72e860f655286372a0920da4f4c2aa8355d8ed959c5b33a6dde7bb1e477459d37292279829c2c755bd7467a08058bdce82574227cda7739f7e4c2b0cddc5c02c0fbeb80be497a1b910192ae539e0f7a8760527f546f2005bd4dc7fbb50797d2672d5c3c969cea10986714ea8160dd53436e6f990e11e73692907fcce133c82f272ba5742f5986cbf61b27eaa23e02a2b5da77fd852bfbc832b78390f3fce4fe118d616e474b467390b64db5468f69a91db6d9dce960c55d65fc258bb5108c45e729038105969f3a65d5220a07a9cf13ebe62d45a72cc5a46d6ceac9fdfe00ca3728a782dcbd3fd3961e15dfb1978c884f99f6b46f9c681de6e445fee766e9808688d1b61e56118e95666a50c4da4c7dd942d00ed12db43522987d1297ddcab293de6cd0ed2d611682e15eb2d8b15856fd34bd447fe6ee39cb4a13ee5f2f437555cd20d09583358a1263e8f69643f5610ca264aa8c93080039f279ae2ceaaedae72c4ec55fb226b944bb052ffade228ef7e4d7e94336b5d22afd01e1d1e2d85b958af89352d4b00bef42fca886c2718e19f88cdf2f3407916e900523c09f40aba3fb66f5cde92a22a20a11b5ffbc27927679feb80d5af9c081afc4cfc73083a8d69c43a75dd984814f31bd1b59fead4eed7e20b34a59eecdee6a65289fbc13fd61700a53319e6e9ad99eee4894a60c254a1bbba3511ce92206dadb248f4627522729b9cb98acb2942e0aa50b8e2292de008804ffd46f316a7cf8fc3f7736c03bd722b03fe56edb355caee9cf6de56c354b33f20bbeb4af8839a8b95beaf362dfc72a6f873c5e586fbee62630b98780a202d9ae8a6c91bc5b495298cf69d60c5946fd8b35c0a26696dfad6210eb79a862a147cdde79d5d88f3214990e756cc41f1612b5cd12418fb17617e803df9072dfd09a0fdc2ac792455ccd41781a495ea6b728580508f2387fcf8417b3129a555410bb2ef4c11b87e8aa36f9bb678b1292c723add738d487b205a521a25d073b8343b51187377285ab1a8d0b7e74c791a7d72d97c97680578257520f007181c410c009b24fdcdacca2aabe09254be17f42c7291d16aca08a2f9628ff8c03e992d80c7cc1b758315627254e5f40c5a448d21335ee6608f02e0b3341d52dcf1e561da6cd6c7c62e668fca2f0057623e3a3e0872b25e7b5136b8a53fe7e17a68b77261a233027d99bf6db72a0c15be5452b21c627e9ec132bb6264e9f2ceef3e7b5140b3486b63902fa0a949b2af38fb30897e72977927205ee10d6bafde20a66c2f338f24bed105bcf2cf70541071469c143a72dbb3628f5248b48d6f712b70f5ebbce46fd53c547746d3981ada6f3025bea92d5b3c35d890b8a484ebea79396f9ffcb7fe6d9209c84b527fabe618b56e4c1472d4fe1854560dc6cd175c55c6989c7390c8db274ae14ce867a74c5ced8eddea7263aa964e5c128a1ee98be885eae5fc54a289a5b77b634059921212940da6e7721c06430e5f6ca47f3e640891dbb0eb5bbb29bee050a17e2fd7cc92f0ea28cc5b6e431a957e3d71b5a081711348b6366bacb2215b24f439a752338e967230e20ddf1406a11a0bde316f066cd309d156a78209929af5603675fb2fabf4f2fd9045a3f4525c674dacf120a5244a0417d13f86d64944ebee46e5db348ab40d25eb724b241ce33fef8f61e6e4a52fa2a58ac7df064c0d431b84aedfee94be59981144626537bfac9b8f2a6ca28be676e4aa201b822a1ccc302c5e406da0ad8da82072153d3d7153b9f284ae8c7515767ac353b0299a0b943223590c15898cbea397727abf24c0f55922506a9cfbe31c188ed26751e48a50aaad92621f9553f9c6e9725f93bfa0d7441e14c6daa3dd3e56d087db79c27e859db248d2ad507e75271d72206ad9b9dd57b848d515e944dba5a3cfb34a89f46cc12f2c7c841ac7a8657572dd819746a2b606bc3a5b63c46a44b66e4bffa0f6f636a1a7881d3cebf9013f723d14449a412888ae63cd119ebaab4a56b91cbc2f45fa9be330403737b4ae5f7257c68bd8033bd4c9ad3a50da86f7a31fbb7be3288486d207d1b6eb790017054f7d88db9cfbb10717ad0dec4fb385f4407f089f5dc9f6faf20039ecbec9c4c70dc0475e8f61177131e163c02657a854d5031939f50d4ad56b5326eb4b807c6d72f318081df9ef31a11b4f234452160738939bf43d2b5664dcbc8b5695cf0a06726f41b35e3f9c1d6e85c50f0a836683b97e2cf2c02c3f7b912f9de7e53ef1de3f1edc9774158c44739b0025940404c795c67adb34eb34b3e93121c24d308c58629d96075b3e5ff5e335361168db90081113472071a8eeb5f92a8ce5bc00e09f72e5c6bde499cba7a6590bb8615ee4807d72ae60d7116545b56f9351c13a9514395ab96da4a9122aa8a156657139513acbf9898599954ead8440d7433c6bf8ac171d78f71b41463280950221a6416ce664a29a42344aa5ee1c928e59135c1990723ab0a9c47cdd13747ef033b37f4c89e8fb9eb09d6c23bbe8e47c6dfa34e58b7282cb57bda18782e4163254b73670e42e917298c4a5397554b17af92f8adf355640b2a0083313fe4a014240b97c6d9baa5cfbb8b244f12998ba27b7ae51b69a72b9f7eaaf0c5c1472e47915d889d107be873d4169dc5598b81fcaee8e12965672c9898a1982d6ec18ef78d2bda3d43b498f29ba7d0d967877c3252327886fc672d447c50f987da66d5d2a8fb29e8b6e5db499b7bb32eccede8eda2efae9fff01981838c8127e955631afa6008e4d194984408c8d72e632e1774c43e86e3b2ac36fe65dbdaa9c9819434cb52dd60b1de096da20ae7b4b5270bb9dba4d991049e7232ae89a625285ef2f8ea98ee2c0dc99a43ca09738e1a6ebf4834f08c8490bd7223a9066d42c659f9baf72a45c00beb5be20f4209b8524187d6bc0a7e4770ba729dad63295dbd25903a9aa36b6cd38ce878bfa49fd47484f5fe2324b610ce6f723d45ae6eb7d3a150698b570453270151269c16b792946beaa3016944732734725fbcb2367412c4c7f11db65412797b197786efd72661a63ce1755e678071323df8fd71c7d362748a15de8fa913a1a8b5859133b172e00ce705377a6757e8976f68abb5fde58cdd1c38307391295de7a5758aa3c5cb0d10b8e0f75f5d336316721e044c0062de40b9149e2fb1c08de4cca4a3195cbe060ae0978dd67516ac0972a16eb50b554341caf7fc83b94afe5983de2245b77300b46bd535c90b1fe63463766fe0b6548ba701d0e9f75a73ecd47a677da87fd3003022de4564ee7432fe5a82c19cb326ea8dbfa56fbcbcb5ff94582f63aefb5804a1ccbe9dc083b0cc072d25876e96645797f6f794e9731a779a1668d094fd4fbffbdac2c03e90833e0e5005c075bd8ec735a7e2cd3116f2797a83480591352c18ef8148cf9e25ebf2977226c7f6c8fccf43f1ed72706003637937df62d5e73413ed8d3156b3f9eec65e7247318781c99ae0d865f1d265dbbc558a5adbf4810d655d76230a5912c5f89a72686d42566984bf7e01970b239cd7d69b6c736dfc7ecfddec8e58a566e11bfd604b2aa981b3b419aa854b3576d306b8e5dcd3449ce970079b00597bf7f8023472e2eefc3cc6e89fa99cf8805e7e86d9f5a604c47caa6aa1a00c046e28c6b52872fb9917a14d5383f876c506900a5c70f2c79b4aecff426ec89ca66dd72c9b483d67fe3acac03d5766d8b5904914b4c57263585a7994789da9f34b7fa62becf872eeb7d33bdedcdf46fe42029dc75122edeafdbf68a6350888c3f10fc9907ca972e95c7e0a74013d399390212662e7b53b09b145747187c09f6919a35e3bbcd1724bc1c26d99598da08a948c55eb7f29a722fa11c13b7cb78c249029dc56b21872821bc2a034b8be815056ea0d5cf606c9ef23e55980cd711ffb429bd3a5c0c6362c6c6d8db039825b87315f003a19b2380d0ed339a085e003b9da412a5077fc72093d7bed86ed1790fb07c2756f7e07ae9bbd625cd14fd5c3d8bb2e7bde8d2f7204bda7f2853aa30465d621eb995b64a360558cec15ecaef0b2aff3d5faeaeb605c6d8b1d66d4fa4b8a1fb1b76943e05bb22448a8842898d312ba4038959e39270896b1a5271ee253cc3b609740126751d8d537624f6d5de87f0642343f2138722150c4d7b238cc17369349a8e66d684730565a9e2d42744ecaa908fdedfa1834e5d1b711df9ed079f57da3ed1a4bee036ab980308869d8aec033f83c1917642bf10ec86cdb22f1ef00b1e734662e044ee3559dd6318e67b5523d13d38e65c700e4fe8de2b8da62eb65a36c3f4369d72129afacf374821906d82934d673c26572e88eba2bfe314efb80da0f02d70a9871c9bfbc182c48891d376543416da47b249869c16cfb41c4b46964eee1ffd9eeb48ed7954d340e72f8642ab7b1baaf09723195c344743eaa9ae9daa6005a8bddcbda226cd8195fe458c967fea8c4a998722f3a81e3a31b1308ffaf331dbb977c5d8015e344d70d17f0836e032f498edd720dbf648fd30519744c41f41feb77a27839802ae0b5d6a0049b5179114aa77c7232e0c411bed9b0cc4aa5e8a33fd53c065a573dade4454fd5898679f4936cd02d3683d650fe0aa170ce0774b8b2cd1d8229719a1b4aebf7d7fb442e8883f67b7239b2834517f0bc00a8ef8f6afc6e8dad269cac64c21bee06da66987ec525e8533c876a838c7f6810cff6ea6d98b89e82da6944035fbb5ce91c5e1a518c5a4f729664e6bd98742d08023456b5151e1fedc398912709d03a181317d4a17d89c672a68bae643b22a2308f026bbe94932e485145bdf826d56a5e099e68cb0028db29e9660d3221fc744993d0b13505fa7f684fff16b589b8a23dae5d40318a66fe46396154be9cdb6efba8d9606fe17e7cb103db1c2f51edfbe6e8140fbddd53b5724d8d44c9a2146832b021520b19987f0aec64c343bf5b5730d5edd69ff21023726b228d54135c5aa8f1a3df1ba7ad8380f45c9e268910385312b1d147f22b3d72952c2ae67961e8180ec9a81053ea43957e8e0f082117a3c410a47d0627a01768dd6f89bf6df23007e070866d2054bf9d4d23c8cfef85153bf62f90883f841764747bf59ff75cdbe085b7a596782178bedd096be8b359b58f63dafa472d5fa22ef1abc983e5303ef6335ae05294a8a3dd930b97f2c3028dc0713c0ac4add302720c3230f181976df17df2a71fb8743c029dc295fcc92cc8f8f29e5e1edc849972983bc5a1135899dcefc0f65defb2be5168510f768c9553eaf1bda30daadf0172f2d7ef852908cf57abe1f63116387f6cfb5e951bbc7c790c85a7696f8dd493722d65cfb828c4615dae2965e344a20338cfd0e3a342520b9921c07bc6790d1072914aa2a4593c373a3f33722251271a890153a0c59035b6df1eaa9ea004589c53ced2d370aeaf37e12724c667e5207b427362ca120a650be3544f4b4da5104b6836260a81cd8b1e7db50bdfe7b0f13bb81d920a9e37762eba5fce01a371a6264447164a026bde84089996c89218db59e502d9f14d4326dadcf261798342f6b5555e138522c51c7d5a0dcaf958c4e762230f1a32910184abaa23e04e9218820f72fc19dde735b11810adc243f1e508f86739b59e7740dc2866d2ad6d8ec918df07b95f2466f3a44150e4c8f9f247babdd78bc08243cd141de5266f076a4d804f72ccee7b8999d9c3acc52db9a0d7593b51cdce3cda96157001528162bdaec66972adc48546c1283855960623fee8cc953eec64476cf0402ec30b0acd4ab4c57d72befa4174f93347e83a66f407c4f1858022e1fbb2b5c747fb716d27c99d24f672a18cd6bb86f5f5fd3ae8e400a363225844ae19947621f4438c8f6b2e55e00637638d24869804f93a4e24324b7a25d7e6320dfdff2ecf73c65543eafccf35b57212f81f1007814ce6252f268ad368c7aa1b2cff5a9cca57a387d7c683a879e17257d4a4e0d4d7f7bee006ad43d4bcbba80dc606e77351cd0c4d2de9f4dc189672e242bb96c8a1ab7368c2db5295bca3d528e5ab7b0744a220a6841d39959d46087edc02dc3cfde67c43eab15ca87c901a8654101fbfaf8481a17efd3b76789b50f0ac2ca6c56cdcb1cc3b72cf35253d5758e6eb37a636c4a46a856c6da2e60272bd3b9d496165d22b7f79a51012f798a77feeb2bd78cdce2f59689436ca8a5c720c1ccc643c4001247909c1baf7edb2bbe4aa8931771870e3d4417e6c6fcc71724cb1036fed620cb0a51b9fcf2cd19ee36759b7a8610bad266b7e6d206ac695720f8efa04da53dfc706780e0c23411d9e56a4b309638da3062cd59c7c73ca7c721521bc454a858dd15fdefb0348ecc1e26ba384c879fa29ad9db2e4955ce3e96cde71f32d24e06f26521466c7c43e478af6fdf4e90e41da1b1b3013073568907286ec7776a7b9e19c283a8c134bac7ca167d327cdbe66d1602a461c030e3f342d18a0cf7882daffafd0ae54ae62fcaef3ae5543756767b634393f080b78aae41906558a0632f20177ebd55852df107f73aa806db632c8e209e439106980a9d67299349bf3f7dcc414989b65e75c9b394dd6c29acd8896bfcc3501bfa100ff782fe2e21888b3fe42d2c43d56365545c13ef5f9a72fabddf4160c3cd2087eee6958c75fb77892f7ff154cf177f6fa13e13903d2248dc32fe187bf566332b4d8495cc619ce31a607b54c52e4ad92248095fbea85f41bc6c7c6eb3b50e19efc9802729760ea2ea297af3730dd40475e10fcaac9783cd1bb12a149aec754adc6df5e1fcdb7269353db119461bae560f92eabd9d70271edbc071dcd35cdd8c5088f0655180f1e1a5b31fa898a8eaafffdc7c082f11f05d87c91a402cbff3c52d548fd3e1a68d97828ef20d40ca975af5e7ebfdc346dc99de345f124d509be53466d932018829ffdf6e37c0406a68aa987a1b1a3fada966f11f00851d02c044609ed55662ec0e114459f6fc79ad88431809a729a1d83420c8fc1680e04e78ce7bdfb2e603962ca6fcc1128dc1bf185855ac575b182976c737ea20fa4e9807b933bb43572869f430e81dbbe8cf16c614c6b31db697b54f950b30b7913bc2eb4c863ec32722461d18336673048a04b44c8631e299c1ebf875a26b8c7a3231c747182c43272c1ed9154bff3bebdf2f4c7bf5140392c5f24e690c02f5cb1211805031c628c72d45856bb04d4548af80f3926f9ba38268fac522e2c3a27de5db2e792553e6c52de1d5871c21e1c464d3435cde1cac2e85d1539ed1b14ae71cfaf5bfce00e1172ef0590a41fca48330c1689cdc2241fad3f44e42348f18b553cffa4a5dc34e40093b4ae4c263dc8d5ebf56e40c79d7664178b79205914c425e32f16e3a5580472a9617abab1747a710d1f16e4a9819b2460f30e2dea83d0f4fe6ff47f98ce08604027ea614b6ddda9423d836cb6734d6ca9cece8e17b1edad2f4b3e3d8c59391a86aa1360449f1b841c67c0545eb81415b50b6648dcdb6818cf73f845971e944274f7c41c7021e00be8c9b754c422b9ebbba8c544d4f538b5d5dcc6610731d1729be990274dad7d665011e93ad431aeaca24c121b37b94e653586dc0665b39a728b183c0e4be2e3136224d2f47dc28fb53d20185b6f3b81cde9b8c8f530f1380d70f9ce4e7ab3bc2b4c437b7339e7374b7e8bc8da0bd43e8ca9f9f4cfb9e01a7243d466d4d03cdb4408aa2370426d871c613de9956c48b0bcce23bb6f1e19567206380b3ad8613265222356f8688d5d12318608e42105483185cc39896c962a72ec75e321624031cb3977ec56ed584081867c7c02f45fed35aa949c939e76c1183c276916b7b65c292b40038f49e79e1cb564d5d6f58c29519efdbdabc29b6c017aca55311199deda80017e70e88d211c06564b8facabe20649b3de0174ff3472f5a58093eaad6d4d52f1d6d6771ae4407188e8c562cd51714973eea9f0e7657212782c675909e498ddf811a3880cabc6ed9e12b33ced489d0a012a57b875f77221f42587d6890d9dd6f0792dd7b482ae4c16f7aaf09d421675a3ae8075fe9e721270229336a1b7c04234d3fc05fe68103b7d3d805789dc48d1b830469ded747294a2fbdebfa632a04fd4b570dfef02f0899279cfe0ba464dcf375950b1969242563c1cec2928c106d6548d9bbf4c52fd4ecbf7a3db99e6925d3fa261c34697724c4a61100eadb464d891a12446aa8bf64038360294b85ae5f552009eebf4ca05df9e41cb601dffafde4487a19b8534c0bee081124e6295b08bae3ae6d95ecc15539b19d3a6b0429f077b5dc6e1552b3c49b8f8a88d8664dcc9b9f62da37c2f24db2f521e82a88f0bfeafd3568534108245979c03203ca3477d1e39e5c4ea6a247ff499f5e9385446c3cdd1b9cbfb75d8c3a437ee71e94bb6659e786cfff9da13edc0c14884dd750d3d94e174324cc5ffa41561e3fed0d3cb64674ec08e8c907215e23d299e15b0f3ef607ff9a7d039a70a9dbfe0acdcda0f204f1eeac430f10a54298daf2003b7352a0763fafbb536ad2e31920314c94e7948155db91663907225be3d2e9b1c78ef9d8719b4cb0cb540a365374846c66b38890f58cbacc1ca331fe649bd9c043e311e21e7443cd467d1565e9c5a54b29bc3c76701e4eed0d872d568fbcd6fad01e8b1eb93268aae23aeda3b3a948ea291d1544d8751023a627223c1fe17fae1cd476e3207371f8f39dd7fbf3b0f1a147cb63738bc3b0ab76972c1ec075a7b26ae2ffc04c7db239f767d92acba241b3f1f899c2ecceb17cb8b715a0ada0607e5b5669cef974469a7bf4aa05443212f659e45e43fbc4d70066c2cb283c830e400f83d5628de8d81d3785313adc47f1c88eefc758f57abf3094f72199b9602f85b132ada4d29b7a191570d515037e3d703d2613ee5cc82d5c516728a6fbc4a72944914fa65044162b633c9e9c88aaf93ff9524cbebd5555a9406347ef3cbd4ad1902cf7faa1c54d1f29c4ffb3fb2859248c5454d91c02483d1bc2afb24a35c2043ec3c0427e85441f28f9228c7bdf55b286ec9d1d9659a6e8aae3cc0e383d932fe901150955fdc47e9303b98f4dc2befd4ee68bbf26e8eb217092c99bd8e02cf98f816b856f1a555d4dc408237c13910a6d2b1dcb4097670332172783de30eaeb4729d67511bbd96f087df94539b8b1a1c6f02c40161747ed4505b0ea3dc7b9a6de934568d6c21eebcca7bc02341dfd056c9988a37ec140d08fb72c3c7177a7be30074c1801125585b533a4f90ce91ab5e3f308a4b6df74cb9e8726c083eb8cd104ec2bb6fabf42d229a5608784e925033e93ef8318e63a9795a72722cc0ba736543dfd8421be16765e56c23a1cdc3d5dcc9f4086ab5f2ee558a726f87af5ff3a2830ed54e142b9cf982861292f4c687792dbe36f059d21fbe3b721fa0cd610772891c5fb57ec1df8713e037eb850354359ea1093e38970bfb5a72bc57fe38a1ff9d33eeb20311a242bc41d6afc52cc0234fc496983e992ce00372b046e9b25791a00501e1adb2f0b5053bb7cb8b36e122418571d9cfe19342a172edd1e7401f0d42861ac0757e52781ab5da874e274fa0788b4bb0255c9b1b00723e49e4a4dd5add7bd7ffde2f74737d1da80ae28fc8b353ed7b79f974662001053b4d6f23f1b56a2953cac36af60be6a1ba46b08c8b157f9b32a5e018c980261d6ccfbb4717a611cec5d18abed865131a362d351593ecdf0245220f222c73d41661d503f44b3e1f3ef21dcfdc6aa0a47bdbd7e998808b2b5693a1c2e4aa6b4d72f6872a9731af2aaad9463767f29ed5b8b5fd60b64abb0db8399c7570c51f48198a8e0a000c69936eb1d297d58f664cd16deda69061b4d2ecf55a59f9ab7d1e725f09646830e2c1356a31354beb990244d2526c579396656b4a9b175a9c7cfa724c29cd271d90875bd14bb7e3f89b9d0e4ed737a43283388820a7172030440172cd673f84177edd5f588cf5d6559d578fab9f3522816ed56ae0ed6aa7fc54fd686b0efd8b6d483aef93e4cc463a78cd5134e68fefa45ae2e38dc0bc511b7d3d4dee037f1d9401cff3a18453f6bd49a86989a733210303d3e0ae0266d0b98ea17263c8ad395ed8e13aed827e32d0ada998ca4139411ee2c5f8f48a7f628ad7a36ed8d971d7ca743dc2a7d6a30628f7f07f22f4917252613d4a13b576f824091653186ddcbe998d311aff5986597b6ae16e3a777aa402744ae73476563a976af2729b9ee46752297f9766bfb114edf7ad01a87675091c57b5993b29ea004acace63b847d998e8c39b093fc67b67449bd5a6e027b4335235df842d61f2c1a54cff7273d1476ee6c1f72f39cc7dbbd6cf1375a5ef7c7d47c7b7c15af4ab65ce0f6945d050f7cecc96f4a0a5edce25f12fa19dbfe680d8206fd6633dfd135ce0e57f1e3e85701baf43b4500967142400a91bb110465b4358cd85b1a56d2e28c5b77444b2681ad17b1488cf2821acece483635cc127f644eb774edbda4dbfce924f394762b94ecc184a7ca6bd78604577c11d146305219f851ada0eeb82a5be41b29572dbb8c3f0c5a79af6d6c25966d1be40d6e97bfa057ecf771de845183a74540b72de97dda9826848f1928fd9f8e6bd39d3ae17ab328f9afe9a3aa75c33c5e17b72e5211f15d48435ff98f5e7d91a6ba38845883e654ec18413ff5f836c50314b722daa2ebfefdb3489da931c12908bc95188ce58b052b1d6de67facec3f2513f725c188389ee612bc3820720dba0ec5cd16d1b801c7bdd2b2c166d0843583f2b0cba9b3ee76c8c6593928bef2f55b1f172f0d3295319b3d2b876258d522df631155fae194318b53e46a39fbc5593aae6c5a8fa6417d50a0c27387039d70d937e549e9d9c5ed62576df48fe77e4ee929cd1f378391f420e27d27f58f228d654ab6964606f1022c91c1136d9d6448b68057ce891adccbb48d6b2998d3eea11b93272046529f62042340abf950ebf0a97b3af324c5ecaaf0cc14f264a8b2e259e581d7952ddf424d5cf0180deaf825a73c647777a8fba727005bfd972924f62d9f872a92b669d341327514eaa5d1891d03c87c988f69cb4861b05896e2031fe34c8555073b1446a54ec1b4c2738657d42e37f507d4c207879ebb92f78b042138265309f87889bac9099ccaf220436b5e785a59912a867ec74e89bb8c38094f7942323f11c95a2b3cad366e90cb61c5a3c76751078aa4d5be4094bfc52fdedb8673d721ffa1034264ef2d13d2336fe51f2f4480b45f43a3efac665ed23c02d09ed8972c6a607bb2ba252ea8a030f3632598cf84df99345b283ab3371efcad20ceea97250950cc33121be566893941e50ee733e71c3094680ab77bf0db15106fb225862fcbd3401face8ba339f29bd5707f7b48cfee70812fb13ff0e76b4bb59de3f5729da44f3a2aa30394c91d0d9c1bd8e1fae2502d1be3e70e8e2ddd3ed9bf136572cf0cadc1b3023029a2ccff3a0b3ef96e0edf2227ea1af621cc72bfcec430dd729363c28ef69ed490c635be14ad32bb43f5abaeabc8054a55f97d46537d4a5936060cf9cddbb92fbddc7bfb984d5eb454d5effbe35cc21840077ecf7c6f22aa501fd0f0219f7db2a71d9856470951c11cc21e3a83d04f38e973bfeb5e0f463c18bc882db457bba1dbb2ad480a21f7c67cb40e4523a1a35cb2e9f6a21eadaa774d7a13c3c005bc6562935fa3c1e0b56464d52ede590e6ccfb09c3c17b5f56eec72709c341cf9d774411630a5a0f5094dc913c2695919d8b4ebb19baf872fd6a32d1551e387196e6fa12e6817fbae60b1c8d046ec4fb9d1a7415e12b9608c71b472f5cc0f3fc7b1b7ef5cdd4cb510e22944fbe36081c686851415c968064990fa72b4a35f2e8a221692dd4a3821727ce76c843df284a651825c765d8e51cbe6ff04e86e15b534d9d947171741d25c99fa4403d3a51f17b297e94270ddf09f10602f112f95b1b29449a0f1ab50d2bc754340530e86a37c53c13e36d5b0074ea22e08a025ff20310842daaf0c36dec706b8a31225ec9384983e204f28e2c6a32e5372749535edfff4bebd0541031a4ef64a367aab05590919b14ddd0dc5f000493e72c332dd8be92cd3996e6539c42217a88516d87eef99fe9bc9221b265cc6c3cd72188cf0c097581b114cbfce5ca27d6ca5cacea0f2958d2580f32ad5b49fd4a372f9bde7549dabe9546dfe48b5dbd3702955ae447ecb041a20974d9b89158e8c7269f8daa81a33e87c2efebbe40eaa7a954de17ed406c8c44a07ee89c2cd2bfd72ec6cc0865cd432f6d10aa0080a069708a1b86bbcac775f3e6c6f31d929a5d872a6b402488df37fe57d7d577cff207f36e8b0a2ca3287b30ef69b0bb5ee029f72a6efb0b19214e4ea5e3d46becd31f364ba1a0ba81755735cc1e89fccefa27f7261c006987fe62a3d1fd76e77646435aab8d3a096e24cde8041d7ca8c3b40f940e77078660d728c0a8e18f59b64184461fc908de78a050583bd837c813f80087215633b1102d7c6370a6e03fe3440088015007f466cbd958ef32db294ed8e54695d6f9859de0b08b5d5b3e9af67b118d6507504330e44f6ddbca88d02a99f987292a947382c7689beb9516db719dfa1a3dbdbd1ea15774d19fb6b247dab5304727802e0e62a4a1093511e495f892b332657cd68758f9e935967537979571a5a71fc8664fff3ee2dd0c7a20c145361d7a9139339338c5cfc0cb475480451c05f72c31cc39e6197bb1cb163ebe1f4b07f8602500e93111c2fe648976a6737050d7254bac2861e4b2483867615cb58d64fb7d76901eb9197948a73a906c794f0dc723426a223b18b1ccdea07cab77b3b8b77c5368be05824ad216d333714ba6550722d575574368564875c18f016057a304f8ab7cca3acb49088b578de4aa876aa2d24102cfcbe6c57c2b70c5f5459fc9bc9fa79c7f53539be381e56340486d5ad72d4daa824357d385e63bcc38ab0c5adfe1ccbaf0aa2bc6aed13b4238d723cfb72925713a4cfa4033e73cd039c859d7e72a095cbb164db1ae1eb6354c8c7440a1a396248cdce10c7cdcae9820d04a59120cc3dd9cc737b7cbd0e75e0cea86f4c72a1e6b43e0d261e344e07c692cd1bc12d6b4961d257ad72ef5f8e07a01dedb0729584e0683d820f8d6372ed33efdfe22fc02e7ca0292c932393bc82c519831e0ac85608871fd33cc98a8880a81609ae6453f4661efdf856c23067090534916572a691cdfb3ecc4dd313ee0825b1d7672678d3d8897138c19ee4d1b46f9922f2486745972fb93f193810d4b19a140016ea33bfcdd4eac6e9b57992fdb4a4842e62c47422c890401e545d6130bb982d76b0879db87b94ab090523bc590d258166722551773c70be1c78fe21351f149ccb7df783ca43def123263c6f64177992cb6a3dbe03c49d1b866c2780ab36ad33adf6c7138c07194ad3129d48d38f827d7e72d1e9cd1db8fcd1d946940b78633d67969b8bbc6d132cb33c89158df5716f3b238fd04acf6aa8a8d44748d73fd1848873afbe450ddc4258e6a76c391e7c28bf40489f65b596224e9a19c0e53e1e1c2125f0fe8bad8b593fcd132fbdd4029a7e3515b5cd04819128431c18ff4fb3d2dced7972ec203d21067af242e075cb176172ce32d3fadba7b6e4303ba2d6162320b540d2a026ac88bf89de0b478a1af48d72f23f0b55ca7617134fb6813f83d39689eb4c3f4a1660723b1ebdb7e4858165727710091af73ca4ce10824303f4a3048183fab2143109289fda0ef5964aa3c93a4933fd944365baeab832feff04ebe68aaa55ac7da1be7023fb7a4b3522b8cc262a9203beb90bcf296cc738ded751e80c72435bf45b3ed09212ebd60bb14f2a720a3723195d5304eacffa3f4f31d02040f2d7f182a54ed90f9cba8526734bd8726e398330bc766dc0c01d7a0032cf4cd5233b430f9f7408d5895a48daef204324c8a9e89596f940dca7ae65f56b1ba819497adc8ebd9098c93fcf6e2b4c3ab1494a7db7121b982fbbf5f474b978b2457b686ff7ccd1bfd26a060046d384ba0b72c1e02bf5599c259abd2388fc97f47de10865ec6b4f51b7e98a8b059814218e72aa22070411a7ac243872366832d5954bc9dd115c43eb2b428c0f682487faad7284fe91660313858f47e0ab24671bc9778f2b01a61addcb0f08818dfa021253728a19658e84664be2394e6fabf33ad8b57da395af79f5647b7afa2b6609613672c00e6a90d04ad8045800efcbde30fd3c8945fd288fea3b3b643e731f5abe49724c3b9a32c43898785faf2c0c69bce97971cb379ed4907b164e49d998c7e2f972f67d2bee7ca5c40c5fe0751994b6d92fcf01355ffd74462995ac0351fe17842a02d473e622a23c0d422dfb9fe16893e22ad2c08d1539239c77e75d75229424256f1d1b5c38c283eceeaed5b4024b049d269bbe23b9bb79bf029fed61026a0172281a0f493f56b4b02d0d66490dcd5af2fc6212ae7629b339e7efcbeec76b53725496910389f57ea904b7dfddaf0d91ea0cad425c45e0ac8cecb253397aec193ab8b36d4c535bb809e1354899e3dff8d692d914c0bfcf1fc2fbcd12948ed96d1f48858c284fc9413672ca950d36afc8d83e644377eb49e5629cf2da2dba1e293445645e0f44fc72aceedbe7023f740c93b9c7135c1fbbadf10695c79d9ec35372f6db53e9084590b5e6a77985c285f8c4f653128532d04bd56e34c0183864b872b087380890c3e66d136e62cf5275726ba807325b12783fd322f759adceca9c20af389275934aecfa657e4fb4f0150e643df03fe3f39b761cfc55731ee94755721dbd50aa8c1c795b3e9177bfa1fa5a25a3b21ee160a357dd87693f020e0bd772432442d4f12e7efcccadba4f979ac57571cf07c210feba049c2403f389959f72aaa00ef496927962d3a429c8dd6d96a58841a14c40f791a3d1e1c8c329f0c6200753e17f9df5fad347a9855acfffca6e5777fe6c648db7f50dff7b187de7f70c4802bd3b03c6c947c661e39396689a39a3dc17207b5b30bdbbca6c1a95d0876f3be5e38aa61c140b58a832ff405ca0e93d8872469ecf3ce0569dd9bc9de3c857cdab155aa9a874860f0c412b581762948ed81b367c7310b492fe9a15853ecb701b8cae81faad68846574e4abccbbf490f6fac5e51c87db3425e6d734fb2a5972c804e532e3439065848b41daccbeaf263af63cc9ee7ffbdc3402a55c7640e9725e89fb293aad4d202ff87ca1d13a20d563adfef17a6c969ca8e55f45bb99e215f65995e5eeeb8125c7ae3db47c22079e710e94f9dcf3b6cd59cdeda4b4b8977200a374b075ac22919b89b635b30dae935e487999313427364ef9f78c7e62e35450800ff7ee549e8f09536fc7eb863f7c3c12b83679c66cb6bdf2928892943166066e404e87042cb98f235a6581fb1ef1f703eee0c7499f6abe69067c17af651ec201927a66bad40906773e5e6e107945066074f3415215ec19be66d31d8f3e728fdc53fe870a8d54a353808a8eee10ca023e48a5c4c73115ed25dd8ec411d172f0ceb8735f944edc365a5c6831f0e6393a31727b429e0e5467d7d28802653872ebc7f80dbbf1d25755e9422b8b0cd2456400cc6cc7936021074252978a38e25af12a09be12171c7fc9f57a026823f21139836708058da256db7f053e1e02ba721250582969c9e287ce205fe162356e430bc795ee8d5f4378dd361e85bbf3ed7240f3319d86ca46b7e589c212d129fb80bc0a8919c500afde55d1f1f4be08b0728aefb1fd75b0b676713ca02426c3aeb2c97690fc97d0b81674ea4b30ddf714729216510e8d409d5c00cb068fc146e92936c94a2b38b5f5726ff2ef6256be693e0677dc2b4232147554d0933a3f7fd2d5297659b70be6eabc4af014c38a50260975570ce42f3d4175b29b172320cf1adf21e4eddbb2b9c5d575b8da20247bfd720f1ecf11bc3f05cfd1b603a95d3e5207bb3374a8896f2d32718e5d4e3f3a8356ccafb03700d180d7bee46b9a7ff3574d59821ef5948d1209961881c8f42f1472b16003b4ae3e0a1ac4bff24408efac26ee66da296ebd6cdbf36eb6001c781a720307ef5f715c0c3f20e00dc84983159b1b2f75c0ed337edc9945bf5aec16a072b20b09d04d432199ec65e9c748e96830e7c23e0064bdff5101fd3e68875e08726d0bfaee207fac483891c5efa9f02193531bc039d08902ba8d111ef7893c1344a9f0aa6c955493cd8b3bb2df32b94baee1d0472ae06fe0cdcf73cac9b8653d72271f8deffc75a9b42a4cab469a99736f3b28bd736c8188b23f06a26de562147256e671336542fdaf5a9fb30f3cdbeca9534895e0a3ca75fd0307703fb91cfa72014208230fc6cc6f1852caeaeced2848e7547c0efaa8343f950552a51ddf3b7217371f06196a0e80b9a8ec6bc3fbe273c8034dd3629bdb0853605e81a1b2d20d636527d16771a26545b9ba2be8c3b837ef35b5c0b4d6039a8cf949c4c9188e10657844f11c6a4fbf82364eacd406acadb2e589484c27588f01fd824b019c91361644861f7032e98e9b1c8ed11c496c482752cff98599c06c234e70083eeab1728794d82b36b16102bcccad7a4eac0ca17abaaca4e537bbfcf92b51800f5db27238e32f86d4a110797a2cf252a3df4edf5b5b0d887b23ae8b9dcef67c717fb172345b31c637232b0e578255d2f224b5fa155b9d96b30d48cf69b0878151363943558ae701486ef5c57188f396698c7f5ecf106235aaa94a2c85b4e594d819bc0ce2c7807ff6530623ba82b4eb98b703d03c6281b89589eb248b35ae81852f9859315d08d3f0b84a335a79d7bf7c2234f017ba4f0767b858e5d14829981de25e72f95f9e106667f3dfd16a92bed8ea91acd5870b124dad0582b73f61cad42d47356ca44ef1cfd5b4d912257783748aa77cea2c2df628c85889561a47d0ca210817fe96f61fee33eb2ee31bf945405ce7d6d41a8c92572e23b4b169534900f62f727310f628b1fc056187352c154449fd699eaac003d64219f74e04a8042243934640b263e5d49590fe4dc272a75d8efb2a0619c2ddf94ebb57fb34ebfe6258dd44a8f24139700d5c9a79ff94754aeefa638cbcb854b586f9654c4f038225136672282a19fb364009be61a08ee7960525412d390b164ceb9e01a6579c705f7e9e44632503c1d786cf5bb9d630143cc3fb041d1dbb210a319a2fabe61e0f932a821c6c89fea1881e9613de0f51d5b8091a3682220bb0ad04aa8ab6c22a8fbdf8d072600e56791d10b6907bff0e5c4518ce650c0e0899ae3ceb28a7daa1f09c589a72ee2bdcf10b270ea329a3d47a44fd3cbe33cf868847631761276a68f896363d2a3791f2f2f62afb3088c9f53f7b61e307fa0702147f60d8c3c9034999c48f906510a255ca86febafdfdd4f8337e2bf107869585102bd4673aa344e57084a69672207e169133c37f00ea0219cb0b9723265e7b040812905e992e16db04f5494272d4d30801db6d5cd78092090b9608af9a1233332239553c975b427a4b73823d72fb6fe5ea4f3a14bbfaafc91604527de4b9ab1742491b7d252a11db4e6c5f0131f2abed1224fc9cb2b7b1f5c01eb01d347b09e8dbdaa4224a08f4ab575507b95b19d7f463af913fe4c5e947dc7515b95a512bd8bfcbcd03d7eeeefe5b13b2a523c2180e24792b2e02ca43b1a0db19cba91430fe6490b8c51d10898406234023715441c26fc7d9cc4838421f12e297b7c7db4b18f85c568c279c6f50c98dd8237219e174774098bab036bc32656c409fb350d94af9bbe99d41ba40194a3240a710fb7da13f26bb9af0e01fe8e935285f3d70aee09efdfd77ead4375f2818b6950aa0a5c917bc82438af463973cd55ebe93ac772ed12551a71648d0eb6d6bab822e89a4e1981dc2b15626b66f60e10786d4bf29de84210007a2b6d38041569a6d720e5fb1c7e2d396a40af3b5eb0ad22d6cc1a356e03d2f34c9b7b20a3d972c38723e043e1c6c6495bba7752679076d50fe05df1c5b41d0cf05e343096689719072dff36410f98b4e1ffe4a432c8ed337343fde8f42157bc02de342e972310b6f72fa21d685652603c005bef4e5b5f8d009221efd27ed091f5212d227de4096523c25d4db5bc11801585ccddd46314d0ee96e257953dc20e72baf1225340ee01416a65d1c4fb55619a1100bc71471a711779066823bfff1d6264ad6c0533c7bbc72711785d2b80ad13b12546765618e7b19f7e1f113c2c8c28b667b3c5abdd28f30fd0233379cfcf27895e3407613da9d76c88f41c0c3f3649e51a57a9e734f957213d8efab22b25ed35a77ba955d553621f5e3a105eded958cf8efee74d8a7c4470bd682a41b2197fc2011f27b95996026f2c90e965dd4309bd435fb1cd19ad6670ee426fcf47ae624aaab5d89bf32514a65497491b37df8250e78a04490fb4272aa0544768729ec34a2084bb5fc709d9dd12f8e7b9bed3ca87c3ed31ce9d9f072b99f9a70f44d2c7bde0bb2f95e6d04afe9c19c11846db42ef46076882cdbff459e9b8369d7bbb93d50d6e1659d231af72b7a1650c6357a08a20b6c2403fc45472b74ae44422006a8536c89c08dfd2a4aab14a1c73f264b8f5af7531ac06da3722cb173637dd57a01bbbd69507d0327227c29f71a56fd5c099991df995b029072c8c5aeb9b1a302333f74dde31b3b45d0fe5c838e47029022cd7653c20fbf6972b6c2ddbd55214648cbe42ef75c38558488626df619715de470a9f44a53c05950e8dea15e431e62881a83e2ab1c1dd711fdd2c90fb7cf31bfb767eb3374cc7840c4ac015810f6260c5544b0de77db3ae79a0821091d50b19e431fe83f6cdd812e28741b9f9cc065a226ae86245c2512e03f2eefcbb161a44d12624732923d5b72574265c97a56a8b9a62028768bcdf8a96b1d299841a19042dff785a0713af639fb9e0f54234d75e416a2144d73c2a7aed4b77791f8f353412dd4ba9071e6b823f2cd670ef479c7db73f5197bef5bab062b149054042464276ab6a07267e967725c6459c89f8b093d6dc0d7dfd76ac6554f6f0092931f36284f0eec38d14de30d0a97262b653c12f5ac62b32576d871f858d39656490eabed0553580d17ecc2727352a1ced499ca6d56d6897fbcb2a6e755c5b7bc80c75a0dc74f573306daff724629acfe8f4ec8456cb57dec1bd88e39c2364f78dbf3baae4ae3c2c3a9490f72b38f7a7db8d6fe3e7bd1fee63e10ecbd5e130d66736691bb5dc9797a9ed5e572ecf10deb245f144a397ade806f522b7b1654b284635a8aef822e7da6a54c847213be7b8ef22ac3f5f471744fa3cbc232a674ca57e68295fb3d2deff39d69e053f2fbd51a7e1ff77bcf7281c78db367a509e3d24e7704a4d17fdd4facc8f3cb5e11ea485ac90cd221776b4ec2f583dad3dfd769a457ae8d7761321aa3088e5472616309b9545715058748f47d07e3718b6e4f0d22108243e249f3255078d0877283198f6e9cf7fb88f86b6341de9e89c947c4dda2daf8be5e58be981a0a030b7209aca5a6ccc967cddb62dee2fdacf69e50ffdda5e76edf1025a39c71e59789720cb1eef25806b03027baea4f1d9309890005c4f4351a5f48949abdd184e93072593d65db7a3e4f3fa4f19ff861db19848eabc79679f2c0c7a5d4747042204272677cffd4cf0e0d126c1c6a910b4c6f6f5ee272c492432f6e6d7ffcb38e6d291733c2d86952c4ef0c231a1875f4463b3e89d3e41bde305b439cb746d385bd76721726b971a84c06d26e3c795cd72c88c556efc99a77c65a1d427173d79668b75b7bf52bf4c78da50ab2c6d930bd87720deaa6b55883cfc100c8c4d9ed9c1c5572baa84ea860653587ca85425ad7e96cb0262ddcf3b5d0b85b4306992f462df15ecf8c6ef5f794203fe9b3149908df22f697ff522ba8e46f0c4eddabfac2502572193961fccad91483f8958020a2941e2c12cc111f924d73eb64560e3384e4a5720134f51ffa4b738eeab0832fa65e2e251a30013d50658b1e62d86ea34917677266c2efa4789b845a27ed3677008c7577994b5dfc28c396f0e454eec0150c6772de1cd762191cab78cef444c146c3a837330c864101d3b08a759586767f4a84303c71cf0b7ba4b35bbac358a1171445a45f307afa72196019f3bfa8db0e67e0722784ad7394b01949761d250d9557ec47a10be14399b4cf5ee17781fafdb4907225d6bbefd01936100077aa96b5307148ed9796088a45c2707c195ac000d77b63ea7e63866100d211566e0ab573b5b71ee2994bd5aa1fb1e83eee602bbca0ae7204b42a66e6924f5a74c0414d7868b9550a952cfcfd4ba1a4ad53d2a1d25b3d3bfe75bef1d8e323ad4d2706c0ec0dc393bd2d406fd6f2841ab04524594e2db35f08a943e4bf96e41ebe6e9547db5a91dcad5bbaade63dc7eb4c00da3a912b3e2294d8647eeeada69245a1776644d3fb1bc0ef2f617ab26ab88dead8fe32a50322265f758681076329514009d509d0312767fe28ed585f1769807474dbecae1d6e9af58f6d90b05d46207706782a10ead8f8e5893e26fe00ffee0ad35b53d439720c84f5d7f67a16838d6106b3dbd4adb1ea2f8b8f51921561b951f42a5926f072a86d1e1c2ebe9d2d518babf9f8a89280187689714d65ac47767806ee106bf2727ecac417bfd69afac21a29322e7c95f40092928fc775f7b16f275fd6b8e96b086ad9844955068fb5250ca6445e29182fbb49442a1072f4603d00a472d5415172d981dd246c1e57fffce43cdda1ad4c36add619900fd0d7464287b026db09784e4d15b16525c5e1cf9f6efadb9a7441e64cbb66addeced9327d35744b7e3d9f316a564609d19a1f890933da85401dc85c3131c9322e144b156ec16a37759e1972bd249f520179059768fa641360e58d702882f98091a6181ca0319022ef16e872f93238639b2bb4045514533e151c6773358a893ee063834cfd45a2610331847240bcb2c55e87afc8a70f7faf42097512d42b4ea42e17616c35a465acbe0cfc6e9cdef672df4c8dc0b7d1780f491100a3d8c3d8ed91c9f5173fa84d20cbdfe97291bf51af9d9fc7af523c97ade1dd113a74eecf931f34fa0e95da6aba7300f7724c360fb8f2e99e62eac436f951306a9de82df8874a498ab7702ba11e4a920c5cfed5282e85c6e04d4483bf4dd7daec3f5e4e252d0e2b1cc0c7d86406180c5f2cc9a59ace179718125d42a2bcd76eb351fdb6a54b9d9dbe2468dac293658f23724bc675b34835fbc3be5b67ae4792f8055ceeef3270d0f6e25ff1efce455a947233d4c8d4ddf8cd6d141b194ba036e1c55fa1bf5d6fdcb51ce4b88bfbdab81f72b386b51348d36e7dc389023d34325b3745606740edd43d613ac9c70f25c7b672921387799471b92edc193a1be3b5ed02be84d7d1a6a41a3e966590ff744e4c7248e371494d7a8d93c40c6ce708b5b6d37e24630b9978ff75ab0be5deb4546e6c0e6b7735c86529df9b3b4ea9bd7f9f54e9462b17a2060996e02a045dcd3e38723c5489333a9cf26f88d3ae40a6ab36e9f2fb818edcd7947ceb7cdf74c23d79722c28fb7e196ecf7e2d06852fa2bbc61b990dffd9c3d4aeecd2b66e1c4474e972575a26859f95b035bb8165c1b5bcde6214fd2d4bf5aa5f7441a5383b51cc7808d6bed4d399a71d772bbe195397139a1fbef28d73f31c203be37a8c7b3bf5a9725da914972e427f2c56209e417432d68eb9a7a2ab31f328689bf1d0f942a3ad72accafc6d43b5644f5b99c2eea28a15e63e362f3a30c0cc0d23a5fd66e82473226ae6b8e299ae64360220a16163666ea88523f0266f8399c557210b09f5a1363fde35e97ea640e2eeced50f0184c877beb136f0e889e0f334479f21d8894dbe5aadc6ef836c3b822b604bba3e3aa864752d3c1577256a6ac60ecda059f851ba17bdc68788768882af2dab733974e9cfd534e3aca949a46d9b52ee437c2f91d172506b0d22b8eef5f4feca1528dcb74f3f1c4c144d4d9e6bdd83668898c0f62e721922a5e4994c0c90cec61fd431c118e7b930df65b18741ef8157fb03ebe9c172c42c978939176031ea9da898cfb6b0ce9efb70991258d8d9b299a1ac7fa8c1720852dd8b5d4623cab066003534d7e93004ec652195283fdbd2dd92f4fe7bae72b19ad6fb330614f4b6694f1514981d78a5bc55891b3a62a6dd20c638548f8e72fe4e2f026a6e857ddcf0528989d0a035768f0fe321cce27d26b5e1200560d8720bc03e0a5c97064a4792b854f41102a435daf7fba144e7cbbdcfe8a306e961729ee73397e0c77f2f4ffa2ef8f0d01a42955b87ab75c9b76dec9e421182914f4047057e3f27c797483753653afcdfff6e3eb15a55dd4ac3881f8b94df45076672a203c294787e119a9b1ecc4ddfdb328a8e7ac9b729409411fa30f3e914d8a849e0cbe2083fed7d0373eed0589c5b04063af2e6567b8b7a226e709ab46de57b68312e7b4fede6f6566844e0d19fd4c4bc211d696a06070692f1aaa79d4a3c6c3c1bd20e6de37005323c4fd139c19d9c0f16c0e61b61bf3879d2a74016a8e72b72a010a55df4d902a7e3b8f8d7094915b9a87506e196d01ddb6e6750869857544856b5d226186e02b968cd0d3fe84bd4a99f6cf1102bee9b29ae9b31c247df89721a2f4cad49bc585b4848bc2ef286c28b1bdb5a0c1031b22a8b6be458b2848272b0882721fe4a48377238e715be59c3bc7136212e16fa584ea265a964460c93456ef6553d0da5a969b9687da5ef4e2fa3425880719e2878af7ce62e1cc082037225a73bab06936610b92b3e392b7a26c2e532c8862e0a802ab90077eb82ee442d013b4236277951b150621800e18d8abe184737558d50a0f7fadb8a12b8bc6372079354253af094577153df168adb9fefa46ee19231846861161a676704a9b5722fa294a9daecc2d42459d820d2449c24ecc7bff983754ce7db170b1637913f72d0886b2caa5b25f62674848d1d7b0ea84616a4845263641a3e3026b197491e72df253a13ee0b06a205c293848fb43fb1136123a435af918d6ffc00f37a3fb7720db3f9677304d86f593d84b25fab963b79ba16a4074a3f1c7d66920e1f3a227200774742bb9c4284665501546bd1c70935f6e30b54ef6c5b9f5b88c9539a5e72bf2af45d6e0030f052bb2ed0688ec66b93a9424c6880d81d78053637f8fdee7221c3184d0b1d503aced74a3060f3eaa05161960573fb76eca154f69bb81ab972d3b68e48bd40acfc67fd2365efd85fd1987f3e7d40a87f296f5bbed198c5c37222a529d82e48e45f1f84a846166495a950c158ff8a24be7ca842c3f05c51a972390a958a10e85b0f1f55d5c85e4f7bf5b926b92e02747a1cba1906e8a8649245c044b5c75587c8841658f99366f15b1c55daa1cbbc1d5bfaafe644a21c1e89266e7fba46a72d102b95dc25592a94d12949a9cbe8c21d2b3fa2dc72447019fe3170d0db8a8439168447a4cb9b8b142751473c87a43ca648742847d50225b0612464b09be795d1fd47dcb9bf36394adcf5fb068bc9ddae44490ed39947d2f7b072965946f3db7cecd8b3c18ee3af804fd6c599db2909d7fe8618dcddf30f463e724c07570eb53cd4a6466a6e3802fd4e106e9fd04f1f3e5c94f511f712c250f172b939f6504694a408845d1143088951483585dba713b37854b0b88d58f21fcf7264cf631273e47a965fd5610997f5d153a6ad483ea030f062d10a2352a84788728b56052a67835e10162835c88f962d616994fa732e839ee43aafbd577cda884e221a9c3d1ac290011429816521a4c57e8aff68a5d9ac2a3d573d7c5cdabd9a68ea5bc0af2c86a1a3a756a8a0e073eedff70bc50111b2c7d7f729c5c03fc0a772a613d835bf9b8e7242495d70fee12375aa3aa1c9291b42214777c285c85ef572b51a091f2faecd2eb0d25e941552fd5477e62a2743644979a9a510793047ca7250f06532e616546c999069fba9051e701e4e33cc28d586f92ff56fc457c3124fd76bfa7840c6a7e973daa9a776e8137888e49a0130abf0e11005f0f41ae9044a14110b7fb6f9fa74ccce5a8b058f06f49447c4efe3d87d056ba15b6c09284d722c10e546d1683a3261c847e7bbd189614ece31c31ebbc5905292c0188ee21d72e364778ae0dde930b355404edc3eee9fce0e7de9082e9eb56c846948cb948902b26685faa4bf164fddecf40e5654f1c2ad20be0ad706469afc059e6af14b617279eb76363711ed5722dd0b3d3f669e218bfa5291d663d54c3a314264ec7b6472f1e8a76dde98ea05b40175b4b2e559a0fc3bc33631d2155b38d3b32338371b72ef6a5b9a16df5b990379c71acd1468348587fd19a87075f76890f38798050172e94f93e24d000b7510f64dbb67572dfd6f327f9513435ad71ccbc5e3870b5c66627e83538c727a2bc3d43d5fbe2e0374a3d2f24cc4a5122ebe2c7aa47b3e9672fea48c473af9de0de77a3e80ad30a3fd258f7d68781e27d6ba17bf9a4917ca6c3ce2859dd3e1eec4552db0e52d10097fee089bba408af3f97a0a884891ca4831a50e5becaae60327dd98758b9e239b8481a0dd703d01bea1e8ac742f8f49d41ceb5f3ac150d300cb79b1bee29f74e75a0b4061beca3152a5c6b4ef1047e1943893e2036c09071b281bb7f79b9e63a858fa0a839a8d25e88939e959875881af259789bd74d0955edfe7b93b303cf90adc9a6d7abed27da134bece350695d6ef722958bd60f87b3e6f99a8e8e915fe6224d3e901e7ec2b2719f888dc12153fe86dc54d5fb3332800c4b18353934664213e3f05ed4b4edc127a54fdf0cec1dbd15e05131f2d852dd6127b551e60514a0a830f51a3f8fee6113fbe4066b21be73d72a7d25f5fbf1a9cc225ef467880cd5e45c89aa07f77beb4d36ad343417b6b1114f60d09afcc429cc9a28988e8054781111e69dff9e2c247d77671b6dc38624f01704941db5a224c6b58933aa60e7a4e6a309a016a10bc509e10ef63eedd4dd0728479f5156e5f643fb9f8a91cdc63d2d8ea74c17f72fff68e2ee97b996f14990712603663e0505ea5e2534462fb3368e4695350ac2be2fe2a36fe3373a20ab36cafca07a1044c3e05c6504f5d55f1ea3af3fdd8b48bae01c505b16a2a8c1f0758397001dd253982968314e756d294975c8089e5889a021a8f3b14a9218b54ac72c806bbbed4d7f7b76e9ad5f1263338a09eec0a12e88eb9c55f824f56a9b33d723db547d2d417784e2d81501c3aa5e330f08b2de67bb6185399fa835869053c72a057369b6d9e1f8b95f5a59e5f421b5680de75a607be681d87a216b1a11bda72b7dd624adb1740b3619903f1175dd35b92a521ccd752f408d09d5a47904d4a28733616772c33f8b0709a386f69441084dae6f362fd1083872fd1e73db5c4f06f359b74b2ca066ab53fb11821c8162920c54696202a84b300c4653bdb333e327265a8b9d679c91ac9afd63f36c1c45ffc05cc95656c313d17a2527e01f41ff1145eacfba48aad50ec40a87174fa3601ecb808c7ccff4be2c2254b89f8ba8f5972907b9d63483f585ad1135350190f6962205ea7f86a98fa184da18f1da7ce687297a07d3135dd47b67f7e448a20441ec06ab5d4f95367df99b01436e646637e258cf25ffa0ee5bafb4605a3b5b3048beb5632423a73d408402b06e774c89485726d67bc70024429da4d077e3c2129aaf6f1493057647153f79d01e7766715c872f7ead32805dc873e4afb80e8b8a4b2a36b26010e20a7f7f2dff0a09e872f2672071fad942120d11b9e3aa79b0a9d9c82bcff9d0625d6563502869457581bfa0c6ab2a57cf538205bc267bcd794d71838b8b89945897e99f0bc701325e59f0d725af3538f81ba89f4ace8a1870982f5ead21ef63de1826b2c71c2154bf943b772649c99be9dabfba15169d887c21e0cdcb65134049925ad846654632c8f7c42502a788e75c44570b742ab52305fa89ceee1aeefb96eb3b4e21cdb4d8ebe19aa728287cefb65eff5decc04ece17517baa47002604588f82362ad3d40bc74e95872cfbf45726b3971984ba5896045514727b2387c2ae5c5a10e95b1d89b4ab0fd726490254b9435e092f604326c421b5e8a74a6b70283167289003db5afe610740189b60bb97bae197860d9c705e970d82d5fa2eae8795b516b10bdd877aaaa34729124686480db070435c7f30a59e21600fbf5a3d2e11400445d7ac7e6683a91722048265aef68123c0bac58ba152b2c5a831b94bf83dc31990beb294b3b107572d72b7d914f9ae1ab79fdd37a8827327f29bed19e72961394ba6da71de02c0a72c4c3f91400eae30784232f02d7dfb3be3d7aed8c1488f248e68a8526b4b56c72c5bf39b92080e7d8763ffebbf2c8917624e0133711ede3f6ec95bb07ccfbd772db07ab55e99fb6460d2e0394ac48e85aeb673726315c405c85edcc6415c273701cf0df95f56f01f0fb94cc6d6f031ef80f25f689cbca9682c168068220bc2a72f66f1dfbdfe56dc5c209ac470b653d7df36ca345edfbee37171427c39e1e8f70e92ecfd495713a6734102f4ef32e631017f7cbc0cee6cfa94a79f8528a9655721ddfcba49ebe168853c9edefe6dbc261bdcba4401d5f96df0027d85dbac523729fb1123d87caab9a86323e607fa09b0649a72c5904acda6ab32e5ef9dd7f837258288f7d8e299e4d660f583441fe8b01cc382e4ee76d5e41676bbce28de1a972b6021a392f50112dc158f5937576373436bbb373252fc776f6634f30aef6663c09c6adc5d4ac5cec37ece521352514c5ebfb9c49ac0e62dc84c7d0eef8da4372fdc4d37d08de6c364f81eb7a3a67763262c9dedccfe91720eda6900b1dd42357ab2d8cf9ad227eb5f98bbbf45ac72bfe0cab54889baa2590525c4d6624e57972cd05c810b56ff4d3216b3578a3a1832756e9a24172116a7656785c2c1b8828728e63f97672a5966e5ccf03d4d3ce60409a5a696a1b7c3a2b6122b06ff2350f05a88f6c32b95b6a4c90e24e837fa443995cf432f60b3d1ea0e6cd4ad0a6482772db0a7e1bfbb5e7304b37be133f866e07bec92c1426126b77662b87f757700464097b8abe67d7054b47823090be137494f73684b8092a1c4305a1c38781f4a072421be301d8f61614e52d95d71fe26f12024970889dce488530941202702e73724d17585ae69d1c6644cf6f2838442633d8d4461968bee1fcd300bad29b36637246f652e367bce476bc07409915cf7757e9dce4ab66d8e73890276f39a7095320e6cc80556d616bb24578eb41f4a26f208c918799e834e2373df2594c3a935a72ade8a987a80744b687effd7332f5e890b60d917f5015e00235e72f33cfa16a726ca94886695cdb241403811a32ac914392c0e4be1e92e6c2c22905b96e39e00c2ac7b9232a68229446b4881aafb8c42a9001339fe8d91fd399e158a1b4cfca1d319bbc27bf55d8979e1ee7d0687091ba0db6e56068c728da2bc1a9e609a49e5b38e4d4100d11519f72840052c4b9270d8efe2505c790d168a3b00ad253d2cb7250c751958e512264e29fd1b0b23d4749c97fdb40b726065dad966e64b61aed72005ac527be1e68b420b2c0ca8efdfe1c46a98dcea43e21fae50c06676b522d724169020370ca34d5a109a46a43d23cbe8715d6a6aa0cdec8c9fbd59aa7c6bc7206f8f5fbf2a4ad4196f98c1629b0fb1eae559d11a8eb592b6c77be841e412572bd704975cc9d708e32b2f9f4e3e500026a639da9f9a286ae289edab1b7a39272779300f812fa2da616574ce84b1c51523848611f3d7dd296580361a19b35cd721adb51ecc1601c7cdb0419ec4fc2d2df646edb6463ad34712556320e76d979724eb50e8c97b537c28df046d5afd287f883588ec2fa5dbdb1098b8caa50b6df728e99ec6849df49225852c0310c591200140b4948b8443c86724f1f151c8adf72b17e0dd6baf2d34cb1d5860537a0debe0249d4796e7a7a4ecf67878aa3b45a4c13cfd73f508c9302f8d9873eab4ec6bcd4bc980e05114ffe583b31668c61684df2a1aa8f4b16c52d036c054a11ff1035bb7728c6179720de0da7ca1d05e07810cccb41297d298e02a55bfd0e02068aa112d65a7a21049ce6fcea7b967b2fb737c1b742f9be398a7a5936fb5e84577dd97976cec871f1cc235a68606356105172857a44987f4ffb5db45564feac42dd064cdeee7bc174ddd032ba481eb99b5146150db0e74fc3293b1e669a7139c021c179db177a392470ab9c1c21c0ffa9a527d699fb4039399808c604d3f40a194dddfc126dccc5c2bc1a6e6d9277207b3272451726f4ad6a91423ea01748c269607c6fb82b28c79d428966083e7dcda1ac53708fee1ebcbb4c08e5b9bebd553300d9079b2279ce534c8282e8414055b40d728f8c747e84f5c1ce48e7ec5e587736dc38adc530385cb16c5986e21b22c0626d97f20c88b3548787fe01ca28bc6bc1edd8ce60c13a2f3eeffc1164e05a407472d6cdbe83ab35fbe8afef78f9353266669135ed6fe3440e8c5a89077b3d7fe0726e4842305b657a90bae8a9fcbc10fabd278bcc4d1bf8d51315e3594cb6ab9a72e9873ec2a446008882b96275b4a2a5c1de44c222d697b161eff0ecdc747f1d723aab94831d1b5effaa252460081be338eaf90ed14875c59c451f33b40ebf0864786446e2bc76488181a775b6a4ce38002614c8bbea764c32b6c16d0dbac0183b0a2bca80a852f16317bde4c1853e3268da5b1bd0b8570dafeb69dd5bac8c3b7277046641404f04f2390b7516bbbd787517fe53e7399490caae068f67cd7ae06f7e36a10d658be5bc38d0f10c94320ced4fc6100daf315120b1dd4402ede96840b16837b2078117c49790e3599185ec505abd557be92bc53ea4afc3754c3cf912482d116d7c89cb78a4be51bb558f360f6de8855a4a4204a476f53b22ea7c9011ea33601b9fe287d6c686dd4883a0b183f0486fdf76db6aec7032272411140e720e6373eff64ad0a2a334639f51b86427670210625d3b23fa3c368ee05d4a8972201c8a332cd327192d3e2324347ce4569e216b1f5a269423f77abe3486d7b072701b98e2fa84be9567fe8069941a445d17b906ba054d34164ed3435bdf521c72f10c7d310837ed88610bfd576b8c0f3c6f8b9befdadfe0373addd2c6289def13cd8d5f7f7dd3cde1d81aef1e1e4f3cdc6629d42edd538aa35827b443ceeed97253b0d567c1bff393de41c474ad0ab1a19a34a9fee6968663c79c33cc510fb54f67f2348c165977c9733bfd97aca30063fd637f2cf0172b93d39104c8e50f3e72b877f8ae3d0551564aea5db2af33212b8d50040c81a94adad8ff717d8d2f0b72078da973d351f0c41afe826d289ce0d6d91359bc735f6fb71d1555686b8e0c7222309cf0e222b4da3777b1f9ab6de30320173878e7057cd07a2799a43522ab655bd099fb52dbb473ad9f661adeabaedae092eeac417aed4004890b3e938e670b76100e5f575e1675aca8a336e384327bc18d587f5e022d0b5976385104ae8b72c368e085ac8aedd45f2d9e04332d4b4ba29c42573c033cfb398b8b0036f045722a0e6c9bd4f3392a0f358cc813841ac54aaba58bda47485bc175ac5c8ac92a37db44c7e1cf14097ce6a77ef620906f9a11ef2696ca0693175a3b945a844fdd72dbb43edb69aa95d88e6295470fffe802f89c6c1a75164c34e781e50821057c50360bd3adec5b2e1baeec6dc9379e2708d6d60eb11a8a385d3ba144a4fd24b10efd1603673de68bd3bfc9a0a82c16099fd9435cb2746424c409fbbafe2a023572db5d00c8c02be8373470be6d687113041d71238f9d9ad02404a241aac1fe1417cedc78898db6ef7a3a831a6522ec62269a5b186741f98504f41eb9258ee38772cf1cbccaa88983312728ce149a61dedaecb814277201abb92b60dd97d3e483721a92da431bb687503dc11a53f7c1686cdd84dc78003fc780e50f0b6b749070192fdada54fb6320158d777457d1d84ec15e6b652cee573bac20730e4d000c271cec0b5803523678c1435a3d679b216177b2142a2b7b2166242f08fa0e6af46072410c38a0e557e1f3038d0f5bff96aeb303ce30673583217306698ef0b784ee705abf98d3fb55db6b474697b39ab7cdcad12d113e298b1016d89fdf583c5776726b47c20f5bc3983ff5d014e4b429d8563fdde26397a9cd16420318f615483c72cb87e373a31591b42e0f11d779fda86f238a522e3af6d05faf68983e8428c3725e883a198cf888ce10fa61109772f73e0494dc973c7a1f2d86aa65b2600e2d72d5236a9764dff24f2c2dd0da7623a263ed34a46cd4110f5c4c3df2dd000f4272eb6cfeff1bfcb5c3c2683d556cc416036bd502511365016448a4aef40a8c3c72db6e646e143b2ba516b4c6a4c209ee047fe22f70e44efada64f85a8efbc54e64cdf7f2a16a0e75a55a394ac8438360f4f66f9ece819398039f619ba03247ba720ce9891227fd4bff5448268cbe88517ef1a8e2faf83a72c2fe9808272c279a25fd632313e84fb0d30460ccfafbd7460ecd7daac6ab521cb5ba0a449d33297e2c1aca9ca0db9f9ff31d3145aee21ab433ed9b8232e903de218408f01bcdd48c72f6dccac12642aab219ddae27865f7dd5f737909c643b11ac47c992d4b0459a72dd49723926f20b24a99ed6cf48894ca6e6ee650244b453414aa161fa7b60cb72250b384e8b26b05451bc7c1e1aafeffebb3b0ed4ae4fb3d48cd6ab4e456cfe72b96366aee2280ddbc21932adf1dc77a2dec25c515efb18e500d7d25d241d7572127b7ed51623267c226b012ba50ca4856f2ed85b38087cf9c5111ae45435a77256a3eceedb8b1153410adb6bcd238e0fed671f0b3b0e44700cb68ad75c68092937311e7b5b2cdd57ab934b8d1cdc43cff23fbf40dcf831563b29d0992dab6f20208608d96cb8c2d88d5bff6fc6ae6220d569d7ee47793548b328ed0de17b5d72c72e846cfc09e577318c57e04759dbd07027979a1d3f659f47df16657aad8b387e17336ed67961bc383d56f2451eeb59cf4b28e0779798c44391d18df8f6c8068cc0268286586f1e2217c2f024597fcdfc28276bd36c9ac3ff9d71fdfad2c372dc6907aea5302283f15c9d448fad4314397cd8a758eabcf81cf03c851a194c72ffe0ee08e25d6ca943b2a921f894552330c49c932254e874a92523770dea5272f95a2fd285174b9ca5ebf8eadf42e56d348babec198077c3242e8cfa794f90031107730e3c33f5f6fd182bedbf8301c97ecc82e02789220c8fc0009bdb899072552de7b7c204474ec26eff1360f5cfe8f0104a6c4c50088feeb829a864ea07510ebb3825d1f239c191f462a4d011d9653a04ea628c6af3fc68542cf806ba4e106556e08ced01a2c3dd6f9cd5b8e55eeaca90b064e215c472b7bf29c53d18b37277ce89462d9e052572cfa2fa16c8e8455b171d330e11b323d50f8efe33bacc2e5b9092eea2c4ed14ab6e21060a9e15f99fa970b55dc4d205250793dc0d57a152be435ea03792e3d25dc0d314ad871c78720104382ff7834036d952931d0e8c35b6af9f2c4d39dfe4f8279b7f4bba2905496eb06a9a53f9090d0305fed53d3668858fc20be33a091405bbfa62e8d765b1b93dbadea25643ac002a724995081d72570afd941c6ed3b3b524cc685eda59e81b7dfc0a8ad98bc6a5ca2dcedb3f047243073e36e051f90c3eada6fcfe27133867cf75882b77408648d87127c2320b50b2e9c76220088543ceb9ad119d3f0502a4b5d20a22c2dfe9cbafb8bb44cd82728986c33745cae52d4369777abf8127077de3fa7e06982b4101838da09fd5ca72dd7ac0bef8321f95e7fc107e7a237931b844c0baefa1020de7cfb475209cc45c41fb00c6144fcb0dd232c22902031572a04f32f437fc2ef46ff58cf961e498727138547e55d5c998e5a5fdc9b0b79fb3b7a58038caa5bb8410cf526a9fd8d72bc8542aeb7b54c84283a1d2909bdfe986bb8f990a6da13a4fb70dff1c6f46eb72a0912be6b6e621a5bf4aa63ce82a5a724086a3ec5087c8820de2b2992f3ac34af5f75fa7c09a79050bd75288b757ecdf2b90d79d708e74da8c3d43a3d98be572ecfde558f73722e3c9dd569012e5806a73ba9f2c12ad47b54062e2338336f872974c4bdd9b1d6e18f50c16596ca75bdb0664de6ab595e0f7e45e8193e7c6c8066956202a53a15aadfb6f848281a3730367b10011c8727a5efb99b187155c7072e972aff2a8cada63e47775c400520a5e7e94b17a32824a0569cb4f0ebeb98b72df5bbcb7dcc305300c72e84076a7666ec88c1d826d86eff8ac7e05224209c219e8c6249336fb8b4827afde2554dc4007e435afb214487176f22e909519cc86726bcf39b09bd15903afffe15c9cbca7837ae9a2f1cbd01a42eea80a4dfebd343b2e98e7d4938fb9371f3a091e2f4987f88bb3c49034ea98b57f42b672ee63ae72c729e6e5ca2086523c723500d9da2049fdf01be3edd4c6f3245e4ea0be41586c57b8d45880c0ba9aeb332ab05a69de2b12feadb8c7ce6300cd1903bf4ed08147f6d8a964b8d8059623eb121dbbd67312d9186d0c3a29df47178d9c1791b2511f182a5dca9a2a762fd171e90bf11bf0d81984bed0e145ffd29e0e80badca7d31555721642df12975ce5ade6cfe57af66cc3dbdddd66369bee44883ca8a0368c72fec1061d39ce1f6897da1e5325ee4b8d7d3478610efc0b07410f23edb624896134820fe0cde6e836984b5207edb7e79fcf10b0f457898f075f40744cd07e623d745f77691357ceb6618d956b684327ff2e68f57e3f9d4ccd0b47ae5018df1a727f238014d7e1bddab03469d9d38a13e0c17e383fe5d66f22eddc4fba8fc50372848277dd153cd639b98461c1ad61057c8393a563a0eeb74bec348b4c6f9c376ac75b1301b3d85174caf61612ac824db626b471ea5fdc08a74a4d3e182df3db1d6dfc10424b3ba6456a359e14cb46fc067fcddfea6780eac53c044081be459e72ad6065aaa7f124b813cfbcb937d68b305223a29bc3dbb340f180fdc1c2de375412fd6e1a614b5c97b23bb4356fc64efdc2ba0d92e8054dd1e9975914f2a64072f034f7b8ca810ccd95c19ee0e92d481d74d571e898557e08aef5839113ffa2606d8983be62e4b38932c1fbf6a51f66bf77f1c33aa7254328a7d2709842012b0a1b2dc5a37ee5e0396b94e191786875e053c05cb0ffee508c99da22a67f1a037215377eabb61382b77cb35fc50158e73197c81f54dc1c9e92f246113a511b677203d05e6124cf4a75af916e8f05bf327cbec0cc7485b129a0cc197eeedf63d672fe1ab530b5aedda5adf6060166257d11b2417dcbb11294b97b410d75782a8e72b75f05aa2843e09f99d362e4609859709be930f80809840d79eda943371b2a409492c150f66b30d8464108276ccaa4550f07fbfeada462123b29f611c39eb0721d9a2c0ff7150303d069e973433a2303f2fe8222b2a8c5bb390433360834824e063c55977d5f4b299ccb91d9f26d2c76454fbf67df4f1f46c5861f1ff51e78726f856b6e51c95765c2927bb4e9361d8c085f78a60d6a820f1d067cc08c9d8072aac6c7f538ee553af209b9b30ebf1b9c8993dbcf7c8e8f7cf60e34ea6d583f72db914df429caf35942f539a90a1d600067011bd87fd2d8b8a254fabef814a372dd41c6bea06d6283a76358487a44a24ec6d25f84cd7eefad46c56c4e54ea5f6afb833014438d6087a2fe6b0b0e1cfeef8c000b821c0f97d1a34c0b4d09322959d1737efd8ffd612284f6a937168055ba21c087ae2086dae6c48db0c8bb2da0722a82ce83d0750845d80e0bc5b8e2b2b6804483492727c0e7bb81a91d532e630de1adf04f13be6efa0648e12cfc81d0f822dcd6eded73217360c7ecb5f3903951cf122050266c75a94c07dd84c1f129a18f9794664313c5994524c6d0f76313729622430701259ba0c3505d8fb3cf49878cb240a72fe6e2af9aebc17cfff7f614c0b73ae1fc4d4a3728369cc865f3e41bebe32a04bb70f1c4aa2711488518c0724c569c2c61660b3152e9bb0932bcb1a62d4cdfbd5dde501a7c35045c5a34547240786fd42ea1939d28564357f967b4bd058255989a47afeb23efc7a81e54757294b11954ba836c3f2330ea9c4861eb25f0540f09b97339efebc43e66206eb73c068714eee28c5712c3d6feb7298af6a6a8e3113ccd7d3d1c243d13e8ca5903720999aaf8f902fe3d0fdaebfcb1bc339fa723facc7ba98d3b6f06486b2e0e9f72ee988dc71388dc40628d1859d8e87a53c4632b67700bfd930cfae648165bd67286c052b0237c88d7cf0a6b5c068c0093f2e298c59381b9e65ac47cc77ca2fd72888bd1808159a0beed1c33c2de25415223a5785f122cebe8e3b570e7e8ed43050b4726ad0c972acc83b67259d5512fae095d0abec7519a7cfc4fc3d6444d59655c0e27cabeb01c51b5ce45ac8e6b582cfb18327c8fcc97438da20124e184ea32609e07838dcb6acd615eceb1744c70d27e476a07f0cbe3e70684f8fc4d03507210994c5674263a88503090c7c04c6039bfd2ae64653e6b61a5faee4c6b7e6672a5badc19ea528f3de1168a6fca9ff27bc2165cb69fb4ae0b457fab6ac8350e72a3b565d655bc36d7c977f2787b7775ee82dee00f1b6fbd21117dd3e1284d1d72958ff8f9fdd4289db33e68daccd6a3c19e05d7e72eacc8088d9624c258ed8c721a7a63f4c07c06a9978b6f5c6f1affb2c7ea2e9daf95e03ab11aa6e23c358c729e1b56d81c5f51071e6f4a2a985db4ddfdb9c47086080001a0b9c746614b03728d1f3bba85d80d4cc4d587c61789936af67fff915958129ef50e40496c216147bcf613f6d89e53bd67a813c6f0cb9921e2ff1975c81dd8d9c5f8c16890e87672ad23c1c62b94e9515cfca3b9792a6eefbbb23fa3ce82c7c2219781f9575c882f7857eadab79527f8a3e05be75e2096e01d959cec1886910b927726bc5018cf72d9916136c842744210918c40e3709d9ec63caa7a16a2a95024e47a01a5f6da727da0ae58b61117e5d4e6217c23e8c36f0ddbc497159a499a7453261955d5ce728f10501769e03566c829f84853e3a772334aa5224cb6162c17e55e7638e1530ee1a02bce54f02a17525c1bc743953d602b5753e3dfa4c4336f808d508a1bad727334af70c8c2e350ea3ae38dd08354fbc1c618fee0d30bcd7f83d131ee1b01724128bb5edf3d6fd275b3e1b0ac1f1c102eb70d1a4452de5539d7212611796801bdd661f0224f2e4dfd6d67c438b69291bc3ddd77f2799ece9ee7fda9ce10f5729d3c7e2c11fa74236b49a3b0235f08847fab727378dc6b28011c09c30eee5105c5f30d326b2545093388aca35ab2b64274ab7bce1a6478435283b35552d4f928ed97d83778256111a3266133cfc3400f123d395dd2db8911ce7083d0e74cd6729799780fb7906341914f6ac6c9be0e450154352b347f0cda9b7c7eacaa87b144d9baabecfe66dceaf7ef472d62b37156f1e5c9b80b58009fe8a4e5e3191dcb727f97bde114d1730ce4966356312721336b2e0329b71ba586cc664bccf73008729086fde3a6d4c7646929edd4f1dfd98393667e8f4d5a73e6266264ae6ce40f66bb538baeff450221c7597ab5a92527506300f4c95cbbc90306c31e383bbdce492dd96497fa3a35c1879e7d9ccbdd7793946a81e639d8b337f38f02386f4c0941a911009a896507624faad0b62cec31ea09d4a48167cdfb0c4c2dac40d6af270587d5c524415e0c246b824214f0a8b14c02d1b269a4a23ee26a9446b4f9f68445923ece9adb03c4112e63f77e27743d19ebcee27b74a96badeff256c700b0954558f1a694cf660aed82a8f2ac57873795e5abd528491e40274e9c3997bbee2b33549ba59a0a01ce587d67cb7b4797fb42cb2e65f396ed2db9a7b05cc3996129724c1b94e3e0e8c59f8a9757f4e9613f145a3de7b5575f83644bdb52ef71ae2772f9d28d19da9a071e46a1166fa81620b6ea91bb6dec11c77d22676b04ea4cab2787c9dd3aafe12c5f788c5d8d2f45eeebe819757b47ca44312b19c28510a07a63d8c83bd59eaa0176544e909ed7ffb593fa0a8b812075b85818e66b718eec803da7e7b085d3a2f1aa6b3fee86368f4530763fc8a0c2b4429f18621aaa5d655f39bf15c01a76155dd86da2f7427f2a2e6c2d17de4ba28ba7220e8dab4f97debc726213b446a261564f6d508c7d5567549f144758f745e7f8320df8f13e1a501872b18f98c7111e91b90bc5d1f3d4e85ef408796e3620765fda7c4f65b5a9774215f6505d6fd77823c19652c03862e4b08bea5e14027990c97e5c008dbcb73a7550d9bb37063ec901946b67a79d67591b63cdeee67497a9e6b4d0bed65b508599723eb483ef804594cca7239f8f56761309d7ae309fa7832edc419c183fa95f6e72f345694899f20b6b705c24bc7047291f73bb74a33c0b9f4c7158d2416faa4e7239a027980be7096c313d7b469d9dc152022f69bb1ba4a1b654b758c390552867a9b2ceaa1436176f9fd01a9dea4093d20c4bc3bedc617ed02116ad78d58ed6722fe65b8819ccc75e459e288edc25bfb6b94b24a3361cea3ee74e72bec2227972989964137243a9e97de890738fddaef6018f70b5a17808fb889cd33c26995572fc0a313084e0cf9ae5a5cc152bdb7cb547803dd3fae036c9ffa835afefe040720f2659f6cf65e558d53a48eb17c3381a26dba3a67ccb2382ffd3e2b4b6236f26bd2d9340ae509be7164629b8befc68e3026bda165eaea914c8b8644c54d33d7209ab264bcbb3d87939230c24356d4f4bba20ea23d0415f4506669ef0aad45b72652493459cd7ac25268d8604cbf7ef686ab427da44c1d1a02e8f839aab2c2448868a8a6d3a228c5cc590f2eb658f5cee9cce4ddf1519f6c182cd7780dad91d13d42fb9d9a1966be7f6812ff66ae29f1b3ec562a12d5390c2fbe2adb5d2ce2572944325b2a6b3ed481140cbf5ef21de91166890f0e522482685dbb2616562f96608583dbcf1793ecb92d32bb31f82c80afa999f680be6ff6d3903541091fd1372268100419de8b4d2635cc6332577d9479d9d7e9f952f49fa3101632ffb5aac729a44166a34b5f837b7bd54a34d0b04c323f161bb44f8515ae5ba20ce636ddd372d14f81813126994e0e1ebfc897a608f19e7e7536a392b2e63c367f0197b4006bb373d483635316dc3cc8fa025e7691e2fd655afeec25ebcd4ec12dfa57d7f729fa77c94f08a32fe36fb64552fe8ab0b63130d56780b4587338b09f395fd9f722008105449c07db59d096a7cc81eb995735e35749253893738a7d9351aa399486cb4732d7f5db23303d0b787b2ed2c94a24bba8ed4c42461e8ca3884033fbb723bb956a87b52d5c021c769fd8e0410b83b4cd5e2dca3748f4e4efdcf465e0c72918d32cc946d406d0d400c0b00b7d2f9b01eb728be14263d34c562ac1a2171724ae58450916d5a38901e195c8c7a7489ed9f2cb6fbb9424e98d12e729b98f3727e1893e80c0092ceef5bea80f1bfae155fba824a35d067d0c9391c736b06d71d518d77757a986edde511572f677ed84538536f352631d65442d2ce86ff64d66c955de35885017ee2266b34b624757ac3b2dbb51b5df4eddd67a437c573804c7232064cefed6654cdb87d28a5702ce3043d83c645a1b8c96624a29ae2a6a8007223449b8a8784910d2339eb6d0a53bdc2cf41a94548fd754a86508b9446ab8c729ab0d691c7cc5f8c369d30a5d8112fc961019143223c6e41fa4cc0d6952ef707315d2e59db77eb835cac5fef0aa9568259d8a0eeba4503d00a62e6d6275f9172a8de1f2f5292ecaf2eb9af83f687b0d25a07f938a7918cf79bd65706a16b4460488f657dd4afcaa8d43e421242c86ff19274bdfa37f8df842910a47996124e7214aff2bef201eedb297d9a3f0c77d934655c11124778c4c679a930c52892856399fee643c9124e9c0f45a931277fdfedb394a7c51f5e38ddb356b632924ba8721408a9ee25504c8a767a19aa520c82d1d5d032192f63d63145925c188084d172062af963e5afd912fca5c8b87f6aabbe483dfa1f55b3782a679cdd12533670381d4debe96b8ea85a17273d2423057392ef805529473a15e4b073d5adab47ae7232cd57bc212d8b786b97c8e1f9d23bb0359a316a144038bda0446b765f6518723fd468292342cc417583ecebd510836f90277c033d6400d2dde08d40b5b581725953fc072c6a01abcd06394098743e82f72f44ae51c99a12cfdbe0376b801a72003ae7e71f67c920ea7d14f790c165fa9f54c90e97e6716a0b6edcc8f3078730d4193766484ad1608e7509787ff8892aa6378a41065ebce4278388589c98c572064df5b0cd9221fc6f6ab5cba90bb6e052339e6bc36015b5a720430e2d072e28dd5eaefb4501f52905dd48a4a7e7f00551572b4c33d3f7116229b90c70e37e7243640c75b03a1763f44c68fe16bfd9748a520fe4c1ac2d0fd3642eef6d58df6522506abad470a1f266ea77c777734b738604068fc230fbf8ce97e703ecb2de428f60ead418686f81112fd43f7c9faabeb43fec17fc6f75d042a0f5f55bf12e1f45e67d57941438ef34a07be35f261a258d71e1973a68942515502e89e6a87d22dded84a5df6e2705b6a83a7f4400ef7fe1a68210d9c9d8abc411650232874e72190971d300ab489a56ad6d4c5a459d665e21289506a4d06efad72e2886a37272ea7b2c8dea021ffc807b218a6a0a90d3e905d5d750c6da22cb3ffb973ee03972e61a110ef86cef73601db190831f095e62031ff76cc294f07a924440a059c872521e92592fbb8830c98f253da9084e3c6b427ed41bc4fe528de1bd2e3210a472a67f9ea087bfa6265e7b66657795cbf16d71d2b7ba341cc801777dcf84d76c6781e3a249d69b1aad135158eb88610338d195180aee490af905ce57bd3984871513ccdd5be4a679a0465db01f8f5ec1e7e3fa86c0c6ddcd16a12a60ad53cbbd72fee233b9cb813b8396971873e068e99c6b844d0b74509daf59fb51ce85dc1e34331a2c9754927233305860d010a6621da01434efa19074a43e1197abfe7d9240415f42e16a26ab6be6d57da3ad62e092b9684841e2f9a60c101f1a48513cf61668171f6f1d0fda4835831e83c5ce3daff17c6012abd3ba180feb518092aee228288729d87c544f4812036b0b1b9d53a0302fe295b6ba633505ec4b25ae0eb4728bd657edc83234b0a38734847af0134581f2042aa41ba845575f2a83286e9c14c4b9d65bdada6651ce7919ec4261119983b25208e6bfa9d335d1c7f1c3dbc072ed23867bc79b27847af649ef8b99530355f76b682e76668bb25fcb2897572072252cc149946b2c1a921ffdef9cc645a095858daebb179071f66482943413a0720886c5dc58abc4e61f4284708c42af94854a16bf06026c55f38d7577513c4972d893ca656a94dd393bcdcd86d5bce2e58261d8e2c4b447c8d27ba2e00316435cbe2035299ef5b788559380182142da8004a46ca77c7c576c73d88b6b6ad42d7279d760bc38546adf404719f1d23f0b786e537475ee431364fb75b3d81f3266475145028831c1aceeb0df186396bcd563476f804de8369afdb1771eabeb4dd80f79e8edc6dbf30007d15bca7d576c4f25b570f8052d0ae1599bfb1d3b8c90ad72d16270907169fe0a5ab594b54c136a66dec3e9e2fa58e5924427f7ede671fa2deff392ea130562b00f2807c787a5b4ac5a392d4b5703166623e3f745ce6124650b9679bc3e4dde15f306d1256798bf0bc9a3ee3346cdb51dd3e309fd8ad4d4286dd28c07f25a160289da7b9eca8ba15c0f144472ad4da0b5284f5847bf8353722071322ccddc52f1b180e081eba0337419a0570a18df12669c5bf83a32490372c9542492a04dbcb2eda2ecf86a45e757944a2877733493a153014aae7703b872913df913fbfd2918856fadd0a60f03760d38acf1161ece88466dd6f036fe247230e616fa964c7ada44bff16dc4420598482ebd3c7b058dfaaa42760eee1044355b4b95480206da143dbd9b2d1409879388c8f6668bdf92e73ee6d674d249534869b90b6e492adc2cbdf61675a0b820496d76a034c5737666c3b6aca2b41a80721f4a1d526dfcce8b16097ad640ec7a67511f6fed64e70f417ca767c0a909d46aa83bb69baf9d09f47efd28da065fdf33840031a030578dbff05372bf0e6f283a6d147989b682457bbd1522ad26b2a834a7b3c09e6cd0262649a7379d0b352472ed851deb835b6ab7c73396e756d4d424a6b807243f9f71af46aa677fd3c39972a7a74e94401ac0407723e92583c1c899b7416ea4f99fe68d393edb1fa644917290f9459f73a0ce80588cc1222fab84d2bfc8c4c297ac38c6b728e895fe2afe440265230908eaf1b01601b2781ead7b31030d5318b87e53df9e42b9db459b0672ad876ee7c27adc976f5cd0c9ff17912dfdce78d21ae1fc9f02516d12c8110b72f568a5c01d7898433430312b9a7ab2adbb55d6d2e13b005a6d17ff0d7bd9e05b7dbea030e916bc1ee11d5e15d5140b0804e0631f254c938a9386ae5d9b414d1ac0fe124d6fa79093495606c769d9cde7cc975e7adb99a052c617356ef0f7b3336a63105ac3eda8b82f27a853b9e63652ac9dd8ca85a1c7aaad85962d7c6be572ffcb6a98d2e75ba613ed48ad1fa32f920ecd7a9fb25715196da097295842e9723545b85563cd55ebbc4e355a098162ea4305b5a4f0d7e29b5e8ac0bbd598a4308f6588e3b2ad3bc9ff5493a17ab8b7463fd9babad1f8b4ffd7a46335bbb2c772a22fb41dc28c00125b6f7d7608d3b9cefb26a179046e077f2a9016eb22e361726617c908b082edb893d635eaf8746b58da07c98d7326ff18433850bffdd6c072c102386ecf61409582b13d4db09de3990abe5837c56de7f4d1e6e46c83f90572885c87d434b93d553c5b9cf7479f4b81649ab26255c6e3446466ef1be0437072dc4a7fa83c163724c04a94155f24974b2684555f90246d58671549976e996272fe8d973d95d2869461e4485dc94bdab22b454b4d5aa838b3942030514c77fc722d12dc35e5e6a1aeb6e3af61e9530aa60a12d64ac1d849e064b1a1da397632728879f2290b60cb9a311230dc775c7636f830e4616462fe1980d4a285909e5a6a6307d2337d4abce4bdd122e7eaff404383285337d5c44b9d0904204bb83d7672a67b03e9cc5491de920db39c9d8fb8ad733f16094bbb3c25e685cbd4a629372f8323055fcd06cc35fa8c6b0315576b17f6b1c27942865d0c08ef8e599d2a135073a2a1105520e5a4b043682cac0c156e8ee53c0a038a9c6776fcefdbd7471772ee17fd807d12cba5725574681a10bcea1ab85b23a13eab57ba9024d8a6027f2162c0f1741115640b993bb5b98b5a46bb9e3d694018c25d3e7c26e2d2b4c9c8729f4b68d44c8001d4978fdf6243ed404d0e0fafd5aec0fa5fa0625830ac300c10df66d3a0a2df418753d011f51261062641b2cb366b570c4996600db8d092b372d942fc35cd41c428fd6fdb3a4e58780cb84d24cec251345745e37408d3f3a666913b991f6d556550353f6ae9e21e69fcce298dd8864b95bf0c3caa03ec69697242f4ea0db58a8ef33ea27dac48e9e68f9a5757ca8cfc3b3aea85df8757735a688b15ecbd901ea9721616f5fcd99e4c51d9e2c4c4e7e9b66633fcfb7333cdd7725cccf391f05424e661dd3e8c781d5cffca991857c6cd07d473dddeeb471f7204f44d54d4bbd6ac2236e99308c2a2d684aa03d3dc530edcce411dbc63d8331f728581a3d03ab32ab30c4391123a7282fd160588f750e0a6725a84f7f528def911f528b0cbbc74248c2ff95c060064f8e80d4a486b8562347039d7b99c113477644c4f12120bcd3c01ece26850ec481b62fb71a45b065df52f39d9ee6127f6243ab0dd7ed49ee55f0a8eb31cb150a2d4711f7aee18e401a73c9ad0cb8e35053e72fc09cb22575d42a4dca0ef414323947629cd9c3587378d1657531f3dc9862672065c11196c27685be5da4b801020fe750a8a69ea26e0b03298052aa619fe8d55bf82ace7f066f2942e4d019fd90901706ab5984f0de04620ac4f7bfcaf27305d6bd4f5f7471e16abddd91ad0836fc04e3fee74345ef1098dd0fe3359308d076bda51d5a7ef67d8a30705ddbf3a70b0e52b8deba58621cc78836e192450599772bcf199ac682fc8176ff6810bf8d9b20a3e2d1fc3d938aaa53a070eebf23767075bc23df4fc16e71b77c878c896a63ac4bda0d784641d8777c2957796d775ce300c207dac6e2722665a3922681bc943cbf66632341a8d8c9edab7fb67a8064e46fd6b0c319342cb05778fa6320013b650f927d8a719e8ef1f4aeb6514f1761a525c7f10dc556573325dcccd25bfa8ca6ff7f446ea3ddce6118fad011876e2303f07b40fb50a4e50a0ba7ca4b12301158a1fcafbd3d414f386fdcbf8659d2e2b4c477d9d5ce5f43e838074a8c59a7202fe6ee8054fabad9530fc48546067e8b562fe42163b68ace46fb5ace124f7ec7f6443afa2969e90e842e455fee164662b528940578a38f4b8544ab854b9f5a1bbcfac2ec730a723faa5bbc2d62feab1c223065d3c8189afa5d0131f531ff103cb02e125d155ee95a56718b361a5e365694b6245040cc07b80195a25e43ffc6433eb91dc2dac34aebef8d3b3218795ec10724aec0f04b933c6dadf26873de5d420ce9cc732fb57112475a950e62df6af797224e43961c86e4f1cf6d1e225f22f71c98185a08615b424047499f83081bf1344d26faed1c62c74672432ddc6e5aac7c9e4f0caf2882bd9f032c1ab80354d0644d2e82797f3f7927b29377b72fc85cfe2ef1aed60025a09834b3b22f3b5eeb672a8d074944cf2908235786e1402943b78e8e8100325e0fb6fe9c64648f36edf6ae750057370e10fc27012e7484d777880a3c5b06d84ae76d264e7206783832d30881ac00fa2b3d65a65c8b5e05ea14b560cba48a94ed90996bd110eae1f3fb172ebe5a5e52af193a9d1a26cf0e4fc1fb2c689d0da1d8f72f992708492663981720998fd6f34a67ce80ab99a47dd05cde4285fd14d6fea701a6141c948c4f3460be9f5cec8dd3e3227e8b2870662f35289e87c43fa33b6225f3184d63a44730c3b285019753ce6d084e369be62f0bfcb8afa1c20c14af49d565e6c0202b36c524e623f0b619a571471143e8d1619016e39db0fe8a0955ce828f6478559684731725240028ed3c443d59f79f6e0a0e78b399381d9c4632f5fcafc7496b49d42722be41d189af2754db5aab5dcb1423af44055b023869eb9fe958b827dbcb95c103caf6711cd3a6b47817b039289dfb76cbd8a71d583d391d4fd918f2bcebd2c15720111e4da7212d49277c27f34e231ad1b5d01146f4eaca8bc6a24f4cd4509201760d7d9adf80e1b2cc5bac0ce86ca2f1586007018e172904e0ee9bfb172cc8f728a206a0af66f9dd246f74915a1eb4c40ce828812e8a1f76f10986412cc13b272fc36bf6eac83723918d33fcdd090b55aa87a94b472b186aa0b0ce49cb95c7172f6b4ff3163f73075c758185e4d48e124160f2b55fdcd42747279a8d59f3dab38527bb12017d09c44cd645c7676a0107a5e745d89a174d9146bee529523c68672c9c36b5d29f7154a25a4475f9f6533e71d4394accac334d1b853f25cdba852724ac45f6e6b2e51859aa9588b1221c14d484c452189c608739b80d0e984d6d87239e96b4b8b0e5c25c14ac6a8c7ee66a89143470d509b744157e862ee7ed03c714e3a431e253ec0935d0c0673f23100bdff267d53ff7784f401beb3e6585ef7725b3e3795a14feb8defeacbd04cb27a218ff62da76d34dcd3b732c1ff8873907221c7f98338f80fb44dada2d0ce94fa3f0fce74329b7c8d47f57943674f17dc4e085a5118515e29fb89397b579d452d32ceed6e640f29a150c5cad5bafeb27972a24ef07a6ac3c587042a7fdc973fea49d49f9880935074174285deef7ebd3f72ce5c23c36951686956f20fb6bc05035030e0ef20a46c8dff3c05d07ea1fc215e7a1be7d850a3e21a9eb4305fd3edb7ca4550ef81c5589414453fa33854527f724c985b6ae49d728065cd3a3c8f9af83af219e1b220d2595dd4a25cbf1fd91b726c37d44277726f6bfcf964bfc2580bb0868ba0df869f9a6525f2b3dcd1a26e482930154d0bed8749aed6249b77628bf7898c71694a43f7e1625c2dd4eb0e775e3e5c64f6b7e9b8d51a1a53e8c7d43b65ad028b9ce51f41330e9c68cbdbf86f21f5e7962699ffdb231795e62c5872ddfdfdc524d36a13f4d43902efbb84a4194db186b3bc3725204f626cec6f19abe8a3b76c3864a06636acdb7503c4706ebc72ad0f87e5034b7ab1fd5893762337300fdc6f23a50e01493ebbd13f6e176d80453dd22d340ac14953e49c969ff9b0405d1787f695bcbc2852d788137cae41a8723f2c3fabacbc4abb004a10fea36a6253da0eb64fafc5ebcfc18c7281f53bb3722abd36eaab4a55428cdb60a649e6ea467b5534429b0a4458ab626cfbb4a93c7206dcc8d27eb40562bf3cd261e5a05c0cd74d1318c102d166ca37e733297bb472666dffb083f726f43562d775ae70292ff71b8e008e57b979fae73f19f10cc472d63cc22c29f2571eb9a6bbe9eb84efaee1244536d73df5e87e809692bda47172e418ef0b5a5ff4fa5f4aac7fc5124b9f1b826c71935d585ad8b87f0add802c720ac7615ba185561b089489160021a8c68664bed3f2e541dd96554a6bd46d8872c17635dd117d461ab0c36946567dee210a043475bc0d9696a2a268f94bd31172cb46dbfbff4a635f57811dc8d72a47d1cc1c8c8cabf7f7ce362737878a5889723de4d1dc5d2ff1e9da439f691803df04703283aac2cfb8dcb7e674f9272d0c0d100b05eba4bdf7898edf59e7e132b0a30f1ba5cc8984050a5ceef7faf5198b725403e240499dafccd7046fdc43379ebd69fd61c378a02c059dd2c799ce3f21640017ad8d1fac0e1afae5a1d6ee721094ee2c6744d50714db6cbc0390a0c56c72dddce70b26a4d128a361a503187f325f25a7bba50a0a0f1e16c3b94b82648272ad7590e26691af323477a4de55f017469d38ea79e9d8f0955c4d25263c98a5036d7c94c92466eb449aa6ab8d93222450632a2616394dda3a68aee117a5abe75478b88a82ab9cc037543b523cb63db0ceac451c90913dff5f392ec455d7ffef72b37e2ab4427a901c6d98d1e4d6a7072ba3b80592bc8814f1f42d132f87d92972439eda53605c85ef0d6ce523193fc3c2c17a107e48df69b2942f77f0ab3bf54108e45c9a404b3bb329dfc2e2506c29a70b68358c55b7dc03aed6e9132575cb72cf8fdfdf68d2fae1a9261c08fe59846a7af91bb4446d427eceabdd0c7963362603703ec29af0ec159c0c4aec198b4d26a994a28601be112fd9e9cb20dfa2cf173c72367164e67c09a16e016713a350e559f696475e661c16ed3bdbbcee2f3d72dff65ce0611674a3d894cdbcc11028c438a63591e3ed88eccc4a98b33f956d72354270d5a75f61f9de5d66caf4d280d585ca4e8e67a5f3bc720a3e3254fe2c53940bde41a87b5d09f76fffb3e120862cfe99e5636246a48867bd16a57a3ed472546fade829d9b08a5c62fbb87c7bd7e0ff31e0bc1231b137cc2e8e795c5301722f43dca09e82a6df4360c8557e4ebd36e80a711c41382e7a9362cee49fac2b727bc959c56f4104884473581286cea40502d0a6cff0980ea6843c707475aaeb7271e9b99526dde3aec7f628ec48fd33170da63922ab746e18648a22e37ea1a46f2b8cc110003e991a6d557cd4af6ec27a0d7bcc034a112dcae2e0f4dc51cf6e72576f4653edd7202f6fba103e32fdd9c9cdbce13b1439743132f0c4c1d28eca72f91cfbbdf3c43068102d280321034f876ff135690a62bfd38d231839c8449472de82410adf59cd293d2279f32e0686a90c1a26fd8612e5159f530e3dd35165245d0229ed3401b38dd818521da375dcc6295dc4875748a82f2cab3f8cada53403cf835c2ad52512d527463a6667743fc70c5cb43db98cdf123b72d6fe294c927236e124ac06f8157c4baf5ab009be13a93dc9ab8fcbe3346269dd21cbbc8e614220b468bf8c2dcab35f94b4f035e675b079eae83d2774f6fb08b7d0deb948c63927447ba50125431151d304a03de33717e55d5a2dce5f7298621dab05467d137290c70385b40af879b6479b8efccf16fbbc08d16138790ea7661a79413a00587296c0a468c1f5d5d26797f2b986dfb5e01cc42b3a0b40a3431e61d325b3cf9372d8e9483333e229da259d96215286f10f00220f092f80df59c7fe80877d57b1228fda9415d97ff92a28288be42aa6a9519b62b6004fa010583764c3291ab36134e4081f7b2723fb6082735bcf10dbaa9fa461174051ca9a3bf8085c339283147245ff382789e291e4c32c4b7042682b3dc26e9d8789f126ce9cb4e06ebff89672f6ce71df5dcb5cc1d8ba4bc4f2c884fc2eacfed7599d86e284bfeca9afb8e600a9f6dfbff6abeba91dab017b657a94ad3e852ee83c0274f9ac7f43cdda1ed772ad8229491209c18cad88192d87e0fc3d0b6dffc8a513b0e4f64873a93ec0dd19e98a7f8c31c76151a183e80ebb4cd547a1bddecf7cef10f68bb0f4f098e490727841630ffd483314fd7549dd3679b1c68b3ef7a4199b19f33a8e05d2a7e99a303ec9606a3200e9dff8430869ce6e8ba32fa75cb201355c9f296c3e812fabba70767a4c3ca4c6d2d535bc2ae2efeb5ff92dd0e67b21048228ecb101b8f6c8ca7260f81196a32220704060cbdadb91d9c5f89e1efd90d15516b5e815dee3c580724040c6897a6816399c7a39c8ae82b5dffb6536ce5fcd49f264d420162b21012aa3b3e869b87ba42a72ecaacf7f1c27d754fb2c988d0fcef1c14788e454339a7270cba9520588e8b7bcb98b11d41c4ce251ba16d728626b2c1c535d877304ec08a8476937d36c3c4bd533bbfb928fa6f7d587811fa996a3e7bac615820b47ec7264bf2e1fd5609752481093b9f5b3b55b39974c310430af5b2b3362db7998f9202e8f8653eaed9f9970b8c2571db974d3ae1cc955d455b2e7f655401def76ab72df6991d4bc418421984307800b11769a14d9593e22c465cb24ce372661f6617231b12f1086ac45813fd17d81c77a1b41c08922bee2b0e5bd89b49ba79b82a90782694b0a80f61f93d6ad20629165c72baac2d79a59b81f0ce4228ac16e53b63b5422ecbf1bafac7225587b15f7bfd7eabd062f95c6d19c572a7da4a43410c3729b5dda9a044f2b66391276c5c83cc2dba0549ade615a6705200ebf469769044b4f56f495882ba0445928cf5d0b9022cdbc4b8f63d549e6c9f37a860ca35dc972ab4674229236a15e5644cd82c5a1238d588ef9fdd0ba154d0381d18df4117372c71604f3af6fa41f002b3578c90ccf72570a1d58cd77eac7b5925ce5839a321e9ab3404005d9bbb6fdc42d7fc215e7f8902b552a6eff60906624f76caeaefa7231bde416e5003a4d361081e03b779fd605a4b1f41a0f1d83af1622bab8023772644a80baa1f71a6bc41127384a5b04e069f1b681e9872a21da3b9c60f7751172c09fb5b97e2cc89620a01a0101259f4499545eece5fe0d908323c3245728bc72ae683b0c23b6defdfbacf69e1b97c62b5bb6a1618efafb276e79bf783ecdcd7232c674237c6e3f6a8f0f049bd06674db7277fd787a522902d746882699b86072fc38ca759f4ab40f1df6946d22536a29ac0bea3b5e407965c09175b13e691818950b6842b17e14a3ba80f44ae57508de8064c14402d7223e761c2a7bbfc87272c959c7f316e042b3bb331402d52039cf8f2769428f7900b1612b37f70ef955254e72781b3db0bfd87ba044bf29db170e5f8b9dd010440934dca518da96c059727e50422d467707fc2ff223ef62eaf266cc79c2b8be6dfe3d066a3e702f599c151816fce97b094cfbe13e0fcb72f5e7a83e2a2c7328edfdea7f060e59ba101572ad5802e058549ae49ed02a309fe74c2cfe095c41299056675a7220cc7ef075722b7a40ce9e77bd361088dc6143e1208097dd0965905466e9cdcaa00ee68e0572b42843b9b8748cb0976029535bb9b91669db531ebf41929836b2f2c65fd81f7238b9b34ed3fe06d9262858448242759f2b366540d67698c67f6bb55e5878d7614776f78631ef81167e2a11507c77184af602999e0bff01e1cc750e5c6437e872d916ebfc4007520d89d11afaed4a218ae6c276158636f5d261189be1adec9a72bc6ee3d37896f48f3b80c2a3a514dd290b259442a036d182100f6532da0100724541464fb1e8cb6b5622a01c10378df01e1085d8b73a2fca63b7304c6cd7621ce0c9cecca77e3e0d545861d87c7c0f35bcf484bb0aa9cfd5cebd80271e6c4372bd8c37034c6af02cd1e83d34a112d998cb924fada0fb9c41aed4aa5d3b9c3072709fec97d24a140989aa4082a3abaa005f33ec43fb52b7992e3e629148f4932e0b1a2fb27da4d8a63913d7d6b705f4be4352f78becebcadb08ddb3ba840fe8724e44ff56aca9a5c2ded4b6a75307bfeab061eaeec32391ce3bf310121edd84724a14e49c60d195d3079d251c7476513f3eaf53af229e3a5e4cd8d03684a4e91ef45ebf967666c82310704a37f66c517116580dbf6e37fd650c2d10549d604d7255da4c70391988a2911d0f9a3ed0bbf06bba6cc807946c1d4027b0de022416722d505f9ab89a6ee1ea1eb4c2d6ec57d888bd1743adfcf059b63ba3896e716372447fad8a0cff8c53c155f5668d8434fa1c40a405486efa5e9c503526c66d65726e79662a69f4846e76c6a243467515afc9fc7a3d7274ed7922e0422ed3a220652687576ebaacecc89d29186db01edefd55055bcc4be49bb43175f784226b9d45b298b9e42080a0c7008358ea658028c3f46c1bf9e10a99391eaaae6c8a957e72e080b6a0949de450508785fe60aa5fd2a9404bb7254451e3024e6c80429ed32381c35f439c25764cc9190ef7e06765f304cc353970eff74d627f561b8539bd7208f5e7d7be8fec26d602364e474241a7444f14145cd3f8f95115ccdf3a814372d869b62de75ef6c8ee039423c7a690a0482290a6f8a5ddfd3b63a751e34ba91e83859c21c36c58746073eb65d732a31cad859654d6c2cc1551acf605dcab1c72100d639615a8205f6e7d03b3adddd15a72e32e22552a33638b23ac8e0b33ae72bb5d98ed5101c692dd9903a69a02d6993a8a08c488be8d55bfdee6c7492c0f5c695ba5f0ef9c4859373aba8355dcef1c929ba42951aa87886a7cfb79dc8f367289c92f4094f86910ab4d6602239341c924bbe1a28836f9656e5b01fbc2b18172cca1a293fdfe96008551a0ae5e205aa0bb555caaa4871a16434f033b82c5cb72bd2f3e8ee489dcd4ac20410fed8fddb3a23b7c893551e1e4e9a59408255f3572405f6274293ed8b60d0c2a500f873e85fd9cd5f76308e5a73a1189283c5dcf72a0c267ff9c9f2bf8499e4ed349b1c8872d665334f8b60fe75cde98d1f29d8f06d1e4fd4a24af574111de02609365d5f0a7e90737213493c191bea81ae2331f724aef82473fef1cb6ec1b8a022676744a8298c6f352f2111acde7e0ca7a553742cf1de95260eca2a4c81f3e0e40eb9268f2bc1bbca7f53e488bc985e1f722ef7243eda213d2ade5a9f8a46f0d5143f72eea532d95fd7846092ea53e6bd2ecbb72dda691a9c495725effdea6b07ed395baae002de5a6b01321d36926d2fac96a7277222fe9bcae0abc8a3629bba33a5e74ccfa31f507e4270b8cef7fade4b4a94947012a0b7bfe55a0a1ac83666d96ddf0f615c5a57aa7113c9ba42807f93da77222da92df2c03e559c2bbdba997a389bbaeb93185c919c477ad7fc5f4231b9872e04c9f9b3b072b389913bffb78a14204c978a715befc401029f991bbed0a672bad7a9647dd9dd31ac40282e7f8fca76a4e0e27423c30dfcd607138c039dd9e720fdaef30e0ba10585a77ae92ccc1f5ae54d1ce81da109f56d3dc1ab138cc962856dc76df83c1d4582d972f1412ac0fbc409df2ed238efdd2e8daa6d28eb0b9688b730c25bf391ada71f9e4d423cf65b63ce4174f3a6e4a67a7ea71e8ce5b28100c26e0c7246e6527314406b11208dcc125aa937f2ee7bae224b50ce967e81d3ede4afa9f6a46738337b969bb374f9ed1e48146bad6b854f67dc6f3c293b5826559fd2c8db27c135e1ce736697a4882c0b6a65edd364329d538e37add695e930c17735a0dd11357c423af0b398277ef59e9a6bf78f9af3481c0e6efb2ae17027204d50c6925a4510f2b4aec891dba0dfdc05b37964535bd3de64a3873bdc5cd15b12359329e340a2e4baeb1fbbd4022f54d42910c77623b4932dfcc887a32f17204ca7990bc8906c51ac25e42193efc7df3fbec7d9789354320c2753d84a435721488697b35e39eb604bacdcab3f4e36f2dce86435f39fdba90c53247c0017872d0243309d96f8197a0dd30f2747aea57125cac11c2dbdb717d4210b1a5d44f0b2f403222fb812aec289cddbc1c943ee4c96bf9ba7f1b6d80beb06897b061f2005907c2b59b58be2f00de6d9fd7c956dc8b81695ad9eb86222f88aa97bd411a72424a06eb327bc95a1a328d0e191437c70e413cc904d11f583ce6938a547d28389e8b1540b973fdc85749db87824ed32e7c9b76de8c38725767b93422c5cd28722498e4676dc7fb0ac76f13a34786c13369df02ca9eb7d5170043ba4391fee211cea2ddcb135dd420453306a8a13a70644c62d48cb1f3cdabfe6f98a63ea944720c3888ca322731a5db8427d691b987c3bc3ff6ae74c9794b9fd7f7bab52d70723f58913dd37ab80566fbdb5555b6906c34d50bc073e561a8e54da9dcbb5eb2727521bb0009f1c9a2d116cbc006cec73adf8accb5f3e957e48daa399497baa172f0aab43f1d44a39ba3a69ecfc6c65e35f2246257ccdc52dfccecb38db12ce5729ed85962138be556f9e85dbab947e8b98a94fe38ed486f3b5254f8e1e8177f72a7e0dab5bb760e58d7ede33558b33732cda0b8e11536207b999e34c91959a97252cbd38134ebb45a8ed1e9e56ddec15fcddc5672ae404cd0c8e11c8514a9e64d03741e61272282367f24b4b296eecccaad189ba078182f9b0c872b30255d4872c78e36a2d54bfbb5b6debd263a2b6fcda396e0e98748c6c1003d28ca1a51f572072afea55413519e7414c36a67e38305488d4dbbb3fd9aad4d6d87ea84264d724df286c1835c47967d83e83e0d30c7d93483da7073eec09a98dc5e855005c572fa38020f1b2421e1cdfa5dc15eab7617b7ce59490f74b711eec63427f8352872ab89faaf0880bc9cd80b5f8dc08b75727730db49248333c6efc83f50c3165455683fb143bef4357ab14323fe2194e9503bc0393c656c73fe0bd7b326dfbefc724d552808810c6bb9c75735953ac27ce41afc46687d21eb8f528e824d658361722bfffa1427808721e477fb1e2a7a06043a49b43e0339c6aba2c7b629b3e5df721d4cc9202863a4efbdda66bdbf8d7013425279099efd173ff87290cff076826c4d7bad85e29889ba3758b675ac5e2037718fb4c74ed7824b2ba0f7275f8f837204f4bddd247ad8111d44e8b0905400a117af505b297ffa497c46c32902a51f4cb1788c3848411b651ad3975744fe98cca123c121136e8d43751bb29091b7db67f938bd91dc8af2ccd497628d6c604f6a4bdd8bd94d3831e7fd246dfaf0084272b3ea306183bbfaa1b94e1d6f0e7db977a539de91282378a4cd8a57c9d780f772bff3821baef3f97fee9f10075dab5d0948586e2bde00b4886eaeaf7aef8be6728bfc5c845765c54ddce911a21472986d7746f726410172cc2404cdc4d2db8272eb52bd8bf2133e36fe5e4327817497e6e53a498f7c16438ecdbef3bd77ed5672d567e66fa9c2024a4b9754094fcb73d01885a754a6c236596c61961417d8bc726abfd577ff1eaa8cf5f803e9972ba9ccc0749a658f90572afd59be4ccc12f0728a6bf1ce7e1092db88d9e274a7096b51c76f4b46a240f392da988e3e7ec369727101e796b684e0599840d7c5ab1e70a158312b4fe31eb59467a3215a9995c8728f9135723f6dc80430ad5891c78d68a989f70e0200c14e6a2f5bc4f038913b72d9bb39095c38599baf39ed3d602d0927a4e31b72086f5ef3c7fcb06d4a1ada72f83b0f1f99e4d47bdf42b4184c9a12b8ba0afde7659d8a7c5070c2553a44355b5c32e340f31f8ba329599e48866a7dff483ec460b822f9bba70f25435485363598b699c3ebfc06f816b4dd400c8e58dc91657f5fab50d34b8773e05d24de1172e83cd95bf502db1aa728f3c4562b6d0e3c430c95fbc26ba97e8d07f9f782597261846879eb837126add0d257b647f8425b52058f96530ad27724087031a82672c0cd6cf6683b3bbc38754270fa5a3d1fb97696c35d73ca37f93c451971e3266583eecb170b82d48d791501038bb895092d9dfa0371c70dc48a0733d44e906d7230b8d733ce1556c33a8756a8f579c100a34468a6f438152b83d353c5b8b6ae72991c517b8824a9bac86791fa2f7eee41dd74871ce1b4bd79d43b95495690ff72ec9f990cb28d412645d02756bcebbe28405067db0a77e91a720a5aaf035ac61a547b5b7f356c45cc3f95c08a72cc05d4f6fd2520719e0f8f33eab69ed84fb5310cbfc5387ed7e9404d554dd79d7f8a8823a9b0b3a7205170aaa4e9edb9c842349ffa52ddad171b7c15a6df5ebeb93b6f37a45430634f60f92bdb3f9d20ceb27234f314c3b452f04d74e78c97f35ff964f0b1a7bf1af72d6f1f0d60bcf81fb572a620c0613cd3f6ed622ea8fb723ff4c2421a5b6bfbb03ac401d4c71245084272a8e0fb4bc3ec19d13b3050d97ad45e6a0e5b6273a85e40c64e60a3e038622b720f6a065468fb21f20220373e2ef014f16b8474ae55db65deb211e8b7d74229694aad28569b32fe6bda0e0f8da5baf141aa3e0616017da13f05d763bac5eddc723d8f8f1c3b58791a49d7d28f860b00c4815b3a810d0d0a807a3b4cefd4406157086ee521537d9e8e60182f0be08509ab6801d5b003682022bfd742cdebba4f0180b522cfc2682695bff15c254c6cc313ae9b2f085f37bb488182ffedb34fd7720d91384a647ff4c14656cdcb0d9b9a30affacfdb590748fc71bb6b114e956e7200bc257383d25ca8f839c93adc80aac37a972bdcbb1fe8005641d4bc6f7bed7221b7d40b30d00778c0902ec2546acea3718b872e37514cb5a896211487476a04a7e57f3a4349a2feb70bf88731d44356dbe26599bb1c0a90ea6a6a81f8552a72dcae016f3430a90f23cbce44632d44b5ceeb7d5ba55066421ac3b33c2dd7c35ed902f8662ac6dce59388f794979fca521ac33ec6d9e871df23260815e4549e7250f3227d6663d85a2cebad2a0421268b2f4e0355893e307bc584203a4efa60097c45717f902907da3c667007b2669864431c379d7a3c1801f223fee996536920d23a452bd73bf5f7005ac1987c7c82eb79c4204a870f4c1aac8f89ec1113b50b2236a5d801033f56725f41edb8757fa8329502bd940b96887f169a66f5b3c972dadd174cb5a5982b6a3890de3cad65ebfaaf40abc2de024a9dbf0ec9bca0bb7285f5e035de459002eccbec282e04c71da8d992ac29dc03c607af645a5dbaaa2bc91b35f5a98719fb78d4b7e65115465c01edfa53fb6e37123c77677d6ec8c52626838baaa2e97afa119f217b9ada919180f2ece42d460f7c3a355515626b953a938de7fc0d7c6f14145970abf4e9919e833306e7e16d6558ba480ffd66bbc17251fc70c84e41de6baeeccf99152bf83ac244f32d300d39da72a78cd2dfe23557c301e929e7048ad54b218d9644ae9862f27cc3b064bb80d8d3ea9d2ac0bccc72dc0da1ad75923b7e44765c3cf77eb3f81dba61be2755106c2706e16f40cfcb7214bb79208c318b2190f45984e8d0364899768729ac169ecdf48d4b979f7626721a5a2f724da35ab15861bfa86c6c617d52bfa215c8e7d5ba10ad9a5ee124ef72997b7ba1e5642bd38f5615bb554ade8196c4101ce409c480c8ea52cf7483e272d2e43380e6e7bcf290ae6a6ae917e62d2845b7299a511034ab8dbdad9aea1b722e8959977ce6ae94db18810077d10baa020701dc48a35e7a0d5ee58e0702076a9a895907c48ed1cb44ff22086a7c4c35746880186d07645f4f98ae9c0a5cca2f33f2c18a6de9ff00ffa84acde2346a5a1f382ec93569b7ffc43fb3cdc5e37172612fa2d223e9ffca220f0ca5ff8358e462ed0e4903ae1766c743e80f9f5dbf721be2e9101a1e728e5133202c35fcabfa41be1b29b9fe1690f81ccb7107a140720c9d295bba72d83ef86f9e259a4c6588a5917d67bd817c038c38c2e9c89cee700aa6a36a6eba133cd2a9c147f635550208b86238220e36e852dc9a481955567281afea125657c4e61ae00afcaa144cedb2c26eba555c00bdf655d2e06566c25f9b9b07eaa522d79cc2443b4e5ebb9fe9f0db342ecd49d9694133d1347946a7472835205eb4e5c0631e51478ccdcfe48e0d54730afee3a7cfd8eed1e10c9e0172acdb559f2933a83c1d767646d2979ed99684a8a935ad4dd9fae057957ee9e3725861e752268058298b436da335a241f4d165cc58f28320d1a53f46937cd1c7722785450254e9af9f9639c9145c0f6cee744ed53d320500d611a32a8755d32a2d67547e0640ca500c457d70524362d3a877080e14ed7b249fcc157a8b18168155b9334d72e678d6d0c914dd87eba99a8007be72fd85f0a6f13b02da1699080f726a3c08fe7a85d529d11dc8cf7fd82c83df10a801fa7c974d1c57ed7bce242c40918f01f7e043d130c34b9396ac6a55420fc09177c27c736a1cab8d70a88e02729a791fba1878af44d056107cf2d846303894031b6863ab84e5a00374f5d11a11d63310c44472b75ecf80972d8167f21739a2ebb23eb84319bf1ce616ca17af0d20a3ae36f19cf81927e8342a8049624bab421814ea88aa44616434396cdb9772ff202c3de0410d8a8a63ef8e420ecf0573009ba3c2cdd1512c3e2dbe366680292a1cb1679adf5342b448a5df2ac8ac543077c97156401eae278b909493729c72d6722478f25c3e2ff6380ef5c2138a4ece1c0dd8631ee987619b51582aa63c72e9c6f05e9048f176b7f5de2c198d134fc50be2e694a0d5d385e75b419b75ea72cfbdaa22b858a21526ef1adaed356bd062b2375df2f3c4b0f16c0e292ab8dd7295874d1f84864e68d129e021e39e4462180596403d09405d00827b12c88aa90809bbeb56b0a3485ead873a59973f8faa110b208fd3290eda190231a68e8574638d2a0ebc465f0fbf85b111a252326e24d82317253fccf9d8f8407eb0d9dd5372e572e84e5376a1aecf2abe073fab121d891129072af946e998f345e9e064fc72ea696882f2ad220799fd7720607edf41e1c0a7b2d947274b9eb4e0fb675c8b7270b7f4c64442171d3d21fa69688e62d6a90e1172ffd9cf3262de84f5f98e3533c7883f5e812d1b6f41f868a4405c39d4fc37326583ff72bea0018e32816b1172610a65089b9ba3a82e8766cee6b7619827b81aa6f07d8f332ac88d3b3eb25d725d587124c0137470e576abcb04d6d4c05d89f556f7c12c2f95af73be7e700d729d1f917707d7d047e613779ac0004e049886f989231863d5e1255a8ccfd63b095878329de0b7097e6295461eeef789130bafd2f8428eb3eb042a1999cc7b722cf3f24f9dff4126a2939cc5aebbf506ebac7e6d603a98003630051dcefd10d872171c54b46647d0ead83ca629b2ee78f58a5e808e0f7172b40dfc51654eee927251ddab7b4aa1a869653c4226524e31efff12052edfa2ebeba23f42fde9df0172cf17a90affbcc532fbebd7fde6ef529cc3af2d07e176bb706e7c0602910d1831cfdd311eefc887dd9df77c94d65fe73cb487ff31c180d5f60764cdbe6fa9ec72a78391ba5f5bed39a74ae0bbccdfca25e9b4f6dfc1de007378a9dfc6564cd372a12bb1656a79082fb3eb70284f1e8f76adf98f976ebcc4727e2396b53c95413e7bd61fac174149b99f86cbb7226a157d8cdd3b65d879dbb4f94b92881b42087239ab4d9cfbe04ca2d47f3534bc8545fd403785ceb383efe75e7467b40686c97236c445b8bec1c72569dc3ff64935eeb76e68d8ec9e44b0195527a2580e1b3b54d252ff2834ec1453cfd9df45f281308de4982b0c12dc174f5373dccdd53d6c7226b8086a256f4f03796079d4f283a31ade417f776949c0804d60fff681cf28462a8ad3f166736237600cffdacefaed0deecb5ba11225a11fa4b3fa3e7e9c3b7297c334562bdabae3f5c5bfb138b9c088d7c12eff37871b349dae5f72b3a7cc720ce9d782d5d53406380cc52e10ca0fcbb8acb29314ddac4a4ca883341a5feb6c4aebadf4d0db336de65258d2bc43db60c921801c4bf90ce1acde06ff9b3857722fb448c4d06d7d87b4f13471e7bf4ae58d9432c11e5887b221eeeb70392f44722fa785c45311380540b4ef63992b913bd65b2edcb7183966d722ae585504085db6b8bcd73da6821fcfb11369db08951a6f4561508aee6573fb1690eb75bdd772533513a51bae083b65c526c08321c0a1a67128d5e3e18ddbe7514d10cdf79c030bd7f30c98a14d6d9ba7e5fadf1f49841074409c3c366f57d58341c41e3611610308f179843600135ac58a8f8cab66bb660fef37d6a86ef37107a30ce1ced85b535934a8c7100a53c4621084cecf0247f3d248d051732a6102fc91caf5d79772c228c47888a12c2bd8badef3c3f77886127ecdb00d7fcc60b4e8fb57ca40ae21d5716c64fe2b4fa53434a7763afc3d613f2ae1bddeb666bb3a4e9d60fdf7a072419d9ad4229f78526ec7893044eb4bbdac4e37d565ba94d6df421680dd1a29721b8003befbc8536138092b561f5042cd04829ca76912271340fe3da8b5989c0d5cb49c06b4e273c21adc1f278ae728ec8dfb42da0151e720364804c4d0753d6117860c5e97a155ba2d71a69eaf3efec3fb8c642a8b5a9499f570a3acc0ac2d34f06183bb8da3dfc03f7ca2858e045c7c3d088c4be4976898fba53764a2a67604c0f3904542170b7b21068d3471342c398858657fa1b143094179d4b310e28a72f0b9e5bb3f2fd996644a105cdcee42b555ae45edbe3a5e8a02701d51e15614728b452d9e57c704abb05a79c14583e1ef8440bc7f12ec917b6deae229f48f0e38d1ca1270b5981f1bfe236848ba2761558eea4e0a2eedbbfdfe89a52bff600f724b70960107bbd376873a6cc7fb2c1d745336e1bf0dc3c85f8b345442f517e87272784061125a5caa47c0a41dfcf1c456d6be25523833530577bf401947c0474c5857f7fc91443cde99f8d246ce2f21d8ebc39aadb04309e88c8e317e501fab72cd29f7055e9839f0c9996079ae6185d212fcd9f53c32935eafb0b138b1b98425fa4603c32a1381d16efcccab295e4263fcd56d611324564459ad655b4bff7d68aa0d3e5a7762edccd0a66301fcb514446798b3243a6014d6ef3993b82629c90b8267de21db8ad6c91c44b7fd619d3836069b961698d4565f7eb0dd2cf479fc728a92cc72b3d94b1ddac20fc56be37154300562ef72b6a17e8cbc841a6084d44bd8450685c3fd567c60b815d99082a5404da8c0160ea02e365d883037e80a170d246ec784d3ce544435a51617620235a00defb30f98e5812dcab7976408a88517af9436e220b9b29e01488ed2d712d0041e613b98919ba0d825b004bc36adc572d5841971b4b331130fa20fab8c170865e934cb0bae486d0cda96256241e2bb27aa1a054b8fb5a1e439c1141c52d3fedf95685825d061e87980f9fc726282936975fd4351de69550f8b28b500d964f60998998b1e538fac310386fd1ef2191113e44e9e2694b3770dfd4bb0c0f5069c89fe77ec842f75785dd4498c9f321f91729f0a33354b5444758e2d851652e20afa8e1be35dd863d73d557383cf383943722cea8cfd168a9db6a8566bf7dd6d2e156389790cbb7abe59e844277102d5845a2fb26374aa1680a27f122e65b5e98ba6ca2d5b2fb4e71824527f64dfa8e01b5c05c949fa4ffafe202141ece680ca624f812b9a9c41622df9f1c93430dcaa6e3d28fee58d437de1d6597f42b5bd2f791c7d4f68c6022b900d9e32a74e175c50724895305d4fbe55a53db19a6eba25d741fd012f2146eb5241cea2a1b4ca7e4072e263f7cbb22efe60925ba89dd2b4cf020166d88fbd638ad9700f1d6a1803f04d57a0c140d6fcf25837c69d68126dcee99e3f27b618a25a50ec36f90ea82d584df48d0902707c998342172ad175540a4fb9c67c7076ac369848cc726057c8a34cc03d51edcfe1b71afc682a17927b82c3afb1dfdcbd387db718068c04610b4a7208934c65fcef0306fe22f6c61fcd5728d562b39222ea757510a42e117523175441f7246a044b2d7accb8af5690d43f4a7a6de98025e4acbe2cb84e0ec6275272f69bd936a3f586976fdb569aac92962fba4d4fa89c129f79cf1cca8106be8050f7ccf9467645914fd7503539e94ae1e00523d0a6580173974c1fc48bc8052440633ca7f2a9e85bd4be295263c1676338cfefba2ce053a9b6d9d6e5fb9302ec1e0fe24fae2ec4d41c7ed65a1208ea880e9751cc21269f465fb53bdd02cd365b6636e44a829b3bf932067f29b203658a23c398790b457d7ff701aa8b69ee8e9a72c70b61d029358170e902dcad82809574b75876a741f3f447b4ddcafa0b534a725d620ff5a5569ba8ab16ce0a7bd281a014f7dcd226e57d4a7447629ebfcda372d20a7430e980aa33667c3682486da02251e25d77a7b54e81c3194d7b08faaa72395dc407e98d5f93198c60127502c9ae3fe35e48d3094446430e33eb27f5695eecd475a2770c2ef3ff38d142101e1d9d0ed1b82bc3b846340fd316404657e54562d14f4de754f7739b26da12a740aa97594a30e230f7d911dff31dbeaa9b1572d8a930df1412265f9246d9d9c0ecc5d05967f3d2a41ab80bca045ab744615f42f881c9869f6b3717390606c3dace15a210a6dfcf24deb15f43f83d826eea8772cdab54ecaaf5ec8038043e0bb6f1aebd6d9866714402bc0a943401eddc1d46299ec4c6e79b20e9ba084f322ccda0262a2f7b92495439378b08b9d35588a49c72bc17d54e5e9cada412138f13478fe1430b9059a0736ae99044d8be7d2597740044619ffcf3f31dce82191d7764aa4f5483f7c933f524d9ef3011a2080db6942cb9d99e74fec71b05af88ae78b3e846e2f6ccc239f67708612f21649cf5a2356a737a46774961d448f36b523e8d796e0bd53f4b7ab45c24cee8f4135cc4d3ad6271fa535da3ea942a4e3a30b37cfc6f79db1757321b7d7f2586d0440306e54264f673e1d939e6a7f1c73e76921f05ef953ede7b75d634ccb9f32b21d9cbd1a572f4a8c0ccb317bca1a8a898befc883fdbce206f6c861d9c12ff5620467dc9d27259e610b58af7f88ac5b7dc4da7828a0f8df07d4832f5a4622acc748c2b649c08de494c274203f8c51eb3755819b1df016cbda35ec2ff773387090169a903a6667a4294f7163ce32dec1c9066c0fdc3ef56471cda6273f0cf01d3d76639abf57238f1393046a569132c2fa986ddc38af7647446def56b82ff20843afc81fc29721205684a2b7dbac7a918542cbaafe83bdcbc561e37bd57f6fbabb7302c80e359b57d09e23baef4be9251d1a7d2b8e4c4d1ca390752139bcc60142ec590d19272c0267fdacf0af6bf3510159316bc9eb114df357bbccda8a5cf252e4e612cbc29ced53f7eb7a6b6570c24f4a7c80dda074dc456166ae20c1ed0c52c40f856c60d3012a35b038e395a416d247c2a063a6056c53357bd63b7a0e1bf604df9299e72019c3b52b0d8e2ea340b675aae32c2d571f37a9f0b9f02012fd24ca13a1eb340469488086aa5811219f8a5f6e270d755bd27afc7442939cfce504e803710b242529011a9fcefa5f707a45e01ae51c1667d0ef17fd3a3e0e3a565f42700d3c927bfee90ac08467235a811cf0986a75764ae317496eb3bf282d9f4d71120f7f1722ff12be00f2d1cba54b0ea75f39ceb6eb8a0c80e6a260bca98e3862b5072b5722f6846199c4ed8ee79376dc6a7a7205ec9c7087de8d8b92f247260b6739a866c93ac67a82d6db6332838b48400de61091a7d6eb717ab95e5821dd2475c05e37265440ae4756b4a1588ffe854f096dc8b90eb21e1254922974b2350b1f179560acdba4f53d106059a622a9a9cdddde4e3af7bdbba5e611dd2f0516954fba58572c8468ef22e4411bd5f0d995420b85a294ffbe675ff052d39a148bd9fadc5897222f7bfd19c6de544a99d843adb53d6168f34debd189e48a8d90e059ed4f33a151dbdc673d9104f0ff42c79f038ed42b24360b4d1f71379582e0f767f7aa1db5a31f0b312e7c367638f49957a519463063904b45ceeeded89b0c16d0d6a4b3e7223b28a457bb02b70080ec5755465b388b51c782f884e3cde9a26a7e9f41924033f0b3e99185ea771804b583b0a0b32e2b2464473b1f28912ae48d36088ded47214c73cb1b2ed85ce914c20aad44a84d7e0c63e0944865eab5583df3dabd3ec72f6ab7f7e7cea919eccd190a767e6e1796a020e4e5eec28dad9cf2ee38ff79f728194f773c57326500d70fa20ee310df81157b7dafc8f154c79c1285240f41f7259cc419f63e2f35d597c95863a2d8e7f7f14ee6377507b3921d2e7444f4c435825f739adf711b2c7d0416b11ed48b4d58eedb27a50a9dbba8220a2005076b572b357c98f7ed9b327614759434190f44611e21adffb41a956535586f9a00e5213aae8ed5336ab3b00beff1d02de66f8608bff3447f245ac72e50ee7c13eb8701b4c0589802f829a67a0683e729a9cf8c610b9f5172d75a8413670de16c0901272c74069df9004f5984faee974b7d0c56a2dbfad9b40ff0a48702e4da70caa52727de22cf8c99318c36ca22923bdbc47d4c406f8084ef3c630b3f790793f890372da595db009284267fba6eaf443d7fa923693ce396a5d6187cdaace5549ea82446228a4bd9d647b172eaad5cdf652940d0866a697c57b2221f84c5bed93cc453616e91a97a13f841a11e837cc892525e3d0bbbba655c3e82f631d0111973e7e72f376cabde8fb050db4e7e5ff21af425f04a302454d2b9a317806483b90a7cf72590f2510453d57039eb7b8df08cb6015f9b66835d10c426b5426863b5372a2726a5ca7173a444ce71d323abd5b1208bb851f999467e461c2a3980ed700299d7214a9b2b5c1a4eae59337597f3ece210aedba1c4b3d57cd6311bfbef6552dce726495044a8294b4a567f3acc708bf60c8de1b6c53352eb3250b54d6d0663d4a7231104ec5ff8ed362355928c0c739fecf2071c00fab4ff12e9fa7f207b4b13b0f0f058614ab316abfeebb3ba5c02e4e848b7a84aeb5c12a85aa3a7d6919819859c530933e636f25b73cc3fd6f47387268200024a9ae50a353ed11d816de33cc298b19249650b8953bc342002d27a88d29d985f316d8f6474097f3861811a69f72ad0b1fb17d1ad27efd9812b9085a09a197c42e29d4b0ac8e8a901fb3012d0d728fa9f5cc9e66e1f71e2d3cd0a038ad9443bf6b944c45a63a4b27af5e1110002b1a841175aaab9ddc7162dd87b7e96cb8cbe8abefab598ab15bd51db841d9fc660b6d58f2a4e9c5506b865a1a6f9b453019496c2c113708b5bca6889ca12e1c721a13a3597c9e93eb433b02363f85e4236f496f5f6492bc4e2a109677387e9d2454296b5629345f8ca689f4368042b9e20b26904bd9a5ce34e678c53aae65bb40d11cf6d9b58d0cf5db0421897668f0105c5ef35c4ded5a89f25667e606481472a8e165ef63f077cf46f7ad1d2eab89815d6a4ffd806cf4ffbc3550ad28b39b4c419e084b56a63f98e927b146648f225f9a4f8d14c9fe6790a1cf4d5bcb96aa720ff046dfd7940f760ba36a6997c22bd1fdd2f7543e817c82d27c0222d9300c1d7c32a7e9f1341cd9e6de643a38329d310b5e1ef2dd67b8ba0713eb2567595330831fb5f15dfcdb4c7de006426973a47bb361a8635453915fb0be3fc113d8d67253bd446c68d39717057ad6d22dc7002b7be146b470ed198d9dd490370efe9272dbc48d7f16f6fc25c349d8ef870039691a8a50e6c135605e3238fd788b7fcf65f6aa4f6a0f2f762909a7870c323fe5484313d2093a0073e2cbfb222d8a0aae0dd55b16209e8f1f4aecc88c3f002f6144214287b20498d9add6bff5ec4fb0fc1ca30484ead83438232b04eafed2d5cdfea9461478f95c14a4b593c3257829d049f1c397805b90de0533e9aa78c679b82d73896fb48709daafc7fe4166f591c47229da563a4f32f540ac0a0a773a8e1ead54b26f329226f06684639ae890cc8b44a7bc4d1c05f933977f3b72c07d36fc5fbee4c78d110bcb8c3429005c5f82127228dd73393680d5b423aca459885babdab5b1092d3c55fee0d3caa550059772333f8fc43ec130dcfac95defbdbadda27ec493073ce33200ff2108ac84c923ef72f42b33f7a79be31785fff7fa6d6ecb6e0c8609f1a01979a7cdd5f964584471720cc2702a0934ec46d2521ec84d2e729a8ca9ba5f2d26cfb669e710686b3e511aed292ad882012b7866e9c646b8bf75680e8654b1463ae3f1927d514aaabf1372cb39ff9258b7ad729aa6710a2fceef23a8409821649459b0bec0068729523b57c3edf9dedf2f448531b517a7980927151a17154257e1bb625d89932c60d33d1c219dc944f39fdbf940d9e05b4c7513a7d7930130d3bdb7cc6040160d307bf75542b98f6a2c2e353c8112540c2b1236b41a47abe2d2aa5aa0640b66bb110049064bec97b810ce94b59dc91a2185e90da94857dca49d6167ce8b580e78b7086472f077e6544728b6f5b45c3d39a09f8239b7ca629363f42b509e99410a8aaf39729f7196e05921444adc565b557f6dc2fe7b249dc0e7322a06506327d5cb3abc72f8dc4a53b05d302fdafe5a86f30bce958acd30009830f4b5b23b8c9b352ede4a30781eb7545cac589ecf5121f9c198b9c605e489073067f5f4f515e6b53908723bd2cba26c9eb0f0392a1e766cac99b1602e773ffef758e46d5f52849b678d50af6ed23c80c5e08339d6a7cf974739f2dc06763adf401bffeaee5186a5a56c720158edb20dca7185d304a6ab0d4ac48d9c365d8ac634d084ead4a36cc5ed2b729e9fdaad9615c1bf45d4f83a3c451d0ab8c6b356fa358477086d4e0f748bd072bf5038bf3d7220364e8f4022a00e6efc8a92dd1f00302fc60c00416f1a142c72fc1417f321e0b0ab0b5b131f07fcfdcbb085c4d0c9dbb4b893bb229abe7f1f49e4599d3169cc346e1903d4e6ae6e7c316a2fcc8306112be9faacfeab13b2f772a8f508962ac71186d9e18140c3a5910b456fc282f5c3b16fd712c54bbceef81eb222a3fe00dc61d3b669fdf27abcee832f9efaca6c9f56f3422d878247fa7134d29e6ad7199c54ec2ea337f09cbe2fa62860d6f3d46cff46aacacd8ae5b93c0e4fc63a369535fa48131fe23e3738c9ae39ae97448bd69b05fbe33aa558aea472646e5b2ed06e9edfe00e76b502659531b3a5228cf693abd5fc47c925c8884711132e670cb0df5df5968ac3a51730751ce575d5f30d3145578d19fc09d7a7c27238d19cb45c16f47aac7bba7773183491272f40cf25dd2f29279181732eb591209525efc79b0d28ca6fa1f7d1965c65433108e274e8a69d3ae3806b36d12806729ace002fcc2eb5a226b9c693dbec90e768fcb39140d805820a0ec05008f28a726a4d96d5e4ca25169334f9d93c5fad4948e6a224ea316e4f31f174a16c2a397213d2af12fa32e4fe6a68b1554a2deddc9246e8bc0d5d88714251c59901f5bd72ab412bfbd9e1144d680bc31c2fbef6ad61ff810fab334044203601537caba16f45a1872b3bb50f3f19b2e765549e507f22c1a010a6dc773a23bb9303035fda720c44774039f93d034bb6c39f771c92766ea107a65770b3ab14044f284bb8814511b2cd1b9bf7ed451cd35fba35dcf8703db0a2bfdbb48b4746a97e6b250b97722f34af2dc556c4ec5f9429d74b55264d87fa5f3723c71bdbb2798563f786e108c23f04a4cc7735272f50494dde94d014d398a4731129f4cce8e14a96e626687268760714e6a7b400a65c121e96b950f6867b45344c5ccef0ae50b23f5d93db318eb80bcf0394c16feba797955f5d22cc11f94890fe6e27049c52ab16ab26dd727635ac40b26ed5c0fc0c9ed9ac1bb733d3b81880a1b04d38656be54a23ed2b3864195a87cd7eb835981050069c46a2164e47cdcf5aaf5b0d981bbe8699738a725c07a181d472ef09f562e74f88f44e22d8fbaa52941b978779f1b5fc986c432154dc10812c92b91a9ef36d33772060ccc90060345b199adf3c0d77c1aa6b1c1d7dd4b0e8ceffa4686ea07fbf865331aa555fc7c90869d35c38487a22101dde7233e3ed3f36c40ac8d723850728784eb963b41a413d325262387058888e67fb5f7f05b8f0a7aa34fee6983c371aee1512058cbf43f7250a8dd372ba312b444e72c004e243a638bd705941a6f25ea9c27a3dd125847e26dd236273a5b4c1392d72ac4c1744daf05c68c56a2b87df58010549fcb3363d1ba9e298d66d0297da0804912be24dee41426cf306754cddab65cb49594e763becc2f3c0e1194cd01c3a72aed20961ba21df79760a49ea994520c5b4f2eb3cc17eb5c9de4ce83f79d2c117df66344542f1f85b8a1459115c4781342ccb4a546488fe304655f736b351b67285e344ebdf06a26b3aaa1ae9bba22dead1a3440f414c6e7e6cb77a8344ee4d72601049ea04018108295928007f37884c16916f591447bf50527c7f56eb10b372fd3a7cd2010f5df82c07f799c9004a5b5d8f5a13f53add881105dde04036627204d524b66594b663c8272cf9343dd5dcae3d7aefd1fc839eca2698aeb9bf5b59323d7bd725cdffa68bd1027b66885784a42e569a086d5d7f2dc24e9938a9ec4e701a5b332b51f1f970693832c27bb0497bf85e9c35ad24975d6665ff89604e72d23d5a0c894ffd205ba449eac3aa0b3e6f9cd9fdaa5981ff4a78eca4922c6a72f2af2c9ba15e088abfd321cd40bd369b9055f30e9d996b927e63ff2e8a8e5f72f2157f6a916d1746328210c98cc8645acbe0c61ba4d87aff836d3132a97ff051ab08996868776412400920f5821251d2b16a6906eb027499d8e2d87fa4f91753798a383ab8a5b629d7421d3fb02d7f24b6df937e1d26a161d3535b2581b9be72e6f003519134a0c8633b51e21ea83d7840986deddd27db0dde69c85c5741bb6d874988fe731e1f14e997472219f0e8b83c3ad30f6552c5038bb9a6adfe4087621515758cb199752334d65ca00be7414c132289856d1fc371fa8838b98a80d1720d9e27cbfcdd8b18579a9800f5d5b86e7d7625ce874d8ec56eaec58a6cfeac1d89b19b20d02d6c6bf0d93d278d39691cd63d70ece57592350de6883afe670f72d118de70a3a87780a5e440dfadf0efe695c4055289b32d1fed2e891957b410720350ec14d62a952bffc4a294496cb82d36e8effb910ba2f5d94017260fdf6c7261252529f8b52f2a6ab27911fb597979f118cc637d302d7a78ca21fa4f84416095ae2ae634dd881be52935636d36428beb9c55c3e1a25c9747a77d6d5a392072535f3f2ef63d62692522287e12e94db7c64969f645e467ef92b9ffc6e20a5d72b6fa5216be32b219bc3122fc50f2b415a648a6a0296ef9aadb59f11c4b756e29a36b010ec7c5d22f9c351b4b916bffbde8d2acc2e9f3387a852e44bc3fbe2d72353838bf8c123befa27287373a7c423c0046f3a71d400c4acbeac36840596e1df2b1315299c1246768875baa45ed684ce9a71414b0647a354fd342cbd2f18472f0eb48ad48c9d368cc6f72a4e4155f451615b8c1d821c3bb77787370b82a2072e8be312089aae1eef25517c91e2d6f115c1bc9b36427a37cb416bcd2e7d00a286ab9eb851384c003048c699371de22dd2d6fa83ba3497e356d65b522410bea727bfe28fc671f44bba4d442379b8d04055536a717dddc8a86edb990f9c1a8df729a093a5e62bf2a55d4cb06db800ba71be4cee6e43f612b50a8e446ee78ca3a6b24c83b501a629ede5acfb565e6a6238cd002e2483f673d245bf03bf67d528b3bcf69da018bbf6668a1b7aa3becf92701e55a739eb2f1fda2718e7d9f80934372d892b33e354857841c4f4e6b4942b7925c8c739363a591e456fff2de6ea1547299ef3100ad1853ddc84e1b2f729b2c81f0e80c588dfdb7aa5fb0c71e34663372364de41f6af66a8aa335bb21a126eb681574d04d7d962923df214ac5baf67472ffae69db9d1f484228c1493c84b33ad108823f3763d23b540b30a8403a5241727b977b24a7c5d82da33373ed64385d9897a4296c4ce150212573bded3e3613725b81abb1b67c8cd14592ede61002d14a43da25854532baba36639c7a9ac9970e8e210937c770282bf8cd9de1063c4f867dcf787f75904f3f4833459ffebe597270cbd194c92b68f6e0ef03b84b603552c1c0c6be9ea4fb7defacc1b0aa58ee2fbfcc323f2bc41ec1c8e1afd1a5ff0df6f9bca845e88f7fe06ff0e9f4fe6dae07bd225b4ab23ba0fe424ef8f2f4c2802d82f2804b341e201058d92b1daefa550a2475bff335f358c52ff43c6c5a08ef75bd38ff6fa9e1e93a17b374cbc0bba27296fe51765867df3798274f377155efdc920ee85b898faf83447d57bf03fa3272bc5b5c80bde3840d6d1cf7fb79e7de65dc91b8a0d37cfb4ba90f2e620c3a1d72c6dde56b9b24ff989d2398c64108cc611a88713d09b3807ddc2273992c9536729386e65b481b4fa80ed5b1c83a3aef5cb0992f080f5f9c4f0f7787b267766b05d8d71fbffb611bc7f13a23547dd02ad04d7056ec248bc26b2125ce7a9a224672e6ab17c782852ff6f8095b57587a2bb63ac70f32b52705f25c0d8eb80d322c728b6a85526acae3efa2291e798da3b316bb5381c06898bf728be2311bf43604150995d78b5e1da9d0871896c904dc1691381ed2a8579c807c050c7e52f1d4ca269a0f6f164c18c7dc613b785b656862fa361560bf89d594a0518f8b0338ee9b725a26adaba125022c2cc0e9a46e1cb88d606a42dce83d1f9cf3476dca395edc727c3d653801e5604f273d0d8499ab7381bc8e5af480b346d48653aa6675fbfa11f6854c6198d773a1ba30fb5d6c01dad36b232a9ffd8e44a1700c8a3cb632a845e74d517deedf195edae4b379bcaa2adb18287ef5838506c019d5bbe7ee78de4992cbad2d92e4ce06fe2b55831c640fa6664fcb3190d4a1569b0923ce46256c720eea656bb356165a10154db564fe4f972ebc7226f35fc10b2a3d0a41736a8f0c818579342bdaf65d668ce2a0e94df4668fbef6cbfcc3760a8ba735fdac2a187204ed4d09e0d32ae84740d9181e2c0ca687aada11339834fc1f071bec8e3d5a2b08acc6330b452ac8fff5705e1645dcc5b112e17aff9bdc645d1677e5d9ca9031b26d2e0614b410d011aa042cfffeec5b67ae2ddabf2862cc76a444a080ffdf726ed003d2b27cedc3fc46e1640e1d23477ccf67e00090277962827a59f153c62cbb96f3ac46bdd0a1fb4e7056709e80f08b064e9a12e50cd7ee03322eb23b9d72d20ed2f502d74f71b84a62b4df8023a068e2d406eb5bec8acaad871c4301e9655fb415fbb430837ff0eff583862a0ad94c9b4ee00d4182435de51c262d40a56a49d076200081094fb83e7b64535cdf5386b70e9d688e8ccd360b402e8f427a72de9fb18d8891186c511bbbd67a072463235107cc56d41697373d2f94f24ac200f1ad2d7b84bb4a3ac5e8b96d1056a01378bceed1e9e7c214a95b6a53d8e7572093e9189cd116700889494ac54e702e62bb3453167f41ae1307240042d4ecfb72a60ecbe4d11c2d317be19f510c3644c02c5fc86268e077397ce009cd0089596fddf9fca483de0102842bd9c250766596107d549117903555af51fc4ead2ec92f1ea1c0ab45d6ec8124cfae6e33d318b8684cefc1d47d8c768f9b1913627a8b55842b1987f00f15b90b0e8ce0fbcd2bac0fc55b65e8c6583ec335c36d03349c2cb19186c0bb2bedbd7fe1f8218a6e829da744a6f7884fcdd58c9eb3b12847ed72c91310ed04dce5efa6c9d4d100964802093b4dbb76737035574598a9c690bb48a8ee5fd60b60d8a98574662d1ed42fd8631dc8feb1d613789517fb5e6e2d977243a08165b3e517661b288a32bc56ad029622c28b0a2ce705f5c0e0122f1c0f0e4f0eabe92e5a310aaf6c89e7e240fb4e8815daeb5f152dd2af5770eabc149c72388120123a95418da19fea572011302946f459bb0a80fbb258adba8338a21744c0c7bb4527f6cffb8f45ac3ef02ed9656f8499728a601a69b40f4067673a2565c3db40e2666ce3d921e7ae1d9e193101d6433b3f7c0811f45507f5f170c18672eb4555ec9b08962a6cb3d6c26c6cee06917eb11abb04011f99d13e3d3d186a72cb2028f13544e252ef697c588c79262d6ea520103543ccdbb7d2b3478f7c4605ca6575874a0328983d4929d7288f6546451315caef57ac30f4b2e80e5485ef72b5d9c7fbe14beb7116e93b2a702de43370c7e21604af7957317e5da17057e0356f28d1e2ff335c820f3c54bfe922fdcf3105ecbd5b133aa4b4f9da4ec32159725d2f8cb1777eb0899bbe227ac63d18d1a2167772802a2cbfd1281c8a97dda172e559da30defe5ef7eeab1ab224696ee380f542828ca7e933617672cf7244e772fc86349903fbe4fe26069d880033201eedb49e2297af2a975be1aacaa84fa00c88ab415834abf393d29a6b8c6a631ca54231d650415b465c5088302f9d3db513bc93c3794adad59e420ac58a95d1a2b799f4b52dbe4b501d79247030b933c77265dfa801c8dd337c0b1b57e9c4d8c3772362e92f916d8794b43f453d8d3fc219b84aced187aaa1f6f146b0115c4368a9e72edb2cea96eccd15f47c4074221572966c572c93c1cfc59a83abe26867b6e148fe8005e72819875277e0a6aba1e646539e66c8d0c4268f3a42ab6697d84dd4c98269012e45ab6bd179aac3da483d72322bdaf495b73deaa3bfb29f7c115f22f35e20f274e01e41f8d4f80636801a451270289311c68ff40816f6371f9f7492bcf0c9d96eba01662842fc72629ddc3e9383d30be9541f790af3bcec4d98db83bd6d9eea1588d055e618cf19f43a1b72acb0df5c0ff56049f7b01916e40fd03c7c36a4b5e3848c43ffa177d5e65f075a437f6591ba75615ded2655bd6f615bfb8285bbb676f7abcfb1e3fb32272fb072e34bd647fd9c85d21f14d84a9811571569f0b0042994b0384c415b83de18db729eb285529e9b80c881c687940d30b4e13a5dbf688057bf50dfb6858b99ae7e72fa41c596ae56be5a47e54f1d3536c17d329b16f53b3fa538fe0ac8eb8b574f72f36d9b90c4b86d199d120d1e4ea624711d30946a671cc266c081468609f1f70e8dda5fec383a4341c2c78a34a72197d321a5e271bbc68d8fe354217a7560e57275fc7c4421fd0076e8b7b5646e2b1f95d549f9004731bbc9589ab8a39ce8f172cd821f98c460580013334d668cc208ff820abe647297bcbb73b4ffaf11a7364345f6fdbd17f56ab4fc8936e3e35eb11b91e28053dceccf76e2aea954b8d5b7723167641599c71d78d4b4722a845c4ff6dedef531f55be8500eec2b46d34d0b3652262bd15930b3d341fd176a3f5425e4264256d8af0b3fc3b5ffc77271d3517278050a3b9b2c5d0b83c0389eeaf5828b1145b9912f295f35556684152bb15e72c2892be4c4af6002ea47ee3d9f4408dae5825a2ca5a963d01dbf3a2b232a75273f03d3bc979b71e6e7257246f9fcc726bc0be846f61bee86f88db17d5b834f1ab928ed34fea3df2b09bcf6a2d6b3e91919f25c866a753ef34edc16104ce208721fcd9263938618b05395cf79296bebbbe8372150fc75bd488db3ae5dd2c0a6729d6b369ee2eb1f3fc276e74c89f326c2ab8c8fd32351f0f7db68d6b67750427128f57fdc2dbc5abc78e2f45ac3fe7eebd6a6490914bc445399752450e9675e72f5bcfa4f43a72d3aa1670a8543443547f19dc53d8a92b440c6128c51e49f547297dfa87e37ec1cdc33e184e8983ff58640afb6e77a3969159b372c86119ff9529dc369a086e5ca45b0c578aa9a96114b4169692fae3df16258d1180e34e2d972338a16b8d39613c70f274d9490d62d34712169feb333251f9f6aeb0d91d77c72e058a8f0b4892bc832b52aeb8f5d5e71b52ef5bae3c76f9de4d3cd4043a31b7216c96c514811de1f359aba00750ff1f7d0623075111a8ab9b07b627eb2d702727cb5e778836c368119d342dbe4e9a3811cb909129be27b41b4d061275cb6fd72dda8285d3a620966cac3da8fc82273fea82a3cde636473838ba6201a1fe87d72ccb2010ac503724d1704cfdf392ff67ea0b04ea304d43ed12be7e509d11fba5baa90d9303c4f9737f995e368f49f59daa37402298000a2555bc1ccd7857efe0b569f475545c1c4ea905931de751ab3a891495b80857648018ad9900a8214777290eb68ef5e44db9eae138b6521c653300e404dcfcb7813e4d1f796c8268e017274f30a9ddbd9b319d05f5c0bc3dd09d134f09818076da4f16017ff28fac7835c2eab3a6f9c64bc6cece59a01c60d87807c90d31e3c658296cfff9421d27ead18fc89291cd3477d66c4000c23a9e5d36de0ab29df18a3d7b9c66fe8e13cd70825ce1227cfa77617d3b5a6d10caf48e93d128af6fa35e4301dbf6e18e544b0412010eeb580fae8c44f11805bba2acfde67b7d7d44f44692826545eed4353ab21725450201f222a06aa244e68dfe4d9adc332f9c8fb95d90e6a1d02aec792dfd8729b8af830d0fa511b9a34b231444e16935194b29b2116e5c3919ed4ae66f90b72d7956e0ec0d6d8521ea84c8aaef0712846039c391c3de429aea2b88fff34d572e39c09dc4541631a1235a552c237ee3544cab4631e99159b24286533f0fe3f71d55aa1e67871ab4ad30ce902bf371b3f3711099099eb2fdca730e828743d2e3a4ba2a4e5aff05f173d145412673a683e882197d36cbaeec7d42048121851aa190fb8e11de8399d7d5c5ba6c25c58b2b935376aa59ae790bbda2d769cebe6b372af1c254ec59367b5e21ae983a143cd89425885397375761371ae54ff936fa36a62d04f0bf8db7db10d04687e2300159be96cdca71c5574fed192e326d0eb2a7205ae9912bf995083edd8c486c04d5cb86314ddb4aa15db84ebe6b8ef33469752c58fada47df47332e598e21c22037cd7344c924981a0ef3b299223af6393c372b24513161c8b24357324320a15ab43ad64af79a0912d0eb247fb757fd28afc726f3a08ef8bc2d77cd5cf5459424b114e8445cd377df15054369ae215330ef872bc89bec9ab678827b4e3cfdd31a9c8a9fb0522752ccc7874e13b50eb3677ef59a24a3af399a0c24bfb176fc68bb2739c4fef64ed0beb76ecdaafd5f8dcbe8372a575b99eae8cbf6e5f212740f2b93059bf6f153b680c6a47ae1de2ce4291d6720ab1c2fad5cf9f06ca23bee30beee2aee40a5877bf8fd83d11db4bd38253fd72085715d6d9834fd1fcc8da5ccf329a86db1c22f77a074e44a937484394e74c724f70d02406134cc68047f92a471122660f83204d95bc0d01602752238849162e7fc0055040c2e847d1a16bc392e11478ff5e093dcd6fba44ea161e102602e172d552dfef1f972be19d5842ab45e09c30b50304a3e00c73825f29208754cb2c5ca3dca1e31e071a374795aa0a49ad2eda8c179d2597184f3ee4ed1a30c0b81f467ca458db2419a0947f2d75dfdd532eed4ba4d00a91ff74f215fbceeadd9edf19f4e1df61520fc5d56d96edb017095e228906fe3d9cf5f11098de9f00fcb7283e74dd833746f69b17e3e4d3e30044873dba7252579870aed271077aff49c6fa7253539324e4b906ed334b667da6849d66e3d86d8dff6d3782223508ff5a920a4cb6032452fae97f800b09e8140e7f61519854121061e813a99afc523f84613363e4c52b83ba80d262ecd8557c2465291d6de8177570f50f3ef748b9adb308077240f5bde0c20a835b6207c3c00e7a2db00cb5bd1a844da8b8ef358f781217497210af992601bb13241667b4c20f4731ef872d54d1e315782c7df69988e019e93608ebe1c36606a8eb8c55bb8260d723b0e6fc47dd543a832442f41e5fce908029f6b998a823f752bc65eed513aaec51b59f0890ce01510ceba80eb95716168767563e6f784b46ba2a33f4e93f7f726f1ebf447f7ac1d16411d8d5454fe2edf546a59a2d02a51c84466a06657b5e6834e19d7f32da05ab83dd3a3899bfbd143a62be4fc4b776e5266ec948f3036f67a274fffd372a143d9a4fc21e5b0c1cc2976ecb792bf1dcc77af0c44f38be5acf7425131c327cb7ec2e6b771471aa52c28f2dbfa0a6b1e7d26af2e9b3e602a937beb333a6b47587a287cc923524647af70e0e29dd50c4b26e3908d5879a9b3f4d6976d4128017c20529b39a4578f7caba5972a6701920d8ac0576fc13c0330bf7dc5984d2e594fb2f89bf688268b56f7b2523b421de560a462dc4c0d3794d543e1518b1a6b001bce8a57a6902f1ab49857b72d8cae23e6430a05a4f0b74b4227f6feb502dfe3d138c678c7f8da46fbc0f3a042d419bbd338430e3324f6951fd459609ce421ac800dc2576f7a88fffb1decf720fc4fb9703670f8d5a558b233662b33136fb26337a9e47661ba415f4caef73726b0a8f6d89a337623f3180cb3e2fca3508943411a5f6ef998ac639c992c0c66b55f4e5e389d69f1815b470795c10f11bc29dcdab5f0f35b647625f5e22f88f1afa961a043e73f7b909edbca4f4bedd1d42735c6a3943a55fa8f45e0644d71572ea4f1a5e7006edb417d4ba2f9390bb60ff96a965cf6b5a870e85a605044f2c72d7add74cd401e9e0a1ac702dbd46f103a3bd5633794a4999e9ba6d8550f6ab6e86deba4777e9012e6dde6835c65818a44721d201137e1653ab34743b081e460dab6b3f0bd33e7e97bfd14e277f69fef75f6f56283ada718a25cae3dcb7bb6d6975954d59d105d27e6c0c78d03c3c2e803cbf9623c7308bde79650bb2082206722ce725c3b081fa2fd474d52da0d4978fa18b126cbbe1056b0602d7304b6fbd65a24e8995ca5a4df435706752e74b63cd406c2d9a6d3272d2e29d74bad7b1b172483965fc2ba52c7e6bdc0e112228b21d32e8a28a4db2a876a3fd1e60baa53f7254117435d00c999dcbcb245efe727b225db404c4f09c595c59705b947e3df312e72c8522e7f0062c71b9c97f98cc4a36db3b06def770398d8ddf8630f7e51f206d5e758a665e929bf47d44d603c972b968eaa7a2f39f2d6e75530ce4af173572112dea5e078175b4bee8961e73d2c7b3e226c09c22b1218dbca8dcecc0be7b723bf0f03116963fcc9291bbb71704d52875dd68925eb24f73f8cc257f1fe4710f91f89eefd94560d652537024ca128c20196a59ae9b1c807fcea9273116bd8e72ecec8d82198c62e4da2a1fe77f9cc3808d3e212ee645b927a1aba3d630709f0742ee75fc9f1c2e8bb307effca8ed2be588ba0fac45ce9919b3a11f9bacef9e073c16cd2cfc0266c9f98055224ace4cff81b9299d290010f249e7bcf2087e3a724620ad7933e83849bbcb2b97db5cbebc682c7d91a14bfcc61588a0da19bce25831029bc2c6040fdb7d1670ff813ef765a05ecb41e4048b975aceed13911610724205f1017ca76b3e33e85be954b76ec4ea0a8d944ab867a6d069a708a8618d6b5e83af9d3b53db7730f52241f6f95563b98e1066c9aa3b4f3906f5be6e1fef3c87de10f3af4772f163832d7c8ca756351756e1bbc5715ae0837e2521529261725d0679e7949f8cd59a2bf680e519e49fba1af7e375cf7aee7ce42a3429460b08a3cb7851337267a7df410d712839e63a65f7d258c3d5aaad24d1e729e1aa6e72280cc4fc4d2521b557b93acacbe71e2f54e1b36aad3b8f4cec333b0795cd057216a2374f187e895a8b5a7457a7baed1d9c9ce3b20281ac7f822a15d917b0d37263ebc90ed996280c4f62b6e14bec9367081ef4d49ad116304fefc6cf51cdd07227b8be970a11e57712da8b07e0285f778d28b0f5cc4ff2e64c0419e53206de727bc1eb09a6491f9a97426f0531622b49b9aa512bdfa04eb35eb77ddab83f7611fff9485fda37b1e96c5af4ade1d9637e1dee9601841dbfadedbe6d083a8fa6725a023b02ba1295dcd7ed092250826175c65b924bd82ea83411b8fb8b4674a672d43d24572f0bf1530ee0a0f8bf66ee36fb7e9ebae8ee7bfdc395d2bd4fe88c00041dd75fc1f4eb1bc3ce9b291130bbf23e9edd939656df52b8a47e03ab9d08727db6402a44141ad7e443ef8f4eac896d42ffd9e448ca65da222e5f5ad83ead72024583f0a72dc0394355f568b61dea2f4454256362b8c39b9e1e04e822b02f72292108a2fa7500fa49b5d478586dc8a51524eb2375558703a16c921a74484014e0842b8e3398326ebe36e7519052484c929df9dc76cb66dc7dce3f98c1ddc61d6892c7bde49042a5e9b91b6ac013981b5c3719b79739d0bf029b2eb975d74b726072078cd719daa04eab410789c14e7ddfa3f8eca6b8b3e1f538aa1b04aa9504a3a77d29a19d13680fb80cd8c4ad101616baf2bcb93d2dd41e2dd449e302ab127df3bbd3f3a77263834a3ef209e7daad4350b4042c0ad188d7d690229c94ce296108dcc72c4a319c1aef440beb9411796e52e295734cb417f259cb08de45f67219e68a19789aec4cd3a5fa25522401eedc38becf3ab6615bacee36a5e3e5057207cbcc6f3d9a10ddfa043d79a4a26e4dc0e82505dd8b2cf0c8d00f869cc74c725ff409c4e8b44561377610e46e045807eec13777cf2eeeb45dd8a4f16fae4472fec302be2d90fa2ffbab33d95e1af18c0e27166d7dd9964438a6b86c003b777269cd71f54fbf010679602c6f38373e439ace1c93a0cbfd612feb2b9ab4d4997267db0296b2b6b279540a80edfb563d49cfb3560de2bdbcda53b2df4aac681a3b48e8ba000e0727b37ec05ff7399e077f3fbf694dcaf6f0979a4abe925cc2de72c2a796cb100bc3785e418f1199b491144aac8a7f77371a57dcf596581c9fac721754e25530776653689b0cee71d5517ab6824a798f4e5731ded6c58c4e3ee072b3d3f19200ff4744d523dd5412d3eab90c50674c3028e27c7ab0da2d7c86f44439d3da9a670e3829fa642c8c2f39986937fbf7ab4e3bb934e3a85e0a361bad722a3c8aa5ef959dac681984b5fbf4c6320ed7f0d3a4bb1f1130158613808090309c157e1e35cc0773e5e997afb4710c94ce987ab54a09d118fd55e2c5878752722a5c9e408b2feabfa6619d57aa21f6443d8fd057e47b006f6773c6145b95e249aa41126b8ca729f479fa3701628a099407c584a814deabdaee1cfc7a64cbb805b0cca944808a6aff9155a10ce70fce3f9ede4277fde7d1434f770136ea3bb0319944e2b2760ffdea3fc8639b92bdcc60c71517a106677d4fe11f6ff51a031e721a827c639a6a4afeb86aa009216706948c1a236085216f9a96bd88b50e44e372d027ff6ea18bde7b60d95797d2c204e9fb42b138b21e8717f836a1fed13bb67231bed6b8875effe4ac2e8590dafdb9919b0214bf9ac77bc6553bb1c8522c4c54a1acd21f8dd3510c2571925718f55f64ea7e1961956187bfe14560aaec8d27284971a1816cadbc8f3d4ca20dac364ce8d8f6f42426cec5b7e810dbe3bc1fa6720a2e4b2e22b052b21bc572dd1c702d54c24b0eeb702b6940f7fcab1b8c453a63454d3f487daa58110e511ea9d0468882fcb8587dc41acee477d2d4364431c572d1cddfe2283925dc8c7fc2d7d07ac72a0f2d020e5fafc71f2af5e68b8df9bb561073179763148d40eaa17c5fe072dc95d1b8af7e32a14d2e218fb1b855b777617bebc5a33e4e6b680a02f40a42df6b5e210a263573c62f1b1ce1415faa2d161cd818d2ab3f9c868ba52a49d8fd3a6fdfeac2d161d0017524b47569a6f7155c728d52fa01eb26530094d6d1735c8869cf2dede9369138cbb35595a3422d14fa72db41f9c01b17bf3ff843f9c33ad7b6ce1c7f674bb963527bdad05c2393670d410a60634ebd54c6b68ff2fa44e73d3db7d0be1aa59eb4e6c0608bd72d7f82281f7fa50f944d6ea8ed8fbc041d98caf6e1aab7a0ef642aa5f994a538dda6575b723054cd69b2343c824657771131503b6e7ea0e709f6a33d325e01a279111c6f72bd7b14ed10eafb42ec0f13cdb68c06bc5c2b655a6337f404e9ff179d6d3ef405bdd4b9cd29e9b7059081dd8b547209a326064c16d820ccfa2c8dff3a3405fb72994fdaab8de9e6e7e14660136ff11dcfdcd619cca2a5274ecc4413589b65c32ccb25ded94327de3e542968c31f79d12bd909f1cd76957f3dd39ebfadda76ec098a600b386b3ab1a2b629bdb0bba9fab630bdb0243c2f845dc67feb03e4cebd5cb031fd007d21b5eef21e8cc490bd01d2b7dc163ea2d7bb9100ea88b2e0126312b893a6fced8295592f58d956cfb47e00d464f962f13c244c70d2a80a0edf644a27854d2ff9e70f1b76b84de4014da79187377ab247e39a01aea01c26faf89107ffd8d1eb42ab01f9b270a5380237c9e321564b13a5fa1e871190a32bea927a242b93907b8314506db2cf517718e11dccf68747d027fef7f14eaf5534d8154a7251a0e4b1eaf57771d5d010c64bc038d94cccae2173179691c084d31e33d64a0074f1868e7fa9cf46708bd62a68bc78dc49563ef535edd706d9106e7884021572ddd70f5a831e4266c20bcea0c4a6280c022fe46064610799a44b7521a3994e5d2f5b8e65eb828f33be40f6c075608d2f5df98eb9bb0dc160396209d9ccf8f37235aa458a84bb44e0b4c29b474f62b909ec42fbeb9205eb7d88d39ca09140db45d3912cb2c6d1d162484580b8c81093c333c426ef4e56c4e98807208004dd22722881c6fa48a6a533a7bda316b436b49226cdb37b0470ce3d11d7d2c8460d0772a7092192e387e0af5f2684d8d260aa62ffcf4d1108dc0cda50771936f48c0a538b66e7daff3c17b63d579e5304fad87ee3fffe6dd359372cf83b47523ff0e972cf64369c7f17eca5872a091f5e0108c7a9d399048a210c9401888d4a1b03cb72b2955fb71d7e1999a6e7ce10129b9d2901d292e62ae1509f47a13a1f54df4a72671f3d35288f5826ff9ca0aa86638cfcdda9b18edf5b42c367dba13dc7fadf1dbc80002851d14661867d96f30bd5455542fb23d09b99bf923ff70d15925c70260116287e2f1aee9a3c3ce0a83e14a59cd014305317fbb6395a595adbe424f348ab8f5f03ada7588a58f9a53fe4bcde3629d0dfa3c52ed474dc4f661ad9e64972c4510ce8ec81ff1525730aaf9f69644888bd5b0c5a0f502684ee2a7f2e41bc720927365668675ca33225970afe8638f5851d7cdc9cb9a75f37760f61b68a2872ad850cd546ad0de963ec49e8ddbc10092cb0549b42968ade62043c8ffea2e472063879a396a24ecdbdee168b305315f7ffef36805290e71590ac292488888972eaf3d026828f8288c94a8350f699c1208267cc3b0188964269a3b567e1a18c721f625992cc0658b173118cd3459ad76d1021ee2a865979b0e15bb847e4b26a610e63ca5fb55b9c239e1a68fb2b6f3ce2bc704ed1f10907f4f31b3ad637ce97728701261704db55666ac251af47689705a24decb11cd8454cacd0d65c3e159172e271676cfc6daf447393e29d15aa1845769b910806d8e5280a8549131828695cb9c46e869f0ef13b43bfba0dc78b488d35a87d930726f0cc4d2b046cea16955f768fec0dadf1b05a7098eacaad71ecc93db08d580ca7630431a3794bfa478972fc14aa407d66dbf9dac95384f9b23c2887fa0c3a4b9e023cb1cf82b19e23ad4283a854422494a2449d3a86df2c9547de45289d30f2eb9feb652b84aaf7108972239a8c62ed0fd782b49cb9128a24b6caf3e45d7d993aeeaf7dc2f134ffefb172c90dc2242fab6f75b7b5d76ff3136215f180ed7814eacb66663efa46f60f72677be93694d13ae5404534c3aac72f2aade67c9c512bc330044697fcea2c5cc1682dba29c14a2e7250e45503e61e4f08cb1838702de78cca28f5785d0e19a51d71dbe82ab21df0cd40e61d630f74dda51a75daea916625cb3c403870a927fa49720c34c7d42a538d7e9ed090ab8dca72b71ceec065029ac7a4c841404fed566666deccdc426f4d81536742273f3e14961c1034dbf8d1a39f7b65ba8cafc1ed6472505203ab01aa60a570a60176b78574a95683f81d7839d74a6b7576762ada4a39cdf8697309af3b84ba91ab702b9779e2ab53aa19c8295c3bde79641c093f0272043647ea86179d09bbabccc9438cd506701efd27eeb6c8b16f25e8c59140416adac7028c2e7ac79b17c996ff8cbf39b1b78c99bb94ea4055559c464e55981472e81b12b42cfe929ee6e4053b257587f30dc2a7fc9c29c42cd61d039d5b4e1772f08ba8531046f1e98c506b48c1292d3e455cb2be2c565368df3a5a3e24207c29d79bcb641fc2cec568df2e73b575cbda9127548c1d536f6a2d93db1cf8f8f37243be9b5486095de4b8f0e9dee85b2541ca53011dd7d176cb9b72be6b7848b372609b806e3d9e0db4615b0a5d3deff6f6cd582e1f8d4841d61144038ef20d15726679f0acd426ec1292b8952ee200610641a607d7cf4dffbafe093a0971e6b23b25526036838daaa94fa11d0b321739a69b324fbd7edfea9692d93d490c42647269739726f12f558da3b34e1983971df11ce5b85c9877c1a84bec92ec945a3c33d67f71dbe9631292ff603de9329382f256455fa131d88c6d093e63a7b058d418f8e30926ea6d2194792a33387649a6f03b6768500d404375e1c528c0bb89f923226642bc0d0d33f5e5095a33fc40292e12b5cd1bab834e275794871d0efb3e72ec77f6202c4d9e5507f3b8955616a5b54f9a321e7173de304870399c888e81725ad08366c3268c3d222bd1bc0da2674740bad0f8e0d9e4d6184b3fff6c94472fb4fce6ba52ad40594b13ab0af31a946353bc49512374a8a66ffc52c6acaa2c727c6d368ac21cc5b82e76786ded65c96dee18e0b2efed089f5b8940ed33c2b1720bda3c7e084cd1101aa711715f66b10f37db0f0ecbd5ed50b0bd9a3bf1dccd52e8095fc2531d7a83c8074832233817dcd857e3081316e39383661ea0d0e2f1238063c163efc9e3dd8cb03cffb78a53b0994bc9a49728fef1e4b0517ae9717f727d4b96be1a1d361f8341957ac6aa71c8b7902dee18adfe1d37aa23f3a3bb233457ca522607508182776b5e0a0e3ef410ecc165ce7ddfb7d1428f288170f28d72a170aa23532b9fb15fa07c7a5a7698b63cc3d8e36a51e9f5797f9265d4c3f672d40d34a7698670d20cc9e052ef99b33c91d5860f0f29e448a032da12559b767278aad619aa95b7b6f01fe3ec0e57892402bc35f1560175f091da7200f9b34272d8fabb5c8beef5756819b731ca8a46ecb94f48b19f0e4139bbb01eea89b4687206af1126b8c8431ce22b9990127f7e004f8990a0a36e68a19bc6e1c1c5dd0f35e67d24697a148be411a9f00038985ba661e8e9b7414165637467efc6e88e8872226a6245cb2d773b7485268574d36a3ca45746f9ec833b9480b7fdc4475f3d72f83537f5accdce80fc5a8892a6c6f870fff6eb53a472f102d8c933d126a32e724a4d2343f11705adb36c3744b8fbb53be6093dcf885297640ad7ee1b6c8dbe72632a49d0066bf7b8fa484b605ac251fb44a90514c2e6d44407a8b39f227be4722dc40918ebe2844af2d022d0a56c9980f940b82597761f4f914ce10305363f4ed65d30d6714ecc18399c2e1675a536d60dddcfd09884d98507b584cbf5e64f0ffb54d105bb9cbe03f0f57d455ad4012dfa63be03f1dd7b79c78931be9b125e7211cccbb1e132fad86225b4f38e60d9251798b214c67cf900364c08cb3a00bf724db3350dbafc817e6243929059ce315390326a840ce7d412937623460c7fce0532f3ea5d4903ae801a97c6f35b60e037724c0fcc92bed2c3dd08f33e756685721decd02758e2a1dac8069b2ec5b5a200f988e687925ef5de8032a568fb6a7472a4a98166538643b0e71df575d7e08f2c4c47b87955cd276dd59eab8a27a9b072c81e7a38824014dca425d273d7695519a278d3efd4d56ac8debf900bc6bed172401ccfae4982d4f6a1f618717fd425b53a2ddc9115dd69b13280fc8543221772a310a881a480f6d0465c91f7c61e971681488c5754dc3fa02dd8c1f597e55d72965f4dee787fbd012116487c6e2dcce6e4bb41850f795b0dfc90b54eee93a772deb30607073075bb3e1a43dc23f06823183d5007483fc7e1054009c9d7138d4732231a81022db6638296da8f4057ce978ce758fe8629021024d279f05d2bb572fde6cac42c4c7ce22c9048f65decf1c5fc474f0f1cada1103b42751cbcf8847257f0fc11ce7c1533c273e22c5f290b5ab21a9daaf1e8be464e63338a5edd5672fa5d39d02cc30eda68a04d2be202bd358685092f1faf30addad8eb079beab848367e22e00bdd5cfa3fdebf8c6e05c210374abb014662407f1db3aae4c85a783bb433d06d16b233d7e1a73ad15dae7037fb1f7227c1a1028e2e3965729d769226cbd8786bccd6cabc71bee861899e8760fa64908653ab2ef735c88cf5e12c371a53ee555713218fb77e4986f8715fe97c8196d8cd3a7b8fa5cba092196ee18672cd0eb1dca5e78317d071d07d43e224af914b6b854fb17dc352933ebc5d73387223eb0ebbcfcce22047ad7d6108165b730eae8808d964bd269e92287c4b39c172f3e865ddbba253ee8e380de33dcad37e10344e372cc4c2a3282a3f258a5f9320bdea7cab4a3fe8aac72437a484a380eb1fb9ab1b195eca2c0cb4a145c8736b729a3f845614f775bd3e9052a90f67a2f63dd71cc3518a4dce52884f0f9a20d12d86eeae57f8cb8f2b9c0d23f839173334f744dffa9177eba09ac85465fd32c139b01d21cf6dc97f1f46c738591f9966ba104d62d3f9446c8ab6f5c9ebb19f6c7244465e59a7bb562e1b3a7b5f7ef29f50e042ab27eb5e9e92745306ec4c792f72c0525552e28cc9d7447448009ee202b090ea2d7f5afd78bb848f2d5c31ef9d1f61cb1a650378ede7712706e1938b39410de338888001d8fa3fd7c8cc433948690ccbf1e7e193b8c61bf63e9cb06d8a66ecef07e06472c40335cb48b3338ea1455d63a2fbfb3b026319e973abe545ada66758d6eec599575bf3d91c8ee5d61b3ac3d51daace1a0bf5d990a822b7a563dd7ae56f25964008e12e1efa3f165e4a72a5b0cc9bfd507a456a212a0f6bde2424ceaf04071af19a9c7c0948853d579a6d936b162d1300a0c4d84ee4bc7488ff1fb6992fa0dd38ae447f5ac3b0fd5aa4554b88573c4ded9a520a2c25c0eec59f2651e50ff70caafb2f09bb41d1c7fd8d127b32d6b9b4b36026969fe3d96610575edc3442eef55a951c2aacd0f7343b442fdf4e81e7a22f53fa3b010d365b7161a687e8b5aefbd088e94121b4c8241525285c6be2f0c500c5c5f8bf57f9b120fd6a9ac65061d118af5caa7719dd664f1d723957d638c8cdc415cff0f58526f5fb0fc456e3979af889669907280e36d5e33c1eba13bfaaf27401decc18aa64a5cb2bccd30074ee5d0325ecdefc249bda2a72c5287a071317fc19bee1eca8825b1e74f804b060b1b40a2f0265859a0b051d7273eae74b81a50884b06d5e4791dd25608eb262d5d3ff7b7abfddcd2e47734a72a4aadba63b71b66d5cd175d7f1a575724cf7760407c6932afb4c307ad7e8d5603632f41ecb813f08073856403924dde1939080c1ec8b64d4c28e4509138f282955488e955e96b6a40a2005924cb5d350f0678c0932a613b217148f1802a38c727b529044450c3c497423c83c64048b396048b447ef16f27d6d0de10338c7092417a3b561c876d232fa9b9b61471ef81a6f1de6157f0d91a4b7a2fde9943d437269d1b3fb46f7cbb027a4fad65038093801a9ef4067ce1a48011f20611a0ab90dc43054d6a896d0999695c623356aa3ecc6d463a33dbb19ba60285b289d44627298caf41d41634fd83fe4c74ec82104e18894ff696c60c4cc39406e2a3f91a7722c1b0a5a8168a9403216fcde77fd3bf4175c14cdaea928e0c95b79ab8780a47239cb72baa79a8480df549d64326a4860b4b12ad73cefd87ce768a31fa8f1d172ba01004b9ab0a4ac1b601a5faff6ac15c05c571c987dbcf0eb0426a86d261e36eab4448ce2f6bb8b93f41cc122c2f2d07c8d7f4472c30fdf7a0d97efdaf0ac2856186e43e5adea0dbc56440f8b3fc3d878375f4cfde92b42a702dfe1942650720a2f330c69ed3803736bcb8188a46af6ae7b61e60276f7832b0346e1b4b788728546b001f5ad6d2079baac88cdde66e3635e4ae7e265d17d8d19dca2c3b6af72ce80c2a2d57887c6a7c8ae3defa63cd1757c5d6a6f50481eda6c2617202fa767b65563894d03fec64c575e85168bcc616fa12704d7a7422de7a7e5f4a681f57289635a51f8ac38e8e62c76018769cfd307ef33e1d47568de53e29e10b967d7727d9c5f4c21bc5210624f2a51d8bb38d109c820509457cda72a3bbdc05306374c24421aec5dc078a95ae2edd08b174857faaf9c5c57d1c2b1c9ec45e026d11a724b46bd99e69e932a4f2c4d4e170b2844de90f8eed49599d29404672889fd6925a5b1a5aa3ba0129c5b0d1899744d81001aaed182dc00f3ed4be516312d3fcc6956620e279fd2b4ed9f9ca5e4e6c40779d01b174ff27afa6bff5b82738863fb7268d84c293978d96a49a46f20149e150307a2b372963acc399bbba65afabb7e722a1213da166b03738708d1a12310f263d9a79fa0ce154c9d3e3c03afb05d520f78159dbc92afa5f4b5c6601418e97909a5433650642ca38a49f7e576bd763f72d51523d6f3827e52c1b172e4ea6cebcbf6d00b3c574a474120b3abb60a1ebc60ba8b9a2eede68ef0f7bfebe5834de40648e36281d39e63c70642e00d5ca79b720b3f9190811d31a4a98c0f3775e63039501dd7cc7d676fe29a9b25b64c2d6772cd97f4c7dcc31686b1d1862c98be76ffef500e619d4ba205b862aac9609b356bfbb51094bc9002379b0e854d543c23aac66a0dcb9c7bcdca9ade2b0e3077982e203a8d5a634eba8dbc6122bf0c5b1f53241f219b10951f8f0a9089d69ef41172e906a6ea31173ac298c724795cf4e5e0568dc01f21a2f22c48dd49dffe48fa46d59683c71183de79c5269c55c2c570d9551eba894d859ae33c86a3e840c22c72fd819bea5cce923763e33bce9313be72345c1f7f31ad068ef13d00073898397251662498eedc3bf5ad9a66d9297b351bad1c70f11460b442510329e065ab667220a9d1018adcfc3b13aa165f47a531900d55c6bf0afe8b992e7cf376905b7172fe7eced566ad4d2f7482cbc4ae1593b05660f7f68571618313b51e626c50706adff861647a558cc0c3849bfd00c9af98ae0b9a1ea7057ec9955efef27d34e11ead29ef476df864ccf054e6edce849372a4318d831e6df56a95ea6690ab2bf91382d9f82e2c10e52f18b3c26b198111c6508bfdfc30d7d57ba2a72120bc38b572bfd80b14f6b8eadafda55935306a947b73e40d3f551fd4de9428d7b4fb2e2423a00ece27b4a012f78312e372e68c4a678570469ca78f2b1254b2f0219bd80649f2378b05033c707c7c00886807408a12cf2d82fe41083fc815b6bfb1e2e34172d3243b68514b0c4a1da30c00944ec8cfebef858d1817738d9a2ea2688b257f72d155b16c030ab9deff19a3409e98b2627a67523b390eae2a460aacb69049d172e2e248f12eb13c387e0a88a222e1d74cf4392d790eb6f8e284a2bac21e1d8a1619c13eadd7c4b7e2b11548f8545f32774f85402aa16fa12e13d3ffa6e8c1ce72205d0c4a6c2c3438e0a1f430238880df5f8a1c410dd35952b8063b93426ff172351c6aee85e5abfc6db6327f21c818a71c803ce95221f9e0fec7b0eb12cb837241d362ef4e6bf4dc6302e74daa6f397305b912d083c14e80250b094ab08f5559259e6c18e9366ae3ffe3b0e7831eec4fb48ea6ee8de4ed3db3f770289db690728da3cfc49ce3f1d180af12824d231a3601efb6b03b412594dae8133193a1df17d0598fe50a629ef11a88e537074bbf1788bb8a8cf38b4e56cfe630a4615377408a3044101b02e8ee6a4ebee9606516dc89e1f15b5e3f496d224c28c456823942f41d02ddcd3ce3b6577fa549270d26d762fec64fc44a515c2025a0beb7e8ef722219cd7e8351ea20725ad642246638b9920ebbd7e0525c89136b1320492a5072ad2d1e242e0f6e2ff222feb095d7af4fceac46af85ff94972d3c5abf8e3103729141bb2650134974d5deba9c9b143ad99f0e6eaec6717034bea1335e869959154cc3ee66d84f02a06e9f4d2c9194c5434449e8d516bd63adaa8970a998ee00421698b7b776d96e64414a389aa52d4ec38dbb425e2a47ca523654ae2a28115159488198c8d0592e7640a93453e9673b454a585926fcb0fa49cda8bbdfd433d072ed5cffda59dbeb94efee1f9a07dc29328b9fe6899ecf5d45c36571784f49c320c0f90c9296576fa44a7565b441a1df506fc76df5e343080bbb6bbfdc212815722b8156bcf7a1690e5727a5deef2519767ed29abe462988fcac466f49f31431721dd19c8c328a020a280b33d43ca49657302f3ce608fe8d60e811911c251358724803ed232e5959d9c52f27bc8105105400f1fae697f89f7756d4d94b34e862727765cf407fb0ed53afd6ee6c177d30ca1c4ca0a0d69412b05896d235e177972e3b10c5ce2ac95be22f24f5381f0ca38d25c6b0a610848feafc1d979f910c46288c6af4ecce73631f6321ff292d1e99a6b6e71c5f1970dd3f5d0140d54542835ec0d9bdd1d3117465dcabaee0100bbb9a482a60b81c8a7fba822220f5eaa1f45e4a2c5c91830859d2e90aefd41486206852934003eb8a689caeff73fbbfd07072dee42e0453f1b59451f622292dc34ca7353927316b5397643aeba15c0628a33d6ef3c60bb9e4d8ffa2cb1291e0764ed4779a2d0a100b12284acd182d82d8100472831e500d3630101f9453f4599962d137790903d1e5f108ad398daf2e02c4726e5f24721f7bf70860036af2efdcf55b6f2434f7b3fa2bc26aa2c6f36174a472b75c4b03dde41df77678df65de3dd3f68b343f05c9087cd618abf5ff2e1d1472816cf97a88695226ad843359296f6e330d67b24ceeccdbab39060a8a0f2b01722b295dd36f9d2144f8b7cacf80afa0825cbc7d8238bef1fc63e995f3f0447d09851fe733a4ce576376f73dddf9107c32faf14fbc72db840a2a86268ce5deb5726c32ff5cf115ed9fccb314f080d89301b5e538b9d04ba288c1050aebc3ba1172532f859d6bba45ff2f88df1d0216c72ca6c9fc4f504791618c24303f1668aa7288ba54d8d500dd58e104e252adcca1b503a683505e3c1af20d4c38de2265c257ff47f7d633404ed469f2b58c5d5e8d76fa809a58232fe4e42d0e4dfa55185f7256f81446e965984e74c38fae6a46753295c7e1c15230769dbdb34d3a652c83339ea12bc02ae4af8b406f395e2cad41d3a2b359fe6fd6f9ed05b1f300c950e003f6ff9785bde737a54809d630c50bc25e5aaf713264396854772d21c2c2128472e9abb26964d6bf902bfac439e17d9ffc2b3b4ff3e9decdfc0fae8095ba240c2b7cd45eb5a24f646c7397256519dc3b3fecd50c83f63ae8dc9ea89419dea63f723f322635ec21e0a9927941e077f48ef944d6a2921c3e1389ae4cfb8894a33b4e73923b24a2ad1da64548a66d8c88d8df4aebe768c5cbce7f26144f603c953272aa3dc3623dfb1a328b47e52fdd085f3199acc9f21a85b3f0117302f3209ead7291b761d0be8b38ff65b108c494bf65b153162b719a80e2feca28d65a57644423a2a0a463744348ff62907002c38527c99d204286f840eddbebbe632074def772c62397fd0917eb8cb9cda25555b93720c665135761336be46c9b7d6e2541f23d44221e742fb6137bbaedc8d68fc99746e95b76d43f77bb639db479a4239a227238678372c15944b9c476b546bcb28d3d2acdd059a68c1876d63f2e1368749a72b32f9ca6ec0fc23ee4c7eeb7a41b4e070de565cf6822a7f2651faacea41e9c54cdd3d5e4fba56c8b58825f9caeb9fcd3b060adc8adbe0937c0467b10fc4a8e6a9824c66670a37752350acb857fdc8b9d93d3a5b5fd89406fb469d5df2ba64272de64ccc7acc6bac64fb35ec07297121eed73a1157217f2b7e9dbe85edc60f17225014fbd04fde659cecc00c442a36bbba05a21b1a88345264763afe85e5a662efc1192a0b6dd7c17b97f1a6e6dac9d0a7b6cd32790ac5c078b51e23c88ccb8723e37b6f4501a2672fc176651990a191add260b64d0e27a0f04087b0eded17372ff6ca0a3ad6799d6a431740be55a0a4552b728c33b8fa1d04d0fa8ebd18322724bf1fe3bf801cda7500797ad9e1636a1292106439022dc20bc832f5b8fb254397125db0a9ee77267ef00267e4e052b35bf8691a54d921bf87dd2f49735770c728d636f71a784d918384698a17afdb7e649e4b2e57454029164f27ddd4fe8517248c48ed2ca160f15f9156fedfad2b2b78b8ba59b2f866411cbc358df5a63e772bc528a305978631f923e2c37dbe61db88a7fc5e02483cdf1a58e5cab0cf5ad720be3f367c0123a7b3b3ece939f5db79ebb2c9de0b1d7c8a3e94e223e46628f461c798b3597fcafa88e2c5cb564ae6f24d1c90801bdc79d3da6bac9ca74466d0407dee4124ca4bb9e82a3645220946c94d1d233265d41371b91e744af874811729a1a7def823a0dd389775f85b7b3f514f13b99fceace4258b6113bfb63a5461e4d4fdc4f58dcf0f026c97b7140bf4e5e1b6ce5fea14c064ed4d72964a893c872462083755bfc7e4b596958041d1641312305f82f03043fb6319be779f83f8772f7f586a372597c5b14f9255d29dd32ce96be20ecb15d74db7745ffa8f33f505090c9cbedfe2c7637c128d2a206d19769e130592dc2843fd8f15f5f1d2535e772bd09181dd90e8c516c3e336585662cf29e37afa5621148b4c8edf79227e9463b9427b8460f5c13e9a7a4e69cd8481127240e3a98419131a41592def629075b7274345ed7db0c9f69158d4ed0c02c71c0a55dc633ea0aa72389573bd1e803fe721438ac68d27e37030d3b7681a2fbd97dcd4cc6e85596d888a2271b0b4baad21ddba41aa3a714ed9f865e737c1b3384cad45954f3b1503674ea8c1f2d86958b6dc5f73af1a5b8b40bcfdb19d10835ffdb841f3cb50d4526733ad343811c9130722cb30ca55b7ea6208bb40cedac076070a32cb37056eeb296489c4d4b77ca6f72c94aed6a025a62895d0c5826bc07b4a1d4ee029a505935f2b6704048047dfb727d00f634d5dcc05f65198cd7ad2b3993443bda3a4942b53f0bf22fe00be3e972d97223f65f7ed09700944a886832c3a21af86ba771a1fb0e3cd610ef23564d72ffb656aad927cc88e491d09de8dc793eb0d6844540b4266065bb451016271e35e84cddddf6a563d79d07e9f15af2bbb5733608ff5f8775bf8fd523267cb2797273bb133ae566ce8e390cb661c9387908aad4346f3ee1b0649c6e2cb531c98a72bb537c8dc601ccd9d17d1f083a552e06a8e0fe8b30683a62607b0ff5e3c07472640f1f6ed2f07d8d7980c170dec9671d85cf9580756bffef4e897880c6564772504d27394257851d44dd2be5d4a5df277aecae7ae204d87a1eb84f6d89c96e7271f5ec7f96e0711b6ac10ed94547aa3fbf359ac21cd54c754dcc5e4e2b148541b425b6dbcbde76b1f29c37ef65736d3830e35889be076cf005a01e8d045f1f28de087ddec9f4ee33e81d295dd205ba5f6fe74208249f34b0d1d9a267d0cf8472240dadd0f88ca1021fa73bf2f694b59000bfc66717c91f2059082692ade2813f3a4181be1700cbc3ae8e90e09ef84d4e105b0b3076971fe8a2c5ec8afd1516381b7516e294b9e122373cc8dc4e49f5d509041081c739352ff644cd42d0315c10c5378b2c424b1367d3c57379a8fac453eb9612e5dcfdff3b1551955a4e4add3cab4c0edc6dbdfd0fa2662cd7c1f05873328f8b54ab7156072be7bff2e04d9a72509be5c7378ae533fd151cbfeb44a77cac69a213eb2a2b80a7397c52b9fcd17240542325717177d56f3e8d1f571f638a8829d71468583a7bac32c17c7837f518542c52f866d2d4778aaf86c2fb740a27f01a9b4d352f308fbdcd6b0062ab5464b4d58aa4a21ea36487bd64f73ca6115be7d5190ca9c96478a5a62f85635d0f72fc7701f61c4d86082e2444bc8096b7613e628c0c0c1dc382f80bad270fad9b2bc84c271774132ba2dd595cbe0efab8605e0e3a40ad660cd35cd414c47500c272117387e2b576a3dde4e69d5af5352e9328c90434401d5fbfc3f9a47d5e649a72edeb157596051d24d9d00998409c61d406250d7952259b13fb8596bbc918f22af185e64727a7957812c492156e7b3547961eb1d19934573dde263a4a29fbc348f9f3b97b7bde6e9a67c90447b140c299b1c1e1227d1048e6cdffe02dcff8d65c8cdec31bccf64548778cab400529357f71a53877e70056d0f2580a18add05d556cae62fb7e0ef350c2d4345e3848e6a32a8baaf86accea338e6f31c249f4625748b59c96edd3469a5ec0e29d2e899d423ac60bfdb932ff655e7ff2b33840993535d036ad6c089156d27bc4088c600afdb2f594c882136b2ae833be7786f92672cde339d8c7cc5436feb089d3d51fff1ea7f93687c44da0d57121087ff03a1c7225d6ded4a30de2fa3f11b3e2e1396cdff83fc9a6a47e65417f737d599da6c6682ced5018593a0effaa46b4d3e46aa71a3543d67623b011ef245e259d8fc5a072c604d8235b1f6bae1a6382da72be3d0157c310a2a5e77e9ace85ffc5f9a18b7219af3a6f0a37dd23c956598c27893c6763271b6f0d714e698cbdeb4a013ac13b5c891295b26dc1977d8d4ab7dff3a4e4df59ef918c945dc6544f616a8a3b5b36fc69466b350200ae578dc82bd961534994f980e09d4d8057ec11397744db75469d093f8c37d3984487fcc1c7f4fbea1ffce402bb41b7cf765b820d81c6ba9572d2366cd35599e79102ff765f55fddf021bbdfee1846fc25aced4bdc82308f97215f4bedc391cd2c5ffb0ccee407b138e007e5740eeb9c976a6dc660d19bac4725edd8e79b116449c8916d7cb222c9baa2c128c41cce3cfe195cd3e7034c686728070f3de8bb654c9d6e1e887bf9f935392f368efaf78395ad2895210054aeb07af9954b0b22d0db4b8ed671df4fc4d192cb4c49e9bfa0d1c014016daaf42de72b3c9d0c0f64f22a9ebb36ef30b2c2582946a0a21dc748b84ecec2f76a04aec720ee4e4ad3b9fc9425f4350eeda10cba82833ef592c73271ce57c1962d146e34e7031547f135a77b00026c2c3b514ab88ad347514fa3ab5dcceef363551e18372918ba7904453341e56198e9e8fdb0a76be609f7fe97ba39e76bec04895625520500e357d62facf6dd899f6dcc024be8f73d159928366ab379f5a5b0f93110657fd44c7c7195e583c7a74b86ae3f4f883ef49de2d981567e16eb9dc317138ef3253a8880b43d009ccddbdb30c1d73a1009f41d3572610cb0bb29c0437a204997282d7964d7f522b5f57e826a321724522aee2f22053457c375c0069b9cc13d1669896c596f1b8829456d4b750af312746e21e8923c0ee2263bc65bdb2dde095490d91d3bff2fd93ae5a67678954b677324be66c06a2973531d634a9d5a1959972c6eefe6e674642881b90a48a6a0a6cf37238fb5c9aa02407a5d64624753e752e50c65b12c3005601be3b037bd59f2bfd7cee5686a5daab974cce67283cbcde72598baad49dc728f778f16a4a0aeccf676dd779e7ca77afa5d897aa49f1a28f727dc8136cb8d37f3410a7642cb5c5a6998ed65e1467e2a172ed5dae5d8c853272670643826788084c8c0173e2d10074d665b58583299d5cf8d15facc1e29e320e5ff52ef44e8d09f406e5b897cf78f40f23d8325a1476802c6502ee5657b7bf5685e1255f997375f1835364c62c9c41611710ee1ece5a28726b4350d76f9a54725ce10f60c4a2afc1c8e63b659db6a0abeacdde317e28f743ffd5ee54e8932e2f0023a66d00241cac5d22348dfcd252de81d7e929db132ddd5d5e0664b82b6f034bb2e6c316942ee937cacc3bf605634695d81db83888ad719db2b4d11206424f835e3c24c2acba34ca0d311e300df07ade93517d235f0ebb3d753845c612bd1bb7c63057674faf10be2acfb12170ec761530697b39b92d64fbabc2911a65b246b1991a3ed3363ed74a3ca22387e42f1610b00afb4ad54b8ff14ccb03cfbd9a459f1ff1cb3747c0f7bd2284abd24d4f2377639a959a9c711139789edd2af7c6434e5821e7ded8da5e7124838a3e1bef580991880322f35b51b17706440f79792eef54585d4846f288c86d036bd0b294feb2bb734eec6ae4fc81bc0b29c524c072c2cb61a19c617f7ca24a05fcd6038c2bcb8b4a257a18511408b707755476537221bb91e4d57eb5561aa1a3ed1fd90c4e938bf75d63d39a30fb9c8317582cbd7204be45b3af923b74ca7fa198723ec7b8ce1eca527dd4d271c98da7c66b7f1b724e79e5d4d947a8ac1fcda50782d3aad3cd2c9438204f24733a4a9b7490c87f72208c86e6f74148b155095b3ec8eac43a4284790cb832b0f38344f75eeaa0bb203233cdf50679bd6ea546a4a47de1383819726271b2ccda52b52304134da2ea43f90801affe31651ba514c2b3270d8195a520ebdb072773ec3a4b1bb555e096726282ab4db4a24aca7cbe00de95152a9f86cda78ea56b731f7d30dc86ff4fa172bd0baff5c2253dffaf191444c6ebf6f60b7c8beec62f5bba57cab1ce861f8172e12061fad6e1dd83f7b1331e100945ae279906a983efaeda7124aeb99074a9477399253ce41f92227e63d59512d634f5a7bb47ac8c7ed8251d00e2c17b32d25e069c9043d56fbbb186f8c42469489df3c4f557c4ff0a6bc57013e72d94c6417275a0c04ad6182e6a17c14b0d9c07321360e858917c5ca0991f86d6106ef7a972a98503f595fd7dd7d68fa0d9df1b7ab3a583c74ed53fc1fc4b82303fbf8fcd72643916ccb940c7b57b4d5e61f319ba2c620792866bb3e68fe63a39880bc98b7298600476dec0f2aa056bb26dbe214d523a9b5ed63398cb9f45d13923ee52ca361e45a82592b05b1c9096427f89da795be5e0d0fec1aae906d9346cf94465e072c40dfda1213b57ca8a60e72d1d8034301634c4c2bd22270b777e48b56e152072f829a061bca5e74f9db3340a2c5e5d012a2a2c8783003325da1b51cc672e640263508a338e36921234e3f1e74462b3f5675e6800ca9814d4692de41de87c415f0ad18841b39c99f8c36ddf0101d200bf4626492ca715ae538875c32fc853c943e52e9c4ccc6599ef59d681fb8e102b5543cc998a4c07d032edb684d0d3676301cf769043ffd5e69e1ad7bc1c08cfdf17532201ffb173818afbab120140cd47720ed2af84926276d7916b280f8a8adc7aa95f68feb7cb2e4e7331085693528c17db8407efd1e2e4d7191d978ee7c61840593d06cb09c7a16f1f1dc68474725b45c1360853ad5362f0d3acf02a06c6188696fae1b6e356327836121efd13f947723d7ac914d6b23ea3847b7cd645010bbdde567379ee82837a6ca8a9979fb96a72c4809de68337564253f36861bae459685fba6815f572cd1c9e38d27fe2045b09531e1a0bf72ec7684989eaebbea6c353252f83a486325a14207001853f51ff4e73f8745d69e115c5c1d78feabc61f30d3351af6bf44f773f99c6ab48e51ea872126c2dd64934dd23c549a9b0576bc222fcb559babf3235331468c5fa01e9b80bce8a3523a3ba2a04eb09a19ed102012be56517432b3651738b0f8edd745cf9724f2cfe9f559eb60bd29d213f904d44e795466da8e3fd9fb016ce8b4dd085fc24db7ab9f5899d7979fc05d15fbe9435d4af272be2e91fc0ecc566823c9f343372d5cd18fc5b2f46665e4eb02638e48d28f3d075a3f21f03fae07a7411f0994f725e63cd12da6cfc493e635e061032b318b0c6029032497202d0a004bcdb024d726cc73a11261da5e37372ab304c217935faeb53a1d3aed21e6a7aa6248582f172c5c0089492b2158f8f21f8935a574a742a40183426f633cd1674b0f826a26b176470eef5730b5f78eac848f6311ce68039354d59b2e608fcb978a95e06bf511ca77dc8ba398a0570510b0b1dd46d646551e859cc4cd36d1aae0d707a606ebf23281114aacec33ff64538525ed1a755c2491cae0b00a65ebf3b97e0f528b7f27222e70899d59dd44203a8f39c5ec0d02716f08d578440bb762ef2b402914b1c72d8b8ad51cfe0058049e2d146ff386da582d2d9daa5cc087b68a064ab63a4f0729db94423e760de163de6c39eef7d83bc0c0f85b90ada5fc02a48487f646d4403d73def57ca6b690e37bf6c3c03b4751cfc9388dbd96df2a41b3f56a52bd00c72c07cc29950e2fcedfa36060f71d9a54cdc4c2e226e07cb4caac2264515507e72e04dc2ca489649a1a79f0d1b26ae5ade7861aac033f932933d0e0f3dfe5d617263ac80642b50b8c128f252c0d54f34405205c6a1eee6b3a2fcef95b2efcfb272e5b9ae45b6146f045683dc55327041d3698e09002571e21eef727545750fff72c4e27a91dfce133b6b40abf9e4df14e9ccde197535e4b6410a00d8892d3c817262982d4c2cddc40f49070586d7feb2c75a272c2483e8e7b429538f28ec96cf72ff2483c0cf7259b14046cbea84d307b5a4cc0c2faa81f1707a9975d115f4894a4fcd66d4ab841f2d7d9c25ac93716d116be8057bb8df40e18ea2f3299af3ed5a636b645ec37c1645d43b66769a00c0cf5ae6fbf9abda3388ef8221657a78215d05a09740ed2ce7042ca9c0451ef438da49b0204705e35a7a6efc2a9f99e25769d62b2968dd8253107bec527a175b303de09a755f77eabeb6487daea5d588df6c312a84a84a8b678738beb9dd74f96cc393a2523bdc0ba0d84ae2fe5641b5fb72a801e14af3b96d9fa349ff71b1ff763f9c078992cd5a11b17d70de9802bada3ffe67c082bfb6667574b3e4889e1933dc32fdd931c6f9fb5e96a6055c630b7928f226fd724cefdf83c872e0ec089087b9fb376e73409dc93816c7710609688372ea29cffe93da86b18b4c946f3a1321725e5b417617069f677bddfdfd80b4a1725eb4fe3e3de605b19f6a565a4615aa617f6d5cf4d2511aa7501ac706e321167213ecaa398bc6070253456d195654c5ed6f5be5627bd520cdf45738ba4e9c562f502bde82e0ccc6ef69b2543fdc8988131f53485b7d694acac8e93925c3a85d33fe7d6329fef9995ae0e7cb7d4a5a2c786960410f578b0c0710c393bccf84d91caced230b8e129e07eb721ac44bb836461adcc25407959909bdf45abce4a74772857340fd40b59d9f2f7e2a055fa555ae4442e66d10f6824b211cd4f03330df1bdbe348de01e6a154d65b00ae21f858b49ba1e439c97819af24bda8f370aa5272d506f1f5618517e44712b0c62bf7b6a91b3afad778f8ab1a2613b1b8f96c3f72da486c99543b3b1d276b01bd8bd6a3e518a096116833d2229395f098303adb72dbeb81fb4480efb71547ea25d732febca06614a1f0bfb502eb5f112f2723f308a4c4d03baf622a2c324d7dc9ea71818dd58cc8fd226a3ed8f599f40e6340ed22abbf70673ce8ae2537a178e9307286f6d740eb09c3c74642d3d3f060c7a89d72fa3a06826560a06b231883d307b8ba72a476d244fd75610f9d9ef1a033f0aa5af28c976aeaa14808794f6d8ba89c8e0fa1ba35cdc46e02fabab74dceb925a66675441d7ae72f1533fd38f8d656f89107ae3055a10fc1cdb88c138246ea727115cf3484d20acea75b5c64a7bcde9c5471c02d50619b7aa13610f3f86fdec3c66624092ea989611c2e12923feba802db54b175fac2cdcf0ca2fc9e0d7a51e80a72d66f2c1003896dbc1c6dfafafc796eb86f5fcb748b248e99a464f5161ee1547268a9ba68b62082fc83b3bd6d128f5b23c018a645218a122b2459dc48a1f33972ddec961805ddcaf3fd70ff010d22ec11fcdc3c2dbbe215e407fc7895b6215272130f155c4ec6c9c9aeacf0b45290d7ddd8b14542b6c0c15aa02cbe87264d0b5186a02ad690c362d2c5a1c2d3b6eeac6bdca221fb53f4e9691ba0a46cd99072679c92b255418aaf1d1c2a671ad0d0722936bf8e63fdb44d39d8eae9d5188e72720c49f2f7d88920ae1d1378d5dfbdfd05584dc026ef12c052c5fdc9b00f174472e9ee3b6e07f3bdf712afde62aecf3574d47d614837812ed968fca9642b3ae4721be5fad1f19662bfad83df449655a55764dde7e80c2732a2f5e9f4f253195a6180a59559f8c95a6a32168bc33caf4ec64f12a1050340aac178e8d44fcfbb2a0b1bd8edcea1cfc503bd4eb18d03e5a7e4a7313989cbc8b72490c05c8d60c30a3d1c3ea4a57c4e6aa7d27853b1a8dfa6f1370e7898f84cc5e0509a73ea01aad9726b431deeba61be0776775c09720bd9075fbf1ac012910fde484f716967844b722aac3f27af95c90d6821c1e43161b78be0eae5de9a62e246991b0e7d73e83b72599a072ca5da531a6a3178a3a856eb33bed09214d3543c7ed34fc69c481155720072aa0442d26b8686b35b1e0685c5d436d2f53e02bc6128398f1040a5eee572e4f59092a39c49f5b2d55a6032e17665683bcfc514299f7f5722212973fa562afe52a4903af4c5d1f596451b47fd21b9bb4a4fc347ddaaa30e025fde8d68d072562365cda5f3b13e34cb9e5c0e4936ba866803c8cea22012eb90c6044f145b658b857a07a94612d047f408a20b3ad007aaf6555b39ac92dd959c66efb6e34472e79916ab88b1cfba7498f78d859dd1d43e3123a27b3c7292dd4d3bf692f25b722479a5593f3da29abdf7961d3712acc65cd61e8c0272f15765123911594acd3b11b0409afee3e27dd30cbd6df507de5883687accbcb641f98422347c28bb09724bfdec4aac8aa5e760dba91706c04efaa33644fd2d89e849ddcfda02c6ba910c6e594a54ea25fad7a5e3b23ca8029c00377d6526bfa5007258cd3ba3bcbfdd41c3b24e2c0804ecbd3a87883d27c052941799b0e267530dfd2259a1ed01a3ac5cebd82c98f862ea350206c7d435d1cc714b83b9253a66f5e5a50674c835949d721bd36aef2974c7311748db917f9426822a60fc1a016b4682f71594773585f372cdd5853f2c69e2578c1ec897e21a6d365269d33c3ddf7ead6c1bf971ec35d72e17ea489bd8de4f74ff59788c0ac1bf4f3c50a14f9be0fc6eb55e885c224702729d53ca4f82cc2b34d2395636d5eaf4121a3f8e89b4d589711f0a72d1d152d272ba9d4d6e41d823b4ef32bbb588c768c61a5a7d2cd5ca67a1ce2249e0e636b3723443fd7038647d20d98b3104b9b907636d3e5148d2e03382aab963dca6a2d80fb15716efb3290538a83b4f059bb88b3678b6cded637c55f351e17bc985920a724f0b38ba542cd2f59b6a938e9d24171cd6ada072d2f7f8ede4429fc295a4fb1e5a29503058319ac3f7e7f867cea6622659f6e8c55af8e63a3b97d93dd5544a72e9880d4ad2df326886267b64e6d53fcfa9ee82d87aa9a1c66d16598b965d22723724521d5de50e6bdbc9790335999ea5df29d40aff1993eca124f0f385d20172bc57a558512e72b4807f2fb4c3e9882eb596c6a70ebf38b5128f4ca10327894e062cf7799633d7d32a9a2638d931b46b6fef25647a958576ab74b9ce77713572822f1c715c785e884bdd1a796fd4a96d468b19c45498dc5e8d070103605462729172d59a7cb3667e272d838868d4f9a93ad8c12459880b4be014629982536553bb0f8af28410dbfa011a0b8f770d54c9a3cb6d1b91627a28464b62473f2fb60e5b6f07a2ff107584fc7485dc5ba5707a9646bd29eff880b708bfcb01e38de0725de541d9bf39ae5d6f2e71201fa61a64eb584c246880a46555a0c2326f929a649667916c4ce503175daa2ac3098603d1a669b1be1ebb2954931538627c1a5f30d700a2f5c4fb1f5778755732159d3ed9dfead47ff1876ffa4b9dd66fb6f20d0b1138601a17b2c6d2667f17219031d11ff335904c2de2ed5ddac9713ab4e32772c5bcdd8e483991a8f391531ad4a8402b1d891d72e04bf6605641f557096e135d45c37c100f621773fdc28a37b6819f317f3b64bac3c80c54839d9344b07fcc5a19e5c7240183c96ed4b3cfe394c671d341e7a0db7ca89a9a1c9bf12c85da97416180903cb33d7d4529061395b321a0a7ed5fec08d1351d19110f06a53bca4e0d7e8c120d347ec0dc3939aea877e3946c6f425422e975ec6730bc62fd64b4ab1081429e184a98a0f0c39742fe41d0fc5859b949b3748353e209197178996e6e0a329e3d546efbed0d40366d39b2ccf2a32570cac38d6da1cdd2b65388622dba3027da4a611014b6a225e1b78880701643a65c4191eff9f835384d7085ab06416e1bd16d8933f46fb62eb2f237b3b866984abe9a96487ed403e3a9e08e15a2d0558d77b477f082542e61e0d6ce89f62090ac5d0b9469ad02d90feda6ffb0b843725d5c7a23ef4363e58d449f42613f15ac3aef8e25c164ec32e485646220cb1320526ad40d0172d86ac66d83e48368ce8b72ce60a64c738e680621a9ffd3a37a7296781f1830ebfd26262b804af07c672b330de75562f0299ab3a22f0675ae2902dd99d04abb5182c4cd7a9d86e218e7e0a527fcf605f29b7031e3555be63e416b0dee3263a31e2165359162305c92216342acd07c697f0fc83d5e980edf6dab72649209dadebcba9e41b178d508b823c2089e96de8d17b7a6d84d9d623e4a53724e0b0a76fb56747c216af1630e6d1870d453e3ca23e74d5ed78a6ff61b4813514cbb69f0be31f4471db5450963d856b8c2ee1eaff105d5d92f28004b62115e6b9c654a3ffb6dc6e8c3d68ddb0129106021ba09ab0b0ac21395845759c599ee7281026a70c3e9e10438dbe74b2966998ad35ef37f04690d12116e232ebf09be72657f4669eabf6473a6900df21ed5c7a4ebd6d8773a2c8d656e8b6b3752f4ca35dd0032fdfd8dd0e1d90aa4f822b1d9f247a9f4df7cca9cfb218ec8f0216fa472171c44f4c4dfae69bcfbe866996ee07ad7f61218b4e92f556afb22d2720fe87258c3f68f5cb454b8d1a12e4cd2a1bed2fdc2a06c21deb32606e1b73b3ac721724f048b26b7931c0e9f0ad276a802ba99d19ea5cff53900c0463be3b8ab4d4d720e0e81f631a8c1de05c488de6200e9326c091d382207a25efc27dc7e8446161e952a6b203519f3d32223352655e9e91d2d4a77e09668a93f062321131d23864649fd440fe43ded463ad24d07296c41f29a428e50ad0a98f4e2a0048a369ec924690daf1a663a22c08795447b3eb82816b35d68853396c7652d98ab24f953a672cb48bc83722d65a03148180832798ff5e36a286f676da6067fface29e1ab957217435dd16d079e91957273415b9f219ab000c94497d26d5d11afcbf6b2f1fd58108dfaf9e151d9ab5d16b2e844b647e07647d0a95e186edf98cd214073b0cb7233851c146a54b3629a6eb5f91261e232a16ec38a5a1ac83feb41a9057a92bf0ab869aa46aeaabafcad3f860be7401f918df528cafdbe643478ab8a662f9eff72c830c3ed72eac2e7eab5b1feabd3b47b082c669d400e40924b8cd6353c907772be7ebc4ef64f1d1eb548486daeae69ebb11380385df5e85119b12d6c3c7ae6637d7d42dd62c4f8403d98a4ba4a0eac3b13d40935940c0952903f843a394aa772e2f36d27fb4159a322faa21ad6cde6b07424308ed8a6e554576039a856bf6b60d91a528f37f338d96d153f4fb3992c959619a02ef63c12bbc71561d70afdda15a4a51650ea208f2e2750f54b7afd46ea81e5bf5966d7765f8c400f327c339e69cd5084ca5814d9fde880ebbdca2b4f02fe8cb120b939f90feb5410c520dec672915b6fd0ab6ca8d56a8805c688d59ca514c6a0db0a9befb44aea6a68498bf7723b581050de3ecacea40cb249c151b57b7faa6b990e8edd3d8efde653198b6f7219e3ede83c453bad8b5d3b8b47f414ba7a8ba562dd70c92e94f0ff211c142e721d5c44d96334ca94f971ab7ac9a1dbf8499919d8445695d9211260aefffbab72bf712597084bd4d90e22d629c383955ea229b068bf56812ce28dfadf25291e7215a322983f13d5dffa3c7cd8c6103aedbb9c54426e3c79425a8f4d52e1c1e16b39f5dbdd3cc2a2365f74400122cf9fa3a0e4597efefe9fa944df3c37b3e3b764d27e654dd6341a862a7fbe91111d35a62285d50172d69188234fe19251d96772c09698fb8dfe89b260a6abeb7b2d08565080597113384df182ba201127888572dba23512a39e58542fcaea8a88297dd3637658dc0623e1b3fc062c1d9f64e3720c32d6161c89b3795301fdec12b9255fb617fa6e8489efb16d67a0e7398c66068bc021303835688d38e17b1fe8c19bad957949b16fa1ee0ef459e2ef2187c672d87477ccc8c7540e74e8dc055556b898a13af7dd62eac7d4b36e787c15dc9722ed2af6b44acb47dcf3b95b825fdfd579105635685f12037c7b706686e1b8dc34e9cb472988ea20823a9516b926143ef8dcdaf9a74bfcb45bb25c033e2833844c0d4a981552b0768ab445c7ab253ab0a5e4b8f699d50e99d90b0b2f75149a3a5f8898dd33ebde66e6ed4549d02ea4dc41ab9837af691ca28053589928ec1a82726a07f628861ed8a0c3fdd68c9a957d28f2b6efd1559404cdb8dc630ab3df6c7275c47700026f3d063c228a2d9101299da982f3750c87566bf2c4345f9e6d6f2a00acf3065e168562f9ff5f17aaeeee9efbf7dd83a4fff11ef266340bce9f81727571d9401cb7ee866fc80a751788e6f14af125d99f850f97cc5e45c9601b130a98842dfed0bb7eb873dbc284c26fade416e7777b04e09635e928f78599f1af721b20d7bce03e3dacefc42561370dc34943c087e9a4951e599837303d4f7363562c636435f70f384e89d4db7b4530c6edd0b0d4526d08f0c7596cdb577cdf483668dcf6d99bbe964209472917727d1c2c283c2b03327636155e451512ebc35e726f5819f8ed0eea8917c43a87d7b817a86dc0bfe95918cda8e9ec168ea3547072c096b88d9145fd7370ef4d00b73a7f7011903839e75affbf7fe4c0bad1db1446726c7128f8ea595c1e40dd665443406de4174bce0889af9717d6ba152d11d766fa53637bace2c4878ab976be6ea61d5d54911c79055065d16aef4dc995fa7627061ea8104d0733bb29479b9c74e93b407100017fc7772f128351570e0dbddb72b31f236cc478af398a7cc92a33b963660011f5f7b41ccccf917e6a9f51372a0055c487cd526bd14fb8e3c5694d51b0c9377f9a12be3233b0c692e61d81d8eb3a69cc0f31457d809ab5383aabb333ab25ef6eae890fb09782bea6ebf8bbfce80d63bd43a00f3c9f4480c13ec8056716b5b5491cc7908c474a541fa2e6e25e40725e2888fb448f3853bf76bc73d7d859f2aa77f860a9d8dca58220caec9717e03897b3cb280876639dcdec9368ec3530b4092c81fb925ef375042c1170fec32f7226c03fe11463e0b0ef7a76d76c03a5ea6ad10861f75efa2371f54c0601b67c72f9ecac267c1f091c2fcf28cc9f6f27fb2d64a766b4d7273f055251192f6271537037fd9cae2415dcaa0c934ef3e115f4f6d6802676486307887902c1ad4b3a35be0b8339797b9164c65109f044e1590976ba6129c46fc7528e2ebc3b6036af72afccf441793788e9659744eb9cc05e1f6f7abe0cdbd4ed556c203253e9642d2ad7c87cbdf852cf6eb69f23fa163ab41730ad718dc08d3488fd3d67e1024bfe57f9fb1f670160ef4dc4939c4ed3eb49ff5c271a0f66a4ec4d6082710cedaac96dab121021fb9bfc7a93d34d43af0769d1d3a8b1c3de7b7a7353194278508fff72f9a954dc4e019a90e57e7be5e7e6b427b39a1a11c699a4f97a28772bd5382e671ca00ce5c1b2024a1b25d056c2cbcfd187d1076185e31b21574fec8d48f25072ea053768e653551a71b3d85793ac3fa9ae65b2d5d09ffe6db7953d439fd1ab2b37d831775417ed739c7a83414b457accfe9fe7c7c17fae6832656ef494bf02720ee11886ae73ed1e5a92e0e9a27e4e976ca80aab32dcd03ec294421f4eef70185682f18233ba1f25bc01383f51cfdfb03f5c30b166f7b09b119b099c54d3d772f7a103e53950d0c376578da2e320c94166c8f805b8f64842a328d5ae5774ac720b146e621aedc56434110ac0ca37e3bd6aceeea2262426e1894e39d25007a3720696c47760623a6f31c1e4f206e49a7c3a8ff4202c6c491fe1999743c4bcc57280480cd5fa0bd024034cac8bea0f3886670efe4f75dcafd9060c95a27eeefa4111a1a0c21e546306c401c3ef0193670582383bbd4eb51730f406303c7e39a868b70c114009c4798d77a46e5903cf0bd1dd82ff77536eed94773c7be057d3b92ec97eb948e26dc24e511ec87f329fdda60a9bb0820c7ae8efd5758e70a2d6774323f2f107369aae166a7e372deadb6559e822787be8d3397f7ed305597b8dc529be0138d520f016dc11c6a77668a80e75e0fd853fdc8ecfb60f606cf11ac5c1724e9565c54e89c31377f5d2d5b58e9a87236b0f639409446fccdadc5cfb48ea72efe0b6f2d873beb79478c8c7153f4bc9e3554df1b7a327a5f70c59d70bd4ab72fa7565183cefef9ab53669ca7ec8f0fd5e305df61255ab743b0abc7d38df630f1631d739a704514ece275662f03e645d7ab95b8967adf5b34e24d78b76e99926d7365f6de722ad15ec7e5dbec1e276e4a8725ca4bfdaddc410aa13c7be7b8f7215c89d0b7a8df77df270a7e3866d1b6dfb6131154f5e8d0340a895427a58e75bb364e7f52b854f372c2b95f5fb876e5ed137c03cf7f2a71085d9706aa3f0ba0c68758282ab84717310712f336b6d7825e337a75472bee0a291c1b7e6eaa8163440d9e5f4a46d431015cdc196c67cf3393487fe8ce347b4ba0f78fe4ac12da509dbae80d3245ec125f48b9738de298a57f941a74bcda397410312488121ca071462bf302eb1da49f254b906cf8a98a6a3ba51faba036fa9d981cca23e3c8e185a16efe77c5c2b3c7842527caf76f740354eb258f45d7b197790eb97dc76428672bdd553b99553a35be99884ebb32fb7ee821b1290b991e39005cf8662457d0772abf778be59fa466425add209f5ee7db3e6c96561ab1c26d2002ada067b8dc557ac294c5b2715d7018aafcf6b655d453f787e71c5d107cd5e9428d3de47c289728d9b03f50323de3c6eb0a410f911997bf1d994c6fe0a84d7d22d361ee1c2e967789bc9d6176be0e871b5429c188c7d9349358d7db5f5ccf814ef6fe728cc13017924a504bc5bf90b84c43ff981c60f868fe6fa3c2e14930fda0795d86b2c6772851ef6054a644d07163f851c211f5a56021418a2a6cb9766b0a242dfcaf71c38161ba3a4b679ebb4488efe92d1c5ded61d75e6228e4c258c23290586f0add30f3242ff7f4d3b6f53d9a19ce7c1d86c972e175829d37cd5e674b04b2a1b92486421becf98e108809177004fa65d412bd3de35b0f6ec8938739613dbf42f536257bee6fcdc606a79bb2f64ef786e57724076ddd66ab7cc97474388310fa5ef8a72fb70e9507b74ebddb2d9f8995c2a67a39f2383aaeec328674d6b595a0bbc861d763efb6c56bbe6b20ae583ccbe1b92af69f6e3ba298beb913350a1de667f2172776179ec9aef045efde6d848917467c5e6a667015c782092e2cada3bc34384720eea24a297dea46f0b6d2bd4ba1bea077f3df52489fcfe674db8ae7df5e0d772603c04387a29a4df1e19a0c59feff13ed19b3cf7824bcc29740c1a483453e97207e024f4514442189b616d693cc20cdffa479fe33bae41a1c3ebac791c3ec972494894265f6beaa84630cdc8440f4babec88bbc4c3e124434b9ab71a3dcfe736286abdbab8ceae328ac3285763a5f0c313ab1614ffdae38135013d4dbd7a915365d1f74b549a15ff4531701c68a0eac8b141c2547808fa702f72fa04753cf8720bb8151cdaca10a0718a3c948e79730889aad66b0eb2b9be63d1212fef639d251601fd9a3a5cf81f6dc9842065df2ea87d26860f387fd6d7f9b0f9fec3b365726c2d0f55983c121b826fad9838b13493e98c14d883ae2eb0069e780e4020ba1ecad91ff0332ad058a69405a6af25339022a3bb9e4ba5392160912dbc94c01972cced89d45e9c3e5839a89152b7c891d1c3bcbe43a76e062306017482c31287720eeb0b617e2bde1cdbd1897c2918a1c1e776872c2771cb0af7d5f7da4660ec72b51c4b1a0b832ccd5b87610aacd2f666cab3a78792be4999029e49e343428372bd79f0632586bb4275f538feaa47043857e1f7c0cb4f0b2f5b5d1b979babba728a01b06e1923ae3c76a2c035bd25184d77b0c954fdb5f2237faa1bb6eb86455570e48c6326974d5c271b48cfffb43ae9ad40a2dccbaa87b00a6c96194ef58e1bbe9e912994fa62fae6d60786f079b923d3f17d860e0ba5c8a02519f5daa9cf72db658b250262062b9bc751ba7145daa35ddac4f21e4c83b921abcccf9eac27347ebcd07a9f4f1a788a05b5dcfb2e42eef4e8c93d88467c83fb8a1c76f2219c5aa13e89a2dcb7384e794394cc2d5727c6ce74ee8df3bee512c88372abcbfb547251edd15e08d5f58dec6ff19eb721cf287c6a4a920f3d2ff99753c2c21a3f1272dfa66977a50a966323f250b5c6ca9b44b44ae3857b17c251bfa239ee323442468ae2f967fc333e45cdc36ccba041484067d0144f13d64a5074e486c6355c717288666abcda68d12d755e280f2a2c241651e239ff471616a5106d9446d7d85872ccacfba2c28789abbaabb504485292e86f7da819b63da88bec433f214d84b44f9d46efef75bb12e129c9ef5cdc538a62d90ffa09a6afc177f6e6c10a3ab79272a0f01ff18e31befda5d6a071f46d54440586b2834d9fd731bdbe82dbd52ad57241024fe6d5841a9d2391c2016f56ab7e82dbb183056375a7aee6b7525a7ca472cbb2492f97435aff81b482792eb8ea23743829549ffe46e090887d63edfd1a72c1cc1920289904402bbafe255457539f2ea116841cdd9c91be6778a0e6cac05fb8b34ee0ba5eb2ac1e8884485f061f06c4af8a672d1e59cc284d0d18cd5e972ed26633ac3b2b6f6447af16ffab01354e203a2251af429b25de1593b8825da3726c5026235d167fd2930a49adf6d03db1b69eecd0732c94e1acd8c33551f832724b4b63bf5a154bce2029e61b861605ebb54d8de95eca75333de5f86d52c3f661ee11fc5ef6b1306ae20590b1b6cee2db220f14682cc4b56f7f39e4e792e9457208990c48d53c54c1f012a66ea5482b374339517e616e5eefc1db9a8ce23e66722317f695ab51c915b19412c49f83af01a3467ea9d24cddd61182640ae08f7f222dfb1676fc27d8bcb7e796820b1816148eb88fd789551edff0c8c8f16a34e945e78a901721b7695231ae2783752ca8866c3216b65259f7f33fc0a35e88e765721a3ce2ad21f6f563afaf332553ce045ca8afb8ac61b2fa76926e2a3a8d1b3e72c5e51dc39e0468b9a491ee0f4641ada50306bd46ddd1d2aa33189342b443402c9715b4e2f8ac41b227141aaafc44942ab3698592a44c328f5e05a63accd6ae72164b8edc4a504fcd450f4fe8bc063b8cb28b49654d0389844d53bb3e024ab654e0d7ae73d90b9fb9a0035004fa6243d70539ae8cc2802b288a17a76144535408068124c74251fd5235b545908e4248c6147749d651efae04546deb5b0577ec728a883d53897e5419a108cc144df6d74f760e0011905f04bde09138db72073c7250f5c44bebbf358dab20ed2e7c0278ef252f923d33a9192d883d5b075f130340bc931fea4658dd399297a7bc2f81ca5d2b4ac210cf94fadfb01d276cb1155d529dd63fcf6332d0d69b772c1ecb4388d1e798ee532c91e50b3f5f27a20ee9a9722657f47676926b2a680b4979c46faccc7e8da1e2037b0a08e296798710957f171f0b2ae7fa1ad7ea5457ebc8d1dac1c2de1953ee847b09833d29af143cd0f972e065d079594c54c4b22fb611548dbc9052117e10f936e46abb3e1651fa7779720b5197da6a59f388d066fba1c1f495ed6f274da7aeb6d0206b3a46b65a09e6720de8c4c3d26e84d1fd0aed80023afc375ec932af514cbfc35dd83bbec0eb6172cdcadc8327b841ef6e967c024dbdc43ea03028a1175911d44fad8250ea22de72bb98717d70d8b700dfd2deb2fa27056e3cf0f1842a475f8115ba3981991e4c29cd723948efc7a57ee6366e2db620e3b4d6acbb8c5d0ffe01a07a476f3889046c5899330040c5ca7aa10aee1c84b18910f0d4751adcf4aa667dc78b2c40b5f14a11a36f6794519ed2b375049f89f6a3c8f6e75ee7dca96e632eeef886373fc9257d7a8a6938f973e43b06b1f7f8415a5fd2fe134f20852b3ba838897c36ff061083d3f8e4c39334e9c3e2e4843243c52471aec73f358c4c308e0d242e7ca93a37a8155c8e5a5bb9995bfef53887535fb00c88dcf911497c0b128edc540a57ff721fbe31835b36137b588679c5345d29fb610ce7f7ad8384d32882cd8e5e1b62720e0561f843631d6aa7494dafd433b376d95e09de7948fae9eaa96a4c5c984b6fa6ae0f5da672e1322f7335984e9adf6d6e977136e52d1f12d36660c494541072282cedf0c9092c1504cae5fe69ca39fe69f8fe40b079ca5180bc3ba50c6cff721352ee4d189e9dabfb101e95f09a7737ab256ae8fa0e83f1f3ccf6089b92db72cc66d8dbc20b66cfc6e788c29c1db72993343487635e8889ee6bbcab78c40572c9feb46708712a323807122c8430461409325d6b2b0972723f5d3a896e4668727ed984d2f3b795e4fb720b45a813fcb997c764c0c31f3e9462b09feacfc71572119f3e10477b356084da345a5d2b327ed27de5ecdb33bb6e5babc65a8eadcc72079e727e90b8206980d3330ac201d2cf509506806f01075d7e5ccd4da9e5347205b987170167b8e9de0565dd7f7a28abc7ae8f42b3be183097c217e28863f272c609c75ed4f5c5bd6db9fccb741dfd157eaa19b67a8249ffeac2cb48681fc1722c344477da0215eb2ebda20af5df1791af79ea5f6203a650e4da3a28d9587f72305e2c2ce40dae512e8817e0950830549c4880adcc2f9cc614c2f9983d921972424a230ce68e0e2150e6ba8803cf682e8e3640e372a441834f32f8af40f56570914f39dca2152384e6f120549ddb5141b291b18996c202e5ec744e3619713e2148b8e887ede71bb574a118d215471bdc9b8ec91f0cee5a7329246c75d65bd06502ca7a5af0d20603b14ac017678e820d4b96318515ea0466c558b881b2c3a872fe45314864b845464cfbef73d68e1e29c1dff173f32f792c1adb2e317b16977285e54cbc90fab3f1e48f9f6c69bbe26c9226460cb92753f41c81bc40b067a210bea28057595d0eac45bd3fa2de78434ff398d969dc9203fbf384f2eb2d9eb827091ed6d9245eeffa0006ec941b8fb4d9c89477a89399a4795fa2a1e3576f421a70ef88bfd0403285be1da81266a6889f5c79c9c4dc63422fc24e94930cc7da34d027138f7c74b2b092e2b071dfdaf182d86c26fe7f273bf0e023d294a3893c1a2e9c548ef1da7e7b57f5f94b894a7d9d0c12932503f7c75afa3f678410e5733ef5fa312ea0524c924e03f0f9a88e9e6a9790f96902d9a0cf8290d6813110655f110ba2521df9f15fd99b160d514a82806a17fbb49ca0d445ba7ccb17545ec572e33d731379bece7c6f24ee357075b7954de6c7a2ba099df70c2933a0a8302172a548c325af2f1df1f3da9033ee85a2624e3fd8a04095e21a5811b5a06142cb72a7a82463c780fd33898c19c94cce40fefd5ff220d018585c1f1ad296a9cb4472c36c5d37521f27a9d6ae7fa323fe0515e3ee47eece0051f037fed0eaa01d445dc3d0a07bbb8ad906fe6220115394dc1b0913ebf554628f528c4a7aae7f286772ca020b606e9d12df6c762469de460715487ac3446f2d3556dff2dd53b8437d4b3215959c44ad7c1cfdd40cf0c6dac08d0a9559b9a70dea84030c03edfefb733addab22f7395a822c91907789e27b4968749735aa4a4976b7a3e377b5cfd8f03c9af90b7667b271dc8a70c9a706d8dc4e7435258d7f4f05b6dde0a0f8c27d0f7287c3f7df602848a2b49770161cbdd180113e23f2c43857ed6cff835c0c1cbb722396385137f9eaa15cbafd10b9f3de4791e4240523ac5ec97d4569408471a472935a4e75ea23b18e068e715788b64671f93f294f7cbf08b0a6ed726adb832965b71f6ea5232deb30683ff7e4e60e3c04676fd10b9b473991f7669b1acbd5d240d86b80eba9db683f41f11bbc17732fef0fd3dcdcf278635887bc7e5c68c93d72813323fd04d30f2d9c73b94bebd85f1111efd6074600cefc3d922dca289b7652c3549de522445ff8634075a0723968b196f6792f403272d599c8c9864a65ac7290f586e6e565dd592b2c30c831dd089c053f414cbd48df5f938ba710e4b2943ca8243a334b89d87334c5e6792cefde85f700d610cea17fe7d7105d354ecdc172367be8b355c8ae7700188eda1335d6db170357acccc948702832e73979806f72fd538eb501f8a1a5bc7e6859cbf644db7c0e8ad3635eff5cf9df9b6e22e9b572cee84bfa059779226f6cf7bed17774c73f9c2ee5dad3aa2c2e77543e2a1f9a722cc6ca388002069f4f008f3776d7591df8fbae9e5911425da70f893343e915724f38fe5b30b804f8878c72d2338b509a523e1fa6ab3ebc62d2a24face7df8c51e9ae7210ee64850f114f645a9c37e8628af417c1188d3b0d9dc5517b94040651865edc2d64c5411946fe5aa9a7a1fed41cd5998c9d0e7c81b95fe5dd559307727042ce8755d698630619fccc9901b8ef8ba4ae6c1569ac3af43990f2106b4e3c6ac69ca0af9b3d25524e535c929cab8d57db07836b583476a420e6c0002b02729fefc8ca8bbbbea0e1e01b115d9efb6be7df096f16ce7290ec2f43da7011b972a126427f680b484c28db491f883e6a82dc88eb53e1c9bc6c26a6b743ed5279726e75a8f1a8c22253203f7344efa8ec2f47c668fb7d029345406117a1292245724839fa3238d2ea5829add045c8f5b0cc2d19900581bd023064403314a7f07272b545cd81c58b057aa19d8dfd4ba1d1ee3c644ca68b7271b0456295103710ba1ef039644450f4688d53700436530c07d128e1ebb0c31b29deabdc422c793a8d22faa27d6ad3f7646c9fb18c70a9274dff3b19cc3d4d14df60be2c31453d7b9c726a41de1a3bfdc1ce87b75b767f8026539a76e149034ff1b7579c1de083a2a52e722376dcb2f696850618bd2250a58480d529f7eb973a0ab717d8490e7fd57e727ee5d66ff767caac1c3bcf4a42d9fbe903f2df0eac5aaa2f501b913170017172c73e3e90721274504703d7dc4a6f2e1991c88e4e7368b8c4a98dddf17c164172e507de5395f4577243f3e103af044205387a30e83e3ce3e619ee468d5f491c6c1691a12c196b981532dbe5cea160300a970fcb5db88c80699b921ca93d395572f836ee83582343e0a10c7ca8fb0ab62a28939b02861a412778af26a4e094054f47ca9ad3a7c7c7959ad890e7bf80f6b87b22a5e150bbec182d176868a707d272894ae350f8791e29333af3b7406236b0ad989e6ac361f6bde379ecfd9e9a931f73baf12761b943f7e8dbe7053119fcc912d62931339f89b081306080c7467a43a4be9618de30733130d3ec4c83a337161b7284c689fc2ab4265cd5c1041dae72f40573e243cf83c2b25d3615272362bdb34ae5c59c17a93cea0831277401fe72e41939592a07a4d3ad32b2ad27ac417aea7100321e8880a436dd7cc425b217723f9c6fab786b1702aa48bd87984ba57e60b58099878488260cefb80d4f636b721fece0149bf2e2e89147095873de3aa195cc3daebbe3b20862d78e992c9b1d2e88d3d270fdabdcbed4f2400e620163628a704bc91da5cd365108066a6c858434d2068cb2760b312bd2ac9edfef767145cb465ed3981bbb523e7ca69fb6655c72d489b4d3e0a957715c53f7cb082cbab16009ba4802484b625f63b144736a78504e49f58ba36af4efc4b2e7ee6ec754e43e2a77d621706c66a698d746899e157253f6bc8a1b4c2b20bcea8a4da551641cf1befbf3730cc273b8adc20d01bc3872758a0ba4365eb123cc4f383940c8ca9d39027847d389f061ee999aad21e189206865d813fb894b177774b2092e59e1a896324f4e0d400a920db3818c3bdd8b0ac94fb6f7eb6aa1f6c2fdd83dbacb60a872b4822bd512a9b14c85eba7bd2ef972e677a975b0fc55b3894a492c596f490cf4dc740142e83ac71236472ec38a4e72dc9052204756ed44ae1433435d1f727837ffa2a6fd262ca473c385c464c1d5542ac1b9e48dee30f68fbbab106d81fbc35f5b13903fe85ce6f1afbdbc5452d672932f4e809b80172339fe3606426ff37441131dcea7174a5e3895fa65216f507216ceecfe1964e6bd906fc4a1ac58e6c785397fc91a955083e9a27c56bf6b6661e55eb1991ca9c1c6cbb56a80bee606ac4045ac050eb7f7a1c61cc557a6163f729ff81c3fee39472ac55190edf1952ad7e0ba541767f1d3772fb1ce546a352356aee81b8c429eda91e1efb2c063a6d37817b6176a9de4c5f7e784522bb6a1d23b79deb8c833e6c518645f8d8621ef58f49e44aefd72eb22b76d000010485f627228caeb0d8d98559cce11de1563c3236872864e76fbfe90bf3117ce9974212c725a4de9fac004bf484d7b3fc9a46644010c36912718bf9505ebca39e6e3338a72b568c6642d00bf217e8380741d7058dddeddb6145ce38fb4ad04e111eacb79308a4872d27e7287c0e083bbc8ef10107e8a78c40329fef817549d58f098b17e3fe67a3614d5806d0f94414e80e0301bd13c2e46cdc988992bf8f8ba6648898272b96948f34450e89caac8cd9a8fa723de6bed3cc9a763dbb91f8374a7314b807207805e5fcd0417af717913b83f48fe5f1a58fd7df63c638cf75b1d6a0cf6e7728eca42a5a517d9344f2e0bb023515c9b250d6ada01202c9e46c40baee663da7289878527a747b5aac8b2e99c78ad778e67c8d3337d1a85b53a28cc4feada5c3418d1fbbaaf6ac765c26e627e91bb4720996f707c6344f699a2383cc626153e72b806b4d271efdc88c94f63fe78d7547d4900291e56a46df43ae2b4fc173400721f8d742056a0f677c370601892a7a65d6fc0d9ee6442d5bd9eee78e1a1256372d727c0ddfabd2dfceb0f9dcbd6b2609441dfdc07fc31586c4387b6aaa4e434723803085b1ea7d582eccbdc1badeac558b1396a729dcd4686391c3735c9e7276d02d2fcbd12da7fe2d64d8a430176a03b0932bab72f161cd53bfbdd9e0522f472182295d81809c24d641ddbeaa1b3e6573dcb31c12a3ef709ec3bff5956633672f5677a7bc2179bb46cdf36ef5fe608940739f0d94b7eeb1ad9e261b0dd2027722e899f673b276fa35c9d6dd6d55b4b15c898cfd9826871a26a3d98141ad21272d1249f4d2f5581d7b57f502dc8a2c3f2e4eefd6e0c2f89900250050026f404722721ac4e074cdc75cfa1b7dcbffe045401d86add3ebce597bcd7310a415cb87257ed6bfcf1b6a44124809bb8c0c3d061dabf309155dc57cdbb15b13c564d314632e9d2bbbc1a5de29c261311ecbbd11f9ec6dacdaaf26dac548c430a6e0d56721261de595e4654eab9f4c996836fdd908d4786e7bbd93d5cebbd2bf745e71e0df0999a8f896191f8dece95f5c8076226df54aec937f37bba9cc2b6fdd62337722caf7e3ae54749c440f1807a8993f4952f23a0c7244bfa0825ea077b77abc96d1f67b44eba2b58908a58090bafacbb25e574f8dcc631da350e4b57c37d803231f089576ca2eedebea7bee9984adf3d9765f659e729e35d4d068d86c3047a8c44b560891392aa15abeab67152e0484f18da6e1009afd559a0307dd4e5fd05d32b4f1ddc82f03f0e800551dd3c765cd2064fc7f306287787e18da3c08cfd11bd726458cc79a046ff9a559ca793f22ca72e0b1b38b1394bf8acef132a48ecbd4a3da842edebc1da4d687e9303dbdefe1ea3427ad8d26612ee3e2895dd0233bc2138acbf1a9535c66c62ffc3447d1d3531ad87d4f2afc0a326adda13a9702d5dc630eeb6d8021fcf081502ebc767bf3a95a94ea08edb1e6537f9073c3601ac3dfa721337127a9900336193cf34315b9b58bf9326490d2855291b1bcf3ae50f420e3ffbdc9aa482c1a700eaa6bc3d6d94682f3c1942dd6a8fdf87101eddbae5a4a03636f653c2b89c795a232ec7f239935c974c614511faace509b7b4c0af4c7e6d383d5af8bea997025347ed68ebf7fa032627e8d7ba7b2547562c6d569748911872b7f2abfa243e141d63db1717c793ed8f2a4863dc24a6120914377967ddf9ff72d12e88cd18ee314a60231f16712b859ec322b9849837f9e68a6a07269b35e072fb12295ff7ec085b2b86c41683cc0cfe5c1ad86bf107064fb7ebc9b182a8ff6f1b585452140a3cd4c589740dc73e12eae019b5175711a33758634594d18b94729df816a2f9c1c84ac9464752f738a49eff0e6995990eaf429562a830459c32721aec360118e1e0bb995dc5088703edad2b0776ad170fd412def7454b7f582472ad99b8b4f12bb611c9d356b8c275404c8b8e45ed0600de7cedc0017b86265a463e585528cb11792e1c81998a199b34ba75d9796ec8a20d9b296b39647d2c603097a971e9e67b0a5a9d7205564d07d7bc808da250856c1b9e12165b630cbc5b7246ad8fdd7713c0526046d60573389cdc6d25bd55048fe7759d4d5bab34985272b86c7b02ffc1c05e26ee8f0b6039924dc01bd60014cf99bfc52ac58fd029384b706ef336316fec15d11090f41f71c4875056858be619382af39b8e316cf38706e7d06ae7bf760bbd46f41388bccb9dd573f4cc3db22bad0f629de8f5947f0740535d57211953942f336942e26bd82be0dfd473cb33fcbbd3fe7a3ed92f63fe3710f915803e01fb7028add4803e63bfe6e0180688aa1e7b4bda6c4f7a614edc0fa817d2f57ef3276a98a4c7280b90f7191e5076d8aa91137adb15b3651fd49f7263b45bc3c2242f5ba67763530bef34a0d15ab5916d8b702e6d0868796c07f772d93f74993a4a6f266dfefe0760708a136013c642a2ae23181e98d5c1f18989725ddd6595682e2cd1eda6bce5b462c61cbdfa278747e705aee04e1e3cb985ef72c49c9e5ece829785c2819fd10b448b11a56a35676d3acf389fd814e358a33f7235edcd177808f964b939fc8c19ad43dc8cc4d9ee4bafe22bab80de56cdb229727aba6711d51379cdd974a8aa76c5b253b3d9e482ae0c1af938f37828893a1528e92207256f80e87a9380216050559c45588bd05dba05941b4f85317873fc6b363abc1f279d17614800f5caeab6511370c1f6c89cc4d7f5c0c7e909fd731a474017b5975f7e69c9be8aff44dfeb2379f9567414572256c429b448e0919b7b191a665fd55956bc85a7e42340357c7d2ea3f3d1eb36fff89391619343fefbac27725872fdb3925d7852798dec2e39e0cb4f37b053847d8af5ccd72b91055287a672e5ac31cc810b6b7044262b82f38735f7ed33c960be197919884a4c78e335c008377cafe51bfd129f2fa87ace35965190a4f3a85715ea971634a02e5ee5801572307ec71e9f9a48941f0697c6faad866861d73724dcfb474b84cbac8de6db44724b99e2e26a88a53a16c7151d2a2adce376f8a05123ef6a7cb6deba5bd7cfce7258bf05d3cf4a5b363a8102fafd5793cf7428bdd1f5261d36a09fdacfdc87b1720986c68a0a4ed75bc4c8c2a94893f6ec5a1080eb590aa0f990b860a44e75ef72616642c2883d1317c7a190032bff11d486692dd43f27bd672a3ff0a6798daf4e4a1516977192230a0fc62b68ab4e176a703e90369c82780f9a10703655df3026dbebc7e7cf71f51e5e9aa9169a713d3fa257c637601efdc54816c57a4c542172ccf1a3023654502082bb26f072cbfef4b966090d2200cad5b8b66a758805d10556c5885da3b19de52836ad08670ab7513e353554d6683d55946762cb0f7d85724009488ad07c7bfada028b3479c406ecdbdb03841a47a40ec3bc9f592aa61b72c84a7cc62994359b524223f7debd19d4fa9ec75da0d6c13a7ee5f763a5119e72a9e6393a471bc4072eb2f018445b4527e1de98a8f6978ab424ad3b936e468933aa493ad13c2461f0d2b6ad4146a233950896f8916af53b04fb034ebccc944b72ea6a5b9df5ba7e51552c58bc4d863f3b460df66dab8e00f15429b6cb14795404ad0c144cdced3374ab44360228115740cc58e9228d420594993732b40b14c064145530f53a743395c69fbd56b646d60eb875af54bfdbd16323c8b19676ad1b20eb710182aa01ebb9d3e91d1b4915b8f697229863749f9b25ff14eaf58505ea722dc11ac688e87b42f9584d80773990768645de53c84a7fbd009f6f07e2e08b561a154b941f53a094e0cf7eb894b871481c3848bac7f6f93f11914cb7951dd669f04174451b63bf8e9f5a33aa1dce3b97e9a0b08c8836a5b1f299edd56ecb8c0a7bc1a0733a95d280dcb918120e028273b52ba1f7ca390a48008ad8f1e60a644e730dc0ffdc6066c69195382a13917266f6c6f2fe94ed3e456d32c0360f86801c519b720ce5165030bace35cc430578f657492fcd22a44a21b35c072c51856e725f2d50ac45b07231fbc4a829d97fa8d425d5f5abba4aecf255eadc55b9fea2728d3208ed58a5471ad542e5237ce4511d0816853096d3487c5485e1f767fc9072d152a7f7e75b620c086bd4628fdb2b8069c996d0b6bd352e98654f1b51f6b70d5508f131ed9fa7d2e207fc3a2c17f576f7a9e926fbc58453a84ce65e4d14527249233626a78ccff58de2cb8a520ec09c065497b180075dbbba5a2ec0c23f41725bc233798543dea11f6a07b9e8445ad9afec117b48bd66229bf605055bcbe8727156af4a8fa9a456d40b3c7c5753d91c0e9bbd6880db618b129044c3635b59721965f6de8b4df166936aa16a7da404a9aaa5ab28e3e065bc620500f9d8dee701e632a2aa7f9d56a7045519632d43ff060ffda02db238d602ac64f93a016a1447c8e8d1cbdb092dee089f6d308d4fb6525f6bf54faf10d6b4613234c583a77b72a789fd8a64e33ece5654800393da555868d1c69b6e48a494fc862b9432464e72d39b80222a01a5606b7c28d61996397e8a7f997bd416aec4c81ed1dec86cd972c46f998a5c61469f30cde442799c4fbf2117d90998b3dd138758adf9784daf15776db9bba913e777769d391cf4fda4cc554708a46e541bbaa55916f17f84383671e7140adb8c80ec2fc2dd1e85972dae7de2805a63213bfd91bf22966ac61f720a6e5e1bd63d3c92768fc55651deb8ebe0dd24b09ac82b3a33b9f82d94891772190a6940357878a86c9978ccdd50f71d75afd19e680a950555815940a3d1e472a867f3547771fbaf786fdea8cef4f9252dea99d36867d14c0246ce8fbc05857274bb9dee8a4e45f0e20a031abc9e5cf391f1444daad11a125da42d240a50b35fbab8a40611724768b890a5d25835b049ff5faefafcae139655b4d990e807af386c0518c973108a1413d09d7052fa0b78f66f7311381eca86c3c1d61efd85df15c8abcac6f39b154b6c7c3887fbb1752d0fa2f79ae6b80223a9f69ee216d1705d9bd2a79bdde12f91ecbb687e9693fe6cf9c0d38f1769ff30f8377684f030b272618e04122ab027ee0a193639494d7896d4fbc29e15dcc32809a52bb26206b2526d3360fc72b66c19244bcffb5ab91fad19a0b554543fce4dc2c216e90065247245576340108a764c297059d8f4b3ec62862d463d7ca3c109267ee4cc86f7ca6f8ba8421659a9ebbe9f0bb3d19e8f9c2aaafb50fd74f089d555b77a62a2f65d4234bfee53d1b96debc3eea6ff034607c657f0163d409475b14f00e200039b8b5b3eddfe2241273e85bf76407b89e6346ffd50c364ab4addcbd353f0d0f8362472943118ce2e88f2b7f9f87b594a5b7b60fb08e4cd7cfa855ee2694e7ce8f642723b1e7f07a30d81c80dad5dbf8a2f1be05a2b1c630a62e184bfa1baef35be96721bffd63003e4b5b1f4db38ae3d3437efcbeee0e9cde1114ef21ebbf6274c66121dfbb73de326cef2c341da3ebc59c082d65b748d89face2e56c5efcfa1def67225731ee7ddf8b48a62eb384cc54696ed75ec285e615d1c0f586241b3d6a0c6727bbc087302df50a3221bbb57c90b40191079c9b9ca0aecd9bbfbac0427ef1253d4c774ce7b49a18e9872111d52aa038949793557561180ef20ed819122cb6372d125bcfbca71cf30e1fbf0461f0da31f6a1ff0513e6d57a8e4df8d0e59750b72fa70c948f1ed77bcb21f324274c30e963aac324f4facb331cd0367c82d991e27c43174d7c88be8f6e01f8763bc1405fbfc139df0ce3c1417cd8c712092820c728d7d8e76d6f663206302271be9277d9a6d9c4df9b7574dd01dc736f2b7f65a06273215e72810137202861936012cced21eb9500fe40e53faa081bed2233dff423c7dcc86ff3cde70e7657098fd93b95a722e3e60806274901845dc890a8835702f0efea18252bbebea13687d8977f4dc770d27e441bfe3520289d36b7c15b26745d84a50c8fbd4b94b9564f545f76f694e130e57fa5ee3305a11e6b7201641720fa5b23f4ee4974157b72d26a8b8fb1ba5937fd790242f57078a3cbaec3371724671b0504dd98ca681cc333e59af9a442cfeb7c1cdb120351a8d585ff68e8d135a4ffa34c8a60b1c8b8d63017a2b70441cdceed57e9bcc35d10728f5245767721267b7d1947dfc81197dfa6c0e7c9bdea4d68be48459ccef8bfb019a89634e7215d9775617afe4ecaa0d81744e27a4423cf42a9d1fab0f41099708d27486d172212b3fad6e59f666868d54118732b9049270d8fd971dd50214b6cb1b13910e723f011350389c5b91a9352e602a141d216181467cfcebe6b4c05bed19bfde674fce1145fe393908cfeec3bdc32d7e9d6a4d4e236180750a768e5e5b3bbb33553ce2b9c020e648cc733a96f283a5c7e1acea128c131b872428b90009c50ecc0472f7a1f6a7ed022bc085de6d7251023f5c71ce65c880ee3768f9248db7c6087b201e5b467e1af6d5225396946d4004cf130708644131bf3e49ddeca86a2b6db972c8d98d57fd3911dd07acc569028178ae02dde982af6aa50e3b03b1f29f6a0672e48ae804d9070081211e88c7eda17a36bf4f2a6d9e37146bf88298082194a03e9fbe22fa5d00c5e3358e222dbc7fce2e694056058c266a3b5d95cecaa3c412726b6349a78a49d9963bda24a580aa82393e7e8453cec51ad55021ff9e5103b472911b70f6948a37e519fc7119faebbd8871afb35e49ed897b337a92429559a50d64197985b33c6617830c4dbf8fb70d668cfcf215cc76508184ce13fc7a9527729d6f4dd416f0ebea55aca070dd767cded504a63fd7f7330114406d99bd58607293207f0709bdcac807557d55e59fc613834de1dae6da70c6d75da1e0c573037223bcf50eb2f14968346642c6ce99c02ac64e6a1c1191aaa1cd7717487e665b20af2a678775bccbf5c055d20944d60631d493cc588ac8567ed91f99ff82cc695424d53cc66702277ad7f79ab7029955826d5f8117cebc8c9650f7e327f98e8272108d27bab6e94ff4203c3de8364f122ca792a63cfecf4695ba771a5edd16b8726b701f3ad18074ddcca83990e37721d83d83b67c87bfc72dbade975ff53c0f72459d16a26b88d2ba506a77e65f1ee1f59d567c59afbeefd5a963e9f1662bd327faa2b197572adb9af92895e42ab8007301ab18e14362a1297621f07fe9fd9d72cb09e426f045b4449724ee1bdbd0f156e2c33894a4009d96eafd6d72980c6869404214df856bb18fdac3dc77ef263b34a8cea2ac38eb6ab92d09f21e41dbc2729456b03a22730ebe5ce0cf330d8cfe62049c4ea723cd99df8178bc7fda861f4230d77d77b5a5867e98de42f7db66a781b64ec5aad5aff98f72042be90417fe00c7155b3c152df31f52a03cd0b4172eee839d17e3c2ab690c6104429655ad9a72146f00e5f132b98a9450cb73081c5c4798ef3e7dac3c4b7467874541b0ba9d7229164df4067d125071f14a201216f0883b29b5cb854a75f45b235853eb403d70eafad0103b44b312ff8b6372bb0396b6794e9ae4163dbbfb8385ef47ddb2d6197ae9299ee212c3ab22a117631ec959c59218662e31a07cf99257dbbdf4057c2c6383777ab0f8939c3140da5e567b65de354736213f516e775d265f2635245a722b7cae24f5ff87602def81c039ddacfd35c256653e0e7e3347554bd0c317e172fc226ea6a8f0ab0b3c53591abb81659dd7065c6c0630d25440dfe781448df300c011b144667d81899a60fa9edfb0c9feeb28ad081fa6d0a8e2d2a6ac1df3cf725522f8b00ab5c0283c627bf62d6d9d7b45eda95028e632d5ef501f7e51ab861fd0ba245f39be698a6f00adfa6c532988c9c742aa775ae69a38bf905ecb4ef2722b8a3c743010ec710f181b0e8f747925ca41f7b32d199a635021fe5927ec367225d2cfe6fe11e29e3219ae930f0ac7803d4f54eee2d70ea7634ac0e2d328582f5af5592a4f2b2a7129a70a4d8f3724c8d79c6f82aaed16dd0b85fa37a606de1f0608e850d9ae6913eb7634af1bf55f93d4a7a0c3fc94f2b9c6862542e0067c723e26044b6023ea14da9f286d97fe490cae7c905151a8b09a5d4f5b3e5b8f0872082b100b3ae388a0be0efb84ff59b6c63633e494df5df6bbb865b6e8a5a79072cda3709b8d18702ccfabd304c02134af820c6d8a754f283ccfb73a067241607228e6b8cbf0153294f8b161df3531f8f67a6fc1e07686698ae560afcc2b726f721c87a3a33cfc33db1be166e062963772ff3df7d72f2a529dacde2fb6da01f772dd2827d431f0fa17bdbe86c6768050fb89acb99317ef30625e2a45b363ab1f2fcb52a32da7ac1ddb523ffa1eb1dfce74670d15d0960ce5478f0d4c3453ff7265d0401aa5ce1fca5da596bff112d1ecc7a4f024412c9a3bf7ae367e5c8c6019379af1e0d0c592bf23e8d16f6200b5bbca17d5a2683fb0876a29fa415327210a72e1e23b7b1dd46a3429166a84e943e0107a67eb85cb49e65ec09066c9a8be2a106ba5e02986f631edcd86f2f848b06723efb06a7277bed5cf9867c66e02008972a0cce6047ec38d0baa07f00cf7a7c84e0826c76c13fcf98446d22edd603aae4f9b24bd3b0925f9339ccfb88ed2abd51c7c90897d27cf52c86c5da7e327a4c63b70451681a6392cdb9dffe552c117e5a7bcb2c8cd496fde500e52b934ac41cb724ac7e98c773c2a7e5317a21504bab58bf8198c0ef3b07fe60222e8d471ba2272af6a1518f74932047de1a65b9542be6ea4356983c2d6e1e9699debf5391b60025abf724e71c0347175164c25f4c59d4cf6376e202ea13ca969870a220bd640108ee9ea8ca4dc6c0106993a8d77ac7025303220bdbbb51cd134f50bcb55f41d723ad0bd2f2740841c3d7d5c5485ff46724083e08776405700e43ed9509c2fa555a0748a1189f0b475057a06faa46be5d9ce8e44a34719d6425fe8adaef8ff0472f20b1335b09c13630ca3958491f87abcec9e3051bad23033f2dc6a82bb688672526b0fd6d74049db282add0f74ccd073a529b6ed5d04e63e6dfd6b6c001fa2472895040b75c01b79d7cabe5dfe64100a6da57c05fdfb48d4f73fde690d747d50203f357a090882fb85b2bee1bbaa1fe0d3db559e5f2f86200caccf6bd62fa2193bf5343c4178e1f7ad952b5d9a422a77ca7ef16e2ce02e5429fb1fc3c9a13a59ac5af8021b4c70e898d4174a0ad3659cf39ae4870d8f6f18aad333e5ad0163638514f28e93a17870c556834515de9f8a1edb28c679da6bb607e0ecf2e13a3348caaba3973b40a93ebf9d7a40d055ff7fde33be5bf74f61a65a2609d6e6f28b724cdf94eb23cc2b717563645ba78c1ff10385485c26372bd7d910baff86c3711dc7867e5276807d5781f397de2d4d658d40d020b76a0e8854c68d6525f5739b5846002e951fc3a71d1541ca7b47f31dbfeaa63bdc8b3dafb883d2dc88d4a78d72a2f4f960edc7cbccb48c2a9b8ca5db8de1d4840768578c46fbf06b5d93d0b2716e795b9fe6815f47efdaab1573023de108dc9100af18dd2f94d8d81fbeffa67281abac2d632e90ecbb51c0aaa0851e5d83c103c31932194833dfec13138e2b337bffd4ae71d16e727daba666e2139cb4a9d2126c8dc1c43111c444fb0bc51772e916ec6db63eb9387cfa3d04579ef09b8ed7ee0dec950e3dbf39ba37eccc84729ea75b9de16ec0deac77d50039a38267c9549264a9c0cfe04b7dc76fc93bec333c77b2ad73ad4bc2d3e8b3ffc977bea74e8f8e8b45613ebac45113c383106a163c7697c0593ef73b369b143ed556cabb364b67ef2fbe9a195a339adbe13c4872a96e82fe321213dac4fa135b9d0ce0ff6e6fc7afd25c85e15077e70d34128f72ffa224bf388fb3c3687bcd384d3252cda81b6986945e9ffcdf3c5f1957d2dd7257605e7f0a3fbbcfdc09542b4ae9387637cea03ea9342d8dd803f94d43b4fc721fb2e8399c776a07f7248bf193511128d83dabc370ef8a875a581ebab8f62672f0f89f38d970d4297de556e284ff2de76aa32f636747066ff06b4fc81187a872a94ac784261d5240cfa08007a613445e4b034ec1a53a360d4a46cf021c68f372b1146f3e88c17286aafa2b7583aa35ba3daa61e6fa504ba70df22cfc0203563d0a6529bc9130cf2cfdac0c7f8c010d95d9b19f1a0081293404d8d5e5f846f03b11a4c187293abf8c2d56577dc96feb46e488e21dadaf05bb937dc4a44229db72d79754fe2da5e390886b7ee2263044e144daae98b43274e075daf63771755172f1a6967ad91c0ecf2be69f3a9551573f749bc150f9acbe4bd879472013055b7201ce6de581847c8b0f5a2f988bf900239f12ed37402439fb09d5d791a0b04a3026d5782f6c4f5bf7b1308927087428d4ebf0e12d1044afdcc2106d15f056c57244104f5e25303a757cad21ab0d186bb049fce2f91dde5c858a2f90cfbaa8d672918b7c81f226f09735027cd49055a1e8e3ce10c25e5c7fa9bf4a78a355826d567bbff60df007de86f25f76c9231c5d3986c4f3e4ed5d153b9f1b64175d686072f2e72102049a307cd89f5a9b3392593c57f03e5ac73b97cf294656fd01e8c15ae87c47859b607901638b78aeb782450320fa7d7cbd8651e62cd315369c33117245c5f79e05e80238ce1cd8e68f1dc85690c001ec15bb6481b3952d3ec7a0ad0eee0404b61cada02b0b5d925eec9a989d76ee98c3fcfbb7c0a11e4aad5d6c2c60f8eca428831d5e1ef47afa5cec5238c2687a16f94a12f66e3639294251fcae725efbfebb52de19d601cb8a759ca41ee58f8339dc5a826ad0883ca99e9c6b7561f66a0944118430307932885ae3b20397397fb25af63341b8d49ce3c0c0937450840571ff85fc18ef7eac94a3b1a19612f5cbd7f9a0b1f3904892eca4a30a61215e95f20c57220f2d6fd5d36fb140007ded0d74601b206782ab1581ce3a5a4e7286b58fa6e6ea6f9fe771391fffe6b1123e922f05913d2bf45f29bca1afc1d33c961448c57c5186df56958bba7a66659f40b43e678a4b5dfdbd35d8f435483772a8a5138d8ed03b9abe5f5a6e9e683af68d764e4b21256bade8bae5d5da9dae72e02cab43a6a6ad662fd1069db3ebb85432c9cb56b76e896ac8512b0f06f2e73c2a6b85c5dee953e2076e892971f7003007e5dc641c0930df714c0dbc4f32307220b5e070ab840df02b5eccc169f84bc98ff31891356206ee8359fdd361c62034c9c6f9a99e6f0f5b23c923258dc6cd91c5f460dcb987923eb431202afab1ad724c4a7a4f607d4708de1ceee72ccdb81d64be30b0d96e63752eb01c9d14bab272b9b73a69df8fc4fca247c40954eb3c429034a89b7926469e560bc64418ea2a06c08ad6268a05757cef55b9fc08dacde9df4773c9c00734ab957c7a236bb44d7218e6fea20e96922a2729ff85aa24c9619f2b06675948bcda89cac0a91ce5e4720eecdcf4651f059628a1693141d740440017e129d17617d8bd91634464d4ef2c944d4ab2e4cfb714b6d4049b592589c6bb2a75ff96422290dca484672b289337fc4dbbf0391c435633fb74103e106d190ed521d84ea398659281b84fab7d622f8219bc12a5c637eff21a413590ec7d81bc58f6b9a3b4969039b10055eef6f172dbb02c4f8682a3c3916264253cb8d56916dc86df4c32261041028dadaf87c37204ec11040f365725ce3207a82da934dbeed23703c5f896c3fd06a7c5a095967279c41c5a682fe2ee2f1e2c54a97dc4892b25af316574ec46bea524c0da9c1b7278d69206dbad2b6e0c5a30617c51855bd52bc6eb941346b7af5103644d1fc4519744bc518fd09725cb1817437fd9f525f0f4f82dbd8d07074841e4e689fcf1175a88ea8deb0149ecd421808d9a0d53bcf756703a676264e0af447a9c5e87227239cf07248052524f718ca772c886dc552b76c156dd1106128eeea74cdf8f272bb3e905831405392a5f1768b3371022024ddcffc1ccbeee34ddc52aa17d1d5d488f140a956475678b8fa056a9b6850102aa70f9d16eb23b2c34a27615d02e840559f90044feaed11d967f1e82e1c9febbe24e386035590c5e9bc22650278ee772299bac5d0a7fd077a64dfce8cc6adb4c96a4dbc62fd269b1f39601498409e572b4b5b47822a3683b65b485b2d8e288edc966308f7f0c76d41c643b74038b4b721c878fd003ef6cc592f8c87bb6efdbfd112a3d1fc16f212e8f0f3d0c61fd78728906e8212bf9974620b740d1d9ee4ede03af965048af7f3a12f12496a127bf72f0484ff679b3c5db2a79c79538208d03c2e5f160272d459c7db202102ceae049e1157644421d6031c7e59901716cd6ed37323b100cbc43b2b5b39de4bd505672d1956236e0c27b14294efe86a2bb085ebdd2036ee0b33e8d42bc60c760b0f32b833b8a4092fa0cf034054101bc09710c6cdf00d7d88445d7bb0ae023b22c93332e9072cd04dcf812e67206a48cce3d81d6525c91aad70e73527253b4b5a29a4a7bd93bb49cdb1232231a671855c77ac4b6ebe4f34c07f582b50387de00b7f1725bfa5f06dd6785b107c949a249312edafab8d99ba5b0fe1088e7d04b2a9ebe577163c3d3a9fc137ff7447524ab40d3c6c63331cb3acc3ee996eacf8010f0c45f259c1163a6304b1fbc46287d399b9aeb6843ecfaf284424e97e7fa8246675d240f74d1ff0927292e34a25f4c515383dc6446f6c50ce4b798c4815039c4864372091438faec0cdab56f37197c22403d0b39be0e9be49abe43871847ee164040728eafe7b32b5d58dfe2c93a9de3422c72864c7addf378ade544eda17df92ad272095828a94140ce3cd0bac3fd056eda93522150d4c47372d8d7773491b4527e673075067c1199aa533b646786858ec1453d6566da537d73e35ece3c00f750003cecb9dc1940200040a87067915e2a090ba48cc547ce61c3ea05bbd664f9a298723e086374e940042feae8eccff387a7eb7d810d5b88856349cebc63cdce744a72aa5575e9593c4855aa1c4c40626c61fa689aa2dfccf45a2ccf2b1a54b262d471cd2c20946ada0f7c526ecaaa8848bd7bd23f84fe0e65a1fdd8786c7a17f66b4d9f27406b306ca4aa9eaad63762668c9fae92db12e36e02ec5cb5ed945ef9ec679f00318a89e42537c6f149ad9375f6f4a79fb763cc984cb50127d242eb636206510a294b842f16501bfaea355361183359e160c2227ab076fc75fb6b3bc73f71e01f222d87cc814185450fa5f09f0ccbe0fa456dff9f55c6db41f7e121cd530ab3d56e8725a30c54724d5073345fada67721bc3caa661ad2a048a987143edd05e17a561a4f1ed7187251d0531d1c896a53931de1404fd19bc1143c42c8c7ce72322a56df2727ccf524d53be8bf740546c25367b306bfae036819fa3d1ff1dc72e4fb1df88f9f0886ad2d2f7ee4a6742e099302b3cdfea72f68f6a5ccf61aae513cd56a693b76d74ca3ce15fb3a52cf44bdb4823e4f10012d67baa9635ebd5e723ef557bfa345c888bf4c8c11f715c341d6c5abf5b36fdb6447a7af08e276b072c2c02d353fbaec738e8ff6de89fe198c6efb7ec08d4701893579242fb6f226725d0c17621b2042501ac6460b35fb8d64434a75d281f521caff8853eb960f85729fbe1ed94e4138f2edc7daa874a459ff326bff1aa206cdbbdf7124be1351406b4dfab410c8f99370a6d08180da86059152301eae48f32ced1a4bbc21b5d5d71df4eab1688f0d2c0db95b506bec227b632c2cf4a0553ee50b942e86b61471382803ca46ac9dc6c534f1e5ba0c784df0e6e2092b68ec8a8cad2303463add03e972a57f8eddbff533f8dc3f0e777409a4cc7a207ca2c283e168eb383b05a6e06c72f1b3bd7e923970b84fe0ab2d76d8b18f572613d24a66e16ba5668b0c5779ac728d59919a3b11050aec3b52546eb6e89075f07817813e998aa284b9c0737a7d72b9cfbdd0963b3cd6d31e355718e4de288b0462376cb81e9047fc2bf959951872f311a1fa883ea52616ee3f8514e59d63b6dc4cc5a0defaa5a4187e51ca48544eac3c2a3dc09f0f1c19d03f20f54aa065e99c517558880157195e25b81b1c8947735bd94151fbec07629841fcb5581839431014fdfe4d24b553bb74c5036249359948f226fc2606f50081621b319f77c6df5ec9f74a6c0b08158d3c7fe8de0e28a54296bb3b855052e392b40abfda0fcdfcd04f837a21bc370cf00e9c8e6aa271fd47f76cd185f32df8a6d55380725f1f30e19c6d6e1dc0212e7a16bd44c505727aaa536b2c7298cef61c895ff7902ed3d2afabbe825f54d6d61e4bcb288f9b2f19456c812dcfdb15e9efa47aa8e799401a5baaa81c77edd33245198d3c81833d486ca0bd09a22db051d1b540c2dbe78d47ecc1e9f661af6df15df543a1b1bc35cb64ab7e98943ce1255d3ac7cee97ec7e1e04bac1b1c6d87cc068be43306b6676f2ba9de3953e2b316b556e67c66ac52f324ae6bcf298da8723775612f657f72d7ecbd9d8e0f1acfa79b3dd109e4bf57a6cfc4f23d8406316cfb5e4444113829c72b17c06d4a06bc0b84a69a8d6df7e6af6feedab27fe1caee2f06e309ffdd720316fdceb0dbd34a8682e1f6a86b5bf813911c064d3b90f19c273b51053fef12e9d1525c7972869eeef3593b956e068a8bb7a92772c29ab6b165a7c88a600d7222ce10fb1ef688f1ab5f9bd1fada97d30319c41620ba4381f0f2179559782d6cb70e28e029363722d762cfa3102905e8d08d2fe7701990aed13957839501f43b450789f9103367fa8028856a45bde673eae307534620283baa528da9cdb7be00f18d7549921e9afe54f76f57a2594fd3f828ed3bce8f2ef5f2accd964c7a8b72fa6c9a139abd24d1fb69759ba84ada75828cae47936c1e99584da10ab4d0006db9a425945ab574886fe9f6bb2e9b6dd0d6089111785f8e303e2353d752240d431dac0f569196e155734007716080775965ad69896bbd2a253b9c34e24b5b7a7268869faf90f37a3f8b618b2a3d0e79b9c91b6a74e59f3a8f4898d84ffb4f987210877ea94c6dc1b58b0cdc392d0b1580c01a98c37b563e8a8d03506a95e8ba7226f2bc24fe675febdf4e8d730097ce0435ad0098a6d407d587df9dcef45995442dd642ce2d87140d50c5ec25ac183a449a6ea5eeeb6faf8823b2cfb7651ff003176591f373f6f1c79f3ca898355aa3eadd6d2fc0d504329f8e85b53d7b5cd368d1cce7ca5f37da2dfc3a89aa67fb48a44f138eb5849fed36e08ba00bd8508b722b2cc64b01c0838fac2c622f908ae9bc516178aee33da53c8d487114c83a6b53f7d2db042cf912a6668b04e15b49796631a2ac2eb240680e8b4d8934f3686672713e09ac1d2a98f58eb03cda6d8a54d1a1765f4e8a156e5ce9f691a9e32c1e72f2b09949669390bbf80ccc8d4302bc8003829993eb2d824eb7ccefbb1f1551321ec44fc3beee802e8b76be48c933e9f77c874f35250857afcb669d268add6b72400e58d1607a118a546b0b56d117bfe847bd543a6d06558e59081954d4ce54725789921bd17a7888a86e2fbbfdbe9a92426c1c389ac0d1ba5e0f61f15ef1aa0d1c4e633d9ed65eac048da12f27a45988742d655ea9f9a364c46de3d8fdb2d07212b48dadcde7aabad7e0c4a09ecc37437c7d09197487ba99a6a1ac623214a15b8249a80d034b513e4e7349eaf6f83de2643314c105c4c7a9affe6cc1d9a14f727957bef83d784aabad5e4f49a813720b894403812d48bc8df17c72af5e1e6609ffd5c219d85d1680f9b80af4477f834f0d1ce7b647fd8d3dc8e30e93f722c46b68e08f95aa283bdc8923001c1494092980d7e3bf3be6dd4cbab1798c79663d6c71ae711a9fdfb6223a99700c3c1fef3425396a8f8faa488d6d91e0114af14d4d550054d021b2857feb4f6f13e4b49774b65cdf35f8d735ce5685a503b524ec4cc0dba3177d652e7e72661347cc463b6506737f3f4a436c73cee28e910c437a39e29cf24ffe637a78e49babff91f8f41e5428964a5787bb12bd0e63f54fc90f72d31ad4a10abafb5439232951635123be879ecd8f6ea2f351fce594c0fb7d5172f9931d30bad42cd6faa404735a5e179adfebcd71a03521a543aff6ad35c24304811e253792eaa71926b34488a268551ca9a834a632acccea07a011f1da82ff72caf7a5a93b632f7bcf314c6378e3b70c2c2077e5bd383e8d02949669f2ef8a518a9903e36a2967777915ea2f00da08e0378abb8feb7960478a33abfc58d92d7259a54122825258e4cee37979fdbdb3bd60d00711eceddaa7e341c45f1d418b729acfde132ffb69759c9296f7d32eb72c212e2e1fd8c9f1edf43070e5c2fd5e72517a3137420748885c86428e97f478bce0b5022a9d4cfebff9056d85a81eeb1f1f4ce4769ea72774ed80e9f26bc29402e486bf57b1a1c4d518d747dc42ad4772cd7ebc1212adb6fa1139295971298e122f4747a8fca80fa5ae1b51c8cb0a713da289150c0152b12494e00ab4f80244eb6608748d16a1e6e20fcfd2367be16772f253cb3cbfd87b69cccb0bcdb6dd5b3acbd7bd38f9c21cca47f8d0012079bb72ee19f30ee58bedc962faab7e303ea09d525f778dc81d45ed1d177e4f35a5a2728cb4eb60bc6b85f17bff0696752c784e7292424c38026fe2742b29ba44e47e726d5f3d68b3792e186bce37181b58661171f13c881629c5298facf52a5388bf29b49fff10f787cebf587c3cb74b586a1c59bf34e5341444f28f86755c6236c772b69c9cf4856fa9269230668951bc29763187cacfa2d1a73dd008e22794681572dc819533e32bc9dc7badcc463cd7d4573517915cebb15c6bc7a17fcdb09ae272c39ca9f5f541bfd3a65cd53b5a587e1e0652ece9457ed02d822a5837265f7172ab9a9756dead760a6f593349f86045c8bb28cbf344d4f8a7c0817fd46d6fdc727840b8f99335ab43338861bff5225c6a7f30abd7c20197690f0c9cb0f592c616e438c1d94f2cce1ba4feca765ed34931ec1b4d52dbdd83fb438b75e9e50ca172fd8ed660ed2b0fb68a025aeba95c4375afd1230bdb035ec9a536bc83bb94aa3ed64fcaa53eb824e8ca11f6b253a60d73f605794ae84c147c48d9cffd3f7839722af313243346bbb2ddb6525f57af837522407deda0b4c08d600e7cad8880a272d7daab39514998f42431262cad6551dea7f0bab5b89c419cfc96a7a92d57b82516dbba7360718056e5b38bd41dd75f614b3d70adfb8d1d27188b549fbc40782fddbc4ac7ae4c20b937425d2973613e408aa456bff51628b632493af115edc531a8aff67008469da1a662120fd25145ad7d950bd2e53bb49b8679baabfd0673729f5192d22cab4ae5ba3c7a7b39fff687e96bde24906790c70369a1ddcec67d728931ef0a5b57781899bc39bfc29ebedf6698645682fe46b9ed4541f207e716003e08d2797d1cfcf1fdf307d2eca35fe52c1caa9f6e6c4562b31dd2348c782872bbbcdc252a08cc3502fdb90bbd0ab4e463009a699bbd3a9eb099ad550c89d07294ca580b37abd88a5ceda6f92a4752e3b31a736aff8f6a476100100189c5a605700bad678481ad93eb173b51e9f9729c3ac385b574452e1ec5aaecbfd4fee472aacdbd8f6a3d564c4ca3c1f9387d237500c9a86428791cb10b76201cbe8f9872587bb652bde9c6be0c5237c09e897db1857efddce9dbe58c783d01557ac62972aefeb9c5a74f0bfb9be1a1ca5604b413b4d9b8a5ada20361b561c30ec2423a6cbe9511cae6ddc4dfd9e0c6418a47e8e7ba0bd2a12e0b71b198cc939d758dfb2bbd1a9b81aed921b9091383aa41de8664879d2b30aa3cf63817655429856ed572fa538c8f6264f204887bf490ec070fcdc498051d2c790c234e2b2c44f7083b7222386d35d0dbcc0022e50c6f8f37039a6e6f617fed74fc0f06ba513e0ba5ac7255a6e22cd76ae6ee8c71b70c249da4cf2fee47c124cf3c20144bd7c76ed4fd5dff5ddc5d3a0e375eab5dd4757b6d59d03a6369988d4e5a245f880916926f3e72a8d26ae33de578c4910afc6c82fc71e484a3236c81c10d18da17fb5223343572958628987e9808350807db6f244c60c15422304e914a070effa5c459612c81725774c186960471f66b76baf2a47941d90d97a8116d0fe719ce503e3d35d3cc6d72fc53e4299b513578101696c70bf96818ec06a28fb10cd9ffb20bc8cd5aeb72f1928dedf8ba9c4c1e8f4f8475150177e2bc3ba0062f6ca72e1e434d4785386f0d4789474dd9f1204546dbe6f15ddbd5a8fb9f0869c18273ae3b1161b4c5b172244d43c276f86509f7cde7cce588ae3f4d57465d3269df28b628dede740f1769d7f57553da0cd7e4bf14b3c41ffa895b9e2bab828d03835f6e06a0384204fa72cdda50d43464dfba1821cce730c1644dd4cf4d878edb98cb700f03b3eeac6172913542f23e4a699f1b7be5aa505966f4595550d0de8ab114fa5e6da9726a1072c87f5748834a754fb8b51bd17c8f065a8c9797a663105040176abdc4380fd272ac11c3289f0afb4f737543b12f3e8484e48dfa18ba5292ee968c74159ad2ad3027fc6cc54174971c0f71b838ebe5332a831359e2f34a358d7ce05c809f219572c46283fd59c45b259cdd1ae8fcc5055d0c3e5ee5ab466a06b4de2534f4b96e7271d49b901e32f2eba2f5c3e225ec73cc6edbff96d592eb0893515e94d70ab24d321f9a02e6ea58c0e6b077744a2126b2be147a14059d1528f528681fb10f7805f92449846211b2854be20e74efeaa315dc8ea1ea3543a4e0e6ed7c2420c83972e0e206fd75436bdc9965f602d4b62592980471e9203ed2c2f62cdf25c9e7e909e5fd1304beec6b541bb1b8df7743be8808add614bc21713f0c44bff633ce396205ed3167034d6369aff05b5ebe0a28eb7140792a2024e5171ed78900b1d6c86ee9f73487e0a5562adc4d52e8106a6ded78917fde783c16f31b424c12315b885810b731e65d2f1309ffe9b730abd9512b058719fcff60e437b0be563913dd80720d31a2dbf3f1bad0f915c4ef44632eac0dae224218778287ee66abd3dd1756087f923351e840ae1e63da74caea53b0d34ca858daea0842f7aa56799a70048c4eb7232f9ee8a85f0ccf32f843a2ab26ccd0330a8988ce8a471e9f9f78b4a4b85e1605d2c4e199fbfbcf22a4f2d6293cdc44d432c61342f13d6194854a1325c57200b871acab9819baf63cfe2b021b03494e24198afd782ad402677fdfd87b6972623755c7b18d6a8b1b4b79f5178719e1197ca3af9f3569c7e93083b03e55407200e6047b4cc4cef21c8c22b6fcdf9b77ec75b792ca75276c4ea4c196952bbc11b9c3573ca7a84047edc3df0e3b91c586dc31e13fbad78051277848bffb578d231a2726edfc41725ddfd7dc76b5a4d6161657c6dc387271e5886fefd23c9fa426a8e26ca90409e4a76b82472c184e2d53d4716c46696df569f5c917a310aa4f5c16674b3e72c557c3e885fed0ad8f2499514cf08d567b8be4732bf5849b6b155dd7aade0137da08f05996323fbe377adf6e793c5f34758c544fa41d68e36af9724a0ef195a6661895506c1cf9dd86d2a7adf79d8cb39530d7d7918fbf95fd8272fb241ffe402936c4033eeda6b597564ba28cfd823557bdba45f44c5fb033b1729829dfb08f3d4315cd31731bd63f118c6870c201e970cad01b5ec1afbc33c903d9607ffd2851569a8235b2d2891563c6fe3b39af5929f5c1dd1c26dc123ea472b131d5e787c8e4bc6412ee88c212b2d5f174a140875b553b6d98256cf0b19472cf1911d850c045a7faa662839b3d0cfb4e49e191b754d8d4207b8e82e4ccef720839c4bbd9f1deba03a9cfffa6efd0d8a0ee0035c1b5595cb1b1b2f948541e62930ecd50a01c641ebe2dbc941296a59c5cc3645b7b4b9cda1c1bc070ee5ec27266e6e46637e0ae83874c6d150fdbc2cd11972a7e5b2e09e0bd2eb37fe89e8472e3e8933a2a4e04a934f9b69e9e3b12b382336ba39fde1d1ae6247e7f87f949725c22f4fd39100f40ec580930f171527f9ba09224279a8d448b68ea85a99366487ce72d539a89c0ad798b9f3fc08e26158503e4c8b3149165b5c17464ba25457245230fcf6a94c546b008a37bc02696861827b1995f10952720ef780f765a4572d984d2891092bfac9864decaa4b50c10e8c82057058eba1f04a933f96cd536727015d64c51e1397d370b45faa9723c9b74026ea54a1d0770ae55fd31861868722d446c885511490813ff568094f446840050a94e6c28ffd2c01ef82a73802772d0f2a949dfe64cade48fef7e3c87d4c9fcab6acded88cecce848e2ee86be1d7264388fd18cc50fa90450b65b31385add54cc72692c4d0682cd7ee19173351f62bce7d111ff639cf489ec15456ecdb495b2c6f1358e27445a947ced15541b011873d32a8d777c00cf340d1965f299841aaf5a49661d615fa411572eb3b58fd672f17628c735768fd03128ba2c73658885f3360b6b19f30bb65881b0b7e65e9c721d8612f1f8a61b66896ce26e3799ca55576f96344ef9e88b3237fd019753db728b6af281968afabb384ae0a8058a098536e4997cf5879d354d05bc89fff49a72853996e2c6bc94323e70de66f3f60a0a14b4e36c0a07ac201162dae0e667030aeb4b8b4a8c6016f3676517b998d63410c38107b3fd9ae126cce80fa6227c01194231a2d46472ba3bf92861ddb1f367d92b73b68f2143e2b2ed3f89e31ce5cf098df33d3ba8e058057f00d0f0a0abde11eff9c503db3272763b02e5930f83b4720a6e5b200b7fa2891c454156e811787e63d69aa0a852681ad085e38fd5104a72fed35693ae4c7b8cefd4b50624c6a1f2f3925dc6bf37fce88376b89fb7523d72b65383e3b87c0cfbdee46ff791e95460a5de68bb0cf61dfa3d76a262940a0272e930a918598107d3dfe0c0c0c215c8e5243018a6eb674f2aaf516474f220825109e820ca0399643a4ce40e98f768e565261dd4f92ed6fc8f27d99f6226e0283ffa7ac59eeaf27bfb9085578ae02ef4239835e0bd86d8a8270c4126cd45cd490eba0ddd3b565e50fdc5085e82683ddced2e2ce331780e3f8ae745efae6f15b12dbe77f42b6150caa288369afcd571ed8e2e1119da42596e9ba2253e902b11ae23fcbfe758bb8796c28e00b2b79117d07a60f76a09d2054eba69952b2f810d9b724274fb369f064474004ee32db891f52a5a7bab9b307e6ee4491d3cde4db68b3f490ba905e7926c0a52146906395738f434f2cdb41336dcefc01544164ac0d472d1722559201518b54ce88612a39a154c0cb3b4c77bcba3732e9e94cca2ebcf72cb76292265a45af799b747e26dbe63257bdab13f4cc5d4869e50697d062ee8343338daf08fec7e2a2d43fc06a8c2a588ac39b7e2a902d8047f4383903f6908724ec7ba6d0811697f1b7bdb5d517277ea2396acdf80b4ee3d53a1ea5aa3fd497202e5926166010a804f7c6ec76bdc3e7dbcbddf40bd643f20cf649de63c0887726011f2cabcb5180f1a40d914ba9fbed09bc20ada90e67bba1c0fb1b91d114d72fc8f199733b36c6d9e281120c417462734cb61fc3d5374d5445870167976534d9c80004ec113dbcd7ba1b2e93be42654ced9b26594c175df143dd50c401319521e95d7686b4590753fe0a76b65dc4021a4652a5df13509801fac993b153e660f76c3b1e6a6031cae5edecedba1b54134139843a7750a31224561b236a044207257a3277b6964132871b53dcfe902b46e9c624f27b22c4297413482349085b572eb7210070724ad25a6b34064c031c76c74ffead6e2a869486dc510cb831554714f73ab698b7bb3a3bc0bdcac0a23b4b46f795977bf70ba514556f98907d71b68efe654b94d03cecd02667514ab60dddee398fe95bf8df534904496d8087c32727652ba6893d4b30557c6a2fa1ec74b44c5673c36c18123dee589feaeebab67722914a5b23938fc10381ef077d4cfbc3012ed096cac4bb99c847c3048f543b74af915e01fb8cc7e1e88dc2e7a21a4fd3cf37626d6ad764d3c4dd173d2d220e172b3eed4087b09494a047db402e9a1b7116c7f6950cd8d7a40b6741a63ac6c9772a3c465beec9f1447b7ddbca1122590ab707357e7f0e61e3fbd39bdd10cb58263001aa00b29aeed7e7f056723fa26c192cdb108183730b8c95021b9cfb8d0fe72d3fedb96bd7080e836563b2340d081ba0ec74fbff78c1ee2ef3c55fe7740b572d1b269e297885ad4c86aba43c6d7ceda61f1c300a26c043db0950f73f343f75908c7310b43b1d1e430b0b45f5dcc7a7e1c4db7a38786a5ce67d1a29e2e4460728ced61637bc7285ee5fcc2db15597c4143c74ed160620fc056109f5acec6863d521eea8c26b3f87c7d0d4c86dcf49bada2875f13d83b0c7cd38ff7f8a70a5a723c1257ef2d137ef01de5e41aaf2dfb7332c3447e32e8cf399ea95d9236bf7772652373c85616fa1ae4fef9d21f970be28410e8814cb403491a24fb28dbd11c23152cba30db438bf805e2392dbf15b9e2cb3e56bb21b1726fc3132edaf8ce2372e0609fcee79798826ffe874a456573a603d6bc507568ba9c1dd7606a2da348527a115bd63631972da1223d2420ab4ac80680af7a33294e9cf7f12269b938fe56dae958366c40f610d9b48f1343576becabfe728816d41065f70d5b3347fad27297173ba6550ffa66d4075ee989b1966a35f19eb6288af4a130ea925327f41964215b593414c15a94c080f29b01bf0c05b508ae716c99085182c42fa4b8014517b2673eb3d9f2d748b5ae27fbd1a37ea5f5b37089b77b23221bbbdac778f1f9720fcd6b8c8d962467b5885cb6ecb234208083cb1854082211eefc74d38bee5a0d733047d38fc0afae82c58712ac4e0238cbc1bbddd5ed79b5522f10dc21641772f1359c593f11b111ed01d9f72a8e1eef2936ae0fcbbd676500300f627918a327c1313fbc8cf32fc4b613bab97a9701740d2b01ca692a5d7a39cfd548c2cdb47291caff4fee74ac274a5637ab90a12c013865dc6a012224e6a4082099c11d8d614b77d9aa07db18baeff36b64f0c0372a8ab0bb16bec90a58a30004e01f3cd10e36af183a563383d49ef6c57e166093d4908be1ce29db3f251dbc84a3f1161019bd3e188fe19f15a31be3ed6d2a3425cc730ccff925ed22f7217a92e875b79d3e44c2061b426de0889ad5db9a9f8589f8b6b94e0f6e04729d8aff0361f22f161450e17d45fc6eb0673f8a7b68ab387ef1a3893f1b04e0138f6dca99d49f9fdc6dc622ce631a5c1755200f0ced473ae872a2b4726332179e366726bbe066cf5c4a842f5729c46ab0ccca096aab883704847061ff19f59356dc058e2fa994980b221e3db5b26e6944590ae1a614c62caf8c67d577b09410db238277b24906b79f7264ae1290bae235e25c79981aeb8e84809c530916e62df3e8017f1aeaeb421439298953c675775dbc6a5e6ea3c072f690c7c7529690752fb22dbbf8ac1f1b01720743da1156cf776fee3feabf8a9d178cbf883275b73f68155eda08b13472892e339792c28d863d8e3e7a9c87b8f8f2cc50f3ffb26794f3484c145561d0460972e26849573ae706f016db3935a34a7f1b46723406c09871cf06b1309d1446f072b00eba21b4e8920c1d977b8ba3388518bb649ad9d7e71545c911ef5b9b58537283e69115f16967af1e2a276df1a3a3206a3b1d1f81045b91defff95c3327e072593b921c329753e3d387a6613f8e39ce80f620902b7aea1d0910d0d4f2b5677237ec91616480250f42126f97d93393a3eff2e469b105551f52cad686c6d61472422e9554afdf17c30b76a2bbbd916db370fac2cc1a1196a098203f8b0673000381fc58e46fdc2c0c89e49a09785550dcda28fc095842c887bd87600152e8c3503bc38f5c5b0a1a41571d139e801c18c39cdb78a0a199526dc847014e57b04a6775b7b3e264564e8a812e4219f0c257a70479d4e8dba367a7176082e8ec92df720a783f6e08332e03dbf05969ff79c307b9873eccddf96a826bc57bdea7fc9254a8f6c741f3da63427afc9a56cf33e837ecd73c5a20fbd3b2ec3568effb9c4a72eadfd7ee4a2e53ef4984ac9cd908b8d870edd144e593482bb0e09937c6086d72944b7ddb6a1029a963b5f98448462648eb57cc0c109f0649d7d9945874035672059c9c430bc5e6bac1ce472a897c95f53789761f754735026b45680428b02d69a2b3795bcfb6cfdb52b3e451d35d2202e3e63478d15d1d9047c590cf1970876d5006cb3bc6dc38631b8f9cd5f285944e5c04bad52ee4aec0b0b59292f4570c72ec167fdc420c757ce942e42b5975612d0873ca318cde7b7ab0a6c14d09dfb372abc66309fa19104233757a825653b889ceddf8ef23f1ce5cdc01a03d21ce3972cd293a3abf41107da7139c75452ef088f0ac43aeb52f91294dd32be544100e277773f13883e481e9afacc5969301e9dee08630fad37c51e1f5d83f539a264c43800a2e360cbca6dd57d81d833ef29a80ea64785ae00708023cc9bf8f15db3c727a5db1271ef55b01a5e4b0ad4d5d9d0767f0ff4169824fae53a52ccba53770726a80dd76f86d69eff53f323a9d4170e770ee171c480dfb88732473b7f1595b05d24c778c828930ce952a2a4a1393dcfd3aaba1d95a8200cd9f9c0e13a1f15650b7d6ab6797787caec635ed6f6adac3293e02a8dc3cd6bb9f57f3fa6755ea4403901beb1ae7505e882d780f6e3b8dde1b2f2a2b979ee4f6692af245565d388e7222f86da89a21fb2395a24aac6947ee5d1c3103de27898ef73c1964d5319db07249ca2d935afe1fb650a74df6c50457e839bb1e6f5b76bfb0f25a33bc6587f4725ef6a6a3693662e33145952fa9d91df71b836db7d001a7d3fa1cda20993bf77272d013f3f63d9406f02ecdcb320538f053ddb4e4066d118a944126bd2ff049049c76dbb9ebb70460556b73017897c6551bfad5c76004a37420c377464db32972729383317c928c87ac936419aab14aea4894be029249b4d719bb6cdfe2c4cc6220ed37c920d88b1083be19ad6525949a6ade6f00d5ee745201e138daca761d7259be0a47e3ccf48ab31cebc1a439e875f622884f467fa354188bbec9fe9e46722e5f8664e9ca3ab6e31a094b7239e0b1fd40eb91a6de13213673ac3cd5e0cc72d4014e647b29b7d9aec5a732636023002a9c6febe07279fc02938db4a1607e7266cdd7e18f1e89dd08cefbd6269bb8c250717a348bf4ecab64c5f0afb21643725c3daa99f44df33d804145603fbcf7123c39801bd5a39143ef8f4db8533694476449c84432b6d755aa2e6568985813b356069f54c1e04e82e2af40c4c7445872a910294d9fd1a036d48013bf285b571aba0a84aff63446f52c45b3826d0def5a798b9e9743c2dc96fc5b163bc46b39605bce16b6cb809f7006886b7636ac6672a0efc2e9152e2fd2779cbd8612296d388982958abce99200c38e1ffe77611c2517317a8fd6dece0bc334d6bba0edcf3c1849bdf0122732ce98932c109de8f2726395e029f866573efa5d52dfc5cb1bd7799b39191298146054836c6dd331b172070e90139cd5e1cb1f251e7d321bf1d62f1307697dbfdd1009ba515030e47a722c073cf2cf5f77415d421c24083ff8b8e1560817add3efdab0c2f942dc76e85c3ed8e2640c0988c5c43051e43ffe8f09c94d7f3c7778ec5ed5c876bdbce98372881b4a836458801b6354a79c75c313e120d7ce0348ccdd522fdc13119ba69672d57856a186a6009fe81fba3a7464c004b2039a89d812e8c88a275802d74299727a1801032c0cf1233f78458c1d1ce42326362eeb8a8388d281ff326f146dd050683300238831c20c006de0999d18bcd122c478966b3cb355a91167a1164379161e1766a0a746856dc5eac8bf833b0ef4cb77beeee89d825422eb031d6bab6a7211b61ed464fbe51e126292dec5494bdf911f518fd4fcfddd57f4db309bdd1b0eb8f275496f20b15ac1145539072bffca98b3e6292a6e71ea5fc7bb7ddbcab538ed8ba5374dbe4cab04bda3d4db941458065d3984e379d7f202e53094ee39071abd5f878a25c8dd22540152cbb647fc46ace906cf8d2483b2aa0af3fa8122e6722a5531508ec5ecd8800d0968ac60f7799e90bd6ebe74e30492f01ea58eeeb67294b2274b126cb7e2c7f373cc204aa08d51219d35e72885451fb3454bda9d033ec9b38f8e95feab5e775469e766ab6cc07d07c353e74a855d2db54e6410b9812662f6d937e307a238041c06392f4b9771b30d6e043f54df31bfa45fe4823a65728440245ffa098ce670ed7b8824a7b894b2db54d6fa659e877a2cfad5a58e1272fea13abc22237d4fbedc3130808ddbd2fed13cf87bd93b5029273fa35a72c96941911cd6e83d48eb1b0726ee0b9dcb482de0c4c42e823f85cd7d7ff2838a767286495cb18d41c5bcd1be99e859ae8161bdde68346bfe492ea6a00c1480418c31aa52f7039740f5e21ed2a85de17bef128ca0e2f64ff0775f3a905c3ebe3b0b43cb7f154fbc95bd0b9f9a178cf8e54721fd51ed026c2ed99cbc283fefc2604c420b48b13acb6649e83cbbf5bf7074cda3f22cbd3980922719370407f4baef5b4dfe32c18bbb603594795b281387a4c6ffabb1e8011f85fba983ab3b5a101d6372b2b10b188abda925cffc428b4966d07b0871345a0740dd0115895f586ef95d72c23d19ff605d492ff5010a4c4e80b914f89bf4d91d5a1d367b497499ebefd8387699f4087ea9239ed295ecdd4f9f95635505f88bff801413d016bcbc84304b3f2a197da9b44f08467d4aa3b928698880920e65dda4cba080c749799b67b1c372b6494fdc81f65af98e32621416b28fe8840023ee7691f5f82e30f34629026723dc1dd692fad0831875f61578e0351586bab4302a02a78059ba372300574bae72d0d243e8da4096edebae6ab459dfdc45309c6307f2d05a720e9c442f477f27729851512a7c5ffb14f330872340ff07e1e4bc1a0dbb54279437801a594e5d0c726dbf49970c8411621a213068ca87071f0a3e2a506f747eb4192078a70028f8725401d98ade7fb8b15dab22fa3fcdd5194fcf2cd9ccbfeb9e9bfc092a90a59072b4592656c150a1d452e3d2c98759de4d43f25f909e1afb0254ffe46461f0997261f12cb40f4f409d5b13a3ea75a9d146535acd63baa93c68d9bc6a6b6887bd2573e60d17ec304e72b737a64a17c75e1c3f1abb5f00087084eedfbcb047e40702e8e3bc96356478ec78925a87cc87fae994eeb753d0ba689a963cb1766a0015570a4cc0db41f7e67318a060db318b7d1d8a666fa17ecf738ba42ee0f78369416f4e5136f6b17a0160db7c8564cbdc7a0cb68f82f2e43d7dd63ef5e3d8e3fcdc7282b686674fa4442f14c48fe5734e66c040cc3bc655f333d56f9aab437990e47277cdc26947581695303d554a00d3d465ae1af83c60d3c9e3ad8e35ffa46d8d00d4eae29e0d3e281872769f3ea731a71d996975a962ab8ff7f848ff6d3c27f472951cbc4af876bee93da86273295d54ae0ee6f59c8b39f757cfeea13c2a072b1c3733fab8e5d73cf95c25e55c453c9f1df135ae585ee85441484443a0549d0672b9f58fe4cc492ac8f8208fa78792411e7e0d97012f98804e993d9ad37ff05572ec053ffc6d6a24fd274aad144dff11bbfb2d56e6d83cee9ececdd775ed615a72ab13959015bfe21a86848b13223680fd6fc63ce77a9f6238b8104454710af87283b226cd88aa46d648dcfd2ace97219d630f8c2bb2c4551aa7fce5b2ff6d4267551e51f76d5b2baa9dff3bd5a0903cc4737fb0201f90f108d1180a77e6776c1cd59733e00211d3596fc5463ab01802508272fce072b22cc554e903e887959a72efce0a1573dd46696aafde72d2859b8969797334da9b54d40ce79549ce8c4d40e4f7e305e4719b0c5abc8d2623d37fae69c8fde2711e44c1d37333bc2db10272f91587e99c5b253034e517f825f4426674b11b6e4747e9f878448581a2d50072c979c6f0c05298a482103493a13d90ec62e930b35aff6342a791d340fe64233c109e185ac7ee9626596f49f4b484316da5ac46e90643251c1df936a68d98250672f1bf38defbd2496c8ab0f02efebaead79d2404d5dcd5f6fd67873407cbd605f2d5448ca3dfe8de1c465f49c0180be71053757957672ada1f97dd355fcfc37258545331cf161360c3678d2d68259d5c72413e81a4132b2f1d3c3efdf09f5572373097357229842f36329c08dba220f88b216676eebc6df6e80881005af0b65729712e3ecc920cd3c4a2f79f3561d699670e0b594802b229deb14aea717fc7727b376e2b51716e27038eb1040a766c2f29ae3bb844ad2550889360220ab28572cb7d1cb25836de9b34ac21eb4a542bb0e8ed06485e08be3d4a0fab9dbc7a9372e200dbb0f01b74d12fc27d5bb6f8c1fa52615f8a89fff4bce12486df76b4d7610233327d7f3c68275078dff5ad44b6602ba61514f2c702d59d0873e578a574667e6ad9d514ff16f92188d65cbcb7a15aeab3c3005bd9f8349d3ed1dc0fb47e11b0116c934af4447890f1f1ac6f11a9739164b36c737d5a1edcde96232e0fe5724596d2cfcacbde0fae9b5fb473065009c87ecce5582e3e24a77491d1b28f19645c0fc425d2f5a0ce5df48d76b4e063b00e59260900e65af387a15e9c0bded03cc6e482611b2e69d86407d395344287ee9a5504b0a5c19e1b01549aa929682f72a63080c68a9a7cf6e5697b131244af47347f698f2626aa41dce2d8824defa672c851a916a071b5e93e24388c604879ecee9bb8eac918ac86b2d22fa3cb8acb5d9c2937fd5cdbd20fdda6441081de82f3968ee26912de6ec92128db754b56de1bcd405b31f1600069c8007b66fe8fd768e3ea6ea00a749485c7f21411e0edc872a4c323cc3b337aff9ae76aa524c00c28fe38452efe7b4fefdc7cf9d090931a5de57a7974a6d9113054245fdbd508d0889928736f5ecafacbebde245bcca45572d46380a4fdba7fd3dba775df264fe975e60a5e295bcd41aa083fb72937666472bf43ba500e2f81aa0108f9f22dd01a4198d34383d372cea641746bb3afc44a382acb49273df962a714afd596a2c9292c615d4f0beea1514d8cc44a9c7a541951c8b71c59293ca01b3c7ca31b18843b4a88d218ee074b631484740529fd8375720a2f453ca17824ee5db76f7cf6f89b38da87cb954379653e073364bb20c8105e0f7d13a3bb5625cd34f25dd679a57fd0961677a1ca645cca10f7bd1a4be4d545caa6cf771cd6853e64d3b62b0eb601a87c305a777d23e73afc19448ba9060a382da20ce93917d6ffe66a518e709b8269629cf169beafffaa2d93029a907aa872562e7dd7dedcba5e2a25464c69fe32de820f11c6a643797914ad19f84da7bb42bfab7ead4f35e2a100990cfd9c31d9de17b43e3506ac04e87249ff02aa56657208d3871446200f3c88320d679fb6c72f7783699c82eca7fd356541fe62615225ec22457b0f2a8272335ed41d0545a202e2e4766a8b86edc5eb6ac53d7d6db8724706239716a8f0b0ef8288cd24c6eb154cc4cf2cb36760bb9561bd7502566072d475b2b3064f5e3990e941b72f8c73a39ad640e338ab761eb6415b0efdc13f723dff063478d213e864fc4466065f9f3d2670d430e3dbf4474c89b43fcd84c6728e4be89a70a24b60e5e3a43455d8a61bca4676cbede66cc6871f6ff5f926ca3427251eb15b7eb1acfcdb26f3d081f160089fea4e0900668efdc8b54b65ddee722af3bec81a1fec7d90508f42f544c245d47fc9bfcaec6adaacc8e95bdffba872a26f7d81b06fb27ab5e9a74ecfb71ab50f496194bafacd1c8fa346f5a6bb090aaf622df25bf68c64e51288b3ac361502474c8286a06293288586b6a9546dc102b2fe659318602c8c20f55d6ea209da3dee623d0a71fb25c41880ef2f246bf83df96794ecd5eec85af258a78a09016bda4a7bb80396eef9cfa9e318b434786e535a2b223c8b6c7b22c675a35c6b1b8e43dd01bb9faf29dc749e7ae02977c04f72ad5bf44b46da877524c599e50dcd1321da39d41c3a2e6dbd8d4325310e3dc5722cb631895e0b98d6a08644f58ee6b3d8c2128549dd73c07e9eed2cf49694b072d8e730b8562e59f71eed01ef32f1e0db6294bed9de7c02434bf6c75f2d74217239b3d6dd18c52b0e298c8426d033356ca6696637cd619bd4e1955972edfaaf7239df1d587230bed7c457f40b1bf1e7fcae737d255f1fed40edebef1fc4e4d272c1f98d36987d86d28e043b93cced7f9f26b7c874024704c2ed0885ee52d3ff02b1440d8d782834ca6a9511ea3fb7ed47308e9a5a2dfbbe9afec8c778dddea472466d0561bdf3c01045ab0bbe286fe1b0d83d5ffe66131dd83224d174beb370175a8def40ad5ab7dba1100d0ce555ee95a30ebcb224be92d7bd9f358f96cb973e56116b206e6d7d75799d7322635b00b5eadde4b7bf87dc401ce5f5dc1a92a052a7170256d58595dccd2f6d914876d6123a6769fe8ea6ee6ffd3a90fe0d7114723f7477a71009aa224447319b55a93c8dcbf324b2d2309fe22fc803846662fe498ac4818e8020b292df3a7b3611314c85c74a23cc3bd22a6a5f8a6aad36c1057200e23b8282155dc37f54e43d4f1ae15b9256ee2ff39985ec03fe88cb44de7b01b70438995ec75983932edcd18583743abd2c2ab799a4102032829c8cd1d1e25b4c631b490bb0f7348cca02ab13ab2bdfa7c5898010edab733e9fe9200f3c3237454143f64057e7c34d2864d2c8a3168ddf5a98e308f8969d5faba7d713cbd0724d605419d7f115bdab936e4f88714953b97a8854e49f2b950e34c6cc7684a536b8460c90585bc9d0f120acb933e15fe6342b6741e69441944eb04e0bf9efa5165213fdf0e00c7886d2fe1a772a4a46245c3bbbdf106e858433360a7d40f9567218c315b41ebdbcbbd7aa7126acf0529c1cece42aee9c1f2597b83b371a0612729bfa74772294762102d9aa4773ff8ac25b9180546c3d308ef4b44e427bd0df72f80ea7a5a7ce9ac954bc3e96d159ae118f8ff81c7da612d28dd7ddb62f24b21e68d0369562e331533d3dd5d3942354697d2c6fc289a5de15094513f46b499c728b6c42e7ea9b088ec4abc2317347ff1108ad798377539601c784358ebd1acc47f81d4378a15378ff618fa5bc04bbf4504cdac860895ef1d339e1683fae2ccf726207889ae33445f356004b3718c4619bd46bcd3209176675f8b867c9df9c335ea8a52f04c5d2cc749c5b3f9ab9e5d125ff2ebcb17107842dfdc439599ecfa572882a34d4af9eb5e4785b9c312aa7502ad4850d4892727fc891e063250478817271f9c711f0e68ed630fc4c7887e7b6510c46c9fb9df3e23fae884f2b85996e724c323339fb4e2fbcd19e49704d548fc571537e7596cc8b6d450e30135d6ff472e9c6e42553d8122da0ed7727679574bf1898e5545178f2a59d0ba3d8b00e9472783cc89a5e3291b9ad4add0e9d1b3d0a3ddea56c7625da096c46e8f7f868dc72512f984987213ec78f0671417cc0318bd2571dd9c0b8e6c3dedeca0ffb9c7c722cc59db295f162aaef7a08251421f8bdd949506700fe9ebc1dec5f1b6cf33772cd5ab685071e7947b300eb2d851b3e5edf96492390efbe33d645c0126fe387722b5204c0070238b64ae0bec233e7700a0cea9abbd6b8e04a99157376227aff1b62f20689aeacb038093c68a02734dfe79b39ae20a49dfcc0605235cd71829c7283dcb587a4e73699ba47cf2582a081bfc9a47724bbcc9be5c6f5c2d5a6854f72033fc57ee844c0653ed97493806075478308e25159d331c1536ecee082ed2b141892d2c52670a97e210eda1a04051f5ace7478da455f31388e274ba9940afa721fbe4f86583eaffd734401620c0416ac5047c0b8379fd24635af1278a2842419e1bb76dda2c2041e462e3736fa5b8098e0db03c2b2bbbba8ee5fcaefa167861d6af1e22f522609c00a2b89ad8ae2ebd8e7ab33fe6d1e549ec7d0671067f1832564037ab29d604cabc35672b742e6415783155e23febde4c76520c8133920236973de852fa41bbd542bd7908f90a3001cd870c4a6a63fc4d928c7fc59ed28057234f10581e98a3c8adaf9cdc4775eba27e285ee52be607976cd92aa123e23ad579fb32bf0e81f83108b92c6c60d692544c7f419cc9164f06467d07918ac9d0c7232f9f2a3c19d4f23b86d2d82e2c02f29ca9e79f26332ec32cf3c83d42b95e46a4390f4cd6752609acf4e609888244c064e9b51c48871ba0b97a86d834d662e31c4ecbd7eb2d1cdf3d106c0023947c198fffece43b2609cd9d2570eaaa652da289ac74711463eae9897ffd73d8b8900af25619f1bcfd0c0de6ff294443e679d31f8136cd8e09d6d326467d3cef2a090b7c1f9f0f2f4e76cb0b549a45b875ab7122b210139ea732cf74fa8c157c554973a0e0c41fe69aaae72574ecac00a0ac9722c275f3cec7c31f497b4a24b6869181237c48b56445992139b1ca11ec91a3133b0e114474655cffc50e61a00df813d4025c8e8fc847c52080d09c121a5b8317260405e3b5e4e8d9236af94e7c0fb992928c8c25165f466add286dde9c337e5725f37ba339991bcc847969e100e3609ebf8785507ba4396af1fc33a0c675adb7236eab71bd2b937268a3b5de3224924d38ef6738a6a8aca1ffab08827dead1f728e88ee03a766964932f66a4f3befdaa70db8b02ab1a1f49a597b6622d5586c72add104d379b584cd86b98c88053f6f5780188b33d1538547df1cebab8a4ddb726939afdcfe93044eef237c29c5eb997fdd9aa9d55448e9f3fd2526bec167c172b78cf5fe792ddf52b0c63270e15ff22e77cad991576af10a3ea17e2de0fa0c08bb8f48a3facc9159228b3f611bae11043c5a8b98f6bd5a8dcbe4734c31e4b2726a88c2173f5417859a584df841c9bf952e7ae829d3d3cb49674db064b696c27257c5754d646ebce32247b232bd8986f69a9aac0291862b97ae3bf72a13775d254b0296615a0f70468a19b5478a387faecbaebe40c1dd7bab17213b6f45be3372949d142869c13057be0442873c8a4450182c52c70a9058fb6be8852241d7f97247b75ede4e42856006eba3ceb2534800b52716ac5665a8d349754aecdc90ae72c7c908d713e5ac3e169e79cd336986b0686728cbb5581bea07dc4dec65945c725cc99855d250c7e4c3cac67af76d981dad4ec0fb003fb1a9b22ba1d7107145725b72b3e657c356b28778f682b710cdaaa9f896eeed9833bd306850295e81277226c87a0466d059384bcc9f05724b0ffa184f4066c5aab52aed0870ebd7c2222c72025dc0fe10d85d0df3ce911225dcfee30bcdcc24a02e2874bfc7c8374c54562dd338bd16a1b36e78323e793e9ccfac08818e0f318befd5e3497870571974726922006d67c9c344dc5dae8392641c38cbeb97e3752e7def07c18ff79bfb315a565ccd5a172c1048e40a2ba569eb0fe3e0017ba68946889c25c78d3806201c72c3bca1b66154f9bf61f9ca0ff9a528f9da69de48dc5d7b444b6c178e41831772bf9dda0ef9b8dc25482ea8eacee7e6226e071ad5d2cc50b217f47d0310f571209da6248504d2246aef927848b7dd98dd6c0f9a784c5388e07f63f353d711696d4e357623827babca98abdb987f02c74cd5dae7e81ea87846d655207f06713f0878e70320c0dde1c93aba5425064c738490d6f1557e978e492bbd33804b9f9f09a4b63aa6a81fcf006f5a7b274f8cd3108d6da5cb9a8aad413fded0596db1b072cd3d756e62a1b16cd93ae7fbaceddb421d5cbb24ea5d61a8472b937bbb49465d10654b6be54cbde4f12a39879b4f09d40596e41b350357bf790eb4e1e066693eae3df4aada675dd79cdbebb3bd593a62e104aa9e99723419041eba3c5d915272062dbb930192a0eb5f480310df62479a6e6840db9317f61e403dddefe3d4bd72cef509256749592c8c610c47d221d76404cff94d49afeba24877973455b6f5727cf2cf5241d0df3675092a079d2d26b076a286e40c868e16033b0ef8d8c7f372f4e68c9ae3c7b28b16e919f3c4fe9b54a100f6041cd518eb4924f244bfff5872fe537f9d511064762d799e32c6ea45165d453f7af76a9ffda9d98e9828efa972d1512419fef4280a2f48f9a67ead96b51138ad45d0a14381003afa94a6908372279155c5573e477908c947fa401b408fda41384d184e0d5beb02055e97a66241d8b2c081db8d2b9178c16d8b5774194193f8a359a9894a99eca427d2f49f25727ec0df6eaa9788d97e5fd71a3b1a3d71c423c3f88840d07f805ad3c649e49655c8ab2a966060f0d8f76422a0a942881d50236dd8b7a4692b561420f8d2499e72549440927fc2a87096fa02f33d144b83b4a21dbb5f316c6a6714c17ac32fbe720d3e7ee9e83c9022a4f9b86dda7b81775afe30aa7950c08708f2cfe6a728c213aed3d021c058c8a8cfd6cb0dae7d1458f163b0563f4ea0519a88d96832cc4c3a62f37cbc87996061c35a5d265268b2bbefad0270c6606d9007efa44a80c99b72f54cb73c279310403b3191446b210b0439aa11286378159fd200c4dc2a86b35d2b56b848c26b70b2a873d29763a8f33c8210e6bee3164ef9b6189e65442615491ce302d9f708eed2b51ff42ef499dc243114ddfb361c316e988d2ae292cea00621c281ab8a5b74fe187da30dd7663c35c391ddbf50d0fdb9859729ed125a8c72fa78573be6fbd82f99bd15799e5238f9eda1b9dc70a12cb41445e148d2675b7270cf7bbf458dfe6a6eac4212cd467148f86e8a9e2077b1dd940659fc46bdab729b7dceae8cbb05087c9a278c4b37adb3b00155014d209fa074b94bda5be81c728d899dd50c917ddb587b253101face4216f4deea4968f3e721e8027877718972adc9047c95435e864efc9334b6d6bc61e7311a9947cb88de294256ab3823c77285eb8c7b1ea52c1068fe15c9a456cc35ea9d5d610ba4d9aba71096686a366372eb00cfe305ec01aaaeef2a1aacaa55e260499f37d15fbd254a6f30de39adf572365b73cfaa2814b94edefbbce1207b4a764e97768bfada5662440383d4464e62c5f19a3983eb4955fdadaab2496ae52e55e43661cbfecb64147fc04fa9c5872f0a95be11b5d93de276d05f21a56d931fc538df57e34ce3409ba090ae21305d4e3ab0d66c7ec93285d6d1039c3065eefe2c92520333a6954da4f1270cb5607372883708911b68960e84e8265b1e8708e8865ece2af0754e684585ddd116ca037204afa44ea298b9eddb44b9b1fd9cf6f7b35ed9c266e58eb7e5532a40e038b56c9cf11e55bc50474e1046ddb575b178878c1df52a9d06c05c634b23895b7cd272e99cee0aab5b5a6caf8c33eeb00cacefd0e51e93ea9719738a26dc47527cc70dbe76b997fe1309e99199a6182415b656ae0745a551391cc1c17f2043aaeee5726787ff4986651f2bf04662c433e82caa9cdbe8a1525b02cf7333d7ed5da3a072054279e546d0a3bdeef826e7fb76f05a5a68182d0e5169ca5267343fdfe9e4729107b4beb26171a5682d2f2d1f4b0b358f022670d8422ad21f045e64c3e8bc581eed23ee85fd93e8a610b5a1a711564b8ad90f93982a9a59679386b003bf957282d864cb1de51c46b3878c656da5358c88f3e53d4f91ffc8b7bc8219f528904102945b8a925deb465d32dd9e0e8fdb5419364443aa619bb1bd14ed16f315907202c6bc7068ff1ddca6f4d8a40936d809ded1453b2682584dd030d0563cef2a728f7b28528aa5dc408fb2192661129bce4eadba2c5a1b10f84b0d7f610181f972918544432be256808bb02d774ae1cfc07c9ce2afa32d13295c956f384646c072f8a319be9f2ca7f97ffc951fa3f186045102b43932e30e28d8c3b210b09f25720b9533bc68b451094d73bb2c120eefe5a7ae1bc061c93a61c639681407bd4c726a6fffd68c102671a223f965a617c97e4183122d57101dc49219957d6fa267294e4a52a9e28b7f7aeb7b8671ef12ff06bf3dc06a1d0bd6f90d9f60a514a4d872472132a62ad7054d52fe4e3be0a0d3fb10e1dca593381d05bcf790dca8ebb372b23defaa1c91733b7bda4f3df6f5ff2c113773668c09c8bf3ff46c1cdae2277206d8055e0b18886798f2bc297b4c8c5fae1c4dc71bde0d59fe31f30d45239834535f741fbd8755e2eaaf05c606bd7984ce46407b3ad14d9bae91c09cc4262d200acfd5aca7f3e9caaa5a1972a33fdcc8ce9d51cf25cfb962c75e8736f95f752f6bce6ce9fffafe4934a3a2b3dbd77eaf45503375a251a92740eda9b0916efe72ad560abe8f5db38a6580cadf5bd5805b159571ece6fdc843b880c3313a483a4863508dce33e4d07c4e4e7f1fdb5c5843629a537121664bbbd8a021198766404b3859de4a8e2ae4ff6cd5dda46bb39882835fa8a079fff749003a45089e0a477218a45122608cf1298941fca08977c20470e5b37ed266fcb22309e8712e27b6720a6c1e2ce791f38247ac998522d64be37d2aad3438fa746e1c0bade2e6ef0c48599840005a98d1f5842af193925389da894f1130b9514f99fe38f3e4376f4872f3d78af7b83c2f00a4d37c5449a4ae850f6a57ee2ee38b4e6753d0be196f1372076c27ee8ab7fb65aa279df5da0a98ded776fba01e93301d5d35213acb208a725af6bedac4ac7c6a611023065afe04dd7cf21aef53d34febc488062b95f9dd72c7a096408b43e5f04d7ebda2e0e310550d34e19f2107567c93d24bf4fdf0cf72fcea2d404dcc1a25e28714705d39825ecde53afbb8019e9a558dc53dbed6ff13a7cd1c4513c6a58e6496095bcc54c06927bc2110cecdf7b353c2563c794b18720f3b6112a5635ac8258d29e6a0d9db0190ba242cfca804ffcef5c3bd8f75d972a7a8901f04ba6664f1e975f6ce80c6a0ad0ed7e8e4acf1b5a3fe00e1d0d2fc32706b428e47e8d3f3d606a00c5d5dd0e727a99c7f2c04cdce1a6bf3b6a09f91727546a70d2111ceec9e7980d90b3f1b835ec91cf751c66c429b03972cf09b4e4980e971a2911dcbcfc93ce9d6bed40f01c9a401f9144522e1b4d78c57ca0101725de417175517b90d5a76f229e28ec4d71ed0e2f743fd602ef80a8701b2e97d4ea00a3eaf4d9fad107cebda9cbd5a1653de54e8ffa004307326cea009a6166172d11b1159801a681077d6ec5ea249144cec46d256c464998256ee03c9964061027082c5180b52cb484cf8780ebf37adb81de61e24b65aabd4864c8eb73912016252f4461ceb2440394dc4dd01951acba376482929bbbcfce32f17b8235029a640eaa596684393aa28c5e4363b58d9d743c66e528eb5744ee94ff9064cf34cf03c30866dc90708797377c9d7818f672ba190862539c5cbdfa5302c7534794c577296233ff10a021d17b30f1de07c361a0e229886162e753383e13dd1ce3380ba72c002b6866d786f6431e7033c5f76f743002b99a3e095aac38118e8039c89a9728a8e86c1c2d5eba96075431e752fcb7f42a5767d04552addef0e4a047c8b550c884e5cd9f51e1db2c30b0246244187a26932b693654f4038569bacf009c74e72e44f1fa1b331b8695c15e3cd72ca4b3767a4cb08e9acc7e1f4e0ffc74a7a2e0659768e7ea839c96861e9bdecfc35f13d184fad001c7e34ad9672848aca318966cf6fd3e0f2b43fe42c69533763bae61a0da2bd3d8b5b6b86b1561e72c44112726fcd2f9ccf2178c51f6bc47d3d70e245ae2029cf429cfe18b3f443d7a6ac49722058382c37b9daf907cc6b58207a5f369b604a1e5acbe1ea1604984a109d2c3189fdcc0964fec7ce9daae36818081d7a73b55727d8ffe8a6d5552f1c3979e2723dd2316d1fc9f3a8f8a10993a1447e39858fc36be18d6609ef849c8257626c72c5d4b5d47d7fc708b6b6771a7a912e16f45f52b8690865a594050bdbb1e30022307a383c616926ce5ff231b12d7d945a002edb0175107146043100b3a8f2f772d06679c32031ef59f20b6a0dae2bdc03582a274ecce89e95059ee7b42c6dfc7211554ccac705356e757fc0b2799effc1397ef9e7a927875909c12544a8e981422960209c3618afce89cb30b8f3b8adad8d550fded015ff2b33781f2d71136372e76d0bef1f7d3526434b4394e415cafdc77a381b498c028162b09b44441e4372f99a06d691b731dc8bfe4a7623e1b9d0d6b6047460e60beec42ec6bd0798e372df0928e7f42b6783dbe5179350e78cd2d0a2b54c6cfcaae767ddca810b97df72da95f5684d770c664821d6fafe622ac316e32746831de9ab4ac4bffca1c08d31fef3422b97700d4ad2e1b060171d9c3f9c52d82bd9270a5b6b7c78a36f4f7e7290ce29836caf7cb6966daab5c37cc8d2b76e510f59a4c4b5c47cefaee9c4ec7277c6016b22b7986f140acab59095ce71af3228100bee954f368457f15dcbeb3d7d13a58ca809ece37225aa8f4c09918a35c3378f297b6b90a2edf8ba7f0af2725ec5bed7a374e1f35b6b0732b4881e3d43e45b764cc70c538167520f8dc4cd33ea92555381408bfc136dd3e06e3b0582a42588773b94c38e23780196b4ccd411bd1b6d7f394c217f7a0f50c68e2eb5b2ab9706f64ec1afdcdb035af75b5fd2721bdfb8dd2fcc24d6bd6e43843f4e5e79ee69e087aceead9445dde1cb0c7b87722a3b8e79f292c9937cd2726b4b3ac992ff16cfe7e1807cbdd7bbbb0e36e1587223af748f1b5c9680b762fae1a6257dbfb8c789089b5d9a2698e6f191673401720278c9686d2a3c113512b5618ce7fe0c11a88b3fc3f0d954318bc348768a28203b5d41e9283c980152c69a4f2a17a13af6d94a13b7f020554ed7ac43b929fb72b7bebbd896fa9ad56e4117a9a582ff937d009cbc8301d6d7e571c3f7d314cd30362bf807ab7c3efbcce596ee331296a5e990631e533e7610dd4201f735459c72f99bd56f962a5ff61ac39847ad47bb682694c2e24fb01e55f2768e12cc11b2728fd82ca4a2326f5834d7c6af44c487b8acbe81fa43355ae30af2bc7d2112212b7bf066fc179c9082f41c2521e6f68b2e32995589759ce51f2e05ba30fa9e68727012ac2ab3c354d2f95d30eaf536c10dd17193380e57504055bc678d372bda726118833bdb74f2d32ffab74fa4e812b83d742085248ead78edf1d34e48c19c72f96d94ac104dc07fa54cc92627e75b86e9cce72a0cfa2542bf660510c3187e702a0a226583e640db058509a6663156d8703b5d4989de74a039c9ad3a83d939722877aa7d65b0c076bbe67a2477a15bd436d9f7144c9111b89faf4bd31d3a010735c2d209f08d3600f4653b1ee6944142e1d11a148732af7588079970792a3d3116fa005875caeff21e6d685c433c485b2f055484f474ea77ecfcf25fa3119b725157d10d0b3cf122975c21b5742044db4c9b006aa82d1241739f4c2dd95abf3b38e182de87482616a1fe86209e39811bc9c287080b733cb1c3b097cbbde9ad726ec085e0540b7c87843036296501f201bda26c5114667731b9140693f20d5d72dd6e8ba67cf9134c286047fbbe9fb26bb0609878ff45add7cd18d0a020036e08aa08b2d10cf0ef6b1755eee19962d0ef74d71175b9388534d16dcfa191b4a772405a57d9f16f667c84f43a0f7cfb6492bc0f2f9b7f53f80d0041517b263c3b729967c48895136009612d48361a063a3dba81fa40b3613e93b63913ab6828ff72479bae84d7022ae7a2d7a90aae4cf97b55d6bbd27f8ae68963ddda8f4768542bb4911b3a1a60e32af2a617c34c7cd4fdd7c9c9c6c2e450b81b5fc544fdc22872c968047f2bf3ec759441d4ac4a455c1dcc085915f7f99cc11a095e072ba8ba72770ebb8f81b0116fa908e623b217fe1cba8eca1e7d4013155fb4566fa91bbd58cffee614da916c1daa44f4e02393ab9bbbc1434618ef6f8277916bb9345ed4728d592545f30cb158ccb916317bd03251d961a1c578266251ff382881fd2da37262959ea27d41f2adfdf2023e836ed214301d0e4e84d21cb490bd101c637c2b7221a373890193807a62f82b82333335038f91167158321f50d8e18add7ed8a872d4f0c6a0c8765128751e7acd402b7b27321132c54e52d4af96086c76de86337282ca6de912db1394f9cc9ca68e50542afd42b567768ead01131f7facedfd1772c0d62b90df76c5ffcb1720bf0659c71ab1e3f7f7e29df4c27b478bcccf99936c54359431b6c196428bc7d7d0e6bb55d412186e846edb85c3adbb650aa1400372f037abc3ef9242d306130574b35e67a330b80e694effbc43d59aded3553add300a7caf6b067c8ac63ccb8c234483dcaa5c56015196a3be7c43dd4a408fa99c2ac1a8146d326a4bc2f27e9694713e5f8710d6f32e3fa63155b41b54d052ea1b72b0b6a0721226c803c0bcfc06127a1110cbe068f4c84d7357f400615edcdb4c6ef1970219738f7b3263ec9175ea8af702d5b4bcb729f52e2209562f740a7b826eb9cfec5e65dac64c1891585b04bfcb419c13aa548db5a78cbcda1dfc2e6fbd6f25040033e9030bc865ef5c2bf9526f72b0f242fe9894790fc1df317b4665c372fdac2754c5e47db1f8223c09a484535afb4b58a0668e2ccaac32a0d36bbb1d0e06e6d118ce2c149fd06e25a87ab0709818b1b1487a2c6dd74b0851e99bb47472353a2e6e8bef5e47aa185ad8d398e98f81ccd4d2135f489e92f809e6bce828727ca70f91d9c5ae4de115b97784e2ba7bbe9bf155d4047980af65daed7fe0de72ca63a5d0dc06bdff7d609f83e42cf90711bac46733c9db0dbcf32659effcbc7258413b3c99fd60bfccd4bd74be0d97e55c31fffc133f05272303918f25971672da2f6b5bce907b3b43851368a611f75004577b8b547eacba08bdeb9120e43d327bd506e96bd160656f1cd9ed4eb8b656b55ba955107ad46f0a302222e718d87271b44150e26a45e61d8d3b517db48f5c398cb3493d703c4f3823631df25d0b724b60464e2a1125ce0a9d04c5e4f413f5af7e862a58d782221d4431f380664372623f4f648b221122b67070e9db5d22acca991bf4889f48b564ca3bdf50fca0524ac1dd011b6e6bb337a8dc32bbc5ae80edd8bc45ee2d1aa73a17bc68f19922723ce2e353d85993f6824ba8e1f6b4d146793f39b40564c000688dd66c5b052b72824a76e2c2062689184db250783c463f11880d86308bbc1af4964cb9bee6e772ac2ece91253fc3d69229095bc3bee049e4583f1890b80ba6c4ff584dbc6696722b1170d959f66129a484c31653394c9d9361b73d6199a9ee776632066e1cd272fc472cfcba0476f1114fdf110bf593ebb5160d8e50289e41f593bb7ee05bac355abfc2914a051563a5b1cff9651ef1d035a04c96dd0d2a73d1e54f5c0299f272f3ce06da9f04f910ae734521648e2198fd74e6de75eab7494885fab92618d21185b2048ed9239950bc48763eede55aca2b2f02639787997105428b8322cc2f3fd453d8fa6b2753f82f89d5ea2547e489a3eb9fbd4d5a02f567c45f82fa3450722636dd54a13ca83cf19859c35d1d62835930c519b2bb68fa08eb431b66d93b5881231b6eb6a2b8adf1707d6005b3d6ed9262675cef9ea0fccc6a93b50041cb2e6c44b71be5693901f6f975aa0b9fa5cb6497dba456d707157534b1c4f125656007632b4434e91f1b4016b3805a8c0ce0435fe7e754235bb26f619c96e0f0667296415d016017ccff23a591d55f60a044ca55335275d223cac43daaea94cd9a5db8b5da8e4931fb75a3860b640f49d4415eaa523ea327e1d9416c6a3634d7097218fbe0cbd303e57c0c0402d08f875873d7235821d63c81d1c64fcb3e7fdca41729b76a7efadccc8266ee8333cb113516a0de02ce19a3397fdf5c975a4f2ff572a4abef21260a219c49ebe3352f57e4783d1a01d9ba58ddf46d687509d07b8216569bfdf7df0067f418c227b22d95d405d0d63330e4fda415b191a689706f731fb92f7c08949f68770b6adecfee6e45bf4cbbfce7244a80aa44bea2715f38594fa5ce5d11022a4745b3f6a525e7e8ab1c5d1936cb3e7334ce906dd61f7825a71c5279bf6f79e6030a9fac912f15799b8ae52f45b7bd5946dd0f1d6a9141043b41b09cab74c37a22d11fe5fa36c77b6f2bcc947fe89f4b3490437bd84a4ec59e1d15fa7f1fe655dfca72d2d390ff25914dd11035357bc2779428999f45089436725147521f8b8693770a2326db76b4089517f8fdc18f08723c20bc4f655955c27250fe28ae15d7129dd9cd41a58165db7dcf66ab1950e20f4af5338cfc0d396c72b0174d7004f1c9404a6784757c8bfcaf0b6ab1f82363f694b201451ac351fe7246a12bec7573c0c77433d73c885af40fc38c64e19512be9703b8abd969678b13e51f28bbe27867d9add0fa34a247fb3f38b897535f1e940902a14adea85d4f3766ebdfecbb8518de02141c9dd3ac281ab68d3c6d08a1eb784093eb7393d44072ca012e6fc9158a3368985780ed0f1ea17b226bd31f3f1f2d08c6fe6e9abf3572292195b852c038463769a09ccd602b98cf30e9c70460358c4c476477c3c4f4720a1aaf15382c1ca261124aa5f80a98758e5aaabe422a3ea40f79f95d43129d72e6a5978f06389c6dc53b56763653e9a7cc9b632f8d86687dd15b854685216a5ce9b89f46e2c6cc53cf312c4756283ee7740de2e39fc506cb4d968a2461a39a5f5171c9d5076f291ebc9e1165f10cf23472be77da4168cbec994918c6c045986c8896d2182c4a240bd69c24012d4a432c913627dacf4658af2f42ecdfbb8ae0405e8663e6e61dee2e0f3f636640d63b8f77d81f0ac3ce525c6b3dab9522e830729b8f2aafad73a6173b53846549f8edd17979f64896c82cc2966969071e0b4c576f112eac1c01013d752d598e7b3d190abdbd6ef32ba8e21b48b0fdf2a44cef24992de09e32b8b0625d0d9b9b0b36a4ee51d1c889880a6cda84b3370fc03a157231d8a3fbc5f9eba3c3001a5f795eae4b662f0b6703ec9f4201fd101134ce6c7298035863c4e1742526ec1c232de7320475b9f4244e61f00f7c5161da70901272e4bab4441fc42220056db921be728e35a375b9ffb4e0dc0fc67912b801d8b17217641267b03395af05fc30679ed913842254643224281e12087d256764442f4dd0d836c2c6261a96b2cf1ac80157328e9559b264b1b6e371006220dc6cacf86ca37001ec4a21636387c4db642b4a831acc718756efbbc8080f9b1e749e9c58066842b537f49d6a2907651addf3482f0d2df7c445f673889be06fd0c89f842072ad7d2875bd5080180cbd6da4931bf1d7648862ca7896a886c25cdfdfc8067f7208b4ce62fd26fbb283971dd76f379c206e251dde6829771027300a4e2ecc063f1fac1cc797a32a1da1c8cbd326468cbcf63e5d9e43a2f570f39e94b5fdbc6e5b4517b4778f0511d4f3a09d32cfed1b0b5d561b8675dfad78cc0b300afbb5a672b6e7185614c35b8238782bb0862c4d69b6bbbe5d5c9ef11eabafb921279cf2727b9672f6b8ccac5afae30e06a33510bc2171e1606e4cf7f37961b1638a4983721e5b4e5b6f4e929105c0b2c3aac534a813341dfac230d38e63f8c046c9ab2e2828c63face2c70136da97674916588452b877489a7be1b51bffd335bcbe130b536017269231013a57d35a9336c892400390d6e02a1314137a3ad03af699fce54910beddb196d941b57d25326c946caaa331311d15c81652962d4dbb81ff3a0419af733cd16894bf3b99596ff5fa858ce6c0a6238016c89ce74770d53906d68272978ec96f36966f13ede31cb59e56ebd165901f1f7441b9e3786fba0225768130dbd4a8027049f7305ce50994857c01c1278c4605145c074f6175053b22c01f7239f937eb39fec7275ed9134bac7e5fddae2fb78e51c112f5bd92f3b62133ba71b1b40318d56c7308d36044a96bbb032b37aede1b738ac07a754c34cafd7b9472a2a64cccde75ad5ec0e2526b25792495b8e27e059dd4978d07e8704e046c195f4475ab7ac3d746d6b095d68ee7823cf76f9bc5df2998665aec9bee70c8ab7406a8e91e6886e4846c56f66ed897cbb6de4ae9fa4680fe5c0176607e164d981c7215d68d9603be672463e1a038b2b25748f22cec9c1d0996749f3d95efd335c40c4733a6a867c2274c46fe18993b5deb79df56c07240d5c5771e2057743de74262d3c701e9d65f42fdf0aa577db75819383a229d4789054c3808b6805ffa74f0013ba0b08d0cf35a2b08cbaafe85bf67901e7d237db15980b00ce8b2fbfe217472b1a97d3ec66c550646c13902d4f8e1442b825a0778e5295b73e576bfc15403722f864ed2a2de9b440365ef11a55a2f0557e37df01a2613b59b361810bff66172564c2150988ab9d1b00e8c15879d83e32eac749b3b939880a80210e2c6153362a26ddd998f52c780f7d80f6264f9c6ea2e150badbe2c31f3ffc32d89ff72f472e0e77fba23ca507bbbee4e0a865a61e8694170df682af659769944cee9af8372cc9d2dc737e5fe9a9fd87e7c888b21e71737ef6286cfefbd66412353adfc76705ee37361f8e3639ea6bb423d800e3c5af1182798f41361b435a9d979e3301572ff93de84f4351f1eaceef42985c39192d62a8f767da00684cc70586a9a713858175d480baf9e21cde843cb2d4cbd6049700073f3e912f1cc78319ed368a3f360d5861fc81e11207328c968aa85a783615e9c87172371a1b239043ad9435b037276d7b5d67f705b697a78bf92c200f986199751a955b2c6ea30dfa088035d462918128d44e8ede3ed3e2eede460d3915ca2b78ee46d0f3fbbfb26fc150802576eaac648c4e99fe85f5904307483d60aac1d64101e2732055427838f49813fd0418024264636bdd1f905c84044dd47359fa71ed83df48d38fc1e446a92a67ac3729be850240b1f1d091a1f8200b4ab3e39ed24c1c25d9fe48cbdde1ab2302cea3fec8bfd6679037450da026e56d1ae6f4bc62e0b7a6deb5643a275ea4daf00fc7261e0b95319566d9adcf79aeb79b7ae0facaf62607e3f50b7de4e2680ddff8872d024d2b66804259b8c44ca6327f673776c5380bc04403b765c2082bce10f777236010e4635ff03b45b146c9b8e2f0531f67906a134b6d615614ac9dd1229f5725c22a7863b7f0bf8c0ffb9b5118397efe7301c57746d154016222cd1f1a7682480deb8e1d017def5bca032eff78089ab6b146f9057c267a360bfd1ed9fea514474b10d06cdf16b5c16c27cdb02131096177eb71fbcea2fc3cb7fe0e5299767724177bf2a77fbc4a19f634a2975075bfc095b476cb04de43bd26fd32ff233b1721f52957b5694c5b2494c340230e9ba8ed3f52b806790842c7ae1035fb7058772477fc4627206be75168cb06712e22ed0371d1454f848495efc9c0515906d7146793fac56d6314958e44a0f89ce5fcedf8a6d735cba92f3dc5dd8f458951df4725dd2e4d76b9e22f12c71bcb72683183d98c4790f10fd1e43f70754a6f74bf255a30b1a02380abbe206a69cd7920d151ddb9ea197c9fd7fe9ae9497f56c64b23884cb3b9eb64c83e03314ef156bfe9863095b6f81acc6487e30ecb91311a7d8727baca59e1b4139c849977bfd2ce2238b4352359bb4f5f099a59844e673579e72e481af4e4aff241ad0191ebb8e1d1f9507984c619f617cf35eb9138100d3b272bce33ce60d369506a94b79ab8d457767209b263013cb483b4e1efe2a017d02721f5ba527d188aad5754f94e2fb16c8982a35cc43c36119f17a9e84a0ac13024faaa88ef657af9f32ff64e049e6b263e682ff35ba4ce56d6fa8b53dc15674fd678406a5085b02541630eeac901980541a523f7109d1ba0498eeb63bc6b8439d3114609325f185f206b64eb5549a79389daaaa55b15254dd575b80aeda63a9f7722fa2826375ecb62de4d91ce930a2826465b15cf52f5726a7619eaf8553186b62144411fa63961b69ea442e9b9630f6bbe9a3a27c94cad9fc7caf5fd97e84bc72064c58b7d5e74ea95ac94988afe474de7d9d89c3ba66c8b9194104bfc7722808211a81987c9a0da3867648b9fe2e7b378f143977df2dba8299dc531fa7595372b686683108b520971638e4e5e7349433dd265935ca6a4b6de056a7cd718b6c44267ea4a9e1d9ab1c282d783f7c898868b7be13df0f00cbcebbcbe49522f07350016b22235ee88e37258aec0d677db7e6267a87c313c853e92ce44245b2b6fb720705bcdcc8ac9bff714341876de935046cea6069b7fbd5b98ea5b88329a0dd62754c417b1ec530797214e0fbf0f1330ab25588915092feab274ef262c2afd71a056e1d512cb7ed36e2fd77cc7c71b866b68970b7ae2c8181a1f9070508194905e8551514ec341eb367353cf116bf0ccea6c59b89de3b905caf30ff04719b8461cb826611465378453f18569ae2db5b07ff6424bbf0ee1477804e074cf854e211712f4fd793b22aab80504592fb88b67e9f9fd7575b2327a98a4d914eb169a572be1b5d2fdaed1d1525d0eabc5fb121c5a9bafe4d709b807641a678685c2a48653dad48f08f0f46cefda2fcba1f8eaa9d2cb7811a1dc61f75ab09e935e37f3472576838dc3e34b14b8e72743b1752d881a398a5a6318252e7ad844241d5db2705d83deeb248558d076f741e778a7ce0a11c02661579d01d4abac3535beb575872b97ef2193d39f37585c39e1a6c5d1c35f32d9a804c31c5df27023cf2bc0c45722ace020c6ed68172a54eb1145cf92e8e1b525028d6ea125295fd83afad2ef672d1f3293200cefe8e7a265c40d302fe254488dd23716b1ba40d0da68ff9efc23e06589fa81d6fb17ea0d9172e41c10755105e28aaeb0843ff3fcb168d72b5db2dae0979ecb8bf32afa85a661e9d30c8edc24b0b2e5476a0e6e41d3d4804db4572b22643e46988b4a28edc1c580895107c31665406783a8da1c4a8eb59b13e0756da7fa3679142f36f21bba2380e9a7698ab8982fd92c20a5474eedabb0c2ebf7230712523141d12bd613456e36abf958ee5d80d6a03e7877bd077d1b2fe51bd4fe6cfa2e51044ead35aa829edf42fb6ab1b6c6221754fbc37c60217e0d2076672b29d5f01ada5e9f6ca9993c2cbabb25ee5ed2bd8ce930d56681ad4f86f2a1143c6d75ea03c0ec07b389ae2c1e40eacce91123bd5b2c74222cd1a173c460f1e7262af8b5e1df116949dcfdd3fe6dba5836bde88e73be753350fd87fbca5c8bd6c2da680165f9d8c328e0a59075ba9a68dff863825ed252a46d15cfa01cf2f4272f9e6caa9005140c561b3e30fc17ce3f6b2523c160762194da86aebffa78c27729bea479604f40a13195689c80cc5cbe4f6a3c38570983c0274db90ee9b5f1665df6a606b4672c4d072ab12ca802bc4f5b05ce4cb9a42d13dcfb8fcc99b686a72ae399b800d543125a5ebb0a3468a39595eaa994bff16470581b867d6cab97772bbf80d55fedd0e7edcc3b0c4d9474eb20a1fb7c39e3b7a9396e90b3203164752623c3d592950c732472021aa9c06a8584a5d78db22cd44271b1f4f3eebf4783a61eea9063fb51e0de68690a69851e520a2982d102208b1f0d7b370b9aefb835c899a5034938318ed466a8ea524e329a65466e431735fe10d833c44d838a2e772862befa249cce2c33c903087b838fde34e975c83170e5f49290d40893305b272615b4ff07f5f6c8159f19bcea56903bcbfed9db8cea86bb3345ad1f9b650a2721a06cef72cb516539f2c028d064801b81102b52098455f435ba414cc2ab6055d9576c6d59e4139c83d200e4cf7e7aa544fadd0f578273658b33f4b6a9040560d06a9427f35e41b4be072817ff94381c1e66d69217fc0f4d16772398c8a870c72240238ff1f01ef59d50431844ef925a45a2a807c9f8729ae0e45f7350837a3729b6f30f43a12562c112b923db395049f1a947375719a2afcd456a137dd21fb72ce4a032c8114f48b08c8571dae186760fc0e4670ccb346c0bd1366f9a81eb3723e7746052396b341a978ae04525ca645e429e616afb5f8353ae8f8ce19a93072b5685ace43b2d3cae20db97a8ad857895af7422223665d7f51ca8c326f209e25588f21ab236cecfc9d58edfd608cd025b816a6e03558a244bc86b7583750854d90d70760389ba7c1f1e5904300ed334390312eaa6cc9f1c939d6c0d082dad3725b2326d3983fb69fd0ebefd362c972e959aafc37c768150f0263412642aa9a25051c962e0142e4ad792756bd05c5d738b8c99aa9dc65e6fdcbbd221479f80a28d94be2a9418ca5517517afca9534022c8c6e4c50ed1646674d38de2e4bebec72e5c5b52efc37687154b89bce2c23c1bd80312f7057275227ff8e565c613ab470060b25b546662b81c61de2be57475f1c7f6d2cfc14c74b6fe8492654b75b9753b7e1bb328f34f8f0702e1f40ebc65a19c583fc7703f8c56b4b1896c3b5484e282bf63c0b3500c13cc41af16466f2029e776f4d81f4995c936d5b3b923a2aa95d2988f9db950816e6be099f722198b806c51a22b6a8aa964b863be6968ee73972e380684448769e691db484c3f89b84fa1f67be23972ac648dae1e8a6ede23472dc0700951ea33f9d92306287f61dd9c28865004af7b7fe072d6bfceb0529fd725ba06b8813dbeffed51923465cab774e5b7958bb836786e0e8b716fa61f508722e634b375236016146373559a2238705573ecce85927fb978f28778de1f4b0041726d06a109febc454b6b066d7db2583525bc62d66492b3f68c0b8e28c0bee326b8ad5d383b166ee5038a499483c4604f44bca86cca11dfec063d5d688d4f73d616bc725cffad3aa6578342fdabad5bbf5b19862cbce0f9781817e648fb8a472849b4c7e3c9b75bad5056c87aba6521f65d816b92df029218de220b885e0df72365833ca80bcb53e2a9f18652cf128f1c80ac8274c645eb1223287122260d37257652e3a0d22d58cbee1914669dc4cb1fdce7604ca58e4e2e0cb5ed308b2c159b028549faf17bb44f26241e51bd4d879a582a4153fd3649b105871dc40b0b5729638f9d2ff46e436f088d62f32f9fd2a148d1927f3337c90d1b4475a25daf472e4d27621b5cec366324d5c51f11df1397f78ff6ed390b0632b2ea8df381f046b7ebf42ef9ef1065b29137c9040e59ff5cdf6fb45e75f4259e7017b5fc33e7072fccf7bc2e110b1c4a579dbaa1106a7dc96fc599e9c905cab6dfb88fdf5fc1672f3d5f47e2adf0d620c061ed2229586e63fed6455cf49ca7e14f114d2754652725be513bbcdd52f0f9011746c2d437fc36009baf3c0db6732bffe00581137c0723d34c1ff3a466d5ea86c33b316d08f13917205aadf2378b039f94ad17ceebc6910c0085c5cc9ad2ae665dbeb4fece2fff0b44a2fb38f0a4fe242748e27e689164284cdc1a61857b61ff1b98054d1ef8fc78434dfc09dbbd04131f436e5e8f02c0d1960b0d76059df10681dbf3373699868ef65ebeadf85aa96a71902301ba3103d49c9f300e6112c635c3f86e21605f3d7487957e593c2210b7da68f6d145e65dedb5b6c75e67b6bca15ed9dc3765cd27b7c94663f41372f1d40d7176a47d921cb969d88b66e11199def8858e2e44638117b7a9f7d1b38f904433af51df071663ea6d27f453f576e12b8fbec7fc58f7ddda1994ec6dd12df7ab7e0a6283d8872f7b9b8fa524325a9d4bbbdcbf2ea04b6caa1a34e697d75479d54246d6c319f725c3f6d16af300902346b5be8d75bf35ce7652a42e0938e559f6fb10e16cb0772fb54b46a3986281893ca72560f388375808f8acf0a33c6af0d2f0fd5a54b8e71c72f3e2fd11075e783c9dfb69ae06a1bbc1d4d7d89c7a413bad962a3fc3404729e725361ce5869939fcd4ba4bee6afeb056cc5cd87a5444901409fda04650a723a35b290b1e0d7e2592df2035d3c37633b79834b88840f8df64f55cd0091e0721e1694fef7a36065a9c3bad0b88632ae2c9e51102bbcfa7ff099dfb1775c6f096f37ab8232bb5511ca0f7665e9d3b6886e23af4ad7f1926aa63d5c192a6f7d72339f25677aea4108ce75e9c34ee628ccc82d256a795801228ab32aaa87ecdd5312c12eab8fb8dd5178b595fe2cbae9ae8e7b120a3eb122c3ffb5e5904083d872fef98fb460f07be24be1d27d80a0b9fa838b4e6ff2c630f4bd146c75156af242b91131fe006d2eb0250bc8bf5e386f9967ac916bfa500384c7e3e10fd4dfd44fa26125dab940fda6302b6aac07101691677ce680c03ede8db6c7573482a738340b1ef32dc652e8d0e5efd73d25feb70f1a7c4c6641382511c78ece6db52660380ee580d2de74c93e7646f790dfd3780a18fbba71b22967740f42d3f0a40c5972bcd83115f2b395e28d73cae6abec92461ec7fc350aa6ad78c4e413a3c5f099164ed7d3247323029ca6e85db068b9e731610ed19875edffa48d8b6ee1064a61339d7f99306c988dadb6664aa91a6b6cd8b57bcc968823b56a58d2e4ff37cb8067b990289e8ff2816c254e01cc33dd02de13e64c8f36d711570e4a5e0df3f1a57260130d17f45fd5370cf61f011237e44872b718993692fc2c1abee1571412ad6e581fdb944fadd34747d405d1857f0fbd348dfbe49f096a27960957e73f078e01b5998ee1917a3c4df4f9771512b2590b4bff38aeead93966e1ff73395585ce724a7e60637a2fa610ffeaddd3b4b250d8c13c7e907cbb89365c4ccfee1a17a7728854e791dd3dfad9adbb937dbf6fad866395381915bf883106ab57f5a2d4b372688a2216dea188097193e09cb576042bee62fd93ccfa1a35b64875babdcc14362fe9c2afa7a6821f04b0b16a670cb95a220068459a682e7e448f9bb8069b0243c31725e3984ea6de8ccd853213ed21d30451cc7de3f562b94e8d7abe23304e722abab861a9e00cecb56997496a22baff17292e2ce03d24c90e9fad4d8e6d3b6e5f7dc9c4008a9bc40440647a3de0f264daeeccecc79c02ea5f2bdbd01415e1187b4851d3f9b95009ac5fb0a69c6e7ec7d1f3c4f09b7e94d4da918c97482de24a8687c0c6ed35a0cb8116cca9a367b49aa03828252d14e3f8673d5e1ac080dd4bdd455b30c901b3d99b295fc53c742f630296736b0737cbf1cecf1accf6a49c72e53cc1f26c57ba938eb1b273caf2b383cb33281177f839a7530ec8c7a1547d54fdfcd0333c627b7b752b059ab5f1943ab86e7bf5c94b1ea0702248146d7752726a3614f89503dcbacf966da8731f110d564964dd9e47bfd1ed1eab381a5f7672b448f0d6bf5dcb538f1e94a29a3188311522a2949d11aa296f4fbad9be525d61548eb2739576338ebb3a936f1d632f822aad011e66f469d19c7e44462616347284ac42cbc409564e223e03163ba557e293557ebc5f0401c0d274eb1a633ee068e9188a8aee3bd1c8282e0a800a7df1ccd7aabc9e08f6e1fa1555fd7b339fdc720dc510fb0a4b3ec635fd23f86edd6f753c40342965c203e2941aa2191e3f63720db008c82a50c835db0be54506f7e29bcd757e694cc0e7bedc1a539cb330b24ff8d344270e598ba9292d9ebb2696da9e832819b9ce685e6c0c8a30af0716ee4a7b29068dcc7c65df1dfd84437ad8e4c23aa0a49327ee547e8f876841968d8972422767cb3b9095b0584ddb2cd25a4061e4adc319a85963b45826be5e6fab64721443931a9f5bc97bbd9d8f830614974b4f3bd3b1513530c6da8dd44dc423d6725a7a7e35f92d64018004a6d991077d098b06ab197efc0186e3d574b9e0ff7a3f10709fce192e84cdfe7b6f40dc732a76d1001c499eb010da7f4065e45e693e54e71dbba320b342949b6fc63d7480b8d3dcf8e51c57987aa18022ed044df6920cdc9b905271dba4021965f0cf6d2161cf91dcf59e20894e04dbcc2a6a689c8b72425372c82c26a18568ea61d0b52b6ca01691aef501d11aef60cf73e9f5c03e1725eab115f51fd6fc1df3f1721f20950b7045edc1b758b4d1a3d67ce229667e72268845fa5f778bc00e717308185661f2d25578f0206898507a6b544b5ae5bd35e7cabfb1655f0e52911a679531e035d94264d783776c70dd777e5e60143c6c7259847aaa7bac7d2aa179fb81a08e7be2f4dd362bc19eb8f1adbe70ec8dbf02724a07c09f50db2de0547e9eaa2f2bb40ad1d964a88d6515ded8da1dc96585f512accb6479350a01748db7b64da69ad08afcef0f46bdaedf618bc056e1484dd121fce61a6026fd465de6b06266b24b660ba2a0974d27453411f71a1695bd7d3972d9b239045e55ede3b349d06f883a9c6824c349c1a809f73bb30027934b575748d7ad17c9e6a1f2c110c8745aa830d6d8985369b342de09af31eb818fcb0d3872627d0522d92145c20bfd6c37d17a945f54ce00bb5c6f0cdfe48cc085d7835b01db0c3d95fe04454ca956b1069d85c8a69730bc20cdf8590a4015aa4bed75f5217b0a646c77d8f9d0030d817e4664d20fea2b259095428bf5e0c9f46f0b675c72e09792bf15980e220c16ef9d83fb179f5ba0a30f2fd7eb0253d868a1d2d899130df676089e214b466c10044bfafc92663508264c68a84baad8c2eb90b064f3727186accebeb24f57a12a08b3b643f5be16a5748bf1fc8eb1e8b5b656b0fad572ecc8fb65143f939c5561ba600d428887cb242cc84b3bf481ddb3e2626b44ce5d0a10917534ce6fc662795a30f34659b1d680a65cb7d734550983ffa0272fcf67f452fa08bd54da192bb593072a62aebe50c83061ec8e0df5377ba652917dd072e48016b7c6b389ba52774aab9239c5107c98bbe6886429293fad58b27cd9ef72c65df88ea04366609b0c3b09cfcf6abff4977d27d043b702c46463a51bd412526f81874eb7c8426e86c18a768cafd4ade8e7bda8862f2c60d3105926dd52893dec82ae56d6f8009b893dfa08e3d44197931e2a425ed57207bf8fa4b77b0b88729d4a2580e062ef8febc3c3d33568b0047b26a7697acb9a6fc6bd34aec1fae20409616439ba77a6a9596fb251a46207aeea7f95f354f7fc4560b9239406ec6f378e1c2a028cee5af47dfb2fb0365bc3c77c8fd0fc1d4f8547099a2473526c431c19935ea714d81067529bbcce87ba6968f3e85c88d01bb3757698719aa8e560633c7c631c78805e77b7d5f6d4823bbf2f765175e850014e1e978bf71beaf51772c2094adde226d78b3b083a7501d0a51719b3ad22e29a54d7d50624c5c4a73f72cd7b4038ef38bde51481ef41f129ac63e0c0cc8e067f00f71c057794442c584519d1d1ea1b420b023898e77aebdc458e138a1d3faa745255c9256fe1f0c4a6139555b7fef0638000d491dc300b3bfdf7b724021f95746b758b0dd3f7015e427281e8d4fb18aa943ac262985611644f03d0d6f4458c262bc09dfc45830194e5722f70de224016f75679e1a0292acf3f2582f7f5912cb9b716301f485daaed217231df97226dc33103aee1f65a3b4e0479b6fc3380703527b68cef199621138d724a140b4a9899e61f8927968020f4768da5c3ef6828a3068fc9fe3bd959d64651e950a682cde953f15342786d091a013093b66d8dc3e72a4301fdef4c64a7d77223b67169c5ac3b7e375547f0e5c064dc0c6636c99235834703be90965ac5af1a59b14afabd7f6ef40467cae528603385bba940d5099b8fdf0886c93910740d72b021c02013d73f72a4ff270785ded1b3f24e30cb6ee2e57d42897848771ae672a75ac1998f0feae55821f2f999ae2755dd23597ad5a74aa4d447f56b4415bd6e44cadfe246f02d5d1a9cd573048f2363fd0102827fde2ce293ff7868313ab27260d8984c7689f7cc7334884a72fd1c277688d59ff384b3bed5968996307b347237d011f8c98a98d90737de74a025e0e48f311dd9a44a850049db442a2381d7148398990dd6c7a9aea06394be5a1f801e07ff56ed9ccdac836cf40052cd70ba726c8bc2fce0e9d868f453014140e3bf3bbc4228fd3b2204f5ec85f8688888477282f27195085f6b8a9a89403375624ae35f36c21baf7d0c47cba8fb4ebb199572d1094d43aeb14edd9a7ba5ca83a178318a19c0e5d8f06c98b43ca8c36f73a02f1ae3180e94795cd53a82e4df5072c2a7820921f8804251e09e7b79b6a5a4364c418b46a5fe4b7a2f9cf51297b41e533d33bd0ad007617e3b64641d18981160288b9bf94a0a175a1d34d473f5f63c8abcbc46f5506bd795677cc9b8268ee56e7243ec79a8183d91cf68215f5c75b451725ce6e36ba72dbee6ddfd449ca372b42201d0653ebcd4acb2f7d571f3c867e744c9ea6f287fab45a31962fc99991a8543c37f0dac1d9cd0b053ea749356dc4d15c6ee7af41ceab8727bd9ca10e5ad91725a7073cb99ae4d7be282e90310c62f202d347fe40d115a1bc8e078b89322b972032d86053c13902d843a12bb47ece97e1e4f63850e515d0517dc56ee7dd3e0721d6541dff286642a7fd01e33c11daba2d201405056e7c747353a5ba8e501607250828ad090564c1c013e20958e343cd4979a5242aae46c19765f24d54b251d72b852a4ff9ff2099730f4ec3b13635e7f922c646144dd94f48521e16ad6511a72d416455ab601f4efb3e8318128af317d6d43ef38b115f9bf36e6e75885e2be723a1016e2e615f8d4d6d7d3c4d4e2ca794857d9779ea8ae30991618c6823af00f4c665b5de9ce02d4a0b69dbb2eec8461edc8dba2cb68ba161cee262ce9a10e7239a5b8d26c6360a4c9d4deeb5a4a3724202a4f4ef9be7e56e239d978510421722a848f9c7165e7848a30c34ec9d63529bd6fd4f41d4f6ce2ba42b9e50287377294a6791d5de9e10acb0d58217f7f7b1d6bc35c1e2554d3608df12246f2ae0d5b71e139ab454e8bb1bea310088ac156cfb6016f086b1175a973a364807f68085bd05f62cb27e76147a4e27c5b36da0f8e2b66b336cfcb472b7635475ba0625f222135ad819005aa69d289965c4d878e9c65e1f112cfda88f89694d6106037155bd9628719f07b239284c9dc5996dc55d09bf87c191a02deb0b13842cd550c172b83029995496116f718ffc96163c220a2876655e856aaa8c5d6f969ab8ce1957237f1bf58a15f5b868f42d458959d6c561f066c27e24680d62ef976f7bc651e7291237404e238f0b8815b35169a31f88cb740cc0aa568ab68c84aad2f5d1c7a72ae72faa60bc60e618c01d4da16444a334d36ad918547a812ed654f84a8a28372d8ef40492976be38899a02227e7c856762229311bcaef926610ba8ddf8bed07231c244444b91040c2d080bf9e1b811544c882f4f3dd73c86e68c363daf45a221d3dfb74592144e0de3acc44de85161a13fae6f210727b3d54ef36bb51c9ed00373c225bfaa9ab5c1aa4c4d43658b66304519a84860e2269aef7932bf99d8330060cb802cd4c5d65159f130e53c80579a0d2a1acb04d4e0edd547ab529bc87f0bb321ff1f4619024a553cbe0d47301e5073c003799779476de65acdd32f6e1d7276428101e534ae33315b68e5336b11a6a27000eecbdd91e81b701245c876977203bac67f19e5c99ceb72e0d90326a669f350bc374b54987c75ac4532aa266972da1fc66f43042582772ccb5d6f87647eaa922f07dd6b357d07c06e8012725b7277ce1591e10d713c8935f29e7e58eaa31256a5013dbc8356d4eb9f040c167872f41338ce08fdfee3d40aac77730eb576c28b8fa2bac0364bc09e2dee18dcfb7279977fdb0ac82bad3f9f2cf49d5e8d318f487b2c0ae0d57182e023e86a3a924c15226de35dcfdcfff0b9c9362dbbb6d5d6bf7f1b8dc3b0966d6763c10c351a36bedf111648d74e24460a3f3f94b08c99a5beac905779300becae155f3b33af1cf0ef1530c1ab41ebfd28ea203c72ce048189e7333691366635dacb06f397157225d8077363c31635534b8c29a00317c74baabb7ab60acb3c3daaadc40660fd6ec10c2062381b3143c7526433369ee548cb5a1e9bab5c5fa1af2ddc2e757dc172f15df461097f8534795920d39df40884d680cd97521f45f45d1d639870a68d19610e1aec2cdc3438c99f17cfa10d3363d7014bc378d415a1bfa2b23f9aae8572314d9f94cdfece29f980bc76dfe3fe8c359f0e69984a33780506d63a15af5b4b05617aa53c1682384159eb7e3bf661af05d150f8ba48bc880ec4f6f724f1e03c2df966e9b1637caa04a5355999b3921c20e87e047e1a3975ffbc4783bdc1b4725d2df5c6dc8aceea679c3c1f386262e66102779a8bb11b9105d50066d6ed0d2e3c4ca9afd621d3e651736b50f5f59a7be7f6d76819271dfd2375144e5a600e1bb3838fcda183bcf787f74aa0eb4cdc38ca51b63a8ccab79404b72f1053327533993890bafae063feb03a3ad8959d07448cc87b5993d95cea779cb2106dbde9548dd862c5b98f0fb7e174f21d5ab377a9c89b4e838b9b680fffb0102bbe6f960720c5652d652c3fc57552bbeb22d07add8a1da1d4d7bee29872b3309762f7a97280d2694aee0297aacad53b27d18714d4b03e9c6e53aaaa73ec6c6f89a9f35d72ff3654fdd5c40116640843b50798f455657e7077b83e0abc231b0587a9d26a667941349daf074c0621af7be809412e006bfdf75ef270b2154f9194d6662920707514e585b21f7698e0fd791b89cf9093bb61c8cc854f25ad935330d5faa80a7205b9149fca2edb56b2d9a6faa92a88c205ec6e1c06665c2e97670d68700b5a721593fc885009aff8ba1ab08ace98acf149542322feb675d9c2546ad00d58bb726ebe6a65e1eb5f1cda7ca5ff231386b3b9b149dc2d55d18d4909dbdce36bcb729485fef2c86edfdb5418d5001b4f6cf62572be6ec07516e3b9fa8e30f6c249726a1d912729f0257c007d540bb0293a30c48c48d0db0964e1835ecf902a938b72c1d13853fff7b5092a698b4ad2f96a847c75ae9f8ef696be834099bea6dc0639b3ecb577927abf1f4e1a889927d763a37d4a282410a555cfc6dfdfd8e40287722123ed2f4beb952141fff2e624ca5b2a24ec49e372f00c2ca07a2d7ed15d9d21451dc408bce9c8b27cfb15f3ee8586af5879731d5eb63575f8d3b70d72ddf572f1ab40e70060658998f5105fe31471c80b14198ea0ff41745f7840c1c4484c3c0824f69265cda480e645207dad51ce5b5f34f3113945fdd209d5dd99ef72e972100b45c3d20c8ed4bb05d8c4867d7a472e2fc450bca8256376d1ce1651cb9572473c6baf0ad4e24ecd2568356a77f28704121a6dfd312d2f719d6659d454dd72a4974dd677fd125bd72f35cce0b76cfa07c99c1e56b26ff4d37eac7622a05c149a2c074d3f9c33d6baae922ce97cdd5185d7aaec5de2c820d07c6da3a2486272811701004f4a35caa9c013f35a74b110e0f55a3ec36824cf7ce7f2bfe7e2d51b0f9b40c1c2635505f3234cab29d6b0b3ed074abda2504255f8f1e215c9c41472b0954e9caf41d5ced45238815622e322b42da2d9f0f2595ce9b8fdd2d595ec00860a9c3d29c22428908d5d91e99329183d2fb66c943e22b23c7b5f5c72080b00c92776e53cdd1dca6806ff3390fd898d645f7028dc60c281b2cc43c23e1bce0b19bce3cac314ec8dc3bd5e01a99bb8715b536275e8269175955490b8914a615d170e9bfc5a015acf5ddbfeea474d4a67c695c22c1fa9ef08261696545afc31720985279c6a5838115ba52b44ae8175a9e9b7aafbcf8b949fcc8afd90d77525725cbc18124b2726cbae139c4c726ef4ca09da2f2030905efde9313a8154eff67224efcbf18875e12c0b84c0a002863fa3818f46d7181d41e066aa52e1aefd0572e87cede01ccb2e98e4584b0dec8418208250b9b8031bbcd97e13310d2730f572365623753a47b31fac5ce26244104534ba304092205c80426f0c3bdd5a563d72922371a879ce662508c8369ca3dfa04bb45ef10b236a5c87ae3bfd46215eaa50f8fae6ff922b1e6e27358d79f1681cc5e29e0387ed447cb9e8653fcbcedbfc72ca3c9e0e63de65378c85b079a6797615f80a847a145aeeb2b14e10ce7288a172b25132e828203058d0440940d66167bbdd1352ed2716b6899d4ad7d2dd53ff4808dc01d2419d291cdeb95d497bc19e380e59ce83d2e8936d35b81ed83bbc1f4a4573e9146a74247d17df7da1a82fe2a02efa9aa62b602dc1f23af925295606726f0ccdc63b72cccf0e70bbfd78889e3c7627275427118129f45a469ce116cf2a942d40d928695425dba3912fcbf56fccf44a2054e92d9726f4f4ba3c5129e53d32f3056f8cd1c1164be028f15e4ce8ec810bc081ea33c54eb2da3d224bcaf672ce09adbe667f7ea02fc145d4f78936f9fcbd785d5f64573b56d71c1b7e5e44723708b0e260db63d037290dcfca4c39a2bd7b6cd7b4ee1d027e2daa2796cfce72c1024c45bad40188ccb2a7b2b15bff236ba4b1c15bb4297a608944cdc8909a50f67f26b19527f59c20696463a49daa5468ba20c0369e898ae050a317528a8d72f98d6ee0b913c321e9d04ad331643d1623e1f11215bb9431d9edf2282b0b0172b1d01a71faafe3b142fd223055eac7722937ff841ce0ec93f99fabed10e6c97259c9b4fdadefa60962b3790d4eddaba43b5f8332d93f64a4bffc0cde8fa0e172889804bdaaacc0e26a0442bcffbcab18a66053e271c1ed7400eafde6ea756c1d604ecc270797c643cf4d31e58e4a2c3bd0611817b4fc3d33cc7e7a027b7e6972823c474b43e92a468f4f2d622426c7c39b7b16cf55efbb381a148276346e4c72d5d7debb501cc4481d1eee2c4293f91477b02aca693627a5071e3b4643b3e77272f9645d39cae03a3c8205396f465b8be583c5b374139ebaf9e7e20fb684cd295b8abd2d6bc829b6a99260e4797118f3c68a77357e26eff5c3f7355a020001727ff9d4a7c825a2e94b5d901e40285af843b1487943563f0062105d7f25328a724704d198be50202e7d1145d14d68fc11bae07fa69cd5955d10f3f1ceda6d6e72ab18b09af8a7dc55d36b387ffaa664b8de6b11a4dce7a8783c967a988142dc72e0a218ef0893dd0ff7c785069f63c67377f079b32a830ec34c889e4d0fe83072ecde07a3c369f8c86e522d54d80729ab14d5d6926c42c9c20761ffc067c9f8284a6183e540ce63df728a4da53ddf4b6dcad26747b4514930053bc1c7fc2d1d723fb04da23549685d01348071b212091d75d26401a9953bfe002f4ca31e2b9472e969cd59018f61c0bbe091e2e1a08f0a3bcdaedcd1605e9efd00d64b079fdb7275281aa4ef6654bf2d6ab7d08d30dd4d9f53b00b36ed04e10234a745b16bfb369fe9b1198c2873c9f57b9c18b0a853736fbff631701f386de585b321ee7f3e723a319612cd80c0a68dd10cb0a00cbdc46e46b5d22b662f2853bfa5061530065b8c5ad798ae8dc6ec54d8bb1b39eebc4cd0d45464cd818142c8c26b848eff016b7d74b1d5d294500328d68152948eaab876b588aaf8c1d8713f49729743e91e72eb56637ccfe70260613a76b129fce8dc6fdf7f760602547788a2e7ee8d77361bc7e43210daf416698db8b05e584cae11d0e6c172010da9846ca055d1159b6231ec7c1fa8a12a6cb746b2046de80aaa96fc7c239a7158490c91029fc8f4d2a70792f504c53b80d40272ccd14040c83272d37c3af6d9833dfe50f7a39ca8617d3de62bcea719e7ecda2d6ab1f85b912e07688763cda768355b226e4a656667c03df790c8edb152773ede1c1d5323e98a889f5df8ccb4576752058f27b2f042f4114c3777106dbf02fbf2c99e8f6802693e25f12e1bb2d7116e2f4c697d30bcf20de9e056268e1e1d7766b70f094cc088daa69c2e668c3f0bc0608e5477770b731f3cf60b6cfb5e0ea596ec290057e8048804f37ee8494d1a593ae0b3af9aabbb72d4ca7fa8abe73cdb3686c45d875aa27e1ac52b8edab3825fcf388bf33981c9208e48fd477e1c90adfb43b3ed57e0a1e269ccbec551e738b9fc09bd6256aec6720bd96f4ea0c7491c10ec569433b5f87e400049dc5af058744c0daac13988b312e1a0852b91cfacea84133cde0083853c743f0ce1d29214e3f9aee32cfc206f0cff64fd81e0bd69bfba3c04e384d36cf9715afa0597eb77c80736db43b596df724cdbd4f5932a58337357db84cee42cfae16d1df93c5bcbe97994d4f90cbba34d3ecf40ee7b9bf30a989936742f73f8abbfc8de0e3eaa84c260c58f81ca19c97216b44bcca7009f8054eb852ac5a56f9f1546a29fdf0b09187e496bd9838efa18c5a736739bdc77b546141cef70d414d1aaff47c3b43228b56a076ae19570c36270940b5a539e557af6e53d7245eff41937f1117a9c5c5ea744a4c78a588b645d56b4d4d681e0a0dc032f3c02476ad3fca8c32b8c1a0a558005ad0b7067613b4537ad2540037876db93038fbdddfc7f9529e6c31815647af5ea8d24778b6d41726cc43ace7f0def78392fcc52cd9942b0227dbc956f9532fee02d65271ec97f72882ecb60f6d9d6f4369554c17c4ab034afce2471778c164ad1e4759439ae4a72f4e3d4e6396f96d1e535ee2966a3e66f2b952351bc1274a782ef18e04e5c6672defd72ad8cf5f5ef4afcab7f4396d9acef264584116afacff0faf329d8e54172ab50fdaa70c7a69fecd89d9e179ab47d5d7cb5ffc47fee8990d197800e745572401777c1aba28cc6202b0285551074b6d4006c8861d616c91c5af2613a1733442953a4410d3d65cfc15537e830319580249e0bca48911b8bf8c0c4e2f37ca2725c3a71f082284f837db361a29bf69a73992591b9138381cdaef2bec553ff93058ad0e50723c681639eabe65ef929bb024a34eae8c762ffcf6c761925082243728f6fd8163d9cdb59230daf2c15389ecd661297a95401b3e17768452ba3345d521e2056fb9523776c6ce2de06cc43d6b8c5b2f2f3970d4422caaa815351894a06844c61273e50a8a35ff15986d2dcf78e46363da588c6f8d462a8ed3c19b6ac7294e008399a8f7d160a0c3eea091dca61d5c1e78ab05e49572c7ffd560b65c234aa837b4ee028b8f156d8564febd6bcd2d8ab4bcd3d98864b0b273ac51b15f149662a9c14d6cafd37f0c4b2a5331340f97b7d14cefacab87371706eaf70f23351d2532fd94b495ca516abafba707e4e07e84502765779c8a5c2a72e3b2a217e2c5db4a026a573d4f4bb9dd244bb6a075a701e8ee01d4106088d9840224876c972100c0d66c9a43b34f0a0f6f2ee18c99ee8b4ce3a6d9997c488e0940f6c9630722857601f514359031095005b1d1c8b80380f92c0040bc5cd29c24d69a5b472728875c0bfd0f5503d557608a6fd3d262b768edc5f1a1a85f1afb78575950eb0693066b5dfb1a3ed5090ca9979605e6686965392b76b84465a57ad8679931c8105e7032649b7c55d7261db06941492c85730b73f9b3d4955a98eae8e7c083dd272d288c51b91b94ccf5fb7506cce11eee025de6cbe74faf0a0d51d0eaa0fd9e77216611ca8292d15294311758490f212e68e1baa3b906f0295731e3870a09b5272d1912325aa3294f0f27a866a1a3549d1efb5a71afeea5a5858eb81d0c3a06235bfcde0d01a2dbe835e2e0e3a90a407088c6903c6d05c865522604076b06e5d72f412c74c3047cffbc9964a476dbcc90778939a30934500a3c32a3680d0da687280cc70d0c01dbc47e73f24f95421da15b2737653b36f3a3caf0410ebf99dfc3727a00137dc41291b80e18bbc3ebc2a6c0251a1fbf90629c741159c619d6b2607b8923033e2f58d407160786c75b2406e0ccbf98bc4061c166337e081b332cc7259165d0a09293b9335d6d7d5d4a4759ee3bf582a76e03e346dcfe6b51bfca372caf11812288a4a5718bd3e58643e9133e589d106c26b548c619fbc555ea81e0d6cd65fad49292b3350247e45f0aba2c45ead2a39fab5cdd54f9af653fef6356d458a7c6cb6e04fbf51eacbcfd346c2d352e9ce6d2bc2283f702077c8b5d4dc2f38c6e6c8f05a5c3c2fa72c191b6dc731dafa9b9175b3b0c2e94199fae59f38483fa86c94a9b54a05b3428342f65abc36732284f0b082147ab26abec30e1b505635f96e46bb1dfaa9e51c5032e85ce20402cd8c19ddb38eec1b3443b2df88af417c8ea57bd5cad9244cd4042dd90d5978c4c641dd651f19584a3401a71de6d706f3b619ac9c27112db85292e2b8213fce3540cb35e5b1879072c54fb18456e2205c98da4a609e652d4c667518a4e62ddb5f60c42ac52d9ff359e99f616cf3b2726625ab96c741c355bda6ab673ba20fa85ab3d1324fea39ad9674b563b88b6e7238a988925223606fd793f88300b758ed83b084e6a805eee342de78eb5ab2364e3447825eb3aed0ed4bb02186ec86b1d0945cca6006414786f5f8ba13b4662072fc729d63ebbb3668673176b1e28bb4e5ef4346cca26e0e289d181d1b4a718b72931daecd22d7eb428c1ecf4ad4e303bf7be37159af64b38054b93d2deead987286d49f974ff11ebc033806689de8cb0e02698822d393031c7dd74757faac97725c01a77ec9ca18d027db045460377151cc159f9105d4d4d84270065a60b0744f1aa512b414f2d9bc9ad3e716e655bbbacfa000c384b71045624cd4881eaa0972ffb75a0e5aafb4351f741865acde19e6263fee59525014cc85a40236781ee8728c0f9a98be6e3241fbd02019d809698fe9cc5ceb55755006f4b1185aa8aeba723ca84563c0fd4aff13f8119c3604dff5915c25d8037eecbf520177c62136ba3c76eaceaf13fccc295f6ca9c483b4c3aafa3897362d0e8cf9610ce0980ca50771aea3d53ec7680b8e8ee928f03d1beb4187462e52533b19f42b7161142bb75d72ce8b681a118155ce8275b75f8571dd77c9b2ebf0121a2c01a7749d7898cbc4725b809bb1375044af6a3498cae27d600189c3abd176cb06a7f0eae49fcbf7db3d1b5f0f3af850d3e008dd487b45edf9e1b9ccd601662ce407ee7b2bd82081b8724184c98d8d034433c92f9abb71608601ccfce562b839f08d857e201deffe8d59f20309916851c38759613a65a03fa3008daf6aae71d03c4c5b8c37cc91356772aa24529d2ed3978da6079a07a451883c9c37f4d11a4a32ce4447a3a6778fef72cb05ef2cad61d0387271d1362ca9904ba69adc6c3299deb35bb1cf0c9ffcf3422f14b66aafb56db013f9b8c7993a87b3fd391cc54f599e1c5284db2221ef1f5d9dbe1a118fd8480523fa83c21921654bb6b18c58baac270232326d5a37d755724ebb0f4274cb2ff459bd30673e679d242d7da3c554c1a063ecaf087e8bd4db72126f7fb7e10b1de80b4bef0bd8c6257bccd9ec2a34e2615bc3973416b0b50a72593b051c6e6ab4dc75b3dad4444fa591c1253a57dfc1e1f3c82f4ce6d1612472afc8d8c63655e861f04b0ec61f0d42a627a247b446b407be6e59668259fabe7250359f7a72c511836fdf189334d15672d7bf38d1596c31c903cef6eb3e81d369f202c9e13e430570427fc7e2f57c140243ef0ecda8be7d9e5155f21d30cbc5723cd206cb380195d03689d3fd32e70a6cbad5a979a325068c76ec6c959482dc7246ed216fc59a5390c68cdca122044070b379fb43d293efc205d97fbc17882a7208b0d08637a05361c4859707787d1ae5e3ba6f1b3af85eabd13e994e61b7e5ba0200007205f02d43fa06e7d0585fb64c961d57e318b27a145c857bcd3a6bdb413ff7fc7254cc6696747820bde1feb894597e52da063209f92ceaa86cfaead2a56f694254ab77fc148fe69d82973c5a00b126b9f1362c4d3c08ad817e29a4017b9302a92e4b6e55181e949fe6d72a866b7f96371c2a311f6dadd983d5521277c82e7f8239052ae7a055447c1c3e292ecaa7994612d230438adc015564e210cfae98b2dc3e6ea1cda03139572cf09cf203c79685dcf444d847fa614bddd39455a937fbbd16c5b03b0848aa7de4a9a1b55aa991d4d02b0776248ce687b413068f54671f97729b5d987f39ef476f2898e94e0dd5d73e09d96a73850b6c5fd46bd5fde3ae5a725ba3c43800754c383d05eac9cdf19a5108fa76e1df5f5324d5cf360f1a501172957081e63589fb8f1ac519069d8e9ad9cd25092342cf28df97a922999e148a517ec881fb8cca753e79bc90f655fb8f60d29f44405bd8671a254dec231401f1725a89e9a7913c95f5e316dfc1971c04adee868cfa3b58b13d5af9d7f862c6ad6baee0d8e9eb69700d0207550547dcab2b70d43ae364eb5a269deef06446b09272c376f5bd48284b1936e0a5c1cafb49c9e867c71b95bea06b3a886b470086fe7218e3fa898d4642293ee1d0b2eb86e22bc8342244091e6d2e3d10c89a8c42292b9c1892d456c1ce1d436426925017da6a95963cc4233092b2e392d0f9f5b60548cc91a293db9d0f29477fe30f5e5a277c9e69821b05c0a1dbf697ae9209fcca7260b1ddf8669b4d5ba1b87b3348385b9a480dd001377d99e513c0c791cb39d14218f9ef428adc34c2f2c8f786b059e0521c13fd17b3d0b38ce825e19b233b82726f7d839952a349106e71a057a11104e9e2d3e90235471f5a8e3bc9e7a4396472061bf4b3ccd02aa723d2505d97575dd4a9bb1bb8d04286941d55d6ea16237e05f855a1beb03eefea6106252281bdac6ab96a923648aea5a5b5c249c89700d37293101e951c62d661346c89707624d3c6ffab389c13288586d749d6f2aa758c07583d00f1a79bf4aaf97d5e013cbd7a0afe01e5193209c31cb5159c15788c2672790d57c6532abaf7efb4636998ab8cb6b576c1ce886a396daff0ae3003d4f07207c0e8c99ae6e815dfda9d146aae112b411b310e9a3edd53a53a3d251aab33720c7e93c2dfb23b1a843da49f8afddfd3a9fe267b5e477618bf696e46ca99983899f471fd60036ac9a7bd3a70a3a29d0fdf6920b07b3b5fbe49a8b7c8b3a92272e13c581151433dc79ec99d0cc0acba9e05d7167e655d985662d4088e71c3b0722d8a05f545c13499b289f942a3562387508b128ef5902605b7df030c4fe2787219487e77cc178b1174b181e8e58250ab21ff0f8842878a649f495a9c4093b17284b7a4e5f8caf214bfe295329428d838007483568dae665ce88601a41138bf72e3697fe912be340eb8b3b0c6c5c45129967df6b3c8a998a89c9d717f1e3428248575c2e8b24ffc8e1d39388996ed2537e42f85e137e9c5186cfbe86048884172308a88bb46b7d9e8a679f6019cb24615328c3756bf4d71aee15c750ddd267272fb6d0eb30d74fd6e1a40fb5aef7b8e46fa4bda70e976e05d3a0f4e970434e027b1f53f090e382ac98a47257f32e631131ecc1d12639b023291120b78f3528c7278f106551a2cb159f972576fa70644bef05ace8734b8733dfc708f6a073aa672cb75c24d58bc597f7ea89ef8017e000633f4e1ec9041f8301016bebe08be2b72b7a755cf876485f126e7172902920220aede7bd349df158e214a0aa6c2dc032ef97996c71c13563766405b2379a12a42b274b122497a6942cddf3973a883fa5266cf7d054f1795c22510d38f0d7c2a29f788c4e3a2b0bdba25a2fa4fbf3e9f7266caab22f09d663b6d90911dec2413cf7dd25dc58b3a421b7962811a5da37d5b3f5ca2bf6e5d8cfdd1a4f5531cb3b0dac56a5a791771797882e9506257a7fd72fe21b9e2aa53ab88e2a7c12095abb34497350fc0f67bd7398e584049fe47b902f62b91f8cced87d16c09b86649760e58e0d4a7d407855c973a835b716a01ba608ab2affd10ac455fb36de16bebac8688d8b6264d0dbb8d56f1bd7569deca7f72054b88a2493acc6bae484b8470149a154ff724c7cb4c8c314b237fa1e610261944577cce28e75938a82a912125d188923c8d5ac3cda01bf22580c55bfc27dd727a0e2175e8385570d192de704b3e0692ef3a30b7cff5a931e9da6cd1865ede285e5921102d26cd4b4eef0e1140d12055bbb7f56f2f9390fd26aee2858c222872dfa37c1d636476c019472cfac2d2052479a610de69fafcbdc9386f53f002b372959f1cbc602dc75f051736e7dd42039da3973bce884612e61616dcd60b849a721e334ef7cdc1b18741344252737e2c08a7350c2a41f869c928ceb51373025321d9844ff68ab48f58e388aee7887680f2f8a176ec3effa998e862e1333dbfc536076b4450ba8c4b2d59ea2cc993d8ea62f2be10a86c429151ffb2592662874b721d74c41f9f6780890867509d94e718b16beafe4d0b5e789f95079eadc13c51729813222532b66c4e3c42633bcc35890ec453e8fde7ebf54e59fdb41ff2b14b02ea62a3366a22c1151377a241b0d4af048fff8a6b5996ea9c786cf9eef18dd272bd60bf4a87a6ac6b655f57ce46d2272ddc4c27c7fbb3b10880ca48dc4cdbf3527c521f54ed2f799867639c169cf04f7b3eb57c928511778f2b97a16be404177214602b0730890543a8acbebe7cde171abe53d3ea7e7e115e222dd95eed215970aa812990266e59c8c702e71b599385a766fd797915e872528e86a60658b410729253bf6fd4eb699aa5b648af97b94452bb4a10222ac3ab5691aa5ce057996b727e1e509660a7aaa41bb0831a67094bde875f1177d4fd3bc34579dca5e39c4672e95824e53112917fcbee0c33d704bb9f093f56463c2bda3b5e06f51679f266725e8d68e208fd6c0d7aa234b24e1321b15c9ef0c7863993b007b663541fbc37452b54147370de97a7ebe1460032b5128c0cc68bfed9e2db5356ae1c30aa397d5ff684a60de27ee004c70ea0ce40cd7088fa56dd9015560d94a23215f11797ee72977fe3a8465e70283f44e37f3e49ea5c4b9f42d7b56f0130730a6f00290d457299f0ad64601fdee115d99e5ddc5c8e159a0a8f40398e6e0265c67216cc28a240e0c36f0ee5e67f37f9127da95df59da71d37c17db98cec0b75a509db6ad60b338f31b103b2e2e3c7d7acd9cfff4b99ebd50777125ce0b2559fd8aab8c4944c3e8139ab7020536fe5b9c92559be9a86b111152404b146358182e6fdab9171c61c797cde22ccf90ef9be06013ef0d1ad10850cf680b9db646a42858efe0194d70a8bc08efa03d348b229a6207549cc826784c803701265eb13088669aa28219272c8e735f9fcb37b879add904f88a3514447e42b489fa3da6e19c4d97fa5b8fb72986bb75e20ffa8deb17fd79e5cda775fc92e2ed92a6c84bb9786b102839e8a19905876a78e3d2c6a6cca0fe7f16827b5fb7e719f1269182b5499c505ceeff972f72385374ec864455d153580d4fd52c56782ae367b1d999b24864f28b8d790724adeff5a1ccbcd10e69cdaa65e78b981acc17c55a320755254997f8eb130e172487e8195b449cefd85a380d1ab27ec40b0be5d970cda084c5bfdc57d6c219b72c150b628628ed86f8a066a181137532d5696f5d224a96a49b0b7dab4698db072a88b1121738c1f0f41e8dae9448acc1cbeabdbd3421e64645181a8aca6abc6115f65469589ac41aa11f7dc2d2086f39b9a0aa608d69bdfd8b8a2ba56937f450a01862b53ed65259e1657c75f1553c543b990c8049bdb6e03f7511ff8e8b14761a3fc1672c959491e67663e49bc43062edfde7b0716544d07e6964b770f584d7253b21b25185bbec561804d6e62cd889c8497e0f7927b3f63a04f5673187c6972f4ce95d58f6ca5eea2fee90d1de7e2f7ada9cd0e855e862ec3a1c1c02cf3e072eb0e0c4d4b7190cf26b0601bd1b143bb851237d80893ffeda07fff7da9f61425408890f414a25ef964c3f53e265be69b0c58a5c891a563e8e37ba23965c0b472f1a377e3cc6d389692d289f324447332900ed77739c85373a89da67ad28f4472f2068898963452e98ff9a8c6e7302687cef44892297fe4e1dd709ad2793cde27c1dc40ac939336d404788239982ad4cb41b9346f137cb678512ae8209abf9f703d205c6314692d41560692dbb6f1138419ebda3732c87fcb65e7d92acb8564721e98c738ee686aed085b7e5bcc3bd1d0cb9d1e405831e4ab164cecb5f7661d72b9c72ea9d668d218ea452d4a3270e41bf514bfcdd5296fce4d8fbe1835816b72111384f2db034790f8ca3619df60f0b47d38d6305538e31da73e8439a2253072a55d9dbc0841b8a526f6177f762b979484eeac3e6889bfa90e88771ed41a4d72bd37d4aa2e93817c030df6144718ce0055c67cfec8fbf63967a348b22d3cf318f7d37527ae76967aaa6b14621e3287452deb9f43e6b9bff3416b3d747e757a4c8ac37d1ea7c5e9b9a2fea16b0d5d9ae195c44047f7c221147deda8fdb46f3504fef1e11944ee8ee7a7aa8ddd12441dd3fcb3215375babde5d5c0b5f8122cb0058ff23bf469d33c79ef27ca0a8dcfd66e53add0b52a47eb11d589d9a23d41e6728de4cd130da54dcaa0311ca6b032015090fb4652f0a5720ba485245115754d4ea5ee48a4d0634e80a08f5f1f783c695428401c50cc29eaedf73ea865bb488e7269305bff379472cf50c8a77d645708dedeeee2db7b8cc74bc873c33ce293f172b7e26c32e842b593a6e253db066d45213fe830e32611bedfde1ea7f4eb7d8861f04abdab62ac0dc0ddc2fe2fcc089d1d2ae973a4a6fd7647e607fafc38baaa72ed4d5e74fdbf86e9e84c7642fa316003c881e3fce2670ed0d2fb41640eec270a69f733f8d6258a807b55cce607ad194da63b14b51da18499ca7f3e7d75a1de342e81e7640dc2913a1bb6ab25b543973a6ea783079180b2e7e1e18c751d8f5a0a64c0105bac1e7fc1cf5b516ab2a242d373844f69fe618519855e1d5518e2b672e43853ee000806e9fae54f14b771900255f5e2b4258adc2288f04b56c6612972367890012ee2f85c19e2fae252fcd0db998f3fe55cb3950bb3c95bf4925fa872362637e74a47c7b25ab1136408acf51ad341c751dd8e1b8f91e45fd357928972ed869caa13a336d2712ed5f21baaab131b4e27bd62fe4c8fed85e6501b2bea72c8a4b35d3bebdba6ed7efd443f68f32e1b34a9146e797862dedaded8c979a572917185a134b0e6f74566f53b3e14fb53742b3a0c5e1c3ac6e18a081e075fe5589810eb1aaf1a5bdd7d3b3de8b8031fb77cdcd523e2f1611cb818be3fdbc7c67269a24525d2db04af6558b9ee6b61027ac5e95de0b0cc51de7a3a6675357a0a50af92c5522411dc180e6b93f9304e764aa4ba378080a5fc09ae54a28d8346692d796147d6b0900065e318723de32d3306650e3555085b7ff717310b7f9543aa05309c43f98d512caba28753219d601d60775f9eee226e0c3942c6399fd0256f722c8c32d8d0792a64b9bbe863e3cddfff1ce7989eb1dcedaaf15a63be8392ae6277f97c26cfdb49fc3fb716272e248917ad9b23c949d0da71a8e20523402f89728d02853265cf25796c5c9d6b28efa56c9bbbdcb104599e657a0f2e8973adca726a2c72f5260cc06ef26b55bee61e66efe9a3978c13aa645aba567d9895562b550f61f1714360406bce775ae73994c38e9e25dffac5f686e5d415883c2ae9f1191ccc62daf88b131cd842c275dbc5a2792827d5ae3a4fdc7664bffa88986d094021c95d4ae5591d3c87c8324a73e2a7168b4261e4cda361ac53567fcf57c8067240398f7eebc5ff27c23543a5f5993d1e6db76f1b371a0054a8e2f16ac12e14125743b11a122731c23b5ab2f610a95ae1c36458a97e250ca0f3607f1fc8a1017271f814aaf87f426cfa6390cdb7ec1da8e220811531fd99b3782f0a1847647149561970b7ff7d2dfa71459aeec9b839c2b6eb379d071e718328259a6ce6615b4c0c368f44087603713a1877a9e1c9beb8a68fa42c63d847bfba1d2d7f6db873726caec89b184ecd21d6d0cd8e6859a48ba670309a85a33bc07f8fc9c8c91e5072228fd71fd65b4124ad50368d01cba619a7434ece9dec30997e126ed05a51be3708ad05b91e5af88ef995276d6ab2c358a32a552b403356a6e92b5ae6cac8ad19b26b1adfa1ab7bb9c397c93bae187f292b82b2b69f93c0bfa371268b4264570da56db1efef33159252436d673791064dc0894bb3f320af917b386e1da7646b6ffcc334fef79191b3aff870b39bbd3502e83882f58b4ccba0d06610277cc8f672fcc177033e5c5617ace80b436004f007a67868bd6c9fe46fd5538681228b47726cc19f3d256938619ece4fc3fb6388a692e85ae847060a88ad47f5705aabdd72eadd7f32462b7ea7eabbffd0a544571beb86aa92c07bbe23821c1fe487cb49728ee5c8026a79fa80a494d3643958d210d3fc65700eb8526c05393151599fa17241a36fead02747facd6e1382843f4046108a6dcc02626535fed2ab039d67b372e749b7d5d7f6b71d0c70a16e1fb5ce1e4a81a3786b227feded4de1703807304acad96a209200ca003ac0acd07f7df159856244ab1ba1a46fd0fbac4c578e6b72111ab83a371a8a10b14ccbe35fd59f4cb5d4630d9f0de7399d250eedec756e7221b6ecedc24b125ae14d7d6fdc4e522bcc4694f17cef519cc2ea55a0e0d14372fb5ad7110d679eb33fa10831566b26de036be9c422ceb1ab08154305bf7fac72b66d40d2aef68d5885908ba1329fa0a58342b06578c4806600f9bdb196301f72d9098a8e94225ff6886df1d380cf17f9d81120d30a2dd3ed74791e4c95b76a72632c8f41cf9be459a00015651c4b1ed2fac7fa720993d021d2c2914af7ceac15e3f0e276e6f8eb4502568d6e234a0867ec29e624780959aa14f325bf345dff61f4775492f427a6c26f2e0c0559dde8523d11e475e8885d9fe773832599b69872c22be1a275d45067c2874a63b500945d0f78de82f145ff148fcb283e32410e2132f5d64bdba193bdd2966f02141366bfad69a8e9a4cb13a35f3c093a191062529f20a04b6e5385795287f70299b82043adda111b8f234af84dd164479ff55a72493c1d0d6c37d207a5d181e3b8d3736f9ef03ac17e10ebb7e1e70a552e641d1e3d9f291fe33b6edb9b7c8b103e53e357620605200405d6f0da9d0101e9df2e722ab82cb7762b563ed1841dc6f8fba2fe10d4f9b36ac2f903bb2f5e64b02c8c72a4aad053cf6d258ba998eff7eb440e2f4d2a29a34d8fbeffebade35c8d16a372b74ea5e60acfd1d3acf35f5e857d4a15a13ca0cc263bc68769a3bd3c9465f7084e2347968da8549b4c62cb7ce8660fd727b5dba48f6c074d6d40f97db9881572375c888127140d637cbf23fc5572efb05b22f157894bc52d96f04b1ac3d56e72accd522eacd566cfa65b4bb4cef63295d4f3efa1441be25daea09b0b6acf0772d824bd762936158f6a53fa51029681bd81e60a61f37a7f9d525d8345aa25f1726f1b1cf49f7df59539a261c324c7eed25c67350b6d603bb2912c1ff04595b3410b0e5d49553563466bb818e27ee492054d3471330863f22624edf083f90a48726c97c46a783136453cd7e730d48dde5cbcd47a5e83ca4f590a6004cdac22142c79bb6738454ec94d82e66583e089483909044d1fc37f9b280169ec9db8810c72e2edc58330e5c8d8721426155d97bcc9ca70424f8f8b80f3f3ef4a898c93a129012119bd919e213c40151b4931707a8a5f6d0744f133a678da44123a3d84e04dba5c111234f6717095f919a0d46f90c486ce7492667aa7637b09443f8351347263a36aa246a7d4d005f74b8b7414e9ebaaa647fa66a1993e64f671fb1e782c3a7b7f875d1b5a427afadc3aa342c222d311fa2c7cc87312acd7ee371268b739729e3773c127e984d119c293aae9cf0981b92e434db90dfdb9e25f35873be10a1040ac68c5803a08fdf061636037773ff6b96f4a25018334fa0f1353f332707a3a807fa61a1a9f1620494c911fefa41b1fcd1832ac80a0e4d3bd250f648b2f7a16eb1eff691ba4d22423b2680ffba01f83bf98eed6644d6d12e4c8635b5c09a57200afe9da5ba32cc4b1d124ffaf322b59e3d9bee10bc77f375210a6d10eb0492c4e158bf41aacd8a260a0a3121a46be93005146dc6601613490a38a06eb4c6a72c2f6a81d32ad23f342cf51fb65f74380aed914b4cca47f8945db11a8de251b724e4e0e25668a91e223ab72e3a26970b743bf3677ab68b1941dd255b4b1e22e72544192381e5a1ebcd2b589b6c20d7d3fe3f6528e3a394990262de64724fff17291353222eb83312babd7517f729da9bdf312c7e35d781d7b40f6e05bc5344f3cb1f60d77f2d3cf4edf02113e6f0aa5f2f78fdc2c737e6e32350215037da60326e3b39099aa9ff84b3330d55324096dfb5ec0ab527f10b22acbf657f63fdf7972cd31c7ea6ecac80b24d264df6ef1a16d8782f0d0bd3a63d028f0f8a82f809a72f58bc8f3cef326bbd15ff695e7128bce9cb71c38868891110b5afd70ff5b6d4235b79281aa2bd3199c4c25e1ca0c1e8f1eac65b4ee0fcaa7b047e805a2abd726abd51469b92773db5de88f066aeb9895314f6c7e6a9ce5788f72bb079cd0be72e14ebd512a780b891ad9a8aec2323166ec49d38e1b311c7183417af5d855d67283db88d75ef2fe5f675d7a7393bc48c102ae892d86c53fd8143cefb9dc520402db057319f7b40498ba4149f685aca15c2f9301e14d752db3146257e1a78b5472328d6aedb6d53e16d71b63fd032cc96396c5ecdb1f8b278d6688901f5fba4c471173b0a01a016afd8a14f87218f3cad0b488f03ee75535c2fd2b8a2eff8bd2306978610be1246cf2c28b7830e5b6fac832a3b8c201cb3f1cd60759e05bb7d03b9b5bb3648e352237af5cf94c23c5fa2afd24922a6e75b8ee2d53d3cf043952720ce3d46bbf7d15761bf1bce7a3579f793b1cc627d5d1f336f2ad61983adb3572e083dfb4b052954e81325d9def53aba5ec4b351171bb66b6d8ccc85712938c4d0914eced7009e502608e07e35ea548864d7c7c4b435b865dd0fe5c0a85872f72af483c0da618fe35c20af9d33c8c61849fb4b6318d5430388a0a20da440ce335ee975005c080437f25a164b94a917c57584072ba49c3d712c18263fb4d095972ab036fe4762979513e0b52009f6ffb0dc18690f4653891121651112fcb853b729024a35b83c118f566b00096517858a56f88eb38fe204a8f0a2b8e330ca2a8724f7ba848453e1e121f4d76189f26ff06be863bc6eae1a18db31070dde25b4c72a997ed0fa8e1edc3f5f0e3f3f9f3b834d98cba23115eaadef352a0d1fe5a6c6a5a62d47917e11500f0ca67ca9c0943ffae88324381cc465e69a124e9ddd8e36f07208683e0e0bfc26af885a8e2bf7d2fd570f5551f99abfae845186647c332729ed656b3c39dae83a50fe816e232b5057988bf470f6df783f6f64032091b9172e11d10e094b0b4b795b5869d55cda741994bfccf055b4fa35a244d629fbfd572297d36f916c6f0e677dc9d67c6fffeb17da1c7d09d749bff8cd968cf12ad6c724fa09d6b7b1f42cb7c08b4220eb2b24286b58361a77f91b3af27c9b25f465572c8fb4a55be61b4349105daff3bab673268c1642423ecfae9e0b063e24091c409aab559aefb29067f1e9e78ee5044bfb1e2a54a39487b7358d0e46da13d3adb72d972f2c18eb526fa3b9d883734eabd4d4969922782860e76c2f9a6550a26841da2e041e0dc1bc20a32de1bcaacdc11ed2ca46abbce10fe2a2e849f5f4dc16f72645583b401a6f424e0e590dc6ee067cb08ccc7350daf9beb4ab8dd25c3c43a4ff438d289ab2824ed0788acbf4b488209993caf0c073b57b79ee7bb05fde88a6bc2fd6f90cfd03f1b0187c1ee4df33bbf73c333897a9b0fe309b1fc4be2c1ed1ddd5807f08064ae0f2e80d8aa70cc3708204d7240771ae0e0aaec18db87997f72bd93fa9e1bf8553ba9a6b47d84c2e34c8d703848a179f46aab052b1161c0285af26878aa8999478c38c574776ef295df834005663f8bd50064349f5e61d33a72b1eac014f6595e44e5ad2f26e5db6bec0f074c9b45cd10875af5fff2b629df5101b2ef58028ec5bd1b67e5a2311689c14b3ba0ff55b2d1326a2d390b5312d472e41edf4498524c68fb920f7339a421f0e3006c99769e810401db5d7f3887bd72646cc5b5fe8ca2b3b8f93708b6957fc7995dd549d12d4df603b233494f1ab472ee901f4625ce6f4c67eda7eb4b77c59aafe75dc4272b15fa6e43476b8840137233575083eacdbc41fe9fc4fb6b63e6b78473511ac6d8876a26b0574c42d0a172a712b1ee46fd50a3d1e9f3e775b710e4903ad3b30e60f2ce0e4b95d4910eb1724d5a3f7c33c8f1201ed10af419c905f5a9c10a7c997f52ac1e1581c184054e405a1c9f8237eb2ba04201c44e17936f4258ef194ca7575a3ea880227efb46456fdff9264a56391f80cedfc110274e36b6504221c2146b056d3b4ead3ecee921725c0140b15a1fd9ca8e623b844a71468a69a7c89cf180e379df64ac04a19ec207f2a1d23a472baa0236251f27aa729faf2470a2fdf4813fe05c6909889c8a722e0b78414f057b401a3bedcc067f3e5a34244426afb089abaed15d791fa1a07e6712095b7b95681ab31a53955b257e69572a279e019544d1ea848a912383dbb758184a4dfb99d3c576e42354ba69df177c3364267b8a77d1f882921c85a41f86689c1c954ada4c60e2633f6052a9b4bd22e9b4335b3799fb95485a9546a9f12b721bbedbb4a13ed3d2b99a564183f79b822903466aa8a84f0b21dd221e7a59344849c9b1430a90a0990ae8186c82455bbde40ade8c97808da5c3d31c06eb2336721dc9a5b67998973ce85f45195c66cfc84b73791ab21ed698f434196c9c36437203f025b74ec9a356863c1e1c23ba0cddad83c0024b0d9e4a43241d4cfe185872a5de614865d23d994170c649a3453961b82206bef7191b1ff874ebf152f5572ccff50a8b6bd4f662cf6b372b5a0f48e70060504ded33d50cbbb60d7edeb747728eddb99c90f7974c8e7da326a7a7788b43c13108a29afcf1b503dfa120d32e72fae51b62b4db9202dfcf8e281b485f66e4492941562c27a089b5e184cb65a772f857048fe41ab1fe3f026a63b3811ff0cc4550b2030671dd84adb97a7777717237048b19f826c21fd54bff52fdfcc964b296abb544458912a8d12debc6e5bb728d5dd66b433356669ba8dbdd4168c788c3d7df2fee5b26deaf69d986c5173d662b2de5827c50b55669ab3004781be9cf486e68dd8235278bc26586b4c3f2037251cc7ff7d03022b90a3cebd2b42db0cb9d2792a0e698b8ecb294ff9190927972a034b071a232f9978d67e095b664ae7bad4ca0d1a0029f18920f040c7e50c87219cc97beef8dcbdcef08bf308a684bc0146fcc4271937a80759ecd7f46c50b7135dc9d788754c37d0564331938c812b4615052157aab83672bd72c3a7932567279ddfbc3274b8ed6493652d0e348e4f54ef5d7b2c1dd7337ef9cd937bef4a07201128b213f1731362c54ff637e4755d1a3a80bb9fcfd3aa5168e07f28c0d43726564b5746a38255203d78fdf3956622d3e6b205e75d4ceab44d308fe7559547225c293e7aa56aeb6dd08e746bcc50f7d2b0870d318f1da2489384e7aea6fb63d0024d0eb0ebf7069fcfc6356d38bee7e2df6129490eae7c77f1ac1f26137db72ebc8e0732cf9bc6497f123bbb63c904389a60bb1c4faf6e60647aaa64a6a434d03d9dcfedfe7c981bc98f0849c262a5a4caa69e1055ea7417511e7667769502242ef98578e4c933a96c94a960fe38b53d83e8e65238a653d4a9e112002303a729cc9d9456dcbe01824af6064467ed00e1d215a2f65374d254905a25361dbf661a91c6a34a6a6ee42fa9413e5d059636159702996b8c54222236c060d08e69e320549c6d7b5faae29e16e7fc5ed0ef31ea6a2eeff00a89d25fd0f3370d09dd07278d3439ffa6549d0c6c417bb560680968748154b2891f9e8d5352bb24370767280e504950f45cb4b28a5c8c0d9fcb0a0aaac2f0e712c263e448b2354870487724e32a2fbf77c8cbe63b4bec6af6fcdd362c413dca5cfdfb0db19dad5480eba727a96059f96b7ad52079dbd7828c09366f5707a63e2f20e9a4e0136da9d8fcd3715c08b3d1ed4f8ee7f7e4b5c0d57ea1868a4dfb43e028ef5ce6b1b0a96680b45dd0056450385a0a436400392c1b8fe6001a56e8447c6913967de9855e0a6b672d4d70ba2fbbb2251cfcb8a4489ab9cd48ccb357aa432185c8b1eb5cc294b9b72d53da509774a77bf60bb86846cb36899a90743063299828ac9cac7b766219d121cd24db547247054eee91497c023449e50964a66d00992a46cd6a8c1c57f923e86b735f71223a0245a384ecd8759490f0fb180df623bf7e9584e320161af2f725962b08a1d628f8ba5f45f30d44970a9f1a73c3ffede24820bafa15836275d6b28967b2e2fc5e63536d8e4e37fee6886f58e36309c51475ffd0a8924eba4cf728e094bea1b060514d0160ea27d6e8fc948e8046aed8218a42c77887f463a4772cc19f61e81f78f8b4fa4974dfe0688c0709be4fd9562b01a1c36203b65aada72f8e2184b23c2dcd258464dca45a7517ab87032fec5bbb15f8d56fa7e87b88e27ae425248089e1b4fcff31c1f58bda2fdce2b78836686a48b1a20c922e3a9e2724e5344df83f3bfdf8636b55230d86a14fe40ebf3d8892d5dd9da5866454316728642d9ca6b45a9767044660afc443cb0b2462f1d8366528f494a1a6a5d8b077279e1d98fe5cd6698de1ce75cd512a2898b57e765020fd2fef456e1e3b2634c38d1b61d97e842d78ad9b99eda4828b9affcb6845ec4f8604567b854a998a47e72d457268a31a6837ca70a41d1b9daba517edc1a744dfbe1ce2897d90a6b0021721e8e55492598cc2fcefa85dadb323db1ce7473ed7e284a2c3f681d7ae6df332ae83e0404b85d1a381c7fc713c60a116b9ace0aed17da60cdbd782b1fc6909551c73ef2911929eccce86746bed211cd4fff67fd5aaf5392ca572925d24611bd726be238db3d47a508612ab53b09056feeead96867b2f9fe85cefe050223f333728dbd386034a2df0ec73cae881c4302546da2a8a70d7f5ad5994697b372c351723b6fce5f6ed04490f26f98f6331bc717dacbf3a2848f5703c5ef3fa2fe04ca0eab17bb6cd72d6c359d1b3061bc55dc978958bc821d202e08826d0545c2e88c7251d81708f3bc036fcdfdd6bbf2f25442e3416568cbc7808532230886b79123212537a88c638e237cccc0ad7cb3af1b89731e38c00405f490eac610494d970d72fdad6355ad9ed136b74f5dd98242dab49bc0572ee2fa4e874b6a686779930b72903580803cfe6c91d9690bcd863a1bf07e62cb46c6a5a18984ee684330432b72d918f4f6a3ca7654ffb8608ef74a7fb3ddcfcdabeb72cb992e25d0ef43641c726fa22d06c836ff5a472500b4dd92d8777da7cdf0343b7ec74e63d0a9852ff7724cbea0efa24241b03d1d4c328f78beb75f90cf0f7a4fcfe9a83c7e54fa2e8617490224626adb28862406ef9a59e026185fcead51551a30d1411b3ecc3672d9114ae30a9d786fce3e25e523c9776482427e6db30bb7ecd961e69a0c201208ae310be7051be433339c4770d89708518844db145a57075cf5135f89d92ffc272972234acff8e293a167378cc488e335602a75c284d62565e0c52e490552ee22080f4f4ed547cb99c2cdc0b9e83347381a0b19ef1f851cffe24ee9c636cd0e25130d0b3469c948ba21770581794863eac4f87d7f21305dd8baafa5d958f05b8b9f72e41b017c171a2108f05c4320072021fa7aeeb3aa121fd3e9dbbf93329ece406b93df047bc78f515c463ac0622d7e135df7de069c8d597f348d912d4486fda572f0221b975992dc787bd22758d346560b07e8dc34e77b0deed73bf4729e6a1072a4359eb00e60ad05544a4da5af73d0a7e9ca95b2d75521d56a6cc1ac7ac0c172c830602c2fceacb61f2b57633a87d8f2882a9ec28368de49a123f339d3d4df72f2402bd732d41d8da9d647709affa22f79579ff10478268d2e5071bd754bfe72ac4b2275bc96b7f37d56919061834b7c36432b48717a6fabc1b3c8f737fc0d722e4098f391116819688bc14e457070d2e7f1cc59c2499c34902f34bda021a9137809c85351e58fe651120bf73423a97063f0349f1e5c5b74fdee03323fb49c72e1cc70a09f74ef81ea73001ac668bca95f0b5610199d0bf54e241079e5480672d51f6ae4d24a759f6ab781e98644424765a30eed745cdeba14f69487f6b4e172b620211557ecd2375fffde1d870f63d834c033b09e07524296188e996b2d8172620f11268064c206e7b2d46023af067526bc43886fb7eecd261f2d82f2da464ad56fd44bf3e9d2df12c7bf6c96fd045cfb7c7f1d388891f0a01627c0ebbb7f287feac4a8e250931cc5c06f79e3d79c4f0a81dc58c965179e2ac1f276a604915a769754c7ede4b0a2da481cd5260bd88348e4e8eec8215b6909bce7f084cf2f721cca33206a0b550a54e733c6d9ffdfd141de96514bfa71d86aeb224d3f9a40722ba2cd6d89518a9327014fe56a30e00b9d834fb23c2adb83601737845c348272e47921332a2cece0cf8d4db4702eb5ced57a534674b41b5e5a024b5f2590a372cd430f9908efb4ff04821b6ccec8ce334dc8b8fdc301a962d007a36e6a7ce2728b042b06095085679d0348d8a4f99c14bf63b893dc429b0e0497462ae3a6734d5f93d3bb0c011c75419990526f8a52f3c7ecab82ee33f5ebb262a27faa2a1d72f69955a3b49ded7d04be742bd2258ef22ead418f130621f83496aab40d04b822498e5ebbae2a13f1369acf2b47aea86d3efe08a07fb2264119ca617ab2ff4d72f700bae771ad6639b79b65c25eaa294ae6d83d41b3d29c035ce04700d151ab721f43c3bfcdfcedfe93f854624e8a1207ebc45f024571d982ab15455426454272516d2dc730e5becf24cb08afd22218c0f8a42d9bb23ae30f4b6a8b69c9fb377210c7f5bfe4d1dc0ba9cdde93dbb672383845ae1f4391abf018b5a7c93b2a6852c1c2e8b40be0af75fa800b8d7073296b42ea02e505ac263a79c6b6ea6dcb0b728c60d5c5918efad5f6ff45e17015285ab5aa350332d5627d1be46aab5065097276f68b8da3b2b4cd48d2006ad12be45adbf157e6a3ae5972f3be6e262d413072b45ae7b46696f115ba8677df1f3001e98e20e597099c5f571f8ca2bc6136be723fcc8931a2e16591fa832987b901696d4f4be3ebe62b3fffd7d776fa75b198353e8dbbfded268e4ed1fdf43d13ebd1da19492f66ec6540bbef55e3e67416b710a02985c28e5d7d2bc438035c2bc30276fd1a52fff29dab2e3257086c3cf85a72445a424ab456032f85a9133f6b0942f16f2cf9c8c5a3766ba6d853ca7206f6721b44aeb547d87cb0dca6785a5cb3558e8e155ddac7d31b41fb30694958757272280c285e378cc64ea90514171ad959214766f0c43d123fb87ef850cfd67ee172f8b3d034130af4b1dc2663a1c98f52ed65ed95cea5a4f4ddb84109aa4b179f72ca2777541c6a2b7bdb6b9bf245ab04d62cd4d5554a72a103cd766003d12fa7559d85e9fd6895918aa12d4d252f50199cc7d221dccb656c6b08a8ea86623e380ac12fe6fb4423e53375f8ad06d88a3abe8aed595ac1692c01a1a9d2440e5cec7232a948b64d4a2c5e7e46ede7d36a08427d9029e97584c4f7bb049020e4bc0b72842ba0b2472374526c704614c8828e4d04de2c165c7fedf6c56d439838c60172715a9a26f7d13bc8543f73917a099a4bfb02223ff7b9ac3501d4c47fcce17572cb1031a23454995489eaec2ca64ecb7c7453a524d9e5c47c2f67732b8d26f172eff45b9aa858353be0a08a9d9055c2c674d335c4a60a8e4f42d4889dc2f93072c4abcb0561dd901bdd7a3e16e8d36317dcc29c89bd6e9eb16dd18924d9560372cfee2fb25194764d83239581e4810e648dfba25f06974a9cffab66b5f4eda672ef06372c2967f3ec3663370abdd844ce7b21f31d7d9e9d0babeedbc75f5863724b4a24ee7a335a6a622742113498067ae797fd2e363140a6465e6e87bb8f2472fb0d4c21997f6a19a602a2f46407c566b99b8626dfb35b3a2d7b7338aef5c322dc445a369286a10defff546a78958535cdae81aafc178342fefe4284d02e7772caadec562caffcb1f4462ddaa21477fc3574a2b4713df2baa5d266a4cca2b572db394501623f4abcd9ae9a0e5236099957167cb0e97b9f1230fc0fe22452671d11058255e8ca96928d60b6c94ee3c288d1526f43e988834f5d4fee47902c012da79f5963c06e55515d772015d2b13f5806c0daf341f31ea96c1c6e918255971ff7927fd71723e0ee356e6ad94d14ed0747a3cdaaa797c757c5c3b80546eb08729b5af59c9df3018ac212e17efaf4a7c3e4d0846281a4243c208544ef83310f7252e9b031c5a85e9bc646dff0cd4b8642c4f5fba317d70ba1fbc7b2622dea2917a31f3aa8df5f64ba63cd87f5c2cb3e8d2c1b8ea41f2e0ef22775f314463fce581efe61c4cdaabdc79902449807fc56484e80fac6e5a8ade54f910b291aefcf729ee962be0bde0ddf403442fd07bc00e96bc2af42c53e5b7779d3e0d47d555072c46daa249fc13566be912a276eed0913f3ce4457e8c9611241f8a06ddc05605704d3a26fb3a6fa8e67b94aeb0186d70bdf4cc1bf7f05f8305bfde325b78aac520154082342f884aec966be5715d51836bd06cf68bfceb8ce37dda39092118d508c2cc38f335168ad0f5d96061833f3aab8f8f68f677174d7b0ee7c63e09110464bbcae2bb7eb3fb286612c22b1ed47196ebd9beefb8c8df575f108d3a7c6913eddf96018f9a66000c525ba5654c255a2304750672ffa151a802e20c45e342a724f5bb6745ed4b5f89d955eb6cbf3111a15ad1db45b8289a672bccfb2e0c1c042a156c5e332b15616ad7bf558ebd28e6bee76fe7f6ac9517c5c895ada94176572feac42e68dd626d10139bc6d22aceb0e09ec6dfafe8c3b1f22db0931bd717972576bfdaaf0eb061e26bfac70d7ebc8b744764f1a2a967d4216b935484f4fac506f95e9ef23f3539846b451cdea08b902c61a9c1026b1842ca4c8c9cc9463ae720f31d8552d0f49a67f190686efb6bb694ee529b0c33169ecd9c47a1a1465ea3be3d4469aaa946b819666d62f0fb115d25cafde9ad522b308730873bad5b0fa7262b4a448cb59bb137bf365ecd9dba6e6d1dcdf27b4e7e0f6335cd90c13d998725a47fc1f505d6c77c525c205ec7e3772adf94671a5ffd0e0dd98b3dd707bc47259bfa08fe7e7e868203fe55f4e7e01ce39800a5d73a6a53c104ce14ef2ffb772cce104e44889439052a076c4a2bd34d2e6662e90a7a1feaee4d449c8010f36187a548d5ad03c1a3ca699888c5926f0131870239913f728aeab23de49b0951a720c2e5d79dd36ec63f0a0b0e3e8c225c1706390719b01257fb9a03eed2d040d72280db1b582f469450c384d39a9a925641e20d898ec2c3a8ea56fd73e43eaae32678450041b305ebb013518aff8eff0d0772697a020e5aebe7d0920b38a49995c60f65bb6ffdd897165b433790f765cc0cf0ebefd64f3ebc7b0a9141918588d72ea93773b43b2692f0ec700314bed97fcfde88d526ae7dd297864e82aba3e547252ff35d670045a50f6ce8a9f43e95d86f2a43f5dc9e61591213ba3f94d9bf272d6dfb5b1c5e633732dbb4131820822cf959eea9171fc229caf5f49f34ff9ea6701e1585a100b747e335276f49b41d7d5ecd9a1354b644696ef5a26ded452536308f529b56578dcf869e8dbeadacd97cf0beef0ca3026869f9b8addbb0f032c0f15f398cbe0ed596a4c641214eadde244087908fc9a19c4253580b9f1f1ddbd6a56b5baf4bb50040a5460a2718a6c135697aca05ccd3e080cfe1fc8f13223c27253f2b72a0643b7c67cb78aa3263c8aa1e5823d6025014be6483d5b8bbaa05c628b149fa70240821e05e5de5546fcfcc0ef453ab6a7f265a02c8467b59a0da41a0e0bf93ea74572677645a6368024c5542a32ad62de6c1ac427cd9b71c8b6da72bf8eaa89619323cac4eb91e6915c01f5d009eb88db633c2f8e24bc7fc164dd72dca358efd616ad36715c222c5964cf5ddbf98f5fff03c007897c835584f92972653c9652390645f2807806a81c455359b99cc2d66cf690da9648644946c1bb72f31ee7ef907e93cf7f01255da82d745230ed9fe00869824952d5afef7be36772c8fafe93112ce356104e1e778aa184c94d6b6139bde41958f946178868f1783b82449e5dfafd55e7f9f5583d86d2f2fbf2b3f4c5fad8e9c6bd50ed638c67a6721edc40ce71334a3d737cd772a2e734337f9ba7ae90c5e23c0d127e59d7ea6f724cdb5e10a7fac2a64e3c42253688f6d0168ecd8796a31068c04c7eb5baef4e72f17c195d0faaa51b89b674f810a04c7b7a8eb9ba50799a998d91c87ec8d5ff725a9a195caf5de689c675995a489701ca56e9a31e195799199310af6599303f722700aa5dcd28ccdc05cc6131cd2bfa47fd0e22608795beae150278e51681bd72c93b4da648aae02263a3be9a4c63b2642d17b9edb0919e98a60c8336c38b38727721242e6f85e47294cac1959709a051d00737cb5ce4bbe9abf39fd4b07416068261fcd2160772ee05318dd9015c318b098233694f885202710008f9baaa6672a17c5d2d7e490f7604be1d2ed79093488b06560b286703eeb8be17312815e755a14fe5ba4bea50b01759cc0e256df5c50f22d4059a2c9dda484bcd4f901e651e32196723cb4c9156919b640dcf63f28a38c8e1c2adf480a3dc36e85f2bd974382de8c5d96bf9d5a45b1fabd655826c57b1d35e619384fb5deb5bfa576ec988102f4904e8e203233e5e6be26433ea99f735e068c742092047cd2740196a15e372c043176740f7c0fa2585db2ab19a4502a7da300969fecec1979749f6d67063722e31b83f9adb5425c8804ca4ebbc98cb4af13bac00a840d53c0963cc5203ee72a5d11f6b0450dc26c2a40079985612b9557bf2a4def5bc005fc5b21045067a72276e0c469aef4b5ed88914519d1a798a04e221e2eae670dfc1b38d8260d07c2965d4e5e65763d2e38a79d168732108e276be063cfe774c12682902da106e7572eea9b392596282cee5be369c94c189b7107fce8b4aeef4ede7f3afaf4d2c2972e6f42a0ac608987068329f0986704cd56a4b0f2a685fc64c8e3bf71818a57b089beeb3a3e9903ddfb7a60d9c2165c00abd5e51084ac18644670d5875ea49317232cddb845d2b251b1fc24868029fd21423040de30a719682daeafaa50668887278928181599a0202abf49f86752e45bfc1663629814969f03da4f5a68149954597190db8d5281e87b929db307bd74219f5994e0b25c9e2832c44d6fc732b4a2bf3a6e51ccbd6519200171640ad617f74d021f58e30ff958e9ec98c2e32460e72cc759c3fe4027d9aa24044bd5d2b193b908a21f9232887c72ca41bdb3eea173db63fab11a6630c637d432cfe01e3bffc8e19e8b989213e3754051b360f27c0724446ecac5a784faae4a761f9215ba81029867d8fe0c661dfab8744e27ddd3d721ce755553e61b547594aa5505243f9d8ff6f56a47df1947224897176d6d29c30a829365decc7bf9f9ac92b153310176d8c5624f3cf39afe9597cac07d578440fa10c1324c4ffa21adf8ce6fa3f8d7a9c46e0b0df02eea7450c26a91009d09c412f8b8c34b215fdeac338dc1663e21667c34fd5b979bbdd31c4345403ce2b1c0c8d76aaa07e89042bb8ce8922bccc8a0ba4d9519f25a8dcb80c30d4c614f4ce2dc379b1abc68323631a8962e5348bd862c7f23c8ee38fb078569d2e8655e0b8720101fcda080dde0045d8241fd67df3b62122264246502f14209d7e6559cdfd50328026ddcaca777e60aa8311f9135c5e6b70e13290519de396371e343bcd76725fd98d6c54fde418c5d7506eaffd73382cb38c899394beeb2194381755562072aeb3db1ab11c41fc73248fd8054575a5ddcff65ce6fae88a7d6cc676e79ee7726f909ed20583316ec433022f3655d7eae584ee47156f22563a3fb227fe9b3f7208e147a2201b5389b1ee6cc0257166015e84072746299b468b04591035632d7234bc14f3e632cac2500da0c1bcf65a0bee15ce5e6466ae8f90f8bef773ac1d62ec46c356d336c6d144ddcb33e2a7c114a1f54f360f4e2175d19c884378bf635c5f0e9b4ba3711ff7dbbc10d78bd34bc8e3bee5bd39b115b515e80e4a92d81f728c4e120e1ec2b9c513c5573efafe8ff67449b61a03730f4891aef3279659090fa6771e0b0b256fee5389a24d21336a9fc4b85f86c51e7598a4d23c5b7afac609255d3fdd8b446a88900f452b85779dc725b95b64596961ba63fb3b2c38d0a22d822a7438772e39869120c250eb675e4e05a47665151abe3491ab80411434957240b0df0a2a9118a62f73b982226e0f175a2a5d2245d599cb84c8f9add530f672f02e3c3011404a03c97367b4fbd6b1168c7de53d776d8298fa3b9534d228527276322e37a1229ffc2054484f09b4085743a511db77418ca82fe84698b7a7f7231e55d01e5cf0d3e64927c126cc97674f8157427b64b2c67e249eac5b4ce35372ce50f12eb39f16bf06445569169f3c014350621054fa31d5a60fdab8f7da5b7241275b132df707966026d41b08abfe6c524d4dceca1c21bc32fc30dda28bd226d8cf48f4dbf5602d2351cda6130abce7386350d98a65b7f431bbfefd09820d72ae3f6064cc473143e860fd47c528ef2de83ad5626a6749a242c610cddc253572b9489ea803433283a6076d550272cf73edc1f713c0d554fc90be169646c6f0614fcfcbd2adc613fc23292f58159a81acdaf8b1e1abb03fb01af77599b91e2b4163cce15c05f068e2c16ee4ad00ecfd76fe4c7bfdebf40e9c906eb5c962e049726d343bbd539df0a4f26ac11980fedeee256065c08361ac5de9be46ff48645972a82a7505c1b0371cf681625ded0c75aa3304c12ba1c63b99ab2033452886186bd3fab826e22d8d87fc073f4f07d56ffb81162870803dad0b35200abc459f12725dfbf61b59fa0b55259f02b3c31f1c229867cb67f644fc19987faf9b97563540051d3aad21c570afc11e3a3101d1ae71a606c134ce6fa57066545d7cd04f1672268cffcce812b7e958d81f3bfb08129b5eef1914e05a943bb6db860bf88be70628f658375ec476343aad0f0653e64b58c284ac058316017c05b023fefc30f033fd539bde789a2a207b912b5c9c39bd589bee21c280167da409e37bfc0a282e3bd872ccae7e8913507a3923531286c30593a13c1250fa2f90d13001032715640a125787db9ab2b48af7d74c62664c0d0a78b8bfa1fe62085482a5f8e6c156367221b58e1913b01c50bf0beabc552b1dd465355fc0543ad51f00d416f95151f272310452cec98c7fbae590b4654cde987cd2d46c746793c8b1c9c95275e68fef594511e5fc1874ef24d2f1c504b9782ee76ba2b4fa4d6bb2a8c13e1b29367d61720e14f6453dc143dd78ab7f26f1b8cd0733d86925365daaea50706959734ff872a02027c285ceda72ad4ca44f3327b9c24bc8de263a3283375704f97877bf0a72012a50ea740b95708a2ee59591d8b269b26a8a546c9484d10d727a3197ed6441fe3a4775887e4aa0b1faeb11d21b907b2700b9b753bae2e0871c67ac041d7672b701e70513231ce1310b64cf5e9ad6418d826b276916823b9725265834ff052910c76e14f7d5edddbb66e2359bb4d56117a6fcb875bc31874362c70631dc3c35f229a9c6cd43f15cab91ac1bb8be786362ead02f3eae12a3862e447ddbf0e772a284bed8a431c9b668c6c34b2395ce2c59196d89e2fa172f7cf4dc74e43940722d84c2ef39cd32e8741a4f8107903faea6b8727271aee640a044c14276aebe72678b6bbfc2916d99888dec8a19af5dc59fc246cdd0b8f1a9eedc9440e9b2b2721d46706f9d8c40614c4334d02e4ed027bbdd4c295a95000224dfca273fa03563ba02c0b5ad1b86257f19532e1b37d1bf4ccba90de7be84998067e8af5012350a204fe96453ed003ca6ac69a0a044effc1dc1ac5991cc180e6948edf24552d672b608e1ec1f24645ad5f625cf85e3f6633edc9fb8eca7613b07f670ecc11bd97283c42a9dbaa98e05148991968f6e392a8d9b78a5fc0f5f21cb4ae777e1c16e17b29290c8954bb2e7855531d61e06bcd90b91e2b5f12bce48b887beae4d012a7242fe0ea6c8cf4b02fe442acdf14cec281a3e66591187b9ade44d797ab9ad8f02d17081007b520dbbf89e0fac8ee8e31e3aa728a2da744893fab4ca911076e3722a541d822f0f40fedd07762ca35259b84c95323e69b8b198901d32fdd4bde77217025fe32f89a1d615d0a029925de9b59e92f5511aa3f1ace42dd4e607299d164a9c0a26b1d1f5e53ef84c3cf5f488efc2fa97f23dd4a39858cfafc13d07807214274d3e880279b792df57f19622d98016facb95cb446930c739821d23fd61725246627ba80b2f2016bb9e54498213f5b94b69e03417b54c2b0d9dda6f409d492f3eae8b2a67b92279d935d16a9f488bad7c115ad03619e22a77f985a2e5b5727106f2ecc8e60f20439611f89d4a94da24b4aa16d9cc365f542b468f19601372b9ef28201c8a87d93a0b9bc756190c4b18c51b85885a483056aa012ea5b96360f8da34522f31c066fe0dbe05bf5f3d406b2084edd1abb33a96480ffc86d2a772e716851d871698578398b2d24df9f1c0fd21585c49bf7c85add96a3bcf3a892318534ec9fa87b5733589eb9903df93479f9df5731f925c3a79241f3943d61c7230a685ca47719e3c7ff0cf9c01bae632621a81d2a9f738c509b7d153d6368629cca088ab81bdb43a4f273a6d7f7136647ddc5b3cd82ed8a9b842746c2cea9e72d71025bb08e84526667e96cbf734ce1d0a1de7d54e70430ce12fa5106d043c729c55e55c57d20224bc46132ab8558f7b6bc64475d15f449652a510cf6cdc587268957ea79c3eb0a012fea321d02d935a2f0f18775c807dbd667109327a7e7a72986e51bd2dbee91bd82b5c7307383def2bfe89114f6a468fdeb7fa96061c1472aacd3edaa2aee6aa3eabc3cf0452139586419bfca9b836fc9ab85c16d3dc8672ed7b93d02b9f74e898105ad865ac142c6b1cd252d7911c4bbdd46ce67eb3887258f0e15c06a3cba096c3f3ae111390a49cd30f9df929211aec3920e08413d012c0d0161c06da8f7d2dec805e9b491d5b2659c631532014c89ddf4355f4cddb4ab2706eb7155909eb299f41cf49619f69f36135e969ac910df2aed7ae28c7035ed5e8208d59fd0379a0c1c90351ac316511c004dfa80934f51d52c4727e1d0c2565173cd8b839592977e73a5c66de8a15d0c090d878c4ec2dbd1f7879a91e697214f6e83f38a7d399fb0714d8b843deea1e95a9064f51444437a83a099362f9725c444d3c768d141ff153ba09f14e7d71e93d879ea69ffcae44fdce8775f2e072715d5fcd2feb0f0326fdfb085e21f95fe48859a7b034a42019eaa9d11ee9bd72e408255e6076a4f70b1c31f0c4cfc6900463304c734240566d02b22fc2f59572384909ee0f23f32007429a9075ef15130ba99594e2a1eb3ad39ac832de197e06419260db762b153dc23ea651fae56f9c044247eda89460732298fb54e0072a31a510741f32cfe9b30abf68cf9b033fc2562cdd53a2d4c0edfd9911206946a717cc4a9ff33d5366629a5f458ff888979691483266ff7788e73d9a5c009db9a16c04d6fda4d49cf53ff10165ddb43fba3b9acb9db918a34479d037b5988b738d729f60c0345c23317aebabe941d7cfe94127261a4b49ac566df402dbc072b4040fd6a9253472063b4785f1516cb0b89f7f2510b638437206668e35c4c6487ca93c04a2cc83c53628976d3689ab2df126103ac8aca7f2ff7060d257414943656872e44bb795d11aa902d5813a50329e5f30bc9c5e4f8d8cfbce2aa3c8eceef1117220c92c394d3d148321769f588e7c127d925d2bec6fb7ed81044516f949055d37b2b64f343c48d144991e1ddadbed94820d7cbe0a7547fe8c3ef81a6ce1c90e72083e4198d0fc4f73831e53c1c205c39b03cd40ccad5064cac702d81ffe74f1723c5375e9bf98a0f712c086e3a47ce946d2fbb723fb4313f1b8fa2d87cc4b453b93fe1f4f35c603a96852f5985bd9d4c64e5e25fbf4a528ff841f21dec905e0725c5aac1cb410481e8d70ecc8209bf5376f48196e587b76853216f7b2acf5d872b26a0f84ac6d1d893a779e83228d16ebd727de8eea999811140b5723bc173b702f71e58e8e46a2963e10ec343903966a52ba4d79095bcac7f548e84045ed0472cf8954d92f3a98a213cf8e81d01aa702fcb976e0f54672b402c7177633e695727c40c99c3108939eeb45e3acd78d7e984fb070548d0bf847737466b6e8b96e3681cd5c2007f9c0b7e05a659509efe8670f3bf5e0e45c740631672921bf1bdc54d4b3084bb2c459d57f19a272938ca7b397ca2f9e9303683b5bfc4ba2d315d70b0d14d3e43b27ac898acec91b28d59d9e4188abe954881493fb8b032ea07bac2ba5e51da59f14a71d2649fadc9b8f55631c90b0fd6b96558840ce3b3f4ea2c972d8e7b7b11a444bf8406a2241ef329c3f1985a2b278663da777501e5f0c47527232aced32bc3242020a308d8562fe0d866dc480f8c1c53469503e98bad0063d7226aaf8985f4a1749fdd633cb0a1f3c039e643f60a49673c080eb72d6df2c91723bb8293671a7217c90dbddb287023c9cc41c87a6c44a48a9f89cc4cf18647a727973b615cdda09c7beaaa63374fca52a14bf4cf40a85b889c5b74a25bf71211bb7ccc337434bfcdbe04b16bc273a22f5e92e0f3466fb52d31d653fb4575f6d267684774ebb2d617da1750b4dcda9a2e53dd2c8e3f6a0954e8ea7ebd449c3ce7243789942a588d9724c53604a7150ca144cc71402c3f7ef7a18c9c56f6114644316d2b5b33810466db7a41d52939be967f02854f26eb90b663f0146f83175175ed96c321ed338653ad821aa37b46bcde6eafec6ac92f1ad0af05f0d8a0514bc72219285f5250b8fd280493a448cddf1dcded9d6858aada082ccaef17fe5ae2f72c922d84ac04e140710423cdc74c578755632d58677259afd22be00bd14791272bf3f9d32f6f6d8a8a670def2ca10deb8906e2a3b74cfea5b1676fb69d792ac72cdb38c3b6fe50e0adc4263b71861837db54c13ca7b3e74981123a2c4663b576f43b70fe0d99641a2c32c81386103d895d62b5b05b73fe5944e8cca34691fcf72bf2103d4bfb03647c7c12af8fe2761e3a46a34c33d7dc69d3c39e1f38b2738723f9dfce40132be18dfb22b719ef10b8d7dce79567f9fed5244ee82b5a2f71272145347bb07480514b105de273ece29b00c93d5c9072a83d7ea93bb35beef1772ac94e202a4a9787a9231af7a2acca5c1d5d125d151b0c39b4a4763e3de3d7b7282abcecdf7f4ff8f423982cbd2691c8767835cb02c562bf2a89b9a99aef5fe3755201922bc2dcb65f753d031f6cb9b0dcc0725aa8055e19dd60196bc654cab7244dc3bf3c934925334dc406d07170b488c6d4bece53a4b6f0d42387592943d51a5b0ea346e9c55f18a43b6038a08bc49626373784c1bb691f9e21f62d76b3f366468a57581b671555d9e295fbdf632fb39b794e0b14d9d9e96d362990e9e38722da6911320e572156363feae0ae22f921a22db3b8f4b73239e5233d009b9c6726df7591901825413c0bb2c41472db70b82c7bff324ec61a8ec9013dd2ba5e27224a07059a21f663b6de580a0215d6b7712170c9ffe9c24226def73f136c2227188530403589a9c0373cf8e575d1a3831317e085131d28793ce31ff2ffe318372fb038d1247ba7a8409db0c35d4667aa8620f8bac50acdc02c6397ccfad6b7c11b204afdbf48e435ecde55a1f58731e6cac246925a90881d89d3c99359f1d9972a34452cdf1f320a4e2af07d34ec651a4635a0bf2475fe2771283e2a29b6e14165bf0ccfb46b7ac0659f67302f330ef03f9993a2b02ea56cf18baff52e9f4f1695a6e33a73a4fa24d7182c2bf63d67a0d4c8ca0ebdf4d2e2ee6f1025127ab4a3f04c2fa377b4ecff688a050a5b2993c89a5eeb045ff3364d0922d5b87b91d9149369e512fde14dcc1b90689f6bf83d4a0c4c38d6c7ca61a7f6adff0ed25b2294b02af3f02cd921bc6f03d45e1583422391bf94a0e90a1356634bb77aed662d413b87a577ee7047dbd397dfbd8671c795cb6bc069d824690b5220779f3ae74f87288735165b8eda13f62f32754695889c26ae063ee52478816815fe55c9122cb720d2321cbd22d7a4b82e113001398c8d637ec8b266d4b64ad20785b6702d02172d4e636397b27484cd12bf9c761951abb541015bb3ee6ed46f99c2cfabef3fa10d108168b2f2049f65e879a7c826d44cb846e1b682599ceb935de6c2df1769372fd302a9c90b2bbfcfd71a50a5a60cc2f2e2cc5fd92eab5170cf0b78145e780299736bc40660595bd92b00256441640b2ade918767a9b69ee553358a30ddce0729034b6ce927f1a7c74bd6f37a8f477cbb0ecc08a852d2bcbd1586c01e486437209618881b6a05b6fcddd5221f77d2455cdc1f43d16c96b78f4b21a87d1ddc0551a0ee3fbc6d1a4653881898da0704e9daacf9d4920f2560ec218236e86440b3a5f4a54f33c20995ddcc149d8b41316e3290f959f7e143619055041055842bd72f3e11471f2cb116aabfd4935cf96dd4d34de1e752ebede9d4515f64c8a21fc101fe91679c51beaaac493ad90062796ce04c3450835e9bc02744764d08b215209d4d9709f8b15de699ca8a3a16987acd6c2e9e495994967bb1410e12791baa97275f39b116fd4da586e027eba8e5c46bdab57f67247eec39900dd5d3b8a53d47297e5080f99d703c859bc0f0f2f845a20511b90cc69247c7ae0590a2a7734fb2fccb5357703348e1d32888febba0f10310485b679a0e6c83e0d8305ab6e1cb127680b67fd5925405eb852680a8404fed6967431d5ed5d712eae5e8e58a1c2f9724f9052bb1788253d491b043a90586f94060d64ad681b8af8f730ad0c9c99d4727bbc59219c5f4d24a02e8595ee9e69e1829079543ab24b3172b3fd8ce23efe6b26a2bba0f943d5b648f076de596418c5002e7119db49a9436e5206a98b50c6722ec63b49a79cae736db58be9625e13f9a53f0bf73b38a0b13bffb1e47faea372af3c142097753de4fdecad167b243f6bb6c2105aee8b57c39f894b0c9bcee1725d3bc5653de5df33209e68ba614351d7e9d7b9dc906ea26efbcf691ea71cdf0e5ddf2bd91a781cf207a2a041670cfdd1f8a1d3e4f5f12d637f1c1c065aea2d72ac3bda482719f19a0b459ea835ab0a432214c5768f15a1a5fe0d36d8ef1aea72e143968cca75bde626730a307e9674d4bdc0760f1a575bf908484ae9d784af1ab19570fa4a5130ce23a4ed96e1df597112cb8d90a3ba538d729e12a8c62c86721c03add4020b172904ffa10378db73401de782b4d11d11d4a2109221ab8a053a624f5097d7d7e3074fc2356d4d53c6d4e226e2851f1602f26e6a24c66e81a20014d57cec7fe0a437ddc911321012e52068110f4e9f59a441b78740d3aa3ba1720780c6496eb3e46081dde85418c508c7d5da4599d0ae5e96268148a816fb6443bbef66f1aa288630ea19ec7622f9549a393dc7044f3d2dc6befe218ceba5d07266854566d3434134c5f6806160269e7f518fbac89b216f34bfca06e2eac9b1722b96a0572c36ecfe8437690a223d8204b01acc0a1a787edd511bdab885d05172f75ee4e60cb468114f492d831529718389fbfd5fc09290ca83c5ba13b699bf2e099aa8e35661433e474d0e646ef48fbc464efddb2293c6f7c5367052e852d5726a2418a0eaad95816ccb9e03752d6d6cb448ba33e9c08f70e3bcbeb3aeb4d86898026a1ef354da7def4904a7e06d8ff2fe81e02a2cd97e320cb3055fb7faf81c0e4edb8a68207e36196002077a0079388e1d2ee314ea6a439eef79ea033c7f72c4a0df8470b844e0a9086e28005b3292bdc5fc697ff8135b5a3ea97c07ec3568cf69f09b35d963fc7872bf95c9c75d1a0ae8b83b9bbf04c3a0d0d6fc66a9e372bb2c8125748aa9453f1db0a649dad68cb88c132cbf582b07c8a250585a9d34727a86b76338d65b4a6245dd5d3168d9a207945dc32d9c140e967557af18eb560769a9b74474acf43d9967080252f60c5c91af64aa0df4d362d52ed86d5799332498d5270c93a81b233b83f32e6a3c5e9f9f58ba5a3dcb3f45b21a13991c2c990418983597567f552e25ce0c0d4ed8b805b0cba65f20c2cb0ebc7320544ed08f2ef2c2c60f80e02d7d027cb69af3a889284b2a1f76dfbcecefb253bbaa3a8e8172b51c94d24d0f3fe1b0d33151ba0ed9e90c36838a382b88cff52610dc992a80728964d2c455e9da607460bf87302228f44a08eb69cb88d110980b74f40be67f72d751b97e8ba0a99e7e5f5230168b5467d75e29f32f4900a17f9ab6bab8ba1e7201c1b63b4b52700f1f4cc3d66acbd1e2216f610fb0d4a4f3fa1d337154f5d5725bdb466f9c0d77b6ad5023bd11986a6715793572f03d20a99f8f486f01df1b724fc0d0ab2ec774f57974f9726d2ea6f20c386a53fd9dd663b8742f877f04a9726148620305cb32b8bbd6871e2052fdc857cef31620f0371b0dba7aa4ab71f5093c091ddc736959d94642f1fc83cf3bed866ed58b399ffc7fbddb7b16ead28069cd4b73c21014e96a331de7e4f1013b9e7f8b46a7cf7a261fa620b6e6f9ece372cfa83ecf12eb9ba2e5d52711b053a6f7c7e47624c115b1a1d1a08b9bebbdec722bdf04ddb82b73cc38582320a994808c660d59bb81e13aba09d993de63eaa27257d02e9289cf3865ea4d4edc2ccd29b12a7524f1660014d24f8224158692103135cb63e92fb78c5ebfbda00cb9f0594fa5bb6f7999f70ebe74584d39449b3d72b9cc476ffd2629db7817fff1a1ffc2d446825381c1398ee20af15bda43296c723a6965fdd1a6a7dedcf4c26aa94f1037b3892b15c27737116488e3952084ca728ede8642b46b612a1457040465de02866981b8d69d8b3d2290325cb8a755e73ab6ad1851116aa610d1a3970e1470fcc957a4290a59c61907c82fa23af7645072ebe8ab9fefbe476bb8e2643a8ea831150ee180f90ebb9cfc9787f099c57a9c72626c00dc858ce0e053417f496b06a63e7404e030fe3051d666feb3cf5d43fd595f15441874a8799492fe83b5986a3e97b5cf108d8a115c2c19cffb281ef9aa722a71773b386c192bedf4f5bdfe74fd12f7c0d7bb66b0c73d3e7443503dd6bb7243231e2d57b8ae0efab388d5a67823050ead8e9d095fbc8bd071110084b6e27233f7467a4a7bbcffcc566c75c3ea7dfb4d943ae8da77b63706ee91b319f2441390a6ba7fcdfd90310f40b9b2274e3a8cb51ac1b93aaf3359ff62d5427489a672ece0d6db8252c0639ef6e905ed3e96c838d9d5971cb89ddcf65abc1d202ea072343101e3c183bb7c4aea6f31c0029ac2d633db9cae78e3c406f50e0f902938382664320416143d8b3dcf8465eae4e92eb753b3b64875cefd41e71f78a65064720b13e8c2a37a20b1a3f4516b8b926da875cac1764204c91848343c7bc46b7e72e2bfd784c33b995b6f4099d7ffaa2ad364e3d9c67a3d639d9df7e6bd658d7e72485fbb12fe316087a054a9a4720336b0dd53d35f34638425f350c1cced786b4cc018207fab1b5884f1092dcc3d938a3422ec6f0f986f6a96775e5c90790fa472c23b097083ebb439fee484ca0ee68937096df1d0686ebd9fff58b1d95bdad872aafb8fd515d3b9882b5573dc1533fe231ce6aa738c8e1b6a758899ccc775f66abbb4da519fa73c4149f60f579ac5febe3af465442158519906352c8d4ea72c23c2bf1ef572fd0b182ca9a87c6a0d315052fe950a20e73d550c3165fd8ebed772685f65d292a46fc10266f444bd47db3bc26ee0cc599c792fe51412b9bd6ea52a46d229453c220b1d51edc5ea7b757e8b5c4c7506fda1395ac182cb420453b00cefbc336e70c1f88748f652df673a612c4e3641fb7015c61357a9aad983a673726c4188a02aa554432ff84e161d91e0ac51abfcab16af242bd210efe68856e459119658a9bd9e2f0128f5aa8b5552a5abcaa9d9e9e9e5e8110f9a022c779b2b72c8dbd0ff908684b5193a49c08041ce0e1e4fd72075b60e75b876e4844c709213652ee2ec2c4b2a20821afcc6a814ae90c0077feb52abb9411896b1ff9d6f9572a9a61ab5aecc17d9246b3d4320302524b12af3ba6dfa54d3431c32669f115372440e002345c1e74a038e0e3b38f21ab28a84ad3e29e8bb800c249b581a669472b39c69308839cbcf9036d9942edbbd095c87b1633a9a76a26bcb3f1e31312d277747640f93b1bcb6f5fed9f9b6f80f752589906e05115f96d37e6e1bc48aeb728524202ac1edf5333c347a495cb7b853cfcf5ace51723845916181ad616b8245a2ca7461699a40239ec0c09d5be7282627c8a84455fc6f60a4407299cff0da72b6a9a499494e83f5705b55f6b15e947fd5f9a2b9e5032fa453b22e3fcd3a9c725f233bb8c569257d6eeee25a90041ecdcd01b396b341a82248bfea4e77a7583a635a154995eaff8c492dd26ea913f2137b4e22fc29d95de630be749d4bbcaf2aaca6bdcd3ad1abf6f772310e159e7a2125e66ddec20c85ea001dda87c7622d57405d4b6caf9d4f099f7c47beef0ba0857ad5f640dbce2ebfc43a6d9e72ff59726e88c3de1df6af6b5ca35c4c32788b1dfbb431d8270d928be8e7db28641c97729f38b9aa6ed606d0017fab38918e84da51e9283a641749f17c655eea22ebf66fbe0b5b2fc2fe8ea5ba69806286b0d9ddef46fe1472fddb984352d70689e76472ec7a620ad83155f9500323b1955ca69b76092406f1fccf28a8c6049eef38261854e790216f5f22f6c6a836337425003077b7c945b46ee8cf5aed8b678d223715c1bafd992faacbf1e308f773060852823037642ccb0758bb65585cb1a9ea98612b8f9b1f97faf8a841b11ab11ebe9b61c3d7633751da3b83f989cb918288fb3947706f8ec6f016bfa350f1db00dc31b58f032b00ad19a80f5d6554d061693c721b8eea2732a65fe3ffabcee6985630fbb529ed030dbe3a4ce030b838da51ab5b9af9d54e225e50e8928543eebcc38a4fe5669d4260f04ec5891044515c1e1172e3c24bdc80dd55cd0481b7a4c19a81056eacb41c19235a1231d8a9d5dc2dad631a8ee158d5d0528530d71440ffba6c3d55bd45f5a16d3729f81037776ca81a722d5e01b2bd17e82a17c9de0cb4908691715cfa6450db7f83ff5d5bcde9ad0072e08f503ba51c3038d3118b5aaa94b6414cfb5791e9b44b88a1cfb8f374f58072f844205250264af1e1770935028a2a787110a358cd77e325104c264875b0e172bae6eef3044313f6abcb6d134a45eddc040dd7829e1727e91910e4f2cb92db72702169bac8ba91259d65af162e59d10a874ecaea7504642d3ccfad3c37d56d7295c42a68a993dd3ebd5011ef8c7311e0ad30d45b95841074f56a2500ae3c620205818e90587541a16077fb77f40f458d85bc61d618c95fa82a283422ebf4467255a1bcc0f47b0ee80b455956171d00bf9d4c917d80f1e8902e899155802449283fbda9c91fd90688333f1323a325f90c44927f7076b74851274f0508546077081e48c48921e45efc2d6df620a37d5c59cbfaa1ff514f225562df0b12d1a9d472b9e71a20d9d522c7d245c5d1e6cb95ba50190e0f332803c53f90103a6db855675a9a81dcea0d9785d66c99737951ad8cb18f769e61e2e8ca4e29dfb8200f556923d410c74d60601e18274cb60c03db5642fafc6a87fa375aba89ba2bb5f30b72bd3186826c9bf128b3aa690fd41f0ddf7bf04916e77a0821654fe210c9518f33a28f5c4b6dd979bbda00b114f2b0bc322da0abbf8d68a8a8bf7387c9cc1385722f4b3075d4b11b230aa358ca2fcd90e7046d63bfb152b4760394de755057bb41a017d0090b5784c1ea4b7e8506b8fe819997a4de6ea541c47dca26fd6fd750729dc0bd265c363d83d26973abfdf31691744b0c13a9ef7cc73b668eeb1718ec644624bf9fbf5590987e7f8ca5fcb83e616aab1450ba672a67eedd9a5e6f84a872b4ea9d435eeeb61403cda533ada9fafdfe9c436474fef12613d0f78bb118a1340d2b2c35eafc48eba9ceacd25ca45ab36042a754edfe0adde9b4e86f24098a72d41eea6f92ae8365204713dc5e9585b5d1c6c400cc4170856f137c1c07d0937209bb4fad905811969f49b0f6028572047f7ee9ddd752d68acfcb2df00dcb1a728493e30fd3f7dd978eaab2c3a87b5fc2f330bf7f85b51c25c7ef9471567ff32a56efdb58b4a51710db1aa2d4516c1a2b144f5b7b9e302402a668457edada9172b824046d6351b2620f24a88532bef9ee6cc4c323fbe85177d7b285a43f788e460a3ce877f024da46e7b7e765f451b7c67098164327aaa1647470c83de39ac172721154ff3a17188d971131cf0c93508ae5ae116bc1a731b49d51390775001d083cb9746aab82c33e6be57bbfbee8b3cd7432e579d03dc7c1346ad35c403f0172d6d72acfbdfb272cdfbc51ce7be545deb9d6126038e4ac0d9164f8d8fa247a7221f17b2f6b69482da8c5871fe39ffafde879efbb8bcc61641f6eb2ab0c978d64b505fc0e791e5faff0a83b07613474580443296b108529b0b6bf8651c293c272aedddc37bec069b37672367a881f5f2a4def587bbb96de2ef0ced337d0535f72acae034abcdc0e04ebc227cf4b4dbf065ca12bdb3f09d51b15f9f2a3b7b777391b0160556bdf77303d5f636ee73458c907b2061d3c66fb86b3d5fac771626172702ec12703895a76f88e6dbac0b0c291063b89a3102ed2582c685333b48ce83d06159e0c9d6bc4fcf38692622f19297c7d676d80419109b105ef0b21618d5072df10bba37e73e8dc70b541360dc973414f0e36df46ec227c2c89b2d05882a5095514a18c8c8921dc762914ed290c8bf465c201cb85ee5d22ad55929f04e39d72cb8cc4393b841dda93944d45b1cbfef540ebe9c91b6f4d728cae30cbd8c1d7727b4e17083e47bcdb061abc70911f98292dac71a2f31c583db3d09d4df61e9a72522c1efad711ed850ef64eaec0d56ea82de67bfbed69e9cc455c428606f09b456a563cfb384b9df77a83e0df41029dcfe65abe6a02be117c60114368559c6a72dd00393dd972d6751884bdccd4b25dd9ad523739893fde9779bf4f4323fcd33ef3b9f0c8e6bcec36e60fb6fe391e41904be103fb041524f90b4a09b94a91b57262544480ba8f83fdf34131f48e47c6cb65d23f2f3e5f016335d2aebabf261c72b64c6b432f441fab3225e0a20dfa98e2189ac375a1623a9a519c8ef5dd06cf7296e6ccc83fd423d3681e9668fc9e0144908a30794f306f678ffbeed1bdae1a72c6f328eeba7d8dd1487c78a3d38e3edced7d3a4b4d8a5cc5c6a51f6d3d18ae71511a3e14965f1e82a17da1cf65ec19fec28de409755cb62a537c4af45800bc72dab4620bf125705056c62f54c0d95ce8fb652a077beb6de1911e6a3e4dbeca72305eacb63b81a5a82aae3f165155bf102adb27ffafe44b1826443e29e5c8cc72bb31e9f2c4801f021a63792e8520c55ee8e01fbd3986d12dfa0fbf135ffcc57268dbecba066282abc3a5c90c7d6a3390a5b355ca772582bba744bbbee1ef4b72519908f66c77aa48d6149296ef8ea5d755e38bf974fbd8e4db72abcd18874d720ffa2cd3dfca21e1c8041a0db1e05fdfe7ef553a8791307e51403fce360bbf7235b446b7257b37efdb7d72d1d9f871defb5667b857f2c19fa8acf158f64f8872bab69a0e186dbf1f881d3a03fb9cc3d5123aa5a9cdb59c46f0c17dd4275f6a381444c947c612d98dc08239d2759d0412a352c8859aebbbc217eed6b2af58b0228b9e6b003b1acb4a9a12c52c22d7ae3839494353265deff175d3bc633bbcca4c459fcadcb43276327e224619ea02f01cb37ccc41a39a7e67bc943474720a927201c333c9c3a8c30b8cd88c27f9db5352d30b0c426cd89c0404de21f0a6351572fc18b2a7b730eff0e04630b1decd2328ddde51dd60a3ea45bbaf944b89aa9f39a18f0e8ffa26b878ecdf246c72d4e4c0356a78c1fb1098a3096017b16bd8a467c416e94360becb7cd6a06e1ed2ca0a4723fb7bed5267335c3d5a098b1b0fd77288690856fbc259ecf94e9c800c903eb7f6c5e5910e63dfee5e44db5aa61a4d726fb874c8b17cbf457f240b3cfe2a54d10b20e3c91dbdc7083611d3f3d5b655726d0c44055a891bcb44ef1e25b485fa4ec1ebc60ec57f08561f82f799774a9972b745c51d1d7520ce5a2787a3a4eb68664848e0ed32ddeda4b7b8b1bb722e4d72d2a9515229eaee27d5731889e0ee35e09891d5a3bbb5aacbf10b984dd1dc375254b86bf4a2b244753e6ffabbc5fd37135801af3662b16dca800c8b2bddcf682198ef964b65dad64c3e783a9cb192fd8bc73811309dd0280482b1512873a089723705345d8062a840b9a633cbf170860e6750ce8a976afb843f41e85f20386d72f2b411abe9b3232aad943386763166c3e343938912127b311cb74b02b22d911e2157dd9c9fa5dee4443b6227ba55cf6c254cc04e51527eed375431cccbe30a02d7fd368e00e985016c2f5e8620d407dc00d1a245ea6f2f0a8ecc9e010f2c4872e526abdfa93e90abbcdbb863842d2b4888bec063471ed180c2f527201923d64da62e5758d2f057df07b39b1ce6028be103aeac2dfa25e92f203f4698abd261723c230df966d1ddebd703cbeba40d0f67aab4582d879a5ff07ea299779d801b3713cda840de5bdc2b3649c9b780aabcb091070840539235c46bd8adea92e53d1669ada9f7acbd7a6a284834b0252f6d0264ac73d5db43f972df2e2d89237b6d72dacf0b6e71d73128c0837b4834eaecf4a0afd32d66d0b5a52f661e69666b7872a97484e277880e15d39eeed1429ecabb29000df51e90e16f701ec728f5738d05e4a1b89104f8e9f85e8f5d27867c351034da3f70e42c4e7e263fc8f609d233532e2f22b7bd18033f8626fc0689685913156249fcbedffd570589fc9cf1e6797267de7d2697760b30fe9787ca4f2075811152ea95477927ec9046fdb5527d9e703494d0927a6086a465444ea1f538c723d7676e076bb99b435274f284050d824964b8e726b6def1ca03d66035b17e3e397c735376de9d1f9ff81687c598475a3314d034cd5d0e0641c01d38a86e8e0c05c5dd997b16aaf9eb7c6c357d4434c613de63ce8475b5daf2943fc4ab4044ecc67811b5c6bd249bc6834999d143c6126d713a1f7caef28d907edb45efdd866d668c9ff6277f68f4e94dc67c7606afec723c2e6ab26ddd21191a8d68ceb9d05d2de02c2c2a575ce27e1dfe308a7dfe970c5a396b339450fa1dd4a2707d4b665c03f72dded47a7fcba510c36799fff0d772ad0a96e470e46da06644dcc5626308d1a9e484cb14579e1e4ebfb48421e3143877722eaa5a4a1de0b45ba70c17ebca869e6f958162230222570193fed1d5966f97943ad10c4b6b7ba9554ec94ffa4cc0512aed88251e33e4c066ec4c8d8b5e4d3f631ffb93012b08dd51f6d1a9c466783fdf602f328d6cff99a25ded3382a972353e1e3c548d08abed89f77d7a2777aded611a81ec7b48e34f7adca01b5ada724c4e9bfd78a468c353bb19b3b767b5cbaaeff29a5b639a1b4e2095afac28df720dd0fc201fd46ed50922720f9375021cc386e017f81a44c304bad28e16707a6b686e5fd9e83008dff75801f8cbf5a16d0a87875ea03670dc136b48da0970553c6ed214956f3b72d3f83320735d02c94845f0ea9077e3e722508f411fb5db394534f8dcdfc095e6b95884acc8dd3c653c43f719f7f9e5aaa530f8b6d7681fae72acda8d75a2d788324c1e1a54c05c8ffdc6eef0d61970978ce4449a66abaac6723457112a8c665f2e98b3e658b2ff22405f47059bc52ea52504a453a85d6f2d7294debd185ecb4978256300abb639b54275e7368ea2acddb3ff161b197e05b660b932a6be983e9d54442f12f43ad5ce21839b35beb96d18b3c48f5b6166a70d72727b8f9c86dadb43023a5e7160f5c53652cf75d07af2295e35474513180b057240089481c0f2f02ecbb34fc785da3b7dc158e26a3dd24e091fb5951930487572bc1b361823feace7895b85e15e68eacef540bbc11932810d0ee8f450d4750272b3a705866a77a3c1b95593da2215ab53488b4b41b4598f1caa78054793899272537af5c9c78b0f321fd66cbed4aa6aa12e795920d3ff336f9287f0664652d672f306e73a20d29d129f242699ed7468e0e0c1238bfed0ebf73625ebe4c5b0c2727378601b8a6f3993a7451e3386920aa6225b14c92fd4b56d114071ce8e470f061f29cdf4dbe13a4422892e2917cbfffab8693c65a304445b0669a1b063b89c4dabbb8a1209cb877eb33ac970ee98ac6f03a099b154d58ebc018dcb9ca0bc2f0edf1952e5884ec4a06801e7d5fc42e8487078e25282f2e9dffc465011f62bad2baaca9e8424844336ee270f357f4262abe3773c5172818e4711e73bcd7fec4e72e2c8d1c7228ed2778c32511edb89a4d3e55b650a2f57aba62876b68383a18672f9ab43429fe60f1566ad4f375344101b1a2476b5c5debced45dba0541155ce72ec1b60987d26fc7505856dbf43789a4eb9341ee0ab885ec31b2c1f448d93ad2f87a8483a13cd0cca0ffeaf263f795defa6937f2ca1539c905795ff6d3aa68a729b5786f73e0f364e5f0ac9fc45108fb1cdd0f4bb3947ca4eab105687714351384162f5c7f16d4f88baf39d71f171a3c7487d91d02ffdad35f9fb0a3d40a6db7275b8058717333a195fa286ac0c4cfe0dff74046225f1631f898eea2b6afdc2724938d4b2389d43d879b8767da9159b58e40a203f7f9aeb6cac0cd10ce45002720380a89f2bf38d3f7c2ec79f0973f8556e8d6b176355a47e1b2a768679d757278ba6e11c8eb2ce8f6de0ff7896a56682b7a1e13c1105919a5dddf996b8ca8d72909fa9c4751b9fe64f80aab631e5b5fe50c0e9cff57c37bcb948762dcdd1a929e8eb8d3b8d47367e7f5a640ae8307d9539e22cc42d8c68ff27b39e2882854172d1ebf13883a342414213a6b3fede3ad8b72deab8d7f4f762d31220bc03eb8c1001ae13ad4a933238d29480dc95ec4bfd273ce4eab3291b7f106a162970ee886b0ccd0645afc0e5c35cf93aadeab3efe3062df5df9b9522165373aa2d55dae672fa33393bb96ace7736fd1b9db585d9e96aca1cb3f48495cb14b0bdc3cbd91472d211a01f3fa4b1553f1cbb630fe84b771019c9d5fb0b2c29a238c545c4385672c0e351ca82950abae5860fb8d5b56f39a1fb1977c18e42b5042b984f2f263672dc49448f5e980d3569e012fd55c51bff060c463b15fb4e043c129bd3bc163361757fbc912515e2894bcc0cb13abce9f64ab4b014a9cc78443376b9fd07ecb572f05456e159e80d1f03c0623d5f581e5cd89d1e38c864c118032c9509b3f62d298000570203c007dc48707e9a7d2769b077618ad7fa20ceeebbcb4dfab015db0f3f87fa807be49c4b9b3d4a03087417e080fe66fc4336847f70d03fe7c661205edb47bb57df0977ce6921da77022b56e0f79041e7197cabf81b6496a59d2c197295c278844e98f9e09429c4a4a031aced8b7306db9923ec33f64ae2ce95e16a725595eb54527ae9ef0c6b102f887851411aff0fa067b00598d617595255a39a06dcc3d83c702b533b618a248f3a45a4583e57347533f52c50dd9ba6245564fd6825f7e12cdb851373eccf3aeeb728e705519134a4e22972059fdedca3d974bf1c1f3f69f329afc4f471356751ac5aed0752f44f543bf56a54adf01a65d24734725a9a7d1044e6a1f75ad53982a0f31463c322601a110b02173d31d8ffebdac322ce4888e45aa4b96839322c6863e9e50cac9a3f63202972d232fa85eb1c92e072d9c6f0badc8566ebaf54115f85f860548f18d7ee68d44b12d6252fde16891f64580bb1f2d5c45089f32edf8e4df538afd94230d25775d052f4ed7aaf3746ea10d573969e74d84ad85ac8d50183cae76c8baa211092c4485d28d89efbed5a10724ef9b746f90f2a47e601023c401080ea1d9f17beb01c90c7e8b6c83c0b8b0872be2e0db6151651dd6a72dde577c75cce418f311a5bc8e8e48ae451592d551b198b7f7f751472b449ba5bcaf4b8e132d55a771c2f890c0faf3edd1473cd3f3572e7cbcf49303958567da71783e2673aa485c6385343da1d513a1ecdf6822d1972b73733cae2e0d839c4d46b63d82ba54ce781f21ccf83302eeb3d1ac48ccae132f9de7c93c40142a9ef0de1333352caef5689bd767b01c303ac6b6efb2283da677340bae6512b74cb2144617ffc447fbbf099d3a42f6e52d7595651c098d50b72df756f32fdffc65e1285d4859561f4f1b5ed79d225c1e1e1521092e71983d4721274835d6dbb23fd6abf6915c43d0dbe46c608f428683d9ee3bbb5c782fea73ca8d55726ac0ed0bafbafac76cb12e9cd3a8320a7940a24984afb06aabfdeb117ed31f08b3ed8d1241fd2b3bfd006104f927d3a6b691733fce489281706edf07242abb3552e2eb3904934358e2742a41a757f29033cccba133d2ff6fc2004ff7283fd570df2791529e77097366381a7bc87e12e3a68123f5f98321ab35fc5b172d55d5c435b6125e26a0e39e389bc157adc3c33aafb4986c1bebc28ada138647289745807b1776b2fb44367c1bb288097910b928e4f8d97311476aea206004a39f725a107233ea586051bbc549d620d6d6d8b2fb9985376b3a185d5ab048cae72353fde5f26ec8f0a045d20cd125f496a872ba40641bda33f2119c4f991372c726f6fb7be7086ee1c48efd86f83e65fef3dcd28931a240718dedffdc4fc04bd296a2135d097ab21a827fd3332988a4109861e847cbfc9b722227df716091d9872706bc5918cda3374cd34afeb3fbbd6be48baf705a2ca138cc39a740f760b742b49c98091edcfa37fc62e13418134edd2ad394d069b899b11133ce303511a507294f8c7edece587664ca0134324885a311d02d44b5d92521e87affce1596d10723966912c3e597ebc646e0d87070b3960a1f6e50be61622a068e2a9114616be72bc64830e92bf6969b9ffadc4cd967444810f25bda2f6c8c3176557375dcb3b728801bd4716e1b852df1793f40e1bece591fc776d88db65c98ab8e80a66b632728f4ec040aea0146314573d7ca9caff10a697340c5c160e43e60bd9f82cd745729da8fe4f18730f2a5d966c133e05f2b6f1a79cf004245f5928675b94c6be60725e7202d8c700be09ebffef94eb1ed275d3afde400f70badfaa198244bbec567257a8feca786a500a023780191f5fcf0a5cd197a9b49ff3db8f2bc6d21d261b06465e861a6e7de5faf0738fff37e1634dd80feb7fe8e21182985faac3ab21aa72ce829bbe3a9fb85434205bebde5d3050625b6d2422bb9885ea32b90633769d72bb0864b33a03c0b102a3d3e08d1795bf46eb0e6a9c6124f6317aff0607743e722273eb1ae688f59bddb36b06ce59ee37e621f72192ef95e2d2ae48159b73397238792e25d6557b250c07115ce3320864848909ae3091aa85b9622f4ba0ae0a2e75d069d2ed6fad7381e9445a478255119d05b8e1ad75f7afac3385c3220c843c82c8188dea4b4151ae287955160baa706c153173a708e9cee75c3359c4b5f90e0d253e01c3152634543edf6d047daf71cd2aa02e12e737b88fbfb4689c56370aeacbc4a8c61067211145f86ee1a4c5b2172d7714d75583e46bb4b53a99022272670ca44249d49a30a045db552ebfe6dfc266faa2e77311460994109e3dd3d23ab110ad901e92a45109bc0874eac9f0113a73214fc72c16e6ad417d84e6c35a37da667fef98f435528d6a2b153385bba4cc98e496b7fd19cf9a85cd28f6daf972207deb5b8c30bdfbbc468ab638bedf3c63c4ddf2249439138d9b06a8d2235d72bf68102b177dfa9be09b314dc4b18ef134ee7a7209bd8ff42476b16aff641a501c717b85a95239bb4a801a29d7832eeca02dd5886b6a6a456ee7113f74e8ab72b5c3b53025a4defa71d34b75217d30ae45714e08a1dddc19fad2e52e56a14d302c003a28f0524e719d1ea4cdbd475c049700feda2a5c9714923f66371649021716d539be9055e560ff5010e8757ce74293e891bc536f27235411971c9787aa72c7491cbee0a49c6d3bd263d3f6521bb244bec743a3ec16c655e3e97143a13a7251d6a5f04d5267dcbfbdb5d4ea719e922408f6d2c7b6ef02ef19a9d44dc19516ec554e8deb1bdf17e34d62f8e5bddb64cb7f34ab5d4240d4076c4e4ee386dc72cde3e6811f0ca71778b3fb494b216af5fa9f483bff0ff81751d5c5bc8982e6134189ea17e07da501d5a8c76b0461963d2e4352e2c87a5890eed06d6cd1b0cc6255a1bc9a2b1f5953a95c5880219aab8ede3ce25bd72a042ff39427bbfc45aa72d49eb29f2c0901dd069226a2e216754bdff448d996c0f1b643a24a959897715f5337652a1b14280b694736c93a5c3084818b206fd0c7a30c4e4cc4e4248e6443ca4d2ab00988dacf6d49a25c6bbd74b7138f11e6acdb2f155dc4650ab3627d1ec9b16043a66a22de0261718d3568bfffad0ee757b42f441015790754d421eb728ab66cc99714e7b5842a8cca4d1e2e8266a1e5a22c21ed0e68305ae83c7aa550d723684627f96119fe48989d9a278518fe2ae4f9b18427cf7044ec775c151f511bd400a752e96e5011734380fde509e2c386acf4043dd76887a6a1c1ad0d240f4d5511fa64dc501e7d1d905fe555fbd10e6cab99a52de2a8bb6d16d5c6241d72619717c2092bf53c38da25632847f62b9b9199776652e43110bd26fce38693726e67a6a2f3bce9316feadea571fe42904ff6f4104dc612f84905adb0c1c23c724cd28e862f6ae9a7a1b1704e25103d724d41444c8bca010f7af4039c3e9a21259b8c24c3f3b708eb39458cc1050ef02beb71f253172c4f276c405c001a312a6a5920c48f25b02dd9c8dbe606683ef46a740e6781e4555749dadd672db5f1be1cc6702aca3e957331185143be782bc305916cc36eb7cf953a4321ea0d49c1a14425eb8561dd951f7b84643e757bc20a1792779b6f7e417f0077deb56f68f09706338ccd0c7e0428c1dc5186485d491a29f5b19678a4c0ccd00bff94960c66af4b59e80cca41ce3f80f0b938bd86097f19c42b599c1d79baebcb74e4e38ed38c725f93a24fb04096717dc2e99455e304ed205dc3f38357d2ba174df513a0f39e72d9f004fa482a2db5db551e31ac706a719787c6bc1f3266556fe27663cdd3a672442cde30d7f77451b42574edf615b31d3fcceafe0f5615ec58215cd88ea6fd49ef4c1db3b94b3ae506a1a009da10bf1fc9bb9dd193ef9a045399858f21cd5017d683bd9ccb1fb4d3e9de2e382c8d7eb37cdce5af4dda57d37bdd6e143c4c5172145f1a7309a90fd828f44be67f0d391ec91f458c207560bcc88a3d867342aa298cac112ab9856de56296d8915ab3913c2c7dc2033605df12e3aef01a055ddf59898c2878c38766751f99bc85190cbaa13845aeb824d508922856dc51e99b737259d73afdc552d818962df585de3e1404be1676c19df8b23c5442127010a85b7275039f018501556ac619ccbf45fb8d801de8f098c4e42591a473d1c39f32e61e7807ea958e6fa0df7543d0ef952d255baa6e152c3fe3624f1635fb513dacfa7275d4f93e0da769f25efaa45e80c6ef41278db88f5778794558ea9fc6bae52372b5332c597bf361018c33c042923e8fc620f2f5181d1d03b48e5c6c34b5323c0a830f384b36e94422f55af5b45b7292c6773b9857e93461e574ee86992c6c9a720a703bb97a42e03dc01a19eb192faff34d14d04716b7c4da99c80c391e65fc72ae744fc82a147a80badb35162d8a7815f3b36740917db323daa40ff85c68b372e40bce6c58b528e007d75f376a507b9129a14c97f33b7b7c45389ac8e86ef569733f1b6921492c0f3e2cedc30c9fed1333af5c1585cda8fb34d010d839cda572584408b7d1ba2cfcbc1900a01e0f0c407652dfecd4293e9f277f096c8b92c572315d20ecbcc04e725c5943a359a9afdaa8ac3268054cb454c6034d3896e081485cd552be97284e082fc3e6fd04de836e52356df0f05e38c1dcb837b49dd5427202f59701f84db076f46b709335a9d960e44f80f8b4b2eefe6ce79f2339a3d2462adf5235c19d2f4cdc2abf09fc489eb81d862fd4737452e9937525eaece80f72ff37e80589fd9a06760c25a336c3ecfa7629e70716c3db9ff585b378e30c04720015f820c3bf361c4403e85a4a948ea538a7ad2f32cac4356c33f9b5985cbe3d6ef70b60fb96da20478097801a32d4485821af2e2038d9791704072bf2740c72c01ff792a2b7e71a0908958d412798b78b1ae372c5383549087d63639f45df72203710702c8fd090d7e45e5b1482bc5af1b90a6b70a0b165a10d39ca71127a72dff9ed561e1936fdbc5d30f5affcd2e7a63b1ca74ca6aa17d48ae3fdaf2d8652b5fd251f874651e1790dcf67d243e6605bb7eb5fbd70ba6765c158665eb0ec5a248741804290bafd484e60926e2746f50d4a6419c149881cd1a1c976c403e172c8b20cdb2367bf7f0a6b5a26769b0001cc929f60ad3d8c89a2a6b916361cc472b87fca7a7e4ea5d3428f54d773e752aef75e43654894a5ca0963d853b3d1bb7226652bac12cfdf292c11795df522de74f29458804022b8ff258e5667d4a8cb5c73539b032dfb3858ad80380f8046053e6ed91f61c9e5844fd4f59a5d37f03072980b309ea4448e6faf9f44c8ee173390752c7adb89c4a087856be4b7f56dec5fbf77c764f2a9f1d148f5a77a843c21df70ddcd2c26ad86e461056bd067930272e16bdd8e90bd1bcc4ce407b833ad56fbd065388e00a59ceb67ec3a41192a8b72e201616a461086400bbd0403e5e603d5a96ead5d009e98bdfe979cc38233c572ce2e5194611986301112449ac343ebe183d15884bd133ff02328cfbfe6e6646889337ff362eecf60a448fdcf2fafe3a3e49629ea318d51b72b851e2f166b4d6ba3d68d6950fefc6cb98a0611fdd8f8d68d3a4648c6c9fa308ee1c4a5e86a32722e1d89bf0db9661efcd8d943f44d665a65364cafe12571e69b2eb458d61c4e721b16e1b6c516bb0161534d218c92bcebb3fe16ef60582e2d94be4f4e86007e7201bc44887d95595266728d1d5f101d2e9030e667a895fcd43927468a2f2e3d3360e9449e4dbccae47f97e62729b5bae37d8ebb3d16cc45698f554849e276da3c14246f97b0aa921e4db0b94d52a9682c8e9de42332ecf0c89c73295ab3c7dd631ea5c6d8eec2e68799b178d7b0062c0553b29ab11b00f8ea972a86878e66b26cc21192591bb33399d2ecc3a60743e817d55e4e10d2fcd9d2907a5184ec836e726a59c261448c70554437d86960cddfeabfd0878c0cbc2af5c5be53419848b572373272aa1543dd0d722d3893377a497473399712d0fdfd6c77dc74d56700d3146052326d60b2efac47713b81f22022ceb2f4d727db7bb1fe6923f555e1ab875cb916071fe1d6d14bcb2d696fffb264b9b32696a25a235cfaa6ac2f963341d272b3c763f017edd4f397a261ff08d05c0eb72ca22de95fd0e4a0b30f5d689c3c0c8bab162690d474a0ae2440a042b7d941d46e9a5e0d129535b6ed1648ba7b99721367c782109cc889d0be64195fb5bbbb176bfcf48766e60ab27597d2903e2d39c2792be37b77c184647100157419d57b2d29d6c84f584f69bc4b7732b694cb72408fa50da4f36fb998199e7d24b2c9e585aaafc1ace59f62c81c04b6fae9cc72562a1ee24dc1457496cd635869386b9b241371caf6a299b6aba5f1a0f4107f296d7069511072582311c3c5c4941c0075a27a3fcf87722f11126d5ef1ad6213082ee9fba543bb510ad4b29f8eed822392ca2170c825ef0194ae545533d9ff4172dcdd11098df7f6bc6a28776f734b84fa45c168690376a6ea09690cba73a55f077a7147984f2be7844165d1965daf729b0e8e7ff377bc32d24dc421107678d17201f83256443d3270b40a1cb59a1e5a406f085293637221177f61fff8628fbc2a1798231431324b77140b6c911419357570451377666a83d2e77a469285faf1653eb15728d276a081b406cac20b67404e9c5b266ac0462af0867040d4f370e07296c8714f9985f1b0fc5843fab40afcb5524a1e9867aa6258b7936ef0711eaf0ce03bbdabb535d59f334a801ef409f238dae8b7ae5c1f39451af8dd4768f899729cf4fdc60d34a4f600244b484b40b8281d5a1216eca767eb806b9528252875726ccebe4dbf0301b49fb77d2480a5fe2f7062ed101fcd7c816404d1b7e5a5c704698a050202ba7585dd77a36c7894530b6c93729add0b839a076fc44c9654397014e0235aa5e157036e75c731199f45ed26866167f1fd035b9789e6f10ee3e27233c971f4cac2081eee5887f65130533252841d790af95d28400c83e23ca21f7299a30f1f84479b3a6d21e5ebec687764f15d609cd1c53c2e5bfaa6712819540a4ce67257fb52825b46a9c8ecb6f6a9cc95c8f7502fb412a29592fd10e3a18230181d56b6031f22b7a9a2741bda0bb157cddb7ca0852746b50357dbf24fa51658ee7805a6e6901a8dafb0f5c98c4d9ff713b2de0b64b411385d7b3af71edd1a366bd7e26dda432e2bd6e4d1cc41d9620b74b1a9dbb7ae299cc789d477c719e172a098b6f5af0bfe7cd515e48958094e57f67998159e0a2787cad6f615c8076617fe6dc8cedb3547aaa9d2a7649ae7bba87810087155cc6f08e4c38c9550085f31010914617a540f4f482a29601ac3b59c997793f854a84c1cc5048af262e1317296efc8fc19c36389a3abf2aebd238dfe75cba59096290fa91412babd093be872c04001e8c376ce799fb78fbfe608bf5b0c1a517bd7e4887c67c5183fb8de417229c10029efd9ac5138559bf6aa10faaf1f83359e00ae0d15c23fd9afb23b85005c883b964a146101f210fb1a2bc39f6b6763e89915603749b264916c837bc972ca84dcd7bc0864daf60b87652d6bbd4017a68896eb141bb4d93da098845f95729d97d47dae67cdcf740284ff59dc0105aec2c1b984fc520129e9e60b2bee665c53022d2171fdc9fc1d314ea045641a8c65c0834181ddf7f8bef5bfe0de5fb82f72fa2f2dde6328c714fcdb2b35c2a96dc3c8c47c531775a0877279ab9620177206fcebf010299c3a25686f40e0eaeaab09180a5b6f3a90a1d8d74e7247586672613e36d00e49d82ff407a9b401ad92af89777232785ce50a4579002c1189f04f99829c7f845ad0112dbfd0b0475dd42175e2446b60db42852d168d7326cb9171ee8f647dd582c92fff30a6eaa38683c35333082d4eef15563de98c6659354a72b6ee91b17866d763913f14fc9c2807826176bc6147795600bedd955627a1a2448140be845796f063e87dd1bdadf89108e79cf05f4fad612c2808e75986fb7f729ca3ab2cd36b7d1c2b59c78fd393ff56f755b4e7b42e479fe064016dfb13f872fd314d38fc2583dda2832ee8695c897bc2e26d48e304a6d7e76cac12d58fb3515b5e88da7da0b35f1963eb660e0755c39feadeaa5f3220bfc4e12e5fafd482036c7513a0ac43cc70e0eb891cb29f3aab3472621691d5d2ab993423c39be39964c9cfc0894fa1d46ef42babbba42a62a3d59efbcf064ffb62696c2b183e6f903d433f50403c6ee325d5d4a571f33cad7eadc444c98b035fdf463480f6beb50313900a3376da1c933b6429f3b0e16be40bddaa73eacf7fdb5ee6ee23f931754972bdf563e48a57a9e316696bcf42c6929bbe8b09dfbb78f6dc892e294282c43015a500baf5d4cbe6479454b6c84381b91e1e905c75e18cbcfceee6bacd09ff9f723e5ba1603cab766327eb0e6ed551ac61d89bd66cf7bdb2e301552ff1cb74b42e9584c0d1dc497dad6959bc131675509d5a7c1f1bfc424eab15038c8e2495653e9119363fd164d647f832a9d224b689c1817fccf69770b5d5c60c2c7aa82bde2f75b8653b0edba4e0cbd7ad42e684ad326803687e8a161e155bd559a662c02b724cb4a1b806b8412760ff2645f7cdd05907d4fd9f242b887e020340a38b187c722babbeb93e4d208b4768c8255af3bd25c64908b6c202fb3538b73d2f88273e1e8680f2c4f8d2caa2bb3e3eecb9391c2c7f665140fc0a54ca07cbc01f91de62720188e00f084d24b6bfd922aacddaa69de6b7185e3e6b5fb8b7cc36b041c56d7282ce3afea24dc92604704b0a087e5abe5cb33560d18e1ad5e964f37e062897724d3e4568ae251b2a8e8f197b99c235feb1f732304041423ffd7d5b5d53dce672980e23ae0df65ebebab032871a63a68b6c13f4ed3a0df46ef424ded0a7cff77295197898471abe5bda190c5ee4075a44c97467df06ee56775687d3fe01519e65c726d8e6491526e3c4b42ccd440b00f662546ab033d6482ac73ae47e028ce204ecead987a25f13d7569f6713ff509ed27c1091a1411c902555323a71e5344872138fe6c9764f058339de1baa9a7f548929dad60d7a897f395026f7322c233172301f3527744e1aea6e7ae8cc93f9b1203d11ac5cd56db05c46957763840b5a726c31cc8620f6e748b5c906e0993ac43c320ced7a8fd28e0aec06b11bcc1eac72626baf593eaf1e5873a6a1276e0a3a379d96b8d74b406b340076dc4a2feb2700b8b772cab44c5b59f64cfaa84c210a0d64f89ba2e1b0b54694b14e84f036cc6409583eba7bbf5e0094868c74a9df3966bc526969d854e66f3b80853367f73472ad263b2646bf73646ddf4011686b8f6b2b825f3518ead0daec5332aa781f47725bc30da74b38277989c24022513883046e52e6af6d2dff99d9bdf59c5eb61018dddb2b1a61fe764c8031dd046fc8e2c504c50cd97bb2eeba6dc28929d898c70ffb76e34b2d5f8dedbe9b268fac84bee5d35f591cc5b71b14ce4b6aa6872bdc22781d4b673ade47950f1fe2330e7f25902d900d2ba5da20a0e8469a73d7a4ec72a1fea55626891990c6361253710f3122f680209d0972739f47d9577afc5d7c332e7cd0904ef480ec45549f3a9a881d61be2f8feb47a5e84b8d621f4962a6357217143da4d52d7bb15d08585b6cb015e59a8c24510cc119ddbeb3ae200a1e7d72c358f98be84744708b689811e52423a1e8879ba8f29f31496159c3fbfbe534720a1054db5cba630643a9fd612b6159bcf40c55db118ff6b2dff9ee7d97c6164820ae4b5ad7127db652901491579d85b90560964f71320581ee4a99bd8457d872111503d65fd0bf2ec43890ac87627ea92ea2c9265dcd43f2d117a1e9daca8e72534ca4f662f669159633556849a2134b5513749b19002944f7b4016c081f8b41e89ea67f293f353c95c1ff71dd9ab94647aa79b0d94362a266b6ae9ff669f054a10714d7a8e8541262f48fc5071032e42e42f683b19ed70030dc101a8a16324bb18de3d249c23330c83d739352bc4964ed879cbc6aa9ca7d89736d1c9ac1d0720f5a82d768520605fd93285d259bc14c4f202add8d79ec85c55ac3c61b36dd727919b6154440be164a797b341636b00708388f95ab2ceb23f091d142d04d6d7238fd967f68124982e2f8221d848bb105030bb7d0c8e02a4f782462f1b8403f7231ef1786328f55513949831a014a9c8df2447ab444dcf6f9ccc99c691adf8872024cc12b6fdbb68b583b467acb1b40a7aab949186ab1abd3acff5e454a4654560c88544c51f2c38702cde418a4399da6d3f34e897f5ac06abd9cb440cb321e72f46211afaa9b281788a60d8513d65a1707653451e99aeb3e8ff45b4b65845e4a2c7a9a36239da5d7f8631eda738f439c6a6d1b9ed236ad9a7f5722d6e65cd672d36ff22e0941531643c8a4079a5e91e3c2cb62a1e43782be68d9390e83f1b523dba157e5cfb7ff01284f5a3e61f8046ed489d050a1a550e0a7198b4b75f36972ae87873739aee73206129bc78b8beec73dccf63f272f13a232e43103e238f572a388440b960199fadcfa1b683a07ed2088173a52dcf3de163941cceee1b1b372364e7cf4f7fa79ada6bc5b855e9e46896debbb6627e6bb648d98a55b8c4cb03998010154be953d603c12f03b6a4c7f1c2cde9aab1c1638426029b1e9b60ed810b847d5d8c79f338ffc280a44659f7a6a6a4b1c25ed870907356b6cf80628af72a6ecba8b287b1021f18ad8df2ea4b26d940c323a0276dd5c919aa743aea7e53471ccf52b3aeca0a85ffe4898f0ad7eb99cda0ef25496af11839eb825195634727bc686a5cefedd356106180f76732d2f3bcff27497b6669f7855b3ad6f8b24729e601d64142f2fd3d9de7ba0823605ed7866c36524a586a5d33b6d4a5c8ce272c00d8558d1b48172c4a31713b01ffb3aba8141254e34cd7b00f26d7b0d4021723e8867fe4945e9e4361aba642335bba717262c62475ee212015dc0e4e90dca09be02e2098975bd8c0f48bedc687027ea9aa36da4a35154ab4ef6c2793c46bd10d4c48b588e61d30d1649d14eebdd77b67bc14b78e39bb1b0c57bdfd451e4950be03f06ba8889934ef3685e8305f708a8fb577af1bd91ce3de0a31e40a9f55d3fc0ae15ee4c5c5bb1eef1f7dbb0478919a50523ba19dc0b98ccb4d77c40ad6b72dac6c086df7bad3994b3bab3ef35b31c64c3dd30b3e54cbd7e4aed43aa5705724e1eca8b66bd58704b3cb786ad00967fe27e277c9f2a2b4d97547b5d6149f47262709cf54e599ee3f8ebbec1286d3c665b716c5de678a339ebd7d99fb61f72720691c7c46453368aeb9c8f1118a505753195e5a7c7d4c6a9488dc958335e686350e77effb32585a3d9d2ffaed04951b73e9477b36d344a97a706645bfba788014eb95794aa38f76c058754af26ca6c9e3625dacd73ec89b63298d53d87fb5272dd4476382d9c80a8e2642e9704ffd034b39e94918f0af521e937cb20356f80721041e98a51db3b5a4d887357b5894d2a7f16b80817147f5a259ef2014206f872adad2311729d68141843830feec2f14fb94467a3f73a232cbc19427c61ba5272b27ee41acd732824f2d0f5f9d7627177f80787971222105660f35a3aa245d172cc84a8649ae3b023ee4ed7a22d851f4154c909dfe0b1ab55002465b76432421bbf36cfe25c0028bac0e6685779ed47d071ea458a00574f417924a6793c30844d0aaa0e93797b45caf7e3a209533b914ceb48da8598e9e5254d6deeeac08ee341e739a3bd78abb5f441fde4562701d6cbc8bef5453d4b51deae6c04b44a0f1103cfbbaaf903fdb9fbf04665334840747b3babdf0713f290c5faeff1b39cc2de6db72c6580e735f5052d00a2d025f05dcb0e4633c9d49eb64771fda53ce1cb4204a49af5c6cb2c18738d0a0b732abab03d149019b94d517d8ed8b9e073c97599725ac55c652baf7efe11a85854ba1ecc81e1cca33fbec38ce1ba7977fc946d1772119176ac2586a0fe06b6312b99114bd39a9e756d2e4b3954773792877cea9b721d02e45140ecf6aaee1c76da0df4916a99cbb87dce6a8bb3442bbbfe7c00ef5c3348be8bd68e470071442b7c43a4850db5351c5f755e3e7f119fad3961fadc72a04bdaefc6b618165532097a3171d7948d636895ea94822045b7e1ebbf5c375cccbc6d75efc1b6b720c30c230967ad2d1c4304a4f53bcc4b58b79e92e073ca72e806800dc5a7a44f638c7ad47114850908c01644a0d0c7204b38fdf76c70d772ccac58e0535264aca440590ac9a873043ddad3f3eb5bd7d1f5e8b639b2f9db70698b934aa6e31a334e6e06957eb5e3823c6b73d5973757416d211dd10a9f72725d051f6a5c58579e45756a8880ab0dbfe0cdd8b154e27c1391f7595e8ce6b97248998767107d33e368c1925c4b8e6bd225dee880e4e2c30f3674a9e501b87e722dfb9e942f4fc4a75826ed13ad43ec515a0aaa2ff74329444139bb32fd324f7236ecb2cf39551d0e2efe96d33a5c2491d41b8a821b918cc479bac039e4c28c72166a1e3fccf95b07bf4dcbd5ec9d1af321563157be4e97a336d3762dec45577229c305beeb2ef302f989162a53a0744c3bf8aee9ec0414ebe6cd2233a35c2e10f198b6c9baf66199289c90ddb97aca0b926942880c6931bc4a80975752be95356d9d39b322b449b658fc85c5f527b56459c1a1df8e68e39e973c1e27f3af2472ed77d50ce0a5f3bfee9ce5e188be0e3ab3113477bee9077258954ee4a4bd2e61e69f36663a1d17580e581a76632b145ac2a5f7bc41821085cb029566d81d38727e5dc5a56c2da4bb07bceee999c1e82440ca749aad5a57c572e2830c3e0bbc72ff8fa4003b6abe6fc431b0fe25c703b0bb7b36df1c4b34af54249c1b42423c7243af49ae6593f2969a04dd9775a2cbc9768a7972fefce2f7127bf801d36e53641a6c9685afc9acc45b12d403f7bbc295e9a0a58ff73ee279277124aecc05d90b3e22b823d7ef719efde63dbb00393d3ff50354f9f310a4646bbc8f3453075063ea1ad720b5456e6244f6622af6055ab5637ee5e9ff0d6c77df9f488e6533261ba6b8d553e1b68b3a531344c69fab3bec902ff6d6e83ecf570b5e1bcb02c59572367b0f2ff0a15e8c734b0f06b18929c422ef2451dd892fdff997ea72a88800722b3ea79faaefb7601b245719bd595348f30f4a3345e6f5ece773acafcde55472f28d0194284101de94a52c4deb5386beded0a6073011af9327f2f0f292ec7c729b2749850b6fc655085941605cfbf4e17db184e1618529d179db0c573f056b7230e96bee7f1b51d0d6632a439dd5fc59132bac328ffa12126af84debc0bb2b66dd2f317032a46c141c043e14b54b4a9f353a0412bcf4c90f32a02a965b8e1613abbcb4ab0900a86cc689f425c6987042946ea68c258fd72b50b95136f0d51d72e863395b1768911d55ff83d102d981f5764a3e98fceec80331a60c055f16ba723ab10baa49cb2bfd9b0fb36e8472dea8da4437f070badd84a2baa8bcfb61414cdf550c56cbbf25ac44ccd68493e4e796dd0e5d9f24f88583ce725a9978b500723214d4ddb38b43cb013a9bae98f93b364bb9051676365d416079e1fa91404572bae5a98c7044f6a63d8ddc9dd30e62b2030066100e822c1c56384fbfed678e301ba630f20f0e6aeebb221d7e7457ab1ad8e2643d1ee50b283735ea324690c642f99a05f7139e1487b2b5d75fbfbeb53d04e1d0f746c89c0b11652afee9a44e722af6f57df8fc4853e6866e452cfa7198f144e3eb8174e7b36e45097b359cea72c7823590a72839da6cd3f181b9c7642082129638f674dc40d0a7fb4c462c6272b3e2357da4b20a83789664e7e63a680199b5f974669dc8c6b26315ce05f58b726a6f0b78657a664363f052732d3a434e957e05b993f1ba60f36b3030b943285561495560591c8d0ca7fcb1d6f57c1611efcd21cbc855dbc7bc311752816c592111840df7262e53e318ae42c3bc1c80a6497bcf29516eb8ddd917c0f59e1ddb723548b7e016be77eb2a419c4dc496b270d729b710a69a044ee843bc17f602311670b97f0d641fbca848ce2cdd5d375ba1b54ea396ec09b8bedbb7ddd766b81072902989daf06479ef45d7c5933b882ca34449590a7755831695b217d69c2ed47249edc0bf1aac3937927b3321d82600bb939333d4f10e07381f76ca98b73f9012aa3f41697770a82f084751c8d051cfeed835c5b8a9bd7f20b2d8230711d2403089458fcacca83b9c281214fd6ec20cdd0322b8fdf2f98f392b61e846588bb1631b139f79060961d8d0584900ade836904e58c62a004d07bc40af0220d34ac072bb333371016d4a2e47cff6f44da569c02fc2d7bf2dfbcbef686f638b67b67b13c28e627a983b60ff1a9b768a03995cfabfb496892bf0d233031f9aeede22b87246a6f761f37c292fe3983f611414e27b814eb8bb84a67ad4f1a45b92be8cff1da9270ba157015ffc1f0425fe9c0cf6bdf0c0bd95af6bf30a42da16e68a7ee955c571a7afe0ce6ac556a7bcd7fe93d6ff7eb3371ba8531230f5366eaab7ef4c72b9dedd49a0f6c22487f708578c5ffcca9049104f4d4f92d3ff8fd4a4e82f6927f262879bb3dad9f7a04ce65c4a7b3c6a9e4f30d7671b88fde32bdc47b77b7972cd83c510f35d4542feb610a6aaa826f8f6f877801bfc9ee2eeb022cf4993b605d799d3443cff3946e6c03bfe1feb138fff09a770f74fdd5c5725435c4c220c7219414e3125a337b4f58111bbc6fdfcc35e69a6da096cb0fe2674835ea06f346ee5eb1514f9e76850790faba647731b424f458214bfdf90783a5ce955512d513055c575a2f23c513108acef44813914c5718d3a89236519b3b26b8506844df018e8c7b40570269540c5a2271c134252e830c6ebd7150d8b97fe3e1355cf0b62127e313c9bf35d997c8c10956873ff73c2b2fb2eeb29f1229102ce728bd57568128075f773b53fa8d985393041c524b705399f92aa7b7eff565ff2b70ee5c09672c5b94f2cfbde726969e4414e550a16970eb432fa93f052ccd89b53a60f8ba372cc5021eebb385a4c77ac0a44778dcbb5dabefa94483674ba8ed8de266b1176729c64657f9e272444b53901ff7d7acc08d1f24fe81ae4b5687cbb6fef1ea7935fff99fc34d5a88740f5e22ef1f8f9983210e900f1959ab41bf99d3acdf818bd017e5a4370f4827deb13a1802ad8260c07474b8aab77aa0b0819607d47caf04b0f0070740b3d7e28ac7138bb3ac69de206aedcb61e6be68859cdfb077f3bf67b18c0412db819392f31fb48b61da4e40354642ad5b5d39deb991e035d01cfc18472aedb7e5734d53684b96cb1de0ed85f33fe3c056417ef6746a220dc31bd4a3b7214adb954a8cff764d76c66ec3ca1f05f62b70c8846c3e71872bf38f97d4ae972da8338a516fcaf51b369737216aca793e5123d06b934586109504b76b6817a62c1a74bc01ea573d469c9e779f59fb0dff9ae68f5ec5f571bb2e55ec74e87a5154bccdc35eb5b617cc8209ae412b1660cd9bd204551e5d084730dcfa00d3339724ce24ae06ebd251a6a1bef3926c533276f6fe92d53bae90b68717035866fb7585d3b005895158e2f67e725670412ed0cf5e861e38b59fb11b6a04e91cf823408dec0e58890bda3a889d18e4f7df04799866d5952ee7e1f2cbd75eb5c01a3fc42bd2af121671e0bc006db8a7fafa972c73c17ae16724c85b0a5710afc90451f7256afb129a9edb2bb0694661a99243348c5c85b5f55d3e243166d11129ba87a0dc5f32ad98d2cc3e651b6748165d2df7941ecfeff4d2d69dd7d50d0fc1fbf66725a6270c15301a4eef6d452e43b800f8138ec5b741105ea7a0163e2e8547fac07a14dc16878a0bdbc0ae52c1c95ef97404ac44f65c826e81b7a0f05baa30d2b7236a6f102d2f6f7293f5ad1a1fbf21d8ae789ff6f9f41d503742162cd21a92c59dd5caa030e862d7b38a0868be627da655a3747721fa756d9cf6ee093c3aaa472cc57842d32b4f3be6de9149207b9a471f9717e7d9378fa8b8c60698f9e958d726650a6c50e8ad3d22cc6693410700bbc3e6e3a010a17fd76930f40101ac86455b5d5c94f26879ea868d3d98ff12c06a3c49f77e00a95f75e62ce87bcf412be2881f53e41e85277a068b03302bd61da2cc3b09e8f7215393fdf18c4660f4c36096da89be71245d16b8fba736160172b890991af8451e9e26958b7469a4d2ad37225aa21d8d204c098f043278478cc11ac3370a73fa20bd5086494d7df69377f669d22b914d3e899d14df2f281dd2a3b75184500d2d71b5dcb2f79ddf69e6fa35dda9e73f78bd3163775e454c1fdc3881a05ff22c00f83b86c1af0753f2d0dc9625296f205d5be2ecdf73dfe41e0bafaa7d1eb09000da9146e54ed70ec6bc32072cf3c04259a59379259abb1cf04bd41d517f2ac8bacebe1baa98cc3562c8008070967cabb08c17f8fbddec742366ad32342dab5689cc289ca5b5865766e1461399c67d91a045034424efe9780a3906ace380504c5421999d3722811e53dd86260988649e10a81d8235917f165d0f46abc9c0255f553ca81019462c932cb43ad620afec2d53774c0921d9736f8ba088fba85fa9442a5bd9cd262709327f88327725cc16fca8fdddc534694ae07d05044e3ae3810cd4c8428460a7515a896a1707299238c614d8f1400b64565aa3a49ccf3fb33ff02a9989b43275a711f0d4c2810bf1a4534a511da5bbdf5745f8e3057929dcd9d2ae2ed44033b4fb35f270ddb0c6ecc4d8a0e9a2c392f0fd82d66b0e56e77e0251091e356ad6e9c486e7f89bd72c4df563debb6af5009fb4060edb070f8ade6aab9b6f1e2711dbe52356a58bb721f495c272ef9e9be431b5945a9ee5c269512ada46072b628c223a4e859a9694289c3f6aacebe717cfa5f60c2a0ece4c4fda833014f626cfc88dacac0ad22fb7202ed733116c202090b31a9f8823ce768465790bb29fe1678bce96e85debd1372c2cb89f197196d825b01cdffd795c7af1deada09d0daf00412541594a673127243f95ddc1dfeeca8eb4afe8b60c202ce6ebfcd7bfda1832f7b8277e1a418286c53796879ca6181c7f19579cab583ac5206b8763ad1f3cffb3d0f30e48f198b727ae74aab782c1ff1485f1fab9860baf39a5557486d27041926a106f4707b327285601c95daf6a37646ac8c2b4e8c0a027c0d607ff0bc89e9378feb19746f3d724a54cfeb55575cf01b17e8a92e2cfa18088f7ac6fb470a17edfd6d7861267a5638f94590149771004fd86de8dbce1c9e9bdc2ce6ef7fd5f4429909bfd757a44a658ddadecc972e3a7c17473a81c15ba7c59795bd4b09bcdbcd5d6719ce684472e2646bcb5bd752305508ef7e1d682f3107bad6f4ebbfe18d2f09dcaadf747c7246d5a09e21cbab51e652c92af0badc0fab83cb7eed49ca48fddad8149d181772b11dcd121ad21d2c1469db9e220ec19b3d33bd77bc4badaf0cdc386b80289872de4cc92a306fb2d03fc6a35dfe703ac42da47b7257dfea21528c432d94e9587262c95a8a1a04da11bcea4c94db8a1d862b27fca72af98ddbd0ed51240182a7729f8ca542c40a6c87e81ec3783c6c6df5ab157f4b15181cf91cd2af48c1def17242efde968b58982347c1740b9dbad63dfd254a9639c2aab910d9c15df9c113726bc642a6571a8f31d06cd21044ae3d02c80651e7be5a04ea468908d437d006722392ad3044a589f04762d191425ba7ae132bf706f56a44d04daab2dfeb3c83726f12372c4863dba2c6fb9c0fdcff56bbacf0013fb9e024d4332e92b8853d6a727795b47414bafdeb6ab638b420a83c99a1c4faed0aed8024f2b84318e0e3e8360bde33c1a662951c141eb73bbe0e993b8859858aa9c49ae7b6ea64cd5151da25ec3b88794a921ee44016ce197fc6472a98fa29ca9ebfa69b65cb8db4b996616c999b4240fb263dee518c04df26e45191ed78c2922b4fa7898d28fb5ac015b532f3095c9710766bf6a9b4e06b47996e2cc230325ae7ddc8824647168a5e7bc45fb50b10712ef195a6a9ad0279dad27a85f474d77c1ee61b994ddfd730631187588d5f436e69f05bc29fc90d55b5f6b294035785a402f66afdaa04958ee7b0bf7256554bf849a4af22b13c50b788d69915a21213e1011fd7b9018eae788defd836c5a9ea9cda0c0cd06b67d5972254fe151b90eaf2ab38fe4c64486a304e0cb57288750683d43a362c92da4ddc2b5520565c804e66369ee16e230e7c5d26cdae726f7cf32ae92dd5f89fc388f24a214c2611d688c77d5be6bacb62108ac94fdd724c49e627e5c3d033dbbb014fc1881529777c9d6d211f3fe25343e971d82280431e5da5e1d654a7f0d61d2eebb1f236a126888001a439bd6bc2df75e3c5bfa7725d7ff8d606c2ed13f82311f7325344e17e10638fa5be89e58461032c746f4472b65bb2c832e3b065ecf3c5da5e0c7e7c94f83e31ab0fc1142d0e3e199787ff72d1632874893389756d1b3409245e581f087ae331352848f5463b25dcf9098d7291a13607e48d24492e63753195802a1b30bb62ffe612c1db357da0326e36106ed8f2ef7265352eae3a9cdf2959fead2f0c228cb830e35cc165c74bbfda9086334ce4bf1c0ad95105f723812bfc8a407b115c5fe94c09d310b71aeb9893141102110133dfcba00629b0bd6c99210b0d0099ac7b55245f6c4bd8332edc078c8509edd543dc319c4a09128fc8c3f6776ed0094f47a15426a37814738f216360d172d74544475390ee19e65b915cede880857b77d74268791125a71f5cf5ce3ed3593be773effc74580c5eb1e0eedf057d34b31153c77f65e5779a5911deab98142e391c426bcb703d947a717abb9f20465fc03ee52cb2b0846da325135b3a0de91c4149cb52c92c18335718064e8e3907328a8466c79669ba792bc2fcec83611472c7f4b95c63855144e87a2517956c187040a3aa4bb85dcce0d8eebd34c5872c3a6db1739db0b676cc3d8770c941213680f15894d1ee8b67b466f0970648443572b70753c3d0dc27e5b19403b9e581edec653c2afdb1c9de97f8d535358634d07265cdac08c0eade4c4df0c3cf87b295835b6115b1a0ea151bca9610e16cbffc7243760d5d70614b217771cbf30a4088eafeb2e5925022e119409bece81938477296ac2079d3b53378ae5d87f54423e01974573fe79c5a8d715163a2f4efef80135ff971b6eaf4ab0cf0b28fa8a13eb67f94fa61e86f887ef0e14ba12ebe06a81d15a04b4bd49a444cddfebf259eb8e00401a5bb2f10e3aa66127b2dd21055cf721a1881fcf8d19841805e444827a5d7653d05387607db8a02a9ffc834af8b9d29fd6a2a4cc58dead32671cc3f07b7ced7778ee323531636b735db547a5c7bfd572f194e9c0cc302602f7fa4e68fab797dfe6bf73585aae6ec60a8640744025172db33e36db18b10457a34a8456c366a5e266eb0518a458f13dbb10ca766f2f70bc0578c2bf0b23e79621864125b5e263df0bd8e9b8568a410c849dec9a3a18c3015e847721c8519f50fd330cdbe5f6c6974f8ae3169bbba29ae82e92160c0882e5a149bdc4dfc7dc06052daa61fb560d0e7e59acfbf46713550ab5187b8758915462f1886a0a713782c111d910106dad3699e3ea9efb81bda02bdc0b1126c95726c3e1bc84b8e8228ed3caa743b385236c89faf157b357900b34f3f31e60c903f32fd7a786e079f1b32088b9a77fad839c2987e322ef214345853aaf4fd2daa4fb356f1a6719f0fee29e39f2bea3eb2b40b2734a3031c3a1d25b8c06fec7a81729926963a79aede843da45a1b5afa8e2128b32ad4b36f53b960a4629359f06d72cfafc61a3ac23c2c942195180f068f3d19bf74de17050f31db0765c8c5cbad7210863ead8fd5f372308e5cf9f5d78543a2c1282a5e9440a09097cbf011becc321a8ca9fc760e278ee73fe1dea10ad3b68548c9979f7676862419bf080ca4bb726a1e458cf3660ab4aeeb7fa774af2f4a2dc06cb41b6ba228f5f59134c1cdcc6547d433d2b8419348356471667cfe5f835e960df124f5f524f8d3f2d38e681d33e5536dcda4cae9a2d3efe9ffd3759a1ff2d7b7329097d004afb71e211c4910720b87a975fa218ff11b0ceeefbd19339c26fa8df9cb5c2b36856ed6e044d42b728d08c506406e4e75cd96e9b421640c49a87420701f30965e65a34b529c0188729567553b6cb64f82c1261d868c05bfca1d1ec79428c1d41d28d3715dbc80ae34152d79a88107ce75bc3f3d090ee611e07d58d69eaf0ae60a10b5c4aba5e7ea7219354f16109881aa611ea85ab686be713ac5c5b9f4b7ef14f0abcc3b4b618b5fa9565b67212d59705a97fe29ceacd3f0155ed77208ee35517add138cc867bc72a0fedf7af70b583a139fe54afb6360beb0e03f9374c7945c554b7c710dec477210de8d1fb9939b053345c93a397330d69d9a686ea0f17294628e0292dd137865efe9bead2a81a1d79ccf6ea9ee25ca33292019bb5c744543274c10941241ef4c4e53c987894695b7644332f6dc1db9b02965a8ebfafca7fbff5a061ed30e246a55cc2c454f3d942b7e3687e416b756716f5549f178b8aecb9931e8eddbdbc072a70a15165fcd8eb84d91d5a4b1869553a35c3991e3646600b19e490ad3f07b722b7a2f0fd28abfce22606e03fcbd29a33acab5c7f91be2d2bbbb7211afe51b1e25a576cf3619479b7b0c72a021ba4223d6732ef5cb583818b917b2927d3914722257459d5ef21215bb0a0d4977ffd961895c1d06a869c81cfb469c1ef5f6435c64162daa3ab5fc709485bdf865c6526cb52c98a0a3d0a61f1f52ac36dda32f185367a4da2925bd61f0d96c4a232f5201d66745eb2dc0fa8ae5c2bfae0f54c04eba6ec9620dfe539a5238ff8e896ccdf1f1b564f21f4f94685903f8b1d8375b2cdf083c013f608446df89710ee513de0422af2fb4a5fe0c3ec1a9871afd438421ccf22a5c2aebdb0896e1b0e5507406caaf97fc98e74a301b845d7ef055c0e76e070cb82f320ae51acdf45f52218a8f5f98d33acf6801b1c5ca289411259a923f24019cec90da177a0e2e03f63c5c5f03b46fb0e6dfef374b93717b84f3e8e672d0e629ba3779717601f639c9fc0802724153adb3c0adb4a854529b8d1a74ba23a89ed778e771b3cbd30d91429b6dfe5135b1d13b505fd6c51e8b8290a083fe726432cd199efe2c20bc60a1ad0318d2222cbe29b748394cf458b750c616b74010ff5181e92c22bc2e0576cc96ab112e93b620f9ab4ef9cc4ac17b502c8a454872f5913237c19bcf7586729f33989e6c73a0f0e3247e780d28cbb49cd5d856bf7203828fd8e813e181d0346272bd0b0fd161b3dbd2d888fbbb901688ed8d57147204f0e83ab886a69f4a34386c617f31c0fe88bfa3c46ca4e0483be93ba5a2b839807ec0883e0d8ccfdb8677c49efab5a5a40cb0a6000272077ace4512c5cec8145327c0e338ed2713e710ab55464ca863ba100d92f67e3748a74637737959a91d660927f49b6ef81b3d577e51aed1b504d1b97a937d4743284405b01d9dbd8a7029154e5b7160d5df32e3f2f803906832fe379b31ef5a597296b042f25c7a4172b0909fc4e95a13c041b9ffebf201ead04a4c8a92fe67b14c266b1ff22edb5372a50523af84b0411eff8d12213218b77efd0a843c7d06ef1789bc823fcccb307251539ed5333d83f7d59d32b9629c799f63547e3454e836066bb57fd240b41008357a2319f2e96198994c4382df735f58f15cd4c2ab20a2a440e50533734251709bc8214525b62e2499387bd59db53d13304ca4712fd79473eeb68b981b3efa721eb6208273435475647ad4de2523891325aa2738b444897695cb33094f2a9b0f8dbc38e1ed4fc9149f4736103daf997b4130fa4e8033ca3507455776e66d2e723a977523fb6b7ba61f1d23a93f68cbfed928428001e3523cd10069c79c6a1a50a5947fb5a3e29ca80e2a0b907786f2e5fd25d1c0df9a16c9ed1d9f3df6a78872b84b25cf7a36d64ef0932df0f6afb371b8206cb7a78defcc7922da20547688723f113b8079659cfd462ce7283c28af72842d4dd3e228fc8f23b73a4c8fa71b7209dab16ecb122b6c8765a6f8a79ed571789b5895ac7f8fb82aa41737ba752f72d2bf876befc2d3314bdf52370fe86e563d65cb3c4e0a37f36b09c2c745d57b386a7c196350383d2546e3f206440660a7735dfb99a84327afb6434814df989f40f81c944e88064fab8047cbe3c8f10f2bdc1a7ce174269be5574ca99749c6a0723a902e1bf8cdffc741be7763e8c6570db803d47363453449c21edf59e2db863b2b76112cf7565648530816b91a16ac41a2e1e3c1da466bfd0ad1cd09a4af6672bb46d2ad2d5b79296c57adaf32dfd996cbcaa4a5338f8a6d62a4acf2be28c055db97db3089f8958b02289c3b7441a2657998f31e998b6f00b29964fa8835ae72477b1663d466f96ae0cec6aad259bc79e07e04c656f8759b492963a46f933669aa8280b7d4ed82fa74dd9cf0bcf17a5936e02f3b71b8de36aeb05498bcde7669cdd7e5b863c1debe9b27e409b94d71e378c6f1116541bb740443ff023caf73720599cbb5adb76167f3684e874b1c7c300908835236a2966fdc9809c45d5284721960c623ab924b347396546e1ab342235e23ee7078597b13ff37be2117aff1721439b8b18ccce6b95ee40fe84a2ac33e190be05d121795847626d3978bcd6872be30990611db0dd4af7e105be2e1f8ad4c7dc465af6bf1ff7748306aec1d2b72e9bd6c9fd0daa32d212e77369c94b987b3ac1350c6b6bc7eecad125cb5f17072cbc62c6f840283f3c5226ef672fb3a68be106c80894b0869f0c6e872b9098f44592d83e13c9d7a38b3ff3b50d09d7f113e1dfbb3801d3433f027e29f9b67b470409d5f834b40f7cef8c6bc97963dbd3201276bdd554d3791053c4209afa57247d840b4bdc1e1da9ae6904c60f4ab548e19b183d6e3f32cc65cb30006e05ac172e7b18bcd25929407bc9c6848764df2d060dcf5768a7eb85bdc4c7fc63ef458727dc751b25bdeafb5fd6a281f913626ed80475dbbe3c984b781bd60cd7cd288726ea13193d151e63532e62796a79a0abf8f6c3a422791ff4e680698b09ac80143ced89470f6497e5e7e24c48d8ac10035faf1bc0a98ae2c1c1604963f57f02600720a05a223504966e091689f1fb2ee57eadeaf64c050e92e0b3250279802f3724d6b0b455cddfd4c8459a590114cd71ba6842b1b550bec64afbf4955e2f96e17285f2f5a0042d4547bbc53f0b59b4147de28c75a5f6b8eaccd4bfa5fe5942a56ff1fa539d2e0a964d6996f58b87f7ccb4d6c50966ceefc380951d4bf4fe51922ff331076bff20e3342eb5c2c2e425cf8ae7f32dff3d944facab0a51f19020972a71892cdbc1548dd85f346656da4b9241fdddacea78b89616e27a5d0b4eadb10c2a6963585cebfc6dc66e50de75c93d461b17f57e48d1fdad7855ae5b01dde729f82c04880cd0b84200fc84073aab208f241bc27f3f1e59745fb33d9ad1fc772660fb02eb857d3ce9a5419c6c9e66bc4b996d65a97b9bb711fd379d3da3c8972bf2ed10a5b679271aa585069348f3b8ca6d3700e54fb05b40999cb9572515b106f9da65f6297a96e499e2270cbfe00a5ac3ead2682e5d528431614be22f7545e73cf8358189e3a83e6a7090070746813939db9c9ca7f9bbf53c8162a334e052bfe8c4a54b614c7ba2ad672b413c726fab4c18f658ed42f448d279f9b5f526c7288894c10992a1b7281095b3b676e2aecf9fb7ae55727d8497b4c9aaa8b8e0772c1337f8ba9964ba6fa34a733d948ffb7cef77bcd32b563d18d56fb2d19b4d01d84a19f1e940d5953303c9dd08458cc5397248eba5ad68abeb657f4a2a9356972ae94fbe20d052688c1a3b12c29a2380947433849fc6d2a3768ca60fe22d54772bd1fd847ce9f53684f5f43af5482b11814b31e518c18a6bb77aa768cb04e567220780073d4c3374d459e4109be645181db2e53c6e3e29b712d0f261717c45e44ddf83282b31638c3e525288994d348b647ef65547b51f68ced55fcd0651d2f7220404a048e51542de0c2402cdb9664970f109b40b8a7be64ed8a42073a48c020ccfe44d84aafa84d669db1197d8180b525e73e207da6566efd8772030322c272f259e21067b0d21c5c9d0a58ea9f8276c16f6f78cbba03b431fb89af295e524375d35abec00c15165186a798586caa545d2c6f058319daa876dd51dde7f51f6b8a8fcc71bb8536531bcde322680751b96fb1ffc0b829194f407372d48998cc1987822175fbe5fb3ebe2eeb9f767c875105979a348cb6359eab62d26dd4aa74726f32a55a3a01dab5e6ed8cb9a6ccf3d416af8f9659c1481e6155b2206b852072d0d73c18490847f790c783e93a33b6e1b523e8cf91ee4ce1200df516cea52b1cd0a0c03ea405ea856c327d40cdb6fe01295c0fbb5aa8d2ed07f13d800f055672c47c715279dd441cf5cff193fe8219c873f527bf71a3a47dc4be25ca7cfd3933ca6c3a8674a9b0c55aedf840979f385493f383f869f21fa609ab5fd9c11d121bf46ba24ca6269136932f350a965733d5025e3d0e11cb483452f59bf85a616654110b8e348143938deafafae40b7d2122db600a13f1eb3b893322daefb3a8871f1a3b22bf600289b9790d2923d64aa279e5b81c1cfb119432a16d325713d0ed72c3483510cffb20d33b9cbf933a30926a25d5195cedd4802d8af4d8d6c820d47272b53004758638ce9a2d28dec58ff4f685fb1d14f03da53c0abe23627867b472b5b0b2e5051cab21538f2ed1c98f2332276ae89f5700b40d9bcbac765d6d3a7246b983a3495cabe59a10e415c9ddf9de34ac6322a7787478555fca865089d0721c9b0a55b4a6d08d21d32a2335ffb26da5bfdb9a41fb4c366abd2b51bbde0c6119e3d68e1032dc0a1b7419b17d020fdac26de25536f823a4e3c3c4f1d7b84b21093280ab4a208a954ed0e4be6add24a4d13ff80c8622d8c80c63cbb3df9cfc69f2d49da6136450d414a7407e8bf83a32e5f313ec14b498c7b8caa25ebf20754c394c4ebf5965561ab3c08b479333aa48350a601004787375d8a0fded0958a5726b67d97a878e6a23a98e5c207a28839709e5d356ad5436dba02d7e16934dc10d5d8adfde9804183b4dc318138ded9bff2e5d55ebedb898f258fdfc3f89bd2e7255e89dcf9a3606412a8077a014979049c32a107578a1b3fb0e51dd3cafb2cb7291bf3e3bec1fab034a24241445caacabf7864f11a0c48a9350481bc19ba2de63c1812cdbd461f34298f8944b0b6f227baa8c12b6060d21da69886b4832f58d7219a814943fa8224b46bc5c681bcea986e0a567ecaf74597c920e32f8cd74b772f05ad15b98476794aec1b1df449ac7cae08e3f7fe6e2b94cfa1092368e7fa3545952f476fe07108ceb8ef7adc61e3adc1c078661959232caee105969a00d7d720ca8299ee8e59ab2875ec6c471cfac0128f66d68178eb50fc971623b5f315b728f95f336a6d08f50e52791853ad499288ebbf236afe628fb4b704df9e14f887233c9ed7752e0d3b75880f04458d0bae3bd4c1a87982ad1f1d7f6c9adc025225b93a267c82da54a26d1cf5d23cab9b95c91f4603f2a106b654d9bda1d7400a62f1ad9cde7a2dd3846d485d1f095cd88cf027788d8a966955e0e688482e488395e4bb76f6152c04e6c564bee4269a2c06cb0e58a3089e4157fa6377c592a36086dc18d3a9295bd67299eac258c4ddc3898622e358c41b595476d1b40cbd8afbd72de96a4369f610e7fc779f1f5417871861e571427df81c1ee7e492b9348a9f13146cf62c674a01ff17d8a33f7490c6e87cd9a2c8805122d49e610d56bba75344f729deeb388a7f456f2e2722426685d6f1c8aa02c3c35150e11ced7762047e1721b00275045f474a3f3d891746b81fdff26a6f70aaf89cb8c56bbb75776c88f05a763af92f264b498343a3ce9c0c30cf6e67e9a8b83c001640298e5d6c67bfd240815e7db7a69397ac3941f060bd6cc827b0d425a3783e507edd9c48e08221e72d5f2e0e73de879300aed1a5762ef46a2c41846ff6610ac5a1ef2b6cfc9f3ab1478f4134736d5c230d973a5a8444747b1aa8ecdac7b57c57bdd5a8df199f16b432b0a694baef9740ba24188ad57e98c1af16137105d3d35dfae6dd29fc74f7172faf606e3e42f2fc640ef83280807994586c181ebd38ba77ecb2609999d07e372e5b057305f508852fa09c883f6ab31e6857e80e052eb6c90e58f7a796ff05324134121bd62a9ab51c6b1a045629388809d726497c5874938ace0baabfe09f8724ac4be036ab27c1b466d0bd21bbbbb76c673b2bdc8da54ac7f37ef91b1bca472d581a7e9b0b097d316e71a7e9884f6c6237f1f4f22289cd37943b8cf9fac022a224994c8bdbdb08a6474bbf791da5becbd2c2e8189796b72cebf5f1754d3bc72cff3b3569911309ffdc952ab8f94606e2cabdd5eb8b963c6d6dd4739df01b6721eda1bd226744e8f6e6dd7c001093b4921632f68f211f717914d38bdbd94525d016859f40908bd9ecbb3caecda7cd16463b516a30e403f661468f1b3f7883a54d9d76a924b52694fb256090cff210287ee6d5010d4513b0015fc96546ef72b71e399586931427242fb9dcebd98bec86eff91f3bb10627f623a4b56195e916e72741326e6a537304535b3a84ec1aa146dab141d9e02ababc8d7f55d1549009b45a8e301a62292c43a7b0c942da60a92303b0b80ea6366cc1cd965d3b84b125172f2fe1202283097244fd1f2d9f963a4fb5a3e5798a99233f59d4d6b6e2fd31172dd4c4de843621b2c7a5a5f3079231475f5f2427342fcade4a307789ff7fcf972c4bc19fa0950ec324357362d111a45d0e1aaf4d61ff66fb23cb01faabb450e725f02384b1b4f35906c780ef04f472a09edf5d2cd4f33f433f2b27c63ccfbf972d8d267a42afd6d1102de204bbd4c534da13286a60d87d248ccbbe8cc89d43c7208d080082c7f300b1cc8e480cd381464a0082878bb0d756db246fa446469a561d6cc45b1f94d8fdb4449fde7981af353c63a091f5702ddae937e5571fce3d5091281e4ebbfbf290ad2f9e47f768cfdd1f1450737bf868e8fe7da366a4ff00d727b9387a042e0dbefe4d4f9fac0599e83b68bd91b69d74df643e08d3d50b0816db365a92cc2d01a2fcd741c58419b34958e3bc06c9f750a634c2b12bca16fd072f8b43dda37af2506538fde2ddd4623a2bd1eb8b3bc7461dd831c7121bcc6bb20e321ec970e10f5cafa6689e4fc154c957478d969474fd177a4ac4a79cc206e3337e97f71bea4baf3bfef9d328c2541f0e296c9269b042a9e097c090991cd3d6e89adf25e5563e2aa2f86c04d649b6cb5d5d59fe617487063ed5fddc02774974ad7625770a5ccb852c2fad5ff18bd0d8d7c4125b3cc203f23656dcf0b93e1415cbad16ffb07bca6fd6fffd37d7072a0372d60642227cec7403c55a95e780a2172788042b4e0583bfb23483ef2481ed7ddc68f72f12c6e45357916289355b1d1725be56baea821e2488df708b41e3056b4a490a9e37e5772c0298616ab843b0f72ca3c216a4e6031300b9c39ddd8ffdfddab789ff561d0b09e3366094827599472a55bc87dfc56fdf1d466b19178183a5da46bc427e3facd0f656f2512f7b7a7724baad5c94ccfc7958b891a757500a3d9dee8b2ab42825efcbd3fb5ee07e8965086300e32bd8f1ae5649a5f965855688374ef91ea48a8b217c9614c2ffb433b38e62cd836a29b3f67117cb91cbb76d74bd1701d66544fc35fc03e228d61fce164bab261dbb0975840f60b3a536d97ab61e7abd7e05b782d72b69b7029d00fd322bb904ac5896732f550c5944e41b62b00d2cb461d8504579aa03abd4cabce8172fdcc2ad9471ae0db1e605af534593e439cb06e575bb67c2347bc0d41d4574245458e5713d85f56ad5c4fea928f317b6fc8502281bfc47bd67d92abb5a2246e46cae77527b5f57c17c17f2124e3f4f68a329c681cfc04ad9adaacdf80aeac0a7282c3ea65cdb11836663dc479a0835cb25df4d2f485f74a15a0b8b50abcf8437239da87fa9f3d80effd54d1f91e13ec4e98a2e906129be0ffd875d22a2784ca72872df7ce8d2107e06a4a4f818b587b6cf915042e2c06f2e96bf9c07161d3297281aa1a3eb221b9694cecdb0006329f02b1a12bd7fdb440ed567cf342d0b1766e77ea8e998685e16e886c272ec0bf8a29975affdfd91189b33cc2e919dce9c4539b7b957c6fc945f7175eff1571a35a6ec0c1aa7cbffbc93ad79d35c84e499d2cdc11e2ad7788f788504f38380a97e1fbae7ca03ab74b90c4db8d332f15e8b739936e3ce5b79046ca99baf57c06a1b0daa2ba814c3cc20540174eb042aed828720063f3e26ac16cc6b20c3eccaf1c138442a000c13b9d28bd4b0a55381aaba6725b83aa26f2681bf9f87656205a35c157febccea917594057db8b19b8698dbb6334e0496eb9a199fc54afcd263222e8b2a6ca0d6fe99e4e7a2454f399ff7e9b724f9eff5763a986c68993bc2bdb325c42f7d9ae91b231b30be4c10f74c9484372d3a66d8041301dfc975bc78721e64f285aafcc34a2d9af0fa2ca8e3412df4c728764f0052eea2f18edae18fb3635236ce7ab43a43f05769d8ddf3cb938779b723489dc3671dd9fefa78f9cae6ea6b903878bf3d62fde35cce1b5973134bb9972934e5fbe8a6e3a6d5f9b58972f5c4919f8566fc5701a8558aa080948dc3ebe727374c8b067587585368d03d9c87c6816bce83072409fff647c35f5591c43515e6650c168b7337cb2060cdd98eaa5c4ef482c0e8060ea17fb7a00edb90b6c1b7298c1f8c622b4408a5ef877e1c9be63fb649c1eb0bb39b4e1cb6d915d5b2f0f72c2ecedb96025a50415385dd4deb16755c5ff2b4bc43619d59e5bcf7cc3a86572175149cde0577b87b05098e9a6e11a3e29605656ae68e3dcacada2fcc38c4c72be0c8ca41c6fd6b86abb0f2ec68827f3e94df70cea4d5d9abbcdce0d3cb8f97265e94bc3033299da9d06e6a8958e080d79f4146670998c11ee60a1c5fd408272c8bbf49566802472da6c38af6bbfe33b2a27e8a36b3e5929bdffffd3bb1f53722cc9c9e02d0d59d49a8f2daab7d1b508a5daa125d4df161bf8d2c9db6fcf3e727011689cd3b10c76051904befebba29bf446d0f91ff389f78fa75ff3b2b40f728c8a4d3fbb6a82481277abae184e790f60fb7549272f978a5a91e7d7efeab4728932849fe6274ec40f4bc70a3b58242c87539d03e0a2eb6cb193b8466d1216729e5abbee67acf60012e2319ccb08c28aa874bfdd36a9030e7991a898d5c35372d55628ffa5945229243983f0564864cf808b5ba71fe3429326b85557f034cd28ac2e89d14716cab03d3763fcc6e1617a2820d9060c1a3ddef04cc5c1469dc17203fbff782d148f96e4c127e1dc5190804e63e2fb8bfbc389249068a219a9ba107a5772ad13bc47b278adbd9a5fc054e260eb10a99178113cc8d38643ccbf336d3372287025a8f2d3b8417d03dff02df0d0ef85a17e7eb0b213857f98055b163a7eb3ca305d095616c65d38f6b0dcf07d04acf14c4ecbd3c4d85ebfc6e4a7e94aca1402ce94ab9d5a0a07d03f1637c3a06e6f6d640dff94a7119212d0f18587724bbfba33179eb8f7dbf0e97174c475f180cf0f70fc46f4c58def58b9eb6d8233de9dc5a0b12eb0ca8ce15e195e81c4ddb307623ffe1db7f8792ff96faf27b572d5db72ab0f95c3fe8a7c9a4c13b4e7e628edfdc86986fe1d4168052db55e4e28c9c17d9c3945e27d21ec7667a506a3edbf76c9e492feba77de047a23981f187277ecfa5e72ec0b6a3e5b7e35e417ff6c0bda030ccbd54d3211d6d7e606cd1c45a7b835524ef20a5a2c3e7b5c7315194ee8263530006fc8f930adffc721afb772350418867d36258d4cb5317c3a179478639e58eff7f72569cf2739a29950dc4e9a32d683888a8ccdd979e0e213dcc5b1ba11919bf9f932ca89b27dcf00ef1172dd6da1c7c06ccccb7a3e4e24427e3f42cbaa0db619e198b7e8cdc96ccc02ff5fabc5a3a28a8685f75018bb6526019bf6b42fc12b7d4022725f2da9c015c8a172d9297a45e0a09365646a31a39d8643756012299f92c2242c4b2865d86cdc1d72ef746aa5a2ea72a0dbe2473a18c491d005f45d6a26acceca805cc55c2486cb72f345410713c52a4e83ff75f58fc0b4b6e4d4a506a37b9ef0c3be4f545e0b8d72b85f95e0933ed0e4ea6951330335f2e0ce4d7a3eb556dae537e80f9e9c504d72db2731f157c4f2583f6dd832abbf8ce6d71f8f6707d690a02fbc5caf3e909e72fe4de1405c9eed20bc7e5cb531262211b1c567d9cf845a880203e68538f2537267372e6e6f9efd06cf5d735eeda2aad06bfac9af6a34f9fe4c2ed045609f36724687eec3b9a34039b1c8e548720496d24523bb3ab2c4f4631f87d4a239e186720ee41dbe505b47810f197c69fdbbf2a4769a5ceeb49879bdc5798c15e7db114f51d5ec42837b8c2694f54b6bc4935c8878c4b2bbb0f0bfa78a660692c3f6a16b59c344b636d6f863ba80c32d7610bc744c53b28a08cf92e002ca77b95ad6cd721b95193c0728191b1d2dc5777124254ab5654f4b9cdee85b091d4e2212074b2480fc50ffe5a755eb03f11c052eda2f46eee6fe47f9fc1d0299a6d69979563c42764cdf16bcaa286745fe51bb9c67a72d6d8d4ab880ee42dbd3749039e049ce2e5800a0b9c7452c8f36b8d21c109735fb4d303251deefab660eea1ec2afa43172859c04e8a53e2ca82275ea6875b9e48dbd96ee2e28ae02150ad04a6b15fc072f2b7a7885c0e318af75fb1b80c8235ee3f212a7103c4b2c8c8b479328ac3d4f726fe9df1ec5468b0897264d957a4dd7dcb8e7aaba89e1487835652e4c66cde872a6ff3c958574bb52d219ea0ef905c63d267f656f214174d1a25a0613d0a6b6726f693201a34fcba18fc33d04b99966290991f598250a0aa85e31b04427a7ed724c8bb13b125677d525b4346ac114f0ab17eb58c6b65adc1d9f414470256f3308eba25249efd8106e75f4ddd23c91b33beafaca29118f397df528008e55201e72f9948bc0b09210ea1f49cb5d573c725d24f799ffbef12531b2c37851c6eef772f8175e20e8bc10f0497b616f2e040a82a18ca8376358522144d074c0b1f4ad7201bf4aece54fc56dc6bc6e137a86d31b686254871160cb16034d666c3b40bf399b1c17abe0a185ff618297a4117dcd5354f4ceef1fd8a81b40240a58f6fb0872fb82cb60f5f41eaf6ff50e463b1746c0a0fb6a58bae8ce5720f70c0271bd6a2cb76162cd257ca5879a48d4c341babb056c20cc61f6ccfdcd52c6b94e3d8e091442a75234b3a5ca0d96517dd62e8182a3fd15e0c06b8dab1c228a7caf8f1e964d7972b4cdbd5678b3a0f32626fe075db08ff53a7778e8a0ce8d817592e6324a4b2abb2545a715a854c83c19a3e874f405c589e5a65409fd7888d66bac1d7b016d2cb6e70bec2db5a5b1b880121dffff2ce137eb9d04044b0ef97446a689cf29727ac6c5585ddf07e1400ee07dfc24e4ed948711904cc823d3ca723b2ff710d372b8257adaed098175b0ff636579019431bbaa1998860ce565a214245de2668c68e97c596cb6e40b26b3dfd9a9c90861718775a4df76938fb8307ddc2689809b726d6834285032049b7064b6e17b79f75185e383f957142de629288dc27653af7233b54790c250f177325477ef33344fd4d9819d945dd96dc0c8fa6f90745aaf72fec2bd7d7aecad2c97e90688ef03dafb5552f9b8344a220fa7afa79aa21fa1721808533c92bb0b033ba64b4c37a286ec708a09a5ef7773651b59a7db90e2b172a92e2efa26b17e38a51a629b28f6965b600a8c342ba85452d82830c6a7e1b472a88266fe304c919b83c59ff7c9f261aa0804083b76ab40063100d8541defe072e40ef7de19eea25ee8bb9d4b8fb23057575aed21f7af3699011afa608cffe5720ac69839b3bb1f291be2236da070ac8ca7dda9eff59985592afd0a3c86767f43c28d8301ebedbc5256cd164687266a11645ddb44a8391dd035cb96260289fa725715e557661bfeb940b3ea1ef87ae0d57cfc6769364866a3837d02757ed762699a086e0e6ae2551c248954162353c3ffa09612cb94e6451af290ded90d85906f348b953a4011dc23b314f1897ca23d8a4c5b30b86a6944590f615421f2014d3d1f5a4cc27b4e3b1650feb61e78a9c29dcce082667c21806c8a153d3e5d86b0722203e24abd6ce917b50cb1930fec7314e566007f465f9362d071f5c25ec8843eac497e3698725e615b2e5537393db1d457580fe655818e14ad98c6b66f818a725f6112c43866da5cba00c3ea0c69c730b70577e33a2e06a394c68a0c18aab85f30c92f8f1ca08eb8a757c6800178cad5b04662189a0bbc4da1a94820c58f2172401e79dcf0ba844aa1d93b1c028395b6c3033d47f7deb227758b98230b0e8c7017b2def0c179426ae66e67d7879376f41d6184e934efdc2d4bd3895af99c3b69761a0af26c19ea2af5681dc9a294c35154b697ab790a2b2b75109ca5c02aed7251a1e85c5b2ea120da44fc69664a24d2a8ae17d36ac5d28cd461bbd8c82cd872b74c21b22fe15fedd4f7b558449843bbc59468d51d0080c77226b6658cc28e664525188dcb66cc5745668614a6b192a76110c0f39e3b0e4f20d255124ec1f1720966be8dc098453ee4526df86e34bf06d37a9d521bfeac2b0b111ae632cb525b766594d788abe7b6c9a428726a8d05767fdfe48ca9af371d9c4a7a89c881f664c5b77ecd1eb301c6e3207fcbb8d4266c5e4dc478f0fe9af866b5da63a6c33b72fa01522bddf121715302925eace78d8f848866c73dc10cd3455a2b5f848bf2128168e77335c4084b574cf5d1ad961dcf929731546d178023723b7c66946d1d668c763c9ea869e448d8d559271b05e4bce0566114ff38818056c7df46d553061627e2f33f82cd6d051eaf7814dc47734710dbbf830f20a96c9d0e7c6d8cfbb8729972a4628166312c6812cb3ae1ae92972a5b1f4704cdae49caab61a61f62276db9d9a9b3dbe03ce58597bfcd8bbf60fbd1d375b314528a831619067204123572ff94912615ba4370ff8dcdefa71b668b8dbc46142874ec67c9f97b5235fa591b6a6be492d5e516722b1c510f6377dd615fa41ba36c8280a6a7339ca7ab1f9072e7109f6ea8792a59f18a4ff990c7a0b88e28daa5b52b5cb6bae7a84b07d24f2d2b6f45e9807acbd2c906aeac3e91ebc180cd1afb183234648b14803a307f280fde79cc8aefefdc891e2de5e5bff3ea66d81f1013d5468c1a6e27ab65967f16726e7d841e6346f3abc340aad1ccc813a1e03d27c34c49b019fca1e72f26e8fb6ca832a2a8167afc35eb7f7c89664294c86b525f166842c422da39f0fb0e78e6728cd97ce0a356368a73c8f105cc6a4a330c94761e8d3d031dd78b18e036f1fa721fafe5ffc1531012145c43243fb9f1a2be74cbbbfef740dfca116c52b4e09b72afb0da9f315c5bb5c63a325090c50712fd89126d8a29ed445362c5a31fa5f92d4473e396e1f6c5dc6e74526ebda9a6c1c460d71d35a8b24236f595b8cacf024479d0ba2bc684e2e67be202bf2e884044ddd7213fe8edb78c15d556d0969fde726a8545dbc06131945ce663c4884298607f0d971d8530052c4c24858fa742be13cc8bf457c84435ce3ff0c119b0ad8eb990a6dcff4844ac62c368a5f015cf9372deefb79a55f121a7290ad003ac1eb65a39267f5b91721b396522f20d26308f09b592f5c3fc9e92878835598de20e7f90d9b3cb7d7079e9c171b1014804a5c571161725ba64c7f9ca1c77aedb170f42a07e859c72f2d3d2618c2810c0eda2426ed2df627bb83a5b4ee6ff8fd4c7865713901db1536679af3f97a2b4bd28460972c46d8594398de416c55badc322bb16eb4adc4573b3e3fcb0f5b645d9fe8638727785900c6ae76fba3d4d9b8ff7acf59fbff19e4e0d319a0e3095272fb444167259544b78d83dc908bec8e405bcc81cdf7c48aaae81445f4fa13adc9454850672e0801015e9cb149e96b12c73b6604d890698d19af4dc79804deaf542d5d1fb72288f800f37ab8386ac14b91b138ebcdb304fe6ba46691885bbcd1b53b9dbef728d9dd277948e8d0397cbddb8931c8da4a0f3a9b498d767d2964b10df07ff9b115afbb75722ba498f142cc3d97c08bf4d44ce141555b4d74ce1c69b96bbee3c72d468328456c1142896d71e3179126516d7a3fadacf7bab820230c477c19221726f76d8b7f966bba483f0a05a4b6e962eada003fb195dae8dfefdecfebc797d72fe6c89067f16e38f82a2f06edf79754bed3855916cf2239c8280f9b4fb3d6b720a2d930d959ac474cb5e0eaf220913084fc3333d39eeabe9ef1dfaf55de4a63ccbb6044a5c2c4efab043646b6cb318173401e154e2a6cbb5c77012b48e876f239e479d0a8e13080890c94a55b408512073dc36b30b64d6f7607f30645ce2c60b486ab7f0da301212fbcdbaa5a9e2f48f2457dbf63121c750fe4607fb2ea00a727cf11d8269d28caf69875714495a9855b45a353476f25564ce68cda16ee5240cdf2fb1bacbb42514cbdedf6c1e488a377f5db9a36049505b848ed29015ef72725fbdf50f1b4a728f061286c31af7da2a5e5785a7eceb4cceee85ae9250a57a123ce21e5f48caa276854a109487206be0bccb2881bf85bbcdcc35c1ade664fc7233447e0ba19942f8f13bfea5c50d286126e14985e20d6c2e0080baf2c5461f723fb0c3ce2620a5df9371d38ef7a93011b89e54b34c7e9e4c9d1473d2e0408a67dcd833e24434c3a7cce2c2165c18c6f97a65630d54002dbead4b2ea3c03fcd72624f4893f56a5874ea35e33622173824169876a44c8982216ad741d9667d577213e106c93c470a2e0e646444f8e1e5065f3f09d4cfc8d0d3b4f29c1912a5f53baaf6374f9fddc2b64d14728a97ffe12969cf5a518f20beb1a51cf900ba72b17290c5614853965de2c5bddf66beb5f853073dd63f5c3d69d3ae6aa56e86583672dde498bcea88ad2a0fdc488f9cbb39159275d88cd5d67eeeece5003325d9cb72939f2ef3fd3daa155b1154e562f135f01c03a20632216ea00c19d5b9d8b8e3724c6690341314806b4375332077454166df62dbb3c83e5238e05e9f7e99d0ce729c21073e1479d297bd1fec719c05ea508b743e35171913f7842f6424ebd0e5415e73c89c0a6fe03d3e990defbca80e27af968e91a06b3f2118c8fcdcad02177237c378b3d59f9a5d4e84760a88a463f1646da6c9ebef8d0f319468b196f6b57201366ea338b19ff749040abbcb07dfb862bbef68b0071a2491d604817655d4724a4cd5cb4f5ed54ee2de4fa27168cb123d6d5c65f1ccf0d5ad8eaade31ffb6448c5ea5761a79cc27417c65ff2992910cc1d20dc26e591b4e2b6baba69d877a3d7eb3c1d1f6781cc94b8655a6199c7841df1f023f98c2d004b52bea4bec14e772f23493d1856e29d7fdb62e8b096119cf7039da3bc602b061f61ae5fe3d5d2b4ce472f216e3c156d5581c815d2d4e3289fca3be6f5bd33ed69ca12350b324bb72c7257cf8b251e59da592f02d1735d79ebb9b66181f59fed883b87716a93f032d8175a1714409a42c7c73a049cb1187e988a9cca9eca50f7f078de2ebe803e0544b0f0db8fbcecc09d5e172e84d7ec0558317932ae3dbbf0a75cac80b59707f72913227eebb7bb7d7a4cc62101b87dc26b974dc58001b1977d25c3bd455af23721d1c52643265eb079f7a54345258b820f3bd03708fe34c889d1ebd6ad9c5754ba0bc29756d323b7135cb96ed42c7baff94c280792c7d61724bd7725c256e4c7276f1352fea25642f93407f50ac2d214ebba0e9b5514f490911ae8f077ea2806d94d0c8a95cbc8d0f9ecdae50ca754479a9557530a60b586d9c357f611ab07c72366aa46388fe85127d972dc591101c8fd22054f801a47007609e6331f3f304726cf9d23a2f73770a062f1404f3482f80332e272f6f7da53276c8941e33558f20407e18998b75bd57fbeed97b8d20333339927c0cf03b30b4553c39ec16d5987235dd358b8b59aa8ed3b06af603275b2bfbf189aa5ed71dbe4ef0e6b33ee9627268f95fc15289ca4482180d298e5c2a3c58763af0bb97735a763ebe96350177367de466f916af92c8987859aa0d273f62d349ae6f2f90b1b5e1949123e9035e576503f92a85e1517a770504854528b45bfcf8183372d0293247301c7f204c8b720222c70902a886e9031919816b5b1acb6ac8e312b004c88523425993d2cdbf72e674dc2c60c10e05b6bac0f38f816803935dc4f4aa7fc8088b867bdb93b0a2417073d7e9fb7240c9e2a400a578274bdbc06a4e969d3efe90d6ef897fc2c1cf5e55776ed34a3a177b4674bec03f14b47efded2830d96b472b34ece4b931ac2b72a823b142584e3d796994dbf760e0fd0af855d44a97590c5cd415e16cc175e572c2c5a04b40a7d8265bebc2d1e2f8ea798b20ec3d4fdd1121e4571a20dcb3b35e9b9d39f7d68465a4a1ff0b843f3a17c984fddf0ab801a123d9185a6ec2b70a72b8f053509bedb7e2c27ec4d16c5787fe0e023e89ea8ca76d6e4bd31bb2c8b604c0f36da0df3f79fa7d14c18a8e24d9fd03b6188125a0bc185a73ee757461d1619613461354d5be44ce02084b63649d4f97ce1da9b7d564189efea781e9be1d728d2a78c3745b4806eb65ad22f5ab77bd5810646bfc4a9fa86dc07f82b2965772e40010ff9d7c75e560b8572c6355721a69bddb783f5544c8565b09c457663372da9081a46d0e92c80780cbcf1a0b00149559b8886b690917f5e007df1046422aa69d085afd31c8446b29a824d26746bc28950e9627bf2d14adf10ee147e146721eb9bb06e184202f55cf462e5c8c95b7a39aee140b90024d0302b6da51836172ff837fcadb1d2fecea6792cef735f8d8e60d7bde9aa5d3040fe14446a9157472c4a3ed6f89e4071369ed066ef62fb2cce1f7886aa1cf7d62d5c7999a717c8a3c50950b331d84020b16cd34a6230840b380a2c0b831160f241d0550c5755a61729a87bdfc502bc06b62d0dd474001b1016663437cc022797f391e4405407c1365ea0e71a2c250391c37d53e52493bf334f3ef618805614009f9591cc1ec2ce7725dd1918f455114a6a6a6c52bcdebcc71ffaa42817ad3224cecd8a586b9bd1901cff44a8a0240beae5f3ef763cd45ef00f3b108dd032d87cf67a6075a7ea01a72564facd2d3dc0c2f2d780d209e488c046ff6c377947266300ae128c198e8a3725e9baa095fae80e4775915f52d763c429878985d6b477b74212682657e06fa4f1003ec3d327f37a8a9a56a7388256a269996998ff91f43f4ef6846871cdc6c721c50d5e07a87584c4fe97464f002f917d7c2780c92b8779aed6b3f700567d566a74738f7ec67b912c0dfa4cb5b4607f0442655a94bea71865077e683850d9172568b7766ea551f71ac31f90f73a652fa92cccc0815406fe79b158477d4ffad26f077422ede9dce7c131e4e57581913829364b9aca149e85a07ccf311483a0e39c4e27fdbacf591e616d7877075021ab781fcd913591075b5b998de10397a0472ca591ec8ac7ab958a239230279bdc3e0020d49fcb411370123a8cdbd36ed02309ad9ba95ec8cdef4958647df4acf75facb5e0b278d5c207f3cf8dd41d5c4fc72704b4c3732ef684a27b561a7146ab15dfeb288af24f0891c3dd4c8f54f363f3760ac8d08bb993fc55f0a7d94509ea5939834d4aedb7b147b9d1532c4e7ce8f0e5e65c1b10e55dd4124eeaac8834eac5d49d67fb6ef01d9e1531e9da677f8bc7217c2de6612bc5a76da50a2eef251c66cea2c9c20eb4ab5ef3c0bdc3b969b3d11c5e952ae6f93bf9feb2459bfcaf1315d280f9983cace615580923697eac73b7279535026fe5dbe31f448bcecbf69e7a2690e7e2aa17fd93259e1bd6933f1db72b458f78b6826a91576ddf29a12e098cb4d9383b6711b0f366d5c6ca33248eb723c90e702729f867e36cb0157370eb579d97e165bfcdd915569e965e5dbe91a50cf8401a14682ce5401235f9da1eb0374374cbe43f6f06e0295b3ff81b727e536b5b45e127a5c1501fe3aaa9e78dde4dee36c7cf6f13a32c425641ed30eaab41320b3266595168f2274b89e0997177256bcd6d9becfe5f76f69281b302f833a72c766482d573cd653f85b0394b2d46d42051567d3a7b4c03bec38bac3f62c311311eddcb200812132c1755f1ef2d6039202731835a4c82361062934fe66eabe7270fdf0b0b6474c35da82323ad553cffe598a3800ed75582ad6dac76c067e817245438ae7850ce17467ca37c5bca381ea13579d3527160978a6c2360429c9d35871f4c1a90c5ddb7f80d696bf33e2794987e2d1a29fb87e0602fa3809df9e46721e106488105eb2024aac95015af21e68a0369fb4b8cb73f992796ad0a12fe817ceee103463a1186678dcd338f69b21df611b9ec4d9df5092ae3c4d5ba1bf6e72279398909fb594da42470464d355640543539a4e0299ddcdef49b99a97f37a72955634bf21a299131cfc4d0a715ec1045ee43634376d12a50c7ff6e84509877207a7e3e6ec1ed79c97ebed1cc9fb41e0dcb35ac3348758a0cc4b34d28b9e315bc8db515886b7cdc911b15d92643d4bbdba2e56bcff7b80e8fbcd48836b486f724950313611df4e33de2f1c6fe5ce4a87352cc3eabff298efb76b05b2d9168a722cd57448f26f7d5fd33490b88aaecbd172819da7473b20dbe6da4d5ed9883272c00da7fd02b189e0e3991e5db2045c3981d3abcb57656ed1df57bc4a8a0ce1705fe9219103edda7b122b5e531dbcbe3ed8b4c7d2982a22ce0138f05f4fe45358590c4050badaf497da7296741b70ddda0af50032959b036e1f6bb2ddee4c6b70e86edaf23ac0195d0bd0a2815954239fd76fe691ef001562993e835eb662270330aa71a18e3936f7213278606eafb14a1625d784ec4cfa56d5246913fab87672152bc343edd73725b57e21772bcffb7ed282a40bffd4afbe9d96cbab45b0da53c323f9de605b30295d6f0e703d544c653d17c888c4b4ca7f7418c7cb392aef720ce870ecf80640e5b185f48f325a776f31e58389eeaf72f79d1d303212419572c1e4fcf6541ccfb948173adb6a69c2b1b369e043be2e2562c6d9a08a350c0472b1742e2882f68a32694dbc1df77dcbb49b5d20881e4640cad233ea0346c6183ae6ae9f0ea406d4ad20c928f52c011afbb83167e84408eee35536617c5f8aa93b3fae10396a2089bc8e1d72bc9e5df9f1586ed60c071ed8663a61d5cb87591f72deb6c2e935e16142c56c88d5e69d2436977df29047556bce976ce75e22505362d395eac3fb36e51da1786a5d987dc30396d2436a3b09b6faec04129b00825b72a20e9fbf5f24e26c7eb928b56b16dfb82bd4d6c3aab7c5bf3b74b44082476572c73ec20558c4af50dd8e023278957de4e846ddbbf0ae841e0917972dbdcb65054928e42a508ad1a259e27a1eedde11ede957770b1b65a8ad6c6a11d205c7977284258131a8b806055418923d53471428fe878c71a04e30b25edf8e21038298720cd40a1bda2aeab2fda3363163c405f536bc4abd3d70dda69b3f051455859572e91722865e3dea6375a28397e0dee332265fded63ef0434e5b1e828863579b720f96691d3c919cb22279b33032820e053077f7334b26e3ab93cc90330d3c8a72b92f0c5961f4ccd65eb42e0b9410b1eaa300ec8780402db4429f21e4527414722fda132cfb445daaea927ed22ef82eb4796e0a9b33b86389dce8c723e77e7a1583517efef3c16089597dc03abb66359291aacb8dd9cab63f625de75e4ba2e072b2bd70813ea72214300e9c934704cf1d1d3ba6aa4d934db4dfe778d333392c72c00c08bd13109c9360de1fffc469b879aadb335a4b6794fe69e0f1c1434bd715de8b159cfefebf5b71a9e2c58361c570e7f512185840e18bc3655697cb57285ed65048de1016f1ef27cdc44e8d284a58479e66926092dad67296597eff4f1a03a8f0bd625419f09197c66cf453f37251d4733e80887a39c9f1230297ce8c5c53d08f8272d1035595ca484c1dfb982a00e3b84bfccb7ccee82eda4bcde8041e107aa889124da19c28e184f98037148cf20994df6b2beb0ef101b9cd3507820a725e7e423e13e082ad8dd5a69c7494c9fa3d87c37de2b711b00c9b6134477c9a1e5b09b02c613b8df2025c43024c246f14d3d46a68145ef5c4b0cf2282d9a81b3a19f6937e547c4692d96ee8ac22e6f62cab84fcbe13ae0489998518235341264b3b3902caac66cd85d0a424f3579c348317bc7660569550ec2173eb0607ec7072093607fcb16a8a0d7378f781c0efef88930720d4b9162daea7f30c5da8e44b2b068bf629d40a9020b81022c84468f33b8d6e1130344ae4b9aa3d8aae5df8f17224c74e4a1b1afdff83eb330d17c64700e4592c6c82b01bc8bbfd59a89f0b1542e6a15c3e2adb84ceb30578805b3f06a529ebf95e24bd3b41e7d0973896ec9d721ebb5b06cc45d77a77e901f83d928a9daa90f9d77c9e1fd8d232dfaab4a7fa725c9a255b45fbe06dfefac16af9e51807e44bb0b9f6e4ee325485d1cf1f60d75196fbd32f6a288ef4816549848f9ebef28dae8bb49441c77b234ef993b2d32d7211b869943f7f797094bc674b41aab0fa287b50fa4cce1641a15dd373d866ef72390ce43142a9ee1d4ba65c3f2eb8c9d23a1ff62a070dd73ee75cc796eb44d772d0a66a0131d3a22d758e2fbc6d677348c47ad5c39831b053462deaa5bda61c7260decf2297ab0ec5cf9fde8bcf9983e1c8e4bcd0e978add8c3a4b53f0cfba3720818eb3abe25a4257dda15b7b7a3957a0b86e674451715f79eebaa5740e50c3a26514a12f801509c214236d2abe570f00bcdcf8ba959baad512feea13f5daf72b14c98f459291fdbc2df65fbb4bd262354ed47912adde523cb2983c1fec83e72760efafdfca45e7f74f42bad7dea369f633f806e8b1991f72811246022187038559cd16b905c41d46a7101e64a045130caf5a59718020d00d3bb07a3e5230b7265155596b1678b7b740f00627ce953e1f393e4b8676859afbcf17cd5b6c9ca728df3e7974bedacbf357c4193f004badf572325dcac729fcfbfad81ed73e7c8727ab0cbbf1048e618c759766ed082db5d3d843c3101e0f7c788605afde4a32472c4b4753e0a33e1766c1547250dc6fec90cc0b3e5d0f577c6d2fad02a8085ef720637611e1b48e384bc016670636c39f6e93a5de9030fd32d6a185687601fcc125f51626eea3ca53d3c7516400cff96de6db22808f0a426e0c853bf4f378b5b1837013a89fe226d636be2da2e688ac01384c04752446e62c59882992e825476723d2086e785fb6e2f6cf126b6bdfd011f35fb65ab71ac0b4a1b1b4890da4e200c63e8b3d677f6200a9e17e6df73410d9eea6d2272138463a6ef81cffe6d2f6d43768314bca3ed3831c5fcfc60cc0f26f777cda7b4abba14275e258a40d3223c3ec76bf00f2c1a63bb2364724203468e1a1045ea8cc76654c361751d29b68da95636e79996fafea3bad49cd544c09cfa9ed996f74f44596fcd4ea7be5c722aa51d39bed7d2ea1e96044ab40f5f5120f083341c267dad3a7328d1a8a7276012fc5a16d295fd0b48c3804bab718d64ad9e7a60afc3dd54427fce46fc2438a7170472bb6d84477a5353a14d2c45c8d1d3305c61c89e4f804c552bcbddd47ed1814e71731cb6f6d0891875a891578604b6faaf79ff24121ab1f6bb8b62437d3f6e4814de30c88ac4c7edcb07e6938c012bbb12d07f3c38dca559bfe1df0932effc0563809e32d7d1fd51e7f1a245a2917c06c1982ce1794495fe533d87098e2fd8bb72d708128249007e50deeeeaec1cbf48eac957ba43e639f9925866dd819427710257249f8733f1ef0e565e79bfd1c8ad001594a1f307d99af76f8212ff3a8bbb72e8acea2247932d1fee62c9fd20ef570dc9260ff5b966295e6ab864b9e446d10e549153b5cd4cdde7388daf98c97cf4c86bd1c1533a1702872509351f33b69448922846b16b7079378375bddfbbe3d6a4d998fad59a515790dc564ae09192fd721634f955fed5f661a886a7804465cfd50bd1db76368eb8a910051524c24ce172aa82a78c2ca3a78566e107f0693b930d2c897435d4418290c60edd2b024c25041ff6eabf7a79b6ff4142f2dba94ee46b46491fae43de53af94350b474ee95d5c864d46752cc7b4352d5910c0b5f8540f3d7ab8f05279e0da848cef9acf822072594b800b1880555eac97517793be7ccbda1a838ad47998edc1597326a3f3327251bcd782f9fb56e7fce63cbf9fda1a035c8850d3ae7e9a5aceef00ee1b1f56727ea9acf4ebae3f664f00fa6205a1f98187aca37557a23f220734ee21bc92547254886e99d16615853d87f958d6f44dce3fb02958efe9e459c9271a0097390772b870a3dd41ef511d9a5e61cd2a65e70c8179260622b683e8b6da7f922d27f8726edcce7dc6c7da7fdbafcaf8d06548d71ae75cd9de591bcb488af165b7a0c972305ce9e0e52f80ff9c8721548332cce460e47b3c7145602f41949875ab8fda72a88e773afa33cc91c18af4e6117caf259f6ec6825c3e5ce0ab4ab01e5398c872806d70a7854726dd6af17562d8e4e8bd82cc39217dda263e5b75276f57c993725ee4b85b38d7fdbe5c67a2e14e90d41c51e950f7b909a24c31e66ebe21a477723c6eccf7b31329caabcdced7f6bdb34a7d14ba8ea122f2ed2ef9e255a8be935ef64cb8d8019d9a4b17375936220a1fa3ba594f64a6f1ad317d91bc2e5f19ca27afc65bdef961929f6e4d920ce97d41dade76d1e371f89eadc0078e2eada19e72f9347b6d93463d5bf7e3765f914aa68a302b38583df618f27ff9bb3b590f9d72d422a5673674b7111d958044e16bcb5f5def3147f4e07a3769c19640fc98ca72741a358a367685b5b8443280b1ed13227aee16e90b04a5bfc1878c7aab55810f1de3178ee0093006e696a0336d1c894f0c081146e0cacd38175bc7b3242d2e7214bee5653bc0295578ba11068d8df8fe84378e8578d4ef60bb5ef73d7bce7b72d1a115200d659b24fe95e394d6db45cee780bc6309d9c73403babca025674d72dc7dd2a0d86fe48667d35d3b56c6f5a576603ada8e9aa991e4ebc2cf824a0772b44d9f3432e12987a8379a18b57895b56635f3403222e43111ead1310dd51372a66278aa0fd9b1c09826ce52d401bdfc924bad4d94649a0187ee028a7898ae720dd6184e9b5ae2c7414a8a67c78d358f19bd6aa1d19d8d6075a9afd8f789506e7319cee019041ff23a4b0d16b8f4fac3c39fcae9d67564a613bc65a523c3da723f4bdf7e9355f517de1432231ace3126d86a3d84aa2aca6198c9cd9c33cf5e7285011da34b0ff528cbd0224477f78d0e8ee1f84a6838a2824659ced8ecd914724c8d39adc21d27992bf6ee9ea65b7f8b26ec785d328185f9943ff47ca053c572988e94e04236828dfd419b7f22da1a41aa1605565de3ab03a7340621348d39724a833ed126aba1395f160eca84ffe46fb0b140ba36924490cb7aea6e4ccb627271efaf48bd3f60bb2d2a9d58c8303644ff00787e33579ee7cbd45bc9153e4672ce98fd0e2dd26f6962ed0259cc8c24ef57d8a881b019c5e6a218dbf6db5765160cd2595c4ebe08c722dab34c9d9c9f68c85172a8da333665aaf9516fa94da61ed2b9a2905a469d50aecb4f982c12a086fb2bc0e3a5ab37c50b706065c752df527d264997487d52f319c66f6d3c6aade1d3784ded29c0354b1baf65a0943b5372e93dd03c4530027d67020393609a9591c08ca946f33323c7d582de57b548325af9c42fe8ee272d9fb3578983a698dce27c72c489fd815d91181ab00dcd32075174897a3cc509f849afbabedc3094b90bd4d9f95d8dfd87f723d6e2e4161c864fe8a39894681d23685c77d93717e6318c6ace84c3cd1d553d7b1cf71d794de872cb6db8d8a2b1520e71f4d05ade558fa39ffda3690ec4a44094cb615765d3692524e6a352f5fd32e2a0723af5d1c0f59a7554f34aea3f6801511c2590ffba6872928a7bb80428b33ff85c08e001796f0bf8666fb39ef003d3efb2eb22c1c6b772220713b4d43ae753633cecaa1909394917096b1cb9a844c173417b48873ad835226504157f30fb36b8070ff02ce53dd8e04952521d0840cbcc8b5e1233eef41c5ca7bcd2a4534cc22c27b18bf8e8bdbbd86c0bda913c9f673d197902bb27d1253dbbd671289651f45bfde3b74e34f4df496353074d3c672a9ba4a984b045bd5c680b0763fef40938732e305a8d4753b80dc8be97abe3c9da74ef1e36ffbdc3726c74ae731e94f0ff2fa8a7bc5377e64962a6cbe4dad274e9a35aad34bc0599724398fe74935815934079e4e7ef1de5fbfa2b7130f0629647fa2f9bf7a1968e1d3d118ac63b5dbc79e39f32216df0e7d8803dd5cd563becdda5d3d573ad04ec04c1385d579c0de423f354e819a961dc9760e3365e050440b0cda50722162a496eb1c3b641b44961dd5b2919781113d86c55acb6e53f40ae58cbd2dc243c19b323073004dec933ae29c56afe63934fbfebafbe7d3f58a44fbe4832280566fa51720f7bbfd7ea91ff0cca882caee1a289deac54cad30fd0fdb5912beb3572f07a725175908b533591cff58d7b612d79d02332889745abb436043a1e864d8475a0161c871602d1c2fb73fc6c101fa2f989d87100c6a7343a56653e88ccfdb2244b72541807bc0058ae946998229b4a7eeb8e1ae313806a27afc01ac3023dc7606d72031dbc353a1031c770c74c20c37f25197571b046ff6085ea9942a5712006de27968d8d2060065125a3c9351b9a24b4fb262774bdead0825bbe664de3fb1784720143d3cc3f2400a11a069e3901598c1f1c1846ae5689dd09c22b594396c2726279724dec1a3b625c57da5bd15a400622603281c5308a6118cef45dcca502b20a2d9376099c2eb4692cbd8fd07474a9b0492ac379223762300541a4269ba963726d61d3cb1fde1d2a0de80cc2417601514eed1095d73312441a8664e1c072842a9be6898f8c223c599059a0ef754f4f7c570d9166c1114e82cc5f77ed6e528172bc3ccf48f6e5b40d91ec4612c34cb19f8a09ab0042de7068636dfd19b9624e72ba55257a2d004351cfa5c7c85b03f0efc0cedce6cf3843c8f646f29f50ad58725ef99b0f0fd8abe637f6ff7f6d63faa14ff23966c502eb5b120f66efe9f17872ba312f4caeab84a0472574aa97706982021f5de2991caee0daa805b1e6e97e58ea3687a4523e43a0cf9ae6c2144df7118fe3330b1c9d0818ba6b1d33b097a2722a86c6b0935aa9962ae9b8dbc21aeb18e9c570f7533490448a7e7988338b06387cdfa6a03989e9f627265fd97cc30745029dbe7fe6fa3cc6a8099c65a3fea272d21b465fde8e61d089d724afeaa9598d327d3211662fd8db90b084dde0ec30272c3cc7edfb76451ca823568a1be7a0905b60f8854e4b72b13aa400a5cdedea1294ff900e8fe23b25c9f4f77d82f23fb8629b203e6e08d0c44345258c68020d72c3d2849ac5cc2306cd30a2d185bb2f86d49c2a0c660599d0765ad817931ebd31aa347745d74a4993fd7f5cca6237afcd927c76a4bb515788e679236c729c5a4d939ac6e2abd98b743fcf7efbe390c242873807be0d9fc40ae5e01c829c945a72b9d62966520eb6bc8915fa265636a7c17a890084bbecf1091159de5fe2d86772b13678d2f58172eab23ef62ec79c9028621708fc9aebe2bc1cc9f32b4eb36a72b0d9e519d5098e44a37569b957a7b98b77c6662cd539d7516768a8ca583a4272e75b5a7620065037271e7308fb15602c97cbeee713010f8b1ae1f18ceb3f530be0f89c7ca39729894fc638a061f7f4a42c6f3abd0ed96b361e647a958363545258875142b35da69b8eac7679ecefe08ebe4e0a315721afa02a0960961288ad72404bbe160fedd049b34b02576ebff7cd5008bf5553f46ef4675c7b656866221b1fd86c5168d7c4fe13bc87b8c00ed1439ae5d5cc9f52d86ebd73c52209bf85348f32f312e9b233ad43e5151dac378e3e3e6a68fea699dd231457bbc948592c72899d045cfea5b76d93a17243188a7906595981880d6dc2912ea43ce1bf2abd13122a89182f02e9fc4479ae3866b1c1cd8c9dc1b6a903577dc6ba55d65c42ee727cd7045ff5417dfe429d52aaa3d213d3280ba27f5409c8ba44c293106a2a5472e01ae81b3b46bcb57504399c5a67b56a8795be4fc8b814db80ec37b622de8c728bc54d2fa17fb85fd7187187810bd2398aef8d3aeb4fe8db2110ec1dd2b52a724a3fe46d447e5b66ecdba73b1246300b74ac7f38cf1313c2ce28f0425aeb8d725934475dc080b3e3db2e5c5d5404d5500ab6bab8131f1c21f5d14e8df7e20072eafa090abdcd221ee0888a93419dedc3687734eef5fa8d374d99bf6218e5ce7220ed5e3a6bb2ee8e4311c39e6bfc52436a20d7eadeb6f18578507f0337275505c85e7bf3a41e440b4c85e9004e88e6c60908ebc329b00be4a201bfbec7732411a8d420a93cf6b3a3db4ed9459b7a2f0c05249fa9e0a01c95c8599bfb9a1f757296cdad875af91aedf1b170ad7ca5c76e4133372cd311de26103ec7a73811145304c55e820481fb6bbcfbef422696f9cfeae343dbe27c4086d4a9f6ab9de64a33f19fc313c0f957735456da112c04e7f8887167893992f77004d91fba5c288f62a4295e40508bd1da8a3b264d175da0a6d731e985283371ad6c6604c84617ac3ce8f42adc501775eb842fb94c7e53a097cb1f8888a0a8a402849b6a66b303c434f69b5cd9c7e89b10d0706cb123886d8652fea51b6b2269aaf3710ea58022c9724b5fb6fe2784cdcfc49a6dfdeebfa7b8a7a7ac6b346618b9114c18169201064a4d73b2fdc302721be0657978aec989a449b9bea375dd3b5f197bf27998f161396ab4add2091c624a09cc2a7dd6cf99203bf09dd96f742c47bca36f478ec0f272716ab3800bec90ed9797f17390d1bddf6cbbefefc8433f23ee43fd19bde29d72b9477f8b88a91a013b2f2caec6b9c276929af7a065e866c1429c107ff4e11d723e20fc0278a6b3d358de119531e28833a631bb69f1928b450b9136abc1448f720de1ff9a8860f55e93069e801c701b0e316c31c03cce67fcd0833ee5f1ac50724b8778d38c86fc8327dcac7358a80b16ec95b87ed000fa7ce14d634fde2a620cbd4135ef44ee65e7558c12dd55b0b97936989d2cf630337ae620404e6a503772c1a1e4d4453f47955f926439b12c57b151954a4931f4a53a718840e99966bc1489a6b9e5aee76ab7eab21c957608a2d6a5c2d2fd3ed3dd54c4c1f8c880d2507227362f3189e05ee869ae565e01190c4a57c49b69f101320f76c396d05827a14e6b5dfef74ff3c491c03148fe85d3891f466a92490c37afd05e13fc81044cd73b4d5ee506b4845e21990ae670ca32d80cbaae4bc093f40e6ee84099d39032da727e2a0bbe3ee4b9b09dc0d64968b4750f8cf509f99a34699411da229684b33a7281784748dac9944dd513cbd9994dcc07c1d39ffe2930ea074aa0399c21b4dc5ee541b47e4e972db9d8211aa2084ddbd44273cc1f2f42f1d22a94604ba8a2b07291a1618fda911ad5fdc90772fd39928737c484794e8d4f47eca03b228bddff35d723e74782cd9775175f380ed529d27e2a032308d1c775d25d4bf550cc001e1d68ec6ac47f2bd5e5f2acb5740397a963f36e0dd682ee3e4bf2756ed48297b6721a0b2f0e9cc79050ddcd81d9f5e377f6bb2db0dfefc4f79765947174051626223bfde996dfb90fba0843e4ba0001a2874ef28e925e071194fe8c8eee547a35726be4f58f24dee76b5d763634dcf8aa1c86cc6b7652fd749f78922a98a1a2ae7271fd03a35ffeb1a71f5b414f0abd208f416efd1a6cf0edf17456d09c97909d7255161ad548a21b38a8cd2deb51737c8714d8c7ed03e907159613a57014e9b8720de548fc5179d4f105b62353acb0b413bcaae7e13a87ea81904889617b30cf0c3b91b23b2564805aea0617bfce1b30d22a72916a0dd77ffd6248618f46997e729705fc676d36f7dd080040813bd74eea27c27a19e0854fcc0c9e439c51132e51648bba39e391e9818f2e465774d7011322b13ed5d9eca1ed73bd10033608a23071a54fd2a1076d82d45d363c997327af982d8f8d1b84bf15435b4483e4ec26729464578577c218fcb93b9337568aa9c8a18d0f4a953705fc25164794d37159724adefc531b849b07ce35f1d285e9f83e2ac4fa675e65127126c723e736313b729f80ee0093eda71ce01de99f4288ea5221795db3ccbab80efc2d0bd5991f524949d488239d158a3b3920cb57328e2e123c575d006ab04462fe8e342c68b40b7244d0078122e508552da07d7b92bfc65e144c82b4fd05f95d1dadca2e7ab0e529bddd7071504002928959af5a82820c03ac6793487c34bea4658cf155d6e950720ec3eeac5103a0de12b715db60aef72ba6374de2980fa319ffcc01f9739ae67204800482124128e7f7f582b5d5e93e30378b499f546594ca6aef41d0a35eca72539877723cf6f50f245eee60e224975895f8304c694606515b20905311185e003c2ffa50b406bf462b6088ea69003ef7f04f0b65abc4a9871e69b551d29d1271916b6f2d74bf6eaa8470ad5e4c748b219a1b5a20fb32ca3073d1a197737b1704e176033ededc7aab6932beea5d6344ac271ad90ac66f1ced2173ae543301537257f57815913dedf413b574020173dc7b59ed92dc505d9287a9e45a74794bde7290696bbe32d11e782744fd79be39ded0b8721f38b5c676871e79a21e2949fe72145c9814b812c532070044cef0bd7741d9868bba0a964042a4c86d7ecc29c71c45777738eec82f1ec2415f70b24cf996f5f15d460b46e556502501c0cc12cf3a828374759acb659b8e39937007622c42576a1a1cbc9ef1880cf25ce42bc33d7216f8dd38fb31d45ea2d9564425caefca108e3d946c33c78144191d414a4857492297a29806e35dc99511fcaaf8cd526b5d5e605e76484cfa7de7d62e85bfe9720f86fecc8f7e8f2e65ef3b56ea857526ce80b81f2e555f406bafc9dbcb816b7274a6bda122b783c01b95759c2e7c436613aca734034a80d7e58beee8b2620872e19673527b67824a1fbb1323f8993cdd280745841674dc1e4b043f35b8322b1b9a35a8fbcfbca66c05bb8275128a57c7b9418f32a34f0150a30dce83ecb6431920bc3f84122a435e87fe18f5a46755ca9ff265ac7963c03f00ef8465463d0272172385cdac1ac7aa9bb6a8a5ba7937f7c58613ef2506a4be0afe31c4878d1a40db9ae19c7a853edb6d20f5a992e9b4aaefcb06d87b6ef1193a928522531cb872582559e1ff93c2da656475ff58addcc1c0746daa8a601ab0b5682abffb0d3623f01b8ec55f7be0862ce437541e0526309b05b3519be18e798742d29be0120f425ca1dfa48a696d62ad0dce73319e8a3763c1525548e0f2390ae8ed41995b9472af6fca81a45f32a959276162e767f3346894cc24fddc9484a399932ff6aade00a1af03250aa0fd0e8dfc3c9d1b894b54169d2e4499834253d78978b8f7668f72324d9faa0194e8b81d2992fea76551c10942e30c96e66fceb7c5ea0cfc079b72f2164f351c5f674351f427aa457027294ad0a79f2cf983a053f3678ca5e1d049df4759f31f6ff6bc5952957932dceaf3285fba1a7b26f962f6fa767a95bf8a72099d013f37297412bb56df2da22883ea94b9bd4fadb674103d1152c2945a447257cbbaef03024e91fcc50a2f35f47605aab4bed0f1002104430ad22836577d720876d42059587097c4c1108c73da39b9961e0694c5079909cf64ac219ea9ce72d646e2108e91ebd3e5547d690e4702806c1549f9bfc73eb2a87698dff793b1728af2ec180fe2dfd5ef54bb7c6ee34144544ebe612d8012ddba072bd7fe324372b9d3581ce4c680511e049068edf6f22290ebda9f7392af0fc499f8b4a70d55727eceb49fa76912710f81198de3ceebe101a6ea69a96eed12f1d437a177167916433ac3742e5e3093ea0a6d18c1aa87695376a2ffcf84ba00093dd5608cc13a0fcfe69d5b26fa897f6399005df430da5df2ca8cc55de3e9367af1e0a2c103c9723282192fc0a346b16ed8ea926880d61cd0138e02e4a1f99508d49290be9dd82ef920d47f70c1a5d1812af997e1d2582447c876bffe51cc0187cc18e95ad5c2116ebec58f7279fbe50eea30d2b46fa3ee6cc1a531bd1c76036373e584efb0b172dcb278d701393803e4c2d8e5208d68d5c064e247ebcf622cad9be7b819400836600d2152e0002347ae348878f0b01c38b3a6e231eeeb4d5cb430f72db14b4372de30a3202e70bc5c8a92597d19636bdf85a738bdd9836702a94a7d8eb2c6491e81c4dc2b3c16a75d2593813edb1ded1d2e569024a1dcefaae2badeb61e05e6655adc744040d6d7bcad165877638b60d07b8cdaa5a00814b555f67d4f4e3bf82fef2313655b45315c8adc9200d6d6e564d55d4e032508e535f4209daec090c3723a51b890f881ac5a8191eef1ca113ec74f91fa9479d0c94f0b9bce068943f772ed3bd3f4730c16f01b02124bd2594cb58fe8f04026dea85908992015b6e39f4bd80fb3e388754ba4c5ff4aa0c78842bf164e88e9583a74ec062fa1e04ad8b939df89fcc73b165017487be93d46244570577fef70298153d7948251dd496325723a3e33b4ffdaf7f98e7b6474ec2f5808e146b440923258b1d4cbccf00040ca727e3f9d52ec4e36b861959cd5e9d43beeae6e5607e8e660bf2933bf22e22e2847c4622f6e4398a6dda905d9ae2830954df7d7b7d9eb3151eaf884f1f61e963e6f3f3631eadce3ca27b3e75b4345b2916b4c250315453766fda83b63cfb4cc6d0e1eee3b510e19e742a0554c31fcebd20c1f934a0aaf7b8df7fb84e07a52b0fd7254be2c081c9f4f5a92a890cbbf0daecff36a5c904a34d2b0962a20eeb60649724513a78c040114bd334d423d6f61fcf6935ddc466814492d3068f43d252453723f199c75ce1c0a20153d788093ce668b58b94e2cb2bfb037ed5ba2d769331672c5a0a7b39f5d8ea4e04b343beb34923b174beff4de9524f15df75309a3abc02ab3de51a03516e0633ef1bb5973dc4f8c995041b2a7c30af980b879ed47818e51863044d8424f0c1fec9d61802c01b57d3366a5f8595255444f26391895af630438d8e2d35e69bde6230376e8e86a37b168b3b211720ae940347686aad9545e7276be399d0f24c53a057a722517ab6a6a19b53466430e4594e2c396d58b0b7872afdc03d3deaff6764c909180ec458ca1bd2458b513dd4a28016acb2034bab472b146d228a7c74fdf8b97d5c4f3702311e08628a75e39adcd1b62f6371a4f2372393db415f54b02c7d30e074774858af89a512c98b7f5a758cb385f152300ca7275b6e03c851a169dfabaf68f21c4b6d67f1ec0cd305cee132b4e90165d5aec7280fcd8cc39aea34053b7c339fc38573a918bda0fc735860b5cecfcf006ebb3725f9817df89d790d130e6400eef9f918d577b27b280c1d7cbb0d63efb409fe872f6899a3bbe9f49ec79ba4f6c65cd5131a98429a050be96198debc9d1da6f0d4d549604d138c171a3294663cbce07e595ab210eb11755f0b5e2e26b0121c1c11398faea6a9a5e684d07b10f949356dc2a31a4c12ee3d47671eb521e1128c0522bd9f72f8b8678c1ef5ba5571746f7898a1a04d785275e6b5dde1dc2ae26c11a72a501d3441134b2c32c9229d427ed7c7be90650f1d87a870d296ec28ab6a01e7271ddf0507200e5b7aa75539f4124a6762f8a3be0e25f23dffe4fb81bdd3869104a59a088011026bec1f1b9fcfa9a986a7b4d1662bef499a49104fa765b2957724d91deaf188a0dca2c8ad3478005b1b1d9b0694c0f02b90a6f9506813165ad72df14dabafbb7df4173700068f49d6adfb5403f682bdce7071b78e3f8e9956b72c43ac72d50fcc587c1d338f10859c60fc9f032ac35d88dcea65439d91b88697246f4e4d6713fecf09d7e992c1b761c749550038f1bc457ff06f98e7f8c90a002e564d3b8ad30c0ea26b35149b821f3e9c6922250713d88995ca4450d10f071646feed1a5c507e179bdec6dcb55fb993b10cf16cb050e02b762dec742b559944c02a7baae78a9db236533d3479bb21779f5128eff862c9b36230222519512c92ecbdb95276e02ca79b7e55ba80577b1659997019983a013515b77a995f514db0115b849f1ae5658558f1c7e7dc68753d9907ab7743543970862b77121b71e52703ddc0d693c09a7bda34bfabac0be10ddba96dd367fbb331a888d556c6f4d6459eb4f923134da4338bc8c54342777140af3376ecf0cc191573b97a517d6047372f1ff4bade157930b92bd5db685df2ca52e312e517a75862bfda22fc331ea6f724648ad306dcfc9bbeb6197eefe5df929938bc830123609f3b49ed28252785172bcaf1c74dde7b4bed5a8629495e2374c1ee1de6d8146fd5f77804aa1422ed1330839aed096f5154d0f871533d97e5ba040050a2e039b6edd228e5c9bdee49a716e9169fa557480491eb495c74b73ab7f9b98e17af0aba5910d3179e85c91b572766679659065214a93209851a851ddf45fefd35affe1436af9b2fb39eff4004a14442f538144ee3c07aa3036c2065007c73bdf87ab81aa7e96836bf31f6bc1728486edab84b1c4bdf5a62bbfebcfddc58559d3f07900a095afd66f46405e7b72da4d91b8eb06e5d2479cf5eaae386bd52f33c120e0200bd809610e33768a33723e23c271d71afe2d5f8e54cb546db71e7b8e9460b1a3f91349c7eb568a844b2a5a54b464232bc6321822bc14bdd25df798d90057c6137c480f03ffe5d1b0a772c85169665842b5f85428d67d3554041fdb6a492085e8ebbbb5c83d748e30f972f1c20e27eebe1b0f6f59558b232da8ff2eb1a494d2629a33732effd35534db72b3e0d6cd0e8a58fbae57404e289e7cd32ef24744560d4efe77b621db2c38c472fc407119dab79e9c3a95189233099e43daa119805738c918ae2cf3f8ec919172bcad1b3b0c6646c8786e67338d06dbc2aa8fba30c76d01ef71f55a147ce17072b988f477d380e5316a4afd32c8df30038a05eb68055742cd51c89aa03c089b7247f2b0763b55b09041795b08f2468213ae09dab473b7836f35a7054a8387e972c20fe036b34ca363d9dfedd07c3ed8a3b4512521f4855336282b4d84ba9ec80825b2b8f8e17f57be065cf6f9a49f96137250469c0ec3cdcff238c37803f20d2e1b2ec266d4bac70be09a25dc812c2054805b7b24dcf305894ae9ffae0884d4681889d1acfbef1fcb7b85587e72d3ffcb7ecc04b8e485818886b90d722d550172f6e78e2cf163009efed9f253f6f7db209757eaa914fdc590e43109aa15fb4b72cbbeaf79ebf4b0d2ab260213c19eb042df684d83eb01b124c06c3299db4f2e722892b83961accbc45ca203cfd0f0be059471eb6f7e9779d3862eab3ffaf57a72edc1da348c69a5a60f72e39fb6ae057b25329ac09dfff8a719296f3decc0615d8d2e593e60c920fca6aa4435891d0a7a12f5ef3cfc20f340e7c45eae3c16e772649ef925b37f75dfdfd7a38fe4bf013f7c0fa4b24c8e700a048226d9c29c5472a4601cbb9c6362fea691a7a85396042d54e52e1d90a34b57b38ada7ef78bc8727080aa3bcc067699cf9408695d43c81f0d17a91a28c12da025e21712ae988963dd6a44b61ad274f410da6fe163d726dbf0e434816bef7387f1b44f2aeefd7d729803717ceb5aad77850418f3aa6376019081cd50297ad68be22f90ffb35f5c72c3f1db8fca532c45e7b3be2ccd0f7aec140546e4d5037b1eb7375a4840fb4772f3dd68aaba8ef6001909b7a6cc6aad41d7b9c67ba0894e161c6151cdd6150572d1dbece58a0cfa19ce629a38a0941c79f3762f21839f260b434524c77b99ef720dc23445807a42966b0278609453e529b17d004381eb15ef1c561de1a3726a72e3686c41466ddcbe4a2be5b06367fad028a1635805077d375a8fcff2599c5d725ac7061fb952a80efa705c6b10893376492ebb927880bd0e2bfd1f1f311e0a72641c5c87a1788c1a65ce564ce5c62a96e7496d1881c3f58f61b4efb787902d7212bcc3094ac2cb7fa0043af03f83ea2351ecbf960826179420513165d32d485ed04560a1b9a618a395dec18318b9be10cef6d8b06878bf259feeeeec38721872b72ce11027071297312ad67553e685f09d96f0cdc2b774e3179e0e15b7b70372fde28467929cd7a26eba9f50ab55efa14cb0284983b39537643f5030f7a7ab4d3f0e65fc728b46dbe6548aa892d5bc9348b4b0fab03a894224bac61d12c64272968dfde9a2f2d95efc24dc27f1079bebed704581e52bfac066c182cdacda907274e0358538db9be059c2d8896a7ad68bafeca1cf1335d0c4910f69dd83c13c7203ee62d25d71fb73cabfa0a866c8fe7db8437b5ba4231e97f5a2e00c8b309012eadb864fd5f7fdc5f8747cdff2bb969665655705e7d86f28af1a6a2ca2de7272cbdc9894e10fe1991d80cf5dd44262b5b1b6a3a26f072f9c0149f831aa13046e6065684516ba05dda6e6cef9f005de4543624053416a6684ec96e043340c466c40d875c369f705d0b2ee973a215d595a3df250577d0372bfff5803bd5bba0d72ac81ef6994fa6942a3de19cb2a2cca3b420864148049f5a2d7f194e6e7896d6f83eb039089a783ce19b6a6104e27a301035cd350da64d32aaf3dacb00f064d72050c0cdeea9207891ed579a7efb938710a463b9399ad39a1cc15accafef00c726045bc71cdb0f5adf1ed8db7da560654c4c5938ce20bc3b0ff2c23d6f39d3512de1e5ca429a551174cb21c9d1bef4564dec7f4d14d6f8186edc955ea1767187266e9a0434522fc5c065eb6fe3e64c5fbca2e3afcac74c36a99c7fa25f14497721232e797e7009fc463d3d742728b702df230c6e48bae6bc65cc8aa0149d2bd729f7ddd40962bf904dc9682b4d4643e150a0603512a3e022cf5621020e6183c72a19a531a8d86c3be6910becd605627080b65e737f6f9609aa0f87f58d3b79701c06361b26629546b4c9d3d6e3a6ec1f27c3dd90571cc026d2fb082f39fb28407727e715e033bf542ee494da517bd7f376cd3bdd26a6b8e27336345771251ad72a54dfdfb93356573716fcf451f768a97261f9ac97a0b1a36b8daa33942fc5e3df9b5ee272efd8bb26b349c9c6d458444939abbfa436d90206fc0894c56c01872027255a2663b3a9b3c60b225edae2ff81569854d7d8a41b2a71150e8095031725c08d8e70e7d8f66f8a3b3e88219e6ed90374f20a96237d4a4c10b75d233a053d4ef5521307ec792599d0536e50a59f22fb0128fb68c17a337b5313615e4b06fadaeaad1625eaa047b16c916578e4ac52ea9076555e338bb69f25ca33379fe72c1dfc7739e481b81e6cb688447d604d3416bb012692178c01105c3d3fdb3723b203fa9f19b13f119808d56c204851a580f2b598a3e56c855f8594a8722ea9227ef4f50b1d28bd120685338876fa68e8efd5934e06038f96cf46aa72cec4262723eb5abc1415a7337b3e7d3c375386bff2e8abfa447449b2dc2f5aeb88813547204513dbe42a571ad6a84b28feff5e06274133e0856025b8f5372529e38f7d3084ea364d6d3e1a0f125f3e31656792709332e3322c6cea5e4e7b79c4d65b4e872650581ab0c74309708b9736e79fe5aab306ece8346b283480be357480c8dc751d7df6c96977d369e92182bbf31cb634d4e866a176031691a9199831f8176fe726bed2e3e432d48f056041012a79d507d8054e74d56d05067f22119ef1312577207ce22454a650dcbd6be1f4d25f6928e8ea29fe4eba9586c31a47f0ffa0a3b72f7ac3cac932038946c18de84404f867348be136ef4d3bc569b4d9eeeb2d88572180ce156f242c7ca7329148881fad1650d29134208168d9a76c206dd3f9f3872d7e142cf21e8886adeeb6412aa3013fd4231d6ffd0b04eee927b17f6c93a0d7269e052154c34adc98b52fb620482ed09454bff0bf8e2b42429d4b9b7f28b032199ebbfc91bbde3a1ecf740526b513ffaaa247e4e3aaaeedf9bae37159b48e072c4ed388ffe968987f665bdb6e6c59724a29c9beb7898250815843191513b212af3885520e7f5ed85ebe7066462ac729d220f1b013f7215bc1bec3406c8d46c726ed39ddef983a4672b3ac9ff1375fae1985314a0f2d1cdc2c0229801a772b8724bfb9c6ae62f2e09d96dcabcb8665d536242124d1be6c57e085aadc516b6f236ad8ddc4b60b22e3b21209d7633da696986bc92b9ff5af7f56782df494fe0d83ec25ff958cef729af7038b112f4be1329e72e5fe7518f7fcbc7e92ce207105c3361ba661348618c17736b50935d99e70ff7c615ec6e63f0a19532728b178cc5720a96e3a9b60409215211c930684fc80eaa09d894b5ad2f77ff7410fbdcd7c40534309d0faf9eceb7cccfcd1b049358cbed88609f052803fe5cf813b571a5320ef29b029520b13945698be4f0778a4d0a8e06c27a1ab45447c8407860a14a6e72c777270967df132b93fad949d3f75bc3e1215c84b790fea29e13eaf7f1342d722f22bf68666b5a5a9b9cc3232409badff5d85dce9ff6f2f6f60e04dd17b4b4727ec497cd17766f44d679ca2a86ce3afa932559f45fd22056a0ebcdfb82251b5150ab8fb9f82af428299e5e41bd40160181e3553f6de6d6a50336874d682dd4724c99d5e4a026b6474e393b41c89aa2d6a5b03f7cb76eb98aac0a9a73f925fa558f62a08270887be68d7a874723ef4611ada44803e261c7c63acdadd4d7f647728a9270231cf5dcf925424eed80f1a8f3b32437243d3065b8bcf74b3e13df21722438b1dbc731510d6498219603914aa983e3bb0cf371addf076450c72d162e2075b7c12998035e5e2cd515f4fdffbd83aa8fad872feefd71ffffeb32891a893b5ba4b7df26dfb7e11b341871fe074d1f4923fef644aa9c3687b9ccaed5fc4072b652ea94ca32196f5ad0b25986e131ab812da1cec5480b4b1607b3283624577202deb6d59c6a11c1e34a51540cc430fb59d6f24a7d263d1cf8130a41c0e04672e53e4aad97a939363359e177abda340a05f20f3d78f79cb3517763ead51b1a72e42905934c6477693ac9fcd5a2d1aa2a5eafd1337687b76c405459a684331904d513283963aaa8f551bc3a0bf6e8c60fe7d3ced7f7f9bc2b24494f70d47e0f72c21eb3bd370fb8705a18867a4d8b92517cc3f5ad5285867be8204e6bd9b1fd7256690869e7abda39af73fcb452c63e7d9601187b7e7e9c50f70a3346b6e1e972b1100545317602ad25e2212a70dd5d59d549ae0d21457930dd279ffada7f866ab2815fd02cfafbb342591814107f0f3420fdae6ac3c24eeece9e1e623d694a72f2cbcbde71e2ff80ceb0e2aaac4029edb3a399e07dff612a6ff59d420c16b621757d01589b885215594dfb8a130561edb0f172db27808de28c808e5db4046c1ce6ba1622e15523051c4d76419dcf824ab231a4fccf4387df50376191600e607229feb2d61967e7304c242edf5c4abc79bf8b29e9fdb5b55d9d08d56ee694cb320ea02373fbe34b110a941644a98f3c840b5901161ff310e15a2a0714d893f4729a7bd40a4b1c732dede8f477ae6c2e045355c03f7b200d69346554963061c97228b9f6fc547a52dff60fb76ab3991830c4bf471063c1c3332c422edc323ad072d9023261454966a79526afcc06b6aa4da4afc60cfc0e167b83c54cce649504243900cae76567ce8e530ca05ed8a79b10eca2864b474d34cff859cf8bd8d9e4724ac31cbc8c55df9cbb97c61456e0bb8aef4802d78a1b79422fe801f150ede072ad7ad69ed10247f931cc455fcb1d7ce6af7eadb06474901f41d475ddd4022d1e19bda473554cbc999e341f929a9795d64d999d8e8c75174d8c5b93c1197215723ab59d9111d41eb1b8d436204c75cb68e523a1a3a387e8dad00d09f1391f1f72b357a47799da9058003ac0f951363cc378d31a7a09def18453397c5006e57472276667517a5b84e00c4942d512603de0b5b29ce8f7254fc815e27aabd87a8672367066ca1be12659e69d8ed6306e4adce879f1370c52ffce47a734b5935fd008ae2fb931bcff8d9f37896293b07106482df1e7da7e6d342ff3e40498960c9b143f46337ad3de780b62ef10f42bd71d111dccd2e11e7b30c1db713c69635a5f222aa732bc3cd09266938b1e87d7f157587861710e94463f8921863b6e3f11c23752b1592cc263a583eeb2285cb515c0306e79044ec0946247734c8d4810fdd53d2824e55f36f3366aa48d6e54cdd72ac1b920588b3782d579742ba789c2b77919f25092b9225b0fe75635570a1764a5cb8d81a7b4d7a8bf2d739c8ff41a135e727abcc657467c47bd371927480da41c49bc3fe16cd5e0b4bf41f8793e963082721f50913b605574a1a7958772bf5c9ecadab5ee98a670488aa607d39e8ead0f72e5de4f0d85c2f389bf552b67570ca4bf74ab3ab161fec6bd41d65f29c5c040468f34caed8ed1dae54d7f132671178329784668d0e3cdbd523047d3d225391f725c10a5d2ebd4d5e8976166503acc43746502a31709f20ffec3d62eb0d0d095725bd00f8d2aea4c2161d6fdb15a2ed263b876b66ebb88c5f6de0de51fb755613fd9cb0abf7247c8bf9fa5c7ededf7f0041c69f262a1054ff575a852979155dc728fb2fafd2a7913918b8bd96dcac37af1f2c89e8602bf20491b8c8a99ebd3717249937813303900325361a415798b96f3bf7cb43f784851c0f498feaf44131572b8dcf321440f8c7b040df7295a0710b2723cea0162507c8bda1c610d91c29f72600ca25b9d3b8b6da472c3a9f5ebbe230207f71e629f4ac03f4460eeb782696e432fe434c952d7d01dfd8f2a6a70c6ded59e47346c77efa13b33c95c9e3a574a92eaaa7b947858c9f00b5f1163ceb0c48753aec9f19ad17313987c72e37031725ed60920b246227b564e1b2019d10212e6a0b15e73f93a5b71016e4c121136522e7a4d97777582fe1e2e2bef0b7752f017f5a54646b7177bc36808c1c42fa541ee5669f8706c482e0420be59019d0e73f007473d805316db6c1d4c2f35d332729b2e57e505027d6bd578f7c2283af5d8e70f8130a8f116c5d24813663e055964b84f0c13efc7430f9382f1fa4edd88098f5ecd79673da5bad4432b5a734d8c7211736c92868766faf092171df3f7d4fd722cc7964fbe8cb99e702bd7a81b6e44849d229be9cfeb179c0d8e18f0d8d58c7bc4be9f49e8158c2ae730c4b0cc126d3e80fd1f14a74eefb087aacd76411dcd7f383aacfc74ac2cf008334c53cb7249f14887f191b6f79863d3bc3acb1cd23acbfa2ec1a5e979d7188f9d001cff4268a16cdb7674a2cc29614f96cc98ec90c31d064949933a960e0d872b4e37487331f22ad4e5b1ddbbb00c0d7d3139551292b87dd8e15c4b3bf2b01c1caa2c0c97659f81e7c99fb3f59adfbdfc4b937d1f132ed8b09a1f89001dd4043dac751cce72f20821ae881a06e255c654f76916bb7d9b6cbefdc6b92ca124495fad5044e2727a9ec294dac5d93f48ce9d656a58942de37fe8a3a83a98e339282ad1bc5c880c9a0c82f33c20257c3a1154230505ead663c3cda60f6df5db9bfeb861fbc6e4723da5e78493e9f30736fdc76f3c78c7aa2c4cdfa3ce92c9070665d4837855155b2c72f579e4fbff9150b910bb8745cb24047ce738d47211e9c7c72db9ab8e5672bb5b1e18ba50b6edcdd7cdd5b134b8bd2d48457767a7deb696d2d25b033f3e5f7d479d266332ca2e5371640aad44b3079d29a5f9b79257572688bf01c11c14166c738dfeaf6bbef0afec6639b6b3255b763de5663035cf3f92ff379fcadbc0726b8a2899dd0f770adf2965830a42e63f9f08a52ff61125bce97b5c1c83a5907234af32e33b11b8ab75081c74a68119fa33d7a8c3867d0f504ab98aa1362a547281f05fdb6ff17f6ea1615832b30a07169eba6a27fdf6b07e544e616d55dd1d72a55261e27c5fc27f48078f61f8531c2719e78f7170b555be919a91dc11dac770ac640f3e209f3887f3cf40bef20ad525bc9d3cba8c4fbe58ed245e94dd619272bf899f89cee89f0b0e703a24fc1ea15acaae874df3a3cc52c23a0fde73f0de72b33687e3bfe352cacf6d88c778f0d585ac0aaa4b00a43629b7848d6391e83372e9325bff36d7c0c64619db21d2048a6dab7cc59b3b8207bafdea36da3f1cc472f6f0a8fb6c0218eea4656eb6e7ccd67c9c1456662996e7beab523e1e2dcaa172a787d98865cc5b21569a64c229958deb378030483e2acd948451b13c1d435c07aedd5e11f2957703b078936f0b909266555afc3ef7ce3b21449b41e629c13572224544a38801303a3d87811cc51bb9ca47fe514d5ef86314aac0b709f70b5d3b2c94006686f359e325ef8e441a114146dd987cb9bad25e9577583258b8f2d772e92f5a583da4bedd54eb60bbfcb2cd9f3ca13635e418252e37c2b7d302371d58247dbd7dc80a83fca1d47b5a1f8c37a4b4691e6ce9c4c0ff26bcfb16d8e6027209d419c41628a133f835d5fd9698314ebcbf03fc2e2416d4ac80efa647086972118542234a7dbc3cfc8cf8936e91f95e22878e1015133dc48c2b934f498ef10e22bbb4c1df811bf82660e1eba20f56d0de2aad5f8f777a1a56f1ca98e38d000cf3dd5c8a43a74c2803f6d93f1835bad1c9b2629a196e2ec463ca63138c1ed23258a7e8946055e6c7ede138a715777b421a9147023dafef4ca61a47584a9e3f72a0ebbca5a5d2d2562ac2744809420624e9bdc0cd364b9e1ff31796ff75b9d672831db0433ff1f130404bac953c5277f4ddc286bb38364149b4c4ed7abd65137284fe7a149db703d6354176eb2c7e1852c917a79eb5e38a576812164603838372234b52a8d31a86eb4004da91de2d18a1edd8c2c4d13e1fbba7789f1e24de2b4de45039c16ac3ba94f2b15b04d1cfdd475f9cd49c12fd3baf1a573069b922f572610fb1e3ba82b8ca4d0c2d69c803c100814b2b5bed4ed022941b64c79b209f2e12ff308896306155d32dacf2a5d1259f74a22edc35722e6c5e7fa1a78faa1872276c77bdb1f8621d59005784f7d9c498306094107b592d94bdcd3d6cca28d9723fa485e6a02a95e8e9047ce8ef9cd58ac3d8d71f87621a19bcbdf4ef96459007188b16f90456e962b77f631beec075f8e8f568c2c5daf69138a97c7639a5897277a01784960a1e12854e9a7a25f1594279fe6b11a9b5457541176a502dba6772820e2ccdaee28d2cc7c44ca87a287fb06b4e7e518c8140d4e2ef7034f2b9ac72d8f7aea06407a22c64070617658437c0716535ed301344bffb48c6c1a237385b3c98ea6717a71bb1d798c0427d68a9a39167b661a2bf29d981189ac9ee7e9c2741a2f4ff2310e3d4534aea0d898de690cc094afcd2df06f8388f4f55319f4072010de87b33152f79307bb418ec32f860cac47fdb12911c10079753be2b20f7721a8810c5a9627ffeb54a1922aceeb9be584e5832ab2a8b247ef0966607a5bc726a815d85f22b58dd14fb27997c05235f6e0b1d5dac607d7d1ffdd363678d5f72f093b3c19320a20d0ffb4b736964f029b8fafe26433f1ccb4eee09b7cd6bf82b8b9b66c88306779810f116d44f87a397d6a89d3ea1122209bd112a80e2521e40beaeb2b5f86a23ef8c0052b1c0cb1db454a28904be4031e61d5a00fbc1bb97724cec7e10f0436a7dfaa12d3b333b0c4c0aed1a9021ca4ac3b1d787ff4fabbe72460375cfd277a511192df4e5f10768b293a5658dc3bc6bcdef550dd5d703897211eb64d6157bc41ceb70d599c4428e8648097fa2b5b6a32bbe48ec123d825b722944187a6194816c0b17b18db95983f10f30b16424d0d438ac979aa2c4c0f972b58dba0163cc12d67c8cd068cecbf8d71a03e65e75f25c14674d6f1d91748b1642457458a3ac25ada2005fa9ded9d52cc67c123f27b12cea207443c0e339d672824b33a6c3cb838bf9bc599b75eacb632df7182d89ae5fd36149b4e25b827072cffc620b752b61e5bb764262bbaa1917d54a4009ed3c4f548056261b8786ae7297a7e567527e4ce4b6420684f3ca6598623a1720fdc1712502681560feb069538cbab4b7ea64cd257cd0b5c0d1f2e9689254ebf5e7c045087cf05a845e873072c91689ef1bfe1609b43f9020c29dbf447392e26d5457aae6041e6e9efb5e3952b1043575fbb2107cfa07ea5269e5df7d6189a7763c629a9e9eaf2908d07c7d7272d1e48d3045d4166be1bd628b2e26d8b928e0e2fb513dec729c61826ed8f2723db4213c802df6c8125054f3775e72a391eeadf805969465cf5dff699ece84726303abc79526d0cc8cc1cdc02bc1305492b227ba17948de59f626c75a903ab72e025bd25a3452363649a1d2011556a625bb67087379bd627338f3bd83b9a805cdaf7c3b1c7025edfa94b13e01971ec509f34e6fdfde117e218d1609abc363e724841b715c704987c5021928bc26830a81f4f5e70893834b2524da69ae022901c416133dca39e715f6c259cc2c1fa47eeccffa2cb4b236de080deb38a34867953b18a077042f44307c166ea0c5a77b5af781a6cb3a421a406aecf0af67f898472ba4db2b4eba08b54252729bdb82c9f4f7c9879128be7cbbad725a98348fbd27269c5008d8d7b9c1e6b377064c4e6101a585a31e8d22f31592ee8f13b5ce84372565beae57e9a9b988c5b11bc38e8165fe76fe5e96b6b6a80b10a5bd8339431728edd36688bd2add489d161eb23c2db4a02d1db5746fe73dc4c434074c2d94b7214d2807a3e9df68e254454c333ff54833ad6ed9885f7c7a9448973bd3a843f7246ffc6a44f042397662b8de67e6e1316596e6741a28d4513df242f7a4287364980c083195d5eddd53d2b4576591c3307db39ba896275a3cc0e664bafe099de3e2511b01af2a3f3bb1d99aa32529a86c29de174fc7a7b6ec4a5bde00044b3df3d351afba83a4e587dbf5615f41cdf20dd0484c6ffac04a41a48f69273ec9da372b25ac8a8b865c768b6dadd067ddddcd006337572e285f9f23f6396f77e3e1c1efdf074589146a0073493ba22b3874d99413313e25669df51b8c83f04f516f072037e368b7618ac60cd2edc3841b3266d0385571ee6f6d34b1f15dd9ad9c83f72cc5ef4995c0a7ac5e4a476c96f3f77c45a76a5ae35d4698e3d4ef28d3ec59b72d0df6052143198522000160be03eed64fa35ff55631636bdb1815a9f1c6069723ef1bcf065c5bad7349341bfabef6b80c021ad52d2523422ccfbfed2417a4272ac993fec802bf1d8c22a380565c9e3f729db5da7bf85567ba08135f37dd8f36439cdc62b539d5d47a668cb112a0a5038ac53793f781b15fce4ebf0a42d86ca2b34824dc31993b666e6ed6148ad0c2d8467a20cdd0119845e4ca8b6f455b3ac6b70be274abfbe7c0c72b38e682ccc9146d480cfab7be6471acb0d211f675e197249671dd1840234327b8b6f1cbdafb9b03683e3698ead3ccb52463fb34f0f4c72f69132f87433ddaa061d09cbc142ca74b83486e59c9dbf093face875133a0728c431506454b12ed1e1bc5be5934318a8af273bfaebb4d071a9884ff6bab38818c077d337e59ac19f3f0d1b8213510af8b57949987e329772cacdb3e718890872aa4cf294af12dfa6c222db6a7262d874362e9ef064043a9430800e0e6398177231c862faaba0e93f9de0898bced5af9fdebbd6bdc5485083e29060046ddd1472ea039dc5e03d144d9d9feac60d56be4f55ae3981719df617bdcaa7fb6bd5f072edf0e5a8b4b4ebdbfb751faf8480d6a49c2fdf01e1326cd761e3042d44c21c72ddb62d6405c55d5f65dac66ead36b2870b1a8bde5ee44db913a440d16304364ac27b196b49d0fce7a011f030a235b4997fd21d2f3d3cc376915513d6b3c88b51c9c86bc3ccf7de2524dc6d0ec82d08aa1122fe879bd5fa83f27b2f4806ae0672b7ada05595d88354a4d0a1e95fcf3977c65365b008cc5fcffd8d9a9d0ef89a72247b95cf0abd2db567758cebce9ffff34c10de929a0b8fe9eb946a538454652be63a7f28dc85dc6fb76ffc14b4722f7bfc943d4a70d83a729b5bd7cd0a79da11d933cf54dded8f1ecd96b84d58872a74d1a5027b7df961e2aed2f29c13de47720c1bb375abadcc86680a76bd5e439a4c3452025c5b6f3e62b8b3c5172523da72d84443afbbc163ab5c453f7350e2abdd844af1f88dacc4aeb9bc8479a130587227afd30ef5e3e263cf9e3ca31a76683da36dd8fe38a78df2af1113cd6f902572c5b4a634c2a2d1ec85b4787823d811450070d94ef6cee67468938a2af39e442b30afbfde8ac83d16a0d34bd87b1e452fc84cff50739d0f00c255a3f40c8a9f0dc707a2775229e5bb5ff0e2b72ee34a077cce352b4b55f01d88628bff6b2c7f1b9618732a06118e1d9c08f50718b44d3df124b973cb756759ef3dbd46f2d12772026842644421d8b92931444a4969491c99cf37b53e64ec22c72df00f25d24f72988f80bb5d695d9c5e8c426bb70ecbeee4463dd79892e40a76cdeb8c60b89272e0c66b9b5f810a486ee3983a24d957a4ade2709ceebf7678f8407a072eb18f726e1d175f31d69ecbbfa3afcbca353f111527b693799971a2e8b4b17e5a66ad22c04f281a8566f65725b1a5e5c9cda603c467260201cf3eac0e1c8c01c84df272dcd254838d11855631be85af1f9b660a845e41b0a1e72f0f6e6de7ee6ec42f6d02b072ab625921c697be5e78346341fa1db61f5d6d187a91579c0685c47cfd72bdd597c60dae14ca9fd59503df3a7e593c6468b9b8e9a0f9f4c4d9688e134a724490a907250287d65257ad6cf16df86fe5a895e3adeaf2ed14e7d4a68d89766765e182d5cdf0b2809b540cb522fbc66b7124a2131146c0bfeb7f624ceae90a726dc5895d2874664f8be92b7cde9e8b0da2f54876ae62106f506db9a0755c1a726dd0744576e93cbbc3fcf569ae3548bd3b4b8c02b2078f3ddf162032d227856d7bcb031f08b5db73295967333381533e38b34e064811796262db3f68d68a937283a8d7fc87b75db122614689e6dad9ef55ec0ef43ef147a0f1f8dcb39bdaab6e8486042de82d3c2d64041a888057a5b2079c4b0ba4d1e3f39a885db0f252927226615130bab6d35afd3d97d6ef21708e4c8a5124b6a576906161b5e002f14772edba94bbcf270b23825b782baa84547b91d63a6aa130310c33f052c0bbde567284b6dadf2bcc5fdaf3f98be39a69cb077b05a15f982d82c02186f18d9e88c92ce2fbbfe74992b0b79a7c918744b482249257d145eeefeefe1ecd2b1ef76c0533ca1fe7960aae11fe60c241b3100a5b25be81c71a5a8d0f1c26b9d902860a4f722fc406cf66d45102d174deab299580e1b890ad81a021e227ad82ae309f583172a795f0ed9ccd630f551451dc4547bd5296be9a4036a004fec2b65260fea9015eb4d9b1494c8c44ac8e21cf100d2c09a15528404a62e49b854fbdda9b4e6c171821fd15e9a3df5c2e307dece7e41afa3b5627f217c288d263c62f33ab13e34272f8e24c47bf5002f2db24d952c4341b9acfacdb78140c151b672d78e0c32c39724b43af1f00b5524779a062288da8aeae4dcdd851ff369c96cbcefadea35e2f70f7724d7769127576c65196b83889a500b424388276e6f3fe849fe500403ddf60b11c283b371b59d2857284f000e6197c0bb21bc3fad52dafcacb3fde376cec72ed41ecbfdc7173140c3f3da1c078366ab843c742b54b94069adbd38b23375c72e0f85f08ee15b9fe1772bdc90ebbe8f7e99769167584d5b21f8e321513528c7253b9206c53436b7967cd49fbf7d67ec39c7606740cfde5931eea9e4d77259672595df86262e9998eba4f460bc1af7f196b9495da5208f1daebd58c235f76a94d5d06a2be239551d85d9503678028ebfd690f01f2f0dd8dbca695f25bfe12d272488d9238b4907ea6085cc92cabfa4de6417d30beeef3088d4bfd746c2b8f2e40f2a1704f7309be298bc0633e6483480efc502b89770911cfe15f132a9118686b17f802c620e3251cf919c9e41f53ea392e65649cd8d9921d9f9729f997d31972eaf5c273614de31da959e85b0c3312184f8b66cd71dc6acff9302c50cad24e725ff56f0b3f27456fb7f79f65474d52ab667a9fee1dd3393dfff8a5a4d635c5722e7758bceeb52846297e84213a3e53bc859331297cebad110fb788fe4b6ef1297400c6afddba4eb594f92d690580c9b5d0c554f44525427c769f3bdf2753aa724a564cedbc96edeaad92c746264f3c50ffe8fff7f62e921cbdb5f4e591d85272a7fe5e5c28beddb24dbeb5c111c65644e8e8762ca219d28b1946dfc77c9669558964b81acbafcf1b3d44bc11fc848c973b77363e992cd5628307b9b3630355724e30d5160360b79346a35eed3943972fb88290b9a5e7cf2a44d428f13040b6661eb9bcd00cb3b6bc26d3cc80f32e48ec2821f3244f7f25fa5ffabdae7a1d667256ade9e937b46bbe329640b0731142fe9d1e2f68281637f0aefdb546f2ea79435a049c8e00a2b158f6268626dacac538d57a51d4449359a54bddd70fc378b8726c83ae2540f800740191c5b0c7899b3aec874f5421a6b6924dce9ed816d04172239a1080dccad94d3688ffc79ad8b20d9aa782e02dbfd1f4f805b8f07c20c47217878c4bb52136537ebc407218f7b024bfc5514c1bd0c5aa3aa522f1b53bc4063ca99fe51bde76a92b7435e11e8867b0f75f3cc50dd3c62c00987f94e31cde5d077fdc2be513319296130a601aee434d1a5c84adb87e88c7fe942ae976f8d47270858c9c36f6a45e138e22210691d39a2ab6b272fcd9e277f612202f1eb4e37258f8368cdb34bbf808b116be076c6c0435e232947e52d437d5c077b2b799522c8a0b81b980ae3fd13d58607906d53369c67a31c4d8dcda20cdeed9dfa2884472680c0c2cd71c513198b3cbbec4da340f2dbefc50b48794ca8271cf3272aae872c4f937be0c752dd6a013a1dc8eb81e1a0fd87a6cb1d8842eec9de6e268b6de61fe0273aa5c676471a756accc299a117edec497bd85094bb5566336a63f9d24727d353ae49477eab58ddc1353e4efc801faa0511f71388c06b8b5e36a758d79185a3dcee3e3429865c68737b847b95222b98dc6f3344ebee163f9a86c34fff572a3f1ebfdc77d503e1796e4a233af503ce485ffde1b4096c4458c3052e58fef72ca9fb45e5b893f3cb2e06ec07db2e5f8c8acc8fcbc56f6b4eab0414d04024572702c07203e91410a8f2bbd475ad2d8adb28b829755bc8c21bf1781a98b5ae253de4829ecd25a67c4682d220c20bed35074ed7d094838b6d0e6ba616b5792e8726ebf91ff9ea05c368897a0dbb58bd0dd9c86cdbdbdafda86b465429414fe6f5e4d0691c69168750e503f303f63240795fe3b2a85f375913be3ed46f3e413e972c063a4f3af1c450fe156ea3a07c346dfd6e08add7ec7c7682dbb39d2a67a794db511f3dae1b241a934b1d8b4955b9658093cafa6dd82e4ef0fb913b825f4c11b1d87f3e7bae22c260c8abad28bfdb1dbd81cf601fdc57fed78b054af59f5a5727d58a5701dde3686d3158326b61d70fe8b2177f2cdecfe9e77a8d74317726048d9b6155d426379fc2143632cea9e54c4b22091ec409a9893b9bea8d792ef8472286d8412256d54fd6ce5b70b50e15516c17a0ca862200b94f42681664178277224418e4e2c28b4889ededc3d8c156fe07afc22f9d6d69f881679274ec464dc720eb6330703e44fe04a6138d71be3ccee60ff0f8cf78fd0c61944230a7c4178725cf53fc03626ce4be8e3cda2653f8f979acb9862c4f544e97a14db5f39e64105052e40fafa62a4b0c4891ef0e0fa1f04a7eed02a63a4fc31270fb8bacb07d2112f251adbc974f72ec49e1c3029528d9197ff891cef2af81a51dbd152d669b972c49ef754d2263efc18997bf652ffbca2e48983ee7b2d6a608bcd1bbfa720d5231eeaf254adb7f9d629294351ae3d348a95fc3488517647f66289c5e20b9c145ae6fd1dbe8870b1b1d31d239a1a8e7637983302484b4a3c1d3ba328ae2ed2a13ac0a841860a79c3d23da4254e754014e6e44da2d37581fbc589f55fae95553672f978c18e6e0ec93b4a88b40265223bf385b0009d3dd8abeb130f507836876c54aa59a618ea0a2b7d8e818f2e94c4024c577a598f29e2d22f669e2793fee33172eb28e0481595f5dee345b814c9dc72c906d98698965f15b0e86d6b05689b8d72ea46bdf47e7f0b67a841ca285ad63ec2d6496ca2112167e129b4ca56c251274d2477a6d829a56292cc60b9879f0a3c3b8cc2819d4399f6d14c9a771da3bd5744762f9677160199ec83ae746e1f12d61d0356264ef561457e54b0eae703268949498c9236de5189f23aa254310452c410b465e3ccf9a2fca7748a1619406a87421058ad2cb094c5845857b2a4208d7deadd4666d3665de24979ce04ffaaaa8d7281f2e00eb096d45d67719daaf30695d68527c0243ea027b5d78443a61989043022b716de89e308de425d719c28681e72b29c54982ccf9c54dbf77375b248e272c92b834efedf43c000bbae0bd8c3d2d3f080eea9ef72244eb560c1683a8cae72ba9cb740f6f99925e0298b69bf53cef450ecbe7f34acde4462d3e5e8a54164720c8926aa9c239befeb8eb05af9eacbb11c8cd16b8fb2aeca783e19fe7254586c8b04581f7c6fa39dd179974d60e8a8efd6d6c85f32c0fee8369ddeb1063fb77280c6b8bcae9ebc9e549419faed549b62510670db43e0533d4e54a243499933729d32df846a5c841b1258d9ba0657371e37996928769d28be6bfbe851eab02472139292e0a2a1ad7b71cf3464156dd5ef809da8ff8ad2c31b15dd677e1d83d172a9441fba3b3596759976539f9733865a7648a05bdff8e965c10b80264a10327274eaa01cf98b830b32c6cfd2ae02298ac58c2f3f2e353c5e19809f3a3c547d7221f6cdfd56bdefb617b932c2c08eb537fbafd43c25a8df530a2a2e3d24c1f723d7ce7a37f18d88b5b562a132a1a51a9d0a8763eb286f68d8f064b67fd828637261e2f4344d77d1fb397e75f0fd02ff520eb65242c030e533a59087af4b2c4719b99a376defbfc3c9ccbb42b92745d0d40d353c6200fc0df66567c81d3a0851728e6967bc1c8e5bf1d001aa2742ef94ccd04c0092c55e1dc53455fdfaffc36f1b97c0b062fff82f1ba1e6ea2c7a2b1599c07bac90a2b06e94147b3200b046d4723ce3e30ac0566db84eba7c0d18e0cda6beeb5bb8f28509fb05fd6b9d46cab94b6dd1fea2aca3e1dee0e0ff0da2b2599e4ed215dcfa4cce521980b64a4c878f728e55b65f655518998023a1d02a6ff120137999d4a063c9f1bdf75bb0acc42d27d5022e4914abed5f638c0b07006166cd812812eb38544c8e38edad051546b0534c4613c265d05fa51d74036594cf5f10d838f62eceb613def060f54be7004072a25487adbf12615bd014934bfe368fd283de362dbda75c5ff5a5630bf9292372d8eb42cbb6bc25af1fb11eba0ed3dd133ea1b653d9be7fdd6f12151d34c2e54ffd711e8c7d3e93c81dae772cb9171c6dbca13965afab25a9e6dc548755029272821afe54d15e2cc5d76584812145fc16e268ad10f7266d9e65315928139e1772ec5b36c36d82f2d34dfcdcf4973340ecbc79bbef0b74b860caaa6f8ca000c3721e44f091914db2a9abebf0d2654c5e1f64a2463a301e4d088d56c562e441a65b895288d30747afc2dec1c8decd01b5323320841f7d9633b58495de9773dc59433e7629ecfb9bf50a69bd17d95657c2b169dc06f633fadd7e61a57592d7310e72e4efd418e230c49718e119d875ccf541f97b408ab07df3f3f896c5be98ab201561b01d1193844684b821e2708fa051167929b8a66dff6a2d75d6be55b13959269b1649df867c1f213c162077391595428f12d6a42360356e92f2a0040283a20845a09e272e6038d8e532c816be45ffb7f810673841690084ed7468990ddc5c72be9f223330de9c877900d8e974e02ba304dd2eec2eeb7c6f17efff0d280afe08ce053ad3ca12486def9d810539763ae852012da364cf7d97f7d01936c9414c729f38e4be7b69304f7aa5057206f7d57a545c5898ff90d4b8459347a3306af1723516b9b1359e812713ef90304b9386b3bd010e83f23ea27a3eb726c1f3193072d2cb11a11288a05c93b61d2d619834336638e021e9e9208098b5065f3dd3ce72008af8a2d1a4462f34dad380d830882dab8167f21969652b8e73a68d599b6272051efb6acbcae7498e17ba261152d8bd4a9190e6806f257c90135e04bd60307291c9d3e717f096b97e34c3b75cd59e66f8967cdedc6215cf058ece53dbacec7201d6ee2c86b2972d5a51f8f80a66c5232971ba7159d885c80c5985e23b594772788db0e0376c0021f06602c9c96a297c24d66ca109e0f553f886ef79e80ac053a24927ee0cb2d351485c669aa59415558f9a267792d39070c14502533c3ae34dfdf4558dd0a4fd0bd1f571ba7f2b39f5f9976f363efd27ee0145d2db4d3ec772ebd666e291e855e10b39d437c7baecb5e715ff9631f26acc87aea4b51d9e2e72a085cd33e10e595e9ab1dde21d8dbbf886b7bae77d594991d5c1042a69b854449c6e2d81458956f93aace51bf758423df3e2a8ada1e92621c8bff07cb5162c6a4788a90035d0313040a0d0e7c35e225aaf20f97f78ff089e88620cbd9aa088724aaaa385e783b95b3d4fd2a548eb599bc73b4dabc1e4f7c53294a00d7d6670729d811cde70d727b0fa3ece302c946630c275cd79e8cb8169e90ba5898b5c2c72144b6325145f3269317afc1a8e4b920f9488fb6cd08036c653f599fa621cf1727ea9494e4113f9ffd5ce5680cd1492f4209e83cdab0f29feac7cdac6c802de726231920ba0fc923322e5c733699bb535c485c09aa1c2a0dbbc5b91a6e530c567e961e8c1d369570e94a4678d4a031f6c6a09f1b918ea56e277edada3efe2f072e1e9c8ae24351f8c9361af6857c31eaf9b632365154d1b798bcc8745d1c46472332803e62f82ea83fae3b55c8730e7546747f66a389bd3b84530ace0ff876656d79037fd35382e9bfbb06241be9d80f1010e0c3f74e98c3d7b15984496bd9872c7b9a73b9c7165233946ab0de92f3a7f5607af6a9544247249382625f83e5a725a59e974fc22f59a6706cd3e4acdc6ab6d787e19683a74c6d8267ee433cda56871ee314db6d78a701daff4aef86bd4e81e56feed80fef56048d89af8f40d15727271a49520a13a30883a9cb774318170d1f5cb450078574617e6bcb027269c7227b9bcfa0df936087d9ff5b92ee38ab69a6a4be980f6e3578304c3445684325cb5a3d071eac635f54738083bdbf91b5fd55c27eebbfa6baa810b3a847e356c298df8cbf025070ff4508246b2329e7f5f2a006277fbc7da4a155bcc37d2c99272b279fa2a97ecf63332557be9c14d8b1754774bf381a0ca3e7134aae664119733042a97aebed0d3e5f63afb3153495d6ffe18e47697b5d4e2ded2356f9b3a0e72ccdcbbb8cd7adc60b235aca3da70bf8ab12906ca6fbad2f5bc9075f33b093f68c81fae0f6a94b1d8fa66e21e0931b2b0ed5945870cdfdb3357e9b06199427a22e19e4c8a327e9a33f1c5115d153b6c12de71ef41591c3fb41b146da560371c72bd0f9dd6a96a641b26eefd52e2753b6e0fd9751b99ae82b2efe97e3efe85f8721f6439781ce9e6df2ea4737adb0597ac65b4165db0e0ff5d776077d8d1f60672de45aa7d2bb14d17583c5c39a10399aa0a9655a12b22782ccd1b79df7e6f3a6e8f676755d9e77691758f1892524c74e776e0932b0f782e567df6467c979eba726acb1e5a41af47c3b43f2aa9127b7ada6fe6ac826d148243e4fc06d7118ab772a34556af456f04a787410ed5778bd2b3f5ceead30a319756e4a311c5d46362720da7d8c9b26939b0f0ddac0afa8fdac929c3275527a149cf135255bca7f69f7297202a5ca2ac1c2ab7e7cac5e21f444d2a3e11fd4acc9659e56076dc7978da4240cb7516567ded782cba46298126e06a3edca1003da86add008bc7a8ce4ae272785ee0e7b096e630e673d8f9f763ef731ba673a47f3683aa88c5fce806d1e76b205341ad9118369a2c6d9cb0fce13c5d83a5f9bb2e28f61c16eb6cfd824b2572186f6f4b448796f103437754fb30ea8b19f63e8ef2d481a51106bd31634b237200bcc3c66a25925336d164061111fe7cf452d894b0d5f77e8d7c136b6030db726abc79a6614d8dd521bde885193b7fe4b620f18570046aa6776b1e78f216fe724cc7989d89d86994b9f92c71c065d0339e7805b99b07caa15ffee0e084e3b972c8beaceac275abd9a28aec98ebe77287b1fc37cd6f4d008527dfed738c419572739ad2c97ce171457bb2dd6eefaa93b7205cce084da04be9214dd0bf9f40884cb9c7486f65807f223303797590139584d2837d4cfe42b527c1380a898ed1983b2e760378e69567f6458586ba6d0f2661982e273fd5824262d0d8d18172d2dd660335c8a5d8157bd9005eae7492e05b22bdf48d75b6c06cb487438442dd863208696b8a5218525d5f476f95085b07627e6d0488bfe5f84290cac22ab37afbb37237a7da54eefacaadd39572d474d36a2ffdaf699a1debd07acc7c04b4b8d35472f77bd9eff25638a43d9f7bde1518fd4a1a2e69b6f70cc701f2c8e1727178686df5376f00cf86c6aba86a562ce5599ba51885b62df8dd0a983e00e0b1c906906e233c03f70b1bb7bacc5b6a742d53434a40e57c2aca9a6859e424dbaba10d0072c04e2f39527d8ba66043d04ec901d790f1fa7651868a1e911527fc5b07f8696a3d27a008dae0e25f5e2e5907a3c7d0d7df43fcdbc3ac67ec06cc50c1b7525772172bd5eedc09fd3d5e43c1e002aaa8f174cb9b37908db282410a24fc89870617787cbbbd172972353875a628d6b710e7f7b931d55a660068eafffa7520cc55728f579a5b002a38623844cc775adfde491f2b80e7f93f85ee144456c8a12b41723b98de7642b4f6078b45eea9b0a5904ff85332d578aa4a9124a48cf1e076c57206ad3910629386ee2b0393cdaf5eac174c5ddae6d4b04fc6a5d350827e457f72361bc3ab8bd2a195a951dcb090c7e8c19781630d72a44d9261d8e3f6d957b1729b5ebc57162d224eb38ca8639a83e802b1386b309ef7b83080fe48031d195b72666de1db45ede0d2b04e99966f5942d7de4dd36fafd1df855071693aeb42312668740222111e30f95db327e88113ffba99189702f784b22149677dbe53b581721db9c26d53aa8f20279facb576509a56671d3567c6076c3e348c8c318d928e7209a7fd45d0160a12bd03fc995df6784fe8eacc424159437a5d4f008ed8580a4328b44f39d90a0e6471c84d01e3eb004b126caea69d0b570a0c21a1ec9d6bc72b09a040321393dcd94be972a8d0f92f33b73e5eefe2572d3cb0ac2c22be79903f2261d1f85bd19a30639494f84d880ba7a8144d57569749f05ac44113e6d797729ba274ba9fde85aec70df5cba272b6b7c74fb5ef694cab042df470b800c55572a17d41b619add036f1e9f8903ba3acf9e1f21f401fcdbe1a3fecfc51969fac7264b90c27bfdf2633f29943679d990c1e3dfba2b5143034273bfb57f16c90036f0d25aea6202b0ccdc6bf3cd4c530af27e9e9d3cc06c01bee9e67ffb9df887072f94d2c2c423b3c4fd708464a1ff3af4d70ccec6c8b65e053ec46b917600a0a3c99319b2a153ef8f76e43ba778e63d1cd2c065e6b1f0140040990efafb25fb072074ca710fdcc5f897fa492e916ad5587834448e72351973768ba0a4490420d723979e591618d62a90caf4e515f78238f53525b1d963316f7f9c5b44ec93a4a0729635490fc016bc3835590374425403f2018a9ae00aefa10cdf98b283d6bc134a1ec7d559ab9aa5e5dfa1046b026ef1ed5f8aa77dc0089d01f57c7193a2cb35a1514fc77345a6e49eb13a7da7228cfddfbc763c176163b2dfbbb44fc2c55b1725bdb1abb4af44ec50fd8967a23fcf6d2032b9b954707e3862438387d57850572a998535d5c7650d67d4254555a85910ae28202303e56dd6a3d5b67a4373cf55478325d22dedaedfe6d0f8906a883e329125f9e535a7071916a385688f79ecd72362df2c2a62d14ec64084a247c759580eeb69ccb7980703b72be205c7a0ade5534cec66cc2b35f0563caaf959a7d65f5b1196900fe0b45a67ae178ea8c25ef6f4eb8e476c1d9ccb6d5c32889dcacef0739c507e0d8759fba4517d722a6e10f72b99b3f6d342acf4e54353d09fe1930eab1eea48438eceaeba7107e33b774327274f4d89230a6e9fb6ca428a6cd52eb98a5135542c3c900e034d0ef3178399309721b82f2d68ba3c29ed61682bcc8afcea87ae01a17e39a27aa68d50de14ced725065c5757dd7c8e7ec8de043529fc5c4e8ed09748fb5fafa1e8cb1e85203fa7208266697e5ddaa361e566f4e5d32cf7d614ca20f7b086185b7142be631ecf8393d749d1505c03cde59e3151b1d9f233b6c4ff13e169ff9df817933ec99125772b5a7e53f2baa314cfd3118df5537bcb3ab0e7213991b6ef869d8b1a46f02ab3a1eb4e108e55ebe31a774fba42bee03a3e4fc6b4e1e3fd0db6b02145dc006732517b1324bfea775f0f2f57de09f84c4287fce82e3e437664ca07997dfcf572d02baeb3f494d4768335345c993a9418866026467038ed57c0f870abcd1c37edb0c8995c833fa693e0c3e6370c04f5e27a9c2517a3f05fe5b78f3485ae0337a9f25afd068b869413634be21c8a62f231c18549d80ef1df285a637a06704f1299f72ffff408e99aca9837a09d7d48015670eacbe2ad6687eb353becf10e4f4226572739238b68ed03575d3bc2eda7fc6fbef0401904c1b57996a29a967e68e151042ed99d9cad4d5d90aa91f82bf4c9f80e5c4026bcc82a5e53cfc775ed843ed3b533c742c99dba29ae8c1a6e1da38c54703f975dab2486e364bc2ec55245ec20e72f2af10e0a03cf383341918751b1e444aca23786303f427c319d8d57183137c72f92d328cf546cdd43ed6bccc2b8627b622fcb473f057023eb653d3ca65803e725170109e680581734542665b90d5a20108cfa965eb3851d66a127d43b9a2744e71bfec12b053e8f2d0c77797a7001ccf16097db4f33d9f1a4f6ed88bbad9072d2f65e7e9013f3c8d306865c594b4aa178d5875925698778dc38c0c48e9ec99723e4b499870ea0b9a8c10185acdd64a0c8db5b5916757ccdc7caf4d43bd91d527bbda49b79c4748a1bc3f561421835eebb97d6d2d5bf1d3904ffdd0f57e6d7e72866d9b40f27a2f9e72fecabd8d383cb85f36e2d6119b8a48ebb91aadaad8f87288bfca623d1bb06c0b486b4695654474dc760a2e238406d9fd18a4b5cdc2e2722dcf2a34b5013b4bdebfc0d22e12c982361bfdf72e72aabe9726e94a38d6715ab6fa5ef8243b692f809f8d44c4b21f67a6e1184bd05ae3eeb54b440febe03b318ddb92595391b876928bf4f11260f580a9d6b7918f2a13b8b3668041eea1e4720a1645849f7e0b8363aa6c4370679896e515213cfe94bfc50bd7cc8a60ee4e72f60025acdcff4cb517aa548641477547e20b976711ef352539c9f06e958a8b7253ace923d49b5852d3449623b632d648041b55b29d3252381368cba50b413c72a6d0de7acbe4b3aed2869d7a746b0efbf6bfaf97e54ee6b6d3351d8df0ad3d6f0bd423b3372ef25f3e0ec8c8f4ec5f5ef2dc5e0b7dbbd26aa2dff016c3d79b7260c332c6adf8282ad63c2acb98d9ef7fab3ff72abd1a4e04eef04750b81d2c72b919d434b0ee1eaa2dfe7dc937def09bf1e7bea985e06630a7fcf5747224b572b2e2a7c0cbdfa0a8609c419dccc5f1b106847cc53630315e1766b7c9f1ad3f72bf069ea7bea0ac1b3e02781b01de5e50f0a9032fa8744054eb00d80e969242698eac24b54714f5e4e8f619ed38ca957672772bcaeff14a733940fa95cb47c272cfea1a06b7aa3ba4ffcf503476b4916a35b4f1a74aa808b3db0374ef832f780a66fd79778b651515ac5eb3cc8d355e425fe0d11d8feb5f4784ee300aa2a2a872a9d7cb2288972b9026d48de835ee2423bff1c8764298e79520e71481859186725b432f1de9246664ea546a6857e1f94d6880a91b70208b6767ead24c8ced1272e1ca870dac352648782be3b3e180475f95b33ff323154471302ed55e5a5403725f8a1bf1d0d62be9b47344850d367386eb52988f3d6080699e23e7aa84aeff724e105dc63a639c99470eadc67900a5847b4755dbe0f30f11f78948a68165ea72cfa408127fd8341621c3207f2c261a768b33ad2ef0756c4bc795e76609bfde6546efb7774b027d285b6c93b217698b9e9c7a090594b79494c521eca2c8a4c1727d0fe9ac3e2acb674e6d8b353a4d619fa5d76972e1dc4b028082d7e606afe43db43eab6a3d4a8186f948146ebe69ecc11889505b8a464fab7d59f34ff673cc720847464948c94d0baf8fdfd05af7a88788657642b8037957c958ad6e65d68b72c41bbbc74629115de26e67cdab2146beedea96b3f807730504ac36308e8dc14d4ac7efd0b5cb91d53367b0e4e452186bc9666303ef25c2964c7a86ac34263039ed7b36cc0ae939de4a5c5facbd42bce1591189ad0d5506f239c81335dea0a657c9bcfaac505282706becef71b05523ac6da422f4797299839dd704ced588c2724f23fa8217ce8279b153ab1454e8fee79fd463261837af02a8bd665d6a4c7a721d8e52c984e74754e80c33a1b7c92be96da6b2624f527811f9a54bc4b3486c7224febace6f1502b35cf76fb1d799d0e7b781aa814559907410832da8460bf45eec77bec243d3262771ad26effed647a3f2be03263d90b244191611943ce71172b995ad379475121169d3e55429054fc8bc7f9d87e8855743fed753d174c25f7290cc2350d45615a759f18d0dab2a05ee5d62595223515aeb2200874f8b87b4723fa0277aab8b930333022d245d16568ebb4be539f1cf340dd7671b7200e69d653bafcb722631f8e86ec29de02bba4768cb2f7e5e4dd7953a771f883b175bb8723cca9784a89d955c9049f26018dc6cd51872e17a3d870140c56d6bd11bdd8a519eafbacd2a87b4c15a5dc00f602092f65a6c44c723e129a0e2966f82338b733e7920efeefcc0a495582aee8f0eb6ad15f8e48845f5a1f75cb9fe34a8fa89c8721e9f553f61f0ccf9acbc66c227f6858c5ac1bd60ae6c7ebe67ab52d9d0222d144df935de39032625da8661ac2ee6fead269a89412612c06863fe7b506be0ae725e29d9b0937d1557abdee9501f8f5841f6d85a7ed7e5cba62127aca18765ea1e9e798c1d0599ec52bd36f21b5826f88ce884aa80bec356777b8e2252c1a0b572432bab1eeed41816f4fc39de51182076ece2a4ceea5ff6fde928d6c293d7b4726127cb8b9a559d0e37f4d706b8e7a4782a6323a7735b8d57c13e640c3e939772722a3a18d3a8f03ee2a4976782cdc548b27408767e6db4c2c54caf84627fd6726ac49752b28c7937354e1998d5f3802b6af6118618d99c62e36e10594dcdd3728be86a1e761baf1acea9deff0b4a4a9ccc0c7e27cc3971ea7f81b1b9c9304c6e0140f27f1e32750077adf4c002f176b7e4ec7d2566e97fccfe4fe6f11369f4727ab4a2763d07bd6be8ff3c79b79dc105e6eba50b10d1912f73fba3b2b335d272e478ea217047b3d4e40f1e93b07a82defba83263d4273bf3a0036d07eeeaa34049a77f71bdf70867c2e5d47227108f2e66622c93d447f4d99ed0a04adc31f272c09fb11b175568c5d5d701b58fac20f69f624cc9774a3e8c519bdbb9169bd81d0fe51d11f35ed0cba32bad6085372bbd4deb58f1b59c69b88866bb610e9c58032a324324c854ffe0fdc49817645bddcdf3a73301d1c7a7e1a8d7642286f9bb5ed9d754ac34b775d6c25c5f50201179c506cc1eb19cd8b9dd32b66f2a38e3d27220f65682989878fcddf5b6339581baee0f567bf8b5bb24e0d0b6f4f8270ac672cf7d3ed21d39f1348bbc900700d8a9c4abe21531e1aa93f298c2ecdec5c29b72616555c4492aedf25ed34156c7a8b1d1b19a0caafb8156ac63820d480a8ce249646819fd690b745ffd8428bf22d6900dd4273f4620cbc9ffafa814584812bd126ade43b3422d64ad44c08ed1623e498992d1529fd36769f6b694909f30dc0c7250c77764cb4c493ea357c600461a2b37d8b5e775d94d95dd744aaf503448db0cee623640665f6b4d83f178578ad1c1b752b86dca491931e3308196d969b34c72f1f40db5094c11044eaec8807b40bb06127493f0867312709834e7a49cf128729e269b4dbba6bca37c6bf6cd8e261b6712038c35549d22084caffa704777ef720a0bf0d3262076fafee8b852dd9c09a1b0f6ccb3fc1d9df4781b2288a3ad293b56f2185837b13494332c461f1c6537f88a1646435537e919d14d054f252ebc220c8f0da4fb7373782ec8b9a42fe44bcec557d4c1ff9bc8db26e4cba8ab968c72d3cd9adf86ca7b80d4815636bad9516be28f8e7309b4bd0c929e2a4809e03254a48767c673f7dd4b37dc6c46bcdd0375fafbac4f28ac77d0f7a6ed0137a1902d31b84e2e53c4571b84b23f8e650e72b289bedba1b3f31d6d3caf8c78cc8ae8727d648a9fd4054655c04cd2b8045c6090251d2c30fb7692a6ec5b58028cbc24721fd7570d30894a3c302927e0a74c1573d03fbe30df84e69f159b0cb8b7d01402aa57e10666ac37991ae886ecef739cd920eee94e664111a98a4daa05650cac118209e1225612dc6aad206aa11ec817bea5cf251ec364a08ad253368deb57ae7212f28b7853da1d72439cb821fa074e63e45f3297702d26cb0cc4ace237d6df23e45e907366c9b874f31f833136b3b1d0879ff488daded944f0177260155cd7723727a80755e02b9c623c757a44210ec780c470896ca343c732f8a3685d69f51ea8faf5494631acd4ec28005a900f6c211b925c49f6a21e3087283144c972b37276079f697845078215e4ae4221e3ca07b33f1d1cf5fcfb8520864bf3fef08f14959936d3fd00944449dda9fee077d0abbef5cb469e64a9be01b4de2febde1b36931fc165fd3e79a69c1c904cedcb1e450dcd91cfc70acec1f337393de518852f2719105354c9426054ff8c779dab05e3f7275c6f93b26495ea34abca2f15aa72172a9d11ef8705f8e1d31cd5e10302b6453362a3e36426b401a4483e72cadd2ff39bd7f62874a3c89073a2ea64e4175cc6424737e2c246bd1e1139430f9e0e72ac6bf5c704236ca8ad2a68f6d10893b52d37d8c79d7405dabda2577ddc21277213e8a904b304f091588ce1697ca5f2c10d0bdebcd963013f0e602f32e5bc4672554af3c0f2eae3b2938ee8826de70d4862080fd0ac3fa77dae60a9a5ea9e6e7278cbff60f0696b574e0592b84acc562b32a981e9347d0ac55024a48ee3bab92ce78773f863a665a08bdff01c3bbbabcb67f939d7bd12c66e566b04ceda1f484f1597f606d689711f04fadfb3bf5a83cb173f4885d91cc76c575521fec5edb87251f65848cd4b21b2b973b788597bfc5d9e074dfe18b943ff2ac4e9b3b8ab7a1195e9552fde71d49e32797a7a5b8b3cd60d51045e9b895b19fea8702fc48efc72a8be85bec2170091cc4c6ac134491c52602af7138bd47523f65b82f9a1908a7237a1cc63996697f2157092316645533d47b9e32d83cc35c69fc8c0a78aee99726639d36c770208a85de3ecbbdbb00b177c4483064447cf42ea79d73520a1e172c4f16f198a563dbb9d2f23239a63d3d5e433624c01532ceddd0fe8e7f4a10216d014a18098221652ea3ceeea18d5092686cc0e00f8c9bdff2b04e6951dfb6e0b400b1900afce0d37c2c7fc18442397b7f5c06858c989df53d0cbc224e1562472c031ffe272738ce5efc824c98494c4209a05172d7c54fba2e82f1996afd2a06f3d534d23910e78fe757ca79da2f83c482ea8ede8746a2154a325763e8ca94c13732c48c4ef335ca44b10e41117222aa02c560c987190cb2ff340122ddc2ad267976b038b230a6864d494ccdf399055e1d09c0a870da0a0581d8c5e3b579c2b72a67693fbbd2f2faa3b154ce4324e80b6aaa662967858604b1cd2e54144c0cb4e17abd5aadece83f93b59c255b74892f46bf0a1a50259400e549421de08c43d165fe7e09475319810b5fab9431122f19b624a4e4fee59c0b8e481aba791050572758a642669fab0ca6847633fc1c6b767d7a857af3ebb3947dbdbf0300ee5ca0a60de1b911e1cc11584710ea1569ec2c8f6543f7b80a51535b364097262bb8a180d76e5218c1bef0bba30fd6ad2fb2689f5084d3f975804a842896bd75f17eb36d2b910818d1de1480c47c9dcd15312cda5482fafcdafe9114cf99ca9cf06fe72bc37afe6b3ee15ee28d8e657ccf58f97081313d291f35756aecafae4df8cec72ce6a2ae93cf26803b231456d35acb64d34c1940efe368b2cec118f72e93127729394be68caa358764e98578ac1ad20ea47c89db4c42097d95f10e9b40110c65fbf154663321d9a7b0635d4b78d2d47268d49ab94b3077fa4af594495aeb17472a7b0ea4fa351f14b0887cf5903a1ee566e75d6d2e35b4146e2ccfa1ff944971dd05929d788297d550dfcc3fd1b76d717906f560a75fc82fee7d6026d4c7845720d12af58d77928c68f7e9563d50705666b1fabb3a0868fb3b928a945af133b545cd640a089a163ae935af69d1657a1b1a93d26f3bc40230eec0314de6fb89d7255d2533a9c5d984df7d30faffa5500937382fac02ce06a399b300f94cf4fcf7297ef1745e3d63968d4abc829257549d468a38c652627c0455b681dfb92bfe17226a566e69343d1268602349f4d133a75d33e033238e55f3a31cc71bcb58fe2721b34a6f13364039badfcc70eac551cc528363cb4c76291249e963ad907c39f72179a4ca9ad0af2ad28c95439fa07d4285e93a27e88320e236555c385720b1d1083b9f8272eb0434c173f813e8e1a1747ead7f22c53304a7d3c62fa5428d05872fd787b08902ae2add42e34546348b12129c1fec42ebf9bf1fdbe3422d23c963e7892bdb342b60c345809ccfadf334ca5a73e5f1069423d16c257dd8a30725906347d2916c6b5ba5bf91bfdc9a2aab4cbdef84353bbfbf90142af4867250440724469513c73ad959351eee2d285b128fdfd66d674368d552b2ae2e8d79be1d52bb4c1e3e59d3bc58ca4adde5cb469c15db1f5777ebb161f268c1b4ae28383f270be37e8f74c0f0380f55439835d059a15e8f338ef8a1f0032ad15eab4938a1602eb74db9ee4e6ea69d0eb1e31e4e97732f3307d834668f2d385e5842bcefdfb72ac78d96b54abcc8bfe721b5cd69ec84c0c7f5df93cfe00ea2584bf5edb6f497224152bbcd20ccef97f60cb577a17c0aa79a2574572d3d1a070bc609ec65b496d624f2bd46065417b114b909ddc3cea76d3a8691bc5bb6af9c5d8dd1e39eb0f42678dbcb52b8fb1d790ed5cf9e2bdd6c413a880d9885bfedfa046cf755a247f4c3705a00e0476cef3dd662b29beac73bb34f342105a43b95346ce04c9368f414e182b563b3af896b5300091613d6b0970d1afbb28bba9484682b01cb9b025d26bb32f3b666b7414192a9204432003fee5a976b473a37e3bd7d100aab64529dd728e9acaf7ce9dac5b6891671ca444430fe6a2b02f7c4e51f4bf4dfcebc4ec604bd6c93e998f9f2c460eedb03ef7bc8b722cdeeae6a22315ac3a7f2742df082c19d3f2f9c350e0e15f3a4161fd77cc91aa74e8abc239f447e320e1f0a4b9b2c10233e64146ceab474f4b4a27a3e7c7e11b8faa30e80260ffcdeff80b652f53300829773b7a6975aca756b213df6f9fa695f779f7214459474706821e9e1c75ce2137309caa2e409c3904ceb37666aa8910658d58a604532c1566eb775b92defe72f7da9d7ddf73074e0ff96503b823ce0f33b4ceb982639e56d9a0be13468f3872ecd11bb8c03f421c68f7ab2ae3f37ad211272eee5c72401a8f7b7e84635f4e722e3a19abeb1773afc285e3522ee7353ae1582dde7c9566166b715ebed5b6cd022a74b32d0dec669c1245aebcb9b2eaab8a3da91c31760285168e27dbb739c772c544c80cb02747efcc6a4611f78bfa8f15a3b7ec6a7d9f652e009bb42d48ba720d9b380ced4e869b7344173d81bd4df2eff1f6279e1250e523e56025d729f73b39027ee68be3fe8dfff3cd676ce9bbf899050088a4804415d60d2b074dcd4972b5f8f6e3c0b500e962e32632766ed0b321a32e89fed77b10c0cbd71d3d12762d2afaf04ff4e6710d8ddb7dc58f09deed274e0606126917b56ce724c0e0ab2b72cdd00d89f48972399d5ca2fdb9eaa36e3cd4401dcecc19ba5ef5d4c6e8d85c72e1edf33011ac8eee0f53ef006f7cb5fb28427deeae30b09181e07ff62a67ff72c14cb7246d1aebfd988b404911851a9cafc27529b638b0d3944aed8bfa557e7232758b7bfa1a888bd7be0faa9b69628e2785a5bd8fbb318c61deaef866bae27120a6fe5f85495a2344b1470ac092025ad56ec92e07460f3f397f02e11d1d5b6b54b91115f8b45be827efb1e4625be46fbb03f76e30a14dceb518728c96a02272d0b58479e549115ad0af42c358852734ebaead21017f7021b8b8ddd0e7c73b72f820a3a1ee56577f50fe68cf7adbcc3579967488fe671474f54f774fe0cc5b7263f4336d0cf52700ac98add18da16767e99af2eb89c531b1fd2e9b328bca716dc77916d6aa4f6e159590628a54020e008c33d7e3bf54fa70293c264f61a367720b3c45a8cbe1a245d91ee831b2d5ef24c6529bc563b481b29279065e2b5cd36653e761389078c056f6906954809f82d4497092054189467233fddba4cb7823146325dc07b30e85a7501f7f5915cc486e60095919219aa121c85c1a89f8151d22a049265cf648b50237751a198faca5d50da265d13123680286e440cabd131a250d9d2aa9a8dadfb4f42e55a1f46ffd24f3c001d0ef7b83025a934bf02154ec1125810b6cbef504c36400e5409d1d13fea87bd70ae312149ef2979873758d1a720a4efb15be89bd87106e207994e98096594b87bd2e948eff4d08cf34bf7987726814702be16f73385df974e287f2fc025f7d72d2783400e391303fa757ce4272b5617bafb946c2270db3040690d530520673085d6ec21f743f4e3d1181a81f727476c1e571ace1bee3861ef1891e4ec37c6d1d9854a6931813173c86e973ed72c6b79f6178ccbb972b502105b91a359d3540af5e1ca3f17e60a6a59909c3517264210ab8ebc0923dfd8a39effafb86893027e14d608c2cdc575e6dff61b56472381dbc915d1e2b73964d905442b5de4546c8139957292f0ff603883cc60bc172edfceca207fb812889fbad5d57acd46371ea17995cbb5e1d90555bf3f9a6817294f143a7f3fa8b7368a1c4ff43ff568f33ab8992f833ae5fda90d5c23282b0728215ec96e1e22fb09cf5cdaad6766c8aa94342e890a82d755b75ad8c2a9d15712942be1d368a57d22a8730185b7eacf46f1c4e8821c4dcca76efba79738d7c5b7d32042238fc2388c91fd535450c9103b67191f80bbb4f74496c85a7f974027294081abdc4148c1592afc9789b3dc4537bad5bd98648e9621222f1a6335fdc729a2254978cd3167dd9b2e14e906fff43de86922d6cdeef31ae64127014474e0d9fb70d3ae2f13916e40a803327ec2e655d9c2c3266237b51d5beb4ba4b57aa7210634f6bd1ea8f72cdc6207f255c37d8ea2bf397899edd5ebbbe7542fe9e2472704b4e1695ef8c8ec13b5048a8fbb761310453b049c76d87cc81f431d8c2c372634f29c84695900debdade9860035c24c316a3d1702222e5ecef4ecdbe3a4572f1ef8b061f777fc07d768ace90c482a80fdcc6d90fb4ee98c4fb20d87dac6d2d009c5f11e8f55bbb00973a7bcd18a5825276601f8478cf00b1ddcab4ffd30c72db5618acb737e85a417a3ce26da326ea66f079a4efa54383b108fefd85ed256e143f1823cd32cd9d712e852d1e7f8083606b8c306576befef0ff8da77315ac72b276749830325ff39bde872284352fe3b0969e56572936011cb9c3a3c870b3519d69a91ea0a8432c0c9692a2f62e6880658811a514b06863ce181612f5acab21ab199aeff793d34f7d162d16c4337ab14db89969d2341e4118c83d291174cd720f476f33ee1208f595fe9cb1d677966c2621fb838e96c9e2a8541052d07cec72e594642723709363672bbd53963aa00ef29fed7d2ce91557cfa5b71add402847bc6bd7d2eef04dcb9c82912beb5148b50c97c59d559b3aba476ffb7744cb5a5e9686a32cc58a5efd428aab972d7a85fdd14218e11bd08623231871a2cd90243583a2ba05b13377dc6b1942f4206ecbceaafcf025725b0f18a7d84d12048145270a2275607361e5c141aed08745f39b686dce98dc0a88a4d5774b3eec96ee4a72893185a1359a936b4e49dc3f02ba93aef1c6f596583741836a58099f331802278da1ae279c47dc495c7b8be169cd16cd35026bbd0012c28092b2d1141ac5387217569a65e388799c8f3995f4df424f9b5d3b78d55c1fa2d88785eebf0215a4189197c538b6286bbe993dd09c8a69055f5d187e8dc990416d10174e32816a17727af9cb0042c9c236c998b4011657215f3ee4cfa17e381638cf1c630819757905da4a3832a8ff759e80f3139d1e393dd653b22bc0e6622f2e7cae1e2ddf7e89729a87ba38f45b828c73dd6573ad237783b8d12c169bb110a0fba31929b1e64b72133a64da3d636b44685bcecefb616ea28641550deb5fcd55935fdbd9e639f772232e34c78ddb28f2a823e2eaf785c243218c874b6320909cf710f934a6892d0bb2b46077fb35bb1be680686133adfa59b76239061235362984dfc25fde853724085d0837d7fba7a5fbe993cbe6dde463cc87c69e274b28746de490b7d5263c722ba786353975a108ae5fd5fc5988d2c47a4fd8a8d9f68afbf8539e6854ca7c72801d15441d21a44117e54ca58bea65d0d2b65d8039a9d60abbc9c57c0ed53672f8a48c54cb52dbc83f06ed3e322241c3cf80eb72f68ae674dde41c986d139502406e212c722b1ddaa9cded0170770b4af15d29c15bebb54fd3aeb80690d26172e3b1cc3cb937b978eaa92fb917dc09439917f6093aa99e0c0cd8a2b6aea060725000f8a5b6e94a1dfe32eb4863f1b55aaa9a4d6dbf45aac606f5311aa6ee16524fc543eba6620e6bbfa96845db5b45f0ee38b235c9be0523b14cc356b2760272ac6fc9f11f3de95ca028947fbc63bf7aac2eb048907fafccfc184184caae14277688d314e6f4fa3a6f2f96646e7387ee9f97aa6ad3cd059f50efa9e76e025a7265874820ad636f672908cac72d6963ce8fd19b7e8c0d624e6936d4efaa4b200a72a9e0558fef5f36076e8459bfe5607847108a52c80f2d8420dd25585df4ff72f57cae1c25495b89030fc143910d69aef691c97ddbfc8b43034a0ea0c581df728567cc103cce6fa847ae82abe01aaffe13d71a3112cb65709fe52f64b23e3e72998c4f1adc241ec9a8922fe003871ae6c48aa09ce69a04c4179d4c4ba25d2d722145d369986efa1c092313da50573008a4490495736b8389710841fcacf1be72b95256cafd128816e07e0206936fa7648e1628660677b4afc566c09fefaa7d72a04a32244d79b8a17f8cf8d3384ddb4f5760017904679e7f2598e47da2701072a06bb0bd7cba0c167f7c09827bf44d263a166e9b09824e8c018ca70b5e89e044f3560072f01be1333255313a7e025522213c8bc3fc4bd20ddef8c46a98cb6353fd37e5c29d51e4f5cdce96b941bd20d9121359b5bda85501025d556fb2ed00147901ddbb501aa6d1da7528fb29a320d4469191bc9cb601d9ee6c8878b5cc5b7235c197a92091de07307b11b21a103adc68af029cb1841eb595ef0e8c9291ce72076dd3eacf4a11ba03aba9198113afe4ddc43add21381d2b89112f0bfebc9a72c7ae74b242c0d302c89ca5e92f8bd4b878f2f960c67229d184ec8bfc4e03987239a90038ae62905d955adba5e3534db2f4e4949998ff7437c778a29e6e1b83515dd488a3e9c9df4705f9c2dc0f26092ffbdc7e4175eb0ec517f3ad51888e59004a20923ea1b3e787acc190c5517569b6de4adf1a7e1fe20ec73e927661cbea721c6f66d4462aacb243e129d32f4b8673df6d6e54ffd371e46f5abf15ef411b72bfa0df5af75118de35d82a686d478ff957a516e007eec25d1cc59793f403b57207423ed16f60b5226fd92cd62ac08e9afc6fc72237252027266a6c1af829bf2c0b851e65ed07929154dd3092d06dfe174d2e4fdd96ed7edfc6645e2fc6a58a7235955eb8c2c89344555f81db15a19eaa588cb04276eb3931e9534165be614072bb0d1ee19b3e125660028ac25bc110864d38bfbafc133d3e3450e90917b38a7218298a4b09ed8d49ca5c19dabb091ea4425d7bc3ce4d6392a2353d751984b92d4181b91d832c0f68b0b3a5fff06439642d674c734d2819826f75aa983c91b072e1192cdb0e6360652e306bdcfc2dfd03a84233b15f0cc86fa97b9a3b5db4bf72be1b2cd791c8db4030ee1961ad0ddc61dc305107c5e312e57f324193d49b977234912bf8cd7e8a0210f725a4ab638e1cc38d243e92f04457da25f3bed13a7c72913a50ef3cb73dd1ba62fd55330cbc52c741df9cf4aab6d6616ba943ee82c672b26908a7b846ed44b112681cc07129d64cdb23238c85f108b947179b4fef9054351029bbb10b9ff1c58ce9d4cc9f5e0a38f8d511664271f488e5d38af4fe53278a7f28effdfb810a215392c6c3a10c52f208ccfe95a63d589360375f8256ed7223910d57f3188cec5a236752660dbbfb1bf5b147478dad8acd371da12d5b1a06ea0c90e6b4fdf4038fb84c86ca60ea8dadf1f6fb146b0d7e1dbb6a9f22c8ec722c9ef17f29af02aeee4dd80c5c0e189e0060b9d923f23422b5be3fa20c2414403564e377cac35ee8206b61bdc6c4378d64864ba0d11a18ac2be0b7525b7cb572e3fcd054bdc66892c41153278542dcdff55fb3e725085e989ca025f5232fb672e33827a0ff72f13ea12864a6e4224f53ab8ae0ff66a13f2120f6abe381abef0828854ab47fa5a09227eecd9fcfe80ccf7576b6c9d92cc6bf0fbf9f1f5b8eba72547cc62a960a91a03ba399bbfcee4a1e8d13e6b4ddf8f93ee49e6e454139fa1debfc6c7343ad724fe32df2664d540a53d3c1bdde567bc5ccf7370c1e618a167260dc658c5b4a90f0ea8c4d63e46de4c5389e2b2a6323e62faf1aca38a5e3887276a4fa96f07080cf9f4b77df15ae8ab0dc8435392c500dacd3d978b68d689e72e0612ad0ade1eaf2c0212f4b90099c9b8af943d14d646b9d9c1d9a6e0898831409701a8eeb135553fd541d3b0f9e01079d6843d078cba6a980ae353a6025be44c5a4b4ab3f3516fe676e7609e35ad8f883353800e05c2f953b2d76366649ba72564b949835f1e5d8121c91ed15e893f154c97235b41693a125b5977ccdb0c772fe4825302e2c7b6c2f1ddb07ec0deb1a0144eccff8312ecb20c3f045c3bee7723c4f36f52c99ccc57c01c8b48f9786ea6ff1853a03d1e113029b31788e94de3f4b1ee89cf56b59056ac755e9584de89559aaf6cf0d70df05db70bf268e23bf630ac1d23d0fdf29b81a7ff0c91ca7426f8f6fe3fc02ad6a7dab7f921b63a0ce3cf1901cce8289e32d5a88de95c311907f3cac15b5f69bf411e9402ad9e5058e14c2fac0550f04dd481026f9356f352a2461719cbd02eb342d450b2279d8571c72cb2a8ccd0076bf9d19ab96269d11bef8c9db4a108b51ce2474ed2b9d3b12677264c1506dfdb9daea2fd5a1b0c66fef5447506516d98f3fc1aa6026cf7042016f3df1a37134621191054cb989f463b4ac1e19d73d7e640837e229616633a77d7276a2302a3dc0f61eb68b4417e35ea48730b219e6c42cb3227a352262ec4d2172347002bf41de7130201ab0cfb61c42ad9d978cd4379df8409eb688d5e96ba772ff60461c340ae1f120a3a429b2ccc489f4f106863aaa817cd5f9a0592f3f827297ca848d37f9807952b217175cdb034fae9d1f250d2b018275bd89f7c6b38a720fe78f0852d927a49ff42f6cedc3366cff90c8ef39219ef005a3300f7aa95921bf028e2ba9ce54142b9560e91f0258dba46460bb01c4f281dcadb4e81e125361963f98dd29a596c9d91a13017c22ed074c6cf9f8ad1d710db1d3e0458ba4c972a48d7c2d83e07653eb023b622e06cf5f51929384dee93ef750988947960e3c7258de56a42bd025f9690d8ccaded3fe346e47c579d424d4f01a47ee6b2ea0cd40ae435c6fab31a1163901cb160221e192ce679ea3f699ca9d6bdcde268f3dd172501419523370beae454b033dc7d42e041d0f86d95b91ec1c0ff1a548ac8121728351c949e34e330107ca763d9b3cd4ecf49fe820b5a5294e0f3642e361fdc8569070b9c2db91a281d20218c2f995fe5da9468e655236fddec8c43490aa34e272ce7ae38812595c65f11819dfed10cd1a320e02d14e192961ed00375b2d84087299a6fc1fdfbed6f9e7a63557375060da8c2e0a834214749b2349bb30aa4b5172ef467ef24bc76424e5469e0cb23d002f79bb9ff9cac4e85896b1058ee1ea6131e88b925dc75bbe66925a9d57cc618024cb628db2da9ffc92d572f8a661b8d872a2b825223ccc85e729e75db27e3bfc83c92aeb056626e97d38f61ce8fb88be460e0ddbdb8c6d57374de3d8a610f0f26aaf9cde0b4d0fec825a509f5f0935d272edb5123d77ebc1e11ce67caad0641e6a29c4eee9ccd887e09c1c104022f61772e12c7799355c08cdcc10470f0d1ad27e8a95edf9637ed8194e52aabca52de372672afd806fb462819f20c734345c782c05297e9877202d03b2ee75ca72b64672878104d42459651631d21a95a2108aaad3c668b4fef466dc6824da2f2bf608224912497363d21cda1178e89f0b7d7cfe567b43a501f9d6ed56be69f8e439e5723468a2835106abaff058385134bbf1e09bdab5a71ddb5f4d06afb66c4ab13172cb8e8ef35cea4b2f3728a3f99f8c0e14bdae4a45b64f8be49eb6cd5a814db21d17f86cb34ea44dadf0827425044040befa17783397d5c33841e84071f672c44bc6b8a095139a22ec1df996a1fe098045cffe5c8a1f86ca11f4a1868c7e64eb7216873ba224237db2ee503896c80f544bcd647080cd648a8dc3f3e9a5104f3d7282cf87d8e4647098f661e73389ce5b334a2fe418cc3fe8f4242eb48830868b359d991808d9153a631486870e4b07e9a056acc46dff6e8ac80001fdb027163e06bbf9071ba03fb88de2961eb0333d400b76dd61bb1debb8520c2f1e6ede910d7261c5268e09e6beacb3331dc247917509d0fdd7c699b54e1dbd65f05db0472e72189cea86f16d5cc3b992b126632bdbb14f5d111fca2ac5438484931eef4715213e92b2970b12b6b60493d3645d70c1022bd2fe87d281f3d48c7450f56c96b42c5c023611c5a6d808bd0b69e9edf567ca73f744f180673699fd9061e38f18ac7297769aa1a1311503a90dec2edff01e8a845ee1e48dd4786ffba3ea2430f7b5725409970b5253313d29870883e8e0ddbc8a65ef0ff104706e0c18dea7c86e0b7262d2bf93e54292ef42586195c964534551266e620663705c1a76f230d5327c45eea02e3abedd0bb9ab0fe4ab58ea61355690289cf3a2b38c4c50d39f664657642fd945be6a12a99df7b603629826a1e82871b789a0cd46f7d549450fb7063d033a27d909b228bbc70307b0286a1036876c745d6270dd24cafcb7fc327b39de725520db1c763b3ca6c0bc64efe9654ba6d33d9bf2e8fb7adf242ccad04bdfa159070d3d49554b5641be2c5aa36ba74a9c17aafd18baa7b17f34790872110a1521f59becc817fd111fac3bfc253eabf7a721c8af2a0318de42e372f1948bb93451d31f991c4b4649b9840aaf8757689856b4ade9ba787b221071e47066174065118974c36fb302c5f2c2eb1dea8500645138ae1580c9eec847a2d2cd42b1b4ef5304ba1d04e75ea1fc2534675f943cddd761314f8d9f4712866923e218b54d717257db93b12b190662a65e3d1b9329e14bd54ce98d9b5efa37829deaded061605f3323428129be6a1b556286242772b44272ff11845c6749deb29a6800be67774448a85e9764789f75415e82a50c2c7851628be24c5b8b4fe86a72c433cf9125342f81d46d682a0e8c5dfc48f0096dbfcd54db1982da066f5fc1a00b35ce040772a77afeae1034e69bd0f0d044c6bc395410093b1bb9f3056f6c48d4a87f2a197214087b204b2a5fd4af7339a589d7b46f5cafe754c23ff1c5da4581b9bc89cd72dc25047b129b3f15fb9a4fe9a0610160ec85a59458d549988d094da9e00db726a9a6d47e19382b511754c5a6e9f44b373e2a408b60c142b5085e7d28dd72e172cd23337d63f6df271ff6bc32a93ca81a2e93429d4fac0a62f46a657a1acbb315baa2019d1248d4139969ef3c44fb494642f5636a72aa3fbba7baa2bac0f9eb7259adc0d71d2ca11b43871196fcda6146663e981c6f56e841a26280b750588d72b7b5c2ef5486c8e8677f3b2889ec3f612bf4cb363ce3f704b642795133fb125281b89653b8ffecfd09eeffe65fafe480380b17e590196c7249cea44e83d63e63ac0d29f7dd551f786b61f40212171dcba4bb162dd6580fd18208428cb505a7722f4883fe8bbe55c0b00790549d1d5b7921cab88f53250db0cecef82f14ef3300591f1af75ed2fe1c7a9e1e48ecbd144e29f3ea7420cbbdfe13fb920a667e1917d623f53ca495eb90e095e609b4f5bf015f0e602cc7108a6bb435b19a1b6b592ffc8fe52d29ed2b31be801dd346cf164bb20f9cda05c0ebde3ebca7319a998072341caca3108c205e18498cbc250f19f925c07caad550642a7085cfc29dc8eb729f43020203922616d57aad7a8ad398e492322ac0b7f11c633d5c46d902a9b472eec9e0bb9977e4691299d3fbb5ec2b3fe1d61ad5929cd629a285b1eb134697722644f158f21bce0099a048807e755f27920bdf8fe996c1912602a921404b4443fa1b539f7d0dd7e8a92cc35e2b97408c3ed348d3715e6c8c212365816e5605213c31589607f7284b45faa4ba2fa31629fb8798bd5d160df28666b997b5d3fa72946fe4099da228a6674f3d874460005e0abe5d77f100b16fa2905d41abda415c54975bd237f21953aa5951bf947028c40bfbb46ef9fee67fb6c96d0f8fe29935711fec7df1f79b42c519252722ef503f0a868a91fb12dc48678e36f6c8cc183a52a015b1fb7a58d78cf7425c41d24c88c875ec36e0beb325d9f7dc8fdd830d72a20de6dc4663c3fc2444bc0650ad741d458be929115e1f1ff275594f1de5c5723af12671567f8ffdff4fd7b8e1915fb892899b6ff7924411561801907a3088723e601f1239e7cdfba8092eb305cdc92bb920116a503ed8b7b6f4ea05a737e101bf44f4612918c6e312745a8ab5708683960897790c34833f22454c3f0bc0a34ad11bb2f787d32a35091459086ffd289e66db229462823cd79ce43528ab132872844b303a5949befe6870f237e486744cbc3c3b4e6ad2661f308a5e70e41ee730e4d77040f078a094106f8cddd7f2761dacedcbc8ea9e62c6158581ed478e334aa7c58781e18eebf6c31562d93512fecd540e2608ab2048f824d0d0f32ffc08726905ba482501c3b561ffc5418c6e40a1c3b855458caceb8d04a9114709c9db0f71c0add761f2e842810363f372d1e4775c3b854c0a06e2659f0cf87b5ddf99724325fe7ea9b46d5d75a0c63f9b73fee810b8de7f0236c60f8ec3e48c7dd6de72d26aba3eb395ec07c9fd5589c5fea90a5f52dfdd72dbe4aae2c7fdeadd5bcd0ed5e977b40b013e9913d9a636786ca7a7136be056ce2f1bf043e7fe205733904c96e952c9ae18d0a98cdd5398ff9263cfa0bce1c7a7c5ad40bf4c6b326fa30972c1df6bb0f4bb46abfb057e96831f3ea7c0cca780302727eac81218546b644528a1b6ebaf4abfde7214e065733aefeb7bf9afbb83d5ec636a36667ef3fcd9cd7255f41f7667cedfa7b600e4e5e0a3cf456c53a33ef0af367ff96134cfd7bd427211c530a7c23c6f5edcc98cb3a8ae775442eba49efad4777e79aee3028cdba4666fd7ba04f892f43c3bb6eadcf8f882c56431c6ebbe2531c07575205e3565f565226dfaab440f9d365cd388e9c885e9f528396086da71ae1fc35da9b825270172b93899469b55836441eb1ff6afea9a9246b84e79a0f66f8af4581d812395340988cd09431d2726724a5b6edd953287e66193f98012dd37835625145bf880097260acec8384679d3dd1dfbebd7d2e542201c1c34e60344ae9a02de9954ab993728ebcb23addb35f85558899371371cc68d1a0af4de90c15b880adcfd56ac180661d914fc7c2c0d7bb5f914ff1d77a3ce927e49f42a19af136135ca9dba383210e84642836da1fbcae5582a073ef211343073147b61d19645ff8459afd4472317221934842fabf85b44e697b9425d422c594313a8f34c6c8b06f7c6cfb985a6b727d3a3ed44b902bf4dfcee99aeae48aef550f4cf4fbe2da86df304825397efd72c801d348be4fa09f892dd75b9d958f21b04c8b0d868321357cffbb8a8b6cb161ac4460badb9acfb439dab89f04d1e818892a3f51cac12e1ddbc1936f32430330d25e3c42f02b215682c0d3a1aac11a6fea077d61b6599d256257bdc5b5ca214aa32271ab06b11458f23492b041807da2c4ae69d9946321c74fd3c5118961705284a19a7145d3c19c8646cf36f53df953f0fcd7a2d8e924226749940aff865c72e04ca290a01754426285d663bf7607f85c8f40c648fed3005eec4d7863da602a29d2928ec0e0b019a614ab98078e88329bfd8fad05dc5eaac7460f53955eb259c6c4c2ec98a11742039da42703332368a5a00f292c8e013daef608d6f5d53e4cc1382e14ab980c6d2dc885fc91dba4c9d36ed98e137290affe32d430266136721e32d5e7e15213d1a50012ea2481afa673212295cdae0ec0a4275798c944a90cbc933810a15913434351328deb253995841f59aa2b9c2730b1c7252ae2761072a98ab56416dfc5a7be0a801f2349c79dfc7f6f15b39034668fde7dc485f1af728f4e285b2c678ff4ba45562ef9b07644e5559b63db2fb779bf5c1875cb07193c65f614a728b7157b06b4e406ac5faba536d40a28edd5e0ca5e33ef844f76b26f2df118e93dfa887229c6cb7348687f25ad29b4362e09588d0b4d705d97b59049665c38e4973b5f944d75c0e3d0706174f2e39189fb99942d59b087a4b2a82972cd47240f62d7b56f322028290d5072cf665dc3a8bcdbc8c8afa66b3d9978d972bea7c59aee72c2bfc92c9e5339c7d93a128f3e5d50c5496ee2083c35da80f9728b02eb300fc9e5f6481e05ba80651f50c98a082df52bd89b1a2701315301e35d80dd28d739ba371a467bc805be342e12d7ed3e33f0b5c91796113fce4db46a542ac14226a901fc45c977c51cef03f85bbf42785bf609c2280536ea6d00d900725c445388f1c10cc95cc1ff852e99b7d568eb5e3bc55a026dee8e04cb29a26b72c4a40c65aaa7eac2fb22e6174fbe73521beec03b062c03629e3736f6746b5d4cc5b8636040e64ceebd040ec9ff5e7340213564c9eccdafe14a32a6ff89d03672e45a8534500f26fd9311aa9560834a034f03fcbdb823e899fb9149ae0eed4072e55fe90a2bc337897315137f0d2b784f9d66081da83ac031f5146851be63df116aa7d68a988d41ca91389d61e84807db29c139f84c50ab1c7a9368ba7a250649eacb45820d8f47427f179cc4e1f74ec6cbffcb2e1e99c19762b9660e9ffe05720d1ab721334abf62b4e7e91576839eb57595df850c7a957002468e60e82fe772661015b7877d79936f93d760b2a91f7cd15608531639adf8a1e5392d93288d72ccb3f36e8c5529377792cf6cc8cfca8902944846e242682ea428ada28214a272b4e90c90281ab1201e8fd3d6bef16a615d37a2e24a4b288b645df1f12f8b7e72026edefcc89f39ea3792b448c51a2c7a8230d03ae68b54aafa1c9f8ec52a33721d539cef083874c9daf3f92100b7f4a9e0f901e08605228a204bd754d7f69272ea6408e6254b9bb7007902233394ba0ec6780166bdaa7cc36c8c941732d001726b008c46e23a51a572d6d4f00d59209a93f1894c2d0a0fb17e651f5a624c8a72f7c9324662c872eee8bd6e1a542c2d07091931cdc2ac0f609ab0cbec8658d572846dae4afcb9315bcfccdd702ae6a26f6523200ef1c30735944060e46b37740b19bef79cdfdc2f1c3330e7e39f11600b26ad2436f6e611538baf50266fd6b772f2999e5aa54c6e316bc74ec513fd4de2db7b5fe386d9f3668d97157b60453a333390d3206f7d2c399b281968773099fd1db837470d18204382ba03cfe1211f3b7ec11161670ee34f77137986a085c44425786386805e9a32338075bcb52a39729770a5dfc39256f90f0bc9ac327df086cbe548eb18b0e3b6c8acb9699cda501436418c8cf270f0db7506bc1242e03816fe9982679ec2338e8a952dfec59f21420933d581b9ad3b3af8198097bf38d0432b9aaee6eed5299594e91ce59d80700995043c2ab103e4bdd54850584aa3e4c12e1c333230a66c22453022a37f6924727dd3b64b5cc9e964c0c5ba46efc1a22b7b8e78253d57cff8d6d01dbc7533e6726fadb4cb01a612a1964a83a63d36012293c1ede2ef260c6747a5df257268d872a1dc6158855e52d1d9cc991987f18c81ea62b37d74588038bbba2ab790d3ab24f0b0c0ecfdb9d70082b46036b1131af31f908186af5ad17d137ce2a01146e2726709601facc49ce8f9882a184e73a56c13acaa440d497eccd00b943215907d01cc29bc8b0615346d63f89920c3293cc78290cef739f0b1af46a069478c67e172922e918436722e16c25adfad7857efa3e2c0dc4b91ea75f9ece9a0c0b5f97a72ed8371fcc35c967dc68342ce38a935f40756c37fe6a04fcbba2aa3dc4410117290687d36061106c161960d293dadc4fc90e0811e0552b9e4dde7b766a8bdd7728fa3d7502c3d1b8e03a749f6944d592743a734bf463a7d4331c393fe1266bf72043928c20ea6311c9b0854dc0aa429b6e9b4861f8a5e39b6c529ca5517ac5d6711ec051fe5689ab8d86b0226485809d62b5957ab670c1d288560fe6b9bfd815c0ff361c817d9acf652e70caab1a6175d4db0428945855ec7a107ecb76af10672adc5079ebf75f1e4adc3cde823f62f736608bf78ab41bd8c1cc8269b07d4b628e1d3b36b4f6a60966151a79faa6b264a2e31e7f03468f0819c0cd33423c4e137c7ac31de10648130f0bfce15dc3f0622e12ed7acf5e2ce308ea00ea5b357a6724e795051d22001be1f03a72683129d03138e993fa20a6968294629acad849e726d31cba268d45228465e3f5125fe1b587f1befa926a537e9b6445e46511fca720974abbbc81abd790542cae5150a5d25cb402d7b2e0538cddaa5fe696c058e63ed7442eb8cc7586711d7ed4eb8f30452570880cd4f5ae196df0b2ffef8744c7273205649ad4695ed27e170f5d58172f5b00512b5c80cd6a22067590b00157f232262257c2f87b6acc7de4ca3a741635342fc655904858a0e9cc87e4c1129480c2463850f6a631fe93dbe6abb276a2e6104cbf3b6b427c24bebbb4283ca2d3472c94eeb5e38d4b1ef83697dc929b1c42f1bf27b0199a2fd4115830b5fd475047284876af3bd62af510fd57f5ffd1d22fbf358b80d2f3bdf69cb36d69da4d76027293bf94c7dde8b66c66be569ecd2eed6618836456d04e3d9eaa9c2ad1175184d5596dc796630ff3a52e4416d4164a688ec427a93fb3e2b320a627ff56d77e37240382293672d3976e7b834926c39ed57504323ee5456509837181bf5d8604472282ccc01a22530e5bc1c27e6abe4da249332bc2e401dcc695fd4b1525c5df823470cf75bd2832fb428bd5510ccce4304aa3172834af8ddd63f61cdeab75a467111ac2be43fd034aab75597eee319308e7db2f484887f9684e2d561ddd950387211758ee56b06d0dfc1f1d72d3ff6fa08e6a06df9d0459dbfc79abe0b478ac67248e26d66007b19042cc816b42d0d28e10814c50ad098304f7256f0c2ed5c4d728eef7d11e07a16afce917ddba03457ebfddcd8c256f6925873d7c8b20a5a5872304495243b8b7c25cb85eefcda9aa25dfeac5e5bd2d36ec9ff1d2c3653be8372c578ac86bc9898e9dabaa245ca40e6076cd705a4b93baf19e49ce3addee586720914bc52b1d2806d1d79982947b218825223ba965836a20b58d7595abc22a62b01041300c313ead9498037728e3520ce393e0b4830dd1748a8134c54f9bef702de7b8630e335be32aada41fb0e5b8333e1ee3c9fe5a7855e8498b21996df63723dd92e0489ef0b44fc97e8327dbdc73d314aecffb42bf792bee5634491de47726d7420b34836a3eeb547842598ba0ab39df150ed68d186e6745c3b93bc9e2e4e6387c3f0295a124947f03cc98b4f19dc8f48f20a2bfd7c458856eedaf3ec1849dbfd2d18e44f28cac9421f15661c496602182e46afc2d336231e1d9d619db60734ee3506eb637c79a053a046cd88368a8d00b40ecf90c31deb6c3a8ea29eb8706ba91af0fe02f697dfcac65b1ddcaf11987908b3c9d7c8769b7d339b8e22eb7205b3320b4873e0b456103732afa4da3590bf123df91e03e84bd76c8ea487437213873f02a204cc9913ef64e27a05d34fc57cde5ab8a00db250114ac4f759315f3787ed5b3db66c964948d833a9660f63e8daccab463f9745a74b7a9ac2a38c721d75c975bcbb47ea532143df965080b1c79181eca3a50fd711039d7aa62b3772c7399d14073c4710ec5485493e653e9229959d936d97f372080749b43145887238bf8b5d52dce05a60e4385c5f58c250cf87ea85f560a545f212e6603c72057223b5efcc0ccac10adc1fd9a2a20411b660d6eeee4b1697d6a6f6902a56b1895d96861f2e979ace067f7a7cbf0cbcc1cbab52aade0f9df27425dcdd4d24b6ab72eddf6da5caabdebd2c6fb55c8bd6d15568629bde68b61e33486ae1c0ef539f72fa1e3d92f7e70c2659b929139c343f6f28d9fe291e8e41d6acf601c20ac1cd0a102f60e67687a02206fa9b99eb2f54ce4de626308c5483157aeccd5872ea2b123cf1dbde9f743c5922da39efc09cec4c275d0f551f5dbb4bfca30d3e2551c1723a8fbc9de685462362429cf0a46e3568a6fdb594eb16b02d94ffece91bd1e27241e21e7db9a30c3bdd66cb14825eb4ca55b8d577de67060bcbc7dff0995e3772f6ebe6e46828aea01e3fad9ae7e8b76a438e308faa7f0e25aaa638999eabe44089928f2a46a5ab672e2e7ff30f82fa5fb5d8bb58e21840de24300fc2f6a41c4fe64364029e72141b971aca46fa2ea016c7d5889811b58b09d9e598eea04a3929ed9def26eefb11443436a458a3d77c765015e3dc7bac84d42ccd2ab726c2277236ee846212127ed4e44f14383652b3a488efb3c2989866950cdbbf93cbae212a5d60cc7038adbff0fcb80d94eed161ad73e02ae7207461b6e06adde5bd4c137240b745a0424f52a91fdd94afc1a62c17ff0ce435027005dd8f9d5abc360e9872e780eb4418b28d20ecc150679361eb967311fccb5207248b0ca662daef809b72a223fdaac2b24ff374afb70824b0428fb5c51fb6439c3e27de4c7af9f6138e72fabcfedf61f2cef68824e78eebb971e098ed8afbf25e195e9292c0709a7b820d1e3611d05679a9d3a122e9325a523c65f1695ca41d5f0cd9d4a3ae8766b79672fd2d7e1f8f07f45fd0c4dba3649528ccacd1b9114ded2f3d6bc9b9d964a2fb004d79d74cb6487f894f1d41b44f58e0de173c4451b1445969540e6c69ab60ee42c82c0a782a01f1f30d17c6fefc64ad14264c7f4b4b5b47a1dd1e2d35623a4572de853d0446fda0823419705018a871dd1f4e587bce3a7a0dfa9409d3c72a4d0878e589ae833e2a319e3783b31ad561b9bc909e1b595bf9a9ebccf985f2a8207202ad078d2361814599f13e3b3fdc4c87207bfd89edf143acbc53fa54dd947f3fc5048e393d987db2201140d33e65107e2009e3c898f5c9fd373e616290603d72508050a34c53eddc5bb856a71c8c7c01fd9a73db511997efad6d017cebddab722735644649aedeae28943702e06aa5e1864c66cc5d7ddf7a0edb9f51a8520d727f976b2ce248b990ea991de42e99b20efd99dcb70dd06128d6247129c8b1d7242a7bcc2ceef73a2bed96ce91dbf5d3258c23971805f04cf77872c9d7572622728b680bf0c43f60000041c62c3bfa9ffe19ed5f4455407830232a1512c5c00772fcd938843ae85820c170980e05c9546b69c8888916e37da7ab2459735a6ef75899e8ad7bbe24d927da31fce8ca3ee951e22f028e2c3692572926185fd6e4f37225460f5b9df25106e3c4917a9081459f6c5fb35fecd3ccb08e0245a7ee048172201a4913b221b98d2c019ad42e23212377e8e4786451474b4b41e778478aeb72a8595bb384084a2a4bddbdf88a6681ab5ca9da92508d5646582a5fe51361cc72dd0f7c13a3b091a33833053b1d2a58b947f072c5aa9f5127eefd0b77f48eb272fda1b9afb40b28bae0b7ec602557483483a581f2a2c060e0ec53fc0bedd83372d193776e29fb82762b3334d7d6a202a7d1c3c9621e1ccd0f537416d59305875bf8231cb2cb782195fc7954a492c5145c70e50741c2166bbb6f57348f2f159d70efb73c5cdb3ebf02cb024335aed1dd40df3c3b9d21f8328250775ad43268c872135f0f583cc7fc75dfb799db8f4806c4e7f2dfdef7123fba0f527c6fcbd04572053bc48556bbdd8d77bb62ea09a49c7c2acf018295b814ff8d001afe11e02469fa10b90fa8366572e3e0fad251c282192a313075ee839127a5b9730d731c4933ecdcaefb72a3d26360dbf5cf635fa14cd5471380ee950ac51dd1b23e7ea28628e0dfe0be809b2fb7625438a50260c12a719a078bb15df673e48f8bfe3ca0ee0ce7dd572b07e3c78b468f5cc117e4f0926332dab29c58569d867481481b23ca5ffe76d9ecdb72eefb956b415a38379b71f5a8146714a381e90b01d0de3c1aaa721c1df7875bca4ee1de803416105d5e12f94a0cde3505f9a2164542af4ec4a50cd566d5cdf4c5fbee16b759b91c92d16ead6da65adebea9fdfe5196ef40b6c2723436a0b88e971342ea90c9e996f47472799896ae2e20826663f12b9a7b469d72f0f859d8607491af918f89fd86494b0a6b0cbcefbc579b7a00f059d22c162c31b4d042436663b926852fe17fe3dc6b2df0b6f325919b7418b151fc51a89f23720b10e8c3b56975ef626ad04420fcc0b6dc05d6f4acacb3678eded9e9299785729e5074bb0b39de831a593587fe1bedaeb38b873526f8aba332e944e540c57372cf598d9d997e7ddee8486c983ac02aeab8011c3217c11e8e194e8f788dcad9721cbf0eb43882a2dcb9909020699a271a8711e84b87f01feed100167894ad8131ed843cc350baf8a301dcb45632a50a77163d5799e79652affe8029da18c76e72eb483adef38200852d0feacd2d7cd45da4e85bec3bbef098a560298c42847572e3d33a3605b2d6f7d001134010188aa63a8f2f6595090d84ca783395345e7772b6efd3c8600ac0df0d2d46217fecb596530f58c47ad282aa82c580154e3b5c2015db77b20389f4a044c6f9851e4c530df66234396ecb58fa0701ca8d4ba0977256a0d8feb4843ba9d30307fc2f2941b2f2b9acecf714c53269acf45eee0a3d546acf16a222f8a6dd27f1be02bc5f009667abf95a7bef302ebfa5df069b4d30616703ffdccdb2e4a8036cee9eca0f96ef5425b97021db9673402ce0d4246b8a72cc2c53df5f1468aae3f0f7bd8ad48ff27d3d607255bcb360012dda1c32505672c77dd77c13ce15bdcd7ae0f7b20f488c41e8b5435e6d06754ef3dceaa2a6de7207b4034fe236073a1c684d4e9b28804824103a995f486cfcabbb6c472b98c84e9ba73f0deb4fffcc91028e6ab370e69f7b3bf98fe08d0397218077906dad186d83e4218f1e20b4cc04bf12297b699749996ce0a8514f663727ada33ec1313b721d8f2b8b8bce69d556afea9b190e772f306db04e6c8d2103745be3b572147872ad7de41118c35e7e60fca1478fee24bb91098871cdc26e9594e7109dc7dc26729f4a05e6ae7e51432aa6d5624045864f60ed88beba6fefbdfb653d4f3c03a06a1183089dd53951e0e412b83934b72994d1338906e3c97e78a8a2c786da2a996f27cbd5f39668229ee0f37ae50839530a38269644c3d2cba8adc824e9d68a0d0e97749a63d9f34a874f167e36d5208249be6b5bdb5e43616d34a637b925ee5a11bcf31434b1e0918a8a05aefab98bec84a712767f1e2897d7b793712ad36b4972a9614b75dfdcc5ca72b64cc1a9a3c544896cba7910c42ea9592482e3d1e51372cc356a1c5d374f409782f51e973d7c356853c60f388e96a5d9d09d8871a10530a0d8e46b5eda6ea37e0a4aff538fc7dbe503f8002e6e131bbafefc1c052c34664a698c325173e7c83c68c77b10414f5bfa056a5fe308f3a992d91f1108c8c1723b91bbdfd170955d19f0dd1afbe33833cb83ff661b3d01c4346c032d58c6fa7294cb6ac28ce14fb4df1936e73f79c5914f584b1dba2a5cffa81484fe2a553459f0c965b92964a6983269ce2a3c37286354c37ac4805024f59742fc362ca22538bc8a89ff4b4c38d12d1f059af6106a6c02356ab6f1939f221ef0b385b531080e51e747398713d8777933f78970bc1f888a920c8f24f52df98b0d51e058997c72a0e78d994079981881826712f94e9b5f321c2f9bf46c346f20e5d8ddd46c0b72395f4b9edd5dfd9cb6c34f6f5f08e899db59c3284bc2199636f527540af3dd3d418189d969eba9d5cddb59fcf8aa9cccc477e41260eb1b9c368487634b5b853480bfbf5c87b8b0755b17d78c0d20830e82b5d40db6b9173f4632e4beaa22f9081a9c937acc140e269b5b6e666c2fd235d34544265c21eb6378f6f12fa632ea725d9bb0b2e8f44942d36ab75bb421db6c098e569448e08e8e6c1bf4017057a97227fa9994d63965da793f8086e2ca1d2f824d57efcf6cb1b1df776385b372d17272c7d637e062cdd7061b36f4935883c94cf707d0e56d66013c53ceaf09dc2572df8a4c10949f5303899aba16dcc34bd9e6c9ffd1c257180eff2e4af6cc0a4c72f3e926982377ffeb5b3a76107680ef9c284b0d6fc5def949026edfe9cd71a41ba3fa65a0122095e56ad1e23c2cf8e9d2eeb3f446d21215d94f20e5136aa40d727c0341e306e46e5d7d78f1951b3b0c9be864dc0bc73f2bbf1f08fc1d78cc7a726baeff318ba664afddc47e67f04aabe198add82c3f22dd46e73fbc883a869572245bc2ab3e5b88531d1af0ef535dd9a37fcf4ed2e8c974028ab274a126dae572ec9f32c9b1945b8086427a31a1f33f93422ad0658c1884395f51582384a9d10b1ceaaeefb73330b36281e3c773bab887d32441fe319dc266a219abfd5e3aea7282e53b6187330c2fc8d94161be5462ad83bab5452b2d5908e2e518452ed0cd46ab93648f68636bd7034d286afd35e16bb620ba60c443e033787179f186f08d3eb0b5198610e62e736d2d28be8c00d8d3abfc9a13ebb6bc8df2bc163bd8cf8d15b44416cc89e50be0f80ce5716cc861215799638029b438d4c95ca370b87151726208298727f11c504c25f9c838f7fc4aa9aa75493cdc8eda25cc299f4753e4300e946cdfae718bf15942262e1dde7034b82d45c62cae957285531e67a064e5724deebf05f446ae883640be4b25828b7c41f34e29dfceee77e0d4d37c53ae817288d04ae2b72c9ba968412795ffca3d56c3bed4e923262be2033af7df0f7d413b4ac921e634db5f9304dd6bb84f6baf829de73735e58cf381a1a260a903ad0f053e7657a1735b851c71d8268922cb902180eedde0f976c7a513bc35232c935a728f822c50aa9f86597f98c3d6907539bdcd390c39e737ec6d1cfe8714a685df72d5666fda84cfe52d1655ad9e633fd80390c6732c41260699f3fa954fddb73b726f18e4121bebad5ca859943298ba5d3beaac5fb019c7e55ec59cdb0739943c72451bfba4c13d8a2682af296b8c716db28584553a2b1ae806868e22854745e572540be7c842f9fa6adb3940f43e24a6dc27e6fd42b6012bfe8b0e3b3f3b1079133d96c12653640ecc636b7ab5f1800b86f0c4670396e99e2a4609a5ec44d4057255e15310f9120aee27983a862061ad40f9e13116a3044cf2e5908bc8e2edb046e171c9aacb1394d1ef91f2cf7ba248bb07a14f8a316a06b9cb5b924db1a62672409a093108689bd46d6cebbbfd274554d817c3cede6ebc693939d3245cf4087233300de59506f2eee3955188f7790c6cee97a41874e6796cb22495ad0830e2723d4f193cd32212a8461b9c8c28a282ad70ece943aa002d6a584fd654f6dd04702c263df6b557e755c52c56f461c386f184bc94b393bf01c8d77f211897e4e7729d49144cdd4af70c9a1abfabf921316de6087b57f9e9010540b0112cf93621727d8e5c3598c15ee8ec3e8fd5bd8b8c3ae6b6c494e0934e9a8bcaf937c13a047217e463e77b757561388c5648044eab114ae27968e51431e981d1268cea480172c7caff4675692c9573bac30ba71a4b7e1dc5e1b777ab736321168f5b0fd80e4da6c43b97272ecee8a04aa8e0c3a37b2832aa51286283be975fc7459bd87b5b7295c9bd6bae91a1a2ad54f5b5008dc4ba98163b6936672e252e2137c358abd172701a34bbe027b828129c0ddd3c12204f90dbf56938ee062af81a1f0c608142245ec60fef94ec88ca3118759c8a98103ceb4d8dafb517fae2e0e766c9481be1633c3a05144c10292af1128bdd929bd49e57e73eaa67b1c8d2fe03e188430e7972b8cf5f586f092f3fa322e1a4ea4bfd12827c5e0e8b41d585266c69c5c62afb3a19c998a64dbac569aa5c7ce1f9cc1c9d047d74ada627a6870b7fe0c2e4fe0b727ec10eadef33f3af66d151d4fc6e97e658240daecb91cfcf1ac10e8b0a76f259033031ed75a2397a6991ba061cd4ad083f9d72fb4d0cfc7c83b61f5669e3946c97108c55a317e2c6b4c7d6958521a1cb9e611b2459416766f5bfb4542a936f1b83bd95860c21a387e41fa27a1f1d31553fbf206dc721fcc7582003059957897236151832ce056215b3469d4cda3d6c66a419e5c237dea5f817b6b34e2ca85f72f95f09ed75e700bab5842dacbe9e9f6fc22951ca908566596fddaae160a74b7204d560813134fb2f8ea29eb0c4e5147e72fd9143535e407903ba56266f2761725f31ffff904fd5ccfa77fa6e4c8690efa1678bf7dc32f3f29f381941aec49372c1b6b888267b3071f57e10f92cb5eb5803bdf273f4976b6e779d6163624506724afea045c5d999734ea876fc454fb574aebb7437bec4a69234c86a4b16f0516eed198c30b67bb1fc64ca98ba7ff9c1e451d016fc7b5ff834cc81db2263496b46b4933b9fed82d0c216591855de8e06d972dc04f4c8f3b044489cad369852a3723a9996aeb78a92ba39a2ccba7575c43ab73dadf8a79f13bad829da9bfe5296725b037caeebe7eaad374b9e0053edb23edbf0c81252bd6a10bc18e41c49889661f137ed55cae55b89866c34698f725f4c9e8ce3184a7914558f661ddbe7d431722ebe68ef6dce78747724f4856dd3908c4d5521961d226ca0c51fbd0f9b8573721104a4c09052801da1a2358b7ac54f69c643a5209273ecbf63ba75f16d46037257ce953ab62b2d1aae4ecab23c40f713f1f58f66f10d16ef71bdff8dbaf5963e80fde6bd66bfbe25e36847207906896f6a6ffd2cf301f4b9d68afd03bf8077723f6ac1110dbb76f18554e6991df0a4435eb8a4cff87ff24c7197d84b537c9472d29b5eaab167975633e8cc05d71150d002149d7eb362fa644ff3034a549f5772251942f9617f49ad9293e5a66070ccdae77ed3feaaa1ab656e4c2e554f105172996518853e110e32bff584fe85f77f709ca154e781f7a9d03bfaec8b0feaa36c26e5dddbd6f87f66b311d15e313a1352f97f6b8a085200ae01f537980af46a3dba10619b2eda3deeb97c0096ab6b3aa228b62a78a1023f5f1e94ba8900cc011984738cb0e52af468ee5e4e9ce7e1c708cbc9c3d4c4af57e0e362b544295b30336454ac8d2031d41509b12c53e4aedc85f592d480166538294a17947a1ccfab526eae60212a297d4394ae1b1ab78f76de9ee402c0bac9fcc900ca822f9acf4a729af9579649fe8edb54ad18b5f96539d6d8753ca5e0bc8b85ad6014945cae25728288f746d23b340f84e3a3449bbec8008fe1e7d4bd26bbf8698d3b25732f33720baec8363557d37a93f96faa3d9f0c1eab873d1fd0a824b7b8fa4b05af76c45eb03c8aad393c3c56caea888d33048c73d29e31faf1cd55a3405065ea8f8fc072d8c8ad7ace44b329e2cace83ad390f414dfaf6167fb2f78e34ef2bc9c3d78172ebef0d83ead853956dbe5b12c164f6cdc16d4ec585b9a3a00ff3b7c8bef3830dc3197df9fff98d4ad4f3e571541ae81179e5097d367f5afa9205aa1eb7784872cede13c649f85ee56d3356e9ec0c4873fed0b38329dd15d630136a6fa33429485e8a2bdc42053617202d0e2f40b28872178f582c756f5f6c173e77bd6a646372467ee58d3380959f22a422d707df4fbdea283664c6573021d680c03e6566430aabc74e20dda0029c672ee8a6359527b2d3ca89b1421bb8a17c18366962cb67724c55be0d6e9cda649e01a77c59ee60145baa7124721f59a70217b27340f54772e3265e2f66e78adc11bdc8e283f9ddb7f344714d1a96c49834d9943209cc5372c786f3e810c91d47d27cbff623f7b175f0ba6a62342a747da752e306df4f9d7290248efed7fac0e2af5e2c152e9200e93c41661ef52a455a636d565b5cabdb396b489ff377cf6c106fa31d71983727529944caa8356aa69a6e87e298436b1772af24892d96ccd6d674f1e9ca2e062bf98028d4622911e3e03f7fdd31e965500c5590899b2649725a7de1f074ec505fe8c3e0d0148031d9a70c5ff240bac87c72ed5fc4550111e3747a252d6441ad38f86f03131cbf61e6293044dfbc6359e210807dcf5747ab5f7150b77ae88354630478893b78f22c0499c496e2e2f53c4e09a9135c31b00109ac813d7588135253a8459fcd1e87705c8d758275479ec0d0722ad182d982493b43bc826a8fbd8ace5c593b0bcf888e8c63276cd69b52aca0074d2b08e4f2388554103c5e345fc21baefb28e37214fea9d16d73d6c9db6ca372da1affe854a25a088c1b75107ed8815e7f1fd5185b177c2a42cfec1ddb2e7e19ec5e9494e4e2ede5ff7caa7a21757a4387020426747c43fac3a851e1f0480a3c4f87f740c99436c51237c7cab2aaa7090f3b2d3798978e98ed8ca3f3777f49723e1d1beb25c1c2842e4520495389ce9e430c9fae00c47d1e160de170c3494072bfbb2a8b643733e0d1c238a57e2f940696f30323fc8976e64d6c77465dc1f203312a0a10c7239da0e0d315650d18b80adeb04f3d7d66204e7e7929a9fdc28c5979efff2fbd71cf9618549c6922823d12e9281c6eebc7c8b0414e68cd1a323d728879727c1d3310e1e879d9acc4c02ec3b6bf73d5aca227cb301d193eafdd725b97615b3772ee0abc6b348bf9b1019bc0ce2a54f0575d6678186ae2d41d35a07240d56d06ec023948e3b6b626c86d18ef10dbbd752e725154a7737dcc5e0713728509b3b6282b4e038adddfe283e0bcb8657907e2ae387cddf6828d85a6ebf2504a8457ab11d1dc59eddb2becd34164921c8d6512169a5d3f630c509afc9be5723da2a01873ebc12ab0a517795e4a862cae13ab894c88f421140458e42976f01c6d2c32b922b831320434b194b0b41603f600b1530951542bb328125e101a2703f5c6fb6d6b0673bc1156a64448e57553504767754235acf198b8c69f911bd90843e74cc5d04c93f738a27e957275d1f158cbf11f0ce651849d6abe03921aac72f2c10e622d104e6159147b1fefee84dc227172672449c584702dc60ff3170a6afd79f18abcb697adbe1021666d602bc1aab49ec542ebf5627fecfd28cd673e72311b5d8f1ac2a37dad1f3b76122886ea8e3340332d8f45c9c1785fe0d15c464330951295a0f8cf98853b4f94eea7f2e3087cfb60cb3dfd8877e52c21f14be072b32dbe6036aef25ff58a47d345d977af4936548be35d74fdc9239002a4931272021180ede02f77a14d28bc4b72df90f03a7e7482d0e74302c4ec0bbe488d0c54efdb1737756099f557af86cd345ca346f1aa2aba2ec38bf49433fbab1e59ef5f8630db603ed4d99ce55486f1bc48fccf504a525b2d9ddb32328a490e821a354ac05dae505574c38d0b78c9be92d930bdf79a05217d04c98a7f921eb9c989080bdb49e01591b76a37ce6eef3bc61a1552c5087de6c7c82f3b5337f096e4df3172ee920592429991ceafc3b7f23022f919932b3c959c519bd7158b374971686c1ccf73eb64c612a53b01cbf25837e715efd56b9c65a24552a88a07a9fab127b52249ff34aa2228f3d2d9201817a7261c7cd79963ec26a4bd7006c28e05a2d3b072cf7607a5ff1a0c2fb77134c3917efec834af4ce16ec93b460761b49a2b139d39b63733e58cd8d70fcf84ce3e648789794226de056cda8fe0ee740e40ff7be872e37ebe4c456641558ca37b74eab354d235d9fe622defe828e53d27615c2953725049172807ef86dc9b7eb305d4662d554d0121a5e236a6c97551af89a04e2d72a0fee629b8ad0b4360ae449eb9d6b78747863bf553c176f0457b43370a20c472d49a8b5094d2420105e886cdbaeb8a45e0519fcc157411eedaf44044461cf9725197c9163f4c2dfc9f33149de5654f4fb121b7ea1d60ae04ee6ba7058f1d7f7246e59aca26a11c3c5b8e0a5d1434da9e9654e8e3b5c8176ce7324c61ef7b3e72ae053d53d4d946b2f83aaaecb31b664410c58890d7b82e96623e08f3e17a8e7283e35be0f63ace233059854ed743c9c5d1c27a57483db8af77029ada7a95b872bb6f251e6155287a188d6f2e93979ed9a3acf7a3ed9ff1e5209452f7165dac7262fc16cc2959ddf296afa46ddd3058cc0ecf70aa7b4b9d9eea0ec6bcec653005d700092ed5221baaab17dbf55b14454e5a3e062ec03d9d26af680a1ddf17d372efaf2cb3722313d27ab365c44ca090973673906efd4aadfae4a6afdfc9a5aa72e2ec4f92147dc1046f31268e2b6e3c80d66d13bf2d8a88a86591b72125a46b3195db28002a5e7864c7d0036a5f324f9179e4e618b470bcc8b211a1636f9ebd72d85fb62019e7ad3775bfb07337f7fb54d77e2f01d5721b3d9a14fa50ee639f6624ef21758e73f8c3ef3ebb51a39ef1247dc80d20cb462f985080db519466e572d6047f032288346fad1c7a2c5510840c09e287dd8bbdc1a58134bdac2a465749d17dcf8a0a1a8197bf00580d136786d78a0bbd4019abe0171cfe84e9bf74d45728e8ca075dda8cf99123fc5f1612da9586230680ac50ce9014d6eb8d8247497275c66d614f77b63b8dcfae2f6ffa885968ac292b7856b22b80a081e0d0c0fb72e48c9a612ec2f5414d8af8e2b95f7e512753e05d1f6447bcadc42816f0018e4639225cbb26c581c9d487a1eb56834aa91fa2cfd370ff6d5176eff1938173ba415ef5be97e0b81291de82d7dc06dfa98645fa96d4d52f255a3b0b28c47438be4ef53d228501ed33be445ee9d63114b4f8776b8f675f9d4aa66f1167aa8743aa7058cc44e9077c43fd142a51544769ff6cf6f3150c9187078a9956da0ffd5c9f72a37dd24568c9c1d3cc60bbb09aa8991e2a8c162dac6e218909a620a9a775ce667e12c1bbbf98dd39534a91a6a16f8516f5e6baca54a5eedffd04776486c83772718d3348a120cd877c11bfe9fc1e752b89d0321bf4c4ac22934151c009db3572b2bc44381bc1cce9b75f8005a21a8ea58fa87719b568c5827aa9b8e893fba13984bb0ae15178f11e71b5cee6eddfdc2cec44a913e1fff3a015bb5b3cd31b7072e3446b392c822c89d162e631ccbe2f2a314583188803d1d2e2bb9c04265f8372871361c2e0b8ced33a4cdc34a70606d49644b3ee13b5723090fd1d7b870f33723cfcb8e55725ef88ea8c4dbd9edfb6f17602a319cb8bb36214adf3f81ac48c7245568743343f1f3bcb0368e0a3d3ab7877144d5fa6b99225cd6f9c812a097e72fffce97fa82ae706b7d1eca18ec23571bac072c3897c9a68ef578e2cc304c672163bf0640284e97a6fcce949dc01529ef2dbafc44cd518c22d00fc223bd9ac72992848eece2ecb3e3af7072ffcc3195909b3ead286bfda2505cfafdd6586c0723c0814c8e387b516a6687c246ec8b44a23686c9e30d75da2bb8483be934f903b2221839dbb9566c3805ccd52b38a657043ba1b5f34990a126b5912bd6a65b3729471e0b2d14968d270a7071dca748f19f33e0e0f3334d0925a9964c3955fc5720fe4d4f58d176e9937a3edd0074c7516b91b4e619dbb51f4c16f547b01417e72063e59cac125eafea8103cec270e40313bc1f2e3b488cc336153f54d9af0f55412a63d186916534e1d5db9203a96d660eb4422e66a855672fb820d2837982f3e9449d5d428c19703d91bddc83d99d8350e0cd86a3e5f7d2e99b078b1a56706723d035aea635513d11a1581654691ce04e7a4927abe76fdda753f2536ec8f3e1a9c998c3cd39ccf54944b5079f4d1db5027365acc6cf7626e13a07b98b229412662e76829b6d8f3c35504b0792ca4146ad7bc36f1307339757559a2e728098b4767d56c8675564fb747439f6bd81659686d695f0f3891a27448d87fec30791d72596595f556265323327d57a403bf9d7e17d310c5719dd69f11c81ee420e3ff5209e9fed3c7f1ffcb13d7a9df8ae6a08697de3013bb0300bc31122af1ccc68f72d41c65f17ac09f8ee13c784213896e77e35b518afce8ae289c5f1bde5041db7277d57ef4579181e536b7505aa915f34e6f600d92f6396abe654bdb71df5d69725b82a528fb93a0e9cdd01350f1456ab6d636a1b253967122d7bd15b44ae82c72289fb0fa8acf7398a23414aa9d946d845150100227f79281ed59ecc43ccc3a1e13ed5a56042121a6b01db82b5c08aef4923508ad4410da2599b7e913bf12ef72f7a565f47816076aecba009e688b8b863f2012147ca5bb1fa1c6a9a7c73fc972d4727ceecb45a6ef497dee123041e989588ccbab610d5b04d6ca7b2f6117bb725b3060cf5f1218c70ed736aa2daf59b27f36ed8bdf4b917160ffa5068ffc2c727974b9cb970b26ea469ce8bc46ef28caa0dfba95dd3689dc328cbec791f4cc72c861e68b79b81aafc336908efa44d56931a29c6b9a781c3becf05dc4e07a9b72fed222395ced62536ea72bf406d4e328f613b6506e0e20e39bdd9b3581e49a36538cb91a4265da613be467a67c2d4d829aaa323c7774037f0f2f829883aec406b21ad28721f53a8d8f90f7d693e21615357b6ea7f289cfa55a2d458f2927ee286dc4d2dc1a14df74c4f79fda1902979d6aa9616a054ab920048d7301d3cc077227029fde2624d5152ea4f0b6112af0cbca109674cb5ca2aca6f4bc0afc487e5343612a54b12374725282ed65ba3fc65817fcf38b26cae7a3a6e36f485d4935723208c0a1bc50fb6cee67420ad027ae8c8d88931379905eb1d7f47fca25c0c772b4f59d6a7f3713926d22417bf9230e3b033b86be50035f91956e9e30a6948e722a100023da978c2f8c582f72eed1d60e0096c676ccb170f19e0ded2e4af2a001482a9c123c74f7ddd7e07d04fd8633870620828c30883d92d469a0a066741f4ef9a241c1357b8f4f65d80bde4e29adfce3e1585e8e4c0e9ba160cd90cdf7977202e589bd052eae636dc49fdff2a2d8cfd205ca292bb3ab1cba569c386dec12058133c8846217ffeea42b0796a2b9d6b5d49e97d43b61d321bf036c634865b8033a2aa68c823945fe765b54e7b79d517a4544b4bcf529132f5cdd4f262077240d504930ee557ead30e2b6a0796f195f12e768266dbf687521baebe6f46ca80b5834ceeb98bca2e451e88b02180fd1ba6b02897a5bb44366e3c57b74f4110a8c0fc09ccc3b6e3b0270fde07a65e74f6530537ff60cb9b755c7b53ee9d9d7de47728c8f0f68dd5df106ad289838f854ce5f5f35d0c4a34a04547f6d89640d44ca72f4f3ec2bf480856350d5663b4db96f2045bba177a10eb3c77be92f764c5beb72c915fe5398b8d43b02a06b68e2850f9fa08c3629320f7413e4b8db58303440720217a527c518f2ab28c4503b399bc24c2047cda0504498668abaed0413e1e472133a8884323f50beea77fd17eb49aaf515f0762feb9b98d7ee1a78ef45c8422150316119ec69d9e0e24f079b5b90f7a58587462bb55005d6994832397a25395488d0f18c97a4e96f7d691125a203d6c08a8ea31aea5ad1eacc6bc2d606b4fa6cb928600238b5096d68854a4d1b296fa3433b8567165231dfdcd41f950125476a2e26120851c4c377f1259cd3a65abdea0df0becc214d559c547ee703f8552e7248b9832e86517c02816bc2d72034d6222ab672caa109e630b257300686770d0bb75e9828ea8d44a85ba08ae90a45ad58815adf312dac20c120ac2d0f57c06c356784c08d84c38a02e36895ed3fcdb4496fb7d8e1cca8d26f1af0c2c78a7856675fbb3d4039b0b9b52c126f417932168fd9f006cb832cd43149d8939571fd0059d1003867711377cafd8f2e957531768e1625b442a3e095132e4e05fbe24d6b1e06c36b00d32b6d8dbcece5ae12961a210103300209c8aeac58fc0f14235eb80efe11aee6c1875e2221bec8ea7374fad8ca5b952e3594151c8460df1a20f68b72a597e5787bcfb1d43b372dbe68e92ae7dc290d9b0566c2e33d455332bc31ec72255a7e2c1434ed213f47f163508609c412ca11c211b15783c6a85f2dc8471c6f004422e639d547414d9364397dea8ae2ea434c61ef8292d6d5cb6d5c8ba8557081ca3a64d93db44f511d6ba0b468e900860e4800b5601aa14d8a30e0c4c6b2334d14e9f465f31e001254855c629c3d0489dbf886c5c9415e3874d63082eac922a5239b94096155dbc435a739dadc9dd87bddc856ad98dcdfd72acc42d02d9772a9fa874b74705268fd251808dd1c1895cb11b8421170068209e1a1ed6927bd729ed7ab86453922536932355f55e6adcf3cd97496f8e4cded8976a62e37d8b61322dbbf8c14eff23ac48b5313784c15fd04e4d5714d32d5d8c7a5e6f3ab35c472b116c508ee3d088ed55589460b59bd2be0147ce9234101beb2f2e8e9b705c6347b9d9a082a4aa2927f54ee74b3ec8b703714c8054b232d6456c2508f7c863f0f8a6b4c1a786543909fc34e72b59490442efb9697409322bca2f0cbfb1b3f8d2c964a900cf1dabc1bcbbad71c416fff56db8839d8804433ce4baa5635f3ae2b722048c421f62fe5099f27b03dd8e5e48f9af62a07f2dd573db205c69614e53b72671cb0b469a87d49113f6bb3fe994f955cd8bc527a0396d990b6af1de89a3d589efab89458c3de34831beab19601984ca841d0eef465caa29357ed3c47037566170ed88db21aed1d36b62e76a42d3157a2aab8ad10966c65882e26c9de110872bc0bb2b81f4e21d06fcf69d47d753b5de7f5e784bc57a335c735bf136a28b372cf56b4954a7afbcc954d949c3384dc24a4eb3e7840675197c316653bfbc8027298aa0c77c9e06eae3fdbb6add38dfe2c215f394025953bff99a5fed314540172a2b6c7f29786e37f13e9702b2fc0acf2d44a8878c95078bbbab4d4983c5b6d4821bf1ca3fcd9484f76d90310e2331462ee9aa5fcafeaa8a000a47693df9c1b705d12a37e8b9ddb0a54fc0714db8d682b0f8cbad1d07179a016d23a55f6112472b2b51a69c9627bbc4b611237d230f575bcce437a50dea7b6f0714bb3e1022c724c115701359689306774755570ce4031eedb5830ba884475c27a5f6aaf569f2994421ed07aca263d00bbc8ac76fa4069730667e470b80b2e5661df814ca5090418ece8146c5e1bdaa59fc38e21b958d57e2083387600c7b39d2b92e6cce308723fe1f2bd12a8f239fad5b314167aee07a85b5a814b6a9a986e1f77392314287273d3c8a7f401ff0ff83a4d1244940d762ad27af1934477ebcac15891f210e472140b4696a1df99a9618b660048da6ab599c425723bffbb8203596c0ec1564029ded9f052947eda9e9fa980226a824114dfba1bc788a01564d476c71e70c08c7277bfba49d61d53033f1a1091a5c220529d3e8e286082371de3c814149eb77e3421c71cb6a5edf3f8b188f3f001301420a509e013f7dc1aee9dda356c4f1db133a3f02f8135eddae81909435dd9715e47a24d237929747465a619b93d4a8d304fb913bc005125396832eedc714f9decc4b107670035354aa9821c05e098ee4872235b4f78ef02502b329d22903de192d6ef6858929796f5df82ffc9d3fdbc921423979d5f3aa7b9069b26c3fd4f53c66d5bfd44372c939251838581726669bf726d05d7b4bd0508158e6050e355c4f82ee91861676d756c622e932e101fa59c4b87e3956ff4bc7fef07874914975edecbebc9b940de5e042ea8d0bc1527566b728a780419c3145d19b81c4dc5eb0b4e97fabbe2afe9a1cd6ff0ec3b3ec8a20e6ff22680ca48930e91297893c3d8d4f91810f86662bb34a298e14841f2fa6386723fae59c7a3cbc765c36fb2c323fe2fa111488bb35d3b85607209ee4a900b142433dcb64eae384980cd118e5d027d10775ed6e5c7b2a783b99a5fef1d4109e672d58f17db45ee8fd910a9a9e62ef410baf48fd30ee8dd4f6ca247e2d5b9af837225c81888043a31e9e7efdeea886f967cdc257f7e15a39631e4b7d9325b0d457245ca02e3900660aa3bee80842e7208e7cd23057890aa1b67d82031036abb49199bd5798d54e8ada150f5adbd702957f95c0a888b365b638fba858b3a938f3203a92506029441978aff97e5a1d9b9c297442cda8dc05695bd3250a95bb672334c8da3edaea3a0a16cfd0883e2b96466bd5a1f57cfc3faf7c59e6fad9ae32f2e720c0a0e298f34fe3ff5ed609f9852bf1aba74785689917d6f3a055db85670f14cafd5c91e30e026d79c1df531fb726016525ea3793f3032516207152a5c97ea723517dfe26b2ecd527d4e7a72482f7dbc3c44f80bb14513a87c84d125e113b4726994aae160040fbfe15042f8e8a4965f8baf2de65873f3f264dc8726b2f4447276812d20020730701bfa38ec6165ee18591985c946ad987da16e558de4e87c7284c2bcf76acc6460a1d14941dfdb1a239b881168355b9a91fde22b4f757ba9185dd7d81fc176ecbe0eac0dd9588f7b1571ed12ce57a0230beb3774a26d28cb69e1240a85d61c8486bd5990836f4f2d6f755335e9245d2ecbcd40b2d0d91ad82fb12fe953caf7206572a01b9ce0793d36cde217ad34365a6a57359acc0fad8035cc28ecf5c4d9f401ae5dcfaa2b0a3ab216b5878895cc915ac0564c6c70bd010b6f713f5822264b74b412ad25bf7635a283712c2262d7731ffa4340f5df1ab754fe4bbc8e28b3d6c0bdeaf720e8f63f6ee5c1fc330cba76eb96bcbb02b4d57872351afd781c32c6c9cfd694698af62ae7a63fa5ec00c6272c480bccc7f3bbcf5253ba5833ade5528ee4a0068d9d70e6943d4b2abeaf73be39d875384140a80a3feb9a476d644b9ef3274473f2edc2b3db35179a9ab01e26b90ce552feb162b072299a55baea24f74357eeaba275fe6d802f329dedd22a482d15a6e43b4be0334d92492af0eb100e15019732a184aaa8f3b9a4f9cd225a2bfefc88e730934b9e72c76f9460eda05e0a4257cc78e5c26ed3fb7ea2ea59a5f2e6d69141197c3779681b552dcdfaa7350d97690997609a10471687cebc0dcc1d005a089545532c0e72ae4c3bc7d21d264f8eedab11b8e215dba4d1d7edceda28ef12afe462898ad37246e31a1e392dab486315a22de921eb394096b3ea4056068ad6380f9c17b04126ff7d50ad9e950de372f9bd4e9d66b056bf924a98a14158966edb5cf1479e8918ee546e46becb4c4ebdd9e75c67eaead1292d3aa6a6529ccc724c7dd11ab74c721050c312c7f093dd284c42f6b6c59ff0448af7db9b37a3af25d7adf621406d72bf1f5fc2526c0aa4eedab7521634c3cf0984194d66e4fda2fe375fa8fde91a719e8c8a6c32f30fd05beee3f1ffa38a535bc356d38a25276c8e472aa97acac2446b1d12fff9ac63ecb44e2f9f50d7d59934a2a479bff66fef99e72ca32c18dd72b42cb62b3eaf456b2bc2d61622467491353e5248fba234652b17e49b18ee4c72300a69e4b4bf5fcd029ddee3bddf1ea9ccdf31659eba1379730f248178c51f72f70ced2fcb6a6447d44fe3f8192823b2a9e23c67ba6de7c80bd130d057c63e72489d33cd1f8b9ec5150576782d25cce34d3f78b7c13178a2104c4684c0c31f38b6c5e3ab72ec1086a36b7463a608185acbdb9b8b569610287c0e24278a5fcb72c8368ab470206e8c67b9eac72fe22e54243ff311518d2ea85bca5bdac941b27277bce4370d3ae3592cf2421d1783e07b53fac644dfc3fd393443c37794e74e7237edf0c03878a5fd2429d0c29e23833c23a833a6a33083efd0e44972babec1598b9f76b98bb87ae682b4f3d868c3af92f0488af3fa4b7c06a797572a748f1872d930f4b62fab497e2ae87b461c41487854cee9c73d2244ed565deb2c6c952b72ada0623eeb5550852f1a9e8bdd9194bd8d8d31327e18cb7da278b3a6f4ba29723f3aa1f31a72fd24be5e0304a0d8c1071112b1455f3079939eb10e08bd6695720a14dd1103c189d9f393485d0b97a9696d34935aceae8dfca707ad0ebaef1072186a6effe2d19050707259d9a9f06c047fd7b64a6302e4cf5c8df7f3538f4f63d4aaf1a39522906402b8d07190004a6d424d838311a74efcc508d1ac3a147d72329d99cd131f1c84e18ad807980d75288623ecbdb7a5de176ad534bf8ed60172e5a997de8b8e5299a00b7818374691b97c469d79230c410ff0b29db78e5578724c7266c529a6e1e67898d5aaaef2dd90a5875379208ad87922ebdaba35e0ab72e622e180b2b388796e40b0f54ca0150fb16202367b8ccccf7a1f5b28c6db4c1fb1773f8e30981f17a2af07b837ccb81808cbe9d67a5b133a28e818a739c69a72b2f201e4f6ffcb9d851557c8084925dd297d13ec5844a39b5c2af86f512e270727594fcff974556aa9c4cd7f60d524011885ceb848cc21044a94c257d681972956334be13f1c1530eac8280eeef1d1dfb6c9e724253c58487cdad6c9ed794c40cde1167f4bea2770c5fd1b8fc482097bca70c10f65c77ae4ffdc8233cca5130a373e204f6c7d4d3fdc4762eaebd0d27f18544c7efe4910bab72dadc207a09272c69dc02977bf3c67445f6c7eb3c3f9b7311f6e464bf1daae9afd3e8fff8cfa72db6477746dfbb01aaf2ce0d2dc194a123e50e67d10419359eb06c06576f6ac6cef85dbbee7473a475f77c4fb4f3146162ca1a9fcaa16f97147e4bb598e8ac30d130d5696dffcc85e60ea5bd9fca57e537e4ebbc37c78e14e6c6048b177fea74b9ccca17964783a4fbbb5742bbc50970eb4a12d9f8d9cebd2823a9124b6874872b668f36f1f485948b77df23d181aae21c4c1d64a38c31f53a3681b057403aa320a5c801c3124933f1c5d8af7db4315612155e21f0311f683a33d16a293371d0d431a98c21937f4496dd2a5d342c78468d67a147369017c6608b0a97e4374142b69e8d2de21adcb759ca3b6dbb347cf684e6d7e156aa63d0fd56df850f0cad972375d21dcb77bcb82a7035981bf4bc0c0e1f46850ba4bd3bbaeded0f95d6fa911214287fc753f1eeca0dd10670546527062b1e1f44a900f5498c0107a5c01967250f227f1e837ceb0abed436875af5d39bcbe230b452c1f3fb676e4d194b1270ac6360381144449c915604a9b9db25451cb508b0ba82d75a66c08398d5494fa2d1e48384460df55e2a9b4747da2159ac7708550e00e4e86109919bd46c85a6036581af15620e4dd450d39a351ba09fe12bddc6f036f90518d1f0d0ad62098dd722bfd4f242d282d662f4f404422d51456a05c5a5bc3c24a138531ae46a629e1720e117d7ec35507aea129d65d088e8222f19e78d1bfc67c7e9e15283a4ba26c729491ce980e46eecea88a9c85960a8f7748bb4c0b4e03ea06b7d71d792ced4272a9d43de01a0438d24725d6d6f2f66227182c37fe4662a6c7094360c4b5079b722d36d609473a26028c9dc653340f2bc75cee04528bfa11a684a5ae8689b4e16b91e053ccbb669dc86d403d6bc1812121a336e5b834012f50931d4d5dfdd6126e0df3d829b2f685b02cc56c6c7c7a83892d491b931525a9c9b9fd36e9bd9e9772b2c15ff358333dada76f9f9e806dba5378a5ffc3c2aafd9a3ad37c9e18697f72b21f90fa06c2221db6302f71a44af77df979dab15f83b6ea7d4d7a537de8133895efe14ec5b3c094fd7753d7c84d239fc28315e3a8eaad917e2049199ce4ac1ec6412270294a7a787216156fd348b28bb8569133fb094ce0adbeda8698b96172193306a37af469f9910b448bf41ecc969f3c1e095aa23bb44adee859d9fcf566282fa5be2a217be289ca54c7954ae357376be3356bdd54157eac8250b20b15720c64a8a7aa54b37135a2007041a54be1e3199da33d5a790705377515c4a6573067f598c930f7cc3bca13bc967f67b9de556fe5755998842016b9689d00924b72181fbe03df50e130865e6734cbba5a1043c5bac5f0533f33b4605a4ec26c6172c5b5f9c866ac17b6cd4cae32582edc0d51bd5e1b1ac671d19fc4327e00750357cfa799d2729380dcf9aad4c7d9f89c002b01b98469c4d774300510605224f1215d1b5c0d41d3a46a873def5548dca360187a01bf6bbf226a2774ecc9f79d4a729adc0da27edf4a9d745f96adc0dd13665af1e32940ecfdf5d400213b9bbe17342d1415105fa9162b000a5936f6f1aac6968ffff4d7428d0b56d546bb815047676c74ccd1c1af97aec5d4ad6237307ac5e83a97f433b611ceaf49a1b473cc4e728360b4f08820e44acc930dd4d4a08aceec03426cdcbb3b9f0bb809279fd34301281cd4d780cf5242a6ce84f0574a52aa71544859c148fc51c4843898b960dc0c5dab42b3b4e7583800492ef15e855b238b585cb566648fd98374367d16ecb872e6228f6e6e32ed058546328465377d09f2d9b7c11eae74ff8b44addcfba280037ed3756fe7e48780d33a3e7d88d08e7073b640e276d3cdca7a76e33159a632576205208038f7c0a6790f5c1f8878df0670be8af9fbd830f1139d11dabd3ada72caa26277b5dadc14ede8a76b936d7592371ffd491bed339c4bf78043db42b672efdeec6658323b71dce62a43e9e1a30213fe9c05fe7dfbb655ffaf4c2c3ee859d7a3fe2748e6b1d953385b83909b4076d96d470c282d18d534bdfd322015e472d0f6e451aed58f3902a49d8c96421a97f253eb0379b703bb4925a4ea74fbf3722b1ba0f8a2c2660a2e5ec0255bee817adbaf01d20f22ddd2130834f63be0ce72f8e438aebdf78702a7d02ceb2e87962ebed9565d6b54ce5c3aef69791088717261f9ad23ed9d6de1bbab95c54d7b246fc220bcdc730b358f3b6f652531f3d66af1fe794e13decc80cc6c14ce9f476c9ff550aacefd99651a5c622a3e4cf1fe2bd0e8c05133151cee4c0276f11375a74e304b23d66aabbc541c911506ead2341b6801a91fecc3cb5ab2893224fa178a83c48494ff32b9c8309a4c07c55c501d58bc44f672f967ab81841d114b4c1e9e6615abe6263ad756b74360ebae104558722ac4e5216a680fb708e559e4453e693cc6a2b1945f90bcdc63aa311c67f6c072ab4909d1cea9cba76b939d06c6592aeee2bde178c4e2302e1ba7254d9df8bf4fc38f9e0a9b360504eb3ffb394d0e5f2b0afdf7cffd3876d1e4548762adf1433bb50ed1a1f93f9435c66d1b2e6feabfda8a9a488ab27160db61bdda88badc5572296b47d1c4c8d8963eff42e68b012c42c260a0584dcd36f9cebcadea83f13514071aebc3c9a3a8eccf690aa0862c21a55d82b61290338606685fa334b56aaf5e8c0d5ff591a1237207c8ff425f9b492b94642bf63a7de703ab8eb852a4ea2641a2bb07093c4750759673371eb20883d60cca89776dd643c8cc58e5ea1517007240d57a692a80ef4f9692bba282b97dd52c88e41f5cb6593c7a2d65df68df4c7265a3600e93f4b9d3d05e2bbfb2db80e667b11c05960c4f596463603373e3e472db56dab707f4e3932de82af8b74b7f62a21dc51cb29bcd54cb3f286567e3987289911fa751d1222e69ce2e08a92ab774a4915dbdbd3766be02a463a1cd91ff51c5c6cde0a4cfa8793256a1c645f2bbda66cd7a599ab0ff4425fed96add0960538f3f5a63cd183c3b6a291dd78d6f3037c31174cbd4709aede65e1548b08f624dc805cd8c736e7632b4d0b37bea6871a41c1655bc6efb0f3d9c16538a5ba4df5a9dc7b5224c7718ec587ebb338d13fe4702612accbf276f27313c9369b3406b723b2c370833c08c7b19dd02f1272a46dc9440c31e6845a0af2fe83a7cc8a7cc41aa9105dea68e7a500344ff20b47e1caf51098a9f08ea3d8e5ec83bbb03e82572f0ebd08b06858a2c66ac8ec56d582127eb2fde417c9d81d924d11245d5fe43725992342d85ef535a352f04f7e0c2cc008bd1623a0563f2aca281bf14d3200c72b1dc42502892bb81c5e7d64723e0b73a0b0ca7f4f2fda67e48e3d8d753e915418cdc0cd3d5153605d61b00e6f0d9aca0fdefa8603354b701356ee085ee8f2f7258aa523b7bb31ac6f38a0f9ea853345793ca553137f70f00f8125d27e76e7272f081113433cb314e42bc617b574e0da29be0552eab8d5dc3d18310db33c36b7294ee0e6627589a9a4cf8d08b1a13467115d63e8c57647eec7d1ab7a9c2941c7206ed616659d1a129486f7d18dd37505827019c455cd1bfc6cefb9848f050da72289bdb73b61b2a8bc8b51384c1f1639404328b1d07d3552963910860cfa6b672871a5df7d83db397bcaa3413fe2cb2cd6d8a4235ade5211df6cb08ea47bd4e6f9fea60801e208d86586dfa20e807b93370998f5a156f3ba413febcc6ba1c71385562c2789b778d7470df8cd128ebde5620eb0b8c7bc31d9525e02ca2f94d171c574289c1f1eab072e6ad5179fe3e923cbaefcebe0462e92170cb65a816f2a2725dadad68bb813566d0b34d05060c522d2cbae7c2593c13788b920afd2bd03872b2bd3424ac05af026bcfd8fc0b25372fb94a1bb41ba83a7562e157822a94382fa26ce189096688ca3ba08962d79cdf852fce68815cf89c16ba0702a884da23268c29ed4061dbe0cf340cbda8023d6127c2e0d1cafde962d5dce9794901909272808aa33b243352afb71239c4fac2f63b8ccbd5e94c41e4be474ded149f8e0b726cc0c25fb5ed075fad7d0010aebdabb031615feaa8bc4ea4f7c78726e9a9cb7270743f721fecb78af9b30ab4b2f42057e91634533ce87eaa980e27c0b1b3240eca39c2daa661101c34b7f170273a405c95a48af3c83ff961c16e20d3eb72ba7283971f8adcd8cf8232e928d61aa315921e3a86884a89fe01dc24f71b9ece76720d8ffb204e0e0954710eb228e0ba3029dbad022978a43055e7410e539a5c95722d7e4bbcb955ffdc3c6e10c4ef5d4b4d45c71483a49527c4bee886844f69887264667efa56a2fa57baa5fa1e64092336f2529e30b02de8a328764222dba04d725c260552e20ffd37200e2e3d7c01836e8485d9517c570554a46f19efe846f05922cb90050c6aaf76b53a0946cd1dbb87cf2354a59831d03249a968e9fa35f94eb94c4f793fa533f4a03b11b1903a5dbf0173d7048705230d841b653388bb314cfa7447d715716afb94587fcca6b8be04ad4a9208c04537c29e5cc0bafac9df534eeaf48812b019d52d1b8a95168f6a7f414222710fc0bdfcdae7154539af95728d26fd0894c3f54693b2545009fbf86268bf1c56b89e37f471215f44b1b65c72bfc447b5f890877ba6d8435acca8c5fd3c472cbf4d60dd5634e2f94c6879eb72d20ab6348d45f354c3d9a8bef4f884b920021d0318465888435f51524f8a266c9c972504cb26a7ae7ebd44fc1fc1b7b4bb0c29be9fb9ee13e17e0a117fff2d7257c652afa5f6ad1a4c6b01c71cb2bb7493ad9fd5ecc6e4cb517adcac98e65d11fc8fa3849baba6bb8492cb83a9f9649bfc8629bec9ee0a3f2a8f1f7e02d2dc3310796735ca5a03c27d54afc070f455dd1f0580fb2426f30fa70f4a3609e8e4165771c8f4063c9bbd14fe397b127009e334bb0a4a76f61aa580ab766a30add472ac85d8dcedb60ad45493d72d38330074e7d753c390950c5b8edf27d60a6830729f96419b0e957673fc4354f8118beac8f67c9179e407f928e91faee80dea3b5edeca025a2a54b07031f2aa8be846f2bc7a89b8716a53d6f24f0a83890161b469904d8d1960af2f3000f08dc3015460998b4e06adb645f09728c3074c3d117f726ee3308eed7ffc6bfe2444b63685a567ddd031714afb26727db69d7fe2342c72420bb95480629084b659216e31e02a66864123feab6a153d3b0e8eea6f9ee850189e4e54ff928ade64128a295996c82d953d35bbb952c511e3bef591e4e2df6bea9fecfecc2f067efa62aeb8e7d51c22f3b879c9d15ac1747cfb37b8ccdf8d272a8482653ff3694d3f1efc37379a9ffd0063ef07f89c1fa0fec96518e93e787223bb1c94dd7b3ea85933dc42b950a4b18e83c1a10b970a621649aecc6d03ab689367c3b59f4b61be5cb229df8113a3db1ed0c79f92a5f24fa7e2609841834372e498ed0d6095df32cc3a37f0dd2004c6cc72f4be812a4a08b5a4b91f1c1938720785d9940eb4dc1c0819ec06d732eef62d6447dec9b7f6c56ae67c0be9f3ba10b8d0c7b70c906fd4ee07396c797e0bfbca77b25fa8bc1f3cbfb93a29a722ce72b968fab959c175152916fa429ff0de81f9b4078756a86815252331ee56b1f472d066fb18c4a0a55a3655112374ffee8a76a64239fbc0ec9c3dfee38216fe95726dbe1d30f823505d4460fbb8b32a546f39b4b5aa1dbaa997986d85435c88f24ba59a569f50d1a7aefef4db436256d8b4909849d72ff1fc02359cf60673c6a872ed68f0a5906e40b578b60050391fe3d8ab19f3491bd9da6850b9b4e6188cce57f6fca2af31656f56569fa99f2fc1f7cf0e0d58740955adf7519406c0166e13722c83f3135711545240a81d2f870cca03b64f4ce5a841b64269c11494d011b00283e29d0a9a619d39cbef28d1d75a91af0973771c6da1638b18d08881256fd63c3248e44a4e9b7bad0a51ff2a9a6653e24fa57941c99ba9d7af7318080df4217295b1c7bce2a286ad01039d28eb617ecdf049e5d6f5a3f6b8229d675a81d9ff29d2a127574307b24b3097ac95bd2f524622c4e0ff6bc4b41e3fa17056ddb17454aa5bd930b1182aea31ab8735d2c21126e69c6a6511d3f3a9812f00bded71c47214c57e14c4994bb1d06e2ae12529c13e97a6a20e70b119177e02950da1eef817d210a0bb0fb8ccbcbe92e35c2e25b3540257f31613875b4e0f74ef50098f49702700c6b82103d32bc9457e01787600c970e7549f31e92b0dff9e3c8cc7978072cd656be93cc84906831efc2f88975b8f770edac4dd9a32551c6a6c931459a7114d6612d18a917725e4aaac383a58a9f79de8603e2a9d0248848068906fec9c5427cd749745d11e3ec52fc5d304e7a62f0460cfb02f40fc1838de64d4543b836f8edc2a2073a02ab7099ae731fe9e688563eedb6bffa157c77c29518e191d28724b0b9753ffcbc7090d3941360b65ab323a4b699ea52ec08979a48eff3b5e25724692ffa32e17aa232735d8831a10e8cf42235c64e33cb57a71e628c04cee7d724df79f19b94abc478d142d23d60a4e689115878dee70b3e68d88efe6f7fbc072859cb9ebd4e92e965f462f0a939e6e121eed5388fe825099b79e2d1b92a54e1f3090d63968d6d5df27c8e71760d7db66fe6c384445ae3c52d7814b63a57aee723c1a82ebcc36ebe34a1c30749739c1bd9577cd598bd85450d9e717bf4b965523f0807499404da41351aa4b05b2f1d3b8f7b269e7a45d8c372d80936ef88d16724ecb44a45884ab5fc61c98b9e115722757c2fc2b68a34149839a66fab924304fadfc3670ced86757ac88da746b7ba0e185c65f048c10392e0ee434498ab07d6ea390479090d79e1d143205c8e005ad312330e6a6f4e761d6826079f9101aab705f07a549beec912874064aea4fac72b725eafc7a49246080e684931ad40a5d46903086ec38dbe7afdc5f2babac35de9c6e998c15aefe26bf1ebdd80c42897458a4020e25ba48a7443b1d5c83b6beb2e4af7a7e60daef2946ab33e55719c31e7246954b6b03b623ba6aae674751212f336716c7af79b114377c401028c2e34c5644108a60394e2c7a2cc48c9526d97e8ff91cfbd8d607a13eabb506557ff7697257d881c36758a00e802c228f7c2115a8a24eb650ebc2a2d0c72d40e76fea4b729780ffd169e2c9c1d56419f007c032cd42a5910205c3d28e55bcc4849cc02a723708c9a38a0ea5f93120982e36231704af231ba312c570ea81cb5967c676a4722a40f8195698ce4e19c452be008233140f8451b389d394b179cb8519b5c8ab723834915ea504275957debaee74ef6c8c1f68e102c7ccd460def1961f87fe8b059589816612212c89bb68d2fc7b27324c042fcac23674970412feed7f41b6ad04442fde3c8563aa432d88164f2116f6ccaf9f5128cfb4b8248ec0e9b72c695b72f98674e2abbc494c11b1bc8dc347e3ba773bbdbcb6a6b7e6ec2063a8dcdce372431fc33a97dab624657212a20aff973078259f7be5398a60a33657027b1380725aefa9e2735878892097077a4a85909cfa11bda295d36666ae4844995851c713bbce54274428d073d64c8091ce027c71c18c020820500d6d86908cd35003a772634019ab3667d9e020795b0916148775da40d7411c1f55020b9606072352fc72186feac790d75fae5904aae5596548f22eef7c0bc712b2a05c233b4eb636ed541ce28ced0d92ad18ae391ca0c9c8c6656ebea9bf5b8c1f21f0db3d7437d04f06da18731e45f5d989c0f3627d6ad101b2c067380ba386ffb255dc04a371ad3472d53a752449ecf261249d641b50f493b811216a850476e9d1750906b326519862e6691ccf8fe151adc2ef3fb1f5684067f29fecbe6e484a701371f50f081eca3e13234d556386521b2df3cafc801ea5029634c407ed67276fee6b4a36eee9ec72ef05fc4d1ee19de254040571392a6d92a949abe304402affb8e59d999e7e9039c6b324ee02dc77a4af2243244d599da51a0eeb6de54a99125a17ab028f7a74318707858920b8739572255b39d6f202d6173ab4f7887e6523b32754cb99cb3c72cb387c78b282aefb0071f6022b4198ae76639271ca97ec32c23cd8d3a6b106278df79e7a8a1e1c0a6beb216959f21fb9d7d09be2789e3213147cd8c402d053729d3c32e4e591ed28f530040181724fcb35029bc1583e75931a6bf77a0bad5163a517a31f738c772a36ef7de30545339d615a8bc034fefd7796ae398a3fa19732ef87842c8c0c5aefe98ea0dacd82095bc7b93b70af423f1d62247702f6821310242907474b9eb4eb2389fa97dd1efc09664eb3311b1c220561ab45a3670d14725211ba84344aaec7b00543b55600f4cf714cbc82b388c4b684294d3f2bcf2472ad25dfd3aa9d269d9c28cb3130ec2b8370471ac04596b4973e5e0f7f2408f062ca1ec1f1a369ce8efa8d2b5f94102c6835dd76aa2b7a35d3d5199bc0e683c372d45eb5b0243e5c32f10b90b3029a03a3d2b41306c2082bdd936e454038a482727ed652532c3e8fea775f67ee225c65a0ff2b6e18619634ca2d7d4c83a4ba5a6545f7ce0158030011134d5fe703d9a286bc6c04eac05126dbb11707bf8c043731977a9660a8eb32b384031078dc67245bf237ed43d37d5474f12be218fdeb4c7204426160a69554c90dfe0239b595e6d28718ac40028a5eae7585a6ae7e71c172e53d339be8f2f35db7537c77af3735a3c97281d2089cca63a5e4efa09e207272a49a7741484664fac369f56ef206d16803c0fd2f7f7fc0659054cad41cad7b724dfc7eb1b61154f8e4afa13e2ea8ed976daab555df1d43804eea554a07911e1efccce654a5569f476fba750cfe2995d2b100fd1086f7bc2ba7ee0e4689776c3eab6247b946ea56d7b3fd247c7e613dc98b2068fe2e1fca5f4d41b54c14234772e132e591eb30fd92cda64986ee534a8329f96d8ede9d8957756113b8c25a7d2885b92805d58b577991133c815b9dcfee3017c3d0527287419c7741f24559297224ba51cd3a6f7a66c40e001d1f188efe0e52edba1da26999277bca698d2bb029f03301df6b9078ba77d270d5647c923ac68d2321cc831f67babdf1741ab6ce6ed845b09e499ef2a67a3effc9903e6956163c9e9d146415b8b42ceef149b87b2d0a6366de4f0d5d65a8f061b4f92e8fdd241991bc543093f6687229a39f516372b28d66e4fe55e26019f0553bab296ba051d98e40453164d62a7913b97a42810d570d6e0bdaac1b6c567cf5a8d55679d402df9c1d10f6cda2ba83b8df41b65c427146b5c42b2b96c0aabe490d19a8a9a08f91a084005c4c7403b66fc23cd6d4727c5d702fc76507eb8cc7670bb1e26ae600da7fdca78ef4db0a0dc312a2d9a272ae18c3c5faa484115979f1796418006a9819c1f9586aa058b7b58044575baf7209fc3c896312b82ce689ef34c80d9240d1b42c122e797675d566bfb9bf02f072fab48e57221d284be9cbe6aceaa05eba390b1c4e353829f44c6f07097925c572ccf983448a1b69ca3f96f8411061628c909d71ee38cb4f07dee8f1900211c5392726262c4ed8a14d9edd72a15649fc9557ad082a5e698d6008b0a825c3980972d80929855c3a8d84dc3511da74a5bd06a65d78eb1792781680d1fe53cc1bb23e8f91690599c5641580d499771e4ef5e37fd7b8017c12d7dc1006c86d47daa9723cd115f6b38060c26a62b9366d1332573784b23866ca2eb7c63aebef6798b372abf8a0a84dd042ef6a4970ebc4ef13d81229749244aaa7f68e0895f2d0e91072db30ba10b42c7b951d584ac891a60a107c4b35cc35aca94e1a9f014213f4250bd10abe9e447ff112530e64d09003f9d06973e1a110832c02028fc7eeb9c163304214a266922615fb66c8a6f3c907510b510f4b5a117e9555829f137ab44fe67242548a34e7902497fe436f6804474621eb967e0f30c3147c2904b079c2ce9072382839e70dcc15fe2bc9d54ceea0f1923f90c672d2bc63faf3d0a404bc30a972185e5afa8054b6e838abaa0485fb3e51933b72c1e25f8220fd3bd387dfc769727bb27b52466631441d8501a6e3224573767482242a6e0aa7e5d43bbc37ed1d72857d6350dce9eaeab246235e7d6365e5971ca61168343c4b1861af9280c2177263e0353b1ac78cb6305c620b0bd2520f51d97208d1e493670afde482f6f3021cbe40ea83ad77d1c2053ebacc1242f22dc0a6d42ce542fff0ec1f1ceddb778a100552f0e408c92f0029ebfa7ea3b3064d883756b5a3e52a4a3219fbc5cf037919d1f61481418138bd59b3cdee6449b6f4d1297213c619c69a5dca9c7e4cd7797208f750bfcd10add7282805c02da5bbefa35b73fef2c374500814117ef4f3470aba6faacd869970d1551ee77c3e491135e629c1d6494fdcf62e6eaffcf23a333c7366fc4d172e5a5ae70c5ada7b20631ed09496aac90effe6281e00c2a7c97a4e7b32838c6c96dd5d6c83c597bdcd89063c601e2d20e4968878a0013770ab0b675ac91ebd65fc8fc6e31bba233c0c2cd5842b55c81adcd0e03e21ea306ce03e7273bb1e04ff67c99880d028d092a35ea46dabb70d35ba888229b7bd961dcc7e6ada20b14216004dbd0954b099a89c094643796d50022968bb4e709359b352fb34feeb972127d6696b8e7276e4191d18fb99e2f5862e68a9d942a7e69b32d30b72a5f92680baa2c82609a1901d2d24b6be1da66e38154b9be10236a515a554fd3361c74c0d00cdd1bd90b765bf096edfdb7b0f4801852c4121b4fa5d0ec76a5e72f3859a19136ec4a4952f8ee3959cecc6dd5aeb9f09df7f232fa21b64a8a2db2c655fa0d61b0c30bb3aecb936ebdf799fb2e18a5e8c04a911f2674150b42ec972e8447b7ab1387940bd3a03e9d9f45dbc795285810bde13e66756b12a244e2d30c4bcea772230a62a43d0ec3150125d6a189b70be11c915cd8ab048c835e9d058d4a5a8ed4f38eba409cd63511669826eee97841e11e4addcab86ea1e34f381722c3bc4e6da0b62944b4183be6bdb94710e3454371022ee9008d02d14c98fbc1fba8d7e41638c6950743b27c336728be6cf99eb15875e12ec935d9cf832b0e772c7e7873ab576467dafa777cee3fde6c9275c57fdcd70b660df6ab0d1cd52a44aac92795e7213ccad40c82bcc2604674324d4ed3c79bf66091b495515983d8b2dee53d746f155d330a826a7e82b6620d16963e2a299bcdcb7ae41921dbe275b7220d04640694453ea56bddc28f242ff424eaf816d8d526f29e1abb405f284a17292935ccda247086ae3907d246f31fed6e6542a024ae1301f6f49e7e38791b672b643e874e5d7570d7de580ee1782e95818f2b252af1e5cd5e81a8931e52bdd313fa46668e68134855b0551a6425c6781a40a277c076d0ca0816f334642154d724c35c74bca3362a2f2a8290ae80cd4546867245c7a0bf722a88b4637a781016892464012e6395a55b21c22b8a6a4978498a5c234b540b15d8c911b24f81bca209be712b65c9b1df465c8e44363bc54dd087398fadf9967a70df02c9fb9036b56c7f7918fbda5e79afdbc4613e2a417f79373e59254b0705bf7ac64c20e092c591a2d40707da9f16fb1b2d21975b2ef62d308d1ed9dd03a48cae7ef24099e21723b6cabf0ca7a3e592c541f52549bf0d4dcfaeaed314836b4187799454636fb727d68ce700505b6b5c5080c631bb2c3379ac071e2112146b7b516e026eba04372550117cf56cdab84dba5f436b9de824fe63283d74e29a709093a846153e65c72630ca10c838e4a1a83b63589498bc3fa256ed62362f3ee55eed3d979d6574472715c0213f06310614164c7bea4f566605e73768c37375e77b7400827a4a76f729ffe7d52c0666e8d87f1366d832bc8a3fb4be04e3f5fe9e67fc9c6b7302f5b55c3e231952e062a47c339e30ee9b0993e5ea0d966a259b9fe07317462fa4f4d7209b9f499e87e18e96ef18fc1842212fd5d312b6689f5e790cd84633edb90e372f7ff7b4fc47ceed53f64121f37303c60637e2595ded0a4628f1516e374084d72e266c006cad7cd7f89ff105e252048d8706877ce1ff21dbdc74a493b7e09c515223ab1a66a4373f5344340dc7292fae8795f7d9e5e5493cd22542686ad532641766ca067beeb18c6b42108b3fc46e6b684a0781e5092b2c2688eb3e09de4be7248add7b04eac84714b454218fb982e1dda0a8d1a71a1054addad2de9a2ea5672a657a1a35dc9a7d4518a01ff5f02dd558145b1a384627c60cf8e3379d1dea87201ddb03a3a472c3698af2bc9c55f8f02e503d9fe963ba6854636ebedd76ab333ba68895aa9cb94408a81efb06f0c38c9f10b3acf378f3cc5df9d55d2e05f6c72ef25511fb3bdff6b9822a016f8eb0ac796211442ffe6011ae77f82077953e37209cc06c27b383b2f179980eff34ef12fdccb70547f82bba225d8090190d07472bbc8c81b9344bbeb6e59dec4b45ef5600e5ef09f0b3732c4f3b7a1cb0b394872f9697c92d36019c0a1ba0b8c8828570376be76e99db9e6d8e0b89b3d72aac6720e858c1dadb2a0415bdd902db4eba2dcf12c49554afd739bd15e31575cdafb7296a71ec28c29cc811f1f21245cb076545fb127a7e22bef3547c63689702cbe72dbb005b7dffa5cc43b7de2e017844504a47546de3e94d6d6666666732220b918bedfd6da4199bf4277a68ee0e8c2c3c42de7f6fccbcd646789288962a8e8f172e6e67bd76c63c9b0cd6040e476a50dd1bcb7cacb55decda60b7d353862fa7f725f28e1cc196d1c9c8b4983d78364863726a9e5ea2d3b5ec0bb0f82c554e32e72ea1a9b08a234951c4ee5685dbc5171ebf51b0b52139969f520c94a216c668b251ab9330d8dea789e80118d9cbe33aceb29050326360bc6464775677f8e7d2a5f2d52e80e54410a10832a14a097a9428f7f948e25d4968157a89da8ce3c2bbe72d5e4262dbecb90c054d660222c584778651f9cea719c276f6211041f4284217225a802bd22fe926ac48806dd3c4699873c11cc3850b1d96b41007b070746d37272ff5e033287eb9c3fda7211ce47d13dbaed1c340f569c5534d47566a4ba7d72ea8ea9d530d1af254bdadf7b408e059ae574ea9921f3074badeeaaa71579b5729488493a48aa3a7617b0c6b436555fab7129062c8e8360b70e747bbe8624b3725f3b9910f09f220606c8f3c5da4de24989c2747f304c29cd18f2cf01d5b8031314e6cd5ed1b4190bde26d0560ee0ef28738ce25aeb51d2372feced8ea834f65379cbd47825943eefe9e90b80477c6538ee5ecc969758497face78a13fef1de2601a649f5d2b812a552b30ea1e1d2204e1aec4183ba24bb4516637fd629dce072322ded10381ee94072cbb82e668cd3c204c9cecf5a92b4a8de344335d1e12b726e36b11d6b627c79241f120c01e0f884c2a1fa1af15303cccc5f015a3b47383016445fbb23a74617d21b6c76786a3bae4cec381ac73e9df6df52064a411aa06d8fd4503af444488ddbae8db2ff0e306160579477eab1310ed20d83df18707b5037a9d7db6d093ec2a7f5d94aa35fb5e9fb41497463df30fa6171701f78bc182c64ff4aa8c5e5da0e59bb1415939be57299e5d7ac06ddd0127f1a874d2f3ca61a7613b1def1652fe55f6037914c49bac8cdfd9ecff1054e57bccc4ef0ea118c729d883ae319ad8025a22cee7e1b354d002513206552481ebd7a66ab7ec9437d2f551f5372e07fa2bc2ac33b19a10d7b0e3e7e434b50e086b5c1cc787ef0eff8726de3375204d66e36844d18c55b7445364c759b7640bb7426cbf1d92b0cb8a572ffbc9e9f95be7e7843d27ac2066ab06931f4c6aea6adb071eb7a478488d78d576655c6c95064e5a702582f6e8bb5a29d93dd364e2067abc3ab31a8d2184bbf72c0d237f03857233388fece4b8464342a1d189d2df3c780ba548c5a3849ff701f1be24ba724b6195190aed5e713128767979d26eef6522edbb14b742ef1d3ea720f3c0ce021243df153e75164db7052ce6d96b8639ec1097ef9dff0543f9b6a7292beee0420ecf8a6d7b04525d936a03e7f849787f0cf6b25e1b8b4ef3f06bc4f1312efa4d08f5f602fb75980bb296041d4c6e458062a382358fb9b2e68ea775a84666936e708bed5a2a5942465ea0f366cf9494fb13e6b311dd27644f074b6728f1389352d360b377ca5f1f2deaa8c2f8a2f1205a87b996b849b9609bae2707218b9f8bab63280ec6b31ebf799cdd352c7a0b0cf4f6c832f1c8049d813605d72c3c4e27d18b897da0be43d8bd31f936b4067ead50415b1d5022ea8bdcc720a311be5f708884c7bac65cf3d0a921924b01f47155671a49bb43471ba20c2abdc7283265718deecde40fe8e9e094386429df45b6a8273ce4bbfd57fe00ac9d0804fcf279deaf6a8532122c9c53107c4adec2fd1912781ac0b602d5a988cc3daed721ff95dd7b36f4249184832d0c1ad13aea028feeecfa7a5df26d68fcd0abd95726fc9376234d0fa8ce614f09acc1b8d1417ea78ebe658d4138711b968f5c32972cee06697916dab98aea36bd7743de5e98ba6c672cbcc290e7ef35a438021b53ec48a9653cd9eeca75f08fd49efa9ccf51cef392cac5a4472da1be982fa596a4f4ce247f905220c36ea65977edbd6eaa1b82c7dbbba7069fbe7d20e5efd824d33f3fb1cabd17dc95a05453f540fe494f09ae6336fe9fd25c1376894efbac44b43f5eadeafa141725dbc6cd7f427b120387a9c09eede940dc6493b3fe251b9e172866618d837491c16a4a4ad35974446ec5436cea351850fa97d40e493a44f2a19867ea4e4b828d0b21b5d5162ef87baa3aec520306898791fad58eceee153f80a697aa3a1c9c2e760bf9e4f4898c5d830e90b9a3f43910e71b598ce940efa3d725dd3383991d52ae9f99f33ebc63110be8476161b047e66b3a1126fe7584013165814837cea9af233d7d9c87dc6fb86e787bc9dafc527c4a97e06d7f25e754272ed9c55f1afb70c13cee2ded9c718066feeea121bb4a021747f331ce43c4d8472d95592c2ccaa78039a798a37174f73e8c55cb0de40ba3bc1cd832172abf9547256b11a4e66d3e45118aa7962ded943f3116e7c7c698959e652d5a48ef45028602238191b1fe0ede427196353ecbd9e8c6818c7d284a77f60d0f3c5c831d29331021d97951bf39b7a6e0670ae2e41b9d0e0111a7cf70b44956bca529596d72872e614875873bf40c9c84bd09ff3ba2ae74bcd15aef91494b53021b10f26edbb1d54e7c3bc2782e039c23d9500cc9c99f3ccb72e3ae4c3da744a8912a8882e397269a41d5bb868e23611c7e3f11be481ab3dbb832761d8ef9be9589ef480f3e42dd26252a64b423e5189de9d5980e7993470c8edb9062db7495ccb964710dccc72a00a32199d106a50183beb22d1dde10b9a37dcf53cdbcb417dbb088db848d372141d1001eee9cfaaa422db0b6b341052697be178db0e4d2dca310efc9c057e7201e396ef2758461fc4e95121aa867a914cf5dbb725258b2b7921d6f6ab02d5010d9518139dede6a32e403a7ebc4eeaab52f7a500fd289e7147e50dfe8aa42772ba773586c322877d94ff4febb26919bf7a0d5d156d310a51088daf2aebce5d33ba26ba4a70d37f6990fcc216bca291d1f8bba018656cbe7fd0deab6732fda272ac77f3a2ec9515bdd8a1890117390c74384ba01ef646be2c1e8f157c31749272ac9397b0546cc4f5aad7778ff800cf127aa5d0fbeb3c7251f203a8e0ec5d2a3381299ac998fc4b8d73594b458f0077ee04913fd12759171c4fa3656401748772b911ef4526dcbb664fc2b35a6d3df0645d3820ed452e1cd8161c35599479df083c8f8bdaeda1aff6d6d44feb4b63d5c5407ee8728a6a504b4cba926f27bea772deaba211734dc6302b0b953c4211b3bd6c8787e45208e2b0ab91a89eb263a9715085187d9c01f06510e98278053c53234d3be96419c20dfcb23ad8315300217283065017b70c356a68322f6d6f23c85047d5094ca7787af98eb46cf1aa88444b8810768f080a97aaea0f8973d27c5db4b3089989b97797634fbfbd4717f77a2f36925133228648693e625ba65bd25edc990e52ad9714c20a20e5d4ece484c83217f2b2ac71d50e0ffb3efd9d557519ecdd2a53a69743db59ffb171681e0e8510ba3629a7a329c73b277a2eca1215d7e6a2f46b99c64cdc291a8abba620897f727ec0f3d99b938f0f844d59512e7140729beee8a70c71eb0d6769d5e4fbe942728b732d1930314f20c5845ebe0ebfb9351c4c1ed2b7605dd18899e3947eb54b16fefeabcfd0a54dfb8b206148f5a17dbb6fff86462da8deb80a3b6393a2c9e37223bbf29c7b859c986354354193f6333a637c89f49cbfe6022c737b059966b26352c9429695b76f9c65c3a56fa79f2620e934cf6ecad464767523be29a271dd41eb4989814d289b724e8551f11dd213c381565a758fa896af96dc1382fe2bbc05b98f0d128c41198ca55d71cc98d8c313cd9f64587b93c4f3aeec116f8a4582722aa6d8c83db98d393a470945465f04b297ddf63d334cd6c0ebd5930f51d66356a554fb9479840a416d7e4f1fe54e234c7e372c22b36e3451ae2a80def1685272f579c5d00df806c7d3cf043da9e2720b1b8e3962fc53206306f33d28824f08729cf9024b4e5ee15b04fde30d39dad9490df42436f2474b7fd1569f942270bf72eaccc1c117a92f1402ccb485da2820314400487240f27c730a2b2758e6aeeb72c16c6708daf0b21eff671c4f537f6c8b57d6e1b55edc3bfaab158ee1ffe66005ed7199fdc04410d76ddc9eef90255810226d493e3a019536401219c32bbcdb722502055fa9d5b61a92f9921249f29b5072398448da5096fdd80372bcc762137205fda995616071fa23d2b3f4e3f5667575242f614f03e135518343f167092272f35ff836ac909ea42f6e10c39580d9b6e38abccf95663c0a8354ed2b38231f729832f73f52ebe0de64922df2e987c589879d33ad62f9dd2eb70b562f765ab372e979cfcd41d016b183a3870ddc5ac080f727a32304ba6ae9c1382f4f70d127417ff14a8e4a1d209c42ae6b5745b6eceb11f8de17c6715f4861472fbb507e24213e40b77c028959bba225216c09423493ca3ab6cbb57b7e5fd7122035c8ef2772160021311264d6b799765e9298249b06942c2ef6cf182519ca393fe4a721f93e8d7c13f0df60d05cbf682603dd1893163858238b591c05a275c7d5ba5e53fa72617f3e2688b42c2e5c1cf2f6d67fc7adc43d0f138af2aba5144b03db739bf16fef4b1eb0cf472ca5b616512f05afa588efe5bb7063eac66a424a9f3f9a7f1f72a9111297d7db9f0ba5965be49d2fbfad526e2f8508952d16ba6737ee10d1f672d5c125c5dcc574ec787bd707361f2ddfac73ada7145883907d6892047883113573307eceb6633c544e3d7d9f9a564f03921d9843e6fabf3819e7b6c0948d7a72718dc2501cac913a47e8d9efa5cf4ac8e77662c7bea1ee312c92bc17d999e872814a64e64f928f0d60871282d84064a651e36e3a91fb6011dacb3eb9c2781c6b6593a593ad028ebe579e5620bd4208b7ff14d5bbc3605210add1babaf7c8087251ab837125d59b8e5df1110637d57587cdc430e0d90b55499c2f47438af6da7289991fb3a282cd91a8ab0ce6a206bbc46fd6c9e8d0c7079fb3eb790eef5f53259843cae2f3890ab2f27777d6c07b583063ff57b2b75c4be863bab9cb99a250721865b998ce178733de49174c116327a06d27ed3e0ee12b7cdb01c2af1e4f8636b87aa951dcb024751bffcb6cf41cd84a1b89f469fcc9a6608e4e8ebd358a9672954fec8fce83855b5c9e8b63e434f6c80ffe6ab5c3d16528bc5c1a060a12f2724351b97f67124eb1870e9f4458fad8348345e0a6b183c63aa03c109d0beb4f7287cbdbb626b495c905ba5560734c2f5ee5f8caaba090853a62bd28ea58b4b35c486a43eba5d3e53f7d52fa3e9bc48270048ddd12fa4819faf88b0ab56b218e071ca7896582aee66e8b12e1f145eebcbb14cb85bba36be86f081a37f0b6f0ec72ddf1df9a5c97794e26751dff3eb359c64906c644fbb4bfe0ffc7c43606224f24be3d8c6a9fb3b6d683f3e714961c5b1262aa23f21eb9d9addedf2f3a82332e41d82fca16054cb1a271f42aec942710ea6639585c2200dd567817fcc08e06b767da326d9c5f2a9a9bd348be11cac7dca5b9a11d29c446d1e59d20f10c67e05e6cc7f5461369e509495315e41f8a4cc1aff5a7c29c0262d59e14ef972558b57c72bf4840eceddd258b77e99253eafa7749219a49d841b9c55bdaf9a18ba0ac5e140729616fb455e377ab13b23f2951ff39658b510df7a96886697ed13cc61c7302e70649c73acf7643f1cfd2a06f57d4a92151d32c1f2ee75055d80e0f31a72d0ecaae4320b52297086993a8b0cb5c2773092db807a5dcae5de38c4f7d3edd1b4bed6ee607364a1dc39eb7a15f284f46b3cc76ad60cba4ff63127fbae0b8b77f72d0c0a48b0a0406662ea0c0c6b80fd9acdce610025f4b909867f3aa063c82037290b3d2efe897c54ede23c5fd855b1188ef08e29994df6fa54ac9084898c2bd72e3e82ac75742b9218e48981981511eb7eaec626b5dcfed06bab1adc73f1df12782218a5d0981b91db7791a26ebdc6ce12a28aa43651e9ecd87064f107a938972746356b50265f5558509c6a43ce5d6f7d6f503266f6ca580b2d1953dd3ee337237e112ab6a8f278d876568bc4c59c3b610f15492efd03a217f04e0811bb1d872e621475354ee56785cd169542b039d00ab1026560e4a9d57b03cbcd90e4c08499995a5045d3867e8174b594036f1260d4b9220b2a61c9f23d90033e888e37272dce85be1710d9c8b1902a6918beb29dce0301647cf8b25a824096242ecc70d72745760d5597e251514692476d6b2ec5b6d1b8b650e585a8db0fcdbff4e849572b87896c979144663f9d8771a0333b841eae46bd1e428ebb2ee201629b624fc72f444f6471cc9d1552fa303bb3df1d83a8efae8fcaf590fcf16f84b2ca4f3b6722c8ba46f749f52eb4f659f9dc5c68d73e9922d6af8b31f8998addf5681894c0b44e0bb6e0450c1e9be5ef150a00229a536ab65e35d60cdad82bd33efb8d2c94db0a65104afd92e743d4e2f0a44a845f18a9e5994b0cba0c17f939304c8c7aa6bb251b570fd771e5b652ae7b1f606b91f75615de3bcc6225db340ac81f9dbdf2ddd9c55f776a25ad03e65397ace13ea5f7c134ff3561b3610e9a35032f0ef446606de749063b18b265eddfd062dc0ad923eaab82db45bb8b1c71ba567301bfa1b5277471ecdbcfc69042b3f0c8c5cd3a2d24966f83e0b8d5882bbc2a58e7bff237f3fc3e40286e0bd6aac07fb0a1591ebfb5d3ee582322c4fa36786984f2925723612ab8da3a15d5fb6f56d4a4092675fd02ce8c805d183d8aab4febfbe4915658a3443980c1ce6f014f00a243334c194556a6d505d32f743ff4f7d21d6d1e542df03fa57fa4163bf4af94a8ba7ad2a1d8dea1d3fc1e355918b736688d0f52a5411f06912e3a4e3bcc0231dea4bcbfc0be5be91fd31a98708232966b301d442724a274875f877f59e474469dd133d9b43d9e7ccbe323ab78386461a05d350562d1c8f41633b08245d5510734492d0f00c6ba1aa33eaf263434d3706258a3433131c9d5e6acf90c6ed18b65adfcd1a32b07cbf6bb05649dec6646b5d61e107a9726eac10870c438ae96b53702123a6e695e73ef6766c5cf3ba9f05f6e4d6659e72eca49263e95762504be1795e613ea3f19fc415dcec57a2680c838ba00eeef36613c978eef309f091c3ccb9512c500e99c1cde726341e2888f9d38b71b0456c362c506b1c1d4caad3bb00667ce8235edfda6edc57dccb8a836509c658d4cbe31e203d11dc589a218f6a4267870e59ae278ee45ff75dcbbb404b4e2ff7b51cbf13047955b50b6652695ed41329252a4edba4103e1dd1673d9198a59564ac341351a57da622d3f1025cc70deffc31c2e42572bbeccb2acad38abe1ae6130a736f7244c8747a6dc2b57305cde3332f7a8efa797fda9c7096336703d72e0acbf444729e3de6a7d45372407080e6b32adf032f25230d6dd655323fa864dab6f0ea7c033dc9faf7e08c6af1d5cf390dcb48ed342ceb1da79713ea69366b511f4183b17279d964acd5a00c79284c202d024377893696b82e1433228744ff946dedf3f772dc8352b9810349532c8e85e6c73c0a159a224ac2e4df05f8c1d9e96ff1b177727cdb1cb93c52a8c71130230b07d6452ef5a44a68637f026d8ad01e426c43b0667c378551e2d56dd18beabe133789375fcab836f4f30f6479d2acab145c22ff72894eb3e35d475e31ea4633bdde7e400e0bee3b1918b0c6993b2e4a412369f77240b0141794cd78951138c4863d59837e15d492135760a064c77da6925e9a3663c6e4fc97a0ec9f4f68525c680d063c216174b46554b18d7845fdaa913b1f2b721290a03c6e5545e506a7a56663ff814e24c211407924ff48e33f599f2286f13ba5ec1815376b6ea816fee4e7f9f61466e422e86d54de69dd9681ab476cb29172cde5e8bb1d9c45934c72041be554c8c216083940be2f900c0943852fe6d66502e3b6a153da75898dfac3e1ba35082e85a21099555555cb145d4d6cad13d07e725f1e013349955174df22993f8731494cb9e50625dda98078598af3f619f3d056c92a6da28bbe86dcf8195c94a9205485528eb4fbfc7c797e11337e951938c6725b36e1d8611ee199311552a0b74fed392f1a12dde1984437a11911c6e67fd634feaafab773d4b821957dd300b29059d9024ef62caf5c455d1850582b84534320580c7187ae0ad6ad15b525eef075eb7a0b50bb0b5847df542c5920fec94875502f4dc52e0331d2d8455d8a81ecaf74e4fa7c8de7c3abdae111f7c7c1e61ae172b9739fedb848cf0239c52ef2f6caf14f2d59a05a3b7539a2d9cc9973c3a9857297cfaac1a073474d0acea1f5a34ac19c1406a59884b5872082ab964cbfe82472e40cf430b8d36ee7e245f4c95ca29b4b472c681ae575425f3c8d7fd7ad032a72317f00212d8a3e14dbaa152011fef336654abd1bd8561fcedab54cd9a351e802402471ed9623189e9e7210386b85b30ac5437a7b983b0ca226c92fc3dd73dd72faec52d727131e4a16328d076ce512bdd0ea8f56ccaf27dc3d6fd1e108f36a721684c5cb758de5c53a759690318d56f99b720cfdfb4e9fcc7bd73de3b2a38943565807d15301de55527792618fbe7860a2e52d652afea3a0b6f442ddb45a9b72a3d8de73c8e54574eba200a5a2ebf96d636a00cef260fa5feec9d7e722ea4e3f3d403eaac2b87c5342fbaadd4afa848493986cd29bb4c258bca7a0b569ebb1725a7aff41613e3d9dd8ad97b579d13261a03918e537c455e3064187132cb68f72f85709e55f038802b722ab547c0f4915b0dc5557bb5cd03f5ccfa65c72f86672ba3f1b93f2fe95fb5ad2a22409e396da6e1f7ce1db071b6eba62045bdc2b1729d1ddc150077a231d6716cccd6d7e3bdd93eec71a965a7eeedc3bbbb03dfd61721c0d183499cd2365791000d864450924b089925d804f38cd5ff8d05977ac5172929fd32b3502fa837af2c3b841dd97e06c8e5b2bbd15aa287f3972912a5e5b72cc621dd2d3c1253614d162ce532dd3ea96c9d98f7599a20ff1798ed1afc01663e38371551b942c6be08683dcf54cba4694c1cb01850e37a016d7f5a497c54f4aeb5d73d7d599f0b60d43d4b1b8eff9338c75bec077b9899bc1b1a52064052072991b04b98f313f1a69a1b84a9d83aa0d4c304d0b1166689d3ebf5a4eac45f472aaad1aff238ed135511e37705f24c19fce3e00354f07d09dc9b502eedf66c072bfac68dc25d102ca06143c196c873306242c1fccd18bc71c2bfd4df059a6442ec2cc4941fcd1506359f5ad3bab876971646ec4e2d21611c13a0f21cad1b14e49fc22cea83b6cea1a83c494d7e403c8edf337b2c15e70fe483087cc5c2a8e7972aa82ff8eae52453dc427f4621deabb540149ae78dd2cc35ade975f35de34e01d4e2143f7548b6527562ced3e9563d97a62d19e5acca0c68570fe2316956c7d72ed7a79496ac95c42405cba39e136da634b8ce8afbff9282409d2801f32db7262f29f0ed842322d5fabad58a7a37edc7d838f4502b04a1a00f1750888291e6d19a9b5dd5a108897321b8daea5bec481858f7c50d6f136c95973461a3390d6d372f37c5ef5c789cfe812178df77a56a8b59c4241e058de45ae76db09f9a3715e0029264fef7d6b330d37481266b25bfc4faed380d910fcb9e7baa756e4424bfe72f6afee8d7909ccf911c9cba8a8eed4600cd4ac3a2a8bb44f5282b11ee3fd6a0e111998aab06471a8e66e045a29b7dc05db766d6a4960897bda192710001e6372cc7c9cf416a5ece0114a4abaf830919e2b4744807ba4fb95f6bda420e44ba272abf6478afc935cb2bf159be6fd4baea98f2055d74ba37c19828bd464738bd9388e131bbcf3466403fdbf6dbe6d6b1a4df26965cd1e66092a7eede40f4821d2720226cc9820a112938f3cdb6c073337a705e87dbb94e41e2d214728e296ca7b0146e9466589b3667d84b0cd75940157895a3b12ed642172cba6fc0fafe4f5f972e0adffc7def3e21319e791209cd4bd65afe388ff27cdf30cc2964bcd8ceb9b72c3c0c14ff5f640950b1630364ac251ffa3f4b09f468f4987c346c32da2790972085334c45fb67e4198f2114b5d506d97437678aaae833ec91b8154ebc6dccb72ff8806832f2a1389fd86fed608204c4312a2feb7e19b6ac22dd31bd666cc1f40c7ef74d2133c02bf6ede29ed7ddb01f777136905fb0ed8735bcc7edc95dfcc23d34b45b3798f11ae513d03306ae22ea59034956d532a6bfaa2087989e4646e5ffad835e96d8e30872fe30ceef785a0530e5d2326c1c61797d37d7dbe9fe71472b8d2d57fc7405391e0dac8bf4d556c7ed2f34ad87dd9048b46c8f88c58a974725e773697cf58ea498c69a7520748aa9e5022ac30ed71cd2938a92dd6f1797672d21a9567b8997b66bb9af8fbd14edd3db877de16d4f7a8144a0c2add09e32b729f6b88e2d3d910327864e0e82c41f8b9401b4b9826e0eaa4c17479960ac3b2720fe30c9f3269d8a40a108fe87546f68e97f6cb9782b48be829ec492aa99b72727399faa550692acc8cf5c727a26c7f48548fb81bba83fb7818be66fedc8eb1721e6f06b56222018bac038ce20e3699f3511ff9391895f633faf738c2adb77e7211bdca0588348bbc0b6ba4e0915c4d7f66d8ee0d698a071355e5f4710aec6449340425d82f44c97206aeb5db5fbda59bc1f0948e04522254871b9259f570937234c3682538dd4f4ee9f2374bf5baf958c575cdeff50712b2606de6c39ceef923d1343102d8adf21293aafa050c3c97ffef19496d4176821d6d945aaa4c083572d84cabd2094710f01b3deddb98871651f66a4eeb1d467f54d3c646659e5b5f722a190fd3276005a7e03473f20a94940632da15efa6063929729a3f2a5de4192486a030ea5c0c3157f6127ed34d7ec4c868814a5364c2fea9ec9e8c6e4ff57672bc7316881d6851c171fb262c76960f44030d5fe08b9fe7990ec577bc2581232b46fd80fece490d309f56ff1b8c6524b62d3df9855d08e8cce63a197d1239827289c8af699c08f14c753fd2d78f6d78cb4f67591b913b517d5ee974c420d87d6aa1b7d2c7163b58bf049db5f2e6c0e90972355cf779a022a7061c939f071be01cef0f764a46124db87b1b0f9bde54a01fec58b3a49d9180ec748cff168fed6941f4e8f68fffd29a0881dafc6747790e4588c29e333d1a6aa369f83f316fb2de728e6a27cf104f2ed59e22dc9e3f86f0b3099174e555fe06c10a09644da9866772e29330f5d4fb86b3cbaa254107157444a4c0c58ac969a48868749abc6d5f94725ad54bcb42489dba0d7213f6bd3d50008ba84505f4f1286be43daab76a0a3204e66a51d8c7a5bf6bfab91c995d05036727635f5b5012f1e982e3315bd936ea722dbadf346fb729acdca0de75f31169bdcd6b57695784db60bf9eb158768a321dee338aa6314866144faba962477112280b4963734e12aa3412a4811e4982501555ee8dc4b6fcd17248aa88b97c5e651eb9433d08cceeba84ae9cb2a3d8d4f923b8d5264be75caa2f2781a24242fd8c9a31f0dcf5728dc267740681dcbf02ed72e577b417163dfe2a47ebd47c6b7a43dc6ce97c7d221302ba879b39e64fc92c7290c778bd13733b5ad4b951df682ad2654c290603f1c79f2e8af055bde13e5d720cfeb1d42764a82273d7077e775645bbb2104668000cb2b62f47f2b3c7cc0a72cf2980db3436b3b5767226c3692f9d80ea25d063970fb1748bac9422fdda7a722a6fc8c4d8f7e6d486adef995d125863a5d64e20430bf1b9b202f178c5b8e609427181b2b200276d57fc35a1ba0e81f5c8658a4b8d23027f5ad52ce7a700b7519dccc17531179c7cbbd632cc02b395ef3b685865c7880b80b6ec8c5126a84e724d15996cb953d20b7be302286ee0936171c25a543b4e64fe1ccc529f15e13072b1c99fbc4b479f8e8b1001b750375cc2877377d78144d22850b0ca92448e675dd51a0588c11d345eadde70b4a74cabfb5825f64373c6600c0a024eafbc93c46b19ac0b8c016c2cfef74ef80f50a84b193a6b738c008eec3d7857196ef2afc9722b0e5e58eb0aa8ae1c60b668a8401a7ddcbce4e9c63dc71b0cf40ee5a2be494c672a74f6ed739db9c02a424022d565038fb68395bf696db46de9c7cba80a14365b89c915bee2121f3d8f95fee7c9470923ebcf1865b85b866527da5667c6ef722b8af2257bd2043d0938ab139919fc8fad3e1f94626be7d8622a0573901b5343ee551739d75846288beef0f3eecf928700aca1d53549e7c968351270258d4d728a238a93885e693af065f4fa97ca4bd13c03c8772c4048f452390636033ff872f2123d9d285a5f06891e2a109005a41de0d79505ca8ae31d5803c25bb8eb6a2ed7e250a11467cb59ca91d4f8f674f4e049080909c12dfbc27ebbbc64924a823850004d8b4961631532047b9318d99d216ce113acb6c8fb52e714274538387972288609741f73823235e2422d9c1b5f671f83ef73dd90b69c1bf85c94d199047269a7d7a15fdec1008aa76e747517ccd45c0d850886782cb03ff26f043b9a850a7221a2b436fbd2d17eb63532f22a94f9c15c5733dedac5e7475b1d64589c2f729b3917ba4f97f033bd017c641da8f8687c90d0106bec9e56f3ac083b0892350651f893bc774db909f00d7faff4f5fbc44a26d00790566c4e9dd0d91a393f6772266d8dd80c9d961f1532a0f53a4c9ad896d6b1bdd6ec61f1a498e83f0a32e32dde43c31dbcf6bec5f376c59de0b44a485d9d50e79ab706bcc4eb071dff5f9e252bf10a28dfb460dad1e02c2edd024175fa51e8d79cd7b0b3399b6008bd3ef4097c78922a22780898e0492d73a020cd6833d3f31b08ad015ec66bbca28ddae972ec572f0bfa6c082ef04f8f0c815df3ee707f9b1dcbc5d14a6faa009eebd8f4725c566ad6e4a76a38a2fef5a845a0a6fdbcb3865015ce2d4290bd6e2457d60f43bc522dd391bf912e3ad6c62bedcc75134f61fc0c0d09f64a1d988fae972b54286a232e6f076d3c9a352cb7c30f40216f0b8d066d88e65bfb5ef6b3c309f3fa4e209c3c2e57456b3ca48ed6a550f4d8690b1e73d8cb3450dffd0e818e0338b9207177eb9976e9588be3404abce5cf83da333028dbf80cc445b7d849815e2c1e720853d2f6438674c672f4ca745facb948b15d407904b062f3e75e5d29f802ea72185b4846fc83023cb0305c8de2b2739aacacb7aae0e743be00d548d4ffa91c729144a0620782ea126904a1470662f4532c6c53684a5357878930e91dd395b72942487c7858814d3fd1bf0ed4a2b0a1c90d2b20d5b038940126af9adc59730f4cd5dc7d4e7e88a3b57cde5210b688932014e7c8ed833a66805854a269fa21b372693c1021b53604605ea760377001d5f12574846571e2c5081ffabc0414d6024cf136387825bf96400656dd6a793a80d6f855d978f878274cc247de801f555c2141191db4c76db50189d6ca8832a5e9be0bef9a3d8c7a025cefab40dd0ffcde59e99585f5a2ee2e5a3c507680367991977184b4076eb5d9da36599318a8d9a21059ffbc8cc54bb15efaaaf511d3860b58d54cb291b764b217a4e425b444e46c724d37fbda139fcc7c85c0afd7d3312f259a7c979c6bafc83228427530a10c6e0ad572de2708c7a5220f6ae6cac6fe422b68c6e192bb9ea6aaec06de82adcd640430ea5d4619ab7007bc4556aa2f2fbcfe4b5da87662f7558b68fd2bdc324c2972e4195c20681d8098c199dcb6b19cb4311edcc6322703fb758c7fe08361c0b67231588100a97409ff73ed39ee653bdfa1b46140052c1bd8086727307c7b37cf0d94ddcd531f4c4eb4232d4ccc0b191544aec85a9fbf10970d8651903697e173724489d64dc0c425021d9dab287ca00ed6d253f5de83a2454b7a3eb18a9f3a8c729ac788109326a0873f8d88898afd5071617055d8f564b2ea474126e9610d427236da522457520cad35819a70e61360953aa4665ed1f224566c8886813d61c3725cab59c8a4def10d7ffd0a60fe34c5402a6f55a1dacf084ce0961cf247be6c72f67d0fc15860d79afa9e56edacafebaa0f6f30c53f6a395a8d982781a2c1a4549457031fa3d38704507ed213e0a544dffbaead9d7475cc7f60cf6991dc01a369b7eb2e2980c4cdfb77be63b8e14f845744ceaef9846668854667d805a7bfd872e8f096537c02fa27e2f834c39a0d965eafc67963da10d487d21693f8ccec86725d50ade9d8e75b24ac359fb0926af2399492c0ad36f4e91f5eae43879c0b5b6c88d10672bd5839e664f0cadf4d12c02bed0b06f9f1d1d3054f600ced25018f2ad49aac05bc6b217e6915132310ce7c67dbe15ff2be20c17ce7b0c5172ab32d72a3b17c03690e56050ae4c423cd24db23bd9002450b0eb1a77760697e2e3aab523a69ffb0ac34e8db6eaa5ddbb5e32e413c6bd5aa8b25b158125151d885779a72e1129f631d3dd00c4e06424d122f8e345e20f0060b582dbdcec83658997e466397214e3757ce9ef6a24311efbff7db53a3445c653b3fb2911e5bd136cc45b60461f2c78f2779554e4a6fb1d494783ec628d057390809ab28390cccd5794d8b0df5ff9114451cbb9047dd7e0cde1695a13c94a8a817aa9fe63e845a3fe9e5ed720358645b6a9e6039da93a0e6c4c75505676bc1d42f3a58282bb8975467291d72228736e575f0d2b6ab05ef5a6bae5f8b6eff55dee966675ab25d0c2793ac70727db8d97f230a603124d85cbfea0dc559cb7f337afb682c9516c41efea1256872023da511bc147a63a965d56fa38516c3b5f2c3b3b351e9286cb403737f531672ca2f48c639076255a19053d805c95948fd23a3b634be2fa22e3853c67a49c17256bea9ed12c22604c6c84c78154a234fee23fbc04c09333bfb1c14b18290787291f6def4298f3fe6c8584600d995d6a1994c6dbceed3d8c15d044ab1670a3e72e1fcd8d83e147340d0ebb68fc215b40c29ce1ccf0b0d39b98a54b0b09d72eb72575407c356a9e3a6d5faedb507e19ca01bc001e1d2f1524862799f59e0c15e4f4e81f38e6f817fd6fef642e73ac639d1b38ac1a3288fe31c9dc5951cea86a272f882ec457c114945250087e15a525bcc9b7710bd6944002c4f5920fe44092930bba58915b690e7fe4e1e995793ed2c6847e5ec1379fd673e2d3ab1514dc75f0186979f57264810c28e5a6f6a13ac860bcb4dc2c77547629e75e5f50f4d72ac72b251213267bdcdab3e1ad2903188ecbb3618ca508866415b114df2abfd7c6c10feb281c4da2d2a8ab481b7d95b0feab2e31502c9dab00e7bd8b486da274952722bb88a5036ec9303e5788247ccd2ddcb4688ee507beb75693c0229813554e0725cdac0ffad4da38a8a7a76258bc39062d4acc8fdb4ef6678ebf0c316a3d6d52e77db83f028f099c548f575485f2b7ac0e0fc0a38e745b7340070cd9d049a8a07078a140164e41e84fcdd7d0743467025891889626d056edee5852a0506e77b7214e2914ea28bfdeec85088411abd369bc198f1b55bb29728910f13df473d1372c4c0c507335a78c798623df73e55c3afa53bd2ab0dbb24f61d8091f8bbbf4772bb43ed532823ede5e9533f0d736660b45646c46399ba97bc8b4c2505fe7e5e70c549265f0ee870afa88d4496e7d199fc82309f4871920724ade8e231db3fa962cbb243dd1e2ad4056a20eb8a60f9af6cf5bf31f76a4014b20e4569f4dd48a5408af2320b5f202f4e80b994dbd1f591e6eb9f05c25507177f5808aea1c0cf7b7291f6840fff45d6a578ca50c0b65e45aaf0c61e0424a1248acf2006d66ebb61465d7a3e1c8153600a7614fdcdf3801c303395e4651b4b64217662a84f93a0b55b16d391e0ceecc60d0021596522063e90b144b5cd79ae57ad037d54e73f779172bab4f555ec0c31553ca342806fc93a068c23d07329da209809a4dcefef335372a851d142da9eb351fa7ddae86a1373f260f988a132716a1dc5f3af1a435fd972b8b7c3589efecde8bef51d281965a4242a58693a7da0c6cce5b058fbfccd0172d8983dbc799fc983f84904d15a72205af8f16518693640dfbeecf8dc8ddc30113840d03c1fb410a4b9cca50a43ceebd98a62dcaf5eb6c966c431339039975101f523b2d371aa17aa2a0c2148ec3c3e65974ed0b8ba1ebd786381b074d15e4e7299bb794c94d2f40107b9cedf83a0c87d22e07d6588e2fbf41ce71453bfd69472a5e0a7905e82c57aa1f3031049480607ef7921bb537c0ff38f0534bcb105e0728c4b9d744ff334dde62628965dc960f8d782338fcdca30146fdcbaef7207136e0cf1eca46d9d5e3d7eecd51063f0d72196fc21a75f4b45ea54b65b13b66c567221986f2d14ffac422bb4da38e95b6ae031c241a6dca669e5e64dea2dcb447772ff121fc03696feb9a5587654cc49c6ac0d9ccfb662e30f97e3545b492a778e6cb002979b7163ecce3cdd9a3f10d5a15f97cf3cc951e0cd13684c8b8db6fd1b72814f59c7557b2ce1c08ad1241a49b97be1ed9146e09b5e2e9f21848e92d72d4800d3e37abafeb37896a12b050a52c82fa73c300c13745c73c0a4dcd1bcee3a72158e82cf23ab93d7a4a11712627fa8962b48364c48eaade1a92549b2ec669235583c83e52cc4ce0238e79869f3afe66ac2798e3c63277f9bd8cb36c37cf38d728712834b5d131dea71158add01c9c35916f5a180221f6717f85abf1a0ce52643a59ef526aca3699a1555d47f11fe598910d04c4a7d68746925712a78a0671769a1c658ee85a89046930096fc0d2b63b6e29a6059de50020c5f4ef1f4d24cbc7241409460f4dfd0352c09a8728d56696853bd48220fde07abadfe4f45785c500abf9d298b7058f5efd95884e84eb7fe1a4b5f6ca1e0fd430cfe3463c9bd8a60720961ebdc5dd62cf006b0d9f80a422e1a921c130250a5c102983ac72d0c460872f7a9b3c732689ff94b9d7a1e096a00abbe2ced0d310d040ca7c480d36d249531a9878fac1633ea1bc05a508516f540e931d5ba01168ea0c901b6da21e56ad17252d593c1978b74a849c93935b04c36c2e026ffa1030323ba2858661aca62b27263f89ce6a2e20edfe7e84501583c1d77c3ef8bda35e53d5a72a65e957858250afb784cabc5d7c356d05768df8482bfe6aadace20e36098e9a502c35da8ddc072eff4273520c2a43e5f33e083de39062ea825ac56aa4a3e8cb1b57cf0aaa44a72fbc7ab80689987297f175fa172bfe3860ffe7705b1d665482e07b2c460ae0b72ec58bad4bf3df7c59289b8702f1f7d3829246df7420e45010c64f6ded541321a986d47775eb561e3fdb4995b88ef40566b4c1db4acc515c4ab195008f4bf0072810097117d5c318a8e605fea054f7a820d7fc33241283a8d5b123f36a6978072f33adf0f2038fd09ca104837d2f2208e599c39ac66e8fcb14e8591c8b6f08c722fe0d4dee3e69c2f0ab6c045ea795a8d858c0b19558f7b3fef27587a3a9af072bbd6e9f08bddf7c50c9e5fb6f694ccf71156783f38155df05bb39337c2b0fa715b8d5956109b610360bd5f2d3ed453ad0a7914891161464d1385e486a5e21e499b4e4044fcd6a96a31274614c47b0d7ca18511d190ea44c167ae6a62d41a6e72e7c1ee5a10ac4a4d4500da17972cc256a1edb75bcebe5cad55e07d70d46c2a727a442649c919161a6272ff234f83c7290eb3cf5a5f3c41f3c7b9545468d915195911674ec4803d928721c3c553c8a5a03019889628ab27cd822c8f3836efbf726ae3f005f074d894daa19fa0326f08c2940852b2a46adf22e60b8e507b967d724e38b28334e2b9a1b7618e640af6fc91f7a24247199c604d380c08ec8498ea70e4544641f2746d59f9214e8b72ea0858418a358b29e58bc02457a37ebd3b587297db039b89debab965606c11af47fd68cddb35cc169b0052c0b79eaeb28ab872a76f62fc08f3f382306de85d03e07cfab2aff1aa42c8a552627474312a48142037476f646e188811deaaa016b46c8645a65626bfbb6cc447979b943b7e031f30bc3d118f7d10c99498e9397cdcb1df9e6e137c9e7f853577374324858b209e72285e519c5f4a6baa569167bb7468c506e725714a280ef305cb6b637d7ae4f1142f1295a056064b01aab06d2f3a4cd6862d43bdc8409f43dc56f18b37c27f5572a09a2f5f7f3213a165104751cf8d05c6850a48abd90cbbfbdb0808266735cb7297a7244897fb267e08220ce861df02db84e61b8eda4d2f28c9e3a8976b0ba972fa9218c3893dc3e537a2ced56d5d0aaa5875140616234eb923ace87d82d5a740b731553e0cc0274a8561761c55a4fb0214ffae58b60d3c60fa695461cfbb2c6870c935247960b76d95d4211d50f65ea99c38ae77e68e945132e048abed93d56954f2d59acd7a8f5073735e57bab2ee379e784af7abc0c5a0b72a7a288f8b04415be6223c942579e9b3c00cb1f2b632157d24ebc737cc03c2ddccc266f9d8a2727e565735f52e422553a326b5208210c9e189bca1176bfd9a3a4ec8e3ccd822f8f5b0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b085103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d0b0abc07739e8026f10eeb9a014f804934b7b8179be4d0cc36be461163862f6a575c564a3acd27de42dc50aaf4cf214ef7cb0822d2a5d346f1fbd8a182b7eb4db0d74710e1b2e241321e238e18c319bf56fb3f44f74fa0fc73de32ccfcb877a1c3c82b0934e95336c3c3b055ef8b77422d76bba4f5136472be7d4bb203cbd126b73fd869bd1c97015cc1a6b423d5de05afbd586f8f5b0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b080c5f2e1eb23939cf3600f61872e3e9964d0acafb440634e530d6139a193b889c56a0c07d737729dbe0626706fc9f25fb098daeed734da114470da559bd4b4c7259e1f7952555241dcbc90cf194a2ef676fc6005f3672fada2a3645edb297a7553b08a0acec060064f7b4d8afbcbff1590de931a07fd5d0ef602758a231efd8432b86b6980585b8befcfb8a423f823356dc8b0acfee4b69fcaef947e5457351d3b5eef9501a7b9c029f20650729d81877315a7ebd571154d063214f66069a4a80fd7a7","type":"0x3"}}, + "statusCode" : 200 +} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/03_cancun_send_blob_tx.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/03_cancun_send_blob_tx.json new file mode 100644 index 00000000000..74059a039fc --- /dev/null +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/03_cancun_send_blob_tx.json @@ -0,0 +1,5 @@ +{ + "request": {"jsonrpc":"2.0","id":8,"method":"eth_sendRawTransaction","params":["0x03fa0a031df901140701843b9aca008506fc23ac00830186a09400000000000000000000000000000000000200008080c064f8a5a001111dafbfcc0caa0803fc22f697fd3b9171252504e14ec0443f04a2b3288715a001d1dfff9c15b3201980d8f9b958a8ade73e3e1e0ca76c54785a33e09519be7aa001a7b4b55dd68d59685abcd629708c5de44c8e9edf3671602538eba23375893ca0013586020d67ab6808e681c2e6a2d1e854c84e5bc49df2ed34e218eace844f8ba0010cb2e32661ba3842016565ffa890e793906f85cc6ad70294dcaa5fd6e2f9b901a0f556cdd1d6f5af5d7b84c84854c4b3ac4b4e4821a369af8f3e878f14559bb2aaa05bade6c65daa5a045cd44e91ee831ad4328efb21c581b6eebd0e3cfc5ad2b9b2fa0a0014ba0200005dee4dd60ff8d0ba9900fe91e90e0dcf65f0570d42c431f727d0300dd70dc43172152a3acf9a9e602b0b603d8bc452f5759d56bd01dac5d6d96eed5d60ccd29738a7aab0a16ae06b51a10ab2de3ea5fbcfa37fe1231077a4cfea443debd76cdd51e40319fc4bf3f27641c11d506f04011ce492dc73dde8281d2cbbc0bc6a593a72ada13bb6bee2ef8b68d9116d918000ebdce25d82497c84ee7e2345fcb8f8a2721002af06c8267885308dc483dc740eff6d1f761f1e48c20f8c40193cfac8ff72db1fcf806ea0ef50949561a513c35ca7bf8dd3e53d857418adfedc4675be1072d0245147c3357837f155c0ebe3e8a0043ba7fc08b268bf80f7053396e26ceb72b9b759fb7f7c891bec6c1bdeb434710b2d6a6c326aca0da70dc710754e06eb4b70b21369c98f4f0f03c9aec89934894c884c01dd5c70a3ad6a98e5c69887780bf85b4201bfb1a3f69ff2ca83aa1faec448394c8201a1fffe31c979e2c4bf7d72fcddf9e45eb307b5611f66849314df9ba8603119b0fda16fe09830bcd626833ef6826a850d3e9af93a94efda48ded87d3d54041e18937b603d5910831780e872d854dc535e3372de5506807c602c792de5d1167fe37c3b58e231c534af2ab072995911924d6247109e88ca88fe7407d8021afaac37a3f57c553c77ca3e95641d358486d3f178ae195546f2b1e7ab140dbf53a06093936ba9e505496a609627117aa4e04e91c4cc7282421ab0a359aa23c02daf060df48573997bb2ad1019855df9eb2fc5b48deeddb241364a1c72671272af47bb096440241fddf1ee04a41440f8e49634a0ce4c64b8ec279c8ab98a6e18592e68caa5bc731040fac5f8717d72daf486c60ab4fe370dc2063a132070983b03c2e65dbd7892b22894dbf5e7f7529c95d17aedc69cb0e10a7a76722b8b60d7935d6cbaacf4e0397d7eea4b655f7288acfebcc365abdecd0e343e26eef600029e7733d7e19f7d67ddefa40b62d572565968908b3580f13d469aac9dcddf6af600f51fb91a10d782d8c743d72bb33aa1d12eeb03a521cc04a3bd8f2674f924452b4d0d027d096deaddfff78326186e3d76c4419f62a0283e1da722507e3c1a9e9b3c28d9031f185b4aed03b343d8725a03e4948c0b4924af9103991ea8949076b4f5b01ac112c7ac31bb0549df4a5b3ceabd581699d817503bf0bd75b18c25af64edd93c0031251c014b4b70cf3a72a9228ba26be855ffc8ad635d3941c7effc99d762fda3ce9cd8e31cc3816cf472b081defe71cf1777c4648cfa5a7389044e0c03783fa38a9f6d1d62f84da4905b88fcb011e2ad2c0fda21f3bce8b4f26c163682738387cf3d8814baecaab0367298a4d007461130a0e0a2408471ae5388ca43b88ca45e48459231113d0fe7f32f1addd51fbb28c390a2df59118ea5c615dd155e279de93c520df4c79d943a1772c243bc78d92a6ea5c760723d30dbccaf77d0305caff3e75c406c43585a6e367212fc89f105886a787852d355130603f9829842f7b3146d45e0af5c02d9afd372bd611102443d77e2d44f1e934f486554b12680ffe555b6878a9cd773105bec331549fdb19cb52d5ec71c20c5b151038c582a518fb6662d4232408ce6bdd0aa72c9e5273c9b7f230d955c65fedd6b557cff0144ccab68d20e412a98fc45c13f7296fdfb078ba02fa958b8dd9a377ed9dfc9296f9776b79c8bbc6e6338ba9f84720fc6f2a039a61cf81dfe496be4b5b4c7f6e7d2ba92c1bfa1fdd98ddd73b0c472f8d68ab9bb0802a8685e606298270977e102c23f2e614eed0187c3d213e78d720cd6ceb6f800503c703fe76c93df733e689f3143a8f471de422d29a71e636846c37099629e578f54b9d49f13d065920db3f86664342e281b52c45ffb8bb08508cccc4098c724c98198bb30345507c1ed31f781b65a9fb0c791912a88986599425d51771b6632615cfbe5f48f3888731b2bece86dd1e946fceb0e2b463bb6bc18e45476ed2e59399a5c2276de167f484e52ed036228bdfdbfab9b2bfc78bf1e2d9a2e7070660b7c64c7be16a84a56305c95a9e450722da6dbe83812e58a3fa867caced086c8c7fd4e27ea0f26ca741a526105d4d5754c6ae3a5814b61ad7f8c1ac30139a615002562d44fd3acb8e63864586634db12f2dfc07b88ce70337d8872a141ebf36da51237444d7cf9b7fbc97c80018c290249f1e53ef13582b8e2367240046f7b7340458e9fc90afae4473ca42ba5258cc849311a754848eab9c7b972adb6d7a69e0c2ade0f394a23c919c243cf466cf2b5cb93ec19b19e4d3319b57291db934028c6c80a3266def7686855ef86d5640629a7805d1993434ef43c650b373575c0e6908dc6f63de7d46270215a8417ed52b75772f7dedb085560172a72e3a9e9ee48f78651b70634df258d948d9e934d314f56580c3f1942b31e0d7772edcfe221f8f9cc58729ce5124651688407e4155f6f72e22a2101a653d267c25eeea21dd719375040e0788906739b5bbb0a586a3d34d601ee05e73de8d1049172533d2d118dea7d30d987d6e37689d3cc071632856c32beb3b16d77f7e86d5061026fd850172372f116238297569527c5dfb984b29ef3fdf77c078182a0b17772c99336edf95c8a597e76f7b592c54609b992dcf02b5029adc90fff80192b2d727bee06d9d31698515e1619579b87d218161c1095c2805b421e9ab43168fa1e09638005052493658551a1c1857206888dbc19b1188ef2eb5a6d2965742c5e5172d1b8266b9ab032ee243752ee9c6c92b8252466c93ff4f6b3cd696c12bdac925f98a7bc1329ac5213c5a0b94aa9e1bc9d78d68557312835a4e5e806388a4af97296be971c582228d80ef9767065b991dfdb27fabb4d73d44598a49f187914a640e7008b67dc9a4a2f764e183707a78ce1f3e6a2c26f4578df2cb83fc96fee7372b455f72764150ce683f6bd784c6453566fae57f6747bac32a28e12262976a14b4577cd43185f9652c53b2f45706f68961612cafea5a1c21a468ea7ccc88261728cefca2b7c2ab785c7da589ceeda39a1594255f99013b903f06448f855c4ee722c19d7e88d50adc52f19229fcc52ccc0967ed2cc9ea9e99ad7f6b8bb5a5c154cf3578565c9a0a0c0bce796f51e5ea1c73384a1e6f3b3680089ea6cdf1fd7f0722f0db23e07e705e1ec30260438acbbbc5ea6fbeacd22bd2c68793c086fae2a72b7872ba6198271d8657c2d595b4cd858cddb7ea5481eb9230193dd43d815815bdfbea03108df0340b0b74b53fc9a2fa772d419362de46b3f3d96501fbdb559721ec19c52dc14c22567331e1bbcb1e2af44e5dd7541246ca64863e8484b0020420bf9ff449afcba9bc8c3909e4199fd90d636e776b0399b22cd291553b225dd721cbc3ba2dc11c86f2aad64be508dacfdcb74eb4f66a838546c72d3bacb088f4d5de9ad58e4c2b2c13ca732ea1de570d3e3a6d5bdb5b1aab06ede124f3bc92940181607fbcded3f0d6f9177b5003b79f77b91eee789fbb59dac4747430c46a81da9d7783364c6f279b9efaf41d9f4d5eaf5b8ed7f1305676fb1d022d7cb3fbf728f384bab1c5822d12bb0fe79e52ee2c9900a267b4fef2688df5036d42421bd72414869aea59262e8b7a85463f0d33a742889979581db822dad6051202df7351b8232ca1c16da55a462096ddb7dd4c5b45297928fcb4da0781d8090745c10053bf33c0140e7cbaaf68fc0e942c965f4befff2cc03b3cff3b3eb06f99aa255b05a044bbd1e1e710e9836a657cad8100394548c143d5f0c3e82163459ac707b46724bfb4da2065a1c5e812a01d154a550b6178698a3aff4ac06512fff6efff64f416c4e071eaf587283af050643c800134a8d706475e7f98de525b4861cac5b6950b51f44bff751842c158a0f572e22fdaa4bd98f0086b0d053faa5487f046fa56733e333bd8d9a9a32fa5bed1e61fc3a8274b1b743529e1a8fa1423d1fe58674068797100ad400375228d22327277e7a3e54311e31b8a7f259ab47ad82dd589557325273f568d994ca87d536c5ddc4c930fe82d2f1cdb89a28bbfe64f1095a813816a029be8bc0568f1874ec88a6d33e0aec69ec9bca8ca5103996ff429900a5728233b160ed1ed668b19350871124e0ffbc5e1844e84a2f1c6f01f153ffd6c772c2b808f1f7b77b81c705622d0e0070bc62be944390570dd527aa278e7eaa6d72c910c2c31dbd0ff1d91925d1088e4b60d35e515bc69addedb3931177b240fd7278b95f85571b945923086c722e49308ddde551c449fc53fcaacb01b942b68f4d5a05233b43aa892f93e062d5ce06e9e2361d9197f354f255bc1ca4a6a3c41372fc39a8b36b7a8d2e33bb6842ac255712b33bec30391df151e8d7ea4aa846f272ce354c25c11ed0c443b7bcbee15e84631c847292db0e9383fd597923c1cd701f2d0b16b03fbfe73c8b09d036cf00e3bb3f19f192474390d412d2db3d379da7720b726e7d086ca6f5fd44deabdb53fdc4e431f63119ce99294416e82973a98a300889a10ab8a68b64ea33adfb278a0d64bd7767a584cf7ae4e4ce1d25aee16e72c9d177ebcff27bba4511e3b8f1509d2dd7d825f05b5844ef802dc1a3371037723d023052000dbf50b05fd6a6fd9b6dbaf10272f301f1f73c23b687a2a437147240202ea40e0ac8557cd37076238cc7c4e58153478b39084d088b5b7dab98b15ebf3fcd083e7a4356ce3a9261949f9e1f89912a165cea5fec907da33cd85122514ccd7da5269e7153b24d78bfb229ed032fd892da0a0c1ea145e50e39c51be072b8941f9174e57d720bf134fcf943f1496bfdc3e078665d8feeaaef57d57dc92dfa01976f4ebfa60f0197da4041849adf06a693fd2603d8136e9d095621f8f072824756d023bf9e02019a08578177654b827d3e60671fadbe14f4a2f9ccff837206e5e504600b507acf16b607c1fafc48096bd38869bbcda802e2fa22d9365453274e7067619e902df691ac48cbd9b0ce663f668b6e39c11c2fcc8c724b83fc721290e88781a9d6e81def065c7c95afdb6b521ec6421a2977e357d17a8cc752729933191f9ec3fc2dd9553688a1772fe17459d18a79d53e3a42e580a92cae9b31c1f0fa9a2dc2b01ecd3fd4abe3f51a408e2db4bd765a02013121df5f1be72520f82d4f83caa43f96c5432d99575be875bbaacf3999d67018386de25d215db072818511feb4935d0275f0567e025333d33cecc4be7b47e3ac03c6458819536c297ce1673a1dab940bfac3570989ce0c5f7054315b9d2cbe49aaa462271b7ca544ce8c681c1770398c9129484a7a6f9c4acd56b571fff31a6ce2d52e46e9ee4172b398cfbf9a6f5081c2591b91a057ba277810efaea7892ebcbe34737077c6dd72065365dec3dc6b84012820127d2d2a77bec6a932c90e3a701dc32fd6d26a4647dcf11c654efd5a8e60b305434b97e5b03c9457442f4d70b6328a561e3ffbca1921afc7ec8273d5bf48e6716655381cc245c8ec09126bf04a357ea8186c252a5e55b578a5d5e9bc459c94e8c63e146ec6d053739ebd6749daa2f0251841d34f726d042671bc5ffa87892f0a14a5797da21d7a6d93fa5f6723702e107a02215472682a8b56464a22b7e195bcb902994c3bbe466b65585a59ad51c87e3c4a620b31f413f3eaa0065782b64aa928f687818f42f9c289ec1d7b0d30120ff07ee9dd179ae7b5ee0925d3042a97daad99354b24913083284ca5963578595533b8454b5425388ec2034851234bc79ac969c2816eac65d5629c3afad1f1b9381bd1db3a227518609aadc4d3c5480a096896b5edcaa1232fc00d4fd77bcf9ad38675276572cc306a9e27403373c8f01a88790ab468410c8307fa615e4decbc3dbbee638b72f05b068b4eb7124b88c00badcbe517556e72db60c23c3919ab93cc35e8fb2c72f5d70db5ae8aaeec8079c633edb62ea5fc98f714c47edea7d9041311a649160a9afd3b06aa39cb3f579e44621e4b4eff6e7de1e3449f97b511df13975fd7221cbfaf13a8132f4168b665427407649d2680b66b657b342e730252b65ae6805f72a9d3ba8dfd3708e10df14c85b422f928f374ce0f3381579b6fdcfb919afe7339913d271c7b8d2db783e6628e1714931735565a98ecf15f4dd2f37ae8e025031a656039745656d5659db67ae807527253521b6ff67fde6858d15af797b80efd7206e6ae9c253a6c4d27d871a5da9a4ded4616379db9a1acb05dcfc41174ba3f72ece16e928d990f9ef4ea9f08a1bea27405c81751753cc128c81995fbe0146906f6258f4b2926fb18aa22d9afca8c2e3c427758cd06f48a0cc8c3837e67b19116e44366f4fc5622691a69532eccee7173fca72961f26b5157a3282a876aac8372eba91bc90a4eab8678a1ad978be63c26d0e1a9fa5392bfe021d2050099359c1ee49ec43c14cd66b0a38c9309cbcc3de0e465b8eabeec19278cbdf1736d3a4d72c483bddc573271f99ac26d472c5c4d4e5e4eea6cfad0a5fb2038f3c33ea08f72286ef99f8aa68ae36bab7cb8a4eb5e3cdb3987fd0b81f722dbfc2d039b9056236936295679a11d59a6d70fbe91278f283c774accd48038941d2a181e2280205ee36c20c959efaa1ca73768c28a7038f79f575d45c3787652fc12d476bfa0643a0ef11880db1511d1cf3dfb219e43df8fc84b5a3cbf0d9d87d5f439f14e9d9b47914a0beee03779066cd7886e1ed2df4e4282b9bf1da2591274569cdfc4078c729c2316cfe8410ee518bdff57bb6a91d8a13fcf4274f63082a147c400a1fe15720b8fb492709740ad0ddd050fa61e1fac93756f7e707cf99a5bd0c4b0015e3d727d74135513846bc0629a26eefb2230fae4bd172742f34938133e07fd15efb3722740259ddd4ff6b52972243685a996e6780e32cff51e00ccb6fda2ecf42864724e94dab3df7ef160a8364ee028ce3804896d98b6477eaad798df50397a731f18af501b43cdf07f7f126d031dbc0cf09c4b39ba56d8593477d694aa99d899ba7217fa20fe1bca5b6dd0643069b2b1315390a8e06437159ea44a183cd6af377a53473be0fece38e75678f100f667278867da08b0afd72ddc05bfde758fb8fa9972a7b7beec4b8d54089b6d2b06268561ad5738329ae676a8e1d277f7ed365e387239f313ad8102c55b5e21382e424196cce17329000a4ac21a39329cb1ace0ed72e9fede0b8a174192493bb5f34cfce1dcac610ed3b5efd6b8497c7f4e10f364720af0fb8c328445428d0ce5090f460473f14f98707af0d6e221eab783b15e2d721e071a9afc6cca2395f3a63f8618cb6431d111465d8a5f02f84dc19b18ea54723192978dc26eb7023b6a8e62fea3fb6c3fe3e8f99f6fdfe44a776e46f1c741722d0354d0dad3816e12f912b0a374223d1c0cf8411d8db8545f08adcc2989d07210dcb1ce01e5c83aa678ffa8dbdb41864e8446ea60d50a76f4f4b43ba1fa802480cff59a24a71c79f1ef4c6076a37a1bd9117e713ee15dafd421cc9eb5e181585951bd986cd0e75a5bb62032b985d8a31b5662ece5b311d9ef1398cf0bde366d9c339e89d487562d1b6772f79c751205fed8cc7b45ec3b0b61e947e7ff4acd72ecdce9a0be96e3d5926228d4d68b88a824030b892e8408280a84c5759962d772ac9cd3211a8d2d67fe237a57a21625e966cfe0595307bf304067bfceff5488727df28a5b0b9c601bdc4567382254b32ea732102bf8a873bf6adcdf55f5702c72da32da79f04ecdbd3e73152c1bf39e0052a97be27af3791e9df1842b9544aa69581563d3d60c513cf7726481aa8e1c44ec1d3e821b7330f44cda3afd6d2e2932acc6a29368bc04cb7ed527a3ee7f88006e1431975a3f074b73ff167f2662c41deaadb6afb03d8738611273bec0ec4054ced28855ef61bb8cb42213c642b6697256c95ea104a0671129ce59abda31f762a25a9d4373d26efadff633cd896b6e72b7a1ec6331fc4f73d3799cd7b9e0d84bbdb5ac3c9a5348b427178326e3db164e2d7fd331ef417cd927e5782f7756186b70d1a4125da7fb5be04afc01e17ced628a63bf394e27879e524e6b2323a8d9868a2be021db84647a6717c482f5983e074fab7a9f82a7b529956ff3a8c6afcb83ef8d9fb1d9707cc99cf3b5498659c612a4a69fdbc297f2dd2fef669428d73df51e410f2bb43ad95f80eb0162d3969972303a8621d2fc0125953dfe5580c88887e975d71979f3e3e52d91901110e76a3c76673cb00edbe04a820fa90f8c9203ba77c93f6c49eac5bff8e66b76cbfa545f75f18329ac2186247aaec68a56ec224d17bfd81fc41873d516759a32f352a47203472e0ad1dc0bd300003dc873e5a8254668bcf33af7ef9dd2515b1da9687e5e9dcd6329576485805a749273b8589ddbca8f206551573cd9e83d7c1c9a79da7289f7ee721433aeac0f00ccb802b932a7c759f43711b09842f9876c4e238d3b226c98e66f39cac92de5acafb906bebdb1148fd815f22b43a7a4fb8a9172d42428df1055066d652aed1359455385d2c88b90c03e2b3ffeb55de44964ebd2b78e722bdb17973bfc8acd18ddfea07adf8b14db40c7480453f5b2d9532c2ca7276c706c495ad9b55b1a920850224b64f956f4968934317e50dac436908c80aefed37292ba239466eb2ca217f9b439c6e6eab189365e982d52d577bea402325ff71472420d7f06d83758b55e24ab00c1d5511ab243d1f3d6ccdcf169357600322774726fd521489163183a93b124321fe70ee96cf6656f54aa1a017b2f5a6deb5abc3ed79352e0f3f5510059c6e271ab22ed59f132c44b129f66b2ced24d211cde642d5d161e984938b688f731cc3306f1577dbc94bb573bb2673574c38102c2d2640a9f75979645d3d45a0339e11a308ea220601acb3fdd07a161ae2f141441951f72addaf7d1240598d1c4769d865d027c27315693c1eaeb2b533a773a5990c1741ab49cfdfcfb76d4bb44e60c6fec53a898860996352138c8c2103249908d5e4e721395370009ad12b36f7c221fbd54ffac11d52a48502c149dfe3f2f03eb1a7c726fea85062e375c2d9862b65852de5c8f79c8030a3be40adbf2040b817939f97208c4cd421a86eb291f603a62d330c9324d37fe1f507570d8064ce02c493b2a12b0a52b09bc65c9926e1cecb36c9c30974562383c654bc26df2d60a36fd4d6272febe24289f7269afeb36f2c7b8baaf8bc37307167bcc96c8184dc5742d4d7972d9b42b5c9aa975b06bf18fbd1cccd5b9843fc590e34d537ae506ec5cf7518d7262da489b65e9de93e52b0d41b4922e449eb6e7a09f4e7f9eba97ca6ac8632872e612825c27316be9a9b85b25630dc1a7fedb9614c06750ebdab993b40f5072721dac17ebde319d742483a7d00235f189c2d394680d12993f9c76bc02a3f3577291d7f21ff740c11b504cf9872923e5ff40d7133d031ca79c6a321cf8cadeaa3474de3a189b09bc80147837211725a3b027c83f8efd9ab2f9c8e5186313857458aa9825fc8bd4be843d618bd2002dbecab5ae317adc96514fa01738450930957276fc089414ecd8861e7cf2a2800ec4447318cc0ede7df4b2d4c20c42441a763d9a7e9199188ead9f052a6a5365efe413d01d66a6bd442b042148bf470f3f5b62938617b14106317e0c06e11cde0e508b2ae77cc8300ebcbe3d8dabae05e1427275a3830d6b92b4e130723dde256dd229c63c6909079db2594d073cac416957702e10b1d8698580b2c32176d041e7a09ee662c4071ef9ccf4d7e6ca27d96de3724b30e1ef4d4bfae879f47a4d3393d620f552e3358c3b680fb07e86d8f2798346dfae3f1f9fffc75c863713e614e9faaa1ff5af7c3ceac9362f3557e20cb1ea7270180246a5180ed55d67c3510ee5186c2c8cbd7695871b180635ded967259e5d0d8b37462b04168f73e0861982081571e5eb64bf2a7324eb30cdcd63964e5a1a96dcdd0e2a7337e47d5c7f3ae4753b78fb5c771cfc099a25987157f15c780d3bc3feda941ef67bf649fe31213ed60c04e8eb9ada6fe0b82ff05775a9d834d546e1fad3ee77119a09b4a881b8b77fd4afc2ff739f8e9a9e69a32b11a6e75ec430623634a59e7576c0b7d3610b2b1d3b3290522f5fc6dab601fe19c96ca375ac523473df5b2d772b572ea9f39d1256093c3ca4896fa6a5fb0192dfc1dbc47b9872b8d20d7ea1b709b07e76cd7ec6f297ed7086b752a14ee51ba08356e651060f72958113fe9f173296384c405014d4e03e6792c7445b0b76ac4a29e10f1a24bc5b82d4a64dd6ab97917db0238cbe6be39e3f9c583559eed8d6447d8fd22e9be41a0c4c0eac4a5fd4ea38c4c4278f5a4c94aa47f308cf581b69deb8f8d4b6708445ebc0eeb3f714918fefed3a2033930ba2b7cf8c27581736a4572740372f2ef0233880871a7b9ce4d885883cad0790151b87175b15bc9d709e8409781138e13b0a2f19c120242ec06a83afbf2c7bf417edf77528df4a948221d401fcaad2546369d23e92279c4c2e894016a521bdc01ab2775690283e88a20532b53e9fe43b3f6991ae32f52b233bf047bdc58c136005dd965629e5471396238365ecaa358e8d72061717a88175d8d1b351dd94f64fdc9791f9deee0586ad82ec70550d06ec5c72094122de17969573d67b17a0f767bc72434af3b2e68b9097d54e0e6d7f7be34229f0d9dfe5699c3721d2abf3948b3622a50793f5082cc29f6fa0c7d12ab5bd3e86bd9acb925da10895d7337f3b1b11c99f6adfb0a24f1b9ce443a4e3b6349d7222b38fd4ab5dfc1c62cd61f2469f47b176d1e5d857c3c61ec0e9b21b03fc770c1ab8525f3c84dc4b2381d51cd84dcb43fd484dd97882416cfda641e109931272cf9f5ee6223503c6377f2e6bc51938bdcadf1b9e86e392629e21668ded2a8111aa6e9b9cfc113b00d19938f18e6572c9b92b79eb54a0978d0cf05bd94b5a7028922fd345b3ed1d4113e93fdd5887b7c5a8ab9dd0bf304f5cd8251e9cf10dd12b3f82ca4d878354599f9b8f61c9ff8c525a2addceb8cc5ff474ff3da650d03f7201cd1a23acc26cab6d707771812bd6d97154d56d4a3522dbbacfb611b9b2977217a20301eec63af2bbb6b9d6740ba4629b718b80abb2fa6762f1350050c4fa721340284ca2f0b819f85db6423e453fd4ee07a57bf398d6daaf54bdb5febfad01f422a2d76d4cc6e75cb88ccc959c902e54689350177f49b98764ff6240b1667292ec0cb5b940936e552b6c28f77285042255bda9c391cba414c8ec07fdad25723cfda82d54ee943b6815b99d6f94ae96b484d149034d5a7a6d621d4a90b24972f28bc2bf2c615311be3942a331db3bc28ac208c1c29df80f7ae4c206fb69b838a23e4e6abb6c9d6f396dd81595191df2df1dd6d4141876f7e5874aa2a2d8cf665b491729e38221a891aca703936f2b85ec562f12181d630611b1e3ee34084872358cfb4c8754c3bc6e379c44848c1e58cf667604ae06a14ced19403356191472643b079bb5e480e781e350a406397bdcd837953780db55574a57866f5f6aff7219887747650831a783b35e25016903471e345d0abc295ffe3818549b3cbef172ac4594bab16e7bdb97ed160ddb9c8540656319eaa4332e5914495db0b3f01972413f58e38c6f28b8da963582ab70532f51b0562b0c0ba3358095ef5a2c127772509770a138a412336af9894d4504eefcb572669ed7e781871acfe2d90767f13f918467c6a82d5c7cd646cfec48b76967cdfd077d4ade99a08fa5f56a97cd477281b66676fbf432fdecd40ddd7907b67908a3ee3f29c1185105bb852320e5d82792795e6cbd3bed30a318291ea41e38584ff517d64fb12b0103ce66320e8e682c02d44159473ff6c1970aa6b04246aaaf0260d3c492263a5167d15ea46d6983035623aeea98f987d707c4d6994f2f99444590a97c8fc40f89f8639e3b6c04ea228c84c2a9685edc220b44df98a819a7cb042475c7d853d23095fe4a179ccfbc4d084a4e6f3871a227f718f1f2deeb0ac4be8ad2916c44fe9ff2b5633a31517d72d11031e51803a72a9b98c62148ea46b3d114552e75fb257d3727c85ebb6c4d72d757f6b7f4ef4e8f007377ff7aacf5b96248cc8f4e70c70c4f6a61b364beca1a99bd103706d9e5a5e77cbface91cf17fdcc8b2d091406a4e521b8eac534e33726065d71e397b53bb4cf8bc1f876c4f644b956e855f20526482c6951634d4e02e581dd9a0d3122fdd9662cd05df4073ed42e647d5ee4a48e3949bcaf5241a03727ee601376f9873f93b19d4cfff50a04d944c1b43625f05bafb139bcee4047272e6673425b45f1b86c4e8c2b49ca88f5682c4928eab692e732cb2e1d682113b720f3cf1bbff4920e057d54de3fed6d2153edf916be11444a25b8c460d353b4c72568c761f91f75403ea51b89b867d06520f880b0ec30c9631668657375e91b26a452bc58201b224e89c9ea118b38fdd77be2dabbcc03f22f2c414de28b4040d1f9f201790f171022af92d5858a9881c2245ecde766e9d6a58671f60a0dcf89a72a534b1c74a178d7bad407c08700336a3cc1c0a29d7529897962b7f80a1bbf80179f4c0aff10d49f13dbdf6f32e37e58aec1f977278758d19bf4a0b100776bd2639877ac93e3426e1869409cbde67226bff882f0d27f49d34fe79d2caecb5f251dbc57bdc95d4fd50baf52122b3cafb25791f474c394178cc2d7df176fcc8b70efd2103675c5f81619f336a566b15eee98ca607e61e6438f3c438b03a3306f07263aa77de7abbf438dbd388a6b3939a0bb659eb6c60ec2c4a7520b699899f78724674a510e74c03794a1afcf4ad15ffb9a3a829a1ecbcc1c5351af8543c03eb72b52c10615bd47d290f3df2b660804990edf44eae9f2a6d30daae1215696fa814d79dbc3a5674c3a877b456b37086ea8fce2968ba3a7466b9c544d3404c09b7056b7dbb4832eecd5d5f91ca703aa86aa7868d4f251494163e6cd7731e0ffbc172e091e43a8816ef4c44df6daf8f09e02bafc182c2e0b9f2b46e99c73139d9294b25a7caaa80c5b54cd79806b66e5462c1fa447ff163fe727d4f617fe4955f4e72195c967f95d76ee78734154d066dbb763b92cc68d9b8a4e2efc46da2214bc82525588bc219a2321c9ac059fea78a6824c13f7c8bea3b4b8f75922424b9ec9672b73217a3a4f0c01f6a35c157ab2867d66972a3a3c588f16a5b27474d3f7ada3771a1d25fccc1be07da0a62e04167751b820c2ef765cf6ba60653f91b77cf43724813cd5b61024654db26e1231211e6a3ac727cf082fd41c79da1e7be7055bb72a74dcfb009f1eeca67b1f72c080fec0edbcc9817c1be511fa18f2a553b0be20204b9c2c81440bb4befb7fee44a377bcbf613cb0c1227c1f4e9622afef657366df5cce1d7cdb9132b06f8bf651e7e2721e8771bb5bb94cf3d1b8a7efb59ccc172325c9f228d209dc071ae08ebc0303d5161d74b88ef9c94f1f1640c2e39204f725a63ef1b267c76d47162900fdfc92050f71b6f195c0d42c3092c251648f40b451959c8270e80305facaa7b7f8df3a58d95af63cc79e92a04eb07b529447c0972e049096e2444469971e065aa3c968140d60343b63427767b21690ffc1de186637d4dee4f1170f20d69f1c138813b2bb369cd4b26ad33b05eddc3f839fbc7da55f52f8042315e1d8e274bc45fcadd4564f0d3d365bb98775d9f46d3eaa1241972f42fe4ba3c3cc6ddb4a5d40e2f5fa3195b843aeea3bfe2c514c7555a5de8ef725bac72db92d6199397203fe11a571aede98d05d21a94cab9ac0cf0d1576bba72544564871089d4e2eba831bc296ebbd0b7a11abf21dfce18cc545a24d3e2417276f997becbec2e228d80cd693455116a8ac4ecf4c1698ab7c264d086c8df1d24b5372ea3c4d44be6ab250fbe3f066d65e797def752b9ad1d1af08f8ef657fe724f11fac025fb27d59c65fb1313186781ae29e0b6eef1e6fcfe744624179afd7268afefa8b8e36d596a0a5c4acf1e8183deb53c0bc1f387a1fb62955c8cb0de72dbecfd38015ec7cf0df054affb60bbfe74198ebff73705da6dba7c44e9069f274e8540211e261240bed1f4d85d78f15b4459ac2c5ce81ccd5bf7245ed80f9f72611c1dd24a7af492a44ef713f70cd9dd106ee0803687780f8c61821ad6504d4b98dd9d2543f330869c840d74cc65f4a3255622dac33b6cfe7b3f59964f6631727b71312cd09a865710d6576a1434ab14bcd4afd27c8b5a3c3ad1517d0241ad72d96a08ede2e106aa28e297bab5b64989959689a0dc0a04f2a4f2a76543072c21bcce8acee2ec355864cf196eefc20288789952666998e3de00275b0e5583e972d9440445537e09886fa7188fe796b742359ee63f4553a9c225cbc72e03c4127229463dec4b50d7dd09fd2b7943a771cec3ee02dd96a1eb660fe5781ab5423772db5142fa5a8c6155335dbfc77cbb9bf4a1e67e863ae02e8202089d695c25ea72a5ccd21ffa90e1e459661946bda1113be95d0365c9251a47744e43f05050ec72c3c596532ee60ff0652764ac816d1a8c657cfb6c8702979d31a138ce918ed372f6c4b78f8847ed23c114c631fbbeaec7581acf2e5edaae842ac01cc3ef9f233311b37d76c405531bf2cda30b93d4fb611743eb016f8ecc826e8236e35c0b64729be36d7cdd3554ad679e3041936b0b3378c130db79b968e58bacf525dd5a8072f27ed0aff85fcf41616fac8e8311004bcbe5b9b651598955947749839ed4917292e019649b4b306671ee8cc356c5533a81778638ccfa3830445a8b5727bd8272d6614da95994891a42e6134e1cc2be41dde751a29b0d4fc61d3dd29c87bfe372df720b6a8958b0f61b6c4ce39f2bf5983e19ea4de759cb65415cfef8f317af1183f7d2460ba40fa773fe3aaf48aa7b7883556491d2d15314b13e0014d2c53f10979dc7715e5a6a78c47ebce714901e728879abef8ba50877ebb3c6f5ae6aad3bc94904ac8bb0e461a315bd4dd4619a9a5104408bf7905d4568b6981e85473c68b4d40a0ee1f5b1a11829dbbabcd86ac95b3303b9864a954ed5ccadcaa64ea8724212fd604bcc51af76a9655571ccd11b82c8df62971a8e2256c52634bb7d10252b9086837bc62a825dba8c2e248fd6ff5480217651ceab21bca984630e49b50e2692635e4dfb7bb198e144e5e21f12fdb624eab72517fdb15be28ed8504ece074589613dc759cf2c3749653f437691b56e59dffcbb27ed90f28297112642365c0c0c4df1403d48fa13ecb35c8b17ed28302e8d9c5f18fc1e356d1e12b3701f5a140c800046ecc37a10ba028bed7dbf6cf8c1204e75abb090cc2e69d33b1eff720541052730b7ded9d0a8dd34995517cad28f5334f17258aa1c6c8e64720345722a9cb1fdfcbd5d8288b0057bb23ea4db3071084f18569f35a9e8cc6825160766cdadb3e9f6a2fec15543324cd1c20440929742d0792100d2c4689fcb941d6a72378c4adfb237de34cac26ecc93977ce4682b0ad210c2dfce44f23fd48e29c2720d5edbf709f4fd91b7aa5f5b19e4b62b3ce812a34803da2244d9ecbfc9729b72a17c023d83dc382bafa767ce9d46258748937f6da30c88bacd250edb3e82734056315880cb59b730478ab449fd1b16feedb191cf2cea5c66cf1845be2efb2972d08a0b4ae625ea704f7debbacf4a1f79263b9145b01842e189f3709d848d602c6f08bca5ac35393e725d518c7c782a0f02b5c8a8381026d8c7f6754a25e5f31823e5f124151ebfe87b4ffcfd1370f3e99a3c16ef5e536350c47b03978ae52315d00d05f203b5edc384d9049a4edbc5a5e186a3071955c9a9757865cb641abf5e3a485e6b051b23cb137afd8dfa8156c04622324240e7004931786a611abce824f837008296ea3dd02c31815e92e3187e5c342ef9b45417e18ac0eb48b88cd67299c1c00011232ce7b7b383c14fe002fd2dbe6d73e839f935d078d678e1ceaf7241ddb3fd6f432f710582d607083a4d396a753bb6a9c4a72744ca8966bf44be2d2aad1875f502c435d946ff0476e49917ed4b2c0df3c46f5a2de006eeb3065f72fab1b17528c95a72feec1a7f224bc86123225355dd1246395673e2f310d6504b8e877a801d2fed6ac273f266ff7c7ba9e2feb0aeb0bd7e509551bfdf2aae0d057127f62a57c9a11070888b799353e4cf3d7e929401300cc073c3f088d7811c72dc44c692318e6523a231d5a3f0589cc63f9e565acb0e3eed33a3d90221653410437985ac8f2693facfd800eef38a04f1a784f92aaa7b50fe6809c46c88d98a39fc4a8f4c0ab837417e275937c435d9917ba798f92dbcf07f7366402ee1bec4155a1716abf571c7feb89d6ec1bf6aa730eee0cea02a3953873aa675ec8c195f72b2129b394cde7958d6519fc2a46e4002f3472e7912b4ab26603a99ace16a1d728673000ce74f73bf51d089e8de06efcf7872cb196513a88e1c41c646006f1772ac5d59f2fa075db487f80087b977147feb045fbaa2973baf08d53eb916f40b726478f2b6f3c288b37d73b2efd5a0f9c227ebb521171063ee546eaa9b0924e4675d9ccf875982498fc53a7fc43b2c9332671b4fa03b5604ca867cb36099f0ad7242bed4620619dc3028ecf0c28ff9574324901f1fc545085f031c96da97b3b3720e1a2c51af91c596b7d5e45fef32f9f34eeabed0d9d90cc43dd171d481b0b37221039b1899b5757b8424e758c9a4c078d75571ae8375a993814b689987d874352884821ce11ccdffef6f3ef83c0fb5750ee266a9b0af9dc9b2c2e4a01d383c727a423bcb03a19f4f16f9fad084558db92428e6471554e76fe010bd138de54072a2418945e35c86f077b667a7bfe03c04066b50df90149d1f61d9f5d538ed6d726ab74f1040ce390a8d22212daff12a2a2dadb33cbda112948211a9a312c90c720822e30bd3999e51a379f5e32aba4eef8f0bfdbeba616178788a07be1323a772d1d2d9d8a9da75630376c365e1b330841cf59b675a3ff9653ee43a1b186c7a1037f076d090afe80bb1c27fb1377d49675cbecd04f8857c2fc24915224cc27d5f8f1cbb2644c3dfdbcad242d743ca873fce4eddcc1a84bf0d10c3e3aec2e3845b9eeef0cd06ebf955c88edcc7ad6d51476b195cb301197d714737336540aad65b2f5a2159442e36d7b5c84568fb4e49beb0147c9366b72f36015367f46e1205060ae0419166ca8b89fa1a551504ad5dd3a8f5a3e983256085ae5c35898aeb47720c9c40952e17279e3838b3da4d279cd27c2d28b651997135c383867daa5c4f72341a14af5d0ae171449fc8f9e0f522271850247112e462eb822d982d34ecb372868887c46569516d45b3c602911de76c1cabc6557f0cdeb6b1dc79b28f3e442a350dff19db7ac19a9d511c28d86dc062428e360290af7f6c9733b22fe03b0472bcb6674ab11c8e65db16aeafc92c3528d955c9dd1a4bd0e6e18863d27a1d49726d8c9b2e80b1c9f6a9bc8408aeb4e8206657672d54c0e069d65eb7b9eaec5041b2aeadf7e63123c8244f060a6185adfddd2d7f09809ba7926e6416ee51d0c4657454797a46b98fad64391f0ced2d194151d1858257a9918a65a21f2d78f9b85ceec1b0eec464a795a2ad969b2ffe2f9d39d70c696ed3c4b91ad4665cd370ec72a8adb02930dcdfb6328ab2570ea5e1a794baf1b8a98af8e99638ff02d6fd6c72a389d3cbc33642679510cbbb9e8b694d986fdabbeacf3c442fc0167d82b683725d87057cefef6f4aeb0ecdd3ea3b19c64071b0eec3548d0b49204f4795d7a472fab4371f03420330935d2ed1f6e1999a4d9ce169f91c1d2c72ecb0d397e546721f7a14dea84840e3359356730b386bd9b9995fe7182059547283ee92c2717e72d7a912d01ee5ec2d9cb78b2d2f207a5efbf00a45ec7b584842dbf77f2320f624344b8f7bba4fa34f153bc6cce82a91d2bf7f8584658d71bbf546e9b30783a0519e9037b77bb8bbeb147e649a3ad0e8692f49944e826c59ead01d7c76a78676721260a170262469bfd197a4847ec78231f797d0ba2f3f5f752816be7cdf8a3c45fd739e6fc51561680e00ed775718888248644b547da180022433ffc3019df534e56fb5d5c3ff38ee587e95020f0646789eae2f2360f86df6effe11dd1917657253e100d2ed9842994be52d133fb97da6be6024418b687670881b905c1214eb5ef1a2c23918856cd9506da497431e3f1152b8ef8aaf6279622c281753739dbd1c273eaf439f403276faad8ff46565f7ad621796727415f98f204dd5b3af260b6c5d75ac25d1875538e3775f15fcca88610e6333496c1fa2cc0239594db2f9e1725769059f70e8e20cbe3de05af4eebdd9966161999d661195bf7e2619c390a07238293e8fbbf862ab83ccb93f821ecc5c9014c0fe1e6c4893c5f6390dd514d97204b152bf88738400e600dcf5ad6935230b05e43a8a519f6a7cd21aa0be592c29bfa3ee484da69f096a71b7cf81c798353c2c615c3cca3c1f27f1b1223fbf54721b776568a937beaf007983b6472be06985049a7b2598565c3d87a2a6dd3feb727893c9908863cc4188f492870b96fc5fbf1e66334df697e0e059c7e67f92a331d745b73586b4d26822386e5c62a9353374d5980ac7b2a9d4f995c307a0238072497b6b41ef59eef35d692da4f6f0530d580d9a4642be9c93b78f51e20e744072db37eb1ca37369bcf25c2c54aeecc23e10ffd7a4ae32f1718ae62a935845d072d4bdb162dbfeffb8b616c3ab65b258114fdb4c0759dd2de8746623ca17f46a72986e08b6f9224ec34ba29bceff3d361cb78b5dda8df4d9f7428f68e651ef4c722eadeb82e782fa02f097ea3473fa222ea2a619ab84ae55dc7b806c43b251e072820e40fac08cc5687fb6489e48e17af778d53f899caa05403598a97e19786a620533634ebf9f2f67fcbbf49ddca1427011cacaffc12cb1c9220898603113ae72c978db518ed4a5631fd0786acb0e2c3ec4a96391a8c2a9b65ca70acab5aa0d1f2abc33a1c8e250ab1587344f2c83832ba82e89212db1bb8df753bf4f27e09235b6f516f3d5800816a8f7a4ea27ccc4159aae42fb7dfe5fda0773514c97b3d3720bacf743f7a063a9258b06498897eed1d231e794d56168a14dac91c8ba718d7220be1ecc3b60aaf3346d4bbe90b11a8a6e2ee498df27990e772d9055ae26b7722643a98752919e6623b2a252178b3e75906f79437aaaf24762f5314b0a208272addf59a38758ec9a20438450f928ee58db8a0dfe4d75c0d334b3700fd2b3c6068009970c62f778e9d75ee122e49ec651dd3f2a8b81259a953f814564a6f389724a128120260583ab03e13f50c4ed8da23df7c6d57b4bdf57299f2838bb833e5a7fb7e43d928a7a8f86a7557f39fd385ced9a2cf40183fffb8e392909695b2e723287fdf602cad500008219fa4d1b8f44ae1cb26020434f6417f0afbc925f771061ca0a9a9417b5a84f98af36208df9953c67506e33bad42e897136e625bd43729c488216cf26114791f1bc3e0edf83053382ccc596b6de3f5f0c397194636b72d9e7cbada3afdafd3cfeeb3825733e748848e90a08ad8532f585360af1352f727a8043a049882690e3bcd324efe946f8981678e461903662d940ad871bbff072c9a949fcc1243b8e0ad797071a365df849455c996a117277ee413dae7f0a0872d105811c9838cd15c21ee4925b09673ab493011e34d55fecf9ec995b481c8f4af5d4786ac54f2346e1b5d2aa3f64bc53f55c603659629d58f4b7fabe663f443fccb4956f54abbf97b55448c756e1ae531dbdc896f7399872523a6bcaa01f1572b396bcf1727f230559d6b6d37cd827c3dddde0b3bc5e65ab1456256ac05cec728c1c26bceeba12b6b3a81ce43f781dc16c3bc8df994ccc7f5c01500b20a40d1c87b2a7e1947d3dadccabbfd5ffff49a44b65a51a2b6b5dbf8579a993a1d5944334699a991e0986460613d9cb2ecb7472da5aeb831ec3cdbdc24abb84c00e3272f59574ba98ccef01598a5deefbd39679c0fc088b97d22df5356440843e33127264bf54681c2bfc3c17bba515770e6f2b88ef38600e74538f5f8a8cdb1e5abb72807593700d909dd1ded116ebea66de46532466350b56b18699f8b2745359e63285dfa86fd2a2c1d990df33d2dede910c267cd36b189a0b14c8145250adee59727c7df32188499811c754e117534073d8cc6e8467e87732cd3fce99ebf9791f0da12b125eee5b7e92ad68b421e55457d50261175d8a3419242ea01caa0efa5f0dc883b2359284ec4a65e5c6a5d2cccaf6d3da774e700ee4dc73ceb39cb98b4a723f188901f013c551fa2bd465bd5aa652bdb58734dfbf20b470c4bfdcc149093ce45291a67b1563e5fc1bacc63d405c021a5f3ef37a53ff0057d55df55abfcb15bd5a03fff79a041a9e863ad4273bb26edee1ebb55d5f8ba14f1b49d88b8f6572f029f9121fa1c5b3895622de38f64936d3ac7b1c6d9392a78acbe13007cee272c3bf03c1253ad9432b5c6bd9eb729f6b43c883f51dae7a57923ec3f89da52b21055f140bc45860ee9b1bd78b00bc0ea12e62b42ccea2405d9944db9566098772120fb2f428f409dadedf722051f0bd4451a98a6e2205915d5238f1aa86b086721ebd3be718c3a42f5ae9b834d7b0f7d5641555bd2794d556ef65c49236be4272436e895bb0440335a87e319f1b8fb8243c2bc2a42f0eeb2d8ee576dd05e6126ba958c4aff97719b5101a8e26324b32180ce7e4bfd0bde70bc19cab86d9c7b972014c5938898f8a3d0e649ed4869d3262a5976fa8d062f131ae7508f40e735b27527c86fac6b975e85a701b4d49b1a1b98dbe6cc597a1c9d5f7e5db5099089272566168dd8eca75e034cf939f2fbb677b18aa12fd9bcc0aad88f3bfb7e09b8631e2560b51fbe6f0ee80f2e5566cc7687b62e944cd1e8c456148eced7e2e09ba2c070d44d8132b4224b40a512bf66554f3d141d604d9db710a79dba2f7f7d554720e07d6d82b891d8d1afab027142ed2422b49fc16fb37c584941923bc63250072fafc209cda06169684306dc69f38b2756be0e0ab245394d0467c40b9085a2d7285f01427473893e4c17a84e4319f08edc9e079bd51cfffead03f70f31a149b7278f53294c6d4e78a85a5a804315e2ba88f8a59b7801680ff59641ba1ecf2b7723eb8caf626815d1cafcaedda21e1728232ac5081396f5c9544f60fca2084263d775580a42628991abddafe5d404d0f25bd4cec541a20f608082a376965818c728c6e8484de2c20a0c5124700ca6df095b34c87c874980001e3cc7475c351b7138c5a1ca13e8f5b438103ee0d9d3bce2a25a15e3a072add4828ec8741bb1a7a216cf0030dd823201e8341b82feffca7bc7c9fa45f64c6f11ef193a00b8496db7262288f0d94a952d3caa3f5c962d5df90e389730da931ef33a4268601d03baf41ceebc8e53d7873f371c0e1ef3f460a0c56c277a43681fd35e3e6c74fdab2b204f09c61e60bdc382c72f03ed377655143f8d782d863a4ea92c3f2dddb8602e4348f508f691518a536a239741f1bae6d0c8d30a85251c647012998db43fb183972e52e1c5111f668f6f23dc671271e1e6daa621f27109f192a09016186c79de772ea6def81ab364506b2c1d47e486c4fd3b4c48af445bcfa15e8a863905a1a1270acf1800d49ceab3d3ac9e9c6e043d012240f396d86a13f70d3590df036c9b4539697a8a60530a4686598d9b69e94ee657d3d27846484127148f69492e347ce24742ad2edd516d7958129ee7fd1cc1b50af9226fe353be739c93627b897da7172a43074030e1356dc6b7b799fddfc92e66db6a88ef01f3bfc71d7cdd095ddac1995efe26aa61ab47393b893acd5416d09d7dac8e9d0468af5c77c0f7922dc566d76780688481a3f61f82007461407c8f137934d1c1225cea58ed601826ed55972b32010c4036bd98bcbb3908d6af83006693feaf599b4d61b5d00e3dd1b918260bb04430b24114de23f1ee9e183a559e863f4781bbdecdf6c58df0f63de7412725be35b7dcb18613b1f390878b50ac688d00befd68b0c1eaf7695e076cc4b2d728397caa6ab962a1b8f29098649ac40ad9afee7b0d9ee6e0ed511332bc1d03015df6da095b5c5283a9b739c196dbab4eac82947d1665430df2ba37fea80708a64ef00be4c0373b2aea455ae83c4c08313b9b2f86c9e69f6fd4af17755ba1a4672514eef7c06effe74441778b9f2a019135a4795196e3b1dd512916187544749721c4616c1290c8425fdf037d0da6711c44104b99c63aa4ca43f5a21f5fa38eb337d5fe87352587999ab795b59480b4a64ab8e0bff1df3fd31217c91e6557608720c4b48df401b6cb3329109475c11ea6cd8de4ea50bc51d4d6beffb8d9172c15219b092ff86e1f07e80249aa97a7ef0cbd3deeb24a0f93f882539442afb780f728cc6689b6bbefb7639fbc33ae87654b719dd9bc07cf04f945f3497b7e9acef72391efba1a5fa507179268904f4c9b0dc2b6b0d28077d87becd698319e43206720311a803628a8fd2925297d5f9c65fee266797612b46012ec72219ba2ad4eb72cb60a80714ecdedf627ea9b1b4cca71ef4e1ca3bc6b0b2aea3f808660dfa7372d3a54a189373a9aac6eb7ffbb3e0fb068b3022171afd78047d402b2a317c9b7271f893c8866b66625d3380e657f9a3a3f1b603ea2346566cd4cb562286ef704eb318c85669daeac47456178eb8c3b3f55c968ebe689f168486e2548a861fba2dc6c329cdf8c354d0bf0f5835fed9d7b5cda8ce5772a3d344c8cc5f60a0d69c20183305adebcd069e89cd1ac28a6478b356c1e204360167113a477c0b04405772460ea9cecc6fd8bd0495dd68e67d704030ce3b4b4a8db43bce96f8d8a2e8cd036c3836d6142238209a92039d9ccbb329730e07d21703d036961593cdaf8ad4729d0af2771861cf2e24741ea22284abe70ae495f5bb6308702c5ec7552e9557206a3b376a66c9f8e4a1371fedf5f16b01fcc75371b0555440f24553e56ddf5f72a5d090086196b89965492be8c8098ec953e903245812a688f26e576188322972ce0db45e4413bff797c971507a5dead30f078bcc0c07ba5cc4da64af758949725690e232e66c79f0b655f59080999d145ca1134301837f71dec7e2f1056d5972434959498f9a0feb2ed24c1d3da7f817c351b6e9eb70a6fc993544172434df7237272947945d7d84df51a12b6ede863e1c4f1d2a89e46e3aee7c83a4fe83ea3d435c8b765572beea223317e632b9f9a67a063367e8accf480de102fac13aee72d0b323a36437e6475707bb1c32ac3cd6c71230981295f12095326a66a8007422ac2c4e662382328defc99f4cc8633bf345108ddb70df551880c04f940ffa387253420f4dada6b1f6745f3fd7334284ad322475a42de2cede8d25810665d80737392fdbdd89d1d9d0dc23eeac8f2f29b2cf434d76788880ab85edf01eaea78d72f7269fec06cbec7185657e8221d2ec3604ac0b7537a6133ba0a800b6e0a83e3a1d873fe8fc49b2f87850a45fa67badde889247c6767327bf5e3b7dc9b3d2ca726be9d15f35894e4568ddd8b58be183a6716a9c0563a149be2087cb67d15775573ab05ab31cffc9827caccd28b280810b67419491db26566502452e712ae95a72968533a94e70587296414f87fdaef387696c4e23951e563970bd880f1177ae7250d2de3ed2fa1e819fdeab67406ae74ec85ca43904b0073c84964d423bc43823e7c03038d4daefe2624aa6e5e74db3ff1c42bccb6efdc9bdaa45a4e8425d1772bd4ee0eb5eae9822dabe4bdd7bf4e82152a9db149bbc5f0afbf38a5269a63072dca5afcd57487cef4a4dcfe1bb760b18995d5cd33bb28eec81e2bee205e042724a53106dc6068e7d05334c0dfe4f0d522fae586aa7efc641deacb7b08e9430727c056bd725ff6bd29b1dd770afdadd5412a8d859654502a7c32c25b57d104c54137f37bc8b60ba340d1fe028ade61cfcc1c301c31f7f6c365043792e2e984446afb040b41aaf136afe809d51b76c366a0dc1915c60135193795583bcfdd5d35ef8b234fa1666aa6c69ef7d9f6790f9344d8abc20fa76cd0a69b17b49ae1222290f07f537343c038f3ca9c6899a06e39ff00e172b0047c7e72d93ed0f8bd2852a00378cd10b4bb2488c2ab7efdeb053808c5d2ad65a6f919b4d11164e9cec1c72eafc59960ea7e46f5a80416360fbfa06afadc6f5916d287d46de11e6adbf48122c126040402490cb46dabc37f2097e8664a70c08898cb0e13ea427184109f2517f62564516927047538012da22862063c6d9ae7eb6fccac50974752aa9138457b20123e46bd91875d01b82d29e546050438c80cc9e606c5e2a01a4e996b3bc6d95fdc3a44aa55964d25b3a1f5bea8baa316ec017bced7928f7ffffa2078abf72a9bb619b5dffc7a2d5a683472ddc36c1b380b58a2106544c60dab790f7162f72e3cda2b38c3f8434f6264c74adab82b3e56b5f8ebb4428dcf7d5ac45165e7672e304ad416371d98810a45997f10a45682c0ff19cbb17002163b096230da14b72a90eeb17a455a79265931feb84262c5ba4effdcb4542e2bd1074a8771cbe937239b5a9a797acf8de8a47707d8065d8711f2f62a8a6f3b0f1fa2c6a3103c28572a9f72d19a6f74684056f97e8c1c9895aa2a83de9d8f94daef3b03cb988cbc972b1f8eed4df17700d1c02a7d77eaabd3932dbc4cdc01cfbf796bde2044a938966594cede19f84b8f467fd957b067bbfe26e362efe4ce276de0fc8d534cb97d70261cfffd612eac9d87b9e05d043f88c2c3d7b20337cd91beef8f5e0ea82c7bd721a4291851ec0a6eda4a32f97ea6b0d37eb74124d094a72c27ecdffa812cb1f729a35a1608ade495937308c3f22a44c8cb5e10618cd240ba579a73be3a0a38415fbcb8b6d00a8745950cbcf75a4eb9b59816be867096b20749038b901f49fa772c43855a80c2678e21676319ac2c932c52049174e38b52999ef55f9845ae23d41826305f8d5abaf6f18f8e297f2835c87b88f3467ebb7bb9a1aaf3adce1e4ce72ff7353c9c84868ac4ce5cd15ba1eb00a9ff5dac4730723f0d66631e5d050ba6553f30f1d8d5a8dc16e03ec7d7aac8518431bd6688aa4962580e89c5459902f7283838e69d690eeaf8916b4c2c1d567d6ef157dfe575ec6c1774005da8c044e0abdbf55ca18be1598562ad5f5ed7680ae50d2dc441188995cf6b20c178b0ffd3c04b105e262922c87044ae596067a14a9ea721ddf66a5da9bd6e08e6b01114e6aad708f5788284220d7ad76a8912c4cbd89945683aca431dec6bd348b4d33d3698602b491d30c62427fa741138618a73d853cb75cceb3bc8d7943210cea87fc0680d813671f4575cf23cc7a28f6a4039e35c7b1cd7998e2f2f8a5db60f20a82726af45eb758f37e7f36a6294c28f98b6c8432126bd189470cc2c3480d20d56c727cf5b92b5e8d1dfdc8c687963ab56db934c0e1a9733be6f9c41589418c50ee48e4477cdca12d505270d6fd966d39595df3c1a9194354582c934ad5384c4bae71dd9a0df20b7c40d9e54547ea420fd126559bbabcef3f8d66b9f3ec2eaa76951ff143ccdf61488f2bf097470ba534b6e5265c0148afac14edb7d4f5228cae05415e2070933aa3b4c21175040d4edd06e6f7cdb74df382d9828b9e6f4fba403f721e8efb81175ee401db0f091ae34536291e53f4087c1bced233bd03666b483f0e7e49c1ccbaf765b84c0371508a5decc39823c6933a3e804e3f88f2dd2e8a4a721a758f60585d2f4a19b5c32376ec830e35d5a254ec4c88ef8dad01e579a49672abe2b8e27e0d325fd84d8c2ebc16887351a2f92c1b32a5d96c35bc2127b0cc1f3f0813773f7763cc95ed4046473a363d34e0f89708efc657316435931e2dbd72a642858e88770dde39dcca6fa8a01955abc6bbaf5225a7197e1f18a58cb8ee571d0225e02d7182627b909f555fa7c72ccc67731b8786ab6182bde3938cd04b72a8eb6f0a2691daacddc7c52900153b29f957cb294d33063a6e64872785ff947221de2691ad062b83554e0666942268b1bf62a65390b4e89085446d113c15d23bf7502cb8dfe39dd059bed7d86e66b651c1f0641b0dbf656b939df34bd4a03a725fd7b80dd210c2ffa05ab213d6986f96afaea3559619975a1a7b8aea085e5572f536adfae629013afaa2aecb32ca0a34fd2ef35d8395ed2c35973e128eb008106b5adead61155a22a47d35953d4c8794844e47d90bc02e35f0c34a599b97b95261f80ea56e9802b6ba7dea7e20a06e14a207b5c6022ab8695deaf4245780341837dbd3f7eeece0d5d7008887168beb7f0f6e1719ba14c784d1e16a876a71cc5c121ac2bfbd03358513ba6e222ef78d473ffa4dc20e27ef4f460442e6911a36632c0a4a3a60c7ed53e0aeb1b3e155b35d204c6adc9e69ba7c11228fc93f0df660918fa388583e37fff5e3cd7c200febd3c2f9a5e1b4105bed8355613e36e39d723ddbdaccf6764e944eb3299604b37930dc54ab21d7766304bf20de9ab5133772bb939464d7820743594717549f0f382de16453604be8f65a4b29df47eca7866aaa30dfb8dd2a2f6db1125787b95de35fff0801962b6615e102ebb586bd1a41720c253fc2076146c1f4d49886143b1610de6a1124e96fc46dfd995f59959bb972ea307d3682cfdd05c51bbf7ea4e0591e069c71997db23dd2c19a7c22af47ed2faa358f4a583ee7ec66271e1be7c282b0bced529e334b2b006eb5811ea7106826db1490b68d62df98fc377c90dc5fbc2db203e1e73f0cce08adffcd3a782b60155d68eb6d6303bae5ba7715d2fe55d634838b16bbd40b28c5bff357944ba49472b6f02e079166b447af48918ab954f4fc111b0e5d16fd0833a6334ad7aa0552722d13f77574ae841b7b30555ef619a7eea71379a0d483bd392141ecd142322e72d0dc560b3f2db5801937c5636f224e0039df3c1ea3169a11b1403ad458ab2c72056ac1215d9dae0f0f1e059282004242602edadc117ebe6d6a5a8f5ac1ad4a724f3d0597a343fbca5aa9970f2e4b1f6ec8318f56fad98d88a797e2c3b479616c9f3650dea1fe5f779ac929868b874f400fd12472d00e458726d3d9615bc35b72a65459b3e3bf65869d6b2515d8fbef5caebf81c9d05864b0fc5436747e1c5c7216c5466fcfa764a8742695166a397c3da3cd5af85732ae0ce9cb5f16ac3c4072504dccabe9c7d77717fc598f8f366b122d13093f78c65a11865896f213592372a05daf1a8ae1cf03860183bd146a9312292ef128378c7f1c631768680a2fe0401a01472d27e65478907d0a70dbd2b578ee27d7962e1e8a143627265f989b1072a5cabfdf964a797f90566f040cb070a1ba197cf111d81c24c2f30a21697f27724e903d621e6fe21ed6ffd5137fabc2c4053197561f4a89c5304329c7a8280d3abef989b8e5cfd6442587369a2542188f2511f9090fad480ca6097a2e14c512721e1edd2a23264814daab039e74e3d0849429237b5732b8c134303da4f8aeaa725520da2d62aa954e2369dea47c6a0021d612ae96d4eb7868940ef469a58b593b7488b2ab143991e90de237dfcc567e31a038d4dd223fab4ee894964744ce6c046e43c795ea5dcc1af8d5dfd60b75071cc247901fcf407005cbbfcb94d6367c7216863c700bc17ce9eab6dcd432b43cfbeb58af45ab9e4c2e25a0aef2497dae72e13521712e48817388a7c836812986c6b4010f09b8c373df54af279d1c2c126a5f847e3b2fcb2869a41a2a2167852dfd690d540d0fba50b20ffa47062e5e95713ad03c308851c67e985e5406ae32accccaf0b678ac2ea3b3f972d599b8c7fd724938c27b008f04007d37856c90895b1413e6a20feae45129dfac54de15bc5f515e44e63f57c523665f7695b69a9284d4b65cda2fe94d85d341819370592d910fc4ac6dc0b2a78dec2b259862724876ed67b20975a516d8896562abb70132ad23863f1b1515afced812d9200f7b1a0c8b969b2027e2dfe5227848c8153d8b8a6c078f267f7d76cd7dc7f9de4b2748740d0806cc993255da2a18f1620547edf0068dc5375e572a331e4ea0dd74fac0998f10a0fa5b0ff44b69df2f1d497a6e4072ed537057b38521efac397f5fbcb6e3ca0bc5bc740950ac44516bacbe81adfc29e5acda90e44739881681449546a2d0276b0b54f4d27714d726aac912668aff7200083dea77c6f3a8cce69649b0096cba31478aa5671eba62300b3ccd964c1c5f759254f4513c32a769bdd8a1ea6d331302d62dd0be98156a98d71e730eabe31d0003347d1b25d297238ed05973432ed7fb673c45a7f031adc1a8d93d8b07af7253b8b527f57457eebef76a46a4e938bc277c2a64b30e877b4686b0ced63436728134fd86a72241859a1aea3799d5a48cc689b4bbf70bc44ee7e4d54623f79f72cc21c3a972f0e292fe140156da4cd35c1ae2d15583ebb7f5c3872dfbc92bdd5b43abf42bb2157f4f6269cf22561e1965ea73f702f93783a23bd939d022afb913dc9975c7b97cd95af743139d67db16b66182d8146a402eadf01cee8abb0732723c6cae259942b6423b3b1d5982fa7bcd7201abfcfdc54097b981f0d99f525059edd9c62fb61af966430cf31186cecb617abe2ec579ce132d470140f5a05a1d4d6e2dcbd377c57c9c418fc886d8a3df56bbc82372bbc9733186c2adf70d0a7057e8448fef029c5f06dc721e80336836df897bb9ddfb0fdeeafa45749edc441c6803ab6ff8c239ad3fb2d5d7a5b4bf0bd09a0678040413efde845f5196b2334416de570b809a6d2e74b49d4474f74516cec0fa9a6b0a2f3742994ab8ff2bbddb130e68dc240d83ef397a4d1f1e19f10e31f5dbe022bed83620296978e0751c5e179e5996df65f60ea7c59ee1d1b187fd813f45e0d8e54efdd91fca80a4bfa6db72124c46bce2d149752e58aacdb7a745e6e46ec83a31af31f040a5556da15c137202c7b3fb969603fb551fecde1ccbfc86685e829a8d5cf078c0c0bcdc949b6f30c79b78bc4024cb9b8d53fbcd72c47e16aa6ad7ff2986871e6a45d7ea8d087614477311003b74c0ae3b0a7fc15be5908d13beae230a1e800d5ed6d0e9a11dba724b47070ee77e3d0eb8e45b30c4197a1cefeaef91a695c5edfeac9fb35819fd06fa2b39e685f442e9ac31afcbdf725149ae588ef28ed88246a9f436d84405b9721a77049276442e435d5342fac8ba095aa0d06215fed9d18e554544b28836d972bdcc42dedb82eb3e205e764f1b81b9fe17b5e224a2e44cfe512d329898536b7214ceae58bf9b7ea387022f040445b0149e0762aa844fd084903fd74cf212cc6c6ee6c733e03bf72edf4dbd779f79e06f429cdf74ed9015d99079850f995c3822302e92a15b425cd94a894c7ffce4c2422912262879416cc842b5550623c55a724d8af11dded47c22798dd6e37cb6e7248e8b21311411e5b267e5ed620a2cd11c41168193c5a701162d1a0e7bcc18bdb853b8c3438dcd94ee37163f27f7dd150257da2fa30ae9691dbb7232cdd388b237b7d34b5c4577936e3ac01d265c7311449b69dec42c978c68cf784ec234840c9fb500bf93a51bd027880e83d308581f72428d0b978287546b89b9aff0ba3453327e723136acce8f9bccb0c3a3ab7a0572246343c2a2c3ea4d82969d8a6a43240b703bc3001dadd01cec85efeb573244342903d544e17d2e53b056a237b171b5b117ce4a3c9d7a12f86b7c694bfd24f872916bc803001a6036ed6a9479e0d0ce2222b5a57951904925e92d718a3b05c865d01c630bb53f25cc2fa340644cd403c66527f90eebd6b6725779dcb7bcb9cc446415301608cc64cd8bd232c4a0c69e63f89b22e411edd30bd4e57e52f1a82b6bb25974b7fc50ad1ab65eb8f3d4af7e80325d3a6feb8d4ec51cbcd4cd3006333816c20f16ffc0534f3ef8e8de68227f7325c6a264031986658b7233288c4fb872151998a6c5a04ca81cf0fa322b100f8fc8626db9f8be85703349b091dabd1d7210106a809ecd3c65eb0bdb3f72cf4cffc78666fc572cf8fc58795b3cfdfef7127e8b86f3a7680f95cf7d486978b5b3bf4ce63d9e71dae355c1bdffddab7e4672d75e9f9191a0a6177d464730a9606fad238facd7095106c5a467cb46be524072aaeee9a68a3dc009d1dda2f88f7a6913b863b027d75a1b9e9cd3b4f348bc9a72cba444129102f58095429ff14720a2e8d0c18789c45d1fd6996290ba11eaf0721766dee6cc9a4cf1e8415126ab627b5051119c8621d24bca7fd01508c09f0e72b35615c25204ba36a3bbf6a8de6c1051f92b298f5563691f9377887ed60846720d7d9be46df6c0a23b3bc2194c5ad6586cfeef9abd3376ec0c094a5c4ec8d872971a8c779d4d2b0d2c153fdf2b17d1b6d10ed87b2302b6d6d6ced370152c9672d789825de8e47420c4703ce14c453c4417d3828917a3c76bdeec93f1e4c03762d1292e1e089e7c3a91a32f93fae1e77f2aea94eecdb663f5e7e09d0fdffff9721de930d002a996a39beed18b43bbd2dc69750ba133386622e1e845e0fcad07721b78178c9a7ec23753c4d63bd8055587edd3574c5774dff3f36d6c6359e77e722d184c26b21f31ca018a989abcecfd3d08a14ec3408ac78ca0390db1e832f472ee54f5b5a397c839ab0c24422ef9a228667c0aaa53807f47728f0f99421f4e72f4f2a9c9afb75e0559dee82bc91a8dd298ccf5141f2dd9707d0cab67555f6472c68c7a0b888d4bbac22fbc20b671504ca357e44a90900f72997fcaf9e0a231189299fc8dd3e3a55159d8abab80cde8038071d724d9b0630009d64019082a2772dd83301d5f9847cb769b588c06fc586b5564c94353de6888a2a397f6347573727d023a421d7d47bc8552cade5a1ddbd7f37ff0a52eca77af1fc87ae3eb93b0727f1d2b4ce742029a1d74b0d5defaf54ea8c9d7dcacf2b4309a8603c53f2176724709e95fc25e360e52e5c7f48ca772729da66caf34e8325aae12a5fea4469503564179509ec5f2eeccc7eb79708963414d5b0ae88510ec62447da99327671023813dafd40018c3a79a0e5b2dfb2cf1611748c245a69a64f223712a9b4c9ce37250bb4c1c93561ee0f9fe5fdc7451c38b1c91773562b27d5353cdb5e4ad5bb025ac4c5f42329a46c59dd28220192322e2e7d042bd4dffda521c75b88cacb5697218bf38a07aa721325471c239f3c7b9b268734685c9b15ed637bc49f2acacdb729b78c618403c4a26575fc5654caafcd5616843d740fd77d1eb24b1cb78bab872c6eb3fb54bf8274f86d6eb82853ec5f54c804c7f9c0aa32c93186a7d2766fa555e6421e56ec3962e6633564fb4c85ae13a72c7b67b9a9ae0f51eead2a802c472b170d303d18c1756e53df563fa635bf99d0f9ad2c05c18f257ed92ea5f253f72ae012e4dbac1d5c33ab55bcf0b9adb0413b8e2076bdf41264d4c5f198e14597282a36bc9a71a88e3317520151111cf16062973a9a485229b77e3fa2e74ef6f728448beadac8cc291d1f3e80387a0a45a2f3e33a387783239c39e8d72beb3dc722874a6c40d190493d4e240e52c72e16ef8de0b4802b84612ad682490e54e8b724cd96ca41125884770e24c4bd24f4d161bf5684d9c8270afdfa71ff318cf864af6abf1b2fbc395021b58c180ad39d91df77004813cc1487937bf951bb000b738fd96d69750b2cb7c195670960c790aa2ba8d60fb1da4423e8562189b51aca1032022a4cdde3a3d38df41c96b56b8054bfbc25f13253f0340d1b283daf7cba172ea02a0701d5d64d97bf599323e20f76f3533842c21bc4bdc231fdfd4c56faf38f30249ad9e46df25a48a0c7599aee443ebd57e8b0db471bd27d446e04950647241b3ae45f287f65131e80ed7c81544fcbad21199c3c5c8f30a3f2f233766616402226eec3f671f217c3d3d93ab4220d59bcba94da27602cd52f870d94f063d2a7fb922dfb903e1b2b5bc0f74accb4c7bef6c4aa61baa92152f8efdbc144e20727fec609f8139a99ecf87c3d726dca943484b704ee2f3bdea4e105c6b20453c7201916dab1738c5aca7ab8ac433190620308c5499a81e0183528ea28a5a6dd8727b6a67625cda99bc2ab0654d07a669c25c740f80305b83fee78242d461cf7e72fa643098ddabc198ae722f8fb76981bec7fdb4f8984a19c5aea3089c52fe0f72d78ff2d964020f657d8822a2a1337e5df7bf9cbe9ac5982c4e14db5de6a9a27210d57f50ba03e2bbde0263cd6350419944374374bb57a53a155ebaccbeee761efe93509021397bf1ac43af8b563e2802b27d8097d738065d8eab91070fa15b475fc8f670085cecd48ad456f96e02a761b4e3ca28b3a91b06fa4798aba0102f4fce3e417c3d486dd86326e0471c9e64123817bb22b69bf452ff83df4523c85972d4b91b1591afd6d994808cad2c1624d70697417d938ac3d97b8680ffc6db167278c3ead7eec48dced7887f4170dea6542139583ac390b2e5df11c05dfbb723452595a6e53efd92e468d5461cb8a6f25793f694b81fc50d940ead65c9e328e90f2e61a2cab3bfc416ce1e6ea13e3f429452a0b38adf8181505588e1f9a25706722cbaa5c5c35e7d934d029645c10000e0b44a1a0e28ad680a06948bd8ef5b3c0466f37545833dacaeff19485b362eb2b326ca026ee28b84cd9b857d75ec889a72a2e261bfcad9d58a116737e2d5f9d4783b94cfe03759a0583daff721c4b03a59f695a8a65731a28496b7287a15bda8f28f0e1678dc2f785670de307f256ba272efd5f5018351789e037ef623f28147fbc351b5263e9c5818a9da06b9db8f2b7276bffb4cc0d3bddc1e3cfda2c236d80a61cce75ce121728d347b700e27800f72e827affd66627d032c3c4c4bcae9f651d0d7ea354862b39cc27e0f356a6fb017243929ea916a88f23026c1c19a79cf98dbb6d01234b192276eb76d4362a40272a76ad2979de833af1653082eb1cb0978017dea476aa9533cd1e6ba03c4ca934f6667c45ea2084387749a518b700884e337e3490f6578344265a3a5e5957f9f5a34b4138e3fb09d76eb8d30965693d34cfd740869f76a96d3802ea34dc6b70872121b0dbe71d471ba76d63fb6de342f504c8de53b3767f486bd053b3409db727258594b74a62ac3263adeedfafd4e37a76d62b2f5742810e19683534182f8b972fff48b8bfaee5c32193e896fc825c65b0d1f8fd8d5c8818393d819d95f7e71722d214e05cf35382084acef2de7483054e6ea503bfde3bf49c3b89b713003df72e73c49c2a45c657e62507bd8f339994de6e2c077806da37737222e0ffddf6e0a0aafa15f19076b08db5a06e58705db14cdab25bde19048b905746c2d2d16127214fa07cf49f66f030293ca99ed234419f510dfaed5ac13e59b4e44c51b46680a8bf511197ac422cba6b54e7a0d5ee5caa0b929b5f05237ad75a0a13bf5738072f98eeb35dc8f938dec27f3e9dc80fce1382a831ea3c552ba7cd95cb86272b23e8848ff4168c56ee6119a07499b3e4b95b712149768b4cb26707e6dfdcf47d57246df300e1e63844e04140ebf12b6e360ce26ebaf883b3e84cf8a8f0caa5ad1726f19df6a376ea70642a4c001ff740f5f0a456d2fff5451407a4cb8b82866e35c7e01d6721a7f27afb6d7515fad1eee2035ec52971905bd5db1581dce56d05e185ec33746b2a03b9dd8d0b0707c6d03825afa9f27c5a379b879540062bf959972a6348bb8ce535f398f1ccf234af1868c2197958b8b59d03e647048aafd51b672792e94f7f359faa962575c585b8151178c5cbf97c2101be9a92e74086629fc72bb5ff0a712f5fceba85b9c5523bf97e4136ee1d0a72f65304f2ecb62f2654872c15415c06bcae759d177f464264a50a7ab12cc825f20d3b7ca708f04ee70863000756ea19d661ff471bb13ef33e38dc972fed1deaf193ae2e10f07e72eb13272462477308281a748c531fab139523017cf241572ffa2c20c46c467854894120fb79f72e9137001f64226b1628d2ec066808131aa308a09919a63d5adea9e81725a72611a22ebf9acb8499e999093bc5626655c6c8bf43035fb2a4b821cbd88726674e58f2561d040126b7eed178e7c8ae70585dbc843714ea541b7f5c28a12286ff42995ca9a3fda4dadaaa28cf8179a8cef60de2af33e117e0a3329b7518419ef4ac5ef5ce1731a350a29f581fc506a909d877c437bd7b769f2f715fcd9b1726c370b9eea8af095d4a156c28818552beb2d330a7afbe572574c1914e0277c33283bd842fb6209bf05f3a603222c6476e6a0858c52bab68af4982f7a359fb272cd9369d935023375988f2520b81262207f64ea43afd6561a9645a4e216117f7226dc7c31a74dc70d1e76f2fece1b726afa7138a7c0499ea85cde35dc36a3b272e7472761443bf00eb73bf671c5959633c79eeafbb91cc4af1a3951d43627bd1f158f2ac59187dfaf359dcd00c36da1b521d6aa971d9e44a99e0e77689d17de08d97d5f24aa2c6bc6c199d6742ddf45cf7d5e6bd69376f13a4f4e3bd23ff64372be201a508a1de96c7e8a9783346efcd61948571de0e9c0ae4e64b879f2c0ae726044525bd4b1a9464467c029343d107cb9fe377d3851548b46fb116595b0397247a354cb26ef7022dcd25aaa4ac829166422aa39ae4adbcb30547328422f565dd588976f1db242270b9fc2fd4ce0cf3f6b0450f358436185c7dc42dc7b0364729e5bde67cecf732042152a8ab5330f84906e970694ca109e938172902ddbde724f90c4b062a21d853940e2eb9a853881272d17d91cb56e1a21578a9c98cfe847b1da10d0445de5ccdcd9123c7cf6e3af5dd15ed56359855c8315e149eb53fc72ffeea189eff44d42d1808f7498d758ed0b43fc99a160a12847acb4a0c992a8347d29748948dc34a172f6380869d7dc084725a98b5b8cbe679bd6a68dba45072869b8932e592dde3240157c4b1c066709eeaa199d99f88de9d4e03f7d8ed7d772a626e567cfadde49f4c01d8c7b6637d2a94b20b12d50c17707e9ef4d85934b4b84c5a944b959a7e0cc266e09a3f27bf71f0e1b63493c48f580270727d72a4a48cb4b2db111e59a636c89019b863e46995aa54f8e804508103f43e35c0813c672ac654cb6747ca4d03d6a5772004895790b5f35f2a9547fa369b36fb95615ed2e00c2199f6352a135d546e8ab2c550314ed7c100ad0b7c16c9570282efee4953ea558073b2fb08768a202ff88810c8b902c9af36fe3bea143ce7be4daa1b51309cd35357909f69d8136991cb57f636f546b22d291c4de3a9a46b93a3e6837c472b52b797696c4033127917785bc54ad38215db9ec1ab938aff597d148fd1ee3729074e8f0863ccd0e1b933b0de79c269d7284c3dcd02633952355d4336b81a172c1a07441893938ae099934e465d78401a455467b4adbf20d0861b1c8aa7a9858df3a150548d930b1fe942e4ed2f039e54863fe79a49e7f26b3f45ba03441df72dcf669daa587c0ef58b7197711831c1d6f376341974ff8f3b82a05315310ea5e89892d31fedb56348ec48be3742370efb9a503129c027909896b7d64814e2d28746af7c7273ae1f8042f219360a0b6b8785d0e16c6838dfaf20038ed12ea067272774e9847c8458bb18c915f776a260b1fbd891a9db702531563ceef53e0596aea63d966be1f82c43f6fc466753e2e5ff142f523f2281cbab0966bb26983f072a3770863b031c374447974dad3f5dc9209e9b9c9637e3e4013ecb93dc8518a728eeded84b1930ab82ca97a9a5647c75075820cdfa730ab135b08c40df4ab3672983d0d63b8d441bf340637fca3aefd0670063c5bf3bb8b36d564cf4622bab772791b7efb317dbc1f5d9e1934f39236f06080789af2f852ceca1307bd61a9887286fe6bf920c2758986994efece2b7d1d1a1fbc0b8ffa3ab29836896ea2f5b27256a2f32c91d3e984075cab48f02d7f02e31a0429e10caad6a68ac4b7dc501d2858f789e2671f27493ffda08b158034363112ccb3c236bca006530a587e0d7e10128968bdcfd115b0db27e64cae9b7c1915c8105ffba27f0335a51c8279d3677212acaf7dfb6fd4da8d9aa2c9d520dad1faf7ab9a843dd7c27198a7ded552f27207d786da022f3b01124a1209506363ecb9b7422b848512b8b435e020c271b07226447c1dcec68a748196109a655bfe83fa7875b0b7d6f3a47cf17800c8d90672bf2da5867779f759f2f09cd6b1280e63ff9a0a70f1509c0a129ed7073547805226b77dd7c079e7bfb79499074e76c9199f77c40d5dd442bbe154ad7e4727857253d50c596b988d42002b519c4b8877759cb343d6c31204f4a795b2f6adf0a422f9878c0b60412790c6b366e1abaa22f8b385b4af01be9a040ca8d8fdfe9b914fe61678f760f9454390703b9a9add58ca3473fd47e75941447afada87a174fc72a65890779ef26f0fc063ca70298e65eb3a914c38921bc95b84f8b70fc9ed9072aaf86642893408080c4168ef12bd5a92e6810fb6c1b068fe96f6199a6562b572ce466effaf92d400b2e44e960e65a3bafebfe1d865e7d3025b39b5d20ab8c672d38dfe9ab6951e1a06cd0f45aca39e0f22c082e72a10543494f22b5091799872002bf387cf17d1853a9ee406bf23075271bcd22d0bc0d538846a73598afac372a3a53a5bdddc9feee8db2ba2762c6e10e8c0e5e2999a90fe26a3ebc96e024c40d28242328a8d4c1fa26fa8b557eb3246d942e5b7a37e12758bd9ceaa7ab5bb416a81c8036b9100a46fd94f4d97eb6e2a06224edaaa9e7d0044bab7fe125c3f46f5821162728a712c6483d628c627983979ef77a57676de38cbe662d134f30f1bebef49f0c128b9064416fedfe1e5e26b82e9b28a86819fa06704ac4769e58472f0d8871086e62f46e86cc2b60531198b47e346c0616b60a46258cb1058dce372ac60e63c5a32d8ac044168dbc3d13af0b929427e269b29dc85cc5af9b832d572cdf2189c3974cc5a4dca929d5164406427842db0a6b4be7c6193be3f28b3fb04482d31aa64b454b7e0da2f1f50b3c0d3f29c79f42b71e37c5f5e4b6e3128a2508ac0d04b57936a8780c3d65806c7a9a4cb6fcda3668993368bf8d4cbddf75b72d5682ef421f7115db25940d990df4d89627d02c93d9dae03ec9eeea5d683bc31675d505e9e50d568c3ce2219cbf7841c9468728305bd4552339ca1affcfda172e7d29679d1d6a6d930e4b91dac93d2e95885cfbc426a8b47c7f002509cf4ba3fdda8c71bacc7fb45f2eb22ace6e68aa713d0cafcb6f2829026758d9ef83a06723cb708a69088dadaf243e050b6d87243b929764e4731bd9884d6a248549fc7728abe9473a8218a7e7eef99541444c9833fe67397a345976136bcf00ef86baf7219a22dead5e12e7f144afa9a96fee52d3f2bbdcc24d955ec7bca7ba4f00fbe721f870f93772781c5aef9af2d48c521f1519d786343faca183d400678fc916472d69cc50cb00f4500809700c4913578385327802575c5649f4cbcb8cc4dc16331ae0d5fd151d7770d62885d8911719eb07ecd50f13a77d06c3c752a0c04ac2672d3a8e09c68a9595feec472656ede0a9b2e1e3585654a3fe6689f3ac4d659d072775340f12f7195221a9ea48fd399a4acf2f209eedd4525fa69a666994d5e0a72c50af10f33bac5f43ef3b143b999b37a4c877f773a8ec5094a54d5502b24e4667da13b6e49caafe8d6ef87f788609160f05d818876c4b668802e935acee946720266ba98eae50d0ea3f0d87747e48f87e388b5301eed189d5bcbd5732a0de172af876f0f681936488489dbf4406f690bbaef75f3275efe5d6f8294779047c75be37e99e412a7f6dc893c384f0687d330833083d3f86e12cca5eb441abf553c7215b68296c895c049e2beb68c836e68147342610c2e1bcb908d6465fc2565566c0822140dd1eb7fdd95758d74f0c09293172749a0db437c2900ff7e4ce5cdc67225d93e97a94244bbe421f0a1b40827e64ac0bb7b42e46961088b464f47cb06723666eb737818f20b9b0edd87b9ee13f738a5e55108d63f0852bb335922b1c8103730894d2783fb0af94417f640ebc6ad4fba4e9790533e135d93e1c4d281441a48a43aa93142cc4259791c6e2e72de9140bbb414ec3c6a92024a99c33414d50e046e54386c93500fef561ad7d9087a56221a301ba19c2fb07b0e6b6c1044547278d0dc3f210960ee9a6795e78eb571cfec221cb07e6145f8dbe0b98041a0273c20c99d35c642323de5a30b8e0dace6bb0db0bf8fbdee7d03473553859d6c811ebc3028b4f3c3dfbf0b883bad22b20eaa38df5031afe86af7a7329d2114c6d8111a506051bb05d949a001915611ccec067cdc1eb1966b46a0ecb2c3de14160a7220667e724c7785235ada2b5c65e604e6af8eaa579b8fb6563aba5dc7b963337289fae78cd7c6e83afe47f4f1284b4724963693787a53fb4625a50558723327726c5d5da500c56314c24b3fa9076e3646ea4c5ff7d4b0c35352348473be091172637fb356a5682fe3a90de9c97a131662ede3bd0316d92b1002b31ddce8568c2e02434a87687aa64254b82f5ed045e2065a45344e7bcb2af4ed41abda62adc2269b652fbfebf5f62c4dbaacfbcefbd13b7d134ff2dad9588e0cb5d8ed9d8e2a0206730da16e7b6e637c2f7a2fa3ac0626739f5080fef05f4c2c618dbaaff84a7276a7c0e18b647c9a2aeda82b01c85bfe884d200fa5727f5dd6a248b08e3e44404b6ab38240780aee12bb5b21cdd9d407a0a0b2bd2841f4e26361396b03d9a972882a1c24cb346648142cc594066a0953dc2821334ed9058662adc88a49363672abf9a17cc8b86126433cf3c58ee1373db5645e3c4b598a3a59fea161f01b842cece4d7c303eee98c8eec71bce364bf38ae5985cc040a3e5644e7a7448d1b4f575a1c8b25aa59139b66457bf2204ebe997b41ea4e2c760be3f96ad8998e10371dd25dce60b637db5c43d8781258342388698de73405b2f81b5856af22af49f80c33308e829573a5e047acd444b77d3f11f30ebc0cb85d86ca2944c528fab41a724fb44ddd53dc3e0d0f45628484e04c6d4b28d5c12e4d6ded850edc16790564725e7414860057281c23981135febafd34e61a8a96210b98dd052de10950aaa172ef7bbf81ce3a19cf3d7e1b444d5bed100e8e53a23048944c807025939c13417252a680a1759ed2dcee6bd0c1ba53febb761674b8f3a28903eb6d5904d4a1e172d309ba5d8cc7b54231d48eb8318af420b0a9c740ab9899d793796b968e2ed072e44004ba9140f43108f14668ccc81d4a5e1dd20a09cb83230cc6184b2b4d85604cf9216b7ac57a23b6ed136699ad8ae8e42a37a1fa389b2846f6cde96ffbef71b0f835b2a6015b4503216ab8aa5682156301be433df3d43560f64675962f2b4fdadcb281c60b5b574b593538c1f63b987672e16bd4efb54edb1bab49fe50e77290bb8317146fb2b1b207de571f3b53481733b50a41f3cf413b2df11c7fe8157246814b31418f0b87aee39ed33ea459ccb68740dd6015ff0fa5109133b9e50a01340f418c16059d90a7a5d743f15ed4cac22a31e490cb39b13f0189617f542355815286626b152b109859d2de49d9196995e01624f69611b431b6f185fc8083729e24c06bd9453741b9e5362b605a785e55d52d8a25e814f6cc762fd257467147e0513cc70c3f489a1e2e00cbb89fa2be0d6fe90a7d57f52210b5cabc2adbbe09c7c62a0216af144b355d6b96086138756a759f7a3c3896fff55d49c844dea824804b7cb148f8fad3ce926681297104caf3ba64a523b9412aada175cda79c8d72282aa3d37ee3dfe5ac3ad9cfa4930aa8eb849656be2a1ff046124f32aaa74a72e22611883538aa26497ac026864216c6aa0845c3e08759b568e4beca5de4b472e5651edb2d862ff2431734d752a90ef75514e63ef2559a80d9043e89863e630441bdc3facfdd474e281b8c718b3f44c8ce022617e8198a64faf4f14ed46d0b729135719e768615e87e2e77189dac587c9db1e300b0401e85e0c9feee79e21f72c8b4acead7530a36bd22bc6ed76f42069d16510d0e612028a28d77e3ce069c725267c897feed32170298ddaf819171c907c75de4f478e70a23d6eb07d1050a5b23a2acbd642ed5b061d1037e98bac71826aae2dda29612e38e8de1daa84d386797316620d9a2fcdbd958694cd8f1c87ca48aab6221c53bd8d0622a380a5cd972d4f6fb143f1b0be3a9fa6c386571b35c5da3e87a1ce0ec72ed49f4e516d6217279196295a8ef113f5aab2023da8cf1a6df8f4e932e7da823b4178497a2518972f02c9ee596a8732c5cfc5d1ef1fedf72c250c4f50ecc9aa57a6b96f230f31172e52f38f3fd6cff614faa417806b5c2a40f20691570fd0bd8b9569aad009ad9723f4917748753d2da4ae9be184940718ed933c5c361adb9658f1a4c474334ce726966b59137b3f1e6c21b9d262948eecf7675b29d81c00ffe0a7a709f605bba7227dc1b1f59e2f16d560627a0e3d1bce4ed9c9fa1185c31948d2a3437d941ae724fa17c7965618a4bc3d9ff510bec0adc191230a4859ff90bb306917dc6149272292f98927fc4b8f585ef7bef569d432c31556e907269c21ac4bf8056f7d58972cd66cc87cc3dcb21d48b488f4584ea6ebcc157824ed2709169d077b72fb1ff561945fbd49d8c5b17bc0b6443de5da53161c4237c14b7e949da28f37e195ee972869b57b6f025ab857b6f5750cbaeaf1706288063238ede23bcdfeb3723f8207250c8eeb6563f21a171a18c6c79c48784cd412104356be5534d1b3aacb5fa902461d9fa212e6c0e68a4bef47ad78f44e2f735c7b056e19b726f0824f3b150825ef6f6e84fbb24eace390861bc1a3de57a8f78d8cbb3b3dd4b3ed0c707db6fa4725d69efc862dc5a2c8ecae12b911919af95bd8304e016c7778e204f94955661240f387a032d1bbafb52feba1380210a7370233732181b3031c5c8730527c7f172218c004788956c3491a6e545e136452295f89b3abd4f5faa6132365c5aa32b72e14477b87f35f712f6d84ffe8e9b4a12577ba06daa7560809f3b3db68658a50fa9cfd3efaa8cc0588de8ced5d9c12bd0b052937d0ede9b93819d3df55ae8ec1d90340ec6e8181b24cfc78568074b382834bfac28045278c7c4ade93f52261006ceb39a4481aced90b608e49a07bd7ccf42702178f18374e9a47e130963bcab3d4fec8462823d66a12683ff4e7da489afa28aa9eadf8f1d38a56f8acfc20b0d5178415e91ce855742d1faf807d278d66f09cff7d943df85493aa464f70b01106c7344446c5265dcdfda2b60e0b2d82c80579d6df14ec396e54b64dbf924f4f572889b54f3158503acafb2b499264f81204b23f0482973fae2537bf06a61c4e972d9772adb60fa74678be2f26020912c9f855b484200f14e677327a26a1adc6272574eade6beb121560cecb6386444fde695a0f7aabcde2c10f2d645edc5d2ea72075a5c3f12b46533bfca9a6d7b580742fb1baa284b2ed511f7ff6d65e4dc6a726e84b9865a1dc3b606b9413a84e708b5c140b9f04e65d31613136115d277c644d76dcad2076b3a8e2c9aa06501bd4b6dd7a74b006c9fc0dba9911498bed82c7239b3b6848c2dea32c7f9addd4d3f110e38f8faa7eb42dcd10e0cc801f9748957b5be1604c63f040fd5185d8f609ff135c3af54f6573b99c7c6c2f5b4f259d3720b63a7e84751aac02bff450f416e0b51ea29b6c155887de866d43bed1fe4b0723a249b07c3b0def9e8c1827fda5c43ff6df7b3398852dbd6131c1eae2ac9933ddff96bfcf9d96966a916cc659f6e61a9c8611ecf533fc1b1229883553c72da07b1427349f94f5dfc2dc86b8e25b7dfecc4ece1897ecde4767beba060ecf61c720d1b4ca17d979c443bd0676a475590f9f101bd7199124ba6ad82eb94dd1ac526bc0a0af4483f19cf03035cfb21df7db9f14072da0d966fccb780b2e33042e47252648c6312ffc9812cd2b33bc3bc19a3871758069ba03384e0b2fad99523cd6e3fdb4078a812414c18fa79b0f7affc9345d4db52b295dbda257d780b98d55d725c0621a8008eb4fce5d85740ff8a57b130db1688276f77c8a3ba7d55013e4372b39b2bdd43cef7105f313579bd82385dd0e3b764380d17014604ba8b3a647f5724c04f6a7475e0075677f6c12b41408a19f0a89ccd6a96b502607c836bd41a7218c02fe10497e199a0c456dd2b031598f9112294851aee5b68e62e5f54516c72f8d7a27fe36c957e665c8a93bbdb89f8a3a6abbfe7715b23e4024835334f5541d63462a9356a9797fd6a11ffa4461f45cb44be09ab4921a373adb02f7b1e7f0d8607c6ab0eadfb1dc6bc84724e503d96aafcedabebb88c6d55e7cf66c182de0bde7ff9c2c0d631e249b0f119676cf9ac966a1816f0be95e4a9094d9e777f7c51f8b9c681004e389b821a8ba034bca6c9dc95f53a78faa3488cad56395db6d35a289c273e4788e17b534b658ea45ded9c53393f727d84eceef1d4334ac4805172c7bf10bf40fc067fba5c5077350bbe2432df46c5fa6999c879a130cff9ef64583a8e1f1b28481f2614b3d8aefa7dfe3bbe4a5710645eb9766b6df33dafedde0e249e40476de5f0af6a0195fa11ed8d5803727381adba27379677662502170170bb4722f59a733384ce7422d4a7187bc1ccb80870023340f496de5482cf784d2f0fdf0fbc02b4b0b82bc397a33dba20201606ef39b3cf846f132e969d684ba144129ce2fbf5a37a11b02800c0593f56d14ab03f8679ffb9656b5563aca01039721754bb8586ad99baa77b6f9a557213bfb519596047cff9ae2e166264ad9bf946a96954ad7b2380db7fd7db430f192ca3c5cf5e77e653eb4bb7344579b0e271356017766add879b21da98d68c324ff9464a1bda52ef1a1b17830816363ebb493c9a7facef5966dd565bf56cbc636df90ef757609b42ab1d7fc3070a7e4ce37a72baeb7c58c2e9d24f2f45b4e1a2852f20879150839a4de2f38a20c5701c470522de76b8a926c2c7f33410f68cb0861a4e502ef0fd6cf2f2448ec79105d338cf72ffe47171e9bbeab71038559b1a3c7dd0b1f9cf137f8526485d42855069efc01d16f099ec484517ad87ae2ad007ba9e0ec888186b1e54cf1b0e33de6761135b3f34f8b6688abf310820c0eaa61f4bf02c0bfd2c0b544fafa85df91d0780ef7b729ffdda06ab4094ac51d5abfca793153fbd7bf14d9e5f195138576221ed6e897224e2d75b22d6cda0c238f2564b232c7cd410a6b06e083bcca4c671c75c6c1346913a38617d6ad2ab51708b27ab2b72298cacc26f150125e21debf767a2c82a72870e143407cecc4321c496641f98795a41c67a4be067c0764ae4f1756826b74a81560f45276fb8268c043f4b4f37af4eb99ac78d118447412cb7e5a71551174b873e45bd0d35e2a6770b671b6785cf998f261f9afc331c5f2e68f50a76cb887273d8809f662d96fc24a6116d46acc140930813466b58509e816fac423b511759eff5ff3004b23108a585a137447282c21d5b892a3560cfb8e3e98148f64c996d88842993626b531e5e5458c53061f55e2eda089705ada31324a88de72aca052018769b7e9c84f27965e82af3eb60c7e28a85bbc28e2183be6bf63641d11fe73048beb4441e67bcb6e23198e9a1a8cc90541871a1cbd889687f8f5ee7211ba44f4b49fc8e78307f6cd4286c68d05d01063a240302ed0286b71648060f2ae9e53d6b3cdd2123b9b6b1be77f20f4d1f362d2cf81665efff77b27a8e13fe3353de0722ceee576b84894d8dce6d7bb496c5e853b1ec762b6f25c1062d1639d3c840522b16af163a11e03a6dcbb778a2fd4a592fb15fa27c0ae92f9ccaaaa3ce3a875af348ec799d3eef3cdfbb801a0ead7f786fcfbeb03a068a3b50ca7a02c42d830eb256964adee7e9506d64fa81524d875bad4e3ca6d0a11ec13a8fb6d21f56b00e3b7945ee9ecf6c4bb6eb16645e552040aeb7e3c6db019c9722b29fb7c48f0e44991a71532e23b97c4c8dd59ea2688fe2b67af2386aaa93a8c3d1c39e1be9184a489faf309174d104374d7d837413f91a5455f590ee8574801cbfe7580b71e172897e7456f46f2952cfd65b040cecbae39a06fe335e84c8e3c60c6837248a0572d53d1b73a3a15812e11a771cfa5fb877b5ddf38553f42af5890f88b6491c764a99392fac78c3b84ee4880a7cee8d560dc7fe35305bfe5bf86b6b7eb49e7dfc58be734c1816b5203e2c048cddcceef42375a76ed2bdabe114c8480930d4caf672a343d1ac1824d63b773997dfa87de46fe2b9d51a9d5abd6da1e9ecf74774393fce19987333f309155208e65d153e4429c7e89c70c3f2b8df57716a1f34e1ef49781be889ca9020dea3e3f8738ed130e10be594fbe60494512b60b4d9f402da71ecb5fdbbaf61a47bf31c6e12243f0609c18300152413ca6013299c8c17f3b47222fb47bbd4e503434316c80ac70074ff1a34577bafab9b6d52d50e764853d072b84db7ace001effaf74f1cf626d15ced40fd6743f4dfb1e8cfbbb01fb59cdb7285e5c1c23a700b48da9a8d294f9526aebc8cb28e315c6e3a1afd687bf9bf8e4719a72e7390934256d2750d21ef3d76ca67ef5e4ad481192613dc17cb3c4d9772b47f73e13f009a28bef28040716835267215dc342ff75b0dadab02c548eb3a24337c034aab8ab7af31f51beb86aef3165a80615b13aea16057218901e135911581ef866afe6c75dab68fafd10e008332f5650df30416c6a287bc9e9dd5a1896a097ee7a2680c8dd3d08b711d9e6dc840fcf962c88102431f8fc6f4bf88b7060c00070e295a861d6b992cb4164d0dde66e27f5c37152cafde7ca212c043410c6d4e4a3fec02858697e11433ae19b8a4c836a835eb627908018156993ce0e6c107eddd5791c45872b470de2fff72f4c69d9e51cd2515128eda6818cd552001921daad32eba92686c09c2fecefd75e8bd0a72f9fff01cbd0ba8c228f29e402aa8725ce1d1b31b6beff20ee99be7719075627a5d33a80142a5da4965ec7f39659f3db19ce75cea6ec35c55f20b78f1cbae34959c3e8af5023cbe8ffcf3f8c6966b66ac00eaebe92437a6778f8d0a275a465527b576d390de60c29068d5d8e0279d72ee4e3619308e38ca27601101a518e8943855ae8b54efb966b0a6b9fc58bfa41721fb46ee80b4e9d73764f313192c5bcf63401e1d82e016638b041e575c958a57aa28a22618e872f6e9fefb434d807dab67991975e3d7d72d1547625f6e801d72de7f3e3d7dc3c6891058ef146ffd44eadbdce824e7eea55730aca49ddb45bb72ee6c1bb1526e31ec073f3d35e0c771fbfec9180b9b7270888355df819aa60a72705ef3b2ef07c4f76829ad09d927924cd05aefce0bb8ed5589d72b3a1f62fb727a122770a36baecab812f8524f2009c9ea8717d0ba3d288ea34fa2eb5d571c729a6dd2ff8cee4ead7a61d55b9679153becf25f38fae4835e071b18b4ae0674725df1d87118490c53b8725d96121290ec677b0857dddf6470e48ba2b8bb5445724368db2f721227ab1855b86b6717e5b3052e16a78a04897fcf1ded263d7b5e3d541389e998af4729c3d7027cf3fe04aa4367aee04a39fd545f507f49a5c8fd24dd031d76fbe4d679fa75c61c6191ec965973117527b54776d21e4f395ffe9a0b7fd012c357a5a3e3ba1491ca31a8097516510a0e7b5b4a792db2603da077e72c17b9b84409bbcfbd7146ca06e9ed7e1abae211074470228c8ca9385458ed9e72d9430f03988ac2567fee30e62398dc5bc7d37dcb5b03928c67b90dc015468372adde82e765d9e27262c487c89eb486d096315ad7f261811241c54c0f74d89272de00dbcc17afb6f4d56486657d1a498cef6fd3b2124a72a15429f4e08b3761724dc7bd8eb798621aaf39e64df9382a71444e90a8602b6cc38c1c586a3778d80fe0bbc1d18bd1bf12d66ae94ca6aeb52e2cf265773d0bd01e0a3b9797e4c26872fb937c8c51178c1178d70451885d9776b27cab8d34b8c96313d3f5fea98ee472e6db0a2ec30e3be18aac06f1c71fe6d967d993c393ef29ae8badd77fefcce47236e3cdb24d152163f065f8019cc78a6f6e3ea354b1afe6451dc8c4fdfd1a6c5a7bf3701d6de7c43e5acdfe2e8b1e8e7a2a870a7f606af674207d1c6a17c05172e4faba9694a4783498949b8ea2bc610e6dc12c130de8f6241bb8eeae313fa05dee62837ab3080bc4f37d6174c4edd6c8a892924e5e920a143571fc019bf698724223c888872d84f1b3579fb048906165af8b7cd02c1344bc416f73fd2fc771727ab03939757f92e7ecb97276437ab60d5d4ed816f808406f4c36cc096f290255ae60b8ae0018971f2c421345f47069821c0d377c37055f2823fd70c22324926c1b2ccb981b0fca9d5adc3ab3a6fadd74c11cbac70a012369998098d18ba66e7258a4b9e3c2d7dbdc93b7f6f7dde5b80b1626b776bcb82f23ec249f195fa7fa72d47de2a8bb0307bf4c205de6f8e456e8c9ff645521a4fcc401f69bdec6953c5e0a19f8668696731236e52c2ba3ed158ece5d30c33b1d21930241bdb588d2917233b0fb2b4121fb978423f5c93f07754978d68c3a1836cb897ef3d4ddbec89772606bf4976558235f0bbee3609e61a0977bd800b050349e2fba78e65ceea82d72357404aef88bdf390467240eac4f091b7254bec40d094f18212bddb95d247a72169ba843e744e547c18336fb286f99e4db790f2b5e2b5f1b08b0256b7ad8ab7217124331e2765f636b7d23c34bd13cc0e78b5e86b41a7ae022c0b0771053d728dbe85e20dd185083e7dc8463ac67e5081823b38a184ffc6be55bfddf0275c6728eac22833f43a33e6b99ec5a02c8d629c9243e519d1315695fd1857734af7828e420c1e0172b84d0fbad87f624e99bf16373c2331143f61a07a77e72bb085c727adb61da2d81d94d8ec40d2980bd4d0114ee2447f76aa6c70c1f584e62142e72aad8739d14e44a7d820f5a5e508c7414714be7191c32ad513cc086a56c935572b1201c6a734bfc88ef555bee6bd07d15ef91ee8b70f729b960df2c9282d194728d134003bde145f897c24b9c8124ec573f489b048112714e431e7bd4f717ac720c560f005541656584cada9d6d91d2fd906851a2760e627867c73524787dca0bea4df3dc1fb45dcfbeb4c8d1b8d9d61584588ca9f31f1633351c15fe75f2d229a158a3803bb460fcc7d97f3a0dd196bb84e6cca15e86addacef801cad05e3933183af52a4b392a612f8c579ce8e7d3937516fcc82a11176065e50a7227afb8597ec0d3b4f1e439393a2c51fba2bd1304cfeb68ad56e30e0c3441cc8170bb5306fac5685d63e8563b91b0191719ae64fb5f37ab57128bfb1a83e3c05a66650b72b83321caafa19a595f0f496d0c245ec7104d98ad9d010733ac695d7510b5a572939f7d81682a26ab82123093f1354f9f3f259a113fbf6d4d495e250433dfb423280c73d70f82638c97ff4ffdcdb1c8eeea952515ed3640110f8930946edcd708ce0c53ad028aa0c9d54f3ea5c9712ff7573edfe20f17650ac8d180d9b332d6637e89fcabce7ab42e3d787d08a770544c4d1e9f19ecc08472263ad13c0598d607e8b199724ddaa041383582a7c8dabb6589720a9f2816d4b2467bd2ba6fbfcc7238b0396bb7be9ec90d7317ddd8b0e52b910d725449b728974ffd131323aa6b727c2a5235301507c1e179bff130432d4cdc07c99d793396807f5672f6b0492a72679c8b17474caccf02fb47351da10c73beb4d4123d706e778ab20d804f0fa5728d433c782317dfc0322dbb42d5ac58cf63d1f86dd6e92b8a4b44bfd7afb9db5e02a0be60c590c1258f4aa28c332f3ebf65783994873c98781acb29b0384b14729f7f262db8a998a58e5850cd4019d754a1d1c358716341342f8f7e4f0589dc725d5d64bbaf420b2ee665e6d18c3e5e94464f3a8ee01d578bc4fbaadffb8380727219446bf548eb38a46c337e82a684a630c60351cbf3406bf31851b0ace3eb72cba167ed346c3c00cfa2c9d917633b3339ec4ea1778c88e2d9fe0569bf835772ea71fc8052197d867eb692a6fe7c13ef416c209bf70a032d987576f404f25f72c9a979d9407f0ee902770401802829a72ddfaa056d74e082055f8e1cb057b461936810f3d262e15a971a54f3fcff189f34f6bb6f2c674d1077a83818c7ab7f4be080310d1c9ddfe3918aed7378fe1dcadd6da7fb0430a0a1e410d4c3b3758d723adfad7e8a07ac892c82123c3cd96b926e612b833cf26db0607c6bdd78538019ab8662279288679cc001f3e9356e64de95cec6fc0e88d0dcfa1e6e2085ad3e72871b22b8f168642727dcbe313dbf03ff5216e0b5edbe3cd08b1b32f011c7425a8d81026fc020322b4d14b7863137b801457dd97c8f8aeba3b409f92937145126e61ebc2eaf5d5b5acfff399217e180929608b4e193174478d621fc76a551751337d7d31a19408cbee95e68b37d70eed322ef9cb55ac6fd66f37aea93d1e8190adf877b1c50df04413554dad861c0fe2755664ba74498d2ea1f229091bb4cc8121c9ec214fa21829b84eef52b553585860f9f7ea60b3da9c8d7817727cdf39220b7f9ea9b7f89cc86c5d6135e1022b99f46cbcfa126cbb879a63f67cc0b411172a773928b508aa5c015496da69c3304ac7c27b47b4094c82c5cac7b8424880f3c6006023ecb014916cc663faf1643b32b31a7b4f147a195c384078780a01ebf5a6e99d8fda1330d0b17100e1b873523a997eca1cf109c99fa3ef65ceb265fdc24d7f8c9178e187f03fddc0e5b3c35724bb2470628c438fc358011ed0f49691d3c14dc1a2c910a8178ce0470c6269c03024c32e67bfc95a7f8ca601b8ceac8b411d28f751883fb23bae1d9010386600aab1ab91138660f99fc60a7b0721445867247c0e3e937f585de6591ea31b7351b9b8f131a6b11b468fc044c40573e4cf019bbf0c60f9976eb47d14859390c17b3c4dad511b1b5029abb338e430aaa03e872afd8781c88bbe1c31f8b59755759177dbe0b1b6a68bdfa1d69c898e87b8d91727027258acc2cbb8768e6076762309f41417f1af1388b7410d36fe197a6edd8363fc8770253b002704ceb82bfc15d7a76ff31d21140abc9322afd983a175e193f3ffc4911fb64cab681a1e9bed03248014bc9c64895ff32b24b4cec1f46c3cf10843f6f5c809b8f1c7bd2264e1dfb257876f7d3f0f288576589f976a0500f5472f53b6011d3d8810f0e04a6f1f488c0bf3003e2efe777cd125651baf67df2c771051529cac67ebbf63dbf6629dbbde3b0f13f6af321f858d43966da26e21e0c72f434efaae219f64162a5490356c353db6341dc0971df204bd271a8678fda7a72977f9dcd096881e90b60cefdeae4593cd122a4c9279e18ae80f38d35968121008e23c6ca64ff111628c33f2a41bb375f7d681f5bdc6a9ecb948b2ff76e285f3043e44d0d0431c150b44158c36cbfca173202442fb02ea2dae863669716790a7228da7b810f58b061d68266616bd71f0a5fa25e7cce283fd71c54d106c914c76ab06964f234ae107a71209c156a79b573603b65453278a7584253d234abf99972d3786edb809e4a7c0fb4ab409b495bab64f163d555896c98ff2916090199e3720d4b13cb84914979907f978df4ccd48f04f92709a61f073049ae79cbafef8272665b2c82d9352dbf7203b69b0c22fb447e3e9ab5950844ba439bf3e30ede5f721065fbc6efc68f4d1c3879ddcd059578b7334fc0c4ed0fb13c97d2426ba33072bd41b128b5aa408627396560a22e183e53573959266949697449d8b29a8df17236cd339e7a2349f66b9b8545c19251c2d0518b93ae1711f3e9b2b85fc566a972451ae486c3f3fceb7396e558e5986d63771658097ce6fe803aa3274b15c13c4ba9abf66bf05436c51652cae20fe46eccabcaeda8e27b9ec336c54d071d0ab94758a062ff3822f28bce16eb2ce9b5687f0fba63113f7ca26074e613b151c1d3723c7fe8494b6c5c9632c821319d83611b83c440fe3ccc817b62e3b7fafb979a724178136550189c747565f2cb7544dd235b35ed916c04e5e718a4156f7e138d729a87f4385de0544f2d11b8331d872d977d0e7bd5d65656233f150e98ac12ea50f12f6abd0aefb23bebfdd709a91de3a4cc4eb3b59280c5cd6ffdb460206a93727223a456202f4edc8a00f96131b20c0cbc05f311784b557c0444146940099a6155d7cd611e45515eefb3033f2e9411e98790ec7c78d5614aa956488b5b1e7a1392fb99da713c1abd761a8fd2665411f05fdecebfaa36d2044f5a5b6bf162397251a2385b8aa579bd1874c2b540df71674e284d26c78a3b16e0f709b7cfd96872a9773a7c7e49d737a3582be20ff3162b308b92918d8b9b7b58b67cc5e635cc1da73deda17232fe2596a147eddfa767c835160f25f3513a5ccfcb445eee448e728c1b3b17921c886d318faf465b2903a45e36e4ecf408ee8532f62cea1a0ff372f8185dd92f86c06aa21785dfa0eb26f6274a29b46b7aafdde62de8795df9905eeb5907a277e6455ecd4ef4b3f748d4099397b19c1d4b43c68ff4162572b69672aabfd3cb6cf9af36e6c677e7b82835e1cb21336d76d2e36af9f0731dc0df343d227e7e2cd3448eb923441e458a346454635b3b10871aac2633a0c6f33b6e583b56fa5e17014b69cd76c9b9f0b3707414cf1ebfea4f90d260aa5cea0267057472287dac9b59dca69ca5def404f35ef4a2565fc2bde96b54ac57ee0fc25f187572089ce07b36b397fa77b7772c7a135f3ddddfa5bb336f09404467010ecb26ae720b2dbee5420ec705d81dcfb317fe8135e4a02595aea236b4a0a04eba60e4f56785f31ed82a235139f0480d59a08e708c9dd7965e33674d6e5464cd46a219e115bc1deb32cf6e8937f6c6a5ee4ed4e00bd0803796192fafdb27cb68f757bc4f721fcbece76c838f9a76ddb9ddeffd9fc0c8a6b5e2b7c3f9cc0a8f942666322972468ea0a46b3c47af678887722cdba158d00906e436c3c55fdbfd6914c4163905995904356e9927159c210bf9e4b17cce2c477b95f1ac6f05d3c5152e3ef70d0f0fa48128f6649b6f3d1f8644b284594f76a7769b79b4b6f4c359375e01f34172faba3d9387585bae59e511c23f8f1cb6c32359d9a69bee6fb1ce8a426b0a257289963cc2dc703756da27345efec35b446c457fe0d0ce9b532443764077dbfd3b30e2109f835c572ce3691572cd5cd6ca7c26e9fd622d9798449b80afe1015872b6e857c30676efbd4888f3012e2ba00c341d5b50fb74de79cfa8c9bd4636101e1807f29deb1a8e6d0bceb3a2326195f4ca6b7693814dab37fe125425bee4d47277bed520048cfcc28c93d8de2b4a8c1577f09dfe34dc9728ede6dea6ca7681724fce089e60e4514afb34b4cacc803f1298316190840af3c11c26f42f82db015354278ca1edbbf779894bb99cc237883329784dc9d67174ca075da015057d79720a0c91da2aa401f600ba44035a2871d9a49dc5d4232d354c6d0dcff88cff4a46bc952b730760894a7dc52dc847243ff7efb8b6efcfdfb8938a2cca77d37a9172b9332d2138c2e57d2864cbe8960ac129c7860c41f5ed75818d08995f96d5d658238c25d752da787985b410b6c1909c62c5d160cf0ceba91059a32b49c761e572df55253089e2fd712a29593e2b07c0148068f8b6e941d4ca4a7bb646cf79dd5cd6f185c05b568ac1c1f93ae492abb047aac60a47394b7f97891c6400cec715200527696d04a78d08c3904156bf183de5710bddb3ed3b5df3d9526f730e52eb05574a4e2ab638245fe8451b61c415aeb9c094a881bdf5e50b10e10db0b7fece2b45cd6e2981281a346281f538590cc93bf386d3ee6d677761b584cd19105a3772eae0c3fd2ad9c7d6cfe9d688ba5cba149811e779210969d2c1601aeef4729e0129ac8617dd6604ab96f21963cd6feb18e75805c5bfbf50637dc3a1191fafe07212b4d70f8bc47fdec86c50b508a90930a7fecc98eb0527c9f4060e985364447212f98bc9429839c7c64a647c1ccb839078cdb480a6de230fad801caa9a9a9b7277670e76550135f9fc01b74c62c680fef52fe8c8bc2ba6ffc37b4eb4c97746693d0a102776882b2efc6f8ac1c19f2d6d452bc0739371b0415e967edf480ff472c56c6a3915bcc2b733f21289d9313bece2f77ed16020be936d90d895bc6349727bd24bd20e61cff281ec335d4422f68b7c0b215b6681677e290060b66fc2cc729f7ccc411f870505887e72af37835c3ad6894ea308499a17dfad634a397b4372f183550f2cec7b970a5ed9d3dcfec8a6c21ec1878a0e2a6c28dc0aabda34bb09742d20b54aedb821382ba8412d30deead70353b8b30630696bc8fc07972cfa67ae4faf4d12eea1b36bd5bd9c3a0cf8164627e7255cee0bfed78f7a622b35377269f8a3058f2ebde0009f2b639a7d62778ecf7fa78e6c2e339f2fecde0920b572300b1d6f4c194ce4f3f49c8ffc440b519bea8226d197deafc2b64ce0eefbcf7297447fd19bade945aba25b1e1189a15e3c78b77767e0f405b4848fcaca085372f5d250109207c8335bd6be511e121f0b4c8803de512b65fe741c627a8ec4707250672e1ff5b676b875e6a0303b16ad464a4131b2f343f4f144486f63b13b41722ade6732c6f7d24e52fd6335e334c2f47c471511c66a4d1f3acc568030826946753e7a4757e56c010d8de6a3343a3e2dbee36962ec0682442dfe6f4956af257213d8924fcaa0fccae5bdad1df123f39a2fda99f54fc5c28f236cda0a80725972859d82768d615355e5242713bf371341aac27b0b564bbd92ade9d2d3b48b87729bb04e98a0d66ac3d692044a1d080b320fbbb4883dfa7ed5290ab59765f3cb72303f85f8be68add1f7ddb4fa89ec96e7da244fe4275e8e9598e05ed024f1cc728d01d642a7e6d030847381851fddb37341fec6b66218745c754b838b1fa7e6722cabc7483d89ef3983448051a9b4e4668ff386a789737654077c5e301b6cb572a8b4f945343db1458f759d8a44e2686a836aea88d81c6cef2498c5dfd5357360737c413df452440cf7a37f032a35a932a193055656c24e6dd239a7ea68ec2b72be5b7703fd3ddcb9c1cbf4c94e52e96387a8020e76c745a01906732c25183e728723ec4e3d6d173f5ae6cf017227b127029089211f0627ecfa40ea684317e46603f206552282c231ec2c16a591d199db3fae61da74622f525c9f3978ccd13b720e35e2e6fd809ae1a3679fd8eb2aedd2aafaf7979d257c1c7b0ea13ac6b6aa72b50ef6771c741e218255b1dcb0d227ed91f10da097be547620c000301a38a25f92e7016163eeaa2ad9fedb7c033bf458e9feaf749d04e5d62797565f9b4576725381648855238ad011c56cd2cc697f73ae32bdae5c40ff10154cbc8c4372c14d01c34b711c1bb87e37cda623547af2a66e70ba670d1c16214a5d2aced4ebd67261e0ce5d39053e3bb108daf1fdc1cb701376af8545fb69d7776ae267fa4a7c72c28f306dc6c7c6f29a26d6e4b1bc1dfd95ad3efc253b523b4b7184a6048d41729480dfd11b60ee8ba255d842c76e2dd0da77cb0016900b2c6ca5379b6d2ee1081ac4ce2651a3d354dcc181fc32eb4e4cffee2bf407845cb0e187d8b90ee440448a16f6658da8dc839da27e9bf90f95a1caa5ff17eb3ec8feece60cdfc78c8638d58959a4e52430010f09b8f0f259da63fce7ae76b6dae2c70fa323880e8fde5041190128bef5b9b69f97638cf95b00bdfa980d04730c35f4dc10d40988fe26729d3d65d2e7c79747ace9435c321e61a11461b10b10c2344087a96c421f76847202dd6d220366ca7d885fc41585fb8e69c9827efbfcf753de35713897f7bc9f72714b7280b51bc8300191bef9f779f814f864165e36da7fbb183eb677549325728c16d3ece2bae762009844ea398c31357745e50eb1ab9e1f02143a4a6a8e1a72c8c4c5f992201db3ac1f89905b2ce6f0c6f23919e1b1c85a0224269a1e0fb8724d717d6b92f7cdf3aa59388b92550815d0776c253f5b7a5cbe01743f47a650366dfcd6f37c5912254cfa26248e6ba02b99fc6fdeb144d3b3f59bfc095287b0361fb1b78664d9dbaf38bebd948d2dfe7ccddabb41c5e61a0d0691b122a783d6728d761f71a4f4d146434246c5a0b93d314684bf6b094605071b06d52aa98bb57268d7a37247a23f99d4882fbe40f7178bf41c50ad017111d9bd4b8e2558f3567290f5f8a3ebc69084e31bcefa57a209f607e7d11c6e532aa84b46f65aead2a07208075da0ff4e9e396f461ce082ebe40b78874252f42a710bd391a5e198771e317e1c2ea881852f152e7c3330b21d8efc55b47c0c448f5a7c6aea879288b80f724a2e931027f6817f3a197fb2fd36dcf5b1a968fec393614b68664e91c661b15a8690ce3bb49f5696b411c9c896360b34bf20a2194b7211b220ca1e9d06d4601e8f4045176b79d9cf627ed6074c94592836203611d03e68c13162ac328dc54b552bf10ff1c22cbe21c55d5bb996388817b6287cc6a6e19b08e1d445fb9681f735dca8100fd48030992f76dceece3a8206f509823c2dee6e10597bdd113c4cce727ee1e94981427ceec7513f8bf9f16e89227beff97e714e8534c2e60953ccbb7284b06d5e013dd8f8ea68af6391434eb0f94a013b4fd53a2bec4ad473b90f7a1f1986d6843c5684874c781aa296d1a10b495383bc68668e116ab2fb45726efd72dc036123aa30d582cf4b765912c9f1f26efadf8fda782d4855c36fd730c92940b30f30ce8a1ce5b5931b322423088f9f17ce0789febc189d00515a6ca47883724ce3350a3d1a13ee778d2033ae4552afe64d12aaf593d9b4c71549f29cabaf28439ddc37507fd2950f812b10d3a6aa55b63f38d70ddd2db0b555fa3985c72a3f5a14b98293501be32b787292dc878365c6b659822b21adb5aa710714bf420372b4c438a929a493be3d64a5f2fe05ea47a1e60ad251cec674c79c28d1310da67281081b0d9a6467c93669e27d4ac26014ba44d8940bec727a6f867ae86c626c7286c3659c40165e62de059ad58c3eef9e2553ae051b12bf8688b7ba59128a5572ee329e7e85321352450f84e5c28cc5554d977faba414178e40abbdbef2faef723486c0dafd70b6b00ce8c08698640d6eeda579370ef4ce2cd4ee8cd6ae5f932c46005d5cc1c421230a0a00f5eb125c1d46b749dbfe95c9d884b379de2a35cb72d3c0ce43b2b12b636231f0594d551fcf89334ee0582bba36311e2510826332728d9b141accb050a67bd2c130e249770cdeca8eb478cdad212a5e81ccd4f95072fce087cc41762da8e6fa6f2641ac569f498ba3b93505f90ee5e63b5c6930a0721ff2088103fd9140db52e7e2ab2f09e2756f1bb2e2b8830538e6f78b53700b720624d2aa02bd2ba8130c6c8543feb77bee67dd2c05d5acbc9a8e629ea3aab7199de11335c91df5c3505d9a371e704fdc589e94be3b8cfadf7fc9320dae8d592101dd22c509077d34ad96c15a3a5598e27cdf3493bd320e4b3a2a2468bd6af972a5ef15328f7c963d8e612853581e13404213347429d2cfe7782496dccfb84b18b04e13e7e63d954998446c609699afbb0c5fd4159ee613abbe969379687cca7298e2385a8edb4e7df377c53d0727cc5dfc3ba29906dbdb99ec583c31457f2a333c9eca491c76e1cee753fc02695cc8ed70947a30f0b619b225f3aabf55b5b5159c0cf01f9d1bf9911494083860e7f8e82593fd82895d8efc5e8964b3e9f1cc140c2e1f8fd9ab05ac8c847e444fc27aaff3247e50903432f1aa07570c3ae6cc2db2e6a3e96b930546c39474b96eb36b8b046ccba3669d26a9952613fc150c26723a0cdefd7f95ce367514d8cfc9479a4206d4305e5edc82a5a588748d30ba9a72bfe50db46ac4ef8ab9733e189e172618ff3f5be5fd6ea3444ea8cff62be89c7273434014514cf67560a4bb29669d3bdf7fd50354b8835a3374a04c2f74b1e07278354a90737c3e6acf34c9346f333068665ecae4fbb39fcfc6ecdcb7cf15e45fae66b294abbb1837ab3886848ad776a4261ab3fdd3dafad173335e988cea2230c82847efa97cf3eaa41c4be9b048c57296f3d064aac4e535f7a6bc30e8606572e5b3da5e97ab60350d6860dd2e3cacba77f0502774a2f24fbeea0346d5dcdc208f7f70564d3eb6d1ac5d9deda48c02436d9c4909f2ae103f6ad7cd2b3701ef64aa395dea1618ff798ca1df1ccd1ed74597ccd78b3996ced291d655a6be3a6063db39c0daf096032ca95b0c22e59baefe1878ac3b0eb720403357ed4475139e720bec9fa1a8d07aa9fc81e19d572ea0d83c99d34cf369ee7d291e51c0fdbbb23d4c87fec0914e163ec048b074690ad503187b2f1d999d95457e2d33a3e92acb0c4ca4b6aae9cd82eac84bdcc6863dbe243f25b8b57341c0f014b808e1a5fa6b7268e7a1a2c20d916955a13f4209baf6efc3770ccbe277ac5da922a3a7f5a59372698fdc88079ce09ab7d18b4ed1aa573985dfdd43cf0805f6cd8111b33a035272e3f23c323e41339a20cb1711930d7ec55abc517edef3dd1eda833d9dbf064e727da00f69db2bf2d5b8c6a03895f10ca55c6e0c5ef92d293bded93b5452a78018d4eb0e5f8352f1f981dc7ddb9419fe0fdaa98afd10b4a63237950663f29bc0720c802e69a4b6d7d9c07673e203f5031cf204d2c76fcaf579550b38701bd08361a7c76522bb669145d8bcb4d20d4eb5e3838fd51a7f0e042bd470ac4aa634f869a83ae809353f461f0887b12b47496f44c1699ddde8615f9452de4044aac23172c23cdac91b7cad190fee2f36c7d495960b59d106336315b085bd39e26289862908ba30f61026aacdb865b062e1368da7eea7b3d2cc2b123450ca8668a2b52a724ce11e76d875c5123696530979394d7e49facccc276796a6cb4999f8ffc7d67201f7cd530af5eb06341cbb3a64f3971c176e0277714e4e6d2357f6db9882726668e662a218d23b2a323f95ee77e7c8e1606c9e800b095b8b4fa6ab363ddc0c72a14d5a6390e121874d3990fd9e70e3926daa858968d75575ae4a78c5a23c2e72b2d331e630edb5df114f7d78f7a6dbd564f369c5cb743ffa23366fa513198e7234a511efb20bd7927a0828bceca830e63e326c6c061fccb86d18e960e1db2472a75d4e6193ceba34b07447568bf4fb1137d96bed66dd0555ca1a0309602e17155121c065d97f14e653a87e82a618875002dd1fc0793d9e6f74e549e72616c2254ef742c339902a88c0064f983b4fc80c8951a73a28aa66292ad984f30633780e57018ee235329e2ed7f1a97736c73c9aa9a85ffba97bd9af1b5b7a6047e42b087c4ab4491cb1b4129059a286ab29fbb9a7b1464a44128a11d14268dce382830ef5920ad2d853325dbe6bbab23088d66eddce2bfb8bd4de808d518213b6c42b7288e53b3278277c5bde02420d8eee4c32444327193b2a7df089d50870f06d0c7236dde90b50ff3c1ff3683278e9f50a548ff8f49918e90395d507a1b2748b573669e0e08598beae991eb0f1d79df161c0d76f4f63e61e7a6fa7dc329be1e188721f3e6268281011a530036be230edac67445805e13ec7d84f3d94b1b0d929f045574181cd901e724e50bf016edee63677518634e6387c5a35dfb0ffa3cce2b27287444f0eb9f0cca301c8136ade4c7ea362242d605bc7019207d7cecbf9893347f7dbaddf16b08bf0bf9d68d3024f237e099a175da2603bf177ac80b1f00c07726eb9c20279b77ee3fb14f5ac5b02b86a3b172b15f846c672dd008f380854be114a166e0e79cf540e88c0947e54014699d7f89fbfc79e9dda35123a124c6602727914931e8bcdc39af090c3b20ef0c19910e4f70d26dd8a2f85706b81e28c457296e131609f280294ceabf3956b441c01a582bcdcedecb080eacf14735c63d7721eb52610f0fdd969b0c1f9388fcc6451e83d19c689bd09aeeb66b1c8be57c20e96c454f3a27f555601bfbe2a47f11c4b6962468b842ed7050fc85ba96c22cf721f8acc529a97afd843f0b909b7d92898ae79a3ddf2fae85af162e40a21d90b727fe0e0fbaaef6fc7c31c9dafb5082925d8a9106b6d644e67322b0808ee05ce72a83d6827e224d27888f92f5f57220a3308ca162f0694d6e820481d3fe7db0568196ef33957db3f7324f38b33db61980e08ed8b2f4e77cb36ec2b5aa541eca2720f409a9f2c7bb557195237673c832c052b3635bd714213a2576c7ff93dde677272d14246ae575efd60b368c1daba968fe57527517b86f5224702716b161b7572b225cb3fa6896b5ae1764d5291344b644456e89e33645ec766a9d1a88d351a72d0824112078da89d07b3193cd7b6ebf1d1a4fc32408d504e1a4260298167bc725ec6fc049f2335332a00e1c6c6ac2b2f438eb83eb768da4b034c7e81752902728fb1983cc952dfcca948b422c7d42a2d86b7866a24b2c1c316c7f0376cba1a63c88249248665842a909cbe12dd5be83d7e09d2e8df2185f70213e9935eeea372cf554a359685fde80c8d38de02b775a52dc3f6fce6cc68907fe6fc54e28dbc72ad4e9cf680c74a3d88f8fd7cf3e6226c6ed73dd36ab35f6a7938c4afc38e9457f6a248b9054c0feaf13ca79856438cbcfebb1434a5f83a5ab8d34c2645746a25ee40c00279c3a673b207e081a4a321a563874e86d042bb4bc709a67437b38772dbe6b44f4956c42670df4136b4db954268999ed033cc345277bdcf8c1384c35ce56bc372a635d9688de4026bbfd98075adbb3c43832805737be608b370588d433ac2c778f237c5767146f9984e9b04c3fde7081fa7c7dd3f8f53921681b48d72dc2be47c6b2ddd97375e982968b32466bbc2e57288b97b4d9bcd56572c272372ad6c042ec81426d807be7a28dac8d72e34b3a85f9a2cd6daa90b843a3b7d8b40f4f3570ad0fa0fff9a34674fa7351ca71da31e6dd6176d398fa9943c377d4a138ab5476d416c7250b9f1a1043bb9b5bd43545853e49c6935e8c36d1488bf3d56751ed4323bf61131ceba7f73cd753ad55021664408d64d2629f9a47d4cf1760f7384994084311b70ab6e6c8658609b092e19c6dcf3e61b41578fc66eafa59d2072f763886fa5fd34a1d1bb37322835edb9a2772add4ca83bc7eb4668440eb1518310f377cec5f945ca255786a08a4052b84c39f94b1636f4cbbb44403ef81f72b0f5ceeda6ce1743f040c61481cae6c265c921b06eec2f1e661b2b6f49748f1b03a943da1581b24f0e6d90b5939544f8c959e95c23ddc22580d7dee17e5905019109be0c2a57308cc68df88dcc7fb9bc487b938ec84d5737abbca1958557c072dc5893431ad4fc258d6eb37752d509b5899673b6bcfa5d756650d039fb9d025943d028dc28afd2fc37d89617782e249b1110a018dce0a83e6ceb3c562512eb7247f22e10d6214ba96592ce15f6dda9c59d33e86601ae31687e5ba4838f7a5e1e8639e73c3cb6e24162603ff6796b8355d35078cf5f037bb81e84dc24fa95085c8014c04f44e6439181119ca423dcf1ab85d8f4164b4e2bcc4027fc7a4121474341aed5e69256f303726d017e3f20b30450e303ee27398c11e596ee485442de645d45f24ad56488b0cc808df0b367abb5fd700649af800a4fd47e3f15a066464978d81663871eae10d450e18dd5daa0c95eacb1f0aec93eb4e6bf4fd413c9c472653d871c21a26484e68f28103d0acca55cf6537d25209bd3c5be4338b37f2f51136a55006e46bb5454c0ae310d735220f160b54adc623ed7312479251561da0870190eb45a21d44b5954f271a64f899e13335a75cdfafb21b586613987a9314a75b3a1bc3d91716461344c43c5b44d592310c332d00a9a28113085a7882e97722b09bf32f7c41e02c5e9f032a583cc03f3adc92fb36650039386da8903186d722695655f83e75b1814207bc07c5550a5ec82ed513363626cbdb70eaeba0d38588d046e534c6aeacf7301d52c2015254ed953f7ee8db20657825e50bf85dff6612c2f9c9e72eb42bcbcabc012e96898ccfe2e01461d3863168b31947d45a66b721e7dd6218dcefbc33f29b49d83bea471a08b3a6581c342eb19b846eabeeef90ff657abbfeaa02f56bc29dbdb79a8e3170f8fe34dccf2d2180244e29c2f038b722c517508e8f64fbc4d5413cb0661486e49f4ec16665f20fff4e01a357591df1c847c342cf43e3c41cbe8b323c0134f322ceef2670d395499a0e60e98a8cb395e8d5fd4c364589a591599ce2b23a5c93b365f90bd283339e632fc62cd51894272e59c4669c304ab508a6f0a400ee46a58474a009c3569aa5abfbad0971ff7ac6471945c3761ec77d049eea647773f111dd0882be173908570c7e91d08c3112c72d46fe0df87962931f351b4746fcab412f5985edfd7817aca2ba64c1fbb1b0d390f3d8e37a8816d6fb482383a3fd0c0a4af26a21daf7e436b722207cae8976d5df2c8c8b42c893e1c5cb49746a669b15647a34bb40756053532ae8a115aaf7272db88b1e89c7cc6ad9a9bf77b94cd1c0d818f3cd9ba0234b583ac83f967b82072c6e2afc33f592c36d9c91a54fa82d6c757a3ec369e3eae30376b2eb1aa009c7276f712e0c7ebaf42111e20cb86f692f1012501b8a19fa5317a581ec9b11be072309b5e1dfa5a90b00f3e2fcbe5bad5ae5f665002b2901bc7897b39262cf0c448a8e4798fa65a556c172961793d005fc4d1b2653357c76c92a5d3ae965b007c72045cfdf8e163d10499c33b7ad4410f21fae51726972f33f56ddcf9e2facd5472236b736f54281add18a9881319c945f0415bcb73f37dd8621faa98ed0958a5395785bdf9d8a85dfd3117ae6f6833c4dda21df7bf9c04f36d620d36014c105a72cae8fcc3a0186463f783e86349ff2659200e02abcd63aa56dbf58477f1075c122a41a365e575a111334f7c2c493499389165d66c6b9689cd136d969ab9db39723b943cf347934264face4aefe0d6569ba1894973a11166a43a89edcf70e24b7208cb68443f0b6469e7f0b3a42861bc2a8972c004ef87af32d227de7fd9b8cc195830bc287e395bcc8b9cc8be9be4bbd706ac74df038150bff3226ddfeb1d947269609ded033323fbc2fffc83c653fd51526098ef1a4f86e1ae814bb965c3020b7a19866a90620a540c565d775686ca669d15dadfced2f9dbc874e063b4cbd34143bd4c7bb75711ce4da986df3976f3e3be1ff0ec1fffc3247873e36bf30eaf2fa2e0c6d2cd6139133f57819250dfa0d16b2344c3fc369b64c038675c9b10de72e51344f6497eea0d611e51b911a3b5497d9f03c924b4126416cc3ce51eac0972257bb4639d746c4b17c48ae3c9ef4583a93697c1a9b4ac41d0d7bba70bea51723900807c064e26a1af1658bf950131c4f6563e99583a2abe6697600c8004277231b2b9dc3cec995c44a3ea239d1270aa6c03d5c47b15d4f4e59eab776c97a7677cd85adedf304d8febcb88cbc35f3691ceab13ee8598119710e733e2edf83f727a4b7194ca9a6cd56c0ca3a1e99290c8f4d34f0c29131ba8de15f05ea9b18872c4e5ae90d00371bced49a591e27b57fe4f4c67d3d93af300a985d59225eb4f72504084600cab48a8eb2cdfaef4fb193a0e4aa128ca5661cee7cecfd02b056d727f5946126f9b62fe827126f386af1f15a3fa5d069f7a48880f6783788b0b3d50f33f12cf4ddd1abc7e22eebdf2a618b11101f2677130ee4a9c07613519f6b072a78ca1b414a1b34b141811457394e4878e27906d55521ad84f0e608bd4355772b72b5f66b20206c41872983387a3829dae7d294ec693e172d34d02069dfb3c72c42e0b3102dd09515269c216bce9e2865ce323954abebde942624b74cad036729f98f29db5be0584416d29402679c24b7345fadea03fe7e4fc1c0357c116ea449251d97aa5dcde9643572b9ff7859b60d1069d0b6c67470922f9b3e36408986de738d52f191dc4b22a5e3007cdfc71bbaf6c41a3592b9d26813ad0ab7671d81f45cc6bd671252b86dae257aa46886d0813fafd0cb6eb2513fabbee2fad7fbc69edbd35e39c28c315ae3c6721efc426bbfe96ac379fd6d3a72fe5b3a0a47c9b4b35fddbfcab8f0d04afc6846ac154991ad7c13d4b5565d341c4d35cf166401e72a65a5fecfdce8890257fb9c60f8d26d16bb75ccb85dded4cdba311e205e2a972413c678e2138d1f60e2b86111bc3c57048e98276f436bdf163c007734f6b9d0b8576e2b6800f1e78cf473aef07cea1189856880b6337fb82c26828de07abc4721815e60da0ca54f96dd136c31c35f00e758b2240b5f44a3fa6099d966cda636f801ccaff36d09c1bf1c1a2d6e376c0701b3a1b4b34dbb8be7d2b7d1bd13c4363d2998d5fcb0260b6189cfe0b9ce2d5ecc6fee601338e3c6580ebd383bba0532be0569651626adc374e66e30803406906eb3c25eedbb73ba3b9a496428ef3497221cbf4237a3a565c5a47bef57558df723b68adafd929e65142ae4b14ff5c9d0a8757889a29b03f9c18c9fb871f89f50d882230883674b7595913c66ca8c260014ceb0b00cb31cfe1e2cf53e967c43d41ae2e56719642199b86ed10305030527238c381665fb70239e23221b3fff737ef32a46bf49a0b4e0344c38594582095729a5b25407dc446157f5802dfbd36ad218a69a527cadcb7ad5877992d366aed7212057190bfa20f7356bf9fd7aa9980ff77e5d04a26adfd3a5a45706e0ac33a728b0726f35ddc5fac97c98c129bc3839ad541aad0a37a6100d912c9abe24e9872bd7ab069ddf20a218ae170e72435aee25081196090c1e397302cf88cb827ef5fe4df3b3006cd4b16a2f07e51ccd779e6fede0260a69edb5bb61aefbbe29ba3722df0a340bb94821d27ae102978a7299adcf5d7362b15a3e37dc9acbb479ea96b3f4c684db4af84d6e41c753172d2dba2defae37324c0d782e3b662d5e947687236aa97eed031a2d75d344252db1e37f599bf454aa139772f51bed77ded90451dae1e9f918e4b08eb9e62ee381728fea9d40417852bc662c68c36f1025df7c5727a693cf9ebefd7105cea5502c109c7000d53115e431c8a6612978236fba2da7293248949279407504bbef1b82ba3781dff62c4589dc1b88d07c7ff5c4b6c2472fccf68d89c1bf964481fce4c75ab4c3f740a18a825e0e5cbc1fcae65594e1b7202de9c080fa1020272ee5b1c1be78a76d8ed93e35335606d93c2ae4ef286be07da69a11e24a81093cd7a01d1aa580a5ee4e425866ecdc004164d27575186eb729d93c7e4c6a8fcbbbd902af0098bd375c987239f3c6393d9735bd142aa1d6d72f728b2e9249e6a0699587e74e79e56b10a805e998e2632f437e5d0514197d12f4cbea14472b4330387c5f0fa72451a045626f8cd2ea89c420ab8460351885e7248b3145a8e199cf7de86b028b3a2761003281496a8ea141d38441d8ec01a30724ae1fdf3553b02fdd83327815c46d94f544143805fb64fd291ac326db9092f7246bca1be8617918bd82a2291847cdb8d1834347e1c023dc94cf50604ac0680729cee0012e7a0b1bddead8f57d11147d1a832913e007b4844404112c05bf9db47fce29d61d223d6a8d4117ac9539123b633a5efbdc7549d45abd70a4f2b11b7083d743eb82614b924f56fb778464a133da56d01924d1690f53ab79520bd7988725e0872e3912a3fd872d11b5164fdc7a301d975359f822ed04e28bc996d5720726fe3095f20c8519196e324da700165b3f6ea78f107d0fa897d48778eb84bcc1c897407769c3ba8e5b6fe925673c82796ade3edf0f39d4b754cd67e027f9243727d5b3c2dd17385fc65df873d3c483e719b6dddd6126952532a9022901676f3276fafaaa97a36d2c4a870e34e6c5011907c3178c178dc8403fa3a98ddf51632428de364b948d68a2784fcd7a4b4a2ce429e16c96bf7600ace5655694e2539cb10a10b2af27f2c1d75e2aa9047b1d7ee520a679745ec1a4b9880d5427f645a1c2dfc6c59e9c125d5f11f6ed53a4df29b0758f2ac409240df20c1958d46cf37247249827d6f937f413a28e7a44d8e191c954cd5b0860ce0a5035596faae0658c872697cf1601e42d4838cfc99a1137249d57311b02227b6843fe0e8645b8b998c726eac635216d6a7fd0f734f66d4e237cdf15991fbcdd4bd6282b1e06185edd526b1b4b940e0bba035e85413c2624c71a13d8aaf474860f4d3a1b0e0b81bfd6a72d7541223f1487580a3e22f29d8c230239c753ef0dd32887a1656e0e94b5e0212c217cd0d8c999f0d6c1f24ff7bf4a68da690e9d600fb8739ef08cc844e252433992733eb3957ce88df234fb22a489a94038ad240a3ec843d64c383ffac94d072f1a46e41b2613b7b227cb7cf50a74f087675b4f3f696c405184bf133f3c1180b2ae1e2bc73e0fcc203a7fcf9fdb10f2c7e673467d1051469ce7ccc938118f0722ed8a33d7a37d282259dd1cd2e8ccf5a690b9b64a7b85fdf255ef1ceed09181ef4de28a757e860ef4aa0206fae1fa851521416c3fdd6cc8943898e1aa334dd72ce7f4db770c1491b00db44bed077e51595aa78e1205368df7a7832503b8d527261d041ccaf7d7038eae8723b50c7553f87d8cec2bb595cf2666badaae4a0ec72bb471a8b512d57f2d8a7694d515f04c7fc3ce2dd074291fa66f2795063550672885824e30c150bb2eb29bfa6976929a53f470e15f90823792b9efc5b81fbdc67f2d56f4b246b45e4ca4349d1ba6f005ba254a3f8f60b4c5834092e39678f0e51d6a2b86af39fef373e49f65154e0a47b761cb30723482d32afb6bcc95a58304641e8a9be51f1e5dba7f2bc52aa0b95a6e23b39e95363f9f67d98c67f23cf547250ba3df3c685de9d71f1427b23d1410966f078318f2b18cef451225ae50a8d729e8c69177718932e9dacbe87cd4fe41619cd892c02e8fb579e711577714ef2562b4bad15539eb9b779301b35e97acd1fbd10f472966a7087b3bcae3a55b1da72b6d5f73c21b0af0ff94262e8fd33e00611319e02b48a9b70a87b4b9dc83b1a09cc9d82fabd51c9c00dd83079cd106e8a2140f360225a5feccf042957e6a05c7263ef6f8c65010562b24dc69efc7e088981b5ee276d7c965cfce667bd482b6572e19a06359509774436f4e4d60e9549f5249d18bfc7f6a5d943216f7b100051727a96eb5957eec0a9d25342a0cbbb06a24c7f6688a2cea11a5a1ab97c66b0b572c873562886517a5d07cbbc1f5cf4986e2f156751e272c51553563291c920e7724927059735947dff1b1ad17f24002a34c5534fa8c04342fe5e91c32c8925b91853fe021a8c0c08ca7e836ca1212cd713dff612ce878ad33747f1a146b084f872595860ce81d9e836e0f9aed20043c3224564e7fea01c59b7d5ca58fcfe94b972945cbbd34bf628566be98cb61fd70dc1e8cf7ce2fcf0bc976948cd26b1ef512c9c395fa374a0b19c3650d91e4c52452993f17c927e5c18f656d80c922b24441fded5a267fe605e030fdd21d8548339333df886821484e70846572dd0c9ffd372298689235d2215eaa89d3fe7c517ffde2bc73bca5c5b786522e45e17cb6689725e41a319014db72088a939245fb5252fab61b28db3bac47fedec0a578376544fa04d3ae0774af77831a545f025495804100bf3bbeba4bd3dff8eba438c94f272214ca907d247e95203dd505ba35ac555f270c101a6178a3518df7de298c17172d3b56f8f4ebce5fd4354ae640451e6841bbe23f281204b9fc6a314c316809f7297aacc218c9d2e0304a9e39219fdd3fb1d5a482492beafa9bbc01ffd91b3bf18672e5e052923ac03a59e56adca6589345e5d0a27e711a0e132b3651c4ad7f372e02cc167867224dcc3ea3d5bed53a1b4217efc2e2137671e012b0cfd01d8e2725b71f29bd8f6da7da03fc8c8b905218edffcf38dc60d68dbbe8674f84477da0c369073df62b30c8557105ca2ee69d78f0c430b3e12aaf99a80cb5a53adc9f20a3438ee070ef4921fa6589ab1da22ed86ce1fe9e3bd0ab3125a91e63da6bea63edeaf94d23dbfe0fa02ea730c8ea9b2829c879badeec2645b0286a6adea94dd30cf2f6c655cc2b7040a28e31514e93206c9b34fa3be461503885b6586344314406e3e357c10d8faabdd5790653b72ef6f45e090c58841a8ca7e604b48d328ca72d87d4f593ed07dbd23e4676f582525d15b9b1857a86b74472300e72e8c2e5d56f081038e68e34f8fddbd1d0756eafe0258f9be710fe7054139b4aa971e18a3726c6c88754ea4df5c1b91683f671d4dd19a0e859f96791cc60e235747a3378153397c24d024a7ab40ce69250a73c6933f39bcec525bc387fa2b2df7c7f738f872244807fe38ec7973370ff1b2d1f8272eeb5c427d8fc445a19545bde4b1ed676f33fd17e8be78002e37836ad5744705d79a058d9a28e7bfb72962676f32cdcc6fe69952c1342aef65448c1063dbb4e963fa280ee69a3f9706c5bb2b382542e37274b1a0daf2dda77fd2d8c6b4198c2524bd0c7fbde000fa2da0fb9f85fcfffc72032e132b47f60a18a7272e96a710c419730f96c025ca55a2d77521fe22f2a216e80ada9dacaca3a054118064185394e30f4a0361f8ea0d71cfb231f41283f172357d0d5688f2117d328109c664674eab89618662915d3ca8002ba6e1dbeca07224f1db412c3c5c0c9ea580b73b0fa7fbb01d4852cd6651a06f101f8607f9f872fd61996ad1b905ab08ba00dd10c2ff6e7cabc14bd7719878e6ede18fbede3a72c82353425e471c1df9a0a689bce336cd0ad1f7b60c51a664149ca640247a6a72b147e3c6c14f2e2e93bf904f72041a9f607b89de130ebda752d5437f162a2532601af0de4f3bf9e010d56e299b71f06db188ba70f96ab55259378d5710638506da7bae6bc9169f8a1b9cc8b7dd541b24cfd612bfe2e17b7f653f7cca67660c72e88500e76fa5641f1152a886c35c18be99b665b3e39f9d82c77e5de76edaf749b8bb1920d4705c244337f520f200eda87f0ab0a6fc29d68d9ac901b35f236c7299930afa2d72de02e60e1933365106c8689ece1c8953e5e5be02fe2834eac472dde4e9ff809c78be2ee6c8e680caf0cc46be15a3be87f739148210d515bb1f724abd91a358ae1c426e629890cf5fb1ffdb1632b833d88c1ec0ae15650e8e0b7243aa236edd70ce9d649893eaffb933ac7b83498442c67cb1264bba51087e77636daf750b5ac825205f83eba3d4516358b56ded94aa9c9e4a2086e80d00aec81a1c2a95ef19e831fa1fa60c24da0706106a3d9982c4e072635f8eb534cb230d721fe89ebcbb4be18a529640ce45d904a3eea78d39b7a390542738d02a86948a72b9a1d8724f7965db4e4308e2101dfc18938a312d8a36d59b3fd2ad5adfc6cc725cd6ca53277c422020c5c6f5e7b330b7af22ea5f8ca63480598d53f644eb8b3011145a701a838bea658b4a95df643a427ead22da1412c50f7e7307f85355090820e9acb2dacdfeb820b2b8ddafc5a6a655286d128cd59a43bf2140d2eaaae2244637fe514aa93d822ad32091577709a8a67537cc126fa601183fb91bef7e0925d615dfc53fe5ffacd56d57376e4bcbad4af4773e58c495de67f30803a64f4172c2e1a1155456650810e1dc1891ac9b97717307e5cff30fd59435a2875c647c2554cb557838e7ee4551cac96cc6885a2c6f707410bf423ed27ddeb67935850d09729d9f4f970843c9697e4412e9686c52cfe50fc37aa8cdcbe6c4a5a05740a5729e69d436beff7c16f165741f4a40a7c03530bb46be8ea053952355bbef956458d2af76223236d477a64175c6db42a5be10499d993f3f8fafc05781c1fc686c7255595fa71b2e712f3fbdf49d96039482912c6a52852c05f306d49083d9a7f7723e897df451ee0f5216ba96f9c79062279893c4b46c20eb7ad67cccc6845e304da99b46debdda2546ceed6a2730d178ae9e339872d97853a5517f49f7b581ff7282b0479f5fdc1a1858ed94f90108e12789cfc3dd4633a315ce026e28435e28721522bb4bf056fb7c664c7a23c8c4f25ecdf5b32c2d4129fbd740f83ede340e72b7de0a013832211728e298f7fe61a8a94f4a54e23d65493a87576cb1e54f6072dbb0c7ba4340e8acfa64f1214fe41ed6f0d85dd9238f7d9643324397c3fb1972a6b969e5149da7c9a9446d6c8eb44654bca0a979c4897896ec5219c2a6f2df72df4bb464a892e727428571de8dfd5ee3592a338cadbd354fbdd312c0162c4b725e0d77c6f1b80ae33ee7bea90309d264f034cb264bd26952ecdef0d6845deb6d110c1439886da6ca6348e13b8564a885f4311d61f5e47a089eff77911791f9670d70e8454a38ab7f67942511cb9d151853ead9bfb64eb67cc32e8cda3ebf7a394c4fe5f9ea063f6e0217c4ce0f93cd86aedada0d0ba97bcbc3cd130558cd6e72834efb8bfe001fe5185fbb0c31be0259160a66df592ce97a7f3fd7655a14de72bb89baa144066fdf3b8a5edf0ff0b45ed092b6265ab480025675e0c88b02be72386147d82339bfe2eeae304e552fbcf5b5457ee5011bdda364c1f14817295a72c79f72aa559dbaa2f3a0378e3d2ae6762e76e0f8ddba49074997e323f3dea1697b10fa52fb47002407876f82bb1c99fe90df84a5a29bb069eb2bf6a25fed955fb259a7818c9b7418110eae98732e57a53757e497ebd1de69537c5fc819216f72f904e7290d6df02c40bd08c55e77dc7fec417c33c5a36ea0c20953f81353b32dd248cf5e1488107047008b140d85c543c176596ab5dba55d443c694d56b2197260e384ace31ff424ccf813a04ed6d033a30c77fc3c95026b850c8b3f0e8b2b7224e6462de8ab8c33b45ac129443c54007851b4c1daad26b78f9cf633b504ca7277a2247c9cfedc84f14488ccf4ccedda984b853008e36243a6968f09bb437f2a0971e9d1f828d3489ad6ed2c60923fabf7ce5a6f35489040a18731cce5c34a257768c2a294430024422399d1daeef00e5b8ecc5e704458acf48a49aa0ab44372635f8205e41b220bc3f10a3ffedf9aeda2050eba6c1593896a600278b8ccff0c317842e60eb1b36b9983bab739f3137c7dfbc83fe8998cb9ba0959276c40eb72e0351605e29a64a02bcfb202a31202b1e3618daeb6e929bf70634e5bcbe7087245bdd5feaf6b17cad93beb6ddfee742be1f8cb5876258d0da9814eb1615eb65e3e05ca3a86afa98853a8d15efe8de1951e55fe19d33be611fc709767a7fb3172130081b0ef3d1d5ad835cb62b41d4af0e42a0ef280867b21ee3faf23ba2f0f22abd6caeb1998b10fb2af43568f6fb569e7506f93942c8a00c70568a0ded94d72ecd09a16405f4abe26e052c7b5957c89c67eaa399ed2145f52570dfe6312a341312ee763921e09ff07f9d200d47f61ba6e241b3d9f8d9f616d98c291cb451e3b1160850b4026560d746dbe461d73a5dbb8ab1a47ed9cc54391e7a1e0e8654672d9d47f250523226a1fff6da0cc02659f7aca11be9ee5a60016a2b2b8cfa8b17276f8b3ce06f4ca6ff98eb17a022c1e02319d8608ddd41713c0e925ee8a7236081a65ef5ad2173ab0c5c0241c765f4b9183d093555b27b1cb834c76b8986903717ce9377c6bbeba5f9a22a3bb1b324fcf964819437c789e3242eee223774c65018fff8098c2a6507b08a6b46d820c10255daffd40209ba95357e9fe1ea0a706725ebb74c2d2f2c66c05a7cd127df5591fa4b209e7999767fb3578a28f0d414972b084f389ab8fb87cd5ef59db68601a5a56c9bac1773453dd8f1f31a8535f2a72687ffa0583f49114b19ce1c79074815bb421fc2b2a28ef30d222ee3649b38b72190d47b2a92a751749e2a273985f6b260ff29f72f45cb8a00dda266868ce3c7235b37eb39186d6e24d4c74dc7b167e89bc5e3cee695d7e32407ac2c020cdd92607f5ccc1a5465dbe3bf0e257b18d840878c92efe44dc54dbc803a06c23bd97346749a5b07e12da72bc5cc5e528cf0a808608a2c35f6b3c24afbff2df728e6b72c5c5b26629f1ad50d531e9aa5fd64c3bc854be463a8dfdd8be3db28135000f72941fb5491375ef44ded8bcbdc650de3f4cfc7fc5cb401f0d61bc8e4c4eaef149e1256139ec670059ce13178296a8a15ae460b75bcb3d96ba1dd3693d0883a4725d22dda82c77d856bf3105435010a1239e220e2f0152ec7750ecc7e17856a972eb7fcf71c8cd00c8bdc0cd3442a510808e6b8b417d1d0ebb5d699a03f8a4954e9cdce4e118057b014872a9daa01ef3e18e00a55ed7a8e26ccc73c4250008e319f0c02725cc33a7cf5c0b5b5b0873595d0f8ea158ce47f912548ecdec8dc14b72fb4acc1c8bbbdfecd07c1365600384c2aeacc73df1b104032f06495579a9ef72e1db721344392d383fc986e3e642d156bdccb92a62713279c8f3744f995ac672b49a57b790881763b08c074b5617f7c4be6b01f5599ce9dc0b05eb9253ddbc553c8135fcffc29c545593c3dc678f6624dd2da2e22726d5e2fe30189153c9994c173f9b07dfdc7132ef5a9265b2a50a586abd5c096bbf81fb25c13bfe28eaad4b013b5c5075d97b59e591f3c8f9965f310da503522529954fb04417919aef04727a0441001fae515de89df4c3e73f68826730dd8c0173cfd91a5f516370a3927247afc91124def6b0c7a8b6a5f7bf290b7ed04ce0bc18471fa9dad868dada28299b28ef58a1006a89acf13fc484b68e0d2d5ee0d4ef2eb696292d048ef804fc72b699256cd5e40bba90f6d44a4c845458eed8b8f0a66615cf7481694b72dfa76cc7ad1b5be3f28a90cf61a4f685065ccade1991dc67652011df9402fcc69a3329f1e451b85a98196460144c77aeff8874a45adafb8f346311b82b3307897b8172490328e5e1b3106a972dc36a3035e353c50fbb69cf8cd517ff3666d9689ac272f32d0bc22ca5b0a38dd3c4a4aa499656b6e04f52628b8637887005ce7962b867da242d086fdf51910310438bc7c8ae0fbc831b33faa0d372a235b02d6b460d7213d1824e1df8adfa95d996b4de8938ec4b782ee37783e0cd7ad17fd44217dc6154ab2187c0ccb2657001d2e7217a8efe888b295c2246a6fb0871af95519a760be13544502a1e5bf523e99065de243e8072a9e0faf944721368a3240cde57a572242f79a4a0ba02e842553f2017a3be98c84008cd6869343a0b242def6e3ca92fbd643cf97bf8e909896c3beeda90cce2d88c526d4895550d6efcfcb230933007f2edff0813270e59d2759e1865d38677500c301fded4a113ae5fe9e94204f572aefddca901b5fa78aba2b24c8cdddcbc49d890a6dadf620d6084819d3e3ccd57fdf08db5e8a77448041918b7afd618218cd7d902f773c8c8be69038dc63187725bbfc19add094a57ad61d0ab3661b0205076934275357b8be54d2a6345a28a722eeb14d75cf049fb9a9b42957730bf1878cadc9b2ee5e7c3f5790117ca14187272273eb57673eaf9b04e8a7934096107ecc948b3b0cb1101b28333f9ca03b86c37fb704ca0b4721a5739ea0ba16b411c0ca3da2f1450e44e16f4dd838c713233e317db1d5d1c667498b63aca39baf380084590d2072ead2d049308b05020cc7241cbd0a7a10cdbcca710f1bbd1d778d950294d1e5689f95e52acd10bab6b2c72cf287fbbda52122d77ca1d871e42d84387d9a6bf6fc89c20552542995303d052affc42b905c5c829e830d34351d511f564005d4546d07efafb43dd17803df6362a704a2ade93ee2cbae420307f2cc1f626e479f68b0ac1a0f41d7535557208725c27ee85a5a0c647082eb2c824d12fb80d0346e1dc6664133f558eb07cab8a7246fc7d3be4315321fee86dd9f053138a27e163dc5902ceaba1b393f5aedbed723801e1bae79539a94e9af6a49b8c7f89d6ef5ac06374196cb91066fe596dec7239d9287baf9853d12ea8f773058480231e0a4aae5232d294b261b34d7101ed72948cac91dadff46c66f767e5fbfe8c2b5f7c51e7a9d2b434c4748ba9af9e9c7241b4c5f535590e7e266f6c0800edc44b5814bb7541b7f64161166faa4829b1727b2cb1959d2d44696c84f80b9576f203417825823b82178caf611f663613970bbfb2a68f0f9954607b5cbfbe0ac73d2d7c2979313bc517ba6945b7d12bfd701bb4e80fe405bcae82c7264f3865f8d38f9b8b84334d085d86c9b27a5313eb51729e5553c243e6df44b3ab0cf6a41bf7927e62865946c379a222f2cbd6b3bf6b7240c1cf53fc07863bf78042a03d18d32935f85acffb10f47b10e8d786fb15e759b6bee6647c1cca2cbfa31730f64866cf59227ade79d4dc13420eab0537217f6578ccb00dd6b77e4797c4ab65129d891c881569a34c2837ad601b65ab6cb52a06a1b62bc54a8f64e0aa6af0dbc139eaf9da5eb992f938fd77a85355c35943957251d395762594636ac91146252d21e9d23fcfdef50d38d32d6670efd6c542f472f614b1496ea0a533dff40fe9ae4b28dacad57f487826c4d05f09d766f488287293aacfd5c7baa30b6dda1bf10b34b60ecfb2bc63d04684312c9f67713c789111480e2462b7677734c45cebc08c43e2a0733a47035b2aaba638c6081de4e0457264a7985ee7e30af953322f2a8fe30d10c2f86adecfe4a89f8c760a9abdd54d727905ebac307df50d2484d65e8865d49657b61bbc4426d0467220a2e8867010723c2eb9bcaa49e1b35a4576d6cce9355c4369715c05ed15f9ab02920834052a727fbac01e24da4fe45392bf304046fbff68317fbda86cd0f46ecf720f7ccc5972bb8bde0c38f9b914ec4c0d079df81ed5ab5245f3ca9a6f89ad4a7a00c3b77c702530ab6bc07f220f05a5e793cadee6bb2b303701bef8863561a2b06595b31a72da9574df89200c6bbccf1e31f4b0ac97810e5fa7ae5a9219c6ed0fd5fad20872bf27927fbf6e41797a06be75f79b429ce2bc151112a02bf56260166664d71f72358543976decb2ccad5611a68b3258c16f8e4c92e4dc6205c7d56c23d3cecc72922b97624254a7923cdf2971680bff6494b6e12a8c381ccc4a573e6921b581720229268a6bcd911fce37f7e3314226049eb831470335c9d6778632247d0d797249599ea8557d9e212a4f01c76bbb10746e3daab01b500e19063c835deeb376729839ce64ba0a5237de03bab90dbd7a7b8bcee429f32da285cd46400c164bc1720b75e8803b19141deec838937f4cce140e7ba4bd42512ea036ef910b5635f600d8d6f188fb76f131390ed3109ffaeec76c3f8c5b88ae3c7fd43975d7208328725f1b3c1176338482515401c78a51b68baeff222f2cdcb0f3fda9aa365720924e2f5d04f35d7908ef5e2e98cdb2c203d7940885c329126bd67dc1bddbd6a595722b5bb6057b4dc76a8e8d698fcf39e5a3170d751323f009e633588675856b3d720a5b2478453f3aa5cc50bdeebe4264670cd2e9cfeec33a3f85e3346ffb16dc721f2ae8dfeb0b12accd95086a9ee0383604da4b540c0a0b473b84850b2e4d6f72348d9dc44cf8463ef33586b0b3ce0635caa8fad8831dfb240c0ad6a9eeed3742bd91d1c5a56d4eb4c3d3ee2f816eb5b5c544022a4211399fb00d2f8bbcfc6d720f295a82adfa40bf50f0b7a7bb31a1b3352a4e1216917d21490390b4a7b6177290600190dd2e67c94f289326d9a3c271036247789866d0664d7b930b7f952029f61cea87ba4dc2c0eaae0f8d8a3acb418c901fa0574ce0392fd5112749645772f0fee667bb576d42b06e20812296c845eb16c3a0d8debdb1c78ce0a2d706cc72a444a034a0be8a07b263561ac4656b97b4bf6d20d3c53e99d15d6e8ef1d8ef2d66cf1268c06a2faea734824455488078a03f7bcc31817c833113b4194892f772b2cb10cfabf145b6d6092fe932e6c820d730d59f3b0b0542b1a0fdc0b8955372f69376ee40a6fffc355d1b156f640ed6d34265f557c21d8bb603568bef3415726bda8c25a15f15f3bfc465cb38099321e4449b03f6522353656ff67a0269d772dd85f3ed5a745dcd63fbd248de82116d04e4e44ba4d5bca322fc71c6c63d38722ff565d09f3f9f2f3d4c95bd434864f177020af3cd3537f4d5b3c9584b24b21b9dda4d5c07b4d696959156324817b261f4dabc571a2183520b9580749c696a474ab1d76581c09063884518fc08fcec31c1f6687287c153706ea929cae1b97c722862cd8bd9970cb254adb2df9fe3e26b8a72cf3f0536c73b0831f901e8e6837245df6f4644ba51b44e965e04f4f9e7192527b42083a0ce926d83bb9b712cb52d7f41fcbbfd0f3a9d43145ecc1c596d0609e8e36df0d1f05520ab8f9aaf942672f8950b222a0f1e4e97a93c979643aff08efabe4590c7e7bb39194e6fae9ed1726093980dea71d9c7e330b57107caf8d5004baac9f472aaede7a1c1db85e9ac72c1be139cf79fe7218f07dc0015e0b966bdb35558b7594e1b93110f86eb019c2a97587d515538ec603cec108ff8954ffded62e1ddcb4a6599ca80bf912150a348358152f435b3007cd6b9d13dcf5609457744ab23ed1dcbd3472a9ff4a13e950caf7d30b6ea2ccbb217f78ab3646340a9988dffe80cb7ffeebe4604007f651a72531cd1fac46026fb304a55fa660de68bd79bd116cefe9d9e04e9818a59100d5bc5cdc02505370453f08474d7d1065c60bd2de13edb87fe4a340193073a6c616c511c1b837cfc1563a6c434da83b13aa145ec0909eb1116b16489fbf5e9143d72ada8e5175173c1512aafeb0ed1bcbe1b7101f4c6727597b36e9e7854c1b76662c724df7e04d524ef126008509eec71b24b465365b2460107c513d96b85d7686f941db3d6b92a159bf4a7380a9c7cf12749ba839c65a21c7f52ef6ab082f6c272eab4fa3d059a716a7fbbf4037234d73231728dee9e0cbee7c599b7966fa997723df5882e0f2ca300e2080170ef43c5ddf84a1bbad079ed009050ff3ebd337724662a29c840fa7650b873db18865b03c83ad403aac4ef66a46c3757b308061672ed1f6886b81d6657723c9c0c3d3befe373ae1e08d228b4ca74f48eed2b271072729c04508a0e5148a67cb5d024c8fcef8d0545b319d80d61e1b3cecea79806447e333107b7e3dddcc67544bc51b0dfc25c88636b69b767e603827e8b1d758c7220462c915957a1ed207b806ef5e03df4e0f0300f9e52769aa2ac40ce9bb1a32e31495083f31870e38062cf4a3d8c4ad6c004317e198abfe01300718dfdf46972052170f053073f323853c13fba775d6114f4edffb560d42d11f4680e580a6372481203d6a8a5d3280d0bca8abda38f80da430fe3dfaddc2f3fd89d6811421b4cf3ef2f15de7ec593e4c2a53d37f23d97117b8571ba3e559a547770d24af26057d557dc02a44e24f40debb0a6c86568b99a0a8427af5e7fea7d5230f3a37ebd72d82801ea3c2a4b86c58030dfc98c6eddc98b4a028b363051be7b1906503ec04ad4dbbd30fc6c4436bf5dfdf30944d6bb54417f1695ee4716ec06f952bfe599726014cda427e94941f90316f5ce7a714b616c1b1e82d3a96cba5062aa34ff8272350b8a07329668352fea3e33f477c378205f11e51df368be832c403ff90bc2725239f02eed781086ef7c1d718333d0692a981d5ae67da4cae2bc465c4ca6d50f684af83b13550077872cd0c4e514380b503494e1ee90c299c417e870b4df1b72a2e664695eb1ac0215297e7d761069dc607ee97381e7907bbb1c74d7e54cda72f32d13b75026425bfd5297fe472df879d6ea595d1df9852036914710bff4ae1d9b0128fcd54c93f8a9e0378529d27b9bd39521fb9afbb08a3cddd2d56322a772f730f1efe42ebf42013daf7cd419117474559905cb75cf5262b07adf865c1d729b163dc1eb4d00c39a3c4ad8df77bc24437e67a31faba32eb45577020ea31b72ff0f327a943dde59883d5a796b7abc6445204bee1251cbc107017d6eb388865883fd3203ef1b07744b7e90cf7d7835b9378d8b6344957aa409a72a09ad7ced729f3c08ef9eb06cec3a67fe3ac12783ce79b364487beb6386ad5b8388501a00727e88662b326864a44cfad931b0ccd52b10257b87b3ba39ac6d9263602b5c2750596c068cb939f76547ca0213402ee6f9ebf71773693779ab3ec2749ada3f3f7257eed857b4988da2ac2127500424726b0a6cce77021ea5512a0677f6d7f5537281d6e63f3fcd631c13bed3921869d546691907f60c5073cd9bad4093e1274672bd312fa02a954abd7f67537e939ed282d53c1c4218c58ad2d9ce9c30cd6d336aa50a1130ffc60f7ad693213f2826e889c2c7ae049af5ea81ece33b491ddd72376e485721139feafc062f8d42032aae93fed14a2daa2c6a0d0e11d85e190a317226f76c7d7cb31247e6fac87bc93117abb4336be93455398d0108f0f408aa687200389b507417841352ccf43da5f4b41901445b2a8a7c8d0b6285145340354a7209f10b9d4ddf4f1f59dd05b4f4ad71e6751c94cb618929aff33c6bb010491572f279cec62bb009ebfd974a61f46659f4ede9cf1261cf7f9b2b3a1b26d53f5f72c89f1582d58c062b13eee16e20cb849579dc0535d8da8f30f426ce83d0a7fe72539652ef88e4c1e73612f79687df754daf7d59bd7e292f1179672c4885595472362a36b7d2ab6c08282765a4a099a6e043ed78ab5385c74c263649f4d5055772fcd4a68b50eed9ca630f4ffd821f7c36e65a619fd67926de5233b93f6c740d72060d1e9ed083f0d25dc6415ede5aba5a685f8a0273fe1e990e5e7f08f60d0b72785c81015c73747717685fb6ef49aeff6907054c2a2c4b0443317db31b3914729222cd4d1e4dcc5122f89fa929c18b9c483da256285fda913a6d5ffc4c5c6c729fe8d8c1123d93e96a55c9678d1834333408f9e1234addc257927e6b0f0b3f55aa061cc7a30895ecd7c0dc3177b53ae239301e989c03bef8cd7012a89514e500864651b355a9cdba72e54735d421481930d0b943857965506b0419c2a7b58c18963f761c92be074fa2b250fba401d86763378558ce93797dddb3454190ccfe72e9eb138c9b945515daf2546ce2ec0d5af62fed9a561f22bfe678877f683a717265d452e934932bf37a0ba60582382e878ae905c10a39e9156bc687c87415782715e16dd64ab02055e45ecf1cd5ac9ce886d2e6035ac73be1fc64df04a91ab139452948f23e5a5dea41cf2668e4dee78eda50f97355ea0a45d0949890ab1d857274433b252df463b7e2449f37d0d86cbc3ab1ea8bc1ee11d92e7d6b8903e9ca72320c3084e71377b6acf14379420c13c3e6166933ed610327fb3b646973efce24be00fae3019facbf7623133ea8c3f381d2d49dcea58abeae725b009d56592c72d80e30f73ba26c89b0b0408873467bba915f429035018b91874a2cb3c3f7dc722071cc8c5bd86ef61f1f4995803e11cc2cdcb9c59f3fa5f8997fcb89070a5172b27ff1a60a2865adc7bfaa00ad50eb5fb8bfad5d8038666494bff7230bb9a8729e31645daab92bb98f6dd9cdfd90f047f3b420344799e17b1d90f2176f643d72603b224f66c0cd334896943e059e7cade8c1fcb4c224fcd65da5a4587619465cbbeb2b1137f365f78b8532f542c677ce9525ea4ca9d72179d6ff3150cc892872d7771df501d925453349bf09a645cf17714d436f9fc10ec1214424a0cd011a72436d9abc08f478d6e731a0197715b077b0dbabc5b5c0ab5b1125b642f821d0727b0179544b2a167d0f8250321876b24a02f46e8e382bfdd8d0016bd9f574a118a89e83a1061ed2c645a03950d77fac3f6f83f0db271292e6a1c0f423d46818451b47fcfb7b08868ae5cee412a1c3428a0fa2909a1446343e9a6ded4bf4cc027245ec43cbd1d8267c6dcdbe23faf25504254a8f72138cd39fc7bcaabc91f71b7280227af8c016bccebd05344ecb88549e8fa8eef294c634d088d3661426ba9d72728e4e880d966bd729fd0200c2802c58e34f514e0e2d86f6a2c6ec559db350707277ff8551cf544406195805c1c89ec320179a642ef102e6e56dce7f36241f72835206d03b26007d567a1f282081e0cae5366c2dbecd97d77398e6bab89de74ee03077a7b69a83c6bd166e93ac08032c76b6a3171d22444c8b8180aaf4795972d35ae3120a9db67e635ee3aab2b8e0d0b53cd3e6d0d66fc996fca15c166a92727ea0baa5765882742cde12fa969fde42b738723214f2af9b0c9fe8d811d87c72930b845e22d3c3bb3272b89e62e0c099e6189806b296b10ee30817b8d8556770007137b42dfa4d9416231fd8b1e2e1d9af55a77ea09dd4b3af4539aabdd44d190193be80634fa8bb4971ae8a155c352fd0e92d069bf30ba2be6cca81941612723de396f960dcbd0da03537b5d304c2912861b93909c4a2a8a89949d2e96b8e7210f95f4bc3f4fe77be5682050075a42fda51136c4061962bc65e54d00ca27315c6db8699e291b035053e4ea9c62ad718da4cbf8c1f5766385a59bf848319e5721535a5123e2052804356d7245e50c202d9661c7800c1b919f08fe49f23ab87724417377726a17f9f3d78160adedee24e4c08587f705b5cc82fbea19bbd0fd13700fe00c12d6b1d8787a786dae7188957e7cca2c5995c4f3e2e81f38732aeb872f9a81047cb66235e45f842092aa6ac181a218f7f82f48f6c29c7252de3d3a672c7be327855d6fb939a58722ef862cc640fd7e92cd217cc51d9132cc65804ca72ddbd64bdd27c1ad3f6f37b51ee88f69e2d2fd39c3ced441df2bac2fa4c4aec718537c0b62b6df3716279aa42202e213dde3f58110dae905effb469be66080a72931258dbe247f82a51f3d825e2b9da6e5d62b1ed269800fc448ad75874be9a7219285034139bb35d2f5c41685971978b933342d622cd7a7f212f2f624c09bd226e1b3b6bdbc52245558da7d2ddbe4bb6fe073f476f61d681484d1d56be0706431eede993c8c92ef859c7535ed572a9e1705a24d713123a9d77f6048e46eab25c5dfd04d6d67cc80762c7e3ba12c6565c5139b3c3c726e08ae0eb2d7fc0afa572f92e227b20b35d88c4643504eedbf81878c4105690fe2e678b11cf19a014c17207f68703c1b17e6669e22d5ff442ebebed5926913400138822f461026e36e2725e60568b5a21cf847bb9d2b23c4e7c6e66d6e852e32c05f104932c6cd23ba454b8d8dd4f1acd44c3864ce2329783932e7dd9bfa51d99606764a22a51be8ad872772836a6335f79003b3e3fb015a783392fe94cdca68de6b6382878056658be70b434c5c173897117adb836a4ce7daa863dd0d8082c11a4ae284b94167e94de72ae7e01a7380c2e49dbfab6637d637a6f374b623a69af89f2abd3a137ed8e9572df81b83f7425efd1d2dfbabab49877d20d3eca15310cb48af29b692c92403072ce449927e5f9cca13f8a32d523d877195036ba4affa731c66f1ca0937e667172d3991a17e48089d3526cd6d99dd843c57b267e2a8c722e1535b764cebabe4d72519086347e2115488f16f4fc6947700cfa7f96b62dfbbc97742d4c422a152e4ab5cce58e5e165137c38f97d634bf2713d89acacf3db3fa7d7f2ee19fd02e2f72a7335c17b9e9db0f9c12d371868bd4afd9e02c1e2f6e72859fdd3d0173884172d90b02f4bc7b5497c9bb4273de0469b358ef7abf8656cf2c281ade761011d80942f438bc4cfda7034375832c5f5aa55ad9d4708c3e42c78156bd6de953252f72fd27902af7c7d83ae376514bbd0d6e8f727f195c77c4c7391edcc352d638c021e64cdc3b43839a3523ed4ade7e8ffbf303083f489987f7f59d59d57bc678306dc95aef6da3bc9620032a461bf8c3c1aba60b7a9418eccd1b03a90a4e66fb0a72b7a0408ad006623a262d04ebdaa516c542b933166473944cf5e0b894292d04729c73557870529eb3320ce7b9c366b0a033fa6077847bcb0d08d26a21b2da375a9f9beda6982cb74842f1e541923694b8e491e871e1e9eb6c38409414c8f6df72de76086ae07ceb0a47c72c2d1a6a68646c8229fc36228cfe151e2b63015c8272a0a7c9ab9a5313bee306f70dec4a5db6548900f1ab5414375fc5d9b79a3c1a729a103c23a3bbab44432f775974f28156eef5766d5b9b1029fa0b32c71de50a7209e4e0bec3cac18ac53ddfb24a3d4551f63e192783dd590aab6a61c5dc83dd72c3710c586eb66fb7fa9d6921e74447bac015f89194c1f77e32b7b4b819d9cd253d77f5a2ae826242a6ad0998e66c473f56bb78cb6185410255b870574df16372abab75ec29e1d5db97a33704161951977947cd7402e6a5fb6555c54cde281a7214a6f75e0b6269a32375f3ca9bff0a00a65e2a899684eada47594834582da6724b35e4bdbf123c1ab10708cd5f8f11d60b83b12ac6666b3568ee0be269886172104093543738f9a2fb4ad3def9190a5cd0558c646d96efe0c881917b1180f90fd84438d11907cdd4c22b86850c79e2a236c8c0216b9a4645f7ec28f96e06b172cdc515e2ec0af7b26c4ebf75f272c33ff4640f02abd2ab96d38b1ba1f2bd267242eaaaadfc4d9411c6580b4d643179bff2c7c98d0bfef8efd42d5b6988b47b72a3154ebc8481da81ae6216f952638ba228ee94d328cea8fd8d07df50f7dc7a727b265e64229a4ff59af856b9896710a06fab02b665689529a4769ce69c8c8072467aed9cdfb272a0c8dfbeeda42455f647064641d4b8ee103289a11991362772156dc300d15fa32eef46e830cb9582200f10dfd59ddf8ac7d8bb0eedfc1d7e47cb8b986cf55cd9d2197ffa1e9caec51669d165a578ece981fe1a5c0b1ed37c729d7b31c973fa9f7df4de9e16327aabf43730deefb4f00d0693f5c7fb011fa47293fcd52448fb61edf3d7f9cdebba7ea2e3a7e81be110e8274f0c3d5ba8e49d706962a8674dbf89ed69e76f9863ba653cdce9e79f0c34aeccf77337d03855d4722449989846c25e5dca75893daf28150e0cf53b1c67826f346dd6b379d7cdbb72a6615e1e5a5a59bbd2b16c1d9e8cde78e15a049ec77359ec726b9ad7546a24396447c68992784caf768073b399985761a9c952afce0f7afa9a7bbd2a0ad8ef4c3455a0963ebe70634447c6d2f2559ff0b513430e28c33ac005054e19054b860557fb427d1c979220fcd86a4f9afb1fa354c2547ab0048255cef10d634c556b0e0b6cc51f809e96f62909eef541af185008843572aff984b6f2869f62f5be5972292ca84f4dcc9e4093d512cbda633f710ce61da8c59dc78f11aea51255f54f72af642406ef4a37065a21170a2120811dfa45c08b54f391fd5d7659ff930028720fba8a4465507335cd2b5b0ded881eb44cc8e0e358b7eaf08b0da7960366e872c5c7ae9ea5a14d378b64c4f02aef668b0147e78533ec6f56710d1b2d9677037289c0c322eca7a6c9154e5389cf22b4558582c2fc99070bd782a3c3ab1bb0971c8acf60b7a75a7e6fd4f505d63b4483b870d536c80f054262e361da0e619631069beda10a1494ebfea3f53d598173839dae62232f2789a934a0152e92156fb17290daae866ff5acdeb7ba172ccae68da3ef0cd07df4a65384297b6458ea58cf120f47d64a31e013c96411a5ea84b0463e09c4cdfd6d35189405089e6eb4738f580cc5c93c5a108d7ac3249e128ce3552befce88aff8c789ef80bfd701194868724772135e0db325a5ebdffd6aeeffaa36a2905c250158c6bafa3debb24db98612b6f09d958aeaa1698c0003cd9e934f451b246e9466fe4debd95bc3ebf6bbfe2adb6eeef982a3b695652f4b7eb062c70a3aa088e805ee7ced1c832b93bf15523a879ad6c37fa56637d895df2173cbdd1890317fed7a3ed60200ae868fa3697f2d6c7fcfde48477c7f198a5ead0a5619ec061a30ceb2dcb7dcf3ebab55396d082a0bd9ead908c20bf0e3742864bab6fe3f035c70b0beefbf2d5a0bd02d99bcbd72406c1c1ac280c0460cb28bf503fb10adce826629b20c86ee968a567c557f7372f18007d327592672a5e60ab2163d83c73d391e9a76756ffb3473000a1a1ccb3c89ff52e040038f9bce13aa30a4c2fe5b43b174a86950ab98727074132e6c787201d5f17c4588d0f7b1dd61e36f15ec3b36485b3d62f032032ab9a2396d171672411e1cce996a8e27730dbfb76fe427dd13b2f3dda73584db3fc9cc917ec7db0ee180f3930f425bd70516bb04f2aa9152fec217076aa89fe5c051df138e33ff1bceb3bb7e75ef9e3033808dd373196372ca8a80fc825ebaed980314f3cf0979729e59912211740a726f0876048b6cfc377f35152ebf1b03afa6c461b42767fd724f960305ff8a63288c3eb995ee725c215b8fe72723557e689f702e47bbe3062eac55b876102dfe56ecab77df3316a4b5f03961c21cddb5735a3159c8b291122940be022aa1e49adf2f98215a21356a5e4001ddb8912791028d8300739c6af84dfb3f9888daaf38724f08a33f39ac35b129ad1afe981d06e46b7897030dc8a4727a61f3f94df57e95563bfc95901d43eaa545c346a083e35469deaf7c6d4f6172f143f1f767256e051452f8cab80613d12cc68d008d08edfa2bcd0e13b18eda72a76c0fc639d8602efe9d82d384ce8f6ac40f2e01faba718d767aa08cd00ba872b004cadf8379a576e0c3f78eb96f0be70c90989b8421fa18e236e6d1121eed72eef16f2abf2aea37cb85d82d40ef5f653e7f138d3ff56b288cc657cefb8fef53c83a911314f463f6318dbb16e2a2568b81328b46759a7b4d898f0404780fac467367e6cf4d9816e28685b194c93a5e043317655dbb527fded7d0c3b8a800f2075de1fb5bea4314abe36e8d846557ef2c16e6e3c3d72318c55ee99f637476af726487091589f7312939e2545cb9b31b801d25237dcbe8bda2db4c85e98ed0c56917aa017d5e5efcd4dd31cd529b98f9aea74dacd478534c525bd2a7130036f32b6fc84995f2836e91f0531656536b5f3bb9eb84ef779ad07016f13a730ae12a720923a6dbf9c9614a85b5ff13bce6ff2aa7e4653fbfbb0fbc84c1ce7383570b034525e3484c9de92a83da7064e86d7f4284edde1e625f88ff9be73b9fde718c2bc104d6242b514c0438ec0ed4cbc64c9c7b45ba0bba1db4a44f385a17d4618372348bef1c3f5bab3dce9599ebba662dda3b7c9e436c3ff385808c5f6394708429c1ef6431bcd461a078925fae842ad83f586e13cedff1df35b7f44b41b01c517251df026e2790a0d8bdb544746ff01a19de23675554fc6c43809067794b42342377408058686e7e76a091d611687203ed6f3222644d582b3f1b9fcf8331a3f05796a87a96ab9ba3d164b74d798dd57b43b69a63faaa97b46a073001bc8be94e728737ae7f55afb0d26c603c7514c72ca2f83702c07960a6f206b99a8874c84d7264bfc368453d459536356d9cdddd985b6a8fe2500267a656755d47a5d723075ba7309f3c7deb67a7d2ba679ee0f49f43dac054a40e0223a22587cc82dac2c8299e91f8fc3442b134330de232f58d2abf9394efb6ecc42189a074a8cb7c9c6e7269db1f87122b331d451521b797c1062914895ac3df991031318207335833a972c33b6a24b7a52e6387648c137c6cc52a8855e285ab735ca3b95e078a02c34c72b9fdf4d39782230fb50e69a0e08d1d0d435e75f5d1d21888d23da285c9cc3d72627651e3a5bc6ee8dec3be5d7e5dbe6c257b0772e0cfb77c90293ba9232fb949ebc4271cf1963beee2e02016535cecac133db7a032433b289d7b17e37eb11572c80573178d32143168c687c38d0f516c3830421c135171d36369463ed5df5a4b9c1ae1cb092e68fa3a112bfed81cde0ce5e970ef39562106345ef1a000ca8b729226648aadb26631d287c649d8bc63f74453139e66947d786e7ba3de2e532272702b6e30efcce7d4c86fa7295cad9ea41a01d95f56ca9fbfaf8be30e95faed72f7ebad64d98468ceb399c7f0baf6487393a666fbdd2e1a10fd2f104894bdaf439a2c33cc50af1f8f0c00e5b43e15f3aa9ef6aff808948ec64e42ab0503edbb3e8b0877478d783fda52d874b2c8ba86b04c98f29cb8076e981387a8ccf8ea65727c9b9f3319c829c3b45215b4e3b35192606e2664a5ad665882913182ba783820bfc40e9253fa1bd187e97d9740b54b6564cb2bb7c6cb2436e6b0aaa171781a7296c6649f4adace1f810e2935d17a43d4efdd9b4fd82dc3fba0b92fae744ec87283ded423b8d46c1f774f0e9d17d40cd6ba8d68f0cf76596bb190a5b27cb9e772bed019a4f8b7775bcad9285b17301dddbd80590e8e8718a05fce1860528508728253b63c60570e2e6b378094934ce66d21f62bdd5c9ce9b770b560cffff4f140196ac393bdd5ee2a5b04a6c9abc360518f39992fc15cfa453066e27ab1cc637293b6209c114dbae260b79254d77102a0147a390755c588d9d0ee04d857351736773a83ea836001d48cb8ada8d460442d83f02a457cf4b83d2875685956bb8b393d65262894f2733ceb1beb3b66db78ccda0788a0c09654dd1630b4f4c42b1d0d141d36346a0c623ecaeb7aa345f30b994dc837241782a10843de377a445901722994487ccb6f2d792cfc2e160091a5116cef8ec1de535049d7a34d8a028f3a630ce275e0107e3998546fe4f02313564818c0e80dccd4575a7b0836ac77c46c728f1c94c7bbf599832d027f260f743a347da9185b922ff285e1df1dd55f081972bee53e04102804ac35678f73419d7a1831b5cb330c9a790715407f690333664bc07aeb985fd4b64ad5be1f297b2958393c1f999d287837e02341573f20ba0572e770d7676dd1d7f901bc730be7a519c420d2111aa550ee4267cd08905bdc2172f36c664834eec8547fa78b423a89b3e0e155911ba500a397469297fa9fd9d0727800fabf3e934739a9efa7c6f7253b5d632380dac3db7abde871fbc682dcdd3a4fc0e30dd4edcc762b39b65f145259a78a121798df5d45efbc80eae3d8180322e5d523d99e25ad1cf36f88babdaf37e49122f1e619dce9eb1479f3baa986cc72b2868bd27ea394f13ba70f38626d6e9c7fb173737b6ca106645cf8383d3d5c72b654f454f59c3d82bcc7bbad1faa9869b46a9229da9c573f22cbb7ace9052228c5e034c04791ace687701e95de9fa808886e69dfe4361a83f51ce8d9d675246a0c5bdbad580be550f9cee6f8dcae1105d703275160340d617b613674710c7272cb3ed19d4850ef7e0348bd1448966887ccc703083d5cfe86c60102266b073911751596e16e8cc83f888aad015208dd75f3e7dc52d48f1f419d8f1cdf405937087d6d9a294ba9d54cec8f0ca692f3cd5b9a73abea90d8398bd6d4766f77e63247c70216995c0395141ab901e0e0f60e350b130e8292c0a19b752d3bf923de8e70b4941545c58b7e7a8fa30c3ca2c95a87f15dabb15232a1402eba16d9c70b3a723160b3b4be07c3d6eeda65b9746149f33733c374454f67ce9131dcdf460e6f71326a75644cb8a003f5a5171d540aec3ee0c6f9ac01bf77d77517e7c54e5b1c72f8556ce2473a126b12a9c32a1f790cf59ba4101129c042f4a71054cc97589e080034622dc0713447ac576623cd67e18114f7e52dbff1bbda5d514a46ccb14f7205209a825f23bbf632803f68a92762b4e398c3fb4bc14e1f30cf0e838f6421524ad63e89fff8695169453b85406e4130f78e7bf68fb808c32734e6dfc30d6b40dbfd4b9c778db88ab5d50a203b61a5bf56d861b781737a4f5dbeb43e604a333a16f859ae25c5dc2f0ceb53d61b17695da98793fc256aea98f0461413797a3164bf5416103601c8102a35a0bc61eb2412bb1eea33be607b31207dd0e5e213007228be6ba6ee08b2f0c20aaf98cc0a0d3d2f08816bff58eace8920c4e9e5ee9d723bcd84cbd758456e16b679741a91ba2290dede6bc9b1b92550ce8da5bdf7c9724fcf5d670ab69c0d6798065b9e6ccf69afacb16ea538f80ac6ca66f48e8fbc72cc844328dd9414d3ecf9f8f464cac28e1276b652b50678f90669da43c3914f72b10f0ca00b34b4c3aa7024c2600621a630abb74d22fab8ecd3b9b66fbf639672a5fdcb5a3ead79cf9e88208ec148ece69aaf050f3d7722eaef256bc453fe2a1b09601656d1105b71801de3784512ddc373f2edb38d4c98378372f92ad8db8a5afabd3e93e77c00c9c2a6a27938ccb9107e0e7bb4a924ad25beccd1d276c234726649a19a17f5757b35059d19e574c5fd22c20f1bd0a9d5210d3b92e4cc03394d324ce00c079ede77528457b33db293760f9e4feb88059dc02eb5c7a4e9bfd34cba752e859327a0f1bbe119228fd354a728d2667001719b6fd40d4414a1c1eb72fe7264d60d933b455db0ad101ca92c32baba9bd7cca2e93d06f95c1a6e9eee57ef6ff5735af130a970bc0932f759b6c4f62ae72721b06c0391922d9772450072d17a9a7a4f6458da0ac2d47b536807458d121c7f8c60f1dd8a27b7d56004fb72521035837f85c90bfe383d76461ec658e8092519ff9cd5e2b90d1051a1bc3672352537a6f0847a5b05ce38c93fcf306182b92ff8a5d3872bc7ffa50eef073072ae298a607da5577961300bfd406c2f963ede3445b3db745eaa2a8e8a438bde727d0cfde6e2030d225158d1e132b887594c4ce31f377d0ae5f132eb7b700a77724c0edec90f6c0b2eaa11996ab0ec027252049b49a59967e66374a83d151ba67272cb404ed6409409f6c800ee3344a37274c992779688df39c17025d747509535d278dea78385f0f2c1d83b807a21a4777dbe6c3721b91c7dd3be77122187570b9502ae2fb7c99c240e9730c65450517309ad20e3c6c8f5765d2f88bbd43428492cb739a7190d552eedcb1a445bf6562b9e836b294b34e38eea1e22e1b768e22b48f183501c596c20261cb194acee4ccbb32bb764f12598fe9332b7c699be2d426558c8ec6681f8ee096938fde288d184ffa3117db13995bcfa5f78054552757231ca3b96ec12f5b282f0c3026381e3e3d810c35fb70b42eabbd789ee5048ae72234ed147947cb6c9785c8d5fa3623330761c108d64fa1f9154deb0f5d053c41af7589718bda77ffb999b6ab75ca01ed0aec87182003e7a54ccaa1ee4a5e29872fb059b03ddeaf88140ee7499f36bcdc5472d038b8e882aba1dd6eabc1949ea516652e7fffd314215adf1cc2f85e64d7064526cb7853d0d74b0774ada8102ca39420a5c4ede70d05aa514fc4ef5b5135849bfd4871093f7dea1cbe3a45e82be7296da6a4659918e8a67b10b6836d3d590e732c23696b73ec652dea7a58122087237ffddb557d9c0c87392500e5bf27499e3c1d35d2e1861a794eee9e54c74316dacaaef28fce58390428aa4220be0c2e6bd2aa646ef50b8e0c8fbb4b3bdcc374f9961603659c6a1900ed37b2aa76d3da1ea61a3053003fd65af21b12d2f209372175c3b6cd25fb06b306c8f9a744dbf906b634cf0399d9cb1ee744636872b201ba33ea33705d828d40d7df046fb342dbd7bf524d754112fe06b79ec0f35523e3811f6a5cf3e1de9f95f906132bc475feb1a8ad8341e59bfd5a1011c9b80024e248586efdf81d428c012a7f97bf69a902f5eb50bf66e8e135d5c2100cdd6e6943acc529619dadb33e35c2dcf17e178aa3491a7df118e3d22ec3acf95f5fd38d272e373d8b246727049f16b42433f35756ab6d2c126890c1c6e81a69133a77d7f6d5c9e4a89a3a27aeeb8625092cdeae082f4e8040d1adb26c29c368958c60aff72c5d14b4a38f7206d5f362c75ff70ff54f76a21ec6cd6c81303e9914a9c58c57239be545690f56e4d03f62d6ac5272370fea9eb2f68d70bec30b29ce4cc243542aeab20fed76d1a3a01d51d5cf35f8d074a47297695d67fc3644fdc84591b03722381837aaa784f07f7d6801581e528899e3c3d4eb1d295e7e487b85338a36857c3780023bc42a3e362d763f2b200d1e18d49e68ae052a2d35bbcf2eb8f5545680f632044287c64d0f4fabe9215a31841388d935bb607db9be69834e9ee920872804e4375a0682d457f9733219326b7a9202fa4f816035e3eb9e031fa66638f723b64d36f0aa385d309027532e2bf65fcebc9286d0d819afd5b3647b1779cf4721f79b906e27098572b0b80841a9c357e33c2e5c92a5e5f1cb2cf6020d2086e5ad6b7eeb2ae351dd91fcc88dd9ea0b6c02e7e2b85c533589dd1b427c4a5eead3077255cfe9b21785701a21efb916a8bd6c38a1ea63defeab9a925f6509d38ae349490af92bbbb9e201af52724f13381b6e6958e5f5901ac1c1edc722d82d5a81a76e2d0324082ced2f3a8541cfd23ea5b257bdf39593076324450cab106e444588b7cdda7cd74bf82903e64cc61aa1f79a94ac0d6f8572a37bd6c1eabcf70ca728fdb8aa32ab8b73ef44498ba2e7c29e9e3c76c5dd94307bd24f6156a3665a758cff806240bbfcec2b0f66d75ca2bc248154bfc494cc6f4c3e8e6618aabaa4a720313a9f294001b6a97db3475c50d42721090c88553fa38974190026250e616723ed79603eb9816bc3b5241ef5ebf022fdd90fb937709656512a6b0012e49dc47d89ee4ac4b010d2bd2f74681bc0f996e0340bb835e200863578fcad4f7eae97251bb48fe26a6494eecae65143bb8a2d0244e131392e555ce3abb7658cfab3e723d46feada636ebf1005a13a55a7d4e60a3bc2b721a13b9723090ec648e20632d477da61108a2175b578266b4f85e6ba924e11f18900a7bdb65275e4ab7177172fce6fdc22e5efcda2f683a9be6427eef1a3a83a4a88e4c546d8e41b32bdc5b3a8c5eecaab75441166c2bd9799a8a1f7a9b1a921f5eb8d596f2255ee522078c13c0bf75351f3b25309f650b6b029e6d9f04505810c01afd069824370ae7933872cae1d9295ee99ff43c8b5be001a3f7a9d65f6c8d5ee7c81659cd5d1ee6561f72d1d00409d16a2d0fd1110d2e0ed4c0b45143b22cbf5381bf4048b96e32efab1080922004b537eb453e4923efb424212f0dcf257102fb309454b37ef3df75be72234fc92108eaf6d0317d6717b4d05bad10c9252212ecd31fc19323e93079c4726a2617656d6cf17b67ccee8f796f7fc3f2a888d081093d5d9a71814355221e7289945a66475d435bd3ebc2324d05bb0ab456b208469f4ec71c785c8b52612a7298d6b637f4a4024525927ed9740c5faf000f4b2de72c34f9ffe580b7345e21058769f51af8210dee6951bc68d4cf32b03d40da8ff319e963fc0385a4f209963187f7f485ae18f3641815ca250e3785b1c1add593a815baf417d50b21ba136e7268a8359b1c97d21e990d32eae4fa570d5ee020600dacc526b60307429030fd39a7a9a5a86fcfea913c2a191cfb6e371c759c0dd02a3979e43fbc4161bcaf627298b5a19bb0e82deb81d6a3a4a7aceec96068bf9276f65b484a1208bcee94e65e1dcedde033acbef45ec5220670e10b71ffb3f9a36b0d82fdcb82131353c2ad7271da7f1f36ba4d27eaa75f81bc9b2587ef2de7c639496b739a0f0294ed22547223a30a1ee90430f5ff3413e9f7e1d21c714d025256b37a2431543e7492064e5fa1fc69840536bc4748bc8b2431808c95c7c86357e7bbefe08b7133fc62c14672286fa7b8637088af58bad8b9b7236260c56deefca88c3298f7a36d14f6b4ee04adb719e4226b4d81dd25c92677952ebba41df92f5c4a81c5a679914561ab52720308709759e479eaad8383d9e7fbebcc9ee60f9b8fffa70342dcd8e3ab1c5822f0cf6d7cff7c181fd5756aa3b8bcb0d88a2cf351ba810d046ea8401e59940c72c44de1338654dfab680ac61d213f0a7da65803fe2074475d69bada799fdc926962187d34633ca6e1baf45ba056b4ddd9592bb0dca993c92cc8424269fdc15e547d864284c4b06ccce492871a2a7a6d716a3fc0f29d06e1f610bc08f6e65b90728813ab5901cf7be3e1cf9b8b3e0e3069b4d2810dbfdc97a27540cff9d655a372253f791f6e7ddf26907c48fdc2495c1f2c03363c0513707addde520866325b0038eee287fd2190062ef27fb1e1a79da05c6ff14db668376326a5988cf644227292a61e63e96c759419496458cb9d38ce936ff371c5883e56ed4a138a91a6ef720b7e6a4fef99ad6410fcefd0f48d28d99291325da21bea200623b87bfc933d728ab1d1dd399e9f6b0263637107efe67854b67e3435440c1eec307b380c50a97278c36e35e21b2994e3c508baceaf0fd5274ec605dbc695e849a90e3e685ae92f6ba2a50d3ef39d84b40d1aa5e33d5dfda9b0cbb7efc85178211a78c265ede30ef253f6dece47ac74e4ec95e74e53f8a368c0f4d5c247cb20ff61b6cadbff32724b860561fc7f54d1120aa9b7d75cbbede73791fe01dcd512a86195659bffec723a2b5cf84446b6be0cb23198c9dff6f186546966ae7fab71a29e7a9526a42b7279a81904fa7df37f357de035fbd3f7430b3a1b3f4815c4ceaa5b718b7b58491880288f2840b5ccae4d874e24fbea971c92994675af628ecccf7559711fc691478e950f6e85481da46a7d489bff43e4ec13582c9c673688c0816a3e05969619724f60667b4ae2119976b94036d23f036eac6ed382d620e30b1a94e99847359e727d0dc4478816568343ebd61a1ba5a70944b74c636f21a6ba9d06333586c2fd72002b0995df2c34ec60b4f3f9924b74ebf15735cc5b4ffe12bcbcd50bf0bcc2724e521f1e71ab1f505f1ab3a05ee4246e12b0221380a808af971350c188010e3f1b22ed21cd5374867acbcf57e13657510b158b2dba47464b30744eceaf4b7a72e874d02937f897d3f4e4a4dd80b24acb995a94e1464e2ca248c30b12fded1940a0be4b96bf5887fc485fc476c846de7fa77b8fa721b68176341b7b253805ca57b9f1ebea3bedf742fa06c6d7d5386e2e2bd2e064eef705240ca219ec8f774e45b140e3e22fd561a9163561962747b030ed7f4eb21c46095f1015109d8d7b2172ebc4131f9bfcc04bf8de5d4fae586c1bc8a884d722258da9e53c3249c20fe81a3ac0fab99fee47c3977b5106d1de70431f4f1474d50d441ecaa89a6da5b3fa7246f5b1369ed27a1a67e3a8b39c4243112e167fe8625366edd8ca2883f7b3521a6f8743dd2ff79b54c2a4e455012c1f062b259c0b360602a91579c03f67966672091b7aa60f7dd7f148826e1f556b5d10475635b2456d4dbe2f1aa55b259e5c0e4326a3abf8948be7a82a1e914a67972d508f3d524153b0395cfaebda6346916c671dfdaede1714a7051359f27fa9ed396f8a5c800b111628c6794b697b8f6d72fc19d5f413e529c91b81c04af5f9d32185ed5690eb65141a46f05a8516fc6d15a478e146dea5adca36b933761a0616a4c68c3d9bbff9ea2f8a515b0200fb23727bcbdfe265cb16b94787b98c0a79205afba4ffb05bed41f74286d60810ee7a4821d949c27b3c51aebe4f08103992ef53c05b466fedd486ab25bbd3d728f5ca714732acf84cc0b75139bd44044fbe748a8cffdbcc933b7b44ceeea7f708f78e72d0cc760f37390bd16325ea805d867905a1e86fe2b2f783691c3d6d6990d56d72403890092e950ca7972ba764174f3f7900da1cf6a31517275158155622cddd72388d0406fa9ec92e5c72543115294bdd4be904f3754c1ff2c3a123be1bf513083690639f5364a2a22be4bc68a80eb5b260b48061797274fa91f0e35bf301f25edb97c3053c3a25643051dd629772741672f0e66995e8177ce156509a7e54c2724ee4d2de574db9d769aa2a301ec40a183265678b21297ff56c7d95e21b28785f4785252bc24bad14588fc90d43887b29f2dbdd35baa50cc7fbe95a4416995d724cf920198714baf4e47cf4b9a3af9280dc8c56e17fd95820385d3ab68da6c4120c203314c0a5317d2a6e8dd1607dac3a79282cc7d3d7c8363406670f0e0f7e728a62b7bb0a7be1097b98ab4eb9a64d058c153abbc3b55645717995f056aa6472b77f17466c6e3c6a24e99443112aa0c42fe2de8a0e103dbe2221058e61316472a6d427d4fce51f94e200f5906fb3be3b46e74dfd9eeeb6ba2a412bd47a1ff2724d9fc67bde41d712694f54019a7e45a4537d5b94090f2319bf955b3412e83e15e9484ee5ca7fb09626ee6f1cd489e51f682cc2ca98287bc607bfb96db1575372f410b2bbf3b2459bcdefd9ccb4f69428671ee7e0629c55b12e341ff72f3cf8587df28b7a43c636c2d84d198b28434003d70313d578ae3861957d834d6d21bb726f96046df161137b37e142181f8c1a72df682a997946d6d57e1c3fd7d6758472f0561b9efe9659f74d8d81013b5329bd123e78b54c9716cf2abb74c3161cf71fef11636f0dfa2d8bc5dba4a2b1447c861215cb7d5bbf81eb4079553b72b24d7263cf4b58462e4434cd3941173bf8b07bff3bf66789e92be896c36c3118423172f4be343dbccea0d4609d39aabfbedb8b76e203fb6b3acaabab6655a934133672896fe1c4123072852ad04862295d9bd286448dccf12c0e3713fd5af1a42c2c72874a8a61e574558a55506abf749fdb8e273e356d6a6645abcb6acd164654784271ebf5c2abdead76767b31512c0e73b6d5699fcb054338388f7203f77aa79d725f2657593aaf58b0cb57ab54d959f17720837f6d94e21771daa593cd16a68e6d0f2b72b265d18005b40aca5a6c5a8c09b01d6396f81afab5aeb3520f6ab00341d0d6e43126073cd6964920c3470f6c9b418815abf0b628f0f9a0d93d4d9776223ff493150149ccd5da5f4e6b934d5271eb4cb0804791482c939795b93be909727a414ed520ef7bbb34d202c0e2a1bf8e7a57df13b06004afe18f08facd461b06671f6e181523110b9f4f85238d399aaa2b5dd26481e9584c03654a092f68f64debbaad4481ad1edb8da56bd8e6ca3802ba623d83dbe623f6cfba7054b69ca332bd18841fda4b075ecbba7a36cf1652903f39881a38413a1d23b82b3ab24cf372c5a0a084dc86cbb2f814fd7981b620cbb61757a0720b853d0ae71efba3196f7286437a5b30aa763db9b6e55c10bfe8f8307bb51ba976eed14bbd3c0a1bea81354d76178792b16f32bb7f86a605db8178f19a463c5b634029261ceb63b355af724a3fb11a04222458a79392796f205ced45991294ee65094f63de5a3ad8ba926d56590170c539a4f9e37c7083a83984c17be359c1316addbcc87ac1c849f01b72ab61859f5be1f4ede9a8e3c0ccca38e73b2b777b0984b0b1c5c2ea39d31ea427002c1b678202beac7ef7ada88d122246733d92b8dba31e600dcd540eb5fb174ca70a9af63d2542ed6fb029e7b2eec3244a3cd4261c01ab0e4d0e7d9f30d8ea68dfd96781dce1bfc900e8ff45d469a765fdef82a3fd8a8f14ccd7be6e0da38a6d7cfebe1b31d18198d76fbd39f8e02e37ea42fb596fdf8367df9e5b44e4449504c1e9d8c0caeff159411b830a1cbcc07a49be19cc91a2fec6c07d69cb528b5772523da19a4aad805d94b55562f3409394fa8cc6520e0da94acf57fcb2911b8a72978cc5f78d63983a9fd408e58410f9806dbcf000f6ac4b1dacdace73e409e71d06b1bf3da70ed10cad90134488ade2b6aea67ac86c087a6c6de178d20fda2b0454dea3bef844a34ff0b2630491040dd3df394dfbcd7ed9ceb23efe4159d755723730969c8de61b5427f9fe296ec0893b8f3e15316f1a65efe09e4bb21b943f72698f976f6f747059df05cb5969a216f4213ae763dbe8d63e097551712c70a43e91a0d930bbdd67e9a16bc40753b568f6daf1cd5e7a552c53655ec589873a827216b70c30672562978637c1f216701cf765384f58576c7f5b1241aa27a7b1f97237d25fba8253a0e4ef091aaf1b4af641848c313c39bc4a65e105b3ebda32c0729240b02616ded7c70f37e61eed7975a0082a92d41762e0733732af28a64c25723e57b3972d1514dd231202b324dd28b23511f1a64efd3e40efb6ea222cab8a1ecc1442aa22d99befb8d6aa27a4f9c7b0c8af3d56902ce5a1ed4718f050298c721cc740ab1fc2c73e4d48e31704e95f45c09524d52771d22fad133c6f7886647275cb2b7003324572ac7dd89d55089bcba4d226c1af074f1449f9fe7d4dcc1f72dabfa190a4a67c60f8b74ed85e45489ba0a94020e6ffc942f401d4a5450041727256db11ee2c2ac68faf480f32397f4a24b70ee7f12e7eb4710bb3a2307ec772f78bb73275dcaa6eb449e27c5e0a670f77a66816828b42cb7ae412f9bbe7dc62e9a64f7dbd464d02e454cc4a7b259b82c210722726816e4e8fca87957f75827207b58e4a5929c94709870cc37d9f70a7a0ed5d41ade71bb11618d0a692bf887208d95ab59313a485df0314c9b1180ad6e8ed3757978e048638b745fde768be7257d8cd0a39391fddc913f27608bf20bc30df4d2eab002f514b0f744bdba7be7205d20dd9cdddd449808c173c264fa26aa0c3740d3fe61ba9e661fd6756f8b766eed939e5f276bf0e7859c5adc3c56304df89d47e709aba25c0dc699a89f0bc7219fd0a3776461de3a119175b90c54dde24deb252c9df6a65f9e92e3b9e0b59728d838797473e2c21b0be2509f96949d3261581b8384b7f5866f815cf54b29872b96b9eb803ad777f6beb4266a47b0a40e8b8691bfd8a1fd0c223dd2bb4f775726c1397564866bff64b341c14493ed67feddddb54c700c1c0ddefbb46e2aaa872d182dd612120700c8ce9b5a17957c231b40669276ea19cfcb71503eb2740007273dae41abd6a4d6c6c7b2f748a682456475f72656453c2e7222cc2b1a9f4f472814cd6e849ee9310e3a30a8d77844a89584e0de7636c2ba74a353624641da35be3198e8f0a79cdb6b7ac7c9dba4f34629d2fd33f0bd0e57ecf02f79458088d347f90d66793f007306f2b7a80a555c516c3d3373a59646fba1e9d95dbf4bc770e345cb06dd7f19eff6fb65b8bdf59a4df6a936b3f18467f81fe096d885cd84d72eaa3ae261cab67334b4852e6201b041ef04827dcd9e965ab1790a3a8afc1564f15de9a538a069694612fd1f8d90aede6de58402f1b459d5fc9bee11c3ba5881580802b283c89e529a16ab859d22f34540e6278a499360b7ab6d5f27af941a372a8ec70f240111900727581e1882da5c111d62eca815aec656c02c993ec1a12147830f86aca505a6f5942d7bcc6a899c8e58f10858884bdba2a3bbfceb4736c72446fa96b20883ecc7b03356d3cb068fc864050e00469eab3fb7b50adc4fcb97291c836c59146091b0b1844dddbc3111b0f47311b968839d5f402c3ca1eab5750415ebb5300a8102a1389d54139ee0e3534e66659ae4bcc3230d7b365c4374d66132990b8f26708a17ec25495655cebac6c0e039d2e39ec41c0ae74d7e3f19d72e132f80c8ad3a965df9e15e1c7b138e9a36246b40b6efef88248054565b13a72fc27baef0c946d8249c82a276fdcc257ef26171d18dd006b5499dcabcb47045d2cfcf84a0611593bbbfbae8f49b3ae62ae92d43a595d4d4b5f14b71e3718ce72adc41a572ba64f4f9aa0185687c1d17db9e8cb3fdc6271823ebd55278204472c0c638d86657e7622f7453c48c3b197bca1fc068d1756e21c944cc27ab903ad7289ba0d310a0edf516d2081cc263401e57caf570be2ae3910ed6fbefd680a6a72b7270b105ea379b5b974d481cff71a2b9b28835518f745a39e7d2ef92af3d672c876b11ae94bcb3e474cc0d655e5691a11be8e065830f80673ef483c8d74aa1a5ac6c2a656d8f444f1cf9ee79939c230b1e15a366536b8a3b3cd69bb116b962c20ad2c69254cbedd073a0100f208ad0408359d8084168526e8584de253dd4f72e0e7896223b0921835c10c57e0afa82298429b6dc44d20f5e8a4f8c217e32a43fa928ef69ee96e9174015be6be7ff660059746b4bee1deaa19700477eec7930ffb79cef75ff1e51e0a45152120f3672210a28b33741f0210d2b57c3164d83872e821d59efd378c41a5cfe598b8374e662b4e09af9996f975d6758e28b0f5d4724f93a30dafc521106ae7403147705f90695008a93ef3802e882851c73bf44d72ab258c0443f111d4cfda89c36a0a2def50b0b860dfd2c0eb9fa1cfc5977e1264062dbfd4d5d1d66365dc382475dc3c2ef82ade6791502b46fff44af866c768438b1d230cc3bd23868418f649e9df7ee0ef2f9223d690f7e01f864ee0d5e290720fc3d6fe9f3f0df40c79aa889f265ff7d33a006a3c42b270d3af7259de5190343ab358f09856bf9c184683020d14c7b4ee750a2cd02479c83bc88d618f717d342f090863cf205077578871aa1f6b2489202113613d8c2ad6df1f04ee23e8c903dc236a3824b25c92822bd20c42a41242645ae661d18e8106efe702e8562e20541155f8e66dea6cd95a013c91e1058d361f21152183d480179372a5b8ebbc6a72411c69c242fc2d84ccc81925511a2070071cb0477e5ede77fd8c9475b1e9f77263602e0200c2f6004b4c10c1e61c943dad02e5c155cfc27c4df82ab48d64b42bd28ba897f291b0e9123d3fcebf052487d0a37af9936bec2795580e8dcb4e8a724337d1c9e1231635e70005b6bfca7b880fb69e8a4cb731e3c3778209ca31fa6ffdc80d0024454b37f8d5cecfd6b4d430f55ba466c213c033e4e3d6b46c197172b6feb612cb4cfef9cec2251a37a97d319033dd26da471f97141fcbba2b353172f4a7be5f36dac5ee08a85df87bdb673d42cd998251086d2a0d996d5251e35c4974353853b1920c661fdc3e2502b733e3366971571d5fb20c93f3466416b0665fbac84fc54d454040047a16e04e955ef1b6c651ae38e9d11976d1e22725d37e68cee9c6e461f9fda36c94653f2cdb0dfe3666008affbe79dba8f1c84173de5a72ecb2740e1099b25d5c4fc94fd08cc8c73dc596b38ea0f86f963f83436a4ef1726667866af65eae956f4e70b7c1a75d8227a8b7d48054fc582f07688f35b5f42adbfab670a2b16d62db99c1e9187d580f9854044d9159fb8681cf7c7a6c6219725c31b99c4f988f8b96257ed3aa4d1e845a1dd4db309dea1dd97781adf6319372cc71c5d13d1bf3e39291de8d1c1b3df5c596edeab26911197496ddd15be8b1723faf36ce770d234124eb3706dc80b40829298cad96677e09ad492f82646c5d72327ac394ce1650f127372e59b62b3d38c3bc1b345cd92facb6430081b7340572aac269b343d24709ae2ec4eb10dd3f70bc5c8995421c1a24d9489ecfc5a28c7269dbe1b86eb4cc4122748dba07b710ac8b42026ab4ab1093f1bd6709d673610978780513f0753a0d32169567ef44d2e2cb9bbe08864fcde89fb1d30e8b6e493dd7bc8995ee2f223f40b61f50935bf1c580a29cc6db36fd90fd6ffafca8dbec72198112a7f80ede0e94a471a724e562f0fca33c67943c2c1d35196da01c1cf272c25c8f5b5c6727438b63d2c186cd462c34525e1c3ae0566403607d117dfba063f864f2285a2aadaf8bc81662c3cbff4df8a8ef44b336db893b82450e50d7bd45fb0a2d844ca234fad4a75589bdee622f2cfce1d5eb49deedc0a840319421cd72137fc3dd46fa3866480117d93f1a1c00b256be24e0c53d71f21c11d98f463a72476f14731dc568a11f31804522b0f34df770755ed3641750550b13bc8f8ab65e5ca8560084c1ffc537421931b0b0978578630add6336d46e86bd8f48638b2972981be805cc6c67550cbdb4939bf476851565319e1edd502ff36293b00ea74472d22ab21517dfebc4f98faffd4fe16d4d9433331d50f53f44a09ef25da9144c72260596779a16163cb7b1e86ef2e6009532f8932ea311fca619fad2f1bf76b57277b87b63c919668022262970969bb19a6eb3ae4679b5e38f4d9137ff77136b0d7aed105689cd2db4d201aa43b5721769dc82478386aa9971ca9f3d89d0bad80adc3a5e8e53de67a9ccc20cd1b1f0c6b670918eff4c629a570bb82f793175814d268e3149a212e8c33d6b0c8f98565fc39b1d085f7c935bca2edfc76aa0386e72e9e3a140a33047115f3513554f84b352c6874d690e5193d4c2808c678e6aeb72543300458bde2dcd6078074bb5fd47be1c6f4691f404748ad8157067cb0307532e7fff39e4d5c3a772e6d6f9c6321236d9b9edf43362faae9846593df9797372d8c03c7472c4161c15708ce513ac52760ae5d0b9c6168e17266ffdf21b304d47e33f79391843c9dea36462d341b2a47a81fe3507bd678d850c58abdfb4c7a62da5ed33b3710121131322f9e4c78de768b1d85af1b1a9f19bd1b641bf06fa6772b93aeef64f7b738babd897682ab622bfc48c5073496ec16f416b996e300b89491af992439b32f0bc0cad250528b3fead9361e0b7588b2eba12b5f3096646a872f0fdf17034d92fcf1ec598e06fc58d882101ce2ada90bbc6343e602d3d63eb721473d1e693d651e8e7790091d7020e72584ff2ffea3a0267c7da0de55e955f5eb34e6828d2c01654aa9c967d864bb15b0c1e1b6897afe3fc77269079393694336f116058ffe764edbc18d535dea23df67bb244d1b762b70bd13155b13bbe98414f9c346ff95071c5b5c998c93cb6af66dbfd0bb61cf492b4d23a8d6d6666c072ccf28a2208e26d3237e9ee5ecbfc6b66dd100a7286aa11b902703c365c666f68b26711f8f22222cb0aa6bf82438bc838f9ff45c70372a95364bde2dc340bc101a0a9b81083373ec8568209045194299723dc5f1313681f889e0748f5d641f072c76adf1a66f479614000f2dc328f605640db2f76995cf7d1df75ccd55df0fd0f54239d6b2030966a48eaed824b54f65dc174f83dd8fd650c4e460f4bf1e4da726388b285c4cf04b1828cd8e222c576d0340958295a9df20c510aa25e4bb9a572ddd17a6b969ff4643c7ccd3fc453fa0afcff187cab42f52710386f2a3e432467a13db7ee760e576da37d95db11660f6e76f04d59ff59c7421377c9165611b808115ae0d6b33ae05e69062d7b228e4e2780394f94d41dbbb75e72a3b57dd3497225ed6d6afccf3b31c4781d227050a1d6ad25cfcd24cbc98b7df26e29d5b4050ff6539667612a5affd7155f23a98432a5639980189071288d6cc4e0d1ffd58a72aecbde298e2a60838d88487828ab7ccab655963a3b81b17e87bed6d6f4400d724777bada4751fe7676f171596cf4b0d82402bcbfa007e5cd39b036b7c15b745d1b83277580d751acb9c697934aca3e58b9dc20f5afe44fd52d2f6ea08f34ec3568ea801f10bafa74bb43980452e96882ee18d0666d3f86876f3176ec4545592d51b5ffb625b82ab08460aa3b5e0dfa54fbed9bae1f61914875c17760aa190468d4feb25f4eb33ecc51977afc6e294035f0ae1d5fd8ac6b5d0179e954ebcca351dadc0f983a2fe22b585d29bb44954fe003e8fec2c63769e0dd44218b7d365c7293f6deddd78fdfb5ed2b000643d4f5f1db7889216b9f20a601f45600ea748672db1e537281342ba8075c000cacf5d3a1ecf66955e31c7f32315657e20685fe04b580573e103be3057293bd9bb327cd548ebbde77e3a1ec05bc0ebc3750ee370588f1dcecc8f60009c85f701ebead9a6256dda82d1810034c69ea7c2e660511720df8dfc2ebb9c9b5437fbd2aded9a3f15ac1a0331c98377ed960930deee250724a4110d93aa38efef5e9804b46c733929644a851d834b56d40d3581d35aa01728f51e7b097ba0eccf1784347848858b8a84986bfe893df232d1e51b44e191572e558d4efa41d35dcca5c52aec971c75beae1faf8c94196cf45c2f5cdd4c7461e04342bd7eb625a422f4551101f8e2591319ca86e40031d4faf71d2b396006f44d938e401813fc7af9f39e8cda3b433b6a2542d63449aba0ecec1a18f8fcde872dc8cf594e2b559e25dcd4d481cf4753cc97a0d8a0761a84d441fd6ebe34529729445c80d278ac7ccc9b2770b22a0946c917b59737e86c7e283de4cab6204244bd3e3a9dc4ecb45adb2241dfdcf773865519f04c08492653160c99100d649cd6b00b1b637ffbb5aa8201331c6d5056ca70b83b9f4b5e40d6fa5c31a1ed0510572f0fc74549ca5ff1d7db7e235fa12c7497620f1cb2a50906b40b79ba73c9eb37232f0f9cc8941d1fe0c767698086d00c76bbc1d28f41d764cd50eeb695207e372bf719f71c86c8ced975ad869810e39ce8beed1d191b427891334792101b54772b2cb90e6845f8c4e5274b6928663c8f812048132e0a21321f03caee55eae1b7245b7a8d5c9317fe9752b42e888ae281d4fbb57d986e389eb754da94aa691de72d9dd05a0b4164d7ce7fdc58288cf697fa445ddd031ecda5af2d028998334c1073c6286cf58ced35e2518425a9c7203546987f8fb3f87a5c665d2caad9ba16672f790a0eb267816a2ea764a33d6787f2cb7e8461f86a0e8508d93392fce7a037295abcaceaa2ebab377567bca23ce819e247c85b91baf16936cb2dfbc3cd86572425ebf811f763bcfd4ada86f52be863715bf013396ffe81113150db7b4f431726503fa5d491f394ca593c1b13e08f9eba5074082c53c32845f4355acbbca2f325a4cb3aef6edb0e34f88006817708cc652960e252599fe69b8b7cf74d821e872e4da6416c5b36d2a88a29a011b9429833f531e5309170a41828ace42044fdd722bd0b3835ea4e11ec69526d2cbd5017f40bd50df1241a7aca12834681b2cd37228421fa3ccb138ab5a4b6fd5ace9911ed353b2abb97e35761b95a2af6a901619e1cc507cfa24f288abbe1add717cd6121e46920b7f286d927f13587848f9cc72dd8bdf7f61769a8f9eb2dbde613e82b4616537e1eb0f9f844b4c451fae4a23720b3dd9f8b0edf8e48276af4f921ef0db5571414ef92450ad8952fc575b953972914a896419a094d6d458af6b367bacfa28eb442ae3d712a84c43bb5db1746d498c09fcacc5ae15899c9a11d7c87d3ee65268e3206d1044d08b27ea5fedaa71217ddcc93070b1c782cb745a3ce67c91095a365147c25f882bdd79c3995b609726e15ceeec40027cb342f1e570922994901d9e3dc577712c9fdfdedc15daaef83a295d426ad2439c24c5deb99361e2862b7d17380fac04726e7adca77a9d0ce90de5f5eb852ce33b4797c22c5f665a020972de275468e8101e897e7ae108e9987234f389c8c271b8e9d8ec6d85f983f3af7b094435ac30af12f275a37421f5a97272241afee4b47db4a7c1d92a9d50ea08a17f0cc0a862d081ccce482fe4129972b26ceb35c8b9c2eb0c97e275f9da15b8eca6f644180275791dde95b0ab3855729ac33fb5288ecec07ebab5004006be9133fc7f80ba02fafb029d729ea54d4c72553f69b1fdedc06c8e49d54a6fe01f4e5dcd00478b7fb74e1ba58ad753f1a764ae350c250caa29347d2c8208b7290d2a56fa8d3745569c212ba03b513172ba7258c44b5a2aaf3674186060e6a1027064f98ca829d9e7b0d762cc20fc4d0f9f356c02c2353fd0c202de9e021f9cdb8b14289462e343d6da0888fdf304c8eed33102c59a3930e6836d179af2d2dff5b72db2221d8156b8b51fa53fbd16628a711a01f46f759207091f8c7b5b36fe91e587761f58531ced2b5b78344e4af726c2020c32fc2ab0b5026a6a00c65e2245554341bb3434b09070e2efa3f73185be9610a41453dd7c12b5b6573461097315f4e29f0a0f57f79fbc6806de8c777cd04a725e3aacef723a9a494167522e6a489fb388fdf92ce23105a3b0d5a1b4f7c98e72a949e12a9646c091ffdcf101b6596893e6205a88967115edd9b3e01d753a7c7205e1eb4b9f38b5164c965c7793dbc33d97dbb3870ed8c7c3b930ca6405e295724f30f0ec4055d70dd93bdbce867770f6b53aab769bc7b45c4db9303f74331e7200fc622de02707bc758d204c34e06f5f7416f1f41a02ded70ee77f24828a32511d33346008a352ac0b92285d83d8fbb95f69a2de9e85cce981bf11689ef7d04f950429abab637d39c51c7b20201f7b78bc9ee216775cab89668447ef0c176d188e0c5daf7247d93d64fa2dc89b3abcaf895938b8762d7cfaf48c5b7342c8247228d76846939697dcf87fbb8f5c916a4f16793110af651f0b2e203db6b01ada3cdecf124006bb506671a65dfba75a49ece4bcf2aaf03d6954675832f703f1f47257c7fc45e39a2130f15f2c2d1c36e132aa2f88838ea511a41e29d2dfa692b93c3c8efe8c619958e1fcc21a85a7819d7264d6d1c0c7812d4d9ebb703c09647c5a9940d424f51ef4b41f9256175f35954655f85cd32a91bb34d2c6b349dbfc9672c4eafd0396ba807b0a68a507db2062997973c8dd83a62efd158a4b7702ea745f58b791bb33cd257c4bf7170cdced44fe2d8c967b547a62d96105434316d3323ab2e16d952018ddb030bbd56ad6b3db1a13977d2b47f493026019016e76d403150ca4e8e4b219c2cdb68d14b62c3fbe38a8e9a36e893df2b140c219a01365eb1dd232bf8da036813825bf722c403b7203e95cce41c5bb01d1d7c77b110f39c837f9182821a463cad997fe5c184bf1cadfcde9c07beeee129ad9f8624f6c511572c304611d806e3bfb586e52f49c80bdc702b67e0afe5ab2ff3bdbbcb167d5144e6baa327af2ac95f3905507351e8917cebe3f5bc77ddab1d7582bcbbcea6c1e72c657e1623c733d6ec91d9bbb399c41ff19d15a20febf35b6b4eb14cdb05a3272adccddc8f25a6c337d2f7e329c48b1690d32fea5720dd68ace7a8f4e47ba942f8888bc386983f4bcfa21cb8305447897721ef2a9889952675e2ad61f29d03b72c660268f3f77a93fff958d1382995e503cc1e858d8b861302fc168e6706d6e5018a62834df322df3246f0d5ae081fc0283beab6f30ea3521e5033cd605c3cd721a21e3d5c337f7a5fa972dd6936bd6c5c94b7d807f77fd0e14ce30d9868d967277adf4416ebb6681eb32c5e3e2a6b61c88a2c4cf7c75a7b33fc71c118a6ca70705682865720bbd112368126d1d8a6b5b2e8bdaffe41a9d7b4dcebb7d55d0f9722d363e0d03e1836e6219715ded6ea5a363eccd571c69db542b396304aded6b70f552882d0de113754f17a1c3e490d667e5ec2fd9da8bef51152884ea7f91fa72587dc39732333d9bb506dcf362760cc7ac18b090fbbafb771c902b1e354bb4721d12b0f85543b4eaf7b60183fc55d9ebd0dd3c5dad18d69f08e969b6060caa723431b247cc7f15e92523163349db3f90cfb84886fd340c55e2004af952c96b727028b92431df2721765883f4ca6aab79e14fb7cfb482cbf9452164bcfaa50b7204e38ae4ef084937270c0f247608783a82a7bc4ed07f3fc2c64ffd125a7fc77253a8d83b16bf6f99538e69354f475b7d59da3ab108115e8bc90cdc042cf0ff526c7a148044db2d2b9f5332f93f71dff163a769b49544cfb56ce51affc00fd95932fa6b94d5e20eb8eccf34a3f316d4916fbbf0f71aeadff3b33bb2e439adc55f8f40ac87e694173d544c97f0c25bb1c05083342679fae7d78e936f3652b5de729de7f23b134c830208d09c1595b85ddb4794132bca13b18abe618c63831ab4722f4fb24deddd841d609f5a50b683c5f2fd9d5ca5ee8e78182af802f93e87dd7215e36ccc986539e201acbcf4e35ffbbb34517770b7bc29e447be085d2c523d5adc0cfb6a3d0ae0fd4ade6093265ec65943a627b2d14546076990c1aff3712072950271f2e3a9dcb7285264fbd34f6780a20db9c85eaac10492a34d70f33c3103c3dd840bbc28ea1a746d8182f842d84495ec66fbf3b10e91ceef7f913475d04fd2b436fde5978e95c7235ada7ff43ae07e9218faecc8c2972b85d1a8e2d2f819fe37cd89b26dd759d0273a4374b9b54c5f0d9dbd95a539c379971da0a34eb67236dd2776b5cca2071dbb81e0d019aef4b7af659ee26dad2b09895d96a965e96fe5f68653e3fd8967b2f983c270122d9262b85ca3ebbcbd9acf8db4fcb7541d5e00bb674c0242e0b743a8ab64f8bfe0468bd3916b162fa824c0d217bd7f6b277200675bbba0c379c05655ea94a709c8c562eb555f0b0caa093dfecb71b3ce55302310d8588faede81361f66d2373d87f66b79b676e274b4a480b740fb91db6e509da4463be5f68b19b68ac7a5c7efb80c74fd44eee227990f20f01f2fd3068267c774fe225b6cf2c49faa9a36390bb56a6fffc7fd12a410dab40304386a938a72e68119096eec1051f4433777905772087b9cde09e9859175d1adfbde04a6337204feb64dcb75fadcf3110ec6cf4bab8d418c9780bbe73c7cdb2b09f68b363872197d789fdb575ac2a7089f5f69d234fa5b9f7e4181268eb9ed517542da8c67722bbafd7fb6ca3c6cde13458bd990b1196051c4d102b233222c66eb52ef192c3669d4c2e71c4ada97a6ddd0fc56694b0419f3bc4271dfcddf89f6a48c2daf7b1f3112b828ab56ef78f7fbd24d49f9dd7239c779c6d0558eb1d3780418888077728a229e26d80404c0c94cca2d1d715b7f5a23571d530118a8ad3d3f0fd7250b334cddb4dd01c246d067818d17efbf5555c2688b8dd2c8dab4856628eea37e615e1ad79085d2a776a1aa70aa90a98bcc326eec884f19399a0782bac5f5a96e1c729919f1d67f1efa7be32a98b37c551d51357bdd4d6d597856e0759cd4d94c057224d824120037f305c8e3005363d0e0fe8149307f2553c50c7b5abfa0a0352e7279202c08df10136a80075bf47f3ca100df9da26980eef003cc3fd2b9ceed4d72edf734eab47a99ee0201d8d1b6c689c6834df372817834eca8266f08bafc22729c45439d82aa8ad2ceefa21c95cedb4d701a691f11a5e72284675560b173ba72a8e36c1b00457048c33b69a2e71696f219486d62480a287e342459e3f5b3f26348b3ebf7bd0632a5b3f861c989e6865bbcce6ab1440627a4454d864c93b2236fabb52ef07d0f5c67aa4baa5d444622c8c2af2fd6028dff8ec44342065522b072bd7471a0832e66ad695dc2b9516f296067c4aa9a10d91ab5953ca3c930640851cd64a12e851e05dc6b3d76d9719d6518335ac8eb56e34a60945f39030edc7472b1cfe00eb5e03aa6852c2552891d3bb44265155f951d8ea61ad5bddfb3496f6f2d84a781b3b240e7cb9a94dc6cff21ae76994391817df35cc3e215ba39efa8432e76a4e28c52381143d717d6f4bd9b2cd2db53ed053116fefea931a28b289b72acc5d4101b3b2543da65e341006fb67803da5caa1fd7e0e1f646b07ba19d262c9156e41cf0add7d1d10286f239bc84a3911e1e50d1f730ea27d71197cff78b72954b6cb295496230255887a721c32fae730d2e1757b66e4f321f172a95c4d4264581d1cdc84eb3a1ab7a3074059fe372156d01a5af73ca1e085a71a634013f72ace86d59a2c2cb5e05092eed1aa094d4ca6eaa13f73a57b4fe0395af128c0c0ff97414c2acc0d7f50e24f91c0fa5eaa80a1c564ef4478255cdcec3b88a8bdc721c712b97e336ac34069edebfeaa402b0dca134a313ced02db3b551853a844a417ef628f4fb7792fa18fd30ba75da4104b6e2cf13ff578e82859a8070fca9ac7297373825ad05da22f61e81a2fe475f85f094272647afa60d4c00128f9a828c7274630dabf66ee677648ac69ae1174332e04f7e86dada8d4dc1749f2b3ba6b7728d8d716a7c0aa17b5d64dc11312e8cf354f231ff4860aca80cd2d2065cf55172cdb5eb92bc46a90063c4c94086c5fc77cf4272df0ac45a59311b3557ffee676c8f6d119d4bc191d12acb71d2531f6f73cd080d01fa01e8e282242ee60f37cd72ed0f49516defca3f921add6b64a4540911fa2e72d1b0f1e9228bcbd848c0d04537efa970befd46c238894a376d63e7f6e7576e2f8c90e05aa732c9ce954d6638225dbded7e8cfe732ac1006d4e07b9c1a7594b263375c7734933bd487fbc596f0890517f4d5373386a68bf1379a2146784dd713c7100ecc959b9e304c420723c973c870e960011f4c54018ad77fafb51f2cd270b1215596d1f031dbad7bbed2296d7265d428105421ab30d3e891ed2fcd301418885d07c4cf129e6665d4e953c8ad4af4a46630a7f6458dbbeb261357b3ef0bf30c73f76910e7828ba0280f7724794513092a5dc18769be2d9022de760c0532460da0e5db985c7dcdb4427df06fb526f818704ec4a08870390b46d6d40d18f514ddc35b1ba3a724d953874af7214315a818742d17533b9763a2871960dc40d88acff48237cdf99c60a96a96a72cfa58af5a9300b835f83f7825dfd9c870adf91922bd7b2d45233577add185272daf10d207e1ff91776ae9c2708d473da5a257e6b402919a759ccfaa3292bb86356fd03cbda649885841a838ad5368d3c6f3be4c9530adfe3eacd2b137da9d672ffef42fbed0c58e0704bef8cfad6667eb03f07ea1b87ee0bd07e19e95bdec415c0ec1f6aae596206e1673a79f7add3384b85020015ee5b90a35687335c75745eda641401ea8745e1e1f478ed4d005dc066ac5a81295804e1222a2d4f0e2e9e72fe4c8a4c1f41e97312a027447d6b0b6460884f901b4250de9059429e25a99c28d233efeca6269ffbffaac43ae18de095602a9f27291f22cd426364351a415d72a9c3e955eeeb06fb78f4391903c4390468818312a3614285e07e19f17886b8725a0e812e6d7dac387053d984a9ffb3761c6b80cb33839292c7f9f319b0560b72ee77ec31a58062b8a9a9bfbecaf4cdb1385cb5ce66741ee261ca699c7396e61fb8ab7d4dc45026738cc1fef7b14331780a84d5ce773b14b4b092fde07905260f7cfda55c0362acef100af5c3c845d8375abf695ee86156fa2938106b1baa79726f0b70c0223c8f0cc69273b779dfa18516b9e377c8e2559fa4aebe77db155272352046d36b60ac99dce70ad8cab5fd025778e3304caea4c99123c8c819c7cf721fdaace7a5de663fcd8b13e31b7b6f2afc5bdcb42dae3e90b76c95ac6723ff252b94d8fd3ec8bef7203f216e65fd63689f475286e4747879516094f4dcca0f72aca0283f4700ec9d8943f6aaa185b886d7f17c67df8438d92894416118d5f972ca486593626a8a5be278f1252b631194731f6aed0dbc249e057ff0f577dcf6729bd01043097be48e8b3c7cd23ae20d09981cf30d84a20199b1ace9d6df540e725008726ba5869192e2605889cc461da7533167bd999c21ee3e70ce3faeea7572a9045271ce354d19a46e938f81f1d6fec8ba4b11b937790fd1f5599fc699ff4bfbaac3b20036339d1cbcd5bb736455eb9784f8539d179c5add72e396b361da5c1e5ed9880bbda8e09a40a5b9a4ce9df0a0ee86ecb891720e0c4c50e25ef3ae72cc0c9d0c47733b93c61a8b9404f190340b4835f19b853be8bf023be13f4ea4720c1b5a70c0b939ce9bdb49f67ff92b5b5e3b2541819e75b3b0eaab92e9a0492b481145bfa7c049c32b44eef7eb3f98f7175304c46555a614997d81796c33c272e715f128de0530280af92dfd8c1f3644bc4d507d43eb81a95e52725cdc62b86ebbc4f95be9796f72db548f1fb2f840d3cd22bd41577f0dd18b4c324b68e88b72d2bec1c601f4f4af5e366040bffbeebdc0aa8f1f4ac1ca86d8f6ef83caff245ab162e44c2355a0318c0e2c13de584bbb64525f2445a73e3a2f6411bc68db374a34f4c0d759f35a595dabc0f287a556643b0c0564ac2509653e03a988f91f0b6a5741f67646d0a0f61b495a7b0353d998707de3121a65c3e210b0d7c72de64772597b4ee65776d799714a2fba87a2a08fb1477340c9e542fdcfa69ca5c6d7c0360d65f78c6afe065ae4230def9d97e1dbfd9f253b1336caed4c4f6e54e757eb727120d8da951032d0ac97871dd79e401d8d2fdd568d104654ab3e626f724b5d72073f091ad2e1303bc64851cdfbfba8042f47c49c912823f354cc27c9ed2cb02b9fcf0e41ce1c10bc914292d4d9b668c5015e6db7163743cdbc7d9a876e74670180166b964bcaa9b582cdbf14cea2b391c2fa43a8f3d92b4f1fa0ac4099f26172d8257ebe96ff0a00c2fdf700b66787deb771ceaa72105bb40930716f6c4dee63700ef65199cabfb5655f627f79c5b2e090240f0620c88e66da0b6b10740f1f7270a1e19e87ae9be49cc353ededfdc5bc00c941287e7bce0589e09e804ccec6727c39ae2c3c42955c6a89173d393cd651b03f3c1b9e27f4849caa422b06d2c15b9a8e2dc2418d288721bbdd7443fb41d8831e9ae3ba67caf24a9332df31c08f7252d433f9812ef4f74cef8fd1dd21ed021efeaba1818222319cd0218c13873835a8e801760742e5de93af6b390045ac5dcb0e54c42b2e24eeb4ec2c9171653a72115cadd1c03e65a6eb6e254d7a6277c006f7a6bc6d5f13744ce161fa174cc672de8f675a83f74492b3eb613c803a9e07d20e18b8c26f8df9edcadd5382276f72a79734ed2d9e94c413917d30fadc1c8b9ec29c9d081e9dc8171db41c96aa8272cd4112a1c7df83cf995bb4b2f1d386dd69299ecead2e77e42183f2c4feccb7722c9a75c0871e9862c9176338f17eb729cec8945510257a1dddf89a6aaa3f21720c1f0e1412393eb287b0986335e3ebd63308694a1e9e4494d0e2cdbe222ee972e78bed48f5aa4a7919330c44e9777f893b3b46c282d057ddef25d0e5706c8772ea9a18a35b064c54a655513a2547659142655b181b5fcd544c6a413941c09c7222e1fff6cdfc6740243a49329fee9c4b9ef2e52127c160f8a07fe28cf95c52729a4508760741918f41b4d904ebd8fee55091630933b7561d3962d89ae1cc1a7201203eefdec21da7548a80d431430aceaf2e3ca4058adcfc4a1d64e66591dc0769162994f17707c49b6603a931a3b37bea9b6890db8b44a9eb48affaf10450590b2d05a937fd97f592408b9f62cf41cb24afba06e8b2ed5fac30a87345d56172ed18c2f1d7937ef2e1909a7d15b517239ccb1fcc134f0d3b474d60a30794047204235aa3349de5117c3af8734305b05f1e2a40f94c801e5e9589c7d7e3ada3723e61a6fb6c69f431c9731d20904cd6e31a138adb9fab96031b6920df79e039169a62de5f6e756d821e318ee1e329ddd12a6c4c156af3bab0f15c09c04b594b72672fa880b9f5c2a8868cd38decc5b29e7c28f836cdbec631c31aae894f9f5766e09fbf718de7e38334c342ab2f38944ffce57a1701b1b2155b5c10f281e5df722e77294e7efd36151404918992d0682e72305ee7a601c83034d94f14081bc972b9bbd8f1c69f69d354250a9b9b774ca0293109bafd19d5715634f3d8576fa972bb984c50ef92892e847655c0342e6eb8d29db67121f2f65dfad93d74c5074064fabdb7f06d95e5f496f91373cec1f2bb27b8ee14d62bd0aedf546fe8b7da6372f78b93903f26fed862d43ffd17166b638e1fdd448c85e2ad60e0de7d651bb972e72be5b40633801adcb7f5daa471a32f9f298bc3d0487629c670332862986200dce4176676593b9a7b581b4a805d1c78ba74bcb2f0c9caf55721d22eee36f73b877eab8ef3164da7342f666673c0dcbd8d3a1bb51c02d84499fe28d9223437544ccfeb64657c98e7f2263e8379c337aa7bd20aa7dfcfcc52cb3aa24804114c72fac0d81ee7b33d2887c0e3f00d4e122ee7b0a47ce4ebeb04188d0eff222e887227e641c9b7816a4a0917ddb293ec25bee14d005d1f331df3e3bca0fc1432ff7260788cbe514154796477f067682bfb79a61d5269063ab3259ca676dae9a62d729f45248efe742267b98e245426dead2833323ded8922fe2dec26797bd1034e72696c489c99e113d369c94ea428fc07d06da5b89fc77d3381a1e073fe94dba133816a066913ce88da38b6a7095dd520e8aacebc83712394ec1e955ae77dd9f45f900fbb50c5f54a7946150545cdc4c1ecfee6d1de31868c49c9748cd0d31dcf0b98f708a4962138f87fa2fd6f8f102c29c7afdd8b1b1f2cb31fcfdc9130fa8f729aa9645a1d284e0211c46636c7291e5f14331c5bc63798f684710bd5ff761872d14cad736e6f7a350605e08a700de41eaaa4eabb98dfef44731c15d6e2ec317282e12b71dea36cedf0dc1858f5c7e6ce55833d03fe149300d78f61625877cc72dde3078570d0a9011ba0d92762fbdc60e631cec26541cf67eed0bb033c15a2728c3b4f96eb130723932db47955fd7a791b9746f7bccb96fb98dd21b6776dd572fcea294ae81d325ad0b137629dad47b0cbea4cb27396f57437f995951954b97274b900a8d7ddbbb0f7c02357247e63064747801b2d8bcba88978d8d3a89fad725e604f1bd91eddd094601016b1fd3887239eb44986b3237a9a6fdcc25eb2171fe382978e75b7312d09f1e831ac41cb011601249cb55d3f61441039f6b2a8b524a7f0cd84f4cf5436f477812e61139e6a3f4717bff301450012adeed24c75492023320b430c4f95190b09783b93fb996bf3f0330b4c7afa997991d07831b343587dac8010be0971d52dd76e217e285af19420745cbbfaeb034a081a4c98fe382569c8475304ea3afca98efe413d3df77e185276f486c0468e76ee7ad573e41c723da0ad299f1e8b1530899c72a67b271a0d8ecdd0ee73283d9fc40cdd0a1aa0729526aa15b188f8349c1209a365a3daed3ed6a6e4e18f0c0f924ce7d48c13f362981fad82d4a9fceb2740d8840272ce8576ce7395d998ccce743682060144cd27ef8a6824539961f6bd2fc5e16f25211b301d6b3e62e77990a2b79c9c217a23053316427ae4852578c09f1f7ac060fe9f74931566cae98cb7196d5e28b6a48772233e66d2d707b098f72bb5c357973f8cef68dd5668152726a64ef967c626d105fc7185897294f1d1d79174efb5b37bbe77c3105e8a98d6b8a8ac26e889ef5801c314355264e29493e31694dd575a2b4a02c85baf0548bf4efdade64b2d048c720181b6fb27ad2c202aec6309afaf56977385a435ea16de2ca824c0cc02c39131d8251c103719760a9e9bf1c9a1d124b478b8b8643de9b39a03ec54654c783b72ff1c24987f76d0d72032093fa80cfaaa8c37854a93e3cf9ed6551471c4adc172bca20c24579d92da9d4d8afff3a4c7c0384ba48b5ad40925266b673d47c89d7268d5c08de2474db434d9cefd6062a56d22a0324ed32b0a81a82437171e92e472e38ed153d239e6ae26b992748b0c5ef342768b8e5c27167d80b926306144f27230991608c090eefed1ca50093b00d18a7889a4657c571f5ab730717e74ed657233e9605bcc70cd752e93bb9b2f8c76bec83981487f3a1723f9bd75be559864723e693588a24d192e4a4c6fe08a3ff430c0f5d06572682fd13c63b59cf1500b721a1e5295d8fb58aec68bdc39d4aca4dd391892e533e1af533e181b309db2c8726695839ebdf721c41eacb032ad7405d61dc1c390af830f766b51fa5b4829df72b06c8cca92f90e2c769cd7f8d77c345a1d68660caa87239b962e62aa962c5444526707a91c5858f277fa5cc1e02a216e0c474e5a866b6d1ef61fb2cf55d4f555735ab57235dbb9860f1134316b183d6c7a03fbe0a2d5a159d47d97572ba6b87282d78f620dbf7981ff57747bfacf72ed885ab85be32b301342b4f7d77a2d9f729096df54d703c122979cdb716377f423675ef83c72b2c5cf55dad540b01a3b58290b2c482432a22c5505a47ad432ab55a49124b3850d0f970a618cd4197b2672e1bbdc4716dad9907c97930b666f919e6f7dad6ecf34fc0811974be974c7d972f1a9c6a82ec42d45bad7c938207f05dbdac088d1fa04738fc6eff15df175ad34c2051201094733c7e9c65842997e51143e9e79cfd2618466af3ffc93daf57b4bfb5f86c19f231235143fce331bb2d81dcfda5cd3e5a973156ee0bfd3f8505a72b680442d3f34b233a2c9d38e7d2fc116021a3db7e4de7d9050a62978fb404c72e50de10962ce737eacf65d58d7c78089cbde2a3ed7787ba4a0dd71d39b246c72b3d80b2308af27beb19a66cfbc48d5e3b21773438a72c14a2695c9b9b4ced972a0ac640a1bea96673c7eaa46ae4b59deeb428501c122766404e22f274a1acb49b12e7092bbf428c3c8addbbe4c36d0bddf5a82c3b6f7361d08ae6294c916147211802ff57cf748a001f902a7553494a9ba57743bc82b8bdc618a46e7ce31327272d2955ddfb9ee3d385317821b42560e1d1cb0a55c5aa3c68ca980cf4a0579725d7d1b350c8eb57b5686aeddf8b234667d438344af05de602b043ac0d030c0421bedf52a664ff8cc9f2ac51baf8e874facbc4e07ec3a3624b0d5fad97dec74330fb5730fd772c59da3e14cb07ddff6a12b524c1ea84c509d482a23de542a7972938a9734dfc107b0320281c69b0a96f427e69e75f8b54a8bafab415301fb873c5d43bdf11ddc22b32442b9e3751899742c7d50032aacd1ce604db8f0e7d34c72f8ad6073c27919273db884459968ac220016f28a4fc176b00bd763358f419572577fae6eae9929211fcb296e55c41b82e7dae34f48aa888b70afffe9fd5dda72181e09000a7169aa0f6d4db654a897f024d96336c8c6272f8b117d20165b713aff9607f9480d4c9175c50ad24f9bbd0cbc6ba74003a104e05538026938e30b72aba6e597b9f55977d87a3b212b2dae810cdcc3e9c66fad3d99e2a80153e104727742e082d9f53d7fa48ccbf1a88dd39777f8cb09c30b58903f69855dd6693b72e22cbfccba9adf49320cd8f9a9790d9b59fbf8084d142e3f0188aca193618c6f3c851c89feab0cb7ef58de4a92ee8b25bac0e3ceca3fcd7d2b25a670654575266255798d33918506eada12d150b556b679e486ed4cbee39d9a20485135118c729e82099db29352f396af7d179944352ed10d8affbc90981782985ea5be7b00472bb823540be9275ff9926da3e5b932e2a4fd732b1e70eb6e332d189375ebca7271b5775d32cadeaa9dabb282022a4a1799144fbb31a007cca4e12e9b3b5138729a01c8169d758c7a8740104283709325d40364448998ca778342fc6193fb453a7d4b252325a10c6392a2e32603f3f2901688f69f85f765be46d47c9db11ea2068f9c5ad88f5d9620165fb257e9239846b1a2c7b2f11084663bb0d641a74ac7725dfed12127a6be2957dd00c392a0aad1435c261ed4edd97ddf41f13f6d0d3d32c82eb09bfff4807396e0045507a866d98bd864a1c6b6905c4c236a0df1929872bfa8ce1dc1bfc1933fa641fb3f63ea59166e66808f4ecc8548e9aff9f4307372810c434d2a2422a00426c237859645b94adc38d92b786cf19d64b85496206172a90981133b681bb34e45e79911cb5acde88e227c2e9742c866ce7f6d133d360da4444c6a7107dc8231d5762e710cffe69512156ce37f49d0243818feb8cb0172e615fc4c34bc6f95e03fe44019f4266beaf0aea6b7f148b58b01dd4955b39c6d2474058e4d5e3668c167d501ef08701e32ee5e5b00079c3fef72b97d54cced40d5c8eec46a2b973ec2f2f12908ed8440f04759d140797abd1e8ecbf311652e721fad2efd718273263300fa4e1203683af58669ae60d9b5c5112e7c5020962b37d5947ef8b4f6db4d7f923d8e59cc7ded71f86fac047b50ed4d81c025b85ded720bc0a95741134b73df5390b4c273a6b3bc3b7bd7cbe8f8f17dbf8dfcfcfdfe72e13b6089843cc712db68506d17d73aea3fa9fc1f72b05ee569210493acf50172170b3630b923135e42505579b3176a94676f38e012da818670736ab049a82872f461d4a475bd8ec1e39f7086511a303ceb81e185553f03c71003a3e2c98b9472bff6dc4613faf59d3f659a5dc4ed32b75339d99a2a2453a776ca0bf2bc50817278e93e0cf69fe56ba7865bb213e27dee026d98cade548d5c41eefd07c0d94d6f5a12988252a8291b25a347e282f875be511bbf524af9aac869e65fc0762d9a422dfc5baaa4e17382d307840b7ce4e558cad834322ee73e422a57b64a6b32cf12adb7117188ac858b7b979a264c3ece0c1d3ac38973ef1fa28b83cab796d9b672c69c9b61e2c60b8bfe02d1854ab480a56140cce05bc54bb115a1d901b52b6161327b61b700d1d6657fc64e5afd2ec682e99d9d2b35f4e045ec9e162b19e84e72f11c058c600d68ff4b9220948b19a1693def86efb56295f3028148b8ee976472811ef2611b7d9caddfa3ccf9c43adf267399e158b4be8b58d86fa4cdf117a05395a0bfc4f7c8430988ba02f05a8aabd11c9f163a0bd90df8bb92e9ef5ac0e12c569c339731cb62d509c4b665ccdfbcc23568778616586f536bf569ef90246c722632a8c9ca11d5d64eaf7f844a98c40c6315cff8799938f3835d34bb7791fe48cb8f658705e81149632307a00d9f42d92b7d53a98ce3e8fee370327380f422070dabc158d1adab29c1d738772b5be1825939e3701c7f5397f81b4ba82690090141a181a7eaa61bfd7ea947174061ba1b51fe98151ae46c92ba52e9518fc164071e729fbf1ec4ca2019d8537fe86b375c0eb699b3461bd0eb419b29a871de0372da9cc089dd13b429ddd65748c14f212476b6ecef6a86dab410f5b8889e2abc7210b3ee668906424a16eb38a1b60bca459c6ad3ed7e73542609c44aa7e2f35602f70b20fb8dc8289f298abc0ff053c659e53a2e97de4f309f7ca2a71341111b7266b45589d6f06d0dd68ab38b4a59e6e6d510afea599e3d7316c9306def180f724bdc938f38daa495ec4ba83524bce4b3fa70d502f92434ec51eb1ccdeb7f7d16291eecaa1c586849c1b9560e0b2e0faba3c2804be613a83ed2058b09eb9bb172a14223d703997f2a267339960fe711f1cdc9e84c38e63ade0098f7c68a802272d5e536c219f84d8ad44dce9c30a5f77dcd640d5b0240b5978898455d44ec0b72d14954a24a054b265990ad8fc6ec587acb1d0efa2669a1a79f464c955d2e694fa6c98455e09aae7817d60425ed02a823c9d722d8692b5b7e56271e5959a53272df158df39a803e49c0ce3b7fcf632cafb28041210f48c71f17330c9f0f750a03af193640f22e9f69f0657619b166b82a2b589470e7a3ea79806d2400163e213c80a1e651696127455a16d1204a1de067788e7552c8ce1bb7faf667aeb90cb861bad719111e296f4f7a1c844f1fd02e51c24327fd7f40ab5d006be0b459ea1872bdb75826ddf258046fa61f5af0c4264e9cc719cf3af71bd58567a4fdbbbe20721a8b93a4587fdb75f25ac2eb2e5292d05dcc722cb8237799de9a283f774e82721337c0d670e907b9f54b8a18392e2da07821708c6905a59f6d5c623ef525fd6e8c06e1b71248124c8370e8942ac114d3b43092d2f3e8e34b5b78d61690dabc729ebd4875fa4207b4fece8f7813c4dc74a75011fd72947314065d4493c87db872c7d3b2321ce6abed762eb2062b100267bd8873ff7c564adec36d3e94581c3c72306fae508962ca9b718771a8ad92ff946c6893a17500a91379bd39a5f239fc691bc3942a883e7f3e871e9aaf1cfcc77f165f92a6a71798980a48b5fd672bdc086eae46ff4138e5a7bef8d1b43397b500a8d346c1703678feba5cd1b3b041ef72fed12d43b78232d66ab9ce58a0aedfdb145528ccae6ef3951a28721dca4cc472a4375f3fed27630195d96290968562d2a1f437cf7f8acaf097cb336812185f72c11106ac2b2032b2f4a7dd6698e38114762517954aec3971fb9ce060622f82576b17868fbd7f05adf2d755ac4163c0292782715b8054f30b39ccec4e8516b85525ab492342cad8478714bee713861ead8bde6c8d631d83b3628b7ffc74fc54729865509b5674e1fba13de83bf4bb779ec2e21abda384854f19ea1cc17029504e5763bd2633b873f3a430510d320cd80ce68e879e1416b9b42e6c39c4c60a9f443ee333f6d2b5d13905ce9fe7f46db89c8de0ba793a1e1f02d923b4b70111e82479141b718bf881e5d447368e71b7478c81ffb2dace95a9aceb26afad64f5e76a2ec115c5c5629599622232642694bed6a65d9405ddbcbb7b758c3908a2fe5f71054600c1a7c12b9974ea4cc809e189b834a9ab2ccd675da5b223a6fa3d068e72b26742dfc72bb4aeb18f7e6e69a94b9f35f412ae0edbd3ad2cb3eb2cb9e6317208e302d8df0b06057bc75cae117d46221eda3ddadaead9002972d879be4a6509cefefae22837ccd42f462986bc9ac03fcec5749f61786b19a7b378e5e0d98c23d0b5ce90659ace57b0d12b3d86b76c07fb07c9a9fee4b527ce7de6b131f3cf72f710b97c5ee3e5a9faba2d0486614b6e08785da757c79e352c4d498db0a33972680bb7c2cd0483815b8c7fc8f1a50fe4875464b4b95d74a34d203597edd74c72f999e9a30428aa9417714cb75778891f83a60861b09dd905019ac0404cb64472a12f08f09caabd5ba82009169e172ea0f0aa6fa2a71afd84d14d0f46fa2caa3f0cfcbd36ae4807f719523e57d1b724b595b1d55268b5f14776937f4ffa67063b99de43ed2bb298e14ac0e25f5952cf51ee7cf9e50ea41d5e6317cfab3f67ab7205051ab35a4ff43fa690ad269ebee9e0873bb8579981804e19f839d363e706098285b3f5555be977b225d92b9cdc0cdd02a443162907b80c0afa86ab348d6672cdad22de3649be938cfb2b5347000505a0c6bbad3d8b59adcf59388a1a1ae80049a2be8509900eaeb6091ebe12f8247794a51cbc7f0b98a32bf1fd9358e7d57276636029adae10ee6debbf265263f4ac750eab0aef75b1af4b4201d127a2417236b7f3852b65730a87745276e65df428b89c37a8f370926ee3cd4fb8f7f9d26ffd7568a64fab695cb1541e42a3387d9e9df3c60fdc63247e2a05773c942492724a9fbaebf2c59290020a62062765b16c73451471911c8c1bb629e80094e2014a2cc4429b956895f1bae2d5e3ff2c5f8d948de4298f06abc23ab50731b63b4372ef5d7b9a41b38745a3e6db401e05de79b2ef3a45f8de0e91f26355855cf2c172a655b9c1078a61fb1a6bc8e71e5eeba92395492d41ce0afaf6b3e857c7577e22e5d7b740e2e746b77d9f733353179b28fd9c53ed54a376a3733efcced151e822cf8aa1e505204f4673304576889088a977e0780eb0d5ccec8dacc3671a025172636b58b23fd7f839155373e34c6618d694549c518697cfa38b8247ed4aa1a27223f58b930714fa266abdf4f23038bc47a1c33ef108b0492936352b9774182172cf9fe7bc292e3fa06f9d9813c1656a01c5793f550a6befa611fa04c07daa7e3e7c8a2a98f6163fb8e751da160327b2befdd98d9fb88bccacef7afbd75ebdd572214f65878e8f14455d8e7ce87ccdea3461060860c6635369f314df0c343c4f72f5aa361f77ec71251c38c97037fbd770307fe8d110a417c7f08059e31584a172d930b958c135ef8d6e64d5711697d588c2494f186d805de4c3cf810754947e4c1ca41355ad1141163ce1a784140065fa290403c73ee7798511bb459d756c3272102ae037b52aaafcec3a89d07fcde4a7f762af1647f2bb3ee31c66b0aa840f52760dbdf84d5d068b7a69823e5d20b30a5bd1392f1eb65d7d562c8ff5912ab46d5aa32e0359a97fc0a41d18d197d81dc47bba46cfea5534540c92346296d00772ec8eb62866cec0752127f3dfac7f478f55cc20f1e4293386514776c223b633722424aadaed6f63952b97d666ab2db2605c9bf2f8e394dab19a1031cf12d2e5271caa0769e89d575bca6ee0baf552a1a42c7431866d88d59edfdb13cb85a55b7298c839f8f8940e0a0f7875ee4a4deaa3f3483567cc78f93062ce00a68b49b37212610e27cef1ad0ccb355d7fe5b7d2dd0dd543389178d0e0d8464e8e85718941defeeb0e87b61cedbd5d3cbf6780fb52e15fccf8c824533bd457f49e410ebd72fa052ffcaaee0433e8659f7868d9aaf11fec0ad99a94435eeabe76add6988572110f8f940d13b51968519180a875672130b31408fd95963544dcd3741da2be72e89951a647fa343ad54ffe68a5e80e169f398196c5ec3a58a2a7dbc0fafbe2601e7e90b771b61d8434ef4b61435a3c1973cd3d3a6da3a1b4c6bc2f3b859bed72810947444b6ff603d59fcb3f397d3275643f519c522904089a63d4f12f32193361beb72d69fd070ae69475c728ddf48953d24118015bd343ca882af63dac6c728020941812183c8356926027e7940641fc1fc4d08ed7915f367e6bd4e785a661c27ef0399c806da8c7587bc78ee6e734818773b7b3549fac3b9900d6913b0c5214840b4c93bde3f35d4e2bcb678bb453f98055666f2f186a9ddee422e29db1652ff059dfb7b9f326ec2fb62cfe6fcd3ee75bab4b093624401bcd7610efe1a538c1c5f0addc2246a4bdadc7b50334e62473186cb994e123b6186a5c13357b3b46c0aaf532a6014e0dce370a9f48c11fcbd4fe5ae243ce2762e535c10e000b0572e2afc76d2f63b5c8cd8bb4eca70e231d9528dda427a58028b44d60767528bb60a9018eceeb4ff020e665e27bbebb3078a9cd9de2b4c1aa77baeb700ed942f472c06627300b20d75b0eb3309d754f6a2d35e5e6f4eb3e2f74fc56517cc254fc72e318de2f8ab8beb368c2877930b78569cf839d3646710e458a7bd7b4c5d157728ca298e3c2f1b7debf1bf125d5ff1ba7602baf8eaa2238c3c0b91a5abdfd77309d7c35c56261dcd7d245cb37981f01102aafa29fdc1bd5a66f85b8ec5e80d7726f3826259880a2ffe13dc85b9b5529dc1f2bc4b89baa2d6f7a4b711802c01c2b61ce615559a0b6cbadbb4574b613cf5d60bae0dabfe965ebdfaa29dce8f02e4dba4124b151781a96cf293706c88f456ae0ee7aadb54066bd3462594e29ff726428d386cc3ef2bffc9bd35af09f3eb3cb659e81f37ca90e7513fce2256bf69c72c75d50f6ec05aaee7ee44e771d2e138359c38bc330bd20832331d40c5bc3311d5dfa04e5de52846931b0c967c41c3d313a5f87a0a96841b2b8b18d00137fd40400bae66d2fdc995b91787d4573991d55599b57bb8a6dcff30f72fe56327521728f28c3d6c64645792a06e2fa5d7d6af4a71f29bd81599886da30b00de1fab072e5fae95a83caa315b38677ca8ab38aefc86317fd3c592dbc2a1a51fad09a603e4a88bfd00f8b8ed09684c84da2464e46155c719bf2376f54a9f91cabd88e7c4addbb8d098c2b47301c01021dd5586de7773d2aa5ef623f43ce7746347458a51b6bc5b35677ea63126ca7d63acdaf8d2b9b729a5f01e74686946aaf94c1c9ac656302aa43ff0892f7526e70ba90c183185275f5199bfce23879b8fbc4ee1bc9720699ad6aba9ddb1495182601a9815fa8764922a5a8f9d2c8c0c49d606b170872e07dffa28077aace7b97988232824abd07d6278a21cc8404616d7afeef323372ef8054c1c86c04672f1c4dc447befe1695ce1904ba14b8dfda19a85c26fca972a098bd407c11175fbd314db927bb9407437e945d0b156a9219d75990a6995607a9f7c061fbc9f55de4e733fb9cf29c7759960c633a1347898379629a0599ee3c1bf9d1767f418ea0f5c9e68c6c61a7e49d2e519300d84e2fb66261179dacf77297a659b5286cf9a26f1b1a68af53c5451b6a1d4398a2e22b84d0005c2364b772af13a1b56bd5d5e84867bc6adf4120112b3350c91554324682b9fb531a0e595040062754de977c20b11d4b84b3dbbdc36bb59cfae9ea4fce05977feb50ca0f29d1ea456f901fbff86b6a43378b330fb4cfc070ba1df8892d8a4317d46815611aa2b7ac7bb2be190422778f4fc80ea3085bbe754a1dd099cabb52e9cc1be3e072c29bae2340d3fb2c8c2b99cd65153a3f70ec36ffd1b39475eea84f2dd818bf72102390fa765a7cc1364072c47669e18e80dbaacb4bc642842bd1b7540de5eb725def74d765c928636791be216d9be206d4b1d77d17c59e8faf76ad626de05f324df308ce93d61e254fbd647a9d16ef0ffbe851ccff0974d0e0b94a86e7ba51725540641ada16c3454dc2e204afc4b123bd9a444a6ac6ac8976a3abaa02b4ea51249fe87249d95f6aa0acccb6b589e2fb8125b7c08312ad53b09309d69133340ea3893b9756cad769001a55e7ba4901a7a423880f737d72078aae45181d7fe4725b41bdde61a33f82c1644ca7cb27c7bce5c30557326d76e29929d5ea674bd272f5cea5dff0f6f67b93fce7274aaf04b5a9d985d9a9de2a3368024878772e0d728b22e20485c11980489f1a5b1694d9949ed046fc4da50c9c28029e181b13b454148a533ddd1c778a7aa8ce30d6ed9436e06c744438fc5820643025b6c10f6372a9b5cc6dcb88245d4024f45b2d4ccd013f924bcf46be2b372e26ea4d6b32234f5c4532df84e2820fc33d8ff0729e929c67bc6ea5d9136c6d2def28b37dd3b472764830168cf1db91d6abace94264e2347d49fe8756df511293b030a797ae555c5bf188720f9edd7e96d6381df9aa117e56cfecd81fa155a0aaa7c59177e1af72532abcf4602f2684fd1483fe9d582be7dc27c86d530edd7324296be385b86954d670e2e8be19591353a79097817f851a66ae0fc30da76c515837b1e884a0687250779e7a5ee7e9453b900b9df23c184786ad580a5c4b7fe06ef7e29d52df8e4e05e5ecc49804bb3f5d9eabee96040f039ce73afa8e6b3275e1210070578e0272e5fa9c29dde6e32760648ba9067dac57587f809030040ac82e6efb2f50afe1329e360aa715ba52331a223784751836646e3d347cb19d32a86c9a820d22130b7219d7bc2f24cac11bc66968644d9aacceca1e914e7ba24296c121ffc7c1e4fb72f3226e4f15117fffe08814d37d3ef0d0c7ea464571ad63a830ee80258b903d72ae831790d15024f562cd9f4b58de7bb253466a47dc1a5457f35d0cf91dc4a87257e7b9b07c421d82771a45c5005201506294018d627c893429d34712e53568721cdcb20ee09485459e8d0f2f6535c701f2d0cadda2e5e661ffe70ddc1eb41672b710e2821a3f634dcde320f3258e990950aa32dc7aa51d23dd831939d9d4b848a9c0b2b125af1db2c2c99fa2af546f2d5aca4f5f010a42ff30a3af38f5b257074b92623b54c5fd7a175c4e81ff24d365ea6d7e489adb2bca293a18676b3f15432fa3132b00c570f4cefc030ff83cc05fbdd5bc5b8f054c64b8a1fc29ce0618396daa3a55693904e8d11d8840928d8177de6c757605c10b512d7932df90d94c72b8326153dfd5ec369d1c0fe973c8de5593c37da398cdccb890946a6e61020a7202884f64b5017da0ce625610b68097f6a3c191a67b837c53e95910e3bba1567261fb3332c99205c87fc71d4cc2afd3414601164d1e52603dce7af3d46550c572a5f4147db96837724f8b5ebd063ecd6e1856913363f2616267709df22a47394e40a3d77c0e2c94831935bae657ea2394304a8c4cd614ba82d468d924d1632772c5a6ed1ca9a80958341b8e00dc1b755a38bcbcb199c3eff4f7af127e783a5a53685efca427faadc8b48b6ddcc90018de256b72fd01039cb50e97649277dfae641dd054f227cf19cd6063acfc6e293d4c400bafa333344db2489638496369d5727444df3899c224620074452d99f3706f405a3725a96885bc51a8d277d66bc143e0f81810980c5745c1b4237b84c1705d83a4c465d6dd84d0fc89180302ea7c7295b2cf87b7a3744bf34f0a969835d33610254b530f7cee00ff4f67e96ec63f72297fe39418604e7e14926f8da7c29b91f5ff28813a772b7c2c01a06b4da6ef3afe758258b70883f7135dc61081a0bf77f983f8b1dabb6f995c25698f9af3d3010cec96f875c9eecd22bb0b551c85697b42d8b1274943bfd403fc7e7f77437972726cef16ae176318e94b0c526f04f86f1c5983a4f5cefa16b6dafcf9195db172536c58a7bd6dc1cdac9de4e35c6345c002031030df2dcdf40e092e8b6163197201359d3e4dbae90a3728a4f8add58ccc00b703a611bd7776be4c123742eae21b6dcecc4ed662692f9bbedd24a9d7417bcdc6284d1dd805797d3ebe452430cb721dc1ce747bc4cce99c0d0c1dac7b3e5131bcf9c2b8f4ab40367a6c5997493c721765b00257c272ce4b04b0f9de5fa550d34e75e99f678d1d677d6ae4410f5a72d0780cdab52ca543592c5a9016f448629055711562b229de7f1e35aa656fd372cbf7088b8559c885afa93bd4ade17f2f7101ff006f386d530836053c66406b72791438d6c999c0e3d917ffff012e1d9a499e86a62a5a04b988599b445082324241c456e603adbc75670830a0912b6374a120ad38599e05206710df3e53147b72f1a8fa99989b564325b0e2d5bed6ce212707bb2ed9800b54a297b90d912dfe15fc724b424e1e78d7efd4820168c0c660fb876286877a592eeec767c95111ec1defe5301e0561afdbb4fe00b08eb567d6cc5c153c70210fe94e731b93f7b604722c4dce4510491492f8ccf6011fd6b3d8f59e6cb5fd8498b3b846b92f73d7563e2a1061020489044c1621e33fe319408b4452ccca1626b1971f940ea64282c372daea7a7e773456c09289ca25f61d1a60ed0351997897ea97b66e20e20174072ff01c3061ff7f781708ee8be75046095db23ead35b050a00e271438c275daee4f5c6376f58a26d7e6008c9c69ce31f555aab9a4ed8f0af4a3faee2e17ebb2a672017870784f3229ba0c1986fd434ae321605c5646fe6f6bb1b4d1f990b2650c7208eeaf9edb27c97930dfdc07e38cd1eac3a6db32b4b21b5c4ff582b5a73fcc723cc2cc02bdd26f203ee0172d355c1a00fa73459b890df3dba049769685f2a67211066c8d2da5e841532ebaad522e5e782dc0e00012b9ff52caa6594b4416484c2b1d5fede87d0055191db7b048fdc6bfc9ea123bb83d79b3671c041c734aaa729b91b57234bcb23e9aaa078bcdab03ab5937899c4ea0f7f0c7b369f3907c5d248f950bddac43a65c13371f4c4a2263e3c7f4fbf45f0aae9aea0df64b50922868a143eb8d433def28db98706e2ac9b5014bcb6a184bdecee193e5d53683670972b125e6dd4c87e32f26478071f101307871c3126d9f852ffef07a64119a38cb1dadfe64673da5eb37d816c2a5074607ee4ac6490305da9657797f12635a01b37283d78b9b5667807e1670c11f56c90e1a174aa2f98bc93a85dfca92a945340e7281d0c75f95c7e4e8d4630e65e95a135e058a9c48f0492de365b1e03259dd2772d400353c887222db08607dbff8a6986b029b6a93cb77ad3fabefeacb7dd80a5d3d927c2e7d5ad5b4dab9759da1ab026692c246bbf75b747c647eb65579a1da72bbcdd8bfcb60e211f0a0729ebc007f9f2039a62972d4e430e55ba24680c3d6729116b30777ab9dad71fe64ae49ba0a539f65d14a44c4f8e27b8b816d3be4a6727c3faf574cacff4364cc75b7f11c43e5a33bc3d20f60c444cf6ce023a9c29e463907e9d324e0d45f0f609cb4685d11aae6047602cbf46fd6af417eebae5a5772c1ddb41ce0de075eaebba238bcc2b41aa667faa752d925cabbc5b482ce39ea128d940c4a53f106c3988db5c21dbb216146f8afd2d39bd91d943867a6bfd9117280e85c75b27347565851187350a9c8c8e2145f4486dea9d6d3e3d3ffe20bad7215eebc99da3bcfa3ae7ee1d79e443c0764de7884fe4e63d48858b90c7e9c1b72bb362d0a823f950724817318d0d90fd1864bc0c28b2544c82e6aa87edebace5b7b3ddb368be06a4bb643b022b04a20eab7388e1efdda8c8c08e9f5b24df65d723f601f36334287458a67164417969a0d4f451b70e59dcfa76a30b78d3b8cf846583a34d83342546c720f60848df6aecd289f331d1e70aadd98505c38c7c45572c66891e1e3d674ccbed92d6b62f093116d8e5038e1e9b754671fbd268cae7c7202e3c0fb73e7dc23a5ea518b631c671937bc37a2b7a54f8a97cb9a867e8ede302ebf28b0f9d81282ebd5afd6e622ffbaec6bd8ca369d7396ef98c8cb5d899c01cd8ac152942419443ecde503198dfc23c4b2db0e1807e04bcb3e0ea1a60072182d4b13eef85aa05a99ed1a6cdafe01fbab998e74a6d933db00ca9c9363024972909238ebbee6cc63af3bbdec55069c79b206345b9f56d418e5137b63d3dc9b5a7a8e3248490afc94c1f30ecbd5c75595ce38adbf94ac8b98bf4188fbc8b9e37262414227c0e0a2136665b54ef0ba3e7ec59dbfcc159cf1704c78eb9237a74d72b3b2e9d966c2eb1f3ce87c9936ff4faab18cd070ab61e3901aebc06126a52a72de0c5beae873b6188ab347e0e13866f6be004bf96e514cd4c28df435477fdb2e6a31ecfacc509bfd4f49a1e84a591999a4679218c7d407f2e3da05bb8678c57273561e9e3e2924f2f45c0ab7ce792ab3ee61ac6fd534062bf9b19e5f4bcf332614407931e73c3a78d7adc9a86b6770968605279e3f3f1e4ee6642331889bc172b4eba56bc72e115de871b0e2fa9b090f08ab80e3f6ef241b8b9f400e3704db72e0392c7e3bb7af4bd2d99600bce20eab835f2a3e3404767cbdd44f5bcc2c3c72a3e739dd757727b9da946fcebed78affc1b84b31b331b1b397b2af1888e49e725fb09148dfe4deb038d2b16c30dfca6ca489398e34ba6d01857e1e496344680c0c1cdb198822b7bb47bc444b7bb50aeaf456dfc7ab7ff6f188ff79a22707444073229ef7ded4a707e1099ab5a49923c31d08b92dbe53a80c0ba9c4015ebf6c55d0971c13d1dc2506eab8973be288177a959babca0ed44f270835d4ced9087872e6b73c496fda9a20858fe09d394d6e68f6de76abe587829f554e1bad677ac4153341fb5c6c9276c938947f74465b9ee85819639831551da4105a22f94b6c7372d234da7c3b7c3c832700898cde306c4901baf866b3de0f57ea18afd4e849cf67cb49d249e00602045c364e15676e7bb34ef630608584c204d6f3936cb858077230397a5d7b15a327a99ba23ea7ce19dbe9fafeb1c72ec128239e876a487ffc64d37d6c6f9a16754825f0429a354714a86dfe70003ec59eb192873d843d071072f352818cd0026fe2e749f37bed4d07d65d5138c111112d9cfc2de02b9f41f772019fc72f542485084da8bcdae66c4e480d800aef04614ab7dffdb3f317c93368ab3bc26814012e1d8fa34671275110ff937d61e6e3edeb3f21198b49a3ed3c4f2bdb2da62d981cc108dcbc1b15c70eebbe02c02cf54cce41e19e99719d528772f53efc38eda9de6a24cc26d89bef8babd493c3a8542caeed3d4813c950d53e06ac4d0b5c7b10606fe582362ff1b0aabcf72dc98ee8d16e2b9072c189f4c78b399937edcfeb120b2f3412d6a5bbfbfdb97c2c9611e2769b208e294008736a7214181ef23e255bab962d2997fc79f308e697ae529152a8e0ced80a5717c8615d5e6361a0b174f738548693681fe1afb43af0f168f642491b061820813c9781bd3972aef3f3ebeed05fa12e5c63c34a07bbe5f974e0eabf59a7fe3412bdf19af5725de99e03cab2f3920bca96714ab924bf2962466dcf93eb1a14a3bc7e36948d72a79d5155bf1e47efee1591c79eb18e193812f1fac9fa5a4e7d5f98ceac37f072273f376432b9244ddb02e820fc4a4f3a032bdd96d35f665ce23edd3db87b1f0b06b8473e9a755924ccb51c25b55b2f1c4d596297d3cb79e1cbe8409586121072a71e6a53cb0dabbfcf9e06386018e45a5b33d9f34c729afd4bcaa5e3354acd5108ef82e89d8d625c7735c9d8dec76a41729a1bafc8ecbd3e9e513d31184fcc72579c7b1656f4d95fd01a0239cbc3c34dc084698df0e7200bacaf78aa577a275db33ddce394dfcf3fd5785aaf829ffc4643f7040e33d7db7d162760a68a59e5166bf2f416f72efefba84c796af87b881e99f361f9079437248ab78e7e2c6c2672c4e7850fdfdc2bfa5a6dc261ca271bf70a68b038e0b3a3b267f19f21b97e7f729e719065e18ed57b9234fde576737a012c8f3c95a68e5b9df7478d5ae44b715e8a9f78e2396751088a3e9415be7837a088c7fdc03cf91c526ded1bd8b258f772eb4871761ae6bd66cc392d0df662c7d691a0e5b1ae4daad00a4250014c02c92b2e978e60ef8cb846cb672ba3f6b3fad8dd270ea214845dde1ae338560fb93a08aa3a7d02be3d02a12fb918bf74ad42ed9096fb9425d7503f1de4fd8d4ccdb8722122ee3ad700ee5959116d8e857984c9794ac8ce69f13481128db2653892a8728b604c3ff1c9498ab364083186e4de8cf840a840186cfc1363889fee42f2757238ccfc52edc877cacabecfa65028932f4093ac2ad673b608e567e069620dde7291c6c4ad7ea0fd90c1444981dd1a29c9b9b333757897fc6897e3aa66ec9cf672d9c9e5f5a0bf632ebe955f403de0c6c6776de6858542919035e05496a3a09444a5fc525736035f132e5549d015176afb36a9aa520065e983d0607bc1f9254b16cf89e0fe337319decfd613cfbb95cfa2074cd890e6f092aac437058ca0822029dccf22d6563f3cccb20f1ddb947bb426a7d660acf80ce428bd0494f61a33bf72cccb37814f4b8d9556dade72534db9a918d10f4ecc52723e2e57ea0fc6bcf7725995238c6ee4e0af0da241faa8e54fbf429a94e8a776307b7fce40903271842d9107f3b2bf62d52254402eeafa417265ab962ea6eff46dd7afa7af7a3eb34831949363bd8389d08e9dabdf4bccbe68fe974663001c9d9af0b1e6308d0417340c1f53653a90f34fee393c4f769666d2a21af8d0aacc8898924e6e28eae76cb072b828382960f212bd61f9e9b74fcda8846bf3c8a59fc574e82bdd086fcb9ca20083d99f65e0a5bd9e87537ec3b585c68ff4bee0dda151a4013113967d6ea35d1310868fdbb5a12854c4e3b32191ee4bc7e6b47d62c53e569ba25fc48573f18c6c8e715c9a07c6849d40a05a70208c9848d90f75065d08619605379ac390879d7240331e04515d927fd2e33438a20d70df17e462c8560c542db2379e2ecfede072978bb40dc9d67043a0ac86b5cd8a458808ab924f22f38f2318644a9d78dd6113125f885bad4699d7d912b73fc6726a5d2b2818ea6cdc5bb1393471547671a64fd0330968b8ed76288ba51a653d396d1ad1ac0908f4e5542bc127ca722106d436fb3f6d18679b865285f9c07586a5db68b6cec64a857c3a0719fbda0d1a15f15764af3c2c186a8ea90515a9905ae5b89713e7af72232e51ee15c92bfac54a5872ff4407e7c71dec1627b66b6597e852149c2a9a51dfea7f69284f4911d1fcc7429a5d558578387fdf8ede9d61ea071aab45ba6ad64551cea4f59ff1e978963e675ecac30fa8ab91ea9e3a04765be66290d53087b8adc838be0f50674623839363b8cc3769bbb760ddf5b6bcee9ccc84b14dadfb08fc414066893b599f8dbb6f72a12c2f7ad343a2f2f8f64074544219eccf11580804cb45405f159aaa871c0d723b914ad7d6c7bb04905443655e6ac7e48d0bc18447c26ca14e8b817ef433c072a083e5967023df7629bd88b40a50d253d6f8540a903c047dc756f0353ab7c82c856ed1c9224e2515f70a83fa20aed278df1afb10f60197cea3db2a9b77c901400639bc98b56f284ef0c13be55584f9204bac849e32e700e72d359b7d59607c72e5c6963e3317fb5d2efbff8d69ff837d36165b2e1353edd09da67bf43c99bb5c2392e3e77a914e34ef83a70bdfd41179e9ab3c8b99699d617a0ced55356795724d3268472b25d7ae600152b82e53d8d7fc86a60d48cd9d294b572b936a1a1516eab125a0bb8896371040ad93155a9ba3e906da5a8fa0d833bcfbe96d7b915d2c2be64cb9df0f95f572308fb04709f55bff5955e3117fe26b795ef54168083536d9a1c30b3a9482ba301b2fbbc5ab7e80e15b3e36719f50c5a393d3113ec79c135b722ffaff81f08707556afe9eef8ac9424a6fed71a7ad62b9d22ef8d31c89680a24a096c909ae073e7094a969ea2ac7d4da196f596b7b2249b88bd77f58977237c672d7403766971595fe2fe8af95dfb1718b1a88f824de514038647598c026720506ec3debc6d262ed7bfcec933cff2c3e67fe0db94f0b1d6aac66173476724b50705e218496b09895470627c53bdadda07a8f627ecc1b783eb1a2babc1c72b44d5bdb3761c24d44ea68933dd164ad0c171cab83cd4e1ca0063905406541727bfe2970e92966da044b952c2cf9c4a4a5fedb384c9fad2f36957ac000353172af72872e869626a9733636ec33d7cd12c3b867b26f3867aa8e08c43370605d531a8db51fca1a8bfaff62fc95e7127356613c521810d34581686290c51632767278d1787c66d8082696b8eb31410cbf0831dcd237671ed2bfbff80af393a30172409667e30eb8f0a610df41e94a3f2b7aacf7592a2f9eb7659e3664bbc9a8cf72fbdf4d64be7cb0608ab509a70e8c51b4c99fdd4f1e33dd36bb8459bb6a841d726a1b683ea92e3a21cf50e0d14e94d7c00d7bb37a8dfb2b654b082d611afc8672bb558368dbbe04e56e41d0eb64c0a62cdd6320ab5abbef11eea9722fa8501659352c770e5539b9599a07871dd8bcf6ba3d6ac63a2e2a5c514386cc595d83d37201e09377ce75d59dc896a281ab045c03d56c737ef3bc6b711bdeb74a36e63f6184c446d78a07a8b67a2acc5ae12495c44ce6b4bcb403bc911cc44e016acba9725b922e3f7e7454b04ed2c975eeba89f86c3b8c274b4bc2333f4b54ab4f99d172096a5646683015bc666b34ae743a90d8ccb1adb7820f79e606d691633a4c69276505591632cea34d6346c6ce7e5b14571799af62b7af490ae5ae604e74400419e0c1426f694759f78eb04aa9356042bc4796ccab323310c0e3122bc9a15f7f72161f2845f8006423873805862db2bdb5daf95c64e30597264742f170b2c16e398cdb266030f7441afc65840cad89ccfa275e6d187b10c048d43dca13b14c2e72951d310a6afdd259e9abe010d71f8889a538beddea92b343e8c4459df47cc2524ce2da59e4e9605ff45f948de06b194ae7a55d9ed4b4b608bd66ad0d2eb0e67246a9dcad2a4b8ca93cfc2a2e64096aa2210f658017777f6c3f54ecd942cbaa72d89b681d05a4ee43e717c6862aace269c703e5ad5213191292249be05d54e4057e09e882d232790679014bbc70626a73ab6ca116c40862a21f9c152a3845d9727a4afc8e05a718ae1909157a2df89eb51e5da6b4c454142dde7d7cd94529e82567a2c088fd0ab3ea106e733eda5da91a1dd61a3fba5ccf3ec992e3a7d9c17815a87f57436b32f2b64f48fffc572404c91d2d3d6af4e169fab1aa8a00899dcc7236f473ac69c010bdc8c1c759589aeffd2b949ea227e5e056b533f3ef222f674e0d7201218deb227e35bcfaf0354b09e755f5d864750a761c2b5fde2c402ec04d937ef200720797afd26e795017901bcbecd91f6701213705f76d84b1e4ea3e7234efe55587784e0389821a6176beb7f5e0b81acf6caed739ba67c88c2ca14005f544873938574270bf23866b56eea31e307aa389885284fb59aee83f37527c7220ce9057dec94436f4a2796bb9166819f3b5a51ec80f16b423d003b827ace0269747b7e6ad8b22644a7f901abbcfb2e9883ec6435f98fe94ddf9673bb5d899507b07d4cf4586ddac39a0804af29f41dab0a2c1bb8607191111125130e84a275c297d5f68f6b47bc60f7292b9b9d3176cb108ce8f9b9925b7a5d8d68fe8b6bf724ce0f40fc612b3d3c5bd6d05e29d5529bfea093606fca353b7fa612ae9b54572fef6076beef92d805713ba68be92b1b18b2f7d5ec4198b9b85c61cec3216c46dbdd753926195e07680f7568ac25d7bb3670d3ebb77cb566fbd11705f3b4ca5720793cfb82923ced1959a3ac43b4f9ba8dda89cea0a7c284bcc034c795e7b7572845ff9f95df0586311dadf23b06dd9f144c9571c808a4add459d30e5f814e00a30a5f99bc60b35c4fb4829b1c007dec87428b74b2e25290fe7fe8bda13b69242d95b591b377d2eefec2bc65010941d564e7c6abf14a05df7db0c69bbce5eeb72d31b014ec61457eeaf81d92c6fa9d985081ae4a496df9676cb1d657c57987d725a4544f734719a24b1e7204ad4fadcb0d6147e5f99af56d313337c7f0f564572e859cadfb430b8f3db5ed42a42ca6526534db27f0e5c6ad3570ede0511b23a46b63420700fda9ba4abbb808cc4b0852c4260a9169ccf2ced4f7b16e7c7ff4872ae62111addd19ca33ae2d768e9de289b711f75c094db9cf8e16882f792f247085e19c84a6f1d9dca5ef34d2dc2b9c8b36c08576f8877977edb72f466555e9372ee7055a6cc9eda2f629236250f4dc7b62475b97aaac01c5715bdf0e36d8f51726890eb8c0dac786ff167066612d75234f74055e0868cdcb125802759855931336e9ec67bcbdccb5293600405dded3d7eb03a6e2f8f69e31c1b73eea888ecfe723504f3212896d018fda7b7e10b9fcced915e049b431b6e01320dbf4c21e89d72616c50ee993392fea81f3b6ec89cc3a5d427d61013b44f5b53d843e3ee8ea24ab2151b6fe54e3e8b03db7ad1ae488b4bf7b3d3841226c0d2e3d2941f4a9a434bffd97d84edd84cec02a8f027c4805107bfc878b5b84e51dc357fbccff9426a64ad0ae646badc9128e3a99f06f7a2586581daaeb4f8b423a6cfe9ac27a030e3723146d87adbbf66679fcf913045df05bb38940cfaed9bda51deb08a79845fc372086b0b2dd297308bf799e93f5fb65821bbc8bbeec473559bb46047c568d707355a4189dd11ba9ba4a208328abf54be8b4889fc408b8352f248c47c16f3e81b72dea9970edae226d04eb0500fb5b8fce83abcc1d90ae01b56f385d4d2ba47d3723b3b8165e9f8febac8c81a3a0ca0514a5d0f31c125d94f0025d87e716c609c7214152894a138f118f34786573132118bce3c797594ed8e758b328ab4d70e6a13b22b9481a72809c5bf8e1b3957a5039228677a04a74111ccd5dfc99af7dbe15462c86b6134b737e83e7eeffa758ddcbdfcc477d41cefb0db47e7c4756507ca720ac4d7795fb01f58d540ee3310eb15e37b416fc898243b9046f06cd299f7566be0359fed545bbba5532121996df66232801f94ccd67acf9dec86829e59f714723dd8b2088fb831b44318b6bf3674b96fbbfb266511e127744154529da0262c72444e39fecf833fdbf515aeb8a7511dbf5e6a304f56b8b977e0138f89c5edf55e71d0a0c9b302f5eb53a2590ff963db7c243b4aa5c7318c01d25cd976b493a412cbc30a1592bd1d264f3c6b26e89ba30de276faed2602d9a9398504c35bdc4b7218c03d07662292c21bf95d56dcb7474eae0ec8c0daedf397a6f0f20cb555cc47915bd3b46dc3bc6054093584295635642455efa50fc56bbda3358c605f8947727e8e15b9ec0749de6fcc0a421068c2267191b7f645556a2c53b40d9e40b672721cc6f7883cf89fdac17e471796d833c4ab10726821ef2fe308ff0b7fe2830272b16a102aa163e24ba9fa9e344bedea8458c35b580caa476eb214437f9afada48ff656785ea4236995b0b5abb72747a38eca5e3d0ec67e36e9b1cf851c2f262723683e8f5176cf6c4ab6daade9c3387f729b96f4166f10cef342e974bd045e00ae1777abf527703aa92d23a453d4d644915662c8615aa74fe47e1b60ce37d5d72b668a5ede92955baea6d929da273d42ee5b961f21ec57e11f72271192512257220e43dcde0567f53a9e72442d6f63ca68dffb3449c0f95c6f91606ada906c172008ce9b326118453d7f3e52748415e6a87f067be3e10bc1d0f2156209138623ac6cd08da1419a640bfe693064e7be45e582daf0b2561ca89f55177e98fa03e4f2f176fb707ad7990c160ac17cf7610dbbbcb0761c3e3886aec6d272af4730472ddb9e2291abf356eb365d5eb913ca74fc925a79561a5581109329d0b19670972503c000f632abd9e73c7684ba8386ac96bcbbe31978327dd6e22adaa8bf0951588ce567892c04cdd7f9e8c0b691854d35140e48b1632cdbec1f316eddddee75cfc9f141570508c69aa9f46a94a5de30537374c81efd76d571d2a40aca926b77257f1fd91f82e023cd4cc168ce64ab3ab18cb1ec27bd42d5c6ae8033c914c9172cc96dddf6257693fbb130d6bb8caf833e29a5f58b117b0246cc48619621c5b7218957b6c27002c0d2b1049d1518aac86e3b8492a918d9fe0ff820db13a05d97255ece0a0b72869c6a53b0d74039162769cf0188e675cf5caca53e38f03f8a067d037e8cd8202782ca6c2237e0a44fdc28bd94ae8ea769b8c276a68f99c00c672c9be97a090310e41bb293ba870e3f02d91a91cd02d20edf3fc4854364925410e7a519e2e95da67a75c7883ce5ce0a807462c2c18578ac0ec15bdce03148e5872b0c6fe57520482c87f4fec026f097fa50e9d66025a8f980d98d783af7e9ff5725dd1f552c61073e311585c14fd9e11b548519d9d8f2decae1a8472414a5608661991f505f3223c867bbf3be4fbc7a5686a27058725513f6959e14ad3135da372fb83a4739604f1852e5582da646f20ef686daac616b94cd42b37f7d7506082725650551073a914be9c65a7b9b5723e20d4b48a50603c349e24e5b22d92b1c45be0a9e56f3e9e8ad2b59281995d3da508d5a166ad20054b5de50666c4dc2c09239d34a12f38e1914f4f2c916b0746fab3f97b593dbfdfa32eaf25e012662de024c8629bced452e4e9524b4f299abffd5b6f14ffe2395344b63f858168670b9072d035a9bdaf3ee9edba274b94f1f82796486c7a81a339f1688fdc82396810377221956af1f4e33df7f6db1fc6260e35e1f139280a1e16bde989d3417d30ec4272507bf3561a6e7d97a4a00ba27d63549365e4e239dbfd3b0fb8410519541a306120ddbe413743740aaf45f1a47d3504a746f4794da18bd69d255a0df97301b752d06c0170cc40cf649db273e1ac64c4005233b1658232a09b37a85d04c6186e7236cf07fd238d214b27137b16bb6c412f85dddcb8c1bc95644316ff669069f33358578b112fbf5b53c212541c450cd5fb8dc6ff0bb274a89e9c7c9be7f2e6f441fef0ab139b902ba102ca6eb8b3555d6a12b2fc1a23763f5283d9c352bbb0f572db8fbbd4c4356b0322e9b7b9b044df9c3953f1690b050fe9498845ba82d730721f9272ca9dd6144b9429b4da5594612182aa596a04fb4b8fd65f8f72c2c2ef725fe5ee95b535ddf7923790b76e75bbbbffc20e7b659ca01509d6cf824870d0722bfedcc2397bc192e292aad8b608c9d5ca6cb139e92768bf8bd37ede9c2a0b72f9b808b29058d9693c199f356304a88b4a48e78203c6f9e575a4518784db127200bb2730d7b5f630893d0e7c7fc41ed7e95b2cb63ab681693cbd98f0f3233f23dd55b1206e83990ceb21ab60d3128c7e7dd0057539fd9be629c1aea2c6364022665145ee590d58b05e9e7f14f656c60fd48264a7e8c24482036c52309379e972f4848e7b68a1eb828b14a33e761c0cbd7db26b563c69d1c7eba59d6df732b5671620083b179d7a2bb43e42b197055b5dd9798362f33f5243dfdebe062f35c672449296d91547d752480d1c08e879d692abdbe171fa0ff0c1062a332254bd07728cec1463551d36016025d2e7500c5be0f2f62c0394a23618797bcd5d7b75dd0ec06efa6110d830d89e4bff553cc6dde723844e1948c3ca745bf56366d7c993724bac62661cfdd277d52d55094e560e11779bde586ff7be6b7f24bb4c29a16c0198cb80c8b183ca4fbdc9b19ea55bf36a9a6deb4edd86bafa97918abdff70422c5445221e402a898543d703969fba609744072aba857a1732f092714ba5319e72e6bd84df6bf4a1fc2799655fca04ea203655a6f9d24e08a73f06fce5d3dfba7224fdb932bed5ff1749eb0fca000015c0a0c02c66832aa796f7329b3fec280172a0042f32e50e2fe63fb9e40ddd3c88ad5485c9566dc9d20d41ec569c46fd021ad7d4ea0584b12648aa47bf5458df8bac5b59b30a6af3ce6e187e94e33115bc27c46a03e980193cd62acd51722b6509b98df9f0e944f522ad44b99b98d42cd37268967d805710d13b0d2539cbb03ef40162b5be3b1cc359ec680c0ffa0d79dd397baf6ed84bea004c7d5342ea71f005358aa720a37b44f8c866377d40d83c97726b75234fd113e1218ec7c0a34bfe1a86ad8598c293e842cc5ceb81a2d226884a33427ed423e6a3b71b9fb3828f2b557d006b90865fe7b60e50e1431610f51209a82137a2b8a948b6d26b5d38749d6a64345477af060050a748104ccfc68c5872aef9bc5339fcc46fec153f6c3b25f5a49e7bfebeffd84129dfdf236155ee3c5e8d566d551771389f1275ed1e6a8bf24d864d37f1d5041c1797383f3f47cead62a0d18f325ec5420c1bf4eaf4151fc8112f0fb53a477f759da6fcd1f01e686216b4eb839b063d03e1d9d77d3a95fcf06d0632f7be36a9e7d5e309e45cf6cbc072f1671192725056260c25f05c28608899c890b600ce1f188520735d299be6c672966b140e3ad99a7dcae407ace1216512f30730d1f7747127cd9adde8f753a61bdc1fae8d99a42aa34b6e998e5d9911f650a74095aa33323bdc9b1af07ee9f072dc050fdfb444b83dcc6086fbec38ac46d00087407e5d2bd6e4636034c932605d0c86e9ff1f63bd6ab11601fdee1df32a8fe61c044880ca831d96157bdebeb67263128ef8f2ac9f9053c649ef2495aeb0ff0235eccef82912ec8d2f4021384d72a4c49b587662df91e265525f0c1e7d68895a3deb784e90d509c2bb000eb04e727e68a81615872c6560c42c318efe4da9724a0445ac6697e0fe76cf1070f8035b8906db5ffdf932a607c554e1c3725fe31b0aaf0fa16e5d8db14cb869b5dfcc72c5cbbae6765e3037b13fb942b7cbc11ccf8481a9dc4930ee2526910908d860725d26b0f39f56e5d163785376cab69a0e71601522ff3205cb21599beae8bee9723267999202f3fd9e7c309b9f0ba630ee98d3ba6b30b5584b70b0658374d5a36a60e13361d9ae9243553b22a06ea2f715858b54ab9dede0e9b39e1124661062042e71bdfba83650a84e8ce00d991c3a64330d78bdcd8dc8d8add717e810c63339deaf2b4c8ad9242ddf4ea387730927eda039a87f04e51184afac8d317ea1b57272e69f3c17e96d459c30f053c73d738bb898903caab70017a7a0935983624772e0fd1a5a1e42a41df7f68a080f624265ee413d8e27ed98a22f254fd8974e351db4de9eec05f508bd601ddbdbf416d004c86f9f9bb87aeff2a8bfa703fb89ad724d2c3388ebd7ad41bcb24519a7e272d956d67a32c5b6e7f6ce0148bfb19643721b266658dd7148073b8107d788074b3d879b074df4801d4f01dea44be7354372ec327a2164bb1c8c7b961fd1806964d8e75902d1e1fcec4289bc025aebe76d721bd660a4e5dfaa83455c86a2b481ae4afcafe5d103d52df20d4a396de2f2cc72b04200970d1d6e54d76791087b56a50ec2a09e18da8b993ee3f605f931c1eb3f8d53f479c12a42557560bd485f51b0970d424b8fc8e2d3a6ff6ec40d223a3d72bcf08abf56909192d373cba462ecfbf776256a9c8f817709f67fa9e8584aa9723c6632c254f2892bb57ce77d46575ee423856814dcb50583db4f75ec62e80a72e8bef238e193c7d430161d904167449afc6b37ffa6b1e6b127a9fd777b77466d490b8ac142828ec563c10089707232110c915438826b181b52ad6389b7d1723875244af29b2b47329ebbf777b0aabf336202c2627652e4baf060bcfc08f1fc587522aa8fae7a5104dea745cf8fbb4488b8e222e035a99f6048b5bb2ed5ab65572f9414448d319bdb2091a6165691b41c6636e2d2b8a3b5f21dc1fcc6f3a1bc7223e1e90ace17804250d610571c1a7d85814de7277045b0effa8e71971843a668679f2d6594a23a6c341e5e3e78a043a8ab0b062c9abd9996c8c89319679c0172c8e6726f536e580df44ee9af62d7b091fd0b9f4ef66ad54614f726a9229fb2724920f0ad583a6c3d84b1b1342ebc20c4b0d715e7a9c37d4fa5826c20e17ec34fa2ed49ecc33ad66f7699da09446a2d16dcf4d2366b352c177ad2f426523bc172728888f4d107978d57957dbe79c2de2c4c9989c70fa7abd34fb25755f82baa081f59535d604434310f4431b61f919ecb483d7c54da9cc2e330bbb2892a264e721ec54961269c907f2e6aaffb9a6d82380c214eb813a32e565dbf3b8ef383e7477ab619a2b920e7769699c6cf9d238c4f88b5f994462616cf0a4e7e8b4fcf661d07c4b8c3a6c60017701f3d6c05c714eadafe43215f207cd636f740c3d0d5d1724437d8bc26e0dd0dad24ec2a8b7ee11e991a2038559b0b98b4de402217beb34e4642a5eb6640f8bbdd419ece0e99cee0cc5bee3146cc244952ab5c5f6f3e3251bd52911cc34a4e45143c1f1d143535db5661ee0cd49260e1431b6b28cfb0fe2ba4c1b4c7929341797ccc2315d66862b44abb8e48cb1952cf8c944adf61f0df72a2b428825f5389fd8d1894f3f3fe4f026ba73be8c7f145d22f1fde3b1c52585d1d8c77e6004a87ae7ca3a40a6a98474740ff2dcd54c9f6b934f95361896672722a087406f4d49613a21d03ff79c5ff982cd5d31e1e0c854861261b4822fafc72b3fecd84436d82589d4db635c010a024bd992835028153b94d8e074bffddcc72d9e58558ffa45d6b57f0cb6a84148654d6275687c5850d62d5932ae443b234016b430944ff0f49f025ab92dbf996051eca39a630ff8bfb545a2c6726798f3c488da32ef1891554260e6489c2f4c67b4e5ae27175281469d9554ebabd7bc01242d692cf22574e983585628e270d4a7bf9f8c04dc825b26ebabae5486a2fb509301330458a8fd7c7c4e0759d08f3e5fadd98ce3c6ad25aa87fccf85127ee2512722c23b105ab270b37f6f82bf82cc371d0a0bbc6199fbee91a8877302928bd1a3f75efddaafadb247ddfa310a0c3f65f823e1586891981870216fb1f784944d703d6b7d1ce9481da8ed319745bd1e7689328110607faba9f771bf6046958b40a06abdc0739b42e299661abdaa663ea7ec4711a92f0ef38c3bb8b3ca754aebe4d593a576c8ba0079e86b52e798532a1893efd26b6098c9134ce675744ad88cbb84f0b5d7fe413171cb76f211420ddfb7cc6130d4e7543b8bc2bbd96997d8259641993b41c56cc0645117c4b2067e76e63d8bc90d521f9a20bed2777b6565cb71e725359b3bf630839e56d22427e5f5167fe01a8b231ad9765df13f685441f797a110362659cb4fa1db421316c7f67f191c3c1318b41a14313e9464a2b1b4f025c72683d4fb7d124fd970ff125591424499b5047b09df96d9381123794d486c56f523a76b030d5596c0803d480260ce77e0478ee62bdf65eec53463531757478377296de64360feddcb914143f6cbdc9539b0fc2ff39af425a0366ed45314531cb728742fb87346db72a37e562f159c9a52789ba47ebbb684e5d28ba862b2632b41a61b56da84b844def5c49fbd48a1dbfe9427d41f813574e4333a4d2a3f74da0095ef6f5f0f0e6d74da2ff8b491ad56a8d1d76636e13eb65cbe013219389e57323ba3071b8b35a4e811a307fffbc8f562bb29181ecb66447c8182ab626bfafab7244188fd40b74d6f21ca9641b16deff017a3bec9d0d4633633b95387fda3f287231023450ee1e89e7395e9a1dfeea321578bc70e520b03e62d77cc0e344f5303b20f1cf1677ab4bd763b65d7e48a9be1db1894c6ae828256c9b7f6d2dc3a2866a1609dc3c3aa8d756f0ee76ddea38454043d5f21f31db67975388c17ec82d92729205e014742467cc82d38a4289ded5fb208d736f8dd1a4e4f8fcd79e31a94d72b070fab7939e05f2666062be25cb98e735090c116e6a2397a7ec4369c1680872ac2df84db0d616e505896cdf63e6af115306c6897883f53c02dfee0293153672b60b07a089a12ef244db9df34f1586f50d95c44154714257f8e0db797a788f7247ac59d9b0539ad42663a5fdae8c1e45a4acd7b00ae68de2e3cdc0277521ae729b9d92ab8926e7ea634eeff6edd52293cad7012a77edef6f990216c9e93495725b68a51b4ee93057a1b6e2e0b43d41ba2d9c5e860b12c08ca42ccf583ef9cd72cc100946e7138f10c33fbe1cb1974d7b08ed2a16591a2ed4a74d1dc01636fa722567a1510e68609ac5314282d55481c2d121532cbfa10cd93d6b1b19729a02720540cbf456c2a830dc04cfe56973c6f6a767cdb3a2622126dfdf616828edc221c92d18bf804deb43a223e114410c6c40875001e42ec64e9a929883b07ac3fa0f336b090ca59bb7acae55298f30ab9a78d8895d3271e84748500efa5149faa47283662e8740c735eb72232cfec812099ef552091a1003941d0760a0689679286977c2e689ca1a3bfcfc20811f7fad6baa8203b42db77b1e0e96dd42ef1fa04c72adb865e463bb653d4054eb10a14d9779045da714f94ea999ee74bf91217c2c726554b46dd78fca184dfd965d4e5f31ab173a6739a9a4472fce45a401f3d19b72130344b8f96134c35eec17720151542cef270725450d389059b5e3e360045750bce68d041c354f0b0988d978b1332ed7ae7dea8dd3baa1271dfcdc8150588c726a7d94e029bd3c56cfeb32feaa1b128e7a899a7e2b74bdc0ff59b99f63fb647252ec57f7b0ff47b41f407c7ca7c050e092a83f18aa36ccce11be117be09a2372a746cf586aeca4cbb5cea4457b55002fd3dc89ae792234b0f43565e5faa31e7259c0863f11b9627651ba691a914b580d2d8009b72a6fa3818c784ea67c5a532a3985491ddf6035064c28d77569619f57559853d22d66cb7b286e6160e8b42172e3474739cbad61e7e181accf5551227200f16aa239bdfafc4dd0de48d478bc5467c287c997ddc24a759389e10cbb2a623f8a0ae945ee0e3bb4b6eedf4e4dc872b28568bf8a1aa18e3b769d2a58a9e79e400d555c7aeaec24787a973f55977c72138620ef48de69b82d2b5afde423b5ee3bdbb4375f05f1d3f02851ef17773a724dfd5bd53c96d757884c0cf57f566e79797928cf6dcabafecc9643f7ef0ae65025bdbb6abf3f7859d4da13d94df2df82add7b476f12b3baab414104a0ae1d572f8c5535268b8585d3c890bead57d9363074029b50318f909306508dd25ef3a72bb4174cb22bde07c8b713662c92a9f20d8388bc0c173831596f7af03e1f8ba7241610098ec668efa8225ab13f3ef708e8635f149283d7c6934fa2c9c73234a72194c531bb891422d5a00b02534ecc8ceef3c5ec729ece9030dec0519e394537295aa027752363af309aee71341f66ade6f974cd69a6a5efffe1ac64add03087230cfe191eef8efc84f962f8307cdcff9fc9059e805f8708cc18940e1a02817725ea6f4040178969909455bdeb6d0c87ad5a36c86bbaa790cb72a707d15ff5a72ab541727081f2e3302146d4a564572dcb5de9d46c95ba2ab63425d5ac5861372021cedeed2812621a0980bb9784d12cfeb8b657006165c8e50b6dad061baf73b36bd20f3a2760b27dbb44b12c359f29df1ec83433b8cbbf25dadc9fd05f9cb6777f0bec6e3599c8e088ceb5048fc76fc9bb2e2dd74c55bbdea2b869aca3ee972702069a441f6a2e09e6e742225c11a750ea2fcbbf1030dbcdc72445d6d5ed972bb1cf50e1815924ebf9947fe8f010de5cf62767d6104cd1c47766c8ab3b4e072db9b5e6aa7136b476586b011e99ca1ac53117e678f161b8a8b03cdba2003ad10693b4970b6286690f90d81e8709baed3b11dfa775589fa14cb18cd30085afc7265f18728fa229c7cf756942e1dd39adfc997ff731f4430064995a8ac92a19c72197ef49a533726b9556ae7cbd2c2b8100d61f704e68c9bc36dc0d13b74b0a572a2087f9e85e4f0630f4a7145bb968badedc688414514be3f8b1da114616d824e58c2668b6ea0654125e9e45daef17bd1bd8f83051feab92c217302c6b4c32b721d13de093d701550640c51884f4d58df67797a674e2c379b8ea8712ea0d72f7225646ca4478ebd361e7adef7d4c3a18356b94f5a6cf97edd5900dd6e1b1cd672ddfd667a724e0ab2076a568c7e15768785f218a13f9619e7e38a5a5f229f9c6a3ce16b21f4304be10a35df663cf2e343e7e0c460701978640f15f0055781467223251843ff3fd4c783393928edb7dc509b4c507c4630ac944e1cee1344239819ec6f4969728188138a09f3998008487e4bc1a8c3f5f203f577896fd90714457283704b55847067e83b0b4dc233b407cf0ea0c6425284b2ac07d1a6d1c313b544bdc69fd1dd3841d97eba4ba637c15f28ef1e3e9bc72fd0b985f10653ceaf24720c6741eafb85f5c2ee8b7243c5918122ca6ebf3a3b343a746439410217361672819de6cddc5aa2c2afdec4a543fe2545ea517450284ab714543e3743228198689ed0f9a00ecf490112ce7e67e55873725c4fb07ea5dad7d2814c28406f8474721493c3e2a95a01060774bdf312060c8fc6c799a1b2ebcaea9dd16092fd13763267a09d5e304ac31772b3519b84209ffe6bb2091ab003668181e0b236abddd14e04fdc2b52b6f00d3fb9d3bf85191532563aff342bcd041fa33adeac63f3d2372d8b20198caf6cd460ef0b181347e6f013151125ed15af31444510b3bb2ba0c7213bb3bdfe190a4ca1de3101e1f7e18c3d7b3402b7bd5c41101a3636e4857ec72e3423be2f17a7b370a6cd7e9ecb525b98f94abdaf4c4ba84038e92cce2d40a2b74bdfff259d2455c5c4ddcd162c59238ebafca7563d69688f1f1577818d7354bbf57619926381fab894fd80241a991732adfaf1438b3961424607081d79c3c72e3e6d6acbc68b93fe2cbd63c6cd3e411de651c979b1e03d5619993ac0c858872808725cd7d36da52dbbf6209acc37df26e599fa609015a0392fa426b3b1e9172ac8e3e106163d4ede7d9796b22426e69d15a9f9c08ae96f2e937ca9bffe9fe1c3f4f14d91cd6921e241452f13e0e497d228493ea83eedd308d5afb6f5f895a723769c55bae6acad941df900ea7ce55833152d306e711fe08fdd1636fb332b800e7dcddb8af22bcb11f1010d8909145ccbcd642fcfcc68a67af92f68b9bdb77728448a3ceb741b034bcf8cdf3615221a8e826d48910c633b8323352a6a7606c72b88ee489c309b66f86e54524239cf16598bcff1ae55625bace9d2e32c6289027ce3f473ebc06e90a7b01a1d1bcae2dec7a226d2dd643bed320a2b4d13b3c2172547c7a09f75a044b7dc16bb98e15eb557b4daea353c88bc44d1e2735d4479d5c3d4c4615528df0a1d4fa56830eb92d2f92b1ff5240711e6a6f246fcc7a009e1bc2681bf1a0efa7bdc3d411961fbfa88cc1c5124de3f2ccbeda43d1e7b6dd3f3434df31e493141865dbb941dc0ed940e8edf94cf052df7d34a8731846e6170972bfbe44b5d4b85d4dbe7ddca8504c2cd1dabaaae62defdd1107e9cf4319980f728e79ceb02775912b45770aaeda50f03771704dc4ae6aad6f6040ed5e2f046f7253fc5ee725187276f92cef1f4cc7637c2d64c63813e4a5e0265afd8d10ba807281ea40d53e0e11ec0b99cb4ff47e80a1d206be46895699083f47afa3866b6c42fcac9380971034545cb5ca96b020edf0b033dd2f40d63ef62d9edcd95b705456eb2e47151788c4d5415d50a6cc3f4ed2aab3d74d4a5c98dee5fb069e4c728d5ebcadabb69b1772ab03766bf3bc48277d7fc1742ab79fafe71df4feec58959f6bd64a75301ef8e544f5055f21b831ac4eca584c4d7a18037e5b03b6a49e86f4729892e8a277440f76f43edc32cd0e450cdcdc94b87286851e888235eb9d82270f4947cca14dd4f0efd86f835bb11494c851a6eb7655fd82cd6b0d6a84693eda72384cb9b7808071d947b49f4336fa06df44a0db9f97abe0e3bd54cfb6c5b54c32e3ba54ab774fd9e543c1502dfe3aaff59569bc3e439351548d807845ab74447207c95b0655ed8d2671eaef1faf2dda6765981c63d521b96797e1cf6164cf7072687025edf1bbe8e5cce7a4caa5f72b482cb35e8703941a468b7ad87c66cb6c72cffa5022f3e3dd8fdbf4f1c3b43d9d5c1252b6c2c72ec0e6e219daf1c9ef0463e479c5f7bf1ae3f801d95efb63ce1b819aef8d580f5d079d7564fe8f76412f505d4b2a8c1d95935a150eb3bbc1fd34fc2acc04eb8970c69e9194cddc7863747272c32d88ec08cbee9e2801fc0f780fafd58fe6e5b7246b56ab7eddc9b49a7a195f300b97fe0a7ba903bd8309c94aca16a6f1a0b3dad23deeeac7e232a9ed9a30e37342ab1d33e2b528f50e95f45b1d26d372fed356ab06c15026c637c8287b72817452fd98ccebebdc0f449a6941e04ffa7963898653804525937d08c51e590808b7f7971ac025a3330a5549c32dd1d718763f6be27416465b6e2f52a300382ab29d48e92e63ffc5ccb160ca27868ac2dbb6f3789c829a54dce8b3649bced67286d95d20d7563dc7e7dddeffdbeafa1ee187e699fef24843617c652d8937d04cc41dcb7e5557dba41f86fe179f0c47374edebd54f560666fd23441bd5313145916b37137524f9a9ab4f697c873c768d0d8770521229bca2ee622dbf750ed51364f7b9943037ddc70daa2e2efd431e3b5e4c6fcd1739c905971020bef5bdec07260cc6b9337f4e2bb536d621fe5503de3f642970b33be6fefb48ca92253805072c8a352914a49df9bd62ec10c08d2812e2b03db0d391026330bd482b966e3710c8d4a6f923edd0727ec4b6a03e233a128b11170a179ea2b0696c47b3d8266af72a224a523d351be55b07eca7cc0a843d0739d9249e935dd439b6162d10743c9723c28249e53fb8901ebae03ab9bc7c6a18bbc689af71d58404f11bca0584c584e666326a2849e15230d5dcacb03ca22d64e4f97bbdc8aeb9f0dd3926e95253c725eb9892e737d3483a51ea3f8525e5a02510bd012d8e5f3cde50a4620be3a897255234679dd8bca6c20503aaf05f8b9c722cbf1f2171f82092cf1dbf418d0430f7ecaf1c324673c5f90e84ba305f306ed5717bb482613ce77616601f8ab33e96c099a82a0e65016b9bfa793baa462b45477b98c1d247c208e6833fbb8323504727b25ebb45d391929acea71984af252ccb134a01329a0ffaa0a5200cffb108d72533bc5a9d6832c01e866325f35fd89054f3e4d4bb4e2d93bde3b4d3475b9ed729b06ef1aab69c48ba847146059fd4711d129279f5d6200e80f988bb43fd2c072902a6d19da78798424638bb2c3fcdf2ee31515ed860837d34e2cc632d2ebb160c71fea2f37ab4c2da8f3f5a18f615b4c0be88f9bfb193468df02cbbd88f6db6bd0631b2b99c26588596c0de81acf99a284fa68098422369ad129788097eb5f7297a0ec6311f46f7ea1c650ec668f50aa5f0245aa1c4cec9aca19498b42df5172c399f8a6d96f1040c32ff67607f5834febd43a991e5dd47cd037c0972b7db9098923b4757b36f7112ff9f7da6217ec18a0b9163e219c65bcf04a13b674265d5a5c64e22c295c09ba0d33a330bc4ca16ee3b1f2c011783df5ca51d203b9903c72b94b6067308c6bdd721d0c7f7962875e7058a22e1055e71773b337854674af5e323d6ab8643bf85daf58c4848ae6a7646af1ce51a1ac9072d658eb854ea24727df79e1ae9e6e47a3e83554241baa3a2a9ffa9ebff46b114181b1662e9b7ba700d0134de24df1549b9001c44240a302a2a53042516bd845af98a9c0500cb46672023574e5ca2b8d647a2b692c5132d0c1813050d2c0538f0a5afa96b041b4a7724d6d5a937a5d5c2501a060b152a0b977157331d021dcb29a118c7541beaccb2a004fe7ef625133b216e6a9fa14741392cae211c7e57676bdaa8c1b79d266d500d986b88af3e31aa413e310061b36c19829606a7034c7be7f65c734bf0cdb0e72a93d706afaae687c4e74b1ad572143d60a157db904f95c8733723ffcec2a6c30a336ef784e4641c1cdf13312b0502118a09e7df2b2a1d26ec690141630c84272f21e9dd5e7b97761ad4142405d165c37fcf05ae7c6d2a1e3242c7835b34c9772e0e1af1e239233f280b8e5d9d1c8d38a1d0fd96cfbebd0b3f0c14e31d72d304c5b20a5f9dbbe489b808463449e6ade6531b3fd66b3529ee719173803fbe08f72c5f001f6412aa3a2f241d25ec03bff1a291c9fb023fa6cbb020308da10b3f16aa37c0523b0b544cd9563a95a0b2022bb644fd6c54be848a7f571018bfd4f9672f40c19d1895acb59f5c24146458221d042fdca04c7bbbc546c71d98690569472f92ad12747973d7570297ef079b5e7fd902e1eec4ea2041a5a629abcc98b3e72cee56708fed52b59869e51316c31e6ec174238d1e8aae0841db93def780f553bc7a737a132ca41ef3e7565ddcf5a2d93a11d10d52000831096820bd9d745ec72b6947b8e0b972d5a8b485f85a064be2e788b10d2fa1d6287484ff3b4fc4ba31b6dd483656bb9b17bb6baa830cd74adae1e36c0cb6921de1e17027ddcb3031372ddba292095e05c91db81a3ee7223d4ff75ebd3cb25273810bd8b5da478906572d712689e48c37d8e19438b90dcea4602ce987ef22950f9e8c91fe58ae73b0a55a6becdf63937d3905b4e6807d9a712cdd2f6b5b2b04163af89c83dd3df89d172bc67d44733d2d7efdb9a6ef9d5c2e4a4efb95c667f573fcc2e5196ba4e1a96724262749bbf5146328ec0bd12a16dc926575883b7bf4f455ecfb81f66697a8d7213e3fe7233754f0197bd9b1570c38782c2de545758c14bb7a0fb3f4c04bb703358c47e9549da5944b2d46055c78206c7bf23d9cd8eb107aa15bf7735bc45ea6559064aae114321b5152059fe8265d8c07f46514c9eba47050475281fd1857f72067a71e31b087862912865d5615b08464ef66833e2420ae7c533d7a284d27472037a44561f5b06e993e1db8213b138e731bf5a4b737245826522f05669b9ba1345a9d986b873c05529539b96fd8e4637141ac8c660c5e4790997d09c7b530301c484fc5104c2e783f0a0ec0ce6c6d88ef670a56a08501b97e268fcc19c12c672ed5b0f2fc12efbc1f2b45bda60a893ae4fb096eb00d20fa18721e2ba20e52572b2159fd0f999d8adee43fe003c955ce49e3573780e69944b929fd13cbf25477246e74d6d33ea74c04347ddcca0977c2f9632edb2d99dc44ca44bcaad912d7e72467e35494cd4f8ec0e82b92eed7abe70144bc4a73da52adf9c6657901962136ba5d71a5946de03fa69cab24f1eed87ccbc5c235343e10ef67f8206b23eb65b61f447d3f38675d7a497f787900a5ad5faf5fe651e5ceb9294a1a5511c55ccb5725aee82e8cea347808d33f7a187f7f14c0a0dccd631b289ac0f07e7108ba2f472e0dfd2580ade47dc9b5473e2e3b83ab086ba58f7678a13f0063963a8ffc713490fbae18ea4f4d0b6bc1439f4bea4deb94a91851f936236690a53a03bd3e6f345bc31342d18c2dd498630b7f91aea6a0c5f1217e2f73df58e4f8f78d2504a7a58e055e36291f8ce8bf95fffeb2dddc2d38aef0f6dbadd55621d03d10bc70af472b79906b5b55fba9f63eea81a412b75b401497a99737eb983423057953ff3954e6956d51731e321dc6db3723e7193d1991b31e8d623a9af479151175ce72abd2bf2419ed085200e92a74b53cec14993589bb73b62079ec1cb0f48a9d48489ba1b215f453313e1d01deece930737da9b9d1fa1af618aaa471e7ec5e2dd1232e372c59ed7df5e7d8ccfbc785ceb63f9e0402fc0039ce23988ade38107066f0c42724ac90d42203a9d07c568ab5073b6f35ea14370088576866607f23c19d096216ed1f8fcd59c28278c8ce93a397ff058efca2611061c01b2d433a89a6186c31a72660a468b5dd9b67267f816631894ee179e70d28ae93786e48f4ab8cc40a0442c3b9daa0c067b0c69c70ee8d327c9b7f6f46433152ced5951d5d147e2c3d6682b654314a2599884dd9927817aca95f98d61123f743a4df7ac87133d59826af57228cf063014f2a5e71a1896168cdad9e86145b928c96dd7a0902dcdf9b2af662d8112cc71e379a5a0d5fe4b11eb9270c31f8bbaf986e2b4ed7d1116038e446b729ab5dd3be31e0f6d2a726ef93b61b6aa6074fe938eeb7395d6d5a690e44e2772a52b1c41fc44f1251c6a4748d010f67d9c0ca689f56441c2e0acf71a09ef6d7228ec29ada6e0bbbc8b4437b8e5d97bf0b82a8e6cbe636c749b8de05ba7ba59723b9a2deac42f728987019bc94b96b5a59db480a69b974a3a1c99e4b67d2891375072872ef0f43c5affa685f96da24d29ed8fbeb44a76e86404a85fff40a65872c161155f86139a5bbe5c84aebb190f39f1168fe5cfbe66965a5f3ede685544726479de2386dc4d9916c31667a6225c0aacc2681da7c216ccf40e15b53e11527226c1f8d80e6bbc6af1456dd8a874ef65bd62f476cba74c6dfb41d10e5afc8c729a7bd2bf1b522ccc27d3c01b0db2c4e4e1e877582d30987e9e4deecafabd1e2177dfe1d930fdd1a6e6939bffb13aa4bbffff8f845c8f94eb723d5e6b454a38439559b36f9c8f61548e18d44972e323eecae8d23000b40ce511058cd983f50d627cfc12f5fffd1f51ea6c242c6f8477f3c63d68e5835d5acff81ee4d9e5d214220731af4785208386eab933d8f3ede9563f25f44f86dacc99497c5bcaf964b372ade5043df73325ba7ee4e33c1422d9c5b3ce2138264be0629536efc17af86232406bbacd532984e1ce66128b013050676f81e1e7129e2070d1dad93f4a1fda72773335863d1c74ea101e89936fefe1ab6ac07ebf362346accfe2578037dc140d64de9e194b54d983e22b8f9235ad7d4b07f08cbed5ae04dbdbe1b79754127972807fcdd4f81f0ddc554cee54bd0c216f390f3bf1e0a66f73a856e04e45fe682ba1ec95484de362b6238bc81f8c1b95fb8c33a7665a971637f1590ec0ae7a35637c37006366f48a5ae6867a00f2fd8963e64126cc79a51a72e7cca00f57e1cd72f1b35531a39a7d647e1c6aa6a2fca4e73c34508db367f23b298059c0f865ee2d6315ced37b18e2cc4f67ee1b8318bc0d54b387368f5586a8d646731f6fd2ba72815c29759308ae98dc1af4bd030fe2b6b3a76230d03b2deddf1fa96aba902472d9681fed827c6f1b20e7bf554b59ac035a1acf6c4cd1ef6aee75eb0320f62672899be6e62aca5fc09dcd942f62ab6f2b17084e9fa89dc96439b163cb7c002822da420164dfc16446f66c232d9d33ab013d1db837d2ec0b90c89c682bf044b47233fab355bcb9276b407d4844657be4d1bc032578ca7c64ac0f0216fafd64f53acf02c46d331b345f98ae6853e0d44609658355d73aa8f9d88c338c8df11245450c8a1bd870b8f4641b77667020307d5fea6a23c3531c3208fb50a892a51904724d26d4c41762e0cb11cab3a6374c40d2242507783352f1f81376f0c3aed4265f5d2399121d504d6b6f1db0599d89586ac72ff4a2c4a0ab720c2ede1e1b61607247bb9249852c6be893ae0675fd64faba629d26ba9696513b2895ef2619d1c11735c105326be2164a093b4819ea91dce5cbfce2d32141cb40d35434d666ad9250fb97302960b834a645ac0a49cac9983ec67d6c9eb46460bf392d921aa3918e72b3794fdb5790b9f39823c3a1924886966491acbb0c12567168711424b552481b2603ecd9d0f91c9002f940b7e82c0f5062055bdc738879a1d804b887b588c272d671813b7ed273e9c0ea1989189a125a09df3c6ff076d4006164145d1fe1d57223e8365617d76b92d306fe7554274f62a029d5210aad570f9584831771f34f4dac4c961ed3984e47830edf05d6666f89dfd0880b3650faf5eac4836b2211e3722c26add2e95d053ea168f14feaf36f96cbcb8b86cd5ebff67376f55f8019a2720220f5cabf10dfe81c756baa513c7169fe26eb4217e1abcee9951bbffebfad7243b781342d245417a996d6ba168cbe651e239d65b5f924814cb61a6c0de209725712184f13a3f8173adb0131a38c0017b0d0f2af5455f9f097449807f6e249727204bd2aa152ef88498aeb8d6cd61f74d774b6c385eca86a014ea258ca2e89720cf07a29f3330ae1e337099480d4a65a980a6c552328a16b3f63b96100bef8720d61f183d4fcf00d8db348d577003fd122a2ff41394b2c69884cb6ac6956d17243c087891873ed5f2fcced809b630f2f526836f5b6e9b1c9981720f21434e06df1ed9007b52fbcfdd4bd40f065a1d79fbe104043774e659c665704e58f454c7280dc5cb827947e23b1a68b47da0eab5824174dd643774bb6679d0a8d8d83f0727f1ff6090fab2ffdbc4315f5bd81ae540beb99262f14686333102533c1003d726dfa08fe64ae73139f32c62f4c003a3f328c585179bb644921fbbd794786ac14af0ffe31750f77ae80ba9029871f0815ca9214355ba73dea43d45572964a610fba6f9ffccf5cec5b3d95beafadfc8cce80db763e6c3e806f44e681d2a37a73723b7ce74a85fb05606ce56bf4dfefc4e401c9f9cf2bf04a04c92c36bef2d7e358ce05dadc5d4feae2c6451a889cfe04f929f0af9dc295343ebfb71fbaf34b79511c23d1f4c33a3e6bd39b2684cdf51162f8fc6d4bc0714ad4012e9a791dd03b726fe90e96e2b3956024751aaf2508344e1192a65309cf0af4145d677d55dc7672ef8b58f04041c8eac0d119905ea2300ad6a810836a93888e2c7b8f7877ecd07069211f01c7b7704ee2c02c84126866746a79d29b2e6f38ee3ca2a9fb1badf12c57126584aa35870d48a4e3eba35e6a5ceb0b8522572d12a3fe3bd1a42d9601721349606fd898eb353df204a0e7f63ee29b87cf0ae214c3ef2c69bf04cd2d5a72cd5afa927a5ccb27555dfc88a6de3bac6925102816146fa0a4ac1dab18438a7274c3beaa153b820cdf66d25034f01a1de675d0d0ef7c0fef941ae0661e46bd0b53478c67b7db44262b59258aa301d604ee8f5c7a6fef9239eced73ab1d624a72f811261bf0138d297e14411e063e3effd3ceac05b1954d208f402539617d3b0e569087552f39c6a971cee0cb3acb1b4ea00df49a09b87ea17b67efdc26add47231edf399b5f59ee1f314c03b8b073db813a56a5649a56865c5abd9c3204a830a6a0795a014d0045dda34b1ce8fdc24ff912f78fb13df61669bb11a77ff8b8f0994d1ddc4641623b51b02d20857a79ebf655d100e2efeee0034d00ae4ab89df72a32ea5b0fdde2dd5e1531d3efb1217aafbd40297a0c4dcfc8afbb1b7d71c997268000680c61fab5278aea412d8881abd39ab03ed3484178604f2bfeb8abcb872a957e37f9dfae5c134511288cc85672d6a4100c826026197b65f2e7006a716726d0442a53eab075193375d9113d89ade40f11ce3846207d56a02f4bb2720110941f44e6dd776b3e01be4964573daaa0a90412bfe40e74a2c970602e951463a6dc28e14d294511284f9a01942afd27ce8f04e756828884365d3835a535182aa56566c87c9393c6cd52fe95d5f3b59137549e3170f588b63bbb90cf7804a8ddc72f0163e32b6094b7159eb75c5a7ca501b8963793e22796c6ccd323a48c788c17275adac7cfff3c9ed4b250b179df220ae93f95f89eeb5253c14575aad6debc072b86f4abe9663da22a1c918f9e51443221edfca18d6aa3d46ce1854006d131953efee9bef2a884b7ce3110cc448ada31e4f1cc7959dcbd208e3400f37904915722c8d15eb748868737983bd35507145b1fa90b83709de0d560b94fa2ae954f3722c7f94b812ad46ae72a06d8ea5efc014c2e2181440dffa7c2dcf5cdf93ee0468f3e349825100cfd788bf51df9437d9e16cd8f57715ddee1d41cf1b49b262e22d0b4dbf0df2b7e6679399fe7b6853b0cd68e737f6d755739a01bed93f5927a9484f8c5b0c39b2f3d2fc79ec1f1ea9bac5f4090bc8c541ec411445d68d68190d1fec9591775db603c1c56445e5d242f0d21762cd5df0cf27cbb0f95adb49cb2e72ab1b14b98bc5726bab4ee07996f5cd8c3f2ed97c4bc22c716f5a39f1ffbc086c6860ce4f4e282d7f355690d314d2f521b1eda07f2e32c882b7f964b302e30a7209e596ccc92ee78ba20e057854c11190f0ed9bd5c8a4a1f2e3d06935c5b5f972b331a147a15fe1bb151330cbf60e7aee34e447343534e4695842ad7360bddf725a873e77cf851dafc00ae1258176cf57abad780758c3a8bdb933ddf5f36eb572340036529bf468c70440d582e7a5abefe1b7020829d3e7ebbb2d4f393def016058cf907c5afec5868cdaa27e3f8d8bf6da529d52e63c281d87a99726761c193132cfc68e54b5c110071baa0a13fc80d03537253723c79780fa3268e8896abf72f52f32dffbae516a318fa59332d5ef6a52fa7d6e1cdb6f2b445dc89d9f64dd722ba6fcd5be3d4051e2e4adbf4ea620afcec30275504999f0eff40ef1bb680a452ac1d5e2ad25c8c3a7bce2d20cf36f3c56bb590381a5afc4af8b77400cc6e330a51da350d97de46e9ed6b533e9d3c778224f302c2cf8ce658b41d592ec61f57246c0c4951b4def8b0841d93e381fde7c7d514a4625e625f0516544f5e8e33a72fafc3b99226374f7d22572065ce947bd42bca6488951bad45ef0a87ed58aee720b86ecd48c8a8c0d8cc26c589962214fbdf96f9dfdbe7c4eb0ccc1e487223b72cf7f229f286dd40bd63a1f2bfbd3ae5b689d056a99f834006a9a3c10e012b26c9190d987a2de23844e8d1b21919a0f272c9b55968073fb768b4f42c0e4d37c1a44b9f1f30b28f592a76bad7ed3f8b7b151e2b38f66dc4a978087959ee92db8723a3811bd82132facbef1e309af9c0380ddbb9b1706a440cdb339b05f9a9a0c72e0060b746a15e94ec98c640d9ab8d3044bcc92d75c56d77967c5bd633013c272ed19c284cc8bbc617f23097eb49bf9b31b88f5a73be7a53af6084ad9afbcad72bb9309b219a84423e20327b76a910e4674ee6b4e2a720edabc8850653ff82d72b97b708866b09e659bf64596d3e30e4f94470c881a3c6c4e2956ab2d377cb7401ddb909d1ca38cbf25b6de9d27a60122464f154d44497aaef3df872aacd6351de3a76772ef8b2002569ed9624a80e67d9bb3502579db5d16b016421f80dca172bfde669cdf34574f6a1e4fd14e98faf0a5772d0ee2363312a4cabe4c8f61eb7233f1892f7e9d2bbe1b6d0947b854e1dae7020ead26551bc334cbe5a47afe3a32224f4ba291911af981c49456309cab36db491b3704673241625947fe1e2334728845cc93f9ae5f5b36e983c18925a29a846a2e678880984b89449b0901a88a045fed85c9f67bffb6962d76c5a8918063ae07d0b3cd65bf569654d9baf142f73f775107473b1e02050144ae529adba55a412739223bdb46907be50806d233fc24a881c701d93b5c245bc859e2c7a97911e44060c6e676de82e467915e9a7ffd373cada7bdb3ccd32398a6a81017023b49264a8859d839a43a47aa9af33f4a95724a7024c0d458d64cc07dbc3e076e12b46be66b9167990ddc6204c654168e144115e2c69ec02e59d6fafae68db56e9b69658c584802a96fd50edb8f1b6e7dfd724b46160e577620b1e96968544ed536f04c9ad415cc052ffadb10484aeca5ec603651088122f54ea651d763de0eac266b639caadb9d1f3e2c209a33edd4b9b972cf075669027d70fac9e1a457e780d55f4b3a434f4bdc3ed480a36fd00d0977513d321c5a98c12cadd54f7f764bfd1a68703f1cb36dee202efe14fc5c55e60f72597969b7c1a705c93d4bff6b644d6eacede53760b3659ef4c69dde196ec52472e6bdb5b8df3f9cb67667bf7cbe7304c32dcef290d188b3e0f37c23132b638572a616d96a4ec2aa27ea26b5e733c96776cdcac3b6c8eb8b8c4dca4eb9471f7672904bd66b448fd04a24591a6a8c6b81a668f9d134004bfbfa551da01d07f24472814d1eef4e50d8f29372e7d6792c89db19db5ca4b5c553d06b65170659f26272b7ba45a1d61af41c3585d3f424f18e7a64be1ca8331bfff257066a9b220ce47203dab9807c2f1d188fd2a39b4c69bd53abd897343c22bcb1d5be105e974286727a7e38330f6af9dd91c8aae708b5c18b288eb5496004fd9620082b1cf74f8f1ac982e050c8504be037b6d7665f3d8dabd4b743c33e9518f714e690dcc7b0f509acde9cf5fa35b2a1b19ad694846c82f77b6e10becf986fdedd35e5b274ae2f2cac81a78049f74f3c5f99a58df33d4df497fdf23283391f3f1ee80dc603d8ca72f247e5c95aa4a7edd03417465bf3517c19da8cb6c7ae8a670453c7b93a42da256843e233dd2fcc375627e8a031fc574b3a5868a49503d8bd1a7586e0b02ec7720969d9d321b16ce9a9a420400a2e9d4bc546f46ed2ae4ebc785598f2f22c8800f3235d1f547cc445d63fa9e18828a644cb3d0a0bdb0766bc77b7912cf7f92e2b526c2b30755fd5ef1ad0edbe933cd2e03f5be87d0e99e64d8a2dff871a8aad72890bd2af68eecf48bc7119c850d6b28dc3bc37b3392e343ee8cf55c35dc1cf425ced17c021ffc9c699c4c027369a22c41f3e748e43dd35f506b4150e892d7b7210acb1753fdc5866e225bcd843ca39dc3290815964f2138d1b14c6e0ee978172d02c9d481ee7dad7ba07da1e59dba9564c97405843e5c47e27245a0ffec40602c95e42a350bd24d2ecb07e1778a9560e880bbce2dacfbc58fe6b8254789abe41d4958175cb362b64ee38985e8815e3504d6ead0196a01b92548b0f6ee933417277ade06fd7a2bcb2c861a4602eb11870a19ffd73b0b89006f46ab5d1de160772651fffb08545b950fca4261dbceafafc190c1a9186d414550dcd161dceedfa4b57cd68715c01f8cc81a56767a33f58d4ef3f8f5a6a7f13426aa52e543e247b2516dfdc91d0de3415616e7c7301b242dc804ded4299e0b45aa9024f0ebfe78172c0fbbe88bdede24403f7a2a35e1d8524e8d96cb30e5c90f04f17fb5e97d878724a95ce372778103b619c7938b5e679bbab5d0fdfce9b441fe7ee5e6d75ee8a4d814936bc088b8d5972ac2367f76f18dfd4f37774a71493ba75c7072827a56d72cffb52229928b30e7a2faa4fb9c8f4f01f01e377121c86598ad40610959ba32d52c2be89a6934fbacefd1308fc6c9b9145d3a2679afba6f832aae2eba6fdb048f0eb5e920b3e20177e60c25e323330f10b1a24b5115fbaae3afb659285c20b18a8895ee18731fa69db94d2f462eae0cfffd735dc48c9602484677b01e8db8f7204a762c6b9d7dd6919e5414599ee09f756e51c82618cfdf71fc2f3e30fcfe20155d1a9d202df01a640c9ab4d126f70ba13dcaf354d1de5f625d580dd7c1aed724f8ab35990c15388781a56525cb5976d251d676ae7d2d6928bbffd1b36c0b368c67b608dd17b482cb12efd533d92baabc7decb05121fb2985ec826d922cebd2aebfe3dabed16acd15a51abdc1561c2e9be52dd3a25618260ca7d6a10ebebff085954f0819d938170ddd794bb7bd744dd0299fe45a975276081dfbf98ef2ef7721d3dd5ae182a18982418c9cbb5bb775a3fd7171ad014f2e60eb335a3f54b2d72b985bdd60cf0494cbf39fca46a9d93fb854f5e98fcec7d1d63597b77e2805c72f68b40871f5b269c842b5ec9b7ec573a0935445f123dd9ae8699bac2967f1a5949f4775b8a0a1f8029bbe744818e60794409146d4f983f0c7420bfbb9b0a7e72b882d47dacefd5aa2c991667c18cf3056972bebb117ed85715e176f357223d1e8cca1afff9cb1a0283aa1a3d6969cec09d92046274ff3e43021b4fc23c83b172056ced19d61cdb7973826b32d32e8094775c9892b5aba2b9ad07710c74933f72a1e8577bf5bbaa123946811648cab1d0732d0c450414c1d51d19b7978bb00972e7b46382b47ad694b5c536788b72dbb5a22a80d8bc9bd72e522f7a66b6cb1272dbee74053a182b2999e85fbc9d0e06692082352e716e1837d34161aee8268172cb1c8ce0dad05a041c1457257b2b4165407609fcc59e213048f04d30a7554f723843a8a77bba8fe42cd9e8dbaf4d72815587f40a21c7a411f6cfb978247b0117fb876ea7640949e8bc509bacf93c04158f7b7ea01424f1343b9a6f1258a04f7292f6d4a4d06758fb9a1b72e8c754c7d49e7f2275a97c2a69c25044174c8f4d726e338f602b00c42ffb12a13be8814d5030be5c2f1d1d91c33c08b179d9c0a227c180b4882f293803cde0c168d3491ae1d76754b133f367f3da7757f983c667722703eddafd2312583101cd0210c3d63318b04964f71b8f5196d602c6c36b407237a2aa1cb093fa52d94ef1a3754164908e3d4ca44028ef07b59179c26ffe667229fee307a98a756338925886b311a03d55d91dc22ea6dba18986357b5608ce695853b0f20fce59c421b3cc9e4d6fcebb31c1d20dc019ee1eb40206324ea9ac72912423988ebef037671da16d042cbabc2ce0b11b912fee4686719dba2084697261bcf7a75915021b2bcdbf96f8a798e33ba42ee3c5f51558c2cce836c8580172f9136351745bdd03232e6f3c955283a351a63eef8a86d8a8a8595f0b91f56f0b011a22365c590148699ba1c53aa3d6b9fa95542982051329ce58a2d4eb39d1726100f8dcd75e084b94762c56d680115a174f1291f207e9dccb00268bc42fb57232259aca6df007b257595c17dd3fc821f36edd80bb6cb631be204f916e8af072958df06108d718eba529df7b53c2b9ed8c58a5026a34fdb5bf9468066d06ec722a0e5becda9fc0cb2cca169d1c7119f8ba567c4c58c064d6dcfe9d17ea9a6b729f66da0afad58a5fc3052e9d927e3731caf122633d84c6e46579f7ad8e01fa725836041f4998bb6140804089bd1dc034733f0186cd7d582048cca67e8c8645721e468435e324c4892b8625d70860213a16aa21110c9199b9e36d335affc43d1931797139124ba979a58c3707252ffdbb6190c3a1be35a6ed4be25b8175d8fe72ff4e7292021cda39fa5c5f663136236fb554c8d4781dc74c662079ee8837f07252b8352a8752690156857d3916ea95f25846f79678ac1b694067145d9b10e072a65d7754ca09ee3eec4961a2699bed1d47e3ddf5320b451e0c70ece569d20b72784cf80ffa8855cff747887df3bdab43fc31bedc917edf05a57b28299822823355da4d839ca66d2c66d611b8999bd03cde52082f43cb463721ffd529c263d772e046c712cfeadb230d4f5eb9b7afe1b240f94f1e74530af0901d396b312e156e45fadf5b5b2d51af4afee5cc61c6fe51af0d2d4600e0d864fb6d6d6a11081572c57937c3b4ec138a74f16bea673e00639fab87a9325d357ed8ceb20b4cbcb57201c7b0dcf69bad8e729c4103e37fc756ba7c648ff22b77184a7dde0e29d5bc72e3c145573a5ad9c9de169a2ed101160391e5d0b8b2158fee3c9924e4a0ff277234d435e734e1836859decae163a7869bc71eaed4447e5c86bcaa339d101e087277cd205aab27392788af30c2be6640a8e11fe46a20c4210e0c7b485a3c583039dad9544b22eb4259463410558771a0693b830650bbae6a7d08094866ff562c2889d21cd1a7f58865ce9f44e432c9da1a92bb8bb453a5554f41aa254a24f6ba72e52d8fd80d1557517b2d248e80369576552d8bbebe70e469f5f7af191515b25dc170101b8da0513f04d6308f5b1a1305db78a5f5e6aca858708867e02769b00a35d9927f5976ba711f0981f9f4bfe2bcacc720c84b2df29a3d994699e6f24d72cd6bde6d894575f19d98471de5e182d4871660bfa75e8bbd75b7b08dec0c0d1f77256cd4f8b446284303b47681bb7272b9e4c872fe0bfdeebbd5fd35bfa5cf72b5942b30a183a8f686036494e4fa4d8242c9ad6deab54356ac9af13e990ff50976b171fd371ea37c53536d8eb18aa956c582ee9d0be34c5ca613ecfabe580c5337c7828f8b7d99fa6d08faac17fda5c69cad4f93ab9d42924f8a7a19f33f723bde56a02d93fbcb601c37b84a92b90817255fd04a1570434ae71e95273484467285351434eca69c09d98d1a8683b9e0141ad2b293b6dfb37458a0c6fa39b0a772da0f65c654084dd5feb70856d31c9dec5a37d5dc6547c62cc76c9c6cafd2a80900d9cd8c409def6a1ef2c8be6d73f4ccec81fe08b0e34e145c513fd81a787f3828ffccbf4de36db90dd7d7f8ddfb908909c8ce14ed2a53502e2cdf8f5d5af772f4c82360542699320faf9b79b0217927e23adbc158a84bf31f72bf9dc1a0f9321afa3d111527f386b9d4bba31b11ab91461199967848e87e9ed1bc541bec0500fa9f7da6d63f8672e05eb98beae52dd9e07c7d877d551f7b0b968ba2e3963d26b4d9e4dbe18d43fba015959244b119af138c7c4e72dbed76c70524e1cfd2c772dc5358f26d58f38aa9d0414d71efd9e509f3dd29eab0644557ed40edf3c8dc72d356db809225ba59faa807425208f75c7719de2ef7818ac2c85c78f505f78e72d519f2fd810b1cbca4a18b1324b410a663e7890facbdaa8f4ca6eba50af5f772be00c74a2dc424f68dca10f05a10f52e253346980965ce2cec77e57ff9b3462ad6c8d59bb661e05fd1c6e2f0efb468e24ed0a4602887aa2c2a971530b405e22f7389224635057600df835dd9c58d94d56eeafe8c61233bf49dd926861e0574149d5db61bd1e16219178f39ee7e60dd6c9f679121f204579298373a28d0deee4b20111fbc61ffc88e0a7bfa4afbbd5596187bda635e7004ed31ab2a6041a44772bf3f4087edc43ca450e442ab0413e46cd6a3f33d6c3f29c9b8c3a7dbeec77b72f7b057546a7dd5107e3e1905efa9de850f8d3ce9822a7537157194f10be858722c2ff9d14238ac6b3090e58d8abfe2b4dc32496599b9d1fbc7da9b0a8f33a4729d784fc2a30c78bc87de6dcc959ddb9507893cd65144f606919cc46e708e7519a9064f0c9b5bd8f142cec9da5317d0df2ec0dd45806aab89295577d77da37318d78e9191dc48aa162517c837dbc195656204f2050a299acadf2ba6e5ab93fc72f4530a3cf59ad4f622abb211ba537657f7561bb0e197ac7deb298df39671be72d6efd91d5be85993d32828d0992adb1aad7e1a79b2f177c32820692f42b26f4cf1f3bbf8807e8c711e539047f1547e4ef6397a3bdd2d7c4aac72c60c32a6062c7a96d9ba26d019b239c18c3691a2347a5f0a6b61005a4b0b6bc148263fbdd172cdee78ba8eb80b2b0ddea122ad1eeeca24ff624f17c6fe2a143a551e2e478772ec0000907824f64cdff570a0cc6f887ffa6b20cdb19f398bbf109b3a6aaa017217e4273e9c310e44569848140ae8e1d3704dbdbc2808538a2511b995a06c113d94741ba8a0a2bd0c1c9335809c16222a7763a4df17a2851e78de36934153ce7229450dd9d3bd79913d68970715c395eaa11987ea42f6f805778e273ce3efc8347c2f67a79b8d52200cf22cb0910b5567892232d4d98dbf8f1cbf8f1d26b3ba2a03001b0a2facfff305ef744c346c0c43a2d3f6a6a8d31670e1540830d9e71336097234fb35b8c8f2c15350a0ab8a619869f19b22fcf9b3d7b9b64404895d64727f69cacaac27095d30a127a58bf9adeb4fca3512d2f252594256030a9e177c08e93d82b6f648e88a6999a34b410d34f984cf5c9fef5c049869fdeb9d40fea572d370d45300ea13647a24bc2d1634c676359e23158804cffd7cbe1fcfe519a330fbef88bbdfbcf34b6ae6a5298b3bd3bd1e457ceb7bd42349f34f8c0833cefd183d1b7d71b1b8c3da101db8cb974f104b197cc360038452453e7da5c36d7dda72da97e8bf52b25d720745f668b6937ff8eb8ec843d1ec50a519478372a179f534f7146b63c1009b984493845bb5c31393e0c78e8db723aa04071cd86923f0bf72c727dd2485ffe3affedc90b76c52b402ee0a9bc9ba04a23fa409da3d6b9efb6cf283f6ce3d84904d11e70e3499b75ee67ca0f81714eb45c59a50779a8551f25a282ea56f93a7bfd59e2e5692b0daf51ece20458b5cc0173c338fb9b994d03c152c78ba3ac15bc612ed0163ff6205bed270db813ea5689efbbbeb73342ba5d3727523e18bd69820de893f54f174994b461f210e5541020cf5064b934fc665ad7271a06fb8f43a96ae30ad7de1136fd5c9acb4cd732267c178b96b26313b20ec726223d4af6980ebcc90462ea99d8aaad858dacba37a5974f39542082308aaee1aa3ecad115508370fac98d3245fe20aae36e362099406494db40efc876861f272887d1b6b78837d3653a77c6e9932c3bc97ad955771c43b4c529ecdbf391d0b48d60093910168dd44751e6048fbf882e625d8cda2f32d9c29f7150f27bc4d11482b694953459e591f042408a756a9bf7e7827a00b9ba50414befc160497d2bb42698b6e75febee85f966cb1d5444daaba93511bf2d065f44721d763110f3b3f707daad6fba43b60e894d10d1d95813943b2c98e74eeebf5962029cc2606a57e09f10b2fec1033f8cb8955d33f8694699b14b00ee7954bae7c26b9cdc426313c49054bfdc58a9a0049a9ec316b520f34a09fd03092d1c08a762f7aa742def0cf72885dd3cf9ca65614b8a79d094a8d5f62de310ff6b0d3a3c920bc21ecdbf14e72e2c476a9a8f8601ade6d30ac42e81b10a46ac1b08a786c53db7c2b81daf7ec06a92f16a671b4b3c2d17a64eda0a3b0358efb832dda60242208b4f88ca25188306ca87c48235eabf821e53d1a0c2d4c68646639dc2fa23f183d8eb1c1c240234947d474a7ac0be1f3d2e245214e1a536415fac4123b4f07baee3b69fb2177557279128c6679a7fd863b6c37816ec0cbfd28438bab7b94c9cc3af9125a2edadb72f42a5551b1fb5e1cafe6830a0187184279ad7eea6a4a8f5ee18ef44f5be518722a317d9b2f6c14033e782a591adc2101c57a6dda78cd87ed67b89c0f369d0f132461114b664a4d002ddf877f4c6ff459c0ae03a4461cb2a7fa9c5c0a3d6a3b5c6bceb349950890995981f9616f338459dc61453d8595c7ecc45f16fbcc2d521af0db39428e6f480e2e99e04dd35fc175da19883bdfb10a7044b0c6e2e1256f611b06ca5f5f3ab57bfe4c231859c2fdf8d853a50f904ef01556030cdb6ddfca67e591777308f11c234e64c6fc4033523459311666c181273b4651283de2e3a3725def91f5662a17e53a5d416bfec7bd8d446ec65925a432cea7bc24d24fd22d3585c4145c6fc57b80c72b06f1c38051c497cf953100700616e29e2a527a58d9725405d13bc9572e75c243b133e3f5656955281bb0110dd93ccf0bf7ae389ca572cf2c8832fa9a024306947a3a02e6af49ebb0d39aec1cbaf8a4daffb554b059727031873be2451ea7244ec8a7c82d90d0a5727c9e3efaa243b7abb1d3daf67b69192230512548f7ee72e803f585909ed55676739045099efbff59958238815f729c162eb001f2a6b8bc751422ed12a4fc60582f2d7ad023be7ea74bdf18d5b24ee7154359c3758c50cdb1d1aca6177cebcd1687fad3a98ea50585c455efc1266a2773644a83b9cc73dbbaff3a9c7be244d93e6ab88c8593c9873e0aefd915df72408047c364dcf7eb7347ecff885a2b91b8540ab6c679fdfe759315c710bd9a56051ed5ed574865319726288d2f293fd410be5d9a243b56a444d257b0e5ab7972bdd8a1a871873f794badf47165d4d82f0f1e414e531a024583e619b245096772f7ed92654de82363f09158189ab7f646ebdb58271dd47d8b5ef87826aab5d87225240dc3516d727960b12c949dbe72d83983c1ca2d152892f8214e7d812fb77291b258175241bf786811106fc734f4f43d18478589d8bcb665da52cc1585d3560ebf0a6f9cabe53e07e26600b113f8c0ce3bf4e11a98ed391be78ca2459ae80c17fc1a1a6cc1bb1dee48f37f47a38c80cc35b9eabaed5b1cde2282386b55e43de3059cdcca614078101034551948d5cf113431c4f5001d355e46c224aff85572279ce8292753bb396849702645f45a8bcdb4871c2b4703786ca19fda6f116b7225d4ce264193c29e7463deee38351aa0ae7f9279a12c4cac578fb4a07fbd5c2038e273e3204600ea979b139b6810a7b703feb62a3ada5b2089457fda856cd41da8e57041d957b9fb6964450609204a14f3d2d34452a7652aa178b6aa1d35122fa87522d48c582266474b94f38ae0e84b59dbcfd8560d99eaa79b3f00a80e690c5bf79687beafd066d9d1f58fae0b75ab70e6ce015bf777874c57df9a4915f972b7abbe2ae4ee331d7edeec51ae60d214d7d6b153eaca5901c5646b50b0a1592aa3006d122ee0101f9e22d2db909800e41540ad650423f5f185122abd8dc36d53625377ddf84f781220be10a0eabeb56fa114cea645ae2c8e43c44914474bbe50b4a52292a1f408cdb8a22a7a58476f1914776ea8fb8ce0575419734db676756378a159c343a7b940e4d57bbab3463e742c17c54cae819797343903be5f984d6b35f2067734c8a1f5cdb147e5b534e23209cbb48d153fb7399f3b6bf25a36b272bb0585e4cf4b1a3eee58dbdc9cf6504b11adb0ce4209b2511f6fdd8f94a9d541d2307a42c94f0e264aa9ff3bf18443a062710ea882a56364c3e0ed076772047279b318d8ee8693fe14151e59f9bfc18805ee14571902ded17a17c9bea897552888010430c7c6ddd3671f7ab51ae0b91290bbf7af30d18405a7b8f7ac4c4a4872b57cdffb7a8a2514a09071cc5d4d3b2398004c0d71dd1d13f953174988dcd1722eed877f94aaee657af2952637aaf1c57885a3e567781af537042d7dc167ca728b48e88f7d76c2e15d7ac33c0720498174a1df5bab6773dc7d7d1808748bed110904605675367760fb3ad1cfcb6f2284ecaaf5aae1500402c51a600a3248291e5120234c9b210a4803ca6edcb6cb0e327fa97529c2b7022e1ecab0679e6d2e72c957f13cac32a9bb0ca8a29035db47f1216124dad6baa7d415f53a7fea22b472fd4838d652fb5cdd7370a05c3c3fbf014d7421ed59a5544038c4351a98a69b727c6dcb78a06602c6010f72bb9c40f35f29884e2069b5fe814ccd12c7cd1d85571c818d6d5ef74b67a1cea946ca8caf0621098cf00191f60e8293a549752e0a7289aaf48b0849204ba1b7a7b1c5d740e454f2648b55d4f8315254a8726e431a725eb242b6952c60a093bec6de7e1853618ef4e6df3f47543118a310e378030d72d00a64bd981b225c664361b8fecd79b14a1c38592b2a86b9bd827e3c0e973a7203ab97eab8f165475c4a29a2bfb44825b373d6c8340da5455374979dd7a10272cdfe1abd84e1163387c9e2b8938e1a0f6057b5184bbd6c8ef0056396a59c0d33b16a7129877ce29f7a918af58811620e248171b3888291f95cb29286354580721df8f15f758fdf7e925aff17f66eff05c39a76c2d4917abbb2b8aae93110d272b0f16102f1f444378ca95f6bef173fc2e7edd9fa59a87db9874e1ecd0c9bd4325a3aa650c8140fb2ed1c7e75f95167948dd6066bc2888d45db3fb018c271b7537900331c0bd7330a6c3a71c7e959ccd244e60f7ca1f9513d54df63d5e8fd9a72da75011ff573f87061423f9d2799c0609fb26bbdee3d592534ab4402367a043467b8d4dabb4904066892812caace6f712529c324c5a97b0f7aff20408955f47213cd8dbedbc4ef12e505c1168f2cf5dd2f66e848071780a7726ba1f293ef2a7217ed5795700ff408c6b50bf80c2686015d25c4859c6a7bfb15b95ed527db8f720f5021434808d3d5c8458f94e4e27f5213b3f419ebc84071bf68aefb42539d72f7a39bbf407ac211d3b285dc93625fc430e0d5a08bd61ca8c8c5e8c2c17e5672ea67f7fbb14e457478b0f11d5834b36c5bf8ad112e85bbd1b1c25ac4f088e96e1c52636afa1efece461aa7e3c3ff6e9227ce37061d436ce1cb3de3ed4a709c01ebe89745e34e4577f798163c11030d5dd92eb8cbb2a908b3679bd46eece96772123d0907931b27cc22f7fa68339a82da45a3547af37490579aa294ef634824468c94aefd308c9ede4c23d130f056c6d9462c3e30c53aff2f3cbeb976fdbed01485337fb67e66d90457042f2295f3820273007f2e6169dd7d8f33ba9c70059172ab2b5ea61fd186bf998aa59678d19a24d69f85b2fc173130c305ad46765a14722bd8f133f70cd1fa61063203e44c9267b7ad5cfbc3ff9a12d0dc5f2747fc2c3cd44a68d8029a16ce2070aff56e391eef5aae33e7373ea1a02645cc4a296de7726032355ee9458b40085c5d70589b9ded368e213b3d272f251af1eb79fbeb7d43667021b808b8cd25eb617cb7e58eba672124e660845f59eed1c5fbabc360fb05bb41cfb877a9f242c72b6d334c248250e15f590946e145c7bafc4d0252eaa42620949ed9b61ee3c1a623cda8391e9c09b92be2b3b0a9bf0c8f91504b5576ed728dc67c23bc2bcf96c870f5b845528323c07d5a6dde2500c89e173b932789cf23d7e4c7a8fd785c86eed534dc69c9471fa2bc1dba4a70b9cea3e7aafc83bbb17294e320cdd39541e95edc21dfd537e47088f4261e2f356e825848c786a391e217dee0a846a19f47e11ccd26837688412b9779ccab2bcadf80b8b018594964c172294e8c5a06404e72cbbcc429075d9abd33aa54aeefd390f69933344f974977328e9f858aa8d1a008178ea127ae772cf67a401a2890108d8b37a95594c7330b37f63ef47f68449e5558c3d38b6bc99bae78d617b2df16c9e92d39b488c5d8920b8cdc872d1a6f9bb31b9ddbe79b43e6ca0cfc6eff4e51264bc265459f96362d7260bd17ae68e3972d2ad448cb0df745a942be1e61794b04ef375e0fff28d4295430925c27d7bd377158f16a67ecb060b73a61d236355ec36d0464800169df0a724afb85b092c78f98005c0ed9ae67c67af4251971c58ae44fd83f31331e134455c42447c4d268118392bb0cbe210b07a719323e0e9e5c8893f7903d0a5956f67284714454dd91ba9900b5bed9db83e108263c912582e3f34170cdfa86d2c33d72dfd977a7488f56511c94d9f6f1c6a625c11e3c0a4b70b60dccadce4433a68b022d5e695b0e70de44b877816dee6447f808ad88ee95238fdeb49a56edb491ed72c507dd6a1d3f1ced7a5836bd673b1380f42632202ca1791db8ae6b3a3fe63872d8eae332c4f5b8199ba1c397299c4379a11dc2ed805efad9c8ed712e4e85d472b99aaa7374b47a2450ad64425bcd075a7b28aa12b9f1ecefef2d344b488d1c211f57d811f4cb79c0eb1d1fcc1eb9882b387715e9a871f8eb2473ad89d87a9b2c6dba7216a9593b38833e2c2b8db2008fce79c1f9e3e66c4c8d2b9fa7117e9472b640a396b8b7a9f64ad18ecd7db3c2cc82eb6d4d0a1b1dd9cae3504f62f483721789f09f8b429e8c6e253e77eb22ffc20f7a893406171a3bd880b40f5745e57283238fa4ced7bfc0f4e101fa1d83857af817c400226190f8a315b1e1f5f8924c0911fe8a7a054cb40cb64859e7b3ea3021ad7033ce40c01841c7dba4ea8c7d430f4d9842c336e13967b504dc3f09a880b49f715a6bd412c70a56be1367c8087246209d1849c165f59eab9c62aa6d959f5fb11c5cd5ecf2a92125651fd04d7d723326a4457f0187e3e6dd6d781a0a263823f1c8cde70bd578044ea2fb87d12572ca6250ca697eaf844ef4811d4dde36167c70e3d4b00fd1d7b2a2430e2122c27269ca8642a0cb693344bc2f96337f8e7c070bdb8ea9cfce078d2708a890fead728bbaea9c1d1b3331bdfeb480898e631ddce24548aecdb5a41380a5a3ee86573ceb0632cfde705cb06a8fb1d2495e1e46a71b5effdbaa241f5046d8ae486e6a651959ea122cc62341e78afe768f7ebef1da2fb5e348248287fb34d3da87738172ced93f37721d68a7d25f148f0c19b7dc387141dd9687ef4e8d8db2c8933e0972f17d15ec4d2eacd1e8897cdec0530cff05285fcdce60087cf61fd8829640a646e07b99b16d533d357ecafd736a5972cc0968745460b7d80043006b1ea77e15721a59114fd382187488d82566015f0d6d16521de37b97ac87d2fc2375e9f67c25374fad4b5b5483ee87f4f966cad52536821e70da17d3abfbf248e57967dbea38d9820468897a0a07f2eaa76cd59a9d1eb958da51a8f873878ef714278baaf3722203302cec38c986b30cae0d74fd62728e651bd6e3bb5e2b73dfccc6e80676728fa392a0c75f6bd7bf6d95d17e5349785cefae1ca1d5f5dc4df2495ccfdc567277b3a078ec946daa64b2d710e4804cb41fa394d179bd4ab63ca9e23ab267ed726188393b6654e519a95db6abc4d38601ec83dd76037413acd94e52a9f350447282aa142df165cc9cf688d5b223b0cd6b1d6ccc842617e6d2de65006e901a487205a04e2cffcf7d1fbd8f36c6e43efe3ca6772ad5997104afee77045337c54272929c833b159365f81f1cb309d84bd5d50954fb735c07cdd58cf8a0e7a7e097720526d8f5332abe99aa5e313af87b3935052615121df6dc9ea5785fbecdea2672119d4cca1a10b1830bbf3115f379dc79bbb5cc9d12f34a78d0d54484b960460af37532d21c4f6bba21cc32484aed2df2139e2ee197ebd2f619cffd498676d2728dcf53723d611fe10a86206d7d90f9aecaa3f2ec7da4c8fadf6f58183a9def72c7ec2155d4bb2431bcca09e78c5736a7a160893245aff8fc3e8eabf32fce0b389485e19e45564d58f826e3a87fb15fe8af73bdc38a517c871cbb2c0da3e96772a1375d01a71694f15b36f78d6e3c4557fff72d7239405766658adbb12c39dd72ef2aeee3d38a2a752dd4ef89c34889b9cc48061054d0940fca09d6f508fbf972573fbe346b63cba9533a2300d89a264c2d61aec0e819b877ca95bb6e018ff65934bcb652d5631651d4fa16000defdac13fab1b75d72ae22cd68e8f1c7fbe67216da5403d91c2287169adf257b66d4db29036a281c6b83b9ba80760c569e18428dcbb4769fb865a6c8aab8cc94522e7ed6fe2fdeda6165f9d860d37c0891071722ebc31287b413c352d9962128c4892b846000b15ec653c1d8924b377c4f94372120c5a45d1598ac01ccf247c472a598a8bb1b47ec0db8485c449c823e4132f72cd9ce63958064fc7bc1238282e5dbc6391ec479299c590e69a5c768349cc7872c0011ee766f772ac8d51b301cedd1af983254f946c9ea935e1b7d4d65bcf675c3d3810d7e39ed123e63fc19f89fa2f4173354643f05c0a82ae254fea1df1577251cfb7174b6990019c9fda56067aa998ca3472bb489b4a402f950ca6dd2837727eb9cf835f8fd8775858fffd6d169e6d98ff4ff27f1d755cda1fe3d2d4e382022854687bdca0c7bd28e8920ee50f42dacac3d68f902a3f49839b73d1bf784311b1c2c2e8db36ebd655fac310d357fa19c7507e5a585d9ce881cd8b6bcbef3d2a0753956a20ca6764030dba9826798e4657e245dfb4c1c62643e42b5b25c42d72b2837b7f439f31a2f3468ffbf43be46279bd394b2714244e12fc802c5744880a7206a37a8963e1db685b6a9fd60890a93cf9a851b0216b2ae488395ec26c233cda419cf85dad7db7eb085d91d7e51fbc5bbb585b85405ea24301ae11a348f61b9b1b0ade34affc188ba862a1354c8a650ae658131b03713e656f14c133c19c470e73ef392e2e261f492948511e5580cd604b92fa6d0db90972c3bd4f39c8d47273f70615754600dbf3c099cff48766a6cc78d004fb259d5e1a8848664209c8721dfeefd90209112b53c01b289c3d368732a4cdd417529806ade0aa91c5ddf367b47cb6f7c4394b173747afe2857ba67cb436821ac9d20bbbf6a7038cc40e2c72748a0705cd46f7668b6f65c541d1080d25edf0d26c7f3c4fb1643a73a82db5720b2900a0b2b3d180bda889882063c1f33a90df57b52ae75feec6ecfbb82192698b4e1854fead6d1c32ba78505b81e327d1d8fea324f3f054584904cb07e57f72c20d1d0e67299428b50c49e1b9e8c9be4f96b18533875b81b533eb1ab5a34971ee2ca27de4af942ab203691329e6851b7fe7df458aff93e1839db8b4be8ff35ce018f3cfa7fe0ba7f1784cdfac29d6e0041634306f9cd3dfb5c640005f7a9850e85f74b3b216c8574f171b3d5b0f16dbd7eb074aebbada2d5fa82df8bea01072dfb41fbea5975af4b4d1f4c6f8b442e80e640690710420cc7858ca08f562df72b52bf7a72f0ea7ae5d07e635fc2a4bb6f244e49da9b5ca04d95c68c8329da41fb4b7900666348fafe12c99aa5859c9400580d9b7c9aa9714aa5e33faea7c683c1da2db2566aad595baee24ea67453b00120f23e9fe246b96c878060cf4d3891a601589c990e71fa235b150878d197987039d7857c7fcf384436fb0e5af0ed772e12dbed7e1ecce417a710dacd3cdd3d3093ebfa9798e6bc14ad083ad52ef027218145766a130aa4d05f62dfb7115f919a4354d2cc4526abf94c300889b390f2906937e76b7d2c5f0d4395b9c2d78ea063cbf7263d64f731341b1a2ee41f20072a039cdb5abdf5c2360989aa009c863f515d5bb77d5700a617c97c789d7660572da42a45c9793bcbc94c4af3ce1c13077ddf66ee32aa576712030f1ef1577357254c11a5a471edb69ed2bab22f7dbd02ccd8f4f14bdd0ef9aea541cacf0b26b72ab87e1243e13959afe100bce14cf06dde911070f35e80cb9053e5accb70729591513a2003d1e92d9a8efe957efc3c0d5ce4a99dc1915f5c53787b4326d5e3e3f4faf5d219c5ef98e3692dd2ffac091a963d6dfcc35b0e510918c163bf3a43472177a6f4a46dd738afc1150ee936665200e65747ae38bb766e29fcd02171afc5182e48827fccc1983fed151a6ff0450c8b984182702d257f485a592f45aff0a7263f670fe52b62c7a828871a811f9521504858dfbb8433145975a391f2beb1472cf4958f7229899271dfedb17d5b5ba60f1a768cc64c5fe1b324ea115c27d5d0de06b726a32705bc50ef674c67ba54549dcddac81840f009b4acdaad618978472345c226a8cec7b171b82b6b1032c3cc694989345fe7bde81993fefd3b15e227298bc447268129b04565751c758f85176e40abb82e41fbfefe6272b3b24f6a72f27ab97412533f63d3088554187e3c0122dfaf04c5ad84b43871254592bd054535931b4eced7d303edfbe294dbaba5c98ac3898e255b74ecc161d95176eac195224dcee48fa78afad97a961b2f8239e885aa6015aefdde299de8469bb71c06c59ad41746b6cfc56627be663ca9ce7ae765264e611e84eb2ae909609a931276d722a7dcc4efa05f0074727cfba88acfbdbdeec91077b58ea5640195e3ec50af97126bd7709f1241e605798b04606e0c5bd326e5bac809aed1ee8d3366e02730a7276b20e4cfb0ef82db67d7c3da16b6fca99256fc4bf85d9554521e46055b21872a349b62cf662e7ce9fefa30e0cf0b3d753560037ce6dc95c170cdcf98e98cc4089d2c338ba74529d09e22501eaf6fa16a0903ddca49e806c6af2e0e518ad714bab3e6b12af8d741d709af425f63335b35556dbda3f7fc5f396cb716bcf7cda72c47251451d44262d37924ed7e263cb72845e32a579b3173a06431d064c04be72f4b019ffd43e4c4995b768039c3e84453917aef940118baa9d962bcba820dd72631ac4774c55e6e52e7f16b13acb65a876535b0ea63d8a89760e96244f3d3b5f0496572dc9591e433c85763b8248d4af8de6809cad75da1bbfa266ced06f8040328ba8b8f87db573a55e91a1b759cb8a503d84492e08f52017e1d4b19dfda8726902ec51f27c6dc77b92a37df71f8bfd7be16ee4fc69846b7c415100f165df722aed06b150b8b03541aa975fd57c6f596f6d51eedd810ae8a4ecb3a8e8906b729d015a8d9521a3ce1a973109efd513a142a0136d9d6382ef5eef4f90a310d472d4cedd2afe5bd935dce80b3fb87e52b16a459699324a081650e55c1e375a0a724b7dbaea3aca1f7068669061fc707bad598f781a53a9f69d7f1efa18d475d7721b5a13d51a9f07e412eb35194908ba3ad3890a0450f6870a4cf51ccdbca38750444aa6357912c4a663d868cb416e57622791fbe6458f8768c2d7680589cacf726f94b4422fddde585b21edbd9b864b3771f3101e1ead5b5d2b28ccdca9b4d6141db9731fcf71908d9895bf9fe3704812e7ba356170b990f9697bf5e9caead87223a06151daced44ae3b4b541ebc19cb88f2401cd66c4a03638e9246e9c2f05459ded36bb4bfbbca1037cb8b0cc478d1708a4f29ed79cf5e658a2e05980e4113b76f35db96d33262beba5f20393912b0eaf2489032b773de98d01fb6417a3ac720b387f946ec715ea0ee22519669d58be40e58e8c8cbc6a9ba491d3aa0943e172cc0eaabe8ec2440a6390a9066e82d7e7f49319844b819bc945591d9efe6d8b5867e2d54dc8f6e1609a556a69448cee177e0a358a4dd56db65f4d05b5fd03c530516d957239f8015c975636a3c9b74bc42310d81308826d8a1cc3bb6ab2276e72a5d283093799e174b31a1c48267b47350f3ef80e5eed24ba8da8db8ce47d1572171cda8eecbdb74a836de63cf951ad7583dc1c62f81d3e9f7d4ec047f12aa3728e5008a5089a26388f386900ca23aae34732dc5477e19359842c58065e88f16f0757f940dc0efafadb2cfb07449140e847d3421d224b7f65443fdaaac56879721d272116663d00b6267511104a0e2ede67f9464074d1a328e5385705debb65723f84206254317dc25c85362b1cedf96b0daa71d1189c127adae3a57dabb8440c9d75b21311990fb52265bba40bfc30a5d4c7d478a5d948611782c267dc487072073f98cbb985730ad5cd96d1e5101645502286c32d13648d991d340a4a4e685d2962ad3600d811d1c932688dd11f087b086bfddea8ae6455172192d1eb2ff6721c7e56a7a2b1620efcce28ac4a7edfb493daec2379febca071e6ac4177b2bf72811e0dabeb1e3e9b3caefe561c96a74274b27807e236c18d987a12f2e4be2c69ce5efc79d501776df13b8c105bb2ea0362fa29677ea9449d3d92d1adc14cd272277d344ca4db7461cfdcc493b051c43edf016efafdd0848cd2fd87b123b487402e2d4cafa11a70674e548fa7591440c6c2b4022cf457092d25debf88cabee857317a80d96d3496ccbd178274929f6ddcbb9398baaf269c99763a5a5b38095972831ff71dd22420ce8d780e71f14c959dab80b3e21f7185b0e630ba7ff9bd5272059e651179e2203735cc17b477907ffde59c6ccd2f9fc3bc21b663ac2f818472073670cb113ab1bf7a399bee880e82bf7dc15a685b3cf5cd23c591d6a3ef351aad467fe0784e591d0e71ced2f90698f04808b0988d203e17a9455b3d45b6d0722595db1ea332a65f4fb54536530a41baa9e7659ae420508e19b814341689627240834862eed4337a7846e48cbe3ca6a5f9ac4a779256ac9947fdca1d81c9e817fc7196d6776e3eba9169b5e090f32665e0413fe77c83271811c32fa39b9afc726c6f0d67e5ab5b62355f4316f79061ad458e4dcc561350a21a0c62682f57fd0a401dd2d5d90449c7ce90c6d24c97837e59cffd7528ef565d9ac2317584d6162c2f0b0a23cd4a0a38418309ea2f211d3db858ad4d04ba0e37ef9c6d60756c141f27f1e85f4d871aaf0228e6937f4e744914f376c53ef188ba9e5181b3a38acb07fce085e4b25cceee4a477495f2b3826985cfa48a03a57344fbb1ccfb54b61172e4ffce02d7b5382a79fc673805078c36ff3f7bb8b6e9361ea269af4eff094d7210a4effc100b62e92fc0ff41f989d27edb857023eaf18ab39bdf2ff2e94b4472749e00c9aa89f57696589cdc01a57cb5cb796a6384e4c7d93f5da04983717e53c56b3f5d03b2c7ad39795b737f8a865666a1c5a43f938a805d468b43cdfdbd4cf7967a440c055e512cbac18a6f82b25b010c4aef0984b28cc9780e632f0a8671a1661d0b7cb7fdaae8ca4a47c6b3c6753b4647438b005902e9fabd59746489722cd18f7f6d2c80fb5f83cb7b8a907d8fd380528e4a0a15e8f8a61a78ff4bc472f3bcf7321cf6f3b4d599e67e8af07a87062773ba2ef427e67ccb5f997442bb721223e0fc11b72dd3fa75ac46427aa8f1ec0e8c6a56bc7348c0e3d54ca9143360d93bc7c05fa8a12495890f80603044d885dbbf3e8e33a49690e03853dbdcd52f823d508f3a576a71cd8c65bf99f329882f21cc72e58fb166e31857904b2ab93d4f71f2b7d85158c62f2dfd5b6ef6e2b31005c11aac6ee5a07c63cbce9fa0b9720fd7a4e32e661db6a01a49692212c475086720320e9dbd0af5ae5696985bb4724dc02a076be6d2b9bce444c0a950de3bc1bfa5797ef232f890797c46530de5723cc9f681753c8bdd3c3af92d9a5f2f1c6d12cec0d52d9045ba77b572d8bd4572544f28e429bd1630d5a4b47c066eba774ce4f7cdd8f49d63c3fabc804ac35372a503107114f2ac6b1f23bbe9579f3b7b1a42037ff67124e13dd3fe82daa38b38fb8b14c9c3466773eacc58c3d2782713e9aacbff00d32aafad719132afdd4a728bff574dc029803989ab580db43503acc8ed9b648d19aa1bd7d45fb1dd09c9680fc359404b0a837098869b52428a09265ef79d733dca235f79e635819ffefd3a4f6ec95eeb685519d1fbc7154a7b9ff8241a7cca1bcf0d0da42f0e65fe163d72d3e0631c9628316ba9801379f17e81eb8d4767c11c598e669cfa8d4d259969722820132fe3c2bd883b95414746ee1862cbbbc204053f890e7b53589f125b8f36e49d0b4d38cc2a0c792b00ecb63aa082da124e56c40572dbdd69ec05e72b0072a95c38a24ed5523a7c08f3665e8e0d138606ea31fd5f5c015c600712a5d685725382c74b65021097c8da397b57d2146112f9e316434514c20088684d1e4db872c0542abfe60a4182d27645b3e3e3dfdef8d4f5c1242684e54081cd4f93ea556ba855d10a5ea5e92259153ce2b3caf03e19e0e932da2bb7e3073d0c4c56147e2ae477be5287cf65191d7a38a6fc64c0a4d1be9131ebb7a4cf7cd564afaf099f591a9063a1c21700e6090e6789878611b7af541933a02dc29615f08891dcd88143d0bd79b07cadb6f31ab70400ac0f40c25b0692fd176813126ef1dcac27f9757257993caa0eefd60798c8f243ab518166b4634c3f852d20f941be7ec045c8d43e968da7cde2cb085ce1a7e0b9d4f57c7e026631545934b31a3717f0b20ce6ac721fff424802ee8240352a344629ed78805a6fef8cb5d2f6d5a6a53651d4d8d0727e68999696daac17f94d2225df6bf1c1b66679d87f4024a02512d1ed06a75a3da42d0d6ac9265d1e3bc2f36ef65297b695f5201dd0748e16c796aacabbf29d218413513068a5cce8da60cc633d613d680037d9ce5d2d3675979ed068841af6165c95d6946b5110b533520e0bdf0737a512ebff3638e1b80a361bad4d4f3a0d2066f321e537902632f2dba529f2f8bc714707b58ede8e82fb3e4d2936c52da5720c988af7e3b2debe367473486032bbcd10e952a1ce3136b06a0a46decf5ef52915bee965f9be453b4a70ea3d56eb8f41ba10f54e661f50e078db9ee2181ce172bd18e56445537396431f87e9c0fa90dbcbc1dcbf58d408197dfe126dc49492726a816d55d6c0a76b159da8b2748b90306ef5117a3a5bf88126e9a499e1fc9472a7ab000e82b57f1141801c1c10f2fe781900adf128e7eb5adbf7a924c348787270c3e561bef33d7e8b7cc0175a8dc7866f4641a5f3ce6e1d8d5c7ed9846889720a48edefc0d11569ee5e2b5e6130487ccb3b54259018627dda10d9561b9ecd72c44e59af44da62b6bf77ceac1c32e7c243191a09a68d40ef54a81005212eb272aa0e4cf881d19b497d1977b7d91952512c4ab109b18dec28f7e092ec017a9d72365147874d72a1f198e1a7d9f5e9797a2608636439e5c8780b4668763395cf7213dcee2caa0a79ddc307315eafff2530db833a6f8921a7654c06e924bbbaf1646627d254dff8d3c6e135967c1532713e937c9c7f325cfa1edb5e2dd07b1fc564b22f485ecf9e534a40a2b2234148cbebf2fb229cfb6963bdcce8f0aab927c1516297c4bd8d1cf53e30c4d0cb1eb7986b3b7fc8ad08780c8ff439ddcf840474108208b8799e9491b703ff3f74d9eecb269b914114824588a14f4d3a667890f972fc8c41578ae945ae4b577fb8f04195c3d018331212c5f9a2e452c6a7806ec758d10abfcbbffa88509e8b510b8a4763b0ceea7d53476b25a8f716533d534c1721b33c83c08c04c1113d0933c31897fad3aafb2fe0d19dc259e1901a62d36b237220c35b22c35e2890a369ed2d5b950320aa93f8ff78b3f3765a7ed321f9dbaf429fd5239ee50a031280fbb10896f8549367a9e151fbab1587df924962d970df2fee5864cbdbef05cbe01736b69f0b10b747194c3ac0d85bd366d876aea6c7d472241c95518b00120612e739073e743206c12fcaa456c9d3a7a7768121a012c272d3c9a1aed5376e88c6cf246a3bb6f8919acd9abc231b1751c34491be7eb393382c7007131bbda38d87fc9ad60fcc18ccb2fbe5dc38d91db8aa1f38751b0c6d1fabe1bdb16ae96f5c0ecb54a72740408b4b1635cbae1b64994e0c7fde9c811d72b039098ce2ba30421f8b931bb16111fc6c1988d3e2168dc56b9284af0ef2a17292048c9a95a1b55f1d867744e703a63a31bb41538bfcafdbcbb99f4ea7a5bd5602baa06e026069f536855c9f4bf7a4ecdc4c01644f05ce0dd6d7bf9803165a5177210b55733cd6d82866761dc486fda11e8ef6ea9380c414431dd63ae8f3bf727a72fa812093424e708d17e20645d8fcd9700fbeeaabc258fdf1e61f6f8a5d724a59b87e55474059873ab6450080f10090b0030de9ba84bc76260dc9dd1eba723615f4613e05dfe17309adf48a9875ab07d0ac9c26b92012e4fd8faad3250572effeb3d87d72d8f1ef6b7887ba893d6d102c7176d3f82c6d8b39fc3f50365a2470a8c34387433562c0ceadd676442d05cdff88d34ce1d371840cd5b1dd87cd720e3ea76ed18e4faebb89e3f46737e73e4c94801541ef0ad5c712fc9c5cc8687207e881a4a8addfdaebe4bce6a99bf975a3f3ba81682f56443f6b889c5e124b652e7d6a46a0b5a88712282906dfafbbe707af3003ac9cd7295305e6fbc5e18c725a5d16af5b8a3013071b484a6b71d16f35e4cc3c42749ba8ac5bd316685c8772b06f23512a89a0ac051e76e7779926ebc89f932e97d95af7862ba1c3ee1ec872f9b1ff1cc2200d94b22bfd0602664926ba8ad30763a634868f5afe800769f910aa811ce5b8be49a28a9a7ece52550831e0d983394aa12be45288bdb8e6884e72a20f2fbf2a9d9b0e29e0cb4e0446690cbe10e1061bbfe936a351afc96cd3c772df7ccd9ecd229768a33f0756478f3af1b148a8b688dec1c07fe936a78642c872f153a267a8c81c0bfd54e59e067171df22f693c6388730f2267bedbe9afef359a57f7071f7968fb77a54b58f86ebe759f70515c95f4d4613052321ba95efbe72284f63ad537db80655fcedca03fdec9a3835f6676255100e85649bda9a292139360cd6068e5a4fe7c6b89b7444cd90ca69ce9042824bb48e6a6e6750f7cc4c721ac0e22d00f68197411a2a0757508079c83a19fd1429e847a173169cd2a75e725dc2d9249970c971269cfb390a216f331d1da1db03e3e298eb47ba746df10b72366dff4d50371be9605df2263e1948a73fca04dbe33e407719277b639541ae411d5e635cc0cb5183b3a7ae317e883fb676b0252801212e37dfd9f5f4690ee62fe3a2ce3e254b034775385a1055bd1e97f7fcd76b5e02bd4f9e8b4437991c374ae71c05176951bc455646cfd9dd07818286ba22857bfe82c86b47f92bf5a59f727a94d668b77b2cd30b0140f7c1581aa5a77df5204a40687380d696d36a0dd672c6b7488674851cd90684f0bdad0ba925bfd0beba37ae024cedcc7c1eba72334f46d282f8e7d47d98aaa58e1839a0da5c230909244822183ba58af9ab99acd172ca503a6588e8c1c4bb2e386388123f5d485895b1852551f760148e0bee63b6396a0cbdb1c41a455a1f76b83312994b7a8b2b8a508125461e7c77c58d7dc654723592e6c9487a37fe60aa44bfa8c7af358794a2ecb8a248c99a8c3faf09a69549793dce0286670a4b18669c5ab90d176d4495df834186094b5edc98cb4ab84e7247b81fc3540f17c9fd86fdf6eb69badae983b6aefe2f397b41694e00a779870e73ace6475f31ac4b11c67c476a55dbe3576225f6ca0f2aabe99094626981d75733b39ed383b912aa9e11539897c92aca1abb8e06de83f3706945650bd7c01868415c23e5fb0b5d2884e7a8c651b3ecc406366924d55336128cbefe21243785138b5ad3d34608a2bf6d47a04c8912382b390d34f0e322a1a6fed0d31239163272b0d1db6138570bed4c8a790d36e6f0f9ca1ff50a6408cea4a3a350590eac1d5a5d11b3a3a557c9650405cd007fb18b2ebe39813dba432a82a60d26e3f200987235d5c9a11fe40ebfc204025824701e07ea2fc3af424ea974a7b165ef598cd97273da49438c3900fef5343b271c6b48ef91d50e73195344c317d619aeff9ab748d3a715a39a87eaf2b1fa9144ecaae038dbd39f28283594ceddb17b1059d2e472acd89bcabf8015665d0ed3841a0194e07f116c9908e3f6498ebbb7878210375bc42a12f6242b61bc0a34defa9605f51119daa1fbbd943b75abe0a7649d3c6e11a22ae8563003ec4993f07f9e9f1d37ebdfd1a39212c2d334df377d374c2a7b6964c8138ae50b65c187e2bf07dcaa0f8871b8475e5779d94a67b1a5d86b34827242e8a0dd7673c2e1f4dad8a5cadd1a80d8133f5cd6e520d468660cff4d2f95721fb31125c2ee7fbb95321c71adb5db80706e8c05a946d91a7e7ecb171cc4e001a8098c8566575e4ce4631297276043e897ebd1cb4c892f0bd678d20062a1e70ea2da3bcd2a3b1f4f1e9ffdd5b50014668cf283769459389fdc737ad6c4f7f039d09c1af566e9e612d95bf54c1bdc0fe8c32f642fa3b7aefde86f70b8c5bea63324dc8fec7e7a51ee361253dffd6e864bc0c5e0717e5eb7aec88a0a4c98eeaf721ddfdddedd1c576282533c4a5660e512f08bdad3036157b68891c1d9f34ef160a4ff8b9a17cb7a491786379711853e0c147b23132ed43c3afda9c29299bb282fc199246a3d53e53e02e09cdc1ff0e96c64926aaa99b840d94a00ced2bbbd770743971d7e4f9d497069c1564a8a03ff9c5184b5f4e982431781a2b91355a2f3720a1e50525065f6cafedb643f1fa8c90f7b5cc0d782d87bd8f9f84edf31433f02ae1446b8f6bfc90af0e1661d57fb2116c692a058a9176377bd0d974dfe6149155c0b742348f12f0afb8775adf884ea6d6518e518510698194955947f85ae226af4555a048f6ec7ff05c8b3b2986610f7c937d53d2630e27f06055e9754cc0e7234b3db1eff702fa55767151a9315e3da464c36ddacaa98c54ab0fbe86a52b172521cec4dd82cf10e240bc80ee5c524e863f7ed9183ec32861c7ba44ed921ca72f992538d743336a869c21ebd21d598abf88d6d23263b45cdfb81be859917623661f62d3b718e751b25880fc28dc834b30022940e725279323828906c21371e7284a0947cecb3af745c8a35a265f5aa07c78b4ce3653eb608899595e0ca80f37207ef4c164e833ff428df8e9aef9809106aee99171ce5b31a52555e670c755172fc1b0ff90abf2dbd8d988f93d1379a76cb7025b3298299b8627937d5280dff7215a3c647fee2ce624b947efec2a47d3a3c9b31f0168b8525daa628b9e1f44c7289bd8d8df8d8c60585e3a559fc53364c800066fd3899503d2e9ac3c92a64f14a9d940270106cad3ca656c82abab56a91991fe7763821c6dcb1361b8f06af3f6b4c98af46ee7c1955ec6da8def85ce9f65ac9326cdd73e8e76635ee7c7676e772000f6b5d75d55054ec83882d9fd94ff7c0b2411d6037d145c4b91726dedbeb7224e20fcdfea3e40666da81accd5543d7c507ca7189cecadd5f037cca6b8f2f72d863748cb05ec905ee68435e79ff45d093100f5490be82f98bf1a6f7e929bc423887306e02af8f2f78bf0b8b07d252b21cac7fd8d12e3c79af51fcf149321d72ea142e60e40153e5a873c57dcf60029a4006b17c2ebbc500e1b2f03aee4bb3723b35af5adda21cef771e023a210530d1e27c939491b159fb154a028e58fb1a72bca82399eb25bfecee814c44c48983d233f917f5bf9f5b3a50b129603d858272d77fdca7ac4e38d9ab390c9726b60984dfcff6956306339dcbdaf0996b13b067547443a64e2e5749c5fb4f52692641e1a7afd01ef4d40bfd1ee7ae32efbf8b72a26322ff2cbb6547fab67b0ddef72fcab63bbab7fa45e25d7ce4f32a315d7d7270513dba0361e910f674a18553d498818128c3f028afdb10b0663833f2c9167208d56fe01bf0fb604bc6bc9b1b456714db5299a26134988bca0a8c0693a86672fcaa9420d6226522209c6e91183aaa0c9b047836b34479f369733d0e65962272c104dc424afc9c5cd3ed21e5550fbb5889b1c623fe0216df169e7b0fc481853d253599734154badb5b65ea8adac44ff506668c31ffeee65b3a83b5e39bc51e72fa771e224f0ba3b89830cf86b126cb8d9f7fb1cd8bba62802d4f6be6b3254c72943bfcfcff4e6fba72ad28419324ca89a612c170b5d61f3afb990d5d7ac456465ab1e77629587596df4a7f3bcb3898cbac6bdbe12d27c64fd091b7570a68a57216292b8b25a5e5d8541eb7ae4adfb0ca4cd8d8f27569ffd344296fc9ea979328c6a43a93b04b3c08ebda41267dd36b31da4e0fabd3f968ce7a15c8003609a03c3e945adc3cf7a386ef9b74ee90066e9529b9dcc434e6476e4b80ea75cf005e72427d51e8239e9c51343a66422c8303c234b730c3f57143633ad773d26184966247f4eda9996f7112212b84165f5e624899107d8bd5143672753a46250af01e72b07b72d5f26a64943e583c4e41f68b8fd641da829529b2b78cf5fbca513dea72c2af1e6d12d8c325c75ab7262de966d961c93f8b55499f2135ad4f52efc48c72bbef8772d6732f9271aa4af2f14e5b8cd3f913f5566848dedb6312b335e0bb72832b1b9a27fa25721a469aa5976783f032da7607e9f160ce525a921259c02a7250a71f0e17ca625787fdce9e1c9fa57ace30c8d468f728e01f08bb2cf3d28872e96dba08340517d41ea3064aba7a56098ed19da97795fd5041bd33e07866b572b8ff55a6bb8fef94017eb507cd9883e781332179b27e2fae1c75aa94b59b000b306d71cb1e6ed0e0ba17855f2b06ae6180ce26e7c5ae0fa1253aed6d66ccf1601f4daa684b14d108fec1d7fa488964e49452062a1afa90178f694cab16608f72b27f39b28708f87e39b172fabdd7756fc0e6a6ec09666946111c94a25a41061884422cf2f20a4896954d210279548c8f4ac6692e4803046c44d4c69fe333ab70c9e51921576cbe888440c812c4618897c53d70bfc34ae3fc11aa9d19f9184972a8a41cd52440627aaa47adb4f3c56024712825f51918ac134cc7f5c3b9fe2369dd404810010642b9a9452371b26e212a23af5ebb3e3ef5ec8b7a58ae5692a704ca2c29530cec776645ed2b5db17828f65c1ad78323fd215dd22d34fdbf67db72a7586394e655fdeb92f7b363571e1312f82ecdf15a5edabf06079ba848faf07279736153d8d475e0da917408f4e684e4195678ee0fcc7492e51cdeb1a58233053e383bb1b132821c4155c669e0fad49096aca0ae14232dc7b55767a52c6a42491f35ead483ef121af00c5764a5c6e661bea1cc2835da9d3bb9a8ab8c9b4a9e72233cf44608290c4ccdae3af1cb608b74befeb8055e86a36baf2d4ceecd2f27725fa2ef3618188160c9519dc971bbae3a17fbebd61d17a8dfe4fc9e62c6b61472212ca4d662fadeb575d8e268ffd6cc34e19b6303f1e3fc043ba67c72c4d2ea318eb613e6078c718195e83a46c683d66181c83b01cc5328b37d4a51a894ded64c7f15fd186a2e8b1516593cf091e9c9cd1e53c3d812ae19f256a60befac2d6172eadab332d9a604f4ca076e929a066d20593454a80edf99121600e745708f2c195cbb92094ba24eb396ad0f1deacca98c62539e9b9a64b83c48b8b1d6f535a872e51a705cd31b47bd0107d96fe66dba08de321f8ee11d0ece9f7f6a616890ba72aa9a435a78e0b6dc925f2fd423ea500d4469de88de94082554e4088845fa0c72388a0d455b508096c39659342647bc3caf0479ccbf6173c157fecf9951363f71a28dda8d0a0d8f3b6974898826eeee72eb831a4e473acabd5cfae9eda5c52a7203a2c47ccfbad2a311b6b630644016fbe551e90fe865adb87bab9f2ade6670724d66fce3c8d1016d4bc0befdd94ee642e626707b2758b6c60b839d33a79d324683d81200458f914be4e36082b5dd80ba85437077f98b3c0329dde29f44987e44c101ef32fa66e2e472450662a58bf104268f76f68872f70c4b129d7b294c4072e07d5bbd487b87213c85f96b51b0e50e053b2ed06ea4d6454c25d31f92c3437254ca31d2d3111cf261033bd607ea2aed1767d51e506c8cfdf80b21d2b9c0e572f6c171a3386bfa501026d08a652bf4b5b3d4e245cb5550b0b700222505b056724e5ed19d91513fa638a93f38bff90691345a9346c1ca8792187f2f3897ad7e203b2f77b899b3bfda765d4c804fe2263de061e9d9008cec864cbe56f9f4ea033898a584ccd2735026013b7b59fc666b67ba4936ba251060ef9950930124b754728ac0b990ead11237c5920c7cc8de36ce0e0c662060c3f541aa01ef25efea3f729cf389e740f8d9d860037e7045813d300c6854c78c2536c024a55a880b3961721c4a90c176dd06456bb1dd483684487ccc11caa77d8addec78628e5400d1bd62dfd00d72cccda71a189bc713ce399c739597b48862a14f3ad654df29ef902942b74725a9d1bd16e0ff78d57aec1eda21d2b57586f069d02c643e59bb2b4a4272192b3c5a44a56674725f3d1444106e2975200ec957438d6a69bedb4cc424bd7281bae70211403d780f9bded47ca822f8b685cfd3a25a8bef7ab53b91a0b57466abe53374601ddda80b2b706ad07937d41aa87d4de4a452e18add8a810cb6ab7223165cbd6d162a8238f0d8a5666b8504b229494cd1dfe2c26d9789047d26235a15ca67d9a63913ef389d29ac3c4deea3cdc0c3c670469343cbf1f339a10e7872c48bba8724b4ea80fc4c5c4e83d978784564d4f35d46f9d053a4b30dd015767213da3d217e3f20e811dfa21d27488242158c746c3c125d46502903936aaa1b2c331e11f8159fb6fc85e2f5613fda2724d564f46166a535ae59518144a41b2f15fb005f17f687f703c0408f89a601ad34c2e2f9de3273b3857ef1d2d00911156e740a330da630a72aa86afdf8eba6b32860b7a8b45f7b9d02fd2ac1626f1c3e4d3fe811af5061e163754da85afaf856b5f0337754400090c6a1fced87bab10d7209392994723d04d035838a4146c001a0e640208d115667cdd0c6a296ffc73372a3d4f7e0db4f15264f4f4695164feb5db63460ea00127edc4a6b3a096d2cb6698f548d8afe97db04e3354c3e619cac72824ca1fc3224e49bd9a74e136ee8d572ab558d3579084e69a52b71e957c1341e7bf78bd346b240d95cea58daf8425a26867e9956790fbe4c8826f7e84a8b616515e7d46d08e600f8b2d74ca64d496972677f131bc28159ea9795eca62be7cb032deda5cb7398577ab0eeef70090a377216775e4ee78fbbb0fd6fc1489d0f625f7eec4685eecb9b3900e0b5ad3f427f6b53e45bd274f6d659cfbe3600995855d14b3cae7b4b007d414a446f7ed33e4e51ba08556da22ee9efb176c8f3e7ae94dad2934b2bcf92ae4ccddc83e4c4975b72d451700934e7acff73e74064611ed6145c2665ec68da667af3ebe600f4aa7b726bed6eebccbf607b5f3aadeff931876879953ac26b5d405e959a3d796cc493722e94829feeb3df8c5e6fa6dd4b4e81309666b5014de1df7db700bc15317acd7234dfe700bc04b671a3d81e62a00bfb9b5cb7b4c0825e797e0e40de84d886e17249c2caa65745c182fe1cd3ce9795f00c1b94d478c1a0cdc727b11ab68f3c1472467e0932bb3338c1888ea6659852b68704fe02b223c891148724b343a1831a72c34d60f37879a794de5f31f7d086ad241edc86e4ecd868031740bd2b4ed41c72b16b470540e7a1e9c1c6f5c38d99b6da98a8fdd528f2b8dc330ad8173f813b053a540de532803a5fc27d4fdd2e9d3c590957c9080f6ab37d11ef53027aa01b7230cd40f2353851a48025aabb8d6ae8c7929bd17915d7cf43fe5d1e1373b4607215c53b72605ee03a61ce98975f290f4b5dd041ef25c846fb3dd8763115866172cea5dbbbcd88f00ddb6cda7dd2472baa35a467a9a7c4b39669fef368f700227206ae23250cc6a9d8d2fd448fcf6f888daa30703a8d5cb61e6fde963d0ea8522d0775c41d007e9d69a8544d956773d3d23f1b94bcd49aa49575f114b4bf53317210b605caed58d0222741b0270faa033bbbdc8b7465d727100e86e72f4b0d6f72aa05f4248cb6b1e9be7203e1b0e434ec24def7d19e6d467ec0860d9f66a5bc55a7ffbae4048902febeb8a1be10d222af1174920f0d830814f6f0e68b2bc44313cadbd8d3f54754aee5e3056010163b0cc2edb4f42e0f2fcb20bae29f59beca722485b532ab71c5ab710d18b250d835dc7ab2075a2c58aff4fbf2326714ed1630b2950ba7d70791cc34179e87d6b6953cc3e1117d4a1af4d44d971929263569721daa486cd5f7cf8a05173b80c465e042ef9de7550ebd9bcb1146d2ca3d134c72aad842fde4b71db7e6e42352817df3e5522d67a0572dd603fcb851de0aa55372ba50e9113cbae83eaae831a9a667c6919a471b71ad011df7aa91cbf38964c3059a7e48cecb666734591cbbf8b7093f689446dcdb149ff5ba5ef732a8591afe0d0490ed93279dc5848497ec7114aaa7a010bd18199d9a17930a719bab16349872f6166c82e2b780b3c467bb6aa376eaf99b90396af3368d7a6413e49ceebdd509bc66d669c5b03ba59268083aa64e9e4df84d9711ae7d8759a19fb36a575aed72112229e012e88c302b6ea62d9ea6ddf4ccb64e050279d230fff55b80fdcff8726c6d78f62db9d80471bd43d00ebb4c2110933bada0c2f96583bdb988c1405e42ddaa9ee853d9e46daac99df10e8ea8af1663df41a5c51e0407dc2688d9c449725d4c802fcfbac8764777258fa6d2a15f8d77aff0950d8bbd8f904d67558f9b728b0588bac445188e923c1d74eec2696d7cafbc4cba0de1df282247f272d74972d4e6e78c5b5b0fa56d3e7f78b941ae3eb2c2917811cb4a879abdb45ae0672b727df43c4f82e1d927a279afb196804e468252fd811ba8d8eb47271c8075befa3d94cd3cdeb4cd0d3cb6569db6022d3d4d532ce54ad7379944008733e1b61dba6a1e4e35d007001dd99ac10162739824755068c1bfc4bc510dbf6f914f5a004f72966bbe0cddb10644aa125778d24145f052a19812bd5dd340b1c5ad082b573f6df77b4e442fa708fe621e04b952425de7cd515e5a39d0ae4155e76a62abcb21605947bab13238ce4489292192de96d664f7bf4b7b8d3bd1cd0d27b35771158572a60b993d17c23716f44ba4e638c07805af193178d65403e222dd1b6dce8ab0567bfb8019b4bf826f823c2e197825638cdc17963b0abd1e20937f78df54ef2372d9c4b5be2bd4b25c02fd8926aab8bc92e81db34e34894b9e493688e7332c98168eea9221e27a5c1ce62411afda11c3d78049b6312560788ae0532897106e852f308c01d7d7ed7e9b6de7427569f41aa2688643064cc8e9655457fe082c2c9f72a23aa9a22a5ffa4c04e03e27a859b20fc7df56a53253868fa97fe883b6da2917a6116e7feecd283274814839d0f305526a8254fad8bbdffc1c0a33a1bcb42472f3661fbabcd6268a4143e294521e9760deca2ca600180e31d02658056c05e65f16f4dbefef79aeb1c4552490d70a50c600e014b26aa58edc6d3f8f3247c52c72325693546e21a7044fb5d50733bd4c3bf33799ac06ee5d8b3c3d1b4faec49301e3d3a756ca710bcc9a6d81281a08b1e84747a8e5247dd2e9f52ec31212918f34e7405db2e88efddc1a4301820c751e09b78142b6caa67b70307fe547c3b47c002d26a8a968a5169205266f7200adff6604067288fb71df28ada93c9d79aef17254b254da838c649406eda7dcaa2de67973ae51d64380c0d4dc6511de39737a721cf6c84b0655c401bf68eddc4b0a0fdaf6d12eeefd9ac91503f3a969fb682a04d1386bff3694cb0732cf6b1a2b8db1f3004c9879b178e089496ab146fc3d64728ebc5bf8e1f6cd365adc2f9647081ad0285e2761d462e7bb85569f5f90ac9c20aeabe6a610214471c53efd9de8f97576bc04b7587eeeb101505cfccf0a92b5155220296239d9197701a297ae200f5ead1e4125d97338debc0b49f474deba8d58b3e4607c5d599968ef0b49de258297db15b441ba312ffb6e9d3705f67346ce5a549d8fdb14ed1fadac9ace6c613bd2f92c6e1e1fd3bc8672ef2f4aa969aa7272861b66927f5a0dd41405c658547a877ee7f8f06f78b7cba265ebb30b9a41e96860d39bef101adde936bf0183211c4a55f7989692ebfc20bc939bcb82c74ff372d1ea8ac1761a67aa1a2b68393f05e27a8b52786d1b2f916e67e640c56320dc72218515e1fe6cee9377922499229841621a029f82d2af2c99e60c9ec49b21470abb1f90eeadd4222239ff47c4f1aa816dc932709ab9fb6066e5ecc1ca54e14772615f84bd971bdb46835cb2fa02ceac13c377f12966ac7c36485341e95625ee72c582e3d4f0f242f1e7626fb9f9af7549011d7b5da5ad8cd66a0a6f7082efde72943768a99c04ad3aac6527bda19dec0e63501459e0c5035870262732e0ea23726c89ecea910992c189a8a3cf749171082fe999f27cadefd4e21210b221b7f972b71d98dc47a4ba3d161575826f3ee596804b371d4a83b9508709197ee383eb19fba8f2f1f61f629ccf4af5c4b758bcdda0bd194839ce0a57b8161b22b3f28944005e8bac9bad5fd9cb8537ce9acd626f9e9d5091ce48e46b135e917d92ad704dfa59ab7a89163575577bb43ed72b8e54332563792c88b707aad6709c3b5829722e32d12fe8abfd14e52cd32aac1b34e4ad15ffc40e5d6fd8930f7a12d2d63d5257d495924209fb2d5ade974027d9156291db62d7dd3685e88ef80c2645e787725c618daecc259055dd2563859ff026e8a4b6b94af63dd3c0e0a39677bd06f87280316b0c0658d2f11991e4dbc399c6febd0487d7af41c134e047655c419a8872031d78ea560d29b4f115f0447915b513cb86968ed237b86d31c9b49381ee320fbd3be457b5a3833757e043d070ffbbfa907e7954fa57a9d20d30153bab6edd0d6217c185b84ff5635a81a79e7fcb1b4c34608c63708defba38a44db73d8c5d72582ab9b8a97681b270d955f7c48a34f36f8a9fff1103953101b9d503a062ac05c69ab4bbac01481985de78ce62897953f24792ab905b349a555814bde6594372db0080950b61107777305340210a60b7716cd0b860df192ac62fda637468c272c8cbf6a00a46326fb6cd96e4e44e54ff0d09b259cdb5d00c88fc16043dd72d353fd8de3d7d6323b68af821402f1e277a53e76f6708c7ed0686eca6dba768795ed165647cad6f969a23a71aba9ebebd20094c4a373d03b35c37c3ee12e786134f96bc0d4cd3fbbe8fe27d282340b2bf04a83b349ebd1be9d365d21325c528a26aca9f026894cc2c7a2630231bd1e35244430b8f9e05cc5b6759c71e90edb5cf7290f683eeaba257eed0759ec34c589b1e350a433bad8e165d7b8d39731fc8247234b17b8d3e49f78a80ee988476aaad086971095480f1d5b99c6cbf5aac989f684b592d6746ba18cb3ddb82b627e6e881c6748d87400c3914375c1bd97efc0b196075f00f18f669fd7526a313520fb266f82abb290fe3af8453c67430ea92ff3be90e47b28dfc33b6cccc7b2850ae2b458dbd7b25a1ec6b041ff7d4d0afba0e2020a12fe1401db34e4d1d1514a1493e28a298a04cd866de076ec103ad4c19da72f83ce8e576496eaab69b2efded7683af4dfad09b85b42ad59d409d58d8940e72726eecf8c3cd8fb9cc1602468ea8db3ba25c80f12ec486534c69b69f0ead212454c6a4f6acc12fb9fee6a66e5396aa2a0bb1ba0a091bc7db714b0c42af62c618b22c2296fbbf8215b6e3ada4daafd573dcf16947a9152ec43ab33f159f9e3172e47ba3c69b1cc0ac7c6712c9a71548aa94224e7aad16f413b7ef187ad387e972e87c1f3161c6aa1c94137c5969112cb3b2789d87caff5804224d31498e079e72d72a22064786ca27bdfb884ec2b3d70155d883fdcdc0082dae68e74491c3017201cda8cb9e311b87390b0c9acafe56c00f3c28385bd31f92824d9923a41f2b2d72666c3afee4eae86847b956b4994dacd8aedd05f3f3c522403bbd81b6796472d8cbad1481c6ee4ae65064bf99ddd583df2b599a7e809aebb479e7c9ff02be72f04cde9d140f663f4bd8b700a7979862a060cca5e9ede1b00b5c9402df4ccd726ce0d2240f0862b0946edb5ba52ecfd55d36b11257bd18d2e7af3f0b013d1c7288ea14b4b43e2ea0b9cde9c1c1258bc53602f1f8ef38c0fb4f9c017ea2d8d908cf8d3427d6386e1344fef73cf1360a514a85d5ef83532378608ee9fe379e6152f1b264041feb2486fe30d05c79ff1fad2f5caec864ef98faa3260c6aaa4630725b3d8c077e7198b2c226a1dd2bc7e1a7db2965d37f0987688f99654861d1f872af2adac30fefd4baae5941325f8a2bf2dafeda0784b3a48f0c50dbe744137a72dfe31162522df12246c54212770589d3721dd33d0e6644750776ca8fde699558fccdb3779bc43bcdb011f6f7d8ed4e6b37daa1015d06374225888788b81cf71a868b1d9c34a3531d26cfe0e4223105699be4782b86f3a05bb6b00a6df04ec61fe461f766181cbd607ceac8e01ec7c05000c55ba515a1f96f823f397d65271f20691179f47e8a53f7598dcf9ef1462305957ce0404b2b78b27f95ef486ba36272ea0a792054bb81c882404d154696f1b3ed6902b072567c2717a9f311f60c1109a58ef9682f53343071a46e47915b7e21b1539fd2273c7de18c98e169ff769a72f79caba90e86985cb7765a63447ece2e5c1c824171473d6e8692016ac0e6560e2cf60394a955817890f2728eb6c8e9aae1e4c5b5a76c80cb63c4bdd07e350d26f6e8490f7a36a7b2ac05a66266577dc8f289d8498891d9e726cb276470f130727ea4fbe0527067c64520902958100763199d69187e3064427fc4d7b216ed2572fa7178c2cd940fc1b8af421aa963d0b78b719c05982a376a1575fa58431ee5ba02000014ac577cdb2ef6d986078b4054cc9893a9a14a16dbb0d8f37b89167c1f1aacdf72a901e4e2788839202d0a95ae899fcd3cf4a5c7dca1b591cdf4d6cdf36183ac72a2036f92e522ee64b344265c29613ed1f58ec7dba94a7c9249f19cc7be25fe72575abfe59833dba3ca1668e66ba63dae613097b9de6d2e60d98e2381fc393972f823c6db0b1e2d78fdeb1ac02fcc5e1f3e73c292d6b8b18f58eb1196127e8d011d30ca6d7ee887b0113994b243cf03bf6ff672969bc7486df0945c182de9c5728cbbc2f7ab7ceef841e8e7638a1bdb589cf03fc78f1f548b44748084ad87857247e0c3d399047ae809989f81535bddfc187c13d3854ac0117345b94d976e880ebb9d0ee8a178be37f7fa87a205c820516014e7c61715aac105daeeb43ab4fd070c990f750863a70b355c063f6df5e1362fa06a0a64a73ac0390ef700922e5972eff754d3950bfa27730668a4edcf187e492796875e9c2eff783f35f52da58864f1853cb8b174de35cb87ca46259dc82fa197063b21ef8daa070beb4fa5a29b08217e91db7e1987069dd44901b5684bbc1f61424acee74e83d6d1dac2d1e83b72c3f993d569d49c1ee519860129bd72aa2422c2d9524815050b5eeb01053265215b368b3b2e9b99161aa003ed9a600b33cb0ef65a391a9514bd9b8819ee32db23fdac905656ddf082488ad23fa5dc55b6323dbb541b9641d22ddcbab8d79d137232cf0d6d873a8b1f488deaad843bd1928d907eaf6463fd8453bbdc21a3993c5ed4216097a86444ae262a8742a0ea10b55ff235de142bb10dffb09446db081166e5ac90e846f3f42b9cad7e88ef591b02da15b91c9aaa2c4671fdb1ecf21c4972cebe93407871549b3d0bc2bdaa1703b3a94f6f118b61c19e8605695d6890791fca182cfaf1b4ef7b9af53aaace49e3e289dbf60d150a1747092e49e57e507472bf259024544280345a697c762bb3111d6abd20d00681f9525fda61e4a438e872925e537d50521c6e321025592864ab74c067561540f39b424fd6df41e3346b045b0597b513ced2db583a7d2110b6ad081ac21748f2fd150ca4fde48ec52fe772f2337ca86ad04d1685a20d1f0f0fc4d6afed6c54d308aa4f38b6a012d134c47269146f276f3eadc417b8f479078cd11a8a910ba89f2801fc38c6ab24364d1d1b3ca6e15665adfa07ba3e548693000c8d420aa8b4129b25130c1f6e6458b86b2cb331435e8bce535b8a2c04bb5fca4f69bed56c066b0a21380a5d386d72bf1854f282cc0e2f95455c11e4f17bc25a3c6a71db5f7e7271cbc069162bd1e18d3a72359d64d0028d163f6f877d44c20d34ce4028a5d5e62925055dd8816c8a2725727bb6250833b5968289890fd40c1117bba31ae28d36bd49edc9eb2e66bd1f8b72eb7693c6753ff06c88586e6499f8ff80f8d4823a2d5d26f9b28c3e5ac0f8140fe830d02dd9e299cb0588e8d0e15d4b56b4c518518af6fab1cb6a5b7359c74c72054553d07d6efa333dc0905946459b0bdd8a11e4b51e3b7977cc1261144b97422519c35aa3e8084fa6206a18b008537fbb61a069089fdefab7f9e965566ee3528ed54581b66d7db8cadc3429a0a67dc049e2ae29a356fc49a26467ff87ac38526074c6793daaee7944fd835106f7ac601e50922a1589959a86194487decce972e786eecdca962ffb1e5f4ff09b5b1047b467d964abb29a272bcb6845ca358843c286d69ed1945d876f511877204cb88180ea96ff26f9c44744c972c86ca05672a7bba054aa66d90e276a8cffb337ea3c1d5e4800a3c222aff41477d577331346bff93d13c601414967de6ea0a8469a3042400177ea882ba971f6d6291fa72372b5629b085f8b37057c7d3a741ca81238fb1b22b0d051e20079d5fbb0e22ad41d67c83d1f8fe32814409067fbee2fba68988ca2ca0b2bdecc66ecec64af3f1e4fc9c024435965afd396166ac4f4c52b94caf18d5a33c1b3c64e03d2c43238810c8f66e6da7122c24e5a206dd9aa60b6ccbadd7e39a7ec07d27bf04bb794f31672dad283f1b0bf3c136a38932636143b9d584abffd969a342747bc5a016febdf235fe67654722f87c7c328a9c1f44e0b088e6f925598a063d48c05dacee6ad8972c8da988442171f7c95dd53393b37e8f62c3b6ac04c5eddd7fbf37d6201227972bf74216806166bcd2a5b6aa1f85291846cb414d0dcc3aad830c9eef3c2194c21bdcc10f42ba466f7821125733169c310bca61309431d9f81daa9c916dd98b668af35db1b46f45bb9aa5db412e990e6fd5af94f25e15a764f8dbf66832ea77821192fb59acde6840e0b74ba16974c36eda34fca64890823ffcbe189f95e27370e62eb13a10b120d66fa5f149964aab1c002a6cf0b0831ed99a77f572b01a5f8722c34e1450e368fef3ff7754e1c75f7c7c1f02c3ac97f5ba985850d797cf14b72de0694af80de0a1b7a0fc4798ecdad57b8871474b71e17ea3dfa520a43eab0728cb24da0ee4c453152258f264f1030767e3c91f3858f9b19de3d12a2122dcc6e1d74e635fff30d9adf10400de6e3fee3a5ff0911a7f2abc1e87b828eda2505389b1a80a412f21790e1d6615f17941e77678d3d24800ada2a446b3c48c5b0cd6d13ada022d7b3bfc64e0e2fa6a4e4e98d40877886debd207d3343650699b5ec721e1ecc565b7709a049e6fd4e74e714693a2b356fefbdb3a18de32b2bbfd7ad72eb7d40c6c00c348b5c95ca2fdabefe99049d7ca320f0aa4ba5328a503a2d2672dcfb7e49de7f8fa0108cb8cf9c017fd956cb5fd958f5c099ee87f4c2868307728eea709386888fc54eb79e3081482ad00d163e0c811a3ef1027685d25a541b1dae9262b0a0958428c7673dff3f96b581808744b4e3e2f0b188dd7a3cac926372fd5ed38022746a39d9aee6dd92ccc0d85230ea38d02bae73856fda3f98c45a1ecc7fcac7ccea2719df18d8e85e85211c1be9f9eb96e1d9779e880d75c61b974c7696580e77d9fdccc963107446786b1eec9a9a40e9d0bc8c0d76bdf82c8f535e0de5d7ffa609f2d9cbcdafa5a9a1a673a035fd98e4b7dd628cb129c985f322334e26735c0c4a1500f4248b173fe27950f8dad1430406ddc77bdad56bdb3d57720dc49cc83d7700d69ddec1a27e74b09e87c7ae0da5b6a5b49f4d94dee56a69548873191b7b78e1e5125a96ad49c97955746912340d471581e44d121db045912b4c6a529938965e2edbc84d5a18dfaee520d0573ebfa2ac52ebbfef8a9812f17221adc3a34943369da665216c8ca28ef8f22ddd6ca4e1d61a5949904473fc6a7210432d6317ef085eaecc674f744945ffb6143d7bb000d16a29c1e1e9f92582729437442f88dde7fbdb80587a53fd9bb63a23e4b8cc6ed714de9a61982e86a972321f9496dfc4969a33351225250eb733270d7ba27d7178bb1da5206dba809f723a1075378a98600e80779c66acfae312e81c1952046ea87d111ca6b1f27379543d62ff7cbdd77c5669689e617fe15a12803a017c1c5be7614d02c4c134a4c155740cd049d767acf918ded9c8ac17da31663f00b85ce20642407add6ea90875118a5f6ceb73bcc25c29e18fadf050b942f27e5ae874f72e00e4567bd293801372869468159d8d9e7c7349bca4f18c225cdf65cf024af00073f4e97b0f8d812752ae1bf8cbfca60d7f8f000c115639c1214c0d565ec5b26bf9f9fa1b10bcb13672b2539e3c65dcca8a3425196705548cd3632410ebcdea7e6f6173f6b74372ca1825618e31ab15b67fa52c933f544284f5bf91a00146f675b137e9571b3c3d7619af56a2badcd6d27d911c9fd7077bb48597ed2fb8422765071cae6af7227b6e61a5bb64dbcf30992866e9694420cb7c0c29b8a75d7f06644be43812ecb0e3b1654cca44c96c755537af3fdb22b5e78e954297e90e859f13f3d684b4cdf6177f72eb80c9fa98ea4f6fb95d05d13b8a8e65461409bdc76dcf3421bc40bba9966e72057c24a26e4382efce86964f9830343d736389132c4635c1db160db562598f3a5dbe25558b5d7658a3363b26cdf448203c276e9981200c442f615e930f380472de0e440630accce610b8f7f178da173e3f5e4a19d3afd3f7a9e215f4cab19c72ac28feb8bc953320845e18d29b6fac9114774e9a8d8b4a0b400d2215ac0ba9727d84fcf528bb5911f2b8f9c34fc17d3f8b59b0908fc27dbcaadcd6bf0fe9397258f788a7b7ff376195c1cfac8cea87ceb15e2b49de85fc368b2cff14d8a9936ac8c21242cb362fb320b7f2ca6b81be2e7bd4cf94a7ffbaa0dc45c984b301f6728666a532ef96326fe144dcf6bef4182a364646b951efc4f6b6e1adcd4f78d559400c736d4d718f938edb5149087c300844b6ace43c650ab66119f4a1b0890a7282a7bc70ef761834dd608a14b85323742bcbcb87952b3c7b012d5bdabf005a150a57f9d5af901d7f655bf144b4e597ed2ae3eb20e04a857c50754e428b6a884c765f45093f2efe01f4ef0a90dd02933509c0147d036e33b1bfb17dcb1eef7b4699621d94f68fe006876d2cca9cf8d83d37daa66c65294b62f8cf02689b79094dfbb4e5de9f23202f5e5628078f862121a74dd2ab39c634f0f460c3e0f5cdba4c4b63becd068b2b45b6cb5e396f8def83f39094798d791af538b0b9d6bd1c187260712823efec3c794d898d79ece1d33c7efa9a865e29696d8ac5ebc9d94e2d7211f43b2fdcbe59833ab903590ca72fb940762609799f2d0cc9c11fbd61fb06722971394470f0f5df0480f1babb8ec8074f3f55aafc94a10e0ee76f7c2d36000430781d966d94c75d10e50dcdf1e6c7d465ce1a5f13ef9603c65c0db73d5a3239e6a3e2abd23cde3c0a22fae7206bbb019ed72d492b5c2e6f3652ad80614d3072c5ca62b6be50f25992c883923b5c80dc27c297d96a83ecc092bcc5e41e530472f5b4a78abbc917e34101234000f99d67f208f4435c200d3bb44bd4f0bf9c7e72a999eae439151a6d5883860354edb9c7df8e6fb29f83e1907453ec5d8e4ac572c5f05b0a58cce9270e324f6990cafad24728409959a18c585bda2c16ee6c74504d879b555e545323bdc58fc0cdb056f2ef8c9646a5f7e8f31632921ace4a8572ed6913bf52c3525d7e306f65c56a2ce1ae77fd0addd98582771b928cf0e4ac1fb4e10b4ed88e2d57bebde7f8cd627fd6ff060704bbcf66375cb4db8946a75c724b7b48ed85a36c4e7c089098cb8118398203a0fef7611abc99196b4426fe53729418f66a0162f97ee896948d73a288732bece89d3135f794905bae5a2f0d0961a3b7c2d538ad85603942a514a5bf907a340a617fb0dc03aa829533405d3e552ff20be265509c15d3d50e4ebbd00b6db4d53ef4187aecbc90b853b7610a710b1ee93fb7482c6ce184bf3450a53b1fccd5f561f4dd400f582ca5e19666c7a3f15c843801d949e5b1c4c422e987647bca8175f83cdc4fa0c577fee2a51d67812a723bb1fe5a59b2f16634b662dc49df79c8a61ffeac36cbfee2e870bd2ed4f8e772955b6a5ecde6b6ff832a5430c1422428a3ad829587564736a2670f16620cce72b2f8820f81c47b6eee6d31eaadf2db4167f82a8f29efb89ce99d91c9f4bbad727608383b3590882ccf55b4f20916700a5ceb46275f18e061739954b44b26d315357f65cf7c3d1af2753a61c48d4bc7db26ca8dee0c34762fbe6881ebceada331d2268ce3e1d129ef7ae9a2e3868f26dae99c6b9aab3b65908a0d880664d4bd72013486a87d7f559b6a067cbd16c2ee6ee5346c7cb09c71990dae27f2cda6cb720604f0688378bac1ad125f9058807a83be4a1fe7466328edbd377435927df172f9b0218eb6b88a77cadb5699936d97225d3d7523a3fa8963d14e0e5845f8837200c4e74f0e39c18054fcb0f76c62bf6dd1fe8536f439f8206fdd809d790534729b77a1892b0a30e2209c4fea81c2e2f848e99683a3490a90133bbb42ba745472afe337cf46e82703391c0cd870fc2f33323a2d310fc98e4fdd929e601a28e00c33e81c18dbc6e48e45f2c5c67d1f10ba37a78d49bd28f8e5a0da0d557aebcb72a7bc39cda178a8bde6fdbccf607507f97aca572e690a815d312cdd5bd52a5e72506f86176d15ad2fbc79b15d478abef098437005822fd70ec8db9493aad76d618e7b146a04bdda9d89fbdc2d1a33fc8a54f9bdb826af84531b5f84695b166272b9287a57050fe0a01aa3ad5e9b197f03091c0c463d5588d6b086d24b6dab9c3ba97798d2e26f41f215e5a85d39bf35e0787f418df97855a3dbec204fb4b8a1727cf298d0d3b5136587db3c24c370e890570f34da504ff0ec8e3133fddef11d72caf9fb3773a24661bc1d649bc5c905d7574e3d5541e3291df78af010bd1a64155f4f26cac7d75fb5944d31bebe23e111e14c8e44eaa973827888e98995086c72323d390f6a8d5317f07601b224f63e06bf30cba24e21bd780bbe4c385a4f2a721f2426b2e9f7cf963552f6f238627bf79e1e18630ae90d7b7ba8040117b123727c90114764f1e802d2e59973e60cc13590cfcb6d25ec1d346c85e7cbff8691029f544cb6b3f6dbdbee5a7a896951bd71994a42d1d1640fefefc0d61db26af75eedb9be5e7eb739f53e451ee2a09cdfa1567a01cb214dc1d3126e46fb9f628372aca1a418d0d44681b7e43dedc7455b2a290af638a52f5920250dedab9ed9b81631851a1cbcf4591225960813009010282e80e717c4a22bf8c43b2062930e562fde29d5f7489e08def32f785883a4e710fd0b2abca482112016a16d09668d1d43ffb4e71175e5d13739a6b1ee2f7cb049b532fb44def8180e9f9699496ccbed724dea3bb8154c73b1d9c4f2a2b2ad5bbc6bc3e42e2685b3f85d42866cb86b1672ea7f8bbadbf044529f6372170ae03674bbdbfaae7532f70ea25379ae4b491c5296b74837baf45266558667019965ea3c1e56a15b63973890bfec0a7f29736609719040cf60c76ed136031f617d121f0aba3bafcaee847e42af3e1586bc91d72dc6d1ab994f6b44358f4b03445a8ab187e1bfe82e0324ad83739ebb599ec5337283e709448fdac2c828b9c0a219424dbd2b423b0bd230115786a639cb2d5fd021a619558e5ef77387182c014fa2ada96260047cd8d85812e1b00e62b195c770729983f96ebc4f8d372a6eccf56e0661f3bf5160406fa566b2711c7890cf568e33cbbd6706eac6b49621346ffe3984f21699468a0ebc577f07ebd010ff1c762772165d3d44afa76d1326b1944aef991ab9582de56c8bebcb21c78cae74e6ae763a2de11426e46ffe717330d4059f819e2f5efd28ac2905b62f7d88057dca0f06721cb259c1d9c737a4e00433188c16949ff3a3a0c5862fe45e19b9e7cfff8aa47270dc601c0ef09c7e9d11830bfbbe65dd57194e1b8ae7d8d8c6bdfe968fc709722d0181504416adcd01a63ce4381d35f20098eba9d0529aa11833da349de4a915cfb59783d350fdab5dc40c304f27a671b49609d2a58e5c5d2af24232d5c91b5eb94ba6d61efd4164abc0e42869d089766ed132f706508a7b6ebcfb75e4bdde5ece0c8e88916d5bdebf47a89d027ebbcf84350be0d3fef2c030cd7119ad1cfe6475bbdca26e720656e85e547739eb931c6b941b03d063f25484970b5cb5054f2632a6b4cb8b37768a720179c2f06ddd23ac73854a8a175cc86a058bf2b675b66e3fafac6f11031d4d7fbb9c49e1de4ab0b436b1a5e3293bab1e8c6a7b81a2391ed45f048b520cbf49d0f8a878b52c3ac47de4ea283f72691f7816294dd105e54fe67f280d10f6ca7272972fba9c00d4a77bb00e5e563ecfadb0163c51c70c5672c1894575913a9197c45a63fa508e6bd53904ad3676ab0657cf7f02224bf58d720e1d4d391412d3ac1851fb85ff43bbafcd63f5bd868bfcd87f27bf9409e2247257a850d61a53cee738ef2d69aee37baad49ecec5952e744bd3df17e0f266f33e8048c7fa3da02039d046da364569fc56cb787a2112a61b5399e4e525673e877275b3954078250667b7241ca511a2ed93b2b5a4a6289d510b506fa12dfb367f58bf667061ac39d902edea55ac2adfacd522a69144e738bfdee5ffefccc107553af6e1afc7b7416d6f181e6af363ac27229dfe8049e678de933ad54a1982ac037200f5f1a950a3c9e661b3040a862ef95693a725bdac6dc207fcfcfcb32b75aa72f01f17d0e1afe05482d616a754c831e273129bb39aea49ccf08f4e15019bfc0648d6cbd68a01abe3572129ff984e735e46c6c2436a8d9f57551e4ff623e0207221b2a5275e6b26423d4ec97f195ea7346f66cd01f8c53c4daddce5e6b8c7f160e1b6eddb41ad572edaf3d9b14a8feff278d79e1428257adefa14f49bbd72915f83dbb2670e51d13397b237289ce09d2851480859b8cb22936e571d913291b37231823104daa8b74f9ef8ffcccd672e887eae17b69af3d62034e3043d78df1972996108e151e8de673a2510f21f1e513dcd48934add634b7dca72144cdcd78f72269b4eacf7855ee97aa65f08a093a557b6832d9fcb976a6298571c6d717b53726ce7da72b59c0bab681d2d2d296969fe8824a58222ed015544161e33e0c1784818962487f483069bcc8a648443eeef1873b982c40821507d960fcc2f9fc12d72c84026036949a6d34134cf8de96f1f4516e2ecc2f62b1fe565f6e96d0b372f7270f0c2d0288c7d562e26df70fb8187af060f20173e74be1062932cf72fc4d14718f5658003c5b92362c2bf76c65f95c501d1592feb1c3cd3e0dffeaa98673772b4b9533e37a48248dc6667e3706034c084af9b220ea4cd8e0df3fe4552b73f72e26cdb24d9165222758a9b590b61ec55c68ce6b66d286ee29a9b13137ead6272c97681c73ca06ea0e37863cb95724bfc2d626b39a92bc5b2d627bf06e02210726fbbe6a5af33eb10e2f605f6b8474ee5db0faded410fd67f5cff8f9184ba9272b989ad691b5dc6c0409586b60525a9c8ff7fe2bb199c19c5ec8811fc223f6e024d9256a6583a11dee294608531ac7d07cc6bc4cc9ea5a75d1d7d3d0ee6974b72cb3a4c8e61071d1717445872d6d2dce004e1e52ca7f96fbb109c513dfb191e55242a6c0c62796131719be69f7adce22ff912848b8826de12cbf1f9caf8f57c29f4cf99f75b276c5137c105acf2a4a55404f13f9c54c1e632b5011b01cea2db72e234df9def8467c1748519c76f334277df52b31759a8ed15020e8412c29586726cd9d132240971cb55861e50a9fd05550f20edc71d4b1bf29527b1f1a080fe72e0a05e0fc0d6ff51d08985a78e863a006ccf2f10612b1de008c3ee4cbb4f273b299b36648a8f382953e99889382ce32c1cfaaf0de75b8df81ab4205decf54e6082a4e0e0573b5a5b2158336acf2d5b7db02cb502aa1a30f87791ece7d069c47298f6fdcaa5f9f399ba323ed9f529f0dc409095f17e86ef163712592b9eac6c14660af1cb159466646e31a4a384fbc11123ff07d06a6a0ee337b84b5ee15de772dc967cf06ef8689d9b3e857f0afbf38e2235bb03826e165b352df31612c6117200462539e402b5cda428154a666a659a965bee4fa63f57f6f2922ef09a05497280fa25ac08e48b14ef8db9e12892a259a32fb35591928600461db3339ff06f44f3c9f0e419e9b470b374f50ed2bb1cf560f190c251c6650f102cf138456bed721d0a1091880eefad4eda06b6ea11a2188f7816b66e089a8e90fb965963a2f25c32b1681e0f0a1248098e60664d9239aa868eaba4ac736bf3cfe8998f8326db729a19f39e11cdc3d3f1798a58b6c3bbf248252df0399c91f5b776b97334f5e07280b6a4bdb5f2060c088c04ad96757839f0fbc28d7321d801d629cc6c193fa272e45ad8cc2939a8fa2c1f8cafe1847357ad42e5dc6c6c510798bd7d387cf8742519cc02161d1e9f1c5c6c9c79f5c8527d36651fe4248c4ad853af0e084f7a3421704940cc759bb3b80238caf1dac1f84fea6d168532b988e978c056951380b372854144688d7aa458d5b8c04c17b8afb351e814cd20e8bb00f9c432ccae763b323ee8fe0015d39b9fdb89f6017a238a07d6c5470b4c15aaaa576034a8d757927226c4a777aa3ca14d279e7ade0bc4a2c6cff0a58b7f31daf6696e7e7e31ab2f5982011c78bb1f43c02c1eb9fc495ebe57b30a6b539fdfdb4fd09fe27d0f1ead5d0b257008665c0ac9beb115c9e7e8aaebcbafa3f6510eb68a14a191bbab790972e691865b8fb1dbfe36ffb1d453da345a32fb00ed688cfb214dcd5673d40f1761b72311a8d99e69db81b2c13be610304f7537041dbedda43e4c33ca6995c41472a2d3a442131e7249314df19a11d0bf470c7c5f13a87ed2f432c752f44134951cc83665e1d18e4ea6b473f7b0711de5b9b1dc8b92a8ccfebd601aee0dbf41381c39b12b5596b3d589811896fb2c899b2cfcfd7a6a3c194ba2d5139f7d697eba0771c0ebf01bc304a72905fcc814ddbd7bc88197d0e056af242ae6e18386598372cc9ba7b9e367b9a848577b844603a369404b7ccee923af72f6b3f9c70915c17276ed9006ab59cc35ff1b8c3a46887561c689e614d921d2b34024a075241ec472b8de3b5d938086dc9fd383691b06c317c1938c123b45a2a6960ea0be3cb9417231436c8da66aafcbf1b447c257943d37d93bb161d3f4d00365141ba3a0fd5b5d5b688ae54999c86696da245aed33aa2defcd06294a1deff35f96bce18ea1a5724e57f57ca6d60b238f47ca3c4af281c4a1d7cfaa259776528d4e5b95e4636d467291dab10601fece531da3e2d60d534c4a7caaf045e9d8b624ad71c4d1409272fcb86c0700deb8677f2e25d9056dd3f89346bdece56ddd956a44f778aaf945725455f1cc01217b41cb161e92d0eee0b2e2205bbcd88d13fbb3e443de4401e12d348f93182753760055ceae15f53d3c7c929b74c8c8ae7d8915c0e4ac61373b373686bd1dbe87b647a192a961a07f2543fa5fe2328c1ddc61ef0a121993d63667d51b13e0f98fd4b8ab9bd499909416cd29572733a423687bfe4e159d93b8327221a7c271dc8a9aedd285895059077dfd9eeb2f8506322542ba810c479a9aa916681c7202a5cc1183ec384e4093acd18db692d86ce4c102e1804b2517de7c6c72e64eaa8c9fef4db02eec528d4cd4e651ec567fe749ce6ef0aa33befe8b1d4f729667ccfd5bf7a67b65b00087b4f44c8ca26532e9ff34d1f65486d2aa5f6afb72b634d9115e7e1ff1ac7a521cde3732e42ba1586040e0d3f840c24d3efaf02372f7462876541075a544eba60faa60f9a0544df492111490c24f4bf289e6116a61be936f64c00a9075c843758c5a579d9b6518e9a39b0ad77e1cb856c61ac71272f75b15b811928dfb35faf4d3b034a8ff67d12baa6ca98696849e6b8b4e3cb1725b1ca9961c09097837cfb6ce2ee659ac9d9000456cd0bda862bbe635580c5a724f386f072419d9a91fbcb2a61529135253ae9e74c8c4ba9fe1db7e0e46fc3d72ce12dc06fd94495756410156a02e45809ab28292ddec10747ff4af1ae019c072c3b58b48d08751d5a26d1c27793bc5441f0c5e6d3d5ce354e6884befceec2f726e6cffe5dfd0934d2c8313206837b66f14d3f9650bcd6530c28c1c23073293723b1dd86151b2217be052689d8b59afa8c659ec49b40c4e71b166b867e05e2c7240aa57979c3e1bfb201149f2b9298478583e328c93ad189f949a663a692f0a7214ee33f8fc3d72e4525325524d58b28481a9e911df09d3e544c3673965a81572b5be5bc115e8378a1b60cb2ab357dd5e788382a82294c2f5f73cc9cbaeded57288576bdb2bf7a3b427a9350a2cfa6de9ad9edd29a0544e6e798e4658adb6c855a88670ea390df31f9555f432e1c54a36183e4f62291ef9b162a83c951a5f8126bd0ba674afd438c29bbbf869ae6f9dfb4e25aea38406c357c7418391a192173f13430bfa31c3dc1665defbe2621fa17e62ac298703c09639d2431917d92d6f4a98bf9a5e7d2c65c75014a4f17fc38b9e309ac273c29c2735ea72c2d8b95c3c728cac500310ec3bfcdb175e7e461236c931ac7033136968d83283216d187449726ee81be25be37330b148d2955a232447560888aeb076b0f7626e104fbdf05d725ace1b2bfd324fd21916cb9731cd298d11fcb76e11fccba3ad1ee46ce0fb6324487f8ac5ed17a419f490c62aefc124e104724e0b0edcd5325fd93e1609aa8a626d913228d425442313c7b6c369d52db1a7a939031fce088808f0e88b978f12727a8685e6b7340790ccbc328a131ce44b198f8a31d299e59b2ad12d3a75b49372c377e63bf7d388c97e7be65fca00c784d6c395042530e33fb946c0dd6e900a032a2c9598769fb6660209f806dee24d8b895f51999829f23606c9fcf83f195c72a3eaa62ecc5bd34a94eca20b43f0670c634398c03f9359e24e89583073ba0b1a0a0f15dea9009ed19d215473219c92a68c2e937c00cdda670b6747f10c4a1c7285df6b7b918e3507759d517bdd23b3770468b072f27cdbf18878e27ebaad4e3c3ace95913f27fdc0c59c329d5499b60c2308b9969a98d2eb516bae9141c4431615064f3f5d7cc71ea0fd01dc6f66b041789502c97527b1e24959ef5ca54253728e1f440c6f050a1f8579d520328836a5ef577340554ed66a023a23d75a76b8659bf983e86596490a39db4ff1a0383c754cc60b8f85b4f3454e44cb00cf6d5d0c5e2ffd2622837d4aef0ac6f5777208918680093fcd0f5c77e955a366f88d3b72dbaf66ff0104c18a4bb2732b17da0dadd0f2d1e3aa3ca797510b9324cb7b873de543d3d1757d82aa95d1db4f662f081dc516bc3811d203d697fa73992b99c072adafd2051dcae683e724e7d1c343c24fe2f0f7f23a5cd59cb7f0a28529a4b0229b183d25b3df1a70ff9fe0ba101637290cfcdacf4d039f7a0e08103c71718b11b61b217c60aef526632d6257301f42d22c746930f82416e11e79a22dbbd0ff374b42c4491f3b7343028a361c2cea46c33ff68150a2c97ca46355583a9b1359728bf4e48eabc81a1cfb07b43829f62d9602b711f102beeb362dd5b4f0c06225729ed10fbdb7272e75ba646ae48f9aca9444068e81c110ed884176a1464ae0d73ca204e6139b1cf7f77f264847f04cb4ee6d789fee03c9cd7aa72197b67564df7217dac3cb7fb9c2a6869326bba470cffa2a07fdb66ed538178e87ce21149d4b23818ca5bc5677eb09e050dd4fd18c463a82eab89d26cc34d5f6ac7aeb8a6f7a72eb91c57dda9db83a5a8a0a94b1d4bd96ba44342fb6f9592194151b9ebc2c9a0da03edaff6723e79c2dac6853e0477cd4d7d5330c34f977bf02578e46ed724d72ce1078107b5a561cc2312609fb1d44a7eb5dd848a0b7358368ed788bd1c43534a0ff525623159e87a8027f3bb1b1663fa71dec3d25374e0c8a6191c4849c642450ddc4d94ebc9291a8dd0e8a6b58a220c5b8a2306f0b613df48b757255e7737219fd9bfbec17237440dfac4166d152e9c09735178c04b4659ef3985a11f7c672d0a9443fc63659695e3e93ae6f370e5478251f2df12e45f5322ba4ca106e157279a34991d3ec25f3bc72533a19330538c1347f3a9dd1787ad3f79789a7a6a62437abbcce163980d14a2e293658eb0030f198d05cc80113e6f6c9d5381e078972a363c971094e421d8b98d93f62712c7155f12377d59b8970c20447072098036fc6e47e79d2a08734089eb98ad8d3538f0d36fd9f882c08ba7ca474e0853b7c7205d067a47f6047cc447abcb8592832ba512a775430ec787adb49c7b4d2c1d47238674b76e2b4b4b9397922a1519a9c2911ca69f552e82d88a3041a9ca305d67272f1a4beee69038966e4f6005244dd41934f5f3303ef4c03b4ed2600f5e0c8462ee9f965fc5c3f5bfa203faa6961e7b4ad87c160b585a5a9c26fd77e4011a6724138f832b23d94928c18effebf1b49744973562bcf05a579852acb5dfbbdd472070227f4d9c9511d72739a9a15cf2905d38a77e2e5e5c559bfbdabc7d822b10474d83bbdbecc4881dfc204759d5b9fb234919331d3fc30df1cae1f552ceeec7213cc9c95f42e7c6d4f80f8a5a80b54c6d848b060dcec6fb4081d45d09623de3957c048610635021f19b2c4074ef78ed19319f8b3ffa09f534e6ade5ed174d515e09bdf7648d87ab9707947999dbdad6e3efe997ef1ac3d151dc3c153a4f31e6e724bca15b0fbc2d74b91e92c8a21e575e26387e35f7e6cee92796350371ba67290d7557a79da10eeb6b909f973efa861f39dd9d0f62d90cc3e8ddacc67669972f8da43a5a432ea1719747b29d23c05d92bfe24c4cec48a191fbafdd3e6426916a9e64a554037b6ccf448c84499df9189d2929f17250c20f30f98b4136289d572d489ca8ab087ed67e4fdcf4117cc16bb8ea3b7af429831d858b920f491af21431802b1b1f8d6135f2ae705064d1bcec268c096465be775b9073f239e4a48f372250cca8bf6f8d44e7622d646647103e5095b5fbba40a8c2f2219e26c8cd8ba72d039827424a8933d47de72b67dd387c65312538b22be49e036e64bde1738ab72387785b7a5c6e2b476997a60b32bdea99f48832a2938951d37510d87c84ac672870514eb2a4c5d95c32ad7d0c730d55bf269ec370185830c9ee1174fbce6112bfbacc401be6cab2f90c7ce5915eccaa03561fe296abaef4ad9d248c676970f72bf39bebb213b251c374e77aa5f98e71e4591b1f48f5a20c3361ec51762f46a72c4ffa150ffe26326d806257f82287c9621afd52ed1a46b16909d1771c4606172d65a2bf8f2cdbb1fae69dd34f2683f65cde7ed256b11a868231348a56b61817279532848cb5dc968c00f4ed865c654efbc00db124f63b5f2c51be3828fd23372adeaa402af0329fe47abdc1b3aa6bf127367adb07bae0e46c58a2427afd89a72e20c88baa93aa8f496470d94e7d49e68d23af42d60cdf79b342a00644d2dbf724b30462dd466e6ae68e725ca159934a87d5af47e6b69e3fcf15d0f7c18ccd80ccd23f1ce2e6543186419421f1c3cca8d3f5925a015865f6fd1429419bac536727e2ad23ccc39dd4c2da5cee6b19e0861e11a22d3c3c4e635d001fa1e96e1827229ae8b24674045330734a78f9578a7173e2e7e784150247eb6097517f66f3c7219ec9c39868d6850592961c6c012c7af20c892af6c95eec555c38303ead14172621356c1422b400750da77da3d0e14b03035cd6eeb609c44aa6ff1b65ed17d2130b3fac45b811e71228924ac322fa5467fc7630b0a278fc0159e0d1c2d2bef72597a9bd729fbb45c2c33e0712eb3ea93c165a32a2c08549f59e4854957988c72b113e4e52d3800e11d7af6f0c56d2fe0a6b9b5d4c6507cac9d88a8df0ddd345faa1612dd1b193c260cf4e3ff9b113ede18e2f45d5fa59388d44dc156c66dd87200c739bceba2ebd0f62d4638aa572702baff235146edf594f9f4e30681e39a2982071f86d21721a89d9af0fd288e0005d0e1a44b13bc26f28ec51aeece883672e30fe871efa1409a7d7bf660ac408f97d735197a0c12188ad8bb66feab029a72ec4924f4d78e593cafbd7fe9b984b6a0b976c3ef5bc226962cfe23c49b64ab72fe974ecbfa56fa0a13b33c978b298f7aa653a972ac8fd0d9a6a9af1214a27c487fb59f36ba1783378ad3be20ab5c038d19cc75310a0d0ea1e440a31982ad980d27e63820c0078ee3927c87120c80ba9c58ff72f995b2987011cd095fff87d3727db5681f1929408c9635b5ea095ce03237f299ca628720b861fca4c9373b7c72e77cef9acb7bbbb638c92df336ab8f961f31e1d7751a8e65570eaf539c8c767281ad4e9f7098949355160039656eb9a29726009ee6543f628dc48b34eb41105457ec96ecee52c9f3c484c404fbc20b0e7b910112420beb8ec2df2bb635d2fe06a44c76b10c2c55b61211ba7494b36af9a453e4649ae2c7d425f78bed517d803c4482b9d93b1175cf0cd65b89cfdcc6c081fe4c869f43ee50157527e35794a572e7f1431409feb099a6705b97f13cfa08b3a3284ce931ffe7cf8ce43f49b5f6722645efed20b6557f64efe03cfd379018638c223fb38ee921fa341164aa0592727f26a36f7c39708004506c874d08a1d32647f52d5661d8bf300c575d9e76d172e9b8513272c60da3ffe21005da51607ec54171dae2f4e5b8def1951b315be43b654ae02ebee48ee121b88453888386fefd12d9cabf7e93a0d7083d79d5081f726a5c3d6ed9ab992afc68718af23d320309c5acb1d3f7bdf1dbebcd2fd4a1972327b7e1f84a2805e92a2d94d032efc27a4a75d6da18d16b2e0adedbcd5d49e93ee1b451ba68dac172ffeceabe28071cee275dc5788e14f9f4b82dcd363c6d4f7292cdf1672bbb9cad6bbdc3483802db1f4c2c1c4c097bfdf11a87a7edf5d1fc72e289e7c86a59ae311827f049ba6b34e94ae1d09c6f9c9b2e472a8b9b1aa4a1536c9709e81ba8545c10031cf3d47e3c125c9e8c982f5ff24fcc5437adcdf207518009bfeb5f272ef668b7a76538b5dce02de853dedebb55a8039eb3e99dbacd722e557a05a9e227838307961238ad20b0ac011b0806e64e7f57ff447121f2eb2c8ec94feb4ff75850bc7d2061c025e03a4a71dd16f8bf5827dc38be47634d93721d6d794047a5b5ad6244fe983f9db1cda9b8781b18062cb14671ad5d48581e3de217f2b73281f2cb53f12dd0b4dcadb622fafc3f1a153386c47c82f0ed8dee72785536175a4b77a346247ce790b00f0fe7f43c606a29a6209a9b965fdd0f8412e345a18c09f80101856b981ff2facbe09deda451e8e5e11d83a9d5e6460700721705436d7f03b3da482fdf244690248cdb8c354093e6abe26934c328616b4461136df2d2c066983d8bbb3dabfc41ea9568c1ffa2b3b9ed9b127ea645a5759522fde320caf219e2532f5b0ec4f8e272ba99e115fac098c2b78a3b6fb33e63cf23780fa4016cfeb28a6fc74eafac332e4ecf9efd494397e27b6fc9f7b49da79a18a7d8c999d02b2e4be39b528745c93197b1826912a4a44db53e86d33e426cab721d02b970c879020ba2d25f1685d1b1dc60e60e542b46d787f216fabf76578720a4590296f5783a6b2a87d7772a750f0c1c86ee9829e11f75730c33ff5b14a73e8b75ead820d5c6d5a3df509172284eaead79f7c27142cead28fbb3e0317c0a729decc7dcd65bb92a5eee11ffeb0f8b844c65aed0e367ad95f17efeb432ffac70d9d2d7aec56614a50e677a112834cbd852c040bed3b74c3456dd3b237ea481726db8bc8da5d20e61319f65e8c56dce679bb26d4141e80844baf046bb671e7772afe677f6f2f7b92f96d5891d46ad9b1296b2e79b6356f4773b93ce2b006f1434f7dcb6b594797d9db4c22930e9f50c42824a72c740b148c73bf5c46d8c8f3c72513a61dd5999c3f6cec029a556231e98eec7f22480ee46c71e51c89f62bd0072cd87a4d67837d27989bc339f8c3dcb8ecb2b1933b86519e791b631c66cf4d4723e83da37b2eaf1b0d2780d78b743c825e00ca8845c82b9ed56512378dc9615728eaaa2e780efe8d610dbb95c50269b2bb13c0024995f40a7d2697baaf958eb72b234b7920f4507060ef20f7258606257b204dc848f045dc483baa08c3b5f525ba5a4a3a52fcc15f0964673e00bc073caf495ec8d193b19dd03f877325a59b4702ff6df69d753a6b8a85aeb8516cff574e2b905b448f7945c86a88e16de844e72548b6340352ae947b1c40de70a9e07865f92e92dda75539c32738fa307174b72be335f5553756a4ba790c659e290ec8c20f72d45c73b5b3f28e7a7225194cd30407b626b2e5be5ae68dd2b75713e6724836de4bd5faf842522f5067b844e1e724059d3fa6e276b993eea0ed5796b54f25d75ed8635ecdfc1a6636c105f209f05070cabca54fa400b5b529f41eb30339c3ccc048f31741eebaa10404e8b6a62727c814fb2ae8807a3f33516594b8739cc3cc8a061f46b258da1f85fe57a1c6254d2da041214502c8d598641c29d459c39c00256cf818a3a6edd530bed9e6ead729de43d189824e95f7a23ddc60b151bbbbd846d3401c2ee1798b7d693945bd8727981b8d3611ef8e80c783b79304025f65b8581b068b09c465fe354934078da3e8d4d8c88faf442fafd112a86142c6f06ae94fe0a46591f2ae07d807c153a44296b288f972783dc286bac5f2648ec5dbaf141fdaf4d1dbe124d733fc9f2a0fe34aaad4c22d19c6b675b31afd8dba1c8960a7ec775f2964d824feb2ba8d0a5986b2579f875ed3332a0733ffabefc5611e33db489821d8044071e2b9c8330e01272ccd5d8d4a495c21a2c53002e8dd45532f1dbff29de1f6c9cb836ce666eaafc72391a2482ead090f67f221def6fd968bdb66e4f50cc39366d7fbee9f410195c72fede3b626f17b3c4fa8741be3ded87b8856fbc02b701491f632778d7813d2b72ae62a3770b3dc43b2907bb16ba581d8bb85e4ea350eaf66a550113dd98a40e6ca73a7dc99db024ecff420a2ca95c9d03c7882e72494aa3025f03953978859d5ce96fd4792a94113d2b3bba45b9d90b87833c76947e1e55a88c098fd70aec3607201997335fa86c5bf0dcabd8cb8bfbb755d45de3a6bcefdcdac91ee8e099ba72be5427c81a2c53a25e922c6d1998ce3833f19dc1eeadf4a09831e52feb20ec400fd69972b7dbc37527135886b44c0bb6ae07d746f89d252e4730373754b5ab722ac6ba83a906db5e2321b7ea8feac1d9af0008bb7334f06fb19de845eb7c4042a1c6be9597a33f09f973b9fb2d94adf7465402943393ae4760919e094771f372f36f99bd9de06784f247cb1b5e74944d8d01ad1d784aa2ed70f17e603cb0f172be84900566893340cde40cb80144bbe677ab15557152f753c394ad1e3e6727720f11efc2fac7347da16d3ea9aa159e14f04c7fb40f4773ddd44263cc67d33c720ba4ae2df025efd468cd8816208b5dab0c0719f9cacedd50307952571a369c50084af140ccd27f3abe7650920749b6414c024bf0939c978f0f0beb4c5bae8472c1c0cb14544113f80ebc2bf791315b26344ed842cfb5960b8f005158582e3e0b12029a79dcd7ecae8bb84e43fbc5101ae3dd753ef7d7a0a0ceb248bfda40947281e9781a54a3651b614db57fc454f84e8d513c3a487e2dfd7bab23a1174faf2e8c1750ef05074348abf3c9b40351e8501954e6d4eb76c0a47bdc686eab986e72aaf57d145423a1332b2c9c9429368372307593578a28727641682f3600bab5728870e7874b03e970234f734fc8cd5ff4c38381b458ec407b50f1ea860c18180dad79c1e4a52a4bb33ff0931c1c640dc62d4bcb6a6edcd277002a3f544c56827260b5b696291b970b2eafbf4a070c4bbc2b5ccbf69efc25db99c2d9fc7e39042cfd4c79ac54bf763181c2d295142a0b494298fce2d23d670c7be7dd264d58a172f198a39aced501f50a7a6df92a57e136b2519d396c1a3cb1cf8ea6025393a672f4d13d2f6a9ee5e08d23c2db53775cc06eb36dc94e751579c7fdecea295d026c483d1011c0822afb17116353312c3a3b052614e6ae3523ef25b7abbbc2483046bd3db9f22805d39ceb913e5f00932268f33fb31726d27748e68ca11af965e5728d92057d22c38705f8ae975d6e898d619e24b074674ef92fe71d1d83a90a3f72757d6c6429daff29d73d616d145eed82956bb5df6360fbcfded5d976a08f34720ca34235f501a27ca179f6d25b222b648fe1f63e88c684b26bedece698dc4b64b4f21c171093d16e4061058fbe14d48b645f5c9be4604758966f110f7a1a8872dd90bbeb3dfd70eb60eedff19bbf24d67f552f9a1a9607a7b62e246f6fc19545538142c3b09438ed9fe1cf0aa2564242d39b0e594101a1f7c8f0d03c62eac13d45e14bb8c3156a9d5fb6d636b9c64f3eb9b2988e9f24b924d5295f0216092a3d1b16d60d756604de1d6a080d0af3d330df88d943ff2e34eb6a9618a6622c7661f5db1d417ca6b3d918b7a464691b7a92d704e6c81ae4345d0460e5ce78f3ce7240082e8faf84bf9ec92d718b912d52fa6e5dbfbdf6b2cc5a80a31d38815ead1d6f1e4e13198b14dc7d3577efc1e023119e20fd0f1dfaab95d855aba76451ed724517f1cd7a14d0fbc946f30c889edc176a85dfec742a739b491a13fb93df18721cf650f5e0099bd4f935241257d5caeb9af04eb861670ec130884207c1c36372a3e103a85912505f61c26928eddeb1e5a5254479c3fc1d349d3d75bc5611e272e51f7ffacf3b99a9a29bed01c8334a349dd63a9050e18bbd82490f2c8fd85772c969ba5bdb53c33b44e75a2de93ebd44616d5052ddc4abd3893a2922f4e90f44a434da3472643e90f162e8f7148d7e650d256bbbcae6763021b50614493c147229d2a49d72b5ff2b09e6642be4114e127a89b7c659b5da9fef340359cf28ba2de8ac96b7e431500f0a76b69b032129ebb475864f68b723e7ec2dd71273b1f47292e904ae0fbd76dd0d383e21dc455b6977832909610ddf710b0ef184827a2672d16282756bc78a846c56d08c8152777e016421d1ad989a94618b9f36ad83c272c776cc1d56e8106d97fa438df83f9b6f68aa32f2008cb03c51209a0af8306072ed7e19861e9cf5ba5c5b0b3103b18133126b4df3dbf5425af8b2fed8a444f07221a6d26497103b9012d8dad23a938b48dfe0dc4cc6cbd0160b9dc6dd70237f540078e37e4e6f3a7f84804b491f7ad041ef8ec82ba40ef26a2695e4375c1f7c7287d8e9d0cfbcb392dfbe53a8a442e2366109bb245c9642a5ef6acc8d580cbe72fadf3caaaeaa22fbf5e44c8c0fad161ca89c26d3efcfa975e495c0bd86464072c874810baf2fba28ae4c2021cff0a1ae528d48c0ca301b543a10572974a24072e1fddc2af126caa03e332099fc561262bfc548088472d3ff0f17afdd3053fb72cc4f74c43ac604ee11154af2a55230940688537b99eaea130ebb64665a7570725dfc67defaade333aaf7ed8c72876bd1ca6a573a824ab29c52fd34b3d62d1972cff12f78888b7ce63edb3095cff49dda7a682e2f9b1a95870884039d06dd39725f657547e55ffe31fd7f1bcd12abe198b0f29febb4d8fc686fef74f2f00a0e725f23e78015ebc9a20686afe97850efb066856b777cfbd76510a668c529a4476cefa241c85a9e42bf99f02ef3c2574670ef9c11ffb65591aef6325853797ce87280371031f412bacf2755fc896da9e1d81071bc9b852f00fb26527dc9a7e94c0eeeecb74cffd85bd3f3282a509fdd03ba774f150372087316ec5c5d28f9a1bb526dcf6fd688bdccb893d8e19dd4ed5c5a10a4c100e4610aa53e729e767792c5721f94972cfc19966a7687faeeeaefd23d3481ae873542a4ed5e8040fb0a436c3f550bb8b84114677a0338f2466cdf782fc7dcba46fde6d8b31aa81fd64e4a1553a63ab542ae1b0e1a2143e3e7a740f34b2cc9719bb798106aca0ca96733a1a256b17cbc85878db8593d70cb6c2182e8cb2cd3900074bf26d927b1d86391846d520bfe01011efffb201353efc8786cf94b8444d8309e5ae079d3644172a0119b72051503b60e5cdb78a78e90493ad5db8d210ee93d0386756b9b8301c2e0356d3d5dadfbf3719a9ddfed483a14ced7ee76d80da19dc5e89ad680d345dcefdbc9236c241794840ea10c26395d42f201d88fec393fac1e2d09298250705ff7806d650e8090582ac2cb42821b766e6d053ac6cf34626ae7f056653c7f290fca24a708cd996a9dcd66c5317acc484f7a7f88408ca70d191c4e413421ff5db228c05872f421b8be3d65cccdf727aea776f58be4f978904e1ac6e67eae3008eea007d61e69049943fbb2bd2667648d3f3075c34553d899606d48254a364b7f2774527e72825fea0dcc0721e1f39b4ee05a72033ff6d059ef0cb7ffcc43f818cbb20a7f4ef6dbbac7db0934f973238807238aee32c87feedb91412d81c8c91b8d695d6d6d3f7324a34f25794dd00de3d211b9bc0492a3ac2e454a6d19a36627128f507c2f29575831e6a4e1e7fd197f16c4d5f9deb27d994f79332d0b5ee8241e2c688b72402f870a798a021238d1186c0466687326580ed7bf797cc81a0f5fe3ff38a07233b5577794dd8c3c805fc8ab34dcf216ab74fbeba849feddb08f6d11964d9a7229c4d95a822e906c3c497429ef4dd3d9f396fe84d25f89e0ffd99c2868304d720fc9f64f218d68bd807a75349bde29d49b2e682ee5a4f9e6c53a5223dd2b9949cc70e2d740f2a2ff0788b53a74cff5d40e5e09e7eaa7b596d3e604fcbecc3972b8e213474fd8860634aa61b06ed7cbe3f0da1346d5481e38fbf4627061279f722982fc0d39b5aa99b4489057622c9f5a01195cd4867261a0c3de323dc9a80e7215702422aab22a1e90a5d7ff29204d4a0ffffcdb224284698e24747981db1b72699a427fe45d819c84d4ee34f49ed6b11d796481d02c193461b4367af015412abc4c199dfd9810e47083e42ee5c2a8c41a930c1e84d065dafb62b7c621089260371de6c467eaa6814333c8a47bd6716576da1cae52c0ae255a617cc6e728987242f9ed2ff997779d533157b14ef26f9ad9a2684418e9cadde5cafca4417213001cafe8602921762ab46814d0fa192d23a352fc4c382e33151ceb83cc55d9ff425d9da5e7c26d342c50ebfc81db5f519b7871d40059428334b6962376e8160b31bc396fcd08bfa71fe08abefa95115a4941033187abf5a4942ade7c7e5a81ab72fae63ff65d48e77fbefaac0748081890602bfc5196c78be79485862f20618672705c75f20295f35be07883938f3a149b2b54fcb6537d194a20b8d20290133d727c5daa2b2d657181893402dd6ee02d477b1a7cad726fe884b2a173a5026d79719f09c9796ceca0793426d01017395a82aa191d1dc24ad3e938081205a3a8bf72b8fc1ccdbb1d069892099851808690ce462c50a8f15ff07f15282e139cfbb372e6024bfbe2c88f0758d8f66b96af00c408d9dbaaef4b25a47632243d44694072f78512914d3f6cd17a9081180ddc1499cb0997a24e2fc6a501620e474eb99b72e78c56e844fd58e92bc7b81806a7e10e61f6c241101a6d2b0c5c61fbb11909722001b76df6fb09c3fb64d18a96fe33a5bd21d28d68e6eab884bc668816774636e97608492c42a20ad9f2fc5b405c8ff035dc33ec88595737c05958a30e526e728b6bd2db41ce45b8c98ee95833510dc6809b9f7ddd96f7fb671eb7643fd7cf64595b3177e60ca44f4a51c9fee557b0e390873ef7413c5a3336eea78cf6b31a5eab89f23217f5f5351800b1a3daa8641a23e3803e5e2debca659d5bfd271c5c725f6e0ba1ee4ac375f79a5d0069742069746ab1239a6831e4540583e5e7ebf80332fd784698f6e4fdb966178ccca296fe6b6e6c953f174e228b9fa9691a9017439ba406fe3ada4a9d4e0b9f10eb89413bf12b19e6ede2210438830541235d0d72167eba1df40b6cf1406025f02010ec2b5d1dd94e4b66957aba0f14b9956e9c3a02010708fd0ae78b0e5b07f42882939571f51578283a580ff5175a761f016a22c52db39c655954f854d638d44e888d0f941c41ae082d23d991bfbabb395a201b4139bece13e181be30bee61cc9f4c84d192b58d2392282422cfc2f9e1a653e14efc0cb26e9d7eb5c12b3496a806a6baf0aed5961f4caa8b2e99524cc4e2b83723f08784b1cc8647aae4f29c9acaf3bfee1f89dd87ad51b3f84cbc6c49e7b9d698821dba2115237987054f3c899fe631153f9c96133efcdddebcee5053a0d230508683256df7fddca4143bd800b9fa63b4e837b6c30a28f5d49fa81079042e9364a88af7675be72519f32b9d15cd2531387f9b68f7d9941d6e357ad676400a214d87fe810a12ad8fd991ed56a730efc8a1c6e87065a80045e0930a06853a8de725dedafdd2c03e01753e38a285d3112285e5336e8ac69c1e87cb3eb8b5a662672e4015a81861201a73a9b0059824f1c49163454cdcd163d17e1800e4f95e3de72ee1fdbd7fc7fdd788772fc4f466fb988918ca4de597a6680902106287e757472c08a366a7b5e42c2afa124de9bd05b11cea4acff577d36fcbbed9da6093c8d53ae35019733807730d30c981544939d230d9617bc5f0de1f19447d1a3213a7e37aeca4a115a02a9b663f5ce1629341f07ee3b3c012f299fe69f4ab5ea06ebb272ce01a8705666fdc1d57780c2d02d4520a0fb4e6f6ca45c5f42ae4f3cfc620f7246a4580fe41865b1fddd75e36c426eb3b62aaabc043e2520a112a8b4bebe02305ef989c4363fc89850a35aab781224c50b6a3e05811b204791bb09e3b3ff0838b239fb0e29897cd65aa60cc6d83244653e9a5b48061dce3f989cd761c4470a6592f4ca997c2c097fa95fac76046be60fe50bd493c2b3e70dd017e441a197b14ef85f389c60efbd6ae6e9a1f72b7b1e858e1fa71a44880cf7d52e0e3b2a2acc720b78291206bb8e01017b90906365142409cee7db01cabcbef1384d9ba2731f72ef9b3435d5994604f8b476cafee04e81f6d1092db327ea738364046780ac6b2c744030459a57923fcb06e4d9eb0d6f1baf4a22e72c5b13955c74ed005b9fa34edd1b4401ff382a31d711f44b0b09f4dffd61ad693d988adc23ad925e43cbd8152b2d2dcfe57d2e201e77b29dba2ae4215f5b2d962d5b7527fd3af348a0ac480d052bfa2dfe952870684b18e2dfe87d43ecacb59fa9220ea60fa01e5c651f1a72e631780cb00536a40970e7527c27329c5d4c9eeec16041fed186e6a20e2626654df3b9af63cffbdc11b40871b217ebcb5728b2d1e4bfc261610ba53f4f5acc72e7b73d89944e36ed892cc9a09b11052f88230659fc04ae940d87512cf3098572ccdb4f286f248db765b63a3c8ee87c541c136f68913ce4629f3735e1c9bc3632049107a322167ca0510da067976f55edff484d5b6106e5bef6346e40412f45726ba53d3cfa2d9912931e6ac914e0b3453ba2165cac578a56fdf623351ddcf872ce075017c62b5916e2c899b96ea8511d564f01fb8fbfb0bc8aa2273c9306013a124befc18af4e8499fea8b1ad5974512deab479a4f12c9e38b4d6285973e0a72b393933d322372582b0289cb7755354164c82090bdb7b2435c1d148db1f7675f22b8e7688e763da2c12c18396508f94c37a7755c5829aa7b9faa7aac12653907f91ce633dd7167a4b95333a5355f3925c61484b9e7dec6ad3a091eca64cc95221da33f572ecca51ec8ae7d42279b598bd6653d4deccf355ab6c53db9afad4472f54ef49394a445c6bf8bddca79484c978dbcbc0c1bc43b3478e088101936962569112833a7d98085eb4fd35b32dc846d94518d8babde2ea0c6b2fe84529d2816dcf8d47aa615aa034d39ec1dc1ba069ef1a8c791880ca3eeabf90288b6a88013b677c797d71a7185d1822aae6f5f82a66ae3af20bf7f08442dbcc5c27ecc9c07985507652e5c313ee2ca272d0ca5cf2f7cfd5c73d29aed7da292b42d87fe861ec5fa82b5c9fc7739c5e5d3a63ff94b1be19b31cee1f972b034f7eb6457491172759bb00b7b07ef9d79e5cbd07c0eba9443274d9bc38601e1ef6a41a821783b728912ee8eb24c6c79ebe3991670efd3d3ed00b558897166d4c3fc686afacdb822d19b0fe34fb8bff19c20632196a85296fdd7c8696429486a7d875092f47d541b5cbcbe3f224a136c8a54ac821915365db4dc4baf4d3da41e55bb10cfc8438d72f40df137696e70d673f26d67c680cc64fc8c58440760e9de295f560d29603e72c1955ee239e836c4994ac84fc992b38106a71e8bf021fd0a5b25790e2a46d01a3033b99bcdb15a003a1482bd98946927fac21c5d77e9bef381197d20e9abca72319dd1d35d212c920d6d3510c3fcd5644f31825eed102246f5aeb05c252b7b718887c9cbe35627f5fa5f766ca3182fc83add6225df6d100039f1a1997d60357262ec39c9640028b8890e4f02f9ba769ee049c43955bb9c65edda38d1088b5f43c5c67f79322843830e507a0494ead27fd71c9c28153e434cb890e3ea615f2200e0121dbb472bde4b522c0d809d8dbf12cd5d4cefea8de22fc664fe20004d111a4f48e8d17efabe6c2a1bfcceea2a340d8b181ddc773f0663752e148641761d721e19d5ba7faa80de04fb932192816a8cd6a33c5d282945546880c97352ceef23e3b35da961bc96acde1e3dabfe7041ff7034e173211b1aa27251b19d888aaf72dbcdd4238334d372d18fb339dc987f75ebc2930202886787b85691619d8b5d722da82fc5a0ac6ea4153cbd2b7ee8c23dc17012ee542284dd742106e5b2129b72d913c36827646b11ea18bd8e7f99b2d0b78d5e37f6557dfb041277b831616272dcaa7b563b6e6e4fc2a2e61a9a568e859e63f6d4d9c0fc9b1b6b693657dd50725104965dc5e97a1f8501f9b6822f9227353de1bde8795718d49fc12990c65c72ae71ee004f72baad29d32926526a6a566c730542ab01309f3ae9902f960e037204aeee1af45dde01137d3e030b16547d3a302fb6bd1f3e36f7b1d7cfcc307972f1919456bc4aaf5305f008b773c4aefac3585da7297b8c2dacb9f89d4b8167049f0b68e1dc5ebf62c297c5ce5a37833f278084bee107ffa75b02794765f2d572e29efda2f55193f39b4c36ab5ac02d05454965e498d899f5e7fcfd79e0491672422701bf62a7f674d05d38217b746df4b3555b68385180b30508ef4279037d448af08f912e807a83a9435f785a59f9e63c41cc62513505c53c0e5b06a946b872a09995b75b1b9d6388369a8ea2de27736c8e66cfb053b149b0042a17b5560214e38c0353f294132e864c2387329e9ac8912bbb995053df779e5f4aadfa56ca6bfce1bdd607cb7dd3ca858ecfd31efeb2950a9dfd525d72276f3bda859afea6477938bbcce8fb21d71e6fcbf7ebab87fbe9fe0411e2f2db1106e150c95e5ad35b84cb9b41c4ac2bddf24e7e19716c7fd8faa3a99ee8039bad111b797a5e9b2372b24e55b75a04750dbcfe4154e76d25e8a05ab18c7c3c586a844512c17ce9eb5449c73fa8fe24376b26ef2d11f099c3b4d42f124e0f47d28783e88c907de50f724b42725f0410f36e7122f1a0e8c1affa9261d2a28ef0cfd7c1e1fc18b7efb6723c8b2a55a62b524b9e14f75b31c0432ed2e14cb73824ea6e00502dbc6477f139be009bb05af08ff8853ca88a1d8464516db12d634ae86d75952a53aa505acb33751d0afa01412ab9d5ee1bd6ba9b5ee9ff40e8dbc583d202717bb03e957743723d6bd07e24fbb08a94813b55ee8ae352f3d679d8586beeeb3a8111d2f1c28772711199ed8a37b2f48f16cce8547f6129887a238bda28f15f58f912c77e57987241d61c4ec47510af868484cba00f33fecf39c9535b2e55208ead55e1a3d39c72f4986a5fb08d0b88b3a49ffadf9420f880a94b640aa1881a2ea48f5f7d50ac723c9c5fafc69d6b297a231f46eeaa958cca4d15bf053644b797618111b9403172890becd5195fba288c45044da1bc4d26128e154638577b4da5ada75649f143725f97837ef0d25afdce8646a74b9c00c80056d4b920f7df958f4f99791c822172dac6de33866e8b366511ad85ce8a996d312c2a439522458fad76950cc03e60433d8a2268a5aeb48757b31e72cf8c8f32156407ff423d18d4504101fb5b6709720846c76c41a81f50bdf01af8f4227c33b752e5a06f7e05611e982c4f5d80e22304c613b31f0895c4622d293f6411d76220f8bc397595ff4f3b0f3a1044b6e319ce0e970b373958d31e67f38754247f4a95d344c2cf145ea803a0181bac61da72bc5505630d7d30ec7e667952821f9127ec8ea36552abfa30afc854d5250385580d525ef98008d0270180010cdb18a3699d3d394fb2cbaebe9d430c5a79a61f7278a32d071cc45ec07983779305e149e3e68d434eb073f7a9dced0b01a8e21372e59161824fa64b7885d53698bba6469d1f44ee3cf1518b44c9fc0835342c7c7276f2587c6017aed28404d671387e92eb02cd1f427ec2af4f359541e158174b7278ff167a60e133f6289046629974300fd7c5e29443805a4b436f54de225c9b700a6a47bd7a8683ee2bf433fd90acb26a9adc730b4e8f0adf32469c0c23a36c72b9a0bb5ec5fb25d854a466e45fb4564669dbe13a8bde26b10092007f3d2bde721b5006e35470fea94539378771c74da5d22fbc8f61f515375f39323ec5d8d6630ecd40adabf80fe8ab75dcd33dc8b2461317afa793edc139469d4af3398a837272e29471a245658244b81028e2009caf7984c10c6c3b02e80fa274d2edb35972a397766b81d2135339fc7278bab81d157b0657b94dec6481500dbcb77b92ee5cb91fde2811e389be9a4743ee34a206eb19469d279ba00d3e64fe8af9a7d41a22b56a3503cf335b0c821ae31612c88d31edcbadcb26a82bfa54cd403329eb207218988424254831ac71fb3500f5ca3e943ac5f16331adeaf2b50aa19e9a937872c6c12c501c5655ac82797657a254842d28cfe4dbe3be47a1c61f417e76a62a1b9a2257ed08be38b3758e0afa60834406c9d028f755469b882bed5dd0c2d0f972f60eb9a45e6ad24136a43d02fe9293b6bf95f3f7f1bfe38ba578532375168f72bc36e0da5ac6c36ef4f0cf250382cf10a01f93411c35b56ba5507d015667075734f2f334ccc7e13acd175eaeeb6d4ab2cb04ee3e637be69a979d38c05e7c647215d52d8d34b726c92fb277a483e5b3791ef4c4ca8de16f45d3e35e861ac4627209cb3dbc20e4933a1f2d6098517916ab5643c62d9079a8f99028ee7e2e2aa409fee991281021cbec9a14c005fd7ccebef34f172ef57dbbf0252c63b9e17448727be8ac8b1a81dc454c1d3273ef0e2a214197fc7e36a3e25477d8ccc879f4af7230bb371d79868a86f9148fe7695b0e9c2f8bccf87a92dc07fc98bc9025450f7212f190847cb278edefe76855aa70edba1eb80e955fa010777670c60f5923d24d9a324d1ec5761c14c78287058880870bc1d7aae903398bd25d806d6c1ed344726166e469b748dfc4fa0d7e545e0f5d15c6685372090de3f4f667fb377c45614ee4b749c13440c8405a078092de20feb3fcd24a4e6e4d8063bf145ceaaca94972ef7ac80acec4f075870179198bbd9207df54a8c485c67720ae04ecf993a0cc4e1b26e6ba5ef7368bdaa3dd720f4583cdffabf610531ebef66be9e2a2e860dc72424237c0e2867b3d2823a3e0eabfa10b851950903b878189c703e14bd2ab9b3ccadf2370a89babf542cdd58ccdd3b3132096f9733622c638d711bab24abf785bad9440a1b29c13a393dc67abbcf2c3be78f779bf7978497e2d440acabc49b272943f2cf02fcb39fc6565198e8da6e58543e34877e476078f0cb1e719e095a872d560e31d1fb2b7a7079f674d9f95f29133931a91966ddefa9dedbce39e5b2b720adbce0ae4d1aa64691c7f6fb6daedea245795b424978f86d93299be8672a2723c113360844a96da01de1c1cf80aedaef869e85e6c2dea7e401103bd267b7372ab9a830029d3279eceec628a98e7f1075a2722c8a370cc9fffb41f1fb2a31372f39e8438be18b9136d43e6a8189ecf0c0c333bdac04b954c90ac0d635376437278967a2e340a7dbff8a81f1b34cfdd192e697bc2e614015d7332710531bc35725d9d9950e278c89ba40f641304151080b20a25f2db58a05c243eb4e4be449172e9017898aa36471fb438b72d83567b8899fcc8a8081905cfb346083275ec9d7087f5953522e4ed673597f68857d1cb9dcdede357e1757adb2607bc71093b4f7261ee15f3b257cf763b19ed62a879deaafaa133bdb2bd3d3ced052bc2f031b572f58ddefcc09378e74779b768d4a1ab26dd82fbb2b2fd01221b65e344404da072618391a6c8e8bcdec23e6dca554bf56c00998c8684ce5765040bb81fd9151d1b98ab0886a2b06d63fe58ad328b3dd030352cc155c7c41651be1566576087af72806574698216a836c3131789d4b61e538d5e82ec4ca47e64ac59f55faa314a5d64603bfe12b54e9a4723a144ede3127b1e98ef6c2d3a3f04ea19cc12aec7755dd74d603d98a5e3a4956587965044d809de79aa340ab81f0d555cc41d536d4372e6ee4f84e14df2dde7a1c0de1f4daac5177608fc67e53c9fb1ef206afe2c8655f3258df29f8f5833c23753f9eda1f8a718829e1f125f41463f4ac9c609183a72db9dc5d5f47047f109fde9a7f1cfcd4054b3a67a975b33b4ed27e495f1a09c655ad0e30971937248183b9cfed0b0df3e935362794543b3631343555b23abc27288d1cf6957f498ce5dd87bb85c30ab584df084b0af3488d4984130ff355b4a72aab1457ea0548c2d0eff9eb6f80ac2918d822429ed5da12d59f720aa32794f723748dc5803ea132ea38339837d5d242a8fa8ee6e989d89fab027298151967f721ddf8b2e4b7d09b7307c4b5fcf97415e976bdf6685160ac39ec6c17248452662458beee144d5533bdec8b0518429a8525655d88a0523e40add743affd1fe3f72b3676863f6bb0dd91d758d52436c48fe5f2d70b54b3526d1af2867ff21aa8f711f6412d6ee793912baa2a09d21a53516097c1a4d642e4c30f85f76373d61c4728c6120e8b77657fc638127ee4ebb558c3b6a364125c9c149f1f9950612e2a11961e9339a169e8059b39fcbd616ac6b8b0dc98c3a7efaed318f3dc8f0fb5d7d5118c6fffa00029f7ddaf2a99fb625294e5644cfee930da2c4ce4beb203ca1c872191efeaeb601fc090114bd6b3d83b2521ed2b697d18ee3ff52e48252c1032e720551cc05731ddc7b761efe843b5271513c3e6bc87696e4d114c400eae972c83736544e3d04f5bdeb4b28877ced2c563fb06dc2fee14aa7769d13b1431f06d2729c21474a159f41573b629993b25dfc16c879211cb74950c777c905cd5d3b3349d17b76315c860ce51649bac43fd1b607e47d286b21ea5e1299cb9d4e7eb56a72347af0b7e2f1162e8ad6d69b502bb541ead6406a84b34e6b9af9d533295e4472fbe444e5a8af8128a6be10d85f910265b70d748782dba6148464d835f35d86729b78070bb9e1c6b37effc1c121b45c88b3391779143d0bb841a4cfbb2ba6e036725b4e7ae2eab26c0bd2d2839e51f31240fc89e87025e27124f797a70fcd1318668de83e3be6675d833ff479aab667a0baa25d7609c7b3ee4ea3079f0d5c0c58e9b7bfb58ebe92d1694f42fda0cdc5a362bdf7a886f509747a406df36f440d7226e445fa3555473bac2ff609d3c322acb84d4ed0111fd33ca1ef21517392d01f08ec2cd2fcef48f3996aa5baa59c8f88d6fcaa21e3a8341bffc4ff359195041db72a20f6dd290059284e3f1d0e580a88b11dbff0b2494c9c789244b87f1c5a2567820adea0019a69350c341d974345992427630406a5455073e19be2393bf4725f45676ba45979b99a37e9ffa98a7fbd9d948488d2a734ec6bf6f21f06473e438beb892fd59276534693e8783f33538378e819fa45126dcba43b93325b252215c203f23017a801f0a5b76fb23cd0c177d4da8352c90b1ad4fa7450be1f724b721ce4708012f78525074ab710a833627afca9276448f211b86168ad6e80c8b75464b1a8b69da01a6ff584644e6dfad12952198f1512b4ea4d7d5bf142a8650872d7e7294f5ffcc0be95cdb88ae5e4a2e04288e5481f672e2b1815cb09a64d5a727943ada3a63ab0f6ba41e981b56138dd4df17f8dc836bbbd9e16903dcff75e300e320b301bdb3eeab8c0a61b7a553f4c2bf7acaeaacd968440d5fcd5033b0972a24f7fc6baa3c9f2c823bee479e7c14c364920410950c884c0ea9d48402fd6722918144ca5d2a9c2b13c11c8b093f3a5c4755a6703e83ab2b5969994a3523f3b2de7b917923dc8329ed9a70ea8d8c2a8fdde98783b4bf238b75a27aa9dca597222f7bd096b1891f53885f0dbac9706954ca7558e5aed6fdf762e16c9a2e5d172ee4625c446dd24a2f0a210df471d56123050e0a2ce85818355bc8f7ba190692560bd9e3d9aaac83a1bed441cac2e3a1fc0077d26fec4235ffe524d1fb9a40e7249a14e373fa58fac78d01db40a08a06a03d029d61a30431d733b1ecae53e963c1fbcd4c187f32ac010e8e54300d82e14a6797cbba3e16d910424c1ee2a27a072a3651744c07a84a2a5d5e78c929e7650db3d9b6e7791d70c07a3f57f81601a72fd27c105f2e30be338dd88d187cbda8ce29d6913ec7c75a02649cfc750cf5813e7fe07e51c57250cf002975f9eafc822c68bc91cf0c6bc5e23e537be6c6d1072b14d5edf01b2be6c6fa9d07f984f36f4ac9d360acf0af8a758887a1858e6b272f9d00f57aa2850030c74f176f7ec73bdd6af632c313a90a8cb422be79407167275e1d211b756c5061830c018725cf0403ee9ad9799d2a03fd0d62affce78613c7b08a31632882170c6c404895ac063c3680fa14f774ac882f5604621eb122b723e668d12c5a417cdd673a95ce880ed8483e2e322659b3500f903d2f1f18fac729d086f429698e63537d11e2553e77439b9325c13732ebb1429ff803cc307116d94df7671ba74a2ad9b608ddc197794858e23da7ba097458a7b77f13a02945b51762fc4fa93dd57c6f371634315cbe418b967a574281d80cd3adb2ea41a4ab3083312f521693cc85ba59e06062cfd58ea75c1fdcf42f1aad1a87883e778a2bb7241c0504752964cc923735908dbbb712c1d1ce561a0e55982679d440b5daedf17dd1ad9cfb72b7a28f60f914396b7168a988874b0616d040ae6e5d7aa276fb3480fb740656c00c4eb560fa48f671484a244b41682d1ca512078c1c86ef686f85a996bb9a71f23e67b2724556896654fe43fa5ed7b385c358a222ba2a58882fe72408dcaec2b9f873298e1b04795def350e88e9ed91b46189abb20a626960a70728056d5bac52b94634d824faac9921c0545b7a8c7e4cf8114f18dc7fba2abd55661a07d200b25ed7cfabab04b2b0ce8f6ef9839397f7ba1e1a973db08f665e221234fca32c55931f65e37975e315a1c5f428e59bc6c08721c2978dbe3c950cb72cf2b400c62dbdde5e58bdb9088ad0ecb40e649b3c27ff8c0674ce8927aec8572f537da17a69997cd3f10c619badd9ccca54d18fcaca026f93da731d0fe7ee35497b48b4492c76ffb38b69aae72107040db15e2a7e6618e2e7097135dd330c3577fefa5c9dd46815345389d142a17370f8ed6adb4f0dfcfb5a16228a1e8e571725e9202034e5110280b7d7065dea5c0f8cff5dffab9f3df24e321e732b8efbf5cedfe825c0c7a25c64b67f585d21bd198010569b8bbf5542192bfde9a444b6f72618c00697ab7cf0243d6977f934613e2b70031f9bd1e8cbe7012bd66a9cf0b72e56a164d70b80796703964769014bf7d15a1783d15a3fd2c00027e98bb77cc72d8ec6706135a741ba9a49b56932921fb4c237919bf02ccfb611842fd73b4e37206ec21ad49cd7ffea42bc9660dde9bd95a7c106cb8b7304aac466b3b306e017239aaac385e60f89fef1243287c02b297f05dfb6901cfd18216a479e8151fc77290d2a45f9e6065fc4ce6a46cfe6cd0efa30d2402f554e096c95b9cd555d26d71041443c1a5558df8552e3a39de6ffebc7f3eac64f97de0ae0ce487134d3231618a6433fe50906d0fab11f7401a408a780fd981a553cc2fe386f866db7a96a072b44c8f0d3607d7df745a6e2f13566eded247f6c257649c8cc29fadb94e56d372ad29eb0d74e31679571e5943cca80e4d594e66d8238fe398ec3c66e4c65cc5725e3a60c39e49f0b740f12d8e87b050c43b2f1f35bca82ec726bee53669dd5a72ca2f3c71a0496ee503315a4a4555ff6297afdb719616562351d75b08ad86900860619b6f5d36907f28a60cddb828a9df1de510cb9f0fa139b141b3f1a2fb6f0082a4bb032f80a7bb45b1abc1df6fa4c0a2d78a93b0dd8a54ab628a6833b4793fab6421c87d77fcba3827155214366c4130dfc0b51c44a2168790b90b4f434d720b08bd8163bc74339d132d635e2fdd580a0d36c4b9454f4fda94d75f8505c7720432b1b345eac3b1b8261b1350fc7e6dd0070b1add1de4d21d11ebb1b2e3d05c35dcdaa1fe1d8f4ec4966bfa1c4055d590e2c40960c86a9216c8d9651e19ad7252cfb56cb0d45c203801b06f48b1ad033d5725ab86b2ca68063bba715795d713e28876a0acfb086cec72cf5ace8bb0029512cc5fb2f10969fe6f043026beda726132c3f51c1ec3b5806b7480d6f5263cf1c60af4179e5197f07eb74d89da8b458edfaa28b4154d90a9f2928ff7e504ee93bc1dbef19a857c33f46abdb75fd772e785f8543eeb89102292c02d6077da577180e6d5e09a5a8b76395498f8418a5639e95d65a33a17b0bd4d0af25b535b2e233d44a9c7ce7604b5e037e885061049c5a19514a060e3613b8b2e4423b9a796eead26f612daba08f0428fac32ad2872f12fad4c83434e2c956d445084445d62d0248f6ebe509b97d591bd883a9050187601ff55a0fa226fdd4c4d1d2e66c564af3749e383e6c8ea351d9a8bf12b081816841524f014eaf7345da1be16242ccb5b31aec0110abaee0c24334d386b1b1094cb9d2cff8b3ef90439ad843214a45004da5e2c8ee730a438b7c2cf6fdb7307a476ecca70f91acf6cdcb8983a82290a13297b1759c32d704035bc8ce3454803e3a52e19e9b2685d3be3964e8a1ed47ed094c414332172969e9b93fd5ca64d62d6600bd0601159779b01a62b9434eae75e81e1d9844a061595a06468e246f60df4824fca5cef9b174696f6b097600d9d8526cef7140806827b2ac665d651d872061e4c995e6e61c013946820679c040c9e458eb9b5317e19f7b8c1aa4053b271d345fe7907ea8cae701d67e3d3a49f13d466e750fe60fc6d4bc55cb57f252472f5b7a30501e34c8fcbfa09b032e4aa88a68dfcd592f67fbc88a87c8891e4dc512bd34036087c2a2e22aa3c2e031c15b144985ff5cbc2f144fbdd0ea98fcefb6cea35cf7eec06606c539a057e1e317107c394aecc0afdb71734f3406a38052f7225e3b1a3bc9e41511ced2d3d558d7b1244df02d2d13822a45afae2462a842572a18b18239a14fd9f0b600b8745b9b6cd9e9d16e5146d8d7dd034e8e96997dc719a7e26314a733c83c36e38054674bd837175e0057f2735f7f63dc30aa5d3553c811123261c0f822c5d17b7d33f0e9ef0713a55faee8d51cf3e43451d51062372ab6edbfaba7509ee03618a49f2e377516b1844c487e154a8b9b4cbbd3383b2725302c35d5efb633809447c223e4d2510635a5fc9476dc87a7402cd73eda08772aef4cfccc2ece31b19f88ab920a3d7c67202de45f767012ff72add1d3fea297217a7e31e4378c83f536e42ec884acde68d610b5236dd272d83e08588dc47f835edfbc78d50a03cb45ec268c606f8e75cabd6e2ed6e66f307ff7caa9e62bd165af0737206ed1081ce97f92dad6448f96235697e320ea2fbfbd4379fd6c1ccd872f5eaac468ccfcb4a1340a8078f4e1a1c6467a580a3286ad0c3cde71eede48b7278e96ce804a42484a1fdc1c0dfd4403825accb5f28dce6809ee87fba7e8b516bfa357ecc85c7851336672927236601540029515a921e78e1474603df8fe35e723275459acc9b990c4fc70f03184149e576dcc6a88c423c2a74e5d9193fb70c1efd7c6ad4a27e4feb2780a1139bbeb634106c4f9063730ada06177d1f752cac72a61d463884f647080c5998eb9dd21d294e32771492f323e4ef93d89dba7f8f0bdda47c5484c3363abdca2be3c6e17b692284c91881301e174fb1011840957d3a7727df22620946871860e18cacf76d37036a6818139ab78f62b31c81f6ffea47c3154b9f7b602dde3816179e5e5a4ac957665b6de861ddd81cdb7e4d19d89d462246a33c4ca35d5420334384e37ea7967269669a00a35547b16ed5c76938f73b8601a82758ac774e2f4510df29ff7305ef7503cd01e56c03da7e331b071f2672695713b06fdb70a542ed30f45f97375a1f6ab329df4619dbe43a3fd0ea1bf1727e3be0416a295c779a399c48a28cecd647af0ee98dfabaab6f707e1cd0b5807266d2e2eaa57ce826319edadce15b8a4c6a0e053e49822d6a4b64617b2367be0cd04193d142ad25dc9325a521acc72410b503bab2d5c0d45dc253dd626950a0729d30614be12ea7d97aa5d0ca7c6a9c1834aadb0cea9af5cf4aca094385d4cc1fdc0ec764b728d1fa6b6961ba4f298d172b16ef55185bb3ea6a68225750ce3572322a02ee740f8f8bd03cba1cf8e2e0551da5c9b4fb5f6fa292d39e4b0de887725aea46fb46a872dfe712abaf3f47c1f04f1a8ce1817f0eb6264278654033c428b9b76e0f1f78777de1a1af9ace8a30fbb7cb54d12bc9f5fb236aba9ba6478572e7ba05929d6917231b4c669d3510dfd116f3af0b40f91e2c7ff4315867c8e172723966cc8124da9c726912636cabe0af1d590963d908ed356e07a636a4e6e772f80f7d672a8d91b60d321376fba1c1bf33b1e06954140f6e73215ca978ff2b02447a94d8697247607d08db19da6bd05f82373c903a10d189dccf7e2918debb22e5701cff07c4162d7f09752f45f78cddc32ed6095a1aff97ffe576893be67072e006a03eb786972e01eb320819217013f3b956b7e3011f9f2a5a7743f397fb04215f959a608966290aa2e1be3592ef5418aabefcef0932a478ff740919bcce72849c318eba5e9a1444bf3c328c922a43333750c90e5e403c2b2e94a5416cfd72c7c326882bea5e116bc78b457bd5fce46fe14a72a334f6511d28515cd3248372d87e119b661ecfc2a4bee6e39003ae11cb58914ebfb71120b7dd6148681ea372b9fe691990784da454c89e47f574421ce6ab833f920d76ca1238ec7cffa91772e6c2275d7080b96b00bac31a00d79d5efb0127ea6d814f88cc1c96dc75dcb372468b30b6a3d879712659f6a97c0054df339fee1a589a3b9462993213fa1fb172992bea7d4596de185770e54e3d20b4b56afecd9c6d6d5ae0c2cf42e02e7f3f72339f025161a3088a3fa828906b71b2129b2bdc71b06a1b7aca7d55efd5dab33a024073cd9215ab58584b5edbd90e63011d8e92e0702ad0e9943d8d37af402472ef338d77df17403eeea7ff9cf7416bba4fe16141f1f8bd5edccf3502e0837a7247ad5c0928ef37926a6054ace9db22d6e0fe20b8e411cb70428618db5f3fa3729e0aea2853ff64ad8f74bc84a93166452a0a266733a3cc1c6836daf3510bef7209548aa6a85c86708a74cbeb8d9c8e7798248a2f0b7ec043f5524c8c7cb8d1720ae224d2db12af39d3aa31076dc5779a2ca7b466301a4ccfbceacea0883b6e726a9772edb4683f8b3993b2d61161ec72270595540beb05207dc76dd87ac436493e5609a3c2aabfaa430c5d73c0290c02778557eac1881c03cb7bddcb6b39f46d808c64174acd2777ae88a38176f6dade5c82321860f4aca4afeb37deaa9e4272769a1d8a6dfb2ee7291ae4b3008f60cd8a75b9fed05dea20318b596a7d290972029585699058da4c751d339f65be5a463f20077498462b8f77485ae6627be0723322efbd837194fa64081182b3f5a7be276ede75d52ffa4ccc26e0f680987b729f5c9617dfef0fcbfa897a027c7aac1d84e5a20749e07e2bac49b2f6ff9e7e72e68e03db895f3ba9c2c830484946ed74a05321bf3f4f366e95da6beba25f6a725e6cfa4ac50e1745503e33d407bbeac64e8455e8710c8d2b9930b7aff4430d68be38af0c4e3a22af196bf79ad871867a668b57f9ce1093c90b561dd74921dc2c8dd3e8233b1308d7bdf95ffaf774a1b14a593da634fea3043d811a066fe37b7277597cdf64b274a91954070a0dc2ac0943959b120575336e2ae684fecb506e72c0bfd68761968f67a1517947f5211254f608104bb0259da6d5ba1e8df832a95f9c9e787ffc2debf895a1b311793e64eb19710d9044f1da26fa32914c5f2c7d6570926a76272eb9344c00bb0714f549d792335c740e779cb1013b5d33a9eecc72a744b0525f6538bb255aed8238d6030ca0509b6694aa24f5b2eed7d271e8181e2a0d014a93e1ec901d5484a339c536cb0f48aa50ae71b4ee1d64b966fe75c13ce62140667515ff8f7bdaeba655bebf7a3753dd8ceca09ae3becf85b1f3c7d972ebc6e145e97e1bae65c289c12ff7c9c6f06a391ab0cdaee274fd677d160ed672cda9ee5591c3b3de8ae82027ff920ea49add97e00150cc432a7ac17cd642e072963f255aae83291dbf6ee75b3b026ccc1d9ec7503cd0132343b4caefd723034efc03a6533876659a42ff7ad17b5a398287cd0250d372f8831dd24ee32692bf7242d71302902d06252712656121685d74a607fb9c2ec2beb68747cf6441eb79445e51513dbf493335191afe218640cf505bc05d8d9b19ecb36dda71d5530cb372103df0d62280196f3f7f13b0b25d6b930db8ffca62d147fb598f40d1427ef57258b6b6467ff8827ebddc3c60e179cd4fd8383c85860eb6597e1c912a3c52b572972a8cb5c9e0e03ae5f39a22bb519ce2199210e5a8ee643f4ed2c56ea7224549871633bd4fe00099e27600ed26a6a1a54a1d54fdce26bf8a71c1dd4974561272e34392edffafbc21bac46c5a24652e356b6b2cf409a712a4340da62d3325006d0772a880f4f7bf55785d73a88bad872b7ab64fcd2aa657c02673aaeb658f337285b30d90afa58a4e51b010e24e886740c97c5c582dd71a76336dca7df91c0b72e0c1cae12561e89ac21929d2a70d14a18bc52356a366e3e10d51725f969f62607ed1b631eca5e68501d8c223a6e1adde4d49672ad81a3458e12491b50605c7727d9a7eb0328648546249bdb2268f59d7b0b1652a5343959d23bf251a43da6b16da7b81c326c17c46cbdb8e5fdac1e34edf0c1fa2a581f2cbe65106f0906cca0ff905c77f365f20d96305239e753b1072ac32aeca4de933c50c80102024a0d167ebd695f9b3406a2a265d51d2c444206bb1ff78db823510826a47dd761a7e807297f469ef6424f78723ba8280ba9b84eb960bcc07d1ea746e9ba168393861637273eac78f0869fd1696c24ed6e3bf55acbd549780d0b05cd9049dfc5b0496e50bf9fd233fb3dfa9c00c9bf4d45c7e59cde1a5128b8ea70fd8ed1cd7817cfd7a7260ec6d06ecce1a32346d36e89937eb2ce46739289c03d38b3cbbdde1c341ea7204980a38e3acd138d88f657b67af29131c79441b4677c0bc9ec71144e87e4f72d115a952f5d81dab38ecf364b6a5602139f1adf834bf74afc29ab080e4e48b6a171559ff2ac5a7d6e7fef95e0b9232fda05a6cec4bfa56f69acbd289531187725b4c0c8e892a9720deda14574388d7276a235468f84cdf18623a0dc85f219b3f763c70c65e2469c3d2de3312fa8f0ec014188ca383f33d61f86839f7737ac0728e96883b675eb66e46e46ba203f6b767fb655ccd3c4a67cbdb23cb9eff958b72b8980ce1a1030448459e422e9fd93afa5dc4c29e82e1d3e4d34a12b8b122d672d9eaaa84d50b6c89a1232205d92f893b15866292a9063f90da371eb36e1caa7250af2e8d02498715325a05bcf6ca159436fa694d9ef7870a1ea58138d42a3a5dc19c2aa989b4ee39a567a60fafbaf9a9d850766faf2bb6d2ea9a90c0ac8d5772a7a1e43718a169cdbb05a578c47e184d2c235c345720b4ea1b9917e244df9072c178c377aebcb66ba99a2aa55e582ae29185a67befc6125f1061d26b8abfce72ffd64d3d759d1e483478e201f336eed66d2afc4129df170279433217b97e4c3e128ba021d526cfbe7f83b7f7d978363755d9988b7463652fadde19204485c3720c8c182154e0db96f91d517f93d45e93e0d1881c984403b7bd86e8ecade470722bab6f17ac2d2ad0812d3444d30bfe0960d0f2cca7955550fa053d970cf6e5720078e3dcd2c46b0f88f149fc98ad38e5adce4d64167c08485ef536b347a2c408b71cca7cb41b9f1079e7ecf32f5e20ffec07d13ba6403e365bb21c62556ac0720f4b23980ad99afa93381f896317b3419e810cc498c54b2f2ba7fe0ea56dd2727ddcadcc5c4fd08f9360a92672caee18c73b1919cf109189dca1809a05efb82f68a823448d5b878431109987deedea5ff3c51082d12852e859e75d858ca8741d914d6c915da41440747b2c038e71858cf4113b64fdf8e0d7981186f3cf333267fbb7f866469f59810838f7f0992fb89d204d9082b8194c15edb0ec8fd0ecb14cfb67d2ba6a4ea6fc76cb4f9e33b599e6b2d0b2c54f5f5cf090e1dd2148668972ff908e5d661ccf159d96b874dbb8ca92fe5302f1b8acfaea6ff1685383296d7214b2b5edaf924a4e40b043a3331c49e179b567271d366999d79c142578c6fb315ecced2afc8a99ed0c369a0b3bd56eda634cb9a2ee30c3f5ece3bf6539a38a72319e82555cff8da2e83022bf4bdbbe94b6e8998779862be8aad20ad96f5be2061ccf0f95166e5348b02d53fd05b7d99c6db9d53094fea65ce04bcd92ecb3f97274c61d11736ca5fb069d66fcc92f3e85dd0e3c897d1d77fa690949418186f172881e54d04f42c2af4280fa9d04df68a7dc194635ba3893ed390bf7a52eb1b47286a18176acfd2a617ba3011386688709608f5446ce03f2c6b25f6080b201ee2885836e1647f7e929253e5fdf3810191161ff9b17fd13c12146a9bec59ca5e6727e1074a2e0f801d9e60dfca4187e2d4094e1505249e2d3cd99aaf62b846b22687a015d5079a6cef8428d5f4faf065712c666460da0c44b6afa3f138e11fadf72bd23798230016f1f14d98dbeea8d4a67ab86d67c0897f48346639bdde47a8572a6f65ff91372e4209511d2ec802583035b018832e3ce17756af9cc6d5cf2387210ff95b540d6caab8f3a8dac7ad7cec56fd01e9ec0caf583d53de0b494f3b85c8236f9a23483c4af7e7c20f486b54b34c6f5bd6978ae704311bf8bc8e8334d44c29edf9a0b8aac5af93f418a7d4b264cd481ff65fc084234afc349c9e90d3854834682be05c7ce797fcd6a04b1a224cf9dcb129d58c6dc672f8959b1199fe5723dccf79ad3be353570f1c70a98f6c466a277b3dc3b48b70bee4d990333175b724199b3dfe7eca84b80055b4ec9b1582f06f28b69aeae828ee0d2842c9460d614055a3d36a58152992a1d0a654528f73196f4a9f9181c13a40a111c97c3cafb2fe273b7f4687f57fbd760e65d3c8be90dac1468dec43c89aea27786e92175e4728b10b93cae53742e2ce0d394d572c0bd9fb8537e1c7095a6f88f20d263744f72f34ba720559aa670e0e2054343a089a85513e43a0a6cd20267987c776f464e722d7e0605b9925b9a70332980aa14d46bd71c1764cf54b5d54ee257f9533e807226d615856b28bca34dcb94ee2df4bedd2002d5ff2598133cdbf1474e40f244722def701a0422f8c186cbec618d77aeb989572cb352ffd511baf6dcc92cc767725cf4ad58c67b8b69ceacdcb11d6efd10999bfbf5080cfc499bbf4fa57e86d430f3f743261720d2b713317455a3107496931bdc746a11d6c201b31261c965fb72cfb4d9f11b8740dbe9cd0fa1e95d44fee01f5b1050f9b4a94b73b0476771d072600765d083dc4708da740546e5917d7386108e89551dc2dcb455ee41a9827343b0f166dc882ca51e7d81da02d25d9a446ca383da902cc0a4a4668385a1f3ed7243d036c2ee42903ba01cd580dbe488e25bab5cd5093f84e7db048c8297d5ca534b266a20f5fb4f1643ea9bd107aea7b481b3b4fb03126919afa75546cef55472bf40b1b8f9e06b137d8e783196efa7d40856f24ebc9ecd14a43542e1e5f5d1446643bd5114c64f5b0f941ac573520914a11bd1aba557c14a2050adeef86bc472e0f842bdf38e0b59dc0d38d59acce8b8ea3572536e990ef1dedadb47fb76f2316b672de7ac43269fc6abd69cf382e1e38634442d6fe681cbb26dc554b281cd727764c658e2e03733bf1b6e4bfb4bd85c73f8fe7dca19f3c3dc1f480e392c3a4d6701ac7bed0e00fe07e848aa4128fec8502904938c197a7a94e66ac32ae2833a04afcc35a35209fc6378afca7e80456c0b9f09010a43fc21a573f7738e1a5f06adce1cbd7312e78cb893be8a5d7bbdcbf78cc521251a27d514da736894363f7243e4ca757084d29c40aa4f241f7c2ba1ed6e3fb3d436bc21c8d5efa9fe4ddc3ec5796ef781b63dd1d3c19b380f0ab434e4acc86b020205de90bbc2de1bd49472dbfba8d15b91f4f678ec5b1ee908055191e14fb3eeb49ece463501d28fd3dd729f84e287fcce5cf55660dc803a29a789ccca52becf446437c416b2d8e44ad272176d810d8aba11fd63f10fe1444ac95ba99095fecc4490fc16eec4cffea2867239b258cda0d7fd99d77ecbccd2a1f0cfecb5822b2b9d18f2d5983839d070a3729964c20246a5ab1847e634eb855b2b7b2f50c1a08667d40ade4820053c5fad4a35ef45df4d856dc12649ad701c4bb88b7e3b33eb3216ead121922b1e0c3cce7226788ed7b256c32d20ff86c62c08690afde65e88e383b143c3cd5a992158b40cafabf4f21e803511b74de33472993fbc57f3d0c0c6ae91248a0437d049418f722f61fb730129d58d5331e064f3216dc90254b8dc5ca690b2cf0851fbe6c1e97277d01d64f00040d807c55f55dadcf058fbcb4f04bbfbcf8f463ff2b391c88272b17524f8a29b806d32b1ceebd93833630cd676e96eb3892ab82a471ca9d196729f44983ce77b2d013ea53111e391b1ed0495959993d691dcb7d7520877d5774881ad039e3ce385b63c9efc17d97ee4b9e576538b3f8775076acc815688cd6d098e97bea482690aa6057abe541fbaf50c92bbd259a5701246a0a1ff5cff54060fe732132da00f1c133a2013a8fc1b84b3809a46b9ec7e72bddb1b5e4cbd3a5c729ae7e2f0511a2d3ae6cf1039cff9c0ecda25f0ba3030a8c637defcc63fab280108bde0b2318d2c90624eee1cab52c8c807da379e09a7325afecda9b04b92b939bc55b299f0c96e204af248e28deed34eb181c4a505cb029ea6375af92e56204aaa1e052f9a192493b616fdd9bc07a966474ffd11b0949e4ba73afdcbbb8e20159ee066c00fcb96c1ef1b6ce5ded70eb52dd41f49cc0c52ddae966e83e829e62477ed890cba7718078d642e7118d7d8e05e39d010261c0b3e41dea75a4ee707725c0e6421eb0b7405931851c0564069000dda0bd001b18e418236603fcbe40203e420381c887dbc6043bc9e5f9ccead86223fc90d296ae49d65b478203ee17a729a2629409b256ade70b2e62a4dd01cf42b85d3c7ada776266be9fb86417aca23ccd1088e9cd529bec03efdda29feb7397c857e57458116e156ac7a59a343a34e514c9d9e6263ed59fde72d19a3d90fdbf61b09bfdf4e5d959e0c1ee4661a1e72c91a53042c39bffe631e2ce7b5363edb57dad58180072f636f75504fc6e7237214b0773597e2ae7eaebbfa7197c54802db37706ba4330682da7455d0129e6d29e4cec748266568eeb416c9b87405340e201cdefcdd37019fa09483dbe8c0c92d144eaa140a45d7db8ec9a6aec79d723ff407ab67485291508b4bd407edb0442fe9e790fd7962ca53726f20d6dbbf0116e55dedacc64fad2f92aaf9be1e9319723955207739992f26294e61528f057f3f1c3b391dd4e8bf3e60796f0a4909fc40ff11535236df4bd8f6daf906f39c8305f713c8779c45a088d5872b244f2a50701fd3a70a628e7b5478374a0c57e6ea411fb69914bcee4ed5301616eb1096917282cd6bb89d6fd863f3ffe3fb56a026629cc1166d183fca9a6fdfccb66329612e8cdba10d0e2c31d2a6d5cebc94cc2cd4265796ae5c7c71656dd074ac5a65c47232468bceb3c30cb61a804673891bdab834997120787342f99574e7c14fe1a6728b9d80231fa433ede437075e8829d7c5c80e4f0ef48d15d125057963a28b322526381c37c720fd144527ae3e940d9a0e4a0ae8250101a4c2e0c39ebc5a67cd698f5be3a852a253eda7bdbe4559ff2d0eae23a2f6939351e50e4d1d8e817c8872abda4b525e57549533a44e78f1e49932d864a73436577dd7859593f5f5d4be3c0d5575884a3a59476ea02d8329d1b79fcf72597c657754ff8bbdb17bb2a4a172ec8d312732558fc4f76a34ecb2f2e2f5bcb023f7d3fa138ffe37a16f0268e1728788a7f56e363b07758958c1568b79031195036f0c9294612ff49ed892eadb01da257ace3abe7761b6fd81aba53aff2dddd4927600826fda806564e212d10239f767d186e9441888ddb1af5ef1ad9b0f8e41c80eee3697c225c51dfcbdf96772055dcbf7b9b81fc1f7f88e4d31cd9e0f8bb2595f729799ae817c09a1691d4d3a98cd76a9e4f9522146c2d2aabe3c323d1067b5c869c12b90a14fc47caa2d53725a8b2c7626899f93e9587bc77438f14fa19d648a9bac96344bc81879770127722c72ce96523f5002cc0e83905da6b72b258e31ba182284df2d9a44a2f5ba6c724c3551348ae1b79474b8074b0d1db653020d73a2e21b21090bfe5afd486a737202539f7e740b6960cee057aedca77af851fae4c9ab8d72b825fabb2429940972d8cc57b688cd98e517cec1987c6f9fa65d3f807e4f5e0fa67cc63fabbe7d086c029daa0068eeb856d43f4b7c3e91300bc7a87d5bbb180bfa2cf074000fb73772629d47e79623d83a267a618eacc99f7dd10b8effbb5c7bc1eb7a8c286139b859bbd6e43c5d78e2b5b20ab57a28643a656d3c2bb39c9b0214c6498ced911ed872c39a4e3ef9560aa4fcaf0538ae0df56f8c90430aacc3379444d661c1d68139723a2200d5871d497d8c924d609967546d1b9eee55fb790aeee2ee6c3c048ca01df22d2010589f52304ecd3a201d8e961eb67331dfa9579793a64c3740d8488a724ed7f80ba5583957938ca678f4c079c4c2a72723a4d89201278cbe04ced3047243844a5ee6dbc9b686c68d4b94cc1c71d0c049d817bf3a7072c61dd25cd73272f2cce7ba87b385d2abdc9f2c6795c1a482d2a424afe3ec0a40cfee47f862bc71003c262effb2cb27fbd3342bf7ebc33a30a6cf9b5e9c8fdc674ec255189470357ad5d81391e9832ac4acdd3df2cbb00c0edfb34d90b59b6550c6265d1dc0d872bc4d290d4abdfc410096c53c7c2b447b5c9e206d4485628088b361a660639372b1d766cc2f049bebde16dca02208719e66d98dec2420cd114e02fecf68d012728d3a40e1025c74e8e61852a287069931a3b099406d4b3562e7fd2756e68a32727e48602c3be13cee90688b36f3f037934bf22a45f226515a1bd2a9a2b5a192723674cc985bc2be77c7e28fa856a5f6cabaf298a0cbf229ff2f5a3c278d51527268ca3659e4b76dfc52dd4a4dc47859d38892de17287d5c69fc813d329387617285d5ad2510f57102ca0fcbc72087c73102d44938f2a3132b658a809bc2677a727994e9b38e1d26bf0981d549e71b9af7d7ea5ac3e99b0814e571a9bb12f9643daf3192a4f89ca824892795ff4adef560f2deefc305e96361143752816af6e57249ea473304680c2ce003d8dc0db5c68018a13ea3fe9026b10682e64cd89a5472e32eca18a7c28fb3d3a5540cba62d83f2a46947a707e8e4f0f9c099a4850a6457ef6b482424369a8b567bfbd980cdd03ef0fcff5df10f4e0bf8c78653826bd72de060abb4295cc3b5acb2fa080983d4b93fb84fdf8c9d2baf02139329a7c9d133739956b726b9e832f878babd721b403b369aff7139612eb89a1e5e0dbac705ec5eead68a297a102f00989394094bed4e4b53b97c9a06cf3f655d2c6b88bf653bbeb0d50c5a24c24795f5b7aa33b7efd33fdc24a6a064f6e097da90affcada72b640e97505ce59a88d3c9aaddf046e11e329384108ff05fb65d96a04c3bd907275eb6a6222e9a445a79b0281814a1110e239d8d2584c4429481db81d06f9d91637a4753206cee5dab4bd9d3f59309537d7ef805f8241cdf6c9592359e689f93df88410d63b368a7df4cf3ff8c5a722507b582d7dfb2b0c0595f39edc2a547f39b206a82604111b66e3a208dfc87c7cf864e73ebbb907e6251bb5f2864b9d9408a3b2d79c3891af230e036cdb0d4504ff24fe0e26fc54e1a0e1b1874b8f8e747276fd80ac857f819ddcdd53f8f266e5ea9693a54da124c4a9ae9633a5354da0729995f683bd5e283e1aebcf4a5ed8292c7c3ac1808f51766af58014ff5e52a55ecf1629bea96e6f42193d23d1e085374b82a8284a03cc21aa38db58ad92619b1d67c5e4cb8cba6b1b28993ceafb4218d6b2ac1c6caf95397f3d4f5a806e281c441c60aecf451eefd49410f62c0b2d22ea4f8b94b4e76e413ef1c8241f3984d372566e2fbd47d4edec8e8cd7d84e2eea04cc2c9df1bbfc021d2de4a326d18b41725e5a52ed62d833792ec077c6132d199742fe9d076e9c01eb904c54d3b22f2372c7a262484b8987e9f15174516e5eb31c0c46b3f809d5a6783f632e3478ee28610d421c41c7bead4cc21a09362b67af7206a2acde67621f258471a5e5aeab907207858b7d97919fe08ddfc402cac8b82795db92cf4249a29cf70d65dcc7686f72bc7dcdfae46770e6279c6f411ae29e1a45a017dcdd6616e7312a5e9668164b4645e219e3ee0073a5ca86bf0267beedd75dec966a9a460589425548f0c770a372a9c2b225b298a0b2c95219fb19f67f8a345e2fd9a262a9cc5ce68c7a30341f6a995c881d9a215bbab92f70f946f6446ba4fbe7101090ad0b129911a9d6422772b2122459571fc31be4274987442836b48de6eadf731723612927732176dd6a158e1eac9f6c1181dd8133e31fb13f00d1c184f6365c62faca29c397910fcfdd721795ee2185dc24c84bd19654a887dda184eda013ef75fb84e4e504561c7e7272e2b763915e3d2265867a68a296f28e4abc1e21e82365a8705e17c1ba21eb5767cab75df6fb493f80fa3abe2896d5556a1ac16b771d2d97b5f8cd72c23818ed0c3318a21c93abeb9d557b106f902f247838379adc021cebbdb87a05dd23167b61330d899d519424e0790b53bd408dd20b67ab5dcc7f9852720fe660ad9e2a3c726b5d386f804d21a8621b602cbd35ac94c904c5beec8179e810f151c952bb2f323e18f38baefc9e8dc31ee376de9ae012cca786e0967a4107ed05de3363894a72808d8b339ccb06d5596df59655cc40b7de60998e61023c6027246db042bc3b3359f3df41311bf1fb23ad06a56b0499f3abf8248273b6138ab7bfce5d86ecd96d3963d216f2f701c2ba3d67e62f75904cbcfbd33eacf2aab5ca13cc7c07355a723765496704cc83a566d5ae4a001359638ccca0ff7dea9dc0bfcdcfd23f479d72e05ba94f2479f7e1d8b5cf2e586e39f86c9f581cc30eb875831e6129f238105d5747fcd685f014e27a832776b8f2f155a8b1d6eb7f5532df4c0d51593efee772c7bf37df42b9be1bbd0dde4f7ef3b1486681c21fd6503077cf0803cf0e96877270b66d2e6eff885c4a93caa3147e50701feb1c53b4ed23c4bddd38d811fb0c7275927f96e719f4a05365bbaa44f12e906c2875a89cd21c03fee1727704ec7372d66cf7b110608ff515586ec85089aed6f1c036de0d1b3af874e03e2324b9f57254d87f246999d3584147d1669dfe55c0f9026ac94b52fbd87acbb00d891fc957b708989093ed27dadf9cb13c45c9a5e99743a0cb572fda09541b592af2d6a472d340eab7eb4c86cbfe032a061177db4b2a0cbb889e4a6d7d89edf70b751a8f72590f5becfdd2d3b5537a59ac804b6ac504331aa97662d4d00d37dbeff756f01a2f28130ebbb5637297411ea7c253e5cefbf007644c228db674075263498d44726d1a8d6313fd065cb869eb411d1cf3f4bb0d1f37f13dce303c8a562b6adffa7250690dd307c46d1ef441645ca7fc523e6143ab1d3b6660a531ceb3013ab25972f4c8776500162f3bf24f43844cef499ab8cc2ecc7ccaf2e41f0ccb49185abb72e96ac3fd9e23d0d3d8ff50f526e7fbb8805b289ce9f985fa8c223c2dd49e174744830b5dd877cd3b3157e22baa4bf1b4e01b7198764ded833717454c790af62e6060f810e4ba8756de2edfe12825482a60fd1d99bb6e621c660429f45fdedc7283cab8c017c44173448d97ea60f8a8bac035257443d46e5221081e3862e7325891058db897c3be2998597d3f86ac474ac14519d08bf5ebacd6ca6b4a56e19140e5846dd982fc3671eb441bdc40c7449b20ed2e0168baddffe9a9b43d49ef43727c274d476aa79c3dcb87e643db499082de52b42b8b4ffbdced89b680b87891704669bee5d567e987ce8b35087a19a07025d513dad76732ba1bffb0edadfcd15e4f24f4a353f2be4ad5dfabb863af41508e4354ce7bcff06298a65d64cf9d2508cacad57e902d5e629a64f38d4e829414005b2faeb5c03dd7d68ce36fd88a982b2ca82015ecf3d58e4909d3be0048bb9fbf7cbb73227b23fbbb3c124690ab0e7260c8543ec0cbea0b9d24dce8258fcbe1be7c3b4065ca40e441beee7a3bd2d272e92b37c6df9b548c83fb2ddb076326bb79dcf9b55758e849deea8e844173ce7228d5fc2a84f4cb81c05d1fcb357b5adac64f915768d8c47e7035d8edc535a54a036da8778e780c8a11a9a7f752422fd72384a7f2f9362b3e73314da13edab8721ade5422d144a341d8dce103a06f8be6ecb04098678768ffe7fc28093531803561d49a255f237d97ef4d5ad11ed28299a0bba89407b3081344ee25c2b85ffb654663ea8cab75be490cbebd8d32ea83c6c8465a3406e9c813f0a1642417ecba72f05bb561a6a65b13482897d5dd7fd1796a0b1eb9191f7b2febd93f6b2c2241474bdd944be43e6017a6248e8e15e327140a0721bc17b4fdb97631b2f001762e72ed023ee3e26949f317de03bf7a2df3c2c184ec9c8bbc0c5b4f6d750dba239b728cbd5353636167973a1a924fca710fc0c21674b2a0d5a67ee296f43c71143472490bacb3b837c8f37d0e4a76b74d6bda975c644e0137b5a2dba4f0a7d441f272b6b99bb4db5e7cc680f87d0d2b5d8258d32dfddc5018342cd68def48d19fd9723d9d91002c78b2e2a44c85c822e5cd7e12636f20daf5bf9c908408826d0dfc72a5b3099816a7445bffc614a76694edee7a4c1918d036dc355173654111f0777207058e3970c4639269512d0fcf9b9d4c8f2290f0164dec85730d8c34af03ee7297c25cc7a4a3331f8ed034a1683c13da1c0417ebff4151da0318ba5341c3b27258669a222f48d4ee78bc6d0c2206f72af9d8b10a83ca29439ad041067c376a1bc9342bfc826db1dcf152a32692bc118bb3b710844ef828f32fd90e6c35e2b600a60b9a94bbfe6a1ac5eb47119242392f284dbf57c8516934de871b56cf36113f4e869ef93a34560c6d480cff9a1d1f46f03840048ff527c66e2a5b69da8e1366afdcd4f14f4dc1acd41680ad640fae57c4e574d63bd254b5a96da5cd5f435d5a16a6fa549465c2fd3e6b99b111d8151ad75be562e0e08de0e284226044b6194a4cb10dd00b1d9b8fe3bfb7998f1f329ca8648685c20da559acfe77ffea5846724e1623faddfb47fe099866ae10a38f783c128f1ed3654200bc4898318c423557ce6c8d755f36d4e29b9271df41890d72eeff7d713170f0da541cf88550a6ae72f87e1a2636456785c1695c1bbe21faa0f8811508527bd5d0fd2430d5d2220072a25b109e689e86be9ae33bc1c5267189d767c5357d7abba68b70fd5a12fb7372de694075b8f211e0ad88713e65931c6ba368a803b1eabfccef0c0457402072727cb9fd41e371602b113ef3b2db8d7a219320d279e2636a0abbe01205b97887551c20e16a5ba7b6d409ee3e52fcf78b5fe0459bd686d8b8d7a5ef212e6f7f220bf816eabb2bfa1ad02c3ef741388336ddb6aead730378b8cde70e04ba6fdac472c0e9adbd681b38e902e0970b2cbd940efbea00e54f7d6fae2a3012eadf34e1726d9515d67b7b18acd987e487f800bcde47f4c86a84c04cf51e8d2b667f5d7f0305d9dae04297cc30319c41a3417f10554b0b2a32efbf438ddbe8ed4bd74b6d722b97dbd9acd2d5d3e4f12ba9aaba8075bb7793bc619751410a757c52e13e5272bb11bdf19b72849db6f2d4a77e33a07ae8bb5c465da74c6ad2a6e05769fcb9345e90652539cf127a2bab1b83ae6a1fa4ef4512205a170891004ee6d6bf23b113b70b5f9785a13ac35ebfed1d3a93b139d13715e07585a339a95720fe5e851472d6769f8603fecde73373d8e18dbbeb478656d0af748ccea5e79febf55143a272a8d888c89abb3cfcc03dfa472df195852cb00fb213b580f62532b6539a49de72ee17a08e3abd090c3426a883a3051554061a9ea0a7d7bc3988f111d78d87517205e4698be8703630aea061930ac5005e6c5af432895bd7bffc301b4dea214c72e20fee87d174371d059002b40b0307af7be0102bf809392285ac1ffe5c6bff72512ea80433b206d2afa08362a30123b792f9bd8c940c2a76e3aea91f71de67724915ad8ac7c02edde8b0b6046ed3725b54aa6bfc0c418a2aa555bf6ba570eb725f94f2b3f9fa0e78bdf6f0183a15c961876a5b96de08743b77fd66f6a103ef727aefb67dde70f53722796a86f7b4ab485971c826f13f477486ded9b97e7ac772e33fdee01888c1987ba4af75aef7e49dca8b17159a602209de84778c0d28883d795acf9b4c8b69c6d1297bffe5e78f095a0f14f54491ee384c15182c9896a1720f7781358369e8739eaee747941d323ab19f69829fd37bf2132f363e45b34b4dbf0f757fa33805145a7f2f80689ba7a1abe47c1ead3f969d640a8c43533efe72650ffc0e0b60a515a4cc87e48b5d6c2e98c582507a1b954daafcf9800cba52722f75e85e8eaa0b43e1bbd502bf7b56fa25fe40fb6cead21a2a6f58ae40bd9b72f15e6a1e7e6583e51ec15eb8b29b57ee579699ab464618e52994ab57d16344723ead0aed524d7ed0635bc282642a882b178fc9b8266965e2b32cd732613974721fdca7d3adb38a1a215eca60572c72e80381e174c565ac3cd76bba1c7d882a67e8b7d80ad8ab00949e18a96e4bd789326884e97e2487b54343c0f2de27ab17728cc0c80a0152122d1e66d76786e0a154827fdaeba150914233ce48374148be721b972a41ee64032ad34625574f2ecbd6835a720bde5dbfb74d4471c35b3d994f2efa9870984161dcbb04ec5c0aae25db38711967636fbcd5178e4bbc6bc26b726449899384e89f5670f4b0bc2c1feffa18f485b8834cec7a31aad6cdd6996a72ad9c37682b2db92ccc50b55e6053d0adc97c91df9334dfad2e1ee43a02365a7264cdab79644ff76620f866c7fd3872fbec37d265f905043987b68ad0023ef772b329711aaad66494c46e109a7824c0cec344d0aa1c9861ce745c5ed09e3cd4250bbbb41eb8ceea5d88f797017d1e83d0ecbe8bcde2a7b182fa79f60c6291217237e3e51211aa26306fd4b97814ec5901d4550f5ad5e174c5b77611ca634c4972e9498677065fbf845ea49be1275b907e680177b424f61475b74d062d1db06c7245524831b61f63a7570421d03a6a846bab206ca5526662b86b4e930a7db4da7233f57afcdcbc53abaeaa3174214e83fd293f799fcba22c37b0ff33fef129a56a42a8d682b60c46c1e2f7580f5f382cd0b52d8f1f86cc1a16e05f576475d27c27e0ad1be1d30faff251475809e646f95fcd1bf39889d766986e4a629a9e4f1462918487f9dd7a00ee539f95fe8c7c89f8c115fb09ee0283d1a2b85a1ccf97be1b645b4a058adb88d62a1658344ab70ecf0e95736e5a3a09927b5a10f7d878c072554dcafe37c34fce2a0bdc99ccdf10f657e24a554dc410987452fd375169de72a9cca4296f59bd51c54957d2bfc98d163b5d017d0c2430ff99556fa62d5e4972b6779c30c84d6f2d6abb59920b6e873f07292fd189810f03ff89750d760055721e2abc846a5d760d1b02e171c1d2743200dac547fc8c82f6c7ef2a63d197cb724c1bc4e8f01314b50afc6e5c43ed88d9d1747f9e9e1be133d8fbe603383ba172d09ad8cbb60bbba3f4fb21a12257ce7314c9ef1ddcf79ca99d36d807afff8e72438687190a6636f39df805958bb2a510318295f8acb9998a693e9d50fee95f72f1d5893ef89c59b94266d39da4d360152c5997691d5e95b998e332ae287ca61b59218fb8bbaabad2d30d53a52c4050564a2466c974f3734f40a270746a8ee67263e9ae49f2a977e7149d5b0ab665d5c5064d9506cf83e0958582594c482f0e5e9345e0df958daae1ae7988362168f7b451058751f3026cd3a67eee855f2baf72884173e323ae212e570479eaf3f8b16f561ca3cd7726d7e0a15e66fb46eef730f7297db273d4e203abf704a1d6589efbf845010089c8ef52bc94e3d532f34372aecb38eb9fad2ab11c8cce15bdec7773850ce9a478e487fb2764dff106080b7233221db0e2157d9e91842a96e53de959969f0b08fb7b5f8668d1bb7a2e3ccf2f908956e0c49deeac373e374776de37b30d6d800ee6c93684182b04c186d7fa66808a1586b3b7d4dcd82cbd54cc6a39de8e0749cdf77877508403486cf5041c72ae400d379bf5e0d729299f70edeb9fd53bd197b570c6b6dcf027012b3ec84c53b6559db2aa46d827ccbaa83b103a674e6128fb3a12cd6bdb08b6a5bb7122ae72fbf75bd234cbdee8300eaefde12f82253c65ec82ab7543b0da97141bd5454f72845c123aa44785fbffcb4b40976a6d0b3e25e279e2bba718cdb32534af1b0772f8f07d5a2c32cbb815e14ab13ee65eafef0e403dac4f7cbd5ebca8a7719dd4329233fc63389b648a759efe5186ba6bd7b122035b2d24785602856f593003cc72ea3f4f84cd1a0853e4b53a774cf25315ddfc82ab543688ffc554273e9bf8ea72b9bdc6bb852f3df9165625bc40539aee45bffcd6b1d6c642b77f187b4448d7724c8a5226359918f32ada2e9dc971ef1af321b22dbd079fcbdd998c71bd81fe7299778e014d96eefaf995abdf2176ba38ef6f40e93620bee1928935c153c5b672433ca0d3cb0bb13086b87fb55009a4e55a4027df20fb61c8c619f507a9bbc572e31a00c0a1a722a9ade2e358290708a99af79480dba5dc40c2cc8fc4cda4d472fe49d184115a0a9b3ecf799eb0bfd8bf424a4350d9cfa8d8a2151d5ad90aa03b6dfe668bef02bb69d7e6e2aaec0c40714d4bf67ce4d9155a7a6542884d2c8972aa6c6e8bec2e55ef901dae5daf13acbe2f4c34600db679a35633b6c44f399072839d0b85093bb03337e4df68d1aad163ab9f061f504410e4ebb5716807c5bb1276553c46dc7791252aadfa3d1d52c80cd36d7d6e33d7b5e5b25ca07901b15a05a03f8d3c4fdf12be92b74e23ee087ebdc698121028b9985b488aa3bb5548c57275b23215c6700314d5f26c21dd4aa319cb2ee701af192ef98ef17ec6adb4a3721d6cce06cd8afbefab8eadbc2221fe86ff1f44d32d1e84975ad2a2f2588e8509bc0c7fd0c6957e083a91b1652bc95e16f2676407988a9bc009dce0c91128987213df954f390a59fffd2c2335d18eacc94a22d406a0718248536ba60556a5a07298ccf82f52981e5696546ff42f80dc7d3a514fca673a096e165d5079f0462c7290da3ef26b666c29737095688da942f7920f2b0ced9edf154d562c1a3bcae6725179329d03648052a23ba324a7ab3dc33a0f545c4b13136eb7de7a92255b3067595b546697740a8d4d1443728eda27feea990ddbe713c866f529aa5f8ff19d237e52538dd85e4eacae2ad4ac2c99f9142d70693e2071c71a0400c431643f4b66d78056a90174d75b87cdf1208a3d2eec17bb754d3361ac6fe1298b9bef42fb3d8f11c59234a25e526a5b4791a85a5598fbe1ac8b681a82c3aafcb38f820e31721254cfc0696dcc73bc4d710a47fe0fa121dc93d59b9b35e75fb26d552f322568041d87b082a4fe7d33bf5f298c39b04399d9f4c57e8c3843c9ce01b302cf807236cafc967aad58fdb9924d665e84cc1c47adbbe1ff651bc03b1baaf501492859caee76ef0200aa170acfc58f74bf7dfaf564a698eef9bd3b41e5efd62488f043c65700cd1bd3d0581d152032d55166a19882ceda87f4f51c8db11f20e0b34b31eae7b7d721851a2176afcc474bd1ca7c2bbe33b147dc18b8af47714699a35c7274cffecb2d26ec33d30efcd96adc591ad92d677ae90bde8feeecb56f2d93b40d1554251704d8b5264c2c364ef43805747c6e30ecefb01d6a672f97eebc9396720388d4ef916239c5ccac12451512d5893e799bb4cd75ea8fe18a6f8d5fea72729dcc9bcdb7895df19044799192d56fa17a7b1f0be5d0c07e75404d0876648b72b84d65a4745f17c7d2ab26ac2aab2180555ecbabdf9bceb5a157e9b8cb9d954d1cd4c3e700419400259d08bd927209dbaf111f0457ccd529389ded728e94ba2321f7f0b2267e830cfa3235d875a07a587e6a5712b8e2b4ce84d28a29cf181372b7a33f301957d9fdeaebab10fd9eb8300954f6a4ea74d13b122c047f682fcc0c02a856507934ca9d8b99978658edfcd13f4f41bd11b99e04faeda3d4b697f14ea26e29702bb1102d9790b8b19163bf9b3fc4eda4b81a4919745818ed4b92bd72094e00adf87e209d3d49eaa2b35a20dd318273338d35f6627e3a41249f880a125255e3d549b5d02cae45315f8a915b29b5f23b7be123db9c5f123d937dc53161c652a78c742d970d13a3ecc7c2b544aa99e8ecd262db3cdc41100dbcf02fac721603b55d25704fc118b6756cf25d2de5881b5385f337baf3e5d6c87308205e720038925b30cfe89002fbfb70b11c471435841f2863135ad73294fdc8a396fe725ea3af3179792afc10bbaeb33f353215acd5768f922f9daf1ecf10ea29d9fc62d003975b0ea0ec0d772343ad1242ed828427a4fc65f2f3857b0476be8cbf16721213df184393803be60bd876d12093a7e96a9a397e85d54bde3c4d50c92aee72cd3f9e69ae2abfcca86e6beb983f80065e262a5c4f830e72ea96b50210646072a07e910954a52f6360eb1d590eec2775598c64b0e2151f535c127ada9893a50a1dc4c2f62470677aabc53a9adad52d5268f0b30361a0c8f5bbf440cfa824a172b686ac4eac1cecaea9e721f4d7f578c928eb4a51c8e582fb959f64cddefa5c7277d3fce0de281d16ad69d5fb54027aea460eb612e2c5c3104a2d269a4a3de672922bfe29ba0e28c8480b05a610c5729162a13afe6e9375068ae2b886dce9ae722d6c9901fde84beded2f510486d366d3eb26890bc186ab0e1716e9f04edfd12ccd3448c828c10c23adf2fe60eded7e801dc3a97fbfd1d87dafa733c350135e1e266ceb2c16c39177f276ab8b307dad7ed22e046890a3ab94662c2206024be86a37bf552c79e7a300f1fc19760a0dff19e2400a275eb6127dc6f36119ef118f1b988d44ecdc90deb4d308ee6ffa9085289364c8ddc1a592085c6c39484756dc72c36f709474a9cec0bd101950fadcd53f5c19952ea369f83a1a2ee2972d27767206c1439d9c779073f7da55eef4a531c7c541ded6048687d54010eadbabdb8b0231c43b431c2102a2a67b30d34e0aecd35cd61d25e70bffe28883a70e57b80d4ad7682aeb3ace6131c4376df0eb23a004c02c7822a5775fdd7118b24c1fd1a2729c6984add778389d1e6459946a0e48ce17d02778440c35e5fbd4bff215449966fe4cd49c92d95348cdbe79700659e256b704cf031da55faefd8c04dd6052026937f4ac486d4562d6bf378f510edaa8a234a2e5f32fe42cadf9f653500c1c1072ee73b4f4b2cb2f7489fe43675f389562f1663953d4f6888d92323f4e7de00572392bcce16bab99547f611e98fd4ab9b6eaa0bd98c31f6157e0c30853d905be47586c875f3f485bce48c98bde4752fe41dc21b8be3483c37f3cce6dc53edad37289942d5ca57cc393f50fbb14e3255248e2c269fd3ba44e25093d50745ea2a90eece9bc82b0714b0e04083a58e7d92eadc6cd0733fae5c0653b49a9ba889e5c539d0473c5150690ed155d31832e9979955d2327e8597e28bb670370cd462af172f7e38a07670edc491dd8bfc032ea6a1ddcebed2e95fb9d0d6be22e085e50f6368296de0aaa206b7ace32319b6b3146a4960aee0008a1a025509f5c6bceb5b37275959394f2f35ed1d4736243bb82bdc70290b9e9565248baace6db1e153c76724535195430b57daf1396e9281e7fec0a9696e45d55f3b30493e041bd0114d315108a9d952f19557320557fc70f573644cc6d478dc29c504fc1f785c60d0c7572025e80105c5707b3ae58cf043e5a0f613add2d27d4f1fa3238758d4c9fb63472076a608bd3c54a85afdfff058b1998f41b6d0d905af31b3eebbcea4f26aea572f67d49659a5e588870ad7de2b300bc84af2df846f046ea486b05ea7106dd12721c83cd2783c9e9a2f2b83b6528547e0964d129f55ce6a18860eecb025fa9ab0dc62f8b364a0405c26849f8b426a7ecda150af27801dd31de952bc4dc6e02aa72399272fe84be834ef2723140188c17e19a565cd77131562154217a2c44c0232cd6f82bbe8645d84f85c46315fdf56c6b288aec3fa912efff5f1f9232d810ca2f165a4c30e52925eefc58e24b916e935b9340b2c833e7ea39ed6f483809dc5d72bfc1b678b2341ae3ea8b1d571de8a343ae87047622be3100b498b4973552287256702f91eb3cbe2bfb96aee031bdee6372bcf82e62c97907c666d7df93150d72c03025d8087cfe19d2c8d11a65d2dcd247304df1501a2a11d9f7d751d0933412f3eebc9d619ee3f004043a35ba02e4938b7ba215a0cf8904117a38df0a25fe3b25d65f02e77679813eefa23b5378e20fd402b9dd5dc8ada2713dc39404797e72f934fc87206bab17403ec8f93fec27284380070f042a38607d0a18c0f377be72ea029caa97206052c3b46ee9977833d7c9838acec875a00c5ef04717c5f88c72ff1ccb3cb0f9edd3b837eed444c72d0bee9ada1a7543f73b6ed45e902b45e35b7d47114b91473911e1bf8c05a46d3fc462c0c598722ea90100851e96c23ff2723066fa2989aafcc4b2ea8a7f2f7874d4a985e3093648518315479e4bc8ec0372bb8320eee9433d1392becf97640f4162c50670a7508a1c9e4f5e260e1d226172315fb43a54abc55546f39d224787a9ae7fd54680c31df8189d29a4b28463ec72db1f830bbdb80491b746c76a8bce5fe6e1e5425f07448371b73c961558ca1649be04139af39ad5dd36354cc90b029816f08c57269a8958b61e34907f73c87d330c98defef0bad6c42679fcae5e99d87c2fc3f16aea0ee5b3804f377448831f05d2a232656d150613858189b32371a6aac9f0e5ecf846f1933b5054c2d9a632725c729f41277ee24f223e969ae17bcacffe0202349f654f2a20bbf6b70e386b723227d0e95db663661c4270ad91604ea5a6e0d9101c8e4085bbc15ebf22b7462aabed51dd4ac3623bece2e39d07bca1051b3227295b7f5b6cc3883d356cf0a47204828ce90cb5f573c696b378f40540872ff16d3d1b6f63573a42ab3b998e4d72a4bc3ed9f1ccbb9c0fc538bf32d931f0b81f8635b0cd1cd4c7c60c837983fb2dbe992611f4039c8527760bf3fed233b765979d77efd8f520b9b146a1a7f03e3113e4fb9c0db8c1a117e6943d1a714bcb3d0169af0a43ec6729b6a22a7306f77225f1632330f3913dd37ff0bbb3063a9d317dc662f45d7239e94c87aed594f657a45f42784e3ab0998d6473739a1f959c94e537b361e4d789bc46cc58905c8c720811a59dfbd4cd248d0fd2147278700b0bf5d905d49051fb5c3dcdddb5992b7297f17f0228484201398f7a6076dfd861176dd100bcb0b678d72857df6d0c08072a621104570a965bc3733c4b0a10f62d5de8ef1a2c1c02a2696e6e9ec469a1725402b1428d28e16286ff26f4bc47318a7afde7f6945f55e08629b11aeabf857214a72f2fccaa03b5ab79f4222069612d581e7e21f4deb8e22536ecd875e66a56574acc074ffd6d403188862038e5a4e7109f66b229054718f62388aaa22fc3287b1acc9f2d4d0cec7ef714ad02d32950f6cffd17b78b0d62142e0ebcfa85a60f9fe55038c71e1238dddfb56720714880f982acef8d44388a303570a434a992724b4a85cb0e2e7e91956f43b7c214c14562e2220c8a956e57521e8b8f280a9872841afbcc8f82fcded3a938c2f47369f6d9e6377b6be9dae455aa7d69b3b04c5688d9bb83a39601f81ddf9dbf9b3cd63c7097e56ac6655ef8785a8bc609989272ecf3b0cdbb38e76e5a72df05bc6005e60347b2bc8ff99b3434ed290a4062157247128823eb75ce4c5a09d9be30ecaf6e0b2686bfce895228a58750d70bbae972c04b1d182343fbc5beb2927ca415876354b970e4d3cd60c247efbaf510d0e6728f6af7cdd9a80c6c44720b504dcaefd43ee5de033f99d48984400d5a5ccf0926b847fbf884f3d105bb03880e1a01d13e1e85d5347ee434a1a5048dfd44e2a1020bee030aafc05730d6cbdceb4b4d745a95678ed8ade05843279b6a6e8927363babee3d857501661ddf698e34fe1ca1d7a2cdce011e92f306e9a94f5d3ca3e472ed02819d2c21b68e5aa77e122a5e51d30060b93f7faa56aa2dd045f3dcb48237c4a4ee118d9a315ce073ff99508971b65c41770e6789a9845a9d10b918dbaf04929def4a6935d893a9d3764bb38959c67553ab75d21a1584b0e16eb96bc0467294c71fd5bcf856335414eac989c6961e8083c109b0510d377b4ae0edef757d228fc79c3deee21c81df80dae2f9141b45ba944385450c4ebc61f4e0811b160336d3d64991106f68183b13cfb0fdc68969cd8126c99c085492b67aa512293b1672dc23ae6442ab69cdfcaea6bcb722d97566cedec209cbf887945e2de0b6a3bf72094f70103226579a17483b1fffe5d3ad7316d2e199ce552040717798317de0726a2d4a8c9524d6e3d4b33f6e5e205c15de8e741133d23bfde73da5ecbc2f955ac9eaa56d84ad3129d5273301542b06b53ff613ecd93b4f64070b165c4a4396726f833752b3c0ef5cc44bc357832c18c286e8ae04fcb67a9a7b0aa8749af889723845fc40e752e79dfde803ff89ceff0ca6b3eac5ad48fe7e94dd8e02762d16729acc36b98f1fc2bc6509681b95349fac768a13fed3d09e4b4d70aed352a5153588b71b5a1dcd80d695edd744ec96db12b42e53c9dbaef36403a647c9d34eb303aa51a7779cf64eb51e108860b00fd011e7db3984d331e2cd7fe62bf6f2ca687293449c85ce9ec8578649d503bcee4da6f82b0b2688d4b841f7835e12216cfe72509031420724179fdb947805d4e62bd6c263be4d9b44e3dbe77f05ef1c7d9e7266083ef7610d77fa671ef1c5f3e1b1a601672f57f1e19f7e8236259ee38b1b727b40df720d4aab78f6502d1f08b1ec3a01179cb5f15598640935a7de059c7772172853ef84bec71742272308b3df44b066f9458db29bb6bb712d4153234df1728aa2becf0930ffa8029d006c2e8a6a5d3447b03a0a4951d50e73f1d38c1ebf724748053f981283e7757b0ce52d51f2e25cb47988adab257ae54c60e10da0923dfd79fe57ffd8a114d91c5667171224e3fab52cc0adf5f7a56ca7b8f8210e7467f5a352fca2126a91260db19327ba52ed353cf1c2ffe07736038509a3124e8c417b5e0b2fd20469e100ba5a6db5ef41463d49903c8cb5f5147607e52bd1f64772dbaeb03376f183eee1cfddf01a31f2575ce18caba0c7a680bd6c38d534e8da7203942fd2e0915e5284161acc371a762c4f104a880bcbf7c81b72113ef34f6c72a755982ba0e8385ed06e802a91247c4facb29db4f6b1ec8cb2b8bc0704aa286344456355d0633750c21bb9e22f474f1d264a9b374ce9b75259d4e16aaa426548edfb9350cd3dd0b8203b5932a11a833515972be5a5c8211fe227b23f8052957273d434ac97e0dcb8f003858fa8f1793b65a8e5c5aa6469afe8c3b295f51a5f729e6596cc76575aca56e7bac94079641ddde7954cc59fc59f0a490911d86d8572baec9a5adcd0741c2aefaf20d96fa58adf013371d0c5fecd92040f634357fe72df8fe0495e24036593e0cd2270cc786d5f56ba3150f93ccddcf2b017bb3a3025c7d0ba484797e91631d59da6237943b77c532f1e7e8564edf0e2a5ce834f7d07175043c33622a0447273b2dab5a41f5715b9274e7818915bf037adac0608882d5331203f964d3a488bb46424cd0914cfcaca33d011baff8bd8aaa029ffea4f6762561947ec31517debf4426345cfc49c6686b2ebdd0ae44a11cbb94ca4ae5a724bab26acb4bc61c9267c89a9d51e61becae905ad9def2d81c6d5b4353872f2721b8409804cfb8aa19f3c65011270056572fbf7ff71366708332c0e641d46a70eb7345c75789ca339cb7f8ab5fb4f26dce61df22bb1eb38560d62ed8ac711a0729a494e21dfd39e254ccb77327c2e493b963f7c41580047ab24693a89cee7e06bcbd90a22818c59fe3abacfebaefb20ebc88d50178e12600be8d571514597f01bfbcb1d08e70c83873d504fe73b6840a205ed279915e5af984c34df998bf4ed7252c95f689dc6146e37580153277735a05e60f9a902c05063f5cf10997f94072883d921b3a715c2963317f63f471aa1d00fb099526677f251acec018483cb5e37814d12a4ca4529b8176652f88f26e4f094246f969a9ee0f464d398bb23517b7207121e3cd05c362effbc7d6ce241e04db08bffb92adc5feff8ae54439f3fab22736419ac31edc49a616f82d789ad98434b1c32a37848d4f137b33f36a48d6172786d67e272acb11d730eddc75c46bf36eb0b59b113ae30e2d9d3f062defe8e1c6e7600ccd91069f977b701091edcc05e291a5dd126bdcd3459d7bc6901361d7268d3eab8209d9fea80c8f4690f7b9e1423ec6c76f983bab508eaf6cc328c2e722cee3cc723c5091b8b229234748979c649a6490391b420f2b5ca4f1028461a72dc0f5a2d0bd3c53ef83aeed5b774aaa26a4bfc19210aeb555e690424ecf1c3096c7a3f58a22931e581f1b229a12195a89c753bc0afa302a019cb62e8edabfd72b9cf6e81d5be55318f0f0011e9fd41855d238b6cfac3b594ac2dcfdde6c33e1d3a863a5c8e64808a18bc7a29af8d06216d6e2e5789426e2dc3162499b8ec0f728c5da835a4a7256eefb9f4872bdc46f43e368d4be74b5e1b73d5771e624c0c72cea013bd7f847d9dafa1b9c59d5a36ee8cec7f7fd00bef3e79b2015cd39ab961d98d4fc1e2ce1011ff2bd7091cb8069a8cd401d98d3aa4391a976e3391e14f6573b235ae48accc1b52b1e2d508cd340d531a7fb4d33227be0546f20e53fda86a65936c172deeed9ec6eca541db48a69d6833f3a18074f11e47e776f3eafc4b1f8a7b8c7d78abc2acdffdcb0610f47e6986c0e304446524b69ccf6849083e727239086eaf48af9b0e21f77f1fa188f5eabd271b6066c662303f5989661f98bb72d6fb8c52be1b34361b82e857eae40ee302a43cc4c40db7ae28d57c00aee70c3d7ff0779a3e56a9dd455d965644534e685229b55ef7aa43543e2b62a4998b1e72d4e02d5a6ab15754e967682936cc4de479f8b8f8edcd61ade812863c49d090728106de18952330dee516ea33f5196ddc55638d442d1c23366f099714965a545d9825f1ec4eccac4021a07f1c9f446e91962454fc6d17c38dce9f63b8c606a77214cd00e21420d0473236f2a645b82039a80cebd5d34e38a011106deefcbdfe72149e93249066515792ed5b5900a98ee4199c30cf92c595a33a01fdb8647f70720cb6a997de41aa83e3315a91f182d62cfbadd9f22e83cf9763ba231f7faa67729251ceb03195cbb82646af4f3f710a9f68be5b801b2588b74858e5171dae49728db38846cabda28f9ace1cb8d394065f44decb1a15582165185ba65d4315bc7212d95a7ae61131b0ec435ab60f0baf37670e0cae7216b32b47689138a08ed8310ef58371bf2ab69f17d25b052d037d154330823188bb8aec10777b2cf2fcda72165ce6c5beda3770ee2125cce5f414278172448864af7fff0d4400c89608e17270d0b40b5fc316ea7217a9d0fc81b06bcbe0c7d4a8536b66e4ea1f30319c1c46d08db7250ba2b7d2d413f7df3a08011ec44cd3680dbf89847b5f79eb9470707262dfc138df716671f8de79ed0d3aebfb6a2dac1aea6d8a4209b6bd43981e49238121f722d613a10d51e8e9266658b0a18717e7143b23dea3fd3b7a788134b772cd98d3094d16c5a9c430e4f4aead06a510e388ef8002f6d1ebe35b2e07b26458d351b056bf5d2d33b06e39db264c8c458981ea7023431bdd4a4e29900735e1558aca75bb832633fc041491c2e72426fd8ce71389957922396169d1e803230750a3b57c1a74532107a98d9c322d1b870f47a798b5d6f544455b5d18a537bfa965c148fd92e8a6c84266f033048e16d2fbd45529b4a71dc5af369a0a2ab7cb00505d63f6656f9620a1ff3362e72b97a1bef8f98acbdb291cdedbe7df62c527046e42fc7365549689d9cb7bea687f737b48fcb19b52485564a37d58754d771ea6401d8ca17f11efc5b97e80d63cdfc507ec8ce6474f49fb5621a61d3310c1abfd7204cfaf7c7c1ec8c5857954f6f4987901dcdbbea5e289ce0473e492ad8cb39672437f8921ae6a0a6089457d796aa27116671b651bcc74623f74ea3bf9e83ea272ac04cf96c07a354f9d2c168c66debddc78f52629fab223bb6399d8c5dcff6d1d72944c1ca7c46b88042d1b5e4c29a069cc9fb67049f5e7af4665fb08d0a33172a33a3e67f2a033dbd2a31fab64ec021b697e00d32f3d3fdece38b1a16a918765aeab72b46632f36a5e81eeec50f53a9713a2735a414bfb39e2656f2130c3922ef73b381496c77322ab64070b6465f40f1053323891681cabbcac41a4ec79dd72afcd620b278d764758049b28a15a63111fa47f914e9adc63c4b04a917d2de6722f64a58635da03efaf930e2f2639a1a9b5dd4244e37666783f09553d1112a81078906d4dd2045fd06810b2b720705019ec5b5996704d89a9dbee8b4894e1161dbca59faf0d106093a2c63a8bb7661403de77fedef6e421c31793a1217acc5b725e56e48317cdf6de9e741376f7c4eeee441b3244ba4e768ea3069ce77d02c22ddce8a80c95d537714367913643583096931b71149cef4bafe032df57f486ee726da99b835aa92fcd795a75b6d00044bdbdb589bf19b39d7a045bfb98ec0e3630a662abe80db1aae324355cfd5406596509e67065980ccb72fbe47ea1a59198722af32784ee6261709b0f7d152c91733376f5122317adfa7199d4dfe1fe23174e662ee25d7308fb661fabd5576b946d59608a33cc0c8b0034178e1aea675e284d1ae991c79aaa2434df4f7598acb03d149d920d9f87fdc4ed551746052607f544f41e09d7c564f5e1ab0bbd886a13e631d3a908f1a5a9fc7084eb216c27c5d072dd88a2867bd5ef2f54cc7a90d68da51ec6de313cf5c175eec2201c13d0f586253a021ca7d64210baa46e204985d06ce755fd32586d0f8f8338fa98160419832f673e468fc6ce692095e4630465aab7b506bfd2e66dd236bb07698aefb9d98a0a26753ba93525ecf8cabddf8ecb40e2f549d96c9209614c6b1fd2161d26338a72e0bf8a726909faf9f6853db44fea158c8ff317e76cdc9b111183d273e696b620baa0a4536e53711f32f032f77c78cc001011d7162535718fa5c95329a788da72bbe8ec112472531ac829d34f32db54fbafd52620840402011cab65f06ba152727a28df2026a5c4f7a45d2cbde4f750b5215944a06ddcf8e819a5a9b06ab83707d795db52fd324fdd054bb3d208a0420904d5fc72124241fdf28b4343e8505e720396af34114d6be332c5101946e01b8a6510cfa7496029e84684257d28cc7f72f387c22a271b5b0bc06be121164a213b34545c6680438cf4e47162a567831b72ba6cf3fa09dd6d31a698fc6aec809cc922295399ba57e821afd6f6fcef03e872e7fe0ee0fea008dfd37cde6675700a1e72b6f633c69cad0146e4063809669006e6114dcb0a4aa964a5590ed3cf681f5d54daa8058bbe0313869dbbddf6aa1b72275c7d26d6b4afded84d9b2d1d48fd9a174e6da2279e480154942980cf51a472b174a13f2fa9e02ca460c091f6bc0c12e923cd2a2003cfd7f8a7e8619699af72750c74738e37f6b7c945aa355539c293f1c99bb9ac76ce803f51dddc76f1344dbd9a60ef45d89ff2eac040c7846dddcd2d2895ec9d38caf3776fedd045e55b72339e30ed94d6f9b953609680ca7f4deb352e474916acef436ccf08fb775a6072b33f252084e6dbca8e02d3a5c19092f0ad081039f56ab335c7e836f5105b820aefc8b52403fccb5c9f5889edc09d16e0f5151975d6dc8faa98abb8f3b2999d1ad0c00a293a07f50a6ed43c2cf3fd81b806bf91789ad45ef33314315238b13965d0d2ee376ad19467e66e15abe7eed84c92d95772a507e9681e6b063be35f9a7281fd6d8245a94afc5fd106bbf9e58676c3e50684e2e20788aa51766b01739a2b574f554d39fa8d6b72f94e8fc288a47ffe84253aa7d7103a0906e1b2149a64721068b48558fcaea9d171514aea1ad9c97c5f464d2c1c64a67991451dab209169da96817d7e9abc61f4d64b76b61b69957c245fbc9f76945cbe010b98224a7e72b451aecf2456d1d0cb933d5d5e11a95fd8e94da4efc41fef95f795d36af088675963508eb90b9bc90fef29c6397cac1e25b6107991fe157fbda3f1b1ec71e372135697ef6c5dadacd7689ec081b8ef88dd3540f740d189725a5309bd7b5f0c1b1464add11c2a3680048992bcdbbc343525a59ec9215f2befd330357e7da0e27208e6137d3bf923d6489dd0f070c50da6b0ac686a43647ff411d1bc5445f80f724b1326c340800f9cc0d0cf8fbfb212589d0d16143e3b84c946d15dac7ddf047257bd60ecf4c78524f803a1af9a4234b9bf0b36309bb0e3ab89186363862db272855e546baab3039a319bdf1a3ef59e1d829b36ce62d6b81c00c35eba624aa2093d7e2913c587681051a085bc612810e0356c29bdff4571f87dea184e285e5372621e3dad793263b2b53d99fa7350c1027ae58092eb2db041c33e7646973b4d689a9e51a40445ef330c2dfc9e18f291be360a537c2f424bab1b3c2c611507c472135500af4ad8922025d8d460e8cf3cb48d5fa543533f9bbaf4e9d06e672a3b4880dc7c76321c45e11e6d875aff7e2b015d03619c1d402339e55be81d2416c829b9f0b3a02b7a3043f8d6dcacccfb8e45081e5561ef63a5d259e5308240f34360e58dc8727dad7f28488acfc552725ad9a13d102cac6a461f35ccefd57e011a308e0e789b6aab7d7b6fe89c7a6f8b55b05d0dcdb6bc6685a332183e89de430272b0ecbe05cdcd0f9dbda64013ac78d846ab0525a3dba15719a05a94e906b72a722cfbff3dd44ac283bcf6c175b4b0871422bdecff05a6312e4949cfd4c459627282b070334910c0d53d8778b48ef0d28110387e20391d9f08e05c45912e9fbe25f076c9c489a9522b9c5b8508887c365f1ddb52f12274e5b817f335c854dd1e725b13daf9be6984ef065114b3b3dec12ca64c509ecd1746193728aa2334212c72bffde01e8075659c7c452eeddf679365de99a1ba9ee0f6726ebb26bfe8552f21aa8c4845eca160b906a473483eb29825ef7cdf34c78e4d3cf6ff12aff0ddd74230307d70ae9944e71cf8a18aaae3f99fe41bbe73d88f02d48dc63d9dd593ea72f5850084d108d3c463b828cd58d72afc9d973ff8429891f3680ad6c47c091a3504ea7de212de30da1f504477a0228a61baa0a200ce81eb22431727e4b862827256c126194649965a97975708b9992cb8f8ab729e1c8445cb11c82293e380f372ce2f066ae0321a47f5ec06d39aed004d61c6e9e5518d8bfa0b1d4e6ea58ab646e6a12f32ce60bd378663558f42f21c65043c218ed5619e51503acb83ad0f5f725214468927042d1f946360d0183b6258d5551763c4d763d6d7359d9d78ef6a72107029217018db6a7c73dac1a5c4e7c399fd6a683717ec0a39033cbd13da4d7209ab7f0c77a36a687ee1f6ab9ef6c3f8f02da7a38ae21c40c459fdbdf19ace2b87226afc79e245a5f63213eb9b9849788463c2a77abafbda6ec6373cf98a01727c68c5a5e9f64c17c721bb69cb75020bdafca9a146c3dfd4c6b3cd77de169972409b4856da2a84236fd6553e493d7670f1747d2886611a2a31ec0ec5ee4af51245ccce9370e7e5bc5a59f603f3572a49c20fd0e87bac6d3ef9441a55105625721a3f86687fb3b0b6aad679f1b9443501f324e1933fc47c713a311eb23e50bc637ceb08fba0ef600aa813757135b786732de3a35df124438cb4c05e2a8ab48d7288fe0abc60a146b3acbb387b9c11192763905502ee6bb195d2f5e5ea09fc7872129ac0f410dfebba5bc78fbcdaadd6d592f2d72cef953e3193389dca51d155030f96ac98cbd6fd12f86d1f66f15397aefc88241300df1c586964439e0f2e1672504879a25a603ae2a00fb0484f3a10632fea8e916106b0ccf6059c7f80283272cb770c556067335c7668756219d8209c10e792be6b48d2600a1153a1c79b3972d822bf8ec0dffd19113379c868b9accd3b080d99029ee3abebf6b3a507be8372f8611ab68d0e1063908ad14dc4025e2526ad3e44bb21ecc2d1c743d7eff86d2f31f1b04108e9fbbb618e2d205ce94ba26aa5617a8d0aab2e617e0186c9a173725fe3a32fe8c8717c1b366e948b854e5e1b51fc6436e2d6bb0d6d39f6d2841156202aa11455d39bb118cb4fece79b8adea11cab83a0021f2919e90926d27fe8721faecaafe2cd7ed58534b84d836b43bd6e1c08fb9a79a55884147f3939fb3872e1c2c28e8c3d281f75f3a6a68c496a6df6dadd7adaa19219129672be8f74fb181d748d99d27bdf8715da9bf6b6953426cd006b83dab71e9b5981621a6252fe32271d9b4ae2f576c4d9c9d845924d8c42cf40f1c64cd777485478c71536ff766b44cb24cd9f03425ff634532158ad94b8157c0ac3f0108157d0d9ddc2cc2f2572e4a15dbe324666821acc70bd0834f56fc9d048affa7daf3380594e5bbee62b726e9a2a1d7590bcee71dd8f9eb44657fb4188e6af8e6a91351711e853d5f3265dd191c45970d4f553f2a72dcd48551a3ff2f9f00fafa1cb645de7f3bd8cb48572a849c06fde639081448a2a4cbe5b49c6c9f8ab17587f48d72a041b60779f1a72cc0675597e4624d6c75f74161d490af423cf9ca3c6a909a7ea6d4438212a8a69b2a36d8b6ec5bcc9a82e5093fd180ac79e929cae804584f7fd1bc74c07c38172ddfef95ec625b6e8bf8da404105bf298222f9d09588a65d6df643eda37f49872619867726ee84fc0e08f3da240506e7bff80faba659a92595596149e21d03b7269ec0c969ab4f6a4c2e8cbb8e0e3f668b90c88401dc418b92447741d82806f728bda88a2a130c8d9fcc1f56e16a107c0b814fe4478e172bcedffc062b8f4482c92b51764768d0852481e418711227d23e6037ded4b6ca8ee0085e8052a696a72031c990bd07e9daa54effaec8ce9c58071dca00428997ad9e0406d4d637ef3723ad3923ecbe713251969207fba9d39a7d45648ff3c0e66970ab1f334f3f03572ce027dc26fbe27c12aed354c83ca33b7eee89d8a676fc28678e303950d9d3772c1591778c35ac22a9ac43362da14c63972f8e43e29b74d518e9a9056f5982315244a061334bc84c385b3bf34245d4ec0deff84554a3059c26622a24cdaa29b72fc85babb8c05fb584ef8babe5e82662ce93a8412ce11b2df583558aafe579b7117f4a5daf5df93d49091de85e7ad4aa21816927e1ce1ea97ec637dea8dd2767227f247bc00062db5e5dfbf71dbf70fc7d335c5ae950d062862e069b6b2628d702eb7638f9f6c1f39c38360017e0ee52a47dfe224353bc1494a64a5892d8d2805cdd117d19ea910c1f60c3210da50a7912eb7fe8fa9bd10c1aa011941a021be342b4dd3a4b1cd837daf31ca5a1cfc2c36507df127c20f63445d204a996b578037d54dda0f8c6c698ba361ab86c25d0ae4e97900990b29187d510fb494f55210724b50832c43f74af25afaf2d1cc5e09793179027af0b88a99fd8d2150257a5a166d9eed084f77eea8a49b59f1d91b281977eaab2a86a9f3e41100395fde10067292c3fa493233067f3ea47369c447ca06e87b7c2f938c3db318234875608fe772f03f3a9302d7f6d7d40ad3120eb8c1daf43dc621d8e7495add50a7dadf2345723d962b6002154b66b5d36904aeeb9a648d3be54a85d672e03e238ff1644b507270f0c8566cdac346abe8fd8001c9b2467911e267a0372903a1009177ab40dd72269923652953e69125a296957cfc896e1ab8df6689bda77c75bce5566d9f00063770ced62e50aa3529ab5371b8c20648397f2a7526b56ef430dea48e5da99b2d742a72449628ca29d24180950c0cc853be38540f59b5070387523052c2c1a87287b7eb3a43727eac9004527b829a2fd657eb30f2d049e274405be5e4179a5072d0b61a51ad904db9f2304a5f983b5b1a5645fa209a3b9f244bca9b6a8b15b772c17950a352a1259a5e30c49deca32531454011eca058b9c9655bad3f3d60807227270b89264eb66caccc57c75cabe9b69e1d69fb001dd3e62ecf29ec0c0ba27234c99493bb600ecbb668477f0cd21678f120dddfd45fd654c4534cb20e1f1c1fa4a17db76917efe8607b80f2dd926901ba31a11d2adacfab5f8a0b05c71aa66cfaabf38a7b4d99171ce11ddaa7ecd1a4a1dad790eb6878c85e1d6dc6cf47a372ebdf0593b0e0ccfbf5bde98924b2b5dcabf2d93418797aaf716ae3d4232610728be6e9cdd1ac1ac4e546b7f23f431e7698abe3363ed79224956c80db6d89ac723e47f77edc99f7382a70f511605d5ff4573f92817f6305e9b27c6ba18b18d31c52593a9e992622c38baa69fe8e8cd7bc9c89a215b4c0c9f3d8aaabf38a51fb728a982a16f3d062888aa60bf451cae7812f7a532c10739530db4b4bf4413e5f6bd87acd81a9e23878ecfe39c28a23306eac67a175c145abb39b170f8b214aa4011310c0656712869495c955cf30bacd80033ddcdc74cda3cca4edd2bb88405472c4d2e25c24043cc8a36c382b3660bbeca4de74e433b2c97554d46e70dca1aa72958c90b481d0cc8cb8701b4e58606694c67a976f60af5501820cc46a1dec7b3097609e30ec18beb7dc04d4b68d595cdaf08cafa4f2748693b0001774e02872729addf6af627465a82cc14e1879fd8a4aecd5c512cd9cdb702e310cf7e77c5a72dff97bb15648ab91921823ddde8b2b31139d8335b0ae706d5dbb5f9776730c723b06f5a7d1d2c97e27dacd3682f4e6819519d4a2d0fc763a0c20ae29af3a1c72a92105a32ee050b37da4ec75b04c38f53f56cd747e8686803e207bf0f3290e72065d3083068794b2bb83dfa8c2bccaae8f522cf5828d6a31a2667471fda5ea72bd556da4adf596deba443013129a7bfb5bced00b2f256c57ecd51ef300f2c27231c7fc66f9967bb095922415113da98808508424c85805d8ce9fdf95d0968d3b0787d6b7838ba6d92ca67d2a859c72a860a5f9f2e6d3b356bb323c14fb775272f0077a529b6bcffcd873190061850938bf6e0b63dbb9c96b4a57226ec49ed27205a161a557ff77a78396c21d05b3841bbc2f1d9cd5be24ae16d9319113f2d772c9958c81ffeb9e138345f708a2d4a4d9459e600068dc8f1d3d3a246969320672e284f8a184a105e24a3faababb32977eaaf15e08e11d5ac64741a97b19407b7232042a3546a2143ff5d2db04b7f0407966a2063478abd569d946718379ad0a727ece2dc8dcf7b12c61c851a778d5271091e365ba228823293fac9299e04d8f72ec3ce6fd4007bce71324823282d2b3c82169ee52876950310963d2d2e5cbc972b96abf040237e16d3cc8038feccabdf8d5a8099ad970ca1970ef90c9a70ea712c9a9be068eb4f1ea6da01885ad356956079dd612e7cd83614290983742c53106b832c726e6d26f321d799b356b58bad91a0c34d7839320cdd1b4aff1f2d6c0724db4760ec17533af50b40f075a9bd099dc3cb554233ef2ab69cea5b7b3c68472cd8139ec382e12a9d9daf624fcca650658c19bab1f4859a0432397466b189f7225661183141bf7f4860fe7a81f0b735b2a80cb2e7a3b59e777e1396da7b1617237c3b5d6eb7165aeed0654bb4222200c22377528c25594277356bbdb06381b722a55b9c89a0d70248a9b473936ef6029229e15c042886ca8b3a9c861891c2b6dd519c30a8924d2900532e67b6a78c06f88dab4b6b3ef5753bb85d77f65c37d010148ba89bc278bed0d4f33959fd24a7a254d1249a58531cedf0ca7438b92280fbbf447a44a449ff4a6943acc121b69b6918e99776cb9cd1bab8fbb93bd5f8258edba603419e65159ec0d0dec515f8ce5498d7ad61a923c487baf7d6555ad4e72d02c0cf1fce77336ae1f6708aa844b22655170b659a38d9fa7608b138fb5477222f947b8ca68d61f9a055f17153640992205f8d3b068398d64206bab959271415b6532380fe4d837043ff93b8abbf3a0bb3a55e6c848085b46d2f09c3568485c0224357772faa6a4d812556e279a6bcdffab36be01c48ce6ba490edd3ecb70720186269be2f56365a5888e56d769f8c9bab3d60384d8b0974a8c637d38c93372549756f09d92de9fc472db2af5766c9c4fdd05a05d2fbe7f361cd8588be3c27212ba3797c64a5fde3997446db1dbb03aa79493a30bc6d5d58b2b189647b4117253031d3315a21ce6562d39338071fa1aea8cedfdffdb3a9b0447681e47856900f813b338d0f3f703d7ad71c1b778b138cec32cb0aac36d9f88bac2ca61adc454a8c1519820b4455f37160a48364f359bf8c18030b854a7455c711741b79e87278bdc31e2267998aadb679a3d81e9ddf801b16dfe6dbebe00e1dc265dc9b04a7266eb9c171c6f62b4d23d9aaa93ce3bbe92fee0b5733f6eda36357a2611a2d772b44c06e7f39f3ca27725b9156f7d40cf8c13c60b9810bc9fba398c45b15ad6390e78ca22a20c405d4cac29415c5686a20fb030562368496dabf74fde1b67d90410cf65ee8c758dbcbfe6319acb0fe5dff6d563a80f10699c5fc36adb0198fb72d422354b8b8e9603ca11c83aaf99212956da3b850f8aa543ecdf7961bc581672c0afda2f93149d70d2ac2d3ce511a0fd93d9c9638fd4e98440ee48576a84297294c6a487dfb0e18c9d5e9815df6918bd2351ff9e94b4b1d2ad09b8cdc62e7272921ed1cec73e7ab8950b851be83c4301d9f144fb14c43e9b5be56dcbc1a9ab12434b6153396177b7e39459a0706d8751b217710df30be0e074400647d59efe5e4c21937274c41130b3be266a320cc000fd7b359c60b66e4d6c689e792479d7721aee46cc256a9c609d960d1050e1ed19c702508cc2c770175607072d56ff6607a84730b739a603e678afba1ff51933ed81823e066626086c02e356c9eb1aa92450e26f0814833b239a3318bbfb6d400b2e9353691de215bfeda3f35af80759348f3a42ea3c1aa1189f3c4288da9ddccf10be36766a0f3cc9020d8748ce4706724cb3bcd7840bacc247448653ee379ad67b19f4c704b5db403313e76eeeefae72040ec54fdd1fa4a7c607d1768e4df4d7a027211f15ff64a3a8760f1f52a4d972cef2958e1254dcad4654a985bf1efe13bd775bb6bddc0934d2797cb39d80ac72e43f9d801a5f43dd7af1eea2a7d0e847e1ffeeaba1ed2a7bdb93e5e34493040275b036c79601da3a602d121ea455d4aad90332c6b4c5a9818435b1dd306398724504eac787831eee8bf84948bf61b14f0f022aac0ee0ccab4641a9191cd6931abe1341c0358ee43bee59b563f0294895ec22f28f1070e8544683a50c7693b47221a3c0e26151a29adf7f1c02188a64c6649fd4962afddde54a87f3a8a60a0b72f2e16af20d64033cb6e4518315669fdfa09a468ad8598399583563f680ac0a006ec5712a19695b41b9f576e19539d90a662f60127d9afce46d12e96a95371b674de48e31a0816aa136917856af27881d837b489d8706b45c201bf74441d2bf3c1fea1a517e3aff34f07e1a1a209d21ee92c153a31d5e29226894510098518e72dad039e32f5825090709a3b1707adf4e5a3cce81ae773d9dcdcd8dc9a9eb4f722389d9731d67d33791cdc68524744ee5f0d56e9f1ad306ed782a961c77485a72860caf171b7330c453dc21a67e1115b3d478b43ab21c86aabc25c4276fd620722e536cc9284fa7de8c55648d1e84f692e77e9f16d1b41ee8d2c435482461fd72965b21656a8f4852324132cad5b674c19868ff68b010007fcce59fdc9a5cf762e3b1a6b93b0db73902b668b06e8e89fbb35dfe0f785589dee9546406ebc63e5c64573c4fc650d44088151454428c9f696d9e86faef386e19e3e89898e3823672e53b7a5d92c6cef9396c53b09e644057788735c8ceb5aff45282517c7477d772299b5d152cf3377b33308bce1496cf497344d7d15f633198a2323ff63add543ddff2bdb5ab3de389222812998b2c090bcc93fa338c4b78c2e98110b12033b266a707719a039ef1e7d7ec0913ea9e43fff2237a4efed01e8d526893f744cb30722405dc073e0263263f8165de15eb1aa72be9314ccced6fa08eba10feffe20016ef34ce2dc98a9200fd12cfb59e35b9a6e252631d1fa3db74a8cb061e8fce8e5d9c147ce2e353fda043bb09975518e2ea8f5e2a9707d33a5e1644abc19fa9da72a35b3614fd81168cffcefe8a47dc6dfcc823b30b582362649ea93c5265fd865a8ce69b47dd3bf7e8c044bde204e18b0ceb58826362555ce1248d7d5e6faf2152ae9bd72c12de3444cba425e58969602d689544e72e29dff129bd39f6e1bc9f72182dab9c68d9ee641ac24db6c714c09b618ad16e9a6dc39c8b3105671bea6d609f90e09615d6b4375f8d3f5e6d9b402acab365286500e950c60833828c8bbd2b873549ece07e4a1aa70aeb88abb24823badd7434b50ac94cee3dc63aa3c12657d99147b9d877fa7c7ee89f1cf8362ea6a657ec3ac1051c46025d5b0371a76a478c8536405322898dee51b35f60f2b26d845d7a17a95245f5f7f55b48dce6277233b6a4f6b300228db6b7718ea23c507659b5d08cdaa748dc3801ddff83a53e532da66256916205a6a4b6c4739302f1bd4b78de87a735cd99a06728df077131728a406bf71e2d77564d39cf34341046ba608e747ba3d173d23857e34b041c0c0357c660adf1b7cd49c1be4d50ecb6fa4b8272d79c58d94ee9474ad00e2af658401118f1454beeeaa0830db4863d38caf599ee51959f4248f66fd201404c45c57255163ef7d7486caaa4fcbf87c9e83944987fd7fe6a883017b4257c279a44ef72a9e3e68f070fd8a21d1382e68945294c4fd5bdef98e252ecfae922a8e316e003d049a651cea01ed1bdfccf3fa2214e0829ed98ad68a89d8ec6c8150ecec7ff72047cc3b01fa653eba3871e756b5ec471c2c2df9870164bb0d7f77fb148ad96723ad2794757d807fe5337731e19d7fb12873d2870f0f13de3caf9162b0a20726eb360753af94a458b7dc53ec2ac78d92c646df45977a84c7ebc7e44a8029b82658e9d1d6065ffa56f11a4f2b5be88ed185dffdb40a31404f0c175c6bb18aef7728bdb5b3a1eb29c5df72515f3ddf65af8168cb362935516ec9768ca9f91a0942c3fbfc9654bb18a85ce72245e8f7455683ac04b6cec7d8544378c16bdbd3521402d039ccb13bfb4cef411cd5e2c7616a85b0f267787dca64c35b45c181e107d40a6cb9d282f49ba3467089c0fa2934fd2ff7b85593da5524ca55939b46f5159720c1832f9abaa61535114b1dc1b0f25f9959472fda2dfcf08ea59acb15f60b872950fe8bcf4e023f2acd1ca54379a5154faeb3ab017a5b9b5fe094b0ab8b8fc7281d5611b2aa2b62cc2ae3b0e939ed52e184c5384a09a1aab249deabae79b40729123ea81ad2abb249782c0cf9dadde41a9a82f14a35eefba3dfe7e3267fd667268d2540babbf5e3fe9d73bb997ec4b549b020e8f264389a0e5e6a781b6a5b80125536304a475ab57038294fd443c2e16d3c1eeaf9f1951b34e2596d6e864387295365f2d4bc23fc4115c66fa81f3401208096edb6512c6d0ffd51f353a669e2cbf8b103c2cf2d92b23ec083e6c435c2a56bfe5f12f5f89c3c943404070a592723b98ee23700a74cfc9c3815959652491be7874a25eb1ff2dd6b241f2c7afb02956b6c5a64b1d919a1d23cd0eebeb5eb08c74a23db4e14689ea3e4c31c8ddc72a1bf92431fd8ed0e692644cc57512c9a833c721a8d6923c6e500bde74724413729a62ffeb8b872c8ef5c12f77aa6061f1beb08567ce249aa656ed7d93ec8bed0554e31f466ef3eb2b21642f7562350636c57105f653348238ae15dcb5430b4d722aee5a015fb2041c2a95643da9aed8f064d1ffffa2a4c86b2c48e760e23b6c72bd6f468c5b1bf3739f7d0a1c29d88f05a140e9b19f5c3626f2c4a6089755f44983833cf8069274298f1f3d3cb7b6e3b559b35df15ac1b82ee893a76d0768b70a6963a4600333746570f2dd009bb46f1d82d8c14b5070bf8a4653d0c6ad930d72ba558950da353a325e8e637f2c4e176b3428ee4edd60216e8c9703fabe288b183bfea746bd96beea430aeb1b88495c6ed37cbd7e93f0f7e2df99c467269fe933099a60d24b358099a77313cbc179a2b3797666b7ba7668bd17df7fc7b35441722f9246a5636087d3ec4ca451674fc5b256c616dc33ae31949fe1908923576e72514803f32e49064feccb1da5a4eeaa88b24d8dc6ed0bfef5751b1ea166e1901e63465c3be8401cd7816240311dcf8aaaad7b290d50c4d11359ccbc3ff64791603b31190a487e6c73cfa0361ad2474f8f082a5315938039f861b43986b0d4c672965881cf1d8b9d1baaab8a6b75f81555f9f8e6cc5d0e28cec5bd6e3c73b1161a9d379ebb5dc66b06b0e6d2929cd000c76c8496f6ad5c98712adc369ec8620e589e57aa850bb57823e203284f7443232a0cad8dce5fe36968ad910927f2233272875a263e355493a8b1664f6857846161e0ca85c07e8dc57e577a96c84e7e07056b562fb26449026f85403fa27ebd640b822a9cd113ed9e0ed62b941149f1fb72d9d111e774ac1f3e48f387da29acfe2550124ef98cb831dd2ff1fda2f04cc7728c110df651d4067cfa2569dcbb5f7db3be4667a0abd67d126f2699d7d34b4b727d309d9ef86d94132c4ac5ac13244a3237135c44741075a85fa27385f00f55728c930dace5907a1eb100cd04c3ac759ad839e4b91b143f921538ce2676bb0c72037a9f24bbee012e008140299a20f500871459e15b3e50a3370b1f1481dadd0f8791258963617d8bc210639cc88b36370f3dbb36e5297dd3c95611d02c68657201df0c62f1acf443170a76e9985b426489df1dd63a22bde6c40460591b14a472fc2e87926bbad7135a73f78ab9d78d38eb909b71cd610cebdd0ec90b7eae05721a0bffcbea27c805a902391cbf362c47264305386538507c0c1bf6e74b5b337234210113f760eac8757956dadb957a97c7535d741d4d39c7075cba60c5268404cc7822b570b4d985823af016751a0f7ab24e44d9ce61d0acfad6a5f62c04f82d020ca93d4a1ec4b9ac6f0b0aafa4face80970d72f74f8b46e2d0f7b976ce626c61965b58f2287ecad1b6a4fd1a36770b4f8e705d006cd4016ffdce053ab846725cdba30fdde7c636a5df07a6cb228614c85c20c4be9acd44df9b8fc81af36703bd509f8d155bf393dde51627e159bb3328b721cdd305a5a4f0cccf6f07694272a48f149aeb14a41b9bf988c1a2b14d4ff7e6bb41d13c410a2144d3cf942d8e7281123b9ffa7d3c8ba80d80d453bdf20ceb043c4d67dcf3239478935376aa6c724220d8499fe84ef51eca8dce214c64f9c5ddce296cf0fac33a52cddfe77d1c69b6ff00ad0d2d7462deb3260a8f3581bd68fc8fca4155b3b402a1fdea5e5c9e728da4c890e7b62c0b28f14195cb676585fe24c9db61405b9cfb31d6e25112b17209f54b44affe23237af1f315beb649f2c79830faab0514748558a4b1ed040a723a3e01d9143da7132238eb64462c9e3cb3c7a58261001addeb2144db4e1eb7687cca7d1d429839cebc5ff18490b45969c26252e07a6e0caec69d0219cc8bfc72ece7efc5d6fcd5dff12e4fef310baf6a5c46222c15433d07db1d963ec0e3b1451c226945ee59ec8876b1ffa9ad4ed9ec2c4fb39072ab46cf16482edac80b4a72cf4443031fd75723883bab40fd334ef46b79f75387c8f429746e613171350772d170ffbe250682475c6799fc8bdd7cc699f808ca1e4c810484ceeed622ad03476af89be35024f2c4ba9480cc70e6da6e1e6123a2a730066443583fc59f41697270a674015452b28d6e267718ed63fa77d25f0dec56976d2a8dcf20c543ff591bb8bef04445bbfd6e6e8df580f2b0c4a1bafe48d9a08e0e0ab10259117e930b6a5f001b70984e7fa2ab985ab6d3f38301e34e7fb621326978d0d58d514c5fde72c9559d0beb48c10b457725671324a0339c61605ed8a7305e3dec1a8c2cd70872712860aa6082c359c298b2239a95ffd4fd12c32c2887ce83c36e928c0fc09372c101a8a828d397aa79b90a92c7aa29a7705f52a2eddc2bab31c779dcf6dedb72c965514d041f26d08747c82c2aa662fdf11266ba34647b1b307a5a03b608054f35a15dd90e6982060c2c6ef5b48f5ecbc4beac603bf4faeb6008b427df5b4d72512dd7704ffb622aaa998a5fd2a253a28f51969604d1c0c30258b310c8dd5172d623941ac93b1fb49acd96fbe300ae625f2d3a6422dda41f339b0415606cad729e33b289d0049427dd4af490c7fb77b4dd0f92bc6494a7d9dfdf90af31300f2f92fd9d2e28ecc5272eb497282741dc6e220c111c0af7b9b02418f3468a594572b7eb3c743bf711599947b84074c70fa686130eb3b213449415297f1ee23fe84a5bf1cdc3691fda1ff890fd58236cce4f8d0987d1df346a9573db2381fe2ec201534a3d667803e325807639e4ab0e00c5ff566b6db7b63d2dbadd8ab901185f056c1995e7edb236ce6049e553d0ef2bac7b3ded332d4accb0da55c464cc7a415966a93b6f69be2056b64fb68f1d0681f909bad66b7a3bf13003b4e3bca470245fe077fcfee1169a8c0c20423a5c35916c52073f797b9b14c0e99ac77e2beb0a728d45f8b8c63798b3ec39dbc1a5f604f47ffc0c950ccd99b56e196588ffe19957e124d5e06b305ea7236f132051d00c32f874ba5ef261c53af4e82d065eacaa1e7b7ca115ef66041b0a0e54d3039dd7db6bf56c439e48d12f11dcb03649b3991c21bf3d05777b791e811cc7889c468cf0d39edd108775a9e6d7b8926e5e16d00ac844355e19e768ca00b278db034e9c1bced96722c04f32df6c814e8c9dad73727a0d97e5578d4a0c8688d5ff47913b2d7c548cee6c8decc89875f4ea0147017256bcd5787ed5895e0e6aadb53a6b12d2374add14b4432acd08459567569d8072c6a8a5b583e5ef4793e8349df71104846b32d412102c5576e3190626faec857234a6c3f6940888d8f2d39b4d8232943c5390af6ba8e3f29ca7dd6cfecde925722fe10257682bfbe6068f577788c9905e2881fd21d9073f3cf910e35589727a7293eba693982c9b3656b905d85e57aeb2f6296951f66d8d2e1bd7b95dd85d384f0708c31bd7c8798bdaf35c1e4014c2d9fa478e83507fa7e2dac2fad9d838407200d9a52d363f3d3afc4a66bb846b1d876074f693f35bf5063a9065f8e705fc7255840e7dbee3dcf07d7eb94945104de55bc68fe37db407ed7db1dfa64c3ade5b068bfd5ddd36d81da3552f8c452d8d93f327801ebdac5852f2f8da42901ce128924db5d9ac6ca43899f87287e95493576299696a16faec4b949ccb9556c42b2da6cf20be988a4cebc7076f38a75e523ef4051d888bf6a98c93579057ecc5c972ec27ec1408a669e92ac54d1021339f5c59ba154c29b341d7b6d5192cfb45a9721862249c37caf4ea86dd1adf09641701c3f201d7fbd11b642298ec25e4902447565193a4d08f4721aeafb4e011c9b57585c0ce259f1e4df867520e3e1a5133723e7917d931d8e63e7974528db00a290a3fd618c5bd981d0c7c317bbb39dd9f7243002ec8d6a0d1b62a855a45e088e462eb8d89206a1016859fbc91c8b2799c72720dd5d73f5af729c8fe4641ba127d88badf682332737b3cc73db7b04d38c3724e6389928090498c5b269e963c13c813c2c51be771a639b2fb4a284b56b9db72dab44f6ed7f29feb1a99aebd3dd7e06ddefcb835d3e4e743d2e0ae330ff80b7296562e8cdba8a33cc83d9b699ffda090310ee913104bb5c812e712984dd8320dc479a3ba54d22f945cd29bd968570fc13dcef2d1348bfb780afdf806180ab072dd87c2bf01435c4af874860ba3da150ad4be9d386affd7cd6fd707100a552972de2f7e399096f78f004a7ba50fdbb3f580f1c9f66e0e87413b1c997f896a637229492f62867e72910c4966f35204c82ba71323fa8860b312fd66add79ce2d6353721e4e42354d2dc533cdf007fdb0f45368323d2e5856e799d55a115915057721b34e597ffcc70edef68967a1feb4498df0ff03055bbbb16a056a2d7786ef9722c37c7a3390816458c2b6f08b54999cd4dd9a8c531c01eaf8e66802f60448972e563348b596e9519c6da4abb496e3406beb9c2848ebf96e6ca4ce77033a5c97270b7a9d04a8f6cd10bcb9ac93a882cb2a6dbaf34adabcffde5fc39d9fc454872faeb0f67cdcbde781f2937a83b4875e3741e6121b706ca05de99b4fdd1a3ed72f21457a6aa812952fa302afebd992e71113084c0c54eec8968c3c0831c9a665ab9fa0cbd695ac297a53660259fe809ca1302d7cc072595e171dd4df4a4d9bc00195cd321fd9c28c35780e424cddf443b0dd02bc6d18d3d30cfdae42e46eaa1725bb6d6416f90f812dfdf0fca029a39603dc9f98bf2e5e3f51295aca1e7af1f72d5c93637ad317d23e78b714670283f2275716eeed4fd108c6e411a69b8f896725104a950000f43576436b50d69d2480ac3b1ffb36cb963c853494c83f0d55742bd49c1d34c4fd8d8cda15c925ccf51e009d1318c39333939e810c101c318293adc6e83b32313bcf60d6a9931175c803d0b1b86e3d039812091f7a8d47a6ea972e90b7237030b345f4eb2fd945d5642061dea17787ff59e302d55619c3d7f13373a9eed565589b1845cafe41f5179efa048cc22eed1599c50bb2f58e7d2d3d57244a8eebb3275f4b76fb73c8a59bcb06f13184b1d41d7e08c3b58c1d483a04c6346544b6f87b38dc966a06738f950f1c5a80ab2be4696d918fed7cf7c64c00a628d6d28235dea9101615a00b070f65242d1b2708cbac38fc9cbfdefa0b99dcd6e9990f91a33edbfdd95a0f11dca5927a2157da3820e153991c1940af01088e6726e9e34fc426a6792f8659b2905722ca987662da86b7a18076c1798b8ca480d444c1d03cf60e4c96ace0eeed297717d86054fdcaa66c51447fa113631855f343681ace9f8124aa9f2bcbb89a747e127b18a4ecfdb267691ca659c86530156e606b134af8ce4312a63fa25320ecff7fd432a81af49f7876938d3fbe0aef38fec724e0aa6776071be9920a635efcd54e99644bf4452f1879ceb431b804f7948c47242aca1fd05a5c422d831e9b463b5947289e6ef67cd12eb889359148c905ea67243237451be0e425f5f54418c9705d38e7ba1466e26de720aa4066e022d68626afa7994df11cc3eb7067fb1dbe8ef70bd2f33e21e01b25d9f591101ef400dc57293758ad696a75c9ac9fa43c92e3d9f51f94baf0d6b9bc4d79b3bacbb37741d72ebba87a54db10b68c000630fc00d9d52d16e5f66f4d05e8b25ea10b8f8fe3a52ab4d90d57b005878a40a5ffc934c8f4e68452244388f186d59cb5a5de27eca72af93aafbb6822ba238235c3ea6def7c1f042af0697bdfa48ffc626636a14532c9b2e35840a0a2e532884ede98af6fa839ea419cc16081d118c2ec5702585b80d75e3ac64f69c3bbd23a1de3fa774cbf33678679559cfe9a0a5cd27a2cb342472352e8ed412b8303fde6e5a17643f1e2ace3de55d6bf6938417c9553f5f771d6718fd985f891eb78549cc06d30f21bb68041cc629fd86513024b5d7e463df3772314fe775ee725fc040dc89a4c73873c3c6880ac21f0fe7486340401d0ea3c05b9b4f7a36754adc11cc8d727ebe652dc56c036f5ef2436b76f118723842c0e87208151dff762ac5b046f4682ec8a6ccba7a66533d9c80534cdf453de6ac20b96f5a23597dba6094fc35d77ac86981fa013fe12548fac62819dd26d258bafe59001313fe2519953438bd210a52a121af042d9dc651271a8bb7a15e8b459e88dd1dc8e3dd8d33fae55e0ff0980819842ab508b205b6ed3e2579eb7c42fe75c14f727128fb7061698246cb027f51f01879317e45e9174bd9daca46ebc5080273d708b5fd7fb1b905537f6369b5aec2a13d66b9b459f8dbab322661bfce4443d73c2f779e1dcc9ab958d7b5ef29ee3ca1b9c3006019d2a8b74cf5190dbbf04855b672cd1867d5b4f49f75ead306edf226d349a7c5a9deea9e93409b1d1ecd29b11d729f970a2e8a8a86ac6f7a9b3dea0a7aadd5675a0da7b6659fecf154b0af63e772b988532ed6975d38125e1d5e8f81887242af4e7b0e83d436c11cefcf3c6cee6d422ece37b552b5bab7902d4b40c3daf60a0a84f73c6f15f69850e6a5524ffc72abdb6e7f0fcc9f5d6fee81e3c6166c93f24e1192d5282832ba65b4ee225a587260cd9ac1e1197cd382fe3ce72e9a6d99e24460fc63057e8c25de35fa7aac6172ce5fe2fcf09b60b746982bc16c5e3316aba177018306336343b25aed93ab1f728ee2a3f76a26b451a3919504a429a484531af9248c4ba0bc285ebb8069518b72c2025eb67933519c56c513145729ac5f85e90e65cd689cdf521c9cf7268f0c04cf7791eeb36a11a568ee2d0580967be127655ac67a5e80c116efeed81f4c991c4ee424e453653947b6c4a25523ac7653790550e1dc6e509556a02e40748d19720f2ba085691c2c2fa90331c6a0d05afd6e12c24b08bf7b22ffccc2ea2c71aa6847334a8b721b33afb0121f485d0a9bc6f56005833b93834cebc8d55db624b16c7434d2cd40efb8e4c10cdd0637b35b83b71136e86c2cfa2f5cf5db57d68dc772fc2cb71b303b24f8ab7531e34082e0049f348a318f1341257eccb17dd6b47f631b6cb7632960bcaa2aa542017f6e27199e560f5341e1e2cf45da9bf200875e729b5fd4d1fd6d96eb4e8a37809a6791484b9414981d3d14acb06061f21fb1060fea20c4b32a03518e22eadbacf4b21c9ccd7744d9d442eb4a1982920ff9884a72d6cea72cfab079f84603451008e67bef51ebdbd1e2e40569667184c0b80ab172be5690ec7f575caff89b91533b72ffe527d4ca44609958dd3551c5bfe5da9d729ed0e3f1c6af0ff56d9d31fd87cfaaad08fcbf505b695b6a8505d4cc01724272cdb5e252a709e804142f5ca454dbb46c5acf6ff629cbe5580958b8738bc43000fa00d38cadcddb32c20059088bf2da3d67cee9cb95e586c99e9da51352494200791760f56c6bdbd99c2fe8ddc68ce9cb39232abdafcc129dd4eb040638b4250ba409aaa275297ba3fdf3d15238729360010dff591046017cce882f5b96dcba72f677c0d1cb75d4a2176bd3678db736794ec861db252d3901148ad48f754d6f43967c9bd6f4f737b1bf1154121542b09beab11850de45c642d3a32b3c4f835e72ca3d236ed6284a50254cd78db5a8ec7b7409b849e4285d05816a4aa0b99d4672282dc61d73e3cb2cd502eec59b489bdbb63f933a12ad2897a8b44d6ff5cf6b72fe6d3f76eadd0b5709526f2ea2393206764bed5bb961444de6e70ca3bef4cf4070993b857842b35138d56c47a4b5af1566c780c2f57cdb070fc286a5c6b6ef6b4dacfd47e82d664ff4a5c34245c508957927c2f379e8b49ec4c272f303dd975ca949b808c4828eb177a2db9570d1fb0f1702637bba5c02eaa31f1c3b6abbe57227c3fdc22072a41754f58dc6b47ecff43c2f0f9fee67b4a4d87e8dacc8d83272341e325ff35181111db706f6ea80c736732953925e1eaa048015dc5546405c72ee45041bb81f9fe5a97784bb9cf26458662add71ed5af096ece39361a8b4fc72b79d1a0da604f07e743f6a629599e7f2e2e4680a2b296516536c7062e935be726cca6e0e7d397f539fb1d1e73461848bccaf22a36fca2ac370fc5b566c459e70699124107beb0b1ce3e04233d89eed082c1d3bd1aa0c46f1df15e0db35e36f1aa59a66283a8b52486f428d9a8ff0e17291904025ac0e32fa627d2c56a2a7f27235c45cfdc561be5bb56a7cb6c9dbbf6b487559bd139e699c40943f22123b3b728a2208ff01589380f3a0731a1e24c7aaceb4e23d2b0c17fe16af7cbc83249372731f7d899da9d1a6c23ae52f52135861ea1cb2d5a0d6b8407c45925df8f54445c4147f4406d504b6c0e5fe168279d158f9e6673e640874109dac37067419ed5997dc591fe458e62cec353f2a8aafb36ff1d80775a525fd005831ddccbf040872aacd91cf6ba9ab7d51e1dd900ccdbad488c268c23a79a12e53c5aea29ea9ce328c115c34339450ae6c835a8d89d072138f581ceea80147950a81b6527a9c2a7268e2a64f161eb111716b8c24f2fa7bec0550b1881ea98948bfef5ed569d74037d4499423ed13ab6d94ea13e5003ae1f203ab4382504e9f6237584c6570a1fe722fbeb6fbd990962910712e30f8ee6ed2dec9c63d84f69fd3fadbe17b73895f72816d854dab4e12de8aace4f4b862746c9efb0712ca61b8ee855b76f0be7a23458c52d4b3673ba4f329e1f7074b566a51e9fc0649b0090fe46e1ca6f987ff27725d48a7f95821fe6bceabab5608fda2a355dd00749ee7eedb7539474eeef1ce7229ddb41332cdf109746da28d63de152adc3788ffdb142fc45edf233eaae65a6dff4feacced689eeee7c2184f00fc8f70fe51339cf6908fa094a832194ae4fe7287450aaa7eca328b3d7be0ef57720433716025dba2408b03a0bb48ffcc13fe72520f654bae7ae8a470ce2f3148f68607e541e162e36f429c39e803689f5f43723ef7c52f45cb281583389836ae01a394cf73f443f4a8ebd0ec0dc39a94ab0b670c1001fa97844f4ba47d2118d28445e45a3e4f210c9c010df537c89b50bdc372df67a3bc8f103bbaed31db8f4ab1e4de0c275bacfcf6a7667ee26cfc2542d772e1590bf657ada1efced7f5d093b354dd2d51062f2a45bb5d9bfefd9fc5419b55b50cb66ffb8a83194f47c55233f8bc3e0e86a4ce6a46b6172c67c95e887fe04ee8b36c915dd5577ada9348daca836c032f242c7c86bf76703da1318254c2a4698178671c06165cc526679f668d1f935309d570069234dede8a05263972b75072a6c9eaf142c858ba4670cfd3f2414b487cc53c32fbd8ddb69a7c6c84b3b86e72b955514aee155b037d692f907f803632b5f80cf73eea721c921d6b72e2584c72cb50905b729aaa16bb352dfdd37d71bf3d1537a51dc6b7547beb9125ffed69725ecb6b1fce5ecb561f68a78779ebd53117ac68a243237207d8c62122f2a30d72dcce84e7dc3aad82cc21d848dfcb5c32ceafd4964c6643abe2e7704b922b6b7245876c8e3fbbc44e415a996ea3545bf414e16595e43bebf4a13d248eea74fa7276c9ad953c344a4ebb6f42173f6b5696da446a629c31353609f9c3c2a95450344480c6bc34741777996cafa2d210a891c4a18e22f2a1a827c8c1a169efca6572719fe9a880d455ceba9dcf1bc4767946cd2e57727cdc2c033a01b537f7f33f7248ec83916f0a9c53b22ea253bb383b2c449837cd14cff2eaaca01104ca3534119bd8d662e8a2e77039ef6662f5cc54b2efb2922ee83b7f9f755571c3417cdd0b40b8737b2f2eec938f7fdcba2612eef0147396ec9ffdf221206f3e76933636722c28471f7d1f98edd17328338d023715729880d6e90d0973b3ec3105b6b4db4df7c5e8569cab028863d465f6eadeff7f608e9e587d43788201542c335df3dd724fbc810676d213c53979ba8b1d3b44304ebbf567fdf599a691159435c6589d726c709b98c5c89ecc9a5a48abf142c14dbe43f8a022230f412314dada72bef67251f4125e44df962d823a3832244adbfac973413ee4ab07e521a276c1045aae3954b3c5d2b5a469eed8b382410a698348f02cb0ac285bebba8319f3d36c02b90397361f18d2226e3cd88fc92417c8e58059ff41e1fe4d8598618cebaf0bb7952751990c421ce8baa10e6e9478d3225f4fc7d9b2db0a2dbe41599cfbf5bb6d2172f1ed4377e764344133bc6bd6c94ba932db6b131b88b5db41bc71ab236c15c70c9c12bf6ccf6e10a9cd37895041141ff93ccb3fe21a4bd2beaab6d0caee6ad212d11153395d76a520c0ba13d9210ecd185a19c111134c11d6b11b2d3c3213e072380fb24dbb6e8d963a69b875e44b136b4f5d98f6b028891386b2cc43c9d9fa72d382cff66fe2b636daae449250ba099ed47e3334882370baa8cda6a9ccba9d14f0f4c18f28539bc072c46c70387324452707c6f96c81105e402fc51a7a2a692047d107bc3e6c2a12c2a525ad220e71277904fc786a88f638142760451c94aa48876e792a9115de9a59720ee678b180dacc8a82d0bcfa42c4a9e3f19abc8f694053ada19447129c6c4c9c49ebbce7165f7bc0bf7a0ffef2c9088329d0cd7f62728ce1fba2e6c3729574bf8302f69c6a0bf6f1625cb0d2627176a8a6a575f2b372e033add1241b7c1a47efe3390ab902d921b0f66867cab45df4e7744092fcf57274f32ba58b497c89fd78f6106336e2f69d1923ff51695467ae4d5436a638c765c23723e7cd8e191e78d35da616424e60a9500ae98832032e7f54966633ae4d7279ef84e43321b507be4fc2f00e602745158901a2176fef24eb46a20adf753810387a7ee451adaba5817a34182342e9183fb2bd2d9af5231ae91c87feaa7f2714591ea1bdff9786531387fd45ae5e3cccf4c0462ecba543a8823234fbb17e792523f356b862b009699a433f3e3e10088747ab56deb86830ff7a4d59cbff7eac5e492030d13605cc7ea30d6ab106760db5f9cf0afb2e076550975b479fe293cb0b9f866796984947e00ebada69d2dac928a359c6eab35ef9eb8b5be4839eb1797269ed05bea4c8f6a16b8e8f034bfea373d99b0e69cddf1995d6f5643b766ab372fa6f0e61e01405e35e099d298e264f553f84fc79b21ac147513077f4e9b48772e2b4723aabfd4b0c3dd846845e161cbf43a734d53e8c10835a383cdd9a02405dbd6cbec47d15eed1384b2195b6d01f07f3e0ad5b79aec3d94bd272af9ae310721ddff69a82f18c2ec68fb26e2cb8fe645eed6e1b2b32228c8818e08cd8e80a727c35e55662bd2a490edbbcced015a6096355d3826f151b5067e38394cfd2b772df7f84d08e7184207cf047662dc7b51d1c93b25360a9c517248031307466b11a2145a3cd20b691da12a7ab62ef6316c7e7b439db3e044604d08b03456fea6a722c13c57943d44cfb39ef78dba460d4857f733898c8e2872a202bceda393803727336ea4f3a45da937dbbca45819d2243da19f6920e04d9bb609bded5568d730a10559afcee74f2e2ced1d9b9b713b1f258a25639b618ef81bb6e1c6767dd6172d88320d1b8c5890008de7ccf5fcaa14f6aaf2b421939ba33cf6340e659275b725d3de1379a9010a310205465e1ac18ac4755f1cf20e8d8ecf268ee5f55f57f541f8f547be0e3b681db0c7bb673aaef68673c10e22558a956ae733ed289b042727f138c7b8e9e0365c398de8bd9055186c21f337816fbfd420fd9c161ff35e7258021c997e49efb85913e0411bd218daaaf00c1898617e2a1b198ef6b307e1f72597c6fd475d18841434e25b9b3b8321149b8fe138ea05aeef3a423daf0158f0d064dbbb507f0e3bab61ba069cff7c6b8075b3f70ec05030ac01f91dc7facec1c6fc889af29e9db5d9c0721bf92ff3ce31e336a7feb309a52e4bdcdd5e79b3632ee8b6ec3a2ac039ee62b0f9c58f20a39157cf0d96715a22dbc2cb9d11593ee561a97b40951055a0f43a271b7b6df001316c78b038668c9f89fb188c95b155472bcb7e366f8a1ad2a92a7288043603a4c478dcb5c010be4822ab4ff5001d88872d585c19290f48507c9a19cfda66b6b1144071b92ab91bbfcc5d6a58508373172b25a3741589790e0d6b1e819701e4dc036b0d0b7dc2401af60ac1c98e9e12c4aa7294ca5e57f4030f5839fd27447af656d38043cc7f6e15aa640d66c3506f772bf2d52d6de1583907a09792b30a0e50b965b0f4f41bce42cf45bd7ea3287301e409dec14b020ae06f3499604bbc4c5c3b04162079dc34b37f516c4ddfb24427222aafc33b01954da45f841500d6eba52c88c52e102e6015fa99a66976dea8b1ecb78b62d3b6c778c700333160cc9fdb0ca2b513e2ae697100ec5eaa67a6cd4724315aa0c00c08d8277fd8a77cb7629827dd926a88ec983211eff52a31b7aa4722b42ff60fcf43cbb21b4430631d998c686c2fc248af90199bc77b8e06cb9115a3bdc0d4b869a25bcea47ea319071c47f5a778c7247a8d6777bed34924b4fae723058e10b38248a8fb7935cc946f918e5660f65a9f5983d657673a4e9856b2972fd7f7c42bb12330cd642433bfd966d4937a9397544e1fcf34ac923110ed577724c3b51acee6718682b2dbf529be01a9e2c141271dd8ba38fcc9c54cfe2716472f4f094816ff725bb68afb8ba5b498594f230e80fdd8e220dee280b36699c3858470ca74ce1619058c1458aa116419ebe66ec61a7064c423d5e0756f2a4127672e62e9fc067c625dcc58e75e797bc1893b28e0f39cc8f105234315924e83de13a8e1f6a9b35b9a2a149ac7d63505f4b4700c35b7c7e41fe86f6f202807ca21429a378cb387acc34da5be8a7c3ab474a0e19efd57a85599c2d7716b2f75059b172b5dc7a6f7e94754e283086fc993636a1a2f806a7dcda6fae8860a9a5d66a9f5fb36f2fb17be5bc7a244bff330c1936c029c80fc81aa90dc3e340a37aaec3b972821e51684f6bab47b6f7656658d2a3af820d8ecf773840b81c1189f0ef5b5d40b6369c1d1a78eeb6e40cc73884801bfb152305ac59016a3059f3b44dc070d47227eaad05177e4fa9fe1c27081823fea5ade596928578bc5faa8fe0edd06ab165543e0f995c3094431f16b3ba6790c37b92786429e64e238324fd97aca83bc0729765ad1ecdceb179a2a17151a3acc2b73a24d8fcd699de9f33a41b130037463a7937258afe14372129f5cfc9c4ab47107f239a412ef50b0502761a7c403dbc3bc4f9b8b1bb68983ed0397812b505d34561cb937f897b6bf22cabf9bdb7a1175b71bed27424f55f1275924563e153162b9ffd3cc014d8c933c205b4f721f8043f573db9e369827a5fd8587897fcbac0113cb40b2de549bee38eea31522be203723b5daf65f41584a8a7a267b20adf55ba7f84339d9152e0f87634c864f89cca2bbfe7c53fb28f54a4fd6b997965f6226109ef3f404f52c59ca21604de70b5074422b697c5b51d62da2c5a3223dd26dd01a21939e04d841412d3ed688c5e660e05b79a5d5a8527c2b46c617d8d9b105e745a09220693c85329667b83ff8c03d472ee8c0f5d1fa8e4d6e40cb3a51233c2eb442061ae1143b34522cd3c804f9f6e72517e466ba0b4ec2775b87c575d2231afffae314a2ccf654aa5ae1093284a0347cb34777176ba27cde9ad2b1e61f096b161e8fb6b87d5d484cb8b414cae62ac729cf3221d8f73968fd3e4397ed30f94afda09158c69e3777a0450565f4a81b1729c27818a74eaae2e2634e618cab65ec2565edb41860b6ab1b9d759a45c68e7729d110b8484560c2191e527600d63b669085d0c5b1297b4cc9f151cae53545e720507883fb3eb6e56e7ba26552ab76fa5d8dc7aad48d0340a9eef4fc99b1df00b4748230cea0066fa0863c978bfd4e3de2296aef17ad454a5d22406dd7044821ad273524d112600073f6befe2a989d3e004b2c578ca3496aed39ccf01503ab53ac78cb279e5be4aec8ca1c5c5963b06bee43032a96338ed369990e9bf8a3b82724630512c8ce8d07431521a1d5d48d572b0fc1c1089ce7b56ec55d103a4f9ce72ffbcb7754a0fd073894e2e0450b2019521257c5627561fb27b81c2bf62d50e7237e436301786a083b59949bdc489b1a72985bba8058298303df588412f524549dbf1dd5c39053620babf8a2fba32ab7a7656784fb40dd1085907870c199c591f29270ff825dd60c12d119eda53cd373863fe156624007ceba37a9a734edb46723d07eef253db84bdf6752700b2120477c28f9573a119ec09b5f8cd5d98ef976ef966b2779d8ff509bedac03df720e92843bce64500bd865d6f2346127e3bcc6819ecaf7499e3e0438222855ec5c9dcf9c8711f3c4b605edfde324c3ea3a80806367bee413b426962fc8cb1cc15a9cee2b84e5f0faccd29a722a03a1b57deba72a9444a9619b83e0abd552033bd454e991e762e4fcefc42529b5159cae88e3072759e3db2cc417a221fc41fffe7b24a1517cdabfebc82d37d1277a28b6929b254422352ba97cd6464c4d06f3772e5659068e51b00827ceec1331ffbc2f641d908af9933529df891f376ca3358c523c1ee8824f4dc4b8cf3d79574e1b4ba910972ca29b5f8ba01fe69fee600fc14f1b6032ca31c4426654819a0f7259e21dc22721f01789c0f51ea602f6ea8e3adf45c0d9accda712c3d38e2464d1e697355bf3267e476f57101ac57cd92260f0e0f141391609b80d12d20d34300986d98d172576677f8a89358c668bcb97c881572fee6bbdf5cc64561e77825c5dd3e1aa9a972d93439b2f35227657050b9f067a978364faaa45abb6a9e87bd46c1d5c079b25614937b560acaa268344abdf9c3b73195fc2f7b28ccac48cd5e3933465c029602a186d3988f45de9c5b6532bbbe3eade68032dd4b7a17a2e9d7644012e79fdc72d31afda388c22ec7609d320b2e8ccfbf0a84bff031dec763eb4ab6ce279f197223f0630488dff93bb348625736f0c44e3739c4a5024de224ccc0c0008e85f272904a10cb673fc113989f29e989c1048adfcca63b2c058fb52ab92f85102c9e346d4626d33b4508adf603f7de7aeabcee9f39e87340a705b62eded58ab84a4072d93d0388f037e2896fef320f7124795c254165726de2d125d5d3ff0bfd0f3d72dd40a006a11d2c099b1cd78a9682dfd32e66e7c8614a7d6896fec3314a850472173bd4c11b10507a4540a86bb065c36772e92c3e47dfe47a9b2a9fca91589a4a608d5c2b92eabf4f0f835d5553b10bd7c942805788ca51eef8c2fac08af6c8725e4966acca16f4e7ad6ba7341bffb1d949ae6421c5cafdb86ab2edb508521872c1d2a19c99102e7178790d4587916003bbaf5245cb80592fe8e39133182a4172b7201092ea5530777f8caa1583ac13f7868a6f7167a9a5ecd5287939bbaef072a9c84827cd1d4f9472d38e4fa54341029bfa94e661514364a6b97a99037a4f1d0bc0022ee6235196ec65919b3a81ad3dbbd8fb8fe5814af2907623c8919052494a7738454b30d9e46da33ac79212f75c253e2f30cedad52ebe5dd7978ecc2a469bd04ed071faa02df924532b3a4c0f4a95928a0944ef4d256bc17d4664d87b4a297fc1dc98be359e5201661314ff73d45eb25c065dc2c8c4b889bb02bc25c1722950ce200e4e0510420dfcb4909638b106ed9c0b36dddf2113059fae9f13fb721a4c7d1acacd7437960503398463f48da8fa12447f0048e0be27f3d876fc9672daf300a1e049d18a93225bc526c4851248fa08453ac45e0d2c60d157e2aad8728c51cf7cebff01efdcbbff2fa3ea3a4a58959f15a044261a43a0dea7f122a4568440838300622ee62dc7fb2c185db4bce4c240a46d0f52a34bc3cb384041c264e0657f45c9ea643f556fb3472f67e86cc6a587750155bfe4d98c9f97edd4f172547f6c6091b773ed7e5504850d11384711d63492a88865b2471ae1ef52acb872ef6561688fba370185bbd130dca931db11b74ff1ca7a97dc2548ad74f127ef721947cc478568c76ce38e976e744b6f9458465ec42d3a2ec5b7e8da6b1ba717720e45953f33b6a33676bf1ae3d759c1a008639f21fa7ec54a0e7af46fbf054664b2760a5b47474d139a67c6ce6edc2db05e91927a299971f93239259b0f77b8724d3c926627ebe147b97ce64200c8f1d041f541606260026c7b3e908071ee527257e0be55f7deb79eaa3a2fedbfbdf8adf91cb3685941f9c336e547f0b04db272e14b62ba2e004e184d43f66737670467ca83042d80afcb6027213464224cba62af6d3c99148c9a0223745aaf9535c70c8ec6b7c497c80c698f81d56ba571e65d81a780324f24a5de0cd7dddef1da262441219910dc90fa108dae986b4ba05655ee3cba7bd4b8d1d173e6ef5d6a2f5c43e09841d32a11d7d63272270f48fac572d57242ae13d7b5fa7d3a46718c0e8a3e46ca9ce5b65c002dd5b51c4b17921c57ee0485c4c99ad7ec59125d420daeec7511fe1f27747b2405e68b16036f56fb72bfaf1cc4352c62443c5c4add68eacaa3ded94b6551212c1d3a1d76f77da6eb72b6932601a748d77adbf9cf72d6c1a222a7af40767fa837cb66fdb7d60eef7172b3ae2509454c5aacd78c2f3d6d278d9ee86d90bdbe607879ddf864a54d7b5372200dd35e0a145408e6aab5a7fe8d7254315c382d1fe51313a0803e503528193d6d957b098c8720cfd9e6098095d15d5b994174fb54257836720bfda1c61a3f72c1a455dae5fc429cbc1001ad02c25a8fe4f01662f706c5651d9ed55a1918e972c230a13fbc6dfec69a593df638f8adf90008fa3500ded4c4ab0f24cfadc86f7207c14e0680e6f46ac3bbe36c516cc3c97f9f04d333b48d958c8dba06413bed4214e1772a05edbf3a9bc371bc704ebd9d0f92fbc63d5ee45e1f59ee98a123bf726aed58cc86ba8d9773ba33d62389cf93d161e3812a690065b569168781750372795cebb3525e8175f52f6ec883716d392def85dd1c2d8b4772f7565dba87bf72368746bf6a67eec7fb67f3735c0815236618508561fcd625f749eaa95a814d13c46851b7928ecaaf3f55423e11e4bff0b00d44fe8302783101080d1e142e80721a13aca42ec32ff26de2b88a9f18fe6212bd4443fe84e4ea904557779661bc009e8a354cf8e6e1724f04d8b243f9af632df7b8e95539888a0bf490f2a7fb7772ef5bca74abb6c90b3bd7692b3dea8c23b1a51535d3fca2c0ecb2de8811de1a724056a851675414fa7a481a717ec461226dc62a9b5ff79891c7fc608427f975727b0cd5ea7772b6336ee1ba0a34407ae081009fc4dfe800fed1ca90f34fbec8726b0f683525cbbe280758211f9ed9e79caf2f8c602beffa1744e02cfebb3ab472bd377a134868e9c4bb2e01d6eaa4be3e276a46ae756fb086246f37516d839772a03296f3cedb6575b4418210eafa133d23a1ee3ebbfa585a2b5a6b96f1b9662757f70af6a145f5751ad0accb52e9efb5f61b24068ceafae2d8bd73a5236b730eb06b213afb7f2b0b04fcc3c5b8fa28d8f6802de6b7c5645cb9e9b446be4ae672f1af3de96319ae0d59e8d74d6a604cc91a75c4a9e8ab641c84e626379d5b9b723a029c62b4b277fa07d65ab31562a40b85c50be057bc5a7fd5a59fece96c97727273f0cbd1aa3551618a0ac1b1c8bda39162870382b2b4779296609fb985560d248ef404d16744e8b8d08bf9c318879e4b91b0082326930aca4ee40e6fe16b2cfa18299c0ca6ad892e80cb16efcc865b9fa6ca0b53a3d7643a1e5f810638491d0f76ae2581e7fd10a35babd0c5d90a7d436fed132eb315a38ac76342af2480722d2e93ea08e1db11c3ac4213e992022138ce087734972165f003b4758736a04ba01231aa4253e1f790e88801e7e61d6d4bdf4fefe2fcb747d7002f831cf18e1585ee28949636e895026d677db9318a2df24c64ad902512f59a1a83218b7f87720ce6c0193b3b542623354a6350724322ee813e554ac93a1fbfccf6030017920b917f6763377769f2b754b27829d9d4fc20b8680d864118ec8efcf668dd232572764e812932a2c45b2a6595d5fca7b8e589af51616f0256c1babc445faf26d9464c4a7be35cf3e049cfffea46e5304542d7695f03472cf0b717e6933a305db17280e066048c9e138771c2666bb5160798c1cbdde61dee31079bc416ec1cba086a98788eaba043c73d05151893e3cf005e107123120198c59323a72af14166f119ccacab29adbbdbaa83d7e15b4f05a850f37b7102f31a090095f092bd90198872994b86cd7bbf0edd2e715321fa420cf4313a985a0789f2405f15ecdee5ee4b723c67491a816badeddb0c66dd68322c9c6d9fbcc27d1f8c6742152388f2e80d72f3ad95f460f0632dc0736e20d7a0f55fd90929a4d1022707bd5689ba1a1540722789cd459382006a388a506eab2624c19c691918a095785074487bf5640da872c68e9f23b5f549f2f1d088aea8c8742a6c845e301bb2aaa69ccf36bd5e73ed1527409d7b1ecf663b9d6682e2f23a32d9049f50fac10f738d16df6421988ac572025ff63d7db133f1bf99bd9673736aa4887eb4b03b7ee2a8ca47ee6555ad7b214b941dd3e08f6a14b0181578fa2670f70126e1ce9579aa263285edd4ae12a9725a2f45e8ef2a992b2e77c5209b19674612e591bb836b649724a6148cc1a8bc6a0a5df025d9c94552bcb4af49c248c6d95de360f6cd90fc983cd5a185edc0db7274b9b676d1d00f967952e2395ebe652d8ab43a095651669a917373756accb56dee9178cd90db031898c2685271d85da29eb33088e2a6d7edd0352ed49ff41b7246828600f7482de10b756d09668cf6031b3b189f0608da66588492e178b4f37235cfb138e05dc6fd1db96dca7609e17053d142540afb29669e10c35ba9818f72881e84b4e8e04c45055334b321d105fd1a46bdc8f3c2626a0dcafef82c875472c204e26c7c6972ab5c65ae1e024b833d7c9a60f5bf2dfb271e9361bd3f0d1b72d883c4a4a2996cce5768c9ce92a0be4debcca752db48f44ed76648b48f70a572696f598032938589f33d61ded3356463d2ff4d6135fa79f1d0cd6bf51ee31372071639a85d827c79bb256ba7575cfa9537b64ef830089bbc3194c2b1b39ddb7235d5c161ebfdfe972cf72ab6103377bf9115c4699ce865399143af6dde0dfa72e5654e2e2299ac8a4b64d5a9df02495b4f2f413392a68e330b846440b99fb8723fcb6be92655bb26b61339f3c419ae3e0bd392daeb4fd88b716815fca2dd0b7226b606d64fbd07a6daa3aa926ebbcaa387721889a4b0fb74605abec5e0a280722703c17f94795954a152268612d92c269e08686e0e6cf81c903221afd66a630a140d1352e433009cfd44a4578f293d65bfc943c681d0022f3f09d645a427e27225b23362ad3063f75d38e9535b7ad1699c12753df18600664f63531679d3f9728ebe5b6a7410e26c302fa17908face8fd918a635b9166bbdad47bdbfd220eb72e7f7331b93aae553c435c6fe85e40b82a848831aec0bb89a4a16d66500ea90157ff375a2e330abdc12d9cf2bc7fdef6cce1e026e164391da8fe40f5af592f4724146e7690312b9c172c9a54ecc42badfa7360bbf4b5ff55dc6b310d73e4d267200a7a8e8ae770f2ade890a4f6a95db83e61a40e1ce6b3edc77a67db50f47881a3c2caeb257c23f9012ed62794e60b29b95ec33bbcb011c848a140bae24d39b726a763c16eca39389cd351b1d06c2cc134afabff99c20e7ccb1d3e0af36217972773816e5208ea84470165e95058ffa8f7231c4d19cd4fc1a5d1804756b01af25817b1e20c62a7b53e1bb5877fe8c0e941e5bcdbcb88834ed4406581ff4e6a672d0f5fb4ae081031aacd7b57b374592e3e120fc07276bd089fcaf0c2a5704b972a50d00e9b0c406a82d26860b4cee8357290766c4f14250eb161f7474a1dadd52fddb0bde881f62ef7b778ecb71874808bfc7c7afd2798a09729d0396060f061ecdde74d77e26533fa9cf15b13e477cc3cd194ed23622cd727248f83aac17e26fb528b36d74702ae6e3ef2c655b53474eb2a972768148a9ff67e581333c0709723d243403b838b29f47d65a9ab2bd1f58890b41998708c57346f9590dced70000b2c7ea062711296614661ab212e1edb6f89bd7ddf0615cbfa65ff9c95f6ac362cbcbaf17240c53fbaee02b2784d64a8a75dbb9752d9221170411ef5684180672b73865e7d1a5aad40fe29fd7203622987e4e56deaa181434764c0aa22fc3694546eda6a16066cae50139f585a5440ae25373d1645ad3ab615aab50aade902d72ee6877e9ed888ac961dee651a6750474871bd3c4299ed9352536546d7eebcf44766514d789a5c766da92ca12612d707b2ca2a6c0771ef8b7292d37ff87d493726f818259fe748543f253aac89d13f7222a8bc6100ced5f19fb2ea30da0f574720a9b0486b0806e31a04f947d41a6243d755f6fc230ca568661c1b935ecdacc728627b38829888f4a93136ccd51718ae6178a9ae7479784a1daed3fe30b532e5f93957325b5232ee4256e413b4ffcb0585466aa5deca31e9189de8ef2be33d867fcb6ea1b4afa091cfa596b03b8347527df438f6d98450180aca734b9db50ab5c48debdf75b56dacfe3989183c5df3365a38509e207d16df9ae677a9450f222369cdde4a699c098edaea8bc5339e8de4af1f8df8fb8178aa87f241545afd53972f0240e2ca200d5b894b602f53eb17d1faa037ce587e0f80db5d5dc1353fd6b72e73884e3a637c719818b98de36893f6385b9f0b7b598d5e271841cd11ddd132a96bfc508cb755f6a23ed99441f1a99e3c697d4786dee33f945bb625a564d341824c94b05cd320ff6c2fc8e725a8e6ec02c6d3ea335f1cd14438d9941367f7d72e20ce279c6eb5154a19a4306df61949faaf5ce7bf78563397d92a5048f378672dc7223283f452fb138d368bebe4609a3fbe42e7fb990e551c0a720c9105592725b5cbfe716f4830f488f03aae2709ffe1d2de91f12ddf5b64058a1ab3f39e236421e82e5ef63f31762c687f7c1a8e2708ac5251c3328f33a119a18d2b0a0107297e0e3f3e172ebb2718e0b477a83785d101c61082f62c6aeb773dc905d2afa04fa17dab0e03986f59a0effb4dc0c54d537601a9af16327959614fc187d096d53cdb559e6ce5d4ada19f6d2c9003ea2358fc29592c809ac06fed928d18ca5057280eabe9e098e9689e5eb80491ac3df702d8b0ff4f3469e5fcd11cdd4421ed5728553222f560c8dfa3d362e14d633d2e5070f56fa29422ca8370d51a35e6fb672af816b3debee4e56a12d03fa45c2fb3542aa042ee7d59449dfa939e3a97c6f729078ef822be5379caeec5a43558b9ff49f22b620564e65959237388a8579556e17158cf6b7f7978e07fbf94c67f1b00acb6324575c8f072fc169134ff28d5540bf379fb773d2be854c77444af45329e1ef5c9e11609b96db87c2aa48455866343f641b5759aaf5925c61eb0debd735a9fc9ae83f320525e0cac5598999e67c722a20a083c704c827f41016e86ac8edbd57a6faf190046cb45be9ecbea5b27072249909ed6180dfc1e7adb8a47129865a00198e1f692d52224a0f940abc6aa814e0dbe4cc04c9a3d5c615c33813393506c70f283a689f3de4a31a95271163fb05093a1a1e0936b84bd1346b08ad387572918e53519c592b6553975f6424a2ea2cee3c03f98c698e90457a44a842c9ed87f3bf9bdf8f23aa6e44106648d942947250992e930be18653fa21cb0c438307459d6ad72f295b0d215605efc584922940ba957a81080d0a4305b2e0b00e4a8d677dbbb235e24baf678cdc46355f756d6a01dac16d0a5963ac7399c6d7faf9cf91a617f1059f94c7830d0049f2145e573586eaff4145c04260bc530068b401f566bbaa8fe087b3d701cc74f756c3aaed72c462b4d4b2ea8b4e9664933d12e41ea0e70cf04c3d04c053b94ba97123609f58a54469921b2098e561eee8c450ad6c4c2f951bcf2005d0c6d79752d7ed160d7294047a6fe9091da28c98fd3b814605b818b4dca9eff9e9e50b9b3329f6163a454360698c8a771395fc189d987d8e66185c9cb1dc35c1799f13d106a352ce720714adb62febcf9394f441981b7815697ef1e469d3566f43af1418d2f9dac89572355649fbe896b083cf1af0ce93f931e1a0de00153c6d5dab37a8823fa4891e4504b4dc85e46812b0578f256983d2afb05d36126337e350eaf86f8436cada5a7267fdc7ed280643c63d1c93dfcb9b5b33c9f8fdd8af3aa58a91145bad960b9d72464a7042bbc39fbcc04bc35452fec8514dc5366aad3df0fe87fb2b947cd18e722b6fc0b30550b2cb3cb3318669d8dc002dd45c05faab18e023d6bd66dc4efb72c93b197ba7f91ea1300e2e847a6d81c95f2d68f9ea36928930571ae0cf707d72a3c144c7f2eeada442e638a5905c7d95ade68369fba5d51e74b3ab426bc295722bc16f6489a7e4cf35cf705e158a4ab08d350d4dd13843bca8c23c4448d0a072c9a5ed520eacdd0b46a800d9b43b4c740ffc509e182b6d2ce82eb6e4381d2572e946d3c82c50ba726db821d2bd6ffdf0c167f3732319a9a9d259f4aef8b1976b91aeccd2ec6a391de0e931da1e9315c2403c39a2c04b05176faaa36fa378b52a4b65e90ef48f1f89d3b2618ddeb3b1f60f8756a5f8e84d2c018e402f6ad2814c077ec20a0d02e0cd489a381dd55d5c3b5eb3a6607b07703f1b4864a07d8c6c72c635e29e568df786d79e65231c16a8fa2cb39c80faf81d58bf33dd7aa726612a10944ae40b4a3e210f1dff36a2940c2ddbf54c9cba7a9f1f42b45baa4ce79f5126409f72bbe2373ab18fb87d320b61d2f1ec2e592ecea1f335c1ad7766be6572331b5b91fd3ba63aa349c953139f33874fcabd395d8e8902ac63b94fd5503d45096c08a262e5d89eb3f2567f30904c19c81d7557b464db9943a43ebaacbf9a31924db8492139af6829d304c5713d99be5d571e9f6e13efc467811512db9f8c59fd10df7985bdb909341611859f35cce7c4c5a89b09f499a3f356cb009060667228bc401881137b3d3500f8474ba2aca96c6f5f9b6d02aaa2bccb76a0a3592a72153329826f0ae8a1c32d0de8c68043982ed5588d5a9e5c53e24c85f6c9c6374ac87330cc7b9aaae641e8bdfa7bcc87d1c4c29acbcd7949140e661ab87c0c5c2358c33ea98ba9bb1fc2a0a38dd28b0cc5c64c4c3644682dd99aaf7ebe27300372103f0417e1503a93bd01c58bb0f6646934198f4613edaa7bfd3d58ccf0970d499a3c930fefd7f750960293c29f1b16af812eece2954315cdaaf8dc3eb16ef30a3c7c3a2d8c66729dcb18ebe1616b3ff8d6ca55c1f8d69bd047c9594e51a0c12da91ed2127ad1e443c2182cea6e2fb19e4cf1ad5c64dd607741d7795542b0830a46502fce0cf369771f419ccb2fac8132cef54bdb947892c9e7c8e70badd8f65245c9d415fda0eef0d077b633d720467957cc04dcac54696405198a56aa4468214bd4cb90dd5affeb02c0e38bb0df3fdba05b8d59c7acd05932c6fc16868f05723ad0bc19df8f27285a9bb2157d15c38a807cb9f6c8c0fbe694da284a069f40722ccbdf87b8d33a21dfa07f8a64385bb6ad6ffdf67617e0d6d905133fb5b10150c264306e5327eb635d3a155fb4325bb3556c303c495e342a0fea5bed4ac8981250516a0ac35ed392da22ab999d9543e1dbe8fc04bd12acab972dde5478dc3c721f241106d207fec1e9f78b8dab8394f0e0f21068533e9d0df88c7a4bb9544c5af80f760970d6dbd38cf6faf2110143c3002f240ed5774a4c1e95127f5ab502378fce98fcac364cc6c2cb50ce771a18bf6d8e55769d1d52b1c4e4361d5e641a7249a98c981f6856a91eff7a45aeae1b66b1252b62b7bf93a70ca8768599383c007c7f6050a37f4722ddd4f2e0865c6ef764eb8da0bef40c169c589d33f22beb72efaad5a5358dff3465a0efb8f06d810bcb101088fcc8ef8b56055cbdd93f0c72bf2561b9885d5f0d947096737556c5390ac76ecabb4668be8019bf63ae669d5c232639096bb913eb63febf033a0d5da6537c03bf14a12af03678fd49e36d76722a50ab4755af44f9788d7e9a0cd71bd505869d9f1c053c7e77b69deb82af805be0389b9d1508fc4d63cc08f392a7dcfddfe60a7959e7774f8a9b0732e0962972c613d30df03c3b8784f7481fcc6b73d3906dc181d82c8021e3187368d4eea9677ba7aaa018840b54fb2a49b3c0ffcc8d4f471f4a495cd5c69453ff4d0585756f01181e94917e4738b12a2c8146a0544ce76cd6b2cd6c0151083f64145195986a3ca0e8d3088b4095c29952f06b4ba2611b9a24e675167e2dec4fccfa415f307231f7c2c2a23f734788d0ba5f3829b8e85bc7864e25f16b45ba0121f68cb954724cdf9197e34a86e1e6f3dbf9787db898864d100633c5c4cd27ec2a3026a99872166c3acd7fb65408911c54748e2be5676f58bb903870210f787a288f6fb5f37286b58919120ed2edd99ce4d9175c96fb96373f1553b61d5d75bc220ea459b772e6fb8ef76bce45132ad097dd95beff7aec4c776a550815316d2aae18d69f1f7295129f333fa30677f27c0cd6cfa953b1f92e5d88b80cee35aa5334947a0f7b72ebaef8a0896b2216e4d791a4401c803f2dd5a2d254b8ddd2932493a86b843f7220e4ddf783a3debbb8ad239901af631442b323c7c19d5db1ceb3f93210dbe072f55d3abb35747e3948aa0ebd6f4965fba1d1eaa33411a810a180b9fc2a912572e20644987bb15a0dda6e951bb4258168101b306d1939d94ad46030f77315bd726dd14fa1156e0babc34f58584016bf1485e37938ee267524625da5641883e4694f93d08468244ae729ccdb3aa1c79de073e9aca59061fc03e49c4c4d499866724cd30cc8e8b1da93bd3b546229b29fc4bb2b68ddc2efcbb936d3221a09ac2d6fff84704e01cd429917c3ac0526ef0283f72e3948bab0026e39202e788c95f02d1ede2c74eb52d48cd67dc67b5beb743b9120f806670713199905ddffd317c272e7743e8f2d38cc4474512848e12033794baf76a81fec7a63f54d31a3ea4bf34e4d5ace88945afcdf4f0d3e07398d4c5edcca965e481dcf81748cf339881b246d77bd1918c252882ad393c14c0470cafa0558162cfb7ee255f442bdec3d238e297342041be30c53fe771c3d5c8baeae8cce43337a2b32321d418939cd3307f872965a1842d50cc7b1662a370371d45a4e4c23304cef92a3f2242d85ff0f6d2e7247d0a71054c0c105f2d028c8810c27b6c74c2b5a8aa42c5a3cab498e633a786ef451726329b7a7196cca1fabaee07d65722f90ae1cd7c5c3f87b6cb10bc2ef4be8fd3217218a90179756ee192678f7034cbeec669c6cec2e25c11d702bd7d572694f187ccb42238826975bcd4ec62bf6a0cfa71540f659271db573505badaf729cc395f0b6cc5555378df1e73d322dad800f62951f30f3a37162fdf1eddad472f62433135d8abacd9c987c4a65b245d07cc2c91339817275824bf239657f4872dc566d23c20d9d47c95aba93afdd1f738f43a66c00ace4b8fe25071eff4d3072a328fb9ee76b6d22d34ce5ad28954cc8ab83207adb595d55d4689ae8beb62772001ddcff0c8ee38fa846cdf6552794fd4a662cddbaab7c8dba844c193a89d672273cacac0c0eb12221d8fa516e0664239fbd8608818cb3ec436e7d5d76ca7f10b9ab570cf11b0e610300d01683f111b0ddb0993d58081091a4941411a1e46e25ea72150bbc4d1986b04a7737eb49324274df1f49fe5beab087eb7d56c171807255760eeecf34fc8e7207564c80381284bbb366ed6e09ae84e1faf2b72cfa5372514819a5ec88cc2b7bd9bc273b1b616373dc13a2b883d28e2e3a8e798fe6e872e35cbf6d19c29071a692127446c4fec360edaf1b6c9103b552697f9aa678e96c04d28045a8cd1a5c7c388f4e14702a127ddb30776658cd2a3b35a5de8a6e2e681b2b30cb1959495d39585f7cb05befc4f6c038a08bcf3e50b4b888e3c5f1f23467a7e54673324f12d24d534214e1d2828904147c43cdff11331ff52343e88213fc0a78558285095ce7b79b2d4e9f6d6bbde9246ff3c9707ca30cc8e6087a2619af4ac5566e3ad2e0dbe4b91a8eedcb96248d93ef9b0bd756eea89bc911c7e77233d1de9132bc388fdb77f909a37923ea8e87724fdbb736f5b26e81324e8fd25dd20fbbf4f39a75bc0141c93cc4ad854b2c6231e989cc226e3c45f2a6b3652e567e22fe4febd72161846858184d568f8fa62e89d10cb49364e557acd81f70ea278d3008f46d3fb407239dd502ad0e0264611cb3329536ce08f05e613e4178fa7239354577a51dc3542d5dc1b34d6efe9516226e178ff247062c63fb24e2b90703bb7dfbaeb53c5a1a94155a2392c3833f94887fb58042e79e85a4a2e64c751d720fe5b8c03ae6c3aafce48912d4df9ddc907479883ade10854f16b795de5f951a55d9aa4a88be8f8e5cccf710f2e4326cf90599caa499c0ffb9bbb9794a1e84659db48ab5fb52620fa7cdf27b295bd9379d6f1db01e98d30faca0e0b26ced87356cc2834b8b0fff7bd6f5f4ca7414f0c3ded3f7dd2ae7eda15f127f2ed8bc157298ea2bd595463f1c40798980372d9b791ad29cd818e53f208fe2255f21d6ae2023215fee1d03e580061c675d904144590fd9c91d4358118a43b2cbf230592213ff56d1461d132e0f3ad9b90e46dd9bcefac6b1972430590c0efcd19e05e0f872ba4f1263d68632154c86f7b49236aafb2bf52c4ad619af9a4db95c307a796e1101096da04f812e465e7f6ad551b5d9c0e4119aa18740fc1cf9e3b5c69e25b7720251057ef646662d2c19e86b169afceb50b9d4e22b1436924cf656d5c26dd05521a716fa045e29e97f3b3df4028886e7301cc6f2b14cee771f196cd553a3eb7247f743e5f5b8f41f518e8acc3e821b3ff25c606725d7ec5425414f7ff7ed6072503e9f3b8813ba19e8e2f797795d691f7508cf556b46bfe230ec184cf0d141395d2f6f1cd95b6b70b18e4699fb4962fd0cafeba825b0ee4db5e24b7ee32ecb72a324e741bc01388ee6e4cb4951dbd1df05a938b3f57ed0565dccc5a45482976db6c74df5b156f236b1b41c43b1904444f9d3f9a28afd02d575bee50550c46072c08eb29a0cf706d03e35b8399774abec04c7f60a94e529c1661bfb40f11ef20e39fcc74d055476b2eab869ae59d3f3d0fa266d398c7984660534ed79c8534e2ceca3edbdccbdca7443f3638bb4cc2dc18e950b575c06132ec6075de48d382c186cdeeb7d2a9b8af772d834a52c26093e1354a4114bc546ed2825cdbc20fdfc727704bab87dd574940e62d561a30c2d2d5ffa83b0baae6dc7d0c060581740bb65c77c999dab8478d4babe1afc47db01545edaae4d6d5316dae0b4f87d10592369506ecb30e27a8df3b33a233a8cf57d47269027c0900e7a3d471beacec6afdd725ae7da8ced31f02eeca61181919671eb329ce0ff7b6236a8dd0ee47b2353fe2ae8d74fefe63240b2b59d89d657e4e4664fba140c2a1a239c04836eae6821ae028fae5a6d44f65bab3bf6ebdf2c7eda6e568e709e8579ee9f2d0f71f92f10de3b24df74f7d7de65bdb8b62d0144b44710b24e10697cd2987c18fd97fd677096090f10b8a562fe485d0dd15ca39286e7c6c403ee05edac32b25f131d8e5722b724c069a8d6f67631faea9e7d1e2c00724b7d7c55a06ee7f68db3e8c2997f39d97249e0f06dcbc3584b0649d9aed3b9699f0c4a3b3bc067e85dcbdd38850166d572dda86ed5676b67a49cce72032112b256272258054f6fb8ebf1a3e7b9d90de872f9e65be32f7dc4462b0bbf8a02b7f4f5e6720d95d2b3928fb23fd8fb419b624cdee20cd166c92a450a0ca26607cea9c828130fda1ff7f15795be1431809d70723897569f91418de816d4b5bc60803f761f1a099bc870ee7c7310b6f8963586728d79ac32ec9920cbb6e035d86166043f7f41ff1f31e0e22b6119ba84e171157221e4c7ab7bb0623e763dfcb6a845a49b4169f4032ac04c2040e95d3ef11ebb724bc06ff97bdf38374588922814871f573f509b98f15188b5b0092e915e56ec72943ac7ad7a06c084c7fb6db6fc7e3761a523c9733469dad579b716d2c6cba272639d4313ed548720ad88f8313fc3625c231439bb9add5337ef7c17a0616fc47288b9d9af928f5c5706f394e512d459c4a69e680f3809ed63c286fae38560044005e5ccc4c068d1895c1cca018443b329a1ae2a32ce837e3d2418e8ad18fdc822554314fdf4d5aaa5e0de9173f4a6cf419d2528e72b4ac685f2cd767d70bfbc7263518b6aa4448e49b0682e528772af8d4912ee2de3bcb80ee85598c8cd8bbe5ab4e7de60c42ef38f8cf4b8da79c57651b4d777eaa3066c9fca9627205d8de60eddb8cd95f7a717b13cca06ac91258b46975de3c0e0789048de36bbf410f3d772b0cc74a3595ba1b81d2c8ae5c0c6b0d3eda3ffd2221eeeea5140d6a6cf37d472afd4b64701bea4d7437b5e786c6c400582bf536a639b02e8caa3fa263e6220620927704925e21df81b86f2cc99e053c627c5fbe94ca9bf7d35ce791df964d772366b9b6a54a9bb5a860e4c6af5942bee4d7062499b97a49900f2deca021cf23b3816d2496113f6492c9aff89cbd7acb79646d2baad138992a75c68d2c5b4af72dba268e9a7412ad0f31bb8cef236462a011e7dbe0a838b85f997a3f15d355272d816d780d7a12f07def414e93490684e634a1513e04adf2bc9ecc75ad79ead72a744c14d805366df17e1957f3c2471508bf41eb83412fd4ede670a58fb9ec6724ba4fa19f017c819e14b246e520e4aae88844b286d5950c10b05ed44a6a720728aa44c5e7308610abd3a1c854509b798642c0a4a813292ace8dea53183edfc720a7c9f72a080adc03f12c4fa0d2951f0dff17e06c4ebdcbd7dd67ef238028d728017e19729de8b55f2b1d93e8a8ec04475bc67ff69e368c83d5ed2069b412d69072badb368892f96cd5e360d3845a4a9667593299cc002a2fe51d01d9bfc0372f221969d1e33bf2c98c12a85fb928c6695de07b000509c23476a46064af5823d2299d57212ed39ee66260a2c23e99c270ae0bcaeb87c96e1fe02886cd876207289f2050a9be621d9ac43e5836389617b7a419f3402b6e83cf19a6ee037eae57247dc815c6f857f0e06ced37a7b2ce10f7273741172108fb8b4785000cf9f282b43a131e651a7994deef0ea687792373ae73748ff21265f435c4c4b40e47eb52bafb68ee2798973c2b7cce3ae0ed1bbac04d78b9692548a30a6ca1d99cff88e513933827d32306db6a0cb0037640b8bf81a68d5cb6e6bb38542e87eb12ff58a51469fe268785d2ae0dfa1440bec4fb0ae7af19a48634fe48c18a6df38cbae923b86f1cc014e7188b34450289353581e0b8550687c6de6918b0cec6c7f446d56729c683e9ffbf527a1c0f951a0279791cb6c0cbd4c92297f81b0ba70634759be726cb0c0135f89f6fc49c2b2c3631938545068837538d54aa961d9384c02e9ee7279a1c19db16bb396d5adfa790d8fbf4f599d5b5f72e75023feaea6d6a36c2e721f2fedcad908901252642b4caf3fae04805a4c10854989922a350de4053fc01c86394688d8faec99798acde628f563f31b7e8f2e3c26bc1b6479c9252857e072b01b10d8a623a717e89b2e72d0f0bcb27b9af4e8616882f5fb3331619cac207209564394cc67dd00677fc563eeaaadadc98784071e859bb290d1f54132b2d00c68c5d9278feb82a0321c6b3a0aa48ce9fa8b808ab7583c1be99169e19bd42d72f648cf0ede3691d4cd3f4501441a3abfe257dc8efa5f007d6908783244515572ec17221bc8bcbcb45b99d043fd84fbe54970a2a23b68b47223c2fd7ffa27f16e3a5226120f2fcc6cfd6e5bf2c0344751f1e43774280afe588d1b2c65404d7e72502eda9020ac30b3bb8af77e45c6d6e3216c6c7fdedff268b96a09d4527a2872e35e8c7c8eba68054841fcdbec019c0d9c369c25ce47d42a9f36b71b3714ab6fde583353b01f9d8f7d79ee9d203077890e8af69235c7be0a7f6f2e4ca95c17643861fae6a8e6a2b9f93be69786774249aba6508ad0b745cee71bbf550d63a472bd83968d076a2a1267a6acae7b60fed3636867ba04f33e15b8eecc592ace2972731fef5508f471c48d9c69ce64b7cc1e9cfb836290b6c5517cfc33f4de5f4f4f0c10526c9bfab910f91214ec43e583801ab3ee4f0089d76fcb00e9b649d5e809eba4af96fde98ad9f8d3d53073bd2d909b0968a28114172904313136509aba7235dd1fb480eb9a97dfbe4a656049be6098700e4c68c40a53677d7c2f90e71a080798d8cc68fa8f65b8c74f162f5dce85043a57caff19663e61989fed564bef24c8ed285cb1f7824e5402e84855c1ea7ad40591632c50d75c2fbc9e36d11b10726db8e62c0ef4bfa8b612a54a8066eb8a62f41f49d4acbffec3e6edbda848fd10fc2a32736da41a7f634a173db682193333a8da7fb6e033f2638ae4954ddd48528d68ac5e81b5e644f11796c50a07cafa0a105022ad56ea4939e9c276ff5c1b72bc8c41583e841135b6b985808a5023ef12eb20a379025792931a095b8f9b4072420c78f3dae820d634edb5fe79d8bdf59fbde9762c1049bf2f2e4968926c8127180a756efddc5c818e70065d3d5817514410f473c372e5f7d1611b9af0a5d22dfc3d194b3f7dadb6b64f8dcfbfb80e72ff4deadd7d837794f94b4a6152ef2e7241f1552c0013ea9a94752843031d1b26eb2634c0ea1624bc44f6a5f4ce8aed72105839c66f8b4080fb7837a1cc573f031da4ced0929f9fa73d0d71a77e9024726b949b1bbcdd1e81404fc56a95332ac193d8fd449f507577ff159af72202014fe36f84cb996a3b4ce1c70d8035f0807477f3758750a16fc8392b919cb6e58708dff3ee0dd4a3409e7043570fbb10d22d21ce26bd08e1d99377edbf1308376372f0305acf775c6476bcdd0d71e217972ab226676f77a6dcfbcd3aa99b19984272b46dcf26a8a2939b218677a82b860cdd4f8c443e4c348fc899cba58bfe6369725cf408e46577f4dc66694ea4ea144c1b100b532bd5d9ef7521683472a99c4c720271ce8dccdf5a99a65a1e452d184dd3ac148404ecf53ac17193192d42eac52dadc3f1b476cb333a4f0ac06d14d066161ee7cb69867b40a1654e9a91de748b7258fdfdf394ff42d466923f2a631f1e4c32a28439c6e94a87d1f9db26ca03d17255dfcc2f64fc6505eec4e6a6feb11239259852b462acedc0bb3578754a541d6349cd8011ac4cf728757affcc0231cbbb51904cc2a2aa7d4aa2266215620510722e97d16555fe37cdd84c66f815e1eaf1b868600587d13c3c1a14734ea9e445458d2e4d57fe19e8356718786c11f3c2eb4057ec6041e2fbaa307f227f74ba614239f613a1a708c49eacfe1ae37a0b3da0b2ea5d7c2547a78166eee870a8ef644c41c2960658ace6bdb7deef3f13e21d2aaa2f9f8a8b6a8c1870e1127b9130f3134808949ef9d5eb4fff220b02fd0b32d12fa8d38a3c3a4f3a4e955113d966b95274029b51b13a69467bad3855c32b0d42b5c344fa5efff2b57a2e5a0af924dc72111d1766146492b36533fe5e40ed0b9698ed0e2e40621a44784e41eabd1d9f145ede836eeff1792b4a799109c80d7e8f0037c478c6768831f3866a46afa9877273ec407a115053ec3932ec942daada734980156555d8c03d332f174006d430726f1c7e25ea5e1b26c7a7d6a838de155326da6c2af83fb689e0bc913c62d2f96d12af5babd665d241ef7c59320de31b22fefa6d6de7991d5d5f1d91cff9ba0f6e864f950516401f0bf8c754bd059a99aacdd40468a9c9c83690204cf4acdbea72b33755f5e89f2669ea39daffa8d8773c3f4d290fd45e4fbfdc12ae00c1379c720452660c57726ee4f7026a06d3bda33dff4c8daf0d5b5466de513e80e04d82722a53627218db49713290e2785dceaacbd2f3dffde60d322122b13b53e17f546e27af43fdc33efbe66246a4769d8d30b7dbe3ecc8120e12c8f6c5d4e78378541d3ea0a92152182022b26a36edf35e81243e22ad0846d3632fac9f24793b93cf7230a3d5fa8c2f7993f03f1430ad08244c16d33578ac05ff63ba18c33d306dfa4beca835a82864fd91249ed4c2668dc975d23884a433f3f3c8ccbe2338f3f0281eb6d597fc7d1c647007502074bf5e95014bd473c4692e8c782f9a00ae80533e101256270bebe87e47795ee2c3a78314575becc6f4d723ead88ae1c72ad5bf50654d24f4f3f6352e313de0cd580bf0d8204822081af7487b26350aeeed0fb85272c1c1e12034e6568a3ad17e03cc37a3dacc427faee0ae87335f32ccbb452fa339ef5ce9f8a458f2b5cdf5f301ce4b7c08d359dd2143391f8a446e6b07a6a02d72bb22b66bc15c5ea063efd95c5a8acc4f6f9e7f46ab724e386ee92fb91990eb72d903f1d462270cb084f490e0d44ea1a8a1716e6531e4b4e0bddcf027bc179f729e00e06869dbfafcad157a6038c5710edd70b3d2ad7a75055818f8334db42f548263e2d7662b1d4c14420c4da795b8b6e3afaea86ef0ea80b821d94aa9e3af72a1789e773d4ba350323be8d10da3265786675143c2004bdd84f9d69587363e7221b6a9021b98da75edd8c4494817ac4db777014b5b1db4b1c008d1f38187223cdc53ca00e998488a36fd8423476c1d8538f9063ffebce2a94ba4a743d7fef072bfe284d6bdbbf4c11718b7f9e39531299e10f87ee6225c1e7a27f13de59cb572384790c921057db278e8c1d287e7dd014c2d35be0bc3a715d37f5f10952de3728150ed45166098fc229102e03ad99b42e7e24e81711d1334c7ca09ba983f8c72ac421ca079352ade43d09b9f5b0942ee73f1feabb77c8a4909081a078ba0577204c46e7aa951ed8158fa037a36baa4937b6a825484978d35e7dad5263b588072eae975bd940768a6ea78c8cec6a112ce2185d337a871f52bf37ccadd19371634df100df6375119d003d2c57f17dc17e184db88df1569c919865d07c81a89606b8daf1f752c331e86dc88f5bcab43ecd80c132b4be926fb3d561d8fc89eb9c3725839a817ecf7750813cc655036f5928f060c49a3e481b6ac84643fabc0243272984dbbd2c2a693ee088413a66a2fbb94968a3b64a575a318f81d64a55bbae14d5385b31e1af377798c07843b25858b5e12b78fccd9aacbfabff79a2627b29472e14847ddfd966cadf7e9f9e8400b018ff6137f41450dd1f7891ff5231add1e1443c158cb88b3ba9f7889fdb9ca81ba3a81aa7851a85ab6d65433cfd7180b3072b8701335e034708367b303d01bcfe6ae39862610200cbc1131462713597e9e727c77c83826a961819b4ddb676f05bafdcc5d9d64c1a665d214f707fa9ba789725492a10ff94ce4b6f041328a7881a48d6173b638edf1093178276585acc8df166375c8b21aa54a0739691b8b847ab6ddebfe0cf41a909e9a742369a0d5a69e51fc6445647ecb85bc007d657d351559494c6071d121ed2bb80ac89da8e2abc2726fc7e5edc7764b753df8d1f45127bee7a8151afc37df4f29754443d1751be42de11a14b64817438aec6e6cbcfedad540f0ec04f0dd4d2b73dd3b8740f4e68460ce393eb363241b5f39ddfea0c5101fb8c0751225bcae71fa6ac0c85d04df5572b104196d594ce74d87b7d9d585f4a4ba3fbfa109fff618027818fe9f788cc672708c571a083c8cd5241aa1b181c807399271ee0e00806a7d40b6384bfde1ac1e4c43af4e7ce8db318058137bc0c37eee0acd970c04b54810173be0af9c685c7287710e48f7db8d03d7d6462bab5b36cb39010cf780b03ab95fd34029a713fe72ede1a717c2f66753e409cc145f41130ed4bff2499497d8a98b9afa89719e04604d25bed0e188331cc9f8c9b9f7205ac31afbff10bc72b4e86647c9ebf2e90a7295f8b0d50db2ab1ec44be0514830bbff24e8567772d9942d7f38b0f0ddaa97090754b97767a540d90fe17d86b352fd27071732f64f6ef1bbc98abebc88c5b0405f186d41525a987e97e192717bf14b3127eb177cd2acf394c291d9fe7f9bc372b134bb509ebc68f7b78bdecf20259bf7b1ad77c56fe9ddf46c391abee7aa3d72e0863a56e789d4f34ca203a7fbe6f4489b83fd79dc1a983d07b647efc38c710a9a81c5c55a43d1717b05a6ae64ecb68f987754b689d6ba8954ab3ac63088ec7228f083cb063a61d6ee04200f3d405c9d4c16cb85b9ff50ab39c3cddedcb8bd72fe118b5498b2da374d9b280c3053811737cf447ac70b8d5475e9caed2b34281ae8b25326cc60eb5204d22bf7c7a69dada87bc148f66d9fe3763acbb06193c502613f806ce9fd65a66efa3930e477d804dd8249a2edf8884e2e0d54f23a6bda72a3f9b044f9d4e4c77d49291242ddff623f566471216bf4ed524d2b183d503503633fde498815081c01f5c0d53278c41ef34b802b1a4b3bc14156b146b1f6d00c6a9c86354555f8af0de14ae4cda52bf6ed34ed775f192695a47bdeded43738524bc39de53591d8fda30c64a9c05e3bf0a7921c05e9702728e4d2be436b1d3972dfeb85430174698ec257ebd70f6880782ebe7720cb2a38c202210119ab534e4977b1dfcac240ce6d3d21985135f3668433eb85ef82de72accc903f1e7dd028724fe4b49dc716bb6fcd932d5c9838f1abeab7676c486fc1c75b6a835f503ea872cf81d3ae5f12aca9b0afb158d6218cbf0b0740fcba6c000b638c69043024b572f06650e9a52be8a51d6cb7814c73610c611863f6e3c3993b803231576c2a77721d691cf086b22c3ed6e33057998bd4382a900fbcb44e1af8e35e26897b35e74821859b57c2f819c7ace20ac01cac58bfc9e7e4d6cf3b175bf7ba2adbce016661f8375e00b377f78da7bbe2731e2b4057ceb21f14d8f7e0caef0c8896cc86ed17cd48a8aee362ca728bfcc97e7672967663a4fbb78cd24661d5ac62c6055ddb63e2462ccea82396f1eee22040972601120928c2516cf8d5c10560293bd3b9d631e82912dc6d7c4c671a245e6a96aac8b98b5fbb9a3e8c42b06105e07c0571247252217d848023dbd79cc75cb6cd8921672e3c4de8f75d2bd064eb8fea328e90727f862ab3d460d0016fc53f6fa9a3855824b418be37d14f182baceaaa306b3272f37b7f5b009c1f57e698c8da45dc1d96a59b769d902e84a9190747442e765c7224a9d4f7ccc0a75c7c7d887c4239cbc49a1a0f7104a1c484a7cf5b46b4cc681dfa7f3e9ab154ee2500a1dd0011d724d7d0f4cf89bbc3eea626d51e204d91012469d764dd137cd19fe5e143361c98252e7d59967bee682458f511d90ce71e0021feb39a115a97ab02c83bacd586229d550ea49ee13b13e7bb965443d09541fa720481ab0fc9976785b5b50c0b1b30e7056aa73d22f760d5a8db8773a15137b072e416682ced71aac5a8b37b33e1352251742d7007ceaffc08f923e17a808e4f641a457b8621c81fab98aa8d625479440b08b9fe40797a94696ee502a4e414cc420867b5c7f026b7bc75bf63a3aa2b0655197e75c2bc30c575eb058007da5da7720c648de1be3c3caa0b797590700ad72609648233514fb3a0a55aa0ea7541ee2f7befeaef05080101e23b22bf0999cf7dd6109ce9338c1fb14aa05afc73302172f04a5832a889c3258a8ef5b0a8a2b8e076746f7010a556a5083187224572ba5a6d678c3a55b5a3f9aaa6be271b573d5c3db546ec3e0e18029d0271c1f4b7cc3c37b7388ab5fcdea2102ba85fea85fd5f7f29dd2e2d5a03b76a12cb2718a8eb472d8b50176f1af3a6509f65e708fd5d634c1e45dc132bb5a5c0eb2c91574957725472e31e3d7fddd04c87ae2adbbd3b7db2e0bef89af4cc81ee5c31d55c44780048108f07bddc6761dc5b312d62e48b7ec754dae1a0ccdef57208c1959b549b70431b19bcb34f30f17301a68a0ba10b88b12d7a3a8486883360fba6595f858e6343fa4c5c7f346660ea7b27f3ce7e97cc2fa4263310b4adfa9fbc45bc29e4a51d006248355e35cf25eb8ffc3b7d792bad23ed88a83b7fd0768fcd10c0a3fc0122ce536625af9051f737e521145fcb8d212cc7bb8fc8df35a0fc4ad8a29a451211f1e84c63f2119618b587811caf6801ff860bde56b4051a1abc7051038c0fd1722272e0a7fec77c52b29ab78fa280b24dff2efa437de83ed2028b966df2009b7279a55053c128e51a722cba55da8279fadbfda3e9c5147775abacf243eeb39f72bd3a06bb060554e6c22bf6bc9dbbdf0596ed43537908e9461d0c9010346dfe02ca29de74bc0213180d79cc8e15eb047f7796f1b4cc01a44d3c8670d7cc98d471b70045728857b677cba2e78b5e4c75911b1e653b0e0b8506256d133340133372b7036dd980a9811f65d5b9edb2a83baae49106b54019ed5129ea1d37349f697245cdb607b50d0d389fdd39f9db205ddf074378e6679defbdf4cab05156d87c7269bff8d4ecc25272385fd7461c350b4c5a5e2000d8d70c3d2e1544a44fffcb722678c4c164ad4737c84f499f15b0896f81ecf103495bd24dc16f7b1bdfd6d9239ee4badf92c08ec5ddeef459dec57a20004836d43f8a506c68351a367c0ad472db7611fa11b053bb492b9891a1d83beae37452c7159fdff1d6360056666f177220e769a6ec6d8909218294a496a3dd4fbcbcc78daab96a6b766da3f8f97ab5725ac760dd24744b60791213a71895383018f7a5eb3dd68e2324bc0336c0874c72dd8482260d7c006ee71456c82d72fab24dd80778343d700fd2dfd97c72520d7232847f7ece92a986beb9947c3527c586a78c9a1bb570ab0f89c67b3cd5693972ad041f5803e7746550104a9e6fb5d9182d6cbbfe35b4bdefacb7bb8cd669593715590d314cea1d7e0ade72b19a793a6a9ca20d32503773c15a6197141d6ab172ff7ce372f54d0790b189e06e81498b0be507e2957d5e6b11ff1d2b3ae6b3e772087e85675b0deffdda991b8f54878b80a0dbaf670c2e0dacb534a0a815dc54728503f6035c9b78437a0a88a40a54f5b39eddc3455afe323048ed536a6b843872228d094bdf22ebd72f5323ce3b989536fef64aa0e46e268d1622d73addf7f97235939288c764ac0ce3edd2daed4ec503cfc998447da9dd9f06e65b3ec665470868768c84e18ba0db15ce5b2ccc02f2a0676664597add1d39725a737e78d68872c1b1f15734cbcdfe03a56fc12392ef2074bb56e9c9b12538c72c5fe078d89f7260921f71edbec6f42af0e3db090718189e0152d9de5aaabc0a6638326b9fb472281854593f44d4df73db18d7d3060b19ea8d507c75de5612cfabae8e655957723bc660b485af0b1ead28f5a70d80ad0f89342534c7105475ddc1cde36ec2706892b54b8385fa0262ff4ac54dfe17f31cbe892a223497b39dd9f623737fbc9620e5ee7262d9befe65a9f307654dae1fa07f1e34f1793738fa0ded1ef364d59472817b06474168a9a21101c715f7cf0eefba84d7e757879c92900316272cbefd322997ea9fe169fe08ae60f2edce49c4492b9c45a880589035b6dcd08dbb1cf072e14d5476815f71dbb356556f8c67232359b139337e3028b787a80679bdff9072e33e1003dee1d58ee9521c9af8920aae1e29b4a0e77a5fc50ee3fada6534f30d56fae3227b304615f723fe0819afb116b9703a548aa2b5663e0c912e7fa0db725b05dd8756d4ec1b7b35cced628bd3dc9ad50a375b217c94ffa91785b8135d72ca60a5d00c9875484e8b7809a7245dae33b1aafc727a1b655cfdbfad49088c180a6cfa120de978426380c161832c7d8d3719bd7e395c35fac045f7b4dfc3864c954c1220539ca168ce4fb3a6a4b015fd644df2fc3ade944ecd775cec8bfbf72b818cda8ca3229b96877aa0b3103e8567200df5084e51a65a7342829e3458d737f05070c106a92a1e64833b0971e60573eaab42e3f44ecde8040c1105c097ed72cd656b831f8dcb1e7983a23173f51ef2059591e7a29ea720a9c215b3ef097b723e0164191ca221672895aed923542596ccd45b179f343819750425fce3e0574e3831f762139aa8bb6c260af3dcea4b195c6c43899b47c338cbb808d03fe90c2921980048a5f6127ab175b564c1917746d73c66d0457d92b27ca48c7a9b83847278fcb15e4dabb72f7405adc72c816fb353870657a30e0aa90abf00996eb0af722af760abaaa4778c5b2451f59a06f5341aca5d94f645a503e14536a43fd8ca725cf69734f84d1ae5dce9c51aff351e6e3418f073a6c4a7edb595a0f2e91ef672b6e6d600dd94f9156d9835b4ccfdc475e8709d54f558183540c36b55f5255c72a76276d4b5a289efa715256722bcb1e66e0493811dc6c6d97c573b36fc7e6940f03f3f80f3d66c249bb27b482c606fb93dae73772b2872ce185e67f016d1ca7271166e44eceb395d976df46f97727ff175d0ca21cf194d171fbeab671d2c555c6a380b3cba8d0e1987f15b423079e8ec4f29ebd16e9ca0e54ecb0972058a40453eb92c76f77b48a04736d87323e2d39bcc0fc2134e35b50e36bccd0fdc9435111639611838c9a6cd4bb5a9a603dce28ddba264b7aafafe226b3c1422165d3e1a0ed943f1baab3acef516d2ae6b25e04817d8cb54234ce900787fe5e3f555185b1d72c7c3bf72081111731ba7c1d9984b4e9b5326502fa5fcd2e43581f366ff72e8e9fac80ec6a0a14a0630290e24130b7a596d92044478004c02731276952424eb324a10436f6e071019a34fe824e9ca0cd51a351b1cd09ed21cec9d838ba83ae7069fd6d1239e8cc0806ced81c466a44c798b1f6cba9eb9d92ba8a7038db5371073db8df4c9fa2af9727f2378a69930554750fb38c82f846d0b041b4ffd6c0d15ab88139cf331b1f444f990781d7909359b8382d09389216ee19ec935aa8672ad7f03144c5bfdcb8e558f49e3ca66606c14ab0973543c59064a0cf5efa58937947dae229b6743419e33b8a96130b372f51cb2d0b663b321b7730cbfaec5e37210e0d854ec4e4977d19c4d8a833a18b52ecf8db533111b7dc8eac8d63c48e06eb0bdff93aae1abe46ac141baa21f9cfe82fd2e8b2eff0a441fd60c006c128172fddcced80bc41af9ef0355d0d0a1ab206249f9714d884fb51ca6ef358c424e24d29d28d70c2e8ef978eb49356d52fc35b9869db68dea758664a3df9ded12b77213db741a5b12ae3a1f66ca78c8bf06db08719797214ce9b08f16acfc52167072c13eb8fe425db67aaa43c69328da557ff47933d95a761071006388367a9c7461013bd159bd62953955ffdc4929d4adf886c122306919d4dcd06c60b2669d9047457b5cbd0894631d1f9b6fe41968b9e0d42192610e0326e641304b7bab85f672bed8702b8708e94f0eb51cfb9e9da60fc094ce94bd09321c62afcb4ae4cbe57248545bb5ec329e9997e18e1c0ec9db5f555985500160aa797c0ef4cc2bb25e72c1468e33dd87c4bca10e950836be08a6dcf4c3747dbf12f44d589c0995d83972286c945889a6704769f12239f0f251b2d53cac9fb755d9c0cc65b5e67bc8dc72c83c5491891ea8ff739819491c1a20775961eb0a2ee9eeedf5df5a725382fc720eaac82ce6b2b4a6faaad6adc91c1dcfef2771fd8f2e171985bf082dc53d1856c3e703e51b65574cc6d8f0ad6011c79a430a41349d4eb4b56cbe4220a43e8f42ac38d1f5a33008a542444b44e22c4d15168a03d67d70a135410afe6014834772b419b7a7d8dcfcb3ef0d669d2518541bc91ee305929e98ac07807d763af3d40f609b2161b5aa1afd246bdeffdbe2bf98c2131f3cbbec0b20fc3f624f8fb6027247ec8e1088624d23bc42db91564bd18eccfd59470d754e5c78c328ec82ef9772bc15b4f1b005bd3e69949e012fcbf5d18742e46d1bfb49edf983a5de976fb230ca08e8aa61e300eb655ec773be9c7180b84ab9fa6f42668ac9a23eb6c7dbc272c4638587ddb3c569e28653eee4abc5a4607eeb9fc2b227a38ff71fab3a67b806b11bd1e330a5940955567eeeb6b2239c1eab7bd57ab974aef6c2b6ba8794212ec849e788aa7a8c34841e71a4d06c7cf2e23fbcb1670fae59e5ce92c7c5ea4c725835a4fbc93ac570588af31ec6bdfb407881a85b5881a913eeba21ae1f1400720e0d33cf25ed086821fe2f3235e91ee1f754b63b5ef903637c30f3e6f0ff7d3fe4eddf36c4e2cede90ce1b8696f4b82fd37681e158e9664ff4e3c101cac3ab7245efca67c5418d389f08fc8d469ce05191aab95057d8e1f0011c1081f0f8ff2436691a7fef570c1aa088434191403d4bb4bb1eeca2a63e1ec341b6ff76eca21989868c807923b6ba93f0572c3763208a37a92d5edf15a9427fb4c26e143b0a723950831dc57694c056347787496e23a7960672145ed43f12f867e0345d369a348fd50d4e8b37df81df8ec903154dbbe726f13d386274acf2170c1fd0baca367230de0988f202c0c3a06b3d05a8484b1f140b55a1b0c86fc5567825de424e754cd1d8960391cb2f7ea0124a34eacf15d66760baedf0e291dd83769daf11cee972d9cff31b783ca3244ac60f57cd277bf2d56f6d21e1390dbf45f1f5db21791072af6148833b9f226c889a70649537ee880f0e464ae63470bd7d54ddd4e75301723bfcd1fb3b1f07a6551996cbf4c6cf0e9feff69b2e09553498d3c87015982172dff086dd6062dc564eacb4e4e04faa158c85a937854b6cd68cbda5285ed1d9270e1c3b73cafe93a2ea3a9eafc7f1edd510f500173b1b03923b435ff626502f0613716e2f1698ae918a74e86b45ca5281432856e908d4ea61701173780d2cf20fef347efc720ce5890f4d885655c914f45e2bcaf94442db8d09e3002f6bf5e56748a0a7fb2b9edfd439c126a865174b8953c3b2124bf2bdced4e9008d6e8dd872b8391d86a30e10bce29627dbf197f3f3726cba3182214787c93c6b92696155305e7be9eccab9700c2eaf5a933c0d56bd761edd613284bfc711fa93a4efcdfb1d41e3367d89f0bc66b06e9dcb47825953c5e9b64b303c22603988550bcc7f1772696663b8f5a3c8df6a574a010f74447451b04a0f89fa636fb003ea43c3535272de164ed486935855b8cf9c683dcea0f40896e6394a87d1d93ff2633bc2214b1a1896f9109b84e086a733d9f1f8de4d92b32772e77f67089cd6d992f3d5f0fe47f5905f67f52482ff4be6713ad618513098201364aec5dd28493bbd8597882c720bf723513bfd5b07db607c5125e2f501b3eefd5ebb646eecd39bf6f46ee85e2718fd41e926bb6ad9b18684c2468d7b66d2e762dedb1f8b23c2367dc2ea239e724a3068ec0120230df32f5c44b4292b09f869e5de54887f0920de69d7bb786e6aa856fe0199a9900adbe8d3efdd96e3b0f80b70db7587f45045369b779dfd0f72ec6c1410f8cdcaaa1521f430979fb1d812c40d48b5f67ff8ffb018b3568f5b5e7ff9fdb14758fcdd0a88c27cbd41fc62ec58d8f7d2877dc3538970dc907b5b72032b61fe6b9ba399d08de8d575c54ddb1db2c181ffb144afaf1fd70d1d1d8f72d992f28dfda34ba80420c181642eceecd4ab861fa30a9b8c670f94c9dbf15e52cc6a1dce9316ab7bd10259c1a0694d169da388a7e6a99532922cf3d151836c2c93aeedb5762bc350ad5ba7681923934a5ef4ebf2ab4115dc5d9e5953544f523337332db7afc356086465a299fde5dc97b8ebcc6395627cde2675bea4a71174290b79793d80a9fb0ecb65482c9d333687900f642f283264d0a52101ccc47bda09e3946fc15009d77b97bcee3b5cf45df59391d592c32decc7b4bc92781071d272f2b39f1a85e4997a04044f16ddedc6063ce0382812a73d4df6764dfca359847299011bf4e675b7a48ab6bea69359a8eb70ce5178853b665cc0bd34ebe27c86721847c2c38f6fa95a115e138f9d17b188053c0143c6a1fe712fbe88c7a0441372e35d2ff26d737bc6cee67115e85f7da0e5b5370c9d3867356ae085f08ee3ad729ebb2dd6720abd2f73a51cd12ea5ce273f2861ac15a9da03c42c2d381450f07283affdbd51f96adc67fb2566d7667be9862da402a3b96c325f84d75c470e6a72de030f96051d64d3bb4b427c64b5efa2ce2dd73c90f57fcc671b1b1485968f6abbbd0c9be2c604fc1e5bf401a71950b049fb6599e9c900e9bcf633ffe48d9e72aeadd112353252ea34d2a189a4d3aa53d5ce54f357850b2e213edf9d9067c372618e897329765d7f5b7eeb72bb79f607d374b67126148fbac05bc4d451d8b172a8015ae658dd674e95bc95b4913fc08310f95394e0a8df1555310c8c97549a53a852571bf364d108844b90e2b82d83fb566efddab0d07c0ff9110505a1f5e47182ac6ae348c5a67c0f2d6fe76bf23851a05d61ec9befd84edbe468fa699b5b69de5a1c1ef1346e48f20c42e5ba51692ff88c2e4efc442c5c1360645f253fcd72e0680e9d8947faebf54b76483e41566267dc2c479d600b0d9fbfd260dc1a2d3a4e3058cc61d5a1f0ec611aa70a6e924a9519ef2d7bd206d34b678303155f4572811873079f0c41088394477872f76eafdd929b4e8705a100290b35f8aae0a072ffa7dae415ccaadc9e546356e19c55ffc68a3a94f189dbf44eb459041cb6497274658d84f69b2d6fb49d0fe8e03cd08d6d99bf7fce5464049db03d7c3d325672e36e4dea10351c51beeaca533a7f3ad0ca6308f18e918038d082291fe76a3b72f3e3a72910522ca662030280cbc09e5084e951b2daf8e8c616d7a336d4d1ef02612bebc0aed097895591a9dff8ebacc3e4f20e901a317266c6dd8d68a6f576203f82ff91f06a9342f589e564bbcf9f866f70f5904b2aec38bda767da9b402872da65e207fac8060bdc4d6c163158bde52d0c8c05d22609383926801e7aca357246f2396486a84118c8008a76034d634bb554b8cf6e51845f47660f6840e6e706cc0759f059d9ea0828cef2e6a8bf94208937ba196cc2e17c499034d703e01972dbb4c2e50b2c3c90b382d895df59711f3721526c4e3339fda2fc1c183edfc02de4126b5795b22d616d1eb9e66782b718ceafd5a69a11fe6e443aa9c9fcca5972999372f52931525d65cd252deeaf25ad0d802c1846a004e47d836d0ececfac7230b4a994d521df8c1c54dc7d488f3e365405899e072c755ed66030d2b27a095c1ad568a22416ff883fcfb25322aadb8f1f52cc354155488da54f98df8f4a1745d5475dded858b6726782443f307be9fe93cc04c1353f0032c0c04f04065eca723273a9d48ddcb450a7b62f60c92fb9143bdef94477d953f3ab0d19b538a780721a06fcaac19b0ea0c3bf3756f57513923ae5fde7af3b50c717462d66c37f1572c589bc921f57f1df4eadc06015a03d4bcea4acb3fbde449bdb5e0f3ca626ce7296f1ecf7d1c5c54518c848a5a602ec401b773e5145feb90744cce450766c5f107745e6ba13d49ba7d82beea560cc0b720c93a930b525343ac89fbb44029bfb725dbfecf56e79ffce7789e501d4d3577df71c08f452caf6fb98ba61fecf43730c6241cb99dd5a6c2bdde01f8790b648eb953d23ec334f09021bfa3572a4c120725f6433231619de1a74abe2b29fc8403bf075fe1cd004b5cd4018b79d4baf5472b6826237994ab8738f851723b973d09e8cd9b3fc88326546ac7a6b51544f9e6515f59b3c8f41149cfa5d80b3e4d546e874713536b68fa5dd3ae2312a971a8872784ab44c025474cda671aa908856c1aecd4ec015597f3303dc4f0376aac7c4244e5ef928dfe46b765177ea634a94ab1362a8eddb8ef96cfe6c570e1cc8a27672b431a89310d71a31b3be247011144ab9dc9ca47a004e503b77fa7984c57dc472d9000fd39758006d983538f1bfcd016618c4017739d623c1924fe80379a88c08238d7dca4a7b50f004cc535aabcfff58312a903501a12e962e6b591587667a22f569b34429c4fd6e599a5299337c08b6d3e48ad675d2a2ff95b28075cf33a07216f6b1a8ff702586377f27677c9d537773920fab5112c99eacb0016de72bcc7248190b9ea69b62631de658f8cb04505e517d9e4cbbb44e35cdfc654b88935872daaf771589e039f3902de449ddb7dc5329b05c8278f6d7ebbce22c46408af0723cccdff2bbda052ccdf298c376e48bb5f5ad3c6e28c3ab62bd1c70784f34ca72ffb71e0bcb5836259f22ed9957790aaa768fadce6dadfa7fc9292a40c46eea6c588cf23cce0a87d25781160d297001af8cf09582db0768ddda4d9889a28e99721a667841119bfc12aef56021fb8750342e9b4a1f75c808d97c322217981011120fa2cefb61cca7e1c8370f8ace34a266747223cc580def938e8ac2884bad9f4a4e30b67623de14ba66987653a556f10a54afe24e7dbf0e83d58b56d497c3b20f0aeaeeb3a3d9ed94a64f022928f32c329c6de5eb0508fba2fdeec8fa72635f04dbb7453a1217aefdca40d4de40d127c6b8d2eaaabb913935b88f9ea5835ce246dd65af9a4fdc9674642cfc5390ef69c9a5c46f15c9d5873f7a48f32969d7b7590f2e0ecf347b07e1887f61ad47d5227179b3bc7d7aaa9ea3713cdc423c444e722342007317f7f6217b380100c957d7d6a3ac7af79e21b64f8338361848aa0347354d0fa5df7bca8b34c7480d290cb60fca2c88f5a4a68e414f0675eac96d9c722023a96f18d7458e0b714f845a53f2d19b71a140ccb80bff3ed3e2fc6131f972902e60f74d4a144d49f2ac702a07156c531d9a46582dbeae80cdcaffcd68857250646e89e870670face2b79b44e913a3772862314698ad454e922fc05698ae4da331f818f4a0b8eb50450ca91518eafac7269a060f1d5708b176a3db0e460e727c6ba1dd6ba12a6addac80488e2b45176097f3b0ed7a1cc55e0d1f8f529d3a24f8acef6c659918643d6d5b3aea54bb5bed4b09c12804f154135c250d9d0b0a72c0e9069012038c321ba964075d0e4b0c873a555780338c9518f23a74fe9b63462741fe962b34c75328124847739f16702c5371edb2a3597c2df4382c5ac86e36f2ab4f9eff2acbdfdcec29a7ff066210212f340f1397698186c7cbf881c7772fbaf9682b3e9814b7b5243630c223aac3678f7cbe25aa81d7222c628c5da3ad72c95a506dd6df91f72cb762e36b7b482b980aa513af4c4fb5eefcf14b3aa81a6e384429d92c41f292fecbad8f6b10bf17aecab4074e99a4b8d1be68df758dad7236e0cc50a31c14599c8c452759e8313c90c283c38ac7b2f310295bbe6dc1c072180492ab6f183e8447f9357f7553f9c49da798a6d7db07cfc7a642e9595cec7279e8c51264a28bb6ebcc0457e897da4dfc1d0d0b651c01957508f72a0be25a29358c2e5dadb31a7821b6599e1ce9c6d9ad505a7f0613814ceca14d4c544b7f723026caa467ebd9b02f815aefa33fe1fcf411938179c4351c5d8c9404796a867270c07ae73c2ac26368a489c108c75de9f51de0e3a08b6c3401620063318725641ced3d4ea98bd735e18286a0d9daaadf5b242bb2a5fb2b71f1aec5662604c8724f18576a66d70115b5160e1450cca74c8b6d6e49c00aa6ee33f1395d628a465db5c1820cf95a1e530de40b9a52e225855ed5c2fda9cca9b89912926870e07c102ce3653ab40cbff8d8bc4f89a09e5583a468bc93b26efe540c1b02092d857c5ac5f4c6f7f271168dcc618394cfae7ae8f1457a38c9dcd22e31d1b32c2124744bdd502c965af2b2f09288b2de861433071f74c69a7907a6ea4b8ed2e98cbed330a9451bba98c54b0bf705dc88b786eb746782a1e739ec26191f1dd67062280272c12c4e0251d8a565da75ec1f6cbaba957a15a3138769b51f509a097863372272af39fecef5c5538de6fa0a9ffbc8f45ef42870c14597b9a6e139867b289ad33295ae577b1f96ba7f21001e7f2a02f377e02fbb578750f786f53fa53998f46547a7ec73c07bc116b8c9709f960e8a95d6577c15a5bb096901e41e3b4e15f05b72d03d67763b4ace0b32784bd741ae577279a8e46c29a4ce7a49e035001aaf857296d743c3cfe6519817e333e7e5cd169f3b75dda5e22026132b9d4ce0b9c4cd624ea486676ec73fe54095cfe9a4c616b5277c2240375ade793c40a66584d34172cbaec674ee66211f0f3ed3ee3ea0de7ac358d00dcc12a7121ca8d96b2cbc615f8e4a1a007b8f69fe03245289189977f6a9ce5dcac2c1fef7cf4a41bed18e3f0583330f99bbab8626692ffe5e13f0eea8a053b680a5043ce2334fd79e620afd5951ae5680430ef45827f2a6d7255058b06b0d3a9d7975c172b3e07865ecdd07659d0cf29837794a11d2aeaa40a645c66c2dbb01145e5109686e90b2bc5b0fa26fd18ab08cefd108ee5b2f11cb8b0a3727874e805c8d195e779c0f36f106e56b54a0041d28df879049672ebe37ff3a7b9e467ee5f9e92fd9e935d96ffefa539372fd103479ed1750f69c46aeeb6c118cec04f1221c52d4bf66529fec47ef790113e415ed0d2045ffa0d264879018708c338634df49c9b849bf8d663bc682022937d200a8c4611b623c9015f297583ba540dc75ef0fd48d6c797f34f6691d0a596b665d5f3ccb73422a5a8c0549a207382a067edd23d0893b66da34a8c94c23cb17f61304dfdb5fa51fc49b926643952a23b420f46371b816a7f09c43e9af219b4d4f09f4fa032e6a667777972f95b0dc6cb9bedc065cf15c77363898edcff3b072d8dd8c48a86e44d0a93dab6c121ee056779c3748a7137c85e87787566cf23e5a44e960680721fa22dc0d2288dc40a00c8e6ff90e5c8661b7267e2988d682b372ac475b52ac023ae32fe7423580c9b0bcee72c69490ea94117782eae85af6651ae82e1525c78840c2deb92b77656f55e91198fda2a4ce1b1a40076c9d6c04ca6b537f7637ea6e8cbbd051cd0dd20291ba289946fdfccb165fd967b2ce5bff92720fe1e8a10445a52e4b1aaa8370d28096ac242675cd747eefb4b179125da80e5b0fb4227105a751920ed2c982e9097f76723b20f5443e719baf87bb4b0ca8d469956c91f03e7244c199586a1ec09d60167c7db4c21185086b43a0e8c8cd979635115edc2ba5a1ac3db69697acc4241091890a614764d456bfddead6c97825b3722bea37501a0c6493c0ae33fa65f405ad0c74aec28769ff0c0d5d912b56b12e72f41228f1f7328e54e4499631f8b29b4697035f5a92a85fddc4ac90471af8d76e6f840ed4b4a2558752a7d45b79e084b5011e0cc922b87d84b68a14d0c0534f72fcbe73dc2e119fa0d58501d3a23a80e2b784a75783fb94f5ef852ae6d3210e0c59d2bb2af691ba3d1fc62993c3fba4daf5c58fe7e7677f8f9c100587e3cb7172d498b8948bc8f9904a1c4403be4847993ca3f208341754470167cbf28fed9871fb09f5f7ffb2876bedc8e6ebb03b382bf78d127b7aabd643d1382559934e7272a5e27156513180a8b1b282ab47bddb28fde6bd2eecfc5ce6d81efd4e5a0dec726df980d0405d888b0fe84a8c899d1b40cc8d60d20e04c9c88d6c24b2cb7256727a99d4787476e9d5540a3fa5465b0282e0a7551b8adbdf86952ac1d7e0ac2072022fd21f9899d6afa44ab5e73a559b2fb0daf992e98707f3bb838c1bceea0f01430e9d7bc12324cf2b08c43ccb08ca2a98832cbfaf271fc9ba3fbd854e9695724cbc0ae2a1ca45a7d427b2f73bd2d43b4699fcbbed0107bf4dd73d43c504d7729abf4ba990aaa793812bf5c29c337eba56ff5fadf52438b26e6a9f5e826e44579695c9f247bd17b379d88b61a46a2db341b737d4948bdfc2eda8dfbde262220bdb551452355111ef3cd9f79fb450f2e6d90820af4aa61e8b1f6d2b01397900727d712eae9488e4fb2a8b250b74746e681c4c98b98b9454c3a475e2cdf1e1620fb948033c495164fcf798490b97a180034a182783cd98e6e8047f041c807440727e9cd233c34e726617a1747d4daeb809fb69e448f0373cb342045cda6f82460dacb1a850a5a66d2d832dd71b0bb0ecc6659bcee84a397c523a86408701a02372e5f521126b8b2213036c77776fb894d48ee0ec8bca8ae95532d75ed60cc9f472d1b61225218efb44cd1c660791d56f54631108aa44de6a99dc420697fe96b44634504f526dc83b67e6aabd958d193f16622bb673b8634a2579298c22a786f9724ff5f06d6aaaa6737b697619166236e8170f6013f91e1a5a4e9087ce71afbe72ac52258ac49f3ba9bba79dd8ca6a720d174eeffbe6667898cbdf1f35c02a83724a8575b8f221bb14eb3f18f13a8f27b5ab797f32e9edfb1b1d289707f5ff6572ef3b0e9f361b4ae68b41b1f7ef153d6812e9472cabe284ac4a631a803f4bbf7263314fddcd2f67b0fb98190726d7c2cd590593192af1f3c49fb3ef91ac941e5c34cc94e5e81061b3261291c1bd1a76cd7034ecefc3f18389a310cb2a50dada72c1319eb63ce6234eeedc93d3852e1b1a448c124a6b3d33ccc5baa2e4a6a12f480843af90a8cd74bed3c84657c33fc03bb2dfa815ba8a797714e04bb5be020b72a0ede7754a73b2d0341964305529a9a30cdbe96aadd507dd5840bb1879edb37263fb891607552f680810b09a9a56948d5b108c5e274bae3de18a4ba963b5a55b75ee2b2a11dd9c1d5401b594e77f4c1f690b6796688f6320bb7a2df2a3b8a242dd8d83d1604e4353284e6a3b2a4b57a73e1d5beb93f0785b029c0da9d6bd3a722aba3cdb662abfb90e9af6a2da8d77934a81ddd3809bdb42bfdd09c7e66da40053de11ee9dfa5a26ff1d93ddc5d038132bd2c274eedf0bc7016b1d947cbb26724ffa19ab056cfcd46430b610bf3f42993b4c15309669446767ed2b44b29a8272dff86da412ff95ffb6b293ac379202513a06d6e34ac5bbe64503bbacc44bab5a8809c4a498d2d516424900d0dece2fb65afc2324e037151c7fb45527cf2df650e003025834b4ef20b3e0f41d192e759e572f4b5f092ff41cf03375d026e83d72a9be71ca59fdf62fb62b226909fbeaa68282947b19b2c717df876cab7ddd267205b8b7f85e6a630c574c56b03487acc7388f662cd9e3c23473c1f23ca2dd0372262ea1e6356c1e4e9311bdaf5f1fa40a8e2c709937d2b3d32ec7d32ac905a22814c725f6ce22c6561012b4a9b647e180cc522fc0ef364c077f5dd7ed99e8a272f4afdc2685bc9b9e3c8c537c73517925219c73e3dd968c9b4da68b5e7b57784bbe2a5c878a5f714e1aabb8e2f6ed3cf3bd630b86e6daa87679c67a3c2519751e2bc5e18c2ba9bd479ed0474e83e982ffe46bd54ec13208aa21ef0dbe8f0edf725523043392c57c6b95e2d74a7ea7abd0203ec68a41be2b3af7c06328588f3a5c7e2a44803836a732dd8c59fd08dd90b13d33d1d705c95d892fd426f3d9eb4c72f4eda52f1b9a42e0290469260cbb9917f3d824f850802ea0572df8e564d9014879b6c62288b544b63b3c942ef51fe2931ecef1eca13304a4c1abce356260933ab357d68e1e987dc0b7791db500fe5160a2ae5b603e436b355947a685e3c4ca72b38578597ed997b1c4a8f622fbb7d63937fea7adc9b1bfc8cfb8a11a9d82f772191a56412f62805c6703d94af6ef8d9df106df055d4765a44776333660389f725c830879805345829133882b7673fa94854c3aef7478cf632e2581e44993c2725f99b7893cc5fbbe999d5628bb92f66dac9941cd067702490645f05db3681224677c3c81d0118f67fc11e3e02a2b34b74bdf95388afaf55aed6cd3e1c96d0c1603f36383654fccc2ccb21769d830b73d355f5fb76c66e3e3f558c32a4928a82d247404911455b77388e871959ba4c3a2366d9a74bd7abeee3e1de70a8b8a1f72dab746dc4566655fe2a011d5b3ba841d5eafee9aea1503e158c983ed630bad72006a0b472b4681c7bdcf847ac1142e16dee36fd46ca06259f5ca3e7b5e1ef672cd6acda05b25861479570fda42fa011ad5367d443859613e380a441dd9bc36727e3b5d4180b657abc89880da955c8967c00ec0a4d1588b1bf0126a0a0c173372820cc2beec8d7ec34036c6d5b618eb4544e9449bd09191553a6013cf54411f72c8d92464df3509dcd3221423f37ca035a4041fd9f019d83376d03a633b09f072888d6dd5b3e4de74568ecbe7d7c9bcfbecc8d450370c469a23be3b428b9c1672a79420467a628b28d83fa0cd35fefbc522a35b3ffcee7b75e6b02e9d4e9d2b46a8f9810070c7ea4b7c3b997536ede699db5accf8eb613fc9e2dc11e9cceff67274c9c74310da34872003ef2161071d3ed63a6b45c83488f2925664835e270c5910a83bb288bdac133ae4497d7e321157542c9b8b991d88cdc0e529c38288107209a41ffc5234f30891a405f374f191cd6cfb276838505e8546fae9612f2f9272c37db13f8da81c68be0f0dcca6c2b51a63f473266e5e78dbbdf0c81f7c17d572991cf99767954e02382980d69d25a0c75b08b6c594eb0180ae5538a6e7149e72ff1ba8536347da7162f4de8493d2a7b4496f0540a69f0fc1b9473ddbc341da72634cc6078c94897353c8935d59565cb68d1a1c4cff1bf67d0ac823a474e1c472f1e5ade642f1db31fe4c24ca790b7cdf37b7aabe33e2a0b07036ec3c6236c3725daaf11c87962b5b11d6c4ac0170b32cdb7415f5ef3e6914ac5a1d5a4447296d67d35a8d48a028034f37830e3ad0e71dbd4a462659f4dd5c689de17e1e8c563265e0dd2ce1886e03341cd35f608385af6289d1bc9e4492713f3f3e96974bbe72be4bf7c64e94e394c8bad0e2cd9cb53d96b79d0ba9e8f77af92de7c6747ada72610216aeb93f4a1acad56d0c03dc1df901af59ec735b8aa207500e3576575a7206cb03549459f99480adca2606599c535562bd9876ff40cca7e62f515a688b72d98e060ccf1447ebdc7721b4879dd03b779117941e22b0c0fe08643cefd92b721c382c19c7e5c46daea033d68f9948c9255cbc5dd388ddbf2de95edaf92a6772bcfd855b114b3cd994ec9c204e8445704d55942452f8c311eabfdcf60b2ee972f217602f372efb5933820d89ed1a8179808f244941251542e8270484f4db127274b9db3875ec5808ccb550bfaf9e11d09fca172501b4011bee152d35cda1da725a9c84c7a93521eb56e71d4d1fac46bbb443b04495c022a8a0eab791d8007b0260144d7ec939104e0bda1d132d444f83dc12fac3d0f25ec358cf781b1232a272134ca9c9992124866a5131bef2bffbb54af896055ecc15f2b71ce30cb09862724a4787cdc387e63eb641d136879327e9c122c8376af52b29b3d48335aa1daa72b310191fb6ca3549f0a1213e33d78da8062504eea79947515c559f9880e2b930fa7e16ba1593eb3b54722cb60de0554ad4d7c616cfa38f67b581a1d575102b72bb022a6a14ff84526a8d5572040b99a7ef77e3b54e45354e1bb4196d5ff25272c907d98e88e3484cbac8a4f19d0c49242d00d1b4666f5837a35831c2e0b0d172eca42b4beffc893760555be749f10ebd17dc6365f9c447457780807f2bc0d117b3796331717b83dc84b89a5690deec7314c0abcd85ecd89c9f751c73f7036d5e516c808c5c2e3505878febd14fafb5279fc6a21641c244dd2c4ec0f9c5646372929f80bf219d7abcb6380a653032f0d4f5c64ef0fde0e42252cb7c3e0862817291e8d5f303f04bdb704764d57b3a24ecd185508ab4ef9808aaefc048f323627213d8f1a281ecf0e45530588b6781dbc8871d0a157b1ddb1e6fe3eacb63e22372ddb1087b3325c450743430b344078529e91103828f46eec5648823de627c5072350245b1f56bef542d1349fa583af39678873ea7e9b39d1296b5685b5dce5472b3713e25dfa213c46de58b61e7b4f8f1e3fcf135faf36dbd0a92517751b0f70a46d429d733ea0402e8d25b37cc54015a3811a4bf4f6fa5807ca0d2ed1b018972d80ff455a83e9558f1d36aaa2db44ba318cf6064210f772cd87bcbc90b04407265a5da2939af704ffbebfda974c768e29bee3229c18625a3a7e279edf70c764a69097d47ca5af91ef9c132d92fd3b6a17b764a8f36168c6399c7b995089fa649dc2b83e4e612b30bd1a67e9c2e0ccb0f69d2ba2a8d10f37372786ab8b84942727a328aabafc40424fb0f8108891dc7da83675782a344b232b136fcbfc1283e58fe961a59c2dac10aec7f253b3405a9add3b8563d845e0266a4168a4a5c2c5d728af2ebc8cb790c1ec174c2054154a477a24d8fa84348ed69d78d24bc5a96a0720da2916c3367c65d8adc22b05db0a4887f32f35585e9edce47e7f1b740479672e5ced2f8c2d7b389728e7f857212757d47462a1dc392be613d3b8ace70c669629dadf088b22cf839b6ba6896e8e75dc9ee28a08022e718cfb567eec9773ef67266968eaee453b80d8f51ff35fa2f7507f5018feab880abcde11f056910adb836d6efd250b0779e16c945c852beea86a41ebd005fe143900c9ee3419df44651483ec5fabba17cf8ad55291bf0b29cc815d9cd2caa563e8892141e75920a6c6e72404025b28742f7653a433143d9c20c4ab5544a99023bb3960689a69b09502d47cfd895f02fb9d9d637e442bd72411ed1a845506c6e2095ddf10f1788f5807b6c645af09be04e55f824b1bb9c795ba59cbda9c0d613f57e77158f3de0bedf5f7243e98450de87cf72471a05a520f8f98d257899118d274fcc15a061416c882b2ce211135f7fb33e2e2169aec8d57021de174a00d3ab0a0c09f1a7780c3527ec669499e45ae2c508fb0a6218f9f387ddbc7c1df5580e3e631224628a5db07ce3708150ee9060dbb8448a4100fa9c5864445a461cb0086393d8fe2b2d683fd9a772002da3336e1bac74c0aa6a62eecb43d1083d897667a0249b8e43d1a02273307212dc75c5d6d9bb416418f6f53ced26328b3e75f56af56d0069d161f70108317236ff8001803fd74d17b0ca9e5fdeadfc3bfed7122c4141f4c34bb8485404097277a57c1f5718274515cb806b881590b9339d355cfc93171f07cd73a87ac4c905cdd7c6d96154a150f2b71b4f65339b0f8e85165550631d692a3e1dcf22e7bb72e82d0ddddc0f9d0c43ca072791d180b82edfe6087765f6483690821cefa29d1947a0711960c5ff944e274a596f068ce672f8288e1aa9cdc338b89c6737741270906d9412a373b1b0dfabdb9c623dc7094e5f1bd7e201e040b3b3a61ba5443f428ac62bf08a74404701fe96c4aab7a79ffed91fd7f9ba70be020e2c8c4435ee31ee17c6dacf54ea5c30bf1103a18888743830f1c02a57e175db7c4512f0e7bd72fb853a09c17da65a4879be1a208c7809e5d4c1ab49b074986942eefec5aa9c7246c0d0c94884f5cdb7961c3dfdddf07f0fe4a3bf3d876ec83b87bed1130cc872a012d4ab020b5db10934c7fd18903b4394aac924ce90fa2a74ae272109119d2f9aa8d77095cd9d94a4b9f7d58081755fd846b4549304d32546db54848841cd40dafe9bf2eb1570b396d19a3f729f530489232d50cb84fb84cee50b301659c272c6b4aac65d1ae7106de36a984f5eb510fc1ce2e5f47a94046b148ec1231a3672bbb665e058f2f6217496673fcb2466ccd399b39029614278bf0ce841f38c9e7248d843596ddd59139568d69ad114841dfe71a9a6246c4baf8492071d1329b01049ad74d07cca9f1b0111ad8607239109510d63f65e51275f5b10f841ba3d7072cc31f48db4b863fb90a53fc957fbef0b755a32b8c559815e1ffa65866ba1a972b043e41a7c2c08df86a080aca499819661d83b8ffd18bd550e4209b3335aa6720366f9c1d28a7dc2116ef49ae4eb408ecd7088e408599354a17616991af02472bfd9d8960d88005eaa743bfd13189e3e9ae71458152b58ed8916ce328afcd024f87b8dd85415341f988614ea12ef42807c539d17efa4ae9787280249cee81672d7060232e221234afdce46b85751dad9c2948b9a26bba47967f31fe4fdec58721362354102569ae688d246dc486e65521cf1fc1c2464ba5722ed6d4c34a1942ced9647d28f74f8aa54126365b4ee7803fe65f29a8cdc1e3729389a1f83921f72da2097be1976cf0ac1b11fab1b563b83d8b325a09a5f45221d9b9d3b4e062472d5072136a333e3b89152b6f80f9c5473a245af07f46ab5907f57160fad6bb12bd951e96f443e8175c2d9dc1d2e75e8c6638c762f87a9fe1b730040d77d31286e978448d1ce6b2dca1c5fd92d1773793f5bee6adc6cab97a071decd9771ecad35796aa4b862e7b799a4fc672a705336cfe3686638b3139a988ef1d5fdbe703a4bfcf53bbd6ff06a83af68305b77720e7c352514ded48a953e6dde7e5e4294a863bdeae116e4ed6136a2dc2a2073e7538a52cf8782b83b66fe7ed78ec5f09b2372355c867a4cb77cce89872d966ae28a2cee45504871e7b51fc3a1e9392f0ac37215c0c2c51732e8fe6c97ba98d39f45eaac34a830ce21cedb9ae44fc585de6372d7523b29659eff266b51d76934bc18532db99d9a6eaabc81f4f2028a699de1723e6325571ddfadd7bbd2f401c3fcff5ce0c130895cf169f48aad84010ec4572fb156bee47e329c03aa49253d1de0da5cf9309d216d336f493c5c61528831d15d92513c78c7f39117691cfb512f88ec3527d32b457a7523a9b749dc8024a89f2cc9057991338ff2f509bb3140b2a4aa8107af50037caff4d1d798f8da5597660f144950e92a3fdaa5a60adb8324b29ec9054ea1aab5c4be392ac62f1def067e728382a1afa50fe40c3681d3f15c5cb83c88be435bb414ed2587dcac1869f5c9720199e7c9f8f8759789ee9b26c7f09e76fb0bc94adffba2cc4edc10bfbb24e3606b7474aa82824652935da3554942572f05848016d8fdea23081adac2ec1bd02f8c608f01b6cbb76d0a6b22840cc5029af22f297e4eb1486d4704746b607b7023e9ed3bbd990701e42140e192fb93c948f44b23b23baaa5884eed5a9c02abc172cdd9c890c2164779bc6b257ca84764dad5e433d6e2061afc1c298fc26e525872979ed52987f18214237ea07462c2bf114bf3dbafc88e5dce1918f6925c9ee308feb463cbc595674c0772d91c4eda2f55669614a748769c50f71f1b538f036234d3995806aa5af208c489d76ea93f303152d7e2f78c79879759556ab6c1a71f4537eadbe2edf88a93291e0430f3b37718ca3ec3bc45bb01ae94af07a601fdb66f6cb4d3c9fdb5ed7709e8802dda461513b6ed5db06ccef216450e24ecf800772a00421d5876d87de99b7d8a9aa182d75f29f010bd5340248575be87fde080f8722e6cdd425330e9810fa1371a46a5d9c284dadcef8aaa50f5d3a916b4088e28721c0cd10152882ca3ee228f998d6908c30a0278cc257387c6aa3a3c42e2b69172fa962b9e1cd432b193bf9bb507eef4bfbe1a3884fb9dda00bc01be7a954c7b42540e032c6a0c0bef5477ded9e307960ec9676bc887e91ba273562669350b6d720db8ef2b4893c2d33fb16aa54cb0213d14781aa6227d369a7e6e30f8fdc75d72152fc6bfced7904ea10ed204b6b7f78f5e3f1777e63d9380b3858fb0d92bdd31cba89d4a05aa559ee16794e8ed89541a2eca6e145bb8451903b1a6009b2e34189ae79ad7e1ed42a6c04db2301ea338f77b7e7d82b4244a8f25e1537d4af0434ad10e0f1b5b3cd23ee5664c1a824432aefd846ad6862b5e5b2a422b6d9375a872830ce09a61d39aa35aacf174b82e2fcc62175e223e91aacc14bdf72393257072e50fdb73ae7c8af2b86580f9f163c00e2da9fe6e7f0047ad59cbcf596b57d857835f60f6b14e53388e146dc5db6854ff04b0252d08e0e22ba93b09413376d344f203ad5b4b7d131d213f374b89ac3d2644e18f47989ddda850490deb9455c9110702dd9e41c67b7ec5d45f095915ee8f32bb33f711d25f3d450675426f4b2910d3a44dff531d1f71e4be04afec5472543d87d9a885067809b7988b47fe8e8d72e3492c16a7c6976eb4078e18883d15b2189adc1be6db42854f0050ca03f74f4a8462b630ff57230faf3f046ab2bea0fc8f5e9e028ad64c77f84f8971a039d7123765d8fce341ee59d88d512467052b85f8c39ed7b1fe7c0347fe927285a2c572b61457407b7c09e54e8798120e86184a03b3bdc00986659b458b99dbd0dda7721a76a539f3b08a60313e6d8108d05d902ed14a137e9de9dbdf0a2753ef34b0229f411d1e8e9d8b0a05fc76a5c24b63fb4dc09a9278616fd3bdcc57338bd81b7263aab626b4cfdd141a53f89776cb0ca95b82b7e3c7fa32c26687248f17d3d229426fb353eb98f85a5f055eedc6c9669f337fb319881227b1f8caf8a8742e7272b6cc9bb7abc718144b5cfb22217e5a32fb4b9e9bc08916102626ed40293d074f2537edeb82f30108ffd74ae837df5b0269733712f31528d64e5a1e4473109872b0ba605c7abf996b8bd07fba1e71b63d9c73822b4c0e3c9cc2ec844e66ba3d0c5fbdc7a4e73650a5414222b3d0ef085265e42a716ba4387ed7e9d3b885fc837208f9293504b770ad53518f3ef7a50cf43e10564a8b7afde496f9b60024f15d725e562baa26750ff47ec40c0957ebc56d12a6c49d00c0e851c959d04c8a360e041999d602352602a9960d7c8715c7df7edb1ae5435f6ff16da84f041bc4a1037213b6ac745327f94002cf93d627a90749cec9fc0a85cad40ac8177aa4ae87f87239cd41a94bc9bde19ad9dbb59b81b01492254fd62df81ab294b52db09b3fed7243743986a58eaed9ed1c35fa90c07d88940c2480924593b20b95789cce36d23ee3594ecd34704faf55b49aeb6c3fd0d81f462b78def91f844ec4a5f38d461a726fbb67e00265d7068b064bbb618c06bf7065c2892507f83c0e0bd7595968a15d5c78ceb15d34569d5ebccbc90fe2d2997a6ce13e4b00938d05afcc532e8b3c19fec9472d6a365f714e9e9b85b1f80023ffab26c813477ab44a96839e07bdbd722b94437fad7df56af8981981a6c6e0123b09807af46ec65a5c9cc48015aa4272d0ab62f557583ed90e200576618b25b39020eac9a4d8ac94ef7fd5168c976408ee7903e24564d7942a9db54e4879a16a31c314aefb0ee7fbe1542c572e3ac1722a70e6300b30c9b705939368a38515fa1979aae0cb7b4d53e1bd0db4c47b28722cb0c87897ea113071d6b58b73b42942781193b029fd51990b88225393c1bf2177607443cea50026c6e15ac2d52021215d2f3e140d37fdb87dcc5876d6b69072cf757285e44a1f58dce8fa07efb056f3b9e966260f9351fa09d08bb7bfdba3470152dcb17ca66f78985b65a9d37340df29e5cc19756f437ff84f5f3134f0ac72b9b8f6243396de73cfee6b6f486de9f54a88957c646eb6c869c17d425310ac65b59ffd83936747b0315659f24d501a221e4353f89cf3ff3a34f17c90c16c807279b9b4edf57ec8d33b2c2a4c3eaf1e383f37769877fe3a42056cc9ff6a525b352615f79d61e3aa5c53db82bbcfad2ed334f0a5c35315c91517c4f8dd407d005c26d752d7368ee4e0e414a5cde1642c7a260275109b58a8d21fe65e4980802355f2877d92251673a0d4ece332aac1ccea335ae79513a1e66788b0c612a1ac594207812a30c6b82abf9223ef61998cbfcbd13e68b3550a1c77cbea4a23f1e9a34f4322ec1098ceba9d6af9bde296749476f0b69169988a240777bbc858d8a9f172e64b5d4e1eabb534089505dfd12943b9724417d37808b1530e72239360598f3a4aa193ce8298aa7264600cccb40c9aa22aeaefb84713fe572364a4482ea3c4269bcef761c09437513fe2106fd13ac76053f1893b38981d9b0c89496396f9c54dfe2b46ae21ec9777f314db42419af850ed0c84035746ed0aa6f47394cf496172732478f9e39e7a945ed1c6e0c274215c53e5fb02f97a51c46c090e66f032fc72be2d7f333b5627cf34c0c260d03040e0e096b3d60374ee65ff493fd518404328f6e8b1590f4b66420fbac860622ac75e84025fa6bb0d5a12c9359c6427a3243ee0e5ea7aa5fb219ff9b91644c76c458dbc06b36c728dd104cdefed6b321ef6728ee27af745c9ebdff1eda0f438169d6146d7c8a93a30c3e58740cc2fbfa19e721c9f0b790cc8dd3149354003ab05ca4ada5c23656e4528e1cb5ed7f437a1c247b2128474f1047476ec67877e878a9258705bca3297fb65e1c5a6e3c7bdb8790ca72741a63c4c11ed9b09ac0527049ae3f531ade04123bf18a5f36ab36a8317726067dbbd38dc2ddc6040982901a22b16b0b9e7898334d9cbdf7ea2afca67da09c26b7405f2e2120a4babf099898e00d5b046818d16c92d278fee9f73d878d372592461d1314366cd3fd19496a08d02b979361f17a2ffb194c4f0462447173d72c3895bab257af15c22a0365bfc22ed9e700b8abe3e64f42ede05ac6a4549ae2cb9cc7f344c3a647aa6c4939ee77df9d06cca77094d008ef9b20b9b4d9bd68771cfc3426d668851f68fc437ad67f0c9bef5e276364111b2e83ea3b41411a240246d65234b755936751d1d05dfded4ed1d51b059f01cf93d51617dab05f0a5c472a204e66a5d066b4cebc1ed839f166a76c77f8a3ea7261c9946aec6138acf98620d0f73d7d02f15fafd482f46e04a619c29e25c08e518760eaee730439c03950cfe4fb2f6062eb6d038f8ed3f0835a0c08127bf3e5b665ee9dad177446db4c372551d91e7e700d2ec71f8f332eb5e63b6d4e95f38f2d3a325de306e1042015a43b495185fcb89ee525613e8f8689931b8533252f527895aaa53738c1d9db21272afb6d47841a72a16843db0483d63df60c8d01186a923ba08b5629bd4f29c70726f1c27566e67e88353f24f493fd887a812dbc1fa88b8745682bdae2d16d1d6388ba2aea7316868b377aae4226e38e5062aa585d8adf6b174bc608c8082964b7223f456b46f42c3e81311a562f66471d7650e03f1f7f233da455196f1adcb48094e11a73f7f934f912ac661ef97d176c6028d364e745dd04189228e9e75457e37819adac726cd900d68849234505ec7c0261774d3d205bd9656aa9a453a495d227bb86927eb561aaa9338b8b1e42361f15999bd104e29d05b08ca9e758a39657248c4ba5b5f8e9370fefdf90d16c1793e0e2f9d18efc7c81df4c671619510b5722b718f5b2f01706b6e17ede602ad3257d18d0113bdd51bed2d2b71474709b67223417738d265dfd0e78f81b585b4ddbf44d7a64b48245c54c0ff057a5dba592a71d8ec95fcaf0e9d26f8a073ae71622c20ecbcfe266e8b793550bdabecfa5c726b58ad156dd46ad838ad38b13f4f052abe24b9af1ad1f9b5593a653a83d3b172bbb95c20d1f28a56841c45e14e54208fbf01ae3e9c238a17011997754d45ad19acaa82ce9d73eae9b9ff7154b685f93e8071897c5ec17590489caafb1487e372875e40f92b0fbc7dc5edabb1446abdb0e0ffd743f641b13046281e588ae37341cb91f07217196c3cd000bb7cea6bf9c8f3ede3eefcceb884ab029581b16a1072fd698a84fb5a82c87359b18aab97b859f2f2af69c2882ba5169c4200c0fe77726c92b428313048f4fd03d085c19d9615542d90037c408efb121ba3f6526adf1e2025a156877bc0f6939c88f5865845d38e00366b31c03851ed8f5363196be17295a46d22b69d5c22b4047d3ebcfbf34bac9a4db5804ca2a9d6c042209c0c8172350e280068c7a56aca37bdfec18a38ce9cc8809b9fdcf7f0214785dc3abf581e28554d6827b7bd5c61d42c4b67c521b883309812d29572d735f75fb89678f172b6b4b624a1de4300c775cf1d82722ba9bbb24eec315e75ec46a28b9af77b04450ee93ecad68dd7f9ff18b582fc6d2bdec66df8299c4f0ac2aac49c390e9cd700177f9e59d3d302a2bb19ba51619d7d5a7d7574c2727612138d040e49c2971372327881340411d055972110da0f02456deb44422e3c5b04712189e22261a55472c0985390d00fed23a3f1066aa24278755ef547dc7689dae3719d07b32c86cb366a145c912031016c199ce210ec68e9258120f1770fbb9ce89f5fc591b584a06fe4fb2b0626b0a8169dbaac8cfd673b5c4386984f35ac4e72a516ad99758a5a7240dc1004b68289b349ef900175aa88f6bc513d0ec43c8c883a7bb027626d5c535ff82acd63d2a6d3b003c29817de6ef1ec854b07f35a76621394aa0fbbc26072c202d8372d50114d20878b1e15c96c06f7f249f0a5c7884d1c2afd4766afc2720e46c057cb809d167a4ce0439a6ca555d3865c3e662d7ae09950fd0c74243b3b357bd407a4da9bda4b229f903b5033824e1c6294bf1c5b760bb1271fba5a5d7246be985ec80b23a80e84894d31d5c10999ce11002d4ca030b495d5b90369d772f19cd185a6b11cb52e9f85586a74a4f44463c6fadfce10f4f780a718529df60aa3496123e5ce215f673095659112fd4fcdfe78c5fd6ad9192c3619ba108bfb7228e51668af7e7b5527de375322d4261e18e6bdca1e326cff31c1a20cc3212e2836e74399c7d95f51488c0fd06cf840e8583374ac4a640ca7d1e2b7c4cad87972406bb9fa96263eed40bdc36ea4b0b09f37036906ab9826dcd2a9360efebb2d72977f0ab64c282fc52aa13e14e5ba445e89885ab989333b9e507b94e776982c72ddd338abea066c94536a27a7cb05aea480137364a7962c59d01e01c27fc2f22bfad6f871b68be84c357475ee48504f96e5941e014477e9d1db34b7f62fa3dc6dbc9b8108dff74e929ea8c1816886fe1d63c3cf8fcf460792eb0286bc65c4e172d70074ef1c52c93e12f9f9017871b13bcaeea537d672f86ecd614a7cafc3f172bd77ffa7f3fad71e0d5f1f80d71ae522f5a2ee5bf490486708960327c28516729b81e33c80673987aee096da785c5a44fd43f213e285f4262c726f77ca2b1367eb0c3fce5c620e6aeb100b54aa1e6be492ce38eadb7048bed6a0d4443c9fcf7294469a6e16eed0d9a22a8bcf29e0d60e6f84d973721e28bbd705288c1459ae08145db85ec4caa00d591c0e5e5c6cb7304cfb6133522a3638688172f4561afa38dffef0d1ec8a818805a7e1ef8e4c6122c0e9d691dbb02bdf1f9a04d9c99e70389b5c3b092618a53dd714d8bd32a4edbec8dd07b2477266e8d1a9dfd38be92d72b3054ecf0577a48536f26f09da7053c208d7483d744d1d07797efa759d28f9724fd628d6b60f5a69b39c510ca5a4215d6813cea2d66bbfae58691500121e5451e89f6cb353eccfd3e0400997638718ca57474f635f18ae12b37b5dfb3872c07205dba0997f2841e55042a89cf6bd08d4a0e31ff70c7f288b73163b5a1b33730cb4916475ef0e518a6b24513fcc4b6327f8d9a76f8fc50b70e112220a8fcbfa721a36ed69884e8f1546761879624f7be182cda3beead3cdcb91c8d541ff1d2f721f3a91ea44c1e7b633f61404d3a9af1128a19fbb137ee201f2e5a15ba8e7166a3623d224b2c095ba1e95c336735da036b4b742eaaf21681e34385ef46b022c3df9f0836955889ded01c0c7f5393f13bb04558f58d5df8fe45afd45507e4d876d9923c1a6b7b1223cc55b118bd3b782f78743c7d36609016814a7ff7f80080051cdce553cde1f868dbeadfe209852b02a0f9299ce71bddd8a0ee0f1d9a9c450729195aa61f0f81ce0d45f725f45af8912ac16670ed308d351eadedb4d5c137d1b80f170169d608d31abb4b9393877d3ba59ce1ee1365213ff44b49fe70a5d04726abbcd177554dfe9db5c97222b391be6dbd94be54c7646b06b0b33e1925a0d5e1bed843d799d1218fffa5b3f851b852b9fde31bf1050783039c812578526a172d5d83302eab1b0c2dd02fb8c06e4f7aa621c74a8b66d3b87175db156b1d999723e62f19821db1338e24676648c935143a677eb2facb8ea6d626d3dac5ef798725699911e127e3cac5266201007d22df58a94b06e19892014f1395bb4bacad81d93372dcb7e90f3128fc04db0ba83d0f77c66e911f389526bd76063a71361223c822956e4b3add94fd6ae95ccd5096d242414ccfeebdad2a1e17ac4fc2716147210c2726abe4432f7e091052e4a5340f243412b527e828613ec1726c34a30e272174a0bf0d0b881be8a64d3527a68e8b8a452a4e0ac509ee998cba4ac5b5fc12a54d6d22e8d4e8b65784b7f35f2d9c5e37ec8ecdce6818a49281f27676b2bc27209079759e378f2a45f58c12affda070492a609daa162197a01f46c3f7ff6fe1d847f0714e5df032547174ad7503d3454dfddf595391fa2d2f1b7f00cf6fdb1080f66b53f0b37fcd57bc9c463f85c8471ae4ab8349ca4d2c29af4b137dde3b623c55f8ca7ba8794555494e4ee45accf072efa00ef825283864ddec39e10a87172dd5046ad68d6c7a1adf9e5077cbbe9d0762f524ab2b87ce42be2569d44c5bf2cb862fc67eee50654fd9951586a76784fd4055d4a425a2779d6e554db5d916843bbde41bc74059f5a2603d751177ce4315e1d67cf5141153ae802e8972387ed54e8c56df1ed04f097b25906aed587dae92e5a89b0fc2be914bfcdeb926d09a1729c6a12661f60692f7406b1727f363e1cf7953ec6cc293af64d37de55831b0e72a1a10dfd8c44dbc4f603c183d8429b884fbb2d0db0aea8abca5a2796240f1f35f71fea41f01d647694922cd3778a575f0663484b07693413cee5fb7142bc6d729db597849f34745dcde98ab77d4af6965c0a5b0dafccb49658bd4d7daf0cfa72eb557984d95acb5608c349b965f63d8e952670cc0b3ccc130966131a69f9391b70d523c3fa33552c93b61a38f65cc0a80f0cbaacfabd9a53893e73afe8b8ee30add828e98636bfb425ef8b7999eba73c79ab7ea93c6b2d90e01ad4489242286d142422af376af0aeb2f9cfb77b55d49729da5cea9578548b21cec5ef609647728863514cebfefb9b11213cd3328ca09387ef9228a1b3cb081327ee55d3e3b2724beefb6fc9e98374876ccff2683cd3073b0e4ddf32f07358db41ee4dc0f1e172b8025a7fd8bae368595c52c36f4d4516b784836f85e7d3f5785d095b1c7f5f107de55989349917e648653c9353ef396481309a891213643b27f7d1963a3ea644be9682fbc61c936591b68a1ff62ed0679e4ef3d32cbd0a30ddea384644587d72f2d0542eb47c1f811df0d2145c51e35a3aad4d7972488fea4cd5c20db8209e7295329493cce1e08a4565aeb78f414ef24fc708d4a3d4639d7888ce8157295772e0622d8783c46c46a771c48e0b1757d0ad8bf596fb6e15cbcf824eb03f61be14a87390a250ef4a52edfdddb29d11592f058a74ee33e6973acaa75c6761c88c727068fc483344d3c8dbaad5d1929f6af804893f9115392a7a5394ff935b8c486bb51a1e805bd6ec6d004bdad2fe9cf2e69f8f252d470698bde3198b83f1c031725faea8a97b947c6941c03666c11d0766571d8c7efe207668c37a1493ab87da72dab962ca35b8b6eafbb8a54335743c047e81b59567666731833015f37a9ea506eb76ffc2f4d2f946bc76b1d9112a5aec6c3d27960d5e3e9280f110a3c8664a72c96bd96dc96c8d9e06f1fd9304f70a7763c0876a9170e59469279c61cc8e517271c7f6b58748174b6006fb9f2508e65fbfbe22bcc777ff46540d603ea47779195fcd6ce1698406e2db271152a8580b3c0c85a3695267b8d37d585c8df658f94ce1538492e8daac797642d5212aa8376b6d659a8044d08117f9ef595b5072a672bc3b81f3116b207773d34b23c46177af8aad241752e2a14629d8dac214576372f9903c26b97a6184370f960dfb9f54f8e0b17f6d7932c8b39614d0e91f0f0221c6489c695f4b627228b8a1d449e73fc058b7440dc43632ae42670b7bcf1e7a5d12e19a12b8d3e2da8345b3d592ba25b55b7597ca3070dfeec993228ca2f2c4133b054798279da530efb5109b79bcb2261fba0078d93bb45ba0df8c5be9860035d8a4ec220b03e4af0a0c750b727970d2832787031d09c34a6b272756f71a7965f004761e022aa0d23672492de8dad642a3ed525838cd3141d972a1ff2bd2357262f645aa586f6a1409ee8f99a3eb8846746c7573a0ff493ab85c4c4d9601584bc3fb423e23fe294d270e5d8be7f924f48751f80871f6cc0cc1f778044a679800c2248f6b3c81d842dc3e2b7cc9bc12dc8db01d2d21974d3b4261370a3767cd723e3338a22a546aaffc9984e08ee108a5e388146bcf3e50f573ba4574d148fc7223d967f49125d21aad788a408030fe24fc8bd33234e7d2019469a7dd55fe9c72bd3c5260b841aef01655749725f19ed02bef5679a4f526d8bde9bc2655654e72a4176a10cdbd25ff71ccc7226e697ed573d6612a5850e2289a230581c644907248c1b87cdaf31cb8e2204995ff2df5d4cdb248f0511e947dab13c40856875772f5054568abc00495e1a5f12b69fa720a787e4df0b6f12f356ec1dfebccd88c72aa81c0f5089e7da68429c0413170300e8805d10e982e94a62ed18f33cd0677726d52c32d1071a1b6cd86c03b86ff07d1129ea1dda0c00e351da887ec7e1d63729e7c11051c94c3a207351664afe9349d4ac8be44f384f3fd6d1d9a51745be772420daafc43c0b881ba64fb126c24aae54cc886a64e645edda740e74202e85972ef2acdd40986e5c2727a53247aee750f6f41ccdc94159db2aa973b1d27c42a72344e470443be4e7d38ec454e7e52a621ca4630370c4501b317539904c56f4e72b7d3f352a01e5dd3f2cfd96d9e5bcab2ffe0cc74db0aa7dff09542cd2fee903c3a0647d9483c2589b63f77ec4acca04c9d3806f47d5f16da209ad64668f38c1ec5955d1274c76a74e444ed3e738a7f234c34e6a9a4b93c51529a5ffeeaff2842d9892f9c8b50b472c54515b319557dc5a3debb9d629fef9065cc960f48526a2668cfa41b5ab84a33b808e98f10c40d88a69bf6de1b136d909226b9124682bc72646a49a8dd1bb25729fb762b45c4e2a0426b65b6c7e55dc76f720aefffc43f497bd1050b327f40f41b3dce25750dd18934cfc5c189f49e63be2d093347a60272e630ce7fa11d63fddf314d2bb24a3b9e0bf217c94cb56f194f01dcb7da0ba6015d12c2a09ec0907ab9d6d57f55f6cee8a6cf7a5dd33c57d878ad817d41c2ad083690cef3c45a3a9616e21afd0d1e0ef3d2ae734b7f882e75030e9cd7194591331776a32f0c5769cafc385f62b65a7d7f220e47729d85a1c1f39237bb04ddc86277790d28187ddeac50611247910164aae8630221f86b70365e3ea1bf2501797268735c1b0d1c8034cf5a4a5408e3a7bb399e7c6c37c503d2980e61262d2f425b09978c2a652fb9dd3e8dc9a9e6fa1d631981ef84120ce4aa6aa1a11aa02f1861d882c890666f530176a35f9f4fede15d6f54d47ed40c5826ce05c037994b1272167cebda79c93333b171c0271f82e492a6e7bac6a5e7dcb7dff2887e6cb2fb4de564923d2fec5e1aca14016267423858b3b8ff355036edd6d83f18bb7ec4907280ddf6e318788620f0df29ee6356cc5548755dc5c111323bbe0d3a413b57e536e71c7ca869b49b82c1410e169861bdea035fc3a8fe85e44caf565210d04e453d01d5ca3e5807d38663fdead833362c98070e68058a0ee0bbb50fb1befa51b46b57a90224be42783504389b533af1a1e9214234266d8c8fccba90ae9d24c06c7279aaa6225907cbc53ae45347d3daff1fbeb5d797c38a70edd42542289f1c6a720ea075c3a12a4046d313d0eced61f90ca321fb0fa6007e29d8cbd3b72a582032499e0b33caf05190dc874ec8153a4d416d3d2d75027b1474d14f60f85e116b0b280970145ee14038e039dcf91dd6543588ec5e09d76533c81cc2d633f3cdea720329a4519515cbe319e2f6057203de7aac6a0bebd14d9a57b828dde0c05b0c728d98b140de313c47eed75dfb90eaf72f490c1345c03387a5aee03677400a3a5e4c9ec0878cb9807baf21ba26a4d7a99cc9c69c55f2d117c9395d7ce04c1f8c2254ff70270becf1f039b37e2710aa1680a2d25423c6f2d779249e4961bef58472c601c7db483a16291a08bef11ea3b7d3e107e6c545e808ec5f4d68a3373a3272bd199fbeae022bf1db702d27d555754aab0f5f1c4f86afc583ec819814021f7264992dbd6e5c79b3484219ecaa57315257ebf13425783f80898610307416ab5989e03bf86715083e7ef4416cb83daa5f9c6d1a6beed8c9d1e445d093f1d781611ac767f7d2e2cfa90fb0a6879e0b25d06aadbcbb21f03e2937bfff41160bd072e8cd02ebe75fd6e102b2e9f0db78ed751e3a71f32195f6526ec52e292a502272d8cff91fe9ca4d6a9354d4a89c1d08498e66d1a7ae8b02b975cddc0eb01a126b89e424d6eee42094d2c473381fa4777fad47241921f8e797f20d7059b5aec023f6a1dfc2bd7987fab9ac8fe6e4404a805c854bcde39ed346784fdff684be8c72ded66ea620200e54c3849694012c7cbb71af0ef3906399a113bf6ebd917c6b72639d491057fa48a76b7b8b92596ac4b1a207a82767b3650f59ebef463a378972b1c289275ab14f1d6e9f3dc2deaad4e5c52dc3ae6a76c0f097a638bec2e22b54d7e93bbc908eb6c0948614a7cadd151cae0df77171e51a054a758028c53bc272ea63b46be6c0cf2ef6870eef5c808d607e0e932cf47f83d212c276ec342854132b77ac7622a2200aafd7795bd3f003dcf2e70926af7ec1110960443a4297fa72c5facb640303f0b8716100a864d2b0f85cb299bed0471e8a8ce6b9b1385a2d47b39c1a8498c98446c4e4b80228dbc628d36c4e9f6c8cdbff3b2bb8151fb6d5721ebc672e3612e06a0304f6d77afde13efbb1d9002eea3f28543290470f0a3a72a917f4ddd0ab3cf7bb28a74cdd721e25aee26c64ef1c5dceb8c4cb9e63a28e72fccbf036c0767e5c346fb6a47c9b35d898e563aadb7b51c9f72a793d47bbdd0148481db2ad1d2e10f33070d32897e32d05e02ec2cec6a887f40264e2c13e5172c74f9db6845c5df216b1934c51f540ea0461e664a0c563ec6c56bffe663f8672ce47ba2fbeb2c006cdcd462310c4f9d406d0479b91e05fd2dc5bd0485e1f5c10964f1d001a016f646b544c03c25f55c9bd2fb07378d5996deef8e8c46d16cd72308e409327376042bc7165204e6bd154217e9daae1167531bda0f04522971371b8b768258022ab67c99a2c36134f1075d1d3dd463354432c59f05f80bd9cc2101ccdf5cf92a7aaa595d1e04c341967bc17b3d0f180f223945c6ac078d6b4151b884c25b05c1a0acd5f25abb41827115641cde9b1572541d57601ccdbaba05c72c76a70a7bfafee6dba5dca5a41c4c2eafff548e8bcd4285bc74c479de1654e72037bb8d92e9859632ef8df55129abf33fa198a6681466e8ed0c9572e2dbb550c9c4f7befe7bb7760b05db7c608519441a3d0e73166ce9d82776a05db7a710759b579d36879dd0fc9623905d0964c275d80cab6c5eef1bdaa4d5faa0b7ad278729a6c90c55287917f9cbb24aec25b036d8a3a2b997b7efbd079f9eb15fab7a372f54ee47f3e171c0607aecf1e6a0b410c1e199aa70ff4b8a467c5bfa5a4be41486f4390ea2a08ec6606c9f213dbde61b30623e88d5fab6ca0615a08314015b872486806a0715477250c6fb411266c54e36b76e32d9914222d5093b6b6dd69e21e23037bffd314b4444e137f7ed5f2f141d5bc0887657b78d7a4514bfdc1e195726ba38ece1e6fd97c277cb0839363be43bbff16fd6ea42d57dc6e2c11ea53cd72f1490b65240955da2784fbf7f8aad6a982ef67c00771246431fcd40501b60172474a1540eff1f6bf348401ca4052255c6a07f2a6a9f344ea5aa9bd7b94cf8f729a2e7d8a8e3f13be0ac733cd487886161e50d98da404b642071bb75966ef2a7211085e09e29ad9f8e1fc9074da68ac8036a9221b66743dbb4c31462a49876372bfaf0795e8196aff00aaec3b1819c38b5c9cb242e71b8bbfaaf3bda2de41717223350785bf6cba884b367e4b01e4a6961d7ae48a6ada04cb240480e957216319b5fabfb10763c220a9ed49928c0ec6884398c164c82d54242aa207f52a7fca726bee2021964f74439ed7dd745e5619083219757496e4073957d877968cafff720a3739570e2ca17ed62ca17fa024831ea7c315d4c69e332891eb20f64cd30672a0097ed118b1182594fc819a632366c0485d71dde2b8db7a8cdadc2eef76c829d7cada301c58de4dc0be4aa26c23f081213b16e991ca15d931e6fb394d396343ccc483a2dfc96da419ece6b0e38a379f749abb29b484fc833b9c4a1f01dd5972d88d6aa5eb619d72aa3cb32063a1f67a2ca95e470192d92ed9d24fd04c9ed0677bb0ecd9cbce0855fb7f4d349220fea3dd07aa648bb559afe1588aa042ed5a725e68ad344700b795c526f914967f3147a4d87e6fe97fdcb2f65ffa8bcfc67c7235a8c3a7f904abe5c2cda0c29506758ed9392c5ce9475d81e793a4b949dd0f02aea321700d1ebc32a9436f6d9a4e23ac0556c624b9f70c2dea71b892d30112729f2c100f51e01afb078036fcd165b218253a4cbbb786e30bcdc2de2628655272ebe689e4a526d0e7182ceb7feb3817a3ac884058127f040262bfd1fc7966867260273b655d0a6b15e3431f1aac813168c33b42f2508394650750bf38da98f17277718389fb188312ca9f736b950bb9433b6a3cb17a241a8b2e18e89cad4823720bae5dda7d596930632e01c6d7e50bf71bac1c4237c9f9e93fd7e252563ab200624bc032666e1c367a3406a50932182d3ccbd4f715156608ba44770b92fb086880a0ad1e4b9e1bfae0b0448b0558c3b6846493cb53023abefdd25cc45ab7f7720d8cfd58b21f0fba80c245dafb2427565ebc9561dfc180ca8537b7897a5b1b0bdf76316ef81af0f8931e03886a65ef65624c965ecd646445ee79c836b85a8672cd552d0515f3f10b55b6eb18429a58792c3bdc1538dccfc5dc673cdf7f31cf7266b98e9e1d36ee80105ddbd8144119ce544ca0423581dea8c9d5b40d66554f37af66818c112a6ce4332061ea0d1e68b4d5d4b4e4a6668702ae65210ba97f1a35fc965f89a8e95955dc8c03495b4da5025fd6814d7b2d0d9618ca69c8ed54c72dbdbd5b7dc856aa88ae75d7d623318f84cd741eae86093d9bf14bf0213f5ae56b8b7c3e84559a4a27380c6577e5a00549bf5f332f9e6f7e82eec5d88686594972c5c41f8226ebad6887cb8ee02e7effbb33170230f167a8f45ae2f5ea4a754372aa0e5d05b6b38df2129e798acc7697978315f2b328187b89c8d9c249930903148b778930fa56889266f84e985384feee57d4022cd7f4ac3e7ddfb60d1cd4986dbb24d13e102bf7404acc5555b06923a9f9484e258a1267d2a36115ae361f192f52e54611deadd25bc3b3d607f1f88f7f32255a37357695d32ed144cd758c374ecb30547088ee2a0b9109dc2a9eb6791fc92f896bd949fd3bba3d6c31f5ec82299c40ce9c02e35fdb3a38663168d2704ec0cc53b3dab352ead8792c3cf423c15d847388c8c12f34a28b9fc9eabdc091c9f190e69444b448de56e7fa34a77dca6ad285e202d764ec9d15e6d05c5fb31282f84c864dcdcd333abfc2d70bafd2b2370d9cd860d666bc5382d07fb06a97f444f5302ac919d3d6d8a9d37b028952f5128cf0a70da8282695ef6c1abad41a04dd3132a7d5ed6bedc14e6899d207b493505a28e497ca22d81d6f778b42fe4ab9e876f6dcaca8e0aa9c6aad18c86137816fcfdc5c26181e2e5099c0e1e11f2c78a632c87b65eb197ae8507a6b6a84649a7272ab8be2ce72689a6ce08ce47016c46e875fecbd7e1e3f2802db452bd9fe387224c5bc26d92489e509d0ba72e4c539ae7c7b877182713fbaf4ca06e2527d8514e4d61492fd6cb8c03e2c25c710485e72ee8240d2a4e3e99cb0ee291d5a72da72709397dde94e4b20656228b6fc693f4c40c2296efcb10af06c043c9b814c6615d56a8ca05795cd443f25bc3ff192b6cbfc080004729dfb9554579e98ebe7230f0690d374d1a105a9a693babfb43a7078de1bfe62e6568e396821fbcfaddf3f1050ecb4464e6262eb6c81a697ddf2687ade7f8ee919ebedae5234a91c6d1e6f72525d2a7145435ef2ef9872bf6af6b7b5f8dcdf3c608fc180bd4810f0ece004728cfd4c6df714a0259b5817b4649db1ba469184ca74361874e1dd7a54d050b472ea27197f3a8e260e2386963ab044d85ee38f4f2d96569a2efbac255deed5aa72591572b9aa6dc8ad44a3f8fb514aa6361eec32e592b90c413418183cf740445efd5b29471fbedceb2633869655f5051a9ee3548d9a6999583dafa2a08bf68b4172c83d30d00493c21d96e76a01217162d422c4871609986c269c88e532be510e569b7005af5eb1bc44320d88527891849d2ba6e5899462394b7573d98c919b0a6884e6dfb61d8c3b6db441c28a09bd754604568877aed0ca4ed10ff0f96160725d5d47b1513fa36f2c4511e51b2ce6b302a6c3f0af72b010446c681937b6ea5042230439f1ca8b169443bcb41b946e27c5c688b00f89cc715de4e675b76f7372b9e915e638e54d47bb77defcf34e7e2c91d25667f891f7858b5ab535776ac720cb4e59a73740aa4cfa301dce870c8b30e64e10b8022a9d6124902336c9147772209fb182f562da9e80f69ff7e0f4b1e9c16203286ac7eb7708918e2d906e7972e461d4df3b5781a221f32447d0ca0274ce52195c1a70cf8750924a8da5655c3e9fd6facbc1fbfb1c2bbe3d4d25c21cd1c5725fe4484ce9cf096f638ec6bd7e7233bea1cb4916c5efe1fa29b1aa9c48494e9d6d29448f690387d073eb316e4d5e54a9d7b61087c12fd4865a7f21ffe2dc59ac72cb46bcddcf5dcc7c85f0802072170464d74952f2280156b4bb63bc15159675d9edec43a983fd5ed347b076aa7200c8961ffae83846db341bba49c78f84c2200846db82d9f8ddf9f3f64b056f32146f59dfb1271ec06f72233c533661a33a3bec7df451da33950534805e9d36729a30b4c527e2739c927721238496e0c74b5d7d9deb2a5b4c5a83932097e01052b55dd9149609d719eb19c4c6969c04c3ffcafa40e7aa6af7b2438ea018782c7279e8703ca499f5356e91cd76371a16ae3619939c9bc545dc42d48b6fb4c5740767867d26af1abac06e4965706fac39c8ea817eedf080020bb56d007ecfdda272ee1b65eaede00966d1466094a1f3707711962f6a79242fdfb3cdb260cafcfe42e9176f0dece2c04be075870f8a5b59705de8d14ebf6fefaf25783e1c82963034aa562d775ecca67dc83425180dedd01fba78cc60507f9b8c237e945678ca805653d04a0a379ecc9c83800e3dacae2572377947b693d5013ad6c401bebbfa6872a5e90ae40f0af87b798f3ccca68276b28a7185da31e16a1e3547ab5aa91a5572e315a1a93791e6776a82e36fd80c524fc6d916d7036136c0ac9808ddcd367c274ffa0ee7f35f0e52c4bdacb042878ec024748b94a37ee296af5f8608120b0572a7b31b260e347c921f8766251b28a6fc71636a7154b01725827658d95b43b0111ee1fac0754e79838f0e0d68e85eb7e695ead3ceabfd047718356d7e0934257284525423f5a792c456382acf5dd076600bd39655512ca93f506d5f6edfc86c726cda2a91280ad77b3618860a68bb811bb690ce62898694544e3f3dbefbaf2671e0a28fc980ee6093d75f86247eff7aece20b02f38dba1d552ebb5a99f569376e4207fba181e2a652aac0139df567dc3f4d8c0446b07ccb9f985d2887b560b356117eb4cf9bb3a6143948b91eb7a9fd9d398edf32398df2d21719a19c14edda7218a70e8d26e2dd63fe84db8fd44908e37be4e3929bf060cacdd106708d9af3427ffd3cf7e376622797fa95167653d7d807383359a6ae7880dc168955d5138d72afb5860fa622106ee51cdc859bf2c758bd018efc5b745f7921a39ef2991eb2379f8a8770ef8d19f4b3fdb058f201b96132782b91df7700164f578a53539f4c372afddb1553def86400d130f8e61d453cd22701e0ba7a017be5367a3d10e437720c3b3b4ddfe2030f490e61d82b2df5ae3f1dc8a24d72343d62233e4f5808602c6a00bc7d62b195ed9b67897aec66b117e1215d91ddd463b71965f9248067dd3bbabc5726d8d8c78f1950bd6531723c1ba7bafa3b6a5ac166704d5200204eff1161c5432bad6bbf0350eb171aa3f31f87c3edc4fda8c247a48de75ce8e7b53172bef21849ba8b54b55b007e4cd8165771a8993e9a7ada924a7d4a6b8dda4f8f72caa7eed63f36c1adfa91433c1c4f890afa523da6b911621b6880537ae12a0772b51a13ac70cf8823e814cf96b22789250c4724a5db8a37d8a3b2bc35e56ab072aebd6e7987f88d7f32452b6db213039a98d3586e1f0f9f675c570d52c6fd8c724e28ff07f7f0dd352c63be7e1cff92f8b438df0b3d335f61f5b3998a2ea389654917fdc185e92ada89770fc847fccb8138a46d842234262417bd4839773e6924516b0755d33e4a1e1201866d11f1c106d98dddf06c364257ab6358621bfb55723c512c504faa032dbc2a0516decdcf26b7caa9143e1e2bd1d46bcb24d6cc8f25ae14e9083720fece6eb94037208cdba1e7201049f5cd7c504953ad018323f672c3f8185cf951960fdfee6478699490b1e262fa7941f3f480ed41cc2d8b5de1613460bd703eb8cafe6a8aed71ae38912c2e6d1a4fe243693add25d9a82605b3726e391e260f01669951487bda54ca155f3329f0e336eb042627ac7b6f84718f723e43e6b76c63d4a4a9a7ff94ed37c986a00b2df9e8314cb5afae4552c9f849291bac8dd942073896a74d12a83ac70d3bd4c9aa56f817ac512e88c13641a4ad72ab3bf46f914cc59f9ddc9ecb46a7cb749f5b58016b1a066e75356727ffdbbc72db9a5802c5d7adde175b8fe5a5ff93a19eb5adcc74349c2947b5c8e1672ac572acd02d374581eaa0533641999f3df542ee589436fe73c7334250771f6113805fbb0aba09bac31b632aa17c9423e2ef244a1ec0b38a3eae92876b1554151f4d1fa602f9a4d709009c9bef90dfe67eee49f38eba34f572e3fe90ba0346f735cc72edbd18ae7e5a401d9f950aa16f0c6c1bb3aa8d13dcf73435429a8f299048c2726cd1d7c0d8a39e97e900dc69f3f37a954e5887362b5f1a3516293ceb2c64a9720af4306a7bbd476172d6a1550f4e43775fbc5e9fc13608d6b5d5a4decc84b5640993eb03a6915d32efdf8a9e2bd52470acbf7255e7d28e9405c36765c62a3f0378594cb772b4fa5ff744021c81d46b68255ec555370a239953d3feb2a8eb1d725cac3f63d07ba7f89b533460e5a8768166024b43216b9f162850dc428debf703a70bee72e9e37b8d0470983e35fb7e98242c24fdacd51d1782067c390599f1724e0f848c24b00b7ec2045cb7352812c1a9fb67b9bf4d3436c385bec5f316e972bd8acf15a76777423339f9a37358b27e091b885024c0e2f8625320f651458b72d424ce34f5098a7034873b12aa64126de776c713c0feb990817b1f6b10b07a7232625a8405c2a70d3c077c744bc841891677a0325d540e3df551b57625eeb33d883b024b53dfe221c0070d4fae35c38f02bce145d24e9c8939e73140d79ddc72da44c074ecfe6c792311f2af1af06a5125284eacd152f686cbe20b77a023c27222b4f79d192146714fa68905d4cffc42c74f329541850115774ee82d0ba3a47218dec14662eb185d0286e2227996b0c1b542fe4ada4a2dc87221bb6ce041437202d9bb5e66ebc108d0da5feb634bcd03a04eaf1ba2693410f489c56979f38b55b14c86a82ee541d1bd65c6153c6dedaf2680cc6dd7423ea20b8a78b133c57372074343708aa515c3f550dcc7ae9c9a329b8a0be3e0a686f797c875fb49b174020486c43d12ce2e51e8a898807e0481055b9d5bca906a27548237137b9ca3ff22cfa889abbc8063e7fe272efe7f50aeedbc034c1f25ff2f492e0bc691d4f89e7200db2980facc40d9f346b4547d69b1d789b1d08fa8cea55a8e2206196463e43bc801eb0d7f8eafd2de0f6f72930a75a9baab7dbc2f3babaf035025647ea5e472f0f8093b73bc171552fd4e35511af4e051520ae2837e306e3765809e616aab72221dd0974b512cc2f0fe2af05a076fbf8adf1afecc6ae8598c1ecb28731cc0476201c350b72d9117cd025d0c8f22ea1c548582f99df509c942f13943a5d76972a658e88a38bac8343e084a9e3a615801aa6b3d0fd58b16c933e422db7e0ad7509bd0bd8646f20c6e7e0ee7d8ea9cf633c11cb42861ee4f23b1165a94a551ad72e8a6d1c26d333b8701848ff1269c47560b77577aa99a8750152699f35b54a3214c54c5c8c30388887dc04e257a9957136390eafbfe354579f1db5131d1f4e26e2945f8acd07543f416ae659e573cc88aae0c9359de6cc0be00c1e658d24b61724cbfd38a9e5643804af022364bfd4ae8629f10f4d227c2d67892ef1da152d96f5ec4c7040e102802497068dd90640d33aa9f2105afa0ad4fe235f439a0273d04d858ef8bef0e1a5ef3232a4f3620fab8b0b1e7aae99a70e194fae93fb3ce7d721bc4313a15f8d81e1600c26c80dc45e41bbe3f1a7f088b0ac5095e8c639cd972dd983f1a6fcfb8e561254755e167ab3c557b2dc083ffd1c5049b7a094a13b972f4b207934768f11d697a08dce3e3dc3e22488ba5a2b6cb5600d85a2eab3d9d72a3095e84480a51abd1e2e3aac906cce547a8bbe8d2798abd417f31a983465f7292e4608ea2ffb72563edeba1ae3e55d2b1818cfaa8abe20612867c9a068c3d72185c0a21a99b2e7f9ff2b92f2f5d8598bc53cd1d14cf5fda74166c33f2a2357233361cecd29b267ae76761efa3a0ccf43cd9a94ccd92b8f1a764ecdca392c072abed88c6d17862b1080ad609e25e398ee5f1cac13de1c08cf5a2701fd50dd1728f0119f0f3bf97e2abfc0b15507e34fffe5fe6b01a1e23415a57749ce71f6972498badd427c61a414155738ee49419f175d506fc6b619912c8f889f5a9b0037204cc523a284543660d8015ce2759a8be800b100723588db10691516643d88b130ef883a72b275f0919ee2a163ba2e24673668f600983478042e5f8b846522a31c51d54d32fa8ce3f03ded6c51a3cef1ef3b9ce584ac5b42b2af07664be27c5727b789900592e2d95c03665e603feb08eeed99ad19cb23a640668f51d8a0ad4149143aff5e0e9aa5dbfda9084316bc5150f00b67c363980117d3a8b47f3c89372701d3bba6fc36ec49285f2b478c1857b4203b548414e76a99ed68a94fe990572206184424b5640c0ff743205835488267bc22e253ff6377fc935332a9a0efb724043bd4591c7509b8edaa835891e1d1be400df412c1c8f853e902db7b99eff726151d589695c877a9be984b4ac6efc950db61b6d06dab672cff2d68fe4796d72625dff204cb8c11baebb719312efae61a93790e03f272a543ed2c9a47be48272f5d47fe151360bcb22b5f98e431b3de4cb0b4ba15a1720e4178a8bfe1ef5ca4dee31f8b0ab6adec8200f937808e0efe659082c3e3fa8e4b5c6996f985cedf472fe38e111ce79ecd9b0f8fff88897f1944bd2f6a9188b1b6b4105646f575e20403bf49e3ef32602d3d4db92f6e819363fa5b0dd59fb5db9b4dc944e7f3efe6b2be02ec790d5a6979185b52c6f1fca7f1ee35936394ce23fbdeb9cdf5960191b09d654da8cb12a70ba00c2efdeef8a98241f5f3fe684718e251f9de1fe1f563e7284bba25d845aa0cd27fdae2afc80a60c4375336e6a31b1abd8a98059d5a4b823bcbcd48183d6681ab4fd68e277b6d7a77fd89f01272ebffd2d6c2aed3c6fc71b10fc8cca8feaa51ecbbb31b409c9fdf7212a481c45b096b0ec6a224c8c675954e3061da725f128dfc6c51f6ee9a906890b571d81789d76408784228be2c30354d622e796bf0e0d80401e95527d55e59d58c8a5a120f84adde70f7d27ef975472377b2560e521b3414064dd4340ebbdad16d00e6e5239f9531f07309844a8f772e83a36cd46eb212ce90ee4386f2e6019382f3dc23968e6f19cfad3627b6d4d7270a761f883f576648bac83fb1f307b8eb03a5f7994d5ef7be3188c4d70e0137280d6b71d8e40af1e8055c71c3e703cca34cf923c30997efc651bfc862f20eb4594bab0821fb70ff0194af7b8f1a4ef4e4a951931856fc9ffc3d1025afa0721198a866355c22c62aef44069201ffbc8291d71060d0eaa8a2994af1ae884c8ca096a4d72c206eb75be80351b4805e11e8d70b5ca0d72753d008b80231fee40eb261acff273686a840c26f1964f2186c7432817d55e884c58ebff0fc9d0e50807135fc14bd3760435bf944ff9e4ef905607a1f8342992dba74fa9dcab7682e64036ccba05262515f558e088f2cefa22b2550bed15d6b24d5a536f6421cd9987f41a14d0dc6b84c4e56e21d183f45f92de1e1da65e7ea5045c3176d6571330296b40d3c0cc3ff2783b0a1cf5516117723942866693b82ce086c2293113124acf017250db0b0e67784d8def8d53771824074d10e926f787e7f45ac1ff987c96182b72fac02077c81046ac657b602ac1c04cbe866210156f0ba3a73dd230a40c045b72ece509597fc08e96138bcb02cec916acc4371c44474e83dcfd00e724691f597213a0c9e3749847b2e94a551897c54b52f758c2b2546e75e1736a69ae30342f72cfdd412590327696c0b2fc165f4d055f49b100a71c42331f702dc83b13f889725c1a80329fceb298ccd313fa75b9267d61e8a44a7af9f71b1c0bed06a6bbf07253202cfab839b8b518ba4d6f9724d45dc6c5b34486012ba6af54a0e393aaec1f547b885ce849e2b82e8c1a6192a566883e7b0dcf9dca34a8be3eb3c7f707de2a160e9dc01231646aa50b2af94fce66c593eda5d4265736094e9577f2251c78189202dee81153bea3382ced8a519857b667db6b5229ff438fddb6b4016a8e4a5ca0453f3896e633055d442a575b9b4555c01b6780f285ccdc0f5d5b5e98101e3af739d20046571718c2436c3580c478e8107ec915d8854cc0ac5d6e155f6d3d7288161ee2c58b7dc5c27eb7bfa0243e35d26df5b3dea46146bc064b1dfe707f2c6bb2850494552cf03807b9d70c3c2cf3cf7c5f30b5ece95c722f93cb85bddf5431a0464499b536d653f20fc119d10d5360307c88c4919ddeca0888eb86c73601a1bd5dc71f01dd8976ac26a7f1b625ed36b71fe5a05e243938fca7d6e5074954efbd75cef04b6162976fecc6a3472196db817db268e25eecfac76d74b46bf372afe7e4ea814da4236ffe2b4343664493eb55a953e8bc21e9a553003e3b864e2cf02bbeacc809e83b0c3e1ae0fcb8d42001a32dea5daf1309ef6f358bccc353729ee07b798e85c4dfb38c3e276508d549387f477f76689e2e5942bce0ddc41a72488ffa4a88d8f51b1a6a4d590cdc6bb780665e2331dea82aab90b29b6ebb6b42a7191407a7f26e40a02170d0c75d7787ef923cb699c4745c45eaaf4782c4b747d339ba85d0a3fa1d24d83c24e7db4c36db892ef6f2f760d1620e7f8edee828204e732adc240491c1ff3c6342b2fcf5ae86a502a59cc72b601be8d7515e7dfc0ebdd6e1cbf90e3b1b7dc247df7907496514d06576fb3aabdaf09a1099e85e1272a0ace2a5e0e458f6fd18955ac3ac123240b0ff3d0d994b7090405e70c622ec4ce7108cb23056d1637942bb136cfe0ac1b5a0f85b79802b3e8f9a18f798304372af0b4ff668be32dae601fcae0ba287b8dff010712a6814cb199b5ada47ddab4dff35a99b4341594cb57797ec7dd12fd0f562ad06ac676a230e38396395ff632f23c4f1cc410c030d9dde9563f89073d5dc726dc55bd2a8b711b8fb625accc9145ef01be8bd310f444ad74c9c2d43778d69e0db6d6e09bb199f6eca72891e6c1c7dbea96963e2d4540d3ccd43fca4b1746b038e8087115325e4ece659d483d65376cec330e3c267b86f4bf4d6c4672d423ab7556b938f80ebb84649227bd95f224b44304f185a06c26eaa59edd076e0346bc853fcfc8661c64e0b8e46ee1fa472b53af58a82b44740f4b50c7c9980f3bff303753ff5449ae1e5c0806a14374d7250ee4dc1860a5d93068cd60201c9db6c2f56f0d877a50a14fd95eb8bcf220f128fea7e21fab4c4c2f20a9672eef6820fdfde7fbc6a5d806d4a30ccd8a841d022d39bd2dadc538d7b2c12e4d6790bf949ac95aebd0d9a8cc49aa3f1556d4a06729736e9ff66dba1a1c34601c79a65ec0ba73ea7bf084ba1689eba2a9a14905072fe0b30cca5ce4992806371b27978e089e30c68588fe6a4e5630934dc5c966d2c357bb49ca2540e822644632b21c4f5a736287576e4d1d1ab29a833c36a40a272a4bc50a9a7ba33ebfc9f0f25b1afea5dba232573b659eba7825bdb0d004d0072bac5b7de09d6db0688e5a6a11c0a92542263f42f4d85907eae4ecfb9232107721e75a0bb904d010f506b52603c6ee16aa247ba35e83ec347d07608e5403b195fafe36865d7e20816fecde4db652ca55fad97cc32d95cfcdb4d1b79ec2a1eb872427ee00126672ce20a31181aac47296121960c54d45089f5300490d1f73f2b7285e9911a2c667873956281e0e01931710e5538ea5a8f701d768d759c8e9c75727181720ac9ebd81e1bf11ba892f7b048ca3e748eafad0826b6d2ed77437e404992dd0525054d945d6fddae5a9d10361c6dba66f6a05bc84222c447a210ef2b3e0b6c2c94c8098464a62e9df03752f1e812bbccbbba23702e311456e405617372e20f5e69e45d767945b6bbb3c3668bebc8b50d8188d0e59bbe826e7551dd3b72d7e2d7f5c220c6350720077d49d38a32fe249f3f07810bf5577ef4aa7078ae70b81a0ac010e39ed472b511230b618fac53803d2e922d6983897b9431fd758f7269cffb5b8068aacfb373e43c47bcb2e3b964d1ae1aee3880e342200b83a8e372450f0131de697db079da5a0c11c9706942c9b5a6227e5c0db91aae8ec57e476219c2c1d5df3db1308eb0a135c08c7ab76c37bfcda1c87eda6024e8f7625db949dcaee90137df50a81ca55877dcfbe2b9a088d90a95eeefb9c582ccad541ce73def9dd6c8a978a5ce9e043153d23ccb2428f13a975fa5d767b1353cf2b009a12f7917f9afc463a6947c6eab4dbf84a5659ee80f4cff921dc8b619efc98f7aad040e05ac30c4a044788b1d1a81de72ee3eb85e1706e42d947b4dd7bd3e89f0df728c54cd612367d3da3ed87698d28d15ed70b5edb8e532a823cc762a85493f9d721102b7570a085574d7ad21e79fd1c64fc5c88d0929d7f2a84fe8bfb2b904714750cd13798dfabe8ec2f71d35e1916b492a44e47c9b26ec3fd76beaeb31d32906cd7babb14c61c5103f441aa4e3671862bb18c973e2e352e807a9458da93cce1f64c0b066378798d8eacdb5ce5317000c78cda3aeeeaa83a1ab1e00a5b803127210a81e33e4f2efe19d0671f96bc47f38ebf11487f07334170ffaf7134db71972fc99ccb064136c85315694f8069b8a1a66d9c1d604a9d03be561382817bdd172134d2f8b4e06c335fa5bbe46b8fc71fa8ebe296f659c3128d1b0bfe399ba9872d9e24ff340e67cb420a27bf0b26fe2a81b9ec4e40823aa740d576e01892a3a721dab9a752df4543bce0dbb1cbae6a5a2c73eb37059b5592056e65b439bbe6d72f8dc7eea0874a864f37e82dafdddd2c36a8b80ac66c18ca59574982a02112072a6e8c9b166443d6673b66544db63a56191cd4c6031c7a1c12e42a297a21d227227c15abc8f800bd01ba5ef4da77b617a50364545c097762d7d2dcd0db5be902a42e2c5f2294ddcea5c32bde7fb9f7a1ec9c6794f29cae536c17b8ca77cdf172b2eb7b044a986e88075ea2a104ac80c85ebf73649c9bbcc7aeb5bfbb5d0641a41c812194f485961b141121096dc34b83721dfcaaa4eccd7a9ff2b0add6df2d150b606e7294f5885397f7992c33f074d3357512112b54328e84dcd62099ef04d7200101ea2feab0f01c1031a76070a6d34ab71578389c26ee9484ac1ef83011f7227b2060e1fcc575302dd80cad586526f3f719a4f5b15d9eae5720fa9208398721816eacc2615fdff5822cda5357319a64247d0d64690b7fa4a7085c517f1321c6e3efa6c6b2590630bba04cb3e4114eebe95d086498f4256322da10ff0427c727ab24666fb712ae0afec64e90f4bffdfa9e23b6930df7129684b78c4bd7d0d725f81ecea7e902e9a1f767401cf8a19e22d216462a2f20afc3ca91739102026573de129209525d0e16a0009a7c37bf8bf30ebcd07dc13c43c729f9253ee60bb72b9836fafb491522a64a4e250370455654b60fc4dec668e5f47d655d718ebfd29f5ec363950d1eb55e3db1d04a63dd1c9041747602e7236f89136bfd2d69ebc723206a9b69139dfac5195eb5c7190e9a5cef9199ed73144a810c5f48b378282415fdfba5ac5ef36a7bf8361f317fd0c2e3bf3cf5dd00cf1067e2a0a689f35c3631ceef087f572882a4812ab51cdbabab3ac785e4c18efe44ac715c70aff7098729b3c224b2eb7b927c704430ca80dddcf176bf70a71eac81c2171c05639dc3e724ad0dcfe791ec315d9bd15f75bd1f6f126ea063fd1456b7334d97bff3ce42372574d9643b2083db0302b9373cfd2513b87d19950f14f947efe9e09585bb54572472216eb9561b9cbf41695c5ef9a53b0fc4335d6784b1b0c25865479bba2036b38682fa51595932029c80ccf743a3d7a1dff9fd86caac49623fb0d7cf74f482971a239da25648f43ea979a86b3a1e0a14ab0691b658ad59886585bea49ced872df7e65aaa80e3a08c0c8482631e845177c55b141f07198cd0f6f802ab3e27a096a12ae94bc8eaaf74bdeb762ce1570e834e03cf35d429005251fb66509f979484d7e982bfe450ac7e39822670d3cbc2962167fb8a93fd484766f58aec100127214c98f8fa0caa588af6912509e76ff9c6a107f1190e03c787983910c10fb3272d782e6fed749749470336ba7e086207fd550217d2dd4e42887714453ec4b776af49321d7db2d3d0dda18534c8c3d0c608d2f463821bded71bfa98840bfe7e472e6b3b93e342bed268a28066b320c2ec45080b4ff846f46540cbd8a432ad34f7223d3a07c4a138cd13488d7c12062e143f02202a1425ff76087b89b106ca0b9087d5e79a654ea4f2ca9c97ea0a76e0f0e8635a4ee997505c07f5e96571b02ed7278117f8e61a5fbe3bfca5f6ae62e02e210165a4e7bd1e9188647a270635380724563ab26b554f544ce9b79b44fd31ad199443a126a82bf58ef7e45a88b990d04c42d1052f0452d8c415e1d1b870714744baef010bb9ec38f44084963ba12d021f63aa20d06454bedc47096aca9968e9313bf47e9505929c1c2793c66107e8372707db80d5ec057f492e05e2def5a715c509fa808bb57ef3863e6f660dac42c729dc69366b1d0b110df5e2aa56793eeaba79f32954d0edd9ddafa76c8232b6b1ae5597cfabe2852aac1c662525a87bfb256c89c9ac3df77d78462a4d8a359a554f7cdeaf0ff0637b3a448b52b65baa0cb30004b2749d40e4bf1860613f9d58472b26fa1ece7ae114bb5458db58b3a1a2431542da371bba76b86137115e4554772193fe278528dcf7f81497f579f74f40529197b31ea8a0e41306726f86fe28b72e0937c4fbddc3924eeca843272b1c4dfb598c89c3438cb43858c1b6adb3388339db0e3db49566368f2846747cb1dc5b3bcdcbd5ba0a78fe6abdb67d255ada0727d5402b956e90674c0e911ef272dc9edf43f1dcedfe1eb3ca1a74ed99a0f0e60bede509c05f483d1cf03d90b32c3afca7716e00d43bb719cf55417c110750f721f048bcbba93a13545932a34467816acdbbf494f3f20f537683e69245060891c0a03cb675aaeb74c1d814dc05a9a2fab25c78f04d85a9a8fc61eac36f84ae572a7d177390ca358cf8e7b038c8e4688eafceccc88aac40ca5a10f98884400a33a0744a78572e507fb4ad10dba54647c508102072f41d5a52a4e16089da3ec60728a5a943da70529fff5e745a6353d6b5ff6d7aa7773efdaa2cc6d3a7c452319389e7fe9df804e571bbb2921a95f0a47cfd7eb0898476bc730727cb25bb63ace72c979276cce7241c213ba00b7381fe1076911cebdd0b69e6cef7eac4477f2241613e88ac1f665ab9ef33c18f3e3d171a714346d0b3c3c499bf690b4ad8763e035a1bc7f08d7da27c4acdd8a59f686f5332dc7751a19f83629f4b29ceddbeee772c5196cb04ca0d90518c09a2de2ea6e01cafaa828bea48fa10558b96217850c72886065738debe28b4e54936f8981c402b8a54686e3eef981d1b2a274f1c4941ed57fe3622e03f98c5d77455a84d5fe31c0de4ea4af228ead11dda26c02db317280fd3959af0776deb49cc5bb6f40bef5fa2c0c433c7a3df02c1b785c687db83f23f05dc5e6c4f84ab042d1695cd85b918c57817af62cd2e711ad58063639f0728a1dc6bb006a6d60e5f90a5942de2a2b35cf68290fc241c4818e64e257ee3e49f485616020a31f0ea26241bdccdce98e70d584fe7237c76f052a8d5b884f6c720bbe1d017f09be3fec8c7878be487ff4ec61c05203f7798147279417105bb172233aeb8e111038e4283435bae22bc0e84ae51f759a90e55cc0bbbf4793852b72b21a94b5a5dbec4273e995885233bc0d7ff0a39b6fce99adf5e85ba8cf11d4720d1c5048ee10d206371f539a8849ee5bac3c3839a66e105b8828495dc375b61d52e8f2ce30dfe79df2b588f5a97352ee56cece4a7ed6be4cbe07dd9de4fa137263ed6436fd0003eebaee6e15ad2049c89c0487e8d8da0945533bda19fc37225867ad159b11bc76b672680e14f2b29c3e8044365db1e281899d651fef882495571e0c11858bf9840caa0f10a9ca3e52cd4a0d377557c5140a3f3e220118abdf05eac88eb1cb7184affadb2b3194b98a30a41a38df9f495f2fc5d91180c919b210f61fb9e90f484177b8189523e4985602c9850609a4aed53174d47142d3ba5b72d233ab70b6c1aba1c24ce290893b06017c2df01f126bbcb336c6148bab685e7251ec071474948b518e43058d195b8a511867de37768ce4aae66bfd9e47784853b0d37de3ab5e3db9fa7b5fe531a07918d2b8062e299727918a0bb0a7793721202114ec622387833112e6aac00e95c188020aba5559a03ef24b817d727ea50772590f2052514d99958fb0505e2d1abbe997b9b4ddfb52c79b69b662c8c940236d7ee625e0e4747229e183c59cc3d5becd085cf4271d342f3213fb37ff5f13be72e18a581a8876ea95a8a2bb0e719d5453a9666a5cd5e6ef463cd708b090a39272164ef31c2fddc41419b89d52a0c5263670a4091e5e7134c404d446e742b32c720b756dfc7eeb2360d0aae2485bc81d1a99592b0e60f918500773fe5c1e7d39722beaa260f30eaeacd12c83b7706ba5da704237d5d4913552bb0d52457073a9436abf1d255807fc761b3ea203b20cd879a8e500a356f5b2999fda0cdf50c07972eedf92551623b7547ff9a61fc1952920fe11e6fde1582e9f8c44e709956c5f6b6c12a1cc7f183bac6b99ffc1153bda1057973b6d39aa306a2ee4cbd88f631a72eeb90bbcb18dca7a1ed1563e46b272a9affe4bf99d10969a9de041a93f8e5d726f872fdb4f344dcb2023a31bad507cb2b51333e1d96126e8426fcaf37943107253381b3220c80e613663ef33903ee5a89951bd4ead62365583ef03bd0d0268728dd1f6da82f75a083d6c222afbefee386d6df27874f3c1b99c36a4561c1ed572c1b4a8cf964cdda26358461c70918110495a0b5d67b5bad48b4d63bb76b2a87246689fa7d4cbeb37e64de5f31ca41de511672fd1fcc842d964448590656ca272b785eddd4fcc96af79c23c2211539b35a13c4a00c5cc33863c1334d4491cf672c0285c68cc5eaec532d016fef628e260153f4c18e701e10a09f5dc00c32f225f64008ceb5965efefb2db69ddabd15620e7b2b6484d6e56a05fb287e29cc03a724f971903c232647bdf6ae93ed08d2ee5b5eeed5b56d5bd574221d3ac213727727ce0f177c189ca0ef6e547a628ed60e98efd4e779b62b10883943da7cf1fa772f1dbb854998d7498984b6b7ad0e719f985ea2198d18bd4f4a7d9e1c49402237279b02165f4c69189284503ef2d74b38c0ac104c9022897af08efb2a932515c6f0893bfcc79a0515d544589ed8d7994bab3e8a1fd1223eee651401deee2025c2ae0d4e1bce7ded94d595e1d6f6b83acfe6abf002353d73f7861664b3743f5a5317f985b2a169b17091864c32175a3ac2ffd724f15f5fabba280daec621a9dab72166a1fcd8c61e8138e2a1a4d4faa81ea729dc2120f26050547592ff94edad00b3079a8fd6c6b13844bc8350a439293cca3f21b1a23725dc83d33eff974f59c48a688258f41f8351ca294e3d089d1e10354814ebb0ba7487bffdcf33249c1c34592947edd6e7cc54c4c4f14414d6148a3847ec7a61da2c80863ad109a0984bb723685cd20f71db3012ff2b9f05b70ac97b4a8c28f57ad0e2a8d7ac9049e1ff9727d46eb0dec29756be394ddfea042778df0de87935fdc667c5451c571fc5d4a72b5045d24becd1a68870aa5d562dc613a320c91dc430795e151aca9c9cac2a4557e757cc118aa5d133af38f1250ca679ef738f51919e5b51638f91905e11a77726e830585bb4dca6b4414ef71b6fcbf2d0280c37802cfad0426235ceb7b844f726f3672362f5fd828858d00c240caca1b6780e8ef634c28fc230e5d39fda00c72e9a34a76551c4990c3ad7f56e1dbd9d451f4a8c4de508f5ec0938a1f4d56807218d5760ee268204d27d945bd81cba18baf6d9addf3cee6f53e0724243e71ca72be986168acafbb9f4082e3d64c18af54c307d16dc8f7807fe6fc4a4591b01f7214d2acd5c54057d252e066f33058a6b68d0dcefb458727df4d77b9d2cab51b595e4c075562470156d674b0a9071b22eb12f2369f22bb19d7d49c63d47d07d47244c4705dca679c06c9c61d3b1867479cfbf63ec2a5251547b073ead7267f2e72ab9c1c7aa11ab40d38adfce92e53a327e3adb963e507e69d611bd7eafbdeed7212f6c683226c5505eb1b1200ba83ff6a8fb5534c02c9ea0370c7101a06db5e3f613c944302bda65f6cae896988b816d39ddc0f7dd206f7b07df4b8e3b99d39567d3f47ff3df0cee1f9aa6000f33b25ebd5f016438bca86a5d0d49c55de5f1872b0899dc491b56f84a50ab780a1dbc40f947253ee8067dc61ff010fdcbf55e311116d15590a18a46879c9cf63b5f4b0127be11614ee1b0ee624ccf386bcf8a107558c5b0a812a0c6a1c2ec6c52786328debdea218f93c3d3ab554468b63f1f37246fff4fe94fe3cb69daa5f5ee0d983b8942f07a7a2c634b39e4b6ec63cf34f72e7e6d0319fc98ab40f1c3f4af00694860603124118a12a2cabd1cd00b2a59e72968ecd4bc4370b313e038f22fb1d03b464d5551a4dc6e2dc9ec644f94b9bbd147f8717325849381ed61cb8f550c79f02ec6de5d5bbc6089e6e77261c068e4009beb1338b627628369d9da3550d0ae01b1705b880a02a0f0dced77e0318e6e972315c436e1e41a0929e55e3a9ae22e7a13863b0286c048f8d8d6f90de85ad4272e6744df89d7d7067bd99c901e000d003c84330aa05ba347877a04bd5597f81114efdfa7bd6b34f64da46953ea9f825faa1ea0be4b296d8feec1b75c74cb782036bdd0a1b63aa3ab61c151eb60da99b35055909cfe3dce9bb33929ed14283e0001c1c91662323f08979133f3dcd435934a76e038dc5974bb0484a91d42dc88513e9281884d64080ff93224340b1bcecb24346514562b65bb6715ddae52ed52072a505390c33015bbf0e87298e202fa80ac9ce9d03ff3516611bfc643dee37c37268e1161a199c7c004ef34f55a1a85459f98b8b0fe6ccfa44785804f08e45757268457dc2837c65cf9c62055dc03327173b435efc0c05ccf40d65f30071b56b7289b7ff596ede01e082776d9956fc94b4cf08f5589b90b2d7cf70f1c9315fd42d264d6d20891adf19eacf90931479a96de37922cab94b8e017deb70dbd82fbf3acb5be36d031e16184152866323e1a767b3fa6d042535cc1dca61b5e6261a920a5448cc25deb555d0b111d5f8aac9708ff63c282529fce4e590119b0c85951372f12b689aed70e58ad14e70cf94bb79e88ed92e690278debf3db2ff14f656a472e6481664306ce86a5810fe06e11a72dfa227d3661b6cd32c5b27099f6cd4d50d5f03c956c5943204cd9631921ecaa988e8ca542cda3b7c8417a9d037f7d02c724d5c001ab92c3442704e79a1762a5f1f20307901f63fae09f025d5859b7fd07261386806df0bdbe4bdbef7321d30ff0c939064c0860257c2f42dc20abb806e704d66f2aea2ee3e514e24c2eec51ed9c4e86f882920d241107e610252c1356b72b2dcafd5bc7087803955d757031d3e722d73b613976cda64d55426c81ed6cb72f9a96c8bc0588804a8066b37d3f614f72ecac4f3d7cc7054a2e77f59a6effb723ad043c9d2920b12eb3d90b1ef5fa5240275a9b1b0e2c26e63f41a53ac12b572156f2f70962c3b27bea1e8a375d7ee6ca0da2fd35e37221560145aa9c10f1772322c128ee4d7bcb6f5c64c1cb9069148f5e8752be1052d199ca14f145587b97281bc08558bdf8cc52f547c4f792b047662148bab524d5ea9693056fe6c287d72da27993af5d781a340c48b84f7a9d6c5a0d0f4676a85f1fd4148334bbbc901724a4d0d7bbc73d68511d789514d76f59782e2f082ae395dc80f009a75c6b9032200098a6459075f2c7841cec081d3e67861d617125e89e33e77ff88cfd5b45472fe59c6a526198d913ef5ad3a25edcc6e22635c51e838231096bc18e28a30a572bf8eba5e419539db9fab200ee26268f5a4c69727b1234317cb3626f92dfcc5097c5c5acff0b17524c004df417dfa4a16179cc7215a8243ffd22ef434780ae9726a161ebbc8cef77bbc842e65998a4758be2dc326163d9c088ab4e22b5a07cb72714d5061ffee591f07c9655c65d8ea93c3044827543624359bf0651560ff65722996ac52444cfeda3549cef5b0c7459919e312a11642a4798bf43abfb97f3e7206f80735be08673043e9971738d4723f5cf3307bed9856be3b29e44e9afb7472f9fa20bc90f67eeacb9cb2545f77582266d8d344370ef347ddee444b5954835b35f8ac9309eba91bcf6e3e27d61a155246ccaae3ca4a8f0716100c0b4cb96a72f56f4174fb65e21e08441d293bd628d0afc732b48785134556b2e00aa3945d49d4038ab6b18ea5f76d8fa5f805c73113542913c8004836403dde15395aed5c729d0a1039c998f186f76fc4779ab5213c6c89b390440576731243c0f6a528670db5ca87a62d53fa62d2c30a211e80b5e6552a4f06bdf52d9aacb79efcc5c2b4727d4eb3fdf8e0151fece2201ee7e79274db7815ebe8594ed984db1c2bc7bcbd1af39b8779f27788e9185c07bf98768387533c5acd60bef3bb18f6b9d6bf260a72e44fbe82c9c20c0cff24c7b5fb82fadbf18539a25406fe2963b9f2d12e785601a9fc031501d971cd4057bd172011ea3aec3a2ee0ff2775e09b6c9c2cf781350d6bc91fd182bc3e8c26fa933009d83a2fd3d33176c48d4cd130aea2f172334c72ca572edacb079cecfd9980eb20e424989f38dfc512ea724646368f89d5438572fc748c55f5a7a695b0d2f36632c1b7a125f95787e34faffe0b20af3bd71d5272267de3ee46129a32c6dde67f4a28deb74ebe6da8cf08c8c69fcc156bf351790f4ee3b45c28f1d0dc7886d043e086a2852a484f8d0b33987965bff5e8b3a106722a799dc26d497c9310c52f345106cd1714c4ac007d60c54039c1e3fa582e5c729047ed8fd60b2e9df273ffb82da3b922189a43135d83596a8aaa6d9e76b599722e37e70145f5cefafb91a334019f73f5f3c8bd177094d83b70356d95d5b2b8727017ef6de3e7a66065bc5b5b1c4d5b11169e9cdfd85bbb11ab8e40f994806b729e03944d2c35338cce2f28785cf32b89ceb2c1fe187d96108d718fffdf4d8242d8c1bcef9920c4f8dd30a558decd6df7ddb2db986e10019f20ab83005bae661b4869586ae206983c2f9c4dd7caab607203fb1df69dda358506284100ddf02972f596e0097a406767dd33dd128c5a8ea3ede9897a1626e2e9d9aa76f731ba1372d8845cbe8f0e872ab0e4d3db51b1583167cac6a1a73e12915e7f608991d96f62b40d25f272a5ad2096cf77a13fd1d5785e256271e6cdfeae0833e2afedcfdc724a93249bd6fb0a03aefcfadf3ac3477e327ce3ce0d3d034670546d5e0eb0c1594e405b63aee37c300dbf1f4f0e70013cbe440a26a96bc2d950a81e1f5a9b8c477825386d2cfbf1fedc238e4d511088bddd54a8c4d8116a0dcc5dbaca58862f66c8fe48ea376c2a41eea458c64dba6411e52c3f6e879d591c5885c9eb0138c859620f15bda6d024ea3d0e0352050b6c2ada3b82c702468e200ba70f7f3639646386f07bfb05f7fa267a78c83158f0d112cff5b729287a361a82240baf47b7bb72b0019c2ea5165813227e051b306069ae27eeb70ca68af5c241ffafae3d590e728f060967c21fcfe7dc4edca57c088ae4e597c8fd3a9fff4b9c2ab0cadaa9bf39c18cb8e5204aa5353d7fbb480a9d5499244bcacf8a072c65a6e00b5f877b1172a7104b18ac930d8daca33a63e970fb7db554adeb74bfeeb0af4b952c95add0729753a3245194f8bb1b11e7f5d027ae02afa2f4a96cb15eff85f06451a08b7572c07a2be4d389c94895ce1bd2cf818be3f57317480c8f349661be19b3a83d06729e384c9235539c38a0c4816e5402cb5f3bc45c28798aab2ba4e054d12f57491b348823f21fe294f88ea8c88783fdb4fe24aae76f92d30200030ccfa88182c9725786ca9d808f7971b4ebe23ee84126f9fb603422364c52a772156057b344f272839d0a027e2945155023dbb5497ede92a22216e310cf25692925de23fd7954727348373d32ec951306bb5f1e8dbac4fc15224b6aadffa980ba85ce9cdf89c130c01f072cbdaa8b6cdb670a37ab0f7a253552b5b015bd1ec94488553609fecc2988322e8e58c1e7b2698603441afd372dbcf49dc24510ae000d64fdabce481c29b71dc999afa702968ae6533cb0e58965cca99cf82f9b7ea7ff590a5e0997d772283fbaf9e6e1da0e1a6d1929e4b158a0a9880f17bf386262b65fdb9d39e94e72f0047b261e4c120fdeaef359a34d9c6a3b480b5ec9698c52c7d28f6f7e3b5372780e81540b69dc6c595cdd4f1dea2af3bb14c63bbb19da8b99be434545d3fc72c9594c4fb3716f5f6b4f6f4fa87e2474271ca4ee6c637c484a9576552f0405729796b69cca8084de3eb2b93c4c593a539fd03806f0274eef6a477edb7e4255472df2af838c32b485576dd9c21b40635f77bc15648cbdb4731b2e668e7e9a8a0879d48045ee8720ae6222d7bdd947ab69352004ab569c2eda7f85bda59426821d042b346190f1a763c2b07d4253e56beeb84bbe230a8d6d8a8c2ba9dbc39e2e41d4d99eb04d9589fa455cc2fb1217df39ed294c232c39d9c1e5cd6c266b97d11d279f4fbb5e08a1778d78f21c89a929059ad4dce1b9f21bf2c50c19bf12cffc44621b15ed23cffb0f520d90a05ca957268e11aa22a189c9a7e74fb542b398d950bf7cda900e914373628d91ae9bac3d375e25824150509a00a754ae17d1eb8c72324658ccbdbc8d281b304c3c43838b9f7b13261b67f1a76ac2a8bff0310ce8723bb814d8b33eb5d6634a766ab087e1b596528a52388fa4330d39cebbbe589e7201da3cbd065385701fed758037b3f64526f517d7ea0cc7ccd079b8f959a55a729429bcd84134a2966363aef5a7bc55fa356d51ff502c5a241f9ea06e723cab72ac7e102402c478bc06d58e8430ecf309cbd1b7b6e90c63faa5b8b064d6da12213fef5a0294d197d85aebf99ec15494c3459758badc91e73ba89629f4dff5a06b0e4cc1e4c1a74df34e648c202f9bec8d89b8f486fe808d5e6bc01f1775860e72a07bc7fd33143c28b3934ea849bea3f358ee7c23524b9b5235cc8b88bac24b4515e41ec65737f2a29be46a65fc8e320069059863ac899e08f0f6727d08829072bca3b88834aa82c87bf08f2eb6c1615c077682e27d5261ca20cd6419c760eb3357e7bd93b0a09d477e98d267643cd1a770a6abc245be6f702e01d8bf14fa6f2fd2306de9415059d6ded67fbdba2ef92da4212cfb2d67bb84a57ec262e56ab972f9669d83f71088a4a18309243a12991808168356435e9491955914da66ab12445eb68561347fb4190d8d745c88f90e6597287cdce9fe4f95cc0751713001442fe57a8d5e7777bd7053b8a7a6b99898cab45b4f0dea915fc1fc6894d5deb8864afb3d60da105ff72e242b617fad140ec7c4acfc6526e88369f238dd2739018f0780f09699b2044f9ddb9981bb3d9dc467060346f6aa4993219523c772f2c5f723dea9d0f28ce961329db09d84ebce34653ea05e572e0d81b6a74e6279aba3026309bdfdb10e7bc8793d53cbf26c4f9cfc4fb877e10e00864ef596b313d25df672f5b1cc4c2d71c7cfdddbbb2db58ca2b436849bc94b47f5dde29f9fb08dff8f72727b633a3ea6d8cfb3011ad5c20ddf886ca78d0d026c3b90ac3d92a1e38f2b72bb401daf18c8c2d224e39f7220a8f83d72a6eb7c0dda67d08a0264d17164737206465335eeae9b284dee636e82dae893b55fdc207b7c15e9161c13987e8c92707033b06129bc4daf2314aaa16d9b111835528e0756138bac2e615f614f46723ae222c15d48a0ba68567612a158368be4309b657a63afe585ff298ca19851e2724437b46c3fd3cc3d198b6299c429b199aeae15988a4f67a756ac3e956a53574c1e95b102f906e687761fa67ab21f57ac94df6cf2f809ebad7578b6b1959e7c728b7f7f42a85a8b5c85067cf60ecf915210902d19ead225547ed6ffd169a1a072918bf93ce9b6a900b2ec70605949e7b9a832676ce9143824d2cb20790be63f5378886da09ca47b5a817b4d6ee576e9b23e856ff8d264176037f513f6a3b16372d40b05715a01e924e161ed4372514fb85b83c68913678bec7d6ac207a60d3216b9e3f14f1cc505120a3687142cae4c28f3656590d734d59ab79f3977406ed072b0230f59a3778652cbb0a3c76f1614c378936ab7de03d3f98ee7c424c0ad7c0a11be192365d71ce22e204c4fd2c5eca1a3fdc70db5d3e722ec32e08c96c7f61175c4b462fa12b8933c8e7688a12f9e88abfa0c73d55f54c2f0f272840b644b6c1c571b68459228a92c6732019a5cc5fe4f81057fa35f6a2ad15a86b7df7f9f1678fad3fbfb7becca46eb184785808c45e935adfd9a0a0af616f1ab0fa6239c1526398855bbf9611c174615ac95285ecc220ffa3e47e42685e06f2a49a218f63019381de3859a54912285636e0b6b51cf0f238fb98ac941a40f80550b9a464072fcc5af63273ea34b4596522d6469f98f1191603942f12fd9a460bc98b48988729f475696ee4b674c31f1c5634808a62edfb0aeab7c029686fbc36df0219cdd16744bde1f1e05955cec4521818c420102e708a631da77ceb50b81a253d27a2972e8319ef7a30428745ef752f681bc1e81ce829b4db7b8f9f50cf5b2b4c1694572f1cc6483fefa30b92adb92f2f4836da43d1380bca4704b8452447743243068723aeedf58b599f70cb30384d0b911f48874869051ac1ecad916f156b208dc9a147fe3d61f2d1563bffa97b83cffa9afcb00bd2a638dd852964d113b080de3e63deb43fc38c0d0ebb144ef330a9c2d944174f582dd5f1678f714ced58bd08b9454d85a6e7738210b203c2ede2c5cbb3b7a0b8d9bfe53653d647777e6e0187efd72bc7fb21ba7a269332fa36ac24944da808ba33faa046f652936dc5a9ca0e7196cf2a2d6f044c25b65952541c008dd1f5b6ee910da54c92b41fad1723193fd0f6a399ef7dc70e749aec567c7b8b642d1b4df88d32f26186f31c68ab514651c83187497c9653858f1756c15f4c18b3888529e8e826c2290da004c86c7f065103d5970bf7a9863eb117867d8adeef85f73db82894cd4b3f31ae2ec88c07a05fd387256880b697bd9dc3ecb80932ad8bc896fa7e45c1e9b929b884cf718ed3a8bc8724a24e1ad58f4ee53649497cc64994789458993015e4415c494caa517e153ab0412e2be16f4cbec8fe3c94c8d6cbe31dda954c949661bbc8dae0f1c414ce73f727e9619aa0f9b379bc0b68412a75ac839f347338e9b8f4764c2d6c8783070b872077fd2f9de59f6550a8e90659865f6bfc47e5e5f2cd66e11f59c13ff055abb66fda48ea237b223128981464fe68017b6b8b7340b4e6513351996cfe581c7d95477f3b934d2cde6ab3fbc4ed95754e320bc27592ba58280ec9621af9b8971b57240ae3cb072d56ed765760552c706cb13636dc856c90d0d70cf8c8cca083cf072d3f517d1932c903f26e2b71c7d3ccc0200b9b8b2ff01cbe5e60929fbf8730c7278de254fe75c67edc3c730e0dca67b725c484019bab263e8c891bf357a038543fd077c92feb1d1ce56331e951dcfdb739e37494d336c2180967b76de764b4572e897996eddd296dd5725e09e69d2e08807dd1570d0ec06d862b1ecb6279c5b4c012fe95c8b30198cc922c46f580d23c36a5b1766afc402265f4e72c96dc65431fae2e28fa7d008b09399aebaf9d834a646de52bb630f56e7e3e16cabf562866bec2457c15ea0a664837e83157b5e402e4005f62ed9761a87796197c4197f541c654b150135e5ca277e05b80ce69c435d0764ac9d4e00198fcacd1dd8dd9d5b5861559b86f8f5b0956813cc06c1bdb84e892ecd2702fa1b6e7d51d8d4774a3e722d0f41c7a0510950623ab326678b2d2a4f4753e4541636994973d33554db5872dddc0ae09f57e7fdc50a31e782d26deac13996b0781094a709a1f1603082276c4489d4c90f955cd04d6310cd14af3db7fe831388de20ce1a5b14d9fa4fca6472ab303ce49715ae01cd988c4aa2980a31ae8012d7137370fab96a09c4a5104d2186973b234e56e2660d7b76f7fc0278744721b416290c3548786e71f51444b07222779249c876b2b720ee18aa78e03bd87d22718c91a13ba7fe8d06d4bde67c67ad0e3551128faab20a20a3bb920086b46e1b47a6971421b70f2f91e044a339553d8bd9ac8183b8a623fec3327dbb3db347c34d16024a03e67b51b88438a5a27217b894ddc2ea25e897e23915aae685d51c08d99186e4d8ea445ee94cc7e81b7286f521b9791798137af3b182a8a7974a575d43f9ad570a95eab97f2d4dd4b172ae91d06f5feaeeacac5c02e565235fbe6e9e9e2d71f0948a41cf97c9b885e46134d15a5f54904fe56ee3785426777510be6f2eba04a3b4c26972145e77d7b07234596cbcb0c4e28e686b8bef01f9c994a8dffbae077f89fcc2e05a846e00d0724c07c0f32a502cde46079244e79d227e694b741c1782e6c668fd37760e74a272d5360453d24f971f0edf418d1bdfa4ee1c38180a2b23be2253d40c7b1f568c72c6912a252523fd79801c03b05d9ab026af8c1aa886fb062697ddc5ac6bf76a7219977b76a6b48bc892ba9ac596216ac64c5f13cf329cdda97f2a47bec268f4723fc1307e0d1bff5b85b1a9166a59098a824cb452955e494e167727b1ac91133b327e097f433e11d3cc9190b8b13ef551458e73dec8ea8ebffaa203c63b375649eec3ac8c6cb34865e454b26669c9e90c33d48e374a035dd81ee8895485971e72457cc93c270a04d5911d7ed92b76a697d311c8567b7afb5fae620e248713a272d6ebf10f622c166e54283f36bd2111f1e24ae22123777f88c3ec88ecc6b473720d3ed8e9a2d02768f6f7d4b46ff937ab275ba232fe8cfe106479702f4f7b5a72550f38ca7af7c4941524fd7d29e0aacce31e4b23d6123b18f70500e146b35800797eed6094b288672003364e517906ea86716d3362391b987d2df83789c335726d66bb9682857bc0e6b9c241f46426708197810a398e95f470aa2d3b5d3acd723356d3e1e674462db82e6a59633922b35a43fa78f975ad5ab5ea97bcfe9ba71eb8ccb6d550b667e26356c2321fdaa821c5641b2d3265cc9a9057c03e10713a408c44c6b8a00df7cf9468e629a2b9aa93c70f9389f47766a78fa2f131ac8f5872da13da84631a728d7c886e4b8b841836995a3349343abbd2cbca8f00adf62138fda5c0287aa6fda0b23f9aad00892196b4c907e8d1497d773e331a9942500872e17e20c0273a1941b4d342487e01b019766f72a5e9e607cf2d529c848f17ca01f8c3ab5189e0c9aac941f7ece60b07094563c2e868ef69e8714e2642bfa950184c02dbff8e66dac6d29cca8a0084e8b23fc86913628ce6af9766f976df57533d493743ed253ea4d0173c7b7eadb25ce0bb7f537d911fa5fba368def63fcea47220def5eb452ec01dd7d9b00b8b4a51e80e907dacb1e76176dd2b23878ee3324ce2b34dff982f905a599e296b8047fcc0d7e2cf38d3b072d91fd90adb556f207298878d4b9218fe862fce595ff4a7c1ae8c1f37d76d2542b8e3e1666d77e2e2726bc4482c1f05fbb43e1ab833ad01ba1e9cde3d695be5cf86af62a4108dd8105c380c62354d02ff898371d8339c9a88c03e8fc55128b947c08a5c2f6316a82c72fa85e77f07e3992b0b0a38a0467169c291af132bb0b2d868fae89a4594e3c872d0c7f55115bc45f5ea6c40dea70e6969e066739bf50cf2c6549c0ed6bc23864878a3d1a393ab42304c46aaee4d9579465f552e2f071b816d9119d60cd1870335749b52f2b768e2661168a6a555d7876eb139b4b69a5b629a9bf3354813a28372659823692e8694914e83a92cfd54dbb33368b4f7cc02481987780d969224e872c60ce06bdd3cf6e8a33f5d0a27ac11260bd32fefb807e98284abc1d8356aa45fbc7db8fc214fb4c4f338715fe659dd406952748c3662bd474c3b500578459071176d9a4f3c73602c1881f3f0f611ceec3556f1863f259ff1f8d82a32b6a2261c3212eb00ac64fa474a0277e1f78b9b40f942445aabb426ba074b74a6d5b1bc725cb6220362738e034bb507d913972d9fc898eddf04648e5d36921849de19bd725caddc054b68e74a5cdba436b7cf89d7cdb9e5521ac06a060495751e6ebcb87249511efec252ffdce8f81fe9fd3256aa676df7a07a5a5397ec751e906f728b2c351621a2fa715d5bec890f3d902a27abc226a45efff5a14363050cc3f8da613f4665320760939c3b29af76d46a5ac26af285a83d6c26f0d9825a05970c9cca72a8036a76ded244a556e58fbf2afebdbab16fc4a3238a07c84869790e09228c7236e9d9ba479f59572d258a3eed96deee3303a6e85faaa77126aa5790be495a722dc4816ad0b0b59b4a3e9640bf6a7babfd0e65d2886cc33a2a81902c57dc212ecc64cbe928be29d8b5286fe52662b940d57f727a22760120e274428b81c952727636203c0fd31f343781be455caf12f5d99e6010b84f3a8a8360cffd383f2c35d6926d6254f6f52c88c437b70fc3250faca7534d0a63bb5b5a8c62634902b159720d954a61132e2a2e3c80b03dc729451b5b591b96fb9dd5832c81bf455e68722e3ec728beead9b2280f17beebcf93fb211919084444c52ac0c15809a39b0f669dd9a4ab83664e3875e494da990dab91fec214809dcbe04b0db378dcc7aa30727bb7989905184c6be1dd699f2f6fcc7f798f94686fdf70b15d604634a73b59462c89ba7e86824ed2516f7d2549cfc76d4556afc068faac2a45fa8db2f100074c6dd8666fa35092dcfe602723d6cc42b2049fe0409f0e396322603c7f7621de1405c3e4901ac772eb2f386ad0ccc9a80f6e088dfd7f79818df6004c7858dfa772e408b20e714a5135b5c940c8cecfb4081baf708c23ff17ae676b9b7875b182037ea46e225d1006cac79023533657bc4f011f894a865910f3819f0f885b796972240f1170facaf42ecfebf6bdbd7f675e35debdf532494cc81dcaed7c3b80f836d80a8cc5afd426d9d823e51372e2030b3c8f5ef1a17e25d1a0ccfeb50b7ea672211bd7a535531f78b9abddaa8e6d8614f48b2d264afada6c892f35c0c4876f72efd9fe6105d25fa0a3852dd052ceb97efd6e26006b7036bb4e92e94a7ad28772cef2e9d538c865c5d497f45e6b62637068d8e189c0cc2c84bd1bc049b3fec97211ac16b58f656f2b6a4573266152cd5cacc5a0f090bc136501fbcbe60c6dbf7236aa75d2d335d2476307f1cfd2ab578dbc397a8dc8f2d8911161c6717db81072ba9a7cc91cae0a61f34ba5eab704dc2fbe184a5bba5b6367b23e3eaba30fb27218fe00cd664e0bc0759522a2fc1462f3a97708de27ffba111ffe50694236825c0c0fd351f0bdcdbdfde143d968cb7f089f9254feda10e02a8fc65e2630e8ed153ecf8ce5f327091f37b05a4b4bdb168228dd3b89b85b7c9f8a640f952051480ffc1081661d5d406cdf4a56ce2436397b6134d10fb5a7d43f8c5b6fe7c5495e720aa384d6028457ab8f18e57d20a9a7716a5478c10575a2457fa77be0c8a0ee7212620ee8a29574c9f03f784bb5816ce73b5f22ab4241d559e50db3e29519b472ef0b47416bf9a9bfe995f04afa2862e256b99fec906f4b0efc4ff8459c7c156d3fe25399f49a10a91fe315841f5bf052e8d9420df27cc0f7dcb36fa51b5cd8721805f87b81cdf52d1283698652db8752f24c8dd75ef3b90e37c8d230ac54bd72fd373e0e9906aa83a0c3416933ceea9aa0ef43cdf1958f53c4c88d7c6917be72d1188bb7c5bd2a36c9ad8c1fff32eb4a9505543747cc581b47ead537027cf872eee9eb048093016f0725b3cc34ab15305df021301bb88c2a74e8cf7bba09fc384b3525ed925aafe86eb4ffe3c98bf4d12398c02c10fda6799ffd470c7a3994118297db24ca6fc589d845e45bfd13902b51502ea149f9e09e12eb2c6a249bca72142ade26ef8e6c978c7fed58163d05fbef551f72df3b84237ada7053a4ecc6207af9c5d08cb7290d9b293584c99b45c00d86aab077a6aeb8d049ce80ab0930205fd48ea163f83316021a3dd902d0d8dd7996d2c893325129a25da20068f99572348ee08b913cbdbd02ee257edad3eebbcdef8d8ccae99d0134fdc799579c802249a0cb71b80481e8ddb7150c0b37fb1838f4811053c14f2496eb3180f9c08772e3f4f97e9591785be3c8575fc550c07b16a12563d03a054ef1e2531e52866f72e654388fc3ef6e4ad310078540bfe80b1d02133cf03651894702fac72f1296362692b2fefc8b062a8c537d52aa968dd2535e3b94bebcd2707d321c040cc19472c49bf22f9c275747717ee733104b4ecf6d5cd740a2b67304603b5bf2b59d9970e4d3ac00c4e7085126df2056352aaa7b4c6f3c8159302a141c3e39dc8d7957723853b0d69a3ec97567dcdb6522ac1dfbd5f2afd2927c8364f1cec38c3567a972726d67a351071c4113f853f06a738e8090bccc4f3545bc4122e6eac11f9d96720322e6a217690be2e647039d7b08984c517932a777ebe4713b623fe6598ceb723093094eccd6cdf0c3fea3ac21672b10a04a835eef291af002cb5a9549dd3372bf5ae092e3c57571196e01f4d8f170f2764fc9ff7ebf8ea061da8b885a232f59df664607cc2f074907c640206e0b3cf892fb63e62dda883bd5926ee79a149d57a38dac00f5ad19c4c62d2ec3a899d21f4d7133d15505973041f301e703d82872f3d349fea7b15f7a0e700f70fd40b50504110b4eb0285be0e4a1ec995ad4a23e77fa6b3abe30bca687aa241d814d5a111d9fded7a75817a730feb787fd975472771f366ec792ec9440fb63413a5051b03bd434482ce68d6e40667445530b1b7286af88036df58e5e0d88d9d18261d1af420301c2fc2bb770fc7224e5a9f8c4729bf5623eed42e6a562f788ea8604aca147f5de422d7bc890ea2ce4ba5895000bb55b1267b0d894cac1f1e1d0e718d8ea5d53b51483d81fbd6a14f8302531c872098633f4b94516062c70cd136ece5b2f2e338548f635da45a95e39d34fca5b41389ced505377568c68f8def3d04f49d33565eaaaf74372ac97063740787a9b38de2f4b14b8fc881fea8a51b88a44c47da95d6d089c6f6d38d2a24327c7a23b729ef07d4228c2f401d4fa3ef9c378d8028438ad7a50aa8c5c24a79132a3045272936ab2b755bf492def7b27c5dccdc0fc23098e801cba3bcfcd345dd858a63d0db3c95807867b75ff0c404903a3baf9ccae375a770dd5758ed59bd213c0ccea7274ce0147bbf68d7d093af476b3cb26ecdbe559a9d9a81c1d063a2226d01c2c0bc2ab5f2d2ae82e1d05c153697710642d06fe1dce6da034d01e774093af3dc35406673d232cfb530213dfc57cf7c0258fe6cee76e6c3480fba5ec45936d5a3972b790cd3018c40c5a17d76f3de713b52e81d505b42e354990895d5fcf28063e727c633f89a0b9ed3cc16b2ec25d0f3d5055145b07dcd691305fc84757f7552572d23728c1b3afe41ac3174a15899d318cd1e13e963fec28155527e451d4599672bc2fc3e08de6ca47c4078bf375f7d11d9d3f682ea0d77ff0263e8ab93b904072d8c31054a119464f6f5d0852a708110f8334646087f83d6c750f32f584223a594edf1c075b875dfa97832b17271da2a19fc1f9845db866da72a010c83fd19a7249083cd6e97f04e5f028a7a13a9048133fb69ab43425ec7fb56b5e738b1fcb726cc0ac6c28b9de9a65d35a50f30fb412e9669affd2733379cb5a029e55643434ed618b02799805bb7e6b2378bede37e9aa6fb2e72cc88098005b737330ca6f72f3a1f825d6fd354401f8688efc68bbe7a0544d135e6acd1cc1d63c15e3808a726ae9d8cc34436085aea97d62c2dec0461e586133a6b886408689a65c294feb72a809f3b89886e3aa41173fd32e01f9ec2388daad47e201d89e113afc8ffd3e724b13b7cc507467b79fddb7acf66f626a06ed5f227344fa27726c21a093381a6ec63a9eda5c06532ba34eca04fe78dc1395057ac8c00baad3e237bdae686525723f56770eaeb4a8ba6fa4d6c1d3087e3063048824db1a98d83b5bf5785d36dc18eb5f2855dd50eb8016642e9add1729d129e7f24658b860c6ef4f73a1ae300e725d0c7f0444308d64c846a745d44add5fd09fac1a2f7c0a2f3dccd67a5cebb372f4c6b5d71e19f5dd24b8c09f74563f6c14ed561a4c5dab1313cd8843f6064929d29b27532347778523ab5c30c28378062e5665e9f0fd105e6ed5e05ca25cd5725c371709c658a263fe9218d692501903a2344dec3847b95497990d40050aad69eeeb92f17c304016c02bff7b3d483fa9942b6fe0dbab227112cc137d0c85de4f22465868b3712078c92cc79695c02523a2aae335b8e12340cb8950a3406db8724858a50025225562abb3261b158f3a48677e3381cd39cab8bc558889dfbfe272f894ef1f2cf81aac50e604c66292d3b0334e4ed3b476253997755eb85ea427722480868816f0d2756f354d3d2cac034a21eb9e53740f24f50ce0032b3441a210d60ebd244295464b614b0ba4c1be210180ab204c12debf1d1aa7b7dc2dc3fc72b04405ae093887cb6b4665541383b8f89bbc225372a3fed36c5b1a0d356de52aba222ebefcf85f4e90087af4e7787d7a34e5300fa5176a344d6ca2d0da1d321b940a647c4771d9f32898c0b5f443a96bac576bb5986d2ffb6c8d5e643a8b356ae83e43bddfbb07654802402d39e2d8de218502c406b1a79a186795d664353f65ec982b3b06a255518bb00fd50c2c3ae0a90a21643f274c45764a50dd2e7b6b726884b5789da2d0a9a24fde3a254789902667e4a3543a7659dca1dcb252197b723e503f6d6a922f158b4ca0e11c0576493085cd9468ae36b779a58a699ba2152d8c66bee448fe457228a160c0bc9beb9bb777b0e7d18e6b7e1f39f2b34025466d2cdef32895833a3432e079ad28f6ef54aeead6c45a77986c56cee30e399b7432e7572a490ce7d24e30e081e210c29e39ed8cdf35965e4bb070df49e513aa5b6bd5d8038943655a469dff2c24ea44129286b74e7dc9baec85d44bc3d09dc63172897456263df8f81efa7907dea8c711566ff2627521ead8c03095dccf7036b10dff45591cae1d3a99ca93d8dbc187727d0615eeb28a20ab5da048effd9a52f2724ae78541182c36002a64858f27a5dc0a4862083ff30dd34da582b69c6cac9b7204bc4bbd3769bf2838a033d602df0a510f0c209597f3c91c121892a6d3a41d72c2db48142f65570b42ba09b5c76a9920ed1b3336d176cd8377764a9413ac65318c4844c305bc771142033a0bb1034ccd412351c3d04aaec64fb28f4ba651f10025110119e53facd5066fde87e6d4fc71f6976acbfeab703a507218129897db0beac2fe424d90a3ec5eeb65a2c759e7ec3be1a86657003b756338013c7811f32b0da753fcc4fce27bc10f81252a6414da0be6fe251498423b17a1a67361eca86ee8f44bd5854d4605925ab25534a379e2e7982e4eed5e30338ca6a90a90aea0722e95983bd11af9437cba5b372dd650e2ba4906b276a43d13f262cb3f71fe217018f2a51998e48c5d1917d71435bfc6647a650565c52e69c04414546305e9e4726bcae708ae2f6e8e6135f9e1fe52e1052ba2f1291c2cd0781ecb5f41cf80251b1b49ad727cdfd3e6ef8e6f069cfdb8f6d1ac2918c4129898121a82b6505ef4727cca89d71a7fad0cf40df97f3503cab003ef72dfe3b1a652aa3ccf0b07a3fa3050bc6483fb3503460a37a0f3a2f48156b0d541e74a6281d21369781767368d2d4a7f10c60aa0d2adef9c64f7b1be27a9e155a3c6a6599197b358116143755c72671faad420f6c2a3275f666d7add392ab5427dacfe44508ee07aa5225e19c433a38fda6c63bc221d943816b20cec10dcc7d68348325852b457995c7470b45a72decc460c1e8108824ca0099bb7cba379d06e05c11de80293129f027e874a564293a33cb48cf5f4dcfe2e0687a43685d276d09fc6839736f233e4b81fa8066c3f871ba06552cc9c31be11f5ba78ba046bdfc5a793276205c75dcee2c83a294d724b3c4847f6145d28afda9c601e195ce9d76c3d1d274f136a0610be6827d42b1fba336918740c3aeb6cf8b433d6a07eed413ae9bba728645713e7a8c5161b4d7241bea62a9fa70f6018142764c028ce010654dcb40bdbd7a0e5b60a2cc24cfd7204c6847f74fecc25ee3ccb4801220c1bfcd527295035d8857337eb3c71225872b07f091c9c78efa814dff4f3bfdf7ab3aa0e9b8fdbebb40b8fd2fbfee7f4407227b601e793814f9517992d188798753fc4837212b76c1593c3e723477f9e3b709a2f3da5f9eb5d2b303fe86571b0f1ec61c291f9cd9296452bc5448f9399983c06dffa44cd371b81c80dd0786b710da0894609863953be1e6d11a09746c03372efe18e76f11bf1ad053c78262b3788eef3b877c90454806567559a9db561a70e230005f4eb0a9592adcd5535adb97a77b4c2d1704c9e1c59b3f344d577e8712e910b2e73643db3afc13848251f6dac06e54094b7ff65a5a434935a59a4a4d372c9f4402aae0357029dc7ef26245ba25e1039da418451668a5915d695b79ec73c21c1f869eb35ca407c268eb3ff3cf11fd07d809ec182de76dbde0bfd4d948072c53aa1826cd50873f15b799628e1d24614f86a43dd10c0173112b6d0741649727e2d120bf610cb829c0b4cb190374271222e32cfc42f355626eaef85755f38729fff6ac117467637fcb3daf2e44466a699d7932b797f5fd89ec3a85f20c59a7218e992cd4deeec1657295a88b4b472265327228d219962854449d282a1d38a7297d7bd98b893056884439760b5cd2d9b3a5d1f36c010261f94600ddae9df827293619efa58a41e7baafe669a7c7118e26db08fc25a36a6e382edd615d39cfb7226a4384a32615243e17c8a33d97172473a48d498cbe2095742d3ca6e7adab872a354cb94837e69a167929ecba125b8e1f65b2f1751a157bb60702ac4d18e1272ea79a1ec12bec9a74b0fe551831f43d24194fdd31cd7bdcd294e0d6a2817e1725f45e24f85d087f2aec3dcd4f23c77c5624fb13983600dcf957960790b148372933df6a66c24169f107c5964f91bd44d700ede82865d203f6b28cbdca8a3f2728b5b73d8b84543d63729a96c0b7b60640902cb7aefca3706fa87d912371bf707f308286461001797ab725e03bf84957ab1989cd54cc4dd336a7d33da6606533ca532445eaef61587a4f5cb33dd4118fc4cfb720d1227f3a833acfe2940b2c4728c832ff8b99b09d7ab9ab686666931e97d27ccdad7b4a50a8a6621775522fe63b3baa15adf0e753eeb306c0ff6575d3949f8ee539637823e17aea07aefeae4019de982fb3ce7a305c5ee6ca186eb9a8e94c43158ca35d5aaa1741bbe11159972bee322b4848118c57f6248374f3ae9cce08e687d66f80784a56523af9f496d5843cd88203bf276402b44e9ecc99f9c720cca214e881b7f1661bd207bd90eee72851f6e8fef3ab3e2bb0a95d79818fc2e2be7e288a4b4e99eda5b7a2f231a7420b6f0d0e930d0c13077fdc2b3057dbf7b405d9c17d471aa5f135fa240ab81b272c98d7270ae8cfe47fd68bb5e5654be6e8f9b2fbf90e8d15e673886d2c0c74772475f69e426bd504c1e9bfd3a256a9618e471cffe15811c6e441fee21f800eb72af3cf589d87999ef4f01e9657e850105a22458e0125380b0b5de106c3ade173b436cef6242528a07a74cd56d48793143e097ae2d8c14ee33382290129cb61c72d52d2608548d909397e04fc9565a0e120b23c579ac7855902b37fb9cbfe8b233a1efced73bea05a5ae79ad2a6c6110d48c343b6296995a106183fdc950a0115a78281c34cc5543664e16002ce9547a3741e7dc05e95d525ba9bc7cf71e896d72e89f278a10c000c51e8b2fcd0c3e075489ad7c9db5bbd3eef706026f58b49072fb13e52ce8d0559ac52333c68bac94132ae6ced45733ac78816068de156a8072c1a0382612865873c56408ad43a42f78f6e4f905bb0960d8dac2f03bc7e09272dc68e4af432c9778020835d781a312f7007429e7892ef68ee35ef936dd0b3d72e1125e06ef1b14ec08674ca1d8621537d142f4f2297799c0b613217080b80772877892409278a8a8866c6059ace4f062863870f189784b78663ca3ae3e8fb13477ff7e113db088ab5f815f50648dea0ffe3613e0cbc390651e2082a420f5fd3614ce7cc500e65fb3deea57a574bc22d9b47274a3d4323b4e5af2ece7cca00c72d978bd5db8b0081758ad084b035773cb2c19be7dc351fb18c192be76e9f3f23d4458a22639735b0604fb464bb516fe6c74683227c2786acb2c0304c36527343b2c5130c079d50261673235cd49cf80ad77c1467b1ccaaa45cfc32c25120fae72aa8f34b7b27d7d01af35e042b99700cd84ac72ca64a2eb799144ee7cfefc6572286d7dce43b45d52894dfccb727a215684fd98a33385ef5c682a8098037fa47235067f6c3e65f570b21e478af90b020f72d20605486bc22fec1fc5c39a68fc0612efef545c57e99f93b102af3f43e05a14e96c4f9145ac18ba1d53724126a27243b34ed607f495da3ffd2af238f488ef3dede0c5e5fa4ef53aeaa94f433930725beaad40304dee617d7bc91e9e1b1b29d9577b66e83bbe4eda57e0fb9485ab64f1f5cee3c65c157aa6c2ed88ee5ccf95d4ce98269927d336a88fd11fd6e87a24d9b154e1bc64149161055a5be18a8fc08cb05a1a18e21aa62ba4f1b7a3016f5f2c061ea054a5d6bf836923f0bac6b87322740554695c1bd012e5b3ddaeff737218927d316aae456452ab2b17aa0a2b77105b32515cff2e3ccfff98a2dcd64172669d939410244bd0db230c4dfca2805a1370f33b70573830cb2b49e3e12680600fa25f091b859344be3abdef59e6da2f7b0ab89a4850b5ef116b2eeb5d57d8721d7bf6e1a7c9fd48ac8bbb2b3077653ac25e33d69e568a63a91b63c06f3192041d3d7a71b84c8e878f8d146a83d5c5ce8ac422437ff4885b61eb9318aa74fd72348fb63cb72236b4675cb91cc59838ee9ae820e05a89a018192194395d19611223e9878a3e322c73d50b3e88256853b7241d72b0bbad3f01dacebade52b90572d5b4be3600c65987c2212e2b70a4a8a1b6b472f189476994af0d4cda8556a37238a10791a0a406cb90795fd87b3aa204038b07454c75785ae338623d94a8722ae48c67e144055e572c6ff1bade47277450c23d5f55d8eb7553f250110866a36887c70a7ad030a2fad658ec316338835b1d3354b751421aea9d817460f69c657250086274f4eb449f4d661e3a7daa33e864bccd376e5780651329f46123358572ea439850783f41ee0d013c27640b3d23e3e36fe930f9edd47a925afa05c2ed2586c96b8ea1a5538dd1f6731416f54f654ecc9948f810fd453d65b93c3be49a54967382537da43e8ede67c8d08b4f1ecbce77763e3c764509ec1d63b3cc2b5872d452741f8c8fe0ad51f7fdee8411c7dadf79d9bc49dd048beade6846790ea47210bc74076d5be5d5bab4fae2611f9ba3fa21f326132a50d8a219c5137fb8997263cf904136c115cd447de413f3c12ff35204979da2c68da68b88885f344f147200d6e48ccee7d43c9358e81b4035a6eba6dcf860b6d6f0b32e4b5343887b3f7262dfc4a34a86b555049e6692b2aa1ad20a20df1fc828e82744b481eb74753d5d67a6ac40a9f793ad26d021446761d0194b3f900713c4fb87e8ffb59ba586f30b8f2cef2065bcbf3a2532bced68834a731b7b1cd8077ba39b21eb589717d1b3482528d844b87aa0c2406ccc818db42db9b5fbf8d317dd70483d47d29013cbea725bd0ce100a0c536033cdd60059b2cb37e94e25ecfab4957062960afc90d60172bd01924965c487ca61e548000d505de3bf2e0ca6b1fede7ce46c326e9004fa7215df5a788fa4273858ee907a092b8ac3c497f5400b1875050d60836fe8b4507291033cc0fd003865e7b67e08521ac46e230d079aa5efaf33e224cf267678dc176890c027dee110cb981bf154c24d70e31ba6b0de7cd33db031024924c86fae72bf86d1e2069b242434700cdac4068fac737d6f0ad0148b61113dbfa92b06ab72138ca3f7b9dbac50c57bf158510ee03e5963e58a5f86415fc42a0355a62e420f7f964cc0d7d937bfc16f93f95ff840e6129d65cedb88eddbbb230193c1cdda720548724c470c114f351d678d16c3fb942bb8210d39361a0d61be6dfb9c12ee2554f18fe98e3c00ece8e9b85bea74df63b678c4032ae2bf5c4e1568217ea99527ba1aa4e6e4daec38e79ce4e754be24ad7eb3a8a5a07a8e0098ca8d6dfbbfdb26b63d37e87810189044fe7e19c7da31a55f4ece64e58026b60d4d34250420d672117ccd4090cb28a43343b56aa14bedf6065429846f543a60391ef12c6c2e883dc4fb9626e1f738a0c34d6f91285664919e1ca2d692a77c4a7dfb912933a05e66ffe15520dd7be2a57899073b0f5fb4ac5293144102b133616a314ffee41cd905d20b5ab3c226c4b1b2ee5c603a97715e5816c50b0e8ad0a4b726c0bdee157372b6be1379e83c81a08e035780401cfdd8c8aa59b52c5cd03890aa677f6db41072d3a5c8d5f89fff33eea7d90f06ea3915bb336589d5be3a8495f6ec3e3ac1ae72962d3994a0c41d24e45bfadf7ddb6cef3575d2f1b416348c3fdb821a295b7d72e5bd52b7ae515ad6b8710f3715e5c336f79d08c5fc8f6d03e2d0c62b9808a372c6f30538ae503806607d4296bee4bd9dd55b8b5683b64f88a07b13a109a3ee6def2bcb52895e0fd094cbed07000a985160e958fe829a0d48cc2e3d0a78878b2677d52d24a6c3f8154c5711fb11f8050617e96e80c6e5c897cc245731a493f372b9148d315c576d833d67711b9235d937bb73241a2d7776c45c09144e92cc06720f4ee11674d263dd96c6a9558f218dd0fc52f669f53caf30c3bd8782cbe427726d66d58dc2717e23da01f51f63b9107c23e4fa25e6470bfd229347aab0f9ec7285d94543ab4dc03b5555f3de56d942527a332e539882c404d0106dec6d61df4f1d74403357d3f9ed313674827480951ef982cdb6018b97facfe9daf53524a022c92b196a94882f2710bab11e0cebdcac24a70d29434ff556db3dcb5231c96572a17d2024dea949e3e48404a89ed15835739641b1038217ef7bedd83b712fad5036fd1f9906f78a1cd6b3a12c052dedf2463c8307b7bb59a7622fc18fab813b579327f46a9e4149357b2563550ebb238726f379c22e69e53c4771f8e546207f727f74ba6af218dff99763f7f9284d6936bc22ffcefdee70afbd0d8f5d2f13e0720aa22f487d6a1f1a7d5c82408a12202b388bbef8d311fde6fd68ea4c458c601a2f1376bad1925e95e521e51bc732d707b7d751157018ca89373895693c606d7237d2895ee63c39002a62af1c76445bcdfa453994bed4642334ea33d63dc5687205654fbe56e72676fe255accc9be4ddd0102f4b39a6788b6fc1f8850d324e87287f343f41a86e829a80a986c0ab5ede14c2ccb82824f5b54fcdd278a6ca99a72d9563e08cce1f2234891b051201a7c41dc5312296f7e48d7d00a841863de7b72f9f6472500ce89b2b8571cec1e026f1a5e2cf090e5f1ea6480f2ae916cbaa672f9c2bb3d1590d9401055282d34cbd98aa97d5e59bb409ecff1225b17814dba46aab747ad62f0dc24e0f0121fa4ed24ae2b068e1e4401bad61dfab0d6420b47721b4f92d53165531d75125040bccf9296be924c90b8ce7765ae93c0b73316b872b375e3a4972ef13afc04d13d3817143d9501119fb383d9991e0f238d5f1a8e4ec74e57cc9bbb3d4ad648fac2a817a51edba6d2cb91f3f04275e25130eae9ee586303f5e3e0738a4e29996d22115bb7522bbe8eb2eb79e5334c5e0b822bcf2c72fc31b20fb6791af23b8d644357a78c4b953d3b7339699e6b87b052a5fb841b72edfe94e0c1712bed58dc3ba040992c400ee3282bd0326f4253e8ec6ce9161f152673f74683480a0cb9ea56f43b322fc2be98b91eb91eee89dd819783a248bf729325aabf066311ffd3822ddc8176edd71d412bff94ac0ad9b01b449d5650760db48c18c2105b9671f9fac1ad923ea15d41aa2f0a669241c2b17ceebd1750e52b7e5dce5eb889e246c239e635fee8b82ae83feda263b9b172e71d47f60b227372deb7b5f74328a2d76b472a632ba418be8241b632994d717736d358cde4393372ac2d1ebea4d18c4618956cbebe665ddd72e6f7dccacfe1929894926fd5fdd87209e23f2817fecbe1a99cea6e0b8a51786c26013942ae6b4a124a9820f05ede720c9d00886377b81285c50ca125ff99e2e096612c383112ed60c05be25ca0f172fd44d8575eeac41e7a691479682b6e3e883f6f13a22e3263ace591948d7f8347a9702fe23d74c8dc96a5d1885a85d74ec3a688e1d0f60918e9687bf9fd20f4684237aa2357ff6ec0f964f87385b099b4b2e1fdc60ec982bd145c07b801e1e766174cc8752c7bb96a0588bb388abc6fcc7f2499a0df8b63707f1444074742f0723df5f2acfd1d86c57e375b615e272e03d9cf81d7c7e5472f17f818eaa4e2264f6951210247d25b3d9d83bf3a91b9d5913ee5abd1636808df957e556f2b0f633e39ace6ec190ef0f9bb161d814aa96ab327af7ad3bbee766ec07fedc7b7ee491d9d5898ab39338313c1742ec8fce5e70ecaa97f355dc191fa583d2677410bb47240ee208ec599faa52a2d853df5464db745314d27ffe6c41bd45b7b9483195811354b54fc6113041438cfb51a753c5bf8df7af98cf68a941b703b4f8eb02e7c2f1b36a98c85ce6b3fa79928c032f86f8274b0cc82fd4e51652250ed115a5f0c64dd46e1fec06ca4b726f2aa5bcfd19b7629ccf7621d390da4419f25720fa91672b3a75d0140a4812b174ff2ae4aff035d1240e48e9fa43a6e559c7f54f48f684b843e6f8905dd57a4cd24036c8ea029538fc0fbb2f173c2791ec73416d204e20a19e4d10629d34697aa041017caecedb93199fb8140c9ea8f45b014757f09454733ac25f7a535bb669644f0010e42682784bbb9de37dcbc8dfb5c8e03f886aa2383dd77b64647ff3aabc471f1ce1ceed9223724589349adecfd170072412fa372bc290db3db7c6875b014c2d25151e5ea8ce8a2479a34a3204d2a59472d9d0a0fcd7e28b0d9749bee61bb1ba9d7fb97dccf2ea8863375934f02a3e18ca7cfc126fe0088a722b6f0f53a47cc99b62617aaf607358d182e304c221c2348f1b985728e71bf9a76424428f96bd0a84289d4a8965cf1d0ebead47d405e7850cdb1eb72c2d3df8a59b1c430cd7f02aa34812a74cc42e086ad81a6220af433047b281c72e2cc86e27f5412c6f3bbecc0caac46fe44879f05d029081e54dae77ccb8f09723212afbcbfc1b81a4b33da6721fbaa77355354a3bd6512eded2ab003c3a0f12c06024a0b6d826633d56d98f233c9fe533bb0bafcf39078d5192189032b2cba3a952a86bd9f080dc166eb7ff4b516d9f3096f59d2b1340dbcabb1b37ae10d9d02ff44f2c8d17b03412e8bd3705e1c7cbdff855a6cb99c6091d6dd09a0db951d7256fa8d390006c3bc775685dc15d5512ca4e64176bbab522264a647b295a19d7232ed5c7cc6726d6130361c575238e44d6c91c90233e25b02dba5148a378ca03d2733f9de2e134943aed0b53f94b8194daf1c35a3c235857ca4c86c6caedb144b66e21507791ce0314426ef60de23b9d3d5d1b6fbcacc62b819c0195af38df1397223ed9dd5538ec665c9a89a524420358447ab7b3a5e360686916efe24f6427246e2d2ddf6087c952ba57bf1c678385043db9570b2dd35c03fb09fa4c579c41c89c0effe523994533d6aa4f1e08ad440aba86b3ad63589af15d11cffecd6b9724919a4d36e13b45b7bf1899bfe0a390923d2d094e0c2c3cb1e761c69505db472bdb581dc6ea619f50e59bfa80b71ab6fc894d1d6b4f32084b7538ca711cd3372b18991948f4dc993955a739b78a0db5851f69cfc4eb080255a3eebcf5364a072aca1d85e335ec0e4088861894103cd48e3389a2f1668f3e74dbe227a26695472016f7f980e09b4055ef264d7fab88eafc80e76a74ca346cbeb37b25cf2428b72b6f61b3b744ba7a88e2aa54841ca662d6b4d28a0e3c047879d4caa4d75a822721b3b5aef04927d24b1df294473f3ae14f56d9b4de43c0a3d1e6e86d15dabcf721636c60d7d5ff2e67e693b7e5bdd9f449544cbf77aef0291f0e936482e20666da26cc1ab2bcffcbe34403377bf1a198e12de75169162be7a23b122e3c77a5c72f4bf36ad2f890773c8c9a46fac9798e8892fdde3f3fe1187a17531d6bca8c74ca25de509643a61f080cd02bbb93b524c4ff58648b58d6e58ffca15483e22ae31a9dbb34032de7fbcd881b128164b6015dcebc27ef40831eccc3e6234784268027c45a8d88553137f41f3800c8f53fc12ad05a71c3ba704f503fdcc5d6ecf68726e0939f78877d305410c5afe20c16f5c4936438d20b3ed62e8e36878cb900e1d5066dbb43b217bfa0f6cf7ad6e8aba46b87ca0ec78e8e3fbd9f0e6eb2ad06c7272ab17c1f9fc784774ad0a6937f2971d00f77709cff4ddcacc5fdbaa55a90a7293e8504591d239efeb46ce32641f2e42a5789bf3a74b4d7a7820bef0f9c8b372e6eaeb7e32b17351b8cd6e4ccfc48d86c5cf966932c4d8df55ec7767c8606f726dab3a9bb27a7e7dff51a1828a11ee9e5df67c1ef5561929aca6e05ee6cbee729f1b2f5e68d131548275771b41d62ef9c6ce0e0a16f25b3e5c9fade8e4778572a65e91663d07e2301c52bfb6734fc929dd66f18bc0c05c0aac446a791d07577255d86a49ced8defe54734d5f0e0a6c87f037dd6de88b97ca53147168f314947231d6cfe92a58d3841e2158418b638c705287c5fbba4adc2ca5f695d61fd36c49b75875356b09a5ded8c5840850c391d1eb78710391f1f64a86113ab79e7f3772d8b408f4cf5789fc51ed4411ef539ba2c77b5ac44319c5d01945934f2edc1f7297c5f4289d7bac9ed3adcb39108dc8bf436fb45c7306acfbf91f213412a3627240b5265e4a5d8951e9478bb020563a1a963ebb7fd947a9098d168456997aa272e95eba83651def9d2d21fd8823438663cfc83d3d9c7f9f433a320acf27dbee7263e5a6572ddf2ce9191c5f1ffa1a6cb2f50de18250915ec0b1628e83f06006728b5163d05519e2ff8cd6f80ab3787527d0ef89f8d6d1dc2b386664a5e111617289726a05b5cd3cdc56ae4914c1548ad5db1943a05dbf2f30eecee23ef6341b729139d3a5166813103f366f874f75efdbc6546c6193362b93e876d2feb89cfc187eaf3be7cfcf6925c7c56c70660dbc44d40c9abb9da7e157bfc87636bfdd3772dbd2978e45a87bbd777be5d670049ec115ef83fcab0cfd32304e22ee15d10c6bc161e8f773c26a691d9a81e495e49f00df009a0b9d12e7939821a44ca592703f7bd7bccf10e423d743e1df0f9c5790f60344abf0bc8ff4b305a7b059bd458572669fdf8210298a11de4885c40a9365b8618b9441892aa32efebecc82067ab9553b7715e37ea367d3851a039fa1d7a68b21180cc0a632ab4b40f1c951dcb8425d1c1a1427757e8b785ae2e01bbfaceaef89e54f237ef82ee163c8ef2aea5bed724d062fa6192a39cdcf2b11f71367f158a192264defb8c84e38042554b8170c49c348aa5f224030c04e522cf315c6fced2deef8dacd1ff8328f835f73932bec4527a21e2298ce3a0c355c2610bbf9318334cdc2eda74b7d14c997a8afd948a5ba02000072eb8db89fc5123ccfd49585059f292bc40a1c0d550b860f24f84efb4760fbf272c1a9cccc2b7a33fc46a8824149d7e2a36c5c45fd7ecf11d063837d73afc967727c038d6964685e95dba5a368e01e2b332e2061d021cf4eeaa9e2bcf2ce30cc07be208577809968c26371b42bff864171b1ff45b607a17bef9d5382577eafd3089883ecfb97d6acc0a80245fd58c490a523938a4eaa26c5cda58920f542e00542eade249af2b119a55300961622ea889c661c26b04620f3549a1670db68e2c20727384427cd2e13a229fba863483342f0bc9b254ada879da02ca4fc31670abe4f4c9130ccdbf4135804ce5951521dfaa24aa6767d1a69a15420cf76364256a172560636be92828ead5121d493047dc77ed3747247c01a3d8441193141ca88145f191637b9fbf127607cc784c3d8985fab3dfd2895b3cfb1bc25f6ed11883d3c729e12e6be019e8e4a3b33fc7be9e9b11194f28ba22144af61fd6e185c66c3a6344b17a75f4e3f22605031aa28a525b3a5e21136ce7213effdbd8410c050168b7223393a9823ca238542f1a1c978235316bbebb07232e273b198364fc986907a72c4fd4d771652391dc2f879eb258949470847c77644feea524ba2037c9350d372559ad653f740cf3c4e9b94d7776a86c8496d3a9c4f22640169ef3dec86f1041e14e82171d0ac0f8e8b3cf167f4526d4ff686c9e38301f5c7ebbb500bfd440530005c30e6cd2c70501cb43f6b67434da604975e7219d34e762973d366a1e15f72c394b49ce7f55b6a646521365d390076d4cc1fbf4b3fc207ede9cd3980fda530faa8615dc836915edab098051ac61a2f4ebf3020a148a09c50f417d8f8f174729156053fed1b363d6d6b29ccbf278242a8a369fb4d84680e2109066c38897872f8e71f5b10da2930111cde05cf4c810e6ddc7b67239f3dc75db8961e33f0d2726a6683d3b0ba1f51ed7f35858b1a8252d91efccd82d55ea734a775e5ab13e472da1d2115baaf96e6bece5f13e8312586e48c44baed0bc984e1be799c9371587224b7231cef736d9ea675626ac79da1a6f72e39e0dbdbbc708cbfbe91df13325d7b3c371fda5b9044979bae7aa30b27d5033d7cb720eeb4235b5e8a43b6217f7287e2c98bfed868f8129f7b575ebcf543d6daadb9f77ae0acf14eee5538af947201843a78654788cfdae33a8510b8205f8b18ce679e38f6af71c38cf21e93d07295810c0e176c20b90210200d82e11661cb58d8c5d200405e9ad0f8b21c0ce856171fe123f85698e7829c5eaacd69e8c3550c42c07a809c7831a49df305e0cb464759fc94bf0055d52bc821e1bbea670954db38747d7958e7a8d0fece29282772f4f1e315ffcf2a0303d6829ed0680d479d6c2328957d2c8e4abf2e7d21e71772780ac732bf2d35af94ef20cd9e94cb4fadaeff275cc1bfd7aa2470d517625d726afec6890852b8670c5cc0663c611d17b26c82a26791c07e7e560b3c5dc0404d89e01607e4060542a791067bfe26641a1f979c12edb47db4546d2a10a264b07256b06b62870143bedf5e50eb5ad1f225bd94640f2a36ec0790bfb4fa07487a726e4717cb41a0779022f3042c22d5a037664472b97ac923b1b610a0d602ab09581695f71c7eb682ef7564947b7c353ba859f8ef769e950a157eba1da93488857233c3758c343de3824c5bb18d95c92ca2c723e01593bceb192e8266ba9c62d1725e4cc8ba3fabdee1375ec98f6e25444f2629e079780d2fb84ba11302e719e7720fc90ae18bd6471f82e5cce109970379f1435eccea93554d3058b49593e42d72dc405743a82d9c80b8e515d7acfae3af408ffed59816d33f2b42a36131aff37217951daaa7adb22ac2fd3c1c358afe664a082f7c18206a3f2389a72c0fb2ab1385446cbebe94d3538b6d280a1f8f4c609eed81f57bc8b5f136c4eec0f2f5974e6d659e7d8a0f37a0fcab53ec0185fd598f86a5fdadc9274daa44eeadda50057256db3dd7b4633344f195596be70fc63254aa7ec67aa565231504ad6089762f7297fd34e7af3e3f67887e51797c2f4c46cd03efecbdf7e554d1841e581258a0724bd0ddd9eeb27484fca7398a9cddaa479c47a316c631b08dde6e5640db5a296c9eb86d46d0c0a608914183cec04a91c004d1225b841da693833a692f917b3f652f7a8270400695da0af479823109a141e12e57bf3280ab7250ee2fbcea6d5c15f9a28131c74bd833bb18258d85a2da483b5b90496288c77e8f17af99c13d1a3f249ab0899962cd12cfe9175b90806b6470b8b30e2e247b57c2327ba65d4b9372ce6584c4eec48220fd43a682bd92093b40f0c9401cf1e55995a1cceaefe7541f46adab6b777c4d94448f1aa43f23533d96562b47295f06d808e73b8de11b034ce4c2a7787657900b22de644230ebd59432962508ac82d4fdbabe9ea0bc725a722d7b4d8d3a02e7f11cb25f78a788e80129b13200619d1d6f552c37854cdcbc727755ace259dacda310febf114e06441b72c3dbd4b20c9bee6aaf7f0fc4d8d2726104d912ef7d3767f62542b241bc00a72e75c4990ad18b850eadf2083974db7239d0627f176b959982580e0b10b5f72c9609b821ea7269b6f6753ea4c7f5a219019457c7c8946a6106c4feb2a9fccb553d8ae08247d93e57103f013848fa2e72e3251e525e2f5b2f16d179540c742b4e8ee39737c52c8b8e4352372cf202f1508eb024ee0949a4a4bb4aa75483fa8ecc0bc988f95ec627903accde85ab994b5141965f58279caf43906e277901478efe35f6d7f22ef21d8bf59331dbb1d71d723996746b7ebc3876502710a1b466ec020c4ee70727fb848f068c5cf3e7529972ec823dc297567e9eee79e2e6aa173298e0eccff511456a2a0995f61f2dd71a3a106aa27c286bac2615db83a8e9840024a651892eda524b3fadbecd42b895b472bd8d86cd1467f10b8fb29b8d446d040422542c984c4a3a15a7da6db51d422c492407181789ad09e055b1cd8a43f3cf16347ab66099e2ff7bde41d4120fab4e6d54d60b7c7ff63e5b3fba980f5be07b648ebdab32aa684074b20f21978511bb0b31d8911b8bc03ec49aa12b4145d940229ea8907bf92b305b25a2e22181ec697221288ac51552c35938a678dcc98bec1adeb5bdc33de52d66d9eb0be84dcf3f72bd9f900ef115d7d5fdf4c6f8a86ef21734f34b74a94e073794715531d8961945d478ca0c4aa4b8a2f03702ac862b698e91d8d536cbd4ad48b1f21a3c1935f2071d3ec2c8be2a2522dda810b302047bcb585a8f00932e3aca97444334cf1be272549285818cdaee55e684946edb6a55978929985999c320651c02da9bc557ca724f76d07525ccd6ba5be627a56da199c38a46c41b19c5382e7ca9f3008cfef3721f0eed598a49499373774dacc8a5d161b80110d9b4c949ff50fbfebf7fba0571e602a00fa3080d5884ea58fd73583e07d57165554942182391602913821094386bf05ee149637c110aebc8637feff4258174ad7204ba16410cf5496ffe0e24010ff38d5c81411158332f744499d26e64973465643527bb65d4d5a419c7122f351f605708ff77eb9fcd7fe579f50d7208999f6abb4a4b1088d791ec34010b55413914b073c0708e8bb8af10d294c314034ae303d72ac1e627e78f0ea680ae9f2e726bb0db4b580f80a7cf854511442652d5c74c2c0613bc9cd072a35a3247e7726e98f09b0f0b971cd50ac8005040531c866be3138321b117e3c98b735ba92c7213390a6b4d1aa25238571d2e847893976f140130dfbc3c5ba05a5e75adcdd23283db46ecfb68803e6c480808cdf7ff76b296d39d32cd702c5940ee41d268647264c8970ba8d40fbf87f37f5310ac5458d4ba086ca487d0796b34a065327142598996f2d6fc57dfcbef349b133a2e68c245a7bdc8802ddc9b9e375f62caec7972ef7936b5d4f572785c03f9ed8004d500c15d79a2a96dc2a777940ae686d2e272db1e1a8501ed92d1e0ae19353e09855d36c00f3925816444aaf1f0a86f786d724a9570317d4a32d1e3998d10b7b486888fd3f69877b55cd87bedead9c59abf72df44a16f35af9ed89cb4e8c74e2d500c6be53973b47d816ffff2ba4fa2b5ff720a70f383a167e4791d0a7057aa261f06470b8e1d1c92474ee2ce2a116b5877191a9e53fe7c0a11dba4099dceadff15c805d3e3110109b0cc2b0f98a72bd9e172570e1809d69b0a7fd9594bd959dfd7471f878a93ea27dd0775b91ab68660d47259e161858557d20ed6debcecdcb8dfeb9d6ff4b3f896fe65d9e5b053055ccf6018fa0ee773f344f2977cf6911e9addb05dc3df7d21a2529e774641d98b742d4f1c9ecaf2b832baa6579c48347d7b10e5a109e7d8e3eb1705ee0c5d8b766a2b3f6ae8c0963738645651be064f906f37a95a812aead722ac36549d517c81b1127275c985bd2259d1893a881973a093a0bf909000bc0c1542692935f5ec132d1d729cdc6e6164bef84586787913a15b0474ee83ff0676fa0899377c72302d48ca72ca0283afaf49f29e3d647422a1e0a8b65bbf852ce03e6d886de1de613168bc72b7b3f8644c1e58c179c823b4f3c3cfed20a3090e6700ff5d793119101c089961d514439c867cdd04cbabce56714f3aa113e2d813c833cbf8ac08cdddb5beb5728ae1787ad6cce8a36ed706a1791c6c10b4d24ac5d944454e26e08ac7de5cea387cef72a77d9c904b181c257dc44cb8923a1ac2590d0dd22a2e632e702bebaa72a5383bebd51d615c8c148d90d702328311cd9cfe286ea86116b98f4e25f23972989d365da14e300ce029a6618d4c4b26c98aba8114342a7d1562ba97d1aecc636c3f629b4210ea39cc97d833c28aca771b8f39cb1cc7a6c1a4612bfa82aae12df056c77ff3aba660dea6788b149f741038939a9e9190c427a511ad29dd8582176ec8d4d374edf702270a3ae6a92c1637cc669cbd930348f8ccbab1c4c0756d0f8995e021b47ed7ab1491ac553b96cff81731d8c28207631be86d8dfd0b8fae68125ba7841acd9972ed678d0823e740f2867f8da83c03cd5c10fa80a208aec76b47ec48c5e9bafda67ea7f7b9e1da6b86eccf25b70ba6a632b424814d7f7d64724bee2af0ba5a5f3a2e2c4f43f4d141707672d62c56150df7821b5d7cb25cf3726faf1c46f202dde6f4b07b8f176f7ad8af5e4de5353e061b28998b4a60635872fa447c81275ad7b0099c479be73a599f4fbc96d62737cc8791fe7698db78263fae503254f19dc82c0d9c0af34a1f07483a1e8bd4f8c79459ccc32d55ff6cd772ad7354cc927b91224a5ca5febf4ba527baafdb171d87de83beea661c58fead72c626821abaede31aaf48bbfdd266f2d205fde64c2f2bdf618e5f3f00d05e6a721f1706d91a336ca7cce4500efe50f85208f9926e59a2986db52bbdc4bcc1a97233448fae60921114e126d4d4ff7c059a770478bdbb6458c66c045611b12d737226dc5a78970728207159f754641f11174d2849180adc9e1b419ca6e7a9d9cb72630676edb53a360b2bbeba22545cedad51cbadbacd701001d601d6c6b48506729ae20a00930694cc81318de60216ef16e546b72a7bf8c789b3082ff981861e72a011daa542d47a9dabded9ba1d0be3e0c06ec999055313db0b49d5053b1b7f720f28eaa24a606bfb845e0caa92c14c9fbab39983e70abffebf40ef228b1ab46aa184708fbf3eab1a6949c67e1fe03971c66ef1c985c1a35313c106cd36ce3772b03963ef4fe37e4e499b2f140d26f93874d3be0cfe2300ad52068347e62d305a35d39b5484d71ed093ed348dbee46f4ad102d21edc47d98d88726c841c576a7288b799fe9e296c06c8006ceafa2644c4cb03d28f4bcbb3aaafb8dc60ce6143726a2dde70155863bc0b8a2d1bcac891cb4df143144d013ac97772114850abe41e34f229da60e7429376824f59a7a211ac1636d56b806cedf7d5774cfafea1e121ae638a41ece2075f7474647648e0cb2804aa5b64828e9fa9093d7b72ebe16e727ae18c7a5e77df45c274c9d096d5cc464d7c116c10f38a7ee1c802b858efa62388a9e0fb11d8076ac9c126194bae9447c457112e4ea1b0566f7a0dd4c4871e7146c717e18c54b5ffcd6571d290447eedca6de3362b27efc99171a727a5f0bb727a867c24a719cca0023636a0bd1cd7ed07d91d3971e2ac3839d412b95176b57245cbbf894bb31de8c4267261c06c75ecf87a5ee5311789b6df9c9efd6b90ac5d05108fc97b15dac24f41713c3dc5720449432be4d2d69b98d2242a23c4bd2f22005a909c7b7a4a92f45bb65eb328b908e498039967c79b7386356b666ee3157256e0acbea57010d184e1b32b7c486d3b78b3a57b63c4ca72500b197dd5d79026107c463fcb4070e3e7543f06703fcc8ed1af717a7ffa670c15820694b01d15722ac610e187da398b505e2dda3bab758475e300e45404196faaa856a1be625327506b703f9a03c773bbe6eb81cb6be4b7874b757e2a062ed5ed8ae559aabbb17247922886947501ee6028de0a155683bc034c09096f7aa13941d040bcf929ce722fd190f258c21f1e0faf69a02327ec0a93b993ecb270aa5a9611eefbdb3e733a41f8da4752ba926d43f1b66ca01658276b9b7f4e358346bd5f9b8d49561c4e3735ba7944ee914c9ed13afc01b320c7a085c18de79940787266a7447cb87be172e6b50daaefa0054b0bd696689765d89148fbb115af353244bf02829646b8c772a7c5a4ae742216059f3c8363ffb2fd6f5696f065205be00107661349024ecd7232aaac674934bf1518e8eb9b51b2842ea2f18c8b34c4e72828ac04862a09df0a993f1cc191e6a6d4376947789fa6730e2c69b61de3c7471f81e1c4459224ca7297b45fdb2e1060c8ec5825b86c8321a52fe730438cdf7182f55788962006c80e6190effe5cdfce031730c80c94d2ba735dcf6d7ba68a8844714c38fb9c949b515519783e4894cb5c9a31c66df5767132336dfe2a35a9c5735fa3b50dce811372469f2c016507fc726afd91562c366146e46ae482e0e287519a75ed4a3dcd11726a6ac9d2f54762f83e4404a6da782fd517e919e004e8bfd348ca4d7c54e939729ff432edc778f6e4b0b519ca2adc92deb64cf05c8e006c701027985bb352f726305c7109bbd0855a0da245a683851255fc7b98579e37b3fe074be5bd8bc79311764b382348f4449339d1754802a430839495833076afd23e6ff830f4740800726e7b0a2a9ea6f12a7f981042f0ea7b5e8c16c1f4c017e9034f0abe2cd6a5567256c51a8aa9f1354c5c554b200f30a2041f8669658932ab6a5303d1535f7c327274a9bc347d54cb3316109f73e6cb125d3ac3aef172fd41d308cdba2425a36e215b185e7e62d5db9b31a314ccb2b26a9d935dba2511c947067813e157e0e86172d8c094d7f60cd99ad729f95d13a34564b9f1f8edc03202d29b89c77e5b4b0c727b8947a2388dffe71661960b59b01a8ab893072266cffddafdd51a59cd817a7201d331f1adfff2c2cf39b354030fff18d4bbe5e31147baff8e1d5d4a01d2a903722ac1a4ae6b70bb323e4d943a4226ee7b0e713230badcf99da8dc61c57f167251bbf897caee4ac02a76f87a64857f2a92da02e90f0c11568f98306fcfcf085f8b54e98013e30514edad049439f44cacaed285e6da7d0ec7102bbca15397bc726730ae812491ca66a7dba1f9e741b6004ef36a37a2fd43b37516b620257e92233349c8e006a7200f7a2d08ff011d41df59bc4bfb352b6974495cd2ca8548305f95fce02534142aab3768ca73e2abf00f585b13073699a89901209da42930eb728e5b05bdc801256f5a8c0f8038be0754eef9899a2a01f02274e76c408c86e53e337d10f2680b885422881acf7d8797c216915048d0e16ab0af8c3341f8b3aa72dad03bc78673078b9ab56a3be99c0ed0cb503c3b8122d5d0e4b94461fde65d227796685f71c109eba3ac2e1fd9bb17e8c15c1358df55acbebb2cba6ab3e03472b2bb9385b4c4300d2a950fa9109b79859c76e6550a3d0f626a7c9f82606cb8565cb28e2d43f199a90e3db8aab3cd2a049a0d8b58efbf84df25309ced4f0937727c8604c4ee19179498b5c92d488d226114eb5391458b2d180a5d56bcaa43ea72a96e521bf0c94a5d22272c55698b05aa28dc3dfdd0645852d822c6f3cf79bb4c70c7c2a516f4904791fda0f5140a72cf3cf3b93434e82d2bc02dc3b90845257206176e2f3511e30444f1fa0bbfd5b1335561e210745d880539a39cb69649907206e1722bc25c36bf496a8345723a148781e75b00dea6a58fbc10c588b40c6e725e1f158b8d44c714e369eaca5faeddc6fffc0b484427900364450fb05dccaa727861912cd8a724d775a40d6b314cab50283aec4999065e99ed7cf458efbd0f72cfe791abf412f60d55f106b3265b63595fe9869919cb8e0e59ad3ab6a190be72e84e0419452ca4513b7adaa29c62ef843c37686d31b480f475a94d5e5055b0522a6466402ace4631bc3fdc150d95985d630b7c888b7ac5b7eb62e20e3fcedd4a74fc2a4d34b1b6fc9bb3a4c5234963fbf4816de5a27d07f034f8a130aab430586f7f422de417bf3089e24fd13e2e595b12887ea9c80efcbdd1256bb7a7242a7297bd06058851191710eba97de2ec0c95e3867ee235f5b21c50384bdeb30eb021886a4d4160778bb9076c9a57850660a48694ca8dbf01cbb7fbacff217cb99d5113c6cbe9cdd37a9de346a8f1114df7028235d1d2abc80560db132a34a2de1928e1a628b71ca7543358adeaee528e49f3fb57a55be21b6b3d1ad712338c417e6fa537804b20bd80406966b076e35e0ae3e77e104c00d5409c111f5d92c2805872d5412bd93c0f5942e0800399bf09392eaecbbde3a87172c436128af4c39b0434ec99c3b86e17b48f48b47e196eb6eb27882c889dd3b1ce6ef265e0a5e2682c08bc4cbffefd020ffc55722c3208dd03bce9263311509cde0dce394b8760861a72c9956a24a7fc05cb3a70df5652d9ec5a34d0ee9acece5a1f0f682986702983352ea0c1cbf57e2e0f91286f4d66b51e96f08abe2c89f56c96c6db8269338def6fc691aeb4a7f5eea062edd19d9d6172c5c0b9d15d472bd771dbdd003f06c5d46d05fe6e841b7762c98c61ef0574426b0347001a3114253613607eeeaad303311d2021061ae3955570dc1a7ea2bec5b186f4836aa788e32bedac85ec3deac44872420fb393fe54bad6b616d6d3f1c3545fce289dfd17a9d3bf4ccdcce743b36d57c891806ec47d0ac1b68b2bea240142d68c2ba92ace17af4bcd2bc6e8dcf6ce72340d8cc8b22e9832a9d557797a05d503f411a91a28f7562a2ef591986315ef66d8eda1ae3806fb44f3a6941051bc6c8fdc7d585c2f0b93df9baade0753be607227ed757d10a7021cc5b3a72e99e43500f32fae7993768b53ab6940c824e366724036e3e3d93324347858d008d35e9391216ea8850add4d101df0dcd7b1a8955566bcd07480674963f29aeec4a08e352fecb78e42d17305cce49807e22957f9728c94421e2ed670c55e8f4bea1d032f8259d8cb38bbb6ef54fd9cc4da24c2dd7280f7d190f91b0a168f818a8df43ebe9212c35ec63a6aa27c2f19b83252ddd2721101f313700b365e5d96862f16c033b017b50141610f1f145265685881087e72cd17462745649fca549eb1429695ae3ec5e762bff9a8a45cee118f75acb1e428a85dbf7d92f07a6bec8d4f390184a30358dc12ad3af965d07e210e4b6d074c7202b38faecc65b5c5eaaa2d2490dc4b1aa56951c7e9a8fafe083b30dbbfc834722d476133707f4be5fefec6e50e6b6b3da701f4ec932524c974b738c7b98f501c3119df449cf0909ecd9d4c63c9e8756cdc2600237887ea4d73b3a7a3f67756720b4295e63836d840779003638f218dc2b213615c25c7e690fcf584a61b7e40352aa61c4b19e64285ec7533c61b7ffafeeb84c2f169961541314498317d444a0d29fe1a5e964fb37d8d1ca705686fefff8252184790a3e8c159ff092adf44e372723ddb6de67ecc2722a97555c630e693cd0aade60c4a0cd83d3c4dd34b610f7257b896068b816321e710e6bd4c6929b75f896f51b3cb8ecc44079763eace257244fca0a7f175e232f01b30de01580076244cde3fa5a60a81e6e719569f7cfe725fa34869b5e78bd6857e78d3576e91a47599de07b2db195ab75a0a4be2f572722c467333e27138fe3f4610d348b422b94d656e3203f1f402372c810eb8f67c359ed72a58416ad03bffb2b017a1c41eaf50f59682a1ef42ec6a978f5552a3b5203b9fd17ebe18c21089dace041f7789a14e9f0bbfce4acce02c2cf6169123c772e39a167683ac79462c02aeae2dfd75f576b900cb1019735d9f570878d6637672312680a1c51978ffe79756ca8210062863844afadc97f0361da1cfd207637c72de6f334ce41964d641e4081f0020b26f65c75edbd7404552482c0f84fb05a967c6ec4c0c634d720ff592add086cecbf511650441f6460d4b4efa5343b94d7d720f184ef1d216e53824de9e359b13a74f56df7a400fd3dd78aca6854e650a6672b37d24fd3464519d028200d10f4d414b0d51464d7fac6e06db37a821b3ecdb72ca3324373a5fcb8d834227babf31bab1b44e891bb813c5fdff98184ac966a549c8f7c2f388a3fd867a3dd8299b2fe91c58882d6dc844513486bf25d63accb81fbb6c1245e4330787cb97c596534748baef2f75e7e38deaedd63b50a9df3b89623c6346860e75c8e0328ec4c09332faa5254eabf8f74240b7889e4b3025962a299370fc2ebb4204106bf18b716042a54a7219dc090d03ffe90c2e02b46b34e05b73b87b3966f908bfe33a7dba2cdd34d5a32ad12f0c51f3b20f886c15d6da3e6b1e12c2e1df23288ffe56f591ced7a94ccf116111949fe652786ff35089e38c72516eb56025882dcaeba2db7ecd1eba23bdc3cb9e06bfb7818808e98259c5b3622bf69196ac4169fc94d42c6d8cfab885fc103b05bb9bd639c0c62f453e6a8b7264252f14e0e678c97665da5d2a09fd4f58f522c9cfa6b7795adb9f193ca6bf1db63cbc07aa51c454f57913e419e8777dffa8869802a705ee71e6cb87186659088f7c1a9f08bc42a4125b8a5825b51a2d5a9a24655e9c27774baab813747c4a727a539ca40b0cf8b479f38fe2d4930d9031edd668d34ea3967fe1dce8f2360a5ef91c3f31b4ea952ade75161db2f000d760c0252f9c68553882880eb7f8b84222072cdb195c691a09570e84d08fd77a60d04bf17a709d8aa901f325a010836372850b2010e869f6a429b102a68e8daa2a477742d6df80da3eda67d487c8f28004527556bca97e569787740a235b509ae784729ca88f2e335d8826f76f3006652df2883beb60721c8e96830c0761734992b93f1fdf6dd2484f9317d29b17f2bb720eea42e4f00f149abba1076f0a126aa167e8c5baf65a78bff09bdcb976ed385dd396cff0e1cfdd2fa4d7c8ad76db86cfe320afe002f36501d4a16f6d9685a757fd579af2b2514126937d8066e9d35c1e967347b657be41e1c346834c288c2072b3e1028dad9ff07e02c40aa34cf8d4edb35b48e91d5ce4d7242012554a0fb82199135db285df3a8008749c87e15d541f9aa9f845374a4519b0f5a25a2df16d4e86167d4a12521cc1ce088bcb5db24a0d252ca27ee09b5172f9d2bd62ff5cd31e773fec284b79da8453cbaafc87dd604c0297189c97aa2cf7d788e0a19dab6172848714ce7faa3a75c6962b2265d93b7e5ecb785700dfa287870fca10282f4c522636da332942195ef57818bc1efa00b43553f3efdcc6e254c20d58c72cc1c572b58e35163cd25d7ba1b91190e847c954c415294c7c93efc24ef5de22afddc9727bf6e442e961a32821015aca7ebbc82c51f8fe781b6cf9774fcfd1a18b97a172704720b85b8d203851f0f992d0431700c0d5c00b7ad3579c3aeb53ff980526071212cacf04257f8a28100157659a985af155b2ce0ef42e6fe0ae4a73523d527208bd16836d02ea77d2e1ad5a3264498209f3b52407ce1908bd59da094f69f95acdceb606d22925630bb0aa4dd8d4f146afc1a00c22222035f9596a5cb5b62c39c647c88e9c230c665173b9c4927433988700618ee8f96af5c8af9869132ae172ea0ff96343678ee4b4638bed2d61684225d2607ab0309131d4dd68deacf5472b4cb8cb9813b9e9ffd90c4789b980f09c5dbf09b6b4803b2e15bd3d442748bc394dedde127175a3ffd9aa37abb04860ef061b0f57a85a7caf007c870e8285367260db2af41f3cec8206fccff9846ec409930dbd986b5c5139ee6e335e75c7507213795d0ef7a9d3779d5a792866e7540f86feddffde2597c6a23e7c62f9029d724afe3bfe4807004e1a0c5acb3a2ef55a09f81800408c8d81fdf3c61737167d72ac2e906916d2702a175578927101efb1ad591dd8cee99e9f7c0e2074f7c878720feda2c3a787926afc024e2dce2a44b074c1d8868d80b443969dff21d943de34a5cfb4d88e983a7aeff8485181d16bf56901d0aa4bb6d751999bb67075ed2a72bf14b77bd7a287e6e984630f08613869f11f2a596c55c773e243db19a2ca215e89baba348a37909bdd49415f55fa7f59aa36db3fa8a55d760884f597a01fc072b3858df38288ce00a03e270ca10f52dfe33344d0b26a1a07728d9fd02d705372dd6cfb9b743ff0663de014b8de00799124ad2dfca1cb318174381af94a64d2729ce6d87711eb1126170436ffa504076a4420f203462d723d5e02cfb5ce7c54728dec22ff534e645982fef70afa3e98205623386c6775a3055a865d18e2b64d720a55683756b309732cf72af0e9c09c72396a2cfc9968eb8c650b49c5fb2daa02554fe10e491edfeb8dc54f83616e70ce14adb347baa6779068e26e9fb7c78372978db03c12aefb2fafd3f4def4f0fbe71c7694092a6464a0525843d1d2eff00e46348e5b42789ecf423fb0179db85a9f09a0ca86477084e9054b7998d76e8e7252c24e049f0e602d6d69e08f5a9391579e4fbd976f5552724a06e183e8de5d72452694feb3e8592434da02b0c2d19cb0713ca1781a0d781921dcf0898ad0c672203822103da58f31825ee0adf65a90a143871fb0aeb7e8b1bfa26b759d0cf11e58f8e5181d7f4bb0f111eae86451d3daf1e1c6a657d97eb83dfb4066c3602b59827f4d97340cb0b08c069d240273d5f5447544791d28e166042b9d365f095572b9fd48ad1ae9470fbb42e734c36f1df62d010bb91c4119da7a4e385c7b833a280afde5c780df23cd8cdeff5409f741850d3cc0226949b725a7a5b4fa207aba72023507293a98848bc41d693f2b43535b77777e649d7ad4eb8e051b2eb5fbe3729de85a4b091bbf9aa8df4dfb9a552b846d21083e7486ff342160be9be9f711015ab8b0ca389ce96a1c242ebd6463ab8e653bf38272998ea431768d3a689b16723784d9643e8a07157f5464f84160ca459ccf99eea3b74e3bd86ca7d9297f280d7202c9d2d83854c5aba4ef94810c790a78216960451fcfe66b148caa3bc23c72b73c53f795ae709057775efdb0c1c27d720b80ef13da8f37c91a397854d69172b03f291796bde68d5b175efb389ba28b939d76fe4e57935af4b910a20f460916e51a1133296e8fd2f74626306de8abef0005b097a9487849d4ef51b7171112589a71bd77ce0992ffca1e6c9f282bec3a95faea39d5286e9e94404604ac42043572336bdf0e7fab973cd763bbe1b5c0bb654b9ff6286237a1618e97d3aaa12e72881b37bf626dc102d0313a355d5ad14ead9a211c20aeacf58a7b38af01643972ed04107a06659b3de55c2f743961829f77e06ca905c8dcddfcf5adc2d4360e1078fd208ad5416b0d29435ff6de42fd5300ce3cfb1a65f46a3d4ea60940db5e7245b1edb5ad6a704aaa1c11aa1cb29f70a07a61e2b33b95ea5d3e25316209bf72ebbc7a9a03b2405bde636c4500a55ebd69aa6da6458aef68d892cfcab9b27c72bea46dfd9b62c583fc689cd27a0fb4bf5bc431953650395fa296b84682bf5e72da3f24c25d5e7d4e92da4714a1d61bd9153688a6e00c51830e7c691d2338d9724f48473fd10d8c6d81d5b0e657ab08251a517771446614ce800e284f5b27190314851e2f63623a81f80e4c625479ef8aeaf09427dda59a66f41c180dbb601e720e6b5e0bfe9e8b8a44f3ab82e030a1abd9a5d7b06370221d859599464b81f67234b50253138b995419c130fb94a49847c56fac6cec22158cb30ebeda336ac372798320a5b367214983ffdeb1fb84d17596666a87b7e8b1874bbe19a461e44018b70d22650f822b087b6c0c5c809dedbcc83903c3cc2f5e75b3e910a5d4acc76a1396728b46ac8c21968950e34996994923c7d51e0d041fb7c39d53d3dd2df172f2efd1183d198108baefd517c027331a935711aa81156d8825cea30185ba42650ef94d01ede0c724f28f222fad12da9177c1e4a256a263f665b3c9e8d2e4a659a1852a68c06f5436782f53bb3aafbe8aeb098d793c56e5872ad354ce0a66dd72fcc2e1cd71f1f7c4831726e56aa35119b55ef0a19ae4a00d5bc2c24bdcf89272e11314d22113ec632d9cc11b270b6dd4c85a18a39b1e006344980bd49815ad5a9584019bfaa2f9bee7c3269c1e02ff0a9bae0c811150e4cc2999f4a316630772124c33f4d6b32ad5a694b17dd1d7f07f1a1b347ef71facce5558bd25fb408872b981eff87df6393e0dc802d0c4eb66807001d2e7c69a41ef54fb161407984801fd727d38fb9beb1b877a95f46de7a7f1a53f56db4eb59ff0c718ff748fd1353b9cf0c237508d0f352c8571ff3037064d7820e8b653c8a94ba408bf7825770b723a865c4e47eb857d1bf3001943e5303d2efe6048c6058333fc4a73923c8c6c7263fafc53cc4bde56adad2b88666973337bd052660f5249597859d89234f2123c820272eeab51a6bfd20f506d5bdb79853710579b75642d8153d3ca01546cca5085502fc8cd96952ffbfe26ebace13782586d299f2c1347b32ceecaa29e18436a836f67d64058dc7de59e1a502a1baa543d68aea0d130dae5dfd4614dccd344728ca9d11946ff7cf77acc53c476569b1d1b19297a9c5625f6da230827676c7772be6c2fb3c5b297253041d86f679bb880e677475b262211aba3af7c4beab75f6c4b97ef1425d1124e0fbde4482362906864f6548e5cf60ca8a082e635bb5623355eece20df16dafa83dcf2913c8a93a135ca455518be8771db8a62f33c4439f38aaa91cd7c40f9d3704bf00e5502d9ebe2037420cefef0f36397d4e94d6871b56b05ef7cc01ef08362b07541225c88359098538add761bd6563c65a0a8f04e572c61018f46c053ed2ec1f660667228ced8f4360097952e93e1c53d5d3c733437235719d19339b8aff8fe5667976929ecfea21fd077a3146304539313423f2095380d5e44e534d45a26878a3044878f212ba7b9a1253e62ff8593948b35790fe72e2de56e715b1388d01cf705d3192b7fc6de18aa4717acdfa9b6d0973858c607251073a18fc849ff2f7f0102f169d40613968d900c3d0b69b3c8f5b5bd5c9ae7254a9d121271fb09036964344981b8681f71c66e39349581cdcb01b3e349e885043d98c799031d7829909440bbda7c28e1ce2569516c0f40bae6c0d2551620f721087b3262acfc5bc9fdf133384bb807e9be8543e7ecffb2f7552fcf541847d15097e859620d7b03ee6df1be521f0a3cc345ad8ede3d12ba4eaddecd07eee9c3daa6cc86ad543dea7c79b55897e1867dcde0739f59ee970f19c8d3847861e83723b4b7f6c6041366146694872768b1f7b4ca360745a785c4660d93b3f70902c72fd7cd17c7fcc05ca58cbc40fc2a08000cc496aece57876a9271b84013946f43b133e61be6d2a1f4804e239fd140e0d90459f2677020629e72df982041cd96772e4513191029eb82b5b69e2557fc4ff0c923a496ccdb9bbbdf0a3aafdb644db727306a5db8817563aa8321788749d014c2127fcda45ab6cc426aa329ccc24ca7228282b870841f5a377b63b41af10b775ddfcba09ed9b0bd5c6e4059188fd2b12933ce70b115ec67db2cd74ea0739b5d2911854fdff0afde56521f84b8a666a50a3403e4ba53bdfa7027bd4ada2717333154cf3899512cf65ca199c1ed735c629b918d0919c6fe96f973a6688039d106fdee7188ad8e24696541f4cb7e7788272b0e77d3cc4f84993d3de4bf867200ffad7cdcea1450060e5b9d95bd5019f847280d0e5f908c18b4b11a77b215c90504e94c6a6be3567a2a8bb0ccaa43952503449264d3bcfddd3334e96e57de4f5dc91e3728c6086cb4da6102b6d2b2cb52601d2cb3fd8075bff7c47d31fb48c1d277677e028c4b16bb2cba604996b47b01a72bacf4ffd77a5583d6d1dbe702d9124a3ddd9830dc0c6f58aef1f06e2cd69cc72f8caa919b5c4e6646a14e503ee6cae5d3f9e83224e39a926536d95c5f8652a72cf164a5f4b1d4078192af7b928833fe4c4d8938582ba220b5d05672e9a626772eff4b01b6eb35b9f7c6dd7dc7167eed6bd55cfbb9228d9fdc36f5d873e580c023523b40c1acf8f8d77ae14754811b01970aac08a733ca67808048a11497f7e4f5a9c6378a9bfb5e3d325507d40a1731e2508ec791e0c457ce5e945409bca9472a876bfead3f2392bda6cf199668c8a6f943b08b8d2cd1f9314e9cc43195b5772ddbe2bb991b54456129eaa9ff6248e4ba41f3d8035ce018914044416bad8d172bd9a2bbef3932c88006722e0a680f2d204343abd0d6f94252599698ea8cb0f7214ac4fce5e9e524caa2fadfa57512997d895e3db5d83f62519fa5560adb42e12ffb21fc6f878993e947e22422b13439bb351072e604c5d12aa8962579e419061696a15dcb62dd6cbce00ceab77142b5dd8081234a222cc658d6931f69cfbf865258fb6f4a059c8d446f5cca0bfb930b95237cc51e9299b2e59ddd8f77265601ca7b8eaf755823cf0d35937000efd324b0039549556e7d50547c8931e856a6958e59bdd87cb47b89cd30e8dd08cbd92332300657a685c6ca5135e3290dcb5f272879fc42c39db299ae0dee5c76abd77c95e9c6afd1082c091133972a20c5ca15027e6fc0a0c73c2d5fe5cac397e080250157383349338ed41e0d63e799dae0021cb2f82294c047a53b127564223fe70e4877fd650c875fc621aec26b14f961772751e5ee665f1a3fa2493b23dcab7019be75ed4fb7fd8cbe0591a9996f14f3072913539a707ef7c5698c0bb15918f4de6933be28bac48c158ab411e25b76d176a80abc9c6097e25ba469875403b6221c2771bc67ef2a130c38f9f43dce9a4df72593d5b07e22d1c256917b1047d9828a705ed24e3eaec35c01fdb2771ddfc976f166f028ae0dc77715c9c9cf00bc845c452efb2b5831edf05268658962d75a37263f6e48d8fdc44eab00cc38c8f8be3a981c64790021c2115a95d8a4c97321772af4da389e41c2e0a30b2b1a6c302dd7a33c34fd791e7fd7e760fe0758681e272d257956b25891d91b58947e28fd2dc68ccbba3664fea76daef0d65750817d9723dd5167e0c200d69e66b5dbfe95828c57d6f10c625bb16fd9ca77f0f71af5772c2a1146e5532fb82e956e26b609423cad032cfb15b03968867e24ff00f61741d6e1603fc3684721fe8543f3c6be0b1c2b5dda5e361cf6957ccc4a00815707e7235514ae0c3bd9e2799a248ea8b06e7f839cb0629837ac5632ccce9b7a0e5c7488fbff93d312e6acdce4ca808d285b557a43cb90caf1f724a7ea6045314ad467274c32bb283bb8160f8ea4ccdd36b2321038479ee676a20321c21c740fa681972305e1d3df869982887917013b740dce468c0157b558539ea6cf1eb6d52107772632c5e349bbf484085e683b3b5fe8a9f04a9eb56e7ea1f2da47b39ac37ab2e7289bb7717a57b963691f8b2132b85bf6e6685e72c2bb5048d2846e0a2cdbb684b782681d78df6d4eb7081e9067f3f2f793a3240e7610445786869c69f370e7d275c347c0f2e388a0ee302db45e513d05419d3745d6727a3208633da35b3525572f19feff2fe318e4d2e2c97882a63792d4e80732554375ea9209b133d24974707187b1e7d4f2a5aa885b750e35954428a921f4d407986fbb733a9f99b7df80b72bb849b0f6ebe42b59306f16820838afb0325b2ce091eac82c053ded346f3b717f300700703e067ec3f4eddb9c7f92f6528e71f9038503b04789d48052b707b7207f7abc61ea3017150fbe4f53479dd2ecdb20404e8854f9442216855dcb463724bded03d0724fc5ba55f732e2bb5c51fa60ac49c2c42b25d61bff9a7ab4e7072f6da1d4cc2a740c223f86ad600e672dc20fc27b0ac82f5e48fd1c2174cda825de90596917df51034d745cb920671814036782ccebdc0cf9e27ebdcb028dceb722026a5cfa608346576a957235bc023cce45b75809acec478eae5176f669c28729b7ce000423f278a97e39ba8eccd46d2e7ef10722fafb44059141ebe766c8561a82334fdd0ed601c51a5ca3acc602c6cd519900da34bb14e24ec22085ef02341d7603cb98d0361f235bd29fb821c4872330a5344f4498e703f5fcce70d1cc27217982291ea506639bacaa7a6db90ea1f72bc40e10314d7e9c50197073c4ddf038bddbb58972163ab6ff9685616ca9963c6c5159fe36acabe6e2e2ab4e316937264f5b5b8e6906cf66c90faec201101051251dc55f5139a55612d88466de2487268c01f866e8db54da678096c9e22a9a309186dfdc86be011a25d24180d118c7217aed48d058041e2d9e44181748a95082218c6fefc2802568100ac1a268aa872ed17e4db3d06f2e52845c28cc1313845d52c5ed4d534f89574e54686a44df872bb16b48839b8d0163110008b7e6aaf923a55838ffacd0beae69350b21cd0361ddc43ac9e2addbb961e1a651c716ca1e672c862ef1576804242defba27becdb681e8da6ac2f77c2962325a60e97cffb33f8aa70ad25f6d6455a96276f54aa3c72e3f2ef738b0c867c584668f4df8902bf55a2104ac635eb9a9055c3ff8e6dd472af6d407e54628a6a8c9fb16555af07cb77d89ebad1d1e08c362dbd7887296472f8b16dc4354abe3b0d65e169f9c9c6edb5a546b370b959d1b775077132be1a246d4d541ebdbfeaf435629c0d4f2fe805a52e60b74bc9289088aa00fa99c6ef2b3c1a0c2264c272f36f26cdd82f381ef4d5a5d362ffcccee59de3210705427e727fc8c42910b9a3d978588666dd1811967c8a60218b24ae1cf23e4fe75eb28d641a7485dc78fe5485d3bd1fe0839cff9f6ac38af88dc24b286a6d5de1d487375337980626fa25cfbe2e29edcd44bc01bc4f23785f0cc8fa1f945e4dc7b22b8f72d16bbbe1287e9c1cb3235f68b3aa6dfcabd906490206a4d6c7af07d52dab322e049fe9e34e7b0dc47a9387d5c570ee5eee82ba2443c7f34f94b08db1051733722c3077bbc8a69bf38f031e924d5ef38b8a260af08206dfc56878d5bba0a3ef24068786fb6417485998c2561741dcea6bbec602f64fb357b0145a19b51178871c7c81c64cfb201e6c237ea0507f3371a9cb13e8bc26603a159dd3302391a9612828f85f9726585ded183755d6c2fb695d36bd7706deeb7ea174177bc57b5fd64ef4dc5773fb3cc2519bd209dceeddbf1a45e9e5d1c6740367530ae2000e014772df30d5240df4dbd0004e26b478de4e1af4f8aa8ec5c4b5e54d9ac39ad97e3c10d087a8e6fffd18bd0207efbc2f6c46393470a64a86dde625d02611eac12dda46d5441c8c09c54504e019f415d231a44764179dbf7ebe26c227914ee68b94f0211345c5d5bc4a571a61d4aed366db29ed11f6ef10d05088ba97f600e676fa5a72db5bc85a768d0bf9e9a427117668a273af8a827020d112ed13e514f1a587533de5a6e722e0229c7b8a96a4a2c299c363a29cb4f9a644175467af932d91d83172ec2a1fc80f079a898e016dbd36241e099e79c2e14dd2757fbc2924f4f87f9356ae2f6cd219bfe6a0429bd06bb2f8f9b0685bbe37b2ab1e9c7c1ce4eb01057c72fbf7073457d812f5c8c0a026de276173101a5b1c35c3bc42cb88f4bc523fe67238eb692ac849bea965cc4e283e494c1c9d2d691a11c6fc9081c2091449d5ed72464facc4c5d2d31afe9e2a040ec7706bf9b0ff3f094342dd79a243a03b5e1e720bc8cc5e7fef7527851590efeb36bbb153ffb674840b8ed2a5e4335b0106c7727e84390c0abc5e7eb68ccf0ea1bbb55044bde42e232bdc9ccf2f731539eabf636cbd876130b22dd0149c17b12fefae86106e858f06398b223c06de215fb8ca231c66179d7bf5e99dc08c3a9291639d821af6c40eac1d8f0b1697345bd7b9ca373942903c2164bf7eccbec64d71862d446248af1f899d01fff9f313b33a27c62cd9d1e44257da9c86370777d449b77b93dd2111a730debe8084b0674b52437a5b7c665ce5677d1f102cea44be896f6617a984bf79814413b0845fa57b12245a72369dce731993b9a7d19f1e75d8f7477a3a638f6fca260d7cc3e89ebb2a903f721a29bd04c0fa7a1a5fa709d626a737b3c19b0144c47d30676f8bb65098e9b51877ddc35a730096be0fc99c286594a02893f865b0635427772b57b1815617237268e757e0d9f0fc4c03741af987ace05b70a579fed33aa1861d7442be1cd4ae72caba5a9ec2d43507439b4f678e3f05e625bbb59d8f3f05219062d71eac8f42725e78e7142d7b2f391e047f4fd57c8a980323920a47d6980e63134d162dc43472dc9a948239ecd8b570ac8afafa7189c6c41a29a13722efc63a2d0ed9d311c64fbfd8725a3ec58b8a348f07a84a7a8a9161844b94cf88ce0561852b51a5be88376874c7d8034450f3a75d65fd309fb1cc1ba594ad7ef7dd36fe9dada94c14b872b47e2c10a8f2e20eb62720fdac3e8c3d09635f09209dc9db4c4715914b9d785f987f7959f179e586439024f2154e0672c7af850fd145eb3acfb11a34de1767725d3e2278634c69a0968cd6ba8d0081898f560bdd59a6eea8574fb11c93496c5b3672eab4ab1cd8596a2e48c40eaf144fe8d46f894922318a8f094c6030e55b720d29c8d6809bd241522ea8053d6877e516750a27d3024895566f30a418cec3716a9b4ce3959d8ca231ff8296a6153ccce5c0e37de73b64876e5450e760213472e81db4b749a21ea8a7bb33f1eff3bea81a8d71e41966d078804f281ceaa15772aceb2b907d7c7ec5f0aa58d57d1387b5a99b62216a47f906c94a158484a3275c8b3177d0aa3f6489b5449ea980462c2fcc9adb26607308ea72ec281e3fb6e914e2c2d02ac9ae9392236dcf9fa6f71d5d3e70c846ffd3263b119f5f39e4659645afe6e1d498253e85d4efaa3729c016d8eea1c0a67e976f7850ef43475cbe204ca86a3431b36d3847d1344c6339a4b150d4777aa09ecb2b0fdeb09751b90efa016437d8529e9e4faed796aee8dab453c8f09d76ca0d75a5900391e4e69361e538a464686f9c7e5915e7efb1b09ea2de07ce57e51fece19c12d606601ef445a572a6d5ba9c25cacce33df79f7bff9734583d8436f89213b0d4635119eaaad8af7233e3dde822a7abc0554969e06feb2cafa97cd8642924cd77d9af330452b5d8511836e6ed91a02dce6af4b19af7ec4a2bbf084e963d7d3222e2da40c2c444306e60c37dd01e51c1fee118d8bbbbbd0509158959ccf61d1c9e2f83b8c86c296d5e70e8d02561e68ce6015606380164d7c8dc8808e30b6eebd72761dfe415a6dc7237be3c7f8b1ba0776ff6032ecdd773a3f9e1bc4d96765742cd4f978f421f0272baf78fd63dfa303b2e8763c3d85596f6b189195b4a5ce22cc21e3ef964e09c72e00cafa00665cb1fc14432fb46599903c6bc16de4ed39dda4eb14311b0bc2572e558b1abcf37dc9c66790911bc0851979b041c695caa1f82b84a2dabf3972764e9bdaa05aed9cd1805cc349ff4b08140cbc87b32a675ac7d9d1a736c80f32922b3034a73b9a5095f952bef63cd8049bd7ba62948dfc0824fbed5600469af336acd393b8a80d501d8e42c8279a1fafc9808efcae7d5b102c37d84cd0a399f153574f576072b3b422275c9534e77c8f09eba464163e207cd55e9804d1224637126b3dfc36586fdc0fd6476eec2122507c3321078beed367d16859da6c15b0af8725b882f9e3bd85e3f57f1b9eb827b0fda1030dc8745f7a6ea1c9e764701234a725eaf9e7cfcfa5e93eeedfd560bf37d4b3b725612594dea93aec5f9376ee21d7286f6a15c905a585b0d18836955c87fc8ba10512f4613ff6186612280793cdf72a9c069a32846d2b07eac244214619ad3785e5e34ef5fb33b9694babdc106d17229b18851399fa801cc7c31087cb496aceb9562417e5e6856b1b500a505b09b4beb093405d20e18244584b98e2f7546cf59a40db055281370a095abaa04ea89729ed4df614acebfa3d7490d422e51a66a765599a46b32ceb27fd65c69dfb10f60400ed4b2f9a6b0bc6b4c54bdac04a05294fe75403314e7494d15320d0b227b723e87c6848c013d4a39964c142fd3f1b9624355da96a667f244904d1c8bab1260510016a287a590bd6a30cc830410586f1cea7d632e9ed424ee26beba183e104fa5b840343b978a311f8fd65be65bfac23c8143339ea6bb9cb240378c11124672083d9a26baedd474d3bf723ff01acf51fa7be4a3ed3e94bf7190abe69685a165389d75bd50145796489d6cc798535b2f807cad5147ebadc4dc1a44f60abbff1db250c2bcb83f773437816bf0cb8312ad81dfbdfaa7d86571269dd2878100783e815ca5dac5649e12b8035f232cb261927d5792ca7173ffe53787d5c05fbb037254da4ff49910b4a7e847c838c014de57ca1cadb94f1c4c672ef44bada5d22d72339834660b016cb4d18fd4c9b82ee87b58ae42e7d3a38af75ade2d7ccbbdf142ebd058503766af42fa0caea506a69631d1d114d94a9f1b92cffecfcc30d8a245954ed5d1e097e32b691ddc289bb365ec7d54afe2d2804b589f42a9462d83a8056848cf97d63a795ee93e9f7e23b17153647d40adb764c92c044e19446e60577212e60f8afef7dcd4bf3f1509a622c98fecee2ac3fd40d1fad0b0e8e9260cb272d1913164483d35e85822396e837f5f202640d5ebbf477720f09df8b9cb565b72b684e04f6e9c31732b9e3d371b4e072c9ee92f28413f5749f17b8f8130816b4eb354da391d725485356743e5030128d0d86d32e9865bacc99fac667ae9fc11726f440fe8df08803cee0478ec41c243fca5dfedf4e4c54ac454958a210bb010520b7ce9b7d9d6b0eedbed4aa272ad07281aa5cf7659d537b5c6a3c83253f3ec390f1358a935ca1e78fc6d9dab22fe28b130c788ae7323478d1313b89765ccaa3dcca5a9b24240ec9bf873ca3d7c6fd65bffb930f0cb4d2a763055f78a50537672c6f065655b1856db563b781ec5244ff0d394cd6c1ac5c49bf2a271b639583957d06436943bef1ac8d53902578ac36e989a65d41ded2d0adde31e73d68f2c5972c8d7d7f0edef60e57176de1abce1bdf14a20da430970d21e11fb2b596eefc25cf078ccb37ef9019f03d68acfe2551a69ab88ede2b71c0e30e8b31d6ab6f2603eaa9c3091ddafd5f746d51c0cbc46257107e3487e5bd245673e1f10c844452e722dab3ed1cd9dc69312621ad91ac23d8dd65429aa05c64cd72ee1a1006fefdc7204280321b3c7099adf900f8fa19c1cff024d4f6e76f3f2f0e1e52fd23a577672d6aa15cee687b393f44424c8c066d1dce9295d38d45d8f2c016829ac7e22cc7203b30293edb894eb6bb191380575c43426cca4cad75d4dc5f5f94f05cce8f9115d5f69d1a02d504e20f630051acb458556fea46e583e8eb2d82e6f469de2c672b78b4367a4dc0b9c1b427cc6250a7853147543448dfe7b18e93ddc8b07d6e6724d9dc438e45cdcb1f84834b08fb9edaa138f626800914563658f0e154f7d800e2c359cf9fa35001d76fdc356ef6f842f660d8b1e016fee8df44dd0d90a5c80724835c23102d754fe868122b9bde5df4e58b6a6c1e6d07d026c3400e1f6bd95726fd0f17c6645c8ab3860f77ab384017d0ba2ad40852c05a37a005eae6574436a734611de21e8872784127f7221023e1a82590bffca77996b148501f7aff2412ef55297b602893c5a9996cda0e4f0c1ac1c155e5e724595777bca524be84a3272c8be0fbcb4054530c8bb30366f0d9a28c0636827c10e8ec4ab2e84cce72be859859bdf827b968e7fe404fd7e31e624b1658b5428b019e9cbd571e6f7e6c7ad722e303cefe62ea6722eec3c404da594cfe2471cd74eaff95542b3c30b5925567252b720e24ad140259b99bf4f2298ea4664248db690f76e6a4bf17ae83aeaf81248ef6b1ee78d4032af277fbc4e36772a8a398a9c216db52e50a25bc63e863a725b14b8e1ebce03794a673631a1b68a797fc407641f361116c9d8eb61478aab72c5ffe11be1da1161b60a6aeb7ae6b2b818ccdb0b2cd693bc0911d1ed1ed34072500e1201ac4ad08c0efac8a7ad815916769b4ccdbd5ff90089017def35f57c729801adb3a1a61f5b7005301ab9e1ecc58d22a9d46a95f00e71d1573b734e561b55b33e28a70d596d7325d5743ef001746e261c3338c441b2260a6142cda99672bd3c4dc18aeb94628419c3ed342d5fba29d4fdc90e8778db8467cb158bd649546caf45f7a48a251d8cb9f9357cc8dfb881caa8a141eff22cdcf2c54610091d5a62545366a7e5c3a9bf2ec3b3c1ca834a571f270d1d6cd82864b8291a919fa90e588b71244ab0b897d0697c4f68446472ff34d319f9ad1f272464f0b67795f172077c858518456df1d69a975784d2f1a5eb0e85eebd308f8c3e661068155dc16316ca23f95fe911e7a9865a5ad39a7c0467505d6b3817820d7d3a18d529183f729a507a0553ca6571497aa05f03baad772902d20b617c6cb440dc9eda19238c728f5e5dde93ff116c2415e1c3497c9243458aba0365f8b39643e56a3b127eab72bc3f3b954b418e7320cdf4349fa6e481601efd69a4dc30099f60291b397d0b6356a2fe126fa6378d1ce33b2ae3674118506b1ad68029793c2b73df6e215c95016e2a077d1adeb41cbc0354d7885a17876a8a2b348ce695ab6b300240c67fb6725c59de161ddd296a888b4c2332cf6bd1bb8a96e7864bde0470ccace2f0dc0c72198522aa9bea419c96840f70991ee00ca71e9ad323a63064fe5c353c4cdb0d723bef90cb5a9600a7b1f5c5176c46917ad22b67ee7db30bf8f09d3b945e218218a774d46b2abd6ca843f792d637df09a863b12c90c7454e09d4151b38f89aba72c73c433a2bcb6da895683abf3e59fbe6fcfd726c6d2e8a347bb403389c35454f679ebce31f58a567fb69a6af0c7b53069086308f318ad5dbb235e6fc1fe925721835ef6ee414eb7a83b33098de88ed2cc2fb207a967c9781b181e1694e53b7042c59169dab906746148c52a49cb20f06ccfee87ad7a8e53b638145ff0c777d3e7765724a5f96a1ce2cc09736976de5ad9ff009b0cf22ec049838a6fc8c306472ba94b2892af549f4f987928c82dfeb83ff1ab770ce3f452b732cc2b9e25e99668a342b8f8449517384ab00e567c45364fc4142dc91d379e34adbd236f1472f1dd8fbad48be4d8c94ac5962245174915e1cb8e42ec25fc631d13bbaf6e4923c72d45ce48d0dd0c1c92106bc6aced995cf7f2a130c190e61ace777b726d889bd020ebc1dc55d60bd32334e2469a77a024c49ae4a982e78a5c62b488919d1f93f7218daa2a4a0348c64ff36cb4600946e729f3f2205e070d4f9b0eb9c48655cf74a43a2bfec049230956b146dfe9b5162d0d6570491035f5e2f2bab59e19b2f704049cfb6494bf0578fdada451f491e1aa36ce2719b872825eda710d05a003c3a728297f2dadb66c1b1f4c7ffaa37a706104bbf397580ce1d37e2e1c4dfb88c4e511562870de5ec276181baced68230cb475bca70a75ba98f550d10c5e6c4b4997293398faab7fd90d72b372b33a4787bc7f61951e3abdd9c9904f4eb1583608f6f7bf34687406a02a17b549e3e7568f6c3863bb83acb8e16c48fb21a7f2f19d27286a937b50e3f652e9dfb228ab23852130cbc336677b9ac85b42a6836d566553ea7788f95b7dcd6ed062d69a7321c37794c2c289beb3f51c53ae37d103b84261f74e3b5dce851d247b2bb817d00fa4e497ebf531a2874e56946d708caf442d20b1af5b3d216ed1cda7b7b5cba2cb89740ba6a81f7120dc02331ff3ef4b19f70554515cc4d6a69e0d9cc50f1191d60900cf510881f769d2d461a8ef21523086372845daa10c86d680422b2533e121fac2b89af6c64f554aaa253d423645fc3d82f0bde21912412c4aebcde5d5edd304778ca130e568ed219dc43c839965897d1727879e705e99644f48b25d6c56939777a05bc63377cdf6c6845ea5a7921f550232d862b4afe2e0f0b7a16a2ac329affaf2e445ee66403237e22299f6dabb76872f99fbceebcb42f18cd1dd788463eb5cd899ff6b39162251cf51c26c82686ab72c734f81e742d7ec40e4b2b3abec2d202f588c64a22d33f5c493be4a6c5ceb07203daee71a8a3d115a67ebb825d91ca79a1128f20393eb9cfa91f0adbe3155372d4cda26ba70197c37682265694b02be28382fa905ab941c6b4d47305d5ad14724204b3117134cb88158e8ccf48c641c16ee22563ee48add8167841c43ad7f35834c83841480803fc1a838f5c41ec5f1435d1b7b678fd0d5bd39598c2f40af57263bd93b8c26cc71378c2aca21056c524274b5bbfd4e3178aaf60f0d1c368f972e61e27d8f923a3a000a6daad76d6ef48b6aea445c4d824a181ce0b8218c6aa723c53e237ce65fd59571a83d9de4fbc32a41e18eecedcb4cf84be77677c6e3e06882d2ab1fa201bbe97f455be08d7ffc7a925cdf897a079aacdd8976300872b3a7396fb01535908406e45e6834a60d007590cea6421f2a955317663b134c75f7269e71cedb20db486caa6f57d6b3e336f6b7db34f189fba746ce4ce63465a5672aa75c74941259b258ba0a77aa476479a8da124c3b6ab79ae77e0e572ead84e728914d9acc2b1fee9732c2021a0b2e2be0d53ee915e14050e841756eea5e384728109e39d06f36330503e49afcdfdef39a611bbd955430ac359367a23e7476e23146dad8112b657eae228db9d3603f9b47ae95748f338ba2fe802d9ac70e16172f401b38c339d0c0b7b0ef154026a15fd032ab71a76119624549f7cb255a9d0722008df4865b9bca8e8a403c1847131d9573261f1acdff00e70481c4a3076a5725a6050676d2c56c7e0d15061832563883bd8fea6fa5f302342cfc0ddd7ee9a7289ab4da7cc116d647f5565e9b6d6ef320d86373b373dc6c14d7b368cdd887c7268fff74306235ec4d51286b4ac3dc4247362c6ee630007c0e5c051d8c10e195baa3117f59f0a2bb7c84a77e915724fd2ea786c9e560e58c9942030c020fe9c725e5cfa9ee38628aad6dafadfcc4e97fc22b62afcf424eae6e64b62ad9fd18a720d74d274ec9d7d005032b7f105d90e7aba7ece8f336b3ed57686b31730957262915a4093c30ca431c75910385f6a206cfe6f43d1711f27816149d592c2adaf72fe22ac200b19c112a62467c355b0ca5ee9dbdd6515cabb4ae6340a8fb3402772c19397223001b3691b446c9fdb8647f2f874a52e9cf75d7b7f3d77f7adf17372a13644d2908671bb8288c38b126f71b073d4b152f86e85681cc64405b62a7635ff41b128199b3d950dc052d78a7fbe9b871c4e54ad555f46d47dfe10437c43720839fc9d67eb163cc98d8c1091ccdafd03d176a35768ecfb0ab55d1a94ac7f72c59497eea208efeccf9a3556b41a6b370bb2e4fcbb6f16ec59f32e49c160fb72b9244885d065ee6b1051bfc969d583fa12d57b0c8716306cc63364fd1e821a2c344cb05ddf186ee537086e7a7b6a2f8209486714d1d8fd9bdb3e32bd5eed1472276831a4b1f5c8577610029f081fcb87d11c1f0748130668c41496cc2b00ff30971d959fdab4faeb7616b473e9280c32dcf0f2721a1e1f2e3a0ab097fd2b8d2fe2fee68d455001fc8665af85142173817b4e6ae93b65bff56a8e5f69a6a93972b3f5b29b90b9180386d08df72432afc4af4f933529aeb4798adf5559e6f3b272682dee5dac49582689ca44508aa4c3292cca83188ed9391f29b19133030376724fd37bc8ccc644cc47543a56be25f95ee3a976908c908ac1e5e95936c2696072e7d689685fce3d2711351f8e68526d45760a133c241c414dcb73ecf8b73a0d72459f490960e8b4533b64c467a5c45eac24562e84af4b4c7691dec7d182b2091fb8ef5deec311a3be2174f385c74341434aae0fafe0296d7b95c18d12f642a672eb453a88b1b3f8fbe142e4263b82c72c3da5529d0a3c5ddab89a5c19afc8fb7222db44c85b3d5f4fe4870b827ce6adc2ed324c9e93d4d3be8aa5525d2501f1457fe4032759591e1c83d84db38fe986d42ae05f0235f505cde4683f53664c4d6e5a536f3d58e0203cb8cfd72cb850ffd8633d5dc3733b096f94734b3bfb980872b01db8fd51ddc58e90533567251b88954179148f0d296c79b24dc0cc527ee772393398abf05ce203692e8c340f8d333fc9b1c9fef7f2f1a955bde961e757b504b51b89cb7036091ee680e66724507ee809855410033e15795b77fb73433db1727a62b5040a0ece4e5d49530a21ff657a143303533fe88a50dc826f7aec699a6bfc41479757f8923137222fcb0d83ac147218d7c7faf4e809e7e0d3d99690bc724e1acab013cabbdcab9a75ea5eee29b23366f06063a0b8ad77dd90004e5d42118e61471b89f47a756c8d3754c0fba9504c2774edfaae171cb2e8fffeb16c9f7298f2b4dcfe6dd0546387adc1d7dbc31d2566a12d1c7b958344ac7c3277a43372ba7f25329fa29b160193279fe697f29f5ca50bb7bcfc3a45dcd1eea05dea834696d6f6cf30f6ada9e870027cdc1ed5eb2288f3bc39dc01e49120768772c27a72cddae45c60165454e774b6cc1a8d002e632bb8ab16efc69a23a208327e5d0172376a9422e56330cdae9d8dc3fa324874708874ec27512f8ebe85ff0c03b565131cca0c25cfa1826561fedffae5e51d4c2652672686351944e666a6a46b62d549568fc0c7578ad7a39a088cbc9ed6018b03b40cb78e33b4fddff9102ac97fba72beee244dedc3d80b3562ba029af66cfce7e65001591fd1337682eb71a08df4652c3c3f2e5d2eee8445ff89bc61599a58916e15dcca54c58392e2c50cce921872c6c2dc0ff70455c7698c0989c1ba5decc94ef0ffd63a6977b0950a948617a46fe3582ff0901e6915d598cc4495815562f8bf083bc1ab86a1e17741a0282d9c08b77143ff62e96f54b0de4ad19c5c413a7d89b19ee5b192ba23ed98e235152946757cda2101bd413e2bd2338bdeb1861b667c18efd99adfd0b9b3de015b2ccc036d0d8694403e6172026700795328a5c7355fac473a5e0bd7748e51024bb1fc432a608c7ad9e43309ca52872f675a445d3c4bb483aee65ba4351b90bd318435144f04e6061e24e43a5910edd804ea287e0155a8224bd07221c0adf9965778c51db9ea62fd97ac1a98d4ec254f94615056fa6f59028f42ad8144b2009d5dc9e66f24fbd452e0329100d6cbffeec2c8cd0e289beabbc593936ddb77bc34b4e2b67291ccab6d9c03c013069a666f2222ae08bcf6af56e97afa5b361587b43dbac0172114c2fda762bc3d2daf1c729eea236bf8cbf2b48d208b8501bb0717c0693072a79a9dfc99d3e3d748f4ac0285929d8919c90115cd3081cfe6a782fd53f0b9555493955c2bab9d840ef0f0eb5655955968524fad4c67c30701a7339b7a63a572526e52cb7044f3b66d3bd0a3c131722d212e86777f0c73032f6a89302510746acb509879e71fb2e05bee36644cff72a04817839d2f764a4381f94f73acfa2b7252457d80bf851509411ce48ac64d0cec409ac9b4f7ce536809eaaeb0538cb1727400c058f685b8495c7b509d570b163002848e5c7a4ce048f5ba98ae3a539d72aa53e68e7cbde6646ff8472c0ac2aa36aaf9a01384243226afb2944e071f3d317c1a6abd7b7e0b5973e03717fb68392afaf35eca6ed0eec7957dc6fdd14b6d724d58af7cf273f259353a3db0b7327937dc6823c6938ce40ac5a01ea114da0a198fa645a48c16f64c2213ff964440fae5423a61ed8f94d0923149370668b63d1f48e35fd23614f2b6201a28f40e10692eb3afd3ba2985e20e3f9c3741b2312d72323fcb58e239f2aa46a8639db8b3b38b22da9a67b4392df8dbcf735cad5b9c72381e98e9f14b596dc5851d5325abd11fcb1e8a896b710298f6fd0e1031f900725b6433f9b45a9de59f0e383ce4c94632ad797ec0e6bb28998f1a29c5abb6a9419fbfa5d304311eb26cd23e68092943e4f5badbf1fe1c11fea2fb959c4edf50721cff1d56c58902955b3107b293a077e85db80b9f57be6742d623a5f680ede70c5bd4f50c6ea40af36c56c65d895262f66694db839e9c712c1799d71690818428e5d32b966130dce98798acf572aa673ee9496cdc6560ac836311000ed2c96c40e50611e4792120fcc8dbca108755d1bff38ecc1aa8d0e844d9fcd2a1458deb721089830eef0f2544bf8fe26a1f7a187b7186918fdf80ac8d4ec9c3a85b2e4a725e06c375e6ae0cb62702158e1e8464bfb10f0b8c62400a8880d3838dfd1e0d2c1b96d0fa164d69aa971966535550f83095771c82263aafa8a3b34d1ce8773d723dc359394358fbfaa11925b5e786f10ac01cfd3b5b75ef3a433c57c10c9f1e0085580c2ce53bd83d92d819c7c3513c2ca1824bd110ad293ee05e79036ad5c3096fec3d8309515c050f85467484180b16df4fe6e62f6c654493c0bd27d5c2d7627fb82d6d7bdb92cc1087286b7f72946f6f468b432d215de02bc54cfcadfccc5871370b3d12e59eabbb89200d890df625abaf0ebab1a558b976eb077e30a86772cba39aa02f819a7658bd62519d23f1b4c5ff98563881f0303b06bce6c28a3972b6f712a90a08a5e103046c076cbc57102e38436da6a8665497150d66981246598e55493da9f2e4ab2e75224f6e682e4f2d3a1698b8c309881332d9dcaf10a3726d7af6a5aafdbf30341a423d4079a076de44bf48b7cde5fb09c0aba98a784a7249f019f34ec19a127b912ffda51191860e66e7da1557f3f900f0e5f95a5919123a9652302866e7a22aac168bcce4411d2d5de01cc7ed8e072e4bd754e7d3027279551881ca8765d6a2900602345d2f140be634425ab55dd8293c29c884a76f55457b4bad9f8ed5901fc9a999e56e64230a8b9364b7e692213b752ab8fca256722b35a271a7b772305787de4d7e28108eb992a60311b09de24f755494de762e720f9f1673a0c3374a418cfddc549f529aab1af09bd1970413a7fa47d0ce5cf672249b48caf903d1aa847f47e273cf7a1ab0910fb0cf624b96360cd81ada7c804e28d64b1695c67cdd3abe1c5bed819fb319b6265349843eefb7ec49ad7aa6fb728e1f0b48e736cf9c1d48a52407921ea52628e18bdd74a5fe259f8ee1c1a68e6e64d0b03ab75cb9ee7e59ee512f655de4ae86156081fdd2c9cea4334ea7879d7235a5c5962f51b24c377377ce95a21edcaf91f391dc045dd191f3568fa3046c7109781b9b2c2d901ebfdd4ae17c18769547ee7ffbc2ca5c0e41b8991e050da3729d91638e03eb65144914391472030d2b2516e0cf0768e12500c0cf24f265881720b22f0b1755c17ef46286bf55609964d4e71a96599ee0191d70e5362fc3e958f620dc9a1b90eddbdb5df5f750f840a82ae063edbaf9f1296b044d51eb19a5055dbe9c4d5a38ba7f482eb372c677ccd65844b96eb32b9e4367ee36878d66f772fc3d3e54e8e6eda335ffaca76bb474d5f24477c445ad5c434cd653e81d75dd72ee4e8f38fbd7c34079ec9e7b15b30eac8a6da7bcdbe51be8eaf739a4f6eee172855c98c060c2b7b440c345e7194d98c532d5578dee0d514b1b9d17a5c1718658edf039567f082dbeead9646df87fd296ba35238ceedfb138fbb3948476ce937208827e263597c7e0fba25e030e14eb3111bfe8afcefcc35349074fe7e03f7672ca7a874be32135d139b0c5d76a260e5e08765a743df3f39471377365af08a172b3bef89d017ff2a3e985b1310a8bbbdf7c7c78891524d840b6d542a24116d1401b458676dcb89bbb146dfff99aea80d5cdd04b3409c60960e10498406d52025dfb896c232f824f3b03c9e85c7f0320cd5d91425b467b0f5a411c0cac6d9ef572603be70cd1ec3d2f83c18dc947e6368010a9097ef03618b9778c8f188a62ff7279ac7805893934233e43d8713b8d24d21a3311a16f57c4d84cabc218632834121e2b210edad02496fb25035e2ea0565cde28ac67af0ccfe35534601c7c778035ab90077baa23c467e64665603ab9efcdcb7d15b0cc8c5bb354800ba7a65e3d72f389594a6af533643c059e82edb60335818c9534cea8ba81c39ce57372a532729a0b31ea740f2574798ae48e2380a89dbda534c1cdaf5d421ba9557530761e2b7f76bb5256ebfc965270161e62ac5017ca119c4f821720aa26edcd05d4f140531763c8d60a96f28207dc8bff6323a25e1e1c2b013f3bc981f561716407125a7266c2dea4f0a43a270009b1809a83cd8e09b411219a3c440c55e8b1cfe3c19217f953987cac5d98b320464cb1dc353a798a680182b4278e10b2ce8e3d2d7b030fb6e5f7f7c8e1126d56992b0fbfec2cd7fbe8ff15ccaa2181526f839517899f0f09a131001f8595bacc4d0b33be64ef7a48746aa9ad37c4df7e6296e6b274893cb456d900d1805411125dbfb095bf55d01b921a69f3c2bdd09f00680e116ded2fbdae67e0d24284b972317b4f6eecbb8ae5b03b1959ddd58451afa7f6aa79e672ec67fef23cf2158bd0b29560928682baf6beb209ee3f26a9dd1a26fa555fb972477b1b0c12b8f0ec0df04014f50887ca365d1c9b5a8bbbccf5a679eda0c9de36b13347ca0a143929297a189041ecf61bc5890260e69cae9ce1229e644c64f97263aebc374de4fcd5400161bf25d08c0d7593e40c30be5d295824031b46162c728b7a222b14446ad13985a69e82f25bf1d17f7d0f4e885ee72147513843bacb46584e820144f97601dcafbbeeb84bb9727183a288aef21d4bda88fd5e0245b433b9f3e76815030ca14eeecb2217e94595977253dc6c03379bc2e488377e42fc57da399ba245491d7d45a1d2fb1022dd65e91168e03093def44a2149ad5d5ce1724fb42411a59b7e7475f9d3ccfc6c20fad7c640702a7e6aece591818873307a72050598a13069632fceddc50c31ed046ce5eb2ace68c860222eef792d68979d45a227a529bc82028cbc4b5256198ca38924da6ce40e7cfbddf7807b66b1092e72b274d5553cee7886766a89db3cbfa3c399a05bdfc9407c575d4d29cbcc8d214bbc1a1f878f07433a9b0ae9376e93dac5ea5de2a31a2503a8c7c6685e9199b572212bbcc213dc5150774cd55c2951fe554f561e0d8d48ab8c5dfe9f672501c372ebf0c21cd8cae3f3bee6e247d6828b54c43902409cd0242b712f4127a9d05272c6aeea1c16d2e0723ce28adbb195f9ac8ad86b74b678fa8ff245facb902094535a033a23ecc0d4e22895310949f71b575f017c8c0c0e3d88ad5b378f79aba06bc759ff120f6d2b3d1f2f0b31c17dd4da9212f33b0e0958f78368760453b8352165952f6f6d21bd864dbd4cce63642ea97662809874a1d8998ef8b8a390cee172248b9c3a585d9ac32e170838f5b87be6adab754d6b8689601a102aa1e47fce727444b19a05b8edf23cfacafd579e786c62005c9ef8b2f032d7a69e668c1f8b72de931356e1170acdef31301360ffe392324e4751b30bdcdf5700b0eb9b268772e1cd960cae09c8f9da6f83bb8e540675b49041767fef83a366a7502ab2ce57724bf9608deffe78648a777a0a0d784179b35d1a59f50790b443322d8187dd4e7273ace5336ea872a0519beebee11797ade2204707f33a1028e0e3e5172259a5724d88e3563cafe434dd68c5230bb60b936bcc1369e3278fcb01f6e8f19d0fe172eb17b936c8d2ed6d02f82f5e5ae3e3d4c1d386c8dfddd8cbba3f05403ddff23b289ff33d69cfb57fa987eb7b78e3b27e309a6f38f878f6853fd7714a54125072dab4b3591102ecf6630f49bcf036e93704ac7d060c9609db8278eef0d392b95af0d7535fee35c3bfa66bde92a06b2f29188998c36c67b0d651791b4479036b7229bef46600e982b32367e98b767182366e10724f2fa11325c6a5acb61c1ab472a81ff253c537db3a14bcb378e64e5a537400a2234ee9b8001c18ff25fb70a25a06adc6a7a223e4d6512d8505cec753477189cac5b139c803fea179e73f0af121e60e5882c523909112217dd95107862fa85d6f945da7c8f48f261d1ed7e00872f9aabf19c66136aa87c019739fa61860fa764e64260c80b1dc593072da340772c6e90c4c7f5a80b3b710c14bcc31f0942a1f2cfd68e84a58fcdb5ca58576e572b5455b3618c251e716546ef9d68e1ad45cf5e7b15db83a717613bc83bc194d43fce8d546667b04a600a926ad8dc0b69d1cc18d1cfbb42b03843d2853a7a2ba1dd2be42a48c62e162958857de39391324fb9bb08548b1a00ec338ca4bebf0fc2c6965abeb7faada0ed98ddcd17a468ce7ceb181f75eb37ec7e5c47cb1028fbc72eb46d6e5aa87f3be17ffe9fdbac3d050739c70eeb86187d17d31c94fe799e3722669c766df9b5f30b30be0efad27cadb9f3100e131498c1da5de9384e83a285f3243ec873e96d9e3db26ab4bf2e5fbfc8e6b2ea3262194114527ed62c726d13dbada5887374f0b81cf1e17379c08bcff50de84d902f7a266abe4674c89ae8372c69abfdc4b1a53f1e42407bcc1ef1af391b99afb3cf2fd64cf3040c5c876f872249391341195cc5f51a1288190fe761917d47321989605b94d079a63259c686341eff7dde8569af84b90861049ef74ea728cc46f33ab625098fb4831b48a16302ccfa8451ff81ffd16874fb3639b8e937a093d145d7ba188fa1edbe9736ae57210019e073c20d4ab16a0772ff40416c1d39d76e7b689738648d76f3b004a3157b5501e429534e4d854bf54045afc055e74668b4854fe9558810c3729e531cb729170eb184b387bd8d5c8a26fd35d597e755b1dbbc7ff07972846429de5c91872e293b980cabf1a954fad58082a4c7f4ad88a90d42e9d6797ac3bce4882d3e3721b7001b2e53167a5c9b9f9f603eba1f335e8eb8c5b34e59dde3b245ac51e504c2b719d9c8334b949eb1379eacbd79191653f6338c1f9d194a4a8cb7497847472308b3d2c518e4d6164323a2cfca24e8ae873cec44498f3bf0cfd1c763a970472c5bdb335ce681f4586a6ebf1266cea7ffdb21019bae0c89d2e8d649edfa73072804efda825d5a1f9e1b189cb61a2a1d41e47dc918c35f01b37746d779b0fd85096fc9de2d1117cf4e74641f6279b84ee8fc84861d76b3c76168cd3d76dbead1495a5c3afc1656b3128516ae961de16f3111e38c277861767482c7b974e6c32720e908dae8e80ca9233eebb8f09d4ba8604c70f6054d8302b221ee0c56945ef72a15dad24ec724505c991467e8b69d09f3466bcb29cd26e740ff6a89dd2f7c472018a44db6c4d51372e2334edd4bbc0a9b44bb926b1e02070d8e6e5b11ea76372b4c36f7c1f5af90064a087b25fb5ab6ca947275e934372410dcd4f8c18637d727f2a2cde8557bc4f1f116ddbec19c2cb6f253a0a2fd13c7daf254b128afa1c5dfb13c95da9a2f7e0c9816a63979aaaa3c2b1efc3a515fb756ce8ad28b287a3587422ba0d576544f9459bee76886225bb1fc94579dfb50d17ef10c86e15786072aed361377c47030d768ff3856609b32c38d050aa62c87979686bd5ffe6934e12b5d5049b75c32bb69cdcf5ff72f73eaa052aaf2d121e037b0694bdcfe3a9cd2c23bf2b238ebce6c3237db56470a3e20ba40bba9104ba35b4aa5efb2b8226f572758c1cacd5a316f591ce0d6e4a2d6318fcbef612a1107511957293e5ece3e572a3623c247f716c2db9fc6cd6069f2d0e8cc9bdb9041738381d1009e0bf267a35576c30336f1d722fe2f7371c57cd5032bff5f86863b5a0733a8323ce6abc6f721af4a3b4f8dec1e2c2cc4c36ae1bfb21c996c16e7259bfc2cbfaccb03ad59b4c48fc91e86b4bef3f10809143f9ed67af5f8bb2b4ead02d59c045cbba623fe413e65b40e47631ec80fed9912e0591dcdf15edffdb188b5b343580ecdc482147724a7645ec66ed3ac4930e731c90fe1d6926d8cc6593db7ef8682432a1b936ac7236a3a89e5f81c77b151cf24222a9ffe91263a5d1ae858a472eda29ac1948a872c58e640ae876e66cca9062af833148165200099d692a565ae1e551cce2188772c469ef6314cac89b2f1e81b1571fc8bbaf006f1c89592bee3ab528df902e9d72ebb312f899e47fd9e1a99ca9c2ad5ce204c52449eeca2fc0185a7b0a9c35477250a2a6e1aff8e2812512c665c11e987f9a8f889c2dfc379951379e929337444361cadeb397a8a1067c6ec6ad749a684e2b6c559186d4cf17aeaa15cf5098fa7272780d447e257bb0b69609dd59b96321448f90a23cb2854b3948e450627ffe0e4297d54166ada71d66299d0f900b8e33a77959b4397c541bef81603f5ea0407287de5e4c38fc04e352edcfb4266db88170db48d449e283d4f6e0b4cacc4fd4721bc3211b128120917c7feb226c3730b53ec1414c9fff95bedf1730b3e3898352c49dcf32e92785f7984d56bf610d0f9259ccc2aeb4e05814d73059390d0e2f676107df3c23d6ff8f4a7a11cf42743d84055a052d062db5409ad3e9fb21f3a1721c8bb9edc79f75772719397f35ae2b5e4e2b7e0501219348aab04c84b7dd6c5076506d4ea964defd44900f56fd023bdc8f79e269978d237acd8366363f8d9936de2806629f0a7c16ed6aabd9494077d9f0ee93a9df3b7f71d11a5920e8f324222a4354451b418aa392e1b4bab52153cf382b7d348b50457aa2fd6a1d73b681241a52d3fc7937ff61d37c93938c67539bc78662fefa9a41513d888f8bebed41490d85f441572f4811c643eef6848bfe181abba539651394e6443b30162974321b4f6f2b07d154682d6534e2cba325684488e211848babc1e2d67b8bbf1cf66272c61e31a641d682eba911f38c751505026109d55d009eb7b0229ea1a51e980742ca99e94284d1c343d7afc2dde15fb0cab2a8ef686951ba8b382e3091428f7027e6e1e95af6dd725ab39d897f9396228516041c3a8fa534abfc7898b28eb70072ea01f0917358e9d395841e364456108e856596bc5c7f5e2adcf3c175ba29e159d55458ef869b937c19eaf2658f9516e93adfc9192eea341908e5bf649787a107753f06e49b8c3bd7b80b418f261b88fe4f6a6f5bffa6cc2b84dda055db37ff381d6cb13d94b974530faaad5655b3137af1fd163118a2620b76490b28115812091f6f246d6d292450066450b61a9b85726beee033c010c69253ed26cd8439b76e9f7bd4330e3f44d1a9c0244b8289ed2e478230bb55069aab4a15e96be2580f43d717cad6c334b1abc29077b3e36723795c144953d71fc214cc5e1275c25a2d139239bd2939eb39fcb1ab955194b54ccfbe9175c366e820b9e2b84a506995721839cebc7091e16f6a46cf642cd5f0711f6fa93950482863fe686ee5c2bd5d0672d9a4893e9d146b7911c9e78eb28866019d559e50acfd3475ae5b0d9c6d63dc729db8bf77acc7a3ab42ac1a83b5a18047d23c6708953c752e3d40fd0a41123c2c9d66cc0f5b4fe6e3a8130c5282f167bf17d697d0ae68406f068593a02d14d872c990294137ce31aba3fa3a5d5098f2278c02a5a22b221b3adde814508b9aa060ec09aaed318d4d501c951b6d667c1c5b6fea6cb1b244e73fb35112949209237222383ee91c31ecf579b41cd97b1dc6c5cce5238ad84a16aa24a73eeb72a7046ae0b4ada9112a76ab634db90dea2773029f3247c92a9d0157de20c6285799de72409bb0218cce725dc366c2ffa455087fa00b093d448a04f13cf7f3a75cc0b572acc4ab3030d0dd68bdc7db7a0d83afc59c2e6bdf6bfe901468a3f4643dd70972c96925a81b98fa0344641a9531074b749d61b10c111d017b6ce3442d47c78862de269bb93f622270dc94fe3554122ffffc5a27492516e1df6d6906647400bf7295cf72c80c2290aecc356b1927572a2d364768f55475a8c44b7d10e3d31bbd72f0ee0eb23977dc6c918dd2c7c83ab5c9ecaaca03c4f5de8a54db15300a19b008d1480454815d940056555485ae2fee97db4fcc157bb7eb3535c63470de655d28496b738d6d076d31c669879e338e309c0217b7a4b9d09ae541109e19a2e5a32137915bb20897520ca155d5f813fad35424902e4066c8cfa0751077cd7ef86c721c515e4b751d24e1656edbc0dd3bebc52c37e58cd23c4cadb5fc536302f92772347232ab026e0da797da303d2bbbc3c484793bae5d6660bdda21d8fe9e202e72d505c5874af80da9308d97b35d0e896a1c26c5104ceaae92e50cdc0802487a729d43bcc031f1fd64a4cbc0890b0baba9f49274c6cd380e440f47173148824e66c48dbacec3c104a83d3f01e24c439de37e0291a48d88ba9d06f21369450e0d72f73550b6fb3aaccf78d720b65beac9c2f1f3a2de79f24be4e260efcb859c5b729521b24627f6df9f492f05d386224cc8fb72db699f147789a5afb63f22c86672dba0d58f64cc75ee2a1d6906b8bc65c01b27817a68a3b238787467691b376a1bc1c85290b3c2c0a825596d31694294a5986c38930904bf696294b30d46e95158b546c4f1c0729f2ed2d41efe209af0a6c4b722d9cb6153b5bc400ca4040dc93f0f025040edb77b63d1631844fadce61f29febdd51c48fc3dabd888ff54053772fc12f8ef6614a1303caedd04a456a3202b9b92df1f786f96bed5ed006dcc54589e25e936c0d07c8fa4b4d6b74aa792c3148d9b1bf039d88aa82b69199caf0260d3e2d96c53d2d23c2fc354ebef2151cc4c26ca2d06cbeb62232cfc178bda15214d066fd25ede98c388f99f7f528d7b3e52492a2cb0a97c33074c1bbda920fc230689658f88fd9c398198fc76983804a2e09bd6ebf9ac6936aff6a596cdf61a72fb15dc4542e786f7652942df820d7cb527a51782366cc73974dafd0083eb5d72e0827418a093356228dae0f93a480358a053fc4ca5a02d086f4c1c9f9c0f7f48ddc5d51019f857823efab89f3c51d94505c573a6ee5159e89a55327d2256007299c02746efa21966d775d16349d4eba8e3d52a0099a78b35e4b30ebe2d789972f9220ee10866a2ba4fd2dad4a077f89525c1a212a1ddd3bde95106a19cacf672467519b2ce0494d2a8356eea2643c03e03b1e3e4a8d5ae962bd1d804e426501a2b9f8c30d30de5d8fe2335d440598189661008fc9971dd723fee2313e0ac0611f1e76196ddc5cbfbc0dce77a2b83c089f99c3a3edf1ae02439664ce79da49a72669833863b2d999c8a6435ac5eff17ff397cd08a819a092b946b6d60923f00720089a78eb917312351a8f572f0f534789bec0fd662cbf59343a92f9bd54cac416af34df6a1574b5021fc41e9659847cc2222ac2aa2144de9c1982d0d078f5e56c30e2cc69f1cb0c6c78ce887c0f1afc73a1b2db4316c62fe3ceaf5f518783072a5e293eb3502090168b7bd4f15ffa83f9a91455d8b1cd1c920a91c7d7b623d7298bc438d9db8c3db5e5afc46ccf850e8677dfe8364491b37acf7455ba175a5045b188d9e43a5f2604a4ce2aa70a09e205133ee1c64bf7735c87c27ba87879d6c3bbf2b220b8a2089d612bbe9a345f8095e5f0cff3a12ced3d0e3d4cf2de8fd72bb3c4904cf207984a4c6745ed11241ee08676d94a6137c08277c13442a4d630989f347c64219ae0cc188e6e8a409b6fa5ea2926093f34a5e65e7558c48ce4e7234e47567002d162efc802ed617268e0e38727384ad70978504c0aa4309af4f11babe485256f10ea5625099c4275317e8ba61afcc9f99cfbeb31bf6d434220c72afd34473e8bcd4e850b857fccfedf2dd0a1d60d7b8549d22419ba85979a066724aeb269cd99dd0990022f2c2c16cb29c3da31054f0b23cca14c072da6ce31d502c5c3080f75b142a21c3fe5f15fb1edc6d2b7dc0fa79a509c440a5dcc7d59e1b235d5dac16e496d9b25a82af5c3eae14a01976dd2a5aaba7a9c6062b2ed1d872f4f758646efce0d2aed91656503d46ff7c9e040787dff33aec76b8a351c67172950df714b096b154c7bfe4ad09c836e25927f115324f244ad7a25ce34ec66372efb0e56b06c4542178a1b027ed0afa26da2acd6213bf7fe4d24419dec7476856040db592cca9387dc551360d22ddabb79e369a5d1972b595458fc02b8f9f4f066821d79bffd3e9445794507482dff1c9af87b6b2d29f0f634381241703fcbf728a7ffeda334e56e15abbe00ab4cd2fb28251be88d4d23b4ebece5574563d3772bc682ec00ebc3d35c41f80774a65ba11b48f0d4a11a657604346ee0d166e1e7250535799a8619a2ab4cd74a5248cca73e7cec5446f06708a9f4ae516f9ef6d721b10d9df4d913737a5c9a77b68f431ce97243b70b622ed4cd2cfe8cd6d74da72b2c417e6baa20c83b3de813951995588774239af49c9a1e214157252c6ce861902d98d7d94e88f2017b5099fa85db39a3a726e2ee624673546031af5b967127257b3f2616b3d61b5d545a4d64b7f9e95183b1fffb78b689da2e7de9a1417692f95834641d35f37429ba4006dd67eed53a59cca12b4317213db6de468efc55f7221a01a8a0d248f3ad35687e09298399b8901724a873fad3995fa9ae7736ae049f4d447a053d89b3767330ec7a98cacbb0cd8e32007b9e285e8f0766052469b72374b4f53aadb1b64a80a6b56f6472a96a1ae644a3f161f2a3a33d28ed09e2c041d8ba4fee817ef3c75bc64c60123f33268cb5b09059f3ebaa064c655260ee5727c72b9699afe2fc86293952944101d3e1c8f7c6eceb4ae4e9a8419309585084158481d6f5809d411f9aa81d4e3ea59185a9b4a86d4947f2e3f38c20a52e73949dcd20921972fe16f7033acaf9d93a181fe6cfba92fa38c1fd6fa77236da075722aaa5c65167d6a438cf9984fb7576e4fe21cc1d24c2b6361b4ced97b1030ab72ba0ecaea11c9b17f83c17392da2431d32ac91f4081d893bf5e21b2bd3dd16d725e68b482cb100d0cc7c9ce303f386b80f083aa9c5641fd1588b14edb9fb5cc72232220c95a52afc0fe95fcf3729308b2c9e495e61a53d3bb99a08c5c66dbb2720caf91acf43248067e3f8f3363bb3d556bb855e36034a212c3d2d4f7e9f20872fec436735e9f3fbcc1d5964db2a7f58037aa30c81098ec5cf1ecf4aaf16d4e72f884c51efeed79fb2befab2597b361ea5e82c4d0a6afd84978a05da99013b02a1a30a4c5f83173673ef584ff5239cabf98651b0ca8a2848c9c7d803262558172cdc3e576c5c94fc39756717f81fb63ea0149a394a1eafa541a1cb17f84d70172874989223ed6fec3ae121e70a16a935858719fcae79c5b1719ed9ce1428c1a0d14cfd99a9c760cbb2e7dd3f938cfb2b6df6678adeffa8161c9d6623a196ef97290626cd593b2bc0ff607f230387af1b6b0e2d6488281e69a6ce37636d1f4867252404626488cb5f8da57492292d09fffa605577f478da564d88fab70528f520b6d1a49d70438c39c17a9b5d32b25f3b147a9733b5c74386418ee3f7221105f66ae7881beb3b4869ca0e5fe122ba9a98568f285ff1a74472ff860a18f5cb312720506ae950e2b0e410b78ca2d60196beb9f9291b1f65955cbd14152849a7f3163a7fda116e6e68872b0c2e58fa8659fbdb4bfa15b6784b0e1b431b3a4b2db2f098b8857f1a49399de64532f0052800135897996fa334583635d9568d351edf172ebfc699abfca70d4ffe01c25bb3110fb1057eaa87cdcae07334a035be042c972357960246f65e15164252ad83f75f5fee324cae55e048713673899ba9ab4f52652b76ad1398fa31e9a23cf3a6be5749e8d8789ff09e2ec2f444b60be6995cd6987cfb9ac5402c2ea673156653ca100072a5f9f6a2694ee7a1de2d785d2cdcc4234a8e5ef5daad401c42f6614c2b3a2aa98f09f8f12d43e2d9168521170337571a399ea540f85152eb682f9c98cd4178be323611c5faabb556573fa2b2173cc72bd8942e29d6ac23b4c696e9ea973e4947871048dec90a7bc7d5492de1415b772960e0d4add626e2321049ea039edd529d71f541091621e6b36ec6f5d5f17a37221d9a48875005a689ad4e7a99435f472832dc455eaf06eb243a96f9fc5353d38e2d2e42e45ecb55e8b6f5889241c7573c3ab4da4e5976d5b96b210d9c36f7c65fbb6100ea12197f9e418b2b5fb2009210c70682b5ab53158e59d41b503721272cc55bc047a28f2fb5209c8781b722fe242e3ea642e17c2d2f117aac9faaad8726c2190b9fb27f670b3ae16de3bf5beac743541e12bd81541720275d86fe0140f304cecc2cd4edd2a2d3dcbeb0872d0d185872e91d09cd4d63a218984a1e242726ea142ded46d92730dd3b84a5356eb8caf621ae3e5ca1caf8dbbc2042eb02d50c8e0357722dd081a86e3cb74f8c2b09dbdcb02c82d55817a19f5653058a07364da9143b0c2afa8164588bee98b0432a918e5bab8a3bae60e8166a6236ce6f5729433e67c41667b5f4866215fe3b874ccbf75d0065e3e5cd4f673dd757d6b8572af070b913084c7a949e6f72d676eda3b90b15d67e255c1ce397332aa2ad761171f6b6e9219a5d2c01e2c9ae4b1b4e1a9cab63f8afd67da6387c98e807bd59c724a07c1f9acc81c8721d7f2c3d77959599d4fccd4b5dbfd7cff30beac04669a725b28d79a248ac477a0ea2ca8e9021750ae9218e0acc44bce9da0acc043ca05550f133d4d6f3e1ab97d29c5f25a514526e4db37ed8191f40d85c72b36018efa72cad09bbf675b9eb84adab84ea0783f99ae180a3cb1866148d5f405220e35e8029aec9f5d80745b54d78d2a6cc98d77121cf4815bd93002285c4ebc86d203c71c6e170586fd738da35cb64e480bc3f78580588e863cd982aab1af7aa1e0971726c149f5720eb384e75145fd067c48631da67791422e35bfb98f0c0d56e4749f2e6a0b792b923e8380e80e2ee4667aa8825835fd65e9991ac853fee340ad397272ce1335cd65b1043293aa3f929fe0383beb18c56e9e025459b7d3cee58f0047727023f204fcf424d6325f68c63daf14c8f7cc28d5a9ef91b5076f20b21799704d2bd42675d6454f99137fb9d212b627b1f440c830d18e89233b333883179f947286e6118c75a948a211f2830767d9718f7c594fab144db69098dcb2b2316333723dd0afe3628fd75ecc57b186acb4711d130f021a6f9bdf79d8ef913227916b72ae8380b2a0f93b7ae2605f772e05c23d1798de21bd52199c3797148bcd7cc072d1e998c65a01bdc717e6c543813306c5ece2720429ea4afb19d0761159912849969b275d15d92a6c37f9a5651ffa181f2f63258b45298fdfb6f20aaa764b1f3ee62d0a9ccb2024592e22efc0ffa768fc14d6da8172dba2f9c79440b3ab8ba47278908a17edeabaff2cf203736faa1b5fd7656cf9d6db3ee0f58402230025ee7232bb784f3c64d3a1832c3c867aa930853a68d09f6434cb68dc03a69deb0e1572ec29f9317d8d66839ba85c396febb3610f960a3096353271a9d65893a2d8f07249e3675e356d78aa0631175f7ee72baf5ac1b3544ec8308ae31d720c0fb91c30d690648f359192f43169e1ed9168c8b0f393b5c27b203a09eb3451a01858425f3f519b06b5cd82efd675d8d3d402ef1974c79084ed13031d5772211bdfd46272de8d7bd6cb02dd63f0c8d8aec17625994c61f754d3de44c3ab7de5090cfaee0b79dd7f3c4966f6a636cf95614028577a460bbddc303f8f1cb48c4025f90fbc723b51d400c00502e3807033fc857a74ced1782f144d679cb4b3248ef61ba45a72154811518b23990ac1d88efd0642733f8acd34d4e351e37db6a615f096b8ef7269b8c0696d6694cadea59465d41591c36eb0379e23ad11a637f8b0b9650acd2793b86485dd4d2ddbc931114808f4999cd52527081dcc9a633807f97c6de18644bf017897273f0eefe61500a55fec7418f4ed59c373d348f8be78c9fb8fac4272c55007172c88b8980683e1bb8268699774c216d6b538b3a8f9fc2d1a173c6032157ffc64d17a6c7a38754670a864e13dc4dea6e11ab586f2efcdf312e8b9ab723107caa1fd710d2894812ba8f57f8b72c75f658ce67b9c5741fba7a39c7d6a2ff1d010f16a4c62e2043cc7c9f0f1565a3477ba635da3b16ea7ad627db207af63c12b857cf7a078532c09c8689ce77c56c765e3ef95b3dbdaa625bfd5e097a7569250d8481e419388649d9a434bcd43231efab552b498309f844576c5b41276727e0f43ba752606a8ff06b822305e940c6b0dc34bd62d4e771a72c43b5eac8d7212eca28f7ca285affe2a95d7c34b78273f4f41c335d275d32dd1f1189ea2af1f1b8bc131bec6cac55596fd4f044cbe9f5902232878942aca1f0cb9657be44b72ae8867ffc1793e21b83d710245bb961677f3f225df7886e65eb094245cddbc493502f1fe40e48479e7fabc38e84c1e0f50c708da41ac88f9cf917efbfbd42354f3ea29b92fa805cdc473f1357f0927f31913ab5562fa762e69f76b9a55f76c72d8f64d46258e3cf07e582c9f2dbfe7b2fd91e44785f8951e630fba50a656f5596ab3cf310fa1edbca081e951dd8ef84442cf6d1a5b39d7ccc0b2bd88d9609d4a913247fc97ac21e078d04b8dfdef172ea5cfb0d60a727d983ae3c1ea483952726d035b7fdcf5505d557e8127e80b248349eb6d7648c6708b8dddce21e165715f15690fcd331086da3a64290e7ef1db26fa8b9035df4b0b930e0d7319f9b925145033b0a98f7e417082c5bc91855601c13c5c3f45265a1fa39f8db21e133e7a635813708509f42139861ed77ae30895e4e9111c461c1f93d1103d2c2580354e729da1a08ca4377817a863796c469630d99d6d44cb580c55439befebfde913d66a2ad24a66b5d281dfbc38d20b1681ce020ef5d765e0ff895b501ed197589d130f0143fd55aeaf768f102cdcb74750b81c0f4a2290dfac7bba3f00e2be4c46e743a4c1538f79d2c8bb3588120db17251b6770cd7e9ea29b4e4e3310a43d9917b721b72e403cb71f6ede32843179bacb19206ea592ab640b788eab48fa2fff706606668a90da37ded3d0ba64a47ba4f86d5beb4b10def107d6770a1fbb5aae4bf721393583372afa9da1639660bcc6276ddc6680139453eb96f6340ad62aec40672ad48801ab4b2e5bc98ab060274ce3045f206bbed3a442cc5e39250c404cd077295912034d95286b81a0cde00c4f10bda7dbddbc06b831eb73569de3603704c72ce9148f15a3938d56b17b525fe059af89a7fa8b0aab91672c2209690d9777d13e5b00c36b02c0a596d6069379fed948c9c0240ef1ed063b938a6902d5384cd0ee4843cf1a78441a3080aaa8478c884aa390bbc487e8c2ba2deb99acb998fdb72eaa7069d35ea652a167d6b1ba9c2393c8bf9f60fec5d5abb4d5dafa4bda60c7215f3c5c26468846bc9089f7ff166d9c277700447403da8f901aa1b71c69f59450df7558262d6e4f42aafe3d6a20fef0c71850986eed56bd2663f18cd6989e072dbde4de2a5cdf751ce9d8db5fd1c7260c5c20e3fb19fc8b2183b5b02d2d4342d8ac3ce27b67fac58c656ffe6be95bf4f655a7dfa5f73999183a6f737e0b90772a57131409326d9e24a329fe1463a857cb7d324a676eed3a31b664463e2a53772c23c5fab9e147624d3785405db31ffd148fa48e2ae68e89221634aecb59375726eac8a3250601b500ea6aa0b062fdaa7e0655f6e5f2138a738e076dc112ecb4d6da07ae86660c204041dbfc808f517fa25ac3413f5b1ad9b1b0acecbb6f9de11e89f3073308a5759c7db56ee0877c83c7f61867e5e9242c4672fcf8afc6bf9064e3ca4e58b7e7e9edb4502b003d9b7c9078c93e461dbc865b9c35afa55d57f406a2d8d393e67e21cdd8f280d6569978c631a931626d3b251e06530baaca4f05b51b98ae9d52f9271e14d4a6f838cd542f240e7d05d1643196648be2345d62f72d892f2cfec0cf124a0e4405a0bf9c4e1f8d15241ce6511294638d7dd5efe97720b9274162ec31d0d73067b3eea6fe9764939a973aa806e596f7e8e1959bb0d1d2f0156dceba006a391a503bb24eabd2ef14065a550b4f07aa4a0195f5762e616ff1bb832797b50c1c674434d598d7f887270d6a81dc61f4c5bec963ae4acd3727a23de8d406194d57c618ee7c7f66ec9e7f3b2a2cb2ea2936c37fc1f4953b4723140acd8351f954a0ef23bccdf10b90b63e92e0c48349f488fecaae2b2180c72de45dfba63371d087bcb190b0191327898e65645c662c0196ff5168c9d598872cf76451d93b8e8bb6523fa4eb4b2380babb89ab193c621494e79663af629b80e33cd68b43012b363ceb3fabcc88f7448fb72b0ec38dae9a0d60d8bd0508895029210a2516ffb53486dea112018d442e8b7fb327f43d4ce4ff4a696b6fe8be4723d90d0df5c226641fbe5ded834a4e9b43961545c6b56af0f0041991809c3ae725aca6b54464b71e7e5926a32c8670daef7df867ac333fbd99d7c90b407b8b93fcc5d5a86e3f8bb71f2116c3ad7c7e6d0fc2fb71346ad0fc3260c0a9f89b7ec728c22d510319dfa6eece103b8988989cbc0a56988fbda1a290a65199f77d9be2c90c115ff724c7583469f339bd88746b2d05494422aa1f3b74a824f7e226e0072383808f8c93a852d1b31e947503d54e60ea17455157d19fbd43e22b30788754479845357b93f92b05ace0e8c12f47e2b1e1c5ce3d09acb7d0977e73b58030872ab5a1f05398c01e078f06ed401c631c76be3370cebd39a375321caef3a1efa4bb9fee0b0ccddc871d906326cada581affdbbbbd801ef763b8d9f7d2474b9650925f08cd4642db588b5e9c8f001df95e54003cffe5abd6c790c741eabed332b7256205e363d92c3e25552ccd53ec1e0f6e947459ff5027813d33e40a21ac10f726c234fa2fdc51489f577d280d60a241e2444c3477a5c4bf73208bbfa2c962912ff758829525963defed5f775354fe2f92e7ae2494411eef4170d01ec9f33537295d9bc4297c9ee1c5cf2ad772b804e80e1737bd51d93940cbb4252eddd90fa723f76341791925beae216e47ef11283fd1e150bf274f1d466d36d6f63f1a2523b15220e6cf6fe4d5c77886ec05d50f9eaf077b059fd80d5874e37eb10a4a72c189f1ec9a417e70f0d7edf88524d93e08259da0559b8c108a100559878e22baf726b1409b9a1596c00568e13dfeeee53fec31da159c4d3547dc0632e1592bc0472db4c07c4b682b1ebae50022a83297148c121f9a5f7004c8c59f8cdf688032472a98e3e1ce84854f2f7a07305cb83c7c8403aaf6b16c10487fff2b94f8f2f1a40076ec0217b77eda46ba236bd561d128f93e80a639bbc7fc5d9ea0ce4e261a51cf561aecfaa320cc3080d49c94f73aca7dc828b93fa0a43bbac1be2d1fb8ea272e86bbb0c3ed2501b00d0f288ec36b06584cb29c787754f8d204709195e2f9d53a8d3800cbed6f4a6a9295eabc9b777eba9205abbeccd4610cb618102c7fc35336781e2ed200fc30d0dc533233ba14f5471e11a6994a0ab18203a7bdb22d43d305362cace1ca6bdfde49816fa984508b6854ede4793813c02422631e5b75f176b66568a9e2c9c2da572e317623a6551f25b0a750c20dda9bdede701a30a3b7572e02aaaa357682df7f45026237def11263f4ab7262e1eb2ca368925153c1ea81c88da4304d39e832b6d0de04cb78f18835962a37994d94d20f28d617abe35f842fa84f3f63f41e3e27c1ab6a7dcd18ce99ca8c501a36afd1adacaaec5f679db69ab49afdfad1e38cff542d3421eec160989ed52cfd7709682457faca03a905d72cf9e60d28a6e057bd7c31f466c495cc30f109931e0d7304a7986af09aa10b226f23c0fed335cfdc92b694acd20b8228fbb293e5d2499985ea2d0582fbc5d8171b1845f0d6ff82ee58db73eaf32a2d3d2ae3c5759c446cf6f8a9b23697e6e227220f07499ece7cc6e69b3ebe401da13638a0b6910701bb1b40847996b7daff172b8c517f71b4303533f6d67aebcc6fd2b9f0d503431f0eef67d1b23a6f42a783e29ded0f6883cdf447c3872c44fc585b23fd13f312a83fd3be6e5d384d0b3f97209066bd6381b1be1dc63a771641b026516560d5cc236f9bce759c8d987cb19725fb49d6e6e700186bb7d1a34fc63706e6bc2ad465227ac70352f60b1647b53722f2ca3bd76fa761cc97d151019906b94c11ac07792d88165ef1f4a6778691f2043f697493fa35981dc2e9384cbccecc10913139e6bd24e0c100389490a5c433a00e02f1478f748dc0fb9120de621896abdcef5132d39401246c891626f154a72a1543bbc96f9b45aae71ae9fed26895547e3047f4af6676c086736ed4e79086c94fa3a7ed4c77e1f049621a745d6d10aa87dec9c6763baefe0988efd8e01506f28b99c21819ebfeee7fe5b1bacb24feba900a013a4630e1f2b6db37486bf36729a3503c57d22274c9b4f2620a4a78af0698c1878bfdbf6be7ec6c12fcb74ba0b497799027aaf0b0d5d67f3e868ece545dbfd24ea854d747194488926b00fb0720812a413f3785a5154157dd2054df4f32eeceae5a42afc92919f9d3ce729ce725784068315f4fbe6a7722a1dbcc9ea0c716bad20777d31d9cb6a9b6c702e0d1cf1d5ccf2c8c1cfc90e28ddd0faf2c4aa6fddb98854126fa11432d14d1d6e2e72a47de56660db258c236f2eb7951c5eaef8185861903d153e8dbeecfc0075e47248b38b0efb9a16b40f895edc132d6acc5dc8ffbd7fd8689cde6f88791faa8872ad9e0003feaeda3946bd586eb835d4d2d623fd18b66ceda8bbc7c4ba24ec0172cb9ac02c917922332491745ec16c61180813b594e3aae0d96395750f14dbf67252e7a05435d5dc428affaeb22644b749857afaa7ee7d36465ceda15f03cc1d50cf010f85b8fb06da9461828f3c56f31404331dbe795033da2396d337a989455f5df0ecadfc8de5d3db1a9fcece7166a01273ca74148e4de6fcc0ab72fae2bd3974c4f24eddce759d721aecff41de534df25ddf752453fbbc36c899a170bb9c3718762450e7082bbe892f7b45ad6be27e11b6d93478714dcaa3750836e90a9172bf70f7085b21b7241ae3266cb7c6593ca069b3862fd3ccac68755f2aab0c8f12e5327d4c45bc8775c16ee8a46d430ed76a6ad0f726056360879b73da61319b1e0046ff5f38d98741c1840f6e1c3baf13d2c4c63968b1d3522936d114d9cb6672f97b586f7aec383eb7af224e572650f9bea79f93804669f08f73c266ccb3f372ee301830d230625348fca5e1ce6a142bd5d2761e80802d713d254acb6daa1f1541c2e12be8e0b4f1f0abfd7282e045ec5d611a7506872789f5392685809ffe72356605babb0f12777a07cf48cfa0eaa0e922e8497210247a4e2a72819f86ff322dd13d7f07054f2a28c44c002b5c2ede949c791ad96a701faa260226bc90ac72e5cd239c90e8f4aaa71341bb8bc1f0a6e4feca548cb8a73fe439233e95629b72ac21feab2168f78d16550537444c54744baabbcf623db8e4580daf2c5c123e67c0bc873d2437f5133510e27c479c586537da651cd542641ad3694d7a510eda2a606b37e9cecd6c56d8c171bb3ab27cc223bb1403909d3f08dedfa1df1b959472b98373fd3b6ccacd53abea6b00ee0e2c68013b9fffff9763c3f50ee84b329072a9c07f399a145aeed35379d06ebbc722aadafa49cdb515b5c755f9d46bc597726a6b3e40aa706664ffa73fa2a3d96c55853a9236732e7ad11d79d69e7abb3861e359e979a5472c3ec55e132bfc00e99303fc89c5500d72624c704a7bc2fd75726977d73904e4c4ec5232cb1a1ec956a45ca548cf053963b0410e25b1fad01a72997811c9decf014a9cf91c0d3919064f34989295d2660aa479b2f26483e7ed72f9455597e95c17525b7ad1ebc4152d1d4614343e76da89ca88f1be1e1edff8728a13a69950db3da2615d5807c89dd2715462d5bb416d82733c8da87735f7617294b09797eae879b0a194eb264002b680d45791c2db0f906b201fb394f35b6872d3e7da55c098f18e91e1e5cae8784ae8e5d1cd83a93d51070e2e4d62381f2272f060a7370073b994bb7f6e7f27ac7c25779efac1b24148d6971966b67cd1a06a33e4578a8be3ce0a74f0a6e08bf314e56880f2ce528ec1053389b0579685ae7226435145105363bef0ec76e298cfa494c6c5c578ca9183a1e2441c947bed8472ea8de8661a4347dcef48154b108a51ea8e84bc200189b678756203a839aac8108fe6bed341760702c11062a39ec422cc3cbfec33af0bd266e105873686ef4372aa75241966c15debc57996aa7f1a4a4e96ec14e5d9cdc8bd0746110ec7c3c772da63ba3b29204c940b61c2e174121688026ba065b287c53f9dba9fae61386a721f9b98a2d1c8366d0d80dc92d72945b593021ec04735c5f6533fb9a01a639239ffa7c31a8a1b7ba2ab1120d9813ccaf051c053fcf186cd82bfc9be98dfe572724800b8091b0e22386e38b47b4d6dca173056b700df9cebf65bf0d1075ee67f55d5e50c846443e97f979552b5011943cdaec78b15a0b8676d391f41e7960016727c285debedf9411db93e4f7fd7ff8a0d36f7eda7f2fc21cc0620cb05dd8eae72251235a0aeb380a6cdfef6706e4d43a65d4cf0ccdcfd8b157655d302e4340972cf7b1b2d0e29f20e382a477c6c1d74f2c42943e1ae56701cb0e0c67ffa3aef7229b44f53dfe66cf94d8696a9d42632bd3850e70822c2e980cf4bd72247a4fd2c0b3a5fbf0f83b34a21c850f49b2bf809a2db52f2954364649bedbdf2f4b94c6e21146c593453a8e0d373bd65190a32c3efc888cdfca04188bccd7abe1322ee72999fa22445cda752217f9af8dcf6b82e14ff8b037affc1a4cb1c47287b677472e05208b9b1b67323fec0320d5b3432475a6eb70170fa74eba11ce450a89cfa721997be6b78209f5488c63f9d4a5cb2219ce2dd5aac759b8922a4a33fa7d6fa7270e5ca6b5067e4c437e2b34024448161cab3d6041553c5ce97874927c8f9767209aa7fc12c4862a9e9aac13c973155c7a25ed1aa40c9a2ffc404a8bdd1cbbd45c3566b6dedd1916d2249cd9b4dc34db3a59862766c6e6c40971deb689dbf1d725a6d62ab5de8f6feb0591eb23b2d9880286be0d39dd07253e612eecaba44b428de586c41b0dae74964d551ec4397e94a982ced73f791e9824baa1a7b78f787722dafe2a58bf8923ceed3f17f8a9df51a1c414d1f9ce13f36d8c508c7e91e9b375a20b24e03daa0fca91c2505c1c4ffe3031ae7f7c00b1ca5f3c03365be87b972ff00f1a4c9c763f8dda0cc067516ca92e3aba00a5b27900338099ee575df48095f4bb2ebcd86fb9347439aeba6fa3f8d55d8e0b41d36ae79088726dcfd7da652c08b2a9173a524d913e1a8a745a1bd54db3b8f9e7c90b18000f1906fbe89f172b53e6c20b6e1f36de0945150647f3b42fae39d9e46de49a8c24d0d75f5389c41f135e90d4e911dfd4377e0a4867e37758efe2a2912f4359632d9bb7465f5eb4b7c489555c12bb49e86a4a8b07c066f37ea33c458ff3bdd06c7a8e01063bd1a139285aa876e22ef6750db6cf1760eb8ab8b67af60b8fa2f1cc2f1bbc03c038c7205b67ffbb0612674e7d4662717277a7bb2665ba740af4dbccc34f6921655d372971628df73cdf30f1c9b8dd80c2cc14e20e426ab3b71b255a003c1509c735143b6717da9a496ec2170d2e151207891d0985fc2d88c7fe3eff59d85fb37b2c272bfc8f619219d6cbf2fbcbf838a3c1ef005b493b71ccab2774f041ebf62f84772f4c3d2c9742bf71f677dd6c0bcf7b7729c325685d9e28fa4d0c30a30020d8672c79e089b70cca0cb00b05762ff4f3c3e24dd52f3f6704dc42b814ce42816cb729c6751e34a76cdee4aea55cd4953681b9a0d19c76f2026afc626a863b09f997296ee1e01e3d8bf317ff9cac0b86d3019a43e95c8dfe17052daea3122babe384574348c595bc1e51c2e70945029838acd89d298cbb4da4377296196a228d6e3728749318656b2a2e85a4a4515ea894f3e8c1938c8574676b1c203dcf5f6d29d728ce65a6f44bda806f9f96f817dd6feac9c361c4f53816e81633bc2366d49567227482706d99814874e8218d00419e4d48762ca399af3a962c26b106239e4d1632bae168cd793b51cea15a74da3e2309ca6b04479c195e62cc4c4138fbf431572562de26c323e8a710df180b700ef11b37d17a551c6e0c9da8fde4e09717be95f19dbccee0a2e5b08b07d9b90d3f6d01ac1e1bf3910ecea4a2038a900ebbaa0293a28d0325199b81db47b21c6151b04901458e4123c3efb93b4e6150bea21666d4176c75819fc2a2327c1458bc14ffef5454387c5b5049ca57fd0df557f80eb72e5a695199e48772287ab1197fa018610a33b9d4a3421e33fdf6b061e8cc600105cb97de542e7f33e63bbe98bbeed5c0dab5fe535faf200ef7877dd6a59c37e316aa4936416f328ae82af5bbc674c6b9d91f7cd784f21856d05d72bc82fb2c47287284d5dc298487a0e49bf536dba76506360f80bc83107cf6ad5b31817e2d372e114618202dfb5a2ac765d834c5e12f9b6eef15592ebf73974918f05393bea72142dcbd9cb39bc43c18b896d754bac764b4c8d5782d0a79f73f9f2fa4d69ba726e2c0cf2b97c240451d09edcccdb2e081050f9880d3e6e7d1fd5926941be06723a15b6c2e4b769ef29d417d25b072620d0bd913fd46b2eb89c28235a89461c720e19fac4272a6d4fd467c7f546a0c8a6a52d2847f6feaf618edb0e9fa5664e72d55f7212d9e0e3652a02022c574f00276549c3f604b33772bab72f60b9685872bff3c7af4b7c6fe9cafbc67703be30d96711be914c20746644851a323f398e1d4bfdd780799aeabfb1c135f2dbf498fa5066018239f436c2a51d4b60b0e76c7208593e02819f24198e7d7c8a5f4c196ebbc0040555308b203f8c24bb5c7bc45eccad9c61fac41800435fc532257834913ea60c8090af5a9454941564b8dcbb721c20e53502a20fba5af0fa23d0c3af1d809f69f40bcd9b438e5f05ae80deae26d3595bb8a6fe7038cc5e26b2e5abe24d5ee261f5eb8125edb2fbb2c929660e729accb5d99f4f7c79453ea5faffc5a8ef08de8ce99507e43316cc15ff7469a1729bd6d134c3b09ba9402c048401896867330ba5a7f22b623275849283426f037274340d62e478d79329bd15121f013fac06c5e58142a10582c2d695ea09d0152a6be225183b9a84d611ba1faa4a2414a1831c24715741b6fc3c1a281ca174e77251900bd0bed0ce89d84952177f3debb6dfef647e2af68bf5dd155f42a06d3733977926f25747964b2147b2877b604a5f50f164c12a15087dce610a941a6a96728b55e1cb2437184ed861f81931618f0fe80487638bf16f37993d3f20a5c57e7248250433c02d5b7614ec0f1d8e2cfb131980315960b5acb9ec384b7de393954880b54b4a6af67b66686fda0660027ae6117187e8a179abe52452582fd73d8243587341968acb3546744a25b23b62a08579bc093e08b38520c92d12acb043cf278b832a00e42d75bb287bc3e6fbc0fec1e50f9190f60de05d7ecd25e0c756aa6cf204902c4b76d29e3d62d8fd77deefc2fa07c3ae79f8f420eb25022831dc6e409ea0966f46fb625d257bd08d9cc9989e510448c6627fb7dd48796dd5e59e810ab3d896d7b461f4f40054a4696bed51f89772bbca70b65735054fd39205de1072ed52da45d726c0acbec353376aeab438ee7b871bbc2b5b25c1963d8f43f3511d1559b20557b2015cbee39acdcfe7ee2dc0045fdac32c60b9fbe22c86ed554b414861e6e457f90c85333c788aa0d5c9a82da9427f618b0543f3bc7f5dc2aa6c4da6f2e22a73ca804027e8357cba399b688f88437f37199680cafd7a9933dfdc72e1dffbce549a30209a6dc4010d091a821057ba7e8b59dd96fcab63480a155066e2dd279e9978651b6cbc42aa4b7003965065b919ffcde33b4429b9033b90f17286be1b0430ac9a1b7613264d3f92e458ca2e0caea89b346dda0276ba1e3bea72f2ba74e68e08b33865e24510d43157b6a71e22691d3fca0a31312ab1f678c160df1c534f6dccb7e2339f1f489feed462f23d65d0f30ccbaba4b9d65d09045827643ea87c1c13469a9ccdddd3555aab21c0377fce0526af86d78dd681bfd3f072aebc2947621d3f925904b8c23b5aa2b3c9b6796e4ccbc2d857902d3def8716134aade27bb61c7977b98a674db7793ead0206ffaa586e72b45b468e1a61f40d22d1348bcca5853c811e3b5ef0e4fc356e54e8bc964feae754ba6eb7bc78e92a2e2057906a834e49c87055e6a7d64a52c604b7f9dcc0f644f23eb8518d54b1161e5604ed238fd7c7d8a9711c7addd88712f822a72d03413d1a1c04867c09a4c972df4bc4460297109002df1d0715fdbc2a67dfa027b7ce72a363f8e0bb72166172e7bee519df75fdc7329303e427502b1c7f2747474721c082d6afc54fd5f6e55af76d59dba9510ba0a5cdf5f3793591c1aa0d48ead6054f573407530adc1191722d1be4f29515c353a35c542e7ae2adbf9ceb2576dd95fb695b838c4a9c90707207faab87f20c8aaca380715687d4b375083e8cd7fa71acfff93e26d25fed3c72496ace2b0b1800ee7527dfabf25442dc28be23867b8acf14fc36e4b92176754f5bb1a477ae0162c1f8c466f0ac81951522c1036c46773ab59c9c6a57d20ccf72d6e13066cbc2cae6477d4bcc34a54d70750cfbbcaa4dc5d131a375508d2278057528a015454f3458ca1742d14ac39b64145684c648892caa13350ddd8c27b772cad01c60c05c2d1a9ad2a21b165f0e3c563fac7baa6860844ae62485d517be72039d7e267d680cae82536475d9377ed840f9246fb41ad804f8180275c698aa721873971dfae933ef1a66322ea8ba57c51ac8d6772219626212cfc1e2090f3604ae442012b6d86afe75183e14f804532aa4de11b5bc39fabbe1e19f81ec936a01c0423f0beb441511c7a1be85d1d9b39045008d7e6c629e10c03d14c73fdf27727b8fc05b878249534533c55539e12b3cf4a00131b244a03d71a9daa76ddc0872e8cc0a38ba59bf608124312444eccaf24f39d65c800a99e0ac02c34363269b723b3735cc957874915d78a7bc4411ab32bfcd6b3a86ab03282d4769c3eb7a1d72e5b8c5e555b5e728b85756e50872aca9a8ed48874d0fc7f1834916c8f2c91e72602f52c3b9861cfa3aec5ccd16114e56ba9672e2e25566173ed7ac4ad2115f72ee29c0ade826f53e6b87e461abd3ef061ba91a70c062fffbedc22878cf9b6612ece8e736e61ffd1e93c92c7f6077c101739443350e8e724a014eeffe64b63a7258357ce953eb8da64c74dd6993ab9a55900371d2cd96d5d43878ef9717f4ff7220f3db996e67032833cf2e51be36ef7c5bab7e96de42f6f4c8cbcc49b38c4a42b51bc9553975b57ffdd32bdb996d61cf9c77ecaa12638d5b4ecb031d94cb84727f96f8d5a57cc69134ae5de72237c5b48f66c54985080c05d7c56eb9049a30727016d3034edf3e22f255dc5102b33f9fc38a7700ed88f58a192936c77cd05a72c6f83ed9ecb98d4471fcf1359b9dde77cadac809942dfdf1fa1dc3fc61afad725b145aa320c757157d7f570503bcd5d63478c1527df5d2c5d703a735013eb2588ef279cee44ab776c9473474b360ff01221c1cf39b0b505d53d396fe3df4864cd42a01b4f01211a7782f595e6571bf262680818836bdd41e637df00e94219f2843e7a57805ac6a0f77fc09a5312db8ab8768ddf1b2afebf4bdfb7d6550f800727e75bf14c48b532f393edde7e372a7870d9125b4352dcb3ebdf6272090ac7b72efd38a0a52cf72f4a53ad30e81cee5d416e3fa2c89b03db820f7dad23662bc02e3b7c28ba35915e5278e00861a5527d075fe213611da3c050cda5d10fc0035726d62d218a3268873f1a836469664dace1ea39b248954c26135ce76b3c2a359239c00639facd0788251b7292658ab1fcdf896ff0014129bcff818823a284d9531fcbc48c25ebf9fbc37c676e2d5f04f62b686327d43416f767658b3c3ce33bd72dd1b04b62e57dbea298cfe5e11cef3787399f5303ef826feb7fc554bbab3c7721784b212b35eaca6a51c5202575ae173d7943716195e7f426c7dbb15df607272a5ef38d7f3a2c1ec0db7587c20e7fef46a04e4383e68b9a0a18bca556bdeef72939efaac583a4719c3ba4bf625025229c6228b8d40d530c243846ade20d8ca5ed67e25754485e89f64a2f78744abecf8dd23821f682876a1b90c6baf5ca4f8724e2a714d761e0a1f7b5a3586764a87c32e4dd192f15227ff18ba4f962d3e117261bad87f3e154023330ed40a84b97f4f18d6766eca2d2ebfbe9d576e6cba8c09896c3e2b187d8765c93335e79a64b5d94147ab7defb7749fc938cf6c79a62a1172be00996e0d619c6948736acbf712d25197ba3a273be82241e7e27958bc1a36b4c59d1fc889a6856f5af4c1cb7fba90f50b4912bd027472656daaa3e0cfc9722a2704b498728f3be8198d34ed034f499ff9d80e54651e92fd1687544603b144105ffcf055a1d31655f94b48097f6a61d7a86ccefc66a6a60ab9f0c7c050b972bcf92109a0fb2058036f65691597a1035cc663d3b37d174996ed2f33d2009f359f4fa8d07ed7414db471e19575e3ca22ec21fe7d2d9a34bb96358e8f28c5286943c1188810330d86501c5eff34b23496738e4691ddcc3a17234fdb712d798f3f38af78e5f2743a0488ce585abe18979a8e65fdf01c311d7ae7539acfc83ef672449cfe4229fe4b95fd25e7433580544e3a68a5707920ac5c1de33fa077284a7218238ecbb0bd2fc3e6ea42e8207c44bb65f2771edd2228094e3b965bc0ce827208610729a3c40aa86e2864e120e4d8e59c99630d4099b3fefeea8665fc1ce75fdce8efaffee4f3980eef94fe35586931ec94931da2ded0f600e229bef93e0372c72d468b25432121c9d62bd1d4183a34d52b222642eeb9e8e5e824bc7096ca722f3eb3a5dfae92e5dc235ecaefd8b8fee9381af6dd879e70e45fd65c1178ff726975e91d7867b474343a6b0067d547f6d34270eba7e4ad05c5107cca6f67d42fc9bbb890ae67e8fa4dcaba750679b2993f633049a58b68a9b05cbb638e8c16727bf80b1c2473d0a53905fce11932eee664c0c376321b2a192875be030d2bbc72741f7d33510b399607529d84755b14ae156829f789a6d5bd4e88ed47aa8fd503a949b72ad240232c12cdadbb4f0e03b2a24cd17f466a0e920ccb1f1d2d97ac7255c830e0f9a969046d68d5faa9a44a71b3d41a3c3486509855b186b8ec71e172e273a19231a2c0a614e82d3d605ccd16a1a0bb4d39b9645acdfc15e48dc44572f39784e62aba6a88428876f972d1acd2750825250119b35225ba640d4f4bf370ac05043a1624e6b96cdc68726502574548f00d758933676164f6a089a3822a72a6823bbde895b26ff61ad012cf0c1e403040341e9636a81f01bfbd7e08a5a372efa4d817dd9bf72fd4c3fa985e3da740b9625f7b0e032d4e27a5352032a7a60ae4b82f93e39dc5bd94d0619151c1cff3a9d2953b101697b6128c7fe650caf272035693707a42685d8f9817f7b207ac9c27d8c42ba092276e6191f93cb54ae672b8a2619f7031d56d4b9298c8e0b59aae627d8e7e6f6038d3d3b503cb0fc25728c45bfedc92101088d693748801d20a780805b836315fa78c1aca06e36ad03072c0a408bb758285484a999ad3325bf866ba8a14d5a781b46f03d895a078228f72d92d7ee218a78ff5ad0898556f64774d20145aac5f665a01ef4a3406a516060ef62fa955497234f5f94aaf276ce6e074ef6e162f8a158089f5a1a5c4796f3472ddefceb4897c8f2d9809247489ab147ddfbe271b6424f85a041aba1af9e22f72faf02a7896b986c52ab038905d8c19911c0774651fe7654c45a255e4ff984c72f9ae5f3a8ed5ef2f0c079716a1bcfc9bca768c05710b556c7f9c4731d03ebc4e393d6695f0da730e720f65d4e86c2258fc330fdb5991e2dec719788ff920f872f452b3c52c9eecf2d041dfdb903c8789539379eefdcf47b48405cebf41dfcb7240166c849f68fbf067c4dd1e44d299a4d2067079d8304ef7c8d5fe1eb99b8072b9bf2b897f99c2e9af03ad8fe2cc419dc578def521294ede7a4f643616a888721aa472c5a0204ccd2e92eeec94543142fd895e43e736b93db504c3c07ef43d2836e1f2d66c6f4ae1b2b41f9cb7dd13a4eba51c2cd2372a6087f0a4e277a5ce729188ba5e326b25cadc8bb5131ef822e584a5eb999a1ddbf44686a2aa8d4e6472f15ad9894f71ea50afafac1be7e5732ac59d0ecabcc895ad7cb498b750d17a72c5ef9b1886182541345417f79f2617df2c9d31d8586cc67cf006191f5c5b6a4b74c46328c01f1db958d15ceb3df054aed72afa1c332d9e062c917b2610181b72a66e41b4f8cea32716b256e65d58811b2df0676506c3a5e0d69fc3b6b7215a72edcc8c6aa3dd4ab4d2ceb22ee03ae31b8d00379b89d4e8d83ece3f538aeb1d72d08b0f0dd878b3ed37592ab8bb7bf9f4813cbb8e03b493f29b2ad3541f3c3757c4f33117421e7ac174c5e9ff8d0f996ae690ff43a5ecf279606bc7c393320e24ae3fb0cef48d39f24afa42791cc6469a9d05ef4f61b17efee99c72677f24aa7200e642591581ebf33c92c9714ce595ad7efe1f2ceb6246f179ed24177c9bac72b5a699408815709a14c1fe7a16698b03eb27d00881822681b4b573495bf2d36a45d92e5232f91d743fc5e162b783d875a61b2ef6b81213976c43ca5dc5c4fe7208952b8060a9724bcefc515749585f23bc3197d12c42da4775a9d230113d863b734a0ffaa435798eebb1e6c8051adddb43d310de7bf4e72675a2a715a3aedd72a885e62183a02737bceac803ec95103c22492ad6b7c22e749bc468fc491e65269a61e13739c8e4a305496d7e6c58ed918c9a6c6d7d9cebbebe5df14d57c20855e34c5988b89d5179320d12ff77565810410815ff07e2f6628401586b081f877247169f5984a921fe9d4a50ee0ab73a9a774007e7846ed9053421f155f567bb0e8d1e59481baddd399568a50ecf1299e98b425b5ab263e216c658ba6b3260ad1d88fd8d9976545fa079d324cf55d81c38b2205b8275ae0f9c1084605cce01957291174aee07bbcfa3279db922c040b7599a3eb3798173c9bc54019965739f6b4de0e9cabe17fb70a9214267d0c842b009fa887436716289b8c947d04f343524625691744fc4fb1e315119869bc85605259a26197508c12814134c77bf84abd77282bdde00e5a88fc0be525fc1f37eb31e5a4c2d948e62177a55ce111c1dc0df72a9a84a846ab60e6bfb8091e7ec14f16723dfa109993ac2b0867351b6216fb3722937f2ec6a4dec2dc0bc6d3c5c31791bc874b9171eb21756ddd6d01c10bd70325c1a2d8211b111a304f67463562c1300e5d4ca3e120d041b8d3df4064c9e5342499e3f068edc625673a8891450e8d48ba49995d03ac0c32f419a8f146c0d5372a38af80ca24ba564376723f1750383ad9204cd18fc252e9840e70eff0bc458723cdbfa54de16b34b49a1ec0282d5f4e629da8949da4fa6747a33a200a7cbe77295954cebdcd8816a4377c1f2abcc35f88300621395638661ed8d9272d17bdf7004c348131ac48251cc57cdcf22b115f55c4fed181103e0919567fe87911221723fb1baabac16c4661c16808e1611fb5054c3de9f380d210bfba337f01499030a0ac1987ed297b865ed887bc599f2efacfe2b42afa17d03f28bc5388a99e1a05a5c38314510ca9e77eb23a9921853a0a92a8daeea07d622ad202e1dd0fd264021aae8dc384a92b5fb9c03822fd0e0f2f5c042264869757f1f2a219992b20eb872de80c970be3cc28b649a0055166ced44928a49f7d352462136522004a490f9210f6f231feeda2fd03a363c4d169f493980d8de827e3f5894fd265933b439c472ca2e15524831d84c789c788bd7ba31aeb7254c751c5bd7e64b3da3a26c6a25725750e9ed536294d0da586b7c70d0c139b203a2be6ce5fe346081865e0835385473c79e8391c0062f96d3b6be78af578946c1b6b013e74abdf5d6f7398de75d72378dcec57e553d45ffc91f206b44e0c3009cbecacf30bee8e22870fcf615502da8b818e5d38adb03a0ab57cdaed1463fd8e099a8ab985f77c9ffa67cba3cae7271f20924fedc7c1bfff89fb3dd3d2a736140489c5fa35a667cd841b8ad1e3132d16956cb541b10057371a2d67dd630cfb009a52732248884176f10994f30a745550c43260dffd649c381db7f0af9d9d4202ecd4ef362dfb7f6a8b22b48f4547259eeeba86510d7927472fdd6fc2dd49dcf2b7ff459b31b17837a0a4ffd632572c366e11f0310bc5d9125b67339766ef4e8a8174988bd20985ffcc0baa16d061446715e76f64c400b31ab5bcdf3b6e19414ab27c8153140f1290c6e869ad1007269f7cc4ce5782fd3743c84d2edb5fda3af9a37bead3894bee49e8b93bfac172cc47c5b59c57495cb5ee612ab2fa365e13c6e6a80f0abd62a099dadc16a6571723a5361e912a5f3bf0a0206642bea830c74de9298b9f5bdeb743eb0db4acc2f72f0e95d188631a477e8152fc12d23650a9c470686042549214f7828dc316ed8727e8aee18d723af515f168092fefab573470202e0d7df6331d8be1122dcd494725c5e2b230d965d621df841baace20855c9ae8292636873edb5943d7ad89d59726589b66fc28a3eff5fa052fa8c493405f50772d3623fbbd512e357a4c4d4d572f1de48e84db8bc29ac383fa0d16232940d204d59e40f3719eb7195bd618dd972222f51e720dd762752ae0aef2c96d67dc2feb9e9001c238b57b10f046c08457238954f588c40baaa00c4742a905fd664c548aeae3ee9701788779b1936416c71b170767513336fc84c47bdd922abeaa37269084040fec626e8a97124864a6b721104fd6cad22b071b598e463db94aa935544d891b544e94a7ae48e1a4539441bd886a092dce075ba18e253874d178cd1b910730ef3c768e205beed7290fcaf72a927e4861055e399b441535b9fe1bbb0e9b60bbb9f442c72d59b1208de933941078f9e3d24f05a2c9cff6ef61638ee3eaeeac36370c60ab6b96d39dc3825756f65d353b701e42b0ee27aff1420056e8207b8abc4ed2d7fc4f9e07af927bd377256a3822a1a57291bbb4b2329776ee4f0a43702853736891e4dad5238dabed44538b34b023e78487a70a99f0aaa540d0621f2a9249164b5d1b9c1911da8d30f5ec36d577688f082374afdca5e26eaedab4b56550fe38d607e84479a8f6506b0720e1df9d5fee9f925381df0fdd45253f996c34b49a7e5ec3c8716015d875d5c2261e734d8a119efe4716500710883a69e81d5068352483252d9cacc5dc736a233d049a74ce249be0d2a63ee024c80209ad57fffeccd843361d9d95fc13982cb25eafb5f2889fa76294986e422ee7960d5f480b3d9c17d769cdcc8418e7ce26a72146f0dbe43478866c58bd0a1a0afcfad75d0d193cd8892df555413acdc64aa72ffead18292e5a3b11cfed259c51e44af50d0855586ccce13b61fe9e139397c2bb80ffc19427995a972809af7e3a4fb3985ddc83c32b0eef74efd8f609b960d09474cc8aef1706921ea6889b2b9d13524b399e08e08e5a481c0a5204b7dcd2b72266f272210d776b14603a26ad1f97ca2c1dd23430312cec781f2aad684e2e972b7117ea0e75faa0b6bddb06936578abf8297040e982f47d8009665b583ca3a72bad8330a1c3e695c3ccc4733904289a6ac40b6d42b6b93292d5de44138f39547ff5162642d12ce474ac64ec70e525381ec65354c725676c6a213f4c7d055d411f615ca13d37a2525d1a9c179285e9244ee41c46a0acaa6b55a548d1515c299264f86af4f583aedbf28f85f5a9a70c400a59553265acf755b90139edb44f8eb7289e298b833845d8a72e3fa8d837d8385e98e5f0599985b3100c241de34f476354e54f6bd4804f5ac2a7003544fca5c33a17d236f825e404f44c4036a8d2448720c0a4964eadf10785ad188d9637a2ff2fe4934de697b32da4d03707be9aa017248b2f3d4fc59799f29ff48e3ca13736952d23a3a5167351f2a9aeb9cc5ecac26029f2691232883c8cf32fd69a6f8cc33d7b7d488bef5b035b89e02fc62b547722219337407b52d930acfe8479cd4a3bec0e30d4353b1587fad49c18bf108aa2db4fef44e0168f225f1bf170af0e0843948dae27352056074df22aa8bf1309f722ca5f63216aea3b0ff5fc4276bdd371a8d9995541cc7268ca3f052c9aa4c18721ec4b89097f5029983e28699f6bf63ff18e76bc5108dcd01b2f0652d101957330b27309be0d30dfecae0ef55b71d74a90dfff9c206fb5f8a4b942c6ba7406f72f86902a24c6e801c31bfc588ae2ea82541b24c95a8991a3e57102d2049b1c022aa30286fbf9c3ceb0b80274ab9e66e47364722dd505a25a93ce92635f9626e725ead9fc0a602f495aebc8547d6c57e3df4e4dddff279e71fd5c1e31f36f09452dae737643da8ccd3bf7850ea45d72bb9a570f50465daea658ceee9ae062d117213e30d019c0dbb903cf87643f9091271e9572a032c888669ec662e7ab667ff7236c85e1cab5d2160f01e3cac98bc778a0489ba4dce38125e99a207d186d35c72d1ebdae979c21050bfb89dc1ac47f4a1c6cf9f177dea4c57bb367201ce80037278e4ed8bb3f854f89f8331601a8e765e0176a4d2e9203fb3d6ee4d7e0b583f4fdeee4a02ffbef6bdf27d7bba5fcd58e66d1e7a0f385436549268c93982ef637269da54e428d2d5e51f8ebd6d21173e87645dbf199e692f0193bd40c1518bf9397aa2e28066677ad0fb2727b18ee97928ed1499538a45d55ddb61e54afd69b97201ed8ee18702aae2de02452631b95abdb6a5b56aaedf3b18cdd87ea0c472e40ff9e59331a4005c676293fdd8de4c9cd8c7e101518bc1df102002f12bc6e4ff64236f3ec7a35b5d30f3f9df3a699902c0a46d8a168ad6d161569ced9d0d5fd944a17e62bdd137eb7828faf3706835ac54df6669e59c1be2ae30e8f40070a5c0723b777c6e17ed2af9c03cc380596c520c2dd7fd1eb88a9bbf8e18152fb0578d724c9b7821bc33c57319720226365d0802558e1411af804a9510c4511695a63b72e9f160810b62f422ecc291518e4a4882235dbf612a46da0951e0f0c2e9b626725f8ac4391be332989e240e764fe286d7c7610aeca132142ee165a3f0c631dd2b80ea6e7504954d3b1ffc9758e9e71a1df17f0a452ba1853ad80242a9397c9e3e19bb80fa30de0c1262e260f7e68d0ab08faea198a9c9254b26b7c0c50c670d72967837ee444a54dc9c749c33bcb92523720f6530898598530bbef8f81456693b926856620701999bf23ccdd257f9735676cb10292c27270237ee5f01e12b59721e6a8f78824172bea93976154257220a931a1dd1058330301551367f4485732d32ff8bf88aa2971d6fdd2eebe1775e0972ac8b461c113114be3966ce6dc9ee1163e0df04aec4a87080102de2d8b43daf2fd936f3b260161e018f7c70fd7cf85bba09d2c7e27b36f149ab0ab057fc962be7bec787f9ced82cd9334de3bea28272343ceada939b530cff172f5074fd6511b79be5ab33249695d92664e62c94d12daacbcf33ae08e3d76a08c444940e7d1787f916a1ac6cb52138b62b1020353d1b07980d53b8690d3224846c622180c271af40f68270dceb093e3b31bcb493ba1a62f680b86a795b37e1d7e043a2207fe4b232329ffb96cf6d3bb3826e7af97172d649cf950c9a95f199c0676f1560aa0547f3b1fed4146ffbc26256559db5697280b2991f7de8fd5349148d67e5ea9ae069201fb608e6e51c5265dd126161b272214b79e11b43276eeb04c6fb0d125387a461bade2334f54d81bbd36cd3f3f806aafde6918086cf01e3c4fb34d6b1f240cf88f434e4d50bcd8dfcebe676b07572d5b39b86250e53abf23e9d0106f08284b233cf61db2759e5f7938b6572e3e407a28866093ca1f0a5b945e0161f016145819e242d47193faf1a49bb7ed627ad0a9ffe116f034a6e674d377e8c237cf3db6cba8ed73abc49a2ca170d5b14adbe7299d7e6793e0ef78262c65efeddd1f278439dd2964d39255a5a785a1d7b9b57729711a8a4fcd2260b31d8e5a56d4e21d5c6936f9cadad5a96e00383891cbdef72911348de952e43bbdef3b6fe836211f9b0ccc75ec2668c617b2ad1f08a03c100f19088b1077ddd5f2d83b1effe855aeca310f82673cc3a99e0947a2043ba7f728135ce5ba148690c1770a7c30d4f899311b933f46ca0d5e88f5fedfb8553276b764c1317f27faa0cff3b9bc34a54f2fa454ce6f8ed92d4c88c1781ca5570d7081740b10f156b337294a50dcfb37203e45c1295b31b4ed785dda3118a4c5ec21c3153d5d0639fdf83c4eb50a7495c8a2e823b074f8a5a432cd8ff72c016387e724c028915cc88b073101ecb4f30e202770d469e5c27c7840b537b917cdda27c2989d97635f5e1c87036dbbe2b3b5f5de5790264fca27615fbe81398cfda6a7a72f9fc65074861f855f2a1587eaaa8cb9b0aa0dd9226392175361652da1e2918728c33560867f843385eeab4e8ab9dd88af87db9d9960b86c4947e77bf1ca02c22b0d764adc9e70b5e0ed5d07ea630f33f0ee747b765b08a40e9cded215cd49750fda1b6da150d52b43cd57ad52119bbf0a299e834e85d30126384a6726a970435f617c256d319b5d896f282e31c1a5a53aa6ba4ba684a9dcc9ba9ad5cabb74a72462b54e84bea28d53c286e74c4c20be56de707df6a32cf1280323ede59ad495f474c090519fcd4dd2a92297ea0c76fee7656aedc75a1be82eb57a520a5044272189454e298064689ccc4af253f2e434ec75e1c706d6d572f71a8b3bbef92d7729b43f32f5acaa8adfe8c466ec71b2d6083dc90149c592f01786233be13b1167292698b05b35ee8021435ea648ffd2ba7a7a111fbb0250e97929c67b7a6985d727c000aef11a433c00ff9453a3cf660c158ac14efb2b3b170cf15e8706af10172e95f269b3c5d376c38cb879c909b97ddd2091e88afb1d6041f6239af28f4f6729dc90111930b165b79847b2920ee8156308c4118a8692c42e1f2b7da8e7ef31ca177405e3a6c43f662e1dea8efc1eaa4827cd9d96290f93e9be2a06b79ea134c781b2449bcb4742cd10a3ce25008baf26c48bc29f42831f441ba0d24a6d5fb726b28f1593311dc47d3b50f348d07b99fea2ca563c2f8d293396cabcdfae3b572855f9dff4e48344b2ebdd74ebb106263cc0b79dba346129ee29bf77e33c77e722e59724eeca05469d0fc0efe07d5533b598ae9ca42fb5c32d04e1728d971a42eab7fb7df9862ea0a98d46bcd7f101930de8d3fed24f4c79c1ddb19f6ddd17b1185493a45c87a798d8b89a3b4f6dffe47710566f1a48d0bf7df8402564b6ae334b025a7f23de1a4a491e230a53a96acab4d7bd0a7c6834150e9af4c9b64cf3e320c630f7b2143bf7330d976f59ca8d477f17316dbee5982b9f52701ed95c3a47236bfd476212c7d2bbcda91d8f6ff037e5d6b86b9e8c5028a9c15204963cd5457c9ed1b5c2444a6ce7a696a9d95fa0a27a732959a1547586237f9528530d56d55d8a8981e4fc9f5abd0c46f89d74c46c6a9b019b9c5e4ddef9e9c469191f87572e47377eb1456b915f2f590094c13abb98209e72a7865fd6cb06f9f6362c6c3723661a23b2208bd662a1ecfc61484a11c9aaabfedd7227c9615e5d9df48103b3230b24d3cfb960f2aa5501beadd270ccb828c620ac395317f7f90559717229230a08846b1cdb3f52b5e0020411464a01bfbba7bf9c1ebc6038ba390e002228e0ed6b47d5e2dd9fefca5d2a5b813ba4b95a38d8641fe463b031b5d9621400da45004b0c8a71e4573bdcce3ecd412628cd2c08dd188f9b1404caa397f0c686aad72113084b94227fa81b780a3b38f89ecdbb46e4f379cfdf32fac072a3507c66b34f83c82b1eacfe657b217d6127969d15c3cf248a2136700d40b5e82676157aa725e772b7d05dd9f45cee331d3f8f6ab3252db8b6eb5af2a805e31ac592eb30872f6abd1763c1815e093b2ce8dea2ec109a7b16ebdbbae254a575a018faa7d2972a51bae0037215755cfe65f088704e3ca4b6ba5e6b2b74ff7744adbd3d4f58772dab47f856ee9203b45390b947e245f13ba72b0c64283b4e5fa66d771494a1022faceca96a45c476011ef7e2a2df8e7dfaee741ae4fe3d316823f8e37b208a4720ab85d10d3d0e6274c70a515cc256362ce03233fa9c2e55272fc41eeeff0db72177185bf947cfd35858810e10f3f144ae5e385d6037cbee566fa678d6cffb21fa3148d5126422ebaf33776c351ef1a85d57295712250b6704ff0233f2beea91ed4bfcf36868692c08258bf2d1d0f61040cda1dda20a9a34d19d9e366bfc1ad605ef41c50f7fd23d2dab968a9fbe37fea45cb488fb57902d0838f2bbf2fbcd17259e3ebb8db90af4a790b509bed370f07ba63ab8c601c6002af3c19cd0868857279839da88b1705b964063f74830affeedfedd5620b3b8f6abdde0231507be55d4915a114dc6c41f92448c41ad2223ba1bf202ea50ac0aef87a9ac1318531063f337146a40f8869cffca9871b1fa5bf057897cc6025aed788f285e2d12f34ce45728507e4cb82af0d9714f16cacd64749e4161bc828ac48dafa778d949f000c6da1fd60512ff889adcc0ec204c7be53f935edecab75b8b715ae1b96ba097bf339a24a84f7cdd66516906acbc3c7863bf134148c14eba5644167aec9ebc1c7f872f50b1eab7c5b7add75d3315c0c2b0b72020a0d0d49ff4ff61ceda68103400a726d5d969d3e13b3e57d000e6ba6b672f451bac9ee7a33c1f674c04188cb51750756c100fc7080312012476a6868107170f408daf178745369e420f22301affa727a7c461e8babcc0ad526034220f72d2afd9fd8ea23f71300f77b4c033460176896bf1ec62e3f73ba43920846f1e81f71a88f4a4ddf6f4396251be6876e9c7a723e920cfa37a55a66844bc17f44e1cd04500f0988e5278c71f251c0b51b4533726dfa655b5e7f8f001bb2403f70663d09f4eecb53d2d310942c14ae36c483662d7c64defac9b616f92a45cb5d2dc3db73da5bcb28446aef26c474ea2162a82e7225d63536b22f67adf087d7aa5c0390bb5780846d46b3134c55324d19a4de0f45c4a29b4b551dc79c3d834917aa59614903fb5ab98d5a9330d11e71162915c7726c2e5c80c331c9a6bdf03332f2908bf5b0cb66ce538b6de48e8c8fd9ceb2a57246a81ba26da45f199e6d77fe05d20ca59d524de95d8bdc0d7a319b084bed43034e3d2fdd22db72438fa121f6aa6779ea1cc128345530b51c68f72612fa3b816089ad27ca5658b5b2faf994bec6a4246186320332aacd81607b644aee175e7e0c2be6c1d8961392cccee2efc3e9644a22aeeb6776a8dbee7180b279b6b60581727ce48b188aeddb6a6bcb96d0fe255340bd7c594f11d4c3296eccd7a651972137427684da8ebc69b380c8232592012730b7ce94dece3672f94e2125e7c4fde650848e854181fed9fbcdc89991e7cf03ecd1491bb0eddaa56ceeb079a1c7822c21c450d3ff289b168656e75da99db2a7af9d015d3f4b7ff020d8f8ec3206f7765a107d13936061b2cf9ccf45751dd185769952f462b62ef28093116e5dc881b4725905fd7615d464e897ba7a1be1b9d38f0a7a134cdcb9a5e76e39dc6348b990728801577fd1408c26635a89137c4c20cacd37743e24223f9e4b094098e35a7856ed8eac598877c141e5367fe634310662373f081302df81576addf47dd7e0947260785e59b3be627e457e8c90ec33d086b7ded7cee326f8d9922d623f5bd91f729d97b48d8bb149a1fc9a602ebbe47cd13b28730197f7f617b9a418c4fb08f2729aaa896d114dddaef04d57c7f78bc6f35136223cdfaf19f8a1b710d062ee4e72c8f4cc9cc5a8b54cec0faa691a117fc11086f5cad77449cd744b4873a1b6827226837e78629ec6c632571aeb993af39e0c343485f2205812f666f03ef4942272abfbd023afcb13857ae97c95cf9e225cac79ffc84388f71c9e7ca7afe2a95c572b8544947e170051adecda27c4822b936fa1906e852f6e94801e9909477beb72fb5b5f7a1562c09b85389c1ffaaa654a36d936b12e9cd4d1c2308d9dc55b3c72ed21c67c668de95ffd7f29f4f343185341b9090480ce86b02af6820d94510f6a392ac3bf1a1ace2fbd4100532797d3f1410a6716eef76333dfffbc133573a04e05dc2310d366ee0d3fe400a6f7490eb10de94d26e84405d9bd866d6f1055814e0391d5748b8f63b7c81b3d0ef7b6b2530e4d2c5e578df2d79ca6b931ce9310725dc26edd9b0a8289ee054eb7d1b8ea21a8ce4bfe2daa5c99ee7da38d61f1412f2c35613aae20c846c05db53476f78a5fb7ae7c76c0e9ab36d04dcc0fa8a03017e364ebf4c5073807ba565ba75e84cfd49e84ae0ca273a23522d82b4e3b68e62e0e97e0abfd201070b732ea3756c7f23e5530dbe2e5eca96fc696aca94e81f87283c2b4e2f7cfe0026075f153543255e3f01ea3d4993291b7159370982f106a720d2be65752236067532404048195f1fc3a7feac473ec93035ad7cd7163cda572fab823d35625a1e42c2eaa53d89902249212e3c8ebe02a65e7324ee6f1f1627239322c8618a6adbf1ec7c4ba20c4c0409ed8ca6c18dce2d4ea0a2800d245d672fd6785e05df7a9f07314246ec3dd40716d77d418ef8fbaa8b6119bccae8b05720f88cbb446d82cb768f81c6b3d5d24b4d6258ed95a8fe958e08a04f3de105172d8e998d204af92360e24385e22cb010758c6f6b29585975686299507e7451a6342050a97bf7a5313f1f183b98ffad0a982dcb87d8c570bc22be46ae1148a57388f85c4657e0cf34d845f338b82512702e06418658ab8053c9394da2b1ac78472b55cf705bffe3c52a0f2d23b1accdfe39f86e9309c8d582809a1e10ca183fd72bd927b915d54ab6ec2511b67e82a062fce5e28a2720248f3ee08a1b4ce64a5729ef118536d65f9d2a28e712eb6019c0fbd71ef26154736d3861ad578478d47729bafe720e79c2412684156bc6512f14ee09144d64ae8862f39ebfcfa7a172372caadcad4d67460bf1bddc956671a10f6d85f28b16c8591de133a74f7ebe10f72ceb27c9d17d36e63868e0c25d5dc381e72b0b1e2c06a74af53887d45cc7ebf72ee6b642917b931d761a0c65f1168f18895bed3a7d2e7bf2bf1646ec039858e656f8877d7904df6c4c1f940db4f4bb4275ed5fc3eb9178a7d81ba89a6209fcd41208776c38696312c673e77ae1324e6e1586e4e52bbcfece6f12d408c7eaa290d588d9dca5c50beeaaf9d36dded2a66eb40ee7a115439fa14d6339d98d3b57472fb1a7bb6e564a4c899329bae23dc07a2c5c3e62a7e4b76c0ace1ff704430287263cc832c3889be53609bfe3f8523c654fb7f45a3b404fb386d76ab291895a028c2eac400cbd78ed49278c4bbda062b8e82e4255ac3f3c84f69ecdadf826038409d32604a26408c4e97feaa7ba54f8067c843067b9e6b68cd2c03738f4803456a5625413d074dce3cb444e38b83dcc4dab4884f2d2ef9cb78299101e75c703e7290ba630a9e90b1f3300b637bcd635f8d76ebc1b28197953f2752e8bf1cf00d720942b8fdd229d32e2dd72cc525bae0ab7a4493dfb1ab9055169f3516c7c25e72de58e835e778375f4de7830524e9ce884ae095fc96cd946aa1d2730813ed61725e2cacfd43840e72d20d473268263b9e6f2ce4b66aff1c64467dc00524a1cd72e7d6533678c9d117dbce3fba65fdde4d53512f3dba22f49fd534267c70faf419fd425d27c2d4bb5372c7845212af4f00848b3cbaa37e4ddf5dd7c3012a3fc826d5d2b0d0fd1e59d90924e0398b68cada19b186d7237c341e520b35015c3b47688c951e3bf4cdb6565580c8849dba4c4a244ed2b0de4dc62a6f1dd06b269db632b4a9e9efa8c55fe8188da3ef4da631d26b4e5d40566e5548c2decf140dabfc5bc657fa2ae4a34b8135d44b4bcb4df99505942e7b3b66b9d50e9bdcd3ff9b3a72bed07e431d303a4347239f00896251375fff7d1fb960a0c453d23a5dfcb43c72a4eb4d1a49ab745d6a86e8e3edf3afa90a90bde2c2a6366937d28460feb51415ab09d2db539313e1db7940c2af4908f8841b1c24da9dcd4ad63ab1ea8ebffc3d6c112116184259ba689bd9dca294eecb6c986b4c5de1eadebff46f06bce54a7234ba35e08a27d5dc1e73beb61cca1c423e08f2b8da9fc36a9df8c0a18e80340299e1bcd2a9da262d556dadf46891f49323c79d6ca119092d312e7c5aece96872448741b0ff0bf6b772a813af556ad02e701b7f00014d2f6b36a0efbf906cd7287d8f1b3f661bc915eb110393d08536181db4ef93992f61b14ecfa1df2bf92172ff920e26cb88364391c449502f6efa2545b262509f0d5f1848ad3cf4dfda30486ed222937aeb73502f69f52133f17d4c994012eae75579280fa648a8e9651b72ecebd6889050c84072f41286c59d5d53f28296032a21661751c4936c56d56772b35c00666ff0f8cd36d0eb6cacf9db11a73f38e5027eaebc7ae919a1ef716872e0f173ebeaf3d617d815e079370aa36bdd3f75b8597205743a7aa93a455dd53b3bebf81711a010699afe0d11f705c6d1b2534700f315ff765f946ae7a49b245197c75722be3b25f88a21a2dee2050461cd3a0d1208cfaf68adbbcc5dda902472a137e184e1185b26eb99d767b0d449326941b7dbb37e84e4b238802b8fa209720927787eb169f20e9c36eb8079b37b9eca80646d226ac001d58c306dfdb048318346c6910dd970226347f3994042dddfe26008ab6eb3240835b92258818f5e724efc22edbe474c9a111b15b2cbb12515eebf2771e2d055192efd3f324f7d0472b2a6e0f2779b1c4b80a475ec770c0ffef3047f37e3ed2159cd9cae39d9a3af72293922d7bfbf92967fb0d7bdae4ee0de5fc5babf919d529d56c14a668314467253a5ff3667ca1d42d58e602042387169989070ba3e04a96ae44e672ff284287228e2d69e3c55f5f12f67a8343895a2acb6b248fae0d6bcec5c0a8dc097ada059631be4f5f5f2157f75e9306d7e6db6bcf3c800d99759b58e7c14f0baf61e2f728c1129ce04c3e0435b07e07e54c9e3010a1095c1f827821036f67bf124624410ea21fac9f27f45b8d46f4cba4db4d7ba31f96e2cef3bf1af4075c3b6944347725444ec74956bda9954852abb4e3672ff88a96b70b499e7cd65ab94fcd707073b5053956068a2ee3a4b81572371e311f96b656327199fa32fa0b27d5d0e704a72d0cb031013dcc9f5fc20213d1e493209e3f939deadaaf6e2474fd86401327b72d2592882c9d7b80d465b736da0a6a7836c9844b456ad78a194c661b4e4af0572d98a046e2bdf7d139ca5f35b0cf86e2ce8dc559391e3dbe1350ff814ff1d5172bdb5f42c404c783b9d48a2e82a67df259d4e1ee38496d9735b9d3f1203dac7729483d81a74129d3364a614142b90c76b822cc7e80c6f69916435c3a9fb792b111601f2dd09c33f745b991a05676aaa9ccbb3b3304a2f946784a8556131461523df8d1209566a99d7b47bf552561079ec068eb25d1c072e633c9727972cde3871f5c763c5ca35d0b3418cd1d4fdd9cf6f24e49716ddb092970ed674331a5b43217739ba99cc9f19f67bf74267757fec1e51160a8def90a11b925fea33a3b9986e780f2d0b572d1b4177d64699fc1856b5998f8bd112d62ae0c405358a8554957227605d42f2e313c4beaea077e8e34f687467751013917b39a2bad08706f48942c06d12eebbc39d13c138de7ef25f13597c6d6c980e271db014fe97fed203257297b7574fc9c35a6b9dd773c39b8932578d18d4110e68a6aeb614de4f11316072f56720dcaf7828982c162347b5b81cd384320834b12a811b900b846bc530817237fe91aa3b287542b9f6ccce3fa195c926876fbe359c7fe9ece218f4bc05ff6b487c6a5361dfb341c8f58d5458c40e1bd4f34f717871c762a0e36dec41d8054ba53c509c775a19523f078aeec97851b09d58d461f94a6c664026d965af2c75664afc03b31660285169766409b4d81ff2c0f1df0bd99c9088f2641e16ee12a572d7fdfe3290ccd2b4f8c4e35fd60406cdf7d959a45548adb411f989cb22c834729fa19ec43ecf2ac36009c593f0a32297cc99f828c0eef3f0e11c924000964b56ab2baf0f30141ca2fd543d93ed1b3542bb5de0e700a65ed76319a358aca00d5b389233c4859d0cb2acbe8badafdd0ab4d1c34281bd081e08eccc09b3cae7c727befb53b97a83d25fd8055a01aac025e4ac2b076359c5f05a907695a4ea5763724207344256c7c48ca52258c6b9420d7936940a4a1c2ab7968aac74798c3c1e7200f8cbe105f50f39e04ae6ae959a8a47012a9f93bb60c359e40034014c53cd72aaf551fc527f46de53334eb83795fbbba2cde4958dd2f70ef6f2745a1e413449a3c577a36ea7948ed41c3262a264946e39338c49ec5cd00c78d1b86c5eb3913d437bd559f3562641534c6af2dba10c1cf8f8582b703f6abc7c2c4fa409b65d2b8d460f3882959201fa90b0a714199b037ca0e1aff12176c6947ad9a7481d40727cc68817066163546f97a020f99db3b5c489ff643eeb7e73901ee6e8feef7272a6d0c2e95754846cad9c92035ecd25fcc9e09125fefee1f287cc2eda9ed9837248da1dc480f95b9082754aa16004211dfcb464ccf36b1c500f5d84960b6e9772be5f9d92217703f505ca859caa0e9d7c0852c70ec4c23c2dc26de8131aa3c917ff7194de3cc1022ef6486900cf9cfcb3a210dcb4944b177c00418579cca53d50e91e4dd703cfbabfa1997dc7770e91d6139d749527fdce7342edf08cd4d50a725991e4094c6ee2abd1d293a2de4b3a220c4965204c1d9c001e3898a0fea9ca62c66c3aa3ad557a3385d672c7753aa7a05aa3ca9ae6b5269ea2e53e98fdc141725f5640f64ef46993af87be08fd23024e6e5869082b2dc8fe4fe44c2be82a3572904734601619fb58ef5fe83333940dc4466b764b935eb927b5254f9fd1659f6af8ce3339fab3f5e7a951b9f9dfeff9f4b55d654cc559a2a13429e23d27e1f872598478039388a7dc87539003a650447934991452103f13fa64072c223d1433720b9dbd4fb760b7ec3fc32d78e28cc567aec8d86d32cd1805acd8782af94b9b5585953c597d8172f15bc9a46bc0c7b48d95cb94f692dd05f9bf2002e3d0e6db725aa27045d0df843cf16e3dd41bd1f70140b906e858b3491df34c72739daead32131ecde6550731b5e00f5a5dc8bf1f04c6ed598ec22ebe72767b6ec2ed3c9e72d49fd3a39ef7bc8c06ff141287a2e8c3126d9edb38bd74522daad1fecb7c5f721d58928d2bae5484d00b38051cb675ad1030e5f4c1af8a6b3fc75c4b6d416872a2acf0df29374df6efbb129b880f22311623d3ecff4100db2d013051bd16085916798072d0283ec06ebc7cc8e5a0cff1b3c8bf3e5e48bdcaef77cb12e66ace72ad1eb213cfb950b0126ef9d2c03ecc693c3cb416e39799e0a2a88461ca1da372327175f36aaccad8c48a95783d9524bbca65c7b93db13220edb4b923db89f772576bbfbc4214ab2ef3aa1d92127a5a0d0214d0747dd321b66a90151a83c5ed386cafaa9e847c97d0563ff64135e379796e3e34514a32344a3e1d657780286f72e1175f3855b42bd86a001fdc078f3c64f4ead0f6b545d151e752bfeb3429446566dc7f5550c342977cdec02d30905b8db1758e08b862ca053acecc31d977e84086c6c074ccce4e6340e09fbadd67b0e5382aad5ee9f5c7ec49214eac47730e5d96e31c36a07fc155b81b376986bb9f9d07b6abdb92c436b1d8724b0de3733723cf65c7a93f50aab69250a53cc742f0cd0fbf86a0c1e7813adbe667cfd8952a722cfd483649ba0ef016c28e882c384694e22be0287ad3bbbdda578a15ad4299724a4b70854913b35841b7029b58fd2dbe87c5107b5ab9241348929ec127e74807b7a1468eb3015f9a40ff1ef6ea47aff113873657ef6940bbc7aafbaff9930b0e888084c2dd565f578b2a2f4684237c36af9f2d4f8d3e638ff8f02c33eb57b565e4c05676ad60f880af8dbe27be0084b05d6495a8dba118dc67aeb8c552bd4025505f07d2c1ee8288dd773b67ea1c6f6fe57caf9948a69aabaf3a9bc26fedfa72adb0eb82fb8ca2a91c5c964964908caa955af45ee1af810f7ba5ea68c3350370566d33c55574de134a5b64bf8903845bdd41586a7f820626b6e2eb86a5826d7220021c0986b9f195969d66aba7c45679d94a5a74d4d378af609539505f3e5d1cec0e07cddfeecca2ee697ff7323092fac635db71e7379b70c6d43a015bed945f85480c09d580cce972351f14c5c4dbe942e54c7cf2f20505fc97feeadf297d4a61d021e9346910c9deb5ec90fb5367c4e9e92bee9a59a049838c21661a371872f6523f98a46f3ba82dbe151222c8e2c5e792e917396c1a751c46c0343b478e72ddf91e722e846d6cd11fc702f13d9511b1ae3834aa4d29624ad39b15e16ff9721da74ea8b6c3248aeee80157dfcff64ca71d4a85ee2ae19ba101118152d522644eec77c8bb834e8bc29e9c2a6b9a2bc7e7622fdd25921b1dee8b3c087b181372e1629955dde89c05c619dfb50538c6fab7f6edc306585be3106805296e9c49729fd3ea271ee0e49cca7743805471175730e3e16af21601acf3a13cb5623b6172d1af3c86860df91c507a34226bf943316d4e6ebe3720734a354280a960f5b07268d671cf9ca263c34e62b4da7ff123a0d6fa411d3122b2768dd1d520b581827223ad0871217785e58e0687cbb1f151866ab242e8807b47d07e5f7c5d7fdd5a2ebb0716a25cdf6064ca9e3e9d5419e88bca56424891229ee1358007dae1ec4272f822f4f47a563787ebea2f568e58ccb9d3e04e8886af6af39c0d9cbc402e32720b931aa18eb0a15dd9945f0a144e66152f2986f9ab313a299c925304eefd2664377b48d1b8fdcae4f6950f5288d8f625fb578c5e064a518ceb7e72939ebea236090e8d89c4a128918fab95a5175bfef479a1f035c1b88b51050d389bf144e1720bde74d490a17b91194a29e38e2049fa03a866ff5a9b68376869d58567a5d12e65fe61fe19d6a4ec11d08f0ea287b7ceec7316a0aa63f199ecdd537fd0ff276329d300610a3fe24947584b2f05a4088b14895aaf99872d96441204065f25cf72c85292ec527f38efc25f4b77d41c21e9a5201fe4ba3d508db5b88b2a8b270036e38714d0e29a802cdf753550c3259289207ec9aed45843ca2ea266ed0010e0724d0fe774aadb468b153f5bb442d32f0d62483083b62ef1fd1797c56a71b91e5322b2ef032035594558e9df875b92bc3c0792ab60380fe9e5915efaacde7ea34ce1545bc77c34519b54c86092a1f5e5ea8e3bb22c4c31e3772ddea8dde8ec912d8b8bc0d14ce8a0a5ca0da48c9bf16547fb4d919f87c385631caca7c876250b2c62f362ddfb3582936259ded5906da896c5a7257aa2087a8229bc30ef9177a212d0aebdcb82e2550a616ff339d6dca4d1737657ccb9ec6031f668ef78152c381156bd6efcb73035a19869f2f2b34337256a3c40a906a9b864298ac53dbdde6f7246a89f95fb03a003e16f71538e8bf399a829d6155fbb4ecf452089f9c9356c2b34744be692da9f05f3e5b9e4f84ad8b1b0e05be2a36bc8fd06609ff2fd2e2472f03467ab252fdeaa89d9de15c142fdc0fb57ee3095e5094298b2bc820b68b1727c6342319175b2b21009d3b7a7c12387203ab1d747f4b7f7fbc056b1dce761598e5a17a4003bafbf659a600a73059a99010d1f7d1cd52c9ca267c63fff00557263a0a1213f4b897f01fa41a10ade6bfdc3fe6b34ddcf0da94f1fc61ed38b43300200a45c3a496da7e580483b01f81313f1ac6ff24ffc5981adc49a75c3f24169fbefca0ec86cb5678c65c5911a45de11d48b2cabc3c42d09a3240b7b5ea596724ca404527049d284b531346db8538335da00fd57b24844a911f3d7021f37e172e514926981a1e95d92d91787b47aef526a593e69cd209a390a801623088a0f72164092ae30ad73483eeefdca1f43e506c9814bbcef64c241579682165a8ad2067c536cbaba14e8d4e2849f1ce74286c0ff781f66b91799ee04d17e32f951b667ff397079f95de37323ee393a270f23e1ddc6963dc98cd1e4df5b8841a8d4801f2756bcef90a1d3b25ac8c5781f5e0a71c494c4875fd77a642a1974a892931d721a33570f09b240ccd6b0213e2b7ad3ff49e14a6daca53dd64d3882bb8ffe25728de152e3a6b4727ead5dc94602d1def2e85b2ca66ea37b3dfa537a627248ce726e149e2f6e65db93f1c26fa03e97625431c7dddd1818763c3f06f03ee58d35727ba742576d3f01a71948c4d1b5ad41a4447b82ea09a4370f87bf2276ced9cb3d2d6a31402cd5195aeef12e8daf6aaea31c47e1a8c4a2b41787ef5ffc8dde6a3ceda487ecb3fe1ca67a7731935311d67ddd41d1030af40034a6b46303e0d1ad72f2727b6ba08888c73fb0ec74e89f1258562a8a871d1830ae8fe615baf7b9ba348d4531c505d933adfc60a77a779fb9ee03aa0f66f1924ce4d1736917ed112b185f761e483b67148b0170f5ebd96811a5ca8c71be748b15b9e43fd526538d381b758239961d7f5eef5e93408161b4f8a43290f0479c88d767a5cb99c60e81237246d63fa94ec6228807e6c768c0b7d53fe294d72ce650faac2d2f0e413303e372ff6f10a62a3727857aab4355a43dd0931fa7f802d19a250684f1bdfc8283e96e8f80e3d3e30bd5660cadcfb0390af684610de08dba64f54d3a8a356fb6e93a7235f04f9e5424d56f1455175abe1e866a476d43ec7c82dab71675d0886675341797e0ac059302287c8c018e890aed4b567b0b18d5baa06990106f7a05a717a71dfcc9573f52e70089b3be75125edbfe62367a3517df665e646de9c1afac5df3284f4376768325a599e56d0144fdf0e2ea278648bab02078807bc1041f51f6a772233eb141e4237f06ccdf72a59df7d083a86f727280541959e62ee0b18426f27256e93590671bfaccc71bfda2f6e5f7a5bdb96163054e9520834e2005aa43db5aab223f2d2c1b83411b8d92ad36e880c37357b3786f21e9b4ceda8c7a00438b729e931a70c58c63adc7dd1f8aeaefbb642aee61e37cff740b797f778eac373f4d149ef16ec75065d958e018d7fa69bdf453bb2ffdd9a077f77750656cc6e3f6727f410ca6e3a2e2592a78ed8f1cb5d2a5dda1d6540b70d01c64ccef39383fd7726e04e31b01179f90f810838343c64ab9e2760f8b2b0cdc69ec27954edd985e72d4e2f2d18c3565448e443d4b69657db7b02919fab29e0c588fd895975af50b7200b5a621a4161e56a6aca4371123c25bc1cc3184123fc910bc75171860e7226cb2a8256707e4db02e2864c3ac0d6212c19845fa213fe757f70316fb3028fc9721f7860113d9d4eb5d87c72f5e4d8db5d82f2caf502f9579977ddaaedd723ae7237f9218b7f17487f2c22eb383328112cafc7a393890bf2441f1dcb5e83b01d392904d8828205019b0b379b941f6461a5d672f3c83b58463b809abee3a3dfef724feec5fe086d9ed534aee6b087ce1d45f23f483341e4bbd1cba8589ac767a3729428337e15e16a384cc9a336016c0a41ea541351c16f9dfb05c84376d49a9b105a1896c821d39baf3bdb6e613fcdabbd210506fecd727aa0f3a6265a27efdc72bd36d892a53278dc2216c9e7dbe07f3b519ed284e96c776d480bc6ab897a9e72998ecfc09b47049ec2c7fae067b4dca5918c26c19cfdb824b52a35d21c7c721bd5dba708580d0a27157dbaca5fffa1389184fde4323dd9366218026f73068b529310917e2883945a2f26b81acbd8dd9aee5b100b398ca81516108cc73cb69572ef78bb78c4449782b1d4613e964353c06c9de480ce212e6b2898a4d1b67195512dff50824ddce3976cc95fe54f337c611ad2f0936fb9e8a55d39d567f28c9c72ff66414c903ba18319262b204b961182907b5d49198d7539e56e5b682580ce724f3d9cf162fcaed52ab7d4a0fde85ee8c8e3b6e8b0e9075173fb3a7e1694556df1f90e9a4de7a484bd05baa76f8f9f2d1004b5c97f5f60677ade5a4b2e858e722449ad05ee1fe3b8dfbc96390cb94f6a47ef796a830ca8e6ec3d003f723345023384a5a70d5399d0e95595964f2ccbf748b3864bd67b8903aea65e0952f5b47279e774d958c62303be8da6569b0bbbd63e5703a06fa13fa7e3473fc5ccae0072c05f8da1bf1c0c3ab58b6199b2ae91695ce2234b1f044d55e86a9e1e9804967257b02429a6779bee397bfa5f993a11b60897d145a07314743255fb58d84fd572a1770de99110593c2e39ec18ac4307d4ee29f9c4dc0152fd589e6217d8cae545ea1584653b61e377414853d15378d98168b88524283eb3145c7201404fa3e872b5cc477a400e58516403993461de5f610f22ef45b7a78c0551e716641b1e3b72d2fd7660a2e627e1c935beef1b774b74e13e4e7cfa0ff9c737037de1aca2f83b2b689eeab91c29cd549a0ce09eb74da9f2f9b4b7b175aaeb3f9ab0753880597221df6bf9ea95cb7be4f4f7f5f97e4ee353479f0d117bb21aa91cf7f2e6a5ca23c61e29d8fd7b32369e802649a8dc8d1774174d876e1525951c51530b95b2382afff3387870b02ea2b2c24930fe06b42b291f713da0988f7026877f22b82e03613d9262b6240ea7f0dfb53dac736ea03f15e8dc5dd49de46451ae178cfbb4a65df89e17ca86e30262ca2692af7430f59e07817751f66dc084318c95bba1063d46b6d21ffc7e2f9d48cacc150caa09f0806160a238c3c8051c2193c5e27dd41017a6566a6d03fb187229f5fff59a4a8bc176efcf4cb663d987e62540c7a91ba639df6ef4da775893cbb8de43dc2a9fa0a6c822238efb1c0c4bf13725ce009c4d7252a735b6450468a97be331bf6b0190968edd472d89460451fedb0ab4470efa7289b7899f48239e6ac2640f7ed4f6f9baf22564eee22cf6fa6db20c683d0b2a72618eb095872a8c78f6fd057636567bccc1245558435ea3f39bba1f2d687da6721061622a96463f480f64ea755dfdd4d54005a1b5341eeccaae0f9c042834f272245f3d17dbfefe6cacd321cf16f0172819f266f9fd06bfd7dec99bd8f8656b72d1024346d2e469b90566d39d6556a5e0f04d7359135a7d83d825263c1cb751405df51f68e4c4bb37aba4beeca34ebf0fc14bf6e5bfbc7b789c1736efaf6c531bb48f95df2d0b24f87c0825e3a28906fd4c08d71180d2a04210b7f13f4b52c9720be7a9ca0410d8466c8a25ef48280a2d72c83886bfdb3ee82bd28c89500b3d72491bd881a19b4f72b45d0a07064d076af10e9fae26feca5a957b35d8aecd3372164c854abcd904b8fd85843871e1ba360331d4f31f03829dc782e682ddc2ab7294a4615f9bfda70f91618fbdec6cb7ccc96e8b534d9ece4903a841d348d71b0922953dd3809e58736c18a61741ac10ea5eba1a2025367e6803943efe8eb95b726d17c19f42c507a8961bd486eb6c3315872de197ab683e54860bcb86cc197c72c5c2e0757daa36c63950cb6d37e77046ceec3f7ce0b0749bec0503d44692c31ddd9caa61eb87e7dbb19280d472f8ed63c833109762a541201a03c1dd59012272ae7fc68e641c8b333b7640c902f33f1a7e31b408c1bc28b78e74139f8c207d2004c42278097fc8847d7307dac215fea7c5254e233e7bf01b4cb7da0b764fc14f40570a8a39e3ac6a3d5a532f0e9d693f1cb4c43fdfe48bd5dcf689b06155287298381b086d1ab2a7ed5ab18b875fec9c193f42859e0d023460739564bf20d972f0308327edab7de950ed947f971ae353b232159ea8a8c6884abadfe9f7bf6c728027d3d928785320a303e42a05388262b7baef286e291a2edf1f35748c2d60083feaac55c9642bb3f3d23ab33f3fff0a79a929a44d61bb08cf1bef4e786d3172d2301251172619e817b98f772ed77efe8d6e7e9855293addb22600c1d6db4c11946a28db23814bec3db854aa99a2abba2abe635f5d0cad6b284ebbd5568301727621493aa3180bb3ca2e40501f88fb7b16c5041881ac862146680cfc2436e07231425d846b4c7478b5f9db37d8847a6e47c9389310149c62dc40097377af8172ae31237a64b4182e6cb55e9b59d941d4dd392d238fd4f45598d3d9b4b274ea72b49754471c0491e858e362eac7456e3fc7c7e6e53be4a26757bb396909207b728624d4b1bf87f48599d3e1518acc1cf6bd461b18dc6d3970eb16351fd16111725bceaadcf4ddc3256ca9323318a74fa4768cc429acce5ffc4c0f03e744763d08256bb2b7bb6365b805bb72184d43e66a01ee38c9af5647b67e783548a92c77721f5ae457aa429128b1e63e6e12f473362b8400e1e16892ae97ff97232c1b1020b8b25b1a357ae2a771626668dafc6f3318164b2b57e9cce9052acacb5723915dc89611d8578e8a86991a839a4ba48c8b2cd1603cdd14739b736fc085ddd78772413c8af9b66fe22ca6a03fbfac45d039a1c338a41da119f492d100d6d3532c7218ff2d57552231742a135605ad015077e8958e54b53ace157e93b4ae3894c93a5ca28c75a4b62b55fc2bac0cf3eaaa9bad4e666aaf62e7c4b6236aa6fa2a85675d57a6e8cf4e83ff10c1f671bc2ec2202797f75604421e4477d977f999c6577256bbd966a624d6bb9dc55529637b89f3a637b133f5db9e1432f29ac6e0e1067292516733d9b7dd6bbc72d992be9191d3f721d8b4ca7d39c89e0039d0bdaad0722e712e619aeaa1fe0361b2e58806a675c843edad038a7600d40e117f9e37d47289e7b3e3cd6d0270d0e1f33d86e0589c847cc7778fc8b385653ed5ef4437752a1224c75fce030f39a6a2163a9f79dbc907134b2b0b2d4b5ca423ecc360d10e7275028e4364089e4e16795ae03aa02224d161bd92d7ee63e7f0fd0a11439deb720b69234a1e07e88b844f67362729248ee4f738b8f354c0010109cc7cdea9ed72b7e8bf6b1b013b0091afc1e2942906586a0ec90fc985d91264fba1013a4ff24cb306f27c208ba222b08c01ffe62d281f7836f5a588af2bffcbf3be32c712e372c32dd1ebd00bb69abffbc655965d0660a87153368131bcf0363ddd6edc248a131932aae04277bc63597ac76a791af0e7624995156d390938df89e3a4afb22e2ee7a204cf236ab877e4c5656738c9e4fb6f4b2fb8c854c259bf461e1034f449310a1cca65af45558013038b5b2d74a39f3770cc9b81c34610980a41f896b6b2729f315aa3c2fe75a6fa93a21e085620a76242dc41283119b55fb5bd07c20c4c7258b53a1efbc4e911786b2b8e91fb296e5b3cde599b71a7556c5431f0b2ca9919d036afe3477ce78c4e9acd5837c6dfcf7e0bb1377b97582c6ee681e7effbd2726b2ab66d8aca8acd36d458546817ce4ac96c1857822c3c639e0dc0730d30a61eaea0628864494b078d9b7839ca9d10a556cb2846ff50516ea3763757bb423d725efa51ed83ad5b3cdf9f9dc54762f39edc9412fb7039b9972704c212f3be3d72dbb67c6eae2282331e34566bd19de0d4dfaa1de10f39613d5aeb1a4f92b3e64c0cbc13b80a996e96da43e475afa0715ac04fb3b0990385ace4a137b7e52fb421e4f72468decc84d90c86ea1234f47cb5f555acd12899d4a3d4805bba7c98567256dac338283fe0a0c4f542d62787e04babe57a77df1ded8b156a6f735bb13a152ab0bc1d2823acac7d8ebd3ad80019be2f1eb3e2e6f3662e7104d79b9b5d677283f13970a172a5d3ead4176827ce17f9c8ae5c8e7b62da63b123035591857d72619fd90dbb51e86ffebe09a366792815a84e1842fbe71ff3ffb183c0d663aa722b8a3be3fa819641920a206e373d597428c7e2b209a6d8652b23c62866c5ce72bf934134051246be7f2896d283c2c22872cf858717d9e6f476cddd3b3f6fd8727622f027e77e2c2c87008dcd5e056758a3f8e41a3cda12249c84921482d21d510f21d68ad1fa19b3efb417a7ac1ca5c519a0da90170b0aff5e526697e1103a53200c0b82af5933732e86922613964b3f813ff283398c9c7bffab71ed0ed55b3ef0e88df786590a9726d9920e44380e4232886a1f8358a89200b83b515f8fba7203f2f875d2a195aff09bd0e323bc521a53f80f17964c989e326ff02c9a9b8272e461942d1958c0bf7e0209e3828c7688509578654f401ca453eee407b8212d625c47a65eb730a3968af541498b1eeb172cd4167cb9fcc29860b953a4a7204b5138a80cff451dfd5ff60a6471216d0680e32150969c081f9d8ad19610e33297212957a81e91b6dc2591080fe13b5bbc9c052a94f5cf417a60623b0fb43f4e8472af700432e93b950a19dc04d0ded0049d591c832b375ef83d67b7e313cd4974722cb7a95693f706b6e16c9bbe6161a22899a87590109e3ff53d7ef1a113231f176211206d6ea84f6b9a8113a4c29abc0c7128feda6e409dbd7f7c73c854ca137203b6fd9c61c174c49ef619d3ed86d0722add1af4a6e69f0b7124f2af31934d72068944735bb71696cd03f1740d59901e1baa565118437807ec1228497b8384523302e53d03d43c0e8e4c6536693ef7856a9edd3310d651ad85aeeb1bcdd2e31c5715fe5f35f94d4c316ec1df06dc6928d1ad66b2c36c718da976450db7b06972f9a4b1c0979b4892e52d87f8c8db00a53fa55299b8c13832ebb548e229050c722a8ea23a0271d43fa60285164391f3303c73ea9bb290a4ee306ec95a7888af72c0d8ef4fec9e622b94126018add5f77a1a5ac965b3935a97f16224dafbd13572db872a97e669c4d9d212a1cc537839e0ff0dd5cf238bbd11457c63df943bac724588dd90d1e28d878cfd45d8e89d028ccb35e3dc945c1447e9eea7a952b483725d0e52f694da4d3e69ee876d4e07d64ef3964181fd65f8c094eab96878aa69619cbf729346357a2d2129db39f0f5e10a9db3832e497e742d78979f21411f5072dd4aadce15b30823a2138df6ba04e219b81440e5271ce1c69feb04b1fff9d0248080bb80dfacc26b322695b40a4b2cc864aa9cb8d7c466a609aff09a0e2c24726a0113908fd9eee342992cd29c4ce8728b3e3c6ae1cea26c86011af5ef7f69720b7ac4a370cc70942be879433b206ebf815bd00d7174e37b2daaad09dccd5372510cd2398f4a796e7555af65c54f7a5c9841e9085bbbbc5819d306ed950bfb727abc7ad3fd2c44a6874e29562b53c9a0557898ee668609d78d796153d21385726579d26486e4279967301a07056f7f07c293a0de5ff22dddfebf9688329f46694afa96ad4ad75295ed481026b3c906fc765f3aaf0054ad6d2ca06393588726070a2c8f32b1b049d08572f4a0346c14de23ac2b58b4c801d489ea1cdfb8f36b72eb587870460cc20975013d44e83d323e9969e168577f2e78f5dfab81a8cd3572260f281c0278ce24884b6cb02ec4ddad57ac2ded31db4a6b8b1ea5f68e796451508549d29dddf56402eae0233c61b5d37c29eaa97ca235ea2fa0ff88470d8a72eb79204152d1b99f8b9b063a459f250c60392013c2f555b816b2b6e8170b925773052fe872074898a7797e405aea7a9dd53318dc3ccdc32b62ee0557ec43bd357eb0933d078c2905f0c020c5361446e7c44de9086e3583796667d594d6874e72a4b8096dc4d73209a33763c72a1eb88729cfd569906cb1d71e519356f52c82696dc3a9791221b61c72cffc0f17e58751ad9d4693387d35576a956e7b2b20d4721d2f343cd87cb2043428372061066bd4b45889015fe4be7d769f8e09faae187298915b12eee5f734aa72e0f21d338fd9020a6026364cf9ff605d4db5077706729a06618682fe6025b464aef8c42433d64af483b62d1ef68c649a763de900bf72ebc374bba6a7a034f871000a781403f7957ce0a67e23bba27fe94f9c86eed761e4bbc34d99ba1779f3b60cf32f70cfadcde0c48a77f21b6ca0d0ede5c1165a72cfd4d37e084b34eb127b3ab76dc45766f4983921eceef6b8ad997fdabd5bc972117599bf63a551ed61a42380072781428628a1ff866727e21577c5fd1ee628171dc3a22089080056baf1f2f3eca89395f99c37906c19d7cc3c9adb8bacb83672cfed33d84acca343aab77751a22a747768848e2dde5eff665df636fda285977277accac572f5a0777917d29050501e6895f53abf0a9437b50208b352f43c241a7e1de55020504f63c57d405d425ae2931c51eaf3b6b08070060cc6187d23e072bad361a1c6ed076db101876a840bcde8f991edc57c96e23e140426009a31104b2dd73a68f010b072116413361531ddeebdb0279747a3db0c5b995a3630c1b8618330b0fe033e6ac8fec11272b948def24161e24900c6c61445a5a2fca5aca0727509e8fa1d128755d54ffcf0d48a181c3ba226203870e375c6d22b1b61957672b3bb909caf36e74894cefa7c8aea3d920a44dc9e919f3f1e3c1c6a3d85e8df26e7c35b1886c76e5ae090d0ebcbfebbbaa49c2335dc7b24b6b184a72f5d7616493b613b80a6be5b1835b013e2296dd202455051606b2a64a7059936651ff071722823babfc9666734551fd26f5ca93e32d11d532e554080311c80ad3b69845572b0a40a28a2269e8943cfff6e1638b4d0ae7f7075fd076e037c3abb8394653272cee6ab0413ffcd3362757c3be43807eff83304581912005007a3e75d9b3b6f37c0d28091d1d68685245e08d53514c8e8de5c0fbddbf9ad987c1796ea67fc7c4e2791ff25438e6e3b8a6af690fc2deceddb32afe9e3496ed0489d8cd6727fbc72e7693f39e60e6fc2a0c8a6116fd5225e9a23cfbccf6b619e2a075b3bae27b95cfc009c133074811b7873f65157150905044251ec6d44e8c0c53c37558642927201337ee2b840ce288d2e13c754795108221f7fa100815a78b6fb7f827d07187237c5a7078a9b0fa23009f866e6c54ff05bc077efacfeda0acee949758e1ac51d5b236243648da78a00a97c16aafe9ce1a506aba50c5d5f44d4b8558370a91b5ee374e105d7c41b9a0714ef37fe56e63b7360434d45afcd70e933176aadcef34d8659e02cd3add800a5d64d16254def4be0df4b7fe7815b2444b058f2bb61866ce28fdd6783fc4fc17cf351acdfe6f36a6a4dd23e53753e58f3cd04b7f034425547a1e70815bd16ce7cdb9e4a1f9a76a84a8c79cc01f848233c88487069c4e401152d37da1cbff5639ca93fea2e6b91aea4fd0c341ebf96b941336f904d47e772d909af82a93551aa43670e07e8c71746b483b32be7711d6d3eedfbb900b299646e4193e7de1ec55d0b1b09f5e469ab91865008aca5a4ae4a284527934624356a6c34675e653c545fcec4bef299b03f6b8e90eed5bdcbadc2d14333dabf55721f5f87074bcc75e107445fd63ea210d36ded7c273a547f9f8acdb078066b809a72b5d8913491a8353b7604a2d47d7e5ee1a1e969102f5b82be322412adc4624b129c7c794baf18186676f53ec0534208d605d4ae6988fdd64e84c93f6ed0f65972ae34d3ffd42191e7b533e5ba6bbc7cc7d18a5798c79bf75e31951a47944799201df1cae8887e0f77eb81d01982a36864fd0670eebe209843a8b4e4ec953a9f72489de674e0dbd2c91eac04e08dc6289ffedfdf72ba12c245d70b824621c52c006db77647e9e661e0e1c4cc5e8fd1034dfb0160670aaf0a3038b47cb2b3127f7221597b86fe2df2073dfcaea733254a3720d823633e2289c8379984d8f33b2d722ba45495626951dbb2c6f29ae99f5316d5b3dbb231790b2a7c18729b096f893abe998d3c1b6c2ed994f2918574072121819356986a0aea358b98adceccdb3e727c60e3701d54176046d5ef577bb61169bd59fed5ce7b00b4155047312e2b057264dc13569d7528e5ff39f89f7deaa709c2691d4218b670bedd67f7664128494dbdef20afa1a89f3bc4f7e13f8284a1de7b100c1eb0e66af58ab9c3fd7037a57281914e657873de62ba5bf5a9c798876f8b74b4a14d9f1fe5326e2307d7d8e15155c59b46f99f70e59b5002514274740a6e7581def1a7477cbf1a6eb41a90f03d7ba474ec3e89c447829a00bc34461aa3b36aa7a3687a2b8ce1c0cce51c6e2672322fc40c4c5f1817f19d7670de4a26eca71de97053e0544d7ed353a77066c9336fce6ee4a0558c9e3b83e12a717b3786c570d3017ea2fc0fa7c7ded7978ca472415d32ae84a1db8cfbf45467d263ef0de5e3cd8123393f3a178e37b54f37fb5d9f828f214e7b2c215c2c13f51f5edcaad053b22fe4fd5ac459078dde472ebb72f55041cac2f5ba6ad63ab8477c3ae38a72d70e172d1159b80d009213960a352d3a31f16f9af0d4c9a573d6f503ba72c552ba1925c9de850f78f0f508340e6d72ff348c5ad7fbd3e17964d8e43e3f18978ee24361ce2f6da22713e01bbd4345721c1f057e49d2b95f8315c1309844ba821a069da815e2bd10489eb03e6fb04233487b5a5dde655fad0e7cddc59bc1c9a063c8298bc639b72aa6e950de92a51b72c5ed478e6d8e154c589dc31105222d790f1d074140ccadc2dbba55cc988f1258b2f977f4db3cadf167b33c1f95d966b8cab23b6c57cc0ffef50d00f89e24391133537dc4ef4186080afb697aa9a525b7179048addc8ebaa1fc974058c40c9e723e0e3449007ee673c71353eaf16d7b099a201ad21dffdbddc5e571e2104cad721694701f30abbe1c8c9ca73490e43ff56dfa31687d0a8f2246699739c2c094155cef78a3c1b3ef7c93424b5e2d4057872a501ca2443cb7786d73c15e9eb861255e454a2f9355ab2ef96ec98886967e27d7b930d537497fb908e6c54963496059f9892d1521417b07aae2e70dce4eea60eef4131f22332070efb558ab6bf3af63532757eb37e260b0a085ea87c3aa87c51f513d2a698eae6f54636d26ecf2537281e642e37dc1f95f9afb42c4ead4d54feab0a1360bf0c27b43afbb136b099e722c63a6285f552475254ecd9055e26eb9be29a7d685abb961e4a8abcd5c6ced7249d3388ef50ac2ed144aec980fa0d47117c7536473b84923ba11bc1831ac0634f427aaf95010ec4d53a0b9c43ae5c2dc4311be8790cfe3d7474509028f835e72dbb63d6695fc38da14cfea09dea1551dd4c42e99877ea31d7d7314f253976e72af5fb05151c23783edd917b15ebc08e3a3882a0ec7279d6b3fbc68046d42fc57e32cd75aeffbf87a43611f8ad1ce3b1eec9c04525ec7e05f3e766b7a66efb6658eea4bd65247224268a47e1a782804531c854706d6438818b73a6d537f2e7b72e05ff2d92fa09496afa04e33acbf46491775a18b8d4f880d4ddfa3a7c573c672339af162dfee7cda3a8413a68955d8075443c8cbb76ecad13fa4c124f52bab72314eb4f5bb9b16d000faf7a5da4affc2b73be0d19c64eb5d00c7ce1c26e7665cbedc5c1b15e6d6230032a14f24e23e6eeae5a973f0574bbb3eb7bded4f574032415d4c469f343737cf1a075fa65f3b34ec49c0c4555e59b5851e6f88a5a0f572560c122ecfc652a1cd3b13f80783b54a170ad4a4dc127457214f2cc3d0fab572be77494912e652fedf9e23f8277c193227b4705c4730cde83c70aa41adc54a72485396ad2fc863ff8a9a47522eadfddaa84e47fbbc54277107cdfdd2153ac972a83d3221cb675e96e01e3b2651dfc11012b83c466543435e3c74e5cbed5b8f3bfe67513fc2267aa1f042fbb575c7835c5bc8f082cae53a62ee45e4620e2c90727eb2893bdd12bc5a409308563830ab1c984b1e93b8daf2a23af5c7678700fb72c4f37331882016400f47c2d7a194bb8e5c9d0058efee05a27c4d244c97e2830b9a0917d0d65ce2f11fa9fb14091b1c584761a0f8a111da8feec36f342b42de702adc59010d6d850e6ca36760676a6b5fe0cdfede93f1720a92ec49fba9a43a728359439413e78cecb74fa5fea078b26ac688e5dc8036922d33de28decdf84609b449cc03f8195b5142716e5a8ea7352af8267ab7009511db6c1eae9878959172972398316c94832dd7f0ba75741f1d8b7eb21a49662912aeca8375166d3a4e7218a4d7ca1dfd86d79be119e65854272fda26d5f63882afdc829c534a97df0e72767905cc235f132012a5b836f867b54a3f83a2734332499f7dd6b09642c42c0023f32d3de8e003c4f4c26ec069e42c9d50770cdd2b67913f584dfc5ddcba8b1d16658dd383844999d1e6f446cf335abeea19583a1d14e7b741174e87cde465728f30d605f01dedaeb476f8a91627856b2b1c25be934aef4d6858aa9c78836d513aaa418b473915cd48e62855ccdb99fc71ef74295c8b3bfe99d9d047e5a3b772357cd4ac942e554a7fd66311201919f3952e3b83465dd8d4388a38bcfd6884725aefc401c91dad3cbf483b9f743fd34edd398a771d0ad526f5b3a0a0fe4b297011704a106c499496fb0d5f627530baf71a6725cd900a42b8f7f61cda6f4dba5f5bb146cf2916d0b716f7609af4ae7681e9d1470b57c46c5b424a25b9fef8ed498fb9745adc0a32cd954d75b819b3cde0d94c24867e7027a114a6957ecc9822677bf93e079ac4d523e3e12512deba8d3dba7d04f9ecd248984d51d31366e2e46ec9daf091548de5e262fc3273f2c3db443ee596606ec8c83ef7c5700ab461f972e1fc3be6de9dac1a53288f53aa400203f9b3c595a1aade1055e21af48216bb667f607b704dc83a86e503f874a04750c55e6e821f37b2e03303eb0380624a5748e4792e6985f7e050ceae201327ed872bed2842992e4c087dbdbb15c7d0726d7263a567ac690817dc1fdbe7ef84c48af07c382be924cabbb45ff217e492245632903676769cfa673ca010d464ac8520f9bc970e631946bc7adad4d38bdb67e96f67f0aa1d887ef57b082bfaee37f5e062ca5e07a2a8ba7d6eaed48f7f47e3532ee7aef923d9f7ddc4b63105660005239289fb323f7cb634cca8f02e1d1a151c7257e72572db4c6ef67320e82f4de5b47119eab78b64a110bb9f629384fba02f69dbcd7bc93b403812ed197de5a0665a112612de758d43a2c012b613fdd6092e2f434adb2f8c107bdc843260378a5e6dfa574f24f163f063c4ed73ea15ba724759bacbb165b48757d3e07d35e9f8318e8640eea7e34049e854391715bf40e81672b2360b795e566b8fbed1f3a57aa855a9367be51582bad8ae3a36b97ed215057294f61f02419708ea6da380023d45d5c676033dcb3236a84cf095d9af7bd6be56929b0f7784f220a2777b29d1840eee81180ac043213956357687d051a8e4322ea9bcca30289368f76fbe0c9bd10619650dbb382465aed7ed40ca6307cf8788725eae28b29895907d48a3417e007c4d807ad048d38ae845a2345f4955f9cb640d69fc1d65c8d3a7adb58d38db6e7cb1dc98daca04cf3f8a64478254ee01531c192d2abfdc202692188da017897277f665dd3c53237f2a31dbc87045c44b693d72d65f420c8e99f029a658d93fa779cfa98173d46ecad837b83c48acbcfc037f72616da54ea5126e79b0475d79fd7e161f4d3c4fb0666497185ff3a5b9a82e7b72959c3c04e830089dbbfb2cb97adea8526f47e0d526e01a6d0710b0d935f3f77250f70b365ed10605354b08a0b2e8e1dfa59442edd8a3318ec353d2b7033d117216b188b32b4e172b155d37ea3ea9ebcc362ebb6f2d03af61a44d37deec9b6a726347abb0df22bcf1a8f8ac6990b94d583f6ccc3d9e0f733451dbce67df8f0118cd370b6f5816aac2e70f4a6ad604ece5c573d3574885ce9fd5a28c18179c74245df18ad893113c00fe1f48946ebafcf8deaa58ae7f8d2b51b2e036f3783bfe726c1a273647ac7f6a70c27c9c688acd581f407693e1751dda5fdd25cf9287ff721b3b8285f32bc3f77d4a360a76efa841e9d8be41cd4a3ab4903470ab46647b729e4bcb7281042b43f0dd8027eebd96724199da30b2c582a753d2023829ed5d72a2565ee1c7358fdceba406f2930d321de95a0e8a80baab50a2aac42a19103e72956422aa42c49d598a8d2878a23c3edcb6f92d3818238b0f39e3de191129e71e43fe50dd3b873fe533fd40b615c78a5dd705ea29c37c946c7133b974617ff83f4f61c4c4c1a4c63e4a0f460f9b8eb47dd0fe7b3d3f8a0186ea50e996e736c549b7eb9d37236c76b129d82814e4016117e4ff823a39245b25e45879ffa7f5eb720143f1788fba8208cf648ba4b58f775e7157eb43d60896a9bae9f69904bfcb130df8e198e58f166e4f70773702e59bd6ff6ddfb834978b022419b4ccbc6d4f72b054d22670ab2795a7b60c4af46de4f0dcb454aacb2a8f45a4bc92d1289956729893f1dc951cb7914a1187d8088bc5e6ff619218dc13cc179fd7af639a3487727a144b41795f806033122aa173deefae89f5af751ec3376874392fce6bdfa40fa53957bcc547c6cb6fcaa4e5f557297cc88c142b128716b3fd979fc530343d242d5fa5342db1c4cad705f153e99be133861eed83d40af96b5e6e24eaaa8d07229f7b9738063a183fdc832d9797c7daaa4583035ed5e188e0eb1b2bedba12a91da41f70f7075bb31137848e35dee4eb6859909cce23e605d3e310f211034c24621aaac42e4317c75565b4204037952468a15c64f1d121b3227644bcff04184072d0bda48691102fc5264c71d722e7abdf2b60a645a5cc1f0a2ed0f23634b42911de92819a985ea212dcd2f34dcb6d37ccdb2b65de8b115faac446cb6fcffa8072e323cd613f277727bf2f36b55e02825f0fba8477ac7a4fa3a93af5cc61495972877bc0bd9101551991f4491808fd82bdebb64ced669641275ec2821dfb1f266a288a5700ebbadc74041598c1b3f2d13e093167d7f10ea34e60a77bffefd0a972b8947a7a3d33f57e737bfb9ed2b8ce4d6295d6d7a66e81915f8518ec41afac63872b0a5d59278b4096b111e99084649f0ed8fb327a3b7427e90d0d1ec03c3a4d12456d4857f35b3740d554305863ddc0b9aa410cbf13779f480537478f94725ba7eea49cdf99e9d6ce523a2960306bb0284305e6ec402b5bd66ea60ad25d2769c5d6d1422897f7731c76d7e79532971f98b78c6441d07f46d6ae52a5cdbcac722541bc9c94c3a2d4f824f27f20f881ab7f5ac26f409b4d8f96a4725bb024e8724f05604208314a7ccbd89ad2e5ef1897f121ff313e5254c909261e96f3700d61c3b8d9cb4feac1c7f5ae6ffa5a466c8913e1aff2406fe5488fb281309854d008d37b43a9646fd7c5eeffeb23ebab4566b4841cccf23e1af55f55ac1e39d2f07258b55c892aef3980205477310a852d641a6149d12c362cd5a6f5f838af23cb0ebbc59b2067f7b70df3afe4fc81c5d929859daf9a2fda25c91c29fb01d5f0664726d74969ff8a923f00624a9eaf1ffa345fdb8e72447f7f6fb8349ca6bd49177287f16bad5264b7f9441067375f59ec648b14f02baf39041e4fd3c46814cbd84c0ed467faec3a78bfc1bc3666412435cfd87b78618ac46a1dc44c2f38b0366b724cfd66e4fafcf437e1300021f6d112bdeb71ba625724423d3701ed7869840c7259d82e38bc95c0357f846a3a2a996d2a1972a7d89ac769327ccda2be998bdc72a5778bc30d1b8991d13105b61ffd3b4b3693303f53603394d74d42208665174d4e2132544beb6e0aace774f33d8505554b77534ef27d7396367bd7f80fe3524a8d4dc47fde58160006bed07019c0316a527aca89a504f137457d0d4f4957e472c92051ab9838e708caa59af39fadc7e5a8d01a99b900fa6bbfb480538449d872a4e6cd63a572c9e010582674ddccab015cee2ea4483026cf287e4ab86ffbd522e5f4a6dca4ac247463f83fb6dc76ef0d78af111d51d575f52be18b2a523eb272108f73d7751395feb507fba8464228dc2c0312ff7e34e232a1df436315564b7282722c3b57cd73c538990077c3c5356f6a75014cc61945d98cc61df5aa54087287fd7b8877a44ad18c20a2607458f196be50475de911ecb0b0c31f20a2b8ec1fbee4b5a1266f2a38ca7e91b9b9ad627a4c2680229219013b9ab8429512b5be3666d784055a7b9318cdbc949c07474af4797aa769ef71e45d18875b3c9e48c8727c9ceff4d085847571718ed1c1346ff19bb86ace3714762b3e6857a0aa2f226ba4251beeb54221ac99d67a7b9ccfd603a31d1f7ab4019b3e98728f4759ab2e72c69eabed296dcc8f09f9b5dea6ca9940ac5691d1f693424f8afce578a899fa7216667bc63bc6767f6406e0b793b50d06cbc31a522fe385d43820a611d762ff72072f592ea53386314b9d441d9a40990823c425f92f38ce73c09fbec51798de6df0528721a5aa1e7954e7429d1a38a1231c3ce71d77f1b2d11982fa63fb397a37bdbd9ed3cfe0472321ac07f54083503015ff79eb4a9e7b88579b9b32ac97af725c185ec1c57911c203bcb1040e15c569c71c5aff801384fc6a33c3c1eed81172b6a271520a4eca0d808ee4793dee2add0119055e0a396a2c54208dd01c7d4b04c72b742693e3ae74b916ddb8d76cd2a9793b36ea17aa0e911e579e4883586272c7f89b310e8bc90bd248abd592f7f032f55c93ad3427816e7ea0ae7b8235a53b607983c70c3de00d8cfe90c193d94eac8e49a756fc7fd07c2886a395e2fa4d1d31ed5eb029c8e6273f9a1f1cb3c7bb93f514f3c94ad7bb5d7291be9c85de6f4f32302d7ebffddfd1fe4dd2681886cd99f14f12cf263c70c6bf1c809c47b4a669047d6cf37a521ab21a5929c22a52b108bf6a96e878c76a91257ef53cba1f075a504de23dda1fba0becde9bc938876dcca2db07249edf676bf6bf5700b1cb517200f3c1c6774e931bf1f6990f0604458f90f75a1311e1c129ee8a1e5e90c2ea7260adb4f1505888454a5b31ce84afa7c92693eb5e87fbad22fb94ad1e6e16717286a3bbaf384fad5197e36fdf6baad01acf59075c57f582e118df7d8ac8776d72130fb3d9a6ed99430bc52a336bd66a4bb15a1322b938d64b559f126340618925b79598b57e4407081cff5cfef23799bb78d946ff986d1307a2aea65a651e3a72815f6a37b39948d55703ae2d8ecef61fd7f2b4fc9a9f05a4fd089b30bccc7b7205864faefda44840350e328a31312b5106a6955d9bb789ac1357b28919d75d7262b50ac6f71313ddadf2995e3b4950b2ffddc73c9c53747211d268645c83f872cda54fe1c221c7b820de2fd46243e325413867852c4e7faeb8e7400785b4e672726c6df301114ba2a17784f71c80acf5daab1abbdd9fda49823a22ea84b8fa087cf0de58fd161af837e83322438c8a0342b5aa687e5425d204cac76159ff1b25641075aac09a32d9ceeaba06de29f285768cc5ea4c0085557708f77a1e1a7a223935de2775e43ac2b1e19f27f5a7e0bf94621aec0321cf12bfcd91b81440f748b9dd26c80e1a774d66f1fab7455dbb71bf80f97e90e1120179b1f5e262fd104571fa9d488dfb6acb89184c59499dafae8fd539fb360caaccd8bf376b75f0287228ba9a32b50ba2778248a2857ff69be618a543147115cb9d12861b1fd0f69c725edbf1fc22564b075b06565ec1ea1df99265013cc5b291a3d9bd7c09fa586772423162b70e2a03f4682c8996059b13753f58a30e04f492e903eda7f67f9f0872bc0e1ddf0cefc458617424b44305b233a4ea5db25dce7d5a8f1aebdc98a8a072b8b9c96d6ccfe853fdcb2444724224ddcacb6ff1f34a26dcaba24d4b5b5c862e235f92d80280ac4d6fa0080aac75fc2f79d0a8b175206461d1247c1b7ceb8e48f9f7f08fd2a52b918044ab77eee164e9e4e8d7e7420e20e2f0ca51dd3d43e745a4a60dbc624a8315ce4ae6a852e01c0e6929cc1d27cf400abce6d2eaf998b2653735a16c550894544d70f8fc3733404475f3a016ec21b13aa91476105783614588fb94b7fcd260879b16c9ba4b4cee4c79176191b9e7f50e8fd7aa16bb0ec103709b15400cc6eee80257579a3866b53a04b3c96d0664f23b82ed2df7bd432c7237d6cd7fbdb85f0908f90daf0ab93b466667988b32df0ea20ba12b0a2b3b837220654743542aae0ab1f28e686980093df3ea84e5e75284ca012aa5620179db728e780efa2a10e436f95e3583290362406432524e7630516d27c8fac05b18a5672c0b9176a797b2853b933bb6ebdf846988dd264fe4be161406d9bc60c42f5472269d5e588205ae1d1dbd84f98897e1b6e6ac3a855f887d2cdfe92dd40137c272bd80467c032d0f497721fd66b6cc39406c6b3aa7f9aba49c84ab62930b69bf723d84c666e26400574d09a37a34b4a29a81f809be5e5d2edefc854f611d79b709ab21781b455bbe74726099298ab3271bca96c028cf4ea7d28670153c71e04b72429cf0e70e8c33ef6da5f5fe2495845647da1cd6d80045b3d663c0b980228d3d1f0a9c4ddfe1aa88a87540ef50f495d8567d974ed77e84a76d54c689cd42cb72731f318add3a9c42d4f524c06b93467cddb205859651dee1b7e75afc330c035157f87447d07406157ef4c92d5d79f516f32e52b86b911e7a263f3466dc2fbe170e32b799f4f0d5542dfc03d91e90c6b9cfd92da997c3aea397cde3e28e2a1706141c4f92d98afe6590f6e1f64c94b807d33b17ff080094a418d3f95e91d2ce721c117a7504d2f269dddd261a09cb24ecc1419e299dfb5c7dc875fbd443345a19859bb47a0946366b28f06cb6dce4019c1ad3771a2f09bcc20558a70eee2f877281fe64e71b5cc250ea27cb7f88db50e4735f9b37100d438375b793b80e3cdc7238e7675d1bfd337ade58f5e9996859ae317f3d6ec13f0eb9731bb222d1d86624eb7e23ef705d744efbc0be706ecbb19646766e594168ffb73330ecdb25f394723ab744098fbf2b4f6c835cfd490ac120084261f818f25f20499d021a3b0ca5725fdeaa3a04f77c156616c18bafff1738d26edd04173f8476b98890693caf9b72e303944ded79dbdbbb7281f1b1b52e3e9bbf356f2da616b4f0f5bc7634768372d8d182c272f3c5a81945c9b1c73fd4cb89afbf925b8f90d2047d50d4b49471659684213252a0ebfd1126f6472c672aa40936e472c9cc1698fec6e24106975137552a0411f0eedcf7ec03095bcfa2524e7fd65eb57ec5495928b1bf153858011bca79faf0392183848e2c8e0fa8f9cdb78563766a46c5057d254b74d85f7d565f3c3559d3b2aacb410403a4290d459c52a2fa4f98b564635ca1b8db86c823ce117c73569d91344b7f5a420a9a95a19e3789efeffb5247a438f75b6ca2b6eaa77245fc9685a3a2f01160118d10067d30f45fe5a6a3666c8869857c9c50ebabd825f37dd767c2c709db6f7be77d101f2de04f5d37b070650b481f45c27ff1a997723dce1fc5cefa89e7d14637aa63894460bf232cc71fb2c022e40b9ea733b25e72e1ba0d64392fc27f750863febe9cd4cfcb7684529925d90cede14a08fb6bfe72d820f3791985746198157d5f5cb039b2d716f6d2d98e52b0b54afd1896a6aa72237c11e4a4c157a7c715d4f211dea12992ee4fcb6ce404e800450c52bf5ff165f341e32580b53f62f074bd8120091fb9715e3a0abb8455a80147608401579f44198381846615e014dbbccb5a304bc9c03cdfed9f4a23af72fd5f7c6b7e3fa072755eedfd4711ab2904efc9eb435b8883839f5ee1f7ef7ab0608e7568c30a3e3ac5e997a803ea4fef89f114be4c8a0cd28b0e10f0759feee362b3133311047260cd16f87d99c01f919e62c4529f34b36c52076a1b639bf0786a822fd3c0049972b9e161e43f31283d8e4a4c569d884bc96c4d6537c9a3b83c61d4dc5615618201e7a8ccb9c542677b4f73d1c3e0e21bc0ccbe2a27930a06706ec9c1dca5de130ffd6e9e9b2ddbefc68fd193ba191fdd8fa770fb1a1f26e6cfbed9bec0bd085e580041ad8b4858ad58e7ae532ec7531acf1c2d23cfb9bac6d8b621e40bf1a6fc32748465c82c9fb7f5dfde387f953792d6569d68e450d9a0fb5d42e06cbec70207f720afaf344d9ffbc28aa25bbfae0c594544478e4ac93b7e55d777d8528c7d729d55b0e9a54688662c105210d0c281ba71d4e045af346dd610d656c165c79972a47485a61b152b02e6a739fc4556c8325b851ee317cbc8c7576cb99722b87b3f82e4b143b7121549a9ba81011b9173fbe1014b520a7cb0e029bcdef4bbe1327244da657a7bdc8811ffadb2ebe18d74cf433c97efa0c8fb3d0901f721b6376a72c7586773efda458a2d8fad7aaedbd44360c9c450ea45a6039b6d32d0404dfd193e93bdd19f2acff1614401b56629a054328caae548fc01ab2ba6f03e55c51a6cbf22b815b783131f372a34f845ac26760b3849779b78074bc7e20cfb69aaad37171b5828e518043d481839d3da7ee24d6eff3c81fd30ba23e50d3ba9294fdc723ed192921d35d8eaf6c35c94975af8880e146452475b73c26962ae2318b90f568d0818e8349c4a27bed860954cf54f7a61731cb5c78181d1bd1acdc646523a3ffe3b8479bda676c824f242997b6dfb62b1155ac3f80e723c20453845571ca821c686456a8639ced06129d09ff8cda9ff9c633330d6e489f7ccf2f91222652c72cd2b2df8864f54781fa2c502725636e6447bff0e318e19e01769ffdf0d82fd72b096abf202f8df2af4031ef8385c2609207daf90222f686f0eaca7823d0c8e17d7fe22239f701fb056a8ac527d4a2e59d6d2e4bfe6dcf0457779cf3633a9a172f27aaa13c0b9bf7d599831adf3fb8848db3a6f91d05a4f7994e85cb5650ac5729c1794fffd25f7b3a6ac18dc15d84e8181e0d02b9f732db670e392150cf1b272ddadebabdc4dd2923ea786eaac7bfab3224988b24d54fdafc58854e2dec6e8728f8344c66b8830405b9ca096d7dee303ae8887c36323fa9376b77094c1fa6b72be8ff9882b66c658261b715565a66840b4d647ed4e9f1266d7efe79f48a9ec7287d3c0dc283621c35c3d5207569cfd37e3dcebe01a24850a8e8c3371c271c06d44a185a4713d344975f38a0b5e3edf11ec3306aa137a24ca5cb1cf7f764fa100f61bdccc06cc9d9144754522f0f58fc61965b2c3dbf1fa8bb70cdfe1bd2e98725a09c6fe4c58d70bfcbce779142155702035b1ee77e5bdcedb24290cc4c22d7202a962c7c18cfcc30faf09ef9cab27255a18b3e41775ca953bb5f79233365b1fd5d0ba572e4b25f36b9bd7514dbe4ddee945681d656056aa31ef0de432b851729364c7c409558977186b77b9d5225ae17317ef362dfad61d833dc22a2ccc4239371ce1d8492350a61818ae92b2df1dcaeaf2f231be21874b4ef225b25a764972a88008f01bbd15dd58d4323fb45769024f724be8f4306a20bfdfbd62265dc772bfa3b0e16682abef5700303a02d1135fc019ab643803d286ed8ad5f74b667c2cabb9067e946536b858e71983b2d92a44f37038e9691b288c988e007d9c6ae5723f1d489101a528e1e60e640c637faa33ab32697f8ffed9090d5b43d672960972f70f4b2951553b3ce804ca66c8848ee0d63cdd9d3c8a27f3c95d8442e76d9b01b9b2e66dd2b83d15dd741c1f997c9cbc6af654ef96501958fc462f38d3d9b472a3cd872acf531c8d29241bb10abfd3bc884cc0864f7a5d4118dedba846915f728677fcaf3cbd045d9e25cc9e18b5c22599fab56edd281a897710788a2c745f72131c7d19d7524fcf5f55bfeb5afac4e7ef3991fe8242d41483f2976d08f3c329116b9f5a273aa985b25c83153168bbccf3630ea43c4a5e999f64b2925f655f35f407dc79dd052a04c8f0336b404afd812505dd57a5380f7b13b747eb8f8d7e72ddafce1050bc0b663659ee4b872893f7135895edc321e45dfd471953e0a85562ad18ab5b1d529d0ea5bcb8980e612f1a3af2941a8021c80b27d084a1043795727786a4a548ed4b30da17a2feccafc1c7ccf5501ac215d39b6184cf73d88ac2720c935f825f194df906eb15599b0cb73dad02619840573d052e6e24e42e0f942316114578378f682ac975ac6624b26004df87fd2be3ed38ad74b17b3191593a721c69253a4ee800be9abe011e2b74a553b052f5c097db58259c0593669662a165b3ef653442577a21edec5c6dd1be3dfc7bab91c977b3f64db9c9ef3c330ff506d49d0119eb0ea50ce7ae2cd2efbe8b6b6282d132b54284b0f2d5a013e1572330c42838291c39e16627a90705472d421e04eecc46ab31f27589b4f9cacf2d6c481a383ad5a628f01e8587e2ce90e61d52b1575e00ebb46ff5c2e5b04f56595a1597797742debe38d101b37b50149c9af26324864dc4be650153d5199159761f72cd9dbfc1ac4ddc94bcb15b49eb330829639bc6648fb5158007a3865330321f26a73e5d47c9c1f38772e2c3fb8f0d48e128e38d7566b25e79c158a752a0cbe2584aa709763949078ffba927f5ae4a6cb4edc69526e2ac99e0232b30c3277933721461dad8502305f6fd699d8625a21b8461d10ecf86b9f819dd84e8733804847280b5917b3c53c9c33cc1b30542538302454d41de166b8ec4de08f09a228d7e68abbde2d468ede1b71331474b205772d22aa58dec314144c4ce99a7b5512247724146ed16069f122108bcc56fae78bda5e558cca644bc38d195983bb46c41b472344ced5d470e99bc12cb0fd6a30e844826ad8c8c78f57a3d2414281fa6425c7296ed912dd96763d8acc5e77c2f1b1c23ff836853bdee7ef4c4d10467be701d72e7dc44bf40a9b6a34294dee83f8d41dd5c60f52c4c16fcb6086feefc49834c20e4bcaf3c6de477256db667993b02fb38290f6785c15cf7dfceefff5ff1534d7251ec5cb37e3616ef1d16aaaeef9d4dc36ea4810023b51af226a1c15a76f9587207240bf2d9c11df489ba88069d4642069099417591ca53a1cdbee9a82383cb2305b088b6050b1af35cae4d909c5ece70a61e5c123645de5199e3f17a67b95e7268828513e4201c62f7f08ec73736df55cfb530941c690f0c58af982b2fcd3c514456eba99396159830ba675be18e5678b1ab87461a2a9efd84022cec96405a72d0ed6033411bd4560ddceb2174e593d114e68c5067653e8ecb6d13def5caa2727824d9af1c391399174e02842d114a545341ecf507e13495ebef19532068aa72f96f5babec8727b5bb032680a31ba7a7a0a37cf88a79fc9962de560eab2caa72cb4c522c71d02afd2a263a19949a64cc477ac6f6725852659f4176c6a371f5720f9f14e0010992a9c4ab09ba25b7e8facf3eaf1f94fd9fd27e8f80cf519d0d72d4d124c0169a365d285002165679555454ad5c321f8cce4bd61e1774e2098044962183d1af24807783a852b6b4ec876bf42b3b0a50735cbe3c226799123d4052b3577f6f33c443c1334a86daa5c15de7dbd16b0c4f7748d0e875a1c741547572f82ca2678974889b76a7d008c2a510cb3174c89f98b323ba8fadbbe6f1769f482245cba4f6654c88866bae1dafdd49d999990b9cdff0d4ff9d2903060b7657728aad7dc69cc027d46921a18c5263a0f89014ea3aa8b03dbe42ecde0937389c72e4c33d1601a765502cafbfbdfcc0f471a4e8b0180ce0ab1606dd3038190725215c05be194d03bdd1c469eb2d65cff761172a9a2fac9bc6f81b87a17f9383b672d3ece16e903e30f6dc3c33575e4dcab71e660b5cb79c81d8b85754966f932472dba5ea8a118ec0e097ec7ee3141bde2598046dd32b989b72fa934baffccac07221e0a5f5ee17d976187cb4372d7e7ae59fd84bed5bd0d5d26509c3c7fbb84e67a4d829ff619fa1f817ebb9e679b1340fbe2746ba7ba9eff54883f17dd07623724922fd82d9f0ae01f49a1b8d096b7cd02606062dd71e8c4c66ea3939b4566772c61ff8fb9381ab70e7e83d641f22703716a0aebf76f4c11b36c2b362554d1100e1127150c70dacc3030f20cc533cea0d1190d051e4a1ee16552d7251d5c02802e72b15855124eb569ca055977b8798437bd45f975def4218c7176745605983070e60d3f3bb72a8365692e428053f6c28ade894636b440c7358661f6f9010236a96aad0ce79c57197bd1e5348b18a4c909f2316d5e5ecbc2ee32bbb29f0e99b5fce4586058c9acbf2d818fab4b135ec997525fdc12ca5fb2a335f05a94a245f725684707c7d0e783319feae616279a42e37a3fe9f01b291d02c27fd3c718aa5645d5b9cfb8ce291d823e0478b692e5f4f7e76b5080839665145424580bd805c726ab680263790173716fce1559b1709ccac97c70a7190e0072b0db9d49fb7c753026bb88a3ee338440927cb28c36b6cb9bddec0ffc805ff36d190b3e5d150ef7251c186d316c348454ffb667dcf9aff815550ce277acabab6ccf939342b43ae72e11c9aa07801c2121c73764b025f28623b5e3e7bfe22e9a8aa067f4442110a5fbb28592ccb27495064e65c792c1762502e86522aeffafe5fb9df1d8f4f281a68a7f1d01ab41d33e176f5475b9760ca571d1b61f864895815277ae768d93143180913cf2b5a09418bc7c708784478dd05b7e2b92ae4bc77b27471b8e22ff3ca72d20af073a8bdd3a15dc4554c1037a2dfeac52f7b7452a10937d3a34ae9b26705cf46b80d09e0bfeb9bf388c41399b60c974a6e6c2501d1ba98c3e679b19f527221c7a9c4a650aef325cb454d3ba093135f60ab114a4a2cd01f541963944917728fcb0a29352ad98af603eaf19d0fe77c015a5491ffe0c43ade26c026ec79b372fe465dfe285e69edbf985b3dfc922067cad795e1785f8015910f5d7374a89b72c9c0273047a49a4f910558c718338ecb7cadae9523d4ff1440941b56b18bbe72ddfe66f013e711f401b27cbd8f65df3adb2aba2296c8177e4494f3041a0450720291d5a1e84b806cc30600f58562f346d471e32a9ba1864b96c320ce2034707263403e0981dee99209b78e442a79b565888529d350bc61ca6b05634f532f0f2dabbbfd011f6ab78f81947cf13ad39c6e8844687c621edeb278742c6350d6b872788b9f90fab03182dd8b161a078dade662455bb77c8371c366d4e243c8a8406803fc6d46b78c05498616c5270f5a75965a9a386231fbf3638612f958f2ae70040c4ba32d48394e0f7320038a90126f6b590459695600e96fd328e6f652da830c819812f234b6c135486d069261adf3be489d57a88eb3312113fb8f03d64264087513d1b2e1210421e1d36f77284c121cb1709e86b8762ceae8ce5c2cd42441720d7f9bc9f72f1ce9c9ca95ab25819fd862e1e204b1fed2dac46bbf69d2a61b72d744efed7cef358a6faaad2bfec9ae7844cfc53ce76dbb632a0a43d32e8fd372c736c6c264798a4bca1b6c36514d7e11d66a1f0bcda6544be7302e1fb22548724860d8a579124441e493b47ff173861dc84982faa1b943819f9b52d2261be65f79174c9f5d56816196435ed32f16870c41d0a4479568ecf5e3485b7725b34a280bb21fa636c38d4ae6d734ab05ede0937f31a7904718984026db7c28e0a6d7727e2cdcd8f933717c95c26f0a1bd97ec02ee51f29dabddabe893a2997dc6bbf19c082232dd19bdd306fd68356419ea26fdd0da805910256cd77c0b45c3821e83d8bf4842efdfe8310c0913ca4566af17e8bc39d8a2e1ddce1c082681b37983d1f6ff3e4438da603926c3ae1e445a0eca56332ee425d61492d5d2fb5e8ab93427249420c6fad2f83b03e8ac3bc7d84c3d8bafdf9873bf1427cfe766535eedc7e04ed7186922aeeceee3f1afd11c2f7cc3e114d34fbdfa08cc05688f48db11e841d57d09986df5151616943774bcc9c725715aa3d4e6b3b1d76a90a1b26aed1294c3d73607e4c014ba21fb66193126fc16950d5f9728da4e3f78d50ec5ad515db1c8920e6aca040aab481faa9961228088ece202abb702192e72450cdfd5109f172ffbe8b8073a110bfab272392cac58ca0d76464cce2e33635af42067dc2e4bd72a69cd9f431e12197c39f3acfbd07a1e9a8fee9600a20e9c3f5b3469d569aea720f1747906e48371ecd9353ca5297590dbcd1511fd56a9903b0a3c2f7cf3980721f91ee8e0207e9a56824c86fc9abb7256cd0a76c10bc45d6da273d8840cc4b29a03c5d5d83404e633700b9b0e81bd61e0076bcfa744158c18500497f7b362572866901c96756fbfd20c5bdecf7f5bd606046fd2d533b47706932fe463537ee5ac82c4787de631101447a41f7018af81fd59e3936bda26d4224754cc888d753722210e0b1b43cb35daee8e8ee7c022496204b1bf880b9fbe83de2576093dca73d23f92903b5c024ed0c7e0ad98aa58af9a04a79e3097d8680283283f55af08d72f8b75735d9b29e88a05e29ac1cf451af81f71637217dff989fdd6b01e2ba1953479028b25cf9e8cca3173b3bd4db121e1b1c5e77e72a6a0c24e5513d1ad92c724b6b87b0de30b92f5dd41209d0bb851b88ac46d2302e3c72cc2518a1023e4350e166923138170ea934830910c6d62564d74625123d3a3756d35275d197fee1727840e3e9fd640000eed3494009fc3267db52c47a0d0e3643e3e85adb3002d6728e85671d517d36dcc30aa01a22c3a410dd434ebde7c9c624924f1758c4ae0c72d324158a7703734f6003af9e8d325834ce72161e2279f23dbc4f65c9805fb248ac552a07afd235ef70655a8d2ed29f12a1d01258a6768a267f94b56e66121272657e50677797c7ccb02247ba76c614d595607968c99145c83d239390af00f2727438536163a18651a2573156550ef6272e208841e7b59d3195d43ac006bdea72a95bade8c4cee2cc12d785a51ac108d2d6a4bc5b369d2a80359684b0c3bf56722cc5b56c018212d8064a857e7f77a870a553eb76b6cf7335809c65ed4094f63a215d65010481e049d439f8415c3d8e70ad51c894f4d2d795405a011a41323872ea031c4e9258d61e4c026f941fbbe77ead1d3f2215d1b772008e6bb62f88332fb7ba77055f7be34d769dee0c6aa1dfabf43ca48868159c78455f350489ce7072fe7517fdead107e74f7e1f259161bdb51255e71497e1a5b75cd739c02d05c67204d9a4af77b888355b8effd9ad56ea71c9b9c9d4e4fbfb2fe58154092b2fa51b9b4dafd726df3d43e44c94947c1644be0bb69affe42679505dc46003718a2c72f79ce19563737b59350f3c15aafa40b1b799669cb42391f7e78834a496d10c727ab001adb17353d2f9a7afb884368b83bccbf07b6f6c4daa42f6b9b978d1db723e5da8efa787fefee2de391955cd5f5e1a5dee297e1e97f72e4fa53dfd416662e9ec592eb2e2cc3df0f798e72443ba18a1a544a5af7ff1ceb522f517f3471c72d3a8fe4775a7bb42703d706c1b9f958bd739b653f3d8ce5b7761a5eaa1535a72a3d5247b494d075330e8dd66d4940ffb9f1def7a7ca7674e12d4d05dfb01bb72e2d53160d5162c485b7b1d59852aa31dc700c4a8536e5358095874a971057d7263417807b5e8020ba8ca745cda0ec99012985fe41e57642c4c6f597c6ae106722455f51dae8027c525ca086f3949ca9debc73278c7a9aaab04ae02b79cc329721917f14336396bcce63f54cdf91db5dbfbe0fd1d1d84eda3db1ea782dd87bf12c0ab504e572319cc247ba3af959b538d251f4c244a0f01ab1dd93cac2f1e970fc215cacb782830c57230644c3d866358dcb1336cc9374ed98d75e4138c80a172bcb28f53419d695910f18ec604002b63bbdab2cf46aa8ceb2cd61765a50e666fdc7b0a1ed82a143861cbccfe814a7dc106228465ebe607f799e3381efa684072b07aacb64eb5553f2df07fa48b81696e8974784e6c88c6e8c60b85c457cf567277bb35b9e01bb2144d2fb5f18ede9ac1d8349d75f853bc4c6c9feed6e0fc5a72c8e03504ee4551b817f82dde5af0d0d3c17515731deeb55e8104c6843721a26558143ac5ff7ea723bb827b5a265f553db8094e09457adf3520b1b80450da9772b2a0aec5894c3c1ac92e14a92e765bbc996cf2554bd9204c18b04807c73e4d728713009f85b651a76d1357adc4d43555d2e3eefe42c4a26394f6e381d81b8c72261568328e61f7b8b43e431d4c6fe32d7d5bb091388d62e7d5e9e3eb2b43f8723ac789573f89583fef3ced34b337307dac616e1921c0ea2e52b34ad607ccab4ad62cc9f8151c3f5105909d2170341e03e3b0cdaefe80236fccafd82eadf4ed63d8efdbdcfcea826402d164b5aa37c309908886bbcb66ad1fc9631dc5f929957256b172242c63613aa15cc2040ec747541fafea8d7a9ab7cb51a543695b2cfd49b360ae867a1f68a9c71636e6bca182460d88fdfebfc33c9b71e1f21a5d6e891447e38736a803fe8215d67f8c7fa96c6c40fd1329bd2d7a633ae83b64d8ca4372d25e08e6f14c333341ae749c3871fce852e33a0a4912c5e5e0cefe5bb58edf725c5f2317359440064322e1ef63e8d335fc1683226e384c2929090127ca43333839428823d6e37d7f9d2e723e8e0bf97fa18b5dd988881ed9f1db9429f15e9672937bf6b8566e4dc6eb0fb31d3ac3e52a7e2e6737f76ff17946219e23d8a2400ed7850a5c641bed0e9f74c0e11abfd624c79e875b8b950143fae4d643e7ef4872d535e76c7c6d6ee4bd47b63e4e3edec07ad2e90d1742cd179d048bd998a54572ef159ca510dde963c496c1757b83a3960426a12e5a836eb41db1464ebec64272840f1dac51614369eefb7312da1caa0091fb26365a40406a55d373835b2ce2726e122533b6942d1a1e42180889c074a0bb4915534d002ea57cd011fdb27a8f72b8556fe59471af50c0c06b4a396d4ddc065b1565ea633200b76917403387b5729eae2a3d84e56fd66301d4a9a9597358fa77492186aae4d4f4dbb27efd51ae458e51ffc609bdf16da0debbfa25336f8530b7c32cdc8151fd22f7e44a39cb447290cb295b79c03cf6c18d840d06a50328e659203500c1555935f467badad049726d2abb433cf07624a72c555d375742d1ba2b13c32c4b3523717d49e6db8f9672aa902432739ff15d5450bf083e74e27748c166b5fa4bee121a80a9f3671ece44947343ed4ab005beba62f26e2534623ae01e9643a0ff60902a251d0819338e382136c0a58bd73221134677279604f5f91548e40250c9d0b5da91a804c5ea0572b3eb81d6441f1499d66a2735a447149543d90a8601ea0c6170f44007da37e8724120dc9925892d48d0231cde908986ac1794f34682d7af6ea4d1e35f89ee74029814abe957d6bbc105f0b01aa1ff6b4c063e757435eb594b62c28e7562fcb50c5fc59e5380f603fe2194df28b00a7fa84e954e2d85b26f73f90d93f409bd3172a6e40905d251f0a9496da4e3b22a0201da78c9a638689b163155d6983a65965ccfce8a24e84cc63dd979ecac59825f5719526e2077ec214c41ca8bc12f4c3072b33c54c16e35eb205fe45be63e56b0f7d7399f88e9fa0405b296010be3c1db728fe9728e02a8a952f19d048877d76cd23b868190fd5453f5267ac807101225725d4f1e22eb78ac398f9b5124e12b6601c86df71a5c237ed864a83107defabd145af04745764c053763eeba9d8b40fb09c98fdf2bc98307e6b10174eafd21545d7f11b8eaedb729a480950a58e27d9393c5bbafd8bcbeb5c7d473389b0838c30154aa78507b7624d0b8a12a2ab3002c9eabb398809218db78ac03d96f36ddd270d2ba5dfb0b8bd8d48dc4bd16f14ad0c6b12bae3c684b9c43822efb7195e13a722103e538607784fc6c61960991a2053689f8ddb5618f3aeea315eec298a3e572e405c20e41f1a4ab94e485953c2e1c94e65c2efaff9f5298952d40a66268ec724398ad0ee801e6364492c11efb9dab1428da73689ce5749a21400262a9f5f272fd964263457261d56bb6c130926b3196c78b99ec8dc00b827a9cebb91dae04644f8b1c186c30acb1696d1133186bcedbae3803e019ed601f4ce01cd1d8b7aa723ba0948053c4ba164a70bcf5fe49a7972ad6b28bd7e837b759b3dcc415f0823666559da7bb65bb4869ff5395ef1dd87f7ebfc3db8d93765195e92a502300db060e51ef1d66eadca25dbe970ce9517e8952edb6b6b36731418156abd60fa3705317a8ce291e6f44f72627d54a097d31436d0e6992c3e378399c7f2d0bdd5fcb72a42903911b3e6d73186ecb3162b0d611fbb6295563a3a91921c0ae3a80b3fb72c3eab196e15727e9cd70821ec15ecb517ba561b00f10f160c64b49ba5e1d187280d48ec39ab4343d637e2ff9445e214f45ed7de1a259f97c0c6ca27a9c9e9172c1662f173678284004950328c4c2f3b250caab6a4a7e29ed23a5be088a32cd7258bc8a44d4e8a5ce9d17889c7324edbaa49f523c521fd4abf4b7958b3f8f1d472e498f838dd1b00ba1ec59434abbb3128db7adadeb8e676740be11aeb0974e30f1663cb6287b0c832fe2692e1faf9767fa8ec608245d21b43f37b7d8d1b964193c01f7e1111228a53671407a44c276d2f70382d5b4622519e08cf778eefe32724794ca847e7fbba20d11fc221cd2e6124a5b7c574e13d617ffe408a890d4950bc218438188f441c914265deaa53ed0ed2d928ca79950f4a2904a29aac167e8728e66a9cf5ed3266ca43c4a261f35bf07bb8f6ad2c7f650a32a8eb81c2941e372d0f26f7c5ba71dae5272de3aba17c1dd31d9ea1338683fef0561f49e114898722fb5fb37d5bbd0054921f6ef93e9e4e85343836140ed3f2f6c9638d5f4bcdb7210a1d2c45fc4622f9d58327456036f18bc7ea0ef9f147698e6b24a0b6d436f2f5fa0f815b806b8905c00e8d5c1ad91464b605899fc69f7da54f440940b1a735ff86055162843fe079132ec76a511f2093389b2963da4555cf1e506a0f8101a721ae0328ee6abb903d9faefbf20be3e8d937a4e4ef1a47bf56fbaabac0f48e77231829357b2d8070fc702962e404f35dccbd30c52d415bb4aa08f68929a09f7729dc97128d2e01bc422ded1299e00ad3af1e40200a4adafcf292f19f71f03c272c6bedb2a5505e783f7865fcb7390909ef9bd783d6918efae0c2f9d1d14c619603b817a905a44f34d2a285dcc9d638fb5e53dc971ec97eb1679a4b39780bb0122d2fbb8778d1dfb8c9a50d11fd454ed215b78741d09453a26f06a7eb94153447286ea50b365b3e79215e76cec097329eb9c9511700ff70fe8e5953c1667301a726930678ead97c257f3516197e81a756271c327b84d32b77894b27491aab2537274ca98ad1f8298aea080f330c7a98d2f76394765fd7c11678c2e2802e3c81e72bea51cab011d3a6f4adc58907cde2bc596d5693d88d196bedb886d6e88d836729ea49f297364b680930e930f81277600a964d555af40e498ae572bb63b341a0b505690a4b4a692e9fb6b6503a0eff8bea976af9e97483f511e5a6e1970482d376bc72f6130d7153fe74faff85fa3abfacca582380323fc1a44c323f555df9b727705a4154b473e86972992938c1c821fe8bac8a05f7c976363d77d1f418b8e727190482bd182536467eefb4b8fb81fa1c525c21840ceb3c8af6bd9fbf982ab3ff8a4121bdf24cddd634f863df04bc4134688de8c4b6492dfd0a79930f9555348f6789043c05fa8214768fcdeaaa2f410ff79f0aa7aae7bee0f08e0786b79df720190bd15b0425280ce4763621cb2332a71ceff090a9e8e11c35c154b35679644365d7b083f01de6effe5d69c6940e68cd5cab4989628c221947e9efc80b90d721442a03ad1ec5321f37b1130f78816fac10a261c4e74b9d6b49a35afb99f1c72b18abf00a80e8bbc3e4b4aa3297067d5f1519aa709c288b5ff30b90a6d919723f62e7c3fa86929dc273c87bb392bd2e57c69d54e4a16cd2670fb3f017076dd2c93c99ed9239bd1bbffc3583d7e418a45fdde40b70436ddb882db07b059e006725084b79f25f08678b1f6a752cb4cd62196e812b434e3d56631df907af2c58172e26ba3141ddeb7b24f796f0d42c4b96e91f13d92d6ac904711e2e0978b7b0972c0dbdcac395f4732586fb687f36a261c3e61dfc79748b9125465917ce4c50772d750a5ec183847a4fb0975b96683b4b4dddc11ec20fdbfef4c80e323c1840e659af25b0b796e36b60e54ef97713f7577518cf8739e1cd9cccfc5895649318272ca0de82600b2ac06d75defa2140eb01f1bebd76d1e52a6cd82da197e10e5f772866e73df53d93391aabd434d6b09137f7799435b407533bc24a4f5494c37bb72f7e43bff00e614c674fe4e54df7c434c0cc13ba79f9c94b13645ca93afb5f65314d6733b599a7f15fce892f1f0620f582fa264a3cdb83e1a3738ae005a0953726812252d0170ee373c46c4d6eedc431fcf47a8f84260fc2574640d611789c372a01b09b8bc296f5dc4d72a8fef9a23acce358a844dc3abd1f7a4534681464803bfdbcd47a1b2304603bb60299467da18ea02036c542f62bea3c49af8fcd5bc6bc04fff1e922721c15ebd4db5bcb24f4455c61eb9d16313cb7b4e0c81a466c1726a95e617efb6e61d4f33225a2f45de34031e085b7c5557386e184d7d7e1768721a52c9ab1c3734add0eb860bfce2b116871333d371df494fe1f74ae0d268da51542c2a7ec0fa16111c5ac60aa8bfe366c8736a20b8f3f872ec35f0e4f0425d14f50078e5ad53241397348ea90f900c7060dbf701017c79aac5c7edf9075de8721f6d39256e2b0a4376def9141582bfe1a21c59da3836c804b396a9c1a7ef6572c3c75a9af7b56a17ea108004d8d759569b53296e20ebec4dcb2c6276e992bf72b6bb96a5d08502e5906a4ffd68f372adc09292e6cde8fc8a82b5215a05208172d40d694f48e0451705a4be4816d42feab71f741450fa49337a4143b1140d0372b31c30140826d5e09ad2996b84c94de19c38b2f33d134713104aadf122a4bb72983f53a048b91e11b126458c8c6fd62ca546b5f6d2435b3b2feb3dee265ac6723bc440bf25b8ee3e0011040d7fa69536b34b1000149fb58a570894a860dc2472249b17a9e8bcb2bcb4edccbe2ae87a45063c3b399858f4a3a2825061159ca32190582d55d6fb4f068e2702a0faac59888c729824c06cd52c367c6a800c0fb76cebf914aa0403da8b234fb9a4697fd5008ea9e7a13c0f63e2267a268cff3dbe722f66d2081635ea38af73a4cf8272d33f669919ac952fc830047ed86011a4b07250421b901b1a803e698ee9ca209e1b6f1c672642cad5d7fefc3363c737fb7021e1a8e2d98c50083a0bbe47ea851bb03719cf52acc8ca8cd91206368a2de40c72f299862f58e6efa17f8c593792c9db467f115de25f5f632d1b0feade18b04b47b4dd6fcbb279615238284fffc1bbeff8d41daaed075702af2e9d85c2002fa2726e61932b6649cdfaef5db85f4734e2f2422325e2a5568db5d7a2699aa9a4e272997ea3f61884be14e3fecfdcea7b70c80d80755b47cd4ada25355e3448668672bfd6f46d54ba3b929265882b95926b6f57dcaa998df5a0ae8de45dacaabd9637948ca27ecb1e2e3c49e094d436cbb9ee2ceece0872752983d55912ddbf60677288f1cb706ec307d94cfd003c31b2cd18ecaf6ee4edd2cf1f03237ff00b71b92e55c2478631235e014eb8ac321acc13ee165d0bc3f1bc7d4b2b16397fe64b223f83b9a55472a7052daa9e618e23e675d63473fc2ddde172ffc31dd8135ef0e3726428f24ad8b4c61b2ed662ee42c60f4edbe8ec555e6ae2dc23cbb93ab902c40646ab545f9798c663dfb65a5b8fc2b9afaf5177da4ab851aa873ff9aba4a42672c402669500d6a3fa87e8df19337614ef1ece97cf583d628a4a5e229390f8390b7467c20770a63ee558edfd741bee658dbd76e9e40f176abd3112e9c8a1e69015d758626ba1052ad2c993635faf432055b33d6259a9cc16226a06b68dcc2df972bf1c839f96de1c18d7b24296d96b1fb248b5f85856b4b8a49b5f9c343ef643729e28356b186206c50a229e386b7688ca6fa8b5f62acd82f2138af6a12040c7729b764897d190138d9a192b579a6fe7e9da6e4ebbec7174e5703b1848a992d372b16cee7d0508f347dd6ceed0a7ca00ca8ca6eea2db974d2dddf648d0b8e2497248197b8dbdcf9d75bdbc3bf12fc873b5fab84bc743b1aba560d4687eb98074256055c8eaf679c4cd05c4c50e7aed35efd23cef76cd80c57b71a111589052ab10bef31e316d471ccf58f33334107a4721024c50c2aab80d8dab71ed79df11a0728fd1f24aba82e71b87d5fd832146fd594103cd717f86daa60f2cb15d2bc0d772c461a2d198eb7f5a7d05bd2d5ec8d98611b3bb4afaa6eee67162d75742828425a85acfbf4f54d7894970fb86f3a99e2c106d58131474cfdf4f271fc51125462787f9f408958118d7f3574da52b82376dc0260bb24a46c8c606153035a5d1b95bbf6411402fb01550b8941ea9e50cc98d036a44b4d37e3a0b5118826d32a19a727b20f1120559929cda2d4ca09a0d644fed945ec3ec4f72cdadcd3612c0777f7205361253127e41d16f020a88fa07c955e0937b30365b0067ed51387c1c11eb722dfbd3d8e87e837834aa1875928051734d9ba129d0579a2ada519d2612ad402bc022010c727acbde8acac56363556065a5d546839b1e26a32938f3e117d6417298b3652cb9aadb1d4341ada6c45703bfdd70980fb96211ca02921649a4ec4372285dc4b98c373f44171c33ac723cc38a08b124a559eb107712f29832ab741a72c5935711998a27de40fe615907e61ed05975ba3ef5d82593a1c79bf56996a0721cc7ad5b3e633a8f28dc6b8a63992ae08f5185edd3da9920b757972eb567c5535afb07aa409cea6083cdae7ccd1fc9eca23ce7c32196b370e303c9450a1a7b72bf3a85d159e48e6b7f38988ec7df31f6f6a984f6e5fa8a1179c61b70d3a2aa721b3aad0d72adcc470cf4c018e57a3cd237fca4acc58aba9ff0f0a1f1377af418070e47a582703f799eb85306946d2ffe1d6c57569f7c514a350baaae3d3f1502a38d0e3283c0583fafdda2c62a3c606e6a30ffd10118be93e0f32a69859ec2725f2872f2e474be1bd308079dfcc2879823fe0600cddfe82c61230e6f740bf072ed132924c010d1c900a26ed3ba09a97a03d53b70a80a63864b50cfccadecb172243eb6d08deb25daedff3096a9c68667a6ea4b8e55d168283731ac8963e4bf72f0c25a62cf6d8c1027fca5d52675772d09cb462267997930531fbd977d110c725a9cc788377bc3b9c69e522024f07326327968f03ff1c681574c8fff8edbed72101c6fa92c5356fa15353b088659d9b8a75f61500a8bc2cdf3717723a76a91723d437b68e7140bcf42aa1815e6b1386f929e1391a24bbf00690a1f1635cf3672e4506150ab7ae7baaa0b506d3c8d888e07bfbdff27b309b5e5fae6ebcd599672d43c1f8f48c845b569b3e119e37452dc95f40038d7e02547bb8075aa34fd1732b14ca3cab6b56aaba6324155172c20aebcd768a2c053dba20e438a7806b11472c8a10bcda4eca71759abed0b541569670db56423a89a05d682fe26c3e6f7397272913c6d9bc9c04112199a705bfc89e165066a7c3dd02ff1daae21d6b24b0d729ce4f02897ad4f818f2ec720d7713c7c896713ba7d6e04030160b700c2b28772b2dbefcdda30ed93b53306730ad459b708ac4dcd36b87478d375b334960f2f7208f5454d8fc2dbb9697057c9968deb266bc839a6bd5d46d6841cbff89e16637205f335957c0b792e638faa7695468f7ed92428cb481c42444359014dea13d03c192e63f4600b9c593150b365c158a6bdca8e2a0917d5619363e82d2f146e8f72592ad37f8bfa127aa5655fdb993e501baeb6fd07b6b751d4fd6ca4ab99d8b47269ee6b615214db65db929d1868bbb2d9d92d2628affb5c9d8a3a9c918ee60672057396e7c02e9514e5d04965727681c8e38372c781a87df4952f8c790e218e694cc847eb9a5b425052cba9e82b5d28c37144b39a6f465d933842da048e414c12beef961689e9df6c81512c9c9761bcb1bae05d0ceee7429453942adaa4d2e37206d3fdc60429422a14a2d2bfabc634d63639985ed8c810dc93751c4db226014cdf4ce6c4bf9565c6ec09699c4e4a2c7c9ec247177b40c4455aef177487a82d7269aa84728d0521c7e85e466d8ba466078eeda27b2045d3e6c2508a07f7ef9d54fbdd5ce20017578327bd74ba59493f626326347cb12963774adfa1e32ca0696f03510f0890a078c9f99d6a79bc82350da310c4afab845177c6878f31a5de5f7226db707e72ef01592c6cb5fb3f109be4e2cd0b11eb4041d58e3b05453ab61e721616bd62a7d7483d90ca71ac9f246bb9286115940ad6c442f846491134b9a4729385905a0809dd26bc09e265ffb5314515acb048f8bad9f87c5d3844a70f6872b4823314f58527d786a367cae850a7ab143eeb6ee4494d1771334d1130704c162bbf65cc529dd378018d5debfa209b888065177867f1654a470827dcc572d068e408e76f68cb55f300ccebb20588f60051691f4a4117450c90d0903388084e421dbe5413b6f544759b353e7b6f49d89d4de99947948224a7a3412ea2a3aa114a225a2f7b4ecff9f27a2495ece97feda23354b32682b816f8a8bfb665f941e472f5773da6fea11b79db2edf0810cf7a671879c1047eed70d66b5562ea05b4ee49b81fce2e9f77bba5b25586bbab1776cea436561f3512e99e4e6ade8b7997ae4cbbfa5b1d13fd2e8512c18177c5e645e551f4b26cb8941e3f8db98c8abb41c8138d7fd8a30b47978c7eb548095d852967dc83627f01e6a6394488a19aa4db695dbfd9831748f6a8489c519c4a22e8a07b97b0c4f61bd708875bc1ed857441822bde0a61c05fd5cec5c4aeb3b856ff1e377ca5f6cd1551f9f1556a90b5d36b3f72e91350eff5a2a2928b633c8318ee832a902ce3397dfd010680b565b47bf6dc7245a9eb262deea04e169ae3b9ff4cfa1ee8eeb59f0ee0b8239bd6ef7539912441ebe1f5214dcb9f8f83eb43d7207f5d57f99a02e96e7b69fa9144fea66047a424f80352abb93db1f587999353f62da8918be857290dc91ad94625c1ce66ea5363aba3c16b03026391059956a5c9ad8827e47948b1fd0a6f27f44bd2e004ad52723460514a28b3c1d7d5ec20aa164c61ed3c33e1484267cd49d8a7cf48bb379d72f3db45b935f30ba8576e3a2616b0797a479f3dc98e8f416d78b6022a9a5b11177c54ee654d456e781f68fed999f0f83a0d1c0c3d6b9a46cfd2c0c7ef67981472ef67b6b0c9963fa6ba720fa360f5ac6824c7771c006456a58c4883c448d15172d3a09958ebcdc0c59c5390524257255ea6e4437fdc1477edb98fac00d7f78109359c5dd0395f0e6f8fd6776cd0db4e772bbe13ecc42e729c065fd39b91971a09b628b20b1967b0640f9195d25b7900c2794a3e107ef3c7e6f945aa741e9906727977e20a9ef01c883e51c460f7639788c834e574130c890c6fed9b1452e46c724f808bcdf0283e3dc783e09fe8bec3e6d2ea065f3ceb783bae1a5dca5c9fdd44df2fcc51b2932907c2c85865a87c80dbdc0cc35b17e0338c04a6e313505a3b72cf80857828fbb0a6be38ce7f6bb88f44e117eabee21f2881e1aa98dce883e658ece2b2c11b6ec66fe9615354427622a4273e158b79a0d4b27a95789b47b8d972a01c08e2b026fa17ac601491a95ff3810c011a393208154f3dcbd237ef0ad849df28368581b905b662a7cae6c228977e3c29a216c165e27f633b9b198db2075aab7f8a37d31f46cd0c9f8d63f3d7dc22a8cd21b432f9ea18a93c713788703e7258220fde516f00e8643a7c52b6ff031ec8a71c12000ff833c21d0958be7716536391c2d7a4acb0492457ea45d824dcad9437c5f4f80a74268b15a6b4d785a1727cb63be9a1871ba3d47b0144741f306f9eb8bb31f5ddb96bbfce8f853f31073d54abc4fb1558449fea32da09a25126b7ba96fa9cf4d8b15329b4d0768b91b872844b6c2528e4129de80901228f461b2709df0f2b724595c7e5e577314994db72851e4fbe5ce6a53b95e04ef8924d300473633ce34619c2b237aa308333ccf0726a948567e7443353d1ce95db29bc070e3f0f93fbac4318ed07d1e413e3261f72a6d2884bd398e44a007f36a4a03f51dd74f451838c2850114365ea0acd2378726776384375a2e0843fc77379cbe43cf6b7fb4f63d6fb4da2a6a72f3c53f30772611202e21e7f04c1b38bd14a53c034eebdef131bea4e12e01fadbb0e7c8dc172118ad20a7f520ca057d0c64a791b3bf41904d81bd3412a2008477758e2cee65fe17f1e35b25a4a93a42f83dea73a45ed7605deb3305476c2cdb07b3a31a7ba72a739f88986b545941002619f595ba00d4d5407c44d60f10e1d293c95dedb5172d94431f99f4d28a8c6c5de00a1c85087cfd79bdbf31684f1e12d9616cb4c1272ffbab507043238e9f5d5c40d9e7f4b2241370d2607c6c903877b08b0c3253f721031d432bd26ffeab495bb53f57555b8d3a9d3ae958442a0992396206408057279587cc41fa068094e31f826c481674038b16e79f5567664b96581ea4db10b72c8a54ca4eb608d41e88849cc220f61e443e4aa63d7d49d185707b42c84f190727e501e2f9c88537cd9c3e86a4a95ccb93cb423c723e8432527c147ffe2c12272c89671dadabe22c43b202a5c61dabec6780916e4bbac894e22711ced3309de723856c7836a8ac3ef2c295afddb7668412144529e3b3d1b62015c0cb1ffb73947f7c1245daad2d0ba6d40f8c6158dc3084eef69ce8cbcb6290152b26e3c8dcf72ecf7dcf5ad4527d15950138c90e81b1c6a661dfb917fbc221d26d77c6966454bbac3396ac5d7376e5ffc2452b461e3cf949884ca326d93f6dd9b395e73813972795ef7483cdace8492ac21eb94d2d19c4e8645c44c9f87ce0a4d3b3faf9aac723cce3c977c1a6b4added4a363759af48435581f782ad575e556100b972ff567205444532e9ac72b07985efd263248eacad136a59604b763e0ed42ccfa6b1d2729d88c5d36912b61a968e807bc7dfdef2e8daa589668faa33412fc9790f52f5160e7dea43480edbd84378dbc6565d3f904f437dae7c6d5cf971a17bf1cdd4e272f718882ae6f7a13dd5d302bb7542ac1fe101a59a7d9261fe85baf6d510301e36e4497e95cfaa4e3a1ca47425059cf37b9c93740f954d1bd64ff3d09b39d77b02048455376548cc2c8ab2d29d67d225d899f156a31365b512d2e86481a98d6172483902d2816e3811a94855ea6fa57d383427829f7f8c12eeba29e1734fa6e1724d599d69b7bf43e2f201d707a2e4a4ad56cd3c43f7ca2f05ce52fa50f88bf7725e353a911bdd567ea34c469430fbb511564552f3dcd5178e73eb68888f4c7b721a5419ebb620948717454fc148ebe132ca21ed46eb3690040c725f01d8707007a927255ebe6dad404b3db43c74855d1b2e13ad8aae96adab9997d6807341c4720f66d6a2769a1ddcf644e574129d19bdf8587aed299468ae7f0554e9fffbe47221c80ef63342fcd535dc914f050150c15265fc27aa067b266017762d471be072e9cba2c17a111de284bfd8dd8a2afd5457acfaf0d76ce1888e5c69788a106672588aa03f6962102a9d29a43edfccb9c271125662d4742536071b32e8fc7c2c64022c5a1f0d683b766b88389a0e070d68b8b8d34d01a78822e3de8a120cde850d04fe630e75ae8839201309667ef39754c5471f9c9f47658ec5a640eecb55b47212b9f84f638d6aff704544e5ca444f8af6bbc92d55e2b3751972884d6b7cd63d92fba3ec5c20041b11d7801939f06316aebe3ad96d9b23d08164fc34a2cf64689ae1bae16e0470a2af2bdb555c3a23b0fcda029c8920ddd0d2ff0559d7449772f2c03c787dc3266fc6d824a8d322ee1fd0bc1d76853bf71204a061d7684d6323832cda7985923ab538f28275c11bbe4f9e789feb0da988c86b11e7b5979e5b61bdf59cbe5a0ffbfedb616a9e5ad1dc20422f545de381cf68e9b391272fbcbb5ae0a2ee7bbf42e8de523659d07d62c17e174730c5626dbd42f5cab37157d9df0eae4c0eb778521b1320b5c8b8bfc1be5c38546c3a69c2999e400e91887e57f2728b72edf3da784cbef457a6393b3b0dac3f75d97934fce0fb56f07980f32d1872634829896ab6065480cfaded6864d3a26426a446e670376875bc7fb85658cd56ab71dc886fd8ffe20ec6bb247f9f0ca42305d1a0f9d17b7e7ba0c9ab03af99169d09236e49bafcc6bde910d4755bc6938ad6bb5fe545bb805bdc125624ec396549276d469917afad5a1fd3ee1d90929fdc6037bb2f9053848b5867dc0be12f7286bffc820b1054af7ffbe0f0c482a27fde2fa64b8dc68b28a26cd1daad4b682f075e10b8dc04f100616eb1a0b63cc9a18b8b53478dc3decf193a2a7194f5be6cb1626673275e4625f91f5a850e90b07c2a947e3b7cdce7a37b916188bbc40d720fcb49a8888f371e8bdef56ebcd1e06ae805b74ce6cafe745b384c9d2705f96f1d71fe8027a4f1f57fdab92fc48af89c22256a9481ab55a346082693d110ba3d2ee3ddbc03abed256351ebb813f0883505c78c74d3fc91fa3943e4044a12bd6f336f9ae119331446dfdb2f6dbc47088c0920f384846460e445fd49353d17694f504abd1aa3eb0d29dd89337c84290c08b1ecd8d58c7fcfda3cc89d9b04efde72bc87bbfa13d7aa9e13fdc64305185e2e91bb36c0fc4ef7014dce04ec02a37172c3a1cdc71fbf99bbfb201bac178f074a90ed8cce8b402f521ffdc27ec7375b02120241ec904c3957548cb8aa8055e0c88425fde869a1c32d0d58b21d7ee7c5721c3481433153b9287181d1307f3deb6d8b387ba93d943a5d9e742547cc1dba72647c6d3cac71d81de9cb01ddee082f177bc9a86062a75f986f7bf18c3ac5e87295d1adf14afd1df5cc565afd26dcda517ea2cc45e304ccf0568ff3fd17fa037228ef45f99d5328e1767ee015fef5b236d8da9e60572e7b16cfb108e766983f223fd42c2c4e8f47487cf091330e16320e5c0c17c378a0b6aac3d886a6c8c0d2440b3b75508602181cfb903641c22641c001e79082633872fa6499274943a6d00c08974ddcb79465973b1346cc4c39b41a93093e262b3055770366caef165eea6924eb1cfa4f9600bd968102095d549422f3f27a9588b1b683d482d50a759e8f2989bc824487a8520785efd01abb9dd39f97271653452ce69d7741c5e9519a374fa1698c3ed66640976fc7283388ea82bb3fe383d3816da3fd266b7d3d4edf4c72502d3b99b793e14bb2817b5278cd8fb14c3901b455262c84ff09bc5bbc211f7203a3e3610826ea3ad55281f78eb62a167d282497dd73e9b095e969489ee7a872503cb2e02fc69acc985921897f068e59cb1e288b009e187d646df3c7cac845725e395708a555bec80e328d334b2617582e7e12994a79214dfa364321b0972f66b7a08f43040fa47852b479fd26b68d88bbe4b3f6768035a72cfdb566177e004867360324b63fe2d7e7bc358b66ea86e3fb93f02750ec0398de8943c2c2b187350b0ff7c8339bf1cecac3ba386ddf86fe435ca182707f2c601e860340d7d7214c4c4bc95ec263bf5bb2cc1b5cc888e6a8e8bbd4cedb69b356c08857fdce27aa72c43d2e1c22a9826c2a64e72c3d9c568a8979562774913637169d76b8d4092572b8b4f69dc9e4ae04074c33d601f34d2f684b9de59f1cb95836d09ced92c7663cca3a25162a336211c90c049fcc3c1fda1f3d60ad930f0fcf265f5d9c3876d272451cb22962c52fe3485693110e265e6c412c625042a9ccbd04cfe222f7fb7772429086645f44fb3de1dc18c07be64a2d12787bd4cfeb5b550a954f254e8999496d97d6e58030a4b8c841fb351a3570c1036eb881ce7999b701d3331cd270ee728ae285eed97e65044a5a25b1b36163a8a4370de728b1839e9cf47a3ca2a95d16e926b65710a4280924c4557ab41d788607ab8e9758e967422eb84a72ca89750ec94b17bab016dfb2e4da42c989d2a2544eb30c37a592e193b3e93085bb13e348e6fc65bf8a2b58d40a51aa8927f67ef95b391b9ed2cc0627838eaa97f8dc0c504748b66396f1c19d008864961e545b672996dd1701c2cc5bed74061512c59327f04ffc6ec4b406b6610e6e738d7d41b27020334fd6e548db2e6112cc31d9fc39dadcae119db69be2dce0bb778c24ee323e69c14a0dc24e37e94ad842496b39725987b9bd7a6cdaa66e6d65d6014f4f1c210a7abb5539d87418048770ff6df72f2964331bb16588a8bd09a9fc530c387bbf0cfd1b0e3104c902d50c89648762723da3801a5bd683ae002d7fcefd58142e3bf20f6a91d5f11f19bcf6722cb403721d64f91aecccd954f0fceab3b3351359731d0f65ec3f48bda8735d4a734ade7209aa4004f93f870828ba438b7d39cbcc70ee4c453c0c277f65049248f537c21d08afbcb363ade8b9815f764f00692e201fbc473a9c8cedb0c7622639a079824105b7a34233a1e2bc758aadae45e7eb9aed9c3f31357db1663bbd0f4d9d4d344e575dc25e0aec0598ec56bf8848d2dfd79834f93a06e86f5fa675afb01999c14a45f7579121a77e52f67a12fd0bbcb381df951142be20d6e4c3787bf223f7dd0f6b4a3898450318a2c399086a579b2c8609ee687c8d5de1d771939aceb2199f3fa2510956b3b67c2f519480ac1e6dea67a40982fd734850293fa8f62559256a17d083e61938140e8b19452b3d110fea4a60b56e93cdbc96be3a65bb3b3f345f611f67688cb49c5e23ec71ee93bfbb163ea055e03a8c1662efd56fd3515428cd6a47c8b597d4f26d7af1ca6878fe4d1873c700e284cf8ff4b36329ebba1184470f6a70c1f3f78f3ea74640d59d3da8c51b00a3ec162c5e927ee7da4f29a8f8587242afc9c6f4e107c5fc6bdbad2a50391ef36a76add1347cf57e84f69316a130615a9d517de7200e7990314f6f7c12027914ab82207237a0a911429be04e974826099119ecee555a0ee94653d78ddf0175efc4f245390cef5a08c4f2c44b06d95e3a49d13ed13c5949aba5acc760f53e7d17bfebfaa3ede5d288044309a8c2d872a273e346e5d6e5a68f0f218e1324f5fdf76e3b152e099c402b262110833e427222f41a0dfda68e661d7fe01a79284246c4b4cadde804be768ecef98f8ed63e72f8237e1c71b0b6283f8fb9e3fb341db3594749735ce9f386acbd02eea3153e727be01465a96ad2393dd381cb39b3107ce18266af6c6cd850be6a05b90feeef3d74f0fa003e4e4ca891f245ddb9cc4f0109f1a09e3edb18c7e1ef4b8ad0d0db69ab09839320af9424e7850a721d1343ff04d174e8981f13d62f1fdc0286252d56e64afcbe50cae1d458e624ed63f3ee3d80a1cbc9aa8a122a2aa1c27a956b11727b82630b681403a8c5edd4f94ba62cb919b65af11dbb986034777dc5d1313e72960bb493bbeb64a1a048f2846113c3a202fdf11d63307eb35297fc8a2bdd8910e30637552d95e28a7075a2ec277bc828defb130ec3e44badabbdedcb7e55e8724c584a1519793528232d0c697c073e564f68cc03a692f26f503e080bbd008b7222a3cb63b5b0d7cdd117f83234acf76ffe8615e67ae60cae21d5c086c83f6d4c60fdba121e3c06b5c5277bf0cc703f8da4fd5c821cddfd8b4c86829bf0b83a1d3b57eeaad7e3db8180d6f1f126adbcea3bce2e4c3c952ade30bf4815d298e10ec577c4f274c91dbd72a0220dc185331a5e95cf9f61764c6576eee0fff18d4c72d45636b19a9ef204be362a72494071dc0929fa20d2706fe2c775771aa058cc5dd46c0b5ba34b973f27fe0695981491680abaeaf0d20c4a1b1fe132e7485d0c00ff6a186758f6d21a3f849d6a817c4453db22b0e36f3420825be13dff8056971764595fe572696b8dc033a0eca944d3d0daf6232ed73f2429180046ddcdc8e872260a3bb0f28786ab578a247e0c89bb585e18346b14849b94e833dfbeceb9cf7214b246b330d7c34c53cbf811c6a890f28a6262f30c896fc559ed007454019137173a46e75db1c91d799597f19fd4f508c66db1db94024f221be8cacb567ef5618b4d5bb03fc63040d9b82f04da5e121617f14a07b0ba34d67b6df130c5134c23df05ee6582e37efadf1bc19938205c172a6bf9166e504ff9127419aefe08f77285bf56fa6aefd6848370949a07c1a0c37517c1b265890b964e9f90783deded721f2cc96eff7333bdd0096d86a93bfc3a8f1e3d0bca44f81004a2edcbad657872d4f6494eb7b30432fd941a332fd6dee4e53128b55f7b5545afd5a38f5e49a972ba43defab3885c9287d0c42dde5736d91b1637dcab8b3a7641805b0f0fc5e52c03878cf78d777ffcca1005e08a20a562bc264599f9a55dcee520d6139e0fb572f960e0fe3ba32c884293b29a946a39cbaf1e9aff3a478e8af2a7434bcf707672368a7d0dba3880af2f58b4b49c2ee43742cb1ba183a651974e3f3eebdc587672eeff6b7c584c779e6f55a32131855ab63e2201ac91bf63396c17f5951e6b9e728980b856e0591e875497b246244cd449859c30bc934783ec217151e7a6ebb17215d4f07592ef8bc9d905a126d1f6d0bf69a04c7b2aae74294868b8beb56b5b725a002f55f11176de2a0d7119a12c70c64038a551c33b3d3099647c292aa73772345f7b7971812fafeddbcfd6ffdd3b58d2f9fd863e4280540bcf61589d80c97211bdec05dccd5d685dff584eb72aa66ecbe016148c26eea6c904ac6d1f709c72e78fe60e31269c1cc116f55ed6fd43914fcf313f5bde31e796476e4dadda73727923f95b22961335e2720d62d12f03b9f6e41299584f751ce8cf70d89a57af520e9b604a79ef12d59a817ea82e0708b7feae36e8406ebf4dc39e52c72e680c7291aec798efa768640abb5d113101918bfa3bd5f9a065caea987ac69f9dbd1d72f5294f8a5eaa8edf3c039adf7da1bdb7bc9f93557bf32f755f085c7d47b68072ad79fc0321d0c15b66a98aca17ef77f7d9a64bd3fbe9a1fe350a6c4dc2cc8b721e0635fe37117d1920fdc4339005c2024ff071fdc13926d5ad8eb56f4e1d6e24782e5481723ee07e2b91866c3dcfa97c23e4c71320c98ffa62897a9f6bebfe7205c83612576fab40cfbd1b3596567b0e9b791a5d601e094893a1cfc76e8cbe72c5751572689564cef6ebfb8e4007f1ee4edb552bbb563e354abb484f544d063b5869cfae612e2c08a596b84ea7e4958ba36178d44065275a43416cd5a207f1723663c69345180c5cbc501c8fd3124911520e4028ec80a9524477a80889814c72c56c675b071754f76d1322fe59d973fe017d398602e46d0bf10a0c060d743a705704a31ffa33638e617de8db1dd0d942a70694b217a7f1fa075acb975fd8c4728da23018bd52e30b9980dc4b86a3338ea279b1485c2bd75dc0619507e73b0472e4686f0a3939fe04a9f115cb3e0f3e2e2cd4b588e3688e424540bd966ff087723b759a322c2183423c154ad57e991287f5db3c558ad2280adf4bcfd13866ca720cb48813958f94eb1569b6790d2cc4df2809884cdd5f4e721c12a8417f3d56728c7a012d159efedae0b523b3c26d05a86793c028effb987ecef16da671659972b7f2110da4c978b67bfad17dfca7191f13c87354c7f3b3c18020d85da86971722e015d056861352fc7075a3344ecf768335a0e3cfa23c1650f07fe5693cc961b8ad66570a85d82134162e5e697c3172cd4d75ab1df23d99c5b58fa723a4979728092574d4dfdba156389c842a68f06378a0ddb35180b40f296c391b725da067237cb9d41d27be4cd7fc378f6af1c2e093ca6cf90e32d734750e5993e547d647205c5306351cf416ad1e50e1a8b4a75ea5f4e6ae9251e0a2310ea39df3df68872b8409fc6634537fbeff75ea14391fcaae0a45a35fbef5d734f7dc87218984b721442d80e703478ea20b22c47470a1694c15111634728501c36d3ab268cbcd072c4ec2d3bd17ac9a95c4fd226278dcb1ad7cfb367cfc2035906d574bfd7aa7540c20eb510cb348f9f7d29574a8ca6a8f15e7f68d01b8854c76eee04b7b2e59772b96dc32fa1812486bbf20c8fcc09f48ab682fe5e5baf7dcb7c60bc76152a3d1de02750bdb7c000f2a8c4cf928f83fd47d88941f1b644c2136cbec11f1bb6154136b103d81d0f2ebc28cb910c84e728a2f07af4645844a982ca75c66ab0cf62728ce03207dca3939e47cf3b63de1185a8d74ea7bcf8a56db2c754ff0e0135d772184ca8f9f3fb06f14054dbffae07c46b36d3df81a716d37b7ee2a3d6c7d96772f96663e1a594606630140ef12c2b5f46a2cc0b1b1c18af40ab298018507cc2724714545952ecf8c7bc887ae7b58b1f20be54c32365f2f618f3609768d121f13c3a9bdd35bcd156513b2933174b68405f24bc8eeefa30bff22a9b226715646d7262f78535daff2e525adb3d3a81cbc52e77a714bd4a82c083edabacb492f1e772cedb5434c370dfea21d0b83ead853d69b8ec0f7ab429f5e29b8bee6fd33a713a306ac87d3fee5e0e01ed35fa2c736e12f6b1c232b0b10f2a677748e37329ef17199db212ca95929a28afcf0a03c350434630be06f7f06e41d31e7b08a8ca1c4dd3053a13641bb46ce1d8d0254b3556500e72f45713987dfec343385e4db63009a43f537c5c399087d924248b0405461dad0a1b2dbf516203837f128e729cd37206b6159b6768559771643b5078e31e01c5980037f37d06880c7c52dfb7996372cf246e42f08d1fe493267a75838a9b65840eab9f3fa7f28b2dea37784bbca2722cbf1da802aacff53a79a75f361722bb8ccf5a6053cad5d7e051432acfd41e1ff8b4262bd378052f0b4845904a496c4b1fa75ac03a62878524e8a0ecb927fa728a1ae87d3538465c2ab75a794db60a3a4787681484f39f634fdcf340151c24723475b740764bf1865bc98c58928e4680fd94b480b9d698cbe893aab70c05b43fc7a354c516890a783696ecc63b1d7bfd198f27e97d96c7131874529a0e69643f804f975a5238435fa49582a095a3128d421b7b0b55754f6c0a5265a4bf5bc672799c78f2640548cc389e8bbb18209f84026a091cb27758fc5ee87418ef9a3f7270d6ca1bc7a2eb45d574ddc2cb11f4b6aafcaa08dffee861293b4048de99265cbf0253bb41c865b2e6127370bc115ea41a7710bc85cd868c0ad4155cbb07ba185fccbfc8de2413b2385f32d0f338c11bca4187e6cc53eb4b545abb6af60f387275463e618e6781b129e6a4f43c58bf57b481ad3bcbbc8ffe9712c2ec7d9035720fec1f532007e8a6722e01f7a7500c9c00b14bc01bbed2351c394eedc5a26272da4e9446a7b2b46651480d857083d1ce5f3499d5775bd40bd120cf676d960f72b0bb6c0de70d94efdd98257bf04f0fe86760a36431d3e17a7bc4297c4bb0d372fe57ad5dd21fb3fb664e0b80daae81f9440b4d9dd105c0667974430fb8a6c072dddd514d80e72083f2f749a07b781cc08304902c73142a3995ddd0f5bf495b267ac7b402ae6ede08edcd983b2086901e8ae3d88513db5bd0123f5de98458d55e2150f41e629a105582e7c0b33629cfb4eb64afc4b6120e92b609a9732018eb72ecc4ad49e00352c7f48f8af6a4b64729707b39d11676a30f11bd17fa1d26b45e96be71fecd9c2686bf0bca0f6a0cc9030d3d7974d5b30b64b8a13fde6805b37283deb81eb838d354fb2673ebfed17cf464291046519b668d4fb56d24a2eb911c8f2bfbdf2bf6a5cd88570147e3f51d0dd29b167c3ec48b77ea48a3711dc307670d7022f9e2b458c292df3f7247ffede8131b34f87ff0eb6078f4a5ece04c3f72be700cc76904bdbe4f7ab45c28eb77ab15c565180812c28b93e084599e239c4f93887abdd16058e971ae60f0ff9232834b406ccdcab146a34669439d6c096b7234093bb2b74b22d68e73e8c386647c89b51edb53a5c4dcb341cbe746209d8672ed1d0d92207716386b77477a9f15a20c7c15de2acd3d27c277f6b39f92463a72c515468b2d2c5400420d36247ebde9b82c812daa873a9a5dae67c5531a50d23a8be671bfdec8773d2ed3061e498d290f54bd031a865355820317d74a86ed5372280d84cd9646ca833b28272a023c6e074c31b019279195695a94baa948197972b44d722168f10127b3d73d2d845e74e4ed90db6c717613dea499d332ad9db0689d2b6fc2e9a0b1d5b4c68f22d9d2c31607c34ab6cb6c4aab4dd51718f2eac15dcd9d66d66bb1a0d822cb4890c9f841f390dafdddee1fe45d502fb5bfd3b10372e9c0f59abd8b6014935ae88024ca5b10b11740fcfb6c418d06710d199a898a515709555cae995f511c0c3a959d483a1c231494ffb2dca4fc80b4e89e7cb84529538ee33bc5eb1fb9cfa43d2fb011110fc7e53f61973f2cc97edd471ffe82f47261f0ab8d226b54685c82af5d07ef2ab20c0451cd625cd2a2a0a58acfe17f317202f3f4f26b858cf859998482c094ce0addc392cc148a8ee9f0d4d9454652e971cf547f736c8280559dd3ed2d922c4cb01be35edca07f7d4a5bdfe4ad948b830699c542e620104227180bb0d7cb1cff08854c3e9d0e3760e8ae3e546751a10b304535d371c14afce2721d31a3083ba9f025d4a35c901499e7226de05e334b933f60e600403346728064af1cfd1d5e1bb6c9d2ffbe0230093b3ff8f29d972a090a96e7033c238386fb468a86ef84004c889f27c176ce20ef4558ce5371b0674539de9fdd1a36365d605f47a3f9ae5f3441b8468998b1814e9530cd37cfad5a4447994877d105dce8362fbf5d9fbfb3f35b93f6b747e357fe8bb200121ceb2a43238a027b89aa9ceb1b01d23428c74dddf292361dbeeb118a000fbde52ab422457203ec78e372b061679b6edaa056deaaddb5c445e82baeb172d16249f1fbc366610d86ad6fff9768e5539527b83c17b60dad70151c3c49f56225af9ce3f68f2c5d2ad29ca6bd72244716eae2050c03b3dcd8c0cf8503224f14c7f0d778a26022729acf03de191f49afcbae05fd51179a7a47bbd97f07ea2da99a83c820831680082509f80f95d11b68e90f560494b529219fb45d4aad34637160b785746711217232fe7d655200c4d46b12585289511c4a0304cd23904cd5efa8d55a5a75d557728b7084482b63594bbf4da21d26653af86ed33225fc7076b41cb0482edd89b16caa70ed234fa9feb1d3a0ee00cd9f037b62a26c71e42d351ea30db19ff5b2c90d2d1ac93da961cd2491cbb695ae3dde9b5d14d2cb6f4945634095b7548446c745adb101b2fd0b62998c84316e903145c29853c7f44b0222cd3a740f72aaef5c0e32820d5f74c77c2775050889cf82ec567bf328fe2e544bb8d35a1bef3e139072dcea0476b8a9151cb93bed29eec5a2c72998044a61ac2fd79f117d5336ae7172ed9a3e2f416058894cd771aa8199c5f6ba5e1d945ad48949998f4625b1e7e25dae10cfdcece247dcf432938a45c018d6e0ca7d99e84d6205993cb113b05e3b31ba0c4fd32754d624a412b43872bd14a5274c2dd7948460a39ae160f7dae73a7200a97f65824d92b6b1f2e219ff74f3c1945d0249a725e077cbbd8fb9c5d51a723d15901235f10877ecb4dd7539c83befad86519b79525936e3b07af0c800a772db1fb021f0971c298a30c7efa664a80e0c058a4e990239999aa0dd4522996172a9f55b450cca3b43c581bd8eb86d2caa43fd51ad6bab43fac3211ce1e6070a727439f4ebdc1b24ff377c5407e865899fe0ce9909a2020c915ae51fd0b970ee4f9c2e2052cbbe5ac07e0d90df27fc67ef0bdb49bc0bed00d4370e963690cf19727d72b14319aa879d542033c1cb19e819e9a70c8eb6bb37fb734162a1f7ba0b385281b198253a7d1883cebf8a9281ba7d4e51545832cfaaefdc4d15a13a265d71796e66bd869b9b3116fa7adbd7c8f4b3ee12448792fdd2a66b63a70c4bf73936036b301e4bc36745770d13bc94d520af7d34f304a34ff1cb42fe822ecbdeba469bdc2b531866259ea57d7c78a38add22b696f62e2234028656231de90b8fbc724d36be524c3efef29a7cf9c6b10ec0c9ed9ecb110192b8de2f5019e0d3212b5f51d9ffff4befc842d71ed9bd70fddf2bf0d1b16e2d28ab12775088fb23022372a3ccce7efa3eb57843afb5636c420ebbfa35268769f0904120aa24a81c9e2872302a22890b95182d365bdf9dcddb191700dc42ffc66903718be008a50365d234eee34f6fb234e9a2d8ee5d961e794cab31169e02eb15849331c07e2a1faca37289fc0181271941bb7d265f450e43054d91984cd650f57f41c1d3944b41370b721f2cc30da61f57fc0d346ce75f663a359133c914ad1c7ed79918f6acefad8472c7f31a0162a38eaa846d6dc318bd97381fd6626147cf26c00aaf9ba29202c971401fe44de698deac47c4b589ed614a94d6d77e5fc5b4a61a9c13cb6c4922b372aefd3914a8522076546fcc348176ba8cef9f491851c9d0f9d3d233331000d2721d44adbbf1a1c8ecfe977c0eb48a06cb6852ad32b623194c9e324f0c749c587267529faef65694f2befc06771274066dc61aba3a0b2ab54e7c7b10fd76753f2f4d6a61030dd48e4578e042c6160fc1ff5c9e11aa61ec55c7662eb1b7269e56725be0742c083ea8e6615bafcd4c69a0b6a63c3733c57216c965599399a9e7c5722c07845a6b1eb73c85626030168260adb22928a2db2c539e0678691ac9ec7f1ae25c7cded695478aa3d6eafcc907b98ea808519ab33063c5264b43fa9011b15c348cdcad7fd16ccaee274286e72b77463c1bfbe26e411b18ae3340f18f79d872c6e4f8d42c1d947ccddcf58f20d4969f8503ef8872dde67ac790aa3cc5beec72a86a4dd9234263bb4722430418a641b42ef3c86d4490b89f6c1a536bbb8e047299dc31fe3096250f0b6cc75ba259cec9eed95738ff56876cb6ae8f457e5a1c1f86977f3e0ee8f784ca8fc5db9bb7adaedd79309aada3b03b442eb46624b7d07205be4bca3903726cec40495d4ec63909f13cc6018bf639405c9cdb838d1bcf33c98178570fdc8f647a12ea3c8197d8360f300436fc6b27576321ac4b7ad9dc72bb1fd5bbc287135c6b28bc6c85ed3c8961d4280a787beeca8a00cb46bc12c40279a39db767a4ba85767138a30c2347e69d02f1c0ee9e8596f4475691fc4cbd7243283bf2eabcc142876141a9439218ce865fc452f971d600810fc03e4890ad2f11257a7727e30c259e09bb3e015066c2ff96155a2c140c96fab390a3a8e32e7297aca83de5c77f2baa2b115e65206623cc95112e5438e3edc945d3fb7d8f355f887a96aff998857d7c6bad27c18c10eab0b3165f53d574ab6e60f5562be20a72b821cdfeafd9aa0ad3a88dfb83f31a2680ae8a1ac2a1ddd96eb6d736c2e1917273e6d0d37e54eaa18691c47b2d08c37797ba56c6bec4ad9044f2c7037514dc7261abce09a8de940964de9dd09a85182b382e9fcd76da14b26773545ecdd4eb03ad4f6b822bb58ffb7f2f675205d7ac8ff7cf84b031b5afb11b30334b84297d729e6481a2d3eb5472bc193f17dd060361c3e9aa92b1e7b6e8cf638f7d956cac7295c46cbe5f01a2b774f754450256e515a4584c1d68ef4c8fb1aca404b3aa34720ab3c083537f07c85d0d9c4d50a46b7ee650dde4e7e3241a265829f1d7a8f87288f47b7e4acdf86edd7acde3e6731be2b67137e1ff4065054353add3da0d664a90a886522537a60e1fd44124fda00aec406ce4135876348257c0b1f50d2a2b4281d2fc346af8eb9412b4cd89a137498d707a76d46a55508ffe29c1e0bc69ff3fd9103f63542ebfd520215bd1d15d3d607c4692b17a9cb92f93c8cf3a229f4972a3ba9b2895c8fec2f10a91faadeb1903393744fa1c9a43fd4eebb9691527f3380ca401de951664a53b9e6bd6f71e1feba72e88604e361070ca3cff84e66464543396cd23f633b8507da6bd95dfd1472e226a5c04b98201c9543c331ed52a6c72dc3dd33fb04f2f608252a7c5baeaaeb3ac919b065f2ee41bdc43875f379165621599b3d2cf5d46d66695c8b2d9126a71350b9f708a773a9a3c74750e771eeb72f0016be323967e5852411f4f8a1b429c181b64a2d012b55decf6ef906c378e7251ca91cc89a8a28abb14ca2fdc849d021440883c76d945b6fd439b99e044ef3f3e035ebe58a4d6f1a53c1dc7777d71070c951ccee0d50e69e94c98e1685b276f23f16db33cad81d883c2a4a3dce42c40a0d7d70385e2d152e0ec72b38c754372cfce151e7518ee4848590a7dd8d8fd312edaec798f8184c6a5b6ba1d5f99f42bf77ce80624ea2f39f585ad204a24e8f883c7f73b2d34206fb650434e4b2a8772d97e725fa58fe3a6ec033783e23f34bf64a6690099636995f8cccefb664066725b7f9b60aa531e261812863719e3008e16e8105adbf1acc307e60abf44d9b2727f3f1dd34f2cf63cf4c3f749f0744952cf5d7e5bde2192ab38b426e43518e62d4d823ff0df340fe47219df50023f4c635bef5e5b39c287ebbbcfca817929885fefd574646b99d4390549558181d101fe74cdc9261f41ca78f2b6c71d5aa0a91141a7d2dd7f31d47af1cfef71715270fb6d03bf33b2ade116bee4f7d6d5e7f0727025a5937e26823a4f570bfdfe0ede43b58c4fa38d69aaae4dcdd804677d957258ca6b44596731b403a3a0755c0bdc18c8fdedc75ef254c71b1c70c6e018b072c5e5106ab9a7a44acdd488c6866af715697592d76fac19b8ef3035f29300c051738c61b043c1f24c85726b23ebc5724ffbe554614057311322a69f8082c0127211152ef129aa70a1fdbdf681baf7701d3e9ce7f2cb6585081ed2b6b6b3821a72e867ff32648c1941b0048fd7f51ba2a75e8dc81a122ec3ce918e8a7e3c07ce7255e165fcc8c261d1e115c8e6551aadbf2883d85cb3027bb23c29afbe76ac8a72fc1c71f4220433f780b08ea0e933b81f06fa41e74324c55673786a19f58cb3099c2075575cf2f119d8cb02a43988eeae8910a4573c10c8386512e7c3e194e6226c5bf09cc8449931c14daf1d1686a560670a81a2c091b4f908b585b45b57a2552f9c9ae6e57d668094d4ca645d72eb9b41a6dc98aa5de8cdbce69312a0f23b0a72ba9c9f463f35a025f5a2f81623d3cb41dc9f4c4a881f49158dd776a2de3662ae8a464d9bed238962d8d3b97e8df61cf433ab97fded3c717817b1e08d199f72270e41f5f52d43ed2aa7928cf0e03f14dc3d40502d66481d8904ba65b0862516fdaf3cc47ead62d364b563127724ab301ae185728cb98e1b36c6528edd3f1d72a6a02e7238927e9b89d0c3a22fb9d2c8e11425579e427ebb9b900f31af724a35d899fdbb3e8766b297c6c81928bd0b3a6b3a84f9b3f2af47ceab3f076206fa5718811508b025a70deb27b3fa9993187ab40330eacddca75e8d5ed415cbfcd06a54998d413724e9621fe4d76d6a18b60c7f783af33dd1e9b95548ed0540ef38726989b198728ef82226c6f859ce1a5c78c311d508eedae41e74d58bf94d33ed684130c0e203ae440becfa6d7b9b03f11b7cec6ef818fb903823689894dd256872eb4ac996d8226e8e4b0e831ee193806a07621f42fdefcd7a6f0a69926d85fb62cb73e219c2653587ee7559622efa70cfa9dd4f0e206b3473072cc2605b9c1572aabb613320163cc30c561718015eb95d911c0b48dc69ec811d24c4585413913d2b38b17ff4fe71457e1064f3f9b792ce579f0e43bcdd7a75b4de1ddab90ca32da07ef2ba4b7c99809bd590f1612067e40b98187cf1b2451a3e3ad8092ed1082397abceb6f69e25709cbba0308fd1868c98ff1dc8666f625e1778498c078392277ec13109a2bd967a61fe0f912dae683a30f1d780d58c9159a94b3b6a72363e726fc1b2233801ab9ec1a2d22f1a19d59dc5d3a22deecb72abe5b28272f6c07e7217d53c22057fde3e9b54ce3d639521a5ad46905628fd3428f7fab62a0afb20727fe5ce428bbc83222e05c533f56148946604310645629f764f66dd2822a33d72a4cb686810ca849e07a3602b24d17a27873192cde543cb6990ddf56d4579ce72787b9158f3b988918a1dfcb70d6b435c45a346012006dcb6c46ca52f55adc859c169287249dea6f3935aa99a2b75dfa5cb07eef7836e1cc84c277e38fab90235838048b6a94406c1ce6e1cc40bdaa9bb34174fc9c0f5fd3df825587136b68b72a07e284155ad39d5684457017c409d453a68cc2059d103bf624892a4ecea667234f43948e870fd65db740f0958b4ce3178c8904380585af461e1d5e2c526761e365ebdec24632949f1f9a504b6d17e4b9f679862282723bab94e3482b259b84e8abb011c349530c38944606fdac666eeac2f10e4b359b2296fad41c79e74a97297c8fa024dc87cf8dd26b1ec275d0b770b0945a87299b96aa3d8dddc8faaa77294b1c7efed31dcb87ebbe794b72b7f7c9966b944d26163cce288848959bac609281031bdbb5dfcc94297e16100648b66f0d2eddf0b4e6ec5389c6f2f7ec3fc5571f31457f9685040ec626427f54f5fed9116b06426932eb213b5df67c16080443a9f765ab41ef774773d0b6855288f75cc1dc933ac1df4dbc0171611044908389daf71d880ca336803b7713f9b3eb9f59dee8313c9d9f361696dac792bf68c72f38d1f7a7928b1272716aaf52aada0a4c60d0dfbe08367032869c190fcd1bc0bb0b2d2aaa105505354d005d741e1c47879fe9bed899a30046e8524299c09c96e423eb35c40622c420c335d5f29a2e914a270fc6e06289e6ee4177cbd43cd9920187ae7b8b76dfa72e9bb0cf68bc68ca3412d5cb66a3c937b68da0ac58fa75a47a3cd68df995e6bd91b1e83438c014c86cb047b8fb289eba98c18e3cea1dba172a57192d79e17f0101189aa0ca00e8565c6137d59505649c7a963bb76c58a8072b4cc59356200494ef850c1f3e8206da851f9c6bedd72f2241a7887d0ee12617262935fb08f5f85841304fb977edefd2a2e2657980775957a085b5d52de742a7218f0b35a264d34b9b6344f6b46da33668119d0194bc1e55cb40f94318ebfd42578d1f54a8716bbda91faff8f08e1068c830b947ee9bec7fdb6068e8396371772a904d4b42a123c370133a8b5e1b4ff10ba6849b4e7c2867ea710b520405a651801a8c61981e79c79bccd04761994741af2fbea9d5238caa3a915c4e71fe8a32985f3a6529e6ebd6ee22cde0ec1cb523fdcf49d79b184bf0d7014a58c3da6f37243846f60cce9cdc82d1df8f360f9534d94624f649710efcff4e5f15f30d8853fe4170310013aa1ed1f7cb028b75e737b915cccacd94f42552d091da82b26f406751afffc165a177bb54333ce2c01e834e0acf1f611d8630f58e173c57a700c571020b3301478f7e2400b3585ab29462bd17cbbd8d719c8b744cfc75258613c72903b53d0e9c4942201cab40eb3207b918257189b047d340bf7034fa6e9be1b72f0bdda083f14132e1bac182f06b8612c5a87f48066274c6be154882631c3ae72d71def2c8cefde1ce02b4958f2ad620353c2f1d74d60ff6849c98d0b54915672cf243a88622ea1688b09c70e38d20aac0ab95ae02e265c0ab9c3218b04345b72aeda33f9c83e17257c5f6f6e554a1d2029e9df9d715146830ca6d2e9f006f63e6e5487fdbcb9b604d29b5adad4d7c9cd4ed62f75a3de6f22eff4a11fece2e772cd4d02d12cf5e457cd29032082d9e4e8cfa332110b668e628146bf7f373a9672ae8e1fec6781035dc29018fac71a79c74c2e73a00693b0d7a1a309ba08a6ed66304ade03935892c4fce64372ffc6cf804775167ad622e7f3d94a78d23d8ffc5a138e7effd74bf27956041a2b01b1caec168f5da41d284369ade995ab3ba78e08cef1d590121b13a79bc7a8884d09ca1a52d511e19f130f9c4b145e8a589a43404789bc0d4a9b2a75b67101eb6d1a0ccf1089a1ff4ffd4e3d51052872f425db26e84c4e27c7e78dbf3d03052f3bbba2e8321fc87ad96d185254c043d613d8e34cfed29c2b71d123582048dc19a3c4c7bd3516f4a3a832e98379205ab10c5395722e48262265759c08ae78326246b0ae1a0a3ba9a35f2bdfd9517d55d839e69957f8bfb249379a053c7199b50dd65be5443403a615afe023a3f74aba81a6addc72ed99a060a75c819cdbe29c444fab8e05dc51a388dd248925d2386558108b877236a82e6c8faf31c1140b41011ec8aabae55a06d29152f9f5c392d2c25d56f36b3c4f0a37b64928d0c80af3e9eaee44baaef7aaec5beafde4fe4648eda248e972421bbd3401ffaefbb252351e7cfbdbafe3dba805d969412a3b66237a1283720b79d3e971a37461f622fb658ff4025bd38c11fe6644260b846640bb31d54d8572080ddaef85fed7a4ea3664a75d5ccca23dc91166a9941104303ae72cc7c50760ef8efd00268f7557a618a3eb4c7d2f4c475916defd5327bdc9e80f338fef71720bb9917f16bdf138f212c51b6dbd1ca921c1a9ef565fc35cc93a195bbaead648e4f05ea68f33c7763277a57a3b1df2e04fbd832649d4153adf54d99157cf243a677d722aecc6773f87797a078a1f9e81e48e72b1e02806aa46fb8e30c22082726aa17cf6c20d886e19d7051c8553dc02ee7f22185ba3ceced336ecea5ea86c39df281a4ba6e6b8397565fbb0883f799184c78afd5be1adf3b81e850cc8f134720cf05f7913fe843e3dfe853083de0a1aadd531a578bebeef4b05cb8562e2cd72b2123235bf02f27c9c2009a353f65e7c900e5720f560864308fe7a2d251b0534c4bda66f672235265bafd8ef2f2ec9b23c0dfae6578c9fc1efed62cbec6361725ca971a0fc55fc06640c52dc0e2c8e0c6eb8e868a015bfae59843401d3cde22d9d615c58839887035e4ced8da3666d0e6ee0b581fe97b6457c46e77ad9caf172ccc925d7538b2ea7b85654010e64b625244edc094c31f07208dcb5c4a6645672d2cf01f7fddfefec03afd214d9ff58fc1f1f90ad5686f1896f32b4ddf8eb1816c6e0d1418fa66741481d194eab2abcf8feb6388cb74897276204c53a3ac18a72847da4001aded12ff3c80cf1d0f3e85157a015da6dc484b539be327a9ce0f9722d031637af4382177381cbd48d97f3581bf5acc7936e4d878a798debe1b6c772e0a606583da92eb5e9843184efcbd6cfa9e70d68c31b06d4f0bf76288a8d52096d27f8148e1d24a08a0e3bc21eb5b683ddec56aef19c740c3a576331f6f53553a361f9a1c6e7d185106e74c78acfb94870f8eb406e63962e851a1c9f22e9aa725770a244bd539bc2c4f2d7be9dc18856245a75c0d847949512812476e6b8ed60ef3adb68e15f6a2311200a05820510b82c5cf9cf9a2318f6267e4f1c38f2971270cf65209cbd84ad83744bbc12ae1cfe8dbd71aff473598f677924a176d7c2721f3d87df9754783675a8c6fa5eb2f8a100e1012bd8084e2dad55e3dba99bf07269860e854908d38ad36454bc59ded4f9749558512b25bc7ad40683bbdfae20721527c748d5466872e171aa32280b3dfa19fb38ff834383d81b850379354eb349e239493e943d4f2ad7e46bd4594cc2888a7f749a8a81ab38c79ee3f223f40f315a559fc4280505d76798be28943d21236661f18eda859e41c5b67caaef111d1c637329b2ebd4b59da1616598189e279a46a1ee13fba9554b8575264f14dd0d72a050c4a4278b8161d5c41a5fb1e021466681b513b4488a0a10df3f42caa92072779b54b4c7d04dede87f48f017ec4abdf70afe9178cdac34d37073fdff9ebb72e575967460286316462beaa6f264fa5117360f1b59b22c64a01310fb00d9cf7295925ac5bb8f109ff1f9b7e0616894b00f7ff6916a46a1086f81460b13b2814ac530754d6ebe47ed70aacecdd9ab8ec4dba834c9bc69c0dff4c005e0d2eb8672231fa862fdfc2cf216d23ef9204850251c75c866b453e3eb6e8c3753ba8e25721e773041f568a0bab86110e1733bd9bf5e280d6b3e0f23f8fffb1c99e9912538b0bbea665cafc2a143ad43fe1677d33e5432f923e892528a4c32f704db7ea5270c90f120e8e6a5181bf3e36cb0da6d8a2115ef160dea2b6414465fd45739a672cee8c7825b9b84fb8cc1a4196981f786dff568291e6edf9836594c2385fba3045d915aa3ebfc49ab5f57140656109f948019f56f2adc2f4471e56904616bd02de3fa6f9cf185ee77c4d80add9a23d89e749f74a93e8b29dfd0c89905e6544472535c99fed8a9cbeb54b20afb570b8d259c0c0ed047df099f95ad9cd160c21a616efa424bf13e2b7084a69d9d685d21b6a722df278a0af70b90f11364af3c691d9ab988eb75670dd6d65088fff0e7f89651e7b96e56cb58e9048f907bb8dcb104a7b59ed7e3b46ce7482a7a4dbbfda5fbb4f68ff06ec5de24b6eb3bb4a432c472dbc64f8b9db48e19990beff7e2921192447242172278a61c0834d3087e1f55723e32c2d26f76f75015eb832ace7e9f735779dd1d7a00b779bc7d976807153633d13fccfcf5c14739248e43d4c735c22ac5324b9f4462eb36953df621a2d1ec4b8804c0bf3acfa028d7a0f1788fd6cbfa71c9de5424015a4a10eca7eade232672400bedcae40a4b4d4c8e4431ec3e1641be81b0e7a3825e5bf6a4f4edbc7e110e9bd513c37e97039a2f63352823e230a9d2d37787d7afd98e4dc78871ac775d72c59935e652741819665b91070b8982cccd5eab80ab4770189956694aecd24b14a22dfb7d6994cb56b8970bd68e220f9a96ed432e56af87582a7a73f9ad313b7203fb88b049cd4845669ed5f8795c16ba21da6663ed9d4c637f8ff8e0fa41d072aa29e50372364646d4c7e0e43e0f84d7e7e20e2bc80af255d8b38ba01e3593075f1db10b9d86617b71e6bc63bf5ad2a1a20d4d099cc8420c8f275d1164e99b075259c6e9a27f5b89f50a0a997379e5bf64b14584d219b6c16cfcddb5ada82f72188c61f90eae602a7116067d02840bf12f9969468164b5e066ac3f99d2f73a72f0f3a60c288dacf671fe3a6cea872bc77ebabd2fba356e6fae0c9f96ed499b722ad59686ae7f6de864c7a82dcf8222157e2fb744d43ba870893393212fa7480efc2220bc29cf9536f470a67ab947cbf07a18b87ebf25982ab4785afbd662b8257245339d11fccc144afe3e65de7edf582905ad497654b13be2cfa20cc52bca72933df668911d4d9a0b92a90ad6c63c6dd8e66a3b0f4c1cb02bf7ad08420fda724663ac2852ec3e2ea1a83155192b61f475843ba9c7404d42bbf5d9bbc5b5f631fe69718ea6750915cf77d8da80483bc934842d3c8bca2f51a195ea9dc447ff19fb9ac20d40c04c0f66d54cd165f9d56e6e5f9a711be3308f4d961c7dfed4d972c6d3fd2746965671302934cb5fd29c9de5845f54c95c77720d8d4e7382aab7018355697cd2ec13dc0e994f05b4dab2ecfd38e698b5c10e8c9b5b5c6d8f5e647244f2749372d55c0699dfc3186fb9c6c45f7a16754e51a6b7e4257c57ed695a08598a68f8e0660f7941c0233f60e22400bdc03552f6575116091e5f0ca4dd24542c233d998fffd5597121b74d2097cfb6e2272de82c3d12d36c743e3240e1b8085955ec6b8a81dfae17b0619d708c676364f5814a952dcc50bf93fd374a75a0729fe718cf643dbc6e8262485f83c4d841f6e8cc0ed06f5aadbeff01ec4f335e725b533131d3eac6677132d4a8c0c25ec743eeba993f8906207401c93f12a5f772887381d74ab336ac1f3ac22e2569ab711adb219f5d720da84236e67dc8b62672f550cafeea31235892a3812e5826cae423cbf48eaca186f8f942697787aaac729f31a018e1f7d855f609218f7392ffd17377391141e03b08255e42b9c9cbad7263f15c4178dfb19f93c9067ab231e5853e6c8ead93ac8b1e2694117bccba273d5612ffe8993716ae8f3d81ecefa8f0b2121b0b67775603b0ee2fa12109847114c858aaea98f82838cc5dc21147f7aefb579f716cfccaf404c1d84dac3397282a785c09da7ad683f08af44012e8b775ae06a103e250bb9b9139de8e830e39f0720e59fdc645a1da23592760bf1b6af53561778161620032178c5b20d5477d4051230580469dc6e0bf438a292619af32d2013f309cff68b055fa42fabadcf5b351c6556feb34ec5467766e850f0d25c61edf779f5d51b03972175ab7a5c2bc8e5a188e3be3b78adb88a2d8d35cb96f768e36859a308ac76c3eff77ad221a93dc727e25f50eee63b1d50028f3f33c7544cb283165b88967f118214b9541433ad33a937949d962fbe0fd2470101074fbc10ddd8412cf9479fa528d57f66d3dc2aa567912b34fb70e2fbc5bd3e0e40db29ad09d203987255946fa60f544e5bb4d415d4bac150d32c162fa4207976f3d2c39dd3cb60983f6bd661d45231d06d193f648e635b61b9477c732b35758ea58fa8a98f79012a93d3da886cf3229ff309c2836a42da9a81ed4c1143e0db541b79ca591ccfbf3ac0c84b4df3f7bd9c5139039729b4163b427a8ac268e56cd41677d095bb1f78077fed4d17d44d4ca4c33b4bf72858e5e6c8677c8524800001153e50a3e5a6b55de9357126aeac3a1288c214f72aafcd64a846e9e0e0e2a9c3678e8b2468246685c0f9668041e19a89771bb91720d87345287b2c2313ea5498fffc5138d94fb66e8655b1895fd74c29316fbec308fee0e8e460266024fbd5b9c60eaa57357183e3d5b9c604ab0d3babf96b2ad2a9f498e5669b4ad5c8faf1e76beb582852b67eb7c420214135ca52810c9313672ec418bf659d1dcb497fd1b8460ac336c18dbc07ba7bdc0c452e0556378dece72c1c55b1c1b837550c8c06d21d47552116c26fbd175a0399bd4e0e3bf9b9dfd0f1f2de820144d96ff5fa3470ae765a9bf87bcb573b7e7609245bd1518e7962c72b6f4b3ce03af35567b13aa8a4662622a2fda7b814745ee6e54e8df30693fd54a1839fc1366deff08fd30a4da0d3547cfee86393b62a29c7c237ed8b989a59318353b281661b7c54f44b4847ec8488b37c453bfad40a1c9e996e10dd3655687728188a24f9acbae297452fc7655884ea81ca3ad40eb8c1b2df2a14e1af51f054d6aae5dc985a76265dec3aff4a7dc9d0abfc779d470c80ee88c370ea985592372281c68ee173aa056043d47be05c0177496386a24087c3c56c44916237d40b312ef7587cadc7868a6b8632d9a730fd68904e623c40863fd16fb5b0e2cf271df3c4351b88a3db5128c8df262c910817f87d70e535fae310203d6b75c156fc75572a6626c026db218570c3b13efca525714142687eea04da8d37fe2266a72a20a0b923bc20281294de8085f4a8b057c9bfdde6a0747baed64ad49eed4673e3bd0508c8af2f95648c07ab869fc910267059a8d65a9dc0ac18eec192556913d614d7208f7b7850273754db47530bcb7e1050348e772c971c271012edca6c02724cd28f331c013a854a95c3ed664c847ea8c6bfaadc8c34794bf850f19e6698d33f15934100dba35c7e59d04f54fa08f71ad93d053357228bbe0674dde60b34285b652fc722b677da5123cb417d6a2c94fd711810b45b2a974b88b743a1abae5d1af7250dbf00f9f391e5a21925642fae1aea8e1672fb8c19cc2d267e2dc7bb9647e09b7a489c6936079677aae7ec6e867928d35b3dce9f64fc496f7eab686abd11b6cfe419158f2ffcca03605bfc2055ed3f10d3cf7c048b8514446776f613de394727daaa63d0fe102d07e546f31e5454ebc6f67d137f7f3c0602fbacb399e1ba20c579d0ea70c86183def0ad9869ed8d2cc57623a096d2d74d86a01e85f17b252697ac324dccac299cf8bc8ad765e2cb73edef436226f2aebd00f70fa52b1e52a239df7ccdb571edcf621ed3c7c486306bb4d3b5e02de20a9c0efb5d587ca42175232cc4e1a2ba7094f2ae318530241618a36ef42fcc78a8b43ef8f2290252e2a2a14609cff9e216ed7d0be3fb8dde71bf3598034c62fe77eaac3f7c65fa12011144bb09a4899242ae12edd1638647c0bf77da9116503c9833e17c0ffe3d7c2412cc192a4cc0c52d8e3f1fbe0b19487b0238b00e7b2414d6a57c7eadb7454998072cbd7e0f8bfe83fb2f9d0b4ee783818aa93eb9d6e970a701c6f85bde3ce35cf7251af965398ebd7491bb117cb853beb569d33eb6d91129a8b9344005cf65f8772052c467b1f1b250772cf02d8de2dc95ba430928e2dc7f7e3d5b637f62a1e171ab73d5dd6b87f0b0f21de49e67c487424aac86fbb5e89d79ab3e52f49f637842a5f186186c22d15a06fb4393a2c6462c3545e1d8539c3aefbed16b3208aaa1537415363db26be323381fc6032e2ea3f5a44694995835a39c302d140d9f5aff27226baf0ab0f7a0d26dbf941c89c958c4443e57d2986de7343b53619a3ef0fd67296bda7a01ea9ba7ba2c73503db3c71959f96ba798ee45a06a03aae33ee3e9c72ebfb641c0d8f24a97a655939d6579538c481c15aeccf95358851317d2cd6f729e8014b4a7193267e1132e619190f81d57eed2b80dfb1b709719b557ca260e87293c1d529b728a19a990f9af46785496353824e964d31203f2faeaf4e9bab3572bac66e5dee54c89cc54b5a644dfdc8462ae02c006b0555658a6de498404a627291c57d36ef67d511777158aa1116c92eb9cd798fef024bd10b13f7e67df9a672e07be3c2f41869ef632156e50e89fd7495d5dae2b8004ff0b4594e883691c2726234cb6710712f76eaf88fa655d1ba450892bc85c80ac55fbc7440f7ae776972754fb710fea7485ef2699abde0a5b751b20adc65dc7eae18bb54c87564e952727e27fea8954c7aedc2f532dda3639ed4310bc0fa247a52a054ae01c9b8feb3726618d583e4420f8e5851a5fa73294dae226a4c6605967bf099664e26cccb0837fedfa15442f4c78155358faac8ceab60ea9609fdbd223fe20e5b581b36574f721a2813d7a0b35a82b34574ec2487bbe7d2d09ca30e4c1145382f23f580616868d6fa1811d7ae64899f666784ba2d89b90d1c7c3b3699014978d91fdb94b3f3725f7bf6de047af639d0db32ab8d4a69a546413e87ed5b9074675b48448b1e037237775cf895284b4c409b7ecb8122cef32056b14f7eacf4d3508f073ab45b562851a07ec417c6659252e8e7e899ab9cf8a5a795094fe5cdeee748e67b76b1b901aa601334581a610cf98d6b5a286b460c248ab8d84a1c679096738c1bcd1f116f6eb72c63a6cdf6b25a17613646e72dc2c5d8de63f0543eb65eec6e85b79d45327d1b26f0d4094e6b5a6369d036902f8a6b381f9bad2b8661562bbde65ae1d072bedf8147013ed7d42ae363c0e2b2a76d9c3104f3cb065c66df27384bdfe3fa72f9681a7cfe993050e05bb53a68ae28822885ca5a4be7c316f8ebcfc05fc4ff72094fb78ddfc76e3d9a96afdd3afd68db3c772cec5ab8d466595adce21a7f3b7253523c2b95bcfbd119521a5815f440347f8092362b7fd63b984e5a832a5ad772959361c3049b7c149edc1f96c9796e7174e170d0ed6a7d71e357533c4797aa723b0d5f5dc3c889588167eadc95d698808d8b2ec2b3609d4823f90841b4fad7465c72033ccfea8e2a50418ecaa42c49c41e55c9d9fffe815aadf3eec17f02ba7233da33020de84f992b06f760e39319a37b3020148d85f67c63737a75c098f50492281c0b61f81d96288bd1481e55e2e45331f650755fb59f52d0a1c75060c072735797e158f6959d5227740d8cd38da0840a9bec776f3cbe611a6a257086051a2300f826c460686490c6d796d54112928912d4c458d340ddab698eea25280b1a14eefe19e1b5e9e44a4652569e32e523c67b305c2c845c0a4d09e08ca2d6fa722d283b2ff60528a0779a2a4d2a9d808fc9e680d244156d65dcd7569e270071728db4810fe665d7d12ea011aa903f8e79cb5e557759fea94ca617e9ab38093a3e77ecc747d3814fbbb5362b20d87184ca747b238abf5a58c9edd50d0da4af38251d485f5b737be4165284fd16133c61752022b32bc3b0258e55a7e210191355721ce8e37f398761a494ff11419df386524019a511f89d09963db908cbc728f072bc2018823d6d8cc0bc11026e74cbd0532ec7d09adad41647308af02a6ef74972dd42218fd4c0cc595aace1001450eaba95c82352030fffea44d18f7b61c17e72f2ee9e4b18af32e60b13593263bfe077497a0773fac1681fa6e6dacf2a89aa72aace5a88fbffb59181e4616a4cd83fc8a3046e91eb42dd25a6a9f1be7a33d51d665cf3fdad8461ebc2674da3c8687985af2281b61afbc475de07f184e1d8547211f7afe2ce0fb543497d3270ed5218902d264d040be896ac19d6bafd6c02913eb7040f5f133fa0a8b5b7f34212a20e7f78681121b8e508c3a8fce6dfae98a4726cd1bc3f7c7b44b61334869caf20474b24cbb09d080fbc3022d155ac7ab0e60b77a4995a184d2073dbfa664bde5be9668428dc4b4a11e12ca368348022ec335d52b7e1b2d21e0131923e2cab1d7d090ae6f6644be5cb1e50e562ba7505446472415394b0eedcd0ec6e5dffd5608ad46441150f41c50e3f55b5773a5f0a015e296bacd6160fcb1792420fe96fb0cec58a5901a0a4224cdbee2bc29e3a261f921ae2dd296e7269e517a16af1d37a102787934429c25446385dc7220dde3840737276e2be3296854fc26e1e6244802baefd8f89cacd8a2686f72c8988177a6d67728dd5500a2aa8d87e6bb5c9c6f76b1ec602895fd263badfc20e715b7886a83e3dfaf29ebfac6b16908796fc59be8ccd80e7370eff18b48c00527ffac5affc7272b229937ae4fc9c1a7dbc48a62b5e40f50050396e8f9f15e2de03134643160b720695a1a5fa8f7766315d800ee323da531b708b85bb691a32202b18e743537067b99f273da663afc4156f4add5f01735dc0bce080a7377e4904bca7b42a81764d2bdc7269828f153f61637e0633db1dd88fd453f9ee07e8962aefa77e524bff3d25456336569cf69b2c3f4243364011b59469b03f99f832d9cee4f39c5a07e97242a9aafd55504882e6106aa83f9beb120dfcb4a3a1e8e7548cce056f63ec31729e88aa1ed9a276d1c8bb3a09c3e6f18dd18bd7d3231db63b1792ee1083e5d5051493f99c035cbd9e4dc9db38a48ab440ba3c8c8cebc5e2aedf8d304d321c134ce8df18462c97f141075dbc8ab2ffdf25b8603ffe3127226d43e27104ee3d9472fcd56b0b10ed7820babb54d7fc93079add16ac08b80fd3f441ba6e351c2be972682eb9fa59c0ab6b5421da070483ae6f1132a8dcefd1c7560ae2b5e691f861728974321173c6c904b264f4533e4abc795172c42c26e62456cb6108b62c1d137285392c641f91d1c3e7a5369359ab8dced73335199fb0b1b7a89ec1ecd4a3eb2dd402f593de68f7b0a0a2f69ada1fd51fe35fc040e61a559f174f4deb4a2816728524079a33648c2596e4714b26502e578c314de4ebb5f8c84433edd485388372986e02428c01f8ce0686212b26fee46a65828a7e6aa1b633b7d75496830a0d00c9ee83c9b26e2a1cccfad85acceefb2dc54aeabb1fae605217080aabc06c2550ad1a66a8022e695cd5fa9706832fd7feafe0dfefa9f63dfe05385e04b97cf672cbea751acd99de08d46c9ec3bc23fc289fb03eea208fe9093a2d8f63c43343722d08bba9c6c52ce63ee61c6134ab9253322b9b17fe1073b11f7f0c520b34c07298db864a851d3ea77b7c05d403564f4c0ae19b180b58ff5b6c62b0baa250b5728835422f3db6fc7be5937dd80c97bc2477e6a7b80fc1df7161145451e5a9aa7276538444cd0fc3a4257996647fe499396bc443422f95df4fcb0cfba1cf17a972ea9638b9de2deea942827d2e9199531d793138193c7de8324eddae056f69197268a9b6e5bf43df7290c73d523f0e4fdbb216d5113d3a3c1f1112602dcc632672808da2ee94d1b4f3b13297755f6db2fb21e686baa959c643cd49fb1bc5eae472516bd26670e2898a7acd0cd0e53f4168245b6937db552253c147ecb99453fe72c5399027d014657fb66e624f0da91b54945982785d49fe582cf06d2994f4a1721afe3776e28b1138f38ee3e24ac7d4b1e41335be4a26c5ec81fd58f4ec54391d13cef41754bfdbf6cc9530d5bb4e412d4480a2017e4153b066b3b2c81960267219b7a6c0946eaa8b32eefd3d7f1427120e08636161c3f5703cf6da6e8c6a707257b2b9ca52c6d8e58a0603465501d7198df0b1a165962b86cf98a9e11ebaf872854510bc0805537278150220604a20e9da33f61b1549293c83944d95ef85e938410e4c3ef457d44a78e14de31e691bf72092a9381185d529c36a38832339d5722c506333346003ea7e34c4b831961efa6dfc3602fb747b3ecaba591266820b7223eb6c58f6cd8a5945d465978a27ccf0f23360dd51a5e81cdf71259a0e09f472574ffc68e74555ae874138d5141260ce03b9f3677cac549c54930b042415d172f18b837fe74e1ca54685fb7bd3f39c5ffcf6ad4ae68e15b8f4927954f9d79572b251db5643a9f0248b619bfdb988fb0269e33333046a6e48a53918a677e76872f366d53a67c76ce1d6a5bee0bbfc38598f6c1ef9d1f94251d41dd5b8c5e63272f6e2361b2ec177497c0c5a9ddec2c9c0b75bf18c0e8d37baa68aa13291755255bae8cab28378a3d7f19648efc4f5ffe0db37bbb1a58f288e6bc6dfe0ee7df97261e9fc32274cf1c362b8caa2a58428e2ee1166781b954f93a96a09e76c70ef7266f7d72996707c2dff94287a39a9781a839e93ae76ade312d53ba3ccfe155d160a148b7619a9343c683cce7c44a080212ebecd41a5775de961204accd570dd72bffe052319e4a4e20de6e68fd108f32f840dd1f082460a99d50c66c2fedd1765351fe46e59095351b08b2f1a0c6fdccd4ece5ddf453ef2c1ae4dd73bd38acb12cfad673758dd62e1e381884ab2dd102ed5f0f1bb4b12735f5888d87c81c0b372124657e9f4680543abc0b47049f1d9e065718ecaba6bf88ed74e31abd2822b2b28afa0a38646ccea046ef561307f26adc7f84090b994fd9fc272d69628352f7274f81ffb141263870faa15e1408db9f4b871194fa4d2829a061b217d5c274f727c486640ef84d184197fd53a9105b72491419dbcae910e5c3f80675b85b91972961827c3ff539d90ca8bf24fb9f89c858e56895305e99f473c2a58e6e5fe40725d71bbd9e2dae6b0c4d1af6efc07c07ad7ea4b95c65cd5e9c5dde60efe8f327287ba9f0ae9c1b9319ee5922e929a85430598c3050d84d1a6d9df7997653a7f72670495ac72731645b6a7d93cda40b68e51c1eb3557365d44ee77008fc9afe45b848bce9fd0ce2adce8a1e29a835f6ca062c1a3a1dd22f121744eb06d71fd9e50e6b4de2e99da4243f2aeab06ecf08601406add38f91f98bd4fb9ae41511fb872104784be0e709520b429cb4759825a5779db09e225168e34fc5c6d246341b96c640c6b1d0eda8f840587576f028f56e044a55443f6cb430bc68ef0fe6a596d06fda1cde6b6fe7436a34f770509fa7372ea5c089acfdb599acc771fc2796c3d0ef4efcd8668227da61da391815e79500e9e5a46625e4b263bd5d6a9f0d4a4607248f83766cf2c988b081a5ffa7cf0143c213b915fa46bb6d1e965dc884e9d63215c10835dfcaa6871dcc3207e89532fb5cd1491ab8522fb7e4fbf055f3c165a70f997305a6b1bbaa59080141188908e80691d5b566628e232667402724a60686b8207bdf49322b9a2e71e5823fa6d49be288ccf9deafae659b14c437b4024c272e07a62477bc9f781c070543d3c448035f14f2c4001e3c26436233b6139899f2124d559e8e824f253e791f8d2a6dc494bc6fb6de5f76bffca3cbc7e8ddcd2c472082bcfadd8859a2f848fc4af8d05feb8fac196580696721cb1a71be28d8e0503bfd86bf1b32843b288366243f7466be1bf7d439c65d20eed1dbc0e52ef36742772414085a94e649e4fcb70ab7df5240a36e52849215a54e7d9aa6c13795ac11c00eb8fcaa8284a8f278135c31d9a89c67f08ec7b6b09518aba736436d6179b345443613a8ba9432c9bbb90600dfe721416e8f63d59b94e928eb0448c617728728cffe1d5f0ef2219056c50b71924ac34506b9f6155412818d40d11ea7bf8ba723828c645e8e206dbb2a52dd125879272099c64dfaec29b5bca42d1dca7a2d245118bcaf85580cb727c0e3c2ba3212c5ef2dd5f7dd6c1bd9fb8bc64f18c6f8b72a74ae25cf654ad9fa49a5260e5cb45f98d18cf32c0b07b80a5aac7ff7b57ee4be703fa2ac8b7ee0fad612f99a033099fbf85c4d114bce467b95bdd261c2bfe720858267a740ff31f286776124537612fb37038329f1c794087589d8799b4284eea0ffa9a13c40a0923d7f6e7e7791d9a296cc75cf1aa6de2a592de6a3af8d6726130a0bece7b27cbe1196c1ccefaac06b9eb81b4f9689409896b5b3c40541d7248c9822557049ab541ae62debae557872033a74a880bb4dc91e4234f89ddab04b3b21f2bfc97a9c58dee10dcd79e3b63f8adddf1367df32e0a742acd1ba1af7264e24acce12134c3c010002e4a99e9f682d9413f07e8b122b5ada33d83f8e172e17ffc091c42a145c0441b8f33151158164c13016e80f2068fe20822c5aad472950c93efad0bb1f14a1a3216adea805c7d498ee8c4ed4a42f6ac15582844247299e94159193dd8e85f3635f41d8d47bfbcab708bd3900edd12d6352f5270400073de38764c6c8d51d164eb49c012d45b219953053edc43a08c9ad1de5f544d638b15927d7dc3794a732fbbb48d4e3b5f0ea821b28a48ef5e63384bcd421b24722a1ab741b2e223bf5e5423212c59b681af54ecad3a07459e0d9753121e10f77272cc4b0812e6c2e7ae9d0e19555fe856a4a26509d73bf8c9eb557a4029e5d84098035c4d45650651af1f253b4e1cadb11f3b9268839596e6b8b4f3e98eecdd6c3ce92f26392e832d30d330da2bfd56b5345a5255029f40d99ca7ca40c9c5cc723750a056b445c779c8e64655b8f74a066340f39c39adfc01933f69cefce5e63319db197c591877122e30ab07ee2419620ad997df42220d4551eccfa76316bc72acfda5c486086f5c3f69a9daa8ff5e83499fd09e16727ff67e334a6464784d6535b7634de5b471adcbff6bf07af5da899b6f9f4842ca86ba68179fd839ef5f7217d2906ed29da7f1b79d1f86b9ba9560eda28d04f42207803f8a2b8d43ca740a3a6b66f8e3e761267018949739baa9a0121061f1ceb7f21104a1659dc563c13b7fcbafdc8b828a8a656989dac75aeb9d9863e0cbecf1476de6a1af5b3c5fe5727957a16cc6ca74a912015808ce17c25525228e72a19adda85fdf7594ee4d11726a9f1a0105db473aeb51361d9f936fc1170ae9ee1071731c7565646dc432a87216ed199293ad6f5c3e7e387ffcacaef29e53b934bc3179c07e1d088cb5d4f53187e37ce92f0644af3436c30187a141692fb251dcef808a13e9f94d3cf7a3617243e31a56ad8cb2830fe501b87b7727404e40e1046ec20990ce531e1bb23c12662d88f0bd5f339470985fda83755f0cfa6fd0f24e3c1f9fb160279a85c90019725891c4005fb3e24dfe9b390e94380d2d4c27b485d8a7c811bf22d795803a5536f91944b02239256a17a6a1bc362338847beda01f12b0a5f1a2afd52d5acee77211cb727ee697c5a348a19f8bf4a1e230af787d76659a4cd52d5146e582f51115819f0c754806a97ee8b93b4172ee715f95b53d9e715940721f7e7dc29fdd46724b25857ad7130a06662ffa3ff592b520fa4a562b3c1f9b46508c6dd872c6ec55d58969a68c687e1815ed930a1e85f5796c5bdb9d6615a6ddfd029baa5ed38c72819feaeae2888c0dbdee1e5b9e63ad2bb2a50fe1225bce1ae14b9bbc2c4941721a6095876b4151a0dcab1adcfc4f91e641afc07a1fd2eaa34e3de59ceea4457253412f77372c0219b9e63e0480438e84e2efb3d2d2e962ecd2d49d6867afb76cde09f10e25cf28dd22ceb72b13c0fd2a5a1acb70aae2ca7c475375822b008f721ce0a88c4dd156ad0c8cdd99214a1a7d8b8119aa19866a5a025fc672f8fe2f1c90bac1fd3e3d1cdeeb6f4b0a86fe15c5ecf2a207f07b3482af280affd5632c50eb8acea9f37d5c00dee584f2bf09b1b1b0b4dcfea1726bf8006daf34a6c6052d613294822f009f57bc00e470696f7f59825f01882b981f3bb945c0e6ce7fb8402b8b393ce1b354c581a0dcff2afee6e89db264b7ac02025ba0130a4b86d7097255ac4493fe710b949cdd4b678014b1bac6a5eb7fd0ec743966b365bdaa356072c158e5cfd47973a94830f761bc5324582265577a20636ac18303fa9782719d7241da6284a2cc12237e7b19992b576c535952ff4449da942e2732155a9544597213c212000c92f60fb29d5755cde0e7cd897eff8155de7568a94bd88db32739721a956621c817b5c669ae26f1818482a7fa8b9b3f54f2d150d3aa2056ceaddb726797ecc78c68dc2f606a5a73d726e07e7fca56d74b63ba04ad7a43b28348992e53d23ed978d3f981c530b32dac6326c3ace742c5e971d9e3e26929e5b0a0a42e9f08531a40a81ba51e06674fcb7f478677f9808dedc3eedd585d87c381019b72cf4a8f926d817e46e52be50e02304eefc3dad8df85af354f7782b9e6da14b90b798f8024063345e4d2fca41f6185d4b0bf992c999fba0a7f98d305ad7dc95f060e94507d4bc368a0af0cc64c929e63a89ebc4467b4de8bde4b39098bd6fab3043f6df68fe0e0daed6c6abd08ee4c0dcdef80936c36520f7f531412511ff1a4722e141da047d378d0b33086efdeba1abcfd0e8d670cd9178233d983291d1a2b720c9f1b4962e0668595292b1827e3f2ed4407964f8cc95ca47ae072457349876c7e37767f7431de1e364e476f2b4cee0aa579a2abf9f95443974e6e4b701ac1723c6162a6a9177fde78e89d8f5f4d1819c9357f0649131e6f826c64185e1db87292da66969d371adac862bc1ca0b497e07807be9ff745bad8bf9885569c89e372a26ec3295541e3c01b5be2860ef2e84301f85a45502f64354fb291708c57a472c26b96fa8ff59a1ae1a164a87e981f674f6ca3de4a6aa4b96223d85aa0cad237adb4daf2ea0d17a8377f2bcdf82994cbd2a81f51fe6059cb24343e3e34750130978d07f72a30428055991863827471e843a0c912ef864cbb3b6e85378e6c11669b01ca28799f31c1ab88a003c0886a3ee489259dd8c9a05b360d99c2498cf35e878d52001a5735f52ba42b231738ed484678324224707f810cf6deed1c87ad723a7d09e6187451e4a1ac1d7de07c478c1baaa11eb7b5ada52cec37570a1221720d7b6fb0a824fa938e0df56a969bfdc76768d50996a865d37d9caa4714ac97722b6e364c26f95382bf9739481c3ff0b7787e0277d68c6a27e8aca1c7df5b7d72c66dfe09721b034bd517cf163c9c47e020f535fdea778b56ddf78353f8a00b724015f6d5c9eaf0c565a61afcaca603fcb1f5249b4e5768856e8013b83f6cca5f32f4d802892cb77e1b7f843e919f29a2f80abb3246db2d54796f4b4344c6bf72b21330a1c86cfd8e7d7317edac4ec9aadd44f7a942ed03faf33a408ab0cfae366c59481e89caf38d2b51d5de97f26fdf41af07911ce909229094defccf208572048ae544a129936f88c8e55b37397f1398e834d16b6901c1d17eb75c23fb5665b963f63996df5fe43feacedb055cbfb977cefa6fd9144c28cc4e079f06ff0f72f1356920323ec27bb9d22663fbae5ddec76b29dcfa8e5caa2b13ccf558334c2c8558ca743e52764a2ec3e87e9f7a70f8e417bfbbdb9dec9457f2eb6a4252002b28723758da208c322c013039ace0c5582df0bcc4e95a9caf506e6373fb5eed234df9322f81a119cef7bd9106c2f2763152443ba70e7cdf33abcef1d108e47d3eabb8ab0273488362300111f24e64a8dd1ac38024149f728f96e46d9b23713b108f939e56ac555fc7cd002f837c6b3fe18e15a8499cc0e28ec111aff3d3e13646f2c7d047610b3bf206a0a7f117b896d4c6034d25ec6d1cf767fc987594cd9c4b5229d644bef231cf1f62e748c614f82550ab07a0be42b9e8eeb62d56b6c14640e6927c12a9c34b17e49a00dd580ce02f4c722abd967cf991c3091a80377d597220791bead2fc23a393ecebcef9e7f5b720d375475b398b1436a6d7a1cb5f6c33c9f3c8f76534672139f56dfbaf8e5b8869785d47ace76a278a7dc78da833aa00f46095af810388184c8e599f413bfe150945135cae16ce223bee01e6448352236f93635b0fcafa0d6f6ba06edb96aa1126a1399204a042f5fc28812a80be4a2f43bd1dda16704c340162ebb3d27842742b27032f4d6c1c477e83b621a6cb7272ce92032067a29578d1141201cf207054eb1db13f2ce2ed713e5781e3a3cbff72709dcb1cccd281bea1440cb0af552fcfe286c85c2a15cea15d7ab0a49c746e72f337cf62687a4b2d923e116bf431029097dcbdc8be2d28fbbdfa8b016d19a972df1ddf657357ef0f0a30fdfb64c946ed47f0e84be5d3836cf5abae00c768e872d7d879372ee7b73d39bd732797cdc8b72b77b67161a39d23fdbf9a2c9239703de54c54dadf671dec2f96c25dc41eab21d7c34f7f63c186e40811d485e8ca6e5ecab7896e27266dbfaecfd0d7ab982acdda9e5f59ca3eb879252c97a44ae05d459829d4dcb289ebf04e46449eb83619d4b12161700415bb7a3cab911de8e5a67279ff662a8b300f8e4a29d8bce06dda4b8c824405b62052e12c2d8e549f1cd3725ea555c6642e8d240f00d6b3daf1f20d35711dfb4cb7ca347625ab1be6abb4729f5ad8b4b472472d32f675b7c05d0e75fb0d76f342db4da453b2886e22b3d7252189afae45e5c62407aaa3074e2b9f214d263fea74cb395321f9a8649c913972ee2c0b964467e6d7e661deb106b0f00eaf9c0d3b29a15f4f95d8f72722d89670f60edba8ac2a970b00e48875e89ae515939932baef82bc55dc39187405f1cc327f3be324c9c2b7db8d8bd46037d8f61176e3f0e4e66f734f49b9826eb7c503721a4864d6cbb528c49957b7a6fb4e8932749fb98e560b4c3fdb9cf48acc13a372eca00dd7c437c1d2e7da9918fb8176c05f3183b55479d92a7699864444a1412f53aebc269209d606e5cbecc6257ff5b732e10b4f2210657d0c93f3d6b5e0de72a12171499605e09e4bd48db1c2f0f5ce162d0cb0a6eb2cac03afe7d655bb15726d9fb5298216560c5193136b65d2f7c3e4791ea4823dba8942ee303331dcc66fc9c022c01eedb2f2ed55da049498a85871ac6d49592e32cd6e07e1b8193e64595407e4afb2dc630208de47cf0fe5a3ed7ad2c86ca5c2d5c8acfdde2255cdc6728841005ccbc0847574b6a5b3d8bcff9e2564923509b785485b09322812aeff27e8dda906dac2acb993fdec48dccf569e0ac76384d243144eaf3ce03b71453a72165a9b71751a2fb7afe079845c91dfd5d7dcff2717534e256d552508844e8f72bf6b327319dd6888883ad74f1721afb39edbca24df4533b8d61d0f82a73e0372dc81b03cd97bb66371fb754ffcc1ace1745645c119b0ddea53348d7c66a3dc449f91317dc60ee2eea9cf3e7cae970e20fd939e4bf0677ba19c60fed6b276a772461bf883ffa7a3e768b514235bee9b12941bcea60bc641bb208a56a898122b0aa10cd696b90a841fdd8cbe4a594b839c9580926c45195ca03d59f1e11f725b0718e2d425ccbd381c0ff5c0838d2ef48d1ed577aad9b64ca381e40ded30eb7d72a086ed836ea9e75a3a601d28b590772f24896839849c1f92d7f2df0ff89eec3c45cf2fab4d08acc4d690e2489c5b0faf4b91765ac3d5dbf0438a608caf6676587b2d65fe0b82718bba24f4b2e8323193a8ca223a91bc72a57457bb18a5077972de33480063510c073b9bad3616e8d84ab66503bb002335ed2d3580802e51a172c1ed4e7800576fae0b8cf1d1c6bd35e84d6860b91f5eadec10380223e586b5724f17981f6e25db3bdd10220aa420403b5b7e0b055d7f3dea2eef6919fc8a2172d1eb9f6a28ccbd932fb746680b196d392614f4abb0c42cd39b3e630c2a67914f05036cabd365009cb63e50ef0b0930d1ac7bdcb6b766e59e6895442eeeef7672a678375dd1206674eb0f668865b4223f25c6d836cf0a2e0317f0629bce4b6a08ca64b78f57f7625006548d538d13d9b1b22eb8eff9cb4b06534bd21734f833722651b36f795e0050aaae8abeb5908c73509ae3cc47f5e24e621f63823bf9827222231b10d3dc1713c80a3288cc486128783f5de0a21106638383de4508ee90728589310df9467e0c3f929c5b965753e4f1301c892c2ac5e9a9bc171989d2f072919148ffb8c06c0ca8595d58c8a3603f98feaa721b339df0f760c656d380287269b84c0b45467dd9836254524e4f4a42c21ae83d3ae6e6f1c1c37988046d9b72b2e8740a3aff59e9ae35fde4cdb113386cdd9dd87fea09a0874208bf914f647262b3cfbdb41da89ab475843b2626919d58b67c50f4cc91edcbc589844cb7d87291336ced55cdefc305155c86a1ae19aa167ade6c3a0cd8defc741111e3a7a5720b248e29d3c2faf8b3e9399136c584b4942d5902a08fd050d59ef9fad8908948575618cf7e18f79f3771d5129eba015656ee842583a57b07a01d82569f6441235ddba5e30457c51c48177ab85549a34d4c1f80e57bcb8f517b07795b100cda57e78254ba749f1940d60baa65ac4e978cbc0c8d4cf43792721e62d7c51bc34c7243d780c66b2310fb641305bc45302906e9b4069f5f92fba08db8d73e18d43e396f3ca0ccf4ee675653f37642586f90a6d4768dd25cc16f2488279c80a540ce420bb71f07642d071ea2437a42864c39303d0e99e3bf911c6c8918a456e4f7ec2668359792a978f3e8342146df281360984de1fa59fa9b2b3745cf31a4b64d43346a69beb363f9cfe90a6440c47031085f0cc86f1868dab5f7e4b2e965df66b372a7db464878ce9d69b52db161f16068e847646fed60d8ebd02d78e20d304402669a6cf69fcdb6bdf1e068785c5408f2471a2a16d3d06c00c5cdb8ea7ce0df5d72543fbbe9b6b88e30c1c26070a84d9483962e71085167299da89641cedbf524725943383f3d808e5eb5f17f22a5c06b8d66a88ca4c9b62457221d4798f86dc66c6abab601b687bdef4ed086f22e59d848afbc46bca1a9900e798b3ee9e8600a020bfabb4c36a57fc936dedfec590ee659ca0deea0c22810323c46185a14fbda689ef28c15bdbfd1424fbb4c720fc47d8dfbf1f8ee3895715e50574a51680ddf72e525b618ad710552442d8609793e664d9ffc40ed699403e0e111724f717b5c5ee908959ac1fcbbeaf6b46642ae17230798539391fdc273c849b33afbbeccd947d02f7fddd770884cb9707aeffe30904847d36b0d4527a38a07226aef25234872219c1a0e7923fc7df8232592a65fde53263963b894646e4356471acb08eb6272f11d932f0502ffdba530916d8bd38b191d254e114d14e6c46ce1faf27a1ce6721ea3bbd325c276fe0fdaa78c883f13a392b6df5c7c3e7c79d61253e4297be6729fc76a7333b57d5554fa90d820f9de176512ec108d079da1af5241493abe30377a627a30309a9e76ce1ad80a26c1f1de43a5de5ae59cc10b42864857091e5940de3ad18f43b60ec4618414407ff191cb29e43bad3b66766bf48f9e44bd6db8620d9a92a7c2a0dd0a00eb76c293a4c305c6cc24ebb9e3417e6d3f8d8e89c4ed72da32367773b36e19d91bb109dae8479b78c619e65f9c2a51261987b92cc01b7202fee40e8f1d2e42ddb9383c0e46ed992c4207d538ca75264b119a28812071725c7ca73dc5f50616e6962828aa6eddb167c20b2e22de6ef2066a7fd0e52c4872a2b41c8de0e3188dcd6914f48ea796ce165abb5984cde6b18343eda680e44f54b2c1e657712a4ec5056b4a313c9cc6c2aabeda5993b642bab687a1bf720da4507726afe70efef929fd9439496b417e1d78a8b8ebf0e6016f4fbbef97f7dcbd72dd16f7d75d17b3a76919daeaf8168760934235747fc3f4a5c099c0b605e7dc72a307cc9aac8f5fdad390dcfeb9d042d812b31805a4cc46e3dcc67a2dae8bc21f3c80d298304b9be4f527201cf0d355f72e02e27c579d0d555d3e6ad02823bd6170c3fb257e9ab1b3779f465bf6d2d8595a6a46f84830fed23256aedcd043fb72295fc6bc8755eb87662f52941cc0c8ae25028987e6e20e8cde0ab43ab95271729590002ba5a877313dd9515cdbda87448c1939cba57dc5a34820803ed8f9b172430e9e69bc84bf33d20060858e1c8b272767666b428d17a7c376d87a43712672144931bd0859d509198642a01b4a0b24d47d8b3c9c94544f77441450e950080c7e9f280c33a771496ad3dc1bc61a2c6889b4d1b6d8569db0c4546e9c4a8d6c7237dbda8fa5c9aecb890761aa55afc1b4bdaa87bd5c98dc36431f27ad65901759457c0529b83a000d5350b5edf531b4320e4b1eed81d81cbbe0e9f20b6c2bff666c341ea5b1c24e92978b91f6bab4a2765857b5c5894669f8e9bf4e2217e99b4e339f54532358f075f67fb9da9708a1bbc2438490d4197bef40317c9dc1e0c71af4477dae5c4fe83005cdf0006d666a2dba5da3c9644efde612b72d1cde06f24993742f6fc451880f705fc976f52e1ec76ee6f2301ea5a43d956280ca8f69c67217839b7cfc33646678ec144d6c5b41fcff4385040cc1cd488232971aff9109722e440bb4cc58d1230e013b5ada56d6a322cfb2c77499622bb3593289c43cc13d26fbdb2a15e87a3887c338df18922038daa7be0a5f9bdd68b71b2250386f9f72cd9e5593722e594d9476c9ddefd1fbb7049a525d702752663518b1df9b766d72cde6f99fa2e2840b89033889d609c27a6e7c2fceaffc68d0b83df2ccf0e63700723c81bac190d12e08044df91f51462426164be06884edd3c2333a029b30ab72adb4e083eedaa9acb3932fffddc04e6b9731482bf397144aa63bd325f08fad720726014e8c637ef76b06e8237730f0d22491addabe7c508d95228c94a59782726662e14833a91bbb6e65aaa269db43b4e4a80609ffb6090343b2eb575421ae0c0b00deda57b8c689ba81e06e78b9558ef6e4fc2a790d9d8cdd860086a023257251f0599acfbc3f2a000e892991a99f5d568e5077cb8fb50ab309da3c0345fc5ddb0cc335eceff7f100ba7e696070b023663ac3ebce0e9365ef963b99005419721ff93fcb8f422743fc508f955780ca7eb98857c478f14f2d0605333f98685943677145b9e12e6d9200198d847a41b59050b9a7e346491d4237e5de07580a8d7273ebe5a9634b21cf032b794e5109feb9d918a60d5cbbac54ded79d303c09896c148a9bfe9a9d502c844e44027d1dcbb854435971ae2d552087cd194c2256e072f977e2906714d5318d2a04c4f6d93ddcc62dd191147edc297a00d6d6fd0f117246373ebb2510bc68595e1682f20c8f0739e093dc1d908099349c6b6c826b51314a5d147ba909f0c5c586758c795795c1066481e69c7fea52b627f639465eec3cde3bd62ac7655697d49fa8b1b7d8c554d35df295ca67bf7e981016656c456f7218fd77c0d44c8afc5785a224a870e0ff63a13f12e1cc31446d3f20c755d450722a5d3a813358467dba6d17f9b25f4b99d162a32cbaa1309b0f999bf8d9b79d4871c3805d2768d7bca6183eb6eafa614934b736252f47013162e52147c851496749fcad285c82bbe26c0e87677f9c6a1bad0e560dffa83dac9c6b7c41b18ea772233d85d5172ad99aed8dec51da63519deccfdfb20869e11e5ac3fa3c902af6721e10cfa80abdd12c15081cbfc7efd6e3a5744327603060bac7267c3eb7b3a272b6ef1b87ac0c0ba3a21e866ac76eadc25d1c88ff6e23a054ae10f4b0d790267207fe171ad07c0ea92b84da0c1fdca014d73e4db8c425d22650b1e7ff124798725d5c82d39087dde22e5a52e2238a73a4db81a93db783afd29d688abade90ce7200c705be88f1e183c271bc3c6ffa7d25d55b3fbe3940b9d4619a60bf235231512a89e45cefc167e4b0feaa1e07a2541b21851d35cf4d484f4170602093190a1637e6796e4a528e1b36505fc44e535267cbd3e22da64fcc98da1534a15a9e76600f6f32e64c92d06a5ff95327b60ebfe49a48c7dc13cd51a757196581bbafa97255f3eba319948c22054dea99b994b8ef513ecb8ac3ffe080f1420eac639f2d1c0b04ebe6cea1656d64d81bd463430803ed54efa51cae566c912e7bb4fd19d61bde25eab7aa545a449f0bced53d01e2aef0d06ed0d3cd350b725ef402adbfe7726067e4d5edfc0180968499f7b3f1afdddfdec5790c4886167fcd33ce35fe7b722d30827f16c1b5ff677b2dbd07acd6bdc94fa2886c808bd8af4263e8192e9f28978e414cacf0e51ed4a0c18ce6f5dba54e4e634aca36c08cbd3cbbf062c79172ab167a0fe515cb7b53affc805a7efc01ef12dec02bfc0091770d8cbe9e579072696c2b5f48c3f23bf21784c4e590d104ab315e6bede11df8e49e4f3744d29572a17b44016135cc380e67d557aad3669f8b8ffccaabf21b5039afbf1ed4e0cb72a95a4a436f6d42b08e8c742d0d0800f0f1e576b0b3d79e67626f604a6a608f10921a691daa881b60c41665ca48f8b25527c700c84bed83ffe16bcf6e0ecaeb72b4068f87c9b4bc779dca27bca345b7b145303396d29646f98e4b3733393041721738554f4fa47c2a2bbbc223f404e5d3c802f2be093613f86b1116c25e0943723ed7542e434a892518a86d001263c240c6acde20c22af3f4349b3cab6a70c65a3896e1871d636a5e4328a682e74e00d9970711f314c67b00a39d2fa13102eb727b0e85b70ad71d91c26cfccef12a5180db1840d923adaffda9b3ac6c12bb9472b635f17b09e36c544d3c80d7941a6dd3a42254c44d6f446fc770341b0b1bea6ca51613c4c10c8e5d84400d2704a24cce1bdcf864ba7efc54249de38efc26b072fc2cab84fb69c12ac80d111dec0b7e5c9fdcd37ffad749c4831556f7702f0972458cf74ccf60b1890db3e063a2e934561cb30ddffcfdd61f7b862e6e0445bf72c370ce6a22f1d2131bd6a9c41525d2cd2677bc71d5377159e25976bfa3f7b872015cf2f51599dfa688f20ab4570fd098ffbec8b40de04bc1bedf31cf4524c77225c9907ee7f7edc627985e08f0d84ed6da63062efacf8007878fa5d2c67aa506464d2f2c8851203fc9c2a21ded77251c58b790a99d0cc056d2bb237ea5ecdc7299163fce82a0198406ba0ef907702f618861db329175f0f03244d4018414a17265c4ff50c7cfd6e8199bbfe4c80856066c9a26500893401854b90a7a3c1c0c63b13303a9da06a1ef572d77503840ccf1b512f2bc06e0646dd20546771d01dd32a957b2635309ec69f77e015675a4b4f8355caba7c8a755da0444fac0a572c86b7b77004aaa8f908e8ab4a082ccbc79423bba7727fa5d64e78452adc3f52e3965025b1a851b6cfc05484914c52acdcbeb7beb2d54967bbde5a5377f4dcfc2ed5d216835741cea628779e47ee53644cbca6e346b9962f6307a81fc9d04b742cf14aae7a98b9db04bf1ac7bf1d18030b6cb4abb5f932908bf8c3adfbe669ba204727c72dc6d0f7776684f5af17c3240a0448e39132205d649469c9ad104f786fd72967a8d29c4cb3b7aed2abe58be5a6a9f3270c1f18f4892442fb28ed1568ecf4c9381672ce011489307b9b6cf90a156d1b4421134a24bbf05dc7e3f44bd5b5672c333f3f4354bc09f59d2c4a2b14fee5e2bb8d5e74e3224b5e64e0240dc67f97294d1f5e278544084d22f8750d481065adb963e2102db938953ff6aa5d21cdf6f8d20d62de155babc0667466f69dad96de6938ea105ce87924afaf34adc718a7202879f9628d4a14ee0fdb0a66870a742577b850a94d87cababe948d88a324272d237ca3f610d753941176a73bff00a3f5d985e53838561c913a0d06b34d0943d4e815b6b1b2c881eb31aa2d04ceb7beec52621762f2f599049ebf3a5c28c9801d0b6a1d5d3da24e0c49d02f8c69819e1a10c2c1f9338ac96db4723782d51707248770aed811709ca04e2b6697447f11661349469e400266e5d2a3c610df78672de31782a721fc53ff6dcb6c441b4046b9bf7fa4872331ba8c51351384b990532d652864a03a03bd9aea02668005e50de3ce4a9d5b0af05afb75bf1a9c138977209ad583de1cddd329f0d97ef2ce5b0d5d19d7fe50e66186438cee583d209a972383f69b3ab102a6025a561c36c0cdadd6aa1a226fc87270acec45531ee5beb722e834d0d86e00e5b9e2738cf4bf5b254db2f6a306b5706786978e115cacbbd179b01857c3f95cc3a72705c4651180e072c03f74621b52c64ed16fce750ce9a7205e5fd39548746397cfe0fefe5283333ef8a8c00c1b319af82854362e5414d6759851b52906e037400875852225f7b7ab7ac2ff224cbac4ca0a45ade79f5ee72c5c5787964f0eb9adce096d976426849c3491a0bf78892d907f46b1c973d1e72a8cb360d83507906650e9479fa00947365471cba057009c4fb1f5073dccfd2723667caf4c7d9d7b2631e13faccc884289a69744206e5ba04e500feaed17a15728f6144f84a580eb4fcd29731804809a5d28a7314845a8b45c3be072a4408b827d6dc9dc9eae5b29519050196c22c0bf9326b2c08b08e8af43fd609ac08ab975214c432ef0567b41f8519baa8cc233086aeccf3ca90937f98a3543bcae248595c18488531121ad8e837bf41f7f66659f7b66e2925cf3c1626e617278c46129872743393fcf24c9dbc70e49ea99b1b4722c2576ba873f44ee461e597272c21f6720c6d062cb7194e6ac78f6ee4d7e2bfabcefa8ade60f84a8e62d1458e96dc6c72542dff7a2de07e2d68e351983a80747829fcc754f9c41a789f71576003244d727d1dd83064e01c31b6a98b958a7f3012a28cdb8066522d4d055f329237b55b72b9b9fb8a14b3a3d7a0458b0c00f4e0d8a94aaff0761e557ca9719b5910962672377181311796f6d53e2b45f402f6f3f28a8f785d21edf248544fd8e5f0cf2349f0f5d2102513e5cf3d33646eb4c2f1ba5b1f433af2f4bea4358e804e9660be72fb20c64746c17f691924db7cb98a3dde6b729225480c86b60536fef86bd53e4b179e7b8ec086d51ff82066e0e0fa9223bf6f98433b2ed0eb651e1d846af78f30d5de6f99483872935993b677cb25fd5244245a90b4d1e62a95cf103dfece95729fdd473e3656329a7ab4a7b9eeb8c4e304ebbe4036c97a58977ceb6ce8f16b725a7b55940b2d210c7bd7df30a5cdd09cb5f23d0b39acf28bc57671e14d532f72a83b131c67004b0a0630668fce45741da9fa22d9c642d2d40b3a9581b481a630a075020f7991368661df03c1775cfd78b72061681385f67f235658bf4f3842706238ebc6506ba8381b63abd8b82a79bd3a5d37adf3e116348735c10d93b796724239a7163f3447be060542686f79603030e4e1599beacc6559b47c4aceaa5f243b597f0c478b465ac746817ea980d503f3d9dc1d703314f4e96757594ed0f27224cf1185389f20cbdc5edce41679570748a22796455bb1f89036b4b184f94368988c34f6890b093db4561c3c79c516a374767aa6b127747610a62849afb648724518cfd6827c29f899e734a21905e7e885e77b1b3c7cb29c72c847b1fe5bee72a66ad0ef756d507e2429625167f885921fbc35e7fa7c6913e66c89e997cb69728e15fe1091d41b270cd54edb7c57da0e609055784b324343b3d7e679e76731178c23c14bc611e1c8f14dad1b017204ccbbd4202f516066ff34dc6a128b859372dc6a26d533ba8ad4126cb3f2cd6ed502c1c522b4d2ad888411b91d8a91303372934b16268927ac60d174a628f41d449970cc2fbebf208337c91ecf23691c57723685b1658a1181d056a679e7b9b14ed602c6cd57ae9ce366dc2ab3a9c178ac7289c9b7264b4b18418931ee0ceddd5ffc3c74d196cdae255f1c704cf27c6f867272614ead01fe66bca47046a858febd61e31f7ca92a9d57ba8d32a7a0a48b1172aa4206e7c705eb9e5dc1266b0fd36d55120c7db851b75f6a75850748102a04450314d012b9644727fd5cc07da2478e51f046bf6a1526cb79bfd0ac49aeb75e72de4c525ae6dda8d835e70a620afb5c303d544afbbc136d0e56b1ed9374fb414f8580bdb07e1237da10647415aa9781e705a9ef88a65dee2d72c4762f399b672f0e21cbcfb0b06533ab6f134328cab8515481ae6a43d2f620d74a2c8c23142634f83be715ccc9fe9f62af2e89ec704338ce6062df159f77f9d72d256868c14c72397eb91f6f5a01d51bbe895a925d4244882358f95edcb3e84858874a1dd45e72c1eadb8b99abecc897428408f11a1e96e25a2268b30ddbe0be6af09fb4710c72ef58b1bfe1b55bc3938796c2ffec93edb8f9c96fe22337bababe656b64e75172aaf2f9ebdf12d59f509bbd035a9b628613371002cc1c63c66077122632b3bd39a50fa4050b89fc4308d5cea7d2fbd9e562fcd48b63cec865289f3f3ea31b7772837c59cf65d67cd75b6d1066f8197e21e0ec30e565fb8007bc96c6ffdc9e90725cb94a649f97ad4d1f0802bdff9720ee2e4534a99288739d2b9fb9198bb01148c59794308885f260843a5fe3dce3e452c066c022b09e550f32fb98bf7dff29053834eada0b343fab1b28ef9178850c28db08748a76d6007a37808cd96d7ca149e556fdd4607b3f6dc5b5d809435f2b56982e4c31f9004ae99a2680937f217172b814954dd1bbadfdb24c7b07dac3d78da5b3a89a47029a1fba209642b48bbc695b7a9852f091323f7b4abc9352b24b8b892c40ffc8e1396b6b4c008c7fd19b232f9fb2ed6930b2d837e950f254b17df810ae9f6bd1b5794b6b02893eae9f5f5d42e729fe77cafdea99b59ca998d45552e67b227967562713842e535f32c5c37233c956b5aa40c300a97ce030a379e6b477463553b07527c3cbf9825d5944a372849d7711950cae06ac1a995959668e8c12b762a9766910d66244c7f292659d514b00fe5bac906bfa2592492f98b73ef49b9b2515a4fc2b5fc1b405b724a1e172e4831fe90fa10a35c972c8a8df887771767dc7751ce8b36b81b24e784fe8481d4caa3c94a49ccc1478836721a0074880dd016fc534bee068eb9496737e329772007e99fc5623df716fddd7d7545f09d8d3dc39c91afff86121bd00f07903ea482f8568448b4c461ab924a47a45caca96cc74e173a4e3f207252726e36aca605f442e14a8639a2ecaa6a6cb56ccfb0bd90f294808222b6aaf5555c71d0e034b2f6451aea5d83d6b3953f1b4040daecdb3baa68b8f8b46510b0e78d0afde42621fe9269849df6ed345316fdee0917ebb21403acf5b9e7bd7caa6e65a93a58dd7722470dc856e831ee1ef6e5a23753679dc4f59c317f7c6938e263b7b8a9446bf7211f6c89b78bcd7663e891014cdfa2457fd57967c975f30adf3130f7ddf6ca22e4c34449e23ed3c8f5ea3d233e9f88f5a3c64dbe65d0788f331a1b5f6a83f6d40b4adeafaaa95aae79d79354d83ba50ec22e183dc99ab258f96a453f7c32f19680dd9e364f31444b584f602341cae6f0ebcd002e3a1d07790f10e1e6fcf399672aafbcbbbfe8471b9b7ee733f9ba3f21234b9e0529545e87c38abcc8620c6cf726031168fc57fe4e56a8aa9706fac86745e80aaf9f39c7eefa64dd3c917702839c137588a4d1bec2cfeb84e10eb54309773d57ff73735dfdf583f31a7aae9ea72ad5e1f9592ecdd970b0c87305726c82f4c43e6b7f5a08202de11cfc08f57ce2d688d77695826977d58eccf6b3dadd2f8d0f7401fdb8f155be0926ab273b09f12c74a6d771823099fdcfef1b6a483355cb4bb16f9ab81a605e8c82c65a3e8c77290f67ca59264395bd5c2b629a0d3d5777fb7d2540c645d8fd229f3d672a97d7251335f47dad1f3a48a216dc3d3542d369730330d571c5d8cd8f07d8ec06c52724a0bb3605fc353bab155b99613c123cf489c3c7e77368de681f62e34f9b495644ef3242dcf1a1669e5dfcef51dce52ca4f30093d37a1f154d747ad4eb2f69972292eb82405a9ba7c94c45452e17bc80ca2bd8a8f2a777b5ab6e50ed3b20b6c72e2d491e826598a81b1f67853b6a6f703e6d5d3a54440205e321740b99529e3721084324e671f6a6b4b990e15373c55c52c68621634c9c3750940f693ea48e138f730d5a47b2582313a0752906de35c7843e8c3cf9aad72c4f031fc62bf6caf722856f276e1ed51447aabbda0a8f1ee673c7a5a9d9da26009e0d53862b55d23725771d00cfccb12acd1f772bdf165f02025dd8e39787588a96a3df5842f09ef6ee1c3f3b59aebc57daacc76296d9e8823dad2eb12bef541d76a7f3a8f16a84a1f51b389b35df514d4491090737d64c51f3091e724dec7f19ba17a327d91fea972dbb564ea7614b1c7ee8cf2dbf436595630c6c1dab84fff5d195175e0ecd2ae54882eb2ff81846b279c840994b0501f0c6ea9608ea2bdd7e42ce15e10db07977257c23c3f750b89da9bf878f87776d6aff14f91ac4d45c9f371922aa4e4167572ed4b982c0fc837c472bb9209fc6ebfde168a6fbe16acfa9fc51f05da6e7dc0680ed5e85f51de2f1275d8ef3390931a3e2badd2e20eb490b8535bb03bd5aeb34043fca7b6700b833d1e8c07c799bd0893925ffb3771c78e4f56ccbfbaa8e26f72bdab2592bd0272d7c8368e618f933cf19f461274124a01ead9dcfc692db37b051aaa264bd493b38308a70ffb8d8a2da5b337e010411046fbced2240c3d14567232d06bb723c522a65e59659918a384a439e9d076ec214aeabaa5d01dca2e0a727d57a9fe953050c20d9b2cbe94a784ef356f3c178e0cf730043c5d6818aa1222043aca51e659d62cdb93fbca5e9e7174c0b44fe2770f80a638a76173eef799729838788ffedac1831554cb06566eebb4e5eea0fdfd98e9c333a2e05e6e7243531bfa7e8e3d4250c057a9c011a54d38e4e19efd1a923d885665087ddb9285fe723ea28bb5854f9394a6c66e5c94d816476972b494c9b2a4ca2a8230ffad2cda01ea1a04c947adda4d1cb5ce8d518be89f4688eec3367261f1ab0f41a31c56de11a56cf07bed5f9d89c3db68eb093ca7f3c61986c32f65cfb1ace0553e718012722a86f5496b9674e85f91064d91ee55fb813dbee06dadce2bd471a624d3bcde44e5d5f0bef7a52aaec257a24053e61c8b69af8570d7d208e37ec09ded500c5015cfe5fa492458cfc1e180ee2c2bb9eec62daab78fd0fefa84569e76b6c6a28372db81885f5cba2f2048953a3d14168ee8b45b7fc4112119fbf19dfcbf57223f722e3ad64fe85f195ff1eea1844478c99b44fe9dcfe0b001aff48e731077a7d8708fe6261e2fe91012656561d9b27810a7ca55d232eb883d717fad034c83c6822c6c4523c525f8510b659f679accac938eda8de9eb7cdfb8a0903d12fb3e206272bb1448d5a39fd9551c43135e1c2fdaade5a37a1420c2d778eec1df897d081a727acf4febc0180acb547a843ebb1a6349f7f28c1e615865523e98e258120e505fa81842317ba1494b34cb8925b0888f317d9d54b958382dcae45b742d95404f547d9a0df65d8e8505bf7da57725e93fe866e75035d7e5528135b1ff3a0e884b721146e21de8f720aa54e9881ed4a16e6dfe79be813af37efb2f2dac314a36487269661464252313e2cc24ad088754823a72c3a12334a0b45f4ed18862388a7972d914ecc62dc8f7d8277605f1099e30dc303a3459093bab4ebd28fd9965c86d7239c94a14c64d7419b7ec6790814e53cc4bc061671640be5e88192d13ce486b6c180a13471808cf179d13fa34e1260be5b90dc8579283773139a0194b2bbdb215eb091b8a07f3d206ff3b43bf2e7a8ee79fbd12550d51d8c8c6d12bf5b2165a1bcb5e9b4548c0952b4da140b7caea8afddcf6aa3676e82e27c66e3cbe2999137297d37c03740de8775c9347ebb6f1fc669b4158e2a197375dc9fb9ba94693d2491a74218a977e8a93fd817d6d6b435e118bcba7fb9e8af3a380e24cd629a3ed35c2330f6379dd8f15ff8605f7cf4e23ebead06248b851896affd3399ec6ea3d72ef3b67d9483c8646889edd8779803d14848d630850d0f68588ceb28465ed8e5cfc59ef2bb06833e44136b0bd8d600474346c75a73823f6511f6838515c55c9633b5897d19cb31bcb215d53d38fa8bdc2d32873ace6aff86a5c9098618970d4082217768046f8ec9dee2033db1f07b860c6557dc282e61a68898b093c9b891d72c24b062ff238da33ac0f3ec9432b4439895374235db339206b642b6e48069937e957d192f14fe929660c5f39b57843795a4b2ab9eb86bb46844287c8ee343872ddb324bb86a79bce165706d196d22cdefa867a84edc97bd60faccaadbfa4946f8571cc6839e1377109320c5206d2c3677351874fa97eec8261801ff24be7b735948e1f22ae0d0021932eb38f02357007fbd0e00d56a323fce523d547dd7ac272f39fea1df2727f5a6b7226f0f76b20501e43a3b17d39a187cbb39ae64b194247b45acdb15433b8306c92089e5cbe412336488a9bdccf25a7da91176798c63672eed341d6ca4e65041fef623702244d6c5e396e075db431d29602d23677d19a5c3ec3965fcefeba091f271eb5582efc5f1352f00486f3675c3b8503372202242d0e4a4fcb962e960d83f18d10b131933e98f163063cd71fc1edc843e718fcec723c9be6aced8d9276cef79c8a2e95cb79c349a5c526957fd6a941fc391d6d9872b65eca3e4bef18231c998acc62ebaf094e9b2dbdbe76678a68127e73ae24e572ddde623fc12b66d6bc7f10a7edfd122663bccc2b57a6a48ddc917a0bf31afd352c35b9d6d42b1336cbc7a36a212858025154a88edf89bbb26b5a80b7aeb3001b976724878ab1023e5d7fb829203707c5295d658174ce00d8be9cba9c01a5f67272493addc955cc3e105e9978c0b294a1c823d95a52295ca2cc83a085835f271861cb6a8e153112fc8f17bdf6d2b29a21cce3aed07fd56c0d47adc3335877830302bddbbee43d7e25829f9817808301bf70d7f2f3e155cfb247ac0478dcec5b725e446d4b9a0abb567cb60e7030ddd933ac80b3d6fb10c5657530505b9b2744728d728b583ce7cafedf7a4e6a1eb11282ef2d00df556dcbefd5ad299d7b87103ad85ae893205b41a68a7ad6f37ebbd38f3769da3a7c7bf21dd887788c83b86a721daf0798cdfedbbbbb19e40a729bf5e5ebc1d790ff68c326a19f7ac4e45b36720264c22c17764ee03708061ad4b142c6fa0f0270e72f6afd2e3d1eaa62774a008fbc9ae0719e2bde40b2fc251c11b39d961a9e2c592258d0dd3eabd20da3bc3d13a02c77544675e06c9256f5916815448e91fe5deea18f70144fc6e30664535b65eadd57cdd43a6e1621bdeaf8a9b89b3a2a78f85f68fc4cb2ce099dde2de05d9eff090f0e5d6950222f3e1d02a85ed082f371cbb9ad5188a4296255420fb9505b30b66ecc2e765da3253905a04d1138440bce9ee4eaf0fc31f686589328a32b13073b2e4186e0aefe13dbd606fd1bb0e58dcad637624001c127065829174645a420c4221c27731f3228d6138d94f88cac5e6d6bb8a13020b123ae97cd5b5f4e9a20c2caceb159b54e7cd821d2a65d1a45278376ade5d90e60469c9417e76c72f3e0e3722c50b61b6a4df29a3c8aecf2fb13cfc56471c1bd9bfb4a9a9207a468e1110960257251c2146c39b85a282b459fc83516181b1e65a37c18d12445ad66f051f84c05d751a76749542aa3971b18028aa2fe435a9049fa911124e36ba107539ad21e7c08d861295c338bd8b2955f455f24079fb5a4a4acdfde990d201f4e5b64ef00a52a65c029e40e3397adc851b12963e3e8e5051115c22475dd5854725a25d0dc63d39a9277c03edd3c05996425b99c90ab915e336da596ff93a0cf390d22b5cb7ad7de688c83ce59e96af3f1ebe6571134e1bf6cc51c9423c0999b7279cede5719c5854cada50ba4559bf1cd1f0f4d13935d35cd23a60a36ed74ba33a7cdfe9c7413e337bb51808360bb771092ca381b8638c15fe3c8e1271586117274df59525a9acb699a99c6955354b87620e5e3603b6fb4dc3eb189496f2d2372c197b96aa35906af63afc6cf2939f20cebff7991026494fe04d59828a1e1fe72f079d5cf385997f937d791355e86fc69e103d099118a4eb38fa4e3232c75cf4d864c9e361fcd8376360df24f0b2e8020b00973a19a2c99a2c221e3e96cd39572f2aa913a5c039e0216038fed3221b5f10fe1652350039a676709781b05d8a42c0e70bff471630fc9825a5ac725a33f81a3bcb2e1fb9c77b5891e1676b102f3336e4b0d80f2a95815334a2fe7abda93ac26a5e32883c7372ecb45c788ee2605720b93e8891f3e018244e77891c326e339c5f4edea5b66cbb0fe141277d3b08f2f689f7f4faf8be68dbebb60526bfb132055f6e765c74005edbf49e6f39cc3790e06c6de5711369c4e85cf407ab68002cdf0ad48bef7cea323f73a31ed14c5db72cbb68ed65259d206fcefe9a1342b5a522d8116ffc3f895a068629e5865a0a9721097cea2cee51786c88aa89fb3c17f82bde8b6b596549c25dfd38cd71c8a3e72ae2d2608ed70a6ec42c1a17fe4691f6e773ae502e7ee38feafe4f13b40d5ac50ca0af067143566a211ba5a7968de1fd59f5902d4d613b604e6b1827498f07558e38b4c845b6ac549f8ff6fdd21b1a7ca2a06474cd658e72d199189b9d8f4bf6245e373c05add80d37ccac001e7cd2173ab79dc625f0bb669d8d7b4e38358bb6421ace6679e479472bac4745db20250ca45297409aa3ebc503eba6bbaa16b64232be9c0015bf6365dad1b9e8cd7141c00207bb7cf6acea66fed9075d9818ec5729fee8d446f671f99b009a917cb527edb3de2f989217a2d6ce246ff09d290391d2eaf2287ede7ace28714bd5ede594c3c82d798d8488e606129247dc9d27e6401882648db79f66dec39843091e50c0d9811d1caa32010fbdc1e5506d14a2aa74f6b58365299dee4d95830e4301599c5530e5fc84e1c8765a68bf9c301353c06617c785bd4abea553b1b37a04862365c98ada880fbe72ec51d47a72de378dfa772920528961df16314f4f80201d3dd8269e9185337c1fb6a1c6dd30bc477734872a3f866cd62449e67f12876b21ae53eab4cbc11faafcf247b9ad42540dfe49e72f3d849ba7400e70eda23dd7bd43cf80d3d636f6b8505cccd611a5041c643297217d6c8d582b99a040286dcc159d1eb5962c691a5a0ebfa86d5703c242fa06472d27959c8c5bccbb0604d7a168cdc5a915183344ccd63b76da91438c7477888726f1eb981efb8c9f722525a06f7d9d29584bba7f476c16f9d50febd7cec826c3f59f742095ebbffa54cdaf7bcddded4475f2fd7f0e7cb28e12f50d6c9d2e3690fde79c6813cfdb56e0a0f4aa9e286fde0a9d299b36f41b0b1e463f4747d3d7072254eefe507207aa73fb47169445fbee5593034ae37618f8ecf66918268409e441dbb794df56ac5a5cb3b0b296812210010f444c972ef38741f5499bc4c245b72d6ccbe28c8dffb2d52016f534ac082926510121050964e28ec1b0fa2a0f5c1728faf701d309d8fd15632717231e499171e3485246633ed7ee9164ccd73401172c525078966d3056501a0bd01e9e241afaa78e409c778e2cf3a6a145410279b72f54b523b36dfce8f6659f33f3c6ef020ea492feafe5fbe4286464c827d5a5f60801fbb5dec766feaf896813e62c80097ae63ec410be2ba2ede17790794beb57212fcf7157ceee1a4f8424f4490d5df023ed9944d3249e62d949a006a40b60a14ff0fcff71cb495f142ebacd2bfade5d8c77cc2259c0af8fc26f656223fb5b060b334b229f798d3154189fe0bc3f1691442f409db67cda78c4c0fa769f4ddf172285d40854e251d83c879ffe90214a15375e652e4af33d221203266c64502b60d1408e448e416b5333be77b3495e96dbc6a395bd93d05e21110359f6f400ece159d63031326bef1be04eaef5524a67712fef9fa86f9f11977daf94f9cfba1ed0a872171922ad74fa8fb758e7582b24f80d3747025c78e09ed5210565dddfc3772a424f00401cc92a5d5222834b8e4cb75989d5e842ef15281ab53136e528a98017f76d3b1caa5d74701e7be3b8b2333ca3c9edb7a7b3a7e4ab6c9392558fcfa4d6d54f0cc1e42795ee7d3dd40d9f1e57704ec4392171f5d134325539f1ec0fa29b952337d2203b6c6467eb27bc5b9aa44b2a6db963d619a09d32ceb84b061a07292fc2aeaa018eaa92e632adbd890c2bbd60dc48be6608d98c2c69840f090d572dbdea852c25c2b58008f5fa9941d566c2a036440e9c7ddd9b04952b75033d75370eedf7603c2b74fd73811150919cf0595a8b9d12c6bf05d0580c9983f8d34092d6285684bbfb4b9a1a20d6aa7ae21ada0e29bb217aa35ad55c4eea74bc268724b1aa0a2a7d8bc4ea68d557f6a6c67af222b023ae3d8071e50b0ad5ae0908e10afb8a4413bd63c1a116c8d1eb995a368892905e5d96eb682aa759308723d6672457f779300f88373632a06b892f88c850e0881fc65894b0874733f8f50446372a2b97594a58057c23fe2120c25bbbc5253223251b4d683ad7dfe236dc692646e1c746b11107f33a5b2ac26466b152ff3400ecbad0e283f7c2c349f68a1689a72f0e9f6a9019b1acd1ca720fb81fbb8088460254257d8e2e702799aaf027da419a00bc47be567bd6c503a0c4aca7e09a5559149824807e9c9daaa4b7671a3267213c4fdacfc27470da9ce9649edc699dac9ad2c2a8de5ee8e16fac39bac2b103607cc7dc01e86417965ac7b48c4118410763ffde2c9529d0f5963e7f3fd08c52db8f9431c4fb491acc219b2069d381bf999fc0292ae42d23437d31dcf0902215ec2e685bc9a58a4b888c1aadde08eae9e6139ada1edb9cf4241d1cdfa40075739357febb716d58657ce5a9e19ed098cd3030c2350d088aa7f4042a54ad04a3a321c42e1a879632776bfedf2e35410d0c7f77bcc27d406b9a216b186ee36d0e072e6ed3dbe22a1cea66756e8afe7f84a8480f177aaa8cd533ea6d26702d4550f65bf2ae9ec5fee34b021231fc9f8a3ec47fd805e9daac96ebfb2b371f07a3562721fb03784d872182259e5c04a0d1978ea37d1868e119cc9ec610829fcb933be72f2953cd1e2070ceebdba4db4e09c006d477396353244537c2a60c9811f38c172df6f0a294463060d19c0cb170a4ab665c9b4f74765412c5eb814fa2095dcea56a8abe936b407d900e20e711fdfa8e05bb26b3ff7ae94ea515a892f0b216a0a72b1bfeea5497ccf29ed289b10f07191ad0558ffbce4a723c5a1059a4835bdca366d0a9ce0d43e6ee8ec5b89b30cf711cbe1651de0822c35e8aa1ed38e3a1f550f04772f7d2ceb211b1d7d5ac4ae12043fde28a3c0f73bc1dd0aa9a23eca5207417197a88a68e44b6f06a8c831147b95c64b849f377b7cd3ab4866d430f117f3725ff138d386626209191b0e33894d0d25d68d9d95afdfafcf8dc6a15046669d723ed880d13bf299c4a21dfc514bbe44f1f8e4b5b8b95d454e55fe928d98ec2b726bfa57f0adc67af5bbbe97a23b779d3a40b31acd95d29123145953e648897301ba08babbceefefb6fc828d9d4534a8c3b5d52483aa5a7030726383f689233872c5fb66f26aed2d0c874b8f3f71b3804b71670b1e8d7a176637c0bf6a75bcb13b03edf9d85ade8fc332b84d46bbb578c29a433fc7ca9f0f9bc651dc2e82687f725cd1302cdccb8b3ebf999ddcd22fce8b25cca2a70eea27825162dddb0624264302e07688d89a453af3dda5164d920513dc3676c10d3ee9e1c1dd03398039b77207c8695c8471268d2e66ee69225d52ba0262fc1e1efd25dadfb27ce88b8a702f22ba1c2ddb6d935787e97a90e0aff11e96335abdfc5c640474d02af3e497137246a8f2fe2a1e0eece6d38dac1c625821ad23ea68d3f0d19828e66f8516ca397222a535a12c82a39c2b52e7a9fe085194a1062d9fa68f2686780ec7ff74ccdc725d11322b0a6c51d19d32ee47fbce5c45589d604099f82821d8e0f1a341073c7203d2624a2ce3d9695356949f4ea955a0dcdaf916188b7b69184f16aeaf2db972d8b0b997bc02393e1e79e9168e3926304bc02938c96f4f0aa94452710d6c1472828d378a29980aadab75fdb3aa0d0be5a47b62bd38a78e3686aece3555664672e66ff7ab39a698417d623457b2e13165324bcc2e3ee22049c0066505a7f0cc722caedec40bb261f02de1e652bf42dd83132ee76468860f6e6f5e2e7d9d35db5e6639d018aebf4e038a24ed78fd3e97db92da7d22ea51aaba22e51201486d0b72729e1bcbc709e90ee0deb646a29a67cc4bed9d25c51b67b88cb726e0ca78250d2ef312dd438437564d923fe08e2e73616367dfc09edc8fd80d16d3cb2ad500226acba5b98f22737c8eda827f189dc895879bdd61bca34ce1785141e8f2e4a4724a7a2877745d7bc569b8aecd37e1070448ef33cf0ca9a47d5beb22ff7eb0b3641f4ab2637334ca45d0ce3ced3b71763d0c505004a5370d1df2a67a7e76a31572fd0fac676a4e7cfe17f4591e9eb9e3fd4b4d2b5b4d702cac64b793ae4a960d72853de356136a0e31a698ca73a72dbfee52cbd23d6bc5b2ecdd95570a242842722661e62ad1eb16e5aa9f42d8bf928858e204cf2b5beef04a0a1962d9f0df8657957354a9cfd5a3362032889ff0b08c3dba82b2d746df12f93a379d2416642472ead317897c5b487f5d53cbefd9d68f178c925a782f4f702aa39ab536285eaa7279f79ba0db8958dfadcdc9242e0d2af5e6ddf89a029197483706c93df107a472b3f92275b6f0c2d7b3255ce05d88cbb6a958851852e1e18e8f9cd8e13e3ffd163c8188255cb265ad4ffc5131273f2cb504248ea41cabd45c3a9285a1c7ef1a629ce0342f05870cbeb15e61ecfafa05e877cf5ef758e3f1f542d17fb8f21e977230e4a6ad825b0e8c7c088f0a4680831d549f42f16c803407bffacd6ce73636727bcb9357551b74cf7cea38df1eedc560e20a5fd0ad9149805c13e6f5638927720dc994a50900f98a4783e64bdc40aadba75c50226ce5f3488d2369d119af1467e29fba5c68a3dc436df171b6072b5d9ae603b8973bfbbffd048891401c185361c3cb0abedb27b895b652bc00b1a7d3f96a909926f89bb13580267c0e8406f672726963f7ded95c348b6e1f8251f787ed6269b09885566c2f6c4c0430a4a22a72338e8ccd354cab948d0273ba72cef37db1a89f8dc12938d4b8087a02f93f6e2dd622b168069379a9f72d65e6668fab6c2a10916527594c383eb5b1a9e7c14d40f6f90ddee8ea2a5663df1f4f7ddaca1e35d5f553f56a935023997eb30fa21a72982f2113cc4b80495b69ace05eb1e7ce7923d0b191421573fb1ff19a771d7f7285238c324112462e4d7c2c6cc3e6a9367da494c75f17a6f896e62bfa5b9d8b728d7f7a270275a57dd40c83a4adeafb8ad593f21a514438bd5b758e0437e6677200c794f7c96546c2d90623f33022474fab043c8f7b2fe02d3807303dce34766073d0deb0b16ec428b3e40ddeb5fcb1a46a087c08615e76331eb1e960c1187e7278cf395f6c069ef1960f64867d96621d50f6597e6977b542b6cf83e548037c5bda7fafc84d8303024cc5b234ae7f890f0d35384fc108a5ffe0a3080bcecad561c20b309d14054434d85d381f2faabab4dbeb32d9be30edc501e8497b1392814644d707e368854f2becd659290549a0d4440f266f65bd1712d152529e8ee36a725a83969d424ec79dc6fe21f3b5c52d07b93e3b8e1ab346c4ffe094b6b5566b0605010a827b3fc5084317257a0310709fc394d5a5f659ab1971b09453b46b4c72160286f8ac589fc2f2cc0fa6ef195586eca834c2206ed8fc1ef36950e725707220041651b3fa1662ffd2f8f169b77e6d5a2fc8b8dea7f9eeac2f9805b238ca72179080074d301305c0c3e6e89ad479f75df2eda61077b3167a6eb2e045c6e869324b7687ae3c44fd6aa41e14897ac6b5c89b1413e72beacb32933843dbb72e4341e0fb09c770240a092b533a84a7dc6d9e4e663aa6e781d26810e04489a05505e3c45748929426284e08031e0f5730d5375619e13a00d979fac62bdd53265772bb6da5aeb0e74e681be98c928f0610e5567ee5df70dbfacbe9b8245109022a72bbe65866143c28f2c97ff9cac3c8ce7aa430c124f3d6d36e6307bd7b9979a672f064d9b016141b1859541ab2716ff0f4e2c2dfd78ca69815e1b5e70650c2f27298b4f1487ed3ffb9e7c91173af3d120173ec8582f5d27179dfc38b4e0f6eaf72b610e0b31e991207a62602cc64bc3ec8374befaaa44b73e70f6e9e718d033119be28311bde298cbc70bbcf1d0bc712a796d5d8de5ec29d68bbd7181cdd65ef43adb0a5f8ba98a26250b29bf60d859a9d0970f4c60a2763d298ff24e9740b5d26db29afed341ff44c7e3c13e647b2084d4a5eca4fbddb638a53d7125aba8bd272a7d61e5576da9de28e38f1a5db4c41ae49ae1d1e95265977c17ff3b5b23887726b42e32a66931fc88db7b65f4c01fb5c1b826da6cb5b9a275c6ce5f31fd7e436d1619f055f9ebdd83d9b6ede3b876d238d271ab4297f596b18831e67651c6b68971979b3ef1d3d37dd82f35b77b2dd022dd6192261db910b96765459f0ae667218a9a98fad49e08e373bef6003859c4780fd2c0dd753b31810cb9a0b6be2d000b406045f8b682e05b96f3293a3ae38d53ae7e6ce97d2e15ef3f995ddb5529e72a3c5365ea7483107e816f22f012fc30f832cd2a3abd0bc5d121d2cfc8ad5d27241094b6e984bbf2b84a9bb0f2e7c5a3e28dcd2573ae8d98b2771f8e29696297294dc4f20776e5022edf89ed79f309c39e9d6637a11d368ac6b9510e0ccb6731e06f1b0181c62d51da10467fe715145c20e1866986116d00a08b16aabda2e8f120c65d421a639aa9e307e25e05b17e713023934a44dbb92fbdeb1d9161a104f72164674bd6ef3f980e25acb12eabce77b9912b88f96e426b7912b83d02a3716495094b83dace59e6a1cec555132c123980dcbb1efbef58ea2f5b0bd240dc6fa720cc314bdbdca7b0ae84d4f854eb9e2206aee6c474b93c13e1f9970aa68c93772643ba5a29abc7c6ea43d2ee901c38d98b315284651382ba04d8d29d453e7902a98b7fd997b74d0bf094273ac1cdd6c7d8a18a0f43254f3a39da3067013f4f372c906b4e8e0254382e4c8a0498aa470a0a7bc8bac1eea0a830d6d5950575e4a0a427f5317a0609c00c68ab1476313e89d018b146d6b2c50650f6f4a14fd8c0a7298bf61176cec0254bf5bef2bd4813d20fb4f05a72482d298516be5773ad65a669e7b002822e88039f724dd49435b08046bc38a1fee35b9585556a7971a8a2a5f0cdcf962ac906aed61f47a2b356b701a70995696aead9c51fd7448e7d7a71372ebeabc5c42c9f3a8e557c7070d707be06374eb2cd52fee56e3844633d1fab46b4d114cafea7d17af1ee617ea3bf56393ec8199e493b4cf14f7f529f583b35b315ea106aa4bf6863ee95f66b8b2b439cb81940fa841d0e204971428a7c567ac72f38dfe06c35f3f4b49694f6bd99c76e8da2f3ffc17ae0c331e5986cec9c89872182995ac273656367926bd80fe339317e12e34ba3349a361181a7c5730b01a72668fdfa1d89b104d1efbf1cb0d2fe444a0697974a8766f3a262076a8a8d84872f6f69a36aff1891022d73e5cb536104af9f1d6e81f1d5f845a8a0d838d3e9664dbcc59579c0a3770d1fc691ba7d0401972f2814e996174b76371d519aec60172638a9ba9a6aa97c8cbf3fe5ec14923d44b7662f3c591168e01a75ef981b6a4723b84e9b81601f10352d83ea7000459d69e848a00cdd51fc7a997ed9efad98d698a5645b0d38721205c2eea010aa6ee3b9a68790a07f678829370765b569ffb5a73d52403dd83b65eb63da42dcfa10eaee2ed17cc2f8c1dd0dbecac9b0b9d98241cf79ea94d3ed112b7d88855493c0d77aa53ad73aa61ce98ea121620632ee66a9bb0e52d9ecd463ac81a9d7ee3da083b56379586350595039526ca11c3c42d04fab30f63d15a306f119597c9993caa44a2aba963f2385fa1b93a114d41f0f07213fd0bc32615a4a4082712c1771c622184b6a04523d556341ad1843f1b62e672d5a4852ae28fc3cfe76ca34616edd084dbf82a29558dd1ee1cf4e06aaf7ee70c67006eed91cb73d8c13d256fb26794202ba77253c820a3f4536621c64ca1b47233599151281791d0ac49bd1a9d565cb4b2c10ad2479cf5a068deaffef756aa7243147544a5098420555a99744dc44f5191ad518f4690051e4da68e8e86ec3535fdb2c6567aa8d87f2f2d731fbd674a4d15dd6b0fb830f749c5781e8cd2033e72def34181c3612cde993d5922cfb9eb1a85fa77f642cd5ba6230f88cfdadbd572ef77cce1a916c68a5e8932c5032615ea37e9764559263dd7d30dccc21e7f36724f0e48b339f7023c0fb89df44be48563a9539ba1468e20a00855b397a939c77203cbe56e7aa6edaed9d42851c9873ac78319105c3b41bba782e2e954c0647972aad68c15adb5351b5e010ef2a040c4ca5582e3a772e0e4200d1f6105a166bf72c5f9b2123fbc81946711229e85f3935a9871095ac8df75a8ed803a7c1ffc7952bd1398f5deeb48662b5d5a2ac8a0cbb3a577cab7542a7612ffcddb991b932d72da757e12c130eaf39b3bbea3a6352b8a4bb0ea5c22e6099931e3527abc67563fd1121413a90ed6a0b578ba62863015a0051b4d7c29e49665ffc6a839e16647720b1f32316b5f0399fe54de94b19bf056a598f9c884c79ccb6033eeb037f12703352bc184bef147fd181fd5f037648439fb2ddf41a832878713d0c85a4826a072d022dc1f19db256ba0db5f6cafa45845b0c4e3bf0dacf5dd760ddc2fe6cb3d72164b43461b35135558506cf2b8770fffbbe83b85a350dbf003ce30d18e281c72848109bbd585d4f3a21ecac34719d45203a385a0b7e4201a3cd37466fd321e6a2aafb89a5dd04eebe4de687b451649f4c2049339fdd57d3b7d617959fe378d4f9b432ac6f482d9559e083c2b61929422a4f08c6785da0dc2db8e16e2a8043572baefdd64f3cf4d865dcad06847591e8eec0ba802d7d59e0255739f06083973729ce8277292214575bb041829c08ea5e8dace8bbf4dcf1b19160874fc89a27572ab9f0848f5a1d143cfaa94060ee3d0a4d547743d3c33e8caab509c15b553062e4e920f0f808d160f917c574c161bd3c211a5ef1a8bad8cf6b032fc1a785ba33b0c7e9544163131a63b313c41bd39745009d0e8b2e2804eeae312b4f9cef3b15c58092473d842adaa2cee9324de7c87b50cbb913383aaa32792e31a83762c1c4fb8197933c22a7aea95652a6862e6108369edafbf506bd11268b13c8970e83420d64545b509c06f54e692f24ee7fe598839a8f24425b0b0b0fa3e87274a502622eb6bc16241c15c9a8772f3055f1c2bfc1598d131321cccd97b38199b31a7fa72b9a2c7ae02d693618d756cf7dc5f1dd1b9074e05289b042d60e115076160233d6c3d9696856ec6486e0dc60bb81264c47a77700e2ce2068c06ed43cfb97efc56cbfb88d6b1a0d55e027efddf358b9c02dcbd8d507e7cb19ebad6201a01a4cc6f830d68d3e162de4f4f442fd77cfb5739e3f8610610b31c346a6f707eca96d96b11a20f197b7f8e64f2726f04bcc444a3c47a6be0081ab6b40d94d815cbfbda2ae179664b7631d3dbcb9a84a7eac4fc5520d51e5230233359d8624db84ae69a72dfb9d1e1648ba5f62d3e35a2195543675e7282c4fce9af2997def69c19150c3ecd8bf5edb16beaa65eb467fdbb2b07166c87f1f49b48bb4b28ceb417ee129672372cff769c89d9cdcc29324fa1a6e6c4c8207e89cb83889763032d3b723e53727b978c2c558ed4941803236f5b38d4564a42120ac68577eccf9e89580a4e1672f9873f1d2c5fd1617bfa13f61d06f78c36f0cbf44e4cdcdf603f13be406510554ff82e264e4c0b51bd6f7899252b7a13aa4b1cb9d433be98541f6c55e46fb7479790029b45c1505a6b7edc6565a4bac8771fe4ca7938f5afc593a573d6aaf772487ea2c27dc84ca6205948e14cceb11213cf59c0c79d2079a9f72b2c3bebf372dad2e88fc6762c953549e8b2268aee598c460a9db49dcf03cbb8b39dafbc4972c0e4f94a3862e53dec51d36118044d599eb8ee35b06d3b047dc903faf64e3060a6a5942c581e7c0fcb1f285933708a5c54576d93bc04a611bd850b14caf712127c5dd09f10e550966e4e38b850010a9413280e54399e7927d2906c3f43967b725b5271f9315f11240324127a85e15c2b609992a523c544a10781e4218154105bb98b32bbe24f045f0cbe8996bcacc55e72425e5d8b95a034d663fee41e5c5b721df655063f490b4dea4f9bc1745c8e376f52a04a41b219a94c69d545a5665972b3f1a66e96531bf92ccc273341b0695dd820e69483fd55f23d412b529bbfd52f5b8d156f39a5c1c4128abc9ef0fadc062dd1f3c547aefde18a3b2fbd8923f571428b77849517f0e323d939fb4e5b73ad578d64f24636e6efd14f8f0b930e1072634f646e4bf19dab6a62073890499e6bc160721de4cbc28fd065d9ab47141a7216fa86cb0e46018b70adc9f017352804a30d71a378a3123d97c3ac4b462c8a727de70473a4e053a22186ea22415ca1cbca767f56eaf1248860b9625329bdc464fe31bdd3c1b707be30c098f3eb905dfed32d2ad98f4393fc3d43558a55a75972d93c97aa5529d8ebd72172831a21dc83026c77abd2aa50a144c36448457f1f09bab5a35285b53a8172e59e3d3ed116462c2bc70f36ba062d63e93044522c5172bca5e95493f07c82d9650fe06f7b0dfeb1a4becc8fd48ce7167cabd4478d366669e01b6cd461464a29af20fd54034035ea9853bf2795fe011a1862202ee22a18282d8e9d1efd36017c31c0b430cc3b421934b88044fab2aaf8163449c693ef201bcca431b701b897d5f10871a230ae18c5305c569df882916cf40d3b9422de724fe287282eeefd0544fae87b68c8b7c664c57fceb0496e99f659b2001f06c872fb8c674aad99d36fcab015d94cb960f5e1d412cc7871b3fb78febf01169149725a8fa2d9e7b6aec83c9decb228b79c12c3491c396c57a55735a4698efb7ff872144b61352aa64c0a68c59879389b224d8aa26f24b10fb60d340dd85f20bda9525dfcc64097d2b8bb535de3cbeb0b21d037fc479675254df878cb741a7ac36c72ca63ba7a5ec43327781c693090dada4199e3dda16654e5b2398877a57ca79e728f3b6a33e0332e3ae9c3c8d0037b621e894f8ff6fffd89ecc10d96c3a376607284f967ce7f303753c7f5a652c56c1aa62e26df954f6e578ecc69b77a0ea69701a28e44318fa8b39c4427cb0075fe901c33d53d7064a959c6807d4ca40ae9c37296ef80897d7c99a80eafebfbd1999844d70db10647d47a6a9a643c9a0a21a53ae1e5233576f04a832043619d127f52b453c2d5c0b98d7338de56946c5934977222559c6978958cb1de9bee612cd2e2ebb2d00d2e9958d71e6c0f767d45170c6e6276b1d52a468e0f2b44ea94e861ea131398f333a7f2fed1a7f63e3d5031b172a674b3d91f3ad0d79cd88cae0b4707c17f3e8cbe45342d568a0cce0a1204d72d199a8c1b1efe2dc8d2dde9f7770dc3e3cc793d9625f6df5a92b8a5cca3102672996eabc78f57f364d43a0b61b6286d7e168ebaf5a717469f00026b1158bd1f6ec67011efa9dd81d754d223eb73ee7ab7606efda5e95da124cf3e2d5964163d7235d82fa1fe62404edc276fd18b5cb5c9941b99d7c94e5eb6812e608f16e2e2725a5a1fec1bdc0777931d89f5bd3989e6d9f3c257317fffa1c9e56326492a5472cb8346360dbdf7439d70e71fac5195cf0a3f4fd67203252cfdae73f1184fa1720695412eda0d29b6b4f83b7d1f77b95d927f77f31fe70a4d7645308614b3ba728c823cc6d2ccf92fdce99538dce59ffc2145b14cffeaf7682037e294f6ba4d72a471c56d34d871f4219563c046e28ba6306340affc04337a854f397082049215173cd9976920f6ae34d05523fd7399c9d27e37dbbbd9b88757b65bc2edddfe4dda6c55815e194e22565bcd467254babcd398dfd633dac45083b2488f8efd603bae151e2452e2cf75b0f798725454232b48f2b4ce41abe81b5098916f2c97f86eb7c766a44dbafe012add63f110749103e55063c3acdb7f80d6657dc98d87ff4f1e13c481268bcf62bab0db262f4b277d7d54f2a9d15a5fed90b6f322f72a8f72f2fd6aeea613882ade0b62bcec2698e418528e03978a856f6ccb4b1f351d9518a8fdb7c1609837a7d2f1ef05fd6a48c7919a217983b115b2de9f0dfb4a9533726535d0519ebae041898848bacd68a70cc5f8519c41f89a0638ef7ab5b3ce6e728309bd5ee68d826cce623b8098f0bdc9739d556657e27b6ef77d5c8cbb5bd07249c32672ec164e4cc8430db4e8259a390125590d63655161079c3ddbff47b00129438db44855da883b64ca3b83980f16aa1253a5b830380800e5e7e083183472a87e2b06e2288007fddb4beff0acb788fed62c02c144b109047023b4ea4483583971df635b4f4094d8e5c3d21c537cb45278d95d3e12107c2abc5b921e3a7a655ea304fdf293bcb34930f84bac0f983869b9923b7ca0706cad87d9ab2f80eb7288632ed5135817a02926f867a9d038062ce0fab80283eb21899d83531f58a472a8d0ec4e64acb3c4d77ab58dcb4a8f3cb4010fe17458b67268f15c340e5bc872030fe15f0fd3ca9a3dd1b59c4cf65db62b154cf43bfcabee75afad066fad95723394f2afc69b60ae76613e47959f2fa247b4a321c42c0dbc7b96f808ac317772eebd48e727e48a48f298b6808af6e63f6b54b52c4405b671af86f090a3d7a4728685c750e89c858ef4ca2287497cb355b30fe67350428913d430eae8167b82729d289450b6769de01680f6980f51fe453b75e8d6a9f408e9b77979f0c8589272d00eb4e30701fa7a92f9c46ebd48387af34c8be18c2e6c5ee270b37e73b5e8723466810ea2e6238ae3dd385767b27e3e237237fe259ec3c1023722790d3e4472a77b13879f36ddf94ff285288266bfe1f26b4843d5c69b8ed54f85125ea3fa72a068743305af97c8277e3feeeb42ee14e3a78247b4deed20387acba5e18e37721286dd7f572236c663277cdc47497af316d72f1e327d12704d3f333427eed7021d09d1d8cf733bfa3dc0f12d0175b981626b6b33637172a15c9f833fa3479a405a9919b451bea7b2c80c1f53b25dc1d3dc2cc725cce11288302e7f4145c6995966a1d20a277e9936ea781a3a72ba6dbfa2238d6f7d40d067a691718363e6ee72236c63de5d59caf5163e65b0edd4ba90cd79d55685c6723cf04d3d276a3fed726dc653eb554c9436db38d4f1e012dbcc9337c1696b78d10c439e5ece0cb32272ba5552d4824146885ab25bf7548548debae52e78d438d7095d238b4424a290729288b709963a376d6ac57f0f457606ad72cbc2a897f8b402d3fe8401694989244fb629d56615d0d0818abf2845bccb74abd9e0802c69cc076d9038352d48e162b288bc21d50c7f3faf5cce5f85b980fc5c6e663f4c0491954d85c47a94f8cc1d55bc9010ffed1ab4b1f5a7b7a46132402ac299cc439296f8ce5e678de191dd7237abd8d725195b1a23972368ebe7cf28721385af753b34c46bdae5b7727e427204e565bdd226f7f2a2f0424ae8c1e9dbdff754093f22edd5878ae7757496ea723a8534858abc793de694b5a1a358aae1ccf5e624a9738647566068e25296d0724bcc81663a994a7bcf94faddd6c6c6b7704f0956a19b9467a10e76f47da3a772a6c45ea75c313193569a348c30f4f514ca10bfe82e60a668436f86ac30cbef723f8bf61010a5a08c3537b33978695d1b77fdacdca706cdb554bf8c0c40e82761430183138cb335d9486d0717d94ec499dd2c8748240be09792035d83df8703726eb87c6325e760de249c8647ac721742c0301ebe26e766249494971ed44529272812c89b6881cc6352f170366733bb677e2641d60a1cce0e3937cb63f19f585dce89bff71d419f6ebb73d8cb83ef4e2a5f017e72d61ba6a1f6654a69aafa15700cf1a1ce6868d8bd6cc34606ed634c81e59b1770772c938cba6eefded738a2723a7d30005ed77b04ca8d7bcd27a466844763f2667068affa4d37d924ee938e142f650a67798dfcc7465d90f4f719c9e574242bd1eefc4b786ecd596426e74572c1c1f3595e934d5b270d715e7440f849f7adb78cdc8d2889721a781b7e4da51feeaadaf386d18056f5a8b2068356806459ceb211d912a044d048f6bad2bde77204f7390f339ecd4b7b9a7ff2bbe8ef84ee160c1115e5f233a00b9894cf82b23862fb2a6ae67ceb854c77597c0f81502c3798d87e6f39e4923b00bf50c728c27263c8f71c82e3e995aec13115dfaf8d34c42b016de394b14b96c1eec3ae52c872c8cd7d7d659e5646a295115a3bc8deb3b653c6730f22bf321ce4b5dee7eacb7147ad19c97ec08a3aea7c90170411457f152ad1eb7a82ca54aa9805a392d0b17226cb8950f71933ebeffb8a55f512cffa831078f4ae2748e86ae94b3fe657de72eb287f9a429bffff97ecf06350f8118e4302c189bbf70b8b163bd3c12770f16070059928e561883d2b992a007c545f5e70a31ca27c34587133cffe0d9e2ecd72f17ef56e6b36831faf9ede29528ac0da69fa3b2330975f99c424b956eee5e15548db4408fd0a0c6953d12b07bed5b2a185ecd3738eea13660f97dc67f070286f6b3d30f662d32e30abdcffd67ee6fb578896f788c6af4a115ae11aeb1a515125513b1cfccbe0e7ca060963baa7d23c84b22692230c067e50227f46283455c3724a96cd97d5d211394886a783eecd699edea979d88e9d9d07c0dd4c29a6eea572ce722ae07ff4972cfaa999084087df17fab744e22ba738e735592aff0b246772266149f0cc19c80ab5dfcffce733b56a4b913ab948db5a324efc4ab76050f1728e3f5538b001248d48885cb4295b94d05ba7bc0c8bbb8ff79828cd5ed723b9130e45fa05eff3fc6a3d1340a0f16bde4998f09ce75e050a1662bcd2958fa4023e8b2162e1c83c27cc6a83d0d6be71babaaa9740a44fc41187c13d96bb680767722a59c305bade560e53106df1a7e6a5f32a0b43cb503b5436c0248fafebb7db39a8695a5252caf578da4dae05b416a1a7e84e7bfc8e2a742b715749df54f34872bdb2236f1da917321b926fc1b0fd5359f140d5abec672a6cc3ff27dcf77a7c228a5af34125c4c4040e68407cbea6a5755afd25179d00da61068e53227b4ecb2c40f96059a476d5faa63d30a8482ed971360e6231d9fed1ee45cadcf6b1f86859fee9a85edce846f101e069cf345bbbcef513ea6a3d998d2665aa53c9a985156f9f722ea5782187f26c2845e75a7d4e6ad0b601c292b50fa4152178bb5e667772f719073e368e838e16666ab4d0c088e3236ddeecdd62b0c97dae6adbd326604cff195c77d99e96612c91988447de76c70a2f738678ae1fdf95cc6d7b18c7327236a91237be2fa0e6abce9eaa401ae6832f027d4b01e55dcd1f330abbfad898611ea20a7a09e67125763c76e0be8c9dce6ef80f00d08807b6cecf525e60a78a72d3927fba515e65e31ad670a361914695fb5e5f721394ef772930049abe0eae69e26a9f983d5982250652a5cd9d06935dec087b355475323431d6303e3ef1394cd43685c3fe2568e5470cf54c6bee0797259f0f6f988da9393ab633dfc5bdb209ff284c5ed8b154d59eb3cac6a865fc40cb44f31e469c087c6f2d4cdc233cb172a0897a0799472d7416dc2f06258ae35e1f92e8863ad059f7d0dae7725ee6326592eb5f98f8b8b59846f8738847971221551acacc4a89d0f032dfe1794873ef6bb5e4dd08ab5d30d5b27c8e82a5beea97fd8625e86de787dbf18003e12519b572d69832eeabe389027539aa572a4746f7f8e9bdc0eb91f3fd8105fbac11aeca2ed53942f99c02d1cd19a172eb101870490c5bb215ecc6448af58637082f92a3726c2ddda12219a818545cedfc2d147f6eb07a9e1327b6a5c2b0e71f0e511ab930f7ddfac0f1ef5813afdc3092fe4aa2f834d23f0b4b3788732a7cc3525ef74172ef9083d2bb1e40d84d2542cd6f3db29717e6571ab59617ec5959b07f0f8e2c6c5aa5e7c9075d563b597f4afacab2b79d8157da48ff784e6e4323e7e2ec8922729f41410e2fcf8c8f31bc55792506ab3144e312a35bada80c7c58871dc6aa9b72c374f8a99cc42cbfb0cbabd90d87b2d1572fc060a299981840a83312d359ff56d34435431bffc8599deae38b3d7be43d198527f37042ba98aa616f5ea44d6430f952ac6ec554930032d742645f78a0513f4578f24b3cda10bccdf82cebefec593295d7f7b799daaae952ca7553843c3f66df2b35db40bd20bd065b6d75fdee34af3d19fb0cb1d7219cee9bf65a0d8489ea4cd43ac99322fb06015d395127a572b7c74bf58b9bb1af8a835affd9f3ce1eb81c7a62435df80c13366d21f65a9c4073d29e08b8f5ae6b14f9a0b9d825ed751528d9e00482f14c8739fd9de1416972c7cc9fad87471ce3aeb648a027bb6e1a76af88fa1a49772b85168c73441da2728d464d9d470104f73bcc68257d18d8e526cefab06fdc25ad2d60f55465ec765aff3b4de2a6d5998b522b7da47c00106380343f2a97c569a45ff37edde3280e72014377960d7cf7447cb92e48ff55ec427537fb8da0dc021bf6aa61b636d5cf41555efc7be39e1b81010eb01f3c0a7f961a502afea736c757c2d2940136dc5f0c486eb607d09e015b54124224f83e426b6c07acba2a6d9b7fc70ba87021884e72cac5a143e5ac2b8757a238fbcc4985ec2a43ca52907b8533d9d78c1ac30eac13dfc52cc8e1dbdf5d8b6049e562453549f02213340798e77519a9222717df7e01574327ccbc4068c45cb51925326d6d8decbe5b0b94a6d5c488c3c36fbf49cf72e2b22c9901f8c15e2da400cec26cfc2ff3b93f0fefcd5cf5ea25d7dfeed1b57265bf43b6bc07c5d627fe22f34c0c93533adf1a7c88934252c141c1dfdf797872341a1f5b20bb546650e78787b08dfdc30d50816396a50a3989ae2d3fc1ae45727d3e9ca638dadee2532db5430d43daddf37be2c683ee86181d53de2ab59d2147b3834f581a0a21fdf92e4341092b4deaa520d56a825b25bdd2fcc5a3e495e62cc79e5061ca75b9ad752a2a7e11e658b4594231a4bc98f8234f308b40ff4f0f72fe067569e56683a317e9bc4d05de4ba9cda42e44d76008e3d5ef93649963be72607c8ddd119a9129ae197b53aebf6902cc618ce892e4f548adb67512dee59b7265d158a8b3bed25004077d0f7dbabc47cbb856b671b0ea183c35b5530295cf549f053c08b3d7d4cd78144349da452d958379b847a426f5f04032e5c83ecda156fbe525ca12cbeb6b0dc1e70c7fa37ba6c0fbff502f2b9c40b99a006f6783ee013049cafaab055defa75991850518dc91d5dec9b8b743570b8b2a5e5f80626a3aacbc1d706180361a6fc8da8ded5bbb32361873c2868b8eefdc52cbd2cf8de872cc903081619c135145dbfcb6e5d5739e15240948e34d952b933e2d5b12e2d27295e4ba3fe8a7969a34cf9f86e984c4f5c6f74be34bc45619964578f3392dd172724b504fdab88555ee4571d1820985df4c77bd912121fa88fd617eec66b7a40811f21867d69b02749ef95237a8d3bb1db1db2dc07c3a7cc320b0c564d7ff4b1eee3f92378bbd02754ecd7ebe5a30c400ccc9073799d82f8289991fe688d57f723497f7ca6bde9dffd63748b5e9bc47236f3495cd3cdde7c4b476a31a731d9e7284723c8447a331033a22035592df9923e5129a3e59f17cd8160270cd257072028108d9a131685a0cf4bd967a91cff12136079cfb1186520f7c4aebf795d9520e5fe6c75c6940f45364beb2435c813a3d3fb476e941da48c865a52f51a278f869c6b0ac206a2dd7a765a29502da044570f80c604670ba7f57bfda208f41c2bc72f41c0fab7d0acf4275d25d43f858b7eadbd5702a87891a31127b7ae16d9e6472eaca346dd80a66493a42a0a65fa67708cc1efab607f55d3999cd15a44dfbde00e3874b81364a1ae6f6c1c3029e1fad608ecf0151d70c6024de4ebacc02bcd04e8e7be3316fff565c129f9c6cf4fdd9ae1f365ef1cee521deceb6a71c92d49d135223a48f38e6d3c3558eb597ced05c8e7576e6f14005abbb6458f79a22dca772a3e3b9185d536104025f39dba82e92e151bf657afac907bdfae762f90fd1de721c618ab77de7358ccad039ccf70dc2064e90f4e566af29df0b301c9c27192b72338b5e711fb2651c6059a2993bb34c285466ba80b658362832bb9d150ddbd6726570160854f8d16bcb278e5e8b85f20e0ba2217fb5c299525752cdb063111672a72afde2fa362b3b932b028e8aafe5c1b87a8beef6626e4859c8a5e3080c6d263342e9c60b5c774c8db7e78483c58a435f301282f22d14026de074a7bac7220c576a210c416ea43d86b810038103b0562e140c4ffa7de89a15a3b75cb8f51a5545c7c802b52a9c9837005c8ed8959b74be2929d0680d0f5485f5b5a572b4290f0be6c74e13c75f9947933a91d90d57ac2e945a3fece3be2ac0ddbd3751e2a94f508f086fa71842e6786ec58fb0ccbe70a4b161e59770de60182abadbba3ab17205ea9c44b935fbf5090bb5e8f26de84c98e2e4c5cf67354a987e7248bd3d2f72567f228066a2d0199bbf013f3c73a9a545d9b76726096ba976de8f38acc50851832f80e9f09abad38baf6b6bd05df5a338d44f14c106a5c152878a2f13f0e0727298088ace31648d005b316cf910b411add632b50b61d818e9599470950b7172c7232a8eda7995cdfe7a71a4591f5f755e1004b32cfdb5b3b916a93bdc572f2f640d04ffcd019091b3a3d62d7db8e9c5117d088c822e237dec0c74b3e1617572c507c9930a89d7c2b06a55479313abc3354fb6b531a26ed30c997264c0f1b4728efdca64d1c01d59e5ac259027d1e0c5ff896c200d9f7ae6c704a5242468f772a390494fe36cc80abbcb6432c340de1d0db95cb4076002ab98888946f98f5e52175f595083e0e768728e57629029f3ee7bb55b675984793d6986fa68a68e08728864104449271fa9fef591dda403f7975228d51ccb5c4e8fe05e7a8b3794bc7212352e326ae92fed5ec69e340279dd6cbdca88ee0569fd04e61bcd8453ffe4060644445c11aa6656707a10bc2e239b9e7d4bd6a2ee4eddded2dbcc67db06e37233b67f2060ae7290aac6eb569ba754b78d3d10283603ca6316c707e09e5f60722dd26a8623dda799ed722295adfac56db0a5c4b6e9fe24eee61c5ec15e89f74de514d5b8a2048a88553c2a4ed1d653b91636a5654272e951dab7662e621ccf13193dbb30125fd077ab4f1f074be1c54d25526fdccd5e311635185f9d665a1918ae06d8d86a16b27827729a5d47ecb2b4b1da6712d19a06add5dd92dcb766c94223015bc077c076edd58a6515247df91570bfa885e163515a0317ba0bbe27eb012036776c2a63b6152c44a015f33c8aaa06c333993bf0cad982d7605474220e4f8a67a603d76ce4d03069aabcd32aa793d4d1cfddb838d65a5e3fc85d7cfdf57224aaee463f48d59c484b7808f8199142beda98e05326e759dc10996ac5266b4e8ddd778af6011d495955f3bd07905636401eed06fd401807278b66c74fd09e725288f15a48e2ad3fd8c672b7041b49cb767d09429e13b349ce48c242faa4f372ea73488a01a8e3a72287c2fb9921ae09a872a01800c8bb8f4ef4b141f1586e72417d7082b9ed32a9805bdd28478df65eea20f8c1e1ccd30a7135acb515f7dd5119a36daccc4609f67760c15e53fe965fc9a346035ffae4926f9a019bc5f7352196332a3fa3bbef0bac0ee2ea8b51b60016ed84561486072a64b0cd148fe70a5f30d83699c3c9a5d13e3d483ed4f28081f776157e70b7b716002a4d650ff2cb72068eaa9b27d5adaf87a065dac08a10e3056c88a3c3cebc78a352772afdcd7f72499c2711a0f415fae82b4a958f2ee82e42437e81c10c9d29f0e9c46e88fdeb012b9a14186dfbfeb21f009bd18c9c39824edfbff5b9519d4f5cde36dad3513172f3f186d7664742aaec889b35903b5a8e0583d72707f4d5f446fd799768dd3546e7ca0662cddfd5e40eaee376b1e7badf080141601372c40c9c5c40ac169e6e21100e9fd932e26692106bfebdc3d2763e6dfe58d607d9f9065253cc9acf3257723136c129ed224bbf8183490994eb52f766141409544811d51b644e766049c772adb46acb417b3c76594f35a5bf59c2f72a6c931c18ad2f6417e08da1a3a6eb727a38ab5d122f4c1720c71aed84a92a75d82a1890dbc862b5bac8dbe6328d5272931c1e6728e8dd4245edca79dadc3d2242ec3b0cd4f1fd6f315e078580d83dba0200004c0e071832d527694adea57b50dd7b2164c2a47c02940dcf26fa07c44d6d222a72a33426875fe631e2af766fc3e66aa35809d3fa07521e86c68ed5e3165aa04772654ce15d40698b4a3304e9958e0994b42ba277743b6e439df471909794070972126b70110ae2c9537adbef51101b0779b29524208158fc1b3f5cca61409a92228a62657ab4a9c0d7f2596ebc36c8d9783cf92edc59981a1803ad31cd174bed72bdecf733c719972968b47cc7d9a1f8ecbed8a5b7e51dbfc30af0b68b98aa4a726d325853744bf71a83c917b6801e9388a94fa872469e0529a3b39f222bd2627237c51cdd333aef362a81fb71aebb24c3475331ff53bd76158931888b39906c52eb9d8d6f6a5a27fd45cbdbf2384207afe217ddb82fc3644cb10757aea50f23204f0e350d06db5bfb3a0130a5830697bd5ac0ab5fc877f464df1c3c9fdcbc3e72b7aafd30df04662d0fd5d32d2ebe233a8e0be7aa87cf91452f25f3f6f5a1cf7215ba9717a59970e95ce8633fe72c7780dbb210d118acf96772bc6348637eb95094d4478b8e9442d4fa6aa77475b53148f16ae748265be77c37a2abec7096576b0a654ceed66a2a7c15dc6b9c66b4cce85eda3b20a08b879d1e08622b7c7d9d729a78754cce8eddda1449807b887cce816a38f4009bb50a4e3fe5c6e36f56a872eedc645e50c256188d8775761fa9381853a30bb5bd9c09770e6c8a42946c58721785ec18c8bc92f63de4462a207880a078b9b8c8860c4e43587101206a06f472bccf168b83c42d37c79443e9f6f4c2ac2a9faaef3a2839835c47ed6a62e94f7244fe24be267858cf6761f1ef0af2358dea9907a212519f579320c12eddb9e972454f446b5e8a3e694d866d9cc69722b2293aaeb5b120d94f9448f81710adc172b31316d57706876d6fa1c51c68cfce759dd6c16b8001f32785b1422c11ac4f726d3b0588856f4b486392a7e4d222cb13d109900e8b86ea66a60a027e2c3d6472a37ffd83a60dfe8b6dfb98442abe60bc162e7d454426706cc6e538d9ab96a95ccb642a86abd98895e0988857c572f8452a4848f4118faf99959b77427e54a372b806d5fba42793a2ccd4f6c61792439590524b7cb2d3a27f166d0f95bea237385022c02549407cb4e64a338166b8c5d1922e6171b26b198d808fbc2879b49625befa8406a7d2939a52cd53946fd8bb82ee7194aac4cb32cb6a41c90e777d62721fca68b2dfffa33834b605c7f4189dfbee2bc84c9d431fec24048d9d57ca492025d6d3cf62d5fe3f7177b413c5d1f8c3a5c6a64e47ad68657a87a1711aabc672bccef66c90a325320d6af2d568d65f082031d630cedb1970cf976d07f9b5ea34068691912701e16aa062e55d4e417370e4181d57634acf97d4e28c12449ad47204b854bcab4f134b9c9fb6fa1393e0410b34b850adb5b72385232bc711db58575786a046dfdc90dc57216a8a342befacbdac5106ac8f3c1544447a4ae86bc572b35fc914730e6122fd4d37a206784d06af086cca64cd9c20f14d0d905a9af6656e95b7b0b862e1ea47df1a702f09e816eef7ecd5e6eb11d4d372c2e2bfd28a61fba229166eb3ad86ca34392d36697fea19bfb2fec00b6147400fda7198b3b45b77b9d365d1c2296c2a47eda93a023298f31a35c7478faa3ab842fad3ab3f2b0e890c1b197b999b93d05f4c2c43a059be2aedc6e13521c179b3d939cc1f51b87247c4926f5d6e49d24bf456f275755b1424606289d9586f3e75f494a5a2b7cf29a7d25323441b8c4a9ac2ddb03659cafb5e0a131f5f9e48cb8d425b193a523c3fcf9c2add772613df33780983678b2f373f465d9fb33e3c8b6a5e5df21ccf564c453ca11b8a053d15b713309003a95d02ad5b08e4c7cd1d1d453991ec65bf26725286a063de4a4356d01feec3bade09e5b409a946101a1b127ad060b85e77877239f2ab6bfc4da7cbaecae77513cb0730ec854d606ebb06ed461e0b6c57fe2b0d86c336f3738eb5cdc559b7158721b04e6cb634ee02caa8b862c8df35671867097e946336db08991b793b6dec3037fed6ceb937e5f5fda94cbd1be82ee0b57672b48594a371b8d8359e60bdd3080fa8392d9e52816dc83faeb66c920b4743f372425d48219db7261857ec0f50505b7b76e19e9da047d22035edb1287abf31cc729611694c47883cf958749098d87c30be72de8c4ae67ae685219522536c4b4b39984c29d170b91740e13795a4eabe4d4319ce47ab1101830c8c5dad75d8b044513f9fd966e29d6d1f95fea2f62979df2d1273c97cd09223071af01e52b69c6d72fda89eb467aa586c9758a6c443b2157b44fc96a80bd74899d4f9a214bf584c1629c4e4773ec8fec9a058359db13e88959e0ac44a5b6bf2531816592295dea872f97351cf81b73eb196df6c5b51a8097ec21d9345bb97c759d38eeaf02c29b072aa7c957967673c1579622f5a66488caa38341b9bfc042d6956d697359e5aba72c7d2cab453abf8c205821ce01ce806fdb87c76b705c45d21c3720541b4d397727377a925d0903cf4088baf74400c2b5f6885b50393c93e8721e5c346133b756d6155d3a88d34f62fdf25626a4d4577c2313b74d88c73a3c9981806561151e172d902cba9b785ff9806b9cfe1c342af5b4fb44878ea5078891c7ff9e2ec13a2723503e08a123af68447d562b090a1bbb2f2609fd1541f8959ab6d3af9156a64068a6a718c76c29df4f70826da68f57634f0f4457a30f0899aab72deb7d5376372eadd3a508cb27aa47e2750e05ea41d79aefbc0bd95936957e670ce74952c3372929361015f51866aab35ae66b0fc3c8497f3697048d49b31d3c5c2b1a0ac17726c8da98e823ac7563c97047c83a89b53adb48dd5fa5c9bb5f63d85ca64bb9872290719ea4c3d062b987fe052e19d398051942191b881db7845a891a5a8f7b77267431e2f3307543f5262fdaf7b702d45f7c2a256c6bdb228c43bcaef58e5e2173357f548f33ac28184d8ee63142662834083b342de26644c1c0e981c75dc3872e861bcd1b9d5f77eb1af2b9bf95938e9a3c552f9843e1bb101a1acf9e92e2a7299773133116f61b559e8a64feaf0a14dfeebd31b892248b80025c15ea0304d170a0f0ad08a94ea412b485a76eeee46489cdb9c4b3b32b71e692951bb7e76d572db31dda0f6354259a02e15c6281d3cfdd5b00d3152e0d07525f72de4d0773f17222ce00c8ae636518100e442b86216831e9362698c0a0d6d03dc619ef6b8d607d1b75b3b56d35be9dfdf1ecf0819a755b72a4e33b5352b5566c1c19749254272bd710cb4b1cea84ca3a4116716eea4a5ff442ded4860f2c6bbeb6d0116d77a726edae0c2236f8ce3f27c9d6071b7e64f72574ee190841049e5a08cba04dc217250b8c33f738408f3dae3893d26066ffd0bb4293e15747680c2beb929eac7d346634f52c8dc20c901b2d74aae64635293e517674f3d51003e4b01e671c8a15c047c5516224370194113cefb5c8400959a33ed64024dd6caa6a86410a0def124620dfde129bdad647700304f052b94ab04893dcc41618040ccc028bea4857a8e724f099f9e94069ea740fcf8a5188b59b38bf2224d95f904b3dc23293bf157b272ed4fc210d56f437c2e848791a1eb987ede14e6ec9c58956fc74ffb2568c52e0833d24a741c1c269f0341daf18e984a81097676d474f4eb73ed0ff252258ab53468ce4195de08dfaf3c584a7af389cb9995b987d16850529a6a2e5da796c6f322d2b5c8c226613e721b0bbcb07a2628eb1f17f5e2bb7553e416108699e0568472f77b4f7ce6d5b148f2df952938ec4dca484e033cb1c06810e594230ebc31513971a1b57ec0509a6eab23efeeb66bdce7abe1da04fbc6f2df3c8595853af9d771d5907e7ddbc4fea1d481c0f7d4793d380799a5c7d08c9df75307409cddc5e42198b5d27678dccfb324455b39da1fecb151b8e230a34be82a2a14f53f2281377262ed0acbc0826395045db99d3a99fed6630819adf6e5d4d85267a13913cdcc72fd7ee905a5975ad6a1e45220bf7953427e32c7d9b7a635e3dca60ba5a69e2c72c9664480502c1b3d3a35d6c9808636cc1b39a8eef7411ed00ad7e901c91ea17282a91f80be48dfa45257c1c679aab4d4d700321e452354240537ed2679bebb6d8269338f901db1af912766d2ca978cf83edbf083963eaba8a54d2010becf5e722ecd027a25f9d3b84786d20a0b1077b4fb6c2045350e345c38120c047192a7729d20cf53dd0cd6fbd7f7888533d1eb699611487009851ede01481fb9327ac6725675b4d00722a1e6cfc17fbd53260dd3e61c1ccdca16058ab6fe108e717858729cbb650503e1aeec3aaab59169d60eb77f390f08b922e1971e11bf73990a074e2f421d1e7d693cd27acb6191119198d3f13a989d5963e4ea566adf50c13584727fe4685d7dd3235bc8c5553522d37815f3aacc0ab57cdd46bd3973a481c1ce111d2b77df52fe34cc62be8d1196d96dc4897e2cfbdc6d7b3ac90057cc76ad344b8f13521ca7e6171bdb9a6667502f8061ee08b563fb1fa3147052912ab74c2f41336fe1dbd59b0ffd17a7cbd793f72ceca4fe9e7c7ba7b9360f03493b5d12277262777b9016882bbc0c18c6f38c229c157a8f5954590aa45df1316ef9d4602072d681e588b5d3355b2a22f335a43e96da3189dd93b2a53b372fd70d61ab07977280d9814dc30f252a2820ccb5cf0ead26089d96e60075a10dcb9f6e62c99943723b07c6f15bb9749594b2cfaa03ba963c689a9c2a0396a41c77724c9b5f76e8724d755883e1af9083862e504da25d9423f3316e9db68fe3cbd96cd050c8055a38eb153f040577864d260a0cc1d81d6da4a28815f64ed671d4490a8b097f875f0aba950482bcc0ee4c482923932aea7cd115c28ed286367c5497874a8e89e53372609d7f05b2849a53bb4f88158aa391d04dda8281de765a72388f3d6e765528522c1efb0987ee278aaae250ce85b14b339898800598f44e9980099d2b112435729eecb100e3efc2d8e04a77e90c61e0416e2b02980b7a1974f36e824e474ead72c44ef930731a260b8e516a9897c899bdb1a4d133e3d1279b95d8c194783d220442511b00b6137d0ae52561d60eb2aee37490379f35ce944e65e9c4dc1ee43667d6d2da2b0dc8a2454e9b43786acf0a5fc896c3c610b709a261eac071f5d59672e4c2061f17e11d525094219728ee153cdb54e54c8577ed1a30a5b3a9c2e71a726caf2055492eec30dad5cb88418ae0abfc815b999d9b1b2ada14a16dc7a194510432ad00d2518fd101e966fe90d5d076fcada480a525e4089556d93f6d413772fa85f65340e87b73068dc9a895af6ae2b9524dc8d30eb622a5acc608d22dc27289c6d39729c0ff8d5563330549ef1d10906f560a671e5aa0c0c0e656c76b44721f4073fca466b6fc2589da021405830ce8c49f491169fba000a7cae760d97072995db591381da58390a16070482b50ed478a8505771b8c170a7e31274092ba72744591f658e7de0929900feeb62c42559b9a27e330ef9364a16855ecd5cbcf7237ae3a3cd8c6179cd4b80e1de24bf2fb0cbedc80eccf68591479d2632d04a91c1ca23511d04b41607d2a3357ccc13df66ddc65b23e40a07c32e715a818f24d7290af7f02ab684b829e6ceff7ada7a667967b7074fe18fff8dd754117de00e1074b971010ef9ba38aa9198165c69cb04a5c07d1742698d23539368aa404931c28c3fb27fca8a5db33834c4602f5ce6f8b197e075220dd3bc892e2f429ccc4af72186fde016acb951c5fea2ca0ef3ae85c4883fb42b4ecc52a0b7f53013aee033df847539d274721b7fe8a6fd54d68befdf1224fd354f33bdd37393eeb2a51e14590cc885727898bd68c4fefc265420538d7c8c3c18830ba1dbfec994bf7a709729745c0ddbc9b8a18bae48766e84a8e9ff706f0642604378a3cc09f7fc80b5072872edafd08e891d283b199624ebd998523a583cb88416e5d88d28176d8d97b2e0a1cb0c471a62382219e2583e5b37213e6d715d055fb6a16578e2489687a086f299acb58d0030a7574c52910c1b42e18a40b5a19970e4d933bd15052a0c63572a473706c7ec4ac8b1ce90e44b33dbb731f5459892193fce382fae55b2e7c61631aa49e923c65565d651d6605f667bcd455a2076565bfd3a7dfad965e94e31e29d45cc83927c425c4eb3f8adf880b27c345df4368e0b78bfc7d87e5f3e4bd122313d45889c3ff5958282dc1a23ae38acc94db58b64b2fbc77a0a73c3258c72d2316afc9a27c41a2b467338f414dccf4bfeac84815251b005abf59f448ac3f17721f4caa898033f18f90da10eed2ea64a020fe90837beac530b5c1aad9c362bc72a355ad0c67a79cd941aa08f45e9e919b06a9790c5d5b978e87816683d27c54393002dee405cad0220a78cc7ee2dd66c57aa486a50587d44cb894d37d707e397272288c1bbd11d1bcf0e201772ba48bd6b855bbed1854de6b3466d774cbe1c06912b04e5e3689d9ef4378713ee3723c775b722f2dae954f133ee811b2fc9cec06703b31c98892de5b43a0d170cdb70d656f5980c3d8380ba9d8fbe96a23a6e072e500ebc1d0bd05e21b7635200a33d54dd073d2b1630ff55062a2a37e4a077f723de345141718ff841ac26bc9665014635aaec4fad676bf794f2faa618971a672ced04461a797b4f8f2f568dc3c29b7d8c9c593538f21f63079e2eb8e18782972eaca856580361c3395b0564af3c28ac12bfedb11d7c22f24e2459a1f578def2f3215dd8e80e269a35a220d5c78e88cd662c72c2d33833cfc1ae90354389ad772a914364a90caaa6922be9b67ba5871ee8ed011aa3d057c91b574840c4d94533cc9fb8e17b65c9b6412a3e3a4de4216511c18d10f5a18adc4bbb2ed9c1a18e34786b15df10d427f7b46215b368532942ef4f8174007df1eb0eb6e7bbe33c5e4729748901153f378e43b930fbbc7373a62d557ef6c48d5ee3e3579e93b3ef17d470e2d6c904a427b3e5286b3a5d7018bfdcbf7214eb94b745e111576d9ae918572dc3a8e53681601f7380ce78e07e5db7baad64a870407088056b157c3748b91724f5b795eae93f2637becd3b3cdb62632770f7f3c5826d11ad9a7c0c6c5b2a145fca0cd0afa4a3a03acba0be438af4f475c0a0d7042749e59526325fcd6754f0f38718f44b485eb214b37c66ed4a2398bf29fbd66a1da285b639f99bb30070172deb7262e06b8211df2f3937d3cd76d77389484afefc07ccbcc06f33b0f7c9d72ec8febdf7b2f11640b7821d0721869e5eed111439dacba870f20cd0a29a90865301f28bd1e7c26aa9046fe149a7d5c1061a3298c28dd22f4cf20aed24e0ca522d2f371c592052d194640a041a804ce231aad440f0ce8dec5b8938b272e046472a0bca1fd315667133a0dcf2a50d98d2978b261cf66eb27f4b02c8a5c829b7e72b38b7dffb47d16f566f6a9e68323d6cd63e084fff0196a47ba6541f057232d723c000cb84c3548b8cfd695937fd41edfea748c6194fceadc46fbf4767969c87267142213ca85761694f871be12189d1c2a214ab83f71306485a24ce9b280b07267b0d1b26ba5e56ac5ab108ac158d314d34ea0ab0cc353f7deba8889b99698064e9c0dc6cca3d0e4cc5b956534798b5521ef299d018cb3caf6dbad795cd86d7249501193da75a8132137005a322715f903440e293e8257a244ab6dc619baca5d2587e4e6a120a355a1a1eeec87ba278c5d8272ead7a0455a9144b01062e5a52a987faf66610255dc3b4dcc5d46d4622ec57363c4e20109582de47d54513c1372a20107ff37a30aa54d8061ee737e21b9ba8f74abc640eb6f99775e1391ef001bbc4375ae95ca766378c54f5ed0bd1b402025b8d78ca3a7d11ad043ea65d7af72dff3c450890160e8fd7c2556aaa60e2f02dfe8bccd291afde5aae3acf29f21046dbaa5335e88d534f6d429075bcd9c84c9f337bf92e344ef647c56aaf22036724229c181a0a8e54821c2159c359669e3a1a345f24c80e93246b8a72b2521226b9f1caf5a0c498bcbb695d3ac0e8c881b01f8c5dea991d5e0e5a07eb6213fe9060075327cd90d1a3efc4a06738007c8149fce7ff411c995857b65308d70de257246c9671705001d1e6be0aaa7c1d3faad32d4a9be94289f507a0f3eeb3e7ceb0fdc001cd09647fbd5eb9973baf82b8c1f04b28a273ae728655c66776e35b762274e99e9805b7cbfa6a002beef38f206169d7e6f7d46843ea3cbc4b79a69fb0240a598ea6ea355ed7bd381ad3378931325e4fc9f41e7d083c6eec7cb7c28ada3729c381321085153ae90b3b4649361404818ae17381e687b503c5b524a000e5e7220e3014b6ba8fe8790ef817afb85f3d5b60c8133499fd2820af84e7081000472a2f727546d4b93aec7eb24c1a7d88c66531b4a5a9abcc1478d40fa439f1c3e59736684ee0abf26aec72a287b8aa9f6d940224342e3869067b5e9e94ac98b49720c67a6fc6a55819adcfeae5c460f76485b36a645b088dbf7b1ca02916d204c5d0707cb41279179df165912076ba74813329f1f36d0ccb5b71352be635e22ec721890be446463f225f92a33ab0d113821eefe57eec1b205944d5a8b6287a9f272f081588543d8e9dc374e3b3d16824e8339dac19ed6df910855054514a03e04203392b8f59415f87fad43deacc36102d467430950568f892a28eeadd0e575c5721f4212d8934d61eb3fd589f988e435f6070bc9f413d53791138ab8902d13bd561cdb1125a0b1755684924626cda5440a26ffc1a2b123644bf8c2f39fd1686672e8b2035fadc3a7057ba342b7190a1279171ac87e4c52acbd660db439227eee29006f631d545a9119b8f6c2437f176e6909cdf0be5718ba7dd284ad4e93985c726f8b857d86609b3d3666aeb1345eb9095244711d5bf41c5d506b31246ec49872258adf247ea5d482a3ed0a53560130de61df318507ea7ec3192409d5134ffe334b84ed5ab3f584e0271eb1091fe590581cb3ea2aa56f28702ad10e6d22aaec724e9f31a3e5489bc860e0269fa1ff364936eb302fff124cb62407c0927aae1572fa4e9029a4b638b1e05663fcf1a956ad304499260cb3c475a331dba5aec0a632de3bda562efb95ee0d963a6114eb521037c4766b2dddd4b659ec096e8bc5e10a54f002399b398043c5842fb3cf5af9d04a72101f1bb72e7956b002b741a8e17213e748bd151be3749f5a2a62c1ae50449e24028153a793ce96f48c8dbc949c3b8c2328501d4d47f0063454df0d1b268f8e60ceb04960652c565fab62283bf272543c25eaea66618d73d4144fb28b1f33104019b90a6a535ddada0787354b1f063202c42a9ab99fe150cc49618fcef2d0f0b7768cfcd7cb11287b43c0226a9472a4261c5faf0b116d83119b6868d3d162cfe4b5480a329a1f56fec5776c9cd2724babd1893c2169fad6c3c5a28b42e88fe003a9313b8abf8f0518a662397dac72b5e1b0b6bd0bf5840dec8a51f46dd0557d85af4954f82f046d6556ead21a274ef9ac507beb2cea5a4219ba2ea39b83061642a17d88389eb9ce9341102cc568725a5042a5ad6af475be1abd5389f5cfc499a15a24aca28ce4e99aab148706ad728b7db80475cdbcf9381a25c11872c2204a12e4992efc9c53a5398c37dd8c2c7287a2de5e0450555edfd6031eb75dec48821a155b52cf55bc81cc23b8f480147261f30ee014f170e8ae46a79ddad9d145ee532911eb5cad89c80d1f5c3f6eca72a88880803097930cb7157ec59cae4c377719f92eda0388a3af225b414fee7172d0369ce35b4bdfb09fad396fe75921334c0cd870d903ab4a3610734bb5aa3c7276971808ef0ed899c09955e6a30162f7d806136e22a2c351983eebe159af520c47f0f363c4f023e35f224a53d8121fc43412de8843f5deeb9c6e8a6f2339c239c25ece1c6bb3b88e7c2389eb6258f1c6d319b95db6cabeec48db92edd1b7703d123cddda30f3dcda2842f89fc854b940adef8a3476ad1c251853164e96765d72659bfb590a99fbe3c0d2dbe0f2917393b13330a2513e3a0dc0371db5fc9c3a72aca562f7191bab6a969142bdd9fd6126661b9b893796cfba7ee37c89d77136275809a7617cf28b6e7d558d9fd07237943d909bb80fbdabd982f60f242e9cb372faa102ff9e7364b632d3d537c0d861cebb90fac2dd50d53900967f02ecb6aa512cbcd2ddb4bd16efbb2aded8cbd3d16d504313e8489a2dd822b8ced46bc76f05688387bb86706e1254ace9f07da355435152f16b0d0f2bbac8d3feac19cd133d1ba797012d2b23f40e75a7e266ac60668a48ed129fa2fec48db79e0d37dca1725213377c434badfd9ff3e3a8659a993e16e06c4307ba819269914425fc80a572d42f4f0b55081bf0a7e206e6a3a8b6d7e0b87274593fa9d80ce49815d3133e1dfdabe70a1e37164317a01cc7337f6c504a9b509bf90bd2464a4f97dfb35c8805ad37f3ad375ecfa7eeee0b094882572242b8a6b1c8765d629f13cea7e63e34301c91183cd36ec32d53eecf5bbac0b8b1bed06f81e1c8a80761c08549d38b1c72bef9292330bf64dca007e3bb5f8fe8fd2b21840e3eef32d96480c8cfb9ff12246c75da21f21ad979dd47a66af80e5eb6d4f90e8e110275134806a05308da18724dde15d3379101579e791681ec4701ddc0760d0f3c085257cf9643f511bd4c7225400fafb18847eab15fa4b2f0867db9325427b1693b8882a4657f09738d170e3c61d6b00037d4052e2535e8b32d8a1986273b371fc0a05f0260e5a3f8113e72c31eb50c70f80002a8208166ba7338d0a6a6cc8bba88f2d698833ee32b8d3433eb3a36d244d6a62c7e68b30eeec8a6db6646476d54cf9a36c12f9be940c66c721c567a07b7f3234122c8ee4cd3418a51439c7411be0f30304808ab21b248b7228441490115f2ae714f6d1ed2cbc9a225bea1e42a44a59db38eabc104e9f338615fd99908226641abe3ffccd01e50c8cc3562f659c9fe4c53b27db084e4c38072e3474cc21fe71210e3b2755a25dccff325ba48d05320540ae1c10ee5fbe02472141d13e3d54fa262365baa014ef546a585b5650b198efe739d0e2761fec842722ad30b378cdba5dca442b3eb4db705c834893c2e963643a18edbad566650b272752a240ddc4befb36374faed4a8797fdfbeced5d4cef1ab39c832c979d3c2172a1add9f867e6fbbbc41a43de03ad8b26f8a71f4401084a201d0abcd5785c4072de65c7e4549608770ec32da9e4d1f31287510ce28ff6f1d0415d70d87bc0005e84f0f0d886509aaefa52177ef923f1bb0d7ba4009a5ed6523851524b89e18d0ffb80bb5eb8704ef21b91f29783e6e664df19e7cb599ef2bb6eab893d66189072bee060bdcf57c2be348d183411bd13c784c78fb9a9db8c352f8d9d22f691e272c611b6acaad6869b19bcb3ad0d08023e6d0469f6b29582231204950843cb6372e063d554e21a6d09d7bd0c54578542321b36f22d4de1b107deee217808139772c2291096956ff7bc233727a1dead0f2211b660438b266907dbcd4792b369324053469c410d23abb6651b1446596247704f1b7723fa0ee59b6e899acde742137285ad2f82f0bdc943739a04ba273880633b9992768a386aa387cde4d81881067281a789cbff639756bbaf904a548fd70595fdbec400d2154b0fbe9f2c3f47e7721a3dee622c17426cf827ad09a91e8dc09df6b775ec8435ff366ebf28411bbd7240427238acf3dc507af2e8bcc8a13af2ba3f2ae4e384089b1469fcc65575383feda9fe90c2c80f68daafd21055f392b30ff7d3f52cde92087a16b001631f59728d0e019e8a60c7bd7a16b6b9fec008a4c2fcde12fb94a30593d84045aae947728fd158707fd794beba117962cd04e123b122f250d64c79519e29497c59cf1372b96708214ee6b9793d4a5969744885c5737c68b4760f2a54e7ed3734415f67724b755cea22347b51ceb443d37f0fcf5684a4666da49089436992fa9a0eeccb72f312afe13614ccb89d87169c252a66d48cc4d8f0d395a3df1eb42c6f1864624c356e16467969da78072aae97974d8a04a94d9468cc6b11deadf6ed391393ea7217f411ab73c4c02a317803ad464eb4844decbc918ee4b6004a6d4b0ebce86072873db6c2837f6127c201354c1079a1ba4445240c05ca1a680f83e400a29e5372c7c3fbd3307d987adf1d4437d2c23c3a75f4c82ec77cea157af7d669134b8f724f346f379d1c87628b7d0a41656ec0263e2439ce407f6c3942840bbf8b812a7225aef284ab77d368bb2d790f469af1af9558301cb905e79432f0a79885e4a3723b339a28ab08ef1f5249810d6dd9f2e9362208988bb1b33fe0e2fd03ca752f50795cf1a77e667df7167e211077e5a89b1fefb9e4ff122ed7eed2d0e2d5b65c67ea408c1b287299972a97ab5a5fd9d5c2a4d6d40fc26a2ca6f9477c19b3fed86dd69fcd12552b65a21d9519d52fed15bf64912f09add2247de19eef7187f60172c6d358eb3c758c658de8c36ee820e1fd394a749a7657e421ebc792cae3de106729da6ce034a4364ff26babda38233ce3f4b6f75e8bf9fd3e928eaacdee7a8672480ee4a2a3c669b662f5ce75a28d0993e969acad5365184d6e9ad7ee860b533da1f51176dfe6f7c372d1125927bcb7c97e18fc0afe26bcfef8d2009943a7347231cf413bbeb7716d74c97312197ba30dc7f8f387eb998e6a427ec42caa0aa42e889dc1e328f73e97de89a2f9db4f245efb9a7d59eb58daee8455828beaccb872d1e4edae2e54444855bd82a914499833f06ced7f60d9a5423cbc9586cf2a733212a38751d2d004fc0470b8aeae85324ed7bbbf6b4d9811b381a1a5f2196b4865da33f3dd31b7fd8b596516ac8751be0d43a9c5d64bdbb710cb67f5c906a23f72d8a704f9449049cd709c5b2975dba3b91ce5c1b5a884d8b95616808ac2a7f07245e14b60babd25e23caeb8ab5f8d9abb6c036325fa7b056457d0f56b38af17520ef5fb8e1831be56999b3e43b8ad9199cdbeeb48f9f2253c4c78594ce3068672cad106c1a1fba9e958623baaf4e3e4dc805b9d6384955d1581d98ce019274f724b5511e8f06244ca51d6878fcc6ca566670143ae464d05747800ea3ee897f872bc04a2c9d6ee99baa8073192734432520db1219ae8224355d3df6caa39a4761d61c8eb0de6baf6b0d48127fce3e6d079e96c594b86debf69f81eea7c59f8b2729e2f063263d29cffd77c005fc97c126e293697c2d6a38b2d2edacb8a7a604372b55c08aaadbbd0bf2d859a6daaf66867caa2320114510bf64326f52acc899f72f7c6efb81a99e24b516a3d538469f4c29c13b39c7dababecb1d92200bd3a2f72caeb2c2cc98cfcbc719f7e449e1960be18ca6685b11e818969ec310c35e3277216a6e55345f78fc1bc2635d08f1260da9201edafc6b29b39e59e019e5cf292723705801e707cc83749c4f375e68ec38355b6c39a4e7f6c8adc0e1ed29e530b72790639001d2a32003d4fd17d982a5b050615965096c80709c0002812925e64725403d4982b02bf89004f5900dd20534c796827dbec7db4b4d669000343be4e722398b7bdd394f8cd800e52b1d5bff65a6bf2add02c5d962d99ce52eb73f1f272cddd794de4f5c88a8c0d08412a4068c543e9e0dfdb6271395e218205eeacb17279770e27521943ddb7298a1ff4fba2a04ae842902be919979a16a5b29532467244f315382fd54d1761ac7728e34e4899ff080aa235fb0c6c848cf4c2c3477b721fdb2745670954d8815a68f0a576b321b3b4fbbaab0092380124bd13badc17728353dfb90ff68d4762970d6e6b708196bd18945e27a1fba26a3ebbaefaf71b22676af6e0fc107022f5fabcdee888d7a944eb4c217370550b8d715cd47020444a31d03b219e1ea6d8361138699cb4f7e226afb556a1d55f4335513f8c86d985723ea9861ff1bcb231ed069ffd2c3beb3d3c630c174f17dc2bbaffce8fb238a6028a8e9e3b3af6ec8796671c4d77c5896bb0850e02243e80b459b84900f50f9e2e2971c931bf475d2d8f29d55681733301c3f6760d5fbac7b4ed88ff887027fd72eb4f98766e2d50536f05e8af6c98d3dff58db0141fdaf19bf7c3102f4a7ea534a272131afe1b808e7eed7ac8d7440cbbf5460151d9b85c638840b0aca35e9772f05716956ec697216dbee226dbed3b978600c7abc98447cfbdf4ab2e64782c5e36e37fde6944743f57e5b13b31db9a05baee0f92ffe76f39c7d5301573dc0b46fa50fd77866ef50afd625ad69038dc2bfc0d53671c1884ef0c0fef52bfa7e972c3b4a708e8a7e47296f34786551e7ec0cf5cd673b00aba3a1f8369cf6b00d33cee2a0f73a73a4a14c7dee4ccf42997f7f45ff5a52bb7b4d5b813364d8b009e722b2c1aae488fc06929310cc3af2ed3aa2a7dc7b181afa90ce817e4b812a62f06f18cf2dcaeeae7e8932b0ba7c811aa858bd2828333adcccd7e6fc8f27582fc14a3f9bd7edbd2d8a7eac03032290bb04e6597527ef8ce4922ceae2793fbae6f7203b034343ba74d56c7f0843e00232c667025d4466f7b546832d21b8508d207727b5163b4499e2479674b12ad4eda0cb418a9ff0c0eaba504fc9fa0cfac331a72b450c13b0424d7c39b15d4d9d7872486e853177deed1ff763b47cf8f2d23a072990cc75cda88b736d86889962960ce2f7f776f6cbc8efad4ee6285c4f3247f7227bdbd380b2345e806aa7d1e67ec38ca79600a3fe1b932cec891f340de7c567249cef128edfbbbc659f945f71570124e71a45fb4cb2567314174d01f66e54e72c4eecfdabc0fe6d4bf3a7458232efb02480344f04bdd1915ab96bbc2bd8eb369d49243b2a6baa51fcbdb779b061bfad17778c11b258bfe782af47d718e204c1ca983565d2bd418607afb6f05332368d66c363528fae8c0530f846fb3a3d84872bef641f650f658212036ebe6816791d301e4a383f092683a705f8120545ddc57f156390e8c0d9e8008c22bebd09b2c5a8453757606dfef591362a4abec5e314adbfe548a199feae25f3e3548938cd18dcf664dc3a501b4b0cb0f4695ca834b727832225ed18e303027fec2a3858f39e170b732401c89b2e9a58ef0c6f904f17286763710ab48d3b3e205730aeed7f1ba3727ceb3090e6ea421725e1113b46272deaf7d271b9799e266c65b37b884fff40bcb327a0abd4c9c150df05ed9396e72c903f2cd893f92203d3d98cbebd7faffb2735b3a3cf713cd8b3af7d1ca80736cefa940128fdd75fe628f121c390dfbd55277173a113ad1b84fb73568f8da7872f95c4eaf53efba7aae5e689305a97e830949a8224b0bcf4241a5e27c9cc9d872a6826eff44942ac7f91d12d3b37fc0711ce77d9ea00627db7d74be94e72a9672bf3093bf9ddd528b88ac5754ec6d056bb1f65f5b1f287c2f71339a8a2e4f9a727acb91d4e68f2ff9f1412fb04eb073178a80b059c1cfbfacfc86dd551378d3728caf974d08c12776724523f3f23107e6588f46e497d9d04e8341b0099950897266f8a1ee766a2807485e603a40ecac9cffdea5851ddd09228edf8e2f2cafb950e35c002d24d4583d960ba517b18caf75688da7d2cb9c58c47ebf7055ce885f72b3a5c9ae017f76e25d5fd8eb08b993c6f0b3f77908bc0a6657c0c57375ee040a8c28212536016561c0c155b17bb5a6f1af1123e1fa98d982564cb4e7eb669e72efcf5358b54d0c52a3cd364545961a09a2b724032a42e92d5cbd0ab232f2e238acd7701fc1b165b57e69b92610b214c20b6705d472b1fad5491cdc439a9e5363c4b15274d9857adce9236537ac13356f673e26a028ecd075827ed2c1a973b1722cad2655935283e82f0847ad95e9990a42d4fa781a22f1efb75bce87fdef01480c2e85c41e805b453afeaab05b6e4cd847639b4e4489bb657dd859d0dbcdc572aff7333d765d7c704dac3131074a18d40e0f87acb3c5dfb74555e1218a9fb158d7dafe6d1102ee7978ccd2f6c4f24597b32da8555f0e5113a7bebe9b05ef5e72435bd8b8c8bafab9e64935015525b224e0783e890f5204a1685ebe32569df2724a23791c7a5c8bf9c5ea181bff85b85ee465f26a77c28ad0555e2dcc1df6a07250dce1f62582190e713740372da773d3ce2aedfd6d73ddbc54ca21ee81fe0a725845046febb39231fed4f54e64ab247a7f9c7b2dc7f9c5af8ccc72a7ec5cb2724b4d7015430dd1649fddc77392c7dd1a573e2872986596a383ab7fa94706a472897ebdece48a31abd4458312437d093be3a4ab53c357c6120c99317486cc5c33ada8c3c03c3aa5a69e8efd5d5ad8c8f4c3f2f0e4445817a0a7e47b9004924572f3f87270913824a36cee1937bbfc72f36d74156834e55cd09554c527d14f7543e8d188a4ab137c928a4472500310168731bf7a579f902ccb36a8424a714404252c0cdfc211adcdc3992a66bd76b59ee8e119365e320160fb59491561338842728641a3b3630e43538d31c6fe77b84a85d1cd38861d1ebeaa718436a4cbe14e7297c85c6344505f3c19143861df517b5201ba362a12c44ae4c6773603f8da42726e22d9a8f9caf902f011e9a644fb791efbea5c3faec2cbe23cedc371e7f85c72db7cb26a433991ee7d5534765903af08f0101e80638e9b46f55d0ef9bcb8cb72859a8168ab86965b8c22bbde43e546798b4d46a48ff151df23926c610bbc4b727ada118cfba063e7f85a254da0e32d3970909b1634eb002b6c7024385042907262de081be1718f44f25c0d7b3ae962f0117f8a25d356a8455dba2bbffb611812ac44630581d891d3ce4526c0b10b02b2a5c634440bd69e285a8129c439aa753191a5e452e29d4073b199dfb3091fad381543fa3951ec1fbaa75d2276bf681b72ceb8e218439bf800f8d5025a51e2f862c56fd6c68ee1e015a4ea84a90f8fe53de58607361a9437e8a8eb6aed560f233de9307b366964cf1c461238fc9f9053724622de0520c0b642b22123f01259bf4f87d92f6aee7aad9f83320adf69547572152cafd2ac21d65557fa1c2c1d167f657c82164e093e6e7d6feb124325abb05d2b887cb6ca92545d813cdc8583740fdf570a61812cf61057e2c7b81b70d28036508b7d4b756ac571f682071d5495d3b5e014806be9b080c9b53862846db2db721d6cbec34968f4be50c041d63495f4743170afe3a5e4afd23f0ea4ca8cbd79728ad37cb460c3f818258d667e6550f318a550a2e2afbf4be8a965184426555b6f77f17f7c8d49f7868c323c2e64449ff512be8406e67ea7fc334e9567cb9422722973f3c5a4800316319043b5e0ed2f58c6648a063be429fa80a34510522f8b72825fc91c166b98136afe7eb89d96743e6a3b77d5fb681199145f5225a7f3fa57bb4aebeb2a25031470034d904f1a138cb91a0164f9c3e4c740cdedbcc40a1a30869735c5c5702c164ddadfff658798d3504cb98ce03aa9c56babc329d84a6e7210aad5ad60396b0634ee4eea73b52b4f4f336c5056a5971560c68bd8a4ccd3562feb24574a17db949efbe98f6d9b3f18642c2b2cfd635bcea93ff1054dd9da7224b03d789529a4c42678dc0958a2311a0993077edc75cba169d1314fa13d1372117d2ab0f81b23f7a41efc5f4d7b5d44c17ee5a77f0a1c3b2d26a3be4b833f276cfddbf7481bb88f7ed54824978ab89de8754bf244d6cce98925c24ce4594d1b1990cdd494481f3c81d6c8fe1b2de10f02664ea7485fcdb243757126bc3f9c7278ecf572ef11ac57bd82a405f919b07240c6bff5a60464a2a584666206cb3410b8691bbbb54a484b952c1c2873d5eefba5a5d0e891c564bb85bae34bc9ea552d866d6b0592a11dfc49bb532537b65690fb6a75c87a5a2f4b6337325199f32e2e0270880f32ca4880c3b47a20f8e28ad98d65e10f9afcd37cdd5f166cabd1fe5d6004f9b298e31811a5e3b943990be42b119a8df2e0f7663fc0ba7de643ecbb02b42cb5ae513de0687c892877c51f65c7abccac065b77c564b4d09b43abfe112f39e2db7c457c29a7fba553f0f686927ca07f9611a199a1d40ee9cbecf5cc385fe2899fe71aa8af7da5a2bad4c8a073a0a6f00395cfa1e3fb9f8b92cffe1af832e389e5a18db65ac849f3c5723208fd4b8b68c60c34ed911cba7872ed9cdbd76a11a7ac4a209fb186360d7cb2964d61cfc7fb2785538682820dd4d647a12a4d1592af2ce8417f93f4a5ef181ca3dc0d8a4b648d20a018d6c81e4dba4cdef6f472d0831915326be6caf97d989e20a22eac4e290c051d6f96c41900dfb3d66b8a72a8d323e9e2d8d4a2a5438910eb4dd6ccfe02c113c5295280b658277f12c636726d06e6b980cd81a81c5bc43dddf3163694f384da3ddfc1abe7b310d2a5b49f692b2728507222dc2590599288e709602cbdcd44927bf37e6d828e0f45f574937207a822fa4ce6b95e3e98ae281a73598c58913862f9285548307a2cc842c066725211e18b0bc5455d171cc86163bce64ee358cbbac504cf3c1437502c8bc7cb72fd19428d560493ac46a4aef9b410d83cf8f6b646142d227dac798140fd0df1659dcdab94dfac178d0fd04e4ae489294f47845575e40cc3ed3bbea46164df1272e8a3a04409fc130c82b8d1aeabe0c72f9d6d321c2ee064bcd8f964e1c6ac9c72a4a375d736171d109e27399a5d1c4dd3cf55847f9206d63694b26a95e7871f6311ec1af53869c63d627259f902c072ea95d8bd9aba20549c333e959023c9742fc8e04896eef47d250285de396f1bc0d0d6499463e12c818d3da1250dbaabda7226090b915a73baf3cc2ab140b4cdf15c412885785d55dbfb7a708d0a9ba03513cba69ad84629c0f9ab447748090e778c6785f91f5e25c0c75b2b9d070d0e8a403f353d62043c187e071150341455209885ee4fdfc3c14b578c3ec780c1ebd4723a055151472077ea09da82422829e3fc1993ff753dedc4d80d1a14dc1ad84a0f2a5bd4085b7bbe142a94feac5f3fabfd2c1f519a0690af08a8a26331ab9b6872cfff7d08e1c4314357de4c2dc730f701bafd281e357d3e0285b5390b95d3427217a8a525510dc26639b1dd44321317131fe790859481a8f9f7b2b51c25861462a1ec8eb630c361011d7e2a75591b4c558d1a91f4fb861087285d287c64a11e005405df4f4ee0088667073bdab9301e819cc536f8f2e61f53053f6249c3499564d1dd2dd6d2043f0b44b24195872da1a89ebef521571047a724becbc2116de37286d2e50422eb5bcf28a46528caa5e65a8999a1ccf2e6532266b2b5a07df58172fd2a6a63ab39e8473359d5e0aeab5c03abf8d0fa741231872e9fd75eb56e197299b45f541c9c396cc8f42e6cb35fe4d10fb6aa23a3901cbba19bfc9e765d5e4bd454d2988ef5dc1534ad402922621f5ae618e705b7a386766f52794499d65d728aaf0b55c22c4c36ec122398651356ed7400e97b2b9f501053fcc1f3a21f1c722b9a65b10df67fbacde6f7409289e73d2ef95619afcbfa4b391b61e9082b897095fa719b04261fd2d72abeb3a7f261acb7cff7d900bed0ff5ec045c369805b0b08e62353e16d71ba5edf621934f6724d27595f1464ebd3682c34de813a25ad44b6f2dda90a911ba1bc60b1c6d7b549a45ad8b9f80e6e3e747071f24176cb25720cc4468a49bacdadd3c43fd82eebcbb1b87f8261fc111ff1572832c5849d0a723945fe2101d55b8ed3406da9bc6e0787206679950354d22e3d4c2f1e1907387261f5b50fd7689aa7f8f44e944423bd7ed4219ede883bf5900ae713233be0c87218afedd8467c8afaf9ae57107d6d683ec5ce54574afae0c685964d7f3f6e0f723429969642a0aa494bff0c9cd0c25e93fb2b6eddaf166a00cc4fac6bbb872372c72ff1af8c13568836f1d93612b411359ebb0100a8ddc965623ee864cfaf6b72da6939a64e24d644d4f6b76a7f796b5c88505d6f0dd70932784a09c531cfa766fe7112114618dc66b9d8d45e3759e2533dd3b23abfaaea6f854be37982d0d42555312d11626d8a755fad37253546abd9ddfa54558e222b3d3f6f1fecf1f0591316db07f5c43e00a0d912961bb5dd2a0245bdd5d4c2a5d84a124f72c5c7a23572dd3ceaec85074466cf2083027c524a801658ba66cdaa22af951039617b69c2472874623b5ce34bcae019a9b53ad611e3c4127ec847247a66362017b22b21533e1d83d37515c49c6576b4efdcf58f829668fd8bd32b77523c101fbdd0eab0d072ec134b1cbfaa2345b3c9097284c662567dbc19ecf86da49d6974763326493172b2d446f0808a236ec830d207b2de9a912fe6f2820202c1dc13a19eb376d2a2727e717e552403c933dc53c3db85dfbe4b7934ed28a1e67dc4c3cb6e25d6853718881562a9fd0bae68bb701941f579ce65bb0c158bc079c89c490227a4d377b8172cc1cffe4281e3d653869fb27912474fd9a19ccb67fd2553da3517611bfede72efc251e7c310838004e850207e33eca5b9d4984da95fe5e3864d2438511f355ca38ecb928bd807dffb18c0b061ad3b61c489156aa4850d2bba9fd0d3c28ab1723a58822d393c3b6e982b7391c4b73a0193e3247967cea8bff0d002a274b80d7260f37454f625e0417c64ef14d552277b4de7c9fcb0f6e6b2dcb96b75f84ca856b20fde0d17ffc7af25ef0752be34e1ed23ce44df4657703463624d3a28b1f826c2e8f9d1599d4971fff9adf82c8134f10746b36244c388d881cf6ec15e8bf372cbb76132c316b29518b93381536150b37f1a3e095eda7ce3e53fb10578093d7099a15d0e27f7ab50770d9f23a07ea33174e5c196b7c6c04cb9e0e3de41b53772c5afb1ed29f8c3852a94492cdb22da069b4ef4d2970b2321c7499401df3d7f72cfa015124506fa0db0fdeee67be8cc8e19425893ae934115922bc8c48c8eae72e6bf2f9920bcb6ef2db588882f3e2fe6b827f596c236d956750207204fcf7a28151e52be6e97bd6989af9662562bbd7be0d961898cbfbfe1b8a2a4f8d8193249903baa1fd428066e19ba2c75d9a330cfbbb17edd5414b0c302dea32ed1ea8f72a8f72029383a10b6c5c4cec2488b9545d20650936ab3e124c72b6bd6731d3e72dacb45c2634b60fa9ac7a02803a365c8973dcf31efc7e38619cb1f5b3cb7327113af0ed42a961d97603b40bfa37e0da0fd4f04b00451362db62e9629e2d6155f71fac0297853120c42a8ddd80ae2cfa9feea60897f8864266707fe1903fb361700c6742407e311a29c1a3e738d21ffc22470aa018969f9666b251a6cb9adb972d36bc1c7fe5e37fc9727600b4b2c302a328d3ec5d9240e0812971be61db6f83d095268764355facd7b17c95547d87bae4916b7f83875c82adb982982a32acc499584b933f1cb8ddb485628858b70d692d65eeeb15aa0504812c2cc4b1afc2d72fd8bd50a1a72435e0c0523107b46e25de038f4600f16729483dcc941ba251772133b1cdcb1ac410561721a33bfe14881aab5208fb175a1e2937efed72473492eaf15d9d96fc12b37f7345485c6755e5025ae2feba89ec7a907c52d7a23ac8a53e4348cdb27d8a0fe7d3afda38041331fa43a8e1003c6ee407fcdd69064e20972450f177318bf75633fb757fb5f0049bcfe33d63fb6e76a2e5215237065878972e52eb804234d5ef6147a2321fae28908c1193fa0cef2821e88410e0a3d36dd726531db07c727dc8d64785d184a458d5e42ace84f0989f5acf12fb2743c6f9872227dc8c08a44680e2bce80b4c08d1edbbba1bd37b8f09a312f548bfecf74840ffa99de3c75373fb147db856be3055f2683781e038d1932fcf9913b1563fcec2f1906d2f6799e86fbab4c608d971e9a1d033efc43d356dad3b65f5e27525a4972c3452e7ff206f127136f9ccc3874e4c7e75d8a8dda08abd52d19e1e7430e4f72f6231b7d605f2da83e2baf5f0c49fdbde15d7db150f3b2354c66fd566e6642642169008f25f1a5c75705e53eb1d7a20caeb1d8392fbbcf78c4b937f4ffa554727ee0773a1ac3e895e408d68b94882154f78922f60f4eda1e756998532623c772d8bf2a2b1a36366404f1fe8886b1c1c4689ea2abe4d6733e7800c2251181967254e60eedd39d78d2b5ad87211a6c4d5da213fda54f8601d0a4fcff313c7c203bf83de83886fc55143fd9c510a3ba5505a37939da7ea915f6f37a4e4d3057c3067654b771ce62319f1d75be622ce521f2d68f79a6dc54487410590e6d6285aa72ac07a5492fb421cc0e548fa616f6b2b02166b83401757ec04ac2e78d98ed6264162bcdb223ca3409dfd37e328f26baa226529ea37bc8a8af784101f4db810938d8a47be1af4b4049046e1b2c36e285cf73e11ef1b6dc4c302f33d3ab42cdc8722f6742f737677f67fd97a50ba7575fc81825ff33f0a694207604c2ac37595b720be0e406334029186342cbe0f72734212ff3f3ecc18b70e1f8528fff40435d65a651bb40696997b28f379f1ca65525b22c3c0d9b60cfb9e8a1d72046c668634abf33088b1bbf8a242aca72ea7388ab8ac4e68ccdc9e76393e680554b9173896bf298b08af880057a79fc09936cfe518e08c69da7d8ce20a124fdec252673d472d5c3d1f9dfed4655ab30c8a784db1f954bdfac92c14eb521a9e9668bcfcb3904148f8580781b6a91b02c09ffed21597726ea6bb9daab5afdfb4df467fd275d72130fcb93b93052272f24851cd531628ec25063b22c494da3454806c6550a6b40140606eedceca25d024a82a3943b5d41ff21223c03936a55d34e8c09337d686d291a31690bdba245fb583c01190459cb402071eac6c48e093e4a3449fcf21f72ef50d25ac1cef9abe6a3f23d4f2939fb63d873b4661f016e2063f0c1a9a2a072ca0c54da2883260c93d7ee744fa782761e8ec1508f953b03600efc5ec65322309826af1e664ba32c73ec556746066f2c23cce6b46cf91ffee53dcac62be5ba56860fb0edcbd20b0ea033ae2a1040e29aa22bc2ab1c0dbd780b2bcb14cc77447208e312085ec2485773b2cd5db5487fb528726191be1cc7d6ce131dc5dc97811a2b7adbe8921d15abf71a80e39a8e03b8d40752c8927d65be583b9c543e9c5a72910ad84d3a8550833c4346b8f16aa575875b36e733762c0d89663a2457c1497211500a67d2394d037d7c0c8897a1dd761272d94f6bab3435df0c9fe822808b72e8d755fccaf90024f4ee6d7492f2b45396ec6d966e62d4894f7c82d4f48869727947dc9863d44e87f03fccac933b505df19a84c3d1f86897712250a52ce31f6c84ef4fe9adef4678bb7130b5e5a9ae62d779b093541857356fa92ac1d7e0e67206daa88bdda46aecea102f681c0003b91e8458d4712398a000f3c5d10eee427213d835f5bedebe98280daa1cd8db82d6bb7696f3c037fa628a4c74ff698c4c4e46c1c3a7c80f9ed0e87a1c6b034fbd1918148ad2c095944c8ac5baf7098b012cc403ed1e979932812393f256a9bee763836170a8273cdd25674189217d3b871d219641ed97f0544c8a7ec01f68cc5c58d9bda5b072c2b1227bfc532c5cc18d48d9a8511bb297ca60646b5df6301a40d4e8cce57d00521f55a35b1394da089d301edcf778904ca9293e7d4e825e2994d1bc8e4821f105e599c4c5f990663a2072ab6a921c3ad2af51eff3de10567db799fc460dcb0877667e531d2ada4a7b6b723dd9187ea801fc4bae80206bef1d24be454a42747ffbd2cae064552e88917b72794c3728b40b3dfeab0e26d36d5fab3adcf9b1d8e4d9dab176043295a58ab6726b6b86d509075a7d41e17a2bbee9bc04a170f0cf1d5419a51c208093c1d2a672804eb1dd5608d7e61143a3cc9cb3a7412062b11845f0fbfac2edfbde5b338e72883c5e791af27cf686e4bef153dbead5b16a62ce6767c0629cf134aec13733722a843a1fa616231ae356cfac1d04eb0b7615c436db8ac5b0f29884717f933c7257cddd427c33e5e88e1f0f291de364777668e29564be970338d1d0f7ebd39f142df4d5434160a0c07758f103b547bd447e3ccc6529782884d11cd1985007ef721bf123f419d4ee4742eba8280d26e4d344675b2950318bacc0a461da47686847e39046a283bb5d9bcd0b26de90814878cbba0c7fe341297526ea76256074b0032029fcf08bc781a06a667512d8f0828023e778372be0c5a6518664593b6d0f6427b647baf6e276af099ee755e0459a216e42a6f505f0ab6c9ad9d29ec3b343362c752a9ec239473bde6353d08112c28393c51989c8871556d309a1f64353a97273b445e7bcc0d4f84d7294284ec4f1932b38b08ac25f1f9cf983397997e72b72f1e39f22ce7901517a8dd66cb8fb23fc75a0005f0ede48af56f953556459a6720cb92b0e6f2fd8f3bc3a02243ee5b2b016d993bcc4ce3400374e81de9087b67267d8a0db2c635f0ed7d56f2e5896a0af9056fe7f1c5847651d2ecf6eb0a2287277ef90aaa47c27ca099953bc44355b07f14c46ac2fd66ce476a5b4d70f2395722fbfdb16fa743e709570aaa53584b4612fa45b30c36236a03a52e7b1bd31237227ea32e09ecb67599fefe1f556e2a306f708fdd9db4b0eef8f9aafb90f7f1272b4fb73ef73e1d91517d13f808228ab1ca03c2d36c889e3302f2291f52a3ec472b06bc40ea2c0514f1f09a65d2adba33e87a51b9191fa32fbef8e5d0e7a099d7288e4e83e9e79a8ff7f82665df6b2e30b6de50c1b5d808d02142eb399778a0450e3559472ecb19f915713c569a2a9f916534b4badc0b006921dfc987419783f16d07445d3f8d89cff387eb673b951d29df63beae38bdaa82af1679c819e7140210120fb77b483e904f847d6e1d97de5e7f3c662bc8bf616d4796c61c20739ac093a34fbdf5711ce5cdec6c4ac7eeaff7beeb1fd6c57ae0315dfffda6f074f1a72f749797b95dd06e18babb6b1287226a872d20f17ce4cd1ac8b67314a7b59b922461eac5f6ca0f86d3df05013f4f05951e879c2ad66f40fb74b2caa4d0a3c6d721b440cfbec59c9312902ab1dd75418e32f804910261c72b0088f4283b05ec7359d29367d9c53413371d2ed229ae9e177030e686396c6c83c79c334d191d0e4723bf22505c8f4624dbcdec71044b09007c858a42ac7ba4988ff858708903e256a025c370e0db1ce3ad07f060bc47db8327189e7e844e70b3042dfdbbe4046b372585966c2c578d41718fb112862b2824b4cef22d183bb3000e3b3a3f7ec824e6c0746bd3f5ae15f04110fea7254986c272915bbd0177462163c75b242c0ee1e720bda4c187b085059d31784d0752613c8220197680871b52f3f7c40dd6be51a331676ffbc032a249933be0910e30f7cce27f65a80339b17fbbb4ed2bf5c3c9e5ada8df53196dd970b004235e95267d1f1c513a2f5b8e3da8c68f88c315cea32557c34786fb4939d9af25395197012cb39682af456f12b9b892c7e9e4ec10eb5725524d4839ff3f42afa6b23fc2a89ce6d2f1b13c80facade35f760a30f18d3a7223899510672642a7107a40d3a1d8cbbdf9604c5719b73d5d1d0e319f6becfa724ad0be14781b40e588ccedbb5736d4b7011e08d0f125091e1217374e3a90e15a17ffde25ebb87b715b3aeb66c3e7712a054d9b97d97c3427d12dff1822723a2898875d5a6be928dcada1e3b0076b98bda1d8684dcb473be2e4943163291fd7729454b35e1d9d6ccf44f107b2017f93d8361fe5561522037623a7ada911c758726e1c5609014320217027f516bcdf5e3f0b9e29ad7f1833e676178b8e9593cf6c3559682def5a831d3f7d8c26d0ead9d4b7fb57d9bb7146f3a1f3c9cdb7573c727e4cf49bbccb818a9e597bcda364f94dc46d053cb125e4da294fabe3c302267281ffb16c10a01cb6b3386c0e2b36198aa8719a66130195da3ea07bdbae7a0d54c040fe9d64acca02062cb49cd1549b0471beb6d4d57f6185678da34078a87472ac4c85727ce7a244cc2e4dd0b8c9363fb7778977cef3aa22fc6cd4db9f7a8872cc70e6f0f6b436ecfe3051d31caab38d89ad42765951fed494fd0c7ee2b0396de54ec3c7f742906227b2eac655e50b4fdc5ef1d77c7a1f3b275df7083e976972f26a709237d598b1a6a63f9b2566c83c39fed22bcd28135d15b9a2720a0cdc7236eae4a376e2d509cb31cf156c42f30e70680196fb049f2e7f2d4129b912b472b45cb4f3dd95732a5ba2ea170118487aa6bf4e2869f3908c26249a8124bc5e69b5d19158b5b6d8d4cc839a9a56b7891b99bda22e2cd361ece08de8d112a990727e627910eaff90787880224574cabba16f7efee0e3e765f464115d33e835be71c7e34a34e26d6b92e52b768b6ca21454dadd4563bb68837e5ca363da2a311d520da3a5162300001b46088c04d64ec60db67a6379b21877087c009bd123d7577219eadeda1c54e1ffd218521a87fb78cc838ae44c0914434d7e3c0661f8b71303e59e22c98bc9efa5116d4dc37551e9c686993b4231bd16a093ea86dc39fc9372a08ee4f36471b0a44fadd1f6a0edeffca100b3968dbbe170fc8149f220060f72ccffe8680ad3d81d44dd703ddf66447047242a67eb2717926ad1584e6b4709729487c99bf057e4def512748feb552995f6b0a9bce30a81b9f3756e773f4aaa4e3e8d042285236ac5240d60d954fdce02a50ce7580484c3b729277c84961c3372c585f6b84708ebfd41857476db0b0b9c243326b8157fc02e10299e7336e99272f236011fcffa038f17e740d1ebd829e04686aed1af71e2247a63eeca63660908a70db9e5e4e035ab45f0900bde217967cf63882b2302e9457013e743121c64721678baa562e0c42498512083ec93d07b41aa2515eb2d8284bc81cb9bd1cf2b726e356f0b51675a4f2930128d268785cb2c4ca4dea608e41b3ea86352c9fb962885c47cb1cacf32e3f78ba0a188112a1b9691be048d61a5f2ac2dcb02a580b672bc42b510d1172ae561d75fac068f9e965b4fdf76a99f50150f389f7b3af7f30d84f8b813f120400586a94ca8c0de5dac5e87e3f1e306eb8bf1cd8fd4f9ed347254df1733daa265544682d98d1813ced155f7b4328f52b9e6572e05f04f8adf7240371822312b403573d095bf3b654435236b432a9843e0bce2ecfe57077d3e235a313162b4fadf17933749cc2aa31d538886bdfc98ddc3701b3142a5690b47723f04ed3f25675faa1b8bd80f587bdd388b639774084b4ccf7043ec75aec65772c1152569a80910a73b40d689f6497b90e39f65f4f163ae3d6f9ccc500f6fe70b89485be2ed985bb93cf14343c7d8442dbd39e69ee2aabc7770df66f057f0d055cb2a9ab63181ec4595148046b8eee622fcbb93b2b67e3f0cab3b93c6e635b8727785cedd06619f7428ea50444a8930782a346f63a6386dcdee6358fe0553f3728c01633a013ef5436ec53c309bac31c7db8da35be940d0a53a0f51f9bc78ad308c38391ab755a96118aa11a6ac541ad962bd464b3bd3059a9a139cae8f84cd36ca004e91eb962a51d135fa51d7f27fe15500bf606468b7961b873a9bcbac6d6569449be2f3e2e8e99452f3a1592b7a7e35b4cd07a73ce52e8fc973a126646a72ade95c9371fcebae88a04ca525be32f7b4d7a87a1aecefa5c147d5631d643d724249e8cbb12ca2e8044bd234e110f870e73793118f2caba87acc2d17eb7920429397b65190dd236c4d1fbc338d242818e91c307adba3f04e5fcb492e812b9272737e9fceb176f2f1561df32c1eaec8179c18861abca4948266345b40d85f651db3410e677c8d6df29f6cd434eecd97dd570d827aef7191f152768f50b276094a72eea6497003123b9273564fa5ca3babf6c7a3375523e757d5288747735083721d4057c53430835ffc22678620ce84ec1a4c6daa970ff188d93a81be2bb63f0f7332c349c5860480d5e60ab0d0f8b5c15eeb07c13a9fefa7a9b3254666dfb472d31119f79887b72060f2fd93801e8897863bbd19da2786c62b322d326d4ceb72d1166657f04184f7b3fd8f9bdb434f535c19cdd98e1b9dd55b21c2dc7b5248723d9b594095fa5819e97d50e4c277f1ce2e7d932c871e5f086513ac852f0b9372c20869e5b143ad5c3bce6e5b6d3758e182700a107414357da2a0949ef7cef15ef8846079fece96c4efe4b4f2e91802f83f021d702211175b7382225c97d45e723aa061392daec4572a7de87c49b5aaf2c40e839aa41dcde2a4c32d3f1c2ccb4250c99e667adb37e83fe427a0e154d6f052a17f6eb02b81c9d5de285dbbb3d572e86adf6ab894479f16067cf01b29efc62b4d7c34319dba9812c064e88f9b2a7276c856ede2b635f58d6fff7182be76d6993ce2ac644e0974b0d4d0d1755610721d4e119834ebdf466d2773e0b661d15674f4546fe5dce411f6db89f9e9c93440ffa88d4348cd81cb84172e3a79da8ea5e58efdd10d09f3057f440aff1ffbae342dc50c479c870ae8707ab562ae806605b5c1e00ac09935d610cf5d8b1621c30829aaa8615d0fdcc9c0a7a26fd05eeed15f59b1d850593633344d29e30259d047b8285a0a0e6d6a5638abe1d9860a73475d589353f7a99b3d52b9b7730aaae51f6abc67607762dad7abec8a9c4b88472bca418519bda249d606b6a46389d34772b29884aac1f519f8b18e9d85fa9d48fa7ab654140dbd83ed0ee9048f2e6435728f632204dc15fe173428e7dc18a87fbaf4dd78f81dd7f5efdefc58e1ffcd7972f6fcdec3de804d5fba2ab840b67f70de4fac9886ca9d0143135e4231ae1b9c72bb17ccb104d06919e983354f8a17814cc3a825632dbdbd1b3888f1b360a9b30100d6d79186dfa3e4c4dce6144b7a72f2f9a4b4478ab75653fb5e2bfae47fc4133c299966d5f218cac7f915e289da9ac342ec28d8b33f669fc8c303f5d6f6a13a1242f0fc10cb5539b9dd6db967a9a15e101d23a3cfa27aa100815fe991fea47268a49fd6cea20a9ac889741c2916be3e3da91c2724340d6e5593f1ccbb444a724abbd3b17a7cae981698695676b86c5e4d42d426fce35acea6b3dd039f481d4a8ad84cffcc7fb95db2ea6b6d8dcce1a0fdff15ebf022431971a2f21418365e283ca81133f6b3c2ab8d09fa87d628f1beaad5bce4cede117fdb2db76bda965c729d65fcd716c6adf4044d64d1ef1c1caac1ff34d16660566467e81ef09c2f513ee64e6867369010d886cb548686aef464694127c9283a50a2c29920ed9a310d722558df15ec405d3702529a07fc694a827942e7ca7ffbcb494c85d54d964f2e2ba63bfa310c12eda2a648f01a3d7d392f1101fe749b18b9e4afab5e65215e70724189f13ef9c6cff82fdf0aa28cc8baf1312d8119e39fb557e905660a3d7ae4289581b77abb6e901ca72708169235d58874364ffea18f9767a7f659379f7a810396a4700d4f1521c749c8cf1e8dfa08b7ffa37608f83e4a84eab9d438d5cc787210d6b1cb70c0932bd55398c12b1755c321cd59e74c090aec3d7a142fc5bd67724ad3298b09c916e97b4fbf9ce40a08c0e338f5a900bce6dc86decccd2c88c0726d2dfb733200c1a674f442d4431fdd9d91884367b8066e1a39cc24b7c1268f66f8d9f8ab9350c9b17959167ba2a330d57881d4df2fcfc6db95ecb3a8db2704568ca05b4d1f8b13d785a9f3aea01f443a3ac364e0b900d536e08ca05e64725d72c8a967140f357f8a4b5f7c41250881ac1306ac79368d16ea523404f1e68e3b5eb33ab8c62bcd529c0d310413a3e978d9b7766076da2f68c72dc809f9c6a06e0be065f0a86a9d0441035ccdf017585dd7f59016f985fd7dcc93778cab9779b91711ccf0278bb850231e5806f7b41e850a055c846dd0049189f1a7607f713d2b72c0f7aa5d03b9b15c6129a9cab112b43bbd1633a2a52b0186d104f8196ed21772c1a414220610b701b38fb38c232ea81325ad472c9b214d9e8fd6949a0cb2103a377052d1c0c93fae5931136ce4955d6c7de8785865bebc300766760a2fdb79721e27af2347a7d9784d9f7fc53a452adb4fe21ca3ed1ef2479fca1e5dbd5e97666efc1503a83f3e99b4faddd9affae69487fde93d47558a0113ab94c348dda5727f3346a528c04580f96cf9c4f40cdf947ac948331158793179d647230f03d87232b1f06f93477850573c19304076c4595ade1801114be45bb802231441ca372a310c7c6f980f5f055471748553b587bf0bca91adc7b6c80b404834b99ca88e3bc9062f341040ba8242baebde63c287b4617c49f75c90e28957dd73eecd29461f0873043b14a653a53dd5347dac2aacd040256320ee1c4b143e62bb077a0642726fb6e35583d763b4cb207ed3b9f7cbcc701e71c67ff8199890fb9c4696f9ef66eff61cc25b964de5949eaca4cd1e077b1f81b2691e242549e9859a86093c7e724ff06d2833b4899efead30e9063c2b3ec1bba80deb173750e23d34bae8417772548f451b06191387a470ea1921faf0f98c91ba2b47ece37ee46f42961837162c1104504bf28f7e43302e2661af7d6e7236f6f38af0747b6d44e6abf6e6f9ff72ff483e513e3e3c3634c0b2ed7119e5804817b39c97e266049ff7fcda2e69a8724cd11f13e82338e7934483e67ee887695095050a42e1e21f8bbae4cc0544a172c32eb2369e2125fc99dd013bec8ecb7fac2f6964a112616cd5ab36fa1ba07f312c523fa85633762a8cb9929881245d8be74e6127d3ded77baa360d97ce531972d7ba815e26896e2a1d6d2d920298b8a13012c49292e5ccd973cb7692313e9e0b600973d5363a899799ea9ed6a51799a4ec67601197f7eaf9b575de742721497200d4be3efb9e22331fd269f035119021fd8141c70bbd2eba7f5e173f6e05e4722ab8d36bf99c0187309e503d85ccfdf91b28c9a9afc5dfd1c7de31b88767ff72baf83ee25a309d514e80a8acabeaf8b282fabe550574eb0653c204f9c2cc2572927de672f6e96bf527355a1093a43277ced15ed5973d1f08f76286b57b314872c6b18676846fd7614417992068a3142cc2411d75765f81f10dae6b78f8c61772f00e84db128e8421fbd23c65bef392542952eb01fa40d56d72a313ed710e9472b556b5e11f68de5d405492fdafe683df5b76a49d6a8c88ff813c0ee0f03c7d5f4628c13b796e197597519f38f0ab6593c1efbbd2ce71371b17638ff2595f08721af45995f9db0c3681adee7b5a0fd9633b12aa12bbdececf5a7e5f600b12ce726697f4e3cf42eca7231c96531d21557474505d66e1b7cec82b54143feec487726c9669feb02bb06dd42ddc61554f9785774ecd6020a3aeba6d609a59616b7d578c40f078723d0007f360a03616a84eea32cff7b11537efb45e1c144b7051897257230e8b2860d93e77ee0d3023b8a99a1c58cfabca311a617702e637cbf52e72a25716ea0bb9101dc3749bae9aafadaca547a246229d3d57ad4f7e0090877b511fbee42ca8ccaff7971cb458e6bb74be8127966c3efcdd3d629263082446c5727a43447e749933d498629dccd3b412519f72d9cc65ced4528942706e234fca72ab4e3cadce1b9116b04749a5d2a895449da3742523d6ba17d1b0e65c9727cf72579fae4213665e856df583d801524bced3831b84667d66fa437fead38b8e506e746780bf395ec7cf384aceae40adf6ec4815acc023fdc906b104cfe945028172bb07adede7b15dddbeec3b52d63d932b4407ab7361875ea6b069ecae9bbe4672f949608f582f1ba1677a52d19e2f82bbfe2627505596ab518a3fc70d9bb9f5202218405a0f985625fa44c45f5322391bb9a1824146e018fc0ff86500d29038565ef83c29bc8cd216eb2f1d0a567e6016fb336ed071f02d369b8c9ef2fb509872ed16f3d10f542e919a3b0344c54c0214a4a501c6b8c87fdb9783539745ad33348c2c76c710aeb0bb7c44c7a53a750d5861c3b54fa8a85c93814b5d608be757727d1bae2b2e8244097a5cc4a4ebda0164fa54611b13b22818648fd90b8fae1072f5e0d4b21d0c9b491676631fc8d95d29ddad6e0bef37ebdfb09ed78773e4f67297ba01bb88b1cc2a751741dba91bd523cf6e4df73ad32398b13c97770e6c9072d7605591c7e5cc83b361d187cb441757a19ffd79649404349df4daf20a01e17229c16e8a74b4e047c58dc3ef584a26a85c48336c12dd9aa91398d6ab2ff35d723c28b57797bab32eb676a57a7ec44bca482aeca9302dba30be5fca1988365135915bb322b3a8eb36cdaf95ee3ada1f3aa423131516951b1496ef90a67f60b872daa9b008a344f2248eec78516de76a16f793699369dee82fdd2f9b4d022dd01ebb077d1b57e9901baf76b025e13a20f1a86c2665775f47f4fa884f7f470d12721d3ade709cd044dffb18c6efc304a5aba2ec89ba16c1bb2770e2cd56e5812e72eaad7b41e79665de9b7d8b8a80023a0d28ba81c36827fcde815b26cd6a7075724736ebb16976023c6a571a5971e8e13fbdadc35e484162cf82f69104a6b270721eb4eb3ba53282d13efa1bb7fb4b022d2e1e518077d80420fbf7adcd8d224672d81d4239d2873c14a169b77a8d7d82792d8cffe2e8008ae9f2e4dacd2dbd97729ce9c5b8e9fba07af673a9f997cb72df7ed60410e536c8712b4beb1c7d5d2e7208e454069285376f85da7385655635d3f7b69ca05b114ed269498de5e17cd372c89f9dda948fb3f7462c118b56af481333fcaa1d0fcb3c577ee2abe046349a728292825a33e3ba8457cec1d5afa20bfb905a05f840481800aafd3b29391ced4e795f40a257652e36387740ed7a24feeb74fd40f6f86685c1256f6d3abde2a618a345d2d7c6d73c57d99ea691ab52d9652d4e4f03f49255b92e0357e682b2ef5a4a49e2f3a3acc754e36ac8cf7cf2a42d93bb40ee95e17d8bac3d7ba7ce827d4bb013bde84542686a481ed1089980b289f2a52f96e0cf4199e2e0447fa734f4726070eca6e79568d0707b6299e6890cadcfa4df237a6dea6ba97f0cc1e9407d72a9d12e9ce55d0394c26742625de13a0efc157a03857924eda8b860b4be9baa7272ec6158c36b9384d250805ee0917bb6cef0b0c6f4cd0c7cbe3fcb5f39e3ca72d9836ce99961fcfdb201080fca3e1d750ae163b47e58adb8961482623af34a207560b87256475f90e2dfac2fe9c5e3d24ce6db06496e56272bfb123f9f0a10722d95ca0e5a80a426c52764b18e6068eedb3c4b867f3468b335fc8f08f1836321418f0540b799efc64c9e69884d16e3ca4efc4a06141bdb2485ef3e01fdf42a72cf9c3d2f426bec1cf1efac3dcb5d0c00ff71b7ac97ec238b87dd3b9e822b441642c01871e48f00f18dceebb6ffa8ae2912d5ad5a4d46a278dbaa90673c3e3072152d407d0909336be485eaffebc963c6195c8c24c23e58b73dabb260a254b861c8cc89f67af2e0faacd4efbc01be7a5e23853c35f74280742c77387bdec8b52cf6f4095248654821d4beb32a176ebc1999d46cb98443ea2587860e4cca0fe831fa0efa97810c4350878c758aa8a4785e5a5542b46bfdd35c5dd92772b07f694895e3555f8e3a09a293ce1888a1c127da1dc6a92c0122692f4d3285b709c49e5c6d81de351b1367df6fd484d10d6fe851f2ae0ba64732dcd0255c549fc303177224ce99168791a00c3b6499332b1e8778ba71c8670faf1d067e3cf7dc7de13d0b9e0b548255f27996536596b85ff28253341a9c6d055a1c9ed3406497af474572395ae04efed833d46da2cbfd8b8fd536e730298e474b933d4ff76631ba45305d28332e56eb748d21a6314fbc9713cdc5db2b170c48bf6fa270cb8ab1da3e9172ed33afc51bd126c8965311eb9065e458c5c0e49f5d9a972472d2e15aa0778772f2f06996a0effb9fb740405dcb8d4eb8097fb68e6aa4b2c64d873f7ec9f3527233e0fda44b870bfec9680dbed953ac60cc2bcde2dab5422d5178cfa5eb66297227bb464d0a2f72d6d5cee8710446aa6aa6f9f49087489023ef1161176f9a6920d97b1f73cd3c5a510c72ab9933317eed2b69cf2b79bf193df15c6e98afb352606ce4964614cc00368bf3a0d6a4cb048255ad01346ec95b45b4ecaec53e2aaa2ff89d7ce8f34c998557f88056504426c3084d7d7053fe6b361f781706b62a17729c552a6511284218895775f530ed755668428d6cba5ad59076432f5edc238272e28714d2c2a34c577812c79a6dba3dbb667ad2c32804de1087272d0bfff68a7220f7b8ce04bbdaa45fc8e63d522a69fe93b97714356766f7929b36640214db72e6a0acdf820b945d1b4f568454c895007eaddc96b621b7373a690ad413997472dd398a6bd68e434361b2fbb6df480658e0b0f3b7c5605f841aa5b3319f373c72cf743338106083f29b72af372d86406aa1e6b84e1c79c0da05d227a600406b72c7bbd21af43127df703936854551f6039d39686bd96501230e7416b8cef533727c5eb92b26f44de742db458a87afcd007d20656e0f432cc8efea9a8ee56074723fbfb18458e274eebea901ca2198652cf4cc53e328ca197432c288f5ee938a61175639f9dfd891e6dc8dca51a7c969aa95cf1c328ba64bb71ad6557cf875277245eccaae9578104a79b30ecf7fca3ac0a82de57f3031ba3452d50e0236bb78722e5b6968d2ffa0eec21d1859257d713cf7fb2959fe661adb1f48d3ff8eac1d72dc8fdba30d4de99ef84cd7fa6673c964f484f1f57321e0f034026f3e3bd1c83d1892daaf002ea6f34013908863b50e6d74d2dc06e5a624823268750d03db7772b4d369db6bf5b038f871a6066601c0a5e7ff02791836a7c73f61e9ce6aafa072408d9dd3b28b50470630afa9924e55ef14fe772def365333b252849d6d78667210ad85631e04ff82896bb7b61f0ae4a84b063f08cfd65f279b41418bbac85a72045fa801e94cf60e7606527e9d9aa6415bc80cb40e775ed5a0cca4f644bae772879db9f2aa0cd4b5db8ef1eb8ec763877b10bcec10ece11eaf94058fc2e1e42fc6eaf3c5b942c2f3da050b6834c52a975af8782769e7ca670cbf89dc1cfa491653a4840dd881c12c3037b81edeb0276546b03741be05acae8c44fa682604a75d13e9ed054d5887183831c8157ed19e3160828a57434dd1c6d90fbb4684429172a20edf795d9b661671b41494d5cbe2fcf842f8d435d26193bf78d09487081965d46cc3a619233f29657d60ff4badd4f8e2e8b1b85dd3c15bc32f0642edb20872203c2659708954e62301c6dac0fd5efc44c098694c557d9dc94a60d6387241722068fe83d0042e6ee8d5206a4b32bfac57111b48ccc85ba46e56c12314f9f661b252ba082de1d99a79b787a063c47e3f0f9ee58a539e1946bc53aebd75bdba37001ad61b4771e43ec0790f41a194a62d35bb3da4500de7ad408da1ec78a212722a7f70105995bbddf2fbf005e04099881834d672b0233bfd535d7d98de7e582d4e6cdce2676694fde43163e6dbd17f8ff5f18b24bc3ead65f7d3c6c85f986672e879dd0d2b750b547cb087a4724d88eaa42ca149b6d425aabfdfc68ea968d1724af1972b52880d0eaacf3269a907e70c11dcb7efccdc3b60488c80ff979dd172f7895e4ac4fb529ffd52b9b36bc579ce1596abe1ce3856d24a18d775357c71726cfc33167fb3bbb9b9320d3512756b0f6e9a3079400ecbd8d38a6706f2788672d6fb38e9ec07c6a56c84380aa5cd1abc32ffe10221eb6faf14ca227b5d2f8772a0a254421e49b78929d1c60a8df02bb3a068990ba6433a016331a4b8c0a0d570e0522a355f517abe4c598be27c9f232249b23313d1267ed703e2ee08965c07720e3ce554a8f0e43e287be2038e99d5b3d0a840908b8406a53575dbec2d558172045745654edc81a1b6f1d800f440e82ca709c6a59fdeada60eae3c6065ad7a720ed7ead26c1e56f4c27c0054d756b4ecbaf24f1c68dfda2adf2213f21a8d3472e30bf5b05aa68aecc0bd16005dd854cd1f097c247ac901059e30cd87b361ae727cf15eed716dc11ac1f5dc77182d0fd2db5cb6ec2f23a432c9cc1b9880efd01b8ed708d2486a0a7c82ef9d15819686a8d3d24b5f64a2d818d819e3838dffb1728612f8e34cdb3ad626db886f83bc54d75e331dd63d776d32c9bd740f35c5a429ba2cd27c9c7c497165cf1e9471940460d9b60ba2856492ce648bc91214649172cbb17e3ba90c645a4519525393f33661958e39f8e273eff1d003013da434487209e6fa6e2feaaa233a9d56dee7a4cd14f5a21aee73d4d9f8acbafadae2054e72c51ed7cf32acd6bb4a67401c55f7eee8582e588148dc150ae126c189ba58e13cc66732983eb963e7fbe9fa3c2970a57987dc9b60c497132364d724e82466d55c6eae108fd671155fff24fbf4eb4308415b4dfd5bf8761a890ce85772d3128d6147b786ef2b24e382b785a203a098f6cf717255222cc095586eeddb82151f397142a55d93d260ef95b6a35b2d1a5ee4ee7cf1fda4308cf8d8e26368914ec98446ab085fd1c76b629359536ce90bf53d5d634b7b81f25698dfc07113ed2240537270647c8fa4b0e42efd0244797032a200e1d54cbeb2c56d212c6f3fc795b930729aa8a18dcdce679e15c6f504984f4cfc55e2cbcb29e60596edc14512e5ba030bd23032c91101ffe28b74e7a596297cec8b4fec85e6d1c86b9ba9105d3589cd725b6e5af5a6c7da338fe17c99816b2c98aaca047f4ac632ae7996a47fc1ff173697445fb6b499650853a036948baa5e0c7884bb49e9f8b8e098333fb7bd48c2723f5bc796bf5ddb42840ac440b2233120ae824b9ba0e627175629bacc0fe66500757073d04963119609258573b3b05b86e643325038afc737b86bd6ed889d3c727f97670b3d815303b39c408495013111d457c1f016cea812b72e24ad59c0db399d2c4086cb92022fc35f01f630b507939988a94ccb426079c55d962e0e411a72680f206e393289d4064a7229ab09f75fe43a45b1b9d36d12ca686d063d10be053eec6a6ffa4f3212965220d01d0ac8e2d88db2933efb1015e1a38357568d5072ad2cc2db207879f55564b977beb677b94ff44d4a3471dec20c714885580d246197a44b972967b46d4496e3e0cec49a41e1884bae0a805b56a8e7aab58ff9b77215170f27c96b12e642c8e2b78bff430a5b12997668da99857ba874a27ea48a317096b0658edd1f9721b990cf18aeb6fae9b096474891aea367d6728d1f9c721112d3b3e46a93107c482f201ce8014d11a8b1a5e7720957472af29fa29abbb27268092ee286eb24551a4512372981bf47dc07c40c8a510c4d7145dcec0c73657289340349e71216f19d87347f7bb4c9376d86ef58d6f204472786027ad5b29341c0d0ecba5bd5ea2565a96af92e8bc29b1f7ec338339d7bc5017e6d6463219a6963b51f4fafb8ed645c3242d28611367e5bdff2a80ec0bceee1289d79fc67f811cc4d4c38b72164b4f5a67d831cc25e551f91a56d51ccfca1fdb60cff605b9220b881122627c833c28a93d79a4dca00021e41b837778d33829c4eb38cf40f05722bf3ef8ddfa9013314b3e175f08be1aecd3644ef1b316e91411c2689a74a1372b9deeeb1288749d9e675e91fe3f2b4cf3cacc980cb9e25f76ed1f1a74bcbd3729658189ad82c7d9df8f46adb85dd00b559e3597a51274e6a6079d7cece3df9012dd794fdc31b266b7e36ec1acbc0864eebed9b0debed508e2bf55204a43ffd723656db4ab70bb73b6d4280520bb1a9895fbb741e1d6763d74643578c11adf671973bc1ae40f64f123e654e55e5cfd9c965a73f71ec01f58c9475cc93509caf723993359fae48cb0f41c85b603435aab92e0de70443839247c0c3d592467d5d728fcc6bee5dae095fc48bc517ab1f5b7b798c29c995002b05895c6e48eb4ac872f4ba5270bd2ba20037f10a279a75280caed1f4c04c67cd0471e2f1006d0b8d72f93ceb94187711597e27f39631ecc898035460dfe21313ae04c9f975f36c4813c6964990d74e510a00f248e262ccfe721f8eacd3db1d8f9980f517abf06eb45fb4b5b20ee91ef9726e16b215b4b6d21ff4fa337f45c1a66bde878c3bd6cd0c720a76c95c4bd9609e35e7f35673163cfff96db38285b3b334c0aaefeb8273a17266de9ffe47c64164f51b192f39f58390fa6fef04ac96901880d24f1ab83aee4f7215a58c31283a4a20c17d0a53fe2c383f90f5da274051bac30875a132d3992ee6b8a0de9253826b706702b849eeac5896ce2cf356c1f36a2d1c02215362ac72135f6c44443054098e9a25522c45f3b1f198a73103f0d98c8511995a1dc7e0720273ddd92f28b9628b7afde1af230c114558e2464821f9e4be8ed3f5e7d8b82a05ca5341ef939d1aa415297e099307216634b0f5e449fc93d75711b02257c4281f381edb7fbc37ee36c669a9c6d8e57360e39e8c1059ac1e8f47ec0aa464fb688264763bdaa5550e9a337c6f65baef038cf6fd9586895c46371e4c32d4b64653837509f6a8a292c11ea24fee65e9884577118c6242ce30457beb22e75d8e5f6c734243bf84f717c623ec9f519b8cf6f5d61d7c6ae445abcdd7b8eb8f619037723e6373282cd83b76f1d582ff6fbb4d30c1362d332dbfd7756fcccd3efabd19721024ebe16ad18d2a349a842a6460776941b4a561ec21b10da11765905ea95472436d396a05f0016258cf2bec1a94f3ea4081a2f3488a0b8db3fce4d25619d61e396f73b640946b6fe3f82bdf0df2d701899ee5d69ecd13edcbcf6f524737726464989bea52b64c21400a199e6c5d6694a003b426ee35499e23f63e93278b8b72dad49fe040c283806c87491649caef9b8d6caf7f7c5103d352b7b2dd49677e72d05488e1d84cf6bb8f0156e6353ddaf17e4bed7ba1ed8ff23aade369624ea7722d208021130dbdf2c96b0a20cdbf28a90fc44e49a0bfa5cad63dce09ce4c1b7263f447c0e63cd50d53eb87a3d66fdc04ddb703aa61bed9c857cc95c4b3c0a330a00d4eecb8541c057c032aa3e9f7988a25161daf9a2fadd13baa6d55a4635c72c3f29eac98c77db71e2ca33bf259d342bc1398f6b4aaf157f316aba8f5c71172d5f13126b449915aea3cd9d21085ae6578eb6aacc7dee03804a0250fcb2c225fb560a66c88f2b7739dee612c14dff15caaad93066c8d440696490951d8e2c02e819626e6b72e15dea51d5ae929eb159712314aec3ebf2e13f98db4c8702cd972c647d512a7de9a77804945e8ccec691381b3e25583e8b5fa5508766e351f830a2736208ca35030ef3912411a7857b292fb563360ebd730ffba08bd90392e0f72126d2716be37c588373117cd8d45ce5c4717c57358f02066c12988bdbc92dd0ba481ed5f35150df8760065b08a0a4242949b0e4b33d80d9fadd1d413f5bc1d6d1a3ad184caf4634cd1ad2b5d25c8f2dfb9bd692b2a9378e46d139948bc7e2968ff565af0bd09a12b81697c87c29378ef8f68611f85dd1eb9364e6d600b17872e04984977b6247ca68517c1275d601e5cb4cdca1fa2826e1240ec200f2c16f372cd54d8b60b40cd2be28ad58ce9c15673e63c84b86306b113c2678f5aaf5f663c75e3725db14032db05f4d3cde3601866fdd9fa924467cf38e4b1abd36867347235e7e8ec7152e0d3ff4570b7cee2d997d88b62ba95a8f1e5ddbcf389cbdc5f04bc2c4f09d35f73fb3cdfe3e5cf3397685c2a2c1efc4b9a030594e2b0e6fc911bb48cfe322971f65d4816fe731a0fdc69ea6269751b76238c0e07913aed68fa14ee103060974e57278bbd4ae73fa2e6d9452ccc5321af29d57cdcdcbd2d506272f6e65af8d84f2b1e4d1aa19723c9eeba6821a26a3ecc74090b87d8172dc834610657dabd77b5d5fef3d8cc67860a2c98a2c1e6b9ff7d9097a537380ad91d317256cdb7cd812e01db446848bb4cf4ea35858e92d47aceb48a75fc5b58ca2923178c762f018a7b80502484b7c1940e7eeb6c863d4434563302f013543b3edc3639aa3e863381d6e181022336fa729239f5063359f60c69b16415e8be745fcb88190716dff63d5dd46b8ed218c1ad40e08d11ad1c27d9bb18877f6eed02b816b2725416976d2d78f3be2a8f270a26d76b3f628d546511ac698f1dcf65a1bd9a2557aa861e8b1c9cc2ade0411253f88eff003a460e6a6ee0d9c75fbae14c6ae25972aa611f0de4c111ddca004f6ddd827e63e61c234b197bbee6eebf429ae1bca17255066a2d0903f8036dcc1713f350098e259fee68e35beb03979e6fa7959c3c72f65834a7d02674bfd29bea8de79d410b7c60d6247abe95c278e8aff5b8f5b208d55f2a4c9f8f73bd463629364a74306761a24afcdfd53ce0ae7934daa57d6659fbfc02e298842ff649f9c802778809281e405aa359723845fd0ff378fbd3911016c53a5baa71ff5a0b228f1043ea87a6eaf180bb03c48c49baa7207ec911e772d620dc359b78e686dbb04b85ca0cd8b9eae688249d5b636f47d8628dc58d6966534dd52fb0c383a3d43cd80e4148a448b1a9127c255a0a708e1edef1d39bf53d8fe1c97dfe6a1c00ada612754cc9c4207ca328c8b0576726762ec3e02165cb728bf4689c732b9919b33d383757de676ba18716eb951c13df0db560af03e2d11d196f0ce1e68a65a4d68d8de368ff7cf093c7b14aaec9a35c4c4bef8ae8780e42d88e14ecafc2be2ebdb00cd350128b0a081bf90588f28e35927b4dd64b25de43d25c020ad62e6016e91127ffc17ffc47ea608b753158df52870cc45e11f3c8720c333f954881a177541c869ad3a69ede920902e8bde91ac6d43b3cdfee7cff2c4e66273b420e6cd47af9940c1746692f129273b035c69f551ce29bdfee97e556385e2000119c5878b6ee10699f21629e6d7138f28d5897ea2041841026063b47db6ecf26e678ea2fa26035c7a31cb96382f3b33a18767b13cd65ebfd321b9072826e29d0ca3206646d4769252d04b1970efc0eb1c20f919b7bce39cf41197c51c04fe5fa071007eb6816c0a2883a2832b2815f365828fbec537974cec25fa2725c87f916b98b7ddf417e19da550450c9403315b136b56a2acc2545596cc44072686c6b88c65f5761396dbca44b25f453366f216de4c149509f9fc1da5412df581a9fc54e51be9c56d97417bd35660b5c2945708056a553d8ae07f2d24682677246839a688891e1dcbf78e117f40ae23daa7450f5e1e94b8cdd9cbf4ffc3693561ccf03bdd756165a2e0a7397d42afb5ea314a5e3002110604169097f6730f4727eb0e682e8fe647477d43f315babda2053d804b2ee8c276686c17710faa8da1e5f2a179beaf5a7091229d0c070c55343e7ffe10df0062a703e9d0bbbed5861726afe770298f0c79b753c30a032f6d5c92f9d84798de20cc74c2009690c6b4562ad784f230e7c94adff50e244651933f854607d40ff02432488deecaadf60825c1563092a1e75e362d5c484963ceef306fbbe58caf855e05b55e5872b9dfce172a6cf19ca47ff6f27424c9a5e443a84157d9b5e62d6167952f450c08df61dee16ce2d4dcbf51aa52f6b94ebc89b7d132fc8c08f18237d8b03cedc367e94a9d1105235a44d7e47e95d2c0006e0f9d5ee30d0d44e0355927633346c00a6d25f040494a5b47c172a8add11da3847cd5cbdf261094d366f085ce614da9bb1b1c3d6596f583c370531b3cf8ad3a87652c53afa61c669c56e7fd4ea68587b95f1072972b2f772127865d707a4a0cc0cf5ec0d8780b89068fde242ad971ec56fd9b3f572526bce23f4586f09ea320353974169dbaf1c1e90e49c11a45a5c4f3b0dea5901d08fabf1cb33f7ac0b0928b6f5e4d66f8913cbe80775f82d0cb554d7481a5672abb58f43640d5e8d00fbd45fda2d4dd6c954d6355648a4216edd7c3ee53bfa23b8e6d0e4a74812ef250658056a8ebe0c294b1651a10fff3913087c6d5c9a5972fb0f78ae592ed96a07e559038d1df33721ec7adfd43f98dd2e1fa5d10164fd727e4d3385fb12e4773a93bc6c17d72f52bb10d9d41b18bcabe8ef11469c8935722c08923e9065ce94269a05d8edbbca4808923a1d8c7d05a159d0318d5926bd72352c8fcc82defce43b1ad6a0d487db139513010adfa14df9913a6fc2a46adc23fb28b74ff2784ae9b8bdfc50774c8083933811a79be134938edf50ed255a6472d3661b51ce0e0511f4c94c12a6faefbac45d98c8c9064a6b96fa91adab810f72c4b7dfa4a29db73b564dbb1f25b2d0e29fdaf2fc5b03e3a2ec749a9f3aeb30729826aa46255241d50fcba72349632f48242cc39ed01bd3ab02ae65ff0e9f06649b0965de6a6f24529ffa07b1dfc581084d4057ef504f6c1ff1a5bc5f315bec72423cbeb65813ab5d6918467c2484a964b0f41f46ab1a25d1ea752b79599f6e56e3728e3f1ac3098e9cfc826f4a594261abe17065361b936574d07859c2b53b1e466912327aaa1a912ff95fd5694037e7d65f7d21d25dfcdb8897b599f651ad5f235c2d74064f683a2125cd66c3e13676592d3895a58a1288eb2b6d7d29288d7274f726e27359803e6aea06737686e4d54806f35a602249cce99a288eddef9c4ddbc995704aae687c7bf99c2e2a2e77b614582ff4c05a8d73a263385e0d078823b9c4e58b218076a673c39727811814ca803f1ef81a49e7a2092897dd0247bd72d606be76b33cdd3235b3b6d22e25e2ebd4f40b5177590a89cfe04fc576f3ca722da2a06a20f331745542d6abb75a3d740d039222fb9d5122803260534a5e6f305feacbf79218642ea2ecf3056fbf217eb34e84adb6a0ee77d9067f9263f39472ce2ee9c4553926751ba2b8f2364d99e2ca8695e1140a3244bd0069c293f98f21740b168f0493559a503503b9f7dbc0081b3fe081c6e181101976881b74c8217257d1e709b48b7f79a95f2ee3084708b6ab51729b88a34822c6db9c96e7b000415c33bfb2976607c50e1431101e5f5bcef37e50abfac2862e1a8cf8be18e533726cae19d49b766cbd8dbac68debe5e54f0d9adddb202c5f2d3c25837eeb8c9872aada462a0870ac67468a70e5a6451d26d894eb41fb95cfc2b10fa63707440672e75c77be34122e25bd1825dbebb9d95699f66645a95e7a182841836c2185d072c2d075f8c62007c20f7c8a3e0283ba6743efc4aa4df87c7f1c3ad225e8dedd721b8937a4c5dd6cc4fa7ab03fbe1f60d410ec0507ed098945cb7d7426e4538172d6d29e6d5c2fb91be970ea53140260e1c097ef28ad00c32a1c4618404f895a45d6f14caae0f7cc8e419c56db07ff80d1f2802f8f26056aea0bc67ca543b64a729598b6a65f729a34db9e539823ddf3a61efb9134525d880f69b0ace35e445f72c27582fcbd1402875c92f224dab6607e2b3986ff1f4c1efa5a0d757014f1a845a27a1ddcc9dc2123c26adec37395067d882c930faeca9e3ba533edd28a0d403535d9e44ebbb5aaacbeb8a3524ba5489a1695a1bd87ea0b4db12837a2418eb6720849657dceab2d0a80b595e4397f073355a9a71eaa144f8602d81a2b5ada0e72e90ece51772ea935f8be34111a900fde881f0ed7f0f0217e18e37c4b18808472a757fb1e8091b9a1b102138b31209897af43a627bcb260aa9964b2da2c0b95163a5d2958a8430eb48c81add986ffa6f838c73fe14cc8be3587aff1928b89d342d5d98345629446dd314cfc93c2350732049bdd2b9ea101cd420b1e990634916f9724ddbaa541ec8fb9e6a92f947de4d466519b83d79386ebc79bf5efaf9e4772d94853384a0500095078f0b5c5d7f69638a89ad231784277a54739a126e154152f98996c8fa9abbaa5619e1f79c64864cf9c4b79d031673b0f68f0a4346ca372d7085fd6c831ab0dbd8ab83f1ca2551dafd761a725cbecfbea00e3a12a38a642137c97abbcbe73cb6da320a11d611848164b3859a7669b258f1e7fd265309b72e385442ba3db6bc5f0eb471b068dfdbf3b605ae753e6ca0a12ff0f0a31c9f5620a378dc5c8349aae1d7d6f46d779acc8399376d13e0791911d68ab481d9a6519b67e81561d7472aa31d449a5a3f5dc8a1fec1dbf16974409c1521e6b18e5e815843f47a722fdeed63e0ed6ede7282d6c2ac3ea7e1eb7890fcc632699a76b8927a514c1cac3de7e39d58a280aae7218dd94bd24edb8ffe1054c9efbac3e65646a9762bd8db7da62b7148d23619bfc0912172224f8530d93a5066bf9103537f5722ac3ac361a54ccd751b2d470e6898ffc36a39aeda6063e8ac27fcd16a4215c011cd0a1b98b0e669be55078225012a40302dbbdf22d9741d3a0fa5613c238d91667adbdfc7bafe5fbc869b3030b82e5c3933031567cc7081435d5f94564e702541d84878d49e6a88309111db2b22b322990efc0c0bc5b04dd078bfb3e557912727ad9295db2e43163f1f1ac7ebad7049f0f81d7624c58074f5cacfccfa637cf45b20d9f61f4d2a3774990e25af288376259c6ee6fa4049be8fa416197fdba7072a82ef0a931d0cab705e5ac6bfb4b86cc53cda7531a1ab71c985ca3a57effd1571c5352967a5dfd6ed875d0da202b0790907f5b1eb615792941080dfe05329c7223abc0686f05d5b6446313faed66a84b1606da2bf63a7be2e02022bb0e2a0e728f6f9f70f66d1658e8a5f7ae511cdb534ba9cddc983dc7cd2dc4cffce0fc8172f1ea69498a9a9f668ea62299c101529043a35e391f94135e00085f07d1bb2472c4ab746afa7c527aca5806e5a2ffc03b58c8902355cf1d368c18dfb75adc650caadd8974ab0021c0cb299e5cb5eb2ad19f615f1ad8b6e85eb74b6117330b5f18e9e09ed02c8eb88bc303c129eca442308f7514f423604079266adeb7bf69057216b07685cbec9a39baf85f02e7cb0a5ba1b3ca4ddfb200bb20aca511f3b2c846fb20c36351fc0beeffd5b13eb56a1072041f7734a85d855e06af58d35d07c272daf9ac68688713be0ebd3c9a9253ba9234d18ab56df887ad08519c887923f272a35b35f582aba0c8c54827a6cdb8103c6be1992674f54d0d70fbccf43f0e12094b2bdf43b02fa402dfc2b682a66c086876ad38ace17f7b19b70f937ea18e1a5b29d862064e58da9466faff8a428b8b1f6ca32a792e51bfb8f2447419e923d772a8b274a5356bf714e407e01b3eb09b6b674664072a4e8ec0295399ea68c3570b69154ea99fd5fd6cd35bd4d4f2f8676091d4109f27d61b8985c85398aeae0413654a744fa82bf0364ddc64cb19e171a36e7185877bb82e5ef55e0ed579bafe72d4662d520c05d9c7885260fcc41bb128535e93feab811c207c5dfd5826235726058c567b8c51b229e5f9fe4586881e81e5dfa96f4fe966b19710aa00713a5e7207e230858d7288f1dad16d1db30bc8d3eb0a13abd7a5bca84f81b6bb9c5ad86b26d651264a2b9522b7ef65bd5fc1c16c47b28b2678f061855af14d48446622164869bdfc0363add0b8243fff771486693616498217bdec91f105a956ac18503741204fe7f1d58894d948a0d1216a41cf9387dce18b2856b0ea08e0919fc35672566ad793d1d8f5499e282f1f058ad285994391a1657a5c854758266d68469972d98721283fe30dd51774b4f1b3ef14ab04dd484821c65831abcb246c25e0b7437221d62284bcf38a290ad245d96c0a53fb733129bed05d5a03714e9399741d72e7c96fa709977e7912a1242806f6c62bbd61356e5a3d806dcd91abe86937b372c14f2c1ebb5b42ff3abfa6b8b8d4c3870c3a6675654de96eac9b29a8521229109037bd5db634ee05ff162e4e1b9453eb6582d761e34d17498ad45857f38a2b727baf663e965a118dee9f66cc34c2c873e3e9db1f51d6a1dafba2975058d8fc0a4a241cc73efe234088457868b48bf9862cd93f978b2985cc6be134404ee7fb2b86a72953dfe60e005b2842a6b54e9c1174f18b86286969cc4e58b80eb2497d488231d2b24535a14236a09eeb9381d1d99cb78bafc4bfd4aa8aa370c53b0374473804ee45f5a05c73f823e32cd42c19934e7409c0ba1d55ebd12bf0694decee72aef621985771e9e5dbd59d9e8b9b6fea5338e4109139e2b31121f57da5c360722391e136750226c60c2e0a97bda8e992e723159434577bfcd85192b03d1e0f72d87f1860f540787616376e1ed1dc724ab3590512c135c945b0fb1a82476bcc7219a466a9aa16490f0f8eaa2c8b66d3a6f53e33332322d3ca363611c90ec428729c9362b9c427f8dab2e845d29eebdf153f5c15b6c91c544d4d5925685abd54726b63dd3748fed26a0c3c02d00fe7830d42e13efeeb2f8d56a4f5a21b7719c11cba65014c5fc1bd170fb30664d0520d8593ab4a4927fe0860304ddf389d297372996b64851dcede4bf6060631d7ae045705fd600fea042c66903d7861e7e278724e99200f0b277aa39a298deccd056847c9baf05d2916ab4d2bba8e8be3cde20cfcd8e8fe3a0dd765d1677f3e6b32ac1208a39cc3b1b9d725097569a52fed25409dfa7bf83d2162d6c2de7cf252dfe808ec407c44bc6c05dbdfed391cbfe06c65db84c1da8ef5ef5c4c6875e2b30111751683f0420ddb1d58ea7b0c399da98472e3ce006beca51ba65ecfc24a8240e7b04abb86488469b725a9672fe7a57ed0722f356cc3f7845d74e6cc7b43cf5f90f58afd815bf0bbd1d6d98bfd94d9e07672f7f3ba04e38373e2bc3094ac1f8ef5d8b4d20634ca9d58e35273bf1433c42272f8d9c0dec404c9dc8e8edd8c5eaf12b7135d6292dc6aa347884b79a8e35d3e61f98193902d73f14892711e842b3877b6fff5403daa7a831c293696343d0aac724c1a93525c3dbbe0614a04098aacbe4f018848e5b44e3ec5d3feba4e875e8971c3c3ceb7ecd6dd778783f1fae05f1425978121713f230791fc8b4cdd194023725f33904edea1de60ff6e050a7734d2c25ac28b3dc6610168ba97c022bf1b2a72e4a550dd511a5d9cdff7b8be89753b146f149542ad44b2fe6ceb0fa599b374723f508b18f72f05e6d48b31967f0e7198e2b69cfdce70d1e0fc532cd08801ce638e81386f1d4c3ce70ead4f4e19906efe7d6a2e4d95b2378d45b759224d11db36386de5f7539752a4e9f0628117b3a6dc434177a466aa6cddc48cfdf20aaf287267707372ec165ba3b93b0222f3e78a6f9da8ab2ccf4bba16141f8328ac84357265bd555c8dad942f2217cae3a87046a0ea983b4e46da4e7de3a78fb3c3d9fb0fc499812b64c785adfad428f7b1a6429179c27b312837f1d0f2f3e2de5d760772f6698e9f145f70eb28248b42388d1a5c4fdc17c336e8a75a055aca0828ce6d51b36984dca64bf12433771e2370536e57da0b07d96477bb298a2a01da5c78f97234e30f13399dcd3a9c1f8eb24cf541c89ef4974cb6c918d0f3f25a85fd415c72b6e6b734cd0e0e602fda84100e403b1660a9a72256201bb229fcf0912d082f72ad700ed38db36b8f170f88a98bf37525f35530361b44f72aca37858a69702d724f2abe7986bf806aa577be0ff66fa9de101f06eb6857fa88256610d22a79cb6e8a3d38cfb5e0a9c3d62df302238a8a09c08d27d3b01521a96c221be4356a9a67618b16feb8f86296b191eb6accb4f366b874ee2aa3bb8b0f7cc6a4291097e3543dd9ba473520438ae01d910bcc60b0eebc089b72ea7327a7cf8df15b79317738bf8b82eae28479c571b3094c96985f996aca4db83f7f1a3d7138b2a350feb04d1150d8e059b21cdeefbd2469b2a94044fc91b9573dc44ae7f63043a8f76fac582850b705a3a9a32709dbde501c2ed6c31e515fae4f006afe1a55506da565ad72fe3af7a8458dcfa3414a101781e684079cbcfbcd695940ff3a0d8500d2c636727d97678b2afff7c3e768b1c52c0d59c296f5e2877b937787502afc4c8f627772cc2960383b81d28143f2fe5cf74d012c6879ed5a0bdcd2465b4c68dcc8bf8c72375bc31b5ac5820f8caec393d478807df981894bb51fedd1ad029ad963cf2064f72666a98f3d85b790692b9ec4824b5f7194d4e5a77a971aaf18fbdf75f810720a5dabb9d73b4507bc1d346897e3e577e9a7f1e2834d1c41e409da5d5ab11c58413dd483a0e23e92f750961e7df82cd543a0134c683e60fae979eed7d8b06272bec1d46b196380b1e11b9433e7717b9af21d2cbadf4e23f427fd2c8e195cd772eff4abcd64afc16ba72d140fd623b7c031d0cbc258dc057b33e138370e4f6072b15fdd5b0924c359e40e233ed81c6bf0ee3a02384e11f0bc6897990597104d722858ea8e8570359ffbed42c439e47b0fe49327422b39b9cd3a2d08ff9b102d3bc068e41205b3363b8e6f3c2e891c306d9806c59c180dfc57c93d533b052db172ff738c3561a6de932f19b17b6339003870b2c1bd9b2e0ef399a2c0d089649b39ee4625e8cbfd46e01fed18099b5fa6c468965f0a9645dcf7da2aada8b0f11a28e47b52e922f33f2fcc415cb1c0d2929bbaed391eae68873804f712e1ebdd1072cae6d3b0168bafd05e0885171bfe986eb1f030e0bb5e67f4dd8af69ad7b8e072a518f7ca218a886a02802dbdfc392711e80b434691b06e04de021e896fc04b723a5ffeea25139d50d2cd37820807b4c5f6da0bec9023ca1ba7f164a9640ada6981e5bb8b154bcb2c77bda5b4ec77336460369515d28e9f951f662a684940dc10bdb5af5a92b6874d55ae03f690611ccfff14c6bdc68546458921fb4064d78708c51222eefe7b85e5538548b2d02ed2fb6937f107e7e281386bc197cf547e44377913267364916d6233626ce325defd43a00904486dfed603686f581ad55cc54c789149a753dcda15b13044876b601c5402286ddf8acfda35e6eacc09f2f9c872a4710c93c735709dc317fbf9bb9cb6db216467ada5c5826fdae4c19b85cda272bbeb128efb54f82b198d77533c326f02669accd18f721d7de61e1362dcfe345f5c078abe0cdd48d68934422e2d6a37bf5607004ac9a60722c2f26e04a2c16450489b78216273f8bf35258ffe3f78d8d52536c31fcd8d49ae84116fef12d98e72ed1bf76b2edb58c8c11db7a76eb3fc52e3f3ca249b4d2df18210e8a1cfb65c720de2cb33b45559ec5bdddaa2ad9d541d5c9d7e9b6ccca0947032c9af7bfc1671d0bac2d3988ebd9ae2efb1dbc3a5f8c055a1ecd452eed60db91f19573a5ffd72529e37fd94606484ae4f9053e4f9f020cb7dce6a8df92066af78be9f47a8eb5b48e44c9b4fc73c6b27e7ce2fa694b17400dedf641c0329bcbc8b9a2ced21f57258775441f01b54710edeb7f7a79d1d0e0e0c64076396caf454793b9712a3bd725791c7dd274376e1750d946d7ce21f562e806de09d7949924062eab366de7858dfd728c47eee5bc749eb42d1ec193246df83cfd77be5f05bf0e5914029117472616128f9138ea5c466e9d870ae5a0629747ef4a2427c022238483daa9bf6b02b23b11ac21c1c20259a54f5a424480e4b608205624f90a49417b95cd9ed40cf7270d0f7011d1d1e2c33971714b6cbc2e9525b0126d75686d457ea92e29c156a4cf25d2e2c265734067295aef8d5782c94da651cb6853981f373c98ef198473000530777c920ee4e07cb347d955d0f61b8665be719102a7b6bd3968c72fe607172bc5614cbbd4edd8505ade40246a18c63ffafcb0455fb80650eedb31a29c8b47245f347670fc0784ae1fca320c2db5186b1132f87ab107b0992efabf4e63bfb345134b6cad524dad11e65ca969e2225c1f2dfb4a5fbc52123092c5efb99bc0c0fbc96a8af2fd4757d27d04cada3c90212a6fd922ec13d7197f5d4eea7c273427265b46e58fe407656a75a483419e3d67ffc7b337fcd10a8ac649733d907ccdb72c1e50de7acc923a79f674f1466ee276ab1d21bbe536c58dd2f528ef731b4e86f08cbb25576e39d09423dda37270906f9a115cc6ddc0fc0a1ec911256202fa772be0ada63cc0062de2f1258027b1e1642a6cc874ae3aae5ae2e376a5c24c315729f0c0937b616a0dd26bef07fbf413d933f83d20a19d2f0b54506067205e9d03315ff92558cd8a76d3557368d22283b7901bdcf1dacd58d293fa76fcaa2275772b4d188521386ed1933e20d1e0fafd9bc0f604e7364470c548d70074364e9f472bcb8e782ac7de2f5b45caf4fa3518608de44453d0d5e9b39d401372d30ab6672bc657396e499617d7b3ac9f262f7532842a2431cff6e71db3212f82de3ecf7721c712061f9e96230c0a5c72585b45e475885b0e141b2da3a0357f0a2d5ecf712fc47c69776e78bb4c8e5f56ea33a6c810d31dccb03918edd08fcf27b9b6a6e0ff9367128417d2a646b38d3fa527d87d1a7c8a6751c5986160988dd74fab9a472303d508b23b05b06263e66dec440f2cc7b81d3f8923d9442b3fc11288a7f677232998cd709d30c7b04f3f83baffcb4296ced0ffacaa6b2ce86cff8f0821923724fa003e18abc987a98a60c5a34b76f0cedbbda79ba2da1fd4dc85898173037724da6a04acb0a72ba07d6237b8ed14779343e3f0c006c720b76547bac8072fa5eba49399bcb0d220cc705f656ec00e55fb615ca25be790b4a138ed9df1ba0d80aeb2df2632353d3b0c40aa86fb04b3c1e5dc1fe2afa8056ac5f5d191a0157e17298be065ecf195a4700d48156d595d3b7c98a894c14c455adf6644fc87a58b40b2681699213d5aacb6388ee132c1f2c9fdef0d9710ca4d5d102ce9237c2e0a1182cb7b77b3bc5ee2f74152c62696ba235ed4fe906a140471ad64a384ebc284205637807ca3af88acb0a989f95beeffa3899411913b9d66b22ef7193c2e49ae072e4cefaad9f3d54d6a27aff9a288f1da7251556c871d8cccf90bffe7e2761e3728891ec613d1fe633d60c58ab7fc80d072dfb5c4a9a80607227cbdcd2b85dfe72d65a51db7181fda74e96982ca05aa1fbd32cd8307d74539f41cfab2dd9452972841c3d83f01bca317510368ab8935bd232c81b1dbd752ff60c87e1abc776074db61a6f16c3ce2278aff7d8c9f365ca467452f9ec2396b21ba9b23c9caa6638137947e6c3dbe48e87033cf5f2d676abf847abd91e111fa49e16072360dfb0ab2bc3743957ed7107a5183594ceabbdfc3a48a3367af40561e5187b2341fe64c972b5ada76fd02e030d419efbc5274fde6257922645bdf30dc16399aad3d12caa17192cf9750d6553397537fcdba1113251dbeefd87ed401d56bdbfac0acf32d672a6a3b1b250be83becf3869f6e4ea92e118152381ddb2cf22c15cbc1259eb1a2f9185327173709c7b361e32522b4182f0f75cf38edb65b538f40ea8d3ca1c45722d527fb358f2e913e0b85e2bd18d87c28965e1d70d2bcdd5289bb65e129db672c3f3453abb98a5d0e9ace1986b7a3dad948190afcb23d43c6dcfc26f6741472f59acf8e039a78be782911d8bce5639aae488b30530ba12228db4f1339bca9862c8477584565a8708e3ae1888854eb3ca672422c27d5cce63e0a528edc7795c721be9d176d828934a9d05ab3531433de92c614105b4db7a92b2681021d7b6507216fe89101aa252edeef92b4f375c8414c0efaf63093e32d08a46cb31d2e8ce024c3fb4769433e244d66942f0606f13db301d16a08faed8eb6c4b58ce14217f729800c43da4f5db8d29e808bf95f3cbc292f32c2cfe57b95673b78811b5bc7072d7152def5d03bae5909e413e541f578bd45f301c58b270a31d05e7f88297f3259236a3b9cb841db0f5999b8870af4f232a4cb692d17320c0e39b352181325e6941809945cbbe8cbd5c83b350d46b33fba49c165909e29cf222e7eac52209606bc68ec069b06b8bc2144b536cf4b4c133a21c3bb712165b648b31854bb71593727d642dbe1554823523d3c7d5dacf55822a0a5790148f11764ef0ff033a09b172fafc619e28d18c0421f96f234cb8f287fc3f394563dee123fbdc765fc9f883724e4b9383d6651ea16498b17c5c0691042e8bbfc04ba4bacd2fbe2acf0f2d5c29c1770d1528c88fde881f731a2782d4ff44672a38a051272f31c2498f94a236727edaf9dc4d382eb6327ad1bc2682db557dbfa7b6eace2b31eaaffef96a117372134134c6774d0578558fd11cc6b6a2d886892ddc634257a0dbd289d5aedf7035d48c06d5b43b21ef0d6403754cb238897c2983d2f71d07dcc6c26d0a29a4d42a7efa1b853d10222a4b7a1b0d373c05f2363675ff559c1957f412bc0727f02412c54b1754f5b315e1156c5ef4c822e9c490b5ba071e14e08c9e17db901d65020c8e57b053ebef20fbb5a2d7dee7f198a2246d6cf72ab844886d959716d8a4a072b2b1ff1d7e2175940adf2fe05b6d9eba22c5f0c0731f694d79529ad6adca727225ab2ec62f910b6ea3f3f63f904c56672eb3936a10806de4efb3c7b4a3f0247237769fce156dfaceb71d6cd3ab90098b1d04d82da95d179649b8a553e2b48e619d0cdcf25752f8febb788145823942aa97642fa3f7a804372e3b78a227152a72b8bf1447e54bc73f1bbc20bd7f28f4c7d677fe44cd9a1d8784409f5e7d07b64921657e7d96ff061414fe987c56e5b60823c6d2df8c49ebc9d7635a96daf1221b5f0476862b2ab2c16d83d93b6cc8620aae9292fa8973a973abaf63179fe588729a4826d54213ce811979b45dab403e4ea12a65d697fe03fb9b7c7ce36a6f3d721ce340c5aef6187e4636ae38d453c932d54c19d04002e15a2ae5e2cced12af1c9cde02594f4015f54d06b257a355e389dc250e00f2bfa94a2b81c189a9c36e725bcea6b4e222c30900c6cc8a322d01a5a3569943117bcf20d1df156d929640466f381e201258b466969a17f011cf9ca1bce464b5ac8fe5d74d8dab6c7442ff1dacf6f8f1626901a4921a74dd50b04142b336c16b8dcc01f3eccb75214ef66c72fec9810780672053e5ac0931897aacf1d0af63a863b309f09340548089d7ae169b662628ebb8aaf17abaad0ba7d466bc86e5af16aa81ce3294e784d3eb352d726eabb5f08ec4e4b0798cb14ba2f7eca38279b72f587ccdfb146f86680ff2bd40c9f57425e347350e7cb640ac350620180cf938b5db5886408bf93ac2f29240470083ae700db61468a90fd37e99b24b77b4dc8a257cf175f02cf139a92df3c236b8d50f896a9f2b956011d8235539b553147aa39d0a52e8ee9f2db090a0edfe2176a5db6d0a52853ed3dffa4baa97e0240f948b565b3f3e0646eb8fe9758ddf72a3cc2e6597d501a57b59b34b1abea1b686ce84e4c674a8f21c376fa2bcf27f4c65f8e11780955f4432be15b7e1872ef098b62350124a815532251c619c9fa86ddc0215a25411f17116eb4b06783fe0b8447b6e21c62c69e12c9553a45a5d1f723e420103851eb26b153eeaeeb9cfb4e9559ca74f71a1d030f72329f5e656c56ef56621b7b82d2e8d3c97bf8c7ed0879808136c232b0149e6ee91498c1da28d1b5d07a08f742613d3279058aff247914f48e493cd6ecaf2e8d7c11de7adcc29728d1f30cc1383b4ee7e1debff5292a15317766340fd84d55fbc45b8078c5a343f51c6d0b5b0d09921015bd28385373ac61483a4668a43f292607a348e0fe08772c21fd9727dcabf03860840056ed9243355c68eb40d6dc7b34ac10429d24ffe72fc9e69d29cfd89262851549f0c75103cafe39c965969addbec85111f2e3e3242cfc93498c002426febc58d5a7758f314d21b3d4cef68b079a46ca6702a531b72593a71855ec9f240f4994e6d6bd22879d32b458e65a2154d0d139c02ab6af80f079c26e288a48a1229237a6c623b688c51b26a5616ba052b4b54756a069e6a7206779e8d87b5da64dc6fa778fd658370ea8664c2483dd8de5b12f6057d710472073bdcfb6fbef0ea35fb6d0de52f6853ab5e0cd3d7bc345529ab788790c8b0322e3e714658fcb81fa7f7b5771eea18ca73df99bf4325d0ed1de8d98d3c43af72714bbcf47339040159a901c1417d75971fa6b1603d9b2eca8d233bece185c734ef59002b275eadc56d7c07fa40a60b03ac4a6d9a38c47fa225985674d86cf57248d39b3d1c8df369f9d5593f5e21d9eab5302b5aefef4e5e3c33fe0e3ad8347273608b5b5379875a7b5b9bc976c2e428df08b51f48f14273794536ae5271a1724ca0f9ba58a63dc96b261b371a32cfa9e8643cb1384370541178de7a274757729b952031cdd405b8373372367d81e2e4525b1b20f697ef44d3a41e3ce3c84b69fbecd66386400231e37d6582bf86cf0ae923b0ed2853ba544dbfb7c99c0ddd720020bcaf1b3b211d5cfb7e9bf0eb6d7154ee9329fa13ebe556c84bfab7b560721c4bb367696e91df591d283bf06d3ff2b4ad81a0b2f9591dd5447bba57ecbd72f50934a43aab76571ab8a04e3f88a395fee791560cbbfcff3c804e762c58d2722e59d67b8da6df22630d9e4d6934df16848442f7e8168b196cde144b99788872c2ffaf509111ee582ad01888e7969db955ef85591d3813d124da4eca02a3a747b17e9a1263d08b588659cf92374367720aca2bf6b730aca90b8c8e613194204d9c3c922270cfaeca9316700ca77fbaad14c562c96a3db40a471fc0df9bfeb3360acdcfdb6d27e9e54fd8e424ecb9ca1ae5cc544977c980bd080599cef18b8f72121bef7d1bf1d8da59906b8b1f49d3a37b964ab3d240308a5714c827b97c0972d6cba44dcefdd29f701a4f9beb4c1e023c6ff3ebfc1361d716279db7adb53b7264332db8acfdae324cd8392a86ff28b3d9f7421fb64ace5d09d378d07e6a7b4f5fcf7999451ec21da10c084a66fe790d8f5cc7014c847c7d4669711fe4631d7205b7dcdcca879f03efd31368e1302e106493135ed9e05d717ec0b3c40ccd9e3d2e8acb350b4402bec725ccdec33c2b9a1e30a0733c9c8aea6273be2fcb3d3872e64c25dd5d84088b83d86e41847cf3847d6dcb723fb5468ef5fa9845446bfb72d43dd97162fa3b6e2681e09aa8a7df2d90b7450321a031b7c20b331a118d6c72d68e816de361aa2e5e7da90018238c1fb92e002683d4f5c91af7f53551e5477241526abcd9bbe0d73677507430cfc48b289f5e92c1780f6bcc166cb341c9ee728e6742f36cd4fab048f32269c3337732654030d52bd0cf12e700fd823d763c4fb4093d3baf1529e3bf1ce59a786d0e5f19693b75984fd75a5c1abb8b418130322f7e4a14ee4ee940bc69a80f29f50dde9934f4b3618f28761080a07fc1133b645bcf2e239eee5cdfdb88229682e97f436a1e28744a33a4dfc2ed929d108c7c7205d92835a55cf1f64f7b2a7fadb5eb51a06a1c65d9d117f7b450eaa435a5632e8b114c931494f05d98cb49c62c36e6072ed35c47b890ebd60d41fcb14420012a1129d844361f3f9c1d170c8765b57b0159e413d48a68266e7d5af5658c71ae723182eb53766077ec71d58e39d36357252c0373549703b20b08b86ea13bc1b572af7ac78387845389f35ebd7703353c434224b0295ec48214dcc1d9eb16b1743208faf7e133fd7e72c59058fe13126884315feddbdf6fc6456b64c8a5eb5a7f72150e772f813b5e6394ac0a801347c32006c6037cb63ca8f04e09a0da96949c72947ab396765ee56d25893f4614420400f7d5050aa916b74fc245d94a7e6e9212d753e94fcf31cc38546dab2e37846b375d80c8beecf2289e1d642f3bacbc8c7267566ebe1d1a26982f60dd5ba775996d9e52524f4acd644bc0cd638048611b599d13c7f1617a4783696ece8dbc2c748f54b97157081517352ec3427a55625f72dac161709d5a313e18c6036bfff12fe006eb15c704904299ab32ddc3bd6b917265256629157007cbb3c35d761eb65cbf28890a52e8dd2365ffbe94c2f120fe721c962814e398673a97c8529f7fdcc7a7e317204c89b475193eb0bedf8feb3c72a1d3f1dc9e83991717b9593b03d6a62f72488aa8b70f48218635f80a2433a172cade87a519a7a638c53a6201f4a6aa7ef3198115dee2f6a493d46ad20eb860723d88f1b5f93fc40587f0f08a4e5a484b882a5f24ba5202c62bb5dd37d8839f008feb273da6d77fd2125cde7ea5ed515b617fb0f46a20f4c9b5fc58d6694b0972d4ac725f944380aeb360baf4b31addd8e24711d0b989bb73a5558fab1b9feb4799b024f27d10e845316398e962b20e65eebff81ee433bb6ee615905e1b92fa3f1360a2ebe34c800a7281f2d6fc46b90002d624fb032d1bc395508299a3d916728a7c284f8051238b27ca686b1811ece4f4b1feb26c4dcd0ea4c06c3e7fb05572c23459e0dfe81a3ffd06c60867298cbea74e08f4e5dc2abfd434e80e0c92815f68f97ca42230865a5269ee42617117e8dca2aaa9222e181ae5b913b373b769608c261cabc1b3a4652d4858b62b7e7aaadbe38675df9584e081d888a427741664d6b8748d84ac705eed630d40fb24a1fdb67530970cc3af2da064e73242a31272d0000c12a663c7cdf781f2541fc482cf3d6cc2e5e2b8e50198040b58f48fd0726a3202a925149a99dab9e3046d9b0a0ff13e8ca85066fec99f9c637a871a926368645ffac639e3797fd3376198a5017ced843ca0fa2813a674b06ce44b52686300bd93ba54b857bc60dd5abe33e3d6a64006ee321f7985a4f11aa114826beb72509bf2167defb92dc5c8ae81851c8776bcd48e529dc4164cd2e853a00c7ada5ca458f100672db57f1be2da79b4e767f1a079f22e7f03514bade26312e5baa77270aae27acdfaaff61c9d67563577eb3dda870becc92aa091346e2abf518ec060679d80788d878af909dc56e52e0097ea819e9b1c4d688872f9262208eafb91724e5b025e88efa7b3bc873216e960aa683591c6e45d6d53d6953e95faadd5617242b963aa46c0a78bb867f6e6dfb647e2369c8ea4de5b83c9782222c8f4b52572679f6c650a173278e05f85b8af2875685b2bde3ff5ea1fc6c0298f75b33872722bf2ddf2c18685c232ba37e2bb8ffeb00cc9a24335c3fcf34fd13757772ee632022d11e06ccd429562e8fa8f8313f99920e6710a5135e8f7713c9b5c2b1ddc1fbec6bc40d5a6ba0474681e6fef4512a2cb8e7196341569879c831ffcb6fc607258cd50d6cf33bc4f93cf8379002273b109d8f0be2f5cbd3c2b4245bf837f3172ab2444f7b38c99faf2e711c5659bc9064089760a9840b18202a0e291de3a3c1a12cdfe0687e47a1ee9477ff06ad3f00528af76e896f2e0ead90a323ff04bde721063927f79067aaaa17f9d2263abce5e006889882b0681073fed4698097af7086107a693d4ed837c20b04f685b4d24f9845252992f6bd27f67962ebb4bdf7b72539480a15ac11f7b267644f2eed43ceb2f9b99ffdb750e92d40dab4231d21d720938926c2e783485fc5d8a1322a7517f85316ca1d0e5f47d13c635965b64bf59ad99a648b65012cc716d821fd81524a2d9c5edf6f2ad387f292d41a041e85713a9ceb5916c1283cbd70690cc1fe23d129b2964c4ec229b28be6f60f9edf0f83ef1543e06f7314fc0140fd828a52018e2b9c485a21cf73e6de899849c59fd0f72c3a8624e631ca4f27d776c6c09e6082ac2c8a52f95ad2085147211603d3c46314a6d9e8cc47e5db39f1749f923289a938137340e8520be272b3192aa09e1300b07fd72cf2200a4f8e68ee94dce4ad5dd8915833531a1c687aa7cd65c8bdf9d722a094894c9994bd6bba80c91781bba9e9ce2e67be0bc1e9bbe868b2ff0ee8149f35dd887e68d818f2d9d4953c40e4639eacb4fe909edb22767dbcec213e19872ef9a413d9923e1857e47a242ee941824a034f1ab5839090739bd4f21d0d592416d863f0d20a7c76d2393861eb8dac4c0ffe5616fb4cbbc20c024dffc25b855723bc271249c6ec77d19f1d882996727e773d532ebcce0a45adcd45833fd670e721d1764913453791f79ad232c3db046479e769b509f534e85d879cf42094e997205ca89e73a0b6e1040dc60abaae509809b9850d6905b4a219a3a3d48574e0a286749ac35679534d3c8284bf4fe9170a666a5ad0ac26c3e57bf5babba0eec9206dd2183f7f87c7fc963e26b4c14dadf845d165062b8b79f285fe1d2e7522340726bfccdaec874074c65f626a4542263e63eefde50999539169a97f9c16dbaa8726b9dde313bfde4f84f8bdf00ae2cac2c09e1d9adaa6a4c395557161652f71628b9f180edca17beadbd27df486815aa3c8b6c28f1b1e791b57fa61451b966150ea2de4a252661424654d63e3af0a9205877df5cc9f342ae8e5f749595c3976a43e0c7b50ede8602ccb87d5edc934bffef3a3897231b0ad4ca2fb02b924417ad723afa768d407e9609eb358ad4cb5a2cbbb54b16295720a6d8d22f4b862508f372637d1758e15b3002a99baa6e2418c19845de6590af0d3c79d832a63542cc167245708c2b791ee1e9972bb7a32cb687591acb4044a97966b21ae91d215eaa2072ef0f2fcc148099327c78c9b1c416480c79b199cc030964046e738c9ff09fcc72cad52c8df7a37fa610e5dc927f6c5b12be6edf27b6c9f6d9df66867f598d3272ba37cccdf3dd9ffdc8b186f798aff24c840aefdd7e6d5daddb3126a56b295f72338df16575dd1e7603c212ccf8b7cba4cdae382c866a363d0cc12032c7f86520ae7d628c1197025372f42bcec3b6bb0f4a57ad35b477457bdec5f2ef52992a72ad336092247fc4b9ad6fe3eaf78afe3963f9252e3d4dd50e7fa0dd1628b49772c1e514551bff5b3e38b2d99cf2eec22df90406106605283a71fbce394246c85c50e1eebadadf4aed88deecabfcc0052dd2bb857069e1c7e6772efe9e85705866001c5d135b01894442f7f36ded43bedc669c05261e3d9759a8be30f3944c6a72a4a60b03d578b35e0e8bb4e0c7dd0959dd1de39b4608cb1d5445adf22020dd7263e555d4be1e93d49e759f2594da6af3bc99c44164ac650aee1208ea9cc1372a41b2390d1700927666093f16ba84ac9b60bcf0abd9f38b5922e49ef3f34c767290dcd9d732fac0cf0f1d1c89fc46b55666cb402db4b3b173d1181d19a36cfe2c1425d0461e30db4282fa47208d55cb1ec2aadf816958be08c7e20d1b8be9ef726ca9b0d1ece866f9eebeceb3a0aa4c8c0e7d5c42d9db584cdf29fa953c72f672f57057e3e9cf37573b4b5fe286738086b5a0870d5dbe8debed9d38dcc80a8172389fbf21dafb97c2aa3b45d4bd10f28b0d16899dab435247e1ea514a3601056febeab6743ddac82d1ae01d8f3ece90eb3f16b53d7c8aa721f9b50ba3f1417b722a66f7026ce6f8d1a3e7201872d25efef9ddf44474c64a2300b7bb9ec009927204804624d8d8fc60aa58f1696dd20d8184f376bc0888c08eb42ad810b2aa13721c7f11323ed00de521ddfde67be5f3a34322f9d0cd61e0e026790a05d8821b24c6b6b0df52ba1830fce4c10cd80f5c40de009d9c617f6fae0fed06d27501eb5e8ade8af48fd8412207f003b803a32226980867c9b07e25fa241d5eb4de02b2326e3db4c0cc0e4f81d0ab5199518cbd7f89c343779350754f0a6a127f54522c72cb20de58cf9ea457d8346f2f7d97e1b0f7f2749f3a9373d447fe6e3c40dd8672a3f68d38a3a3441464f5e69cc6cc10e0974d3150971e44e59b8bfde00b03bd721625051d7dabcf794b8fe615fab37c92e651ddc4f36b5f785dc0dbad816db93fa34d2a7821e9725b596ff82ac07c6928624460a2aecaa73ca74391f4cc14cb72ef28550e615a4979fa36d717e8ca5d3501185f23229a9e3bb778f06367248d581febb5fd391119bf0cfd6320007a202f4dc526ba04afc1b215a5d66dcaa9fe720d036010fb94a97c1043a0b6a3a6644cd00e434d61fcef10a486ec9a23a16672e10fcb3bfbb89f757b9cb034c9c71965a513c17b56f6c73dd1518e45b1e9e3728254e8c4949ff45e875baf450f33050e4220d21f693d4e16cd888a22fca67908d1192a450542bf4f7886b90d46b912e097fe376d9c3610cb3f80ee9630d8735b4253b598a9fe3746d756075cee4637173e541fd42d2bb0bf8c0d57cdd441ca5031c18c763b18765d5ac031591429f4e527abdceb5bdd121a79d1726f97e41e72996399e724ee0fc0fb261be1dca65fa6c37cc77c30477afff9b8c6abef3a6872ed0d4406fa16f9bae8e78cf42b74c53d081f86a94fcd21749a6f9db921f3f47263679114ef0dfbbd5a56a84f7cdacd48b4e025fc7302f51bf72b407fd60da172a4c4f4528e3d38c748263bb92a9f7a0b911a796e45c64e3b0062a456d907e5362007529ffb3e4662f8c644a45305079b81d410c94bb9b178d07404d1e9a8107206cd74415c017c1bc64ddd910f578413815610367c2f768f57076c170eb86f6cb50390a1c5ef41329960f1c7f58393bae8358ce1541855792ccff3cd765cc472bd192c01c68ee6181467adea555adff8259c969702cfd1ab5fb462dc56363b38aade0df3267d461e53b9fc0a9458e6b2c978a985edc9553f5d3c59952053f672cf09a31d7fd7e595b260d0e26d11f04c254db470feb37580652663b30da53672214772f1bbc8b51d467145699e4bfaf499694341773557a9637cb547b9e39f722e8a58109ee7281d81a6c8ee93d3c8cf5e30770cdead40737f0f95b861f6a300baa053d9f397ede99d8a3c79810cdc24211dc1d1c5a2744b6082552bee8950729ba1942f235ef37f92d4fc4bb8b37ec495fefe4decec4f204eb79ef98d5dee595ff83ca13d14be0d9a6e8ec37c30e19cf3dbf668ae1dd9fe5afde7dd481b9472636e78223364f02a2e10bde40c44e83a2066cfc18438a5e3c39a5fff878d20729644163fc1f24f1bdce80395e028c75e131d30a4133ad4ca93f2d7764bb430729e55425227d073e1649a850504339be6be72033f60eefc63bacdca605dd42b7234a023f27a1c6487b00e1c6e2d11c325cf062ac58e8609308fc6e0773fea0672fca663cad99a56c47a6f172fbc3e0003e003ff07f3845d1524ef74a556dcef0368a33a40be494169c4ab03498980a2b8617ae55fe2e1de8137de42730e41d272dba65c51fdb6f0b5b2bcfdd0ebd2a6c54fbd4250572898fe7d28b2d66b7786728fc99db215b02ec113562549ee7a8c4c9f0983cf6c9fa325d48722d1bced2572a6bac13a5ac51d6a289535b0578f0e831263b128f2c4f84ff2541ac8fd85eb1d2f084276c7db13ba880f5278001791c3a39f94d342985f31650250aeb6679f72cdc35d0a6a4e1f61e03f4b7359c16d13bd087053ac2b2de39f36d1fac85fd67290b009ffe67277ba88cb4e3fda1f0d9de28f99461fcbcb70bcee4581f050ae15ac2a6d91feb105d82e4245599f38fd9274805add49a54b338d8be6f6c43e1b4ad2f3ae6cfc7424c46e4a445976f9572208e2d6af7d8a8e118c82b6e3a44b7c4db87bf50cf58e137a6d24967b08f5e8737f4096297bae367d861ff44359709b728a94afc2b42c0353ae236f2e46fb68d8b2f7385fa44e4d2121adab4974c7945ba15350bfcae454fd32dad1809acdfc901bed0a2d41f22ceba90ab2e68f38c57256d65ffe4c4fbd6952793baf1175a0bf5c96500b85fa20ebe0d70ffcd5a355725d13b3855e475937a9b57b939be01d8a05e6e893f61ada5cbad399242f8388720a36da449f26c682682155c117c7607b54120af5fb433731e0f3bf9679d1437294f348eb5c66d6b61928b71b37ca405b87c56828c2a97c97332fa3c2fee7d160cf9991d09d4ebb892da2ae4cd810b3bf138b3bebc811f04c1fcf4c52b1eb1626873d032526e3bed45c136a8d82788aec54dcd83d5edfbe81fdb4f7b73fdb727285748f24e89444a29effdde8d8b0c847cc2a1bee0f72d51938d25c44f64ef35d0b8643aee4c5be6cfa6bc86792ba298683fc5ca5cbb904717532b608d35cb3516ebafa3dc6115fe58a814aa2a0ee0f7259d248c87c85ff8cc4729aa22fea4f3fc25acd3ea0620798021fff24cd3a64f191c24a5ef2a82c382546428d29fc77725d9799938cf5584388aa9bfdd4986f3f35b01be434c66d60efe590da2e26207206c935a7f3d426713cebd48517c192e01614bc950a398bf545522ac476cdf147e792dc76ec3e5b503e801b19795c6a74f2b5304b67eb350e439e9cc29afb6b5640511a3c187c9c63315550aab43083fb5ebcfde38dabb9222edcfd1634113972e2cf0ecb7ff080ae8afb1113773ae93b0d542f823c6b0a5c2c91ba67fc152a087c8df5a3decfc57bfd1750a45071d28b75fb562fbdaabcbf0748aa4c56270c72edc94f3c3963e0f471f9f4f525985e0cbe8cfe24d144e04bda0cd441b155df7271a030fb64152c1813f8610d38126a6e653821e3c993a9d9dad6ea16e66b1b15f966b885b99fb90dc706cd628e8c0b55409bb72ccb3c946aeef0a13f97a054724eef3e83a5d59081bf0962dce528ac3120d7dfd9d4d17a25a5094b366f655e5847d0e1259587335fbdc91bd0acd2d34056a02a20e286c5a68ec0d67895525b69c14f4adbebe44a6c47414d0bd63c51e901ba4f7bf01cc8be40ced0b235b09f100f920c64dd67e2a1a6789e660c70d5951db5c579aa8351ed6c1fec07cd855072f6e381e6acdcd2f9262df2db52d8bb6aba43599167d179c0d7ec3e10b2dec171eb8ff31b0afeca17e263ee8279170cc46d73b5a3a34126b4e83db7fd85f0263e61f01943c66299de36a8ca7e79e3d75220d9499fd319b3afe0a0d5e8b069c658e9238b95df2debd764201e583d29e92e083be71f0cd20d505042371180a93f721dcdb564982e35d3976c69d8e6c34c6cecf21626c718960cd2c3f251d481c172a5ede63346391df819ddff38f1bbe448ae13b9fe92ff01f9dbf642f668131b07de336b07751a3d3b3570a870966d67fa0f5488dc3dfbff9e9e09aacb5cc5e472d0607d35c82313169692ad7531c8c316451b8500e40934998a8e4a851c345972010612a9e263e8f4a4a56e4c2dd36e0c812c1ae3f3d572b549b492caeffa4023e54061800a3890f0fc05589e68fa61d227bd78da90493e034044d2b044c2ea184ff00896865380015bde3edbc7250713bd35dc52ddbf4cd32f7de309c9c6197271a23d229e9e75478a4db79cde1f318eb3cbf34a496632e558eb92150bcf5f5d72f092db805a19ff886eef94e264443f00722590aa5ba315100dfaf406a5c6728cd3ff46f37502ab85d13511aa2dad551be168ebbf15e67c5aecbaafcc2c3472785d1b31b7de9108e178dac53e4c3a01fafdc8c0797718486f5ce4da41d796088e40861bd28bd9b607992e26e84db9560b181765fa6bca76c010de4f197ee072188c724465acc6b5edfa99325aea5db93b10717995ab609f95013789e936c25d42a64af4ff1767ad0d69fc65fbacb2f2383ebc4e9ac679c41357b92084f625722c4a368f72c36e6fd17b1335e3d996f4ffe41576ac6791437fdcf1508d9a012c55c0295367e7c4bf6fbc8fb15e552a4d0503c854e7878d3e2adef81d1293c62f62ab4b45ee84d393489563b1d2d3bd7cc97347b5d7d7072d439b6ed90a20566de2733a58de2de8729685e77173682a00a977d174ddcc04a83d9c1515dc04a372cfee571b9acb19ac2d42f8c4d763c37897763eb05066830564e174ceac42df6bcb31521f4bf0f52f754f5ddf5766d58be193cae0fed195b60157a5384780c5604c8bcfe32eee3d09c91a668760d1198e6cb1c5c89c3f1b1940661a4548a47849b9c555110af7e85f5b31226a9354d0691a2f8e8afba87e9fde9743afc91fa407ed3492179c0e2eb3468ad255c1a4e08929fd04c216fa07ac7596f3c3678fcb72d36acedd8c219f3142fa7f28a3225a759a05db29f397136f7a5ffedefd31af7210b2e3a88a69ceca846172f817897891ced6c2e3a4b0e9e6db1478c0da023d30df789b839f9113063824419438de69b361813c5c1e05ee53f91acdac7266f572643ed7bc1eb7ef69d3220d2da2a668f59ffce993f0a1d0ac56515a7580c5ed7299a6aa2d2b388db160da05941394a900645ae86b4fefabfec36657452d7a1a4c26c221cabc6a7f766be8776770aded22db5506adae2b885af1b21a69f868cd4f0a4ac442bb79781d9b85b6e331cf062f65a80fc42f844cef989d11d2d9a8d37275a226c8425f98f456b625dddb47469bf942c6446ac07a0e9e67dd41b93ee1729009011a1b2881b4a60b3dc3adbb9a21dfc001a006e9c6bfdc03c8b550fb6c182d7a72daaa8e117aac60b545276ad0c4e3e47f381a0c8744f8c1c59c3998c5724fd5bb913167642646a14ff09eda79717d3548d595428946363221ecc839f83e72ce3ddbf1498f9252b0795822a9d5ce8ce9403291943c9f4c681dec438e4672bcf6f5a0136774b70952628c2b8fecd5fd8812a248481b76cc60fd527ee4f972b2d0e1afffaaee7b3621a1ca354956ca368a061bd0d637f30d215f53d109b172f924bf18095ebdbe5e6d312ad2e93f724903867d62ba6c88c59fa8674a15d1725c5ff6549ac85d42fb92f4d4a39f916d6f148d26ebbea91cefe953295efc3b724ea016ad25d9b13afd132f9f4c1312815a6d6d98b0e5a6c90989e900bbbcc62687cc1e90bfc7aef39447d3616032ebb0966f5f1c61ff45a810aec0550bab8a412b8a60a6bf7e7dd5c782126ea890803813d0c0f48ac0963c8025c6ea5079504159ac832f2dc521ca9c0a95382de0fb3fcd4a711e2b2eb152ef45f2f09548951dbf02190228595469b20b836855f339dc492a8a34a5ff14807ec940a34b8c1072a9327f0bfae50c346743f1a56ec00d17a58a6f08083fe2f1f30d784d1f534946760f6568bcd69baa0d555f66bd3838282ff9e6ed9bc44424d159925441ca9d728f46e433676498509e89e952a760c60feb73bd4bc040ab34664b621e32b08b72cb0211b2dc9819e5613d63f13469a931b8f7d245084c2d2716969bea6d39a97245528183d30bbb6fd7dce296f6fcb5ebfec7976cb2b307689011b2dcad00540fe6f9a315a8bc63f48c81628d7eb5c2ef15ff084dba73265b1d92a5d099ca4f5a9e217c1b6ed5977b1aea9117593d11b9008c11c5dae13125e9df92a0e27f2472ccf181dba6c51e5a2b5cae4befa791270f40c588f251c2dacf6bcb90d9234a14a0ff3891864fb6741fd2d48c1bba0e0a2231853105273b7c75580ee35056fc72808e352f6901f39821dad5770e342c1b940ae40e5230e6102c5cc61880c2032fcb925b29e55a10d990cdf5f7c71d4e64995aa28e7da9891a07a95a7292fcb03c497728dc4615af0e3b83405cafeb5fe1ad67ea47322b97c06764a9ea45cb9245390e0a875779de48056d5fabb5f9e9ba553926aceedac974919dc5cf475d300f9ed48ee40dc3756b6e8f062e865c8348d4fca50e06e063a4af0c2ee944f20706b5751a3ab6e1d990589122ed673e24a102c413aced50f200d37847fb99589f72f7c6b0457c3d7a66cd7462378714db55338cadf58cb8c1f81c76c90de773cf72ebd8afccd3c8343e67e74e6fb8b7471d4cbddf0b1763d55fb938d618bd30e911d690bb5bbe12fa330a07a00b8c857c7b5e0e4ccda986b2ae384e6f404009cb7211066fdf611b5341c6d6c46f43100a8ff4bbb8f1ef3ef4ef28aaf62053087672419a08d217094a9292c48aaee9c8c10d08964bb9353d1c632f672aaa4e95c33d6ba3a78d52d0fa81d3e4b834230461f8aae8dd9bd65e95187a12e54d703b5667fe29f4f97accaca35eedba4e7729be68884bc7a1b868c24fe75354d4dc7d2072d7adf7af970327367bece754d2f13f81a05581eabfa3ab2660806c3d49102e0bc9b47ef01ade7284455b62ee6d8afc4459ace92bec343e55f73fb1b1d3ee7972c0a393d2fd7a6c8ebc8ee6c6fb540439ce55837a34bb55f791031d27bd1efd726020f43e3948ef4ac8f4f2091867263eca5d34e6d6f127bc7708794624620572ad1426c1d334bef1b743769cc276a886f0823d1ad8cbc1d8e32efe16e107f472f6be1bf4b1d01f6145be4191577a381aa6b7d17d1616e5d6121421c8cd047206d89eafecc61986b7ce76b265c53d63cd50c9a33b6f3a1b1be1ccee0dd6558372a3d6753bab2d2e7e6036a912a4f783a34e097d1f5e13931b9d93667044714c41b68a7c5e262b8f64e5a706a482f2462790eccc6a4a60aca2423e78e22130807205984d8438829222311d780685f9e014620d17566d48658140561b8d6b92ee7271dc6e6678312f40caa34c4bbc7a883190c01d1bc92608bc65348b61f1fcff72b61a6c9d2780b7a6202a5a821ba52198c25d9a31441d0d72573c5a0cbfe87672bcf56de11f74c212a8e7705d66282406e03ee3b13a4edddc2345d590b57a0968aaada8f87bcee78f900765981c3c8de978df6968544c08e4f2b51f031e6af27246a344b628c15b4caf6d1e6b8d41f5bdcc87af2d5e9c3d15a78d7afa80491a7239e01a5e80e7951e4d7573e6feef103d4b707bdf3581b72e2ac7dc80c3dea91b0a6a4d0f179b49f345f8d7e86201ff5b5c8802aec261e939519c1cdbe99fde72795930254e0a6a2c71d24d781eacef0e98563b99dba4c63b14e139ea9215f172b52a33baf5b9ba7a9bb7697694e99c5abd18532a9a83616bef4c4565c07bcb724e0f5cd29b6f5f9d20bf0b06d887a1af67b00e55feb28a3dd6cc2c7b1ef3253248a8bfca629b0e361b512d9b771fbca1abcc692556ea8d2b4f77766d9ce26672969dfcf730850e0dc50e6e2b798ef1084a8967ddd6480666c0f923093c6a1d72c3198aa8527e0b7ff204e391c2450ea852a89549b7cdbe52bc6429423f74ba724e04cd6d4a14051066da527258ff2b136b8bb81ded2d144e711194e5c3722b72180658585c3467f9ad9730b6688ad642aff607e41f87ef0c77884f30ecba7172caa65cfc7dba1f3376001b8405c2bf7389653d62e79507ea0e7a04a7e672a96167dd3fdea188db8c93ffc6ae917cdfd1fd85f89e049f3f12205f77a129207d493ce2ed005271cf3b90a72d9fd32c28d4f7a8222d3e67177ff207ab1bcd3bbd7221d88dd20c3375e97c6447917d2b3c26077c11807ce7e94dd0879f9812fca372ff8602a123d852229fa4a5561b4eb6a4a9fb1e4c2ce271f9ad2f8db32228dd007e617a02ace07f916fd475410d6e8d5f3b184a3a4000508e953d5244921eb8041259179741551b2983891cdd950aa6d42297db34b4f4ea1822d9e8fb91150572c861db67e143ee9777bc1b599f0dd39ca79c33ab608c5dcf16f39d380776af720405913ba64161d85f4a049f87ca4f22728b5752273ddffeaf0b9f8aa35b11722a1d1c7451a73d0ce57fb403d346c1937943aeb2e4b67f21c8c9aa6894c24772117889c4177d7f661bceee2738065d8d62fd3d1d7fba6225f66960cbd7bd4d728ec97cd97f2e59639a81d83a6301752b467e5e875d58b0bcfdf22007c1816549d9e5943464606ece07f2d73de02b0a067bb199a45d4c98962055c23f7b704560c9a66edf247de144b99673ab86a5400d0074544e218a3dcd052288174377f972b8f03aab063ce3a0a5983eff6d889402069fe1df40fabce10cdc2439ee20e07292404f099bb7cbd4a35c1e3001c7d0e0fc936349e53544d1334639b20c62ce72652d2db2878cd8d948b3ca08cdc8582ea81cc97616ee0caed90557e7d6ee697207158616b12f74692c93bbde8dc0fcfc01e624535a348da4b55992000e368227d1afcf7f3e56fc7cd653b1dc137589c154ab721dfd80980914b9231f7550d7707ddcc1c9b0e90fe2979dada988f86971a98d551883213cbfb2f2ed7f1eaca872c0e777f9bab2b010286915f5d94dcb37cda16564ccfaae6f1a6ec23473938b7279d658be1d88a56581c35c0e344112d906098f9b556e8bcd05a4c131d4e16e72f199330c3b115a58dcf2fc11ba4cb971292259a5bf01f4c9ae4f2fa1298b0c0c9226bf311ce9f9cb6b6c0d18a8819d19cf5ff1c0bfa9bf25382e359bd9920a38aa152bf9bd43957b3794abf58a295a541a87db2d732e7b1ebea3d5c151ccae235334e66e211606321ce5ae82aa7401c95ecc4d1fea87ce885ac079d1f3a573506a9c54bf741a58670a0df812cf5c94dac147a6ebd72bf5bf379c5e30b8880a7287d50f2ec45a00e8db3914f4d2bbe9b615d38a8c7c7d9b2bf662cbbb9c496f3e2a7ec950f03ad3ba357296ad9f388073f93e1bfe9953cd68d712b849e0fa8072b7b5289fbd5801590a08120fb28d3a8eab3899a3eced69516b6815c76ff28272065f5dbe2246b9fb47c41ebe2bb633dc2b8540767198b30101cd83f03bdd4d55d7c2904224a5603e5f615f48ea9b7034b6a34b0a9fd3b15e2894508ee765825eb364491b675c66869fb370e63dc199aef94d96c66491fbd0049e43e808e59d158760398deda345b734cdf0b4677d8b805c27263bf1566ce4393f98bf1acc4b725abb4b6f321768e0580cffa881bd4d1cbff5467f89bb92b67fb56127a5abda2e5e21e98ff3b04503893304c0854250dc2e2dc78d80ab2ad2fb32cc215ee43e7222971857cdb5e99ea5341aa0a94778a18ccea9561a4e9580cf753b46262208723b76ad6cedc13ccba7d9d42ab2df15a30c8591f6e57dbaefaccd9572fed037472e23e4a8a47ba6b0b2e11cff194263be26f811d0ba2264367046394da4b1215b1ef6a97e0ac635d9fa968af41598d39cbabc2a728846f742de83218f83003a2593e10227a5a29501207e8e9e8304445feff2e314e892e85cfb6d58b2f0cff572ea3f05d3fe8f6408d496961d275cf56fe723310394b9a7d9874f0cea8bfc73721b9b6368d5e70d37d05136b907aa01c84646dee832d8e58fb10d30ea3d724d72cbbc2f5f299f132d39fbe169500d127094f5204184a879ab221c212eada9257256de08e174a4dfb78747534d695edb66a910bdcb0f7a7b464f1e15a901084e72f71073f74fc198e1c17b946aef88dceafb28939bb20c1d1ae1514b02292f2572d1e9c46b8e0c04156a829d006cc5af6a008848927f3b6748cd19b9687983c761d1b651856365eed9cee50f18ebcee1a725fa5feb118dab38cbeeac91845a7e68dc25a958df0ed24b5cd5a7e3f7b8bfb77195c8ed40a48bdf3a486b407be08a729499b6941c74ff28ad9423dca4cf653c3ce4151b918bbf75728af781486d8d724e12d4ccf648257bc32ece585529c2b026f456e6d4f5cafcb105b2cab7f08972c992a885946fc7111b1be89c6f68e47ae74361abc417801075bb83dfa382c957636ef22cd9b6a222f84accadf42002fb4b2aa9d37bd9e92a8be10af4538f6a7225c15bf4e7b214908f9004bdaae8b367395e69c5152e891846e29b0e16649c24aa6a1b91023f41b430abf2b5e6739052d50aacef8de8d1fabc8ac69a6c1a9f6058d8f07c5c341269bbcad487243398c5f8a3733f5f6349638c3d6698d3702d721ee0fd088b22ff5460fd3d9170eb01d2bfda09d65e9f0ff3601e7c6e7876b7729abc5a769a2e76384dcceaf4e54c16a393ce760328efdfcea3e4e4762421007277effb21675928aa1c4e20743df49939019648635f27c7ad62a8f5b352791a722df0af2321fb0167e14a0e6753ab218abe6a3bfbef2489edf8fe3ee9a0ee047231d45e8df3b02c4bb84c9ed753111b5a08752ea9cf7b34497c94c5c97a3fa9722b0423a4f930e6c3c7c34a9090857c164a50b7fd9fff483c2512f2144cc81f0b1527a8e9725b50fb789617abbc9eb85224e24f080a9f50f1fcf6b1a000b1b772b3dbedc60a68347740088a640441374387e680136c9cd3f92d22276971fee4293cd5a64bab66cf7e7874d0b30cf864a387ce171d2c60965e50d2a6e0523d88727ab38ec6b7c80a43627d46ac71b5aedb0e2d6cdbd3331d2c1c66e0fdd5f1da5230aba73f2f03eece095246e1a0b3a6f0bd3421c903fa3f6b58074f97a6848b725d82dd676dd738cb2f86cdcc825c81697904b51b6a9abd1be14305c7153372631f24e20bae99fc7fe78997974ab428c58368d5f48fa95926edced9a8f22274723f494b93e749c2c3102f60377da9b2ee2b55610097525499c36c3f6e26413372aa65a9846cbeb07215104a5e8eb772ef12459aa8b3262223578e5120f42c5618cc3d5f4b348fd1c8e8755cbcb31dd7a87cc98c1c09ebd2fb7dfae5412eabe272d871649a3b1eb35e2150290d5c20a70366bb4219e7d4d813a31372ada991b67291405589c50abdc6a9ac40c82cc6472ecc984aca0bdcbef1b4aed8540d4ce872f5780c9bc3a562313a02956600f2811096331762c80e8dbe7c644a2f91c5a772936e8609fa09447f90103dd0e3d88a1dcf34cd838b4b72493fc0102e24021a72fa12ecbb9eb9d8eebe2f8e996c0de3dea528f7d85b458dc3b2b3d8c064f91e7202b64d6c5fbd8259d41ca359184a4e8aedf3462e9b1a808b86a64caf0c7f4972180f48a813fcba38969faee804741a39d098fac43b742f62c71773919a53424b2fb959af4c19442b50bb8058eed9e670bee1ac5b986cd2a4d36efc166fbd8372e06404270efcafb7c8d4b4ebe7ebc9c0e09c6f1b18a9fdb0e11bc678db00427230f967c455a9fefc3992b1b7a2e523aa0869f86a751087d076ecd46926139b7298b8e8660778de88fc41b1852a8d1a10513c1c607837c238474482c641b61c7287e95e4e81060716157537ecb109de04693a75d5d8a42091dd1f6d3a4a86c039e31080c935b56f287d6bd140f8787f79ecf5e94ea342cfb784ea171d5f323d727c1b8b9ab6f1db9e995af4146a49cfb209c508292c5bc68ac7d6166b38b90c726595573a7af713aee501dbc1604badcd5748cd0b5d3f5d01fc306ca8dcb79c720119130193b876f6a0f1286e2b1594f2cf2696cee18d2c70c405606121955d72e5c265dccd65da3d39796196e7759888a16715bcb625bd90282e046c79d2670d13e22eb27cc6a5aafc1222564c42c0389fa5fb9df02a4035cf32ec8d7a4880423447c6afd01a7cb6214fbdcfc3c8e7a6d8f8419ad5feb8b9cf1bd1aaa45227729870015ee8cb393b17df87db1bc010d88852db86adc19a7da870365be191320e15702bec949aea1b03c76772d18f8b12431724f01d5a2e0b164d1893f1a71572c48f1bdbe6dbecde92c0325ea17e12a258cea1ba80c2c2eb1a582ec9023e3272a897391952db13e6466115d056a2d8eae09231a2e082b0a68f4f44779bf3a872458cbed432d7d4f869655f9c5e394918bfa8c383fd07dd2f68ab6a2a3797df5ca4aba2ad828ce264ce24c5e6c8be1a85c9f9bf7535c8abc108ddff2ad1f7e8721f4a3f0fb46b0d37b8bde048ca9801e7baf4399ef52941e1e1543bfca1be21722d0c1ce60e06fefa24f305ba32a4afe54816836204e069ce150673a66c8dc209b30da4d6220d63c6314b4c2b45ca89ed0f4f0a06a544513a587e894cc75b177294509b6dd46cf37e3e3ab0f03f5a640778118825487d69f05cc2f43822e258729879d5dda5e8d4952371cc2f4570c42082634c05ad47d643f7e01340fcf26272f6c8bb8a50402221e9e02b2940d01b758b0ae7493045df56ae452fb9e8e6e1542c06d244380da78b33a7d31bc502a1c28b68e81a4488b3f39390c84f8ce15a729b381d4bb183439ec71c37226dfa84df1365d8cdd98e69bd6e001e3bafc8f84e5b9e2f9c39cadd4fc768f03d07dab31da4a3b841f6e1e2f5cd94c3398316f1113a4183cdcf9bcabc972a6c5dc1d37429c1884d5b61f87282bd757828599faa0783788b7c9c6b26cc1d58190347bb9f58d50ddd231d1265c274ac0732a2b5a5483a12005c2a9148294ae628c21357280e39fc34edf6983d70b7a4c35fbd27003ecc4cb334e579e0d66a29b5643c71a4b56236f5252a8832d1ff4af375900c4f6007395368d1cdb90009d67a34647d6515bdd519abb0525307df78ed51b8dc0d27b63a6d4b5b3e61e1095221de1fd6934a137815ee64cf61ee92568316f9a84f7226c54e9ef2e820b41a77bd5f65614210a7d409200ea9a9bf30b34390809c4f42e8d01abc8be9e0f8a8fdc5ac332e25a299cb8ca0946e3ed5d81a771fc9bfaf14f0728c0311df72ab8416504923ee15e295dd32806e960c41e6343d09e819a4727cb14ac479e14819a7a38e2af15ebe9289e596ac6ba8ac31eaf180c2d44b517227a130799b4013ad42cf106462ad01d8330afc49db5e22f2d611d18e1a4e6d720af9a50ea4ae514d48189b6a3c1726447a918394931d1ffa4a28b0ffe9a2d97221bcbd94fdba90dc0085440bec71872a4c131586e64b8f529283b8936aa26764d740818e859c8e9c8920bac131efbb4376a35247419f5fecb359775d4908d572ffeca2c16b470e676203da7ee2702e3fe6c1bc3dbc6b91457a5d4bb644f16c723108b2038a6402e07a4d499e4637a14bcc288c9261bd229f0a1653e73ef48c721d764129298140e7f449fd3ebfcceae2e22a7f9da339d095cc3b99462586d672b0cb08460e79260cda29a8f70267ef85dfbbfcb72c0982110ed7255189c6a13c45cf230fd6241a9bdfcc703c1a2e6d9d62f2f9d49f8e238f44f4e30fcab9ed728711c5564ae8f0cfeb8fb914b1eaf9925e63ef21938f77bd1fa8ad2171b0fb720dc39f92a2529aaccbfcafc3f2ceac20414315b498783618924cd4045e601251a03a771872612fcf412f3791ad4969273b4c577a800f28ea9a36bf8d145f0d2546fe51bed49b8dfb20ffb2dfdcaf693d72f01072296969e447685566a299fc049db7efe679387d4d4ce67b1a24be83a5c44143bfd0dd4c91423b74ac0fdd9d7252a295603749f19ae5b55322281fb642d47c7651d25c1fe3aa9ca66a9f406a48f94c2f3dff06bc1efb84af3c45ad6674d8c4b546ee26c00967d2b91ed4bebc15bbd44662262a502dab427a994bd65f52ffeedb3c0b3a3791a7d68198c1571572828e9bef15fca4a01906a5291189a70e372ecf0df449e38b82973a8c255f9672741e4640bf9cef194e8d4286cf1998d90b1467f245d34bff98a8896f070acf72329b17e3f1ac1917d1f24599128c9ee50379a3df49a3acfe66a274bd5daf1872803799295fc19b7abdc696ba59161eb344208e65e169857aa423b143664f70722d86314f90731955308aeae2d4906ced559de10e9006068dcec958b0b8f7cd72c7d1d6cac6636801ad8cb864f3f46b2b28a254db2c854581897dd01aa456fe444c131b3344384da620f9c4cc21f40bf089fede1b65eebf8a44c0e6e5d8b1a45f38e52da3f8dbb1316531a5adb51b0bd6fa4ee598c3a9987a5985214c7b17b1726a5d686391b8bf055f13254f63f57ae3317d8728606fa8a6ca53064c072fa86b5c587a260a8ae748373fd92495ac763348bdd7ea1486f067eba3ce572359d67222dd4244892a1c1705d0ce3ce0f775141e841a9ab7029c588ce8f60ea349c37255196445b4299238d37b002c48ee53c8c52b5460dc01caa5c1bcfe079e7d5a72413bf6e367e416e9697ac8c30e5260ef5463c1dbd0d0c9ed36a5e2d11165490d2d8800bc754f0a6dc998333d0acf3a72822ad22a960b088789ca62085efa36611e98cae20f8d3576b529c341acc01bfbbb6bf5c003b474a40393fc1a6daa3e72762bbac3461e96fb708db371736099a965e9ba5f2c4f9dc48d5d763c4089c9727230894604d7235f6bfacca174797bb7c66c752b83b4f394efab445e8c2dbb726fad34efd1266fb57d3db64f770ff5af41d5fb70a7df7af1a8c8bbb7fcb7757238ba7f5bebfaf87996e12dc3e336275110ac92678afece7791cdb308b4a471046af055a99c0ced4d9d5f57d019b3efe1c22587221c19280a0333a02963ba481c7320f2cb3282fe3c3112db29fa83acc70a90236f85612e5c0e99a4d9edd5fd723a05009afab24050f17315519ca2562fca9fc62eb86958d44a160c918aeea6721283d04651704818d0cddba3c2056bc0afa2bfaef002ec8fb29afb687556573ba87490d722156f0551a8475968f7b31006ce1549dbd9bd8a7eee38b39cbb3b41d9f9ad0826cf9d45327815202ce0f170b24ad250a3f1793f2235068b8bc0d17263a05c3f7b961dab0550ed5fee43344f4ba3e5c9b6e4acb91e5e70bbea88ad4568f2b663f0521dc588f2758e8bd31ffc46b37a1c0ce6d82c556aa712606ae672de089cdca3f2bb3aea5542e41839e9a0bae5ed6b679110e430532810934dab72f8931f8792b62f6f99d9add61503b89b233d66a3ebd7c7f6d56aee8d87dad07260704751f7f1dafdd91d5e18ef094b2d085c254eba7da68be6b462601a6c77129c036fc7c9aa4a2e13872fc958df430b2c6779bd982eec1d88784638912f5b088988bf8363dd94d35858d5298d45115044d9a973073411f547a61980b9f83b720318dd06701ef1fbd3bc648a865529d80e22f74c8bc1de859a684ad5bc32e04362c8986f270b5927b83e794e746a6d046d3e91dfe764aaa621d9f8f4092ad60858c790f1c4b0c67b2f59df37379eaf517c44a09bfa0e9714ce8d613811ea0c3b423717c1025b70b61e022ac54035d7415bb4d01a2dc6c2b92312196fc438e872d798781e6989888f1142a76ab95a63b9f7c9838aca2dfe53d9fee5ee5641c1727a867c2540eae055bdda9f41d5f45ae345c18ec1fa4fd98fb2d4c4c21d1cda728ee677f4344becfd0c5fa661482d401a24ffc3555268a50667c8e4c03a68435095a87ba4d87f6105921269602c1965f617bc5cb4eb7f9904efcacfeed0f2c8726e881c96f323718590a1bd456124e2a62882fa51d7f95d4d932d78b14160d672b1b7f32c81d20161ce815ab4436f78a1f6d796bcfbade533e11169e02b8ea571d02ed538f0a0115f4295ba2b76d09bd479358108116a29680ba88a113cde6936190044b2138120752bbdbff0fdeea9ca7046ef30cca2a62722d24d3006ae3a727dbf7fc15067d725567dba2f43f5182ab62283b2ad642b00f9e87114738f9560fbe7e1585ea409771fac721130891f8c40b0db48f0affe469c17ba72ccb00972e228f4d07a65fe40e3a97ef131a445296b0cbac81e41bf6c3e1fc10dd0c81e72983bd38f218ab60c3775679b528096f2695a93f8a98ee6b8bcd0907a02577072513801f1dd79a9ddc277d5e26de21d0a38e7b9df4db7fecc1c70ae9a16390b49fbe8fdd7cbd221abb96663df268ebd52869a39ad3649cec8b34e611a6156b32714806e69c03f2c634beee3e7c87a5e1e0a7ee04e83a53a33d312b6568aae550b70202b524a12b7d9a3fb13c6d775a24229525934ef998fe49354c995cfa8b0727501ceec12ab745d49d998fec0f59b2434a8a649566722cb9a1a4663118b4e7228a64df38469ce72a50562efae4da571e41f4de0170a8a5d3e790fb29ef893723a6f084470a694294b0b5f5849d1a3de239f2715ad3628865710ad1f692fe3721dd581a782a34f7b15396bfde44949d5018b7aa756938ed058f164fa13ed42606b0471666ced1b314c16bcc2950276222575cb90da16750806922498c75acc72d7710aada85fbed76159deafd393189f48440caaf0d0c01701d5328cae14f4726839a4de7c19feefdd6cbdbd9ff884afb2e136043ad1f98226e867141765a67240eb85b14a280d2fd12635b87d72b6081d4671a9659c64d02bee33816502314c97f8c043becfab2c63a67d48a709e6d821e437d98c19bee6c2dfd8c76d5e0372db4afcf1977aef3b7a72b1cbe749b4db3d2c5f9a9b6f4ec8beda26f14d82fb6f4f3fe3bb6e23b0d78794ae125c1d8fd894a4f1dd72f941c930c3dee7dea41272c9cafe34f04cf9cf848915e613e89cd694c00e69386192c50471a7027db77124d33a94e47134dc44d6d86a946459267c6e5d266dddbe8003a14a0db00e59db491897d70fd75c73c1264af5182e1abf032f60ecc1c013dbfb40d60c881cc11f729436f9d22a6257390495b9134adb4800c7fafa8b908106c202c57a7faeaf433ae67e0c94ccca1564d493caf27c690a030d96bde2928f6b84c03a621bbf213c72f18d22a850b72b622e42946af095a7b50c9ca016f0fca904cf23287e4811e03607b1c5be38efff44a38530d4a5c18f3884f3b7863b65b91a73eec3d245a8bd728b80af0b5555b04e94bf49f07089d5ae8caa80142e3c98dfb67f9691773b1a5cb3cf28a4b2c192c7f6a46fdd42a7f1adef62ab534c054264169687fe6f4e4758efd32f640cc746206544305f5ce4620ed9d668573da17b1ffc020472616ad6725c6303952391d748dce27ac98306e4056f173840d285a21e3f369f99e700f31bc3fdd18e04704cda18e65b77eb6f581d6de1ca76dc185f66f1004fb9fd83f87299e421fcd280f84e48c015d1deb61b3e283479c0f9789d8eb399bfe58c9579726ec8bbef3565fff1bbdafede03ee8a70ddcb01f0d340a7c9809b13619cc9cb6ab30d96855dbd39f558bd2ae9a3f2c45c781a82fdecf32ce91e9ca613e1edd8728198eb9206ec8af6dd5f6a4a4372f2ed1dd087e2614fe730130c58d7dbef830858abeacfe427d1e08c456b0396ca8de5896a012c62aebc9dbf9632596bd6195801ad1632c0ed44bfd11a37b8596c01e2ef9f637dd9c122975b34d44643c35c72efe665424987560be4afd56fdb2ba7e01b81e5d9aaeaef5c10e0ad3e838bda04680c7773f89698391cfadbc03d262cc1d85e9845dc98f479ffca03c9217ada3bb35db400c1325a73a52fbeb046c87e04aaa68ab08c8a7efece4bda2c84ff51364fbfa3835bb5c97bed3c7475641aea466b463e89cdac77989b7ab4adcce13637593ddc86e11c2891218801c5efabba8c50e5e2c494d8910c7a92a7e9d2654872d39a70eae411f26ab9a123c2ba5cdb1a9978ef25b28701c21d67fa7b32cf4e08b24832ed4e569d59cc67dc155048a600d3e7184d3b3640b49c53b66320f2086825e775c395454791f7461bd67394c2eea2c0d7c5486920256e5d51d41b2df472aa75f4a031a9f3f0e63ab09bc13952724784f9b94ff9ecf79e2c02bb0ae0bd2a59311bb611fd56f28d4d230418a120eb444c330ee73a3f482655eb48bdcca572bd775a05b701e2a87c49ead844172f5f027199c0b97f3b9dadb803005c60ba724c526f80758d851d249226fed55f98442755a0d9f87302942d1b9a22e5450f72e215c80eb743a6b1e7f54e12d7f246fa8b78ce39fb0b7145f46d2a822c544a72f00ecbcbf62f081fccf67c169d16e8b2c45bb5be4a0a489ea402126b9232f072af7f2e5580c80c5ac0118ced00b81c5f37a54235d6e1cf348a109c0b45119872ddf201470fd737555ae7fee76c3d3aa47ff8f8dcbe4f1d04fce2e8a03de62f139362127b3a420d75f53d335afc36b61ddc4bcae8e056aff7110f88371bcb96391f1c0a9aaec4b0d337337aa2f285e022bb85ebab0e4716a9b3e67f795d3d586a6f4c5f61227b9d51e3cd49939ba945042234b5af28010c8097e717ec1f6808723626914c2dfc0df953373da0a26a901138f34c177974257101b5942bc66c747248c08af2dcbf845ee83544a4c1cd69f01c481759500ed70eba81225627031e37ac47033ee6feb2fccfadf2f648508da1f31db6bed49fb96eb2af0ed0af7a454332dc519354d64339f3c0fd8445c7ea208d7bfc302e292606f0b7bc8a37da5c3a22aef28b6fcc3a7a9ca7ce4a78da6ffc1dba95acba906f11b0e8859938c85c133bfc59df528b10208d44b8f36fd9b65ea87462e1a9a7ef73f7480ea3615b0d47422c059bb5de75870ebf0790a070b20fcd42262c2b40a2e68fefe0391f7a007247341098b80d17c8909b20b92c3dcc61a810ecd10a757d586074b5c46622b550ad869dc42b8ae5af40f2f0f265de91fe0e80803545d54c16e87aae483e926772a2c6f745fa0014bf2c9b1e4368208c069a6c7f96bb7045d0a8ab17e1a7846c726e6c29baea4a674db60b05927863a209e8f6b156b1b8bcbf9675d89ea4197272c9833c69e7e1a596a821525d2ce67b563826fcbc1984d871aac14f8248c7c27227b1c6f363ab71719c46ff7e93a1d1605801cf2685009d52a058d8bab75c9d72f3cfa3ea86ea3da3ae0978f9476c6ab934811c4dad4b2c0d0fb76e248a703562ab63e3a9dd5ca0f681c7e680183b1da0d77410b92d183d0a4c4a546c147b6c701e2248e287609f9350cd384341909c925dc444faf9f81aeaa26ca66704cf85168f2ee2dcc5c52677186cea140bc3d333e4ae0e5803b3551a2850e5940a258e720e0e36e7115ff710388031143de8d27711e4d12368b89f62cd0add6a368a741aeadf2077209eb5d81c1aef3f8421892d02fe0ea13e328fabceb8574702d9f9640ab66e0283d1c47daac90014c91020d5c4b7d574f73e7567147245cc18f6725488a2c31468535b4315c4047a30b2656d353de933a6700cab2b95f2b9c9ef6a723d18c8d933aa62b0ccf0be7419fff48168258dfcc02b362541b9d8075be67e7238ad555a4c204a0bd2ad740a137b9ed719c041428a1a842089b78e8334100072537bc7706d235c129a5a288ac3e84124eb67351acb36a8885284a1c592977172b352b971ffe9d4bf54417ccbdc5255cf368779b5674af594476a31b42169803653836a7e78d80ec654202362944af1ab22a45e1a97480df15eb518c460e9077206a702cdbc81fad34ac70cb472ad1a8e7b1af0e613392cbae490d5691a8601727a89864a6956170f46c1dba2098fb8e4374650b96330a66113682448858fe9720efe6c2f9f2d6fb79bae3b2eba1dc60499a0d5ae9cfb21d0e03e66d70d8bb57276c3004610ba55b172816457a7ccee76e39a563334e1b5b240679c12eca49972e5418707acee6ae83466da8fa407d00f03b88dd6ac5b5d6911c7cf5ca1786919f4478e0234b3731a52421f7cd053f60a4a0e75d0553f2115892e6aeb789da05f240cc4d689df7cf004703f9898ced63cce43a8d0cadfb3b969026ac50b71dd1be58c3720b9a2e49b6f02cb11cba8a24db4c451378140b98b4907d6f0573a226aa8482e36f236c5e88c1ef42a02e3a15f15b1d4d8e2d115b37f2e6d28ca36a7727f9e6b2eaa7140b85339b9cb885e6ae44e7c96294203acdd0f39a787354e8559de8b1bee0f8a19ac90aff26b835305a0f0724a6817aa5b0457f40bc840a76006737b9ab654a0adedb491b75af071c5c2edc61721b7c04dd4dc92c35ca4006e3dafe0fa4db48d87c91b0c0399589ce75502fec5e8b5a96f1ff13a5c51926d05720e1ad894ff31304de54be08d2c8b58f6d8f1e56627a636c2e17774a9a9be41722c90be05883a942842342301b42d3f8ff4a91170a32c38aa230ea9a4b0c8197267b6842fbce6b5b3592e3cc6eafd95d67ff9ce4ddb605abc1f8a97cbc7e01f2c89b1f983491bef169cd5d2d4b35c0812da0b0fee264578b9604c2846b74e1135f07d0445f2866c4ad435c7d7df6e33653b9a3a3d3f3908f4d68ca34d4b972a72e9698ce46dccf5969ddbb00ad829e0b64e047e1bda20bdc5da3eff9947b94972809af907bedf383faffc2584670a88d6feaada8a2aef0c9aec2b8c1426ab2c71e0026efaa8f98a33727506cfc76d78f745554762b2fc3d40caa742ddf830a14d6660999dd728280f205e0507a35686d81d89f093c71f1f5f5b0aafbc65ed6e7207164e894d1c97f1197675dee9d4a2ae034b5417f69f8c6d6be8ee1d933deb722d1e57975749e9a3c97f475145433548247c7f9b0aca3d9625ebe02f6fe6e672b7940fdfa3385f398aaec80a2d15297c9762b46a4f642a77d79815b94bc57272c9365775570c17aba1428ec4254b40586fbe85dd33c302b1443eb81ff45ace53a2398adc97f0f7854a0db6420a7e0167a086821d97a1a834c9da943e4c0f64723570dd3d1e2f70682bf519f94bcaa62bbee881ddacf288892f8ef92b9aee5f2d317bb3c78de64b2ea05ddcf1704bb80ece9eab59626429afe0401413effa5772ae9370c9f57f88edc0f6012cbc582faba82c3ce738a2f58b1e7bba39c1393b5328d2678a1eed8f362378d7269ed74bc373f0649034c0c8a15c927cb89a8efd4a45b9b5b76b2168f5dcef7f7884b8d653a177d8e20d55d323d92294eb10cdf2724ee8845133c77aab2b7ac5c1a0900d0143ae491a7e0680f462e437fc6fd5ec7282e001aa3527796f8edc9dd49341446cb720eeb2dad5cd0a75c65e5f14a27f7262125e4765dcebce81a2d88864c380a3a9a5cdd86bcc282e82820ca0d28c2b5d8fb3df11c85324dab9fd96347b31ed17ed97dc9ed1231090118e59158de5d07298377cdef40e8800a2b70ffc93726e1f8902d658d39ae1ba8f193c2a15736b4a9ddc42b60c5e367763eb06305a48da910d96bb1cb3973f067217ab29c8d31b720917c6ad6bdae76e729c9c5dca847916cfb4627d811d43f9663d4a537f2678727e71efb7d4037c356daef1d1ac2871dde2f9ab0575f7a1d18bc8cb1e2988684e4ef1c80f2d90aa159a51254ff3d357fd4502fe23999371f376e24b2aa7c1017212a9e214fda416704c2315f8c69d478860d3fd54d2ff46cb4614b42f3409ff729455b08a3a1a554f30f2908523e204a39c04296ecc5eddc07fa254ac27489505806a04d69939c630df96989c34735ac5c1d40f5c386c1292f1de12180b7e8d720416e1e0867479388982a48d5d7b5ecb923f754cb516c7d62793edf31a5ca172901308103df17759d3b7608c177e4e02068be7886ce4b47ef97d7f4c6b004a724f0a89d820cdb234a141f31b00a2942e01f255bfaddf0df7a16f4ff1a56674723eca1a8bac05d2d022a4701830a45a864fb92b32c7167a2c9092e106ab3c7710b66152faac4bce695e426736603c78682887e6d9b41f18fbd32ababd429d117216b7afd61aa1aa86a1d521105cffdaa411448c76bd254a532dc3e50c656f5f72af0c2a69d95420d5e8e7ce35a0608d2f3ca7a54fdb49d2d2a7ad25c01db89472e32a42f0a96d3b6bb5df1dd825f64504d4c2de8cd26c6244f8505dabbc137b728e6e5e8b2f6adde2b00c45a39b8761824d8ba9f0f3564dc0e0d65cacbe4b910cd9e94345c699cf2c0893cd17145e1583f6cf293481fb86bcf240a56ff881ad7258724f96ff261da916e41355a87d576dc71e27640e8d14e3e4a186cdedac1664eec2c4f3ffdfbc48d2f10b2b9072e6f6d657f7701b41dc0e330d4e16f5fd82729be0aa2132ecda91cd157a944e32875c108c82ace8b8795f289ba5bf058b8072c8abe5a133e5d9f9072e783c832fdb61d40cacd6c07a73fc65ed10dfa9bacb3e50c27622dd19a0c935782015a622c396b43ec049d9c331db44d9e51b7d976672e2608cf3dab668c2bdb9a51bd6d16d39b5e6956c75fa95f10afd13872a73de3ea4232a3e9001a98834f333bf5de5b8340492068b383b76fc6901af031604fa7295979ed1e4010bd834aa6469f35dbc040321f229478cc2304102baba602e4f31dde54c1b13f505b262ee004f198bae1f66a35b4f44a7af2349b5a1e53ab338727c36b19557447b954acb63c6fd95e43405d186ebd2dbcc2d89b35872c529c358a3784eb94844e6249688e953a6c9cc320ae0aa8a328383c8632a73eb15b0de7294c11917deb9823736bf1b1724659fbacc47c86f9b566b9ff7ef7d4f7ad206721206558226f903494c309e1417edd7502dc19e95aad4266837ea4c6cec2090721d222ffd26b49a22b6db4ebebd33b6aba43087e1d178a5dfbd10ceedbe317d5ce74c8d53716f235c3ec29a67a8c13c1e8d7fbcc36d5618f8344492dd3cd49872fdeb99a5ebbff3c73d8993d687d86faa899909bdd0434f05071b3935a383e7649d9edb6fd2d209700418d75ce793ee6df79914788f2a6001d81657222e546c72a104cdc04ffb06c8c1bdb8c554e7b2a1eeccaeab596dc2469cae108d40f00002efebf5cea7131f4d8462e0207f9e677e158537bd8b16ae7406e6773d6f71b472e76f507419c74b50b7d410dbb93e335f88db1ccfc7192a7021c46754eb14872b6da05afe69f10bc83fe6b75662f5dbedd089ce0f3eb6b8ead80492a08481e1728c196aa1d6dc72f08f04c86b2e9048e64a94288583772ef87ad01740db1cbc44db7fef9e7dc9a3b4e3cff785c6e657afc849975cc1b9ea249b14a794c0895e7273dabf1c01e2fae1999d992b5425e7663d9919fcf64a4cbe2c01e89145b42015c212e8b1f5e2facf3d3facf512b2acc065aead63fa7f76388ebb3d79e55c317298a48c0bf80cbb98062abdc438bddf6cbe12ff032a229fb63b88dbe582f1a7459c8a0504af5a1ba8a0b4ad3480103d2d068cf19722122bf0224c3df033afa9727e7c03978a35dc0f6aff0d007a39075ea8702d821cf1754f9468251b4eb42e34cd6adf7dee0a6b862ebaa9fe8423d20e83e43c6f6f4684187ec15c5affd0a7723930cd3b1866cf506e469c11fdc02a48cb34382da274877fc4c944ba64668f1780682b6c2f3cfb20b56ebc6e66d87c65412f6b5ae529b6b613f2416ff9e1ae72078851cf1b6a6f0f54f0e7b28312a47551157404c5f79d903fa60d84a1cc2d722ca9910bff844f8606065ccc14f7feb4260f8fd65c01af1a0669400e75f1d872f35d84cbb838c9413739279bd3b5b9e0c037eb8fff8d329c4c6eb29670e7d4447e1f5eedb19274f1eabbe1468b6d90cecc726867cec2b8d5aa88bb2153dde572fcba4920c648416e7af79a8647079796de19b0b29d786c47186de047eefc57727c7471810dfde7b7e2812bc5fb32550881f5d3fa702b01f2404946f58ef44772b149983661930463e44100438525e0eeb1e7240497aa5504ab815c399ca7a47284291df3b887ec25d39ced7f2726ed6379564770849e007f309dcda86886c9722d75568b13890130c10ef84ebefb3eaf887ca2f502fcde0e0f80ef95b88f8e7234b1ca9e23be0d27f2f443a9ddb1ee28c4d7aecd2ec3f76ada330ba683d597725a03e11c49766cdf0e6aee28724f30450e75a0ef2f0ea867e9faec328d28ef252305a91b30f645c4bc7d23f81c0619a3278f22922de4afb253e62044900e975d49bb1b57fe7b29600bf7cb75bc69db88613ae4209a8b7bf2a46ece9601733f72264c50907d94947879f7b5d8b90c16319ac570774b1ae8069512bc88419352686ba1fb3336a3d9c32432533cbb74845eca2aa5a5858bb77fb91ec3e4f95ff62a382c893dbc2a3fc8c47bfc8800dc8b0e51dafae740f43e792bfbf35a8fa7a22dc7301d79e60e133be6333f96b61e7efe15f1c8f324e5a3389988c15fa3054b7265bdcf45575b025e5567f912285f25a4a4a525de14794cbf6b077369ae020a72f03700fb5df8d682b51db16d304d1973c64d841c624d72f72b30d2c3c4634b72e923c02e0022d4f55c7e99e4d332f9bd15365d086d3e5e1beae9944f0ea9be4f022d8df30755509ef8afae42223e4b8b3a6159e60ae8674901619e42aff86572caa55f3282d33b608d2c92d3da4c859e13c63ce76c0db1247c3ac4da3e6d0472ae35d0b7bfa7b099e2b59b264ffe80196d804790bf1829920aca62582c488305c4eed0aec00bea5ca67b065e2b5e5c2087be258e25276cf75cf01a4a7a15d758bb67ae0682819248cb2ab4e0e6e39a014311bbada5482e67ee46ccc700e297224ec55d0f18c63c99fc77709179906145113a5c35fd4f48e51cb05b86ef782672c6b2f375acde4a2048a2b4d86018c8766e271b126400f89cb9779d5cbd657a6c52a6e1f0f4efcfe5ddb6d96ed644bc045a7388ee76fcb58c183391b5c1bcb9724169ceb478f3077a495115c48f1446a0b557e056b549b2b0f1a828826b0e4172ed551a0ab5cca816d39ab0cb79b63b0f43a20746613ae57031339bf882892156eef9c3a047a44e83ac605e64647f13db17f42d1120ef9980d8384c68a52f59726e8038d508d42373dcdf67f96dd3c79662f503588a7baf8e5fa95a7f337e9f5b677b14c207db71a14b8888e78a09141277fe6968f99ca7070382e26b7e6bde2383a4f729a343357fe457859e34e1e8cfd2edaa865f4391ae774998dec64a08720efcad825c96344118dd5270eb1c8f0b2456dc166192d7ac8108b23bfc6cd561204ab2ff0c2eaad1fbffe0f26448eae085afed0d48dbed0ed7b97ff269f025724ea310c2f8c7350e7efe6dee664ce1506e91ef4d0088aeb912f495af5e22b638efbe762049f9a9d25d7c9f6e31b8285dbf11729471fa708b2197908981dcf954a2b9877e64631caecfaa9e759939691cf4ad9c8191ca775e34ff8a0fb0b4bc3afddf9b19c59351d5ec734268723b2ed02234e07c6ab21d71a3a9ad5af72eb24986e3b64859471691487a6faf8ebe08acdf2d8eb58ac4c1da3c4d4e8cab341a2d6add2e35617803bb43a99c5f3f79795ad087ef932c5b9d52b324f363106cc77265b78f5a7b6910d1f83af779d6df6eedee623acc7890487287ba8c73ac4c587285af676e5097a43be17e0a46bffe4777344bcc2d04a649de2ab23766b239a43b9fa775630177c762621bb329cae9b45896a6c02eb40af56590ce4533f8c48272e22a0ecc22a5c59ada5dca05f644db4c93afaa50ae832cbd15556a4a2faa287272b4fba2e8bf29302b28a93f9f24d5962090e6f3ff16aba0ea28a086c4e3c82d13973987ce82bc626fd29a6c57513e9e8c80ded3093af9bac63e94aecb6b34729862cf71d072a73dbed86431b064c41b2f15b0923308c78975e7114dd4547d720084baa3df13b3020d9c28ede45146fda5768d92ed6cd44c107d49c5d5dac95a7f7a7bfe0010be95884551aed8ae412397a77d76e66f39005ffe64da8dcd21489fe7baafe1dce833cba32d4c6a19d2c4070f46ef3e13a027351f61952732b57219d82054dc57438c5d3dc6d3a29d5bf386df64b3e34282e6f05b90b7a9330772cb99d6aa39b2394035a7bc90ddb79e169ac35f1bfdd137c524ddb31165bf6258b9bf3bfa494baa50850fe15f01b2380c45b5d5327da2540272d75e6af44b0741258262520bbcdf843b01a81996c2a90bfad6e379e3fcf14dcbf8505f87b0ac72efc0771062cb658169a2fa22a7be73fa5f6bf4140f1eadfae73946d6c9d7f515f1f0dc48b06f31a8ad19f93974a61f68e05479adca1cc9ecc847e1e14ba6ca33a91d0219a263c23cd21691dd7353cfc998e5823939cdc8e471b17eee3c109372d2874427e2772aea6f8c21ed2e2807bc791c123235c3def3000c6557490222016592568fb66f112012aeb6f252769f05a67962b742b835e6173a1bfefbb5ba729aa21381189e241188a66f039826108636eb51e9d582bb8d594440936796e972a20c21ec93ee1d568c2bf889f10fa23af487631841ca82b06781dc420b9d1e7270f818b03ff576b7399e7bc4963609f83ccaddfb02db7ef68ad05a8504b13172aa44740a0b01b896f9aeffd1a85ab9de8bdda00321bd02a7242b38199e05b672f540fdf6e4bd423ae074753debaac4bcd541c9b8b3fee751f6facfa603af55724182f515ac7aad005facc870739c6a602589bb0367c88320aae22b5012685e05eae2fbe8772a847a456e1809220752bd6b9f58e65484a85cf6ff6eaa272cf2729fd1e8479d080caafb99d5afd6d2cde0629ad20b0cc2ff45c5e148f02a85c2294be5352dbdf6d41e3b4913a14628afb371125384b677f799497679395c7a9345bb9446f718ac5bc9ca115dc89aaa308c5a2660c19e2cb44da12f97dece13a46590d72d5b81f22482ac42fa778c85dd6991c0b9dc375015e7811c7c2d461a2d4b5475fa1b2c7623d04e9df39809dcbb30214a08ffc33063e705ce723e0c995e72d8d0e56e48b6a551e95cfdb8f2e426715a5e9190cfbe4c2c295f1a011029b0051737302d554c155dc071df7081580d42c94b381eda49f610de5eb461d173d1726da7ff5cdb64803365d8ece093d6b7a4df7120c2c216bcca550b9c78a1fb0d5f16c7fbfe7df77bf3a43b9753a774df0d9f66b0c2d34395361028b7874899cf7221639203827265741115761e1e65cbd2f905272c9e38158987fbb4cf169d3c729623bf3040ac8f6a22849fabc7d800249fbc2dfab8d91f0109e395c438cd63721cde85270788ff8055235f47459339f7773c8e5eb9c0fcefd02ca06dd6993247d30afdc652f5a25438c0ae2a9ef1ee54c33fe91ba7cafd34c4b58af15cff6972345f744953e94c457e6fd40583314dbbba59868f5fb80369cd4fd7bfde0b1f721d40075b2c50279ae95e290b758fe4414c9435f771a4c25c80b2eaf20d878572a53404785d90a6017b2266fb733771d45f6f6e0b21238ce00f80fb6640c02d39793af1c923c6d43923e23127d926bdbba53d10a36f5259f4ca30407956abbf29fbc3514cf2272dcc2e561f07f86d78f484168dc18cb5e41e746cdb47ed0b58727af9f2d207c310b3c9e490c1b9cae1294360f18fb96ed3de040e196d229a6072598f9d866e27d7dd6a3ca89739a991a2a687109b2c76d7315381320b9920183f919ce70977da4c92bff3ed61b335dc4a87f819c954258955b2db8e4c8809807261ebd74f68dcec0ed402503176bf291afbb3f275a1bf01616fba592509bcec224a417f03f2ba6722ffd282cd79c68fffd4474197b68f51727eaa656e5b51f97215611417dd17c3838cd217e95ec9f66cd403fc909dcf815b08db4669c7877072d508bc632d2c01ba5477a11ce77091c189039686e1c620eb72063ca2b23e6925ea3e2bb43e3790d4869502c4d20f1cc15c5b493144180e63f9e7583652ee3369bfdc1e1f809560edf72a47c24946cfa7e3c6222efae3fd67a4f5a92320c9881b848752cb068ab96a8801e066b1947efafc4b0af82a04ab3c894ecb485cc4da7232ec7ce29e6bb0f0711f38207ed6ad57aa75c9f8be47f64d871bff59d72e6e5dd6111c13b474d5f05c837621ccd58124875b7fd45710b74439c12c8cf10bae0599e9ae558711f1d6fccf8b5bd41a916ac3bae488a2028f097700dc039ddc0872f539ec54fd1e8a0575a0bc514cbd33f9479db8498ab4bb6f9e13ccaeb4c512721bc45218a36698034273dbde8dcd24917fad7fc55fbd1a796a02855b14db645d03af0b7d60b61cf54bde3dc0532e35f4d54e27a678e8952db91fff7e6c699f30eaf3b31d7cfbf0b741ccd6329319a6ed6dd8283400a86e87be01562efe336572ae052d6299b57d17622e8960af7ddc06b8f63d6d0d22d92747ebf758325d83723c01eaffa2d21d99af4ae6a5f12f7962b1af28245d44a144efaac98953160a67f454edbb42e97fe20009f960fa230d2c99990944798fa379d77821cde57667722803d16888c017aaf0f8daf069eb9e149c6c4b7b4e3e0ca656bcd234fb5564728aa55d94f93d79ee107c23f588d83bff1dc225ef3a8503b9e696af4e1f2da6070871ef064ec880bd1889f1bbed2a8ed18b85ed8754c3d60a285c95831e7b6872ec1210ed8e431bf94652ca46a3d475781e46a54bf6efe5b722fd93a770791a7297da33342b81f348017a8c23aa385eb8faab66718e22afcb5a3524b70c4f596501353d6414c070a76a10a556009aaf9309351bd90e33edd1bf5edf64c8e527724a3a401320d8343b68a2f9693450e64d4aa70216c1a834921bec8b72ec6b5a72323cf5ea6424d55c20ce385c086d17f7e1ea147f67d956986d80167d9b3b7e1d583ce6f508b6a8052eb01a12baf9ffb283264308fe14b1396bb2a108dd105d72a02bfeed21d9ca8ce2dc7b3389bda4b9a40604df4ba93e44af280ec30afd5b72e0c394b6de838dad9fc87a572d83cd2715597423cfeb7cfe5e5cbd22b8d01272e5ba5cc37cb1bc58342f79a54c34862187a3b02cceed0c994f7174e348b8df14c60c3bda6aa0fb0a4c7c4aefde92372b8997db3e3da1360ac0ada3f31f26096569ac19a4a865a9273a736924c2bc44fe65371ea5237741557f95bbb77feb664c1138506d9ad0023d63cca29398efe719b507f7843637211e28b5adc1ad132d72ce00c71394d29eb6cd2e9ba2d15c7d3e0671747429ecf51bbc2aa114f3d9b361d799d3c0961afbdf1bc15946fc58a3a65d9a80d17d3a9cf370ca17a2ea2ea83da8803084d6bf75049c99ccf03ce2e585dd38bc384a6a81ebab83281a630c0312f5e7a3417ea1123effa0a268e6e2f6f65734fe6bb87cfbc402cbe6645de8cd551f814ede6d622a6f25983b265e811da2abc0fe80551618d68287f5f29788ae727b4ecc5a4e7618a3a6834f64f1606fd86965aaded739516fcbb2885818737e72f479f0302fe3d282a333df0d4912736b3a1bf9bfb13f0bb54029c3f4258e0b7260978e835871d282548b540f9d2fc23872b57e70b0f6e0ab4605670c8500af0bacdb61e07c45c62538ae32d091800b9e7d6f1d50b37e4bf83b3a9451fcbf34725665037bb442207d352d5dbefceef8b737132fb4238ac564d1a5b9f9be19c665c3f0665552db4620430d6f20907f9772aa5535ec4e6086d8579bcb41ae819b72d5c9701bbad09d41bfc55a80a7e95f25f9f08c76df605fc36a8bb5d05274131cf5bffe80ba0c01d9d789842cc0622a895780e380d71886bb24acc0fb2a8a8b5071e1d3e2987a43ff4639a2f4119bd945de84b7782da27f4499318a3398f9f604272f10d0032f179bdf750bbd3bd6286411ab8e66e71f135064de457fd99fe572ac59314f7c9ee485f9e6d81691286f0b71667ceb1f4d829de01b8489dd9a3c700762618500b146e7470028546dd2981cd5abe224b1476903e33428ca631b371d1b3da431ea9bda71f08e5eb404fc6650c424fbbcc448420bdfbe4ba4116195721c43d620d8534d1bf324be10aa6da2a1b5d7fc7eb5706a0353b989b7cf51f0722b399071ff97a120742d65b788fee9ffb978bbc3c28073cbc9cc2575c763f81458b28be6c8099eae4d8d322c91241d214305e84a23a73308190d337a3d21ae45bbf435acc6dff418eabbb98db8c2714b61a8b115b211222c3237ebdad90840728dfde5ca4503f7587ff2b0c6175722c5b567e600365160a2f638922bb7adf772b5f156326602ec83512fd19eeab2697c549c6954a29b99b85a3dd84ef7e0f154f1e5abe8ed41c7c07a5ecf1f3d2e15399fdf0e193f1af209993eaf3d540c5272f1df10d79b009445526db7166924126e1aed55a184c025fec528358daaf0bd726701424fb284b83e001596359e1c15db2924a4cacb2441e3af346ae973745d621f7fd6cd2d888d3b1f08d20ef9ea9b63a5fcc52e64ccc4543b005b79b4b7155769c18dbadd840b200c47e70cf13c547540a70378683f4287629b87c70c0a6a21ca344400befdc71c0a6716e44becda6399d22b72ffaca348f6bde6f991ca482a185b9e8b2208c291ab24a1f21003ef6a5da4f956bd702751241169aeb629f94b62d40b0b7109455972f688063d37d76a7d29de3c3a3f346c2f1168b0ea5cdf72ae08cb016a869f7ed7a4ee339527c1c932dbc728fee0b16b9469dfe2cde1117239ad9886c7cfeed7e0e3fb3366a0a495164eab42c009c4b106ea75c96d2f557249d614fe619d0bc17df2495bf5b8136ba6dc22504502a340963f83b84346fa72f056b945c737f99a48fa22b6b9c8e77bac3b23f64ee2ebdb614711c8c36bf2728d3195e9d7811832c2670f6aaea163c3aee8256724d107c0ccf63b1506bc9d34df9ba168e6f603b57b4f6f90cb353f511bbbef29b8f76edf0c62bc8eafbef67286c933515e0bfc20f17c1c01ec2a9b1de71c0ff73d39863096315a76b6529f72ad53fe90c8947a96abc35a1c12454af79bf36e7ae42f5475fd01c64a98518f726b32b0a91a47008d371f154539517267e3bef760790916ef6c3710ee4ec91c4ef49aac26b1f5dc405e66362bf5ab9aa403cd468fb13eeac3781e4cd0df9d5a720e062fe9abffa80029dda3b10102bffb00ad2251318647328fbfc85aaa9c4b2ce8312bacc1b78d0cb80585a269932c2a2c5b0e4c7a0dafa15f662c3b1cdc617275bf8726e1c7ab9eee4b56dc59c848f296e59ae4272c8fcbfb23c961b4e9733435e87dd59b73a963e0d463cbfcf20bbe5bb20e2cd43ea68abbad508891305b72a60c725392e913031e7c4a8392ba415077cccdb2b0f67ae6e75aed9c911dec2be3b97b3cc1d525fe8a83328640368b3b0ad5b1c24308b8139179e68ce36b25624383113d1774d8eb18e831ab8df0ba0472ccb725f92a7c1dbe487bf75b8da5728f195510253e8da609ba988d9e9ed423f6b55283035cbd461ee5ac492e6771037d00672e9fabd14523dbc631375fbe04ae9d80d55ffc08dff62926a678ff4f3a49c2392b84324de559271be5e881265b83111a26a41cf3f46e12ead14951bb30b67ecec3480448f29cc480e5dce32fcd1f400a4baa668deb04a0f19eef252a21619e1e0e7f75ded4ebddea7b5c1610de60245c6e960e63441e8cef749f3cc272d1e14a596d829a3b34e9cdcc399cfafce3537eadba4c20caebb8729f915bb872b4c411f61b06f57cdc9088f007ebcd589a7cca0a3277c45e45a39484e752e4728ddc8b015d0394cddb4da879b07591d34040b1f8341b305ea37a99677fcce936ab5ee733edbb569e351b95223f20c5e1a02a9c623c714379cb391fec5208961bc2e1a70579dd8af0847561795cf4425ebe8d68dcc44279728d77429cc735a1723c837a5c1492adceecd49c8498a555f571d2cca3b677b5378783f4b7f045b07239c50c7bb2f908d332fc522a3fe2adff272da39c827310b573e9e0ceb8998472189478146e6027c50bb98876ec3b56d8d303ce370a4b2e318cdb76aa0f108e36444353b67d3ecde3a601eb3838d326b8a5697375b4ac1f47543e15e1c39a43723a3fa94a65e90158156601e9a7f5cea190862284e234e5a2c8e4e4fcf65d1672fc9fed8edb28dfd1d00a26470d6ce90a283f5b09818c994bc9f21679fda70a11461c571f6531087bb517741e4b2726472b02ffcef82d920701749a472b395972c3a921d79dd62bd20461f3835cb714f490498dff65c445b8af9ef7aa7caea66833c8a21e06759e7a6f7fa4835dfeccb33def2d26f77ccad1eab54059b41f7c7209c9cada085a054ad8aebfe43f75ba4d23ef2707ec7ed9d5752c85c359f792722d96a6f28a71fce5a1318aef116995516231f2eec00d85ea2a421c5ccf68d57282de1740c73ac032868cd2eff9564df0c7629ba355053c567ab521b82fe514723e152c80d1ff212ea941ef045e72466addc77a348b65cfc5c11c3077123443723c7692d26dfec867815a869739b45b1d668cc4a836d397f801ab84303894db7295e682ab933cfdf4aae666434cdbe0d1d0f9f1ec0004ff805370d30a1d272672d6df771fdc7aa13a8983c4e9a11f826b4d87c728948c5eed13090676dfaab149f2b1e3d8b885796eda96456c212a1d60d46b606cb584fc86105ed208040b8767176f864297a95e9338dfe2b24b6c6352412a9cde20803810a63a6fb96c5c1e72f2110e5be08e890d9e619f4dc65fb9b199b3571fbb4f210f1bbf697f54f3096bd78065f1a272675769c81784f255d88b8a45adda51bc4723dd8e6036f2605b724992000b5eebdfa49b035e180d81418e811bbc51f8812356b7140c21aaa17b72e2d6811f5d5faf2a4f01b456c5ce13d14bd4c22a20fa65ecab76f4ee02fa6d30b88b35ade51f0a29987ae96c81ae591f241cdfe26dc6e61c996426015528da7273b4da86864d941385055864e6d1beb30cf6156bc4bc40a40f866536fd4a7910e0cd1d15f3193edc6b6201ad5aa6e90fad8d32205fb1b11882925dacee16f272a5b9618d80f95e150e47704a17cb0d6b05d5c7c5dbc01947e98d85c9c6a7fe0dcbf3d717b04bd145dfbbb3f50a506ae5ee01acec0d26cf1fda10cb72ce10671549c4b403361134d0c14b67964cac0e042369251de049c10e7c3e285a8b5f4e722b89688f96defc60f798633fe21c77ca8008e26693d3e242818dd4b32d4e4e72f6b267fa0bb1d92137e7da215ba811fd9bee8eea9c4395850255c1fe899399050be7b89dc97355dec1dadb7dd92e76f48945a9fb71a22eaf2ee987d9c5f29b410dc78069d8379b0cc2cb32859d03a7b54c4742532af0b8c0257bcf11cf0d8c720c6e5da184d8d87b6ed62bc7a6ab11c96559573c2cabb8b218cd025b4a92e37204afd326b2185e241c6720d87ba3ee7e8cb56308a809f544dca581569dbe9f3fb58198065fadb325a808de675da4367f5523a0ead953097f0e2b351c44bdee7203f296497bcf200c4ccd72264c981eed83200f38394a7fe7c7589c3ba8a0b872ce96734ab7dd956c788303c64823128387522ab6749f3f488667623b124fb21a0eedcace67fddddcca7f5076254643db778aa3a7f5f9ea2806a13952d6f0f911ad8c8688c4a4082bf8c05058074252f59d009baa41f749d763f77cd35a8c440337cb6801be2ec042878cc71e5ec4cb07fc126fec4a25f99c14cc5b4baa3d296b81efdd2b91da7abedfd2c9fa6f9d5feaf1c4ba9f3f29cbda4da5464a0fa427143f850ca4225e4a8537b191dd8c659fa5fb9e1cff7627c56e8118e8c20f98e5724659f7a73021af612b0a4d07bcb4b1b62ca582852ba3ae567f4b812ae2ad9772a36107d9d6cd80e8d53ffd1481dad3b043783b7a2dfa962e84b0f34188db620ac4c40a9d8845077153fe13a90285334628f0319468f1912289243b4c0dfa357284133d0ece1606fb5d5ed2f963db985518c73b709567582a993affdb84ca6254477db14acda94be41da4fbdefff843831661bf73788f43089106dbe9127c944874480c122a23577251c997bdab86a32e335328c7399708f4574fbe5ac9c90f72aefa1d25e7004ab7e9a344b62a8576a844ff702baf25518c8f87aa26e8e22e72c7416fff06665ae09fe72979b3e3acb6f6466778bd9de17cf20736aa590f7e7272fcd2af9e4dce7261d140b1f11947bf982dc431dec75c1d8c7847c7b010392ed33b3206f052883fe4fb03b72d27bf08938260d3851910e9bae1a4fc6e976072c4f2b3b01d04e5417f870bc5422dd72a8f4bab922c3ad2f6ad917bf5c5c2a05c78cd720829ecc32a8795b65b0c920337840d347195aec321abcda09e0c972072d49aa29a053179483cf89925a24a6e1a59673f613a4c592d76a0bfd75e8a64722374c34a94b3158b3cde235bbcdcc2ead6582a29622fbf7def5af1e511fc444da1cbd516598b865510ecb7b4c4b4090b21ebb2d108974b040e5822fa39c7cc7252b56db1b4905a13ee9424cff0504e1e856202bd5d421a35a846771256ee8515edf5f8c09b136c5c54d4bee3488b7ad347445a8d2045bd3d899545d02a30480daceefc93da1a3959a1cefdea0d91ec454eedfe6e80bfa005717cb35c19dc3a0b7d5ffa2b9e4bd91ae203da053be804d1284e074a951d60fca1cb62fea1ad2b72cb5a2a17764ee80b26281a1a6915be5ae2d535fb801f432c525ea3656554c172ec717f22c026abdebdab965cce924143c7cde22a1906ec5066707abe3bcbd572af886adee3c4e069a61995580b7c8a46e30171fbc6d9a61fa3e14e9b05a8724a169d0bdced1a7d6e87f2b2ab4a5438cbf111f434496dd39e03619a0e7c5c6e4330afeafb111c1fed4091d54e0ebefa4e36c8127c525adbc6b11631077c92715fa10e565d47d1fd45450f435a538a3590469587b3de2dc9b8fe4ab3bfa224cd726f4d40710c4ebd00f91c644547193e7ac0ea371ae46ead309054b8d91ab0702852e9d79642edfa53738e575617b3d012a587fa439e929a94814cf364380971725e17ba87a4bf0ca3bd5c1eb60096613538354684272e90d45512a791bb4dab6b82154631835eb422a13a8ad5b09414ff7e58d979f3f6ff47a532b9802d831a72642ee3aed7ba7968f8a1f64758ffe4b2b8d6b4c38c0f6af870813eb59716d5124c907a7f4c6bfc22ea9688b4e95b050f17ff1a604d8b8d6c0fd57c488ba66b50d012682ade7d8e0acac15e63ddb4bc95a398eb2939ff0661e1a852cd0f651772a209867b81b135e401026d9d37384e7ae0be154f52bcdf22eb315ffcff1f1b722bab3ce43b5b10cb70a23b3261a61c8683257573dc09b2414e3c23f4b08ac572e3abe11d582d2f0dac7c592208bb52803b24dd2e54c6d6f7dba0830c2bb85672ba2c86ba58adbac19cf3c365d70762e962206b27b2a869bafc9e61fe4dbb057277b72d23d3986cdde50bfcb0ab3d08b9bb374d8fb54c4c61d42089ce70de3172129880005d238a7e32c66f17fdf766694d5f3731fea440647186fde3b9ef6c720f28ec069e520fc8c4a01ba234ddebc8058ad052f14a1b635076ec70bbfe5e6b4051805be843f6d95dedfabe79ff06deede258f38850186094bd74265b6a2272a531cbcaaab924819a6851bd9d43f76292bf4b830fa366dc34c6de78822688345acceccc24433ad110226937b7bd354a1789f53aa7e844e3fa2ffb975e258a1afea241d68b35e9c04be4d8925208176a78866da05854276bfbe9a16a0e508b720ec39cfe028de2ee350127799b22aae261de5b39f99dd5dd138be1d75d419f72e10df31d2bc4bba8ab1bc7e03fa216a58733780185addd80d4b708e99487092d85ec51011c0036891f03c1f777edd36b17f0fdb76ba073c1ecf14dad64c4a9728dd41e8baaba99c2eee25e3b9947454df3f55107b9de194fee8ff412129b3e72d35eff57a723afb837a5b0b6643aa03774ced8b024fe6593ac99e5dcd5d64c19681337f56fdf3a270a735ef741e5c90d283527b500cb8c479c041908ef45c7378a09ed3415b34e71c6afb2a5b9e982aa0ff9030a7f1ce9ad7a8e67ca751bcc72e12d84e6a55ea7a75f0f7896ace6f93f75f4f4d168b1b97561e7bec39b679672d630d1310dfcbb79131a4068080d0dc3b2e73c462bbf3443715a07f4969ef60a9ac6e81afa4feb7ddbf1aa0d7d3d7c1af291e88b08fe6e6e6a3d37a91c1f097265bdfe5c0fe5e8e9180a5cc3a3fa3699057d73444894fcc2b76fa58c23b02672ea975b9226878102139352e0b1c1c185cc1f9218d8500422f5d178e36341a772e56a49ce94b76864470a0c4c364a264c6c7216a54c62cfa6add4899ff17f9a70cd9a7e2a79460fcab9f19817bd44261d62d9458d0637254d24f1e70b153c0b725c7ee2ba0613b202235453b8b6b1b1ddfb0d9550bf7e977f91304e8c99093926de568cf28abc1a77ac491bd17c8b9f5892bedb95bde186d6f7e9fbaad0a89a727af91565742a6ba5bc20573431b1cbbca17db701bdbc1f6ff238d79fc4a5125edc579540c83709c4e1686e971c1607eda5667f9e6ff72a4d74ee39a8116b20277b8f7b91ecf85ac423dfa18d0c0bc564ac2340b61055ee8ec9f7945db56f6f72aac1c46d06d9261a0ccc98a459f8b1e05d0101d263b82555c1e315d15f9e864c64ee9ba328aa56f9eef30408574a3079992c7a68afce6e5deb0362d4e18ec372df4210379c1f0e3679627a21d6333eadf18d8b933f3091b0f3f08547de5351727de5e1229dcb456481750a4876d6c6024d2e7a776a43c9bc6bef12c8d7bd173abafe2d5886d7925c719e2bea19fd59285cb91872b66451791173f8aea02123515f7eb5e28ca0dc6c96baf8019dc596330202c029290c77079ec1a105406b9172f34e3e96e08658669878654583837ee571921a50ff4f4ad85928305927d68572ab96ed063398e1cdbc0e66d0ee965abd8417fd8fc074cc01be8c060798d44d724969c3cdb42050a7ee00a6e9b03a64acdf37c25d65222b19090dfc6967fab6397aa8441118f46615ff705e0ca21b2596c4a4f97dd8e859992530b3cbd3efab72ec39d1beceb45fa73e47d3df77e216948b5d171c6c16d7cbb060cae49138df5582d8ef469c8e38bc5ccd08fd44fa020be9bc8519c80d857be4e8a8a550faad721d6bfffe08a08e823ea254ddaf182ce231e7863d85e7e5f3813bdb04e0358b72aa94cb9e198814609a036d721f66087c8f7b9d521e32764d022fff804031d072bd32aa564f4f1d8cd4f6f94ddaac8691eadba2222bc0debb8cb696fa90ac5165a403ba7397d0da999049e1152aaa311e276ffff674ee8ed0e3f5a4b1b9ae53140dfb0007281bdc822464aa02e2f0f7d83b583a6422ce4f56e3a28f048201e5726da10942f913b83289e44b3ef6f7c647db3415db73cee6a6a8d4377424735f724f097eaa4cf6197529b2e0a9bb2389fcfa26268a24efb0d7e3038122a8fd7a72371bba6ab5a1d3132e59f5f64aa52bafc40ee1720794e217279bcbf5c6a3863fc282e5aeea9dc8948f0636ab1cfb5fcbddcfa1448eec75b3a065a3787a9a463ea03946da0a7da59333e51f6296d073ad2e4a3059ae01c42d412bf3a0c2a86e5241e4d0014b327a8f89d901f23b549306287f431f433cd37d1c23aaa5f5040972017bd7e98285481b1ab6a513fae0d824f177e9b05fed25f6075f05333febd203532380de572c24bd8b2af7de6004425ad0faef45744b34e56abc90c017429872037a183fd13fc196f0543b0d8be7534a2e0512c4ba49705f02eb9d8c0dead672b04942d8a5ce77c7f785e8001466ec3b85b6f1854cf4fd17de8a41bcbb575472f17adaa2f2d9f2c6682b7b24ffaaad9e4aff021e7be2ee7f8689a9c1085ce0727f032e00fee529e50efe57c17189f1f3adf038b6d25fe225f72a62f64da6be72fad7594d2c9f4271cde08b18a2c1cf41dc6ccc377f5b7a4feed739d59081520e5394fc0303b7d0ddc794b5b3449d84bdfe52f62c9a68adfd92dca6c339c71c724b72625d5c6bdd58e8bb39b83c1fa890a1957310f9942f72360bd11b6501c73c334f5140008f953eaed979475a5e01dbe13d2ee70458990795fe83fdb89f65308016e8d3781ec77139200295e5c15fadb78e7456bd3e9dc1cc83c489de6d4372ba7dff64ec5e904c7dec3857995891b0adc8e1944ad6b9da624b55f056ecf1728c0fd8431cba15582b4603ccb61275e9f74498a5fdcaa4a920a24367c43d845fbbed8a32c6ab050ae0aed13c10d47de86ab8925ff88a1d17097b6fed88db98495127fbcea49ebaa9b79ce3c84114236327e283fb6a5b94cf7cb8a79b2d29b272da39bc0f9675e41573611553fc818afa555a62e22178b25e37941173918b3a724aeb098a5078cdd2394dbc3c9b6ab6a1ddab23e56c85b6e748def8e3514e3472f7186458896dc187c8d27e0d52ce58d2decf022c09341350fa3330bd25dd525c2566caa98ce552a50170a474eca5cb3a7e7150d7a2f78bb249665b5f10513455a286dd27eff003db2bcbc2669f82e3fa09b39c0feafc25a752182504cddf6272becf9c7963f16d850d175af6cd2bd6928fd3d336c308f4748667959685bde2729a722ca2af4befbb0edd6bd876029543d24b37821b71e08f5d23ac2ce7958b7276ef33fe54aff2e5cfd7eebc2f8ba29d71d9fa72f9f820aa240a811171ebd972307fc7b69ad9e86a07977c208ba1757849acd44bcafd98f339a6fdeac83c4872ee6ac970e1db2eacb4ef8c08704a897763c905970a16b9a293ba304d95eedf7219d6b1827ee670535cc555a6092764fa7b49482899e37ba6564576477edba4720695529e443d5e0dc66d5f88198808025568cf630bed392190da5e19f9ec7f723854d0c497e9d6b077c54ead0c0231c372358daa5954c19e7ac5e316eb882572907fa9e02070b289901062cd7ba0e49c78d63c43a076283e238c157c5a2010722d59da95db8b7d174ca3ad6ce32fd89f77170cfcffd0a83022211ee81b4e6f7232c2c491833af37a111c9db846cdb8467c7c79023d48bb0a892ce8f9b2a8bb28ce944de90a4de3061334756ac3e35006750bd04cff215372fe484df1e66a1b72ab62fa4a2187c1d4f8cdf818064af99f035198514e4d1108d70c35c1c1c3184a44440d0cc5dfdbc85937e0cdc4266863c2283e54eae20e1dc4bf5810855a91724112b3580c6e259a9a0dd65d96c621ff5c3dcbcb7788d1cf5f898303120c71720dccc8169b342a5bf6bd32c0c043e6c6185c48aadaaebb0102921cb802b89c72b1818099004d18d9568376451a20c362292b9878fe8abd8a8d1d1647da007d4405d53bcdb97b4ece3f6333dfd574e36232a86214bf2372d8f1b3403edbaf941e2b3d6048cc9f89cfce68d8439738edb985134ce20a1cd1488aadb14cbb43bb722fcb73382a6fcf989fd8d8a66173b9b37584dfa0a712e21166399d3e77a70d5cef47917e8c79bd57bb9d10c0a5d0839628a6f159b5101d0a74d2cc2c9ee615720c3774700e2b9d404633aabdfa938cf3b10c1c19a42eab75278a3bfb14c02c30e4d976e6f813794fcd89acadb11452c686a173b8f43f7a51f7c7f5b1b84176720e656492d26a6a2828a7a7c24bc64042bb84a2aaf6aa5d3a3045075f5a85927254f3ac7ffe698ceb028d3708120e69297e09eabc736fac77ffc33e0119ccc0168021104513f20f8facec68b6cea22e3abe8a72299763b0223bfc5c19c1239872233b8fcbeb07dfc55db7f2b61b666f47ea6b420507722618b9bd9eaf2e5cdd44b15f940436f413437af30907d188c41f8e6c84d452157d0be67de925ccaea872b777a3a30b03faa264122f4a17925132b83714f25061db5452ba7e6d2c334872753971d5fd74a708ea0e0347c8d8befbf6df2715c30c8a1745648a0505916e72e4320ddcd63205e2e71d38aa2b7926056543dccc917d0439e2d9b422b17dd85f353e48f175bba5b378872008be9aa9775c4b7dc39b9d8f1b8f9eda83ffc96f72d8453286116f671ca4e1c8625e770692eb8fc6be16a8f0c45c2bcf4ed7335b72218fe2a581a71cc4cf6f18b7875ef0547da47e16fcb314e7ce8201f00b0e862476bc0b613a8921686220ec03be3d8e023a8ce3eafbe94a885afdfe077db221726bc5111308da406d22fb0c47add085ccd5e5583ec6e6747f2aad3a42d6452044e19fccbe7a8aad3a92d7ff4e1550556831c7fce15f46a2fc705df7a07a81300edbde5648ce43ab099daa2a541121264370862c49c6b7dbd3c43a30848c2bbf50eeb1e479520f4b745e90f4cc1a51bf45d7130fd5a8f54f3abfc320181b74c072dedb7cbce8cd75e72437f84d15d9895f2f567608815f30298818413463c3507296bc8664f00764a9e68dbedccc3373ae8decfec8de1f173d24ca2684d4db3872645fc3fc905c1ba51a2952bd26394123fa9f613d3d69bc1bc9cffd198648db129b1416e241aa643f862bad652314423382b901bbae4e6af80bf5175ead820b70516a078967bf08e7ad52d58b9c9a76eca4a0a53a4bc52f342a1b4ec942035f484c378245f307fcde7e3afd6b5a7fb49941a11bb477b9f49183cf190579c88672398b3f812834bb81d0e1b3ba4cb5f737ca0aeeea7bdee03a4a2815db8e5056331bed2e0fa90c90f1060a579fb68aac5df3daf4bcc3dc212dedf87623c797b972a322a6511e38272447424a8ccbbaa73dda37f542b4dbfb44ff850fefc23551728a3dfc66a10e2392b7ae2775f29314c301aca9a54ff9e460781c9c5251472716174bffe2a68ddcafd4615f33d74328fbe9ec8034d2ea489f095611a0da395372316e3e302b7430a8f54e58639b02651fde42ab7bdfff93c3ad9db6a98ef0f917ae13ef8b6e25ba1b1232eac8abe69cca1a19ef2217b2d6ff3a91186c26b6b86104ee71bd827e0f1cfecc9e9c47dcbaf1cd1046579b0719e609d5e5fbac541e3cac7661f61194645e50e3bf9845ec5973b69f61cf8c91fb26045fc44a6f97fc065b0006429870e5729beb285da5adc6f12ba1e12b95a8d7a6893dd8eafb60a335c484b12e25e8988215c814a27f76c577f09e81251c7df5bfb969f9643be0f572dd13e5c75ce5e29eefc1693e8bb7b92622c22471f9ba6190c337ffa60e6e065085dbba518782dd2867e0e1a213a58152d065639dad8e8654c39118dfed77ed3b3d0ca27ac9dcbb26835c079784fcd3ce1c20b6d931eca24786d24c365085e2725456f8bbe9f9db2db47fadde381b977a4a42e2e69f0e40a4b9ae6d4d559ba772399465601362669cdb500dc1e6ed59c442d5066f988856094dd86956c4f34268bef062dca09fb14854d4d402c4d0b36b7ea836013d7954f8dcd60ae46e3b4911193ac7e7381bebad5c0ca5968d9f1e6244434420ab78ca5c5d144e6d98ac970f8b9520681efc2cdc905eaa9fea5ab86e4f74098170e552043744de3af1bdfe72cc3b4e8f03af3fe8b02974bece27ed81f50104d8750fd78f550f20a20b3c8972029688dd29a15cef93ce86a133ad02529cb6e325cd4583c3d8a07ca65cf93172716ae10eb141cdc09a0601ce58ebcb74456afb76be85b1f516113a08d7966a721b45acf6ea866acef9a96767d5e98920923c615060354cbbc023b16363036a3718b9342e03b3cbb2ff101587257ee7e48ee0f27a6eb42a0c66d441efea74ca27f7e4ecf0a8a458169b51fc6c64ad30ac656ffddbf11c7bbc31286b0bf9af7e2a6d33efa137d2ca2bd9e21c0a7fe01b68e3d850a86809ba2472bea73daa9f5f203d8a24b9313c985aa551ec520dcd7692e76fb4d6776e51f909933873caa01c63717b840e9a7d34ca634e54f9c78da892d755492f8f306aa739fc7f8e62261b7276d7eb79a9c2f8c885fea39237fd2e9d74ab07de100a22c1cff153d7bd776a7299768d5cd810b373c68c44433ba80ec182669187d61404abf9ebb1524ba47d72409066c6f8a34b25eb56554f996a311144654abd33fab4908f972b9170330872b9d5c1af229989d25f1beed6c9ed5352729e4b0dd171953962b9ffffc437f105b80af2d2333d11cc34fe2839b779fc57b12418dfa84eb2a6a7fefe1b8eaefb7286152fd45da3c391e1c23c3906e9c07fc1025d0ba99feb0a33c02c6702b91172d43b86e5b8c1403491bd64eabd4e97b055b9cb82a40b93608da3ee6a4bc7567201e194776511e3a8840164f11e1abe5f21d532a89a86670d5f933ad12d607172a67f9b0499405671052d87498d93510e0d4dee0ea76f024fa721cd7971358f720c729a9bad2907196b43d63fe58cfc500cc6a6f19d9504b6be0e2b1b47139b72f56c7142a9b669ae99c3566d0a517dbe633867abcf568243b507fa2d568585723930b506c938ff4891f7b4f150ee164cc60e71babdabdf1e24a9a781941dce72d6078e5c6094e0371a45094f4c198325be20239828781f8229c3529e4237807292b866372c3c5e779db8542a6ce7fb30db2ac4a39fddcad73b3040e122d8c1725dcbe439565a35c6912169a99e1c6cfb46074d337f9345560094703febc8a270b481c9e030542f6f99127391253c9656dd9dfd2cf115659835bf242b3c7296142bbb86c348075be353511cf8696455482e3516e91ea292ebe804e9ee0509fe72d3752ae34c2213857f291e83c0d5fd7428be93660b10b28440c937da81b1de1fed36c0b0ed112d8c9313f8dc31368f106cda3683e31c800643a82617b4772072285190095d54bc316bf6451e78047076dadf35a7d6cdd6c36755c3de706a105eeec6c5382ac3b87fccf8cbc78a6a28dd65a107c1d869319fcabe6be049aea62921b6f5d548ffaeae34f873d16820f3ef595a859743b524f5371052b91c6237720472e740ecab9f4de3536a89f6587256204ef3777bee76eb817529be5ce07a70f0495bbf2b48f2c697959172eed370b0afaa126b47dde82849933664a9674b518d60eaf742c68f012d055d06267491a80bfa1aa3d7aed5ee37f293fef060867279b260dd2820eceae07ebbe269606a4718d93c5c76b47d7596af978786b4ac27d69f27c5c8c6d9549717f089cbbb6900b945b452ccc6424a19586b4bde261872901087e3f5756159ca212732ee1008758f73b37b627a5aac5fc2fed8330eec729b2f0f84b16e4b64667afbec8469cd929a766abfd78abc9028b3c5cb7140e1720349db9f5a945e501bbc6e7909e002185cfbb27ae8fda5ab334c5cc8e2975972d17476c2ad1f460bc393984ee5bb8cfcb18238eb69afb18a3b292dd182616d2a3fa356da161b87d271c64c0cf6bb605f664922c320ab47f72fc2f45c7035010ecb91a4d08eec99c3cf8e19c5822e60d97560e0a914f7424155dce8f52d90836c553fdb35e372b4cdc754789832013b2b62c6a3089acb729cd4e821bc83ce4072fb6f9079a85a275f09405018f68074ed638361477fbc34ac5f724fade5a64d72ddbc95ee67e15af24b862fb2d47b09c0ada2de6dabf14219b74e8fe7f38a74431b1b22a3f5d391fe5f22b4c262aa19f82a74e60562f275d805b0ade0b6cb13723f599a0ef4a78cf7cb443e4cc27a092974d4fe836ff1d19cd04d9293f3e58d72f8d38c69ed15e529fa2c45087b9b7181bd32011875ea4b54838ad698dadf9372e18e7916fbbf1a08f7b002a69897d775b5de62477a5f645e6bb53f6a7afae472f52e0f8adcdfff3b37eec0973fd46b3ed28654a1e7a8e4e232df15bc9d30ed72e535795303af02b186d942da646c8525ce4a3e7b0055ee2c52986c73ac17fd72781916c91390509b1c6c935aaa7b7a8ffb50ef4c00e3a47ff1e16c066b65fc4acaff588ddcdc326415d2e838069dc874512b83899579315d8349795d05313a722a4f56df91615e4d0f3256f17d1b2a64ed57d14e1bf518e63894c4e6c8fd8272102cad3ae4f86a950b122efac1008d205b04f2331f5b02190c8c673bbcd41972bdfa68f82a804a5e625f086d4265fb2db81e629e47d154d888236e5af6402872849fe94266a1dbf8a8a2d402ac916987a8853632eacd6e74a2ddcc3e1474ee2bd63cd265f58b709382c0972d6d526431161be0a8c29ee70cc54c15c7f79f4b72d59b7d9266bb500fc01a7f93be0f22bc94f4dd4d07708ee3b480446b7ceee818fa1cd04cd90675c13bbf2b92108d2a29c48de49655390e330cd8d3058650861694cd4f2f11435127688fafaaa76444ca20f889664e8c3ce86123b581f73d0772399c870559fbee0d90e8d5aa90933e60eb3485de094f889a66e585e8a630287223ae06818a91ca8e89d4ef44073a207efd17fc9ad3f31c45f4a1076da57bf340c0eedb2bb437fada69bc25fd5d71f948766dd8415493d0f520ef5fd9b57e6e7209ec07c76c6bea9bc82cad140d9ed631067a57e0ef4e597f4ea5fde4b4827372c4562d2f2db571e6f902e62f5d6748dde2a42354b7c6390c483c9a11e55a04550eb41682ed36bc47fcc9bd2524cfc17dde9113f5014f2445c808f54c2dcaf5723ae1838bfba63203b89e2e33321c786b391be8fe942ada924156f00540fbe972ecfd6fe8cd93a81bd1dae42b947d20171f3c28bf8d1123be1cbcfd65f7f97072e00d0c8ec78cff891094847193380bb8c143603ece266a97213ea5c6bdb827727e4b3d848520b5116f4ffc621d2ae865a2656c71e00648a5370c2321678c8c72e8b4e3e485e8c064c6f93becb23e62f861c6c6cd71c59c54c35198bb458327625acda00c88d02ccd7dd23747c558bc2e3bc35d1c7198b315924735e3b7002d723503a9e91cfe6a9d8fda1467213e3e20bd65b3f64b9d5661c3dcc03fb701487244ce80dcae87110a77b7c875403d403e28fe10a33fbae1c5c8f58028954eb120287a250b9f27829ab41d0417e0110c4f9a1c1c9f92638e1cb2ffe943474b3a722d12fda8a5209f9c0839c42c9d56b9c4f4858e5dd879f8af747393ba313cc9723b9699e5bca8dae8ae7e93912a63b2aba74bc5fe2c61cd284b223a760d78977219b8ff23e21e6edc5b08dd375c3d45f483dfb6f4b2b20d803207b0ad0dd273729daf133530a30485d687efbe8b167b2b5641a586caca627512e31133b97281720430e3e50b07e6896f2129890f3ecfe11266351e81f4b12a2f1639864cdf976a876da60c92f13fe5ef5015cb71e21a6f2b60af3701346bff1133bac6bfab40040116e12d4a25908830e90eb0aef06632a396fca8204dd1ba9b8c44f4e405c47209b3a6140f1744e011b69794d34e1cc0f316d84447da8b323695d6a03ef20f7281549692b4896013e8c95f1b0c02a0e92dbc984e1a6229c23378ee74245cce01264d03a23cba537be85d847a15e536c80856dd3dddd5326e01a720e51a8c47729f1f803fe345d0b51370eeb7464ca993fe118a6e0e0216899dae560511ccab0a5bcd8e9d85ed6f7425618f93cb1388606c61da5f4d76659239e5713c18333272e18b57ba89a4406a9cb5baef1e100635a4d7b17199e3b9aeb37792bca0276e5240ac0fbc00361503c1532d57cea77d27524a1f373127c5c5ebf5e11cca08e572b2ef09894be9c65bac50e2c92437f6662d6b997a5a753abe0b4d226d39011533438a04ece5bd383d173d0666f3c507ee8c2e1cc5a5a87dc628613ac10e5cff09f49fbc056a63024466530317a2cc642b6e53be28dd1ed5053011b9bf78a7b172eb37a4a9fd6090048cf2b3379cf490f6211daef843f4fcb4f0e47a17dd48a9720484af364706d080133df7e002f87ba933b8b2d978342ae2f8d9191c5940ff726675666ed90e55b38480a0dca8e64c9a2d084b2dd74777357c65a047587a18342a55c56da3ae5ad1ed86ed3e2f4694938217e879de770aeafb3c3dc96d7b6a72c6b87ecfbaaf3d89aa2adb9fdacd964edbce018e948cd5179bd916fad9de5032456cbea96f1c2c9a57cc4980d143e69ced450e2e9376c395a6f49784730cec0220af09f2f6c55297981ce69555c5bb8b12623bed05c32aa0882f0a11c31dc872e7cdf5aba825fe0243e0b9b2fbdff2d4d0bf0760829191be4dc42df42b5380723494a383b0c09102cdc07096476684bad2ab6d546663baa7acf133853669446737a869060afad61080e67e97576cd69a5d2e38718e826d744f43a82bc9e7657237009940614f4fc4f778e19f9fcda6802f22bdcc5a7cd5c4c3fbe30b675ead704a97ec40caaac9a150661b39aae418c6a4ed0bf6da5943e8a2e1b9b78c8c7d2e85b746ed93846a796726b9a7d7a6c9605f45b58628f437cab42c106d880f4a3ae314d2246dff4948d684eb31d897af38bc032848a23166c836855eaef302884a2be591adf127ecf0157d9f9f6c0bab9f99b686d30fb0d0c235d0135504918c1691c5de17b96b1ef6f98d317c86db7606ba8c28a10fa4b32c285043ce997074048e2b495f554efb41df266796eeee4ba7ba940c2ee167f0e6782229c81b5161728bc202afb0092bcc0d4b8ae4041a4a4b2d46dd0f1ba050dce6c391a3c78a41524e69b342fd7970113a17d679dd0d0dae4894f86698d0f4f97a3e56058b0c45729ff0b9e33250494928d695d7320ef6ce45210d1cd36ad91b53e04cd77bbd947291afe1219f5902c25ef0a3dec565ac890a7282cfa8498a3263811b1d9f571472a21c830a5537bd7e0c29d4c4bc2da53e01791ad2ac7bd1b1772e6483c7d92639dba0904342446f7812cad316375f50fad04976bb4db5fbd23412b6bef9169b480e3070047b353b7710edbc638f15d2fd86d2b905fc8ebb52b19b4cd3e67a5472339ec9f89b643a7046c01507ab41daa0becc2c83955f81e6cd0d0c3791478a72052ebfaa8f5d84d8f3dd15a0389e7fdb9a03cea1fb777a1f52122c9eebd9e072b811e2526bb942fa22db9aec24669899980565754bf62d16f0b774efd879a55a2b075acf02cceccefd8718dc970ab42585b9ac5cf5c3cf5454057fb4e6ec9372ade2fcdb6f6e10c6f58f88c482d0067a7ff6abb3930a023ff34695e560a6a87273e6d18c94a141cb1493a56c2374aad7fd428d376567a4cf78d86c14a7dd000cc0604a43304361fa26e94effb1c9f247aeca2bbe1e05f98f86c8174a7830b946e457fa49268183eb3082d3b6a5820de2db9633648722218380043c86feb2f41e8ae7f570c1223e7035f4f4c1676cc300d442e4ed3a84cf9718223445f0dcf60139041981f6c073174c42984ff62d39cbf7560b84b81242256ca0bbacf77d3c7286882531703378986199003c74fbe08e7303916f3632ff745e827f763c8f7472fb16fec6d682b651bc9274e8ed947f1834e2a93b8e7d04ba27356e3db669695e0da7fd86768f5089900620e661d4ef6b870d43977831c6442e75e515e70c977251454f4f0bffe55630dda5b687408a8267a7660dbb2215c548b741fe685c372ce6c7b9058930f67a9df745d5cb6aeac325bee3dc591899e7f2e5aad1b51a83503f8ecfbf27526cf52e28bd7d670da8e16354a6c7d8dcc1eb94009c8f2d5be672d4790268ce43fe22aa8f1ca30e1c2704e1530cf98a4abcbf6180ab8dc03d342bb700c5ad0372335245490bfc25bcb9f4e94963f2a7ec7bf674180efb6c113372860f425552dc1fea7a26a8e0553446ade82e9a4869181f3b24eef1279acfe46db084504fafe926e71bc1db8abddee5091a1e4cbbe3509da74f964325a3bf1e729508be47a9d941b7061e7f295ff9dfaa677d0ce2ebb23c1a927f49773289d672515392464e3b6df7ccdcc8cd51f88680c38d28ce491e62f2187e59ce04575307f948a9bc195f03dc6c3fb516f2ebea4a4de0c91e139406427ce0153304fd4d03c6ae88f1bf82c91d9c8d9f584ccdf27bc4528870c368dcf5d960ffca9475f9720e0ab9b43e2aaa2efa27dfa7992bfaf9689d2d0af10c0b66db615178a2e20b29225d27ea356aa1d6837d902ad74dc288df4a5845142c901929b35708364f1d72e77356131ec266cab715c5794c4590fa7afea7c06234c2838b4d080cc3aa2a407355ca11a50cea41e78d9706d8b16423f33654e6af4746bba54fe5b9f3a283723421c2939194b5a98517768aa2f8f6d1228c7953988027d5ad1922799fca1372868cbef986b02155f081745bbf04ca9e50adac5d6b6569d3e6f33d9160c87072237c1e4f3d0485611b798cce2687a673e8998131ca07b21fce56daa6f785ae727a3d6c4baa0fe9fba606a3055209b5f5dec3ae9b764577d83ee58e73635f1c723f125d4a0ab3f51d118782952fc6a481cc59301afc061f91d1021e1e24b0fb3a008dda96d7287092d5a93ae72cfe71d9292709bb93e2f37c415aee6dabe46c1f95a3980e5364ede7b5a88d2afb4bd41a42d77ec00c31336008a343ab42cf8b460d8ba833b41fa0095cfee79ea97a22e60a682b60490e4b5af95e13b1fe3c3c722ca664aea4c53db6d423924e95ff820dde9da63afb1c86752bc9b271d7cfa972b2e69dd458217ae1e79414a6c5814af74648f0b794ae71c37ac5381c89760c139868bd4f8ae8799b29b754b880f39e3d0f08ebaece3cb31a91ba8450b0a0bd30f088cc9779ce8c8e3985800e657a83a023c017169e1c0461a1741f4ec3da74642b9414c6279c9cf7cd55abceaba465b4aff5a1ea0d7c1b0c149f78122e875c0dd37cafc4192f46335a6b2967ff0a54980fbe7e8e8b7e8cf16a3139aaf571ee56bee3e646b54e2615af0b54745abdc2be75909e8d37897f3027cb2ea058fd2772edab6fc84e8b920023326812a87b69cbf0a934da132c4aa9e6388de24ba19372ae1245a03a457eca4a2c3f05e50a932b0279ba9992343a5d8a51698aecf1111b81fd59f23b52baf61cdc04a15c5f24fc08b38545520f3cd74193cb2be0854572c768d4c4f1ac435b5844ab7254f7837ccdb93324ba650204ad4e088238ea68577291251588256daa39ec0864df35f695e44a9780da4cb13266e267244d06f2721d6cf5fcaed52ce049d3509c9b0ed4aa45b636a7ac22b2a8d3bdf9c7626d4a56d4aad09f006976ec5d34a11a7e1cb7802c68d471f5ff7587bdf1ce920e3c85661b415d9c1717925277309d1f0dce8b4d16336d225687079bd79f4832b4115537d810dd1da439cc6d858419fb2727388400f535a6d545da6290f7763c231ca17201fc195e7dc47dc1bffdf04f1ff82bd8203c89bba8b0f78672f1ea4320e42b72f0960c91c6c6cbccfc2fd3c7b4bb381eda31104cd01e60d75e59e8acc521037207ed49c9f86901c54e39fc568cfe71cbd70efd1e1a32dbffd29f61a68e3c8c72665cbc7b0d9740b951835d236b05803fa1b29b2aec4fb832370ccf450b855772d2490b08d7483deae6a3eb73464a178db8688cec2ce75495cf02c1cbefca640facf92c2418d2376824b7458a007e5738c43cb0140b36c4c7ced951a8e4f1b713c33151b69d077b639a780bbe74ceccdf509693ae0d34e6d50d69edfc32128a7286b966b9d02c391bb90f0d9fc85f648c33c4afd0ae70cbce530e6593141c1872d085610a0cfbd2038b4e0b6d58cb6c2e8967b03646af5bb2e0277f757a2c7072a01548e657f01e4ece7d8b81309fdc98e973c6c2cbc2d563e9eae4dd50e2d872d863d45543f72c6f75c3d784966f208379ee18fca0beaa119280225df79dc25e981d52770aeccd54ba2fe463b63fd3ef7516efe3a10eaa7a50dbc246c892bb72be83c6254e7479afb0b74fcb1f1539d881193609fff3f78f2cb3733cc593fe72876598e4bd7f8c71104ec6b35585d4f86fceee158f224f50638ebaef0f4b567294668ebdf96c7b540a24addd6ed1548a34f9afc8c7eeec5b7bc647f83330a37217b2ce77c94c360a812c8e02e8ad6130676e35e01b3c5ff24ac7c8a72191bb5c59ce5a694529faeb03416ce51a1294e18312eece33abbd747daa0673a5382151fced7a36b7870fe8a94cc6bf38623ec732d12b07613bd1bdbe52a289eb44e072cb5882c90c741669fd5fdc280473b9dc6645be0e1075299498a284e9ff572872c2613df7e43ec4b03e16ce673399f88a7636bef6047a02f0f2db32e1cbf8a07232bfcc5fc026947c35d3cba9d91c2cdaea77600e69ee311cbefff693e746d77206d7c392f9558e456abb56599eaf67b80ae612958b4486a1688d3e6e9dcf5d0309dfa24d3fca05dce802b6290f6d114e4d0f713b5f1cc784726e7047c802ef0628ce62e9024ceadf9f2143fce38a50a8d89bda91f3179cc918053a65b118d019636969474f47ff61662ffe8a09f4d4d9a7cb58e2d80a268b4bd323cb521024721583939ea2e88c825b255f2c11059fda85521567b50ed69fdeb7b90dbf1faa721936b73c7ad762e40893ad368dffdf15681e3da430214551ba2bc055e17cba722bdb53f5f36321c83e67582cd2236e3a1f9ca774c472999ce1223f101e8de572543dfb57492207a4498061fac246cebed79d5048392eb5f217d33b46c445ed5d9b9bb08d2d1bd24ba62c0c687d9b4ba85189196a5057106155694b04a8572556744396d9ab6dca03dc7e877bce4e44f3989a3d8188a2f5605addbceef8530272b866e354f58927c0f6741d32ca95e2b4fa6819d98444ceb9d30768d5dd99d472880c9ab06e0ee553616150f7991f0868788023483947d130cfdac3bf0085fd1fe4498d3690fc680033c7e46621308019bffca1029d418f1410fb8eb12460a572a13af7016960b38b8419e81f8868ba674fc6d195405ed7aceabb03cb56b2877271d9816e48ad20915be007a31a52bb7c162b7ea80e75023036b81abd2a122c4205a7d92f62fa75931d88bb3c0d1b9aca9280a7c483764c542a4dff5bd1552b124db9666e3b3be8074de22df58dc7d9908cf6c4cd1f69ca1d998d1ab565f01a72ebc12b45324f97e44a292ce3506706ef647c96810a4c5244eb0352925ff89c72804288e8a70a961061f0054822136301e2fcf1f33db40e014d6743a6acb6bf3d10e6a27447795e1ade3e7d0e93e3392a6523855926951ce17557ea1cc7713772d0a43364732e755668be00f19ffd03a627f60c90c07669bb54f70329ae7d51607f702f3b09fb405bab5214843fa0a96350c46c5ab5bce83efefe3ea89a51e54c7876a6518f3b6feb30748ad4eccbab5d9a15f5de0d264e8a66a098a12303a31a18b1cc3c42778abe7191add11c16012261489d7e9c52f31c11fadc12a58ee9720857492d701a7723eee8552ee8aa1e9ef964224a5621f708297db99202505d151fffe1eb87323a76fa2cf3f73e2833f357c4256482719c80b4245e1ff51c2872c98f7464eddb3cb10d93dc3e0bd3c9cd0f2ad368a293d5e0af8e632a0488f101142c8ccf211f9346675b33a3e4ab6fb9923b424e0014c6ae913b13adcfde647214f2acfac3c0d5d180d7501005648d98220f141739fee7eb89ca8c71b017f472f80e140725be2bcde97c4e0e6fca07b3a666f48aeb2ba7e3cd3532355c8d330ee76af8d8f31afdc353dfc3dd8b2aa85b494fd74753ffb8d9f4f14feca21c217241552bd300972f8359926b0b07af5481e136a86f71d0e1a128b70262be2de41c96c2dea3bdd42c01bbe0eacf0adefd7a7147fe3b8f84c098cc38e67e50f4f5720bbfa3f53466554e4a15647e97bf96e94bf92fa05fe9481f421b9d753aed48728969e0cee9e9b39eea4f2c2151a3eae3128b7edaf98baf5480af8c67a9e9a0187a00714ea9f10fbef12a712421df640e16b713623ebdfedc97dfff77f0e2de69a5c7c2ffd5428715142f4b9cdcbe329c42ef5ac00b3d04abd7ccdef47352f3418d99570bb33e36be994efbd1065d862fde54157107f0cbeb59a426c3050a2972308b05abdad36013970d3f94d0a30b53bb2c5c20e78d2d4324eef80587abbc13e248db121a2f81a65de33ab73dc4b350a8d38e1ff85b790120d7aa8cbdce1b728392340bfc9c08428d51fa251f7625d18444ae115caef61bae254f110f822772eb2f8fbe5c3ef944453fdfda8a513c0391f1b01172606f5d268fa277c905dc72713ae854d38679ffa219d37908fad2f9f29d53fd3b546fe3a7a41567aebc7f0b262413e2eb7850807003feb1db9f5a38b2b174a934c65bdfa8014e1f644bf872d8b6482dc93f1d56053044a3c81076d5dffb1a56470efb8311027a4f1cf50f2848b0ddaaf917b135be393bbaa199fb8490e2710e2bba1cbb7a6751b80b1aae7210f336c4837493a13c577cfafe2b18f3f0f83e58f49a42e9e9e11c468d2f6b722b6e572c0be6a13850c40a131ac28ddda422094ac0342c6a921396ee92988f72a6772de6725d11894f64f248a6044db4b4bb8bde7da19672da6ae29b830bb3710006821b2e4039e97ea8491d3080fab7a05abf88116c6974be385a2e342389720c666a5c47ad0d3ee63a60f99c18216b560c093ada32088c8e15f88d0e9660723072e79a6dc34cf522080d4a2c2057d19c6b644c63e4847afee8e5fd7d4a394821290f6cdd0800d76d9341db21234815c1c4ce55f8eab2fefade0defdb31db07c87d0f5a7cdac611752fc51a86f1e8b691c0ef290bcd73731e25a377dd56e6727e1735e800d0024b912cd23d611767aac229b39687be3e1ee4a4bfdfb765d372f163a1baecf4f46b17485507639b2e710a697cc216458636f6997de0e9a09f72dddedfb3b67723a8e1249d984b6c5ffe7ca90b03f3ef9fa6ab65d0b1b77aa872acc9566e4e73058e4cea46fdc47bc74b4d4ff5e8317903577dbc3dfe357d714ffee577e025c8ec4518be42784c3ab69b8836abc8375d377ee737a0cd2bd810724848ce06a95dcd7a7bd943c7a34c4af61c6d370c08cf90c517d1f465fa347850de89cb925cb87e45b54c4bf44f305b270112765085b26b157f55bdbf2c0edd6cb1bb8c05352404e08ab649513da78809f41375697e15cbb203f29c30fcc6b55ca7e797563cc68c37d3826a3f2a1eccdac10f73cab2d92b6991f48e2c88a7627238dd9303d7b19d1df4ed08c7efc2091d34f1132e6bff60344e6a1bd7f9c279234d70b789c13e36ca84f32704df93071099925d0a767167c60f63b62b5937b67286c5f1f0f79b9d674fc03d1b5e628f7bc218067a54591327fac304ef91a70c2185d6a5b5a09d2506aa41eaffeb91318420dbe03e13b323f9852f8164ee19ee1823e8fd8009163e2adda0dd3d55b030f2c3787036938cd56544a1d8ddb0d9e74c9c8de31e894bfeddc419d76974c5234c293d6074ff8a95868690bc6553ee08728a0e040bcf9945cb93540a9c60b88662cf0dd759bc7651fa1e1cb82fa9c6ae180ddd82c0c5207a00c6abed5a95727ee66c4cc6c55534df80e2e17f43e2cc070a6e3919e19c2311a57d621a6af1ac212dcec54d6b13454f7787b97a43df3d8833e576189976b83473b9e32d5e3a7af55590fef52a137dc50084a32259807c040fafe1d45c2a02269bdf56643604dfae24838ae8e6d36bb593935ecbf9c2ab1272c7e892541ba7bdbdc237fc99c296eeacc920833728001f5d6dc8f1eb1c3e12727abdcc8e7eeff52e5323f00bcbba84dd06ba472d0e56c6f7674b29375bbbcb716d9f94dadba04a841c752eeb3a81499eb55c769bd62358ccced2720294d45a721a4536fb01e42446c679a71a40d2813e21ff9dba4219031e5d6972c62d90bf5104bb107d51d07db1f7bdcadad16238d7bf1c74402b48b4e44c738c25faa834540b1d2c28126259cd2e4d216c0ce8f44db4e75d9b02be23cea8c777a4724e574dd2d6eb2cd7e92a1061c9345aa407ad6483354898c41d036a0da55e9be381187213b3e574ba6b9368d0269a6b1bb22ead5d4a8509b1a0dee691b9c38a24516e20319a2d012ecb8fb4cf080ffb0f77230355ded8736bc683e6ba9465660535de7279806a1e5a0cd2628e5ec5a44e7f4bed8b9964d818e4e9ad8a12fa7c7ff6ca5dce3fa9f35413022db44ef0e544d60f4e3a92b518986f9e477c580b90e55e566a97f6c6842a7997bde1481734ae96284ab9f6ad4bd6af1b13008f577bf3ad9b72a5c2f2ac6c4648db83f762f8d2e56c9dcebf43fb41a4a8ce68459853124ea372610aefbd577cf947938d5771d2a6965c30a0665f0c6ba1f1217f31466d10027244c8661058e078c11bfb3c0f905e6b5f4814efc101ad58813e235de0b1694472b22845077de8cf9627126ad0b3ccd0c076a1107cd8ba8911e182a175d7e7f07289f74120f2d2cdbd112bc27ffaa831fa3b244f184fefb12c10bd3a7172e52402730ca8343c7e8d62ebd4648fcbe4ea9ed27d4df29db06f6a63614055b36c5e7206e6f815e4241922158819842e8c4533df2e794ec987cbb832ebba7570256808656c72570cb6252bb8908f6e1c089c72980868d483782bd3314836f63141f41bcf161fb49701e7b854e1d00e255c848dcce3954282cb3cbf5d29892352df0172cb5f866e3c20f24e77633deacea858809879448cbffba8fcee017d7664d23e472ebeed9f36033df02996ef0a48cdcf3fbfe460413634e4c6afdd0d16b70515724035a8c73d855508fd891cce0efed4c379b039b4aa895401e4005b57347fdc727947730e3a1796664750f12645cc6d130c830971752073b76747556d52aa452dd515b0f2458c1a97a2ba56507a6581b82093ad6a7fe70693800ae3af0091385ba2533682402cdc4c5852db9fa5d9451ac16afefd136c504e1628af49b66bb1722a6890586c96d21fb9b6e9097c12564d22d596c5bbeb34836b8f372f8ab57d434a35a67b2e6af91120bc5ff0daed99fb3f7254405880745ee7146cac1ee8137201634681579740e9affd37d3b6e14995729414cc7b369e3a178546126608277276a3a75139ef9a670c44c65d480e22f69564bf5a42ca02ecd1478901270ba2596d418c9f9bc7ede2178fba813347564eeef8c13f4db0d2e83b049692603a92037a4207ddbc9ca906055d50b513db9cc7af2abb1028c6ce6dd046a34b099fff72a0d50fb1c2d9e29904437098ef096961613bff210612122ba341ebad73c24c723ffbe2665c8c4845dfe2fe7051ac865a563a8d194dcf273065bfc38681777d72d44480d169936f1add34e3b08cc8f6e3b0b3e0e70c20de40a620326728d60311410c141c96697a40d76b998a89c585cbe9b704240c07565c589203fe3afbd10771bc3f38925ad64ce781c01dbb09c03e2cfb46640cac63986a4e688fce7a7572dd08a3d715e15d02ea530826fa991a7eadaea49351ef0eb542192a6d17113d3dfd14c73e25568aad4155f2373e24b35c3c36b6980f0af50a8c1ad414bde03c407397a3a6e12a6f1da94490178d87cf313140aa051ba128672899cfd655af2a7205e3e5e0a4609d84d7c98e57db139e2d45b7b7d70bf244d2855b6dab3e507f332611b5170cb73ae61f1436e6446d41fb385d83b22b6bfc5b7bd6a89a1fe2d672ea7d3137d56c6545a75ec5aadcb650405064835f5322e6f3b5d647b44444f86bf82b09259c66a79a9c400a74ecbf9212001684d1d23311d1e1787d7f2f333572ecb7058e7de66b9f67fd866fa14ef428246f1a66a9d8e44e7dd508fd99cc967248b40faa1a3b1cb9e41d120e47f1f00d5321924206258b1f21fb50f5ded198727cd4229e0dcfaa6c3c92fdb4570fc92377589954f34586541e165620e4b43f3d75ffa76dde22077f8b8ce9e9d920b4f1fdef29a4984ce9a532901c5630bdd2729500b2afc25dca6966debd8299acd0563225ac7c3a8120d01b753ce2d14705419f2567500d560915beb5abb8c110f7050f9bda630900f70a8e88a3b8685355721280b1cec3ecaa076b3a56a5e3149b4801c63e76d9c8bd4a15ff24a9e48a654702030e2297ce0165bc8b957bad4f5a1338d69e7cf27f0bd90e51c635a7f27b5d829bbe1dd83da541253b77ca02c38c99d9dce66ec7ac2ac0056dbd734b1dbc72fd2f1ec757dece50c27637bc6f7d773938615a0e5ca243933a74989eaf6f1b6e4b9753c4581cd462097a2884ef01f72289d32c631174a95fe629e09464a9610e6aa744e77e99bffc63fe3cb322a1d8094f6c56199088ac705bf60b999278fa6112469d3172722f380d1a86f3690d5f85b16e8ed3df75fc1050072e72b1bbe072102127c8fe76f989577e53bfbbd592ba02e766b4204cf9b262772be8d615395289a21f40fe67a79186023e1b5909a55660aee404ed52f7059679eceb9e05cd725e8cb2df3b2bc47a7d798eff8e261ada756106ec884732920b74c0b222d87510f7effc8f58a0e5ec928867e0959ca012c45e08bc5a8b0b320dd3d2c8af71dc72bbae304edd699c7b827809c31fa20e5e4c6fc5fa423bc1c665e64f771e1b9972d6b668aa16d4e5804749cf5633631eba2fad80ccb2cab3775065f29eb754dc60f519cfb9e0da2355ec778b4c5fe535afce7aa53a3d0c472858e3b25b30d22072ec5f90962ce73532fb9df308c35c57baa02e8dbb1900500d3384f879ec36ee723940f8c592ad55eb749c6db272ff6e765a644a67cb510ed7a48f061cb3eefd5687e695a31e78bb25d08c72db8b04ade7616c0e4ef2a629e2f748d4a92823ad723ef1e6c413b5c206b9a1f1dcbe7b50ff6463f103b8c993f7dfecb2aa3a86fc724533df5e6714912c284875ab4fccd85dcccd0095c8fae39657c7198ebbe23c2b646cc9411c3d2475e2b7858f1199ea8b3b7d7468b4dc68519371c4dc8f1e0f72a35a6c419dfd4e2f2b8b30bb6b90a0ff9d9bb3bf987f3a8d8fd55c8bf65267726ed10a87639195bf1ff6b7ba09d2e288a91740132cf1e250f74d56748847a772868805b00a80c03f23ecc21ea066b980796ee93b6d096dac840426e085220427ce839dec463f436b1af2d89049afad5cf14d42650a05b8dc2344cd043dc59c0a2ab4205113f98fa09896101aa248273675060adbc55ecb52ef9f18fb3128ae25cb8a12f97bcb2dfbdff8472b20e3a289115d6c9c5764a696f87b64b3b8283772890ab4d9f812f72a8df515c33d3135063d4e35e9f0a7289853047178f981ca2be8709edd7c92f95243f800c6fb9b9762fa29dbca95b25880b049372a1eef54720b33bfd72ab71d12b77638e756773c725906efa0fcd44a98d536c15a06c28972c6e5326d3ef3cf98ac42bdd96cb8d35a9e60201cc58d30d98a49f2ee18b9227223e00c734da6a728ef96de36d01072e9a244098d9cbfe224c54fa7d278e7e172451ecf4b50b232ccc8eee40efc3b389d829f7d49dc53b7011970c24e37ac9c7243da9ba9d4b7f769ed2a98f447bf0225a7037551104f47bbad017430be0fbb28b4bbde2610e7453f09219626ba627137b8a209c4893d3b5f90e41ed37dfdcd72d884ebf859999b6c46f28b4650fd8f45632ebc10ffcd62d2be411bcd3bab12726684b40f305c259dcec82610ef310394a2e210e6041041192efab1d5cab59e198d16215c9725adb62c9f54404fbadb966fafb46dad4c3232c1787032a3d7137287480706ed5940b2fb0fe01f664b57237c7a5b12079e0ecbdcc77766886c9d00cc8adf8c7c49130678ae16563bb8185cdf21be7f32634cafa0136cc1fcd82b7216614f943c7e66caa0f4b351222493c8e34e416599d70059e5f3e66d1bfc722d2435431512565d44023069b54889edbbbed7f15c6f6ffee5b0e487afd4cf7a724fa166493d59d065ab37f53d6c28ce10e02cc598eb1b7e4b985560ae790a0e72fa8d2f07466b802415538bee2b74f1b88ca00f3b1a910da23836790c3399387250f2c2310e638deeb5b5b6916d3500774fab39563c5639cb40848b01795c6b72a0c7e783f19747b801e157eb2ad684692adc54889789c14687e0c3dbf0b29c72d09b556ee03be24cefad2dcad301a65ed0e59e8b3a369b1766c7c197e8c6fc295db4e8fc28ade2db8d1a3e99173b6a7c000ddfbb3b275e325d7203d55f09657215916f92d9473acbfe082a838edf8a0749fe6993fb1e806339d485036ba8456f2472351049384bd9edc84160aa3ca931f954481e0309106fb0f3db5c161773725d6f404b2bc54c2739963c41b617d6fd4e0c8be9bec3ecca94701a94b8f28c72263480d951123286da906680fa08c245c7e11ac36e89bdb78381ef7067af3772c0bf3168444eb8eef6d6b9e408b48076d27708a0d8d0a15a990d7b5b9659f1209d1976c2844207df2d06d9350d2f6df143953d824afd222ff3175596656cb53eeb45f5a47189776662e3dce8d6be223e686620449594c939044c1c82d4647972e824af6a1b9ced16ff1c2ffd4ad6e7c06b6ddd159ffec685a1d821914bb6d40f9642f8a135564b4baaf73af4998c9d6521bf454bdce0945fc827a6074a54f27271de59f787b8fab3d172b67ede05d9b5411ab4127019de8874966224ca4d00727989412d420e732ef388750240f5d2e7734bd01465129bea084bd5700f680f721d14152316a55c87b0e20aa28b5544959996c37f0daf6de477bdda528928e5596036a1e8dd0b642a582e54f6c5a102b753556c9c0598ee4f36777fd4edaad672dff4d6ca6ff06c590a8df36418708c1e456de79e6cfc1d8324e5d60dac887d1f545dbb6881e3b6ef80e8d718bdfd29fae2dea41460e4b6e5cfb95e8dfb9e8572e176f4401b4ab00b7866128e5c7b4b8dcfca19ef0630e1ebdd249cb27b325f679031a1eb21d4e0efdc57193e2b462fceb95badf523b99e0abdee1c051d449e0875d8da054648cd1fc34cb89b25c1b99667a1b80f35a45ce385f62a9db2f68a72fcd6a4e0e6314ee212e9211c793151462fd6fd9fb942d3aec43d0820557c1f2ee3ff346b4b6cde7b02a7cb4639fd4bb13377cdbe3097b3b96f90d3c12f50ce44ee429039da48e71aa1df6fe66a816e7c740f7025043941651c7951cab98baf721568fa2c742f1902a6ee1b52a46313fe4decd88c88d78a64960aeb88d97d4072ae1f194b30cc971c5058615b6cd3e5c64e0330e870a11701590b6a7714b0e672da31159b2dadc1cfbe753d7a1899582b8215678d053e36d513b6a937bb29421e223048bbeab4fc29cf53cbb181f842a089b29a63a12df0e72917f1dfea6c357227a730ffba5fcbdc751482d072b209d0c13f6fb0c5e99b67277ee3f66bce2472f0995d0a8d114a8ac13662bcc9eeae8a9cadabd2fb213c1ad347bef76f54307258d643592329dcc567308a458b499c730b1e69fc6c6ed07d48812e1e44e7c8353ca6fe2882c8a08e32238e512bbf060f9e79dde5f4785adcedb1bf34dce453724c821c8ec1dfdd078f7ca196003e6a551212c280990d0beb6eacb63ee8d50502058c8a9bc53626f5e49b8293721eddb08ed19aea1ed3f0f8f4a93b6f25b1d30de443952a1d65c691e75e6cb622f05f747d26e20b4a27641b2d3a72a39e96f52fb2d1ddd8608e13d4033f2c83da961f5452ad08468a9c3a4afa003dc445553507ed04da77e3fa8ff341ca1a6e713d2da3962e400b49ba9a744b67c8e3c3659e7202222ec58370ae78948881752c53139c5fdcf21f1470a7a208524f2d18a9de384371f9629b1e45af0c983834047e3599620eed524118ddcf914ab956a817f672f7fee452fe6245560552c9f113df6a3d83418a8005bec2de496ed046728d7672876a4ce865c0c273d660e8588fbac1b92dcbd7891792ffd2efb064b915c0d7723b8fa277d00bfca9d0f99ee9ac54d2ca76698d0733e217ff08027e8210772c7272b6cb3205877b88852a4e440af9ad587d0625979c464de718a40a0076aa1b7249cb5d88b7eecd79e56c448a04300ee674dcf3b0724e1aa539419ea566ecb4105b450adcd603c95c2d8ac5222143c0defe357cd8ba86fa9aa7e2f72bb449363843e2f26c7cc5d2a434d0eb1eefe4aadcfde26007ddcd8520d29dc5626bd86b48f031eaed8c74e87c3d473d451d75ca135f9cc732bed55557645d8753341b35727a358e55fa252bb48469fa6a44e065954d60b085f4c369b67fc38406407d5572e06340277dc464fe91786b475b636fed8e1a9f8fe28428d09685fad7ba5a8272b60ead34c362491c119c88b8d9434fc201dd73e54ed1898b457e9553d2ba7672c7ffc2393569c0be72c903ccf7750d1f0af957308daaa5c30de6db0ca33d5c0c241a36c474e877e3f6ef504f758cca42095c4936878ff1d34455034c2ea8390b4ff45c9a96ef1dd48871f1f060837ffdf1f9405a60c72c8cd2c85a3cbbe2ae72d1e1152b106603de0749a8a2e78f6b9fe4e630cb28464bec9c8a61481a41a4729634f565c0be57adadb0aa49e86d137f078e3a02e1228d3c32d6308ec893a17293a0f9fbab21f43691729abd4b24637524174efe09d90cfc32653a28969b3902ace4ef6f7122c7b553136a91bef416667d60ab5a159fe0acc72fdf905ece7a44594ecfb9b75514a824b3e58d417d903cc0314c258ca5a0242049e10075a603729863bfd15e63e7fcde28d2480d1bb44009585e3a6ae0e596bbd57f71278d2e3a2550316434bfc32590cd0d6788fe5ec2238a10c245b64a53111f3fbe0b79e7726e18112fe2847a34dc1c59101c6f5d926946f99dd75a6b188d747b7a577c8b72127d3097b7300bd486067971859f5535b51512807f96dc23a02276cfb08a874c1354d08f3679a8311626ab924fdcd870e62b34ed42fc5e18030ae887a85a32726d7dc032e94a9cee8b8539f35442a3213870c4fd19a955891caf0cba3b6b8f72a06d186ff30f050360fc5bba192edbc1dc0d0f2f1f98abc6694e03a853b76372ea4b73d296707bc39ab2dab6a21a793541cea9d75832114768dcd8ea57cdbd62cdbb76db555a5f37dcf34dc1d9a6c5e80ccbf860c3cc2e133fef341c264acb72161f84a11fa5d01d5c9a695a78f404982b8347b656bc32f3b902490235f4e27242897ed6f37a1d8bdcf01bd15b1576c47affa646b3271088240d00cdbc7f2f5a5376656b5016c9b264fac7cf1328a6f6b62d47655c9405bd40b29650fd8912729a4cb8c95a6b6cc8e7f129e5ea8935a0fd89a3b8fc6a107a4da1e570c1a50009963fd64f5eef989bf3b0ef5004d11126a5a5cfe264b87c94b6a8b4f9139cc572cdfbe2cc5b241979e4cdb5d712e4164edc2477b450b2926f1119cd3fb64964095501ca71b686beba326d48c4b644fae0a01fded67f6f352f7665a3cad058637294145400b2568ff849ff999c16f86c31ec7b63082c09c6b4b9438c6d397f5d5c30e9c33a708063404e263b9b484a1a0f4f223ebf8634beaf361c2852cb4db7724328afe00cef5a3699f9cd7795f8b92a40c2622d9e2b1d7f3eeb0535759a84720542a9a52b434e9c53ba9d6bb989a78378f854f6aa4e788eecda9b141aa590140f5adca772051ec66ff8741aa7b0c635c7387a55d43caf296bd7b56dc3fbfd72b89f1b802d2953f13974cede5ca0daa044537077120e1971d77eae404c85bf72f6b40356370cfa57b894132b9f76c201cf155a78cba5f488da3dfa6ed62b4b7226592a9d1dd668aeacd071d157a63d359702076dd01051fee3953a3f5ebb8c723b56e71f5689707a934bcce3fefe3c700fb633677fb06e14def3ebc4b08cf972e60dd8da2bf0f3205c4d331e18b8e7f3e7b1ebefbd94dae9b0f8293998bdd146abb717b2f7292dbcbd87379d9c6a2e73c4b7e59d934e7e6137594949f4b07a65deaf553b5993a4934a54e50f759c881203c1bf492d9de9eb8f0eafb00403e446f8e6b39a5513acee7b9241ae69a327e398ee4389b1f0e04292fef5fdd69dc572b680aa855fefdcc2d96f10c3d8558b08c74134bccfec767e42dce5bfef66f7729874312f1ae6cef504eb014476bcbdab97f98135200823f071b2f7e0f84da172c6622af4f8339b8658c90fe727f7d8cfdb7d469cd5371fb071abec2c8b092b72ac4d01afcfcdbc6e17c171aff1f8858a408e6aa7659c960b8bc91dd5c587c37000b0700cbfb0aa5942b21b706fcbee38a8921de4adacb4355a8c08aed1b02b685d84a005b60b909d90268d6848f39cb362bddb0bf6c3f66c1417837ea9f2bb7214ff5972cf3edffcc5e1d045ad65f5c5cdf2821159302cff8509c9817eca2e4e2cef37d0b19096e5aae35fe2a94d0ee992af1d707786d81b1df683015afe9c3b0b951ebabb040a1b95a65db3d79273e9fd1b5245067443f445e2621323241928f69cfa84bf441deef569c5e7ea4a64df3ba09068c5edd2268cb773501999b01405b45d7345f5bea1aa35c387cbb42779e00ea0ee898233c800a6462c99585c5a2c0e09c275466bbd72fc528099b3fb7e4f26a0ce1377bdb037bd4a896eb2a872f420542f296a0484913edbc381db6de90a8b8562dfa56323db01abfa122a72179c27ffbbfa3a74a8da1a9149037fcb874398e4783c16d849c00cd14d11e70c6fc01856cffa8a69ab21a9ad7a6e79138ca5d268c644035c0440183726a63be7729a1ec1d06eb7f9b98755fc0c23fff829c40e0f7876bbdf56f154bbeca9fd803cdc4f0f6ed518beec3e74b21d009c56d5d435486108a9e1061f90692142dad4465378bb01ad184300b57af1d9881dc24d9b057f5b0bbaf323690efcae66baee72153b6ca91bb1f1d432dff56a7706dc6dda2745ea4d0f91e9908c684272bce9721a0580db10482680b772941f5874d72f9d9058c0b76a598e18f3beec982b4972a1fdd525cc9086e3338e62b17a902ebc3a508166c9cdb114ac5d7a746fe3916504852044b4496df6004f2f48e76db4b6c80343af1ada6626c896dd2f9ffd6b6bc244f87b762355df31739f9e90be4dded2f8cbd6d640f5bfcdab42fd21f8640e0021022c3546ce8c183123c6fc0e1230a4c7f633dc54384f1301418658f756724bdd12cee54d9b2ca128b2811a9fb6c932656cb8ab3e6dd64ee2d5be63ee8a72f1ad37be9621c7411765bacfe5b9b52da03dcca805a667c5c688cd6d6fa0d2722b91af7a65ea89fc2163b64e6e4b8f435378f3b7411c6739cca5344b52dc8372807188c313eb4bd406c2ca425d31fbdc76b351e52282f0b73c13826f6308623b944b0fd86ba52980b3cb6f7fca72e3ffbdefaef60429cf1eda67a7f6aed3406291e4d4de2fccbaa312e8cc38d9f31a66d527b58948f83e95a57c75aac12a6e72faf1c13773b6bb442a9f5f6f8679c2744c11315b54a9cb9e5c889eb2f0b2e37281f861bea052194e3f7868d885e46967d18b4ba5caaceb73e160214546629d7244ab807f254a18038d3416e065ca1e8aad3e7f93af394830d4004203e9084b2792cfcf6b93f6bc0a24946ada8fb6a7cf8315aa428cbc76e08c57cfad45b090533237174532365f1d0ba906b7d0e9a0b5f8a2751d356731527b28da998787f332805113382430be934b09d9486c9d80d88574a35026dc04511b95d75a33dad3720610d5e0d3cba4a1be1058981b52fbe524bebbe98e7ee5f62a4cf306db3be13aa2eb24eadadec1cfce338294577514db18e9147c304c0b75a49cf09019a7df72a04bd317980abae48d258aef2d1bf2eb5be40a51a166d64ed65517f0fc4e5a4596f7f45a47d80dca635ec3ce2474bd052d4ea488197a9d196edfdea81b473b72324aa519120108b0f2babb1d82a8c32859a4370f7408f69f5001acc7d36e5204b1bc7ae7478a8beac714c16fca3b168eee5b25285254a88e4252850edde3b67227cbc557b75bb04b548828c3615815355df789eeb833e2a38f929990a2802e02cc103fe227331cc8e766a9d9584ac932e960d8a2c1845cec5e0d7fe49ea84772cfeda8dd6be3f8db42446a94ad140f5886c6d526ecac3057b5569303d7a95c5724f4d948be01fbd5e12330814833f9d53be8a85d67f459ef6f05807c4801c172b752664fb21bda18c8c1d32eaeda169308b34b8604e60c37260852c0128ae4724ead3b73bc7c08fef61c3104780a3629a3c4f7c0645dcf0103a9519cc40b4272bc371e852dff4f15a9e8ed03ffa54a4bc2bd3edb958ef216c029b43852c4d53f6fd2c4ec3fcf7be7e0570081c17927be71c441337ca61a4fe9d262f5ea31fd72d5b23311716d0d30c6be8ae694e22337eec6f403e0929551ffd3626c8d9649133eb96bcd63330147d4a82443432d8eb0df589d4e36ef370dd98c0fe13a7b5c235c9125feb1923c4c43fbcdcebf44f5ae7572aad83ba4668116000476fb54e472f8adbb971ac9b18304a99277b31cb1a1f95f4b85899caf69c604a9f0a62353722bce5da449ff46f0438c8ba8d96bbeaf714c3829c1c2b945cfa8a937017ad7390976d1fabd8df331fa3621af1762805200db57f102b0ab372903854ef4c0a372b8fdbd9644b032231213e8369fcb7fb6c41c1054b32ffcffb7e58c4f0330da00fd89911f644863364ee20adc90ed26ec1416b4cca20791150bcfdb34cdf6487222e9bf7d5223754ee90a696ed57256c2925124af6ebf0566f6cf67cd35073d3cca0c947a075dd67816107b310698bb25fc962fe3979bd59db647220861244a36b42e7efcad2b961cb2ae0e1af6794a30cfaaf59451218f40076c8440660b8f7207d938514760c3136bbc390e8a0c9564069b8cc23be23371ae55c153f17eb270481f68e6215117195b398556bfdcdd58115d2d88ee8abaee88f3271333b9d664ba176f48ae849eab8fec858f3b7ff7abb5d66c3f5f55d6bcd2540a5a7c242272442ea0c4ee703515d16c47832404ec694d17f3825e50d67711d1ccb8f95a1372cbed87c39d5cf4e7771f4e7502a5a22a8bf8a0649a00fc73c99a4f780fc65c7226c38cd187b730eef2f77a8e706b1c95ed426e53cad6466af20f9c9ec875a6296d368ada92a8e546579507fd77201054b480e2c2d117e7933f2de4f2f8576872d31a47979b94be5383cc938d2f5095b3d5c1cda645dffce53161ebdd7d231026c1593bc2d5c77be122a3948acadb283e60b936801f8c14b1fe32c38f09ca88723ff0d66b77072912fe5ebe050b8bb972da9928c2addd39939f5f214c3ad977726c6577457b405c1684aa16e3a0653829dbe3816c816772c176d365dc7defec72ab94427fddb0f7a1a801b801a40b15bfe014c73b96e7ad5ca5bcd5e13c2d8072acca508e421d0662d4d2d147e6269a713ba1f7611ebfcc91b18484a760cc84694a7a71f1228786a90ec935d69058ec4dace51e7028325f0dce602a7f3eebbf72b4a1068cd15b44d60096da2068adf2270c9f9b172bd7105c768891398036866685dcb2eded3962694064ce162d9e25bbcbe7aba1241ed1b1d774c585faaea87208eb90620a4000225045aaeba0a692ca9755cc58d1cbac18a67f464150cd2a727516a94517ac66b5ab8550e2d05f3e8824f2d14a07b1c3ead827e5837159307204a50d11e700893267df2bb8c4e20f6f4fd531671657c2c940e1c1aa7bcb980211f094abd00db01cdc7a6c7e0c7d4bb9b4800c97d9b4f94a4eca8a14769ee83806131c3d8ba052be30639e670d5a3093821d58c012860096633d666fe90e54722c22a35750d2442e04b1f3f0c84fee62c7e0eaa6d8865e5c7f1504b0f6a2b218aa7d5664909d0aa99d83a1b5fe17ed76757bf608d4dab145733e4aa2bc98d35d226a61f34b5a0228f58366920528457d442d94f429a671097bbf11948c9e317268bff27101350629e636771ff26f35f75ab8aafe5b29e7aa1d20a6853ddd081d5428d3f84687d1911795fe5858cdef1d3c692f0ba3aa6adda385b1b2c57aa83fe67fd29bbfa8d8f7388b248428a8f61728849758709c43554d487a6dfac38a7234c92a7cdb5d4327acbcfe18e6008b30a156ad64d273f7af1bd2dc6f64148672978404cf90a79b4e0b6e2fe4ff04b9d0ae6d85350f535f2aac36905289cd4f72c9dfcdd5cb760bea3582fd9a22549d15949f58ded34cc5b633d0316c1869ce33c159243ae5edb92a14c8a26fec15a4550c47f66ac7365764682ee9090245c072bc68f08eca8bbc9303fa093e4e0b12d3c9ebcd390411539d36aaf06ad99d7b726ef1113e5a9d65d703cabad7fde7d8b8bb6434211cf017bc883ac368951633726e92ce5f76db991a1095ba4a3a56b7f08dfbeb47d28d71be4c67343b623d2772a3351717e4dad346d7755232ef01e6bdcb4fde8fe58e18449ae403b2ec257a4818043d963fdcceb0fe03bc698bc3a0cb38f2cdd5805ea52139b83aed11acd75a82f9cd55d66e1c15da369643bcf660276ba1d130c57d06e536a5b8d394a1ae722d924239609ba29018ece45287470442c6e3a151e7d5392fbd9a7afdcd858972dccf78e88a43555c9ece0042966ce6d765c7e8e34db5d07ce8e5dc7e9f24a61a92fe623208751ac5e7dd7b27eb555dfc3115e35cfe667582d0f053f5d968c6728a3bccee842fc52e2e67455ae425c54da8376c42f1c804a9bbcf68dac918117214a28ecb3c53d2a2f413cc9ce9cbdcfaf258e3b725d1a5afbd352e79e830e372109dc8d85d5601b4d9189672a952718251b5c3cca790107a8ef9e8b507c19b72af4250a4ba5cc59f1aa6c55ed19cfd32c9d7b5a14d1f5e914df17e950df41372755a639c248ea3dae83e32933f91efb1d42fa0a2a099f9b8973040b97b6bad7243bdea0c5bda5a2d40af33c13aff9fb1eb777772d161ba337ba8413a6651cb72133310a096ca5365a58cb4c2e8166c2387e652679238bc182349bd95372fef1c5413183542af3d758d671fe8d6a863a4cb858f8419f7e3e1bd458f9b1ee6dd6a3538e2afbdc2dc337fdb07ded9a108c37608d02716e4d7061ddba2ae8ec64c359798e0516286768d2c86cf651f144fa14fe87ae7354b7ab3acaec8fa93d88372be5c5a96fc958df7dc7c5d4399a4d1cdb459c1ae415466ba6917f61f629af76ba80f47d6c7d742d785d5499078e363c8e2f58b97e82728c003b997bb994683720bfca243060ae93cb57c5f6b2ca0768dc3ec1bb684fad3c7580a862c85883472606dfd0669e51cd98325c030b3e830fe307c10a9a0c352cc841db41f0b6e77670a0e0291a254d351cfc685130465b0f0431c9087274395bda2a844570a929f6f597d3d0a28a6b67752defe764fb3caab5a3d15155fe146d309e9578a8be1314bf5d59fb0e633565cff0330f7c2094e9f9b248f20cc359090ce9ed76a80204541d559e07c458eacc4169cc38bd975632462342595aeefb6d48f01e9519d9db9662a2853e75e9ce6f3ba862cdb3a92798909f2047ef39af25fd488abd273eb9e724cb1f5249029fa2bd7c39584b7511efa09c631e012cb17064e4290e15fc6a75d992bca4852cf7985a3acc29d67f08149b548c07eb212b929722c3ed14519aa72cce7c754c0e8d203f0e52aa3b9f8ae2cdce13075cbe2b21391003c233d2bbf09e993f12e71378a997870c575e276999afaa62a71e576b6574b21ab9275b35672a4c2bba0fe555b05d977db8a384f2f59fb978c3eb5300871ccf530ffda4c701bfcf18ca2217f9a6e4b5859bf90fe9ffab1db05b15a3610ff4fd9c7c2260ede0e82436ad923b217f2db1ad83c0f8b90d42687e504a05ab49f32ea26de7bb33e724d15b56287057d35af809573ea8dca8baea1977e904f95ab64b5dd52ab433d72d581dc04c2a4a9be24cc56b4357a28bcd5160220e9a292c173967e4466324c723aafbb24364e0dcbabd9386c0547955063d2ddc7e7d654575c454e9adfcfe45b7758419268127aa1256d065abd01015ffe20aa376846fcca4dda33173e4c6872dfb9a7dbac577b299919f69dbe2ba630a65273ca1f4ea7017636d87c16d1fb294e052834f330c9f36b1f7d01e993438793ef36f612e319aed35fd450f8666672695ca7c72c4ceaf2d70a299da608f428d95226899afc29064c66225104951d642fa53f10a0a9878eeb480a1f9457f60dee05837e7a0f385d5ec1c447598a430527f510aad60eba81937c75b023024bedb67fe26fe560f5ea61b9309328a6d672482cb57c1a8dd51bdc54a128a018247af71c3efdac855133fcc652e548d5f8107f15374f90a027922c926591920f95b601a7c67a7a1688199f8545e261ba1e720a19b3feb452c24afedbf762d37c19cd9091a5ef9e2f4c3452ca8a6074ad0e72badcb1931911dc6889ec9f27c1986c2db5131a017c29c74089c0f9b72d1f011c5298575dfe7ee05cd127685791bc104df048e3f1c3888a62acfb4a09f063981db5c42c3caec23fa2602d3695655803198390c20ca8a4961fddba049769716e075f059d68c74575d8a3d53eca0d21c905049bb0477486114be04c228b67958572a280921cb9425fba96c88c04f177a1935908c057c5a0db8997735cd82ea81901b404061015a58d15a7018cd5cc5675f1fe4a55d2375eeb67f6afe48a124d2f3691495d28671d266035dfaeaf3f7e7617639ecd2ed04458633c426aaae3d30272a51d5da8ec2fd33198394396c513fb2b6f7cd82516b9ca7737288d50d91af872c71f18c3fdf4a34a8220c882c87f9b6822bfad0bfe9809a688bac156cb95f044d2d3397ecc7973cfe1487a7ff9e00b4c8caa077efceb0ffc29057b5f3e5cc072e1730d1c76c297ec40de664b59734d99d41a72bf988ea577454a09331f4b2149d25f8e0be8738489a048779f9db4dd5017fb3a683ee6da1bba995606f6d590727203760f36b20b193d9e6cb0a96df510b0d9b782b4e66cac0060829d9ec3cc72e74a5a376b9b5bfcc4d70801a6577eb1bb8e3ae04dc5487aa8aa0b275aec9b60ba562cedce6774e7fbbf0c18949cf882ba48c0f0e49df77450e5d3735a8b4572fae3588d21b946df1d0c80128bd1992f2edd2843c9f08c919c9716ae6b8d5872e639b9abda34284ca6da9da9048f32ee7c447b647916b0b3f7b14b5bf71e07724fa989fb6c3e50dd43ba4293acf3df5e10226b40cb2c6f12a4a52cd32888944fb02ef742b4da914a5fbda5808fb0277fafac57cbe8b373233d6d921a2749e56a87be163b30d2021d78ed797497d6011bd0688222a4bdb79b7a801fa9249bd472c7b0fa2bc797d6e78174be8dd0949ec2d318256e58fc3ffe634a2465b88cf62a08637ada03002e7ab6ce8af4aab965686c7b8f7c568662d1599534a6bb453b72834966b3c59997263f4faff9c9907b057cf9892464551e5c566d4da29f4f197271bd41fc9fd539d55bcba929825927123130a8ba8082a281fcfaee69c7c22a1f85b611052bc4a8eeb04dfc0e1094392a1e0cde886a78a94deadddbc966ebc0720c24ea362d1d29afbe5331407e972a08270ca04e6af6f2300721f347597b21119112a07c61b5808fbab33feaf4bf3b9f3ad5a297c3e2fd6d8ab5ffe4c0b6c372aa541711a8ec29269ccfc2e15dd955892abb17b860ca452ad95369bb6ca20f2f92b110849a0873ada9e92309d530d70b6da64b7e4f5012b06ab9d8c42f41707236a9cb306ee5d0ce78094e206e33798237d6b0f382275f845b1e416477badd72ed8b081f1542a08901c8bc4847b73bce673c43547a6710b321e9dd7ab228a472f09863229e2d81f348930155feb0de26b94237b519780dfd4f1eb61a28e9337241423a328068f8802b95a1421dddd24b8e909996c315cc1f05aa6310876221378081b124fb40371e0bce237ee798a17de082243e12ed22f9ad8f7817db9a6b3286a3aaadc4c3c4fe77aacb79040e48fb0b0b1bb718f4535822777758d812cd470d239b2e127eda7af69c85edee92a205416c0a99e6a4692cf7375057a1a31507716e402c957876951d7c40985d2056d9f0a1818ad3c254dc18c858c6644f287255429a5ae930c02c5c76b509d7cfb13421b8f6be6d4246f74efcf56c344ea27243fd3ad4bf410eb615cd7dc9f983f7d43780e4616ed61069b0d5c4619183d227e0488f721a6f834ece6060bc964a427012775582d2363d72a71431d95e098f7292c8debaf84b1415ad3e74c7b3210d9e0d69419f642eabbb84814d78a185c41faf96786424eea1d8cbed3dd616a2d7dca35b199d3ce70f852ad5267f69b65e72234dc9660d1a697e445fff675e466c40eae38d6af1cc0457326493accd4cd372a894be8704331e907f09566e726a162248b6684215edb4c5698afd2b0048aa64869e9ef376bec44ef9a80c21d4ec7eb610b96856462d6fb6fa18d7b59f674a0fc6a8bb23e83ce8ae57a342c0f67bf75c7e681b2b99bedebbd41d55a1fc27fc449f7ab5369815d817b589994f9d7153611fb94a2db8bb7650f17e5e81f083527294d6e4ade55f5deb31cb3e91a6a847a53c3f7926d4a1aa0f7b59e0c5300d64197398e019a1f22931b89e11b44f80a00c6d09a334c1c92d7e851fcc18fc5d5f72b88908a0b0603079669af63705f83c3164296548a1155e995f81359bdd369f72d98d960908c9668c9d170a3baa26704412bf7b1288f1bc47178d461bc94c4d72bfa52eb720bd0c7bbd3e1e2af4ab81e55015fbd54c8f23e25b8fc5851b76741b93dbc625a87c95170258bd8f41d596f5323068f543251e618ce1aa6342581972552a256a6fc1f15f10b1072fe391fdd4349152ddcfab99bf0a792007b6709a720084f5a0ca498fcfdad16437e323f2611b5e0cdc6b6fb4ac12caffee9b43c07233df8be7616daba04ccab175c2d628295529a386c191a7e67ff2ceab4e75c172b5928f4175810bb0afc3e4e89412d65253be6228aeded1f62e3030190d2d3272bd833ecbb0a513d6e1543daacc0a9e58849ced9f7eabee5519f2c9a2a3a41107378f2ccfb7aae8483e6b399c534ced1b2d19217c2def0088c8ac77ed59635672c64b465c22bfa4afa8a53139792668b30f0c93fe051f4a0c899ade797b94f372d5b243834299584d6ff2daf15d1553ba49c4f42582b0bb7aed93c350816b7023cd3e4066a51f2d36c2da2ad963cde9f2b4de5b9aa32489dbe77798f1c054e9727c841895cd35040aaac73cacb95afe9689b857efa45f1c6ed3ee5135bf065a7289edea50f47a155f50baf4dd2b10fd52a231d1398c4d12a6349a28cfe342b072d7cd51b3e7e35f8ed1bf176e0fc5671f7899f9c01a87a55c6d41449844d309720fa3f0f8781f6dbb151c09a0274f9432bf6f1232a5dbfc39255e899e32ef65721e1d0d72d6097b6d5960732c8908f332d6719d48a361b0ae4261f8c080448d72059870e07bf334c1e725689589ddefee0b9465d91b204ff34ac9fca647547b727d4feef97d37febfde52e602643438fb0b8554f21055ca19c7fc9f68c17b04728219c5a7b2c3569b2f2a8830c0c1016153a9e1e03444d623636e68968f48352556a41b78ffdb6747a9b5abd274ae0a2c4ed7046a92ef57d7a00fba90251cea726f1bf9f8e550b32d92164363af0fbf03579df77d45e9c1679dc57c48f01ae7724ee67a6bc88ad3eee1579dcc5fbfe9b09557c15b57039cd273eaa389465d3e1f0b4509102c42b83a1fa65999bfa5ad7f480c6f9c5c433179c319499d7745df72e4436d9d672edab9ab5587eced4fe10359effd80fc8d83da1505e0df13ca6d72c855be07a24885017c6debaac309d85613dc86564297cababb6cb71412fca913acedf9ac573f281bc3f2b7478cf77229959e8cb174edd600d4c5160efa846d3af4880997f0eda8f5377819d30137ca64abbccf61d51cb3a4de05f997eced2c14b45cf4527e1976c481343b91699b1d0c9672c79e44b737213bd2b62f24a9c3726412a94c111935c8f9c0c461f1c11b4ac87666105a47099ae0fadaff2064a33990e0050d4a41c62f5980be763fc73e047fc1405255f1d590b77173e2ece8ae72c5aa014d4c29ea88897377fa5db00ab30c397018fc6d279934f222d2dc3f96489dde722069d5696db9fe814791c189bdecb363b6f06c5bdb0276b4c00bbe5372c29b0ff8b35931f643712e488eb6ce48a93a99e3135ba151c87d0e1fef710d14d6c366eae22b2a1221fadbe4a979a27107f3d10576a003e33d6a7f4ab843db49053a96d10995284551d59557f17960d622df734a3b86ce0f4aaee7a58dbc3272c296db64449751301eefb675a28766b55c4e66c3f305aff3429939f65f7280729f856f2e1ff21228db12dea7e2ec810e59e708b6918bd6a222d4ef25c6b69672610b58f35aea7d412587c044acbbaf26f455012c61973367c068a586b3a8b85519cdfabfd253be1ef075a4d1babbfa0dfd558421b4899e619a30d47ebde44b72ce50f0b64e67028be821aa348fa080451a120eb0c89d7647f1b8f99a003153728b98d4816c52048a6db647972c08c9a35615297a9a60f78514dbbb9894b42a722f9d7dae8825d03f2f83783b406c0cdeb35a4d0546754ac6b52ecc2498f90f72e9783ceb3c3792a00dabaec42124812e20b09b438cbd719374c8c7cbfaf68272f2236a038192da04a3bc896e2cd444328509b7dde1f57b0363f2f6de98b34268a902d56bc74543b2633cfd284a9167c4fc04bf2c9241d40b98bfba72aad3e272918cf9aabfd6e5326a21b1d7fe2dfc4bf42d424ce39a5bf2a71f991929cd0f04b8a66a544bbf937485123f2372aab967f61ee027081e530f887a43a229c80b727110720531b637f481ebc4c21c401410ac3afd4fcd36680ca7a71724ad9c6c72172a3d1d4879c67b8b904ce62a694a72eac5402a9394bf25d6d4945842ee1d7253ae02543e1b59a9d54307605e0f74ddab00a00f2c4fd50e55632d18fa3bfb726df259535be734d589417d952ca347407c23978be3597000a2c720869dcb80426fc484f889792870714ace0bd390c9d10d71f2a6e90ded53054ccb5704e9d74fd9f9a64970a8f80100664a7b0538e063b6765e6ac3405cff4010b21b63a69072c9908f9a44defcc4fea175476bdd58d88fb775580089fcbf9281ae4a11229772304030d00c276e4fa26b95d779d046737279a3229d9aba9e3ac3a1cc9753790abe4a244128c584f3d4799c16eb0fd44f7a42a0d2e845f2b14518964649e3f4596d4589fcf0dbd00777973347b633b30c68cdb325300fd9c11c031e759c59ce726b331836cb193f4b9a2822132984dd1455a98e8bc7fe9dc04af655c46677e072ea5b89f1d993eced32da825c7b27962bd42d0201724c9066ac49b01492ec444154da0caad39c9cd8191869324538f91661d1d37cec25600d23c56123e22053727be52f3dc9ed2edc8aad7dab7d654763959d3fd56d18b3761330b2317a0abd206dc18d1c01f8a30627a9b47b3affb3230318161ba1d500d3933c11fdae79987266c0fc02f08dfb0b25e15674102a61e4affad282a6bc84c380f288bd661e4772031062c2daa623eac6cbf902efc39a8912a94a20637714efd8e496200571a41294a865e798cdc1a7beef022e27a34d6a499dd69e49100aae8375441e3eab4c2d7d773b264cb98f50c62e1afa73f292dead3cb158a1dfaf18760c46c00b99b9721dc3d6aaded3fbd20de25c23727aa87f0fce05421874ee1f33287bcb60f9de72b3cb9778e919d440a97ea0a4664499ce00bd938235b7cd0e8df4c4804cc25a72f07bd9a9611a15583c82b3ac45c190436b5c05ccd1d1b69a0a1ee6316fb074279df75643cebf6f2f6355d2e67298fc333e73e6187a817c4ac9db6fbf030cfc72e8db7289424cfa7f5ec6f575159336e0e71b31edf5a5e33eba36bc20088826145a836360553e445601648aec0e4e5d2a02ba518b0c236b08e280549d99f419506eba9e1a04838ae57a899a20e2f042ffea8c37faaa63e20d99dcad34a6e27972628f88607126c55057e4dfd07b1bf5001066e9e181056c8c5c513fe5b41923474023612ef029d27f8980c507a93c0e5e9b41e89702f1867e9761e994a7c7b870a27cc1a0b854004409f77e8e1a9547fce9d4d7986497cb1423ea883fa072057281a7f1dbfb66fce4640169b7cd10b71da7886d83a7dd137c3afbc32fb9867672c5106cba90371b1a88519fa25bca3ffc029fe8570bc11a8f13a07d5388586072e85ff5e1db93a975c637ecaadcb36bd3a2ba40cc692ebbfaf6462a07cc9f0c45b0ab8bc5b3b44fb57243e5102c2c9b0b180a40498c45ebe2d42cedb3c397fa7270c69c2596b3195dfbc95e5d44a884b6c6dceaaf2b4e6001343365e059218f72702476e683de4cdc14eddce849d79a248e498558c64e4426019069f16bb692545c0d21a10a3a10a8675bb400bc066fb4c8d2a39fb81c37f5afa1d4d003628d726e9e5eb409c9f26642c9fe2b2b3b1d328033dd56a519a6b0435e4de20f40e26ed403fbbff92a689de53dee95f7899e47932cdee3a4620dcfc2bb0851f8dd1372a14592bb687c5d8e919703f74daedfd4cd05b6f22b098ffd495a63a4dcb3d172b3f8338d627cddd5113c9bb20bb98e7da7bfa2d1ffe827bca6e10ce9eaf14872b3fc5f3fcb3d198ad7eced8658e440efb52452f01982bcdf6b4b3f20bf57657245aff6d69d1a8c14de69a87978ef28e09af50b19de0a1537d089fa3219cf46723a6b9539fa61ab7e8d76abb894333d3583e90ccee456a13179875585b8a14572f6cd846b7e19cd2efbcc0209a5cb1dca2a3b453cf400243a5f529c1067b7cc0c3121b2fe624e28734ea3dc5bc9f08e338add74fb60a0a96beca8100e8bfe15728a737b76d47b95ba7dabf0da951ec939485f1db3e7a51455f46f73213b99346e08dd4786f49f8def5266e71a751c58e741adaf339ec61b7f3c73c2e8167b851a590815b32fad546c572c4e8b0b042720648228a7ff619f2b681b4afc812fb6103c181a21cd4cb27bc4255d82aa2c401a12c349b86055e5a9ab1e1ebe598ba472de66e0da904bbbcde1be29f78f29cc7e4209c78205c2e3749cb312b20d6898726e94101c85aa7fae2abf8cee9ed63103f61db5cbb5e75151927c2c9e2eb40b2f3996bbcc0f476ff0a8e6e6999c7492c125f094a6a1acd6e467f14e7a7bb8e5723bfe2077bfb694c938adc882b0cf379280a7ba956d6ca20a42cf657d7354b44457cbb4b624befb1ec6ce34da822254923fef271dac5ba98d5c0613b2dcc11472d0d7ee01d1889fa4eff50f1c542ae65990ce790b4529f6e126a41e443dedea722a07dd3d57beda9eac001443eaad9ba2825e7fab49bb4a1e7a25d8d546f3ef43cf19ab9aaa3bcb3888b22081c2088f90fce97863e7132ea60c22a96fc48bbd726e77725130319b63c40d0577dffbceeb21fbe6559ad0cbae3f94e4ede1c47d72595f335c10370daa27324230a1a601770232978001e2887ed813a5b19492a4727271262e8cccef4a7de3ca6b535870ffbf9d0c90f57d4f2f76bb906ebd19c140ed48f9f32e1d902bafa00ab4326a9121d0d214b6d47d2a96a813e8bd23f70772ba5a053959e9ad1bb3b4fe179b0b1e99314387725a990550a16a8c4c036a6372a7dbb358bfa4d86dc68e92b01e97096a8e0522db5093da6ab8fb49bc0cddae72b1d43caa8def4b4898fbcae5088abc25f776368267c6f34da49b4db8ab19a372892771b4e78e42026a95001b1a842aca2a70f99ecd9bb9abd221d816c9920272b8d351838ad1ad4d8062f7d6d3ef669ec67fdad058a38bc48c8a881865086c724ebdea4da407165fad85bcdbf5122655234355fb622b886021c056f09537ab718f959badc53baf0e2cdbeaac0c32990570a8a1a3096a9ba7efefd9ddfabf1f7284dba01a28e02b790e41f600719e0037445db978e637bd616363dabe934ea64ab43c3ccc7a764325dfd0b49d1a8399f041f28d3dfdd0e1f926d710f82fb2d3419b8e338a7a68800993dc29add4682cee8ddd5ce9e0726a9d0909719a4450437249197cde47e6200b9a431af828f0d6bef7d5e0c1e598081f8ed7a84bc1daa96de317db99d611b44af01d8cfa0c0b14eca4004986afb909d4bfa363ec1fd6f272306c039fb82c216b9d7d34d99282df9c4d3a41677961a2fc10ceef5abeb09504d0769388f277262c3b16cacd03422c6aff48a6eb98ca40f486374c13f711f11af951c79caf2b6c3fa3ee1d6aba1a864f972c7e6d3bbcbc044035e5f8156686662aa243cd1c5ef34a5751644e9830e2a5eb171d0b04c2ec4266f670ac115c1972c1b276e2b87bbd1d187a87881b6beac1caf93b039b0d6a7f17cc936efdbc950582ae48226b53e88fd944af1446715b7a0773c3db6a1959b5f9cfff703bf3ad19bd6f2feb7a2e56247f022d6a402a09f8ace14aff46022c5dbeb7178d5e295b624124a38c232b4ec373674f6375799b9eb52e8277c7234e6040eac8364a2ed94b9a0e490ed0b4cdb89ea776e63fc8fb08e4a9542ea18b808a0f060edaec7a5253186bfb688991526b00168fb1e066aac882f94409c232857fced460d3e5e41072971dfd5bf39c77439b898a700af29821dbfbc13886f763b80b3bfe814ee336721ec0f9518f4b1c996b24648d4c5dc0b32e86ca16dc33378726e20b51582370292ca80fb3693dfcd6ffe34500aad95830d7bf2fe5b05b3ba93bb177c0f969ba72c71085c9ba53d6dcef84ed0b087983c4e2b4e4bb3b2412aa94fa793b9dab7d7231491e6cba0ff91edb741a77a54fce6f47d52872247660bfcd70e46c58effc722b17788e4d1a5ee299c4a762e4bd82dfd9ad86d9baea092e743e214c3dbcdd721ba3d39ce72f0431bf3390fc062257250faa4ff31533f7abacda2cc571d12f72a206aa8c1a761fa69be8273124d0c438727c7b6d1c6304d5d5725cc07d1106725d4e96d2b9ad8325677fcf9d36e42ea12b8309f577283f118afcd45e7cc577729957ccad71b3bff29664ae4b52ccfa1e720f3a564abd09608f8bdc7289097531c11253f83eac8ae2bddd85fa2430aac471b4a007ef342fe4083d16366f0d1172c9ccb9cb0643270cf97508575ac88379f662b26b563dc45066252e4cca5a013db9542335277b3fe133468689c528ba63869b47769d0744ba4d0ab22ea28bed27a4c9357ead063224a62947f8e876b1dc15d5ec4a318fb84c354d3da2e30d2272b7bc070cc4a2b1dd8b1cc901eb6bbd5d2f4e9a6fef2bec016e4991c3f56b5c720782e69f99e196de59440a6db5a41d75f8204340bc74df19fcf1b51189d0e25d8e8d9fb44bc004aa32a8e2d7ba057cfd00b956732e085bc3fcbdf71965fd5b54afcb4995bc3f633a0667dda053dfaabe5d25f8959c00e28eb39de6e6241b2646d505ad59e49cf302688a8af6aca548da16a12e1a3740604622fddc1801c63b721d3119aa47ebca8274d7418f9d6fc7cbf781284f3ca819618d5df9968011db1b96130b5ba29d2b5fc59b79949aa6b44c5dd1bf500342a1805bead74f4a5e5e72e8920d6997c9e221c51080fe219224fa2018bb431c5650807574d96ea19e2272ae20ba269b1c779ca16857db6bc1f52d6f20cf900b7bd75b0a0fe3617a8f1b5a03eb4098d66f5a2737a1bb254eeab3115298fddb2817713dbcb529d369901372b73a2eeda6880eaa37617a3e7f71cd5fd0733885517d961a671af46d634372729aa483ee29ba10b2b06d41b4a191eeb3531bd879056887ec8448757f26133d723000e6fe7170c7d23c01a6907852d337430a347e7becc6a6ca65846845d1811691d5ab8c65b0310320682e8fcbd477f72e580e6a3a204216feea3916b3e4ed14d0150697290e124b94626aca9e89e5c31d12a951239c73446c68ee08a32a9749f3886c12d352be194890aba7d6282e8393cc191fc65238b154833d259227ab6f64560403de1c94aaa3b109d3ce503ab8f13f431c0958783a824da0dae4ed7e03f5dd5849b38cd2215b2827021ff4fb3527b43b3728db60a77605bc302a601572e1756297de4db3345b3a7236dcb1c3b98fb46bd8825d9c62759852750ca7547292ef384c1dbd3efc72a55ba49d027236bac441f381a72aee06d10114c98eae72b7eddfde5067b190e4fb5c9dc04612a094d0053e3ac3330a404efa1497ef072196c3514ad302c97ed65066cacbfc4081f7becf78c9e2152aa7a3e2531f50fc128861d960ebfa4bbde632212aefed83a6a7fdd80afb5de6ea932cd5f166139c72f9685ff632c1117e8049e6221b24b69709fa042b3faa1fb6d6805ff588cb6354552ba3fa86ffc5d9b0bdc4633e0d5b3ffb058dd5a1d97d3c6a1cd137078e0972abb0054f907743931f0ae70ac1df00890a277c2b98a38f9d9c237264b2c49a72b71749bc8e0009c8687ed0d9119bf94a7a782dc3e6d811be13b18ce4ecd871032c06b640316e178b2bfe642e2208658d49f8cfd725eae31467daf4d425c8e472d7877bc45d113405019953b437926997817d28e46f7d8282f6d6113d9270b7724521b5d982198208ef6fe267321259252d51e8cc384b9c8969891e135688cb37a4de328ca407a358537a56dd01bab8a401f0901e10258dd6b569862a1811030d78d3bf0b243a0a6a5854af3469517bba38613368d6815d5ec969d8cb40dd8a05898e119b4ccacc5fdb69a21f12490cce294d62bab172f820f0207f2bdae578724b0342e3e12016d7404c5a39c033653796c29883ec8cacfd16c465fc6633722e70d2ffded51529728d6ca698927c674283c8409c4e3e557870e2aa101689367222e0e4591d1644f66d0bb7bfde998bd80a97bd328a21ebfffeb82d1f68dcfe685f9d412f15d11419667aaabdca24137eec66f9c8768049313bac68b00e2c27666e2fc77639fdb4998a399a014062988e8de5a0b7cee731cbc18466ffc357e168448066e4b3f890a550c5293acf94f8dd05d59fa92240e5531404e5df3f77f160ba6efb3ad43702a5d7bb40737c962c16b65a1f004d63ca436eaff1031b787c55988d9b3e56d6b1ba35a307342c98343f11bfba07fe3708cf60ba6af1d38bd163f2f8ad443e4294d92a87d34034c1791ddbc25ab6f1b2ee9b6608cf8be827517216b8fd6979dc7d66d40d13d7ddba3942a74250cba548a77e73ef1ad05da5b55969be1bf68226530e9b7fbe9333b49209aecf58b2abebd53df3399710d31fd6159ad6d03daa984b30b15503b908df2bc13e10a8206c1c1351536a95e9561dd1726b3c4eff1ceec904f0861a14a9cc7577fadb66497f9baf6d870f1a9f469f8a255261dd18a5bf45145d701ed3a485b89fd9e9eed25a10ab8782b2597e082c165ed883289d6714901baf417bf87d74eef36f919103b1485e05b9f7b97a0f9ff272c0196dd035d6f3474321aaf68b9d5df4d5e9a3c6defb893f6a27e16b5ee396345d0e984c2c2cf1904e1164dd554da19f7c99646ff8e4961e9ce6ffdca2bb82724961627551d7d7b31392b131e57e50d955eb534fcf6b86ac05cebecbee28e72f45cb130a112b2338d60f74d368daaab26fd51670ad2ed7fb01a3ab6424fd2d1802e82ed9f08e0bf4e32bb71f92913a1bfa744487a086145890660b6189be35726b0081a95ce3489948a46ae04a67013bffde5fba2e621d2d4e3807ba60b6254b7393d9c7619c59d558989a97a144d0f7cc1f422adaf1191df010e0886a5b3d722688bdaf2ee94343dfbedcbe787a03fe63fb4d087c8d7cc2527e00fa0152ee72a6a78ce49c69b434266ae78f752989813c52ad21a6f03c37952a7dd7497bd072c7114a06b4521e9b2a1c960f81261aa7b3e94331dfcf46ffffb7443e76ca41720f03692e1533a026a9f750b6e901d25f3db2e61c03c1eee1261e5e6375cd9072e4ecd92192265dc48a216c1ef444d1291b1cdcc57a27c5329827887477acba72572d1e47cb93f22789d6e20c09441752705ef588ab8b332f02619b44ccc5d86345b0c792bff643e2ed0edd375cf1fa25c47eb1e41bd58d9bccbff1b3bd10a07235e042d3caa636051ba04b3149834c2eeec064dea34cd4227a1db0d2a9bc637210b3a0d10c975ebe8e3ee4d7353a276a3891b1b48e1def87dc6398ca293d2172698005dc72e4b53d589249096fca4d2cb2b67607bd09bba6337e1595adbe7a728254248f2b73c52e3b516607f5cfc4b6678488437f72e1f4cdfaac34a1864164e3eaaab15fd2ca343718b812815d5efdc890a0a94b40e227d9651ac61c981f72e34e8b4ea2f710ef37241df2819798f8c4cc8dad41986feedd1abac04c131072f7c6c991bfd162bebedb2b0ad232828f5fc965b08b0af3c96978275962bf4572fc97a48dccf183af38818330cc388dcacd60f67a7a455aabffdaab5ddef8d807bd8f9ac69ceceb37d849cd58f82a6c24ccfb9d2068eab28f53955398bb833a093a4f676aa70a2749e783afbe3edb89fd7e6ff3d6e3d9fabbbca320985dae4072530056d28f202be9af15ba851dcae24e829384207993c6603d179b72f8e4a27245a7f32082eeba38c65fbdd60f5a2ef968ec5371e0c02616c0eb3ca9caf79a3729f60b6bbb4a947ff9c8d51d90a9f88489047410d8d998630bdc878612d7e772c6ec3e2ab32948fea171fe5de7ac0e5c7d6529f596b636753f09e137e927c5707abae50ec76051de892ddd4143b0831165f350da4beb09bda961f70da1482b720f3433ab3c1a5fc67bca7da9e18dfe6d2ca5479339cb29c57ad28ae29fd7b72f21c72a9e2a47180851df4f8adfca64452409218b0b8889b5cf0eab626e3a78720ceb36ddc96e5f906811bd8f19a5b0abd7c6f4a6f2b40dd146b45d3c98ac9c728ddc3274bde0fb1cede71b56aceffe289ee6fdaf4621c717ad302a1ff5508d51aea3fb84eb982da981b808aa9041024c2d968552f8896acc6326e97e65722a23828561853a1350edf710bb6349c12124810dd8b38842cb56a806e39fae17d5728e46b09c672ddc4291dffb60c7e3a6cbf30931a08549ba804f0ca6fda5ae0572621c45731a9f864a9504d716e4b3710368197f7f2e533a756b96d6efcbfaff673b9562e2bf74a43ed9b8b87da0693b4da5166671cb9dec3972d3108137afa872e4e2b9a501c0cf860d94ad6ebe126e7bef173b674133b99b713e736915bb5c72997fe3af21cfb4737e0a44bb88184a9042e418dcd47b2288f874adc91fd253728351131cfee413809edb2316a52bd300ffecb6b91bea64fe935107b709999672fafc0dd4c5cb8a05cc50236b93b0035090e3f44b091bba8cbb2be4c1f1cfe2725d1513d1d79da7450ac2517d9897b98d84c5b8a6b69d031548012b82ce219f2861b53ed1f9ba554efd8be291ae4e8ea989ec2b2e83db3c2cc11a0449c45a2a729afeb3b0d7095cdd9ffc572ce1c1c91303e573da167b57644aa196a43009b806e8d86671c000154b600ecd1e0b51a0df024d8cea5fffb413197e0981ef1d2e11edffdfd0eb5954183550376637e6629b471f888508c29ed136f9008038831c50bc276ce26e7f824dad3866aeb327962bf579405a2896a9c6d1a7e87bd0e3e9729cac2d3211ed049d26980188889e7f3d8f400c2c5d9fd01a0f286cbccd10620784c3f0335fdd814882e3b2be81bd3bfc9c75d316139952c99fd5682cba5c1550e1ca94540b856992bd8b577ebded01134b03194bfd827b632af3c6e488dbd772b9304820fa857a466601417008e23ac99a5aa39004025685c9aaf08a2e83e072670ae47487dd3dae0d33718b4cf103237da5fe2549b78f0035fc5c07582244722154309acee6cd728631f110ffee943574933d70f07cfaf97aa66343820dc872a6e42c1a2f872656bfe5d75e451bc10366164b6bb24af63275d81d840738ca726154a6d464220e11be2f9c275c24217527803e88e2c51488b20d8427f0b3c95c8a49b68b4534abae05c42fc5ed75e5354d2eee6db144ac307dda506d8e5de272eddedc9a1d1d49216d805d3bf00359157df5e79d2a21543fc587eb54c5d2f15a1e30914b9ab380689474f37cccb8117337fd1041510fe964eb6e9a74573f8b5fc01e88fea48cbd8c3d8ffce9d985f9c828c941b02caa3c8a49c3af1d66a9dd432a0dba83469508ca325e36b1d6d3454fbed67710b953abf789b963f861b42672cffe1f293f542cf2755ef845b938e53a4ff24d52d98114255a3979ceba2ac33bd1ebd230fad5acb26349988880f8d037db76b4ba1e436c9a3d85b848e7a68c72a0fd4ff429256fea28f4a2de2d246646e86e6d579520b447fb77bbd4b515fa72484525e2f24d208e2638666f013218967dc49c16014c541b2cc5f92639bb7e5f672e0f80c96f8dabad3eafc9bc7158fc1affd8471e28585fee0813b56a3b00722c0218160731788de07b79a77363444eb7222bc630bfb95c3b2e0eea4c990972a83811945563f4974af4c65e3075afd7500a3649d9ad7ae5f5980a8cce206418931fb5f21af64eaf08b7004180411e735a595e373e47054d499618beb37a557288143a2d74ffa65eb9ada9e2d13f1f47200da00e42ae8fde6ed7da6670bf4972fab24e57911b409d2d5a93236b85e6c9be857f57a4234f626400eeecb30ed272122bd11f2b1fbf389942d3de5613e01fce2966b90f2fe2fb715289733762d772885f1a6336333a63c5463819e5309c1dcc332a517d594083198408c681688272707713cd3e88e2282d3033e9c5053c0034a6169cae5ba90d7fb1ecf5dff7535e080a8864328227201ba998d89ea33392a4f5f509e531d406b18faf785880c86521c0611a361ffc7438c876a9bac6947f7d2b33deecd9b8c0b613c9ae3b3997723288a07ee1290a4193af2b38606d979b903e777dc30229f48787eadb49228772e598847916f120069006ffff901feb0dbab042dece818f9aae1995acc99c3b2a9dae3533a34472c51ee0bf43d479030308c46f1018e0e05211ebb3f5d4052872643e336eacd8a0fe28725a6d8b68f39b99f4bb84f7531899e771339b170aaa45e85d782bb4e9eaba08d373f3a4225ea9533f50cabef8d853da069f6faf46322dd92103bd4c0898bd61c1d158d85772c5c32e3175ce56707f96b22340e29121130ffe8422934b72c6ad0d5fbdbf1726e3e72b4d3381aa9cacf69f8388fff6ae1a0a8233112efaea3d92395dacaea8f9a9b933611bd29c5b160bebd5135fdf65721bb37fd25e77befe6ec5916c51470ae50dab9083d89009832a0e22a007fb480b5a2fc59609df70a33217b957f48cccb3273620eb1274354f0a28bad62f40003eb5a19bb4f3b649f749788e1d7eeab1330cf0a0df3a199b8bd5932066d08f2616401783a1294d74e63b99dc8104278246e4acb9c80509d2cdcbebc8ab21072d72612d63dc5eaaeda74b14a29204c906a57ca1aaa6c31f6b2262de5254f00eda72b5168469ce369184d5e772fc57c249da76cd4d9271b2908d9cc35c1b2df0d57269f8e62a418d8e667916ec0c673c87ae0e21e9df490ccb7ad249712dfc700872035fcac0983e1a5e3ade5ddfa6d404c388858104452106716de030a34e252d72793478181c0ed869e63af9217716fcdaf97b36682b7674e52c461c34ea10cf72d3a113ef06a7196cffff049d3040102512635abbfc50206a8f07598d2e97dc72598316eaf4b40c533fc9ea65c7a3cd535163e900ab9a93a692565950832acc725f7347f69d49c94c21cf05c2743f7cb6e2d7bac3b513f23afbe8f245623c1f72228dbf71962426f1fb9e5236e76eb2fca6bda3815f85092e9c3430ef005951722bc2d3a146ec1758bd1f2bb45f5b034aa4fe9abb5f06bdf0a193a43b10e3794c2fe213a3b4e69c3d77f7a2935d553b8a5164afc9e2357ac73ad346aa0bdd0272a0d19aa4888fafd47e82bf6f14d8a21f262512376a34582b26258dfa36061c578cee9ef4e03a7b7d1ff46f748e022ca5d75454995b4abab810db78f4f4ca3b69fc17c28e54fb84b95b9de7f4d72da74c4bcb7153a4be7de2609220dfa9ed8112e34a6c67ae4accda337c8487c0334a73738ad76fec3b51453cbe679a7bad5e72dce22fe4e0b8f6b1c997199ae3ec8bc936e54fd9a618c1c92dc6be7764a2d066b2453f0877248bb0efc18c91eb3dbc47f633ea1941ad22d84fd400ee8d8edf72a7d911307c8cec27cea60317eaff56b9f3e485a54e08a944fc09f771460dbb7207036c788754642a3cfa20a476972c8ffc758de1dc6107417379533fa7a4eb2f12e14a20967a2b7d6dce3f7225ed3b6a38ea89698b21f2e725a390c7ffb6e2728d388b590c8f7cbc7be8d1d7cdb7c8c890046e1eee77dcae4295ffdda0322672f1c80f8d04f1b875bc0b9be671d1b103e4de8ccadc8415ee7cd28ae7850cf8722d14db72a9d0ab54297f76b06ca7fa1a07cb6820879d0cf658695827b86dee706eae5f1090ae89d441eb6538f56172acbd66fba40510764660de1388d8712472f62e611d5d2f5c2aaca51a01ec421925672ca1894612222bfbbca54d306af814be0a04339058f020c47cb09663be7e165daae6bd05bf51522fe4c2ea02fa382630ee0d613fa93861550b1079c6754879dec4b12124e818722a170b72c9b46c26484897f989472bb09b3b698ba9648c58964f51636d30899c17e2405a0a835a71883bbaaf1aae794a401f4edad498749c3c3c5e346ecaec92a048edb6974b297222d49acbb7924ff7a82c75390525464bcc90e3bc21bc378f8a8914c3f43a5b009e053efe0ea57452ece7f5b14f022a240374cb472624f8101b36e5e4c4b3c46c1eae0b9167257ad8568b65a2f1151711f7e24f9cea4724b7a6ec7227068221725759854ba0196c77a4a93ad2d5ac8853d53feaa5fc1b614d16e39d4d616b30729d285c24db5f0e092006d0a7ad57963759b3b543257ed7e914adfbb5d93e4372b2a0be1f2fee3bbafd3801b3ff9fd6bbefcf33b17d4f756e691b98cb3706bc52757552ff6edbfb46f58b8faf6e55f14cdbd70fc330d3b7b015bc1e92621e2d727f54330b60927e85a0f8030db0a531a34b410a9843dc703e82d72d386800a372bf2b8d3e0eeb1d2ec5178ee552bd902173e21d2772970178e260c35d138f31584cb662007ab22fd976a574d21b3a6f3cda1720035e5b1829d1217c8b09732f723f983a6cfe8665dee4e9b8444e091d7413a566efc926e2708a49c81e7f2282728ca5b29e0804cb0b8a9c2a8e90bdd137f31b3acb59cb579cceb6c75bcd6ecf72a040e6b332754f01a0a021638b2b5c5c0aa87bb5ddb939ff62fb3eb0ec91d7350ee64b12af1cad8d0290d70c75833d69df5a947a7a6c8277a4393bb4c3b04f7288d8f62556cd81c52991ab74d3c5090cd944046459ef65c23225f64539a1c86b3ff4d75b6101562652c6dc8a334362ee57628c0cc4cdfd3e52199a236f5a156b741b35356a3495fe4e2117f0d3e875306049a98a97448b87c6c731d2c836f4403220fffd8852820b9e0e81ac107e16f1e812a4f29ee4bbbd37b745c7997aef72320c16f4c505294715e3f07fee55ef921c98f8758667f958447733765f4af12a0255b53bcd234c6e7c58c6a9a9a42473e4ef57f0a46d58a2365895f114ec84722e3b8875cfcad537fd85c80df28432fdf077fe880d36365adfae71138e380a721e7a09ef452cd005957b575e3a17dd87995204b6e4744344f94a8dccca4812723357c1f41e05c5b29c00b905948674b0bb0f8235b1453a162b59c1570c5e937231d7100d1baa37a0627a5da033ddc60b6ed57c6e344ae0f3440c6190cc0da772334f4df996ba9e1548bdd0c2a04cdf870f37e01f52cce2328eca976d38397b7248a905dd09c539f7b1c45e5cbe0df24342be922735a9e5fd4c18005f5b5c033f52d956bb35fd4dcc913d5cb6a6c70359ad9af84b262243176a768201ee0df072bd3b00cbceffa8a8ebe9911c84f7ad6ab47bd4ad6a60efd6da59158e96b1b45bb060f32ad7e7606cc346d6678e3259b5a49bd5806cb6278bbd52d19250378c1690a8b5e72c704bd6a6aed91ce8be428c35b3fc20f691df790fa2aec4023c9a18f3df062975441667da00bdfd9bf2a261f80a6f5f44f5c64620889438898cf6727d1dcc5e17a6a6dcd8d05d5f82cb961c6c40691c26a48b89626a9fbedd168e72fe7cf8c4b4024d88743e95fc6f00b2c4d76d5c13f8d98202a450ddc36ce92865b5c1f079ff8cd2ed11586973224ef7dae938a60eda0c1c0bbf1b7dde98bddd1ccee799524936ae7a3a54cd5a4bae78cccf33cec2ca220b85e53b5aa27d8375729dd3c954a21f3c776eb7d024eebb73e61f48a5f8f526d70c7fac7bc1cc94ed2f034bbecc57267ff0c9e54463aa109a071f317445cf6c05b8bb173a990f28276e4ed23f50aa316e4d76e250ceea15cf744af3e777362704eafa1af6746574eb04ead9b1ff9c3e1ffef62230140d24c6f5449a1ac6f97f9ddfc4a7db069ed650725c5f7564c6dbc9dce8a55bff374dc2714831787f41c10100a68b6e07629729724f98a09ce954f4699216c765ea9e9bab7fd35258e6e6aa3f8cba70a96720fb148767161358d848a3d385095044ca6955f3ae612b24184034d63c0dacd64e9558f52a3f0b060ae5e79b568f2ee6a5b51a55b1219a9f7942ba4e3ab4ec483575726dac4aa4d3ad01288188c9a3779b619a719ea20d0a8d510105626663aa92c03ded6b1b18fd1f61aac4dad8806368bc5de20b3876bc80c8bcb0eb2511e6ef6a38098689cc9dc70833951368b0d3d6b9f6f78ed6c0cd6cc279d8e2b5de22ceb80bba48ca8a8c30194e0d10c3dffc640a9e4a7edade459a4d80f63634858a012f72f4f7c3f3d6895cb02d14cd45b48114a2e86f6ac9b15636f59e706951cd7a7e7230b1b4a8d2c015603497784302b61a715861eb691221ac446688a23bfd30e472e464465dbc67ff6ab922a8f8687cda49c27c3f29ae3f8aef658247d5126e3e3360f15f77242e2c707d490e679793f55f006a452357ebad5fb18f890b182e6211be75ce698538861550a395183fb5d204d34b224aae1f0ee414724ec4aac9780dcb9c84446b460074505686586e11434582e293e7dca9e3a9900ff74b7717e172a80258fe52b05a3bb2c2deff5401e8686b7bf6066f6a852337c3c8c336081272ee93cf193b3fa9b8a0f17b429c86534a4702f63aa3dea7146ad096299bea1c720addef655d98786acdbe65a621eff9efa3bcc3dc2a6da5574ffe5cf68f8af517875e29186d4e45b9ea7f74f2598242f403bbbd94d5c410e171da4e543481225256617880da6c962333c8d0039e649a41d7e21ba9fcbfcaff3e0191737ab87d371ad6520751afc8eab5290345d18709a7baeafe19b6f40c3ed9a88cb820456a72e9c4f4c8842741c20268e108a737c6e25ee073db66334a05d30a875c3dd6f272f100c2ecbb6d7b7c93dc243ff262aca864b103820d65288b5e161478b3c77c70c15e699b7a781875419d1d018a34eea6c0ac0518d779c0067640111ed6dc8d567da4b476fe40da4da4217406414146c7f8d8908c762dd34a1c86ee7a2bff341d3dd1c2dbbc4b3c27d84cae055678cceccfea65a30e99b99f95e079655631965d1d818283f4ffc7100c84a8fb2d1f9f1d62dfd89a13bc7f7b58f4205aaf47337230f3922c4e1b8842c3bb091a1642a58c75c9e23a820ce9979550dd5809d05510aff654ba25affad16cb1c5cbec18fde56f811c9567642e36a226c97f82e5bc31c06ab79940862d43f8cf23496c414bf5601c8065aa8e300458e1a77c9de9ea16730b349f492755318a3b82335f65778545d347b967e51bef7af48db7e7797b610f284db41d856d228049f94a006784b80419a316eabae93f444e44c9e3310d72a0554903ef330a8cd18378c905a4d8814a204e6f33e2871c7447f5a1fef511601ea14ee26f3443404ebe79d36d77c7e60f113d1338e5845de90c8720a1652a72c2f55630ac15cdaac4aae0afd2f63b402b7cf49f964e983a4f1ce04117dce912d94ef2e94a5febcb79bf85f26ffb3b59a5e6285e047b3d90570d09df8f7e4572bd30d8370a5e74cd51fb25b2511448dd70400ef3af82edadade2098a9139960c1833ae48966bb0ba2545519100073552cacc869a71c5321d197113f956a57a0f684d0a45fdbfd4026bbb0204fe5f625bfe91fe81b2e4f93853d660cc8d5ba6722128ba1d1f45272b5d612ec37651882791f6df6d42db12a8b6b7ce5cff8f6f72a3b6083c25590f91ed604ae5a0572dc6cabb1474569570d41dde4125717e3f3ba33dd8e6972580a8d2123365ff074d3d32c280c61059ea1adcacbf1879e9366efd2f53bdd6d1083f98324981c7f8cbd6114da837629e06d7f315643172668f16b02156cbb89a2c035c84b2f26dc2bc9b67ac0e96baaf4164059a74a071de4115fd7a01cc978b864ba70cd269af998bd71e419f29bae9055e4bf1bcd0ed0e024f8bc125f110e973491a61de089e5ebabbe07d107656548295aad0e5a3a6ae9072fc6b4bb408dd3e066091290c6ddcbb0a871ab08995fcfeca9f1dfb2a4525014426fc5cbf149d5f2987251edc529093cc3d282f8136b0386ef9509cdcc4596b1ec307776eac20884afd6ff9444cacf46e0aa13b9ce58e0503021ab855d61d511e7fde099d702e2cb14dc716408a9f946b3f86866c9f6cc835377a832cce15fd56f1de0f7c365d2f811aa55e7743fe40920e99d087d60b1d5ff0ec0397d9b5307223c11e9bd1acef009c14aab44928fa76932b004d4c03fe0bcd899fa891b28a729d64f4652aa0dcbbabc300101f8d2f5b95b1a33f1bfd7ccf1e2fd16108c91872368fd6eb14b2342240b36ffd3da088068b51668116fa8ef3413e3bbfca2cf472c406922d49409cb513cd1b194a0b277dcc72e8ede6eeb9bc40dcd4689f18101a0916188b864120bce664d33100854f3059081773acd22ede9024f43cda72bc726d0b81e14a0a1e32890bede2debfd3d706ab75ba5704223800a2b2f297215f3f2e06a8a7b28ee9b0b9ebedb46f64e22c957c47b95b82434c50d0b60c6081d41ad23cccd41c37ceecf9f9858deb1e4903c72a30c700da03f0f9250a1f24bc271b3121c50e5449b95796523166dd532523b8400a570fd9760baad46768e8d7f3725fbeab467f1bb859992fbcd302e6d5f6395a7c884f42bf7cd343d1810afb10728ccb7c4618d79beb798f8ab2fbcf883b7b5bd27024c77677b6cbf7aa0a06fa69889494fe459307a4d49dd86aeee7640371305908df207c7a9b9805dc8ad67451bec8d61af3aedd783b16eac422ba99c2a01f34adf39d4a2a352572ad0a39ab7276a0ac044d82249f9133c5e6689ce170ed9f00186d31c765018f43e5a6b67272b7c187e9d7547ea73892b67005f7e55c8dd91583f62722f2577fccf751f8b431bc5fc49faa4c99f7c1e5d5927ddf61212c3b7a0d5fe20a807fc1ec526f6bc85e8fc01cbf8cb69c1347ae35c00b06341f960a4c0f50d7c981b2250f4c13dcf9729424e171e3b60713f6dee7a3f80e77d9faeaaee094a3c28756e65079b6fae628c4d7174d614dd10bfccd5ddd8776f37b6c1fc9ccc4c6fbd1d8285e80ee721a16cecb8d4e747a4d67b73e64d6dccded469e6926a7ac242363ee2fe8a7d4d20a583a788ee513e0c16c47e79468502f2c401d0d95a50f5c8fdd0ebb51ca1bf2d2721c606b9563c11302d684422c26e899f3edc97e498b5126875ed8f7610dfff2726a178bd3b1544b7a8af4b4e125d588680d6545e61431a06fd51782a57fdcdf72672dd273b4f6e85001e8b4fa6f9f881c8424a25c48367258fab9326d9ad4125c759c4b8b61f0302daee52248f57756228f620b94f0541d456dea08674758511296aa6de782dcb7e1c9973ddca93c980d59eb3b063b3a60d2caa5a96d621ad70f7707c2da98c5d0b03147e96794152f431ff441cb8f6f7ab15f6e5de840b884725f3e509674b258728f4b2f35bd1db63e4680f6745af1e3c572a74e2698061072bb122a586179e3fa7dc74834fa6d2f975b5e7976cb5a7bd796b659568e038a378ca811bf9f5d78b23fd5a68b6bd76a100f38ad434476f09c30e2396aed932472f35e94dabf1aa8f6b624aa378aeca2fe6599f505c01ffa1035e06a430770460fa954c17187876e33ce83b6f3a7ddb3f1cbdedc9aaf259bfb107d48c21a919872fba1a2733d159853b0642ddfc47de5272939b05501091eb203784f271635d6131db315860fa04a57d5c0c502abeeff7be0280ed617df9c9c852ee54ec3d60e72c2e66131044d98c468b01166f0cfc7eb3092f034e1b9453cf09ab68804e74672589272a528bd1c513d30143cb06902c8537232aa6fdbb402489a36b2b52d3f72b20f9aa13c132743c6889bedd4c891f0d474008ae3a444a9c7ab4ffb75b7917258e3dcff97eafea0f16c312ceaaa7aa640e378616f836b41ab590a36fad4693621b2a8008f58f072365121b0ed66af227d3b9ef8a6fad575af57b19c21f7a072c4eb11c5dbbd1aabba20ad8cfd74f675ed74cb05a807559277c0f353ccfa2148d320731da8ff1ef136314ef1b84e84db64866a009ea6c41f997c247918c64e093b32221fc372277a82d53d8428e9f10968df47fa020a0bac8744552c4a501572610bdbb4ffd2b85ec6bba19501894c5103075a02aeb5d7a860c252938f86b07211c35851c7b983e8ee4e5193270148db9f3f4f2c5533138e87f12a0ccdcf63720263ba7e1f3a43b87ecbb632311398776de64639d046dbfe934acf8f10021261b62a2a7e21a100fa6b819a244376a9e9c114d6a6702d0329418957e175a484720b3e014494b18a96a38650a85278472b3636097a2c815e71c10993da13a5c3596b4ab73afae429a8ce7d713c553d95832d11e31b3383864cfcf17d8d3fb7261ce7ed772767d1da254f72aa7b011f4dfef3ac0bc6ac1132fa19628264f56e1872af7b8ce0204666d1b3430feed52157ca32319644977546e49b67b752c3ddbd728b18a4c345a4f5cbb3e1def03909ffe9451d12adf5bcfcddca9846d389e4751c1b4fa8897321fe4f14531a27ec1eef51258b22c443a5b1ca1ab8440de9293172bd63122f7f9ab9f1075c6aba9a2adcea4c9155f22eed214b1be0fd0365ff1617f8174f4a1dbaebb35685ff11f0a8601d62a4a17958d1a267e2d1dcff22b1f62cae61d77e6c5cf05ca0b923a0016bc509d540cc2a0a9146433dc1b1656abfd129adba31467f62d6f5d1b9375decfd78e9ba84da12c76cba36a64c555e4d484672a5fe1805f98a8a26276559487a7222d972ad429bc184598323af9360c948ad72fa139f6d0c468c52bbfbbd4fc5c2c692e6450921befad8e1108de49fcc15f67267d3a730ccfa17046b83063141c9290461231badfc13827aab0307e749aef872ac77c70bbb7b8b1c4b1c94cb3ee0294a7e80e73be47d47cf7242df478dc63072ce4dd7585bdb7719af203cdd3498acf2551335828d7e4d5d826e7eb6507a1f69acb12ff62c0bcdf3a04f8f9e61d1b2cc722023ce315180392bc13a232b898a7242700df56b593985ffb3b58537891d90113eb03e15bcdfb0df5a9750aa2bb8725d732aa97a202b3a0527fe485c896e2b1ad2aeed78bbb1dc8561359e68de3572cbfb74da94ed50841adeaa0ec91f31b9696118579b210f3c4d3c4e2925f84f7241a21829fea2dbe1a6a1cd42a922cbb11561aacf5ac3530be4abe453a6cb8921d6028c4da8ed2eaea884a03c1cb1af950ac74ce845225c78f759ccbc580068518b278c0955f5eda0b654781d673823d04126889a41c01aaeec0a7a34a862f51f79de801951403dc57e2e91f64612e7037c05d731a4d04b07ab88cb0dfb62747234f56e41cc16cb5f40c563051ad1249d64743677726cdf54ed49edce44bad3100c82b4e3f5e08ad755c6e36a8041ea8418c46fbc4bc9acc102535f24df7e4172428dc85da383a0be72a3a10beeda9befac9f31908a2c1f29206a828fe1752053611a402ec98d26c33d4fb23c9dc56e88f92f452e71a52228405b872e143052721ce78754a83e35df222168c43ad623af01c174a58be096876f81664d4f6388728947201439d05a57f328d62aaa5d5ef4fd745b271dfdc5b6bdcc75c695f7485dc96e1fcb2b290ae3553b8a77ad334e49c5b15fa09444513471cfe4bafc6c19721750e380c3f3f4e2b0272686596fb32290a91366ce645a12c46fe9bb4f55876e0962c34e03553f98d7d2cefaa39b899908f00c6408cfafd7c0e54f25de8ead726ef13f08daf97e73d26b087912785d9181718d584698f95696cf169b2c358d728213d3a8a45a44db2fd215952860d236b657e5d6226f2b81fc882889e06d033b572f5ad02c916de33b6bcaba86821f3368ca799cd074cea35c4700da60028e72688a2d5b2c418381bbef685297c8322a67ccb6d7cde8308c2aa06f89f00b6e40c87549d3514c4d3a907d95d529ed514d66046627216d1e5b8f471a78ef4c442d46efecd3d32ba4e225e90d1cf18d20daf0219f078b0baf8457a7f387c0cd003555b5e8dfb636e8590e96333270e01718ff99df8a81951f1a72ebd7930a3f896225da51607d74a4ef9766c71a2238e35fa1541968fee5c8abbf07224938605b72862cc57f2a50b8bce0c3568fe2489b8bb95025cfbac317a182cebd2f29448d72517d8ca2aeba92f1371a157e31e82d99b852c5ac596485abc8970e01fea61e72eda514fd2fbfa205d500c5d6208c342c7de40222de88314bc7f08a0f9d2be6725360372d3543e1cc1cab31d916b8ea1a34894160cf8f54a4ada2073eddf76172eb9905de83929449fe80d23d65646fa3d24bd266c211564cdfd91cad7bac0072646b681de1d1bb6be01e748c6e80d9d5593c57cf6010adef8642225098457811d8c5f268668237b3b557a9878832b1f69c898a880f44cac582366c2025bb6c0d5c20fecf6ac29fd9a26b80bbd4eecfaf6c4ea0227bf36d96354bcff1c4246a72ac890c1bb977f9ee1ebb517b8b68f0cc004116695264a22cb48bbd52f7c95752e7b7727f66d0e795396c7bd4a1ce78369087ab7a70af26c0f8889b331f944250426df4d686ae7f1eb28be4ec0365556efe7a37b14c1fc99f77fa9212ca43f77229f706aa2d0ab3f12d365c46a82d543bc6707c0d73294db1de5ef36f81b6f97217bb87abc1c06bf44fea1116056b69d1bcfbffba7a2593acadddd6062ec52c1570d470c7a0d07bd274a3e8ee38354a096555f416d58437f92af9fda71bb2da729a8b7abb3cc49bad33c44fe7db874efcdd6e43b099590edf571ae07d21999b51677c6bdc0759d3b839eb16236cb6de3aa8216f3e351c1990cc963c2f10dc15723e90acdaa1cea4a022f928c8a6ead4e91db7b8b308204d0850df21c025707760393cae2cb8a7132ac24cca0081eb57c8ec5415ec1b082431c6fa31aa67d1cd72de418ba81257e2fed45c8efee120f590fa96909c0daf72a0b44e44985fcf153cf81d412b33a714ddfc454e62e6dcf0ed10582263eef34b30e534f127641af672353eedb7d9bf01ce1bf65f410603197c17d65df136a8f3795c9c9e178b154a72e51fc403e75ea09863de38c6a319fd25480ea53ee3a938ea1b17fa4456eaa21bdd4b95b0bf248c18da77eec61ed46259104074c6ba8a3d8e71bf17192864a439b1e6a42032453e06700082b2727458183557d53b5837970ba5379dd9bfbb6072bbd4115495ca593a3b6b051bdb53f98f822e0393c0c850af8b7bde36d25fa70cc4e0b6e431f2d88d1c1aadef2559f176a23185d8a97e3192d3830865266cec4560fa6640e05040bdacb227b3b4be87ea0a48e0eb3bff2de2c7e117996f28b4079ed2c1cc92716fb0d78e2b0e95907ab83cc88d1dccacc43d22cea2ff5b8ed872bcf89c1d8b3fd3c7da7142da08aca35d286120f86bba2da03a4a9efd4ae9ec6dc93c823ceac7531af9811010b7aae8970fb433ae0183863c270eceeba9a2564238b267d7df1aee5b1b359570a7a86984bc2580aa8db5b168990c5b56ba485a72740590c553309a80e51e70e8db3e45ba4c5e30c0e8de3d4ebeab9937342bc3721aef95eb598babedc660eae9afacd414cf3c55138d3b45ec8f9a2e4794414a7285117a104924de49d69b79728ba125687d64e293256ed173566523d00b001536eb344a0c633bcf68534e598f8964890aa2e23aa1b30ec38d88868f48b59eed7210d4571fce1fe69c11c343f7ce0b1e5ba8d1da1a0be6a24c047d7cdeb450fa2416a09d5444ebc1259b3faefd8d3f8421a6f746c7a96eec9b3885d4ca3fdce0728401723d325981618bc450dfe507d0a6b98ba01d5bcbde77ac927e2cbac8747230152ff4dda2751bf00477b048c0da950a40deb7f7a15182b90089f232d818725e828c2d61f10c5af151772c19c9ea0e6ee69b8671a6c8a11aef90de25ade10b5614dca028743992e3efa0eec3513db4b8ef46f46d9a006adcc0680503234361b4083193ff170543de8ea05feec68e3d5becfff9f0739b310952be08466978722064ab921d668259c80a0253a1859b0d017be1744cc9f7f83a8afa08f6b6e672940ef5c597248ee0a5b52bc671f5275a1df836bf7419b0ab8e8005b13c612c1be0379b785c752986e139eb04451974826431a5890a3d3a8df4378b4cc705c80ba20e56bcfd84d04b9489979b403e3f4db1751e9edc464187b43a71d2da0301030bcfaff574d27812b866f4769b14e1835506150bcdaad8102e945429a463d93c20ca1caf562887665bb8d465985a4d29bb943f4c26ea355d86548b54c809917224042b250cfce8a0f7cc0d71d256ad93f0c62ae368b32bc3ebda7b8b13bc4672bbf6eee36f7ca74f69336d08bb4e7a148d5f3aae195f9891193ab50a36e67e1c6062d843139d187df63753b762fed35e4b913f5b0367a076911c3f552848f11d7f1e702d0add7d67791ffa1ad14c976df40125123f5080284d3ddc89318dd672603d3531d3e37b394e7369872f3f274e3d9c4be63385f1cb86ce6f1c65b61e72bf5ec0ebf123d640eb28b77b72b8c52ac09a2f72a331de0890ddcb3de2f70058df414018f95ad74e9b518d7f1a319aa5a6e51791456007c9ed65a92f7f359e0903d40ba64b55f71014f11b865eabe882d1211f8cc8d3510d9a8cd6b94374f459c6da780bbdf235ca26cfb487dcd9adb12ad6dd40859d4e75dbdd3206cdcaeb72c4cec6928e9d952a04531e85f11ae86c50f43920ce51a8c897e709178ab294727963928656399ae850d8f224dba5cf347f7b4f9eb5fd3e623fef8bcd21ca3a1c258f25156cf887a016afdc4900c258941f0c0a83f6ca0b4571f44bf8c3727772e2ec4cb859c41d3237a4ec1b7cbc6fdf4991518f01cd096620733bd595867c72e647d382df7761323e72f93667a3a0b3a6cb328e16270fe8d10a6e1e926dc263f7a4b169a0ae16e0872f08128ce81352aabdf7128ffe53d289322de9f21d8d1def4d4da4305edcf1371ce1f80605a134bc1b0225e2174a64bc1c327b8f054b72158d7dea02e67c73af71c32fdd4fbac70e2a337fe6059973e84c0d0a5a2bc45ec8a59294aaff31b8acffa7e8ce7e83b33478f59c60304762d394656d3c02863ca88d9bb04bb834da89549a13803390db39c9e41f00d8dd9447d2d7b1f41d952ea164fa16f5cf140f5c98c4828b14d0aec8786463dfe69eaa5016150fa1703c288afd4b33cf5bba4070de35099f81a04e815b1759347aade655051414aec08872da9b0927bbe6163abb05316e7f6a5e4043306eb57aee1aa3424ff365531d4972792f3dba9b7e5a8e4948bc8e3d81ae2b6c2466600976c3df20c6d20eabd60c72984518d41d33d0634cf244a0e724cc088edf1e16cd4951842878a4c50e8e43723ec06d78dc3a8812ccd38d20448b26572c082e1c769e0d81a8f9d2e96151574aa599aa7b52c60a183eb1678435e6f80729ed0471f920c93ae85cf2fe85037d558722b09cbf1f03d5908b593ca5107bf98a9f7d2beef2717d86db2d2b1a79ab1776f650a1030405683d8d94bce0512a943e4d1e0a0e0db1778dfc210e7874253025e3532a58b477e5e96aac42ac46a8d2038a1d7ca5743aa1abaf646a37b6127242f1a561c4c681bce1cd6a62730e2e422fabc3da70befebc42db94bde8b31f5edfbe7173386db36affe34d487b8e335ef4ff26992c2e9a4f8f96d4efaccb57724b75a29527627c26f56178ccf9e7ba5fff066bfa6b508a77a6fef2c7fedd9e72fe07b00181acd42af695542c8d7b09bfe49cf5331b67c6387fe44070dcd9e1725c81b16ba62d94e93559712fc923b1218579a0ef93b22202ebe45cf028a98672a56c2d5bf5cd88a94cec4df8c4478f5c53eb494a840352db674ce3348650787295fe6d3c37c571087dd0120bab82129d3b65a456e6c669289fdfbbf3f314fb1a5d4401b855d04a3cb0e48b2c0bec90eeb1806cb5119d914af96a84b86f650c72f0fb4b280e73f1233644332e85c0489176b621b6b1b2a18aa93123f6c2164e02f29387c534e9c214afb2d206cd6b7036535a67433ad4672a663d9534df7fbf722904414fb3866167f7f9937af3184874cc8e92e6efc14201c398fe6c36d3a72da4511795f717ff1e89e2ef0e8d9a88b3a1be9e690884f54f3be5362af07a0772e387d780fbb7e2cf767c0b037e36b47218a8555edbb925a96f1b8a669b81551db878d8ff582c6bf74f1ca566be9451c0a33f9c0732c8f42c8ab38c10fc1831728db25d077d0e3e826cfd30735dd67caf69e2c3c4a161733435be9e024c1177729d05ffdcdab98d7a4c3adcda46450a6735d243655989356e198770628335d329b3cd7c6008e8d1634c1d8350ef852cbd88f72cb7eec9b897c41df952f34c904fc830485879df1955d9fcfab9cfb2b72b52ea341aea2332d0d6ef3572de491372fe9a516d0583ffb236dd453092f3328ad1a032fc20f92619a3924fb6d23514425be91ad928f2df268e4f5ae0192aa6e4a4ba5e4f69dca404d9576dbb59fe497201617fcdd863e5a962d5c97ceb8a6e4b0469cd12a94886a2d66d75bf817cb572a011c7174a83951db1739ee9144dd9dfc20996edf666a398e9d645b36a185a3ae013d6807493334892ab1b18b97b1bc34ab644182add87a97b9d5a0f86e089728aada14b2e4151597c5c52265dd8f299a247faca9e5f8c4af61695c8984dce72c374e5a4460813ccb7c3e16c6a92d8492514d20668702fc349a3da259eec0d72c5b9baa7e0d2568e106ad74c60452d1ce6060ee9b6492a3fe5c45913c0f47372b6ef8e171188c28d87301a06399b58c2ef5d3ded5b9872ce4a2feda7a1339a72ea0895a1a1de1ea540d75dad8433bcaee2f1efcfa476e2ad2d99bd94e48f11724123f451744e8a75e2baf7c15eca25a43f04cd31f9b34949da899845dd133c489029c044636ee8ea9a83958022246be7ddd36d93f60a94f9c7ca1f17894c9872eb214fa917476cccd1826dac886353d08cd3f2f92b5b610b6d7c65a0396e207296c55c79c722b0b6bcff9baf0f24ddd10a133022fe59bb2244475f3c9f254372a71dcff19aaa2449fa815975f36dcf29f6ed49b9eb9033ce01691ef7f7279c18cd058909ca7915d58e0f8b9674fb0f54981cc2f713f9976e0468b844f74a7272278d66d4d4fa0159013f74ce7670b29555e17bd6d00dbcf63beda529112c942c1925434ab1a83b4f21d8d07ad890e6daf50aaecab68f52e34b97c0768adb7772a9bdf32ff38e384180f17fc96b4bbf99d6686db5a24f8f6eb8a1c8ad3d5f7c72e7d02a6d405233978590058e6975f8d8c06d3a752f47346851537bc032908368dbd70d95ce91894e39fc631801f01d479cd524526fa18ed8ed9c7c10a0d6de72db4450091be742d23e8a80e2094221389bf234f0a16302f8df79e8cb6796602826541554eb0691dbd7f17d5fc0c91c431246ff1b61263866a04c41fd1b279c1b54bca8e86ca38e169f8cc2ed0610ad2bc9d466df81082277f8204565e176f87287ba5e3d8be52fc87803dc491890b24ced1c6c56d160b438c0b2e1186d21317208408d0fc67f4e8415470846272f33a2fca08bc4adff63cddd02e488771e5b723231ddd97ff133c3fa677b59ea24e8cbac1452d73f844590623d637adbe01417d33d053b35d4a63cf8e8a100e22a28ce20cec18f07577ac0ca317570c27ce543e185bb34d13769734efed6977108d739cef60f0c7cb8947486b0dc2aab36ff7265dfad00e4d1d978b880668044732b12d3b8da49c1673f5ce1579e134019ab729e1dd715d90a9265a0781e8ddb0b182dc30f7e68ef3d558e55a4b013cede80573cbe5fa6965a867692986a43e6e5d667026141795ab30e3e61d89a7ab709f1727cd01d09c024bcbdff6ee55792c17f8a3bcf8be33751a03e497fa5a466497872a49de94f71f0f3d6eeb34e8555462bc129ef2b1078c5f798fcb8b1db99093e3c6d6b8d23af1f24a9265cbaaa985dff5815945a43210d25e5dd35f9e672b87a62fad412488c254315868ce8151fc680ed0d812f1376f10b8fa9fe7fd1a54c4f68f3f32394cdeb48de8f6a0985ca3ffa268229d041fd4463ade6264f7d8ef1a07284bad8a08205a72f821268de7a691d717a7bc653013ff96bc4cde5d087295f0fe43333562cb1b07bab2ed8b4e6e44ba85d163155ec1230099f3a33b6671963720a41196c29f7420d624592967930eb107f79ef3b375e7890988fe9ca05466b724506d0fada836c2901a7affe3b1597078beebcfeeb69e586647a651b4ce1b9728ab3fdf7ec8e4fc4919d330c2d2fe99ebc5b82c0198d0c545187400dc9a5a903a7707c77f14d6e636f67e16e6cdc975dc6eb7645a32442fe0903396e820a7c72c913c81d491c5eebee89e025cd2340d38ed17690ad0a42470d137d26afb16e72d9532a2c33d7297df8ea91d6d7ad6c15bfc28907b13fa9c953b3b369a4eb8253d6356fdf1d5c60e54e8e8acbcce76544f4a3e1e533e124e297abfea4ee507d5a6b954f33edc9e4714a417c813064d12832a040a26084ee856805130d5757cc72eeb7d512d9ddfa28d19b87692f05510bf41926258df70416f8035ac482d6105b9111ffecd4292ab565c8dbffca901b6326f12f9fd99061b74cf4a5aa70574525636929a1b638257f9dbd3b63b8c3b437ce86f8a7341d5f3f81991dba4d04e972705baed7bf85b225c9cd8f5721c8716d065e1b8f982150c637ee965e0489ac7242ee607f7a07c66fe444be050fe802718d94c7806a8b0d244c01458b24fa2e72093d01a470c7d347bec7fedf4b427df69522b39a139ac95ee6b0e369ffd85d5f838ee927384d934716212bc93612ea539f0d9df30968e16ba5e0c6e523101d45170898ad2ec7cd246e333755fab35c03d958e72b7050ea2f8e7839fe992b1a72f390776d3704295800a2a8b516657d1c1eab395a12fc0aeaac7a1ea54f0eda2c3f205e2d97cca701c528992b4bf242f83ee77a5e8bbd50d7e0bb58d6611cb36098bf68a75821520c2358c5f7a5593e6318412d1bf2e33505cbe95a364b75697247d37b0260c11fbbd699d537474aea434a742c1ed9457249628c59dc1b07d5725d2d28192f623a9c894c71b124db42fc3427e58f491d4e7682185cd08e2ed4070643a314fcbfa14f90ad3e6e77fb468641efca4ec5e8f9583ba1b278849a9357c118fb1bbec40d581d1ed812897a44a460ee3e6fccb20164c6f6a1aa3024927232638e0458a79c871593f870af0d243c66c26b7794379e7ca65dd059191a32727d9ac3b0cd2eb4a345cbe0fc4a7d83432a2b3dffe9a614ff9b4070fbff46fa7277af273a8d6a228eff14a1ac235ee8ecf15755e6ba061c367c0600fa34ee16720f4e97aade2a426e2be3291644a3fb2bf507bb2c38e32fc7a6ee97a254b55c727c2d31202c8a6e67a26648252116c9e03285b4255e7a2f7c658fa50495d4d166b1dd1fc5beedb4fad3fc1b3ab3a5348255c19836f2ae471395bcd9c48d2c51721a02fa99eb8b7a5c67ced4102b67488ec64d0ba29737f83469c77a221b5d7a723183d65b8d4dc8f4dedc2100b2fc02b27e3af8f68426fcd0ab2c416be75a7527bbd880938c1a41d40f42fe9818e7aee3ceccb2b893c3bae487bbfd09f3c91b72d199a81640d9f4523377b1d07d2144ed6a787f7df29a1542f43102cac9de7172cc50e84f25daacdd4024a35357d34b6a31ea052ecb8f797b13cb748353bf8c310f74f2f62a8ad23d298140ca15bb3c2b1531906210ec5d055616683161b2cc72b9fb71e75fd94e72f491c009453ca1614bb334d4d98c487daf85b5c87c407245287441b3db125b5068df13b0224252e0584997b8b47a33403004ff1255b2007295854b1591e950adb4ba999389fc026de1eef41917b7c1c4f7a441a39e5df37227092c507f59c31abd380fae38832f23af2d55add6d6618f1f24c1b3cb1c5a7263a3298e61eea3089feb683d9c38b01fdd20592580766b474847feeb2150a7720f6035d53d2b571a7591d8581b98ef1a8194f1e89e98830dbda8b0d5c51e481ac895177563867e997d69f6e2d73982bf7d52bdb28fc996432d425eb2a9ab432e5a409654107b8147b5ceccf8aa9222427fbf72a43de73dd0762e231781904172f6420c5a46ad265c1192b6639e2f6f0ebb9f435c2ebb665444d3cef66aef1d72c71af8e48650803a23deddf0072792ae2beeea3a23fb49233379eff27988a0727726737d6a319c3f58ba8402cecaf9337756783cc561a361b55f90e30abfd07277cea6081003d9bb9eb0a96544d77e54b531a1f4fdc347ad0761b43e3b2c52724e16c5de8d9362a591861de0c7ddbafea9437e40240d188f8d4130b66e7398721c7caa6a03d1ac87035cf8dc954e5002a5bbd7fa21b60a55efb214d4abd0cd6d4d5de5b5b25bd6c67715d32ff1de8a576eee878ee273882d9c03524884b3b23cd05a6ff97c857cac2651f7d600a358c0e26e0a10ef7df0cb6632f7115de8987212ad771a492c1140eb64b9809d14723c9b53ea1566845e0307c33a6324ef937216b7079ba3af694661ca6e085ddaceba6a745d1282a7e43d99c3aa3c14359e5a43a3ba34e3c599304c280f565e081a7276a85187495e88cf42e3951bd0615049428a5dcd282be7495442c3d971412b44f7e34c619ac399d267c9745b534df46234e56ba720a6d4a2208c16c2552e85114a1d96116af300533d2e10852727ab7224b85479301064759478f825a0e7a27573fc73799f35d55517fd77b6fd6991368c1d46c6f6237847be24d9c4c7fe1bd6db08229fb419b20a73b0f5974cb90472a4ad69c305624cd4edeb286109025d8d7ecdf75cae85de5d76b8d6c465c25c35faf939daac9eb49438ce563016f66719e3a30569b4375dbb1f93c2bfc5453972e695993efa7242561dbdd4bd1c4bacc86518dd2083c7da3edaa9eb34f30ceb72320229cfd5836982af02d9e7a3f9166d1aa7c29abffe5c682bea651d3b1b1a72271dacdf12f5f7a154710d585289da8fd76b6ca3f0e911b30bff9b607cb3fd2788e994901d9cab08d08a9e79d83ef50096576a0a12d6523d47c7363576af39086fdf6234be030f93c8c6ec9637ea55909711cd21c83073e1f0cfe88d76e17272837b3e05ae6d183389b1c9e3e408dbdf786d1d928907a8b562d80be362d31e72fdf10b294ef04ea0d667ce83e0c7d6025ba616b0fe3f35453add06c7bb546a7265821c0bbe00e440403c930a58978d7b7361d6d2596bfaaba8f015445595797263eafb66b45b0ab058cdbc34af7af42defc6bb71564faaf23c75797e5e8707586b8e49bf44b46b9da99e1a34d1b81d5d20b4628b96ad0ab7e5b6e2cfe515a272f8ec540e8b0cf1b3ca90554df903479d86f2bb19206f1202e67875514c35703c5644f010d8ebdfa1fb119522b090f04cf37f6e6c4e669533fc5ee6efccc8ca72385a9cfd3ad767779b07bfc8e19880430a6cca56c709a885201668e8ca170c724a8a86bdff69d2389f7f72dfca91aa82d1dc16a00bb8689f6250791a824e8d72f8f36308e449ba1285e925fd5c5c56746dc82550939de1edd52db15c86e71872b4500eefbc37d0ae13b981c49aeb79be273200d35a97605ad41bc35b51ab0972f4e2ae83ebc38483c434be4409aecc84c11ffca6e097554274d132af7a34f96668ebab87f5cec65aa2247a1a32b2b3c449da76d521ef2a5eeae28608d6e11372fb619c704af8e4559833d14c357355536f95d404709eaebf4ddf027044f79572ffc15758c643c531d3476b650b66bc62c32d4ab183f061fa6269fe0f3a738b728341222e19fab77d09d8ea92903d917fcff5baffc60db355900494109c430404fc85e90d9d0ed9203a56eac9c2531ff30d6f08083cdd58379789272ce422dc72024dcb2a3f7e39c1905c907b863e9012d3743f72e4533cd9c1fa3796b69a4a72d5ecba7b6241b60bb9ba8c1bb259f006492aa7f82f46ae29933661eb882d2367d6be300447096d88f318bca8f29d44b9ac01e59278826a7076b610d0f2629672365f004894cf0a87b142d581ea503e1d99c3d16686061bff1eee5dda0bec8872189d64a6104a33a2ec1056f7153ba84db827e09f9327e001bcde3b58bdd37d720813ad9e8f785281a0e4244e7d854febd9548da887709de994519ec6d7516d6d7565638bedbc7daafe582d5efb427edb3f87a65dd696b399b3cb7bdde40606553c84de1d24263a73587d81e2ba5e5a2076801a2f9b12f921304d8beecafbac724380baeb29cc5294138fe7d170a7ec396582c35fe274fd7e496e8bdccf7bde7206d65c2a6fd5fa10333a912f3c60eb5bc93631df7f403619120e2f726ae798720b31342f175808278d464e129eade39d9d28cc7414b4e27de217aa2d0dcd067283d230979d9ad1d700d98fa5c6f89e24e33cf2bbdb46452688225b6072da1f1e3d01e57182c0f708a201c61f8fddffaa311e36cd866cb847c930e819ad62b772f87e1cb4a988a08e4b51272391390a360dda1a1e49d7c246d511fd55cae6cc728f9d1ae85b9d376977319588ba952e48c95e603a2a6ace8c33a98c5686163f7210c0fb65266480f284f42bd1c5818e411cf5f9575562be53b265683c311a4671659fa669735b5b4f64dc9e5225928b69af8cac798952971d0a627afb5fe9f3727d5dbdb49e532fb429df4a8db1d025114685b25aa2256be1401138c35f22d772cf1c8f060c3de2535ea5f136ee13298ec18682559d92a365eca5e8e099c8254a9d4376b7293d105e7e5c8ebde1b56bc5f8ae85fc4e0afa101f4288b89f27921998218c5cce7e2af6aca1294b7851cdaf6e7d075ca5851f7362cb7323a29e7b72514e46021da3b88090fa07f73fd934627a8c64206c9738923797bd48ca36c8524ae76e082c0cded935e1e8a2e90960c017b50cc0c449d954b74e66270b71fb72bfc9502da0316115c438f0be4afa3c976dcbc2c4213b4be57ee2a7eb03110e5b3e46bcbd02a398c57f98a73544bf63e3fbdf556f70007646518a1d3c1374ed72f59c3b3cbce3858c59003d54236f25c989b8a10b30e5b2df23372f8d976f05723fda963c9805f328c342a322b6185a29ddfbf3dd2637e8e21d1c86f1d0b22672b22d22a7e45be0f0be1910b8ff7d61fb3cc3243fa7376ad53a13586a3f298801f253262f40645371e0aee48c129ba24abfdc2c11ac4dc061941d6490dd939e1e53ffa00986c4913c9572866f86c095c92d745823e7c4f3e8392238b64c63dd72364b9b2bd934580159b5f4791c3725ba75f4c2c6368de25f76094746e082e6128e58a31494e83da370cf4e8f55f4a19ecf6cd597626b3bc3114014d92f205a3b27da0ca97c7da0754992a5671fb858f3578dda3b294b03b9106cf173d1260c721d1b23d14d1549e4fab5510b042bf6c7f3465a8207afb54c318b776f10cf4e72a109b83ebde593510dc927215c180580034ec4a66ba0d7f4835d80ff117a52728a7bee12dca8404a267ed8cd2b7e410c9c4a5b73ff3226b92e85e486d13b9672d36642c599ab7fbde06ea0cf8556306445b13b24c471bd2712dbf09855a771722053d2d215b04b6466d39e18a63c157dc044083931964c8f459bf508a28b0872c6bde0b93cd12ac3c4e2025e147958161e5e8bbaf60fbb8ef461e6bbebe7d72f411f82a350c949fdc8e218357449228889e7b0649a4d511ad653ac5d2a076708c1dec093686a09504ce02d08420f5f111f7e8ca7ebf904d4754120615109ff372974b06ff57bf74651714ff2cafcdfdeff3d8368147a49e9fa8f4b239cc78e6cfada656fb73a2b10ac4812695cedfdf56f7b920367b9a2ddc2b0d3d9a4855a72368a2bf258289e1ed84ee4bd57857f2cf41961febb20146c68bc53ef2b91691d64d682d6ad185a48bef25aa1e61b93e61cdbf734a0c062a00681bec6ad178972789766bafd8d3672315da42753a4d803b4885a290763334533dcba9bd4349a5f7dd3792f8ead8f4aaf035cfdc7540888b6b3d920212cede8fbccb8affdec7747301ce9e72ffe78e26cef62a2659f1108a0fe762008f75a1122aa8d74d93bae720b80799032530254b8e53907749d3a5ddee6c080aa37f0e334fd33112f9d5972442f88b7cf61735a99e5e0bc00ab2cf3551f205490563ed18f27d805147ade72fd05b311f49610bb9883f2d789c06af381d8b901295b6ee0aedabf392d0bd17200b44c71b13a2f8e91403650fe23a8ca37cb2efd86710718e812e278c2d8941e0355c3e5a065b42d7c72d46edcda90ff8a08d69ad9ce9886b472a0dbe72e652ca2c7a60280f6e14c5bc047a99a86b90a6b2fcb0515361e58b1252504b5c36425e3f68d6d1d6c3467c0b20cdecb79abe1da0c40c064f66b4ffa45b227b64dd1720d1a18663694a2e3a79c23cbac9b4b7a5356a30d633319cd0b7d2fd1c3782272941f4c04bf7489787f3ccb6d59204bcfc309ed39b00f8582b314aaba9e686e7255b717dc66561b31dfe917108e2da0911d8c21158f53612d4edd3d118a3e2c72f6147b7eed64136ad681e02d3206c2281729b5a46dc70962939b66c1ae869372936b420de43343352cfab44e3f495d62bf6ec960cc1ab45fa5921b636cb96546f4f96468bbd8e3bea42eeb163c09b2b7a7e87ff25f24c8feadb6261cea420c2273972ca3188277ae0f3dc162f90e0b5399f255710546a0432f689cb6f68c69728d9fdff69dc2c0c5d12b5eed4d45ccbf074b2e4ac00a317f27304feebddce8720f9ece143cc52c35a96c0225c54ba05de9b2976927dc4683ff6882492a004d145805468604ffb8f7d8ce200006b34f170be4c3de982ca04d06c51cc1b009700b1526870bc9986ab312363640ccdeba24e88bb9495427dfbefb6a300a3e129b723e732b35a0707d5e8bf407e5872aeb96372093efcc798d4d26957937984b2c53babceb07515e00cb7a5a7dbed411bfea82fbfa50bac63b8b104593d65efd4b0f9b187a4711a4735fb0de69e0f76a4938b6b700a1a48f5a35e9e0bded1fa06c728d6e67e5c7ce84be7592a6bfc0599a6fe158968915ec6014dfcdff79671096721c9bc9abb94cc76bd0cbc0de5652c8c33662cbc022e4d5ba1fb4de4c03d60d72222e09831c8c1d2a52dbf0f23b6b80b29db6b069c5b1c1d1ef71496ba0571472ffe3c58f6610388456436f51c1f86e6229b4b009388ce01c28374b5da18411721ba07dec40418f2a43e74d7a10ebd74a33967ff35b8cdf649b2793634f7c36720681b7564d3cf12c579c7e315789a85558a78da90b7cf101a4516f09060dc465f804597843a562c27d403efef33f9ecb96a54afebc06ae3cd156cde19a6c58149cd9bb9117f2f8f30d134da8e194fbfe573f4c0298c724dc922f96cc2f3e88722c9fc5d8335c8786d4aaaa1612da1fcc2a7925b18035b8dde0e8c0758e8e6c2446289c5df211ff6ff2dd25b97d969238ec12e943b7e30400ac94dba765eaff72e8249c1fbf74157094fc95b937e5e396e943f30678e70da1293271513e3f6972e67bd26def521832afc5d494fb86c2debeb757abfc568e28e110c0ab4523357281b6aa945c4fb6fbcc39ccf5133f5c44741f789164c6c846dd6300694e9fd172defffdf9ba226ecb48e7bb8c4074319dd0ecd9bd79df7ac2dd18190d290cfd5b917f3d1dd1f58c2405bef433ac421bdf04ba349ba5c63a714eb72b154f8a2672b1c9b998dad768799f7aa13ceaacbbf2ac759484ea795d8577d6501f81a70335a4a17842481cfebd8b42e1e38ce925ae0c5821faa0e06bf06f981e01806745724ce8d2dae186f1c750ad72265645455f64642bef2273d00921f45d71f716bd72c698594b676d43dc24c1c6f62f803cdd2d46a52cbab19bdfab04979bfc77710ccb5be2220fb857272884f33355b795389abf09a5d667d8eed97f4d26c0db2f2a0d05dfbb8afb5fe75e96e1a74dc05c5e07e83fb54e7a572c247543862998eb721f5c6a10cf4422ee86e1116093f40eea34edfb694dffb555445ea59b33ea4c729249a02a8335d9916d72fb155fb7c8b29cf3bf872f79b624d55b8d880d7777723c2cae9f1614383aeddb37ab8ae09ae4dd3772e773496144c6785cefe02a8872d636c42852db16acaad50342ec9909b78b47f73cfb2d35b0828ce7c95819933c9d7cf653738575b48069bca7d47fd2b5d40e440d830f380305c34c8522ab60721f81678af77eea09c867d724fc93bce403e8b05377ba7ba517faf86945c2b7721c1f8282fc5728a1ab167f89da90c03a8daacd6175cbbdbf4b00c77c9137933287d48b4e48830545b5e88b90dd2e4d85b02e11efa8e2350506d859a1622258473b77ab0a760626e84b0cdb971f83301873d9981de8cfeffc61de22a6a3f1c172270d9055238a0888d58f0206f66fca3fa2e3fbed0bb837e50512375910781c0991383e79181cb0f0cb4fb19b464e8709ae622713b791416d2eac097afa3d1c555a9694278255654f082d01ad830e8e8658ffce539a39cd789617a31a71dedb6bc779f229bf46267ee511f5d20e4f35a4153664aa05d1573043701417d9d0e5720a7331054d7893f1ce1d9e6d864f52eae62d9fb8906184c92dbff69d078f2b415e413601c098f2bd5a37c96101025c412e27f29b107c82ccff0af9dfdc2461724b858bc5fbdfee3546a20b2050cbb9e3b58262a0826f4e0ca46a0777541e407261391c71e9166a98fe95d8230f58c23dcbf4829f3a9282c72686eb1a3546f84a8645c7a64f3d1713139741b746a1a499651644be52e00c69a8e6b8449efdec72289f2aa4094574255c480ad911abdfd6b2ca147d506aaee7ccba292e8e302b47eb028bb9416c60ee94c0ed493433da650d1e568c124d5ffbc52b8ef925691e72635e1cebd12ab2b68e4a5858c3fa639ee55ee00989927bb82c80194720f7ee10907b8cafa089c43cf50fd48201a43dd89757b127da52ab86fd74dec78db9b7062720cd4be64ea2cb6a6933975c339d447f78f2da5f5d3c38a3ae63d1376cda721e0d3c750c907d5c9bd732e6749f19e1c6b278a8339542e695dcf144b0dff154b5e6b8f61a0df86ba8534f276e17a2ed45c92f613412d2da28cb902a244eae729dbc62b5eb67c38bfd47c1a09b3923b647203ce81fe871a6850ad013a0a00072eb92946d6010af78a7b6ce85aaf184265cb60834413b953826da425cfd30271fa68e0f7925c2e57feed27958dfc45f692d7d538ed88898645f420dd501e1e47220f52dd8e2e9b7b7045cc7ce8d54ceaccea233982353620a40479081e27e001b84d23d9b8d9be0a57540bcc2795a321097c5a92e349bde316fb7afc646813572dd5e5e1642110cc1aa5bfe173d93e3f93183ff84f108b8f9488d5eddfa441972698318e9d760f5c77456bd5205ea05b6f4fa3e2ec1b71bdea19507cd28bce8559cdc1eccd190233df9a531fe187c7033e46fcd68c38e38cf5e6e6db111ab823703d197344c10c90c23ee731ce9d0b259a4a8a81751e9c27db7e42cfb3ef1f072f39db3284d16162451eb6d85095820992d1012e1f072735acd7295bf5f2b05727c6db6c18c7c062810aa3b263df5e4c1283e47ea152fadb4b2457f59fd0a42419e58799bc762635b1a50a68d71fcc40f512c4a28176848aacf1d69d25b96d672e7c22f0428c4ee9cd483a5a566b1227c2569341733a72f76e16d555b511ced46608c43e909e614d9d7f970b7ecc46b4d02b044b88cc6c16520b857823668af7293fa102f9fc4d6684c53d1b7ba79fac9bad846dfcf10f42e365dd8d1543cd67061edde6b17adfab0d696910e9b0f0018842be7bd3d936d7d5954a54175f4bc72aea62a02da1ac8c1bc0c8f379db0ff4d0fdb6f78bf16d907210b22393f6a9f1a91ba3669cae184a4425a6a6082fabd6b107338394da4cd629c930f0d0872b84039c91a38f3aeceb85287f487ef924d01874256e61c354cd5a32a735c4dea996e3995d51b9b3c005662f7252af9928750b05e93c34d793c7128ef9f9315da75728b02b4627a1af480631efeb7676f61728ebd182747b15fb9b6b99b282680d0726b1d2ba2929ed648255fef592b5437879fa9316b6a82d11a3c311ae9572b1b21a9ae050358bb9e13cc4c3b3bc1edf5999cef20fe5af3f3997fba88b75099811a20b42260b7631aef7df447d1af46090f984b58caf3971853e41587174475777243f070b5150211e402a9ed1e53c5a9e0b5fdcc21805f6516949a409041eccd72deb9cdf51e767d8aaf77c15b6e1d4471b41f7a546fbbbfdbf8ec27cd9bdb1e17fed1e73884f61e51d4678961a0766582f38f753fe14984cffd6e2da57520e1722bbb3118be6dd9a346b137df0094932dcf5fa0bab7a59f195196f29931fe21727b504953e679f7e4f784fd8c4ab441fbb8e168b1cdde8980075280d7a0686d72d9f393839688b93d03b31bf39c638964ebf3f71fc8dc4b378d5125f38c46843e1e0b9f1f116327d933d6c088a50065d89e87cc07292a84297108241ad02a192cc325abf5206923f5da74ddf1b49179c72c309b702f84a4482a70d72574fbdc494e0b3a8ad52910c9dde48ecc07b48846b44962f1b7107201d99b20ab308e7824094edf70b18c898fc5c610ea99ba5d5e9ee499ef2d0e5026c538786defcd9872e2dae71665b288a12d65e8341fd466361f5fc1ef3a9bf859e912709acf6f2f0261fa3289cd1bb87c366017922b1545a6367624a366cbd0603717ced44160293cc8e061852a2f59c9b437893f06c03d3d3b048a9f388fd2b8b5fa22dabba19572739a0c612499111e2e9b6bf5d1de5d54204fc7057e3577c9fdec24a486da61721f8663ffea9000be87d64c4b232d0b9083a75b27991d1b6ec886a2d8d0c0044fd2d418d149cb26011ace5d2d8fd35d0d29be2ad5b91127aacc05a76761fb2f5ac9054cb1a00c4b38e8fccbaac94ca1f62d34560e5fbf8a3db4b7cdd1ff5ffc3b13cf4427c4cbd6322b599d43fc89a43d07035f9bd25b5fb527023f00d3d88572f0c5c51e3510d370c51bac2095c3c860af7baf6aeb00debc194ad90dc643c2486fdeb0d00f24ce5edbdaa2a1f838fcebbe75f0e7eeb6002d94526230cd5e1d72115027bbf1aeb4b2e5b7d80df72e379e0b1e27fbff76fff282cc05928b9030724ecd9f46e1774e4d003735bfd81be619c806b377828a11b3526f3268cdba63729870164892a2ddbb1d155495561166f3576cd33fe51e5982089051ada078fd0f0a2e5705efb55b4f48ec70787a80b639f1c08c3db9e864c1ccfa2ef48672b50602c9f119ec85dd3df0561f84fd273fb27801c686e1e54e41a2c55b1464256d664fc83a17b512b8a5a56b5e2348df8f878a7427eafa3cb112dd9b983873bf9b72bd31353ce814a906ef676792d5e9d1e1278a582fe83add232bcbe83244fca87205570b44cccf158504fdebbb985331596a29919e1d7bd459a213720247df660650dea25419ede173f47ea6348c6edd929443eeb8d940d5da7d0e1a877896722d2d4bb186941ca418f73051da0921cb49eb4e1fc5e87a0819151a05cd7a2567727b2381464b770d42c9a17add0602799f03f5b44dcc07c7bfa487785a41d1430fcc9b5936d43844aafc551e001cdbf25d4c92cdd1688dd332347d3ee50eee957217219f9476d2ac1e323f3138f5f5de7798a1a8f0b3d7d983a11193c87781ff72179d7dd424582bcbfd071a8e5f41b0c4ee9498c08adfbd9d951330be984d69724297582465acef7560804494d5d3493296b4db1e5fe2b2b283822e963091bb721b7700f6d02b86c47fcd589491645190fcc76a409ac396e7348221fa51f84a72627ec1f0aae3aed89e8d71878967f938e775c6e8ee0c81d72a41424a756d0d28196cc90f6f86945e02e7aa5f161f54ddbbe692a38608c0d886abebd08de9d72a1c89f1716fe7ec9daff7b00470bc7cd99df382a383759b3e364328abc961b06436b10865fa78fc9ac8ce56c7bb63cd8eb19586ecd37a57f8c86149fb73b04e28a404a0efbfddb38efbb2d68ddef34886e492658bf8a3366782ea0250c02f380e6321cf2b4f4942344f6458d3d6f0e3ca38b4a39e4858d4ae3592c55a94c46472a5a7b02c24c6b157ed0616f7429fc0e4106706c07f6141dd079981411968cc72555b734cb623b821f2f1599305b6020ac06bf13d30c0855f70717a2bce00a67233de53e7933d86b9eb3e6024ffdc851ae66f4091ccfcf1e35d42297f054f1472eace6dbf01dd5bdfab52909d19fc2bc339d228c3ecdb9e64bca4e8669102a6722a8beaac7e06ae99fa90d37f70cf89fc87f743690cebaec219103c437fc49a72a83b6e30fc894655302af77bcf5737af11de1a80009c9c485fa3bf8e3b595372c7888cdfac7954ad318f096ac2c7bc1f6e873f31ce757df24b43bfa353be0b721c16c19b0554443f5e14c9de8956116170395749dd1c06d27b7dfd2143551f27912909484709229e8f934ef88eb491d0e3a5bc58801042e836b3f8f2fd369c723f6483baa0cb76174bfc0fbc920179b29ab8fb514d7ee3173a216925501b22646531936ca10ba7180547bf35cf989f3ab967ec3f840479317f5f10003581fc5792b3e8dcd3f9325d7e9b09eec822160d9ec527c2a9b2993d3ec0dc39786db82e0813e5d218dba58f2dff3746978bc4177a994a51eae81643f501182842eefa42e69e009753839b8293816e02f733191dadffbd44467cab62e2ac92ddb39b385ac0cb7c8fd5ea150ad8c4b44d7c08bd8e7d5b68bf1aa3f83a50fe9cb59853245453400b279796e1e00a217b996ad4958d94bb6e99a62cf52cabd388002352f85b7f3bb0f9ce6ccf8957beb82553db30673832003f542f71c88c501b4aba938b144c8d745546d64ce1d61e354c91e1bdfcf0ab7677125e9f5acd276ea7e4a0ce03121663420f39b8cab6536f29f1a94f77556dfa27a84ab65913cea81b2807f55ee725c87a51a8a848a0b0e187ef371340ae5ba2dcb561c594b33e2f5e7ce6591fb24f89e7a5941796de9a92e5d73ac2aac4a6aaeae5a7f76c2a9610d71495b434d12a29a4d58956b413097ee853cfec8b43281f452018b2a5488aa541ac5297724d5f86a06758661e426539d8a4d84486635a0b3f96515282b0c06bf9977e7e72191f0af0d82a0dccc215ee6a852f3ef2eabbdd489c203ea8a4048d2eeefde0723ea2c356f397fd4b82b6790719127e38a07653c8c3eeedd2d67074d5e7c7c372b6a6a67ba0d0e1ea29a23891008263cb6b6e71663fe46a99323461028c1fc7099254432f03679cc452f48b2134e9165bc3088ccaeb94a3ed9c326db82a03a756b233ac8741703c46c9786da2b0ab7ec24b99c5139aceaf44e6323afbb5ac35720a466412ae94e855979a4a505affad791a304ebc6287977bf286ade354f5e072122abdac4f59c46e085e2fb58ea6cfc206586357a8111391054bcda6d629da720eb67cebe802ba16da8f156a3cc4c483659d03d6847cd159fc6967cbd1c5d87219d1f2fe86bb6e1a43f1baea06ff6c275053fd2186f26b7d0a8c3564c2418472deee09be66e31e308d05d78c8b46e5f9c2f5355e3b50a7880bb95b0eeaf0f4333422bd88c0c3ae5a9348e4221c1277aeb787916983fa2facbab72133e48e90261c5672ad6eb2128bce9f5b7f8846d002f5c1f5b4c67f24cf291d617b370df872f28d0f85d970a3b8f0dec5aa9e1a349201512b13b16bb81463fe6edb965e4d724e7ffeaecaa3d2451205e63a5e8d4e9ffeab9cc23155ede52d57be0d3b23f7721a81e3c279ea758011cfaf0f7cc3adf7079137369508f1e8fcf436f80d33652bf9af4d9515fc5236e9815fba3502afb76f16dfed0fb612abb408a881dcb41220500dfe9b636ccf84eaf7a4676219b19f245276adb3f549f3891e2a7f0062532754ff7bd72989e92c53d9423c262d9973c467b6acdb384876753d5a74ff8c7f419943d91eea60d3b713163a91d8f56e8e36d0966fb945f8ac6cfd9e78643f4d722df0424f3020faeadadf5b05ac5cfb275c164899f3a26189d7ab7a3062ca3172ca67723bb35fc606fb3c22d5e997a0990cdc7ba58c9a1a15ad0294c250bf2372d766c8c354baac920a319894c2153699f8e4bf9420eb8d6b33b4443755dbec72a944423e148cf5e8cffc3b757719d9879f006b0ee32bffbd1255056c6050977287a72e9ef52939c2744cd551c20d379549877d761f2f05a0d87ef5825a94c6721c5510ce697609ab90e9b0c7843ef9256f1be8c2693e3d10697d300f4543e0720a2f644e4ce761e3c92d51d41d6a19b2221c615b21dc4ed946bff8577b92b672cb13fa6769536feded9de141e0110c07efb65a72a2a07dd00ae152b043fd6a72f6df88449dfb61348d64f2091cf7981df32c7f0857d9fbfa5e58213074f1580dcd8b85eeac5e47bb6f968ea24e2af2b18aac1ed6b18dfa2108a114fc0e1b785cace4756c6a0e2bd2473508a8a17d3a822024246a9ff9e91a6c943170ed4e632b165065149b55255fb985d6ae69a42fc7828fde1046eb768cb1b05527cf16a31448b4f5875afa483342bd88c6bf14b29d55e0ecc381204413db56a8e3a49e7f72c86cbc7993d572cb78f820558d7c0aa387d9b352875da0e11ac7e062435d3843c042e358964d05d33f981c01ac4904017f1702f7185ecac2cdaaba8fa91c5e5e0c9f549450d594ee17a1ff43ad7046c4b2f2b17f81b78350b850a25b8d8e2326f18d8f88218b1eb96cf447702f3346017750b38bc17ee4d91c206faff6bd77722480ce78bdd0a7905536471b16c2663ecc90198cb93925ec0a4935ac1d8f41724948ad4eef41f52d47a9bd10dc46efd9d09c400ff7ea8b1f0d0d4ad12745df6c444b81ec159c074bc2a6559dcc3161be101653c5ae77964cfd7cb33d4447d8729a7ff9d5378ba6e515e45190aef2adb4a1a7cca0e72bd5e00743dd80060c6f02f5b6eb8b444ea7e6fe700335313e817b5b164f3cad04abaf01218569a1da70240c7a7651145c2b91c1e8cd914dcb08e679fb1ac25cefad084298443bbc3068728ea7ad66010e29bf4c2a45a9a56dc3221e235d8d55fe7bd97a3c85f910dff672b4ae717d4d7b4f40ac66c9e42ee5e0ce5417bedc3e0858a659931ba462287b72162488ae7b0acd0ee89415c4bef1d25220291b799b06b8ff978abdf5ddf4a6723b64f45b9fd241b81fb971b13a6436a0e21628cbfd0aab6430afa65031f5a7009eb1201802c91aa2e1673da937497a322f567f7dfa4fb898276fb145f996ee72d20b7150b4b9079a34c1800adde036bc19da5bfcd73f7a27c1e7dad128d8301fbbcd26233ebe8a4ea71609408a7c8629d2299bffc1c3beff2dffa0c4c6015466ea4fb123f82b63071c2c8eb2e64e20fc02a866fb35bd223eb8b711c201eccf3a88d4741ff4d38fd89582eac4267b9ad81c04a55dafebaeba56efe5f1202ea57200b69f37a9f1d8f0d5a641da3291788b3fc1d88d3ec51b8b79e7b83cf72feb72e490325df9ecc5b7431d0b076fbdfb1bc7ddd4568eec40718703144a45cd663530d629ba8b8cfe284d6f6e67cdc0dda253e8f16a5c393166829af107a503ad72b92b53d826f55e62a3fa9252a92a884ea323927dcf13934b3ebdc7a093869072bcb01055955d0b55bc12bfaa79557c097f13c8fe0e057e20b35f4b431929f6726a540320a9910d0c46b3a91b8e9e54aff92afcccbe2904cbc8dcb957296d5b2ef15ea46d6c24e78e0ca48b95400a30b30302920a665a45628bc568a696d136721b3af7bc0218cf8bc21b04f7ef54b221de33f5e3dfed90f18f90b0832c13167203cacf0f7d567fb7e236d2b9854d36fe96fc87c6bdca5989c50e45e73691df144099698c35a8429b909bd9a62685d3455517f38562a1156aabe3606f28626e34ce8bc78d95ce4f95a2604ecdacf25710519b1fed803c2263d429150d0dc173107c0f7e6aefb8dfa68074dbb338b8053bdef1aa523cd8f8294608cf84bd155300eabd5c7b0fa85ee41f49161ac95a9ea0484e3b1d2990138b57953bc155ce1c72813b2bc7390e9e0e243371627ddb90ab27f693f71f36d06da3d2a73fb6751237010121f0c6b6af649ab5757d40f0bc76c56b1cdf670c9b6f9c3ec0a9d63c4e7242b95b8b752da27c1e10acc5d4784394a100a68d766aa5dd56a190d165df8a17db24288ac67870711957858521f6c35c1ef5a70cc328bd75922a89f6b01621725860c3ed18cf7a5de5876d5316ed8ff252eae42c0bf238464afbd0cc3ef7d133de7bed91b5a1330ddf61931a37ccc5fe4974b958221eb7a986f1bca9e74f1470a996302de9938cb2cb30a342e1f9e02ef0e42c5451ce896ace08249bdab9d072578fc0f817a3cdb4f831b386badaa9770d8859e2cedf7f1c9c94324ee776e972842f3b9fd7fd26451c20c2237e87ceecf4d5b7fb0fe941bb8e05151debe8c37293283f1f294434c60533c04a6cbb3c465831e8054de37d570909d041e620d94508811b900ffa2878b923823be40e48bdbc8290ecbbded5e2246459ad7e8f347255347bc8db8c9f99dfdb4dd6b8fbc937b21d0af126cb0ce61201a82562531b7298fc467ef8ec2d5648bbd9f781b99e995c06e137ed953261844f3630cc8d5971c2c180d0d1b918d602a03b000be5886dd35eccb7617ae793288418f169070915cec76ffc7f3bdf5f91b31ced4c6ec1dca342d3639df94bb73babded9a52f6372a0fa1a683653c8ddb536b07fb55078276a1f55b1046f9dd08261cd9e84573c72874a863c3ba2e4f12654dca8b2cde42558fcebfd8e1ec35b6e022cb3a53a2f2e7f233fbb18b221241124b6822765ad98480672d8adc6156236dd244644fc3272486b8763f30efec83a6acc1c1a8665cf51d7d9e38179940bb8888b7a8b719e72b31e58234c54f70164c7cbb6be7f0ea086d37b2b89fd7cd86c27bdbecfbcbb72843b04f1e2d829256a20336e3f4559fa3621e0b42a070aae2491b6b0a55561726ea0b55e2fa792e8736b7b46f013692b99b0e56341890ec08e0f13431e6eeb6e0b90ce9d7b61754714aef0fd34114b82f24a786b1101e6d227f7593fbb5ff3727717a82710f85dc2032d327d0278c4a70141db0e0cfb82b518ff2fd726b37e72ab2f282fab01c44a8ce687396d22d595cd2fe8545a2686a1a55f024522492572e92cbe8955e36f67126ada479ea8632d780601cc21d2b1ecba3b04b1524c23722f05beacb3c92c5764abad327017ccb8dac2f23fbd9e58ad879244733fb10a724d1519c35831d707630b880b511d6695e1d7f5cc86b5d0ed5852c4867dacb772ea227bf2779e9fc7d45465f9b1b4817eadfd7e4dc8838f4fe4e14f04b21b186005080f31e71f02b0299f1137f9cd3db0cf9c9c49507ba0bd0f942d9f5cbfd872f51a566d00e329837940667884de430e60507ad40b86004b1dfcb913430706029a665d536b6b196be8329da2ff0c2bd16ce15b71d2b67daad4a7e3e3d7895a086b0dc56a15ba352224f141764abec49df2451ebd4ce00fd24f980e5e272c583d5e2493b1919d539832d5bc714a3de8a9cd9e7277cea94169f240b3ec7b1dc172c9bb3741570475945fb3417b9a8245ccd6c45014f80e1862531bd4661955ac592a81c1a97bde9a44e41630a40810e1e17979828961298340addc126ba1b2fb72c0421e03a2fa596b15b22481a3a604664b2ecdfb197ac575a00fd18b7f17c3722639c998b2bd11dd9922244c388ef547cec2438da66aab987e3935d19321a372aa289771566ff83df4a620ca7cedd0ef5da02fbdb93ec2849a99ca08cdbb91720b09805f864276c7e8c3130f77ceaacffa24b690c2ac697210ea9bf78ebc9b7233df82b8875098393e0937626d5ce7bbd2956640d0f446630c03b74e03d8ec72558ce448d111efd09112ccc713717575e195c6344b6064c46923a3ac6fc5956055148cc313ece93328e8098c8af246c61a49c89c481bbdf726b6107b38021a726d8a7329a06fcef3d29e2a090b553cc4982f8c82d5a2781caf7398e38a7283333b4cc1c6d01bb93c14be881c11c03eddf2952d17f3bcbbdb21629525f53933727b40ab6f83ac4498305184964782fa56ab02224aa267c3779e91ac145cf15972a4a70fcdf1cbe438b2d445d772c5e38ecadaa6232d3287c9b37c70527340127247a6db8af470205905561939b99260973042b54c798c1ca786bda2e853a936497b50289c65b1bf0054c1a6a9056f7986b10fae3ca5f6e5cb9a6da712cd5ae90ad19c6cd87455a430fdcf73e23fc4a1f3f4c3bafb6cf50b611674385f12a41e36e576e5c3ef69a4c7c6231c87912183da1cd4a48d614b51b945d81977f15853726a9499e879fea8fe4c60e00d6218ace775e81bf341bb7ab218b8fafa71d581725a8fc2f04c13404e187e00e257a760367cfdcbc61edaf19a4d78df3ab6050472764f6555c1923fceb5c4b7feb29dc41293d16e3632aec6c8bf5f59a1adb63e72beb30744241bab050e04daf2a142336605c97ba6a63e6dfcb714cf19cf256b5674339a125035edb3adb600b28d609bee623ea3db2bfc4feeb2b19b4e57a852720d0b323eab3c73d61b30aad76928c4898e1dddc046202df76a90b153278df5724eb785471fe700ea933b505f26dc4589b56af82c998e033e743bd83eb430b172afa886a3ca163cdf7989e5c94aff19b2027fea49befebf890bcb257f69fc5c355c7663deb1ce4ad207a5e6599db784ce3a4b2bd613d7ae062a1f4ceb9364137259eb834332e28d1c659c3a383580036b8c91d1b1352b24a22ae7fafc6a913e36c111df962f3beeab89e0657357c778c4ce38efa6be40dd7ae67c45080f412b728cf80c595659fc6d884a32dfd181eda01c3a75c124009c76b1d70756f1b1e2725b327195f7426d24bc4261ec0dd03a955b7647259e6d78db5faf3ec563c2052b5e11bafb9872c6fbeaf5fadb38970e16a826855b49a8825ce60736ca1d681f7205402277bab7fa21580fcb15011755f23b581c181784b53d4143f2b534753672bdde342f1141db59c5608c4134ee2210959f8dbc44a7ec3092f2878a44590d1cc9883fc57b2e221e562e9447cf3796fa0d37d3ba6116c00946b6e5b2b14bab72ca0fdf9ba24b174bdd3efda94126fd2033e9fcf3ccf1434254592e42d1ef027297b2cdac011b442fca3bedc8f5266d24bd6dc0b9ae4d6ca445fdd8e55617fe728535e31bb22f30f029f8b578d8fe201dd0a2daee271f8c1a5bc75cbbb74aab597ac216370fe84f387aa971ebae0c797247f274b88172e46e31affc4f4e88c17294516008f2dfe113a76d135687199cabd3cf5d9c9952d451c22131cff48cbf72065260d301dfe51a4a11355b7a0af7ced29459828b33e5e7745cf616b09c39720ee24eb3de84b31a4058372872ce231868040e5e5059e36bdd183e8bbb311f720a7235dd11a1795628d3662c64958f9903ff85716a3bbfaa91c7db796c230a2cb4113d27dc844e73c04bd176986b8e98acc90965da622e78d087c06d832ab872188736ee083a0ea41676e0059c9a7794a8d675c91fe6d04eecb914f894489f7205f83ba0a5f87b4a244e177ddaa26a74a2748b907537dfeb78a24816cd8008720823a7a520119f5c787cd6792c09a83fbb2489545d87bfbebb8266cc10cd2d67c0746b9d16370d1bdbbf10399f1adab7e58878abc4eb1152ab833887d8b06c72b758f43acb0e21365026a63d570f2258f1f6361333aa33b0362ba39d4284d9721fbe78fd0dc583e8a4ede55dacf199b536670a1a89f8699b0d44e5c006d17d72227a6a91486bc63b5f99cd174259e1e86ee89a5ae4cd4b1c1298ccc5e8909c729d6049f71e20802aa8606a3830584ffa923fb8f705b6ea34e135f4378472b715a5f4ddeecaf872e4f475884e7a4ef0dd243ea6d0f03a205be2e6abaf51a78b6f7fd57d7f145fcea5211d2d452c4b747552ee0fef3ce17b8a7ad0a306be726872ec5a36bd8dd2075959936ea7e184a04a6c1d807845f2122a20b6c323eefa9872342fe5995259e4222e488b6bce66075c1c6ca18fd12f36a26566d54bdd66ed027baefad17f28163ce38ea3282ac85fdc6b4d6d0493c3b4703a1ab8221b880972e706f1e90307488356fb3a9f084dc051ffd9e12fb17dfd0ce022cc345dd95d72855e2ab081d4cf34e33e65c44b595152edeb760edebf2baba8d123c993fecc4fa92572eee68c06f38ec9d4d3e2be6534ca21e2034ae960f50ca391008968d5722e943f02fac4973a2d03ac9cec1a895909da2d88f363dd7f4b7c8ec73d73e528a822c83ae4a6ed9a707b6c0e0c286334d3ba084a0eab152911eb3154f2e90b52fe70e3c820cb38914583335eb742ff13c23a9e037bd0550313a0ead43519f572217c1bf003411e6f76834a553e1a0dec8bcc2fb10ab16ded49ab8fb83ca1b8726b64081ae76b77f69e645c1133dce0ee1508326f3ff5ae14b229d392a0ceed7265af5f3360200d42feb7267a2571c6937fad6a4581bee216bd9e8896cde34e7254a8feea085c836f8503de5b29ea5d317b884424cafd3bb3259a61fabaf7c02554b6152106933ead7fc944fb6c9f617c7de535ea8df44ca6f0e5754cbf7a7e727707c162112eb093e3d071c5a231966742e21429cba525b0b06ffe44a749ae72b3fad47146dad82fef07042bf19d95929b52e60768a48d5d6a9f9ba7a58d2d720ae905c7770117edb9c103b53056e13769b59ea224fefd13cf9d5691667af9359b12ce28440f4e8c2277997a2f0949212e0bcf0d7a5f407b2e622c17027e8f72bfc29161e9f2e55e27fb88ef27a32ac56ebd03e0af78711a5babaf9e1fc2e6724c251b502285ba5e7aee947519ea0eab640fab1540c0eddcf20d0d9aca57645947c8365a550101481ab445a17929249c36db86e85d2b65b33ebd4aeabee61d7254c63d0e8967a23157d8915231ea66b95341c22e5acee71ddfc71d76ccf26f307e3e9235382c02399a2a4a17c58d7af3b20c12fd14a1185223913b581d3f0972bcb8558d2f0668b8e2259ca9bd64de853e9f9a5874ed459ae30bf9fba96507063915c21de2418a79ead034f33e43a47a5cf84f404331f56045c08386a7137672e3e4d07aa91aeb316ac83147f6833adde1015b9db3aac1a62c6bb26ca66fa2729ad635f20faa36ecdfb0a9752dd9485ea0172514c5e9d1fe8b29c36fa1ebcb72e88cd68e56368f679fa3d26fcfc55f207ed9aa2da2863aa56b9d152bb9a71e721ee2f2a7d5235450b84773fed13601901395ace11960e9f38ffaaa042b672672f9764d0cac83bf07f8e5c59ea06a099f234ff9b25c88501f47122d90feb16172d040cb0157135d15ced736af40b27f4ad881891b5651f132b128224bce48e170bbbab87976922950f2e58a1e230d69df5fa61de5c8c6540202a08c44c9680a48cb06cb61d496e636d332125d1e9af23961ad8ee029d9e204aa9078c7be02657284c23a4f2d17c85525f64af4d75b48117a1034c48b463f77562041fcbf6d0c145907b9b9ce878c0e3b795c6bd30fa54d7e6209d8057d1e4972d716e0cf63ec72a2294309570f331bff5bdac4c8fccb0bd723e7c3d950b5a550d2f38833f05a72853a35b986a0eeb5e390b94c7ef2f81f0985b496161f3bab8f5fd9079284541a2e47ecdfa25308e973ac17ffc79ad486d7435f004111c306ae252c74cd0edb72e2261797f8d7c5da0afaf9d4afe2ffa08bd86c55db2022271149da9b1c66eb72202a86ee1d66b3b1eb8e661a61af35cc669de1ff29e6fc32a6ad5492cc9b1f72371df5a488eceaa13fe5dd41339efc3788a38372dbb5b3e1d5b10fff50bf2f375c162f3f08389069d4f5708e3bf35d58665bf5dbd4bef024566b009215136a720908611852d03d28d5c743f633e877bd3d8c5b29d85b46e5b6b0bf9ecf8218510b660f2af9a2186ec28e3a2673d0c0f958499b8fa976da469141db22f054e967127afd14efce2c082e43f2e194969b86b49b7e1c739a2df429b174bc4d6797726a7232985c2ec0e3baf9011ded0bd00f6bd58e435c33b36d54897b55740d1c47a5042a40f6db1451e13415646fcd5567deea629947c1c7c3855b0534ec788d72f44697390fabad85e3a6cd3eb628594be8fc81be8b0b83634955e3d3ace1ee2dfb590104df4dc9fa1d68af8f4cd371cc015578f832e3f6a18f1f4049384bfc0cb9170da2842a726313a3bd1b5505f97e92df8dc2480e0a6f69ccaf82b8438072692d47968dc4e6c92d847ec4e5008259ebda994f9498237f7d0937eebb62a14c8a8e9219a9c31f0d0d0c2bb8dafc0a96c308d81dc26bce42e0e5ceb247154872f41d2b2ce5ea5f730b0297a7d727d0d6cf5cc94aa5f5343575783172aa553c683b881230b86eed54a35386f3d304cbf32196985771b6f3834a876b7b7fd37772b89649ead7eb87dea004e799cdb5f2e79e328c184e75874473ceda55bcb66708597b5ea63b9ba9f8c9cf5cdc632401f4f58ac27d630ec7e7f128c67ea5cbc02ed7cbd67eaf6b3391b8a6b301981921d4ea31a873eea87f4873cd77ad019da2728a09d9559fe34ddb667bfc317278233109bed4e6069a382c501103e93c8960729b20f40fc35734d0d1625ec21c0e00ba60906d6e552407b4f3668ad2edc2557226574e025b230cd44bcf2c020e1ca8a428ee54e4dae2825341d6c4fb398c2a72f00d797dfc91c10558179b8830895a8a4b689477ad40bdf6911a4956f4108772949dad1d54614e2cf4a8dc1fdf2b696547e03882aa8797eb0182524d8ca94f577de5ba56a24cf4732020697b2b470d23a2aad4bf6240ae842f9fe9db0e00db726345f94015bb4c8e29caccfe2658aa1619edef39ee888d6e19ee65ab3c84f4727f6fd1e72bd3f4037f99935d32d1be7a33f2cd670499efa1c140ab079c157a72ed05ec8edf37d1110c61f370f1a59999ef3a7541e36cc6f634b2120d6e35317208920e7eb0d8eb411b21f8bfc24ab9accd5dc20712048bc692c34f5f18c6c772c18d2a21e37607122f0464c0c56df8fcab1cdd21f9edc14e287315122ce17049bae1fabf2d24078db5d7e5cd45060d09e9f066c2f5052f7890d4812d38c4ec727027ec9f73e7ca594a43bf8363eaa9b76cbd044179311da6476f24323ac8667240c02f1cf015ba1698c59fa3ff2ea492d9e17697f1b5f5accadda36304c3d932aea34246184ff2d753827422d327569e5bf47971b26362bcb8f4f998251d701ee6ed540b71db7ada882da828d61e51bed4d011b179a394327dffe4c8df6d931b306df81c6533f46e0f42ac23db7edbe727a7d375b9052c8e78c024c8c14782054e7c8d6328bac86951e7ede7ca28c437c1e768f5807959e0c22754deadfe4e352c45380c87df4fe625557053caf5f72e24892a5b0992b9333c53ded9d18de972f24aadcc0b4c9944be66466ac1b3a7c6d59e201cf7d00a68e52a41e5a79b8172bd90a8999897fceb67b1e8c909fcfc2e6d3855cc4fec0e2953034b369036a072b5f7ff1a04efeff09bcb3d5c626d2668237a27fae5c9bd00d3980d78d3b8a572534317f7479b348d25c26a6e6f76da09ea62586411d99cf0ea8b51e1fb9475727c655e11590383207fbeb3cf4901293874fe89516c0f18a29a9d3a09074eb472b1c06d7322a071e26abfa1f14216ca37cc1da29f5912fec358f47fd30bb739721ae727e0d6f31a22fe16c744d586f2b6ec298ea4b09f3454e6141b6ba107753a0ffaee1a1033a7b604310e6c574077f24d3cccb6734b8e4af30155e125e1c75139830f754571940e05e03ef60d5b37606c044ad064eecd74714bd3f92359fc72de5d9478bf0aa28072204d8a58de89af9f971a3e82554eed37e1a7b1db5aac26c10f72c926091b69ba8b49decf875723a779bab5b575170c02d9eeb79132b531c0e6d6412a496bb268302b8920daab0aec32935dd2c250178c89132b94ba6b5e7816d145e6431508e1f302cab5be0409f0cadb49394e71cce1d09bf0b23fc4725568742244716b63873b307648183651c5a5b08f8a3f09940726adece7afef727d17ffe12675d010ce91dd63aea9321b52f967db37a91414d422b8e77b9b1772522e64ddd9b3945d98908158402ebe4d6460860ceb454b43dbbfe35fc904767299e4b13139cec9ab7710703015c896a5db2430e1540e99614b37fb1c60b42362f84d0783cb6e237e941c54f3e3f4862a7dd17ff2d49d5c0273792360a5b93d72d9a00896dcb30a8154dc42412b9c08ea84f49a060baf4fa21a28456aeb718172e3da0ac4f9dc252cf14da099b2dd11acfa63fbb9c335d0c2f6e29ac03150f26516b266d380363369e6d292224f02b8fb634d6145c62ca309d2bb6ef3fa288730cf3bf94bcb42a013de017ff987f69db3d1e423a7b9a88ae4b215e299baa290441c59c3feb39ca37f598f3ba5101c43c628dc8e47b9dbbf50a70409f9046007723216ec764aa1bf25bdd3d47cebf449ec16847edd1c3c497688f0682e190b810d48a871892cfbcce9635f5fc13fa4c2bfd7dff63ab7a06bd52c599c1db8ad2419ce04c36e51bcd687f6a3b3cee54cce80cd4b7a2d0a528d3916d3006f3dd26264d0904fdc570fbb7ae6f6ae49edd48ad427535bdd473122b3256638dd5fe4c446e9f4c0349ade757b05a865bc0f512b7624988569d18a70a60d982b9ead19a6320cc1026380ff594445ad07bbeea361802dbb62f0b6eb4346875be647ff20e97226e9653d96df88ba91cd6d85566e6da31ca83e42f50452d4b997fd5ebc933772f951458f681a8cc14e7e1415bccf4391aab83b19c3db98d26df4b78de882452ce1cf15db0f25d20e67f7ff232a3a1ed6438e090f58697fc1b0e52d3cdbf66872411600dd168958bec9e7edf4f9975627312339a1fedc0302b31060c64f35840638f6e03e0b5976ac4fa2d94340a9e6be3bda5a3b0c03015424c814b0d6c22a72972f52371e6360af22b763cced894c37cde83b6f1bd22dc037b61df33834033b420834e83b12111b9afeb1dcd7f90f890a46a60b01f2487664fb150934164046b9bd5f42411a109ff55008eda81759d42d56356ae4a19fe5ba2f0b0b94687b72057f5accd75ac8fa786db2ced137e175ef2087ac4ee4fa0f6558b0f272e4a572036d2686c2258d0858706908dc3c0564b87e558ffe787d1548100fbbb475d213970b31fe92199ac2c48fde6020b2e1c5044fea3753eb334f168820ea92eb36726e77c3182fca7de322f72737c70628d5dd4d9a205d666b8ebad436728f6efc1c2589600bb59e6c4f54f17d8257027f2e52fffc57b394abd0018523b65015ea7229559daee3ef7ad6389bb1c38bfaf781beb7b631b994b031d72128cd69897850e8ebbff4653361ee49ea3ae29b879d7aff1426a00424a703e5ae4faceb82d272f506bac1228fd4cddcffe30ca6e28700ea07f0733412e4c8a7c1ea02a30139502383d8be1cae1660c3a8945dafac805199626667f407f9ff3f5f27a0b27e807252a87e678a26665e7adc37ab3598e4169a211f281ffee81de921bfd35e5b9f6318745fd401998f65b1712c6dc10634deb17deadd32231095987f8f7e16ec55721d2cb456e46b16e5e3b8d22dac5f7caf2a77c5746abcdcdb315e170dcc79c47288b0c875a7ae87504fbe638f1d9f1f03288be294d728fe1d22016ff80a0a253b74e9af684dfc0929733a3fffe8c94f1ea78d79b927af040ba61f735ff16309728f20aadacf87f491b8679cf51bf825a34a2d70da0cef985701539635db5df472b881e0d90d90762691aa2ec8fe346f7dedcd01a3ec76a7990777086c9e7ce76c924371f6d85969109c2b5c4f2dec3d20c710e07be1b489190df2f4b5887def7259d4a8089a6af9a5557531307bee775ab6b80da6f20bdb069a81a35f8be0da2636f2c94de3959fa372b9ef1afedc47b2d68d1d8675d3d50615f2b2ae6e76bc725af13cfa507ed060eb7a39f2c3719d888883100a8a80dacd52525746c96bf27206075d6183906a4c91468f43768f7d98792eab620bff7aa7e68e237fcecb983b466bedac133d2a62e48e9388124ad7b6ebd6d0f9c6f16e823b5cb99f6946ea72e8a17318e96e2e328aeb980575932243804ca588df7e6daacf7977faa36223482fdc77e80d12f1f86069248cd09c863c36cd9fb973d898b55e91c79e530b6d445d2ac072f6112f4a73c52a6a6f10f8e4f8a703d1baa871502fa076b8759e0519946982bd0be5ba1d8b1f460230d6300c8cd6a70825562aaf64b929f72350c1727907ea96b24c95827fc733389aec4651a063f2762c759e267e1e3c98d803c87288a58349a7ee203bc077f4ca2bab190cc1d21553c598bb28a9680afb07b74f4f3b7af139e94c6973ea993ad4bc2e01555350cca14352fd09b6fb439915f01d3a296b5a8a552bded641b9dfb50a451ca0821f6ce8b696f097b33a68976846f572124961e1d963f687b02cf744f06bbe284c9e348f43e158bab5f7f378dcaf6272ed6bc11f3763e3a25c28956ccf21f734c84984bcb77909b1e5dfda824bf09872547309307a4817a9eeda41fff05eecccc5d8d8042a1f2ad4858e892fcd49b8450ad3ba730039b644f8edc17de129bb0eda9b213c56a7a964dd4f95d9789d40724dcdb189c855e6f8a791509455ff16cf560ca5c896e8d5a738ed514602e23a47873d4efc34a9eefef07feed282c5fdc6e1f0fc1c07c2faf5e54e9ce111185072e5d3aee34743917db48291482e84e040b8caa110ea194c593b078d1974708d727aef45127dd9e16c5b46e53fa7680e01f7353c21a90bb0bef670bf0a1de449726b7324c35b7bacab98f2c656f9f1aaa7d107fdf9aa09b54404731420eb8c0a38e86e951f973dbddd3e16d249a8235ee311c5cb84a3ef10f4d1befe0b7c6f6a720da815982f7c03c7a991fa8383fb4d470f525f6659f497f938295b5884e60a7288d374f4462640ad0df4be70ac35f5d0e65dc57d30f48b972ae6d4f62bf1ee7228e784af4778e6ae66cfaac14dd30442bc2ecc2d4c55b23d44a106403605fb72988868bfa4acdaedc17e6ee7519d462e41dc02603ce723e519a464e2e1d4ad72f78b235fba13bc74c8138a1bf3c73a4064a197ae2da0532af473803982eb412519fb344422525fd37bb7cbd70087e37960f60b17f660ce27221b49553572a94194c030c8fcda7f291aed348138edfb1fa210076fae843662762ed2fcb002b372ff678ef7f46e045a6850fd78ea9f2f0bafcc1f79494f5c76a916d318c703a32cf5db50b56060a0b3795acb0a41579aea889ab5901341b6fd3c2d968360a9065f37de2cdeff20b14a45a248f8e950a2cec05a09dd4ac6175bfbba3409df2abd721cc7901b8934754f66a8cf5078d1f6ada9e9b1a5860532f626d4d1ac90d25c0bfe1219252f4e057ca85f0edc07f55d963b6b3489cb82daf563703cf1796a877220af7b60127adfb4d32ca7bc078583e7e48536c63768a8b1252684dade27800a1d63ae85c67a56fe3bbbec51776fe1de5822ad3a1f8d5df812b20c5a5f3d70727e4420ca512d098cc523786cdccccdac769103b2b1a5bedaf99657bba047d872f2240414689658b7c97040ce97ea588b706c711eabc30c94a399d646418a447293fe2015084d41c41108bbd1a4296f81a3d45b516406d1b07dab23da97c9175500112bc8a25dc17d510cf143f7d6297d33bacee43865653579f9d75a330d722752dc919546d8aa31683f655aa6a52df20429a402f3718e9e8cde1e06c172f253fa052e2d3d071466ed3d836c4f650fceb95bc89627330d0b8038aec20046c81384972618aa23c5addae9b5767047a09b2bb58be0f5da37b8b6fb94bb5e7b8572af21c79e7e5d5a0b679d677e0a7c14f95da4bf7e4a30040fe2995d150478707208aea31c76c94eefd723ec5613ee6e2ee49c59c0819587b3d63f7b6b4fa1be5fe0b9c24d83ab408037c829227cd69a10656e1c24c3087249fa2b9d516a9063003a4fb6831a2fc7a610e5429a0816afd0425e8b0f66bbfa6eafbec1d3532ade2b4b6c503ada4fbd30e65bf264370cd2646c5827cb71640326df6b55231391ed1a79e7dd1447b0b929315eb5484e54ab70dc76db616b3f5bb3a4ea1dd9edce310353d3eaf4d2b178c0c91bfabc69f5b9311e42dea8c9ee40e2a7d27a6973b5e6720b493d37008d1ca23a07f7a2b7a01fff460ebb7d0b5340e7c6b5ca501187b5729be0b6a4d762c317a549ef9cc99053dd190ec3da555ca392aa9aa0fb77093572cbed338eba367a71c910aa4a94c370a506f0efad5ae06360422c7746dce76c52e83d81410eb386bd7777e1ceb845c0f8aeb420ef406da64ed7e441fbe797bb723c65fba82a8f2d18ea3f928dc93f5ba20adaeb0d37b15c8980687249d625a4721e8f2fee38c23154750dc4a5c864ddcc187a29f26b548338289d1dd6887a4472cd1c683aa7c3ab806416d05def0c2170c9430f074f7d6f9a31070c7b6c8af6721041562fcf8f2d23bb39582863fdc17dcf3625334cbba449b28f6fed768f675550a40f6f67a3c1078abbb5e63ce783f4dc5b9702fe1eacc9dbb78864ecaefa726b2341c9b95a2443600619932e1592a1f06dd2a32f980e90a56a0d8c0e4bef204ddc69457e059ef99534365c6b50734a2cd90acf09362505f15785f8ea59d07271838cb072ebad8b2207b7a51ec77097a2317965bd41ddf1f7496ea077315814dd653af46ff690b66e44ae9fc2167f77da87cdfa9259449d59d984b6e0e87d729d12434769527e142fcce8a74dc57b28b10ea387e05f0059c24ae915a4347eba0200005924513516a5993435ec4a240610304aca7d4acf1f2de5ce6812a8c43610c6e67280ee9a65f702a3cc50acf7449944b13ed977599b268a29fa6ada0c99efd9a67266e57ad343d262e13afb098cfaac153fba3252b9763a70e14dadd22f29e53044dd93cef0fb0f131e3be76ec5628afd2957181b6c8b78066203dd29db82d2156c35441f47e70d26a1b506c8dd3e0481de2adf25ee4485e568b148040b4cb299727540978b07ec683e85211c0439131eafa07d29489324ab9698e8e27b6a6f3172250dd8c2350c53457446e1571ab4fae3ac6cb2cc4468bacf0027c1dbba004d72c620790062286574d055bd9ab1ea0bfc25eb6af5e2f3ea0c878ce40de754fb250afb5a4ed84b5cd766a514ad2a82afe36309645b732cd204a2933beb65d5d709814a798f04e54e0384e051b028f5a3ed1baf3b328d82769707e413fb4a4b646e3fba53f2e25876031a60cbce36931e08b6283b09e41a6f39ee9546dc25eec50f68c4d95229d76c6cca1938cb5fbfa57f6a789be5a1a924d6aedb9dd9b7a63872fb5fe02d4333ef8147b95551155c1f378eeff6a9af9318598acd3028f0281333a1ba3a5df172b07c99c5983f17d90326a151f5eb8e3f3554dd02e10b25f5b57289ad475ed7fabc0d61c8f5ccd1c2e035a783dc6816aed19d067215535c53313dc753f77aff1f0928869b12797412112862b509370a67fbe424f5ca994f8fc3728a6e707ba21e70ae82e3d8982a947dc21cba854cd4ca792d17a70dd166717100bbe018683af26defdbcbd3be9197206372cc8a167b826d86d492c2e93c025d30ce9d6b9e79fc1cdf492ac094850b75c0b9026bcbed82ed19d747304d707218727a7d2e001bc902afc8ec56efdd409b6fec56339f181a42678654e9a0df3eb242b9663ef0acbe9bbadb90ed0870b00323c3cb46dce2978721a907eea164e1b672d1e931029f9358ac070606c598f7cf402317e536d1be9b883d7142aee4563a1cfb704435aaf30f5e7ef57d8af8b13d53a517be4f671726b7c72f7325a668603d8f12542a4bf63e4c906449c9638140ad8af33740e2e582de5e3bb10642a02072114ae65c25c3c2b503c9764f484b6b3f7e38e283a29fb014841ffe5233113a158e4da93cba897b604c33a03e376760280f0a16282ccb028766628a8fe40dbe726fe47565510841d277da2de6649ae865106d181d77a4f7e922a2ccf9588d8672ad718bfb91588e2a782b8484e48b0e0a345c0b4e750c454ecc96a4e0e8769d725f5006bfa07b568758bdea6d7ec7ca53426a97628467c6386879dfdae4eef7364647fcd4fe61f587663c7ed2cdf75be62a93810d0239dc17edc05d83a94ceb72da1577fbeacac8fe685ae7f3f90a7421036f7b269aae1b685c0188b9293cf572dbc84f3012a4432610ec17616e74ca85c1610f3231391fe0eb1788d2fb30037249316359b35c330a2a3bb2a77df44d8d2a320be864880354ff6e428eb3b4c672847786364eded4ca5d994f4e75430d270847b53b1cf8f311223c89e0d3f2aa72c95ffc90b319f86b7c33055e2bf84fc6f239905d588d540874fed3a3d6f106723a1d345b72b28d99ccdc74fd530b15eb4af0a9407f6e9f05f64087d94647f12033fba24928fdc5d7103624647a0dc434c2f6ee38d3002cb892fdf5de725387722406b53ef1a1a7a353e6ff5c581e79cef6b77762add50f322c5aec1d650a16727a564c8b62927ff5e73ef69169dc94119546e8779b5bdd0dd52c77203fdaba72adb1fd0a28aab40cbc507c511ea8d76fda4ca3473627504d005fd0e3f48da743298d50f3386b9abb03ad41d6ea8e6c12bef20476ae676c77fd61451242347a6a22dbbded72fa5996eb3b7e8a08c019936812d76ccd7d25e0144833303a9f053d6eabcaa9074617440b92c9fc2eb15ec1af750ba58452fa6604d24beb1a4eb857936a5a0a1ec3d852d586665af48b4cd9a566e2b1c213434d1a09fa773222b272cc0c74e63e4cfa76ac6f140d7fa2a336f8274b7feba676a60195eb1dd711c65170ea9bd38968210b3d8c9571328ac4836472ddc489df6465e6cbc13d15cc1a0e309944357c9750d4631ebe753b0504273d229bec03e0d6880ab7f5f49238273eea5dfea6232b0f4bee6c0e297ef7ba7b0a0d270f22a7818e85367fdd27aed972177197522635f37d5ff74364fb1933cd8a3311c6434f46572a8edac65c75b572e11b9427af358d74a7e2b6897497aaad82d75323c4fc8268dcaf8aa1f0b1e445ed798c4965031a6e6a153b394496843cf305f7a69595fb6b83cbc56ac3048d391a8c4e6b729759287b2c54d697948443bf75c19af126eaba35d4c2f9767351723102bc71cb426688392a82b8a66394fa92786369e8beb4486f64d0606446c772f75ee83dddd5f8246764808a39ba55fde7d8760d3fac13ec089db71e07e51f16cf83a8811aaa9eca5bc812a311a6f223577c6fb9c6efe672e5ddc734236b58171057dc07c425300cad5dfcf98fc37db179a89f67b8763eac043e8ad52e9c996dfd5b380ad50cb76cfd888239c1f5675342fb496fc145267659178d68f76ebc4aaa7ff43e0511c42c83f22dbcb2cd322cc2f6a49f0293ee16c0825d6e23e6f5498843635f435f3839d3cd5a83ee7efd43ec3b45c100c7eaf950c3870fa9053872a1e27d07d2808a14ca03dfaa07d42091d7ae5ca6cc469fc55da935ed8dd373729fb70c80a334d8710d31ff1187691a198167f32b9ed0d080f41350b2a5925472adbc80541d8e93e4242e3b3eeb6895eb9ce25813a9735c1af6b01cb7079bcd72a9f94ad3e87b2db91626f0a9cc3999017ab641bd82924ae83a3b8b2a1c0cfa727a28c84abecce99357bbb11252db432aa7c1f3338bf8b745ea66d61421ff5172786a6014f787095c1414c4fb8345a6b0fb81915a6260f905e626e94145078d1a8577bf99bb14fc45f7de6aa19ff9dbd9afffc842903e0f432eb52edd00149172a5edf7757864b772d706912f41cb870e4613808795eaa6d618baf64ed5dfdf72bd34f8bce15c1a43495c9fb5ea27060cca281e0d8689923669737d5c0241d7727fb20374f54e96b0726c592569499406ce7ec6bd8a96a11b3f32171a4073d05b45117ecfeea1cfe7257db409245d60bb7f75ff37180f714b24b47c304d42690c2dc3bab37ffe4d007c2fb5d6b131c7126cff4ab83d9f28182b1ce09593f2ee5a42cfc8e35a5c6a091367f6375fe91787993a344dc587e0f5945100e99c582672641d45964ba5da9e8c59ca39b43d6d49ff3bcf0492e9459780aa3de9999fcf72a7fccb458c741f3f3f16e9b649df1da61e960397c39ccbdfca52451223e57f0431882d4c1073e350928f650610f578e1cf5109bce7877a81d80cf1f9c0f33772caac7794b7692b2edc69a27ad0849c87201db252de6c94b6910130a89bde842e734595acb53ab5ba4f03cef1fd5c9274118356e02efa8dc3ad5065a103a198117af72f735a8428c9f53d32040f8e9a8b9cbe5e504c12d03d01b30472fc5c5872a52571093e38ed0e6f9df24f3c9bf71bb25a76ca33cac783395947b3df1f387297146d25fe6f1d155de736e886e9a437ef6d9f5cc2c24f46f471c229c57bfb0745b712a6d742c5bcbeb68996457a8b4aa8309130bd49cfe080486edb822f0f3208c8fabfc010d2f0e70d8e261ca748921afb13129b8afac14a3ec45f5d8e2554fbf0f10981f8d49ac2872cc3f3e4a4cdb4e9a66013850c8ba190c59e19a99a19e0941f111007aa44c7ec22c7b3127cbe873227698d5bd641113d8e2daa280c5500190867b5749c8451a40428b34f2df6f9f7d5c29a26258845b263f1f1981c7273f8e99ee040a859c54bef8e3992e68f5def16185a4ca7f33597a2b3edbf2072e0e5d354d1b7d1fdd9692919acb0b575791e7d9358033c78154f4f98da614e11b32256c7033234a5f0cbc5a83d2263cf81a82b96b9c53c2ce5e91909adaaf372e55afec079a88882f1b5eb13ec668fcceafc11b3d0a3534c6b596322592ea872f3483115a07f6777771f385e0344997b7a8211e649846a9619d5d197c6fcc1726076b4d690338f167048c29cc8af2291406bbbfbbe17840329b5640ec9e37a1c82b27e79f3769ba2df5535da6ee73892389d6a4d6a0395c1821df270583386724ca75a97cb753eef1266b5c286421fcea689116bb132ec8768f53522fa23b034f0778d9063facf07e406892d40027ca6e78f846dba9b4e01dc82d09dc1c229196f0ba800e7e8bc988f59766d44414b92ee39cae8ef48eb841331c011f6f57672afb696ab4ec33adb05eb98390f3650d2bfb902c4ed02f2a9ebf7d730ada5fc6030546416f1839b7fee4c8230397e0b7168caa7d4c86f094e4c5d50f2618abb4d2ee2f4da128a01f88b013b7f984c65df0fb8371a127e6066f16dc289e0fc42727cb302b1fbcda4273079ee70aa443ab4c5339ea4aae1b6cc49dce72a86205972626009e5b5e714d558e79707e77f5272560ff2d242e80ee5f091c5eae1b3b672daebfe45dd761f0dff13ec1cb0d81dadb5c7011770f18759c7ebb0d1fc9c373e952c43f7da255f24d4fb2374910cc44c0b2ce79389dbba3e16527b14215f7d720c1f8fedf86ef5720f5ebddbc745f47782a3fb557d2523796bc7db47a7ed50721aa0201b12a062e6219a9db78d9cfb3b45d3b9520bfbbb4f1c22177ea27bb24686ae062e85d7afd0024bd3c6dcce22df6a41e54104206d223d459757e6d81d72a0f77ed1659e36fc1eb9c2d2623a25aea6d2d48728b951c9a49fd705ac79ea060675472d46cf779c70f0438766b182e8f76921fce17571811121f247d4a254721e849272579334d6bc8350c9cb6008e1edb0533488df725bd5d54faed95acf727c9d9a73e7a3922a701dbc18d5966aa77c7ac63648bea61a16d5446f5befff722b603d03f28c186c8c61e9674014e11b0321e8d44bdee2e5ca61e6945a98b3725dc4591ecd5f3533002174bea028cf8e446f9b6a0ea2f4e922cd980e4cd0a3727a06736e091df48d36fe1ab1e27d5b621f1f1d8244a4d4ebe845977c3da8157203b50ba3881aaea076683208d06b67d275aef19b4041b9579d82c14291ba0c2e442e77ef42a723a6a9dc0020c16e024e47db12461889a3cea863100082f5f65af70886ca7c4339b9f339925cd17d4e0ef14afe71e21b2f2ccd5977f068c69340cc56c359700a361ea287c6ba198f31e45b88ec3360deed3ccaabaca21c6e07725207ab8149709f23d43f135e14e43cdc9576217319bf55eb8e5eacd8d6f81b17a94026dc2c24daaa6695e86833b11c973244d261492819173971068310d3b572b7894a193ad5730b03dc2fffc37b1cb1cc19a5dde2314ff30d058274a1f46732d11e58d6a66db0f269614c77a1f5999b7f9fafd4ad1d19c8fa45ebc6c0cec10b8ffffd848ed3a6e9485b6e7f82289585af82b913bb146fbab041d086e3b5723d7872acb52b3a6736babb5a73e0c8dba54ce1a70638f17a23b21372815fe3be34c9bfeb7b2b03e97eeded3ada32ca0a5c72dcfe29a4c1f0a5ace3a6c102c12506b3d0ae573b3dea10fad468876746a238339203613d10ec8e67a085a02bda56727238d3432d6a181e453159cb1e72f5d6fbe8ef14589df6637bc632e149d24872587d6aca3fe90b45c0efc427c246c8e1acee4e4ef5ccf9ac911754ee2cbbda7290ac286cafbcb708eb0bae61508949aa324cf5d4e03af8d3b93c76581651d072a4d2bbdcaf8bb18fb95e4321362b18de55d9b7f5b7f9514c74c2c2cc4eead200359427df838f9a0eab4d0bbd634315e7b2aa1861749636787489c8a33ce93025bf610cbd72d9d0e9601494dcb04b4f19387cc902aee877203660c3c5ac433333a77f087c13b7539ae84c001065e13ba2a66f4dc0090efb7f36a53644073f8972a24264076dcfe5eadddb01e2ee7d3061436a179c0d3c0e6499bf812731fd7c72015ced1b45c366b6725887df1ab84c9fad5afb0582b04bac456e658a8c7acc722ec1497685f5f988e8f3d1691a3824b1260693a5594690313a217371ccd39072a0730d5272a1f2298001bb61fe0d8aac92e1d19727123ac2a07209b16d973370d7d9af34d31268635a2cd42ac660974730bd06a87863fe2fa9278c14acff9b72ad08be97c63b500f5739639b4b7a5f97ef4b20527f7696ee1ded8e1a66897f72bdddbb3c326fdfe413df49eb735faddb50ed64994b058f6a685d992b9c3ffa725dfe2441af65ac4f19ff55a2ab52b3099142c1cab5f14b5a06e578cd7b002d7201654cb5f54b7fdbbfcd4054b2fae7c905ac16d6235ded745283f3315cf0927250466c6db94bfd6c6be0fddfec6199c6f6b094f71728c230c9898ebca94dae721a4cec99f96b2b035d367e361127cba2465bba0ac861d064de863895de37bf704151171dad2633477c58a39779c76f65ba423d82917cc0de7d5724eff9aa0f5e98430526fd8769c3a3c231442332adfbb096d6203f6feb88760467d433819d72256166a67ddd19ec9d0cc587d93c754b5af24ab60014d2a618adb9a69ea50072df319d78cdf8962aac6317bd889a1dd3c671c981021aedbfbed36e846e4cb341fec5879af418e6b12efe861fa73e643c65e2bff56433239e870ceadc060b6e726d8076e87a7986e9ffd15b8673673e7a973a727a7291b0891b65a9ea1c206b72bf9934b02cbdcdaa40284aa6c1311b4d868d69f0206b81c32ab61ecfda123b72ab77856535a8f59cc4dc401625d7c38123fa1e7b6eb9a87fe42b06d5005897489a2e223b13e9c8ece3929fc59867dcb892b4096baebaed472c180efaece46d30f2baf80adfb3551de323ad1a7b7d961f1f6e253892543a3808e183e27348a7722132f61922719e576d7ef54acc3098d7b2de95c6aefad98722edb2d880d346720d959da600ec7b08523910c364da89d4b2243c070e7ba08962075f2752c64a0eaa60f9d30a06cf33acf22f20afe6980bd5d69902305e1ab67a56599f26f63a72486ee4bb8b9e1347ce1f08985c5312bf5e9d6530813e7f75218b83da7b5fb372b8441d2bb07a9276c42b0b01a44bb68e87e7f398970f75142700aa7a3d400872bf319d0070513b4288df7de94e4a63350b597e67e92afa4ec5cdb62fe32f5972ea09641118e487def48b4d21fd7f78eab84ca6b6d81ae188d4af2bdc503f053c5fb5d95da4f828a703e3570b8b37664831f069190d4557e1f6cd019b59607869910596c5be02a2ce755bde9be69d61ea7ea3376adaaa8d9683178be3df186047cecc167b432961187175cff33d9b1aee69bf4963a598e6b5e9e2126bf82a1172a9c5bc0ab28d5a861de0eded8388d4389123bab3b7fccd59d4c0d6d060d0e5722eeba0e94194e6fa072f6593163b0e658177907d098aa13b7a6f1d5968a68a37b6b705b2db28b514565f0f3d89ba3da1731b29ed15a4509b55ddc8db7620664e10608f05d71c0bd95f9106cda5b185096d8ff8bca4f51b9aefc41971da07da723258d18b6f7c5f298e82c045a79d9772de097d8fc96233bbea5bf23d2a69c772448f75351a322e1956a1c12dd15ef2014f42da4181cd3e752e8932f306b58272cb9cb186a2ca2dfdb97ae01f781bb4e1b91ffafd2c8b41aa8ad66a3b57ec37573841d6cd4a222f4f877a2ed00f27a014727c19f0f8409b7811127180230e8e43d52de4009f127080dbc92f424ef0be7998657fc542139e5c9dfce42d2b23d3722d4365cf447ff4f8fd9377ead911ece600dbf1f80f38cf161610152faf9889726d8de8757fdb186c3bf918179858b02090e31d57fc2b659d3b900a34ff803f72f9be49e72dbeba9a3ebb9ce5754b05f7b6865d16ff06ca5b976a9a4b6dbeac728b0c8c5c5dfa2b618a6706c3ab717e14a5f01c4cfe9179f626fc587a40f8547260a7124b11b1ece395535541eac911b8ac667c54159797b8f508baba604651051cf2270a3172421c52832d36622fddc1e12c8d6c999436b0856e0a8cf0bc1f72191986aac6e572cdd7ebfd4d3db3ce419f2865c6d5452c0f7cdfd165771a4266b26bfea37f7cc1d72e397fda78b8611321e5556623c92aeb97c7f64ef8669d72b98df31f0a4b9d419b50ca3e7bdafdcfab9bb843bdf9f534a0a61d28d5c7096c51d253beadc5b82fa129d7212ece6ba6a94a10d5c37984ebb8fc88dbfee50102d3e6e8a1723f10c01a23f55f9ea9534f19396e58315c72ed1a2b1c2b47dfb146d182d46f41a6c9ef9519fb757f716c304316dcdf16990af1827584e6fc21e218345bc0ac048d5b16179a61560b8a1f1466555adc335795b84ad5a9a8917faf724972306cbab9f5599e39289a87e4f50e0187b83bdbed571f420a663dc6173c72fe491ee2f37a608372ba5ff97ad6490628db934229aa2c677680377d773d8e723c4fecc4135752d2a237a468ab1664fd31e4a5def00613c0f8bd6e3db7d9bb727ac54d4948413eaf848d0169112090f0f2cbcb348a56d7b1fa69d84fbbab0f720a89201bb3b3ef63269223871aac8884c2c41a01b202a981085ff5459dc92348ed19cf3095efb92a2bf66def11cc4ea30694e1ecf9300f256a65ca226bffdc72cd4caeb99c7cef40f972c02b259ab4d58bd589c1b3bfa89959b9a9924da8cc722e49cd52df0f656ca0251344df6cac474c98e4d2593c639cea6b059914fe36121535cf82fb59f5986d873cccf62dfba53cce3cb40c616ded1e4508a24a08237226068d0d5978a606556572517ccd63a690bf2fc029b3ad25d9851c51d338b3722b447fc2b9edd8b063095676cd42c099c0b7d95a885f3a40d058c6b45c9c067254752d158c8c6a668803a1a21870c8a3c9a3de478645b5e0ed4c49f8a342513e53c529ff6f4bbb25120354e0a4560fa81c599be476ee4fbe29d3c4e925087f63e6c1ee9ed89695ed222006f105a6f7c962dc0867147f8a76311f8c4f01abed7235230f5ea1a27a17cbf9fd5fc7a2b35d1ed56766386421126034f24eba05b372727b777bc57d99c2d6559863f587af3d85345808c504a473dc36323c5485c272ff023a31bc89d05d64b237c1193cdb839edf59c646d9a0065fcbdbaac43840729a0ba009b0786549dd366ebed8872b8f1865fa72d298ffcf3ac927577c98216f9e74a5cdf0f142f7ce51cab0b21dbac1a642cb207161e62946b8ec31c6e35072a4135971a3ef84a3a03522fdd3cf91ef2e5bea34806301b7d93b8604074e5f58ab396beae180dda8ac356b24d14b4dd398ecd5c362d871142f7bb1437b9be372cd18a5f77ff2b8ba4d4343ec8c26b99145e3abb34b7e030dea2b153f6f2442570772d03817113ff549f58c59029f827659117dc5881f77ad294d3c2bf3ea81727e646d14f92c4da705c5b92bbcb7b7b36af20a88ea7051b32d488391c685ec2d889fa2fc1331863f3d685c63788431ee8def349a314485e126119cc249e01672caaf2cb3a376fdfa3afce0471a173a4ad6065167f0c0c64bb780388245c8220fca8df6837d85acb59279974ea115941ae4f7bb11bd3d60cfbe56de75440a5a318063c9f3bd55526c706cc100666676db92e0d8070551cd5fbf8996c7fc7ef434ef56dc8204b55c68a41063b45ab841c757ad10bff9bb28dd48c46bdd02874d72f83510d647841c1fd906fc4fe41d109d38a898747164928c6c952069befe1a3107a831a1e9a9deba3476946203b6dec8c3f60703b2530f4d0642c5036d0d7e4f214f7bf4df120855103d3916de385b21cf4f5c6785decde3ec14f573edb2286dfdfa5f7e0d45b3abd987cd88407cef514a20e7b5223256a63a42a5586fcb65721ae7ab33cad4fc6fd6ad1a0572bac572af6a02865f85440181170e30db38af72e2c65ce66beb3f8ee09f2c151b18df3c1655baa6c71d2288bf18ec8d6f69006fd63716d7021e0e6a7181e5df98df77c2131ec6ab060892d89b24372f16778972876e649ea877eb6cbe621531d2e76eac4fecc165b2c26e3e937c140dc3cf3f628eab116d284a29e5b89f4da74cae6530ccf74c34e574fbe0597abe38b9c843670e2a0a546c4662b5dbb6dc46bac404a7447d9a90b784e404e89c5793a17f0072b6d8b24b0de23f4798d418e1a61fb9f8fb620d949bf8f65e77534d05c51978253bb4b446975d10b7c4409ee617c62dc540387da42ef1938af455332ed0c13c304ef3322b8588a9355849e1051816e40e6af518f41e20a1ab41449d4b5bafc5726a8630bae559ab3f6dc96480bc7363ddb5a4bf859ababfea67393ff2ecd71372d0d7356fb882c1ac993db2b3ccc9c8051b40db53610a1adccd50e973f918df579f3e4cdbb8d365c771a3cc79b82d11295b2d94b651ead7a8dbf0f00bb44527729d64dbca45d3c2da12f9acfec7476a021ea79844b8c6c4e1e9c111d4db36d5720f714eff090b7c23004a63664c60e01d30106057c16256270ff83529839e3172f2e2f3f9ea14cb3a06c4cd973f7b0ec8393ec7d48b85ade3e950bc46324c0c729837e16134bbbe2178353269d02861c5bf162b9b325cc2029a44bdeeb0194d72cdbced84846ba291c23e69fcc32257d90bba0342ccf1f71099966620b47c2372aa6fda747f225c083c56aabb822f7f021e995651a23c5b7480e7758a590b295be696c9b2c98b0d29b23954ebddda06d6590a3f2af97082acd3ae101a3df7453c9e56108aa443ede9b801b2fdd056bd9d8359b56571cb435a86fe89e9536b0908674ee5627dd3c36253c77a51a100aaf357ff9b69be5451e8551366c33e00a70e3a91f6cd8b3f076f0d6d23b5e87a972a1846ead11ca77eb829b1f7cda7f13072b09c0e700c66046541e9d7dfebf05af55600c5db35f4ffdfd5ef0aaf8f900272f7b85a3ecc2d9236cc0af868f0be6f3db2d682a7bc134bfab23361a9bf635b723423cbc71275ccda2a9095246cf0b7d873e8b5f8f7098f070bf80f090bdf3c72e08a810e8c1893dd02725a120aab7f60748a713a4fc264b9e7f84f8938299a729dab18140f959b6b745033234d8c1a167cd2e86dd2aa3a19106a52109fabf11b1c5aee57bd62fd7c8243790a9f13ca6f7a924d2aa79f5c383575f4a626e9ee723f609fb7b9cef0bfe2e79bca51a0aef0733c8c91142aa33a81995e28abbb4d3bd3da66db817d5766ec466420095440346719148aa699879853ff29e6baa178728b4b1ba1cc8d9436eb0e027e12dd1fb7a3b5ff9fca4e2b5179d9f47f44375807d2f58a3479d9e0ae2e783d3a4c57bbb1ba52cac01468b33781bc645d5ad79142ffc36212466df0d0177e092c39554fb2f1ae636a297337fbcb0d06363ab174727cf9c228357234b7759259a1586922ca5cacf16bafb252fdb91070f7ed78a8691d54ae13334a936a615094856158322ddb1e30b44919695d5511054d4d710c723032825e481be2bb7f02139f15946161529c448653dc57a2a6c92283211b3513865059c16f20da584b6720b0dfc1bc043619652d4b05e8c8976884850e401846336764bdd5321772ea57ca70f59266019636ab035c4e16d1c3c1d3d64f6e113db9771165a2c57468ed6a54f9515562b865c177350c0aa4301a4fbc77e1c2e65c476847898418e05b14c5907c9c1280b93d945e8acbf64f5ea4fb17b0873ed952c58e719e5c4d4ea36f1a3d082e8693521108ae54bd9e584f94114b579440aa6941178476386ac7774228d9f8e57195a8f24bbf728035c99f4fd2b1149ce5bc66de44bc7e2961d176934b88f7283abf92e2eb1cb8cfc4327ce3266b15b8bdc57295df269b6ce79da1c7718d36ff7873dbd264211b4b74d520d4871c805ed7e87262830b01f5b6124db5181c70d85f2993a08ad77d7dd63a777679e8ff8cd6c140e29c375514d7136c126d9b3af60ce3eef2e4f8251dd3f801a208656ca8589872aeb8d7a679a68df0979bc322d77975edc098097edf67facd7612d98ec00abb166ee84987ea48e7d6603a33daf3437ac07459fbf074ef9325378e9dcde18ba55d576c5256380fa6e3ce724beef572d12641c648ee1edfee7086b167fa46794772c2ed3ddfb2a0b10412aa49cbc67368f7b13f47cf511e0559e0c200d5b32164196d7a4f25ac4f141c6ef9c62e3aaa4da705a9e9b7275ed664b25f482fe7189667ac4bd8db0a93468d87dd3acd135fb8afa296863cd4e02b5b33a189eac250db4afa512064f3ca7736070cf84bf8fdd8b88ff4dae5328b4c8bf8a74e0e9a01fe274469409c7563ef66b439775771c7090afb4698acddaafa3315cc6d828f22c20ffc469d87c2569cf91e8ef37d84a6d1a4ab5761cad41f73df1278a42d750dc362e56392d2f2e3d6837f23b68c5d64024d7ec0be81c643409cb7fe3c3bd0e3a3723804f140891719c77fae4b96d733784151770d15d005f2226db91a2874319e436836eafbcbe2242d3b93240b1de2ad3e72f943227075dbaa26b85f3bd1e3aa721dea6d7ce90c2cb3fb38973d3c808b032344ec531eed11458edbda03fc7aed7229c8fada77e1f64fbeeda50e5cb4ea14706a37be7fa03a2696b42a77ffc991720b54679abe399b7fa7d3bb8280fdf5fa8afc9eb5bc95a3f3d1a72f0aab43a90dce6bb08dcd730c769736105b23f9dff10651a8ca93a0f3747adc830670007f171cdec31acb0218615899e1513fb9a71cab21fdaa1ce5e937b7dcf13d9bedbe726298b871ed29a5a9a47e2ce6fd39e1bb36152fd0fdc50445bf2b1f431ed1ce40723fbbea78527b1d1d733ee066f83ca84fa1396afafb59d1357539a81e7a25723a834ebe195d3a4891798362c6d36d52bb9c97da6348799eb4bf0acbceec4472e5f493ad68c5b6b240ab7b4fd7dacde95c3cf14110ebd2a1ffab0dca0c36b672c3475f1a7da6a416108af5bff4d4460c7a3443318164dd8c5ee5978d3466e20defded4c3f885aa3d90b0d40e488d4e336f36f8fb0a8738b87ff879b6e7f951729921574b50c6b7ff7c966cfc4fe83f07872498ec11456cc9480113297e8f0c4ca50c109834edcdf16dea571831ee3f3b04258f7cc4338aee49ac0857e0f1eb72017fc7d6f4e70704df4850612dd05189c2e54387e4f6a7f68be951f4c371f672fd55547a6a61dd01c8419248545c23fc9c19e92f3946dcfb02bd4fe172e54a72419d915b9a59898b952337ccb09287cd4885d05c5ef073679a50bec493dcc772196c691ee4c138bc110fd33a654a473ecb398f193c0de67d931600d96c1a6100558895f47f0ed658d1419f3bcb75cd50759aed1f9d8f8f4ba021ed8fb38389724ee523415080a9d267790780db2b8c6c23668e514c9645e2aaaec90c21a4667292d00fa4b75df004bd91264dd07a7142d486b9d34300766fe3bf57c8cb17a3724b2b3db212be7e82dfb421ecb831647415b1e09d2557bb08047fdeff87c77f0bc7a30b1e41c2bcf6358252327f8144eb12eec66334c4bb93a725105842924a72f2796c73bd4ba3ac38ff5b32ee7b1eb43fc6db75efbede142cf75463a0794c713eeed930edb1cc5e6bbdcd131f9b2fc8a36e70dff416966d3bd7625c9d92b1359e9d025a518bd1ee9a978073eb12ab954d64f0039d33ed5b15b38ae3e0b34362c123211f7e5e3a7f21aae9538b4986b1e0a63db41065c320dfec351a9828a872cd54204e9df0178a0a615e5d58d81f0359f2e1314fc5ebab034ad2b799eac1039607ef20148b8a86708a8b47c61aa022f18b824d332e0fe41cfd866bb7947772c96fe19fc69b93521e1822dd62c8a01384ab7028cf32425fce9b7111df2c7372adc5e44b14792019d060ece41073014bddaf7dc3cea9b6defa5991483a37452d9638817cf1a7d15e50d2440f5867cf7e46f8d1765fe33ba0690eb19e56d33a7280ee3b5c774e8f18a3bc0c3ee7700282b5ed31831282c352e559e5bddd4c6d72442bb66f3ed9db064fc488d2c62d00e23450bfe8bc12787c723c3c06440c1950efbcc0ade0f3d99e0f36efcf1fe03881d7e14b51f75a5efaef2fd33193289e72fa2abe987db75fef9b1a36271b39be3a40db4411fab8df41ee625399658cb0728fda6e6977a292b6db0fd7b844c117c7e66433f6cad3ec37a4f11d782e738572811e1443536c7b08ddb11b2623584b84cbd990d072bf1ffadd663df7572e07199a845089d16c867a75400833681b5966c3f6a4ec200a25333644edc9d574cb7293d2b720f0aa4d55d028ba9f6f44668da9d920010dfb3147b0a1ae9659f5497245de8439deeaa69368a382cd59f429b03b15c8db9769742ddeaf7e422dec1772d14fd61fbe7bb34e3a159d479a75dc5d4668f6c592526a139521581463822172f1e6378275d31fd274047d124d0fb4060df9ad3e341294841ff08c003cf7cf72eef274b6f1c63ef9432193209bdf685cccdebd44217504dc8bc48e7c5bb31e72158a57aad14e1501ee69df58222188694ba1f2b5b84262d5896b52f397c27c7218a5d51a6d35375fab38eea4c56aa541348771b70711e7b9830135860c419404d5b6885358b044f8ef3c9019fce83a87b18d8b1833ee0fe1152ebc4b96ffbf022bc45986219b0f0156b4982f85c5c37289abbd160ae890c426f4b83a10e616721fe0f1955edc4f6f070334849cc41cc04e1090855fe512f20177b7de9f2bcc67e85a98fa93f883c0e4e4a5357d390a83b1136799e3078321d3efec30691fbf72ace13930ed01118be88a8d9e44521eb1701e3a5e3af22ae54c13a50a6545b4722de7e3fad3a53a6d0f390092a0a8dd18cf7eb9192bc9fcb2315536097d89ec70c3478ed69579e8a3fead53b627513f119c9092bd21adcf9bd599641712dc257250fc91f5befbb93d7f53a269fc2007d330e697fcad8c48159737eeb9e83a04726dc03a11a00e88de65dd4942dd6b9059b8d4e543648fbec860afd7485c105326726060ea6c783c7cfec7771a82dede4d214eb5cea26c4ddc85d932824e2f9072e88d6cbbe12c457b95d0ff867abfc4286677d219f61b37fac5017abcb5c25c72ba216411c2be681ad37c92ad64ebe6ab4ba85768d43b62d2fc8b6be9a652ef578bff3119190c289788afa92b5c2d30d2325e06a728e0cb37be4c6c7680919b72488141dc6de77e4950e6ac9c80c4c505f9e336dec54386805360f71c719fdc72019be215017be61eb2c771bc3bd9431eaa2885ffbf9ddbfaf1777a00f76d8e727b1b3e6d07a2d83961ba20bf047601e4dee318c4f84cefa15538850c86c417641933662b007a6b2045c4e165d40aa3087af15251e111d20bb3db5e5f602dd65e40480939903373ff38bd1effb8f0409570643631dbcabebdf6d0b2523740bd4116aa221145f2bf4e5ccd0f59d1a2d140690717c2c6fc600c744043490a58717215f532a5709c210d7b1a9fedf210ab98f631f907028e35653e8d450a6010ea72c2373e1c0ea6bb06b3ddebd3d5b34b66de96dd7d5509bbd1d0a63cc022f01c51ab413c2dc3f9dffbfdb4b1fa7235745f4dc64f6307c6ba4eaf2d9b17efaa4272f42a0062448bd3ed933b7ecc99b683ddf04bdadd0feebbaa3830978c36d39f108c983cb1307f522b60c6db25c4768f9820a607dff516bf4d86879b341fb5991dc120075c8a6a6f1c0ab1bc9e918e6edc75452284873b502144f7b3c3430d3f727ac6b4a481572dee5ad8fe135056c80ff82d2b83fdedd6f78380f2e42d4a75032181bbc105c002dc749f8843b59135ad768292b09a6588d5aa1bd7e5591156161df5da9532901a00e7bbe3cd0f58d1835647713f5e20ae6daeb3669cbdd51f4d1197290434906b9d9d83f10ecbb3f9f34d39ce01774626a3ef296fc0b8ea6e4af6a94b0911483a942e0f22886beef666a92c8b61263306aa50fcbf1f921d493da7ece9d1bd1889432c6c5a6f1b189b90501ad75bc22e7c07b79ddd7000117c326d37464e37d1591f5d82be0af1cc83065db2f7f0418c79ac4e3c12f4a7abdd7224df76b6a8c99aa302fd6f37fd9dfdd7c1bfe306f38e44b0878179a0067cdb0b76baf6a4d50ae6e0a7f4559bc591e47d7342faccb3e123bc86be6213edf542727d9b8e60f8a5748350603b6bccbf140d67e76730aa18c1b1119442271a143f724776d6a40135a6d8099f17eb07c9c4e6591fe23223fa507d860f8f98204f7e68c0cc2021c4f292a036e020b447a958a788066f0b7c7b208215315929cc6b1863fd2b3ea0c615f8d85a398d13abaf362d866f35883655a9abf9fe7c9748834d72ca24dd06651736bb74976a232322f59e382bb2f301467b4a720e5938775b3672812fb2f9672ad738064e00dc1bcbb76dec1b840fd55cd8179773ca697850461ae74b1393e4647d103d8873ac32b4c3dc4b9fb2780aecd1cb901433268d62eb662d1de67956e574154283a9d638b29166413d241cfe1effe32b3d108af792fd4bb56557b864e5cb478beb6aa2782078c8d8e0290d089f291096b5444f41fb7572946648c2cd9f8f9750fdfcbd565340e561bbe985638970b58efc1a7845257e470421c97d9a294de32fd6564d3558342b35dbef85be1ed8ecd57f81424b856972afebf7e281360f34c73fb0f60f2e8e921c2f7475ae615f0a566ddaa9a6717572d61118fb8024f8a45678ff68afe7d9de2995cb92d1b2d1ded968b090709979727f31ad3d6dbc53bf69c5a918ced6f6fa972a6af44943008b5d8682d8a6a9c4720c41f69c1a6f7cbc6ccadefba0009af9658c3b9416b3bb39ec84ad945856bc208bd92cc20ec7336110e202ac2189a75fe0c9f5bc96c6f2fe5d43c834b0827672b2d80e2058015b223a4e0d60080d4d4e195cd98564729304a2d2c5146ecad572164811746431eeed4effd19b1cf30bd3283469e52e43ef0700ed61294855d00bcc5c35b0943c451da364c08adb7a8fd001f5111b68b8ceee5dc263d0547bb472466f8ca1f69c0b5c0ff61c552917ecd563c7656acb02d26e3a32d9bcb61c4722bec82fd19e615ccbc50162117eeb2fb843daf9efe0285619e332db75a4321272f810538a9c4e5059c0d7e21869806681b451b286a24f974109f34e2a5965f7721378d84922093baf5a3fd562640e6b9054ed767457662263df05aad2c5c1e0722070aa6ff20a2c0b74d893137906b9149486f7fd2fbbd5370b8e5a53708764721eb8f99fc70b3a2d0d9d57772b995e3564ddaf99621fec6a168ce2b69cf2e3549dd5e42b8f1bee2240a794dd3b786f618b67f1bdc7242ed854044d007f1fbc5438fd3e54502bec560db5b5553dfde1fd04642c1e4f95677cc5a01d1c92e82272d313e0a950e72d078913ec6434d65a31e638b5386fc5dfbb851fda5a5dbd216ed66e2a41394a2314746ae04d3c72ffdd6a59ae2a50b9627a1fd45fd3905b6972f212fc8994bf8365ecaa43d9378a7d52df54551c171b138a6dfb90be0b36e55677aa9ccde8efbe80163aae87a61d1a80ae2e2baf5db0ef80dd51852e1341663278a74817cf1b80341d6ffefd345f7d530894b8d47db15df3e0b3746ddcc84354509ade34dda78fa6bad22f0864a65205d8e65d212c2e8baf18ae8f211487aa46a8882d1a35d6614b0e00a2ee3757e5dcec252379cd6bb5ae112afccf2e11537265f0fe1863be9c9f9589c5226b4c1e2c905534c522c7a5ac795e88e01ee1cc7286110f3428c6f93d951428adfdeedd8d75b19095bdcd0381a053c87243a079727a34a458d33b1b725a38f9fe045d7b168ee1b5022f3669257f2ace9224ccb87277fc318a0f0ab53694f2973f5f05a4957f691b56d98ef7499a6078909a6cd1727f88f3a37250eadc8f7f5dc421c8dafbd6cc1677b2e1fe19c8d3eb614ef15572cf848caa31fb9bfc406e6a9bb8538d385939d5bf83d05281a214b804d3a3292d5355b78f2bf6c44572ae4d0ada077c5fec7dee47348283c41383be675fe7ea2a7955857bd360d1822379df3a59ee2f0556bafbd73422729bec1d0633cf3fd672203689874da754da1f244b6f4c04f69cecc3291c554ba63774f983825cf61572d93660bb5899f58c35ce2cc4b71193b791bb81293977d7b869a4beae4877db6f40a21fe87a0887a071513b0c89572987d5642496cb29c588487e9060c395df72d9b0a1af039a1bd09575ec872c25918f8db2a0a80d95189712e974b20cd6fa72a872b2b6f79860f1b02a8405958d864f978034a7d16f404f8487f133d78b8020cb2bcbc640f801fa81bf45c061abd184181ddd26f4fd9f61d555cb1ca18a2e4fcf35326b6185cdfbea5302a2810244b721d8b3a25ad63bb65e8fd8ad1fe8ac0e35dcafbf6382932ca134832ad68cabc143703d6b3a01d901f59bcc6658e1f97255c3f3d2a3ae7a1356a53fb5ad426f03d83d55a5831b57917d3d16b5ed68f5720a2ff6791b93590d231e5fd40c74d3d43c1ae05a94f9ce66acce932f792e4a72a9eb014a86c03ae3de90b019b0e2016f44030dfdd0c768557bf2443a9ef29b72b429edbe5e55210dfef52e8475e1b5ff583142d84b922870d3de61eeeef85313ebb01230c1fff42a6f4db212d42ad24607c135fae2ae6122e2bf0c55c4610129fa548815f9e5448911c6b42154adbcb93c501057eb0a61e6cf15934992ae4f6bacc519ae6b85f796860e86b17bfe753123ced6679c6945b65ade2bfadd2d7a4c36f86f2260491775ea6ecf0a00a1216e5ae4d2ea6ffd011d58074e49d4d24900163ff178019cf0a949a6af516fde9b20efa391a07d0e831f6345d03cf8c84e20e8d613895f9866642e127e4efc361e96a574fc531c2537c2e71a122c3976b77269b0002ca061036e5ac2732526e3b5d79f0f9fb7a8c4573df308d29550f2d52601bfd48a31be8eeefcc6cf0eeba07c8097b7998ebf186781e4c0e1318596af72b981f5881d2fbd8dd5dace649aed79c5e5b4d32c2c520d4758e8b845efedab0a3b6cac36a83be1962d26b8892b98ef24dc44444ea4e28c4b0462d67640816c72e9d49062c35cdece81b25c5f788335ccfba04e1900bf084e89ec3b6e4386fd7249fe91233308304f289db6c6c3e55f1b32758bd607931e138d024090aceed872f28ce0ddfce0d02b0988a5b911aef66ae1587cb2aa7188d30e5734d352d1192785be3b7bf225bb26a2edee3ac3ab000d5cbb76e8a0039ecf4d6cb760bca842722c050346578b1f9bc3b5de660700f95bcf3761fd08eeed02df4fad453cae4b72276718aa583a0a67fdbe3c321896fd91581f86983ad632d71e4e6f5d49d72172747884b4bc731b0e4e5918dd16b3bcc9d764b3551091c9c57526757ff8814c687efafbfc16bec2539a1fe64ff34271d075c7a3ce7d86d909f1187e287f8dc67258a0dee439f320bfb2355c7f89daccdadfce2b1434194c3321535b4721be0b07ffe8dae79ab2bd2a6e30d5a96e9b6693257c365a4471a7ab5d54c462f41fc17257fa32e0c2518f1bd71aa7fbc98b5ff230a8be6023351c8d1bf283516658654adb7f2df7c722cee4f4c047830035af8e36ea155963588d40be82e691ee778d4f97a0a5afe22963bfd9d41f7756b63c8041d17ae19d0ac4d2fd63540a69853003372972b369d57128524256d15dda4a1567d14c167036ffb137683cb1c42e810da24d75737fa78adb7d97df7efca9abc62bc9107d7ee0c43f09b686b8ebbbcb29db3713cda60ea4b0556a441d0531b2e43669c4999f3663a39331753736c4ac72997637c53d5322c132898a7f9ce0d2c2e81fa1d30e9a2947a45a569c424bab72f888f965f3a6306d00767f75845ec90415400bdaa27cb80b8d3896b9ae9efb6cae3c0482e4bb58347b74c7dd6c7eb0f8871a10e9b355a9662c324ca6e88da572bdfc69753a2c822d82cb76721ba25af34848047e2fe0d9831bf08b55e6f32d72534f2ebe14160a990c74f2328c7ea7f7d24f346674df3d3e1e2482294287e2729f4dfc78f862db88bddbcbc9d21bf72d14bd93701feed874905c8605caf1c54e95f91cfebf324a875e3f00ae3be9751df5ee4439af04d3ff7890b44e593b56726d3d380df2a64ab62818d2657ee038808f2b71d229b19a942814d2f182f9df72b20e40e9788f21f4917281dec920ffdd267f732bee36ef4d5d77dcc677296f1e5df6330639b97bca92d485d240e0eb3aedaaa618cbcc7005cb36b3d54b1c8e722c4876186a5806b8769f9956b66c91e7a8607c725eaa7b81eba23688dc4eeb72afbd43e7f4b957134a0ee1e930bf296c65954236855fd173df5a81ba6af661618745fe03910f99d838cff68c3f107b53772fedd79ed4d34d9b33d1ed69945f06e3091175bfe4851c77892beaf1e2d097e3ea0f838f57ea79a24afd67b8e461569d673fa7fd3e04808e1142d0759d35033ce541ca6948c3e86039c7ea1757ca3295d205ed27668040c4d15f916608c72db39b65a3806a630fc14db7d55a332572312c4d055ae59db08bec635aafa41967c74f61010beff69281152ed9ddddd90b40ab780fc9406befb239f00cd2dc55727824d740d89f135c793ea740eb9ace3b9f069745b088bf2447483413af23674def14d067fbda165bd10b302f4d7c0072f523bbec57f46599f98efd7e8747bc56be34f75c45dbee5c0934d8e7e744357254425d251a346b7d44f8b7e9e5333f9c8b58121f821800b5fec641ab21bf2972cb666414f1e838da7daa429e9ec5dd7cdd3dff7900b52f404d27548dd65a222348ed8f40c11b1b90985b770dc01b085a0c4a9f5ca954318db4fd18a30c2ce072afbe54f2ac05590964a55cdf1690cee55de66d6d4314579c37629bd1329c047235561a91e801d32bb454118a8524269b83c76244880fb481134af026b5830472bfb7775f12e10f1a910f70a7fdfa63d08c862752a4559799ee3b1a0538d9c33c61213b0c7b3acc3ddaed2e7cef22cce4790db95346058e47013bc7103be10c427a145ba19494c88f62a843f6569f83ff57b4ffbc823f7479bf97225d932c6f6e6d5c39a5a801971b42fc7ead235402a611a4848617bcab10d7f863e15609327222cf42244c912dd9b36b540094d0a42e4a93f1c6506163b6140186893d304e72eafc897a06f48517e3778d0cb5b87febf42ab88418f1ef5010e2685096712d05a1d5ebdd7e7a4cd14f14c93aab33cb0559fa1f88c2fa29aa53e571d63848a827e2cfede896ec11a24f2913dcfeae941e8fbe9a9accf03eeda5d134bb6d60e9576ce4859767877a4232c6fa1ac1d1ffbf1ac656dc26547e04d7716c28c624a257dfe44847e56c5b12cbe590da6cd3565cec6c021edba51c1d5e7292b1a6f8474fa7973f9d77328cc79f94bbabb4a3e9cc1b8509f09164cbecaeeb8f1b029c13192b661beb988a6919325ba8650043471a579684ead60a07ae6e28a7687fef844acd1f5c272c0f83bff773144f62303bc63368fb4017c788ebcf5c36129781b70bcc58ec6bb884ef268ff37621dba118d01b524e54159f4469f4955947070e6f7179f7e64ed014154c6522b3aa830d21184c13219a8035fd0f51da48a1e62be32c89d67bcee2006fa35a7ca7a5c396f9191411621ce7668d7f8ff5a2ca314c64728c384a47fff48848e9e815e5bbc900414f3ebd3800151b2ab5952e6df90a097235ea6119c9cedfe546c0b212d6ef34af019da026e02ebc17429d6acff229181e814e34580cf1272863f42c9dda046b83b4996274748cf361fb0a6096c5bec0724b469b7ec5eda40194ee0fe10d5b6a6ce941a5b69c8ef791cc6bb16f5837922a03c90234b33863ae24cedddfd43c0db5f45cac7064aab2c63f7edd30fe603272af3ad572818ca74ad54006ada7d395d842cd9e536524746f8a2f8221ae22857257f258865b80e6ec3e6a808a7b9e6d75775b5e7493b4d8d231ae3420be116472949b86d8126f8ea9e4bbe4a548a65a66b3589701fb6f1c793568ddb521a5a7720296c1ec1728c64fbb5daab52175709f172594fac7d225bdfcad41e5260b56721d006742ac9ea4cb8840a4506b9c41cebee25a8a435cfde489d750d133a6d84183ab1cd3c79f58ae247718f3b756c02cdd86ac98831372a2c1362b52785ca7363cc42ce926921392c18c0cc268859b1fc74f543fda7f81f4b0138c8b28959e729aae1c0d0649fd53729e878293560f764ba563b1ef2c305e6cba0bf7329df0729195a06d462c0fd93b1f88fd911c8e1b987eaf8e403f0bce8245c9af0186db2704337b3f33ec00e59ec5c730c5b33ce6d0d232c27e558533e8410ae75417875558fb3b298c1c5dd62ba151d42c45a1b7f82813f31ab905eeaaff58e220a6a572b946b83f950814342e65286cc78bdba27ba37b97c9b30da4f6d2c2c0631bff72ba757e5a933b93b0812566ddba71a7ff3bafd2f063d1f589f8120584138b06727f05115991b6b53f5c53d1b2a86d082366563cf6b3c24ca3daf07e97e7edd51472cc48c86a8ef79c763e4ac52364f18810cc11f8bf2b4d517765d807b07da172ca073039a70e433a95d1734765e96af756a6a76b0a55c2c11bc7b8865c08385fd396d930f75a1ff124c097330cad26fa5f9c9e3fb512209598f8857d6957135a5391232f9bcdb88ef68371b87e154f98e60fa3525dda4fca7f819bbb8e98514a9b2d016b76caddef8441ae5a6e4c57f3f434439f61675918cc33ac0a2d236154ca5154d10f4d8d08208df96bca512f7ab6002a0425df79cf6cbb0071d4725b72c2feaa5a26761e4e3d52d30c135e579c74425859ef16c763a96d92567faf8972b1925a052e69dcb31ce814f79d3a48c685cc2903d53cb654922d4737f828bc34d18fd8191018ca3e55ef88e54f1d5cdfdd0f563fde969b1ab6d9b66ca7cb566ac19a0c25a3e317cf14f34b1c2bbd3fcef01bc2e893c0b800cf16c8d48162e1723699fddef5457715251eb9742a9aca0338549172fdfbbabb19e75e20b933ee04d7a968f265987c8a96392ee7e5fe801fad9fe9cd40183b641cacb2375b5d2b722ba08d104f5e7c976d34d2e9a93db4117f38b12390e62d34b9616bb744a87b724b79fba03d266fb5b6520a54a90fc7cbccf53e8ecfc98435efea4ddc8b25cf726daff7d0f7ef02c792325ea08141b146123f49d110a73a5dfd73f059049af772719f4ad96178fc49b26bb4870964bb3da669e79f1cffc7b8733218e63f786f72f05cd854ff73a1c2e7ae64a8f5f41fcd1f5b99e56c2a564758fa3216604d8872b1d8a8ae7c2c9f2506fee7a8fca8d28199222be0105536f38c5a13c095cc2d0253b9477e01f513e252487acaea26e34ed2db9a673bbcb3cde8f05f255ff89a72b5fddeef46333cf7f8dc54418251e9015fcd4e0d87fe7b1e2e6dcc3a747d2a72aaf27e521c5eb66d4873f220c69f516edfd10014b7d7c05d821b65dc2cf7cc72ada543c0cda4792303d6fdc3eb6fca3be63f429c58ddd339e5c2b2e256cb1d7213cd66a7f30fbf5826c194f397d6376a2f946aed72b7abebd129f866741cea72a3137ad909fae546a9ded895893e2f18278c3764303c69a9816eff769958f97225122d15258f8ee86b1d70127c4c8b0121f320e616c44b38273c48a4e2a2dc72ebd83739ce549556abf95a66d905f85faf59aa88589d31b2ea1bf580924a255cff6840c2e0e2707c9381e57e872120a880d7a9f5f4ba61537235e7558c573d03ed474a7f139372159af240b83ba8cf7231b678076ab743bd81af1c5db840104e72a6e6c6a80ab4e2e7b4e8552091c3ab4b6cf895c71178e71089acd960091b59912bd659226516e0c5f7c0cd4b98547cabac7be1cb01b9ee0e6bfcb3c59ede727539b6173d2f9a2dde16ee5e8512744a341b8644891bd8a4bda6f5d5e836c5725c9523b4b628bd1bf4237890e724825ef48fdebe98115caf822c05c61685b50e9ea966342841542b9da8e08cc6036d9a65e2176371d85ea5dd322866b972b971970b84a8b28a6ef6540693c3b42ddda562484cf53b6f04b85306176ef6597f728283d6548ae339d0df406ac951c6eabc8a53177c161c5416360f75521a8d9c3a1df2e9bd559fbfa9cfce283ab4714637e897d2e542f8e39a7b8fdf4edfa0b8720e0dd01bd1cb5ff2ef5f1602ec835b23fade312225216ef9545f8eb7828893233fcaed9a5f3700676c7c1ef4c11cc70524916a56e974b225eb4acebfcaf063081f5f8ad8385222ed15556801cf2706bae39a3cb2d444ca637aa0003c8faaf97263f49ee57ba8594f30df31a28930023b0b468527002bc71e6a5635d00ab23f727ea8729b4e9b2cbe8ec3cbc269403fa14a6ed31c3d634fe440e6844d0b74a072118e23f2351fca172e6d7597336f5901ba687180f70565efc9feb6bc950b35722f4feae720020455d34b12214b78445990a25231c1568968f309ea76c4e9a272c098e55f0a9461839a4d8fe8f02da423b143d60e92a8fe3758da55c94d338f72bdc0af7848aa166b016d2a75ec35aea5c60cc6faa1f98b4ba4e66acfd96e9a638930bd53864c3035ee49b2e72dd88a417cef2ce4b22dccdc198b43d125b8a51df6dd4d34c1e9c7fa73a02e895ab895328cfdbcd09718f43e19a8cedbd8ad6472bde6c28562f7ed5c668332d882142884064af7d18121d022846f5dde8bf06a72de3c6b600bd0b8907b34f748c17752cc1af5e598a6d00bc14a25e22e98db4713c101ade512c79eeb5306837d1c99bad5f9bb9d9e6ad51bf486a29db0cd0b3472b043c94e7ed0dccbeafd97e50bb189fb7762b175829e605662518c114326e672ffce05d24b0c73e1a1d6fa2ba0f9e937bfdf14cba9bb7470978a6ab58e713172000840f9b8a63158494419a78f07126834e6dab4226e7c36ee55f837f92c735c26135e768a6874e764b4b2fb568804fefdb7066f76da8ad03071622a51c27459dee20ca0a4bbc4ef157fa6831a866f18905860c0b6b8a20ec1cd569e112d2872a45cb7c781e247b186a9da1836664434f80600559d2c34657ce7ecaf2e9f1f0b76251f58ad4f28a0974e44b11f3f0719ff373c9781c5697889462b51dbd6600eb17ec991b43109aa2fc10fd090f6c3dbc28bd0061551af1999617904b93dae726963def2600fc5483822ace5d47eb9627469a9682048bf8b50013b67fe79587214ef82a0ac221d57d16d8a8a599ec954ef6458e5cf9f7858e2612e4db318d260a2750568ce14a9199793c076a8edbaf0e4c51c2311f60a11f6611ab2c110ae729646de1f1acd97058939cc368cba608d03298df23be5c690b1c2566f90427772c3bba67a5a6422f322ea29282c6b8f5775d00f3e5b4a21945d0d57f091f0887274c4ede11176f7af97f9c5afaedaf81c0bd78dc9aec3d058180ae3afadf98a72e0ebee6102a810dcb35a23821113cb1d49e22295d4aeba9046618c5fd7e7e3722b062b6f6908952823517dc0acdae6d1dc2532f90d033401fd8979d12715f572679b1def529278be6a7e473b9c2be49468ac21c57bf20bf746fc5091731c4b720ecff8e38d8ba386b0f0462676ad04ef19fbae97cf78c0da1f220ee18fd8e01d1b07b5fafe2579c2ca7c1b8c7ee24c8e890d3ec39e3503f8564647aead3c4d72c733a76dd5d07b530f4520c8ae517546d6fb48e06ff0dfb0480b92f285b5c872d808bfe1179f2e3e0cc6379865b6a80b591ef4da9555a3bd9cf85cc429c17372da38694ec4146442cc6cad874b0a014869b113edcdea768dffd2ab7b9965e303a60cd4fa5850cda7d50ba73bbb751e0b4e3d5ce52f9a3392d12ecf87e688f6006974c19364b3dd9af5e4aec65720ee33090c5c2d96a756dcf612a2ed49966f09d303c62be91d2e096a4126640ccf517915accc40ffe22d279c675d10365de13f1a5885cb9559861da3c247a1534b48433e0c207e324e28b6c51ab7893bab007244a23785c1494ec29460b3b688334b8db7329fba3c83884a0af70e3ae4f73c2562c0b7e889e34f231784763c06e907ef89ca76470160329dc1cea68580a15f728a184577d9bb1a9ad5bef48b239c97b26919ddf37f6776f5cc299cbc5ab2b005bcfff5eed39d4afc56489d35f721815cf0c4bff5f7c833796bd11cb575fc84723ac47125af92c43471861344855e71930e68564a2c85e9bc17227590d8849a7253fa3a2e4642049626fc4debc9d22778a93e8584c4868b3d561208f38db63121cd16a3e697bce5bd11cfdb19276a4b6d96c45562c5bbcaa7c5eb4f85c229f548be5832ff96db01360cd192d0bba32bfc76c0595cb56a7cf440d60b8456536d721a30ff0fd1a70fdf70a23f14df0058cd9554921f1288351ef24bdd7190ff265872d4b7d8096c02194827e7bfbd49ba07adb89947590d4c0b8079227a58071b7225c3eb33bd3852fc8887093d290aad7092d1a9d04318b2e4e3a73ef9ee135f4223f79b5b47125bb0dc225ebd64a08e0f4f8f04e4027980f0b8b5deeb7c100717f1f39b87d8d4a2bcb25241961525553a3ae96d2bc1f42aba0fe84cd701dda212335ae100bdf9f74e3db2add4e038c26c279d67ea8e439431179ec9c09d59dc1ab1649d7d31e4c4b5ee843e7591f8b956376d69e1ebb2357a7351fe2d9d301272bdcd162bb289acb7e0bc19339afb39d50b83214bd5d6c229d900f2c14b6fc82044da347988c2e254eee8913cecf2dac2028f9b6f19e010114afa68bc50614e31a7687abaf2e875a33d7b6f6bf8f5b82e1dbea6d5adee6661e34de38c8270273f474ddf43074b600b6b79cca130e3117d99ba4b0a1eedd70279ae96df32e6e9472fd7ffdfe14d236fb15769ba0a928b70b23503a2c8610c54d76f3aba22f3b772fd707e4788665f76d91f42905cc5250f31a7a03b881058ed053023f56afbfc72b6ddf01bdc8fb20704311c375ebde20526f329d16b512396ceeb5090d7ed5a659c154e7f7d8cac3f812a1dcf70cb262a3b871b1de170c0d1489556c855c79c7233c645148eb4fe59fd088a0e88215f95a387934409fec9f06c364cf20c7e0338b3075af35bfd4b0015707b4898cb62c53a3359547a1b376bb0a322230a2a5d6a79f5a334f8726cbd29ab475a2d85cf9e5bf09d0e3e846f8ba620059dcf4aec72e1d41b02d0b878b956838ffde5577d9cbee437d70abfc6b2382e84ab2a393d721e04ae799ba8590dcb08d9bac22985b919a232a95c323e23f22781f7b29ca472a079fd519c8f8f1423025d077305c14b8497591a66a8706c605f4db018385472a8c3cc1e59f776c962c7ed9e19396309070d000ec63e90cb3ab3137821a29f2f0c661d877a374a35db858aa2ca6a870ce03c596b14b336701ca5de07cefca372f9fe2ad21f75512edf237ec6de69806c7f9e22a830b4891d73b5618ee7d59039c4f5cfc4cb6b769db27739b69e0eb776ff9268ff644a7acbb68aa99ecc3fd672766c41f0a11ac9c63683caae1ad6944fd3a3d8bc905ecdb80435a94d64e3ae62b0c6aac8dacf36f98107a1ebbb9cab0b5fe9bf0c8fd689d25ef97b43bbc66e146ea1de51293e46b1f9efc495d18892ff374a0887bf487415556ddfc8a6038d3086570e4ced208551faf8c5dc92988cefe87c53ca4f4d020100cc8e6c6cc85f7238423a069ad705349fb9c2dac143d64fe311880e4fdcaa688bb12ef89414b17296149bac70ea7377af1bce682398f44b40d323f5d52d2d70728f650f51da5c47f1b3385a48ec3b730a46bd872e5a4c6955d1a36ca7d0188abbbffe97d3fb46723c520c5fa370ed17dfe048dc2f07bdc810f89a7d25214ea95cb653b22163ba44ed22bf38177d9a65fe716f5abf7bfb3d5c1b1fe7517203b96571f82ebd8441720582ea7a4714c265d7a0e2b3b362cab375b2847d3b7dc315bca789e52b35845661678af76303f6d4d443862dc5dd65792cba31a8e8adc1eeee09726a9c675063174b1356279f275620a8952df3363872b9a5a2917ce950565a4a61f8d2ffda23ce2083b66d7131fd07670c7d60452e4f08bed3ea3b07a631078038d32835477204bf12563a7b294b7fd63a1306affe80ea89006dbd8694ae5e0c4d33a14d3c720b6079cc7188e6a0949880dace4496a583166d38a742186f03d4d4bc74aa754504204176cd505417ebe350bde724079de691417f484c37c248bb6ed64d0d326c50925e919ce9e0fbe72cce66b7d300a67a71f2913e6042f65a25e740335050724d9d4ff50984fac3c0f6d4af594acf1f5e6c05920af694399145f26a43b50372ebbaf1c0e775340f0a3feb922b1c2962b8df3e6a4846492894513138346ab572ae576785ad0cd6c2f7ac60e55eb5dd45f3ffc6da8ea08131ee8e2795f1c140724429110ba6919c79270b5db94d3d6520c988b62a1a933f08bfb8ed9131e6876370987c659f05df482106c78452d0899ae635e9077939f231be227233aded1b72a0b3129c9c72956a7478c0eb13c35c012094749a73be54e40dcc232119a4c272cacae06fd5293b7462b12844741039c6f19ae9d6c8fce062f54eb366370e8429aeb1c294b90b7bcf5c336e4572c1150299496d306d47dd416c03141078f85f724f0da7c03a64280d24483bcc1a776afbb4d26b65cb19646db5a07d1494f52572876e943e4defc38cd06689cdb817cfdf03f678d22a0c0db107cbfe8b90f9302d74e2f93e4d1aff90a6e44df53b8a3749f893f332cdfe115c51791d87cacce30bd21dcde041cce09200e952e93fd7d786a86a34a59e29cf70122c4bee3f7c9b72641fc8fc92188e5c7ec15ec02aafd2127d0376fd13c0d47b306686fa91b76b258e4ebf4603106ecaf678663f1359dce5e570696f6ff808f3a41dbeca7cd67516d01ee9a37f845dd05263e0b41881dc518f01a0e03298323c7eb1e65ccdfed911b003f66051711ae493718b2f66e95cd4331a0881c15a6ada30eaaea370cbad722325a68e13684848fe292eba3c6fee8513920d0f324240bb75f05890140821721b1bca4601d498b80e893b06b9854f1a11bc79994b2cbe86d39d76f8e608c166fcc15477bcb0a073487dede16124d1cfb493541549496993c0e53abbd39af74474a2e67606ade17b1847e52cccee2572f1678265055a179db596988ff0c5112db7b02c0d928dbe3eb41a9ad8993fd36b0acf1fef222c91b0b04839842b4a610b7511fd6fd8e7d600912f14b856be2c3404ee107b323dc65655652d6fec567c72c1f340948d334bdd333366ac45f2b1c12a9214fccdecacee38c043a8ca7be7723164a5ff3df644b7bca9bf0259d40fcb6fdd4ca72c3cc692228e8ba2093b25726e530a0838f9bf6e97a1727a327c731fe66ef8e43973c25c8fd751055a54cf13faea76972eb8ec3992fb2bfb8102a9a4b1066fec38cc0ade5e583fe863f36272618782e904a7f215c041ac84c2e64d1d000a062cad8dc6265c50f515072be772bd4ae2acfb78dbf52a3dc8a1ab13e1b7f0d5b1bf81e8df5d4fc28204444acf72270838fd714b2beee36a11af3166dad64cd625db5c0c75fd6311b574ca09d2023130ec06a47a3b945f1c0cacc4c5b92cdf60a763976df2395dded560326daa72dacee832df5e69fde6b6fe26755376246f39b942dfd2bd2d91af4bf6f479cf7222817334f8ecdeaa04eb3e70111e154c2fce4eefe3ad2fae29e05be4a03671720493a038025fba3d8cea7e10d52775881fbfe1e6ab865ab52dd154ebecc0f1532e17505558fc8aa37563508f848ec7480e852cb47a439782fd5d8fa4c9492771a199a60d30a5326ebd0b79ae1236e5055b856241e930c941ff074258442a0072d854eeeea75a338569546777764ce1cce35f484e002f05f74c977fa4f366307294027274ea48efec880877ec6a05e733f3d9890014794beb7a3a83b5e2c04972aa051b767728b9fa7f19cd8430bec6cccafd40b2cfc59dd8631fc397149ade723183a52ecb0536c6362bc6aaf7ba27a60248208d402bc7df2c10a2254b2c96721902b9a973e35256956783b68f0a9850d14fa27050d39b5cd43a06d000d5cb035d9ba93c5640fc24f6b85a4c2acbbe13bebec8298bd4988ecc5b676348f8e47224489f503a45d1b101620d154f628b849a95a4d67035fa57e80a4055c1f8a671eb60f7fd7e9578abfa0937747c8ba4ac288c3c4ef037f2d1b3ff5d933d61ec724ae981f76bf4edcdc4d1e5403f6acc928572dd360222e861a4143bd655b1507243d294fda374bf6cbce40a547fe2a59e02b59bbe2fc91b4887124e9ca30f81721ab6393140f4a6b8e721ffb7885d50cc388b39f436fd4fa0c636437a7b9df1725d8dff56b5aad499c5aabf6d6209b4d3ec9677f11544eae7fda9c297c20e9d72aa6b81cd1e6a44d988254ac1fd0eb636900717b97cd376a3d6ec7dfcd0fb9d6745116d6ef46c920001de14f1a53127f2d776cdd9ea55221ee0d100ee11da857208f1753a8a40b7abbd35091c6b550c2deca2be55e0151a6c9ec5966ee7922a1d30757a16e234f2e45b2d948645b152daff25aaf2f2f4fe9ce9744744578a5172fb29c8141b105ff4af4c68706b7d6657e51f57b3b128a8e84ce8c0fa3099eb7267cba7c3b4160e3c2afdfc05a70ac0cb73131625cd0f229f76642228e99e7603a8972cff0e09636156b975cb83354acc1754052b8af60e8bff099d2ecd3653339f743ae4d99e0bef4fe0ddb6fd98f8783537eb98bc212455d401c692bc993372788ed1b7e687964e687232f613aa023593d90f8957159a6aefc7189477462f7295d4672c1559233520777dd0636bc19b96639dbfa65b7f6b83000f46dc2fb2728258e95100eae9c6202c6f6a7e7c3c212b9974aabc4b37d9df33794788e8de72f01661ea20b2adff85bef00fdb8b561115a674d89dec01ab37e3f5ee1b370e07c9c3666728c0865bd5cf84f8091f48e8f067c34fe742e92a610d6d04c93ea27291176323c650caebfcf67ba7ef4af5d0d86d060ae366cc328ee4511eeed7917233f3e2b7c51fb02906737cc5d75b9c4e84548974b3895b6330530ad134e6a572b11a613cfd9f4d02d6b9a32464f0fbdba31a4ac0aedcda05eb5e7f1bdf3a0f1c27e01b23ca280fa16c5bc2f33fced029e7d59ae6b142c9ff533fd73db0872472bd2423d21eb87804e1dfc1993cf41400f8a0cf8cf2927b2a3375334585a59f727628f156566aed696cd45a56a7a0a6c96d888beaa13b594d8ea4e30088e6da6180fa0f02d5db15ce7efdc019b105a6a5a36fa4839c97fe6b0bf8db34c084df093993e0e84245b64f4c164b7ce1fe7be4cb4e425b9910589cf1e19a7f56bbe46d72b5681ad734331b2e31f0e782d2e4844f9ae12cf05c6fede770f0cb64a3041d4162a712780b68fa908cdb15eecaadf7f01ecd09cac41b3fda44259073424d722dfa01b9e50760b1785f3d16c8eec608db7bf3e9e519c0f90e20136acec716727a99c26dc362694be015c4f252386d22d2164a038c7134fe59a2cece3e7974728f052a0c0a12c456f5f80550dcbc827ceec6324a369c6b673868608fdbb5bb29eb7fb379dfe980680202a624b0c486f26f5f23f25bb920b765cce6310a4c7572ffea0a83d221934637160278bcd664ed5f1c7c1865aae0e6594a1dcb2ae3fa584f7ed7191a20bcaa49d777ae56c0e004e682d1c24e398074c01418162fa62a4e984ae9c980a55d4b7eef6ca48b248b2417ebdb87621ed0e7e7d561275c6f397260060d39e358d913aa96c8b8d4da0369eb7fe068a950647660aa9ff3d2137972265a6a20fbf9bb23313d7d8688fa4fcc0b8284bcc8b2a8d69e02d533fc935453fc81d590ed72adb609be1c164bf2ffd05bf0957fe9cbb9ad0c7d461b59c8ae72851ed3d1a4c9a67f765c84973fca11e0a610eb5db45d08f191dc8e84bf28da72bc1aed0cad04e72ef9aed1ce9422ef68e9110133342b12946634595036e9997228b4a22ddad511f6520c7d822d81a029b68d291056e8e27f063bfdd138a1b43e2c7116038547aa21eb4f65f1dee1b526ab1bd5d272213452865d45d6b8601567179f5ea2273605383e7e69d0a7d6b46d13f435766641d9b1a0a0073356c27072df145c83b3faf2a8c52745b807381e5c0b096e3e55ab085f7396ce99fcd33f07f2e739f8183717e1360ade191dbf256f83b78909daabf9ce3e5370ca3a4d3b720beae6646a45a019cb8baab68e0084d70e374d0ffa77350c5c05d02d17e952724a81048fa7ec777a6670100407ea77739929346886e1f4abb81deb4e87d1276d3d12157bd51bff4b4e1828d466406dc7a607f651e6ccfb1e1ed09e8b64235a72f74611d8d161b5235decceaa6b8273b053fa87ec36d82513eef8dc832934cc72fb3a5b8958b945bd966aa4aef9e7951379c70829587da295501ecaa8a19a7653861d677a99142ea64acde41b1377e0cb467a64eb7b4ef94dbb37e416f9c2704c1f39b5d320c4eeec09e5a91d1e8c332d6a45bb3e1b19b7723db84cf4dabdeb2fc711ba0274405fca54b2da18a7ff6cfc5c71bfd25e8a9b1623e4f3f40c871472fadf0373b44fe170ac4be75ddea640422eb8de3d1c05aacb005b3120391cc64482193d796ed4e04298b8b441c300468f497ba0c75cae18999abccbf19bb8b2729c56ea99c40226b553697ed066bef7ead15e2003d01e47d0cea8876b96ef7872eb074b0106704a75e1fd9cf8704b53dd71055bdc5ba9bc8d9375a26745efa37098f520f2655c9ee3ff2becca73d653fae9977d86381a2d650a41c5f69ff290724b359e855d9fc6ee7a6ca088591e1e90946a2a595107b5ac58c26e041a5c090bedf5caea370446e6e3669d93beb3fb0c20d505e3063d5c4d15d8f987a6313b02dbe54352dd0b58e8e982dd60bab41a8545e88ed7a89d482ba53a3f8316e6d9728cdbfaaaba930f97a9fa3a31d9c5c2a9f0a84bbc54a011aaedb28cd5cf104e72673c792a97f47ae1dbd64db54a0b3ac051c19faf6ef4e4024fdfd25fade60024b05094ac68de26f1061f84e2522085538d1b897bfbb105651eeb051de48b2f62810d9830026b0e304dd0b786af344faacd0ce8b54b347b2da4a9f906bf4cd81b0df8de7514755faed5b3f3e63e6adb186fa00d618eaea9752f0b065427ebc272bead02ac79b2c089ffe585f43f35ff874c8fae0c7921fb90e27f1d9dc92afa261eefc2acfdbc1d582646b290a2d2023f8aa49d9fcbfef8d0d22fb9d3d081de7218eb84cf1aad35bfd6542982284e3aab347032eecca75aadc6db7bd931014d727369970f37e380be397b3ab565a416ffb0773358fb17448315e82266cbf496143692aec3a597b376ccb2a3122a32178271c0c357c7482f5b85e3905e77d6fb72b8cd857c55188b185a9e40c820e231c14bbee860a87cb1b9945d2107221c2972225fbf30d24ac7c970fc94cdedd60712e451f81af257854f80f2fc9cf40732721135b85d9dc72370f96b4cff76ead4f9cbcd7881a7ce2eb18b4e81534883dd4f72060fb32cae924fb9ce3ea98bd21dad8d148e7c03b51fba113e8827102db1504715e4294d60fc8dc8d8b8202d2f3744461b0c8b01f862bc3b2a69e7ff40b2236b56354b2ba4d89a81adeee44d54992147aad7ec6b70d82d41f65c6b2aac786651c4204dfa548bbd83076d293c439a5a53ff23b350e3e4ced33ce34f65fa3872d47faa1ef8a07aeceb8d8056bb8d6537a068139c356fe29590a46c95ae08fe72fc04fa0fda734421b5a156f4d548e3f3e669566e5171ceb5ce973fa710bd4f72d2e29bd2f791647b1f512a39c63454c94d65b78c070e896ae7405b0b60e3de14df28819548b5f2fe006494a18008b2cf3e8122b85c8e268edd474bebe5f7457294bd0d69693e4243f78177d01cba13ae0dc3b386cc24f2c5d2f1ff5e07fc586fffd27d057d3b10a2a0162abf34794664ef7b5982a04c50761b121e4662807972d3cec57587c3b556c6993e172976ccb6738744527a34a03be9af9d11b6a7a072a56b42afa322b2bb2ef9c92163980ffd09671862c5b48bc2e7d5f371ef0b06602bfbd2e1e7b3f978a264c9313e3c86b0c5cb8cf3c897ffd0f952e5e442ed9c727506cff0d126c20c2175ed90c2de2e7295e8c9e83a6295e8bc70fe5cda83113c877f03846c30de41d1e68f1f1b51cef918b1f81186f9ad160484bba4fc32c939dd1bfd904c0c16f19bb7af492415ed441229ece9ce2c9dbd62aaa34d4f7b246463dc58c0b99d3635e311421d473d4d53d3a065c0954b54f814413bf3cc26db3135c70678270e73c37641e6703c4fde0fdb30c32be33d423e7fa5a511af75fc436f52b7f2973804aeac92109a316d891b15a3493f1314a784ffe25b88201a4a0662f3981a47854b8e5a2d7a102a7216abe906362b3c2b717d947638d0a5676068ba87a814e99b9872acfa3692a19f1cc5f343b56da4c2da79ffc822f342d90267c56307c1fb00daea68e69e166182d6d0b0de8318d8554f31786f05761c11db721a406cb0337d3c3da380929e8894815118570379228ea09149b767b948969362a1ffc7c576f79ad5b0548763fc57a0e7604f7e3bd75c5d4bd999f61137e31c29c3a4d0676a8e47228d00d0d9dcf1593bb66eb01077e6cea0fc3c8a3950718629334f8f089dfefa8b4fbf17de10d45a0bddd42293e12c70ffc7fd3530d861833c55e7fa4f39a2994b1dea8225d5a8e5a1635298b8e3f16399b8170cf09a694c722804490260dd823b0e3001644d515ea04c029a9c1a7a5f11f4e356a5298eb0723dca402d23fcdd92afe68d3004d2a5c92fd40d1d202213b2af9d94bf949ff472af65a37c14e5e88916ecec117f73a29dd14e3d83e8813bf1b51127dd04b4f572be6c04bd26656fdb4aba1ee0c5cdfc208c6184dd9386c55c75dcf5c8069d267234edb0097820583717da63b33466562437d91be541ff390d475900bd842cad4d7708661bb57f95090b864687d52e401e629cbcdcadf353be6a4c72bd555038229f1740353e998d8b3f261dc679877027368cf0f11164e4079ffd9d7cca802a3cf95fb07ee01c28423d269bf953f83e8ae67af72298e375388a53c765782861727588d3cb4bd94770ebbb206ae6926dbddb9e378a013b2bb6b2a4cf96f43a0e58874dd26fa4f8e5cf340e9258d554d765309a2429cde5bb4a2a8b4af576318172a7671d8c6af1218e0e2bb7971b1d7a2a26800a703b3d20e4434387b4ac44a0640b4739243e6d3245e690e316c41a38283a872374b5ccbe20253917212f2d5c51c7a74cdd1ca8820e1bef1fbe66a547e389b8e6696c9c80cb40f9842bbf266e72935f26d569ee3a8e664479ecca68c68ff4cecced2bc461a672a957b678c65672bc373cca31c29815b2638450510cceb79f08d13737655286e63c3cfc1b12a372e71ea942855c85efc0309e1300b736b3200e83dcd2d1d0b304f9ae0ac81da172cbda1133bff570a84f46fc4ce9784d0a4e97b2241b1c50b199b1e61856a2c7728e3bed1534b36cff8f3768107b48845e100854606c46611660cd011b03e9fa537d2efb42740aad7391be2e5913413ff9af6d56dbf487b2e55ab6d4c75510847242a0373040f8e9c0805a89d8f1cfa585ae6a5a4858e9a57d56316bbcc27dfc0f6370abae134747ec8d858c8930d7802b8cc8b3a0f6fae912aeda7fe21b1ae42ee0036c4e8ae973e01b2b50392b6724ae143a885fa6610c54c659bcdee66eae72f44ff6489c7b38e510d8e3f34187d4c5825550be689076c73ca8e39d529edd14e09fd274468719d0a2e544e3971a939c6c86d266b972e3fa280ef0664c7244721d137f8e312185cc245d63f259674afc7b659527bff38b1f6dd83a3b2c066b534949ded9bb6c414a6c811fa6a157e9eaa77e8daf1d2ddc9d2cc44376ad30a5725eca505903aa71a72fe1872ea000246cd930f2714af62b26083bada7c4995e15caab9426319c59d5d53c8af82b4691db7ade0b9b0e3c01d46b637be918372e5e61ee092abae9b2a46db746a5b197a8f2e27f78fec9c61de8e4e1166b4e235e6ca9ffe4fca204f15aac2690f0e09756026bfcb406e6b8a3610b05f2c362d63f72a823d83378e2da3b0328b94f1a0d93a1b507d52b6ace3d285b71565c28f5bf72faa9ea61dc64a582adb9383804d6eae28b910940e704e757a9b479feeb2b2572ccc8319aa727f1619062a0e920b21212f76d856ab320af4fb6ae53d566b24421682a097b412c13887fa9e2b0dc11aad13e687f1a55df570ef8d749ff830e747267e1966b6755571ede02dcbd0856a440b512a72c450dfeb933e2f141a9d5ec72f26bbdce17add25b513f5290e5eff5858926d47b1fcdd2bb76ef5aa608fdfd3e943f3af6cefef3f927c22ca22501ee683cefd8ddc3d9513e603b5359739fa81380f389c3878574a55608f8956c691ef98ebf324e25a7ae6a44911bcb8972741c6b72168ca91299efc6e3699bca16ad9b45e3f0f5fa99229e1c2a66005a4f4e14555205f1b6241a10b56f55f6896707ed5228f2e5aad335d79b4f04ee7290aa5b214f03ae370fbb9f08d77e28f7193d8ec9af60383ae528363799c47458c360728223036d42f14861c23fe69f8adf188b113866ce7107d60e1090fee29cfec523c0ea3664d53e717b79216e4cff7385d08fc06be590c69f9f46e1dccb02dc817294112086b7206e90ff7c2a9d4da25d02e8cff8db2e0ded4562b3f1c409e30a724f6ae940848cf9e8938c049859e357672dcdbd349cc5d1bb7c8b0fa73ac3a372720ac859030929c87febcc30a5e5c2be96ef7d5aa174351599421db9dc60db72e33e95fac635c84262e9031bb797bbab10e0c7b3bc7063ae089ae1b1874fff72ad34b23efdc097ea8046f05bda3f7774f0b01a6ed519e2efb05b3860cee41c6b6ab76c49985f9378dfa011eb4480c2542821bb41cdf6f86e9484c3a74afe720f5fc5eb2e53fcd1bd3b0ddcb9bebd862e9e685ef43424120c2167cdc13104e0388c2cb8c2d1e6a8af465d209145416a40b9c62fbbda4a52a8ac2e1c07d8c1230989c50f937327fa56c2c0c4c7340e487359da16f89aa22f0b869d62f2b51ec867f3654262023ec14ad2f1df16cef4f16626f9b77084c021265ed220ed75e86d72772b9118027ccad534c792cf5b0400bdaae2a205d3fa8c48559828bbc0e27b6e21b6f0fef9c2a11a200e0663e1d81dd7f17321088fa7f4bb2e239b9508ac4d720f527673196fc80e458c3cd38ff65f275ccf1a0b8a7719059a7483a3e0cac6726639bd1273fbff8ad1e6128a28d419dcdf222bf20a3feb9f85721189c0484f59ff30930068fe76c0b75588afececd155e8035d249157e1b670a52a66f7bf1172dc5d165ec344e8a42da600c2d5db230fdd92aef14cf37e1a166c0aeee9aedf7245d2848a6000ea55df3ca80790c8cc37fd8bf36b720724b5af708b26791b4c72b8d163213ed3503f084707a951ef19b354ecd5b2909ed47b3dc3edfee4f60d7257a10f7be9440891f58e818c5eea88e7251dbdeaf11775760f00dac11ca8bc72f6a51bd37e47e71e28380ab93ba98d1221d3531fccdc62a07c5dc09054bc2c72b8655d13573e70c775a0d436f845373eebb30ebc6eb688435bf3287821ddcd72940547f68428a80b4b6f4fc118bb655424c43268c7554e3d6023595f9e1c3a5f2054e1f420413a85bb2f66b2519353d340a761cc26fc88280353b83e221fe8637f29976ab8fbc5b0a2c05243857c61e4cb7fc03e4ef42a4bf9655c39e763d641300b1d37d9d7282479882fef2e59db44a2221c9bd5d2c795bee727e65e6cab72bd7d7c0a6a731321f8fc14b3811461952d4d66cc0dc41a2745f0461e1fd6f7727746a256d3376c0b325094ac6c58745c136556a9232a09f196e5e99a92d03c72a01631c3f30ed46e2053e8c474ce3c94c0df804db0a0ddb685e51e56e04c3d729a7a5e7bcffcd8b2990561e4d61b0360f9b699cf5bc4b2c3189879bc7c4f7e72762d702b73e4cbf81d0082692c1b0ad6ced513fb7963ee5b6e8641794376aa72597028f381498fcf15d4efd79947116b3b4dd5c5b1aaa0f9fdc7521c03b6c64679f0abed2a2f2a26530616c8c704720e3c8faa9745816415c93b2d0ef613dc5e2af2e676f1a0cc42702f397de1b50e9ce26156046accbb39ba367ee2f8ef440b09dbb8e79a7ad5d9a71d8fcd9f3a199d41ad6bd4a248873a43f73439e3e8ac2e8dd10c71b10f68b0503ed62fd95b44753ed261223fd924c17b8a625c922374341da855c85ec21f9241152a3d1df59909eb39bcf82c7f8b55164bda98d65977728a5460f9e8ed9eae5eff94fd5e0eaaa0d4611cdcad9d34fad04e5aeb80bd087297cd193953a8704ccca895c54e9c94eaa96f02bda6ba8a53140cf8514ac8ad7223751026fb94a1626e5d1139f09cc9423f0f664c3c3726446d98a472e9422972306f3b09f6e3d1a933e9b34334a85e2dfe1705d219d823d90d3b9adf6906657299e910662d15ac1a71192c3c1669fc1f175c10cd140710ae7543d119beea1c1fd488b9fb17f7a35d81ba6063806c9a0ea653b379f42b9f4dac7c55ef266f5d0b1e8dd018e5d099b5965a46d6b95edb9fea11a48a437686ae7898e381cea39f72b8fd146b7c11e3863d19a7a966fa71ce90d2df893625b4257b460f9513b70a7225fc35b5c2a9df4b02c4b62a13633b4aff95dc1a6cc5bee2400fd144d54fcb72d4da92ccac83d37cec4aee31536d841a431ec19eaaf8e35560fbd4e3cdc4704fe15727a601833a9405b33140177bf0879b881e820c8ec24a1fb1c9ddecbbd63030c57a0a5a17d9894ec913bec80a5f9f00750c24621e63911404de9fc7ad844820be2cca78dd5db8c262307dc04d4223326a1cab372741e160b79d746e0f5d723aa8f7cec3557aa84fd80fde34f292eeb95aa67d9ac812a78dc24fd29fe8f572803a65de51eede16f1a26cc7e105521b761e7840e9e214865e58212e042c1e72d62d4839238cd295c193fffd3e0dea9d43b8bdf082115ed312a5460f3fa9693baddc60b7c4c27bcd55741bacbab345f3ac7cf95b6589e3937a01a417a4698772a7843a909931253c391e41f1a66b38f58d6d34e730f08d3b30b74883e383d67263d588ed572aed5efa54da5592dbbf399b2bfde01beac2ba3c7792733f3bc4019dd67e488d0ffb62fd4c63bc58ff561f2b400e5a8128507f4736f11af9949e3e14f944b9694975961a1c3a32453c671526e3e69a67eba2bdd42d93ffebdbbc3e3e2e0028d73b75efb770be59590b1c4e78bc4ec8e2ab0c312bbd5a7702ec1f72bba7689cc0e7b8dd1231655a474deca519311cb9c0e56a4d0c988a01f1978a726702a2fde595f6695b806890d85666df8a95df1c0e48c877f9903e398aafe61fa843081316b4fb5cc43e2e064444e25c3dd8a72b729e89d88ddcb21edd5b6272d617f88be179975fdc3442c5d331c6674039d089be863094213648a85888cf726f68e4532412674eb61c4eeb667d7ef29a4acf91a5a08980dccc343c0fb1fa2cd5351b63839f6d5145564abb26003cb0a49483d73453d8dad331ce1b60d1fd72fcc8b63ddab573a3e44bbdc0bfcedf653c034060e9905230868f4aea9a2aab0e22c32dfcd77b735d8661c0fec5767f582ef5f60d5553fbbe62b76b3a82a1880a5bf0a4dca18ccc72b1b7730454086848ecef9bae58f49cfcf8952f037fd39b2fda34d55c3acc19ad8d1c384f6a451623b1e2e94f9ec3341767bfbf90c0f419720f37701006a817b656f31411fa96e38a052239b1af8182f1742a87641bc65d728ffc20aa33e9e5173e920c606fb3a5bb6e9d389b4c4e0ff733f3b835dc6ab072d7d78b84bca6237ad013494f7d71e41991348ea8ef72f51d37ba1e8c8ef04a724de8fb70c169d4e96c7c93dbce469529352b00bd9d62da99208200aff4058f4fb111507881b1ac7fd8e68f49ba88c31dbf50bf27b0c28c652cbf0285673f407282a2bd7d765366effd6f477a501c60e60ba5ea09c9a0edd06922ab1ce6ede272662470d7b471e0d4ef7262088593135f1e6a125552a461d3c4672a48419d76720a693b6187158aab7d7f095d2018251cbb7ea0602a8b44720e357cb4d97388548eea39b11c23e4e67bc7384033cbc7d295beaf74db6e646d1d57bdc83e7f256d425b7e4d17dda87e2d03a8d02e72dfaa4321de5b5dd28f20773eb080c3f57a32304bbbc3a53e5a96653f038801b2982718f3a4ca0995da28cf96577809a33d62baa01232de65e2d7b17a852a8e8e87e4aafd7786c38eb79ea6f99793af982972252cad56885b7a98c541171d00860bd923d77af07e2c1ce043ab6bb3b1d7c87297b2a620e82c0cb4b35eb0ed45120bc28d890f528a6599e2a0e4e4582caf8105f2dd739508ae9efafcc9c1af7485640422ec40ae854ec795eb036255bbe6dc48b5ffa3f2656a24b8b182a0ef11877efa62decce6b643ca6a68d1abc16e982b7224a8030dcd5a5d552361bc6f547ad5e911663ad2004cc405036dc67afd4c3319df323131cb27e4cb8f4282ba3b9b372247ef2fd2c714cfe176f892802d6e4772c7296723e1b4d7f24315d7a4cef8b0c1641a3ed06496deffe6eb25a3174e74427d7a9d5834a9caa69477d590a347ff65f4850797df93bae42a908d4227fb80725fdf2a1298d3bf894fff9bb57bc291f4f42383bb76f744b3befb4a92565b88728705aa5bf283006281d00309ca7d589c642f65087f17c3751cc69c0677503372fcecd82c615627c37c3fcd60d45c8596c5a7afe88b291d06d6239cc694322a727b51dc4b4423a3e262790dc580402c120c08fd77d60f23238aa1bdcea7fde9726e3029b2c0e1645aee963289aa2c2c419d704a587759141f011c9163e45bb3725d74504e27862f5932f9a99c6bf18933d7c29524a5b3db1ed7721f1a6c486a53666be6f90c91f0d8dd4c94d1de9690647bab136259f9e16c6c1ade8f6246cf72c56c16fdeb73950efb7e69a46d7fd48b0aef281038ae29ffd8981861aaf468540bee3fb9ab046943f5670615be3b6719d8cd026954691dbda46d23744d9e6a2988cef7819999e3af7a5137575dc09a47fc31d95e990aa914088c51cdf8499f72d2f5d137f34d5ce8806a1b78b55403d31fdc7982fcc6e7b40f6ae9057d13703e6ba25add7731e9ef10a09b355430eb6b0a343c7cdff519b91d5dab3c343d565ae6d02aed51bd194fb1f37a84e261cd3cacc32c8992036a7a72f34561b1999472d10f98e2eb7e180a28c8c4747411c43b5e6c7121fe344485fc42c6cde77388722bd9c1b24d6e679b2ba65532021fb4ebfb84ac42146bbe846eecc101321be472defd4f798f52f04112f4c07c1a9f34ea473b9ee87a64eacb670e607c64eeaf72834c9d1e366339920ec636432e90e7f48518f5f3028cd5b524ae70b83a052572f41691abb27634f74023f194f15b044fb7bf8b406a4683e291231bee6b44b872083ce04e995bbef9c10982acfae11ba26aed861acaa570af96709c0a83801a336cae85f54f4dab2b01344297007091088950b0eef2c3b76e303d4533ec1cde728f5816590f1a78427ac66f5428adfc1755685c16575efb55333228eb54482d72016b5b0b8770a23be8c87733aef82f5b29b5091a63838423b437a7bf8e812172319606a16cc5273fc8aa5ef58a9957d3e5544b28f79a4c59b50de89dc867ea722b8394fbfdaeea4900abb5fe2cc43850e3a70245daed31601552fc66a284f26d84d11519dc253cd73f5b5e4cd2b6458d6285eb57e7c547b176751814346b5172f1931d2b00ec7260622fc410f980a9890640893116f637dea16bc47f9b6ac172c7cc041fde7f07961cbe787e94f63c2e1c5e3fa149deabb6291699c8b1cb7247cf55b0415e77613db31c310f201da862791092bce7fc4183460be1a226dcf535f53a4cff4f3d9599a5beaa3acb5d191038ed90aac9ab8e1148f32af2b04bd772f851cfbc4f4eaebd1705a94bb1ad1ff0d724421a04a98cdec59c98a3935e800bd27e7f19f481fcf1023634e840a018fab794d9428edf6a6e653a1773f5ea4150e200a8b02ef171b8308099824f3682fccfe6555c880041ef361a9430fa8ef9617da4872bcbc08d6861b19fbbd97dcfc70439992f88ba129024a1be65ae568172d01a5969f0549afb5a8d51eadec6a0989db909dc3d0d78ea98697051df07de72fd9b3da8307d00d902aec036caa140025a9245ceebf80e7209e075a5b11263066000e9489573d5c213dd98940c1fcc112c103e65797767bcd44a4d2d29bf4b048fbdfc961f7f728fb6100043a73a203a47db2dbb6d863053b6851908464aff5337ca7965958e4480d57ac81ac013836781afa21a285671b02aecdf7ebbfbb872c892eda9370c60d0a5217fbe568da2766bcdac9cc68aaf83490a183b5dc6b93de29b81f6e4e186d422f8ad9b5a95d52fae2fe04a14101078dd4b37c29095c1720d2a40d36fe7a551808b7bdcd7daa9cde1bf3948c3976804983093734d893e2bfb10b4eb68e510c54ee4c8b8afbf3c61c2eb94bab88cf473b6932ae49d0fb072ed69aa0f8fbe52a11e752b52431eb7ca0db80d34d43093011f9da573c42f467275442256c881638816a2e0a3861575a84bfd61fcb2bab03168b4e72e3a523a248520fdd6eaca251cfbd2383120dc855f7b53450393ced422a64dca14dd75e9727d81a7336b1c7036f606a994b6d7cd36929b36a480cbd8318c23a5ca7f03cd72b97d10cc0b9edaf668c0a6033f49814376d50f119eef67b1da0f8cbb31da127259377d48214bb7e2b396b7f30b78c018a829c1565bc807f18442480cc683b172f256289776479301f40b4cea64f2657232a781a555de335203c0c3a628cbc4620f31d2db9da954913454cc64104ce6c59e56ff5f943567e0826f85bc4c18b172872e2fd0a3c7ab28cf743d3aac7986538fb0820dbd66ba1d03d1ea35cd4186637bbb1672c5196c29c88b3c3358f05d173453a239abd6e1208467d293c18cca72c4b3eef9950846005af7d5d456ab79a948f1c3a8e7f0a09fb2814efd0294f008dd6e0de47102c0d0f9fe51fb6ee0d024fb1ac27fda9fdd964b93d38e9c025e099263d4db120bf5bdb3c3791add997953191a6ca22c2047bebb492cf6cad5bd6bedef7985748aea6756593b600e2d6e1a46d155292711500b2c210db46394d67297b8ebc4a373f10fb0bfe8577a5f399420c089147aff0625ec2cb129f38d8051a51bc30bb1c3a3063c42629d1c945390e737ed40aafb7909ec7a450a251a3472fad609aabade3078503e4ed000a7f58e61bac447bae3503baa67f422a4599b246f84b393545027bf609ce4c86a1dae2e5968582587882283ec9d3995212bee5fb3a548e777948808cc79163ae9e82d213b794b247cd059c21a00676d119cd52909127710180ff6f90ec734922195a72764c0aaa08107723ce3a15636fc6f87710ca324627d9e3c07b77731784ac96ce6b651991adc0a239656d1724b47ceef725ed910a95008bfcb04e2ec33a1d64322c5435d2aa31b7df126336bb3c25989728692d7835ccb4a89bbaa800a01342c3101c68609cca4e79084001ba42ca01c35349137210f630c148dfa40d36745ddc46ec01c9add643e9182cb835ca5f5fc72d8d63647e0bbe5c616ad6c9951e1153840d3833b3622bcfa3646dc89a1816972e1452855e29fe373d7ace444dfbce148b6c05e3353c613f4cbbb2e9b1a1c563acf7f3e40ea6a1bb94143841d30ca1e90b4aad0ec18d685406d116aefdecee1677154a7ae711f6866273a31f5da2caf5de2eabccb00a37c035b6d91f1bbf21372591f9080509de1ec9c5599afa03c7a5d6b9e234ad3f45a9f17d6fdd00db6796acf23a78f3b80dc31ef275ef7951f6623e5b06c516e38ca8215e171384c4b2b726d55573d62f24cf5195e8daabe5464637a9752cd713913177d7aeb4495329f7213f3e32200261b46d7a0ab47763b667840111842cd04fa9dff70182a50eb7f72833eb2055007d7d5c532d3f188cfd7c2a2db195dab336ba221192451739d1d7272129da0a8448611a846c61411b877e00ebb479fd41a2dabcbf69b19d331557283d0af7670f63dbda946a2b7e01f7dfdeace59a2f7ede85c466e57e167e6be40c3aef9e35bfdf8509a8518ff28297ab8eb5cd10653f59df6c8fbf337d2cbc072a4cdb49042980b5259f24f8575cad0c3b3d0ef324774bc275295eddd82ec6d72a028df178565ba38c377681895def1a288b22fc62c9d0a796d45b5b4935efc72f4f6b4b6ae290a12cb75239e90fa9e3a39fd3df9d2f8d00ce4e8a0a5c414d71880f695bf141565b2a4a36a69ec8b0e17d62eb835b14573363a5befc6439a0872ac6e8149dcdbcd63f1d9ceef950dd8651fce3de58608ce5b44b59211ef53bb4aca157d7bb69fb2f4939b76d5f0a4d1a80e746c0e7759b7b6c9fa81683b295e72ee87aa4277ca5e83fe7927c2b92a7e135af8d7d06fc34b71b3a826e58b5dc67241e3bc90305b54bed382c8c53dfd263b5ac3ac6c8121c2c6f0b9519692c8cb72c32c05890b8b43c22e7abb2124070ee43d6daa8d0c2196979ebd79e6afcc0929f59f306bba6259c2d99ca730c1bf15835772070f8f00f8f13a0a7b5a7466de7283db588c590e4b41d7ea6958f09e0c719693936c211e112915b26cfec3bae63cbcadf03f4fa657edbe1d29ed73c908038a3d242f1f9307031d47b40f28884b722ada6e1d28e218347a4728c3858a8b29881ee56b5fce21eb08db5346a9dda872e03f43ecaee61295a063af8cabc3dea55ff77212a4f4c10d69c13ded645ce672a1d13f3df08c610ba9e9f6899f14dfc30047d7f0826af0e6d2796986d5b848725986c67aab4fefc53ec0fb46a3a23521715f23425a4d5e4140b91b6cb951cb72c5f6c6b3cc55558d889a56ec43ce052d689fa97ab0d7d9f56a44d5141d894a65fa0115327298fb3135ac8511d5aebbc819153a7a225082d82c7512cdbc40db72872a587428962f98233a4cbb3ee3a3be5ee57fd0e7b714fb3f504e5823c28115d6f0b37ea35fa1775545836407a9f2e6d5e934f879806cccefce42ef2ea83b723b904d89b2f7faf0b0d0874a327c872d9348f66d89b5a5c39d4f7dc70d627116248390b62f7ee241ea0b89b7e8e5bdccea714d699e9e7c85dbf1d4fafd086b4b2c3d769344b2f76dd5e5a4909ce0624010a61c371b30133e0d179b4b8616d02ab51a62643e12eba590f301e62cadb1e20a31ce119d9f5540aec70eb6b00574728e232b38519d0c6eb97e098587d2db04f77fa8e0d6db84319408724908cb9c09f73bd65f205038a76d11cb9189c9158d249c4a66e620cff71ebc1c8e72fe5d72c00e81d475ccf7e2a129f6fba8710b65b20b5432a4994f982964bf3fc5d10737fcabb6eeb194b22ece6b20037774bbd440c3a1fe801f391322c928a79b390872b74b536f48118f20d61d4a94370072a627f087108565a137b136772f331d5f423ca15b8d33ac0970a92f73f636517d8ef25f70de049ba80c8ee294f2cddc0b4d225299925fd748db43bfcbd0f9958bd34d02c586db3c6982b03b54c6bde9d467c2c83f22fdb031ff10b33a698f9284d31baa15066a8e2b6bd6e3bac8daa0b865a7b963ef7aae2bddae46547d6fd3ae0bc89cf932b19dfe609f1d703abfe8722710b84cb277c904b99bb0c6898c010c116aa2daae062fd7d4912d010b3a83ca669b83113b43137b07a786ce41c9a63afec1d6b0124760b4820759cce4c2b8aa233c07a1e64494c62ce472f96d82d1ccdf874a03c341e2a152a0cc0ff0eee99372246015640c8a83727c4c3d16478ad0899628ae456c3c7e20eb1eac16924f3f72590e96b873b491b3161547789c523f06a38ee07b0bc7ca46a0ded3d45886185ba91a00e961974003512903267dcbae1d9ad90d270f1accdd27754f82471baf1ccd98663c2f9be8540d0fcbb87d8d39868864d6cd4c615f3a12b90ae203cabc7231e6312e440666b6972ff6b15dcaac2468ddf31188b6b13960f49ba22e02ba726d6e0d69c0ade7acad153269a40bed4a3ed44a1d504dc141f8b3cd419e9d5469e862c480af55015d5ffcbcb68e52d5cd78252886f159523a0b9d67f14ffd30724abb98f9758d602d605734b228527134f56f1e8df60c1a43c25ea3d415d5f17277a6fe52c00243bdeaf52b237edfb5a0b52b33dcde731e834f158c726efab7304a494736b6603b19e69778294934acdae23f86e8bf2c90e34bc4a9ce282a24729fe4b8708b9dccbbd74dda9a73215904c337b98a3e043e970326c9c42f4bd9722fa09e197145797d26918fc19ca4f0d5d689163f95b59a7f2934b757d7e83e72c6dfd77c7a7244a792e5fda4f553c6ac6acfc98fbcb30fa493862546956e987285c0f4e0db1f5f79c76bf4df52e4a1344dd2cb0e47e2519f9481da18dd97cb72b2fee1cfa8c78c5de9e40b093d2748e265ecba48bb41cd82c92fb028fb3ccc7230c35eea91175ef42db7176c8752872c3b815d12340912669c0592d4af44c11d75cae578807c691dc1bf5cbfdd2a13e4a90c5d693f01dcd4578e62f2623b2f3d813b88c2f8100dd93b0e61ceeaa4dbc4db603cad4f69644679b1228db62c973169ad4e07ee6b1994555fc4b7f9db0229ded68ec6d2087b3373ede89d2a40d1620a16eb32b26e9a5bd8882b262d4d9b99492bb05db8bedd16c09bdc088d45cd72f461fb8cb9d60c9279aaf368a4321d1746f230ad9c7859379c3828657b5c0272ab3af1d2f3a1b3db166320a334a0181169ba65646aae11dfc8b20edc240c4f7265e959da0e91d0f13d8f1afdde5354f54c6780ca1e68926a87100ed1789d8e6d7df62ee3e3b52cdcc7f02cca85ebacbbfb6ca2fdcb5ea18bdef7d88baea6ca72afec9f25fff2963299a7e0cde834bfbab358f6c99c617e1849741811b09f6e72985dbe2bd4e2c89107ce3192d3f4f17168eac93aa78e34ab048f36bbb371b7390e8683048c050992b5bc6fda8e5958c6324c440f14f617aaa830d5bb0b4ac672b5c225238f6af274e78f7b0131a3a996b93aad2f18d56324211d619f29a60c034f7e22275880750a3eee49f100f32ea214298115ebc27f318e6b9263948fd5728f28f9f8016fc2c8b97ab4155b3050cf48890ee68f9d146d0105488aa6d3b072204fa9b5c17bfd400a71de47a61b7be2f7bcbc14ef92fb49d6c94dd704efa21625f39b0a21448e773f39699ea726740f924104cc0695e9064d097c209f7c1c72200678e06173b9342cee683b10bdf3231e71e90a817933f9fba5ae2ed79dfb3d90aae4f243ed64fbd2052525e6c7c533b589a7b907bc95378c00e6d619419572e4314d9298821557339aee3afffd4b8a7aa4a905c3469fd590256389a296cf072d6bf566d8209e5fed138b33207820701443852175f0beabfe923e8d0e69a336c2ef0b7159db27f740ee53ced6899cdfb16a067049fdc1e815da9e24cb40c42cf2ec08ffad4c6927734a1c11434120d1668bb9ac2820793281cd0b7d8ed1807240f5ef40d4a496063e2c65d25b48d61449409a7eb3c473250cc549de97c34b7271abe6daa39e290bd3762da698437ff186fc7d9d61ca4e402f139c2d25ec4072d2b148a7ace4c9e1bc2525dce51450047c340cc16bfa6a0f147663688ee43352d8f3b12a2049c60c60cb052bae0e995fce21a6e4215c3965a644d4a13b538d72d8cfb4ebe4509cb89c2378b5c751907d64369446512650f0bf2b856cbcdb60557ebd692f13690e945ab9a87730929989a2093a01d7751644b3af1c451653852eec8db50523790a06d6bbaa1e2a834b612dab219216a0d75c5fd20166406eb172389d906e2f4c10d16cba99e6a2435a96a84e3aa7d067d3ae761f780527f7801a5564071dd6d36d002740cdcad7e966d32f013eeb2f7d74aad7786ea96efbf372ebad9a667dd9f3c1dfaded50d8979f275fcb7034f6b3781fb5f1756df78646726d5c1ca5dd4e4fffd78fc7bd16b616a741760a223086578ad64b094f3af100728331377cb7eb10585ab6cbe76194c5429fb0dbf7f0b61c67670d09a0386dc7234280c770898a609a7dac5b87c98bfec1f78b785fa1d09e186d1b442ac25f5a6e294e7e693482a5b9eb8ddb4cc426c5eb5e5b99e78fe726643f0c43fe29a10672213d750e05b2fc48aa121c0fb5dc273521ff325b14fd4c09cd92da6b3568c07249851ddf4f7716598afa5208aabf97db033e22c5765f2611894cf15e243bdb72eb262c4de8fcbad9f8c5270251bbfa3f7989d5c18bc5b35eaa4fe139bf687a72054ed3a5fc9ebba10cc5c2eae7c4948579c1bbbb7f30e0e992e9ad5874872772b8bb4e8d51a4bf769e975f6f5e6ae386d5f03b122d56b262015e6e65897b9c727df7c7ad86463326b0a1cbe5d2022c72cf3c7d21165b32f2f63d303771a6fc7235ef2d17a66339358a9006074a3aaa059e0d85f3aad6e8b505c0c2981bea3b33aaccd146a01ca7ae63dd538764a2d52edbbb6ed491b411730ff04624da2baf71221e7aac98bbc29979fa0c32508bfa1e4badf582d61da3d28151b5f218c7b072f656d3eed413c08826738483a9886fef85b24534c9361cc55398a948322d457249d6ebb9849859ebb25a8443a9b66ce415a27c570bb925b1e99f11a253b07a720a56b742d95230af22acd1d310d3b0be015b844d8aaf73eb621b951946b8c3720e10b69b8399d59ab1ecfbf8240ac8bfbcaccb4371c6f48d2ce851cb64876272068613ce1413789c9dd752c3cc3f4b47fa0505ceb8bbe2cd84d11fe135e0523f88f680f5ed5bf5a4eaaf1d757a8851c3745208202d92e1667979464d1a73e33d64c3233bf81d26afd6a3410c4e92fb850c73b0e0009691ea7eb65deee95be472d71bc8297321bd3aae794a743443342d70529ccee8d0c6213df132aa4e410c5bd53527efcab17dd6c6c7cbd131129b17a00939c261c5f3aec8f4c825fea9dd627449d146fa32e362d34f35d9f4422b0f40f8e9a1aae11f01b094f397cc410372bfc60863168fbfd879279e0ee812ad3a174f58d489793f643547364c7ae5c272a1336a476bd544414582b366ec91d5c20a04e2131140581fa7f2cd8f709f8f7298da963cf7bb6482dd52324cf8d5c424f18783dc7657f4697050383a252aeb5bb4e67c47eeafc344403d81b630f2359297723c0a462ec7d9c9534437aa92fc0ecca8d8c6c0d4ad4b41dde3e8be8c969cda31227db1ff3152c1b73f05d60ed747d622b66edd4759a320c6875348e63bd2c48472ead47c40613e68f9f77229997214191821eef70df249dd4682ce3871c8bbf8efb78cb037144de87ade5703d972fbae12fc514001724a6471140c387c3ead3c00772f932cd0ac883b9b37cc4e72903d03658988c945df3ad4be6b2304cba977850041376d352103df439e25175d981f2bd06e8e76f8a76519590c5578b47e53df1e00176ff98e72b1983bc5277272c8c4716e242a7e96949e3e0becc9bc7743e43315015286571bbca979936a3e811e9e8db5985828080cc0f069d31b11181de1a6ba551db5268a26be1ef79172757da66719b25784b623e0f6cb915dbf7434cd2852b76864623c7681b0105a723e962b6667e43a6150b20303533e76470b8808775b68cbc83fc2319540e7b06c38bba7638c38aba86994b13eeed849e7deaabf869144fa15a32d481503b9673b06c1caf85762f066247d20d13519ec83e49ae320c8f1b39a19b16efba4d36672db1d7527a13534fae93dde4d704864bf134303c71fee4a401d836ed6a937e102d9685c8a07984303c8814a8d6e5e4abbefd03bade9910e07f39dd946faf7b872a40520a118432ca0913e534ab35b92f05b6b01c5c65bc0ace42be2dfe2216915802b31c4499d0f05354f5a603a81b8bcfc247d2c01f4337cbf5f0c97c2f3c90febbf45ebbef6941c449e7a9d6c891d7eb76bc89f6ff866c6a09edde2e8c2a6728dc7b68fe8395593ec341315574753ed77ac42350c93671a7fe96094d211a372fc8458565ef1c92e91f57db5399312b4bc3485b306d3bcda2cbf4cab81cacd4be863f2c9c47a931cadff5e91f7679209a3093f85b8a279b201a902ab1b1c6f72e3756e7f70b6d26def1a0ee3b635fcfbb892355e2464972d833f6e7df15a597042bbdb6bc15678487f735447f2e08ed3015fbb1ecade5c58e454a9edab97e04c6ec3868134c5678713886753b0cd13f694f200c8935b7955caa5731c48592e72948f6582da5d4d25bdac98540b6e3b4de4a590ef7f3207b8d9adc5af9ddf01725bf9a6d4b6269f16d82a1634c182466bc9b6a7be1ed7b2682fa27796f810d6726177a34fb273f762fd3bb7b3b8220c89c1b2ecd8c0c03b709bc30f12ee1e3f650d2fb56949ac23a5449606c068c43c26492b002aeb1407cb1987f3cd5bca410a3e8c697fbec40e97b8f05551e52195186f1000a9c2e3200bd1163bfc5141001c8588ad1d86d587190c812af004f611ffe1298c9236e000180d798ed367a273725986af093873fd32f8cf9e6dac9cd89567b3a5be32e86e7996d8aec5570ad872795f2c542e3f2e486f583bf3e6dc333ded9e5ecbc262dea699c21dbf8738f372d235984db7541ac3cb5da8b532fec1fe4d54bd7f5f8c4ae7fd57cf4dbf21e8146d5551b5e2d02cf5f86b4fb002f5e7530aeca61b6db192b7d6f653bbac7b780c49f52aea1b2862f41735b4884393825f4b3a8abfaf44afd78d17b8372db8be3c98abbf1e2523d33dd4addd6a81040ae179fc1220d4ae4a55b5f4f5b9cf0a6a61908c905ca2d3323cb5fb9158ca37360bfd2af1e9d19f69a4e298e6060f66a03939616aade09b9ceadcd57b0088b1210e9b9931db46de083b3b8f873fda5732240f90bc5f2171cbd06289621292756c081623ffdb947cc7160626f88910f0374691d2cc2d0cb046f72c2fec01c08e9d5a3528effab320fcd7ca71d4ef83bcfb30c97a1acfb8e8c9eb81ff9d513dae8f1bc2905487458324f73fb1a973529fb2727ea909dc5deac137a96b419846426a85663d7efd9eeb6c805ddc41a383730a72e0c4ffccb4f728dfd16108d5ebfdc32ead9497191970e329557a485bde65e93420363f2797ce26fa461c015ce7c80e3a16e666263fc721b32e420974f0d0c47287c9f0f0cdb28c568df915d2b762c24511d5e1baaf7c353f45a55731683ab7722e093c429e4467509493d48626c2b0d11478193e64c27135c443758026e1ba72d051ba95c4bbf9405631faeed565ffeecb07c5049191550ddb7703f172b19e61a41163614d0859429983d0869c1990f0a131a137e48bbefb3e0c0994155b4b72bac150655e88ff725308fae5a243ffe5ed013996dd37ecc25ced6f15addebb08adf92a85c6be97768f1cdbdb870e725c11757e5039ffced020840c898705a67215d788ce0457231178e9e08d69f8e6ef0145249f57a2a706a07b5c205bfb5f72390290c4258a40a87767ad750e17c7ea7154885d2bc7aaa36d15c5487a6a47721317acd2e25daa4622802368d7d8caf6f563871aa840912abb7153d2f3e175729341aef3d7faf61cad29dcc9c42372c94d6bd5be78a8bac5bc5d22f268853a30c6d63adb82a0317e246783666e0c5359966f5b79211c04faff8aa95674d60172df4b5e6146761f5bc54a79915468e5bfa184e229364cbe0fbfc34aa1ba99fb125a6f25c50f3640f75d0a86faa65fd1f518be970c4c599b47e889f386259c2f473632555093a96a6d557d513ecd28b811d315a8fa6fa276f48709f6ca89331e728d39822d7344f5918a1c57ea83e515dc78718e701d2b18256b0b82b4dfe7514849e467480e9c0a91ac1ec34f5ff200b8a47e8dddc31abfe57ec63ccafd48f6487529b4523e0052a41b7eb94a7e17b67798ee129215b7b54be958d66659647c72eb2e1d466c25e7860abcc199186e4949d4e093901501c2929d2429fbfad8d463547e16acd8e028de9ba8ea335cd10548cb8c170335bda39c6483229b539d3272a4f54f7c9e0d2437ffdeb4c7b2a064507d8648ac3121cf78551d81e3e284067238b256675ca3817379721a634973699b7c9965c325282afb98a960924a202472d4fb144fcb2f039cd9b4bf3d0ccae89f918dde20ced10a85e23fd53e4cc37972c36aa6337bc738eb548471338c900ed6c31291ba780607cede67e959016b0c3e12958ed32f275638d54bc2544e4ed8df7b63542735be6b5b65e65989effb7a721c5c6a004df981a2ea0377702bfd8ded20988f9bb4b7f0c1f3bacdf1d9e0c06f597b1b9aaff408564a81bfb205050fa4a70fbfebcc3e6c5ecbaf6f9cb02c89665da0353f40d2a4abc495ee8383797cf40e13c2358535c41d51f703311842fc1bc16ecba4d5ea81dd95597170eb48a3a0e4bf9586c73cbb5e0602d0794298371f6a059cae7cb361e4e3f07ceaef803d26d74e9bda5e67eebc49e0f6fa2c52a011be2e9a7363b844beb41a6ec41d6aac8a9cc35438e7df57b27a6e448209df467206e3b939485bf04ce7e2531d2e43cc186aafdfe6ee5222eeeae99af819948372fbab84edf6f04d479f777ca5dbdb0bca5907ba472abcb6151e65cf2da3935b4442d0194584596e8056c09ab3f1b99dd04e1ee240c1629f395c64516dfd2cf772401b8881ba241027ce7b2c30863943fb85c684093eb08a356611de1b2490bb43a652a05b1b3bb3c89b4d6df2b5c9a619201da99425b4c1c1c46b487157160d375beaeab284b9a94ba2f32c724cae3c3363706307a95402ad921a55e15d94ed72058c37d04349c98867050e215d87736f84809d0d6b5ea7871bf686d414c1a772766a7e2e7b1fa8f3e4cff647c5b6ab4d1df9ea995a0173ce2f87d89eb6458272c4040cb2a03216b3475d8354c136f511fa1b5b7ac3f2bedc3aca74a11d09d672dd6b5fff51c3f5ece8c90277fc54e00e2fe97e73b3998d7c08b83b304e0b01727dd3cd94e20340b06a3107545d5ba60333d1a63a16a07808a3155aaa4114e672870fe39714b220a6b3587ca7db9248044b8d96663a3bbf1fe781df6d37fb6b2301aebc9f723b842acc35d9a931082ac77edfb7f5e0209e27e7e3f86c22b2f872d54174c8d86460f9d9b91c8b39d649f829d213791ccf551db994926cf3044c283fdc07b294090a9611d4171f00b089adf3b8984e0db5c8eee1f643f0a6940e723262d560a319e3c8692c09b7dfc4b86f3791d60e6cf47b09307ec3062d9c183344784589aa1a99c220f5c6ce48a5567c204d0f9275f809caf0b625dd811a45572f8c6ac1a289eed4af39bdac1b757dd9d4034aa7ef07f79f0dc6e291deb4c7721f7a1c54a998d18d10bdf8fe05a73d37a236dab66fcbef112fac78cc0cf06f7256a590f156d26686ebfd8af84273bdaa33cb6aad52528b512e3314d48f5ef672bb1e4e40d75ad6c39e728955182497595ba72eb62161517c65f78d04c6420f7043849a847efc781ce324834012db79207d26a433e4ea24104ca9ed4f89c46439fc8efece3480216e2a7aa48423de292bfa96024e0e14641b7d03f0e111da566d71f320409fc3abf215e183e7fc82267f8112049430f03c9eaa66c4769be17972294519e5cf580d21ec411fab2276494fb340cb023d06a4a0a11fcfbe362c15721eaff259a6ae60e75f9ad9dc713be44398da419fa7706ef228801b28b55be12162bc716e7c9f997891da718a451c3d24af52fdee598204e729d27968f6693c3b7b04dc4aeb73b1d682ac4b82d92e169c5af533ecb4cbf72bfa09aaedcdf80c723432a3dc06f78d0b0e3cc14895c80ed83fb7e6f42e790573aec159d12e140a622b51aa4647e8d429fda16711e9433eaa89b095b359629d0e7fb0edec576af972ebfcd1c63bf3161f94db1a664e627e6e600d092cb6db6c0ef14000d61a1fb203e5401d195ee1d5b3ac72d6d10b23aeb6015b886e6ab261affa16db764721d272e6d62cc97ff506156672a321a98fa947c02550f90e571613307a7f14e9589872d5972d16f8d8ef9ce854df708f34d5abdfee9920c9c65a6ffc7b69ac3f75054393e671b1fe297e477218b9f26eb612c4d49254b8b29863c8da5e1d1aaa8b7c18dbe70284fe19328646d9cb91c26341f89af3f444554d65e9eb54cf9a7d01b47221f6cfba13ad3650c355ddd74644a74bcf27378a9668b587471c9b0b1bd041236de22f9f65e61c27ae398f6b8a59253cb92efe9a79044dc818ab9136b3de2972f7ab6618b42eec16ae7c534b31dc34b545b6e446fca36d822009bc351b009d72f432e9631823c3a0339c30b7c4a4d4507db1bbc61b0578c4d0677f075c8a0d72b0ff1fcb995cd9c288237135301116002e038d54e59325e33c79ab6465bc0b0698c789a1eb2ed047756e7c7c74917fa682c11ce864bd199902e7983e57541a583e585f1fe3721c200e8471b92850dbb10838f81d060d805cfd91add5cf9d96729baafbfcbdc5b5ac3e7ea59ee1de853f6f08b8fac6830b2a129456610ab0e0722a5656e2b35a81456e05e7343d4a0213c5e0af6a07a1b851e5f0ac678230307213f08b0fe37464768c5baf94e09de084143ee3bdc94592b6ea36d2205ea8b53faa389153f64b7f5c900755b3cc4b9909c4a33cc0051fac6bba4f837f9580a041d057ec20c0539a681fcc2a6944e4f76be33c8d27a70be29057fd49f2598bba723c46efaaaba923823ec71f45b2c8c44d8ae64eeaebf918b2c29c2490a8803955dad93fef51154ff26381aa7bd4c08880cb7341bfbfdede82442e554ef4678e72b33c6f34e47ce1c8c62819e5bb293600bc8fb2c7f0a4e13b62e08adb3e104b6880eb740835027d4e66874e0263b2a4cfe43d18ec163b18da3656363c82c79246322faa5adcefe08f65d820c1e15962cdd7e3dcd354dbaa917497f0829a20c2727b35f1a49a2ad6b2a96d28dc990e347d3e4c8dc78e40a8f95644cf2c8068b66bb87fb2998a6e95ac36e8f3d00618e8daa5341d7084798237b1cdcd90c44e1c6662321fff532c1d16c728be6d265eb0ef74f4fb7793aba3dcf8b885e5e2b1a872f3bcc841fbf9676b7371799d9d6a0eb73559542aa83fae72855e37d04877e9272d553b2447f800bc2cfa9db142e3e70226cb6c80a4faa8265ea237ac920b9972cd1041efe6cbcafbddd4494a658a64d55495ffa63e1596fb05a61a120cf32972f2b13eda84653aacdf80f0687c32652a1923610e27a84cc11f6b39322f81e91e19e7a48cf8ef56bd7ca647ee96c1c6d4c6d066d3998009546701a0bd79df9360963cae03883e9b9b25a5078bb7a8e9a7ba4c5160a2f41061a4766c55a00f60722fa11e3f3b87b0990df7415b7616338b7f4a77f0a1c6bdde415f9542b6905672de6fc6453a32b88173309c8bcec9c06f72a1fa54dd4b8b5879c95221bcf35b350d5f9f3acb875fa97e5707ff13cecebe3fa96a741fcafec437d009ffe6600a08e12d4b0549b9b5326c4a66ce72c5c75cbbd9d3c8fb0bb109f6158956570092722cda91273a95e18c19c77d441cbbfce50f00460aa93ed9565eab25a6eb11df72ca4017e3817364018499ade7cb5070696340a58555236483e1cf5c27c459c21f1beb32cf6ae7e26c98b99e2ad8a164a325f3d8a97a59266f86614d35d82c714862849a4a02e300cc7d10b5afbaefd134626a01f8153a89aa6dd3cf36c27644134df6bf9c447b9021c2adb6d3cdc272ff33ea4b9937fa93c7c5ec02e22b18cc496ca1f744fd574f4a555b95acd81b0ce47d5d23531d545589a32117661d1e1572bac264999cf68961d4c45c01240ccdd156aab5dbaeea656366964bb7a5740e2fea9b62239f1180c8778b8dd4198b01a31ad88e2bbd1e93e2af0eb17df8c4d42952dea79f638d9d8d39a7b8818839eeedd4ca655b6011e40a61e1b000723a98728f9a9e116209ddebfd5d6650ec28a48a9335cce543ba019321116334715e3d1e18de7fcd344c75a05420e3ef5c9e91ceb4caad07f15983c259f3327bd24e7372fe4904f9130b769be465655a867fe4c40af4577c96e76a850f5ff79f5d1eec3cb04eb67718243c316a826c6d1ec024d41289194d4a47ccf08e6df2cd05998a607be8da3333c17fbf3b7a1c92ae53d01c9b3203de2f23acd0528228019510ef44e864bda27751af5ac36ea478e71d8110fc0a0e17ebef42855b5b5259f1d7252906160d2303b14887acba95ab2ba427ebfdd059ba9d689804ac8c07a8eec24072af6e1c06c0cc1ad4d04d4f90434fc858d62c2a6756322d264e6313274c63f272674b8a0ad0807b1f05387aa5e7ab022099added587313cc5df9c589ab8f0a858624ed4271bb7ef2f96aefe06d01f49d615aaa09e6d281c65ecc5a35a2d333d53f90ec46ca424361d744b9d121562e6cc34e939bb090965a3da3d3aee20701a721b0080d30e35ae98f9e84638452b9b7066f647da69a90358b0fc419f287be672529974c1f3e260451b504817dba90ac4c47c7e23518dd8e2b840676195af8d72bf844511c2d57b2b57a551f97836c1ac39215dff47b47a34582ffed9b5081072d6f52892856c6bef15e8d9f0d344c3bc5c748e2fd97150c8be606116fbe3f0469ac14ea69657038427abe45488d2d5d05b812b9d0f3512fca51583ca91e1e97204f6135b7ae7a7421a217c6a3bf3a2f92741c1c947c03ef594ea19b09a23003632ed8906e6c9c9d7a31d67a1d99cc280664a7c8d540d5d8915243555bb7060308cb5a09026458fb07372280655784ca817b435b34b5a3c7a0ce0556cd57f731b05dc4dd8240ad5c0edd4997dae5db79739ddd8e8bf8ca0806440092d7dd7ce4f77f0d847f5b33bf4a26d4e9789bae50827eb9e30dd0d06dfdb6af49bdd8a7a28a7e6e80241cfb4d0d08faf45494f246a25df942e8157fbd2c60dba96c5b531723bd847ae4e1936bc907b9a6f6e7190515c580ea504f3c15cabbf819b188b33720b63fc57ebc763730af109835734da1a96245ff7a5064fc87fdb0b9b5a54b042d46cee8735ff129c7523308da0f3af2c80b1b892ac6c1bff61c6f8329d88f572c075f312d1627b46ffa6006efbbc55101fee66028bdc3f297c61cdad8684647294627ccfbf7c6dd0343a431878e4ce3469620ae2a7c614a18aeaca5230298a5ce1b051316d957a56b44f7e3f483a0c979e70196074d9a2171f5df1ea5ea45972e59abd12e604bba4ee836771f73326df78162019818c60388645a2e4b4432e2ee73a961e3c02071a12b622dc2f01482556630f7cef9e03e708ed2f8371cb18720eeb56f3f2cf4932c84cd14e29cd7372e00a14cd5e258febec74ac139988fe7289494baabb17a518dc27fba6467eb53c545105a2c34d91669c71458ed6ce3b72621316d599f51eb6a4ed9053c6f30df8b5e9bb17f28269e8ee7bd752ccb62d7268710a04f123a0b6347a4d216472bf81515c5a1f4fb76630c18c9dfb38722108900705c549d31a40b5d8382bd317a6499cbc141efaa155b5f5d9eee72b970a72b2abff584094a0f5de1434ec2ab53607a8f83d91f116518cfbfa064b702584356be0503cde8856bc2c1f51fab0d749e2e1f8018c116d78ab9570094a44ecc40ff8a56eaa5f2f7b870f573ef657bf347bdb38b9438e7fd65c66b5b409cc229f72f93bfdb4fb2a1eba0f3c2cbe9d849a4c2fe3bab1185c9a2325de4c2d13e95450ded2fb379b284e0e132504c4bce797d19a1dab93dddf29a21591cb5c20e181728b7ef063f9f8d6b0f54720322852f0b12ff6becf8572ab3e413748270ce339729bf1333a2ddfacb6da7be10181a346750f155f833effefb84cb65871bb42327076075500633ca22e6fe6a51d75d9991160c783d7e6af214db2e1dbe7358fdb72dd26c0e04761b3e20e96569176c554f9ad2d1327a1db322c93df734b9c83e17219988705fcd5617e7913c2a9c4422eb5405285a5c803396da07ca8d6cd5f73432da36a24268904e87eb8d95d54091f50d5cef860a782af434c5c2cff183eae72bd0e7756a822b68bdbfa2a665aeb1f449611c6bd1de7c9440a40322a3d25204ec0d62f897b35aef461c9cdf23eb5748bb8289e7a8592ebf31f1ad81e670e4e72132dc58353a9bf576abeeb5e46a470e0fab98464920067c247611ff763d75f6c0e544965facf8898698b1749f171ad83dcde317ff38c581f490cb334792f386f7b6f52980c8755a2cd01516ecc1958679adfebc98d7bb570f664a2a094289472be36566d87cab04a8620b56eac00cb27546abb6a40c6a7ce48011d6bb9d60a725e447b8792774b9f29ed9582f0b3682bc2f2d6b861fff1e42615e95111f00872cf6df3ed5463261b3c8f03eecec8afef1784981de97b48e394789994bdfbe172dcddbb07b1a9fe1e075193565e69061c596381a14ea3fc976c59376007860c398086f5a90359b14f6c0147615470dc33207d6113739bad005f585bbe53859a7276c537ffca13fc35065b08c9cf37571ea892c3515a3597533bebd36fa2e5e13bee83da562e4c596ee0daf15d9b1126ee7a88a5fe5267d3d05d88c96e96f6be72547dcee6c16b7dc8bc63339701dbcc51ed90d4422d206289c3d60c4b2b2222500459b3c3fcea9471325071d0f5b2cfe40a7b685ec1b7aa3685aa48fbc39d8c7283ba62c852e723e8c6888ce27db495080db80eaca7b9080cc01a3123a25d9572c6a5c3a547f13e3bf1e9ecef54c12adb12a4df84facde0d1431fa8ea8bbd955cb895578faf7594563e1287e5d3137647c2cf7b8ee336acd359d515bd6d8f66499030f14140072918c9c4220e283f26f38fa1174e42e1232d20024a068126970f1c7cca7573f23fcf69a06cc15ad063c5538e8ed4b7b7b26915566aa5cb9971725070233cb80e51eda869b21517533bf4b4bf01dee1459060664f594ebc1a266ce19c9036ef33c638a07633d13777c1282b51a4b07e5cebf0d98531d5f3f096729ed8cf60ea10a1aeb51a23523636fa4d5ce523d735744e677e91b9836aaa997295eee6bd535d41379e1f6a141872e6da33d9f023b948409c43f816fef3b709727463e04df1c852e9783284340fdc754f62a5291a2a11c582d292f65c5c6e26581dfea529eaa4430bbcf0da18de3471ce6f5112c6501b5684004ba87cac3a1672fde4f1ab97dd1825ca05719b4fbac684f52659a32f9b68ad752b257936cd847216e87ed4e8da8e8c1c3660c78d7c60db628f76d4283ece96a0a167d84127dc72313fa6d5036d66813e64dbf5900d882f5da4011f7b8013a8db78f2277a22fb72c96dc13c87fc6f3c0488f55179e69ff0d986b70a6de39bc7fdec9772dfae8172a118de3c868bd1be540f660f05041c7574e45169a1b7a0ad26bd1355d7ed4a725ba69caecc52dc0eaed14e4f75988ed5ee68699f0f08c8cdbfc528cbafe77b721f5ceed24f709f5fa6a5919edf77a2b78cee00785313250c129af0aa933ea4723225fea1047d6b001fb4a0ae5d9449ecb8a17bee61552263ced1950f91e16112d41fc9d2669710dbcd9eec932914f02ba6df6379f21572626f1498f65f832772381fc5331743afb2938fe1953f443cec80ebd8a9e5acfbc124026af538729072bb6c468ff12b0100d049442463658ac92de835b91e4c7abf5cbd840fa9baa2728cc4ba3fcc44ddefc4a964ab390fc26c3788d99db807cce289c38220057ef62fbb96faf3eb3be6708168019cc455e08723150ff258c8968b586b8fd007149a72a429d768d2e61b4f878e4d0c6f09c96f30c6bc76e8a2d485d9faa5bcddbc8e720c0898f00ec32b4ecf9785f045d851f61e8143d7979b888bc98849cc051f9472ca44b7d82ba3153c56865fbd09f13863ebde3f0208ef914a85e98ec900d932726837303f32fd92a057ecf434d003dd4e8112461acbd235272e3d5dfb8d9fc412a865ade24002404f4e7034d3b36a07687cb936b4d0bf057ba6428f9b90ea5072099d412d8bd7377edfc9fd72f4551efa6868aedf18bd1d218a9850f958475c72b8a1d9727d10d20b19c026a941d9deb4114279071c8a6d0cee62ecf61b0c9272256e02793bae2a5950ba431c4ebc5074c8759ae22e13bd5ee68e89683b8308728108f2221b35bc11b19161619a9f9b9232b69b53f1f1108cac288edda6967d665080260425ef78e66ba2fe0553fa2759be47bf474f7561aeea2c47fe7638ba72c15a8fb452cfac30f65742cbb0d7ca2eb73446cc7b0a161520e9f51e14dcc4478cc2697e3fae78a59fd1118c16c9be4f361949b078dc340e5a4b6eba4dbc8e723db62c85a833dae7f23111d81d830089f898a769ddc2ee018c45a603477dfb72595892cedac8119f02717752de87df159aea8f0b19e458642e69b8a32db3d046b28a6344b64fa2c1da7a2203e14fbfa27a17a64606d242551e057e36f0fa1472ee9d9f18a72aa4f01258171456f91e56193bb9db05f063d40472f593534ea9723e9f963531a0ff639ab65ef67d2f155f744af3c7eab989357e26766ca7ccd2727bf8e5dc11fe79321ee7e909c70f3480d4ae843b03c0ffe4410d2654d2db2b72ee7cee3f4f0ea2c3f929c32f5042c49523b8697dcbe51d490ec220d4d2c86753c83d5847406c66ad027715d24a083ddbdea95c256bd993b8ba0a2d42cecb846dc2baf2bcff7e7c07a485eee070d4c1572f1a559fffd7489f0f6fd751ed548272aefae82deea3c4e60562c943c56dd0a01c6185f315d997ee42db55901d5dd5720d2810f63d4ab9b473018fce208eab15e6e08a2d89feab94a4be4b0e3d4e0672d2b0a2c65ad5e1386bc36411363009a8a657a8c31c9a6b091b978542bbfde672e80f8f89b7755a1d79046f2432194ed269c211df908d76f03ef82d630d7eba5c19778dbb5818f4302f47b199027e6fb0f5f5dbf9e2415dbe4925e1d1461bae72e2e6135e8cc47937e273b0857756c0f4a96546de9510e9cc6d81c199f74dc62017ff46cef4badf85fe0ca36e19b2648286dc50cb3a4fa47b1c91810016016a72a2d5d3eaf28a58bc299bd53aac08e8132eb5296d91ab3b431c4d5ff6e332806b2af4caed27c7434450aa356c4ee4405d74545c688bf53839db5f6af234f56f1116d75e8cde538e11357693e478739c049bc6a6217f096ad75aad52709c59970c4d0719be482ad3a5d9aef3f88ea0b769d368e664152d3f16bc266aca90fc6c72b816db05953c24630b29490a4c2087cd78b25854b43a817a8a59a4a0cb1e186ae3d80b48186d772cc10ee6bf59a9a2b5988f9e90571d727d76c0c7605a47fa40043b5ca7990d6097e0820d85fbd76f2beba0f13064e286d721823f0401cc3972e7b7b314d79257c722f44887b00cfa2f1e6338cad22c8c2d0a1610a42b268570596570f269c7e197d0f35ada3acaf6eb19cdaaa31254f6634a4f22d768dd21722156ad78e9e1960ae6ea33616c9c235c88f80ad337df5595a094ecc1f3ae3523feee89677b937fd171d1177ad31db57487b1ce953d870b624d701fd13700385a7a2a4a4ea3952348fd2d4acd62e1f45363196947e507e0124e3c4bf5ae4a5872615083b47d0af6a897ce9f6b44f23b698e0f6849c49b182c3acc164a47fd2872d5abf8a6e8fd94fb2a0c4b9ff26807ec877d58e2151523a4e4edc3724ff266729234791dc367794ba4358f91c48bc61fdd8e6688bba02a3d75d94d593b49b82abebe5b1ab07432a04194fdc83de90d0f533062d96ed7eb2d3b08d1a6b925187286642d8911b06b6b41c7f7fe559c5a42bc8db1511be32160976d37d41d2f9472e4c02aaf97f5d677b59714ea64fdd077557e74149bc7e9c55258624f8303524e200aef98ea6c97b9f275d5f732e417f6dd56ccffb770d10ce3e5b88c270c39234ee2bf0d71a219e7f4d1c964799112a45ac1d82e53ef52239809bef0c6ffba72a2c8782bfee1f27f9bb7c359e4f03abe89eb8c67d6d12c6c794efa9bacff4e72c33427c352a80f2956bc4b0b292b348a2f35ffe94e430dc38c7fed3266c6200c636db06edeb1fddb2d63d4522d617e5dece3cba1d769c176416425974664057252d8c75241769636bd488fc75848f037ac14f0ca28aa7e0f7ff65a8592dc8f725f2e30a0c3e28a3e1e897a244407aa320bb72a1c088d81969a33e97167ee5a7209e33e939c804df405a21c42749f205ff94702ec8ec93abcac59ae7261c63a37592b79749112597199cb42522fa7230aa6d0e9054ecad892644e505acdc45772787c4a5efc6e69b38dc7f7baa398314063483d76a55c283a4d49bf222531e72664f65e3732a0152507aab9db6a15d96e290652f7e03981d2279e29d92b9152153f139a24c65f203d092118f0d3d891af6bc2a6b700621aca2f3cd8b0ddc238421894172eb8b1ace800c8ad16bec219c609d054e679ab04cb34e57777efda1b72228b83af1d51c91becfb505b14389bcbe782fa2cafd16331c735f607a4502572cec8327a3503aa0dbb9b328682e66129cac026db64e624be7a34e7f5b7d025721289386d5e994fd505a22dfde42e7215a040eb8a35f85ce3ead3d416bbaeae5ebfa908c22aaa230b8891e52f6e1a83ccaec3b9b96dd750ffb9174fc8b25fe73628051e9188113155b1e83c36b3eb2707ba5400962643e0adb72d110aefce77274b5cca40f37fc41525364dbac312c1fdaa5e651bd4ec01d11893f331c40aa4729581c8947577ded9ab07946d7247f41822869d0c2a9423535f0632662179986ecfc7dc54f65c3713f08af1cb485df94c72dff73f38e0edc3d44f262905513c263d1895091b56fb0369679095911f9fdbcbda2ec8a5f61867f91c3b7a2b9756720bdfed1076ae09c299d8cbb9821215206e6d28b6e04b4c5c5540a23211599b72d4d0cd9e1343e03d6befb348fc9937f611a7c1b140cb9eb644ec3d8f9dcf8b722714a3f46b4063f7ea537d11b17f057c0bbbe9cf6dc1eee299e25b45a5ae40727ab946e030d9e672108504e94e6445dd49480d10c2d182a9a1bbb3d97fde0072bc65230a28d59c09e80caa8867d0779d914ea3e1d0f3e2be9da6b0ac9a5a437242d709811c26ddcc5c5c06b3d8d2ce673d1daf0dc1155f6a6f1af74e4370c472a9cea0265a69c57c6e5a5e72b3387a8ab2822931d97e46f7a55a50b564a8ab473828d2f4578a3dded4a8e1ac36c869ccbdabb027a9c2d91617423be313f06d720cc1688bfbfc9ab2cabc1cbed3b75be93343cbdf5d7660fbab32e935121d611ce0b3e153571d8cb31dd84c4344406f063f2fb881c8672dd81c565b1ab020ae23d9eb54c8ca65859fbbddc9e0a0e1b3b5ca500107f3b9e8feddc3a2ea518bb572166291fc8dd5855b8203aef133844eb17d5131963e0bf15d693dbb190395b2723291052fd6a265d5349e7e87d60c542356957cdac4badf9e97d575d34bbf5472c28f206229b95fb0de5e03eec23040d80bb31edd25aa90687fedbea6da277a5d759f000a92284650587c7bb4700f509f48648b36d6b81362462cd4fe36aa8672126695724e56c512f63f7a580f7174487d316fc4ca317f174e8bde66cfbe777267e4fa1f95a20021ba559887f2b330ac60cce190c9ed59e5aa3a086b08135e1b6b998651d3c18fd185bd902c4b21dd5ed56729106c656498d83010c8ceee4b72b29ab192d062302b30bb5558706bb75c395320e3775235a3febb57a3246ce07285f9c9e78110f22c4d60786a052b0d8da181ebe15b0fc20a1b2861a8e8f3f1215a249d5ddfbd7e16c3eb7cde8f4f60b9763da98b66e2cc67b0258b1d1afb0f2e4ae9af9cac0c4146e5e19834db3f93948de596d42b21cd909d986e7de85607723203eb7fe8743acad3eb72032067f6b052d9f1ae4c00830c5c85ddfe8d431d06dfb5fdab6b62ce60c94b74670cb6de6bead2e2ed5f179e440a9be3b53fe2fa72900b30c2aac53e266687a1a01dfd5024554c6d9bda5413f418d233ae6161975d0e074d8d21de78d615f797b8627fe2c8434232a3f03b60aee8577282f25d7b7250a74efe006b8929ba83d7cc9ca97e6a6493e8ffb0444958134cfc00602d90728a149aec879388d4e4462fc684f9cdad8aefc0a052efc079428dde9c0d8570723c97e9c27bca73f67a6f17041d2b01a4ed6a7636f8c0d579f2474f54812ec864bc820adb5a863778db1a4e2d6ad66b419a178c62f16d883b1f74fd6dd7d075729c27f5a66371253123eb12ed00baece339f6d4ec9779ca2fa099734aed86d80495952ae83b8a77f87f7bfb6781226fc65eaef6971d90e65fb8691d53ce7fc83f237c97c1103c953555b323bf993b37cc0d03fef13c42c5404f8f2245cc8cc7724e8ac7207bfa8900ad37b20870aca7d20f7873c2efd433e348bf892c4a647439d155dc3991a1d54584bc22fd749fb11c65cfdb1b0e995b7c9add1ba0e5de537205eccc0647cff35712863506992c7924292a0b60fa63e81f0d788545632ea73c6ccdba5afb48d2f9efb7e636425a5357403c70944c65ae8ae1338afc8d891872828063ef756eaa53044179d1b31149d8ea8873e80ecd9a14a75abfebec512d06a9957640f001914e72756e0ad9a422ec1661a833c53b67e6535905134499510997a3df45fe91d72a32b05301b2fd66de4cf105aa017a7a7b92a22262d5aac172f6add45ec6bef6cbc17d8caa86bc78c8cba15e39001bc5714bae180a58159f7221a63f7f411b6139055e2f71f3838a33f7863174bea9c5e4aaaf7db1d54fc672e3dd2327a3b38986c6e7886a9b782ff3df25b0c1f9abe255a7a7c26feae5f87285dec745116b928fe602d1ac32147d088caabd8d7dd45e868d0e12f97792ca0beae6c7dad5d35a7c405ba5b9823e79aee6c185bc3e281ed4c77d17ff35ed77725570b332ce0d76fd835c52ef77ac917f47bfebf5c5192b2928dda0b8cfd75372ab35150ad3aac643187b982b386a3f3dc3e4c7394c36b84d8cdaeac9dc9f8072f4b78133b1932a83cf7c250f012a7b81431e2713281bab8976e71f1ba73f87156bbdaa888de1ec8ad9d45b0f9e48563110ee55cbcc7856992cc7537553bb2d5ed9725774b6b6dfb42c590974a7625ee89411226aca8fab146e64be01c6a06872468602dd5b438f1aa48a8e0c674bc19736c835eb2638e158fa8ce10aea2db472fe4cdc36b7873abb9d59834cc1589bd674bc81e8d96aff842c27cb7e50530c721a8636715649f82c00a6d62acfb1cc41f2a266d35f1464958e531847369152721a81d2c4f0762379e69e99d0f0eb5d75e03a37ef0652b497e0f1e13138f30a30a57546c863a3f250b1fbe9e9c4c22118e1abb6da1b4fd8408bb4b31c26483872f4451dac74888672b4de6c9c2a61532a895fc0ac803e777501c52e2def50257214247c8be3f0fc31e7441f9865763cd8b60b15b75230de7bd49d05efec3cc272cb556c291d0cfba03b54a3febd69ae0abbfc867a8ba93d88a9bc082af1d41a72eb5d9f3b83c1c8f587a809c4975c4097e6904c122d219b5328e9f4dfa5ef3f504b4efcea3df0aaeb88ff088e85ce932150be6d1db36bb2d582457e48fb233a7218aa9fbce3d4f49f59553206842216ad70559766292ab9c7d03096ad6adb221f1b8df65f007afe48a5f7456568e51eddc940fe9208b7bb383f3c31f16793ec04312d43a8506b5ff42f12a5942e7d6b39528b6a11141747aa17547a9b9fcba1589dad1758d3310a88153be235b58314f3253edd0296320c96325ff9cef38d0e72290e7ec69fcf417e8b404b466b4b5530c96a309f0673f4cc09675a158e973072e94cd3c2ff6b0658e7759d379da83f4a9bafcc4c9330ff799d059946c01f34723e7837e34bf40e7c02ef29d95aada8a54f3a5ac734996046754324ab633b4333d3008c6378a45ced40efac6d598ed78901133b56e0a4dd3cc49ac841f1644b725528aa75f81266e9020f363915a604701d8a7a7c41d800046ad45ccea3acf21e41d65b8a412e81f66e33ce7e1e67add8ae1d5838224a8f85f138b4d6f368b972c37fbf232f539802df2b0e25ea233f8b55c5089df26dd778bab10b6cfb277a7203fb5f4b8b3a7adbbcc35eea4dc101bb52fabc8a42720992bb5aef4af8d8e137d51e1cf5cdca6bca7c7cef9063a8879bf5304139df2b567aceb9e0df880e59450afbf54b66011ed3331a4f23f5cd280a6f883198c867720d9164ad807f738c72f173cd1b39ad2345d22d630e0a7be61e0246163e66f2bc844a5426f0b9428172e4d9bf95c67c8327b54fa9e8b9e53978e6c48168f370255b034e752ea8f4d472bc54e76a247ed9e8ed351c7addc81bbff02c8f3a29558b3882eba527471ab77235ebbafcba7d40957dc7ff6628120c0caa9cf5242cec60bfe18255df82cda372062ea264cf6a98a773f9020d690f5f4f6d9a176bb4640cdf6dd9e4800d15f572106e74f20c26f83d0fb96270a86219cd9aa6864f1e72e574ebdceecc30ec4a62e5b489ddb0ac7d0f134fcc7e067edfb1e6368a20efe185c59f1fb38a73d63326870c87954e1f2420942f91716f897fda260bbb5175513006c986a957c50b6672d9545c24058fff0dcb6c1d8fdc025e42687967837808617287efa26270085572154346a6259c06d189edb81ec7e594eabc6e271b070513e0b49a2ad641e75b683fbdcecf059d516d7513c5b081c74d4f5e4e2342a8a879e82795a83eaeda8b722d4e4b446129b9f4df5e87cb1fa91f4f3cbfbe9fd6866d251c9463d3e564a2728ae1bf0b31ece735707a5bef1fc856b51462e79189d51e0898ab291b545e2a725761c923c50887b6a4da79eb8e218bf49565e1b0abc436c8c56d401a4b0ab67235bcf08e1f3d698746fe3dae9e5c76cb2b71573d6341847bb18ddd884ad1737227f9ecaa9d0da667070c347ba6925888ee34c9ebead1893db40f2588b13b66668b250585b726acbc38b1b98b2f08e3a6b49f0db819bc8c20d87a87c23307465e95edd4de046c7106b85ed454f5190529c65ab23842b8d478e27feaa6f1313672fe422b9f85949eae251f7d3e3314f03cbd0944c710bbbff53aba1259a77101726936f6ba1f932258ec467f423d43ca18514b933ab748eb6c3332d47905eb7972fc79d8a03b50642dd660ece43149fb3b71a98a7388b65b1d10a23c99df272b72c7feb54d82dc04a26d2da46eefbdfcf3ddfae1f1ae09c1954b6e6401e164ce726b54157fb221a90a0f85193ced2b4fe8d7491b9aedb63d6e14256dd74b069172d4dc74f825c09e1ced32f237262212764c64f308e6f6cdfd7dc5c1485eff6d723ca9af03d693ae28a32d27212b4cd15441ac825d595f579eb924df500578d43c39876ee5884353b01e4e59df847721ee295b550baf21b2672d61fa1cdf8d2f46a9840a28198eecdd0702577540e2ed55180681207f3a6d2833409bcf0dba76727c5090a8c915216ab00e8bfe45ff1976dc1df61d8317cb350a264f862394be729964a1be0b040e8e459b4d9ba98ba85af9fa8c67ab7c23ef37adc8fc9d415e729fd0063b9ccf692c399f81702c40c31e208d124a487ddf415a8342b04bdbcc72cf44c215c417495a1ab8828df96830aff781e0e3c0ee3711b6e2f2018a932072e63b682baf82e1603c3f0c214404f37cc0bd3446f5b2e28e96f14b325e20f672016743121b15f46c8815f8a68783302295966ce897652f10eb103a4439a1fe7254816461d4ca9964b94b5e0356866e79d13a748263c8c99e982ff113287b2031296acc78c8a095b3b3a7904e021b25e33f80fb89ea13345d2acff0b213f3bb722b1b0e0bfdf7326e6965c12c6b5d6e57c38bb78e46695996773c1b2a84360b722f46a685f62b9acb2d5066365d67bde2231e1acf6f6bf7ae4a722a02f812fb1821968f2e4c84c41d0d46bafe532b36a99749db59b3cc96908c709e2e82a5a4641de6da4f064cffeeaa348ddc38326746e91720c2332f5ec91d0811c7d3c8a7728c5f8acc4ac5c58926314066cf3db821541dc226e886424aca4770bd6fd49c72f5d181d87660aa63a38d95b3f31c2c422dea6000954d10b0a8e707caae2a15727321e80a9fa001c3ae16fba8d119dab2a8b3bc6166fc3e0fad65cbfe3d0ee57210283dea29c88dec4789924e2ee1bde4e6860d4f52afbd4156845066ba3c9b378b9974331485d784b4e91cd29758628837e18135bcc418457f94ee716db0d123f49a82bb578f75ea75d75897b64d3e0cdb5dc7747aaae545b2643cac70f32172f98dc7f055422e89c4834eab119725d72aef4670f0eec5c06c7defe17e70d13a35135e9e9acc76909eab13c81e3f13859b69eda7149434d8d56e2c3fc0f38c5f2e6f8fa0888f1f813e5e5eefbe4fabf085f4bb7b25e96e89bad16d404177c15a967071335144bde5c502515af42c8fd2b6b5990953073a07e4a671e53d99e8722e742b14fb8c9bea3093367db1e6d86d79f137309f6c9bb9b39ac2928b257b72fb855b6fb37b3bc438227a0cc604a2082d19fdb5fd202d87151e0251eefda630d652bf4c4419241e85b8703c34e4eea2ebffee580ede59a1caf934b5ac6ec97297ddb1e224808416ad034260d10543498a874b6f2a46788f5a5577178a95ec0a4ef420c194fa2931d54afa0b648a8f07c406e7f6d5d9172b09cd8a8db0742f72e0392dbfd76af955c479326969621cbb182b58568681f8c077fd696e503eb009623c14d3416cc97c117eb04fcff776e3869e6ee1244ef30eff5fa61beb9a46621a0e22c057371136f73e3708ee5c0dba6e18370a31222f2dbfe35cee699a3d728fcec84f8997b1056249b7545503bee7c3cd03f59d00a93be8612b340a6d017265162547a8bc9e22b9404db81af394456dea316d26ac7e632c15d63fcd159549a8772bba63e051440ef8a58271998ea0ed9c0f247be89d29e95a8c6178574b722a84f61e58f89307ec69904f4c9a7bf91bc226a4459b31e3c4993d5b6bf2af068a5785980e19d811aed6c0160e5cd48bcd5b367155ebe2c149aaf9eae5e8d74903cf57c1e78d458423a04823193624b666653543cf257a930540ad2081423c729c194dec9c20087583d62b793b46c5fc6ab670e3f55de9da1256efa6203fd06b59f795de785bb5b759595a68cbac65ae6129dd46071a1390c860c9cd377aa8725575b0d88a3c7ae5665f6c258430fd129a582f7628ead0b7cfebaa59154b5751caee51c1fc5d285fad3e37b9af4e3fabff0da6c6aa83240c5c5ca3ed6f6764667058e133d1b23f8ef257e543b17012aa56d1cb261b6a0708e26c37a06cc0370bbfe71e47d4fcf007fd7258eeee24f4d80626c5877b50999bfeb3e03ce86a8872371128ce9f0c9e6d4654111dbaf86f3231c2b7956e655f895ef2fb4f7e67842b976f67c63ef4bf5a5303571f186114f0cb584c7dac0ea7ea1eb13d58eabb78440dd986254ca36959bc986bf7e340879933bdc45f78f8c1a4f0e9152eb5dede632e51cff83c0c0334fab666079e8d0bd2dfd82637a1bff3cc40ed85b96082b43b7ca53779e2cb7293a5627a60002b1ebbad80b967c19140f879f0b30a74217672f72af0d4d9263cc7fa072d864531517295d69681b5372b086ea4a081e8f86172232a4904a2e7d7c37402b808b082519c45a6e95f69ab177c2d9f380dc6f15a72e08f0e0fbde7869bbd2e3446f4d0c9309d275b964db044af3d0857901ac8f855cad64ddcb748fe5412037b187f72283d1831781326cb7cbcecdafb6a2ae74372544d52e5eb8c58c02f69f3f672baf783507ed8c518ef223458039c306e70085a31909b2614980bc7434fb167202e1df7343379d7adbeb7dcdb0fc9e22b073e024856872cf06e6cc573b8206c0a06c2da88ffebf4ef3800aa14894eaafff6bc725d48fa70a614f48705286a787d2e3e540268d90b3395cf48987ef9c7c544622e01659fa8782491588cd7281eb121323bfe6d15d082e4dd7b7e73d7d3cc34ad6cf13200c22ce5f2639efdcd7fb3ade16130f3b14ff41be78785c500ab2f309772ff945bbef68e9d459bcf3f5ff78f0d8158070655a980002364229ded63a73f729f7438d7f8a3ba61b2b61a78bf579dbce523876883ca1585a616fc310be3ad72aa151f907103dbf6ad1e1aaa305d3074e409b8867a10a9626be374ef23660d72ff6c1d15c670d615e06192919cd8070eb057f2e981121876893f98f08e6de572c38f37c247ed2ed1034a24b0ff7abb1634a198490ee6b11182415457aaefc872c9f3015f54566dc9c30c027e99a579fa68cfe6694f7cda83684d4faa0749e141fff69c200bd7a3cea1db3d656f70ac6e110e0226753ee061dca0a2424d482b72328a2d806e4d0a906ddedfef13c4b5ffdb4390131762b11cccf82623b674615b058aed076f06f031f0b4f23aefc81221e4fa70006a830d8646cdc8da76154514cc0f399fcf682b0ab8dd46f970793be7d41177094d9dfe39dd7c073c763e8b247f4143d79aea85be92d8fcf9688f63d828a55fe64d023d948b244a130d95ef724e975ca90c2898fbf3c98ebd01806829b8311c0465760045d5659b4cc82851725ca38dfaf44294fa7ef12f8487b24e10acde6c8e04114a13278c04872de1a0254362dfe4b65d875f3e1214100eb3683a90fd234e9b10a53f102ceafc20427a7282d5213b00edc55e250c7922786411fb07725d9f468d1ba6d8074bd6bc7bed72661057aab8845ccee976165dd288addb853cd0b744cc4b52614e637d94e5d339b8434d95bb4c9703bad2a94729c9fbc370dee8bc343758fb023094cd3c140743512091e4d9fe76950c7a90fe7c6a080adf090c9925294e76afcca1e4d7c01b25c02bf7db6dcfe07d2a10239ece93ddebea5b7782c6ffaf2b1b97467820201224847367de8da74528ee1df883c7c9b16343dc843d88781156c022a450f71b4c728b80f96523e0ee45f419f4414afffb21b57f1eb24af41620afe7beb84bb84f7210289349285d102197d4c5c045dd66faaf6bc613997484da5d04689744ae1d11d6721417a898bb511b35444d443a7c1c1dafeddf6cd4b3b2c021222d047e8172a360a9ab5d7a2b0c54bd559b8d654a04dac3d9fdbe2595ae4499877e56e18d722e833be5bd6a807fc0a580e4d6a8a1f338383b6a6d015f6d6875b635e0aefd727b9216b7949f76f26e29a5cc9b6dc49f896e5e2def7f9d937fc18c4d702b5a72380629ff11cde23a0c56131c4463cc55a356b152c1cf5ab88b23ddda813e8872a992b3ff9b1ad1edf5f9f4cfe46b8b8f33608b990d9a35a57dcaaecb80ee632653e599b0fd8544fc19490e2e881dc339782f2b70528844aba6984e65f5d25238db2e9fef74f5be4bcf7254a8de48377d0761a2c83019c41edd5b7c963f3ff772d145f48b2aceeb518ac4832a8f776f4ec47c601476975901c0fa2bfb3d71a272feab51513786dff62ecf4a878ce9fdedcb837f52fe3da054455c0ee2249df27296212fd23a7b59f2c8989af57d058e9dc5d753348d4c824f63e5acd92786e54f54a66182577629ef0c4de7f4b955dae3716219081275245c4d6ef3bf80835d72ddd4e462576bf2f16828e2ed89e08be4b5d9bf8e136c6f7a5b5db36204c90c7236eb5e66878078110af47f7bedda05584c99dfbe205a0d2630748eaac289d7720e077aab6817482d5ea8b1d36ef67eba8706890ef4a90090367e9665c5c0ee72a41f2b69666efec0c35cf3c7b9fead5198d98c40dc17371ecd06d79477a6f772a5c60af587d1a7cbd0a2c151245fd3beb0d3568844dc8f2b39631ea4be35d7724101bd3a6195b357a3432cacd1a032eea686e9871724d32504eac5c29903e8722c19a747e3d89f3f32b1c2d830f89168a69feb7525ec999f5df27306bcbae772fca0ab6d4ff782ab44eab57dacc9b28d5f48053e3c40056ba0bb9e121c56bf72cf5aa6a86a1cb68a22050ae2dca76eaade9d7e584f528ef566562efe6747857245ea973a710940781ccea1766a86989e0dd154b7a39a6f73bae551abbe93bd728be34e12eb0a1cca8e4692db7f3a814891e1d7b7e6b9ae766580cdef244e063376713d5a19d5eaf7a70700adeb4d980cce99a7e72781d33f1c8af07d9c698e2dcc25182b7a5d79f5f5f05c8f874a08babf820cd8d9f1a93d5f15438e7113d8725b59a7a30b3a527f5b2b09c5ecd2b129ff7f1822484ff276ce323888b3fe635e073fe6010ee100580a83306957fc9dcf8b71663f21299bf9668d26b4e16ee3721718d2377fe37559824fc0e0b07403b856e1e3bdd97d35dd379d9c4353bc5272b37fb662b8291326341520c9da84b45103a24d4df3bbfb6f2b8c955e1b479245fc9223fcbb603040d53749ee114daa99e88a51455cd3b680173a37eb9b689472120d054c8d8a81f98faa5c8129818ab1896b4a26e3aeb7dbeea6d8697fc0d57262ea6a0f88982cdeb3eec2d72f032d6cb7e04f070d328e6566875d9cc69fd172bcc2d62b1de272418bb5c3b359e2baf27f151a8ce5328428f069a82280652d2966905b293d4d4236709b294d3fff3c400788db21f2c9b0962de9152aaca52a454248ae184cb70fd764ca1a557c23277623ce68073289c6608e4cf779dabcb872bd77cabb2b52da6706e161be4f93d80db12b0605d081091798ca850c70d3782f5179cc7bba8db6515f90b61f12b7e0eef2f2e59412c73c743618b4c39a18357295c868bd028c697ca06793bb4e5d5bf4d3837c50231488f3c1c549b526eaa57230ece00e63af48300aac866909442b57e4ff8f44dab2599e9a055f897ab2bd1e4e4f79aa62df7050f653819d84e175368484fd1a006f96b81d12a5e7eb821772690ef0aff6d7286a47634c8a573c5c3f67f7dd3b4a170dfd6fbf6905f1fd556ab09fbe35adf1d79609fb6e0523476847876cd8757b3b0e350f8f04cb0ef0ae30f2d34bd10d5b22fb5ec7f988c6d9633b418505725aafeca38d11f5e93e2e51725363613547534fba8ea3b58fb77840d1f5239a6eaa50addc2abfc5bf80d3e3709380cb58591df52172c0ed11750c8868849a698d1fd9e764d3cba39f37896a72a8940e5b24828ac1731bc769dc7bffe608625639cf994512c82e3d8eaef469721d58ee4ef4dd2aaa7d2f3ad433540fc4d738625ba63e7393741818cf4542732402b8260d45e0128e6ddb7ca4a160e0120d93cb62aa8a7a48f97edf3a0d2ed5721c92aa9fe2b113b3c2b6f073b58eeac6411b2df8a59c38d2641611c23fd9e672b6ed8d3a5be78613384c32be5240d04c8becc9ab0591dec2d044557a7acfe23d776d083ebccecff28ae02582778a90aee1e24113a08aea0b9bed2a6b0681bd72d2e56bde3aa7491d753a8f906530b09cd97d2d9ea52fca1d2fc92a89fa22822f8e073f867871bfdaf015d6619083ab7e7aebbdb7a177e19d872d3d53005dcd4c720f14141286a1c6c7eaae8efae8bf0a0af80043a3dbb0452545931a3c3bc772cfef12e601969bcc6b0cb7cc89011bdf41d81b7ac76b8e1379ebe0087722154a84cac1f6505503c06c5fbe3ba23127199f973109623f912c4e717187c9258f72af721224adbd84b33ab476d97a074d4dcdc2e80b1b1478b8cb1d493a6a9e8572fcbbbfea2d124634b86b51d74d5fb5c47b926047da8f9d0295fa1aa0db60cf31911ae9757b6f72b9af16737b9c8c4b123587f08659b77c9b2c7c350b84abb6726f639d5e867a3f8f1c0900bf5b4f325215f88d3eea88a2d894d83ce9eab7684838a96146015d2ae91d343b2d4b1099b8ace91f6718675e471d8983b1363d3672399deeeda44a5f251bdf5506812e6f2fec9c7d97aa548176eee5a1afd1c3492e1f5d4ef4f7a5688ab5a1b0533d46c0bc65b951f190d53c1f48bb1d227ec8d472960b73203d0a7a6705449475cec56328cf556440a98ef5c4ae5e36cdab633c4c3ae68630415036636aaf6e9ec17a9112dedec1e861870bbff95e282b847f7f728971ae22ac6f1f72148e7c62028584b400d6954add58bfefda8fb29f11367400e70da69ac0bddd38ce821b843234d6b40f7547391f68a71c7e452c558a59dd722492b87bdbdc16b0bb18ed082179c3a2741cfdf268aefa065cafdea12980df004d9041dbd2ae7ed9c6f0d636b1f60cd77df3b83e0165da5ad476638660d2e072a6f3f53f3116098e1e0918abc12a5690c92ff0225a38af4ea2d2035cf45cfc4cabf05fe7cac2b1ddec5cdf3b15b0f71ab5807369d138388c7a68f696dba0d17285a96d11a4cbf84a86b416aa43188c379a4d238f510fe61ec6a48f8c31e6157211fc2852bde47dcc0b0fa07228594896d717066edabcd92e4a227c342abe3372a8bd6caa8775416f6fdc5c212edff3d3ba929b4baf8e94a2e588ad72f27bd772e462aa9e1e6329567add77c8f6780db5de6feabd31d504c3bcce641838ac962ebbd887bc1db8f7ad6825182ff31162e2e1640033469487963a807a1c4b19fd342426cb90274494e38106b9ced2c5a1d22f15926e0d3dfe3b21c2b16efa02a462da51462af9f63b778a4b118640f3c84c93bee22219036314daeda571694ee272976f909f00a72aaad278467d0b891b4009d913cc0b5dd1d23616b2656b3b5672e76aae716640c39e04ac1666d02e833bdb4017cce750b8af3eaf099dabe257724fe67c77b348184054581cf870b83f74a6aaa90c75da3d91a24b6b7b81787f72415814d4e18cdf0973b15ca3dfa1dd96a80b53e765bc52be5538666f12aab21cf74a90f5157fe968463aa084ab4c095af18d2b4cc2febd67f595fd0a7f1047724968b07e4df746f07f7b2b6669e39f73c1e28ed4a78a1d84590c4ad91c795c4e7bcaa71c0ade54de807b676f1e2fc9d3fc79eaa49ccec245606f08b36750402374c5031ed0931adacad02fb96a642322da4dce0f60f7237d83a7fcba97cb4b7238f8f91db37e58beb2ce79595c9365098b63670c1c6e82aaa524e1f47d627b34e73263c7956d6c72e2ab7dd7d01ef788abea28479fbd61d62e45c8b0c0004411fae3c6b2d7db837d478144e345558868e90ff111287c4fa14d1ff29eecfd1853296eda6781a1c5f65fac481225419c79c05ff367a01ae5444905f08ab7932d2dca469c84556aee09c27b6a21abaa689a827d98a88debaf241b210341039239517a57ca112700f23a39acd7a95e3e792d4e0792376ef9c54f719158b1602cfa72c4df734af7fc239d9eb49bded366162169b0ee4ead33dfe9dc6d46890ecd92580c5aa19475323e8e34bf41d44f53005652efed3c64ffdb2dbdd9d59e6467ee6d8061173442df3f0293e9100a8f206b75ff5989590bdbb9f2f9d8772104991b72b3a006159c46f02768a1a86e3dcd554891a416005464638a93fc4fb2bc27730598c283db7179ee862a09c35f5274adf7a13698995682690731ce8812f8871c47f1e16212be83b6629e9478440e755a6fb1a382ae14b85203a88225323b29ea724e3811804bed7ebb8b48370890455a51eaac684db36c26f8a9fb24b7e8c74f72881ee724503c820406ac296caae1a8d9b1fc65b66394d48193e90803f28aae723514491c70abab3d3d688625cdf4c3b3433109d31fd02c682d9e3467995ffc01699e23d325e1c6448b77052e1b8ce468d9647a0ecb82e6f4d64cbabde5067442f062f4d9881e78f12148288dc09e00b06aa656ae5015b1ee3e0be1cbf1e7f072d896926f01664bd721f1cdd47bbcb184e0d437a9ee2661b0190177de217d7341ca6942d0a19da689e8182d75402815dceca8b2d28f2e4faa8e3681e225e56e723bdef67004e89ae012bdc50b95c174154333297aa4d11585721ec9e07b01f9724dfa3ad475a4f52a03f945b5dd4d0081f87cd2ca25ca9c1e6ec4572156b97e7287bdb0c49127fd4f42b21a19ba028ca1fe0821240c99a46cbd25cb7b1bffd57253f2172d30af156c1a54802af406da28d93dbfd3f2ef42079b89c7be6fbaf97248820cbf0edac0ce3cf7accee302087ae3807793067577127d1be40068b46852382cbb9877c5786a79575899e92eac498e316fbb34a88c8aba4ec6343ad81d3022f237d5a801c2eddfb61b7a789dad108ec12b2ce600e81b65ec1277cf4b13079855b8fbb0fdc119a4ed21c26cc3021cf10f9a6d35171092e4a9fd063fca8e7222dd35ce30bdb8f5adab39228b6a055cc6ed70b7a245454a9b39c6a0cb02e6283b7f3022dd8b80682e95c3a3943d786df517efdd7541c846dc3f105d93df8d727d3fe55809c7e286b9314fbfb33a70026d09300cd2b85c2e01ce990a8a73f55d349c27de1e800be11a4282d04b1547fa2b795484f600e4e25183832284e55272fdbf904519562694b96e17de2dff8daac9051c05d421de72132da224bd7a2872c47072faad912bf921174075de261c4aabe370f6a8dd5fd8811ae005499521721f23bb977ce6a819cf75d11cae6a3dc9c646131b928e81a63d7ffc95ec65e872ce4f2142983fd9b2a466607e6622db76777579db10bc973663c8e6f1f9554172d2db5283b1154587db0475f2ce5514b94aeaef84eafa928186fe47575e74e95e03571fdf0e7b497aabe06417e1547862b48ac737b4a9154f6498462e1b9c4f156ed7b50e409405103150dd75c2949db4fe81cd992908f3660b9acd15d82dee72376e54706bbf5ec7c07e4cfbcb073a3e0f09c7d5c1a404f88e86c406e283f472856747a35982a0f50773c0de61fc712c7ce47a5d27824984ee38f8a696ccb072d91b8826f42d21cefd8cde9bef3e0f2e45b16c4c5344e336ab3ee93b7e4025728486ab732f816ba0172da72cb81c39316571f8ea02906f2583564329f5fdea72595b691b01fda4ff3704cdf35bc3e3c13b476a58ef33285c0a8a904a71c1547207184795908293110ad391828f2de893f7af40d5cd2bddb33cdaf1ec0426c37289b23de3bf67aee9e7ea78d401ba396c8e30d74b9db4aaecc5e86a14d2767072e2363fa205da6642b6c16eeb2c844b083f8e1c1d72ded50bbadc4958397ae52cad77429293a44a95cf18b42206d2ae052f21ca8f7898b0f24f10f8fb36c8d372ec280d4e3820308a0243248b65d049a0f75ab48472cac4b1b299bca7c7472b2c457cdcc8722ca5cbd5f889aca81719b713f52087d2d56754bb4c8dbc14196672ae04e2be7f7eb5a7227c40b6309aad7fab525fd1a0e04233325c15b92fccc4260f46a6f8ff69636881eee74f4bdd8aa59c746df2b63e5238aa9df06befb944727766caf13d41e05b14faf2176962b3e3576d3ed3d1deb790b274a01060c0a872bd20ececbfa7d213d06a41251e5526e105d1c890f58021f13eeddcb0d2f32f72774d44caef3fde71a3f93d6d7fdb1ed2b2b4a2e7d84b44d63384e43ea3002810fbc51e4f4eec4a239e8d0c9ae4de55c81f30c5f568bcc3d0b28f476c93c6bd1c0ce1f73a0dec8c92f824908c5d3f0b5f0210c196a334053c035928a01e18a27232c9a799e9ad655baba877c16fe0d8dee6cc51d367587c213e23e64ed6ebe820ede21c4644b919e3d2cadf8c4e963050ec2610c77d60427f8728e19260c2c272019ee47560215f2f4307dbaf03bb481f8f860834ff77a2e8e160475e24173c728a217831119c905288bff9e1644ebfa9e8f104c4c41ab49f4301a052fd5a030d4ae9d870236c58ba199b830460e7078cab9bdc519ab47bbe18e5ad3d512cee72498ce764eb014afb42c265c7f76a4a5c4c5729e1c1c1d132fdca6fc05b4cdb54ee7bd67c305daa450b037bc530b7f8de4cfe4f765b8a7f55e0510cc1244583528cde9de2b99b69e17379391c806f48d1f62f4b2c1dad31e7df7cdad1390fc67243ece05d715ade6ca66a59782bbda6ef9d1f7a8dd0a44fab5ba9e1ee926f51725536e692f747fb8dea81acaf1b3974608efbf798d1b03377693582c67acf7763c8ceda5489ebcb73793f3e4117cd61a522a61deeb1dfacfb599931f5c1fcdf72d755cecec70cbdc82af9880ff1f1a87a279f06349412c8ebb5e343b2a172d9128b619c66ea18b8fa69bda5801f97420bb77b3b538fbe1e8a0afa5e45845145364a75aa7fae3a459a09390271fda25b14bbfe736742cd4bd7dd5d40c0fcd2007263de71bcb53242b99d2b60b03b13b56164e4a058f3bc9986327e8e1743f74472da5220effd65d2b9e5cff22c194cd381e3b994b6f64953402cccbaaa417af3727337461fa8e126d12c26a51ce480281bceb5f9cd681f0efa794b40ea27e91e724de7f9a2e5054bec2f8011e77d743faadfec025c6b1a060da7fd312a76116c72acb3e7cef1a8555938a44ce3d86f4703fdcb18977bcecd5838a05bbc17e25d728e4a23d17e940e71d5b158c8b80dbcdde38ff301e75b83c20e9b5d842dee0872059a61cc617337daf30b5a1f0a4a904ec12d262114470e0ccbe9c26ff5cdf57291ff3c13e1291e922817ebfe0dea68c78b24121c87a0f9aacfd552d30baca45d85610e6a0414c42bea97b71eafb8798ede52344e2b75dbcec10218674ad57572b5eae6020070def7e20c0af8c615ce24ad67159ac6deadb2c54063f9e1b9b0561aa72a3b0e585e2dbcc7eb893f3c783a02830c088356b3ccd4eb32b0e352c972852f8b9690f8cac6c30e1f115f1d66d104811481d09ec6296b8e1e62365ea9033976c9d9d4c2a1602f276efcd2cc9663edeba1e9300c66085c46f248c7d5b416e4e271089d07fa6851965ba6e0fa44fb33544672c2c3d5a3ddf3929d8a750e7240886e113a5ea68260e0e50870b049954c8081eab08a4492eb84e9108d40e272e2cd9dad103e4f11c2983e53ba8a91cd2f7cf1ab875563998529c35dfc37c672a557392f3a32b8b095a4c4744eaa15edabf62257f02dcc7ce764d7a9a08de27254f7edf48713214bed6d956e4085ec3d6e3648859ce4b15ab19c16f37f8cae72072af8c0baf45b532ecbc195bcc3b2bbf077054b56958645dcfbadd8852ce27278e871671c42029b56d46ad0a2f9447fc9675fe7c33d50669cae7ac00419d472a4a5be1b25b275ef177f341b30ab0f9c724c794330b58135d8417b113a07f74ad3aba0c6f34636e46dbcda3128e20bebf3fc22ee69605b48fb7cd3e3dcadc4721b83a26bb7ec0869a6fd2b494e550c28502db5bfd0302a1933dc41e304c9eb296a8e20fe248e3e304bc0b7a098d811ea3ec627a5589240f72130b93709541227e3de120b48d521fc8e5be0fee611780492ba2c6fc7c93acb082f59949cdd8e2184a31062048c0c628546e658b6128a5442a00c148fb2bd8d0fb7c705b8c0bd72dada75ea7d6232e5ec23391c912ae182ce47762b96df3604bddf0a860b8314619bc42b10b6fe4069d5267273fac700b24c7a70c21c95ef1dca7b8f8aebb8bd72ea57fe2522e329b51578bb043f26ef58098947687ad2cdc49701bdbbfcf8d50f5894cb92dbfe5e0313b869735583cc669c50cc02ecbb641b24aec93b48ea495f27a5f40e3b324b03a3c264342fefdd24e352b76bd4beecf84146a6e490be7b69484c00357b526b52e5197a4132287866c0ca45cee6ebe81b6273c589d3fbda51ea2027d8bbced8b99744993967145a230f4d2cc5d98fe4683fdc9cf5380c6a59815d2094fbaac400f9828f3879390712adf13b68f9b8fd54765b2ab9c8f0ee7255e485bce80abadcc7e48e8d41ae16b55a17102c88da9aa0d18b7ae9e813f21b1a426c5a1f2e62b5789a427a23f2bee565b7b423505b363aff52771f3e405c425d8104cb9cd127c1eb47019d315d3b895ae74bea71c32a560ac45b891fee9c10a42d60bcc4e8f11317310cebc1ec480a9b7fa450473406966213eb63591d34729078b3e70989db932ad73af21490de76e558c63c0e7ea2bb153a7061f35e6872f9bfc8470abc9b181220cd31001a231f50e01b666da14e84f9a752a261c594728f64c8e2244155bbcc02c3a2681dd8390a137299e44040c4de294e7a25b77107ef21f020b62f58e4b414c354f1e500df9a21da51ecd7ab00aedaaf51a134c17139f52c75da6302202d8e3b6dc890e590149cf4fc58bbd29b17ab6c8484badd3a8b36efb4fdf357fef6fff90cf66f366fe56722c5c086447cd727bfeae68b0b7247b4f87c386b8752faac508bcd4bc486cb709d06d15030383c64973615c46672d2a86d73237110eb7e6ea5402fcedc0ebdaaeceb7795a5b9e65e06629c8a442364a00928cd0fa5dc6fd39f1b48df86a6c7300cc0c1cc9315361d7345d40eb57290b0e104ba9e9ca03c9fed792935d4149ac973f707eba16dc484ed297482dd725d101062e49f5d5b2a373c99c0228fa538999ba8398a2fb1f6b63ae5632b5672ebc32ccbfca8fd5a5319c5950ea0106a8d581d6ed020ef8c0a03997c4ed25f726d309ed0a14bb99f2cc5420d28a1bb3e5fbfc74ba898747d76dac44552e74a72fa6ee2a7a863f12f240319c118440ae51095c841537f45262b20b5c52f619e72c8f4d315d4e2b59b1ce2d6a956e4ea95d4b019fc79da5533b63216dc073c07724cf85608ef9c1acb802b9a92bbda7eb75387badbdfd1b5e5558f4c1717cc2229cc4b9e082ac0a114780014a0d3b911152e0c8bd7ea54726ae5b820207c45067250b4f9cf2ce19d572d49a5449a5faaffe2df90e26e09168c32338df80e196f72aae5e6d97570f9a7d4663e12632b8a23b48026d78c58c84a3c2cdb334b40a713a3a6538f6468d8bb948d5437f66ffbec521fad401701a7ae3a9be97835df8b069239a9e1cb9eeb65ac59843c609cc8d933a3177b6abe451a968b49ad6596e56993dfbaf6d6df763df01b0dee63521babad0f9583da606847ed60a82364dcb0723d1cab87f20bd346547a8b4533ee26d285865a0a78b43b23827d66fea66bbb5bf13d632891d580d83c90535c8d19a0be38ddd66aad09e1daabda431445ad6a3e955d026db6c372cb444868a359a890c714684746d0b4276240eec4de39e9da72adba9e3c24ec6585d2e4ae9612dfe7486b15d58a50d7e8c5eb48f6fec580845dca39d0b3f2157b02d8fc4596c364e9d8a55899c62c4e3eb78b70448c400f2a640cb9ba3ce9d197ad45a0fdc20617799b5da292da0c2d5d9cf33fb5c683b52872068b67e7174444aee239302164a8d91995e3e4ab929ef88eacfa561a01c6be72d576244c2d238ecc3e25d26cb7faa03fe0a1f6d62717c8aeff031875897f226db0854f7a3c8d73c439fa329c26ead375f5bbe2bc5bb09096ddd9b7c3c52dce486b76f7eaeb824dcbdf592f58ebf605ac24616bff7f420f713c9742491b7d3e728d5b29dcd1aef28ec1b423cecdc5083c8d74b09028764933c2cd3c814105a772e1f3fd7ae7365b869c0167c27872d272d8ce88d123d9c8168e0a8dad0996770f74e822c38ea073fdedaf54d7ac123557de67baaa6850f31053c1a4175936a372031d99ba43e8188d461b7220d56e77fc94b6fcc6a6c09df3e17eaad690b10c13e517be4d272849ed36e1679af1bbccee33a92bea3795e6ddfd035426e1ba2a4214c20e4eb4390e3410258310cda753ce62470ff3e05f2348fe7b61f15ba3036b18cab2cf29aa22c0326f2f8bbd6b10212df03aa5c53f4315aa7345a2d1a975727ae9e4d8bf50fa748cf069d0a46afdabde6040ea7b9e1a8428dabac2cac65c412bdf3038a0a84dc9e0677f217368231ed6d346e908bbed37a4ed5a88d5cfc331a30cfb8bf8a3cadd3f46486b89c451197eb3d205e849bbc0e879444ca8cdb11edf4bcc3f444457b255464ae9cf630f00cdceeb887168092164b5b61adb78ce72c099251ce4b87226209fb964509375b8b0c58d4a035fc15e425d541529b1fa27b1355b05d7d00e69741c2417f13a4590dce4160cc01035426abb57b22e651d25eb6ea5f20eb4e3aeabcdd48ef30ffbbe7fd56fc45445000bc616275032a88f72f276bec0725f086181f0759f0676cdb0c536436c21d42c4902d6736d75ec9c7244a781a724fc0f2e6b82d49f272001873919f79dbf83dd2299f4470eaa17427205da095338c53dda4e9c2f9fad02c5148859fca7a1ff4584b7b23c7c260fbf3ed7835ec416bd2699797f7a0c4d7997d31819fd199983932b102640df6530da2fccc412441208f3d918e4252a2566554f42521abaea1ff9342dd3bf80f8a1677264fdf1c92748439069fcec7018cd0846c148cb3eaf4df1159c1254fa05eec97234e25293914518356226772f0b3160d2a72c80aab5bff4af7337d596b84ff5028e3c7036b14eabbf004f2eba892dc46b27b2fb03420cc3558edaebf3d54f5172ec343b614a598892cc0af30e72e030afa362d22af715992c33f7a2fc23d4937272680a2d57c95d6353e61e0c3bf1fea2a24a480b1efd9f6bffc22bfde40d8a729c6fc59d7ff83defd36ee38f35b5bafc94456a6754831ebf51fb2fed2d2ad272a11e3c968bd44cab3714a7ec723003e10cf335a0235807266f89b5e8038b1e62cf8cc3ae2bfac5cfccee9b80bd8385cfc8314a152fc8caabcfb7e518b2d23e727844442911617007e487c6f7222c1ebd33df0f8c2a9304cb03ca72c857de3c72d413f58dcfdc18b9e61ffc076635cc6a58a8519fa9675cce6731e35d6cffe028d51d673cbfaa90abc72afd2590f9403ee40a17a321bed16e24a1fcd5c0a97472760710122d52c1c7ac54e0662f31d2365fa9ab69cfc79bd1836acede1f4a6972a2559de630edfefc7aedcf8315fd8ed548e1427367dc9a4df605426c4387f0722deee3eb39cbd233ac0f41b40406606bbdfa1f306fe71fd403a6064069967b2321f41ff7da9480800d4d698624a9fcd4e4a6a76e85ea1200a3e6b5f08fe8f3725b1d10576f34bb64f63664f90fa2a919c703ed6f66ce3afd970647042d59f1728fce2d6eb7bb2510c423db5d634b2ef86c1b1cdeb168c876704229335e912e65d91fca2732f341e97a8e00af0bda19aed63c797661bb599745f74aab74dd113b7a1db7fa6c22abf2dd9f495da4fe1fb73418ae550ca2761b03b3e333d8a86b72de30059bfcf4e6b49dac64517b7a8110577c7f836adf023f004eff1dc7ff2835aa8851a815faa04746956fa82e61de312ef8a2bcf7135cb8d090ed5c6c807672fe44ea3a6bb49c5b36f6434d99635252907c443f9329fcab085f0de21e57c7724df2a48002536fc8b6b735e55cd1044797556dde7e4e850bb29fe1f09c9018722918aeb5a421c2d53dbde2a7104b8a5938d4dcb665b9894dcb79477bed1563156aa73b313650208e999cf69c95131c6de8087d831325cace2cb292757db4694b2761dcb786a4dc8b80ef06676e8e6915aced25b5d6a55fcd46cecbe2a096b672b1890413f26cae2ab53dc2a15b056cd67804010926bc2e2a1c4e6ec99093460e85cdf1ada77e95c6ec958c71d50f8f5b5eab04145979a690245785f25bc02006170ad06ef45a3156b5da687fbbdbcf71cccd680bc7e46a4328e40d9c0b6da6186a16d34e96a1732ab4df2684c600e86d767bf8a690e8f4b48d6767630ff05d72550db6f4b80be7c3cd9e311a0d9c6d5b87aa5308a315c064459f3e60825aeb724f3abc473adaf5255f35b7c03b5be8cc7c38661d79d311d70abbab6e49bc677200e25f6ed3542371ca0273e873f14950fdca21c43f1a91d6b18f0ecd1e4d917275c8438f4211c07b3e2ebf0a97fbf385181d7bebe48e2271b4fcc56c6523f2003055c9f12ac16ba8e672050725c0b7a359ede60f00cb0c4f7d961c7773e6b67216390d7ced328675887832dde879b2649e5219dcc4572f22530411a401790c6bda749d8dae5b219091a24298990c1c86c7b59eddcd7f7ab70a98169823972c722dcb3a4564bebb55132e80678e139ddef74afda16a8a2e64de73321c669d0d6e72354c84a1d9bc319dfe952c896b604865a3fcec53dbc17c00d9ca9f8e16eb72bbcb5f3099a69ee4f4df49b2c886a5143bdd80bf492980c61d8c1938a5d8c60f9fde9c1330e56948d5e1ba2de8f42cd32b948f2ed7544a334c926c7e624ebd72d7574493b2d6342b86b4c6a0a9c64e87ab7f468c8406049cf5418c4d8a01867241c0d7ef4abf74ca50a51fc3be5938aba26977898abe5a47b912e826bb09fe72b3be2c1a399f72c3448846f22a6f2772bb2d186b56a653b0a332c6912c5cb7728bfcc16a5cd5fd67f47565439a596c49ca9fcf3f1d59a49192ace5c8f76c7c614fad209bbc1741df7d480df9d22696f063df9cfafd39f149c6004c363da20472c484ac4d495e14226c4b4d24010ce47f93e3ef4f39624cab31152bb47c010f724a75454168ae18937a7212f08f848ef6a23fdc6a28460a44a6a4a7f2f2c8b765c9c2777bf6664107c7e8400a23e517ee1ca2bcf336ce2ef23e5476bc70930731a62f04c95f2ad54b879f65244bef88d77740a4156398455d65dbca4630d33a72ef9e1ae0c899f7d43fbcfe38625728db611b32934cdfd7ab7a7729cbeecb8c727907f977706dfb86e703b3b5b9eb9032fc1de0ad52ac47e0ef652855e5ae1f7032f968ad6f079886b2e20bcfbd4001f2a7ab4018462d7c8b2459a0f4314cb172cda6e543afe2b1310d876480d32eab3bfbde17a5ec341a93520481e61124c972ccf39c624d6aac0a66c5912b22bebdbafa482ce17639dc4d75266dc91e6852725128a0260c8ed8e53d13c8978f1691cef4360013fee9369332e296574f40d700bef2721c8bf704db294f3c79eddc236cb131c8c2ea258a50467612148a6d0e72899138cec128d8b163eb3618080ba1864e176f5b00c2c88d19d0f42392f6530cf9dfd6185f461903e520ddab9b1a9af436d3d44550f9da9463a10ed5613a6505cb780c962fc4fdb8e88873dd5d7606b5d7a4f52c602dcc18f917d06fb88582723b9e928e909d09a07661d61be3a94c31a3b4d69ba8f93afdcdbbc9f670122672f25570f94faf8c66b7309d675b32f9d84801c07a6df0933b39a3ea0b476a4222fb67e20cd1595c2444bdf8381e18eacf4d46fb9f21d3afafd42db6d71a852d72e1d9d828c1afe4d1b90db3b95c13982b8bfe798ce6adc96b344af40a1f36a0725f1331374b7593ba5b76eff86f3237ee2e270836a4a52aa7e13bfec13f0b98721e850d04d1b49f242bc3da7b999450686c540b24a5f97dc8d674756cbb0827721512e7e5e35ac90afccf616f3cba148718f586e8db859452eb2a963ce37ec9728e3809e2b4103387e936e2bcb0c1dd87ec1f85ef758452600627a1cdf966b072b8dfc767af181e1862e7681d12d780395b64928ed5169f08d82729e189eaa672d542149ea220c657f5b17f997c02d28c2323a1f6809ff3bfcb583baf4b51f1721d32e68d63b8b243612ef6c174a4093f88f850409fb50003cc6b3e35eb23b3728a0a2d7d034faf4e76ed38cc0fa91ac78425b3c95eb386b98c5b47de8633a4722b9c6ee1f0c406c097fb516c11a4180a1538c9ba646081f466fdd313c4390f72d4c1d81d895fb5961bb00f2dde0e6e60ea3fff735e5447d94f745165e1cb1f56a0ed259278e91abf0230c16d6c0ccf6aaff66fe88034d4b1383bbb0bb95d8f723fed1f64817ab5f391af7e3db18838ef041cc98206237ec663b94dc01e1cb6722f1edd9881abb3ae934240826ad19b50d9fe8cce0be188cb9684d1c3faab1472ef077f7794c598f425d0bd188627f67392fed4daff950308d483231f466b8172f1b9c1ced895d56bafd049b28925479064f30b9d833a430fa33a9b8ed68a4937b0febb2367a2f9701557a4f7b180806f24bd969441dbfd2bc5fde027b125e072224ff4027ea9a7a854231c9842e1cee12235cdd5d213e0c4075fbea30b11637256d89d4c657d5b8f0462c886ea019f75896bf4a2e3a34aed8ebc14e1a0f89c72582a7ce46f3f725eed6a28e28e05ce805687c922dea3eb8f164062c70b225f72dd560a595ad68f461aa7ad85823aebd09ec6103a4c58887116255ee016c39272e2cd94fd35bc20690a8e73766d3eb53507eface77f7166017be097f9003aa772301e2d5de9c17196cc922a0d3bb702fa0ed3b6146cf07618ecb2b1ec9abab472db10a24277d6f685a58d69fc053f9c534a8977bf44487ca120e9b5a94bce654676a280d1dd9c0e6140699078cb16ee2756f36d82be1a3835eca7c13ee709b526f9174e965797347e5745b16a42042a09a2747efd2e3a4dcd7be1cac82f11e46c936529947e244f807708d51f79d0d1f1ec5130f22903f20d0d65c69bc6a15672ec199f276c0f8a9c9380c6ea629e0afeb43d3753e06be22fdabda731c68ea672a8304dbaf74dd85c3ef5464ef068e14ab617e24a34ec5088a340801e0743251d6abc004a59430bbda30cfd5a9d6a22488ac03ab708b2adf9d12e32312750477263207ec7e426a019b7b911441a5450363e75eed7bc78108289c582399b190d720fe8b9a7296823687c3ee5610b2303c4014c7d61214d6126431ae53e4f0cfa2654de4e1fe6fce1a946508ace5cbf3b3b81c6fceee492c4e503bcdab36b71db50e05cc1eb37f71938bc84ab27e19b60d26d47f0cad51913a9a6219f0894981572f81f9ba9bad00f9a7f88bbd74504697b8c00fa558e61d4d4ea796c31dc6cc472221765093ce8a109daaf15f1c5293d668e07e89900e3fef398df74074d36795fccd0e40b5753888ff002ac51b8238f9b4f22fdaecb4d2d39876523e4076da372607bab0321f520ece9d3da4e61ae171f3b5b0c14d87178cf8c8709e3e3bf37565a099bf5cbcc25049131d6834cb5f2fa5373f4094794dd99d14c6ee330ed2a72cfa0629b4ac993935e99c92c6ddd67dfbbd001c8caefe54ab2d0ab1fb88a7972a31e516d4271b13e0183e8315c3fbd189c19c8bae7febc61ec18abdbc5c7c929e683bbfbe95da48ffcc5723bc08f2172a2f1cb222b437aeeb10a7cbf5c0e87048906e1de0e0ec72ee18b37d1977e1155133f35ab082159df29c76139eacf09724f0267d9ceae1be1f5e9efd4efdde15e968e164821177ce1ed0632a970fcb772a15c2473f3eb18a03b8ae396226a3957d94f707ab595c9bd12d7a8f53a14364c8d8e71cff6011f771ec771725dfd03f7143b5c2628200eaa1d97a94a47af867249ad96d077b7f5417721a3eb1634b50911b4ee5259da2081462334493e898d589b9475e80d63888946b65865c6500df22814e9e50667a51ab2ba812e995cdf2b658d2f105f1e6158a4ef6dc66a5b6e41531ddb6a99d5395695c62baee784b0729826f91fe1d5695367581fa1da2f87f9209385431666984a5b4dd5fa86e6fd1da12728cc6e1d1103eafd09c07f3ea66aa72af31225af9aa6d1ab3a34eba97e6fab3a92cf1c8feb30fe96a6a068c7faa17514d766270e2205d674636559ffc6722ae01de7b4ec713770728d69d1ce7a5474b27934a3b2d9fe647cd6d7f2fd5b36f5076c0ff603fb3698849a96c912a551766642a253c974c78b42adaef54066720429ef160871368a995b70358dff5860bfa2e2c1ae57621a4623ac77d206124e8c58967b1879a17a3fba486eb13859c036309473eaf31afa874e15345088cd72e36d15493b57a7dcf1049a4d6dce7892aa6b3a02f4fa27422abbda4434c34d72439695aaa92bcce5e29121aebcb8afbee2a084b6fafcfb545227d214f2286135f134a83d03f66d31a8ead59d25665ca6148d807dbb77b690d66b2092a9d321721df427e604ab92eff9931965cf3f3a7c22e1ed44a7bcc49bfad53fa09fba23728c033b747154540bb876bb63f5458b268b5f9f72d32a9ac4463a015c3f0ef86b4e28d6e2d28feff989d647fecf258994aedb021803096c22efc32d15777973728ab1f125d12741286c37f3a80415a88e93f9d055c40cafe30ac627ebe021cd7297da67334cd6027d60572005e437007c6a0d5b8135803f055d7d9172348f797200c8bf7dfe9c3c1dbca433afa2626e35616fc1c3c37e4f87e5fa3f97fdafe67212cfb6795cc4ec2e9d79abcb7e23b60805eb48b65418b5aabdb2baba7bf2cf7251b3e1918ae4485e600beb7689ebc324cbad8d9fb462278584d36a08ff2b88728d0564c801fb54db9e498b1abfaf59667622103a3dbf8fa9c11c9a06c338297218fe4fd2d9f8cb3070bc58ba0b520a0153052eb884ba2a247107185bab7dea720f93d82b8f38f38b3626e36869ebbb403d4ab759f7268f374fc59e9ce0ebea729a2e03c296ecaa738b4fa394a41010ae9801aad498d6fa1b966c0cfd8d970272e0a95eb5d4e82bf4df7b29bd2c4934b1ab5b73054115b8d983f4ebf0a61f8f06a2ac3710e2d3b1936e976a212cc60c4d0504f44d145225650f96a0e1b53f0e19a4499c350073c3df1de0abd74492d2b43bd38489e51223938447cdde0209b072a1deea28e34e002238bdd27014f995e00d666a16493dab4c9ef98d4e977ce36c37a8a645ca3ee0515e1b41183333eb78065c796fd6da742895b2c4eeb4b9fd72c1bc8dc29b21750cd7bb84f9f4e0fb8dc524a132f6e98a6f0beb028f0a8ada2dc157ad0d9487ba0798ccb8df6dd0713d4ceae7ffa993ae38ab5f65b317798c723b15430040827e47459332ae7a042c4fe37472ce9350257395c8e3f83fa552728fe2c72267ec822b056cdeaf71a3b44d831b6465b9691ef6446f2c526dce1d0c60b38471e913f209ff20556893757d761e43096fa56a00e63961fbf28985fe72ae23785a720c5d867562a29df23b3869405739d6daab084eab3598fe799f8a724d10f8fb30f6fcd0b65c697933568433a8eba01026062657d5466f8169bb49720eec4bd031b6c3b4355a0f1e9784c37d862feafb2475e7d449e0a5d00c9d5472204b6a888fe04974c429d3d2b8acd62ddfd2e06b8353b36d688627960f4ba02f682126ee4fff204a37d2ed623e2c5c3559fdf4c3de61dcea6679143c395ed47279104ac70fc7d34c74f03d91538a3b5e5ac4493884c1d75a81f59a8904e86372227f570fa4b0bdfce91451e32fb7e2e2bc4bcd46c92b9ca8b1a3f63339d54f72c112b3bf14a91004b3cea2915821a0b51a8a847e1c79415d89c32f351388c472f54da8bec351ce7c4b8b696b0ad2ebcd55dd38eb32e5ffcc98c3a8a30fc3c91fd41f6a7b2f0c15e2e8b0f0a9d2993f085d7dbd9c53191718d67e45f61cc06172b60beac688f7120e0f70bf3c86dcd8f3e7a3568eaedca92dd6d9bf7a27b97a726fe9a9d9fc82c425b4224781633b77861ac1578f067931c1e2cc0e3a849e1f2393c4fabae3abbce4d0b860574500e22d3cb0266c5181e38ab722a71be5fa9e72255ef65c9ffa91e7f0b9debf8e3eb0bec97bb138c2fd91200c49b697ac77964b5e1aae81acbb3eb3537c9ffd3d5624028e6f36297a0c3f0fb8ddc10f87cc0c721e30e6a203c4fa2c18198e8dac1bf559b84506c0332d19d2a1edd2dbb4db107276e27ea6eb395fca052490d37bb9a83b8151846ebfc02fc1a21dedf0e7ed2972283adc4988676602e65376e7714080d10e2342078f510d5baf2cac2c71e96772c5aa27117a06561df7ff4ae9f2008c237a1a798fbf412211409f637a68097243f496481a55896b94d2d1b402c600939d2cd7467b4488858b42e793cf7172e051637f46125aaa7f86a7cd89d8f24ab40ac8e12cd03358b1be8a38253efa23b71e62c82ee515e231e5e9cbd891e2f38bbe646536c156f20196bb24f7093b4a00728aacbd99b780194be6e7b0469527c580df10475111e298f9eaa36ae83164996f522352c93726b1e9890f4f10dfd37b9f30ab9a09358540bf2fc436ed0eea1d0fa717cc9a67ddb4a5761dad21214c186ecaf823ea5da03d4a195b1c4e64df22721143fa5bd59363bf4bde955338c5df050e2d337ff82523baea6bebebf47c603ea96274be7c82a126099f7dc265eb66898705992fd10b9a56980bab16e798a03511131a91ac1158d1a7e9ccb651eefbd7350bfc291566ebaf19288b4fbc651749c433d36efb2c947358427946dfbfe88cfe5979488d167eac4c07357be92cbd3e3f453dccf44b0f61a4eb3f2848e09ce9a388983d45114a84263001f8e390176a0ed541842fd74bfdf8777afb22539d6ad3056eb2a525cf5bfa4073c1ef81ee43c282a04c7548121c524367e9d972723bb2344830f808ef2262a5aee452bef972d26835596d7e5b6df08693a5c5d62dd4fe6d92a150502b57a60b384e1add1f6458702f2a98be90f76c1a75d7d4a163c95d4f5a9803e66acc4a6f0b3fc878d97226447b8879ab9f4c5a781660c1db5ae9b5ee66fa5fc40f25d156026840ddfc3a6060271931bbb4730dc50975c7df8ecb8208910118abfdbc264e55501f1fe372676b7664c1517c8a6e4bb8e0559d7746a7684f64844091f534ab968f6385f472e21eb2a08e0afe62353a53aaab53348c06b02a563ac73fae06d12b414e8e17099b114a8fbb0201650bdbf38da2c7ebc5f6a63ab33456c9ec8179f15ddf07ed72bf12cad7f5b29f61c1cddafd021a1c80a92e54debedbf1d817eea5bd1ebf1072859ba696aa8f86ad4dcde98db89b9ab30af3c1e829924a494c41cb836d2a3772b1f2be2d66f46ae8ea8708683299d4cc4b7d11b96131cfbbcc1fb60e348e6472c57301dc960c4d0172b1b7c9893a73fa525641fb1309e1565c150f882f1c7d72df352378c69bd23062f1d8eb651d814f8931a71af7e01e6fa278507f3a5fb47176b3ab90a33b1a92bd0e8afa12ad9eaec2079bdcb765c2e49ac1529193fb82725aadc49fbd1936a1cf1bbf75be31de130dda6352e78ff2aeb81424b0364e2c72762668757f23425e1cf83707068fb9699c50bef623f1ca2a758efd4fae44dc7297092c403a099f08557c94937468b74ab78f12bdb7bdbfb339a2f8c0ecb9ed0c67448e93fc7ddea63f7d516a1eaa610dfc7f47cd45321611c2360b6c39189d727af52abd8e3e29da9abcfea2d5b6af73011ac7f3533e221846a7eff532da93091c6895db1cd4128927eed78c038f9b779943da5e3f5557424a510a34486a945fd84020eccee105e4ab52ae636fd3ad2f38e37c7a7a03a3ba26dad9b860d9f872dfe059088efc91214d4d558ef5d35608e7be13a0dddb2f946003a59ea627293b311ad0051f60ceb800d0e8f862bdd92cef5dbe11d6062893210c9e759c82c37227f29cdf449e3f7d847d494afa4f70eb9ca039918aa3fa56f49f78259d5c81720835bbe12a512c2022eaff497599d8e8f019f4f825e941a0d273b4dbfa1dc1723e096e362b99a82332f385d8d42eb096f8361c907d85cfb404b4693c2ba9272cb855c1ac0470f2c42dd47cd165db8a9ee99039e09fac47c38a583868d7fa3d723efe7ae0241e8eb0119f4c8445b613f6021bd6e7aeef967fbd59e895c09c77354246b56ac97aa532ad14393b90e544bbaef686f2acad8ccc9b24dd90fc99a97208cf83aa305e2dd60eab8fdba86e7d09c025eb21fa79a0b5141e5a6ca983897267784686836a07d50432fd530eb6b0a759c096311f4a3c3be4f7e199c4f1863db69fa0f53c23aefbd68486b7a8b72e4f598d0cd44bdf7aee3d8543c23ed1d7723f6313a7458ef6cb6b3af310f5c1fe33cca027ae20c97dc4e4b34e276237d04c1bd8faaabba879a07ef806303c6c6b882fae13d2a0bc3e1e27dac5b3f03cfe72ef9ad4e0263e2071c95a3eb5c19ea1784a093e2b6430f831dc24b4af189ecc72f07091a9956602bff4bd5f44f6b0cb22e9aa3b8388ef0924397ba6866b08d472040bc51e45ee975a7501294b030fd8e9683ff654d78ad10e2f408d40f839c95f3a0aa1a7613ebd87cb65fbba27181029dd1402d17a6d1de6a64411e089aec672402b9c8123ac91b803fa0ebf4faa1ae9ed03c31c6d4d0f68cf0897eaff49b01c90f5a6c4d888595cd0e556f049a93e0b73a9139add0109ef1ca32dd000c6ec51e890dc5ad6b99deea0a084c47f546d27f566eb3e51a13a1e97ac50070a5fbb72289b7f5aa3ff4f2afd4316f51c16df18b4c631fcf9f4006a24b4794f58f87772eb23682e62d4014e8c9a7c1d5f1e76c45ddc321fdcc2a97de73ba118db938c4e25b9f924d310aa07ac5208e9b3bf0ec945d505c6435f00af4e699480eb854d4c1e2da356f4f0812155097e2380d7e41ad09e930354a04d29364b7eb8b4f2e14d1f62bab2f429fb8289d3bc6494415893dbdb079d4f6612b2be4ba760a160b42d9918e528ff859ec051ddb874aaf8035bdbcada21466601622ac06a03ea4cc54fe30e267fc1e11f2b645f2da497cdd1c35566cb1fd40887900a2c0b2d32aefa72a995a09fd1e20b26d61c71439ed2e301b4e953cb8a6278923558a8b717642e00932554121e5770e3eecfa82be68a18a2c7e24c28683f25a1a743aee9ff93e9151ffdbf940acdf7902dcb845961c4849e789ba4e84a81436ad07191a9d407804594bc2dba50fd1829722e588b4f7d4943520851d733390f3625a04205a13f9e448677c5d78ee2fead8aa3de4161f7cc60d6bb0e6aca8bca2f2e2315bfc567a6721bf9eae6ff44ad1cd2c9d840a721e23ebf1c3a26303c2c8a3a50b0848c2ccd7261ea504dba79b59c2b0feba0854619903b9a769afc6ad4d35ed2d2fcccfbff26db1ba11ffa88296661176638d67f3f3228ebfe2a98a667595a20dbe6284aee2d0778b30245bf16ab6d12c06215a28691b9e32258a7e877f2d5542ed3cdcd29469f682d52072b50e9e215ff403c2cb5007485a4cc6cd62b4a25d472540ee4ad0063be4d956eb5267bc1ae434a404b8b9f089b9ee92a7e72f53c58ba9f9e14437263a46b73308146b0e4ed8a8358802f61ac33ed9ea428be845a3732fb3d1367714c0c9320f279ee3e152effe4eeaa9587bc499e895212c85210d6fb7b2180df72a7bd6905805a25ffdab6ced8891eccb3a19e6d9a197cafcf6224761dffbc9272552a882d6290acbe7b7406380e3b27e07bf388c4b5263c97cff7af1ad56414722a6a7b8142d42be734b6b96dd9255e340a376a0210559a090786687be2cec639f0126428d3da26cc4c070dce23c2107957c0e007faeabe0cca69c5038dcc4552509aa414cbff0a8628a4ef935f4d30274525ddfb7553066435c4510e573a3772c071b57c6ce3232afaf9a55c8b6680a933a6a7d2a1ea2144b4d44db68bca0a56d44e26d5baee893cfe5750f5c7112ed7cbdf44cebd1f7c4ace654aa9753b091e15ee45c61e286766c68102e89a84b83d5e0ee09daa973f35228717d6c352fb72f8a22296239298307b1263d36811509f4a267db7b3a6017d57fbb381c5f49351112e8b20fa6ade29d399f99f7be19b579875f0b559633a305140c6bed1057e727e098b82fe36690055617f4ed6704fb6195e869c2c88d90b635c0cf9445c0d6eb73acc7047cba016baf2adb1315b9d57491a327f1aa3fa983685bc877d1dc772e95f1621a3725484eca8d504915c70545f06cb5a044a6748f86dfb84aafe8172802ef20513a37589cac774a864e7895de2a58ddb44f2b9f383a2d9ff9a56d5724f0aee87be72a7747230fa6a1515e04423b836eb56e545844c63ef7e700d7426c4b6118ade14410cff1d370b836a30427bc8105bfccd117b74399b19bab11d529ca95614abb9ea1442317e1ffca58c0d1af604f3f5475bb792b9b813198bec00458e38b85feb64fa26dd252db838bf89f21128ff525867c8f76f8a16f615ea7279616e47bb395351fcf7ec78c322124fa12a22d395bc0f5a40657c6f9ee2be2665b1bb9ec96f3e5d27c4ceae48d3f76f60c60219981d29ff15fed52e17b69472d0d8585a0d6ac58606910da56ebff2f8452bca19ab965369da5409954fba19433296ccff42daa630d1cabfd7f39131e86eb0388b70933e89da7b0646a20819720de550d058d8693361ab48b243dc6ebe866992fee672ed86c0bb7b9f92cf5f720dabe4377e7ac9760230299bc49136e56f7de8aa2b61632466f2cce188c99b72fa8d39e0b450e9e0523b7bff3b7e680ff6dc6ad92f43a283e21fb08aa5385257cc8c5155e83a594c405e6faa4e68d6e6dcad2dcb2403ef25da55a75d59445d723a37ef074ede4592a8297a23ddb68e2cc74ed1c5708d3c359ec7a80dfac7a872149c63736f397c87237204e56f44bb07e2f210891e29fda2abd649519c402e597cfb5fc74f235d991c429bc9a8f8d6d90379e8da86b9b08901e2bccc5a3257217ff2f2f3bb06bcfeb0ca949c1c801e84168901f404f5e5511bfb70b57a56a163f08cdad5eb94ea2131c1f6e03e5d2e0ef5b7cb6bcb6eb138ca83fe74b075c2727b72c3fa8807fca85cec4dcaa0dd7e90d12f2da196dde10552562eed85492752217280c6a20907a1e6ea2e2c99ef4c3da1e077200eb775754e082d90d9f7ff0252c9530a3853e33e53f4bd52400119e39d477bbad5f8020b949bd010f0cc7b722642842df4b3c5ef640040b9c50223d71b549caf8b5049a915aebd3bfa93ef15cf80e65d975438834f92a0029b3487722142c0c9b86ac410b879a1524ac07f39921e1a3f014f2ae518ab4c182916dc0fe1d73e3c506e2b642f5de8f30ce7a1720bc6a3d6b39d78d6b2f9d7ff74a0f748edfa881016c07f6477a54de3bea6e234c0db2fbbd69f9a17ccab29ada7b9aa53e45dc1dda79d325c58e01e61e9f10d729ada8459c7b0b45e538cb48fe8a9970d52d449746262e5add7708cb6df46eb72a378f0fa956d162eb8b55014dc825c98f36678dde85938122cee731f1b4446723fed89530059ab26e3d34405cccbcb900fc9b49965dc6f395096d817281edc600bdc2c02e5d3672cc019021b5d1936d0907141e97ac05dfe3250ce243f20d635fde9ba9e12e8163b0a7a4119660f36b7b67c6b9d80ddf7cf6fb0da2e48668351e6c6559835b1002b04b6fc26250defb16cc4620f1618b08f7115df9e0a325d722c74d1af5fba7cebaf1cb72d3203b5307d76135b1a4724353048eedab9590672f9ca74e2c5e24edd95bfbf2c60fd0afdd77c7f1d0487e734034b5c428f05a7723620486a662445c32d4f5780fdeb78a4fc15a1c876e0cb2f80451e2909e719722d317bcad6399ef72cc392e2c5a3ada7910248d12bb457234a804b45dc912072d1b76e579f7c835dbcc5653bb6be85bf87266a0ecb9c4f60a848da17e1f3d8568f1d71e6da6d009dd8ae84c6e8af738d67d77e55675bc745a4ff54f08acd7b720acabfe7fe5a21a15bffe95f22f5bba3034ffd50b785836eb5fefd48736045729bcee7ef243af97982ccccf644608809a4115ecb60bb2e25f43ce6869c82927223551ecacab3dc62509f27fe0c1165c0f81855982464f2f0cd16018232016559e6e4247cb4709727e248199ffe55da5eed883c830b1f3e701056caaad8804603a31a859def47672832253745402059844039a82102e50d0022e7ad43211fb972bf4de4093397788e3e11883ae80c9bb3c67900a501ecd9eacb59e7f2716d507289ffdbbb5b25c6b2c0090129a6e1f448a7154b1e1d6f5a55b488c0cf44d0b072c9ba9e6f72dfea40556dc5a7d013e491b77462e29803379a78971101613bd645588dbfc5f4f2e7738f0746f8c8a210fa5630d05532a0c7f5ce258e818dbe493e53ecde17f91b0a3a33c35d75ff17d4db5c20905f1589f147362bccd0eba464671affc841709936793757c72f046c8b924b380db6d2db8eec0acefc3bde403e5d5c6e9645d3a079010f39a7f99c7e77152c42aa8d01b60ed0579b248a1e9a9f5d40c9c1955de82d56a1fd79088305eb21e04df5ea7ed8a2aed5982f4d5a44da7231ecc4c1bb928da12aff0c76bf20820c5704c223b5e519593e8651289abaa93a71fe916f00e302dd992f1828d9b0dc6542fe5f5312355852db7d4e4542a3201976f10df5a2e6ad636f52f773adfe4d61dbc2995071cb614c9fcdb913f63a38417696a6cc8fcf1288ae33d1f6f950cf4d549da5fad7ef711c99f80faf11e64f72beb4e6c8445aa97389696f288736284fd8adb1b9264079ceca4cb147d9617171dd08d74b0b8163e3bc77a1cb69d25665408495b72d589b12f00db44228e6a372e82dbed1a4ca1e31ef129f5a7146e84140d751453ce575a92872c54a053ad666ea520ba3dd62189c43b36cd25754a9ac5161400faef34dd0e2f8b46f5230ff72bfe07474d0e3337a9d3e5828e25d52d19d7e644f30fad345666b39e7925d8e72999fc3d01731e9347f43812d3373cc7ad113c9c1710c7525f123e864063981720a5e6944eff1bd34ce1d6fbb423cc308115d00a6cc49dfcf82598a0066247031bb310115caad6c43e7811e60b8494b9fe143ee4c6396df0b85da9d39a48fa64b838245dada573c5ddd059f22e0d01511b84d1ea52f12d4681b57fc6095dba7726fb9f07094a62cf95cd92d654d5e1f72e1dace707d9254f0fca35954e6393c7213dc141c1c4708169143c2e765e8e64332d24e52850953eb89470e9cc60d337283351c7432c59374cc01176c7fecf7e92dae198e2e7790a69bc3ffc9a2c63f525411deea3814341d2731626d435c8974c41d0195a14799ff9d4e27d2a0bfcc52e53682aab1087ced17d2e04adea03eec1636e4a9832576b12c68123b1a4a6c128fb37de08ab15e17733770fff2b9b3048bad92c1f03f85e33e226951623d9772840c534a24268518c00e5b46af20d822e6ca9e13cd6842e735435c33b4ce677254d6cfe70f0d1a599b8357efabae7db252067205e6ff30d1bf458fdbe67567723077ddef74677d476f6edf8c76800b2b2ece0e60ee8db1ff1bf9dee06b9179727a5cd24d3fda1bd65725029a43812a332cf6e3617ba42caacae65018990d84720df5dbd4b8cbaf6b7b13a9d415983ccf8e16064b467cc2c927a6aaf5ff68de09b6a5d278dec2d08b8b159401cc4742e349202c3eceb58dd626e1b22be722a9729ba24a9b60ee79c798707d0141ef7965272fe4aeb89c7388631310c36ccde872e58a9f0c7d5c86593d962a00504203f29520501e56767e65a2aaad1a66d1466cc91d909c5feca59eab92a67608884c2d63eeb6da80e17f0932f66aafde956e72db9648821f78af0212bcf2e400edd8eddb6ffff8436c1c7b392e2381a387c3086bfa8f1008606d8bb74cfe8c7babe4abd583b03bc252e4529b466dc18a7ac072d7acffc4c01c84e0982cfa23eae87464f489f2b0893990bbb617cded16c88872af236ee53fe292f4515ac33f5911ca75ad25204486779d08e77619f94a46c672d29a7bd28bff2e97d5db969520564195120089bd5707c0d91e3789250a696b72482257f2a94a2aad5a2d4358b7a3e8953959c9da2567fdf69343ed710bb0fd2052e11d0ac0d4dc609e3fe69f81b5f587e367a951043be4534f74420fe7f3867243bb423bae11c659cd682384628bd44685a4b44da14861261e9696f8b7b039726d0560a916316343323a2d162c70b265d705d6f3fe37a86cad40927b6c144172a1f170cf78612ccc290495b9b92853694419e5e5a96cee8124fab13d44a6257298eb5318e0c423ad80238c4a689f956b82af5ae8af4d30c1dea80ab5c3db2468bc0158ebb1918950eb29d26d06277a643281f1f7222d719616d46517d343ee1c09e3e2038f5d490eccabf1846c4b75c02292aa5de7c4b5c6a915b0bf921c0b72d1e947131997c48c13784a86a542a91361cdc09ba2afaaac093211aea927b427e41acff8e451f398394921eab97031c98f32973eb6c04becc7dd2ab964a1ca24329894d43661d4ca2624260da87314dd6aa12b046091b96a918eab22935b25722d0a2b17c5a3c3c80f2b5e4f07957cfe05454ca7d5250cc2e2f98368bdd77a72179d435c569f6a1f943408e6a0c68908c0818c9230138354cd16bbc2bdc107012b9b57508e15e9cb0806ee53d9137fa43b19853d30d99be4abfe664a6b43ba36dc3a40dc8235d05ddd2de778e26b566addae911f36a71548fc8cdd2d031c637293f79a24f4a179cf3a387889d9176769f04cd7020303022669530c89fad0960717575430cf649f2f60cf24cdea2b1ce62b2700fd2bb5e98553012522e6c8321181ed74ba8174211205a0ac8dbc9bfdd3d86a08b8d74aac1659f1917ef14a314a47adebed2e2ada60187128eb0b4fd2d7d7195390c4a0557b8a651f0704974e0e0242a26f447a2fdc92e7b22e47a48e538f8f5ac33d9abe26ae59170695163127c521b7914bdeb7f6367eab7b2c6bb38acb3bb2496706be18d04ccab19b368e228f8dcea135f305f57e930feccad96b9aa11b2ada0f63136580897eea8911571d7b47be787eb56c601d3e9e903680a04c601be57ad2733e0b1cd5d0d48e45d30d1f9b25589e61e3d3cce94757a6b8ccb5b558b299758e2e7a0b6c35829325d52813dc2f28dd9b6625488f2db6762852c0ee4c8575467a1d97970a057fae91892c77513eded32ce40df9fe62a7cef9d7114747f47e6ec3a6a8dcdebf828bf198722743430ead1a296329f97635da622b309c77de1a83a241645e1a2c72b388837214ecc544c50efefc1fc0e281ee1ca0befb636d88d75daebd04fb4d10bb71be72a408335fc05a6c3156737dd086d3cba4dbdae4a3b8616a539da3050f0f721e589e71ebe95d748604d499e8a4c20b7dbcde0209fefd4a9dd78faf08e46e33e072c581df2c21aee219d65befb51d365396a1a31ca27dd00a48ce7cb6788bdacb720959217c356306a279514d2ace83897878800e1a80e759c24742ef9740ffe7728a101a79f194e88298c1c7395ea3c946a3458750fd23ad40c7d1fc630f5c7c4949a1cfe108c3f386b14c5d4893b97d03f0aaf7e758b36c8dae8473fadbcbc37255491d47b000975b04a2e1ec123a74f0656cc3e7722520e85c4dc0ad82c5663dcb597f0696e5fc2ceca703919919ffe877b4957b5e68c33ccf6bcf5df534c4728fd3871fa72793bc42399f7d725e5cfcb0a659eb98be57d1f8a78a97e8e1b40a33c808b4cdab7d3ff5ce1e5e9dc1958552e093b6db96942034e488624803af7250d49264a980421d7b32c326825b3a871a6c9094d829808867a98c602fe492308e6934a4e0d4565f856070ecdf9e553a74ae5eb0444fcabe1f6ff53372fd1772ae334af6acdaf43a79cb428fbf56c05f8d33f37902a5171b9570969c16de8072fad74418f17bdf4fb98c686f71a56fb488875a77ec115553aecc3a00da4935725d7e3f294d76b4507cb5b1fa01cbf14304f0cbcf95e074e8971f93758f35f0721666bcaa76b9eb35c595c5b17e697f8333b640b550ccb05f512def2d25b155307f9a41157e07bb92d3eab7d762d5efe04e7449f6c7b525d1b7d08b62d6f19d724fda79b495dbf0416d5ad814e4373446cec13960c302ba368c2711f7f6aa17280eb9f6f56307f1709b792efdfc34272952edd96f41f4c4405da641788056d372926067f5e8601396341b5aab46732750148bbac42bcb6f2d1027b8de758d4072bc32a6ea8cd512e11a6adfcdb7165168324736b2a2ce5c9a28d7154da3690172f83d37dcf14ab9f4700b40d125761ace216ca04fabd5d7bd0e77cb0bb68e4372dc2357a8a7b8685698a241047ccdb19808b49ed11e230ecb003937fb61c4a20e4a8b0139c9ff8d57d000fb987aec8821e0d9740a6139c7108e9ef50b7879c172d2a3ff42c85cf9ed371b0c51e29e33a9d5293402b50ff1ac3a5260562bee6d72fa62b93c50add30e25fd3866c60f307af948353e24557e7498f420ea95581a7230b398b082b1cda626eae8f2ae0fd7dfae492a96f267f471e249e0f9f10a752462fe5702e81e3e824dc207779948a7e4ae8bd158d8bb9f8e907aa23685d362001a1b635371c1025452d41f1a314c76438776d309cff7305e031c7440ff016d72def63dbaa4260224cac972741442b88eff9c15c4e84b72928c4254470b9f00726d5c18d1ac7356405fb0c9ba2f098367b8d965d509c8debab26ba180550b224536ee3d5745096f84252feea09c19148a5a0c85ce29aff056f094bff50b53fd72928a96328fc589d6318200c6504e9f531441a43637c4b0abeaa43ef676bad24886d897518ac5c5aecd9f572b1aea2dab5f6b60deba442c5091bc40f682f01435eae13323b4d56111b38295915957c160990c9a808835e9661732114eed89527283cfafdd7099203f3fbd819c4e50de5ee1517d9308eeb45667069e6c948335726bde92b0dc5f66cc12b923bf8c3f9126c0bb50abd9179be083883fccdb74cf7214f47e0dc06e73fb04fd158ea7459996aa34963c2a3d84dbe8feb63d464d7772025f92ef0a44eb8638e5bf6fe03448cdec3b85a1e4705f39c3505a5877dfb943362a214dbff625725baf6c6e7d2b2fa128c86e97f3195c96b2c5e113680b3306a8ab1648b04f749a2dc3db698aa005734605f1723acd8b77567fab0bfcfa94723bc308725a3c7db809f25cbb1707363475a32cea5e739c83e7586e115da8f105c12a8d0f2c90e6ae8456705bfc533781f4191798805a638d95148854604a8472bfbe2e01a07a76b72495a7cff4ff5e6a0fc35c8b208f95d239c5764026dee872c5819ca480e87f8eae57865f7c311fe7ad11fbae0ad96bd674da602ba01df90936b2c9f525633b30be0d2b3f5c0770fca5e2aff7415066f24e7f1750921084033d8fa91323d24110c1e10e283f307a44b8cf6ba01c18b0df973262f078eda472b34fd14fe0540b386e22adc54bddc1c1c25d14833a703110fce77694f060e73a976c42b96b49da0445d462edddd0cb5bf5c4a4a0c929ef7987dbd317e2a0d2323f93aa04559781bdaf2f6f67fc66a321394fda90dd3059f3a6ec5882b01bef67c7a31e34d7fb5f66d65f3c61fd1740476b99aa37477113153815e13e8f39e072b2d38465033c68ceb2efa006525d7ccbd7111dd9978355fbc485c029f8211a71b6c0c6e2a1696a735fa08b2644e7b02e4a37bea5d97330666abd090b5d2a263fc85e48fbf6ed5ec1889318e5dd77b9db290f3315f52776c8b20b14dbc2edb772a289d1115b64daf774fd15f8a45eb92b43a7d3011ced52bc2966cbdf4e7e287227ff034143b755f036a4b9c00eee0943243451f1832add69ec96a155478d524575aadedac4dfddeba93f69eb9f2a4d49fc182f6b1acbb4a53e904f739a98a41ad15f35e1f72ee0308a8dcc63fdfbde87450184fdd850cff417035a9481cbc17215870a4945e2352bbdb9a9a4856d7034ecb3b8047dc1911f91de1d3be63dfa7256ea61147d296783a97a7d9ac8f2921e90d23ed644ae989a4a930045c0cfb272d8011b283798b9d135c0a152009251f4ae68f3be67c07208acf2d1866cc4772149d6b1f4654b62bdd15a70d38b89b9da0aff1bded60d689519fdde72a1c06505fc89dda6415d97d7e6741b2b939fa02b6c3abfed82fc9bca19afee59235b80725da92d255d226f9f71f6bf299361d7941f6b20badc17558e69407d3ea3f9877243d593c95c8b7ccc15ba77342f70d25b22f7ecdf5672cbd23bf13d31bf1424720b60ef1c6c73adeaed17fa1e90629a1d72339b8bb9d4d125a5e8d21ee030cc2f57b817674bb9da32aad2efab357adaf678367ca00b815cdbb3865fa507645f6e70f72d4362a7b72ece9a61048b561172ccdfb875b79869d59897a20c7af35472e2f108535db8b089f99793d0aa56d4ff242a6000a5b723912273dfb7f6c527727ba4c94d55a118e65a7a790ba3f4c929f782e06f9ffd68ce427116d31473dc72cacc169ff1a455e71e8a0703465d5f641327fbd20de9e88ef9dc330285bd671a6be2d37abac19b4222030d65b2dd1e54ee94ceacd057bb32044110aa9bc5bb31d9c0478370eae80e99f965d7158b4390ba05b21c737f3399678ea940b5a98e18c708e14f5da453c4721ef777176f3d1f4fa8f0152d4aec0e50700a6d7bbaf05c6e2fff8a0bf2a4af40cf0755903f75869aed745c64174e695d6bad10cb1597077f4758c70f9e7103b6706873db093d67e1ea8467dc30e473c60300675fad5f314f9cb346ac7f00b29a5983f99bd5b2dbe83d410ebc56751573ef90491ab87d729f9773a08b718e1a5398f2235415ab57911d4dc70ace81c30eecea5007f3d40fa027e7e0b502bc79112902fef77d9109133a9b28aa9d89568dc5c20f0e4319458b3df6a5382e3b79de365fc5f1cd2676222e83576fd0659803524da4bf7c7d72154ec79f26ff316519c35c78de134595ef4223f488e1c5f3d885a7ee2154a572d3eec59cc1efdd4259a911446b1a390379695d8e3dee3863f75d9abedf3e3872448ea99e12dad2add3be5dcc06a80bcba21ec1bdb23f47de9ce0a808cc6bfa71883717b2b5aabe82aea6aae5e2df28b761149b466b111598dc5f41a068f73172f9a9e657700fc5c39d116a9c57e3ca6b5e70c6424cd1c2e3d3bd30cf9a6b3b72088b0429cd0e2b9bae919787ebe76f14bd17f1c74c846d018ab24ba70ae73d60155782a1962632f9e58c0680568e57ef0fc83e8b89503b34d43a0bda04d2377290d53fb8e1c2bb2413b3b5767b2d6489887548bf547ea1968ab6ada50d9ced72978d8addaabd2aeec7e1f47e5a4930fd526781070f866cf8ebe88a0b26b796725b5c6b0971fa2f9d98bf4fb57f50a63af5bab5466f274bbd6a03d68df0d8ce382682e179ffbcfc8d2b70d7641428a4e962b6866af809966bde3395bf8f69d9725ac30260a3604d474c5b5509776f6a2017f2350cf6ad3a730ebb16bd6178bc5a374a41d152bf5e19e57b793c90c99d21fcef23fcaf9f9796740b3082ade7865b5334b0d179f636c419aefb13f685b19e1a3a9ab6c8c86c5b33fe1231ce32cd7218ee6269e98bbf514dca5026a8acc814f86127d78d38e9591f7f1aa52513f672304482f0083e94b10612833a87153a70d2769662a8d125166253240c2012a172ae6a0571e577474bcd11947c1fe3256dcca884ffdd71cca925d478717f652c724bc09c9a0fb5d7ae1b095dea9cf705d8fad44abd38b6a59a096ea6f32ed1d42422d8e247d89f4c3caaaed6121a270e56ac33b6373a1ca91a5de5934c8e00885a4295677decc914fd5c5a6b51dc51ce3d4ea91bbbcbf564701aba85dba5ebee725199c3980196705801d985d541b28d64b79ecd87b82b2604f320793c151753722c7307fdd2455ee1f3d9aedfb677c22431516dd93079d454c258f970f14b4d10f72d5bcede03b35c25ba86e2c30615e14adc735e8c56ede5adaede71f4e80b72ba06b3bf63a256f909d28bc2c9c26df1aae9d6c78284f84399d5dfce70bac072f558899ad4cfebba081d618d195ce54696203821fee283db75d4ad67b05146549e296a60f1e75afbb97dd2e40b25827a8692e8c234d5250745e6f833cd98be7263fed1436f6f0f2f4d93fa2281ca7a947cb5e7882148f58902211080c171937266657d1e2d299caed8c4c6ad92ca12856e676cb6554a57c9eade9a64ef213d7283d6ef46f3a16a3ab7ccee4d70fa66e3e94db831086ad9edcebd264d3146a0721d1e66e4278492c61c34533c937693b907a97d356b6783819b12a08d93f8f572e507175667f79664c51f26802f1689a14a8625978b00cdc1351770a3d340c872a41520e6c347aefeae0f2ee305a40efd43d02399b79014d4c795398d6baf5972794908d71ca6d8588e564d0bb49968daa6037ab941338293a7d10f721ae2f87240c89c80add35c40f4bee4bc4d34bfab3ace6267998037b98dcbdecdbd15287267f6bd156e9d795b28ed009ac83dd2333253610b1dfbe8d501841c81c782ff726cd576dee35a21cd260d46202ebfb96640adf8645127cc4c0f99f08ec1c95a723582789f2c8a07f1db94201ba25ecbd1f777a7ed617d78a03cb76a29765812409256f8a3b5d12feca9a0dca78f50aaac783cbcc9c32cfce05758165b4b233d722532782d19b9884b09eb5f79256e8275c1d1dbceda155730309c3d19e792d3724701bf416b29f17ae5948731c280367b652e7949b355d7419ad84c60e3c8c1724cf4677a5d6b5545943aa99883b68a93f6eded263cd180714c7d81a82764ff727972d7bb818165189439ab11e6ca59408f350e205763d5ed6245d99b24cfc564e83de1d38c962e60b6f6544b87fa1f4d2ef377739220799bb461139d4ed2357260a9fb0e98d14e5e42c5dda71f7a8f7a5cf785920f408f23d99adafdf2bd2613b6075404f3466d7280c1befcc9ff16f549141e6c29b1683c4717fd688ae3797222b9f66432df6e8ac1626a4cfff4bd6373de7b5fce1579881e6081b5004601609d38062efc4763a762e3393a25e4a536f41b6c92cb96fc23de67ffe945fad114177109969efcabd8b69d9e8310953b0197c09c48e6c8d455ef9b6f161c61bc2550e94225ff6e0a4a7c03eae4a73d7b51a10f6f2bef976eeb8c01810e5c434702bfe5a8f9b78ee881a64416cadca94708bdad0fcaeddf950a3f8ec548ac59c672bfc7416ca4911feabd9ce2e182b1a67b27ab1bb1e6924dbd35db776b85632d6b273c0f07672d54c7668961e0d3f7841cc9b26278e531d028eff08e51f3a05a146b07039531b72d4867aabd68ad628376722074e2f829d32e1fcc64c91cbb0816aa15fa58ffafbc86824a949d54c9d24076157922c8a1c764a7f0e7d038482f72a41ad59ae300c2b5617e743da3c7e861432bee53075d7bbb46127ba457e976728388d0f26c863d2b3a48f8f6d003e518e22aeed61ba5329af09a8907f3ad4372e67c25fe97f375bd278bd611feb01e437fb6c500ac499da50208b9d6b662dd72cb04c0119c4eeb4447a8fb270efdd3449fc8f0971c2bac1d735f1028d6d7e772c915a8285ec90029e7658eec327b365e87c35a906705489bdf3965e5f207b672f821d0ad1145023d1bfa01587e7e54918b1c301c5e43ef752c4820e03ada1028f59e61f3b8737b54bc090c077e9dda25f7bbdfcfb0b0716954c35a27dc7b9f7205d8b626cb9a4db1865f5423e6ed2c1eb57503377811942bec54931583ece272f98d926384cc34f79e867bdef2184a31af90e9ffc60943f838aa38b17a93217268b4426f45a23d9a75a63a1f77dd3fe48bd5de5658a81bae7988f4d071bb3872a18f1a44240e39e4eb099629987e39d501734c73d49f98e1db25451cc3ff20722cb9a33a891800953de617cdf66e550f2e2a5631d2b5c0c1930e72c05d29b972373a8ba7fecc4f3843bf5c425b7895051490f21a4b8faf08bc1e52cf4233a66dbba861d2ffa09a02756b4ebebfbaaade773aa19f3e3358cb1df14c0a27009672e49d24d08b0a06f5588b1bec75393d0db7b1943319353416640d9618ca93c6726c23aa7988b157d9f5ed5de370f522cc511fbc571f1e0511136c2eb5135f9472961450717235af33f55bd2442a005f14d364cd5b1bcbbd496ade9f66f8f75072ba355a424dd9b1fb68ea9f6a5e02edd91fb05e549c99fe3be2c40033499ceb726622b9444b7ea71d9b05e5afd39b24f465880df6794d644f6c3ff83579ea5404a666b3e5b5545bd2052d10022d30b1195cb5ebeca9405f4c75d3a48352c22755e5a17154fa22362f2d62d7370052a1c4d32bc3c39125550d0eac099937994b47ecc494555785f3cbcdac8a5ce53d6b83fb367cc5a01cafdbc4bcf41f44f352237e43b4013ce5cc46c5e651436fb852c040a3e28a44c9dfbde9902ac1dabc747299e5f376b4a27e818a312278eb341131c28e9ec8a3451f73ba06a5058d3486729abf388f518c40a9b2baba39aba65dc27b5210b97d04bc9715798a7675dd8a7271372e812f126dc24301a66db8fd9254a57a6101af96322c04d159cd573d8c72c489a390b3b5199ab931c0e0ae35e7da8a95625a803fabcfd6ea885dc0f2ef57786bc55a8041c150f3077f8906700a5cfc8ae0e5023d5c36286370e5f5f2b772e257a466856482d2a6a2fcb48cdd9fa44f3606a2c1e084bf71b10bc005ef1805ee2c0bec166559af025496a5c94804a3ee67ad24e9b446a4fa92b1cde3b851720e101c5239d74ecf810802eda787ca70f39bf2e71b7271d6ef8a812d4a82d972e5d6de8babb5d9bd48ab154bf4419ca5991749ace884924d6c031f2a919fda1e21dffb1d397c6396cd5575423038852ecfcb98656a4c7cc14e4873a695baff72fbc30eb7de33ae4ae1e52ce69667a467d2e7eb9d3bb723e9521b7860e3a65f728b1f6f6c1843fe4a12bac87eb2b77a75d93f230d980974719d086a54bed52d72ef106892c9ff953517d9d8b6b9a88f917229a5c7c1c15e20b9ff6dafc246c372c2b251c8d2742d11a1900161d87ebb2e4ff73e1d4760f7fa171420f8733cd60cef2949462b0d373f09d043c326a852b8cdfa70e901edbf0e0439726e1c51e66c5d259d4ef0340f1043a3ed274ca28c6addaf927e902e13727cd117be432ba52eb240ae1d2f120137cf1bf66cb876736d52de11f515bd281f601024a908aad872650189b931c95eac056c8a494dce9855ac8c23b392250bdfe42904d80f8cf20f0e4e96e61413b312afb7f1a4274212d1a7ce7c2b7daee994dcd7ec2e16eac372686311b1e59cc8db9f69ad7e55a7756fb15d36ca128c0b9aca87f5447cb3967219cd95a3cf9ede03994ce4f82487e38b0a1cd56d6c0f1bfbe0f3462fd43fce72f81ed2692310d00b8e2f0b6bf1f64161e6322955c5825698ec287bfbd9daa57260b54b50ad05ab361c37c2a85e25b4dea92e9119518c1acc3af79c2c269087617da924b54948037dc9fa201dd000a48937b6ee8115b1acb8ef429f0dfa2c7d7283542c993c2a3cdf0a4ea83fc36e4661f9a3c2b30d282dae8f168223646aa834570efec805359ae43701ea72b4bd74f273fae6cb79916f24234e4685dd1d59725f7d64523d9cc99e008837337913f723882d0aeba91d16f996ac09eb00cbff7264d9b4b68c775041c86a018f80159c4cc949020ecc356a727598613f4a28fe259c1c43a9746c865236134ae537fbcb5ac32871f480cb2b99f3fe2946bc43d117e508f05cdb1b27e5e3a7b00ff3267fa3494295a0c4836fb248a4ca8dd446b917aa60f32efc4c3b48560fca1ab2b8948ff4c4ddf887bb13e166e54e46500886638b358f7bf55d2271456e2583e6c3548f07aea48ceda8606cf8115f1c034b2b7245e1a5321e4d26f1580910d8e20caad5b506aaca60e98b21fde33603e78383723e93d512e9e992dd3ab699a13588d21edc09b3f2ea974dfc552622a08bf83b1895c1f504a0c9ce29214126d2074c204dc1ed94346dea68cbcfb45a24a9bf7972bbbbcaa6253e60f57ef0a6bc570cb8cd81fba3b2df05ffbf6f1c4159875d7749568bdad822943e3112464598b70138abb035419e917f989aa78e5e0bc74f73726f9094a73dea0dc16ccbc2b09fe9839ae232ab447377e5c19b4484ed8625301d4c05512d793cabd0e430902450acaaf2c4abe14f849fe0fb531f8317721bac72a252521767ab0e046e4e137a17d73340c2571bbaa0163f4fc7eb644859bf8072de8db833bcfcd94431238697309162e43eb4f8846f9278b9cdbff1291c5cb272ab9c998e799ff603aed079ba6f6511e1930a6e3404e50ac29be7999a4895243d74352af1cf73901a6a8d7755284a9790a7928e9725676278d5dc27b432e067729e7c7b6d1d8db92a57b5749e55d89e3e88c11df29bd98ec4c648b52966efdd724b25346d5297940ef0699d89cc6fd7ac9927fe9dfb2cdf25a78f69bc28361c72c25daed0207af4debf101a7c774401e6b7a46c9ca5192b18e4521e6018ad00727e34c142e684966e4e18b7141b628f93a4bbc44e0a31a402d924a0790c40a23c5b13bc45fce2e6c3b43ca7f2d3eba9237c22b8c8caf934e87cd7f1c5d1d65f17bbcb9d7e8c39a5abf92cd1b41c79f1b3b7739ebd3fded9e35e390c3d41b8081fb9b724b0c7d8db9a266f05ddb3374471b4ad4e83b35f391cf6b716ecbeec5172748e64d88c80c54741d0491f8dfec86d8477cc9335b2ddab2731117ad29d7f721d6f604ae4e82b4bd8f7020c8fa4b6a74d49470ed57004424ec902d3abc6910593fcf30a31441af9c0f7997fee31243ebb66c26aa2e105865088456596bc2a72ca3de5625cab4643a38a9cd1edd74b0c412c892e94b8177d9973fc596812d372faeda4f4deef5cb37fa5a1babecdb18e27a663882b4bb0db9975668a876ec037beed0c354abbf8dab2eb2b22809ed67d3a7a5be3d705f233bbc5d2245071ac72abb25b9fc855efab72c0ac3e5affd3139693a5d599c3b7d57f271d0b2cd2af72f0d5c505a9d30614344ca53b20aa476152520713f551554618b277b68f748172502e42cc3b0bb22d74df21e6c25c5c2435c4bf74bd45e5a7d443914aa6bb49348049cabe37a68a31395fec9917f5a2e5604bb0b8beffc06e93e2e4e2ee85b63219efba505daa526355da5b19222abb78c164f050b48d25037bdfd1e52d1449720795f9a95192731f40c5fa2369ec7087851200c176b832a5f9feef1e81ef200525fad30dc228a0cd034d2700f749f18908949b17eae4d8fba99c785c240f1c7280c0f902333e8ca4356cf411896d5596f689f85047d0783a4c0cfe87e64ac17291b82b28870808a85bb209584caf675152bf23a4a7db8a06c3b6b779cf0d1d720694b318b77882ff31c97fd1d365d645524424f85f7b94f7e17610ecfd456672e1b1c18ba361139e79b3a9b2a6bf37ea5b2923af264ffe185b4396158ed4a57228dcd5fcc072a4b4f34c6409e4662fdd878466b2f26f396fa287de17afbd3172137413087d1280b04906b9a876a9e586ea3905b5c75fc2421ce4a97de13dfc2301558e570e238243591a753c350dd90e4cabe6cab979c2659d76f0223cc5e91b6fd6b05e45ace490ef794508eae17cdf4a23cef32a7852dbd9091f4ef11e6c72b4c63bb622baa9b4ebe45ec3f005cdb044a4860c6934a4cb41b83a761458427299dfb179b89531c05fc8763843906cdf673f4be05f29f247ceb2869a02cead72cbbbec4c56545ecd327453b5183cc8fcdc91c218d1111623eaf00b92896258606a680669484e75264146646f201d5db1d984d965d33f57190e44aa03f5fcef6ee4c51b296fb690650461214fa537e68e89ec78c9bc2b6feee6af2047191f03725b4f0ae35c3e333ae664193e3062f0413815e7952df8f7296c3bd30dd5073d72907ed133cb0dfbff23403b4cea16221db550a01192f0ecd31f48934d537dc6720e9072c5b10a39b8bc4feb288b8251815c11adaa2f872839e874944279b5035ca4b5a6c8e53662211654f5e3270faba154e4cd18fdd085a8d8796822cd10c572030bf105e8c0db0bd90baf6d960174bcea25f624972e72e585e3cee2da72e67279ec3b58d179a2be6cd0818bc434fde78ec9d63c90c70313e37f70fa0962291262865f5703f559576bdbfc7d4c04f4e4f511b2edf3e0a603683b2db43088e90dfb7eb70bf057f22d8f1daa6e055b4d3a6f773d7f55abb0f9761e0ede0ec9be72af3f3e72a72dcd5394c13ac0223e6bdeda8193817cd29947adfd4dc2e1a6034b2670bd24ba8595929a99d37eaddb2b08ff1cf08110349096d0b6cf7d664e9272d3cceee45775d704caf2e31af20626ce93000da9f8aa06493a1999db78f2b4633be4e3f1eba02482af07794f1ea9b89d6c828c8a66f2dc51a53daabcb402667245616408b2758d0004acbd741603daa4225b28a199f4cd87f091aee2ce45b272bb2cb72fe695b2e3bbc3eb359cc4826ef57a55c3ac42011c66db012db6588d72801ed492f674d65d4f52dd87fb91ed0970af3940c1db276dc420bf33e0d4f11dbd6fc58f341b5d722533093e5d8a20f310978c420b11044d9bc0cb634fe42c72c1a8b87141ba16d663860245667c51eefc6fd8f5451af958fa73227c027885727524a2b6027e944d097b85b3fce8f57dca7b92b795de7ea490cd559a03420e3d4869c0d36c5770f832877e8351b75e3ecf8aab3b4c7564ad37d04765b2b7fc72ed2bda3034912121005c9252b40f6159d377af9230e2fb41b928be91a186ba72f0aed9591d3e06cae52423ccbd2fe1d3de64a709e4341117744a4523e58351651fb295c59a4f8afc2cd5c92df8dd362f939445dd4e64151aeffb53f67b2b44724483b9124376f20b44c687c18dd9163b97e0418e16b776e5c99a2a2036873b32c88e787d1a72817bb51445b8c5602e996306b1ea4f35f874555f2aca9810bf191f78e03aa9d92fca7f5fe45c2179bf8ba374725e0c018d374f2b64717db9cb729f6c2e51d984b2dc5c328f481b760920a960e7c57bfd0c113587077edbd6787278c9ead3645d8b131f1899e9b8f5c3406e92776e971b56609cff2aee7f87ec5603343a39d45f2707acc8b3e9866d7edcf976c6405db901e64f1137d61d379d72b2a4e24cc42293e6390b0e450fc0416f002f3abb3cb5f3984275e648707d5b72c4b507c1fe7676edd862920cb284ceef5e1361cbb120ba0795002544fa651372625b5cd3ea1c32d874e903261439478b54b0fc54cae085ee342ffa46d5630c7221725e1d7aaaa2f0b1027fd0164275f24a43e326853b5fb27c0ddb7d5ca27c726734b5b9a92efd01ba5382d893e4596d43121c86a16f639ba7a3d71f9ac8407290c42a98f3ffb843498f977691ce7367b1b03c221722a809f8d71b4dfba76d53f8f0294684245267c1963df9b909a74052697e3b286bbc6087e95cf8a76cc77201f3fc22eb6eb3ceb2d7a0526f1a2ba2d0ddaa817170dd1d3f1e744fd2949d72442407dab15a6881eb79dd7a48cb9e607d7a62a3844575b0d37e00de4fb0142df10455a05c8deb9e710cddb8fb6fae21d772c4e953ab7f8a28085cc28d007572cc231f8a479e8e72367f7debb868ca77f269e1e591a7b2163940d5050e539f45774e4efb7fa774051283c89990202b46ab3afae75cb15cf3e06edd7d989e5572c132d44f44fe3cb2b9ef5f432e1b810f5b6ec086f97897d9f2bdadfe2233ba72f36274b23db24650f902a71ead942f93651dfd749ad6641130473da1c618b426f07c91c8927bb01dea130939339f823511d4276d681e9ed62d5aef8490d87072a67810a79898e111453e543a6372ce93e9084e0b1f03fc49a04fb2088c9b196a987c4ef9c0eb398d59b7f5282770e464820346877a97a8bb3db929f54f25c96ce44f5c8212fad1eef3e81418bfff558675830b26d86f5697e81dc72a24662472e20dfbd017940088425f1e1510612e25fa343fb04485eec0c55100c1eef2d872071b0f3b0b358ed484795633b9b93aaef4b1a83be4534054f3fa66903347f52da188c92087785bea734dcbb63f4f4f43e2c8bfde9001ef8952215a90a4c06c61cb7e54faa05404377f73aa48b4a9b3d72af974c00ce8a9d22f626e683d7383720c73f758ceffd0abdee0d238c7ef5b0e4e2b46acc75d5ce25b739b46c71d5b72a277fc2944cfe0d861608589f71ea0daccee8e86324aad1b9b224838160ca872a47483ad61d2eeec8c348bceca8997e85b56bebf078f2803142b91f40fbb2919544bcbf6ffdff6da8604236bd34d5e5e00476ac3217feb0b0f47cf9858390e0e6fd3ff70b4b7d11d52c7312ab48cb3518938e7340aa4ee2aaa6dd4a9209a417244a3101b14cc7ad5946e5769b870bc70cb9b2b7503b72c5246b379dd0836ab725ac11fb53637a8bc6841314dfd52dec160b8b9f31d74b3e922a5243d4b38510d43baba32edd96d0dcabd0788051d7896d3e4a0acccc45ad88da469ce60734772cbeac2da07a4b90b468dfeccfeee09569e34baef8d90b574761561a3e08ef034e608fd5e6d66a8f2cf8506ebc9916a8c81bb9f1c04d2b69cfd067b2c0d7a49725df65ce73cf8cab56f6e69cabd64d28de907f23a05a2f58738bac615bd270972a3d3c908f5e971d419c4f9ba3364340b6425a0e452051c6a89912641a8fed16bea67a055a85eb4b90d6fc4a00b7073b246a58d5d5d3080ec0b371d29d0f06d0a3a593c7c894ca7b72f5ea01977538e1eced44a611df4db87214e376050614472cb689b07d8bd734bfd53f877fd84371a9865fff9700b6604530904dbae7ecc638f4e95cd59285b4ae81bab356c65c560d20476bb664002f137a3043076ca281a5e0f2e3fa9c69d7387ebbadc9503aeb9b46e40c75d015b8ac42bdc385c2ef81a8e14cf6a5c7131241a326e14523c75655442e60ce0e55e3508829102e6f19f72971ad75a39d45cb418c8b0f02c99c899f3698b7588c05f38bf4d30ed39240172ce97f99b4ca99912c68683d6d1247c7396f2a6f9f38699677a5d5324b517ce08ab5c1d6939703855b447f894b220c23326a5eeac7b32d92f32a65fd9bfa586721043b77fc7e11a333ceddc943bba2178f70ec496fcdac63338108b9efd7d82727a8533e4edbeb0a15fab8ad2f1ec51364c026790acff595a9e5957c3b17d9b729a7b2b18e55de1fcc3a603a81483dcd49ec51a9ab3144d02d8bcf931d5b34572193cb366f340e177a6591a0abb0c398a434a265162e97d971a2b7574e2239572289bd45a31cdc12958bf0c9666c5a7ab5ef62e3c00859193cb06c03866d8446e4ee597ee1e848299fb61dae12d6cb7531275031c08fa00dd7309670d3d99a24c3bbf7481ef0ffa4ffbfd8eb39a6f34b5c4031a3594f47d5ea3556eabd4f3d246addbf5ed9a3049e31053ce2c35df7cc4e854107c91403930f7ddd605e70d986682da5e8c540fb15c2ef076858f5791bdce49aea371a7b04921f1681304ac05724d0da7584042064ab502fbe3810d03b290573d7cab4d73c3e74cacda1b3b70723cbd7f98908227defa3656aeb14a353a6a5ef559114c2d9025fd67f4821afd12cfa2aa205ca8da80384bfdad05bec15001767d844a1827acd7ca27becbd9c15aeb278de7e6234619febb00b9a560614dc83106d1c7653c03a28c0a5eda85b21f3cf7085e915f55c637c2515717f01b78d9fc034f08135d9e1c0381ca35575f03e2a1080bdac58527b5aceec0a9907d4c7f95d9e877a8c730fe26a0608ad367729af305baa79dddf98f94ccdad39e182c1eff08b71cb51d3d682c6d4ead9b603e092333d803043056cd2de2bbbca803d4b899e96c9e88bd2b3f96adcaa176cb18de5839079d71246c74cf187f9bd3061c5e8f6587f23b9a2da66a44e157d8ae45d0ead6e742d7bc323798a48d020c71f651f5f7452ba829a374d33bd512b8337296ae5768aaf0c8282432852b4f94daa2ef6175ddc9390789649a7da48aa2f353b9b2c8804916b55ddc8570994f046c1fd8f024fa0ffbaa7bce95870603b6994bba992a2868cb8935b56c63a6941e03ae90f0570c70ff92df9f1c3e59595d5a5c01b7ec9de3fd947898721a436682abb5002e8cca03fc0c656056078b492bfd3ccadca00a1df7c45cbfbec360fc370fa56c485c53ff9ca64b92ff01a3b2b8ef1a7e063049541e4da725dee65f45eb2205a8436633aa333a14761a0620035f2372960bb789e5e6d2250b33ecd149f8f9638e54955db41c72506458b7b3a83265728a5afd7677c94b25c981d4767e1aed9e685819eef2d075dc15b90e8973908f726058cb3005f1abb7242e68dfc113dc75f56ec97a5cb679ef37b7bcbcbe7dcb72b548178787a42a7a01e4053431afb0fd0c456bc4f27d213cc6f84c4a2f11fc72be524fd19e1b8a01c0b96c383d41e0334c0b20222e9c3089d317a6fe944b326a5fa6b95bdf4b35be8a1a65651916bf0ae52dc9d824587bbf61c421398c7e4d047fb4fffffef107476716a330472b64eff677ec6a16f0bc0363f2b532f8797b72b65c7396366bfbfe54f9ad31eabcb4e94a8ebb022db388b7e43a66f0bf733968b7d780da3dcadb7cfc259dc4b9ab261f1086256249d202c1099a5ea24b25c972fc7ed02382e50bb4aa2ddd119e06041907d170299f50f25c2056e9bffea27a45bb7f802bc5f9c779632da5bab55a2ec91fe21ab6f33b530b7ad66bc5304eb0721ab7b66d3a8e69ca487422f4f63d4e87d371e3dbce0e92725126c2a465d2fa726983cde09b9191d2d4323a3b6842e3184f0ed4030949d4834feae00a6c039372ddfe72de476127fb4b8dcd7203edb5791864b3de79bbe16dec56b60d18a2d2726b429dc2988c1c90ad6388f6e354e8f49afdd5d75ee9a6f3fc9e246db1c81412efe46f4d131b025fccc72c56ef1f58ab85507f54e008e496283cf9239ed19611f4fb8c7577f348a0a65b131ff065c964ff57729303b6958b6719d6664a76ff72e88fdb114f1affea1629361b6a2f645111e4329fc6685910934aaedf5053d15c845f50ab14965e55691e541a32ac2d5b3f199286b83ddd5bc530a1e49305ee722b12a5b1254d12e6d7daa5eb0c1b7620e331069e8737e32adddc0b4962cc354201144f0dce17ea4a79aab294240d3980ab095994e79043388f6bae783bf14968821f0a4698209339fd121c02fb62c8796cf3070f71399055b5cbfc6ef0330c72119763fdda67684af53e9d0bc6acd27d38e5d7ce8a74c952cb1e094cfabe33171f3d157569ada35ceed8465390d52c24fa41c82a89ff8be5942337d508fb673387f704d1ef8524ddb0dfa82f771de312d7691ea2009e69e43b0d9e0d54c1c61755efcaf0e13ef018a0af6657609830850ba23bba2fe2e9bd92d140e1596ed46bc71895a85b93b885f4f6ada44e793d15231cb9b1d9ec2a9e8c147865c5d13a5df12ec3e1c2f44de860c4ee077b8aa6ffc300f23ce6ea2c8119c047f5721c5b72631ada3a8fc50826e1b18a9b7b1a7a6f79bca556414fb05d153ad868dc8a921b3589adc13157c8a43f9461080c0d4988d9ffcb192da0d074cb761a5b069272728a530854d314d5ddd64a0cbd33633c18c4206c0de59da7847fa4c04c9b76cf5b4588a3fa91b7cb8bd9ab73fe5f19c9b23b7acce7d1faf66937807f51ebe8bd728403946ee2060b261d21cb14dbbbcc3eddb3be78f5a9b0b753346bc054acf7426c2e456811f93f6981ab8d57fec83f5e1ba117c884f76082420c28f4f7848d72468536a6dc9463e14080b600e7ca759beaa2cf06f959168abf4ee5d30dc65c108c2f67e6f717556b8aed7455a0884ce3068a26bcbde24fa5566c3d0b4b492964a1c2e22aaa322bee4c0474d5c646f0ba0ed0933cb3560037df7e6630e7b915722b4df4b9473d586ad17c1d504e49a8aa190f675c4f43cede3932bf43a55fac70dd00f797b9b58a381af4852f0be53de36c8c351f44cfe9d6d3140817c25abb4dd423eb1d01710792f8b495dff6f7e11301b2cc80c8c2f6d25260b250f352af721c241cb14aae59eea7f847e29414948e8a2aa85a95d1083383f02ca0603a4238de2df0455c1e092562c302464c3796fc4d80cee459d593ee10bbd04914b0f37240c997cdc17c5224b2475cc0ac96d57302d7deb98d63dec091bfd6d29677f772352e6613b0273723cf195a0b0703ac13abc9c990ddf2d55e8779a17dbae488407e8a129383cc960d4b4d24acc1798d68ca8aff854866504d5021a40ccbc31a7245143984348b853ec5ce99a6daba9102d2e1736fc305ffae13fade443041947247c0621c8a9eaf3fc8168d619c80692ec3603b272c726987899e6b08dea66d725cca7f6640bc5443d70a7c319124ea95e7a320636e02373027d03cb1afbb5472acaade124c419b7f9f08af95c1ecb4ba8d5a0a466ad7cf6685e355d8580bdf728703ac8e80615953bb7827dcda65b062d5838fd0c04a6cf07702fc78c9f35c72449596ff3a4518a624c975e4dddfe1ed2bbefb80302f63b78c96682cbcd3ff7241c75bbbebcae40327c3e61bb405e2dba15d0cef139a895727f27257ee77267274aeeb8b989c18b66de7f1c13798480e03ce132687f124c7b380e2bb476afb72744e53890804757065dad57380c939919f86c45390eb2e954318d91d9ed48234033933501ca87bf98c54270f8d0e704abcf465dd4c3064b1689b24f22439c96139eb88312bd585fa9a25d7e6dfb1af6e4d31060d500b7bbf2b91c22b08a85f54369a838f20deb746950ca6737025443dfe315ff8b9f17cc29b0ce76cded5e51d2e78a0732d93cea7daad1afcfeb4723888d6ecdaa89627c57a8968f40ca2ee725030800acc4140ab7c2ea20b3db27748339c3d205b80b0c8dae7c7df74d679727dbca6fdb7d0c6a910cec868c2c607934ae870a095c3cbff5e96052a642efc720c4a567373d3f2e8b0948399f685dc1da44902501606941245a3956e4521ff48ca4a25102ec882a1b7b605fd79514e0fb117e5fdcacb07de71f56788ee59ca329f89f64788888b3c0fcabc0b861649ddcc2d5d275e1f7e1fcc3dbe5357b3b029b381a2a4c7496456e801b01c7bf1253f1cfd59d5c87273cc2514c8ace1b55c4e300c37cf5f6818797955424aec2deb4801ca0c524892d4661b1b9d8a73b4cc72d65e12acede664b5c5e328961d1768920d4ab50e7b7ad19d4b77ac440b5d4272f32f4246228a4ca889b25fd4ea24b048f995da5d92f6ce708d56e4f97f001672166defe684e426a4a44ade7a7d3a838b4ca7ab18b270b16ddb11d623f9e44745f796412de951c048d0571d9c5fe67902eb29513ce0096b6a74ac812c51c2ee04916b3214dd1b65452be37afe52bcea83560238202eb530f408c5ebf9bf5e6432e7b189cfd1dc9d9e5f6ddd38a5f50b90e0e3972aad9502520b4aa2fc0cc5cd67902c0c7ccf9f39803f23b38ead09d423166e0069d88d5636bbe14ea52ee84e72b90b22dd8b3460cd7622992090762ad662ad858ae6d1ec8e72e568015c697d727dc3e277354243769fd2bb91fd882e73ae2a2eb939d47e0d78468ae30cc90e06e0ebcdaef5937f39024de9da5e8cfd5561edeaaf82b20d9901f081dc85ce5b7283faef88c9f6bb2b10fc4091f07ba9a137922f648666a0a5c9b157ba6559fd7287b40fbafdcca2a32c01e3860ccc4c39b575945fbb7a1c731905fa9addbe773a27efc780bf0dbec2fd3a3372ad1bd02fdeff7288f127ae4462e9187362f40c72e087b64d867acf1cc421cdcdea5aff61e859b7a896bc4d017df55d9e66e55b72dab14664ff0d998013f31f8b38535c3738e421c38d4d9093c9daba4e1b6dd802bbda505183e111913d42b3c8a4d07abb18384859ec3e52e1100f8aa2e2358d72dec3f8fa5d318a4245107b782877554c6344fbcd19c490a3e07184d9a2480772bc2a7233af062f3fc7816e0147542e11544f390681d4865502521959b572df0fa8646df285c91bc665fbff8e84a2973f901f4f47c0c7897b724cb6e756fec3722662d61977eaa8bf8cce2955c72fe69d677c616fce736452a6b68e985dba07729fad3e1e5d9208c3ae17a82f1dfd607c468ec005336a399734724b48ca5be5657b57a05b20cfeeca641ea20c5249c65b7c7f8a57b68810d7846f24489ca5071911f2a14ed8ca56cee444c2123256d8b9c2535a86d2451ec798485960da5fdb726ee0797edf3a7dbba5fa594e6017092cff7ec9c9d3f8d49ea8b8eb353249ef72a0abb3a69b127e45f88ec65c0037506343af4b9ee93c341dc8f3ae253c0189724a9fb1bfa1251b3b3199584d07ee223d3e28c2e4823b0daa555bdc6ad6328f14b82365edf229c7445bb09b44f3a3ef12c3751fc55b5f2ad7408ab094cbb4f736e07b42b065e9f13e7b9d8d0bf5132d65d26660b434a25213c6e10a4cd21a2a3b9ebb17c3c932505ada3c330c8ee1b8adb02ef5621e8c093cf91f844977df4272b55f6365e4ebc258f1c3d592c3340ff0053289ff7439b2370340da51c3ae955a91e81753e203c5186bf284a002530e48c95d54b6a4d338e9a20af6074f39cb363ef203c011727b686a34d5b6218d15f2fb3ff535472d56d714b35611377396724c3e5316f6d4c0783ca4b1f3524741542876908bbf6901fc1bc4876b74d66272c0688a857c2e4a88388ef423364a4691ea7044f41604ed8eb0fddc0d786b3472de58d4d1fd59604fe549990ec7dae2e48649c9386cb4817810017698fb9eec729baee88fe398ee856a9f03bdda9e30f047bf1c2466edfc4ad9cfec1ff36066725629de54868742032cfe44d8d13e4dd00492479826f2d361ccba2a690e0db5724e660a03cae09dea7747537ba8cda6781de8d96c2c73c648aecc5e6704d07b00e076ac3969558211b89d7ec69bd9ff5e1ea1d4fc18925ff4468ccb2177ef04210ea067947f9d0882d1bc0d62b9326a1a4681361ecbfc2f5209910da11f74083fbb06c465a8e44f4bcf1fda637d6018408b71b77407a216b0c2feb56489cceb36f50a8ffd9c6441c3a177d1c9ecb398438cb45f5bd7c51ca9f029a2a306d99f724a44ef92e7d9335f74b72150261c63cbd9f8e0331a620a10ef73780494fdf67211badcacba63f3b8e79c3721c177473a825bb6ce04d6e864e6e95f746175e2699bb875ca0fb4a379d9ddee1565583bb824610115087860f6e6bfc4d6f2532f7219a18aef6ac5db214d47820e45c93fa71d5cd314331f1fe71f0609fecf58d072a721f1c7e1a6b7d1a06c44dbb1051027d3f388a8047d54be303f8724bcadd92ac377f7a3220c26b37b891cca676f41bce9eca31d9c52dff5d21a0acee3c9cf0bcef8c18759c004dc5693dfe0450b1a525792ea22d9747be6c1dfe6322c1a48729ec96eaecd095eb5de9e97f38a7c63d80015f225cacf40465671842c6afec7726df591fc6a761b54b8ba2e4b7ea619d57eaf0f5d0257a6627588e08097313c725467606236cac6fd6bffb7cc7c4536461b0b609f70958d265e4f55ea6f2a502e3da94325ef3f5d7ae78fd009de949731881933349204c7ab1f3ce5535013b335a58cf797249173182f2084b05c97a006ce56319120ead9830447f53593ea037242c5f3fed48fab7fb2dec82a0acfec57a5c738cfa6434e3e7908c6d2bd7d4a72f512a30a4df307dbd0ba665a3fb27b70233dad367b33529f11a6e6741aec48723e04d324ed7845eeba9615f84760b4011fd9cedfc8eae197b8fafce0c1758872f5bf5f537f2ff92d10e719e36134f81e35af4381fa36770d467038ffb560a672f0c93206616b644e0d0510441154c1fcd9c97fc32f5336ea1b920a4ce189187207a9cd162d63eef11e49a398174f0f7a6dbaa247a6c2134b976ec3a19d1a36725273035868646d1c74592306f993a67fb6f0c3e226db253cf60554740ad37272c66bf2a0936ea40ebff6fcdd7de94a2ec002c6157a34611aa6803ec6fdecd95a1b4965c4cb258c583bc0b510b91e2cb2e724b561102d97b6268640f97f8ce5610bbc46cd76245ff8ffb82434794cf4cde06414073e57f9d9d2f219d5ff7a6572d2f557f8fa64baecde8087130b49e521ed33498c866839fd0b91fab333bacc14452aaea7e2771992e53922dc21b7d4bd2eceaaa2544cf2cdb831feaf41395a0db95ce37d7f13a80b24166146e2eb2ec01cb29889f874b925644bc93c1dce47724fd3cf5053450710f29d195dd275f8d4787bd8c5440cc798a13ed3f075af8772a1d8c268261c4807953fc80e1af4a6aeae2a478c78bc396693d4871a69dc8272ed696fbcfb563fe9101298d0cdd31f30ef2a12d46a7680f53c29c5c7f37172725d41fa5d1ad10a8f39bf5bd4f5315125f286779afa64142e57a6981a69013f41ae9c90bdaff4ad463457fe76e46b6dafdf19520747317310e4153bbd18b4322978971b24e1ee02658afb9726ee19663961b864772e3e41cebc52c9f3e7f073724f58908f1de887829949ae808a585cc08319b356e56e4bb8a4f42bc4cf6e8868f9b617796d5da6b6428d429cef59915b032eb32b6b42454e2f1af1dfcc0ea572597e10a4efb7516c1ea9a25fb39d378cfbb120dee55bfdd21b89a2e9e5e886724e2825b0cf5355a0d7f172bfbcebc1e7d804f6bafe9feeb67d8f275bc301d725293bf27d724c4adeda14245680d3db82b8a9e7ce24ba1c51f0eb8f30a8a64972e086c85164a0c0d1432577e4467a6faa1aef67f5f49dc7c48655db4ff38fbd72f7c8aa3260ad5506d01ad56f3e3a000a7d0e8c0fa43ddf2e2ac3762ff3d65072d9c472c318bdf232a7f4788f1d090f8a9f5e4cf52656711fb3b4558057cc98726de138e1b7847a6e6f55f394f337925915adf88823a80f11ff45f128f37b064a3705f7f191b50c8101f7c8e8a1bf10b7fa1277cc314d812b646b49bd7533ed7260072b8da1a84ed78f7b29923039b072fa2e8892ed7ea1b82b9c0cbf5c0567464bee742ff5ac0e91336dab9192677c2ee0e93ffedb2cbaa33fb96935e170ca72345b056803087086ef1cdd9e9d1b2e64442aeb2673a198b0223a7b7d30804172b4d4d64f77e2dc16d70f476e05df52dd6a461cbca0f8e021d8a262752f827636425be3898e02fb89b2709e0d4223991961fea68ad967d17470a35752cf6601722b9230684c3b8f1fd935a8b79b0c23f2dd764e2b1a9786edd1022ea9fbddd04e991464018ff16c26e831d404cbe2694156ffcce8a60d5c8e6bf028f1a26f4f46d5083976d9dc4d6d59c774916a21aa05df35282b0dca4da374ae967faddc2372553ff38166286aab3877e637af6d55f07def80720c25ab765de3ef31f7df076250c54e47f1aba004d802feda684616f92f327115c1da5a1fede8279d994686729be474cd9a0cffb203a39c6a2779fb03cffdb0f8022cf5bec4492d5aedb4fd2bb195272b0a4b7307d75d77d36f54f9dea1c7e1b2024b1dc442d402be5f523b7221342c2257e602e1b1d14e19bb51664f12cea98e6ab6de83f833387b4e38d5729fb423a2966fcbd00adb0b4eb92d355aff841bbb3bf4f0809b4e054408b1e76cb9dc57a66884e7f5f1da8efe5757f3b91bc6a5f75d1a5fc47a6aa29156b3ae7264849a72e9e5df1ad897391144e20882fd33ca4ff5a2be4eb06e1c7ff45252720f4f10ab77e26ff1fc73def80f0ceb9d7c58a4918b84d2707395fcc0f26ee77295ffe18b8248166cd412b2958d015c3645bc35350d70e08cdd4ff12e9775b731c9a922565aa689ab93efafddd1eb4ad05904aa9c6675891f3e2680271985e820e75ad12cc210f32d1a1dcd6debecb65e25a4c6e6cd221774f707564257886f722f6694de8c2521d7ade6a77f0f6fd2609e7009efcef96b2bfebbcae6b638ef7255fe78e151452fdeec6cfc1de2efd634a5cc28d1b0b96f90455a9c51e162c429f1909f4ac44c179679332c83aa00ed900cb2374b24339eda59d9b1073e53d94b597cc44ccf1c4a28f38b32e409858c66d8fe1057a7280d51a028b568618a3c72bdc696d15ac2f73938fec744734ae37f8b97ff32d8deea1e5f75d589d895f90ebe578b26f2beffc2116e67fd6a00f88e6308c3bed4df9df06da067d5d67d2c562e8509992e6cebf672568db73949b8e8c14ec22d9083c69f91d2301babc7fe72d48b082ae1db4f341f4c70ce91ca50dac819188d3d1f2892d1c9ebe4f1cb2064c33ead616cc3d3e222b145c437541e830575c6d719dc24a54232d9a84e966f3a84bb0a694f288ee01fe6dbc0a0d791b8308b44d3ec0914a3b9b6b9af6129417244930489f1f86157c5cd8da61c6ffd6572b820fe0c502554d9cfd3d9bef57d6327da43652775747feed064b4424d43a647e3c7c6f6b037c8f8516816cddd800b80dfb07d1073edcabc44daa29207f8d1090226978877f963482b89558980e56dfc99c533ee022c36f40151db10c732d8e5239dbb197c297ae8dceb6dce5a1b23a596f857c8ab0e184e26577f2950e05999dd43cf93ebf13ef1562607cbbe40723bb6c9108f40a20ca17d8bf9051b1812c427ce2cb14c392bba5c2dec0a08f531a1d030aaad4503491eae9bb5406b4608d54b229a767e53e1b7cd1c400462d2017a84da0db91a93373fb8208f81e136b59e919412e86f41fbef1ae01b8f226568e2ca06c175b4274e0079e7995082532ddbf02743519f946dbb4ae6d024348f7218a92ebee111b957c9a54a83fd820062c885778af685fd62f3ad73b5b0dc703fa978ee2b0021e0e969b3965a61d816029ccf783617582daa772d38960b4cb472c9d36ac3204093aac152697cf6804e37b80fc103e8a4179070b29afdaa330772d2c98087ae50784159017ed455dc151dacfd2ed644632c69747395206a89320b02f7c3f281e03636146a0578255b44b59069dc96bd4c75eca0749a7ef0b67a72258bec0f73faea57ee00c51b2947e4ec6e1005de2130b0095ea973cf6c042572e32a3ad9529bc480978b3d202dd626c15f3810f4e5014ccbd5828ca2fb76d7728b46a606dee51983ea9d3999ea45427554aeaa8cc1c802008c906c097dde85575011d46db364c7e5edfd6d95e8a6ca5fe8ce2f42f94fb68c95eb10f9403d4072918797073091850b980dcc7b544230ad2d90f3dbd0254e956fa9b1b6bfe5a172ff692397ba234f410c8b4f28e52de0306d606a47f5bb70098bb7f3ffc6f428728f2f34bd7f8cb83cd4a5ae4436633ad986b7c13e420f633f33b9835e00785445b498a1d284a7f28fe262e9b159c66690e7b44a6fcd12f8a3b6c7dc499dd46b72aa58137174937f7bfe4090e57bd79812665cd1ca2d523c10c0e97ee34cf80a7260a070b5177ece6d99a7656e2989c037d58ff828e4e1d0d7af250ddd01d5747253bb0695db2201d251922626835a380539ca338c3e3131455b4ca551b6df3869ecc7fca46b393508d5ce6631849487debfbe8f991560787ec1d0175995747c092da87c54573ab0fa6593fa5c39d6c9a4daa7b72f623a7cc3c00553d3468b0d725ed8a71300f17e426295f65f56881e3eadb494c0a97b9283c04d0aba7325b56be6fd34859555a870303db92abc660c50898da5064623e8fbfbcb7fce061a8172c8c9995eafda9e805dba21f2c6638d23514f9129b93397ec9f076c71be7c9872a13a05b5d2c56d15ee5e5b63e3f4fa2948c9f15e0ef4591634e13ab73c878872b44136d4884b4644b3486b7a27932395da5917db755462671b47ff5bafb132725c2f0bc9441aca5a1f867ec5d4ed1621484ef16ba0b05008c4420ff5bf36007247f5b32c28f802cb37a593dc0d81e7dd605b4e54c8bf376b48ff580d98129b723028ad2f66dac2942fb635efdc3720dfd98d49d3d8e690f3c80e70a33925e712f28c1d1e8f7aa0c8923f8be874fcf2bd98d6738b9c170dcdb7861ce256bfbe72ba0131ce47f27c76d8c2b4dcb5a9eaaae5326d951e208e3457c1ac3e5fe2d472bd31eba4dc733301f4dce74fb550daccc012574722334b666b4ae2d66b95c272e74c5d6cbb136f75298d3b7a96a8a661ea30b864d4e81bff6f6fbf93bd963d72e36332cee36595d84a00190768275425c096a8855f3136e49e1b7d832058b00245cbeebb7d8cc9593db452d588702fe38e042d226ed4a9d96af38eafb10a02726ba9bd76c4cf52335a51346ce2d9d06c71360b661e6534eef7e3c977f10461723b2503e439a732f7bc8e3a49b9224386b49e610a10a9131111b6130597ffae722ffd8c0543e8ec74e66a6811d09c58a301919abbed2661c2b3a4ae33797ce364215a6c55bf2e5f30210a7a4caf38faae91796e2f631807c2aee5dfe6fe1f854a8425fcadb45d56b746177264847425912225e86e97ae425cf9bd85433a89977214a584efa070b77b89b7d348eff1ae6899ee878b5eef2f13db3505304905847226261a78ad8805d753b58be5b4b20e40087d351e561733b6da6323e95339bb224c2d2d6bfdc61b6b87889226c92b1970873b3c613369175ebe5912e1d6b66a0129162a2cf7c6d628811749fb2d54d0c3aad81bf4c9b2e42965bd0d19c6ea5072c304e3edfd6c5a796d7921c0b6a6be906b6ec62eb5ba3b98c1f1af11a9471e72b25835bd2d0b2b96b2fe6c0a476cb84206a004988b73b8fa32bd40c6a49e66723422b9264241216e07ca1c259eca1632213ad80680dcfbfabc6041843385bc727f02e5f8b3dd73ecc3495e04c2990ccb739cde4121d0c21c7887e4cabfad265dda31b648f9060f6b4bb16c792b71f01d1ef2c961dd680cbf6955ef345511e63c50199f42d5656a29188a34264c4fe8e5ee93b609c98def4de815b6aabc868e7248c2530b60d0c6736ce028ada9a9814f9da770bf217bb63aea9611caaeea4c72aa8c16bb10d74a318fd34d76e07b8738f797c1545ac16d35be4efefd33201a31efabbab043107119e7a7975eae253e8718639c64f98a5efd893b266ecf6c677287138812d4342afceac1e5fea1ccb43836449c0cbde3bfff3790a8beb7b76f04979ba0949d389f52d395c75613534de08cd39a54b0da1def2908a20a7506c3722ab9ce10d7dbd4c1d7cdef83fe120b4fcdf4c7029e61dd7ad0af10a5e8f5c954ef47319f8d2293e0bd1d6745e9951c1e3e8a989874bbc341836dfb62dbdaca72508a8aa87c46998924688008406f7f0d255be89f9a8d0f7d49bec02bade6c25fede8bb1474e969961b524952dbec37eb25e419d1a0c1cbdea68624445a6d540835d639c1e7a121247a61293ba36643f8e07960f340be77a397b114cfa8759352967e52c6fc959ef1f2928ced2cd7b70dce04aeb6457d03e620fc16a8e1ae332ce694365b23c876e51a87c79119c0fcb032e1890013b9eec22613d13fef027472297b38f7eee59e056b6aeacb6e0b6d4b22113ad8992342a3bf961b19c7ef177299d6d56799854d74abc8f14710dc767d4239a4649b1f7a81e8241f55587de66905acefd77f3e18bf63449835d98152cb7716f2fbc8f3a2480ee9f284da9a067208e679bc1f8228b105ab87a137047172f3cdefac663770c460f506924ce42c729cea1e09161e5b52be21aae3ba4bbb4f14dfa1496b3a58349ef58e1e083353728bd1a009d044c1fa1149a0de09260604e39e1ea081b7ea64fc91c5861aeabd72d17f96f66aa6a11c4b05769207887d05a075d90d869a88477101a70855f20b72ffe23684a4f93cf694ed40d44a84fbe7050bdec361904b1d9b953d735f0c0e7285281942b51e8da304674976d5c24341576d57b886c81e5194481770bb3fe0727acae404108e1b07169e4066c2ade26b9c6cfea8c29ab5529e06cd43a054477242d25f6f88532d4a1e6e2ff55340d310d24037723fe2ef477bbcbb7a2afd277206d7469bd326431004c029995dca20c8974fd612a7f51f33467b9d209d6c7747d3ed60dd9a8b543c9aca5cc1b690764d03d484bede42131860c57a14716fb1728d8030f8aecdb017b592c5cbde973fa2138942cc01ac4105d153501bfa88b4723655c26e3f2dc7a25f52acfa0446879b642b3041b6fb9ee4f5d0380389d0c67269b966c2f5e674994776f301ee78eebd8350633fef1f55f132f82eb5540ef072b6e074df1c43ae0e411f8c7e517915fedebb30afeaef9c789caee26b4a0069449917ced28dd9658fdef9082f6746189b4db5eb779046550491bcc71e74ae930121b7fad3ec152c2e38000bd763002d20ea63a6a15785f04387d4d181850c60726f7e96cc2d5161ad7ff9e3fb67ced0d07f6218bc2fb539b703d44be1a8e3e9724051bf9803772689057667f5edcaa66b99dc4c08365b4f20453c5d4f744b387218985df4b5c2957e5312e3ddec00434087fa876b6d3349fa7a8d813fb59c2649fd8ad5d03cb216f3c4581ca2c0f2bf0bf4aa8c9a9eddb3b208e6223d47d674721212a9d42ba0b6e79c1b3682dcc9dcb19def2b8864de5e7725ceacc501c47b7216c2874a1a4673b130311e6d42c2f914ed6718431caec4d2058f23af7bd6d2265709bc665e0062c0d03741c5067ad24df8f4ae2a20dec2403521fbaa77906551b7c21e2623b24ab0fd43d09f12add7abb581f21897ab8ceeaaa4ba38a5e2f572c0d04340556c5d83134879d63db80b3d6642023635ecdacd1749db1d5b01a53cd29898d62e487713daec289a1e7a14217e2f4df6e50f377669a86a5a6c139c72431fa6e563b4ac5ab6b50f4ffe1239acac01ec01483728074383cc719fb5447271f64439853fd0975dd6ac2e11aab8cab6e5e52cd77d94212c1df68c91eb1372fd218627240e21a6d3768e5792f33b7f976894930306ee38efdb15d8671f7c0b21d70887742c52d41a2f9f3768ffd1334fd3f2a3f525e03e2672466a02c951294c97d67e6c5eb12ca0366874952aee377c8c484db98691612ca3c7eba9f5e472bb27bf2d816762a3a1b004a8aea146046d0842dc4fa150bf1827c627c9d91f65f55d70ef23c583e5fbc3c378a5c5d014f07019aa6f68da4cd8a29519969637724838f7269ecc7e3130948eb7dc63a7bf2caf48742d8bb31f71b21a6c0cbc62194994bc3f8025c78a331961241061c62d10dd8600d44ab719d0b7f05a751cfb720c5c422437acc99b5fe1a02d9c7c492f75a90ab66e98d14f2f7e65ce2b9265726fca62070a345b4852edd52f8794abe213c822e033b088f0a8d514ee70d84d58af10c905cc446f86b67596e301bb414426f69455903726a7c0085339f2e046726aa3025140b16a7da62349db2b1800b2c3532aaab58d5b8c6e6c2ba907b877264de64f632f1b2699a212cc0524744b5bc95c0036f829beb87f85aa05fb19c97221c685e6218440b2f494e41b8ea6cda5bd584d89f544d17760c13314c8ed2f3f77116b765206dc853b3f0631d650f95e723b250dc14d5713b943f3c1b966704357fafbdc29ca61d61d936dd7ed8c1908e5c1d7b081519b42229dded78a531e72e47224400dd1dfe8ee2b096718a7eb0f782d4682d713d3e3e2a730f9a9ddb2721b4940e61637ce092d1efb5ccdc6a403db39dddcfaa5ac83ce9a80473491fd72e00f0046cc42ef8115557ecb61c13359234aa760d55a335190f429c0d5ba2749bfbbc42cf2b26fb8f63b5e74768f538eea3d33758650d6f7c9cc0362e7dec0726f603aa45ac3097ce7d15ca9c4161a38b374ec70efd8e435a65f05865a30ee2b6ffd7201b454f22b167f0e4df170f7200ff80f3c89ae42b9bf4631b6866dd772ff940e9135b11e6f6b9be4df04c60b1fd1ed23bbed3d92ec60aec29a400c5e726d28ffd3f2a306be9ffd225e0dbd1b9d75dabd4b70c05dcc2e366120a2110b0cebbbf89afe343c68a40ea42e9b9bfba3e04ccecc3a12152b56e2367830763872c01eb82f0057f6efd664b509c889471e32574ed42443c1095aad15dafe2fe47286f4b3e79ccb357f8fde96f69899888d6a357535ad2647d1197b499dc5437872a69b06514537b6923bcd278e1da72dd3a9a410a8f9610e2b1936887161d83c4b64ae6bcafa3ea386846603dfdfd8f03248d4820aa220b3b383811a723eb9ad7260cdbc904ec58576ffdb6c2ea6118e6a6ccc53f47c3304cc1016604ba0606d72f7e661e01fb5f6de81eacb12c3a1c2fb4b2b321cca02adcc374ca34342ae64720da13dcdc6a37607c19409583a603f938ae1c325f9a60d11a19c7afbe25fdb2cc77c4be9e4875382709f049aaaeaaca49c0395e630adcd452385fc13f27dcd644a643ad4a6daaea5c1f1134eb0fb1006daf5521c9be96f468fb8f1da1ed5ac72f22e3e84d9503b59b02c6889fa230c29864918c8aa12793d5601a1056e32d96c086707bdf248ad262f22c97447df8e10954d02c045d0aae5f16cd737b00fd872214358915bda033f6fb4e3f9e27219554d68ccfffd18edf8849ddf9fdf12cb3b9ebbc76339c209ef1a514299b4b3a002de6cd3c40966cdb9382667f26627194181193b924ae65cfc98fdeeca062330e152910781c46c8af6d44d210d649f2c72d642d9c18351b6a848ee2c42cda92566c2d20252c8fa63f01234e668f764135b1f9301a88e636904879b9145911e6d561bb121430a9a5b15650e453abd49d17240eaa18c9e57dda5654e03b0aac386691462a3d3908e5797e2762a36f3e256379448f8704f25632e888d6630546bde19ba165809ab1e966bc7c5f007ffea1f7244368fece93cba71269bd44013cb216ef8518b401e5daef9cde765c8c64e72720fab55d39d98e7616619043588a834cc05eb6da2da77010b20147442d23f487205206828fb97115a03ece007ddb7090c19d65078c25fd599e9e70aa9ee11a83b4b88579b7493ee76c7481c28ae7f1937cafb16a7b4fe4a325c4f6e47fa39917223682c25ed279657606eebb91ba00c05820194a486e2415700bc07fae9232e72e952f87c42d95402988f8590f194515f9617a606037441314fc72a96932436720e4c51ee39ea7b17092fc7c74206e0ca72f778df4a95e177f32d34d2fe46a4245b425ca14a89682e824dbdf4cd997dc1a2370151ef91944f453af3a920607c63d5cd70fa6362e244208f3d492cc77218fcccadd80e1c2a2d054662a2da25e12c15d651036fcb9a85c74e529ddfbfe0da24ebaace5a16087efb952357a5b2ab721143b71ab9b2669d29d8dcbb09dff8d9f5e3e901c869eb1a468ac9d846bca772a71d5e98786f787b390bd10cf39003f5477b571594b1971f44a97d3c750a6b250446ec0f4826c99309dbeaccc9f3c9f9b6e532e308af4bcde5c744dd614c2472fded0f2784aba4bc8747ad9358e3d9f9b73d613f71964cf79e6089a1c5b4cb53a9cf73c570cab825910da1f767ff9545f9ff191234a20770aa6a739c96ef6c7220cc2ba2152e3a3d10dd2fa86d6fa3ecf49dc7d54295334970de7f7268c23c7277bfcecd8387e283a6cf042f6bac1657f396dfb50e286e3026c4613c74a9012b48be7c574fe875ebfc514c887f78f9781dd98e65c1634ce946c89fbcfdf7037205532b1d45098c96443d5d37ed02863b0afe1254a1959171b940de5bb1bbf7722c6d9d22021f0c8a6b8c912138a1e71aa9a0534e9bc94a3926e6e485bb6d3e728ce296a7a837bb356c6dbc7e5e37c36346c7274fdae4ea75c633121f6295c8389d880a2a19f9c306607af17b97d89fc343dd85b11ee5c4f7ee80301a1f7be472dc16c3fa23f1f0c1bcc92ea0f7907d16d66e85906bdbe26d946c7318d78e8923978cdc7843d5fb0ec7766bfb4190a0c6bfe58354f79e21b39278cfe258421f72b819bb98270cd60c218a1290a225151b7792cd97a5c29666da0da612ee65a814f865f74945f2c5568aa709e766ec5948a8c8d92d548ef8f60a46dc2aefe0d772ff6fa77ddf8bd5d77d89b882851cb3f592aeb29fd641dad21b366ddecb490b61ab76e18d57feb5caaa64abe5f3b768d5d1ba9fa91e039c7ef9be22b065701f15eae76175695955ded91dd94a86a00c8343d4604f7bb4c78392941d2d0c6a3e7221f8bc4924e04df141c3700215de45a963636c4efe5a0001ffdb9d4364829b72f1a52f03b41e8548e2ba58a2eae89098f89984dc4f7607bb52bdbad5c4ca9472bdf2b2daccdd63417d8901721c0186702929d28c88a42c4ae3e3e06db77d5e725ba64de2b1a03688ae57d5701f3822d88856cb6f7b9efadc9b4657aac8739b72d798cf144249910320a91b2317060634894ad1271c01da7d0fff02103971b97251f8cea54322ec3bf9094e9899568d470e7319228797caa56fa2927911263872a0747520996427c03187a92f38377d94ec03bb8aa786f25a4c5e26eee2f82709ac0e7fa855705813b4dff557b7cc257c8aa465b22a63d00a372c5bfc79cabd32b5667d8c31603ee1713e7b169fd488b0ce28560aeb2e599972a461a457f5d9725b2c50ad8a2efdd15d49d8ece36a1590921d6251acb0a62a7787625f4c30e4707e15edf6075f4906637252e470e92a4c0f36666affdf0a693eb62bdede50f2728a3d8543e3c9a9b08110969e877c515a17faedfa3dfc1610a0c2aecab79ca752d402f4da51c8388cbd82c4d5eb256666c278e07ed535eed0d2656673dcdfa41cbcf1fac7a43b37c7f46e335bcb27e530e7bb00d199c6a0ff5ca2358e1bc18472d6bd13e7821cd048470fcb5b1cb2febbbdaaf47263ff4eedbaeebbe35044b6395a498c5f3386551146204e47cc0782b755d9cca974b97fa2216a3adf5c0e1272dc5f6090e219b872dba1e59bf281e181d2008bc6db7ec40759a41508689c67722732177e610185cfc64195779e8fa5b5021ba7702d2d19da4579c86df009be21449300647ee73fbd3b3ec18140c81aed5849467fdb16cd8a78349de9cf2cf86b30cc4c104ff1755500fc09d684ca53190e1ac9498c199d507b63752511c206723d22958745e85a485bc65ff85c6ce9f96928d403b1cb19885d3e6aa29545d8723aab093a74637ca4548489f6c161c45a94188abe8486263af237376a67db6c72fd8ba548134a5a1d4a094bd4a56c6a737a828fd37d6a815f521c34202b8d2d7245f9f90f4bf1484c4c2fcad5061f9501f1f27cfc8b6766a7ccefb62404133c722101fb6790c3216e10a47dcc17852e8f3312bac640d6074aed0dfa7f0731893d44890ce5184262548843cabd338c5f5645af76f56dcc78d01c83ec034129622fd52744e215beead149974dc53d085e2bafea4b7fc5f89b42aa04ab17c5daa705ed67e2eb1c5c8026f1bb32f2f14ced5093fa08e8c8c48517152c14707e2cc3664f22acabc95e1dfdef71b7fbb7f62c50b9826bba9327e6f4306da83edf00b51e68e789a4882a8063d8ab482c8465a247b7388dbfaa7e59d5368ecf040e712d6686caa2147e8b4770e2f91cba0ddbb674f1c773bea6216598a02ad5ce9c58764eae9d15945bc00e5e2993b159bcd98829f8334ec2f33f9ca5fd528fe219ae3572e5b484154a476380067f3e1a66968cca9cc45a9de6d5ae6d2df0c8a608a107226cc00e8fd65d8595330dfa4f04ceb425d1576a21066db1b7ad7348761f62e4230d1d56ce70d54d297062a31684e010062b09c45eef354eb93b8f7cc9a3d893721dc9434873200270453fdefad86672545f8ead9145fa442d657dd4022a6fcc7214c12f66cd93528ddcb13eb7ab4df2de438458df93e89d2605a1a48c5fa6c5722d3c08277709895cf34bc9226d71bdebbd53b7534f82f9aefbc0de3f3e0e4205e141b892503ba263350297af2a62a21620956fdd0dffd2b760058c233ab995722ec827c5d3ff936351d066eb1669a47a734efbf3a35928519e6e8246052dc17295a44043597155d8ff64f76d283f2c0021fc8da02d869d781e0aa8bc1bf825723724c27c8a2bc233775a4621684b3730390c664986eb48c1061ad20a4e57f372e37e6e71f877bd134ddbad3e425dd80e71f86efabd94cefca89a24afd19c3b728650c3396633ee707854636fdeba29317204d57ce5fccafa3e2a5e90b7aa7a722a031129659e97e2f5d5f742a4ebc41964adeb56ab30013c652d98e71b95b37251d07621318b80875cdc1dc79e0805e0ca29eae984a9c66e7610a0ff4bab8b72f8e95284229af0bd957831df98994437c6ef009f99e7cf56b62bd1214a6645723e29cb14ed506e6a0adf331d48472bef3ebe8f977a0c3225349feda9aa4e3f7223b1a9edec5fb43be651cecbefada16cb24aebb3227a4ffc076702503a0f8072bdbffc7776cbee1aecf3e8634933783785c1410dd825e0f1a8b70b7b5985cc5f1dbbd4686cd7e54bc8276ec172e4943ad431b23e1e7ac16775363b99f6012b72c71d22c9773c5ec5086131dca72028a87b6fe18d21e6ad1a44c7f620d3bb95728626381e2f7a5344a3af48c967619673cba900a703e1867a2a8d7988fe3e5372011947c3e01dfdd653b8affa08c2a3d13686219fd5d5ca4410d367f73ce6143c9660502c9b9d31bc29a928cfb58b1ce7d1e5c2adc316ca85c978da1174a44326e73ee81ebc667ba5c4fe55ef09291b71fac8ca932bf04fd921c79782f2649e4fa620c240505928faa77f7736ec56415bd9ba283c4f87422aca011f1bb8eb04727c3739ed09043c1bc9a72a1990438f7faef364233c995a2cd42f3494fafa9c72571a067086f5c2814228cbf5c59910e519a5655ebd6238a891be0a0a2341ce72f536c0233d03b4da2d0b042eb2a1cf832834333ee78d1f196086d7d177b05e117171e77f5f9e2690140700c74d4f6058f94aaee5cd37f526485ed13d416bfa729df3a0cf013efc53bb0c04c46826994de38274087affd6c69ebcd2108f9ca40512bacf3c8089715ea9c15f6052620cbf926ae0b5ed957dfab790fcefc54b96728d571c1549a7f724004a13b8cf24844674eda809e72157afec351931e8f0a12cea7f3e7dcb0fd0cba49bff4af5bfdf818835e90e0d6716ef78165965f42fee694b99a0243f98e62103b4c4a3868ab793885bc814bad767b716482d9c7693fd724ee8cd556cb97146a99aaeaccb39e9d2b0aab6c6b11b6764c70aa4c50d137f455b84761f1d552e1e135c9a299bf3835d686544dbcdfc67e87f59c10636760072a7a15ebc83a5045790cab2f44815f36fa0772a0ab29222a8738ff2872f7073720ec2b3f773bb23068f9ec4df1f99583cd16c1b27bc4c18a739b1c503d676de72e18555646d8afa4673910958d2f93f2c0207f2aa8c8cb797bc8f74c1eafa37725ba6a8144b1ffd20cd03c81dff6771a468eddc35918459b4f6e12355d5d1871386ae87730199c8b4682a8218c37a9116ec8d3ca96bf91afab78720afdeb0a56b5aae822279e6400f3d970aad18bf0f584434368558cc5af6ef4483e99d107772282dcefe1423888ace17e0534aa9bd0026d93ec8043ad409ded2e35b750d5b1c6b919bec375799903ba4c8c82a0a4838f22d828e2af5bc1668af931e72b50972e03921f52fa4ebd9547917d92af5eab94b97137761c92c1bc1d5cf5f9899653d0f05321279faf2025e70c149cdb1ecdb52e5a0151d7ea417a379de72661019723e2a73ea6d286925b6a9b8cafae677e8a0a0d2fc6cbcf70596744c588087f33b4557fece29d91adcbc7cfbadb92a38d6c693a39f7923213fe38b6e5ba148995cb4730a72cb88026c3ada84ee3ade7b8c9397ce1574ddc39f5842544f14f79872640324943fa5a28358be84aad166795254a8858e7110e3602b40c9f8a74a161d6e906c127ddbd3c6c44010581835ba9c222da4bfe72cb7ecebbd082ae339ed72c0abbf7b5bce01aa80e327428d431a1094e0a5dbb66649028584898b42879972157f72a9d6399f0254c7d92b9651ef544706303085bea4c91e67cdb8fad034723cb28c19b0b48af9d13bb595a7df4155d08f464ea90069c41711e6c1ea93ec4883fd337387d4036b0c45d15f20d771a7e94f0b3fb9542c0f58a302b0e69eae7294e498cc38c21cf52539f5cb774e01e5c4dd80ec900bdcc7ed4571907140e152b1db78b81d8f885efe38cc57e934698c52d781174cf5853b55392fac75d61872f0313802e5d63c04f883248224c3490db012def2e91b9d61f73960d9b7468c6f0e567807218dbe16ee61124ab1e0a4eca8dca8a248a0f60bf51cc4d99d8d0c12bd8e2d7ae9a0ba4da3b37678b1ceaa724e0a47d2545c0d16e9f4c64c6eca3a46f3d0fad4f9fded275f0eab866afa4cdede7632cfb66a3a82c20ed87f408f44722300e667fdf4969a2155daa1956ea020099334094e301677ef1401949f463a63de1c4c3ee4bd859e415f7c359309b2cec1a7cf952d1d2fa97dfc1e26ee6e50282a46c99283cc948d1ee58d51dcea8be11e8ceafbdc1fde1ad2ad57a8e3d3667259b9a4f8ce5cd1a321d46cc376aff01506bbe2ea9d9345c944032c5daafe483a6129d313722b32cf3b915b14611cc1b9788dc8698baf7140db4f2fc091829234b908a3feb12b55e6bb3679e1ec08205936e86b67d6c9019b443e973f3e313e727d722c20f42231801d263d3ebc65c7c5fe6cc6c0eae81161374909297cff6a720680330eecfea31d586e26769d78f0f17fc7f2b71a0de96ec219d4adb4f64e2b7d3d0083a6667c816f7fb87268044e495fa9ffb667f9914121ab74ed005c17729eba8b8cd4bd0c3a018b9c7659b3fc118782e0a82c51e3cd2a861b05fc3d252de82821574bc1bd0d36dc2b1a24d5cf6a88e58bce0b266788152dc23b1fed3872d43f01ef8a3baafcc4b618e810c488e2d128870d3dd3a739c5252e283a9f40237d8251c2d1f2e90830782ffd355f1197aa5361ab07528f49a97fb2beb82a7b4fe16c50082d990d02f98865a9ef79aba990f5f59e5030b25d5c428cf2c86df271e2125ff049c7bbcccf207cc4291e1ac55314b06a85c20a742eb067510e72e9729f5150c6d4cdd2d926e2c147279cef6d27bb73bb6f23dd6be6a84ffd9943513f1a4975e67e6842838e437b34c5b107bf29fca349c34d816dcbc889f60f730372d177659540eede727e090d7b48e21071d4ed643c1792d42c1026a0ba359bf832425bd8a9a30095890b3fc8f28df4bb3a67276502658ae96e27ad549a166f1d721bee740c72b0439980064102c8bcdaf91192fccc154bc99c5b833116f3f4066da40ef0687dbda32d84a514bd912b435adbfbad7fd8f271fad2baf8d1c7a669728de5d3d6471bb3d571a03f1c5c82c45f92f40c5b658ef4fe771cab4120f31a72562fefc32eb2d5162d72b023d8417e1e78143ce984f1c6b6f7ce3b04892a3672c800e1b190f7a07b331b1b4f2a9c00aa96fb3242b999594d2e9f5d21de0523403943569a6d33b7b33b3fef7694dab757862f91ba9efed6e8e58bdfc868aa3f42227c0977faf34beb658caceb0a0fd213e724ca6ccb56315397288800bc55807267ccfe5d8069c6f11b30e43ce4f6fee6f43a3283d3dfde3a70a87bba87eb9004586867a5b3de5803da0fcbea7fe430a8bbf8d5de32177cb687377f085f0e9e723f7eab69358369c4c51e7aba5356ef9beed96ba8c3ae23e625b2a249bf5e243970fec2f1bb93138db116bffa3ddfa2be5d35c4ae446d28ba77c508f18bf17600c5df8dbabc89e1e76f68bb76dfac15ba1c1bcb05d657541aa8b41bdcbb16117231f45e0345fe9b1517e8c965238b687858456b3eb31bd825f050d705de13541738d841e1efb4f685c56cbb8b1352fea0661aa7722af8f3df296d0e18e1a2ea72ac7f3b380e403e72cc898bd05f4c8110c57c1d8fd2b272f88354b4c19f26a472cb85af8e59b38aa2d245bb63109ff2cef94bbc027d0021b22c43770c31541e7223ef25d4cd89a76a5770799bab6eed5b5a09cb7114f3c865b5041b1f1624853b33da8f6eecfc356db37a5e4ff884a5eed9670998f6ea34ff9caefb0e85c0677270993d8891881887339cad4fb274a8ba8afadb3fde170cad2a30c46e9b02a4726dc821c568588b9b5de34ad239763ecfda4811372510fb5b289439ccc13cfc0d6c707545ff849e007271dd6f9414959130773a0b20fef739ae31e77e7554d67222bd5f9f6f1e7aa4a62d888499ffdbad19e138d9acd70b11b40e41c5b2e7ac72056044649400d7b4b262cf75d3f20d75e613a21503e3a6796a033281fa57227247a1fba9be3dd1302623f71390cca9b094a51535f4391a3d25410a554061a343c48b3028c200567e580dc1916b9f13f32fea1a71e2a55ac9b94e85725a0730723dbb3c165e102d2ba77fd407f6c8f50a33c5a0cab3c20c1e34f8658836092672859d7458c75e4e00b6dbe5d314c6019cde6c95ecc09e8d456c1b1a919c01dc723a28b064f396cff729dc3816c1af2865a0eab0489437db486e73370da64360020cbc57e716e56d5fa3aeb4edfa1e432240e2e1d78e2346d75482c2420f88fa725c0a66b6218715e0aab54629e2e62a35258aad7e12fee2f6e7d8efef3a0a4172f3c4b111f21d2121ba5a439518c563907ae6d5ddea879bcc89b2985c61356c72652b5a1aa4d862474a30e79d3c6e37b32123581073b38c841b28b72449018c07ab198e02f9c4fdfab1e7bd5e18546500c76316179942f53d7b91529c796a34723a63c8d8591bc8ca0396905da6e680d6211099b49cd9f618f5e97af9184b847243b10eb447c521082d1eaad8469f9ef36b5a9473baf247add81956c05bfdec72c89493ef3727da72598a6d129c9135c709cd4e2ea909c068f8c752eff8632372628cc3a97149303284ab1813dda01453ca5f780f299b039a81f70f7c16eec972c0cd412263ac5569ecbe499add85524bee5e606adfe1310fa9acbec353f80922f514dc48e1bc539d4ce1f6bf9c7364251168928deec757dc5d621a21ac1ef95f0fb4409014f7bd5b433f81cb0a9238a04aa110ebdc49e3fdc452d65a45fe5a4fb841092b7362c5b2edba2288fec13ec8668e7cce9e4b8f68cd6e420c6bbcab72ab8852b86f414441e402d56196e4b18c4747d9326d06e0125e3a4d68c3137c7238460dde5d5a3726e7f62d1855eb68de18ed5461118376b43f9664d3a72d9142c33fea8712bdfc1f64be1c5c00bca5c7bdde0639b7affc2d071677562c76646d7c9888db45e0139750168ba11f40ff763ef29df2f1db7866fd300496897d5472b3e3a406c89b4eb9f7b717846eb3ae38dc1388e4a616c0e0576bfb88a4cd192e3ae7c840875ed5b13f0c8d1cf664aeb3dd8d81fd01534300bd20194400d8416d242202f6e0674f5e2e93125a6aaa950911855a8ea9b7cab947fe580d2c00861920545a00ff6b5786b4ac99d8b37a8a6e74ead78ee04140ad24ba5f1b92b0e472cacae361b0e854b00d5ab00f49b5406792402d08047927f55ad7da18c306e835c6a2c7f7086acbaf72af4335fb4d3221ea821a5f99a3e88526babb7e040ad572c089b4ca8077c8dbcd1c32b286bbc5a1c9154eb38f0e4825ccf4a7f3c28c3f6ec3c4d850d61a856ec436b301466c91185f6c8cdcaa01dd620f4b11097b1481722be98144563e99bb85c46c47f54205f5b978874f0c1c992c54d3e52335246f72a366cd86663937a03317d5cac4d5bff2dd89bd3fc0d3a19cac6dede2634eb41e98d988e77aace0b8c5d5dc5b8d7d0e305daff1fa2f3741a97e611a499583060a28cd14f4970c39843e5ce4d729a1670f1ee11a6a50a76007b6e6f4f694f80b72eacb69b5305fb959ce961a93963bf46ba690b00550738586ae792b80fbc5b5728831c5b7d713c690c5d8463c4b99d327fc1c1367c94bc1f982f7224a7508ab72f26ab452e166d6efadf003db2c5e8585c17c572fcf33fdac89d5f8d632b88f72ea077fd00a348cfced0499351c7a0df87c68ce20ebce10835b1fc13492e3d0721b7d4288af4820f506eb6e73fa4ef0ab1686a1222d9ad8ababaccc0f9b3cf472f94660391737909b204f46e122041549e45b6cdd1b4fd60690de33587b08340449d45eb4a2ef52d52aec140ca6bdc5c60132bf3cd2479757ff35a722c8f6ae725c52a451ce1eba9ca7207a20d580389176c9ca7d23cfbe06da362f904432297255c8d45f43432d3a8686e8d77b539b85c57c9cd6ee629f68136b94df643b2226c91b1968091685adb9e19fc578f8c1ff54bcc33110e2d40284a5427c8c4d6572078944517a6d8557457be97ec3e17024dd6c43a90eee16f2777fe6f89406aa3d204e062b2f8c65562c97457c814e927de7ef2e2c7e5c97bb76ade95b64bd727290c1e526f8c996bf720b46d46ba2c85c00b5c181339288833e9868be73114b72f84e0218c96596492352b8bcd1dd9015d8c5c67b73ac36c5868ade7709dd7772610d5e7f8e40deba9ce757a26b5eb58e3efdbf3b5a614a9bf467d399dd810a72e84b425164982a42827f4e8ed1517674931a1756f7b421ecd5fb1d3e8a140d7254be6273f9202a0e30cc4020c49a93312dbd26c9076d456b37a6763a6c1a9972fe9947458080d794148a9c0fae6d6d18617796753ef68ed9d040666c1015271e7c58e2c69254728aa2dff1d22d15dfeb6d59486035cc80ff589f55030706f2720e3ea90e7ab94e786db24512ffd92341d43cca867708da82321174e049cd7d72e8a8cfaae18c769f25d4f28f7253e15f91e077edc699e0430dc4509ae2bbd2219f227144587a24cf2eeeecc9b5192ee2c536bab5343fc0a5f1452ad9b9128c723ec29c9e57c1152337bf5525ced7b8c50e7d97f8a7e1e9fa78b79f1b1c901872603728b5b5e7441e4d994a1c5df7ed4de417b0e96ceeb83ca9aad65f62a5f5000fa5796fba1b3c3e3ff125874ca298edaece0de05fb468ce82520c7b175ab2724471efe87ff9e27a99c1b3d66b4b2bd084a46da6743fa2cc4955f31c66414272256d6dddffbfe907bfb8d87a5218d7d42bcb2f5ee35129810cc7252ecb0d6772f7a43537cb9f4053f4c6e11a0ad47b17a7010731cccb2327c9fc5c5abec79d72ff69d77fffd278506df2cbf27011bee30479cd638cd69025f07e99de5c14517234966c0241a1e8ae701dc0530f5791e7d6fca946a6ed6543939ba3930b3fbe727212597bed083dc9231b5aadc890b2638cfe721eca64be42a486db63bc276133ef92c6d2af84b5a33cb6e15e1573d6aa9a694e73a84bd1c47a598229be0a55726f502a3b9e61d2642abaf00cce078a969446a84454230cdfc645c99e9a446572e89138b977f0a07c3dc43d3a50a38cdd879c311c7bdea2cf9a9b46f2622b1d72d674983ce9788f02236a946f1f0407f7b422e42bb54d77a0800aa71816c334722df8f27adaf55411609d5d7cc25e2baf4bfd3b2233b05fbbe33767c894342355f11471795fecc6844232bff696193f88b9d1e7261ce561093baf96ac316bde724636be09f3bd82fa213ed32583dbd3b4aefae7c3449dc8fa0514a5ee3741dd5fd745c9af89f0e6902523ec0f8ee36149f1063f038dd6bace3ccabb7d6c621607e6633f8da3d0e5956472c92fc3205a238cc2390feafaf50a4aad8a9fcb6ac1729004748bc53609b20a3dbae0397d05e4e85fa6fcb0872b7e0ccde74343aae63443bf86a994d1708647a330916aaa7bcdd12c82191b828cc4f2d5f3d6b61f311e6913f069afae8490ca19777a40ec1fe8b0b75513392956a2572fe627a9562772a9bc87b2499b3c9b59a8eacef51338a56b794c37d3eae1ec5c614deea412097235df62b7bf82aecc24662253ca8d55a16f5f95bebe86e42ce7485aeeb62b702e44612b89fdcf95e8adf366586ed3f1fd8e7b193a5dd40091af4a24c79e091c7213b466f653c06aaabe574d6d8ba8055aad27b960cc991cc21bbb4680f6909671ccbcba7cda43506e17f70f58f116bfdbeaad5143005358cc58e9038447520f72e39fe0a28e1bc901f230e2d4b777b858bed7cd6df8873204516832066abc8125ae1cbd52e11ec34034fb6c9de601d9fa6971fc0cc10bee0425dc474b4ca2a0720a9eda59e2de50a9753adc1f12633333d2ba3ca34b6e305d2aaf8366a6f1dd4acdc3d191d5d39f40dc87060c0fd22b3d50da64cf9ec8855178f174b6b3f17b0bb8ffc9b30b7d478af7779649b09bd3afe1772416034e8eb7091a3d057fc00b6175d7c051d12eade8b127eb26ad16e018015ab5d15c165b6e0a2ad6c057427203d1ae91cc53b8ec1b31d18b643cc85af590f7fbe973bf6c5053d738a2722c760686017e2476a922353c5596e5012ece34243727b737bc6c0f9919a5918a2e69004996f36fa5a47338511b8b36393d0cc3cc7385d06600ada5ab2d9e97a563df250ae4642e4508832d400589d3d6a187d9532c70311a2b6ca82aacfd63cfd64a131290f420fe499de5005b7fc203cb7dfcccbe69f6ac3701ab27c9a7e4bb4dbd72e8ba81fbf205e4b1bf0e843b6db3bdd891dfaa87edf449ade3a9eadcbffe5d722294edf3f92c4f32600f7b740dca6a8118da94a1d85e88ff029faa6e05129572d20cada053b0f7f90c08f39d2aa02132cab7792403b40e79f1faef1790d67a72a628707ef4a572cf634e015a9a15afb2f8f64029a93b7e586f83f3ea8ac79a72290d66d7ddbc194f92a9591a7c692197edd0e39ff9aa9ce2fe172ea8872f2e7226f6f1a479f97c943edbaa04e5344fac918f44ed67fbf74f7dee2a293d398872d2b41176756207533904197d2e05c5da6382f6d4b2a60fea986ad61fcc356e3864d15e7f770b3592c1e8a8510d92fe513a2c24140dd4c569ac4febda8e477072486e31f2b7855e45ac5c343d2a7c9650fdd78e535de858ad1095521e67e0cc721c0cb231f815be97a53b0a7484448627235832ede0775eb75b6d027b761a4e722a486e6f864d4912093b9b4b36ed88c2a4779fd3e876e58b2531497ba844600310124fcf42f55823cd0492fbd0264958034c1523ebd7dce5b9363e63c8363e277a51285547935a1d1c08732c4bab8bc2b2b14a79c64e8228c9972186e63e587226744c2a289d1df203ec7fe6c59c66bda992cab4c5b9b4afa5e32f6d7488c44aedd4a097c4873cab9d3eabdbdbbf06630b967cfd1fad025b24a48895c4c1e672bfa18d55c88ce7b2d62fb10e7390bdb83026c6d3f7ff37cbae7c11931f34b272f3c983a8973d16c575f093b16cf105e53839d8542b1c1a04c9df569b25e52b72fbd6fa136509fd9b09feffe42c7dcab1a2cf5db7efe9a9714dbd60a07926a750828426a0ebe9d4f8a8cd2ac58e83e458f12c092dfd0e973075aa108f0250181cc85dc7b6e14359da98c088441b732878da105c7be0f5ac9ae0cd703bab88060e8c9dbff8efd2bd2c08e53bb8aa0dc6af4d664ec788e515d6be47cfc15c867272a771fc5400aada02f5fb0e1746619f2272a0e52cd680bc7a419f3a927eeed5510499cc6c0116be8bd1cbcbc72a71b5b31bc3fa2f60fde09d13ef0d31e331f7150c1c1564dd5d1704174af4fb4c9cc3e09391ada05b8d2a137f67437382f227724b1e207b4627f7618e9b01be31b72d9a5815c96c48570ea5b916d9321024d372b2c79cc1271599fc492952f95565413f55d10af080d66bff7af1b1f811964d720bf26650133b4b646777a84040916751ed6230c622e36e7a800590d0e9888a3aa5abd8402039262f27410ec8b4b2c89c9f4d84c38c5c3ad964e42826a5dd27433095b22f5d59a7be95678bb1d6070158d757c02367cd21419faacda67e4a9562c905709f274485cbd3e11cc311989e822b142154709f66edc80d28252179351a8badf23e8f9cbae9771fc36d3d72cbcd4ef70e3fb6045e824e7d3e705387714ff16edb8c2844a545916a4d93b6eea0d5f260f42190307eb5c57b3b022df1b7720e398ba600cb719a310ad702f231f4d0f22b6025c672f0926d2b60d5f996f217f96426b447f428bb18057ff6700a264fbf527f51c2fcce6dc7ec4197c58fc6729beba20e47dbce64406a5ae337795a8b77ca3d71e7c4307dd766c8e521b50618158a4052703b18b8da74182d7bbb3cadb334ef0a007f7f2cdcff6228ab2b6772cf92a86ee6c3bba06417df6b0322db0374dea5efccb5e669fa4a00e48dd89c3874d47a18f29e94f126c3c389156b0b5b4767d3040f4acdb332ff1e80d94667726a14e40168c0d023083c13aeb53d2bc8b3d68571123d55de58f2babd1d0b8b72947a2f874b79234270570bc344897af33ca109baad15f786337a294dc0820e72d7c32ef1802b1ba9470f4232c1d2a0a6a549eeab18946bed195d141e5c318237a67112a2416ea73df8cfaffb5a5a23c8f07ea824a2805e9d0982f1746618c47298b76f38dd769c02cdf557b79bc67c499c820f220c59f85d80f5dc4692ccb972d5e4956365b0b7015dcef7a0f1c4abe6947b7cbd7546b3bfbbfb31f3055c09719edb385dee1abe112db19d476a50c05f41eec089c2a1ae16633a8a7422e25c1f813655f3e3f314c0351be69fdd35af2671f092f189d7ce9239775c1ec82ca372c6a7a7f4ad7fe815c45e09888b81c76ea1b9084326d3cf90d03259cc7fdae4726f82dda9d5b8fd8c90c095fa6a4bbd062112ae0c034edd2b8b6fe7f0cffe197211202f1af26189e1b11ab8fc977d6e2fc38af9dbc3b6ebe5252899b5ad2a6172c450745e6709b62a8968686ee19b2c53bd155a1337f8c5d86173ba3744b91872f8f72b92c10c26fa26bde52639e68d3ac3ee32eca60e1371118c2a9fe2ebfa4936d04312bd346251d66b0df672e323b91ffef4413aa92b5bfd0c179d2709357286b539705f63a668a24dfb72bc7ac43fbc41a160e0b9e5c23ecda851c043591a7e1339fb8242ccc3f5dbbe62b37fecdcb46e9ed0aa5ed2d8f59812c94dc6da7261524363b455478e7649de66be484ced0f51ed3a3e3702fe9c62f7f568ecb44b767185a6f7fa7404d996b9b0d911c7e893d1abb71685b26f554f2d0b96a664725cef29f4701ce7223fabb8bf271177626b692bb4f185e12ead612ad3904c267291cd52f8257c728c3331bd9972796a666d901369559b9d23ab4353b5462fa661482ffb5599443df71faf5d0d3c05dbff2cd4a492f413dc6fd5e313ae2580a5082b464d4e8634a2824c34bd24a6651eb16676b34afa2206b19d7335f115a5b3720433cfb42fbf95328184c0a9817493f5d5331b152ba78ea3a8c65f1606977254eb08628a17f2efe4bb55124fabb3daeb17737bb50c1a122fe5c6f272578ffa576f57b8765a6d3fd8ac7e8c075a966b69126fd112a89e63fcb5719b985638bf722374ac503e936096c90fc89a139855a9f6ca1e2fc1ac970281a5f42519fbd672260ec873dc9dffadd5117acf8093222503373e28d7fead2ffc5a1949067a1872ce12a93188dc17e32358d31b7189408e0fdb23378edd1298ce0a20d1483d527250753b06380e804667d76f7bd497f7f9f92f94854ff759fa89b6e89b1ed22c2851210c0278cee0ffb90cca69f4e8c51cf336f9ba64620c4a7afb4ccffb52f1729b240d774a7e87d10d6b3f313d47aeddae5cf787e7983b06671e3c3c7e124072dacd5819780c51fe9ac1b29c176bd1901794ac19077360662a2b650e7831957261316b67e5f37830beb6a457ccb898330d0dca86b18aae3e91234af3a7e0d7337094a5e39ab2f199c7092ab9fbb97186d56064f49e4ed12b813ce0b63f298b0dd1dc59f7b206fca02700f481a0444f48702007dcc56d5c5ec666e0478373de7203d36d6baf290d88e2d6e14b259534f1e3e8817450365934afbfa40a7f7d5b7249f4fc5fc22e6c8bd02cfc610896b2f186b480401a250341672804dcb1f8cb14b4dbaceea9ba45127ecc16c4e7ed5a67450bf311d38939cbf2b00b44ecd1c27240f99018c1ffcc5cdc62136ad6928ee803d9fdc8d7c6b0058e80b5c797eb294d46609ca50a45e37fe57e797e83899a22330b480d7113cbccc0e7a755394bab4ad772b5ef83c6c8fa365437b41c37be03577249bd50d07a530506d240d25a420ebce764bbc8f21564d957c1a6afc8e5e227e5a1cd955187139d627c8ff2d0362c5a186021777e2b6c073c50eb8f8e1fd7f058cee495c4707b2a34bdd05ccda6252c5dd610f772c20429086bb20d4cd6e2b645e0bf6ab51b5f21d835d8a545357235adfe0340351589f23ba62999177139177bf43809439f564a599f37f8a144722e94c80294253afb6ef168b274f3bce6e2dd4093c94409f108440163756db81f5113567db2551515f58db2c2e7324b5b195160ba23adb8589ce4c6b5cf71f32919eff6d4f09cb85e2bd4fdf106bea65c32b14b0d42aaef707da5d97f3543e81f3833f57f2e25f48f720427f1803208dce0c54c01eabdcb4f2eea707e53043c7204a935693e72d276e4539d7f683ae5833f32ceac0ee05ee18529bd1e7d9e0b72020ff36f166008aa782434dd35c8165fbc2be89599ce00a9bdf08a4d886bce7268f3ac19e7803fc00636cb0965eca8a826e2b7108b1a36f1d273020aa2a9662b7232d18d6e75e942d072ef7ad01654c1d248cda5b83828c28bbf1bd99275046dea6a310888bbab33b8099e02326303cac5deed337621539e81428104097a8c72db74b07816a2d9142fa5ef7168b424f8bd45d6ad6ba6a1619bf6452be6d2b53a05301616faa638634815f630e34a4fadf3b57a5f69a015c7352f493d41bb6b729ba4810d3f62714d5cd6f95a8fd0f19aa701c7f2e0817e626fba4e66a18e8672cf23ff5ed9b6e882c5b171afdc72aa0356888e9d93a07830b8210ed2d5a00004e7c03fbd49285dffa44c01127e2d8c8c02b0acdec9da0a9514da21f94d1fe6543461e334def0401c005e0b9f61abf4634331f787f44fe3d03ce357104f70ff27b19b3a9f8dfea723fbf3483430a0d16aa559ed20e515d368ade06d1a2e5f9904412bfbebe9719abd546025dea013352a98e1f044cf29df1a6c8e2d73eaed0c4c4f290b22c629a317d6d5e44065b07e9eb3f5429e8ff4942550fb7d2e7155ca72a604f65a916e24c9048eb2a2ba62478ae4e003fb2390359cf4b22680beb4c45d366f69167257eecd088be805bdccb38760c03df82948ce67de31862b27feb372ae939d1918b38f3163c30da085d30409e65e997dbd6b539e5e3bda9090b416724ba2de103452f0cde4a69137c4ccabde6615bcd6b03c8e4719535b064905d2149d71d0fd84c1e91182b7266c766708b4cca80bd6c3eca0615ef09968d66b2972e79481fa25ae6f96491b8d0a3f13bd5bf36f0643a1e0cc4365abfad80a20d972954fd4cffe00ffeb7ec512379b528b89623e9234f8b27d1d378dcab8779e034bb004b030e4299988ea2bb594a5926d81d09d168fb901cf5a1c904ee1ff534f3e1fa2edefe74bf88de3db4b622bc2739d6d5f98a79add8ca7d86e35e57d81050e700c2291a02a31ff098d61b6d2e45c3183eb50fb2ea80b7060a75b276554233aa2d833393ade3c9c5bd8b07c95bdc2d269e20423c61264d1bff80d9bc230cc721eee1f7fd8cef687b4044fd490be55a89176ce2fe59019fb4b1d1934becae0723c5963f9878fb46818c9aaf81e705a57268dbea3299179cbe9959fe29de8a528add82cf1dc79df80847582166bb4213b8f1a50b7f763f1e88c9064ec4077957224045a0eaa9d0620655212ad150c2bc967cc25414bbb5b6f730031a037e2394afe37fbfe7a03be1f9e4291abe6dfc67075e09139bce794841a96e165986d272f694671b1664747ffd419ce7a59d679c055d05b3f26b791a85a4399a54dbeca5ae318142c9b2b3b7b149e4e16c7227bee48afec8beb03fa02947d426d33bf34647c1249e794ecc2fac7aed227784578736b569cceb7a406919b70b7e8490bc62ec0d8aa3049e0ea26efa84ef64565aad0eb6c1f14fb2baf7060082e5526b93332bb98ee18f3d143663e834c83ef3348f552b3feab04a4b878225e3d0b18fa9f370924b657b29649b0fe1c838226f1421fbd1de9807669d918d8f3f5787d5e34720aed915daf7904ec3c947e19ff55d520cde811594db7825607931ce669339872b8e740c7d81dc91ffb1a3f7cfdfdc8f1542678aa3427ad07972d885a74d4fc4c9787aa94a6f0ea75dca06cd5bf27b66061027c5f462ff47225d750b735abf1727a8c35e8c7d3cf20895744712829bb41bd0e803653a510e26c4d6cc4d23adb72538a3240528877be865b7c01779ff3649e7eb750f8d9a0c044beafd860c61672b97a16cc7a2d64511b2dcebacf757b3e7edbfcb096bd33ee463188c555407571037a895e671ff235549fd7026214db17ea756401211ed3eeb4d9cddeacc8cb72748dfbfc5b5be7f272c11ceb60346b398566e181f9702c80fbc3ffdd547b4572d8e70634a271aa38d40a92798c1c904a810a5fd4f149a5a6c325ae2043832072b73fc325bcb14dbd691055e49b2c3e81f89e26ceb951cf9cc55465f10362732b26c4fd9e168daad9e0d674c90ac554cee13fbd10d00afeadb26112e7165774348daa0e20e3f69f896d10cbfff13098a79f304e799f13c0f1c3bffbb5a5536972d512eb94dee533292c0ac21bb63cf3fc7186bd4bdaf0dabcc995ce65ee5f0e72d8f2beaa07807102e055a6b1ead82f5283118663f416f58f5d8a14c2bc4bcf72d57c09477579ac935d4d1471663d1c95e20a57ddda15fedd9abc3fef56866b7256bb2f4ae6f4d40a8263917af10beece5924c597fc8a50c8861164a77ed0fa0774233ba7249c6103a1ba5c975a86710b1abbcc5ed84c7b700452eb9748a22b6fe7b41aca742523c6d3c9272834508c76ba50f8572231383d6248d7bb12d43617e85fcca9d35ff1d8d7157eb1b811481e2d520ed0efa8ac3c2c75b5ee639aa272c7164a2b8d18a026d6062cdc332004ca51ba08bd56fdd979ad6dc6a0c3695472ab31ea8defcf09fb63e4034a2ef4f015a5f60693b7fe1f9ff627d95c27c4ba5de7fcccbbdb56ac6f287f3c16311c9d0623125021cf0c5dd25be6ae1f52ce08728c4fa5f31a953373f5a1588e572af73febbbf5e5e9453908d2e1b2b2677307728bee77356ea13cb363136d185688423f6fea4c00fe4ab662d44882ee261e70726b0322cf40cdf4e0e821323da1fc2ad2cf128c2514346530c0677f134c263a72cb9c050592f19668ca1ddc498240c96a367ff33ffd11c1c073ffb48a12202172dffe6bac61988cf9c4e9bcab6ee6baedb02ca0c64b38e4e48ba292a86be7843fb3019451b5df3e3c35c9e88e1147a5bb688a1b2bda71b0271b6e3c48ae12e172dc011e5b679f2c378244641ca9d2258b0e31bc3d1ad01a0471f7042d35aa47638697c5615e39b87491aac5d96fbdb83b6991862e100f94d606a7af58503b9d724ba9a6a92bc6813811cdcfb96c64fd193bd2bcd44dec44ef187f1ba2db0f5648040f84c05b4bdfc3cca0b00e3a7626970562b5411a2c5d9ba46eae48056d3529ab4100f6e197403289e7d1ab69b185cc8423016d51653fe33345b61d14933c72de2dcac067d4c036e3955e9567f708979b6639e779a93c8051193b7d464d2945429a6cad488dc66b60b98cdb3f310d0b6320e1c4517b327b7170b229783897480fa4899256623e2a50bf9b3747ce3b924520ccbb0291888a4718c04ea85ffb7238073080f7ffca9cebe86716a6a242417891b05b49c8cfa91fc601487ae7da0c7cb12fa4e812af008db5fc52a0e6e51a4f928790c54b8824f903e3dd93caf071627f276cddb47a8b2f348004cbba1c5c2bb4a063503558db6c6ee7b076bb1e4f6053ce69e57963ef1dae2a06f694098e78ec3098d7f118cfab817b3ffd85781aeca91a65f9fc84c46afe7fa806e9b50d321886b22c74419067d322cef54072589fa4f66231e8be373682b74c174237db4220e18e76773c1d893cdc8aa3a841728ef614da5bb3f240bfe2c1832e50566dae3d66ab9caf98d3d4765ff837fc092503e522f7bdde4fa218c5fdba56adfbf22c12d2d1690344f10cb195bb90baff30acaf5bb7c5dbc915f3688d91c50eb04a856e4fef69823e4dd3813e8eeab1d250506e8e8fcbe6d7a402590a0caab2591265e46120f86e5069209984817202966d9d5ee196d810b9028db2d179ea4beab179324f4ee750f34d02668202c333e7727a6ac87578d4aa6feb9f1ead971f23fef96555861130b19cfcb904cf9f50bf7288dc2a3cfb11868928a5526dd7c6c0be91af93a7b7dfef4826b3ca991c223672631a35d66c57556703117a854d3fc06139cb2fbf0350035363cdc5234a36df1aeadc80791ca11e09833edfb7771d985144cc9308d3e22e7bc711aee23b3c3314e24365e5c8f245c4820679b4bb5ed818f86089b31326b1a4c88dd733e6d1fb3d5fd0814c4b2dc306b22667ec7ed8524bafaff2e466c2d6aa98cb43892efc3a6f8e65dd7810d9c2a296a247719e66dff54bbbfe86a06e3df80a259d60af4b2072a19111a443155dbfb492316a596bb85082f2b1eafd5fa44e9f634de08f4ee872758caf829132c76fc9b84dbaf5d604861842ab9296bf8065edbc6c87a3f5f3724f76f4dafac81d84bfba804b91429cae6b42bbb8ce9a854535411f4aadaeae69f76688bd7e1ceaaaf9e9d836082aa7777e169907cd074db7ff93acb1798f25723093ceb455cffeb96c1fb4af2a568b2a5a5c75a94bb2b8b7f5710fde1d14e92fd68b57089cee697d0fe5c161d5138744432ad2a94bd058e1513c55e8ef98291d6ad4a25f4f407b86bc57bf67e1acbb5a6360c8d25a1154e9053f494fb11ff04c9fe1461582f347f4232cc14865159a77715c7520e67f6bdd6f6f10cfbb02ab720e742b274fdb260306f1f87953410d92dd207b50df3d1cd9c9171b4e7ba550723cb62fbea86c37cf3c0a9c98b7f9462e4ae4fd56a72d11aab9ac91276ab0bc7221d473e14b0d324ce578dd7c19bd2ed9b822d1c72f396498cfd2209b0829c172315cf97c5089885372b454940caad4137aeedfa268cb0a1eb4acf8e06c496c2771e7116d79f910c5bf1f93d4e2e252649001227ac3f5ee4a39b8b187fc21411a03a5006db734dab3c0e999d7525d3ae287a5e6f0ae248c5389cf625758cfa036b23791fc52753fb0c6678e51cbaa8738484301165480b4e234baed11ea786f7252c1161bf15a544b0cf45c4b5effd013da727700d13f24c353defc5e1e92c214ab95ad3169e38565d16247f5a845b46db29b5c036c517f1a57aab79133357616e65516afbfe98e44a5b86dfab147f8aebff9b95aeb7fcfc116e5f4474945925fca6448277be5fd47b7bcf1e4129895c24672e70433dbcbb377b29fc6257f5056de82305a8bc1c800d38563d2ed1a69364346b9d4bd55a8d7a313860572642e72cf68608f86345f319627a5cefa53f8ea18344b458d927f9708b15ca115757a695cea4c730e49725552ab4dc2590c9edc63af238825c65de5b7dcaee30a3c2f727ec5c1b3986dbbbc2631c3fb49c62e5e3c1b86f836cbff971b3af94fafb78e2d94825aff1846e1a23bcc80ecb7ff560e907f732e84d2d228276901d83e49427277f319102615e68221e81a8184b9fa70fe8d205c1c52f36b5e13dfd2e4dd3f7282209879d9bc5785bdac5bd4d37b08476171dce885570d2a369f01695f4eb0415ce1ddee17929f8583c0c3fdb5ea6bfd4edc71000945cc7e85b58dffcea1f772ecd24cbd3887b0918dc2b8ff1b9c4d5b596f979717f368394681c20d55b8877205910154c5db09ee02f9a9de7ba0dd74b853028f2366763cd72ed7737b46e772f64c12e209d07c31020f3b9cfd6a8ee8e3f6c872ed1ff041e30ced5f5118214da2d07194323e5bba429859344a56bd2ef2125ac4c2a274c1a275389c7d88e33cceb47fbcca6f2052a058adeeb17bf57f830cfa53693ec48233294d016e30d5729d68be5987189350dd3e4ac6cc6cf24585a2fa8db8d0c92d57c69b1ce7950c362bf326fb4170621bc09aa5418e9ee0028da90f140c9d9cd744039616e856d7496230731ba7cc4337c5b9e55e8cd7f8d82465c6eee2a449c4798138bf7730d1729d4c16699ab98dd119dbdd778f2ee19b688a7b88cc94ac55ef05498e1a44e572ee59e567bfd169840314da58f2c4c1f6700f8d665b6804a4712f41579f190c72fc611f5442f52ce20a18d0ab3bb2f758b1ae88f66f6a9cb4e074938d7b14bd7254ffe765c7e842ac546fbb0770b2c5aab9975f1ba97748ea8b44461c47a86102eefe9a5fc111deb974c296f91562e99139ab40929ef0e7d914181ec98ff01b72622c97c0f417b1491ed4365965812fbf46a7cb2c681a0a7edfc132175c29784787a789e375e438e06d8d617fee35e1887ad1e5f044fb1a5000f95ae579f6256c5f4204be0f7434aae08763babae70fdcabf1b8436e3f9c0cc545679f00d0243606a553772e30e2251c92086535be53a9db57c88056d6a09d8db333af80f5261335eca7d919f0426e239cde15e8dda6d4fb00ae7a8c00cfe63951a1939b99a52fbfad393794667c3660b3c88123b26b0c51d36373ed9c4e3cfd0bcbd7a754cb72b64ec3ee172a506ea8f3eee67a52cb0ed6033cea76db1379c8a224cacbfe5072d105c0e423474cfb2f125312338dac6dcdeec5c2465cf3d9364c4d248d17f572300da44bb888dec07dc71125cc4c982ade4acb4e9ab97aafdfda260a3e373e720d0bf1c712138c620ec6e77b6e67581d6e0dfb7668dc5d2c18c88ef62fe48572beca4633bafa2c57a899e2eabc89d6e7d349e9891141abb3ba4fc159ce1afe7273300bdcd55e76fd092134dbcb8793d61861ee00174e33f033c9391e7618240b49b94fac1c0abfccd0c395193702a786577b6a15a566a6188a9a10a94ff44a72b02930131650f806cbecade5c1e5680dbc88d0fc9d2f488ca052168d1e3db46a6139707a9fb4c4631f939c1f6af457da5528461109360a3b75dac9d4535d8e72088bc5defb58e64fbbb5cd7f560ed33792f94abd2ec4420fd07b1864bfb0a023de7ecd8b9761aa4db27e96d6481b1836f03f387be2344cc0b78e497b7ca71472380a55fcaf2e393b11e04ed99c94e1635078233a20d4a203041a0ddfa195c70155a58ced214bdebf268a3a3bcbecb6e22416422b0a6b362d13ed7257647b2406f43a4dafab126f2602191c5087a315cd049b3d3893c1ceef46754efe839012722db92cd5f2486658fd31a5b0b744dc96b696ce8b6fd528af2ac31ace0e57df1eb39edaab9a2524d5a470bfff21fe3187b6e2db827e1de226eddb9787b4ce20724b14ce072faa60fb97c7b8c5e652d14d8de8747664dcf5fc6adedf979215fe0ef75c6dcd32f5955de0a6938367e1502bf405493ca0b250e5f42e7ad4955cfa7206d44da06a342c899a12dc08bd7bc29ff555feaf20f530d75dd6dc999a3e7a728f19108306551c944fe5287e3715619bddaf60de0cbece4e2451f861aa86b872d9d7ea3ac074f5a24b7dabcfba5bf39fb63d28d7633130a8e907b072f05cea70ecfcea024ab3efbd3a8f3ab5ff6f5f95875a5b000c4fb60a297f6a4de8fed342ca611e1db71c777e0c28d3189c2294a7a061de3c950339490bbc135e2f309d720b9bd9dfb8c54dfba4908e6b42e247c15cf6547abb1bf5aabea99901e6f192036ca898bead1493f5df7f5b4694563b75caf0b27efc858e0bad9ead27b1b4ce7048e51bc86d876abaeb91bd02d6f2fe93abdfc5ab83df464cdd14826214b7c33ec215f17b7529f98b009c17a780e3664f9c9b1406c2f23a28eac10e19ae3bb024a42946251ffb0c57f7717469a804bd889cd86da313d0713720c85905c82d5d72c37f8f7991add0be547c5c75cf613dc13c326a045e0668c851ee630aec9ab87219221406a27e580faed0e039c2bd2a6d6494489b6815d2d750bae76f6e068901e15905b648835170cdf55835ed016db42138e2204d507e865e543a451903005f414f9886f8b35196ddb1c46194b9fb967e1e5b3ada0bdd09696a38dbff244c7282289e6bf6b7df9a7ec402245f2a0eca6779c87f99c54bfc876be01b7ef398725017a315a6568761c7c8e3455a948c89514dd6d8457e351b1eb425abd5080972f5d81007df5202f3790d360baa80c52261affc9b181019e1b7858155ba2a6a0660ce120691d55950777356b7c94851812983ec7e1f8be0f7b2f02892cf4b7b5bd989d66eb76cc73db02e76bbb37a65244c8c57340157982ca3ca711f972a562ca002d6be48b3bcdbd10232cfc1c9b04b31333e9fa2b3882d32fece1caa085b723aaebfebca2c70aa4e6fc735ebd2408936a7a67af5c1676959c2f85e193c70725c0cf9d19df0e4bc1f400fb1fdf954a0d8f949d17332be90715791a79de45f72015ee2169be21f39501eae3defacfae8201fdaf2fefabde2c434b47b59ca86726e4bd3a72a83400fb023d7fefaaf02408c870871978e9ffb5305d52e755c0d72cd4bb821b1432a953cd55126e7f5e0759e353497fa508da1be2055bb47457572ae184b8d3988708a3a1f9fb977a4fed4cdb9a5e2cdd808d44e4ca7436a6bfe725f04f27066df3fd163ce172e07fa084c7ddd4c68136abdb2594a130e8affcb725154f6076afc7a08fb42562fd9bd6a96959574ae8f6fae6401c2404245230372c09e10fd4c30ccefb5e1d806be783b0ce9964d8c1c1545e849cce282d8f8b51ae55e607b06889d133531f870617b55335093b7342db4784e4e9ea49579d04372cf6fed2092b37f76a8b27b62ccc5fcc076892f26b1dae0bfc25b0a3ed5b6cb72486a162f9f26a5ef4d52973306bef1897a6e44dbadaa5b430c4dd4d4ac95f071c80c6af681c3be644a7eb8d19d66e54b8cce8414f3c4b8956acbdaadc05a44721d34a84adf07b55c7581c0bc7ca0e76f58eff2f853bd551635d47d774cf3543d1a7135a0ea31c331014a40da721d5a2d53ae1a6962d71d021f5f0bf3c8577b41f438fd4f3277c2b07a116ce023aa993fb4f2ae072d076641deb241929c9b1672f2339a19887488b5d5b011e0f9de32acc48fd128a287c576508fc397fffeea728a48a9abdccbeacb1e82b79f0bc6b9b01eb73dcd84d311f77e8f6432bbe5d73e1ac197627698498e30398c973dd0e76b8253edf728feaf7ccc99661e6106c22a0090ce6bdc86b9c72919652358addd0a28518c2a8351e6233eead8a477fcc802027d80445cc10e3ba5587757467ba4de07a362eb85c1b6ad6a80e638ff00c04a515e54918c7eb8603b011a93bf7f4c471ab380d0f0b4d99b6e722c9ca05983725fe7c5ec278c32e128ab40b5ee9d23351b23360aeaf377fa1577a729ebfbba72438ba9233afe6efd83cffa0876edbc3fa0a1c74d06703a3c6707f397685b190e9ac3b3cf34184c6ea5d8fd064e7be0e0aa0f5c256b30ede947d62f834d201c72a03491a0aa67e5c8f704e7440a4d09dfabd9c7ace7283d4158f21cbe764fc37263653422c04d28499fd4485c68a01e191a423a7956be03404d2319f1d6a94342828205290c178f876b8deac00081895e9840c30ddde93f9c27333dbf90269f723897e3893a6cbaab92aeeaac3f2a4ca2db2f0023af405abf7374e983113c3d729baeafb6b0b30b399b4dcbc53fa824f1c34c2f2394bdd25f2270a5f30cb272720bebfabb31cc829b5a76aeb9e838368b08ba4994b447e854143d0057577f45720a80dcc924deb640d73f6807141e39de762d5d540e8181db4e004ee973433d7251151c4052f1a318a30b499ba854f0456e648d2961f03a2b969f9f86ec9fc40066f852bbefce03d49a435baba937a11599e5d22ca14d9008938b3159418d4772ac5eed99be6e84bede27d908ee81731cf1c3a066c2ee8400fc29806c1bc76464f7c78a071f6990ad280de0bbf3626ebb5dfbb1a76b0261dedc162b938104e83b8939c8e8263b7810c5ce106e82f1110ba30aa0529b71abef7bc13592bfdf0e729f03180c3e36efd7e3f6e3dfa1aca700f935b0d9d2ec493926c2efdedc6441721edc5436a380f3e44d20a198da7542739741bd0462020e19074ed3f622711339f9525fcc85b7039251743307157cbf9634001ca640eacb3634157ffd5e31405cde73300e2876056f3eca08d16496324565266e122cfb839210e081ff5847aa72b880eb21b7b2e9dd940257c4f86537f6f7b6e9a63ae87083e849fc41e6e7635e58c96a8708cf9cd4ea55f58ede7cfa8b0e3080ffe5d3d15dce3aa445a41f1c7259a8de33a116674f7b7190985c209cd0a25b427eb1b1112fdd1362e7d07bcd01eb6be99df42809cdfc4a86ecee7ff6afa5fd84e203c7af15d4b6533705fef472d5e4ae6e2fa68f5b06b362619d0d3e6fef4037c1532de07766e400d6424100519c860e04f8135284c28f7ba3d4255e5af35ed3fcba116759cf1ca9330f3abc5975f728d98eb6c3ad1223d4e9844b6270815d8a6845e357e38d33fb9fd8d7e372aeff161fe742f5684cc443196377d1f324b11e271c32f0aedb72f8b00f14b325272ff94ab2930a645b05383987cadcd13d579eed8af87826d02197a1096d667222b05cc8c3d26967e7063b3f9ea209ca321702d12ae87fa3168571207f519c72696d54ae3652c616c49013ff39cbf94d8384851ff7cdc14be2e4aefb96cb967273c5ca08f1497eb912bcf9cdfbed70607d8d7424d08f648ca45a2da0e67ae4270cee061619353e9e73aa34ef9e84b07455606b4ac20863c9d1350044270409624528ce0105b11ca9747d16c5e3334961b91af7bacff93211bdc88fc6c1d681723004c52c9acdb6cb607caccbefdbc47e44d585342587a4da284bb0004cddbe438b6f01ebe464973d14b3744354fdd84e93a5b2f94f5075568bf1e24981cc16721af4ea87191e358503c9e4740a6241a7d92750766422a9e91533963ffca13e726d2638c5977bfd681c5d984e0fcd988917e4918a1a57af791f3c43588bcb703698bd0bcca679f9adcdd443e26e7d78cb7bf7688dac2a8f5eb3b0ce9015a6f15215bebe24d1c2fe50693ae8f206a9bdff8573c55f92e4808242cf4f42ca58ed2242f292e64909a3fd522ff553b47a26efe162c3068fc82d655b90cfab1b39f572e48903d06a3daa70e382317433a9135a1b2597257b6dba2a464ee771492311444a70bb355e144236a1ca2a41b82ce9465b2215f033be2f5efc9e07953cb714062f426bee38c64a4822c395807e4c2bea8ef60d8fd01432c4c0861ff11390f3723465ad2574935cf22f451c946a09ae88ef5dcad3623aab8e4ca6e9016126cf65aa43a271af4815270c97dd05d588a0646b6897ff792d03ea35fbc8b4bd1c7e048b77f555898eae0d2e7552827444f913866c524f8488e68284ba6748c2f80c1e1eb587a94149eb1b893402848d669a9a2d7f0e2b17d7b338ffa1f7939051706c7225ccb36cab83a5e0e29ca87367afa790d3ef0d766f2afe72e18c486d6e0b72b12f618e008ad8e2def4e9f5a4218b7b1b60eff21311b35755add18780b2a4727a303dfca8b406fabf3b9630bc4d079f0cbd1dbf45ffa26ff2c2060113d331722d01c84db07e131b6c9691e7d656a1969aa7cfb03166c6c80d07b5282322dc44b036f5921abb458894215b4a5096f79e46b321a403d738ca717c38273df61a143ce06e14796f8671c83c5d075c5ecdf2bcde304b76b1aa10ffbf8b9359d6ed5f173ba377d225edc541f2db378496a45a3a6b5bae7253c920d5d0500b46c080721e734bfed927de0efd9d898d71a5c0ef1e18bfd941f1ba0b9e9130c3a639233578e90086029c03128e36e4fbd55e5f189f7b87d9c394e67621e2a6cb4e8e39724807f36c91863c3a73acee707d2083c77bb1bdeec4b491fb43511b73742b1e72732cbc3be8ec3179e0e68b048181eee8d3df1d2c1ad2ce20291d87293684b9083267671b86cc9a8e0e71c6477c6e7ddabdcbbf01abb5c08b9505eea941d69872069fdcae83d374baefce5950420888ad6854b8efd00b4548e24f800c83d7cb38c1630fff3ba057a698492535334ca13e6895aade2ded7b0f80c470ad043baf723262d60e7447901ae65f25ee3b70615e9a695fb38d2b7562d6b42a8ca9adf23befde2c537e8866ac922334af6371dc52bbb86865c7c89510938e97f49e944e6760779bee0ff91d03bb7ec4e86817db3892c6732c7839c8d60c324a0df41dd672598607fa82a3595bd0532e5c652f1f71a433b8ffd9d2a5b3642834d191fd187260d232fd8dacdd2eaa03c3b8673b168bcfe7a99b96d0d64ba463a5bcb14c1164f7714605a90ecaa88fa8da9f5620754dae6658fb4a00cc0002d8cf1826b65772b0a8392e9ae38b844224785b00686f3b25dd6ef2ffc85931bfbc86dfb2c8986b6eaa270fb7f8bbcfc39f293e616ac8757c239ab986a377ebbb5292627fb1af6e0839ec01b69c0befa2c3210409ee34113782cc592f3ec031a448d8cd635531723aed9f260d939b64e1041c0a721b0b9e1495af0da556aebc61cd72ff4fe3cf7295acd026dafdc4ed487eb0e0779a62ecf4bfd03c9278091c35c0643a23328006004c95dd5fcbab0b00c54bdd69900310bd4e47aad5107e8f1cde54bd67e6047238206781ee49525e45405e9231720581164edc3aff063242fb3a70c428b81572b7787da89472ac1f4851b794b2126c97a4f8a035c0eec2dd4f73ae8484593972bc3b48a907e65a41def687be8f5a3bb346fd644bce20c016aaea2de5cca1ba671a5c29f4ff21c8afe61b222e86ba92d00f4069d4e506f0f8797fee1f3b0c1272f68bdf220974a5ae1d917f36a188a4869654056971a4d6b21aec4af8fb2a8f7203e6c80650db63eab0e2a573dbb0f6d858543edcfd8789004b33a8209a7e4f3e9c617aeecd10662063c2f500d6d8e0860511036a08e5577690ce1151dbd46d72eb203f480b9a9c781989706cca360591287bfefca57f620b921df7e2be03297216bc26a3c0cebac81c47f517c06c8bd32f5198addbbea839e65a23355238537247bee0e0b1ba3ec9c96910012d486f9cd6af48304cd84981e5014acd1d5f960a017844b08de081bfd9b3277bc1a9081926215056bee990b52d82c100f61e575182e90cf61d49fa76547ade127669dd964d429ebbcc3d2c7fa03b8d2a223e76721c9e1ecd2378707151e7b98ae090199db5ea5ed2a38b6e8713f325762082b872bda34e61e69a386fab966728dd58c1b616242de32b3e9e80d769c5dbc6cb4d6c2f14a464a1e35fd4f8c0c3d81b2750fb7088563d4d2ddb713c89f9b814399f728a0cbdc309f0a064caa9bfac645ec9431180a8765970b3b66461cef6e99cbf725f9589777096dbe93a92b7a5e948f3179133c97f7b23031eae7cfb3340367d21667e92bf1279d2146ace501abe3e6e668adfb93c6d45b796889ee6e32b4d9a72b0ec11d5da581e994f4f02f7a3772f19c0a95ed2d78383fcde06c204a7a82a722473624a1d434f664afb1bbfdb5513ea24a5f0bc73e2af15e859812b657e9647551e9eb4e4899c5f3488f75737a967135ba1d1e97ac1fdc05ce127f959b22572fbacfdcb87a84d36559beda71b6ef0840dbd1283ec858efac121d4a9c378481d2792e08ae2f4b15648b8f74790224cd79357f8d83fae3c3b44be12d859519653f1bafc9e5d6aee2281e9ca2282e3c76e862043fb15024d952c316702bfb9a67215a6c2fd61c13edef71887ef05fa4c59a8ae9512da58e15c93199c448541c918a3644b7f64d193328ef6c5e52ea12e19b3c17d0bdf1b4c129543f41fdcbcd172e2d29e5ef15e11357fb5241ee86253af2ba89128a9dec7ba32951fc79b221a16d687cce5a8eab9afa9477f5646acd26db818b68d469779492bec5d5275729c72d612210fd31fa4c0a506010e09f71726d9224674c88fd3957d34bd5ac4f47c00768cc46f947c26ae50feba5b880f64bf8539205c373bfb1317e7841697b56472991074ce06e5015c5a31113ce1eaef5ff3f41e12590eaa76f34a98a6af80cd72f1cece6da0f43ace1f8dfe29becc2fcc4a3aaeb72a2610d6f12d321b95295c232d4fe920b7fd212c548f54f932560933d84f715b47837772fec9140a6fbc7e72060b92899f3ead9a6d6a3571569e00b64806b1f2f7b2cd91806b30d686ba1c729cc0d7dd7a6d6b5b29cc8a5886a9fe6d0ddffbdac2edf73502b6a5f5d031c972c27dd30e9ab5fa1b6607d3f3d3590760fdf5f4ff12302736cd946035ba2d9872049e7a7d98c64d04a214504bcd6227d1ac829cea38fbab95c14fbf7aa30ccc7217ed621f0274a43064c306e323877c0819e3aae2b641e3ed5035d3f5707326094a9dc2ec89caa6d4746cc2dd848471adeefa7497b960b0293d51eac68bb58272fd3c82dc6aa6060ce5a00df10f004a65d1d4fe415668f15bd8e5c4095b16c66ce4d32847b964d43181b3b25cebcfb725eae8afb1722491720a706952d18b1c722fa6a37dd96fa4302dca233a8f95b4557d8e3602f32252cc6397dd7ad0216c725057615e810fb0f82972c0349c2fa56ec384ed52fdaa3c66a9d364dd5ac4b4727ae239ed2ffa65443242f10a005252ab2d67b87acd3a16b1e59ef89a353a0b61cf0054e2778bc3c0bfd6678cd449240a976553dfd82fc14f4b4b6024c888f272c675815b4ee6bb4a86b90fa0a5771addf0e7060d84b778abb171a8ee754cad72123e8dd490ab90d2fe090397ae7caaaaa3a6bfc1983abc7b8903179f51ef24641d40ce690f946f33e73e43f92435099920dbe308a2aae8c0c1fbb51a86f9f3720e2aef9f637f231539e03bbb196dc5bc2870be72500fd661d1ea502fb5d0b2721de25eae923bda741c5fd46e86abd5a725ddfc8bdb6018e31d2f770ef9775a72d09db1f197c4c218168546bfa20b251b3ce9fce6a6e7a1fdcdd6802946cc306bac68cf6c40679baf689d3b300c9b48141e4d5caac855cf7aba3071976da10772431a8ca337f8b785d27b90da8cb88c6e69b2bf9002de9ebcac3ac3017fd3bc3fad8949e0c5ad539343e9b071a145af112a379d44702cdf6c88a6eb3949ee5f722715277393410138253493d15472ebf10c6a708259c32a51d923bb464e499f2faf34623a3208ca926bfd7747a6b3042ac8dfca98aec931fcc8838bd9127fab723928245bab0133b6284b532b3dc65228cd2e8d7b23156e32ed11beddc7241157ba46796fce5d5d1e72d4add5cf6e625ef80151511c08f112dd0d93228e37b219135aa4f154c7002338792bb930db4ae5cc22399eead5970dcc7fced418757b72230aaad41d161d2175f73ed7541135c37723527fa64afffbbc8f4319df35aa3f05152a7ec2bc361ee09b9f74bbaf9a5c799cc3a1345c903b74c120964e6d9072b3fbeba2c28bffabdaf1dcbbde064be984389a1b85ea7d176b7c3f70fe584972c708d00a8df3821970cc242b2797aaa678d50f50ca1bf4e2cc51415e17f92c0b12b7b8a33239396211ff9de405161df757c91921393dbe9dd0969fabd2c39572f65d70cbedbd9f48fb043c0947562e6310a63b7a34345522159dfaa6636cf9720d7ca4afaea86a5cbb0606eb38fec3982ab6b9c37d2b7ff0573ebc4cf9744e7203e6b4ce953d7f4d79b377e85d15c69eb262874f5a5e0adeb206ec56bb573f72743a8d94afd5c806c76219f97b65d07efe7bd3a7d8f3b003dc5936d6313d4b0c761646084ddc2a17bec819f49300aadc18984c4a71043474a18a69af3f13083152545dcffde779ff21c3aaba076cdf18e82c39b82b157890c7ba3a234561d504fea1557f91f4724b4ea52f12fc19932e75e016a39bb6d292c895da620efd7f3c84be5fd4cfbb8f0089080447d8e987a66379a1b2d65d845f390abac56669b8726d3e1a73788a286c830a996e424f4497ce671a2138909b4cb6db50b090875672379508d8b04e237d8cb63c36862f7a4ddefaab518741d4293b407bfc54a66e4ba64144699cfbd2f7b55413f0e31afa5bd0490914226f45f93b3f6efd2ffde14555b870c64eb4b0e20248afb2a7654000937cdca997060dd68b185094d2ba0059b3976bf60371dae13f2a85ab3db723e5821e444f51618299697d42ea57d71d721600d4aee1a82bd9e07385952f220a1bea34e6701e6ae1110267dfad950d5128e94100494a641f0ef114e91c009b78a4450e9abe6b69c5fb73b209f22da8b8171b224fd6e130feac3dfeda40a1b6f5db0a910374a47de8a82f444d95c2ecfa2b8bae49cebe0ee52f389b3ff38843e6d86a78e80e9d5b79e46e75887b5dca6f1a0737f9bdc8a2148cb4dd866b047dfd05bf4e6df415062b8c635969dd72f16c707ab538a3d2b9e6b76e01e3d77b966bc2f3c68e9ffc95a89c2cee8d2bf43f2f47645ab04ae12098b2237a194d8992c58d8fbd8669e5688b679fbf5a6715e56872244a375e1b6302f5799d12d10304b38e1007d90a38d1c889fdc7b0b99d10285e26798642e8de4cd3a80a98e5cdd7644f2561908a9075fb373ba4b26a4a61534426d32b62baf159800bc1393532dd94fb92392b7e259fa0a8b07a7d0dbde95845e0dbf21f67b8a5bf677169c6ff6c501a50c5fe39a1eac71c11a3777751863764d454006b60028beb553fea5d2a6f94594ff271b039cc00631df8a12ea4173d3bf26bc85bd56ead51ede81c03e8c4d9e4898d873ac891832829563ffc6f2e443d62dc6ac535b3ca0864e3310813994b37219a444dddf23efd0fb1c5eb7bf1d87254aad8efcfe6d130cc9f106ec209214d514f949e94c278f0b1b5e523dabf1909310e85e4c65863e7abb0f7d0240b3ab9a0e73d20a5c9f240880c83987c2901528860cac1513322acaae4c56369048669668b1b5ec5722f6ac9bfc1d5a92835724fe703957943b90a3c80fc38340ac728b6550bb23c72b30886b821ef7ed94972833fca7414b64e31ebf9f1f61bd9620840f520dc643bd8288c40da30e9285e728976f12831ac17941ca338f0d288f71469764eea2fd77ac7e03a828d3af55472f4bec34d0833342e57036a189d465a782a841041fd030793857538ff18856743fa95203306ea5cfebb41c5923161ed64459d64d1dbb4df334fa4575dc1f4ad72b19e643c6c473a3935011ffc562cde02467e6acb90b41bcba064363d42916772b9d0bddb676884c0c346d42b9abeab152285499a6b254fdd6b970e430bd70e721594624ec71e1f9df07100e02eff58e3ad33682ecfd8cc21d3e4f2bb250ae072177614ee0b4a3004aa59fa22b7be9bee55a2be0eeeaacbb48b1b474303289072d0f9de35e3694db957d13ab0b5dbd401999b9bc1a61f230197ce68a36f60854bdd16f1c3f2d60f1d71b6319b47cc1fb75d7723fbbf25913e871eab8537085672a6debb8bcca51ba5eae8ee06abf5e9b05960283c7c5e815551292eeacd318a70c425f68809229fd9b396c35603a66c98a9f9fe0e122531ffd3398a35f1668a72b8aeeb290abbbeb3529b08fca842a20993b4d68e7beb855522573fcb36a2a1719fe3e9135e5cf63a3e16546734854b50bfc14d3f548ba1d9fa65f84fe0e9427277e0726630f019c6e24c4ff2c724b2661c869274e7481c1c81200f4d4e425f3f3010937546f2cf705437593ea858b9b8be953e4617ce2cd97f51499e4adc1472b486e30e400c32bd5063f1cffef71e3b308d72b74734076b1479c1619d97596e19c222880874363f3fb72c572d49f517dec60f49c7e41949137534194a054a728ad4f8c3c9696a37dfdb68bb20240bb96f9dfa81807f5ebf1b9ee8112ef15c68dbbc6e6739dc42d33696156719df32a5c04b096ce64fe9e297edf2984698e4200c31a663665cefe38bb26ff50edb01d2a2abdabc3e29285113ef2391487bfd729e9713ec6a5d80f444faebf3f93d648311ffdcf77cb263b598ea09a56a69677201217e82bb938d401ec1a07a544adc85d4dea88aa9bda145637a8b5668f430455717e0b6daa757b5fcad1d982ec333da14ab7376b1fc0d0aad7effdd969a8a5811bb5b72791531affedd81824bde889248314e2b0c1726091d4ddd8dd098e14562afec68f6c9f25285b6ebb5e6e26db792b714d78eaf8f7085baa23a38399b72362c0e1f00f487a4cc3e7bac85e27c1afdb8fd8af1b4d51f290c10e041c7f43eb25cc49bf25d15c9bd432743e25ac68a306ab8c8b94410b407df85a1f6a9146d2eefa7fa29e111dc413e31758c8c0da911a4e4af3cb8fdf6eee37f85c6fd7472ca8c11ebd116ba8241286789922495cb7d0bb6464814648bd4f6e0ac8c5636580de85670dec2493a3eb4daa93453fd4a663a3f1fda9fbef76f19b32afec91b72265dd8b795a6ef829de9dbc989c2f7a5a5cb0e5dc4f0e694d0ecb5fc9c84692ff7a8334e863f9da9a3a3d72f5ed8efc0430034ec0318b33d7de636ec45a55572e0324bdd83360d04280a9b304d15322340071aac741cb8fc641be192580e397203152cdd065990a50867bd8bed76fbe2da7bd3da8d8c497d24d13a9a93235712a592e1dda9855494caa75bdccbe58d79aaf8634080895ac21a484d8676e485596069cd781b8eaa473c06726792d9d612aca5172f99d2548d8e6e91c1307a3f72a6b2467b6f66e458020c71ea0a716495452023446840284d6de6ac53b10af03bb6d1bc759023447c0d173ddd7b2b1474e8386c6a31ccb34f83601f4966f2d3363938735bcd38066036174c9c0b6afff62af76afc3a838d931c65f315c5a298722dc9dcf9a3fd46ccdca739caacdf127ef39dda5f0aeb63ebea35fe867eff74268c2e612502bfc1f6467dc67d6ef006af3e32505dfeb83bb675018a46b5032852e7ed9fd244250c40c1de88598e8a318ba03b56d2fd2866aebe0eddda55026368aa7bee5a58eecf21a2003d587182f2bc3f07de765df06d1566f8960fcc8681726c76e17ea3055e2b070d84d402ef3b54b7b064ce79adede1b75277f9a3afae725e2f4d816adeddcf88544d44938ab2846e7c5d9c9f90092183f13cfd151c737236e981489156052ca387feefb111a87f6bde6c3b1c09452b38cf29730b2f6338dfa8f34a61e64183565baf736b88f9cb1e76754d5779736d1be5a82c9401584778339135ac5c0f24e6f63a637f74e00193668462b04e4a940f4f89afb6a34272cf1870303e6a13205c6fbfb8b9234c4240f322f036b9176e0b47ab6a86cde0070554a835af1e63c1f9a228e6a58cadd4de9f54fbe6d6106bfc94f12cf7e24872494ad66db1c078ff5e63f564ed4b26768044a8240c43ec7dbc38164a1d12b472c2afcefd3be21ad9b625988f5efffd9ed5fa9b8a11500a401751d18d3deb962f6f43307c9b4e87d801bf5bbbcea41a9f0e9d03e126fe0667a4f5ad181f31e746816b09caf08f0b0d10d5f41e1409043559257fbf1eca59da93b3cf244be83872fff617a91078f4ae3afc3df9c381ea3f5e365b39ebefbc2021affbdf8e7525641cde9917ceabfcb40df7c34237e07820e65f21fee95b30245315a761ac685b03f37a910e493ce1831fc0a1b78b835f26f640babfbf54f63e39d2900faf0fc3255079dde68dba374477dc5ea262b0ccf0e80eb32b3da291622b79302f15bf22722f6774b62e7a0e225a1a77bdbfc42d33036c239601358e2b134ae1d3ab34ee726d9e3ced9702f62d1077d235baafda32b56fd1d233d088c930137a509ae8304dd8247bac47fa7dad5b7e69c3c274bc36b7129e287b56d06659ea06f60546f7727bdf08abbc4e3a5efc468003a822da9d6997fe2cc314a23d12472122d03a3e16ff0c45b7aacc480e28c2bdadfe3ac4c51159631d9a7087d002623b06d2780135912b90b481a96c0d4cbf1ebf1bab7bd6a1b324b25dbd58ae24e13508a2d7541cf0aeb799bf594f9aabadf7e1085d976b551fdfd4983a81c5036aa139c276bc56f7f8cbbf690fa979785e266613d3113975a872db2ebfff25864444c6e465120b770e6cc3946d64c401b766d4396b87402ab634c7aa2aad76485f75d251cf8172f3a0f5df2a12296bb6d43c8f47928f0f1005dd2dc082273451054aac7adbe463b2858b3dd78b8f034e62df844b4fcc02f41fb9b5141ce330de0be63c74b0997251db97fef0ea4efee37f430bdd9df383b89e7cdb4903fb64bdeef869e5be876c975a379678bad3a242ab3baf5953df09c170381502ea9a71b58a257aa32b61720e5a9194467fcaab1146d068fedf2bb09fc72e616bfcc8b86c1eb0a9c3fe1472b45236f5af1e8bf5c9cdfcb5f398457d15a0ed872cdd194ddb033f88d9d2d172934a8c216fd8652d16ae45c5b4dbea4d1d0a634c5f367e982bfeeaa70ad0a541b2da1e0008e176f482d8bf322de9a8ec4201b3b2e81788fc1f52eb468be16f1f6fa5bfadd915528f09c33971c0a40908de990455f053c109edaead207d4db672093668f989eeeb96b00d25ee043564d113f3658acf62255d567362954221d9111169009d066183050389a8a41a04878fecf18c377f8fe21b62318ea6295c4b72c0911cd74b00db325f20f6f837bb001f144d26c16d23127c41500c75bd0d2272e6405b383026b1ee6138762af940b5062ea77e1b4bff5926ac5cecae98e39b7221ec55217a1f2033fdab854f5ee0d6f7098b89e2f673e02c3f1eef4c691fb02a37a1c334c1974e283f548351779790aeac8e2dcc61424cc8254241a0b13d7d72e87f3a59ed5d52073198e38381dcdcdc44b50d353e279d4db63d6e6f42c25a72a4c1000944e5d05581e232a91123e1939ed263d0a57e22675071af59cb164c726580e7a015f1c29652ed77d8125133cddfb4c6edf9c3e00694775e9a3ed812641f4d464c635d0730dd7510dbb918666446e0bd6de251d3325dbe47d825620268b57c3b1fe9fee1fa5945efda2abac2e2806c85460f61732f54c53deeaa1db77212f038ff79a0aa665a697bc83e3b3afc20ebad0a03f9173cae197e4b2fea455729df38bff29a7a6a4505b0df9784341a60a613a0ae3fe0df6e3ba3fee9176b0e4ef9e4b81ca2500c6fa8f913895cecb6f60d032dc38e8474ca9b77409a818a7212c738a44aca192ad0b6f8abb1abf09173c20caefcd47b7b1503ce2cb78400729c7b79fd1be5858c06269e0b0f0f5a0ace41af326b92901ec7fcabd4738d9072fa52fdc44bb188cf06f56af528b282e92d38adfc00484153db94432411a7c56ef2a95af3bf313ab08147bc0c0f5fa9dad87d4761b5961adfbff68fa5e7afe70361a43c22b2b3061bc15f6af3d3a505d38d7c4eb5ba4fd0c71121f07b3c130072ef4a7e83e27aa82fcfcd844c924563f5ed63f005d0a4025c2379709b60d2857253a23f68674bb8461b1f792deedc80472788b3de4e09ecee613609b9f2b9e172615a0b9cdbdd3e5e44e7d93c36f03fc8519ce456281acf8801923f5ebad21772bba449cdee4a85f561636582720b4badc5a15141abb0bb250231551fc57e1172f1f2fc947f861c3d5b9215023efd50864ffeef2f2da8abf3111688d7aed1a81a0aa006254ab9d108bbfc2de3eba96f4705f74ab874aa1dc61a6160b0552d1f53159c07a0852299a16b2f87bff5290f3832b774d96e3a595c5a25304adfe3500a099bcc373ae135f4c4cd297c9cc71754d94cd40f3fbfe5ab17dc8f394b32023937f21e1f4cd0b425de72c6a709161ed7f48c7bd99782b3513e2be082c4453272cc6667fe6d99354c16c66a1e789c7a5b9bbfc02d99d1c3b367221d04e74d5872b95d9977ce6725774bd543b9faf8a00137c1adc06df84b8815c9a9fff4fee3093039724f05a2e6b97fc18e761e9d389a790d7fdde9fb5388b068d5ee879ea4386d6c6ceb0326f99ccae56def31e9d7863fc244969e5bbf21a6a9d17e57685372e5cf85cd7e3d4cde8161b64283783144c555a2e4545e2e9bdcf820d40b505572d5ef40d061adf38c53ef18cda130156b74fcd016df502596b6833eb9e60fca72df173725c816a224ab5634f160147f5f97d9c88d7967e37b35146042380c1972bc84d4820f19287ea00e2a78fdd3d815c17ca35c0c6124e31ac5a7a6c10baf4396ab5e861524ccfb45f0cb4e9476a250b8ef125a52966d8f3894868e5f51975c44d3916b810c906453c6353716a94b36f3fd172e0eba6431363905d889b6d564642f1005fa95f529f9280623aab3e5f73dfc6b4d4fdf4c1dc25c7ee80b892d1becd24d2a907bbf50e76b7b84cb11085310e91a86f5a9e21c2160031cbc955d72831c63ff797147095966df423dd2f0f7d3b3d22d6a90b021059e77c463975f29a9b5a72cdfaf900e062102aaa272489c3fabd1ab9ed4bab7485decc147ceac726fc1e97c1d381c58d05038c8b06e36e5bc49bbbc2ee23a6b81a03e6901eb1e2dcca23556ecc37f44af1edcd8bc5cdeb4f12385fa2cb70d16d84a9014a16ec7727603a7f332fa2c2e3d5267ae809d0a9e9a7eed71a5886395c43e4877ea494a721de80211c3c3bcbe049f0d041b6f1f8211e39bf0b7e2f469a3dc139f4a83f0724157fbc70e59abc7f4293a8f9413357ec9ff7b4b43fc0ead77d5598929b8154ff781b3e84073c4f82c7dc97b17144516a58ab28b48d0fa6f882091dc67d85e7283a10c740c9dad9b165c066a9d3c0832bcf5e5633c64674bdb63fe6600fa0d726d94493a368f49f9d7dd1fd9605b0a77080cc483e2550f18b6a52eeb59b43855a5ab13406a4c5cb5faa30153950cb176f8d4b34d439ed83a7f4763ee02b3cf1a8a349917d0a5ef87d06440a5ae50c443681ffa16d8e7bad9e50f0793bb890a29d65c83fb827d6d9c0d3c5463e0ec3b49784e2368033e8711af05bf23a81e3a725196095dfadb6a57028bd82e11cd3d068278e2566db7b5591e6757113554df7268d140008f615c2aebd215d9c3188ddfd835c2007189471c42f77ecd32971705285f26bb73aae6e917006a63bfddeb26b0013bc434cde50d1605e302627d0726fdfdb2f05cc56d4f7993b9305a723751c8b86261e929ae3e1dfc74380002f3025123b65a433ef700ec332d853de414216813906f2119f34447d92ab3ba1556303bf4aa45f6d16c4d6c8fe85b17bfcc7d058ec9b6ff91abc37e7042e0e774dc5c7f32d7cc4ce483ed8edf60fbc641cb465a4f18f78af20a39832b855517efb13331839a6a83159eb976e6db3cc34a0df5a0226e9544311cdde73d18ef7527cc723497245728a78115f9892782c8903ebbcd91019105382dd26e0564ca91d81f72353287aed7562ef3e51751e10e02960594c1a5cc58b5dc6eb9aca2de75e7d30e654a86badf60a12c4b25e5ee8d3e7d283f5377a650e867d3abcc1d996a3d0e72450313d9b3b22ddea2a16213a03a0909b8dc766012e1fa555a6af30f25501a720a13604768a2f8a86bceaebabc8a5f4ca3925b24032b837dc1d64c847cca794bb5c109565b3e90e2e999fbcdfe8dd82609fb9357e030db31a68e6dae3bccba726af9063ddb868773cc5aad296d3caab061490bfbd79719dc79dd3574904fba22a743f5a63e80ddabdd103dc3a590851e6e617a7135da98abaf7771ba6b3ed817683fed13bbadd3b08e176b5029e5927d80e937c9a814f2653188ad5b4425a84a6e3b2fced17a9b990fdcbb5fdc8138b8447a8742f0b868109051fe0d03dd3072ed3f96a5318cb48550765a74ca4660d7a81393816ed68d5cbf18df4f8a24f772281c7cb47247d3d4a780b2f776fe17bdf08fa756cc7dcb134eee2a309ed1b86c46bbc372e32e64dff719e5b11966e2f7bdfe7652e787612d072b9207dcfdba29c2ee8ec603716747cdf7dd29feb46261e128dff674aeefd3282ba6c99d5ad772612ab2476c2d3628d76cecd64dd5f13f01e060b42a31a0b4e2dc80f0e3a806720c03a3649f97885368776ca0f0a0682132275aa401d6f02753f66e0d65879772375ade36c2d195e0f66d2cc698ff0713e93d1c040ac16a8264760a51cc4b1c729df0a89179d9543fa99c6f856811c1593a223d924e5baed75bbc475c4946ac1c800a305abdbadc598584511362669dc7716d2376b70f5a6b30a94f376f6f607291d4cf2c4285adf176ddb9da0f963728857a62cb3342364cd316bfe3b1e17772b6ceaaeac313007208fa2af3e1de61aa09eeb567feed66e826df233591090772be637c68bb7222222d3a97d22dd9ff72b79807b99c2f3cfea6a8a151f19a127237c04aea18317341e98f86ebce1ad1f35eb23bcc70b33da17fc097af37d75a72d96683ef30b519431b011dd479903c2416b62e74de9130d1c92c2029c7ae5b7208293b8ae75eb37955721240de2cfb661c4bc3e20c46f096f068976c0ccab472f245a2b71a5f55ac784adf8d53956563910b91771b23ce3c77369a426ec337726c914b1ec558ec7ee1e09bb0d0ba0a561983a59e5894b92a6fe9abc1a0235a7204b84c856c830c1f4ff56e408e17f020de4a18df7aa29b893f9f45e68bcf5172cd6f0b21a8efa8fe1ad191a853da52583f022d48971dbc4cc7ac95ed68ee4a7256ed5c8aa4999af5bfe9338baa4afc8b0990f4c9f6d8dc5101c7b607fd26892e473a2c4db52062e1f6027ae36fcf60cec52b1cc73039c58546fe9c5c78ca487268f060eaf8257da92f71bf287f38d6169d55fa8f6dd3858fd63359673c8aff5ade75b8f070a83dadac592f316aa0b48d0a03ffed58a9e612ae96131ebecb4457712489fbf092ae24985ed2d99a771c054d51134378dda2488f9722ca3a046c3c9c5fe950d50a6cf444db90f7754b3735433633a0f33cee90d46c50a79e8c2129c80b61faa4ec5e54fe35dde94229f4b090f6ec2973084a7538238757c872b172574b46eb88251a9cad7e9da6486fb842ba8d82ad51812297862d952f954f49725ad801c75d35c563f733c6a352934f96786263173763bf3ff513ec8a6d9500628a1ee8e363ff8b164c18b28922d0831abbc4bae14d74e8a864e51ec4478a0c72976e7268da57e2685af82f535d9b9eed8bb884680eeb0ea8913c2cd78e9b9c0bc65448efc0ca0ef81e6d1c355f81c3f0fe701e31739e1db5c9484b8514b4a6720fd0c62073212d9bd229d5296ccdc91b465387cc4d23bccc7d8c8c289b866b2ed1576940cb3afbc7004b6dba6c4daff01e0281a245397ec8e54d9bb4c89f4f20e2b1f3749c84eacb60d215906d22bae65395ece0f7c7e099acf24d595ed79b5f198d80f352a64c08e9d23e24f5902c94139b8964704cb5d37cab60c53d01a772fd64b90d4076b090d2ff4bf43611f1a2876635d187e0cf7afa5c5d6082ab13727c230ba47097b25a26fc2709594eb72ce9114dd124224c5c790a801d17dad972d0b63d4f110b628b0cfdcf121d1229c86addc1aedbc6cb67841a716c06345c72aa568b14bbc0d917c427d634734c581a0bcf4850367b1249a7e566d48582fb7214bc0bc47b6c75d1748d028235b313cdff72d52f190d6888ee57921cd070945ee7cc8241505f8ffbe71299d9818e878c72494028231aa3cb87397c2ccc429c729adaa25b400039de2274cc71954d9f3b7bce142533370fc3c2301f894fb32e4e04eacb547edaebf32df2940c56d7d46b5320e0dae0b8e330286a5875bffce016d7a135ccf2adf099811d350e9f80265e317978225333346242c2e21db2c19c72fd6a1f336d3482d5c6643669d7d6fafadc15278148bf7b261e5961f51b4fd04ec10b1b7155aea012d518ea4dd05f96eae27e653fc66c291ff36b566f9283f11880d92d6f30c1cd570f21accd6b50e9c2dda0a7337943ea54d48660686ef2157278f244cc74ad90009fbb9ace6ef59aefebe3a73c3257a5b4a35427c8c0493c09ea5b44bdaef707909a1f5ecdcba5221545e9d8437e1b593fbc3cd01b899c211322f2ef11b4f5173b363fc68e498724d4634e80561f8bc41537491a4876d06634226df1f04fe4646d633d3803c2d00d6f2f3afeb7644da40bc3838f4646a60224577dd8fe48a4e81885a818bdaedf74b00ffee80f6faee3d893b63d16c19b66294e73654d737a4fc52417f144074ba174add69e442088178eed37d0c23f327a48efbf2fce5d2ba8f9b66a7ea99c05a15256cd313b496f9230451e8d3d2da7bd7286b45ac19d474357f4f67ff55b2f364ad60fce3eba13ea7060a0e672236673492780ec11ea66a83abd4f71f4c8eb8994d1d76f1ceb5486d2c8a4ec651bce0503d135164cfdba49e4b08474e5e168700a5947c993c4e9e9c3a5609868975176728e38e791dc977273c7ef21b821bf67cfd3ac745e4728f3210a1d9a51a6eea872ea6d5b94272352c64de44a22be5c2e255ccb84c398391be6536b11ca84c5d272b8677d89729b2c966cf30429ab64aeada0fe38cf9a60e189ded5acf892bddf7212907894bab72fd74ce0cbd15c49d6470667eaaca2780dcb8b2920e3b1d04472585bbc10f0f7e4f4ed77334d12d7d51436f78a44db7f2a08d361d07d1dea7c72c6f2af4fde161b26e11f05c0d54e24fc184998465487190949ce6f22e8c15c2b324b0cfb198e63861008279da42ce00ae51b8b319c33933d895ffe6613720a72cda3ab0a0cfdec3d7c7d2983b293f1a0f7fa93c2dc17178b97ba45c4c158462c5324c51effe9707e4aa9d39e499c08ef21d2f2ed3c9bf3d16d78891694415e724af4c24661d1798d2088614a6be0ef05d865a2dbb6cb38fa255e7535c7ecaa72c95248394b82f45e9eb984974b3934dc83aae69cb67e5b763ab6a55ea18ea60053c0cebacb34397bfae28ae71c57f1304e3caa03aab471f206d33c1726d0e707124528efb76fbe665a2983697398451972738a61b50793e205afb46712f8d9723146876e38ecd0687b1c67db03c971de618e294f63bf3ea931889eea380dd672d73db33c7cfd174b0bc416cce9503f91877ce6303ddd949e820d697f9e4dc072c10ad49ce10cd1db49d0739924af506c5103f9c852a10107c47bfbef40dbfe7225d3d3772aa4259559fc4ac89e968bfeb525e68a4ca6fbb74c9a9c750ed9102be0987863c78c992450582ce1709a811b61e7204fcdaf1c48cbbff7854c0ffd2c611bbafed42374c1ece97a28f9e703f22113acf05afa095cc85a03212dcda97272ccf5b5f69fe3211f108411fe11f33fa91c2fa9c6549c7efc115d79699f3972c39f610f320695454e436f6406ea852aa647af51f098296ff3a927460707fc5fc3d04afc6260789fe385fd6a0b2996a17e20ac2bff565e2ed64df91bfbf9ac728415361c2f30155df627cc9f0b9456eaef60eea89c2b7f7ea2af8707e48f1a5b1b3b22ecd7186e3a2583c50c0bdc40e23a9678a1735310d93df084308b5193729d1bdc8bec776b5c12bf8c4e75b30b2c0fcd6aaa47dabd215b808de7b3b93072d5e36d4b8b7488444cefbb9ff68775bf4a0c210afa3b5267841be44cada760729c1a3e4a3434097d71bbc7d7908c4aa9e73acb030cd521ffcbcdb32d33e8e172656b35352ea436dbb8fe0999a690b373ae2c37b48e552a8e1c0bb81484de5c2d02929bdbbe3095bf7e4536f47ca1c28c762d1f323a6d6654ca4213b0d09ff764f69045ba1efc7a6e2e8ad26453dcab10d29f49103abd9d756bff1f91d07a0e72cdf142ce8474a604fa99092f661dff91146688322f9ce82a4235edf6e2af52599e515ad034c62064d8b3a1413b050e45c78436dd3dbfb72f0d2abf0ed4e1ea4dddeabff728ed78e09ac9f701628862753ae389977dcb83d9abe062367bb7e9724c89ee77e6d924db58274703e20979dc6a8145696a7619e0024a1dd22b19ac7258cd41a2db0644f5b7936eb74e9f8e06bfcf667be6e92f1245b02c4e0fbe374c0e6b5054b8d6b5b141e3e1f9b4de794d026a6e446ece8deaf68a29785aa6350d3a8e9c29be6bbe103180afb00a4471fe174ffe28906c73891111067aa22d8672636438c8569c52288cc7f88d2d2102546f7457dbf9ac94fd04a4afa637678162d3c1199666cd16d01af4b17538f32ebf6e4ec9788676d29f8bf18abb7061f60a682706714c6ca3fae878d0c41d20a1b92a784c3fa3fa3ee2269704ed549f5c726842a5f847f68b78a4e801d37a383821c35a65c45f3d3c22de91848f6303a83c9fb17a6dd7e0cc92be216c4b0a15221c606e74bbdc03c545ca36906facaa8a3921f13c4714a95ac82460c6fcc7f4a9909cf308d27a12dceeb17161b978e2aa720b0705a6fa56ed9733bc352ddc68dbdf12d546475ec4aa28585f461f9d96b42f4d7fea5aeb2c7e560192c73561f3f68cf16e4552dcc4439d1f6f8f656d80e3729a403c637c4ff4898226ea17bcb40f363f28177fd9cebfb62cfe31216d8c424b6b7bccb7b5272f67163a120c596d3b19e1bd8f0561fef97e29135393a6ee5f72b2b8eae11f16637a369f40c096e96dd8c6de740856c6de63e23e677fb064667228c80d18b85c6970b5429c55b5bf7b7c1de7091d813cbeab70bbad1e8bb758724daeb4261477ababf926d40b45739e199c129c8a02a6e90863704555a8067972868b4cdab2b18521ecdc3c7bbf154ae9df052b8846ba771f7095506151fe787271b9aa7989bdaef4e1e8d3ec4e546ce91254049e318c846ac0d2c88af8a22847c8f266a2e8fc2ddb6c2463801edbe07702fd239f16f3e218a963f84b5d9d5d7216bab1c2c419afe05116997a73070f890ec100414f77a7ffe9a7ca1f9c989a1ecebb24961161872c74ca06c6caf8a9da5b5cc2c7430d8187cd133f7f49e57872c5c46e43f93b543fe1730c28bf56a52083444bea7f08f86d8aacd134682c302211c6a209f79b9060a90ac4466fc7018faf329b02f1197e306b845eb6de2e101a00994b1130f2d4942934c0dabb15b27883d31a46eb1866c7a7f56d018a70aa72308a48a8bc0b93308f0cfd3b6be4805707e1373be0e5a00c791411c996f67a7294b3b2be5867b2328dc926a6c62066b4801e31dc1d5b815b5cda167aa112584d6c966eb893d71ba36aaa03af5d2296a6dc0806f767ba9f3b30ac16c02a055572919576fb8cfc0985b860593b312960c74d1eadf9ed1fb6be37afb4410000783f4f1990f0771f9ebd6c4ee4e2953f31090a399f04bd335692bf321253d519e372d4d689ebd51f71ef220d8cc9b19fb5acded0e5ccf5374aea78247b28b1a3a37282472a0029b73b590d49487eec8552f38d87f77bd26430f74ca9c460291b9e5b2b7b0d254079340acd5a8cf6586a84e3cece24241beae70ed8c0b4f94cd0ed4e4c22c5127c50911f5355227f287e69068d7f5ce1869d1aa6e7b63a9f60ba6c72117bd14d40701e16215c7e390bcc7f948adc32f3f835663927542850ce31ab6661642a6b05f7d3279701c3cc281a98981b49d6c47f79b245e238b8a9d9ea290180d2e7f8a9e7eaf1bcc34763b5463a82b404be36b8be7c6e7cc4754c0c47e9726eccb7334c9d0d466c134c3f882686fb86f7fa5f00da75fe7e5fb2ce57da5f2dcf55e245894432c67c3d045fbd2e1b789519533dd5b51936732c4c1bbe6e9c72f0de95d48355c89a34393c25f9ff4761a23df03509ee3b9ba8f1fcaf9b132672001ef93be74855586f55cb32b87896d849956e593104099a30cd2d3ec95fb6728e58a12ee919c82ce8d6c98f274127b876b36446d29c27eecdbaaff9e3c51e723dd6ce14eb47c84db09c92ee897352deab2ae418b315d1dac7dcb1cdf475c9729c6ff1525a54c168006b261d91d06138362816fee4a926e93f657759af95e0727118553830ae5140eae3e906fb377521bf9ac9255371a3cf0021cfff5b9c592fa46c6b385ca1634ca99302aa63bee4ab94d8b1554c02acf503ad67eda989ad132faab3ae3dd54d511e261d52773f525a31da6a7497a2ebdc2997452ba4696c72cffdc97445d4205d3dc28dcfefae6bf4973094544f6ac61a688f620a4eb01b723b5bdc91564f4e7c2d90d67c46232edb352bc8b419b7c3ff94488d6a5c7d6872453eba32d4c711db1d17f33b0265c73f7dd3e97bc22282d9e4075ee01d7e6a7237102d711cf11bcd04b4ed1d6424a0e060381fa91c8f7a3d165ca51ac89fd5721741e7f42de2fc4b2ba863f26498c94a5d9a7904dda2fafe818f2275e9aaea727935752a8c405c539ed10200405549ff1dabf650c4ade1a60ad1c92ee906fa72e8b386a6554f88349c1e2788d35ae8bb09e6ca13145e37e293687927e0aeac6d94706958f356eb941a0ddb8145d0991888a7ba0d70ce3eb0a90e8f74ca67b672985342b2438b8ec01466d3d5b05e3a7e2fffc9d9d8f5ed453d5f053eb4d2be723b48a6c12e4b65bbbd63e888ecec0cbe485a5f59fa69fdf51c000b505911291ea7ae08b6c238a9be14449625db46353bfaa47c74f99e01a09c7ee2ce137c4a720ce940f57befdefb27ca054b96741e5faf9b66ce9c700e99b1ac4d07143d6b6916dc9e4ce4e2b1d5a532a6f15dc43eba0bc5e2b99e189f173f9f94b65f6e3e7277da22ffffca8b8ec453f779b8c5b63e80e7208eb0cbe97f7dc2668aa999132dc189e60efdcebf49f84ff8903fcf063898350983979de96cbc9a57ef9edd7f7276a5b87363d960ce03a0ca2765299855e421adeb4cbf6c379d32a8008c86db1ae2921d8b169f852fd5c01c88df34d500a6a8ebd6b4863b61c5e6a4dcf4358522c6e3bbe2c3bbc66cd0cd62763e72d57495abdf81919ca5ad7abc7eaab0199e67f5a06e2c70029bc05f814b5205e54cf803b0250fb8cbc547fcb5c4ddbcf19b72c39f5bb81f9f030b0fc1076f3561c6b484a5b943c168fbbdd7e58ca1543d4e72d2a068f1358b7842b9f1f1cb4d506552c4d15206abe4b2c1aed21ac27ecde37293956d154c324883b50e6c6834c00cc9d9332dc3da753523522ae494ff846a72a6fe26c5b95e79634a53a383cf41c51b11fb57d9930ae6078be3ee6dd8d89601a2e475557b56906d1b991f11ff7cffd394ef92297e078bc823c6c2c1a182a572a1eb4e2f46558bb05928c97219428809fd2ae77fd1f985cfc59bfb6974418f4e35a66b795217a7b11797c774ad468d493fc6fc78683693ba6d75375694f07772a8d0280d11713068bfcc2c8f1ad12b204a40055f6731ac294a2cb37f5b3a4c520b5c01e85ac83994a62bad81e069617e1d43fa2c56654be44be17dcef92b327246a06a78d890bd89fca8a44f2724cee10f5c7275eae873b3c71814b3837b2d72d75f7aa10eb0197c1fb4cc02d327587c30fcf491b8812bf33f03fd3532835655f03b04b17e33865a825ed6c20d24ba29b347019f54ff79447907d0894bf488722d31dd540022e2f947b7250ee3f34613d273e2827860ae6ddd5f88f4660cd366ca3fd7cd77507d368bd76c47151dcfe62b9fdd3263621885c46e85119130cb72cb55414acbcc1f95ca9ecbba96ba32005841382163662f094e898df82c589d7220cb0b4baf9e54ae8695b7d44fcaded92d74a6dd36ad275e3d329d77a6774939952f10e47f973528ca39745647e7781cf17cae588514d7ceea73a4a775207272e0b206123bca7c8c4a984294b42fbc6874a7162aeede5aab34054a436c58bb724483f0209e45ed8ab6c076271d285a59bcc976d7927dd9765ed790a24986c10050d38537c212683bda0ede2b243c58d92f94627f7332929190e817c12f3325729e09837a9461a4bddc7e6532dfae64d34479d3627946415dee09eaf1958354723999e0d145fe5c1b08e69dc02c8a25662538c4b24958d475393599b136b9d55887b0495cca80289f55093fe47125f8925e0384fe9da973c71245ca555ff9e0725abf624e78d4d13570d74d4055e9ade5c7292bf522cff3ef40304005c0cde072129fa3b888f084f16f133d300c4e428607a3fb0db3b321a24d45e2509576e2208eb469dc26f4f7e9fc36dc97b7859e5e7af68e54d682a30911b5ddd7456448725d4b6cef1f6434bce0660a0668ea48f6c6720166c42a4d5ed6556fc8a0251c72d935e6a317c7e0cf36b1c8d5cd31d4b90fa7bfad9e0f23c5227c0f424becf6442fa83786d45d3d9f0ce4a0916ad3914ab13d066ae655570118fad700af573c72944208a916a2f33edeb131f37af3b48ab25331656cce7fea5a957593c8a3f6726565256f8585b43a998eacb068580e03da516b959ed44fbe25a0011fc26404720bb92afe0b63d38ffa9b8b2b4d1f4b8c81ec4663bc58b016acd0cdf5264b28594d2c336e83baa5accb04e349df2e84f43e1bc433853d0a0d88a2d03c91d88e7274896084c6f02b172b36d669d2479670ec7c511ba4dcee53c489f231e61a44727d8883db0bf0c8066b4b578e8d73f97b84ed41cbca48b2044936721448f97c3617317a4538b6601f5ad6c3f8d1470bff0cbbfdee5fa0e288fa6323c088b158722c67f5c017af9f30ff4c3eb91fa08f362823684329614bc42b71fe9f3bfec64e641c386d9d6363081f7d73d3632ee0f0013180810ea4e750322c46a0e68bb93fa9ac1accceb18537a32deade55016ec2a37d82437bbe81dff268a34869a09c72311d652d59d1b39b6c255cfc1e023c7394c993600ac362496c9156860f83e4404d05d1cd9644f1f4e20723033e8bfa3b1693f37abe8f84619330d194d0a4ad5153dcfd5147449a220f7edd7d9200285d2323ce49a689afea42b0db9d2bacf70f0558dd78bac5d277f9427bdcbcf3cdb070baa4ecc50c3dd59ec5702c5a501e4ea1a2768ca7216cfe2632c2c5daf3b8e766415efa2c1b4b5c2017246b92c5762931849de7d85e583ab4241f2b676f4c3543c8dae6412f72e26fea7d4f4027203a2f0ff1d1d1add4a9d41b7e38fa89dd764b3a02019c503eb2bb508268e329e33e3ac5382e186f747badb24791d95e13be4d7f79d7f8b1ace007180af5c5bf38728ad637e15c42d7dc504218fdea015a8b1dc74db27152e7cfc85ffa18e6546712d00b805e7761b3d8615bfa39650ee00c1050b4a3cd0bcce9791b7d3826faf7725a69b3fdbdc06656e0a9de28a54553867ef48fde8d6565bbbea61f608742c71ce245572fcd67ad3f4424d97fefd1e38877f2811504f0c11118f045570ade4f723a7fb4af13ba6c5883d026d9ee40cab793d49ab1d443b4e800d6722b53afff7269eb15088c31c9a6be7a1d7e420385ce3e2ce693e5b5d83a29534e135f7efe218a726a615f6ef4b4e5cc1ab74a722573ef0399ed9c098d81f38afa9b3c1a80199324f205fa053a8729fef83133ae79ff19f21b174f5375df7a919072e6541a7264886faa05986ceeae652048ad3d12047e59ef8d29f61c43351031dbd448187222d2f9f189fb98322fd839ce2a3053dd5af329dbe01d474fdeb630fe7acde372b5ec355968d6f8acac964634ccac1013240d5f105123b9f52859ecc500f339364d016c0ddbc40f071b004b25366cafa2ac0610fe54c52a9bc963f4b0fb21083cee1474a74f6f9ff34190482249e2d92c3292ac9f6f3efeb5fdf19856ac486b099ea9112e715ed9c54e70532362e8558024fe1ca5256311c605b0b31e21feff7254d28279d282f6056f74626ee9513a70b95be5aa8e4324cc16453b6063ac3872c89c5fd8592a6ced2df298fe07661996fd3ae2a74f6df45d6557fd52a7796b7222ad0fad49bb27366a76591ff6a6c58d7b123ebfa8fedf27edf3e4f4025c347211f80ab443eff9f4d42c9c498e4a8c9aa998a5a421c9107fe93a9aa0d2e6d9725d4a0a84e5632306206a5d02429756f9267ee41103c29f72a8556b22fe5d97725afa162c9a27896b603e912aa617b39c08104eb2df21c19fd0ee2cf307159d47905d2f1fbc987eb26cd754fd0f56286a89a0c11cda8f97bf98f4f9c5321880722af6eb0f8807936bcc83a5c4e54d0658b78e16c1b4c00e414f43db729b1c9d3f8d15d6bf25f5598d1fe28ffb96960da03e6d63c2457ec1402d3022f414f04f726a67f76a65836181ff28983d7ebb0b68ba99f8fda67a5de9a4b976cbb5f44272cb8b807ba1d5be3501395deeab41fe5d9d970986303cc459825d9e2702928c72672e7035a509878b9a62e648a0f887a3406e53f1ccec0b8b73069c8a1965771cf85210e05c55febd4f44c52873ff5f69a97a078eaeec13aa7a1bdaa022d1e64bf11a8c9698dfb797ad0fa19c1536381dd01c5917f4ff31a3e78ee639e4836946f7e1e9ed6815f4b36bfa20a0444799fa5157980b5caefd34893d15009632466ae52e961eef7a60c364fae807c44760d838ba3af63d12ffac781710b23639b212a27ad72dbeed139752fd6e8b621b44c0062eeb36e24555a89232d69bd7f6a5284314e447561ec56599350f9fe03a0f00cb1666887a4141840ceb1e41182975720a6199ef18ab54c9c0702f0956c42dfcb6fcdbe1913227b2f50fe7bbf4565a72a90ada611565cf69d5878af0c025df97bf4f927dc1bf4334ba442da5ede1530bfc90be0d186f39602b12e64d01bdf28537062977439dfae1dc531ba625a62372b9ebd2e1feb906af271aea6fe91be7e090a1fdaf1f4977d2a48820ad05b5ad610623fc82b9f52dd22af95b04d9d6f52bba5348b43b1c320a6b8c4f17616ffb720e7355e47227c9f7ef8150ec0f8f62f25892237f6595ae0429cc1f0ee1f29972803a651ed5499afefe3e83e8b3217482402d5eac328f737c2a421684a62b6f42569a6fda72617993e690d999083b9172a74e98d99bf765c36a8ff9457bc26b093cfbcc747fb8fa9550c20de653dc0ed65b399c60ea97527b6e6ead8977256849e701b42b61d1cbfbdb575b4ffd0b526714819e34d2d9062195c95cf8ba2cb972f5469a181718dfcd8867762574c46e42ca40ff154e403e8d323f132e9f80fc72d3588bc42484687917acfcd4ac03b0576c377322f3b8acc212272bced2fd8b72250423f0c67e466fe7a0e0f1ae8ab93e1e558b54066e6c7fbc8e5db7a1f899725808b94f8b803abebbd355c3aba65f25206aa1ac9086c597aab1a8e06f7bf072ff0779cdeecfb3ec2905815af6cdf3520346f154742ca04b7865263eb1c4ec72022146b3a4092e3a05641b4518ea9eb9e3b32b70c43a336cac9ba89f33eb08727074dfe2efff53081cbe71ba8fb494783e5f7e54c23b94db4bdbb7b60459b237bfe51ce7deb16578ab04c241a90323a6565a0ef8c6eb7cfc4ba96cedd4ef65724fcbc7a5c17c60e1c309a90972207f0ad5446a6849565a7def8599dadbcdd739bdbaede46c258ca0101ddc9091f6b6ceb1ab35378981a6b42801786f150bf9725de51fc42491ecdfcc413e89a3a813cd9b0ac8665b7b709e7249044a2cffcf195d00527c56dddf1eac322d6483b979de0b0ffe51edcac0bd20e2aa21632cbc58ffcf88f8c7124fcac5c710c0f23d32a90d63c0548d3036c20d995c8ae9cb5f72dee9e15397ba853b5aa876f1650b6676be35c2684811b78e0d2524a1b7f51c410243b84a1b3ab094f52d78a6dd2ffa3aed6c718d502011d1aa81a7e2b8b109721c4379cf355934be09488f27625c720839e965b550ee9a1472bcd5abc9ef8d393ee0b52cde10bd2cda40eb939220d797c5599bbfe88ff9b0f9e81401a053a27275355730c6fb47a67f196e966a37d1683dcf61ca705770e361884875adccf1508cbd8e8d5075249c2f8b895048187387df8da113087c36b1644a9c5b9a7b07726eef1008985a7b415a93667242cabed80aa653492f7259d5b77d1fdc5495d172374eb0ed80be09b1127adaf709267471c85376ce23de1fa245e55199abbc7869d4edf696c6b09a9fbc151d9ac058a19fa4ddbf64fa47cac7a25f8bb94eca5d1071de9261a7d0d44ff264388340396da739e98229fc4c198bbd1b38b935936e477a743a52c2470345e271f50dcc9eb6c3ca045b64f19e1563c1b6b4a66bc3b372988e2c1d856e9bb36d671071966241124ac81598ec6cf79d75d52a6af067f21f3f5d79a05019d699b1945163c7fee647056e512f28f3f0bba05a7f4cf3ede9725221b086a5345aa7c50b865afe8a350a1bb69a4dc256ba29970c9e3e3ef2ab729ce8f4804c95a431ba351a11d0b5bbafa982f340274206ae4a88714f747d5572de93f8c3f58251eeee20d1f279ec82f6dc92b0b76b1a7c8dd4ff3423c2f44b7230134e105cd5d2ece01e0c07da6ac00dd82363b0cc06160a35d94e5cd70749723128097cff20566c30bf4bd03ffdc11124f13f9ae9e39669f27ffb1fdaec327225a9f03c84d32a843f495be538a89b03765014fa9d1fdfadfb6fd35b2b85a4555cbc72eb99c599ce64c3f53920ed31adeb43e062d94ed297877f0352cb263102292b07efbb6c614164e4b593d9e0ca40e5efa8ed71d42f38788d80ff4147563c74fb9374a237dc3708565198817ed24dbfc28aa097c244bf1b7b21a195d97e72ad7f2555f6a13399b5c2c4a4089b30da27c2353823516bed83787a59eb034f72bad1466c62b591b9a726d99a35004f9e27cf5f5cde41b562fd027b2aa98f3e7255cf43d41ad9623763d1f3d2c29bde892739710c2062c402c39c94d83c3829721c4f906aeb3d532e58ee99880a5db7565bd350b46d954799409f65eca0e73c7202392dd501ee55df86f62f3bc2c59dc10c8ff5b1b8abe7deeb0d56df3b03ce72b3f94194cf3e1303a19ee2b1510de9334280191b265dcf000aabc553347bb5729378597f265ff5f0062cb6506a8d2eb73136ea635baee6fcf1bc4f2bed727648ea03ffbca2a0185b3114f16243672cc12cb243c3abd1e10959f295f9a1d245253aa6ac7451141968eac2e6f8a7f281902c1bf7a431b985bf3fd7f8b23d9f5772d7e36b4eba2bdb08b1da35cfc087596dc7d4f2c41dc4f4526bf735c70a384c33c06997f3481223fce7e0bba09b6bb6cd83d98000adf1bd962e4906d770ea8d7266a0bd6c86a5a49c0f32c96e63a194e92c95ccf4a78427ad4c05638381f89f436870e6f04626a30f831bc9b697da8d733b2fa7fb74e74f5345ca9fbae8690907a22ee3d0fcd62e0011be363b7c9695d58ba7f9f266c3b14e65cd2c6e4cd5a47244c47fa1a7627caf496744fd00391f324d190de278acf224cc37e300afb136480985ddca41908ca18f1a4afa0d971d542990fcdca7915e229a75fa27e1f46e72988b9ce2551e5b1d641a2c5a429e04b8bcbade609c961737cbded1138f9c9e722caa9314915839f57b8c57da2818150a4ee8ca0ca9e604c730bd1071f80c900e9eb2e2ba1ba35b77e9e7ef16e6ef7806a50a72467f02deaf2c52eddab2f9691f10b168600bd022ce53eabc53584818f50a5391cd7fbdbf1e9edc4a9a61ef3657022661f1f5f40b649ae4759a891ac62e15d19512f75c1000b1f6884e3764a0042237d9231d6c08fe9530195f59fd4949a16a6e0215b2c8ae27569c77e9a9f9724b7b84ba65c0d6da92ddc34b90561cc964c182554937f36596ce761fc37f013ce064c650e1e5f6c574bc57cc0770ad870b90eb3ec24f6a16d87e4ad01822c243e3b4849d3ad6e3d5338afafdf0cdd8d23ce4eb8413a4127000a1772792379d723568638922bd416e7f0b2be0cf53fce01be1eb2666d0d2dddc3fbea99ce81072b8fdcdde1bbe66e499b5be3aecf7c893a0c410acdce2fa3ad3e8f7e1d6aff672c37685851400d536b5b1b13812726e57dfe21508054efa7894f3e9d38553b472bcf4cc62492e83b4b979e482ed35a8bd8d34218d5425a4d38cb2cc43b295ce72970bea574b50dbe8e0a5ff318475b131930c8832758ce68420208ba72ee3447265120e9e29799dbf272098b9fece44829914459345c4156a34790017a8cee572d20ede38f0d0f1ec7f6d36f3cb4a12356304f8c8af024b855d312063860805491048f9480f3604b88f9cb754af35e2ba4770b1b2ddbaf782d8ae97ea0cc94c72152c34b64eb1b3af7c5aa3098f445a6f8b803f7da16178226c50f4f3f3a44a728354597655c67c8c53f380625129cfba99864d184f1973c53ad98b07929c2d28ec9347f5833036707bd2aa33d8de64a69d267de90edbb5f1ef2a064b21797f4f9c38765cfdf982403ce07118199daf1ae57f9156252011249477b8c1ed49950ff3b1d9f9a8a524fa774a4e0f9996d45d98515c29f55c680268be31dc3d390672d620134e428d6eff004cd983763783a60d1af6b771ebd3a6be40a5283234a269907f1d98311bc1d23e97a05d5d0267cd5d444e035ec51af3e4cf15faccac8572c3b454669d3fae7c9342a44fa31f2981d2d56b996f7702fcbd2274993c85ca7273a1cd74793b2eeaf01a1c37a080010599379ca134ef39e942fe47796e4e99661963c50441277894dbea7b2c624dfa4d3b954bdf2b1ea0b57d70b98ff87ded728d41ef9a5788e16ad666b3eb8e39a374b96ff014a104a075000e318e48b53a6f5025b5ad2f3efc7d347d30e45463c6dc37b3375af857028365162c32c3fe0b51ed51151d42c76f8b0affda712a7a213ba4b73a69c95ee4bed04e6e7bd3e28472c177d366203a5a856d6f69bef8f11af9432e896536280b2a743f3a8d16caa9718ac7b2a6f6a98057a5daf2410238f150f599d00f8e7a991297b1916a9d9d8420567c91101eb86c9fab7f07cd2e738defaa09fd9164641515625e54b3640a1750dcbfe2f571add1998607520d87155e36aff628ad091ca40a1e09d2da2ef714441d7d232ea4e17a510ca4b620a832da77314e5bf205f9865de8492dfaa83e117256361681bbce137341e3a3463fed8ed7bf30a48f9cafc64e318ab3067be8352d5ab590a5bbe4dd0488ef9cfa44ab926ec09a295ad62ec8869d827b29974f4c72ee13a6784b1596a0a3ccf80eb78007fb85c8a2323b02da1352dc6aec6189fb72fe9b67c717a531f7dd83ea0efe68ea59d811d756dc265538d0fad3d61f49586d6d640d4a7968a62345c11e7c3262004c2a01041301bae17bfcf71b3aceba6d725a263f96e8643d1fa5ec7401bd255e0a1f17e6bb42f6b0d756d0bd42628d93140a00147dc77243a71e5e72c0d91829e3fbd68c780891522e46164bd853b1fc03f444e207d6f03308caaf7989fa96d45e7acd5e8a93c68f700159c32f77c6b31d272d0867469abbbfa38404ac277fee1567ed8585d15de1c8054ee35b88185f477ea9661bbbc5575a1e6b70e68525b3d5cd1a9b326b3179a3861df53759777d2d8a74764533b4b415943bd2da0aaf55c9dc86fd6632d1841926812b1941522d72b722560100d30c8e54ff2d71d5b7e11e9a508a3fd4864d28a4f481366eb11c72e2c6666bea5cb76308adc91a2787d30edebe52c42a7c8f021d26b3143a9be672d6df1d2ac975bf3e6bfaef7e78e15b0e13ed2789b44bee783963008773a27c414b64a984589a422bbb8d765e50c31bd604c4cb638111fdddabe13a141f68205b7e71463eb427facf4188c3ce8cd0b9d1adf143431ec7a7b498aca98c92b29910a90ed92a90c07e29e7615e9f06e53f34c52038122f03e75dc4495d3844dbea3dc18e69450bfee9127d081bf34d93e12d5718773d44b5e6813fa050dc18aaca3bad871371a988d58defaf8af135edd42ea41dc99c46c95116466fbdfd8119797233b4478231def6299723037ff08f207ed66bed1e6959f041997fe1b2f636ff72ec3be87f501212f8bdb8b39d0286f11420325faeee25ecc40e8dc3a42b781872c720ee4b95a62be90e1bc3f3fd614187c3359bf68ad8a63689e5a30b99eefc7221d0852120fec49f04d7889baa0e08853a4e28a2580af70727dcf6e2bf92047251a4b093a92fabe8dac24f6b9d7466478b05ac43c73b5546fe767f9eb096a333bac2bc287a8c8234d3ebe244aefd1b2eee5ea12e19c28ffc6cecc6d1f5f3bb5d6cf2864a67a5beaef679b2d8f1840d6f4e01f54b6242e0d7d3b75d042e243d1e92fcc2098bea310e7b47b3426879c9721450af3941a9d963856d2d74d97db56ca1ddd72826757a45e6178692079857f6f00258dd598ce38320b536436a87090d1b140449b7e84d4eef5e05c0f8d8a21fb27e8d5344ed707c3a58d434e4aa3e72efefc05b23c0d9da2d75da4293095c4c02ea1128a9abd36a35d4cdaa53d6cb723dfd4959efc664b3fbb236bcd2f3a338dfe5d0726a794e33616e7841e59fec727063c19f4718096fef7a91116954deab1ce0d97a6ede7c0b2c07d012bb96083cac9bdc856fe67c289cdc32d3654e42b29a08ad644393a1dd24a7b27ef68487720f577702bd088f68db0bc65144283edd5a4731a24cdaa5d643f6990f75b3b23f6d6121c679ce944c1ebb98f49d4292028ac285abd5c62b08cb817004223747560a8c8be87a57669c7174e4c2ae4cbfee4230d71d5fa86cc3e11d2ccfc42e3d4c8816ba9c58f080a62b5eaca23777aa071a0076a719643eb8dbb6be51b6778172f3d929721434b35ddf1139c36a5afbabda32940b28ee68eaa218fd2844f39e723b21bc046c1890eb5faba1beb99862a314dd910e86d26052cc78cb00b1335b4163dc2408c5868c1c447daa14326b70ef7cee901a6572cdf605bed53ffae51d72c3e54034dfed3c74ccff43ea96c6b4f8577f24c2343d0e760a37a1dc96da9072168e8a55b7aac3574fa6092993a964d1fe109085a27e206013409b79c3ab76724775fe137fccaa5beaec47095792048c119389c23fa4834b91a6176ddbe97272a7677d7779cf86ae7a248076d6b8a1e8bdf3faf72654dd49d0cb819219884d38ccd10e370e10647d3bbf47390c4438870dbc67f548c9a650b9b3eecadbbf26725e498fd24025522a4a94e4afc1b7451b7e32b8fece95b00a733f077abd6c2e56617fffc6e8795297cdb9b8c0997ec13475a41522b561334eb442085eb6c85a725ef16c8032a87bc86226e2e22eb964e5f29abc6e5f3f458e0d782662931974722bd11cf4d5d4ef5f7a3aaba60dd37c95db82656a2439041148ced4233007910309d5cb96222e516133a8d9e1fbc0c112f824b014a4006d4e29563715142bac7223013a6de6652514f2a16adb2914a4fc4b47a234d58e5da71d234d4e4e9ac049e694d84c81f6bcccc77fb1a0d96accfaeb884d0fbaf85d218531d698bd5c4872e1fa7b54b5718f62b99294c3879728adbcf2271e845ed27d820ff7ef7f6faf726afe9825f96408dc50e9b7a1ee80999346c56ec76cbc23a57d8f88f357ddcb083f27bd3a9d7ef7c28891c3cee6baed3e26591a3a5032037015596e1a6ecb2472db1ee81280356a175665352dc32ebeed66dad6c8f91a41a9e921386929bf1e72793f89172f59bde30f2cb33225f77070619d2e3a0873aafa53250624e2a270722cd91c178280f7663b4c6c3b34fbe745ed828def4b050e1101dce133ba8bc9729e1471eebc91ad3351d624188b6e00bc1b004b540110994b0062f62004b546098813882950d90d295f37c162e4ece42277e47bcc0417cda51f7b7d5463ade77262d8b45887149fd2e8853d97c690797f2263d549dd208fa2753b6f283dac7c726e6a2e8ad873e6edabaca8079a40f4c6ba7ad90ccb55713a187eb0e59585a047c9ea88b4fd6c563371ef5831e87d72ab83bca7a01bea8cc09e8ba6a18e0b8b725e1c8dbf374b345aa33833b3b7c21aed14ae911fa30912910b6aca68f32ca072c811ca533b7aaf124a24557429720c221da8928bbdd3c1596e73f2de820a7d72917213f3a339517256152192edba3e167d4a254da074e3576855284f2d55991a246f0ffe368fba542573526fe635db46fe94d8d2ce7576845f190d44eabd560c0af676aaef1d81cbfeaeb3867a1e2ccf59605fe8262afa026de7b6846199f207a7724a95f5b2cfe0cc9b5ccf6ef464acc03095b95f4c46c33a9c857e259c1f578bc3cfec5ebecfe489aa0f2bc87faf58137bb05b300183b719f18068efeebb724edd431f0d5e44a3ab5b89c34366a1f71515ee8653c338f9fe2b1024ab17e1630ca6313229468be3331797b4a66166360906ffa32c8cd806426938ca16eb1d059c0d3ed1ee0454b2e3b82e2cc9c1f315a207fdaeca2da5c24fe3a6df6158aa2c1af26485037fb547e1fcb802bf15d570afb08dd1ea4433178b3a4cfe4d3ac46e4a85e4eef0ebc38eabca24e75d51affc9bc596461bc74ec34d3bec7109721104483c38364a9b379c5f54f32bf31fa114c01aa2e0db17d38b2511b271289b6672ed12f3d00f182133e1efbc21cc69b85a698cf992afae244ecc23729fdaa79172e1a145ef2fce1821bc8979b114659b2871d4de08c211dc96bdcae4265926fe7204a4beab023e25ab3bab7b44afed05e74dce4661f2c742d1bc65e86196ad56721ad6bba19d4f04e874ba5c71388708aff9b6260a3240b6d1316aabe2d62f4c7245a05958f71ef6c668dd42fa826cc38dbbd27d47fb6b64efebcf31cee7b97672da6721384987b3dd986242e1c6630b2f70bc977c161ac165f5a558030ea6d519c505bd93b038010029d60168cfa21528f35584a00fe44e85d603bafc2b13bf2bdce36251b8da43755e2cbc94a7f7392cb5f8ba6f887653d410588ef9c477cb2bf16021f390964dfa7c243431abea44cb9842b84d73128f6831ba5642a9534f72c83eba37f679a90e7b4532f531b09edab22c57cf9ffed9676a1c276397d4c06f245f0c828e62130170c0ca2bdd1b0febd061d43eb6f4786b67da301c0ea4db4ba9bfddad8bd29ba9351e09af5f9bdfcdcda57ea93fd544f60e059a7665f97872716c6f78ea64cbad9bdd20d58c9fa44c16fb7620daf6ce43dd51608f199c0234904c86f2a519de1185b665bddd4769502ed03d79a0860d426635fe5ef0e9ce72f25b818cfcfc173f6913b3925e4919645ea46e22cd265af906c9d3debd59700437e6c80598d4357bf421d1651b57a544b54da7d0a92c02b873fc5cf1627776f8f5b0a2c33335631a0993b08568b8f4eb729b9b307d9f8a08eb8429462f41b7c605ca486b09059b9e8c471da98eb4000e7381b089e40426048fe69e2d26f92a4aad2dcf57952a38912e8aa6093ad237ea6276fe3e80dc7f1c5ef0400368a94f98392a14b0926f831082fb5182c23f0cf4bf84d46e13ee9300c5e976076a16f7a05a493054ec9c6037322a1a14ec5ed796aab5ffa5b0a84a2576e361e0954b1d75a5ec2ce718b9d8fbd986830064b6c961a3f12e4f2a89d92a3cf49fd64be3cb128a12e4a7aeb0aebd8cba8381cd182dba9c76ea98d6f1eaff65c8544f328ea4098acd486fde47aaf3131277149162e260d00c83591108f8f5b0a74a9c4aaf9c7e7481bc6fe9fa5f32d3012a1bfd59705542d76bd46e974a01060585b0945168b66b48ae7e5bf4f2944db0b170afbce40db19fd5e0a30bebd6957002d05821d731a84948d9f578351301022d9121250a463d898e2b61d142185fcbb0a61556d5792994148adc9d4ba81365edb50e4e9cc2acb6167f10219cd4579e0c304dd5d9a37e1a7312e7e66d30e1868cb08be72c732c73560c3cd2ace14a523fe5713470930dd2f36e068d021dabc40ff53f826b97a2137b2f357dcf07e20a00c7b0869faf0b0efe0fb1c02d33a9bf3b073d9616b340514350c97a21e3f0f8f262345e907249262e0474d995584aef1412d9"]}, + "response": {"jsonrpc":"2.0","id":8,"result":"0x28d3059f348d4d019467a25f4b91c01fc41c3c667fe3e8919b7e8194fa45f8d9"}, + "statusCode": 200 +} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/04_cancun_send_blob_tx.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/04_cancun_send_blob_tx.json new file mode 100644 index 00000000000..6578283070f --- /dev/null +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/04_cancun_send_blob_tx.json @@ -0,0 +1,5 @@ +{ + "request": {"jsonrpc":"2.0","id":11,"method":"eth_sendRawTransaction","params":["0x03fa0a031df901140702843b9aca008506fc23ac00830186a09400000000000000000000000000000000000200008080c064f8a5a0011f7388728abafddc7e1e4b724674d0ba7ad24ad8dd9b2398ded47b97ad6252a0011e5f0b6eb068cdbdcd1df7ae20fce09a3b7ad23c53f6e0c2a36614e42aa515a001fe604cdf7bb13bd6207a3b73d10acd94813c7d0c9fe475006f9bdf2593d30fa00113e7b8417c5c57e782c7b643ec9483cd6d8d852739cd4843e690ef097ed984a001a592db705852ea7c9a6ffc914c4ed81b5ef755378a21c76f5123ee0c8a6e5901a0ee8969d47caff38e0932426f02c48f9da85ddd1cc1201e51dfc30258a994aaa9a01af2ca60b5931f538389273c4365dc522a6e7608178a23c0fb0571ae09e95cadfa0a0014ba0200007285f8467240628a94819b26bee26e3a9b2804334c63482deacec8d64ab4e1e7723524a98786b780bd640979dc49316702799f46bb8029e29aaf3e7d3b8b7c3e70f4fa145d636e145e170778205c6e2c8df0c62fce3148cf28e10435e8f34bc30e9f303b408a626444bee38cc69e3dacc558a3c6cbd86d3ca20b24d5308379f072c3ceffa21d29f2cf2ea6fb07eea555c93ce804475b801b53891a76968ffc3972defac0571cee8e5a1d9918013fa0121b4f37f085369975bc8fad0d9bcdc72372ee59c5c669a2b0fc9f42a2fbb5385c43a129ae680813a9c83c09bbbdabfd8e72c8b6810b0a11faa9ff146fd95f79e9772e9340bbdbadb9142ad4381fd3a2da72970eeb8fac810ca4b7af57b8e1803695cb5c13cf6b0f1044ae468d752494574dfc3677cbe0fe16a4e76c633aed427b9a8433855b5d783c41db1d436e6398de1a04214ad519de770ae996663f7b78086d3d4004cccea61b30cbfb52c0cd5a4c4399dd235f159ffeb1f230e1f4da91075c81381c088d5ef8f79dc6520b2fc020728ffe5d5c96487f434916166583a85ef5e8b1483ce8fc649b4e1a07dbc9dc1672426ddd080297da2f3727002763c1b5d5e55e1d280ec97dc2d867f43a1691c6505ed76d03933f0f9318f2ac81c7f1dfe9db1054ac1ff3977111d954dbfce71172a3462771fc2c44c8ce0fbf14a67f9add01fe266cbaf722234bb9e16313216f0e8d02f5faaedfad38f69ddc145b6544e9bfeafaa2c5df5334a72f755cd76fe529edf35223c00d4ae62b88027817e5a345e8bada8f24176183489617d7ef45a0724ddd286d5b48ec9245ef7fdd871f5a714a01fa327008104c13e22522b116027257d997500efba16cad2a9118e831ebae1a13f6418ddbe6ea0fe2a445e2fc7838dee3ac7963478e2d7424557388e34c1792d70326021325d9631beda75527e43796ab05b2e272e4bc38f02c3b613ad4b096751ffb4353c3c170ee76583bdff57223238043bdb859853b8fe8184b6ea5925eeee4c9756a767aaf3be112874a167270cc7930488dfde3eb82293b5c3c05a818aa387e61d33452ed44b43401a30872e643ce4311c3842c30dcb4b8c0ac7a5f494276fcc679313b9c8eb64cdca1414e0d016e866c37469b3b29f26d45834006deb3b5eaa216df166ca7b25adce420727d7a1b19f33c351bdf1a036aa50ea53e883146d66b2882e390e198c52f4be346e96e168806da2e21800f7e18899701c98d28eb5fafa8c1a4aa912e48c1516c7266b4370c92f6cc2d00c42b2e403784b00abcf60169c5774ea098ce833bdc4072db3426bc21cad960e4156b81652a07e1d324c11ec80357f1c1484dd0c5cc777205a8afe886a276c0bad3740bdd098918b8fda405310aee9f020e32ffdb3a3f1418536a5fea5d0d721953224990ad8883f64f9f0d4f4e300484924ff079161272138b37c8d0095a90f38b648944c56879c62d743c956bc28bfe45deeaa6b8535a31eb53dad57c1fb117708dd9ff6cb0ec31f9a593dd5080fe70858e1956dc1f72710fea498ab7f5b4bf31e265cdbfd4f8984cf6d89d654dcbc8e614a04652491960cf1db0020dc5f79ebda8c2e4a11e326a784edf67d8cd60e358671c810f0261f0fd0afb4da8387dadca56b6d29669887ab02eb1792f861e634f915c55d93a72bb28d8af80cc008fbb26778e7bbc8a4771b029ffb06f3c9a4214f077465735140ad7f3a9e470e618afe04bcc92ceb0e58132d678467de7c0f4c722b380d6c272fdd3a38b07f7b6a0f92842ba4b9e788692bd32031a8a1ae67d492cb4b766206c33ae1ad0f99854c14adb354de09daf93a32f7767596240fc5eacfd985713c530ca2548167f69dd09143abbca3abd77e274d21082c3df4f85cb8790b5184ae724cd1d4829ea29fa1439e695b7c19e81d6ca8c89408044a0cfec5c9726bcdc2e7240de4031f15c3bc763a564e490856b47ce0d492ccf20b684b90cdd22c277931055a9ae70133b79245f37be4ea51c30f272267dd1c27a4491f724d73d67d4bb5d9fe2c992e1e55c312a8a73be5edb15d5f3314633f87fca03c4210873f7b5471915fef02de531998e1c57389746a9bab8005c55686a1da3e4ff803a46fc604547a20c66f1ba2ed7d4ff2b4af94e3db7074f7da44699304df030badacc5d87c163c0f3a6462b157d2f6d01cb0120e2745db4b144b12a075752c2fb74e2397250722d6574be9983a031bb1ab52b5b6fe1f98101976e022528023357ec2f9e14062a3dc03f79581af93bf4908fe46d29aa3de22730c235f0195b182de95309b9966019d8db369ca05d070d0204063896d54c00b60395cf5803f43b44593777627d0ade0aa59cf0c88e64a2d4391b8e1051b01cdf8e59f1e2309ad01dac5a75f9fa7294f89a835e774382915a492031a5fc3d7b223ee0469fc6a6f64e6ed294d301728d5ef0c123154d7bd81ce4c982970824161111207f1fc451f10b062f1b82b972094f59938bb3cf3173a107a8abae633c199bc7b3e56adc54bc61a647d6f32e28c89c86df10e594e3933ab59113aeb175b1a77f6ee41162799c203a2faf29270e86fef338a07f0d3d7b2d622b94b38931a2e43d8798753045bf16d70fca753524320de414223dc59fdddea4d97c958ba5a20d5f833c0eb8586230904f3dd06a723a270ae3e6c46749e3f1a414dea22d47fb11fc79711b335fef14c8009dc7b872a235261f5870fc9f1680aa6265654182a57ad5a3b9f07b4f21fd1bce1010701f13ae2ebcd25d71d8e3f50965f378d25b1954a4eef215031adfa45db3fb11f238e417a229f04890ac4ecb6b25c12927f4fec229956b27590cdf3e8f5a7cf728721e2b3fd8f36f5a1617c166ef4b369ba67149994f9b01c26c8b85365403cf9072a47929cf75d96a1dde7c857da14152b03e083b84362143b9c1d08c8012dc6772d83eac5f02e03f92e0964d90f6952b21febdb0a958fb22fc3d7bbcf4cfde9b722bb3bdb5a31acfa0d84b7df013f02dca91e690cde131f73066f64d5ab7c1d10673bb075ca75009c4c085cb4ca3ebb512c47218c8b5a9ac036333ff30a1376b72920fa4b7aeb5ce516f31dca79a2b53e1c8f29a9976a13c3e32c6ef594e1a7a72af74d0b6a36e3758df21899cdb2a13855ab7c019dc9ca2b37065f436b2f15872661f991bfcb44328d89aa5d33c3cf9cdd0b673901d4171057131526404c10c72371614f87032d30d66b4eb855f5f65838f2533cc9be916c214ff737cae3f0401b2cd6d0d7e269af3ad830c31db19dd0bad6672b08b59392e88d580351fe7ff7226e25ec15484c387722d82559253e6ab28367547b09f4d8df17bcb1f8eda375f548e7386cfe35f708607ca8232ba6d58984c0f3f9f0b8754fed2c01a49c3f024d5ba8d6d29c955fa58ec82b21ef59b55e7ae7561fbe202455b6f8b24d3566c6e0232f2681e90ebbfa9045285606f54898a1770ad816e7a51698d8953efdbfd1fd4757ce88f5f030f4849276785640759db62aedcf9cab67a5c901d596828c5537872decb1402780cc92afddca614c07d30ad381f45376d9b674682aaccd69217c31d1cfdf5767583640ef80146b8b4a1bf11f8961ea054fdab310c124a89120f5e840501982e14fd5caf06d8448363978d6b3e82ec6b8dca46870e96ef5c5c47191b4706886a98c2bee1d621655a3ebf7da88e91d91cde982792039eee9f7d729fedc7641b54bd8ea11bbce6860e8a9e0d1bd6a5bed1fda7e85e48a1fcb8cf72f400027d0d84b3e92d023ac837b62b04d4f82c53c02bb0a71c47ce1bb9fb9272607cf49deb72d87a8797d787a634051e1fd089507df2abe27f8013fce6cd4272d382527c7bc0c037af23bf8229832fc0f02c3c9dfd47d31d281ae3f2c8b82c72480f8a254fa59b2d27c55094bb60856240b543809c8c4e7906b0de0d51823772a3f38c763a6a7729d44f1eda4f5b77a0e08f5f413662cd2ebb78562841ca0772a679fe7fd66c182b00a589d8530d7259fed9eba8e44c4915d944c4b46796a55e46f5bb4783f20ff80c1633bb9ca04343325a94c13822d8a478d8ea984b330c470292780b4449124eb21fc25dad317881f1386a867f3fd97045398d18dc4102003366c5e5d0156ea54f7d7707accd6ad44207fde078aea07edff1140cbbda6e72ba6a8c8c6ccda987b1759aadb088ce34ab243f92c628571476fb4b5d9ccd861eafef41e056b37c478358407b04bcc007c5398828a5d6aebd60d5aff3abd2f172caa2a84a21853f2873b27bbd379bcdbc391b833ea245a77c624edc49c1d5aa1c9fff29ff7da66e1f226c8416206b011bce67a0cfe1bf3ecf4f25cbfbfe110b72c77844bef2810638e7f0b71a64c797d0d294eb0a7958bb1a9226717689e582724865fbb5cad967dac1aaf4485cc258ac98e6cf543c243b85c49356d352a99424a9b0e51b8bc322d0479c94efab44ab0372a9c6cbc43d8c7c90be9168a21c437293f9777c9385838e7eacb1dbe3c5c18847a1e858982d7743a8dac0a04a21e072244a7bee9c953f8cf26fa6079bca126cf47bc490b4246488c2213ffa9bcd817200dd5366c6e97fff9d7375367a412effbf268e5c892d1d6db147ca2177b09c727c510c17edaade25f45ddce5be5c5b70dad4a0d665dbdeb979d9769afcbc55723d79867d79ed3210b55bf50a50bbe096c762bb6537cf9b112d964d34cf4d0372e6c59fa4a9471582dc18caa6689b49f8c402269f1337b6670fed5d0b6de82c72e395242cb9450622a279b650885bf48d0e9e7f217b82483139c4c45a09d162727028cccfae43476cc28dcc6b0a020c502f174af77c867964f085dcb79df3174cd4370e6eafe03cd890ecb73251b414935d933041b40357022dffdc626d4c0172798b488e028c66dfcef75023d1e80ce53c7fe94496d60b459840656e04da1a1c4810db15158d672cb45ee6328a93f9e2c56d21353317e8f3d4ff711a4b886f12c40e4eb1f213066ba9fd8a71807be50a09cb46fd44cbc5b2ca7bc110525d31722b355ad74361520650412352b108a7c54af1a467fd75bd1cf5adfe1c00583272003e939de49c68221a943cb794fc521154af26b9bf93e277049d116c03e03872694af805a6ea0879e0907db3aa19138846cbe5448c0e3cb0601903fa44f2ed185e3cd97439d660fffcd5b92ddf19a2b1bef965ff63b6c17069dc3d1e30f78e726cf434a3a034f4c64e91a4dea0c0829db3800e7bb677f131a335fb135b018526f38718ca322a048df47e0053f12576a047661fb5ae3e8b300070f1b16bd3527245d2eed02f682348f7edc0015060d0da7234f9a102e3fe604e0b15c9815c25722ff5b81f73b7b1d23379f879d81abb76904a9c60362a62260258f2751b7ebd665d1a33f873b383707623818595038e1daa1b40b054b2679789507aa0102a560c2cee210404dec462dfe2320c29b619c86768e02dd90064e175fcf7b57979b672c82cbaacb12f19de1d80e8c199c5cf354ad49e98b59af9c0085c73f23f340e72d5b30c48e839e56e5c7b79c1586f92b71ac49e7c2e4f2c20bc2313b2fcdce772f566714a024bcff211d3b194fb2a83043071d1b3eab51870eab86e94c7375b70ebe7100e48f3f0cdbf79b3f0c871bba9d1d4c8f2e08a26571843c67073370c722c7ced427865258eae5cae314d336b1196ba2ffb863cb4b1bc94c81ac5c02472493d9fb7e826c3fb5e62a462d09b83a02e1f3b5daec3c131491b8ecfeff04572820e9da21963854ef15021d836c9dbd9e02c0cd9894b381276b3f0d2b928a8722c94a6257280907eed687350a3f880517e41796f995e13a7dc93049893260972c1c21e8b09b6d98a6b8edb263bb86b3218c0fc8d25ad10364314fabb5de26972f9f8f6fb9ce10f2c9b4293733221a9cf20c78529b269671e7f015def7ef2c7073db21fa9de77732fe406c0d4f32868b9fdb835000a742d2b90e4411d6c52520af96c659159def49885cd8dea0ed960f0803f57f7b3e3fbf3fab9a0a36c38e772f250f54940eaf88b87aedca1a84f5b4a13def7d58b7e903149dc7ce63737e226fd1f329437d9b768564d040d0bdd5f84d99058432db1e9da2c755d564a29ad65d88b760e28c1b50b2fc5d6a8200d2369143e4d4a5f606b72e38f551a8f96df2ea64d1aeef9b3030b9e7b33c8d9d94cf237809d02b9579f9303939e4114e2f2046417b997036ead435852b662974380afce78f613a88a3627885b1942af293a7241fd00503a04019e2d20e5138ba70e1ab4ce1f1e6e43666f45abc9eb2635794ea091197e2c5d364dc07e0d2aca978099db8f290d713b09e0a7923b53e092bf725b980f3bc209701bbda00435d85aaa5d0720f1b3c7149e0e5b9373f79d7639728076a31379b710ba21147ca099cf2d0a8b87446001ce1e356bc07a8892504172226e8bb880b17b8a6290b9bc5407a9ed2d354e80b72dd4d68a0e96b1c5e538062c660dc4e26144cdc62cec889259812905d25c234fb5644cbcef5baae956d572ee4008fd03b2db437f3d85e4b63a26c9b930a6b3715e9556653db144d38a8633596b7faaea3c3fc49f1a2b42f731027f1318176ae7653e557809ce435b6979722fba2c6c2352340150ae08a06d461d525c542c51ba2f4ebdb988d651cfad7372369cf0b6b72da9e373d47b8cf71714fcb56c77dcca8dfb366049b742ecda6a72de91e4450f77fb69a0d4f03b2bbea4c63026a35b3fccda4de460f378f8039c4b8811dc839bc0635436c08d1ec2f21898fd878dc1e5530305ba6baad680a41d2bbc3b904c1a59d85d00641c235963197f85a1495d88da582910eacd1a0345e47225403f047ee2d520588e4327495e3582f45f56c47de21132bab47d3f893c943931aaf28e8bc9c4f9d342843af86bc3f13addcbb344f83c54748ff03cab1ef80813383d35193da63609282f18d6ad565435637b72d899717673e19274712b087274aca6beaddcac8f107b52023e0938aec367f6729a51143be874fc6120092f727f3b2c5d53f90b955153f79fd806d400a97874441c280bc65990579bf8ba0d325190f175ecb72f6f76e690c647ccacf9bb8e0905798ef6cd7f7d7333b99ace22ed589bdc386502c5ce918dcd6af22f90602103f1274f481ce8b30f1ea91d757288f4cf950a35d4b8037aac6b1b864337dc56869f44601a0697500ea00caa3b72723912c72b93908649824fca2b99db9ce8a0c97e858955ceeaee84c1aae0267231ba96c3458620aa1a0d74146bd201b5901b396a5cf1d51d4e1edc6ae2456c72345e172f61c30e87952fd29afc0f6181e3546405f35d5a78fa60c8d12cee582dfc1a41f3be9b9b0eaf027ac5dc0413bdf8ecc13e24369857c96383e733af634021e8e9f5102f994694ebf1a9417e1471b5e41eb268f8c6eda3e5dd764e80c372dee32a3b6e32b0743c0b59162fc730a7d2e79b4e2d8cbe56e8ab00bc78edd42000b5603948627dbc2306de0e333e13758c01474ee2fce17c1c8a5b594a5afc72d33fea0ae04264eac6d38e1857ea5abdbe6fab146257d41661516120c7887e72a55beae716d41c6750b2d44b93524ad4345dc23672a1813971417812103d48720b26d03e68a645d0c498507d97f46b8e6d9bef04e5a2a06400634708f7630d12901d357c1274e9a6cba2b8dd2d7e24b5dd2a455bbc57b12e68be706141b72472da56db6ed17c4b56fc9f92de2955ad783138aea600e9fde9e63cd7f7276b9d729d05b52d4a44998c512d70fd831981947165609ec967bf83b76e7fed16b86b078a9828fde5b3ba52c1833886ad254b1834c190839ebe91f55cb7317511ba4b36516f3cf0e2e1a4bf1347bd9e428cfe4a51b1870acf7687afd190a3f1306d4d7249cfcf10b3466247426a4a212d010bc858f7244c5e8be8dc9ffe5fb80518cd72cdd97c8abd54dcc2c006bba55ea8411d5b909425c7011bf53d701df9e63d7b29695b5424f1eded25e37405b6420a4feb40e561c7188edf7caaf6d6b2b66cdd720b93f8267ccbf7922a8ff7cd8bdb3926b32a03baa3aeb2667797b0af93e57e7260777594d9149d31107244d6f0496e1642434ac3e717214ae0d847b4088a6c72d2b0961e16f945e48a33c129919a763bec64b3c3697b8fd5041e810c2e097e72c50d91503d3c62f9de18eb695580b534c35bedf21be2832545141441f454dd72ac7111927c1c6957fbec893c6583826277923d00a245e58b9966fddf1dff7a224c92c03506c068ba4375efc128ded42d3bc1a1c7db0a4426b35f510e230dd0727ee2eee18b60a412cd1bf3690a71b790efd2ac20e8438422466163c8534c6672f6ab373ce3fb74f81cb8cc12890650dbf659e5a457efdaa8b11ea1786290c872f2c6f41ff3dbec36ff7760a7a305f6bdf866b07f9ec6ea41af18f67e66fc5817dc7c4f2eb4ec3834f252b1170d39951a82a841eb42cfb266681a7a296a86ff6224ef1585cf5c3ba1a8e3f4b7e36699c4e59933dc2a339de7d827ed71a1f37572c71a54c0c0f7997d662ebb3f8e3724d94b3e0e74a9030a41f9146658d70e5305ecd9ec24595b4d25662051ef6d94a0dafd1c86c30f1cb8435ce7c92c2415886ab0a9fc15ffc84b2eb1de9f91cc7835f628fe0558ff2f7fb569d5f4cc434b017215d39ff9f16ce1b2bdda7a19ca141868fd2b59d4e8c3e4aef535c53d0434bf72e165dd83055cd36519276eb1c797aaf8ba23fb75d3a050068ffe8b6a20d9a972b4fc7c1b6a4f29cd43e563b6aba9d670252dbc3ea022bd006f9a0e4b438f2c726f34caa34df95e8dac70121f256676087b406fd415e172ba939e81e5aee861728af40706c061afe7ee3aa460a3f062bc5a7619e2d19a549f2d9be17c3d58cd538c31d7da0853a25844dc4fa2476455df81358648ed7d9aa727630f677f2093729e7386a26b19542e1fd18c01395026f3a417ffea43efeabaed70f33f84156b72b46453fca361e57115f044b16d00708e3c6da2ea810a3db3fafe2d1082ce2a723b8846d184d45696632408eaea626c33e9dc202b28e0784c3cee8e1507ecbb2591b88a3e904d5c4bb24360e8e73b134c294d359448a1aefcd9f447cee995b3728da5710919e2fbfc0fc2fae4a72cda81a6f9101ab7d5375b6f19d0a158047f72411735bd2a4f41417e12a20dedec884f3e32e34623c75b95829c62243d0bb119c987d383e085e4e79d9dd82b28e06b1c342709bd673da5f966d6bcac35d4156800682f8322fef53f85db93d818589075c6168737aa921e82617869cf8fed4e1e48d6a8008cc06d4a9b53dff23a20ef62ccda0d7a0f54e619cc44a4965725c472b67d47fac49e4f5d7485da2687e65f4f074167efc30d99400d45bb18a9e8cb1d06299d6b59e2e4fcd01919b3948a9a0e31f5a22e73ae2719a07d818bd3d36c72169421922e5277c5a9dd7dee4349ee839c3e5bdb00d5c78492affdcda45e4e42c0064e43c4602df2857ac5def319abf8cfb4d5216b18da0ddeef8100807da36cc636a91799331c6c85d6be71277432f8ebd3c91fd220aba26046ef9881c38825bd99e2f092a57ed654a55fc46e2b52e56245e52bd04b1eb2304e68c3a9e3430eb19453e70277fd6f65bba593cd9825d4a301216016044309dbc23627c0d18c343e0fd9ad2c38a6b6ffe4f157caefa3d48953361db34c99e7a4af39bd668c6207b18eb84c88f0c8270875a8a9d2a0d26deca2ee68d7dc65230342e56c7be60e72f24f27ef1798d8bc641f6dae914da3a3364f5b1b2d9521cd7ebcdb2fcacf42720d598697f369eae27f2dd3a39bd63bf7c1a2cb5a039e6171cfbaf8e60f6b0044ed32b381c7e10f6bfa355b9d4b7b96f4639fe568a3cd66bb0a2eb7ef5d3974722588224eed5fddebeea6d01b572b791b885bd4e4728e7d175859b48e3b41f9725f7cb52367b2d3b2db174b0526d70b68260a602852de31761975dd2f9fd88c72ea12d0669280db88042e6f9416ff6813b49fe4c348430d731b621d814f4d377259a276d292a4030deaee594357c8d6be607853143327d820e32912ae4006ae728c7aa2150bc213525d9b347e1b699d44392bafb2d9fb0f85c590183ad5a10972ceda66ef28990bcee9770c5879430fbf312f24c41128ee4db32b478efdf426720d6039042bf943e83a1c185aeba9aebd56ca758655b76edf6e9c80c9c7a85f43f9b6f642e02c5016097d4bc16e1d4331d78328436a7201a79462f8004b48f872322f69f058a4091d3f707a21c724721308e03766df74b90e92a113420a519272d955c53da8785b727c4ef5e34facab8e6c3820a538606b926f99df6a7c624128ed36c44676f18fcda9186bc2a715190c83506099c5d36385dd9f43dbaad1f2516e742e2c3cf64a00310fca3add39eadd96bfa8462bc0104195ae5239a229ae7208b091230253157fef0ddd74cc97b06897db18dbb814243e8b14bebe691a10722e12ac211376bd58f4b1994855e8448be1e7444cfcdf92564453c700c6999c721c49f905942f27a47fca8dad68751b9c070ac11ef0686eeffda8feb8246f39576f0d4c80e8f89824a2e82c3e918bd61d58139d3a18730f588e75a20817694b404139344e94fecec54d6fcf3fa116bd1d1c13fc18a361209820e3ebf3502b70722b7c6793a42905db2a5ec85e33f034dddd3f4ca362fe59f7286bd831b3678c729d8fc3e028762cce56ec90d017ea72c9fcbe4dac7756c1e45a04393c0bd61129a6fad57ea4bdc4c3cbad08bb2ee00c7f86bd66ce3f9356f68c015e5e549abd57927745d4c8ac190518fe593bc477fd5e416f17c27a684987acdda182051d6d5d8572616f0513b5b50991e9a39d79635d4be4fc8212b76d3c1851481018aca02e6134218dd7a20ee5b615e1bd5ba13aab0c659c8901cf592a2545e66ff4de3b1a9dd329baef5674a7f2248d224d9541397a6e1bca121d5be0d08134d2bf64ba20abb831e81f23ad78746f2b57eab9bc9b7c559cf3a3a0c63e5ff0f9e1ec3b1172aa04e60cb8739a6e80ed415126fd6e4400e3070713efda395dd9ba595834c2720e03e6280f3604dd7ba541794945dadfeac902c992669493848d1847675e1961e6a2cef4fd0f142d135e44aa40488c3e55495bc58ab3b2f1a413ce8ddb56c564ef6eae0829c566d78b555d843d6f042f3446d2b37568af08b492109c6a3be172f54949536c50b7e70b22bf78a53bdd4029945e4252df9092907262f29596a415dbaa7f89570096b771cd838eabef4e86909e0503d9c9bfd2ea4cf49b4fff775643f885dfb15da95687eebc6bbd5687ba448499659a886c0bec47c98ee0f597727abcf2de232dc161ae1fa5923aadb9b64863a3ed4db27de9abe125c68c040872aced4376aea3e9c5b1a37d7d71ed3d8a7e68374a51f759b0f2f54b9cbde68f72e1e347cac514f142ec42cf90430097bafb2720e6c4cd2bca2526dc357e5fa6723bdd3e5d3c94d3030bf3ef6eec2a8aa285d64cdb7408f0a79f80b5c56f711f5e2d03d0167328ed478b822bc5b3edac86a47bb99241be9db50dda7d0c9a23ca041cf6f5fd7dceb56a15f1ace034ee99a15a0da8d4838887613bf9c5fdbe5fa943f867e5a7973f2b95a0263e5226aaabbad8b0c3d67648eedd1f7bfd5829715872b73b33e9f347d4706e2ba7912cf6ab46128ae909f6a81951833e8e544a19f772d034f6cd01f0ad799b6fdfae9ba36b679c63e39d611d1492e43de2311b9bee6a4844ef01c32b63fc6c10a072ed8cd402abcc9eaa7d620ce313f7a2e1d49da8724a58f2e987541f20682a417cbf5711bf36bcb429d4359354defe60efd95c845e71f0717d1413df5a45525d620471ef6af8098d947cfdd57b41688a1666319b72fa51cab32d2e3ff88d4b26e39cc4e520b0320e66499031d4ac38b88caf7cac72d8d552615153515c322219f08a1d7440eff75a13fadf1282c77ee919ea37505c3632cf052914a551ebea6301c14e512a4b7d9f3a9803932083fc5937e3b5ec72180e7e8b8e65df7483942d83f581b5b2f82c955ba31d176ff9eece1f04adf30cf880a8bb4dfff15f7fd99d039088ee98bc3924dbedef0ac4004c63efc743de72483b1f82cfc4aa2a8f89d7a2e53f44e4c3b72031d1849acfbfbb447a57733b22a24be34fa36771aefb93af9817879c652a7d0d5699205e39f40c72e84185577233d44769f8c1c1700ff3426deaff820d49eacf2a7e2a0465e0bf4ff2b31a8a19f11d5afe3b1cc3cc9674cc5520fe1740b9244cd45e66f6bb130f570a4078c5724538eea9be09c11ba6648aeac2fa6eb131efb7d251172c96c0a7e8aa47e7e172811910352b000f8de0649223bc1721ab0f8a604d89a8dc0b7ebd752cdc842072c953787ed68102293a3be03b9bbc1ae2d9aeb7a8e6431178f27d2a6e0792bb5e02efa4c683a1ab7784e120368a2648871ba3b80bb018876eb4d8b59f31089a7269ede8b144889bc5f92129a8e696232457389c86d4468734130e06eda7990e727957d5323e508b0b34371e46af4a7bd1b5095b4356f0bbdffc756f781fce3572cf4985acfd0aea27360cc29a70817687f692b961beed3366cc5e7aa112b9db72072e575f8527c564fc55bff93c3704c304abf3b6a882369c3afa36376ecdb572f8fed96b7c4c221267cc961b79b5ed443cc7324ec7606f6d6b85fe410878ba31aeb5d6108fab1e016586e5981915848508a5c0f71c81b28a108925729bf8d12cf61f7973165c49a9c20a24296676922f6e3f759b0f74df901bbe4676c0b7cb7219e82b1b2da9e7178cdf7e3e25b7ad74c7e725368ae8a7060c6a16bc3df6d272094900e2af1778111506b4a411e8e74fc3cf3e494039700ba1258cdb73037c4a2504347cc491c7dd9382fe80be83b3a037ccbc1a43e9164708a5bd256b3810722de5a4205c63cab302eac1c07fef239d801e0c2fe64cd80c81d25d85f3ce05726b9468018fc545247ce1f33e5bc7f45813a766859761f57c909d399f0c9da3722dce88c57ce4b433d48d7edbad9a34541f1d93b7228a88b0850a23e4b856d01e045c0f775856fcd4eba819f5c75f5a91d9623c70d96b052b7c57ddec7494bd72f1b6d318d5809496c39e36a6f8c9d427894e9c639f4fbd8d7a55ae9e12b85372951110d9c394910e48e6113783b4137599279cf7b3db1a3b7db89cd9d65b8a72ae43bfea5aeaf18f9e24ed41eddc1f93cddcc45d92df9945300967e6dbd84f72bc09fa80126558f13d1642964020b564846e12b30fd5a45f25b805b2e7a231728ac8bc748cf805597882a2f70162b230fae83b58d83b448089ac35ccfabb082bfc75a8250b318ace2f83ffa54f825f0ca826b73cb4f50a27665f0e62e8a21372bad713d5dcace18864085d3e1ba2a1097a1c48da4ba35d50eec6aa9f13d73e027af0a32f41b2f0b5926196bfecc3b10cf392c20661eb7dd938d2d57f3cba0c72541c9574c0c0d6575567175e344dd7eb0ada3ef9e3173bbe8dfdfde8e429b27213f2e37aa9b6594f7be1f0ed3a2d3b0be0d1553da4eb32616eda680b30869833449b066fad0ebb628658cfbbc7b83b70054051c7f269fcfe6144de9032b12f7221d66ef428ca5795c98c0f6acf104eab411dc6b4e8d2db2453f631521a13b172a28a83dd27c036f66a2d485a959ec2e364a48649fa7b15a6a07194b7308fe272b87d67fa5974dfadf7d6e80d2076f518f6a6a2a05dc43900fcee3bf060172068663c73e7a9a7fd64cd19c15f002a9f3ce7bb1a5d99657f909e96b38a3a097a727af9196c5606bb9524a8c61827f6d2b555d01c62c5ffb7769bc357abb6bbc872d52a91d5790b473ccd4aa1dd59f03be62fd328991ecf55dd62c97f3da38b133a8398f43371b8df5b78ec499b5e4fd17ef3f94009ffe38b935849c43404f3f62a866e78409f069df86f4d94e22096ab81042424171b0f50e96ed2d2a2ec52d0725f3b0ce355dbf760c76f12930ea18be8e61f491b7d4cd5015d6d9a3ef58e3272debb4a36297a5ff4a4f3cc37208a1aaeca05cf293c137c20623725065be0462ca2e38e20a68f24366d03596e33115e0cba09433109359afd4ad5b5ffb6e3025a87ecfe135ab264cee334423a5908b716c55106ae4b59cda7288161f577961b722c460f7cef89f6b11efa821c0685484ebcb7a5c01acc0f650eb4f583627334724032f07793f0570e5afc89665ed13af42e38ec8aa56d793d045bac06ebffb87262eaf7969dce7e97f7af46203437039e51a0f8ed14235d58845559fa2a9fdd6ceb96f2a830e6d91a406e086b5da94997fbbdaa03e06dcfb7dadf7f7eada65e4663627b73afc15d7da55571cd45a3c02c1aba0664d0915722df50df1f87826e72f86ca7a5a3557dde245c0f67edc144b2932344c6a92d05c14ca8d98c64e52f7264ccbba429f18966a620597ceee8971f8c12acd8b74e73f16f738bad51ebb7721c074bebba013c32a123da7c4d7d8b8db801ff4634647b6ac12082e6a9389d356d2d85d4bb8af876592f583ee1f06d15407d6441f9913613ed112d4fb17ca829a73cf618deba40f2b44694a6e96ebda40ce70925f82dea20cc6f2ef90e9a041657864c687f70f79551effd675f3df569678f8f7161e52071e3c604d5d3c2a040b4fb59e999f3a1844d541b640aee4f9e88dd793fee5287d3a5a2892999d5f772b612796a88d69e42eb554193f283a00d78fff75d5d05487d6806a7785e859d1d539cd1be6d25a861b6f8569a1afbebdb92dbd17fa59be50d96cf128b12a71000cbb3c0657054374240d4a1b44644f6300e7d500e8550e07e546a8d120e162f0c59ad4a55389f5499d0c63fac23bae0aa974530fde65026e602db6c043a62cc251f4927bcb7fdbd801fbbe98f670dc13178f387868e7ec9185450f83d191d80560ea34a265803dbb72ac975db82381a50cc871465fc1049fdccecf5b8bc985b042b55062bcd59879c1885d5af3f8e0394b96d6e050ac73bd75909c16dd9d31172a635af86bec5f23732a6430fa48a752d069820ee070c854828337cf3c5dc3f492ce3c2cb20752195c10206bdf3eedd8ec4a2577f8c79b23733d55e13570ea872303f4a8a9c06c7a8d9d845f27cf4fc7c6abb8fc0814136104b848ae500fddd6fbb6d67719c8e966fdca1b75ecb29093cb906060ef2c6c2918b42c7163042aa54811ae3729ef2ea673cf2279ce059f41ceaea7843d921c780d0194516c02174026748d5516291a649050105523c682c8695c6087b715eca724252132b31eeef72b38b7a12e1f0a09f40abed16a22847d5e418b47393be247a0e9436ec6c14b8729dfe62ff7c6bc709418dd4cf8650fe44ed6a849801230169ef78cb603617e661d3466db7d1fc6d542a8835665e254b363f294acec4cffe2c5a2db8395b2f7f72c569d326cb961f1c378fb9e7d1b2f9dfdbe46d91fc0343a8d1f4fd53254da63c1e99810e7f1dd9dcbab9262db2fed7e79977ebdc524767ff766b0e7aff77481d74d81e946e6f186815dc109ca7ace5310311ee2a77e6d37bc45e00b3654d8172971c0f234a9b54c219be9cc83f39b560f4fb9347c5d0113adf7d253c77f48672a1a48fcc423a6d98e3111bb7a5e3bc8f44d100c5840d521cec61e90124b2f272c90825c04cc57335abd3f78407c9ac5fe419e7ad5782d27fa5b3df8b4a7f4a720ce0788ab9cb18d909f504b49d73a10317ec85725d83f759ce61a1835206076b7e9a9b8ee25c5f1c7e07bc5473a2d63aa2cc35f6eeb35fdd3c2d600df43c5130570410405a06978c1563f5379c7bd171532a9aafab2d907e86dc7f89293cc172e2068ad4d42642abcae87b5e382c5bda868d81c5465190aeeda5393cf1ac7504f7b8fe938c01454fc52c017acf5f8e9a7083ba204c53397e0aaa5025d6d6f172369c6b56023107ec111837ce2684580d931b76c16e6ff09169d3c1d97aad0372efb85470de96f63ce6a0b5ca1fbe5d2ab477c63a4acad6f778eaad0eccedce72f7995715f3dd150a8936f63ab7e14900f9686f55f8283fd18319c3bb903bd122d13a8bb5c9f8c0c0edda5aebe3bda891fee94f53043698970880fc2a1e12540a3ba34c53f11d6e4ab74733bc53afe8798cc6e07a13f9c036fb477b9c4efac47256ddbc890414686e50b06f3470a0fae55943ec570635ec7f993b16e1f4f318724a48fc5b21dacd47837caee606c16ac788e7124f6d29d7819564a9e82d259e1dbcc2ac027cec7f5fb69b0f2b69a5f92ff1bc7280163009b9818c6cc324f7b77290fd6c05b3a48d3c2f00a1f3b97dbc9153d27c73d15c003799ff4a05a62244723b0f3d85eed1a871ba408820d94fc5ac775c388117a058a708b20800616dff117fc83f37fd1831407f7342eaee8c5d531b48361a752fff7e8a99bc9796e2e6720bcd75bd81ae18ccebb848857489c494a58f3e944d7a8649f807e7bf0f7d100fdd9aadee0d2f17e0ebca844498791bd617e6e0157ee79cca8d0f4387a757db7299185ec542f15f5e3255a617dcbac3e7dd543fc2043d326edbb0a4e449f5585e6e20c132efdb6e3ce9a0803c8ad5715dc25f5518ebbc9967129d52c8320836728651d8310f4f313efb1bdbf6b7b0b5bdb2fb5f62306782a9ba57f66a16292b7234a56499a214e58465d9af38474533622106d59bf5950675f4caa57c0c8cec72d8f755f9beffff36a64bbad90c935a87e4817de699b52ee88561f3015da9f615352b9c557b56b2df9e18e8cf9288ed1e64df573377e3d7b7b51a268a2a17a872675cbacb94048ef765a6fe8d647853acfa3ab197f410fa5a43c7ed8ef7fa16729d08f86db373dfc1db36492f01045c9cade12dd673a47175a83a3df1bbab87724f04bde940deaae2fe4234465e6f7f5c4acc54a584975ce609cc9c3cf01fdc46a9e32d35ba99594b1e1330ff0b35ba99b990449d8dd06e24c331ab1336b39f0b29d15c0e1ccc890aedb91eb4d8ebccc025cbdef5727cae4f22e0f3b08b5b1b2655eb13c25e204c2a6f00210dc74eb5d08c3824d0dbc3fa45fcdc7ceea216a672e395f764d63652b21a29648cafe8a520da8c45bdf441eedbb82d9b1d41cc3b72761fc175bfc04000cc440101e5e40c7edd7a8a8d277d40be4a48b9a5b0650770a3ef93626d9f382fa57044bc59bb1fceb111ab716850696ab7ca1141e2982563981280b0922f53a8377b7ac1da97fd37d01b8e7697252eb1f907652fd493b172be876aae7094a913fdcebcd76cd7e4dca1a9bc11084a084df20e7b91219ef56f289556889912204dad9b117446a47c94646fb4c61d2a7648d7029c6d6de7e072c6d9d6e66b3c695d3417d72549a3f8dde3f7df89c421121c718e779c5ac1ff13ddbbe89e0aec67e011be9643ae1bcaf3b5fd8a9d41e5ebd1bb741b624ebe7b72dd20b251f519e2eb43261245a06dd1a5908e0f31e79c7527964487f001ffaf72b05523d291765c2191ae07a9f98a4fad8ea0f1c1701258c73574618644baec22b33387b871703e1f1f6787f49a45093f52825995676c177953d91d3707bd1272590a9042913a47790e2789f8b7ffe6dd1872e7342a31fa3460a4301eb3705a11d0bc75f435dfe62d175c74fd1d78492b6a667f98b25107a60035894244c3b91ecd319a8988b268130a6ade973662771ef230eab6744d92dd83d8f738ee16bc72c686b9145d5f865fae49ba4709ecaa453d52e6f393d454c59037aff9f0f0ee72331a7fab5f9bafe80f0d1df027decba3a0651f214f52225551f7f5303b4242398881b143f5bf8c7ffa8d04fdcd9b184fad4d62251d49adb355e8c9dec8671610ccc049ee86c720f1e61451cfad1826d62d02cb8301a90789a651d70efd51873a7d393cfd209f472c97537a6c49ccc2a5c879534370a08726878f3192a1cfdc5fe4c805b65f82cd7da4c2481e70edba6fd4df6c8e2160bc876ff32fe21086d818a6936fca3c6ff7d813ba4e62f78a76241ccdf6c63d327e3981300c6ae5244472b833e02180dedb84e4518f8b1b1bfea35d98c877d720ea149a52d0b47dd6ec2ee6335ae8c41737a636533220f5638ffeed3f74717d1210bcfeb7594142645850f86652c1af396286d4efbb067e7df097e9183fea892410cff248a1b5db070260b2fa9005d94345023a594aae80b0c3f8eff0a024f94e02787fe468ce2f741772d18672d2bfbea7206603b9dd3e1ce679c7e04c41cf0bb55ffc2c6ff752b69a1ce9dc9a6dc5902e5a3fdbaefc112398b69882014d8199f31dc269a3443a972e72b2de7c724a0e458a651f3f8f0af895c0089c096f4833b688f08949ca23821b3a1f5502ea39ea055dd146614101b9f3a3bf38122510a429ef5034a7d0483f7072452f25c79d3fe5d294bb5380ab5f3290f3332bdf2a8c805612c12310c5ae8a7276da872910d58feaabfb352a7937752d10848a6b20e7feb9e76a827cbb7d3972f6dec84d3fc51b4918d5a2fd1a94e32ed6a696cbe12d4015d297b158577f0b3112b5e40d01b5625b231ce26dcf6b5d963f422351145086417a0c053111eb9b72cac59fc9fa5e9f12a9bb6b873b034584824b9082427305d5b292ef74662bf4203b3ef9817ca109a3034bd86cc83da7bfa9036fb297fb36cda73de92890dc4772811743eb9a62932d1313d37bfc42120f19df88a5f442fb1b28df971389cf7672dc5a7d63197eaf6b4b88855a7da5a5d986ac76bcaa68d0c01de5d396e44e8a726bdb5bbb0dd3d7c5f622cd795ecde2c545a5e2d36712d3a6dee5d62179c0d54d273d0318c8242bcb6c4a4e597e996b287e262d6cc994f7e09a23212b6223364d4c3d0aeddc22ef1bf6b0a5d382a40bca36b411bc1743d7413b575bc10cbcbf72e7c6366c3a1d478cc7e54726ba373b7c3d2c8598721d885677f5de6d5866fc72f8a84cd064e1e3a4c1c93e126d106c862c2a05b40e29824494e1f2b34e77400e3cd84bcd25d5c2a470a164f3fd504aed3fc5963ba71f1cf0fb863aaa615b822095082e45ac5ad8b34574a9e71d66542efc086558f52aca3b4ff2e39509fef07217d5d53509a24061a66475dbdadae98dab32a069ae3f523ce034e3e010cd173e9b4d18b6ddef97d7504420b02c6f42db3c57f73cf6f8c64d94786b52d8730a155ee58561d2d4d9d079006914da1f078111845654c19dd40fa6e0f08699a14c725b1d61f18d94e3d7a1cb744084202ea1e16f2276ad3bd1fed5a497a0ae744372b056ca4fc0f8bb707d9e5790b91163bdc338891c503f7bcf8c41ce34dfbf0f7246d4172f843cf9d382ccf86b7f51b1f5c4bfd72082d7b37e356f3e71daf11772c6f7350e78138b42a9cc903d0ffa96127d4b483023ea8644712f0eddc993975a9f6ff2c51bc06a170657132c17add78f1e3e22fe4b2b062575f132a3d37da972918f08bdc16d47ec5f4178d0b1f9187e291c36b6f9fb53360ec9f1125d077a456ca21dcb1b11964fe4454bc727778003b042b4659d7df657e08ee39f1bb94472ce549765f3722bfc6692e6f7e3ec3fa9d4f8d0ee77eea7cec11185cd43c8c435a02eda4dddf8fce1173105592418f3de2fe8c2ca5be849554b2715dc0a9a0e7246b6fe2c8bbdbd4d9de0c592658b0d32e29c9e1d00e30246bf15a064630f7d6a433f23ccc30d7250069df3ec211bcad00cdbb4d1a5907080ddf6ab692a36cc72a8c669ed1d2f3acd0aac8fded2838cbe913b4dab683c46456757e69cb03e530d76763b98c62e9596dbed5c17e962d77e3a56be36d48f779aa1e3314d8a0f985c172750cc868443b22bcbd151ad61a86df9f75a767aa9f3ca4f604dc99d4a6a43b482872bb6ad8a88d71800b75123a76642af55e782fee0b0c026b92088385d726bf30e8b8124654a7d37943c448c5d327e4f05e991ab3486666d9bc554808a722d2f4c7b45375b7ac6c4556d5155c60f236a7dca51a33592447ba9686f778f72506db5df552eac006fca6686dda14b235fcd8878b3c2b33509d3863acbf6ae72d8f2f27d26c4e1ccac17258423d61fbd6b6d73b33a933e457873726c2651ec72b5b86f8d10862aaef5bd7d9552a661143944fa77c6c880e8379ba663a6823a72bf7607f0e66a226b83a6ec8f3794254a06cef6be29e8d53e6639bde43e47553262c2170cde95cde58d6737bcbc6e914c0e113ab808246c1c5580ea7ec6336572d5ac87d6f8e8cd86a208195ec43ae2b26175733f02deaec8cf75fd47262c48724e449a2d0e3670bd52464ca883a91aa5b55b52ebcba27d61567435166823b27233f84398ce8ea64fd3d7c362d3560b2d13f4ed38ec55a7001d7930ee23fd0f19cc8c3b4480f6c74863212f14597d5476d460b321b0cc1b98563a1e37a885f072f6331db35e79694e984979bc2937dbec501eb45832e20f687ee5dffe0c5e1a28bdc0fa42e0fa3057915d57ca414a82479add99d760a3f675b4c13a680bfd26436daae29efbbf0591ecea7e8743724ea8c2b54e223e2335458964ed4b581b9572279a4807dd0ec02a4231e2b9e8aa0bf4c54453360ea561f4efd48c0e51e214723d5dd1fcf71c63e23c88734b577774633de4318d7d2afd67ff32282064b821378bd44f91fae879967650b0fb8a22411616d5b78166c7ac9c0ad61570b734366c1d1e668e86639cd7a3b059e9768a65b7c16ebd9b3489a48b118d25e88f850b72590c4083f4d3605fd4f931957b23d7f7ac356b4481e18c0b10bd59daa717bf64595ebeb5653bfb4d3c8ed2eaa0b1d1cbc1d93650dce53a28b462b2aba907807253487e972d39a11a54cae5b88554e646b9be1a70ff961f2f1103db9c672a24701171005379af09fa610d7a3cf8c69e8c08f08d542dc3622c440fedb3ac1b8472460bdd41ea6a55ea9136e440378e9b1cfa1b04731dfc5c191ee0003a80aab872e86a9d07e8796d8076fa4ef80c0c7f68c8ee02871ace7899ebb057cbb97d2372b3603f6cb86436903d762e88e5ee4660e06cdf6a5995c7841bb8854a5ca5de72290aa5778c67dd88fab9914d47fa124bb1160b9f0a1b9ea07f20b1a2c0b9d272c031fb97189499cbfab2b2ac4d4993f4786e6b56ee98a7be98081b2275a8cb090f750865dcb53af8740181e40f5c9897f83b4ff2c84a958451d7fc17b91194657ec0890ea52951b97d3f30102a971aead0755d36b01979e0ca0e0a16eb395e6f5fef530db3188a5c957c8d5304463e9f29aa5a81bbf7ba85b2cff1b36d01227238e12ba5dbc934651b79d632e29b824130b738b13b73e9d21153fd585f00d672eab92c9e79f4909643ea5fdde60b9a54c0ba5fab08a1908b654cfe0b94e81a72f37f2c592cdcb806327f999eb7791ceb9eb37a7442de3c9b4a65b8658c13270ff7fb53b9fbbd8c078c21a030c21bd1b7d9c2978a86a003c44e3e8dea1db117724da0b6a0d78d5aa3658e075fd941ee477b196efe594865bbe109762cf9a49772f3348c7f52890f43af5647a65d321d37bc5033c1ba18e82500d6dc3a9445b572c815be6fef225b28c0fc6ee60840274c7da91f29d13406e951592902b7368a72df62733e8f6fa814cb1405880774fbfd37bf732647259fdda30bf0632164f6723c26df09031a383688f88976af12c00eecbbe07f5f5af6ee0fae717264515948433c523baf31bde65676e0a99735fd3d354752fcfb95e59c0a85acd46e964b12a9460b17b39a1deb3c1a9a78feedf4d964ee1642d577faf90ef135b1402b8f3953c1d5501092eda3338ccf60430f7a1891a8155f5c98112c174578202681e1726dbbc27a3752c53a2473eb23d2f90c238e23ad311a5bc1d01a61f19fab73f87202d7ac173a6ebbcb720c2099ca09851d127ac446463a9e078224795cec05015caa6ca6682fe7412c31c4bc7aa74a62960e79836e0062dc9b085a6a6eb05c13725da05cf267abb3fa4b44daed7af1e43321188172928e60e033c72859cb17ed720023ff126b2cd62ab8b6375b9fe9bb957ec87f54b03bbff49d9097d48dff285bb8860b8e148fd0b1c01f1b27d19c204b998abc1621cdbbd5d402db4cf1ab6972ec11720bc1d3451b6a29331900d5dc0ef6c0f788b5cd9389e61712b1b859c6455be68d24ed1725867fe429e9b55358a49bd3cdfb31f5bbe6f044fc7f3b97f072fcbda57f869741b71072bfd55b6fcc00bb50c91b6c04811c4028f7d3b2345b72fdbef03a8b99420721b9f4a0f4da7cc7a8a1d2e7cc42ad1c303f5fc3c73645728b8f01e1c35b0545103655c2e1446272e7b9851a74256fefc6dfaf8624f7da7250c74df7266e7aa74ba3f4b4147425cce3abefd58236dee160a1048a98931c723e107a06806b23279543a6c227eb404b946315bead8c2592e1456fb524898e538d6b5544283ec07ef385e6d40685d4345a5e5e78439dbfab46a9d92cbffd8a7251c671d00108a305c998eb37a8ce66584004f48566147792a23bf305ca956a29f77a7258b5ba39f04b0071a4b77e27b049bbd96ac77496e530df196db7a76772bb5b1700c1643813b57bcb0a0609e7202d64280f7cb09b5354ce469b81dba572dd1665e46a655e023df012dde02c516d2acd3d43808fc793a8b0b8f0d2fae10e09c7692669f4e7f856d7be8c7f9a574b5db22dc9c7a22a8ea6aa535f28e4ea725ae6c568f6091bebfc19ea811f73b5ab2a21483dd85fb86d8df2c1ee5221f272d680ee2c1a3e96a919e4cfe23d0afabd517e5533ef53e379211ee43865914b06ace9d45f962389c31b9213cafbf40a2c57828b3b49cfd2ce9375af2f614dc6215d88b921959b1f5abcfc87939c1638350e8013bfce54ccb181b7d3882e608c72921db2690f9e6750e6c9c49f63d6dfcfbb0f4de77c8e33a19659257e6ef78e72500a3633d67e67bc11d07a9b69dfbb94cc3f150bd9f72c9c1574ee51ba10b8723cb36a7fa419f2cff6a0dd6a0ed56a8ef781bee20036307ec2bb856a7e133672ae8013d07f5a1d70f082e1757416e9273d7f5eceb53faf7a64b2abe11d50764a71bfacd77e66857d2a21dcc61e976447e8255e1327f9431a759fab7e232119729c862c979c699df94c96cf1e54a7a987db8d48b00dda7d195aa81dea4649a61dcd3a64610dfabf6c950f9febadb02c55c743854be0ffb6926591ce2a7f411072d85c430e3617668f4c14e68ca7244ce30e89228a234960d2bf9904a00cc5267225d5f1b7f4f4c6a204aff735c4736aa21fbb10448f2a1e00026617a857112a72a12d0fbc9504b2ce9881215111e486c1e173b3994a2af4ed7b88c4440e83403c3e0c0007752ce337ef87fac5aed5f308b3a3398c5c264331131031b188ea47728b2101a3d000e4a97002e4d4565e6cdd03431d541f7f6a301513a83f7d2edd72026ad9032f55311acd2335b3d5059630790075cb2ea0d2ee57a115f6d8ac5e6ea1edabbf64c035bb23d6603304700652db19b58e4b665fd74867ec28366e647204aab081b5484825c1617694328c06023eed705e397a62146111a35f800db17214ed9d3df433234970c90a0ad1817789fe5353f64d1569206748794d46c4da2364fe21277a812a4770a0cf83cca593752b2dbbfcb48951c90f4c20e62b06f57211528cfb5038418541b5ce308322399b4d36173b3f7ae5c882566a95b595812df86cdb001a22789e3557739a1f182f82638b399a9765bd31a91f341f6a0eb556abc562648e2d62bcb4f73ea6cf9884126899772d261b82b9e94df3697f07457216d2d639efc0847344e842ae3e74f7cdcd6375b8574f5abfad87a4a29c1463691c55b8dd1537fc0eb0050c5876fdf4113a989e2a6b1742c615bc4bf96390980a4b31fd765c48f11d694555c6e2aa5984cc96df92624e984ff3fbb675dc37b472a541b4c6ad91170d118f6b55532f9db732df30d06f2a5ce3c6871036a3f8f472700a1875420e06515033c5df071f06171e1c5b3f34b08d830dd6b6fabaab2772b2150c604976d4ab623a07c9d257a5669a2188c5d7718164b65e1f291a274c7269e1195a4ec0b02a0970a949ee0a0d24d8a09d486c17a8b0897c155b52ab79722501ecea1cebabc54b8885649bed2f949db604bb8b8e377953f8b66c7249fc7254079bf4aa75ac2009089e1c1597846f414ac9351d904fa38f432eb21b224e725f09d38f61acaf904b83310550577b84452b43a0e2328759f1f3e34950206e7292e9b71b88831a05bf03e9bd7967a539b1e3aa4056615ba440e26fad1813b972fce9fe5584b010e8e5438db840ba2fc597c198c62b41c5adace8f53191d840722915cb2c6f4d5bad7e98b931c1dbd896e6d250f8e58a423a4121e2b13655cd32dd22959e72686269f73e90f221859c802cc97864024df85dcba888d50577bb6ca2ca3c0490161d3075a2258df7556b5553e66f66a68c325185b4bf3ce743316ba6de51e99297ad1382e35df9e8ede87366b1afb1478482a5cbe41710e53a91722f7c0a7f8eb0df97ab9049fe852cadff21017f29affa9c1bf81f23e6207ccf3463155844db3ebdfb7a2fc08c5457d47b1905c6deb2cdf24341f253f64f77371d35abf6d7128435b77b9347aa1c677f675d30b012c0bd3a06fea2e6bb0b0f791a58f4c35d67bcafff53286a990b50ad19fdcd62e481e8e1b3113cf45a50fde05f30a5e1099a630462afc864d6382897b240864bcffd5edfec027b763de67ead29b4f1c426870071f0191c5e76b108d0f55d055b6e37c45b01e7e759ebd56a0e723e8a9171bf988c551c2f6a82faa152eee005f5bddd47f1c85b0f30b55ead6d72362c3d668627e49550fdb36d0164c1c49a2d08ead51b2946049e8b6f2946f7722245034b53f9bffe9681975df01f16c91b4c9167ffb5c536c5c987e73956fe7267699bc3f7d31aa5816985f217ba4246f67bf6b3529f676ee829fb53c92b2b72d6f641490aa01479bfa8ecd5c8a4fb301c460726ef18375837d305e482f5197270ef6c7781fae4daa6d8d27995821ef6890b7bfc4a44c756b3f56914833c6f72a410ea98ea1dc4651fe74c66c3a75d9ec11d0f31a1a4710e7c773c65f7f99972edc22a8c256d4ba00ca1948e965f2520fac1b9422239235f3e2c143b287f5a5fdc6ba44f2e2aa8c557442c0865283177f1051b68c4a36257007ad61e9573d2725399ac6e64245b3640d3fa030ec0481a1c42e230a0ce06fcb7e62e53ad5dea725d68c620b3beb0a64a329211e386685f61fe3a9a07432aaab1637417a2013c72d442bf1bd182998154eacbc8a8907020a83d416f50befcdde153302a37790c7283ecacbdb4a8b863021ff82231c7ec2ed5f79556009340d9fd8ec7ade07e5672c2d275181937b24d247171caabb614bcde5e534d9f93b0dfdbc0304c4c0d0c67692178c8cee8d2caa8e6c35b9aa446ae3f6779a36e08eff4218f80e61209064a105368a5ac1922840ea5e78cdb40f6b54fb6ad48b3e622a1f858f9b8aebac420854127febe6b4da5a436363ab072c14166a906d9dddeb0704a34dca8a78a7961f0eb56bf00b20ee2ba68c56c4402e3bc34a5142fe894efe6a8bca318d40b7d3a34116e7f882637e840d0dc2c477a06bd91a07a5a1cdfa8568f22fb3baceb4472b8961e446a662ba8833403411ba8f707e991b0a3b87b128ea2d99ac8df57af150bde5229795cf7894e1bc9defeea78e6528d65b442bf88bc7894b5fe902e7b72a27eea1c19daab118dedd614aea83b4021decb24684a0c21bad36cdc36bf6e4badef8f563d05c37cc870e6f2e0dc937ae416ef64e8dcbe0acdff8413e801822453be5e5517da17a660fabdcf37dfb03a7f71f53e40dc8a5088b1a8488d01d6678feb04ed4a40cf07bd16386e6a24f4d081e068547339843b0768c09e20692c104078fb5b6f1b80da1cfad17000379bdb9bf97742dfca70728381ccb9d4d84759e3ad232940224ca4a96ada104069f084987b119aec23d69d87c381f20d4621159774248cca31dc028836c25e95e1327421a8c03d4c15afa7d28567425c84212aa5c72cbf45aae7306fa66a0a6bbcae4b14557f320bd13ce1f362a3ae8116165a4bb9f3f0527422f22997c27107a39cbbb3f89d21a811bd984c169ced7073f53e75c7163b4da96d3e702ac071c19f6c035c8302653623e7493ed6d2dcd6c6b77255eb9385953141332bcb3de68459dd614e14070a753c503b21626a9b3a66e0724221534b0d88b1162b1240243321a9e78402a11ffc74cd9cea2442e492e3a27201a2298fccbe7873b85e2f1a3a7b05f508fb25322ae33c0e96f4c4ff32fddb7206b64c32c92d22c373340fb85f8035a7c6d4922077d4d3c6a11dd47acb846e72a0bec92aa6a26f51f81e1ed07f1a4b606b905d4e129c1536461a77b6272ca87257beebe0266fcdd255cbfea944bad045bab97dc84dbad0b3ab9659bdf4d20572cb43ea7641ebe9af71c5f91ad4bef4c5bb64b33681e3a111ac5ff15152411f720f122336ffdab32bb2968ec83c6352425e1b534532df17116f71e5fe8d616e721f501996476133493783961e93aa272aad9065a17b0b949e198058dbdcc28c72e0a5ee138c8519c6175601a57e2c5284cb97853a4d084875412b1af9ce1e697299344447927f2e31ada7c9c0682a48bb2bde9ba2d250e1c38e16e593ec93e96694216d265a7967c829821fa18002db090bd7ea76ada6b63615860ab8d38913721e37a703d9109f9b1f00c22c27676f9f9ffb4faf1ee66165a4b299a5aab6154b1975fb92c20a3dc455332e7a8a9215bc2a1c8361989446e4b9c6b4b6939638202c1b8ae9e203198bb2858e300660c2e461ce9f1e4b8e65ba6a7d1a0d1277927214e02fdea95a7541648678b683cec6ab3ff62989491c63d15c3129f2207de271e8196318fca33358f9d3f5337c05e691ff6c4954680b957f42252aedb489ef72c2d00ac0a9ec6d9d9dc788ceb021b5de44c2b812cf475331d5990ec982c22672424008691b88eda6731bd8818a52073cf4646ffba5990143adf60b1d82e81272536c3d8b800dc9de6dffed3042effded06672f253c31df88155098b553168f2a71299ecf35a7fc081032ef4cf2f1a1cbba381f40d3ba6e88d64d2b0cd97f832c6778bae0b83d967f47abfdb3f0fee278ed7a1c243ca58b98c825a4a6f64feb7234fe120fb273aaeea9d35acc91f5ec0fd60a6fc4a98e40125fd373754136a6727c501a0ea226c6ece4d1e43f5968e35145951fa9f9f94c7db5ed73b43ec43f2d9cea404818e99bcf136c69a976c11d102e7275ce4bb1f6f30ca020e17afc7f3e24fd72a007ca68a86aea7d8c26b98474116cf6031c703340e2d7c9c4be1ddb729ab7d1be47c8a9c79c869e9a123c0b6d2ff67cb3e4df50a8d8ebd55a3660567278becaae5d88b5e10f3c6fd51fec825074f8297fbe3e71765786324a694d8d72088daffb24f833bb60dd40958e52bde43aa60b5385ede35486655a28fc5401411efcd99ff4c8311ae361b59be0eca944a4b4879a6fdd0402ba2ce0253a2a8d724370b45a50a576bcfb6e0aa216a9c2497998e770df4b42438060a79b510ab74c8923d9c0c7d2e6ac96ed81f3e2b752213bce946c27725c4146a8e6d2f0bf8b025c47740298b38b7d67bd4c881d4f27b433ff2f3f2ad38e3367228106bb9709724e486a906175e5c5cfc94d8f1a4b0cd8ca7aa824f753bcc220a38a845c71a87215cbbf6524893fa1fdaa31e13270f2b182ea6368d1e89d6f3d1e29583cb03172119843736d09234ae6fface341d64df848793339222ca6f2e72b3e3617c93f7220ac3cb3f58e5afe24c2c57a074efd994f89e54f7c721d4ce41dccebd5673d72035d3fdca9650307ab9f40efb2e3d32b2ccc2980d77626a2875e01f211bd0f725d7f9b2bae83a88787a0c8fc9f967755c8fedb58ecc4e30dbf8c44f7db810172d5995c658767d75441611451d1b2e953092789db0d45581edb4b909a2d3ae972d99a6bb2763843089e458dcdc03000215d83af3c714e9306481580f8b5483172ae977a64ed6b362343e5f23f4334a68ad768d65da41e21f029f3bf4164a5eb51e9ed78511f3aed9b03a7fa94f3d9112ca05bc20f71b147920a3e73f7af8fc204f2b5f17c0d8bad7bc74ed3eae5e81517aab0d2b4e36bb4fe468eb852db000718c32789a19e8f57ccbb84922c2e73a8850495d47b7eb633f67f4752a8807f1613b8183792ab3fc08e586e2279ad189f4e78d0cdf38f40812828d901758bacd6438358133ac1ce28b05003c6595c03c92ebf1782ffc47052d60214ff76247734723b9c078c05bd96e3bb32364c9e4465881cfbd11b6202ebe82d2e63c8d86068720e3b820692c578a8b3df9ed1b04a504341c80af3d0791ba5931edf811f5b1453d105978a8fdec816619cd0b68fd1cca9428245edee73e2591d66722c4b8dca727f6474cf2bbd3b278106c01e34fbc6c6df845160ebdf56a7c169e876223fbd72d01de41e8852e937361e75916e19cfd81f2b7eb1da871bb4448f6180f804fb47edc712ca5bd33488fdceef31c1e0b84d93c50dbd3a4c6b78ce10e171385cf4514ccb383dec4c82d36df5cc2b667c4b137fcb396e08c4a4602dc97ecbb5a60b7231e441d2d1dbf3e5d91a2941d8811a0440d0833e109ec08b7905403d8c5eff2a98e8be6a1aa0d672943809ebb3522af3fded87ede28fc9ee6ef6c163cf1db472e9385f093e695f7f8e729c99a9ddcfd8f12e91f037e8a3e8fe6acaf131ecb972e5b06c8ff75fe0b1950da4cdbeb2e08ae2e5eff8fae6c9ed0718019246114241b8bbd42017463e110cd2bafe6ce4a4b49407d06b6a5d3c860b07bc20af93ae729fe96e462edd78649cd7a476f053fe4ef6cafbe59266223a5c6ec7c3c5606372b9e35095f9cc71de788a7a6d936a76bd6af0941062f20129ac739ea157bed60d4d2a05eec15599e07b780e996beccfaf21e9016e8c047fa2b8dc3494f7340b6cc6c0363bb00804b5da91454cf94d31ef2c93a5fb7cfec5321d79da74c50246727981f5335e94a05dd2331cf0cf910f95d1f91111058a1a2eb923e2ef4c60b372cf45472333ffe4cbe5aa22253ed18d3d9bd05daff089bc72beffea8ed029606fd3c54fa6353884fbf7f725ae8f0caea28db2c10192569df2b23c5b15db80fe547876fab51569ca0378e516c6dfe67632e7976cdfdb6207c52daf8d283c92961d202ae7c1ab04c40813c9fbf2bec7e3c1f5ce1f25ed1281ac6b5b5dedf253c16459bf11d29b4c022a84ff531fec1c9dba33f9abf2282e49bafcd3d2b010f2c5729793f911bbafe0fdee3af3aacc607665f714d285ca5c6755ec5123fa3524e772752fa2c9f6bdc3335a6616ad73d48a63d388a6cb370567a03249acd348772072798d4598be87d315f5a948b92ef3ed09b65b4781b86ff77bec43380917b61572c49972f7ad082e43c145494d662454acaf0ff8d8d552aa80fdabbfcf0d30050d306338eac65e8af56d99cd0dc5e7f47b3bc8161648165c8ca66e1524e04d95722329c8b9a5b3982429de9fbe82580b0160a48373635788c82d7503f9c8c5804f5e8aeba9e14843063cc94ac6800bcdc70cf8730df45ef49008eb0ff6fa87961010f35edce143578871e5175c04c5f1a719d9f58a5e71fc673af5499a127bdc720d2c31ecd4f3052d479e2eb56140f9a892c3439533918a4541cfb01d9dabe5620bbedbc224028f37f03189480bcf01e926390a3da32a8b5f1ba821426562ff7202e70cf684bac5b2047935db09d303d751cdb8fc50d25d9aa110a1a83f338072ef2a8b8f3e2a97cfc6cc54b86ca4266b19d8bf557157f66b5e8c1a1fa2694472541a3b0bba92f64a861e6fddd987f35e7d5826572278c6295b3855ef43be7310f6cc8cc27d6f4fc2eb72c76c480ca417315d8081bf0602e588bf8db4679ce272f27524af4cbd4d8c18793587ba5fdbf0ed0c400a8e6d272bcc0c22c80b7df972d3744fbf35d4808d89d894c385aa5f60c3b6cb08d351ed6f3a460931fcc98d6f35cdb30b465e5626a4246bb009e8788273c9f3dfcf3765806c846fdc7499e2315e142406caee90e60a10db1d83e78857a6b4e22718f2566f2a8fb47b6ea406729b3a0844fae0baed9bed4f9928285068f8c44594fbd96efc0e770dad69aee072ec17d25059da4be06868b1bd8f25fd445effd4489f2a25906549f21797af1b72f122e9bb56a13e1d123e9d1c6e0be5886510490c69eda10b8d5c2ad621911772ce6884339c2527181a0acf129a47543e24bc11be2720a2f10b6689d1afeaba722570c6e17107b5c3531d5fcf32f1b63c5ed3813519bfc8e888f29c7eedcdae720d896fda00409dee19302093f663a0b142eefb2d656efe95e21f4cf9a897383dcf3665ec5e76d8cb2b21e5e504a2f94c8d7d64685dfedf6084923b79221bf172ae5ad614d3d6baadd315a49d6794749caec756de6c363303a2fb78f1da973e7280bc91589f26a4511687f4f659b6737204663314f377347d2e5e4518483f2c250984b2558349daa6ab34ff73f6f5eed660710921be91b0364bb8d99cef599672438e0bd9d0702b10a3c80a3710c0a4362343706834c08a536415731e0325764feb9c7599c89f396442275a9d14b19576e0f66ebd348fee986dab4b426c32d26f1403336af4549ed3e9e1a167937d7faee3c2b3567413a20d191e0aeee68dfe4553f16a227efbb66b046e5c02fd4d45b5325f1f930076436945243cadc8d082720b44b809cf458abc139120794a821806ece9ef6890d09b6cbd83de8c68207572b9c8dec402b9a899c988fa4ac68bfc33aa950e7fb9fea8059d8a9f4430620272d905ebaaa2877bf2ec1809021221f80bf3748b3acdd1e407c5ec321ecc695653a9ea031daf446d6c5a5733278e3b16c01da3f04d4949d862cb4e76d986206c725b2c46de7cc68c87faf62fc7f6e9b08dc9a649076b13bbf0afe45ccee286847237c6b5aaf257606e8984c3ee7b1544eb546476d46ad3973a035fa16346e8a7533a185b738a12a98497c6620f2b6da808baaed622930c6433f1711b6307a21e7220d5f3d4ad3f9db462720962b23cdce8c378024215d485433f206185edc28b727a6957900ffebc3b03a4b1a5b02e6d1c2ab55f073b6e513ebc0f5d342259a47220694743604227339c854ba9ee632ebb76e8f8b74a37e37664bf62af6589f17283391acff6159a0227170b9063c372f45b0970bfe7deed1b4c66c80da83c391d38e82a445f59b41071436700b7c6a174fcf5ff037307d3ff6785018398852b57204a2db0f056c48f4de8a6009a23a32576370eb04abed70b945fa4728b623b729fa58d30a2e72584ae3b010449854ffe951ae0a8b9b87d17da2451ad66434e72600d3bdbfad71b66e96d57924d11652db53fe9ba3f158143e394d757d1093a2407c7ed4386c0f9dd7680436572167dac171663a08b21f85eccc3ed61438e84188cd5e0ba0345df2b542f194bd7db8d0d37f10d2dcb05c8e1c82e6f71b073f92b8740c0db653130dae61014a2fe7a0b2d865b3d7372ac96d9ff7b70f422365572409d77fc89011c3f3572fb76f40fdbb33259b4f7d86d10de5d0efd5487404e7200e12ea964ba64701fe60a1bb37a4314a4f568b21d4f4fd2bb49d776a5295c4b83915f70b890d5709b34627b1c1b2e5651c25ec4cc0ecd1d1fa08959ac70af72274fa02d665f63a3ea466c5e7d742de4fea63041ba6f11fecdbd53cad143c672ce4965add34e556fd161628de3fb00de5653cf13ebb6882387e03c77ae8779688d2bbf76c9211a26568df12e5afb2d598d3ad4dfe9d91884111f017766b9f472f654e8324f408f311134441f69536f66d638da93d24f108ef6de637a778f2008624cdd9bee1c54b702f282a6740c660fbf9f5ae2f5240e7a2fb10593695fb118ac0ddb4b7b4eefc75c43874feb0c31e54c5253d2361eddd85e88ea06370c5272ac3c6704ceda16d8ae7fd407ec37c658e9cc8a1570abff91e488dbaaecb5e64f42b7f3d6b202ee4c5234dc252bbc9fcb4308875d974592aabe980b8df09d3972dd79272789fd266d29607efb2e14a0db13d6070ce00ad40d24ef82681a1a3e481af314b63a0396d56b2a92157076984f4850630bdcc91c91d959fa00b615464d128f75376ca24fa07ed09d3cd03b1e57dcdf75b702a15e56db28b5909eb1b651a430432d4fa85effe6f7ece211a5159efcba18aebc9e6995b901ec37d2aff06908b787e018f6c39ec7d891c4644306141733af74ea81ed3ffc8c24b64710b272e61e8453dd58ef4b8b0e8b8848da69eebbc5798ce77c9dad75cbea6f9d552672cd5e31ee78baa5f6214e91af00611bbbb75171b54dea9d80742e954b2c3f5e72ae420e2b11682d611e1d1cf343e47116a9c593827d7a207d5d09cb6da9e138720188d51498595ae09b8f0aa5b1cb5ab9c3e60a2fcc2ab7e66b08a6a8ff2c9315397b6e159ea5200e1034f0cf447135c0f5d3b4b55dc432c7b5a32ab3df95d672f771c3cb17756eb135d5c0a03d6d1687b45d5747c6020ed5a993c4f50d5531108f3fd9e4d88db99b9973904eac5a0b4dbed61bb9847a43efc2a9a5b55813500f03c24be793651fccbaafc0b891c713d6c6932df7ded8cf1b29e1663b1cc9602a5e15d6d0a800f6906e27998761c186ee79f3926a545f74eb3c941688ab5cdc72556d828740226eaf0139265081b88e36e1ea0d2f7abbbc19375095233f8e82721c75b7c92fefbc16de6424b7ea825d38ac006908686282456970ec582687e8720885e670c512f148d9a3dc2d2848ad7b31cf2c680d764e5ce82abef8a7e563725f85924c5134918153835f72c556fbd37a81eb2bc2d95b743d2d03f64ce3d8726c3f110af1b60dcdb4dd00a7f76a9a7d994b1fe2fee86857e7b8ecb70a1eb072b43418c425a635693040bd4cf7cbd244df0d5c5ff48eae4d205234ba439cd8671e9a5f7809d3a348e9dc453042c049c6c153e49714713c46b62d3eb7f7518572cbd5e42e27e94dc6de420841db5259cc8478c53cd8a53d01e5b6ba4c2eac0f723f7d2dab798d63b4121e492f861ed079e5ef1dcfb33ed81914808764551d613090762dba1cfa01a66f5e4f5c9fc74ca0e7b65d922911e03c2b884e3f56a0d0724bd52b48779cbd78ee3513c3a30b465c93caef037dd79822ea42b95393515e72c5b4241a3f31e9fb099fca047a38059b2d75d5d9cdfe6bb42ac50b90f751cf722028b5c6f2df36da912f82ca5deda8c9ee0e25146fe40b8d6763cb2eb3d53744045895769f658b72990ca94628f8e155d40af39af2612f2edd84e6fec7b65e7278a6e714b9402bce412c753465d69bfd1b0f51699e5f9a65572cc54e28adbc728722734c34840dd2d0061f46b7bd87a68dde3e8d5fd6da39b0844d780bbae6720c4d774e23b23dd4be9aa0b1d357a3ffbcdd5bc6153ded2c9cfc1e2c238586727ca991b804b19134c808cdbc9e48a5a329715ed76f5dcbc555c2a01768eef36388b781f720aeef3a2453275da206922f6ed5939330f748d7a610ea27e0713648ccb9fb2c4a291f33d2ead53ccf86a0d52bc40af7c4b2ba24ddc05e00a4b07b1375794f3cf656ebb4cb4831e13525aad002362eec3c9f50aee8da793356c79a48116a68b029290caada9f7524b5d69bcd936060cf043c40458e788bdc576bff500ba5d8ed70801985e9495c087aeb647aba77cbf3b89e7715cc018ebfd1f55b726d0c935d164add739c6cd6063b7daa0f01f661edaf91e88c9029e7f08b4f911d793b997d8f0ebfce02046f2a37a9d8733e19e747eba5fc1842de85d9a176162fd2fc0410d2cbe998d43bc2b59b49261a1e59ca7b7d0f710251022b9c16d919671dc29abbf28750a63d24d486b650e17a67173e78bbb760bee415f44c8cbfee3aa2630b716aac328ff27e3f70e46d82fb8b25f0355382799db5574439a18db543b65a7f6b4067388a3395894dff30dcdd5f0b47807f6090d992b69cd243b0d97226090a9ab0f604cc1b9b0d7aef9565d8d65a13d4dd9129e7ddc58a85642c8f72f5d51186b7cdfecea1dc9636107baeab72e8631100fa60e3aac94c55750725074205673c530d7697e58d5eaab52307e923bdc37cff564329a70ec1b0e503f605f1994497330ea7ea77b496d43f6b946621697cb1e57f234ac6fdf7d7c94b155e72f359dcc0f6325c16b07143672a386880b4da99547af671696e50cfda85ce4bf91c1629febd201e1b49009340d897c5c9da2aea90d074e2b34af87d4dca4a647d9d2610e5aae401353a9b60d9072d162a1bad3935a163da7351bc900fc4e972ff2332396ae919e744430fb5433af7804b0cc4ed601069589fde673d05394672d3e232f5ba32ff8adc133e721a430003bf466be377430565f94a9a2801115b0edebb9c306e8e810745f28732fbe71a31302a2fd3624f8afa58f2497d19d84a2c5bd2f89528b0177ccef6e11e037367e1a48958f4841dd7af063a68691ada107288f5d360a2b20812560856af5e0ec0c00b4e9218a830bcd7bd6cddea02790211292f9be5384f1662f691b98199e9fd8ddc20d5e26b56f0224fb723537562ea45d4502af2553ea91a33cdef4a780583e51d99151cda0f58ffd5be98698d873c23fbbe78c69cf0539e72213b7c34ccf62f4112f60f6db0fa300928369cfc252d72f57a0b38e0ac50ee5abd1cb43567b99c78c1103cd63d090f13698b670cb59d26a21ee47310720cd1e09b232f7c6fc088ca8bda1ca1055063a08ae0d068663072747a23605cb0c29c89a452bb523548c56a4423a178ffe3235ece7c7336c8c572e5dfc8b6ce71dbaf599eaafc5642841d0f2779e7b3e44f93722571f59414ee3685fc320dd1dd08ce1b112ff56a63760b3397bc57bb20faf3b4db026f0f362872cc277be4228bc670129366ef7c9dcbfcc5340baa0311cd2fd6b897556db40d36940e78e29057002ecee90571fbfdc341cfd5345560c2a4c04d7455fc56d5b9728812d6578f7ddf43606a2fd9c3ba2a1a9228444105df770fdcc2207b3f902f0c73b2e237c04a5415472d7f64208d35b68ca90f274e0afd5b75959b15af579c1456f89a3216b0ce8d08dc93aed55e54f203c60e8bf7b270bb202b0996ff92161bbd78acea6833080c5f8d04763e48c9483ce7ded196c236a3543e7211f5378e724dd2c45e84679cfbfd5800c26551fb58c9ed9f1668228f872bd23e268eb2a4727ff50fee552a8c08d8d253ed620f3380df7435a1dcd309980e8836abc80037721bb687fb9ac7db243d71e81d5e679b983c1a57f9204ffea465598b32c672e570cb5d2ab12a78006988d0482d05da0d119c07aa6a513bb71162f7d142e05de73f9c6d6d84bcd9ef9616501a97e1de9acd9d53b4901a87c33ef642062c2eee47156668ba1f1f3a6a16b0c74e0623c1dc400148ef98852813036964bc9927fca33d60715aeeaec7e5430955f7764a2c8979cc03695de88bd8bdfffa3eef5af18f72fae3573e672b0c24265a459087dc40d840375f3579bdc469fb7dc66aded98172644f5f9daaa22b2ca4cd2cd9550308cb24ad38f9462007810074afcc2e1945291900f04a523999ab37a68578935f3a4b1fec9b668eb48560bc53d34573c8ac72a615a6b805dc0f4c149fff051f32da47d4a6d97495be64a4ce92d6092abf4c723cdf3b2af1e705212f76e82d451339c902d35a9fa0710100274ceacbd9f56a2713c0ba3ad174b86297b343e99183130d618d9994a6e644ef71679a6fd27f3c7219ce104019997e5c4bcffc45135ace25e70b8626477494081c4e5aa000fa617289fb84d3e8755ad8b0f556f975a5225df08dade34c076e11e36636ff3483916cbf421767c3f23a06b6e965d0f95c52fadee27062f38a1547c06a748570252d19d25ad063a1c277fcf3ca6f7b29d953adeb363b0898a4cde6239352a9f80a1532b955357805e8b00f49d437401550123bf9dd0f9473985b1c37b8588feeb6ac56879fd5c04203cafecffe5986528cbeb476cbb96bc76aafb30f1192af4ee2c62c6383941695570ee0d937c610e5bcbbcc0023b8b662e469940e018d5d0156922b0cd6c5362c1cf049a4991abdf5836cd34c1c7e7ce1fdaa0793961f6b462de76847cf5c4da16928a196b4b61cca7bc37bf6f58176e8908227ba98faf5e99025729895d3e41dba97c0cc469d8c311e1a53f6ce5c8a40cfc9f4762de30604ab5a3bb35825cdebefe3caac8ea7556acc6298d91587041f73362b8557f1faeb8463729ac94f76430ee996a8f06a0bcef86679e9b0b20aabbabca08cc10ab6d3753d72530da100aee2ddc18435df9fb4a752bcd0a369b0baf5bbb3320bb945a0ca847210ace1f3b70cf2f75607c4b00af10deaf379dfc17c76fc48b26ce41115d9547256f1eb7cbcf6ab3c6d4e19ad8aee7ef7f3ec096c2bfce95542b4552d7b2b07727d9ebadcc263a478a18cfe4432dcaac4f6a38e5f90d51223367d5251728228723eb6a55dee42eafd67381d30439dad8ab7ab8010389b13e1565f2559a630b572e70780f52f063f7bb8c3b6c1469d62c87e57b694d6a01400c4824b7899471d245e2b5c926cd44e06c04e85c3f1ecdcd97212ea17c6aa1299defc798f0e574d72a474df518cd7572e09b2b3d92e6f6c1edc82dce349ce85e04db1411faebdee72570bb8ffe23d0269608f18e7abd3508b1707b53b27a99836e757ab6f336df608aa9969463bc1fc5ea0ea966454954574217e24236e8c7f580c957124776498724bf2fd8a0827a5de53f06f033e9aaec22b7ef8cffa4c26a561767f1ee1bd9c7231fb04477cfa50b93e58c8231a3e54190019dd5ee35203f7810b1d7ddb5787610b4f0d5f5a1eda13a740336093ada86017ac612254cfde625453e77f7c77de61b4d0ed5106021bd827827ce0e305dad1d77d62f760f8dd64e52e763d8e8a0272feebd890744a42aa0714c710bc423396658c23772f45affb7d126b63dc01ec5f49478212d38bd716bc7a02b9af17d59c58d5ac58d175595eba02905879e56d72e46e3790006f247519e43efb6632a3de291f3854c049d52b2dcfdcc0a4f1197263af9c7223c6696c0f76644a3c3bca31f357300b38eb1ffe42a8f41c9506e9725e46f6e7f04a873ca5b7ea9a53b05ad84cd161eecdeffcdf59a15fc2aa011872a97ae87a12128a62aa8998b39b9b3339cae6946703251a388ba2441bdad20672a5b2574478b20e5ebedcf8919cef9d4e322e42880b30a0b497efa7d28edc5b4027ab7a40d9745f86a2862f98ecdf0adba984fcbded3e35fa9dff6c4a8638257256cff19a216f329108220d5d755c352566f07fed2d8a188ec3caeafa99dc8169c0fc6abe3a674e983c1969781ea965321c517d5cef14990e312fcdc85fa943721ffacf634054ea07ef47f9066c0dfaed281bcb5fbd167a3cb43764a1f8e8bf7213bc521d51e8ffb8e38e0d49f7fe0f55ed00386a7cdb227997c32b906afc4572b83c838a316f52b87c54dd65ef1f81c62768e124cc249c3a9fed6da07188dd72a92bfdf1d290b2c0b6096ee4eaaf924c1a5a79bc9107f4655f21e0cbe022a47228d3ec7a4715daf4a2b5b60f7a5fbf9d02c147d738e875f8e7d750cf5ed70472bd27b3645ae6ee4488258d80ba16a0fa6f168f14efe19d078c152678490b6c682f8f0ed018c89ea849aaef273361a4bc0283eb5e32646b9659894569f1a644722427d0cae69a09e7abdbca390a541a0f2bb7e6a282449a1eff3fbc3f40c4a9721da15d4ac15701d2c7be6ebea63872f78615f55dfaf469de90b5cb41034d6555f4cf9360206393f112f11aad24e435e5e61607ada0db7412efe07e390e0ab5728a1e44e95e71b6a17d117650277a016537735953c45f4215e2d0ed40e6782372ea79e2dc658ffb36fe25193979ed0b75571d903d5771114c604eb7312e41df7284e32c6aa81f6140d580d7a6e8b95a79d49a040bb6cfbb1bed294a1a5ab716720dd7386ec588ccab0f98e8a94c8495b9cbf03de3d6708171790af24731e0a87291a9a74b0c51ca4b707ae4a5a034e1945eb885a7267183dbf0ecfdbdec3195728417bf285025b4dd867ed1004602b6e12925cc1d3150f386e3f537fe0a766b72ddf1ed5e9445744c6df4291ac0a25ac6b417b229ef4542a8ce48569fd19f3672cb28a7a10f20bd59ff7a6d70d8236fb13da1cf73298fe74b7ea7b76fc768be722d3da75e1afb4fd40fb869ccd17de79013b29df9a9b59bb66b219cb166a64972fa38431c0ef051bfb38d0e7f669846def044443ea5d46a454ae54c2e0b31ad304186877b606129d6e2086a4cd33a247cb40423a2a41b70ca9d401333c653fd720c19ab8ee6165fc9cc35bb66807a05f3470ef2536cfdcb1bfbe1bc9879ad2205303a819bf9a5716757d64cc44693de9e0ceffa15cf8476d3203ad6c65366fd13adeb4176b9f7a04ab0ba8623a4487e8e606b1805fa2fad907676352826c2a4723c8469ce9929ea915716cd3db39ca0a34d0ef41f4fef313c06d02b46c7567c727bdd93920c72c64aeec3517b82cf3946fd07c9c41fe4169c4f66a82766b0bd107883f957f1ad1f9937f51a2160c7eb8ee2190b61f0443daef39891ce514cf65bbea4bbf5a1c19c82a73bfcf57be4d31ea223ae6be4c3a21bd406427c03203a642e4d2771dd0eef8c24d69390f76e4985c2a7401a09f392075c21c40e36e79d72b7685ab4ddd8c6fafe7ffcf352bf387ebe174e18ee0eb3a7baee32b6400c1d385639826d9e606c0cffc36c88d8463d8deb14387115fffa44835d703c2c32e843fe3b9944abe87faa272d2a5caa13ed1881e9c5346c777e8a20a003b3637afd637015d9d180f88971252db464c6d1206c9ef4d98b069f8b4cf7ea5d2897498072ac81fe605c51927878c763735be8552239f1d01b061166e8f52d440eb9ab070d6220f117b8eb4f439e901680ab59bca5571d407bbbdeaa0fcc1590862f5abd72ec35451a9f0faf3eb4fae652070c67c75779c4b131d1c8e34ae3ad95ae3c8467de5e6a487c43ce0202ac443011e9327da40fc7ea2ce2a82ff350aad7919e7f723636d7c0ae72d73647d633cca6c600c7aae6dd0f61892cf1632163d81d72be612e2408c4c3437faa0570e7969f85b8448cd1c047749ffe552febff06412a4806086dd0b65f26a08667853368c7da55eb86f8111ae4b3cf802ccf8e17d024211cbbaf8d3ac06373e75b074ab7ddcc23376895d2226a7507d4083a823aa6e9207256fe66b93613d528283e57679ac59bd2a3d703dc5e1ebc761c6132aed6a8f672100f12378ce035d58c0c09d847b2559d355da82eb6a00417ee795c387393d405c45f1d2e04b540729fb15fbe4b394601dde3fa6197f14447b4f411b344f1994ef4bd6abdefeda803070d6e37d653d0b82cba273a073abeac25081df12f1d0d72c934b8a48b462e0e21d467bc077107f5d00e712cd549cc817679c49980aed672a09692d344c8950d1d7faad858cc0fd160d9872284e2f3423dff79bc65ac907261d31b48d2f8829ae40d21b90ee95dfd7c77e19d517597a456a8e5934b21047255558f9872e45d2a1fe4ef5df8f4cfed3e17efa7a112205410ad8f4b07230314a97c912d1c14cc5aba07c48481310acffd016f20df80501a88d8a9f39cef3172568357b54e61f384ad00b6e5bddf66e68422b87ad2ae8cd10f24c533d8b827720c20544b2853f494ac2b06cfdbe8e07265002344207c2838acd21996a8ce8340671ed349d0c1a4b5f395dee32bcd5f4ce383ba6e4f754c831cb94cb9381f8f7208074971fd9cc7468acadc6cdb5d821f58ab55a7cb90cba63c08cd516c5d1f72494d83ff26b7cf587cf9795d03a75d65e07f4ea657d71ed8b9e90ec2eb534072b493ca73068e2b2e7bafbd5f7e3fe1bea45a4bb1fc639f4a0eccb1869f39ef307635b677bdf027ad96295006927fd5466bd3187491dd4114c6d1a3fa5a0f9a72b8e2389651bd11b7237d6f7e066b760966332d31588de7ec0e134b44863ee53bf042893800ee358b4664cd8e3318ed661617ca8881522f3a2d37e795be76f3720d9d2a2f3cc2242724e754124da5216f73d6dd6ee8341802d49464b2abcc05155d20b732f8a2a3eb7028826dd8f956d90a3f76534a77e1e1c362ded821a411134ba12c0fd63cd5174a479731b86ad3f6050d1a77f3d43d301663f0da9967cc727cf626c72457e3212b004a663e6a5a9b76156ab75dae1f4d269dda052f82e872a02a2085f3a268e4c2cb94c48a2cc216af3cc92a2736320e2451140d9d5e527281add6cbca740ebbdc5f0704f0b8208b31b96706b60bbe8197666bbad5e1eb354bf12d2554ee73fcb6b224a9ded8d67576f48a6e1bf1239a323139902f480f72ab10a6195ea6294be4dbbca01bc368c44742eabaf12b2e1d03b92ef932b63472da64a4565436ff151481e49b0c463184b5443b4c6a7fbf95602cb4673ddb29168f5bd940634c368ca3235dd6df5859053e507a3bb1bef720147aeb931d8df054150b489536ee488299287e16c78f64d99c39a876c33d7e5aaad64debc6a9fa19f25539dc97b369142ab6b4ce65314a85ff4543720c31ef8ebedb43fe511ce972cff8bca9e080d64a1a8bc5a69360247500a22a3775e0d32fba06c1a8a618105361f2d9563d9b95ad8e6a55e7727dc520d803e0f46569d534112e1b737ef175727d8c0cd147301e9aa5980726eb325acd5d95a589eba8aeb5085414076dcea84ecaaa37371a1d08e001c12341520c908bcd87ee7d112ab2abcaec2fbbc9b98e72da5b9f96ac96cbc62bbc2b83426b5a784ce0c6c911afdd6fbd8deb69f4cabc72aec344dae3562d5a67823e4864509085e24f027ae0162976a36d21e19fbccd6dd1bd0a71800128ce5ee6d41a970b9cb71c9a3274091a2abdfbc3a7e8f1073f474278200cf17c02778c3edea5496ddc007fb950a5b2a58e1ef258106345a3a64451aac002b24419ce386eb621bae4beea8657620fe0903379d0e646a750fb657236fa9e185cc3ce91251fbf4e04d16512c2cd6221ab78bdd1fb4cbe255b2b965e3587c8f68a3b7bd1ce1a3a17cd9e5ba58e9175ce2dafb459aebf73899615c472f7f98bbfadb80d14a7a5796401c6daa2f39b4c3a17420dfe357b16ce2fb61d45eafa2e1565203ec8ecd159561ec3d104a0381f4de9aebd5ea26db8b13066a82b4744c57c6527e643ab632f0fd2f70adfe02396a12549c78f0bd035796544b772497f13e8cc394024f51cc9c4686a96f5c841651069a33aa8bc1442bda7f2147235340402421e7e52e0f329240cffead4804b97035030d5f64a5f459434e55d1991fae3988cebcf394fc5f23a42836b3f997878bdcc8e4b7c26c31f04f93e9372d4aa1ff654dbeb82816af8c3cba0ef4182d62c7c152b685f325f70cd5b262372a210594705125ea155a727586a58554905f48d5be802dbf2137f3dc3c0382567412b20f37c59aeda1553e67be3f1cac3c080bf552ffeee9299ae913573707672c973d9e8632aac865a1f22895b5236e055ab6dd6e0b02f26f8f1730c8e716272b942fb00485421d29500642c1e67b4ab8e8150c2a45fd6d86d379da6c2f3733bc266b5b2fd5cbeb2bd8212e85952665d03ffd4d00bce00319047a2b9e88b6f72065801df1e954c8aea0353bad9870aab325523accc36e665fd5c0edd84845272c93d0f0ee333af6a8cc7d0760946d7aaa321bdf3f696a28247ee650d7cd5fd310e7ed4c9d037bc2ce9b516a8d0d06cdf94e38f75343d4bf3d7672885fbb16c7288fd908f75bf543699e38e6b2659f4bb70a58c8b1f3bfd1f1e47b9a5d809b272a576871b18c368e75c9d17697880caaaec34707d6353489c4b234e9756102a3dcec8dcfc235e462550b0c0291a17f05909b55ad3b5a76bde708813d3244efa72b076d42ab8bec92933f08f25ada6612349320600d2c0ca8564ac1e352468be2629e75a59c03cbea8bbfb75cea9e6efb2fbc45874c37746ac75fb447182394b3c0e47aac66b8124b24e85a5bc588d2791b6fd1cf0bb9ef13f31abbaf48852bb0245ecc735f8912909bb35679fc75ca32faa751199c72a4817988bb71c2aeab834910b978f6d04775c78ffb41690adb4843c3655a1a4d3e72f9fac44e108352c7218fdfa26c4694f07a85956cde9e3c6e63d4989fe77b19fba82eebefef7f0307229de137d7057e0407fa7e9d0599cfab934c1514e714e7a958abdc0e231dde419ac76aff043b6c6f14b4e9bf9fb4e2d638c4a98d39b45101e764034c29f3800721f42a2e83704f67ef0b7bcfb4f0b2fb0c6dfd6038dabb6df6bc6ca6c4828d472d92d1da3f8cb6ecb57a689c2774fa6c864baa95b84654770c141c13af947631967530b336f64525ceb8ab53d2fc6f95a39529a07cc6b95d699e60489ef208272f201182fcf3a105c5530f91c5ee65e9c7a6d067c17146a90a086fbb8573bd372c7c4f92ef33e2a70348b083978b3da13bb7e17048412a118587d061dfa5f7272edbd40cc53e53a87789f67f0d111da3064bac87fb47b2677b2e7be23d475e20cd0bde04ec3110ae4530d72c1ef5c5ba5e15449ea27b12becc0c3d93a821c8b210d9ef72f20dbd41d6f9cf3ea1fbf9944b44b9f9025c53dab5ab3a5b49c6f272ee9804253b84bee7cb3c9d3f4e97de961dccb89139d5e74e20a2f795fa080bc724d10d1af3360fd316ceac8af65ac88731cdada5c7f707233897b684ac4926d722ed5b2c31a1d825a691ed54f91fce2126252bec6b7e5f3d8cd9027b346b1730c464243800316e95bb192b87f6772c7d402de9b4febc5f927c5f9fbaab8afc7722228e94317dc942f22b4d7c417320d8840325aff05027291a838450efd9a3d7267c37dddaed6065db4a9a50cd13c697ced10af41ff5e49bf097b434789b80a7296e136e0430bf8e28cf25ff50517ceeab74498457a9bf761971a334530cc7f72ba084a4d64f29c52c24b2a5f5608f486709703d202b912fb2a163992f9435872e65089644765d7c9f1798e45bf1862f2de0fe04a43e0f3c89f1a55ffacda1572731859bc555bdd50dad49f8c3e1101ae76780c5316a0a9335ae499fda873c0723ca54a922cc74cc4f7cc80cbadba13002154aca57d0376a050386555f499cb724629776ea005ad26dcf597bee695842e12222b841a8409ac39495b7dbfc54234e873c5f4351330bdf889f520a96b3fadf5cc7ec43255896ad6e79fcc5412ca72aec4e2f68bf713353ec2a6912df1ce4dd254bdbd3e96bdebccd722ddb0df53140acb7e1f66f50af9bce86a204ca9d5ec13c33a361230a31879fadb4c2540ed6ebc5a2ba40aa12ed143e76189d1675acb5d4129e5d719b9f3943b1bdda71faa335f323cf2014bdb0cb9b79944c05993ae21ef13b77a09bbd4559776af6abc8618173c8b1adee1dc8e1c5124d9c2d81bb436d664c8f911028eb9693c5bc59f5f72400c9f3f17340533cca3cbcda1ff57ae555080a7e39d9bf3f66d0b3faaad9f724c336677df9705605ea38944f918c18d5c4267c276a79c4e67037dfea49b5572c844b054e6ff882b597f47af168c64d2232e3b7e71739965c174d29f4391352aee84e1b28c654555cf1a0c479e4f5d2ae9a33b2003ec54a95e5c698f2e456172040032c7127eb218b6e2e86c616d12853cefcfd6f74a0cbe8a925a909a135b04350380db965e2b32e35204b81a2563cf326061e97c7843a93ead7334dce21f72661256ba4337db5966f9a6b96e9b29f91862ec869a60582c0d56a682b05db7727b3c06c9738c2b21f9a750f1e73a41bad3ed4d096e0793a43d7f0a81d27bd440074555bb39f347dbe2d18a2b4fe03f8bc88c46adc64a3b33d809e10d7e2ae10879722d1625437a46fa98c15e6cb400883bbcd4d484a35a5eefaf48f862f92872c9a24864af6a65ceb5ee3f97aa1f772d753a3ee8066b47e56335ab432bb4441bd0c1809756d5ac9ac1c07af498ba6ab1b3edbd43302b0a6602a4c49d6d2f49728bd54f0f9867c949b7ec5dd81fd7dc262f2f617a011b640aab1650d329512a72d28382b7d9f19037d8e358955f6e3fbdd9783846c6012f5a72804c63e62305728aabae2fd0b1a3ceaa18f7316327c7beb04b3edb888b3b47c43a734acf8fd5727fd8dcf8cfa5a73d0f05f4a58b019b3e064ce10af933ae8713a0482d3e383371272dc4aa739af58bd8ee8976ef8c75e63b9bc78fb33c3232570c38b55d7498724df14852379e21f5fc865b75b09de7c5efa7031381dae5e7b40c2082c2d51615f0ee1e5de73cf85c741f21bbdf362a3349ce74b0e971977ee9de334483461063131d5316d98e10aef581ff73cece289ec123fb95f68b500b8d1cfdcf20bd095598e0ea9e6561a7618971bc9a3a30353d9e05b5ae97c70d6e6aa0a910d180c072ed2c6306e8be004294216b075c03b88ac9e8776a57e35c82d4d9ae45ef06671131fd386ce07401cf2c32883d4f57cba676fdcbbe182eec304ce40d030714667212fe5551fc903ed0333e85fd39055ed78fc7ddcb1a6c8d8c06dbf08db384427262fe29ce1f17cef9a4419b2dfad0dc1abf2f391fdfbe5192a615ad111fd40262eabe5b704ff0288bfde7c70cd2e412c45815a2bd6d8744d25ec64ddd27a2427219d845a8e597f32cb1dd6801c155a617ef19077c96839327a5cb6da25ff1110e2d91901c4abf28c23125c2b91c3768c172632662016d108847b317ca60d76407a043d202f112565173101e63b47af79b43fca49efb67900b583b313d84795008b5a12c980d3845522b4e0b8a4ad92276d8fd08ad352ef4f9713f578c3f5e9c0226c7156f9b171804322d34c4c5782f829048d3d7724a04eafe04e456d7514272ad070a4a7d6816eb69e31a8c7bb06689537e12fb4dcd0a5a7e563c9e431fc3726e26f9029cbc1dac948e3afd189f0fe1f82743d91d88122720dfa5c2c70e8c3595c45cb230f9e2d3ce3e41acf1bc7f006fa6d88917b40763f7433d908474eb40359be29117bdf2789d02fb30821ed9ab6aec2ae3a99467dbba54a1663fa6aa72230563f68128d33101d2bd380ba1cfb2ee4d411ecfdf8302d0b9d32c6b546a509c061ffa360a678d1c1413de450a02a29913d8b0809b5e7b2146c65c4ec9fe72368c737bd7b1032a9db4a5f269085c1210df0295033fd4e9607b85adaf40ec7216961ac8169c196a60d9db145da48e9b0d1ce84aa8f228726de652e70e56960450bbe2df8308fe2eee01a0cb15b688b656ffaf4ea79cd272fd8aefe54b8b347200a32c66f1ba55348334ed081c50fdcb9860eeccd895e975330cd766d3d33872be3fba988232f9aa60a279718878ed73ef41779a0e53c2e0847b6c92c1c2217260d40197cbd9fbc179f9c141c987a931d49467dcf59e6dc0e6fb5a464d09ed7281e2d6289a80e09c01933c856ff17976930d89ae03abc4ce2bcb37087026524d370002774d5ec704e778938db8cdcfedcce26ec0525702955d384bc48c67e6184ffde0f8e70ecbe44e33a7f8a4451a09caa48576ea67fe748a70fe72c99d745f2bbd03978c2cfb1f53c41f7f7762eeb3ec9e1c735904839a0979864ea3899d72ac156ae956e0e332d11cde415709b272efa9266525a28a7b497e10947c589d5ad5915f03ba59fecf2c39d5270d627efc99d8f8c05738babe96b496a0bb3e091b6898d6e439ffce901a353fb6b352c757533834b369e611d5edcd63699df7882815be0b02313fea8c37383daa6c314abd5b657a2a71773cebe7fe444a584a2210ce6520ba5277434567d6d7f6b42b79df507982cc68e3626ccac1aaa6d49d457275ef4c17376a6def72732d897c4fa37c964b5591cbc2f54c14676d377a400c72b671792fa5966b9834fe53e529b4648aa1d3057de2ebd31b727152fc5c24ad723cd87df2adca1b2fe672d601e3ad4374bc1603038ed3ba14b905acde12e26a72b054718f861fd165f80f2e9ea28de50bdb971f343a97560d0cd4c0ce82dc216d664d1b828590086ec2809c448b6d21544b11326ecea6587ee6114a940ae225620fc1a8e3e5af4ef204fb3ada495c8f7b3ca9491c5b0b51acce1a738523c4490297c9eef0163d6fcb45b5061089bd483e334a102e1ba17b102bd35cd19d699549d6803939ce691d7327187e89fd12e7e67bf1cf8954d9c287651e49a8b6e251725cd5aec66d7186dea661c590540dd5d4c98db82c3622bb081d8fc71039e070213d7b47ab5461f59fd1588cf1de4a37328b72134af3766767b6ecbdaabe380172597fc6f00693c24bfd2ce71a4157000f73b378b5ce8e86f828369578d516be7260aaa782a86e3b866643df6b9f0dd38a7f9bbe6d6484f76f899f73c6a57de307efdee15f7c97a02970f285479b14d130ce0f0d53668738fa0c18ec77cb5815727e34d2dbefceffb2dff4792bb849f206c5bb8fe1cb5da8789c171159baa8861119298ce7abdc2c5c08f774c32ddb485ac4ead6969716180d437f0aeeba3c8c725ae0c5bdd8a499e308af525f81da976c854b796b909336ba6ee491e1d8cbf97220a4541dae7333e876cdab96aad2881a6ea7505570cc7091ff97cc8fedf2d172fc6f290e0da55ca4706e47579ca41b5dca91668ff3b98daf01b4d7a68ac9f9704759bbcb5112d6552285ba368738ef59931e05638284782966fe8806eb808072b9f572bd8862b816e6209973f8dabbfd058b8999d363f6fdafcfb5435d7a593cde863334512b4258254927e5396c280843ec5623bc9908a13726a9a11f2fdd723a4c9384428ac27d4f3ae204afd1b00d12155941349f9de276fcd01a1b693a727e9a4f99e0e08ef991bce0dc690c0a9b8e92d50a5a48a118395e27489cc6077263d557b4899a6210c74e100adaaf7c93ea46c97ac091cae3f9ecc9f97cfd76722edec5db99b9aa6c4b424eebb389de382c4fa4d0e7c8379de210a56dafe15f7258add7c7bc8dbe1e58ed1b34aca9925ac6f844b1ccf261dcbb46c052c4793d72805ada9d74224419e0c6cc0d9489d552815c4c78f44a0bc45e4f17850605d7397c802bfd7b552e4bee2b15a7a621f088477bfc16ad093e54578aa342c2f1f84de2bac4992b0c12092964db8200cd1ecbf6ed840e884486dd112baae89ee6332b4b6d3d06d481e18f03b4e598b490df40396b09091a1d11e005c61d9d474c3b333bd6f74cc49135b63fb17ebb72d1e9fdc27c387978f92fceb6f8cd98091f2f72075159ad1a6b5a1dfc2c5572001c3228b7b69ba00152ba3b10a5c6b15c10065adef62d4b60accc997affc226cbf1fffee867dd6b8b98098fb46efcacf3268d72d2b4daae715bad9bc183a63fe95dfdf4a86783613b449e8055319bc64a743572580300c24c0c2089784c7c09097bd5d6c3de92d361b1ee193ee10de02238d24898f9071232835e8793d3e13a35cd269a02d5f289e1c7d692d8ffe9129b7af0727473fb3da34dea0859479c912d2deb27b095f570bcb5334c12158f647c034b6c156c10fc9d816317de0b1f62d3cc5d19130c034ab69349cc16cba78c79917d72e12c04a66987813df26f4fe8b598ebc53e5b8cb6fa16c1b8b07a0b409ca32b726a95c0f508d3acc484ad8ccca9ad6a89f4194a2e2e46394f5a0af2fc185f1872aab042f5d207b4bb95139adb137fd1cdeb4acf82ce65772809002f376a3f1b72c07934142789e28c48e783901f415770112a87b302807fc7c243334cd19e3e31b6a240f5015c6b111ee96fc3230c0b42206716e74c10aa9839e58667f3353972cf4522ca63323aea0b46d6e79f575eb7506a27dd2495a42bf40cfd6918288d119970b872cc08df2522f245481ad04e26f8cf8607bcdfe569e4b75c59fe0e727204ea0512bb86da8f1b3e8494ba3c4ed9729090d96a2f598b1b490b94afee8041dc88296a0c207b56b13ffe335f1905119e04388c2e24ed6deb64deccf2cc977218f66e26485188a02d1f2007f1ced137cf703268cae627e5ee79c63afd52ed32cf99a8e5bb57a2fcc177603d35e8ad515622fdc3a91f9f2433b7405a730ea2727d178e540734c5c292aa4670959a190c8f5a51600bcc64e3e2f7366b15f689729fef945f9066511f4f93509a62e8e461f1c7825bfd531152e8e21112348a4f725cd6fc28e0709b17c9fbd71d86d7b3bba9e79ca1cedfe5e51c8aa74793307572ad0f1949e7d2a7e1a2fbc500094f2db61c10f46d05eec1759575855c71b6f75feb716e072744772c829c4950e82e15a10ed6ca5e05a3552aee341d2431d32472bdf23a6eba7fdcc8e05149f67f85c643c0b64186e867ab9131ea2dde9a69f872e0edb4ee9436fdd0e3d825871d8ac2dd9a99acbd88baac5cb0afd17d646f1c7256d5edb7acdf474eaf2324d08b30525f126ebf2b0d19415ce576bd8877df8e54c640ed31dcaa25d84ce0287b11bd6181ebff8c9d9616b246e028f1d3d24e5f72f60645ca8ad7bc1d21499a6c7549bc57a91a02814abf3c6d9d434b8d036b1a721dc585e331118880ae7bd035cbbf1c2064ab7f50308650481ee47b391c9a017248436952ff6c2ac39bfda93341d875ce10f212a747a17b2edcd3ef0daef04072c5f3f302e77080eb0b005d2b1f89ab06db82a5b6fd902513febd7cd65e6b84562baa06ea5f16147a3e401515ba134c44d486515f2892f96e898171c9477c8a273471aa0a65e92a0a7d894239d32d1cd6fa5525a9846f7fd6da3a19948b5924729b1a0d92af730b9bdca6580827980f61c842218e94983c7ad4f6446338405172de97310510d8ea01bdbcde41e5025b5068faaa7f5a061ad72c02d011ddf8600f769decc9f28f0c0dc8c2fb33e53e600885071b2b73dd4ca50232d5c45433a74135388a6f46b1007be353a3932546a68c450418f0d190a419989d58992cc4de6184f9b2c7818b3e84b525fcba665dff0cb304642f6a6fedf646b8ca07738eb70ce006068e660339915d3842e78e2ab4cd775313b4a9bb7aac969fe54e2880534370a4c694db7db03baff5cc9869283fc74617ab0ff2bd7a9ca3f60bb6bc9f6472c5bf0bb7369845a7d5d9464a74876b34ee78d3dc4a490af12a2d216053f26972d60606f57b4fbdf4b37286956f64c30ba6b8198794dde073ab925f668e654767a25de20236486fad6bcc7ef2bc01e74768e25476692473939f488d1b034ad57200fe1d6686793c5e8dbbda4dd63822aa7e41b20d0d4fd10899517acf504e6d19132b6dea7908dea9fa8de145ef54213d9f61e4148f3e3fb9c635446ebb9f5345e67fea39dfd27ac3c9c3e6526536acfcacdd3423ed021f2341e3e48db16b72729ff7d5bd7303807fcfc86255c4b3a97c33c542a59d1a5d600daf77e77005af72662223027cfff787e83218da3aa007f1c4b7e0120d79b1e801e93ee172751720942d1dfbe1680e3c7e59373dc239e0fb3a6305e20406d79f320bd62918321c72c43a8070aad17cf2cde777f74466c0d2c7568d9ae245a613b492ff988c2f1a7246b8e53eeb4a6e5e1bacc305c28b8270d9c8fb31c3980b3308ff925da80c377205933e984e4b3f673b486c62f98e8143d46f6b337db4c4b933bb3b48afe3d3462ac589d8f4a0483e14c32e6eb3d34940f9bf723c56af38fc106ea1f724207472348b2ac117a13d3f57e8f1fab41c7665dc9cf44bd74040c7d80970289b983e6be4d3669a1edd632f1c8c61f2206c546dcc6e156948125092540637abaf26cf6c5a164f8bb15dfe21c68c8461f754a816c6fbcd2d1a23b3e430a28d397a6e9a72a0436be2583f190e66e0563ad8f9a28de5f496d60275550043d268cdfaba3852c3575e1e15ca1194fa0ee0d609fa1e25cbffc62b93629643fdebc686e1d700720851dddafb44341b099a68fdadbb1db9c0b274caa377d802176b06290f14e3721c5d64d7125fc520b0f1be5905e7918132f261846c23aa7f821761399f97ba729d03975cfd732e57ea6b7062b48a18be0d902935aa2452d5e2a30509841cca27f31299c301d74e562552d662b74603dcdaea9c74f2bf7a99303c518d32fe93721ce8812888f9faeffda3ad593d35c8e16926ec4a865097810ebb79da72cf2008f838897d8b64472094c2ed18e87b89ee89b10ee6ab1ea9d8763b8cb6d9e3ba7242baac96799417de161ce476cb4b813544e2a50f030767d136a693181ca4d172316a8561725a78c31ffb990bb088b57c4923c230f3eae47b3299b57576010f171af2d62807970aa3df3f81150d90021e383ed3598a75765d3b92c80b502ad17208892a3e72a31a90a2fea397ccb6f2d0cec87917e17cc1374516bde58cdaa33f78d2d943e146a25cdec94576f0ba76bf01cbbe19cc034d5d59c867e78f50d472f60cd99386729875b1430698bface64e75f1c37a9bcd75980c9ed381d6985a725e061efacdc208493e76fee4b2918bc8c0979b5f061144eab9f403bdf32312720ea9e2815c8458fc5a1229cbd469da33d71cb7bb4c8f61493a358e576a03eb729772cd72faa9785f5abc42364d2277b49118000ca98b492f4ce904a258fc0072449a10931e176a8b574937a7c5df82a03df4f321bc78e91856a21c074807eb075cdfed802a65075e71bc1145f1ac454738eba0d20a44737223238b5f016eaa727dd765c97302eac0bea7306d8e0108d7805527aec8a4201e097e0aafb8d00853ef91866095f5fe37fff6e5ff7401996c850a02259c753b2f0ae17c9ec2044d720b9417d26e68781efd184bbdf192805c0f7b0a4b8f6b58b296743d2e1df8f9726f1ce0ec65a78c607cc30f1538b429a09f3069ae3f573cbcb983d3347dd31972c794b9df8041178cc8d29867edb1bfe4d8503315c3b93f0a87d71e3c766cce36555d02d2e655fe590e803d763fbc9eeb6d227d91f526647ea16cbfd267bfe872cfc24de8fa244895f47accc129ed9bcb0a04a4489ebc51338debe84764a6d272869d5b2a0679903283316fe0316f7eeb21bdcb3841315c9130079db5581725720d61b84ee282d84cc8ad2c5955ec631f012074ca366871402a83ac67643c76723f6a744622f780c2b83d0efc6e9885d5aeb1194e364ee33f989a204c729e011f6ecb4d5d9ea128f6d2a80e08396834539a542cf9bf8f4e6d603c5ed7ec12fb26c48b75af0d2296fb5b382cf9d96996679fac0f0af1949a7a01b4cb163cf192726d8a3d9201d96bc8dc7817394065f2482a3a0705926cda0d6f1a5dbffbf68e238b76cb10a7d0912ead162ace76cf287232a6b79be2485f2793aa1f57c2e7214928245942921e9e9a9a7486f65c3e73febe1940bf9a29180afa07c89d12e5f67216e1681980c0e7efb4267b661f680c9caef230805f4aeeed25b5633c84f1847235d16460b24327051a82f56597b0cce1b2e99060c0fe1878c9cd1ab098706149b6f267546e09240c30fc1709a966aafd503786ed534bdbfd0eed2904828a1a72efd90504e1ca2e45d792f255f481e04b1a2f7fbd92a325c9b9bce01aa887121a09aaab1ab5d94372e8e3da1c99ddd0821ce2cc67c9c3578cdfd9dd400a621b133966961989efab93e635061afd2b9105a87cb90b0f7d1b640118deff208b3b72a7860f48d9ded9a0d816129d0909c1cbd134a53a49907feb506cc163c3b43c726ffd6ce05f0414097a991857688f1cfd2bb145e797a7f0f971c830a7f9700620871ba3daba991644c8ec06f27ac8b5d50d4aaeb6e9a23d1366e49492fcfcab727ba5fa2f187c632f6bc33d233872b636b4b36a0ac62f9fe0dca57e96e4cae872be449ac7f6297df0ab560bb7c1510837e970a4cb61627cc0d583eded6c55e7727fdc8ab30d9212ea350791623795f54aaabb06daa080c4e44f9a543c95b61e01f60757a789abc4fa72f1a343e4c86d125d50fe94c29f1507546506b3e7f90b70b35343ab2e14168bb3131b633898431f767f753051ccb4e99f7d8ee4d46f3872b76f59bd2410fed526bf2265dbfe648d9a1e6a608e74b4f423559eadca262372c526cd2a1e11a773a73347b6aa96e0cff5d33cf52b9119b661807328620c3a72743e61dab59f6bfe4f1cf3f66191893845243a8c478e05fc859e7d74e0de6c04edcfb80f3113767bdd0476f885cf9c2aba891467bef50713d4cf5e8b2a3df42dcb80c5e1d1471620130584add9fe9462eda64553b0388ae769d294dac16710720f0bb3355cb2acd9fe9d7d286015c6dfac975c2bdcfa1d7578f64afe9a94f37231d918ca067a104e4edaddabf08fb3faac53572fb03bb84f746d7b62585f3e542d4fb931fc7cfa178581ce9d695214458b04a0d7ef1e63385e038fe8de7aad13e559e5c574d4776b9b3f95d2e754b82a492c7983a3f0f2c0ebf71d81a54b25220baf6a90539cbdb160d7df21e57da4e86ee9adf97a9ade30c74965cef04cfe72e0a1e8d6479eb18fa06c2509b9c9ee4f04a1e52c1f29cb3a3573622b67336c0df4956096b45bd45d3acf35beda4d718c01fc7a1a0f33140137956e2e4e668b726b380dbf1d4d534a911ce276d165b3aedb82c16fcd5b52e91eb676f5e26a0372e03d5534ee529605e33e1cc43e77f9e0d0a8289c8943573d0036573fe9c79870de94e27e7df078f3ffe8e9cbe79cb34ea4ced8db0ec775c8381b057a13fbc27257fe12ae47743a046d0ac4bfe9511790770c683908150a82a95b328b845f1a0bbfb2f864c3e856abdc86bcb1c6a1bd79d7bd4fc94844ed7390f0d5f10736d972978d6791acf7b06f470e1b9a2c93ed7b849dc4658aa9d51c8fe0ed86f5c6d167b3c40ec02a0b5c54ff18f5f1d9fb7536d6a806e37b3911e6f908349cff904f61884258f83f77e7dc39f78fc651bb0d0b5eb0cf54123fc1b686db54e37f08cf72a3f33bbbfee3a69eb379ae8a822195fde8ad7d399c5eedd14cbadd6b66bda57232ca5e01787123f9de3d2383c676f6828ad87cff936531cd65e35e05bc548265d02931ac87cd6081441bbe3c44e1bfb089980c8a24f4497207843df81e636272bed3b6b0cb8e6606e9a27690eb8157062803fc3885e61c6a493619a1bec5035e36d0970ab67eff5555727ea199363ee7bc8cd20b47877ece2d670805df7b8d3de770209444854cc42a25462323e7a5e6294caaa4af0613d83e7b47e3380b8972a10cdcedb5e14b865ab85355e5b331c48185715f0db633359e153858871d7b72c9a27584bedcaea360cb29260c2442c9dbf332fe2bd69528c3ed0e2f278cec147372ae491680bce4e2363a89785ba2a6cdf7f806503c438552f769c12810d872da6900138edf079b88560f4736e560bf525ff346f11ded5feac8d6015debbf7243051c4e6c6001d8df358db68920f70323e17cdcf7f3d75243463a8ccaf8f81a6241f044c28c335eb141a3628fa4c6329615f3343f853fc5a7b542068f599a06fcf229a4b661c35c256695858e668cd8e865ce31b7518ce90f4b0761b9e448330f03abffde99b715709fd214670edcd53e3200bb972c6ce3cdd722cb21bdc0265c7861aeed5069d6871211733cac27b5e17d84c23838c0c60004482d7e4ac77298bc0c84682b1b7aa2fc584e61a8cd25f479f61c5119c4706915571b0ef1d172e399249651f5aa898177709006ed41a5e6795c41f1041cdd29832fcec8c4ba724795f88388992320c7f2cd63437040b0dceb5580cb0b1ddfe7035996e5fe8272cb8038b7971c79689a871f60b1640e5447a5a7adfbdd7816d63f342eac60665f322bfd44fe297a35b0a7ed28efafc161a8d4e415661ce5f8d7caabffa3312972aa0c28bd7bf3ef205d1eb54dedeb3af12648d69ac66e840b59f403c2a99db372b36394357586e09b814704631aead41637035b95fd694816d98df93f89304f72fb3c0bc6c9a20295ef00126e96cd5ad691d2480d8de971186a7079fa74974872eeba72e903a395324d3322ccbf49ff6c5a081736f4fe4d49f28b7122d478e772f41d5117cb67b505a0162e6515224c82bac0df6c6f82d8ccbbe12cddd6da7f720cdb85ca744bd0291a686d778b448806e7bfc4bee6284804a59f2eab5dcb7964738ae1f54437590c7337a1eded1e986ec24f33a600e06680c86766e7f24f1172af3992ffc81bde7b5ff572364b0ccc000b52b8d17c5d24779d66450d2e0f6a7251d2270e1b583874ecd2b1a57c60a3a71dd4fa7733ef3e172d6edc5d1b298b7274f44a5afc1df77e3b92cd54f8970e767089bdf2b6fb23248a37aafe82f8ba721cf1b44632908c971f95fb31ed0261b41fb3612bfe73181df9860c2e45909372ec974f162f0ad962b9afd6e38a0edf87587c23f17faa6964fc73aa138877f62080adf98b6eb55d3196e2d380866c4202a41936f3ecf3326180b7350f1650545a3ec4c761849fd996764dafa6bbf5acd380ef5d50ba33b292f1dfa5d68d7d91222dfa07025977f778caeac88ec62e10cdd6fddee9ee375b47fbbd23dbe03b23728329fcfd73d29e82a5a6ccd05090f848dfcc9176ade37fe734bd601f600d1872735c8e700ccb6dc1965bbb6b50a21ad4d9c1739bdf57d952747c75f5689f330528d4f86670938a3d5b818a3b71c2c263a454dc6a054a77bf026a47651625bf2a244203b5645642fce7ec68270aafd52d57f91ff034757a3998054615f860427275917c27714ce7a77895ef7c07a4084e6f1fda0ea548729e8bfbd9f17d4c04211d85cb72cfe092df73a0d913a3750efdcafc0139892210f13c9dff100cf25e72d855cf2bdb3cb4b9025ee007bfc472b5b41bb11c7afb41d4dadbdafc66c1e33bb3e05f1f2b7dfca140d5ac64fd90e5e38bf76309957a8f5b52fe684c77349440506b102f06d0fb0afc544e928462ded494ae7cc2cf3bc85a0c2c1985694cce725fa25f82531bddd0a6e21ea61c5a7ecd4bc711d217c6afd7c9f04bbaa8471539e36634425ea9005ba6eec75f2458cbd7cdbd00a5098d5e694d7657c2916d9b5c0e0ac99d135596d537ce308ac19288cfd3ae0c37272526497187682f702d8b721005f312e744bec2e8ded2a02aa77c6ca47af881d2f89d68dc6447abad798c72ca97e5c88052db93df06b3eac18b7759a9bccdb876450481701b52299690b706c4d51aaa4017e32118617296cc05a1a137b28ee09591f5aaa82ca4faeed7e67205ab933e91e57f72e95d15e541a3f45a566507cb30384e1a2ec338cabf2c9872aff2555b3a29c64a351b41bac29f79223401a0227989f1217799458bf9fe8c728ef2919d391c338e7465248a0b6aad54868e897bf04443e68e6ac2ac9abdff17d6f65ad2c3317e38c44c4e696573e7d90399dce35a36f487fced6e8f23cb9701d6987e825fe3a3953493a362c7f3e920259205a4f147bbde1cfa66fba3f717418d719082a3bc40366069cfe3d019001ec0691389c4830d8e8a55db23c085e1725e72917c04662a886091583b611edd57bdfe312a04ace61bde88a6c1310b0972e124a3433acd38756facf7a8f50c630cf8a5553c84b6c2277a428bc129298452e3ee80932800c0c8883dfac7691ddc11ed300a0d5664df1802a55bf8895b0528bb8e5d15c0b50638f3b03806212bd2c48174085bb2674e4c94dc4659b1cbc52a6e147f3181d62f5b5b5f12a53f9ab3dbdb7da1bc8a770089565acb0f20d56f4f82dd175a74d2f9ebc579e3a1828cea854377d6ac6b32ae0d753a2690d0544172909a59f9b5ec0991ae9d72103ca5cde0bd5acac33e17064fdb63bdd1a7936c2b861a54e74236d6c0a9a73fb52cc60eb21c654c0efc77fd7a7d9f219d9e31323716d20a36f6b0684b88cbe3bae26ab7dc7a5318990994071ec0300a725cb20172d0015b909c7fc6d9c38198ac3fb45e6301ab9dc794b54286f038f4b536035a720990a93ce63b8514448b5d1a608f4aa5409c949086e463a0a5b74b65e2b3d772087ea3f64cbdca8e668b8342d5ec611c0a31d0a2c060498e38f8516db2d6707288a5f403aecacad292d60c15124b3c00ab35868567ffb3ee7451197ca47b4168370bc634bd35e9d7924c28d0a956463d38b93847fa1a4fb4c2fa43a60c0ddc652b48f392824aa62a3836cd194e0baff086b8b9380de3eef8ba14072d9750ce1c791f61466e4e164463fd996e181f5b1db91c25ece82ddc9f1c8a8fdd7f9f0c09565fc4d0f3857f481c60e781d9f7f5d87b83d4955a937c213b21b33f15b189728685d296395b0e5997b23272a3c5e3797c972443d836d81292954a185c410c5df0a5ac7f6c5d06d91514b0ce6b9886374f553716759cc77e8b7b08392e531805aa0aee779c7f895f4e8d2b2ccc7999549f743322ee96c508c99ec67c1e0a3c713c74adabd4683561148cbf73718969a75a3eaf5b5775eabb0864007dde3cba727e1c784f0314c69bbc9728861054e53e426a4ec94400d4053d7db6309f968d72a0c9bbc3f3039562ac877e672f9cf74f8afd5c6f407d702c850eadb1cb6521186f0fd985c1afa9c52a4a7e8db058557bfda4c22e1254d948253327a977158f72b4281925342eb7304fa042fff37c3920eae56feccca5256fd4bd1768dc382272336bce10face4d665ea9c605d736285ba8d73b662c475705415f0cde4344d672060e44fc94f60634d5ad63b100b674e815a32e65cb2e203384c0d7a086e33872d54554616f348f2aad0f98f39f0d11f5ae011c45647bf1abf528dc7bbcf3e672cac6cc1afa8ef0b5d3dd0da0dd84d812bf227bb1111cb94c4faa097c9c6c417268926dba9c565041635f2be137c6dbf91604bcddc0383a083ce1fd977818916b44ffe81d010cd1d95253f82557fdd227689b129471d0d5522688e9702d03ce72c05aa0c25e06f806eed0c5d551dd09634ee4c555188253a0ed84c2e3958c13729060d9ee0c99dba6f0d960314dbf964b97472e2011e9e8127c4d7cad387c4572b879f8f8d83e2f1642c25ffbd4391b17836fc55e21b8687a173d2e9daf24e972fc7efec0f4cebdff286116ce2557c0b51f909289f085b85a7dd532a3ae979672f8cb5cf233b82155289429c68afdac6240381c187a47c62f2b7ea538f9931a72d1d9382da78b2f3d9dbd7ab44d78d95a3f9a2c7daf610d873e574543003a727270271cd8d7ee5a4c06d8316f1ff5e10d3f4cbbf4aec921367ff9a91fd543fd071b6a05d01438e440e8dde0febc63d503f23a961ed5dd7c7f93293ab43402067241b5262ed7b38b188bb556947543666bacbb5e97c6842b4d2d95566b3fd2b8232eb07c2b8f739adc0a35369acb27059cd129a7389a114b762d7c56c360ff6e72dfafb0906177aabef87ba1320c156d320b1e7db50bea72f6032ce8c964220d31d068f564fc6abf563153f01bbb571656a6006bafef81abb8aad38662f58bf572b1077dedf69d046d52e4a65dd1d5114eee7f343e88ba1776e4aa127328460272b1c40206382acc073c6a3c5d4817d41a8d5451d07ed3366414b75fc1551a5716e0e2703eb20272e6e74ba6e939c519cc3bdf7947e5b7f84a1d1647c3d8c235722b719f4f12d15878165abda3e918cb005ac7df632a839d6bde71ca3bdc8dc24424e134e4ad3ef2e01a6b36390621ffc0ea9bf9c129a5053da7de2e60585be6726e1d8bd037dab580080ca6e8449a8685e9a694b41fe33be82213183e12274972c0ce788d35c5d9d641442d5cdb126fe19e9a69fb8a78f49647d0b7f817b68572ad6f3bba8dce82c660404991d6062fc1be30d3839bf1ac840927bd0484ca2e384ef3572a0e8ce8741d51b26fbce684e10e13daa6d36cb7d6ac914f28cae39e721abf685cf90fd6111ce6a8011c54e90c277315b68531b9b3dce90e5bde203372a4bfcb74c907ba22c3b3ecfe5bc40623ac805092d586c40c568401431cc8930fa7ba333ca8c93037a1fa369a1595fc72c341defdf493965b3e8595352682a97208be83f853f9adac60613927539dbc61ae453716883c5ee71566b355f6669172de66619b657719c69f0560e9151362dd9bb02f4e7535c4000338921023357e722f698a43e74cfec55565adba7b996ea45da7808c72d4ec7cac1f588641893b72f2e0fc0fb7b30e8a37cacef58e5dd9610928a9b63e6460944f1b5e93d409c372aed2388102fccf4d946a756641deb1ed4e0cb39ad831d1fb5993900c59a34f723dc1d5ff9ed086477dad1d03f9d1a0a620b0bb0914ba3d17641a102d61e2f972e0e043cd685d9fa806d39f6f6c913b3e0681eea46d6a76110394eb397ae9d572e74cce6550153b2ed32d0b4d733f35c658ed6c17a37c8df888b151d4e29cfb727da3a3fe5a8329f7a480b9e24f521799669227cbb81132167b1f561272a284727ad963c75987636a5a0a8e4e593dae85f01d3d80d44934e1ee18f796833ee23ca358ee5934064433135340b983a2200aff2ed916c0e471a0c33515b205a28972934c63598da395c131f2710d6aae4411eb2cbc2b47e3fc44c005c22aef38c1727ad4744724f08e77abfce1245ac61ee052d6a31aa11f20a95acfc8d396dc677252aa25b6428e83f161b8bb1ff24866a5b14b7739f9667d1ceece112a6d8b06298b7141f6efb653f523b5a7e01beb90b698a5364d50194953681e66192334b1727f62d01e24e3b77ee26f3e18a85c91583b72d3dc2b67bcf3e1990598471c8a56729b07665385d66385f5f662a90ba25319ec3122f78f7a435696b2c307c24b72da3c8ca96f33a9522a0967aa930ac9e636046215a696b790e0a23ff5ff46b538b7d73e0f2de085fd6dd29421d93214ce280eebcee9ea901d8bf0c151893e676fbdb56a48bb80a060bbc8faf9a4ca6f7ae01b9002d41ead302a34d249cac423725579cf8bb5e7bd96dcd8bb8bfb083499e392626eee8774d9a75dcbe9789e2403e93604aa5ab827b1dbcfdd9a82670c2ebcfe3a6096fac44d5c158def0dee71726d32cfc5e69f282c6bd9e465e6f05ac33fa9006384d680023c19b4f019f38b7272ba185b2db93e7fc7d7a09b6908f67ad64705229bfd4f273fd08bd08a81407208ed4b2d6f414dc3e4d7a53d003c2fa2ccbf53d82093f0ca293a71b4063d7b72044a2bd7a0481e3e7aa588d1b3c86d1839bba208c2ceff070d0fd01341de0d5f7ff3f32a8d863269c23271de646f2d227c05c3054d50c12a98a5610ecc39f43b65452a84a58b15554d536e6107076677adcaa6e6efb5f99f25327d76d354fd46b9d39f259206a448c4538351e519e77f6ecd46728094cb24e2209d5d6aca061fe2d57bb9759b7a87dc3144ae4ae072ac2b0d2c2fceeecb06d3cbd8bd56c59372bffb50fe358105e5f1fba488748016958e58560dd06e67ce88691db788f20472725832e2552d2e88c48064c9c910022118377be19e96010067d6a41e261b9c72bc536b55710d03e20402c88a3076cf1bb51d6ede89dfecddd4ff7c2ffb9b9672d7dabcac9fc7b15fc85bdcafa10cfe5f779094c55542e681e2e34896be284a7232e856f144d2eb7f913331e58aa328c9819542e9a3e4dfe0a42a8e173922ec040f3ed1aa754c8e2ff08c12b6cae789e40578c52303ce26ed41de0afef8412954f1a83b7f9632bfa696d48ae0e4de45877348ca83d798925459399bda183212079c01b59d5228e830259948b2c7992ccadc44a44a77964c00d53388cc2ed3eb7211153e8244cbae0246105859aa75814c665da80a9455dc4ead9dde79e73a8264862a6f63128f0775e2f6d2f4002e52c982f0144f4349288a7edb7e4ad94fdf72ca41dee3951bfe3798a4d728f5d45cf80b139b1b23f3c955f3016afc4ef7bf7283289a82b0fb4faefd2c4211ba54a9f6aaa2a3328f0e9ffa817a9db7fd51601cbf194800f78f4ddd6738e81f9175676fca5ad0cb4515eca7eed7bd5a3a31e1722d1d02155e1ea989ec2f28b931b0919d77a537f447bcfe09fba7db6dcc6f117257d05d838955431ddafeeae306985ccf063dce54f57518c685c55d7c21ee6872d5e9fa7cf1057a2b7e18a09d94ebee24eceb6947f2b66883b37ed9a2c2ea2f72be4e29a59e0a09d61f9f2fe51a3cc9ba298ccb18614d41867d7d3fd00ab42772e9d5b206346221f9fdd5a798f726554a76ffa6fa66b26667e268848a024aed46d012a494529b3fe8c40e00f550ba1758a813d5dbc5fb81025f4696dfc653e272f0872604ce97c0133b274a4da787b8110ec5f046d9eab00bfb04696dadce0b723ddbcd7262516446c090dd4b0f9b7ef5a8c2a2ad11360c33a312b1360caaff63e8efcd2fc628b82b76aac838e2af4ecb020c03f4ef48136c5874d00e0db436723822219da7f0147f33c7b7d4c960316a556f92bd167778297673b9a8d1b3e82e4519ce088acc9aa01346490e55b2f7d6718b8300d3670c9135a3644ab232ca72ecee374e863c311f6c20876a40a346a97c96dba2ca5114356aec00c4523d797241787e5b4eb639d054b15bbcff986b9bd2f0c1e4be9724e65334ccca05d5c3729b1e166a27e727c84073c6758117ca98233de0705920dcaaa32c594974a03e72152789146a7cf1320f79bcbe332c83dc3bc8c648647870e919ab2d64eced8672f8ed42f27616fd35d04da6eaca2f26afbc910b4b2784b0b3adcaa5c84530864fae8654819c97af0c7d7a2fb8033e851256b662c3acc97b1cbfe0624654c62b72da29e0403d47592ecfc22cb620417f5543c0e9ee404f24456c5adae23bc1304e6892262c27c6336dfd87760a4fb706e04706b79c676f8a5d06f461681dfdca72878c4fbd0f8c9ff3641f08128c1d804ce807f5a44091116cd19535a67aa784380ddf28c96bc1595150ceb905181c8cf174817f49f5cefd794eb4096031c5f5720deb7d9cf695ecfc7e525a3dea9cae67b486aced1c2cc7338a9667e20f86be09100789c4e7319c80360ac9b52fa3863b650871a82ea9993f10a55245392d7442739eec1a83c6c33f7449329269c503df37a6b5800f9db6e93c69ffde7e20cb683bd555efd06a34a7db73fc29b38e66f7017ab292dd6515bc18a4c8db6c965372873af46c0f0abcb4c550a74118c29e7fe8fd7b886e960dc9d038b269e62b77720287c0cb2de17f817abcdcb60fb5703e748d2987a0d8a30c08707f462a26f8729f63bb219ca3fd2247117bb4642a3706efb97572362e1420731178403c24dc22a19df201f2b2d666561be128e0f6627297b2ace18327465dd25c2038b04d897263112cd8538d53eaf35b3d6c031bfc97458aeaba2a5706fe3e74cbcd67f9b2499630ab524503e6a9dc48a6e5ac9f48568b9966fc7805540dc845eea050aa1872d63e8f20f5f0a9af7c809b93186a45ffb23180411d2d246b21f88f4b77d2bd7288f653708aedc9504b344fe503fd23603b3aae347b9568b22fe11dcbdd23443891d41a869b981183e894e022750942b79be9ae6a175c7a30ee5942ccaa48db7218fa953b2a55a2165ec92b4fd93d65384ba85acb1e464a80b786b046b54d18328c72b119aefa8e7534c7eac17d54a5768efa000683192da51d60d0e3fd800b7246bb0efe260e640ccddff9617b776c6b4e664ac950f325b309ac9604a759e872b885a3bbe17cd73f086e304fcb2bc157de7a132c20c84b07b05342d21c18ed4e1e83ed7e4f5c20249a3063efc68579a6a27c651a292f95ea24c30356aaa3ac53a08819d63fb0d71c0bfdbaaa0d74ce86ea45c293c18f63fd428f55edc483fa0938b43615401eba247888327a7b9dddd88c8634edc210849abf236ff42f61817268ce54480d35a9036ff45d18424dea51438e2e1c061755548eadd4b509f8ea20c4c3f656d23a19fd6c441b4f27d976f27bedeb7b4d58af28f211a3cf1306cb72581ff550301393066d76f918af90daff2c788c1b958baf7b5694d4254c00dc723119f8813620422282e14ca8ee9bc13e9cfdbbdd5206ab45dcd0e28830467d1d9e9529005dcf13f0b7d84cbf85acfe69c95cfe54f5ffc790784f0759fe9f207225f2f8fcb8b1f085fd7122a510f577b6570d712bb0b77faa2f3619efb9f6c427954a46bc1f68e56f9cc74a3b500e82596dfd27519c74dcd42e6be42cfee0331fa977b8e4aa0bf3dbc108622a09416a0f3315e8d7db363e2e3ceb11668ca88350dc9fbf3a3f0f0f251cf9673d062638beefbcfce15a38a7b60fb370ac3b245a72830fbfd33773974f18ef16258a14322eff5c3997acc9598fba04c216f45566425d070c3073e9e24450f6b712295df66ab03e8832a8275626c7fa2a867ab5702045a3d7e176b6f1a963a237160557b93b683b815ce505f1a576adff08e18aaf726ea9b144a70e4bd5d23dcbdca7e53be05c66c222a3a44171900a61ddab712972d6560d678ce9f8cd120a19bf9accdca158504cbab1d08e8260dca68f722fe8061d4f05cc410c8ffd0443c3aa52b539af51065dca1d7858b5d14da3061932fa7278f4d02ed8cd1283092a0e858f9c7585cf25f76ec6b2f184422e3db6cb2a14720d605dd775cd7858f13bfc44565f1c1b711a739fe64bfda86f5cff617c71892bff7666834bfdd502afdea20768f5fbd47b52b36236f3c460d660442dfc5441725a7cd44dc0a65ceb00fdde32e6e3d555363a4db23ba8abd40e6c45420f2d987263960ec3def187ec46eba7854d0ad416270d89c763bf1fb8975802b6a88cf5723cd341ecf6c59616edf98954a04b54faa61ebb1e645c01448d67baa70382ac72a6aa2eb44debaa9d75d8da2d12da3fdac7a3bffdf146909d1bbc24d2040ac872aa639ee0e761acfe6a3ae213f37975b61f9f519e58498709693b17ad897248724aa790d4012da26445b672bc88eaf37eb040f8f93bf6b488ea0222637ea1a9725116e9dee5bdbbc523c2618e4d9a9c6259f7488906698037b29f2c172da40f72318746d313a327d5f36a48b39938264ef96be53b6182f5270370c67a45724372a56013bd8ea4d4a297e993a52fc9051d2621392551653dcbb5b6cd9f219a997244c4d4bff32aabe92f5cd895dedcf14aa6da0b577fa1450953a04f8bc15e4672ded03181f8145888b05271e7e4dfe52271dd4b2d9e36d7243e73d4f7ce4a2272780bd9a159d3718083687aa5721b2b8f6c9fe85e49a47a12896eefef488ff472f897b67f8dd56a4deb71c90ee53b901fa92686b063916b197de02d0f710b0f72601c884848da006d80b94fd73457a6c0ad57b639fc70e722393f9db3f01e53725bac45c83e864d33dffb91ae820b97362aed8a2b5d632cb60bef27f1e0252f7133193dfcc841e9de42da32e9efdb0939b120b0b740d8f23b3f50c2cf6d0d42407732269a2e9e568dda302a79b10c5763bb43fc69aee63adb816ba73d61e87e567ef22bd57e7c3677411d7bb731c68006f5ab5b79b9a4366eab59f27c6c46f372197042087aea1f792cd5186e4ec86d5c6b3a11dc66b33d2f5e87f5f5b24f32728901c47f7524c26acb01e1ffcc57adb6eb0f8d558510d69606380e064582725f1986e5974a24741a04131d180296957d1670472e7208d5721f706fe1ec7dd64f932050a2b393dc9f8517c7495095f088298f6d3f119cb009b9949487d56fcf3bcc61805f2ad087932d12a80d71467267db94ca5f79857aff68e01a630b8c8e7288ecc022154cf7f1582fc7f4a36580a06b060451227b2a2352ee8963fb20931c7d1c6afa25f3d04dac2c10fb4dba957229538cdf7cec6f9e4852a36fbe5b0830cda4af888cd64c66dc21d3babfccc952efa3b2671bdace80b770fb3018b49072015cb4e2f2ed91dd62ded8310d215eb489998d7887bac10a5ed99f6c7e27f772b1109c1e451b95b052af67cc0823ea3a07104ffa9c244348098279961b892e72271f51f9b20a52443db2c53b0b090fb66295a92df660b1bebcdd4cd1ce3b7072fddff671095a351fb6cb06b02ee2eafa4ec8c9ef89be80e57ec7236f6d5e5672a94ee910c4a3596656fe922e52b45ab0fdefe34483b26bd92110fe09be474066b6d933fcd09d4d2e449a57fecad97284da21aba60233d02e89a7e3a30b5b6d1b078dd144e661e6f5e8523a2a97f566c8a2dd58c90b6c05dd8e9b20e3323ae6729289a0ef1cd03901fe211bdb8916b52c64753f124ca3605f14b1960ae9e47872b6096362fa484face602928383ec80aa78bb40803f9ae6f62a42a71e89b9ad10285c5a8058293c96f7ba4f2c92f303b3cb40cdcbb194ed1af3e42a8abda92f7226e4d0250e12c3c94adab62650bca08d7986dd1cb1f18255247941fe7da1b072f414f9bcc4516f060feeb4ced0f4893309a442b6e20981d312d9949b68ad34221b6cad2a5d40b587d4b504c2c39bc51ab7d1ae7d4f566c9d25e58bc15bb22429a702d12c4d8b62be30bec59e1d00d8908c9d5fb2ec446d936c0961af126a087286d1320a37eaff24bf91f8a4afe3c2df6f3d4e66951d938228ce842e9edce7095bf31fef3c7075f5f55c082a7566c9330517dcae35c9d1904d0a2a12a4b1127206e83064dc3523b4d9d9936f796f6d11751b922b1185648eedf695b06f6097722e2c39b5153e41add56307c937d81d95453293f4077e89f9a092f2d00de2d1725d48534486966557eeb3b4ffbf9be4b43634615ca4af2243255009fa94c34d253b98fff11f4460c2cba5102f28fda4f2315d600195c606dff5a0e4b5c824a07215da5b1656092e7be82f8949ea9f3e089ffd4a8dfb482fa40f80d018a0c3df722343101392ce09a8f87e596bf07915c8e4a5f4b998ef02a4f4504516fe9e2372988bb53509d8985e8cebb7c0f8c9162f68fa31f7731d54efd2bda596bd3e44725267b562caefba386126d3fa11a8c55eefc67f33696deb735f648a66c1c59d72d9ec78a5fe59b2d820430a9388ca17039f09312750df37d161e296cbc0c0a46179ecd32526c67a1b085e3e7dc6d983a96b21ad0158db166aa008894b1fad1e7290bc8c8ebe31947e289eb1858c457e3bdccd30b0532e5c5473bb5bc3ca317850f139230c213629fb77e2e066f98d86532106d028a8af38ec1123424f8ceb351372b5f84589134050735a39e97d7446931a39276cc14f1507f570c7826f5e5d4704fe4cd0b47ec8108e43630fe322c0040b10ecb75b40a9860562dbec719e897238f19220dee47bf489da0dd732a9777f5c8b34bdf094835dd762e2f5eb914772db451b6f320f6b120a99bf5b710c9104abd4d08fa217df23f09365d1b720774131e828e00988a466606a00ec098120d1784f92db7025900ee0f19d01a145c37263ddbd3c12b71ba868e8fea8f31970caa35cee5e0732e052c91ea164d01ef572de2315f9906aae3ae34f09a4f4cab6034e9252531e69260a046a6aa85e187f10af6c44fff85c8897ac75632e0dca4bf8a55b3f1e6b321baaaec34a1e1fa22972699a61d23a0758290796a6f10c6f72cc6207f3e1e53a8a7d4f285a26e997f8722a63bfcb0eef8149869007e1f345e7270c72da1307a3ad9332c5c76a36c95c2fe5abdbb81b8a6e8d25a555d7551b7ac0f7736849e847e7b5bb59b18339e07864894a37e34650ce30e34cfebe78c8a5700d1a5f9759ca5fd6e0fcdc2fabf0451fcd06d52e3fee6eff7265000c80fc98171c73c01a3a27c164602d36da5ad55872068e4a68cb6b9e9e9a15ef0187f52be7024a11bc729182c2b19b71a25e77597292c793bdce8127276712efda049d890024769be0b83128db4f79b24b227a736f9c291d48eaaaec111ebcd1c9a26e3ce61e613f076cf76fb7e5d0d3bc2da1ea3bab858a6d0365500de06d06eec80aa7044938d563a25f83164bf51f84767b182a626ab6da0120e9276f4a2302323824a1b80194dbbfa9b8d7cbc699fca4387872a9b036f6e8f884f9eea3eece9e65e884dde8471cf744ea197a518fb9ed15f836850e464a1bfc73d5cd0639436d6ad88c0e86d7e792e964207477544c3ff2427282780390d1375d7aa0848d4b2b8ba5bf03b7ce16447feb913b91540a5ce2d2063875b4b23f32699a4c4aa3b1f05c4748d72b9afcbbf4fb8761dd60c21673dc721bbb327debcfc059b958aa86f08f3ebef22b884d01a9721d81922b1a93a9ff72ea50e4c42f3047dd878d29daa3aedf84d84990c4fd16d6fcf36698206658dd0be03c7e492a8d2f89bc793dc5c037e3fdf40a38230567ad4e38fa6c48d82e08147a338c8ac2a5830b1e1305dd101d825f5e8f71f6a2edb17b1c0215bc250aa3725082443c1de503fc224a72f98d3af7fa890fce10ab4f50d3f5c928532f866e72de8f34636146ed861f21ca49269a8de01826eb6c34740328fed457dd02722f72176125bae6def41c0b12a94f5ed8bd55d9ae243a77fca65b74c99a6c6f6cd43e104ebee6c1a66dd5ccf865978ac075b187e44bf075273f1620c439d16bf2e7725a62db90a1971eca4c3a14f448382a51cfd6bc78247ce20dcbd3316592ec737203f05bf4423bcafd08a217b664c0124f6ce832c53ce032e6897a4e5a3224530999c54899fe7e46d764fd57d8eda5a39c23c2da9e3980a9a18bc046024f6c0572ffc3fa095732a33b145e7a96b4f4704e7002aa0c3d6d2ab4d5790428ce529316348f243d9503f4e981b52c594ec23b2cce38a26262942ff345874cc6bff9b5449263f60f54191a4ddbcdd9d57635272b6ebea9948c19fc68211878a24560e84e2b788d5ebf8768d2fa10a9bfa3e5f013b5f0ba69012855e35e8a2722154ee3723199f765f58e37095c8f771fa1cac37df9b08f382132bec95a2a0be906ce0740cd119a27c9a91d5e934204717e7dc6ce4f595ea10654da16496cc7b3279c6f4bfe0572462f783cdaad80a49d4f3a5c1e5eda3b1408478e464a351e97d00e8772f4463601d06df2f93bb884d584c53481a4aed7bf610fc2ace2543d41e68093729c496aad9a9e5bd0fce8111e90c3560582ea3cd62adf3bab1f729dce4e80f85e8116626d3e3aa8ca70a7a52e6e47c9f8cdbbb863236c039fa12be8247ed6b939f11a908566db67697ab9dbf11ba2a7a9f86a71c5e442c82b501a64b7cdd27b1c048ac91a941153edeaf4b7af2d17deea8ab66a187ff1a8dfdaff3dda37929972d5b643742f1023281473d8146a1389f06ef1d372a9ce83fa814ded928580b201083c5726c5011463cb173ee4954662a857e5e9a3d57cc3a9aa94284334c8c3171a7c96876fa89f812758df2084b6fe89c0d4d37b75488826aad882cbbf341c3d216339d39fae81f98d6deac80fdbf9839f0c501603a232113dd62fed184a69727b0953c92cf4a793f0a518ac4bacdee1ae2ff3caaad3a4ab17245a0df0452772fa179f7d359e64dd960bc4e7d34d859004818bca3d24b0cfd7f9e8ea8b6cb8161d536f5581633293b8e6a8568e0df03dfc1ef6540b6e583011700ff4cac3d96ca92d7d8cda8f89e8babde0b2869ed57e0df3689040908120795285ddd4c528723fccbf471635e28aa4aadfe2e66597bcb0fbfe919f7508c51d162c3730a58c6c11733be918ccd73ce819d1cca2061dd445cb9887dba6c43522c6cbc1a794f252413d518f3634d7b9d09fa0301b27f0a7d89458d02352b306f0706e34cc259a72dafe3b862b2e09f2916379cb9f910342be7cdfb3f30a49753d338a15d7c0e8336523c25f48a7d8555508f5db57cf87495f468c6692bdd6b5e63472f9599fff727ce6e445b0fce9dcf8dc37752e1261ca571f9eb4ab5f2264a3425eff441ad8724e941be9ff6497e40ae4723aa43fa0df0242922cf9851f2f2a3e48cee3de937242fede62f762beb6231e9e041487bce3b2a80af22ceeaa4168fe89380cb32072019e5cb58aeaa33dfff7c10df3164aea89d3ff32aed251c4018c08347307e154981582631b5138952f5fe6cffaa52f4367c66d9f00a95d8628bcc73b37175c71203f20ad54e653286cab1fd5b34e3fe0e8594259452b68cb86a2763f1352d55ed59c060c464b645919a289bf54cbcc55135271de5e571992f0c29e2019652f62e47bca7a88c2f3822b90de6f26f8043080e1b027b1f6e40f2bde981b33a9e772a3548a84f107cb11c64e64aa36a1b85d57b9bb1fa9dc054d66fa32093fe10d2023683caf2bd9fdfaca0462a552d3bff64d25783a77061ee6d817dae384bd4d18000f8f90d7caa6a46f234875350d870f63afe578b39ed4252332b18f8e1775726d639f2e53dbae095e2481892a95eb7a0847eb6ce976cf38ae15f8e0e8cc024b54383978ea4f59fc44dadf6c7b7def695387327b5a1873da80addeb5562fc272169061e693509fa86f8c6b8df835f9c88b25eaaeb2fb63adb97545a432ee7b1bc24bc08cadd5479a273364ac7c38d7a2dd61d946757e829efe41ac7bd3ed7072c1fbf4f4e6c3e4dfd4784a94283ac3eccf663d3f4e94eb6d04253ae5878fcf63fb6bc8bf23ccf6e0781f26cdf3e71e57402cbd6e02cc7d549816df849f4a731d688411a3818fb715f5fc6f2fe01454f674f2aea288f2e0d63d935755db85ce206ee9d474d8b40da508cacaef8dcb47a6f14c54e8e488799b1b09d51a28a6d06af070f4fe4f41f2dee626efcbea3b63b652db9a60d2bbdcdbc2fd548f1f3ec372c9b517d27cd0480c6f4a6f3455b5e56ff516481cee9de6057829b85f223d1b6420cad4f17d8a789ca46cc753aa71d5181b53574449d35de70111614fff598d4f0818ffe7a730ba4cb660614f76b2434dcd27aec2cca7d581c8206b86b672e5494b632ba2a7746b2e7664af29d757bb09650de56e503faf5d8240c2ec7fc9070426b2019a8ecb42651f30a35678d72b5463e6cbef8ccbbfc8559c5075a1609272d8570fcffbd261406cdd956ed0085add4ee4999365a594dcc6fc4579003852721a4da59ac8d2370ff5232da2e5544a216fa1fa895517c531a4f361841123d01a6f713370cba481781ba9ba3d9d6a3166538e64dc23b9c82dcf166e8e341c7256ad213c6eb79de417e7ce5307e955bd4c607c7e29653fa71c2c7ad8aef1d2e26e64c31a24f34d3e57f8a14723aea041ce84e435bdf2613f2abc02132871164623a8a5b3a4a95abe20c13b6a1eeca08cda96f534733f9e30e552133ecb0a215672ee8d0ddfae04d342b89d4c2ea4a93cf3753be3c67318844be364c58028c9f0127154f6550bb8cd70b17fadfb73a7206e4e1c8d3d194e04b546609aeff4f5cc7283dac113a384e93b3e80e0ed6b01a9e4178936ffdc7129fbba0394fee7da733cf8ac1b2f860bdb3d9ed7e8eeec6b440baccdcdc0666bfc0a6e66c8354bdef8720ecc897685cfc671ec56eadf4285f9e93b284a233910ac5587afd36baed3177259bd86c97d12258b151d0d7eacedda6a5812e2e5f890e22ceb9b574c747df8726207f4301133e1523ccc1ad72a12d8be2ef10eba934855fb9d3d777111af1f1581ca3165431f8b942f41733f216ab6a651e5e81ffa7dbd1bc6b54b994b9f71724abb3e0db9be7abb46fc24cbc4d97241268630db0007c57671dad92a15eb9472cc115ad14fcde681fa902c23232773a5f9d8933272accc3d08279b245d1cda72abe40247919aea70da4783763dd61312e99b3f80e17dc72fe17e009ba3e20372fd9be77f00001ab2108862eccbd812c07eb9647c35931ee11d4446b275588672bb40b321b41167ca5414bdc506225f89d999839a92a82fa40c96458bc3ba365cddf8e5e77ab14f288656eb2f08e88ac2187419ad25b299d9381c649c180c1c721aeb619583dda616c1bcb4c805821535c806d611079db2c7fdb37fc086df2472f29e32d760e89acebef5e0fc9d25e7daef222a409be6acaba7e558f64604bb721b6aa360fa5347eff906c21944d793e8dd2c73f8736efeb30e4c5c5f2243d30a3eb42160cc6d65c39022edd12aed618637ed6601cee25a65d3c73d6505c40b72e70108a99d8bd98cbd76ff99c084894195123eb312438f8a149cbd36820a1872b1f4389f7c19641d33cece0afdd0d505ac2f42b11a7d692b524bb2af86099405b13edc96adfa7f736b4d266e0d447aab2b9e97199e3b17280a4457c7077c673fb389eca6f4f06386dd94a968ab4dcc6a97fc41f024add3fb40e22659c9a624720a1eee1c83655b2b32d69d599ad2f2066a12f0cfb63ab0eae6496c7496d097347b0167177d2d457bbeaea6176ea7a6085cda7d4777a699b3d220106d931dde67c795f3a639ef43bee99177c755d5adfb26a4349daeadf33d5f7f516ee6fc1e108c6ff5f548f33b2949afd39b23f07f979a91c7a7bbc2e71683e66ce5c83ca444408cb4844c089afe0706e630c151175c056afc181e8d4fa03a48d1807c8a1e63ab0bfad89f8cfdcd8feac257e4290cc7b1357945803d792437349d71003f0b7273afe817ef7174a2405dbba925b42300f6e240493d3437740461766729b773722074d2b2191f3eb9a54f66b7914686409ee26b86ef9d4e637c41f92869da5f06eff0ea9525a2da004daa848518456e2c8a3cdeea331bc154aaf59579fc675603d3ff6d21c199bc244e089daec5076cdfd372e7377f68a9dc13094c9c3add44634269c49de7883fb4a84bb22cd9d27cad6bfefa697142b861abca298582e048425ae6bbaa6ea719eaa17f602ef830ef7d7c5db197c0f08984eacaecfc13da1d728d7718ad1743526ab5b2115bd7b898f73f52a616615e2aa7c2490af946b985724e725d158fd240ba46be1403fa8993c9a44e4804a21f9a791238b46703e9c172cc305c4a43b632cadd6964d61a2409f312678a06346e181b471b53f3c3d6061fbfa7bfb3d13a71af2221157e4352ed2ec2c9466a69eed9b2ffecda84422f367281e3ec8af019f085159adee77a2d0815b020de91df61f513d5cde6b3ee8db172c07f66a3b13f23506e4659255ce0a1b3d01eefa31e791f8bc56d9b50d119f60e6d2a6e8e9567ee62f9edbe85d77af20e2cd45098ae09116f2cf120b44556357236cc552d41f92ba34a443bc0c484feb371ce7e59eff1529d9e8a3cfa62b09c66a746fb1efc534dfbc0bdacd30aef9270a3c2468083920703e8f2cb2bda0b8f12df93f915950739171d3dc0b66530b48b8dcbaa32753e0683e54bdd18da47a272dda784e7912f8ca49c28a4dbaabfb8f5c44eac0819c8c830cbf5aa54ac8288413955d91f656ea6dde4efa278c0645b02ee89c24465a2d03283af51f6eb163736f97e50ed0390500d8b57e88a88e874c9a3e0e6f49b065efbad4d9c238a5fc2549e6c0cd17852c275a17f0a102c4772d1c30858d92b5c218f806983f2b37bd54ae723ebaf02a464985e3ad40c227ec14544d3faa4ae479152595210d87df6af51c291e67a51eb23e26bf28645a8c7471f2dcc2cf761bbd62106a064090cced85292e862e8a5f5cfb0049e68d9ce8e132a1046345eeedcba2ee0692b86aaed571bee411e0db079bc2d8772280fc5e19789df4bddf73b29c7c01987a82037c78e52ad2c3f74b0d6b164e7988cfb586a3468b0a1fd50e026f0465d452cfd54141710e0f92ccd59a57af2289b1eca57c1f80d8d19318adacddec25c15c78ffb964933980e84d76247e34aa5c4c409b5839bfc4ff1b80afdbad21a953db95b0e2c674f0e37f6af9225fd5ec283fb3df1e7017afb684f3b35191a93ec391d11dd4877721763f631773e275740f04e706c22c96b4eb0b0484e61b0ef5e2c6a91dd667613a1dba7d6acaf12156d02d6f15266f36d2a75f2ce263a4f5530f24146ea4485725043f378c0e672291a81aee767310564a6fe8a45be280c4a63f885d6563dd53aa6b35b515c58d65bbbe1c420bde84f61ff298224bd2e7155d464c74743f9c372d9aaff3b842d05b6cde7836cc5c62cdc7fabda93d759956dd38c7fb8350b62720a5a0cac3e09d2a75ab9a985daf6a0d4364e6a8af7a95cf3e0698769f9e73a12ad3491fa2e18ac058e0d4828d0e6205878306a16764029833747809938680d72f72d92dab4b6a33100819780d497bdab0acd1a8233d61629160864fc6c46dc721b14b9c603ed6a6689db0c91f0a3b5636f0df004f99895fd87b159edbf0ee8723756358260e013a0e6604162aec8ea91c04007edb21b79f4e3916f3dcbb9e972539ee3ced7cd1dcebfc30a30fef013f4335ee49fc742d26021b9ecec5d12f772384af34b065e9b3429ba1a09c1f1d4560b8793cc8803e6ef41966cc6590a8c209f15cfdf7baf73d673acd5a6020933654f1c27c9fcbccad682a862b282a27c1d96f7047630c8ec148e4613e6ce2d4321bb080f29eef3098e87662368141ab0723baf6e0815ba2751aeda55ad70280a646710d856a4b635e85107adb53832852aa5bb2aa47134e56300970f3d0da0721c3f57e466dbace15c7a5748f3b13d4d30bffb8a921b42404c0f5d51bedb60ae5c58cb4d7a822690a2b278b4cf744d1272aa72145a407724478963de65013f136546cc173d654a82723b7c447e86c9ad729c818bc24394f36b18d6a60580229dd9f3f5bbf7fa8f0ed7a9eb767adcaa8b4f26b8b3dcc6cdb297b70b4f0538be85caeca08a9c77a70fee38f986728d2131446734476004cafcb41d6d387661fbeff25b143d2312e5f3da44aa83e2e991f054168a214cb3531d53f5f64fca7b2d9b1800e0bdf872742fe93840cbd0541cad72050c957d91f008efbd6fcc14c1f9c5a92f0cc472b0e9415bf8aee5f0018502723b9a57e585368d17e596e90d1b3a909dc8e366b5be2104f1d4778ec2e7496b706e8d1c3224970cf4b825577932cde1fb8a6ae698bee7dd0008eaf77ea4a7af4b91810da35e5bf1044912086d44678e852b2b67ac9c6b62308d03bffb61da0d4936f1e0bc9d36a270a60ac625f2d783a93f25a0fdb0736fb05f55553980cfe57222443859a5759fe60966e0e99fae61fb1c12c5df9dbd9ca0c824238e925454724f49743f96318bbbebad99d57a93aa0637e7d9673ddc9935863142665f59a402ac5ad47fbd04d2e7375415925f2960ef82a31d9ee4575f276bdb2d69742eab3310daa862400f072295143d4ce23afd25e038bdcb0bec38aa92353434e8e3a472bb5de70fa0e5802480f6954c7a6206c13a0ee1052b5048b089215bea73db4372de9b0eb05e08ddf3c92e8bc52a1ac6d30437e698c9554a07cbceacb9800787728b279e3edb296c9f8ac9de447e38aceaaf105ad24bd5f2323af53ae369cb2660b71cf072517b8be0c6eb691d2d30c45541e51d1dca05d833e231aa2a5c519272f01738be16d70cba7dc5be2084367deab51eec8240b0bc754f1ec87d1e50dd26ebd94175e8ad47b776f62497f8a50f12f4d18f46e512154792059e619dbf1959a0fe96f5fd897485b7830249774b7b74b2c83b10ef81617cc3431deef93f9c721fb774527f4bbee8c229a5f96a83480bf8ae4ba7fa2c168130a8d187b9f6c87270b2a572ac4218f8a998ec1fa70388f16967e79c01b4679f02107e91e297a8724d50a46980fc9580227bdeaba48ec65d7045fdb5d0867511bead0ebf8956d072ffc6ea12af50cfb38c2ae2f2e077b58fb92252aa5b32c28192a0cce38d2c4772836587aa11ee49ae17960a41e2efde05823369344c11e2b1fa17f2e84ebd3872a1e38d2c0adbd8ec57f60bc46fd3bb04d985a0fdb859e9a12ddd38bb8ecc69724e0edaaba8d516fa26e91227066c28a4f5f033e97cfaa8f6d06b3793ef106b3876cd0f4093b31889228f8971e31a03ffa45e39e0424603c311eb4dc408f9ae725127e7b8cf3606f210fbc46415692adde009a3ed8b0983b8df1eb4c79624507293ade0a91c13781c39c45284f21d495f36e88e99848bfc006573d14bdd2db7507fddee7d7dc2e57d720de209f5025c7c362ced479e116fc65bbdcf58c1df5972cc5f908337b1f56f7363f897bf09405bccf2c5aea833313ea8ff598c36be56725eadb8336dfbd3103edb7f44b4eabcd05449789f3788eaa790718f29a39ed92e7c239a96a16bb72be41da4b9883f876d9af2a04ec6d2ec8aa7b91f9f545570342fd80c3cdd3cc74cf45f662a7c7c04717602b091248c574e27b702ea792581721000e22c975c0228e2b824a165b87f3aefa99a46d59733bb697cdd0d8dbf362172f26e1f906deff7df44155f16c7facc2ca2cb9cd1a7106b0788518dc805567217c0060db7754c63ac6ccb1328e3a428f5fc916ed77fd68b466b1733297e2472f7b8eb9ce3c5d9c3cc9b0edfb3011cd92170842607e128153a9b0027a21a900a3c02e51d4a920cfa469cdf6976c663ef3ee380282b53177d760a5db3c152017224e5db867c49afecfff766993a2b8b8e38bfe15b4ea41522c8616c8262c8f563420d101fdf22498e9d24256083ff062ab6d131a4ae1eac48708ff9c6896fe2576107d904e097fdf7c3f229a907111fed14bc76adb04f6af37f5c26fee94e823087acd67acfa122ed55833bebde9595ead5c2206cb815850610cba91141288872b55c14c77de98080ab8d9dfdf882188a36711ab1e305c619a9615b3b2b3d7e5d68fffd22dcea2e67e1083e1f23054f69bab76684f2adb31f5b6c04c66a3cb414316824116cbd3d24846f2865103774d5421ab80dda6790769ddd21403dd6147291a8fe272ff5f001f28f5595e6f00fe104faa3b233a9436e371c0189aa0daa63562cf9b54aa75f34e64cd3b19735d8a9cd9ef08204c486d00ed20e6f12cc1772c66faf294f73f1757500a199d3d8ad4840d0c490404eface9e15209b7c7d70724e080ef2752b5adc0a4e8ff40523e90f1cd4bc5ab4ec69b8871da86199ad0a4550afa570f1ac5a06c835edabae2d7a80fedfdec32b588f5a15f3d39b09fee072ab062d0e0b64d123c7e092fbc3c74c04b6555dd834d410931e7b84e427bc0272cdda5b5ce03dc006bc06e897e51e2210699e3d1e36a3ad87ac8874d793883051fc44331effbeb8c05c311fed3daae30a4aa46ee81f840a5fdbd65bf83b1597727fd5bec0eb5180506eafd059f7fb16c0d18f2d107d9871b3121bce84e7e60019b1b7696f58e4cb3c22dd77e097dec1a171d952b9a641f79798a3f68de3bce272948dba3afb700608de305f83e0f497b19cc52fbc9d2b1dd8ca8b498fd4831b72c8097c428a45c9fac9caa30d9ae8d7cc658527a3d57b90379692e386d983887250289f476699a14041889478d5f782bf0b4e88ca94e1afbfe57dc1faa5a261392d71a2bdaaf11e59d4359b2044f66d3ee9a3dd3bea50047b3796137f696b3365cf0f694d34105c99c71a780c5e7fd03aa9a5181f133a9299a476665d9d22db0039001adfa49166716893d3179dda1c08ad46ec80fed47e56b364e766c61dff624ea1d784a16b98bc39a9161178d1b6a91f64e3c50f0e123b171d96f2597dc1507f682e6880e89315a2d5906e1fc468ccb19f8d958bac0c8f8cafffd397e129722432a73a0228ebb6b31c923c396e446f3207b6048aaea0437d1c0de7086bb26d69722f8b9254bb5982d72a0f303c3942ff61600b45420a57bd17dd78caf6fe7258795d0ad1f5adc4da260e1db8c2d24da7272d0765553840dcb7ef393e0ee63b95c71e38c4f5d0ac3effe03f1c09a11fdf2b05f148a11c96da5f19c33b217972e7181411c39d75fc1ace49fbe6b948cfb9bf507b692b8707fcb41f1a1c778d72d07e26b603ab18bfcbb6c4926b39d8fef032fd5a4ee1f031f7bc76bb9bce68144c43b427617fa4796d6b739957a2d952a9f6965c419b2348002faa3b49380a27580fccde4f7227c2fee04aad24843d21c6c1fae6aebc905ab1fc7c4b16d69672a75b55420718c9de09604a7b6b8b17ec66f6958fb2fb6075b5fd32908c583772373da90093c78c69e5a2c0658e5eae3ac540016d71b4ca3084d54bcbda13704c5ae1dd663a81943eba7598fbd107ed50b709af6917f9aeae05c7912b13866c72cef2b9609aa4005370b734094f6410669f7d00f0c11699edce2b725943602922619dba34b4b44548b95a4950928e409edb1ebe12a44b532137a24fff307efb0f134e6b72a76de482feb6b496f6cecadcdd7c9cc349d1b836ddf7984a0c6d9372792791dd262d9dff4aa15349998f06e0df75acb3a63cd8fd212b2b811ecb6b728c7a75362effddab49867e62fbd7e605964f7fd1b10306e201418a2111aca5299c2cfdb46e5722fc16aa38830934d8439787d5ab893205e7ad292053fe46b350a52097dd516b9dc218fea158570b62b83a376f25ba3b8d14d13c41ae9f1fa372ef96b2151a3e61d83ed3d74e34a2059e61e5d312b74798720f3e40d615e4d0720aef10c63f842833d086ac76a52bfdb735a92a4dc2cc786f44d23cc89b12340ea38abc9164ed34698a5232710dd94927e21301f7e88eff9f1d6c6022fd9dd3439a324e2e47686e7ac525d238c9b1cf5e9070d18258c37d49648debc299f56e721cf9a92be5dad0f0acedc9629d042a697ebc6d642a69283b44b06004f2c0ab72d0720b499c9223ad1549179e323970416d82285d995bd229d4fd20eb9da43572c7964b78f18a98159976fc7e0426efa7ac372342d88807bc613743390750053608a5fdbde03b04a2065898229be3c1ba23c706ab80bd9ba20b3efd00de727472b5e58055319ead91aa87159ffa8e298e817e2c3356c7ca951f26dbef4d48ea722edacd9d1c2bc320689e28407b0148b07de4b6b5761742b772b7223c8573b17238fdff0a780324e49ddbf225ca805cde4614dd901a9dcd9ef488a25d6bbb7c72cb2905eb194e9b11cea8ab80358254ebda82fb2c51b6a662796ebcf969b19832f656691dfd9018fe7d680e6774b251064f9e522b8c3be4626466674b15ab0d37da59439cf92b23e81e277c302bf39c183633f1c43de3c3bf6eb7584492e5947233dcb7bf197fe91e4c12740e017bf1cea1e734a0108840fc8bcf57b35e25786bef934b17b55c577243e4d6e520329e3b75c8c2f6f5e41d05997007cc0422ff72f13bc8440ba7c44e3ed71f688c90fe39c15586c7d92c2541e3c65a7c33a68672d4ffc56a2c8d582871c3e27ee773b488fe7ce8be71ce1564182ad7eb1cf33872e750bde477ec6be7147c1e54c8a14944cc514210b7c62e6a23b63a9548bec6729efbaf26b2703830f807b96ccf58cb8950dead4c53db581c69cdfc71303cc6724a2e2ccc1ec96a1b8a774889e84ca9b3eb8a34ab86d3ebecbb9ef60baadce536832dc7adc0a92a1ac01615379836a520786c9b9e3f8e5f9a42a29c0a4682c672a9de36a4a300bf572bac996865fa9befb1b25d69fd3fc7381a754237b4cd74725cf943a54c520ca6fd18d8cf540ecd2d71bd8d09c68363b294f020daf298a272b5434773467ba90d350a871bb444707d4b16f0fbca557f745bafb2f0fb9327366a391e12fed4b9b4296714a007b52c6116a69b8527640f0d072f3eeaf681487241b236d7cf3b72bd3d04e7637105e3fcba42e840a74d92150caf569b6cb29249be2ab3695a929268bee28f28d24261d57d23af34d172c815f7580820959f2a720f65c3f6c4b7f90e982fe36bcddb1254b42f58a3af377779209f93bb0447fa72a1687d743f1b0600d366b69c19528e2f23de5c14746189781bfba003e14dd97242eb8a890936f532bb4afc49fb9724d8bacd894f7aad065b216ec998f75303173e4c0737b957039f0d4bd44bffafa798563f994dbc670a7314345397016a4d09c0ee0d74ac890bd64d1dc961f12535e42d94268cbba9d498cfd2c0c49facb172e2cbe9bab45bb0dcafdf6e3c19a83a0552bc80cd14adaa86ca64ac9d64132572a59854d57f5c1626ad4da0c257453152323d262bd7b2d264bec61e995c3b65720aad71a6114407f93a8fdc379975c2b97c2479808d8af72e5f641d72e92ec672b62ae515f5a0ef0eb8b559a7596afd5e074f06b59a174a38bffa0cf5deeb0c4e80f0ee30aec21566195cc8be9d7030de49357d40c0a0af89681f9016542336657f5fa53b73af4655c09306a6e68718fde656f88eabb38e7db9c13db5b648a372bb09d7f53b7f123b299af80144e442dc4ccda30b4f729b4f17298a1df08c6a7209453c21801c23127860fb5b39bf8028ec3d4918d6de46e4a9a24c3dcc80fe72a6fe7caf7ce0ce5583026286c6b4cdd5233574ea224b1bef4fc930996b7df3729a4ca2d386782bc4b0f73706fe6e081543e947bc3285070b44f2f56c6181cc6ad37b79c8d93c508f0f09dedae4eef4273e082c64eccc8dabe7f5973fec4517042bd813c4fbdede89aa8a61afd007869155779128b4ae223da3347e85164f751cf626ba22b0a5d0a83394a03262e890a687d23a0359f02c0c47ad57270aaa097288c236fae0bc9c7764d79b60b457742f5ba4ea968fa43cb0d6e1327b47975c15712e20f76d9d794ffa5f400489b31e361fa9b4d9f3b69dc05f8967920746b87233dfba6bacc3a0eebe4037872c21904ec42de571f64ce5434d2dd1d44ab51d72afd9aafdd5edc654f5ea5c9ad8159d4ae4b1653206334b4f46a3ec9d4fe9df72321ab89971fee6e44500baf1668dbfb8eaae57d7c85e277bc4236d1cfa1e66725b67d68f7d604659fd5cee3cb1060b4c6eb3d19021e35878d19b19fed157ce7255f956faff27072a0060b9f7e4f24250b172311d660798061835f10ba2054d726351369e181af1a80f56afcd1214a6e2ce1693b271616c955bb54409cc8db342341ababcf47af6ae0e65cb00fc2229831e9d175b0c07d00d83cdde966d9cba68efc2922d76fd64b135b04ca73e6018ec324f56583ae1b1fffa582f96514ef91d5a7fc009723e70b2de379870afdc4891437c5d29ac4221cd6c725f1ef7794872d87d5ef4cec4ed3142dfe9e9aa0df220f9a7fc7a8335919aa31b7da247e07572f1644ea41ed4e89571969a8176064d5ee0c2210326979f4d841c4a80a5962472df95db17e000fab5d76d7a4a50fd578760971f817db5ed12e805485c83d0df726d57d70d2f528718027a6562ca9a42dda2a11b4517cbac7422675597dd34a37218274a674b6c6611b8bf5a89e098d4472231a9fd39709a86d76e4a208eb47372809b0442d99f033a6d26e43c06c2c19a922ddcc9c9e32d9af41f6140da17e83f8944f9ddc19f7b3f9363afd0b34fa6d3c55e3584dfc796fc4397a5828cac367258a9f7bd052a45ea06b2dda7a8da9b987007f2897cdf6f40855fe10237b6fa723c61649cd98f8164d939990e25f97d2d99b6d786c5ffd2e88b9b66d3801c7c16f4f188dd74ac3b818d48d9c28a7ef5a29bc6e6604e2b0fdf5b7a3a657275e27213745e7a27233738410e402ef3d41b3443cc60facb4f416bf2f4524e98f073723824bf5161bcf13b12243c87a7e0bc4f1e811bf54287e9d1e7dbeb78ea2b6e72b6c3f668f6fbf9da61ccdc1681d3024ddabceb4b5b1a0481e3ba6a77f819c8725a9ae1f4cbf6a3005dc747e0f888ce81115061084261bf2e96db9073cc47983be3f3cc67d88ff0e140f43c18cfc5247ef7517eaf946ba2f158208827f0d71272c9163832d72b94f45adcc961a1892b65869f26ac3d3b23efa3b451eb1fc22c72ae13e5e5bcb26b4fa707affe9a5da8723ceaa060cb33a30644c6a620be02045d7cbe4b13c25fb5e05944691b0a5db73b7a261b77f21f34bb8ac195e44efff272bb34a7dda59388410633bd812990e604d8cb784745f3fbd0b441198583b6f80fd5a700f4472464d9babc051b71681d858becf7a34dd96032aaad9eca9b1a6162cb1280f1733efd99b11e6f8d7b3e6d4abefcfdf31b2541f771a62f4bdb6c2a726415aa84465c57074ecd4f74420f63acb87e675307ae8998900e18abf42acc72acb729402f72cf5fdd8e1c7e3f04932ee73490436f6d0509c5a95e4f069ad519e22e2c7228f1591470b335f8640f53dc29dea74957a988920b9ba29cd99bd548de1a9c834d5db5d9d3d59f8ecef312284818b3518c9f953df41a9ac93fef3c72b3e35e83be5ae77338661b555dac4270d34e198fda2ea79b7292ba0333cbff72d6b651a760c5d454933155f05c61c0b0b18049cd442c5644145a9f58bc344c389bd6cbee83a084fd9ea9cbf33ae5e23dfa39703217de712ae6e37dedc5174e2834c7c944772a826a5e3d601f713e78e44dd9157b2af614d3916f728b4b560172bf04a988a60a76dd21d450273fc3a1f5715c12ca8d4f3f6079dbbc94fa92fc1f8bab89c011662c8901a763932b9ac25266d41f8ffe050b7cb7b747b6786ca2725120d115a07695aad5a23c7e3b8b2345160b6476de992e567ccda3157cce0472c6726b6e83517a44c89655399ad09cbcf4615e8bbef2e09ef7baeef4404cf77241847e081452b55d6909301c3b18b785721c7729eec14864ebcd1acfd4ebf5724658528e5eb74adb2822188e4771ca3a9f6b0ba5f582d6857c78f364f738b672d8621ab9c4de17e294d8ae1dd98a4eaa799a3911f2cb89044a4bdcb86c91bc72ee37ebdcfd0257210006f963486a87f31f6828496adffa60a66abfa2b21972728d4ecbced7daef5dcd30dc9a7da23d7564893270029db1a7e04d06b8551d0e72ed6816d1866a479c1c399a21582ac8e0b34835b1f83319172c88a46b2a34ac101807a206a4143c39473705b4cfac266d064b6904d6c358f03f3768f3365b9372edc0d93ead5c8992c2a4afbd4ffbec825e5b6e954fed3996b1a89d02d54f0226bb0dfceff54dcdd3b565a406e6039cd939f5fb8848718e42cfd56c6f0f4bbd18f1d8ed084b8b8b990dc7d1555fc3031b7fb1e8ba1db00c0cfa98ce95ebbbeb723240a6cacbe950215403063060cd35306bafb706dbf0e8de90039f119077c772caa626bead95764f77b06a9e44393f6795ca932bc2e44cb63369d629b2e1a25888c5bfb8f769c7edcb8311ef35f6fd34aafbdd7840b6889d7e592c4a87304672e3d5b03c0523d7f5a9e165636b99c8e7407a88c108506154f8acf9af6de086046fed99b8a5f3887c9a29543b7a6693d2b65724db6a9e64d287ad00d4b36f6e0cddb362ba44f71c2ab07fb2dddb8c6c669502fed84aa107199edabf6a79cceb55770bf626b5933c0ac39d5417952c480a50e44729c43e8cad36e4b87abb5fe31681168eae6f156f706b8390b7a00c167e92183971985ab709f5e34a5b248e8572f403d7c4a84665e0d5df9313243324eb4fcbbd83875f43b8ba03c9386154a30bd258dcf8df47653300d0390890cb5b828879e29ccd264c034aa4370883c41527daa67827f5c93e4e38b13e4a691d2e66baad145940349dd8b32112d4f7527d5edf07086b4f106bbddb59dd5bc61798dfc54b28cf9410bbea0a6f0f4f85a1327256463d35b106ea13a97f88709b6b68d34ffa749690ce9f8099996018de22ba72f8391e449735a6fe26338b56dcd3cf4b54ea89c9cf2066b5bde365094fdfda72aafca5f9affacc524873420a338453836d60020a36be9af9407c76ebcf22cf7280ee9929712aa6e7d3bc1fc5b894dd31bc4b7e0f71c687db57f208fbe7ec4042f43e36c7707f9fe72a5b207cd8f3e71310f249fee40f51de76b31b98a6042c72d27cbd9cb3bd106bfb9e3b216ef599432278dba4babfbcf65fac9eb8e7abe9722ddb41df08433925bcb98e1826f9024abd1faf9b30393101802e4995cf414d54e3cc9cdc029d9aeaa82cb8f5f437af49ae66e86aed55f63bdd2dc833a26469725317f3eda34fc536851c2f2aba1c1c1c3c41db06421fdcf03064d64c19605272286d3556b87058613938b6b15ceb5a318774426ace883140e22b4a408733f972dc7f78ad56a66569caa83f69c1ad4b3e5f3532480641b097ee58e8cd281e5772bf6ee0533bd9416ac6d2906cc045cb12d1e6c286e653653d8cea7c56bb49dc120f8bfd0bede6a2b0467d79f03a53f2708233811b0d50cfafefcba60702c43424b2b141d8e110c9bb7d5b8bbac7da9d4f7117cd4c3095ebf5db27fd3817216c497a96d42836218c772857512e15eb7c96f23298e2079e4cc21bfd7b8c10d2c97239864a5cd7ca967fcdb00d78f36b77540bb12e879bd60f364a9e82052cbd4a02da9441cc35189f4515f91b94aaa7ea4d9f61300e2c5446bb2fb034d6927167464d2882153e91b53345495f77de95db2ca09df5dd0c403366319d2a3d9ab0941b936f1141511b034e95f835f221931f2da31af73f4245b57da54099764dd472721f41f4d97b4aad95cc6c2f5b0cb2a67ffb71734fde9a5d023e53d8f1505f7472e3ef6515babfcf2602719f47771bcdc230c14a839105077a5d37ab355c3a461db2265751a409189560cc5e8f1992bc12f6cf4650b321f9880be94cbb2f8e0572c57664aa41187a24f9c44147849319be18c704ed8336b34745a5c0cae4ea512a90e11b89930c1a4d5c8a081dcc2b98538f2b6ad95d7afccb9dc5bb784d12f60bd58978c79edbca2cf29790da95ba41b88b022ecb7a2b078546ea50c222b2c7016b472a3986839d9ce306c04a27c771d16bd788f6460227e994953a8c62f62b0da658f697d0a0506c9c63301c13a559afd7dbd8b9decdc4da0a766289a883f5722d9695cb556041d97264ff2ff9e6445f3c345d0d2025f0c6cecf91b48cae9572eee2bd5309f0ed1799bb24dbc4a874723417cc4aa8b455fb2892c32dbb9358727106fd959a588e9d4a1d1f378a97ffdea52e67d74b5974e6f251eee157718072ce3bf084d0978f9302cd80b8802433078f9aff1c08b0ddaa255e95617321f972c831fb51e219abc84b2a2e4181c359bd9ef7e9c1e3a1cb62425eb2ba67d5b11e40160d588f042e1f088b69ceedc62f14658c0b328d866bd5182a666373247b72d85332c6376dc76b26e26c1c730ae1993c3c4b24b45f3e629cd59a1098cee672e47693f464dfaae10d4e711832edf652c20f2a978ecbdc54e68a9dc697af7572ee2fe4644f34f65d84c9744c00f495eb441c378ca4f6d764b8c7f7d92964791fcf6f0917a9e3eb43f698074ae39fca5f16b4fe44e0e1b95f2713ee0707df05726e0dc0a3e5b69713915679d2027a34a96db569f61c7ead131662fec704ed8972b8ee8bc08084cec3521bd1c8d131c167277e8d8d03098bbf2a04138648511872d52b8f3061b86418fa3af8168b9f84495a94599f98de542dec639588fefd747235235b2c5f02be272682a3305caa4fbd4a0c8c86c3ef8949a34c4f8155b36d1bb2499bbf97269e0e1d9503e7a326c0b8e23eb30d93819fad7700f08d536f6c7230999eb19c5d11615b38f8014317bbd51cbac96a28f2eca1e33664be8807421f094f78a0d6dc7a86d0259d852d5bf24f86026638c4c31acabe5f1d1819756d72d0d0c79706cc51f35f7e687b470755aa7d3bce3a00b56556a4f8e2d33eb7af388c80df3ee5ca9b2d8b87b9bbed02c82999c1361d2007664b83bcc60d07eb6d726e0fda2e05b347fe348d8b9074417dd084e230bb8aa95d89b7a91829b6278d72344e1d03d786d912deff84d62301c5c11ba90de3a23ab664588dec456b485872cca042609e4f103d1289599bc086adcbd988459bd80b6da3e5e02fe764347927eb450ddc77744d8b6eece3b6f39c2d9e87c82fde97c1b904a2863be56e9a1d7245a349a7571bec67556cbdc311dcacb10c7981aa0374d253c208223c4b636a72708a051acbbcaccc3809f3e2c366bd73684357a8197aa276a37be5839bcc0172587f59798445970d356cbcdffb6a0c5f8b911414f680189379d8cd67d3acde724588555ea3829cb1a711ac5d55365d59e457b94d2ffd0b21d5a712622b46aa72921e484f868039cee5bbca64b6de159161dcdda2755b5b5a1564c910bf78a354261393fb40e4d618c6fc1fc5270adfe8524bb97222127504ec7d645f51f6a3727b68919a1706d325b6bee9f532b2acbef65cf20699fb259809a1572cf2d5b747e90f41d20d79c4e0fc8bdf4aac0a69d41235d462189852fa397aeb19723d4f72a8e9fff667d284cbed800ddcb60039df377567ef6134c80565257827b04a380a5aff73e3bdc1971e29c391e1276c5c479e0781c6fef5eba3472acd9af20fc37230d458f549ed993cb06789d4809669a557e7873e44d8a4a56950cab8f522af3bed1eb9a66a7e50815513917ef99812462c4b07c3357816d76def91390b0ad972fff758f19c6a540c7e392bff120807bbef23e32b7e40fa42f6325c5214d17d729cff3e90b5e760bfd5fdecfc64aa67ca94d0d45cb68bc3fc6e21b48c14dbe73471ac44ace53f144bcbc6d7301bd56195c47d386bd44eb7a731dac5e77289c772e4a1a8fb6e5f420b20a35db93502219998a2293b7428437948c69a4af9223a7297979f45bcfe03acca5641d92241a5e8ad804f97c64e48ed42b0c15f8a40d53d3101dad743948285034f445a4d8ecf36453bcc62131160a2d2fef8e2b4f855686f1d85ba140b3ab6f01483be453ac0f308dc6ce9e46a288f3fa06a27a0833a01eb74568ba67928e6b63d06f29a19335e99abdebc5311a507ddb2ea3a10bc70367d26981879155e4207faa301119b17cbf75b89d92a937f53c8d278458387d8726e247343bd1762c162947d8bdcdab10ee4c2bfdfa1c228248e032ced1917df7266b181eb59ecc4a460f65c5aefb22f3249898ff8b3c8ec2c776625d589b87d7283f72478950069693c025b466594106a7d7d4d8afe589739bd295791a11d8672ec266bf4bd12a41499174544d310851648f5c55409e0ce380f03038ee42c5872539ef66c780fb994f010acee68946cd7482f9e792ebe1d2cd3c255afd33ec472f0f56d4747757db407a56bbb63694e46192d6f26acf5443b6104d037d0bb9c2a5eba97e8f7b214d51d9149176af60cfa8d752e4d1eab7039053fa3d7f6b7164f941a33d038cb096ad3614e173b154fbbdb66f2d392a6860aa734996993d544722a249b455f199929979b2c18769c3541459a1c3d312b476b5af3088d0efddd72e40f145dd03add2c51d0166a9bfa94e60333491bb9a363b66aff39d0675aae72018f31dd60301aaed93f834d2af2c688445be12eeea836b9b1d6e85541707865aa19851d8d0aa744d1e712e4a7d22d4237c03501f0b238dee91df3f611bf7072ceb8826ce32a87eab185b446e224fbe2b9be7c19df311c6ff011116366274e7275bd237019a756f7bae8922997c42fe7f395f123ec7ab6cb87b1a314bd867e2d84b0a8362fa9e707d71a98acce37a13a4859076e3108d96115126d4cf5e9a144b97d30c8f7f439263172a8b61af235fef2bf3d5e031fd4c17d9c688a1b9a1d2c1dab5ccc99d471cd50db542dd2fd8b326eeee8953d6bcbd411f47a01a4781c728522b1fb62c8ff75b9b28f7677d49548d0bf4631e4880965ca598ac26b94f92c1a4ed00890863468b9a2d96410622464e182eda0cf295384b0c2e47c999b8b72147953e03cd26255171ec2f45fcff5d3df6c9577d4ef9811f0173da5063966725ebcaaca2d1b653b1ab0de67cfecec0aafa0474a4f1773ec6a7c0e778ea1577290f5b660dd66eaa04c1d674d0051fa5c5d441c6657dcf010e3ed10794517cf0dfbb827e0caf6b43c6117465ef255530ec9e0c1a70838ccb625c73cc65e857d72dc8062c948d6d5872f329b665da2c0234b1995df6b326ec4ef895a390729e572789e75ec90ce826912c4b92a23167da78fadb3196f13969102fb621f5b35084cfd4ed2df6c167d0cbe077308476e45b07f8db220fccb167b86e01222633b8b1db9e54e113aaee53fabc86735f2aad4eff8858bacd3efd26bbb615b0083381b09c96b7d6af2cb60ab154c90fd94f660ea323d60f450cbf2ee554db113eaf5211bf3bcf688834cd760b5bdd9e8ae25bfebf21aca710bf6e85590aad3b9d7947f7231d3fc9bd9a419ad8d5b7472c2dcba64bdad137538447d97184456823b90e272e28f8cab109cfdba82612cc582214548bdd79eb27aa182a4dc1afb82c67d867220e5ccf7a9b541cff7c2368386aa31a4f526a3207bdd60946173ab6eb5d2a67258d5da48e06bde01d438f4d2dbb8249db96f62627c7b72034fb3e0ccf4240f0d9e3cd55bd36a200c06fffac2209d1cfa0929da793346cde6bb39ededdb7d8d4cb65097fcf5279b88e1507047b38fd09e8ca9485eb5f67720913ab0650f0f8c727fb1bb0cd5f09ff325865d746f1cbad11673bf32f8c7b8700d8e358fa740de0582a1fa38afb19514525b612ef76c35cc7fbf1883afec2a834ec5f4e6a19a2a72cb109bf546d2959d893fb9e634f0263df66cf5fafcbf59c77fad643e4e9b8172a77d68c02642cb9aed0091071222bdd8ea42caf52bb191cc027414c101e1f5729edc1aa3865c5c3c8a19d3f593e65f6e4b5ff8dd7298f1abab8b65a28bbe8072d2976a67eb84774ddc697f9b705571975d6b7b3d8c5ad88f5584ff4e1ab72e7292a50c83088176ad7254ef0552fb0e31dedc16d4a11e6a9613b9c8d2aeb848723a0311ce9d6a6b96271494bbf40fad536434243fde4edd0926cfe1ffacf2a372ab22970d911769022c77e111e419f28081d634dee37e76aa35912631a7b84c24d4b968dc8e9657accaa44caa67d90b61ee3876cff43e25f9e1fbd76982575f3ed5a6aaac1d7c10be92f4b9d7bbfe2deb11b838becfae62625831aea5c6176f229e0efdd0b82ba1ad91ab95fea53ade6607b83ed667ffe21488c564ea25c0927258f00befda5558043496e90ff3cf7df89fbeded6c2051f0644e671691b708a28734e8dd7adc942f09a89f6f777bc0496d6e60c4982c489b64454226033bdc3729c6f829b6a39f74e0d02052eb2eea2d3cd7f2497cdd615d4206bd028a7462172fbd8dad2ee5e855a9c4df7771851513d6f277b430316e677146694eaf149062ff16c55972a9436c62a717de37b7a7eeb6f2efe2bdc1df48879a1efdd3ff8ee51143ce85bf673d34c0348ae9bf70e71c5af4fffe9ca3d1b1957a8e12519cc7527a2b9915c64c5b3513111c60eb8ade3047bf219849a65f7651ed89e44fe4a9e5f01c676614256f658f57be72b88b7149189e1b6dd8e4f5a92b8f775ee473bb22e95ff48f4f797448987f1f44e640b378e3cd45f86d5b9fa4ab9ba1dcbf13ed153ecac451f78ef79f3b473c7f9f332cb1c4d93dfa2c529d357033e4e1c8351b0487a3db87fe67ca2202bdc439e7760497197894c45556162d3abb608551d1d7972a7d286304ccf0793480d9c2835b17130f7fa44b55a0b9d27e7e2b8357604ca722b001d2d2e2dab6c87caf5396337560b86d8cc2d2ef8e67224fb45e97f4ac572e59b65939192072a8cb02f445ac39eb13f2e3d6cf0c16b07cfb4930d9f827926c573f3b7fc2720c613b0e73a8979d42a54b426e570e2413ff254e7ee27a5a412914a98a1c14c13cf3d90e6ed5e41a235b1cf059674a1bde31f9956131313eb72b2002056228ef548adeebc246be155e73de0c0573fb255409c16d911d2f2b92be98e390ed3ae00ad9b1c198c485d07016bff80691f24a2f76f40eb996486154608d0ffd9be4f60838f1fc5887c2be4e92cdfd65aa732cec6e2965a4588d6b772673b4807573b275573930ccc30176704fdd164e5f5738e72555daeea4da6f31017cb907e6e2862baa0555d7a92ec286f3a6d5c7a5f04486b83ec039e9ed46072dafd7bf81c866b29762ebd84a938e2873f8e310b217a9a53709a6af4ea3ba372c45d2f4e2c306e5c733984e89579f8be57248d38f67d50da87a9aae37579526e0de17862c4e28050d28b8d429ef6db3892da4f9a2a84e6bacf7a4209ef5ac272765edd4ed83be0eff0ddc70378677d627c29cfe9cb08259656315a40a2a18f4842a0029d0599c5ff645d6e48bccb5dd6d0f525db30bca93f25fbf83051abb7417e901db6c005d0b30916f6f4fa4e84a74954a5b8312ea854991dc0c7564e2b08aa22151128ef57ec62d6a8b1909b94d050f60aa37e6ba40d82cac2e9fbc9ca724f93a8e0cb357200bb8312905b7dcc3b716f2efa85b57e680960abb5ead30472fde65bb154ce165fe8c5ad8f470d25e777d5eabb58df6cfa9350c20173e96b30c7b5599af2611ae9e4a44bbad21f2d9ae05182f24d20f5e17a2487eb3334ef729bb61124d51bb5ac8472846649a3d87e3cfbd668dbd7e4bb1a188077b814983a2f0f2a42e63069c95fcc54330323e5f33a23610f9c180f4dcc398ff88eaa047272d289a5c4a3df3cdc9ad03cb25a9f7a46ba68748e0a53f6a43b635a3452364e32a4d5abb79015167c911b7f26fb35ce9fafbb96ac77517762ecf242e8c1b50adc92716d72236eb53f204cd235fd7e026173946136784e192b13418213730d68c97b9aea91891054d576a5019f1365205116a6376e521348fe753da44186225fc1b276c9853e2fafc0980c2a6ab2174c27f776cbe9c29cda31ad35b0b6844d27e1bfb8a236bd4d655aae70f5b36108b4d923ab4e6284118c51adffee22e5c072f6fcf0f9bfcc79d1fbb6b1f5794d87b332e282dfd62247af80dd03140d3b1d72f1a470c3a755747061dfa32d4fc3ddcdf2bc830623f20f048dff8c4bcf259a6672c47b817a3350f5448ef436f01f37ef955c466d9cd507f32d71416a7571c0726c2a77694b3d50f96662f08570766d014fcdd1d78213aac291089a5b0db9ac7203874267bbf3058754539dd88f845861d53bcd9807a579674d98375799c7fc007b567638220203ba84030d14c642d9c5bc333525547f83731a179e29909c7d7201912c57ac97ec173e055b6a4c24a9a55d43a6e7ba1475eb2bb8ee3d3c92df72af1a4526ec920864e86ac094bc6132dd1a50fbaa5fd6292e8c9a1756fe659307e6e13fd3bebf647f94ec12c4dd0ba87ea896cf8ed09e525f769383285f695c6ff91e301a69a1f385c0afadb0ab3ca7b2a42bf3fe800e6a3b7ef9807555df771cff179643dbddb938e51d6bda63f66aeba6ced5cfef2295abc125cede4c411e7261c66bce36006029aa636f1a8965c0926b2c94e3803b40ce26ab51ac0e37b32bc75d42ec28b9ad3015aa08ad308dc51ca94095f7fae2dd12fe776f10c8751b72a9b0c7f54d6ab180df57b0770afc110125aec29f3b8396ad60a2bb3c6f169072d193fa68a9865824c6203826062dee66abe8a4cbc2c30ad25cd669d38dca4727403ca5aa53146dc9450e69bfcb203b8c24307b81bbe25d8e84177a0655fcc55e872f2e990fe6555e5f1d256408021b6b7afe3a0137617076fb47d409a16fd5729f10a407b622dcb7f7a7fa3308e8d984a9a2ec8f1f8d3c53c68d687c3eb18872a06aa7a6415519ad129561713506405e6d6429a238083f1eeeedbd42e12e8b7293ec49e6f46ef5ea191be55799e63a6c51620467e9d649ea5c5e97f9c81f5172c581128bb4de371bfbd8c66dbc40cfdac49221f9937d93a0f750c6de4d705f72617395335a7dd609016d8c4e58799c3133eb3b7867fe9bf22517ff095c8eba3b568f41882a2a854a90c276eebf0f6914b68564988a60ae0a8829200d9fce4672bb46372a22dc1d5d409c9251f440852e0b65cd5993bf85c8448c74167232d172202476b07f490a800554ff1a12e0fc2b830071c50157e0165e0a2bfe5ddcf1637d68c85b24f1276d0e5486bd741e1f9ab340efb6d8fc0826a2b1797fdfd80b27f54138bea90bcc47dc6e2d996dd1b0bf66d8bc4499a29d9692f38c611481933f9abe6fe60a0ea9e4db578411e3e33ef5c873f9d96926a69fee6978cc3d4497520de966a590d599113f0933af5df55a4e02afa32acc9d368b4b6288928577627200a2f2a025548b5a7a5d38fe8a372e9213d83e115256c5236b1379de492d6d4411b770023a4292ed7d3df82275a148bc97a15dfccac43597e0925b655fc43b720e1c2372e53336e19209a0617cecf5261c5864855b29760e2e2dfda072fbb072c8304d0b3ef8e3f22e42b8b37c0ccb761607b2f47a4d58da0c151633348fdd722e0213467c8b8fcd4a84306665cffbd8b77f45985065c89946ce006cbf0ac75973bd911c2226f242f5a1296973c14a494157df975d08467b24614c405c5e0c2704cbd51d9a8d4646319895c66566f3c9a85af7c6c974bc3889fb10e650ab740334239d655df7a8a2b3a7efbdd090a753ee0ea3398922798fe0fc1811bc64cf57a8e0f065f1f1360ef4a9c979df2d83c998020a5d20b28558a8afc84dbfe97d27c7dc014ceaa6893b145d89292bc2daac2cef1d4c7de89695ecb012a360e4b952967876addf24aa90ac930ab9bcc18ba1f4f7eb5779728fe82a393d4f4dcc3472d21317ff311f8644a74f03c5b85412463d5dd4f25cb934e19714e554fd31541391cb8439f74e829eea225b34847b098c43064272d77087b6c05c28b97807091500bea606e6b9a1cd42fa7f50b7f1e224140e390a324bc6c91d1432b9e4d67a1a6f5edd07ea6ac3f3d4a972805b9f46e2e188057387f201750d71158863f102722c91331d9086034b54a1e66b331c3d79846a62a07edf8f35945e10b3e34ffa50b71e21309a61032e34e40d81fd2e392913ee98b0379ee6adcdcbe97992564c3683379a751f0402b248bc296fb5fb60490b90b5c8b295a01dd37e6e2a94b0a872f8ba908e20f19a17c3a8835d3554b360dfd9a4a75a06b055b7b75c79f33d7e72b00d801fa7454bf6361f84fb9534a26fb69af5005f2722aa7eb0b2b232b8b264bf3947ff497fa502eecc0ffedcac7ab2876257ab40c0da39d2fa0e5023e50d0a6cafc1900d33b4d423ccc84714ef306f1e9f5f9e6bb847d5598fd93541b0265ac4cba1175b6f2eb65ce4ee182a94355566c838dcaba5d2d4d2cddc25b26d9b303bd8f97a51584a9b4c690983833946cbd2e5d35a516c07fc9ea268f6294ff97277f1e6273d13a9d9b51e89aea4905b5d87538333512cb1ce517344a7db1cb072bb31d975923e2f46b802c46242c376ff96b29c61c385f34cc381f297dd4c18720e95009ad9941eaa695421c04d7988a7ece27eb7b284e7ee951f2a086a5af14c5c814c61af1e5521925dda8c0f78408d7dac44ed9d10daace3aa00bc17d5de54c5a6b4df24de6679626354d692235dd545e6ff9708730b782b832f2508502e1f355a80a9ff0d6cf40ac5bbbc3a9b5a90cdd49f57e7e621ee249fd2190d2f827255abe1e011db4cb4289a7f3ecdd4914501dd145f03c803bf5c7be4784ec06f72cca675ed12c8e82eead1dd9ef992fc4e5357a27500e331c48bddf6b5ebc54d04497d2fa11c522e6c709d52e25005075f9c282a5eeba1e9360ae65b0d49e744720840aacbc7f56a6bce999c39c425ee40a02ac38fe906723b47c44a6e0b3d4a0d31530dbbf10fcd180945cff7ccd299b5536b1dc655f8320645582a9d74796038f0c3158b4a01571a02e6c3ba2bcfa0f191673be88a8b10486b447f648e49667238c8659cc4f32248db8a6d481401587e0b82b5e5c8089a66df12491e91bd932852b7a04c78364faf72fff1f2fd3e823ad2c1efb9ebd472bb9f8c6a32762d686ffed9bd85f5f48ce21d15c55c3e4c20da8f804956da88728fc87a782ba75d5c2a29bee9991f2a63c40479cca17a5010c386ba828269cd9e4df4ee6d6e8a4e857243520d20a85edd3f72e636f33e1b7c5754882b620cf15e3bf9e247db6f70266ab5d318f6c41ef99782ed677ce2c891d43f3f3a5ff798c107830a07cce878ac72be74bcda4ce39af8360a05ab9341149a1b1867564f00a402866a0c0d88a12f3e6833d7d9fbf6dbb52a6e192fe496dea4ae2bfd1f6bebe2ae7bba56e7ead7b566cf6ca104567d8403c1e7ef484517ebd4b8882b2e9cb2e5bcf5c8f300759c901c2a00d4d52ac2e01ce391ed622c63f92a95bb9efd86222a14a093db20f3af7d0cbd7c7149e1d9790ae48d9ca0eac6d6d50c71a8ff6ae6739997c37965cd255808bdcc3605d59e0c7574fcc7c060666cee59723710a3ca2f735fdd64b00f6777723113589171ae79409c781dfd9bd16747b6b57ce0b4bc7de98eee970bfe761c72bbf3b6045fbc2ca22d014a871f3f0f86a425247f161e495eb61b9e71dc63d0357595edb84d133d968357a0b9375e6f7aae135469a14fa347c630cc9b54fd9172bc95bc33246a86414526d51a658e39d29b3e963948756a91c0deeffb92bbad2ea8b52e1fc62da943024948d9dd2763d8580234af311740de715c54256da71a72df21939501ad9a5c69dc518a61ced9e61e15201776bde2ee02b65b64dacb1d720cfebbb63a16a36675302bc3539055aef01b2db6bb382101cd05f1815b1f507299d8bc229260b39ed887439933ad13bf19aa516500de7688c237aa8c9208fe72fdabb4d1eb46a4e1c6f6395ce9a82610936b48201ce78c14cf526a5f116af15fe4b6b1872fcc059ca880c73735cb6932db2426672b0f3710a2131fcc4fea5272322fa98bf4a024e22bf90486a8f15e94985f8dde63d5cc7296b13c3a7ea60a720c87eb3b0248f52702a3dfc6c6aca3b957f654c20f8d956413f540953e9c8c7218f73ca30bace3afc2698c1ff8b5dcd5160201f72376ff8df940d4393c520b4c261f0995af5d7e6eee06c7d50693c03ad54d4e0a7c4224ed978aae61c37261723d5810c1e3fcb03c4fd258f988ddc3eea0834f733fdbcbef5fdf429a054ce8724b4e7f48f0fc4372809b0e5e9e7e853a492912db646d9555854eb84cf8a4ea72d782e3aa91e9d98b104d3892436b84115ac80f62ca0e2d51561465b6b33db37227e9e952bef03f78a55da21f9a68c4eb5fd79a88ba9a63732dba4d95fe99ce7265b12e23044345e63738cbe97c0dd7efae1deb3567fe5c4c0fa1f765583b041a6a106b0f7ca388223e73704f58a58db68c50a32fa1a01789ac87a6aea840356cd7da00be648cb484beaf44e98335cf71a811726d73fa0efb357e0c2ccd75177296a4aaba06c3a570ff7c2c95b9568eeb978749ccd2fd3aea14c93ce2a9683c2011871404d45f42e3c1a1f2d49af21815a6218fbe7ef6167cbec598ccd5389b72bd61921fdbe3fb0a5230e4475d18467d6f82977cae37657fb60d5ed5a55bb972940bebc56d712dc8a8a7b85bbe8de89620bffa75f7ed7d21498fecd342dc06723c6b979ced546fec347ea3f8cdc2d951dec758921079a22a075387219b34c4143bb61bad7ea058285141ea12358cac1ce379aa49915039898c12b62bdc2bd97226d2d50177bb51d3bc2cb21b28939d5dab1b6f44c98721ae4bdcd866dafaf972425dcb2cbe029bd4e79ff795e3421299d52ff6d2c64795732fcc280fd6a3317276977159c9e06762f88a07f5a458d2bef97ec849ec395ff91a9316bf9f73417227a783f8354b31338c640500d1a0bb8edec901cf241abb92380903e33863e072898d7902976a71d1086a0c290cd17cb28134a3f851b250f0f240af08fcf957721fec72c074049d841e865fa1dc740f2c1aeb617573e60371d1028a1cca9677721f2468ae3d4b6ce6551ad150a93f40b8d092149b6b83be4aa5a513e50d67fc0fbd080936420e3c440e7a1ec0bf34811dc5d70a98c202dbc2afbc3e8196cbe734438aabf1b3df9d4a11598576dec3beeb7dcdf722fcaf5add0e55ce9eac81c67287838513fd3bb9e91cc3f6effa357081446601a9f5a65ed57ac6fbd8df302c02d0ec672a70c32e541c977b5f7af8fa233c5b96fab7e5b4cc182649af17dd25547aab07eb8b4d6ad4c74101731e5dd69105c8c3874ded12e3cdfc698f7f758965964d5b1a3cbab3b65f9e15c2e13e5e8501e99129abf16633d52a1fedae6ca622270771d58894a9c62c178ad6b46dc8494a5929745d2deeacf38d2e008bdd7e726924dfdc2a5ce8a2f199402bdb02a80a90320157c1d78ee49b2a890bd5502a09d944b146943d7af0fda64ca3cf1450aa2968afdf751bf02111d8db54dbc70b729cea4809c0f65c0f91d4d6ea1fdf40979e670ea3bea116c352df09319f93e072c84e23da0d961e8cb9f53d6ca3a968e854158915df518ab78249955e59b08772b7fe8cb7b0c8160662350e1e0cd4fef54f4a499d22b0630de672187517d39d7209d81d28dc61e5e73fd63df3c0d11d54e076588ad2fa3e98afb96accb402176aa88f8010725f7ef76576bbc3c8cc9501be29da9bd634b1098c4857763356c572a6df05a458b88793939f59980b0160760fbc28f7ad8b0e7027b112169bdff17241d5996b44129c0bc60deae5a2f08cd8ab55018c4f323c57342c50734964a23f9e58b8e4ed39edd7e4e227f7a735b7fcb27ccee96b0c22e19111baa8323c2a5da8e831d9e50cb260a3eac13282a3cc1ab5cc6f088bef51c36b044db7c403f47290cf8a91a9757c5a7465fd0bd5adc529aef96499fc680a74cc282be155efcc72fdb1db7cd5a255e91c8c30145d04cac60e120bef4470c58b4a30d1ff6cca227263f0fc5e65b96bfe81b9fb11acdd960b72403c8f5535236ec7d82268f91c011e82cf7c8892f06a2a6968e6fa235579e8cc9f89c4634d7b21d5a62504f141607144817ca9d4f4b4dfef4db93526c24d0f27e8cc691b28985921e94c45feb48b72ac7ea5d01013d215dd5460a7c910e61de390b8309cccb614ea526a59813a9472f25a31948a72ca2db9dd44378f82141d73f878f3d4377edb01a16407626eaf724096ccda0f02ca9b32c88e6e32c6ef5dc7d3476755cd4c84e5154456c6a785725916b0a475b27332189128c034031f391c25f76fcc51374a54b6b79f87dde172be75eba27c094f1d069ef36adc488ef218dd9c9a6cade4e28d10fe5e7b48f9726d356ccc50ecc3667d6cf3e1452b37da17fc20da0f7e49c7f4273cc4c49d3772bcb076644ca2f7ed7cf4219254c027a7d01f267eb3b724f133c82258b6292b436a8dac3ff40dca04aa310a50213667f1912de80c5315bcb5ce2ae362bb1e1e720a4311a2d7a189b5ebef062c9236593040c0a970d0bf0292f4989f4b06dc6972dedfe969e590d15fee21e2d1fee482bd6e74d9f7f521c567f0d6e62a21f67c72157ee6ffedeca204689df75c5fba2cc063bd4fb8a5822a07c9b7caa4ed7b4d4c6e536a9d1d8f101bb8c7115ad100b814be93cef070601ffa77805ce6c2e3704c081295fe480b25eb6b483840bbe1f3d8bb93fb18ffc02726be229e4245138444d3dc095d561426e88565b1fff9e4a5c5512980b263a415c4f83de24a8b18f256152368012534cf14108477ae618c58c87c70b46cd2125e0e91456b49ea31230c0f70d0362b651895194a734b6b17b1dd3c825680d4bbbfc9fba5c91d79175f7256fd72e79003d24136290b5a75f6a4adb400b1a27b4f4e9ab4422e16dc00e43c52d2bd5d7253201dd8db49569cbcf8cbcc6bd710a692ad300d720849cd40ce72a6a855e0f6899cc5426de228586ac455b71eacee5b9738f67bc1ea53ffbc0072ea8617adb3ece03a58fe8fd38cf3b4e071089db6efa16dfa3050a3633d958263be1b443168ad0254b555dac891f559217202ef62d8ef2a18feb024821f523072e1e930f375ebf6853e1f8dff423c0151421c19fede23162d7eba50cac2eb4e5055175268f2207b33476035cac860e5a709cf6b8beeba3cac33ac5732cfed3b721cb6b79bd6e3128d2622c712510d9c16ae920325edb793b01ed736ddb01cb172d69e3d58a4f28f0eba68692af3ca53638d62d898154088f42e8d43e9a25f1739e9951d10cce9bc0ef4387be477b6f9d0af319a55e070ec752f34d2a28b0dba12e06f5ee389be75cf8104960138d7349cfa2a22a77c55d3742b5f463f9f51f650e5539501a1ede427b99ae1d724ec10b6ef51f0a88d423c70c76e84ab7ee9bf7238e5273f8833a030be2f1a30fe16fd25e656ae14f23c0a4fbfab1db3aec3557298e467e4aa06d8ac1ca2366f4613ac45894c0ba19805f6ee4ae182036630e1726c85e53a82caaf5903025428bde7ab0d36aa7e4205ca4ef9c51942cb4b95e05bc7034372dcedf92568c611490493703cc0e01a6580cdb02dc485b1c6dab47f51f3b6d6d26b4ad1317c11e397d90ac2a60bd50d7511bb94b16f8d29751cf6f872110e6c069fccdfab44ebbec1ec0ed65c787dcc6f95e776498acb884526488d012d7db2a06c25a02e09a62e9f129e2a051a202735312e7d1ab3bc2930421e3772195679efa38e23e710e7c396477a77525f920f7a67a3ff9a2328c7a60d09b26202eb17e2ff79b6d416059a4ccfd44e8a4c4d036c05454688fb71aaa752051a0f8abc699f06f649c66df9420564f315631f97f7fdbf4952b25fd704033502190cc82e88e1d80caeb4722a9d3846fe47e40f1d50635e7cd89b7d9d545be8ba6936c143a686d31dc5d0c31e68efb6478d7476a3497826b3c7ed5d930635200384726ee7ad0a9d29f0cba13cc1f7ed472f63d8e08e95d64ea0143bb3858b57343f4c345e3ff0cb543f19e53645c6ccd558db8c211f6d73c503393c9a3294b58f4872c865d9cdd546aaa9e1f89dc80dc8e3508dfc544f71037e86a7ccfbf6acf50b3a80bc5947d4095402601968d6cb986f73f65289263bf2cc17d550c435c3f829722f4df006323720db6906941a7a8d2d3eb3b7975491240741c5a503a3ec950203418ad2fc5ee5ef95cabc47cb1c357b74f5350f132d11bfc92a850f597a6f0e0c013bbc3370dd87007d814c9a95dd8b271cdc35a5fb8d671b552e467b32c44e70921743464f5fa34795d84b8d8a759e13819a14d9583c05026b90d2c5f8b927395a43955afb16ad42149019de5e37acc4dd498cb9aed44a30928f9fa0a731d1729daa6eab360dfba86dc8aea8a0d495a746ad4f090c47888c07da8866b3e4a57293be0e2be77d8fabcf2ba6a49b22f85bc4a493615f3020ea229c1d312f3623091a88caf51e594a286fe9e04b0089eb585251de158daf34fea00d8233ad27bc72254df1071907d4acd952a2088b96aa5b717c73c10864e7884608f2bb13c4a172ad1432f5cc1827d2d8f9f2391a388af95bb08863fc45076bf0d399ddc1867f557bb3c979336da26778bca5e12b260bc5fe2104af29ae199982cfa03d5e5e8d181d711be5f8ddee7227967f2411311a79ff0241b32216da4d764defb902d474723ac618ce5582eefbb98db3a98633f90a79abc62fef2ed4cc7d0da3b2e2320628e814e59bfa5c335895f045809ea61db5ec8212e0a64e6783c9ef94788787ee34520b990919a01c2bb6b1030fb8dcae13912fa6f0db154e10c51426331c9b0f725cfdf9debc4dccf9b1e3a8d4dd4de47344d45f0a82cab7c66dc4fefd1074fe7273ac3968fd02999ad1f4868b90d4482bad0074306afd508921270530063fae72f956dcaf64880480b8db5cc4fa7eaeefa1b0f53e8f2777b1387201781c06b472a2c41d86bd94fcc1a49be9e32ab55de57c3ab17667ab95ba07cdf284f0d27172d119e318cab71eaf764b5d023be0bf6e539317aec66c0636f0ccc8f38993732f827257d83f31c7d240fd8c7b8cc83a15cd0ab85ce4bcfad91173025804f74b51370868bdbe1ad892b7e9543dc54234ea2661e24c042f6fd1bf6670de6e92dd2e9edd24c9bbee5f5dc3623dca264e0eff3eceef74d33c07f43efb961da9864b66ab7ee0750455cbea071bb550c04d05e25389cae8c3f06736f8b4acea154ac9725257eada23056fd906841f73558a77e73d3a065485154acd261789153f12f15d9ea4f8f855c43061f4f309caf5da5315c59e36c550c2ce2d5c0f37baf64c31722c6d0b119d0137084d6fd7a1dc5804348b2a044c19db1b98dd19473e7646d528397e3c2d056a6a6b3c232aeea9f77eec8eef268a827e617f828aea727b5637512753277d2016d4607df68f071a4e702a68ddfb0d06b2791e8134d16a94f77e72b3329f477a96e4ba4250db27a49afe24c4414d37ccb2fb986892bb1da5aec3298984694a35ba0a9afe412d64ed04734b802ab0f9d5d86970eb9f0c36e7c2717247cb2551bfd185428b2c5c951ccb4b42ea43720349b974bdcb162e1dcc92d1720d6ad56a10b8024069357787b1fa2fda8b7cc2578b759e86f60014711886346fe37a8064e0f6c721656bf2e85a122fd22def9e2ddc86e49d9c1ae64a73411863d607191edb391f87b9e4f5b5e6ac6df933a830abce63c6a1eccb84d1b113077233a39039134fc168d0b792dbb7501181dca6c937e5b27ec0449347209937f3728ce84ae3e0735f3263fa92a7e9ba3de8ab5018b23a4ebd02d2f2b419e1fbee72c3f15ca38f62ce5429bedaa04c1ae99a3d972a80393eb3907f32a1793c7fd81a94fae454cd0168e17b5d93a3f9e77745f564d51fa08a2a98aa6abf2ffeb782431c912819158bc2bc21f92678cd1609c30668febaef13591dbe5276b20c2a170cc2b9a70a4a914944c3801d4341f10ac7aaf57abe36da02c9b8e6edd5c464ef72b9624b959d90b67f5de69394a4ed36d2d94d2c3d43042f92b1bfb2511ec2904f7f1edddac588165ae2ea11205e6f200e7e57d34c4c9b965cbcfecba75c9d36726bd907e423af1d8ce5a17bfa45e1af4d061a4b7f003fc247ccc9317ebef6dd065cc6b472d354f6eec13d1116b6ef1150ecae907a3bf1167cb44467fafb77872d63097c20b40a09be12145fa2babf8bf575dfbb2b3246d7485921242ecd98b5728a8390144a566945cb1923717923d569914a8dd27febdb5e45f2daef747c4c3bd79db29afc6b230e4621e4a32ccb52b5a2e61d26a215bf845b0efd07e83cb062a93a9508b04c1fd4a489f5a010408e1685327eaeabcd0c53ee4a0c9c5830632ba9deac92fabb8a6dc5feaf2575a967490527b0a6012b582ef07b075ce587dc72b5808cfddbf91d9d6fbdfde03340ef613a1bf9c04ddb61a31b326197bfa91b115dacc7d51a6d18b2d4ada66a959bd0cc656f6f1276437e203a6463a2540c475f819c4e2d75aeaa651a4ae31eae04477ed9cd418abdea78d643311eb2971374125eca70a2dcf3d4b8aa81efcb259dc3d9721c3bf17ba543e8ab604f066755dc3dbb18d0fbd87d077875f232a400652c0681c6a636bd459ae2171fb9102916fc7253f7f8708d495577da8a57338ef10fbac2228050905f145286aa075b37821472c7e0c803424574ba67426e9129b7202f02b3077dcd85147fd84078d13bbe25724d5cffef820bfe445e987a643ad58ea699a8b7bbc5b5228d03a2479e953cd772abd7bc25f8421e407cdaebc02177fefe7e44b0b31b333eb68ae9da9fff51c47222e8fce24e77b1078d6bc840c2c149a61d6d0e6b6fdf05707f28c58688678c35640ddd1d053a0c7bcbdd8cd9b5925277bacb854a51d58e7f8eb9a20151990c72478e75e14505c23a7aa2c3edd18e7e60eed668b1cd6d561a863f443a7b0eb472abac0b04825666ee440074ce1e0e351bc27c3cf4e7e91fdf86044ca0574c28316ff89afe0b22550645ab80104cb0b4971e47e8bcac66efe391ad77279cc95e72d3ca0857e3c0fffed13059ca30c59f0f741016364ed8bb58ba049afed9db4a3e03069c6a9308ba529545a859765d2e2fd81f9278abbba42d5412e498cc643572f570a7221dc5d2586000f75f80d6d83e9a7609dd2f92b9b1cc6c2961f017642e1a4d8aa788c7dec2eeba570a930de637a79c51043e4aca6300a53f2ce7f27472f31c95c62327c77edd9d450106cdb441d774550213d5123c976e8a2e67cf93727f0c5b4d7e56e778c00b3ad6c66dca780a0fce4d68977c4000b3ebe56035181d5064c4cda8238d219f7bd5a8e2393660fb3341b101b8f7cb895e103345c6a672545977adeec5d35d793021f83b2387fbfdebe8c798b346a43bb2e0316b467f6aab0aad5bbc0bf8bb7d0b1bd01dda8577b1c43ff7d69631c8e2c3c28070a0453d32aa800f929eb7fbae85b0baa61f5f80e8a8e1403ce1def6545b13f8dd0cb372b689d7e6e7e7555fe5ba4550c63e9c664ae305e661799f09d12d6994839fa4108d11e32e8870c81c42d0f0ede034a7613ade67b6928e78e352b60ff73903e03a9b727d3e1bf1f5bf70a8365cca5cb486c2b0d45e7d61965befb3cc293a7e152ba4da92eb6c2aca15a4b450471db55b71aab4b34697114a617112e56ffb19c946635d9571d80f5abdb5ba63a63af95e67e697d8a172cf43386472a9858b09d772645552ba72abd582e6e1b70f3c84b0cb5a87b64718d05ecd7dd7ab9d545009720830bc7ef7888e3ea328e5aff1c1a5cc9fe91791ff5b011bf7f68c7efa7d7772e48ab59948fb8b361af6ead5a6c0f7d00a7c66e8095b09813400d6b6e0df9d3a94728ae41423ecc52945d952a46dce5f192a226b7e83f5a333197529a654bc7263e7d0720acce30647ffbe7f862e4805c97e88ef34a4bbd7d525a363f1a6e21237d666103b67c1c67e6e07d615e9613ca94460daa96b26c810657549c825c74b695ee54145301503b61f4bcd3b217e8ab71a3fc5aa0ebc2c05677439538fab3eb7bc52814da031af5f7a96f347cd8e75d90c968ea69e1576de5f2e31eac1767251b812c40cb297437980062e12c209a806aa2fea84e128462c82207eb808397288a5343a660d3c7c7e74e87c07d2515f316db6e6a9c0615a76f795e01a774c72a6730d74f402e1a5b218fdd3c11a31b978f546bf552c8b8ccbc9949cc4a81c723347d84a3aa3182f54d132758cf2f85e365d5691eb270e452df92ca63e058272b8ac5d5c2e46b857e2d8e9b8861e0b8c9b1e00b168b1b7012c708612454d88729a6ff704a20ef7356b14a25dacb6a20e0b14f5ba2c46b6fc110661b519d1627266a9eb366d1360aca530c9257bf6ba0d0fc0e44ba2f012d76a9cc1527fe1035a2a57520b750d82da073ce069b6d5152db8a0a80c1f2d1f4f7b74d08898013358d0a158a8558203a02290da3bee61e8345c6d209efbc48aa8dbee8eae68fb69115609996b9b40db176e76b313fcd174f0022b5900e473933972881a63e7ae1913d4d423e5e3b18c58120bbac8409d005582f82de9893a4b4e3fbdbed150fa95058a52b212b3cd6b9f59a39e863cb6f0283b12e30ea7e8b3f4251d7c5309fa2206829e7bd1c1aa07de1708b1dfada150fda0e88988515f2bed00ec6b63cd06ce5d0c212e036513dca6acd1f73c550406b951cbeccb39ba931e117f2d189cede81d17b11702c069915b4f48ceea2310bae53c2566842a8042757bfe438de1795b7292cf43905631cb14e24af90d9de5447ff955b880a5e3a0fc19efc5cdb8f9814d69c37e5106a86ef348b24b470106e4cb9f5fe3af2a03c66dbaa0c4c32d96eb358083e66fdef2cc3aa0cf0fc4c834b3446c52397682d8dd5f30421732128e45722386a0841638adb12c720bc32e1dfe1495b4cccd8cb046bba7288406ae9f1e0ac7eb8dcf0f178c793114f638bc36c8e14f4665f3d20dfec80981ff25aca0781027b4f68a85a3a9a26de380ea3c9ede4e3b21b81571a7a8fdb191705ec638fd72ed44c2a116edf92910ee41dd2f20f786bdc230cc310f0cf1f2bdf0cacd765a1884795a49fa4387a7032e0334ae9c4c62a013922906c6ad326547c35d9745a272aa83d64f35d16fe4a76e606be015fdb2fb52851ba21df6fb7b7a53ff9607c32b6900a87899409c8aa7693c1fe4f6904c58ac063e4565516e0c755876fb9dbe40900b984a0898ff25714bbc6413f041666ad6b1369809d647d9f2eb0410c7a0349fd9c1d75d32863bb3912df7a9ad8ad7acd15b916411773df1bdc67a33516e72ca456a20b43d29cab654b3dfaec6d7a959bd8754503874ba1dcd15903e5fbf720ce25d34b59d22cf4a8411103651d055fda863c22fc18c84f84f4f61303f10723d3fc84d2762eb86e8f71182de4e8fa6931ee9a34ba11afef664383b1637450cb525dc6c5153dd3d02ef2599564d869b75269daa5a018ba74ae54ce6c6f6b0656639793b24a064bb37a6f2120ae8142f8bf18cd930bead9039266d7e35bdb87210dd74adc83ef20d33acc0eb1b721dea3a1cbac1a041f834167ec2d0f0468d214ed964fa2fba5f8e09f9207c3870ce62e53ee38f04b4a77a80766f42947c347252e43cbdf98fb142a14e51a6b17d5f81962fd7047bf5bd28089ba4201e194330dbfbcbf67451af018bd1ae2fca4a689c1437b50f3e2d7890be2bbc499218d830082c965ec776a03009d97b98ae72a45c9db96b2be4302cace4b723b3bdd4c472ad92a2f13d9ac61fe96b6fe40c56638da62bf66e0cd6a1c3d204e6e8215af672d4f193433049c036e906d923035490e9948c0103f497f15e35f6ff76a73a32332a4fdcfb047be59b242d9694f14d0107484c536c59faf885123778214665d74e44d183d21354676ae04f74e0ce477c1a414906ebb782d90562ffb08181549065ef8e4b962abbb4d1fba0abfb60d8e92c4e29bbf328398526048fc8c4f45c755b09f4a368cd40ec3a58b37b5d4891aef2e0057891cb8033d0e08991df6af1cb72de7453cea7ae61d1768be6d707cab17c94032b728aff9027ecac01b486b66905239d2973afb82070df61450ec9b7449802509aa3d76305894515b48822ceb4615792730c986651af50a049ae2d35a47a3893b5cfa3511e2db70b3f0a0b0f8172e298b17e0e5b86e90300638ab328b941214340daac0d60bf2345abae5b00de3c3bd57bdbbd1cf82aa30a3ee7ef85e52272f2dbabd00415711df77f89da62c14991944c19fbe0daef54eaa0ae3cde91dddec9bf57fb8c7460000e7ca4ca2495729e9988bd921c580c7e941ba408c83ff7c1c4024eb424901859d0488cc2257872bd04c22efa2633a87861aa0bb670a941847787ff0f24ae2c0b2e10da1426a74f836f3231aab350b5d25b6faf538ec5526a460b140529602a77e56481b7158e72e361e68c17d56d0be9b7ed4e116d5684174f790a44f60b8576b0ea8e0b892c7239958d22d60e3fd72976a7d79f53e3bea9168ff76140b404eee6f4f6d0839172d5c85370a6cfc2e640296f52710a22cd3ce0b9566976f1110ff572e2f831f4723d40f459dca202b35f550bc52f421e5456cccbd17066aabadf919c042a41ff617ccaad46183b889c1fcf594db4dc54c452af48c90521d7ed0e773d6dee90ba648f3a7fa65e1a71e92deed78b42d9fa6eb7687a899165b21d5f26dc98eef9be72a86b2b15a7b430040915bdd2613d3b1384cec790fe1627a180b5e0b40a41b67209d18bee18cfa95e12c550098569e8598108e0a2d823e95bfe725675b91f9c721deb74d214bb88d16ff26c8adba9fa482bece9c7be589236fc61fba6ad564630691d4d4601417ebc0685d978939eda01b9ef92e0933e156c22bf9f5ccacb4772ae87b9c65d92b797d8b0b0e270962d5f60ed250faf06b239661bc4d29441d472a7318fecb692f15b55be8ba5ad1e3dccfb4e9e4f72535a5c30a6ae3c085bf772bcf6102dc5bf35ab2cc1f1f528dfb87da61d9db5415fe7e44d53afe01fbbd03cf20df7e40997b045ca464663ee570b66673abac7566f232984eff04455af817278673772607a7fdb9d180cb2382a9b7992ba6585cedd62ac66eea1ca619b8904ae52f2e45de40f677c17fa5fa3493065f66c8e58953bfeb44a9623994e8c55153af9f9899885a6753665b904550929e010b7e358dbb9d63bf06b7f2202c3c843362dbe4e193215227cc2c80ef8b9c140fd10b6a27c71979727373ce0b1f4c172109d8d897e52712937333f6329a39bab6378b38f8464f65b5c4d8a6226610d7246255609a7c5b8234b718e9efc1f9bec215d1366c8d69294504a0a55975bed3d57071e2ffb28cfbb63f5129c4300bbbbb673d9ce832affe2a3eda3698321e572b57df658f94a3dbfa06d23623fbe4dd8b65457672661b779fa07a0eb96ff1272dd22ec9869bf281a32d50a2d92a2c1d0a5a11620d2b228f0f9d9ad88fc9cad260c0de9adf116f61d7013bcee3ff697b08e522f0e522731a09c0a6a371975b42561a35d4735d0c0c8340fa9ab4617ca2fb37e315a1f9b2eed2c1bbeb9fcf5ce4b353daf8e9423d10686cf9c212434c8a89a101899532fa288ef6bcb4e4aecf834905c1befdb045925bf7a4aee402031bcae2def1f2748a9c0904719af40d1b84bb20453460cf0afb387794a9dc3df6e42c7fd428e87244e7d5702c7c274905172e7184959d1ae2ea266d8e2f112f8dc181d8f088b8d980f0ee31ef341dc28fc72902c893c71969484a6ef668cb1e5f32e00ed5e0cc7e4cabddf60b6fad2fc4c502efcd71de276ee45ec66bae21e5b9e7316bd3c15a4bc002256f8efeca1d61c729169a82858ef36c516acfc1119a216c868c2c89e165781b9b649b3b556732e5fdeef4380bf4ec15cb836568e8a0b69317f5dde0654de691a594874ee73f84e72c0ad6527e3f18ae0a6c850259d9e43b7341496750da578cf806c1a06bd25b1728cfbe856c755cb2d88cc3442e03e86b13b4ba05336f105be61cc31b373ed2b72e4373de769fea9058f2ac40f5f45bfdf656824a132bf78b73c3e48dc905b4f661735c44219aea9c122c232194ae828200ad3f7a75ab17059ea88f3ef4f510d721a08c88a14b1c4c5291f168feacce4115eb7540c7ca58ecf82bed519caad156a4282267477b8989761cfccd5d1e972ba4b66c50105d803ac213bb03e25794f7244c0b51808eea9f6444376f020507862dad6e87dea41b52a29d2757383944172c877f2e03a9b6f5963b63edcbb641720e6874ba3bfc66b3f99033a56f5bbd272e38e7b0974eed8020c4dea732d6202d7d1e927a1a4c9c1e0740bf527746bdf6b2eebbc8e9e597448fcc2e6dfb456850a481b6bde30792fa0a879045afa52e0068ee8804e52d6c504fbba25cc068e0542e4ea8d2731932af26c10427da08ed37287fcfb175f5c1ba546e09e0b554d1f1517c8c03675aca83282e64c497e36783303530f89ba502d9c217ba00666005038c8f37ba7086b0c645f5e9ab9cb4a687209e86761b45b628d629ada0013c1e1d240ac0fa58e127da75222467a71c64972e15a48736948be4b753acbc71f585128b87d668ec5145dbfd3eb17f6a787766450fc01b73ab63f02cdac0abc16ac04e0b866e2512e02e6042b3c2b6f44b4482237c4703a030753c3649d5c0557d49c2803c3717e9c76300e58f6697c3d6b6262f74ff9696f1bc7bda14062f732ea8ff4d2a4f05935c2edc967828c2d2e18bc72fc6ba961d8bef62ea9c991889146feb98e835f0f29cdbe8fc01201296d114872ceddaa59fc8aa45f042da6a96adf2a85fdad00e2a22b644c0cd14e950f313572c83cf27f08f88bf3653dd3cce4c4a2e5501699858b7b90b6d7aa2f73d5443f6071d912949a0a513bfbcaef618c87a43d667dc6baf836cfc3f04670435d3c653007115d99151af2c1118b781aa379be103edf7c627f091e1537b9a3e78b1d3b724c430fe9bd54cb1084fc72a3eacdf85afd6cafeea894cd79aabc2a5228524065b2a53954f2d5a5b65d52c43aa04df4d21d728415b3e750e9338804cbc0bbf872dfe087930c030da61341f73f59613a64f7dca558831b74a188ea4e780a6b6e727e4f6d597fa66153acadea149bb31b2ef3a1ca9930dc63a0f2f28985702cc3723dd6d0eb63ec15bb5118b10c1b0b09cf791dea1042873f332b8601e2cf5627325c06e862e37d5c1956c6d26574e7fc26bf4e0c6abf8f29fb2347359a9c59054e9a1e2f5559ab6780cef22dcbba9bfbbc948545d3b70e828823c0db5803be0b52c9b2168f1e9fb55d8c7861e2ca4f0aaa38e42b61f651862fccc3163a77260f72a9360ef4d2b2276a3f2fc58e83927bd6e11b9d97bbb1385ca5a673ebcf29a40b1fd0d5ef0c0a3fc11339b6e1b8994905a1c15498cd4c8f944d4a80d3b38795726b3412ee1a9d05cc76299c7bc025b72d34a64214ae64f7174fbf234ad67cb972cae485c3b32d362fc8df6ece754ec7fbbe53d7eaeb2408d691896a23721bce725089d22be5b5b36d807a2f1d8d506f508a39d93bd773012108e703906a0b307252f7f4198ff81b884e3588cf53aca1211bd535c7f0b8a3debf06756fdc271b72b86e3d9a19730c4c80b846b317dbbadab7a59d241eb87100fd936901ae9b541406aba4b820606c127af8013dbe71840231b6b3d6a08fc3bd22319be9e95616725be81bb1e0dc15083688171091142ebf875110bbcb698ca4795c0d8859528372986edffa2b444fb7b5a6351e74d74b83e803e5f3e8672a77898bc7aac5e17e72ec7e7663443ea6d4d02c5a1f4a79e9a60a55475040159aa24a143f9e38af587289d3487f8e4533a1d6c2019a7cef8fe2a5da2e1210545448e2bc0c133fd1882925297f053992e40bf83b3faedd31925e0e3551315b7a740ad529fc529875cb583c05533e7e0f59fab5555318ea00f8d974f192bfd0b3bdf3216e90100f227f721a03b9de59061de94ce248711b875af499e6ac2cf02baba9d69f77dc45b5aa72314906dce32dac77d33b26dbf2ce7e19205f8f603ca74943ce21f6ed606f9f0b0feb6dce2447ceb2d1a1c8145bd44f5d83e021e1bb4697182b05061990f6a9720298141f863b6f63fa7ebf7dc566622aa10c57731cc9ef62b52ca1831f49847226cd7e145aed26642d6293228e22ad9a244882356b0e81e07c0f2f5db1039172316a18924a74bd890e22b0826bbbd8bf813dc0763ad2bf49b8f1ea157329fb51c049cc4beab8f20ccf8d9bf2b7f21742a0e984ff30bfb6297997aa73ff55dd72038d53f84e3d5fff872874af5092a1769e0d7b2e08a82c5ca18ab1ee57cdd32f7100702c3b3f9249d45dcea6e7dc4acff68fab20dd2e8e89452b8d7a1bd388722685a11c1f5e96b3dcffc96ab644cbf8a652c754fd8f7c7ea438d5638472c220a862957d80a3ba2cc0128e9cd1b0554fc4722049e8204eed7ae2c6d52072d7494d4e7ffb47e6ca9225a60ca9f14f458e00eb45e8569923c80cb2dbc37d38c44981e38aa0f0684518f95129c2256357c77993561df4d2a52826048e25cb0fa816bb3e51597df018a5684ee7c02df2c603a094eb75c4f8a13b02960285ec8bba725457f392d8b2bf73cc7e451377d48d8fc4254187fb750036ed7d25ed5ee6c8246d287f0b9fb8b7052df86a78d21cf1844f0c12485a59aa3af7d418c3f2fc6659aec0f16cff3ce84b0417ecc763fc8a7efde5d27457d50f9b64ee3966510be17286f269842e4c8b1483f0f1c7a779f97675ce6756545447276cee5d7b9977d3721c662cf7d151f8403ff16d1dfd4f8b1a41431b9e8b6f4c583ce494463eaa4560a805c068579e1d877dbcadab6cc0508f7a3fdfba2ba7a6ca105c13b95e932772753560bedbfde6e0a36bea091d911b6576fd80fb2258230ee9de7c1eec80ff728cd80aaa69fcd3fe4fe06d4409273f542750ab4994ad5ebf359ba38a01891a72c1e882b6af42cd8cd1316f9e4dc6781d2342d030f92f5b768b954943a31d4572a39396461c1a7d8abd7914f44aa9d949334ef4411c28232c44d34421130b496dd6bd2fa15031d1fe2cfb043fa6333694499dd31799f8e6b7e1eb2f42c5e40c72598ed28712609901d44a6087988806f1a89202ab0ebcf05f413fc73a30b45565de8db0eea259be32b2fd017cf56bdf39ab4f3c38f99261130c786cdd9064b40aa983d8c978830ecafbd7c733b8bbc73dea7cec0d1f7a27506f0ca143b0eda87255b80e5c687c934c678099df66ec7305b417994cffc2ec342983b0a7d298b172ddd3bb579ddee0076bc72a558899d9f53101abf330b6bdf571fa020c0b239d72b8e6057265fdd14311c82d6c5923f44cddd44d11f3489c70a58afc1515d582720c46d9f549d0dd1650b529ad8edae4049f161580e734cc9db99d121432870172822730d29ab1b68898d1012b8f1646d79544f9698cc71f2684ef2d6a002457720b95d989e33fdff532bc371212e28326badaa15d9a2f48a90e83a07fdd4c42249349d77447810b92144804ab211c23dc1ec62437faee5535f4b474535d100b72f417adb10b3c654439123a2d09518baaf34a48d36f007b6f622f7c7e669b0e720458e3495305060e9a324adc203a2bc0408c57361ebda83e0333d972e7094c5f60f6fcb78349ebd448bac0a8f9573c19d5d80ee8eec9f41f38751b6e4911af7267ac05b1b39d3c39ef41e22ff800274a272956bd1f4530480f81a15d9c0af07247bb8ae195174b02367911ee64710e30393759f27691244405bc10d266c4f272867d4a1c5d53f5a9579fe7f64a6ea3d3067884c4ebf17a8bf041514ad5fcc272c28fc8c2a37e7ebc4646307e748a02dbc75e2e09e57f9d5db010cc289cabda337069c2bee840c3673dbace7647b45ffe6927de45cbad1f170985743887cc552ed8e683c3145104c6353b041385d6a35c42671b39f33e19881b89d6f467e061725bad56359cbdff23694f094f6d7861c593661b18ffb07b6071759aff720e9772812f11d8ebd53f0f1be8cbbacecb8ffbaa3128e0d4acd13a45f6779b7fab4d7237cc840e899e10a14fd9fb4a5900b02a700638dce64f001a3e0ece5596dfc2725644b94849c98fc576c80bcf4599b0e9b8e061e0cf5630fd63feaa6636dc1102954fcfb6a837c92e55399e6007bda3d92fec1004f37362afbf122dd1af4c07727c08fe3300fbb201c5cd7e22c6a76f36e185cb3ae4c0bb98f8e8d952f190b2727c8ecfb7dde321e5a05bc2b43b00a283418a2131ea85aa1532cf4f31a9ee7d722308c87d27bd0fc7b91e2c5e6d72d3427419dfaf6db97be873af2160c4ba5d72d5bdecc65c2a34b47e43912707742ed51b76ae5b64f832bdc4a2ff03a45a3b726ccfad64e7aff2df63cd57dd310705905f6f83950cd565c46155a6bddab58c722c8eb492567e511ede69a6af156795348c3129897e03b15fe356c8a7bdf61d5481406d5e047b0050cdceaa58385eabdc3f45e36249a3184e1d18decdc6b5b138eb9c48827bfeba79fc8d2024d540f59a3cfd215af3bf8e4142f4a62009a75710614de56427cf096d07ea150c8b2ad17b4521832e53335e8672ddc9bc88a9001dacd62cc7b3bf165a37fc85e7e24a367e7ce6ac5d1eb5704f88fbdfd3a0f00f727cccf5de722cee5db36c1a6edaa867ff85421197195d646fdd7776f70e4e2506405b69e34f2c4e5b02af2088f643c3b92ac37662a136c82fee011c04c3382e299ab539ca993186ef55a4a59ed7713e51b1eb4bacb412c6e4ac9023076e32d572e37379bd9cbc93a36a34826eb5e12a93390d7c96f6cb2830f8470a1b4f934472dbccd065cfa1b66bad7cac8b9fdf42e451eeb71c0322d1771cbefe9d4a72f810e82bf051097490d4d64beb7120c610b8efbf91b8d950ad2552c572b6b94c8872e29f18c0421511ad2958b5bcb5df9a232d2607fb9f8c84e3a6f498b8c3b7bf34ee2cb94630fdf601266a0b731e230fc6db1ba7d8d3977cd367ab6751b6d4631007804bffbf226a0af27ce81908b3c1694fb052dacfc019edff9f8e3729ce5d72a36a2260954809a8cc00c482e7eb4a2aadd7807ab8df239f65a9a76ef7260a32ae80e58814990ffc896c6932c4671df516c0efc0bba94ac4226b690457d3f549bdd3d95913a14381daca23695e17b91832462aebc8acbc48ce7e867ac7b71f7247136aecb222fda0ea37d4f22668e730699a776122d605ea99b4be0a15621572cf965e6810a54bebe9b8691d6e71c32446cd2f49a67fa796f350a57b4be6765dfe06c68b10df7958b7d3d7ae6e2e269932457045bd0f73995a2711dc71651f0509a6968aac7e840575bc1d39d1f825aff1637a4a83744e2c1bbeb759f8d731657a9ccace7d9da00bd192e06e90a19bbbfd075c01a988bdad9df15044fb472f35a96512c2fccbdb2cb909bb48953180b9f518d77e90327a310d22ece083a08f37e00a841a558331ca4daef59d700e484487c1e409138a03dc99c95e148122c5463ef18c30505d551de7a4807f9b9adee65389951fb2e4c45ca11dcf67dd61891d22e3b6a0489e56751a2e9e20b696d40835f490f725cc4a38a40dbe6b45864345924c274310c1076740a98544e4143e536dec8e8b26e97e671f16cb86d942a672c72472f41c97244e58162830fc208951954e3127f22e7ad0fde201318552fe720881a2f7a5684091c8d3ae5966ff94d0d417066b2407ba30e0bd6bda4c69b572dccd2d074ff535951e3383bb8ac035e06b88991b4942c7031dd70d5522a14872be6b8928a69d703b91829e5de8b15c9b53460c06b093b575e0b6c6a025b93072813e17f117bb4370c4cf798903c5b416921ec608a8cb339b92d3d9713709600884ac4fdfbc38098f4cb57d2ce014b8515089d4ee1fdd85b8d112691d2bcbdb069740d62141c795b7d1605c57343ebc6fddbdfa10f5cab9c2846ab36d5898dd721d352b90d223bb9215d70d5afe5e8e1c92508f45509a0f0fcc49b111dfcf3d72385899b69dc09380aa0802a79424f24a0dd4265b3754a3529cda6f0046f33a3734eb067e33bfbcd83007d407e6e57d42721ec11f8e0703e52a15734cb684d3723e1a85cfd60141f6067bdf2b9ca7a5b025a78914a8d27840bd822cc8558de43b38e81620db0b4043254e811a24e67d5afa1e99f2c067e503a5834e829d3d3d7255fdfc79a452dfa20fb65013c3d0c1d0f31f420098d3355f53621b854b947c72f87bca2c3aca0ed4808ade37669d201662f47eadaba922ce30869f3972e549729266cef08ff54c746c2e74aa39e510fa2d677010ec66fffcf47d0b3cd537e472e93eefebeda7c39f37d36b9ab60c8d071ea2bec29a4dc0d99172efb63a8dcb306d05b8a938b387bfd7235ebf435f087c8d2af970ee990ad22a62459ab9b8d2065b3b1669a8568bc3720ed2bc1df77d024617e9fce4d7837fdb5659aa156910166e5c9cdbefd6ba4da9cbbfe99942709c9b619f1a2bfda772559e29a2f434167272b2ecb756038c8523a4faa1543510e253d9700942355690ff35200467c0ed0a376f074329d3f0dcf75e26b5582d0208272951833cd115d7d9277d32a334731512e7aa6acca976c9c21a1a9f66760c5d55ce41fad88749f0604c1127c27c2f513a547a016080a8ad9a9fc24c9031d6b2f1307e8bc25b03e22e99e5c37fa61e10f3175bb4872c3f2283b1b2b25c0e6c80158504cc67cdba97d6fc6efb6250f57254f76305e6b5bbe0caca735af43c34d1b9295152302bea5920ef81c0cf97ed1c4216556bb45155a3852bb256c5eafdae0bcd3cefb98c46d154226bf5918c95542cfb522e60f09ab4ecee9304d71a95f6320f5ad51fc3c6974b3f6b1e5ac61c727867352a748ba984ec20c6d435fabb98503e5f0786e884b60802d92e3f7a3913739c0154147d7d2a1eb111f88b233f8708f5d312b7d23c2a3b6782ded2837c0ed8e4e52846e9ba7ef6b79117b614e331ce500e96586c636740e69aa2e6de6d72cdadf0ccb6fd00d0a876a178bf2d2e6b846973d7e7bdede64071dac59c0376722944c04c9a50bfd764e85a3a2616d6724cb44e893da655b19de78d2946882e039d526a6f12cbbddfb62497e17b1ba87f3395fd58862d0f41aaeaa9c67a5296728b2da42fe77035fca45f2e09401e6f39526b9ce3b7e5ee311215fc9fd4a8823211fb4f2678122d842e7a0e402eb99d9463c22cc40700d16fdf5c75ae60979772a49e400c0ae40019afb779ff8a1c369dad7743284a80d37b5887893eefb7b972cdd74c59b977366b6e1e73e57c8d709113e4154adcced71dd280f86c8c286840e6121ef026c99af0838d7bea5360599c31fe81d26fa686d63d97678ac3ec5d36bd40eb299589ad2ebdad3c5590d393c4ffb2a967882cfe7e6ae5a4666599e872fcb88a04303ae2bcb2a3fba173d998f58eb5b652683fa7fbe2f186a026104e72c9c52039c949ceb559af81f1c4a2057f06f4311d6451533469f5d3d6a5f79272881e35f104587f5f425235b0c84e7fd08243fd4a10ca9e855fa8469ff5efb372da890de09700c4dcbb0c5c39a1c50a11b5a3d90c8423b7972606b250282903610262ed8edb48eb79c5040c84bdc84defc1d9fda32b8ec29071630c47bd740872e58b1c9a2d6c358c6fd86a624e269c07bf624112f9472fa96a900e7c50fd14720ed6fca1fa6534ceac62cd6e2f152cf40e5cb418801ad16e37382f6bd7eb8672a7114e91b84879e8a93b5c511b0ad762bdb4be7fcddbf7d47d48a413311b2d72c1b3acab5e1bb9edee93863e2375d83b2b32e6409d9e3c6424f8af480f6d971984dd38bd835d877337d3d979cae2b76b37ac9eaf186b58dadd9d20d02a8e96720553fd0d8a40f9d12ba5d8fbce21157b0ed2be987eccb1904ce0f6ac3c652572cac0cdd5de120c219fc6874316baadd7c503c2f2f1102e6415245c2458a718729d650e2020517ba4b582dd035d8e5f868db33cc8c2c1756b59d61f0c7436df72f2c8d63e13a9a20a8ae76ea0cb906e55136584f69e633f72a82b85754b957172fd33536b089ba42d28d67f877a879fb79827576043b6511910cde9c42879ab1f73d5e21eaa55d0a1c7bad9fc2572db4c39c3b859571158bec9bb3f2083ab4a4f202291b32e284988c8761d117da882cbda8a230935f423db285961233f64fe7291de4b76cb27ce232f5a099ed4afd9f91c367d2f5b9a19a46726a4f655fd7a721c309ff54c5049e44a73fd5e4e4fa24a42c1274543216036662c27ef94dc411c47d125a685b2d906e9502d377c019e48f0c6685c71388da22c9bd664dea69e729c7df8a071bb619cf93ea83c5734b989f49703a2682c5a8edfaef5a5d2bfe40d8b67a093b7fdab7214e238222869a6d564b3d8ffef04c3e6f6e20bf0c19ad572783f91a8fb48012802289c97260c6c8fe4263cb6366a7a3e15cc7f97b855c8722d439c41d58589d44e4d1a5505bed6b5836a9019c74cf0031492d842500dcd3db8fa5074c0f15dab40789d965539782a35933cd3a0b7365ad9dca6b670e678721483e87b15d89e3838cad5e0234e6360e7d4d623d7b4bef9644b47d579ca0a72c71aa7beb3db1f76d97a25e670db8631c25ed018eb6c489eba11ee4aa3d1ab720680c05420b3bfa02e3530fbdd7cbf7b15b673d4a0301d6baaa0002a4d6d1a7255c7e2973ad9287ac0320aa9c95da98b18500e2f4b09a565cf298ea02535e87235fd6bd1892adae2cba5463e3eb93695245066e5ba4d4b878cf0827e03b0b9721d6e8430542eda6a1e74963cc2f775e0d982ab48ec1b4489df7e87ccf7d6ea1a9984cd2ce52571cfc5b740eebe5f62a0e704455534e1f2abf3500365c920f37291db1450daf302fc16287bc1c2cce4085487ee77868974d639904b864cb6a863bf77cda656f89892b1298b9846271d22ba046081f5a28e81f9ac4f648313a37281d6a9988a516f0ff5278ec5857e198ec06c2b37f7e239f84c46c171e5e38c09ce206a04db260d17e127cfce54bb13ac87647d03dab2dd9a283144d98baa3972db6f7e788dc3174df014936e4952c5cc376bbe73ca58544a929e9503e30d47726aca4afad5c0d9f7a2c3ad0aacc74d6bb72d0930e90b6d99328e033295281b520921104a7accef6233652d8bf8cc023a629387766bcf3f0899273272f147f2726567be3122633cd41d1c94b6c35544ee3cd5e26afb2a97216aa81bed2820d558954f4be11efcf846b728e785a92e332de4a205c165f86959eb1010d98745a872b6b0ba19cdd3956e5304a18dd7eab657e7a11b1378b640febb05c6f126cf6c72b0cc5b302d1c4042bcedaef8a114c9231bcb118b4443677273a203a0ac37d0722ccedd6c458020b1974d2760bd1cae982bdb55336e48a70c3337ec6a19a6190d15eed485b34ec7b782190301a838e9ecaa8aa98a9d53e9ef920aa819be20886dd0602ebc11faca3ce4a389d4a192fedcbd64bbf7edf33b31072368f96371c672352bcccee9bb6e85ebc884216d601512e89fcc1124b63e4d7eafb0d11a3dd472f7034d0b51c329f9d24d774fb61c90882d123f35e2ed9030408bd92501cbbb7286d7070b7998c6899db5c12262de7a89d8325b04f3bbec018815325821c56e720ac2d7390bcff0b99aa042ed69e914f62226c52136dd478ccff737642b20e57256d4574b3c5dc5bedeb14ede42993d543d730e542dc9df5487ba093b3f0d9a729cde461f071dc8634fd9e5a84e0db46bcf961c8754bba3114641c88d7ed46972cde0eeeeb66d35b0f7e8ecd88ea35935378a001892a3e4093466a9c5dbd5977210cf0fc9d28f833a569efbc273b51454cb14b7cf2fb305a54cd206f3dccc7072eb65b4914e89e419cf7d288d7dc33987758d880bbcbe0bd449dbe85c19e5bb1f1c995acfb5c522e938848987b4a5e93e6a8fdae3b5d93dbb3a17e04b7cc8df4134e2c83c9f73c3bcc70215f406d547c8e16d12fd59633cf7069b63ed3fa6aa721c00989a4aafc13dc1a916f717e92882d1d962c2135e88772ce784c0b3b479675c5f0f9e6976210e8a37f2775ee19ec5a3792c352a9cfb0b3f1923612480f572c740fe0ed65795cbc9f47cc802b0f558c5fdbac4ad0f0b98de1d6ae94e78be6a20e4ce0981c2bfa3fd2c9cbe7d1aef69e62d4bea65ae509ff01ad625ceda7a72563a2a02793be716344c76b63210479325552a406fa07a616f24ef32ee47b372916beb50c720a360792acca6c3f3c4e5d3674b11930cc9efea31085cbf76a772d91ff928403d451c3209ed75545dab29b517a30c2a22cfd4e5dd3bf1d1f63472e43a5d8c741fa6a5c2cd1225141958aafa873737a11e55dbea515fe80776797215cc24a7984b5e940e4bf8b8e3bc9250cbda63f6497b534d1ba62798f9df61389ce0f2b470adedcb8e503b3ac39dd5a33efac641632e3914a787a9e3bffcba311413e3c9c7163320ba708457f057ad6c66d3452eec998b207ae0413a52fca472cebc30f70755e120faa6a059e8188ed810060ef5cef074634e23def7527c175e9466fd2777196f5d0a57820acd387a9684f13cfbcc3de7a7e31c83143430785cb938ad2446ec474f8279bfea1c5760c0ac68264bdd2d4ee135f840d4eb7d95722a4627a2d6abdf4ba8e3fbdbb2fde6b618e358f7464331fc05b3f7e5cbba3572da97f5299eb602eabe7f0e61aac3ab75cd8b9c4eea9af2057e03ab8470097d3b9537da80e836a28e6dfd5398fe719ea1b6ca40d3ec1c2e5a0a8beb0a53b4a1096e40c5a8734ea37dec23c131c2eae97e728eef073435fef851cb78122e7afd72f9ec7c8bd4c4d3f4399ae6a95a3ccaec4582ae12ad50e6794590623ebe9e5f25dc9477a9e576786e47be7aed45184bb645e7a2d1e2e19ef0baf9b73524a2506a9b95d5ac486363c10c8908bbe2bb7cd33b3724ae5f0c1e59e09af6b48b79966c9fd65d18368eb68fc204245ae699b3470a3fe8437650d58309ec7de27e5b184884542bcfb26227171225eec4d5c6430dde943083c5ab84fcf873bb0e6be35c1e884a4bb3fa1093c9e9abf9b8e1ea120d7f1de2495a8e967bfabfed6640aa2b301c197a43b5ddfdaea6a34e75476388d47d59ef434ab0e8b3b46fec0a2ac54472b6fd7db7fa3890593644e504f920490fcb6fbc3b92ff6c187869a425e89e867281ae5458b786e4f7bf5de5dbfdcfe5ba94ac772db6ad5677855afb697a4bfc727e65c899d0987a5aced1bb21f62b9d9b563a667c793ee426a534afe36a625b72616af474474cffb1915f443816c28709de0b0c90f493e3d936c2b717e0da2572bb2ecfe9dcc27ed89166a9b77254359be201e6ecdb0f8ca44275e4882ba68372955ace4c111390a9618de71dca19cee671c4ff076953f18ac3caf1f26acf514025fbe0a2099b275480aa4342d453b3e065f86415c91010cb9afed7230c0d08724f203294ccb8192552c6787289242843a3385e33bc0c54702497b2672c2e533872ec322f4ac94d32dcaf19c1f01f398da706cbf8122af2c1c5a3285646cc813cb9af5a727d1b1a559e23ec22dee498cd0fa8d20535f11c4bcbcfb5d5c872f3727de4c0e818c9b2d3b7f9be63f688e047d28b1295d1ad51d77bdc8509fc9bdb66d03ca4d561fc830bb4ca715b862323e9badedc3a83d3de027ed5031d9a21084015bbe3109c1582d78c8963dcecd147e1d1e687023cb507d2cf14e33cde5b9606d95414198d02ae61170fb78b5ebfe4b735cd0f6b33fbf7b838eebe50051e23726ca49f0c903b8d53d49282cf6d4d9848ee941d266fd44df7e5f6e2c2fb8c6c727275602a8da1215742e9598d6980318d19ecb948e28704e3ccc87dd37e098a7261d08aa1e60c16e9cde111385136384567c2c0ff8e508d7216babee182e70466c299ef79b52be6ad91761f553b9046b7503190ac60e51e62c99b6def2c245a7247aa1bb2eb09710d81fffeccb63cd6c5d8cc67826dc702589e0f330ebefa9972a220efe7520c4e8a9e496f796f49e042aa9460df4f92e074faaea00af3bed463e9a443f7d8b60bf671a51aee044ad6d19b3a52725657fdc971bfc0491d85a172d479157ab8cd80ef2a27c9420eb3f005853c59675e2f6865a9c44780f7caa4725d0263a901e49bb337560ad70b80da6b3748d5b71c395ffe48b765678c17547210e901c5da2234c72be2694a6bcbc061defd49b8aad282049a60ab7bfdfe4d0b0dd26dd78081194597a33f78a049ce5d814105bc68996c6c0bb14157e2dd8a22935e145cb695ebac61bd0192efec63297eba60fdd6035baa616c6db07060a6728851dd299f00f47b7fbfa0f27b34788ce9817273d17870af373b00dcf3821072e8e663ec3c57ee36d2315b40352ff19e65bd804092da03bb63e5d951ff8ea81e34fefe528ea87f426b6fbfedc894cad4bf807ccb867dc8fc44245472c0c87772dfcf9048a96f4f8352b89d52eb05a30f4154816ac2ca9bf86f3a08c5c1afd23b45515fb9082160258c9d1a59b440820ecf9d0a24ea4280f7f1446bbd492d3372eba9e2770fa66a91abede1bef929daf37022b343830fa91f576737618d9fd2191168db2f61e521a04c01d881be848502fd938ec9e122e2a94657cb37cf96ce7269f12419eeb841a4fcf2a4b1cd85b4e6418d94eb0de6390c721b99e170070d72055aa441494d358107eac2946142e125b8997eb5ea45b9e30b66b3f8f2ec292677af5aa8ab3581ff0db49edf454bc80fa34159ad84808268ebe8693b1b55ee0d5af56d505ca078859653404f27958cad658b291cc43ee8b82be17237a833ba725063bb0dded91a84e12614effbb35ebfc1b19143c109b7260faf961ab2725f72f9858c812e96608310c40c492368d76694728cea1255ef2be7dd2f035dc03c219664aa105842ec8d06767bda66949b3e56a4a096ef6c50f979eb8fefb221617234fb5787eb26bae279c050ca06174d2b347e8ad9ae6d58f1e531fb857d04932d9d46e6f1b504cf968330f9230f5bfdf4df08fd847701e5a2b5a7c988914cb3599b239bdd11bb3d37ff4c24ba716245494a890f628021ba67b9463628a5335172c67d2723caacb450dcbb7e467a2a7c32e1bc60a45175af152c0ac6bf3ce61c72ee937a3dbd38371493d390461c8c2a7e29e50c79496e9b8aee03dff767a344729827a6692eae0452331e98c7afcc5a8850b4fd1271116cfb5dfcf9db94aad472d03c52c86b3925cc1f7dcb7b04cad9b7a54f676177489cbabb2a18d3f2c358726830b2b3ae43cb27c8d46edfd504b0ac207fd68a77ac556ddb72259fae091a605d8e123cf2708cf057f9dd0d3f3cea0f401e4925e90ab5f58edc857f33c4573f653316d7f11784577f68e346137751e4422d22bb76caf8a69cff207c7790fe72b408c32a3c8a1a66e49921da7450101e40d5c6002ed21c30a4478e4461489939e481326645381acd88e916f4a55cf5b9fba4418b61f55aabc4aca934f52da36a61e8c521db314d8838d1a009923ad2ac08322fad38f050044fa503ecf10b55596df61586aa5aec6fb0dc728348e71f17ff7be86688a2a584c656e3eb764660728198e6de8d5b7685c2dd19df9eae1bffd8e280b5fd3b5a18b4ce7a1aceeb4e72dfe6ba03672d5ceb39eabb02cd56cdd26aafa3590c8f45913972ed9bf4beae53c2751eabda6a6e4bf446cd83d1f3284a57589b42e2d96df5fb4d04bf6e6db372e7e92a7adce642d86b64776dacbdcb32a72265bed0f241c13a714af5677c077244836926341376add3d9ebb21451c8f59596f133dcfaf97917c14d44e8104b3d861891e81131cb25f9f47a37d8474b69d41d35a36a179c12708fe41eaf4b4308acd8b6905d3f7dbe86f2d9bd7b6c1575429f1a9b8222a336fd52f0eb7b4a4272de214eb1e18e0bd0f8696c5972b116c9c01b06f6414499d468c0a0d6a5c87a727beded7ed57c16cc1eeac3a414ac65794afb81b93f8e4ed2bb02f42a387c82723c0c9d9a57ad386e4f31ca0568c1d3f6986f7f5edf0ceda72dc670ad9d5b731cad4b9b33014ac73a2e93c2a7eaa5539d32e42a099558f6c51e86e9867bafd672e385d1153130bc9def1a8542c5759c8abdc24f399538d635578b864023729d665c7b7a565db432c86b06209de0088688a668da30e6fd3b94a0967d5680900d1b0d394d2fa92a3deeb2b1af711ec494c0efef1ff27ae772fd96b6ac4cc0b81072666db9553cf2f6740a7e6f4ba2db3d6df98369de2cffb85b430ffbd945d1a53cc8c0e052a9e5ac4dd44129c46ee0e864808a96d41d778f91bb41533c846fc072d41bf80cdefbf7057eb86e1b9816ba4d1317563fca03a78df35fd4696d28c072c44510ceebcd8147b4b9f3c3d20fbe3ec43bc8f9548292f82c72a93bb813284d0451d1bb1e0458d6bf88c5b0bb3fde448791323187716e309c11675de07b316383dc4840ea81a391cbd6d852daff6ea36972448f2e27e1814a239caff747447231678b4881e1e2362264a9e5470d9d2f05b96b9755e20945a09326b59c360272af7a290ce02397aa1e599772b657b4eaadfd8633a2944a6f6ecbae6a47c8fa5bc7478c980db8648da85eba4274c16902991c5cf41dfc29643d9d37ba14f1de7253f0564390ef033d1dfba35e1862331293851a4fb7b0f2ae3fa31a22c3cea8729d138fe1e5be8a6cae3f5398f89aa64cd3b9a774e98cc753e04789f323d4ed725b9d1121810be7b98b73154fb9e2729373bebc98ccb7ddfa21d96515819a6272a730afe5a5cbb84a522168d77399e11d2cf6fa56bda21002c52f6b97b839d26e65c5058fc256e7b48d72f671f9c783947e38801b3025eae56c82ed5714a750329adf2b941cc7e8dc43ce759d992a55b49f7f5c92e8302fe501553517bb5fca720f495468165e1c6f2b058d6db3985e6bb9654cd84f8c993928083d86e12795579cc99399605f1869c5a7034e852abedabeef24c4ff11bdea202cf3e372b80e1f44b3ca083e83b4894a71de8fe0a0c277061be7af1db032eefaac9805268cb5722eb4674dee13c0ab6e0a21dc0c43f8254eaad3068c9df307adb8758e0c1c777289d2fd99f2141df1667424ea78b56a41e81834bd40c0f91a83ca4ae7b57c753e9e2e9b40e1a86546d44bb7d32753eb12ccbaff9e1ec95d39eaaeed25975ede0a4c513803e18f293c8a1a0aa9439b879a76691fc4092047c5ca5c1e40cebd0545e4fb4c3d01dadf217c71291d9461b17c5a368f6d4813e06415531258416e6972f26edb4ee0e4ef3367e918adf32330fc297aa8c135dde412ffda8b0b4b933443fecc3bc7d5a3ee5e4fbeb7de6fe7d2515d412c7309fa6ea7deb1163e9a57606b3cb3f1e28b6ad5cc962506687ae2ec6ae2c95c805a3edd54df9ee87d18aa204a3ba2e239e0cf1f123fa42959956bcb3a19155357c6bbb18321201db24f7f1572f398280dc25876d3f7669192a8d0fcf3d64ae7fe94ca6d4545a6c19eac17ba72ba15206d92673f84e2f0a7847ad8ed191f2166f3fbbb63e2756a9933f458f872a7490b3a53d5c494c172f57dfb15e40282be397aeccc34b93ecb291768e6f922e6450a05927e7819ac336bc904243fa8cfcba21584a2d135556cd6aba27fad72837202be105e97973343c920ef8baee65150c2f54becfe82489be4e1fae4f772edbf3b75db42f25ab56257c205043f4913fc55344235450aa6c808e52b40de3af438e41ee729c1d34c1aedabb6a290604170d834ae619f089ba327de335a2172f561c5aeefa91fc2fef45ccee24254f3da8520d7e70fc5bb4a478411af913672c318e5b8ed30f493843cb5b693662e834e6895540b311f8308f7d3b1ca22ab177f2ecebfecfd418cc8b76f6c14b573cdfb7267c8ba072ff3eb1c7bd229b42972a52d986ec61984a56b6b40ab73d2829522374463d4487667f34a5ec0a40f2d724d7af28f3ff2d3761a159cded9744ddb2d77305f81655cd7e84dfa9a8a01bf402e5b6abf2dfa63fbc42f0c9c4b8a7ff6e47f2f0c206a4d50f5e2bb90ecd2b87243d09ef3a2430676a071930cf1388748d3fb147870f345cb099168ba18b8d772d32adeb4a4f79c6aeb5e602f3c99449ed35a91a061552992f2aa178487024572509273b300c0d7fc056dcefcaff8206ca35f22428031ca69a9c2d794d4426072f4d18ad9533508c31fcda3e812ac39891a6b8c49fefdcbcc4314bb5377ba6b6c14bba77bf91c9c86c52d242a7109573e6749f7462f1fc8a5a08d7f6964ec324a6ae75d5a4ce3fe61c1317c8c17b98f4cb561499e750f261f876ca318f6f11072e69e6e6f36f6ea6566859bbc5f012992f1ce8103e762401ff03b3e6b630ec0556370ec6736bd94c7e9f9aa3725ecee03d41038b12c732949b20a28a7be364172d9d25c0eab8ee1daa6cbfb75b22e77ab4b19b0a028803aec0d6e62a7b3d962725204d3324f35c0f049fa0656d8cd84f4c6166c9441f1a505cf57b54914c9ef72a0a54de497eb48f1a9853e7825b7277b3dc60940b9aed94599c39f2859f068721874e1a9356a98a73e03ea298eda55f7d56e53a7ea5c25efaa448128ffac0a254bf46c0e7e081c15804f3ece24fe5d2c9d26949d8f4551afda13d57a8316c572c789b613a228eb1615dca520d317ff335c047eafb4bab16e34f6ee2c11f94f72976738fb0466e5f816afa8f7c9377324a339d1db639693662550dc85aeda4013b262aa0e9024726dda0ff6156c4e8ec17a4a08664ab18b279131917d7ffbec3c1f312e9859d27c9f821cfe36f680dafb00e465968a64249a4c22ca00e76f7272948b090cab584c2604271e013dda3d15ca38f45dcc58796c45429ab4aea429598b4c8f1923fd1e476970f0aaecbb3e00866d008517261e826c7e1dbd18f1a3336f4522e0c1a1e76b083a7190d74213a4cd7586cd2c87e5dda0887aeffb1f483890eb46b49dcf9875447a261bae9a61db898be5342b57de5c1dc79f7785801272fe21a8c74ea016ebdfc36236c0edb303743ccaaa41d04ceb4fe1df1abb9baf609156ea7900c70878b457d0924d938d52e99fcbfa35413fa35429cec26123986f9e97087891530f8201b912c8005a1d8c21a51ad794476f0f7fbdba537b79877255fe9c62b3a0a48e759fc4de47beb00ccb87e3d0d22934a2667f9a145feab27274c1b3db1adf812b5e3b1543b6a9919ee185db886eb838b1afba32111d25337260032f1030881aafebebc612e51dfd9deac42584800db2107eedbb538d2b717284e04e60334f13a2ce3306d88d33440f9c08e596d70b29157944cbeb5d43a272e5ce9b150fd2412ce426d60f685a4182dc45926b19ae83470ca9bfefce7e6272cb16b9dbaa4c21f896e077534038554292171568b523669d6182c107ecca9c720dc8f7fefaadac0a4ce52b0ec89e71d35101a003aba4a9c3e9b09ded7759c3727392a30eb14c3513f8c344e1d3adc55deb3157fc6953834ad42ed43e395aa972c75f7b0d66ad336d0ab1ef0d30573ccaaf4e48b9344030436ec69300b69b4b077393720dad99eaabaf5490b157af78b447bb1d894ef80af2b2211d6f8e33f621621c0c44dda90763126d42d528e918fb37491390d6ada772b84ed105b2c82b72ecd97f3a8a2f8e3ccc90a512451de611140c1a30358d855dcca698d8d3beb07231c1ca83b56075499501f443b2db24a15d8f75cbf8c7718731cd475635df7d7247378c008b57f4469a39600c551505f487c1a56066366b373c0f0202800ec272a8ad66581fc30015f57034fb159a15e333c3a45f337b4384113102d8c0cd5b2c421c32354234cf36ee3374a9fa8ce9f9120846613ee220e14b9f957c10b0ca36e2bc544b077d8c2a9bcb0df4be1dfd66de767d8df4bfec4914536821144d80724f82b234110c6d0ff69555485cc640ddbec2605d4ab7a2731615585e40c5bc728031237b1ed48785411928dce0346e631fcc2bdc962d5f53f8536a4ce0f3817222dc5eddd7ae85847e94d2444e966aa8616f74000e85b616ed1fdf1c7efc072fdb0f6402e88a02f769c16ee178f3bfc088d4f771ab8de6329e9852832a729a72197167e3136f10f5ef7fedf2de318928f9430e42d87aade6cc41c2e89a19081527d71b8f8975235800b0d7c70a9160e4f615ebf29a5fd22cae7b9517a596fe72134e0bd98196fc958792d1da51f5c05b8d52dc69701bca3e4f26daeff9f64272e4b0d0badee7d8519fa4acfccb35c1b6f3321fdcc8a9ab564453b554d2dca144ac8bab6346cfc70d5a0ca2f4e7ced4eb9ae896a01a91e40cdf3491a9e8be2f720ecf0fb3c20918280b4ac0fd2a7cb429f916b37b9a66b3d7895c7b47bceb01484ac1569c0af9eff33429ea3abe8524b87cfb3f42fbcbf746d447e011eefc216c8bcf4a80fcef2a7b9d342315f38bd43913334eac266d3263d85edc1031f10f72d929eb45b02299e00f91a042d3e085ea024001163ccf9e494adc5f453103fa72e4af523cb14b9c8fc2640686de6bbc3bfcf248bdd81f7181fa4f77d15168bd72bb21d274f6aed25b94ca282afdb14bb44e26b55056615f9789c01a6b5fd52a72c6846b559abd82044e6dc112a83d322fe3ce465550ee72dc2669f0252c5d88724f127d89ed970d45a00e8dd9bf12f4347fea5963d73ce46dc0aee61ad17e8272e8a382f6b81ce7aa01bcb6cce93c15566eee5514d294af595c694ca077d4f60e7273ea2072bae400f0e5af519537ca370367060887ebabe3cea614fa42774e215ddb7e68495d74074e1ec49ae6affe178f10e974d1f092eecfcfc24e81ed9072e85ce7a79e15e11e996f3fa5ec222460a955834931f7192ff9230d8d023dff6f66facb1cf5b30dd2d7f0e5864a13a2cad57a770044cff6039298766839209f72a47d90fc3e55eed08d884c71021777f22b0e145e91db38051ea849fedb1cc8417d401d84cca4b9769685b4388e5656f4b9e855ac824ac4e4da882e41d05f756c5842dcbd4d6f93fce4e7399775e099e3d4f07c13ec6199c9fa219da16b526629dffc7e2d413aaef3b752d69d3a4840a139829eb10417819b6d4c94ea4b76786cc58fae09cd295e52de64531035ef0d143483f4752c2accecb21e41b5d3a0183b7b49335650a5b40d396537bdc909fcb93a8c60816ddbffb28bfc05a01fe72012fb67de4b5b703895e150faf84904f3ebf53c85444e0c174d437c726eb2cb561bb3ccc7127135fcab1eef6d80a63f0fffd6d2332dbbad8bb4bcdac944daf6b77239fdb6fc1959c413e91da322b273ee65ac0455f9d50028b7b106a9f1e2a67972f8f226e1e50e254f7c46f6b3a51b969fc726c5285cd9bb6a218a98caea2da17205021a314d1b25ff3358e696db21c9385ba01853abe79507d902619a38521f72dd3f2f35c034fed70242deb0f8a6141f2a7540ca84d5c9e59815a3c60213ee725a2cf628fb2f5682b6637c245645639b486735ecff5b7b736b8bd9fd8ccce6720cf6c2b2d9f9d6edcbd4b073a6a629b319c7a2c5c391f3cb029aaca6fb0f3472e22e6e4dfb97905608e9f2ac0973a91cfb35615ef53a50f6885588328a3b2d4c97d6f6ce3f3c4c8e406bc65d66ae689921707b9e904b85cf6a5581d9059bd12f7d2e2925804801056c01e40853880a0a7915578c24c9cf84f086c54dbf515b729389f9ef06ca2785a802be03f17c0a103b533951d0736172952e6b6307fc3f69a275fa6a66af0326c153a475117f16397635aa4c9796e6c1ff53852b50be955a86b4e2de7f6bad916d9afa133d85a3ae1342c3221f638e84d3bb26517262872afb90ff7d2177569b3bca30741d32a1337649f6c5d6527514ffcd6431da549372ce413d9cdbb622b5d8dd14e47dc500fad6ba71c6a83d44d5209d91520184d51ffb019448bfa57e66abbfb0773b7a22a0a4f476c9807428161c65141e4bdee0726a587348b4a8c46f546379dc9aa18b30538fe0564e788d042264aef3bf50cc2f15b0b5e1173815cfa3084d9048048db15e8f45b0c8393e3551ec57137d3c657230c5c607d145991532a3a40700572a37ced10415bbcec15029f267eae11f7a7265a00220d1db9c8c46ac97112975b1a1ab6bc9c168503b54565e673b822b5872ca1a245fe3af1af5554b01e4e7fc3b2f06d94c198aa06ebe8e88079e90d00272590026277f85e3bb64a3fa36300fddb1897082ef876468184c36e774b7fde2723dcca9c9966715b1a69ed1ea65694663940a25497ea78eada7e607406a5bc372b38a46d4631a15d61a6c42b0d8fddffa1f5efdd1f348d536bb753347bace442de708d8fde02c9c25f90f114b0ed5e390fa89cb51b776eca00c62dde5156a2c722569c0e1d149f001753674b41a065dfc1291e1eb3aaa3344794d26da4846d672dd667a5441078e560c205623afc6ae859564eb3065761ce785740f023747a2234f19cee9889c18bcee4d1b7d11e7bef95d150e0ad58306114b36b324b3fa737299940095271e3ba8f788253a581286cb4c094a9ca7a25b96da336e7399306172034d3906483b8c50e29dc5c1803ff1ca327a7c8035330649871dc154b63adb72b5c8c7cc1b484c800607158108797ea71a8acac827796028899b58a94eced070d37a9b10d4073924d071ba01e337fc4e8006c1774965127cad43c2f1c163bf72869877da5c238674cc1f0458e1ce1e8f206b491bbe11249980e5759ee7f480725e903115c0549b27f12fabf540caf18f439c5f70c0a85b044991f339f6b28c20e27a4719c3f89d9ee764b986e1f9b3ad9977baa50262ca36c38314c7f40c22725e7881e6b51141b3547ed458bdb84256f1f77eae99536aac784793eb2f14a7675e63ad1f453b3e52005971ece11a1dc5295d8cefaea054f07f9dd563371842724a71fbee80e34dce153995987019be2511f8987beefb1fdcd5b3d64877d74872b895d9474685a6037f9ce35031ce8dd15293f4f74bbe1644846acf7490e8057291000304fbfcf4fd757712a7039ef018f13fd6bd5d7faf74fd8c89485020027218557fdafc63ce96684a6b3c285ae2ac4b2e0403c9c85f4f13a3b96e41f7a872439e879caf4e95fd80ce46b9fd5fb32b676d5936c844c76ab95e782ed1d24d1c56403c46f8416a49169a2dca48bf83ca883fe0ece6c7a074e97086319ecaa57242ca0e4285b787152b670189e948d5d8102e3a4e618ed6ac6ac387d7146e1569e6439259b831b7edf38a97a072307f8cf4e2ec5d1f985a78afa5d1954b8b8a726dbe5b6ea466072e853d111d3f84013acc8deca57079344bf687bc1df35b3272fa7616f39cb29995f15a56a9b92f032474ac996177dab0c226e3f378c3d8b97265249da7c1a09263f755cf15991fad30b1d4eb8bbfd94f723ff0154904c9b0729f07f8e65091720562f521086b4c5b8d0e55af41c01fbcbeaff71442964a08726092cc8ddf35ebd92ad1ff37c217ff80a47b7560fb4c0dffa6412b93609d855ea2feb47b37053092b06fdbf0877783e9c40289ffcc2cf38ba1b3679e8594ac720db3afabc1cfcaf190db2e8388328e53df128b6067c807ac8e0a6565ad688672914762c905355115346970e6b376fa7ac216fcfb6688673d180a2f4c73b34b3f1e292b922d590a7718f9593e0a018177bdc998e7fe12a210801b4e79a84631722119d7e48b3f31999210578ebb21e85ba478f3387f13ea97a71113ba8fdd696181e95595396bfda3b9b5ca21ec6e85b11284623d9f7c1aeb88fbd6502ec0e172496ca72539a750c7a64ff535e861dd3ae88d1056a9f77cfdabe488129adaa62cebf79e6e493d7a0e3d05579ba2241b9c63aefe867303c82081171ee55bff4d727c76f7b6811778502c08a3e0180b95f273bef6485f25961ba9994fd41482414ba721da5d0edf93b330d37c09de2fdfc0f39eb87316bfa5ebfbd957691cad46724c80026136ff6b3491c4c55fff00d213b6dc26679fa4dfd233c9860ff95b9b5666ffe68c2f9d4e07f88345a8690a8a76c7bb460d196c9b2ee4ab32bf98ba8d72071ddb090189ac1b073903e172cbdee2c2c9427a150ef1ee6cd448ded12df1721e9526c9d4d661757f98fef26feec10a51c946119ebc0041b1b89404255dd73d54eea63a406803b7cc7ebe9501e9a7aa48bd2bae186ab45b67f64b82a021790e6d26d3bfdc84ed229acc8ac10e5e5422918a0fab536187ad5f0e723d9e083b0368a60ecbfbaaeebdfd3a03fbc85aa03e310881a5cef1da62444ffc989c0eae725411ba3b1e9aeb20df2421cebde48179478c61ba18b89c10fb3b00902aa1f6722beb49dff4d10ffe0f49753b2e89551d1666c1bbee47f2e944c15a831b656811909c960e9ed5f05782e7064849dc1ae89f38547ff2c54fde1f1f57d8c69a17729b5ef887689f0989fb181570ffd3c8421be52ba7a4821c494b786442cd02d272ebcbc690fb6acd3cb6d974469fbc1bd6005f29ce9ee76a90d52c953a0d45c10df52a77c364d772aeb9c7a89ed15e2166b12892f723755bc20e340a2e9712de7252049ad324d9da5c5f924fcdac2b7593bc9a500ff8a6a5333e383b33d115f972d07e30d3358ecb3e8886b36cd8487d23cc5161e6a4b6d3d0aa8f865dd792947218783a3f70adda7fe19491cad569bdc993484d5de5e75893a5d54e0b81965072aee36048c80d4d9503ec8b9feefb19d9451debf7f7ec567727bb8c2ab662777247a219c6d5bc34e90a0ec3424ef51b341d5c014d63f36089641ddb2aa579c94d764dec1a67c41dd98ecf51999c6202d98820d5348e8641b142f363e899f82c72c3dee6bb1663f4dd16c7c3839953a32569f1b724b6b2719fa2a4de2ee147922728ac7943c5f35f81f76ca61898e95fd871411f35ba212d787c90965440cf2172a2caf1e901fbacb946e9f314e0173e224aa471e69290a43911c921c3d294e7728d95680403f9d48f9819fba467c070413357ebeaa1f8653efe5341632a77f17267f5ecc58721f9fb1f44b465992c4d5f285fd18b94ca193720d9eae4c01e7072d0bbb090f06f8eb736edacb5ca03ac798c58b5dea2959634a89b2c9eb835ef0b25a36f67c78a37ab09b85c42b777c5a7b5b5dcadb1011d0e230ef79130ce8e728366198c24cef04f0aff178ac3bb631bbecd4bc544fe0d8c529b7ae99dd1e06469bd4f7f40a0d864bb1b2cf3879b630894c0549381f0f07d51aa314d743bfa2db3a1fa3fd215e8104feec96ed6c29a88e61807e2a11fdfcca30620776a6b7f721851a2d8b35558122bab7605d4aeb88b6c8aadb46570165d3831614167a8a2728683a9ff68ee79ff875b2c251acc68267a24c0dff3970239f405e306d56a9a6541f2ff54259612eec6fb3980a7656ab6f2efde3551cb5cc93eb9f89d6876b37261960afd7fb8c6c4766db5e74c164fb5c57b9de7049310b14eea7391ca88ea727c1da7b2fc7ef45f2ad36c5fd97256e18ab030038d7d19db5d416f3801681172bb03ef43c909b53604e17cb88f917e2c83927b17a59ac50fe9550b60a2d26572687275aa76b6090c83650a5de36bc49e46815ca7b249840737156c7734f6ca55f0aa87e20344dbfc5c7f1e4ddd204702f21b8fc58b1a63cbda4e5e9cda17457289d4b8c3c3e3ee8664c6039dfebe0d552d0f7ad45c25302d14b283464aec977290d06a328a6e89f4f8ee5e33e1697b59feec46aa4b32d992f32798ee31c1ea72ce400a5c1b724db19c40c5b7ee73286c12d0f2ae8221c77e9c58ed80456baf7257251f12ff88f111c4b72b76ddf7e5056025e3f419f5f1fba5cff0d5767863722ba8b264ff3839006f41bd8fde035d742b44bd5ba123ca4de06bb41018f5293c048f9de566d2957549f70d29c9a709a695ea80e5ebdb24f49f6b15534ea61f68ad6280cf9db60acd5816152b1badbc68489893b7e840e95c3dc1e9d05c9ad5727f7c7099825b6c71f38efcd5bf1bbc924586c1c12afa7d331938f53cd6e2e455e7501ff1d54002375e264194feb60a3b131e693839911eec10d51df7ad3cf8724d9fc09ae50edcfd499d4802e02e4128acd2711afdcd6ea85fa8fcf47c15d572d9b85ac453308cbb33851235ef4cb6952dd1fa52f9abcffee2e25d60a994f4727d387112f9b0426517ec92f5575b85a975601c39744b66517ccd4986291c827218524db7859992d3e07d1dd91417190eae4692300eaab216c2ed369453421e72c2622aa509b523e31596541da504cd0895ea93b214d8ad4fb978fcd3ee89b1236f8aafec285a2e6197ff76ec32647aae89d047d3b19da74c2f10d8371c3c2a72fdd2dc0aa00c378e43ca11d521f4106c222af094dd108d8b024c8ca274520f3b19f6f019fb1a1f061a4dbabb5fd9130f2e3eb48da3869c54e4d5902428877e72409f3f73bf3ad4b49e853ddf4e780fb58acf42e57731f8a7d12e4a86d2009472d5e587bd6a23d2478cafd18defa774a39946052481ca9e108186e347fb83af3c2bcd2de8fccdb3681b6001555c1168edeb0769a7e9ad010deb484809223c7b7261e6fd2a7c6c056fbdb3474d5477b737c118caf27173317be00fd4f7e860dd72977e18b411a99f01cfd433819cd9a77e11b04d8700e39de07d896f54120fe27260eb543d225df88e0b5c0e711de965cd699ea2d53b5e5c90320a0aac5b743572d9c227cf152221ff882a3e195f8fefb2f442da54bc803a40791b03f94c3fe7724b79f905ce48f657f179286f15ebb443bb99213ed8249754fe83f8912e2b5e109cd4662e2da0f8a25c673c67142e410021ac48fa21a7122fb89c2fd124d51572f90de8fcd12f68674bc0d8d1e55d4904ae101970df40525044c873165079886f6ff018c46da1ba4e5f0cb85c6ac00eda0ba8953def522a16a6131bf688cdbe72fd7402c142779d80f2dabf27cea9bffbcda358ff139eba6e1de233d37c0eed729f1b02cee04ca947028b4a79e9a0872d8d346819c32fa06c7ad7f63df4ccb93e421bc77eb5050dac0de10b35c7630ae4139a6e7ad238056d8ef7f71d7563b47291cb99d43a8b6a7dbb844d4acfb9953e62820666842d9cdea912ff334799af4d8cbcff30cbbebc2a5073bddeb8b8d0b95455c55852e97039fd3e57484d489a725e0382d9b6b99e9edd7fa3b4464c4865622b6b47a417a1f2da27ba49c722b57257da49cda55179fea6bc3f78f4cbc099f9f27a8b2bcce717287f1f23a7b919498dac69c03bc50b75bf0b7e4032f19c8c3c3170d3e9392d7df4ce106805a63a454917e470d11e244b964dd674d21464f45bdf8045a2922b9a283841d205eac2720fc39746fb54e56c7b9a8e752d885573da622e3001ee252d009a568bef875272aab339f760ebbda1f538c2f6200c7d15f31a4266408d0edee58c5da59ccc4331c419479dd0af0f360086ff70ae9025ca2db3a3605760b203e2034688d047bf44fead89920aec879cfc701811e4247f8aede5db1a56d66ffc7c3b5325d71e1c182c94babbed46676cf56d83f171c926e0f252e4dc59e3e49ce83b625b527fff1db540ab291a3903ea969e2f1943fdf89b6bd694ee40ddea8c1ac5e350d95df672355585353c42c220f29c3d86ecbfee3ec45c9d9c9f431d23234dfe78d1b038726ebcf2c3ba6746229e67b9328eb2afc521ed6a0038a137e65808224a8adaed135ff211bd21de5caab68f6026d0784918e48bcb3568b152962ad2d342d7edeb72dbe643577d500d7ea16c373be80992a64fbeb7a0b45184d2778e9eb7296b223a6366f357b7480d540523269c4f95e0a1a3a1efcb35e3ff3436aa2135b2c1a86a67efa6bd67ccd3e5a9998dc2e64abb8afc7b4d69faa411398aa32cc05edd3572a3e1889286b4cac2e5ce6fdd57ba967e54b4832a546de1275ef0662c9f2db072d187c0668fa661f2efabc84f20cf67dc73497ad87775e6d22ffdb1c04e67d01c6d62ca4c4311021ba51076aadf8f9bcfd2032789e8e5a2c2a056d24868ea5d7237ee05745737e3cc68dc55b98660e13ce56ac742c2a2924324737b3a20989a724b405c5ae7541b6bf6cf013112d777a6954c6655cd65ebe82273af3586e18f729c25a5c1cd1242d9ca20cb24e7e188942c09de4040fee6c3f11a1376df1f4b7215d50d82cad1848814beb98ed526ff3cf7308c50f8f127d5d4b7766ad343367289dd11bac0e6d21be81965d33b61f50ac7306726739dfba4dfd49667101eb972c599480994acd7774645c3d0ac3e13a3e9546979b10f7b431dbc72ee6613df72107550e2aaa95d4475c80f6c7e098473911c4a84b3d350a6f337fba334fbec23b0b94a05feaf8dea8ba4905e31d093fc54e8ff3a2a78764e8a066a811ef39268bbe4d22c36108674032476851ca67d111565e94bca450cde7c1cc4e7c7ff3e02f1d8c0e24e3c2869cbc2e39582add5feb9c910ddb129fd20b3a5c6d59e16eb1c5636303b3878fedddbf0bf40e9038bbb16877e742299053a4da48f32a4f6cf7295a6338901df87588d2759afa44792014c50c23cb547110defa8c8624e2f3d72eee74124fbad6e12e353cf29b8698aa6c74c8a4a6fecefdcb0574ff65dea884ff6103efc26a78a06e1c0179913d7be3dc79e96481afb20a7357a58aee66251722fc678a228205405d7f3dbfdc510ab44c29a8b390613ac35e3d866abfcd7827281f5b65321f7ff462d1a43c0f8fb9d6d750f14d6b3c28e0d9bdf0f2119679872701e0a00c4cc9b51539378802606fb7f5013ac950bf52d706f61fd6e2d8ea472549156794fa543f0a679c379fed40b186d95f3e983c3c4688e382db96ea23172e71aae01881d19a673074304826bbfeebadb2981b2597a4eb734473215f2a972be1a18b41d31c545234ac7620c93d31292463ba3f12b350aa76dc6bc0c165572ef43fea2caae277ddaa352cb27f8952f50e7edb7e68daa98987fd1a0e981726dd0d91042abfb29b1a477ec6137989b21a66aca6df4de19e90739490b19a0a77274285609a2d95864d971cacfc5cfbd3de2561e8dad28c5279421403edc19e35b636146129f0d8c71e4a2984d7e5c349aaf3338c886c856c0e19cf0f12ca0917281fac40b161f4ed65912e39f0db24383160a80e010644aaf7062a60c78f92972dcd68b0bc3bf9a759ef40d133fcc2720f3ed81531870c7217318352552a1d972a0e6a143656810d2042358e6f1da99dbeca32435b66d5672b81eb8ff3a268d7250d415645e7a08d58e4cf7c17690d766f4ed757649897e8c7220aed2b5d78d163c3b2a395f681a0006001c993a6ec27926fb78362348dc3b992bc0b11b6aeb721a7e222ea51a9a8100b3cac37f200d0b8d8e5f6b6bba51b1c8fd13d88fa27f726c5a9afaabbc48e94e286632a1c32b4665d88922706bea66c1ec90b6c69e104638842f75dd881f2d8417bddd96b48475089e992234d50ead3b5b499743f38a72ed0d2b51423258ce584e2bbc7c84b489763726f68024c1bcd15741f04cb53e1f86113a9221638b04acad8602abce32cb3ef902ba53a337bab06b07ddab7c31569b31c51bb4b5c66b9bc0135ea1c7a1bf6ad5f2ba0c4d3140c4c6f03f76af294903305328a8d582243693e606e2a082998c5fecad830f8687795ef890505338729ee3d3891b6fbe97a0ab5b16168b7320d4d4817dc4d89ab54e2d714146885a7257ec782add831b0e165475a777a0ebbe173b3434f30b5009c02eaca63008b9726bca78ad931ba9b837b9b96ee07dca73f592e3a669c2cd900cbcfb21d5a6b97205558bf053e90fd19d068d912bcbdbcd966818c9fc25f8eebec149a26c320e720befc33a110432630ed9d7ceb5b571af855184896373fb21076ecf6632df2f2750bae548d8613faa8c133186cc99f84fb19073ed1e591f8a8e1d8d2bf694ac72e85539dd643bbe183ef9cafde7f54af57a1d8365a1cd479a5ee881d716b98872c607f8395acd46c89bc7fe7ef6e8748ad4dd6e47a39a940deddc2d7efa3094729a3fdcd8d1f0982c81dd1d7cc192e959f6b8f66fdc69073971761efcf338f52596a1c8ed255901b63d7bcf292ea91f362e7a33a53a4869c92f90fbba4ee02e62cc3f27330a3fdae6839149b78afe8a2089adf6bac66b3c6a1a10c037310511726ca47a0bf505c0acd06950686d9153d0292aaaf10e317f3da4ca296e4e7bb272091642ad47e4b04ec75d13980ac0b72fccc28e870ae5b2f2a7963e65065c591b33708be1f877b6ed89305b750d7d2299b6f94e5908713cef5c33f00d7885db72417281d542c99f176cacbcf65f74fb32ceaf83ca0510195493b529970022de725142b13f834efa28e8e20d4d678025ec24d68776a6e1d91b5d45b529f86adf72ae633267f987f924ca90aac08e00d5db8a4aa7e980e048d4ccceb584fcff99720bdff5381d8963dc7e851170fae5771f7efac4400c2220c0ed81598fd4251c72602cccad5a28906c3c851dd55a4038a3757755c9f351123650559b87bdd33372ef18a3d379bde75ae9daf502d9ae9b310054ceda452bf9d7054c6a0b7a339c7047e4ca635c094e2b4b7fecb3f267f88056b592bd87f2f99b18a8da4e85b3d36ba9f8f71f744c33a70618b888e79c3f9801f4801586890cb5cecf0179a67ab472521f8baa56ec8a113b3b47816a27adda11d615a53d2e8a31ac596ca1c8452d110d1f711511a5da660aecb2dced5cbb5579ad9ba9372cb1afe8d54fd67a4a1772d2a0e8e73f5eede00363deb504b8ecf4c74f6e120914e65fec52ca400b2ee9053f6af650abe652d9ed5f6efc0111ddd710e0d88efd0553c8eaf64df29f328172c186bc45d048936f9ef86fa5b93c137b4ff448701fc7c6d4e34f9a96655bd869d0e01f741dc0ee2efbabf0dbc0d89f36c3c72e7944f67ba60836a05ac74bb3729813f9ad4a986d7a9f634420d30d2edd9b13ece0028b812ce6497ef3b185ab721781315c731d9e6924a32e8aafd58be5d1c6802fbcb78e94a9b21ecce0ab43729dd8b0f473550193cdbb68f5532ad74abb811ed2845b558016e391740880fd5064dc81003ab3ed81b084ce11320d11d0d799806d321f65dd857a6590e5286f2e0d240759834ee94ed9c3e248538846d56e7a5076745ef2df252f819eb2cf707263bbf648693027bc4cbebdb838bc096bd1ea6aa42d90809712da7deb4eb567724d9786193e739870c8e67ca48c94b96ed3859f97197bb1557ec26977f9a1e6723428c8a421ef8970800828f5aa1c8af8cfc6e2a49fb02116c8e0fecf27314b725658252c83fb43dcdfb860d32c47be45975da10996ee2e2ab4c1474c487bb372ea356956979b68222f4093f3ba6cbda64cb053701d30cf851fcd3080d989e710200f515d14bc1e1af22c612fc6253ac426f535f5188dd92f0dcb48d25e6fbf07c16c33f0d6c5977376aa0b93a37b85b9b8272d1d2d4adfd9ee38cc43f902f6721c71af00425a32828094c0695130e16489c06136de0179cd41172b6b3547cb6f9598c6d8b1c274fee41d28223f2c730c28614db9588340c99acce5a1db7fe401e7ee66c3f708817720332e4079884cf9fd18ad42c3ba716a3992747f6a7f0e72a3780322f225be57455bf24b3c97f0d79c743191634cd3309838d2bc5002f5721970fc26813993fb8f4aa86a0cf1f6223de602d1a6fd81bd193fc20019034272fad25d715594953c951424798a170d2fc70797c3e9b7aab83e8224c1d6ee7a726549304a0e633275fa64a02d0088e01c88107cbb1013701da86d6b47dce493371ccc983a68ead54ebc0a09a406e8caa4ba1e87f65c0173726ffa0be0d02b7b08721fbb7e09c98faa3d7a21e33b2fe4a358956f8d522365bea9813ef97fa01f7298696fd3e05926b53b04a2cf700544471a97051f2ffa1f12a21db81f12f2fc728f3de5b5bf57e8d6d7dd26f3af266952f0c73a1c52d773b532d5502c9c19b07296403791355fd0ea16f80edde35ec892684d014ae7a1e1eef99092bb52813c7288df0eb3f2df915d258d6b866b121545a9af8509f01726c743ad37448893a254894b51a64a95b786f5ab0192790db0043e3864f71220ce3e3238b9392e34ba1fae45f9311d4def15580c30b70e4ece9e635e72e5b0fa79e988eccdcfa055e072dfaccba9d4f1ed6d9b4d0a2cf7f9f35a47b3314bfcd0b28549ed13e5345e81578f5c45a146ff0877fe6166a9486a6d3c15d6300f5bf187b35ab353678c35bc72e66c99bab9177ec700ecb9b5067cad26365df010ace8a4679cb51334853095310b752136ba99b959d3f5373685c6e95e66c31a5b04597a9ad2d0bd5f717e4d162b5069f1f9bf2d06c6818517d58eb0ad60023c14753ebe7c8a4889bab859724a7b3f6128f4ebe40b59b89327d5e54d928770455d67c9477b205add7845c0ce72b0ef4440f7f75101120e275547202249fc0425b29a8c95dfabcdc3120520c13d39855853ad456c24edbe6b0ec7a482d195cfd8edb5440ee80013f3f5e3be2d725444c409d0009f8ccf2834a46a2bf2adc79b79857491a72e06fbc82730fb0f7276f81cee3ef1c1d33b473a63578739044ecfaaeb1db61406ebb3c363cc8c6a7243b7051e705db73f1aeb9414e283287449dee9f05adfda916725ec0f422133176e8eddcec0240766d75d2083b765fcdfa46b88d87b8daaca895e8646360d367299e7c2f91486fdcecf6b6ca83cb5cdf93e03f3c22583d81ed42b8da3016cb372ef8ccdb9eecf7f3d39474916953f37f41c066959f7300652c0dcad09d153864301622aa5207fa0cd6824bc5dc4637de692b54e2bdbd758dc80a51fa5af3f14057156bce51c4f71da1756589ed97baf86ca08f8897a2b5b2676b5fa36f75853088074738baca0f063cd2314ccae6eb3e16a7f7b0f3a11bbc8802a64b99138e21f4d2ecfd3e3cc76f227825e9d95a66263ba8373290cb457eebc45ece715e7a3720e1766c57edff6ae248f36102d78386daef55b6b2467bea8d7513307191b9f729c6dacb2379f00c155d131d42252076c0bdfd518c2f075c4a1157eb47f2a7672a90df5f263c04d36ef358ecc0be78fa3e8bc8b0edc88fecb5d7c2e1d377f947207133ac969fab2b1cbe4791e9a1c2a40e7e03b79f1b474e751ca55ae087b16728d894f03a5c374f1e027dd3f14cdf6b6838cb0e1fed36dbfb8f4a1967b12f3397ea0ed177f0ada502701edb39cad39058fecb239fdf3f6ea716dfeabb86c5e721a3a5a97c0feb37471c50e532fe7c0f5f86f355b5e41b788c4ea169b8520da638fee2f76ea4dde341c7dc6dbe31c22918a8bd7199b5616903ab0b0cb505ece7281bacc3c5de7c47d05431ea20e4445c05a4334960f3ff553832a854caadc4c12c406f3f95c8f185d7e66d2836a794b34f14f46de2d0330ce3167615aebc4bb725057f513ec8f9d0abb29ccae657175f00b244ec4ab96d9a10e66fac5a9f10c722eaccda2e1c33d3da37c213826cb089ef1290b53f6f675ec4e27167f9f260f6bafc324358713b39a0816530a73e5234b737fc6137d5d6766be08d9b8107911383b49cc25ed0e72cfb22ab7f7fa3e4f830f5bcc5cdb974d479c722c5519b546705ebf1196d393ada33e79d9e173f411dea4d6032fd715bd762be34c6bb9670208b7de1760949d77d5c52eb02b706ad4e3c3cbc7b7e4f2930f6e6ae5bdc281c94c1b6b5b3a4c1902d054762ac3f29becda892965a50d830f4289723143cc450e3b132f15ece629b2605955ebc4ef9370cecd42f89e686d0258ada2417879a0f262bf1ea5e940122be2e2b579f3c91d9711248b88dc7f3f1fd60059fb2106b8dc4d2f65758e6998bf47208040faeef712f9963d78eae25c39b1b0a9dde5a0cd422c9434818c9ab677bccd2d684a652cd6bfebe3c04491650a325fcf3c731f61a704d8dedfd2f3b49ca677056755953c13c0b04acb44981cf6fdd3c005dad546d406fb575bbf5d2e578746ea3c6774bc392653f97076fbe515263e7d9800d3840f2ecfc9d170e5040fcf4966add58a8a320414ddcc1590e8440508ffc880f1edef72fdca0406e909e4ca53a2a2fc4ad89f56a0688b19bdebc61419e8db1adf583e4a1a6460858c41eebc07d07591639c62f08dd899523b7b83febb0f525e34697e20acc6b064b542f12bcaf0545cae961286cc22dd31cce29db87b783d89e4377b729cb5e4a96ca3e56c106a51fa98a5bee8c2cc2e3c1a951ca9b825b9f24f0d1229afc06d75a30c7ae45a6e0a6fc2dc0ddf34bc2ae80a07c8cd3fc65ab8ac223172879a2902f4dbb73a16b17aaba2eccdd40e54f93a6c141c474c6a1ece3dc014729c6ce970048e364550b7753c13048f43e8add9cdc89f5ca0ac9b11f7804de872c008ea528b0b0c827dddd600581f6b5f30b4d41362eec1f025c14241074b5e3176c15a6f247414433c6ce63a17df5384418808189606130f046b868d47240f6ead431a6fe76deb3e5861a430396b5dbc1efca134646f5e91a752f72f61b1d86c67457711ab1852e038af07337ba3156c8b5eb70a44370767dc34b6b4530c582e1f1f3febb1d99230951b43f7ccae1917cafec9e2f3fddebb6c689fc53ffbc77288455af486dd07fb9970af1e16ef34a39b6a2ae2b16ba454c656558dee1f4872a2569b24e79a687a52c77a79c88bbc94a39013cbe281f07a6c3dd0b2fd4426728c26cba4f18c8294e8a742d99009013440669b9eb5de2b75d78eec4f782f20726d1e51a2f8e0a654b1f7c8de549caae07824845135b74af3e46a88cd322a080118a10c2a9a7fa50ba54c9c9e5d168dae794853b4d70a58428510c10dbf4b5f720ded8978cabd59d212db0de328a9f7c770321ef2a5e8a44200164ded72be69134e403b4264d9d135f4834995dc34515ad6ad5e5391fa80bd2b739956370d990cb7b83f720e7163b45afb896c35854bc665f076d9e544fd247a17a1408e441472e86d27d66ff1dc546a35073ebd8994a535ae3e67e8af9409136492537f8d2e36b8a05884ccfd7b84800028d215b2ab938a6d0f78ea681ff74e466f16468b2872c0aeea2e788d306026304d19a3db4f4fe5c743d950ea032199bdc3d9b1e7e3066ae6e7794c53e5be47a47d373b6f4449e59dae47689cd0888d8bb0e155cf6d72cfd5052207197fe56c9b7b8415cf6cc6395aba6c9278fd2a967706ad6e79b76c81d8ff65bfd2d21461ea63a3e71a788a833a93ec06e6a0618a41e1eb271e9a728c829a5e03376d0e391a218f6e65b79a1d31cfc21196d0f2900c9d90a5fcf5724141c7e70153be83c2d62159a4e189c8252c13fedc05b074d8f9791610bbf87269247bd248276abfb9c1f4e71a18f342c63afdf2b472a42e7afa71f93d7e3d7251451014a2c6ec1db24edca519cb8475d21f1c2ab7b253c8956641e5884e18604f0f0a650915681a94fe4da9cc89be1ff759de270a906d7ed5fc4618675cac3631b1a55b24de8dfea9f9e4fcedee83593e03d6342246f31fbdb9faf439dc807263e39b9091ecd6207b59dd3f2ac7463018de08e2ac8a0bbb43589b4e5508d031afefb52c62ce0e3e830d6b97335efa38242acd37a986f100220a192ed3073d7263b2aec62af584cce58d7393bfb8b8677a930c8f3aa3580670510b144ccace595a075f1abf30ddeb8dc6216eacc7aae08c69dccd84c099c1dd9f3d4b47ab4e725ef731793472adb1e42acff4c43cfd4487d3755a5d3a2ad0e0f87f6da430fc72fcc69b9c9a950e97f6606f05c206f225cd12cecab026e64d7284692f20f501721ed8b2cfd12d7149765d0116506ffaf2ce146a1c552f75956f54fb2acbd1967273620d75b6376043bfb66bdb05b05624dffc4faefaac0d87e79a3a6dd91ac30b01d340c5a0b495a49458f901375a83d4ae923594abc30e680f8f04249c3974729a2a6f2fce78c9e8ca1bf0b55dc87e609909f69cb5f227bca89816301576452e10d84ecfc8f851dfdf54d9f32ad47b5ba7dedb488c8cd8347064e84c864c057222a1c5de603498d8c3bcba977c976e1ecc3d6a673e7e31e008c3cd1ce9601772731f455ec053cdff2d5469f54e85d24e9886142933abfb08c851446c777ef8722c89a4ca02f8bc30a2abfa10f7e46e369136322287df15146fbebedc1cf80d3b1fa30fdabeb97ff1f3fd32036d34ed467bcc4c6ced250c9f28526474ec5f090fc11acd8e3f5cccbc9a9d566252b34a1e3b80876042f99c428449008bcd1b77675ca9a7944420e907aac22a57a5d0a07119295acd9869e30355498c4fc9834e72abe6ec3c9a9bcc30c518e63a0ebc78d82ae27a6403104f780250c0d21de1f8729df2361f01388919334b3e280776eeb5de54521e67537247a6fc9392a7f719722c0ad0809cebc9ca6cbe5fcf7fcaa322f832efb56ef39baee22671df5f2f9401f56641646585a9e68f77573d57e795a4c3c6a4b332085dec30959a3985c5fb72e1bd5559995fee568107e74ea12012bd9d14824ccf91e232d7ed325ac536d4725b155d075175a20de92baead0908d020af5563a06ed351ed8ee849da88a2ac0d804f1f98982d851616fa9e26e62af37a8ac12c70f9e493b4f506d1b59d239c72d3ca91cbdfb0780c9766b2890d108553f57d4d8256730c1e45fadbb8a387d91046cea343b6958492ab3db1b1ae89d93b90db48bfe79515fc04b70904d387cf699305d1249450501ddd0593146b8279ce61ccd44a5a43dc7184c7bdb05ae92572b4d8dcbb7a001e42fc46d8904415a79a962745535c6b585f9f1dd24bfdba8a723a9c1cf99c82f16fab7053d50f79c0fbf11d343bd264b98edd47592bb8cb1272c5e654999d84603cca55c1f496d68d878ff4b70372207fc6c1df9a25fcda37722864f7f32eabbb3ead9258becfb7ac652bf598ee5528b94859db340d8e49d422faf818f2023ae8336b104c9679a6f9a931ac1061aa86a8199e09b376aba6e272551d072630ab89e55e4b11d3bfd5b2bbf11bc24e8a2e2a031ba6089a64f112727a76d62114dc6b80ea7cd8053ef27c0e543dcfa14b815dfe11ec5de25999bc7243e263eb1bc58eb9afdf3a4497438bc0d7996f9981ac772943a8182f14cc573e855d141c3a760b59eb18a1c4685610bf0b413ab606a7b795f981869a95f0f5723dc18f882fe6a9b9315dcccc49e9fe7adb31043790ba07debd758f90362a46729d7582b5ce0e0558e6e55f8c601b55290fad91baa34ded27c872da69e86910207332a4e2eb0f324acc70589ca7eec1fc1f9d74b8bcaaa587be9eaaca4277042c8c98bbdc034300c979fd9950acc33deb38bd49dc70fb8c40480037b4f0da854ad09a856210f54ad9bfb4dfba585511385554e1c11f4eed5eb499e4e4c8201a72b85556900a2fd1a825443b778096ecd8556e25e2ea59f62f7bfbf9130c407f720facee058df1413ff52e7a878f5f07b477f5ae2806147f0f6de51921d5aa9f02f3d2ea34c7de1c3a882e93e3a25560be18ccc7223aa9d6a6cc3099184f6349513887bfbe1a569a790986a7a8a232661c95c4be2f2cf0a9106f90befd9af253588c1f02caee31ff5b0f03f4e3a846a2c2044d5c1d6c0a4434335bba86d7106d3a75289b7418ac52f2760e8652158c8ab91c0266c16a31dde3bad582c6679fe37288c576cdda62c75e3617284c71858fc3af4b9bc94fc0e30fcef2f6d54e7f9e723bcb039a5655feda824338c498b1d2425e0aa57acd5e3ffb562b4169d00a6b32ca1a7d1ee34f753495fbfb13a64ad7004a79b2e8ce3df976bfcd69ac37c337720a708d4b6cfb8a818b13c3f7c48807a9f2cfcfc1029dbc7ad50d21a778342872494fa4b5da90e7cbbc46c387575b4c84cc145a49e2cea68380bd49cad05ba972a471caab3be0c157db45d0cf661ec01f78b70f23a7900fe63f6af34c240a9f339dce2162ec177920324660bab4ee6a5e02ccdf3f44d7feb3300a07e843865e7266b9ebf6d0f417aa6d23ffe4f348f2a681a484cdb00827e4e4a2e66439feb1726361722ce2f3fa9303d384bbcda7cfd70db4150b599b6d21accd71453894ee724c2c441a15065993c9664e002957a1b30dc27e3a7b95b371f7ef73936506652410890b3aa7c811893a96c76578f63e8efe24efe50c7e6abd78e3a0b91e498f7256ac6ac5409cb352f3804c72df8d9c2aaad19093bf58a3e7965de2e352052b72eb9321f92df0c184f47e40267d507a59e0386ea39d618d2f0d0ea924b096207261d0a0a360f5e6d34122c214382d9f84501bd3147a4d278481bf5383d3c5e80d3da6f59e2e96b8d2627a23d5832816d319dc0136c3e9f342cf24a06f146713214210a7f33b94ff7c34351bc7e5467e6c0fa1f2c3040acc0f8167e549ab3e0a723c3a9c4c2541ebd7980aeb0ae361439c90091a6a2793cc46a894a32e4d9cbf72f79ec9201962060f1af13d41a24429e105f9b157547a50b06937aae4883736725461e4e5a5298a06ed695c9995fd4a4d9a530e0c8c2d0516563ca4405e8af44f9c0f06e5b50bbe04b81fff85b462fd20928c766f1426e6629bab9d2b01bc006bd9f5e7a8bbfe88cf6b7b1afe85857106aaf4eae8f7cd83d6ebdb102b71f11256ff38a3059b54551ba806980c4591872cb2d6143c3f3363521a4376916855f64782661ec91481a5e03b2177fc421e0e6034a87628c0282226ca30c08baefb0b0ba52aa431828a647d1ff00a62b5ac8d31e2decc12f69ca5fa7343558120953e72ffa7dba99cfa35936a9ec6853e9e2e82a3d7d5c5f7cd98b6c4eeb0bd993227728d094c4c734ff95670414c9813e474323ee49596e8cf6ca9f0a05622d0675f72ec9d0401cfc48445e9d3dee24e383c50796d159a9a9e4cee326e608589224c05439b151c6e86c7fa50e2b27b438f71a63ae4688578a7b3b30c8a9a7554a1917290f62500e152744aac22e09b9f769609e140026231df86a2557f3e503f3ed33e986e648338b1e1410306c93f33b2c7080f13def15477e45b14b32068ac6fb372ecbd902e2911587cb636dc9fc02185a6245f50930d5f883c33140a93981e8c72951995634e6d9aa0d75f115b78fef8c3abde8fc1b20cc8e7ee73a92b1949aa724633fb8487205aa0df5a50b781d27df19456eb182e9a4e97bec2c61f54ef5872ca39123229d1cf12204ba42bc9cb9e8359da1cb07ef195765cc0ad32563b0034b73a0e6ecc8931893b29cf51ce565426a16d7a16318acaa5c512bd0dfd405f7270a7debe6d106ed5fd11d47c9be7777ec5da091ab1d497889a384eafe7de3a72e2777803abab12ef0af1b7197b15376710a6298a5c6b7cf78278aa1ffe544e722c9da9a119821c755c3156e4f73d7b1aed35ef52094568c6a70e64794a26467252c703ddfea22ab1e0af745783c23f6dd82832e40deb9eebc707d0f8bb75d272f50c96b24533825773751be678d102d6eee0e6e18ea70d4281e73998d94c14654748069dcb012ee147521236150f330d0554fe0a51e036eabb3935c5a67f365387227f598916f809e3d967dabbfda419c8d1ed7ad408a03e33e4867d4862cf0db88cfdb8a52da63c550705fa43a92a7dff7ada9b0c107ff3c72046e72f04af7221d263471e83d0faf4353b067dab40541a560dc599ebebe459dcebdc15cad1725d63946348c05c317d6a30494bf820636132552ee9c25a9caedcbd853070397291fd3318b22ade3813f0f3c3bddfce0699cd6c0a07becb8b43ccefddb47f6366727e36bb7078cdaca5b0478ee2c2d37784c376879c01f708bc072b07b5d56372dd771d3960c8f97bbafcbba2c2fe93a9f737ec80228987adde1fc6167f2c1b7250f8e9e2dc470e586224067cf0f0daab446b89e3429f30564ccb15f86c28b472ee521bbf9ad587b00917da5edb6dc110fd1ba99ee57e205a6a055c0c6478a072ea6a3bac3c0f38cb98805270866935d5df8cb7ef1fa2323c18e6eb19336b3f72d586d77cde9934fc926a399f26b875fd63f6fad528e81f6912c66ab31a8ff072aa08ee9cb529bbb477a5af628a32a58ff3bc612aa6175bb2b167721a759eda725a03274e6c21ca53a434e33f19b1c69f276cb990069db92d76a229f2d7d5b24e34071e2bb4e9fcb5ffc88b65e9ec3152fd40880795bd4ef9f8e3ac477b257d724b7bde0852daf9ffd0af3e8bdb5e1c37b5796f2e279453fd5ad321a81996d572b2f28e7b1cec5c28806343ca85f08cedb20b42c27a53c9e18e69846756fb8c72f955ac66e9726bd693fc7598b6b4a10b05a9e097e1d132fe79775cede4f1c6720125c246603c4eec1361a85d77f96a0218a4283d76f1353d0869aae8a6c20272832cd2bf8d2bd6c5bfd0256fd5ae03ab7a6ee1b340fee1fafcbb4c4ffb048236664b2c877b3b62c922739dff2de96350b8094f98037412afda4794ad96a6d47260b569da48cc1178b400ef10d538ed8c009cb7f431f84b245643a8ef291ee4723eadd419367e943f2a66074a0328fb317a63fbda26619483ac12d74585b8e372971a01ed0841635022cbabe5e21e7c0cf49e1c59147ee18564d72c432db78f4202d32c856fe0abf3966d97c93d3c643817798e7711bf6bbc43d653bc09942a209701df4cd0737eaf4fede3e4ab7f93e7e26e5df2fd0253710712c5f434d31462758fddd03b63924ce787d8d84d4a6e7bda283a707c8c4db9ca9db6228d44a672d4cac7772ccc7e9ffa0bc18edc5d443c849100096b924ac0cfcf22ab42ce3e3c65dce9d80a1fc83ee057bda1acf9409ed697dfecc989e5e11d5ddd9e6359ed72367fddff6affd6426d2743f43a4e70ddd0d5482626e7aa524a96b3e8e39dfb6dd727f6410f72f87a75ba3a11234e3b531b72c872de74ad1124031a23191bf07262dec8dd5294aa634e30909e64819cb0b3eb0eb8c29f691e6deca0643bf0a126cf0dfe0724b9c8875953f6deb65ea1dded752e10e2808a1e6a8a6b0c9d395a72bb92e2ff7cbbe300383e0bd77bfd52003763715461d9de63a645c5747315a65d17c9e877443e96cb4d07917b89767d901cfa8d540757652607d8e1bfe8ac6c663df6c7efe4bdaa7aa10f7530b619780c8891f983af63c1927358b00f00ac2a72ee5c9e04f996b00d983aadb64a351861eb98b10b74c362199cb1129acbab7972b8e3e8b7fb7690369401e1287aeadf0efdc26c3b50964d3de0186d086237bd72e873d07830827828b5b494d9ec42e24c531d7c2b8d36650d0e2774c876114f4444739eebbc3c3c7d23714bcdc564c80591b0d27821a4991d7ddd0ddbc7353d720465c39bf6d0f824fee020287ccc2c3f12be6fb9bcbf126ab49661e0dfa69f4837f9b5ce78d59eb117dc07f339cc102c049ad3af59387dc78515e4978da035728627d66fdc6848efec25a13080ec9fd604f7f91959cce2ae95d2b9f04f565c39461c320619559fefc6e148853ef50b145f003244456109cf181f25ec75d4393ce0b10acd8e9c9f09ef2ef35022c93fd09da2f58bda8f7b42807ec5a12a26ad216ea131838c24c25d8a6de6e2f9d301b9db1f8ad5f955c9387bd05cc97348ce728127fc330014b7dd33a38c56c51be95c7946dbf2594ad393aeedc6a61eac20400e1b6c28379ced45b75c55941cc210f9e661be37be8781392225e972c66d1c72dbc479892219aabfe2e5ee191bf0da5a6e223f2709235c9efca23afadb43b47294c561aae660c94d1ee5037d403a423cc822c0d18c8d4cea06e05064c63ae65a03711d12788fc95df8cf144b4a6df92a34199ac45fa336378fe1dcef32c9b372321c1530786655b85a6c392e850bd712070082de3d96ff4f50a6a3d3d313dd4579f4ee36ebada7769bd32d4fea4c45f38a2713c41ad652abf6b1631bd55e173f1cddc96b48e1f9d56b58350181ddd0e1a114fcb9c232338d0392e9f71019d9724be8d3b4db23e62c52a8d80cc927972caedb2cc9f241fe3f879967a9a5734d5d77accf6c8c9315776bee46a45a97b8ee95a03e5a24d6aa45ad07cc664f1ef76b9dbd998c1a66d9888c81a9f8e4cdcc1ed2416ae44eb9b1cee77cac5008f33672611f2f8ca878708741b5048afa591dbc2c616fbd46daa0ed24b8971cb2b96c72a1f5584258d9076eb7ae5822a4fdadbbecb183fbec11ffe267ffecb84ba5da7269c00159d0fb0965036966e2dbd1b7ff666658301e06c8268182402dd17e43309b1fe1095070ec35403061fcda131bf3adb88797ca744b5aaa79dfaa0200164bdffbd2fa4d6775815bd3dc677dcb98565614ca2346f562354be2fb46017c2c56c9c5e9dc8991db2e4e245dd69d26d4790bcc220f106360b2c9749d4aed46a172425cedf1d0b21114d2954f3fa24ebef6188c644457a90eb2bf5bae3f4296e04f2c8a5d1af6aa6f4a8d08d846adf73adc9169208f40dd36179d31bc9600eea518b6e0d23a8834ac7bcb0e46999b265694fd890357d919a4f1552fa8fd775426721d199913566c7fc5f3d54aa0edb0ba3438b925e9ff173037ec8109eb959aef2108d11f40c042c92db0952c5099222106cf74530576aa5ecaca0fccae287e43727586a2044482c5e6c60b4ab61641b5b2a2213227080285126f1c43dc21858272658c819010ebc2b56d2daf3f4c2ab0f7d1f514a7c98ba7aaf077110e96fe4b4a609c51e9eff8ff3cce75a6b4b7de27d5febe4e0f8984530fa7da4c1c4a5a542bd623842e91dac918228591c1b6b11d86fd955ddcc48717d1e22c09f4bdd98f72740102787815ac7811ddfa22a03522cbb625bba58248411fbe93b62ae70e5772a5d6cba94dbd3e826e384d4bf25f91af95e9c4788e976cef19015435b282f4729b9a990ed2ba3ac602341e955b86ab6a0f927799b0854443c9a82d6ba5b5797288518baf7290eaf5328ec72e069f3a4b57250b7e0003e52542940165cdd78472ad23f1c5b66b776e7f722f31e5a1c7d9f98376f3b3260e1ba7914bc948e46b729173b3894dfd18dc6662e6698b550516940f3353562678d2791554b36a3c1e4d9c64adfc93d526a896b59f1835444671916b786d2ff6f166c67eec2d2b7f81727a68280fee32bb85d2c5d07eb0f176857617510c857f86baf671a04eff2376728a79257c9a4ed8fed55e62dc422a933ce6635fc400d5ba86005829615fddf072cf5ec4dea172d3e4830c3676eaa206e438755c53c3ec08533c970d259bb17c3d361859e748110f7dba838ffb3bef52d295ec000e70b945ac657ac94c832fa33d278200f3350fb471606d1b586a4c8f8d7f9ce1bb4dfc79f9ee3b8adefddf5e72d1e5732e6cde3439d97f6f44cd63171a68bac317319b73ce8a8960e7363c2c44e6eb25f515b684ddc687d04647953bdd470e9dbb8ec55ecfd163df0d97254d4b802ad16c2a0943ad2a4078a5527e79921b65c5e10740523a3ac4d069649add5fb83c5e65964bae5880f9b9a8c206cbbaeae5d6ad11d9e26be596d64803975c1b6e7d7b5af73c1643ea2c6a4af779631ec3a1aecd5be59e03b4c65a01b53b7855c2c457ab00a6f65a0cb5d919f27090adcf7f9d903970f5ea93253a987d45d53ab38dc2355cfeb4371a7308d0261cb4329e3f8d9ece72ad9e90989f78c4fbfb72b134d1a3834fd9730b455b64459bbc3b170e77e040792e748fc40d0e55b5f304a49b9d28f22f494bcd250a76ce293d43a1d64cfd93f8ea86b46ac8521be46c72cc9f076a20d6e4e576e5fb918cbdfe488a3889c65e7509f6a13a042b658ff472e9fc869662c91e272c203ce58e97c77b9684b5bcf983da92b968b82af052157274313239a96e4e5746daf362cface56262f5a00db31dbcaca88e9c033c4b073c7f2a2a1883988d13102f5032a0cfae111ec5f8a327b265e1395c267efe4a1e72ac0ca6a6aa5f0119fb2619eccff47c5c08770b8a17f80861db81ce9830fadd0de4694d025b3d32b199022c7609f37d3407c89dc94821138b2cfdc1ff87317372cc92a161c7dbf16b030c7254bc98a8a266d7390677a5135b3039c9361f47be08a26988dbcd65986062de7b152c13d0a84bfe3cfa727582beff7e668817ad7d721f35b17bf46fcf815949e2aa0d86fcc741c4a1aabf010beb5483bccda604dd7237154e41de5e0a2dea5f6746f592da3848a19852511189220084fdd97ec7137277d0aeb101ef4c429b6b87b579fb9d08d26df1d1f14f1a5915376c6202ce0865373e80a6dd29b248dcb7d981e70992e0dfa6e9644b4f25a0e09cdaf07ebbf1517b2252ae61d832b9948411df2d72626a413244abfcf5cdcd9d773ab17b314a72019586e8e0aaf62d0f4670eed1e33909b6259240c1644eab3c8d167269de904e9dbd3a0cd6d35c6a7a8c8e9cb5941aa6fff442a5d154a93b2bfcf7f83166d46945931bc2ad489bf1c6a6d4448ba3d2377451a1f114542392279246c52391141c01f268d1e05012b5d70fc4e49da3a43bef311670f082072597d27b40f3f62b2ed264692088ac7c6eff98f429388a3a484219bc6796d0c9f62ab772ab366e341ad7e5d5da87341498a2175137c1bbc99eb6f4943e3d9d2e51ae3da39d5f8e1e1f32da914ba84e871efde1c1653e04d623000a1a5a9dd931dfc30d95e8fb40f57276cbbb6402c627ec73e8e273713373a5d28d1c315940d6137b4c6697ee924e72686d929e41a21a696c2eb5d9fb58a4d49d3da3f9e73465262d46c7b1388a5f6005ea88a82ace3287b5df5558c87d0d03675dd0797cf886e539e0e428c22fdc72ebe934adcfed931ad8f88fcae4c43f9d5180904b499c3e93846fd60c3d0aab721c619e19e4acdd2bdd83a41d4167c6e7d5d1db49201a6bda63245afd353870387a882a14372e7e135844effeb677c95b82c45c45ced1c9506103e22d6f6cd37270ed1303c05702c6fc80f454e05d74027dd3f124cc1dbec557f4c322ba9d1772bcd43b244789ba6471404378760bad15d9c6d20e3c5a0a44bf82001bde6cab72d0f4b3bb46f14bd17c6be595ed8505bb4e91d7437efb916556d621e5eb59ea6dacb0cfe31bbea9f96873f4185ed15c2b0661a802d8f56e7fa01866563b3ead722ed28de63212b8b4a2f5dbe5d797357a9f987928497d439a86e942329de476726fed3b92c61a9a636ec8af7f69ff57016d13fa8d12bdfc2406e46922a6693468a3ca0df35751de61d423f50eeb7269e63da02110b283d138f831591fa4bfc37292744a314e47e04417522675289b8cb44b6967c0fcdf61c7ee8217ee8c97b372c5f20324c7eb33f8a89995422cbf7e23ee329bdf58e92e917fb1d9e1e37379722f59c6b177dfb71a8722c26fdf7252fee5bd5988a9f7cd3de0dcc41b916aed2297db9b3ce3ecda48877b8200662a8961d5d8ef11b341409e2c304e03d6547d1041e259ee8c544115c6dc9c0b8df53c92c40771a44e5f66e8f3af1ed10373ab72478a942b9447357d4fcbee9a8d13a2db6e647e4298a6abd0ba660e87a4265e722e32c77c9531f794f7fbf720d345a2222654e362b53a384e690d232cdc7d3072613d77d791555cb675148ff90704f45b39ecd4a5c3966cd61856140abba0b461dffee5f9461e448162d6b402a268362a26e923f827bd85f5db43018012794b4d11878de6d78ef085b1698d7a406398ad5df23c755426cd33c7068b33f8338e153fa25b0291383bcfb5eff930722ff1d3dd83702e9f5639a42bad8146472ce23d863a9d420fb6b146247221377cd357295e9c285441388590bdb213a0cc9ae972a2fe2c85b33448b980f0f29c1c0a8ecb487d9b3fa37795bef5db275b84cb7c72b2fa9b75eb8a819c8e251245bf0e7d4035fad6a97089109a8e88bf47bd1672729d54c5a20b4273c01c12b5854f7216b87cb92826614a1b6f3a6053afdd57863e28551615a578d3b0daab48be1d49bac7d7e578c57100ff9b4ca306096833b572a064beea6afa9d5577b1b78da4249d38055ba089b54604ef588f55e68e552e721310e54e103369efbd021e5109c860ed40df47afc9d7bb2dbb642e782e2c2337463cb27b0df4ad6105db16a2cad4026b927dca2a28d46c93ac474b507b7a0372527bed7e2aeb8b7c9573ee327758bcb1c3ebf8dd2a36c362d0f50e2d663f0872b729349b35df5d8c00bf2799a1238279df17d0b0729f0d91f0e4dffd26d08c728f4e80aa05da430ce587a1a81eabfe583f91af6b69da27e2cbbf3392cded5a5401c4c606743463ca0f93b6de177d1ce119efc6f0b0d12f0bd290e2b694b01b724668ec39127c6a13d5ffff30ead7f1e98c72ad58b346908176d3683ab37c39724356269b3e87cac1740fe8485ed1d643b2f0ed41c81085ec763d23529b2029722776320d4ea79400215cc70cf009fd8eeb90ef62ec69f2793ae93b1ec8e81e4329f8f183458ae66cde4900f21228f3b8d8a04fe73f8e9405f692edcca5544d721c460e3674facd18a72ee944e57196417a9bf193cb28f4bc3a80e7107776a60cfb024ccc77a7647bb4a1dc86185190aa1f572e8955301e3006a447c50d66be50cdb9d50eb50f0f718c95723a19a8a2fe689a569eebffa8467ce351eb211dee7250b820a0e323beb69c0679c26a4a4b73ddabb7a33b1ba84b9314ec5f8b4e66729e6f279a86d54fa271357a6c9dfb7c40e2c74a8752d5a715a82a8a1b6662d4728a6007f6854fd93ae866c061f182c93aa419e1d59415eef140f680a318a56a692e37b57cc74aa0e4c5f236e9345eb0d42513fee20136ab1162a55d2dbfcf1472a9a59ccd4dbfeae1c9c6265d8ec16077df17feb8970d733a91e9295516c35f727e41cc192eddf835fb9c4d440a7c86b17e9c5d8b94e2c6d293b10d235d26212e54441f6e3fa71409c8c682d30041750ab45fc6a6b88be88e0f85a47f77b6837210984fb8bfb98a40516b0ac119c9168935ae0b446176b9a982c44bab5c899a72a2935ac271e7b320da3aec9b001484f42cecfbae1597ee9c9716ff36071dde72cfe47ef088bc7764e8a7c0495ab8e4afbbec0c76dda5fd9b3b154e838d61f472fb2765156c1716afb9378a52a2c182e96584c40923db5dbbe4bf787fd399d17260e918c69f3cac09ac43e7e303d0e4dbc9f39556a16d656efbca20eb7e456f5d13b280b45c00b9ecd788c6c07ccf32a1473615b7944ebe9a7e52bce94d740e729a001155e58bc9dff9d64b14335aac57d1c22e54e48356659995c3ab300de509e699b80e5d92a9f689ce746ffefdc7fdb957accaea7369976c4a7cdb2287ce35d2af0f32f48192f86e042bfefd2a8ed70ae6f4adf79181cf34d33fc3c6a71a4789b0922ae437b3e54940a718363687e6e90e160c87f16b82fb24797a26f7f572f56e7b221a669fd0ad228384c8c2d86d247c29b55f0c2fdfffb3dc77a79f1372aebda18b723d4529d9abfbd3d9893bd1e65f43a1aebe749e8e35fdc0847730723ce63d70c85c9e65523514c352d3b0aef45168780076e6322c5ae8293eb2002106b548b2f278d7a1d1cb3843ca90be9ade78238d8a7df9f67bffb2384a656672e7cae405a3cb43c5482923cb1a8cc1c5d50f0c4f6b3f09f636601496b2007e726261ea92db11e899719e21c446ca5bba4667c7c2e90a78a1f76157e60c5ca9723e9a508761c74680eb4c6338926fba1ae9bf99aa091a43986fb161cd399634726540d773749c1c345fedcaacf3f57e58f1e3761256ec550441d1e88bffa4e94dd6a15e4722c29da98c0c116cd1c542e5ef310ade345fb1084f4868a74e2bf14faf035de1d54e769493e66b2f5b06bf3d58b88d32811eb2fa23c426aba78b2c47e5f56a2fafd00b1c69b26d5199cc65abe5aa0c4292ab3730dcb8a6341536a91f8ee1b6edb8ba4d70cee48908b68e7b17999f54c9d83cfdccaf50bd9b9f13b6720fa1c288484e4707538099b3110704ce45b7abe83d6fe65524f4aa20d69099720b92e6cdd6418d58b1db6559b6501d96b22ef52b2f42c794aca87ea1564d1372a5a3688cfe9b30e15de88946c70c286b065b9be4a25c5979f4de5ec994ef707205eb07ced8e833ebc74dea938d7ccbd351e1906f21dfc4d47cf90a6ca5275c1bd7a987bcedeecae513da20fbb9302160dd27b5f32ec0feac0d258a3887123072fe94111eec343c7d7bb19975a1282793e7eac7e4cf4940cb5277b743b3850272a0b61063c061c4db24bd6beda851adcea4e6f546b17509bda2facd0c4f078e72c3c9d8d1cdae019ebb586375d000580927a84a602300c90f7ae89da732320b316e51c5806ff97d731e36d068e91872b91e9d02526b1c6600b553cfc7e7d41f03bda0f5ef8d24156f9e6e601798c4483cba480518211882e54c4ed3cb87102e13e10f90e14653798371f6a86fbb005b869b704ad49092a3f852ac1e201d930a72309afb397ae99512ce17d10b3bac74685c27f801c511cb8ad435f162cef6953a7866fbb19b54329a5b4588b7caf51ae72494fbc03e1f152a1fbe422a8160267249b7d4e563efc1397d21edc4616a423749ea00f04f1241ec5f407d534ab1646e731e02fbd0bcf0acb9cbe53712908a859e4fb88947d267a452ef26d7530173216251ce5a39d11182353eec06701ca39be09e3f97a66560e9544889cc4a0dbb720389cf5e2bf0ee7c2751472328ccfeb3188c94be3b3b5cf3761d5eb4f4064572199ac1569450bfe21dd69fd5c3ab911f170d306b6c76f34ba159c19a924ad57245cd65f6630c308d80cfde87d7ff72c2da5c261053d600de4bb3376916515672dad20db461ea06938416265c598c9d67449f472debc88f1678578c5fef34aa459ae4b8665700759bffde62f64e35d1e1419299882bcf0eaf943b27f415feed5da615a0b9ec791b19fce765dd70ea3de8b6aad48d26975384cc3958c20c0282348d09268672055611d0084a032d45d7219a332dc04bb17639700ec16516062e728ea47b2af687ba986bbc4c468893666773c7b34b3a67f451fcc0cc72863ce323a66af3b42813904ddc7b1ca076590eecd4400a5bbdc4ecb27e7bfcb635e54e726287a41c3fcd8638b773c9c7c4ef14dd7a40532e97aa1a90184903a742cbc57256e7976fe0115102ec01021f6fa1ec0e6ed309d4add65dbdf04e17f30f781e72339f1f5d4ac09c466eb68fa10c94d88b55e7d17eaddcb07ffbbe8b3f71cea372364383cca2ab1deaef302d132ac676b305e388d93dbfcabb926a6ca4c23a9f5e7b206fd7f9de65be6cb3aa993f4794320d0907a066bbcedc82e78c88a388d46e13d9f19fee9ca44b72ac37cd7dee1f61dfaabd1c74431eab4b4c0676d3f57007bb284a3bcb044a97df14d346663a25d240f05f30a4d400cc73f7d37dce9973522122107565caa7dbb237cfe55b2dcc0e88a92f7709a5f9b8c3a23400de99cb720f8b97177a5eeab87ac9e4eaab61d2e50b76fd7b6984771d3494db75c87a8772a85b83fb3f46f3f7153cc70a5478997fc4044f9ddf2c19b6242df9943b551b3f01474200899748d30fd73b80b04de7de7bd9557178794c266b228beb85aeb24ff39813ac5742d5ccfc7bd63241e4b6d1001aee8c656fd806342d9863592992724fff7adf33d51d58a15f4fcad412ada19a3b9c70c538f64e1002e449f1fc1372b585f6087db37d3e30afc7045cf042e7da4b3c981328ef925ac005003b2df8722e8b4fe2a64cff566758b33f9d431be21fa7f1b23612ecacf708941544e4c01ec3cfe221388495cfbc18e324e71025f9ff7952aedfc4af376b1888ecb6fcd872743651be00d5666d834efc6d94691560efd40338cbc9fdbddcbaea8a1bda1671fcf89d779027757021cac9a6dc8d41afb5ff9daa7bfd3904e7dfd8ce0c62a7080e5ad1acf4c918f811cec260911bf09dc36cb70058f5e903bbd2934f96c2c14f86de717f1e1552499efdb9d5559174c54662cf3f834ac11d4884583f4b1f3072b636111eac5e94610765db1bad7c97d30583bf23c6abe940343a4311b8c1b20e9c68e1245f26110493fedb0a96961d3227e67d8d0b76d37c436d66823ae4414660544638ee33744f2feae96237279bbbc5a084dba3ff0a15705f8bd66cf272726929bf6cec4cc29042114fe19c38db4757acb7d98530a4e1a561470809df877294be93f96905d7596e98a734a1621a797147b0a301f213aae1aa3441490db072207a8905765846dc6da14f2d87e9309ba04da193a157fb45a30d6f13dce1e2450536dc05c4e05829208d7b0fc5779591ad612789bd40d4a43d3a603b1445ba72e7679ce589de22f1deba2354507b2545a4f0502f33efab6e87b552528c0a0072da355902b2d2f1b0511cf9a200931c25bb82aba149ddd7cf19a9b3ed3b54ef5bf0084c6d3a6773dd49e5475f34090097058f49a9a29e9c29083b6fa274b494705c835ac7197821d354bc1ee64de072f776de71a40ba56d7349033d8fba94037246787908c08869d857a365fe707ebf6e235b4a3bf146fa5aab6d333a3a62db72b0fe9a5f71f1f3fdc83afb5b6ab5a0f58066567b3cc035d54ac6ece1f142e872c4c94e2501b107d3847fdd57b29bdd42727edad79f4f848a94b5ef14c29df772e6788767d6b6ab0b0afd9ba5e015de0b073ef33a38879e77fbeace6128d5d7723faa8f749e14173cd652d813d463b1739e2bbc812c19ef72c046bf2ff83cab72ac2689b298085949ba89a924fc63f97a85a6fc2cfe3b098a901b5ab1bd190472ac4db3d309bfdd8ca558042ec2aaf55a6b401cc01a3e3e041955953d6196f352d546cf2cb75496528c0a6449490fc68de64219f7ce92d3bfc1ac50cdcda8bf727c374b81966f5dd3a45dc76446fb4110ef6a385f1f3c16afac13913f8b23c27251a95317c191790eeaaa1bb117e537efbd694ccec57372b5e3b73dcc5b1fcb727a256c40f7c587dd601f1a18898b320faf031c75266948b054e336bdca4bbe0c2f1e37ef84bf26d61ae9d0d8ab3afa7a5bf83ab423592655fa56884e59036b726c75b7a7e72f6a8c05ef2be874c5cf1ce8cb15349a369896953f2cf4732bc062eef5db868b3e6b578ff278b4e97e61a0b0f9469589b0627ceb995e05dfc9aa72b136c6c0569857bad956d841f83741a289d9aa039dfc0b630e637ca86fec537210731567a3aafa28e6db4d7dd6b8be6120611603e0ece3c0232ca9af7c38744cbf4cf954e0e794f3babce9dc429c0f1ce415798b7b27e872f0d493ecdf370d72f71cf5431112eea3b297d35c2e421f29186e4213ae230b577100b7ed041ded640d8f15c85b934400ed00af835de7abbf3a675eb4355361a9b07c3f353c0f83721390f5d72e0a3813af7fb7519fde8f5441346bcb98425d234bc78968dd31f67205e065e35531d4ae7012c265bb4f049fe7b828e2b9124c8ee2e34cfc5bd0dc4a14bfd59b806e7eb31d20ed902620fad4c7cbec80e753c930c9d6268952bff717f062c86cf9db3f9cfd322499a462f35b405d0317a0ae07836cdcd7c344f2b37244761f3079a6271536e9eaead4baaf23c302f61310d7fa1234830d17f94c0f72ba54ba2bda9ca9e82f56be9f23d6023938fdbd419fcd0f1bb839ff8c6bac0622246a07c1f9cd6739a491a549450b0ec4b049773b2467aee781076a084d2d4872010ceae24c0a037019607bfebacc719e57cbdcea0e420a14990a1c5a7c153e72d0ca89bbf79d2d3c4eda0777081f1721ff5be2a35b552f931dca223411b0c772306d89433dd4657591fd1f81856b889ce47d1fd74f8c2964b6b975cbef3849720c6fbb8c759f356e511bc97ec06d827c9fb6962e806667ec0192753ab146230507ccc2167a0d54c274ea7ad8215b8637ff390db3b0b38fa1a5ac886d1a8d4e7279ba7dfa528098a09b68123fcc4802e554d1471481d0f7354fe3459da40be872e0e9d6d4c8ac04a2b2054fa134b507e64f2be309455e43e4aeab3d5ac97c66727dea8d77c3dc3e784ab0593c3be2739d6a226d2880c994d3fdd7db8aa2937672cf2506a8d7192a4ac9afb8964620fcb8bdf1e1814cc110e2600aa7d9e864b34f9ac8a53755b3a1900ad20d8e26b701d8a76f3fc8360c03fb1180ecf2acb50f2319346b01504c808e6322d9230a615b4a27bd0af59bcae1db749c7c59504c32259e7b0eade4be4107fd25df5c6b47a474682c0704ac186f359a8f5778d37ca6721c7e8dbf3552ce92d64706b8ba1e02ec7c77bbf62475d101ea1e838933215838acd45da1a5c23f79865b0efc1d36d691b2ae56dd31a8a51d07855d33972248728f0bc0ddd8a784e73a934a8c51f1f6285fabe8451fd0998468cfb6f5d71b531aa6ac36547353f8ca78de398a01abe7ed45daa5f049600e93d0dbb898af7c5d160caf70eb54fffc1f7b061a86c5155e0703801c19bb19583113a9c73dc0777b72f4e9448c545d28e21ceff835d4b68e156ac49c89b420fd010ce0682d144e0372a1a1d17d19c1b0f22925098c76ee99db44b0b05516d1e8db8b47e85b22902c1a30b16998cb273fda020235d3465214408fd06a5557e10488a7a330e099c87f729504a9ee72fcea71366642ea12f8b6d5d8ac4fa5d58ae1c9d6832fafd6d95f17789dd92955d6693efd9445fb01cd8bfc96ab24cd2b46defade1d3b5126359122d2ed09d9a723f32151b22293977d11cfe4c57538fffa39d59f0d0887bceea47267c1a90bab62d3ddf543d8d8da71c585456780595b9697a50a2e71a8a22aa3729492f1b8daee1615c4a8b7bdca88de6fc6b33c08eb99ac4f7f6b5b623e8b004cb4a006d886d4ee63807137e834d8788bc15c91e35010d00e86efd1c62afb507210216e7043237348a56a2771cd5f8709dd6a9669a3b08d9dde2d388bd094c95121f7468dbaa78705a47a7cda25995f217697ffdbe0dd3d01a9b708ae520cad72a9d52cc5b4561d7aa548056ca59b79abfe4909fdbcf3615397ddeb446d8bba725bdde948188d491f08e230640af4ab90c68f24a9bc0efb96bc4541e02fac041fecb117fb63a927224a2185940996f50f4e4e4226025a8122a07d1c5e1ff5de7262ae452d513effb55d2541b78766f1e682afcea8ed5688a92c30ba72c94d85722d02d9421eff4023421864048efb585227f1585564ff1b0f5245968896dca872df124ceb85bdac768e3bd1fea8f0f0d29dc64bb044a568f83308a08a7497d7087c2b4058b924b193078f2f8dfb944f4039a644299bd6918818707032ade3ef72965f333ecda9ea8e3272078f7e6f6833754ea144dfdb106a64555433c6e9cb725e45954f5ace317704fee1b9263ddcdabd43c6759ac14b917ee427c788c5da7207e00e7d06dc1aa971a464396a8cbc832660c95b178c60e7f58c7a6ee370b760a394b325ea67215917dd2901f0326eb6fd8ba711bff4707e987674cbd6fa332932c207135441a74a22d51f6c78637e4a9ebddc34020725e20b71a5ba8a4bef2f9f77df691eb943d7a299013d5a57849458aca53ae2bc45271a12bc2e3ffdc3720d077d3b8df851a9fd5c370d887e967240db6eb7a0ebccc0cc320b529d4a68728a33e4f3560adc71d4ba3ca73027215e1f2fbeed01de4df268db4582ea48f3723a5df43c79dd19bf05e295f04182abbce67115e1453d5da685292a8064dfbe33c069b06c88f35730dba13cf4ab39d3a6d39d60959c1bbbe87c19e9af67cf1372a9d0ee13a80eec2187db53b79a424cf3ff28d00b448a8904e9deba1b1ac83e72e43bcf55cb2a74205bea8be2b31bffaa9c4721500614ffe88642775a841327082d36fb8b6d23423ed204725af962f001edc982eb1a8ec41d4da493f7101e61727103140515ad86adcd6209bf61a3910d721b067ebb088d92d1418e92de76a6729ebfe129a9ed8893a8f8590c001ade8d24b44ea107c872cfbe9da7759d6af272c75619ff70bcca9adfad732ba8b663fa043f1e97e0e3ccb742881c204dd6b872a76d89b0c4bd083e192fe1f1f41124594c3d8f9fe4215e865e5532777ce737723e9600fd72a9f1e1e25867ca78c43e6b9a3c97203d69aac09a5c8e4ede9a5672378868296d2914d514cf0878fd769519a52681b8fc02fa9725aaa72d5a4e4d72ef994598c2ab3215e341a18909f69c1f8a60d2fc716c2f7f63af32a473c30572f784365e56c54caf205599cf34ceadffd6bbd602bf60b5242ac436bcee7a6d72beb0a60a89479c1801c4bc8f223f05e382d4658b07bf0be2956d0bbddfeef223a105ae732c98072b0691551f0b41842ced642c3e194b35494a4fd4456ff86e5048daff1e6227b12774dc89e52c936c909660271d795239f5d21603334413fe0357fd83a5c5bb041cfcdcfccba82dbe37d7f1b311bd4131b104cddff8cd9b227209e9d5acc17cd169563865d0467ec2bd2ce9bc7ca6c40c2e09bb341bb7da8146c9c8cd38b3fdbcdc69e79d5a060ae3b600726b47e9ff9e447a2ac8a2778832722c9f3a290f2a4f3480577c69505ac769ebf413d263d236f43c90ac6103a80c0dc51232023c98ff676ce9b5ba859c1afed0442f655c2452820eca5e44a964844c74b6e4b2eb19b06e6994530d73cf08d6c44e6d6b2415d500e431b1ddc8df8c72a8e6f12e434d8b3d5bfe1001120fe6397d97a3651b133df675a0ffbf2ef8b639111990eb20c2026b091a72200565f3966de3d648fc97773693403d8913138972892089f7e242648e227fedecb6619fb68756da37a2de3740dc78965610d161522c3eaa40e718d5d297b2de72d6377fb62ab9a70cfd493d0471ca3f2566a2b5728c8b7930cb798598576865bfc3eecfaa42f9b15f800b208fd58bea537513ef63cfbdbefdfb8174fb68580731e008b2796435d3c9fac0b20802a190dffb651272e975318c53b24718f772d031304045ec5ec040a48678b864d1fb13af8092c64235f0faa7d8a0a409f05348210960c919a398631b0babc81c498b8e80dd4d7d1f22840afc2abae04c4bde0c8e313147751ae29d1b8387b3a5992c27c177d00872b092c5d78a45a10b8a58f66cf82ef0df9899e041d7afa8a39a35418887630272789f0f708914aacc4bc3295d2fb697b0b544c0acb26f2c9212dcb558dbf53b727d0a0a04f26b30d46132e7609de6cf499501f973fdfa6c9dbec62912acc5bf3e4b3fa1bc1fabc4ea08f392a794c51b277dc26c8d57c4077752c99af8a024a772782fce8329630cae9c987f33baa57b21a13dfc41c80231132957c9b3bb87d2057a36c148a32289d0a42eddabc3e5c84d50cc8b04cb568fa4bbbd473cd2dcc7726403678c5f3bd8be69b142a397cf3b51cf01913a7879cad4812ea6d23ec4474e2480216ceab2bb141fefaad3127025e7ffb6d7914f90a0fad7c1dfe3741dc8726a28e8348cf77c6452d8dd45ee60262597269837f27fa0face53601bed98e572d78108b2a1aef4af571f6aa93348a8ab999930e11fd381556ae1cc3ef41af43ea6ead74b4f8d327c03dd0c6e8518b4d40a918de3c25f3a2e574d2074c38f9872fe1828917cd2fbcae3709a1a9c6dd8d5f97052ed03089cedd8b35273c5eb42724e26238e43edb82875f91db69a3ca21132a0f0768190c2e795fa2ebae692652643db6f29c98366338abe71a3a5f75d790d73f065bd455f9ff9f66f6df095ad72972d0029584ff94377f2d2bc0a3c6d5f9d49945deaca2ffe796748535fb61072218e474bc511505737fdfb5f2575a4687fd670e58a0983947b27ab28604cc52d77eeffbfd14a08f87cb5efc419f0f3729462028bb750888a876f69d8e6aef560cf047c4a645e847b9d2bf44d63922b43d97890bcb438a2a1dd4d577a6ef191723677245e1e91db887fa57ffee1412ab094fafec2406531f071f9da5a69701a72dccac0048d98b9a3280c4d2d0bfdc2b541332ac689f6dfa22f6d4763da374609d56948a2f58a6fea5157b002640d9c0efed844ee362d664564a74c83a6834e386c0bb6785451644d4affc382b8ee002d5d59298d0885699a814a45dce695f4726e646e96afab83d97adfdb2afd23b8e01a5107ddbf328762bbc3b04700d7de72df4a936c518065dd1f78905fbd1a3cab726e7f00749630e23bf2a6e72e1891721d90ab54cf933aa7b0f9ea51c8df8010dfd05f05d610b9d490111d1f41e316721c07c6adc77a1fa344841108ace986198e537983c42b429ced4da2c567903272314ea5684e4ec0ee2e6950b40beddb8ffae2afa1450e3b982c4093f94908ba72ec2dd31413d38be6c5bdc819e4ac24bd4f7c473e13fb9e62d5db18d9664c8e72dfc0a07a8cacecabdcd2dfb04e9c8f0922805759a6c7ebf02f9d7872b7596d7267f4cd83fe7628589faa0b0ccd148c10c05fd98f14eac032f45fc134a319a54feaa82208fa548a1a97676888c6f0fa3ae967c5ea065124334315293e454dfa72704822d93f4c0ceb8695e5a343f84c3463b3308289d5ddb32a18b38e36cb1a3fb3443294e0c64ce28da52792f783778f17e4a19d1f4b34c868bdde6d5eb1ab5a92e2a94db1db4d0043946c2a15919046a3c0e848560bd697161a569bdd075c72af6d4d7f046cc615f7c625a26ccd6ca5a2f28cc20a2331dd943c700017885272792041bcd931f8389c9240835be786af6f1bf034b11019c596887c6805e584723bbf0acc4ae424090e8dbfeb5cc153617f9b4ce469f8d604235cd52ac88fe6720d61a441309339d6e8ee819fe3c6414b0c6f0a2c9948c8bafd3c69f157aaee1f5d2f84ccf8d63c30a526bb4da66300c781cafe4228fa6eb2a7f12ae7ec396072f0fa1f17422f9363dcae8c6fc6fa140793727ce236e74dbedaa886ab0128a172060c7730c0f2507b8322188f5840416f841c2be951f07f53ec293afab2faed7206a5ee2ebb12d9c90a7429cdeb830f2fe5427cedb62dc1472a70a705fd4d1137e5de49652e76f9a9d80e0cff7b924801dcba075c403975318880cc4f35c049724e8e4b1e9a73329959dfe842c54b4f0d1870b6c124bcbba73685dff289b8ef726004afaa84a70fa8f80dabe7b6efaaaf03fdf4bd380f136849f3f326054a0833953736eb23427afb699ea122a3045f9bb70a4c673956f81eb4cc280551e1dc726c111b8233dbcb03afd84e7919695357dd6f0a4d95188c0fb7434a2d34448072c163c5b8e8b70b537ac220bacb02ac218471ad42d37831e6897a98eb4a707d088a0ed9e75b95bcb9672fd65cb9c0b10023b470afabbef14fb2ab2199994c5e72aac573856ae82f96d911cefca3c0362c403e63c8972c8d4c4c0b982d8d73a1727ad712b50f65ce7f638c7d68db9d9869aa845a877973e1d1b1f2a9e495ebe4313258041d8f43c16cebe0de80213fa0a1d1a945078de7feb97d050db4a983747227fb0ea9dcb57fb81d0303b614f4a74644f64c07a5cefd885fc1bfa50cc3453e70b083b6134d41a6083f6a1d9d01bf5239e603a2ad98974ba9f89dcbd0b5e372ef8321e50443402a110d09904ed8ac67ce381914c3249c667b204c56fcc0cf70bc41a6188ad22bdf4ca007322b5ff7220d6d7576fb9cdd3798f801202ea4fb508afd9c5f9d1ec96d3b7c7e94c84897ad111b9bd04120f500c1ea6cfc1c42fe72700349cb63a7ea5ce527f30eef4fb8cec264502f59c4287851e2f9069e329d0d983b9e3c173c3193165e38827c4f19a1807669af364ffcf5682aa6ae246cf8720a601fa5eaeea5ab39f06cd01b6d7bf98e81f93aaeafc7d66512f641471bff729bc012844014cbe8348e96126923c6214eb3d91c845476c0ec190776280487722cdeacf867994609afa2dad2c4c1fc467a8445ebc39fcf580d61fcf2b5492757e1906811a46a7319813d71a4da99eb60d9ba1579bf42ee3e1f35be138cc34e72c8ca0634bdc5fad6ee4219cf6076762c39d2dca38e292db599b95c02c9dcda1e717b52d5483fde9d19a667213d476b7c5b085bff13af6211077aa6057ed12372bd9385821d9ffd2b8b2c5707eb1fe7a72f37334694f5b82964331099a7246e72ac130c2ad740b9f21332e177dc7e28a1d7123e33b4e91f8f03d7b6fc92d10a7203a7eb13dd38f0100ba60cf7a4dacfeeefe0253e2c1f6f6bf29e82c97f05e3726e139108c526d917329de2683ec3bcd54ef9326fd58b6ca9c2426a016467d82ba865281d4705c69ea86803c13f4f84313136aa5365e39b55515234f58fd241725cd3c89c56b28c16d3a0c3ffd4fb31f6b9137bd7aab39d26fd8cfc18b45500724d6e963ee7a55233446d44b2715b2457ff9287b7c8e318936066471371380b7297b62c5b7dfb2a30959d78da4bff7d04ab63689e6290fe833cd8973066ec5c725229c15362e8d1670384bd45b2bc7bce55589685556556d2615903bea5c96d72fe5be16e7a700ddb8ed4f09403ddc53f9ec4c3639ae184b168a9559a44a7bd7269cb48c727fb3e623c84a9f6617e8d659c7c2921aa29fd43c18e78f7e97c8d72c99eb1f49691484655585ba81225ca3067c180985e681412a44df6ba3ba0c07228a5c1f5d6c40eb2c93fd5125e01557f7d5d48a8ba945b2167537430207dbc708872d81a2b125b047225b7de616b2fa295a0bcf55c0bbc55f1e5d85702a6812c822831e381b16ab4a896ddd311da62caed45bf31bb2173ecf5a59bdac25fcd4f194843f67dc6242a1b73dd4f609c517335ee6ad693942223552134d6bc639125db68c0ad7db1948e5f1226c94607996211f6eb7782e3e15741054ef645a75972d6e8081cd49ae0a51ef2c9deb691fb54cb7059adee7905c6a3749e67fd41dd72e245d33f5e896c5b1a4ff989faeae5260adb851dba33fdedc16a3e6ffdb43072e6e1fdf34c474c47d9da0c0a9f34f18af126091ea414a2943e157a338a985e315147d5e5dea2c394334349ddd201a1fd0ef6148a8dea9e3318110cceb77df05ac981279d903eee40a7146307bb626ebd06a49cb141ba39457953a84b57ee187214e18436d6a5071411d9635fa576297dbcd2831d18534712c3b1ba815e2086712053a6d4a55ffac21e892859d087ecf99d9fb294113cd26c4c71e5361c185f72ee64e7420fe8d43892e0557081d18961bde04950bb927ab72b09dbea8c916558d4f6b75338fd316235bd9863e3558c70013b829351eee84ad5b240c2f32eb404a6803034972f06db67f8422a517df1f06c5b99e1a6fb2942edd73de431304e54b0a72c877632a587422c0f1bf20a2848886ac67cab954bed15dcc2607c188f72620ebb3dd2baf74f52d6b8efc1a6f615a30eb357e5f1dfe8b25ee1c199d34072153e279d0fc687372e3e3a73e185175eb2650175446727dcfdee7582d64f867266a94d9d602772abfd782253df274bbf185e6ec53336749b095bf8b33ab17172acdd68c9be896475ec80dbee0a6434733a94f154ea817662446697853ca09f58d2d0da9e16092e217efee2ccaab463adcdf84c4ffd05d7a41df5572139dafe72cc0f5a196323c33121ce2effa4012e03f6b0b76069aaab22b524f8ab5be2a3723f2be5b2b6dd92222d1547fd7be381a5a17edba1c000e057b92dbbe158c6c372bc090c78861efcafa40cc496b872378cf8b1682024e32b0997866235d792e672c340da792b664e45a07bd52d1649c7ed49b82203820fe5ddab1b0eba59b8447253e40c985eb8a293482db2e1a7ce5fd1fe208c136ae64c55ad0ed49c024f67720607be6f0d371de3632b83d18b2679dde0d45fcb0d2619d42791a955ec2650728f7e80062e38ea70016ea4f22b59e503cb992f6aface64f6172739cb93f92172d456dd9adab76ba060f7df724e46e44ac4af3a58e9f32e0341412a17ca7e8d460d7c4725d316f0ba693a730657a4782aaaf869e16d7d77d1c327565d4bf7b056f89fcf9dfde0108f8ef229df92f6c727af90d829a36ae001a2f4d8e71368e372f5756356e6429a18de2b91e84fa9554ca5ea880b1699b9b234a1ba5ce020f42f34b8256c4c64d0fe1ea18bca64b203637947c842efc65b8c03635d963e423272f9f0fcae793cd5fac7be8629468c18cf59ad739489ccb821eea235e35a3a6f72d3ef7590c525d609e22ae793c286de7dbb19bf55dccba5a2c91348fa948cbc13e0588a3359d78da6c8416447198465f20c201b87e73c80d86616913802410672f0c829156afe5fe459f8e02ee2833c845ef4a3d6b7f4687504954741bf6f2472e449209177c1bbec161d243346f223d6ace7d4591596d41b4a24b05aee418272d6ca5eab4a2b99a8c8114f522fb233d03a5a0b1646185104068fb836b58a7e72d5b2bb6986562df4d8df9f00cd4e911922179059d401e49c8e39740deed1a072f1e0c85a3fb8122a92c796f22edb286351cd7cff583f303c50cdb7b6fe8b1b720ff1202a0b401ad06275797de77d0fc19e218bf41809b350a4df261fe08188727bc6d7a94e9072d2850bf8e3d10b8cd8d957e8525706aa651030a100ee3d71666ce986a148146bce676747d9dc25b4444201241cb096dc7cbe4e2e0c7285bb72b4e14d7e33a5a7589628c04a041c6e4f4ed1dfca2a9163f3a9634b557b0da972422c0be1e2029ab4f2eb47a139aed4f2cd668133cfd53bb4a63f22605037f5727d2e33233eac145e77135240350f7a1d36e7bae5f2ca51cb7598256f079793445f3ed394cf7dd7dd01f121dc44600bfee1fe43e26459cda88f310f1a08a8a9721cb67229ec31ec5abff617140c9621b5498ad47933cb1472ff3af7254f76434813409af2a480a84152cde1413fc5aaf14bc19a5568a49232fda889748688c2727dfd78ecb2947b053aff3c25c0830a18e3c67aae1ae15087cb62d570c1f69672b55617faca1f76af70da404cd684160711660a45eb86ef34b9decd6092fca41463068493f83aa6c8a21ce0e26c210681d49df63fe57626b925dfc6adc76c31729599b215bd68c6d803b31402ba4d8faf67e52d8474703e0f96246863b5d9351ec2984c65a20177319a3a67400a689bf64b3cfd45bbec605be885f601a0d8c30b6d41194b184744c6a5e8230ebd86c4b7d26003ea75bce7d818fbe4c54d6601728d6db870c82cfba5daa806363f365c6cea30651930f0381e1eea18f95a7b590c6eb8a7c3a8e6cee81d5a4b5ff42cfa810dd0cb354ab4875a9ccc1cd4be04e5319709a9c85416f47fb7b48709d7082339af2aa09ddefd8010fd5fab9c49cbbe720440d46aec313077d362a17b39348cff33dca6ab5dd9abbdff62349546841f2405f2f88fdabff72277cc60a7c58627b99745f6f06d961c9a69d30b58e1119272a9bd6ca9abba5a68b152746d1b48eb67db9c5bdc8518a1b9059ab0c31a4765592a921f0442eaf36aaac0b2f7c74389937839275889d7fdfa545670c383177372bb6855f2ebfc6422bfec9afcb1ecb987efb138824dbf5d90f24fd55f855bd85c761fbccd854977d15bcc7e599e8e25064ad4b8e7f12ce019e4f2f2b0bfef5272138ecf9a954760283d1a4b524ed1f9a6bc3c2a24e3391493f3733a4315d8162d41281499f14a06abb583dfb29e7f95e8cda26f712ecb2b86e3f58b45b03e0a4ccb605097c0121c2239b6b72a22c93066d905375966e6a5abb48da3dee404333f58eb2c5f246b8df1e557781da9e9a678a2ef7650d9367f67f5a1a0d7b4c49972d3fcb9756f32e5132815c650a11de4e5c011c75c5f5c754a0b77d1bbbf9c7872a4d5ae56f85d6b12fc83869e4b56e8a5cc2d834ec51d79602ebab23c9360336532ca237b2ea92d57766a0d0b62aadabf9047d5dd5cbc5cc33420ff17c753b4724c36507b7c03b80ba6caadfa7ecd1606febfe7aeef2c49b51b3411371b9880727bf493feecad5e0d7f99660c455fc22656305005a4b098d54787c8bc76d31c727c91829557e498499e681d26f2abeb4988270d9677d9cf78fae593cabb44ad1038774bb8ccf32399d88d8e1442144d9608041b04e928f7a2ae6c09a42d549f320f2531d954f5eee4f6a46be7a94adf821ae65a28391576d0ad338d8d132da1722e092aa60493268cd685afceaf7d469de491ed8496c997b39a7a04241b589472dff18da8298cb13cf8b1b47cd046556c6475e5836abc7c5e196f017903963115b089f1be88755473464578c9678090828d9bed0d8e4b9b98fb5d8bed724a8a721f3bcbab88e7559a8ea5112ef8305e6930a3e914292ba46760a8a5f2eb315672a824de28bb961dafb062d78209d442b1d7ec2ab1f3f2c4e39849cd9db9f7397217e53762b50b8b00670b245575075a1953b0314175687844398a18d30df13d7251642c2a91d2f4a84ac0efdc584a3ca7cc94a032958166bbbac3a8f5b2ecc92c48ff12721c9f4885152a6705844077defb6df7e72c14ca901efb973f99cfbe729ff8a50ede745fbc950dc1477b292f793173e047771f896038673e53d3a2bd72a664a2b652f18b332eaae9abecc1886b470e96ff0ecc60bafe8d6ea91478f37224b2693c9397150a8a91b6b05187722d0ae9aa2214c7232f8a4fb93d1200827279620f319205c88c05c8792df5a39da0d57a0ca077458ac706aacf64ca00514d9a5d0de123ba1b6044b418729576cdea9a1bf25dcadcdec4be037ca34aefc57224dd1918fee57efc138cd8f5cbe4007bd319b71a48963ad718e353df5ae9b872bed373cdafabcad7e41b899aa2996c5ea1422b9c3457e3e5e5d9610159e139723e1a125720e1a602cabaa40f39c31dd993778aa1b3f3b0959ba84eca44bd2c5e4ee8ba0d1c18d921c353c7f1a20f9458c4822c98a5d4658b73c7416706d61e729136e1aacc6bffd5669d4dc753c7576146d8b53a553fbec77482f561a92cec5b18ed32a995af8f68a504664e8d5ee0cca25c39d5a7d001a0ebb6c485a1f78872c1fcd83f2fe5bf001d51d23425b92d8e2a67678c2774a223c0eee8f41602005cc74005ac3e34f6e4734a2920dee16f26ef963bf0c15d01d93a47a6aa837452721241c2c52b7d65cb117b7b0078f79dcae1033f10b534cfb288697e0b1667093844d0fe1185e962c234f62bc40adc690813d8b81e45db0918dc541111d34f1d72ca2f6c4b4ae6471391cc0c363d51ac9cf381d888ec72a0e31ff24bd66285ce72a9793993d41a6c3758e4a504f1c548a1ff1b54ea266aa2960b7e7fc5d6f223729e6db9a61b484e8c6e6df4ad5df22505186c636db4f2d01007375ef65e0abe722aeaea95e5e1765991aadfd0c2929b84f6a98bb1635c4e1c6ef0aa36f3aec0724f808158c2f6f655f81a36abb87bc7a558ca10b94bd08c341b7c388df1c6f272bd8c653a9c1b865323b91a4695f378f8b460da20841543549dc1265464927272d2b482c36be845b2678e05053b6cf6f5733a1b4e4f9600215f848b71b6addc3b2cc57a8c89ca0e42c940f71c733c61e050d29475aae4a693b34d16cf5990b861127b7224468422f5ffd57a27a5a419ff4b34704d9b49100d3de0dea590104b31213a1055e38aa73b3eada0cfabd71cb835cefe41abf748444e15efb1515d8a72b49da043a209768ea429637cb54d1af60897c3e4c567304fb3abf8d4060b0b72f4a178ef21fad49a54cff1a45e407c3f0497ccf29e1c6b59eb9fd1b9c8983b720e5641e76355897a8a101fcf142111fe0b00e4e58756d56814fecebed0a17c7203a14649c3cc578827e9ee83ce80d8a18941a6c4fa689f0a7aff646ec213e672bb268bfa308ceeb5f059f73e77cc58c4371cf09b475cfafb6ab01d519b74a37267cdc6f03589f2aa3292d0df88edfc73e9c6ce17899a6498833d35df2b4192724c2076b30dc26f0566c23f42a1f68e43f91cced3ddbed57050812830269f912f6a335a6295a3115fd1945c612fc7ff13937e3fd7b10593c911bdaa30f388196af53e5a70d6a8079a65d34288fac83865af02264f97aaaa37b6da65df801a645fa4f83b1c1c07e3497eccf515a24fb29d793caf3ba4d9c1b68841e6dee7032c5a6246cb76970573ab53fb13503caa68dd0b548899c3fa3c9a912c6cf4a8c68b22e83c01de64f769012e504a7c50d5c253a6f71105f5c73ebfe59c782eb31ada72d452b40581dc8bddf1e10b0113d36c0a9a8ab021b092a56978d6a854e633e4170c565b1c1459a21596b62e7c2f1a7331ef6fd7206abc5a45f8133efdd5695872b1b28c68458dee69a49c81a40a9ffa8f30153e1e7bd9d1af9dfa1330e9f5d815943f9de0e190b2f2f7d18af6a2690159fcc57424ea9e41cfd9af15a1b11a9d7246da17964cf11ac579c85c43511fc36372dbcd0713db69007b881bd44d740d68cca3db4c4539e7876650b747d977abf097584ff9d2e1305c5e73f0bbcb364b72dfe18cd9ba02f7a31f0f2f632ef1010be1c05f1d92546ebc28147091b3d6b57241860fbdf1583a95adef8c42fce3366db0db8b68d1c5815da1415f96b6a8a90b8630da7dc0e37e858dce34121842dc3e6597e2eddf7f9010748d7794a46b123472cf0151746e7bf684b1beee6ec8050df64338dec27facd8fec91849529102720bd187add399b5dc84fb29181a9feb9ebba2b53eb5bfb1c90a81086471730e602737e20b60faeafc8b345b6def085facf4532edd5fbe743a1e989ed201dd6f2924a3df81057a7a66733f2b458e72ba085e472bad1091328176d7a206ca081c72c1b278ac1b13c8947b2f2e7df2f98c776333b19544bf7d1741eb1ced81ffc55f94e4bd240457b05c1c233f15113f92a66b712278bf582b951eb0be2a42ddc172343b138592085ba48b0b61b52d798ef1e1148b1f1db909cbd61620b94c67f04b1ee9b08562113c8466c12146056b4dc999de905c56f922cba1aa85b503dc6072d2f967ffa8cbf804cd86a2d2c8f0049b48f1d6c1150c7003b51a4a5399cbce72b9621723aca980164c5957069fc9623dbf89dd20c3aac85276896de9095bcc72c86c4bf23bffa3684b6644691ab81eae484b943425c5eb07bd6ec2ba2852d34288a9135a916c7e4c2e6f50f51bd687292d3f18e473a9475e2353b23fc8cad87268d092a0bd44bbbef480d6237ec9b22ba4ad51cdb47190aa7c94d8574d8d6530fcd91c278d1dc1f7730228ad693c1206142b6a8b22764e893068ca61725f9c3ab9c61534c919af63849cf9096f8316d9949a3009cc36a17a7d6a3d0a7c3028720b330cb55a8302b2c4e015175a471c8d05baafb684df9f5663d49967c5eaef72347d9ed875b81412beadb5a0da778cb87e04e81fc9e2913c48bed276cb154172283dbacce9147347c59286eac4ea56f16d1f388813597c8f824c216e672b84294be74373607947f62b6bc7056308437ee311f20077fd9bfa3fb1fb451d5e8469a6925f0c7626eb897b36aa35ee420412b86ca946cabfbcb6d85dec7ab8f0c7722578646017cf90b16d54562b359edc1e3a1e73c53dc80e55ee7d4e7062ebea72f73a193065cd2b1fe0ee9f428db9ad4f71d81b6e92200c6262482f4fd075bd6e6c4df8eca246df3a0a3742acaf2610a4dbb1abe1d6a3024ed1f58a7f5f71c672459017f6030dd516b145b9e7aa9d288d151a80e55aeb4849105801ed73385472701cb5b65d476cdf22f5f3863f02c94c2dedc234f0a3977047a14c7e13cf7e7280b48dee94d309fa70bdd36f5061b36da83819411305288bf79b97cffda8b072c9b35ffb89cf176549ea898bdd08f1c8fa9dea7b2a464c201d7927ca337d56728eb4d6427faa9a689c9a8de8d9d4772abbc8876744a38a1713fd547399c0bb72795de898c64b41a68b9298af5dd193556ccd1b65a12a6caffcc88690ba92006187157bb818aeab0a7f2c71e743105b1899ac9e0962dce95c95fc0b6f5b698772cd837459625741d47f84b6769bb2c836850ef4d4c85195cdeea94b6acfd13d72757b7855c2885cf18618008cdc1817bbf7e037a64f1b136cbc566ed303528c72bc0023c66512c76b586b49d194178f28f37f8a21835805f624063dde270a15722aa1d67e0ba70ab8ff31c80b44ef5762b990732e5e84b6ddc6a45bd7571a19250900d81359ed8c9607d63b8c4acf5c7cc015c08dc3d8a017ae2db29ef2f2682ddc0863bf54ec9217d48a9c83c3d0086b583ca557db594fefcc8322261836417223dddf4fb2de75e82f9686babb6d0d04420955e6535e9916a71d04f05b944872d5076b7cb9925cf9faad6cf16286193e586c5601a30cfc56a78ed38fb4cbbc15768f79293d339638ddb8d76bbde7bb9b7bab2936f09a727b2b9dcf4f9f60c824df1b49488d7767e4648433a799eb2274211b9ad863f45d4b15305ac1b4d5a172b21ee9ea9fce91378a0d4b2ba1b51f7a40e56d59e3fe839e8d1bd91fa286f41e6c3fb26058742a871bbff78e09e05a36aeb326d345e0433d1f876475fd7767721caa600d5c721a37b3b25c337b3dd4f678d94b32dc8b45669b410b79cc1a32726fb7bacf4811b56eb2a82a7c3fa8fecd0bc31e007641b21b4bf3623b99b8b87215a92024e0da13a0ec2c8031efc7fd3c312da114741b552517050f06f14a7854a8707792ebee816752511362699484a7e139d9d0c746e320d964aea2361ec324d524dab315c17ee68a9d6913462705856c00bb97136fd301802606b14b665d1e3c762b1a29ee3ae4e8d7c00e6483791f1aee34c344892d6d3afb01fa433a874c94a7c65e3bedbb5f5414f395939e41dc59b141cc9e6b246b9a88dd4d342629724c07abbcfa314b4c44107fd8a73b89177cfe9174424536e713e13faa4f14482e86b011a29aafa872141b6358720c1cc15852eafd29c06d93d1c25b96b8753d72fe259f5ea8f627635091f85f1e6911d8693d0849480c49192bb1a26a48305a50a75bd1c86ce1cbf45f9257ab2c360e734783336c6cbf69df7abf86e625847358de260a0701c532a35e1181bfbc2f40ea5500e6d3ad1efa95460848a506ebd17298c832b31841ddc0d5281bc2c6e027100592a45b1bbfe73b611656ccadbcc94064e237a02088a471f884b643335cce977f0d70f0b54d2a444a853b6902a8f872dcdba6d4c26634c8870af90d8411a1bd05a80eed8ee2681741fc746500cfbb7270c689becf89987237c34954a040eba860be5361621129b1aa9a4ed8cb098f72a76b88180e1433ae43d89966efc33636391623947aeb8ea1072764eb57d58c6916bb49bd61cbaf9b5ab327697d9951ec5d1d5dff88aa7d3ec7e4f95bf8002d198c9dd9b62af6fb16bd21e85be5ffed50a8730bc503154bc1a90f84158b922a728903e4333a83d38f1477385ac45a88daeb1edd47e674f220eb10863d6f8d0c720094b5e6d7722a2f1410a54a9c6f062e4a73fea2fe2024695e11b1ee4afb59722e7b8607fc36ca60e90ac4c4c6e4c35f232ab4317714b5d4be6c71d8560ed4729f46673e7c1cd9988b7587b53438fb1b22afdf9150465a7971df9a7a22f7a704048efc29ffce871bf966fc8ee30535e20a1b07401d31f21dc2835e713fea495345e362fb2e96e702dccbc10c5dbd11f3986ed009166cbeaf96ac9ee9f3baab72acf3bfecd32d2a7f6594a8b0c067b6f351d0d02a145c2acdc60f4dabbe138d7270be66cb448614d339edead6b232afad9b06246153125319deba9cb0aebf0f00fa29395e98375fe9f538f15f21f96968147560e7c7f37b2515e27724395a68638a69a9361764a3ceebc59ae113728b0712f42c41ef9d4ede24a97a59eb533c72783bf27b93ed20f2abb69bfd2e201e4466ec7f5abc1a23359c3a28fba3d682729e1a35ea936afabf1aec51faf271268d3581ba06601433ac248fbbfc5e64270212378fd34ee94894dd3a5b2d9a1d83c200631c9c153c5e954ff6a30ae79d3e72a7d1e7df1b528f9ffd793131c05bae481fc094ee8b08e9c7a10d164d7e9162725163b4f002eb3f12c6c088879a15049da515e4983b40d9c96d77fb715d796d09238f680e986dadc2d6ed8a6f29220fd9b560573edba066b08c5cb69ed72374729b789b3edfa2986fd64c49633a4fbb51f74846d47a7fa27d9b2cecb237635102b675de077e58db85a88341d723b72a3e740a9e4fbe1b936870bd2a3857ff8953d97d6dc09bb4bf0c35fe1e7a98f37ffe83fba86f286adfecba0b00d86470e030eb2c5a92755e5f4bdd577729cd2e591801be0d92e6381665b203cc57212efd727eb734de95714028bcdf4737ef3beaef174f4d7f54b3fc4019b3c3757bd1e8721738c8045bcb823beaf4b85bb6822a2a26717f4235a6a817af64c10010b905724d6033c96d4af594cbf7007f79d4bf3bf763ceee05eeea84c649e965b3f2340ad945f383f380a2abb3a5a74e63fc0f6864e9c3da871a3eac53069acc71b33c72053d08d40dbef815619af9b70c7da8b04140bdec859ac454a25026456eda274a421338cef570cb881d76e37049c2ebe9eaeec89dee8d82175a25347b0e56ba72cc8e4c08932d2c24ee1031a0046905181e7077a14abad2d2e47e8c7128932e727214e95c9e4fc708fa0890e8141685ba295a29bf7b10b0e3fa35323f3d68b87235b0c98f267e53a83f5cbda5c64afe7c34f6f0ae38eac00f218489a520f2ea16f77365b2082f749f60b31701fcc83cdef28cfd572595accea70f7613d78de472677f5ea6db9669a9d08834a646f655c569c54fe1ee9bd5ea8584b382aa0efe6347565fe2e3a6a37897ace7cc639f292df479a0e6e15b7c74981c3df1a2b3cc721e1721704e1a21553719f15fbc2926709904d9e14a92a96c1cfb1f401be9d955015fb4eef59283483d87d3c064e300d8067f2cdd62acd3c01e049d297c8cb4619ab709f3d6c082ac73df08357ec3f212cc7b3d6734ab3235e0fff845dd81e172d366d4ed7fead9d9db730f21eca7e77da8c30992e31b95dd00af66356b1bad06466ebf8ac2006eb1b558659748219081fce211eafd66c8352c93a0e79cbb9f396df94b1903dfd354945f93972df6f2f24548c494ae3a2eb7e6a507eeac7bca72aa939af7fc58783fcce5eb5a0752ecd538f66741f3861c1567c440f6077859721424551717197e8133025f92a96c09f00124f25e521a52e48b64c33d389ff9723954fcbce13dfc94b1ee4ee2f1541975dd18d92d149cd14f456c77a4533dc272943183cfde3f060977889c03befd7bb49c43209ca5b86ebe882b52aecb86b572b53c723fe3e1b0fa292838a829a99e40f97144f0b8a20f6aa753068800fc8621f67f4c62dbcee49164844115d98c83f16a45b00ff06401f12fede5e87dff1072591811f7db233fba0443f792132551bce5d394790869a9e8f8233590d1f16c02a2edd38d50ad0faf14b3720f18515496d196385c5fba7da2333dd67027524b726151f31d444b849a54a69a068ec19fc6d370acfe18889a5951be40763a840672dca786af3b36f3a888a740756bd16d4ff447a03f9abf48e20ea979ea2b78f13900e03adbaebb35cb4f1a0fe4a1f20c1b95ed6bfe20df6310ef96f31ddf0bdf7252f131c8320a18e4467db78af6423630b6749a53d382faa05d764fb44a1b357289f7d65b4cbbac7e4c4e1bd5f8e3bb803b6d3e62761bd533498b828006de233789825ed13834a5056834013c14f1d0cf0ed72ab5ab3a22093b6c035fb212a55d051efbe3039798c663a2457aac2ffb610dd6ad76b74c25399d7a3f32dcb70d6a0f0499a59051e5ab85aa71583fc6ab91b118de50137ba86430fc08f4c46c9d72ff2730aa278323d776b6ed8c60e4df55aea6696cad6c9bb500c13391390f6772167228110da2ff5d48608ae281552b0027f64ba08bec4cde259626026751634e8b93abe3fbbb49c955e18dbd0b767b8c1d8ed0a31edad5a872c4e7e628931d23b8a5a46fac0b49d1e4ff3827de98bad6ad4bd923afff945f9bf585ce3138fa4ad1a673b4c0c605739498efef7c321fcbe3c129007a6968b0c8f6e1d183cf481ca12c9d2853ec28871a09bd4cbeea33918498564c57aab43e9d8c8a3a7d488a728de2adc371f349156c07b486f158c231e5da6829935d00e76665588ccd1a99514d3a192f86a869e257b43097184434d77ac5545d2ca88612316b72c7fd97bf0b86aff7a5dd471fcf05dcfafd9fbcb60a07252907aff1c932908c1f3867923372f66572caf781d98fef580114afaac74ed803859612855fe3d90a47f706299572ed45cd1308c78d48826857ca777673841b7eefb2fed045078e6fc263050b2366b1a89426059e5b7ad491dd55471088aeadf158696daceefcd1a9dd3e6bcf7541be42237906328a4d5a6c1c38e83c80b9dc06f91f44aee532e9806250b669e772071dc5bfcff49a10ef897741baa6378cad0d617c033cdd3ff4a6e4ddd562516fb3eabcc75bcaa770656c86868f22ccb11cb1e34a2ea62708695a92fdbfdfa630b02edd5144b90207da81cdb979b146d9d837bfe8457842903208295af619f17269bfac188f5bddf7f1d3e0b8013eb6fb1cfe7d1563c04c3ba777bb4ab1e3e87285fb21da739393ee7d03c36e3b935c5b211e4e37ad6378d4c02880b856b53b1bab0a8b1757ca8fbb4112d91da224ed320740dbda00b881e259be0f24aa4bdc6654ed707b08171a928caeab0a36c6afdba9e32606e6fc405ea700ebe869fff1722c2654b86bd609dcc8ebfa82c79f7920fa5fa30e7df2ebb07ef44ee2c00edd729962f215c75b896b5938908a7c92078df049393478d76d1631d700febc0afd724034e22b289f295f2bd396dae675fda89d8ccbcae760289d83bfd0e6cf55fe23f97e728fe99156db6418af1d6848b4b149f3a2b50a45a390ac8ab91caff230724cf09585ebbb26d1c92e5807c1d6d2bb663218239641bcb852f86dc0f6e08372c6e2c530d682b5baacbf5b8cd87d8ee3e30ced8ca8d5ab5e592b59bff56c5c72af99e84b88ed065e110a8fc4bcb7034ac265ca74aedde71cbae9143a37f036723329887ef7798048dae3dfe4dc6d2268c4270f7ba863acd16637f28457f2866e8ef3395a53f0345701ef8b589690aca53c141aceffd800122c73063a3d1e517295ee42ce5f94428e3a6d249536e7eb1ade2b9f58cd8328d15626f095cfa6272ccc84460b2e0a718e8bd888531a470c9313a1a8d353b4b92932c61b06e0a52219840a80306bebb49a7beb61cb1fea4873f27fd78bf4aaa93b2956e02a8b87ac72554da23a54fde2e6941d3e17ed77914b1f41fffafe36a3bd6374e40b360454720c78fb74e87be130ba7dca8703944798f19457fd282ffd41d9e66495fc8ec172c8b52698ea4f0588a2b72d5e38d62263a0510873c75668708389d067b3a5847219fc6f16246801019314e98470b7197f613156abf81a507c9c960edcbab14e7291d99abd9b95c52b1bb84ca206d426e094de7177dec8ba7b08e917ebcdf9f4387278b96b44f3d7229f249acfbbe0d0b9baa761019d4344293476bd37cdfd8e331c69f373d0ed7ae865ad76f238b57ab0e6e83a427eebefe5729024b7803dce405ebc2af1fb5b9413fc40f1c837a04039c275debae8f59806c274f2552125753d70ec97152b44cc5dd169569beba1c57753b5b7ed15f9779f15012aad6e12b9134ddbc55a7e3ddee8d061edc97a7c923da00a304bbf74730c19f8e55a4a5f31726e54e471adff92f7b22d6bc3f26b8e9ee98d493f6cc69d9e86e79d703f7221722651de5d1064587b680195a7abc441357d604961e4e6e5371d85934da42fa317d5033dd5cdf3300510a38bc8ef136c7f6acd75cebbd2cc996a0e30dd4a745b72e5f538f1d08f08b53e75decdc802161cde97179301b340b57bf3719764d96f72fee8f285056122cd4a686ff3cff409c15f209e3ff3b28a6a2daca291942d8f2803ea1101c9506d00c47eb0d3f459565df67332c33bc54cf27923d53aa1fecc720d599cc7132d9ad461f8c469e213120d4fa0197d0c0116d154f3722b81c22649d501e851012ad9bb054414bd6b7275b92a820667d76c208f42845a5eeda4dd72b6a16c4b3528348125107d695793104fb6caaf1bb7457e1fa4d99af67e9c5472b9e12146e31bb756281ad729b5ab7cbdacde2a36dfc8c27866dfa46ec7cd77051ed9ae3bef3244fd7b9224d6040ea33019aa8387e7b502acd4ef44f6a2c96272e8a5c4de30a191dc5244b5958fb3b009bd84c28c8668d9c64f2ad6c456d72072ae0566d1579c9da2672519503262620dc1511f2928ed1c42f4d726be7f38147242afe955787856664340e391f3a41ad506210dad3158ea24143116cabc127472db596fddd6ca070f463547985f1834b330eac30761a138fb38f462384e4e9b72a766cae5261d0c907082c7d718157d96f03da1cf6a0d2594f1cb25c40b1abc720661b9603024da35189ee09f9b5d875b42c16fa98abe14c29631764f7ef19a72363c6fb5c66d7e59edffdc0635785d9ee74e6f2692236e16fa98c34234a83d726d1be47490284c65deee55e3c0c38c7d54933c910841a0f4e2c98c43acdd31473807c795b3c9d770771bb3be9249ed54cebbc3ec0b4c42467166d10b4a2dc972a3eeb58c1ac42e99e9c84408ab02136e0b4489d2c1bb1975da3018319dbc114186e3a4d00cf6aa88ec6f7625212b9ba733b38d3084fbb5d24a3ae4774ebd27729c957d04999da162dafbaf5fd9630bf81018b72509e319617a313bd33ee760722e7cfe649bbabe5732e616a2d671a458140d1ba53ebef3ff695ab15f4ef1152e0e8538fc5f269e74f7c16a8c8d6fc06bdb770ba623bc7a9db38ddffcec03207227e12789053d664490f61de74d27973a81df154ab2786aaf60ca1df902a8ab26cb2485395559dc9194875998cb93fb5e1ca8227f3fd9d286078c7ce6abb34c5a93382ac29f4871d6dee45bd1ab25bd8a2d5b61d4a9798775d8cd7cb0a02e457213ff0a2473dcad620e351988ac235daceaf65f41cbbbee1e0f4044e8637a497218666523de2660b7579c6c3c80e8422ff28ba61cb6039b3207c735fa6196d64654feb183851d2e7be896ffc3da4b9f8771a938b1fbb7dab34c827e6642f15e72d930053dd90a6feaa9a6cbda2be0c0e44e3c1c5d7230d48349c85963c860d67255944d3cecae479ddba19a15ec164628f118c457806900084f6bea3f4c1e087025ec6e34295441242d2dfec15bfd7e2ca0ce10d7d689ea7267ecfca60dc17f72aa0e1d8abeb0ee32a29d8bf74bb550ba77162affee33e7e554215872d98bf225fa4d850786d7d07418d141fc5e2bd8eb080e5e6a38a79e79efb192f10e9b573e19e8ba700416e793c30e0fd133e34335a4dca7b3b8dc1a40ee2be0f35827945f5bfd7a964d1731859d4def77378bbbf8720bdf024b955fa1fca039de1fc8d872ffda5ca23efbfe3958af4f6eb34b7c0db778fc3069332a4989456a62dfba177067bfc7608824b14423333d44fa994cd9ba0c05f69da6f0caba64454c694887687a91c0b495ae1ee06d89ddf510c36cf0d09516d5c548fc269fab60b169e22c445a354775b49ee565689ef19a5325976e42a94326272f92602304d85133b2af726742ebf3d85ffb366476f876d61d6b4ff267eb1c7df8d5b6e028aaa7779a8951cfa051902b3941505500de2dc85d1ef0114601e5092f27d5aa8fec9bf81e4472665715a4eda5c623d41898f7785e7d6a28a5934b163d9fe7d0be7d14a09c8472808f942366b1b2161da8c25965dc4f732da2a37c847b6d6c9a99dca9f2d37b725eceaacb60b1a535770257a32d73706a9b21364ac594534d5ae998493ac47372429337d7fb54c5cd081dc76241b3bc37970f02a3372ea7cb821ac42d4c3fbc17e120d4d7cb9136b2761cf53c631b56f39d1263f6a3607a6d4cd2942433cbc36b80ad69cfa9de5792c973a008df8688c8116a3aa969c77fb04c7a03c7b90ad05dd3d962382060e390f3cca0e21ec4d4788ca3e80f7489c0cdbc55715c47b0d665efb0bb1d4b683a969aebb7b1e38ce4b9340a053d2b4b5b4c3ac6d3236e4e5d691965d16036c0b9b42c000b8fb47cf3dc6df7a75afb4e57f4fd9567a91c82f7721326568f9054a05bd1d0ad88fb9e78ee4cab008a8574cb7e584218e3009d0d729cff87fbea6a3f5303345890af5dc5504b39895b3db8ca15c9116332a625107224f200813db9062427166fc339e009dbddd0d789fe3c344e370bce4f1d7f82728e7170f9ec47aa264e6ed0233eed4d4249c93f5040c19d7d1592dc7db2715f727fc10716781a5bbc611701a3808c24aa9d0f1c9f8882c20bee539a3d2d888c7246eb0bc23525a488b134cca59f8f7146391bd1386451924feb6cdbc8dda3226d5c78f973f2c824fa7cb182db5d453b57843e6328872c55caef45c13d38099672c922529d26cea937387e4b597060fa131ceb6931505f9fb6b0940d6e21c383727a788ae4a1a77f95ea5a263fef407c58729ede319ead5e0e475903aa6c45f07203d1c576f4caa085ca84c8116eaf9443ebcec41a868ae47a0e68baf219fdf102574fad3dab065be33d50a60d0e7be9c9dcf2b04498d30cba114f68aaed452c7234d2294437bc7cafa2f02485c4d93fc92f8e7a36741570d74ad36f409ba9fe722162617203266e781cc4248284d469061e64d51ecd3d2fd68db3d849c451c372e6b0f924981d07e409e87c91b573022eb1439fb8838917ddf654df455b140b72db5af467dc8ac9ab85634650760d986d1e610b36622f30d528b93109730e9e1b9afa2624f6b5c76a622c69cf535bb210e3968e47eae9104a8fb352f493e675042ae8227b5b654d725dc39255a4f10a8b54fb30454130606a8c6835480e6e1072370beec94a1d16652ae8fba51303e6b41d537376e6bd154251b90fbe433bc202672dd2f4d3dd2dc2c757edaee028ad4f5dd42785c5b5b69ae1c19fcc878312155e903d567aec340aeb3c87d8875fa41879fd4c3f0ec33c7df5ca1711d2be633960f4462ab9372ee383aa4db95f2dde9201d3b9ef961ad6673df96d1967a6030febd10ac9f4c1df4c2c83f755bcdbc37071f7a33a475ba57752b0468b8b21f072455585538de2eeaa931cee5709bdb51976d15cdf4edeced2716405cf07edea67103ba89c4fac937da7de6be1a287cf73af973724bc0d9e5947fa00f335c34c028e9a816210138e4cda643c8edbd56e1b42db4cfc81866e0e63914a3ed7ac991d783a781a5b0dff78e95bfe8fb83c1e88ae50ba6c988ddac893e1646f98c4c572c74842cc52e36aea8e5c90c908e940be1fba102ebada971389eef161096cb672d748723debfe596d331d86eba6c2659e14d625d89ab05a4713c54a261bb330721051b4a9ceaced2a89c6b08b1ab07008a8be24aaf8b8dea7e4154cc033b72a31931381df390a12637e6a78da03682ff12365221d2f051297d2d44ca0c7695372e664ddea73370370a8b2e5fce6f77278d700c16ffe4910a7334260be16750648e18513934d65c3a5d1101b6fd19aafa029d536911fb8faa36f369bc79d7c53721a06a636f65e029ae8360f8bdbfec6fc18823fa34281f0d2e616916c162436721cc46444861c7ab2ed5ad069187b04c515347296461c7abcc41cec42b6af137229ae2a55c65a68cfe8e50d950d58400bd8bcb79b936a9f8cae4651df012b72724a7a163d9428bf761fe4599713691537bf720377e9f1fd7936a6a25443a8f30f0b2c75f513546e21ce268e7e00f1a95735763ef9968b7480de892edf9050d12e7508763f7edb90e061fe85c4170b098c11b883ef0b9baac280128bc63e71cb14b741a76b23b725463b7c08bf9c41827ee3c1e89b0588c305bbb3f4b06d424d729f20ae610574ba06812c005d72c4ba9308613a1966cf8359b4563dd819211a0ac9a6c93f7905f1eceabddd257642cad659a9217b68a2a9dd7e2464660d60557202ebc8bf07519e50a516874fa39f0db2a19f990903706c060a8ad082d395c172932202c41aeb5e529221127ed988528cbba4c57fd820f4f6e61db92cf5327572381101788e513e1f12de9b76ec751ad982589306aadba4c4ce87a4d89ebfb372721c1819e0d26d174922edbf55f5ef03ddf78c1ac663dcbfac995ff576b16972593617e8b263d60ecd49c16fc1c179177234e115a53987156031f2d085165b6706bab3efac3d1efe47dfc37780e37fefad5028d00d9af354ed6d841b6c175e72898c83a951cfdf9f98d408956e98b6d0cb8d5adbd6d6db46cf64ca6c058b2372f9bbf2a42a620e5038e282a69698cda08e7cd424a4bead3e56da5022c18d5b72a1540d5fc2d92837f57ef80fbaa89e4821222611d0f326779f9eace91c8c26543481ef18c8efffe0ce3403dbe93887ee675fad925467a288009800ce8760047264bab2f5ed153a244ff56fdee626d3e3280e730aced8b2a7480eb2caca07d2728da8a46ee01c8da66758956ce98097da1b7c6be30f2a8b05e572ec3a4e2437729bf31e416b479839327d2243b49b13f6db2a4a72af41a0e446488383f0bfeb727101d37ba3c5da3ae313fbb7d2cc85cfe443e4db0a30e22f32d1e040111b3d720af546c7b29bff9ce45f9ec7b9bbca1ee7951653d0a55cf9e44f38f5efe1b32055ad15f94cf94950339893661406b32e19d8b0fcf975b1ddefe4de86b5be0128e3a2b82eca7bff2b078223c61784253ae3a9e67adfd5fee249a5547a3f10d37286b3e6c0b63863cc6ece30f2899222006b1994afd4bfafe114fc8d071b700b1c5e4874e547ef3e09e26921080b88ebee6b3b172a5761a030fb49b33993000072af502d56a0368fbd5dc4aa59680144d09f6463ef261ff9b9469648a233f03c47f00aca739c1716acbcfaecdf9600ea5d7ba02e521c81a614d06f711c7923a1722f5e7e092a8588810946c1b8b16a51c47f7b9d42be7a001175329cffadc5f42b6da6fc81f71c763d2f5192e6074fad86defd77aa23f9f0a6cdf3d9e31e393e33a70fb73bba3417fd5acb60293c2d4d4ef65d627c7643b9b256f82fbaebb7675a52c98b587604f3ba4f8c72f0fb4569e29ac3406484e25583ed34a88a53c95b7298e3ed29f0a3be282c1fb7b07a525f84e0f7fa27eed128e418c180acd4678e20949f91c906ea5d603398ed10436edc88c65ad066c72936d3a6887dd504265268203bf30a26a4d99b4d5202661aca3c7acdd21fb3c3dc8ec4c17f7cfff005170486439ea26a5fbb1c3ba9dc15233921156febe8b14d46e54d3285a3cd397d26373c555d0e12f0ad45aba1c0edfcc885a46e78628560e65384fc4d42b912d2375a0dc0aa06ec0493353b75f198c404601cc176ab1a84daeb5a20a3d4a0681cfe1684e82b52a9d36a224505a821491c5838eac4ef6cc67b36f2f67dd7ffe3b1d113131f7682fc1d861c61297c861e8c8c43e0d845799ac4588d8507d458b1523d72523cd75cf690d2100db21dd2df130b6494d953d689440cec9874f0950084db316ecfbdec6adff90bba3b8b14e4b8dd04e092111c51e29415d4279c8c5f79ff15cee948ca5ab24fe8cc01baa4ae26359250bdfb3c7b392ab1174e7b8aafe374552bc3201794dbacc56bea74b06aba3a9c289f89981f1d136db5624a234572d372fcea9c0ddd68feeacfbd57a5dff9cc7fd12fe81e7935622795adb57f6801f849a88af23248def990f4ea2d8ace2a2d72bbc6582b27e67e7019be8ac7346c0d72b5739debbb00d34c0f1c8b8262e523faaa45ecb2d71057294ad2b144b954e872de6975d9c8c58c7d50345cb76f7e2b7083cbb63e0191e6e2da1ac26a22fc8f721e321f491253c6fb04783837ca94fc4e30b5674d4c5894e588b8be113778ff0eceb11107db20280bd43115bf49550920846641babbdd82c683a8dcba43b2153af80dcabe64ade22d1054cb9b09f05f33abc73780adb13e6b13943cefffc66472fd0cf3bfe8c19d8d83482ed8c770d2e15959bed1575f2e6f1320b1e589b12748b9991fc9cbf37cfe0209018aa42896f7f2f4f78188018bd7ccdaf76aa07d3f72d3324d7d70020d7fb6844f13067cfb3b0f9bf65dbf17037c3db56d50f5f45f72dcf1267f9982cc8aa163c33d5e65db548fa81a50962f8772dbb01e17700a0e3fa5ddd781c9888e3b26801523c5a2689a343d520e2ab6a06b9ec8d0a1e0b2af2369ab8e54d1fa4dc492ad0e247104bb0322384db2b1383c4b0f8f13de22669172fca65e0f689b0ee91d50358c06880da29522090d3e662f9e57794a6c00c3d472e12228f74b379cd2f08e20fc320ae5bd794b6c1d5f109cfc8de13e8ded9f15729ad4eaef7e8e685c1f5f4b90c85f6489ce6a9349b3f1308591f7aadd1711e95b2f907c7fa004a7b84936475541c17cde611346295baf6029f21ae71d797b922641e59d2bae5e3a5b44aaf36ebcaf3fccdd31217dcb8392b967ca11f8fbbb7f3e04e96201030c17b889f2e8b02e069920c3bd4cec12056bc37af4f8ecb1f9fe2d5e83b6230de46292762e0b30e40273e2c394e7b05448a2fadc8a56c0bd680e1d9790a4111564f8b0a5b4d52795cb4b863354a31f880d2668be432ae76dcd451f22470319099870c9da290414cc10fbdae4446426f508c099377fba3c27d3001d9b62cdb4b4cc3a80c9dd8dad416faf01b1e7c677edc17425b47c54776c04e34586faaa20021f4b1dad28a5f89df9c58a39a164691896490c360b80b6d4ead5727172abda3313412b5f1f2f132d590b48fe79c3c4f1f7104bfef623a793e9ad72208da4fbcbfee07649eb5093b8a05cd7d7be1d2923fc51bb6676486c7541f272368e70bd4a3065bb0eb1fb6363101e58c6bb6b6ea7a7718ec196a6698aae62537ab563a339983d4354a58315738817d57b2e38f271b60a31810bd79914f73e439546cd5c21af00a15e7a7fc3af5c17e3c034f08a1190b496e2534cdadc3dba72408e644b7d78438c752b04e831cb0c4883619fb9adc2d24e9cf3f1f34e9ead0cf22fc18ab9536566773ff921c745c3732ece6fa57627d911410660575c3c0072ee484f966447271a8a78a9b2db163aedf77a9223738333085f3b513c72395c72217711947a1774cd987ff0495b779686727b6390e6888824471d6e0b67ec7d725078c615d5ff1faefaebe56dde26ba797b9df5a8bab5a04ce0ede5ef2f5d433c374e6c680b4afb7e7483b3f77649ce7b7b37a8dbcae4da944c65a72746907b7290c1754ee1ac03b89e2562df426c9cf41c5f7b28d7c64eb960e1148af58ef472dd8e191e703f3f0abab30dc760f533ced32304539570418badb95653cfc94c67ce33552b461a9ff821b3a36ca2b7eb6cbc93b46bb275ac0aab32cba058944621774e807196c64a2b9fc68233b60b7108534be5b9f00cd2c0538787e66c6eae0a25eb0ed1008f8c8221be91cb836d4c713d9be6f1770fd2b43d4d15c11fc04f4ef744c62106cfe347acdaeb2e303944537b010b9bbb12fbf7c9cea8a955be3f67136be7a84137191ce0b789ce9a4808e891f69033fe9208a72818a9c04f712a72d8b325c8da698e69b18b4742488fc2890b395a4dc920e3a449486cac8379a572f10581517ae9ad518f4ab65af153ce3408daab46318b8d3bce6ea9c62a2e4472884ee7a22b3d24054243dd7a62fe9d36784e308a9d3fffcb5ffac981bea0a459856ca823c6d8b92f3562e72c1a21c6f9c652dcd29ff8fa53bf77b9b7a3d4971dfd3a4165d1a372e3d2a9379e2ba4fb806f853edef422f5bb6156332b43440d72bd4bc50e1045d3dd09ca31fe18b64fec0b3f7017b73d1b221046359181d4cb08211c374281be73fb9c7fd3f9dfda70a6e628132306cb9891523c72f0c0270472159c8537f38fc6f4ddacc7d97f2313be0a27b74c5c9f5335e3be4f2325cce81df1fc6f49726fd602f26aa2c457620e24701d9362d69019062477c12a6bc4e572dec04ee907cfe8cf4ad102e99b74ebec327f98c813479a2bc88bc5faed8bb26c38b75994b9737efe9e114e32912a65a57243869299a01843dabd161c15b7fd311933c3eaa8b44225d86bae7aedff217031aab2e1faa23e0460cae5246da70117585f8b50801b55de861180ebe60e4e9bab8717fc0f539b4575239267e2f478726299bdefeff14103939953b6a9a88db7fefcf3f7dc1c1fbfed83ceaf4383f0330fc548960b0c0ec5dc3b5deeb73f7b3dde4950127a30bf0df82ab75e6e910539029747a4823c02ba772176a0629264b03bcad3ab2f5876624a3bde24a7270e0a7d969a68c05efe63c9aaf69397379637d062a3dd9b202cb06faa8d175576e97259b331b5b12d2aa25eda20148ac4662a97ebfc0800e1d6b1254a06c93e072043421c7cc2e6b6acfe0747b9d39307c798a4de4f5d2203738b1d0329a5e3ade8723447934311dfdb1fd4c0bf9067708e92a8dd372db1a6feb400395e5a0e86927288032378edbbeaab5b8ba68387d48c3a7e43cb4820b549d13cc1abc7851ec4729e06d70ddb495afabb6439146a329ce683bd7f223dfd155a40d46af891467d72628f7016a1441fd9f281bc494f5bdbacd2ecf80ad06da1639112e546e3c5b472e1e84eaeb0dea7a48a00ab5efe935d9bb51f6d8cf4f0c00094da4e609d5e3072b79a59c56635c630b4f1012058e7337249fc5027247e04164fce83562676af6befe1551bcef96b98807744d330965a07f7a822a7e2fef11b6f60895a89fd7c245630db0d386e680d7c8d2bc3f8007527823c01474dcc93f9592dd55a4b01ab6d6eb8226c2ce1a04f102c3b04b5fefd5eddcd664e947d4c67a567904556b0ae72530ab186b6a7b28e9f1a5a1a89330159bd2d55924ff5b663c2a9a8ca87f4ec32401a4f9be82aa5efff581af3b9010c1c3721de8e47cad91b0647f9edadde0b72bc800615cdee9f11886490026af9f834f4432338d4ee398f9bb9205eaf399072b742c3ff21b4f115b5d89e0960a226c7f05b703c2e1a1c11ab4f4ad57011da1bf9781447b6796f507db9a99c3a2e6e1e49424c9c3f6865ec1cd9d5fb2b578c333834d48ec935aa186b4258fe7a2486a804b9ad4475c785f6f9da17a1695f7f5434c6fcd3562824612c04c57b9de543f81ed2cc0118c296d35367c473e9b17f08d209a5d9b6ee6cf5343fd12a74b3d1f016e5ad08681522b90b7cf994d6077e7271f62ed7f29e120e8cc8d952255e3bfac1b774dbee58f0ac3809d2247d59ef4775672dbdd029606ce6fec5a5bd44c464c78c3135e68d3f8ec5474b2632bc0b72288eebe1073be211c6a2e82fddaddd727702efd4ac004f8f41eb608d455c2d58a811ce3b632783b72f791dcd88709a3dd3d1ba4afd692c3c0373a9b72cae9b727a67214008bb2751399c811ac6194a252bd12327cb2d515d69cae2f2b47df372727ad515e6419d454b6d8a2d063576a46f32b9e17329abb4e413f4ad20fc0472d5b8954e273e823446067dc492045eec562d253c33f80e61e9d789c555be0852cf55f50e7c9ccef1b5daf903f1fad63a197308ed92b605e3128de48d1b0ca8724255856780b759ae0d92c3192aaaf9019a66e1ec4c9a9067dca12d076f2b0e720e6aefe9caa2c362d3d0dd7a2d5564515bbed6bef7416ba32cf5bcdde8bc6872eb86477ccbc2f52e2e452d4564a8b575f8d0e31af827ffa0a41291838c0c9764c56fe187db1c94214f9c5c100fa93c6ec4b1477c8cc923df2f15674ff280cc72d3f69f341c7eaeb34a45a7b77b596372e05fb43d4810dc96e252b07f5b61202de69f9352afafd360dfe8c297b60ea4cbe8d5a88daa4a89346c07c06cd046356e02a420d72f11b5b9ccedfa6095dec80ad8b72b91f9601690749a00d3c29b8c6b6dc5248b7e0d903b2d4ba3ab23f7c78366d4187ee35bfbee63ff667c9e44c5515d16a1121940fcbaccf78ae95262193268fc340d5df885cef0e4df90bfc74472842ab3ed84ac687d4877f0cca0adb5c9d605cb4364d188eb44bf430c66cc6d69ff62300a6620430d18d98ab7f6f91b98791d82bbca04f1faf6dd42a302b6d072197292b954f8742b7910926ebd34fa618e971dc7819fa0900701eaf6fa1f8b722ef5a894bd0e82a1990604de2c88eae3ed1409d5638541e996512645c0284572e1b25b9d06619ab8f148667bef9e39a9fdeabe4932789b2ffe43da8b7ddfc772c0edffd56bfc856d5a7b365b9d4d57ac34a9b65190cf38f3c4d8004aa82870724eeb38d119b9cd4a04a70a3c1b143225f556596a85dd07ff23f351d1c402433b7ac09c405acdc577d9dbe0789afa23eb25432280bd200cc00e80196c5915046907e4298d454859f30e3c7d3056c27787da873aaf2875e7c2ed20316d41756372bdc46e7470ddd21d60a6701509c2672ec9d4131d202bd4b35ed5252fdf33984e1dee250bd2d92313a8fe2432af264e77b78333463ce4c9318e7e67247e07ad72ac9c6f34129b5b14d1de94a2513b4d1e6a26ee629b14800527032168be85312c65d646b82b9103f2b5b377807f649cb6cc1d220247835dc78c3614756008367206214285d9e07871572ff818f821e5442a8f11595a6cb83aa99f72fa7c908d08b1e6e65e4f3aa45ac3e9a54dedc1c58784973eac8f77c28534ed50473eb747722fcff02e00ea72a42cb8112e9a2b5a0e405d69141f144fb419a4536b05ae2072977abf10c47c7a977b7fbf2a9f3bc1dd9393029fbd840558942b678392436e2399f09593fbfba8adfa6106e1f0d35248dc533bdd1b20d9421aa4978fe5674e72a4848db1d5fb0f03e5c511b3afefb866026dc44dd9737e6caa472964a085627281e88e38abca0bbd3c7a4a257fd2c6e6a26c057bdfe1e306cf1c76eecedd1e728c26ddad8a2c94c30546aad8c82ed2cfe0931277291b2b350859d127a96a2455fc3a027b2357a885eef1570fc825f6173612a974b627452de24212f66d424c720240db5bc6094ebde45e7f082fec23bb1e58091fcbff4acee29b966f2d873d444d00fbc1df2af11932eb80a9f5c88f24c53421c73ede71ed8eb87f44103ac172c244e30da6b28562bb399eda1a0709ab79115b322b0e97a551f19e42be11136c6e17a3743c9e4e3f2db96e48b158f664c49d87567c7a0087fc76dcf62b9624722e99e5d386d0c676f5ccc45ff9ffc3e43245f5a5def18d956f40fa7f5c6c9c273572d2fda219d1552722aa1b52defe54c40012aaa16c6b5ec54b24a2a75f1e5f12cfbd413469312e61939bee27538410a8745a199c101485c1ce4875e4665072a3966a82b000035ac1faf20a24fdf80bcdfaacb6849bbe38b7d8b4f894cc57126a2b739ab340a80939d0a298ff5803e6fe68a4b999704062d903568019796007d78fac61c8f01bda3ec24e01d97090acfce35a52c3a50dfb31b3e722e971f972531bb7d8ab92ebbec586797ae2ef873255587e3c79a88080a3aa17368b78a301aab8a34d51378c705266e53bc65b951b84732d74f19bb5876d808319ad6224729000711504b6c1176884fdea455f2e148249ee96ed45912c79ef4199a0ce9172c58edb982394189c36b5d20ebdbbb1df376abd0ae6e2fd75ffee0ce58d5f472932dfa801fed262e33b37903a5f79dc3214cfb166a3d64e2648646b4930dbaf72ef2013a8a8c02eafd68d0caf39d8b79f75e3cd2dde5c21e05dace11ebb8fc472eacf737702065e74390e8dd123826e740a5207915d0d368e085aca07c08f4b724aa81bde27879f22fd9d7209f85e3ef0a8accf1922d018f571427f00367ef442d26d09ad6730230bbd2558ec7abfd0a93a50588a08b3a176227abd2394413cba0200000b5000b73a53f0916c93c68f4b9b6ba8af5a10978634ae4f2237e1f3fbe324fa0b8f53d73d32342544b0d8f3f52ba98d9cbfb703ede7f21f7c6a09b2abfba5c87217884fb19f878e3386a7591d9f304ca479c577867daaa1fe5ee6d176954d08725d7c9f5cbd0348bc5a6c23e018a9c73268add98677d3cf73f02c5891b73012725d7d816dfac72b84e7dac1f8513aa8fd45edc5bd841bc4dea4f89f1d01f2cb4335d3b3673a033e7ba8c71f77c5bfb818152b69579a4748da54e8a66e182eb0116fa8a7b8e7e20d2fe2c797ed7feadfce826d7e93daa19434069ae2605e24f83d1fe1d43c71325f0352aafcf3cc37aefba86c50de27986fbbf7accb4933f12c7292c9bb0c54610aaf5b2a16ff3cc963093bfc2123693d7103ab4cab1aed965372bf1fb629b0238fd5b91049dd917b83da17b44b604a909223685138a16067187208f50019a116f1424104d6a49a0ff2fb7e27ffb92975a8914dc95131935b8669cd566a1632fabd11cf2543c3833283c305e753761470ce98032bff6e8d3cde72c7398aa21b9aa4cc25ccdd0a871197f1cb5716ebfe43bb067bceead617743f28a003d2ea82dbb8fa9c4ca834ace09ee16f5bcf5c419a9680480e238f06d6c672ce3658f50b535d3d299fc328193b90b8c2f21d4751d0458e45ba5a902f7c7c7291749af72f94110108e76694090ed06a81e2d9b366c64009816b852ba6415b72c5b638bc98881b442ef1a7192927173287ba47e348dff546df761f7644ec0827cc637b306f69fe210721501a402cff5f829b4dfdc213aac17dd5b68ddb27da5f007255da690c883f9fe7796ea4f5b788004c290457f8dbb82ac5a780ab18a872e34a3c755b123a7c006e7c714a8e8d3c5da30353578b091eaaf9b19f3150d872081b8d328ef627ae156c449fe615cacb62eb53f384364788df1e6bf9fc02de72e085c6cc63f8b432c11de8de257d59515bcee101c63cf8565aab5be0d0c9b972b583478de5e4d7a2e94040d8889817cd84fc409bbaa144af60e7b5e5ef197972dd0de613e343d4197e98b86f72311dee9bd396bbf640beaed5cef8efb97a0072c394a9262bb466e68b2c57ecb1d768462bcdc722ce903e9ee55ef32e4b77f0725eecf966045ca1023c50af1148e02dd586ce8773a08c1b67ce86d56006ab8972ad05b51ac32a473585af8bdfb411cb4bc5762794bfa0ef6510661cb5c19b7d729ac96093537821c2510f33bbe4ec58cbb0747085643fd43d9dc11dd25aeb7c72bd8a8dceb0a5e0baf97a20935c9a1f593eee451f8501e6efe661bd29d7b2c772931801a5c6a44a8d4b884da82aeb5927248528fc1919bc9d1a003a7cb9df79729a57daaf1d5620da503fb3c6f9f745d211e309b6acbe3d75abde60581b59f67214e344ceb6a0044c146690d660a56916472e3850fdd1ef09540fdea1fbea8f724dd4e0c1db85fbca5554621d280065defaf0e2cb005fcb3d4075d844368bf872f0a778b95827973c3902f7c80005914edf1c5c2b8f4b0ed664259a611c5bb272c552602405557e3a67a550134bcc427c1b888dd85d595d035d83b6b7c047b31a1d1c4ac7c425f86515eaf7678c2b0e9de58e6a2a97de800047c6c04f66bcc611382cd8861f408194a13c5ddc0eed286750cf66e3844a555457018cfb1c96714e51b3b3abd0567d5fe42d7bb0e817fd654bb90b8cc56940f3d8d4ae6e0d84b47285c4b420e572e3642cd41ff9e9f78c572592a977f465c5b9fe7883b42e4da507873912fff78cc49a4e5373e3e570f26f0c1b95ecefdf3c786a99eb11dbac365b36ba93498fdf12ee681a12f95359ffebda0732126a46481330fda3fc2bbdfa72c26d01d27f05b4e93b15b9a4bbdc8f3b7247e6944dea7dac4ac0e23b68cf9872debfe4cc72d36a9e8512e02245cff442782e6c24798ec259bd6d5b6d20879b363b2188aee87df47a79889be3370a7c80187b704dc44c8751cbf32d8af69fe80a36d13fc9afb6339ac81d5a7a89c59d77d2b43a039ee45cd969e874424a08097230eb076f9192a8bce2d9358df69abbf7cf8111b6656af469d25ba0d6f40f857241a847004f170865821067dcd4140e0b9b831a1cb8a95058ad2e99390ef03772b5144535ee3338e198632c0768debf829aa96ca57ef1f39f7a0f22c3589639727811ffb060178ef55a4c820f5a15fbbd56f0448f36b884a267c53e40806981722ac083b8b35e895fb4d33cebab531777b8d645f54e040df3ec9a7e1eb5902872b0a52ac9022e01383b0b05169b0de27e9eb0adb60c7290893452fba24753935b1a3229efeb7e1577ab30763a3f6e9dc2b2fe4cd9150287f6af703f343e38bd0d4b89bcc3ac487547042f5121afed8587e061f0cf626536a35438c1cd96e59a51a408db26b11ec1ec5c21ef661ec7cdbc41b265c413b1fd752b6328c8097214724ca5afe5b5a3fb4a6c2b01da503879f4c942c867c4b86cf6323795c4012d434743d34ecf484c8edddaa52b16e701d3f248479e208bd48c53a131b2dd10b83972900a97e49dae265eb3e5c121549695c763d9810a2059ef154ea2c17b7c0d1a14e48aa89bf5b514151f7741a520595178293362f6a692fb4676a1daa56686a0403cc205048f1e5db81b81d2261a0247c2475324629a6fa726e278c4ab59b62d7205dcd4a22b51674b9ff1655aac1ef086f28165a30587e884976246498181071868416f3033e8369a44114ab6371ac5229a7bc255e1f672903d74cf10c6bf6f7286940674064421d5c288e3ad2255e6305cbd186a62509f8919b91c00d7aed472410e4b9350bde930b671ad2464459c6f0bc22514db6e380cafffa89b8911a326e1de6de423b11091db6bcc763c1ff485ac787e87c64f3ffaebadb1dc17ff2572b06fc550405d4d545fe5658f9383a2ad2e2b482b933c91ecf39e903e7509e5033ddc49479e13cb9cd6bcba446b089a79f611c45cdffe9cd14b063a9f57a84c7212a79a9c111c133bce230a53af5226c20823402606f14906236911cbff8a9b72e43047f22a63765b8e5f71e8bbc2eb46efdd90c837da102da4652bc04580cc72aed29d7431be9aa302ccd7a21e1b3674a421c80ffd3e1a11b3b29aa70b311820a8a794bd9eafb962039f2035a6775fd0895a77d79da1f68e93a35c94dd30b52f97693a05ba0bc315eaac4a7ec043884f7324f8a58f959f9d2aaad0cb623cb8729d5b80560b44fb1e602218209243ad811d5be3a0a42caf5553902889ed175d72771b22867ecbf7a9351a023e43607fdc25e664de0d565e20425d51a57e1dd826da98410052da3d4fc6542ac506697a511a82e445ad0192f5ee281a390ae8114a3dd13f59411d45882cfe97030d9d0b67be47795a6c336d95c6e78311d9fe4972d102fedb8dd0df1ae24430443ec44e568984d2746fd804df68f8d016b39b58596810b64618f2badf59b793e35cab6afce785492f6e4027d2510006b6e3079572fc81921a46ecc8bc920a168c1b73d929d67ecfd4436d54fbac7a82727d06303064aa57634867befd690a90c003d4b14d86381a11d79a5f84953eaecc43e1ac7293642aaf4b0eeecad658ea46e663c5706fc32b105f5a84e7936efc5d205297102ed122c07a94253865a03dd6ab01aa60d5295c1df11c182a17118df6d2990772d38e51a1ef70a6e7be49238da68d898590db20d10132744aba283e41dcc3b072a43075faad5ed24b36fb3c275fa40629913289ca4b7cf069f932ea1abf61be720840f18ff0720036dfa85debfc244bde3b8f4cbd412c17c631130c650ff1ad720e35199658334965b33ffaf16d54fa74b4ca53083950b4f37f44291dbb2b416f8068f6718c3ae2f89f97c920021d83a8bcbfd64f4a438b3365fc303db8d949385d47d367f814d02f4d032ea0b71f5ab747be6746ed0a1dbe3947641f0095ab22ca1598b089de3f4e7a07550177fb204e059d226326a989e246713f80d5d7dc72eb9671d68beb321c5d8dea21583454814000a144abe52aee769fb3589703bb72ace880ebbd2539df4df453d92f9e367007dfd8d6207614df0c1c71183452aa7211e2d6b3b8d3482cf50efe00975d7717c2b2e07730745b8fa934ff6d27366f5a6dea36c13c3f8bdf190705c09c04742736ae8dbb0ed4e46d4fab11ab7c61493e511892e5a323d0a26d5d5a870866aaa06bdea3c882c0a9558ed16db63f021772d1cbc040084fff982ab53f5f77045185381d228f8f52daabce7e6cf333a6ed083f60cb52d70285fba5e9e39ee0d4b0e9e6c16ec4c5187b55db4a2d1924f86d724b983d56d6093d7e57c3632e0f5f2974af874189fe7196446418a7da730e10415fe37e04cf8546030bd79fb62ccf9a4de97d06e0656c15801513085ba0aec25a54ac4a5564ae5d64f5579c8645b004f8d6d0d1bc27fd32301b04046185a2ce108a8953fdb3b4d44ad87dc5d3d9e20e03ebf572a64b936eae59e0336071e2e859075cc070063d715ec39ad874381b723ffe5145305915c9fcc4a86064539f5f7217e9658308a9b8583fb15aaa45e590d3bd5a0749a70fb70cd3a2b69a13f2f3377d730b3972e33e19eb5e6a34dd725d8a97551c7cf328e59eebbefc5d6b6f304a77882b1fb906190d4a3b8bfe88399e4b66ea54c1557b45105e409ecb97a3ac72340be82a9f1cb05092ff549f22168f44de1d668b5cace176ff6e17ccb8c3f626f39877f9e698bda1ff531dd207f954cb116102aa5568a9eb1e7bef2c2c979572674c7dd85aa8cf34f9b5e05d5259894e9483d33963d40f964a2461c41f728772d734512ff903563b982c44bc7aa5c877f271257e39be829044dac3201116b272c8d4f3eff3e00ea92036a0b59185e2deda18f9a151555288f72b95281c3fd0550824055a549ae72a03248eddbbad3438cb508ffd7e994bb54ddbe27f31cdfc3f7dd1c1b70efa1b1d7a05eed5b004a83fb62acc36eb6724fe16f81571fa59de012ca3a244a0ac2827e6c91aff3b1a605f9001628b7f2b29b9e5d89fee23870a19eb126c8a7edcacb7d4be34568aec4e6e256ca1c229325a6c2648b9400dc57f3e629d49520266e786e83106da50d816710ae0c484f7efcea97a37cb745f051472c3c8c609fdfee5725a12dafd74b91d3d5c84a90ac0a5731fb1e836acbbd33072d274aaace3f8bf9b983e9c40a88ed60c31d93ef63580f55d584a0d60eea4ea0e86d396aea02fd68a0c3b89d0fcafd33356ac2b6fac7fd1434630ccabf6f2fc313160ca838d513e89013353a0a0e7d871ba7759faccb5e4b1a71e78c10c216c72da66a5057123ca8a67dddf87a80b1a88a88e9039db9a386bb52a5280b45afc72ff8bcde4183243c707d2df831799e7cd8076e65993035bf22912ec03cafca03ac74e8c0138237a73d299d1dba3b30e6574ff1686ddc6896a5edf8d0bc71bc9727a340d23b0b141abbddc09f25e3a8e466944b9bc47b8a55194a2c4f42a19357294b3432c674ea31d628dc0b94bd086418aa2a214ddf02bbbfc5970856dc03e4e4ee34b40e95bd6ccaf88fafe56335b07fcc8133ad3d3539d8b7b6979ba611972aa0d2ebb8b5e0717b05dd2d0229dfc1a88b589918639c5a844eaf96a3239ba55e3a369d468b6cf1c935c26301ed7cba08278d56b3601b77e48c5fe72cf2da472c9c1639611dfb6a926e991726915af30944c1a14ebf7a3bad56ce980f910bf72552a4a4d67cc66dcaee7521d190700724c8da11673e76b4c86b530f8912403720b04e4fd59ac79bc354002c65c181fdfb7b5af514ac8eebb3c6e174b65bb0f2315eacd774753fb5f717a3ce5ecc4c6180b28b324b668c9f73a5f70014409663ac910caee205257c7049d976ebfc53c7bbaab8fd8b754c6f4a7307e73ebb7b272d382fea669bec2cd2d81daae0652f9b6098e79d690ca455294372d76e34f641989562ab92c0b52dc137dda7598f1bfcde3f3b5847d1c15afb77b6e7250e62c721048fe3d5c1c78a1f2386a232217a96ac40466afefcdbcfc66dcac083795744249621213c2374f684b7b78b4e6b587be8a4be89c0fb756104bd4b92a569f9365693e0745ea94f0cca30f3298a5937aae18324b09ba7fdf9f2e53b4d1b0b7d172e1381c0e5a03a6ab92fe8e93fdf417f0d1db0c408fff617b7b4fd9340347eb1b31348018e4b65b429de80b3a235b057f23fbc044e450be02695b74ae5ec0d733e78aa9295e8dae16e25b9249037cc8e3d3efbd56d0e69ffdc2c919775407a80bfde0e6a53f6d26571f3066fc2790475b972ece4f97e6b2a7f00fd631c0e5377239df1ae0f15afd5b4de7683b2ed5b0ffdeb26b4d6b5946d187ecba8b4e36d972190b99fd49c398ba514abf9bf18036d40aaafbc59172f850127c2933b351b472dd25c53d9ff1dc70b8f51be5ff15a62d1c6305ce34918104a3f4da2669a6b3723a007c74826a60dbe579b6339af6fde1a9636cf7cdd6fb30f8fffb62e1bdd035eb0457526756d583598621e822f0e2306e246dae6f93e97f9a3f16d68563a611b0f16f23397230392dc535c50dd1cd4eff12f0edd8c7a84abf59306c27f9e372c6932ca6fef4ff96c1c46c050d65927ae4c68f40c0fe6df4453b00ded69c5972f34185c86d4f408a24bf7999a17708c35f1d9fca8def67beca896eb546126d7226ff62a7ca745250021fda0cb623d677fe237e921b1f2002eff22ca28ff74c4b5f718f542c80a71ff610ceb013cb0a12db4600e9ca94349cb04d1840ed037072f02e1fd5ddce3e2587656efad60d77ece219e0d5bd2878e78275cd1e9e968c64f4ddf8072008d04316fcf43b113f1b744a035b5d45601b20871826cfe7e6af7284b17da8a99ba1ec5202775c87199b3c147cee792949e1f20bf7df1c113b3d72afe74d6d4d7962b5f95c6de9665db75adb9abebb276feb6f67554f6d7ee05b72eea8f2f79fbe61941410b02064e173d3ad0782d6e5c0b50dff9427554193855cc52b24b7e09fc19c6136c9ad36c5617aff4452835a37ef05a453a3b7ca722c7266f001b159053006b2c5bfb8e5c5c5c2457a309c58de92e205216053905f3e7261aa103aba6ecaa2e801bebe4cc8f3df6c8dad3065915ae2e0115c8e2764d50be4df9731efa12df90db9366e06e855a124c026214e5d5f566978bab8869bee72baab7e2fe3081b1a80c167ca1d89f604d5a2fcadbba54c304ad4b16abf1dc27292fadad7b852ce7db3e5a29719751991ec8bcb8ea48209193e9a1212e85ab87237632440fe1892050ff5b45080429ca593a3c6b8aab79dcd22c4109165d9a6720345038df142ba8ec1473ea204b5969349e2ec53b0d20a5da7697a352de85372c96e256fab838851e3cef5b0aad789ed5a82f596e697d6cff4a3f25e18cda7720eaa49ad930110d9a038e4e4e8e579ea295c840715d4ace5d013546a95c35272c6e2275e3ccb26ac086560ed4bb59e94d344ec232866e3978810c7a9faf61b7250bd1dc6f059697fdddcf6d092bad8b37a8d8e3c911f6f4e524fcbbeeac0a3582073e1421c93af303fbba697e8b4ad1db380f4d8be630ca4f1a6a65583104310eadab0360a4ca6f750591bb7bf3bec076687d93a3825e621b189e6e8a4cfc357da45b567ac3e2607507618c9eaa28c8c0bc564d653f3247c27fc17c99e223472c245d4622c2f00926cf30257d6b0eb1ff60457c4ba2a5ec3bd3bf06910f60a7230e3349e57aba90e26615810f9faa3e88507197b29c31f7492d428b42d394272f80d3207023fe7e2b5400f2c5d4cd0ac14996511de6f1aa2fcd9635ce9a52572bb11cdb8a98da05e82084d7260a970bc4a1d928bb092cc5963ba8966a396ca72cfaf82b831e2392ac19ce0bd4a4570620966dde1d51b25ecaedd91d474a0cd7022b792c61bb43d452f77f3c54b2ff17918651ba57980924c5414a4b7bd148f2d8d30dfb85e0c2502926adcd43c3ebabfbf9ab2b3f154e5e15457b3e7c7d0e672558a8583a8350652df68e73a6713bb14701bff4e1ab4095925b72d18b51bea722a4c9db6a82bb2d9ebed4023203dbb97137d9b6c9cf1d1a2610a5a508f82a27265c6f5f7110ec49fd9ee651f080ce23fc9ef59dcc5614cf0be0777d73d95cf098d8c96ea3784bf6dcbe210441da391c72540d5739852b01a489a7bc565400c72ae847d820f291c73e4e5c26acf2583c5c786d24e8089d1ecf55c13cd1da4aa48740eff9da89761c11d60aabbf3d81b67ca2faef022dab42f5e3b310c0b3ad93098c6b6b3ec259e64bbd5f5cd5c6e9a70917356151fb169f88f18bbc7b77e272e8a51cfcbd6e40622d37ef8634f7fb679eb399736243b575cc3cd99db342c4a0f1b7b466279eecf163267d1034da01f3975e64ba69945d679b7859f2e7c19db325ed7589ef1ec2c63421af09cf94f08b6cec7343a4b621e413dbd72e44c0b7172f79598527fbf13bad442fde7d4207a4b2606d8fe07ee3c47595cd01edc506372f52860645b234c3440f5dc0316113f71b61a4a311a574ecb944066614af41872349170044927546b0959028a90a23ec143d63f65ece3e34bc2362ed476fc2572a20c3df3be29209f15e10242f414185021c11fb9297229b5aa635749f61bb9724de6c6b8fe5d6fbcc19a870472f861af8a5fad8a28f3a960de58e5d1cc273a138c4e7d763578327e454fc0a055f21a8f18cf62b6418bc8d6004a0b2c4e70d672fe1f03fac7923118e2e6c51e46367ad18948b0594a1464b6c9d7d9253a79727226ad0188f93a3c463ff1a805c2a73013fc7f4a7d817cd215f376d5a44243ae72fb3e64af166c33d6eee97ec2a300e61b90c15e1d65bbc457bc0d37b6ce718972ad62553d0cbf9ffb386904c8f4701c907832cd5e281ced32ed7d241e1bdcb412e73cf50895104e27b127cdef77eaa8283318802821f0a107ef906fe913031a72b48f32681cd2e85b943c319916afb30c7c155b86d7c4f0bfd39e1faaa4a36b6292d6541b3ed6b5f97d39ea0250fa731acbb05475c77a227476f47d85b3bba662d7f12e5a0ab15474c61433dd9f36d9800f308c4e1fd6517472d504ff3a4461728db699f84e55a20b394695880f3e2c932993fff6bee077dee453f51e59ed6672210b4bce9ff5e0bea6bbac7aebdc35b66045ae406a8fa0a734d771eb54f8197253a3698ce418cd13df3f48031a2a4d2b9ff70198ce0e54e4a282b9dfc13635723520a643871c04f7bc08c3e115109ec188eb9b68df5c12f5eda70ae179ea78721410fd356aebf5d97950f65c3ebe12e26fe370a4176e43cd9d1cf431e940c9724c7308f18b867d8334ccb436e99ebb62d4f08f99910e93a505e0948c21a7b62c27ff60f8f4d48a7630df86ebf6297305ad3a89f803e9a8edf2a3a6f6ea7049721113405cc819950d9e6316f8c769f4820deb3a0e28947bd7bacc18a36e8e9335b2c45467b259eb5b587ee9438cd3b89aa0297953706742aa10d4933bf0affc143e3ac5f48ae60771069a92baca038cf0ed465f22ca894646f200d3ead9b3a012cfe5a44e6033ec5be737619ac10f3439ed7c13163194e9f5b0705a37852bd46d613f14e8cb66af68a9742d0f3e13533b8fb05313a0b463360521642f7cd84f72f234d2f702624bc7063f7ccae21fc6847b20a6868beb8baedf484fefe57783724758fea27a359752d419a7ca6d4036579bfe73dc912ce9c44d6259887dd15a34d1a8671a0c8db07d6d9e222206673f133dd7d5ac6a03e27be3afbfb7c37b4972b006b4394cf86986022e16b9e95667c33eb8553880c17d25152f933c817a46720b918085790f3c9b7cd02ca5b5a33af38e4ad34a9b83e49e9f112e3b807b032f52194021a2206bb078e73e4b942df0114fadaea7576f1b1104a961ad99eea1472275650f5b41d7b0d9e218173ed61599cde114fb5486c5a60780dc374575d112466a55e7f1425461ad25d289ba418d333432f9a59c159f65b00dbd6666732b72253ee3333873173a91b474499d9e60a953fde807de9279203fee2df7b9a79b72b22a18333e0af07d0747fcfb17eebc16628c29dab60af35d1e6a9665ad60ff72b64f80b5fede9f8d6cbe1fe1d57a4dee9d411b17f5bbe6b2abcb6b64b3cda4060bb86d1c9faf1e32f1b335cfca7bcdbc37f24f8ddb179c363796e2d044f296721002f4a20220b959b9e36618d82e6148969d03134293acb0da11c34b4264487264fdd66e9260aa18b26bb16ccdc0c1c88fe0eace5f4eb2083fc860e65c17bd3470c588bbdb362776b99e7f1c3ba70230933d85b078903268cf27140ae50eae72b534136277926cfd1b953632300e5fc6afe8188de5fed0615de38df76d3b1572fc5f5b922273afff6a1c54104c78a30e85fa55591412cf8089e6584692125872f77a3a18623f277d84b8fcb28483b27394cb982f725efcb2ab48ce0f64f036725351a99f132cabb723c2a3a5b2f09f2a45675927690a22d5bd9863fc93a92c37a20cd814ad5c3ca1681d3e5eaa8bd0452fd2548b703aca83aeaed98196fd80698c00a8ff20cd89a8e34c40512db9a98ca3231238bfaec7ed1b60e984ff850d72adc56042a6b752d94d3d9e9bcb93e04ad3fec622333738ae3245d63bed52b17261665bd05527f9213b10570d1b25049dee9a2c5bdca04775c2e429597169a1728cc2e23ffa758f6c72dabe9e89edddee945c48f8dcd60b870de1b2ac41467572908c873c22d374b07bbb464b62bf0f3f9e4f1a7640fa46110ce2042be9d53972c6e8a1a21226a800216b1f12cfe0599116613f4ff5b405c2d53b65ce3a448e71d2d686860aa22804e6c8bea79660a94a906cedff2f2f7b986b47e631781d94538af128a04e884c56248873c06760575129cbec16578422773804aca53eb14072fc22873ef23c5757a19e6f4900d6e4daf163867a01f74fb1c45fcc4102d383017e70a87f5d466798e0e2eb7f26c80748ca8aafa4a64e5fcf51d444eceb4b1b51390d0c66f491b2d00f6e045c9816938c097905aa66538d604a7c44f740d7d772a6f2f4f5723cd300b7900b21b888b12742ed86cd7741c0fc419dd8b8e2bd52729ad918cbdf54691588c50af8c13944d0374f48eced74bc0d047d3537a6f08c255487a0a2297d5a9ed14c7687c9d2c1d29e78df89a3a0ac472e338436b43a8f66e8a309af5998565617d64c14e33ac6d9de61b1cadf02c684361281958871386d350f5798f996e4c3f6fcc1f9d2db90806df6eb604db5f6a5e98c4fc7d897696a8bc11bed4aec44c21cbe3a0ec215a1d3766013986291becc44b4472a2abc2072151e9e760b430f4134d3ca9aa4529188e48d320a9c894d5c162e1ff8e40d867200be244fc9a2381517ac41704154e40890bd9494ae934fbb710b42c0d6c1ec13c927cafb63141f5428a3217b4a7ea33438f5fde5a4ab112bddf2dc1a39bff272fda803048591474098e75794ee63f2f1d06f9488d0b10244d56d3005b479477290f638444ab636bc12f236358911f0cded23dbff23d756730a7c5e0b75beef72b94edea369711dd2e95288b93b8971128635bfabe74a118665ff8eefe637b025e844aac749aa88b43f78c1c768476f7d47f78c72cfa6e9a9da747ea5f6e10872efe72aa185e340fae50ff8d85fa9c0e1eaed37fc52c2d5e5d1737314dd76d86f436911f46a4c6783406ed3907299f7019c5bda489af057fda4c490642975b0729c7b5571364ce296183ed654809be2f19df6a01c91b24d5b7dbb57fb33624072aa743c8c33a3975070676e8dd3614dea33628c2358108d6d3843a49b44617a438ebce0d852bbe0fa3d9e493b5dc55ee7dfdb42e69560501b120a6961dcc1917222fc73c732b97a4ac70a5c24fd3fa011cbc82c11d7e2e6513ddf72eb2dda5b726593a1a9aec7f59959f7c2fcafde6a3556d19defe2f97ca2975ddba6e02f5b37784f8e96905970d99c777f41eadbd46a1260856c84f917ed539640ea2c02fa313d1967554fec4fd0d306171f7658de906f932c0088b6d5f7f15c9ab746eacc13d60bc783833b96cbaea0dcbb864d06c5f0d96d9699462241be34f82376a6c24c8c615a10e413fb61a64ceb2971ed396daac13c7add456b657498315f55b93a72ed38507417b4ea304cad748eb13474458fb315442fb2a5dd9b3a76f50f6c4e590022030c70765924ef33a3d530e8b4f93f66c4ec9bd399a5f076de0eacc25f72253149ac080a8ba341912cce8fe00cdf1650ed723a346be1719fb190d66515726e1cb73d3be646657fb96ceef65784c416e8ca1557e28e71fbd9aa81736bb0161d3c2724f4f556f8169ee483e4b1cf7e568d352f3d9c4221e67e7f032c6386727b1139264d4e04b65ba0e17873b7f4aae7afa919f5d377682a40bcd5fab7c25bd3c206ac7e734d04ff4f649404fc8fec7bfe3532b837d4735bc7974608770764b8ea83a4f67d29a75a955a247fda2fac0593e3bcb63b41d38321553d207fcb6a2b857a29a8cc7c2ca0d2bddf26c5eb1a395ba32b878e81e8732289608c1d0d291c6d5735da64a050f79ce6a3b7ac4cc692a91ba6a7d6bbc1438ee571f69b895f756f9b4d766a1f84c1eb0bdefe68f1616e3c6c30d832272e80bcba2f6f1db47221de9a7cec3039a7c32ce51f1f6872d324a8dd52c39d4768e3404daf2ed26772bbb877a604ec3497b4ba724a8cdc89e03eb8b12546928bbfef90d390426898580d50788d7a81dd7392a9213fb668584565fa9080b07b5c7cc79ef578007d16628620f51d0386ffedc6e84fa91a3762d280d4cee6dffab73da41398494f2a827258c2a6a931cbc60289358e1c28c2bf50e90ca29dba5f5b1661b543ec70537251000d6e2e307380b85ecc4e3a30749f878c560794d03b55a837fb8655cc962c2e2c6cd3d40392ede8ee95d065a99a89e3ca458ff8219d30699e467b1539ae30721c824ab97136647b155cc30252f572d0d408a50495339278e1a895831fb7374c11e0bfcefc76a8ec8c5026439d724684c1ed49355d1b1a82e8038921112d8a1922b6029137b81b1d824629b226ad97d090a181265aee78e9aea220cfb7ace372e6b8f38f69d1cb962c1d636bce3b3ce350353d8b72bbdedffcae2b1824a0ac72d99f37d7e5c7d8a49258383ea7c3cd16c40d138c2ed5fef06224a0bfde4bed72bea910a60ba4a54f360cd9a2254beb42a75337f941b6f6a05c62df104082d27249737d9052bbc13778abb4eb21b58e0b80b9f2a72229904e3cd6174fbf728a3f2e005001ace456f44f993fd9fe10c6cb938fbe125164e55b902ec822c5cb7f03bd4d5678e26a153192b8bd023a84643913f004f0f1667f4004263204a73a2d7235d6ccc38f043599ac91e448a673c7db5036109a35110e5e8a9637e7b6a5fe72366460552a469314de9c26f4dbc07002f17b20b4eef52ff8a768b3262c95377233475748fb0851109d709c8014b801c9c29501af4709acf5c0ca665c821a0d723056f4bbb60d5ebf693cd0b575253deee38ca6c2e8de3f64e2f9cdcebcb4f31a6062443eca063ceac6e181e2ad97d2774b3586a6e0bfed958312d5f4b0a1fd727c9dfc8e440daa0c0f23b3d7a21438f7cfef532f3a1f31e56d9597665d81e372712b90faafc16c9180a065892fdc78335a1e947c68e7f3182b9ce56973d2a20277f5b092d06ebd3682bb522dc5a26df35c1baa542aea889724377ee99cfaba2c220f6bb61121b7c20ece7f1e1c26f5bcabd7bb204f53b3db3e6d0394fea41b7214532cd7a35902a26614f1031bc4b59832eb0886118aa1872d21574e927bb43262a8848d2650091875dd42aa91cfccb20bb01ca709c7626b320737b817642c720d37ca3a86ea7f88d921ad9f42ea7c41d885d12ee84216b6029addf23006a8725a7e434614a28a0093a172334d7217f286aa986abdb07dd83de97d8f1b9e2672319ea399a97e1239350d767ca5c3f1d1bd6e575e29ecf0b0f62679ee3f2899075119d7757d75354f9cbd17778957cc2032a8c9b311d125e30b3ac03da3c8647204278c877661baa3822d2920dd6524e87b99c984f5f005bdb5484312b986627249076db4a57f137f786071f94420f84d7663e37aefe055b8f0fcc8c097db7008dd2a781d7e834ef20bcd4794254c439af7b83ac23a0e914e3870cc69aa461d729bb4034d8781a7d414d5d6cdc42660484147d787847accb6f274c8c6ccc1442946a7d66e171f1b06598837e6b9d10c5b54cc677202bee9d47ec6f43c7641ba148ce09acbb6e99de6f764320e0c1869f37c5be8dcf5d2853d0a3d0248d5411361766e0464e74d4036b702d197a96afcbf0fab71d9ca0e47d09eb37b39f2ab5172049b65ae01ff44a842d6fd1d93aba78016f5b90b0f74eb9b8d05e80fa7775a72274618e7f2158cdd0fc252749d86114b11df3c4330669710677fb2fdab3a133c80905ffac81b509972138311ae6a0d70445dff583e07421eb7962527fa5d21724866b8865ac2bdc3f9dc22d915cacfad0e29fe18354d75013208c07f0ea53038c39dd3a222a783b4cf68f3eca3a12240e3d7f2fdea4d2e5f6160e88ebe45de50e2461678071c3c7d0141f304378c56186c9d00442e33d1e11d7aeb66541d5e72f0711db64867725a79364d09d3892b9f6027a1cddb405ee44fa238b94160131c93ebcc3b4dffa655c4ece1f28235f35e5483974b4ef79e8b77de73e7385dd972af74145718a9a1209e5cdb919b4cf02a6d82aee8784a1101b59be2f0d82e9372661cc4f8991a7d5c6fc0bb825d5ec6daf88461af979734d844d3833ee1433e0e8d16b632d4299ce2d1511e58fdefcf08b3e88b67f8ddcdd735c41f907ab49272852ff3a4b36e83a8ad707de168ada3a3dc398ce617782f9c05c852bfd9554a52334552916e8f3d5db3c157beb8f534c3aa5a4ec13e5b069182b7d05259aebb7221ee905ab01aae3dfeebd93602bf7e59b5bc59f8f30e4240110a80d690ee123499ac768c88aa172eef5652fe557cac18d57e3adc16e6f5cabc883c4a1816357258e942d418238dd2729e451184c452e55020a01afc5c04b1a7f537d53d03d35bd2432d9402929de710867c0a675d2fdda3561b9eb4074d8eab5986f892067472d65ccf794d181daa7a3cb1705918f0bfd1c416bad9b65f3a15b43fd34197bd725cbe8599620c03775d9c80270d3d07dc2eafc946e2a42e733b9f50860fd1f63e8aad007c16e08fb5e175788271ff87e377fed6c209bd5f522f8f44b525510b682bdd47a73668ff20e7487c74616bcb7deda0403550f9bc16d7701fb1d0a13872e631317c45e1d6cd978fa3965f93f000fedd54b4d0aa8b98c5cc0bdcc5d5ab1e983919bdae7e2c123baecebad89be747c28100f701c3b3d0a20ae686d4be617215ff5f6b9c703d9cb9195e47984447f290323977886a1ae18f91d910983e1b5513ab7ec0579d06064e4432afca5c8be5649a915319fd14cf8e6ed93d409804725d81654bb70b961e650e6a3078ea53960ae13b6f1f522b8e5055b0d921cc0e724041d63854cc659a7f78fdda7bd381714a52bda8efea1cb488972d54762c1b72c87fe965bd313a6a88f6d39042024a3c8354241e795a6b2c8710c4b6d99f0c725df9dce31c230587289eeee2a705e18c3ba70885c7959c6054659660153b136f23ba10f957ea7aca56b8fbef13983b05f703bec742907a03ec0f6133e9250e72367a8db6c6f7ef6bc65f8d4583b147bd82ed359613f229a38c9a20b0fb7a8672291c3663f0bf6f9362d0dc5d160d25e5406d17522b0bc6524686f7abfa997b72d59798f8cf4c7e3b0fbd16b8596558739f8e99c86bb5dbbce20bab06922c2b720b35ca73b98cd4d01a2144e520135bc27741f470b21b77746e1d5056c8d148727f2381acfc4c1bacee906c2f30ff824b25eda9a76be695558f0b5876d51154728e050a377bf5efe7232e74b65507400fd352dbf4f72e73f1050a2eb1e3f1977267ac9d3a719783e5bfca72fdfef044ce1acdf07115d0e13f3900cd7be84a747208f7a2370b284e56ae2b0d3865bd049b6a3400a8f1eac8ac0e71656d14424e43813e7471d02a70eb29f9095c6b54491a9e97d3dd2feef4086b1efcbce14783728a502735adf04c3f6ef8e54c1e8b95fd33b986a822ed5d65a2c1f60310471d48e88fba759a2bcf010d8b4dc904b23865fcbd2967d815ec94cc6656144a384872985b2d7d0c17c4e80826c08dd88f5dd209a79c3d689741b3f3a5b69f94c9d920b8486ba3131ffeaff49f6f1131df2c15a87c6043b0628640bbf0f5d624277b729f7ec4564fb0c5fd9634adf78c09a9fa31c894b4bf11c79251eb7b9aa21637331d9ddd77b2578b6d04e61dfb8e454f15df76ff734e86c5190e9bdd91d9cfd572051bfcc8ea5e5f98c68dd0a35fde35e036aa7807044d58cc3b39597325becd2bb0730cff218aac9d9a422adca429419c1ab5f15f528c7f1beb21748a0f3b7b72718e0fc801006c4811de6157a8fdd2ec9599cd576baed356f55b13b8656c1c721b89a4bfa30a8b9ab505f4df7113e8f5814f1a3ffa4195c36055df9a5eeadb72f55eeb5d58487c1efcf69dfeca5dc99e44afd022194b323eb3d2ac9d56ced572f606f2b695adb5f89da2438ff342df5e0e5d7abbb481de5cd89c3ca9885b503f3fb002bc89bd797d4d0d571f6209e9a675798c95e7f9a5ec7178ed63b4543d6457c0725062d3445f6ee6cc1b46ed52a9017a66d64724e20522fee20d8c338272d7c7898981d13393bcaa56bf2781b1980fc6be742feefff3e8eb901f4006de722ea3128e38d91df4b39d41101eb92b311d84c792a3fb0b0cb634e32f4b2b5472579fffcc21b4c59489051e2c5cdbbd004b51c1adba66cd58e3ef92afa5eeb6723624044972992bef1004a72341482b568789628e66fef2c26f5576e05f6b1269d0aeb982a7b9873fade05352c0107b36cb493cdc61f3d4138c744af14abb7c20e70362c7e04e59f6b40a17739a6eb457a983cf95e7886db7ec242737e9880c720d28a71f3dee3d2a08076613c3e1183762b31dd9733d1ea60c9f7ecf59f4ef72d49bdd53ca2c1462a5b0a2a88bbf76ce2d98a858a88ee94f941b52c89f7f6e729428eda343e7eba4d5cb46a26fa2d6008b8339afd0725c42358d0fab91e5ab72116c2004acb566268e46cc5ddd31cfc89f99ba6f4a9ed9908389a7e5d2d34957e79c3787e48c10548c729e41f71988cffec653bcef64dca6a66dda5ad92fef72edaab0a9a3a17ca87700df88f5178b9f0bae43cda13ee19833b137657138c71840eff8245e40f67552583c707263842e822aafade9d301cb8ca921ae4ccb75726a4b14a1e6f7bdf5efa5de196125a3f90a9ccaccd2ccf0a9f5565712fced39723162abc77982ecc7ea6269bfc7c66a97e732cdb7db5c90180c68f6dd0aedd7282b63b445b38ab11465c2a37bd6870bb844de844250614e0b57e5569bc136085a85767bbddedf9951e8bfa5609b2cc1fba09a75a936503b847a04271d6721e67241326e84129af0e61870efa9be678805b7c67a7b36194303c0d8a7c0b40e8b6b20d0d3c938d99d07f26e74ee32b4206725e8738c914a192f997010f4019afe56d0f044517b2ec41f9b7b1a51e6e4944fe3dcd094286693e9df25a125883aed7243f8b86a5d65d065810164cd1dce869b209b3d32d40bb05bae079cfd5ac86d12b75e0cb3e54432f52bfa34b495fe49ab32c1c473e41b38f649dda50effca2c32ad4f9f079bc4cf5f2406b9b4a23922ebdade5b2edb967ee69c55cdb08ad638728d084a1948ff40390f4f647373aaa14395d126931d8883361ff31a0062bb222e719a6fc286d4720db46f44fb1b1d96c935ff171183721b589206d0ed1c150360a57a9786214cc297a6136694daeddec7b6ef73ba7c7462e4b99f5974b8436761a10dcb7b09cc876e838ee04595746a1aa5db3ce8662bc78104133270f600dc1acc3b4e46ffe039a34942fa51965b81080fd6e0750d0e49420e1a587d4b2011721277695fa32de224e98eeb6bcefe73b7379156d09ba87248a569bbd48e062b72cdba2b457a20efcd4215223e71872524af53b7fd49b473faa1f82ae6310bce43b9101484c6fab0263d4df62ebcddae596eb2309e21f49de42b1ad18d731c0372152be9ca0fd88b612a45260b47680d67626b70f809e2fd213127f240c5ac894d3a6061d685e39d429c4e21123b03757c5d78c433e8906355a8eb27f90162527260e38ecc8ab635ee6115e252f9d428c15ea42fad60fb897f63049fe8559329125ce0436c7df31cca3d883f6c5774bebb9d3ad47bc6fda5fd6b57d719fe66863f69534a7b8a1409df344c9c8d2d69f25377613958a5b6767a3165d67a58fc8c67a8aae8eef1dc9ba3abea9900d5f8a71c5818abd92b7352085e263c8ca3a4b3161c279513ceaac5519551d204a57f92b013c75ac8c3ce070a812fd2147301396a40cf17e95b8bd0511a64f325291c7fccb84066a44db6b9c27edfc560ecfca536686e10e80bc9902f6b322dd75e68d8a7831c1620998762b937d9f49ec5451f1ac8ae6de2c1b35ecd70672171ed945c0f06529adacef3364e05e2f05c0b4df072fe5b917af8a648b8c0bbd36533e308cdd7de52816424dd805024e42a4309c50a6d6ced6d6f0c7741c0965f2d527214491cf37e7229c6e523ac1ac06f29bb3572b329ba1b97a10b1b59bdc980dae48a74cce129316c77d809d8f74fb95b921272751bae0ae5a04033b3d947ccbcf805838b55418745d721cb2bca5e35bf66ea43c5bfda4043cd052329b1178f7b8fa88de1bea134c55cad4acf0c8eaa20377572717a2e45087e57fce9577baf547adb31fdc08354af6d82817f6841390984d21e114378bb0bee3ff4c477123b4848e13d14bb599551f433d429584efa1a4beb64bb21f39bfa684b136a9a2827cde938ebd9abb387aa4a2530339753c3872d10727b8ac087ad4b80e6a088cdb82b7fcae36e3b2cce158f54f1aefe5d245f5e5272c71e6d4c37cf4f87c912541bda7645ba4e18801af3a46c567b4a263971615172626b3d861882c286a80df35173335aff3948ebb246c2fdc8d46af0a3fae89b1089ba85e882a81c1df45adf7a046ec6cef601f5bdbed6d6574656b8b47d73ec39f296969a7470fbba5e3a63bb45d84e78f7969a24cef4a6eea2b60cc569253672d3be32310c803b171e35ca834f565d4ec4986d964fc99e8decb437952b91da722f83b5ee5be30feeafef3b0670ddf7cd64d8a23196b69db3cd7f4aaafd0b6a64238f4068efa327710e2e6e50ca354ac5f04e9f3a6d78314012c660fd31c1c372cdaf7be551534d289745b2f07b68bf7376b2b4c69113ed80968acfcb8606354265258eb296036e23fe78767af3d427423e348419c01aeaee155cd4e33e4b56729c4473dbdc40ae91fd39f9af46a0344158f8692df4671cd57527912f9f5344725087aa343eee1d55f76442bbbeb42c452d0c777be0d7b6ac5d7596adea3f5772748c73d288e1247d8338633b04027f91171997e298e1cb5083c8c4ffce65c37287a277f0258705bf3a8ade10ef9b310fdbd49431d0efcfab12c80a1b84ac863a2fc6b89e442bec2178d60ffd87ad6ff3e4e62055419b1a7eb4f9884be6d8947216137705d85790d868b533b13fd3c3f88190da05e4358ca0dd044f92fc52020e4770c4f302170d5fb46729e5c86bd2321e697e1f096676dbe82a98db4a676b72f5f447a24e676e1ae9b772cf712048b7824af3c9ae74bf903c633c638bad54729da0290537e6e18317f61b6f3fb49aa1ae1995c616b6c56ee7964395b90b7f727c5e8202ff5f0e38c62c67de6b0988dc1c4088a7ce3307322ced74677840bf7222e1e99fb0aa9fa0595887f73465bae4bd98b825ef329ac41028d989c081023234f124a20e46806c737231139e5b623494e7263ffc6d66e5f9fb7958f8cb9272b5889d73c9ce24951eab88ff5c985c8a8da978e415045dbc2043d5fa81f0eb35902076e2923e58b1daafad320fd5fd3eb6cac73bd53dac982bbdda78b583ed67f4957fccc5a295e469cd3c3078f38997629fd39e6141b4bb562fdbfa8bcffd652c6be452d40c24233455f296fd052529aadfda99461cb63adef0e735515e367276df6ea2c772b660698e3049bd0a5fc49278d603c80c1b9923aebe66e60c1072ccb3066be74c7a91eac89a54b28307219048d30b0887fea22c614f1e9a2e1635156504b459a8347e1ccc7e958ea0f91bbe2e2735db26f3fabe93e5ed4b68fa52422b6b2e08a13c2598644ca41af68fbae82987a11d78dd9c78b3e0df5adae17215f677fca3652e7d40df960e384a41a702c42bdcbc806afbdd8ac501a1c9dc7249bf36f7aebfa1297d8773688fc9fed4d5a52ac836f6c1305e955554eaac007232ed7ffdff83b14536b26f4061580e55d048c805f347d15b84e67630dbbe2a7277b4dce2b0b8281b11521d463e754861bbcd998dad47d0b4e25f2ef4df529a57a1225ea1d7e810cf6bca835d5825987b300e8acf17032001595f05859aeae272536faa14f0d4fb261be1bf8fc63d7f7ca31f3652ce864aa762e4fdf653687731083700128546dc3c50ad1593926d7f75e3b49b0356d6dd3ee24f9989188ab872e13b8e232fe68e37dd9b0682f6d946f755b0580670a52ef0a649a8c90a3a930771fb3a8017de17a8e086740cffec07e63234e6e9e6acb9eb67ba1f6f3836a35d14f1a1b05bee5a5637c23cd1543c76c90c612a7a20bebfdb74b7966083fe6a724292c606b4e5bdf0fe2280dcfb85dbf252e720ad43599d24e5cb1b0485ba490d673b65bf52ebfd2a14a221a23df35b0b186b04347c7f33a8150cfdaf0d17c40051fd6f50560c494c38465ed5bfdbddf1a2d29d2b88f13fdb50012858c053ae2bf38797e025762166c964cdbc5b96cfe758755f6f8a9ff249861144be1a316c6f70ff7ac8741f06bded14e1fce54fba39790374d10367597483f27b442bbe1a72f7d0d845d87612fb649eae223bf94806f10387e41dc82fe354c58014e3a4e072d6dbd21e142fddb3e246b7ea8eebee18b6dab614ea560e92add58ac76ea6d352bee373afd1a0eb8972ff7dce68fdf98fb5d25bcb6da582ca2df6681dca1b206f60c33ddd1096289802605fdc5c33af8f06847c8556bd8a65e3ffaef54c16f47211792dcfa85a956ed6228c1d705f999ca7994dba32f0b5741d7f5716a619d372f2c450e51ee051556b77227419381dc88f81c44d18e031f36ddd5cfed23cd57265486c6bd1edf5d79f23499d7fa00feb7d2523b56825ffa83a7737b2b9411a65dbf8753f8857a183ce995e9abe8cd6fb9b4eb6645687529454469c10b491a972383a5b263415dee6bd169921251d13d460cd19f00447f68765cad08c8e81967248f52659ddec63961e9b18b811811b5e44d2ebf9f9c4de75da2645f322fb8f7207203cbb42f8d2b90439c939ef09d4cc5018a15e4fb66fad22bb69b9edd3cb727f709331161d99a67b96f4b7b309f3810e45011858c97b08d5eb014d0f3be8724a193f5bc1a5a9e00e14ae662673551339fba533e7428261fb80ab9a33058e72a6b748e9d6b30586d1dc34220f24ad081adcc5c510f0e7deffc14464c51ae472f725e2ecce0ca83ebb81fae16e7c4cd9587e881880d0f486f7827fb066114a722ea277eed51c22ba2744b65e4c21f2f35a78a02a795e76a0cc4ea8b4960313724563cca4152d083a2ba42a18057a33012053325e95ef7fd01b5ea7d6e0d7fd3005b2f295837f7b1294397c6d188167e75d1158fa5ee93ea62d60f02133e3b872b1c0e48c507dc9d8041d261af4a722376ad003979a7d49f622f8a5114d33a672cf2c3c25065826726aa840aa71a759351a767f476d12a768d8b10839c8c14072b386afb40e456e19f2f85ed62b82f05a634cb6861387ea2109aa2dc861d99472f99ac356c23491064134ad4453f36ade5f44d39088d767c1b2ff123707b64c7208838b3f88319bd70760250c8dee26e696cd61c2fc7a27e3b6b40a595ac5e572528e439cbe72087983adcb97a2778ad201ed36a40b33b82569548d16a6de74720eac51e63d0438d6d7b9b4935e46c5c25a2b0809fd575340975dbe340356eb25ae809ce63c11a318ed3ced6a96f9e65c4ee61ae086ef08345202039a8bf56772c90fa948ce7916ef2c5d68b5a2a3310ce574731ada0f99cda165e231294af149d861d6af07cb46649fc18414f66aab433e7b591859d23853adfab0367a398772b363cdf4df55b8086dcb8bd9bbf0bfebf6e3cf499c570705b957ef70ed5bfb7228479dd677c9f52d727d49daddfda0d254fd8b953bab51d7213741b3a1be70725da22f3b2916c995d1c8f5e777abb841a96788c1f0577978a301ee705df2bc6e79c818039747c3f58325b116372ffd9054adf49239886bf5ec796f56c96abe72cf33ccc70c15c1e677cf4dec8f6e92499ce4a4bf21563d2affc55069457a1672b0e0c08d3136db1f5f975cf78a8c91aaee87537be191e6aed074181914ac77725591979956091304717f946c1b9acfca1d110f7103089e50fc72520a289e87092f41911dc014cc5f5c64c49ecc9af5d01e4dc1f56007cf89149d1acb2870a372f4cce0ed12af2d8687effc3d1bbb0709a543489dfb380ee8aca50db3ec4f91723ba8d89e7c050c6bc9870b6546d00befecc893ee2fce87fb59e38bb98b011b1e8abec873bcb539b1017229bd3f3a05b0bf19687503412f420171a7fb3b692e5ca6abbcd054833997ba59786cd1d0c58e40586d099f8bcb306b1daf9dad4cd71ef10d2c4b9e4816160e36e244daeb16eabcea80bf6ce4ee42983f7cc5632e201d11fc53b7312b92f5e4b54480a60e2d76174e7f568492d757f3a7ea31d8101272f6213b6024d28a4b4434516677d03ac6a47d1056b348f14a9a40516c08f57f3f701626f884ba2c21b03cdc8348a40ad724487b59c80f5575224e86464451fe72d99290bbb14bfb8413f4252968b608afd0a5b5b51aad6a33afdbdf01fc23bc627838d83e4587ce4f9ac1a1225a4cf34adb56be8441df8459580a6dd20f4d097222501bff13f84b8e17459920feba0f9bdef1b43a0a534ea9987c527a8413ea727e2784d331beacdb71fba839fba726496d9726faa15bcfd5f1fc663b1a6c0943f6be7a6e6c3b0bb09e20aece722f4278e3973a68b45211f493d0181c04032002978816e05f5922aefd2fb4979fe31fe299c5bbb732dc666d7310394120abb24112b934e56b5363f246f35966a8e814c7faf3b0eaf293d5a349bedbf16d27c2091145d082207b5bd1b6bb6225eee985845fa9ce1cc1269ddd725d6f13ff7150729c2c3761f459cfc682c902a712539dca8fad88c9b4a767ea07f61b8ef12fd972744589c1b1ff29d1cee40f01fd03e6cdeb1ed1eb7893df1e1161e0d4b64d2372078a4d1a1cdd9f2be5edcecc9e4148c33b8f836889c8124067bebcb9bcf6767275a7103cfc4156aee048edbdbea8a584dc3163a3f17f3329754bb6de55211272dabeb282b63111958ca0f22ae37899cafd0f1b3c0ec90a206bfb6dbdb9dce801c7fc92f6e6742764d2df8c748897c7550d09349fffef9eba3eb3032a4e41037273a8e4ae04d6f5225e5589fb3553baf2a4d897524bc6a2c66abce13051004745f421627b697642aea6e1212d9480df5e95e2f8d41dd18f51e66a5fc6adf6923028f7cdb77963b68b381e6abe302e41a5e0ca5258b6d0f246f6258b4627ec2772d9ac669eeaa99e65a11ab29c1afb228d35334b0336789c040c946612617cce7277083ae8377647426bff03184b46716cb9b55515bf3ac5dc9a6e55f5f8853266a4f6066f42b5106cce880aa19ded7935652c6df02647415f383783254361e1382444d654702d8f9752e837b8c5a4fff09f1573d00204ededb8731530ff5edd726e13b6867fdf38013fb5a0d313570d4d6891756e47ca87a089f0423a0b2e24162e0bf3a7827fc61a7ae5633bbf567f07cdb2d8b71ebc74b6ee915ea8249988635259cd04bf54d6c74f363773044082552ac4fb3493422c5f0b52566c26fee0726f67e49def8a426a14c3077856375d754d8b3958fe4bb9d584853346b4b00d72bfe435dde0badf2097fed74fc0693764c978018aa4c5666be2997495e6c2107212dc217d201db85cfb1a887e258095ea885fd440946f8a303905e2cd202521724e0cf0c3b172d81dc8c1c752e788266771a82d2f01a74982724af7d888c9a27249d32c2948b485dc1465db32f7dabccb2fbd7dcf7aa46ce615044383d5882a2831cd7762c397182c245215b0346709fe6a8ec0c3fca525b88f078223e18b6635c1595b5bf036d4c6475d330c2ea0258ba476760019753b1a9cc8ca25bb625e21604ed6045ca1996ab3952fae78fb7e38505e25ca4590cb04a7d608d461a9d33614e4ec10595bfdfa8da9270281ae6431bafb5bd7a8f919d0da9776372d1d0e722b718a04bd843666ac7f2d2594b891a06dcdc88c7de1d665f93d877fdaad6b72ad16ca5ad9b7bbccab3aa02a7a4bac2a2ddb430772b2744e4f20d6303ad0c87295e080a74ec89f0b6389540743b203f7f34cd8930a426e150bef47c10ca71c3c1f4f517fd96f69bee964a94a267743ed5731abddd7a08a6ecfde0669ed97182a121f2c32d17648d56e21e40fb6ea00be5210f9dcbc981633fcfe7b317cc34f24a32d0cdb2aa296fc4fe473bcce745388815f52a8c5da8a39dc35004ff421d5727c96c60346ce9bf56b2a366e1c8f3c1dab667b2a61c168b8ecce0b8df910162c686e3dcdeaed7bef060dcbb42ec235ae31a413086e89f5b16f3cc105a2f53839e07ade93880678ca415902fb2a0f2d2c90bc4a3fe1e1a750c66b43c8526e52449eda5f5118fc3eb8870357c60ad0649cac4975b17fcd60f4efd575a1e1d3f93a237b6401d098181f9a90144d1c39525e06afbd7245e111b1e0ead371bd34e12201fb81598082b131d9abed7e4e92451b5393cc0efb060647fe83a6f781641f06fac8cc3c65998441b57b53a698682f6d35f21d88c48a26e6e6643ff5b4a4e84c7b132cbf924d436625a691ad27921818604be50740565b4b7162919513dc6e248511ec67245664d1409934cb507832d1b6aba27812e46581f55d737eeb7cb0200b5b2020bf3af20f04670feb861e332093e42f2104728952d95ade9e4962877291bf5c9614f9d0dbe8c06bcbf5c07acec1884bc8a7d3b9b1f079afc2d61d7a0ef47dc9b548452c07f2340f0086ca4a21a8287c0f9f638745f90e3a097d1f6772d5e8ab76563bb608c232afd81f8ad51eb735c0097bb0c16b2f358c7b14d2f57214cf4ac74ff028695230fdfefbffbc3d0ed207bd6db9c3c748f7dd42b237e648cc32b6a4211b6d0c418ffba1f471ffc0925c5d9ef8008ac654c357843606407277a42de1f0f83a2b384c801cc1cbe38aa6417a4071f7f45878b0c2f17a93e272bb0c7b0a3f894b79a367cc5d033447b4ab2159c21548260da59cb43144e43d72c7805d2aa9f9e715e4ba5cd218879590fa27532d80d08e471167c18e3ba7f4725b7e6560561125ba255246747fe4173f9b2dc209fb0952799af9d4b4f8b488727fec9cda9ac0731f285a2c4dcb8bc3da8bf86d16cc89b839a9318e2c854bb67203a7fb00c1f9aa0c64d466eb9bae7424af97cec02cc5fbe30e0d7a85ec15297240b1266766bf5b86de2613325d377a6864f151caa123be86ccea4acd59804272ffe900bc1e3f6419090899c8123fde53755be326a64341bc1f366659ae9efb4854207fb318a699f55aec6566f0abde198b8099345a881ee0ce1a858576c37b72063173a5a80ed914c8fa5f96e3073a1b7e1a5e7909bc297984febee6068a017236e6b45ec21edd02cde1050b918157cb09252f959a8167223b4018c2e0ff790fbe32f7c278073dc475c294b326d8d51d86b7e19c502034a54eaab3c53610e76748b10697729c82dcd7c894c40167e87508d8d4739a5d623805c02d5f9bd49b0c711ab8467f7577f56c8e78e3b8e861e353696d11da0e7f5dbb584e01f2a591727a079fdefc027e577af54665157f78743871cbda751ba1e7210293b5e0a52d72efc9b07dedfabaa2433db4b19bcda6d689ae70ec938201a03bb10388da23d972642f234593fc5f8b8ec2a6f2b29bbb6df6f75af86f1848fa432035ec8e95095b91966a9bfeffba0eff7019eb517b519d0070f90938a51efc7fb89da13ab91e64a93ed98b904b843c7ab551de484f0b94dea1fc2cb259cab1aed1f9e18595e067ecd1f579385e81811fa459c734b864f70cfb0a1bf459b91bf5f09d12362e957266c2152cbb5f5b18deb12bbb470da2251e985a29952d27eb8b5ce2856bb4ae72e9e79f84fedeeaf7a9b677252b1031eaa02da1472f67314d332757bea2db487253503c67eac0240e4857118f2390de891ddc422e3da8a2ce08a99f25ee45c172616f346d7da68ea76fc2432d1ec0099883020215b36f11ee670d9c5c00d12045659cb09079cffd1eae09ad7e9f6614c888aac9f0e5aa660bd9a08f8ce3407147bcb5a7f5c8b394f68424afd5a543009fd0665dffaa8ec1b5f263a104a90ebe2e81ad2c1f957add5054a00c39f52d2b8a1baae04053bf3ab542dc6f095d7ec2723ce560ca68c499a9a1921e579de0bbc4f428b537d3d5ed95803a07628fc59264c65d6a80b1446ae6a333a08a424634ce68c652f2f7f99bbe8ac2af4266db6d6a00a411b9edff0a14ea269536e826b87566e4a0c28fccb73b07e4040ad1766c72118a3366233c94e56b6fb69e2d8ca357543532565c77c28e5654291c560e5c03aad4b0dc32826d4e66018f31a10489f4faf1e4f540ed0d73054a2f3052346651f5b0e2188952f010df6eb015764669152fe7a1f57bd62bd4c93d22dd8f88c772b91c7e8c679f5cce401bafaa2735d3a4685bbc95f21b600762c719805a48e372f53a6f04226eddac048e619136a1d88190e17d35ba97eb6a8a30b464912d1272c1a039d08992d977296846d2f554fe2d208fdce7b4619265edbda0d8f366bd726ceb62a773608c3460121e7a040271d3664002754c5d5394dd6fe7b070a9c272c4d52ada67182acd4f368366f746f6f7cc2bf0d58997de9620770127ea5c6a723e6152321291e859b0e60b6f6edc8078a2f2550f5cbf0220ae146da7a06ddd3db054aa51b42c4586f6e4829b4ee9782586b069583a24f9b21c94480e56046972f183e383094e33f3fbc6b33c25a899fb68696c92b7de47cce43cdddda0c759725c55ea39a9f410ca0d1c6e77af2dc3c5738f474d36ca05d67e523927e2f7317267b3b5a8b25a04bd587599654aae76d6a47afb6ec30553e6c993fb8687e0fd7299de201d2236876bf7816c6633d45c962c9803b8c8ae3a66f3f6de0f46c56972c6e50edad4358514fef2f48d0b8a11723ef1ee9fc9e905e9e8dbb80d95532a72269c023c0d35eeec86fd6e66db24a4985967f8dd9619a74d5146dc2fcb2fe57201e48040807b9d6f70975d79ee5d84f9b4545676ac429fa8516e77b2af85d072c00b8b3b2818e14e53750089deebe112109feb0fec0715669961d94346f97805d95ebd6f7cc7fb6c0d58761afe31e76e071845329d1b2a2b3c1b2ed316737672d396af1bf21a38a13f38512fa2d696e3544239fb998c82ee2d4b427d2f86f9723f6ab7aaddb8b4cd20454d6fc3924d2a1466b80c00783f89a15c24e6029b171c17c1dce218c69bf06f6afad7756aa64e52c4d0093a80a313acbb9fdb873d01725650591379b2b91a0b0a632b293ab47fb48069f533c616623481a0e1d6b0af01b226dcb45e6259a72dd00ebc9447ab481f71ddd9c8d17bc6dc4e2ac75a174972a06b1272c4825161bd46eeddbc0ae11afc324486b5ebdbf5959ad3cef0764f2680ea42758cabe20efa652eeb6e27144c05d9d2fc6599f8c1ad92126f0463ce72cff4d9322190fc4f57ba535a085437b1cae88f35e293003905044a15add5d072d8266d146bdeca0eb26d63eb7e12fa847061722baab915c3bf93de567b08983f641dc6529d9f54865a3664b530e9f29a1e317063d7905e24b34f79ae59043172e770f48981f907055f9f1eedec50040d41d0c213870b32a74bcfb589c2775b576cf5d04a035120bd9256abcdd8fdfebacbcfdeef972948d814ebfe60fd551a722dde945066bffeda7ae9f3f98601ab3f4f77238abb90b5daf7191572179a4e5ef8d21de4ebaa0bc3fda105d63c79f0fc4341ee042866043278a78e4fafefe536722dfb480a1f1fe48363edadddc22536ed0eca06bd4b739f23ef3c3ee3decc2c3db250b81b42186480a94dab3d52cd4bee91eca5e215fbcccc288cc66aec1672826a158b72c43e6c43df4bf40b36d9f7b634f42e6517ac6c7023c96e4d1cc172c91156b1aac8381f79e1465e1bd8e2a9d1575d31b64a3629d3fb536ec14e9372000760afeda198cb2a4dadb0c580f89871c78f7d1fafd79737c6c32cf48b3872d0617ff077775b075c7c01ad908f17869811cab821b579bff81b8f1244095d1dfb384ff4c66b3ce2413742be125d8d93bb22c1fd2f928b07883b3319fc2ae0697b46c88c5eb179e800900a20e8630d5650d787862dc3d643691b5c700d76bb18a6b85f0519c79e6cfbfff5b1328aa6a17fe4a0091be8a66ae6ce656ce0a39272e057ef8327c3f7800ff9209872bf29ecc38fbea85987ce00a9036ee8b0341772a8cb0d1896017640e227ad31e12f35aec1d6577898d23d5c23d553f1f1b1ac72cecb44d7080648b27d3175e1619abe4c57e21d01da324a53971bcc1f8bcb5762341a5ddbc5beb2eebdff25d411e92bfd5ac2c708a30fb28af4c649a29c54d872dc91afbbd906357aa15d094bb38c4030d6bb23cad19b816e8f31dc8b6a207315799c030a52a524e5f50b3266eec7b58bb3cb2adc398fa1bbe0ca415f1901ba72822be9522ce0db2874e587e02c9b4d2cdbb19337475e9c0674f8742383853872d6f7efd73fe170f7fe7ebc7287b7d891d8c4bf159a91f648beefa061ceb8ef4ac3464ecdeea4629ad70c6459c2d8c28922beee1822fa0ffa7c215d0945ce2b72df3db50e6cee739709251bd08fd6b1f3fc51b46d64f702a71522dc8e911bdc72608f8d60bb7835238efaad40659e5a77ed393fef41bb869a7cd7c965a068c072f403a2a6f366923dd9700f1de9195b896a470733f44d0e90879df8facbd87a725b66ee6fc3c7ef098f94d3f10584c957300f778b242ac907f7ff8eb8c194814c921a20034a699a74d048db7efcbb3b2fd2d0d17419256659cc1cc46e09cc0172ec14cab8dec3f8e49aac5e922b8676466392d3067a9d833ea12fc458caab6417d5c211bf5cad018e21018dca11ebc74500f1af539f346f38141a0554abb61b19f085f5da885c0ea98a92130ca464eb2ce4cafe56b8ba20c7470c526236f2fb721cfab79c4b0fb024df3535bb4aa3b7797377730c1c24d871f6b7f4884cbde0177aae01d85d1287c371a915c04d83a18e76045ba32f3a22d4857608e257d2497268d6516a3f2aad55d542bd87c73f4bdac738582837e1ea7cbbe9dbeeac0a4a5e4108769464c912727e45baa8f324078cad6384d18c88e1907a3e8e4d67c7bc724d89167946a5c71a71d3c0688364f8a2450a0c2a43650eba6fc2e98eface60576acfa2b18382deb258f5cb8a2840895a4106f48859900633d2232143d6383372fb7d62f0beb798e241a7268b829c2f212dc95b4a8532366db0936e59d104f6723b488bedaa8212200da03a2c561e3669776917e0e9ca649fcc72b6717bd77e72e9711c45028ab2d4716d5a9fd5781361aaae775605c56b9202292ab03762ea5e184eba303733ca900338004a71fee9af1d6d8ed40b02f917889d374dc8a55c728de76c840593f6555cd47a0b441aafa65a3d90f48f9ed59297b8ed0e61de167200676af260ac8f3480bc203e6cc4f6bf126df8cf3a860d5b16416bd2ffae0972f9f13dbf41447518ff9cfdb874655b51b06d090dc9bcdde905b55c9c1e34695fe0100bac8d9c7b07d4b92d22e2a908ed331805b226d75d1ef96d45c7d36d894d0bff857e7dfd605f16529faffaa0bd4dcda892b528318bb5db0689329001fc1606cc3a4fba442670b95fb14244604d11ab5a03a34ed0349a949825140aa1e9725d5a9ca429c87a3852a286f7fb7f23767562c60e5d5758222d819dc8bbc519724dd4fe86b0d0f650e8afe9e58011c102b5086bd32dbab7e797b4a2d75f74ee722aa2928a51a3e404780060d9eed896b7baad3349929e56992d40228be67ee772dd7509ccff412d2367dabd2a4a93bf06b9c37857a96a3a88bb9d5e14b95bcd656ba759b01181f2e8ae90d679927deb1394666b8355932b954cf709681d12c472520620e0e96a3b8fec2c2a865be4a83ed3cf0a0b2574cc838c127f8b63b1fd725419c80c037bcd0188664d9d2896cd686e84f556319efbb2b91d1d355efb53652161020a4848a9de9c894dfbc48adf81acd960407eb154dd7001e7fa8f1c5e3b5c1cfe5faf6726f041d3bd7adbe190ec264bfd96054791084bd52626a3380a6fe5cc79a7fd613960a576d31aa1ab892ae59a48520d4d15775c2a819146fb4618e444a0b24331904680faa36ad82e251e20621e6a95ead13c614a0bf94f4cd6644d9a7bbcb2b721972a28e2657221bb19d2602ede5592d7dbf696e27037a124171b0f08c9cf0d86075382ee7732c8059136cbb0e5a4be5f85f09cdb3d4d2da44313460ba468740fe4161e616f95adc7792f64c88122941e9780022f8c30a67e728717f9ad6b536f79a0a48da2c949b01feb1a04361a47cf90498f599b56dcb91b32d310809feb2421a07f0686b779bf42e7fdb0688d078f69b814b1554c8391727ea6b0b3565c48b83e22e87f7de428df4e7b9576c2a93e5c1806e62a98db117252d98ead8bada5e03f14d643e0981b5033559374ced0956e96b0666e82ee2072cfaefda8b7073ab46b120ce5ae1276a230a445c858ce231a3eb57e043580637275f2abe53d464265e729c4bc85d2ad82be2b3fc2ba6dd6cfd2b62ac39875107220c835687ff69d92d2e67b1873d2d78c9d9fb87dd8c7b53d175284b35c9a627283c1a193fb2e782583071400995aa35719d5cafeb05c7ceb293df169ea92006d031bfed90a140e192062c82027995c61dd111072f15de465843b4a8932d1ae030e122523113df04d2b0e43f876303c6dfd44e3c27ebe1643e011f40dde7c3b7204a0dc7053465c599654b80b6946b15085325fb5b36c2f383fae4cd470a7d57213123a3fdcee8195504ff8ca6a01b6a2e43f26c62d1349fb386c1f5c5a6eff72843ce4e8b098c6c2b125f01fddec7a76d07ec9d39e8b4ae3b5a3ff38a888cf7269bcaeccdf8ce8504040c18a8c0be83fab3668e7b81d77cc97bd3c93d88cea72cebb7b86fb770981810b4c7847dc4db5818e4f78014ce1ec22b6d29df018b4399103e3fece09e18bfff2890f0189a96d7ed559db4fdc1771b1b6d819093ac6214d1965b97a787abac4091d108f1e09dd6949c9d94daea4b85e7725fbc7d2ff72e4b9d13b798d4be045fbf5b9d8c9e90ecb50646e1f78609aca1ed1183942f12f4e1fa12f018fcc6318bc7209f1feda25077fef72f1a12a38de2072e01a7c52332a350db04691e56a874a010625b3347364065b9b6c56040a9f57044fd8ac7972f701ab65df02258c7e089c4a228a542afefd0dc502eeeb0fb0ec6a05a16a6a5bced8b237083ebc42330bd530b8e6c5c843f7fb38391287b10e69643f4744c30937457fa2e4774d1846dda8e09393d4d0d00a9a7b5bc92804d5548d0f04db76722fb8938938215c6cca75e9b034e676b3fca1e83ced22a7e69e0a7ad5ecc94a729d7558e676a47ee316c8f89c55104b1fe87489b19e977ab09ce9818b07fe80403e83b63199d451e2e1bc1b746300f73a092ad2ae8866947a8164a2fb4d77497215efb2844315ac8847cd6a65b5e99ae5e7d148ef9a6c2c621fee13705037e30a01f79f69f5bc54dd365aef655b601a9f8daae43bdaba9f8539be1a5207c8f8146bf5c881cb9fdae8258c820dfd49bca8966c0da1058c01d6a898f7b10b93dc7219d7eecb17a8a464f487f6cacf2d0ceeea968aaee89869322c871b456b57803dac442ed07fae6d8834528fc1aaa328530621be4ea87015d7dc21eb6134e08272fb9d01f5e12f2862b9a28c6565889961328a284b31811c0b460a987410cddc66fc70e2adb74e07cc1fe1a59a168199038b9ba331ead15a6b151deee3c9639c214cefddcb13b32311dbeeb9482e553cbdfbdaec1345ddbb4efb5ef27016b01c72d4839f40e27e5c56cd877c42f91e57276691720a105ed6a9d4b2b0a30b2df272060119fe0e900cddfeeea38ccd7ffb8f0d07b3f94589d86ecb458c8da74a145e51726dc1bbb931b5c97019bddedc790d31cdf0bcd308ae5e89373eb1af440109f39c82d370df6eacd98d978ee1e372c46a5795e81ec557866fc27f9520ee61729a3564b008c7e0df451092d270794aad79a2c084dad9886aeb8f8804b71bc33f4ca3dd4f09a25b48bb7c25250060393095ef0315a5920fdfab182b00591961722646090963002296616d1be98e013eb77cace51348cffa4d61d89b3688f9086a8475e460f36fa4e9f7b47fe640487078f58952bd6a735d0fa0bd87c9de5e4372e3e0006e51620491ffa9995a4efab0eec7bea4ebfda0ebf2f106b0e13f5de8721337550dfca90ec7edc7c2fd1563c1ac7b73fd121113a419b299c8462635c45d62f2a36bc2d00348e1961a0ad1ae2c474dd5fcee61c8de8b9bfd900f0a81ae72e18c556def814d16d51161c9a218b720ed1b0410a276239e23b14cb3e6c3735015d447d0b7ee0046c53c8f5e046bf9cb13e8a953cf59a7eeeaa246ccc090b6723db937505daf8e953ed1ec8582e0bf2f9679cf4b27f7bf04716ce8c840c9613196645b878e31142fc4042da9b9780f9e8b2511fc815e848cc55d905072c095287ed7fcfdda1d8b2a062a8858ff6e77c4fae311fadefba22f3ab452934efc3672fe348b68a0ed309cd55114ac0cd8a32f07b885aaf7a225607edd93588a34db72f609fe82b63b37cf54ff137e6329ab11ce74d779d20cc68302f53801c862955fd5eadbfc256b9f2d18e298c7ca6e4a1e7ea1800f512d6910f4531c3526ef50725a3e111f0e616d63fdd96950e233c34b2766ea71f27b4ca77672f223bc7f636331747c05f81e6425c93b65f95367a76ea6a268421e8f07edc0d9303ec9dadd24072aa681091d2ff6424170382adb60c1145da7ac3794f0d933ed4d1e05e98f0ff510b510609cc9c829ba97b1ec7fe9c33abb3eb8058b08829a78a871d3f3c572f5afe9963f9e37cd59bda40a92f6c514861196b6c71457d81f91a82e1877df722982ed428e5d0ab7342f04a3c6a5a053af5e339338bea913cd11c1889f3ed84ae51ec256c4e631de656be4f07a1d417d00f8d6a80998e7bda9dfc75573568214eb85af463cf1eee2cffc68b52eb3354d9c0d10b8197a46ab68e22c5e92a1e6729d812c21b5ed6f91710ccfc69b9e50ad02915104c7102ed0819188cf7260337207586ad49320514585120811b0fc226c4dd9b3246e89073966910988c4e5792146dd477fdeb797a111374889af79e93c484222ff01d495b1e5943ed2ce259772be76de31b94cf09e529a5de8e5c89d519c1e3f69beb1a300432a0bfc74582a5d047e0bec62f486222cbed59f02fe69e4fca745bb539cbf98a6a8462ff17016366361475e015ea83a0bc873e763629b8321e532bf26f92fccc1dac5b796a5da224106f0f18f2f9c23251531aa71fb52907bc42302f5c637783f72153c79eef728d836a10d95b494ebf86a61c8f3269b63cef70d0c8c221f84a3ada0f5d9352c72a31eacd010797bed738f4836da1531b9277fae74ab6c96386312c61d39da3d42683e27f5a37d898141d11ef25d078095da6c2ee5f94eefb86183b728ce959e72b60261114721edf43353907d109bbbdc1b168f10490a828e3951a04fcdaa6d08fbf695498510c30013056a1a7fdb3022a77207ff04f156c5d3901f742c0f3836952af17c9c9be81ebe68a07a9ad2ef50660d9774d5d87cbdae8c6cebe20c27503739e8363479ba74759686a1091d00db7f23c13bbb96d11e7dc720c71396d472916da15fc5a1ed985b611b761f0f54aa1e21fd5b4c8cf2b4b0318de89d684a53a4c905d7dfd0079e57831246314afa68b67a6967a8334bed0ff89d6cfba33e72e541e81be3ccc45ff78b5a98972803ca3be872ee402b36fa3f2269369588f765621117c50ef3415f0229a4cf9d61e378f2e5c0d287f6cb25103c23772f10c27218592ee55a7c1c5195f5c860e3214007d4ed078cbe1d5d436dc8647de6d5cc0ee180c14899c4b952cb2ec7c848a33b80485b8acfd1c7f1bceae89effc7aad20107343ac2c7c75a330b43f1e0b6e5979cba129be434952ab2d765e76863c38c7270c54d11fa75425e798ba158aae97e420985c215759ab77fe34a158fe756066879758100ba8ad3f9bb52fe90825e69d17e891dcfd1bd52932421f481abd857729def276e4706eaacd1cca4292adfa19ee60cf85c9441623101ad676038213a7258d8bdf278d1a2196e5252895cdc461139bc5af0c567177e9ed7ad2729f393213bbc280fa0259d498a17ca281cda56dd179012cc234318335192c1537ce77b72c8f1412775a657c31aed4a23c850277ce8bd832d608bc1458076a01e7c94a172ae787d5f536e9a771f7afcdff9e1c76e37789f20ef230c4e0f31e17dd1106e13dbc1221a0f79498445dc0cd8c80267b67459405ba307118131f3b20ca3bc6119b9e5aa99313929289eedb826772c5c31f85a1581c4a967d97511ad77afa7320d6753bcc4a729f1b6a921aff886a21b7c234db363a9673b7032f55b63e120d3342ee201da1d63b9562c81cbaec3a4291bce714ff37fa3780984e21cd9b08e55184803b4ad738af80723c810d8127467af8d963e6f26c87618382ffbc204cccf7278fece32db8bfe6c50e885f6992bacd955457b6c17dbc2bfcf76a6d04b00dc729ad6d68eb1760187b8baef1d70e7418de1499f97e914d4167f0f92ab61f6bf312b5703fbe5743f017b72a227425103af0eb6cd36d96207969478a9e2d2e0343137cd9d0ed9379484efcd1c060c1f9080dd2d3f0f2ae24021a6d6d9401c9b1072908ed41df772c2e31b90fe4ae39ea393293c6840f4ae423f699aa916fb08ec2442499082844463508e8b11c47543de32f5c5399ca408bf3dd84b606dd1335f1ecb3219af962950cc233c138db955aef4065ec43a367b1f0dcf5c1c3d567e1c72361479e143b3e7fc5a517886fed7d0b28a2560f4740476e7fd710c24a8256072aa53b92042ebc55557c2fa09ae68881d74c2df1a08b60ed13e6cb5ea6744b772b2f75235aee5c220c8f9b01fb655873e86e05662c0311e2fc992a3d9998d4272bde8fbba8ed24e254b4ef8821871e7424f7da976e27019fe64839aab4b7ceb72d69ac70aeace604332a846fcfc84001259c763f7e678420f488bda4f4771b068574fb26b12f185d86bc8126628861bf3a69845c6196c2df405f5dc8d20370072f739e9fe53dc703dd56b3bbac274469ae3580a51a66186dc6005cdde00d661121df1b13f9f871cbf149ac1773c45faa57c27de9aa61da8d220245e73c723564d84313327b9651bd5a133d858a19d5ec604cd2be0d109e6edc74e21a1977363726f69f31f9163578ff32b74045fbed97d5fd0b73468686e746f44b1b0d368d368dd730bc66dd0044b93964ec1a65c60c42212c078be250eaaf5939f970632160bda4b2c548c77a0f9e5366126498fc903d493e06e0f7262a19e2bf7d99173b372ccf128804a69e84e3489ce95ad912925a71a9dc1b53e98f4e95a028141e38b72447b03b773f2d37c93731b7dd165e49bf3030ff52ab8f02c992f6bc7ff1bba721d7681c3dca97d8fe2e7a1a1fc8d53ad586a0a1697bfcff84130e2b04abbcd727dcd2b670e3b5b8d9722341b056f20b551e3e4cb1f026a021e1697c3246ff07215c743ccbfd5b30abb12e045e7f2a1e78dc4fdbd595b82412f0a6e687b9d2355411935a093ca86c31499844ab0d0b0357444c4936663debf1832b5b50a5aaf727f79d511b08e8389a69996bcede93d8eb72451518619e8925b551e43d8cf734a3a60e25ed1b7dbcaf2e7773e8893d7d90de15c159389b2df5e3ce5a25b9644577bfc53b2edb99cb9d83a11a650fecd61dfab07f1725cbc80bb8eb058f57e7519421fcc5ca1f7c13a43f20878f9d54a3d5410be4d7b4a5d560e05bc134d9dd77264db29ee7906df06b3b9efecc6842c3b96ffc1f50e10490d623670f65dc3fb7266060a0d5bdb6f3d8a5b9d5128791a61e1d9f3f87204539bcf3153873fe0bc720edb78e0db49d66cf271aebc480d5e067eb309086aaea0a3ad3739866b38f45819ea43424406dd5aa30c24f26e6d0c2bdbb0a9d5b6894af30526269f1749776798b182ff71c129cbd7ffaa1557864e63fda928d74879472b35109d8f3b106f7295dae7345f4fe6a45b4851525a57186e0714aea3a3c0af91c7ab445a6bc3e94e12d06aef75fcfd78203c1b25d3b133dc3c74671fb4cabf11d16fce785cd9bd72e0dad3de8e58c79206e54556405904d30c06cf64e841ce8666edb043df527c724515fa490506e1d9a77d8b9c2f50233149c1507f3107b4f06d91da7cb0b3f57223fe2efd1b949d4205501ba0fdaaf140167d4262c20299a426b00d7402a8fa7224f63261963e92f91c3af51d1537818fcd6addbbe16a417e49e4f2d009ff7072b75416ab06cfb3186200ddc17156f73004ba56aa217d24043a6fa1e0f6bd355f8c7af170b1c3247d6538de9bb41c09d3f362fc6ad26dcb7d6a898d7de907316ee499cc163be34270d1a1fe006bc29bf3193258e541f16eba87287d3b2b76d4722483169e211a1d0eb4505e21e0315090c1f02364fd16cd6d0992ab15e85e38725374f9c461808f4e11334ea116cc18f3406cfe7412b640cc89bfed2e5a51fa72f650e6d301f70daa92939b5061693587a17ee1a9d724c7838951b0f0d912887222742a73b2b03de8ffc83856a8d73f277475ea3fe0d879d61f7187ffc72ff972f380f5f7e0ceac4d5d8afb6b5a3dfefdc3068845c56c5d2b5047882916335854655a70fe7b5eacd2b4ab8118692fcecb403dda1dd878bc6c7b93e06d5a6e1a72a70336ae2571b221e9344d109225efd0d6a3570eebc0087037b5ce5c5edb6c472c25182b5b48c4cd3defdd2f5fa32b892457a0e1ea27f703a7270e27e690fb723fd88110b1b20f2c1c5aaf78aaca5d7e9a1c95505ef2d490b1f960fe2b881b72fd8351393e707b2b24e49b953327310ff15c71894ec64856a8f302c120b9d2728ebdf3611e9277a4eea9c0aeddaa8d8e13b1da14a8e92a54af2f9aa57a793a7201130902f036d85b64e4cdd810548e6044c4cf9fa8601f9168c91599b1a957727b464221fcd2052f4aec923fe1c164a64b2d750f8ecaf5cf3b0045ae43b6d7727a29339932a8c73d8101edf84b810c2ed484594efd3f4d935deeb0c21074da7245d859e1a207e8d7af5770df8f21efba1b513b1dc23ce3a88a995c71ba197572ebf0fb8a0c71f9502ca0710ac0843919962c0c69f42d7f5de9105829da84db72edde3e1eec11762ed43c2d51d4a51eb35e73227b5ebdbcc6e4e5a87497055e7287b1dfd4adbc1cd121ff6eba7e27f8903bd1fd49c504ec2f339a56cbe8d5223852df003d6b960245d6c6ed527782938234c8e0d8bff638f30f3180f52561647209e1f7b4afa0d680f9d73e1c3bf5a69e71430ebfa97608da12540a7f1ce39d678a6078b528ed90318b744e28857c6d88b88bd4a5f9fdc936cb95feb5986bfe2ab8621afffa087be9f83da65d647b391e8f445ba5a3db402e305b9f172919841b3babf32c18a034cc4fafbdcdc0221f9723da919c23b2483229be5d48423e5a1468c5fedb3c16a4c1800f9e088fcaccf8c54543e3f8ed68c6d91592ee77b38e710bd0920f70013ea1cde8d43781e01fc8dff0ee972081f414901794900c79635f590438f622cb1554d9a660f2c7ecdee25cf40f08a83453921253aff85e239f7274b21e517861dc331d4d57c44820bc1bf4e94e28771c547368d56691ce0aa628faba6662276a40a23d822d47a8f3ac9f1f139cb679cfeaab505ac44de38ba0720cef2ab8f43d03c10d861c39d29a9851a929c8c6574a22ad74daab33bb878037f0b2c9c5647218c4dfa549025f3242ae2ad3ee0da6a2a7eff50ff354cbfd2616d685814374f121eb7213612e41df1b637ec660febd9eb9584e4d8d1f25c5fb723d536f51dc54de9a0be76f43fd4d5cd00a4ff18e2fdb5ae1c9aaf47eb6f3c337a3aeb416f4f2fc7b894fe8af01d670d8b471cd9d7a855eb37f5c26392fd67c728128319c75f128e584cace811c948959f1336c8356e556f383635e914468eb6ca1494d6b041748a7a2da3832e4732cc99f3cc86ac1edfeb4b971b6d581b40072d514647e5bd4cc07a7893f77d78e75c13e414736a69ba01fedb4db38eb426e72e8e20b88d3591cdc8f5fa1cc127db989f233cb2efc4097c9e7b60d029867ec7210959162a8750a1d6ddaf52ce47b9958162ab2013a62530d12d6287747c27272b5140ff250267a26ce833dee190d44d6c4dbcd764e0f2f19873cf13dae4807467987b69d108604e314cc6c99fc03d3f0d8d6e9007ef6be7cdabcb73e27b86d14c86f4f1c3cb047b0af6451e409bd7eeb0bc052db656da0c894e9ba98aec44372e0e090ef13cb5897b6bf1ec5fbcf27cc99f36d36f0da5f2cfeb3ebc21e5212679e2a7dd24ed0ab6946192b37cd5f1666016886ef5329b369a7d27c8c08be58509045a16803406a51dfc5a5177ae126238716a4943a0f05b377c02c674681f606b6e4039fcd30887f641ed0f05dde84486750992eda6982ac001229d1d7a6572db224fc392a35b9f70c776744f5e60df954f13b1d52dcf7c23b821ea757645172aaa755a6f30ab192f4823c8227848d1886693177ebf165efd48afe5a5c266b3a0f7f1607a9fdfbd171c193ffe6eb5efc19f88af24f35b5a0c9a3581e9819ae72abc475b936e40758cfb1a37720b53755f1f5c39b5b45c5a564a8e78dbe36df2c42af431bc75334a42c6ea275fe56dda078fa1a29049aa4e5c2cd95e2148f287204dccbbbc2cc00d116b52c32a0912a64aab41682e2a144e28d7e80aa5bcaf1724ccd0040511505e4f718dd1d50a61bd63dde7d03d7e1c426a745102beb226672bf0719de9302fae962b90a4ca783a021b7bf3970cfb9b15465a8d03872988f6c00e87bfe9f1aa7249173acfa4043ff301bced2cf78089d203c512a7920634d03e1da75e434beb595692f7f17ca1cef1bdca0c09d521a71cc972b265c9c75be72e19120b404ec86b2d594ef7d3a42a284892e4b6a747ed32db612a43d61f9b37221f5ff173762e98f645dc617919be6a7165579cfc315cb7fad31b1f5bf1c4e72a29fef5a342d096844b862b6aaddca5edc611b89f3b44d202aeb02e8ddcccb72642dfe420b659d8a04bf42ab095324a83a0999668aa756b0b8371b7523e7cd72362aa6e5e2ebe473f9a18f307b131d61d632c2f09aa2fbb89f96275fe7ed0c118b6dd0c8afee15ad2e15c467d60e7d9029fd3408170ee39d5d06063a3ac7366d33b42503971a64dc8fb2ffa6c468fe4079fa8f66fcf13ebf91d1647c4a6a7872171ac4a36e48d28cf0052f64d94253d366a1bd3e13ee951a10ca81d383ff2f72d0281c56fec850279490184752697422e2e739a38970550f568076e7adf7737244c95c8714937f0176fb78a78042639daff15fa1a3331075f938ca29335b0314820de5ca039d154bf5e6ff5b42176d756cfb6327a2d26c9e1e4d7ed13e41fe7284dcd5204a879707d1367f84afd22a3c73b8921cece720d8dd0412463008362b66082070f2f93317c13a6128bd10fd91da29fcfb4c7e5f838b446be56e330908c4d61164546ae28f6ab05bb632d4ba8910ba4c6b3e98061141fc6a451f83d853ecbd18d6cb2df2bde68e1e75b6aefc97f23eea3e583becea7e282c3c1f3470138640ffe061a33d5ac59a3e5171d07a3f2d34c0aef5bbf3b3c4a56b075a2e6a720c5e3c8f97a0b710300a66e4d7b691121fa08b754ac2e4e6d2993c1457c9306f29ecea583e7ad6e71537128e3f769f7afbea3f0566a8e23df704fe4253903872a68f379fdef794f643b052d4366c3ef7a294c10b641335e7b67bd78862f0e072f07286e8d7d264f7cafffce0bbc5f330175db9f9b3b664a837ae95f17c57067283af6f370fca84071f341089864484faeae7dbcc63c6d711fe21d1c11ca6d472e0d5b5b492bde0f430f4987764f4a9ef6554c985d0060b35f98261f644905a72d575bec628741d3ff23a023f5adb8c7fd25248bbefbc21298a21fbd65c69671186c1e14cbff70b8da37b4c1f6b8f85d5b35d095f607920a51ecf5bc3cc43ec01806779d50455be3620910baee555492169a3be202c8f3374c0604026d0b6fc5384ac317701d74f3a92d1a4016bc2c40779acbc6258bc1f064beb35c49745714a1f241cd6eac70f17e9b37fa116211c5eb689a907f97daa385c02031ef7456c147f218a1dbb69ff108203469c75d6c923f3771de7d09e8b350eac07e07e6c4e1509dd37de071d3940f1039d86e90cb7ae7d0abcbe7efca43c93c0d6b7b7e960400b220e782706b38fc9984795ea2212ef911f11168bd5ae35d3f1c4f519091a729de95dc0b25c907980ffcb634d0c92ab802302ce0d5bc1d51319f1423bb585724b2d275691b3fdd57b67b1d572de2b6e4279405c2800c4344fe8b9e4105bc14383e94da4d035e29da5c8ac349339936f59bc94a0dcaaff20212709a295e9e37274310786d31c5ea84435d169f3ccc9636263140d313e530c6add23f21da87e721d1598526007f51ca1943615dbf91f3dae106184b1741eabf94208f2f41d04113e8e6c299b33cb0bc5c760be47798558f33c1f3836f85f321f96226fbb3740427426a378d98b05e8c4bddaf10ab682a9e5017efb4ec3353158c08dd6cc16707279cbcd368fb637c0c1ddff560d1affc8e823d6391535bdde9f98a733e29cbf7284907c6a6d8188556ccd97e18d3a878c44fa6ec3a8a9fb8735d787bf24d6f1720761a63592eb66ab93b3f885ee38a08152ed664815ab02291b718ce5f789d148edaaf8a453f5cfd3e69aea5e05b381c65b250fa31a5f3d57ad575f0dd834b523eaa3825ec42fd386cd920dc090c2964c958e25185961b94fbb02c1d06bb317722cef99bffc2cffb96847a837cbee5ffd38aec46c1341437e1cbed63fa9cc53720cf3fb23bc8eea3213912c60f99e00792fa0d24ba31d406f23acea7f7ef0a872d6102e4000bb9bef8cbd3d54c9ab28e8c0d679b8ad5b3b2d06301be5dafd0b72ddee0c357c44be2f20917304b8580e307b4835142349d2b8d150cc252ce0c072d149ebaa17b060ca1f60862814719cd851551b5a44fd2b4e31ed678fd63627230cf7307b974cb39f45d03ccb7a8909e42e2c955fca07c860cdd7988c7c676272439eb3edb0ebb834f24a3c344f8052a5e483450ee5608336fa0b13e4a709fd72dfb65085d8762c43d3e25e7fe918ccef6196cecb0016317b8ca30a4f66162b0b53adf07335c0c4fac3a4e3163a1b1a2f3da9541ee34e8f5e61e86ac41089c10b323d0604d015a35af0e0b29b33c88bc71bfd55405dfa3067e82646797c514e3373c662bf89b6e5556bb3b96bd7a88cf854c1f0c57ff6b95a8aa5a82676359253981153fa9a50aab638e908072c767aa6e37c1a042e0e8c34144fcb983b76502985c8075fde3e6dc1f0d01a5398e5f0e364db8ee7f7d72a85d925da0cd308d86f21c04f3373a3ba67c0be74bdff61af7719ea452117fbef207c0d606d3009037249022f40c1107c271541fc253d9f89d4119f57510524302ad5a35d5f9a99bf7203fe52a6b0807b9393d924edcfaee9268fa3157b4d50aca878994c737426405fc8614b4bce5a56db994c2b738c94669637d4903ac19a546dfcc0c43d28b68d29f017b9a087507880b6dd9bb2d8d5117fbce81c54ac26e6a41e64226d9fc8be217b64906bdc418bee3955f3fc518977f6df4db56b049a8e4c6699418a893abd7202d8aea25347fc0c69792970233377bbc7744a2f790cffe94dabcc61e60236725898def873f6310f57deb4d04e4155fe682a53b07dcc1eeab861f6b972f3de72185fb2790abc1ccaafe6a0e831ed729e866c15ea832842419cea7a0d81a19959fe5b0b24b4a1bb0cc887ad91a816e077ef9a193582e791ae9610265ce99fea72a4472af24324a30db8aee711b1cfd15ee9ca25df83226711b8fec03398508f477eafde2c159ee90dc33d00d767425f9ddda2d6102abaab45ef95357ccf0130725ab2630ecea62cc184374094d36136733a8e23d00f0a00c008c30062fda7894a4f8553a0374e14717b75a43254ad43046696ebe678314f2b0a01bba24ec15b72e0dfd6210d7cbe7151cb42392d559cc8375639d554e67ad99a43c4691002322d4e6f00533497d9e1622618af352d0fec093ed2c4ab171a1e36c72c82dff0887295612a2dcebb433ff6220f8ecdd8aec6137a460e31bea459949794482d122772d1ab9f41758fce3de0c15654af2927cda29e560a3c69a147a97ea2dc9b8a39724526b2fdf2743fa1c03fd491eb98c8982b68a20d79d2900ca110f9ed41b77c36f41d0df8ed6939105cbf8c9c462f8652064f43aa136efc707649ddbe72374b697699c264625af8a0a24ebbb24f535feb9c30d3b16a064e49a04edbdc37d9f17218d6aba923b9cfbd7c09db248d07f2431e2250ec92173c87362641cbdbf91b4b0b65cf67b34ce8618a07fd9e56158620640b5fbe30178e7216d547f4c44d24721a93a5518d9c4bf39ac71f7292632a76b91321dd56f9b1f586f1e6426d07c8411722f457158c98781e09b7b77a2f916a06d381bc7361864563ef92800796f372c66a238c4b103637149e92d7a2bb18f7dc5d90c3aaafcf37b405676ce6ef197268f33a1a375f1ae02f93872485635d1b00f4ee6d36cfd9c2a446dd169c44094c8941ecd6c5f17005a36f98745c1f5f95c0f72949426142a673e1e845dcee3736d5c10abb821d8c5158ccc28cce603cb399fb3b2fa0301d2b8fa85932dde28f35b71f5d2d270a082b852df1a41bda853eb49dde1b38ef2cba40430382dafeb9720f977b2ed5314989454825e9b3b200fdf53279c2dbbfc93f5cd9fe625fc490729c977994660d38af6d1dc132d20c2fc8fb898a9b292ccfac20917b90d132e37201558a7aeb0b93232d6e9850ea484998cdc20cea3f17c0ba07c4e7a1162f512fb0772c10624c9f5162249c179592cd7837cd4dfc4c3b92e973666ede77ca93726eecfee2c79ce0823ffa0df70510db6ee3f315cccde5f1e1b1b74290d8ba7772950acfa88a36f9ef7caad9618dcc9e863a52574c0abf35f10325503369215d5076e63715c68a56e2084e972b28f370fd7f62d209e29ed262158e765de40312723e80dd8ed5db04bb7bce1fb85b0c9304638f176af6ad26a25e8c3bca8e422e451952518fa4dd68a80ffb1c36a28c60929861acab5db94812832a52a243609b722ca3dfdb215a31fac073cd203af28667bb756b8242776327ce99c3b075829723e780926e9312e4c76ead4ba24992ad9fe1f2230a3249f8d0cea3001954c574156e41a3c38c3c3593f886283e961438c4a4fcac0db6fb20f0927836bdf42d3c729833a173eff5e7fff2a9ff89ad9fd98d35fbcf827e2210521f18b223ee93fa6667d71e942345dfba2ed084a39d29c7eec7d9f3ab2fcd52bda5ad35ad44dc156f3556aefe64a426817cdef5ddd58e3f9d1eda244216aa6af8e402c0846de87d72f935ec9fd684814822eadfd5120879040fd4021848d51d650efe03326f8d593531ccb86ff40e9ed6448627c5a824a7b60a134587a3318778ffdcf55fa14f6b723e163aad4862f779109f97ca0e9cf4c893a5c95a3ebd9abbfc52b5a41af25d7249d18745e5767c546f419b56e9791dae9127409e9cb372c441a3a3218d254d72d1e452806b9a92e511e0f1c94f5fe977908db39ca3538ef44ef0405627b451721fb5d81522f2de21191cd29f984a59a0f1de03f5e034e9811ab8dba552cffc54216a721a7e72a890feda542b2600298a5c39a5c6d79b2f456969091b53635b1e5830e13b4c3dad0c46aeec83060627e2448c092452008fbd8928cc926b8f9141f69a798476770bd8c9be4e6e88225e9ec011c276afc16470a3ed255863f12d7288c28b8490be603cdb23f6e4aea75a297d3e48e291725b3ad8f22b5ddbf9fb72ad2fb099e59b627d2aafc8cc41d4b2103ed825b66d43e6b7bf022d9338229b1956fbce69984ae633af4234a9a4e58569a690739c8c88c62b79627622ed92fe72080b556455c23bc3db2d2c813ed56d4b92cdf0d5c0f5a910b6f6dae3a8cfbe66ad974fac7e1b143ba18873991002bf30c6172be2b2faa0a88aa166aad89c41696ab59c0d1d41b17b5e2a09240b3f447c0c1016ff56980877eb6721b909c94c727253459130cac54a8251ef00d2b414995b1126f958bc62405cb4f547a958df7299678cd94a3ab2913d4122a8a7bfa40274127ae3beb4f32f727cc63008595d35d8004de67dd2f1059cece9d57c53d22b9089efbfd689798bfe7eae3397425e72c4dda3be475dcee58f0068e369f9416240b1755a39db161cb556f525b7ccdb725cb4a2c35095ade688191eb070d01476441a32d3e0160afdcd97010b0dd86e72655796c235d407fb4713443e87fa2b59ffde0552c58b493f0601bb2d5ada8272048c67d1b69f1f18d8fff580829537611d55f916f387a2118e43d610355f555aec91e77563a54af4cd6dcd82a3c896de1c7e8f7736434746bca328132ba158726e130078f3114fac7ec3247d6d66d01b025d06a20c220f985b6e3174681b3172e73a48eddc67384c0c9e14e1df786252a473a3a9d20aaf16c29db813187e615306a7ce4939a3b6aa535aced2275fa0ebe02e518e7705f336857f5675bc9a70722a6e7aeb4c063e2759e38dfb4ce9a6f7ccfb3d0810b8577216e30db89b89fd729e8f2a5565336d5b7b26e081a08105ce6474a6c0a9478b38282857601fa3d17268990108b2bbc96f95c8a149c16a113d9e44114fd4f311b51d3805f06fb63572387ab7fdc08708f8e1a15092685e57fdd82647240e28673efa08a8a5dcb68b726153456917ee70a98f99099f2e9dd2152bc019cc3f3ae5807141802a4837bf727fe5bc64c8a15bd5cb3cc74a6c63f0e26bacad3eec926621e28fa4f1afe47272d516eb6a8e9cd74b73990b3ebf7262b052d866edb8b2271d617c277c2b398c7254f628260e22807fae71bbd336abf7908646c2f2788b69f008689f28e87195725ec8f46f21f8c51e85e93c01633a4bcc6a06e6dd1b942f9419032e77cb697c72139854a9e188dcce6c9fbc1c0e39e0b810f6d5b49019f83e8277681d53654e72308ed19f279ea829baa1b028ee3ec669c52d725e611f6a2a4334c5b74fc99772a349234bf2ab6c69467e93bfc5bb7c9312bac8a91f791acf06517889a43c160e0b684a0ce098ffdecd20718f4463107a152b80dd95f84f7c3e6d983031c5b072c733e690e61f1459423c3de49ccd87ea09ed9ad6319197f11a1c0dd15f807b7233d027e94d14b9b2420361802dcda154457f9c14670a3879ff984fe18680c23622ee12131d4813d2c5329fcd53990655a9103e98fd8d1c311a1c73d5d94d5b27808395018d19ca69da11241ea58c9eba0a6d8d809dc8d1172a1eba8ec2956e242e0c05d30f0b59fef314acdf822bbf6896b6eaa4bbbb5ed1e12659c77deab71187276a282ee1d45ecc9ba81229bc531fab855544e049edc63547460f29cbe90452f15fb58e3d37676e7a6f8a01a72e22c5f43a06c2268a212366a773c8f56c6cec1413141e7f71b45bbe25cb4757eea9211b697935408ee9cbf5064f7b909c65c24433fe8f2586797397e2981dc26227e5c59f86d9a656f0eefaedb33d695972ea2f5eb05fde3efb0cb29db622bb6e7d495d167ce18d1d1e0704079781e81d72346b9338f5caecf0679f3b85693c70c7f817873fea6e950e883356e423a89c3391e2d868b720371fd19b67ab750281ab8811d650472fcd42bc44810ae8380e1f0446ba10e71820081e737f33d6c9543e075680bb44f6d15b495a4e900bc706110ba3d6f37638bfff2cd9dbed54b7da59995c458972e2d8fa6ae852525b174d727ecb16ff0512236574bf3bfc3a1147def8bd00eaee10fc38be83c59d2e9e793f13757861bd0bc69b6b8fa98aaf54f2c3aaf7ca184bf9ecca92b6e9612dfaf956f726c34414a5626d07b772cdc79de83d4349122eaa9b2f710efdb635e32f221ec852faf6f79b0f7a6b8bd882e73a53159600941b35504f0e4370f637782e1c721590f853d2fffd369e03564b8d9296361e4c441d2ba4e0f0a15e015370729e72616637b611081d6fa017ef0e2c2bc5fa344388945aa994fdc37de7bdad520848da72d0cbb6dc8465bc70cca1757eab2a64c2f5049c947c6b5d7b4f0d5f6abb72fed827290a0a9362cb005c2bf8babd32766396250faf2571e1c1aba1774fda7241c2e9971940493eaa77285f80a5508a6be37c4cda86f3f10eb900e8d87928723895b6b00f0af41a455b858bb470085cfd6b2e899a89f0885b07332c2fbcf072d55337933e78c497785f5e0027dbd6ae4720af0dc8f5670b2eab51c28185cd721ae46295405394445051ddb92a7928f938d97a59fe000f1abc3d889a3fe10540555a36b5c8d51c0165de4666008974726ac708958caae89c98315d01c04ec8726f55ad464ae2842d40ee90729633698c7343c63d6391f368272b65cd43549516915a64af21d7612d07b059892cec86868836acdf38a724e8776d89704218d87279bf3b7208cf979c0cf559a52cf2ee607f38c68e137606a5e7058979f4af0534dc12fa72b83dd677d1cd235a2ecb4fa1dfd563e7b0a11aa7ae8cfed0cb833967e5290034a2f9c96976efa71f6e069987e69a69813bc461361c377d77205eb74af766588613d8add9d7db6919b2e417b389b71e43fd27312ad2b705b92ba9533c0756afbb32511fde87ecab9a3ab691b5c572cf83b762a4916e86718c386a372eea580953fd61781468f6a9d2ca8e4906e6f758d58cb89c0f7810e020ffa4ef1e75459f10c3e45e5d0f342e602829ce1539d405b704ba065f61edc9c7f9d738070e5ad51748b9aebd30822247c7528a50ff9583ce86f11d7e25101fb4f4e65a72b870ad488966fbe8f64e01a5ce9e7f5fdf5e4b584ff302a349ae8020b7020a0cb71cefe0be04355cbdb1eb967b8caeaf2f88077aa5c781381ec5af75abf36a50fb7dbdde5a4252429b834cf170f2c9217acea5001ced6d7d3a50b390a6f6f8723f2f43fb0f2ef1faca7337c6b90860427bfddf3e66f0f7ab0ab133982a5e9f644befeeb56f5e1171e96b6e3369b04cb1a7fc05c36d66df80c18f52489e1e9a04d90b6063cf2846a85b7b550b5ef1637debfb2a01224be24a6048553fae38d572857f281eb27d6dc278321a21f0538bb55f8553a4ce2418036924383fa7533e72598a3534a50ea800cd6bbcca52b5fd6911376381cef7d49c81c79c927d3c3d211a39cdecbc9e21f836e87a92a9cace304c0166115023113dd1f7a0cf757e67363f364cc602776d0e25d6203efeb8d948fbed685909aa3e3f9ba98f0c8eb86b7238094302fc52da0b83583ab9ed8617861bfb14e0fb55c371cc140b8881464472ce6dfa7e09fd79f164bc5d1bd0996fa6512724523d87a377b74add9260879344429748f28cb759fb7466232c118fe822120fcb0254db4774ac4c4b7398f61e6b75a78dda826edd2a7e746ded8579b83181a9c99332bd454bdde1d2db7b9ef372da0ee3b91dad483287919be69891a6aa6959e19268154b83e75669539c1f590d01034c7bb40be9273173fbd8729fe61bd84136a2f9a22dffd81018ecb1bd4837b8693e5bf2f1b4dadcf2fe574fcd3c4224e10a1ffbdb8f84cc076713bd330c721d9fd58d62d0addecebc018a075af7a490bc60d7cfb61a443e57dcf79cc1c3724521b6d8344f79f21497dc387fa5945a68112a5ad86b3f3baa2c3f52f4992372c86f40d286e933512e1d7d00b6a93f586e6cbacc0a207d80afe959fd093fd37228653a67acd6b7a5b7acd07cbeafb21dbfd42a94e4f966e9da70cfef95913a1689444600938cdd06ac82ee69b9193779993801ecacf4544ae0af9b7028e27b7259cd14649ced019a35dae5333b3b7c37b1b06b68620ef83006e0d8185a130772e1bab42dd42c4a481cddd4263c379e6a752914e1b79768a04a8e6baaf1035b727be4ba85ba41c75a9cae5b0302105f4ca631d8df77804c1719bbc20b85cbbe72c0e1967ff671d3881d40a2d50074fb06e3c22f3e0964bf74856e3086f30aa72a3174a3efb7acbc649f00abc4eb71065c7e7c2fbbb26f746430323518983fcb723345ac1ab4484d4560b5e6f0853dce99aa9a892d252d8af5edeee8bd66bb6f462e9105aaf0c629553c251a0471255b033bb146991628510ddb07e2a2ec303b72f6584e223ddd5c75a7a2433f06e968d5bc5d8554999be7b0513ff23b4605a07086f45113eebc30dbd777555a4ec4d770eeaf1a2764bcca9a4562bb24d54eb907d9320bdd87380e53784e93949a33301782bba0046f44a13be0bf561388c4460f9ee1dc9bf9c5981c4f0b3220d29dc8815d24279b9327bf00edc8e1c300d51c107465df992cfa33d2b37217a76370dc0feb5d61a8f8cc9317d74a892df931e2720debadc56bc528af0ebfd78bbf6bce6870d379fa848074bba93f8a5810319f72a449e2b9b26b2d72184506ec0cd5205f9a47340cc6df0dc25e8163c644adea72e5bcab483272e04f9d830e419c3a339a6ec0f027e38b8607b1173ac4c89c8e72f78b562e37756f1d3ff4b0198fbeaa67126b6d327930d50fe5b9e011b70e7d72191fc8c801cb5c6cf64d248f3778e81f47e823de956d06c62e563bec39124b728ab093d4fe228513720d04e99af0769e2c6b8a583da8b9bc48b902abc5ebe47251de8f671bff968450bb5b6b4f4502b4d2cc019351e3a7adffb3e7e2cc03d572019915b12e3261a3dce5b2590ce88849d8bc498c3d07fd7faa32d25f66538372fc5026a73323a9d215c8d4f1b82a4f8ea9b5cb0b3e64ecb29066ffd7c2f4f311fa368bc880f7ceb171becbf0ad587a5020ee20065d6742e431cd2a6dc9700e72a73897407f87d440381af4516589f94d42687f9e52bd0b6140902b2dace57772b0f4abb36896f9181d0f65ea55f1737caa9b30eb4f3458144ecd251707350972e8ff1ae383c60907a4d8127a3c4e2c9effb684548080ea7f90a544ba44a08c3b242cf7f7accffa8d82f6ee4f13ea0dafea8d2488e756269484f5f6f5fd4e0772afe9b1498bc208ee38b560d02f4f25bf54a54f50cb45bd2cebaa6fcace5962473f8906187ae50088606e213a3f1fb562a3191e11bd2bae7ea1e7b2bbf9da946833d7f80597d05dd9380f578a2b3d522321cc2607c958d8acfa5d7fb9f68bb77230b84310368513ccc9fca68e12d36e9c76de2f4849d346aefa5f188ae4c3665b4fa91ef60f24fa1e26cc5176f04257d52ba2bd01304213b6b78e028f79d6ea60893b5a2fcf58c38003a1663e24b838e7a4ddb38da2d74d113e0168816a920b2b3447e4de19d5806e1366e6df3dbdfe6a59da81128d0fd08d0a0c3163ea5e9e42782e30898af793b14bc0798c59cbbc669fcfafaf3d7dbf9092ca73471787fb72aec072e4ad1ed67450b6d52efe8877e88bf483daee2995ccce96bd698caab0722966c14b6ab00bc97e9143269c01610ee6ce51f8fa7e8ec2ef45d804d1a2bc72dba763cc12d87f7005f49b00c02b796fde7059599f2170f598d345a325eb5572955e2aaf0eda6b1581a33484da679d897551a813503575e97994bc09eb15f1722e37a8fc3c3f5fca2505764889082892488661a550b54fa5291f3dfbe0899c7204752da13720a3292e80f21db0b7cc4899e9144ef376034b9eb13a41950d5928bc81fd17fc7e656c21ae6ca3c936ec15d4005add19fa109791699438dec07972731ae3da41a18d00350aeb6dfc807276206172f95fee3e9fb7b6257255b61d0993a6fba9edc968f0428093a57e985b67b65160de10c5a7c3f230641d67fc2c72575495c39f85121054de61c21e4b31e93843fd72b4df62625cc59ab2efc25a7298b5887d1450bb50dc38a8c8fcce39af6806b460b7a9eecbbc08cb03b337da493e38e9c714c47a4c1c2234dd807bb0e82e063d08b698a04b888fc238bf469e72c9f8637254fa2fc616e37033bbc58173f606df0c506617803eaa8cb68014d67263926ec70d53f55478d887e5c58f0fd1dec3cb317f463093a611ca1df07ece5c129227e09f9d6d9aac17214497c8fa50a2dd70d04f45f5da77dfe010fd97214e650b93a10e439df945345a89ab84fca2f78dedadaa8960e6a70162202d8de07285dfe42d37ac46ebec498ea27abcab58c6207af82c623055ae2a1589b7d4b82023f5bbb1a45b0b457af494a5cb7ad7214c2196acc594a1ac0824c29c5b225072794341ddb6dfac8d5900c02350ccbbdc22580f547324c29908b80cc95a600972f3f0c2a7e3f4be332f3eb96525e5a888efdf40206f35eedfc6f791913ce33a720a03a3bb76e8ce9aedc52b4b221037dd21c72d5ebc06a6dd5f2cb6756aca9b3449453c193e4ded368919b95ca8d09e886c146c16a416990174ae5eb1045c0872a4e40dbad976dd2e137f1a5aadd91897a3116e21836eef245d5865e8d141347235156f786372c1c87b4571e1424a630887cf3c2fd2c4ad0e4b1d73e96c8b4a7231fd45297d0801ec6b95a4d2bebf0e750d833a40a0a0a7d23d99c56447b74f72580b56f89673cb884d2e8231843bc81080ce1d1cc5aeb67cd5fecc19dbef073cdda3fc4f35c9647b67d6fd52c7a98e181c3254f081cd7705188baf5daff8c372887ec30cdd2ece8c881ea019e92c780d0db8317a06f0a67062ae59f7d6ea1559d8ec730b3b74199de89c355654012e158af0e060a4a42b85f9fd8f241cfeb1725050faf92fce4fcf077a9d644c7b2f56016c41666dc6eab00e400aabdab89772dd76b3022a9eafe0f23f3357a8017018ce5847f948e7168f96595d64d5c0b4727e12d5e5c2e486cb1fc604c148654f3df97ed20fe3894c892e0da232681b9172be8daf2988ae64f3d3cf57a02dfa3788d5a7e72198e0de3f1a61b1982e212b7275268945732b202a3ddc9e9eb627ad097b7ba2259e092ebc61ea8664a78def72a475c95469575fea988eeef637b4b2fc660036bbe5e7313bc82205aa04d47a720a5039ef2c7921a4d3760dd4f136594e624822f37a54f11f437b154a2dd9e372ccfd706fa7c8cb5b6aded17363ba75dd95f609b401c33e1d6c59bd44e4797f72565819257be628ae08b1a8bb6328fc0e26a83c08d2a2df1e1c1190d552146053140b366819a454272a08826deac25e97e2f34a5b1e5af0d1d89518e47e63097262c1e970abc57ddb9b5afe29129c0486c173de7f8c870d0a4bd5145720185e722dae5aadc9950cf5309962731a9cd57b29073ece5ad22dcf9d0d0da1f2807e72bffafea48ab81d139dae8c031290a3e92d26d25dfba5e324d6054b85defe8f72cf24acd187c9137761fa8c796624dad6978c769dee11523ac25407cd7a770172a25d21efd2cd97243847e1f32601a97462a6aae0843a7c3d40798f870f8453724e84c046a6d58481b5f1e396e7de336e01b4e96e699266bb0c6667a84ee81f7217b3a9baeeac61a5ef148e9b8b2c86c5858176f4b50b8d92408d7ae43fec6c72ce7638e132418226c8aa22de21f8064bb3a3a8fb18c5070bff6a4f7afda208724a7d034adbb63705720e73b4774faaa98b3c453911d321d1cc498bcfc8aca8726bf52fe90b0b43b5c24972d58175f383ae4e03490275a7f28983f6902528bf5c348cdb3f09f6717445d18657168457a5903e7f195ce029d18f726d25ef04667229d903ce018582c22df24cd8a63f408c86b7163dac3754d0e5fce9dc1e72447293f50cb77e75af7539ba64c884933edfe2239d4c25d7c2f54a00692deffffa724f5f48235aa3bbec992d2a16bbbd88e908b34961b0ae243792d559b45190734c271a2da2d008aabd1f63ffb6a0e9c7be7916ec40a9bc69f816458b9b0cc2b00088e68e95e340e0888a1a280e335e32a3147d6a148cedf36df5123156219dca722a432b86148612fd1589917c94db35e75243818559fb63c8f99c344763000d7201250fc16dc9fffac0f08c71356c5edb608c9c86d0f1306623c0d49f9d68bc7231a73988de6cf583d737aa91c812b41d96196ce26baf732bc9d38b8f5c1db7720e56b156ea826b636d4ddb4deb2cab5d449953c75a84aad0508fc7fc1e527072ce8045929f8a20d3ebf3e8ecf2f05e4dfa476d4e824e3a6d1c13d94094433134c3d3206e3452fc02c8532f6ece0b396d960bbb18d24258b2c616b6b2a0acd07237fe10e6d5c6d5affd5c4540f3ca69bce66e5b9363fc6ca7ac531311a523a4056d902389f6d589e6286bf0ffaa756cb3ef0d5e69cec7ebd0be2bc93c1ab39716d916a4f3044c38737518970289b74d0a73de14727ff732bbfb8d89e570bb3c725d355b1c7160bf1ffe013bf8703751e68cab7acad5eb2d99a90b42dda042393398cc6305debf4937f7f901b94bf07f828bf81ab6eccd8ab6526420037fb7c3222b9f7e8fdd5f367cd1d4fd63677efc5e26f32e119d3519bc20968bcd9777de4c743db097bd7f09f7d7a128383a8f3f80c467905b38ab8307acfecf6e0dc9673b78b9488656a8bba28c9913f523201e6bf1191ae23e99b8219001c54d2ead0e728da76d0998729a56231a3612739f9237b766ec625d2117dc6fba9dc187ac0c5e168da86dc97eb9c728124dd77c6554220ff121e17c125bad491e735b9bb2087248ae2e8465e3ddea2d9805528a53f1a7a8563f693249143f32c55fcf44368b72ac4734cd6c4d8dd272d83b277a4ff73db5c3d105bfe650fd6b814ffd408ea4722bb95ca4ea054cb9c93bddba3cacb229fd58d680c5e7d1b8335a84be53f5d872b59b93a759edcaef7021b8773c2343bff581e712ec8e72ed97c7b1099ff27272594a0ecdb80b982df29a04ef321ed11be2f8d2c6ff3f159387e93c0036e31a5e6e0ebca88fe27a08c1011a5255d53fb0038244d9253fbe7dc2a2f6c57364013684ae264676b87e48717d332983b66cd61475998c6c142ca1bae7a5c8e01c8819cfb5962ea0c4c9aebb96c2c0b7ed6cec6a25d237ccf0e5881e8aaf241b68cb7204f9196553836157e0677eacac2f4a5f01f76a206ddc4c51c13ab9487c394572c479dddd99497fcbdc9172c13e3f557dd9b3cfaa6ac11dc54f78c0653b434b72c89b6a8f3a408cf3a1f3e3a61417c16ab3b985be78248da2b0e7cb555543914028d2736c35799c1e5fcd657603e3db6628682f606618528eb6af27a9449b6372bda984756fb8f3133f8a2cffa746e14b651060ca110e6723384c768e71e79572e8cdcac7b002e31d71abd3617b006cfc02b7a8f1a04b66985ab6da77f77cbf7202abc552097eebdc27d3cbffa01303c2d98d2865d547b96e3990b9ee38e90f72f98376f0314274a0e2e43a89e3f18195a41b76c4ebfb200600d755dd98190672734beaba8a1d1786142fbcb472fbb895b18ed1e8172044791f2c29e7047f1a161ebfb67d76f9008a98e43c57ca6e135ca4032c60cd94b20817d844e50a373672c4c9ab62467581a0276ed2e6d97f6a24c80b0f3bcacaa8949c71fdd64e848837799f418580ece4fea1733671b5f555c4ac95036bf6a5cf003229d5e779052348574cd6154c2f35eb2c20fcd41f1e228b960ab567db50fe33baca54937e451572dccd9cd05f0a80af69989d68adba265350e93729ada9e6a756b48c3f75ed01722d25e315ca120f4ebf7a4a5000f1cd3f8a735179c16f0b316c73695cc1e4290e57b66066973ecc9d8641066a78f0b08f88e13f392d08369f8ba755d0d564da079130c0932f9c40cc9b48a90e0fe95c3cfdbeea3903c994d43e8d215ceda2f77226081a8b08a4d6f38a08e3672bc64c288fba8039c36e42351abaea85b1e87372e3ca8d186b77679b33525358d21625a65a96b776b6056ea0edff9d428547941cae031fad910d2ff6a11fc0c1fea04623ccf2771a80c05d0d2f97d07fc47a6e094048676aec50fad15bbe471256a8c7fc334f0168587fb61654b6b6497473c7725b89748d4038c09848242604ee1ad5a863279b1537142f99827c052e563ddb72d3b11040fcc31dd0f520cdb595f04ff164e7ed1e91da6d5d7d92b579f8845d720922ca209a7e0168f5f86b73c63abd8d42f92c8a103fbcdd9d23dbb3e8a72c72767a76286aa34e5e0f0e05b23b097eff710f39abc996b2843f103a1ccf72835ee20c1a0b4acd2e4dee9673c7bfbba624b65b5098b92ef7ea479f5809f4fa4472f614636662c2d68ff1913ba603a2828f21fcead4dc1a7cf93752e9b6bd505c7206d1a6419e0e0a72ef613df197d43aba1dfc5af6695f200f06d9afeb0b3ff072920afbcd24bb7942d1708b592146f9fd7865a8e06e96f1c4824101fc73e4ab72cfb747070cf5d45980eeebd0cb59a6fc3f5311138af4691c8ab97f74e15f1101614362041b7fed527d73993067ec9e4314a970079962853cad9c8b682f8c78729d544825bc50ea679a410d4fd470806e9fffd0141f6dfbe9ffa4ded83ac60272a14ebae2ed0f891c87578201122984e02f6fca235b2cea056766807f1b2f8f72f44b1ea0202fbf35c01c3bafaa46796be70571ca4c30a1c2a611362c1f27362fa0465c113cf183c2ca2b7814123b67a40043ec216fa23666b86e0c4d4686e56d20bd62e9dad7070b5e6060ab67a632961f2a4eb4f2122ffeea92ca836f61b57290b1c74cffa9e40bf47ac92711ded44b27d5a2fe4fc35f850166944ea0791d720b61671af4e6e97ab106f774598f2570a8ff03aee34a8cb953e145d4ea15397282b1465dafb55d393c6e707122b4d2a0a70003c7172e9c2094afe6a445df8d32a247e6d8f1d6083d4bc136f737f7be081b76b5d4c4f40aa5ad70385ce1127b2e6735bf0065de38c9daaf31f16f520369b93bc7be15653c8cb4223aa0047ef162e11bfba2fdf68787774b4e83ab4179b49f33dc0e673d47cb64eeb58672e3396f0d4e942b163b9fbc2109f5744e1e2f3fa7b1121251598aa174fbcc5f596c735f7e590437d0b9bfadeae14d912af3c51addab6c64375d0c312330e94f9352ae6fdbb378ba7aeae1da020e953eed7b52d8859fa8f527dc662e6cf7632225e06f7298b6043189b68ec14c05848f521419b0a3fd9637b912797e9d4ed7361058d2729f1cb44c3dc73d1028ea779b400951ae1574a4946500f414199b317413ef747236fed294093a5b4c70e9b03bf209d9f2668e54a3903bf92570e31c4da52fb57256bb63d3f94f487790bd11a962cf8d7c2e9a09e51eeb04395f6248e21367461c839f9edcda8a238030e657a4a62a99298c3de77e9bd490d35f37709896bb1d728c56d92b0a055cae0688b2ce4552206fe3b2d3514aef9bc0a4f0297587115712e76978764365ded47e8176065f59f4864bca1b22f74b5952326521b060298863f481a8e94b2424a3724de625463031636522ddc9b02da5b4d48f00818a2da8722ffb272a8936efaf474bf2920a81ff649ff946fcd76e45d5314383d5556f24117226e48c76a4556d0b24df8ee22e6e7c8af8263819759e0d311f0dbe4af0e8729f79a83a6503033fc21dd40a64c6ac3cf9f618d875c74bb0723fbbfc5fd0c172a7eb67233b5bf584b70719e571a45a443d6b2a95b8c939e0bd18133299929372fddbf87128bb5d586b24958d302a4a142da915056e764d53b7fbafd79b72f6728ec8152fd6f28591a871a905d27d8041b785d8085b9ea006f3b827d6c6124912f1d1eae2c7738314d19149a0330d2f7b46ea2e7c059d7423313ce7b19801516ecd3a9b7dc098c0c8d531f18528f851353c656c4b61fc9a2a9eadc5b7aba99b72722274420a3297000b70c38cebb5501fb8b435029a4bfb776dd13c4b79f9f636e9798fcea8eb231faf4f5422233c09ebbc5ba905e1c6ef09cfcd2ed9eddb9e2904445f5b2bcacbeb52206c51b236c0b4b453e808e5871424e4cdd3e231911334bf31cff0ca1391fad74fc535c317fee8699becf9446572bcf917fd47d032516b16d959391510c9c79e908becf4a72301f6305242ec415ae8698a547087aadb4e593e01b28dcf4deaec0946ac7df163da17fbee9f661b01bf069b3d9eb2cd8c723f39f5708792516145cd9d4d60fc5747d52e2e197d4e5936c7488fe71119b11a0ac312f8cb0d04bf610ce69c719234c654f2425d7fe87555d5f98260f2308c59cf9ba4a71b497f135a82dfb76e184201470cd1b3137dee1ef0dba12b4a7aaf5e0ddf5c2407879e0bffd8a339ed8881cebcef1d45b5e443a702d3ac5b99703c7241b7128eff85c3d743b4eebaf0c88f4dc2b1cfe62845b8dfa16585a030d09c7288cf6a9e4bb2048cc5291cf78a5bbe558f8b01dbe8a340d1289de778af620f72e6f77cef01f793914006d71d96182eee2b0466e3ba519ea2efb42768f897cc72cd7863764ee3b3fbe98ee654dd1fe9f85ce5b41ed8c4f0766c7a5096af8ace724443a9eec06f86e6cc6e20d1f17c11eb41d53fb73eb05e113077eb7516067c17b0de4271412d5a1593031020f7d6804df0f22e789db94e1b1e184217cc13414b8b7ad8646472be98cd29d084e5c41155ff50dc90213ce361932dc0e072550272f26404db807e93bb23f8568da21f127f249722382f0e67ab8dccc3966ab6d766247d89383e81260c20e0b97395c2934f12e57f0f8af31b0145f13d445efcea65067fa8b7bf4c2c75f9568e1875f62f1abd19c4023023e7c453783f60f8bacd47dfb5b1208e02341d9bfd8bad1d94bb13729e69d0a65bb3052c771ed9fe80a827d347792ca1d68451a9dbb18272eb2a847a7ffb861bef183a00ede3842c6dbf724d3a5d21f040a8fb085a8b4d73b3cb4b421b7442639bdcaade27ed12ce1be072e25dfa09c1ccb084874b594896ff10a0751e5cd468a5a40fc94e43185e5cce4f0e5d225dc2e501f53dcabf7319b886223b1ddab0a14f9ba52788398be8a89d721ea57ecc2f7f99d2d48d2b3887a7fef2d2798ee5058ffc3ac8b57bffd5438d5be3624515d11e2dd6b83665f427952dacb958070bfe7f0c49314bb00e409ac523d239b7d0df2d939f3ccc3e79450e822f330d30aa474443ae7393bb588b3cb772dc8b78ad778b7424bb986f670241da64e3b3dc4f656301da7a40efa4d02e44725b2f7b5fb74316d5e9553c16994819fc17843d43203d55a0e04693b330796c723077566ce4120fb6475f7fee4a26ae5b61662ea1d3492e845e9081a09ce993723570bf51569656b5767d45afddc368362e614bc427b148dd197c0a6c17e7bc728b31e28da6a1f3d920498dbeb4dc4cbdf734e3f6dd50be08aef4ffae0eeee70c7f808879dc0b95f87c27e6b5f61db8fe75a78f01533893ce818f7efcc89b6e61adb7a014b11f7c25bbd90b2e87da138fe6e2136457c335975766f6c4bbadbf72e619b0d477ca60594ebf3a0e50e162b3ac6c0d2c4f35c22f59393a812d0623573f762ab72a53338d3d2a1759413fdc6c5600f5636dd4a941d23381c311a9bb04bc7b93d51ae8985f7da751ba99143784aacc64953017cfc0b288423d71087e727b77e28e0ec8005e426fd65408c5740e935ad08c68ff56025072778a4f99eb10e9386a37e2b5fffd4f8b6afe1b23a4fe0b215bf0938676a5e294f0482a44897258a60991c1c377810e082ba7439fbda5b3a57709e1ec6efb3fb0518a29f6d0725317367fbc575e7cf16477c7cc6f71de57e9c2f744d4a68085f3d339a939f172f64cf185dc7c4a9db73a7e1db68595ef316278d9b235173b94abdb976e4a8a7219105398828213abbd5aafa498128f4558b6caecb184a44343a74e8b78bf18726062f474ea7da5bf66654364f1d14437798742dc3aa299f1273f35fa150ccc7273406dce2d2cf34120ff870f50ff695bc9dc3a44f74196a4172dfc35ab3d45728da74170e44caa148418d6c956740754c07aca358672321e40f08b2c09e2b1720c2307230547b564f8b8e9b65545bfc1ff9cd93e43b1914fb71584ab87fd36358e13b5cf16f02116a7592271825b9f3dc8e66f36b2b61ea7fed3c04f1340e3720038b454362e8029613d7e530e3d06ec3d76eb2401378e45d36f99d7da5abd1881bf2e539cbec0307d9c11dadb6e07fd4476e5734f273c726b0efb2785c9d572b6618c10d5297ac5b21db0fb6536b3dc695c3c71d7da1c91698c26e8822e233b0ff313e09e853ea2969488c199923254a20549b2ccacfe3f6d3217d0547b5f72cb002d6836ad49a4ba0d367dbc6dd764f9849928343ef1ce8df853f7ce78027256b0b52770d1d67a0538a5ae24ca6d1ef6799532ce8dcbed3bacfe7a2eb1c27238724b24c1450f48e0b5456a6166630982f2478d5286cd8449b45fe13be9ff54da2eecf2e31b1acfd301d3044f7a3b01c690f4558ed56d59fa21c6f87f1bb5103b28dc49be0d1e5fe4cfc73326291b3665f6ff6a88fdf7ff146ccab37943e17258e994ffdecfc9fcd8d8747b427ac92363277666289b35203a321f9f576142721b95e128ab25518e2f787c7a27579ea382a43a3eaae49addfdf9c4dbfc9e253419ddfbdcac1813676706a04598522e7116380fc4cbb7cd47a1427e10e0947c65c38238db34fd2931dc3ca7993bdf335e6181a2d92919ba64ec0467c5e4928657b7a48eaa40d9a24a02d5a8b384191f456a09338aa3181b84a47cda51921575724923bf0ecaba839b15e557ed3f3ec657b58423300bbecad6bcf2f7f2bea509644b048925f6d3d4a162626b97a28f0804238383d6700491d63cb2b2283612c372aeaa96987e520ce38c64b11aed9484cca004bf37da201d0494c3eb529583d81ddc3724e8cc2b86722e387d7d9753be56dfa2e8140e1827a69e8a5367b795a372635e5356d108bc4b1b4486ec08d4efe4a747312aed1b2f724cf0832d51036c72f084a5716b50634ec4286f4bfb99717d27bd7f8c5cb7ce2a724ed6634baf4c6cd2669ca8b950116f182d8c03bfe972b17fc18ce559158e7a2bd8067e04d37772f85cadfdb4aee26dbd8057732f4fa68d3943dedb386890b3d776cdba923a9f27bc7e8befcad35cd1d9135f7337c4eaf87640cdf490403f08dfcd3138e0765672ff9af9fff7907f924a6a5df38a9d8962290bf554acd9899079d5b965bc81cf72795fdb3aa8d8189a016c86a795fe8d6be16149fcfb0c929552405f48b9fc6f72e58dde7865fbd5bc3e9ac3a3675a39516e86268cf9b66b40ebb8b79cfc4e8301861b85d67b3c503fde3cbc94a6465b175ec30849ecb1b3ada1b7ee3bf88b4b728e2e8c517c2149a7ad58e4887d721f6e569408c964e4080e970f8f3f42c1be2eb40c0936f4be31e65bf1abafbf0d8169a779ae774092057fcbc12b44a1818872468c85bd23a1b1f3e8accf6ef6959d4673d37831ae28a4d3c3a5caf123f29e723a910adf454eb59b055c463ecdd038bf31cdf250fb3dcdd8e1ab724f1a26ce728c6b8a08a01c94f2e83f797973170c2edf5d120b868a0a881a36aa398057082eaba2994fe13aded4393616774817167f76b8af5f86f5ef9d0e9cbbfe75e1e63c1be0fd2cefb91a01c1b88ff3da2fe252a49213cdca13bf448e9c16b2033fdb7292cff792417d812249ca45932c15e839cb7b1914c1cb3cb58a4eee04d5ae7a724bf6cb53dd5b965e01153928d33fc789eaf1f5e6cd535511e0d5e83a887756726c10e94b92be6c2269702a6af8f4747c6b210189dcf7db474aba364deb796272960c5e68fb901b6d79755d74ae4b38f82f5b8f13b3ee9557a9da47966318a7027da3dfec91bf4956e8cee77020fa85f32ad0d8b59b6b9c65d34056a759d9f972e37522fb97705d037df82d5aa7521af8ff7cacfe7c65d221a6be7e20d21f554e0484940dbd6d318b68cae7d5cfc2029d8977c629ff1744beeb765be498dcda144de240fc363a271dda51500a25765128833c2204a14afbe5058f1dc92b4c97042078b4f40b748755bbc2afa16518195f8f7d79fc4be07bd9be9dc2af5366e472f8dc955c9d24bd4e4761e1ff83d7a260448750fd6c034ac04d497b9f5b5ce772a1782639fd2a185b35ac648114f2e851b647ac4a80a541c626dec3e6c33f1e72e467150d8b50313f5b36d754e9c403c54a520e9187860031f2f65003f37d0172de2add7a1bbb3bd4ada5a20ef71ac1485232d351473ed19b07daf6e166c1082492c83e6f2b7ac34d42a225e453729f95e2bd447a7388cd89ac76ce53a577220207f0788caf52ed55d93f4b16e3fdf12cf96de563ac6aa0dfd106a3d92576df72d7d66dd0bce9f67161e1831274449abe1e6b344e6978ad218c04dc1ccad985508a4084fa0ea3b183f844f4d22f37eb3ec9c651bc8c4a7d98c659e4c52d7057722438c04a5bbb45198e2d24c65ee6783da2586370a18fa26e0f38f1973a097c725afe96457e139be69ca86e44b6d8ae3e3f8eee97429ec9ce971deed4276461515b6a1202459a80ca1787c8d39ad533a5989fe8d985bc61c8d6a12415c74cc25075993e7fff1cae984bfac7becde75778462e4b628dd41a285bf25732819a4348e28dcb8aa2cc0fbdf5d7fd311337b1855db9919885c9a2a91c7a7c71f84d0c7205c5dc129fed968f7fed7abf7f967d26ed107124d6d8711da0a249f2a7706651ab094ad431114d938417ac4dedc522ae587e6001b6ec076a2ce76c287ee2b27221334d0b6b0a0d0c62684831668bae50379d17b3a7765564cc321e3c9f3f7e7237dac5a5d926770cf434b4d2f47aa32488640031b49f2c3a899be7ebb4e94c0722cf9056880b4e7d745d8bf86e7693f34f61994d8318cc039d94b6f9b098c4727ea9ad5539409094b137aebed856305d0fcafd62eb6536e4ce37fe78b67a1c724113afb741bb2c558225151cba7aed0ba2e166cb8616662a0b3807b32973bd72df6e594b6a1e899dbd92514297ff7310dfaa32aa36cb2430765ae1e5edddda729e76377b998bf109ab4eed0e2109f01192e4a16c7df74e6fb9e874bf218786284e7203f0ca200c626dd229b5d24d57173305c5d074f71870649966ee50a43c7231bee8b4b2b7c354c90d77d5942ff96db2c7bea0be733cca1ae828f3b0f52258e2f08a27df0d0e56a9705a3254c61126744ef90a767c62d221d04233ee993a6bbd2de1e79b050b4ec352b850fe44b6aee41fabfc88004dd9cee2c1213b307c72bd40cb2af646b52ef1462d2de70b7ac5e59e17dcb93918fccab7220a407e5b721deabdf1726bdb740ca7f58540e953b226ee316c988589416a1c530be7ffab72490c65197c4c643e47f3ca4f3e675cb50d1581be7500fa3488527f7ef009a06e42f24373f4aaff6dcfc21ba68b02d3889db5e08c878b8227fb743bd9a8ad722c19d2fe655c9fcb4d17fe0efbc05fa27c942ef8f753e02aeb802d54c2c05cc872d69746392167e68be268e3bebea487c80a7e64ff127faaf785163a438f795d72b2e0306031d4da044bf95f0393b6c335ed6a71c30a39404d737d6909b2719a72c15d36f661f2a7915afe84e19df3eb02644fd20c265e8ca6708581636f26d5722ca5ea66c560be389f0156562047b3578d380532e8bea9a4f34fe509d8e73b729cf70c8f1c56dd7a1eeda710ca7b4420bd4ae075fcc1df6f50c413840f08bc727f82586b02e822e9a1f5a3125f7ceb08e5508ad9a9d05801ac58bef7637fae4bf85449e4c520c4959f4506064144ea6f39189ba532da1418c0eb2ea65eb4a623c4edc0c0476843d20ff54b77d66617879ff8742766d3ddadcb5a60509dc8af54cbe352c7898751e38fbfddae4ef0a2f73a7194eb44f751416e3422eefcdeea6f6933aeaf3cf83cd13194e7c70edb2ef1f3da03e92a991067f1db430e769c0433b53a9858ce95024033444ec1f662e5ed756105b3b4aa3d5a82593fb3ef340f72f2e5280149a05266afabaa23a5e96e434dc44a300516a789d5bbcc558925bc27582ed5b091c3af3aa7f31ab4a796a2399f8c042aaf3a7cc253a22dbdaf3aa0460167f61c514b28e0c3a21d8ec747b0af16b3c1258e86366798c49dfb4059667212bd21ce4c5896c361290927b1ec74dee69f9d8d89056251a9f4b0c611b30f26e500ab00c94b0e4d8cda5039ae351971d5b47c61acf90b3bde65fa3499bce14b1f806e31c434933114a35f07f6a9d60351829b5d7c184690b2ab95b26e809a008a6966117e5c6947d1296319a76c36147fe7bca0459bd3de1e667a3b631b1272ddc45f1a3c22abb12e546b888975836703e2f8b3b99fc0952a8e11773cdc7b22abe49fa39162035f2926c150f41fc43924e40f46845398c4d3292de952de3f72073cfc66e8f1085ac557b723c03f000713925fe5cfaf5c0d2eb945a6a5552509ae778d70dc1e78cdf91ea074a7a3d876932e114ee67e33f85753b90b7db48572e01988c0e598fda6029117d049abed2322e7dc3f2442e889e4ef71196681dc6cd1d16483c998edb16dd48ebd0fb3522562d7be28a269dd9631de582ab13b63721e2cfc6f1fbb91a6dbf932ca2d26c15fcca374dec3d34e7cfcda57be7742617292e099f8218828e91a9f2e4329ad2fecadccf8fe00b6ac20d77b54185e722c72325ee828ab09a28bde55061765f5322ccaf972b339230d6c052b8e3dd07d951d6779295b7d341eab9ff4d85c9282125667a9818eb262f3f96a268a3b24466e723fe2bf368856936739c94b8de2416a185298cbcf32697f58282abfa482f508580a721b4bd868a0f3949e32e872158444beeb9f84d7e15527c354d4f69ad45102f5707f6a53795ce3b31860aa5c758671151d4dfb1a598f8725ab65d477bb46411c229cdfe73ad6ed4baabee6d37f1b12484dab988ac984a61fb0af2edf4c21729b2620cb199a827d3c6eb9d70093c0a2f1fc55451f5c911e2cd3338628ce0520ffbd1e1444f427a95aa4a3acf563e20acf0e1909daf1e60eab3018cec00ab00900cea91f4cac32513238ea5d97fde929606fb09f540391198f5b20236502922a940465ce3da7f035d4081d5737cb49b99f012ed2220ab51061702e3acc399d72eb21ba76a92f60bec0c71ea53ea432721f26d3abf79886fccb6b93b907842c7221e04513d6ab3f0dde0830d67829c776037519dfb53be8f8c1eb98cb1002585e17c3bdee1d8735880e9c808575c030bc2657fa847d4ba23035d4f04d2ee7c84d9fe173493c86d1c3bb4e540d7093a2b661a9c78a46dba1a59ebfc643979d97729a7c7dd2d51abebfa4c3138d16d5db478f2f3eb580260d8268bae48160c77072894a759957fd5062b6466ec695ae62eda66fb0f7c266bbf35264ea24561ab972bd04af4911c0f632ac15792284d4837a0c92ddc972a8b07381afffdb6a9eb87263f2f81b06d2bf84fee4587694bd65e2b62455143f9cb92a49c5d80250288d72fb8ee9f5b0da5350fd65fcd81142ba43708d8e78fcd8a66536250f8ecc342667505047adbd6bc5306facd188544d8d51f154c0c0f64cfea5cbe8247da495ce72907773059c7e7a9f16138632ee9477a7d1c1ee2d09c49e7aa0de30dc50bafc72a26f958ee4054c5853b94b22c329b506e0b3750cf755992b902effc93ba96d726b42c0da47f62e052c8278f111244166834572bb40f70939919c958997188672ca650cd159a964255763f5d2265f9c1403e870be36484110193be14d21f404722f4dcc8eb2ede1d083e9174da2fe90822658f05af7944e39c367aa771e547a7299ed3c5477d2da26042c6696c333b01ba3592eb939aa6845aa9e93791e33eb729a7de74be43b9261cc83f908513c7bf75202805eb7a5ce9fe87748fb1b318961c187c4753a20d4dfbf7cb1754a168d09a25cd647185e29aa127b8b917ebe6572d54ef6e43f82cac54a56001f0d41ebafdd75149ea7682f060ebc021deec87658266a63405229fb41c20b57ce3e8eaa32c722aeeb34d2bc55818aed2df575f9722d7f46d9e2f0be7b2011fc210557e1a687ab44b065d380f71f2c7935a88fb527ec7bb3689c95ed15850e1e597066c9de3ff37ac626cd5db8ef574fea38cb404765adb8a2671b14eda17af78a012ebed668717555ebddd7e6fc5fac85ae7eeb5e674c611f018fec1def9098617fb59b2a88cc9b0496ef441d4421e1397fc27f72b683c94656a0172d5e266f910cfc34e425807aae26b75967efe8e7cbb58cec72389b117e21eeb6e0dda86aa5be69e4b117b7f877fa8fd63c8e0f5efdcd585d65aac7b32ab5b5c8d82a3b8f098bff40f436f2e976b98a50ed6b8b373713b464729be8fd28cb0e054ff08ab490879e62738cc0ea3eb03051d6de24fc640bb78e6c62b4eda2577eebe366c6380e7000b1430e9b38a0acae3719d37774ec0380407290963fceeb24c9571fd50a6ec2da649ef817d4e8139d26c2affa11a4fe8e903ab850e6017b0dff51d25f0c9f15eaed560ddb851d19c78cb76150857e5f7ca9728ef72058b85eb2dc0b81f3062e4444a073c288cd93712eee49852bbc2cd4e8723dc676cae187d299ac168e927103aef55a439805bbfc1602ea5da2e593cca9729e55e8daa01b501933a548235d97f5be69f4d531bd778f6af944d95ca4b55c51508994386dc4a60e95ecdbdeb2763b227133527d06a1435201fe17ed61758a4655977bb67aea895fd76995a28974ceaddc825236e6fb726012eb157edf5f32727eb7b6180c13afa2e51ab32237d27efb2ae87435262f2eb62acc8d540d6c6e5be7c15d4ec9cf84da87cbe61a967b02991851f5a75c3210d8cd5ce111fcd39472af71dfdaeaf70fc7e7b928fcb1635e32c3fc998e58cc5aca24e6e58f66970072d8ca1886d5e2697091ecf08984167c9052e4d2a162e241dcc96a994e0f2edd728d22be910c65664482f616bd62a98f54cf248874888b60235e18ad666e01da728f05db76d7aa48e9ba53d64126f94d88831d6e7d9149107a9350d12fd083f95e66631ba2053e450b3ac0bfd9ca6c5bd74667e9a9645985f63e3e944bd5ee937276a79ee35df3e4468f31547c15327137acbcf12a4be7908017f09659ce3f6c72f7f8a6b317423a887dd198c687044a1f340dca59bf9b1164e47d08753ab3fd721bf11c6f3e72fd6012be2a9acd58814ddbdcce7e1673139d2bf0bd765ef3f0729626f05fa4fd34eac29fbefa96c63a969af595cfcc0d61cab252a6b2d1d30e43df2512491ceb44a3ed83e2b54ce8319ff629e5124dafdcb2f2f971a1fb5ad472488af89059b1516ace68e5e4a5ee5862652d6c58df3d99ef5edbe81b2a5cc27281c16438ba5e060fc7a65ad54d24ea6d533c888de2b4754d930c287948db4172a1152aecf6bddab6bcfe67cdd9ddc36dffdb80957afe5b6cd05c706bc9e5c572757ddbcc28daeb24b6f7e2e62fb758679836b20c50a42d20c7e025da9f451672a0e835f4f2662a9daec1af1d0ddec889ba834e91582da42a408a3ef2071fb86dc5ec1be0beac390e7b38d4b99ccf6c98507c90c532b263a1ac30b637db9fcd72be8d64b4e4f8414b7b51ea1c2a395ede5b5390c40759f324924f8e3b3091053cec2a716f09ffd5096edc02956918f62a32313237884a8690925efc0798921a4c2a67b56287ec0fd9fb33ed3a7722e8c6fa76f61ff95ec3ac634a4cab4de5c672b738b6460928a65160e7c3334bbda2aeae8177382f12d037ac1846ae1e7f495d6485451333c7c5138bd5d8f6177e612620e2e0d442565a2b889c97ff27e396674ea0d19617b59c8a7094dcaae29a675c8331fb9966bbb6f4fa02d98f86bf767222a35c34ab45200b669d1ca0ab143258e20f1a2cdc706967e53368f71b89be6110598dc761f131f865c8dc6b54cb210ac6c9c738e9369fa8be233806f691b054bc4b2d41993a6ae3b1f3b6ea055b334959da6152596197a843e810b41464b43fe25d51bff5c38002e4fc01d53ed90de28663b234e131917bc310d67f1d3b214a8b9a852eb6352adcbb963959d047834cf2121c80ee2011e96d94f40ad3958a7253b6649e931732670d7221c82db9814e5a6e8f611cbcf87c23816022c2815272e49c926ca840da265fb4984de07a625576c0eb855c6d00441d45935655433e088cb42cde2edc7c286fd55e581e3037cbc2adf4e4439af66d7000eb2953a26472b5f9aabca67348873ee863a84bebf00f63172801968200c4aecdd0f7656cde7245e2484ee87979943ea0d00e11164accd7a770d1a3f7247630335a7ab7b20872332097e2fbf057b879cc7f19b3e5ff0ac2bf1062964b75350e672348477a8072d8666467db625f92db1f49af605dd43fb0b072acc3efcbda6198bdbd2765aa72c449a87306cfd0d6564db2f0232667c989b6f8b53e83723f8a8a6c0b1346e772c4c03d3782bf6680ac9804a78cc183673b31fa9a3901ba48830db036ddd6d272433837e24282c25369f55d07a08eef3151d2385dcb600f5b3eaeab560949092fb5aed880480e5a5b4ca729a48ddec4286603520267db51c4c043361f03331e72665ffb80bdb59c39431701ce0faeda5727a0edbed48cc575e8a5236b37073b27380f2ecc199389130c09a4cf73470da376e7de186983ccbdae246bec6c7817720a23233158800befc02ed577d8aa774f8ca6f0520c11079b8717a796d513c572c5583151ec23f08ac2f261c2d598731472c42620b2d396a80bf81014147a61722a6c030c6e9c2a51f5e4d2ff344d867be8f1e7e11ba05b33275df38354af991df2d5f1145349181433f1173fe8b01078b4dddead1c2020849f3024ecb50a211dbaf65ade106ae5ee93c62d7d47f9728a0674bf280dcfaa0d6e1edd4080616c72d1d8e8d49d3c6eacba6bdfe3304514285ef441dfc5f9af84eb5313b9b36441729243dc250f2f7a43b56694f2af0a13aa0caca505a96f333ae88efb278eec47726ec7bc9dad57065896c89614970791c0767fc7ef273a964005225631b5644c72bfcd1afe215df5d839d0d9aaa157a73570256414544fbe8e0e27a8c5a86c783aca5dc087b543f35a57050c337297b9b2eea30e0e3fb199b7828da13bac67a772951d7cc0d7cbd181ab70c869315f8e88b62f0f673faeba67deba5b73970f1a3ee1e79b200986a22eca8fc592644053e23f3bffc0a3e57a2c372b9957a4b35d7214f2c25a2418471bf874993cb8af88cc984a73052f40308134b83db7b7abdc720311808b598f256cb6c1f9b4f80dc335b0e12b88427bbae8c7d0f8caf5983e4ef304b6ebad56d257a495e53b27886afe378c2a292a85e43973ffe796fc1f7072135dd5a33a5831f7386a309884f97b8c19ea2b6d8e5919e72a86b753381a0072ece6e338a365daa0fd4b49f23faf0026925845f155cc5d56f7e8d46bb702a031a7d646a239165d7bed99b5e26ba0508e2780af70375d90a9f89f4dd64c149c37c970d5653247764dc037e92f7c58b71175526242205561565417fd1e78947c49f0eae7d7a0a978e4e39f28aa0aebffaae3054972f199a0e82db31ec7e335447231fea188dbaa37e8daa61d2d95c926398030cb19747dcac3c0578d05fefb257109054e75ee985d400c2ff3517efff85465810536b34e2dd424e3be3722131624a338f6dbfd8d5cad1d296b7ce3ab8b1cc32812918d294137bb6e17ff82093c3d9be684bab7c3fa91cbd1463b0522861c70cc59c6b3c53c8967c5cedea9c2f35f2c84d5b4e145ebe0b8e47c03d166ce8effe6ff6dfc8c7d75632bafcdb3d9b672c84cef824d515430b43daf8f65840c686078d9f608880031d884b74ebc32b37246482a529f3c928b96378a248786c6d94d54f15a2f99cbe9a074fbc610caf66e87cb7eb0849780f8ee4c34039611011cc2076c8b2b66ad931d7ee4e1e74bb772f706a2c50c82800ee0b3b7d6fa468a2eafbc2629ed87dde1d90b4be8d1b504654a390d6f6b1d5b295e825f9cb40740ddc77b71ad4f54da431689076408d3cc72bfed01454cdee8a4cfd69476920efc277b7702e2c5709fd7f59c0bff8211b77270f0adc22fd664b883dc453e994980834d45c62b8d86e690b057964c80ec4b1b3bac1075b0bc54af9e83d325811dd770cd99670160aca096a7a88102f510315346bb1a00b490770682518287cd05704d086745ea308d31c506c548502ab2ea72e9428d16bba11022849289807ac8b502a08f5c7f3cc2b63da132054f39272517ee14b81ef39a794ee13d208d93aaf7365381fca02cc3c0d3a1a9ba45eb01ca198286e8b3ee924ba2c45c715aef2edac13d830344fcf9aa5d27be8e9aa409f81f841d850554594ba2a8b13e89ac1a991a384a1f962e1999562fe905adca4c3872e2471c5d902ed0966e66448fdec5862876fa155feda787a5ed445b2aa88022721dbdbb81a75e87100fef9ab74750fa8b85b3ab61eac8232858eb49ab5e4741062bf2c5c787b3dbee6f06f52e47d01fd1c89b274a44d68e3a2f14e144214adf720de24b2efedc1fb57a16da2d1bf39cbda9bbe008a96f2c2eceec554567d4c45847da294370c69ca3ca8568ec46653eaa2a48100b4eceeb3cf3314afaf9a42672ab2017574ba2f5a9363bb557d6a6dddc534bfabc1b117cc221166d607165d672a3ae5df7e5f001e69203ce713986ad5691f644a97a90fbc19e81809ffb203c0970581126442bb056354d488b0cb0b515b1a7b6e59c321fc8501b43eb7a0b6972fe6a96766787643344f20f66468274a48da464e4f5e73d7930d1223ef2a17f7260223d4a98744a5b3a39ae72647d5e53179cf20664ef8d805e336bfa244e1218102849477a3c0f958503793c7d9b3c49ac4833c659c5981600d6f5df76f69226dde8734c3e4afd900098cc611d62b1625262f72fc0fc9bd14ebf08cf12ddd772566b2528c85f432d0620c9d0d8ffd963aa805c489504fa99c82f18b27519ae7251fa7c33ae9b6b8cc035ec97a2cca2928d28f9b94164cdcf5e5140bc91c1de7252f9e93132b0a3f6e4b143ebc88f89e137110b271fb4738f2500254bec9bde1646d3f13119d87e370a2fbbd4b1f8a0c2fb606b31e77b61da6121aeef42d3eb72ba75facb221ecf8fb8a682f3668c9ea07f73814841fcfa022ec7c8f11f5f2f6b8d1d14605d6e6059e168ddd8c4846166f9a2d9119a833ebfe298caebc356d572e7cfb5f269805e82dd2ba29f54498a54d4fd4da0819ead1a0e48e352a922e8448373d026b1cef9828ed28830fcfabfe53f8e5749af665ef295d0d536b7afb54ed7bce86e4b8c9f41b51f59d1ff1d896945ae508b02dc2055f84764f57afe3648d49417b3b68d824195fdea2215a5ac557da759ba0c2c9e6d41e34c84ff9f5772129b0576921f174198ba38e6ac77d9d5c0966a0663338f0d1fee6d7cbd326004536301b25191e23fe50f5cd3800e9882fd329435b6a2ebb05ae2f935ad1dec72c5f79c4b40001b9bc799308096fef08451081422d881befa35433c0f49862d72ebf53a56709a48ff9b55d81ae21934b4618c777fc3dd3a0d559719da778b7572a428beb7d409ce87d7f3abfda3d271ec4d55bb3104fa593c33a3874755652154ea131a7ad294adf80005d9deb7e60c5ef8afd0f51c2ae1698b28d08635bc32729fb38c391f3c9b18ac1280bdf24f7005384cfc0d36e8252639b7a34bd5abe672bf222265ba1f10d56aaca66316081ede58407bd0cd81dc359dc78c5a739cc5041123523708133974f3feb8e7aa9e432739b207f5edfa43779eea53fbe029c1594988a235550a46532aae960d4323d65c64907fbca003d11555a74af36bd289722e9e8d039727ad5075e6b0e72b2328068966a1c2b31edddaaf40b85028f34072d70718bddc050f622609e71fa0ec99b426e534e40534bf17ccd3f82f17dc140a07069e9db70702f069504b460ef28b1735b0b734eee8aa25e831a747d658c068c78a3745c2b390bd7b3015402e28aab47574d898acb11e7e5f9efab528194f0de19bc85905cba5117ea4c75b768a99287bbd65cd45240febdcd0937b2855b472298869f72c872ed1b02b8a1721bfa9dbc04aa35741ba3f4bc28bff5088d40905344b71681cd37a2c4b047429c2e47e263a140b04ae19cfef3ff4d6bcbb819272d31f81e660fbc349bb28fe9c4a570c7da737cb47356e971d909489aa41d9306e1c7f0f06fc9843e32ca4770061432b0cf97cf5ff58ad0cc2ae23620041784f044cddc019642c23e8273296fb646846553fabb3ef8f7caf077afd0cb027594a253947cbb587f3d7598be9ea7ee687274168ffebf0e7deafdf7aa21e7d4741297220211e6938b90f68e030f0f8675b069a6c9050202b26fbd3d438aed087950007bbcee71ddeb58b435a157dc0de49ed5a17b798bf0573f02214c839c9aa23dc7275022569dcb61b334aa14d0816e4370fe5bbbab7c4aa82928015611f976a8a7211458ae75b4854a3bee869ea9d7e2de06454f97902de2b0db5ab614b26b71522ad260e7c5f62eec2216a09634bef3583970b32571ebdd01991fc1f23fa255e72c2d3bb1aebec54246cce0cec586a8f524dcd8465072449df9672b993867ed272a796b9d77a8f2280c01c27a85b97d5d55ca49f4d5e7ddd5e15c174be71e5927247afb4fed8c623380278c53b8895d5ba5f25c91092cbbec201bb7f556cf3c8034cf134926cfc3efb9ba864a6707b8368ac153bc50bafdb49c87e59302d497545a166f30d06f07e73525200b89e6813eadc04d94219e424a63118bfef2e4f067256096877ca40494942ec526b65e84f4794d22bf5cfceefbdc84c107ff4a1d66a4081ed499642bb7bec5f01fc48e7dd8cf0a1c6496e592df1ba008b3b7a0bc572ac0e942bcc056bd1ae5fc06ccafb7e2d6f8e938552e23cd758c0fc9978430c72fa27133b41e769b6d9923fde98f2c88c322fe373d012af9f5e431ce30c023572dbd13be201995a3eeea481d9bd8e061cca52e6b9c149d375d0d37893ec6ec772cab6c213fa3af26988844dede103db4c29a49a849ee8b92facaa843ee37ad65f37f45100badf3869d417f637a186144e8ebcb0538888d3726aa411e7178c0c72163be194f8c89fe09779307fe3ddd7129bf5b1f41a39697378692948d70cb83a5d0aa3b2d778cd23081abe3c4c0c316821698c2311d56457fad3fd482acef2721f3a6bee68d620b43d27046ceb4b38caa05e0b53b5100f7574f23779b645d73061827f65e54c25c01de7bf20bd788543dd5cf040cf11393c5052b0320da0b1390d133cfc7b2972ae492cc1c291bd91bf0859d992216995e10249193df50bff6abbe5206a5e73ce7a528b11689e80ef4a435af9122fd19237b043fada23a18e601ba1516e31b2df8d9ab47a0e7de69c0c02d95d86fc3a05b655715cce8c863e720ae5ca2f7d84e9a2a4fca00d2c4733f7e4fdda3e573921cab9014c0d9980a172720782d6930532646717509279373d2be0230c578f6ecf99984765aa4a1065720ce4df86439e51583a20b461a6469cda9bb04ddda1167ae3c0ed68dccfd3d4439490fc33c161173dcadc34d5ab16c201dd9f106b18c05ef407924d786089a22b7131d76346d3c652e46f135269faa9c579ca5333216a30066aa76d9cdf421c7238e0045db4838da4aa25f1aeb23739a5a8e70905e6c58ed7fce69445bb893a7291e28163aec3fe716127db620c1266bfc35c8b98356840d4fbd2c7910cd2616836c377193cb56c3e686c68a94a6a3ef865c69ad923f41239e8fc01356c392f72d515824ddefb919c46299bd69954104700fb023af385569c16dee9d9557a5672ef6c13514ae7612379a0ee88e1cb94156c7760f09db162c31803cbaa9d544738409739642025fd06e89dbd68988d9597a70f2c81b95689dd5ba9e61e7c8ede72fa5849ad5fa4a565e919ffb71ef8946e6cbc832f18fc1687a13a128898e77436cb52e239b6e2c8ae999c67da499f357b4a7309c3fb49c957c9f33bd45992f072908125c41c25d3923006ac5eaf99ee0ee9bf4b09019f40154016ca5ca3b6737228bb243bbf2f8ab1a849d9a9faca66767939a5d73f40299a79dc748f1be11172d155e87af2aaa36875521d8f4499c27d9b5b768933893d13a8ec018c3255407246967654addbf5e3bde2f3c320a24cfaeceda6ab700a4ab0e75c782e7fda106012c7a7a97553216be409e61c40b2f4273a9993724768e46c0f57f8ef8ce58672e82221963595136f94bd01a1793ea3836e2a0646f04ebbb32e92654d1a6be2247c3f463e09b078058d17b66610f3555c8221731f478ab53b6f8ed050d4f5d172c65d4485ca358907736f04834bd0ed2cfc253369aa5fdc22c6e568d7ced66c72fc9b9b51b569394b8d1d6b45004350919cf74ac7628c3ed7b8789e653a7cac43ea55d6161915ce3bbadacad0dec776a677ab9b25fb3e6c9888dce2cf482430729030775fa0bced4e67776423848d8b928d792b8382ade76e34074c84d38bff2caf78a645ae7518dad8bec3fafe62560f9922df14ad17e82a8a6fd45173bfa324332a2bd0cedc359fef324e4ded921e70ead1bda174469ba3a6c45f7baac69a72028bd95c2e9818a3911d34e9daabc916f6da609cfdbfafa8e7e973193210a87277e85fafde4efa6b9048ba135f7681b45296c727c3a827ac85dcee1db73a4f20ef24ee18cd3a348cd86459fe856d32403a04031d4306d5fa23aaa7152a1a8132517dc628a576b8ceb0ed60256f28fedf6d96db52ac67475c0bb6ffae4835a072cd06ec66df4a31c64bcbb6ead0a159131deca768bddff897c229cb29cabe1d72a36c348f66be823ddd6ca27856465f7652959718079bd6125f32cd3692c0ed729d4ff55f3fea7590c3470df94aea5cfdfb49e405e749a8c07f969358bfc943614a90690538754be0c1ad6a307768d8dd0b84db219dceddbc3231f31aff8da5561ca2da731039c0382542e83d63a80f3f1315b3dac7e2e099d2b22a84db29035b1926cb26e4ae7a95af563af4818c3336502359eefd8a8c6109d4fa8acc07df726bc581d09996a91381ff3107703976669a3c5114acad6ebb879e643039962e1728dc9065e76420f1f164aa498f4acf260598a3cc0de3b67342e9be116c8aea725285df508fb47bd8f62940aeea81af93e6f14af1a78b000ab27252fc4a2ec072b6618287f00845ed2e5be7ac2525274b2254a34f8d1030ad1d212401985865723e2b7a2dfd620683c091afff452f8d003c76708bfb959bf1ee941d043bf32b72b4999cadd8598e508f704489eaad28220e6313022b90738158de7123c235972eb6665ce9f1aa0a70c248d2a9d27df9efb2bce797406ab0b5ee2bd4537bc3847295a8221fc12dbe1b9e78249297b69a35f2bcb7ad0033a30375c46e4b0153f672d3538554c6c557c83d07efe0fbb0ab97097d5ae06350ffd821bdcf6681c22d1f0993c5505bdb8f2df6a41fbcfd6a13db6d053a6850dbb3d4449b1448f9fe5f6b6c3326e96db39d37df7553937f57c9a6adfa4f8e55e42a34aec27eba0995467210fc9a617b851b6bd1f9d52ef48f050f46ccf6c7f03e30e7d4af8fbbd1a89372ef95c91a9567b78b623f904b651a8d785cda2410157e63820c21613b9824216f7ade8cb841d869a851c7e55ac75d4615296cfac586f463a64c842541b22c4c53b439d268421ff2b5140e67ea273207a64ce0b298f52e584d37fdc332f14ba17220b5b0e004ca4b4c1820736f9e05ebe02e1ab958e13077644d01abbed9980a725ce3a5de420a9dc08ddfbf05197c89c93fc826dce93536b6bdf1f27dc43f737217d1a26848be512f0c6e3f52fbc115c8f5eb21288f8a0667eaac635e2394b06fc25491ac1e19e983b0393238aa1c12127e5c8d3bcb06fd9ea087bc565be3f17259261f5c11ef5ff48290cbd42828741e1c8187000b05a74eb9f322800f70277269c13aa140e86ec9f90c8b2af955c790d7f7eb0a443926c87bc0e56095bb39723a7b4ccb0e942e769633941666c3cf8f53245bf0cb5c41a03c5c2f04fa6fad4948171480ebc0608cf3c52d7bb87e8db6c79844851263c820b125b89be70253196a278a9fa771b00d64009d21b0be686934467e892b1320f5b1c07c955d0669727fa2df4a997e1f5579b14ab777c1f58b10b5df95a17ff7b5d7a4196daa344a1bbf57794924042cbda67e2323f0396cc25644de983ddc1bc0390251addc30d525105d4b991017e0e0cd63fd6981a1da146ed600174781573bac4e3652121032722258bacdaabc7a56b28013ca063ef3c31a602193bc977c132e85eea95143727269d4ef6cf1b9321e89a730296d1da866d9a6d5323136ba9ece21b5807e597772f3f70772bce4546b166c9560f5b3ea417898e3affd86385cde7a16ec757e9114b0b2fcfa6a8b2a44fb0308c91f76f1950376a47600ada67b3746b33e4efa827272f2f61b5f0acc0fb2974aecbb7ab74a93c54c0cff20bde2e20a0e3397db0600977bc84797d908641e29b6f4b884f70018f2446c862376ae5a87b16eb0781072b3ac4a32dffe1541948486d06c8953a2a183b81b75abc9eb1b0cc06c24d3fe35bc2315ed7ee7a985235d658595c260915c392f192ec3f2e819271d40fc86a36c8c479d8c6bd33d1aa1afdf596e91556bcbd71a80c89f8f0a3f874199df7b7f1a0b797a4d7325ea7c657e230758bfca72c555403fdfde3cd61c55eaab6576e0451c06ad74c5ca409d585e68564911bff4f847a2f4a54371ad6f0a20ce87e9f472463135aa039f9e7e649bcdbc545fa763d3ce241ea9314ceea4a2b876e883a1251707c1ea4a526d320efb86c7fedd7fafec3ec3414da80ef0c3af829d7da36244f9c148ac8660b805752c562390a8f51fe797eca8019030d295aa8f626326f7725f8f592ee0593aaeaa7bc04fd52ecf198db9e822a30042c000058b1003849d2831d4a4ce0428a5769b0fc0e98095266402bb8c973b15a8be3d535b9dd05c3672be41df23bc30f3fa2ae3dfb40e205f286ef5fa440b821352dba31f7dcc443272b66139a911e80ca495e54941cacacbddaf228ff047cfa1b4395407bfb34413127ac894bac1621036278171bd9277e5fd25655a6f1ff5091cd3c8b9e47970bb7231618983c23acd84cc80fc9183c03a3c2b8e70945c1d69e9f80c5b7d19055b71995427c365bf60a46f354053cec749d52a7474a5c78071f28ddfae0c97998b080519b6153caa083e8dcfd0c16f9ccb2953786ae1bcd2bee9b4135ff32551180ae9b72d7d8984e02876dcf2b4428334a1f132c9d7da97b8a504b12b11c54fcb6ca5a74c529868aa9ca1b2c8c38bc1c738082831de84c8b0edccd8c4300dc86472d9f37cb77fee0804df0308b949af88049ab7308b02d000fc2ff7b79a3ea1e5729a0e26727cbf15353dd7b009aaab40d04f46c0003de9235746d968665066fb726da48da25fbce9cc6bef8e8bbf69f2072f4092ee7b070c2b6f6a65f847bc5824b8dfd2cca9eced38a2eeb3094c569a6ab058ff4d54f00f92b0928fd35eb1dd720c6a632e72238156b9a2cff434ec25733833297e78cbe08448f586aefb2ddf2b47ff7bf3afaa839da3f7efb4ab62f1fd6050529a2b1e3d05e6ddd828732f95722d647efc640e42931b18b3171115e63536b1e63bae3bb8bd74f2641e3f248d70e5aea405796b87d3481a231e86179ab1946fb3859d49244a0c170e90368e3207a80ff83dcb7e3a1feb79de164a45056a72dadaf984508d44f2bf684efb44ea7232c2c2da31d9bbbdbd957c3766bd0f5a58f0e0806c021bbee29716b97fd30872ca5a9a8fdb7d31708ba1990deb1e93ebbc39be65a8d324fb352baa846be95b5ff8424f42571829f9c6eee475817ff9b19f6f79a2c36a02f138aee1ef068019021c471f043461f078465fc89854b526aa511e551f1c223b3c5e8c717aed1d2b72dde62ddabc696343cd6af574de8703dca3edf36d439c854e561e2a2088092f722f6273d1b73bab618e923c82336826173c252aa86f19401b9ac22c696c3ea072c070dc75e836af7242e1fb75f6b0b2807e496db378d5500ebaf3d405a65ac65ac5c37c7c88355c922392eb86e2849d899934fe62c50382db8e1bc3ffd85f4e38e5929c209efab3e22ea0ca39c128f81925742c770e16623dd64906c31edf51722ae2d1a1f2256a33b0a618515b5fed706ec9aed2b2000b3679130a9743d48d724673d4240bc93eea265cfef300a5cd69243ee88cf30445800551180c3e0851721e3f697d8ff4ba5ce6a8a81c2588bee7e021fe834720cf416c3b9bc33e05037203bf34d9fd6e74ddbbb4ba765034935c080dbab930582e8d0d1aedb0e228fe720ce7c20cd2fef1f545578af1f8c8b9840831a846410b7ce357cde355f50a8772eab4ab4a3f7da6a9751e085f3da2b3dd32dfb227d6a1f9c2a29287c48140ee72953b24292680e12ae4e13eb40f5fbf51bd728e57769b3fdfc0fb1cc54f36b55362760cd2f8f9a9bf04d0491a09b88131b284428e6f163e27b9594e69cb3ebc72ae057ee3df29f3c0c091948f79c7386aa6f43061ba7e98c60744a59c3c779e07db8fad0de481d6b7a48ae4aebfff4819bd11565f39214d4e08e6feaea2f55872aa97033be9fc502b51530ec69b8769e5432f0237fc30b3a674f73f28dcaabb723af6d6c59e889539b4369e9458f26bfc434403a8c2af0b9ca03ac703b8aba172e4df0ce6acbfee04ce7f7dd55afe525a26b6c5feefa250c7f13f3bb151159672d3414dd413ab1d78a7cfe11a10418016c908b1ccee4f0d78e2487cbd8d95d5722ccf0c82faa250454defde0e375fa369cae2315f59d9f67f17bd88ace94df34d85d22b50fbd4d6b6d0ce22a9023f65138f1d588f7c4380d56ad37fb7f7ef9c72ef4235b4f649d6e470b2e24d1129c7065363ec6131c4599c216a89e5ea4958385275bff186b328035e3b08fb5819c7c7b4dd9b7c93c54f758d0fd5a2c37cef72d2f622b0f72d895bac7dfd9ed9aca52a8bce45d90354ead54f27a804c84417671f7d9b21eadcdb36fb3472bf938149d4e7c9081752f3b8e45d045f80e9738f72987cea8dd037d5830a78a4ea959f2a21d813634fd40e0238ea07ec83993efa6a8ff8f4456de1a35e00f744122b84ecf6df9f91871ccdccc6850471e271e9902d86aae98015e835b17068aaeb0cf672800c3794da0384ae04e8bea7e1d9f541725d6718b096ea355e2d794f4861506d8150a0ef5a09001f86dc473d82659dd37256dd2caac5023c58ab2619bca0fbb5c53cbf0db5a919532c6ac7265b8da60f53c4f4e30ade947170f20e3c2f49807554269cc528ab651d6ee28a71b285ca3f722bed8fc139f9ab10812dc1274291510b5d0987e2a2562b9626720d016f6df372cf329a419bbe3a8bc8be3bb4285830e146360b9e145d0923f97e401ee7f3203872128abf940a88a48730aa4a59346c4faa6ff112e669f72de86b7ae2c83c6b72bb65f56266e341c3134a5bd6a2755e5ce0efbdb082e8f880cdca9b84e845447245c81f8edd62e1bf25bf546f272eecd278b07a69959426c2babe1a90badd3c72044da55d62bdd78c3cae6d2f5b2d8679aa902cc4dc4e70a4b70954ff74dc176ba7953c3074ae52ef54950b09b5cf79b76ed19a09eeb989f94a6d54ee664dd772213745e5c73750e833b17f27976a4a9e9a097d38b60744957960d2946aa4b631631f2a8d249b7d72deedbf689de04ae94c13f2a2606e0ebc7b3caf7d78d68841bf51c61c071a517f13e3869c05e7658efd28c57d24e8ee7b1e4a893512cf5772d2af1ae826d96bf045a1134b6cfd752399b785a8117fcafce882e466476b8502e30d49842357beca2f895f0455c02100d3b8b44365b67f4816db4869f030607257ef3ae59cadc4518b3e38f6cce9bbdd3d0b7dd3b00a02f807063cf8ad799c72cc59752a42fe9ac451c9589c10826a37aef9ba9844d30627d5df424dc590183d2e2789f50c22a656255ed3edbd72d9c93ac9d498dd2d4fd0572e0a23c7a4dd72adad249ff4248de034a890d0c63ab164e9a3b8ab7ee32c5f761f3bbffb00a372baf02e8659d60fab619a12e53aa68a1b6dd88e86ab8a6c6a5e4cbaf293f6ad725e368d8215dac97f9a1b662e2f1670a1818c3d777c04b7eb355a0f09569952580684de4c8e09c774089bef4903f7db9217bf9a4e73cc5ae92dd6c14e1e06541dbc6e63de3bf236906e8e4978da0b2fd0787c135caf07086fe3ef985bbb271172212e2592d692f9a4f8c2a6639b3bb9fddfe4332e668c77665291fece1048df122fe138014a611549f9215579b187f4a0b652a666bee8f73732c09be6ae4ab472998e5be1dbc74ff8958981e75b7c91d4dfea896a2e97c5358d04e5bfa33388497525d4f9709cafd07a54f65a05df7c4dc73141cd86893b9101d9d7cf29d7f872d4a84a827aef9774db14e49e2c2f8b2b8846408f962232eb36dadcd49505664ad57d0a59bf3dc9c1b8eeb19b5ced3d54c741a1142d89cf0eb498708791380672011b00df09d041eaf3c40ae8a48e71544f7fd7f66ff36a06fb230ee3a8ad60074f8bce0ea021ada7beb3abdacd5a4ef3990a6f6861b38fc1239bf9cc79402930526379647d01e4a45911c480399dbe9c716500819fa6d11585ebe791049b607233cbeb2dd39642f4919f665b455979a6b58385e15c90b23e3975a6337b4f167210a3a68dd02f504a7e34d10a337c3112c34aa385b3659f7bddccf551c11c40723811dfe2a4535d99f7fc3355aee3460e63846db6928cbb7ca18f939be5801862ed8c9e67801356d8d82cbbdfa0cb8727b8384745142a158cb020c1638eec7a727e603079665fcb5de0815b5e72102aef4fd2dbf76b5c7edee1531031e8b56072ee32cf9d013cce104ae1f95c9e9a907e04f8b4a032f0b57d9ea618cacbb539725afe1ee992f42caa4e6f21575eb1503ee81e38d78bded1474f2bfb9501488f72cc16901fbb038ebdb210c5172ed49b115addfa2bc5a19ce43c2510a88a930f0ab9ba044376a12904efaa0dd08d0ec7b7f0fcb8031e1fc93d21200d790c531a727a12564af046ec2e27715f02677354882aa00cf086fc7002f6832a9b96863072706a29ca098f5f1b3687934f7f65a9874f1284f4a166d869990c3da23a8b7345c15d7b526d9c1bc5869721863dd1d596aad54a0ab5a67993201e6b35cd8fc772a414a019131a2356c178efeddfc27e3466e0660c2d4f9d016b553a0efcd27b179fdf77448e7baee2ede7edfca7754014bccbd8ddd2d1932c6cb9476ee2ff8d7256871ca36075fd29681737003f5b144aa99a102eb8035fd8ea93c242d6779b7227d67f8dd4a07670fad3a69316f93b0f5ef51ab06c5c69aa8a9a063b583ffb72f6427e25d933da84a1f6ea16e993cd88b0d102e0c604d481a232ecaa898bd97284758daaaabb8bcc85f552091d748175217763de58dda285eddcfa95354c0519c8433c83afe6ac8391595bbf6d44770fafb7b08369adbc7e19a28b4fc75d3172e8114120bfe5758ae0c90f858e81d2e4b545233e5b137ef594cba945b276e3711a5fcb3be610293278cdfa80b287b40545f70fe533082c7c81058da31c5e85721dcb005a8ca83afc0ae7cc71ea3d079ba9e4b228c9953932bbb3342d4cf77c7214b0befbdd43e294f3da08435b03c4bc1585b33a375783916097cfd09e67b120625867dc6dc98986711d752d0f38018d271caa3b0977e3d3dbecf9613a9a9472c74100821dff43bae3d50bc7b402bfd112349787387eb04bce0ab422474a6369c6cc9b91fe0a586e02f6517daf38be3682643b15c808c9cc717af9d6a00b4c7264d74cc93581f6c5dd1035e8226eda1a14829501242333227a8f6d365fd6bd7219b2a4b5a4f09a07a7f2c05b771815e97109d2685ce33c5c4d4fc6a3e98eb172c3d0e5eb65d7e11c078dae52614f7298f7aae3d66b035ee7b715b981d564b754813abb6e740ba0ef337eedb77e04782763e662282df29a8ccc58062056447e722dfcd773aff5b4921fe27bf34f47ca709de0dfc4af336ff91fdeec8eb1bc4d4bd9ba41564ca3e2fbda0339123136e57a9d565cb73f2a5781f226807638e210727dde039031cfe020cbd5ff0375f2752e594d1c9683259b73669bf1f689424810bb6c456dafd4a1638206374c2f20ae3f62ea7705ff09bdc7b3e61feb29943972ff810e77ef6cb5918aadd7f7058385dbdafd7dfec8a4a0fa5f962c0e4d55d7727fc131beb212be14909bda005f6fb63d9f8ed3e6ca1976be75546adc80ffa372c451aa0e601276ec015ba7b07f1045f394fa7a0358815dd89177962fcba0302a387fc161ba6c9020001398078dd8847877c811219f83ded451e2844b06fb2472ca6e075f650aa8291e92dd4fcc06d283344a0ad54e2079daaf53c1ad7eb83f72cf857f2df4b9eb526ba093d6efe89787e361e82e07c0585703e45a66388f2c61015962b45af03034fc08e6edecb434fd24391cab13e4d1021baf786d2c6505720a8b4834bfeed27e9aec8ce1f4c20693d521f59f36a78841092f46173c59ec72408053b5dbcc4ab1605a6c17944d4c5bb8f1ce3cf9e321f5fdb94ad05974e45f37c5df4ef153c676fa5745d84ea3e8e104c909053bc0483b5eff51316077df726f1331784a69c24e0cd75c461c5951ce781b789d6fbfb170cb70a21e9dbcdd72f7f91da6586d9d06e894e418a8aaef84b7ba40a825ca3a3204f7e2577253db724ebb544957ea3bd9b77e83254cb71b49eed120ba61c7e3bffe6e9cfebec49868337f15be5f8c6765ac12880bc8c77dc0d0a52f5da40e60af859edfdaad0507287525975fd6f10e7d8d92c781a91ca3917d14757deb19c1094a361526349c4036f49ee712a73beb7125fefdc008f9968f1acbe876ff3d5cb680b3f834ab89db721e487d0f403ce312f59e1c0eb6113a588bdf342fd16320a75a2106498e2199721a49fcdcbf483ea407e5514f79fbdd69ea44452fd86a735f7e769689b1565e3488a83b30c412b81564d5cd4fcea8ce295d3f46ba48d70332713f76e8e176434543f63c7357ca6c8c805a5aaafd5ed3ec0f3b05bda11e1cad52ddcb0f77e5b0500206f81132bea34fd10bfa4877856e0ae652684890d5c034a7d7bbeeb3d4b4722ae1ebe2a709706c32f5c4697a570d762a93afd2e926356756945f23291a3c5bbeea0200d902603083cc162bcbe02e449c7d8c4a922b0aaff00ae8b2a60bf872e7627cb31b6a01ba128f4cc57586b2cc663e3ee99338bedb7da68077f5ea5f720f8f466b2607dcb5cdc362629d9bda27bedbcc0ecda762e56dc2d8389833d272115e9b785050b23a13ce27159f9310250e8339bcf2232f406687a81949b90b727112b1f4fadd33e49efee7e3e2f88a517591f4caabcb9fd0fb0e34840465bc2ce0b67f8c8fe5097756fbbece0a5ae5c2832ccc319ea8875fabee43faeb2c2372f7520b92815e06a1d576259475b7b7977ec9b82e356ddf24bb3f9fa4f5a00272a4bd2bf0b917cbd0fd14062196a1419b13548cc9affbdeefc109f2ef4626db1fa4011c2d8873e93c7cf09d05fdcbfe569335ec1424db99ef820b1b6cb2381c2e18b28ac59366afc548e05f44d157fc8f984d5a969bb4ba51b7614cbc8bfd95723b53b24d1245432580867d6dce98ae6402501c998e113b98d7f7315231b1850dcf51d7834ed36b2d9649e5fe79044119c223377d64a49ea40ea30d787bc79418c404147de653e6d63e9ef369623718bccf35910c92ab888ea9da48ac51dde9432063120294b346944c08c4ecf8b26f0a104b22aeb637388c03099c5ec76f47083120cc696c20da3a44037c9ada3d48eff4c1482bc232bf4618e0edad45fb3f431752e03377d04774cce40d34a3510f13db2fe5ec21e269cca2ec9deb79bf1618494a6d1475fca7c6b520b0792696a7794e314b27d6bd23dede4561dc20b5e97213bac4f1cff638798ea04c76e718e6d0d6e9ed038ce4566db405f8a07a953272d897d6a7b71f58b95b33fe420bc8a9eb8d73527c0a30bc38eb9e0bc152d5a272806f3831c1fda29a401aacef50f39c1f46b91f685290c8b849f16eedeaa6c34e04fb7632141b529ac41546e466a39e59d56266a033e40fafa43dcb7471f3cc1facca01412e9e6389fe3f363ca8ceaa9b50984e410399333905fb1bab9fcb3972b86d0a4e6c04db6687fdf3b4c2fe09e8a1945973bcc3a31d4a7c13ff75286e72678a0bf179d5e021f957dddea5ab90745796d8f116142969d989bf4db3ff5f72602e2270b683af2c6617aa5eb4444f571fdcdf008c3a1f588f70004482aa825b7fc526c69321f18a885a75e1209220fbb06877e115d628f655e07cfbd69b160249a4d357cd2a40152dcdbac6aa6e415f656c04bdad2429b763722b486ad20b680a3269a2b709da198e4f70fc395546f90ad61198d378e854e686a6d9b1389d41e4ef7d6cbff60472357be23d252fd41c63be2603091fb16ab7e28064e822856efc9a15b93a5491b7219a8a79b0f3953aa284d8139020e05ff4b954b3737c1133d0d43d8290e35993fee2bf99b97a12869ca08f1390674d4845a220377808d83269edb130c9bcdb768353d8db263e5643e97e22c967e6adf12aae82610954a114c53aeaaa015f470018f7b7cc0910d5d70e591a49bbf9f1e363f2fc753d44761f2692556eefaec4e43ad4f2e4999d0c80a4e2711034c2cae56c803bbfbb139e72b5e39969b06eff81c071e30feb2d53be49b1ca93261df6fd299ac28626026072d55256f48475686d2511932b22d38e6c0b72f8a8b3de84e96375c36b2e27003bf9cddbeb11f02e1d351ed8efb9271a3e30be9371db1f56d169a3f559a1d8e67236e9612ea4cd72e8fff4992f8d1bb6c4e91b051654b99c0b1aa0ebcc9af5eb72e55cb55525625097d32656b3cb92e312b29ffc297536e6280b5c2821f8898c72f0a978f04865ebb62908a6b680a6fd2d137ef65d22e420c5e4cc48262ed64f597fe2602c69ee4073d3f19c82c23ebaece824ef2cf0948a5fe57f1305e8a5e0728dd2f2e322a56379a3a181b69c9329c2dd7531db8daa377d8de528f996540c723ac291ef331c2a3c0dc1fe9e82be3fb76b2c292f6512f8630f47936fb0206b7276e0efa9666eb5faad802b979b7a42e8870d7e7fa61e3e45b2cdf78b10f7a17265f21453d15ecb3e4089cce4463208a78f1a18f291db94f18b8a8dce2c0e8c728eea9708e1ac14496871c77abe4ddad44397f1803deb32c33170b5c56ec7483270f2c155f462b1921113fac6e51d130728233a58c3dea0eb1034e3fa73c9ca6b0639a0dec328a19bfc2d775cc565ffb8e5d6762c354170a055b02485a0d0b872a4266c74561140c19faaec6f9ab31a04f17a5cd74723575b09ce70b24f393053c72f3fc96eb89aaeda1e48959f8f4c9ef0d50b65bec7a95cfbbd1584813e4600ad722806f8e6e10119aab5e5e4efce7362a502ea9d31b0d682dd4dfd689c9d72faac0565658bd620849f7a8cfa42adc645e22f667834ea9abad8fabbb0a335416643fa017c8b06fc3adad55a841db9b184ddf6926e5beefec3787bcdc1d25f72b8e24975841b21d2108bf3b2778d5792ab1b2170d12cb05b60ec727bf9d7183569f73f44927c1ef3f82106276aceae608ef2bb75bf3302a58b19b9f52f8ba7721b615d833fb2b0678d71262673f15fe09f8d397ca2368c8d7eefc634a02d9572a4422fcdd7e711c9bdf2744c38c88692738323d8c0341fa8767a496c6de6de72817bd668319151ffec70064c404ce83bb1758544c567c12e9659fa07cc5bd86e468de7252111f1a74e7c7871142ca15a52872d221f24de3b8c065605358c08535920fd0bf4291102fce7dddad609f382ee5d937491e3f0e412139ae64352e072394b04690a1ac0c6dda7f63deccde4f3380cf489167b8aebf6311fa677b088720e8fd2f57d6bc6a5cea88db7c80c49ff9223c5e79553f1b8700e4cefd52b14728e41d85eeb867c80a8ec5f1af9368e306af43ec64cd23d3fa01692a79ff13750564fdf1e6837ea3d900c9fc8b70fe1b5dd6b67f2f1d1ba1bc3732ea1e1f0007250b247fe95baf0d0f7ab1296915f98617cae59816b735fab4ca028e0f7eb3172d21889fac2b484e4d8b058994f1ad55f603df3db346be03e4454dfd55d3b883a0ba8993873e5c9464e19bfa2952e5941111f44cbbd02c0cad8d6e138780e4f725cf13e4f3493a541deee1d79bd9ba5286adcd59632163acd2d4a18d46217c01ffb279ae3a491ed06e4a8fdeafa67d5703dc1e2d6772bd72d6ee226f8d8c57072eca6542b63ff6c50f09ccc28a62185c05432657d29cfb2876290e7b63bef6f726e640fd5e928fcc1ad83454aadc91a885a1d265af84e2e545332a23a10e18d7282b3001c796efef6d89c2312823f30f842149012f7433ff891d4b79296739732d7a92e9d55b3740a198c83d844731dc296a1609531bf04d5bade0b15a3633272af3edea98f8bdc3a0aed52505763642ba0dd0447a7999a5174602ed1406275722f76078db36738fea612884c874eac4ef9feaece3fe751986d94ee1683697372d15c55e9847ea4ca0d6b761fc98a6a60ad6cb4f587c70e63a6336738f59cfd268b7f187f5e53720c5033d7ac24bba7d072e785d3ee3f2d7658a0ac12264f6c729653035762f5f06586d3e81994b794ef68bc10aa94920e2c3fc7ee07a2556832008eea2abd26d987c610c6d98c3474b8db4d8ff81fc433f6aab506e2eeadbc72f899299e997e44b99df4e62f71e3bf55b19cb83954ab4bed57162ea74e4d7c44a4d77746549cbff44a00b438809b0c4b9d812e3a513305ceee977d7d649b937213a3877e28d40f8941eb44e0aaa456bfee676efd4700466eb9777b95cfe0267235de621114c809e648c5d72c785595fd79d1c25342f810b65d608671dd2b5372a278c50a1b8b21901ecc81ee4302a03ea1dea248a4280516ca3fb1350d587072c55c39804968e1f25350cf6cbd14a16012786f34eb108b686eaee14f8def55086314f1eecc846f0162bf63a4caf80e0fac0c6f8dba782b952b0fb67b42bfdf7236fe3e323b2ec6a1f314d7018ec532f259624291a15500430495b06913e85f72f3575fddd4a4cc51f92d08f8fda23f31c1804ac92518b9f4f01101137d52e572a6a3ea05162b04a846d7e19c83c65fd051dd6d1e0889370f261ef6450d267472c14490f893677cd37b0209e25420985f2fd1954e1f9bc39f171d403e867eb4725aebc5eb6c82cd00d060c2db8592b878e463ddbe441a7f6e6354d80b6806997288d280d065ceeb21bbb337e8aeca598fd7ab85391a68476b632885d785efb072a85f39f9173321913b9b7ab47cd223f021388fb555e7f0250b4aae350a903c721c19b9f56a4e2c27820b7fb8f32d476a1e9055ecf72a690487e8dbf05ffbb129fea8e8acbf2a831959702b911765e6011e2e51891babbc71bbbc190fac46cc63036e1facd2df2d6665333ced857cd02f27387fffe7b274a68cf1a4ea9f8a4772487747231e63feed519ad93914441b1430fbbe0e979c80108e420fae8bcfe13070a397794ef48d441bfa2dde19b3d4f8ba6e507cbba5c760572ad364d0ba1572645ec27500ca3d3df4a226d32e9945b5e20e2afd82d106197368d363222d8d2cfc54bedc43a4578ce4730af9784e65f18a434ea0b07998e088b16327896f7e722c91c96287f91bc44cdf2ef6489ab58e0e342c708a44b1e4fff6046ebc3e4e727b2f11a948f33aabeb0649ce19fb3c7ed2f4c98b6eab4e50e733273a537dd2726f4f309b71e00b33aa911261dca17801e287b17732dee6e4042ba9490d8a34127af529a6018b79cbcd80f0b81f80ad8772cb34aeb82e9f13daf4b629ab4bb172bc01e343163ae98acdcd3774e3f40a99d6de061a5090ea60661bd6b331c1aa7277c683e3f9a90ea419efac213648d94799eca84f2c6688f9ff178876f4710b72564b9d9ec0e37894444a29e40c26e824879b7e987b331b2e01a3a5358de5aa728fb21511983542b411142f084873e0231c805430f837b981fec1c8b8390e191f59cf69e62cd61d33ad4dbb933e0509886a4773f3b1cadba2f793a92e6f38b3724839fb13e394ba78918699a1e0b579f8504a1343e2d55680e20d726afb1c35729c43ffb9739dd1d44d06a87cdfdcc985ebc811ffdf89001c4e0b787990ca1c728dcab18696725ccb2fcaa3da4e4e341200f40313155791a3f92fc07d0f7505307d237b134498b7548d1e87b123a008a8f43041ef37bfda28041d7e1a1051ad36feba144f4bfe177542eec264834f95cd20d20620a27e3de83e4cc00759ca9272d67b3321f9824c50fd4100596dc534d258cb3eb96da07b6049c93caf8eaab8726fd7fc623cb69f6039e9a2d2879afdb602eeb186dfa2f76bea41e90da87c5b72b0097cac52a5be43e70127a05c8102b4e6d186638f067b89fdf509800378cc72f6d0c1b20f07ff588f40bc57a175363b0b2ea2f203d5d5afbb95734c204e3b721fda2f1e524901c0b26ef6cee957de2b6232f5c90bcdbed836ff29113e741f0207ba9ed96319693ece0a089be32a907f5a922c6a210a6bfc638f4902fadb62522cfe62476f30b0b05b8651435747b0a5ce099a5f41d0d681df59894a01eb6a643d1f2ec1ccc5c43d79621c691a094ac9ccef31b2614bea92332487f981a50472ff4334010ea8cdac40c32c8c62f33ce9caf15df956185b8152e597877b53d17227cb266143d871eb5dab38fa87b12cd9de3891686460772935176b5b503966724f8ce608b5ca950301b76a7980bee3654f1f80a9e5d33905ff90cd0a6980257210ba6bf167fb89ff11fbe929cb64ea368357fb307dd3d7ceba9a62000d88d5724e59cfa22e47d81dac8c72f1ca379ebecd0835483fca5a85a9543daca265b0723b508217f02a63d000ee63cbd770e0fb217f740a2d51d4761559d60627c5511ba7ebc2ce7b644a21c8cae4cee2f2ee3bf61e3443bc90d7ff0514dbd7086f3172fbdb15e4672320f8c0681d5c763da9e18392fd9707628b865ef2e7bca6f0cc72c64c3117c3d5753c6bb3b4f08efefbc8610ba0b82a1167eabb5b7893ec269f727066895e8418dffcb11217738a774630a06a8349eb63c74e38edd4ba53069c72c89a01d45da5647e5052732da143c1cc3498d0b4649cb48ed83383c9d895df08117ec5b48b474ef26e3857c8365158e8656d7842b71f4546f3edae7cca78cc72a20086776109d3fdd888f669fd0bade3ccb272ea21a35fabf73660f3045a887257b845cc4f1e44f167077d89f2745ee08e45ccee1fc5d905ea72ea9707d37872b57991a49b45586179f985c38b5a8b2d315769bb8ede9c2832b1311c4a59ef722507e5e3ee279c339a02666bd085ed22dc5bf2fba041f8a3dbcbb10531ce5d7241f9131b544b3a3926eb07ffa66e1dbe27f7378c9b0d3c4dddc47ed4326aed1f06c0e9ad335b1c7a922093dd3bc4e1369f1d2488dd1c00c9cdce560e78b96c72226dbf3850653f0d48c90e0775dae99ccd2418f416056ae36844bcf9e3b46948865990cc97f46f0bd3da6e8a0f62d4816aa927c9ba60e2af7676535494583f72021a7b924ed451f76a1fc876bab89092f73d17e7712fc9bda0cbdf155656b1722ee2de87b9dad4e15d76cbb5a3a99fcb3ba7c4020c19629442b2551854c55772168f710986b8ad58e8813f8db125cc99000c1a486a2c6e8f56f4a7f8e629c7725d9be788fba1367e8dbf9f32c67847fdb807c4663359ece5a25c14c7170d3a282f9b04e53a717d3efc89b0d35939cdee5a295aa185ffe48c563d0ad893e3665b9f1fc4814c9e26807034dd992cdfb777158eecdc59effdcab13cf2b012abc1725faacbaaa49dacb6a8125da9a35c755ca71b07e79ea059931d9a46c23687a772788d61554aabb6f2b7572fc64f0e4e0817c1d9337f991a6b9a0d4cb84f704a72bb1a780ac46eab439a395c6116b098691cd7d69696deaa51c712e03477f0b047cccd62f88d044d7983d81b1478575d6521c1599c6d616ec65d773193ac9ae03b0f23c5960f7a0423930031c5ae3ec6084088a4be1b706ef848ba938d7d08e05858b675f89f0b57efd915f7c25ec0a79e79d995145568a0725519119aed2f797247e926008c759463ae5311a1cb70e9553e6abdc3ec59b4840a301db83fae05723f30b545f1a2461cdfde8f38c7263c07a8399d7d836f92e9ece03a28598993720a8e546a6cb4a82dcda121c7cd637263e1a47dbaaf70ff035e535b7d20448572f12e20a2c51bac21d09e27ec04247150f86488ea97fee48ceef0507fb65c7f721444d4bc37ae695d9e04351c566f02a96aae9d037c4ab5fda1407e34f5ad9d6c33d6bfc51bf7d56bfac935635f1c482023fef8d7a5f7b4317cef8498c44fb64aa18b7fbd2ecfb339680fd6637da7541f33a83f2b4fd4d4cb820ff35f5d6d62727e733f6a48ffa1fe057c948592e120505d76e0e3b0291c2debc7dd5e9525a35f0c9e54919dde6c8645b6601eebd40e92ae8210f543ea86b67176f6e772d8672e3639749bad2a35eb6a1cdc53ac39dbac8d775bd0685fca8cee6ed436d63e8a6bcb822ff838859f125f6acf2ea4dae293952a64075c4c812a39eb39e9693d777295e0b1a21a4800f013e0f869b62170d6c155bf88f52371ff9753273a300443723382798d514328d472b6e31af87450603b8a88001cbf0c358b1f140f536d5272e47f0c84630895f3c637a8e7bf3ddbd702bab0b199edd673db01635a8149b412708b75e5c015591c9690fe2e2416aedbc0e3abdeb2c8d1b8d7f6d62abcea1f697f7862e3b9e9fa2bc8b7a79b8b3a154d3bf6dc296a0aefe18050df7f6d532c722706534967597fcbb9e980d0de4fd79154711d36dc5a1a392150e084c9590f72c4eeb09241a44c12a5752ecbcc9e4a071fccc98a1c807d2265c11c6b2402c6724e40f6a3a3adbda225814da4f6d5ad9144fd6bdf747f641e9c64c2b59f625f722f5a8b16790c2ed1bf171f5aa9b078272161ac1f9aac38e0e27501e5791ed072d90d9a49a64434894e7f3d9d231e43e356ed4f4b6e2bdf67122fa999854547726dda58917aa3697366262dda1112d9e99e773862f07d814f8eafba86340f0942e3e33e2d986617d580672739aa929885d6ab64ba81fb81fbb63d792ddf52482692d58558722fe98757d43d7e2010a994a8ab76d3db0501246cf533603e19f66e3a8c00304e85f7e01312d8add9315186c7bca468dde8a37c9f046932c11b477263e1483c7ec9138328b8c4bbedd2ad2331b38d03a740dd12115b6ccdb1b6212eff271522c890b97935394fb23a72312a2e2bc323fe3223129420a284b7c16072e15f6d00878e58bfa3d9df12b08399569f4feea30c2fb4af869f97082f30ef722c3c56d7dec63b33072dd67fd6c95f28bd37a32376a9bf54dea9bcc5a69afe72c6b02d94426d788bd40cd6634d228597f046a9ab0e23f6731a5bf40e50d4fb721ad354a0a5edf7fdba9884f905dd4fdd54304809b2cf5f6e7a840ded12bb8d72a8087845a9e24ff9601453861d7f74948a3050fd3b2a63aed1507673a5343872f7aa72ae66613fc9e40e2b738d56678e042bd194122431f6c162fcde671cc8728b823f31722cdc4f1b1ebaf5143e68f8c57b1bf7fa5871b73259d081e5a73772fe1a376c3832fc30d691e66f74d4daca42ed72ef36480578bb058e9757cd7472e04c4ca6447d16b988963c252968d252b7719ad6b7b2f1b05f0e2288f505f74f19a6159d3a2db491ecf52ae73c8a768f488cef89c47cb2d689fc0d58caa2df72a23e59523337b75865fcee2b386daa17ee17470bc7731ccd132f39b8598cfd723e129b98e70f2391401cd505870da57329844060b33ca9909597143ffa087e7230fdefbe5ce8f91bb41c5c86f9ca568b18405b3dbac15a771469d8a3276ba764d0c466141ce8191d2ddb4d31e4656011636eba165ee3546599bbbf1ddd67ca13232209c8e6fa30ebfc2a493b26308ae766f800daa9cbb8899510c5a174f132726ae440be4700fe73f8944a957435f9ed0cb3fcd510fab9b5ce14486fcd83995d1793c2d975867fe492d86700ab8028b454be868abedbd5ecbbad577e88010e40c27c929c762f0d2db9c99031fdfc10fcfb88b76ef160137a8637e3e5daafce7211fdbc85f86bf2cec7d91bf6d0614e03a1640b952929e12b7215193a74fde1728a3584ee9d8e2cf802b958d786faf6a86b3e43f555faaf954c6acf5166838a72b0a31937094f70f182a732868f670a3e3641585ab8117df8093f58691800d472811f50162cfc4b2c8668363601544da0cc2269b8c3856654e816388ae06805721620f698f94cc63a1060da6227ab33a5ce48456a8d588c5a9486e3de68316272eb4e52248ba15e6ad06f2c7f69f686985e029bb122364eb945e03720c6f64b72adac7704657c8fcce5f5c6c1ee96c933596ac9e57273bf9afeba42cfda2919725f265d11bd3c868e345b084f78e587cb9628fe04785030828d0f031c0571b659d64e8e9e721d3f22ee86dd411ee348339015b80e38a18c680a8100573056857215b105b9f861affe7d96e3bcad00f0269f552dbb98a76b9dc125d6e4ea58d40b5862ef209aeb44e2c4aa9d6be9af0d3426b1e0b2b53f32e31c4e244a4fbd7b0d89db49e88c22fc0bb9a4427bf8c88f540ebb23f9ca9406412db06aac93e1227246103dcf8393fbe842c86591996391ebd315e64d74c498ee82689a58356aa3725c1319e4ba64caeae9e60857f51a66602e32d87af06e634154fafedc2a449572113cae11b2caad985328be4a3360db5877cd75db5f60938d9cb3c99afcfa6d72f7ac631594157a60a288a4e8658340326a31c84bede84f74a7aea224a1fd297270c69636f598a8af4778f63eaba54a96e5507d1f98cfdaeaf1ba7a70122d73724ae5714352fc94c7592d4db93dc91e0643f6796b7e096a6e2191ea793d120b6b6c69d597b615209b47928b2e5ccf04294e8c594a1338fa71577cdd2b249b37722d5c014fe96b22e5fe2824ca562a728d5ab1ccd3dad6d9e417f2e1f184628d729af970418814af4dce8621c71655da7549fe99120e5879d642d3da8f6a19872fb0467e0e75076ef578884f05a3cfec7b58c38b5936fb46b39fbe92d0fc8c304b92df1c4892388751931e70e5e9f3aab66339db3d4b5b87cdc49ebe9b5e13941675d5f7bfcbe7054f14db5f1ce4d8f71f12c28486d695379a28b0ee57fbcbc55faea4624c9945a5bebbe1a35b56cca77267566937116418092983e290386664725ae6510d7a58d61e8fef6bee13c91fffdb75767e20411acc58e5685044fc0923174f74d0d17082e375f7f5ba765db7fd79386f3b11a2cc7629d95410c5cf0d726a796ba6e774da021ea68105aa1f091ce253e486a2f86efb0f94caa27248857255bc515cd3bb89d35bc40cdb86a339ba9b1cb9caee92bec38b2c4f09801dc1729200eb1b235d38bb1e6c524dbe420e3d2b411d675c6110feebef1c6e67ad8a568571f0c64a886c3f00a1965cf80bf66eb2fbe148ac58750e4706872b2df39c72fc7bcfc9e13fe787fee252fce7356b4eac8b7179a7c532fb245d7f0845bc3c05185af577fd48bb6d194032af29c9d239c8c7d97dda6e0c99e7e1ab088014fd5406d2c8f15c74000bf22742aa2887710b458de33cfe8a9d24f1b5d4caf9d89a72d0855d6354e3c111c9a3141d6477a018168302817b4f87c136b2f215c7cf3170f2d5da6383728f36739d94ecf839da29da32a399fc28be79f6b8fc33fcfe723af466761a79d447686332cbcac74b4d6816dcc1e268f99fa593aec12640b93e72f6c92baeb5ce8bb92faf82427f9365ea0d09d9693efa66a833e80dd5c427590bd160fa62cd0a304c1ed0afbf941fd1f49432363f48e85d1b6f81e3a77e54c24a1763e0da671d0db3c82b572b22fb079bb79409378351b1f3d1612c5cdc78cc72b7e1e88653ccfb354eadcfdbc984072d2758b9becfba0e3f0776353d608089728715c5292dbc10644aacbd40ec4fd1cdf3f66b1eff0edf2d9be9cb313eb60772e21e33e094139c5f043e0f34d45f75b9f53142b25a90884de57f8de024701b617a6b90ed85a2155afbd982fa8aaa14638e8334f4e6d43737185487ef52f305724bedca8a0fd1dfa43b196b2390be34a94f3bd6eace3947e507b9601b0abf803bab0fe376ccf681f341038f2c7cd8dd4c15e8f1abe6ea3b269a5c417279be3e727a3f2460500156eefdce540c0aa5859092e7474d6f0f21215b009ccf8b17633046d6a17c53dec8a0ad9634ec65d51b0b6de99cbb074a1a0ed1a4f952a4e8242db20b9d161cfd34b7549f81c03431cf2424546b2a4bc72710957f3c6c69ee072ca6614e37655b05c86838ce6904e7be98b40e5919cae47356f868107116769933d8efe3b2cefb2d4ef4950fd9821ed2ffcf4cef29862b59b0e1c9cabeaad0f54973a5a1533cc15443e62e39eedcd95e88c934d0baaf5e98d5c8845fe40015172bd2dba280b9011808b36d14e31b4a2c50074bc6805cc6ce0398ace26ff0380672ec1a071c9035510d27513a4319265ad8164886909620b13a1976e7999d6bea725e4e7402a0e3b8dd3a0f6db445ab199d114eefb7a5b82c374fa062b5d5376414dfec0da2b2e4ae5105663490218b0705ff904b716557a92c51caba9ee03bdd72aa36d1f0878b955991dc2a120f30034ab2d0b8d28b6ec3f2dfe337df8c827a1da8c2170d46b9573ca599af16cbb23b21420a21459184c0a217d7036e25d9757299946d3a038d6ea17af2fb76cadb305302fef114e58812e63a5fc78ce265fc32d29c7c85e4fcd16227ed90a5a55ba83baa35ec5d02fa1fb147fa599dc6c2446a219efa067a8e04e9a2c2dbd74c4ddc15385696ae980ca3a0ebbf1c2535803520609b37cef7cacddd68664ff8cdd623197f4cdbfdd10cf301f045166e93e3be64dc077a2965dc085c346ca19971e3d5837b37e5b187f9959edc4fa7518716b2528dbebd3480a7ff257fab8057c0a9cf9248a20f34fc7fba625c9e1bcf8c778e727dd15877c96a64299be57accecab52809124b3477e0941ad5edd3e1f5b4e415c3e48e93921fe9465a77e76351a88d1d153fcf8bcd74adf0ac6342aec1a191472fccafb9d5dca83c43a1a8941f5de5871f6693eab485cbe7e1d4ca5f84f1c62728ee023e2d16c3c5195d25c0fad28bafadc42e9850519102c907d55ec172f433dec52d1ebbd095d0402b116ed3afec064dad64f06818cc4a045a54b1d19bf276f1b1149fc8d10aaece4c1d94c1b79e79552d0c5e9f82a6b9e2aa1f15738876372d7aadcdf0982e758f05726320ae1a12eb13b7d2b8f2559cc16ceef017038da722eef974a0d3452a9dbf2ab0ba0ecf8461ad9aa523092078ecce53669e5e2b17206a5c068a3f8658df2396b70671ab1b783bd0f0bac8ebbd86c2ea58a9c6ec900930a982b2756178a57944df60a87aba34e5ba72d7d330571ab449c55aba2c37202e0405c437d6337600f1fe78c32daa532227146c9893861286317328817616a42fd9e7e91ae938c7a77bcb7ae6b58f135b56b9020dc84bc9f70b35ba6cf0e72e3d07dca8fef1b9e3cb87c8e7b8537e038fb9da74ea16f3eb666499d6f25bb208b64a5ef34f41fb7c3a92e8474f46e596387d7dea858f947f3602622c108ba72a5b80ca18b82a738cd5f3cc44a6073469ead1992f57d95fadacbb22c4143957278ba9cf3276890a3b1a2174a38c83e62d1a0959eac89f0542c0d63451dcacf72b7250cffd4750fd30703c712f26b415ca6243935b2a2f5444139913a3b6312154864082484afcc3852b549c96e3c8bd63fc8f52d6144125b00703988107c3572380aaca5dd230b57476024c8f237393120f194f72fe17e7e83d284bc42535a7244586f6d966bdbdeefbf61738360df9ffccabd4d8c664634ea2824077d7dc56e2e3b569a5686966f0305f5a42e584c24dc6b189b5bad371e8aca8e0f9e2a4d23fc565509c535084321f602351f1f708c78ae2aaeef0cff3e632ce6caebda3672a6b482690455aa4785524806a89f3d1a3726a08adfa78348e068edb4b738dc72a9977e69acc1e05f9d6a5fb338d83b9b61f656d4254c85cb5fe7264aa574a37284dc4683e6b5abbaea2dc2c891eb5de76e6255be68ceb67dff4571253a83b472abbb55dff44fc4659b881e72fa7f87cf302f273bd6d0f64967493c1a422f4c72649fe0b419128e2a4751da0c4eceae938813827cf5cf5aa5121efbe8fe30cc7277c9e01c4b37d035afd23395dd84442e32c71aefd0bf5bdf44b85fd2475f4b72462b5860ba7f8aa488fd0cfab4e7fdc9af83574a9bc98a3c2c805cdb4f61dc724024d6ca9986cd67e2924c1632462253d2b9fc5e4f9aa0123d0f798cd5a9233926ea97a605ecc8147cca95c856150b482a5d64ba09072986d92b11d2a2ab9672c916d97cdf14154df8a428eae1b73dcd1e3c982daa7ebf665db42a832719055bf230d754d9d826ca0d163cea9794b9b7548113edf1473b6722be7b9dfa69f87261e6a49961122635406edfc7d6746a82eb3f43df2780f9b5b918363b957464722c3ee5fb8924612809daae2510ebb89d221bccbda400165a17497b1966f14d7224fd5af9df7c69d31d0229ae912a3866b2da2807bab1d25e692307b7932a27640de5dc5ef86fb8797de83011b7c871bfb819d6278c3691d728cfab25c1337540b5c60114d8f4b84fe96ae17a206b32aaefc89d968df87b32d842a654a5be2f728185530602d447a3b95104941b9188e3b1b97549b881b59bfeb616580b8d2f570cc93b9f786c52531f8cbc2e88e17fe176a33f111197267dad91db13827c224518ac33a6ac10cbaad806e9086723afa569d1c3be899d471c411108f622b62501c1b391e867cd0f6fdf11549ad5c9126b6bdaf98a72de0dec313b29b5c9dcf17241e6314687bef98e8c4bfa354975396920d2e4046aa8fb78be4ec215cbbd2472373664f979eecafcfbe2c1a8fee4baef394eeb92eef81ef5cec0378108e6a3729e822b5cf0d3af52f54abfdb0277426b8e487f03a7f371e22c111f9532dd557260d8bfb8f6b49a75d2b47d3ce543bf388b792789598c622b566a3878a93707721bc507612cecdbe4e69d0515d142c466b2237d38e5c84204be6e3e3bcd9ce36d480b8aa875c7616f722b664315cbc599bff5fa7bd2304de5a4bd30349b01175cb35800ff1d07c176b8ee3b27b65f5662242af78ea72370bd6b1bc203f366be72cc7a67704f3e5f154cade054beae1535d3371d78f899ceaa4bbaf4a284418d0de08f0900e0cd56ea7459cbd23f81e1cc6e6a532ccc28157e2cc324217230a850c36302d3d6b0dd30ddcc1dce0d9a70165647a3be731fc65f1f468b52846f376e92c852bff331a4e77621fc0568c302f0ba010469ee712e6a8f1736957b9959723b60748c0e6e55c37e8a44ec77e242427a06d5d0d04316c79e074b002be1816bc1bae17db998850577420b60f66226081f3475c6da969a1448a1e6138d33b57263ade74a61210dda7201d8d7885db199c598e5ce423a5433f5699426f6c2a3568ebac994db783500a8e2b1b21750d95e995049f99711bebfaa48de86d9d5be000fb3d339017569498aaa0977a85c5213db5da1907714df9259d1cc01a600e00ebb937057b43ae325c071e380a1ec8b5600ce7c33cab717da062d1cb90a17d9725b7e6b585a79e5e6079f156f192c7825855b50cca1028f36b061f86b4e0b160eb6229d952d74e9ca7c806a73b99e8a8d1563c23823aab2c811657e6409fc320e10315592f5cc597543b34d8ff1dbe18977d1f74a15317a38af4c1fd70a0cc0723b56cef74445c6349b45231a3b29a465efbc7a5bb61913aa3d5683b672849572a89342e4886b1eecd273b53ecff03ab7543373d4029c300d75c9d4e9fb6d4772376f9c84965b8a02b576cafa3e5b8aec397dadbf203fc0eae47b9c914d7216727104d4419cfdfcabb29b4a79df2be1b91c743a07bd2db46a9e503eb95662a31fc73f429396b555b4c89e6efc8a27d1593ca454c1f4c842975505c54e8b99c0548c7a2ed0d1397a044a90caa0269168297db00b0869fa3054fbfdf05a55ce4f72dac644a032ea15930b71403f948c95276aba516fcd6af511549863ebe28c9f02fcdcb9bff97ee885b150001e0252209ae722de75f01f847d1b96b6ce5437aa720141a110206dca79bd0f620eeb12de716bc33761881b4c7ed1559c39eb00f572416bd274b078d16b8b7df3de6137d964898280d1601cdcd72f5ef0e8b12c6772d2ac6729f9aa847269677721d3868dc48259aee83c772fe34fae7bb5e502707254f94973797bc54bec15b61ee811bf448276e7389ea56e03320a4eedc479e86fd896c3b288f2f4c9ff386d89f41dd2614feb16cd70135a4c41c8f9cdfb6571722bc027bfac2061eb6bf02684ba1cda8423b03ebde0595e0b2118c3d907b9395956152f57a0e51595e7c01d5de915bf66055dc1f47721c3f1ceaa04a7720fad193a446a9748d1b68f284a5df431541b3e40ff883d46c8d585507aa618d879407240bb1e22c2e1c4217b77d0de502036ada5aeffa1172844b0598fd7ddcd3ff472c7dc8547b719b994e576047d7994d3ba5f142e54ccfae177d4ecb2dce445207283a23218c82dd6f2433996c86bd303e7ebfb34db4160f4595bc15750fc150d0ef4c2492d6edc72bd7af1945a463c49c2a49a2689cc16a88b25412b650392373d1f18dd9118e4397d155ebc15aa775856bd5a94e08075debe9a1a2caf532041610c6bf0344e890d674af9ec8d67822ec6d65cc835fd62f764e646c4259b30311be7074493b46347819b1ec106b69dbb408544add45fd549117d8bb6742fcab272af07546f847c72383a200a7ad10f612e009a53a0603d56644624208211c29d7220ae964cee5a2fc1ddbf9507b2203873f73876eb93909a12fa9d724aa775b272a7df49cc2231f0ae388a174dbfed4b39e823bababae9f96a7924af116ed8a77245ab2ce7b345a686e4d2d93e20a51ffefae33576ea77908d97b7aa7f9a28d272847c4e13b42b529585ed0e1efc3f62399b886f1fb76947de2447bb71f820c1723549cabe20031ff38316fd30d14263cbf620257e66370df98fce284409613072b985813ae48b832b537998f46548b6dab6fb4fd3b5d49e669ff514852723fb721d6776b52853d1d45bb8dc348e9c1a1c7877c0dda81b1ae3b2436c0d261bf5726b596509da886691745dc77562e682dc47b7dfce74bf93ba390ceea9e6a2161a50b73cab090c9310f76bd670b1e941547fcac1e57b099ef3e8be963e538936725185f0ee78283f00f6b2984b6bd7a8d791f55ad2109aa00dafb823785d0f933eac425a3f6956d6ea7f8a0894590012c3bbf4b8dcbc38b26c5c355ba2f22f417202022acabe7233c2c7dd960734d9f8b732dfa57504bc06a7505f3e2eabeb2333ca4275d795c791d782eea5c08d197715e8a4754c2efd98c9adb8027fc5f71572d8c87a274cddc6fa73a326641fed4bf915a22dc8b0065e42fe77f6bce69c89545db652184e37c878d72422ce676876f9e7b63325c47c865e4f74be126f2300723e7b9d7cf389c33c5f5e03d38f7b607b15e149dbcc8d940809f7b63f152d467207379f6638c6fea2ea20a55d87c576efe58009411146572c95021a9c37e00872f1494756b70206e7dc21e85c0bc841af83d2890f73cbb71cb59266ed85451f5ab9b7992510db010f7dccb1e8979c583ee1d675ff4e8b7efa8420468409061d72528087350b54d907551c7f60a0132a770b314d329664701f88ae1b283307cc6ee74851ca1c97f258d37a8753d9fd738430c3ebb56a1147cc18a518cd45ad6572deb975599fe34de5826a52565ee2319fc895310b379b0cf0934aa94c08f0aa14a175f08218b77c6fd546c7641f57fc5304d8488ef0205fe69e2649422c9d2872b6748439ba3ad6e317ad80e644188cb2105615ec378314162d93c681c8acbc40e9f21532bbfe4c887d734de41baae3417fbfe669882e7022099baf4a5158ed291ad9dc6a3c01115c426d27d4e9991d6c4b1cb2e29631d250712ac383922dc4726a5d531d694f86625ba8b70c308d5f63de4523142b0f558a06a147d732056572ea7bb9a56d5f808dbe284f41f2ed6ba141085a16e381f23af7bc5f3ace64bc72afb3ce7c914391e2a1168cc64a58a641013e938274609651611596da51c8ee72360ab3dbedafe695236a4fecb6a08c0b35eecdb3c1251ccfe4c728773fcda77220f983a3c2ae10efd0b66bc13dcf57a9a0547e5a2e256298d5af838536f33a0f4f954afeaa179e780ec53d4dae7d027bd70683fb8ed02d522506e9637d4ea10366a70d00a3a5f14176ad671e05d5255f20bd09dbc406da84c0d3957bbc08987249be68014030f69b84ecd9ab50279c66c8a43a944f1ffd9b529e83a83b516808f94a38c3b81e3960c160ba7b9bad53282b30d68266d7deec5f9b3b47bf00f713e352414467017aefce36057a5d8ea05f0a029e4f8435041f779de3bd9b03d372ce8fe144019f65f6131ce14a5ad4502e94a1897fa978388b25e238a9252cf072bf1f29169e92c7cc6cf6c7d91f852a8fafd1a1c2aa9a54fc24f498b9b61ab9721c1f4651f93bc4f2558b1e1563398c9e783bdbd6d0aa62357ff12b681db53360dc29d65929f48d14bf9e64fe1e82dc87360a07de268cbe6b5416089b8da54772ede49c906ac319efd4510ddc8af5acd6626e6e806dbc176e90c5dea31e27f27205aa19185ebf49633baae0a2715ea2989cd04f73ee2374d8484e009ddd75a6722aa52ce4fdf887e000e2d10b01aa6f7c6fe120fc280740113ae251509f24f8717212be3e99432b440c82b571b378524880e1330f7f6bfb88d50290f9847a62610c77b199418c966d8cb21f3cd310bbbe87a2b26f360231730a727b2eebd710728f7e58f9e68fc1f16b8c8e218ef13a5eb448b0cf43879067e0d71c6cf6f91c7223ae1cd332a9f737ab1bb5ab8de11dfaa4d058ef34c7f13300833f0a65c91e7225e9da783a4a20774cbd37ab6af513bd36c0c5583128396368040ae0cec47a72c17d31d6c188192daf6341d3dc2454f6987d09d0c52f49d0e1392d15bd7ff66f567f6ea2c4394de2e2164a79192006eed922924ffabe5fa3405f0dee9f00821fbb78536fe1d8683ec4ac37e0114773d2c65b40ebc8611e87554c6b54db1c397280dece51474acac31795399f8dcdcce7846f92cec019a65d5cdd0feb0b7b2a727804b159297c5bb86dfdfb93b40b40bbbbc552443b69ae77d4968a7ffc74fd72b61a74c07452c6df3f0390f0b48434a75f6d02f1dce067959a6166d4a20b1c7295d28df44b035b268aa31d6e98b7d6493a0419ace64b1ac2131f58502c6471580f7bcd7be924e20ed844d437cb4c724ebb13927ce6ae1637932769eba1de4072de8b47dc5e781494f3d3a790df2c433fd280a0732e9e444b23ea1fdf9abfd305555509eae3868a9cd133920f72919298be3d755723495f12eed8940888e39c722a8582ca485eef2a60726ced7ec7ddd58351491546c32294f64c4b49ec1e1372ddfecbb4edbf9f3e4d9c61e86cfea42a8b6f2bad9d95902b1a6563da473e7572d774462581e1468f57b9e08925f87fdec37dbd5dba1a794f26126a2aaa96e07288c03f179e5908282f3fbaf737a5cbd70bc189cbed917607bcd63ec7ac078872ec9ee28c6da1aa25befde3e0b5aa108ab8e35f0c29e71f3cc76637383e8d1972c9cfd3eb37c9fa990c19b09f3b2347a719dee892679a72d6f56389603d0e7068f3e7f96344870f10102291deb1c7a459f448e7fc72a12ef67cb1c4dd21739872b5dfaa5f39038fcaacc22225c3c34948e3b4253092536aa675d13facc582e140aa17472c61d9dd0a1152da5c9db38a47c310d61caf64eb4b6190347aeb054672ab49448830ce4269feddba36dfecef282b1203b27e57ea991476fc02b1aa1d72b2a3b72ac9576a01e9fc89abdebd13e49d533411f5daf974870afd2fe0344b7245aec39b4d79756c8c2fc21ee0caf19ac78f466ef8ae619cb0cf14dd8bfa89723e9f77ffce42336b34475247fc5289c9e7c91055d768cdf1b278787329b7e7430cdc395a70f1123f93ce4429050ea0b0e21142687ca7ae595307402c544191135ba0fea787a06c08ea116b5085d37864c7de5ed91b046385846799d19b324e72a16da0e4403d67311327de1c645961c021e20160da7cc3a192359ccc254acd72a5fa37b735c8d0c8caf6ec04835f133b2141a566cff2b6b2ab60c4369b8a475ac3f1972bf5a8de57b09aeedf0e7a0d98dd0ef14dbed9dfd4320bea506e0cae01fd308f4b19b2117370553ea33ccbd284d0b46855c8e349ece01b41c5fa0d7b477573e70d7f64245b451b53284f9f36d3e2b438711cc5e65c3ea05398b220e86b105bf3c9d9ffe88c9fdc7f22f7cc0a07279ae6f15474b2bd7c7eca545542ba72d09da125b9798e80664aa4782869e98cce3393b019203d1880ef948ee2d5f072b6b952586daa181d51b8364d768159cae70216c6615846df4e4030c909697b721a6d0c8ab11e5435a673db7bd6d8132543d4aaca541ac1628275c76b9a28383a7fdfe65d5786976f305aefac4d3cc7825eb8a982368c9a604fc2d3466ec7b2723388299932bfa7c7c6f7458eb78b522989a5488b148498a4a4299a811676c246eb5fa4c8e25bce021486c9aa4124621e232c76b29f7b6d9d6aa3d9b628f2401932899374e267e53c32e05aed5a6b57df8007d028cd0c2a9a88ae966cd6745a0280c7da8084c76f3692bf0aa28636e676c8ffbd90d43afe57b4eac1c7552e0f13064ab7712d938d2deaf30c4a12bbf719dd235a665220d38cf5e3c14780682a6b00a719064b67e562baa187b7b0280d4af07726f84c45c7274fb2ba319a863972aa358f2e50f3ae46b617e39e9b75ae521061cccd44ec570049def01ca57dd872eca39265242947cdf3cfb36458e2714714efe8539fba5ac58c70617138d557720f0759a81b979dd589549eaad4a81227a7ac6f9c8fbfa1874832afeaf3f3ad6954917436c30a1ff849fb698b694f9de722fcae0d4420bb872625e2dc7949664e34bb1077c86e52c852539b622f0c6c71d60ef663567bc8b504ede7d812623b16ac083d552502e7ac80202a4e22bebda146ed0ccff2dfb931e2aa761973e3fa11ca42648ca1fdf08c1c3f393dd4ae006dc767ff55dd53663dbb74182b1ae1607225866f2a262afb1a7e67f72407eb6197a64a6e6392e73372a50d8cbd8b5e045bda5cac41c105662b4bbf19449fee3f4b14a0be5ad62796bc4965474d04a99172e3d78054c4c84c4854b9519d211267dd288cc283edb90f14f2992ef378ed9672f7697e901f665d3e90dd4ef9f3b55cd34736d9692f012712a14ce257580a3a72fa0fac6766745ad01f8a3c9f810a11895ef33b0a6910e1f4747f930ac036a77233a16e6c974d9559879a02772406f8316030f28a1af7c058561bd1abc44fe14fb28e973af4285211af5ce4e83027a863207748b10aaf85bf4480716e451b5e0d605a4430c6d0add334ad709dcdbb4488e252e9654be55f591484c2dabc316a52bbcd731e772ffd3c2756d91803efaf4246aa75956d15871e681601f42eebbc5b4922b1a2f0426d10f151674e05ac5a26c48a915fbd148332dd7d31251638a47208d3786745d1d6e9011c4224348386181459aaf6220e38125b76a9df1fdc7a725e6ef05481075ec91d2821c22d8df680fb3dc161495e848eacd1e7cf3bf6a872bf69d6e8626480285577e4651089ea014d9a0242fb460e2b9b586eb1891819721fcab4f9381a1ac1d2d3ee6a74b6a1070af337cefaa6bccb39ddad4a72860f42b8593c8ff871b53a0efbf2dab03bbfa1a1ad9f1879c4aa843947778e33122458a4cab1d474359cb04d93f351671d6d7d7ad3597ebeeca90a5045549b5c163672743a9c9d5ad0ded78d9641dda77e028231149dd3ffce4223709757d07903d56ae6a5ccc4a05bd80d12204b2a71c5716b63adeed1b122194721b22ba99c2a340fa89c25ceec0f103692eab3395b8745b9f8a163429059cb056a4785a82377a1726bed72194a634f053db7dc89410bf2130266abe47bf69ce30ec5ed471e3dad4178533f2c53da4c7f7aa58ad8605e09e8105401315192caeabd714a71b047da72f093da3e4de0b397e7f93cfd9d6d4fcfd0d3da401b3eed1ea89e7e2dd4f7af4ec181f23cd34adffb91362f4f82fc197dd1baf4565642d2360e025a7f6fd00a633cb0cc4cb641ff6469be0baf179b9cef23aac0e618add05542c4b2b565525a721ce9b4ff607ef2139a3adb03a89c38f95c9a24963e660684ef29ea00fb5f440098bf67086f5b4b92bde5da864b1c782a16f83e4db7252bf574f920feeffa087277500bf567e8b2607e6abfd7ace27543cbec1b5a6f1b40a3179d928e4ea176429c99d2f148fd63e9ebd7251bf11eba4e8bcc1cd7d9d19e49e22709ee5e431f1c31cfa00ac8ca83374fba8de575aec2cd7e4ab99d3dd747abb2141d94c1659972b45686b16819578fbbd2073317e7e7195bcd29ac082c4f82bfb1191256b984727ff5401b749de214d0407545216e806c205fc4f49adcdc2c4568e24063713210a2fda59166ea6e8e5fd25c2c733bfa4ab51f47b9cf313b422ec04ca7313e9c1ebf1106445e222e0f21fe9058bdc2d7eee02fedf9c5e4ae489ef7c11457bcfb721e9547bd91b7c028932020ff172909c365eed9c236b138eaa43d975993164b722758bbcdba33777b1df94298a3543d0a4bb5592a530a65c838a01ffb4634ec3f01232ecdfde56d733b6ab114ed4bec557957a10ae4f897fd9c112e4a4f6b217292e1b03959444478b4fc071e6419e2a475d15509789890f64446824ca9c46a72fd2c7a860ef9b77502ae07b690e97b87b596ea9f04ec6b7fa03042c6470b414973c99ba9cf917c75433814c49184cd141b4d836df304671aff4089cb7f07ab72392336af5226703612d04e6837ca61c951dad67302873b5c374b9e2b8b901b040ca39aee2c466e67b518b9f8b8b899bdebd669b9f0da4619a468790f83ee6905da58ee0932c88fd7dae4244b9706ffcafdf555e5c67901ba6174ccf8d720c7729b7bf7e351668f9549502668f6173b7fa7988619ef0c248495024d44a4221b3e075eec55460ec051557820de1ddf26b6a689302a946da0a2157459efae07fc6c0c011342b18d642bb26d809f0929f7754b047ed774e2527c1e808eee3b5bb43d6548c832d3c238c01f673f89ea7eca5a6459210169767ef807be2e666ab54b451b5b30d0897ee12064148f473a4389c24599bd2a079493a61f6def2470624f07fcebe84f62706a0b30f946b1bfe1b511c303c35641459161a943bf6bf1bd9e728c5080dd2476dd36e82a28d3b37c2d5b1b74e07d94461b5376c26fec4ac3323f077fde079023f7fd6787af75c1de4624772c67d556bb4474e0f52c550004a50ba856e61e3fe4ff5f81d3a00dcbea8bb5eb2be467c18521c938283d7fbbfde772751b83e4604d50946d3ac3a708f863bcf0acbe190f8daab2eb0faf947f9aee729a16d10e5cf761f32fae0ae2e638f762d120bd6e83314cc706c13da23a5e8272507191cda6c0b80e4f68f0fa00030f329d58720e7bbd5da910076f55b2da54729e09861dbacd4ff3103a3badccbe96216701fbe6e0271ed529e0f33d228b5456cde89637e55c010fa9ba4261d4e1dde56138a2a4c50098b85ce153eade4ada52bf34a2d3f5e68d44e1ae5791fb9bb5eaa3eb4d41bf528c3869affd3c43ab0772afeeeb78a638ac754e175cd8e02aebe41424b7cb98c7535e95e790c6326d047274ead0d27af2437a1df766ccf9f4bfba85975a95105558b7cf73c039dc0bf772acfb8bcc9143bf33bce4fb0db28004b1eb1decc2fa56cfb61b3c02df61910b21874547a58d7d42b65f63f01e100d9b0f541db6c23491e20f01a28b6b178f3056c1a3b9b9cb1d3f345f6e266587224d653bdcf955034023971d33f17ed999272b9f069a1a524e9e9d5684a4e7ee10adf966083fed2dbe02b84b5013accd723e604622ebb235c303a6e4eb380ce9e74c45e0bcb7a0ecd435b737d9686784cfd572e56f58a31665e0931992e8854873eb1e9c55e83ff145d791fe7e1cead3499f0c54a5bcca9fc342af06e32a38ec2f8ae399153a0cd0a66316be95753aedbdbd72f9033e417906bf9f051aabcba2c6be6aa59b593d1817c7b5259dea3ac185577278a25fa5ca276a592b060a74bf16200fd239fd04206c9fff0b24512bf251034a333b548721e9e94461e1d202a97d52e953b1143ab6d78e5ab1f340d342968972718a03edcd52fda8379130dbb84f4f0323136c4dce3435fa91193caa78143b64bc2bb024eecec54541958604fd35cc6457ece65f2ab7f8ce16acebaf07ab1c1932add7a4e97c018094c9fb7b81f7743e6cdf19e00ddfd761551c35220a1f8825f1a36fb3d3a9890d1eb13e172e9e90b0503bc4c201110b33bb1693951645d17288d771e069b9756c709061fe7f12475b628228eddd783479ba49aa22342fa0389961a9d55db3cba6fb809adbb6951deda0c9f3712a0b097236564d3c03f714720e13c568a7a2978b99d4f9031aabcf919441f87ced18892d5360c7529ac8027246c03504044df25b114074d67c47b8a93b765ff8f365da1c4a7b88d9d0eda172da4d05345855cc4f2d6f2387ef4ef92d58a78c1c99d552a529f213bcbd3c6b161b54ce0f1ee0f71ad3e37225b44b72beb1d507112c7fd7c257a3eeb83c9cfa726150a72f72c158c8b8dcc74a13dd8b8e92b6ab3ce7c9a37372b4fe932a41147205bd13c9aa77de3107605be6a891341c39d941e6cd73d3161d3d9c48bf89a872466ee3f364c4f7a865c0cdda7f115c756cb681dd045bd1f75ac0b235cec24a39de51932c65cd5e348e9b8b98a19aa58d7bbfe748dc37e75b01084b49530e833c1ea46abf0a71336c7d988cad4b8edb80718d975429aaf9f6058ff261bfc3de269ad97e238f25b120828f53ca7ceb1e75c4d2f7af8c507626e296d526180a8b12b4970cf5191309c305e80b7e9495c082dd651d7f2699cd62e8c694ee2b647c723f600506adfe6b74252d2d00d7b3e6a60b4f90254d49277f9b6877dbfb188e72b1bf3b0397bcf94c15a48c94bde3e562538aac831a054bb951b5aa7d9451db7203bb12c24e9e9f94c24e3f9ccfcdf87296a4a54d14bf151161e7636b1b04b172444e540b5622b37e0def8cc6ba966bc37011280270d57d84ec39df19cb6aed727f69022e1b7284459ed04e0e488af27e636df0af148e9013261751d88493c37293bd698f2123af3d98cba9758215920f170d3fdf53cc7c8754e9ba5e9558db358aa7b6a9d3539399e4ca215f16f46cc13ac275f52a49fcbf40fa404807ea6752a58fb6f7fe953cca1b6118cd9e5de3980e2c1f87a8d61d6337328c41587eb67290dcb148b0a7c5591c95cfb26c4d3c5bcac0662bc123bf281bdcbba3ffac110528670b8d6a403053c5617f95a1a933a0f1642ee2a3839180d2809e04b46bdf72e7c49d7591b1028ed641d2bbc44768b8684ba399c23da81624d80cf013dcdc722890e81ff1d0a516092b50f92c73d832e6c413889422e05c60b408e83c1821727f379c46f847b824ce7cc3e785fc98622be1214d35aed16459c140546ec6c372cc21403f00af1e5637c0f6ab20e9aa9b006e232eeb3c8c610629a66c4477897233485c53442a6805ff33498d7bbb42ae03922cc28b69758ffa16bbde312a1272101e59aa015577186401483864e3b729f570277390cde5831b9d0c32598a3c7299912e0c3e8ead749a42e63bcf90bbd80fd5b8c713888663ea0db561a89a8c13de323589f56609885cc044dd6a4288f36a67c2636c3dced92afef2e5a8b7e239baab92f713ca1a711b393d127d8748f4be5c2b621a7a7f2d4bf4306c26c218721ddefda2817ad3bab1ea01dfdcad3984537ad7c35ae7fb0337b478415eb3f20dd6a428d39e9374accac722800bac46616766a6e8852618fda77cf3ed61ae4172c8b7ce39c4773d9e636647cf95b867889a56cd34d7abb63d84751b7314f06e70a75a28807c6117e14ae2be9aa0da6c9fe322cf3304e5d5d2ad56912f0e6658727bc63229d8ba14276aff0a6b464fb7bf9f1a0b5a0c59877e03b0b2b913bb137266ea9b2a24b05512939296a483636c9d345a7bbcfab7b4cd46f5fc7610c8a672c6f2861040c3729405822c10d317c0a54c09af81c3c9a7fd887e9bb22a826172ff7b37a8b15a339f79443b95ea0a75d376a1914790788eb353e6012ce4696b7285cf81ec3b35e871801dc15871b10d90b3a02b71cf43c8007f8a51d6be14f77231831096e93ef15b431456880d6aae01a230f4fbaa237d6a3f85e6a1ab6a3872430ba2c8d5b2e3c0dae4d5a54d257bea477bed62afda3492e66aae4186952672fad2df36d0b9f734573b50010bcb8b7fcd8e10f27ef489d18d76395284cd2572a57cf3f5a7e4ac83239bf7ae654627fcf51c1c3b51d584bcd174c8c295b5ed5ad3f0c633c8c06a2e9fc6c272be240f5ea26a062e21ab330922220d4f2b56e31d481c888ab458c2148098f587d7edd6f53dba6d07594037b62913d63ff3f15772e47b7045fbaafceba3c22abe46d2c870f9bc18c4a6c12dfebce91f5e5d4cf772bae1b7456e119a8d9809fa7ee436a42248e9548794ba0a54addb43824fc40172f0cc73e999e3c81e954cd8013357ea8b24770d80c51fb5b6bf33046cd66f9d5cc86817c2c876b81c9c97070899f53f454f4da182cbcdd001dfd325584897711207ba9a49ea568089d37b3dc96e7073547f41eb5af67c0c3591ecff75c0515472c9cce68177985635a56e13033372c6d585bcdfa6f6903463c0662ade26550b72234bdccaa64fa2a98ad41e05fbbb1de08d0d6961dc606872dc50708fed3f0172c0d44637feb6b6afa4cccd6d0cf2fe2e429b45feb99a110d2ecf1c2e7e7dfe72612a8108dfd301235a164d823b26c68883a66a80b44fd07d2ea44f224a1ba4728e5db0ff07db44ec91f6dfacfe288b0ee74ed1c907dcb9239cf32a72a0f97a348b2cafcca8c46bc7073363167b6fc2bfad9debb3316cf17210f871cee409b47217c23b74e7e2b217b2fe6f33ae31675619a5a889402649c24a4b8f7605465c72ffe9494b665a72387f2e1d23c0f779cbc6b451345ba26074d0d83f0eb3d91f2b6fd44555a836c0066c0db8687678cc0c1542909c5e9301437b2eb3a4b122d9728b3bab062475b81a17c144ee6f324efcb19271a18ca5e9e2c62ee8dca042ee724523febad24739f5eb8acffdba04ca7601c61632dcdc584c483fe51022347404f5d5f1538436a7a72881b253adb5a83dd23d4424c160ee92ee86d55ce304a36e6db0c59bcb844edec3ddbc4477d2ccabc0d6a6d8138e1dad7d16e8721cdc1072c147985c58622d27d342de93c7f06ef391446592e8b0895fd6c5909b03f24672176c75ea7635a2a83626d2e95c0907d9ae8d38b642157b5b55e801f107d5852e23e199e934a5a1265bf869cdb7fcc37d6dfc3a81767fe4ddbe5e14ff5dcaa54e7018d2752015b559236341aeb1e2d172301c41a46f1e9e6a0e971c2fae331972c2414f903cce96e5b0d9ee6fdee60dd3f3a193e47ba3a1c72d8ecd8f4d41b472b95451cf8d0f70c16f326955cc022c98eaa83c6acb7a6803752ed9b417637f52b1b7f54239341d6738f9082f0e9dd7dec95ace67e893c820247d96a55b60b8437e4cd9b60f7003c486234146e1f8a7de2cbc4ef3f61d534b94336d347b695f355e6ec6e6b413b3e1af3cd83803bdaffd44547b20a247f7eff8b8e3fbba3960724d09afc032fd30af02dc18cb76cd56adc9df48f2f38d9b8ef1f6cf090d53ba72b40523b35b1f51936c07b122ddbce3365adb020b0a45e722c1b2e983e26541048e61c79a5ba0aa22eac1c4363cdf24d6176735adf9e40236a0e55dda1c871504c30b4cb14f8c8368d681d4160e0c7fd9813dc01413210caa9fd61b933a1e6b72c441eec0db32f2ac47e54bca9efe3a85a6bcff6cce26da0b5ec344812a161f175b7b72e1d2fbf5d493456d6dc00b085016251fe6b5596fdd4042e1dd22542f7282514d8af5d94474453d87c6c2c2f12af07681f3c7da9c0b7b048b144770557219e56ee38a41adc5f347820c637490752b2a7af7dddf7c5a5105b505dcb86835654463b06bb46b48ae777bf9294a27a7006cf9e6b3839f527a0c0a43fbca8b665e23f8d4ebdc8da5570f7ff46d3d8062d6692d9acc45a5c7ea13c670b39b02163c31fd17a8a4cd25de9a7f0d13e29327980252a7dbe853b72ea8d253c56e7b2744bd9c293ea9ae22a01fc6a3e5eb6d7db7121bc9d0785018c0a433a4e0d82872269711c54b3a77f6891c864d46dafe3cc88067f4986a2a05abfba3cc0bfa2518eee62dd891d62cfe9dfe74b41156242a447aaecc32c839ab80b8fc9efe31b472539e1fb54a15651981643f92f2e36a212271cba4ffe3e16350536f291cb56572d4c8889076a16c06a174aef99163f2a52514d69c1a4dae8510b911ba8f4779721266fb1a919a57cfc0f355e16ad14b80e2f5db092ef7655ab5ab75817a0da772d4065d2a0c1c8034b932a30248febf2b9b4d0996202a588abf99ffcb1807fb14491d73f5c4a127ac0f783ba1c80a9cab5e26aae4b0ef1c7194376dfdcc4fe821de383969aa94dcd75566e7d23693e2b9d8ddfdca9352f949588825c4af90b522fbbcca2ca8131ec435cb0e3c1343282240c313bf9e852fc3d77b3ce7a14097533b762201a17b9f66d7c373b3a3065721b690eac05f75e3ec13bac4b935135068dc058a8f2188c6707f8b0785cd088602091379104a8d583c032c1318b9e589184e123edfdf46a71d86a126662ab0b90bc0ce4fde74041eb50fe16f3e3511f872b853b8915d5d2e6304d1e144389cc998eccf6ae50e44e0902057f730b183d7729baae0ed9ed16779e51d12f0401ccd024849eb47ce7765210d4244b36650cd6d8c56680a08015a298f0addf06c234138eda3723f4b8155c338612d22c1a6d7727d3dfd1d56042cd0b4bf8ac23b88975f3541d42bdc3e4a1a2e20cb43638a3c2ace84a6330244c47282c66dea51c2ddb7fb8c482121c5150fc5485bdf7c84a2726a2d196599e2f31d4d045d211d56dfd9e85df10daee121497e2b0424fdfd9d72b9c81566ad3b0068863b035b42b4984d00e50e7c9a06dc926e01a4724617a172282e94df18f0699b052abc6f74008b494fa907404158159748a9d2dfbe2b9272bf002913eb6529cbefbef35b92012284965efd03bc89120218cd710faf8945728c285b544f7b90f5a7621fa1da502252579659bb6f4533643f344a9a0f846572fc06bd8ee23f9bc173f6ce1cda680705841485dffa920268512fed6c8f02b472d722e891332d1a7f4b5293798750745212c3339f11b596702a98fbc9f6ee823f8839064645bb2bbc4aa7e7288f32b70261ba561c24fb0b71aac61deb6bd9012422f6868c75d66cb62449329be12fc2f651352f0bb1927fc338ef58b87ba5757226542826cb681d923d5343c49845cd6f6631b29ae68be47de53c5749f2b59856a04234c743d0bb6ab93fc026eb8488fc5a45489b9396a0170d0d59c1f52fc672896973badd2aacd292872ba4d00f0a981eac6c7bf4ab5b372a18620db79f222f4577a385bbe2b7a57342b1f039e11598d0a27c045a9ea92591643361b5e189324bca0aab6825950bf9e2f4785e011c91c5733690f56cb985eff5992626885b72267257f00986bdb84ab13a667840f4bf96fc6a05a3ccfc6177073428be87bb7277e2468997b9a3879468819168a04c2a48ffafa0f1bba98e95779ea6ec1d6772e68ee924e2ee46a9a5c1541a062c5a7b3d5f898c1210adc77aa1206a5da32d72143ec4ae5e438c8d7ea7d7d98f84d6dc1e04212d8c6559d58815f5c99404ee7230adbddd1ed96b6f03659f2af0bfa4c4b414376dde2469cdaa6092d4c6983472018ffda63db35c086d4816399233a0f5dcefd97ada5a89fd59ce8600027a0a723dc93b8630f60dfdb55efb6784d4066a6dcaf86c9ec9156a026a1d734ae0c37234388829b998b2bed7a6aadeee94e2dc1290ea7cb8f3c9f64de11d2c8bdcb172b2ce4761b9189114d9638cc70e5320cf0ceee08e1336c7e1b1b5e420496d0572945a4af671384b7e70b1fd6ee2698d86ad48c5c5ad744dd9a2a31b44d0810c086c0ee670445abc47cebafc8c8b8813f0573e543d26c826a2f23b7cf33a91b272ab723799d15660da10065a872b3ddeeeb71cad9189968d9bda0f0daa7e473529698aa51c795ac313304ce47eb588067d7ad72f6b0e1853129153b813418d2d6a466620a02af24123405340b89a0108c44205d74fa559289689aee637dab325052b786027fbb52cb9c0ad41baf87d57254ac7351b8e656f3b690ec1f9e8011772f245e319b3551f2209f80eb1da009aa98456befc1a25fb9ad05d7bbb2dd3b75e8873c9b27d2b52e558427b83e835fcec15394077b579cd9c7b3b054ce201aa015face70f9e1833aad7c1f100d35944ed3d5f8d4c71a5212583f821567f8e7737b2ad50e67a630d8e07c01922dd196d70d511ebac79695fcfe32d755b2b3e3761465e1f2fe6b54ba406d486b8d9505662c0f05327eba5c0047a2517b45b9dfc7289c7419ce0419d70d0078e08f4269caf9576bc2e44d9e30d5c56549bed570f72a4d86122dea633ea3fd6da42a265137a4cfa82f86e32398ee2fe534a8524ef7235dcbbafedb957275828da5a9422c3e234372ce94621a9facd85309e1e418172edad5ff548d24111558a09e2b9ae2d829bc967bc7cbdd822a1dc99b753356d72d700358ee13ad6e5f3a7a1bc8cd3eb54eb6b1a671950333f0ee15dc730a23a72c43437dc5ea877de7612f1dec25a2d18a975fe4a25ed01e85fab9556b2e52e38b1cbcecb375106012c041d4aa906851ce40ef1628d9354b4b61146a27470cd470d287f33f35e44c5c792173c8f725eb6a4bbb4e33e6cd9a29d081da66220c101b1d148812bb1924818ff9c772ea413793f4c0ed906fe519e7756ac39917a123fe833595da81e85caf036b9299490754d4aa336983b66310e45fc751ecb2cb572f55b02abfbde6e3a4bc90f211c3c55dab039f55095339c207ab768580ef2b272f0b9797433ce1719c1ec98ccad17071f5d98c8560ecadd7a5a7874cbd88e6c36a97b88e40bdcd24a2930b45ec5833d45b0752bafb862dbc1987e16c1ee345c72ccf71ec50fbf6583920c83b177a87df5ce5ef3f4fcbc8e95181a9ee1f8671772e07c7aa95861cfd7b840d10dc90801457415315e46652d08ed310ea4bdc167106f5613fe994be3029dfca8b8d6e7e5b7489211104f62ab7f54cee83e57aa8017bc94ee74b5e75f71cf594c7d369f069295a36989ee8dec6f0450fd8d8645ec252133102c4c6955880d3d9368e813ed6e9ebb46efaec363a0124023eaca5674001fc91d1b288d2a4545992e89d05804fd8bf72eabded4e93fca28aab20c4ea372734d04b96513f1b4f2bf1ce108bdcca9ff6d5993955e3308a6011eeaac29c45590298483e6b178a137ef441bf0c8ecc58fee7daba5fc80b62f3eaf424aa74736f24f4045df300488472781b84dbbff3ef5235d10605c5aa1f06bf69d1ae59e665ead8cc5e0b1aa5885f4e781241a047d3ee3f79119ea9c072fcc5465eaa47672740efe8963654dd8001ff165c1ccfd6c45a26c6adcff575989928bf596745d72f1015e69f182172c949a0de01dec145b7c2d3618fcacbae31515598a0bd0f6258e5218f836fdd74df5c82cddfecc25047d393cb11bdcbef98393422c24796a72cdc8c2799ffa6b4a7c341cee42f45410bdf04d7b6bbfad25f3d775ab4b8c0e725b28b6519cc4acb2be6f32952c70be629f38e9f8988f68402daaa7115565007246cf5d1c51fc60d55f9b6d52f68a53ebc3de0af3407b1a55afcba298abbc5d0d02c7a1618076482ff356eb6869c3b35d10fedd89c8a0e346a39f5130db5a1b2eab9eb0ce8fa580d5c3abbbd948809c00cbe30c83bec02058d8114e1cb78d5017cd8535a51b48e24d4139770c6a35b484ffd7c490a20b5e8554060b51e9959872239a13fbebace55735420d2254fe73f0f41e266ca8a9d1893300b28abb15f07278e5cd65a839848137ae0f2c68fd403c3d23184cdcfb12baac162a7e126dfa51df5bfd14e8158bec26ac801ccd313a1f4a4c7bd067e074e2c1ac8347c5c46c72200b5b7a2b3be788cc752ae12dc15527019f0a198efb4d1b1f57253cd7a37d72a7c1f62baf91dbd5ed65df6546ed4bdbd02d4db1ec49ad88461f7a48e1f03672c1617b51b2e3780b93af443c4dcd8e9c95c5d484a36041cf8727fac991346a72c1fbc3f6aab2b8de657cd5e520cef9dc788f83fc12e29bef4166a48f22f82e2126747b6f3394b0fd7ac45b9fba4bf9b4855402789efde95d2d5ac71380ec18042e5f36f68a69d419f0e63ebdf711f974860582d896d0cee486ac4a3c01e71620662d924723e46c48a144f5f7f236e007f3c964bee3d09cc2379a70f7c7c62e72be488f3ef9279e09c816caa25eae0743b3c3cc8b294aedf13b90df0f6720e972c5a1dba6b24a74f1ee6cfa658db8c8474b694ea9ebd0ff7660b6a4b474bc627245c12b1a322f934a6f3164f4d047f1c8855a96aaa942856446df4ddf428d5e72ec9c08a56600126ef97ea957ec690e1259265770569b8f18fd7679f7bdf0c66b87199d0e6e798f0dac9857654d79c3d2e7be772449e36ce3ef692e13b12a62522baedd9abc9ff77b0ecf7d86412d6fc89e1c519c2b7f8063026ccae5cd0f257227aa9ff14fce75c1a711cbde9e5e0d1375a9cb18f5abd58d66bb33af77d81512e3b42b055ff5912c64b7c5e9d1e2340f15c639ca67f7ef64434e5c9632298a70477c20a5c4647f81e4148389d40f0ae10f39c803db42e1ab295ff9f1a5584872e5826618f6be4dc8e84025b9d88046aec71aecc6436ec5d810bb99eaa82e5f1bf6c3325f8102b5cebd01825de8debff6850bea0dc51fdfccac8310cd6c26634aaab3edfb2e9a149aaf1ba7c1346ea7a556080871a822a061d5549c247e2edc7268f5327eaafeb3ed35d89960e0c04d72e917a7e1947eb0ee429eac200a3c243faab3faf4c0666587510afa91f94927c767022dae4d0d8daa4c0d46028614504d1bb5352a43ca67319da5e747ec55f8688685148e90b6591fa7d9cb8d2412200686c3d648f1c72270381f885a88821b5fb90bd51571b255feb1cb174c381c5b72137b65591234140d248d8ef0b0b128c1b00fe337b117861304b67f59c59a0151de3ad8efea14b40dddcb35150ace8678d09c8015b9b561e7fc0ee41e306819467b18dd9287be81273ec2afa4148e63fad0001c8f681a1f2146d8230758bdc5195de2718f684c15188931aa3377f31081fea99f271683932ed5766716660f9d72ebc2cab366bcefa4b772fce8bda0144fb62e397b028bbbf134da3409818b54729d11186421334d3d98d6802e8547e5527a1c5a46d8852dd50a6c97d52ee85b72ccf58475628d9ae604ce12839cbcb63ddaa4050016dd10ace51b5d89314b062607175d99ccd39f37255adf2e5ee353d3f19792274af86f883accb792e0f88f1f498211ef5b7eb2ebfec0b931020e7dd2c3e9c61665c9a6432fe3630c6eea467297d8aafa2acd3dc7ba31a471aee2cda1e3e4f062af71dfdab963f991935d20725134cffc3a38cc9fba503bb867fda63eaa465383d32d73fa575e323b0960bb630f980c3c46a70248789e8f763876b15cf467a75cf31799df0206145a12643572dd8a9afab30260c9bb73afb94fc183f7cfff62be7ed0c1261f82b0b498ce1e70d150c8dac601b6ed72a0e1119da5b1ba2ee795e1fc6e36c6169234ff162c544629c476fa9fa47030ebf37f6884fdddb6822aa18869cebd585e2c64ff7859c972c132c18cc62d4bec54a7b739b8ff4342cc4474053aeaf4e603d01df8ffaf796b075d1d2e43f392ecf562bcee045496aa17de904e651b7fef2214b48bcc787272c67c6538ecab15484a317f5e0731f3ac2a8ab7e5e68d5baa2be7fce11e90b97247158b759a409bd1be05232f5eea74515e9109152b88d239ea7eef2ceac71a35c5aa29ef52eaaf0c5d0a983cb89b0c59616484efb2e0e3306e253bde35428a2e7327812d8f9c2ed19e2274f6c5f712585675ea07780303112603124021ba6f7236e397bee5f36464a95a329a3abfa9960d1d63185dc9b7dfa9c2434319247472dfa225f0066e9a0406509670d6ec192b40f514321d5a1ae3d68ca0a5c7889d72320b8478af5a2c4f1c4227360065953cc76dbeefe76196f12209a94456348472d41a50a3da141781be6aa776c427211a388332124ef7635c115870994ef2f018a69daa1a255efdd2a5c0ea128ea22ed6dc25b6be4bb2af9ae8bc317f4f013c67996b510e8dd3a541ff00f25bb9f04fbf81932865c9d1eca719894e9880aed472192404e434ceb9ca87e1fa04b1e64aac721ac4f4077d8683437cdf8612349d7201b19b64183ab1cd4812c5be45d7ec6a7572a0663e27019c3a51407c7bea2f72e0045eda6d1fa6a46011d5bdb1cfcf1d868d9fe18b48b46782f4f6e8f0310f72be77ac88c53fc53e3fa65e838eb7839aee293e2db65cfb5f73d32a9086c2f3707bfe07d35ff9a7e8e227f10527f7dc619714f41e59f0ed5ddeadeb263e3f4a729919817cc02109801f330fa500cf2d62cffe6527786547ddb10aedeef84ced72c610c1dc7bd35a984c70bd64f371d9f9dcf2b3a94b2dd90456f9a4f03802cf724dd5dc71e38f9e93d4e4f2d86ef4f2ffec1da642f9c7f88f6aa606cab5071872ae80b0aea95e68007d620f620f951c54e95411a1e6bd1f9caeb4c50f5c8d0872a4cfb54fa1f107bf9a86c9ec4012d703a74ddd0cc16bd2c848408147d7fa3272e111a8f3040c010c4a874cc1518913aaa89768b458ffdaed9f44b67cf7fa9572f797df2ecd8f9ad5a29009b6a474861f196e10ef815e88e0afec6838856e655c1eeef1519cec92a1343e92e09a861cbf0431dcda3311a5393d2cb776615fc172d609eebbead56c4f21fba47d5a4801eb65cd0a8f7eb4950ecb2c56fb39d7af216e6b9e524e86f3de59975e960435d275ab757a6cedac98cd9f9ab2b73e7312131a36ea63c85022069f8a322b2005bf673aa45aa14132526caf9776cdd5e12a2122900fb2b0ac59983faa9710533c207552219f5913ce715c71b3d0a22bf823305fee41caefe3ec622c7adc4fa06e2c1f551c5719e3977350da236d6c5c13477288ff52c06b3b93ebb46a611f8c94d004ffaa1761a85d4e47602f78f98168e872cac7e5a02ea7a47e4008cc32c1e7db5f7906618bd7d2431c575afef0bb420b2d030bbba2bfd5801a50a15c3979979afc694c0ba9b8e9f220f8a830b04d60c31cf12bd4fd17d58fd4aa9a97a9c191989ce296c9aba26c332654ec178fd0c762495488c270b306f2458401d1ace03a457c63d201d2da25d4de458f1b24516e6b724370b1201b355c3beaa49f8db1a6fc13f9d19c143fa7fcf8f871d361f342773ee717f219bbe2dc4284e9987c8a8b1d3df982bad9f1659340fb13b9c8eea6c06567823015c03263361ab5da537b3cf4325d3c36bfb82f3920a3a84c5c4e6eb572dd78fe014a2baac478123801ba2dae6828a428d25fb278f65b5148de36901953446c5a2b815b19121ab0770d92f70cd481c9cfb7d0752c90f4d4bc897d8c4d7296fe3a4688fb555f39c889e3f5679c73a8e9de61979a6423acb8162d7891c4647ee3bcb17af9568f2b06003e9efb7856556cf719a3b7c3933dea62df953bcd6ac1af62a3cb65e08f49de7e018052030edd3489e329776a5771bd1adec5842b5c32be2c8c99290d0a20706956ad8e673e6774440d209b27e862225c61590e3a0c0199f99ee96ed4990f81e8eab3a42aafea0275e1eb1eb5f49399aab2f3db52086b6b005eaf9ca00d4ec3666c59e0755ae3c39b4c57b578f5dc7890c4b25a2872945985461318bd012ee3003c16b2cfb7580b21a4066bd24a0bbd193e6b6b2d72b0c71ea3b37fb62fe2a2a21b2a6e965961133d4d037a911a1d727069ece8700a0341114bb8a65fd6c1ac15bcc93d8f350cb09164b0dc8258c7bd2ea97c9ac96f791975d61beddbb7994c392fa3e1da8141cb37f593e3791bb74194c000d33d264100e92e04e7397026b1995ef0e2c9e15b0f54fe1f8e2ab6c6de8aca9eccfd11d69aab68246af45ebb83bb7dc7b4260f0d60ddebac67480a68250274ba8b3372cf280c311e79f50e9308159b101be1cb67b945ab00bcd597b362b62cce834d26c8c369a245fdf29822ed8c7cce37c969a038456f6a29b770599783bb933b2c72dc3a3b0d5b88fcb91e6aab0778d24c91976af5ce09706a9d957a7965b96e5d72660683387d1a8283298b647870d048213daa468f21aba667b63c2237418e1872b98e59369b5168808514a8801881a9f2b58dbb782ff4adb5be130b630124ae720f3409f6a6488a97d26b5ae547d83717688ab1ae8c300e570915e22a3a59c272177a7cfdec5ee038cd0037134fb43344c584a325457028ac33ce7c8fe416d2722787835f6929c76bf76bec7aba4c9eb59aab744840956136962ba770b383c7720f248407cbbe4275bd34bedb6a33c18194780d934d957d15ea7205bb6abde922f7dbd6965a9f90514c73732d51df6f71f1c23f6f8454b6fb8cb2a0394ab59c4a7edc0a6bddc5baacb6ca6dcb7f1b5a8aeb2586eb058018be1562e65d671e17504b7e80c0c84100883d40c9f1ed1ab7a287c36cafe67fb7658a6b536ae9529472860d3e610da2c5ef2ee907038f7de17dd0d4b5125c2af0fd27eb8d1c9042cd0128654efcc62fe9d7f3adbdb797ba93dc1d822f073ad2aa41819dd4e13fd11b00874d6edd230b79e9ebb03fdc0da0155904fd2a1c32f28c624557e582ca33b36db0099e21f482dba73cad8d2dfb6b9125cf42a7ebd17e9a9725d74d2efaba657249f366cb513b1039c75a01d23512dbd398e45ec0ec1c76e3d524bf2a4e1bf352fceaa4f7fda7387cf568da06ef05f57288511a312f70391db7e8a93233f9e8023e6f82dd4c7565709bf348e7b8e42080e50c51319e10192b88099f63d770037235263580fc0b23659807cee0c4138e3118b4940dae94c07298c393c3f52d55721885ec016b029a62749aa9fa48b1f02165eaeea382dd796e5ee572bf9e3a86723d46bb0009d08460021167850071676b211ffcdb7cb5959224351f3bf8922a727574b1293c4bedd780f6ea9f43430b109fb11edb9dacf546251f7706084f8172af477895594cc168171c9a45d820e70af6824fdf9a685a6de7c231ec0ed4eb1f83aacb0ac9ce40ac16d1361ca3db486d3b6caf46bb7d2de9a76e0d8ac2f2c91b156087b5bf8d4214a54d3385a2d0cb4878cef71e1375301ca21e5f66100f85695adcb9f946076feb126c90c14f328e9a4b54d8f0ec30a629937a299b72792a723767fc232edac2876e489dfea3960f8526871435d06a92a8d212138f3689d172b822d475b351f2378bf5ba995eaab44a3ce9ef5fddacc89ed175dba47a617a05b0e06add99b91dbc787cff254099d892929e4fa6f39c4cbc051dea2e67c4fc651cd808c12e39c3b7e7211314310e5a0e9c03d955e360fb02a03d0ff0232d8b72f61d41cc74655c0bbb3dc38c6f290f01c2d3f7e9218c7798c9e1b31c548968724b7046e7a84310925be30829fb241cf90ab288ce587a978fa9059901a3875a72bc411e57aad7b3f19179f77d0f75080936060524e7c52f9b9b5f9dc446a91272c387128bea41fead2240efd3c32d38ab1e7a11fb53ac1ba9834fe091f9565868fe81ef3b57750f52044742cbe91d07e4a4ae111dd6c9d01ed2c00e3af4982272c1a2920d6b6d210bee79dafbdb29f8a564562e35cef6b9c2f96830522c777a08985ba33b565a403b8ea97e1aaa0300a4a29571cd1ee3dd37fa743856cbc14d72dae5c4387743891926fc3984ebd61a5e07fa542856cf5c979bc97175ddb0fa72a8438faa09a85692ae9bf6ac5e3c3e1b7414140527b8e7c0b0788d8bab3fe32b383087c19df2fd07f45fb7f5f76ff313985e549d913140f95b5195b38385cc6aedfa0239418bc86b4256bf497b169e071a8efd10341b3ffc4ef9d19aede1ac16f7c0a0b63e685fa4ea70a6d3e9e3dbf26f19742f145a6f39d1125025f2797a02bfadb870a7284f5865de6ef77c500db571d6f56212dc1a78a88c76d40dcb127234ae0512b1f540d9c92fc7014e442d1b745bfab517b2c88b4aeee9f545179872391b5b804e95f90bc14d35578c93fec691a14266e9cc6a23803e4900e690cd45054b1bbafafcbf04ba0da7712917976fe08ad3607f59a748ce36e843ca529b72f549a52d078246ca514f9a3bc43fa57ad10a5633f7a1e2856b730d3b0a552134b148a56b9562a79a4e4809db112d6810f09afe581d9b03e52c23c320ece22b722726cef523113137a40bc4929381cc6b846e18e1b2bca35b408903247127bd60ee3491894ab983f3e035b0281481a8273f8f30d6f21c4d426f90a57de8994472e71402ae2ab47b8094385f32137381a422e0ba0172bd509db7ddb9837878ad729ce8451cd9dd5450f768c3f6f0f9c9b8c4ceca85bb60b50cc5e475b45b054a29af27bbddb4bb3c59212e3833113db7304f8892177b9dd49033dc3cef93aeff72a909ed5a298bdcee8c9496e948122b630eb058a486fe0ecf69d2920138fef272103ee834ca1c7f7558d4c9b279bc853ee56ea35832113ddc5591ea5c38eed85e65f97cd7467c581d83f5393b2e1d3e8008e1f0a7071a0a40a9896fdf82291872e4e2857fda676e359dcf79f5597729c17b3a85e2b7cc55afb7b16941965a937251ef412af2267a122cb46864936632086383571ce5b04b988f5e57dd0456f269d5c6741ce95cc9cfc17c009efe11dc1841b69e4d281f0fb88fc0415feef1ca59e6dd3f85a8b79dbaa2ed7605728302005bbc2c4bfe08c385bef2f2707ece6202109e20975a2117f2260537ecbcdd40dc3a5ebf1795fb8f4ec9af599c8eb607722a44c68e1f42b6b63063adfccc17a26b6c90d7a396962f2ac0a959ee3ac864290b65bf25e6be7f045c0d56da428a5aaa1b9e3ab78697b6ea95b1a8d507015372d65e993ab854d973bc36f568e7f289ee706d4d16dec856704da4d09c2b6894722c451ff06f830a5d8d549d8472cf0a53f087dc6f137fa3e254d1290064412d723e4037d5eb120eebce31afdbed7366b9c03e5421d3596891376ee729d25d2a7244acab6a6a241423f30281005bd0ff14a86dfdbb97197ca87f71fa81bab9ed48ca746bde52419819742b56b7775fac167e56b340a59c5a939571e37064312d721ec63ed45cc00003e03b7060ac955d8d9da1cb68e82fd5fae23a21044f677b2cdb8c9f6ecf0c9ed15b8c9f90b85e84fbcd3a7e03af388a4b49a0340261e83532c701bbb3faa22a206c1507b5b13279b7dd88e6c813993420fdb539538d6a0818710d461d37fc9b67df349520d1aa76e66d0adace4e01759b147832d686d44972054c18d966602e7a06b222ebef12d767832cc6fb72c1385a47cd9836a2a61b72c1b684ba747e610273a7c6420d2cc2b9fef3789cef915bc52a2b0a8560b9ca72bbb33292b80b85956f1dd88eefd2c381fd47b86780a00f32b13eafb2bd1003225c0bda7acba4ec5f24b253a376707e201532e706bbec21d9819b5d12b7bef1720b8c44a0a9097fa60a39f8cb86ce5107400168d043d4923783cfabd9da99925efb14c5ba76d08c3a97b8c28490ed6b208aa54dea31f21de8768fca1c1cb3134cb36ad530f42c45466cf6690826a047a04d953b0ab18077a71886eb988302587291365234088ac9e7e90f6b6623647498fa82ae330520f7f7e129ceee9dfc132662f49dbde148419f37454ed15bf63bad7485777d8233ad75d00bc69e6bd82314bdb513541d5c12f4de126227ba966cb933eb1b9a18d43e07a864d51820ef6d72cbc6e1ab1fdd9d133aada517bde4f7dc1377cffa645bf6b87600f3ed0e79197277c52e8241e3f1acbe69acc5a82fea6cbaf82b067b417507fa6ac1220ffd0872f3e915253e572360af25894355c33e0ee97031ee5713bee8dab7005f531def72588b9203969fe9c625e185ae924b00cf44d4bc66552a17418bc91e7321429a3ab603595ece3b1697f95ab8acc6960699f5d7e6674ac25bed52bfe00de47c972b0fb55b491df385f589cc2e9f9c49f175da2242be2eb7f323680ee1dc71027008a90365112bf4801004756ab8940715c238d2f4382fb6021281f99ea52c41f14c028f97d7ae1409a984ffc65f0dc74c9c6903035b24052259416d6d77171baa3feeb6ea135bc008667cda1cdf1187177ff3f4f95fff7252a54a9d988516fdfa2338f31a7ae3a25d4c5a8e847aaed9fec258691f15552ef5c18c82a0c4881ab80cde7dc10c68179d93226d00d4c3e5c3eb828e705d25002fe69a78b8f132fd0972f12760349177c28a85723da1d74748d4f362b541442df8a8009839ce0e0da4724695f3f73c6f4519a9a07c12f03c328df4e4eb8b47e869170bbe0ea49f276c641e00a2bf47f4311bdd26990038b65427d6d4eb8a3c63ad44d3ef3615a11ef2690fdc1e05374d25cc61171fa9cfc0312013a0b24a8b9b13191b8c8c87f6857972e5eb9987487901f6994033bd193b9ee3fd9e2d2822ea04da31d3ff71a1fe0d58639582ec9046e1e3736260dce0d485393d7e4a7ba0af82ea1cf3cb452867b8725d5cc586f7097be2ba27fec6a406f80f1f959b61b34ed68e0f7c81644e7f4372b69a16d04c0a4049b1d3f77d1538bc0435c57f01546f2fb669d77ffb6b56f972340c016bc47ad8bfb678559591b188b34041f9bbca7112c696e0c106df4fbc72e84fb00302c48dc2086afb23136dc1d8211c919bb3ac42a043550cdabb489b72b20fa15d1a408f4e343329e30feed8019beefa22867f007913a748d785a4721eb61c203fb6473143d0c9f9fac6ceeacc6b4a804d559a48ca11106f60ba745d7268131cd9bdcabc402f199925a52c326e4cc8ba2740368d5cb47e5975f311ea725b15d54d4a198ba39aeb3fa2002b3ffda9410767e6f47335e6923829313d0b727942e4a90653c8ace8cd865d71b24f043db2428b7ff35c6dc357af321a8fe072cca6b4c6957af2bda473ca2d4ade8525a9d1708d9d2d77a5d7d18e16b0ef3418ad15e31006c6cbec185e5f92b3c2b20a681f6ad65a7562af1f86287916733b727056009c255a719456d1ae70356a996a02081a1c064d116fcebf9aa44994c8288c5cb6f93743a0d4d1f36a0a99de6d42cec523eac9acc9ed901998b9d54d157274ebe5439679c5539e8096343d318298aa9d0eb200a2eb8ed46e76c3de43a6630c2a4cde8c7c3aa73e5b665dd437c5d3c6af3e25b9a90be36db2bec4b94225728bd6d22fc79eb982e2d453cd411476cedd5d3d6dcf3b239671a40b37f9914172a741282ab56c495eaf8353210d94c8de59bf0e3d4118c6e58069ffe8940e983913118b1acf81e7d0c8c210d101861836d69373a646a14af82f293044b5f1e427937cabe743ff80b71482a7a27c17a24dc99b220326d0fb86a83eb4eeca22a0726a1d97b20c55c24ad8ee25bdd6617fc42b61217434abb1c55e0cff588bbdb57223a4df969dc7437c3ba6d8345697529943f34817ab151fb6a2657ca58ec9422d1b2f5ec72b0d00384c8d714eaf1dcf96555b406ed573b309be0285ad893dd36f97d6749a6a8f97ad3b457f592b5fb140d386ade56950732a923f69ddbec18b720bc9539744784cb28f58a09bd22e62bf5b8774e4210ecae9501f6d4ef799ba72ae4d137b45020ca875409d6bd20e46e48c3e17c36700ac9924e03a3d9bc2bf7260c9634da57ce2e93399edf0ed8193bb540aadf5314f6618140d5ba2ef526a72242cdd23dfeaa8c00366e447b672f297cc1a807b970a485ce8e0b067a85723721fe6806a77c2fb81c0965b482d49273bd7cc8241645b0c7c5d20b1e1b09acd61c9549ca359e04a96d5aca82a4cadedb1057a9c44d023212423a900439184456a8ddf631cb49b513787f64a323e81256b19d6bdde880a2ab782d31171e7e82f54a20d7b4c59bcee714075769ce8ffc240ecb84f0e93735208f5d171c33b6e19161be779a0a570595db1fba666e5475cec67e690ef254358f6a25016143d0adc1d77c6786aea623661665cb52e6ea49d0ee3961bb35de63d2fbfa9fdd88f096d7258433cd29fc38c9e83e08e963e6296036a1849dc39baa3f83c8ec1718687a072ea890fd658d92239f50758beb6f311a6d7ec3cd57661ac575a7e31d5c3bc1b72325b3144baedfc7504858849ddd89117763f43658431a593b027d79253fe4172aef4d4b76677ca012ff2e36b0e1a61095deee3d68e639bd41fb40d3c2753cc7209772c3f8eb4fd9dd23e16902b758e879f9ae682ac1162ea9cf10d5de1e3bc724819dddf9654c343770203eb000ad70166a3349451ba9ef292a5bf40f2535372eba809b8a06846a80d22ddc8cc25472102f4df26c64a2f69d3aa8b499fb6d412bf23d1c10e6cd456244379a294d4e2deb1e13098f4c562b7a8d4e40de31a8472b36e89b7b648362df23acdfc58a43e205456d9578657c7273a21a66d700311033c1c686e3f183c88d4c1f8754b2b729f0750a13c15f43d06ac2ffd59ebc3f44cee326c5f81f0af02e0953c0c7456c392c9115b2ecd37b9f6a6fc71685ab201722908a43332fd4983d5bb4a64e3ec1d81a1e4b6d4922df6216fb80c10530a8830b3ad09e6e5909667e3a0c9620ed92ee74d4457c2bec36da3ee3ff6c265ef932f2afdbb8d1bc6a76e1a7bc856823a2869ce2851c77ad82273c1b72b20b7c765720f128981a076747bbdd93bc190b4db8d846bb0e77e88b321dc31444e890245508840c5f11b83c20c81979f53dbe868c7d658760a986a4eae07583ac971939b6b5c63439ebb3c3ac7890ab6e060a6996507cbca366feb969a86efeeff56bf3e72d692f008641339ac8e58a9c46ca6d259d91c912b4e4b3e438bc9bad2e142f472c4bdb0b656e9515d9a15998b56af309bb9f85d47cbab9447778376f4ec3d424d66cb8478f1960228bbaf92118e6974af2483bef36fe915e7f23391444100a757833aee9f3cd661c8a63a013577a3bc5781c2770f492a35adda6b9b98660e65377eb4c4d892f48f12728c30506663b45f8606e48d453a0eee7b12c761b50829723c907f6ef781dc4abdf3b23e96705ac37d5aab401988046511a1455c421b88721b2ba392098229eb66df126ebea6476f81301ef790004a0bb02ff9cfc8e5143729898077c2215e2b496d74b4a4c4b0417f6968ad32b10c73a3d94165c28d7072970b5bac508557468f9ca38879903481582524bc50bc3eccaa18761aa0ed757201bd79ac94a4b03cb1744a60a7202d063692e0c79cda1cb43883440907e8bf72f8f7dd8c6b7e19a33bb0ed898da5b48e4f8780979ef676168625abd16a0113698b099b36a2737eab54d2368f3662f539abb348cefa8914605bf02fdd5aa94b724da8bcc9f0111ff2ef5589fcdc915621da56a7563f71a1979bb1961df058ad72f0f47dc596c25e4aae9c469ff62dc09d795c138e12aecfab60ca7aca72ddf616e6069be3f025061c2df0535b6b7ae32d22d16fbc78b25151ce128d1f72b23672a99f2631be22b7a0dbab5f729ab9769b95f29e5c1592b132ac6c46e7d52726087ef89f1c608d3993755ec11be9eec9d2734234f1739679cb4b8350514f1a7772c5517be3834eeca01dde751fe6a461454b022855ac0d3c7a8a25dce22a48fe14399bf1e528e2d924fb7b072856c1da31bbb8227c52b7536f95a063600732f77283eaa9280ff5c0e7abdf7302040ceb8daac8a4057d08fa883607ed9858dc8554679b4240a0eaac132de111914f796706e97a62f80d46b2ebde7902bd55dd98724fe2738e70e56b2ade1b8625db63aae5314662e9e1b758060a36eea0199f900b0a361d4c1886bd5923d0126bcff7b4b11e4dc324cfebdb48c38634f348915b146949dbd4a38698ed68ccdd5cfb44c3615ddbb2e0fb30661965fd3e85e80ad44322a46b06f593eb178b74eeb3bb9dfba24e72b74359408c52e2b81304851a134e4fa21cd27b064c1e3003f7a6bc071a51a71630f24b672474e42906abed42fd72c066b8a5ba9e5f862cc63f40f07c8057f979f88c6e526668e291d85289461402c1c1c56c47040078a81bbd8062f9348aaf0c5d823f36c23b718b15b0f4c7c97284a8a17b86a00340549ff93063f10e9cd49a82211aa54f5528edfe094f9b6b53c2af9efec6ddfe8d7cbd8223cd7e818aef4cb5374d59a54f1268b4bb66d4ef6d81fe73c5149f22a02ced51f7d909bc62ef3eb4526ef3b07dc2fca61621eabd72e1b8f2cc3eb7d59ae723daea50714d9bf95916da4bee0b82bea7bb65075c736b2939ec2b7fb9f15f346c40507210268276b31ae3379e77777b1eb9b4388250723baa0d85a6f4107d6a842599e65f5f1c57f5657cac07b0cb5a71ae356ec2cf6e0f58f72077800fb55bb56f8c5e2029b4cdb4ee80e26ce645336c4650c2602472369d6de982727f541daa011853aa069c3518c3cd2a07c7db2a3b87789ccb0d7260ac31c08e9d5f44ca2bb610e78ff3ffcce2791edcf493257a3aee90aacc636f09fd87f0bc9482c936ae3b1f8a18c10d18ed51dfb9784a18574a6f0e547d8b7229d8c87893b87438184d8e49c45ed62b1907840950a2fef9d67b8fa48c618c725a59a3a516b79d341cbc147bbfefcef06ae51f2f4de7ca8c3a65550ad7bc6b728ffb64b83896e8c17a3cdcd88baebe0e0fcb1314050aa2d1d8631a292ba2e2727095d979bef70e80c7e6d8c97b05f6521f3bc5368e8cc77a8d6c17aba277d772e93f4f4da73ce9c577fa348c8dbcf908fbb4fca931c7c3a87bd81fc8000d4537b6c8997c0cff6d2533ffaeb038b454d2313bd84fd43c30b7cc01785b735eb7728d8cc4f7430ae93a0c0d304e0393601466fbf22a615f4acbbc1a79e57da1d87201e2d7cefd1c2ed15efa116eafa8533df976fcb0bf4fca488070cb495d64f8722be5dd454774a82dfacfbcba9e5bc144b354636286eb12b488007e630919f81347fe4df1d30fc39ff7a374c0ae39b9300b490149080029197f2bddac40a3b160d1917ba2a8bb653fa252b8227b7dbd28422ab0dd0d2a1252bc976920f160042dff9b46eafe97c3b8e7e6c2e82f5c47213b82921feac9e538eee17997ca33d47271b5d0d0c9bc795bb3985ee2cf2926a7c795b4a2251dcd33defbdac3753f0d72e9cb8d653aa885490628a31439138781e6c4600f8eda385aa5134069dc0ecd72271450c5b8bc20e044d0600c4baf039befb983067312fad2b7849d7f40be40723f37f810142be23923d4d4ef21a794bd5082e5cae8bbbba8b1f59ba6825bba55b8e4e2f861619c146a03767628aa99f655130bb71e8706d0a9cd9330526ad92e26fb62e6d059f8034fe5af4220437110bfe3ca923370cc8fb4dba604785a4672e95bbbb6f870a8fcee4d4998db7e97a1f2343787eb026561d56f33aa9f4c1252de1152123e764d39ac950f577702a4266f573c1c6ffc92bdab717d288a0ed9048b44c7a2efcca75a63d2db0006ba63bce1ea4c0240a9f7dc0bb6ac1541679972d6e76842d9014824ef231f803fcc621eeb839a895d2cf4b958a2e3b7f856bf7209a5f540ea675c7c0a31b37c1c4d3de4c96bfdb3392bacc99dfd28e6b1f4ef6618dc1bd42ed56782ea9b039ef6cfb1c37bc4625f24f2fec4c8d346d01128d54e82274057dacfba585b3d41d71c04cced02e88d515b839b39caf19063a83ed472f18bc45c36d92bc037a6324760279adf198ab962fc03b6b1ac14f456d78e3c1a523da3288936539770d1e4c8e62ae37e1ddbff074228c4fe526a5634f29a7072225d412a38f46de23ef61ce152f71c5cb7941dbd871792f26174bafec89337721c145eb2bbfc3128d087755e2eb27950094269b4f1ff4548d62535878125fb379378920abc9e3d01432bf3eae61b46b865e27950d657a2d6a69fd2ce8d5f47726be624e5740b496d4beb124bf31a59fad0ff0f0136d430e644bf30172439a213ba6da19b0485e735cfe0ff0e1267f8076b72d9355629e73d47b65ff4ed86af69b4c5459d0cce4850646732b968a28b10b56c4dc3719449c08f0a4f7f32a92a370e34bf5685e9deed7e2ed65ae3ebddedb3c07c7311de5debbc8d4fc13bbbd731aee6db99c2be0b318917463b36b8a5b045fd3c287e48bb6b03d584d3787e13442e8416b5cdcde13701fdc7c449f92004d47ba9e6d666925bf60cee75856cfd6e33152da6d451411d80932b531c56fcef2991ddd27d04db4740bc90f040d8af03a0bca7e454d1ba5412c72dedbd69ff77a45d59c91f6f613590b2ccdaba8658728ea5c7d85109d0300873f03e05135ed91a1568feb0741b16f5734ec36858175b05b787ec2d4884b62c1701e41cc7a6a8bebe3c916ba821ad15dc9e437f4a2829434b0f91b0a18588a10ee12e8d5bfc239b266c249e4e45daefe20569f2bdfd70d8f32feb8023d40bdcc46d177619543224b1b553e2c26f831e2f973ef4295d68232e624b01059cadfa1249f5fa99c26e2f91d0d6ade08d401804cadd3f841225dfc12d76f74c92f35f608bbe97229b8b46bfb35c0ac60ff27fef63019139ff7289960c355d871fedf0ee2cdab961757523b39c2ac2dfa91b4619a9129ac9c6725012e83ba65566e4dd5dcc25640058494561e625282a624addf1bc7b9c30cd721f92d28210e7446348d1e3c146370c2e1dde3693d48d4fcea4bd04e94f8cca728b4842119bf9555ea6a2ed15a4f05303363638135aa939530b5b162e3e89cb72892542f2b929c31e40f6d185ec27ba832e726cd1b182e0d243af030ec615185e7d729a4b26ec3d0b2fbe05443011b1ecb16a65aedd1c7c30adf96492918f2c2b483ad032f8e1a884049d2c837878c6a2cc6f44aeacc612cb6c81bf5bd7bb1418319e3d7d025679666773599dd0ec22132a48ecd4e1f21cc810997c17a3249372bff0c8e07f3bc7dab1ff4926b73bb22af3642cb7b19dd802386a15384166a3724f22de3cc1e9d07981c6237d3b03349a379fee48dbbb11ee696125b265c0f64bcd21e0c8ff9ca4c7cc429e9d2806d7c96ce7e3cb4df71b277a9cb7e9510da4622f36cbd82783dd99f69185c993794cb78daa96e400ffa5e9a03b7f98e8aa21096edb8ffabaf2287c87a8d48d59aac5fc24d6bf7fd09b56bd4efc119372042931acddb31bde5b1451cb47781a39bfc297a4b08984d43c7fa596674015daba13316c1204f2d14fc9a3f1f95c1882ec323929274cfa492784faffeaaf004af3b47288411ac6f362fef8a241c482b19e8bfdcdb42be8a3a52b9fd441ea7c4f232872c92d608906e19a4abff644a67d8eb82cf8fb14d2312b650bf10bc5f919db352f1afc381118135267be8260c6e63b5ecb6e62500a1d829f2cf2904cdd90dde042248251e1d835b9cc1b9a1fde2a124ba163d0e43501ef0c3a7d425417816ae972025316f4c39d58beccbcf8e9a9b582d7a663a60221efbb297a9e8d21ea4e9d1301d008f353b284d9a5aa0e215f7ea3c5423482d12be15681dc5e7a6f0ea43172a39c519dae8fe446ee97db11fd30de387e74f8c1bb0c7259f18dd5411e9452726cf345655f6df75da4684c266efbb0e849cb5387692a4608c66e8ffe7a05a066edbdf189c4a3cbf8435b8306a859dbcd0a72b12dd5500bbd95be6ec56bdba414cbc8921ba628fb80c3e479c4e88630089e3e6096dce97ba5e50263e71bb58d21b2bec6af236435fb0e9aaabbc14efa4d2413d5d18deb16d9f4cb4684d097e830689b302be5c1f05e63828e166cd3ebe631d41d20dc0d93ad7e70420a39e1a921af119df50fa7eb15fc8272d95bca9a39e3af7ac72fc8e245bf5b96be325a18397ba4ddf718583cd2807baf9f9944bc90ea2217bfa17ecbe10e7affa8ed878b5df5cc79803f021682be1abe95169ac0ad041bbf1bb6ac765ee093bfe88075644b04f66dbd79c15542c56439f851b40b554493361267b43fef3d0b236a617b7c723cf309291102aed573e196b6d0de6c3817d1d7c164b5c79ec91a4f5e15ccaa72d0316238b2a0ef4eeaf3f75486c0e43fdf830d2bd659faf484b3f78d1f3cf325deebeb98ea846cc299f6ecc72fc858778abf8c28cfa748eeb19a1fa002c8a44d5b16c99c468961c94c11291d19b6d6b01da45bfbbcbdadeaf62d88edb4a4f464d826d74de69e0b53c04212d14640b75f2fbecc2c0045aaecc0ee13cff5778715a50c3cf96d652f871ffadfd10bb0832cdb46fb94baf95c38e8fbf9513bdec80e3d2ec7ec2e20e49f3b397958239a28ed63e464f07471303b1cc6057409f0a2726ed5c6ec8843a88d87ae08e91e086153ef8ef55d220c5beb228d7d63adcc964d9c33d76ec0af509c0c89db424e9984555849de1c11cdf9d516785479caabc172a3267a929f2d264db187b78bf4cd8164a8c18af4466ec1f86aae7c266dcbba3892d1f2f0e897950736505e05417561d3afd83329d789bfdfdce3790266bfd6726e3a8d26a0954af72ec991784c47b0119884859ed06e496787dce35c2907ac5a43a2ef254a3e44b3648ba0d31ab13f3bded51883f49613eae749c29c76a825627f17ce33ccd20e7fb81da2a3849c1ce1f15f3b50e862f4741284c26765145f173456a447d9acaa59480d59ca79daac8eead0459711413748e11e7cbb49ed44002ba0b44679358b83f12c80f278ed6b1aa8a08a20c081253d93cd289be3e6d472f88a01b1b59d750676b43cd74f543155eb99a889c972434f436d70ab4be57343731e543c560311d4f1337d37e5f5402a7702131b01fb503e88fb381a3e023a72b387e7d65fc30fb22d5fa6963356d3009334310e4b19d5252ada6f44a63e701741f1ec1b689e8e2619e7f8e97d79cec65710df8ae950c15826b760e38f5c4c5e01b789fe12bcc14081f61b0d4976b477a5649d122fa8acf29478843ec862a772b34048617fb425ce64491b1b080eef9680494e0483976c629ea6f461a8b7433376c51beabc1a5e2519dd32bd90e2e990c373909207606ebbebd548c220fc6a726a5bd6aa2f00e2c9ee86f1fc174b5d1f473c3b0ce3bb4eeb8e94d160ee2c7972437a41fe5c78f0da83fc022b5959ac8a1e4229edb9a12b65524e1d34e8633c25fcd83af2271c53072f751093238b773ab895fef1806a9742a251c7689f7c32693735398c230f94880c1143becb0c958856b92e9abab516f8f56b5a8cfd37e34c4a090e3ea19a44714d374116224caae894723759b1b0ba300f98396a9627c8723ecc1c918bd9dbda4342f920040ac3a3dae45cd5620cfc0f59aa70f240b80a4ea8b8935167619d8f5aeb365524aaaba33bec0e7cc787bff459704955acaec21baa14e96f5d1320fe0219664c7ffbd7f49200b467443801a58c0299d04640aa72c4da5eed46f75a1d8ba1511de41514bd18b454c133283fde3443130e9f0d4a2acc5262589c045af0944ddd230b5bbebbc1b80ec787de38ec4557cedec5389c09bfb5a78fb7957006c6437f388253953fff259b2b0f9a3364a4732cca86612972c7c4efb12b0c7d1584e39b65935cdf95603bb7f78ff4ddd31fd4c9285055f67272e5835edd0bf070eb3cc82468d68dee1ec7ec39863dbcd1139d93975d8b2a073b00a657528e7c68023320c402666cc13c2f8f1ea4fadaae0a1c7e0a8b980672d6831b7ca5a197fb1721eb326bed56f6b08ee201d0ce566b636566ac10270b72ce0d65daf71673f09207a545ec850fd177e39530cf446aff575ccf644146274b59ff0fcec73aad00f6aeac5259d3cb92455a8155a3000fcbd699771c687fe527f44145c7635f1b9e9dc537a63dcc8fe5226f8735276819be253e0d8c888b287204f4095c401db61a844dbf368fa673204d015fb806020a5f2e812654fbf93b72dced758283ef68a2ba2e66fa994304db1860fe4d0a02d7322f4599e40deffa72a6ba1e5b9951dc22d1a29d12be67edb7d5ef63eab078fe023f84cf8a480a0c13e598e6fe126c78bdbdc19a23becaeb979aede0236a24667b52971fe40db1267219768093a8f994b929bcea7d46cda6421824b2d0c841e0b10d77905e7dc1457254ff7946ab691bd7f0b5907303a4eeccfa9edff800e47e0c303505f2f11796724b1bda35898188025c29cc13a2e0f00291ab1c415d8d794fc7316bda6d595c27ff7b0cfa211d5ab8392adf61868ab2e1425d6362eac75694f55fb0bcaddbe072eb385298f9b35df8c358c2f48dcb0c68fb2caf3ce941dba79c0f1e49920949720abb2747ea2abdf42721ed429524232a3e0385bf256a97e9f67322c243a4df72b6acd739e0627dbc5eebfd7fea40ca5265159af999652ff6cac1eb4cc1635d09d62ce656b5338b95837e09070bc7c81aaa0dde38110a6aa4b6799588efda6972a6ff62333f0c6c0295a2ef6b4a138b89d5886446544f1d568301fe9eb5775e72ba5d3e997bc81d64838502a8cc6e1bd9244b5631d012645f0b613a9285dde026a17ea253e4b3908d3c9aa7082444b8d0535d0717636570c1403458121cd59672ceb02624141e729096b737ac0d55e0e946776168424f8ba69c99e43a778d27722f0c3d23b4fabf445e3a399c91308d6f027bdafa6d5830f161471cb77d791f72b3a1b5f5f1e7d99c9aa6f347c6729a7a1af516d220f067aa54e82cf40521a7729269a64a1b14e290a4c2a2bfac2cd847e32ed63b257312ff8aa67ab114b464724439aff9d2d8a6645a73d8a54ac58f44fc3ca20cb635a43712626a6fbae7e272579cc301db2e2477f4de50801d7d5e5c0f76c0031b2c78d558dd3845d5afc37278da9f109e9e169de4700f0d843aa7bad347824585fcb791e5963b77560d26342d1f15440b0ad21fc8ce1094734e32611f6a7ce39d64c957af4289eab7745772ca4286764b15e8e1027a7a96559aa8ab2297e0e601d3d8edd3de1eb77187f37258787b437c1eee2205caeb8378866ae4d1815f89d4a00457d7b5378a3670be729e650bb9de115b51425956197c7f3810fe6af2b9075d627ec6aa64be36f7db72006bfd59133fd7cd019e0e064ba158a879051bf32eac4b3c79fdbd888a593272b2f05e97b8dac912b9bf4af5977e5df9d99946f76c4c5a5395df94821404490062f37af9f727c34fc81ee6738ba65af4067461630c1681474430220cf8505f72a650a503ee22da1da8de87e0d63f75365722b30da42fbc8eb131c241194fec65507875a5d70b7ad5c5fffb85f6abb6c923fc32b243406b0ad8e437fdcbbd0172a7ed085dbcd5b5e503165a7ca532211464a4b373b5c1bdd77da6d7ed09fd1272c90a020d5c9a5293bdb38b5d5ca314e45f96ba5331d9cc1ecb05851271577234a257c9739bb518bc45b1b02d7b214311a0a06509d27dc0387aeabaf7e29ff372f70fb0a2b6df063859ee8862dab3392dd56f27574b63c3102c9af1fbe5d25272f74178212a5d1e7afaa85732effad15c1ede1f5eef865b451900e26bfdaabb722b0722981091fb7763e81689711274dd6fd016d8ced82561a845712f39f2e63e004da5fbe3071f4934fa90a8615bdd4e6078483ee0ae8df6c2dd52cfd384af72ffb4e3980926b434cfc1ee00fb5fdc4137942a2d1e708c7d6c6482e3126e171e0b8cc7d542c1114f097c22b4d1ddab57e3d720a53928e321d66906de272a1e72fe7e4b091cc6ea10fe61aaa4dda0066ce31330f5a98cfed1f49ae1caec22e81973da45afd6e850b66adb074af51350ae60e711fecd08fbea1bcddf6786222b72523a56bd1a247635508ec95805dceebfc250700926d442cc0213cd306b419c72dbc2e6fd0d7795b09ce959ce9ed440f8cc1c22b87319e3c9e87e2e8c8ef5d2725e086e9608552112aff9e76264e42f39cf15d19f1113fd11b1eddee83744bb383dbd2bb954b38779bfe14b97cb70752439d0471e5dd5ba0d47eae275f30ee172a615c32c8d06b3615a826b8872630befcff50db2d68c6caf4b9df6b05ede3f534f5af3df20f605ab4270acd9a0c4d8874c2eb19a7cf95503b28bc0a480c17e727ea5598e7351535a0e43e233637dd2a097bfbc17cd3e797f96cb4eee126b2772d7cecd7d8032a3d16a45da50b0c00e44186261b3e4d14a23d9550ca477854372b4a34246c852f5d76f99867bc95483b4009e9a5f6ad111e8c105b57008c6c565154e1b42930aaa18008d20abe2f0c26019c79a7fe965b5b68d73c87cecc3c124d4f57d7e44166483f24059f1daf2cc5060b1bcb1a296c00f8f695f6bbefd0c6fabc56f491530790434f34887d0bc8dbb160e3f0af9b58d1dfb7e2554d0fa9c721fb699b22d4cf04370a1272714dc8371ed8920e9ddd9e2043c2513ce221a1372c23cef5771d67937722cd725e82cc99aa67414d6a58e109b4b327be76fb9fe7288c6545c84356bab34076c5b289692d4de638755a6336dc10956c26c74c06669ddcd03f80379d33831b7f83c545c66373e8134842f36a9f528a20a749364f07282969f3d75f78a583691025c355ee6a5ffbfba57e95a3a30f1a34e5902b0c37283fe899397940c3535a45cf1df5548225a71d422030f322fcdb415653f92fb3d630b0ad5b52599b978b818414c8bf4e91ad0847ce49da0954d62134ae3e529465206bc9f5f38c5c8b2e78ee207b8e110117f97d24b5782fd29627a471526d872d488e5ba1ed5f1e406a28111015f2866f3593b9e080e726cb5c9a9fbd6345272a8044a2dc820b3639edb516d5d7be6e32f5868d6e527c90bc294963d79f25972e7931958f4d57372e038a0834cb3e18a5f94472ed12cedb72b05322dff57cf72eb35e4b586c8205086548605245f6eadf24d40fd2d33efff9e578ef159b4be720a36576c6d7c8a15fd9f7feb4b87416ce515bf93d9ecb341a1eba4545293ef14677d39a0e0ea6db2fbb1c774c21d4c82febf046063cc2be4acc19a5bc0031272b3147efa1cf30a650c8eb28cc32ed9023c1e511ef90652ad5b7c49fff65aa627eb053c91dc08a7990cbc63a5eef90ba70227fed62b2db15d7501bac441d3db724ef4372397c40dc5826fbf3e90dc4f53fc25e0986577c0b1a1b234f43e875e72cd49eb35da74747c93269f7eb6f33066137300ee16bdd6b20b57042c5183b77241924e4e44c3d185c4af3737fb144282aaddb1ffc2cf569476fd5a550877f8728fc351e80019eec7993ce3603ac16d1b59a2dfd0a9e624a4d11fbcc2bc943b72b4c371e88302412ebfd4fe67d15fdec35f8aeb7d37460f384d9dbeaef8e529532b16da6acfe43f850bb8b378c8b889ddc21801eaa69f41fc301df5a81d19114aec86d6d5e4cc5eecec2a35a5a9fe5d281ad7cfdf14d8bf8f01a5dac17b4bd872dbb2c943e94625cd0cfc0ad6fb5bef6ec31d15354de3befc23695b5e859ee15aea7a97643ce520af6313ddb6e1f1859380dfa9be89f02645d7256d2d2afc7e72bbfcdd16210fdeca3b3b3fedf3f6b92f494c04d773d25aee7971b9a356448f7221dafae47d786c270f4e2260f74e0e08f7e5e93f6a3dd0a31e0c4a43c01edc2e8c964b75a9c2c64bc113f5d3e543d9dc73a571ea0e6bdf941ba70d0ef687e772af8d52f3c667f8387cfc2d817f954ee525525f67bd9f7e4c95c025bb2d46e90d4e89b5220228e45b1a313375ec5f02102ad1ad64e889d367a427a7b3bfda61343b63f87a498280804250090642e52ccf4fac1749104b2e6d6ed8113912509e7207f7634f35cf0ad3e8eb13e127ec779f78379dee15a606b2226a75cdf5d8780879a00a0dff8dace7c72094c133f8935de7cec01c3877bf84badaeaf570e32f725106fe659d712c72b86730c75cf541ccfa7d131f6d4ee09c960527ada3230c72370efb40aac0a4dbe65b23adee6fab6a83c540c9f4d6dbedb351ac02863f0e72b5136b5257e64464b96ad3b79c47ceb3a1686492da458a955de474dca0700e72887c6e8bdd9bf44b4a032b53a039609c8980de55db59714ca99e9c971bfe976cfbf0831c1e4c408b69951337f8ae9a3f0698b774903be906df455e90c3d944567d42f470fdc33bc5abfdcad79236c246084439f67633163b4e77d1cb70215472fff8f94322868fabb073b17286f50ddcae0361168bcbbb9f91ae68348eae107213117feecb7c5052ced9c274e4861da54f69c465c44fb78507d52ed1261c7d48d819102c539f36a1ddb17119e5038dadfa4684c39cf07649dcf96397ec627237ff7b6e7e2a4a2a54581e782c197fda6a08ecb9084a370dd12db4c84e09a0be727bb546e9d5cc33636f8c1f545c8d6891461d16113db800cc33a9dec4da2da972f96dce9377f64e4259c04268a06d910bd68e11be39365d358fe5582c71fd217242218c6647faaa05d13c7503fa0f32f603132b4340fc00e22109673b325cae27d97a1ee0ecaa33d4e258bb705baea2d3a2746830cd11720bba8a986666d72667f19dcf1c5240389547e3862cd324e7cb3be2dfd855186cd30da3fd436e86b10e68d3ec344c9b45f085f76fdd0f1b26e615ea261e29689a62ef04527f961b4172115e3688a9c006998592256be58664db49b85328f731f7a9664b85888d927c0c8355293cb4cefa9739ffae5b80192d17559b43440562e31d5f9b7cbfebb3fd721552afa569cfba62ca41d54398562d19fb5b1732310da76278a48e489f83de726fe19f603f31e9fc3000d078d5f3b310e017db642d7dade48d8d3c00ba5d0a17a0528b4181c6bb30626a0cc28a7e9633d4495bad53f7b43d8204cb586c2e10728587fd06bff968343584c6e799c88a6458fec03d5902e12fd60741c5cefbda0662639dfa9e1a87b654d04572b8f39d39312d26eb5f2ddecd1c837227edcc415e70aaca5597df4bccf8e9e05943bf1258ad4a3209e2c7345d40c37d52a60db770eff06ead98d308397a311ff939c5e7c237a7ec32ed59643247591519be1a6672a7e7a0ac3dda338d112500aeea0675fa4d33318fd2e206bce3ba8862e6b33172b0d4aa340936ec04724a86972e317df7d88517f9d660b1c6cd5fb088ca0f556bfad581e330547f653ac70f88f15c45ed441d8c24491db077f4c39906f1c95d729666037932fcce6dd410cbf4ee053114a74258397c72b92fb7980e561bd19247e431c60dfd886c31b92255aa1f1059175b97812b21b164f31da075a2b12aa272bdb90ff8150b7638eb57c2d4e4907664fd35684bc75bef782e5dadeeba1600726f9674e8259fdadf3e31e2a99400b0075b778b6f78ba72bb518f123cb74e547208e08f9a59275a07b43f60ce7f60572eb5867340fd5bcfde7e6eed77df5c0b43202c96f075d3b0d8a6f8516f1fd84eec74ac5f0a037e2eaa9b0666366d5817725a25e4a3c6e53806fffd23ffc03e30de54cb6aa5800ebd3ba942feb161209d72d2a89c1cfa8fdf8ea3844ae9ff78c6abd7579e5a7fbb9ecabfb57180f978647216d891ea1c15be99b05fcce7a61cd51fb3bd6dc4ecb6fc9eda409614e6fa5072d6e01d8ff0d57e79534b58148411a3861b45e147e6b0e71216c7f1406c078e40bc2cc1bbf3082801b3390daf81f14bd0afbdb325006bb3867d8e452c1d2b7e72160b02184c89f4f12e33565d6b2b9dc586af63d6db714f1282d466a3f819e561a6d6a94aa7784edf39cb21e9717f10513dc6d5811b50487329017c4b76ae37497340f5325d074905e867e506ef257183f93031fd117c521bba766445a4d0cd3e7fd739d2516b1c2a884043eacea75fda095f44a4198e91b703a928a40db2994502ee48159b46e0bfcdb2dd112a427ea5263027eec6329f85567020de29776a39837f8ddcacf00939b8662076c27b2a26c405a62e57667f3d743b9ca55e1db47230cd7067c835f1c9fd151255b149545e6204a833e94cd8bc91a88b1c08f0db6caf3b18264109b130d893456afb837672a8724561cb3fab32d2596e47949d6361fb8234d37b8ca93c90d9e6ccb2473f70dc8e88bcfb729100df3f57770c642b72f8e3fb2c5147ec272bd1708c365434125ba75bbeccc3f1e1f2bfa5c7f2d06f7216dbf3a15fb3f0c2e083c14473e1c23e42bc696cd62b239b64f3e88e607ba2455f8e9e3592d70bc3995dc25b37d1840602119911dd510788e01153b9b01a7341652454a363ab4ba0bc1ccbe2d285b08050e2300e73ec32a820a6a1d35991b772dccb102f57d1941663c3b468d41027fb27430adebe58ae94c88fba0bbda5af7249662d0ffbb7a6882fcf77805b733eb1fcded97b74a4c600db18d00445ecc7723a798401d4b8e0c3dab15a887439d8c57dfee26e9acbc363336b914b2eb07e72ee82e61eaf38535ac0294950b768d7c73961dc87b4608af468035a8da9da0e72424f2dd73647ea9836b7f0239e7e1a353509fa257cfb5857858f0845f0306d72acf538390be04c6d2beea6a746946ede4765ca51a774b6d36930f7f63542be7266a3011ed4768a5ae780304d62b7dfa631e9c431ffc06faaf2dd67c2503189722280b4b0ff8a0b95d3d15410121bc4d1784f4c756f54504d43276f3c5c601f7240b6d654cba703b41590b8a1cd47660d4cd72c29301b45a5ab53667330d3d07244dd889baf73cfd309fbc59b7fe03da37e4e04fa7141eb008bab993dda794c72a54b73c5624f754b99b488730bc7483a1c3af129a03881c6d760586b04ae57672ec7ff2a2014eebfc83611db1371c00667ca8613c5eda45d7e1e4cff08868c72818bbd22ead3a86b8cef144d4974d7d5a103f1b23839c3a0f204d4367d3fd17282a78e71b2024837992b685833cdde067e7bee60694fe964e4a23e33e4c3c608eb276476e278aa39a6b228efeb8f7061e67d70a40e001b6a813135e7af3356721e5f70aa753df229778e5fef27223fe19a9f2e864939b58be90e4f48cb5f3e720b9ea1241cb08a1dbf83f20730cd2624af1cd147fafd76c271d89175d0590b549af355a49a736ded423ce71f6fae40896ee4f9f2024027a265ef66160edd967237686f7f36ad434f59c8a4bd196568f393d562a7468ddfe5198d8c26e704051f69a54d793d2317a624cf15d693c3ebaabc3d3242ae7601dd29e53e0ebba56a725956e30a5cef63cdd8a3b2069c2f59b19f756740ae7c5295778205669bd74072aa50e968d97afb42c682bdf02bbf56a581f26fa84732f2dfe5166333aad545729cc51db79ff6cef3d598351c638938409f69fd5d76a8fa477048e68ffcaf1872974b23b8d89fb7d85f8993fedc9015df2008d92a308708f241ecc5be85110d72145df9444b3b0b4c79e7d342ea0a98ba57d9a7f0a6c495f6759ad6e0ee3ebf580ece2cf9ea68942af62a22bca9f6c3116ddb8e6b87d3e8d29cb42d4c7179c3725dd0e34cc4340707cf78cd16a607ca5761108c07a702883c15eb0ab5610665549f0b4a0dea2251daaebdffb767d8f3469c8114fdfb3b5268b545089f720bfd1c977c42136689d07373545af92c93dce6ca7cc41715e398251a3f648a510617720f85f4223d066a934676720de86e0a1d02a5c595b21298322f07af1b9c0c0a72def1e083cc4e285f865f8eaedc45708a86f501e5423470d8a679d79e302ca272ff52cced0d1dc00cb7a67c1aead553c611823ef62c83dd733d965bd97ba04e72ac6f36702c6249d64970da8c8951771e621404f9db28730df9bd496e138fff727a7328c13e4df22b2ef75ab02bfeb84599fe1f71f9eba2434cc07b3d35dda87283e565859327215e5f27786f5e5c28075fa677222a38b3369c510537ea995f722cc1d20ded2c803632fdcdc07af7fd1a1642a20b43d4cb5d25512c7c1c7873226ab7c781da02dcbbcb8c38f3db8d8ffafbdc35a20616dfd72993dc418bd70560217fd5b51300a7b022f3e3efc05110ddd5e81468faecba0929ea8ead38d6a7185c56db88e8b6954b8c02939c902c455c85574b248115aca1499227caf1308c720ce9a8d1acf7348c77bdfa19d4777ca6cc5a021cc88f4aece9dbbe967840443a2370fdcfbaa69c052b96f8b67ded091e9d2585ce99a9f39a141a0d51a9a28c0d40883209f3c09cee42595adbbcd352652dcf06147c81e35ca8edd3b1f643e9728d16fed107c0791fdcd2bdd667f6b0776edc53077a898ea24afc6e0f7b005f6c595ca866928f571de93a89bbdc81d364e76878450387ef7cc2e1335896e5ad723df9cf000cfb8c7a77c5f8422a4d2fafb2c6530c6080086d66f6668718cc4d5a4c5a73e0149d7b5e7386ce47f62e2bf5c237c5a5250de90b9c82507a0c4c477242afba0b2bdf28427c878c3395f39944cc15a725b06be53485a4d431aa45c872fcdb124398dac9468d0c768d0f9630ee12ef775171da82ab2207094ae7a6ad722ad90ea59900f99b33c386da3b42948c5c0368f582da8f48fdffd0cd893b0a2bc10876a05ae1c347b247a3ef9bf560f6f9f2c8e53078273a61cc14cae89107722f7a628b3c36ffe797b4a85ab9ad5f6524fe7c0af90af47a51ddf0780ca3f702bdd059d1664935d40525bea217eaa9df695f657ac6356ad0e5ea0f33184aff721b9abca372b4e5453101e0717bc7aee2b8bc8c34679756b18d57ac3c40e45172e6634407e65b863cb004c88bec410bc3047690e6a43acd3a05d13d9fb2f9c072000909d2dc5f3c3ca3f60d8129f5e4ac92b1878a4bc3d8f2862e33ab067511720d20023df218f2f0572a25d779828a7e9ec6ed5dba90195623fea5d671e83f43bcb8137309355b25627317f9cadbc34e2f9b040c62215157cc346150d1f36c72da1dd9097ee5df9c59cb3886c30471df8e9f4f3c1e7020afc5cb316c0118f6720f5526ffe17ae69784e246b8467b926196843df0ceb9d4b21c5e9ea7d4d32072a19c1dac45bd0c2c72b50129670a78d59498d0511de51cc9eae16afd1cd8fd72579273dbb3af9cdfe69f53e9af19e56f012d83ecebbfdefd0ca182a18485d353ebf18deb2fe805787947b9b9f7f5c12d9c7714babfc19e2f3a40c8e9e0e80c72ec16d36dd00d96a5b9ba0e2d588c4276ea140bbe5e4f8439d3b052bb57544572c362cba0e6c7ea8af9cfbfe75c0784ea5aff38ca41b4515e40547593feb8a353516d95458829fb7b67d3ab176a56acc45ac8033983f14c7be1752a9ca2184372403dd9cf465f40369648e2164653b02d90a82bf0bc194f95080bb5563bee047204ea7bb5d38ef4087a75007f5e33297fd36c6cafe900c7174876078bcda07b727103458c47d40e9a479e8d53ebd7786cf8f051a7fb0e66416f4906c483637423ae4ae2ac6de39410f755839df5aecf02bca94ca8504b6ca459a4dbbef7dbb56259ff784c8e33d809c8bd88d4781211ec5eb31dac720c890a0336bb0368737472ae41511139dd4815672e2e949539756bfbeef2aa12cf9544d8aa3306fd8d8d1ce5275237f2d02c1a585e2a6b5e5d1d464fe4e9d70c0aebd312d978ad316adb723a0206a84785a36fff13b586246376494179ae1dad3225cd75dda8333985721b05a98c4ef718d8d32299f0a5a8086066b84f8c65d127cc517b6e9995857f02491ea2887746bb47cd68c00b49ae199b86a5ca18fdf7b09cf3ec3e6f6d81bff5723e43c848089a8def8b1f72d77200ba2b8c8148f1a7288209c74768a19b61162bda8c68c3c233d4a45746a3132350981a7a1eac08498de60daee1bb21f58b4672034e3e14ac25e25592d08f3cbad160033d1970c54e61697c3f5845875f09040ea6768cdc79228c9bd4730fb04d344803f0ba660465a701abe4eee3d70ffa060148db3b5178c6a5039bf49df60faab40d867fac67bfca412e63c6a6bf2ec26a68705996edd5b70702d20de394e729d56ae0cab7c9242e8263fdc4f4f2fe539f7239412ac830a631fef6e0a00e857a04b33190b1b1c362b63652ce4118d8852d728d2689024c18e4313d4b47fadc3184bcc90f5b3c08899e786269a01d7f6f0f72feb87a779f8ce75d49efe25163039c6aa472f392c9a74d36a0b49c5cc011a5721acb7468361843cad4439f99697919726251715086ff21edfe9483151e46e227a41fd973df1acd7842bb5347584acdd6c9455cecf6ad559f6b22ef6a40634b72f3a28fa38a59cd21b00d14cdf21edb24a8fa6807aebc706bf1e57ffd37ca9b10e6e753652e157ab35f820d0462d50031d6b93c7da8448964114e9f86e4210b1725338efbc7f6dcca8b4b26d015312724a0f612798f8c5ef6becb01382ea0f772e8af4cca122f70db78b75a83cc1a855d17dc26df9621f6a37459679d7e5e957209697667a23c7476c9039bba7c7a82c47cdcbf519e8c1a1274610ec4c0b6d9720ec8171d1b48a24f5ddac1a21a08be01921646a19bab5997071b286b71d90f715542181cccb997d890b03c58bfd5a9ea8d6144fdeb072630b174b9b7a62fba3789327afa920ed4b1e50e79f3fe0b07b7ece0ceb26cb6db3b31076275dc9d88019ba0147e7609e7d1360715ebe3ad14ee9722bc2e8a51d5ba71144e42ecca08728a304da3d06b14083970d243c09fea68f0819083c2377fc74dbf0eabfb57ec441f626699b9e8b22b4fd5f5978ec357a6a683d47544ce9b334a8fd930a84e5040bf218249c4fffc57cb49080686ea1ebd3d910e559cc36c7868a86b6611200854928ecb76002e7389d8949604f03066e96677716e3c087432fa1d776071f4ee0840864b6b1be27e190df91944da914ac07420a537eeb049ba0315fe36ab600772af8b7d0de104f6c1016d680d7d8b861391bc1f5a2677e9f5cbfa83b1fecdd940d32ff166182dc572ab93a351733091b59e46010f283fc434ea3eafea8cfa550e8543e5f7cffcc874a081fa9c234fcce1bfe967a36b86417c8afe2e62cb3e163c53fadffd6856af29e3d818c32e86337b3d681118411ca170502e4780e3fb30725f031ef5b0d9e282fb72594017b6463afcdaf85fd54f3e40ea63fa94377bd254efa38683696d78e32a6af61e116d2fd1b8378da9aacd1221377b1c164ec8a372f7e0c8f4141a7ef18d3f2e11bfbfadb6cfe59a25d84f9c87f9e2ac7d677df02d99e73b200f029c2a5a62873a3e5dee7efd7894e726e4676d3bad66519afc0372ea9a03bc140f3ac27ec5870cbb561193b3ed66a22d096094970b96ee0e8ca412e01bd08d05ce3b9cb569f17b269907eec3616600069cfbf3651e556fd3eda1722839c03e478f85360ff652e446f04e077f84eeac9c560ed206afe47e3780e6256a34ebba3ff59841ee219421018d8bde586f37c110337f3778f68536da78452f8c4c9bcbac44b2c6aa02c78a831f861ce35f88f1162d4db90a683f0cdd64e711d8b1b6e6e12dd66803c9b2d7055f0defed10ce57fc027d15f695c4dee14d9a72730c40f4448260f3f5472b7a74f22c1cc9a7a3e967cf1104e171011eb0bf2e1ba719607df3847ba38b6871633d0a70aca739e3c43c7ddcf9eecf8ecf29f14d2f3127f2e03867d5e97c0e6ce6dd451278cf75c4f08fd10256630c431c935a04675594772c63f0f48b7eda681fbb8cf496d292f33c591c6bfc64166d9a9b3173724fbe8c8f69da8dff00e43f3b4b8f907c71b5abbefd71a61613be78a23ac8485fb9a8b234d0b993472ecd3b7b1b3fba92d2a23f0ef5dca9ef9102990b9088ca2b75460d3b8afb473d0958571d75cbc59147a4921b5dcb50181bb7a9e76c6c2f2d1dc74d296fa0ace66ccc29fd6f5e02ef407b3e5e82704b70e8aa450ac76e09720db73efa1ec271656ce85bb53e5575b194dfb3f72c76ac7153fa4dd381118e7264510eb9a24f459b19136dd214234c1c116b675d9c7f6648ea08ccdea9834c72b81d48b9802d4ec9aa1ba67f5a54838082274fe101c26b00cc34859552c23372a643b945fd90fd1ef5a7afd41ff9b535c340e5e35ad5e48ccaf29d1147efb772f2c51b0a1c0f3768d6f9eae4e8eb4cf4bfbabc5b40ee090f39e8993c4356707225e3563e2c4cc5a45eec7f72ae616a25b4e5f13a6d5122aabe22ce121617b15ebc85c9dd6758fcf3d0f7b0cd768aedb500763b62dad551b233838d4bf3ec3272cf7e967c0e24fe9db0aeab43cce98cbf389d8f9ec1728888f02ce1aa398d2f5c51333ae27a2e6fe931af754151c429c0698d9c25c4fe1714df8a29292372f57247df18d7dda87a326f7d7058b6599c5b32d5bd96be1922b2e34edb56ed235972257ff9f032096edb830159e7c8db0617f36c4a92173787722a515e5f0c4a9a06d8128a7c03b80a1c0dd9e55c4361a282d6ce33aa18df030b28598fce4880cf72651ce4a6931a88e5b990f0b5ff16b08147a867660888b78beb5188ffe331b672d398f776f691697d941a85203322a45cdeb40e9cfdfb61540c0a939f70ee517263c4478a503b999fa4b08db75f0974ab51e4e03a3712603a52f7e804c590d7026fee81cf9928107914e3d7aed7aeccf229745d066927424edafe865f011ee87236562952501df63d36f8b8ec6654a034fcf4fa311850957501ada3e29505a31aff63388330bf4eb96bfb709acb70073ccff7c6854bb811a34a0da281dd58ec72c83ccf82f2dc335afa180fd438ae18d6b9942756fdf772698290f86e2495491a14e6ed12f227fc08ee5a1d3103adbfc649408ab1d219ab7d282cdf6aea9c72720aec3860fb1c1a16e428cec7608a42b2a3dc7a3f80b2bf91fb0e39c2f5b56d72b9f1b7487d3ea9a428d6cb8561b01db55234b38c1a64d37546ab27d1403421722b2594588c743628d3aa6bcd428e66b887bc46f75c3061aea0a019953d44af32566e43255e0cd6b4c752e87c8e4cc6da740a3cf0d92e146a85579c28faa01b11d0a4c005b42744318e49075c24c22e3f5c6b6677c30f03bd1bf1b92a00ac447232931c16e48a58555568d2f8ab4cce3b27701839a3fe896b1567147194885572c258d8eebc61ebd10284206178071a2ff3e2bfcd96f017dc45ba1f48f82e38709c72aaa10f2a3126188f1cfabe6c2871376e21c46aa5026dc94463054733db728fc2382c70b9b7e8e3db8651e93d766862d261a9437aa66aebf7762cc6f7a35a1af67099f8bdc61f6fdfcc8c61ded5009331f12e63b6b6f1175e3c1d7b143a727b44510c4591316063da3b715fb716d6cbd59c16a5ead6894ea5419130b22572d29a51570ee43fa110ffe885105816a39dde5efb8294fa1b9c70998348fbb52552d37794ce9baff578672a48e7d2413e129e58544a665d4cc789c587aa79457280dcba6c0379fc95527ef47bbc789d8292b9c7aa2591ce9bb27fb00c8d3d5e7242812b22f3c142fdd5f730e157c8e5f593d83c85b8bb4132f1c9c5eb5a5a6a728e38293bc94d1d827e44ec073e90d59f6b40f3c06fc1c7ed9eb897a22e1936720165f1f2f477ea0c8e8a1176dd3ae9dd3a32514027b7f8151d447cc850619a72a30e38c997038523a4a85ea7dc7077e85cd09a3e3523c41ec9d6c5fcfd8cea52073e292145946f1876457ddce61658e4e95ec82c65fc384ea89c2143b046a15cba85c3dd36e57554b2ef1e51d92bd8073bb85a6540e937fdcb2f5069bffd0710d961ee49fd82df8a9e0c1bf3755b11ec65c16e28a4d4ec76e08bb61298c43d32975b937404a27f594bcd82ea683a01299c56682016866d1132182a49c703937259b461a5e7d4f9bb602e8b4226a8b2877b840e0ebf2527985a52170752dd7d142eb79c6a4081c4fec31b9607fdb362bfa23f73d951cc346c8321a2d420c938728ed161bbfd6e75e4c82076fe5846063dc355bd747830dd961e2c3728939cd07237303096a91b97023ccbd933f52740e4139d2faea94ebcfae83feefb4265b30df048fb6a4fd29013700829d2f28b75a0ba5bf55053783d2c12d70f9eaaa5ef7232028e3d90ebfb2951ec2f486e232fc3bada2dd4247b45d427c28a028f76900ed8636adf1e87304ebfc0c33674d5d2c1ce582965080e137c7a57725016105e7266c39dc6c8c57333a4a819605f9255d15f356cac835788b010d5320b598ee472e96d0a3d8d4d01ecb6f6e774b729ea0913e422d62e9c63a48c4560592ba4f25b4508434cd0fca206dcc20a2774d3e417baff1bdf25289d14e6c44ebd0295d1729d47fd6db14163e1c115381c27364a9e9f75525edda6b49349799de732eb15728863057e30a137a7b7310373812add17760ab23624e1742f619fb2cd13b44805036b97c1afd8ddb0a262de8c846c564d0577d881c193310167b568ffdbbc4d727d88c1f8e307683c61c0dea1947ce0fa0df433e306429a10b972fcc96c2d5300ccf045dc8154c2978dad1bc9cdad8a116a8b94d6ee11b2b2f491dd88adb3647266b35ab002b54df87d1723cb70782570aafb82df38f45c0252de4389d7c4d572b2ae0b6f3aad721f6a3fae7ebd922a67576478dd743011fe23362b9878531819f7d344a6ea22752c86434f02fa5b6edf8d729089cf9d962b0d37f998a02a81720a775d4c17c7d355b12517d396039c6cc056b630021fd2161ee12fea9e3de63cf19dfeb3c95419d79670c97beb87ca4a1d040efd32f5d8700c180cd053557b722dc235605f9fc2bfe18cc90b510398a0df47711c7d296d0a382c46dc836633723a19a0ccd1e686e8d4f479cb172b74b4d71daa8c5aa60574b67fd89ce077fa7208e43ffbee495fddd1b27e37f71612517a1efc8c30a832dd989ce25ab3f40072cc87bae80fdcbcc22a7f8dde1315379ad0695ce4b94f48b2ebba36be5b587857b3885ff3551252c8f994ffb33467e1b73181874941f16b8bd830cdd2970fb768ff7b8e2b3fc92c1023528e5f020ab0959961eda5c580ad1c3c1632ed57efe2721425d49ae9461f4395f1dc642a1dd9902a132a0befac1ec7a091331fda087572921bcd66b059d020e32181085dd86e29ce3829454eb1028055768a2014dbba4745d00b261cfaa0bd2ce11853d96df73b98800da9a909836409dfd19af5039d72626f247e31d933b524d5de62c1ef28af8f0f92b28ecbae68c5340e686f06a372ed1b4d9c294d9739db49a92cca8cf6b239ef5c9e24f4d0109a7e74ad2e244c72abe46c6f6254f6f6c3666f2030a811597db9e46e38c81308952952b7fcb7c33f2e75b7d5383562842b416d77b05622bd3371ddec92f32ce17984a6e7b39feb5be8222cf7a1853e9b73d0d0e0afe47c6a8448bfeaa1968dc90da25bd82342fa2158797475fcadf7c411235c6cb94625f4f5f83d1c4b5c3b90a82673fb6fd0a272d9975edfc4c61daa1adc9887b2e1e83a86f69be17ba364025ae2cf50b74aa464f6ae5ebaa9554488dc0239994113cd62342e19cedf5042db382eb3a295b24772d5a9f6386f42392f05a0fab79ce1f690df078a3b500f95c060c70218a168ce512f30315039bcff65af718c7d58484b44be35378ea42f78fecd84d81e86b54d72db580df74e68d325abf1f26d55900e2892644cdc82f7a620806fa77475c9e772a3622b3b8c553efb5dd5e025a775662a3816382556c3254fca06b916060e3b6b5aa5a4fcf5708e0c1781e513700f8e62afb3e5bd3c5b358c91aca84825a8b872b9fb1f74f28dca2ba488d2abf7f9dbe455fc9072c315e317220f5b577204447271e29a82a00880e919c9f0d9c6400baf2dd6b59e99b67d71390b8b4d41c4c9727f6589214e361a791a6e84634121125589c3665feeb75356d63cff8e9d62e631e6282fc87d925a2fdf46c7288c1bf429f15fca4c8c9c6f11533eff6063312d727e29e29060e4623a117b60eb9859717e8eecfc81ceeb4cad39ab0a5671d5cb725075bec83774326c72a72b5768853c91445c22af54ad4f0977d8909efc25cb72ea533195fec755aeca1e7bb6203ce6eded5ed81a45d1a92fbc35b7cd95307b3a4bf3c171ece88390c6809d45ffb21d3b5c1b1b76a6b25cfafd30109d10cce64e768d3d1488dedaa0d6028a080e901d1ef0dbef4c976a092ec7efb916cf1cd62fb3cb1cb7893529d4db72585ee340282839456d19d11cd90885a90757f585f123b212751484b0621626c4e98e7d741cafc563305cae3df2adde1cc721233eb040822c10855bb71d4c3fd6bf1f1c23163b56062250121d77c3c58857506f9ec67204eb14fe7474afedb08e0248ccb2cc2115658488e41c9fab430a2b56756b197265468ce7cf386268d0cca5e4827f4512e1ce5631436267a2dab69cf71bf3a96f7ce6084e6b912f34007d2df596f45eccfde5854d21eb7d760e8fcf57aec52972b4b3062b58ae0a64b5050efaeb24bf7b1bedea58d1cf217ceb77b5a3944ef772414b029b4ea8362dd8307a248ac01b713ff82ddc4f1976db90c63148774ad302d86e94663e6e250e1c5fd5afdfedebc3d111de9e24e411d8964a68e1bd029a377a909e4b655c25720dd468b420686588a745ff9cc6ac2d7a193c77b94cb8ea728b1b6747f7ccb916292f003ad3c2de5612761c4dddbf31e887d2a45dc1632e1a1ffb322b1ed587cca320133f2df714a45857ecd26e951ca9f7135f5458df9907f73b95aa9eeef260f1f03844809c9d96c377432702de2b927fb6a71fbc5e5672fb2b7637e041965ccbcec304127fa22928588ba2ce05ed57094e797bdebaf572f0f6785e3503726d0e5ca48c4f21443c8b24ac72a46a8637363917d0fed0f072b6a2b1e5b00ad0c47de57d7d398899a8fa7d118146e8db90116535045910300a15c378988295aea4b204c7d3d638ffa7fa799dd5bc16bfff0128cb9292c6f75838a673c7e21d0889b3740ca4e1d4f02983a8caf675e927fe7c8d8aa01a216e725f3df17ee38baf6b1d41ec0c669cccf6ccbbbeb991a1dbd50edf427a92e0f06166ff00cdc59916eefbb161c66502d7942d773b931268370ff870909ebab8fe72fc59272769c03d3ccb411dc49d886353979a4a2915761d7d4643bb3bf227ba7220df95522d7bc206068ca3c05936fd78d35c732244de3d774c4a11acc81dd00f9dcc32b91597adfe868c8507b232d687d7e9871d781635b63120dfeef824a1263d7341fd9b630739ef3f9b9818521db13506bdbd490f55e6053d77c7c01b6372191f5d9ca47fbce33e217655c66af0314478d3e211399f229e79dbd0896fd672ea51ba094fca9211dc8be05629b0b72ef3df84bf2ecd46c6396e4bfda36d2072e6fe812cd33d79b8c8e7b76df41e5d35fcd4cf9b16f5b332a30e3d17ab229172f4ff53e852ff547c9f0b410a587f13a4983ae9c81a3dff2d94a34bf4ca3e5072e4d4aff0e5604d398c3f28391197b26a043b3e880c32cb6a22c3d4d9278c6472e93297c05cadd7822b56cab2e4a3574446e5d9958eb323fd7158a844c8c2a53b12311473c736f3e8f8fcbecb42673d61516f9dc4b8122b6d9f9565ee6ef70b467fe1df58e8c2b2f970b8e2c59c583d27682f7d501412b88f15d8877c25bbd4373e51bf477b92efa538cdbf66cac44c68e19de4171bf693a5be753bb5255bf471f0fb1d6678b579e8b8e7643a66e861758fa44d39f868871d700f3d39c139b36f473f999758a5809a707c05743e1c07beed63f8b822fc3cc69c29851e48334972ef16b6e861a7507c5dc982041c096d2e8da5ec591911798ab59385e837cf3a3102e2bdf22c45d24a440b0e4ff662aba534edea11ea22c50a616f4e770782884197149eb40827659e5b127b8f8afb784d202b44561e31ec299b677fbcb9804f723e155d732d0aff11c900a04787303074f52d0293a14307b0fa47224c87654b353c2559e38a2e80cfb3c615e733cccc05a04953aa17cac0f863d8469f4fe490721edbb3303712a6fb014ca58f05fd024be3cac97aa3f2d8928d507f3b44a31c40c5e142d8072f989124989d2571b5bc8d2ce50053fccc64979959f1d0b8d6c172e7ce99cfa503f90c74d4ebc10e48f1d846ea7740283e87f0804ee24b31ca061f4bfd1d1b358c920d71bbf16b256dc769f7ce3e654aef3f42e4c1f0396de4617273a32e953367a5186e2662fa4bd1cd02e425631834a8b52079a4acfa7f0ac706f7f4d9d401e75f59f45bd0993b147b2cf156a6968065bb7e25f982e14f5a4c4ff537e78743c700eadb0abcdc79c15ca224b30d96556d1767d8fe08ad9609a461780d134458b84ca3634ac4b5b2a27189b00b36a657e422f3ac80f5cf145a6b1f5ebb01f9f7a61f5e8129e53121fbe76752efcf912d3b108bc09ff493e7133f06e6edeb25ca0145367facd8bd9efd37008c4efd5a740adf847141404e17d06049b7c71f83c1e20e6c45f05a1e253226b052f59b65761f5b12d7ed31960a441128803b498e1feeeac989bca25d904acf5747ba33c414eca33504cf058bd4ab0808892079ed330d3c03fe9ee5ce34e922ebda81fe9b4af5e1f3eb98518c8d7ed725c993f791b5cb841622c509559494bf0dec2ca09b16b6fb4095dbf11d4e2c105b73bfc9a3b1e01e89a8f2b430b6089975c50872d176ecba80bad2dcf643f06346a4aa2779bb63b524993dee7d8869d421feba0ffd720a8d056a97c04da194dc727972104aaee283abf31a622ba136bab009fc2ff20ade2147ad1f83d2a631c622219af5bcf571eb18e0c39d69299111910411aaefaf6bef906d34f3a33d06c14949eb834c5689c5e4c53d835f8a669ad1be8010084c53f8d78ea94e0441e03d06b4d3971f628dfb94e9ca2fb0ff7a7e2e27cedd7567238d29fb30187c0276ce725980bd5c27dd3a22ceed5659f5516d2497d387713e997cfc6aa8d699a7d259725e9a97a667cc2fe8e15f9bc1ecf807edf191f6d0d5dd48ce2980ea1cee5cfd070294f1a979f94643e55b28f56bd9aba54bdf4c7b19efeb19f435239ac9386b5a462ba78b82171e7395e6c5f5ed67871369cd65aa57f685c12fa5c37a5ff7d669128b88ac4806b57686ca8fcefbb493a1751fee7966cf4ac773ff548db66d6b1d26d91d7c01e9ccb611721b8958dc04f358ea4f0c4e4bb4bc7d87aa8e66f29a0af9a53d64d455a0ecfb2fd94339d4ac09c642c6b4b9fbf4853d968d14e9273352497af74221ae0564a6a3cea8e1bf1d0d62bae082c1ecd4ae648c16db6c10b8490715a9b6a0deaf20f646f5006ca6c1b185512a8a094bc94ffd454f3593e677724ce3c8c776e34c9b87f05dacbc7eb8f5bcf807fe538d4a915b90fa52c4608072920ab7c6cef3bc07a7a839210abe9e1232dac6d9789b0bf6ff8a990236acf272c8cba638bec3f82dd10efc9dc3767744e0f7d45e7996c9712debabd05f14dd72ea8bbe6fd7885e0794076be216b96b202fd596056e5a2ecd47aacb92ae20cf721ecdf103d7e52de4c079b5e1e82818574371bbc1087aafac07a80e1584948b72a7ca2182235d73db4cc34918416831eaa1c1e4006286384b028cd94139f8427279084d136206cf72b9d09335ff0bb4bfa3d6e4617c394732161d7e5594093372621a177b3775632d81a0b41f3d5cce7e91861e83159e53179f060522008ed772e0d0095d6b916246374d9cfe777259a6d3d72522354f70be9ad402dda47e6f72660ef9f8bd79dee64d7de9d69220f7faf984aa0fa3cb8a6164af27f2920c642050cf5ff2c38a7bcc69e9571b1b484d23b074198a303a9b1b31e0430af15b2e721c58eb91cbd23439429699947bbe2fa60a9eba1d6fb87379e0024bffbfd7a20d19ac51fe1062d7befc1cbff2cc5eabc3bcc25b934c19aebda2341e3a1c1fd87278889b41351144b0c04785cff19797330a0a9cbb510f7514d626c2516efba13fd140345bfcb146204908716761db4c4e4d329cd7abee9509cdbbaf6ed5435c72346c46ba0f60cbaafbd07ddc38068c485e68d8aee36e3b671c3ba4570cb4e072b61dff4deab90d94ec6d7dfb4b7004645e5d1b0b6288fdf0d1289bc5f8d6d321e228ebba69a42cc78229594e2645d8ece717b228c70b11f593e641b3d09cf0728c54e582ed1d25a6cdb22b60070787610ba4b989264d12b81d43434f1eb3d372e3d7e994702dfe6ef038afbd6c154e3e26ed167e3f447e24c4e9f437d541cb63592663156265dc5eff3c31967ffc7f441ccf702cc9df9f2942ad46920642a510f73828c1c6413ae63f7becef7d54bef1f1eb324bdaca3005022d78de4bff7b72375ab45a5e1a052f8a90c3bc5e629f42983c9d73e13bc0f97799440d10dbd60b39b5a60124d82a951a4107cb0f8c0d5ff19417641c238d7c4f5f269c35c4df2c6d4c2703ef5b2a25c351f485386f798867da0621e8d19d03e75c9132f00e955820ad14c58e7ac4d2417a13a57113e0bc1ac26d518f25ff00231b178d4699f472aa182f226f92386c7979ebcb3d3884a176c49c3a84494e04b996e82a19212e48766f5f15a2c9f072408180dde95074b03e46a18fdfabf1a0f1dda8eea7900a72740b74f944e047e80ca2488e74eb2e476cad98a345ab4b1cbbd6bee7579d3d6103a57d8960b69502d04cd0fb07db8e4dc414ed30fcb4c823e68b2a79830234136daa07bcb76789e2c88690289a858ef6a72c918a35d652c3c7df317fe71feb72a36de54d432234925408f3890eadc37957da5f4fabd64d5067047e1edc7525202eb77adfd3610152aafa7650b10deab7f7291ff51fb01a3583401380b1523572a474f91d28f2fcb13c9765bc1b6b38587f59f206066ffa932ccae851b68e0d366183d42b856a6e04fed8c6c6ccd1680370c13b25c662a951929cf9307632af7204fa7d0b83dece4ffe8e20ec9aabed70636eb679e354ffeca0bcf38e93cfcc72eb5da86a7c802809337b4724ad775554d0d7630903360553428f1bec6089f737a5491680b17f4b8a1e4069f0955c972c61e4fb65d553739b37286273731e381b684b6d4feab42282b63abf01c506e473594705abc1e320792afb4439b5f5be72c5e1da74810e5700a9a0633534273fa54da11ebfc29dc7c18b7539d9d5bc163ae9a8195974f19c349c922001fb4000dcc1eca4c1c6479d223c20815207148b0d653f5b54390b63b39c908f56434cf5d9a78eb93a7079a266fedf3c8a31198d503c84510cd67beeedbf7fcf6410c8adfb9485523bc11f14ae52eb1f58e3cfac7209eba9fcde110f453bd517a0e36fa8f429d99c3f96d90519976d4889ee043572e9f0e3a1f1f4f67e8d17306d0ea6f3a84906f1666c2b337e02b4796e00d87072efeee15f08ceb83703ecd9e1be7fa8dbe8051d8a6e41deffc63be4808618930075035e2842ee94a7f4dc2d53d55141b929230f2cd9dcb4d267ba8bb85a2c5a2ffea9038d9992f2cf046b22e87b8720b79bb49c8b35e6e2401f2f9b9b4a0d98722dfd6b79cf5784f0fcc8063b81685974194017f80f1ce2966b4823854210e642e7592e6f0db5b18a2aa49ec62aee1972d7adb36f7f2da374b8c2ef23e5eedd49f439e1412865e41db28d714991b71290936aee62c4396a4a338e0a2341f9ac6791437abe800304d8749fc09f815a4f2fadaec116d46812734db76f01f0f7ab1b84b989f64a824602c25490a8cbe0e64d26ee1e622c755857d6da9985f07a6c72ad6b54276ef139bd279433b4e5c95edf7ef5e5fd7b003855e909adf6ddb8df72d17b0214c91be52d41f6e0031a42dccad911876de4568cbcecada429224ecc726a04ac1203a7b068c96fb36e7b5ec442ad1f0103521e47a0100cc6101b28767257195afa31d0a5a7d4b44278afb753b5a0f4d9af1c5c0b3efcc1fcbdd1237d720c2e2168eaaba894848cf367a9aeec0cb3b634d6f5c01d1d901855417aca4b72fe04fc17d0d03f2f812931d5d206a22894a714364ae2640eb429fcc4f0bc997226c266fd0cb06910bae167cc4a377af663118fa34e25fdeaf8fd9fa3df0bdf728991889b257b69ee27954359bc2ee92649ec0a724571a6ced76c89e10d78f9725c6ebad2dab8247701e3e682b2082fc1ac4f6c10fc2308117ae53681a6583372122289e8cf4313595b1ab728c054bd52b70736e6c8b57065e42e347af5b4ca72c6df66bce9cc7b1c606e37c6d78467f69323ceea4acb1bd11a8d144cc0da4b2ebe5ab1363b34d07de5b19544c40e3a801b2b3db479c156ce8bde446b26f5b4726a8a568474b2e8cb0ce276e7b30eee1b29e9cbd1845f1307666bd53aae2262724671c2ff3df97c97f2a16835bb522757311cdb2600b7855be799c6c68ab7e572c76ddd5207664a60b8e778c21ad06b9d2f7d06b2980f908b47bb63bfb66e68726bd6ba0f1094f0c53a973e9fad64f37400cc98817bcec792f1e3197aaa815772cd92a75c43438ededc62cd2a988e6c9c9c819ac3acec77466a6b0f8e7342e43037cda4606a4e9d7397189d2284627a49e5380fe50f5661fc5b736aa36d36197245131bf5d0272f60d67c7c274978a0f3ffde689e51a3be9e863053c5a657d005f1af4add6f1c6ee6227e3602802b879aeabf61f4a6aadd65dff98617d9c0ed5e44b5c680461340502da5250cc6eb84ea95c639ecd9b083ef4ddaf06af390816499c6b18ef76bf863403359d6680ed80c0df84b808b4f3a04518877bce217dd0ad393379a64b5d88f45b952cb2617cf47fdd7ffe9f60934420fd1b63458be5f300ba03f1c4bdea2559af1796b07db1fbb8e1cc63ba8b843cd8bc7187da06e65594b465f3455b19d539b72caf111266844a000815440d97a43965fa876e09eff72c013ecc469e41cb15bdfb1823c4ec20c8416062e1e838e7c61739c4351fac572ed9e8558f442fc074870647c9f5762bd1572058dad5afe5926d3ea2a1494650edb8022593741609330fda98043d6f99aea4707fd8435de05be79c2ee7ca76610bb8cf0d26ad888e2ad2a6bf9a8cf81218ad16b72b7dc55918c02b34ac7d8f772fa7ba8f92f1bc32432ecea71e55902c8e9648d2150c2663b25fbc472215ab31c542c864c237f58582253f535918beaf83a8cdaa1e64f011f8d7d69a7b64047727373484494a5027b496a8412d07bc4a5472cdd83559c88f7166773cc83bbbb5d0d4c4b53b9a56fbad74acf527b179cd891b99b8e983acb98de537b9ab7250772100af487b9af377cfcd29704dbe5cb359af34a6f5d9dc0f458ddd3957b093b72b23dec3cbd6fdc134501b740007963624456c2cbebf0244a865c9861cd582e72fa86e5ca01e82233f9418fcc071dbe573e43a4ec647b513fe9850d9474985072c77118e54e9a80f7534677dfbc37382a6c0273b9045f10dab8bec001bc38d1721122db638c7303f938398ed7410c52ea2c72838d2aa500f49a9f21b3cbfa1913f45213d8eb97549fb6e6d04c35271124f479afc41855d5f64e3cb55b65ae5c72bb64496cc6565b7084446ea2ba3a7d19252ea9b6aff5075b44445788dcfcf97282e05bdb78601d289bc420fae1ea5357c618be93d07456fa8cbc6687e2b3cf3da224afc6db6e4854af984b5287a83e05a40c993976e8013fd2a8f3657afd7172e1adef6ffe7b58420a42f93afcefd056b7f8499b2bc105c22a37fad158318772e8f8904f34c7bdadb19b3caf3167b0ce3a76d78e9fc9963fb1001ef0a35f6072e85ced47f793cda5c2511d92e2ec684d7ca5c5b792b9ccfebc961f76adc23572b8dbfb4b570a5c88b78545ebc95245d4657be128c5b89ee79b56144470964072d3a9e67eac2226ac4212edae8a1bbff3662a719f121c38586522553508b43529c956833cd1bb8186afd66b3db255a7c629968d55b6b82c70ae59565dafceb872af5f3fc503d6f9c53a17dfaa2fe25c01484eeac8e4be4963c88f782f66f555075eb84d99df8e1741eceafdf294f5f1e95d20a86e39765ea50295339964cbdb507e18d32cf3d54467370c3d0c15b086898323a32a331d416b05c2ed3208d0e509e8653f9bedba9573f4964f8f661ed63d7653b6d058362ef23bab6fcc94cca172623b0929876f0f82fdf5a778e85e032c4f604aeaedc9c9b5ba9f85269c957672ded38f6d3deae239fdfaf29d041958dbbec23213c1606940089aca4ce6c39172e8c2e29a5eb483056abf9665ea8cfc0c715eae14bd266f37febd06ffab2616554a3bda80d8481ae467c1059a0b10f25cc35daa7a60862d9b369136b5d1f4a33ce4b2090640e049bcf130318d0fa599a8bb7881844208f3790eb449353233f07213f47b88cc18979a0c0645a9d212a7f23a947dc6ed0495b3c6bb9c5036b63e7201bfd15157c9b49618922dd0c51f4f19c8d55e629727f0bdfaf80479ed83d572764dec5eb230bf8e31403866a197f64b0b7898c764b956e0321bdab8c83a58728c3a2e663058abd55e88ea048d6adadc310428567a2d257c8fcc6550c0ef416a7097c71a6b5ba82ab7064df06b6ffbd4290f6fa16ad14b2de793f98df3d25672510b6166b821acaf01ff1a9e06e674295b75ccc995b6b9d3c019bf7d5453a472ed3eab38027708257ca0bbfd00feb51b379ae9012bb59415056353ea24123172c8bcf58a6ef8a2978777957edae7ed90c28e447b1e32bcda1605ca6e4a3f65722026bf75ad4d106d327d16bc3beabef79bc63ba94bbe9b7a6bf6367599098b72ab8c725bcba60d1895eb3a8e737fec3d395954bc6047e53aed542fb46741e472c8982d158f4ab77ba928f4999b279a5d0a99226fe8a78540fe2e05c82ab1bf723218fc125a55915083cd8bf43b5c3289a62e00d75ccb9f06f9ee22e67c2fec6fce677eeee3658883400fba3fb207419f1a09e85d1baa345a71cffa8eebc29672da7ed803b4950b53f06bed18fd84e2f3fab3e2786004bbceaa4ce5ea379e7864123a25533e6b646fe1073f2f98f556cf17c8a2a6383ec6cf6d3daae0cf8da87225997af5193d4536fd2edbe4c9d5b733e5115c9847c496b2286fc22b37ee01235c80f7d48ee0288d5d9d9555faba76290e2324a0e603954a4d4daed766e60572e4b86cd24a6da8c874a0f802b36ff87316f0eb85e36619a294ff2feffa8dc172c7691ad6a25bfbd0fadc16604243fd0c12c0224f062faffd17b16b9ac7958a72c332ba18be2d17cee026503a97967d6d5e77d835945a1eb66b78def23fcf2672d0cb8c2e5d99f237949bfa0cafab7b084452e3f95032b6d7ce9c5699c18ea04324cc15af485d33724fe9da0aeb2c4eeac35584d15d9bffdee059baaeff7a151abc269f9f9654749ece7d010284782642f00846d69ab52e12d1d2715a4095f85071935e8f0a34662ab8a98d330a27029161996e7d8f52fdcf41a710e0fc183272e39487cb85e83358a2433ab12c89af97c3c63a3bc8e8c04191e778210726ac6f0e47c27c10275b56dd2e1ae0ba4ac34c4c3e707abdd869e297334e5cac6205592ef608a9f012065975d2843cf66f5382a4fa8728d69071449c69a77931b6093247371afd42d35d23ca583bef71de1fb52ec3521b1f190835b2af3704e8fa6972815e29cb8a7ab8407f385eea6ec5fe398693b1c7e57788ed0fcf669f47f05072c0e7f5e3c8de4f8a67461389e86dfef8bbbe81b2fc6a1c7fa4d405d082265d62920433729c23c30e447cbe4dd5820592c1f3a6888a15eaaef03cc4e6268f275f080641cbb5f7a5061011753c578db3a506c1c9eae32ba9751e13cf0870874472e9f6e06ef07e5126cd982e4b08dc7da54873675b4d554f191a3beb9512478672ab9a6f325bd063445ae9a1720ece04d982efe833c1a72160c73bc195bb316772df95734036d6fa3f9f062a5413bec213081ea6a2ebf88fc64272a45e4cf7a5722fb573b957997ecd3cdff3bec86051b2b0f97fdf277128c531da8d739dcad56887864ae06eaec292de1bf7ce142e849e0d5a4759f3d89efaaefd7cabfbb2e6118856738d74a73c816eb9b285f6515d34cd04c027714095676122b0cf45baa872878182dac4dee57d1eed2b795ab586c69c70c2e7e2c494404b216b7f9ddc17723342803f922cbee2a352608ee5106acb3219563d038d9b70525582022cc79772ff95a31c99145202719ee3ccaa822fe5d49622860f609617e3d4066e7454bc7249b1f21bda297d6e0562e4554d230bf78834d9e245a19dd0cb53d5c4065d7772042dc976323e00ec5e6e7a7c4a495ede2f7856b2e584007f0b7c2f84dbb80f72b7465e1829722701be456bc5d270d1b3ab31413be9d2ecc1abe927c7a781d840980ffdd9dfb95474f2d11cd6e6fcee6fc86d1bd4f2b5fa744148b4e67c56e0120173b1fa4edaabdd894c5be03ab56ea2375a9fe668356a6dbbf3a6b8f9acea721e0bc2ad1cfc0efae09ce7fa7804470deb42f397bdcf5369ebe41ca34eeadd72540c9a66495cbe84a0bfd0c6a8b3c215ece38e8448c37ebfbc8db6b750e4227274cc5a40490a4c434a60e650dd9ceccf0190f89456cfe34db94464309bf64872bdfea6284e9d82fe29de25dc67fbe326fe91a082e8e3242fb973f24c2d823232e4f52a62385f1fbf42f9905b3bfb1bdd1171d73b4a35f3f5b0416d5a28300a4466899e3a3caba5722514388fbe9cb74a6e1166611b3ffcc3ab55b088b588e5411389cf4fb39348e41ce29530a7cd051acfb1b60b7a7a0f8f1172259125822d723ff95d074140934fe8b560e1fee8cfd2c82f6174e52d341008f3515ad0aef3725b727a0aa764ad73dd6283a335b78da28610ac9d582766e7b1d54381782bc872ddf31a4e9a0b18ad2262805483f156b1bf8c431874ae969b196b231b0ae87e72f7166a6812905ca7c4a085a226018fee75f3fc112186be56dda60fc5fe3d1b3bbfef7d0895d8c76435766bd7d8c0f0f4094ad269c98d545231675ca60c05d3723c557af814db68901e7288b47cd42064cdb1237a4decb8a2391f9ee9437ff94aff062e3617296cbe3b8fdbbf5998ded5f4875fbd64c1d8e5f8602f10437c7472f900b2da7cf0033b1630e11e49944296bf12be1d10d7b77fb136c9b5c0a23b7215add768a2279fdc4a6e27cb5d407e2dad65d508465ba704f38dfb4535529e7233bc091943e0e9592cd4b95171bcc4588cabbe9d0139cbedd9277c79e600c372c773a5fa73b50c3bb6671fd62b20f97b6a81e98468b2427c22fdb1da338b4557a5360cd953641a661f2de900be0da9adba5596944e0ea1b2f7099f687c947d54700ff2de98bd90cd3da1575187c4b8a75dec82514cdc7316a5ab198583d40b72a946bcfc12dd22c731f3a4dacde08be20f3faa1192c3e6a2f1f0594c6e47f9721cd9a3c0c1f9d5f5aa5f2fe47832729631ad10b2b02027eef38c1343bdc59e0a48f095924f11376681a5f590d9bfb82b3ba45b901a4a65dcc0056d2c8fc6212e8a7769a494457a7b37774a7ad145ebf064e831a99f358a5c85dd35322f7ef97237600b07ea145561131dab6804b34d0549f96829d87ffd4b6c304a9a79ad1d70b6a9e583f49089fbccc0db1c9232affaeea53c13d7188943b91271d8f7db127285d7283fa2fdf1d61c0e39903837ae5944893808b52dc89b38b4c908b331796ac20a52504a7fb3d77d602c05452dc78fd5d008bacf07b19f6be2fb73d6f7f256e76028ec7a9e521517e435303bb05b4c4bfd5954344c0034a6d5009d6092b74327c27f4b58baa8b29341a347469c96fcd44a8c85327bbc500f72c47f9d873a729ad77ba32d411abb13497257ff397ee918bbdef818a696f71eb76410c2835c677ec5ba891285abe74d40ee3f4e2799c301ac81e823e90b61c0292fc2895f6c30d8e920ca71d6f49dfc88b715138a2fab0a698218ccb4971b6828b0c343064272a1c5c5c75dc36fb4a61ea230ec8c7838ece315146c18aa8c4fc8413bf0ae192fe006de603537179d27ea00c450a040521f42f2233d7c934d1c96d976493ec67214dfaca34ff778b3376fa67f1483640f1d94be7aefee687b47d5a5b4ad1a9b72fc28d52c8e30ab813de8ec5149318299f1be3747fc088eee76414e7bc8add416f037535e9590f24a416e8ad9932adddc32a8670952cf0a1b6b5731df9f65d172f79401f7d29e15b18c79f2623ca76bd2b0dfbd025d15fe25fcd92b7f54b01053b6c8b0dabb7d1cdbdb948fc1bf6d45df187624901c85230dff6716a7595592722e165eb180d20019882548a65b74b6cb9e1f12a4c52fcdc5bbb241b83ff3ed298fbd8f9d606c1f7edf4570b6a552763ae67beec1366fed1ed35bf9fec3baad721e0f35076784828c4bad2bd72f9c25bae95a73afb9cae7781d0eeeadd2bacf208e1b7b39eae8df3d772e7ea78b52f9b61a9b38d068ad731c0f3f7092e26cd15cd85f85b5ee146407fea9c23ef97a40077ae2c832d4cb2ed310d9004272acb7727e7749471cbe066280496d3c217a80da430b98c0f18a78997fc6c61968b55872b0cf1c347c36cdbdd01d73d71293c94977153b8f99971db1a91c7c18023e3c7235d917b7cf69e2e30548ef5117e0cc34d0b056798bf54803b4b8492144034072437c93adc9a67f11917f0962a96c470822bc4e76fa3c62bd0de5e1e04fefaf4da4a8be8e12aaba6f6bd8169523096acae10176f495f8ae4916ad13a66cdc87726d0c9708e1b4389fb6ae3472edce8418d6245885a756e7e59991d8b480fb76214c13f389354e92e540915abbf4b0399fbf13e41cc2327be563997121580ade2b8c2cf1f5818d22557c875bf412fd3a56a27ea384908fe74364aaa55d69517c1678d35c6391eaa9a11a40212508e19469fe2057fd82f0812ac162684c81f4ff6d9f662fd58c93e28479c1bdb6dcf346f3d5e6fa758c43f65e3aacc4a95ecad372ee720add5bb7f221faae8de0b2e18ca76d06bc3ab893952c2cb925ea4756c672d229a476451c4c150db5c04d2e5c634a68df714fbd6c13aea7401996618f825ce2eba3f09574705a6d966800338bbcd2e4ef60e5f3839438fe0d3d24b8a2605a9a132d2a7341a19fdb4f21d34147f7a59b09c320142dec4ead182cae5edde90bcbeb5cfd817f9c88bdc83240bab08ab8a52472d148810c703d771d497439f331f4a3ba4c930df95eafd2ba1c81485936368be55aa9c511d6bda49f01811e7604926c11e71882efa3d67398789b2abb50bd64c83285cd6b01d4f427fe8d6b076652a5c094a444d405a809ebdc8ef007d546b184d134fcb67f7b49b9986555680303c36530b12e4bc7659cebb7fd52825b4a02fd31018ba331dc8fee296ab6f972b57fa47242e7b687c425d0b920f40c087a9d8c30246ed84f84c9f6711920b025c33b26f039df7a3863a508602c6645210f093cb2a4f7d0bcd606362797cc6b72735ff18974e7a45bc4cff6068fa86efafb068f68248027fc684cd1d3683fce03370a2de1884f723dcaf30f9889189639d1c7ffaf6058a15f81c8afdf74f52d147529eaaff55173f352cbe94130c0c4499c6f0f0f45eeca89f7d42c6b6e121c0198bc15aa752ed906073a6fafaab64728a8c4645d8c65f08af3e47f81eb67f97232d83f0999393f272a72dc9faa26e795237d64f7e397a1ee8b83bf7fa7ca292c8a937939ae3144366fbb2c8e16de2f0e2423378fa76ca3b80d6e8eecf46b0a7282399993769aa8dbfda0d2c1cd4574877c573038b402c4baa781fc49f63a037223cf909f90cb3f12ba17a182a3ed29189c914bb73456d3b2ada58a0cba9a011b60dce3a8e57edd61c15550171214e02553101c9e1c54d675e5405dea1e112323fea2bf8c899f69aad2d48053844b4fc5cb6a12357b4d3b31a1dc6bed17775e72384b322b88f17217449405bda69df9608915869ed2545ce53a048a5113ea8672a1a5b2a75174f54b82b8efd3f062b9e2d5d5e10cba9da9cedc70cac3d30f9372a06c10ec725560e75bc4aa351a52aa17ea2acb78192e1f832972714949b7a15ebbc6670ae7db97cd2d8b3f7afbccefce73208a7f8124b8912cbdaa554842ca72c541e96eeebe3f5d5983927dd8c666b992efe52ef75eab8d7d34b545b0c5c872198245470164accc5ff6252f01d653fd61e8247a2d7aac8b66e5ed03a6c2c27288fca1e9d5025507a45e4da98f0cfebe8cd4f2f7e83a6720e767efdd9c53066796b6241b5a4e937801c28fe826edd87bdf193ae622b6ad75492e6fd67db1d602dfcc671e78a398e04415b8d2830570f3cc0c86f73f3d19cebd795468900294420a5d7e772ba01728dccc678f6dc0f7899afeba35eefe4042db336c1d71ca02724893844285ac00b993682c8b492e991865cd7ab9514216ccf61978716300a6722db703d59cac12b574631ffdb1d4ea38744e39d2a2f70db8af1489fd209f2972ba0674e7abfe82913018996f8db9e939f47df1cf8bb7caadecfb5abb2345011651136e59d37019b9dc2a7667a8f96d6e89817ebe835769337179fd1842387d720103fbde560b4373fe2714b1eebbf1eb9b409ae9c67c82d78aa71fe4b42021729ea810f05ccd6e965fade64d1bdfcc029d3bd028cdc107ce9e12c53d9a04d472a0c0613f479f5d2dac9fcd85ab91c70071cbf2257c7bd7c80f89a1216da426078ccb004da182281a631e9848e9a1080b5b1e56a28c58f6402d40c3cb1ec4a00a3849e126396dcd184f97db002f1fd8de2a2a35967e468838a7e55c188e64511d4fdbdcbd633ea8f375b6b5a7c53e1c3e875d8d1dfd17a7659083db03fa248472d08cd704643991e277df82e8d740dfe2bfadbf48e2a50c8c6957e97db90b737295cca683c8e14859277cdc1934908a7138653964e529bc1073a71e9aea70df72365450bfa5b05eedc808e85637705f5c3804d29b5ea12709cdc277e4c45b0a5ed3fe132412206d04cd52274b86863c84ec113ee7bed67f121be56819f6cd2518576109b60c9886dc610f571a3e561835e7659267d712eb87da9ab342a9705b723830fff1b95a7cea237e3fe2e029e1ae84226c14ed91d91b0e276df04675c572badbe4445a2dd8be233fb55533e963e3c5d9eb44fe01aa34f078435b338e5272de819082547aece666dac2ae2df176ef107bb646a7a907668c3a5f45ecd0e172b86ba8f2c4225354fdce1445651787aa058e5b0c8d10e90192f7f3cdd3083117c44e437138fcdc81aa14d4bc9cdb21e25b2b1387e4446a5e3c9e2e57ad48bf0e90b91c1f3360fbe612d315231a698375e4f763a0a03dceb71b42a0a7e41c23728f2495deb9f5edc90842a5b9ac7b5dd07646ed3613783bbffed4bcc079a9da5c9ce3edf0093ca65f536fc3d75112d88e41aadf17d5aa679d2f760f8cc25f017279e886bcce82149a0caaa1283798ba8e4e28c45004d85d5e22e49df9e0a6673c8c6e5b5c513272e7df040369292761161da6c5630858d6e5a924b2c330f7895a5eca249040fa20742c9a28e97a2b99c63c3dec69de685ea779e748e49061e145f4ac8d4e11ede65d3e78f3cab6603203e9fa6ffee30cfc4bacf39b23abb67872edac505e7a625f9b93d58067556d4bec8dbf47ddf2a79de71ec080ecb05524462bd0a51f81d7eb125c1705a85e9061672d04e3bc2b1e7d5dc47e64958e172d724aed5ec32398b8a019f2d0ffa43a953afd04b2197388117b5c94e467d9424b722ad353e3637d5acb8c269a2da01d1d9f4eb1f0674ff9fbf63b5602be47d7754ff94e9034b483442be71ed42d2951c1aa4f7089ba1cee30ddfa346db8e75ff06b27ea0e829d3f6cd6efacfbda9c64e6b23ce2a9493d0e96abb01c358ed25d8c72167dffc3e1fd86446649300c3e3667a1426595122b4ec5e9284997fdee424b72669aebf62cbbb8c356409d2bf7f9258a288d86d34649f0d48f6153a4bc13df0602e0f089c5d3056204ef46e99ad93cb77ef20b5e6ab3c12182668c69386b2553d86af54454bc81a5d7b9643542f9e1176ad0e154eb0eeb9a5ddd6de111b190428903c71a15c14914540c37675bbf1e9d5e856e27e9e8a881028c469ff40d754e63f45c6e9e751787fa1f968f0560f8438ea85b7664ffcfa00e76edeccf70cf3a98de770f8f02e6bac482c924b1edb4e3dba2e51b7d7fed0ba06595eaca1a14108896a6f3a29371d243e412ed1e48c32d1f3ee1be79998c0fe0e8f1a471ea45728521cfbb5cc9efda61836f07825afbdadd490b31d4a390797fb8bb4dbe0cda7274d7166ced3209dd8dccb0a8b5e573f281b8646b6267cc384143d11a2b65b027f52ff1336a7f7f571cc2e047560a90567bdea472f25a4bd3a2148fcc11f96d72c0b1ef2242ca0dd121018114449fd3cb40cb55202855ccc62719fd3e455781729659afd6df05440225bf4252d14fc747b5952da7253f944e797f390e60c3fe7213add12a37baa4e75ad9e1af8743491f163f2a1a6512437e3622c14cd2bc7d72d009126fb76ee9a205af6f8348d6dad1be1c3fc7ab8db7d67dfc850164f31e72e9f9fe490cfd01664417312c2bcabe1a373ba2ea08a5fefa1130cef0a00bb972e062cd065d93c9a5cd45ab904c29dafd733004a422d3f6835c378899d6c06972a88aa1e7214186f29727b6cd1271219eb10620070f000e103651bfc3c7d00e5758caa8b4dc38b779865b8fc5a8851e97bb17f8e338d94ca8fa82f00fbfff7372d78168bfac746049132b1ef049990ad7d2f3fb921819a3bf76d00b1d3a9888725ea0c2fd2fe6cab681e6acda2a490dad78f5604085da26827b9868c6cc838e6472e83bf7050239f4900b5f9177af9f7d052ac91b214f35ffa0bb1c31f3d42a298c52de0e5be71a70828e95811ef92e2ed65b2f072ab2ccd500b620016401e84d3aab860dbd6ab6803d0af7f6ccd874484f633f1dde0e6650e102977f3e3d232edf3d6e17fecd5aba5457aa0ae4e0e221d24c5d34ccd6f099eb674f1b0eadf77242471686501d7dd0a651b4d453dbb9751c336b41d8c11b5bf93b5acb2bd23b72a39b1a1cd19648c7611690b20109e5f3ec5a96149774e47433eced58a77f2e4de9e36efde01588b6de415557ef38919c4ffe2b91ce7a7a63ffe2f6840d1a8d72b17a1c3a90c7c7aa2d2329fb1e9188db6e7f08e12e3ca80ae92ab568738c5772d6e3625369aa9840b606cb39b6ca8ceb95041bcea123aa130e967ae80ae15868709245b49fc7c03c4b2a1cec1e6a689b1ac64416df6755368ba1e4c9beb65672b72d638dbb0234ed9162b8bda7ca9063021b75550eab39f44259b03da4872d720602d717fd89ebffac35ed10e7a97b3c87199ebfd1d8a083bf57a59ba49b8e72ba1a8b85dd12799d9028f743bd45b6dc4f2ab16c97bd5e52bd19ec7862588871301e174ca1d5bdb775088930d108a14367cac99dbe1c2629841b59e4bc3fb521cacee35cf2f1ae906d985db5452e55a3192758a13660256c84e4f35236ea474533cf7dea77fbedaf416257232ac32909eae72713d18175df97553109705d97720b0fccd5edbb2328e16b3f88b36e33bd2971e4abb4850c82d8f901ebe3818c722c2c9121e339d087105f263f9cba2f6bece3845564104839dc727094917cdd72ea71779250801e4a519af5788cec8d71fd8513c049a9220cfdb258349e656772151a574c7a6f144e5e3ba3da62536ec462093dc760518709ce9f15a503ebec721cdfe32295704fdf61a5ab4b6d30fb5f2c162dc5f5dad3ad0bd75ce7ae07dc1435ef109961d7f8121c8723eac90b41c4f69bfe38b21d8302f47f53889f9ae668ead9e3829deada0fdfba0f79c35df7b0d2f9c05e6f988bc30a6d14c97d6ae872bd87b726fdf3028d66c94eea43b7740965b8ba13b91f7015471401ac1b8be241d3999c9410fa708187a221e12f2a44ad6da7eb39e284930c4bc3bfcd17d40a6d61a87d07ec6f6d97032e099a881f3f7074591a1e0ba8260c9179773e65241f7237e655de0621760ddb7a5697014685d7751b944c127c490da67df39c1bf95772c782619975655518a9ca5cd3469c4a8fb47016234e8d9ff91cdf14554fa51972257addf6e4099addbba8da1bdd2b7ff4f65c2441628c9c1f6e168e5e6c9bac67cfd7ace84a7845fb9acf5b2e15160017a68d7423f2bc61c6d2034ed384226320d63434adece8bcee0471a41c6349a9a9d28f0a99bbe675b5ba929722012ab83a2116f5a1e34ae5d8adca30e3013b63ce18f75ca2b37a8cfaab870425eab75f72c996472e916c3e64756111c70b92563fc4e978049878dd6b2ce29d0603a1cd3c1102a5c30561847e73d7d2328d2ee9725af23959a88220ea1feb8c339baa0f6b1b874ae4f7260798222748913d425a02d30d1ece04da826687035674d69d3972478501529b809d7c6f853176559eaf8de3efc7e42df7a4963e91df005855d26ecd23cb7e95f398d18f7cba6b57183e2559a3e81d5a46ee1a4973e54c0ef2f256d061ab9abed6658ecf1f385afc03e27b0cf91266d1c2f185d846346e4160c4159b787af26782db320f5529cbd07f0c8639b6088f624c7ce8ed228bd7ae67bd72646bee065ba2d32ba0e2b311a6b1e138f440e978c3137c401c50117282362e720cffddd0be4b6bca61a16458730b828fd20b7296fb881c12a70f0af76853141238188be57154da3512a2b580484789579b049051b4c5eb80e944b37fb7fc81726be2307ed34dc9f49712205be060e7da56dd26b517db5891a574dce68a47aa72e831570e490fa2bebb8a5263aef13be6aa6900b848490cde8d8c25735b3c0d4990b221c66635d6bf4ed6a23f4551009c00f1487f536650deb92e2a6338bd1b726b244ee382e83153b2d15eda635b784a224abcbc4290b3bee7ad21b56de0bc72695225832daa18000ac7219aa8e5f85ceeee0476405803392cabf1ab62b8cd4184affb72b9155be25ae1a3772689b9e8924033c60dd7cd49def164dc9d26fb0e23eae2eed712bca1c8a72fe7ade266225fbb4e3c3de8eee677bc9f45260e0e72156ee601ca7a85042115bd11f509702e01152dfd0b34e6f9e101820456037972c7e17cbf03425cea31387cbac50487433d941d504f89c8c7dd52adb9e43ba272cbec1379f4730fea653d61bb1caa9a1a3db1d90249c38ee5e8e8dc1596912209cc84809b5989f1dae05c7598ca4f930fa129b3e1f3031d496f1ee0ea8efe4472770943840080c931ef4905b2dd0d4db52848d0669b3f943f5e89fd9817f1690792e8488439b07598857d117df8da81ec6b0931bbaff480d84f1470956e8d7b72991760b0ee2357c9c2624d1f7717e0123946a62f49c008fae9a31505d143bd628d4fab3c98a4da95c8f012d1168cfde187163b708f7a7725e9a55fdc3f139a4b6d6b50cd29eb148f1fb157ace14cd0e7feeec9a8bdb1ba499e101b1540603972da283164c3dbff5741dcddc1262fc104086b3eb880e2a22d300d523255d9e415a2c059ef6902b759d922332ec6e4499cedb5c0a983ae64624d2fb3b6b2dfe10ea0c202f1e99a6f343adaafff387f882d5bcd374e2685dff1291d92b49d05b55d3f21c92510e97798429c530f26b00c9e29dc49004d459e79c6122cff8a36167266e9b46ca94005d98801063c592e0f13c37e254620a9bdd4f6e13cae57ec3472b43fda68fbf29f6c6b99b65ecc52532331bded0e3f70c4de525e9d96fe12b172ef47f3d602e8e9c19e66314d7722905de2458487d976326b08aae425df197972fafafc153d35c32268a017ad22fb9a4b637786d615d6e60264ea37e486fda14eb8dbf89c536679a9156b7c17aeaa4793c3fe8704da922c918e7f1da6cb059511fac7b2e1f75a1b56657f08665caef5404596034b100b0d43e1cb06e5eb3d02728da1a2be11cc13fa79572f63213c323e9ad4785eee31c441bfe57a2a06da24726ed13ae456cdd7e5b0287e8c3fc5ec750e01774521860e72e5eabc3dc82a0d7294010f118f916d569e4df6fb75284ccbae96e1de32a6f2e73f05a3d10afba66551a5142e3769f7fdeab6189cffd7373ac181076043852c9b2350c31746cc0172d17b44846dba033ba7b811824a06ba79e1525d20930481c2371aef8acde2b026bb3ac00ffcfbc6b4e23ac620ca36783df466bd4e3100bdecad50a47951f799122d04a2ee4d3eae4642f868797961e5ac75fde60a736a5eacf73b92bdee4dd34d29783a8bc27bdae40536fbe66fe040a19fcc29e2958f917055f28ee86221fd603826f954d6334a46e0b691734cf810f61f715f4cac4c46b6bb3f482658964c124bbaca81aa67f6a76a6c5aebc492f5ae40fe9ad91ac1782982eab01f3196ca45d281f06f985803d7614507067de1a906cedf7cb055a5e1bc7c3f23e91b6e6972629040e7e0002424e48ae50c58c74637bb7f7e492d2812dca895e6d9516dea727c0d36806311aee5fc0a878fec0098929bfe47e282d0ccb9c4c935715894897217ab3c8604037ac5298636b49ebd1b6449683b86f73ffb5a540dce145869ca72f89f5fa26933e8d42a6e06877ce2e5e80732d9c8b349dd6a138680f601118372edecba07a50368fce6aafebeb25520a40142e7fce3826dec9efa92e9ebc8a94ae9af11b1933530e1a85c42a5bc6652aaa773761a9a6919ebc5c4c05928d24f72d44b4b83d41aa8f8753c613d747653df2b9c898e4be8d67e93c80150a9b6ac72d326f198050f2b2e1d9dc5b64833276d9c21161d454ef25299ab09e9cf12827249d37f0f6c9f077dddd01d2d3370fdf41f2671c5680792ff29d2f9f714b4d172c8466786baa0db3fad586b693ba9b3f9e3709fcf31b7431df5d23fe287ff6738d67acf36fe647ffceb0ddb3fd91b3454273038153014f5ea39bdcf753a313272e40dbfdc5011be319c54f761f29ac24d80379d92a73fc8f0cdf847a0b4c9fc725d4ab56b4211c9dba4d0a6bb758d9889a56b936b384b13a4e01192e8f6ebf4727b2b3eb24778bce5bbbb7518ed898e027accc9e58b12c979a1ea13ca8e8eb621c8f0b5225037ea850a520e8930595172f54f94e9403448e881f837e2b394c7722011852a411b172d4e5a7f67ebc4d37bbc52df1599fcb9fb0a82cb98c3e7c9729846a7e7cdbdd03e0d27ea5593e3f085c8e882db963b24eb806f5777731e95720383a3f11b12c8f45d1929065fb05d3ac39e889098c68896c434277480fdf512bd5f04e137f81ca55c3ac7ad76af2aaf55ca0c31fc467cb27fed5b912ff46e720df4aaf01475135c97fc79710c8182bc1973d4b884a024a3a9b7af64f2acb319f632b226cdc7a25980980b1dbd7b8d90c270d4a4bda9d8316aaa75980066ce7296b948cf2fe2108f05bcba1979153048ec23c9b98b7818dc70bccdfd751ee441f3d1fcf7388ab2556b487dafaa3ecd2630c9b097fad1d863261d9f6337c02861f194ee428bff4dbc9cceaedc7efe880ba4f5bdeaf064482889b3b3031a11877260dcd4c9aa418abf94bb15e7a731108c2564cb04dbbd6ae4c2bda5591b7856119078800cbad941f857a20de7255442349b0c08b0ac2f2d51ea74393c8aa4a925a539c10e88fe43896573252e02f40c62383e50a3cc4c7be27eee97bc151b0153bb89ebbab28de8be9fd1912f12e8e090336721edc315e039aa6e2aa939316f72475893896675eae15710307e5e55352fca0b30870d2abcb8add9cd74c06fbf48f9b58feae24fc0f592c3c5bb930edeb28302a10dbe2cb779d6faf60c1fa497729bf56dd399f1e622b363feca161b1dd81f6bd62e72aa6a6e156a54a2f95f0f72df8b69ac231f232b5325e8c8baf27fa566a7263481b8b62fdb9e20eb0fdfe272a61d7eb1a889a6ac8c3b7b5245460483cb6e218d51cc2a795325ba47c624416621d37d8e82ede2cee3ce3915f4fcc7722cb9fb975fd808b58c5bea7edb78666ec63d84719f5f6455e04a130b0b772a7ebaca1a81a8b4e554df142d1c1511140fee278e046fe68870a518d380ce98c608492c083976a98e7f1987bd6be4af8772450fedeed2d1076867bce2b68ebbf5ecc5617ef00c23a6fae1fce5e685b752262e19dea7d4c515d874dd4ef8aebba9d6bbab17753d417bec5a6c6c7dacbb9a0e17d3eb0bac45115b0a1076ff23d931e3d6d771985e97a382b9f11501c6a63614809c59c42bb008fc433eca7a416c8233f44b52df729a30e7bb661553971ccb720503d50c72631fdcb18d4d68f1e6b94fcd54c2fc97ddd80c0b52a37acdcc9b72f2db18c21588e27beaae6aa14a11d9dee30939d1a3b1fea73539705cfc282972bbf222f181c274281aa521f73b0ea50a0329f7f3c00ee01389cb10a7682d75728a1403c8530dade4d6e04ad20a46efc50760a95c8200b9f94efce0d17a42ce72c160225f9d040b2cd582534e5d121097401751047889d69fe4185f2a6d742e72a88f47978c80d9d5b1491f7ed709dc416cfb2428bbc031e5ed23398b4a21b872ea4ff110cc078b6c9b869880ea955cd3111c5a3901f66c939738f154acfa011b250804451fe728972228579790cc27dbfae1f72809ee3b71eb88a48735ea7a728c6fe25c2c1b3969a5a54679f0c3d217e590a917b16a9071a5ceea950a45a67264aabfa2ec16decde86ccb6665cb22714a94a2a55dc775f2c46ad7a11eae157261776f266fca3cd866ffc36cd29c2a5335c3911f949aba8d37e5afdb93a20a65e09e9a7de999efc8991ec5f8a4b5bfabd8b50963f7e23a3c59a131b8f52bec726930170d7343ce273779ea3516b241ac4421d86a06eb07ec8f21e7e976eaf972b9ef370a94b880e3925456ffcada8c2808a2773e1e3da5c89e714c6536bbd555b14fcb83ca888c4b699f9fc812db64561afc87009cbc5589b56ddd16259703268addf04df928e8d5050e0f6c674169817018ae18ba5e0396221a269be337b772d66d76addde25a1ec3be15822197b6d02ca5904164a78de5780175f7c66954727de36065cce8a64e5f16ba112448d16450964b001d8b3c16f80fc9482818520da2625df419b35a0bea33fb20b7e0b03335816d88fb462394bb053d526a2578725953f0ffd852a2f1346d6466d244e51948ad3519c6935d51232e6061acbe4b0866347d3755ecbdcead352f8cb44ba4252772b6e4655ea30997e52c473f8b1e003494c481399e113cbc69833e67bd6f6a90820312695d9599c0ca465a0da7b77277ead7b36b9d85c5b3134101af274466ab11d4316e321ea5810901cbbb54e6258776edf984448062b1478a34cd5c382751d1e071c2ea4b4c19d3ab4b5145737235406a3d679fbab9ac8f899aa7e5e84af7dbc67988e99963b491bfc295ec1633f1ee839766aabe4be233c082767bd792436f106abf87913252aaba662e4888723d12cceb423b56a21d252299667bd30bd16f349a8a31d282a632b7ba680b5e4179586b8a6d35a23dcbbe1b47869f70e0a0c4226031d8d8c9731dd3dbbe5f46729f5e5318fd8de5a04882ef7a3a39dd050853a1f3e18489440960fb50693230598301efbcad80e2f9870ac519915e6cb54a4d4ce36822bcd8065d5c0c8c913972b1a557875be86625a645c46fa2eea503ffbd3802212ec56a4c5aa2145363712e1e367d640889c1748d5062b24d38526ceedfdb9285f830a621cd344da1e2fd4255533831099ed62d70e4758d8671950c913c54df993dcfed7f7858bb8bbdac0a1ff6df76db18e209bdf75d01638ad295fe1c7fcaffde87344b59e033d7768d60ad86bd823a8c734208ded16c6bef2a058c584a36bfdb04663734b89f930d1572c60bd7882bd90f8f4547c20b079e4af186964e09842dcd9caa5594a92f7905726d82dacabb168cbe69a72c4eb7fc384b0068e23d77ccad3590c0c8df82950d72609d9bcd1b32c88d97ea0c72ec149ec03bbb014ba879f61482162ca3f7544c7228537b756f7cdb2b9bb683da92a2a5df74ec25ce052017b20d96a10581ffd3722d4f8783803898de5f7fa87e62e1595333273509f23051d9657093282c15d6121176ed19afd9f10cac88cc0872b605b9a834432b3de998af0b5351943db2db038dc12b71b0a827a77b67699a3a0142585c63f1a970d49eb6e5455bb37a53a826796505f027ce24246d688d1069025ee03fd0681b52d053bc4f99c3989beba30ea1f6c7633e211cfbfe0130002e7d20b928813b51b248f8a40cce7b9261e663722c06981c73180f777a98d40a8ce731a0d11574cd0ec38668be66866c2c68714d38076979af76eafe944b909b83c47926b70a21e1592370f7e121e23f04fe3b7201c1bdaf1b99d320ae98c87a60a3c9876cdc6c83db7d91bc78699229ab8ee02bf7c599ad758d81d1822adbd903e2d842630da5c1cf9a0139d19f61c2c91d6772df4c3ed888970d5cff66372e63e611840286f7a14fb153e37093b9b02d92fe6f0059b10a9fa8505f3a1e9f8d5efb9fca6bce33137580215f816a4d3d2b2079550538dcf4733f5b6f3fea0a59700890c9c0b54937eb80576e5536c36e569b24721785bde57d291e3def558aa7e9ef0aac40ffcc34b45e5bd3c77c8b7d4f79d12d43a9f694119fb662231c93627d23f1d24340e72348ead2a6f6b60a4f2a5a8d6315fd199d08e0af22ddeeeaa436837fcbc7618606278f5d29c4477a4af882267243f9cd6a413fb19d515fa6a3a375227fa78a5d19e47573b94deeddad89da0f72c1bb3f0157c956f78d5cb0ed0fb7ea0aa3ee1915345ca28976baa85fcc41e572f284dfb4e8ad1c7bf1d685055c359cce8f4884dbf0b941a397268ce01b4c7412026d6a5510ac7949cb5c862361694f06bba7afaaf2889deeda454fdcf4976c0be1a086154273c7b9afd227e83d1fa97c6dee585108bbfd3414207f6376b1ef22709ffc9614679f323d25f5df7eeb9a81eed30014de3bd28cba88b9a45818e1298124c546570f946470ed372cace2e30a32adae451c428dd01588dd62abd44f72fd4e112a72be7f7abf4bb052da20a73f50531f59aa7d4f5dec234c4e3f3cac724885323d6cf719099cffe9d475f9d4973bbf1411b96a8d8d9ddea6fb62d6db26c31e1c0d22c536c746a6e8c1f84d6f36d4d096eeedce6f433b3473cbe63d62728c4861404a71d00c3ef130955e6b76bf87a74b25758df745b7b90a08be5740723f0cb3e2948f4b26e818b7d428fc10f595b1ae9d9f4178680f0d43959494367210856553c124fe2c517ebe913ea2901ba847f5fb31517905eaec39ea627ac372b384dffc7618ab23bf47bfa06d8a885aa82c5b4d3c5a774f5024fb91e6b49a72a41787609cbae89b344eaaa64c5bc7ea53f6c001d52a4f0c8b42cf9d358a0a7232c03ba3662cde420ff53e78beddd79894d48e991870b64f504c8a6d9de10943137b24ac5a063fba9d7fd7cbbfd0ddf456522e23bda5b702cabaacf8c4fea3246505c23440240ce92e0024e76ab11bf53fe18f6b94eff85687b9269a8907e36d63917975f4ffa65ecf3f494b84bb36ae7365d7864167b2ab8ddf03e47134295dc187050a29136b2847baae883ceebc948f1e102daedd69b7a1255146887d8002018980bb8b4bc0969fe77bb8dfad11ac3b920340d9a87f0e725cda760a5b9872346340cfa8f12a849215da1c01a8bfe89decea4b6b8cdb0c0ce0ffb621086331eaaf156ce4375005cbe45dc364869a3b8e88c280a2ea9bff1e4262c849da3b243571dbea5d11283847e61d1106f508a90d7f3672017ee0fd96e0f47d8078b533901bb3c05bb5d95b643b33fde1d896cc44378044a714dd4250000bafdcca0d644976bec547a67190589a00693f6e7c2fb55e0bc5272322688311b310ba84e53b0ae1cdde895a850152be2b43b1c4340ac4146694f5e7c350b2880054e24ee91ac3240856cd235b7f84b4b305863e2e966165ee4c6b3c30163686da5f96dda1721dbf4cb374efb5276f26285e4bf90a629f4db25a853e53e1d68b4608818e5060750042457c8ea117dc11400fa9c334491bbb7217c8c4bba1a98fe5433c6c3c2507488f9a7ea614f62cb32d4afe89b951be80eb1b5fd3fa5fccdbc89aa6b70a72709dc28b157305b64352d3d8324fe0a6b48fe2c81ecb50ac744f786f1e2f0d1bf767d1b4f98b50b33129584614eb26bfc468aebd1bca13576f2ff8c8c4d0bc70b1ae4b5ead711d573bfbfad74866c30932599b9d0aad211d8c812d529b611b540d3f8a51b563886b7acf2754a14f7b70f1063b548cabebbe28de68c4d7191d725fa9c05aa6651ac576c929faac1ffe3e49d9665a7471f2ce55cc87f463367545821208f236bdf6819c031e3ba8273483c857ba56864c1f39fcf398901e27787233ea57930334465dd0ffdd7884821ee041e41b5eb70a56097ce04f35dd0e6272aca2e5573b493733bc0b6fababd3e45d9d5ee96ece7ecc91b435eedc89efef72465196948e364af3151456f21f3fbca62d9e6a1fdb260fb0c45868a51014ef088fe241c9ae6b3cb0517268f8bc084ab2164087bc57e1883aa38de368aa018d72c7a7c0bd230c30026beb7ffcdbee6c8766704692cee7f61014cfc8dfca73b03ab27a3f204ea78f0d78903a57fe05a0370fd9138a93dca8e5c67457209bf9e669d9fda77e159d6140c55c3ebf6b87d3d43b58e5f25601d5e4b5b79030e5c1fe63aec6f8dbe447c4df678ccce5b26e43d408e9463d2d8d92ec05441e5870ff142f0a4039d7e72c83767e9b8fbfd623fde0d3efb27d72d915990877716070bea57211b074780446f28c88ee1e994303d5cb1e79ece3366280a0b7f1d542553db372f1e2f352dda304d4538381b4be97af00def43296c18e2ecb11f3556f4b54d26f30badb85fe1831814f5190346298b8e92a9940c1530882c4c297f8a76a0e327242cc85fc6fdc8b0fae39e13e48181624ba9e360cd14d7a18b6605d45338d7772b1bceabe56ba135b8b00eb92884030b2ba0e616432aa1e8a577b8df3d8121b721123b0786ee66eef9c498f891fb06b80d1e3efaccac348d25e6ccf117fe3c94e583533eafdc9e3676744e265736abf29eba9d1354b2e0914aec97a15c9385d728c0c9a01c9426330663bc6dda8b1851f71a3195c82605268e724c2a6fd8a6a65bbf6cfffdcee2a9a7e5ce8685ceba9b0216e550098c1f8f8e199fb5c9a42fc727131695f9e69608751a53518a5bb3c6f4d3e5d63508c5e6282ec8229879ee87279d36d006f6553b6c4542abe924d541f6a343c116298b1871a0e2236aa15c372423778f8c7412a093d3a13d1e1d1b6dd068cee3b4398c3cf07d7c4858f4d9f72dab5a53fb89217671285c35c96540a8b6862838a5e4251003e994c16d3697272bbd53b4928ff5cdb92f7a7f07b1679dff687f575821a444f471220a627b57b2a5add14947796e993e13511e526a442d1aaaad24759a4cbc8268fc1c12f096272da6c3da2e60926f7468039f20b83e4a313558536011073e68fede878bc813f6a85692e909831204b3c8b97c924ab9d7f35e83ee4f29ed465564d2ecffaee9a727abd9aaed807f181f56e44eaf95823713ebbfe18fd55f811b6c2c292c9001072b4cb083c546b60b8226b1f4693e2f4ded434f7636a864e71ef80ed231891cb22c8a4a42b255dbfa5c62514c22a97e3b6ff1f9d459136bc77c345124c2ae49001eb31c14b048c8d26d79dbd504378362ad7a79db09963922b36d43221940020004072902588f1bbcb65dfc982e0654c2d2fe5d79b7a8f9730039d74081e59db112516b8e5a94825caeb1e95ad01c5a377c7131bfed8dd0176e01736cf7e9a4b49633dc917b7309b2e739d131f41f7471e6ed11900fc520d87f070f1dc2ae43e48e08dd060401f967ea7fb11cc12bb28498087ddfaf403b576e232d29503511b0642f74bccd4ee17e641a9643cab5bb49b67609f696d19627484e0be192a9cc7028d37a7724727439912295851046dbe18c03ef1cbf2565fa0bfd02501ad23e9257d475cdffe81d381d934ff9819f2a9b75dee4bccbcb07c0f7f7605e31837987283b7da23a791af202a81eb879ce31b63a5aae76a3facbc41bc88d12ef61e7472fd22ebb7cdb992317964447743a41376ddc916bb183f3457b947bc2749f93672b460f6e94d0868b729c1fbbae118f8db3d073b7c7f2e6b7655f515667483b9721ba97c55cf419f44209f1384fae0bfabee160defa304de82665be8d45a484e72dbb036aaa908135de64a1460aafc09a3db7d614e93b17811ca6bc845a9b4b472f6c79b42d7c21f77bb3dce73973e520b4c3ad6152fdbadc7926dd863167a9907b54564b37271ad7e38223d5e0ab2de01c2f0bf94c1cfcdfde77691d614981f72187d87dfda5820b862ab3c6f70d8cfedb8a0b7c7008f96ac552b3e428c745b72dfccc53627dec70339c6ba8536d99644972b35bc3f7b27dc91d563dc39204e727ba922e8ce3e2865b277d7a4ea5d57228e1192ea2be1e80dbaf7b903bb8acc7279daef0e87edd0584ab8012e2bba9a69fa61bb77cb3ddeebb1638287c4534505c01e35c996c2a72322c4eb079419e1a942c72a2ae93c89b0990bf73554c6d472e73fdedaa59cf9f65b3bc2eab5cca9d8e34b26df59425c367624c8a94ebaf272bd25ca4342be9ebf2fe5276ed9dea53f978039735a11c814d2fe541758f3a17167a0dfb82b91603a601ac9a28f24f2606cdbbfc462eb1878b945aae4b10e55206722fbac7a4567439294642b837cb536ba5b43dc0b0f422f8d7f045b82571c6bb1b97ead8df2d67a7208f43e5f46316b81bd37f0380961bc0be4a260cfd40d6bb18fba81b1fc8d07f7ab65982278430225101758ac74a2f99ec902df72f7c6042c48bf198ab4f476489d2f843681a28e06d1d19e03cdd609edc7e8b61bae4024122e5468c3db54dc98168bf11eb5c35788335640d266377b752bb5ea5a1e5872fdb72cd0649427fdc7e5f3aee4d0ebd3aaba42a6231565573d44d485d5ac6567abbba09a026d1597fb0f037a4650dfba344cdb1ed3f3e0f4c28c749d7b14a84e2ef297dac3f456a142c9bc4477106be1331430b588548d728121cfb8889a7d6fe6aa6a72dbba676722cb5a7d62954dec3e8be7bb7855efb0292954efda192f18d88b75d42872c3152df5fa5906437b02ef857d6f3be0725fbac0b3a3b275f510064e41d1032a45e793aa4633f1e47d4737995763ecc67d8bf5d700ea8e4f9b725ac48d33b5d7d25b3233d0a83b7d3dcafeeb0769c98f05b0e8f1cebff4bc9972466d1784a4e234179ebb15fe2b3cadabb7bcdfe36635e13d828ebe9fb050ad7229100a167fba2466e7b513772f93921c0730f1386557cd2a16871ca14964057217da1eab7ffeb23f92a93df2fef50823341b0c67213b5be43cd7e84b035d4372526a6c3e21adf67b0d159fd5b6b1f1900533b6012b0b976347d4787474ff2f24ed11257fbe73ccc9ceb725498c84db8e90ac6f5eb258be0cef6dcd7bb901d92ad6691534051862835006749c923653cdf98dc1087c13be736300414745bb3f45af1d6c76a54f63fd5de5eec0b561fdc112013490b22532ee94db2d5cb3f0cc370b4e15d0d2e44ac55178467b2847b9dc06198013abbcfe8374316816715f0c7254e8dbf1eb79501e4d3594aab4895b3502f1984ee99eceb971e3d2cf22401e72c00609a837ec4c78409c2fda893fa6cd21eca50db3f409ae493f182c21f87872e07a994c4305bb8c650b7d9e5c02786cfbc1eead40947707e26d18563468923277cb172db1c7a8d25faf9389705aa60544d881883c2d2eb01db1e2dc4a1ec672d54a30fb1c0c8008daae55866d6ed0842e3d1e06b40f2469e0340c832badee22255c097aacd9ebf3c129c645c16b755286828476e9e0fc23363b58ff2b26187201c12d8b4febd6689092d4ce93079d7c4706aa1401e5bb8fb4b33c5c31030c72c2ee9e7eab0756b61ccd1027acaf83849ba21f0083d677d58c93bcbf254c6c72d730aa82e2a6e71cb07af7d0e85f3915d7563e48350a8faa44f7e4167e3e93203b0bda82148fb9089b0e36ab43a8e7efe5a4da250facfa2f946c5b21f01d4b72db5884c3f93ab286078df72da80c3c2ff1f702287d74131f93e88b13cfb95207ab85a922d49d88a332403ed16a90de1704b9d4e331b40dcfa343c1d23c721272f48e4bea0bfbad2171ccb19247ebc420639d7affe07e7564eebf26057cb7ac72b1b73aa4f7b3e931002c9cd918dbc92395f9abee854ba4dece10e71bcb894d724406e8c471f858ac62fdf0c38cd2e76f2c24bd3ff52e57d0d987f01da558930609602c1b6c803ad8eac2c2daff3ca403ebdeebef3a2860aac8a01314aad9fb6bcd431cbcd81c3a3accf10a70e0dd924d679a1387d2a3134fe0a7e0730f6a4d7248f67d0a8ac6ee4e376797ffe9935a1d04f8f6924e951a7df62ae4fbd10b1472a589a8687718712e933ba8d11409526e2ee66a60dbd12686bd8455e35bf35b19d08b088b8be12d23a9ff4e8ae1469d0c10b876dea5a4a23633a54c1eb1ad8672083ceb6d2e318aab9365195c9c9ebf41c7ea5f62f5a2b421e146a34edfa01f334a8fcb3772af597c47efbfa7dc5df9b76da4d79ae43f53046e322a7c0d51b37238e874003171d30fd43b4c8db2b35bb38f02f7e165822fa2349078de5809b92383df3c28b6e28f18a97fce45093862b31e020fd20b8072c3a60c8a5931f2032c4de47859819fd29540df73dd810dba6086d5877e96e02410f022a7ea77765672078ae0dbf85013302c0af3afcb5e45776c48919377bdf3dca391d1447f0f9c725ad5d09b74ba90bb642b94cbf04eb3aa25767485ae6f703441b3a8accaaf7b72e07bc483b348bf26e190ff03f2951190b35649b8a4ab21d4bf2e6bb0681c1e723daf4c262415b92fe93b34bae2659e29ed8e887af07a43ad8c5f6e463232ad726810c083b494f4bb5d4241961f031f4ca4f8a8ad2e4f0d2d02c08b9dfb7c8872ea44715660fedf46942ec0f564b8b50c3bb792e12c777d2736f4ec7bf6240267c70a3e1967d565f37930c42f271ca4ed51f9f20c4ef36f4be6c38902be92da72488d63f783719ebebe5b2f329fecffec746d3b210d096811f545b1027cb68172cc016a9a8538b403d4a4000cf4774035ff526af30d39875d182f5b8edf5746303d3110c6a14009344fd1f0e86e798a4d2af9ff9c5e9aed77d1da27f9ddea6b721872329466f04b6914e025024fb907e1d2f025e60861a77b45fa4f765d4d67720159a115f07683762aed70447de09b53345553c33cd3defd4e39d4ff4710fc2a0143b1728768ed54025fa7a694965fbabcc4da3dd063060cbcb2063c6570a07239fbf114a3a5bdafe8b4b0a62fb2bfd7e6ec19445a59710f73edbc55c21b1b72fbd87f29c806f8e479b3b10204f7b58c347af5231e6b5913015de86e0c09a77212ab5f6c14ca4a598a6e8c5e58653a4f08f935f250c211949bcaa2f0c565af3c759d21ff2ccc4746468836869a6e471f22f724125c1428b051e1169b71b8927219d884ae6dd8671e8474f9f427bafb1cd3f5f210cd1c20b7866e5e31ceb2b372fb3292dbce922bfc1b49f962747966e7231c8f2e08b15abf1af462edc9c9037223a2239187f78021be5ab65e453fc4b117f46a1142a5ff65263b088a8ade8d4de3a8c74542cf2ca02f02e5c5cac2860e5f554e55a6c7e87ce6e247d8d7eab4724ee69e00a10e286a319ac6b6b9816ff4c448f06157e0f9adb6db7b3930fe95122eb83ead34b771646689e338a3be5efb76313cf746b98b5dd5cc641b04ebbf72679287cb78ed4a80383714908cb2720d4a87c23f418b2052018b0228f750a458e8c0a2a0603a55927563fc791d7040ec80ff421fc32fded16a0729e3f2d8957201ef9ca86609e662dcd598100c18cb7286c74ebae5057e741d01439e5e11820bd5eacf58a1515b959c2e5d4cd42d2bc547d007847956a65ce1135356bb0e24593c35f3b23a2a227a05fff24e21c83165e3af8c905fd720ca0f05e4de611e37155ddde338ce75ce0e83316cc7af09950561f79758a971afece537882814f0dc726c55e3c9884c3c6d884ce5649b15700b5e95f3f7c67b0da6d3a8fa1cf99fb823cba1f9c4699bf09e83cfde202715be42dd4cba3788fe69acdb99ee0adcd6af48c6246db053e3794081631c3aafa9f6f0ff995f436a9c8a6dd73720cc55c13e725ca280a3b9c293675b613fe5750abf8a3bfe6767a69ebdbc21a17b9f2817fa353e168ce3fdb543e1ab97653ea570452e5125065e38abbbe96c91165993baf472157a2625adc4dbe2c9a67fd8e2a8b4cd6fa1ec2b2dd00f36dbc02ed642246f720c3808fb7cef8558daa2041cefaa55710c957ad496f7deebad3ce47b6e161803517222c8756cb942529913618c42d310506c0e969c8e76c810fc3b6ad8c00f720fe172f294497cab632862b9b543ff3908f6627b36fed1d6d9ca638a8956c2723795f42a81b27c4c1c7fac2c7c181299cba89c3378419f26d9542a94578c414529fe2e79b0c2d45099edaba7127563ebbe74f96cf18f6f96cb087c6226fbf8728d7969188e326b2cc9921f6774ab698ea4539b5b762e7b1cf52db0dcf62ec17237af0525168a21e3716abf20acfb459581ed33e0ed471b20a73a4f638f5dff2adfcbc0ddb2362b4d086872c5d8395641b02b62487abfefbcb491b979eceb8a72bdac29d156ec2bb66fc40351faea07a08c3785fe64ef7dfdd0b630b73a3439354ecc6f91084bcc18010731e30214151361ffa7f522a862af2c8efa2e75453b72662f1cce0351623edba2f0685a5a37717d1f7aeccc872f87207d210c9b40e07279912233bfe2fefd4a3e4bbb926d82f9c68b311ec8180f7c6629e58b1779495b4771ec66146cacced985189e4df7150512760bb3af5cc4c8b2d506f56825fd45ff556e2663dd9e479b3c3528988f5d0654196936a05d7d4bc2d54b9b9eb1192bc441f8d086a3b25c2c77483b31b71f5686a3a83d18a1c13948775ab0b24ff27287eda05d0a3e637a12ba3e94833ecabd1d5966c272aaca992668207d9f59a346f9d8aad5aaa4a701b5307f10c2774eab0dfafab37cc6b997efbc9110605c5b38c0660655ca656545134df13c7fab13419cc939cfcb5228c22462eda9fd9019725152aaef1715156c6085fbe2be705cf7f1d8a476d885353cfa82d32d5187456edac971a95b2ee11594a2b404d609f3ee8d2299c06468b8575a5f143dfa8c8572a0b2d5651a3905538e85bdb28bb0978b589e4c8b33da44e3ddd426de2d506c698629f8ed7aaee5183b18e4ac2e88aeccba110387bc5f6849a63fd913b999c866eeea16d037094d63f3c711a4ecd6783d0bf4b166b878d91425c4271649f8ac72c539a74594f7ad6e0a48e948928dee42add93b282093a77edbae5ec322d77172791fb75d2e92985a3f6700434f79cc2f2018890fa4adeebf5ee964e280b96072c6da2c2c07da52e802fb679a18b9a934c11b3c9fadad2a63d191cb79189f46118083918d13b65d7578bcd0036216ee352009e91d19b48125e8a0dddeb826e8723a071725d828a488837967312d50534645831b0fc3b6ed459c3c62b5f505dc29bfdc8bdcbd58098c9ab464b8f54ea3bc4a9b303235a62b521d5438b4827c2d67e3d4197484ba67bc0da1e98e139eb01fd1bb9a56652e11a95c1540184e92f972fac0e56a3f1cb2b6b7159b3f1dfb77eea8bd33af74fec32bb2a99dcefdeea172fcd3cf7f7579f6c9f25a200105054afc166f2f3a24d3ffa040b2165bc2727f1e938b64b80140a12850d9bcc55e5d442710ed925e8ea3f7076eb1e3f4fbd8a572dfef0f5e242057399e25dd8e4110a37d8b2ac1633eb0e4783d3a00594ab63672dad476a360b17c703161dc4eb4a5f9553d0785e0a37f9d683ed497e2f2390a72927d27c5946ae871754c44b910694a39975f4056eb1197c0b08ff177604f6e38428222923284daad4cef54bfaff9def2828f62bd5dbc722efb9176b357671d7147ee15204a5081298f8f25cc6c8aada60919f8608994855854fa534d67db9d0990cc73cb6aa42118b6462840e003e28ca6cac5d8cdd52df06c6366e1f699c66c819ff056ff42c269406bbb4e122ac00b95d1b4f3ba7466c9efdcb0728874cb722adb8963ee4801802a2f0c24cfff363f47c8992fc214f87e304d33614b655d637e604e683dfef7049699569d31ec03058c4e379619c6d3bffc300b067be6f84845c401eaffe648ef5b3366fbbaf795b2cedc79ed5e25590be9b52fb9b7513572056e2e4e300bbb08aba3c6da8b059691523346d53d997cfbc7e653a55de4f16049408b1f03dde29ded138d0bac572cc975d458ac8ac73b7f6cadd3132a992c7208371bbf9520e5b7200bbecc2944cf0781f27605316fdfb999253608fbaa3172e6d9ec3117f03bbf0fd20e7302ac985149266de12af15c1c89cd0aa7445ca472dd0dec4155d9386183fc08e27c73adfc864eab0f543e7f99f69690edf1ca0f46821d6ff6d87d38ae495f25f07bb789c53c6e4da8293f42d5ba2897df55e73972ec9908468d939077bfc077676f50c1398f12c5ab5f6bcd35752c4178f96a5c723d3d58c7b20cde9be68ce033480e899ff8ce0a79cc4c4cde2cb3242abf2e9952f795cb088c9e1bfd86b713fd22cfc20803d64ee1dacbfd3cc2b8f1f617e658685b1a50a5548f3c7c7ed95dbd6b4bea32bdf91c80ff375c0202008bd537ca23720a75ed9f7d6214aca88ac017389f4b1326d4e03c7e83c914fb82bc2bec21255435e1ae87ede759c61ae76a22c2876577ef11573b4f5b7888c91f443661bea9721197077884ef4a49d969d20f525d784fb91fba7206bd74d7b066d040ab04e57210daf06e3e9bd93b105154b7e125cf02abd43d60cbe2efe947466a9d30793b7282f554817bc07849219289151696c0b461eb35603a465a0c7079e5d9be8cff7220c799df406281905af9775e5a3f79dea603ad437e99f81f3e080a7e22e952724d055df7b2e46eb7781d7e0fb3bc8356855217ff9f6bef51c03edebf9926c2545b296c8920f518a38d7427437924fc464cb854d6fb682187405292163f730172048696c7dcf98b3464146bf56b1d0815320475291325580a20729874e2d83118982b34a3277741498566b86ce48ca662c9fb3561ae0d83ed32be20f3096ccf72331904213978740ac04d1ed5944e836dfbff091c653a34de22ee8863b021f840760e7760f0bb3c94be3d83f8d33fed40185f6559b98db587e271cd3e539ede1c24c9812052bf7520ceec60ffafee3f846ac0bc608892f1d66392b5d7203d252f636bdd7ff98ff402d2df75bb00b0725d6f5d15a3c85115859373cec39bbf400307a8b2d3dc6e853a23ffabfe200ae1f6f075f94140731d812d74e9976c5f903ee7a920d1611b07afb40c54cc45b334078cd36c1818de9b2fc7b29b3840b3d45809f362b2f03c41bb8395832fd14f8caaae58814bda34b86397ee258a3422537270655deb05e53a9915cc052b40d036c2f2537c11e4eb4b2da417235aedc0372597b33214c42f541bf62a5db0feb445717053a7c13f43930e170a61d655d6857213e385e85cb782638115beed23365a007437b89bcc7cd3d3496b6d649a9dcf168a59877a2aac9e7de8ca1a236b3a4755af82f5775b62089d19d3b3460525a42127e86d6e7104106daa7f809842e84e3a58e2ebb61cd58d876d4cf62bd893ba7245286cee822ccdf98b77c8b95b8a7e4140c91936e1f4169fe15bd5678bf9ad72bc2f3fbe92045b5315829f269859bf2835bc2db030c7ae9d3f9a4f3d3d9a39486e96f71b372d749254f6a5380cc2a42eac87dd0541baad99b9172360ce36e86ee94ac55ae0c2971ce7016d863fc1a26dede3273f70e5bff2edbeb593d9f8cc080014433ca22ee373bcb794306d4ff8cd70f96a8bf227e78ee71a832db4a49254f27c70c8a653de0cfa0d1f4b088c055ad01fe8755f7c174564932dcec3c4fb72d88c5295074426be392c2f36352c9aaa6888bb3f008ac9d2ff30e5224eb29c22b99d5118dacb6ae387765786a782d2b86ec84a8464b925d7a8df1577369115724a903ee8d3cdf35ee51ef378c8078918f5c79410643af7effa9175269cfbfb6f273a2a382c10e53938a6a1dafc8c23f91635e18c5f76fed2668a308d80f61d7201910db9a6f5056376bab11b1baeff76263ae332ab7697470e9c8dfc1a15e472ff92f97d5be99541b7fd7de037974577d344d6a8a6c482fd9bbd9745acc68b4f04bbce956bb475b2db4452a672ab406e1dc031f35c21fa7994d849c1f4e7c16e3176642495fdaec42c2f0293fe08181e0d391e2fa1036f7609d86058f45421710feb453341dc0b5cecb0fc5977232a62651d5b2ee806b88d3b30aad7a08ddf72cb008b200d212b94646f8f566dab83c8924b7055a8665545a6da0ef3419dc6720a566da42772baebc7d562b0618071ba84e87c211a69a0423848467aace0af72c001d783fe4099fe035315eb00b0a60ca86d5052817e3de4a417b7bc1c1c8b72c5cc8c1c222a6b0bb9c3c24d523a85d3f7f35db6b9c67a5149535d563194c120e12dcdab000ed75d5d1d014bfe6bf4743ff71d1e7190e4773a94055aca895248e146e9f3d3970ed401648e7e8cb676e61f08bade590cd6b8b707a6299c2d1701d3b9b62b4dd129d16f7fb025b80121c7d1480ac8046af9a9c76ea84083bfad72e86793ce99f11c66078341b5ecca02b5eb765850a28617b67b75c8f25283d672c5d59d4c26e0a105f471682c9f2b3a8286413309e4d85a2d7dabe81bf715c97289fc8f16c26993cb44b4741cb05454458419ab0bb62f8944ccfaca2e572819727e5d33620aad83f760b8a6f664c38e3f8863bac057b0843d4ecf16158f4e7e254b0c24e2abfd18a65df2979f02877be122e9a24247eb1bd54b938544d893187272b3801db30e05341463d2791fea1fdc6a002bba991144411559a60411c91444fc350b62aff04f1540bea0f09297e9c4eb90bfaea53c469c48905bd98c0575727b21b5ddbaa65682ab4a514e8faa3dcc26cb146f13931b8f0d2562db3ab21071903ac71126d49c14200b95f997caa461a375d83df0f932188f07f79e1de60e729288f9dc682a3c8a1ea0b8984ccce631d39d1fb6916012a070c96357b32035728814fcee003620f24a3e75cb88a2feb0fb1989690855c5ecdfb105f70ecab572e72e95626816bbd710ea2f1dc8eb3db7c07e8ef7902ab7ad07c74d90cd819b723d79cf4e386f56de66248ef31e85d97a00b39dc34d3810c87135e51234af351765cc19551c1d9433b24823f966583f2b685e65d07f2ec58d2932b2b66b360e72d4abc8c50d6ea5f76a3c4b28a66023d306b493614706f0dfa3d0eee694d9640ec672df59ae653ffe6d27399b12004b559d9a8e88cfc311659c20c59070f576720ad67a19eb81a1da6264b4c2ef8ecb44aa5624a2ec1cb420890108a68eba4f7244c0495513b8bae90e8ab2556454c47ebdf15d4b24d809262e343c96fdbf12724b36962727ffacc0ac9664b95efd36edc7cc28a91e585db3fab5a49fabb5d0728d2c6ac11464e094256e081644f9e97a3178946cb84423ffea584724e82ff6257e1776e4f6269875d00d938334d0a5f8f98c09316e388a3b5cdb25ec0f9f567251fd89967bf7d408a587c966f0f627c7a1d47617f06444770e780a646dffd572b6208aa5471617c420761fe3f000eaa0671239e48e2bf325f2f6f0b4db7b6a547d8e01fa87b8f94ef8f948b25e2ce860768a2b87f2b683b6c7eeb586156e1272b43655c987d567281816e4dd92ab7ba0e6986a5c624f16dcf1214704be795a6b1efcbabbace8de1494bc2fc3b42dcdc44dda671b64567907a1f3845b3e4ac3725c9ad3294e51d4946c5469098dbe2e5624bf2f37bcb9c08ff6ee5dd2cad23d72bbc61c9e2eb54b96da853e738dd92e822467e63a8f03a8195c3a4ddf4f27ed7225adeefe7d09aab3eb6263dddffa354211e499e19969aa0eeae1bf045d66507232b8b52a09626ba6632c3dae09873135e851570388dd6ddaec1b76eb003cd75e857df9686be552d9aed82505e2e1aade01b2768794ec55ecf5c3b244775f153bbf81b9d47e4757f3eea19987934a02920f7a8549836130f942bc8d827410cf5092ef36a8c9014333ad69179f086b61f1bf14820b12a76fd520a08b13fcb48c7211a42398ace24e191f355e733705016d46d40a4767bcba1cbd3c309b70ab8972ddaed18447852b6042707cf469989d08fb6655a6f6313e2d7561f0bb2dafa07295e19d6b70b229413a872cb7749eaf3751381d37a16382ac25ec83ccfa2f5372f665a7ebb1a5590b96b86eaea9c75c22a3b7e3f4b08de46b3663d4ffb6412434e483f1f1e77749271784f803961ac92bff3ea55b781b982f30de6c8d03c24a726f32bcb0bc1ce480e4f03f1680806ff53f22d9cd1d1376bef20d2f9cbef62572ab0749ec025e1dd49aa01a7a83dbf1bf5695408992f31083e4f22fbe365664720f505e65b52db7b239e8095a2cd7d2b1aa0e18b7a6ccdd8cfc16cf4f3880d02088c70dce43d5383341288a4c1552f9cfd608fd5e66dd99d5e19a42855e4e2d72eea59e6a84a03a8655dd02699113f76a9bab3bbad0bab7b70a12a56df6581c728c461d5653bfba07356cf72ab381aa6cf235f4423da592360c13619537c2ce157c4e9fa7adb3c1e2db6b7d43aa38e5a6594044776ca6907f303b2d59b4afd572d1a0cd200dcc546c34927ffc2c0f885dc5f234816253d0ca45653c3aa0418c726ded2f2169fa0f4724ab90d0bf1d701cb0da9b9d3610d9d847bc7e9c3705fb72279de2ac9a75e744c354a831bdc05a16d0ec170a26918b6d3089f47122ae3f370bac0ac2268ae42caf01468a3e0f4f92048007d183d5b50343989911b577b6723bdd0aa6c0e319f301b8087803b62134541c11767ae520207f6bf6752526267276a69c079237483b0e935cfce8058fe76d8e9d7d8fb906237faaae986581907256f2aa5c89ea0bfd35a18b44e09b19e4ec87949a45b0862f0d6752c098455dba020000727a8d9a8d38c7a37c922450a7a1961f138abfa25f5da3df2b972820715fa5ae615b52974d4b4186965679577d75d3fbb71c5a9e0fab525c06f2281b28f104ba721a7daf9a4176c389ba078b2374fd4f327d38c6deb271984b36c8e5603893952d82aab1b293731df241b99d836a096d2cbe2d8804eea2761a75879d07cf101a724830ca2f09128e7a9795b729ee71d181452be048e795c19aa425589999271e446d677a7b5ddfef8019ee5cdcc304fb7c5a44dd782361a8722bfc2dc21cd53a4d6ec82b12ed88f6d107688686c720d16da0d69110cfcc2b7e853e720123fcf172d55b6a850ce12056f3e26f4fcdfa049bdfd190e06acacd7f23971bad5b054172293bfeb5ac11337d7218edaf7b8fe04fe70783ba3aa8a0a0efdc2d2e821cb0728614ea845e13242336c1b6f1fa02855606cf8eef8d5455425d27728114a8a472669160570456c74c4e5ec9382b3bdcca861b814e0f871502165a071a96b17972332b03075bee51749d3c37fcad83ff3cf2e16f0ea625d145c6657e6399b2727270f3b8a881d8666cdbc11d08b7f37d569c581fecfdf4fbdfd7daab1c35b1ca5190d967611361f3374d1b1e0a9b09bff4dd49504a3b6b6cff1da65800a5e43f726ed789e916dcc50148b83c88de5f3c976ea020c9d3e77bd0ee6668d769bb0d129a63d404510152224539f28f4a9289e7b3c043ad42db2ce6aaa9066b41691b257384db18595ad82bbda9713f54fb9238950d00b5d200f03e5fb8f401f1c62f59898dc86e9f5ac4eda8a39ba39c116da2afbd8bc65a1bcb53c9d33f6f99c877722f8bd223ae0fa5923c5bb19e6e7c83c03751adcab260423aa1c7504422693672475bc9e2ebf54011c206afa44fad2c4e4faad8169e08ca612376be69cb345c72eae82cde3e0b8dbe57b2d169bd94a8a3d6aefe1db3568bb10762ab52debb2e7223af100ccbec734a635672db7c4d8adcf26135ecbbdc904ff2d645c0e13e5172cb8ae5dacce5912a987d9a22d6c7bad16a9a5c46bd31279d05bc039c39c9117233ec1139a269c6f7eaea273109c6f757e0b9a89ffd16d24649c48b8876d575723128df0c60e5d682d37503da68c6045b85c84b572b440e2b57e4827df6e0bb7250b36ad31e630dad48d99bc375ed8b294615f2fb391316a9b1d2c5f520e46b723d0da1d877c46f1a1b300d72a15fc11f26b573f84618baa32ba55eaa2e973a53c36eeaeec03f4057186c2b4363a627552b1bcc58874282f850c44d7b094a0772505eddedcdf978635c8ded355e291e591a2e403f3f96aae7f97eff3e63675472542706b940e3a6260c73a10e46a6d7b5600aa90a24a9ba407c6dbeacd55ac831b8500c16d23fc98a539276807ff38ade4e004c2c8ff25f4626a8e5fbae7e8e72cb31ee818febd127c9539ebaadd639fdd3957c4c1413b1a1bcf810d969d76b4d5cff7ba9ed152bdb7fc363a90fda0578dd3c81ecb16a103ee5f6e2a172969b72d84bff931d354e3c583feee9db9a1642645f0bc9799c9b2a8b3cf1ad1e5640217e8f68a0a2c6bdf63f1aaf16752c0242ad64fee0e70bb600bd623bb07193f572c39719876a3aad988adcaed9c0c460edfa09709833d0a6740b1be6c256df8b72d1ae7988692bfda396c9c085314a784ef8b3a4f8f6370015e85f0605d55fbb1860cf27f393f055fa42dea7464b99ba4e6b3aed4337c30ece648cddb3b54c917299a4c54ace4160b7fba047c8c4ccf5ae3b60157dd7ab57b535c8b91489e76e663efd1f632d0d08de7c54f0553050efab56ae5e796e71c2da9499ee0cef4c1d722a6a9d4bbd0b7033d6708e6aad1b4b555ecf691e383fa42f835e0fe12e27a572f6704d97b555753d239354c2f2954811253d977ce1e3caafe56d1c7a8152fc3396d82349a6e3647092c3dd21556605641e28630b2365efd42d5873cfe8ea496f0b4809e38a16187f1edbd32a94cac9ad207a4ca2dc29fe8058d17461b3019c5774e5cd22a93295a42e984fe58ebfa2f66c2c3af11a92bf000468cb174cdbd77246443ff3278579bdb78f9c6ceda0db5b4de6b9d9ff72a268d04c01b7df8d4972cd216c49e241d7c654c5c39ff74d00f76ff223fefe8b22647b8f656bd5afb472f22623ba153408fc076eb7a154960b9f343e01de8216ae9ca27fb16feb905f7269702693b28a2a55cd2e0d08a87d5d1ce81300d4852d4e9a764aab061ceb0805946bffb3cfb8cc08b179524dd5046a54ee672e457f151d23daf24e2ec9137552b90f22a29701fda00e7688782410063a7011252751fc0f6c0a61b2745afc16720b4c2c7cf2500fd1653b7cfa3fb8febab55327186ad868d483f1ec67736b75729140f9dc28dedc22ff4ec09e342370846873dd28b936de425a6cbbc1c8448d7200ca26d8720c127a8c6c449e8c5754cb9011536d94a9dd476bf17a33e2b737723a50d50d8a3829b50b702f2d8f1101a8255176538aaac3171c094386061d276138ebc2ea8e1b686788d75b174b2658e61aa53b39e08d7e7ab549429221a3f772b796f5b902d26f8ef3f7aa606b3434ed00a04befc98a6b46d25e329f2e762972c77fa3ba1657abc03270d6f10b63dd2dd3dc5931dbeb2ef6841f9194d90d2672a2a90903e5749bd102ea6aeced97c9e6aeadaa66540eb4d398071a080f666e72d631aa9ac554341bf7f26413db9a39caef7257c84dc7343ba6636b6c3781c46eff465062639988f78d2676dde94dd64d692a3dbdf480cdec124e95bf884a93296ebbbcd85465830bb426e07b16c78468170b0464bf63acc4bedee5b70f8a2546152e1ed99a4c69b94dbca686c2096064d6d3650dc0969600adf63a2d94624372041dea38a44b7d3139f1a9d13f794fd6603c72833c6b8998156a1b3c0fd30d72ce9c783ee53b40bb7100271d263ae8a145b0ec7613835618c02210667f7fb63b4cc43c9cc7972c9013b6b764172b42e7eb4b3441117d5e8e72fb3ddfc1c3c11e90a2b8f4a02876637581a645f6161800bcf74975016decd3ffe0ba6b54b0a5462374dd8f5109c39a4ae8de4992b611f8c0a95b6a40a560057b042d24d5e2ab72ea0f0fa6b47a6d62faad8f7efcde19606e75b9d7cda901c08438a427bb81473c97a94962aa57212c28ff1c131c8c4fa326b6db58b6eb9125aea1b85eee042572dafa3e4f6dac5eab19b5bfd4806c7d12eb2e5de844531a05eb56a7e9e7cbc172570953cd8bf198818667ddfa493e3d1151be89e76b956d4cd5194c0deec5cd263c8e7df85180ee80c921299038fd724aad83e2686c8c1d9b0a2441829054a25a61253482ef30ef508ec37fc07a9fa24f6e6772a2cce33dc33608db7d4828002303878017c529ac1dcd8839d536bcd5621984e9ce31cee9faeb9d6cf2c35e2e7293edddf5b55d063cb2f54aa146be75c540b3b027d5e77f7eed4098148aff17095a79560618cca45e632742591102c0bcd835ed8c44eed7e17e3c1e5d319663722c1c05f452d7eac880246cef084b794d229bef7ecea221af1b3bc07462a852725546ae2f77c5c29288af69e98b972fb303458f6d3bfc40f38874c66c514c33720a2d4dcc95a8c6752806600b75914ac9725f36b572699988daf66011409e9e482e39c3404c55b7a5b8a76b4c0e5a44a8fee25c9aae1aaf3673742c041420bc7251635fd6d0e588a767bba055751605013ba3b5948cb1ce4e20acc807f3aed830b4aaa814c51d7b31a780041ba2a55d42b75d035c7a06dca504f68c4728b8cb43b0f693af4ec2550b8d116a376c91b5061dd18e1c95c786246c0ff036b384dd7284bb31176ad6ebdea7e43c3b87645b30dcb1bdfe0c4dc31faa0c1ff27e408a1d0be4b7493f0cadd8b95314986743144e1a337084b6b63fbd92e2c9c8eb52fe728498a210b53dc9a8cd823bfae2d1ad65b3b1d3b3496f30aa548f58536a32215862c97c8fa18dfaa70aef0d6f884bf73a969705f12686dba73d132e570a7ef972b83c5f9310f1049e36d77c36b17efb6021d81aed539d6590d671eb6e65a8d4722fce19d91b18692c02045a80bc8e63a2cbb5d550ca32099bcba0bdfe1bd96e72de9b963605a49cb2f29ba6f7cf640a3405a6bffdca3b7a0b4dd735432b3a1672c02e950d49746d0604af499837b88be3867aa0a821759ac4b9c4d07af614f772263054022a02f998b72e6871dc8562941e1ce7c18558bec2a6cc6de289ba904d42eb35c691d6ba39bc7b0361143e96d8dbe2c37a665f284807dc988a2e2299724724ff2cae370baae54a1b934530d2b97ae78f0b344b943ab5a7eac11748e97235e305a8764523cbd6ac596344c81a0276ee2774cd3b52af983acf14cc3fd772bf5e016cc54ad40009d3290ae3f2665c44c1bd33267dbaaff0e8f12429f54033fa89607f82355707c467361b3d78ad944346f6e61b6cc6976bd6497dba1afa72bb3bd40fd82c351ca3051184899078e400e186431be2e75b89d80b4438ba6572cd96bc00331ad12696f2ebe0b738d82194466cec6b1c2c03258e5b5a7ecdb64c916fbd3a8df36d6b8c1cb44fed6fa7650228f222d0a1600c68fc8de438f75b64f0aa13b7efc5381663ee20c382a4f49325abdc3b3ab8d8059e6727b35526b844319db22d6472daef8720792cea622af521ac817cb997580aa27a6e9d6b1c6c5fa08265b918765d67f6a29733634179310bcdc00f032759e8f6cdf2739ede80721d0407c516d0aacb962a2db87191f1975d7b3e16d68a8c36c83ec6496821347250145ef7ad8a7b33c1aace23d833e497f9169cc73dc63586bada697ddb8b0872bf91c54a3272c2080774b47dec10670709cd51f3aceedcc642b2e0809247167252995a81538c18324f5d8d7e0bb5482349bd9cd0d3c1c17e57a4734d4d5d62241afef6127aa9317514a6f6e9c31cc325a852e9992c20093cc08302066a234d5a115803eb3411c33677157cbd6459d39f93063b2e08533d6d6fbd19c9369ed3726c30616059e383b130001c14d01538e4a99fb8c1280b968358fbe910f97e7f72b06376fb1d1cf7b2cbf1eb2fa15fafd04012e50b7f14bb17aea85e0feb8dab2b32f1c9d99c89ff6efbe6512cda15b766dbdee823327d651009e66972f80ef872ef9cad326ab20b76a1200bcbe1399a54cc526eb9de7b2ccb2651ef17bbf98e72791be081607525a326bb4cd21c4255574975b34468cec54805afdf95478904209fecaa250c5c235150778da1778720dd46e66a73db1a1ceb567b05101dcd4d7256fb3f54fbda45ac3a50ae030c173a1058090ffc540d96d4d88e0926d058ed066de85d34b8da93b881a8a10cb0591d2fc77b1190eec456a2b9451618b26208725ed17785c8def89a54254641b81a5f70079960233fbf2aa7dfff365e1a0035720c9f94e3c19073c28bd68c7cd8debca8f8eb0acae7447daddc04fff48718b6235b77937fa5f7927bdb33256b352125a2e0c07c16aaab6d3def0acae72b846072f25beb67e3ff7800cd0b6c6686b29782e88ef970aa71db4ed1fa70b83bd20d72f179676ec2437690f172f7aea83e0c9ce17f9ce04d65f016084a3dd4928db372fbd1d6db4d8c9cdb5ec1ed6f6af7df5b8dc201543e15459ba6918bd4beea452fe16db9db930f91e310b61dcdc42fa46cecf90689f55b910a0f0bfcca72770d0fe15da52386af0eb017a5da4847680d869fe5cd2285969215b989cce46b5d9b529d39f38f7806c743b2ae4cd7c66df5ea812f35a393cd3de2ee9b4d15ff813b7218bf783047c1f1a4c7275fae8f4ab4181d4f17ae2a206a7582d2e883f501516983c9bb62c9462148da02e59694788e417e173c59de7cea2f848e5c6b15b9c923fd892fd7b22efb37cb44b35e0c507b8cf3da05cb9742119bd47e347cb554a172180458f368ece30b1122ab33d93537b97b41519b9ebc175ab757bc95b541ca727928e3577a9e7e53b5a084ef33f6735caed682fa0b8f185ea7e04cc31eaf5b014317b4b265ee550c90fe040cb1d6d43a59db49dc0d2ec75283650d8712c4dd72595a7bd23614c14e7cee3a4ca42ceefd08df846fcea47dd6b8425d7793d4ee2235301a922138d4dba2f5021229c615e0da9f54db690998bde168168259d3eb1a8e45319f30b7a9af2eef9d72a6d42a8d6c0a431db21d07bf6d2c9df25e4d43722cbe0ef5c76b41836a883d9ecf3cd0f0363378189b21ad4a96e1ad491e3d3772253caee936df9b31b26c6361691248f895000c54ced8c75f0f6ccd4dbd87cc05e851fb3679c3d2582f42101f683ec0e52563ab8bde31ef6c8b6bb2ea7556d813d83b81b75d3c3df4e0f0807d9cf58e8da0ddba74f2653b9282be93fbfcaf4a721441ca55b312a5922ccbca2b64f7571d9830c101da525d0b08740a3eb7fa357256710119f94217e3ef007cc17b18d762defdea9f58e6bc1e0231c54335440239629161a264a11eac8ee715db66ce0ee602500f4818c151674cca96a3f8a6ba66bcbfbda2f9dd8e3495076516745d6cf82c3a0ddd58def253f6b0db87999b0842c5545764e595e1c3ee53505df778e31e7c8c1f0c91c3b9062cdf75afb1647072737450b5d069b129f8d5079d115b9010b15a25620017400e4c5ea5d43788a87296baf519ca44c0a7f4c9be443e34cb1bbc00b070de926cfc98990957ea881d6d6e7e819339b98bae34d09cb8faa975bdc169872bf433e4cea76df33eb4a322124ad551614a00ea2d9bdf2cd1eac39a8f468f19c0a3134ca590f9d642a59fae007d4787820002cb4f0d9c86ed30986560848d54cc5a59596995bdc972d139d53dabe009a40c03d2b4c0f4dfe78ad0cea835b4f754fa22b7ccf62497f2cee8f403f1fb8f350c6b5852bbd1505100af8efb66950cbcf8fa11545a993308089c977269919b4350fd1f8675916ae9357bc539d14909cf2fdd86c0ea03969b4fe91172de0ab82bace6ffa7e4d99d4296080cf61bc68b115e062f26c58ae24bef1aa9729f7572e9f6d6f636637e52eef3e52e4a96db76bab547ac96b68a80869f7f633a16272da7c169787766514db648299b8248430c63bea28b3cce0c74046fc1797246ca6d6c7b1df13eb3863251bf4dbd03bee9605400de741cd43f4a1906adc61adfd292522c256e149903efb1ae482de6e601570ab27f0d5ee81f53748b949d724d98dd5263b5f52950e00c65fca79bc9095a568877955d9c4f06bcc8f0d9c172ea50b3c5624c39287c77fe127889ece64ffee7c7f93ea6423b5cc76acf62d823c4b4c82e06945e2b607aa8bcbf681bf6d235183115480af2e1b36c6287f65f410a6defe7a3490d1aeca1a4379045a42f22e0d0d36bbe25d9400c9179226753726f4965d373ec82a5cfb387e2ca8317d508bc56e9e7120ba35356057d00f4df1ef4586bca887de49ddacf42c4c0a96ac94cbaccd127fb10ca1a39cc6fa9ffd272e4e6fb2bff4cb40c04917d5ee0d61eaeb5439ef74cb0b46b1e5cbf79990ff572d1e172017e2f82bb0f5d21e39610f0522122f7a3db15014961a329cec4c6de72e5d7989ab7f515922231df325fc50a2b6c471134ab4647b59a82e71c64603e72ebb13b22d1fc6576d4a1ef699b5368dbd1e00c294b52c41efd0ef4983272f9711fffa49d3b2e64f2e61c76b93ca54db335d2ffe9619e99ba30860272d2056e72780fdf995a00912491fa9e02492bed1f3402c133d574186b225572a815967a62a467995c111002d1548146b99382d78bc53a2df91176390cd689a8a8811767727c15f88d8f76a5a1198a653bd256ce393dd72a83ce597a8dd223fbf2039c6f729cd8dea34c9e0398f3fdacdf756881c11ca091be2109327097452e5ac7f80b466fbe532de01aa7b72c8cd0b7278ef9b8fd060d171bbd2377c9f8199906107c72d102cfb794ab449db67a0edbb2c74360bbe069ad30f8a3cc67bb620deed0d25d0a83ea2c6633c89d43234625bd6f4c15d0fe0c0ca326c01f365e925a90e4745a9a4e2173e8d751b08733836f1d753728313ee31990e04671cb2506cef891f057b00f605cf018095c5ed8d8459edfa5f2e87e6f235e3722278b31151856ae6872f92c6c77b7143c991cb65018a3148fe8bd858d528fd272a1349aea451eb9df72caaca4810985174384fe5c7bfd45fd8f9a589744795b90f5d002901b80594b3563127ea9e11a329c9efa41811d5f343872f7b25e3ebc822b3f2c571d8e72b57292f8379ec44fcc9fc0aca0e2ee2c179fbd7e219b5545061c8fa7db5ef9e5db7263e83e208b4846f771b6bbe1723f157afa4537fc0ba4234c09f85a944de78f2f2417c701b5a7c45b31d145517060f3d498b036c7d6a257ea518910abf6991d728955441321154fff1edfe3bc85e2494afbf3eb299ba0fc83de01e437c8cdb1720eac92187cbf33825e3471a69c972c8108805ef598a6f2b8d21a242ca9ee487223f440a167410b803a9bef7d5edffaa284addc3759852320c1b11e57a507430bd2abe816b0e0527266fa5f9a9a2cba683537a0fb14867d9e0821f1602d9064130bc8345e77e212d9dabcd44a95b15915efff15f730694044dc51747cae2ea2721d2973f058b2606f64ad7b908e259f9904088851d16eb5c55e375fa2f1a5f25e7e96b92fa50f723ebce9e58630980d0273f3ad3e702ae049c295fdb817b6ef4d9d287ebf873e252d4106824434ff58f08e50270b0289d1e596da690759cc55720dccb1f332be7904406e8498255f975ea3dc660e04780bf9b895693f5f094572b3913d7c169b71fbc368ad4db92e1e85d5749eb2039cd30e88fcf65256785e0c03054d8ef6e3fbf919ae41765face0bd39ff5514f4e4c356c574d2484b0a7a3fac432b09a74109385e981834fbdc84315c1bf9ae874436f9365c2b609b42203a12b670ce94e627f13edff318953d4201587d92cbdf33274e491139a692f99272cfb50170300ac438c96bdfd2a7eda2c1bca7d487c72804762cae4a081c365a72e2633ea80957bb5d6adcede793abcbb1da52a3b2df3a1c55da4dd79906a19553a030e9b04b5559878ab252bb2acc5cbd61de068788a620a4fa01cc55ce6f51723da01f6bbff7c0ef3b6a0d7ed049b33402280a1a247978f34f433cd3c2f995726e46d74986f785671d366ad99efb27ffb931470414006af075fe1b570a05af03e24d3df30980c845e0e8a773169d746b635984930327fe14a575af41295106720cd01c082c726f6c0413a00940d0e5d396c8de1efb738a694071f13a5653c872125d8706b3c88e23abb7169f22e9b4036aff80872186d40d75a0fff23e4c6c72acd8a9497922b37ceab4e4c62b098b5514b27bbe1f132c80281cac1a2d84a672ea68632813005c02604698e7300cd18eda5329d05fd58c771c6968a217fa68725f5f0b47d13d0d76604e3f009c7e535ecee170fd041dd2d2e4e0ffe9a7e2ff7290f8be76665cd170db06d4cc8c092244de9117fc6208ddb6f8f42da4ad74a2726b610236340366739fbe6f5d35402bbf404dd583df9c059cb08d8318f860f1037a1dad41643be0cccd3ccbba6b3f866046f721c0bdc8e52d9b57e251885b1f72ac55a4b2d4da1dcd7ac3a11407b25f4dfb37e02454dbc05142a98f8728659d0c219218adc6f237a132e93f18723ef1fb230ae99f7138a175183871a888871b724dfea26f552f633c81c607d4246080b3604cf318a42e98196641705648bf4931d572374625b3c6874fcd7d319e45135e56b4692a8a0937e239c9e036ad7349284189655c390431d506311bf68db4f23d6d8235e5462ae1c73613c70d6b65db20b44820de1228e8ef1a290a794b9fa62b0fa88c4fd2696eb3b8215a21f489597223fc38150c9e3e57ed4c12d94f9098f5beb29d80c2959a49c217a65f8d86f9725d9c941c47fe89e167d484df31731e3c7abcfbc67af0d36bbf7d2116dd31e072d19d57544a4b3ac4c82c2bdb2c6a5c6c74d1e9973d4a6101847128db686032174e13baf103bb21b59bf981ed933fec7aea9943c6444d63fbf24f0b7dba8764725433dd97256252f0b4c513c7e2135be221ac852c351dd7b5801ab443e68dcf19d642e16c055e455c2b24206da5d72582423b876a958f255d80e9f716df861e728a34911576da27fe3b78029acca22358d65768538170fbe528e3f9853b891112fc6f268469189d21065e3d6e3e42be7ffeaf8fe23ee32ab8fdefa15c83338f720d46fd265e921e04d387de7811430f6994639ba6a0da2eda726f8f4e983d7f1934e4d06d9b13ab7003ac9f9673143f11fea22ef0f9870c9ba50d1e1d98d23472f1e46a6fa3d026f9f94a437c48632f0d25666ce701424f71f2a6858c72839f088531fa68b33f2610870f2bf53ae5bb5d4f83a347688f50a9aec283e8c7af364cf5bee5175a53a79bb6e8804f1d0d70e1d45e2228a26f3ee36be082abda60a272fdc7cd1455ce97c2b167ed3c12eef43c84a4778f1b2ea4bac38905a60feb9072962ad188bb84de5dc15afce07d0c992415f75f1264fcd46d94d47c2ed3091668b887d09d65aeceb647553ce3f37a885b2eb5e92433e8b927ccfbd5b27d5b287234b832e01feab8dd687687ec64331f0b05af9224d32ae0a2b1b751ded06e3c727582ebb86701deb1ece4f3e2a037275b891535c623c7a46ece61ff378c642404969fc88f07a6b89898563d8e8edb7e8aafec962f5cd52db926ae4cd1fb895025cbbf31df377fa0eb86fb38d7314f42c25ccab2fa621f13f1baa70ecf088f7b64aaa92fe14a1ddd3632797f78d78b24ac7d394675d23c3d27fbf5e76079651b72b49966e0572fba770a2052ea54766bc23599c5b638fd1657bb4f5ae338fade7291327d7a7f216c7fab53261cea6784f9f1a531b64c792f2f30663b5fe12e8f720466a278f7330eb9bf643ab244e0ef9cd1e9958175db573d93fdf30a06285027c52397a4807e967e3edb9c201e5bde169a8570accd31e45f3f0610fde5951011965539d47244a5879da6c32d2cc03834a663ca9b4ef2ad477af0250d49e391725a5e3a39bf0a2ab28cdc03b80b79afa625d87afaa4c91a885e108065076a3472a4c293f62a8c7d4990bce11ffe2c5167f2ea2253ad69f114c6be280d9c0c3c72d0901b1da071a7f1a59cd551a6daab553a61efe662f37dafe01abb39f3924a72557cd100d18df168b35674e79b2be77f73edf4cd060006dc4516adaef32af872f82197caa47d7c487293f1839176ac67a0bbc112cc39df7981be4963b8884e7278cdbbcb8c0832942490eb754155d2ad5d8658d20070f09edc80c180e51e10612fb15f29bc6af3d2b92bae0d9c1749b486ab9c422631a8cd68f08a7c70460f720a30c51a7bcecbc5b1491180fef771edbaf93a0890ca20be5a4ea3afea929b3b25ca7574bc4360c5ade6cb742752beb0cb579ac5ada7d566cdf3c255221002726008265c9a07f95cc334561ceea4d638aa412620f6fbce3a5fa12e4032345b4d9702276a9611bff65a4cea01056227828b7d5fecdcc13ab5035e3d10fb1ffa6e467d64658e738e569ac069ed975759a22430ef1fe4844278d7a27f31ab837772ce52d1d49942c42f537166f1dfa22e05ad80277510a734ee1c1cc4ff4245e2722df6444c34aca54a92d4eaadc35c0b3c56a92966d22a690341951b13cd34a82dc1003d9e33c7f71f734a7a86cff3b3beaf80b5481308790a9abb6d9a671429422a35620528158ad8bf1de6806e0c3d231e10769757a5d23cb4a04264d7199e05a18a49704358f2d962d82329a0932fe676e784c52b70d90430a7c4572dcbdb02031c7033e29b139fbb57d3fc2c38cc500d5b783943d97bd6060abc4144221f04992175a7beb3537b8e3dc71dfb56d3899138b408a0349da5c20e17b7e001e06daf6b58ed2677bf34679d9a08f97441edae76e4f9b65278295c3bbaee52bbbe7293e2a6ca5568e7c76bf2875b3e343e1f411476b11d10dc5d7424312dcfbb6772f59b204107a9b90cd1ca76459d1c87d5fca957647aa1114d24837f8bd3121b720a26254b72020ec9ec2dc24f69d903c5cb77e3c7f55b61248a6264c9ed119972f31a4470a57ca2f5461d2649fa4429508b8a955fd840688dede46c39c6ac5172a29de9aa15facd50b9f3cf144619354eb162fa3b028e7ca5b381d312ce927c72b78fc5dd9cac0beb752073e6f4389d8a47bf4334029f27f4513b9e845d2c4a60af0a549ecdf82c7e3e60eeffcd311519aa3f2def0d5992ec2c4adc8b72c245354d29cefdd636ae15ca6dee40c67dbf5b1a0c02186feeede465cef0d8451fb920b1d2dd6a0bb4edad833b45ab9b774f0d8ba52d5970b1a1b54f631ee1c9530e72e391e850489107e3d664cb5ede9c719fdc01cb1e8ab7737f48637ceac1c1d072e1dd273d34442f452cf19144cbf8162e56b902dbbb3b76b53102d7632e5a617273fee7eb2284ad3f85587947a215e5f65d5f87e45f958a5116da62616a74d858e95e1eae8b046489705e16292926eb4a4a14b949c4e825f2f8ebe7e3caa9e447948242342ddb2aba9e47e7dbb837cc22e1fb24ab39f2092d22cc8ee5daa52e720b6eb2c77dd0729e9df30e0f1b0e28c60e38e71bfdd3c270c09987a818128a72692b1820ec14e5d8717cc7515d44b5d8e3e199b7fa0bb83b99703c3bf6c49a711fa7595f1b638d1091e2ab3eb4bca16fd5754194d34c0e61c70de56103d7210d8dade5ed220d498cd4b79fd42554a99932dd2f513bcc0bde8a74301590f17e7203eb00b7922b56e457f8ab2fc494599bb2745c3bda01780ba0baa93357b7e345b4dc3dcb7c319e618abb8ba32460ca2e227e1ce5b052be0f476f5870c7a0aa72906b37927fe1c6028d3a239acfffbb282f3fc60f1e202509fac56b54838027722623a3e11337bfdbee9c361a423fd667fa4afac9ef5ee71407336cb2bfbb2672ea2bee8d53c4fc29f9b5ae2666d6fb4971f6f875f5a9bda3173840bbd89de75217a6b719eeb625857ec9f5ea2e4d2d3c7bc089920f9567f7cd7aabf88832812c833b4ff21bfe95d38e58e33d968d54bd64db0718fef5e182211cdf69e84e2d4179f82b9a1deb2cccdf604cf00f98ccf1a73c3734ab12d7d3036a50a9251aa672c0976ed27fd7345517c3ca77961615a4dbf664a149bf38d8ff0b36c6f8cfd74a89ab5a909aebb26584ea74ad58c106b3f3bd88c87f05b9bd8b621adca294377243cfaa76ad55c5069843ceb0fb711c9c4fbb81790a2bbe4c5a74e8f9e8856e5a88d1d92c989e7acdafa557c497baee716b7ae7eb8ca112d5f94ec44d456fec0221334bdfc0cbe59a4384c57103850860043bae42a8c3365cc27bc2cef7f0d77239740373a18f4f354e7390c134bf3cc59967f26e72c9d63f9aad1f9d8a456772784527285cba43cdc891f5f267f0b46e70de1fe6995e85365d17fd3c15dad72cd0925282a20dbffa0c7ba6d00723d584bcd5a3b6729b4d84be38db418ad3fc37e3c54d3645f3ea67299fe44ef83d9d0863108bb788e0a8982f6f71f651cb9f726a0f0d2bf1b8f20050b10f8dd5868ba2bd05f27d3e157a646a41bd534b1a7510b62ab8d6fcfcf8ad070f14fee80297dd1afa839ef92d83ee5521e4f9025c5129119f3ee95f406b5ef410666aab01652a7b2f49a371a0ec2ef3bc8a4abf171748c6876cc53d258e6587bb8927b0a58ae7c2d6e8f5f2360ad67f544b2e3fa65472ed7959de49886f572f95651f9c136a72b66107f245e97bc36dc04da2bd366a726ae48fe08901e420d56944a8cac2df7fcd8a050c5a356c685d695e8da8bfe3522ff8db2aceb5c7bdfb2ecc02261d294deba3f13758abbfc4fa955db261b26d72c3162c6040a886588a109fc8563c192dc3fce4486ac430a9af4900680a9c925d69547f71c7f309fadb02cad097a1798e2a8d145f5fa733d9c60690769eec777225317e393c8339b99f4b3a4e68a0fbf1b6f9e2b334496899228eed754a545b72092243c053ee156512c201210c037a79a3047a7b514199c83e07162854690c6a5efb37af324780ef65bbd6a2183a6474fbd6c5b88257a2f38980d252dac6f1306f54ea0bb483d890f5bdf05a6c27f6c5a56c7dba1aa0bb22b0a235221bbb4672303ce8458847d6a0b763370a1abbeb2f0133a6ff94171459b1aa6cfe3df9e672cbe7a0e6928423ca9e618149c7e4be3f857130e67e8a62f61359d20a78d36f194425c116f9c687288b3d6bf36bcfe86e1bf84a4c2e14f6cfcabbe780220e8772aa3c06ac653cb52e8089d7c566711fc499a90e6c4478d41fe3064d1059a7957263b99ccbcce06fd8d466855bb6e0a88d46a29ea8db29a5b6e11bb1f39e1622724a37cdc4b1e2424109bd18485004a809dab6d808604a471bbc2b04e627462172cc6e5010c296d3439f4a782c3dd0b9f260b40eb74d070eb330f3d01402cd3672d160b031bcbaec624fef64d8ab47b569e538003affbcf8ad942122e7995d2817d6f022e5eaad18fd61c3760a48a757ac67bab1b907b70f78e9fe3edb8020a172cd32e6a7c7757d3387620d57f0a04677d258c5b27a04788524a9eba4baede871a1a16672e5c521b2449c1677b8f1520598f0a27471dc7a615da559ce7392465d3287a2d5b4ca6bcafeee0fdb4d628af364d113f7c5dd3d0c2d69e6841caaf72e0a8ffc564b1d982924eef1da342ff3deb9ecbcafbdfb87350399a1763517a4723ab008a81a072ad4f4e314f946e1f63d62fba7b8d537d43d8027514246a0ed7204e53f79ac8f46309d3b794a540c9f3f946f3d22f9f627cdfe53e9024418fd7266523b3619ab2c2dfdcb6e6f357947bc43e5a558226abd04bcc639139867e36b257ce5a5de93d6429edede237779337813ae5b5db449ecbf3245d966a518b572c603fc4640845c87ad3aaa7aa3629e57eac983ffcf304e4751270018e480bb727bd4d80ce33000781b0f836e3572e58435420e1157944e2a0374ca44b1463372df466a6361f7d3b6da079274aad0afdadad4ae8b65a5ff384e1bf1b6634f282ed21d1018a21b22ff833f52bd9451c74f348d385e0c3e1211a9656a7fcdbef672a39b912036fe908e3674c4b68139514de16af296767442a13a6a4395ba65b672c16f08ed41d799f7bdeaa8d68918c36a6a02fcfad3caed5e11b5cb00dfe38d7250a1ed3fcbd5de77447bc8413d2db7f8abffeb5cc117f5e0a12390aa0f2d78726d757f4d31173e100c855845cb2fd4c66520a945befe467842fd669693ea7b5b9d54694acb8182be31bdd9621b0c0ee43b5a5d0661bc810f3cc6057d8be71672431e5bda4e1e7fd18ecfc6a34f942d7a3e24b2e2ea113209d50d1114fd7f9e7283581dc6930338a30d75c6cb0b9b9e28c627e0c5d14420f4a62a9478ddcfd73577e379c01318414d5d070a05e618be06dcdb2e5538f2d30a6852d18711b37672262d187a0c37b832af3cba2c2596bd7da4c09782d1be44456e2f6c6f60a718072f688397d48a6b14a4497c06b0185ab5facd56f08bcc5390dc193984777c7b72a8a391edbe0582459705d1726ca1548412df06b72f496d58b36978642702c272dd3d95c04be0904e9bdb5e1dd6ec87238011f342a3ef04711c51edf9b2614972a099212c9f37f39222942c409f4290ad24e852927de58f2935125da3b550494b6be10257158095ca44bcb620eb7fee995fadae61bc58f903e2fedc90416548323fc62ea8d1a484476e7b4041543349c62968983f832c9c58968153883c969e33aca9ec87d3c231068f7039226b8042030df6fc6fdc608ed887087e0b4322274af79ca41dc96766ec9e56f930e626818c2b2f0ed9206d29f73b3219768dce28724196e29cc7e55be02f8ee704317a3ca740912307a0169a972aef0497beadd072e609ddfe35c60ab531a9230643ce0d31596df89f308aef584a7fbbc9a793d343dc871e9e23a0b71b19998b19fdd0f0a13ce2df2b2312e056b280cb842b5f207283ea4c2c1c6db04a810d15570379fad75cd946138445134c1e0afa3c6be5af1b3de5eeaf5d137348d951c67a32e485b40e8ba85b52884e5e9e7f392564e3be039bca95f818d6b7dbe7199fd9dd96728c0246d1360e7e6ff1429e0329eb7e6e725cf82a72300e0fe8e1f61ce716184e94cd67e6303c966a2413e74c824f429472aec13356dd7ea6ec03f2c8c98e27bf30ffeeb7072de18de4c65c7e5fea7ec972c9fbc24ccc420fd685e93bb87acb89b0dba630ef39b72709f802799b66faa41c517b4803d732e65a89c919d3e339a4d12bc3677ad7972342c01a1852451fec06cb4e685d713662734585cb69042b08958ac1e2753fa47199a479856d19703e72ff0ce41b48086a20a9dc32e2abf865d9b7d1f11e641cc725dd15f929bb43bf724a1fea288d5de17fcb9bc9865884acb4f52b9636d60d9ede8c01595a085f62727dba923e5d7ed9963ae6874934799412dc68caa062ca3b13fe03970fc11475727509db8e44ca370301c73591e2abf3af47708c5c5d1545413f282ea141799a72e7f13a49ee0a4b632811079234f7abe32b6a514187f41a4806a3a073876ff072322e62e3b6f20f1e919dc6a43219c5f19d70e558f8624abe0aef899191b603725fa398b22e8c908fe9083415f161b31c136b1a7262b76a79d20754a244f5a272c8da930ea8ce2f8368869ae67490a18c388e95a8ebc9396c0d7c521bcb612c1d4b5678b9cdf54d3fcd30ff307ba1e05e6cc8e09da1e4a8a85422b7d9cdb51272f46f661e1d2c879015fe0797c893cc726b973b48988fb841d9c298ee756c0f5aaeb557301388c35c17b3670a1e972048be32aeded269b3c919799f513d85a5721bf32a9591011c24dd9cfea6667da1022ec81073e826508db2ea4adb306b5617d3a3d4217a53996b978e9b26e7ffb499a6a817bc37f68c4119bcda8b5e27c87261271955d8e18a2a86173c8fed5b902710d5486f764224bd271dc6d6df37717266bdd80e16965f50a2b923c5bb9af65302a95b85edbc27422776cf23f70e4438b404d24ac8cb78542ffd5bc37b8b51d7fc8c72fc70e344a15a8531170024c7724a4876d2cd87545560a9079da637e8a9b9e6ef82a54ea515e221e1a5347b061be01e7400bb71d69816cc97a3b38203cdb8d46b9f973b0d32602141cb63514a7250bcb9c97ef175e809b090eadeb2018bd80cf3db473caec9192dd81e6f289223211c1f248db0640b903dc36f9675bbadd0d466e9e93eacf83f3c0fac87b81423cbabf592cbedb84967c8b914d51d41b2382010d87a72baa3589eef4fec24e34fb58578e384231688a3e93fa235dc8b61903bcb4302944cd92471620c13d1946b2c7d6f8f4dba7c260934437a16dec55f3a2e692155bc01f817d49e93ad652b72fa034d327f7308ce5a32a70b7eeacc97f9bfceaf40c9cae2b5cac610286e4a7231c180a960f91e73ceb255dc0d742b9f9990b73bc199875f1479225291ada872283448adfb855a3b33863f79741e2ad3777de65c87bd0c2ae91639ede6aeee7253a120639ec0bca0ffbc3d15e0ac3ae9517fcff0777df64f30366d3bd9e9e1729cc57488ac67e6e56fe109501588df0ae9b5468b60b4a3d9ff3782dbd450613d5cbe08aecea432dd4712a3a28713cd3330adc21c54e82fd721857a3ffe98e1721e8a1f64b7f9c4fd345c29ff3249ec734919c89d909b1c1456d83af9a5f92572d75f4ebb30893f4806c44869901b874409dcc27fc219e20500155a61892d62259e579323939f6f7af1456f45b5b0c82bac20003b5291fe88918be9342f09e27255292302fef3073e1f0aca4f8b743e5a0d098d7613216b318c79f6aecb757b37da1f3e2f651fa344d15878b256e1624ef1d66c500904b9cd96b9fa62b5bb2d583389c9239ea1593cb534a2f2f7855bf334c279d937f31ccea82a7b082c099472a451ecaf3a6586d232df42ac40af8fe3e2df8615218baeadc8b0d68ea4632272fff560ddf2652ca40a1817093b1eaea308227a44207f2c3957833d030dacd01fd22d712ec8ab03538af4601ad721ed0616ce6f9fbe27ed7e1d67d7fb4ffff668e829992aa1679ec006a3ee839834726f117feead85b4222d2879c6423d8f317260e1d279fa42d351269279bbc172f80ebbd8483dd03da6623678580e14db7e728a3f9d27d674e19b1edd3daf4f9811fe66b932c3a80410a7be72cca4ebe312729ea8736898e79214a05941da3bac46dd6a3ad77f5096ec39624fe0667a69581bf1706f7bc9c101c2491e295240f5fa1a2397aff2a9c526462fe7026e14c4aa72b4bf0d305af4128a1d0a4eb40eb56bbfdb16bb67f82420ef81da327b4ca6d265856582644506127667d56388a88f320590737aeb80a89fa9d2ae1066a94da2726339ca21e515ec62b360a503e004f6fc1fe945d6c5058e7cecf9afbd3d34974819c9b2c31f3ac81141497bfa0540b8d4a3768ad09991a5c12a6aa823ab6a9972f40f04586b2e01cec5dc181fdbac95c38bf9e4fa5ff6363b8ccfac555169767254e3e766a60528a3f0ec6d488c116370e009f7c73057465ca9f0eebdb2beea346f39863b33d097a33df90ac670039c85974337b183fc7b0914bddfe3995945722130a0b0cb757113eea6007c8198b168cafd8967b823f2675f1d832734e7457255173e4465053132de8117416f4bfea6e55c19a284ee2f159c904717db98f2139857fc306c5836644436578f454a0f01ff736987a29a8d4ebbac5693720dd6728bf68e82fa3c373c0c9fc396cf481e95a93f2503bcbf583ca25c2314ba34241aaa480f95330349b5fca90005c62871b80be761e3a66edc6445eeadf810018b72df6044efa4f3e85618685aa6e788164e3447f22b87e7eb25f58e814d29652472f41fcb92b58578c8e489fba231ff1ac45b636581e06459324457fbfe43b85772228f7d3b638ac719fa4ad746b5d097a455450d1d088fd7cadb0262e7250e9b5683389ce1c26237e1aad091d268238a790413d59dadf14617b6d2ef18ef38197201a7fa1190cdebce7e1e97f0d230d1fd2b232277758fdc3df8f059f9f54432158d67db000111825d61196d0ba0e3abceb1050101fb76ecd69fa2255f4e67e072fd321c00b0a3b67ae55a70f26e1d3777ddca97666c41a0b3a19b87cce23a3c63b1a729109ee96496b96b3479d2ae2f0bf37b0d3db598d7eecaea78509eef8c725e62e2536f2deb5c2c7201822183c74d620e7ff307684f4963da20d93efeed31d007a5688dae896bccb121b8e7ff9f5130b665914e57c343fe38b392ee9aa7727bb108d79764f2444915ce1845e2518abd990b01b75a1af559c3448540aa50728a5cba5faf672e44631671bf0184ca7616653d60928c05982cdb7b6057717023fbc29f739339e9e80761bce2121515e30caeafc990844835d96bc3385d0cf0722d609907cc362c5965ff9cabb748a3c427a9772e3b29be792d8c7bf1a792b30eb2af53b84ea67fab41eb9e688c756d8cbddb00488ea2b0c332bf257c38332a2890b8b9725cf14936739d75fd1fe70e9bb74f016f3025e4aace277213a7468d556b5fa6ab2d3f18d6fa03b892504b5fccac0ae32aa64255d98072159b2c41971cc5b457cb4ea4299d2c51a4488b4a5689e616b244111eb085a3b756453699dd03f293af83a886a04ca239b98664222b89c7d3df46d15172fe72f2ff4883a94b62a5ef14c3b5d1434f2668aee7995e7590ed86e4547f8ceb7122955dd45e88067274be3d60dd808be46c225e9ef35de189290fafd4290dcb059d02f3df0a13007244793b809946d485eb1db20448253d4b26f1567104c5ca781bad5cec34ed9d721c480359b42ff3f6a2174c8dfee587aad186bda6df4b66a9243250930e57007216a81baacb999ca2fa69b07730d578b2b1a5ba6c140b9eca99ea39e8aabfbf72410af329057f8250cbe3e199a976924c75c07549936053ce6a894cc614665c7271cbb93300f260784b0ff8189e3ebd05ad6ef65ed1f0a2ea05adf9c6f0ce4f5b64d0d5f0c12911805ad12b8afcc3fd6a5e1ca1af82b6b2b3de19baf7520726728c67c3a871ae8b6e4e50601c265b5d9d11eb03a4994cf9376684871d90a68f72785e771656ebc7a784eafc61e7f90713d85dea1510756cd460cf35d1ffc3dd4d46b185d758d7a82e31f486365a212a81b38ae56be8e3e99274f92e330c4943716a70b06be4877fd238f28b4847bf61ff030c144a5d8d8ffcb75acf58a2c241723035cf535ba10a4833bf2c55f6b5cb89b8e7d95545814f4c1bfb35fead246872f8d9551e3ee779fdf980293ec0290f77590b45c942b6dcf16655ffdb7254a27260bcbc00dd6933803aa0b463cf8f4c2a7a1d3e2707f3228688dc6c8ddf0a597233548b2a8e201e201978826bcdcdba542dd28ca094681df89dedca871ec3a606763358aae43bfbac6f371091b62507e174a9b3df03d8423606ef24620d362a72b8c43f9ce0cf243ad5c2a6eb14d09851fbbcc7b8b86ee1522c04e78fe6d0f714fe46b9b216f4708e671572362dd78c63e545e29eed3a1e5ed7fb98c194b11b697bbfed1fe282f08f8228ef16e7b3b9a00abbe4dbfbf7cabc6b5bca183fb3b823582051138eb07a20807f717d19b96e247c286947fd2ef4b73aebc7596a2a173e0a045d0e5f2834e16702d058281a17de8db0ad3adfb28f329ea49628b7b88d7210fc95ade65f92e8cb3e0a0e51ee0de87ec3e7eff6c83caeb2707f5e779c36728353672df44cdcafbe9ea4c0d755b575cad4586b6388cbf7ca101601370e6a4dec0d267b827d2da30aface36ce7964646b024476787ebe37701ab0254afdad725a9ebf942975bddc184220e5804971ff3345e2c5fecbd1d71bd248b30d8b79728cd160098c7e9e8dabbbaaee2c8489b4066dce22c3c1af73ac9457d193bc8772e520a22c3ece07d3a985b46b099b6a1abc29e360475def002dc1dfb728f8b2725b913237c490c5c98c253e3208a7f43a2fe04aeb4c8ff18693d5ad68fbc6fa2763056939def0b88b793c4857a879ffebaff6db911693bb377bff84cd4504cf226dfc4fa39141f245425639517852ac3f94b1abe5a27d21b7917bc2c288a7883b95d475d6172e56cd2c423a4c2f3e0b25c98b1ba4e08638d9130eeeea8e7321724aaccd25538c4c8ca5184c1ae5faa397d62b8e9ea5a4587cdd55fd9712b46c72a9334bdb43b8c619d60866d75484fa8de107ab581d68378ec67eb2e76be6f672723c20c60c82c32c5f9d0a3a1e92ca3205e7f85314fd15665e8ac1d92e6c3a722a27f55709193f2c3ad0177425907d8b299a397673e08caf7651284101c97f4ba424932a3bca3b3d0060d9d5d7af21f781c8384c9e6b935b297ac868959d074aedcbcc11368fae536e04070e9576a01dd860d5625a2d73cb3767c6769220bb31b55ad768b24c1aa0c1ba8c3274b2d1432603e49714001c9e8475657f2111de72bc31535b693600260106cf9a3ffe171925e85f3d33224f570bbf08f4a1d2025c1ac9d3f5a659f8fe6a0ba6815b68cfe286e07e7104a390cee472cba90d883272b353c1d2409d96194399dface72803bd7a13ce6197fc239c610802bd52a0af7268485739faf83bde86bd72108eafe492406031aaebce577e1645380e499f6f728bde64f557143f7778a38e59d7ecd9eef985e8acc908993fa0afb0ae6a288672843019c7efefddaa6b65267167e9383e1ae3bc85ab58f0920a76dafde73bbf415792a592f3b8a04eedd1902cfae4080f2834bda92a54af0e0d7e9152c780177257a262a1ec2fee3f57c136069c07e0f0273a1ea2af087b51be7e3ca8fa51aa72bde1f76923bdf358d5db83909d6a009732ac6029049c001df2363bb17f59657283ea45a1a8b0faa6d7ef96e62ceb558bba70b228ab1d9eadde9e93e65c61797250967baccc71c016c7a172f846bc3b0330a519f76da4758695348776595ec830b0c1b6db616346b2d6dfcb00276c52de6896f1ba489aa88b4a73bdabaaa31272eb55bb9537363ad2ee27e7441029de478ddc500e341e2ae1501b6a04f43616627a2f4f4de33f0b119828f4521ec72879a46cff101c9ea48659830cfb56085a72b6bddc166de186e5be132d7cff269b91e55c50a2fd7c068d2db9db69719a37559f664bdba986dd12aab3976b1f532a7dda4a7e5b1a58cccc52a2c38506905272e6db60f5c490b0d521ef54b1f425c113d009422d2b41b9fe9f68e792ab43a0722b8357f6a3736ace9dc63cd0e30d1826470d0da9d6213bc1cacdb06d0a1e4b7292663b0338e3bf94fbb8fc3754e90bd4f60699511deb212ff8823373fba6c820ad12045ff0b5060885645d1d7c84ddc775732b6f765ec9a1b188bb130bfc2d12fcba090e447e25602b154a1e0fe1d5e08667affcdde6ab1977f67691bd3a627225b5a98be7f63915521aa63e1a5312be6efb37957d60fd6dcdd0867b8cf26c283a2982c3eb6a9f91b7573d89d833da189ff2241d81f4e673034ef082d1c195725ed223e23d9bff94377511b4dc47f1f6404605e9fbd018c2c7cc7e40b5354a67e6fe1a52434a307604188159fa3f00c29531300cbcb8c4b288e4554cf9c1f836c86c7d57660418ef1b11b05e9df46bdd38f1c11611a7a567f3e1109148c0d91ed2ba260eb950983ea13257a95a4d4c71407437406dc81ff22eaf772b24cac3723ea5852c29b202dfce6b4ce2c04eeb321e6cc04768cb21c7429a3d1acf13641e6f54254eb118d82b81145de7643f7f1ac11a5de78a53bb40c3d95381591b25728f24062b0c6f78cb7f01b6fa265454db370e35b14b4cb6ab9ae3191212c898071f585b3a99d59155b2031ea86c31349320edeee40517b243d2f8e7336f19225d95a634031cb1796771cdabfd08bd1d381a988f32226dd628ef339f49cc85d67285349d1af1a72acf200195deafba923014b54414909110cc12389a949b20e172b709ef31bb456f12443b47f2319939362b19f4766c971be50df4d01e2d54b0395eadf65501b3374002234dc1fe9ed49dc7060319795b875c65a89b33e2b1c54d5746fa4ed39be2c9bcd586b7fcd2a90fbfb46f9d3e537a52b49cb34e618fd44b69517424b9d5196ed8fad4695de501cb02fe837363fb2409c1b99e6c6ce4455aef7ddb85153a1984149e69bb30437461dc3f80b19db4ef2172b9bc0af06ea4727d3f41e9a7f79977ad8347c0a53b449fa28e354636294e04e107e9c7fc1de9723aa44f176a820a7a15cf8d996f0aabbe7f3845faf35987d288345ad08561607249e915fe8371fe17d2e72db71baaa3c6483a4e1e3c1a29b8b9f12dd6062bea723aa7f1c582a3dd9a93775133e6221e82816959541723eb7e8dfdefd8a96a0c72306da29035d3993e8ff7ced487b28ee5f710d775532de9569afc604788f36f6e58f5a3a9233a06fc2b85af2cc40a45e5b625e4d4a7414c01def90432f7ea6b5924b4a84e57022313217d4628d42c110a1e2dd78869a9240bddf6e2efa2ff2312528e730218bb2f479102ea5014e41ade594e82dc44009ec390394141eea55358a7709ef43e204d6ffaaaa71b8c88086bf0062a44b6f96366c2807bd395a77a721beb005ac51500bfde7f6fe6ad0f0ca0c4d3b6dd17f42cccbb8c2bd5f9745c72726df2d462bf7e94bd0e35487b0554c0e1206ea7e4712358e9ae21f8a8ef4112c9d9460887d16f8347328b98fe9b21da505a801925b8484be19e90169b0ada630165c22f27586f587544e652d67bb92560fd37e5255388d5f163ad72acaff22a1b7e73e5de197043d457517139df4d38bbf406057c2843c21fc8da6bbe83471145758af0e156290826093b25eddf6777135456cddef5f53ca0b21df3f7bf87212fc25e1ce806e5d0362fe391827ad1d99bb8b0b8f4cd9394a2f25b6974fcbd687bc648553edc6efac1c0faf975e8d9c096b70d92a3e865871320fe6746d8fe375c8288d5bf3534b8574ba5fc9d757ec6146cb73b5c738f3ddaac7db842bf4f36c8ded23db86c09e35f0c1189197ba3ba712b87cb9793cb2c553059ca514eda72877aa818b2115e7e0d61b0f8a062def12a51362689de5c1aa65a13e1bac8d672b56b9fb54f022cccb9e977309b9e3ae2c93c819df49666a37852428e9d8cde3edc38d0bd1665350a4e7a06769df9acac4e5ddab5f007fe6bba67a29b2c9fdb7203715993b67c75bcd1d2f5bc51f01b77e97d5ca87f7cd146cbac01ca69cb9e352d16b8cbcff04fb70b9b1768dff1d306b85991dce9bfc8faeb9876821668ff5bab0e2cd6fab2a07e452b029deb9821fb3a770921ea59212b422d7fd7a28a7a1e12c53c384869d18e4fd8be641e17709c27cc08926af97f80add71136efb9007224efc62527246ec60eeac7a0b48bf6fabf0064c9326ec3997872fb625950296cd701820bd71f7e4c39781daf3aa80d7ef77fad04408806bd0f17b9defec53c725f2a879ed3f66895da84a11bc04316d225c096617cf8b052f293a5d7caf10323410b318b2093af5212b872ac1a44039b3a3ce64e08506bae44122847cd64fd4455d8eb259ae73500c1613599b7cf4e3a3e9eb109bd5a79a275aa618c24809f7282d89cd097bc30213fa6c5e4c9363af7f00ffa374d3675921e0b8fcf52724b723793ef80bcc88e24e78468285f6ccc7e490b2a105291572778693fa7023483722298c1d5c461d8b92568e7fec1891ff63ecc4f498091dd304b5936bbb2191772e08f20b1e0b9dd5d02f700e427231abd0260cd061f726d98f4a9cdbfdd14df728e6d32a7ab3d8d22bbf60174f8d5188bf363d0e8f543a298bc37ea966a60c23065d9fa3bdb67488b83f824594c12d6c581ff11c6136aac3921a41552a1a55d26aa54047b2c187604d1ceec9e5c0ac009fc7b5cbf640658182a1de86fb7757972e1731a055c624490b6bb1d8550fb7e8a72111e3d9c4e2ff85fc72d2d56c13c7218f584b668fed431be869909b1533e811f77f08ca0c2e3b5fabe99f4f17e5a472a16ba651ed3a0daf3944fb1b0653cfab052e09195ef2d1d0979dde53664ae72f7e9045b5b23a56661ea594d37025041b1f1bde835cbbf48e3047d5d0a289a722576909c7354b10d8936976c27ebf01858b2c4bf974ba22e8c65b8a6d4f01b3d753d27cb8d56e3ffd3590bb7b08050f111d00ec996538c31adb79daf8183e07259288d6502742482ce416b3a38161dc8a8b0843c387efe81a107e3f6c19b0b28ef674be64095220abe490679fba079e6b8c7b29d61306f4fdcdefa73f07e6c726329bb677a047e441163fa9b299b4350e383291687ccd48e97b70b17b989b3724d46e379b1d57a3aca10824e8e420738495f5582fe0b87dbd1b060808496cb72146e40546d462b53454ed6f6f8bc0fefdc1217a1733480fb700eef46d8fd950d32163617e0bd785af9d031fef8fca9c71c4f4b6d3038206fe458d7b375b9cb72d66a9036c2b946dc2eb519a1050ebc69042b15fd4010016769bb0517bfff3a7277b2eecc3c7e1e46bfdd7913ea245254d9da77cff8f35eaf12c73b1677f42b724e519dde752c0e5606aeee16071892f0378b29287c5925b9c2025b1daf4bbb138029c15a68cd9c66d9acdde310f9b88bed9f4bf22592baa3e0e8ec706c433e5c8f773fb03f2a282162fb3456b5da5f89a1e013525fe6bdb3eb94461ba54aac72549d1ada13d4f20c7e70d5c7a82037d6091c0025f392413a6b2c0b2c2cf24172e00b3092327aa1ddbd1debaa7e72d6cb23fe5419b0854c74d8afad82381c1872d308f59967296b6f91c104d3e1709d0305683c6bbb943de8efbe54dff08663516505c41fa43ad296e53580c6625465c60f9c7ab7a26ee23e10cb8fe5d37d8771dde7cb2cc8a0aba51af5917d97717d546e53a8a71d9a7cad307784fc5316163b8523aedc47baa15d131a64c3c0d7bd073ca56e861cb620f51a0bf069f6a7477275dbeee692ac861d0ec055239a2b902ccf84145c58004d9d388efc7ee4d14972aa6f29816afc12317071bdeeb4c77c7de665435962f4253d616a675c5fbba0724dafdf5efa0a737b5d59748afbdfef44641900ac01ef6d962188d284a271c972aba186552e79d2113b11176cf7a50e56d0661ae4ebcb298c8503a20a01b6052b9f1f3f7ac36618ae2546b3b27a00dccbfdebaad33383f97f372aaf22084cda63047dc9054866954acde68939622de05d58564bea1930113d83aaa3e76ae6e37227cda902cb952c78d61d721840483d14693d42cb16de9b6a13b6c2f8396957724302e90657d1c4f41ab9b9dd1ef18791f1f57d7cdb5897abccf054ca99859903e1f187398ec7ee4eb4a6cdcd118259147b4898579a8eb8fa3003f8ea1ca0535c5ef04971e89fcc3b2ce61cc2fc79e481478742ab8c52696bc8a2eb87ad9a4f72a5c6d8d989c02e3e5180bddfae2d85bd86b0f285d8659829207c48014944520f3f3b230ff3518b1fbd1c36c6330637804f3b579b18bdc9358833ca7700e058378d7565a9c6ebb663cf3621c26ceb0ec44d8361fe32e3b7ef435095ca7451b00e748acbc53628f143aaad51c8f2b1cf8db0b64f854eb08074e0a2a552160e5972608b200e080e1ae31b79d1e9525a3de0d7a912b1a7a84b9a30ad8e31855cf372e004911553f6bc8dfd8b00f16a2bd6c2496d14e7ce256eb8c081d525a67dc572b6c6c723b931e32cebf6f94a1b1e6cfd647196c7f15ffc506b3e1faf0070bb3834fa6b40a510998c12325e1733274b121f954450d0fabd00146b8083fa5c513e4f0f480b50d797d00f53d6e8ad72f5252a84526060e1f75c81b6deb550191f473e135b6ff048d354d58bb32a4fc3607d913531c620b51b9d0f91084e214cf021e6d13fabdeda4cbdef20daa8c788add3184601aa62df67244fc3e36cb783c7590627baf65f2dbd21acf3d7fe31e9a5cff93d03c374e371292eb130c8d57a276bf85f74d2e981e41f0e3a1d370d37d71e9204c68dd06f9745eb11b551e25b7b722fb4677f17dc19596814c565fed9c528d0516b0c993c0aeee9e06ba76c7319727fe1cfdbba6d40437e743b163c0323d5c5ba7a4c648c2b6755ad4b8a1e1d91727071ca1365f42a95f10de91155b4a1c4c304df5bfd4860a69f2784302034f936518714316a530f1abb41076f858f25db6139ab13cbc9754885c2cdbf4dd6ef72d91a2deb58d12176ef7da8dc81ae85baed726a568e3f0711934bdd9a9ee85a7299d52ffb3492c8886ddbfea48dedb777d0cd949117a65a3c6e700c59ceef7c2a3b174e4fbe5644a661bd6d749f73c7f1d55b925fd4e3515a550426e839090772ee917a6de7f6e53bd35b666aa00ad9c30d1be54e66ea6aa70b219a40ea03607233ce14e66811e15fb389da84a3278008baa75a6b7fadf518184d302970cc8872f60155e275585e4343091a1f0dd9092bc7596f012f1a32e8449f609ae00fe554716520b120348d2ede1d8378669877e892852d811760b69c3e23dd477b4865720d7fb0255607192db1e810705b41efba6ffa1106a55dc7bfea772779a5ffd272ea945ebf5473e3b7a3c3cf853a304adb37a471d2ece2015ae188c3b5a9beb01244e584452697b9eebec9c7e472eb5aee37e742a8a58c454c0f5ddc980fd320041330285a3226d670154e2af771fe2160d892fabdb6be29134b210be213e74553726fe2c825b54a9d24edb122c88b454a8814d6b46054d4f2871a75f4d9b338723ffc167fcdc77660008edb537a325f89a2f5adce6b4f1ecacfb83495110f7072518fcabfa30870b4655c7a8c8c460330ad78e308a0ce66bdf82cd7c8bbeb3a347f0195c813efafc14a77ad4ff663158e5a8b2111e422449ab5146441f8287072fb49b321e6d8868f10950780cf6892279602367a4341d0234ccddf91e9a90c72b2d2c7a3a03da764012d837c122b6eb852ac1f721a21cac5c7199567effa543e4ac32aae8c5e62fba06ef5ce5bc43b20b6f3d937258e868e71714a066edca71052b415d994624545bdd4c8d3879fea3ba6df2f0220f76b0894be78371bfc69726eec94bb9d5a005a4acad4e92237f06b98db1811e21ffe136ade988e87cb0672eb37f62879ca9ebf5b4148c07f89ad6e9d85abb8ba957820741b0af22aab527261a8fb1b7f347d933f49ca7edfe61d6b1b223e8656d17b91048cc3fd570599727c0df95e80453a712cf0d8f728a85272172a43754bdf4b650b1f54f2061c936a320c2e17f1aee02a7fa48af3d56cd30ceec16680f69065c34f743899065716726232012591004a7689577b6e9c6a9903a433564bb0f11242353df53f3cebb37253ac7b948f7be606f8dc6084cd8532f0c90dd49f1b760def7500b719dbdf085c3f8eaa913e884314a1500aa14b816c672049a846834617b5e87f47b248ec177202fcc7aeda51bcce74b6288126058259b43dd210cb883ac55abcd4df48caab72d23953c291e511677b7483b1188438106dfe01065071f7ed22e4e50f27c3c9729ef781d8d7d58d99db06da423d0700c263d176ce2a1bb89fcb08675f0dce7d08a09dcc11afb41041a26d847f986c85bc8fdc2db2a9243379ef40e7f73311d45d4fc7ef4955ec48a762acb28f292e2be191340fe30235ccfd6da1ab2f443ac46b3102807d1f88d307ef65eb0e7e6563d272b42f4eba52aa22d828ea6c92f3c572a989fb341f2d65795e7ab73ee0074d32b56ef239455a61cc21b3e3f6726ab41218f60bcc91e9f75bf4a732d82ff7f1d86c695edf10686cf78996bfd62a19f57276588b94b2459bfe2059aaa045b9ead1923ae700b6072e6d362f40ee9351d9697f7cf6d576c9c5bb3c91319490eb9a682604b44bdbc2b1006ef5baf66b656172fbe397bd8f01f08c3f3aecab52bbb5f1dc47cb60c317ce73438b4c92bbc8207285e8b28dd167a30425336d18ee1c76617ec6ceb0b4901aaa528cac8bc7aa7172be13d767dcdded14f12d233c2b966c33855d07235670b664263a8181b0df0472df5844d06a60a839ed77ff51cbbb0b36171a65e2e9afe8e3b233c7004f5e2b5890569994eb83c957c4e49b49770b04e052dc9584a38e62a3368c9e16d7186d72f0520ecd422e4c0a62f0ccdd5acceb02e056b0d8b46dceb05670120f19b59472154330126ccaa75a603535286fefa7031c982e5a19adb2a67c25a460f5c39e07cd924adfdd2e3cd4da82820beee523b06e62d9172e2bdaf1526f398995c2f61e660b4891fa35c381244fb2aacff1a5b0b2eaf08f93e401a9e7bada033b2fc272d8d4d858cb9ad5b5b6f2a8222640a95a95cc1962e39df0acb7e1a3bfd651137217097c400b10b580d123b137cc9461a8e37e401945049761f771af4e7f8422726e5e1cc7a9019ce2d8c88618ab9399b92b29f561d4e42136091781559e60ea11557031cc416ac750f5e653fe80e7df8cebe93cc00c5a8af67aae7670a1441202c7ff4e9100383d0de9a6819d53beed8a191941fd0fa10670a382628d413cb072521b73bbf0f770b9069679d7371e36a051c834b93285ef5babd5876cc2e36572c6be5c951a7bf8b3d4f7aabf70b4f9b886a536ede4601ccea2b691f7c856e772178c100b5ce30fc61dfd5ff59a84053dddab9b5feb2a1f9d49c9b582c9b8317218df4ed0c344116ca9081e593b92c9222027f4e6fab814c3c04731704ebf0272753092f5e6e7e130ea37b7272e38c16cb24d4dc172ced168d87531c2503516727014b53fb7aaf764e2c76fd3ad849b0312b7d5cfb2b8e93029fa1b8a9d2e2d72fff8b1219deeb0188cac1cf34e1b1765a7d79350facdad7548c3f3c94d3d553254bcd8531cb3aaf6cd73c60646e6eafe00f3b8e629905bf21e16fc3b5ce59372b28e5a2ca2fd15f40592c66328c74f8461239b571220e0f78a351edd2bc88256b780fc6c8ca776a7baf7d82cbae8800b9e51a12b3386ddec8d385f31f473ec19c7281e3d78658820b8a8a871d89ec0d12bb7ddcfb26ae2b2ead6dae779e88e72e1427b05d9f80b61fc6fb6e9773acc40b4e9367403fc35f4abd62937afccb86bcd87817d0874431cdba3b54ca43f275ed1f8d65c94cd6ac933b008bd5ce5f072e3dadc4f6fd423f0792b83d4aef3f4fdedbf1e16b9f0798ec6072a643fb90065c9cb582b338fba3d2d170a8fc078890a0facb4dedabf33bbf208710d03e6162eb1853e2f2331c1d762ae4ae2704ab0d75e83fff010039b1d409e30a1508b73724c26d3f87b7a4ba954a5fe080c6650d334d025acaab0f4171867c00fa9c99572d9a2640c62ef43974e749cc5cda9a71d7dacab53dc8f4827ee87392b7b7cd37207f4a108f014a36f58ef907a46434ff00ac4004835ee3a263ba200f6fa543072ec18671f3d4e9b3dbfd341f1a84ff30d700c0c97d7daab2cd0ed21d855518a721c084cddf37fd151ee8e2dcdbd895998c8abdb66ebc41f03fb1d61db57b6b23925ffb11a3183f7cbd37014e21c26811fea316b1753b97293b3a7255dc04eeb6dc3fae407fb0dbf98bd512abf9ff5f01e4133da5c8ff06d758f5f4834717fa572085e07c2091224840b42ed5db43067197f698a6220fe7eb59e69b15aad05ae72b024a11a2da0dec43aa4b5fe7bbd5906d4a4ec777dc6f8e592318c40672d12721ef12707f8b59094825d2b588a9f30025edb0919abbccd3e7b41c0b828d7ad72ae74a1427a7abcbfb55aa08733b2c5d3921e9fe7edc75439e0b945c683e779725591a98b929ae3ca856c7c55fd24bb584bbd95ec3fd87e2b409d1c6425072672d7850ad7788b531948b7bc9cbd5b083ded8c061b1fafa4f41cffc690cc998e727687fc1808aa956146c00651c18af944d24d74badc293b41a4f30663af85fb7238e92ca2bb7163005b24357ad1a8063a865b9a59ebb5afd881c841e8419141725e7bcdb751f70eb8584c9039e927bc414d6dda3f2eb81b7b774a09bff2e899722d356d6c57d30c6db1011e7b40d40a5cf16bf025569342dcea0d9be74e1f7f0e859f8cd6495a3336b6d2690754d25b239e947cc13b6c6afca9488116a9b063720ca0ca55970f230f36b34abdb0976432e5384a2e28ac24ad582dd0e4e3a94272b9982e935f862482fd89ab3a9c87a2f088ab8a0aa1326587a595388be094ff72423d533af3f477930c33a1433cf77d18dff2d0a01d7cf3b0f053ba533a48f972770e861cc570a693c68a8cde5b1c6f63bf74f3545bab5303b4e968855a1553720ccb15aa8b4f15bf372e15f7d66ae3fbc9062a18c799e98e69c3eba24c3e72119aa452ea6d4d9610c2d4949fe642daf6ead31807cb84562322f074402d138d723285ed4c609054ddf9c4c82204ced32f642e46d5c58e160853f2d4f61c9e5a72aa1a499d78c0620f31dde83b1665aae8cdb9c51408208333dc65dcbf458f843a7a24d434ba182734c4f7dc2d0f30d4a06cb0095168cc8db05fefd5811fae1a0163be8a5d72e087ed33266d90bde561cd85cb57a85ce73053afb67b5bc0b59464c3acde2b6df47761616059932245fd84595d535a5e0bcd7e4ffa9f6e0656f84e894b1bcdb269f2b3d84728c24bc9cf18f1de5e3e482fc0dca1afff13643b66403e075c18ff8ba2be4becde6d843356482ac38cbf3f8b039912b91a0776b17d3641d4bd1e9e3fb38e756f09b2469d06421c55ff922a263d792f068f8b29e5435de01450779afac70435653e3a2034f96cc80e5f002ae4be98a15295d1f2848172ec57e48cca8516273fde1bc1fb7ec4bd82772c54a014bcb44d86e832d1a618726870fe415b89acdaf74f0a73e4362541bd3d13a3dca5e117cbd35160112b2272aef5555da2b9da5a95fadde2967b93aa6570721a605f627f7dcc87e35e7b952ed74aee0c17825380a1d795f5bbbf8eaa04993257f61510196ede68d11b22ae7292a281c7c86d6b1984d71816788ddbf679955133cf05b7e6b8ff5d8dd397c072e3d5c67810a135de262b1b297c5fe6bead575b8c137a52c6c4b2bd605cca9072abd0b61a73f4ed9e541000b9999bbb8a7738245090ec12e970342e362ef44272e97f7bd0aeeb8413cb82f0268386f4eb70486d64d71702f4d8d5d2fff6ab780a9189116246d2278aa11e8d72c7023c9fcb9cca04ef201d0ed84a80b7a2d52d34bddda9351f86ba680b4d57741c834be11e4d9ecbf5d8d3bd7226f7bf622cf924e2173cc3104b4b94295008b59da683e06f03f04ef2219d279cb2bc773340b8723d16b00321aa4c49778339a5531f60cf482e43636b1d2e08e2ee7a97899424551e8650b1c2b8c9b80b52d75bc6ccfec77fa8e82f52e6667b720efa57f5d2ae725a73fc188294fe92feef25543b7fd8e090f42d58a2015bbc27261f8ddec02e72c42a8e89f49d0d01a73bd845dd9488e3b8cd63291355ac164c5f9d8a480be67295fe7119237580354d7e5d4824c855b7d375b36d60c57e08d9aa2890529ff045f22a19c60bf53863c42996552f2dd1f9489d0a36b4bf13a9f133e146167e64728116ceafe6d45944719626fd50f6ef5a909eaf46c9f9b5f2d359ddb5dcc54e37bdbcdfd1acf42099657914270e026673bbf38bbcc7a4adcc43e228e46066ee7244c85a1d26e054ca59e4ce2b1fcd21668582ebf4a9f0bea1e79a755ce0bac00b48006181ffa1ca31b0205ecce68eb7008fca82ce9c9b7c32ee5d1dbdef6add17d8ac2881e6fef1c93cf76cd94d321cfa7eb591c580abcab697ce7bd50be47972ab967a7fcc90d6b1396a61d70f943e521ace25a8b5575b15d34ab52e1164b772ca7d6b53652667d1375d64252425e5be1c105fe200f41975cedeeeb531ac2e3baaa155cacd5745c21156c6715b0173115080aa6eff390f7c89b2a71261197b72c34c7fa5ee0b72238d1b8a0c2cbe4e750c1cfadde77f252dc8820b14b8b84871021c9a946d31d352a12791e2a4229887ec69ea6a79213f09c0d6c7ec56a13472fcb2eaeab5216efc703067f10dbbfd339d817beb583cd88ece3612099b2b9e72f74c89fe9314cd1adfda79cc4cc9d2aabc5e9c763215bf7a314c916d5c4c663207652a767bba022cfd9a90d2b75efc402d3b6a8f79d66b6232fd6b3c2c3b920e848535a313212683b8ceb9aa7f38413755f5ad8caf20035eaf0ea91a60e9c77206a06c72606aefa98fadc4fbaeed5a7a80911207e2f1e501289080f78f4871724ad7878f0ec06def55710e3835c4c1783cad96f0f94476f851c3bfc7534929727b3c429506b31187c9e59137dca408aaea301d33fc2bd96f13cbdc732a9bcf2d0c452dd86a02c6a19b8b02c2e0c9a032eb4fa5c2bae6547b86bb5d486c57b7607d370c0d91c4a596f1583ca71eda66da5b7a774edfcb0b2ee12dcc21b8dba049567502e919b0d5caf838767695a2d2d916419089e046e353c1008bfb3162207297e086b87d3872b5934288b4f285606daf2c943a640e70f53ece0ce4f1b18c7265e4697a5d69fb2851136ca208b5df118a20fba27e6c5800c3000dad3f84c00829e44191e7585cb46d0be69de1decadb54945ecf465dca3f1aba0fd8897b7f721d272a76e95e9be5f845eef5ad09c5375f22b631b10d8e205ad8cb40b3c5f14a647e11086397ca8377dff955bcf5a5bd59eb1b2a705c9e6c3deabebf1fa54672bb823fb5dc254c6baf813fa5c279de1c898d53e7c425660a553e40724bc722523895d7d4425c38a84320c4496b91009bf180ca5a8f93ce9cf7cb68f768c5eb6c9d35ef51eef6e27e31f651e59a43cbcaa545946b3b0719067530e5571fcbf060663962361d5fc8308d6d04df150fedb8a7bf7f30d9b62e88a881e13893b2ad3fd6d51f09a5e6106211c512197f986aa44275dd26554826a5171a15bb449ecf72ab64d468bf33d2e4b1b8054d90b6edb7e7e9a0ed77a5b7451830969fcbdc2772af7f761373582caf0846d779dd370c8201a3bf8d9865986919fc9bca09456272c636ed7397ae6919661c7d987e451a447da9ba05b736f87a3f805af20dd72d72e73d311ed57decca6c78e16b2bdec7eac4f7d759541d56d7f4e5efe2599ba03d4e18f565b2bf9a17e9a60f91d4076b857eeb56f5822dd5dd3a2d2386279240723e953f3bc13f1d5ba4609acdf2f5be3e44c63a334c9f86be60cc945b8cd68d699203f06fe523958850de984cfc26e5cbebb59d6ffd11070343c0a8bbaf318d7256b68e301785fad5a044d011e703fbc65744107786c4ef99a982d75a0398d072f9a1f8513e8376564e900789b804f8e5d4133c3ea0569474f7dca4988a2ccb726470dbd7cfc3deac289e60ebc345f37d172a501a89b7ea8485bd68fa058e33327952c1621111233b76e02ce1679484209286dd97d9dba11639d2d4dc1c92ca1196020313b47bea59c2fb13395cefa6ef90c43894171276f089f940ab4d1c7024428b503217acda6cf4f4807c762c01e7969d781437d64a4cd1b96130deb531721faca768a147228534f6c38c1ea5c1b662bd18bb5879341ead0cd805e66d467260230db5ec682afeda274dc7205bf03229d42a28b99878f615570c92583fb072da6fd5fd740b68014bc65d804b39d51a3042dffbcc20ba837bd0b64246850e6c7130ae4845432c38131e253290a2df85e72866d4e294e3b43a2fe7e9f9b71f41ce11147c15295bf89c1c4ceb2c3b0850637856d13ea9d87bdb2b9a56ac133e727130251942fac07815b932ef5f438b906f2595b1d6bac29cfef31bb4286ad759da9e35dd5d08d8116afcd1bce0e360e13330c102073987ccd7935f6a1d4701620c4eb3ef967d15470d2f54fcbceca18a4afe85d421781be6bd8d25b0983fa772c3792815c00b9d0218bf45cdeff9eb067989c433241e30fa956a25488665d172147d77d23bd14f404f38e0d83b83b1ee95524db23706b0307c33c5d01b1acd72f5151c5023ed09ad648907ccd895e6878c083f2359390257b79c7571c5061a721b191918267367eb1afddeb60663bb199f5a976a11edc33ee7f12a380c43c810e4d100b6e5227455c4d66dd14fabc291e304a5ffddd6d51d9f7c34c38cdf835bca24c89b60577d3f7763d2b0e8dbc72c3e1edd84f0d0fd5b8fb9bd6b48cbd772f2113b1145dc20ed97a42b9ec782001c1066d3b19f0f0c5be612a9af9a4f013f0db3530a0968f5068e5ec80e9b710396d529848d7101a1efa9a4df19d85475725ba2bbb08865abc3237e241aa8b6cb6edbb5ee52bf2edd3f651817c9d633a7728cab0db9181397ff6bac72a37943bc6090ebec2c2b2d923d989df6ced4924072d20fdbdb3fcf9ab1f67d6a5a3de227added50248ea2e9be3b12f7605ef7832706fefdf74503edcca87cf93a44bb69eec245e1d7f7c8d7ef02d32157b05520d1dd2f0c617c36e935c392e2a3372d2f29afa315ef6ab6452b8996034f7cbf2d9723021c970caa357efccd56b54dd2d8375de1c766cce8db63ac7a6465cde3acf727da6f8dbf92221b78ac197d97672379793ac5337dcf2cec5ed556e6c7ca572725fb29ce78f16073c38d4d45ad6f09e05dea96b87c2af38b9b25bd2a05abf5807e2de2960ca62df51a24d9aa3583416e0f61954643a5110d7eeaf59d598bd547226142a6b01620007c3731630984f51f4c2f743255586b1e97e324c36d46cf172e4551355ecb05a9c69cccdf4e421d18e9aa10b5b80c45bf9d57f81366b27e372bd921718dd218b73bd216df23cd09e307112ed1aa01b557476c1d0f574c79359478759fe78f1a746f6c4621b24b67dd4f43ee7d0b1b84c6a356c95534a543572b79314970a94ac7424adfce3033b96c695cd6605f430b722169e45d9a9035272ed29db9803ebfdaf03c0e1b762b5445764319dff6695388696c7822f5dda1a2ed2ea29f72c7fa612c9c62e49f242d0bc288b4427d06df53250918825057fd6060f574f38be5a01cff261217b22344572a9259b7b56eff3c7e9c2b3f212dac7727720b8bf7d6636262990a6d7c765dcf6ab374ac8cacddfdd83ca3e3e1327dc72d57c0bddeaf905e9dc8519e8579b0f443686889299a8aa680fa40a7bcdaeec72058c35f5fc89f08f879490497152e95b8b9430659d62661dd8bc99423f3ab3576aff8d5c627f684c80d8a133109d777bbea694dc75380e2ad378a027ea25127219a019acafbe1cec25b9561311d4fd17b1ab53d41ec84ad6b284a57d82ed9972b76a723c6d38a3d28a4b9725f65d8c0dd9b3d2505966027cc6e21616cbbeb8728e0a72af0fb43148cffd5c95cf0efeba84ba43d0ad3379122909109b057cd472cdbc41a4b991016c82a24cb193c459b4f742faa747a5769269c8722fb6394565bc26b11fecb5d4f59848c2728a1256b8864b525e52445e3890d59714762bbf65f96d5c613ffa17dc1095a6ef0389b195114433a6c601eebb6b1bb9582031660fe424ec9c660ecaf7fb718bebbeb1daec0566a8c775738410726d8de83c0c55722e43cd5159566c13571742fb22aef42f4b6138ad6159678e57a58e4c15878d2fe876d6514b4b3cdf54dd9a74f39b2bf6328d8c8f5075c151a04752020a9af772a6da65c597f4de164f39e65f1de1566593dee474ecbcbb8d251abf158fbc210cb0b742aae90b40d8ee3bfc2294fd0f596b6034c1253c9f9571e524dd9c54df72a2ea4a5542d53affd5509e67bf7d0ed2888fafb10433c600f90bb2af79b96242aaa8ac1c881d14e481d492a857a7c6e2effcc000ec850845bf6874f7265811356019ecbb8e9fb3fb60463e1ab026deda012f5c64b4261432066290e5f3b4a1721d851482c613ff1d38c66fc6d68ae7b1c7ab68d8c9981ef7563953df4e33ff473ed857837e5a1595d1cb901f931b6fb3cb07f41db94e4c72c76921efe25e71724b8273bde23593e9dc42964fab175ec15ca4ee14ec75682dc3d699fb76488c5d226a6c04ab0dd0527672a00e2b64f0576edf25cbece644a1526d07632de63f725e8b5ca8b43855c45039261240057c7998606b3b9b35e92c6400649179a0dc60a2ec02014d381637c2278ae9f91f5c26aa3bc67d31b1554e5e4050dc0cbdf3727c3399fc8fdf0410d0cf2dbc5f9c7c53fbdb80fbe979ea1d9954ff39992f63486af29db1d26e08965f0f5d17ff0bea8b501b86b46d39242cf77ca001c49dff56269a3d6a3739508d440629c8914cf1ad78e0c0889491b9595f94c3ed57595f720f580e7fca2cf537a205eb2126f4f6411d58a18c1a5265bc581742d7ceac8172a7d31131f3d2a304ecfa652ac22865a2a678523370464178e11eef00327fa2108f545861b94e9961956af4d65654f9462b1cebc7bb9b446d764a07f0a1e7635c0300f1369c95743723dfd27ea3e3ddaebfebccc7515ca96c04225351f0adf972845de61134733fd01c6f4f1c071ed04c673db61abbeb4f6f4bea05d0bde7d672f933bedc1b62aba59b62d516f795e84585b81c66129a3b55b0f23431ebfdb50c28645b55f624356dfb17da359fa9170711099508240b98febb44672b8829fe72e7029d04bbeded77537a5177007799d8ce9cc5a8bfee88138843a4ea4662f1696392d6e71fcf53bbea86d88822f97d0ea08da2b9ead83610daf088086e6a170aa51a3d92db9f2e189bc7c4490a9a6269b55afefc5d7c30dc6993ba51cee68a2693b5e561e99231e7a1028e2093bf4be6b1eb1b3e74093154f75b417799233c39aa24e48aac0bb462ccdeb9fa0ece77ba66614fee258751f70dbc38998354677223d716c26337ff7ab42ff35aeab30baf4913d3045499b32f740e6ca370f8053228d785c309a854f46a0e3f81d9b8bda9a5d43d16971a35653df39fe98e119b24bc958b55ce68d394c1343751855a2217246af98bbd0393564b1db1d8530483433c4da2ff3b6f4bf33f4ffb79f18b057aa1f0a211ae39553c0c6e651c3a856972c1c0442b17508cc78a3ec75f581bc64862ffb31ae8def849bbf6097d5f9210729aec28c1cc0f0455f65d827ab7ab62079bc4431ac42689a6988426575134bf727e2ed6afc53b00a3874f617a3c174c480de03100be51c03baee42986c4b322329e706047182aa3b43c73717d77c59b07437857f166b6c2a0e4817b112669be42fd4fdea96355692a78e2ce4eedc369a9e3ac1b5e0c8aedad3e49d9b7c99ab372cc84f1b18919b3569337546cc445f8b28f8d3ea8e88d8463d8d11d279da3063253c35f28aa19b644052065d48714091cf1b5d2ceff85203e2ae78438f9d6226c684aab92a5f8d3a07330ec87c43eb36a486bc9b5befe10bd0be86e65ce9be835aa293c21108a2a776233d7cdf822805af40f3d09e179bd72e8020acd308e35724c9c97b467d8ca5f452de9f662b8dbea9b6098843d39b57f14184aa98642907297ded10387e3c3205ca5fd80110aea9c254432dc28fc66495319ac9c4807f172654947874adc60bd40b61386969a98d99e62f822f5904d060fe9ad8127bc3d721b65dddb1a721b3dbeed35318d03e125fb6dde61595255ad6fbe7498de5d1972d1d7e4a1c566304c0d2bc4f33f8fbac6bfc7fd06dd770b49162f43d957a2a272a719befbf000f175964dfc43730d0f6e95420ccf04d0b320706389c1ee615b3133f2e9dad52afd84576caf9516b982c40c9bc17ddf4dc8abf40066203dd14e72929e62efde3e4d210d1f472d8a86025c9c5cd3ac9da5ee26ab51d49954c37672b355b871bae014b779b0eaeff1e9e422f35b40d1f319d2dd6ca57f66e1650272e8e37825a8a9798547eac8a1c11deb73adeec1b2b9a1e6da3e6975599b4a3e7230a2c3bb1eec41fe0f063f1fd86761d9478fe734882cebb14985f2683e00ff7289c405f22f111824745712657616b74f930f9ad6f44a7613e1346ac83ab28d0b4de7c1a4b027a729e55017544f817fd185ff349cf48f246374cc9df89dfbe62c34a727e8ff1abce800b969a21c5ec4a3ca7193e02806fb4ff9989f93c78a7d4a7fb910429fbac7edb92c0acf2dfa5abf329f9b9cb8b5f38792f192d523ab61724956586b91c8f20e039cd4f97c19c7bac6c0ea2cccece98558a801e91e3f4863a4cfd74b18d4ecead02a4abfa4f32299624fd753bf55353ee3d1bc8cdf11ac708a8a0c31d8e07ebe9d9acfeeb30ecc52db44fa528397b92db961820268dee772eb0cd6d6eeb3d505ee175230c56ba233730b8c5a9d4acca6f3d5e05d9c2afc727fcd8a6b5277e6206880d70d892769f5a78b15703643879d523952d5b4e3184b57e1bc50e2778592407c90c04ecd9946774ebc3e4cddb006df9f98e4f17e927266667384d8dd649f6f6d8b1a0b584b37127f11231d4a6878f4531c3a08f99572ec29db7431aff973f56a97349eaef42e16b4974c63d87cf0e051b77c2988ee500f9291a5a1fe012f8b26cc27a2c92e39f810a5753038ad4da06a9fe3b3ea8112b8dc50c564b168cdc85808464bf62bb7c8399b882c6b2615b039d7f50571be59367df096f8d83fc952dc9044a89ff3fe55b31c0760d4210d8de4539bc479de72787b4ba26e48f8fd1a605d8d3bcfa6e999b1db11005607ef3927857bf68cf172ac17aef43176c2112cf8d05878d90f95b8a12283f1f7a220faa1ff16295958188d21eb8af7d3164ca643cd6718f642db682c62847379ba038d6b2a2eb8e9cb5da17276eab3c3e4155694d447169ea2a312d5bf0a0adbee0e61fe93bf5715434df10176a5d1e590151e0be85e1ed58450111df0c078f051760c911460b4570e39203c645405c87e6cd803350a59671461b43caa7c28102d4692ed250aa8afb37213850bba0b76248587276677bfbbb34b249813957787f3c98177cd741e2153720cba8bb1012e4797b253e9091956416ff3f97f5ec84f68752a1905a99ec87f723664aadf47f17504b572275ae008819c7d481e76f399f2dd8d9ce1677007de72b940f9ce3e1bf409610406a53441dd221e4e851085f656a37d2fd0376cb3617290acd452792da5be1bf2237580535484ffd6049518ad83f530eab3df5c5ca372cdc0f8d1de74cb708985ee5ff449fb9de7bf6cc3d9bf373d3b4a69f205e1190770259f04d7650ecfb8d478e7aa694815c5a6230a73befb27bbb4001be98a4b4206c5e89ad1ac3adf3093066f5c1f8be9413422a3c98c2e7a225f42aed7a5c56df971a39421f4787a9f1d8fe121b04ecead5f58af5577476271646d0e2ec475727f63fbe7fcb3d08e7caba855d89a17e493bec8159d195d8bf268972ed364bb7289d979cf9bcd17f9492144f510d3b53b22056e35f654c8d198067cc75f116972eec888f7b5ef64e2670a86b3c65bed427aa6996dda2e55dcd0ca3c27dd1bc702f928a520b408ffc671c43491b931b4b6a9c5bee4f7ecb64934a334d25969cd728e53f33154d8d956d5ab5d3ace9018626b3330be9324b0e9b3ecc66e10036a7208dc1f0d5f66ac5bf00b1cc7f76258e7746cae904becf0f727cfd9300a955872a6632bdb2df8eb6d717622adcbb14500de7226b2f1cc3f3a7ca62f98101b6a72114e0d791c10709c266c7f5ca34765be3dc154aaaf7ee8c144b577e19a95bf68433d1eda58cdb46f7b78099b32d296af5617777abae960495d312544a3735f7274b6a0031467c7fb946495641b91421da9257cd42c484f7a8662704d1db93f72a7f0b344f40c862abbe39654a109eadddec89a5faedd0c8b5e3d2c591f87f73e7c8f0d09e3dfc1fab5823c6d224385547c35ade1f7871b8823508975f32786729ae21057f6eee93643cb996c6af4d1da6ff36b0e477ced74ef96b41ebb97047265a9d51739ab1bd554c7542c6a65955da79c39e75bc0202e405fa796b90cd62ad798d47ec8b53e459db55dab0fc381cb7f15a154342da1cb1bd77001ec2a5472eca2c7b03a18458327b221de37970687744d9eecc9b4d189cfc6810574a7df664279f488001e843054a4650dd1b934100b9508e43b1899c8469aadf5b98ddf728c72403253871e05c110bd7bc0efe42aee95696b70b84638c3a7adaadb9c7972d22e5630339626d0058bf5919618cdb870d125d5946d851918a630e96b78a852afeeaaca4b891059d575ad719f2dbd10116f04815eb6dd4648dbf2cbca3aef7238b154b2fe6fc93eabaa9eaca9b846e1d1fbba04b7ee8114b582bd67248f601fad29dc33ecd2b5616ef8a5d64504ff3a33c1bd63e1157776d4cfbdb45a3373729d935385f7aabb188bbd2d6e367ba6e970e5eaff26f2c1eafb57876c62fec0281bc7e8d7e1163bc85870e5e368566f4c44d8de1af386a0e222b9739438af55721a8db6d18033fc3f2f1e8f7bc1ead21c033731308e320914942ffe1e109f027275045a58cea4af2f840ed2c8f8d53480364d54f3c75cf8bbcf0416a231acf639ae187f0722040c7fc23627984f2cc3e0484343a300139adb3eb25b9bf3e4f3722a2b0c3e205bda6a427795ba37cc02e5ae294185a5c0f8e1ead23a4b8a2acf5bc3666aa67a5773c14bcae2d7e4003358988248e9edfa4dd6c042d474078840720fa307f4d3ea45330f28a41b9b967456f521bb717e41e1504c7babc9a4f8577299772658f0b69468d74d61a34df42bad8c7e96e7c26b923a290964225eb6d772079613eb3f309a65ec46301f0ec7723422eb87946a6bd063cc1df56a9d3479137fccf4abe5619a76b5a15e66e04eacd276cab163fe60ec86c4dd971117abde728cae5c6bd9f5509772b5959ea18d85d0d6b90b988a512fb45c78aeb6f04d3839a5012c0eead0d2b3625082793fba370e9993ea9ab54f1393d15e4316e65e12185cd3d777ac3fa1de27d93674289b9c463f705f8aa17f187a3bf398167074ac72d3eccc861af865ba8c9dfc4d19d475a9f34c51dc002225f18554433b100f6072c7839d3f4978480eb2bdd40585c25bb8a0b82d20d025009367ca4715cfbf645555e8507da6d0fe25e05e9f6f552ebcf6d158bcf12af33f77bc845a3d3f38e233cdd2e4e6c55fe7107c33ec0fdb5a9add7c5581a3d86194fc027acbb3589e85728a509b1835048b04e2aa5f87b43adb474e324753e567b74e5874972454301f7252f7f5df031db1254f4923d16d795f0c2847b1777e5af291296fd6312c82c5693ef01db386def108885e39d0f562cfabac38862e14921cc05dfb9e097c6b761c2f35e8a2a4f8cb6de5f76c1cc6e4aed32a02d001d301644b1b0ff4afece75b72f56a4632c419960c44ac531df4182887ad8580a65c8a19e2be0e068159bf093e0b12c4a85b05b264e66b01616dd198745d42e6b1d0f25d3e6ec2332c140f705d315af4274276981ad74c90738577df9eb61edc90fabefcbfeed513913440e7672c0bf21a0e8c0f8a0b197f762b1723a293cdf873698f6ebcfdd072b33a12746f079c56d86543ec5051d081004632dab7bdd085caeb4a1b8994e05c0bfd05ac700f5c10ecac5135e7703ad79ad4cd347115f4c65878f8ce4cff765a028d9665431d1c86b5f492982f98437cc9a6116799af75008563f188cc59cb9b4618c4e272d70d8ab141a4f524971089e4cbadbaf0442928a6892c2ee15327fc91cd662572c46de9f3123a8f2b21c05bd0c7b28be5ff4dd15fd8a77913578f348dd1d3075b913d0678f6ba7d5278619176b3189afa5e15a70d2d2294c57efda08a94ef0e7213ed239744dbe8e4bc5c3992a8ba0cc3bc0985a260dad394dce1c536a3681c72e07a5cb430177a359a12af0112af01bbe38ecfb218d4cba18094d47796018765ca4fcf325e1d83e8f656a83546715e55c385cc0555a13c442ce9c7f5178f6e0b85b114aa2a5aa1b821dea6a847137a5d574dca6843d30fe79ac8a7b6189ef146ea850dd00f8954c787bf55ce6f8fdbb93fccc040c0ebad856ab557dba790005eb76488349c456998b6ea7eea489903e4e66ca4b20ef7497506e9b65d0eaf030729209ad5110997439f37c558c2003da0114ba560da5e28c2967299aa0c990b72446bbe64c2fc97afea905ef1d020fd9882c6fb81a7e35fda1a10a624a353b87258db16d10fb43d0931e0601948d691155adeeb088a2c23c0c39f097e865b2f20eda27cf1189d725aecd6f18def88483b234120f7df93666e91cea027b143e1721da92d81b2d589cca1c1ea363507433e501cdbac3d9b92196eb1dc8caef90b6509b296d91a823b00199d55495a031384764f3f8ccd44a77d55b1b05741f71f314243c53e0fd9560d5c5d0ca1a5ad67cf98be4106b196a454b65046482ef7586d7c3eac3211aa41f99cb8c5949e33d01ec7ce65070d6f2256b1a744d88e643e352df080af856160c64daee2a781d56a270e02cdf45348d837a5813a28bbafd172d747da2a37dbea4248207640d9ba14b7b964b9b473bf6f9e267cc7329e28cc722ed9a57a259a80ae6ac82c5ed68e9916a4d4e71f99caa3e6979e24a06cd8ed72fc3d4fad2ee738658968e46c43dc6f0a5da5c24d38eef27440a1ce53407ecb3d885ebc6eb6f42468f1dada54d4f0ba74e679212a392d0581fc16cebc57dfe14f31291336c55160da005d90909e90ad4b0ffcf7b5eff40c504192ae886c4a3372d783da6a8d3d933823985f9f3bb91f2763355b0443f4e008b5357f96410bef3dfd8dddca64df87d9fa78a6e6d2a7f849d1994c43e40d70e731a5eb5f6d8ca63851c5dc7756d6a63f1f8adc1dd926030792daf02542d294609e5133bc169f98724b024e35e0d1a4a756c38f77fb5155f5c33d39bc68092282c5ba35569f745c729ac1c01e4d8af78fe4492015aa82b04de542dc450d3154fe7df4ed9647019f72887da9f138c6d1cbd0e0e8726a157ac797992f96e29fe73a5db6a57cacb3972ce8bbba27b58383ba4e2fefbb4729d8a3266f738d8a00fdf5737b53267b66ea72c2276c63e09d057ddc8f0734b604f70e4adb0938b53db4c6787f613f93fe2a57af2f6f3b198a5a68adfdfc79fce404986599f8f7873f5f80572a792aeb1c2072fb083875eee4b8c3dc63ca7a331ea92b135ed23aa78533dfd6cdaf03aebcbb7266953ec4e53e5ddcceac874a62ddf8941ec2a8a7479065b43566b7edc4c23172ae233a4e15725443b3518f14567d542d347832af056a500b08c48dab4b0d566aead4e7ec175110a6d9e0de832fd6eb6d961cb536fe7ced9028056ed5c0b0cc6a77fe2d47dde26c8830fa032204eea4d2893cd07ad2f6247cae70d1acc46fec727fcc9f90f74ed8e3f684e58498048e1845a5f65a4af00f25a22317f089fb967244d16b16181050f2adbdb27b4190ab46e32c5b4c5ee7316864e926c9ab912f1d1be2abd8836c6fd263fe177eef7934c260d0e05b85cbe9f3641254b996b5d5339909fe06c8e96d35758410f1196ed2338a9767e7bde78aa5d7c0cbdf09a930727dd16dc82d8da84b43e02eff0e1ba9c22b388480d9745a06f10a49e3c13f74724a3eaf990140f9d77ac39177e12542925a398191c39cdc47de972e3f78d97d7278cc7c6a75d2a5727db3cffffcdf1ed4282d673b58f932d4ae6f26a1d1a9a4727dc65a956ffc273f45837d1b64c054f854ca234dd973a66fd02a467a717fde72ec5f7d1300494ac41b40fef9d1109354b94d57aad8016e330aecf79d4968ff5f878ef9a19b2cc573efc41e927f93cfb1863c11fb4cf00083db880bb2724ffd334b3e72e1b067def6c4bd52b7c05449343f5857f829f65a6accc67ec2ba9e5872be4809955cd5a047ebf6b1d482bb6e04640fb921c6f684e542a4a59dc746452f0a14e31a99427c3c2899c92271d173c856661ac97a0f659abc71bbd8e4decb720cacfb9af9c25ebd9a425450e1d041f720b1963ed5d7f3d36ac49cfe9a16334fe99aee02af6166fa2cddd32e719206a7433dd95aa642e569070d673be37eef725091aae61b2fcb37b958848cd3d58c146863d6c28b7ea2a64cb01bd3301e3c41ebcf332e5e5f59190921db39e04f441be7edff91420d4e61869aee036034f872b21dc76d986bb9a4573bdfff06a933a7adb19dee37c9b708c889f280dd65e7728bffb1711850097bd84f451bfcc26830066f482954511c29bdbc86eb01d78272de402d3f562d2d4e6309fbf5fe6cfda29e9435805c2e15796f0d2c70dae35f3c67d862b9a3364b76f2a85f35c3d120c97f0cb2ef6619946fe6530b1d9ccd9472bc410805166f95a7312174ce21fcc6b4eab5b1864374a7f1df3c733e3707297281db3fbc5f93c3044ecaaa1ec0df19012ad891011f18b746469cb4250c315b72b3acfd4fbef8580e8a508d4ca05bc2f7b43368a68b253bb0a564d3defb5f64418c6ab135183aa77d6165a37c67f12da7ba27ac8a44201d7a44ca94a9302805721641343de9530e8166d806056a1f663051e47c3c84331add468530fbcdce407202b60de11186f3555c17185abeb29b7b451a4c7a7137dffb4cac0798923d1c7267b79ebbadeef35538f3d0488a7d1ac9e68433d93db0a478988533b8cc2ee57170e285d507901b5667aad8c1efc8527b954699c3c3e884aced211805807761720fc56594e57b9abc49f21c1348d4ff8713618e2187d0296c283823daba0d5c72b4167ad43ade132a2bad973cef36209b8bdb9836e560e764fa427cd2bbdb6044204a496154f73d701e0563b70b36d88ede34bbe7dc243ecd2e590d871b57c672f535caff2d81d2b1fa06059c8125617f9bda45afe63df0fc89a92316c6681572394b877db5110b00ada59117f05359152d69d0181b4ce7eaf291ccad7692e5729468579c40e34341dd0745bcc17d10e2db8eebd95e254e68f2f387eff0a6f30ec492feba1cc02f8f3c18ff1705edfae9f5bb16fc05fdd905a39d8e6f90cab525ec0b68add80f0cd059c29a13cdcfff99f68f36066345a8983fd35f2aab65c272ee1a1c374b38095e2ae145d16312874fe1a932a5a7032208adbd71b9fa5c6e5c3d18ab5a9c6751d1567f77878446768f3d48cafd06104b67846a1188c2410420239911d0426265979a3f737cadf892d2ad237501dd307594aa64dc7cc1826a72cf6ea9536dc4a7d63880ddc6cd5d6bbe467267765a57e9632ddceda2bff8d6002bd3d2c95b8f9041bbccc5aa16964103be66151ff8d16d249cc2b82ced74d851641cd1b2a04d3614f300d9aad4b26198b67745c2c23d8cc19155c7435fc871621faa9009a5d2f945cb9c462bb8cbd3463859299b519c6c8ee9ae37204a86921dc1876893700902288400b385a72d2bde2553b1f72ef986251763a72e10ced14c1b093985998dfe89b76cfc627d7c12b3ac3ba32dcaed92ea3840220777bc7048c70d4c4b0d0390c8c587d1d99d43da0c89049597d04bdf3f702deddbc089d8726e69fa2c7d7bb4a10da60e1b84f86557c99f0a3af533a6a07e4eeb07425a355d3654b4ac2c805f50c2feebcfe1b33ec03da3881e693605c729effee27ed1d13d00343bdf49d0bb102b632958e8b81b34ea93d4f5da74f1728efe0b8ab64aa26006833564ca74e82895239e65af1f301b69fe7cdc1c1073433541ffe68cabd7668f670522dd9185623dabf3bccfd4a9b89a463dff7f873cb8cb2c95418164ba72dc74c59bc7844db1ce7a8f7c141e9ccec66f21c186389943b217e308212f2e72e0b273a9a0f7b7ef4a8a41bb7170806b8a935be6e2084568bf00db3ab0343e36ecee59e434a3690bdce71b3b7923940a32a070952439192f61a3383a5d85c4720d85cf76367bfdf040631b6d42e8bb52414f768e8495bb653fc2674d26679353a2167cbf8f934ccca66076c6fd7be97b396c18662d26bbc9645102f5dce47454ca7538ed84f3b898cdabd2b41503acbb87570f1087d5f37e8fe355e71beca655e45fff8b4e5dff14563bf09362b1f150e2d0974afaaf41e26282d10048be3e72316fea2a5bebe8d4ce4ba46ffd9ef7c64d01d2725687e7b43679141db4b70e723486dd5ea986154c12a9e80d46d9f49c30292d3ec002d1cb1172f7f2b96a5872433ea417b7ba29df725d4724ea04988162c88c0ac759bd80ef1f2a1b349118723e15dcef9029a3929fdc8f7a3a93a53c79bf7cc8a1f6fe8743506583fb4c5a0f422b963e425d6d0d89e0a104e25d335a19027f898ea6d45f0b4b179e84505e0849241c05f03a878d5fef9b0e8b012943ddbb9388724c6030e2a8b236e903db7252797dbf8b849e6623e618ac4176cca3d67cd29f19b2e93f3da9eead8cdbb10c89394165260b348cfeac9366108017ec6df38d0aa8ae4253f0ced4b99142fb72e544e8d4d84f160bf45b56786a12d6aacb80498db607523260f2f9008e7f0172a526cd1fde87233d4c6d213405f67dc307918931e8b0e939f069f7857b5048723d6e339bb3aad06134a39f8af42a42defc4b83023f3accb0bacb4f26a63305724bfef63af8c825a766a709c97a86a01d8f9e9720dcd8e4e10f66f1f1f6770104d810a9cd074fc8e99e4d92a67be55606c279a9f4630d32760ec210acc26f29724c0ab3e538b9ca0462522099add366223e5787b732ca9fc5a817e91221363072af7dd5bacc28a1e870a4d661d1e3ad5cfd13f97b66518be2bb6c776c649e7472b11dc8951c90c7c6cc6321d7129e4488bceaf5e08a9292a642040fc2be5f4572cad5475b7338e17bc09efbe76f66ec7fcd3c84a8d955ecc5d3a44cdfb8eb2772da3ac5ce2ad2489c346ec31c4018ee3404d875b69783b7b4a3c044feeeeadc725ad2ec55bdd03168e00f25ffa0c974c9576c5749b5122af21b26a3dc4a8bb0631b335569768da2a8f0e6bdd31248ab4c519e6e4ab2687fcef0c4410e88101c3008b0f1651b6ff72af5e06e21d2677bd4c6d09f36401f4bb7c59815cfe8f9a0076e92c7d1c5cfd034eaf15993798d078e1d8c44aadf6e52602bb98e2040bf8d72d156e1af7e0710d9078c609d6f9f751f2f41111986d5f9c6e74792549ed65b7201a1c29b487cfd9fdc3523f50d7fa594c37973fcea19327b39f94c16bf424b18bb6e8c4c834cb01bd8aa8d9cfa2c290f9a063166fca2abe515e4bf1fdf652b61406806c30a4aaa64826883197268b3f3fc98854884a4013864da5cdbbdf8f07292b939d52a320b74f7e10d71a1f69111adace11caae5bd4c3644efa8cc617e728e1ad11eea2817a40b56682b88391873be88dcbd2b015fc5147b6861679d560831feb1a21eb6bd68a316e668790b2569185e21ff2bac31325ca532558652da7242edd09f397587967778fe1fff0084a4db5713e1c6b1e1ba88cb3d96bf25a9674cbe301f04b203e721935d55c5bc35b91390bb7b70820499dac31e8250fd112d58188dbe6c090ae9eab92c54fab8b0b907cb693def78cc68a9f9df13b548f513ba650f6dfba6584bae7e000be89a5721a3f998f55c036dc101266d24971ded119b554c8455acb4da76956b829387768caa28310b8763516617ff37d586535072bf653d808c692657423cf738a166662bb1630b99040e57303beb48d767df973b906ffbf0b998c7b930b06e61d42b3bc65fa31f2dcc82e86592651609df249172bd65a91281066a181b93b978b782b0239833e0aa6c88d880362a04a7ec1dac72ca0b17e331e845069db6654a418dc75a56793321d477177be71beec979b4f05033f803f8db91b094073928fd192eb13e271cb5f3aa0eadd37dad6d2fc2e8c87233e7b852798c396f611fee46db1e872e0328c886f2cd03ae82a6b66b96f0dc72dcfd5ace11f434ad9e34bf9aa2077de0d5a793825abbf0afd2aaf352e4fe2515bab70cd6bd7ae405413b1b760e6990a0cdca11e7a1a7719b82f4b8258b6761724aa0973cac0cbcd70bc309e56132ad322f190cdc4e9b129838cb4798a0e329220ca4dc31edd95b59fb2d1d1f938e3f82d2b5a8c9956fcabc73fc4496cf7169728f3cfd0f95230726f0c7362700dae410ed04fa591dd0575d12617712a418544236424f9a4e483f9f60c485a7aa32a93fe3a3601f4bc8d088678b8a0d2cce19721e5a2740b6d3772796bcb810504bfc84a7c24054a7f2dbc8f092b8b69f393372c7497be9bdd47e91bee186e66f0608a6544eb81a9f24b2e000f2bcd07a34007287cbbd62cfc953da35b320dacea4c7a3154f0f8e0abd9665da25d7cc51dd7c0f64405c14ccc39ae1ebea89e23a57ef3429579d9f4d1cfaf64d8b85b06ccd2a72616573c15e0a0557088a9a57e2716be27a7fcca5b456159c7487bd1ddde05872a13302f84a6e272c2c52636b78eb835c03bd108a012233f2ec26fae34c36f13c1d11c7cc51c7267edffe4ca63f65b4c211d4a521f1ac024adbd2db07047de87213a370bc4602ca34e098ba3317aed7fccdad07b74c1ad2dbc5e808f1e152667228db2ea8bf39ab77129a82c62c757cae0d0e81dc7104a264f01b5347a9e0ef72662d3eeaeee2a094317f53b8b480e15438b9fe4ef0b77c39c3c0f91af84ba60469ec6b2b4903698cb038291e22bbf5959ce21b88d2b814379e2099a8eeadff2a2fd1353a33322f931ede1f75fb2d7c446efac39de489e7196515bc8eafd2327250f5eb194b09fe66bcb19bb9a7520fb2a842e6fee3d55810a840ae04c7ad876d173f62785daaba72ee88eda336eefe25e3063510fafdb16fef05d6a9b93d4b645e5ccdd1926ae08c35d4612f7e3eacde8350a4a3b743a7caf166a139f107410b257d2765e39b49a95096ac3939dd2b047aab08e0f0973ed715c1dad05cd75067d26a4221003a1d171f42465ac2397023eb460b7d10775dda500e18da4cdcbf067f21a73d09f617665f96c50f16d200a9568063b37fde12856268a73c978c2d725688268013fe66b07878c07d5c0e9b2a682c7755228fb8fdad2e762a04dfee12c5c21f94e16da40be4528599ffff71081961b373e414369debf156f8672b66214e4076c25e93bed1435968a6b53008e7ce300fedbf0506184988da99f22c9e48fc4f760341c24d1cd9c93c5ff30ba41f0c0b5d09388cbc9fd8601bca55909372844e15c2a5cbbdb1a6b7419197f3e0ead1aa1cf9c94d74069439501deb64c81d60a047220848a06e5df48aa379c4e1f705d6059c095bfbed39b9de5434adfe6b89949a6612d477d4bc5f310963a1dbc4bcacf8abf6b4dca645564f57fadadf1a5e012154f03ed723e276f332d1620523f0671e454dd4e3f4e19dbe66dd37a67288c4837d3ef478db06ae0b8069bdf985815365f1c0952cd0e3b881a84c2acc20ae3a46b4ef0e847e16adc10bbd74588dfe704ba4f4a19f1c87f368d3cdf12f25fe602f259ac7a1bf3836971bbef37d9eaa1a99e5106c8da08dcb870bb6d09e726b7e5bcd02030868b55ad4628ecb8f0da31e6d1df089108c20bc3e8bbcaa14691659a170d9b5420f101bec23c55e06f7b396784486abde6c0b1a80cbb3d97d727e5f67353bba9bc6c777e09b97a06a1c61d3a8c14e69f549d0edccd620945872c1cc658d5d0abbac1a26f712d33271c456ac5001f81058bcf10061bc2645467292b85e839a0b0a0d017781f991bf9ca982775561249b05145e18ca3fe2d48a1c6c73724cf40d20b2f5a6ba3ae475ff2f85166dd809a6604ee03d736392682672c38286763f1f5f10c3e13870b64b69434d3c1ce610547bf83f67ce6741372c72c5287721cff303d65176d8f45b133e86756c4331875bb420f22b7c14643d23728f527e3aed8f61ab7dfecaad114bd4c69d584ad63c4f9be440c956ddd08ce772ea4db2ffb378cdedcd3857a7f799bf106f80d0fd3866542c7bb76f5384afa9647f7382d154bd4101a5a4db5e12920466c87f246285a7308214adc65dec15c172e0b9deb24853b2075bc4c36275fb8a01bdb9aab517a0d3aa487415a1dfa92721792502c7ce2defee713805c60926521e96918b353f4e7a402413ab6f4be752720cfc6a3925e01a0db09d59f5ef3743efe9bfd3c96e20d8e0080ebc11ceacf02538caf65708346706faa842f434eb135827bec198cab8f12d267c5efa3683d172c51a6914e70c01d8cf1fceb617f747a0ff5abc59c1e49adb83571eed8ddaeb280bd81837d08f9a2a6a31ef3849526ad3aee09b5940e6a652c123afc4bfbb7972b72a612f32a6a1f3de5be1866664721bf4375c4ff61409058ae2125d15adde7240194dc457137afe08e742ec0cd9a76a581ff921c3f9a652c9dfc278e6276d6f97b97ab9395433a4ebef41aadbe67a56e14299423021a11b7f62b0fd79867521efb3dd7a1a2a0f02471531a78028a889d01ee072ece3e0b2561395e26e035b295c74fde154760993b18c7d84e734f80a0ff166c487956cc4d161d8de4e82c9066f5a83e93d6a9dc9492e730c5f951bd22d43c155d187d050823096524ac7d111f0b8b2d3986fec56a6552a72b8abecfb6ba9b57ccff9aab9ea58ce75e6a09645786a7ae24340fe217a62363a6fc69de912b4ba5ceaf7d4673a08b529f4479b1720e47c287360c87c07147c747b402eb3f20a89845183fc2e30da1a75ed5284724f844063ed96215f968bdde1308c1d9616617a7de6389d48301bebf66aba9c7260248a969c19e69934786445401dc89091163b558600a642ce1e470b0f750c72052f1437fb8e6c9dec2fd995aa144fc2f2e07e202652ab2f606bca13d033293d6db2079ae184ea6cb393f6df0afd485cde0bac07ce72bd83897822ca2128fb4ee48ab256a99455af367f3726d0572702e278268892514dd090e3d82e21bb943e87ab575f4945130025b47428f02d818d56a46625489c37f126a9730ea82cbc1953d7f8851e3f2f0f56ea3051428a3668da7db3000c629064236c595ee64e167268781cb239a33ee568d73cd4101aba7849813999dbfc2636da5e60bd4ac1c700ef3f453ed7a232e5f84ee16ab7d85f585f5c6831367ed4807e2977827062417220c5a8c8aeea31f7c39af82164d14a3534fada1758dd3bc69890a1b575bc0c2a3344c44b57dac8caa801fc7b14bfc051da8c9dfb2e4e936df56c43393d731972730cc2ae2615e06e35ce6d849e33271236d95703de4e47b9bdc31211ab04030a671bf75550cb4d194f0d93803b8c30b16ccc290467f83548e920e629ea7bfa7229af163bda2db11c704d1eb4274ea7af8ae412d2752b931dfe5c810de74e027228094896226d2abc7518af8f311095ec6ef244fdaaa751c47c00e34c3d7e9f7250cc4b5e74e6eb1dde098811816d46fa9ae1fd7caa5547fb852ab88feb907503ebc63b1fb09b539a7ce4b5f2fe18f36e67e09ca80e2bdcbcc2b3571c91e7b23d06335d508d19c9dc6ae246a1c6640fed761260318998332caef52290c48caf111c1f87f3f89de58497bbffa30f0674ac533e1beff10c23bccd0b7f885ebc7872f435bf57fdcf6731acdac186edf20ab5fa118e8bab26c5e6de91728a7ebd647293c3eee1271e9e96f9636d4b04f9fb792cd7f4e44f7179f92a2aaed4ff5c7572dfadc2bc67c4713ffd5357b01ae47a0e81bb350e74ed4f1df44a34cabed3e54f95859344b4290db3beaceb71835737924f3133c5742e06f55e2a4e89b0ee372f6341a458df1780551fecbbe02aaeae91fa61ff659643976e0cf08fdb732a6b726e5b748f817b5b800c89444e3acf642de9f8b8ac33e31a88b9fbce72a5ce3872d478e63ca643ae3fc974f92c51e35dd323c2b5ca2cfe901eec238f59205e46727d8e757e6eab9874c5310667e625206b4a30278a4a565846ab7d811f4392b82a95516fc378a590d4978126ee8c8c1585d09aa463262a932d903f35f57bb99b7224eaa77d08d28c24f4fd39e1d3a1b9922a6612da11732c40eda54956f22139723bfe5fae900848d92ab9bd5156908da9fb62486e6b7ec8eccd63b995a2167772cbb8ecc4046d462b1a7a8b554ab8d91286d1fbf53756ac6aa2e69e87d37b1472449110b4dcb419f475f34fde37572285a9194ec682d06320da1f11d5104edf3f103054225e31efafe9c2cfb3b940bba13aa81f0166d010c4f635318d9d020a729e577ae4ad1627adfddd3fd11069dd2c52d86d09033c3e1f2d7b340c062aaa46fff9c1fcb5563c30e3fbfcccdcc5e581b72ef18544da35c31926664e66401d7234b55d06dc26f21d0a1a0fbe9efc7bda91e0a85b10601ef402c42b39be825a728d5ff676e509ef1933ddd26c6b6dc5fb5317771cf1de17bdd327c929bca2ea728f4974cb7b2acdc25411cb1a7cf2e1f8ca4c99fc853df08d8733161520481172fb81de189faedf2149f8b57e685a619b2ee4084950110260704a98f1556a8561c33931f239ef843a0918de9a9326ae78a0545f4be606817d896300ab77e12d7282365881bc0689bd042c7352a9441b7799fed4b242e082bd2493db5381edb2728ad65730863bd92a2eb2c5b0f1ae9fcc4deb76c2ae418bc9c0c58e9e247fdf72a8744ed8e93c732aee375a7a930e9616558ebc6db1f70f800fdce183c1586a72e36e30f7b7e791bbfdfbcec6e657274edcc0d20b857375b7d7eb47c9bfccdd723ab8e9a06748053aef477e6d5e827b4255e86c7208a23917ef2a9e67f941c6727cb315207846e63c94ead1b070bac6a466ea7633cb58f1e7fbdc40b15e815069fa15df6526e77e677664a2bd91436a6b8441442f5b7280a00c32824e39883172b981343286dd64e5a0652a83e44387983938f873cc7456293d92bbfb159c346f72fb821a4a51830944f1093242f42b2533df602ba2cb5c7663d9050c5f159172e119e5dc82a6ad8f9f27bebb4513f1906adbf8a3e8fb63780e0dd96ac702f411ae0b88ab0d87155782729a50cd168f3ac3eefa8e584d67ac1a99661a38355860bf20b383589e58aef01a1586cab54d58193f8a3c0601ecd79e5498605b33a172d37b5354f929f82dfa94c8ca711d33e8d3a06f1d46e87d6fb17feceb2c603c43f6aa932da9b37d4c4dcf0f19288868c55801d53c90d95b6b13ee18451fbb106590e9396bc7bd55f2d5c38d3b8576b706e50ba0af8c29cc64fcff2a79c42cd66ceed0e894cba1208cdd9e0db66034b000683dafa874a98bc0db4e985ae4045872cf3860a334e8739fbf08cab67c9897bfd846a95a1820ddbd45d122927a5bda720b9f921f76e4969a96cdda50ed1b0c6528fddb056584ab9651eb0fe7fc0b0e72703b24cd62824589e57915f2707657cd63491566d1e97eb7c7dbaf29c99d7072de4a8682549027ca8a7bfc5dc0e3575a347ff93e6cc778139e4834f07f16ef4b5880fce71a236941c56bee8984481458bb2fc0f0922a5446f12fec017d369424c228cd3da2dd6f29262ca0e67ce0e729ce01efa769261e4d557ac146ee61b153d2ed8563bb0f7d5b4119b5283e34b7123b98e505694626928c17733f9221131dc06428c66dd999c5b7b8afa45aee49ba9a8b3e31f8a5f517b05413d082bd6f72232e7d309c1452b4e3a41a2aa265807d27e6939af597d48ec6994c64ffc73172f9bdd8eaf0ff22684c938d3ce937bdc7ee4986d465c662bf5244c2dc35fa5e72a65c4cbf7f13dedfad3ba9516a1313b3460eb109efc68482417d9f90804eb7726c878dd83a03513e58490b32d3dbd3325d21a83c6c0ad2f745871e1c2ceb8c720db8e8c4480ae0a8d4350e75825ca14dce37db974d0d6c62dcb53132741fed5e7bad1a55b7488372f640a0409529893ca7cda63403836252e24065569970c3724ecb729cc3f184b21e6a4a5ab9331579f773d153fddd17c2ea2116b937da2872a9a1a0afd8f8290ed8e2f2edd2e5c231898e9a4045d7439aef3597524756ad72854a41bf07f5df9d66d71749ec7d9f60578aa01d391d246d595686c55b795b723e2548422a6b408d876c06c16d8ea1462a0a4cab390ed0391b9863065ecd58728bbf5aa5312804ecb01f55750b11c2fef240574a2e290b4285d1e5f48974311ca6a84f9e6fea7d821acb21c0cd6b4f3a4a407bd6482790b57047510bea86f772fce9e61c89b0815a418266e870e1605893117342bf5173a51ce3ed69fd4004720f5edbdc6477957b3f3dfa1510027741260078b1eeef7e4267bed4b6840cfe6c7f493ed05aaa632900537b5f5ae8b8aecf2b533accfabfa53a50945fda03be0caf430ab7881d65027a8de68d09d8fc07712c01594a3ce70515c0ea6fc62f4947795382094dc4db30734c9798b8a25eee74aba0e6af000495950f9802ceedbf1fab9717c797778229d1bb3b291647e30be4cdd0f1d61e11ea0ebbd6748abb7d724eedff39934948a0529ca283773bfd582743ba32d546a425990d1424c24e267292bdac52d6beb8d0585e7e6e91d732027f47156e607c004e80116770d95d706409a19df2d9d6dc0094a0bae8aedb481a85503de6168318e7310de267c0081a72c7da2ddb3b962f4bbf5dba135ef006ee5c31651e7abff0bc1fdfe1a8854dff2acfd0a516e6e3494f288e398e4e70885acf92a0541ca1c9e8f611e7f04c0a9b72d368d8ba751db52fa81aa1595c7e7a904514b6acda0dde3aa6e3bc1cd1a1da72da9a1002efea203448f6153390f8644ebd251e27092159c013ac1947c7ae607277b08b75fe2596d469c99ba956b9c2383c33b767d4a9df79e322394c5be31a720ce1e6cc83c8a32a127214297c5714ed26a306f727ff41e1185093d5a3800272711ccc0ed489048eb4aeb439217f24dd034da4e9413c4c3fc7c77504a5ce9f02df97e8486c4fe1578cf9c95560aef5ab80245afe1557790a3f499b51e817446cd13c6217eb807638bd0ad269ef18de8be13349960523e5510bf32813051e483c0dfa3a1d27f963049b6cf4b3e7f94b977f654473b38ecf490f7073f2aeeb8b5a3635ffa95a7eb8003a524a570d3eaf2d60b496979dd1334685c94b2506f26b723af0058889738c7a2eaa54bd589a094b4b25934e1b60f39d6027df82c00f707280118fb9def8699adeeb6606338c2906f68d3f63edb221a928a8c478bd317b72bd9936eda5837a11bf24bc6bbc9953835ea634d1422ec464ab3904c4459ffd72fe0159a8be269e89f9152d3a6e667a98cddd3996ed7c8234ed35c75b345bc5720cb0264ef4e04195d4c77f68cf04f4864bf07329101f5f73f0378dcf2d4059720421e190e235c1bf8da2bc1d13368e89aabd8fd4d6389aad1deb47508ae6b672b15e72471d4505beaa906be292e6de7a5d404404b1b8a63b71b84493f055ec30538568a2f40526fc707586865876bad6f3d42397a6f30a78736a916f9227ec72dec8e13938302f7e383b8cce04be727bca7ec978a0a72517433a23c9d133c57266ef81b0c3f2ac1acb4da82a0165ffb0dee578fd34f824f69e61287c4045be226e3afcbde6b25674bf42bba62169f1f831bb0574548aa4c8d62bd7125b474472c0743f0054b895134b82b8fe4817630e3a92ba409ec8150876d547ad9a77995d24e1023b2b167f9a0584e86a61f58d2f45356fba9b3ebd30f4979ef7a810f2682cd1a77be68e6e60b5a8a36d244c2f92f02fe5039a65c792687dff95b4cc057285584c503e5f269a18b39c5030b354940d78e787249d85ac178590daa6d5ca4bacfe94e43c72a071e085c55444ce04392b30d34cbea8a9a9954537a7d5240e72d7720f0f76a13dc5d1c06ad623a3af147469a03bed62d3acb0ac50de43d4fd7267d1e5996231d374f31da4bab3c49ec3f2e532a4a92b7206c38f688524ecfb729e3c4a055e5f3ae3fbe4b8394b3bb69522345d9b4ffbaac5b5cc1e735f4d130937a1fc1ccb06721205d67aa943f62551b399243b105ad94a930e7db8c4096172edd97041df9919aea9278d52c93465041580fa754bc53b468944cdde6393c172160f8d38a9cef6a6a2ca05441f0bd68031d68e45720ed839588864b01d31bc0d85a429b1b1be52c6749c2f2218da4d78d9f8beb72f05aeb69dfd4697ad57f842171b2c9eef851b954c4468cb89a745ccc24c7a67b592bec1a4af8bfbb1a4fc72d258e75839f3636d15b1bf80b81eef7781a1d3130a54698093f51155b565df72cc78a9dac15be5a4fd5c4a9206a43451b1b8dae465b1cea7e84ac3f97a2bcd723b0932c27d7cdb750ce59666bc13d25c510811451a051ff2e85151eaeabb8f72b39d19ec9fdb26dc906ca828ac27effad63bee03fdc6ca44b92fcee873d960728f154135b9dcd6c7ec70b9a92fe913f94d3b73f7d4d086f3cd2d42486a38f70985621a6c98293a66cfe4b2d9870384676977e01bdb24ca3dcf5c668b4744ff72372548f16bfa44476ea40f4a5b10c320ca0599f90bb62604ee8043c931f1f27288e8d9b3576f334c780563e095c9f826c0491b766f1edaff11f4b91d80e3301a0cc01027ff57d0f96d33c08c0f8bcd88dd89935a677df479f0ef0e242f60c772f2f3ecf144d57a8e8b13cbbab5d19834cca6168e53f42202bd26bb6e0631f61ba840d21e28f26f22e7944aa8e95c66943d5ed527717ed7cf2e5abc4e26be5b723cb9f4f8fa47992cb9e01bbecaa5473559540e9689640b1eb6dcb702644d852f010a5d9221a8cbd332a27ec9302acedb3a0106001166f4687036064ec9491f5a57f4b37fdec7febaf028a68287bec25c47082c3c1fe4830766d97ca646c596721cb3555d5757e17bf6332e7e4759291c0958786861472435eef61bc729f9a9722f63dd74eb31a639564b64e71a7fb05de31234eb51e6326f705489c87c5e8e11facc19738e59c302d62a1c8a5311235723d157aa3c8b57d89ed3789ccd274272c9f25b20fc55b5f1caff06b10f10c2a7c11ede42ceb8a20615209969f9e4d61afae86e22a561888046af3b8b85266f6d752d56279b7d2b75a1cd1c994269554864210fb6b45e0aa113f8b0607d3ac786984564c8d2702753d7de2d5c094e21727fbff6b068995229fd638c5a5be2276bc06c7ab78b448274efea55923562e366c5c380216c6e43dda7bd028e556b16f3977c4b5c5b4e3c21a7fe239fad18243dee5402343fcfa3d71cddac5a4964a9f51911d4682f4ee0bf91688741f6d7983e8b68f7d31a4ac3db7b01eb3ff360b8fe3ff73d71342ad755289958d30261fb3827cc6a86548b8d501b6aaaa90281651f282f5370093808f5f08c9572c1b2c33afc44e94ef1208a80d6fb40eee7bd71097372c27f5e2eb84682ef513fd28e867228953804dc6a52d4304314aa0b62b50137a65b698d9d7b5203c90656beb23272a6926c3ee4230a716c511717567e093354e5b72787886be7882bd56eefb8a172862bcc496f703337c5f103a1aaa7c323ce8cb7c1416fd49f0c2b5ea0c3759e356525c625f5d3e46238eddb46290cd369c963a8a5576fcbb87ca1d72170a3a60e07e5cc149ac680ccef502fd4e6331c7126c73571b9ee01568da0d6dfe8005670b1776fb5af78e987c65e86da19c1a5809649371cc627737986b4483edf40a4720d97a08d7588661c1b2098391a9b698ecbb9e2dce4b194901ae125f8e8e8cc3cf30ca4554eb12a46de60f6f5ce705b7d42a1c4275003a687e25499d1c038d605acbc0e77514146fbb91e3433423efb7d46be5a8eba8ee9dce4bfbc217b498254453b504605b2d13b02960c087926198dd2c653fb6b7525807deed656120de7720fac51040d6e0f4cb6df4431eb117ab5517a86e66ca078c838c364f41518b072f22a147662a315f9b3c590480d183a7cae83f8b9135428d43f66acc15c43e77210f86877f9d9217a776a5aad53a7b358c34a1196837c9814109297165c8fa64c872a30690318fb499d51e2a21039366c39754ee680245231a308d3e0153f1f4c995249ba4f468401f56cb859788bb8fcb5f3ecd83d4c9a033861f0f4834e5572e1bac69df24307e238fdf825d49d5574b3702223529c8747a1314a470e6611729a1e6e739d10d7c1efe72999446f27cd425c6e40740fcd432627e960d587c1727f5a44e4e4060a7a6dd950e7b6075870ade3a5028a93bf071acd77ad65e68c37aa910cc1f936e93ca23ceee7f2af0032167aa14ef71f653e33aec3d3a33cb44c1c2f045b7da547066819494a1068ff1a8f741a5548b4baa60fe3be0c2846cc7219b4821cef0d3a9e2201ec26ddc5b38270b897b5037d1e38c1101dc2af7b2972289f51d9cdeb395d6c9e4f1b47296946f7e4e77ef26a9c3bf56464e01bf8884479a968bc87c5a927f599a5a3b9e2d19157a9c189ecd68293cb31342a6789e572f14f9b48e6ea6f5cb0f395da25bb65d69164800c149064089461c7efc3efe97236dea6d07cce8d5019531dd1bb6db2e2e019225b7184a3406acc7060a536bc72ddf8bdb707d4ab4973478a72090bfce601882afb46bedf38a682d57203a014642f4e685e2282adf8ce6396718e679f87cf09db3f31bdf6239e797084bf4b65638165b2d0d98388f96eb59fddfb775709c9c82cd034e2323a239ea2a9d6ece5247a2a1bab6ebfae2c5ec4610a54f86bfe26f01460d454f41365807b64040e3b5f2fe7a39da388c4d216bc54afed69a35203d85366620d5fc9bb4ef6c95a75366a897e9456b595a3683b8ab6a63977505c2d763c1d1945366af38ca6f41cde2372b674ea819775c14860079aa487897042ac7b7208f376227379f87b20f9708572853323c1a23c2aad8eaf3ece195ea94e19529c0bc6eabf9df79136dad450403e64d8b54afc97201df4582642f2d97eb1fede8ed163c09c255f0cd62b9fa940728ed060bf565d3de9ba6e1e32aa262f7766d3e9aa5d2fa9a671ec9e94ea380c0fc5d209560c2221a125390c4da320006c7793a5590a7668ea5d1866a447c6112d0b2a5f48956ff5ce57c4211bece784426854a733f0d58989f2a3df91130b2c721cb173197d35d05defb1277542dd6331c1ddf6fccf9d63a0b15ba4f8eb24b46b4678bc7ad553f476af55e20adc578b295b7707352144c710eea1ba6ad2d52d58170218fcfb9ddb8554b4076a8e5402192dda9aea6e73e5a7272d49df299277726e980e11b928ac1ba2e30c96bb62ed99ef237a9d471e32a0f40e5fa652a986723ae70ef9951b10ee1e6de22f7dd8b61b85344013109435a183193adf0c35b02b42b8908bf1ca804807bcc262ef82863412eefd670b4fb69fab123ed36b8b3f1da80fcd92176134f4418f6425598246f255fc5fd02831ee8c4c33ac1a8b4a847242591bce712ccee818fcca7d78c4d168ef3e096b2459648fd018c08a40a03a720ecca5f6cafc714f8c64e63aa7b248343787e7c884168715a3e188ca3dff967257ba1e4d6eef23228c2c7aead05209fc6af614e177e97052437a1c1a41814e7209387b93740e8f34fbfffafb48a6d17cb3f35d7c50f0c9317c891e4c3b83812030569d80f1d4b67df42c4c9a2944a979be6dfa5cec91d91c7f088428094c170233e898ca3b7e730a5a660524f610fbfc09418566b31dbc4301fb4bdb295b0972b71fdf57376db3bb3f4f059741f5d6c4a83612c286d5fc12fdf7942485354b3a97e0afc50162dfe978af3e2266b8dc7837383049e6af41e111ff5e69623520074bd20bcd9cc65c597648b3e458f343bd3b9c60e656cd190be2124cd92f14dc01f7c3335bccf8262c50244c0062adfecd7a98c9db2c45c4d502677d848d3e7b7277cff2d6b3353aea19fcd2130cae098e0c4c40e77b7d7962605d84c9d1169e723d87eb1ce3cd3fe8b6747b16b7c31c3e2fd6fe55c7fe34218af7be57d81b307254d595bbfa338ed2993e3af93557e9f9498edd4d7d60741f1aa9d7879626c07297f4d5435228a282cb5e548f9584c282b67f7f2cb30f89cc6f9414fdd0ae2a4f266d07a62ec21bcaf75274f86f83013be8940823b59de2a964918a9337f1e872d69f967631cf70877ca1342fe2e2a9f9492c8e4bbbc5a62addb0958aa8341d72bf141e7d4bf469eb97f025e9b2c5907ad0e8553f241da7e6cf1c0303e11f9c727e443448591466d47798b36638dae53b2c9ee7bfab596c97b12c53a207ff84723f853b0d0f28094f00449b1f90cbee6849207ac995a65cd061af1bbdd0cdfe12b0da9ac9dbb79b9466a2f4bcf257164da3de39ce6b767de0cf9fc9f8f401b72a2d20c8117e552133d3154148c6cc62d58cc5f0ce45175e73b2c93c04d66ee06ac297573d267a7d7d6827b8371c4695c3f4634216b16cf93fa099b485f4a7715b77080af0776b1571c8a87909c2a674c25a7fcb4428936a640a2f712a9c6f1663f8a9efbc4867d29f22ccbeb781822754abb8acddb058501710417485193df972eab531a0c6f00a5ff94608338a1f1e74468070636fe770b2f17c0a228457d67218a92c5f7bf86d446dc9fbe8c3ea7739d66f140d729b8f6c17fd7433d82c7563e737692310605edca3b0603c65f125ba81b8f7d3dbce4ab04d7605e296c530724e5179a846a2c0812216379a1bc1a1e58a4bf70ab669572fe2c6886489fe5472bf73868fd62fa6b413ecb9232ac0d4a5073875d2099731e46b4a3d6e1df42f7258877dd63198629e4c0bd6d7c633d2f9e43863b813aee1162d3d7b6a79520f24e3c7164eb0851b639619f2ea7a713cb1b4499b4d1931b1833dba547ca390ef6601a3bdfee1389446dc60dd6fab35346bc4121fbf33ddff6c396f8f9bfaa50e72d90464fe22f8527522bed19756773cb567ae8c8e8d8c8b180e4464a6956f5972aa091339176a74eddb8b26d4b784b3401daf95d3e51b43cf9fa1c32e6882d46f333211a9f505a9a8c1200c96a987863ce6106f938536a4e40f6f479470f88b6b67ca5ea3886db23570a7b13c82588ebeca9ede7e9778334899e22cd66e0d655d71ee70d7b89b1ea9bcbbe77d7a5fb258ee09f3ea5b20fb98bc8429b81f0fff7238ceb40e98823a0900aeea428374324d1b465f5903df8cbe16ea8226ff72dd720e80d1fa9ec7bd1612214ffa326f4a6e268449f4a0b60c54f7efb09d8c27cd43565ed1377d84d18675599cc9d03de9f129133904eb1bd411e9d71db97929025dacd9cbde9c9e0cb54ccc885c82c99cdb42a64ba311f4d8d063fee93b3609d472fefa3fd8bf00ad9d3b3a8c0765db2ad3196dbdff5175323e5763114387200a72ee054ca8df4674e4e9fa6726ee599bf725503a69cb379ed3e2898fb0e2a06d724d6f8e8685dc69cd443075cecaa1d495e30090fe554d865deeba1a651ec9e0720ddc5f26d039d986cff6df34c8401411aa03621af93e02b203f47e770d8deb3e7afa8b59ec7c41335eac2a783867f66504123c60ae2795578295ffcecb6b307200fc1d2bb648123ee55b6085f726e7329263049ab27d49a3ee1f68438765e52a4936c409d050579e61f60ba2e9d04651cfc3d63edadabd355fbda20ff2e13b458fa0ed47229370bd35629fb7bdab8803a9e65794b8f4cdafc29bebe747ff677269da0f9fa888c359f4f37896aac59687ec093ccb06cac4e15d9ac7f15abb8a6e6b068f152a9d1f60318650f544f8ae46fbc973cc365a8f36994aa316a1c3e872584f418fa95a7697bffc0d7ec2901f1133c3f271f93d85935765a8837d75ec1741ceb1847ccb0b367958cbb012353d4814755fbefd46391f38784240386ba43d3baf07b490b57f54fe3c5a1885690d14707f7023e19955e7f68a2f2a368fc372003159d8fa2ab6d0448eaa9515219e9050442eb862da5703a48e59c13cbfc353392cf1912a785be49e7ae5685026d0c03daf0d3905a4b506744f3154662d277205f697695a98d4077347a58d85825c469af95d8985f3874ab517880b08f1497271ef9304e1d66317746628d9b4e8d6ee3117752496cb4bda99d7747865d07467829b95d326ec045e848e3418f92448737451fcfc030be11c772c77845a8df132aaf743fc9a9a2f011123da4d29024901af1c6be577c99db99a5285d0fc2f0204a8a522a12aa5703059b7b57f943c6d4c38445480fb8ba030c2ceb9ebfaab1972f01db0f801a0d14772f84e5ee098b88498cb6152225fa67070f37e1bad1eff72b189e2cf2f27bcd327778e673c01da491b7f6775eb4f718a5310fe67f7bd6710ac1f3857c7c75d91ef397a4609a5c0c0aaf7c389902f5525706febde42224904e5561c9830b751ef6d82c4ec0ce1a9806096265f58c0f97f3ce3a9a7e9ad86729cd66b2dac6f654279b21b4ee3bb94be9b42bb3d561d6ea280af31a242b16f7222d7c8a909994a888ad03767afb364e2f77523108ce4ad0146ae3be77806b572948873a705f1d154a159b7c65482816cc11fd16946bc289732269ff9d363911cabaa4a029aa800b2d3896aaffe0a51fc90bec9015833760c0c2dab5c9ada32728a9e7512e400051e305581ee5539fc9e5bdc60fcfa9ae1e5f1972ade0261d472bc95d767b0e7069f041addede327b37bf3bd770abc95b722a2132bf0fbe5687239a67e33a7e8d4c8158388bc0a022e06fdfa7375696304f64d4368ca3dd3bc285d5802042320a1aeb9570cc2eed107ff89bdf8587efc1c607eb43218858844080ba5268671f6f4768f278b82a6b62859339a0c0bcae9404009ab6c497628d372c10a3e801d09d23b8c1aa62b6555d816dc914c7c8821c9f15465be296cc0d4367aef09466dc1a23f3c10e013103923f3cb95adf5d0e52b1d700e135147ea991eef1d6aaeb505f9ad2164f6f49cad8b0ab2e17556efea5d4746fd8acf6e11b32488dcc3d20d9ee25464aeffaee74f1325a79449b4f6f570d1bbf9525eb667cf72706abe0ce124454c190b0581f44769bc2643a9f0b99bef4b1c2217d74cb37b72a3c9a7bf61c9f5ab6187c699a8d059d9bafbf3d238cfa3d035842a3315a327363678069a82fb69dd690adf517a2266399f8dac6c328b8490947e23e4bed9237233d9e7ab4150271234bb236c51f538a38c81b73c85560a65a7724da4759689725af10a0dcac44a310c606927359b8c308f6ade7f33603d3cb0adc8ed615674062de1bc9871dd2f084b76ea15669236465fbcd4fbce732ec37553c6b912d9b7721bb8ab3b5e36968ae4822abe707f522bebc4952a2ba7b97b06325a616fd8254ad207e6610e26d1c07245100e7eb2b0f28a413bc693b0ee7aa4eaa2c5072f693acb7590d65c86d4e7d87547d62aef3281fc65a5633182724915c1b7c5d57abf46a73808f17fce66734a6fdd4c74992ccd92f697445f993af283bbd37b2b2f2f6c79e42fc67fd78bcccc56f1b1beee040722d0ec75d0c14a77f418787c5e94e7660873f2f53a850013c1e32bfeac80833d608e1633fd45b375b79bce91bb29983fad66b1e557d3fd86520b74b1db09ad8c0dead1bd1e3e0bc8444e8d6566eb304e413c9dfa0b51f1369d617e51a47b3b12caa57b445649101648f8e79dc3841b72f5b178057c6b532fa7bc06c9d80ee3c8ed7c2defb0d80d01b8e2cc3178102472c2e6591920a9c7965625434d2a2411b57b858f807413c70ad56bf87932e40672d27e46904c85c3c81d62c18a181b4166b8f1b2c0a25b393378e8da93d5b1fe19c04d2692dc947fa70f4433b070d656dcb0e87dfba926ca8c325828781542fa5dee035f6d289a335767a1cc5346b80b735f89eba417e3afad9f813c63bc827a71549cbf74831c46cfb5e575a9836547f1f1d1a41ca48b0388105077b7d610016d02c80a2241079cfbf7d7f0109aa764bb1d415f03d4c6ef2c5cae5c0a2e304e728ec4ea8b4fbc4e5fcf3d58146f205c6544f9cb33e3d7ca791fa284c319761472fea795840d9915481ca4edb4f6179f8934140b5de03e4965fbc9cb0f0550cd2d05b511a5eedb5c69a738a0d662dac9f0e94cd0eb431e9830b43e3fb8d7537d197a568a694569f5c04e5e61c80e2713f5bb4aae1cd21775a3619bab7014ee7f7259dbbe5731f863895f6e52fd2581614e86bacbc39a706d45616e752b451b5d146540ba766c709a8fb74ebdb0a9f3eddacfa4e852be41c12dbc22582691e6d3720fe1cc1e93cd8c6b168957d7695cf12526f12f06f39faa4f7010d8ddc5efdb729b6b5a079577b23e6f6b1b7326d06bbd9dc2ee93128c4a41d408458588a78072743589d265e0c3d3e3002d15984a0bf50f718e16a6f0dc6813590727c16a67728e2ad795af168535b17b790d247052954c01aea909ee78048b07ef55cc68b462fb03f5ff839b45efc0d27ac32017adb045f6033a130499304a4d46c41f296672daadeb027047079264727ee0142487abbb9349220e556d933452ffd8356bab29816a16d716db6505634a4c4799d7ca491f7e091dd72112b622a688976466b34df97db49acbfb9f21420fab48fa6e137048cde4c04e3bc6fa8e1ff3aa0b89cf010def24d9c9d60181f7cc91961c5295728128d387301176f97cee7365a791df7270d1cc7dc5211609499d0b0a83295fde11a440b5ba31bd2be1b0f5ea41bf3d408592d7d7cfb811b24fdce81c0156403b34fd520e2fb6c86425cb3194ff3c4572cbb64d6e16ceff2022e5bd2a12f6f525a8941ad584d63d5bd570b8ad0bf5074a6318277123996494a0a60b6c509d7e9a9627ce256727b3b1a0490325ebae6d7259891cad39c11947986ba0dc8cc19f03203e2c87e8e304877243732ad95bb2729334215de31a2af98d1e6113c41d9df2f62af20cf513dedc86bb9a8686681172904ba269b1e482d011fd72a1006f0a97e1f61736aef406bf30ff1a3e9db57972a9722112d7f1546a5242d4cc016fb904a499650833d19eae960d9c70ef69fb727a78378e73f756efa6068a128d3df6142105915261d06946c74b3fcf212c35233d18b72343bfb84f0f29ef800a56047f68f6ab2554697fd20f17186a2cedb34f64435d15ff8f95378b85d14da47f3d62f51e318661dc60ebc43f8e920e1aeb3c9322d62d16208ff007600eb4c4f62a910c731fdef75cf9f5a240fb7dbdd6320a55d0befb5636055edc6d336c8a8f51f8e0b09a16dbf80b54c1a78b6efe2626728a6930e1488494e8bbe6ae6a47a4f31ee63428cb77d2de61708bc58ce66b3f1f9e5d143a3be96b09c217b23c87ed8a624059d657350dc74aa4ca0ea29eebd6728c4521b50c28085b9c6dd8a6a15ce7ef8ca1811de0455dd5cf1a4060bea00b724a7ded50c88afe8f6f2bd5d56c76daebc90e69241e39ea8f86788279504d1a43be54cb7c0059be6e9132c7d01d1125879f4d61be39c20c8d2c5d1ac37ebb4d72ea698208c749a7d97c64b50de7b251563e955b000f6e10187640d0b8f38a7e2cce80bc579f2978894f9b557f1fb09f4140f4ecfdcfbe322dfb9afebc54029f72ac877261ff75618bbade6f08831fa20275a77a8849084c4d7cbc2a275ecf4a27cfb4e1fb764eae35bf2c36365dd4026a54e3f3fcdee43b00698a21d1cca10e7217fcb6d27c3fc8276d79ab1c24f84f84273be5394083f401396394182bdb1172fa941793cc7083ad3f3d26a64cb30df02021c77fcefbfa2f23702c0ba339a272ff8d292b86b2a7ce4854fb5646fc85166b9ec448d7fecb5f542213cda45c9b0a80ea1d600d29d34e75a1703e78d6c2072b9edf1988464900e693532f48910072fe8f02516c0f541721d13dc2a91567760101d5bbdeb9bed1888ed8c1c416052343b5ffea8601b7a943a1d1599db59cf0b8a0009fbf8d19f3c47404492e2eae07b5c81bc065d30c4374c3b734a13bedde7cd460525e141417d8d6000908e28c14ef499b433fe0bf4c623fea6f40e7d1243eb0820c408aeeb2df2ed04dee17ec729f9b7178d2fb5282a2a713316f6437c400a6d48c164e273f07391c10d23ddf72906ccc8ddef6b26e49f3ec607d232e07dc298e15a95590021a40297a32ab2b727b958d38d4f97d5775df3d956c76895a6055e8bb791edce48fc319f35d5863726ccdda48df56aefdaaa11538f37cb8c965c8510c234ed84236966bb1b94aca72c7b52eb62b390ad8553daf6f590acadc887542fcc273f0327d010a6e22267e723c7c2de6f8ee6a7f6fabf71c28bf946491e26a5f649f14fd0230f62b3db96c721b5e8751e7bf83c2f8ae01be01dee02ef26caa4095290fad504ad727d6ae7872c27a844196106a0cd55c301a382a927a4cd0e9940e26e9ab7ac0ad50f719e54856f32a18d5cf86666a8e624322950379a1544fe312497d1ac33b09b8b20e2872b8b0cad95f05eef18940f7155e74248173aaca192b386222fafb456d259c1572096fb0e6c79dc26381392b1f1650632b2f4002bfa75c844083b168f957e37572fc34d4ac1fe96f8fd8221fd6108a96e04a5e1bd1bb8519f90aa2c60370f3df72dfa8e7ff5da1eba98892a2ab4bcf88e485eee1c3ee23e257fd30cca687cf5a333b87beb85ca84efaf112ea364828792c8a506341c550cf44be13f1ab12c3f9724d1910aa20c969884268d0152bd88e87834c397fef8638d231a4c6895f9e2e7239fa4876758cdaa503cf741a117654c4226ec1ed065e97e41ba2b56c08c9fa72973219133d11ae0ec49201084e991fd573afee435d8218e56935f261869a5757fa09642cabb372f85d3a583f3ef4ae7d7d3ecc280ad5f664593208a4ed92167297b77e233f79bea71866e8a6515226ce017f3c842ffe65d68329f9b0134f1b721183530388d4f51c2e626f2af721005c88641e768dc1ed5f80bef1732142bb52b8b5978446c13800c67a98681a9f3e55263fcec20cb221821e3b20713b71360342f6073d7ada45c4522d198b127d9123c9de805c6754992ca17073483e01cd4cd96b10d6d8943c7ebb6be84fb28e2a1e2a30f7052ce3bec26b47395951e9507272442df877b6d6eb8d473e3cb8f3d81ed31d970cf06af968c3a67acc0fc96572d9494fc70427733f3a6b0dd45655520124208b7b7d7300891e767473cb294921105ecc8269ce39880b0b7bfa8c9eee5c2ec417a059e16292c9f3e4ec8781d272f0262671080d5d9f2b757622f337a665e1da1fc409fd81a992c68a19bbe4bd72a0930a607d5fa48a23a3d7ab067ed7dd5947c71357ec7f5908fa9360221e331e843dba0ccc5f17d91f48b6b3df581ab50164aff933ff7934eb8af790869cc772574f1a15c22d19bec7c367dc78e265cf367f361d9e18a01c08d7947c39dbde2799e5373df6bb7516ff66435c0c7d8324594be15d3f4d6d838632e1b7bc1b4172e43c8804876213f8f22938db6d0c639029286629ade4560f90bfc4f2333da672e713ad0032b11babb3ebbb8d59823641d8fd83393b9dd65479d60ee719f8f9729811b53fc4b8ed954da5382dc789860d2182f2a41c7f756c1c86c1766916bd72b6fd11556c5ca479a678a0f086d4bfd46bf2683047aeb1a1dba5490f95c1cd3f665a587be14328837f1536ff997aba9c3ea5988d97de7ff18a4bfd015c9ae06c3a1173111ac81b6cb09b670883867d8e0b987188f6053a4e13b4418b4d7b3072c0d05a1b6e799f943fd8361fa8e78e1aea61122e536fbcb4400942fd63c6826b958c3f8f347c684c4aa3842142a1577dfe72a77a65b8f54408e8e3f2e07fdd3cf1a767e16fc79a3821e3779c3e52025459575d4fbd9ad5353fae678ef50e99721dba1b8ded0d212bac31a464015d6f37b33256822a59bba133b43c6d82858f6b4acb581ed92ee83510b74fcb3154cf24a79f37c72033c3911107a9c670587e72fdc7bd3eff68b242749c37c8175087b6cbe63f34709ec8fec8dc69ae21732c72035628cd723e52280a31c8b43957965a5347caacc0ad4f99cde3e741275c95726856246122273c739bd6a9d38162cfcf0d1d470c782a7c96ec96b6a5fcc308724bb555aba0f8b6c6a4d947c63ac862fa05c48dd94f2d2655e56ed95293b615110e88a565e2c1bb24edcfc0f484ace6dc7f874a1b1761afa2a37894055e20b34d68f9508805ee954ee1547985d76f43270f2277a40b0564a656e34569dc0dc172414005e243a2bf2707e5418a78e54e39c9d7743f8b6f850dd0ca28fb88efc8725d0d18130b6dc1cdcb9537021bc5349052a69bdb4a7015a3fbac277baa19da725dc415bbbe210f1b8e6844672217b448a479afa4c23f0b842cc1ecb79e2a89720b0f67d3ff181cee435c44f79fe5c833ba1b131e9f05a1cd5a9ede9d35ff9e728c4c16ff706d01b499f81fe06de3f4f7d65a613d91eb29190f192ed78c7ff472693e94d9015d30d606a11db6c1e83d2ced1a0eaa6e7c31d8ef88d039cc415472f154b3d733824e665ee762bcf2775a29c2ee2fb285a0e1bb0b734e87d986143257ae9e06338e8fb75e734637a13a4d759aea6f76b0f24ae710488a6f593380720ed9ea65649c544636f954ee30147731e43dca7381adabf6a986a7e556ccfe729d15e04fe6813bc1a4600d390af4a3f35d504284785834e2e74a21a488a1393e3f1b28a46e389d4dace408c230fedf6244e4fbfe93436f2e96c8608b6d1f7372168e704e1873a8898b11d8ee43db2b8d68f682c3b9af45e0b8db8727f9f4c372424ab0bd71421dc6b108d3a77abfe2eb02dcd30c035fdfbde5d50731669a987211074a8603ed24a603cfdfe2dbbb7bf51dec5d91989ebced0d7ea6b8446bfd2b605ca4fea7f438c3a9bc8358dc176d16a714668562d6fd1aedc91b6c87875164271427b7c970f8b5eb79cdc1181509665413535e83f148ca831f29b1ca2e0e72f1319e9317277d4f683e75bf80183a50c40b6371fde809033da0edcc86a2df727dcaa175495e4fc378c321b8131f25b2574a9c8f583c1749ab8164ccc7fdf8727459308acf83dd718d6133e7ea300e061947645ba2f362ddead48e09c55d89631f90ce433e3cefa4455cbdb516170e2affa0231a53cdaf3ae6ee829fe9c96e3b9d50c0719326075faecad1b6948f0323526c8d07286f5e2b90dcad658fb5b10bfe0415cfebc82dbc04a6450d762534e36c0bdbf33b3937507fb08153f180665adf231dd77e8afe7fe3086aba58a6a39ee3ae199499b7f0ed9519f74a3aa60a3f742e35f445949970f93564285d24f265ff631d43b4f54cce5d78879a0b37dc72f364b0067eeacb2399810188dafeb9ff7145dda15da2ec364b49c04e31475572dc89b918226834c687bbacbf09c9beddb2ff1ae6aa16952e6f395e1540375b67f73aa55b604f026c7717d82c54f4b7d13eedf86b78a95881993cd453962cf1723f6a989f6943b7acd41a8bc34b49ca0944c11babf9726ef834d8e710f9b7b8724119dea936853ae06b974bacb14a3ca7a49e76b40ae7e944f215c917575c3556ae43951f651e16c287004a4c8b73ee193ff9b9beb02dc22493c4e444e2b3482d7bc596a13b3821eb4be22e7bf4320b1fdb52580a9668d76e8b0f8b04636cf2724cbce206fb26444b663674bccc4e2a969e35f60837e9221b4c5505e065202653f4dbef3bd607e9b5da19835eb65beb0d79e758957bcb8af68ed8e82c6ad9a65a8ab6a2b1759bd0ddc2f0dc3691ff686a25a265ea1457cb489579ebbbe95fe572878dfe4b1f8afe4ed73886218b1e66dbf1d58e4be4c9f98a38bba30ca9f8fe7214191debb14ef19d8c68c3c28785b127747e5f71b3877ce8718dcfb6b0bcea5237f9a77b3614cd7f79662c0f40d98100fd63be85a51d232bdba7b5514ef229467dc3c3fe06eddeea5a7522f3902334db9f5f9e7610ea3e0d94c28c58c1f41f72c2cf4ac634a0cf6046d5fb4bcea573c4639678b17ceab9a503291952a9f16c7272bdd0f61aee76fbf6e8ee2e0814167d9f799e4edbb71b14233833d6a6ebc47275f4c9df2e03b7827ffcba4e30af286a6ed61a9f81b0cc102ac31f69b652a672faf41041ba241ea2981e5da19154068709401f6425884d517a31bb828c3bdc72e53f686a35d9ddbad13a0e524ed3df96b812f71759faa1b98cbcacd9fffb9d70a7c7d3aece55a344de037eb2119724b251b2c54c5cb991149e6ac40fc15e077251046b2c8189b9a6fa334cb461887886e75f07ef14d37859f4e17a0dd85399490b73631e601c7e43bc057d73b3c9347e9450d7d5c21d9d9987d95168676029718dd12b589d82982aa79c0ed8ae35a4f6bc81ccd9f4c90749d4856d50e7e36f7253b0eee595fe6bb5d6b9c1284cd4e46d8c861ebd6de360faa4acdb043acfd25052b13fd5a82ebc370eda1c84fe966d6021775227dc21189b5c0705901a7f8e23b3af30615c13f9a1c0dc430d17b0e229b4951f9a685ce138cdd5b56f0ca62d6731b758fae15d7a9570bfb332f88f9eb99ad0c1c03f13e85d6ce634f963f9a57270737b23576cdb24bed231fcd7cf70bc05896201d1e61e36b80f0762894d5032280dc11f4d181d6639ed59c8f713c61689e1964458ce75d66872c288c55b0f5597c2d136edf2a707ce8310528580efd18c92e7d478dbe56660d8b32684e1b42d72641e464e873463b7ac3f7dcc9559151e44fd8846085d4d2b25153a2dcfe3362d43c539c763dbd63549df085a429e1feed1c7396480eafe460557502d63b71185377d77b54354dcadba752642d25345a58ce8a2d10628e3316a2eb04d07ef72b66eec80a85a648c6b2acbab3cd4804329043650716f7c2d96154395b360ee0994afa257a44a553cd5bb22082650276766bf05ec2d15e341f87a0fdf52555800b08884c01360d39c7fbdb022098a0ec92f6676a475e022b43a4677d247269f3ef0f8c2a1e16c1aa2b50eb2b947b95cddf189384e6d5a14ba41dbdc10bda989728d323600a725654acd37dd7045fbaa92db03085dd66d33bc0ff94abf8438fb72ea04516c2a56d36a979241d13b9cd437650d1d9a3e77a9c8edb14ea3f7693772aafe74e89d973c9a3262f2ec329a4fca16dd2eaa7180304d4077d4b80b03745f73009a80182f5c60c81f506d50f05b260a61607cc1ae11491060d84c71b2d12387cbb3563ed9881ca48a13e81d21bf9ae31494d20849ef2b1f363a0dcb289872dcfb3754ed5fd3e62779ee7b83157fac2023382c72b0b1f3510c3547be6ff151a331ade49d359ce1c1b4f5ec81019dd0ef5863d3a41206216d37540337f40772795afd43e8496e30a42a3c0d8fef962fecf82e0f0d19e24a35239544d44ed2726b690e76a0f9316745384c6725a9c67ae0aacdbc25195b5356440595338b1d56d5b21dbbbb9a5a9939120d2e9bf5fbb0c8b18d0c511be21bb5e3ea093ace7e724f5e7725b8d36e8231a76a4726b8461ae94feb076a23cef7bdbaf17daf2d9872e37892dad66bf1a8362011e3fab3d2b893c3364c5fd57193e89a058cfa6b76290b47bf1dd444067e1f377eeacb02bfb104a42ed741eb63347461e14b93fa4d2c9917ef2dca7531c651a01d8ed6897fd6f947fe22debe3541039e5643d987cb721f9d5353e745a2a4714cdab77edce2980949dec2e575cedf4bdaa5c9185170729f62cb1c4a3f831f7537008ce7b205fe766317be759abda958e5163f896b8b4e3edfb3b8a2a1dad6bd327c7cf43e7e554a83a0a3539dc726af53e6fb7f684041fdeb0e3f4625ad0f215703cb4038a81d2a4c486d713e24d6ed1f37d4281c1a5127eef2967f70e7d78f0934d6d3affe6e5e7f7c8124d74acea99220cda52b3138cd43ffd593cf731db1bca46f36c136c83f1116f83b8e4d603a59aa5a456a630e1b40bb1b53d94251c55b48a07d59289edce0ceefac79bd8eebd1428b03f53e103a5931ba76a38c48e8cbca1cca25fa01bbf080026e6bfff7bd9b27076cdb90076a040397d983880cc4a7d82446dba5374dcd0043aeec7400fa2c4050a051fd6b284fa8fa6ae62adeabbfaf5ec853e8cc924808b03dfdd0e0e48e7500cb30bb72fae529ee4c9ecc35689018e9f48a686f9ec952106a06708ea6bcfc2f656a6b2166a0d63c659c343f9446033cbc515a5c17210bd692a8b8c8e435acb4fd23c31695d650dbf8983bb36d3e8074ba88cac6521eb339b5938542fda3c34bfd7df77255d632b9bb33f044e1744360bd4307f246a18b0c66e7ddf2fb20f5e029bf2a72d99877b10b1034e6ee8726a1c89e421d413bbd7341bde7b03048793da98be30e9926b47df388323add81c5489bdccb9f541681dd7f018582a82b643e21e8c606114be0fa8a9d5c1a095ea37bbe6c0b3aeae93dc6d4b97c9eb9c030d2ff83b1721bbde28947dbb182891279917f998ea3bf12cbaf9d707f606ceaf98b899422416aa5ef71b8c7ec848d844028bf754bf643e72ed9f14abf3a989deede18368f72ad4fbc13b2cad0a322986335ec8b1e74c9c1cf0ee199c24f290a6d28b856ca72f48bf11da3b298afac4ad796a43d3190f1bf6f26a3a5cc5b19e1b77966883172f7222f9da2875352b5067b6077276faa72cdffa3748f22ceea06ec90b57bbc6f1342b910085cccccd8c48147c2cda726bf9158a6272ae06c7cba6e8c8c15bc031f6516c6ae3d8015c627505d9280af11bade28e58616ead9fcc839461adcc312f193a7d57ab46eabf44467e2325cb79f65168512f6aa83cb5cb4f4ffe96ac310d6a35250185409d3ed4fd076b4deeacce0b24331deb6b66485c16f1f96a0e51399ab528d2bae3264184625442cfa6f1f39d091087ef035f00da0c11d77593d72e21ed05aa19c8358afc1111dab98710a9420bd731f884336d862c4f25ea0b61ded1451af07feed6ed9efdb57016ef02637ce680358771b6751de38e235f1837277b00b7a7b7786e9117b8f74b55f5834f2286819b0c4eee38e9fa2771acf8550f19a02d378163309c6cf94062fa973049e31adec246fe2936f403c23b5034d6537ff1f6e2e6c8246fb7c79bed35d3a3ff681ec544cf22a5fe7d2387d3fc8b5487241982ffd8c979fac74605d1d3ac3664b3eecf2ca5731c9f13298cf14d3f322156e3694a6582179e3727f26c087e200ff0dec9db1a17c488a9e5672ae106472d2c0e37c57f6d068cda42af6cfdfabca79b1606e3995bee73ed553bc6e595f04494c64e5aa458ec5b22b21c017a99d603168f2a6da08bfdf5ea9c8200be56604161dd0fadb8a22a1b9f48c24a7320bc2c164a43c147770587ee56966430ef01017aebdc1ce95dccb37e4b40ae68480c268fff66ea3a077f965192a349606e4721a81872ca0b9d66345665884145421fc86fbe5bceebb27ba534dcfc149affb683cc7e7889b99c4aa13cd28db610f63e11c6d42aea54ed972c313137b1c9d184de93fbb6678f9ae5c2fbaf9d02c85cb3147196da372f03e4bb33773014c754272a1ed4f474f37c48a3c070cd8cc7ff8cc70eff72dc7ee2224597b1ece4829fe728f8dea585f247c06e84d0823cfaf12fbb6baef3c589e6a0a456200cadc4bce72c1b6beb200c50ce3b542aedd4645ad688fe1587e5932002e381203ae11e3fe72c382b3b5a0402a808c2d41b0a6d7d74ebeeaf036b4f8ca36ef3b1de75a839172aaa2f9ef6445ae3544c18cfc1e5a5084dd9293a0f92554c1ca67be9c32325d652ab780cc4a241c6e4bb8064fb0310fb83a152f04568aa275b6ee740b820d6c096468120504a231e345487bcd3f5ffd81ccdd14f8c65c287ed55f1e11f66ebf492b481721465d83b23280df3229e1fe7fc9b48f4cc4291abad33bfcf1e4471d4f42a1a8b9f0e24dbc5d8d5d61b62ccd86a9e48da27378b05637728cce24df8f20b841c4eb8524badcafc5000da73c0632866f130f77c748005f459fa83e2a3d720fac0eb752ca4685cc66a049a5e0868c336914e7b74a13177e1397639f9b4834c08a36f1c8bcc88e1cf633fb096627abb6ee5e784f501112d33a454e1baed72158cb222f490a3d6969f5b06979110db24af85af23f8b4651b5ce0a7afaca0f72922235350b0dd3390b9050386337ae8a3cd7ce74f3d29358d18c686bf606d37217a1b2e96e0360af97a5115fcc7170ef3caf0228748eb95430b966c119a1db672ea8c57b586c2c1c36298a8fb9292dfa35357d962b3cc36e2c91046004fadd721a36a2705e3ec644eea1ab7012eed29d948a45f5a2abc512d44ae3f32968814b1a86a72c190036c1bd8e820432391194fcc436301766831f3b21817abca291721b07f192b485cfe97267beb13557e961dbf5f038f1f461f5a9a9d4b8e909907085ff034c01b1ec7d9c9ec380311e3b7a840bc7dba07b2f13a56ec4fcc7c7597200e1f028364ea0f5b76edaf82d07aef0e711b8f40c9112ec7fc200a0d39e73723d84bc4efe2ad24883d941114128540a3798162fac78eb6f4eddebeafc73cb72a961dbf9b88c34b37b2947f7689bb491794898be224d9133664ab8f583fe4123e21fb50bb2bf8ff6a728111f6ac684a53342be739efd5755f06eddec52842d72c4a7afe993494652dfd545b4e164ec850ad972d55d62f15f9842af460ffba563f6fb60d863f3211c2f20657d6585acb324227602281c98dc1fdc77e93708c335dbf219459c515e2cc19bb81bb5b03aa833885094760c4a9b5a422d10e901b072eeec391671d2d729a317b7ad9496b6612ca8150e156c361013c6ebd4d37ef67235cbd0f1b613ef4cc097b0b3cc013aa4e834832767ee2448962ff652b1165e72500c7e2ad446070c5873f1765a4310ba5faf84e27c18e0c938ca4e92cc8e6c2d295230b47c5df0daea8555e45d31942a2dd07b1ba9507ce78c75a4d730468a72ab52cd81e3f8b98e38cb0629a2c2fe65debb07763c4a55c5c8e3065ae3ef3f6f9eb5c069b31404b7ebf2095919159c4e5708bebf0233c24c87677d9a7378bb728183c79e86caefca3fbd6f7988e7628f793d76ea710a6db76f6014aa4bc2c07234f587d3bc710e25c6bde49f66d9ed8076752860a7f3d5b94845b00ca58da6726b09bcdf3f6c307bc13041af847752b261cfda443b8bf60a5bfc033e6211f17254e347fcfb6d40df40e0a5790fb45aab5c5aa9481c03f764f3479b936967de22d5cfcded4db5857a63a2e105fb641b2be045be3a12f471f71b6075961dda8414c3225ccbbcde15c6b55c9f6ffe3d74aec89d9cee469e7b72a634326993f5c73ebbd0ea6955743107d1193f2de927ee745093a85fc1b50661c966a27f8453fc723d24b650901db9cd90d5f3056eb0cfd728f8526377b102fbdcd476ec73fede7249eed3acb6854e912275902e249763bc21150a03b8c63d0fe31f972c3c4267706e71566e0e5b0553cf88d5a351fafd9f52634f4dc7592468febedb2b33d868665ae0d463e3f2fe0ccc5fe96f11742145f130d083d0390b27b698eabe9b9b5322013df02a6bb3223d0fff211f4e4d2ddbe073144c1347b13c5f727dedd890f240841d48ec81de42e68f3b830eeb93e94a60abbc8a769a714dded3cec0adb1ef725d96a1489155968e9731fdfc9ad488579456c5913de17d8c4ede354e785f5872bda59d3ab31961912dc19d434e22e1b65a0fbb61333a8c1b512728163e2cdb3e27d530a77b87d56eb8cfe81d7950f0ac3561806c6fea1ce28bd4ee0334b8ca72dabf2f3e583a8db1a85a76aedd825a20ac181d08f36ced4727273c1391b78772e677b3afac59a822b4b4f37209773cb0b31ff27663f47bfee71612452d6be272ed160190e3ad4666460e9b80f43146ed3138049adce938566a274506c71eec72a508b0f34c73e8a9da5faca787574d3a95669c2cea0af2f9397392eacf14987226900e3ea09a50da0d577e170554772e38e9dcab9cb20313cc9e54d698cd0034cff9e0d6fd26554b5108ab72953ff66795906414f537c36d69059d52b317017260824fb3c6a49d338be9dec9c775d47d855b1831b80e78ed911134b11699df47529a1c7be8572640ba709385d36e78a4928049a39ec5fe9e0bf01e8234c19f0eebf2cf71aabf9f7c66bc55f581e48bdaad9b29483e000d2267146e44db1e14722662886c05ba8ad3373cbeb2f3e6db1f4ae18602281acb77755a605a2cfff172ad9c6c190dc2df292803bf30e595a99d6b2cb87d43a291ef4cce7e77ae3a5b727f28527b171208ee2d7a82040742083e1315b0bc497bc367f7b986ac9a87d372a94c0f4686e2ff80a634b73913f56ff74aa01059a4ee11b1f6aad0a74a1f4772d61c508e2ad7ae2202e5935dbd868ad648d605bdb7f91931d5b0bb5a8e9afd72a83fe264c3c11d77e0cd65fa31dce9e6f933dc85f7b287dfb6d8fc17e781aa363607fcaeeb63faab09df9922e501e6feef5660dc73b92b2e11e4ea7c4567a37203512e15e170552efdc3e122687d9c9b85168858e093c95881c40d13258c6b2575aeab0d36c53f9dde0ac1e2cd0029ba176158de405a2071854b762e76a8125d04214eb8b594301e09ee76202b55342b563565d14b32e6823b4dd78a9e5a26564b8c772e6e1bbb49af2a77f05897c59cd242729e40e7644938dce6dc47e770535538a7fbf890568d469abbe1806c0efef2d69063527f4dd1f9bafec534cf322a47b2f8116a6e218e77de4a23287bb5114c3945e0b24ec9bfd393ae6c32ddcd6fcc8ebeca4ddee4b1b082100dce7a28c455b713206cf53b512c1643fb984b247236bfc473a4af8ea83d892b30482eb2b72b708a4d1c91e7f3b4fe9cfed748166666ac9a63405c580e495a3bdb95798fe413491223bded6a14d12dca6626e46f72ea51f91a2bea1dbc04b6e90b1612d0f3c4042501a643db57d15f59950845a272a33927b0260d746a4e2b60b32202f722a74f62f4aeacb12948d17e7f3407de00497c1adf3ff0fab91b25a65c8609a40be9efd9b10bde4ad2e73add83f0476a4c3905946ac190325102384c60d95e43a88ba12daa5eaa2858d7b538fedf06d505822ed94d77e5c720764f5b91f81cb5221b25af942cd779d32f551c78763584727591c1b9bd190d1564ac1eb29bb4af0ad7c63f50ae90e3a0fe0513534989bc025083af5d31ee84bf201e60381d90ed191e743ad90ce8251b14054c7b2233f472192681a4caa325e1e2f6d8b8db1fbc5e9372220452edc57f2ae4ac14d6e53b7277f156d0c7927d6a1f9cc6ec35f06fbe8fc712b65f7386734d59c67a9f3f9d6fa1fe001dca56c96a7ade9a95064ca91a320e96e7fd671a36c254a48294472054a8ec173ad3cbb29041e19ce6776fd36ab8d67c0226b6240b7554762c61181f72f7de5ba7580cde29770b904bf9eb8e3b90639881b7a95228c296d4cd8c5aab72be0c198bc16e6f8b01cdc5cce592abcecce6c2c4538798c66153b3894d8e02460664bf95bf974929b04db299569f52deca554010f2009fb1ef0bc58c35815372fe37afe7a3d7edc4944c97b71ca32d48edd79827e970df8a5da12967cc587b72d67f3b3e70c71fe8302597e43c9a6e93719d7984c729cab7dc9572406452fd721459e41f522da0cfccc90fe8fa792222394aaf7d0856cc4803cfdb6b332d2e72618ec151c4e51e17a92eba7874584a2416305fbeea56c07be740e63e8a2a943e38ab0db79dd8e17d5b3ce42b73083df3c45ab67b457f78af96cb7de3ba194f72b6269c2b4393586030f395e7a92bfde8eb3087cf2b0ed6198ea738beb468f072335aa8027059c78712e9cfc8acda313508a7eb923f6fc340f2960d9a6c988f614a29e20d4a756265d182349c68edbd2e06aa79cc3fd06fc537fbdb5c66407e72bf94ebd912edfa5ddd7767a2c9b314e5173c4bcc3a0d2e7ad14e7355993cd6723cede9cd31f322c182407f162ed1a01e8cb1566404ceac6d3c9913654cf7ed722b0ca8814ed8d38ef48645bd02c917a37f81b5c11fb90f76c1aacd3b28e2ee723d84eb93a10ba3abf928c87d1e10956bb6fe9e3b235adca76cc38c71061407723f272f9760a31297706f0201bde74084759bc0e556865b4f37725d68feb0a37237ffcfea9419e5672d3d4470979aac90efeeaac846f09867ff078c816b76400c2696142c9d763f31ff3bfd2b6ddb4d839d749fc3e84898bf83b08cb63445cb0a6ff99416ba32a61605b0a7360dc82fe56bc9c0ced2630451316bca739143f22f130238d1af4c9689dcfb8075facf1586e959ddbbb165146774ca2c5dfb63be3f2fa03fd71704e08e8cbed012a0a6231c0890a30fbc359ab80e8c4df78ea66f7228afa559d6905e1d08528bfa1c5048dfca4d97c1452f944c4edf10f799c43211d055ec2245d3bd56bf55741b84bae84c9860f3f41e33f7908ea3f93b5d27437243df96782f9fe872228d948cf76bca8bed21cb1210f07189052b3f6f84b31f107022e865260547e20fb161c7a594e9cf062f671e32bfdfb458ee164169a9fb72c5116a2748e84fbaaff805640109516e658b6f821dfef8ea158e7387ec67e272653b3ec86541f6bb895483e5744359f49161baf2228fe2b74e9015399347055767a470f4888ba8f92ea1bde0b9f3d9d71db0195a24490b0fa1107fa6211b447258c69deb9fb613b456b090e5d372f74bb30c4c66a88d947524ad075a402fe0726ce868e0161ebce76486a9a0a83060c08ec5efcbcbf3ab4ca04269ae7b9c9372b8e6607c078702641cce438ed6c457f4f5cd9f5ac3a208bd63678b46d047550c413baa4a6ae9af37c624553ac17b3cad722ca862d8fd8f62f2d886290dd58c72a89e77b0d5db79161a5be60a6ee7a6e6ceabfe7663dd77ceb53a5f69eacd892b11cb1946fbfbd497999f03a6e0f8443b0075aabd6b4ae70f67fee57e207f18729d30cdc5c366c729a2e8b49961c78931aca8f6b86ee56a326a3bdb454f1f5972b197aae5d0185dc3fdbdc654d77cc984709cbc21984605a119f66129466fb704ab4cbf7b106e5206a9728081b83dfd7e265bdb44923ae16058baaff83b078e70cd36d139c6ff1a765e91ac75f8cd366d02f85046e343659bb07acab560ac451d73fd85ac9d7cc25b7cacf2c0b02574baba2df71780cb85ac3930086219633c72f7e504473c14055749a6be4853e5736ddc8ecb86fd1c34097bd9dc5106ee32729fd9aa63c812fb347310eb065764bc4007aadc1021af67b8c9713909fb7bb77235e1e44312e6f46f180923479cbd216917f437df245d6a8b9c21e92ff6fad2728faeaa69bde6135da711184fa0d3cabb01e9b3af14502c2598303b3faf8c1e68269a5151f6dfb9dc320b57d6c35e337db7516a8f7cf397ec6fe9a916930a424ac3301cdd98e1a117a5ed0d3f7f4f6635e817870217bb461978fce9cb7e4ca70872d2504fe3b94c0e9f0b4e39e7b75d998abc5cb7f80f051e78ed8d78fc2a6a7210e0880d0769c6b6daf1c0fda823840a843182853e6afa2b5565c95fe81b4e721d888ea3e4b6206fcbace17acb38dc4c4717ab63132a18ff90c03c23cf3d077281f6ac4e8fbdbe7a453eddb008fda4a58a3878ada77575b116bcf34b1a77301df74cd78733e8db6b21fe470b39dc8febdc6875f9727de6731b27995701cb694eb18221d0a6fcc83e673eab1c9eaaf6750a76895eedd9b2cd50cce7289cffcc52308f1687d723272d5860d864f99b40318e433605477d065ede1828b1b17b5d72b721926463349fd9bc4e62c42040f62771c3f6d35bc2217bf9411f967c466f6c19ef15a8372c0bab63ca59266663eda3f5565b075c26a9b16a8d4fde8f6106583d6195071e862d663f41ff2ec6533c8762dfc21451b74dbdcf54202f38d7547237224ab39bd2bf00034c88d77bd2bc422eaf2040cbe9b895229e28f6babf18728e4d1cd27146772d000222dc4608228a7d8f0bdb67b9715ce1e67b4de9cec834dbb136f0bb50a8e9452c25bf0274dc8a6cde89d902b426ce2e3966bc6ca6bb727274030ef234bc591c399a14730c23c07f2711ac782b3b5bb787fb7f018c1272ca55356ab3336d06f9a482e09e7e8b8171dc9b90c4e5fd2e510176cee0b87372b629821428c20318f874aeb705bf5363cced8a49a6ed6360c016f5d045c2e672d609ebc87fffb806577744db7ee6ede52387ccebcae01bd32e66f83194155c22f66ed840bb7ad1d22248b495eb088be867b0cf60f9e5d193403c6ee3bd5433723c7a3a2cbcbf97bb2c1a29ef613115a411bfab499778cdbbccbc051c735cba72b825918f896c90371d242b70066d50b6ebde164f7f7346635d8c78b99167d110969549aab2729e2f2048847bfbe7d5f6e72d65b622da20836b29499ee37f39721425826af34101db2670dadf9c4f7c169a72bae5d82303d3e1a75b569796df72b9ee72a367a4f487513af14563782fb4e7fbd6dcc5bc8b6641e8dad600824e7248bf2735b765b8bffed4cf88005bb133be1abb16c2666972c890717630589d14ca0aa36f4a84e61248ad1711494d73fab54024e7afd6f2e33af80025f944115c0cc827145ed38962138de288ff6643d7bef2b33ebdb72645cee405cbd0b4b66f69be0bba163808c7f2592c0aa2a4e31cd48dec77b0bd9c4813387c474dfacb549a959d27e486770c2f40ec8c811babab12a9ce6aa6ff66263eed283a775ebc72094293ec0db3b2f6bdceefb27bbeb9bdae20c4ef1efb2bf4e482cfaa57ba8872122211d806c6c14ffa9a36247f3e12b9f85446286abe7882f18f371e029b5d721facc566da5839a8ac0312fd64717a6287ebbd887eaea2146ebfa49285e5196f111c6f2710feead673ab183802811ad46a766bfeb0da345676d04415598aa772fba970bb8aac4cef9d6f77afbd253164e3a6626ea20efa063472564bfdc2b70147a365fd9c01ab77c6de5d39278a8409f3fca3c1a6b50ab454e65c66ec0ec472cbc8e1ef4edacb41f9e24e448b99dadaebcb6849be43821a9c81621c457308728a5ee5b8c4cff0f59c850fa96f47a0e0250f77b1b2f65a80c29636339b2a9c71dd1d3eb9c668fa6608020eb52e65225b8a978c4b3edb3d62b1539471fa68dd72221c3f8a5661e6fef7710a0f2a088b6ead0bfa1c673279da5ab65e2ec5128472519eacff82da77c13fed733a89da345fa33fbfc70f9476aa542db37b0404ab632843397b1f71d621ec3595097f5ec8cd0465c0fb22c34cca2535eb53caee4e7282cea530abc9f4ecc3a3b5b1124cb44749cf64c2e0367df5f71e4912a2baf45d949a510554dee769aada3820a3855884ff195b39bb56893a7997280de6876e724cda036f26412a588341e39ed926e4d386a7a91a87bd876134a440b021a3bf72f77bbc5f2281df8eb858752a7db2c4178e192429add45a612cb7d286c0dfb41f9b854fc9daba8b0b27608f06537303e2e71979055bde45375f60fbd920006672ca47c9a796a9e6e52539392ef84eb31ab60648b79aad82fd238dbe2926e64d72ea0c1df82bbe85bf0a8c0a6040b5f7b00271db4fc4c1fe796ef112226b960772773a5aff10b0eee36b2f2bb06867852c8a586bd280408423cbf2e6ab6b60695cb20fc6ce9d8c3a945b191b4a9f4f3df4f5603dc1ff5b4875cf6d7b9294ffcb728f45e3e3d774c3c9049a350fef9be66bfd31ec90d5eee93f4342064d6ea66d729a26a359541d50b61d8132dc377979afb494bac61a1d109dde38f8011fc7017204bfc3abc005b251cda447619ac533ef957a489ffb4bba403c404dc026bfe2212064f07150a0e344144d91fc5705190e0fb152f3f7ad9bdbc64c7811f181250af1a2d77c9761872c3bd6c4404e214e9b210d7ca8e90a6f51709fb5a66b697d72114042df46e7ddd3565af13cece09f6aba9ab88ee207629261703885c978a572ebb4662f9751dbbb9396c5aac29019d32a72497e32c13179bd52e6247379c11ed366b583a7df60f24e016cf9aabeb60297d93befa7e08403634d2616fe213d5b17da7162ab72d7f9337b1c703e0bf8a074b9b1854e3c997dc18d863a4fd7857208709d7e04ef49dd3fd89e9ad0e2307920253e60a83fab2a530ebe7b1b909c3a849b99dbb383d15c6119b2703dc2c72926efa16af4a825f430b65f0dc89e8072e1840d6177775c4415c0d936282bebfec5a0235daadca1333fca1716fcd3ed2b26054d753cea2e993a901212749f00ffaac7fab891b2702f54b552e9a37cc4729456ea9682766c25133b8416139fdd62fc2552798b81800e0195bdb34aed184c38e150290cc2342c503eb456950ae4d8fe653929905cf473bff66f882ee70d7204899ea8f7fa3bbe2da13a5ee659f0cfdbcd6a38f6d416b6f06c02d00fc6c11fbe15aa68ef25b2d905ce2449549c91b824cf97149d2a4de5288eeb1ac7cbc25445d45e17833666f7b390e0632e704e9606bcd6bfa988d0af16f7087ee3b603720b01ed00eb80b5220e5a54180a0536eaf777488cc26ef8542f97ebf7f1fc1972f6fae63ea54c061b19985429ebde45839f266bd1fdb7b2eaa3f2d596dd4325724bec5dab61cf554985cd505e969e3ec4ed3be1a5833fbadc77a54b7654ca6a3454fa169fdae8da93fcdb27c17a990491e109bff00eb0d79e08e6ebd7bcf0dd72cb6f4be72d83e38413da4b3e87228159008853b823d6f1524c8bd21a89887519ceface167d76b69390a3aaa849daf1b8bb5b8d6954c47708cb92767dd4a7f972fa918b26f3b1a5edb77a0c9f4d4fef99961b846072d10230359faa0a6ea580665b189bd0549e5e6c98b944e7725a42390d227d10786bdbfb296d873369fdf6315ca6da51ee2f988793646edf67ee98d13a00a9e06341e862fd8d14eeabd9b5726ed21af0df7e664e98070452c48857caee2d24b86c74b90868a3576e1fa378725cb71f4dc12360afbbe6dd854b87f4ff4b75659ef351d9b3a8ccd449e6498f24729cfbc07f07975f4e35abf1f634dd6cdb88f3f79898287e4a401599a6135c721d1f91f5f4846919a75947109b51c3955686a5f66fdae44d60f0d6311d2988721cb43b9997d6833947bc5ad12f2282c48ef006ddaf6215152332f9c296021372b85b094aafc75f8dd8e7fc894c40e3fdfe27fe484c0f00044978dc8b9f7193721305affc7702dfe6de9827af00bc1ce679688a2465a74fcf9709e01b092ba7723ddc56c6d180a60b82616a483c0557d976c361c420d8430ad748291992ed351d841b0fb27c2746112e507ad3314b06f70b2ca401d88891cccbbfd08889e7f272ad9374590e96cf7c91a0dda6b8432d3315b50bed17bf81b7781aa6822c92b172ecb8f05696c298a234243dfb5fce7807bc570d5294be5ebdda902bcbcb85cb19456aa6a554a837ec010d55c8797308e8da7e4b891804524ca9b19043f969795de7001725bac3ae1ad631f0963bd4c43f92c64991a19c548098afdfe46d519b726eab0ba647eaa73756d6bd4715fb48c09c750faf952b84305d16dadb2f59eb72e64b2579489c35eeaa060e819ee4a667629db5c322abacf980973985bb885832c03c6a59b6eb8d17e71bb598f169a274449a3edcc45c421d2e47598830b4a1107d3c37f4c4ac00b3b850e35ec621ffcfeee6089b3953897357766c21fff5be720d9eea138b1e40ca8a87735e6c03a3f8f4c8874dcc608a342912eb650363e9728690afc3d6e51920cc0cfdda608682c03966310e89514e2af56db5edff6aec726ff5e77e584bb50bc49ca55cddf6a08851d6d9ab3fb312bd464c6c1149bf7801ff062611c356a68a09e9f35858593b28a74943e6c61602b7d78711a943d81472a974266a46b94c11b73149c081771b2c19e55491c856957e348d74ed9eb8ff6bf5c9eea7a15fae6d6b8709dce84aff64de8e292b0079a2ec7837167956f31a54f393b458f08128fa1eb4c492cd51fe5447674d46a7b6732e9bf18cbef2e98f724e73489c791e6ea1fe9ed81e2abd715a99a44ab1e62628c78751a8453f1c14726237abccbb067ca7226ffd6a3d82e3ee9e90d281f1e99b9f3640f4b4c654ed395e65d82d46f023f07a8980c5bbab61244c910295c9755e75d6b5c83a6788887251ae54fb7d190ddb5e5bd64142f0aea88be9dca3406a550f95eda544962130438481b277b10773fd91cc1ff4e02fe3b5a49358952677d68cefbd4e05ea0f177270e77b1423aa7b1f677d886d8b8ca08e059b99c9e4b92ffa62f09af91c44e01a7474e450e7cdf933d72c363305db3dc4b943fd0393011946af48977c07c74f72554a93cc4a9768d75cc89f6fd1ebb38c415266379fb1bf64e50014ff620322726bd8982797da2ab5f8470feb5da73be05d5bd24275d398cda6a5d9d27e753b7215d2bc8bd8b35a5635d08250587407194fef64d29f464c1bd7cb72857809a4721c846fa5f31df641f057215be4ddadff0b6c99472d8ae44e9d8f66cd5bb448721226406189b5b9cf5c9afb95480fcd3d0c17fbe1bfef16942d97f1cb57d7df72d9aa38141d02c60389b738ea0b4b0bfadac35a4c7282cfe198faf0390dcc2432ce025da311583b7160dd9cb61202489dfe2b69f9a83ddca9b27aa80ef894df44c0b68460856e23a50f43316e161266929fc18ddee7120ffda89ec2bdfb4d790fa446cd8ce24bfec2fb47b66c8a0c9bac04d48fc4c64fc34e3cc67592bec497724501d39480a79c2e2730b8643385d035d881ab10696cf7fa94f0d7a4bdfb29721be8ee4a0559b797adbaf416cfdf9bd407191b1d312cbadb5a06022fcf19d872dee9ef529c7b396100cb81258855961041b5b27ba1a5d1cda964662c1dc2867288209d441b74861037289dcba815691362b4c4bd51b7fe4e725d266f6b482872152175285dd25302bfbb7a58e9b8c3f102674f680e3728ca2e033fde1c26cb72ebe0004856eb13e278cf79de54bf6c0b772b6f2a92ca7afd192bc2f4cfad3572c410171c83291d686a3436f1c1792feffe2e9122f0a0d66b3f3c7807912f9827127e460bfe5a1106eed14da3a435045a5bcbc0f23b9431e5f57e83fbb6013d72c498de53764ca2979b55c9942eb059d6659c90608c68bde4bc6eb7f3c0eae87218b8dc7c759a648b2affc9502c50cddaa95eda26c82d172de987487f2596ef72005cce8826a64851b380bb654e681e5b2a430c652f5d9910c88aa21f5d5a5272e4019038391f36a424c055685163758818709a37dc968a28db4f0f8e85484d728d01b90207a4ec9a3d00d6e4c48a337f6a740b5a5749a55539983d3cfc1bb672ad29fdd67e2a4486db22f7eef0edc8dfa933ca4bef016bf27638f0d138e910729db8710aeaccf5362089e637472dc0278cfecae30784d57ca6a134e3efc50a722d7fe8058a30905ac9264430e73cc380a2bd33fc7346162d7e6316a83b2cac72d4f1cfe0be7535055a0326e43a73b50c8d293baccd8c5bf4062426eba725cc0cabd1d02e623b911e33dc48c963f3579d992348a92c359165006f5860bc49fb722ac34e69ff0295ca096b1cac0a35b87f6bc58ee63c3a5042f2954b669fd9ae40d26ae308f84d555d8331978e5d3426d695c482402cf06ff07b6b07c6b6271f72490e79926ffd20bae4001d14315fffe585dd2642770e846aacb7f7e26c6e39570a2393d4067a612360221c5895f70154fe7640d49a55f88f33c6b13073c6574b7c1491ba47621bb85239caa598410a916b87f6faee6bb5e87657c783965c3a725c32cde5c6262a721ed107f87681ee86d921e86ec026d9223df115eda296d372ffe6e0b0e0d1a4549360de369a34af0e66ae8a4a1b4d170fcc5ef5e80e49600ecffaad362176d74cd87705d1628f38339b4851d5780e990bb779ec649f291606ff33d4d3ce182139a4118a8906ead8caa8e287b5fc1ece249a61be3d4cb7aa6c72975b966e453e9f70f14fa28fae0c3910ac69977030af441e91ce5bf906ea72f0466a8cfc37a6a4523e93bbd62959e665b742d4f2b23e56d11f46f26a175317b5c76637a4cba16b052622d66bfaec6b0b8b4f7d3f076cb8639e352cb5854b729797fb06777c34fb591a916a3de45a5f95e7d3096e5ee5aa54a648b53249420be8f2b0ac15d252012315b80a90f9305108ba571c3caace2c94691fb87840c835434aa80bf7869a68f21cb68940f5882924f8a96ed5791e0ab20a401b77d5747216a122c44630fe1914f6d2b236f2b1389583c5e2e22ab11e3dff4b03b8f0d27268032fbf78851efc77d9f9d69c69140b96e9f6689e9c5270ace45e747891e50df671a8aca88599adbe374847fdb457491edbfae1918067be99ee14baac297272ccfb51b8f0e7f234925b3558c52d5de64cf5b69eef4918c273a0ffd80977840d3e8d9ff68850e5e1d98cfaefdf9dd8b7a9dfd2921bb243eeb7b956282b3f9f728eb7e9c40d5057e56fd8fc79cf2b16b1674400a390948e275a2ce0c02f771f1ac0389846989fbf08f01c0d19c29e9648d7548dd2c1a7cf1dc7ace2ff37ce5f7209493bff65e75fd46f7f03ff5856f795bfd482f00b8a22b6be7ec14003104e728205dffd2f89c3ea7b131592fd17f4672dd33c9777db570bd8802f7e82419e09e4be398ab00929f50f63c3c8f04070e6b37239e3579d030099f3f89a39bdac289ef0a6f1bcd2ff33c50783fc8a957179943258b8ffb79e2f31013c3521a65957c689ea75762057ffefba0e91c7f7c5b55a30b9078c470df9c8cc43f4eb61400e47c4fefb1346d5d5e79ecdb9d00896978b344620352ba06292eefab6cd5ceb72776863fc84a9cf710b1accf34b1e95425a681e57e9ddb1e8e37e3856cd8d1172ecb9cc1f3aecc4f5f2898aef4c3b6be25518aa2b693d3c076e0041f2ae0e4772c5bd2e6ce59781a03e7c7a58266e159434bd13ed4ada2c56ede0f702365f617235c4b18913be23ac1cbc246ed84a82162412a43ab44cd0b686b6df726f719921ef30519f692c765dcce3c757552a0f1647ea05983ab4ad56b9d93d0b6088656a215b87c7311f953c5fc698065eb2cf9ef084b100c5685cfe5bc4e18a99f27b72706a7674b090ced57957f34dbedaa0a7a0d112f6b1de2844a013a6d09b12a07294b1e062b3bdc91a230fc8de7d9d13341ba338be90ce757637b1b9b28c571a33f81ca1611544cd85d6a35ba17fbf9d8d3115d586c068744ded86e99c65459a7267c49596ca534e7f257d2932393ea3b564cd72cad66f3273441b450f3bb7a95712192c27269ea62ce671f6be529dd15297d61995052908b8a18d5ff32fcbc5724d16b3d64872d654fe878cca2fff89b960f5b6dcf47ca12bf6216ac2da5b2444b4456f758278fea7dceb3457ad5fc7c5106e455010dc8190ef8eae982522ec72b3d2dfc4f82c5d6dc5fadc3dfb62d40a2a2987c2710b806f91a1d0f0e45c26721a3b3a57d52f0d28569c9245cd22f519d4271d2bf52bdd9199af0d09888e7e4e58ce456d7ba653ea53354ab576b678d857193f1890f689d62ad16df80418ac318d5cf9350ec46ba5a8289431cd67b0bdd0ebc3521a6bc46def16f97d4b497b728cfae2184c5ae854d1f834b7a3728b7e874060c633ede2eeee0705411422977236329ffcb3af895d6d27d0098728de0fc79e19590fb8a26bb0671ba26dbcc3728a55babf73bec3c7d0d911fafc2556f96f56fc1b9bc5b3e848cb8ba5d2dbc91142e1562b69760b4ae468cb810348975e9a27862b339a6f59ffaead2213812b5c075fb2c78ef97cbfc4a9dad9a3030ea0deb38f5666398255673c14ec4a09d35bc5a50c025959e76cfb3f1766ac6f66f9a7def8abfaec91a7402dc0049e86db48bd29d176769c2b5fbc541232af4aba7a65499af4d5c79a2e40fd8944884d4762c995aa1fae08a062031885a0eb1c2ff660a1038030f0c7569682188107741166af3421eb4c8ceca4187e9417d15f12eb117f7b023e2b276a6740e7af4991e16debfc37adfa0e0644aae4fdb234727565daddc05d401c151c5f9b0692798328470a8968c590f90141c27faa6776db63dd51ce96739651425f5f54dfa318e96b72941b8b497163e801feae264e3a4ece6536a574097e62588c22d841d9dbbb4f72196809358eef2d976f6463ce6ea708e91b50c653693ff88da0ee74194694b572f617e638e2ad7d5b46e4fb3829f6d734d82b958af0517caa926b6fdb1f51017268ef611a8b239eb473d6f08a074ca1b35935b3b965f207377aadc4e08985b126434de5cdf9831bdf982f79824e61fd2abbcc163d229bdc4635810a6384ad9e72b997f657ee209624712ff5bfe877495c3bbca95b086fcd1156c6c0ec0d285072af626d22c03c041fe9737c270e6ec5934d2097f2c1684491fd49addbf4e95063ea3274b4a678405ae462a7881719be88df4f387a26775c3650f38706400a7a7259303378a244d535054808b6b973ae850835f26f4374e40d50619dd4f481e372848d56f41ef35837b8d6ee00d13d1192dd3db849947b12fc3be36b7d245c777225445680e5a41ab49bf541c901526b1824827d03e5dc555031713ce33d71047274214f372ccd74b438dbcc96f33497dffb77f52f677fb0ab4baf20668ca57b44acf46b804789044173ceb7c7a004699f897ecb1e091b2147f0b108c305805937951539db9e45c483cd95693159471de91427dbbcecc6908bcaacb3a95dab5e2714722e0cc4db456cd48072420109228545932fd7589c02cb9b4ad4aa98f58f722f5dc8405c288def1bcb7981056c8b6365cc054cf6b90b572c2581fa17c1f747d1a8d442f54db1d52be472365412b929b77125684602c9f05a0848f540fc1472794be259ebf3136d684d2436e4e76e3834c20c1891fa0476d1850e8b8ef0383e42ffae5633ba4442fc8e6265437d49e637771c9b97f27d86b9ec8949d892bd1036fa341c479b7aacf3474eda16dda1556accd45ded6dae7c627db9a1589e5e70ebe14f8a1f2f3c6edd72084b5f64aa066996702567be2b6d76cb8d3a74f7d4724d07e003746a373f3ffb4f318c7311b66758ff91f89775b1e53913f8fe2d1854a54e5a12996a2507bef6b37134801287971264a75e2686e7649fea11e8b6ea7218836ca9819a1b3e5c1f235432c5e4b044413da9bc7cb172f7356e9406678272de01a20f5e916577af4795edd761584a95b9085c72b9307dc2fa59d041aa6572cd3f801b0e92aefa5049ae4ac409c01008687ee1878060d2e6862d0932e54c22c92caa7d5cb14b7ba4b358fcfcdd6d8b6479d65d87925259fe8935004255fe729c9e34b1a10357680ced8105d4b2cafbca968fabe7500dbcfc724f1293591b720b5b0099187e7016e273c466d4c0627f13b5eaed080b156ef88d10743e1081722113754c73d9b5a6458028bebc7ab07ebca328fb934a751da4250693dc08bb72b999b58db6728f5940c7c8de3e773a932ad5d42bb612e977c088a373e19bb93e8495d8f14910dd2709361886ac86f78694dc1f76a78b3d0320a180a6f503657248607e84635d9983f967dc4f682875f866b7ba0d5a88cfb909aab1b6b565f0025d1c0dee5b9a0f2a4d88e3756f69ff248cd382226d55c5bb7ba0a295a6de6e7208d061ad04f66e8662f68495b06e2d285a62078802f215a108160606852fed06953821e6e661aac16364e8d4b5cb0a13341f641bff2c5f99df6d5b5521e2344b4b31cc993c991c629f94a1218abdc2a5f7c9bba449eb6a0132d9e07723041421a3e370baa4ba4571cde0498aa4894ffcadd47db5f4f159d3e8bcf9b2d1f84a7285069c48e33d9e5198905b9740af108f2a219900c27a1444816799eae899e253c94c0930a0a41d85388faf4b149c4bbc08535fb0b37e91cb7544adb0d6676f724a17825d9bc45affd1d5c093cafb2c399a60c63fdc4881b52afb1ec970cefc682f4cf3ed640c2eecb16d58f278b7313e07098bbd8969f28954c1beb6ceae2569c686d07397ebce606fc46c81efac61dcc31d53304ca80ae87b5946ca3462137233db37e4ea519c6c4ea224376ba9c55f95ae06eef4a68ae40f63d01e2944a872a2552269244758ac93c3b32819cf0f42e6f154d649f0b628653000d5c63ba120738e20688d619f26158d05f4fdcc970a7f109e2213f85572f4ad010060a7e572ac2f7f3e08d9c8004d9554b2c736ef8ac63cd24dc8ed65aaa4d873cef86dd8422273dd3cd556c70d592d28f8ccb9c4e7ebe02e59833defc0b85f70b08a81b272ad87998872d53aeedbbbaefa38080ad819a64dcd3c3745a50b4b992ef51fe1724826280126b72feaa28daa6a36fc5aa2fc9bcff5f8bcf363322b5b0a826a956cd8b68d8285d3d799feb7b5aecc0b21b42b933f32d02b0437447077a2dc6ba81d91f54c96744714e6bcb083e60b4039305613c4161f27df41bca140574e96a672fa6da7180188b7237043e7a3593aa918ff4dbc3017945d1ed5293a13c5a69072c44866a5061caca7f6f59b48334101b6d60e37efe35f114606ca9dbb976e0e727f28281e13d8ccb1a836552b648c15df1b9009406036748a6f57488f93a9f45144ae22b96ce557c28ac18660409cbd37fb50cf60c7426a622372587eff5384720ec7ce0584a7ccd7e9d8e96e998c272a58b249e927b191073843872337f41d726cdb730c7640e20d25e3e51a44eb3e4c1156f7c138c9665936ff16b848e93a34e3feaf8685f6db25c5dfb82480d369bce71871ff5b81d46b7c16d06f3b1de87238945d7682349ff98593147415ac1de1df4d48b8442816aff27786494458b0007da28fab4b906c421ed1f36ca9d52da54912b44c83d3ebe051d58b667d169336040515f76ed80166e88bf75f74b27d4cdf4c11cd46e367a0137d34cf80806e72499038577da3bbc7fa04e7fa20c2812685fd8cab856cc7c19a972e44baa63006209b7d70adb4f8dc141e932dedb4300e672b42ad432581ac9bd4aba566b19a036936dd1fd31c78fea319cc9111a9da0ff9210170e5d055bb6f4560a48eac957222898c596e90488ff6ef49495a3bcee5ffa9a9e8ba5383d774d55bb6968f7d3c8caebb88b178477ff44c3e17702927467164ddb487a001b7f1326f502a552f72b4e946e878e4d23e965fcca4ef66c7a1f0a78af19afe18e86f926c11c49fd47248405eb52f6c05a6d67ac3487041857db14eb31e17af9ef2c99e5432b9d57969596a4e8fa63ad2efee673c1277398f40112edab196bec251e68c6e463d4fb3720901c593e5dd79bf73e84faa95c0d29e03f971635f3ed73e2384118fccda32729c2e572271656e3fb9ccf2a224d9d4306c108d78786267a26a456b300d701572456536159a9ba058d994608deb9ebf37495465f7521a489ecb48d31772de7555033de6223ffc83fc745e82fdb5590644c7acd41d856b79af54c60fad48eb5a194232c9c2f0c72ef020c5f1a846241f496a3862bfab03042f7465e3709ed9531d01ca59e53f9e28ddec854340deb0d96d56f39fd7c6b122867a7fca1359a33872140a950f31f9f610d039bd469e5ff5ffd87aa8e19caffdfe213581a3eb494472848cc333c873eaa3dc461f2a211ce64bd3e627dd13be27163dcd220ee51640729927ea87bf74921940f02eff5797c90e474218724132a71063205ba51ccbac72e89aea2cfe405e9e7d8756f7d54cb04dd974f6cb414f3363cc54b89cd7611f728e962eb3d2e7a1cd5aa835bf36e6836af8c9390d8f85f8abe01c2b36b9d43f72f587a15ca07cf3f27c95af1f6dc021025cdc82e18fbc085b05b97772061719724677dfd7302f2714feecdb25a6dec6d15ba8c8e672969dcbc4c2387c0e7e2807d973fe3566a6cc8bd00c21c676eb9321555dd90e5f22a90e22bd4c9dcfb42a728b2d6a0ec16a6d8930267dca8a2612226526b92b8707327f6dd21113b55be772bbeb1d2c9ed1079f3cfd9bdfa0617a68b776cb3d618d8f82d673d911cb5ea7726198f208a3c466ab495336eb979bb64228445d96fb364dca2307011e253cd10880b3d25b69db0dfb1ee39c46670c9ebde1e729d4cb1612c22b41fadd4e0bd72e32f734d29646d7195228169858d9bc851a38b63c0e17f979687535432403bd2998c15954ff8277572628bdf0a8bfb3d42d739203b61c509401b8bdc399c99d367977859d575331bec5b5620bfbdee5bd27b6d3769a8bac9d43b5625fa0adb672a4bedf127a65a2876846b256d609dab6ed124d7d04fe368eb2a767277315f23e5ee581a2b76b46205f7f52c9135af038f6f70458cf8a0dd53420b20415df4772abee58fa121ee00f0046ccbda1c47e097513216300f4a07345fb1f172fed7357761a7af8e9a38a85b612abad0cfd7ca069691000f94b91f14b625ebe0756727200fbc507556e64b0ce6f87d6c52257b95394784f2b6c745e1676f09b0100bf725bc638521638218a6e249e24076d1a63a890c0e54602f88934aafd86221ebb72382225f5278dc591631fbce7e95128108372b1342949ac5d2a4fbd2d71929c72f49b276bca9e3112155520a1ba2668d052924f0f867edb06b0c656af040419724ea017ab3c449cd6d56ff99243f524031233a3bd4424b90a9409578260adb932a47accf0dc210e878190c1b8bd74c393befef06cf1b1f4e88c28cc5d275ef70b3c43193605a7f56f8c6e0e4d12e4a56915f9a09952733598273c91a3070559723b6ecfecb78d6893135d68308865d8cb17ba01602a46445f7f7bb201c4561e72618e4a0a1101ac3937c8e6a95ef4f477d86d05d4b75d55fec2b76e260a071a72112eaba2880f1f9adc84904a1b0f8c4016d3fec6260672136e6ad4d01e05062e1f7599d073d2d74bdd5d23856d1c111809039cd8a65887a588c6a02782a1c57226a227c012d42b5e44ae1d89ada052f154f92bb368231a70465acd6f324fac4ed92cbcdd363ef3c34645fbcacd6d27cad125a044260b3fd8f3e0b5dc496879725a730ce9d9e9eefd0637442c310427d5afccb8a24ba1597657ab17a77f8bba72bdf4934077d2109f6927628db7c31b81fa324a91c2854e0501bc3b275f7bdf722e1c5052f5b3cbbab52b3b325160e2a2f7961e65ebfe5aa7fd74639f9597b572207364bc360c109a4cba7dea5efc703777cfa417f0fab1eff0f7f0e11058264d9aa45b9eaad831888566fdc8fa95d8b930d53bd3de0254485223ab88b55134720e6034302910fb1edd4e783c63555bcccc8a91204cdbd41fe602beadf1c471721e0368621ff9e09cea524feefad7b53054e63f40a39365ef61d0b4ca228f1272d979ac0cc241e20a8a8e15d001cc795ea96170cdea1510ff24607beabcc272726264e760e0dcb39613671fb9446ab05febbb316b7a3e6678bb0a8e19c16a1c19ed029236f2395ea6eeeacd7bdaca8a30aa485b0e341d95a52db3f43fd6d46b720b6ec635f9be69d054820b5f44a9ccfaec82e8c3d5a6c4835554164bb9e4c372ce4f855f8dbfba6b3380133722460164c3525323ce77f0a91fd598a1c388fc72d6de4ad6c94683e50578ac95cc6a0f2175c61570bc1710b4f77fd8f3544ee572720f2b9e5b58281d939707278e8c50fa402933fe6316a73c95c0efb2f7db95337e1b19ac94ae11c4a585abe64e95ddc8d8c8bb8fc564bfbd6e3fa844f16fa23ec397a4cd7184377e0303e765d147e79e526c3a55da0d5ba01ce0efa1f4ca50726f341389d9e96d6194549f1c9be177d3917c66e61c24cafa6e458eaaba9c057265ea2edd8d3ed3f328dea3a91d8a873b31d6e9515fad83d5247c376f2416e272527adcdd474be04b7a82f7752f0ceb4dddd10c43d6e33f22abfa896ca4a518725057223313a49b6d19a2610581735dc408bc0dcadeb3549f1bd7cdf1c389744f7c8d9a81fa1554438bebabe44ab07b41f04cb94f24a33b345be25f61d9470772643ff1bb36698c3879e3b5ed7ff7a04f9eab6bbfd342863eff2a79e4604a9472f193ce573ff3adb830f89364f5909f2f52b4beb339a6290f94716e089f84b272fc7c115ac4b344f4b43ad8d6392935885a074dca69e8cf821c1b55c6d499af49a2edb915b821d5f246e7a188282f45eac80680035b74230fe8a9c2426d280d0c3b0bf45389841cfebdfb9c12f16fc9686be6a80293502702ff5aa337934ea472e7ba5d617138ed57b6abfe7b3f87553f6e4ad0936a0b28d24b890432c4cca15fda96e08b8f64228d82d7b2582aa42d6db1b9baff95098adad2766b147ef74d72a517f842369eaa8769df09725c48fd6b9af908d8f9efa814aa17accfc08b5b72c6e6ca44c30950b18f362686d0caf444813da97e4e77e6dadf177257a862b42d8af790202b9eb55d0f5d7c79579041c9f6fb29e93d30de1009352addca0814723ac7ab9465771b008a7cd9dd5356787965c8bff9e00ff684b05bc83fd7daa972c894e54388fa50127753ded5e93c491408d71f192debccae4cd31b1c9039775c3b0af56550dbf1823f2afbf9a8824e8c8632d8de6a2c0c99957203caf0833b7228105d14ab00cfb53fac959ebc9ef77ced3ab13c5b09dee3385139d5b588ec721ab57b5c7d0e7222fe43f10c25675338895b4219e780c0815a39141d0c0a675535670e3632d1e9cc2dd0eebdfd768d49b65896c38adc840a7383bc87d015b772d9e9838ce516082cc652b11b041b4f9a68ec1c116f33aa71f1310ede5de8a072023eb11c0dd2418f4a1fffa061c0bb1b186c487b717328656dfc6f83b47a3672be6ec47e79bc23b1e48768065569204af97801e1b165a2caae978cf39319d2721cbf4e973963a7d16b93360368b2e87105ca92d8e45873f2da5d1956e1ce61722d20d37365b28078b3df96dfd140550786b9e0daf068978e531b213e45db4872e4b65158c8bd421dadaf0c5b1cb8065848d058ea94ebd39143c6df770021c20a474293c38ad7e3212f958d424a3623219a9c14ed89dd33d548785a9255cfd072c895bf2e2f7be96fd05c9e38481938f880127101b3772c371b4cc4a1957639302ce8e3b4a9e345c17d842b166d0d7343eda9be88e9009ef3464e0dd183766372e6f68ad1a2da0d7849acae19a6ea5c659d4c059986e6ebf5c84145746a641172560665d51a14380e0cebcfd4c548d413b06a280894544caa15e7967a7b09db726a23d35bb124e70ac96da95b5bfff8d630d20a963e4e98017a84d2a8c5b28c72a7d32dfbbe5b7bf2fa0825f90f8bfdaea8a65f9227d70e22ced394f30818835323a79a558661c80210413d4ebb90b41e71e9fc509f43e1f24a883b5ad490f620e89cec7b1d31977379b27e2ccc597a0b173e137ce9a73cc5d5e0a8511c713709ce7cf543c1c0276a2c4bb17380c086d0775f79457d03251c0c22dbfd2b53aa72baa47925bf7828dfc27bfe57ed6d93d8e325cadc18eaa00b9b60707b11232a72b6b76eb0457704e9c5c21cac93f87609b54156c56995e14b7b5b27e5ede89f72f5351bb7f25f8ff34f551da303da6c3920d607911d43125876a8455e5517fe72849e7ffb2cbdac396e9c70771ca4c456beacf08e0fb81143b097bab9c2bc9e72e47e4b17e750202078f5da96bd81c9a49a647ef60b7fa03b474b7b7f2b37c60a9ab951893f8c746e60f31f4abc9f409acc05545e7eb0da91377c84a5c8ac2172200ad697bd4aba3366e12e516246bbfb80187722e663cf051543c6a00dc83b72840d8a3b13ee8e5665c01e93f1f76435c816dc898cc8126810a42b7b22d92837ebe84fac4cd683afb9b5ed15d4ad272fa8ffae7f5f58de70c1c88efa941e3c3c8c78dcfccfce73a147166c64f60fab1db75370ab0656f8a26326e31aef51c021bacb78dd007f6088761468d39dfd1eefa5dc959fa89943dde769c26dbd9f4841927b0d709996d6321632d867b1422f34f0b3f0b052c916a0b06075329fc0f672296a403c6f590cec4ddbcad8c8b58e237258acf4547cbffcee1f11b89f0e0a729e577b5c7540892c548c861c6a25b75ae93a9a4499b34aa1e79d51800c54b81caa55f359d16234a314bc43484f53576bc7ca03e9b9dd357b29a5ba273af0a872661feaf12f18c905261df6be1632ee0baf3194e150935ef68fd49bcb61be7272b71f5695987f48b89113106d8e821d1c34cffd82386298ad4834aea707de6b72f86687169f6f673021b1a86acad23f49934500c768d352f6ac0165ec82e07a72b0df054bc4e966973daf34f15c7b57547431d362a14f0d5a68ff5efb8bd3ba0eeabd9fb366230705c1a6cfba49d177ebfc5ec33c48843488211275800311ee4dca47f83f900de44dfdc4738408a2a1545a6180f2758bf9fa84eb971cc33f4343a4bdc31dbed2b86243d1217450df54f838444085b7bb68d3b1a03fd69d62d8727984784766ce118bc28d205413de6a285ca577ccf6664aff17d4baad05c9ae539911f7b8d10d7d02d92bc9b7fc0fa7b9d5544f484e4d74d6cf385386bb46b172f3ab1d03624e099e5f1f4b31781ff5b6472a85c4a87b7afb68a2e0bd36d01603d7aeaa007e7c08f0b06f5ef09ac6b1a27df400f6ec539bbabc4c098590c78b72eff4e0314f4ba8d08abb814e6350c6883fa95118c5297a285c736dbf9b7c0c72c365f7e6e3c5b0857c914606271e4c26aa142e28c7e5629c018dcd5a2d1db172f7e975ed8e1c6ab6a038f63371781e54d5509c5accc172daf440073658761572f5e1b208cf2fb1af0bb26b483471d3399c4c596557a901eb582064d07643347268f351f17e825728a8981bedacbc4dc423cb4cd6a40f5be5caeb5ed44d429602a66df17d5ee30d7011379a27c3db32df945764d3a71013c1615cc85fbdac650b36bbe41042e1b1012a86f7d30c7ebf8ce7afadd58bfc80540aa558927c590772426b49ecf45c232bcaba838d6643ba996311705d53ddec6b45ec81ebec7c27707298d95c3e88990e21999983980774e613d890d4788cc60ee1f3c02751d67d726a47c47740ccde26ade6a41a785f7c58f6411f73d583343957e3a4e241c1c6401f24416039b20c49d345f9bbae43d1c9b80bae18b94225522d2908c800fffb5a328ddc06f873650ac009fc73119939998e8ede08a8cba455aea34c6a0541977208ba7936dee2b01cc4eea8170231b6481868974036e8f6e30411114c76becf52907e153ca2780593338c561d301b54ee43e4fe8fe7d2a574408d6451f2a263592bd71d15fe2172a49d99a936ac64a33768ceae147fa482f542c161a6537bd772461c4486701ed7c4ffa99be57c13b385af3f7780652e39ffe8ff3952e005003f600da3a72e9707fb4895e95f87c16768604a1c70af3cf939e6fad609491442727396240a9a82b7c05d015ee26b8cb3552cf4988cbf2f174a06d15f56a623ee729aeb2215497f7e928ce30b35d40088f2815fb4a360ac4114628dbf6f02bb4f7275246b1e00154924d3028ccafe835a7bf1ede4268c18f0e48b8d9d0b9d55cc72c0faccdc06e92b3ce9c7cbda16603503d89a5f46c2edf657990b9535fe27f1722a81be1b8b364c3a4b9337c470b2f5d4d150e5b3cd0d6a69fca96f78fb590972752029754be73e3e3c50218fc953d76956534d98c8b392c56ef3466d379dcd72cc5e69535e12eea6a90890d100d29657fd99d512a0f33efe7baf1ce68e50f81eff1196b88048c0a865924165064b001099b21fec325205728720925b52902072c2ee5347a4373b1953e3bbdc97600d80766402c3214b940e2454dfd3de5cdd729c4395bf29ccbd955a545e424ded0511864f703f4d34b45febced3e7f677d87242e6c277eac2883e363a017c97e918ae1362397a633ad6fc08df6270cc2d4572c75963610cf5ec9552574cd4217b140ded3a151960aaac422f37890c1d4ee072f4e8765b04475ce9d479b869a0707f1061b120748f1b37406c01ea0777679b72012d9146938d03c36756652fdd3a9b73004e9cbae6bf51e96f3e951b896dc21824d9af2908a2b5300fc07c7f149309c3ceaae37ded9e64cf835e81cdee4611727c56c4165874b4b0281f66f1168a83dd78faf4d832c72f7d7c25ebb6c3918650b31659924b14947deacb7e61623fd85c392b852b457935767b474bc75089a74eb9aa32ae55214bf9c811692991f3015b8cddf64d07f8bb29e87df27b8597dc72a871d494b418b926201a0047eac8ec83994e6b32a7c354ee63d316090bf44e421d54ebef2627e8d22537bbacdd06d0d1255a8831f60fba2bfc57dc63074d0a72e0c106d595e2ae539a40332486ef0f599305650abebe74c9e96ad1108169b572a7c3a0bed5e0333d4c2ad28804f42ec91222ccb21b7b3846ee29fa18fe055572f87b8189df408658b812251c73e29a642a0739da357a0f11abfec9ad9e249d70e74390df7e35e5153ceb597cfed5a6e0722100b209cdc7ed380112403098d861e1cac7a543526516444f1a97ae091acfcbdec8669b0fbe00f4cef2ddbf9f207291257286297a6663f3c1e73ce2b7b55fdd079e0f96f8c81dcd693d1d83d9b54a01ea1907ceb8a10d279735890be50596d72131c6ae93cf2f28785cd32ac91e7281dcf4cf3dc05741613342f270d08a8e37748012fb6713d5a3ce2ba1fbfa9b72b1dbc8c7e0b64482cad8adb37ebd7e8e254de1e17f963310053cfbec61efc61f239b52bac913413c807ab2b76710af360bfcaa01071e10f5613c5dc3f741a27283dcd4c1ab8c69a79a335d97d78d9ff6809de1beb137577a398702475bd15b3d1142da33ccc31e33d568cc0f18e4526c2a8b8bda1b2334240fef8683f16a7172a2761a4398fc5ad0666e5fd06caf808db55e12caf57a2401af8ba997598963721b82a18aea7c2c5e1c56e7f7c630309fd796f26ae764bf8d8782459fad524f038520ae1c3303aedde2283ea119d2f7600e1c5d76884459145ef6a0410954ee5be3cfd7a1205694de4c93207ea0e998ba6e41d1de881039ce78dc1910878d78020667d281b4f3c939385532d9f43cedfca736554557b3f775af6810660af5a71288d8cc8202f67617a89ed7e51fadec065719012219862583350ae37d2df64449cf564a91be4ef262577baf517508b1bef383170afc445b857ded6014207d617277bfb6a564dce956428429049baedac95d20654a632ae05b804a98672f86c56a6106e605b5efb6fc45f5bbc8e2fd20f678741d86e771f64acb08ff49fc680372f387104d8d80225b97bd572d06e1d900ab21f66e0e3dac81b43f63866565e072e64cac93aba1ab8e2821c85e012a6ea32e788bf4569b820e6352df405e30c52503e83c06ec9f42634445a319348462f70a5c2bd51ac18c7c3b3b44ed3cb45772fac881eeffa2d6316a6cf9c7f9ec3ee8120529ea2383de6d2802389cced61f15f40822339ac0ba192d3df4d25643c715799238f6daf27ff7d20d397491b8464a277e46a38444c734951b3006c4e87c053904e7a9a04fe4d9fb76b2f899d33e7279fc898f09ac117e8dd0261269a0bf26e013f2a72a93f9646a6c474b5914de348ffa9ac9ed3c3cf3430a491973545e000fde872e19cb2a4aa42ad8a52aca956e619b0a0dca5e00102087039ed9ad14b0c37e6ab9248bea4eccbcd065b61891723c24e16ada38b2f4d7e01927780b7979527e34c26ed42679d91e6ff342e048725a82a47b8adbbe9c20d735f20cf25b8c7bca6a97474b1575ef10401dbe41155f1bd5cf779bc84dc8608a4adcaf3fc0c0fdbb787cc7f8496da31f460056c07d267380b6d69b825d91892f35f6957714de1568f03e4ba8c7e82f1837f49d4e2572c35ac7a518890001b1ffbd7f9cc02605ad9e52c7d39c3413f02f6cfe422adc197b44e9afc65f59e33cdd5b45cef0ab6f12464b4235bd346f9e55c5d3ad0ef272542004c10473db5c47ecea87f44f4ca694faf4ecd6db77bfd8df1b999a27925506585f1195fb6ce1a3afce5b62543dd76335a7a4795f2db418e65f5774f68902d70caeda6f37773aaddf0e1b8966a6375f53ed01ec16e98bd74f2359257ccb7229fda2d1e4630aff33ac3903fe73b30d26b99a7a61ea95ef95b388e3104d5f7268f24f3b00c6fac2a1d94ff6d72d7b43b516cac250738072da35c93266536872b51adfd70abff47e7f7d0f517e2ce1dac665bab5720b3247db4ebd7ec804617204275c3135d8596b3058103da8b0ceb6393055a69a26c6a38a48b9e8a8589972165fcb850bf7a870ef7da1d7720157580b2088a7c23af378dff56a9621dc2805157a2b039087dbb89d7f7e1d51ffc43085c388b662875fd58da0a8d086412172c90ff16c69194b61675dadfee9720fca51a035805a89d89f6dcf37c2fc45fc725a878541c9784f5bd7e3a5f794da4cd42a3d9bbd8f230901ff9f78e4a28edf72621f9cd97a754ad1a238e189196351c4c5187051619f2ddd85c047cf9d2fc74da86bca694956c54b8794acdba0b74ec8ad796e6f479d2cae2aa10f519e81c2728ca2eb0e229d6afe7313b0453996973b5ecabcec9c4dda670668c45abccb7f728baf401d1e7a5744df1ce702d2b7945dec96fffd0540a643bea6441de375cd7235d55cfc036678a047acccb39e6d55b3123dd3458b117722d557ba74e8a2f270a350edcd7799971f39dd1ec7dabd133cb8adb3835d395d2f43bee45e6f356361db99de6ba9b39dcb57e4fcd9d9ed4d1b01d4c4e09963b8460f84b04b14f4de682a36a7103e277c1769d3db0878dbf8a353a0d00704ae9addb10453ebc644737203cb2615f090a7a7c53fbce9add81b3bc76b73e0cc8099670cfcea4215b22b3d0ea2a9855c0be79b1d4bb7d44c38ac9d9d9bc193da5d3d5028b40bfbd3730527f8b423170a85fee66606a0455c302e9d66967bd2021a0aa98df2e50baefe15219fd1f3c70a3ee5969fd428bf6942dba8b1ee53cd26a120a1ea9c74321c741938110b188cee1318399e4a6a37504dc3aff9cf58669872efe5ab4bdb29d1a748068f3b49bb82a414a0ba8cdbad75e64498763f94aa484742258e87c483299762725f6c304b6d28cb48bc19eb3d395af7817e1e773cba9da6118bea0be744ac5d72d96eba9430ac8fc581209b2ba5d699c4c69da1d9afd4f3ff7026b48b6ddb001510bef821a9b68b8b63849e6e7422509ad4a9bd02cbedee90d781f150d1921c724ba03955135ec9fd76c8729f67dddbb7148df82f17e73605da13ddaffcf39572e38ef9bfdd665bf23cd1b7b0fda3c776508107e3e5d6ca5f9a0ed5bfe163bb35735b321a4edf857c60c5067871b30b1053446c03cc56fb8d370148ede8af28722d2600f6425cb95e9dd2e23387f3fc324efa567b9a1f0e74c23b01d172763f72add2ed9a4a9aba999b05f8c982b44167b3d78d1373581ceceec1f90668c8ca725b2aff650d47a8bb34f5d7c412ac6fcd05c7262069b400619a1f4afd0a7ed8726baa7a163631e78f7269f692dd539971b27e6ca52848cf8758ddb620333c0e6b0bd4d08daa43243ab9376ee6468790c1f88343687161b4ab645cc374293fe9726af49710ad9838b85bdaa8eca03d45b617d2c7637ebc034dd3b39dec0198a97219d1c5b86a4b747814e6e890210ef27810d5fdd7d79e2ae722f8db241a369572a1c0f01a360c7b56c93f1159a5a7c740da6e4e73b9f0deefee06e050566d7b4396105bebaefc605a6c8c4454b1544dcfc2bf910119b92c1f0f5a6f6e68c6e472b9828a5a68abff5c14a315d0559140ed77ead2ed1142a0480876e5290b3ba55023a02cfe5d79b26fce3a15bfe37bd7bc1bf8d78ee4ab348acd951f235bfee572f412cca8ae1334e94f5ebcef3f889814ad8001069ab58993910d78955741dc3146bc6408f935ada0e9f9ce24f9b6d0ec2dcb8aaae95aa1b84f3fe8918dceed3ae37ef7082f2a11817e2c94bdaf29bdbd6481d5085a3d70db86d4d0e6a971f772248fdaf790d368f996065852e233a5f34ef988d91f9894eb5f2381f05b2d4831377c510dd0bbbcf6212adc1a3063052061b140a57be4053e5a21d0c520185d7207b36c9657a6a8271d8f32a95c26419a7e5250dcde51d5a93c8d8630cab83872aab88ad1d88e777885ca5ae71c98189b899757489b28a0798f033079bec419324a0af6408beb4ad4a6e24138ad84fd8e0fbc9fc7113b356f2b4b6fb80ba38410831098b2013319d7f926ddee03df99f5771d3b70d2835fe19b4f16f165882d72876fc13e6c5bee942269674dcf3bce32636cf46f668fbecd849358837a06e372ebdd7871835346d7e3974008f6f1390cb86823aa73b971d20a8e3a7a3fbabe72f6a89a74c2e20a477ef2dd293c1287282529b943a47e6c480770b7b9ab2d5369110f233b38b946c5d0f874d747416a7e6914f738138d84ddb6307d22589e0972551443df97fcb08eff266eb943aeb594f573881f752d3defecf72a799cf5c1726c1b2aa685f9244b2d0d7852f54385109197b88a22dd66f7da60b87f97d28172d056f50497ec20852c4c0ffef1775cb841c46497f973ce3c529bd508b393913558df8cc53d6e47f1202dc3918a9f5b16f1f6685c100bfa5304269ece854e37729501f4403f506c7c2856d25e1d29c1fc06f07cdfb9104549007464df74e0a22df169787d1b1cf0c525e896b31a22067deaefaeabc77bc4d11abaa640a78d07722f2baf45f9bc03d876455430c2735434f3c63f4498d206300753174b92cee3722393b1a542565ff471b3559ee4ad362150e757f888b36157e0c406af40bb690f37f222611c0d04f42c6e7f2e3dfbc99b63a33a9ef51e332a81fb080a34eae972511c3aafc171ad98d554a58304b2ffad302904c0245928023d094385e6c8a57229184c8199af20b4270620e55481693b2ba5cff2542d75e51d742d16be047f72399991ee4d197130953f8486bc52145f18c1e9900cda2b8c20e3c9683bff417253ec0e131cdf9ff921bfba54e55a5776c8e526a4580a6a05d2359478a2063e72b029766af635ac8d1034ab980990844d26ae7eb66143c1ac46fe25df11d238729d7073f673ec053829fcb6760500a0a38c43c9f9c7a120e582b98a9663ed9e07fa4f649f150871f6723126be88d85f0b793b464a9d7a71fcbc480da912feec722bda83e12b3bfa0635e4103a516c52b6c6e3824155d5c4cb922c9c1b09401d7261101544708238d1f604ccdd40c70752a3488ba02ef328d16ae5ae1fbe650072d50899bb8854845b850843be72fc266e18ff9fdb6e40495015c971b37497e83d46e42718f98631fe50af8f30d1869981e9b8dfa4df249818eddbb9db8f22cc0b3b278467313b74a54d8459afe4ab4e2aff25b030ae2de2ac76329b8c238f35723441feff77f440ca888562b7777b03ab8dcb91cf972e5edbb6e7ee3a80de7e1c06cba544686614e53d029b10cba1bfaa3077d0459f3612c4b7c2d8998b9b4f72be4f07e451c53478084bc4aa32ce905c5b27de2c137f602edcccd64fb710f11869dce04d3cc9224b551ab4c6a2f6ef52fc732d9efc21da5dc3f6e03622e3c8312084b42ea00e8f36edf54e42d512f9a479451dd108ac87d8c6d8950bb59c5172aeed23999fbb6e73d830239d44bd0b2fc9d089152ca52302568902f30e825a2bc59a4a63b56f6c9fa42e49791e204ee8897ed6651b66927c674aa994f02089722b4dd3380097db9eba287b6f377c4e7542b48f39379d4b99079b5edb21991d1820ece0f438b3d7aa13bdace463d225edb23caae7923605ff9d2f831c6a787472b067e5e7d6d258417e3969ebe739bb1cbdd451872221d69cc7eb10ba0b122f72d9745601bd84ec30381b1f7620d35984a5f008f9217a1d191481ed578ef1be722d5d825c0c0a1bf526e78d9f2107bc487a269657bdfa65eb6114de1f2092e41f0603a9fa229f1829c1b7f3a38e22eb2eaa338163edc2a84147ad6b02ba1ce672b26f8b7394aea2a32f5134bb6de70e408cd5f62feabee5459bd288c0f0a2d53245504ef420d5c98c6a6b8418076344771870cee2ef77370092d7b4bf1d3a0710f50835b76dfe313637f2bd780db50b95dc484b8b180729b8d13e44d4c0332a703d037bafeb67def577870ff8e80dc40ab2f3edfe090324ea523ee03f22ce957240bd2f4da29069a607727cb80c219c0667bc7503ea664d25a1c421bbdb56a5722089c2140ea2b5570420d42495cec6be08ba456c73dce6d70c48486bf1f9f37245133510c709267046780d07745e8ff86feef677f4fb949702fcccdb11b4c0726db75e31e39b13d832eaedd4aabe94a2e84f174a766860978b9ab67167b94f7219bfbd3964197adb90d74691717ae185a29d5c5b1ac7ed00f42133275963b872b7c7f2e615e8c0595faa550e5f9c30b0ed24f355baa4660852c0b54af97472720471e74b694b01f8d34f30dee396a5c0f75f92bc358126efdd81157a9ccf17325425f0ebffbbf950dcdd711c65fbe30377aa6c07747dbb30fd5a2182aa30c37241a8b7559263a05eaf9fe835e7494e3d3c913a1a9699a74b35a4588a25615172cfbd2699ef108061a70641e3c6ad80a604bae6609690c0e65fed6fd8d931e072d6e98fd384601a4bcaa8d719d28eef5050be69dbfe35ebb116577e392e180c72aeebbadade7c07a17f9cf1bdf2f3c1b218029fc66dbb3d470a049922f1fc9f36223fd3090cc3c1c380a0cb38f8db51aabc1ed302c7086e15fe9808e787d00972809298f96ee2adc597f329262255274dda15edb86d3d78eb600ee1bae1522972e6976bdcc3a24f73d580bb8281e332a8303ab92d2211cf755b4a8c45ab46ec724947d8464f3c775699f851c07053b57e3c46c238bc1c6c9bf6c7953eb43d0672610bdfe7a70000c52c4105a8fa30bde2a1e2926a0fc9ca526e31b29a70a27872262de343051a17767dd3e8b140490b2588a0e98e36dd3782d3700fa429b87772c77085e70df6bb269c18ffd7abff1943cad72e09cc6024105edb5097c6e83b72a47de312ae0344fda6826db1b7eeaffa696ea4eac7e9f1e4d2e61fe9f7f9545105573bd7a97265be9ef39daef3757c1d0d95aa69b88e2e034cb1b02011bff972a7ddaf545821e2931588c9c676f8290b2fa9b62b0cbd9076828c36aff301da5f40ae86f357d1c7e7c8f035d5b9709aa1c42886207b75e449ca7b2d6fcf9dc172ddb7a8f0ca874740d069111acc28094df3c7df208ffcdf1059de9a54d1af48727688f5f9d63984f64d5d3ea607151975256f44e10acd9d3fcf90a90380be6513280064640578803684f456516c7dc1322206878b2b55841efe8b9fd8fcf5e572c41c08b080369737467a74ce273401923f89c5ebb41c6e9db79d6a61e3baa455ef1b157cf25b4b7c3da4f7073b584e81019b8fac77e3e9230f584aef74c8d67279cc54abb90e37d2bb56de95904ee73c832c2a3c96aad18e0b23152e3acf872239e7698374cff55c3b44677d8c9499e86c1cddbabe881f77cdaf003f69ecc23710b5046b8779abbd4a0382da71b9ba5ebab87fc474414faceeb05a3bb67e6053b5e03dd7222d123e8f8ba7b28f7f848954ff8c97e8ee4fafa70ad78b6915db68e1bb9ad9c08dd22c66265a0dd2034a6ff99dff693f7e7d804dbaa9b0c45ca672f815f851f7034d7e3882452ea42f77fb065f15a48a52a68e5630cf8f4b17d4624a2138041c435807bcda1355f25f3ad36279aff86b84c842c82042426801340b76b4c095edee6a9d77b78d843b6c1d23a8b52fdb1e805189eb330ea4ec992b7239ada649dcb425d1805e9cfa3e9d17332be3ebd455343f1bc7133815b92b3a72f643d2f6fec7910e8c54e880c3da51d56cc5d8509f530ff5a928dae7439ac56a5662d8df50e16debc921260332e3763f4810329e981de52540004423f998f1724201940033630e1efb2624fbc705a59be4f54bdf3a522808ca6c1ded732de87277bcbd95bb455d51c2e7585d9811e8076745f65b16dc104858e3b425d142672a01da24b21546f456804f9780ccae33185d64b7ad82e6687d3bdc8ab47cf29c72ea00ba5281b6e995ba77f8484b9cfd56ee008edecda3950c627bc64a6695b45c1044b7297e8ad876552a64d72a048a37438fde30cba8762814e61622119c1347b03864d3e1101a30e6d5e24f4051bbe872e76b9df6d6360bf369261453063972e3f918f88949fed8096b7c7cf1a87974366580bd328ed60ebdb0869c027f10350d9310760fc3c1b7f1e0045691019eceda7900f14f4989ac4ab75109723e5472aa95e26fcde2d7e5b675132f325eca1424877c3967df13fef8233b31f148430c7e2745b12ba7b8e293b77af16ad68a138afb8c1ee7e7a5e638d5b05ad3143d6776ff254d91889846fd4db7fa4ebaf60a20fe1487bffac7e07fa620373abe8f725132b5d047d66ffda4b11b705eb6af2a92eb7cf6eb65ca7888de4a7a5b05547232ee6490cac3b45cea8cebe644f653a5b6bbb9d1d730fc860694bb24b1eccb1ef28370545b784c2c1fa10d731b9a44f0c38689f4b350e857fe490f949ade9e72c2f70b66ab49843d81d5889fd325617cdf23ce6a095e6000fe4794a959db49276896e693e2faeb78f52e6039c5ed8f34b36eddbff792587aef89fed6ba0e4435bf51b965ac8d10194dad52c3dbd688e374e7a9930676ec79676a0c4e96de777266e4b7626ef34978fd830d2953e051356134038a94a94ef54e71eeca509dda7293b352ec6f6dde513327052dce3d20579b4b82bde5e9c9f697c4f62ae44ebd30097dace2742d6c7098f90fa3c02d8daad35609a2723bb4d0c90cbaa3dff13123f30668217d0d6522aaa4252a427e47688efeb0dcab0f937dbf991397e8597b0f51d680f3c834abbfc00db77487f87570d9e0bdd4c5b94c742aec3a30841f1272847c82b4c443bf80bac6b0e134a7929cec53a1464fda857ebc4c5ce1ad3806728b21d4bb3ab8f50d08dd440c59329ef8808049fc9f314c78f67c288f4c334672d0b60b622ff8362e3799cac300c6c5ae7bbf1e406740d35c6e0ceb28c122e41800408b42baad6d97c9d5af953d9f223cf24838950a4628874688ea849db18e06f49938fc0a4bcbc0a8579e7578e25a565673a94308eacb776a83b76ff256f27262cdc736570618e2254de97a35691f086f2957f9f8f760b6e188b82dbf8a3e32878927df55596230e57140bfcebdf3b8a9b667a6e3803eca5501b5ec99bffd725176863d6a5a048f83c0d3cd3120e319dcb2077436734b0e2059fc4310e2cc46b01d99c6da916fdb94bef01e063419ad1576d4a532af1f6b28ec3eb81b37c072ec1e5d702ed7eeeb990903f7eaa4ad09d613fbd135c28d0fbd293c0b36c0447279f4ac2e925bdb650a716e2fe3a999436ac3541e2688a13488c5de77f049a772b04adb8cb43f0441ea2a9235357d194a52adda2b0bc489e729125e5d8f11930dcafc1d0c9353dd1d184223964b60176b31786e3f797f520f5d6041f38f6d8672214ad93252fe8071df3ae5cf861b5920ddb40e60dfd57dd74d281eeb960fd3722bc578fd0ed7d869535633126835c51ef774011b5b3e682d53d9b7e4201ba872689e6c5862a134117586986a85d68cc9e63f89b146d75198fbb29bfb9fa4c13b071a67ef06d07f59e4232d47c4eea18425f2b5d93a01a8682005db66dd4fe16d886e499705605269546610dbebdb26cb16659d05246045f49ef5aa0637be34728cbc0d195910df39d26c60a8f9ae273c56bec839056611777f79477644547a721a42fcfd78760dd49a9a372a92a6b88bdd54cbcd1b7220a0cad69b6351c81806a0fbe9b07aa87f965856c82aa73174165305ddaa99407a08115ac3d37d24d76dbe4f677f006fa68565415a111bbcc88888ec99277f62186b9df55932b5774972a4f8fad31cb6f7cbd68a1d4dfabb56ce756930399d9e3e89771aeae0d903d139242bc8ac5efef74b55a9686aabda139413d0aebe41320df3bd9b3e50d059115f6ed81e6a9a98939c432f403285fa65b7a2aa32c4ca0ab84aff08e3cd56319a7253de0f9d69cf4ac6e3cf12fcf37be9babf03899dacff0c224a2e9dd745e7e4723a32129ca21e686078673bf6161d88d89cae4e5ad2ee13111f8b3e47cd0b7522793563beec53283888d030334c324b72609483d243d1c92432ff4d5590272d480ee5a48f93c201f9dbefc9e0d18e6dc46bc2774e6613ea25c43813ab26bd7d723c0e9c1cea6d03311de2349569ede2f7c4cde57f743020a630bf820d8c0845726e8d67be694661f268c3ee3e1dc77ef5620139e1a12229965b2a11958e3a0772f55e1dc4e8adf61f75296f62cdb6e83dc82f52f65f9b13a8d269818f77dc5472d9588198192b36a23d38285fd1ad6b490efc4c22782a83189151b9f125050e61cf7f7c9dacb5919415dfcb90fd6d1b73d8178fae239594cb3a00f7feea659b72040d9223d21605a3508599fbe477afad43a436710cd395c7c18c7a0f55f4ec61c1dcac3c33cf3ecc8f16b98253a5a00b33d8cc73965dc13f1c876a389c063826c944f9e65e28283559ed7dbbf80dd35b7d235ea54de77e7bc52a07edebcf02725256fa1b3959fa6dd9df4f1d82462c711da17dd5ca978a9a5660b994b92f77725f38ac26fff9c04e1c1495657ed38b8ef72885320f36de57e7dd4c7b7d5c6672a924397b3a47319219fc59b07c444790b16f79095b57eb29f103f7a17e5cfd4244db99de908f3784952d9d9eaabc50b59d59b22c64d0d48fea25c2ed86d0537281ef4cc2d24b33388de9df9519103b7ce110fa85d905c8581a520536e2ef12721ea8777729e88b7250e8e511fba10d1b9f3841e30107424a05d41fb8526e9d394420d0c7b9c5a7135e7255709cd312cdf11d8783dfb233aea4179f7523d991728cb48524ce9353168f6a8d19b20ee6a28dd247e03093df635219ddd9cc07a9727d65b8b883ed0e854f2332c95cdd015f37c8a19cfb6bce92a82a1758033c06729f3a68972e7166ab232af514c9232a14b99a6ee6491b1786954af93d558a663a419a1d6932cf08caeab20f5123035c8ebc74bf7b99bb3c0b1f919ac5507e6c4211067747604dc6f733e314dbc97df9c613e33ae75bd6cec1f59f57b3b5b14472a23f9003db8efe42dd87823e95831b508bd984e0e3155cccad0b0eaf935d2d72c65071d96d6bd07cb11f242b2a2fbe088704fe585feccf3d5f25d95d23a1ff694245feb0c4491c80ab16d77cbbc1021bcc52f60c6199ca677d6357a8004c5c728d4a8692bac7ae15cfb5837c03145d788076302d916c8071e34ffd52f900f00b993abee96a36354b97bfadc3eba4529cc645033453fded91d6970f2c0b5ac672e9a69a4e81985eddddc8aa4a8993b449346652c7af93837fe445acc2ecbcd42de50c5b021c26dd9ef1d7e8f50b463c9e18635f11e8c388c736fb33a7e1748872ad5fccfd8c14aff3330d6dd8e9d4ecfd7a8799fccbde300dd5a21afd2694023d43bfefdccfc4012619656db0c25df8a17710ed1af208e97f758070059d62633827c8c6f1695b74711a2f0a337722ade34930568d66c48558d4ff530d8ebe1872cd2e4a3b94a248b27c8df370ee6a4cb876c488fbeed1b55e7c97eef17515df3c4a560d8b0e94fa1a3f1dd3e916233a56fce7e5300b8ad58fe5181f28578c413385ed5de4a7feb39c8c4debbed0995975bf114fefcd1419ac629e12a3a48fc72c3f894b044f6bbf8aeac453da369ebb71c8af2acb796e94f244385958baef8345d3390dbc6420944210ffddf83000e55163ecccf4bbad33fd675e3fab0f0a6272bf3dd9574c43e7821c44aedf6510d90c1bb1897df20d50c6eb81302f32786058b6dff64c38f55f793c8e03661c4af2ce9b39640c662ae2690cbaec368759690745c9b761b51e66ae3ac77050df77c59d78f2194926e3b8edde152b6c41f3da3b79318b7603fd0859c7fea42e43dbb2a572f255107c47d280afa11af0378fdc72893f0b49346f783d0ad6a8b1786d674536320d70d8ecd2e4e39d495100590b3d3de8fccd7e81ba9dbd37025d7da32934e542fe83833aeae66279147ab4592b722f0b64821db9568937d8e35f2467418f9fccc06cc6dd29f6e9f98d76e5be114538eec06b2e7a55245c3d0f5797b903f3a3c0b8f61c778d80eccb3031d27d97243565fa2f34fe52b1df917a3b4ec8e2d1cae9e8eb1506b852755fc9157bb11d42197ed9c73f2ca637c6e13f5734981df1419397af6f1d506192b300570534b370c3235bf4827f6e959465683546bd5046ef78fb040a59d753cbeb546889bc7d726844245c2c55fe9fcf0c6bd432b1906f0563c4064e229849bbab726b58778b37d5997bd305f03c26301d1aec89355b42045bbb878f9be2cea584c898859956721e1ffd98af2cd41d7610e0f226d9a92c5fb00d26e4747374ec524085c9196e724ada053e486c5afb15f908a1a3d5a2bc94c7e3c5645e0efedd79f569f40f8a72ad4915afe1ac03eaa36e4ec52eb4865e517602c5b752fe3764055b35e1cde272ff9eb39b3a6d4603a66028efdc788fd383dde449c9430d19ea4cc7b2a5e3fe7225705293e84a0942855810c51fbf2a224f6590136ec51c29106f6a54fdaa3b627b53be7885a2c06298d84321e901d26e8f4c90531afc4f322a46d6f28f422f72f8cc623b7de0023b014dd009a0b632091db5f4766c4eb629143dab3ebaa94172f3f7c15abc674f728dc0b529d817127d23d736717687185fc966235ef2130b6e1bb90ed7b1973f1b7a2ba5753b0bb8df7ffc150bb356658b9314123fa3978d72c47cfbb3dad20e27e397079947013c80fabb07f6ec1396ff1984c0a1c621d87206a08d4bff7fc04b31783574eeb69b582734b817e9d8b5bb5ad17da6bc17d32e56e551f9093d77047ff2298a5084e310cd5eadcf06e33bb0127c06b0ff7d8972b73618c4a7e8c0e508e99b5715ac01c1c48f06b565f1f53fe38ff6b6ea796772d7ab168ba11133e5f5070e9927e2972430b287b8c9013ab16d78d467b573a972cf6c212a9cf1b5277582c39738829e2c4e97d1fd3c1e46cc89430dbea556417265e182fb9f7ff80e88fd623bdf512088bbd5c0ce60e1c47933fe6b4981a5685ee1e151aa6c52ebbc72c252dc33cb056dc419383d164618c5cf9fc90cf1b14a57f98da0dd2bbc7d8a71d8d51ee7f0c1907e8dd2dc9690fa7f5cad11c1aafa4a720e51f7fc31e27518b6016e76266cfb7be41e1d78c632c7b95282ce3c161ce16ae51932a316ade08a9800a4fe377ef86d58fcfd6889e7391be970d308e089dc72211bd24a4fa88af1fa72be6ca1b4f0f8984c698d7eddcc0ff983a7453c1f0272291d8e6fd942efb63bf450f8d7d3b8372ed703e6626f0106dc033d11262350633ab9fe6173672dfee1d8f11241dcee47dd9bd7e66bf3fa87403b4146e3f6a972e9d564efa85b44ab3593bdb9a5f1b38f2b277f9af99f430693c10b1f3f77067286f6c613fd264f95a3b3e63cf8f4bfe9352fc96e07689a748ad20bd7c7fbde7232afbf169ccce9df4e40716ab23d0e56424ff48ce1c33c1a2b481f5a642b8c0f38874798866bb9087a59ab107006940a29d8a1ab734b03fe00d03de2abfbdc5b02bebd9bd1ac30838e0742030a6f97af0dab8475006438788b216e633153b121002c8a40d1bd893725cf40c3ed351e82d960e2579e11c4234deaeb190b43e168d7f729d9ad8a00416c49127e8566140d7bbd9e5dfee39b717c524f6fd1614972f1484f4c8d2544819c37cec6aab7ba79280b8e4c60b735c005fd74438f2b2d4e9261bf90f6c627893993552190df0d990e806086a03ede585bec2dd55133f972f37c39a90e8ed1bfe26db8193ce259659e400bf422a5430310466e145dcf193c5b9ba34eb47dd62630e453c7e3ba1afa96e1c2c25d2572936e8f675e2a9acb5a56f0fe3f31aa2ca77f708f27c2b7d792fe13ddbc93eff61aa7f7ebbbfcac4c728ce5b8348c415d66bafdb28392cc503b11b0f2a31441fbd623b8de77e68dfe72d7658cdbef14e88de8d6dceb4c8c0f5cfeb21b1f53faf8bf1523c2c53f69b672cb5490a8dafc56c7934fd15799f26185709be7e2cf5c15855b5d11ea92f86d72dca23bb55c46ad194a4bb0dc3ee2c44644dc631c22da587c9b9237b330b9a14632ec608a2ff5398b9bdd152899e58ab2172c50178e4a90427711854460f02572033714de60df44c6f23a18e7253b62393c0b3d97b779a09e80bd761f72065672184dc3320c53de4ab7d7a3ef7bcc68afffcaa898192d1b872163b8ad690b1c3aa67ddc834dfb5ad8209887b99c47abd3576d290c7d2f8b4dc63bb50056ee0d1f33e767f194852d9dbc8ed97f400869f8fb837fe193429267ff6f5a10c030175dbc98dab447febb381bd53a09f970e50dbcde9ff0eee1df630f9df381b637c8727f508af2c1b96cfd0d6ffa752cc65124b8a2b6e67cdd664892b8b8d2bdef7c7298a82b5741334fc6d61bded7ea37588fd449f6ccb67ab1e18441b5a727e3ee0ced1ff7fd80742c03321b057f32390a0433fe187de0acc4fd287ac3e457277c1ad81be2963e767b01caa8528f054c083937693a9a84cc35f8af70469ac1b69e7216deb5d8b169d863b468cfc5c817e5c89b701d238bd7964e1cfc383f4d79d472a7f4ff37cfc24ed50061f2a2696f4107e55128f69c60c9917e1dcaa0a6de5e5b4dd664f8d306b4b5613e46b581512f67f6d2f32ea20087046d542773dae47c2296de0e44a600450bfa913e63ee491c25a0fd3e8256dee32d0c7ddb42a99f5f721692925d468402fc0f8ed6be992d111e018b2728604dfd8908573e673acbf24189d11d171c35157a76c0f06bcd0d91e54427de51454899e9a79641316ffa33727e09248619f9a0caeb79b76a04371bf677399f06b916f91df495fd657e02d220e4bf4aba076179ed9ea256ff2e2a0f60d8082e7f0e7d39a8317089b000e4864e497f1b542e8d8b9ee6deee8c4c0abf0461c3e54df60be1af34afe7f5a05ac44c301d6bc3d21c9e880c3565fb748d6e6933fa94d08f96f7e8befb43a93ed197728e9aeff4934da03d8be2603c8f323eb8ee73354047456148a975dd0de1f41b1304c9b94664033770d363f017ccf3aa9a24ad71b12dc60d4eea393e1db8ac666adc4a1bc914277e1d0fca239be5de57e58605f5f0913201beda8ca5840e95187234391e0099ea26a60772c60ed75e571def3f57b1b8ca606439e2628705e2fe728c40c49e07aa1d8e5e05a74323356dd5aebadfd80e7b738e77d38cf4e97e1f4155301c2ce2cb125848bcb211a2563addef4b992ed4c417cb23e68dbea4a41e723d828d3e888fc10107a4f96292091d0a2f891e1cb303d442d54c14e7613544729b6e3a60db4bf7442cc6554fa2bba7b42857437f3b05ad3e088e671eb02b656ec824decb9b756739b0e6adefccb2bdd92231d40493a552d21b799f4c601107721a0116ae22525b357a69e6e4d7df8771fbc44ed9d589cec0820ece67663bc61abb67b3908851f8fb62727f93188d824d716823c450c0f1080b554450714c154d8f0b2de2522bf63a73d7b5dc9c3b48c06f264a22513981ac516771ef937fdc72364a907f11796f76e2fb1b68774251b1f06450ff772cb78825a9fd3827aa7526b1fe97f35f91202c3882087cb146785626fd00029fbd370170e95866b58ae372227bee9b1cd892ad1031e355faf7460034843d9157d6fc58ec5a2473224ce87239ab588a60040b887ebdc35f613eb0cebd2de634a4dd40c9e137b0b21991842d90f93db5d9caed45e4e8f860534ebf330bfb216a46608f0e8e71a11b26e462016b9c2896446b23df59740c8b576ab3490a320e4aa7aef51bc803fb1dbb220f72f150e80b75a1174abf64ec61d0ff9c35e169a352e46f440a416a2749f395047250da2e95e6f18f43835cd7d39f801fcaa0f9b63553cfe4f768b14c0f9cc82072d4d2162ccfc5e2bf7c403866b5866dac4cc886af3cd867f24c20cedd7701f64e3fcffe85a6bc0a7ed85941dd036b69403c7e9c617e8a9d2fee5d9dc0d7794b7252e3accdbce9a9d8b67c2a2e12e41e3fb6f2225112c50db2d6be038740326b7270586ab2deb5224d02c7e133ac5973e6a9b484462f8a5b30a6565fe6e60137721b5b8bb83864a2e3242a99aec3f28bec8c99af538909ab1ec609ff6991747903b3550e030949e5d7a83cf2f9920712a03ae8912f5a5f1078dded6ae077b3fb00cd0d277ec2bf99b32e783af887809995d8dddc7aabc00fb04d11bbd885d5cb43033e1d80f9ba87146847545065dfde87eaa8e2e90c57c6d879609489fa6c5072cff9ef4477583e5b9136d96a5be91b13bdaabe931cb1388ee717b5484c49b87293b8682cc16b584db61c74e19737b8f741fe7dfd45ace57111fa8801723d6572830842c19507c39907007934c2599d7ad527d6f6d42a054e68a5592d028ea9727f719fca442a6080ab5333face0904315dd2c6a2b079a79a20cd9b8caa570c72946e6729966cb401e6b5a0088668e5532d8802644200d2035e9fbb82456a1172bd2b60ca445ae1d75328ad3e148bb36c8d2430b512c0854170c519a1b1a3375611ba43b28329fa5cc52abe02264e75eda53b7f36d0ac0e7e66814885080aed72577165d2dc49d9a0420383b06670c6fa987175978e265b3a38c1a8220d8e0a666891763bce3ff0c7d2a136de5188313cc46f64a08209699aefbd573cb1a0766438e7cf4c96ff575bfd83914b57e3d406bf09db484e2a6f759ce65dc881b59c38c9589f4df2daaccb31f430e3b1bca5c9694b725b06d5068f36ff2c8a26a377445a8f3ce49f120da1ab974862cff5937c1b8e725807230e438a16858fd0bbf365aa46dcc1d9cde80cc19dca3a3d679522c73fe4b8ff0b4f794e36ee7e57c5791ba4328e3f81f161b2f6cb0341a4760a683d2fac32e82d382e096d1bc99a8fdc7277823e9514500f29cadb1bb5c6aed2b52568e2f40b5bf9e4e1531cd8bfe81e72e2a307cdb2f65875f7d176ef0980d37100f4e4745a29d9acfdd5481518d3d00d923da832fff4d57ae4d6366b2ff9eb355235f4f8d72cbba7652fe139e2cb59726da03ce60bab940afe9bfce0ab44254247cfa0e2709b017e66de8b070bb0a242fed7742d06b2e75cf2383f5d1f9da06e73d234aac3c9841f3b9f17ec7096fb6e3968f753a818a68fd9a9461d465791af9d8875cec6f26200f582148f9d113e72ccac0db7dc5963c627439155ec3cc0093358affed8469a17022a3e8b1225af363cd61a396affab94c4cab54e93b88a01bda2d9bbcc11e07dc294b898145c6121cc8f6e3ecc4195f9917da3a7ce34b5c5fb9725362ab4d04850dcf7944589b772adc9ff0ba92cc5664584b314092ee73a7dea3bd1c876ea910c98564df42e1f53451346780c734e94e83621c302ebde157b9f23794e38e37c576fd961a67c6c72be640b7ef454fce6199ea6df8ab15a6396c63aa5fef7f710bca5f3b46bc85b0abd1d9acab0b145e6ff9d784f169c93b5ac20db9f2719cde811a67f818afa4d7204225dc77d1efc4a050792fb57b6c1e92abd3f856d17cb5d928a8b9358c16a7239f337ae92e4a99f9679d342e224ab6220686ae828bfccd4bce7ecd60544921da33d7ac12bafd9cdba204326e07931d36a3076c6ea9c601caad2b5f114c888727170662b31550f4aea55f9caf1aa8badc7605764d4b1badb99e36fcbadb62372da803dbe9358bd786fab87d6302b27c749d31ce0a60e630e6d872b222d3ccb7231b43404bf7a47f25d05ceb24374f99ec76a4f703b9bee0951f4274c3138a1727986c1548d43af58bede7d3e1d89d84e02ca3409c3e490ca797d5d7ec3fca57265b68d28d7be022493c718802650e1973bf21cda2b04845d6bdb82931b3e920eb175e64119a7ad358cb7f8cd030706080323abf24a5ee96cf271550fa6e23572dfb17197e74b42a3581e9d171833dd9a43d6fd53b4dc86163abc48b556331872c7377caab76c7d559469f7b499a69dccc43049e0d39f055add45a675fbae8472a3609f53006a476a476aa4c9da56525124e324db9f74886ec8e0a3a54202ff72b77d5c8607e941cac32b447ce1bb59b12b7b343ec4b34b77a4e033656a1c25248ea225b1daaea70eb8f4cecd0dbf3573d50cae24d959e663d83472f69691716266fb5052e31d529a3da67a0b0640df1edd86cda8397c19e5b006d19ef6e781728f399a37363c411931fdc9d396d454aaa84da315cc4f7875031e66eb082c973668cf576070a07c28c3f7b9903a618e69f55ce5db7eee8a6a5d095ab58b9c2d1e867ca1c92fc6bf6bed5c2ccbbd4aa22fb06e32143fae17cc69410fba58da05354624eb4e1a3e5c8c84b7205b4caf5930748fa6601ef3e5b5794cecdb010ee3720180e00f61d15d2cc33a46a29f0b2a0d342a5a1622d0dcaa74c99724deb6734a1a3b268e52061d3a4b3b189ed0cc5d2ddc9364b17fac130055fce35e31c9e139fd793a375087b71c29764dca477bab8d8b6dea4c3e4e77d8b6b1472db2167b7283833c57da291b5ebd4c34dedcc21cee10fa0b0545416e911abe3d1bef1cec72bb30004049865405f5841a1c9cea6676c1678f3c3df6d3e975f72bdd2b32bf42e14736ca50b6eb42755660687f352741d49ccadb40699467c4163e90ab02a172d0931008ce4967fa1264b3c34987ba1181d74b4b0e7c5058b5b654438ecdc4725a23bf505fb37a10d8f0ce1c86f12c36bfc46d4d53f77a298d70032871e01c720f07ec46f4d5fd509ae8d9e53a8f80116b361d46bdaad7e4540cfb250b487c728978458ead89cd5b5c71cd925bcad85cb0d2755f88f0ae21b4c63637d02e0a722ca6606af5df559e935bd484f56b33f68694e6817277932e88137ba8ca0a0b72281ee894062f094e2ff14519bb482ca43695bca8c227dfe4498259574a609072736e1c7f3b4879af01b5bd4cc2f47cb1bd9c2f3dc3d38b811c6490f0e130347214d67401329a4bc6a0002b16851588a30a0931c445a673e122698c68fb5efd72a58edc99503210a6a62acc1dcc78edf1d0bb42a132113a34304f1c6cb1e76d723a8558b3570b110feb4b9d76cd2b3097227e5b0602d1d0e7d538750d23be0172c12ff08fa99979ba992e5a57dfe11d7eaba04bcee88c2aeda4b3f5dfecb58a20211517e3ed7cf07e14fb19a2398e01fcc39284f78b977b1d935bba8170ccda727fcb7082e4b6fff3aed95071038d0d40e4118c4ef24c9149e160785837bf3b729f0bf9a77e6af51a674c47190f50f5117c2aa3dfb46774a72a6d738af56d9d6ec0e7aa35b1cc75cbf8d45643a87023d37da04d5983ba7283c5d7e0eeaa605c592c6a8268a187f13859661dfa3ee1e5cf3af19a1a0bcd0ec615399c215dcb3e728f4ea5f78f1670acbca4bb71c59d6b6542bbcbad0708a3c48092b13a7573053882a308174a36ce2627cec173e6e6317cceab2cb921d044b99226f44ef1911f7225d9e34e7c9cfcbc924aa869e2039c21b1de4382058b26f5417e036b2d261972eb3352ec2731bf55886dcf63f3a8e6b42e2e452d1d9b5d4d5f439d59178ed224c000a59014a73f78418160f80f87f1f16e1ab9db486f248585d10a77d3be0a71be895f17c735ebb88ecefe27d13aa63eef523977be5a41d4de1cd32335fe2672d559a9b617dfd98d5bc4b31489b5a34cf9cdd1b2d53735b4fe3add6676d44812a4f295a9c62ad6d3ea17be876776c786ad0bcca18165e22253f0441442933e40007f302b509cd08ac3c147912c60b9e6f07101f43fa166514afd55a456a37e2adee071537dd4df078292a8555df7a4723191ac6efa028f120c760ae37e495f725d92dc09f96dd8f8be324fd31dae328fdebf72713c75dafec9670e1d5c72f1724f0c6d776edfe4756d04d175aaf2f77596aab514250e3ba086b99a9814c3bd7247154ac482814f69d63680c879174e12a684eeced594b6208236f1e3ef54b4720a29934e4747cd0e048412291d2ad70997762150159ed66869c605dc3b0979728a3e4c5ee243734bb0a89c5879d4481053ea5fecf32e0b870b86555566ea2039d47df26578de6e364216b03ca2e593431cc6e78beebd6edf5652fd8a1dd15745127ee86c69c63679a66850143f06c6a99f5b7c5c0a19916c6bd59a649c29c76a7210e5f98c3bca6bf3e7f3e84b2a2ad17ba620ae25f20777fb4056236c2e977225dfad394b1c7756a4ed3a9dba79ae498e8b441f283497d01ba5f0f41a88da72adeec09a9d33f555c62a5211c0b80d8572ae85a9e9a03117d43ecffc8518c5722892460382f19987c7c3b219a665aeb8667f3214b285de05e6c9a365ffa6a172db1746cca682526515876186ea3f64bda70aebd2a10a64f7c38689150eb6077200c87a32352dcbfa2ac82e457d31d1adf86f75e8164b20abc4e579e04e388c728da5cc7ab4b4ce9eea82321c44716a6942b72fefee63c599122df83f2a9c677203d92ac4c4ec6a497c5d5cf5bdc3162abf9b726359c5f9adc6d8bcbeb6327372ae807ac53bbe48ed20cf00698d8d28bf0b238dc21c506279b1862d4003234d4b460ea881e55a1e58d7b28f57dc3bfde93b52a3f1c13c7681e81333b4328a316b5ee27d4d2bfd4e5829a781123dfc6f34d9b96ce587f2f5e7814dd5ca03da4015a78b06494b069890e38d206ed42ebdf90b5ab41da2a8ed9df0b77db5def4f55e91d4c0fcba3015e6b222883d47336beb1fb7dac44d5b56349e738abc7cf56f3abf794f023a0d5272d7be39f4f1719d7e3ffa7dc120f3b914481d88e80c020e6a5886cdd9cfe1431ee0bce44784b0c8ebeb034b5011d9e96a383922268210087293412398a3520d6be1ac8da110b867d08b3cb32a73f2247f126a3636f779e972cfd33b6db67b4e9b2fb55f0ed6edbed553ab31b94a84789e007131e8a6d21e72ab886d26445376bcaa1b8f2a43f0e7a04204a8947fee9d34994e08e6ee398a72b47739967e23666dc641122fac720c86bdc77d05e5fd62335346ad62b269727276c1a84412e7b6e2b78b77144104c29944c51ac29ff0257e279f3737d32f5c72ea1062f8a2813b501f9f4dc7c97b70351ec0e28a065ec3bfb3c63299c670b04b2f9ceb00b6f56866634384fe1539d565b0ea8464e914e4e28c187dc99e440872a8eb73a053b2755b48645aad07c7bb718c677b640a50da0d44ece4b335b921724add1d44a3cb4c5e5135f1f4789a7af91db7a354f9e5860ec7db17fc870c3372c3d54777ab52254c27e173833922fe44b2791c910b7bb65c13a60875cce9fd72cd016968d67005a248d50c5b8c8c62cc98f044f644f3454d6ff59d3cfbc3fa7276a504dac3392b875470f5e2acc5ad8f4e16896d89e998c8ef47883e7241ea56ae6ebe33f445487cb293e09e563fa1533a902f1d618cb121ee419df3e8694672dbede307d460d7abf16bc1fbc002dc27c17b322f71c3f793b29cbb717747186a083b80163eb129fbea6ca69dc280ecbfc53d72ed62101124f81af85207af6b727dc72d22a21cb55ee811822a3cf3a07decdc230a29a239a4c11872a5b8bab27215151cb5b8c050f0d282597f90169ffc50f9fc0f241f4e83adbed184122e0d72f07dbd61405d29704ba24e73e23705bc6169b68f3a1bfdadee080c87e822492effbf31fb5a24a5caa0c07ebfaaac1e4831d1d73694628f77ababbdc556aeff722aa337a7a5fbd1a56a25aed4229676b3d845829f17245f9c6095fa00609b78725ecb0d03785a02c065a338d85c6689f2e37562e93e3b10d3c518f0d437fb9456e44ad86268cbb6b5970d0b64e04a3ce3f42943fbe108e40db5ed36fb20c53a1fa0deca5eca548d92173a66a907890a5229ebec877593cb4489b47ce91a4f47723d663e6ba07a0229fb9d6fe24cfdd77b8f5072b78a25616d600904404d225772fe4ad6a40f2a523b4a934c12ce90ad4b7f1735b986fb08992027d6f6083a3035be50abc1f5aebbf306f3136f995ae24d2ae71869573ac646ecd1d17d04c06172fde6976dce0376999be33a20f686bea15943fae54c476a61a3a0d466ee20ba7278dcae3a213991dc2c09f78b1d06cf0e004800255b382a258d25ebcddc31fe7293c543916b3bb52b7dcc4911593322a6bc2cf8b6f1dffa25d78694e79b55c07234bdaa014836263c0c5ca370813e2c642f12bb7bbe6c10579eb3e3c623c29d5567be61e6c0691961bf411ecc64b9595da5b6610181622f7983dc98cd0aa48972569d3f704451f11c2d27b720b39881201774f61b40d42f80114189ffe5a960724543174cce48e3c92f78c1bae248833532ba16f05a6649655616de48b5b82672fdbb15b5ae06f8040b922cefc67176a0fffd8b7cf7680c895721e123cccaca2852fc1b89deb91bedc9f69735f290dcf7f4fede7c8ab5188521455f4d21f8892fee0fd3307168f4882f05166f72746b64fcc68c79aad7875b6f3c25aa35cb6d72bf36353d4088d5ade4566067a7898fff17a02f5d4b454df7829c38d03f09cc2aa84fa9bd284dd8c5bbd4c8df28866ad4d5a4109a144d080826f5e4011bdb9963cf378fbdcb18d9fc17301571371c8c36d2196a1f082fc27482d41099eea371728495c8d8a52902569e7a189932c4bcdd366a19f7afe0a76e6dd4e57aa0188d7263272c1ef2b0f9b7976be359ed2c8a56ec4876cdc9a534d75ae7a8f3c1759b2e807e2e47e3abf312f64241a653990900e15d815f55be42314a4deca08c22cd4ae0c1b04c17ef2d5a52fbfb5476001579f8214b3dff950c81c7a1bcab3dbe901b7d3d3d98b1cf7167294c3e3b6696f4a1cda1f4a880ef936329611a001cf7827201b0efddef5703739b2ca8f7258c689ae187e95ddc4df475db69f952e6b4807214400e0bfa973eb001d6faf0031e0afd28304d0c081ca74abe7cebc47ad9cf243dcc645401b10ce5ef209ae3b6fd5343d5b3122cb3ee60691a4c5004c368cb7206e3a55311994abacb71e6691b314b4c91bab179f87e10764200baaa461daa7228a30ab8a6fcbdb7ae6e0221f9555603976fe326fa4a3d38c07505d3fdcb2072c527c32f39bbec17076652f800c18a26b2c3fa76f4ffc7c0c21ed54802c6e8626189548193dc53f31a62d1c2d617f81680567cb149c5cbc7938e6870842d1c7253754ddd49961d22faf2233674f83b3e667fb8bd9fb96fd0f3b4e07320bd3b7253fd6260e18614c4f3e7780689cb2b97d30373319bead662d6b7becd6adb6525d727f32b4939f2fced801e5f34ecf216789bcbb9e00f6184db15b6e9226c8a720dca20cd3ee69b2078037f7c85228a5c7929af13ab9920c2015be9a9551e65053972837e2b6f9cb868937c41ad739adcc4566cd2edbbbd247c041a28d0e4515b66a15846d74ec4b957c3ea4bef0588b308bc9ebfc25626918cc668f2a7a6f54ef3fafee6c0a2d5d234dcd6db67d33ef3304db483cc31e14f080f47489af6163f88d4864428e73084e389d6b20f24b6ac248f85f486936ffbdbfefefbeda8c2391b23a5b66c71e23c4374089693f96991340e730434acb38c57f570e1f14e561ba7c857402de8a8985c0eb952a6d7f271d2ba5306cc97169b03e72776b572965f24ece9726b6a000742aec97a2aad56be2939d0dac1ea1ce5a476c1b50253cd723b32be5cd7cc46789d36c7a9b39810997acc69d3585e2c6a3d18d308073e8b72a330abd436bbbad83b52f06bc77fc649f8f62dc8330ff7307d98af32eaf282725522eb269b153c573ba9706b37ed67299b0ccad778543fd127ae0177d55fb970509a426b762447ed9731e704a1f51cfab6b2ffb3d45f96510d054a4544e1e772b0dbce6408c4e5fc46684b7f3c95e05f58c8a267d4638f684f1c067c8eef817207cc40d85c23611721e8db1e5fdf7e481cfe235a838aa4001354601a202e527298c296e4678cd56b376a786f356f277298878634e1b9be573a67ddf5427be71e81cf3d27208814b095e50e4cb39cb907ed1a2175cb6311191edd8781d291b872cea6cb422257c9a7917578b7d39facfc5dac0c5baca24363fcec7794d4b60f09f22a1b758b9f652196b9ed682203b6d3b7adf7f12cda665b0f62cc1200ef576bed69d83b82374a1eed2ffde10d62edf6e881a1f40512ee2637c97b7a1a951015b7296ca522ff8eb6ea626d1db495cbdc79d7f01e671dd7357facdd325ee18e3f490e8f76a0c63479ea991dfd2a82cb83c8cf2267f3bab885590a5ce3ef1e4b725d76eb77fa33afc69e984fd4a68f07aa0e57fc46bda0e33ac22fbc56220482722c543771c1d5519ee2f0354d07051bb9ce25738ceb62be337476d1b1cfaf9372fe7cb2d49a716980272d76789619c1b54f85dff0c7dfdb266e26e14d9ad9357276651d197aa47ee9c659c8ec437cf03452145af4a3eaefd7a3a679ccc732387258ed39eb77b09c9d9b846fe1b111a4cb6f2c2d957b7d03cf8d44b9fadba0977263b456d6c1ce800e3d1c8cc8d6af1562ddac4eca258856be5e78e5a9025b1c72739b6efdf866d55e69c7fb7e4d94b747e0ab2895c3061831858085399b6b9c72753c403f7919f9941cc98b55f12f22fc32220597ffa6f602b87cf0c6c0763e72e29c6c46cbe2143a37a885cff165929022b2973c7ee258ce8c3fe2983fe2b041b16303d455b5901beaf77dcf9df41ea0cdc609841cbabdee5f4dc1e2c1709f0ff02728ae15d39386aed14f998fe0e247713e2c57688d8346305e26b2e1d7ef3c77fd4d106f3ee3592f86988990c35e0c20214542a24449cb223616a1a9dac2720944ff768394234e7ac76f8f0db357fb1a3f74afc427daf10e415396a25f00729150744070ce11cdd89370d3a6b7be64b031f127c30ccf1bf01ce4a36fc8e8728c3a51568477248d918041a521eceb311518def97722a850cf3304936747375e28f236535cc92ada5d78255f7c53d5c29187aba58cbaeda3e5c56a09f8d5dc647dd59e71218e8ea923e167d0f4094bec261e56982288f903d2a66467d3cee7720352ad760beba342870e3dd33214ef3a73f24387c7a6dddffb16b4d86b7efb03fdb6f90fb7a63cf56871276d4da56403186f249e7afadee920cf8924e919470893ee08749349ef0c80c72368a3b1b4c24b43ce94ed10759550ea356c36cd3372c956f9a8d509c81536f8193849f822baf0526cfa7a6dc3570a48f7f0b48f3b05d6a3647fde5ad55649bb8d4814f2becf4ae562c36283a014fcf426d1f6315c3656c5eb11a0b03701355ca6d57b015faab9d51adc60b54778d6fd5851abf4ff723a0128fa1c7ba7c4dc23f08b6d1c3da04b116c9ab73f6ae06d0875efa431017213173f6fb993fdea93667218b06b8266767a80324ea43339a7796b3412178a7274197866a2894b22dc4ebc3dd2026877c7afa67b7babd77697613888d571c8723a910c3126d0842bcbc89fb48358fec02809d8ffbf4193998ac3f83b962b45729849904ce391cfffbedd4ebde7a2476a4c252659868a0dc157d22eb8f8d77c72a37a181dadaf89420d8ac54c2f05162b2b646384ae7b5e352b5c1d37035fa712707eda0ee0252bf9b753aadddfb98238eabaf77310749d737926a6b0e93c663571ed627a58198bf8f017b6ee394c139e85f437acf2ac82221afdbb65deedf272a532b55c169d586d1fe07fde245624c27bc90ada8c030b3c1203742f32e9ed21330b15537388fb50b4b22f6da492e460c62491c0b0a8623fe3b409e6ad401f72dfd62c692047b4d521faf6f80890343ccee5a138cc1a647356b74f3f78832e6ab083e2b427ec80c9d4a37a5abb8d50bdcd874097ccd94310bf5e41553b597a727b397c87c3addc301422ff689eaaf2956606f87ece5217b9875239503821394d64b3142dc89a8a89b950b3dac647f908b9464d175cf2e6bb6110b8d7a9322f722b79b8cd5f1e0315a28f2d660b3b3cf6bb90b4f51856c34c40a60e2ae17a9372db186501262f2cfa95a3c6714ec96bc459244c6be199f6d9898e4f202d76b80eef9a6302091ad5abd3e05e7b79ccfd3fe891e9f961428f8497c1d8191efb587296e349b316fae89fb27f8b5d1c41aebae097ffd57eabc8a1426c5e61837316726ab60bf644647defb264ff8820e2919e92b705f52f195cf3ca23c11c6e843872c80471bb9a508db803fd1b195020a2d8ae591a75e19c07ebe632e72070cbcb455a50c927e2b88ff8266e7ae291d13ab5e85890f74e597e63324a56e95d4b0e663ebf3d6faa38daaddb7b0cf7cda61e7bbab39077afaf860092d2b3ac12aa2a7296a31988783376a8d2b2dc609cd78c531aa2eb89f7ff5935ec90c3f70d361e7212c47e46056502d1496dc204b738c610e0be5d5332083cce05ea63529ebfea72a353c770228c245076d2b125a7a325b2f9d39b82d6fcd2cae14092a166b4a172b6b0786a4fab408d9f88a9cc3afbab7c921e2bd732e1c28394027bc531d6a572d3915bf3f058045e279172205127992a79dd25b4205bc7ff17a79819abd1c55c573a1620624d24aafd5bcbfab9636147c958af209a99e895ea66ee3990b26072cf00a16e628e635fb7e315bf97df56ad578cb1424bd74648174993727be48e1da6d162327edbe08efbeb5d8c25936feb987dcae727d4ae314f01059a059408529950d2aa18eb8d157ced70b53776f1dc59de640f028ee70491e8c76acfb2032bc5274a52ed1a780f95d35a1eb0cbb0806628e56819c9646e1170de45fbc8e425f88b8559283b0afe584f960dae4978cb2d706a7c533ac2a7293cc84b0daf3f3fae57c2fa26d99db92e4e43617f54625097886202375b1515415a549c3b57bf729d761266c29caa994bc8de45d1a4ad6ce18c6ceef9898c2dbabb3669ff9a8672c39df13b5ef78adfb3d6cac06249cb6b0bf82867e2755a24d1ff64f018549d72a054f07271cf5f8f1e6ba8f45fe92f8c2953ee2cfc306091ed0f0b454128b95b7fe5067c876a09bad3a53ccaf39b821f0e48c730d37498f4aa47bcff3524ea3491fe939a8abb169a8b7258dd7caf0274e3f29a5ab5edb5a5caeef6c224c8c61cd95fd96a216378e3e94e4b6fc3c8d735a8897cfba65416c35d782fd772bc3072b1009df213892c92491fc2c17a99476ee6ce8e351b234ebfa4cdb5b635483d72e5c7c0edf9e76c19fc434e06c3b85b37466985439af11eb8e46c8a8d094b4b72370bcb2156b698bd5cccd242c6896517652c4267f1413e5cef2c4d5f926ca8727118641deee533824d777b4dff987a27f682a9022a8d28143d08f16d2979645f2fceb9c7301d077034a70b5739100dd9564992307dc71c7a294d673ef8e0247265f2bd969d9024f69d80175d01e9232f3e141961acc0926690fd7488d8b94a728bb2ed91fb45755badff5a02fa14ac33d66b643d1684ea1abfb01750304525729cffaf3a2b11838b57c4ce4e64867fe95dd3f12b419c14f98f9aeb8793082a729e4371cf1f9ad8a6c5df189c1da8d0fdb4fce330425756a1427143c39bd7cf725343e7cc5639ea23e4d4341b890efde66b2294966a13047e8fdf49a462aecd5bc7813f5f1ebf8ac113636110480ed7af75425db0a3785b6377484a2fcec0f746a5856d59b0c7f8ccbf85a3a77dc2e2e65023670b9d7ec9db3e90e3531b9e2e32dd3d99937a4babc8279fbf76ed12a3e593af7b66173d7d24e84dfbf028399a07471e2fcbef9813b97583569b4aaee9635f20cb66f53444af3c9a83965b6bdf692bc0bc3980762bee08dd8810d7d4afc46788aa924268ccd9e69d997f2c527f1fabeea5ccf5faa7dfe7549b984abfa2746e68f53cdcc28dd5b194d110242900726eef8e2027b5fb0c4dabd907036624ae8e3c162b3b218de95c7f04523c01ad2617bbcad74b47f2bc175dfdc9b76e064e12b35e585bfd67fd7986e36e9cf56b5fee46eaa1e6c079b49e7c96b9c4016d7fea963ca66c805e5e26be00bf3691d9722b0f9bf9aa858f0b6a8efebbcd874149b9f3108f56b683b141633e5a3574fa72e3b91f4c667f6cd3e057ee921ddc4769ec1ae63ca17ba6739f89a91ca59ca75f09e3c31767d7c7591286c2241851ad509318249e4fa410fea3707b31e17b907294e608bebf6f27ffb67427ca28ee7bbaedde5ed6f4859883c95a28dc30b60172e0607ab6ac4dcb7cf810775ca0f1288f89c9b31b67f7632cd787b944914182721e5f167d05464afb5d22fed940128f21b29c7ba3a7392316e6623761fb59e623296a97b392a2fc3b4d8c02f328880ea95c12c43b88ace88c7621a6b1a04e3830cd8d2c3aff15c13551e814004aef94663bd3df61d0f4a4f753d17d44186cab07b6c2ea3fa24425fc1d13851f490c77f9980c48f0d3e4e69e63ca56675581a57296b1179759f698b8e28ad1666342c4c123a25b825bda0ca213161020f2ccea729743b9a7253a8d994b27d5452d80b951897879ee19ebdae892d06845cc501b29cb7e67132775400cc5ff4ab98ff9c040f8dbd4b75e0be14cdf9d4f41827c3372c4afa36e56dc761a607bec30d00f90fa0107b962c60a46af79b8c26261b440720ae13e1459439d09fd2970c7713c77d9361ac363cbbc2067b5d3f99718bb3c72cbc9b29c163b48dbb5e6674876043dbad5668fa2319ac74be1316fe126d7f07251f6e609d83ecc02492296e03a1ba87ed402cdb1f361bc8e0f42166ac0c624573a21d28e79b2633cbe3b6ab554fb7a3026e3f0ece9fc7c90d86ab851a3cf8b652f1a4b853e4147ed53a65693da5aba71a1734fade8ce9546abf2a3c3b757c606890312f38a597083c35edcea219984ca39f5cc4133fc5a1c229fe0921782497272d4f6d78c99ecab17b40bc5874a50c430aec2b32e0fb5946da794f480a1272892df40cebdc746c54f114639aeee1b6ae072b8321eb89998a7a5c299b4b6f872f7126a5e921a2bd6da5f71610771f2e641b5a9c224708e8768314cdfc430aa726c9688c15153fc4a9044c01b5c2c2c6b3c0e3c702406aa0a962c359a63f3101dae22b47f4c20ba9fddd79789fddfd8f096181e8864f54dafdb9841b013040372185426e722bb61fba7184f140434686a8cc0b4202cba1728ab551bc6eaf0fa722c303a839db0e358c2ccaa865c842081bebbfae3c7edeea90dee6b7dedaaa3728f4d4936095e5c0ff385d3d96b212d2014b0f08096d104725206307eeb0f7372d8b379de2edda08b05fcb3b9cf4acebb322845819addd603e0fdb22a56757a5c46ae56e412576b59724ad9a9d0078b7ae20873bb8d199eae0a9ff2161c397d7297ffa0744844a7f2a83953c7cfda1d2bffe60d225dc8db112a83ec89f83f6472a4d23d0b2e2e8f140712f5b83cb1873b6817ec3e04baceb05eb206752bee1a7253e169d004263975e0a68bf8cefaaf06377f6fec2f0d5823cbb960704e65c04723154ef97c2151cfda06b23a7bf07c5f3425ddea9f4322241a4821790763fb725c029ce82ca2c4ca43b9fbcf72766296372102d7f387693e4a20ea966f498a72c6834c4a21a1d83dbf11b8c1ec03d10250a44d59641b8eb9090121cba74d2d725da4f3e8bf92b688902eb2e81f30f05f5b8a0ef04b7cf9f56ab9181ccd3c1b62dc020dc7ff1710b4895c8027499e76c3c4ca993bc7a66c17216c7cfa71782b478b2dadc2e012cfd2e751cb7fc3d635ae3c7171e81226f9f578d2a5e237c99e72021ad9606835d9e22ef0572099de0978a11b0c572f8346748b6f30ef70152a72155a487105cb441b77d3ad9c9892b2f30b3eb5a0db54326c90449af94cf30c3ad0858dcc01f9940c64cc1f55cccd24bb8da95f1f1e5db0b381fea6687f9d042fa85e626940f90a9af0995d596a86e039620feb0743a6a442b636ea08c29e9f72215aaa72f200e7c4d31ff89281b4d693f8243a7c7dec98887cf9b4957070b572a129d36db9ed10d2071bf5f3d20638db732a665de6b6d23aa12923d024d2cd72b4b0601189900f6ec01bcede9d6bda9a2b3c75be5296d7085e0004f999b507723aa8880699c0a9772e96042ebde096a3647706c7ebc74be71996c988a799b43e7efda21f3d86bc66860c76a9712cb1901852cf23772a277188d479f018652472cd331242f93dfec19829f3fc0fac19092fccee3b993b9c53cbdf593b32ee1b72a54165584d9dcf3877ff64243c22d2ca54e4ddef6d9f78fe11bbd77cfa7e966d08fd729a0fe8fe32174aaa7af5370398e64c6c1d9b459bc324a4c74c771f957235f5d84da78b4c05c13ae4b5243d650576cfb60a25baea7e09a3a49bce705808ef0a79ae65a65acef89b99c450f13cbfa173c67190ef3238d9d692e057a05472774f45567cee08c45591b15d81bf7079906aa32141b35bca6d29d6cc77b03772d80d10102b97cbdb885c83bb82d67228a9ff2b1830bffc75e0981b953803b14da08d560d976bed9c94420663463dd2a9e40f4f26e830060f963f9d0ad762da65e3da7562e2ca77777458fc436111136dc437ed5ff82cebb71bd051adff02b0729dd1022dc3bf55bdf92322a255f30bc09620403c57bbbb4a9a832c810fb74d72452963d4df5eccebb1f699072866125fbe9cc216a0f5774cf873a80194e1d572921097e5ee5dfedf4513280f8e9e6b96b8079247f46912e396d3cf8bbfcf026e0bff8bb9de6ab99739198aa9e8f9f83c31e72883eb0bee2fd594e5ddc18fed2d25d242e56387b04f7a893a3ed57d46f379c42c0c2dfd375714ffec7c3d55d4462a62d5f8c242b5867923cc9b583a7eb1c2da96d602de2b2e3a249c740bd7c06de108260cabf27ba8cb08a99f1e49984ba81e2b72902a91a69323eeace506d372f4893ccdab6bacba60e2ca9a2dbd717d123db031bd2b4c791fbd8f4e8fbc0147bdf5ecaa97d8807c8f91c6c1de4100516e4dba28f88eb5f2b196cc53e43b1672c7efd19dd702c9dc70a4eef264e125b8bd465150c2afb8f110c3759f4968051bc8fd5270a203c861b9b51d6545960f761e96a3bd460bcdc88ef612cd6a99137212c29b9e92d3ead1ad0847ba8f96bc1103becd16a374299f9f4b03b4c095e45b9e5df3b1eb9c159b3dad5f33f8cad732e28f0b40d22de58303535440938560210a44893695291e1e815d087c8b56a31c1de2a806498ddb12f9b6ac6469c822260e0cae2343eb3912590c8cc1020ea5066147a7011a662ff890040c0442873d3b6ce49a7a7bb9fb960ed90eb96dd9e7bb1bc5028334818c5f77e63e1e520a1043724035a64adeef109c4f09bfe14f21890ff5247f01bf9902d126f03619650572b7315a773b278b790623e7ce3bf9d5afa1741918b9410efbf583c149e0530272e3771a48f86dadf90716d83b03a3f9b5a10e3ec8e44b99c80b9345bb4d3fa2727b3b7b1561e7ecbfcc2969c35e2b2b978b70c016c2c0d9749e9f0862cfa62a6500a244e1741d74fd7cafcee966d8aef2da8772d3ad0b430909868d3bf5a69f082ed50c7408a5d1e9e51fafc7dd5b84ddaa3fcaec17cb3fb718ced65c44028c30ae26986a44694e1f4630e32141ed1940e014daecb60bb93381d578c25c82f972b978633589a45babc0547b2bdd423ad40c31d27cdcd577631b85c4b9b996c672a22d9a77dc6d4aeb65bb41d9ad56814e06729b0e7fa4feab772ed23b37029872101b300ef4251c94d178f5ef9bcdea944b89dc87eb47b7c2e0c4a79cabcb56722943ac2c5b4fb713902b0d4dcca57190b911e2291775477c80e73d5ee5409d72c2577a2f2e82b73e3d5947f5c57635dd9914c15248e40d875a868cfa37a312724db44b3e4bd424d0e2efcecb0239816a85e617a54a2358a41aa884412b018351cd12367c1453c38e9afab63d3b2f6eadcff66ad4c59291c0973ffdf72390b572b83e509fab9fce0e32d211a21a4ec710d1206b6c6dd637ae26715b5adbce8d6b0dd614cab7ebcd13f76d1e4aff58a39c8e458f0821a7d3c3a83020c86192e02ac3df974c2ec07e155ed7f43f90433d7e767c10383c76896dfe1cd0926a280c51838cfa4aed83e514e75eb29e4b35266674b5962be16e02e439c9bdfb1443cc2a24135ec0dfa96b02ec8617462c066e565e33288cf7b94abdf0d24b53a7b04e72c3c0c4a02138e54c40560515fbb28ab30fcd9172d7f858fdf4468d572c3202722eb2e71e8a02e2caad2fc958deb8bce1be29df669505aade0c45891a81f27166c0704ab35713f8bf466daba76729bcd8942f9bb46291c200e0854fd6e4ea9072ffe3155b77746dda391dac61264d6394090863be348d79e339824a482b4a044c3d598ada8d4a32efe55bfd0e2a643b993b41826317b9c2fbb8c3aa7e0663b1409024a1484b538b906dd23e66c4269634676f18579f9ee08fba7b1adafab02c4b505bfe3b47f299ce3e5c6ea5881b1869990dd9a5779e530be4e4e2b5d5e11a720875c8de2c6a7140e9f1fb1bda32677ec8df87b37c4b88eba2534578e541ed075850c30c5dc5fbc7179938ada7b6ab15f271c99cc6697c1b2396a155ed4611729db00df9d0533440197cf79e7432d803a8550f428940ac9e6af314342e4e112679ef2343b481cd773c67d2c04477683b76dd1f48c3b6a43d42437dffa25dda163ecb05dda6af64d8cb086d965ac35ff9b2df557cc1a0fb28da6e303527bf98565f47a9c70dc753106563b79ab8344d623b6c1690fb6dc6459448e4d3c07e1472d23b15476c4eb6433fa9c40fdff2e59b785cbb12f91972f5c6ef04498e78205a5ba6e7e1d9f2b1da5dda0d610e42660e5bc09f44d0c9667e34095893121d052ae42d9682b808cbe6c9312fa439a3f012328dcc74c5ee9fd3a577fb3ecd43571e3af688b27d504959946c36c69491b2bd128af7445c89c6089e3147fec7a8e05c5dfee2912fd3d943eb0de659a7299d73329163eabafecbe18e29afc1e12a147213d756450a92a53ca671700acdbe0bff87ee6f200b2d9f82824394011eeb9272258c0e4e102fe3f27f36c6ddb67700ddcfb9e400ee8326abab234e713b9c0a1b2b43a578460ed5d9a444dbd055e36a6968e1fe8be333b824516b5e9c03f583721faf32b50aaeb8aa3626770f77ca0286a5eedd7d9529475abf6a6808a272f67247e8ef3781aaeed78b465c25449c9af76006e899850de247a36dc9a402818a62de6952dd6b966099242862ad5907bcdc5eac3d96ba59fa451961b15a7f602e34b9ddeab00c2d696575d0d33fc30ef21ca04efffb9e4d34f8c604217410c631055502c0cb27f8d90c94a782d87280fd361ecd8e1f2863f43c1b0a560d78046872e7d708b82e41d1e519f4ecbec657e3ac3d591e1182119a0b1309e5b157df2d582f5a13d25c4840278979872fd8e963973e11d9a73fdaadb5d50845567d74ac4d45437aa935ee305fa0e3957146c1f1b57b7022554dbdecbc6b3aec710faa4f72871d7cc65e80561fd97b96e6def07b0157c290feaa52066c571f4265f5a3c87207c8ec26284475efe017445ebc06d073a5e01f133a9637b92f0dd6c594bda841e40660ff104831939f1c5ea70a14b540bf33b130f41a9a9c08c25595d374c2722d634020bef6d4fe5d3c9361ac8ae4575ebc2c37b4ae7567749be4e818eee5685bfdc9f5845e9952542cf66f88d9b88edee147715af47cb6dc9df0f8279d906b70c30d1cbeaaec0dd4b0c13a13562cd9bf6526faa545aba9864518a90f1312728151d9efed35576e0b826d08568cf31bb7bbd6f8798e8e4ae5440cb7a30614726d8a77fb3c82ee57afb9d041564fb487bbebb6dab699a252d3f289f0e2b90e186526437d64dfe551d649c78075bf5b38a541f8d241eff90f83bebcd4f1fa0a72e2c67779f86549099ecdb4547664d4ba6dcf8a3c30ba2116070169dfa6ea212f236215e716f6ba0713b6a28bdd2d164ab5d7e8dd1042c4d5190f617e1ab48872f5fab1f18f75cffec8ea951944c93b5196bac47a5e10a9c1ebb2c8459bdcce70d5ae49a8a934ab7cdde7c9e0a593ba5a7fe48ba4a1a00dd601ec16446fbd5a7271cb553d2d9cb6d07d794206a595f80caeb474d59752a2eacf37786f5dc1831cb5bf6f2661a11aa5c40d148bd30f2400f2307a7442758b8aa193974bdf18f972525c86d502cee071d04c1d05853a464e325708eca8200a74dbaba2345fe80372ee1fd3bc1a8456659fd45c737acdc70e4d72887ecf93fe848ed29bab423e5572a26094fbc0be44e8e9570fbdb796498b81e01b2c0cf3264dcd7341c4e25785725bc5f4b6268e846650dce28291cd47bd92fdbc85528f89ae22789a81d954441de25ebd1d7eda03f4a02f8be4c7530922839fbd668ad696bf2b30297ca2269872f392f752daa221d4b192ca44ca1f5b71cc7d46890fe4ac31673abeb922610172f2186ac1a8a1c6695b1f2a127dd951983656bf52d99307e020e2d59fc3e7437278481084337944c3931028c859f1f4ce9429219da3a0d562d8d6fa25ac731972bbcb14bee7c186eb2bd753ba3553aa22c8171dda1cfe38f0837879277e88373aebb93d3e5e95ce2296cbffdf8ac0bec0ff088909811fb4c65d2f172bcc6d784f37e6f46cb5e8f03a15e6643a6ed3e46fe8b488bfc31ea0a163bdce081b482543fdd0d1615e8f6ff4d0e25da55bf55a51b1819885227189136e3c61383aa9107219671181190560af106b0a76047f50f18c1aa357222b0a81f523d38bb73b0a72b8ceb536524faebb48798e41cdffa7edb160200dae65e969029d8a644ed86b079e83d19f96b509921d2dd0d66c63f8d7f160e1f16d3605821b9ad8873d0f0b27a0e2624c012a21a83adfe25fcb8e212f1ca0424ee9990d9a269225c8bba21b2418524079c270917ceefc9028e1ab3ad87e9bb116d2ac6aa75bb6182fd362e2720494530e3421074e4dbc7e95b55e66ed9c5b93f3277e95812ba800b8d724d67248ca8730f011ec9a6d824f09c6593fadb9f33f99810a685fdb68355edd1928723ca3b9304357d78bd0c575b1b46dc3e63c47922224c985b8f68cd3f16d53fe72bbe0e1b835190ede3f3e0b64d47c975f8985e4bd93a60897df7b33758ae59b1c7449b642afffdec63b2f1c441c8487877ca68fbe9102c58844b65af889abaf7209b2ade2b49a40b6d35e58a737a790427bc60caba0fb3fb0ce334971b13741720fb9e956f4f7263ca8af116d67f875f3dfd3b375c9ff4b3f6f8a8d9e22003007d4efa753014865515d33fd1a083b537f13d28c6bf5dcf9051c16dcc4764314430a19cc795f7932f24b209c57e6548b28efb034d1187715e8877cb10485e2f372148950cd5207124c237a54fc64ac16adc237ba561f8849f3ccec8f98ceeada720c226b842b71df5304fa5e42c4f4f6bb4c6ef1cf6333ecc4b484a3f8624d6e7222704f298521d573284485924e525238eed7b0dbab23510d0729b197bbf89c728b0289f8ed3c6de31d01ef90c8b93e44efbb583daedcfbbe8f80479775728d24c5b7121d164135ce8ffb714e449b1f90252d7e24409627b2403bef166ae17f7212752669f294cb99a2b4a5d94e9a16b15b91c50b1ec43b5814e064a28d4187039883dd6920f597fac6e6b451aad5348bf0d130aef4affb8685a8d0d71a515f72101246d43a3121448daadcbc121bf89293ec7a1457760f1b137c00c77e4b25720201dfb070df214967b698566f8319b38cc44537e561eb8db291577290ddd05d231fce6da92721575592e40e83cfaaeae511f2c941eb859b9148354e4441142790316f0719fa392231dd865ab1e624d6b9c7bd699a399dd6bd131df2a004b65954f0feacd7799adbb26f7618a30c90721482022c7f1689c4a132a01b9b434f437cca7a3d6cc9c77b8a92841b6d0b69c7bd64525fc48409acf755f73cb272717293bcb5eacfd149c10ac06904f17950d00f9a4e0eab82818dd8309d4d17bf1d58fcdd6e08bb2d32e9be794fb7eb11a991ab821f1caab388afda5f110c7520e7727ad765401e0c35135f9554bcdced535f1abb0a02a00dbc62a7d39b117540cd72b2ad700e36ad88f85a6feb6ab550fe4b238f13e8e21bf4ae73f42af720ce661c2bb0faea10025f89f2418ea6296d8d23dca1e80b869beab91e1906e0204f5072f9d482a52b886b300e9749e4bf91d5238460cc9ba3ec50ee11f2b043c54ddd728619bce1e40237a26499ffc9de690362c37d29739335a71cc83c06a31ada2572b863552077d5638761d9dbfcddc7adddb8491644878560efe02936381f25a67226d208c72483ba4064b37b420dcadb49a44f3f1b0f8691e841d3ccd66e409b722422718c01da45ae07ab1775df06e38a590be79fb500dfe4604bd776a263ec66c7ea9b555707b16091dc3eb0267c08b840eb52d9c11cb47b4adeca4888b98772f38f68f013a6c5c9dd4c65f9e8cd21dca2eed89bf168f88313dfbe85eb0a177231f1e3525e6ece815f0f2439960eaa6dde4070dc777a39a2d1325429c6a67a52440ab2f7d35704b1f0bd4e48da79263117a6e22b2a19a75db977fa95faadc27267da9b576bb5a3bfb98d1dff93569416680d0696361e5002128f9f4f8fa4d472058df9f1ff3077eab68fe3fa48c4a69e2c2b5b7dc31319ee2843cc2ab425974e0dc765854b3731f680e5f398acd0abab3257da810d26640cefb7b38dc308ab2164e1d295dc6508ac0675dfe7b51a85434e4ef75bdf5a84bac243c86a3e3ed272ca9014123d4274a5b2d1d78badd2abe139a08ab757462e634df09fb190ae991d783aa87ed8a84eb8b0c43723569952d218ba187aa8b18fce57660d95f487073ba5b03c4156df3142514d67ee2279d500424a679c1a3995fff4324af239f4d361cab6e8e266374ed05caee4dc6e6e4a2f367e369525c94873e36e6c625c8478721721fbde33b667019a4fb9e1086525151b5ede0d8faa570b1a2634210921fd720d5e2799d5e6f9b6000bcbdce56cb1b57d1efa3a5c0009590a863d7f5fe06d72cc308efc5b1a8b0890f1065fd7cb8b9777a61790263295f2ebd072f29228937281a438a4058b1300b3d4678d06f83da3c537dad10554d050ea2a1b441dfe5f725088731b6f76b128e63df33fdb3944efd1a855d69e50c26aaaeb2710a363597229f9e5d22677a6e383fd8abebcd3575e698181f17e54d726cde8d0f3ee5920726d3452160e8c43dab971eb31fa411f760f989894d7eaaace600c937b2a0a1e5d2da33fa15df0f93343579fc9a9a9634fecc1b99b9dcf4b4aaa97a4b6b79f627223742308516e1afbef7be28890945689209356c056776c2abb493a5c03117672f06d79537fe3b1071620e65b8416bdba4d08636996c10fc79e8d5be751be587261af1995c9d58167b2c7f67e01643b68e4fd45553b4bb3f3fd6633a45ef83972c4640433992ae9930a0965a578f9c83e31310cbab478d294312f0dd3f7e6de726620d8cb2818f6f5efe0a399a2bec0f8dd83c13ba754f8f6fe3ded807086a927d43f072c12f51e3da36ccd708eabc1a6d0671571fc63d90d1102a7f55e759672634143b0abb12f3f78a91f9e56a57648fa331730cfc64e999bc6453cd26156096780b1ac9d947dcb1d79aef436530b54db52fc83248bf56367c423d81be863658b6bb7fa45ebe0b2732f93096aa55017234cf3cba329804a6f476859ac1b93570e27cbf68fa84e9c12b5b585b4951c2f93eb2a0423dd4f66e255b8b40ed8d4723a5ed6553f2dfca9b11cacf08167ac91c7495f5b80c3d84fc7fd0815d85e7765bc84c1f2032a7fdfdd2960c9dd1e0a65b31c423c752e5723ed5ff1e5613a3072c07547d9fef76e4c6a7efef70cb437ba9c9177d964c6c567af829313f4fef07234756d623504745a40072b51b8da43ba381cafedac41cd63fdbea0c70c0887720e43e14cb4d6765f9a6c25f882117329cb45cc1960b86bee8ff9d6dc6ce2b27269ea0adf7ee58379bc26ae9f9180ba8333333c3834c7d8d3b09c777c81edd23424481888f0ee2a69e21257cfcae1a17f6e5c167c6cdfd4a5f7fda69b6869e572a0c3525df5f8ad21a4e119df6b1eaadff63a7e1a7f13caea87fd6b4d361dae63b03a67c388f8098e3381ea20113812cd06b971ed492ed8ed9fd846efd4050372c2bf3b5a8fd51dcf97a36596d01e337b5a0895795291c761e2c2a2fda000977208251ec16aae91ecc59b3128c401286bee7f185514dccc61169fccb082e97b2fe61a37a176cb04f423427129b3c367fad58de50999adc1a5af446091647c247297a27b7ee4619718adb9fa6ed6112cf4b4622765ac9a38eda5878b85fefbcf72b78da7421f5dcefd2c83d1834188ddae85ca3ec8a021548eef6411973555a372794d6ccce61410ad206d6a166a5dfe29821f65e01867c31113503c39f911d472dcfa361fd3f46c4f22c7193f53cfef71676ba887bf14959e78c96e9a036e787223dc6228ba95e16f749b9ee3036c4b90e7c42c0b5bc01e734e2a8d595c2c182fab60b45cdbe0c2fe202bed5264ebfe57644f846e8d8f095bdf083c22198b0f29b8699e7715cb363b17e1b99f8792faef89b81555371564553f1bd5924184974ed5b718e1bed4033a8875dc0c03229717b520cf4581b4ac7e951978d2e4ad2b5e13340ff5980336b9d6ba7e2bfd284ee60e12a42983899b0016c466787e62c372269ef0755afee8fcda6efc4f07bb606b944ef545e53cd05bc2da7313c8a23b72759a60fc45c466ca8565f8bdd8f0e88540faa754c7d7f3cf7518a469624bd9399e996eebea54d8676f9eb8a3999da06b33308ead7ff1010902c71af6ef6d8f369973d84e9dc2503febdfdd6247400001b8725af5077a526dbb79178cb4fbbc0721aebaa3021961f47eb7fe7508ac4985ddce8445f159919ed903c73cf9948b72849d4cbf8f50fcf7d9f0f9ba5f2bce89493e7b78595f4d6cffc1745afb4918175af5d4a2fbeb458705c2f3a702b5b08bdae2418f9a2dc9195da3d83c0e8e856a6cbbe91ce709fdfd03fb8f4f0af327a03e18fb2c0509f806f316f9bb693b1472848ec730d2480b4f518a9b7c912e75b0e61e0608428cc95dc128c1c899d1c030c5b3411086e67500616a09a1ffd7da19c6ae2803c0f95d6d688094227501690f209ce4a5fc8fcfa918ff5f198bbdb3c6999d279f5f0a640545c40aaab830af729fedf26f45fd1deec6d96bdca8bbee6311bf9af6e29e0b5fc86ff58e4a9bc172f74042af472af39378e94b925bca20cddf5a24b3f73921628e1af3bf1b956f727f293721d94a9e15569756c53a08bcfb82e320f9c4d8baca4cc7610e10cc8a72183f1479bbacb84cd10aa8f442e3cd1d3586128e34e4afef9a522d6a21933372e4b86d8701673a20ffec6f7fd84c3669397b5b6b79a383d5ec16f18eb4bc500ef8fbfa9884d9d94d8ad4e2f124b56a0517326791244d4ce8dd624c9f80290f7271f0b203f0860c3e6bce279bda72ee9a8a2eb13bb136f52c95010d7d4be52b7284551b1d21eb7ebc25c21003a6dd8fe77c063b999507a1ca542f99d5b63fd87291423ef31e87746e32bdf30c5cfd8caf19e269f23ada0f90cfba91fa3f1252721f97a1465caf2f941adcb9b53ecc7e776d740ca14fba5226af7738ee49452b33433d1bd9f7599456900554c020693c60939cc909ff28a3993aa27516447f12723fdc17eb120d84377a155fa93c33081c4a356458561bd42c438667f0479c0d5231078e21c2f54f9a367eb6f9ccd1a5f277bc62b29185da863bdded5dae53d372acc68f24e0f1062800f1c2c5bab0520b2ee2e709c5495eb4d2fb47250ff6c972b4485147094e1de99fc7643a2642ffcf9946a03ff2ddf3bfa4052b9d802baa24b7920187278e7d0e190a97456b1bfc2bfeb7639419f4e5fddb6865d53218c772b26aa4b093afda5c7be12ef103782a26d25db77dcd5e15ed62b8f3b6c02f6c72151027a47f3dc8c27b4361d113d52878110fe54b12e3dd9a920a19aa5ca8d24212e063f94545569e2cce8d2674c10d120ee62ca17a8e2c5d76c8c27c03e6857299c2f95a9121b0e346aca19860ec76ade9262109b4f408aa189abb03d0e154728a11bf3c400e0a28158ebad65ad789629b26eccbee7348695b4bbc5b16f7ca72fce91aacd0b5f6a2a2a76bd764b93dc3185dbea1bdf7d366ded74a357da8b341858d1956f4cd2528083760b5ab80d64dae5d9523853861a1e46710f2b1cfcd72c7feb9ebee30542802277148f4b6b289a4a1a6cb738b8d019f2d477d643376726b402d28826b5aa9e18ff8d01fc1ce4902418796ee2d0f71bf2c3b75b2e04b4a186baee5b53d031e88cde1f80cdc0b7473a113caaa1a4e3590b097a4e5a32572f6f54088f067a71948cc221feb1cd750d6f7f90cf795a558d9a55f88f616905aa38d410366bfceabd85acfd04ec143516191df35265a5d2fdbab0a60c7403572d7656d3d7deee9a1e1514adcde49558c0b62cbf9b4887b90284316ca3d9a1d72d227c23b72e28e8c8a6b888f02f0a1133c3c78d95a95384aa9ff90283ae0ec36bd91b060a243eb7b4fa9dfb6662c46850e80047ef67aedb5fe5b639910f1660a014885c1cfe922673bc6097e8d5b04131a711195116b9d37ecaa84a5b2a8ce6e0c3a91b6ac96ddc81d863911f8738281ea94af5d020d467579b92e8bf7497072f9d320578faf72cad7ed10713f193fe2f2159befeeafa680e4511f8e5e3c2a59b62677c28bd7f2640324ea5d0f68775281e5ec3207ce2e626ce5be687d4c2a34ec7a77de1d914308f1074028a633e69c43c69d928afb94a5cab32b0cd4eaa5729def4d386d9804da26d52a939bac8450db3be6a68a139084236b24f21987844f4f278231cd37814c66864c2153d33d397643f9da2c9a8993844f4d59f17c42380a736029acb3f3a371cac2ca183113ef19a56cf549adb6a96514b8253346be72ef7a2eb0edcfbced71349db83227ab1888adf37cc9ee8031aa4f50dda147e9375636b12035de8d3abdb742d5a6adcf31da30394ca9e56759f379ba88e4a53e72260148f4df2221b8f406b2ba8e8e8282a0b8174bbf93c416a3d717467d6e2472dd52a664e1b600d6385ab616d1fb598cff449c8b0e19b85917eb41d052692738810b3b75451d6124160722cd4eafac388e8a7a11a47163a4f777531197c1e972f31e14a45c5a9fbebf61b3796a4567ad44d1d9a9ddfcbef5d9968f21b017dc66e5e0434ee2ac7bcc057063d0ede5898b2b8cf545843adfd6ad1080b3762a2105fa68649590b95e308790a2ff60f43eb26b8b2fd7261630f3d298564f6361ed3c8c8d7a14e19ce601f36d3f9e753e82b755da5b91aae6fb9c2d5081f8996e5072f312aa3bee8e3cd2659d5b6a7ae7f0827fa2235f9a4e98ced368a678519e177226c15af00e6944c5243bd7fd679dec9a03891abb253d9ed8e544fcebc421ca170eacb023dc260c15efa26d3434fa1c45af6880162abec5438a06ff3d4d700772b425a2bc1781345b708073f42580d87a0902e703a71f7264a1ee96911098c672e1111188664be717fb3c79cdaa022569859523615d3d317ddce07347b8472a721a2201535a85d467365cc6f465f2e494a86572a1975ca0a7bccc6ba09ec0af729b7fe2d9d6a55d8f3a353f44063586d33fd9db5196a44509c778b3537a439372d678e17c85aace6ea7acb2b6e3174a3231798735f1097be0a55fd18b7d309729227b9846830ee149cee9d91bc465fc26b50c69075f3e3303ba3939df1d8ebe72dc5f2023e70a621fd5e5738370c75b7886ebac6f21788d3a8d8293063a0da47256641f8013582da58abb53057f31fcc3c35b8340f74610c855af554448aaa236b341b6c2143f986803bdb2cd0c960e25d598980aeb59296877f287063fd66f72dd52da357a4a6564b7f6c26baafb5f4746173d5f94b9b4028174eae78460831d303da70e2a96c7978460da1f1b270ce673cd8e61718725008e032a28d59a90728ae5084633be4c7c85e52aeccd42a494f340e3501e69b07c12dc3f30bf1cdd7249c429cc50f792fd79c33570f62714b80a6474a9b2db2fae752f97b36c1a9d728ed452c6d66fd322624162acfdb04e669d10ef01a51b44443eccee4f6742e557a6f2632569017026b723a0df658db39c63a91763ba55bc72861f2c4464f06472d22ce7ba67f9a2e9b6872813cdf138a20853a38bd51bc2a2b8f2894cdb704b61b41d4829dd33c9a73c3ccddae71ee79c14df3b3bf7224a22cf0806c0c4474072a34d561e831df8406ac4d6d3f294d0cea51826048fdf7c04f2b6d2a441607c729820d17b5bf60e5279885e0930590794ada78179289d288cca513d8e5a712972bf487f0b24bc96f513e7ea26752827d59e8939612df852643c3ecb3be41e9002dca072a31ee5887533569dd9d8a8d0b019d5d9c022af3b3cdb31bed179e3eb0691a8fb62002398ec944c0917defebf55b7d5d1e8a7d796e374c53b0d2cf87f491cb2b87a4c3d94fc4e622757fd4ebd4a5200679a24042452afb8594599720672263f040ec245ce66fcde2468070c0e351e2d6d8a5f8e38bb2f6d106fa1629a6a14d1312e727cad195f061eb5ddaec3f2915cb2d78c0e619b65d7dfc70fa73e721723bf6747e89d45f281ddfa90f0dad05bb34534ddf48cdb56631cacbd53942df91739fc20e4c9cc58493074bbd81366fd2c64c1745839d606a4c2dd102fc008a79f5e80ce6b2e3d2b2cc4e38a0b5ca75302f8dd65582ebebc7e418cf874a112e2bad6b601038dd72225f55eba35d41804ad360da87188a0a353c5c830604672ee4556e54c1e68c575cc063e8de5780b9c0c3cd279374689f56f00230421a66088e95f3be74c0eebe44db850e637de0023063a90f33148b75aeb6024710c0972c8e80034de669fff5de3336dae9b00e90de948cec1910d1a6753c6c6e5a0787262d14cadf2ba930b90fef92ba15665672580565c768cb983a7ad86db4d4227584bbe134995a6a003205fc8a98f48133de1efdd1e1905b76bb5726ccbc6358a7204874c3f5634544d6078a0289015f3a5de432ed12990daea9e7426c2e20d5472389408c5ac17710b8aa02d74f2c256fce97eb74bd2024dad752c3a78192bcb3f608760b608abbea3fa2cf670f285e470aa3286edcca2a7e895f864fb06de3972ab6a08af625b084126d18e4f108411cedaa757bc57647d0eefb7920c36fedc72ec50be6db5340274fe61b6114d6aadfb10081c28da9c06780db4479f46b4857249d720da634160119473449a0dfacf60358470a563300680ca0081d578cc23727b868bd3406c122fb9fe0fcad48e742838a61aae4949f150d232b10e4b346d729a4adc39f7b93f53be5532fcf91e250b86e149885681757f09c08a2a4d76220cd0a2aa5566771a33297e47c5ea059c8a7c57a95ce873e39d0cca20ea7965d672b5fe513cbfd231676de8b62aef40fa0e83163d38385f357e7d24db7c92a2f072a4a533a86c1220e0c716779a3534531772e9b1d870f54987c1073e97607ba30d1a12245528a9c023c4078952cc847de18895bbea94c460c27b4814f8b21400190f8432db5b82dc2c4bc249df105e533b31ee5ce2e39d5632e4d7d8a60ed618721f974e584657dbf0ee63b0d3839f6afea3d728bb76f16ef931e424be0766506886e6e473eacd015afa51e099592b44c80c081e1af7a7f6930d1701b558cf4072302814447589ea766e973e090340bcaf9b22a0088aef192d630069a8cc22f855f8b2930377946732e863881301fe4d4c162b7ee587edcc8edff6d8fa9dd94a72a5b514239ae4cda3d76ff90948f20b9b6e7d89640bd482d622c6329d4b8f7b3185c47789c72c483fa02fd775aa43dd0e940bf98ffebef9ec6f2027a6b842c8298c1f040d8cb8e60d60fbcfb4d7a2542e44c6a0e75861a8594b962ac611ef777234338d9592dbef809504caff40f937c09f1b74204866a0db199ea2b32221d6721a4141f664dc1421665b0d351f9795babf01e7fd5ac62ebfde14c95e1e6749103fded419cfdfc5f58e7bce6fc688d7a4120d10008d556cbcc189c8ce1b90e472907776d2b1db0e2e9cd9b0b39f83297de8fe3305209a5c64f3b559399e29c472ed3459f2e67d0d2ad6c9f15c501aa795e4868fd29ccd68ac7bad274f6e24fa72ced22519c1672a7dbb89ec6cb45ab39daed4aa5b534a26c6fb8a275cbe0feb7254c084cefa9371ca7ef7ed364f774150b9b7844bf691de0291a28da75d371672dda23a27fbd15567d71318a6bbbbb11e9ce6c0be1a1faea5aa9b0c3e93a9960b1622ff5c26855703dc1f1bf7b2cf185ee5cc54b79653b1f8bda40ae34a90e93074f1fd0ed673edc4aa3b772c7e938b6d8a0105969de267081504fd41a2a6927217e4d1f8cd4618601745bfb8b96d660b91c8df43af618862fa914871e589f372e0011de4e51889bd1e7d8d7e8bf6c0e3edaa0f7a15c1cd6b7adfd0c9c3c33827e889cac7ee8185976143b4680dfff8da1e75508983f51022ae200ed9adaa0672b15bada5380346218df1ec2435ffd7bd7f73f36cefd2ccb6eeef41f1644bd072c503fadf6c72927b1e513ea324e8604213a0885b5d57dc20cb63badd3e576072416e231c86253738e82fd23ecb2379a13c9955e1d009e6191d0cac057030e5405387ccbf9847d6d5fb6029d89b05220954f3bd9a7474b44346da4385cb989a0f0bf03bd3336e90e80f8463fde777b013286ff722685002b1efe1636981965772cf8f24aceaf7571c16c3520405b2c9d4e80ce2ffa3e02b740e6c195bf97b690846f211924675168ae733abc90a98395331f766137475937bb19de5d6fefed172c95cedad3d156eb1466bd5ecf8f89c12401fcf1f37fb334a255337fa0c366f1ba578d9db0d05a4c8675eb91c816e234cf113f982191919b4723b836fb37cbd5726845308d1d7a314d465db9114487dfda218658b66261fe4dcf4b6df1b4b946101ebe6c1e3d0e34ff4bfb572baa68db958764238617ac29545249d37222ca472de2ea3317fe23069d436c010ab1775799988d913a4e68a3767bce2a5922318721822059655710f2635486df9c3ce5c1509320079af9cb054f1170596dccce572c5b8ed3449b1d599f4274b8a9dcea31d7de61c34e1ba9ffc82ac47480583007289c8c62f4bf015ebbd760676dc17de5008d8f7892caa5a70721f182a6e64a64554b485ade8050258ba7a96b96273eaa3ab9376cc622e058ec95a23df295a686a4649098fba0bd76ef18c3de6695cde4c9886aa34a9e261d88867403f8e3c837288395bc6837c1acfe59eba1d72d9842a5ff9bd03deac5d5e46e39ed8d7194972ad4030f71a1ded3f487cdeebda771708f7f9f9cd97fdc75437f4e30c230128722c02ca7e7d95366faee23f837155d0cfc42b19bcc3ddfa1e8fbc92f3fbd6866b25ddfa118079f4f7074250c6e7bad2cde6b77d8c5110ccb7dbaaa12b3d490e728a1ed76ac5fb230b705d4b1abe89a1bdbda49cfe5c0980e1dd078b6d28f1091f6cfd73b42b9c5cba709cad716f6915b64ec929b4e55ce03ff5f48968286b7372722bb29d67819b0bd52a2fa45795941dd9af24db35774a11d8fc2416a9e7f20c81b7e1f7912307a80648bcd09e8663df87e8bb570a55af42ec96c6e347cb1b27720b5b475bbd71d2f1903e1869496bf6ac7065ea2058ae94d7f5534e81267d72d3db68dbe37d9313173a54053bf6941fe7a76d78acd872b67c6dac088c516372d2c658af1a6b66cfc708c34583bd47a72ec0aab6abddfd56fb8e49254e123b72ce03d43861cfb82aea764dffc2043af3ba5f5a704fe57fb16101f8b33fe98e721f9b4fd24fc2e335f4943e2b772a522d5214200cce28a76bba1a05912f89c56535011644d5d358ca61ef4a4a70967255b0a22d4b95065520fdc22f998307c56cd353a7ade9b59ea6a788b98f9ee27939cb68013aa1b916624df3b2ae2890057260f435ea0f857f6eb85f21bf3c0d16a23c470bdd9b3b32867061fd1e65382f7202d432dc93b6d582cbc2485eef2946cedb4c7e07bfaaee958b5c8c00c8b5345913761dcd745f22275d658b75db02ab6d80c3381b2a65b18e1c9d190459d0e042a9a4e8ee9e08b8ad4514fc513db82b0c0595c88ada741afedf51b81a03139527a62cf631c4d06f8bfdc4a204cd599fa0e76ea49b3a1600e32340c6cb8d90117246838d5c1419ed416d866a643bfe090cc3f04e09a9dd3d72625201946bac017286dd97fcd995908c775262f2155954fd888dc7c6fa75513aba2157e2a7fc8272cc0bdb8fa111010322f830c8130883a1de63357b4879be41ea6eeecb3bb608723741f9285b5cab3463dd525a5d0c79be1a873deddc5949a8bd52ad6d02aa4072a0ae4d5fc9badced31a5d214d3190ed36c5a6f3c14f3463993c2357f7f72644bd54991d8aadcf7d94b2ccdfcc50a8403972c6dda0b7c0274aa6b100c416b1b723e2fe4591f5cf4e332475f54636cc2954be4e4b2c2dfcc72d6a9403d7a296972b26399f19a0a1d1c4d96612508edafcf0d4d04aaf747eee58f44af209253a7721c8433f6f6cce9ac2dab1ad1f2b027c56795a840aaa48f80b7869a55b400bc728a9218a41543d09487ae893fbdc2ab9d0887b5cd99f2a78ebfb13c11c6364921b3be8868fd52c175307118cd692c724d322e78504b7afacc99491dd0383568173c3f45f3d7e03ea96537ecbed5b54292cf0683d2580f321c85761901f8a5c172946cba62c65308aafe48c9e3d33d37eb93fcdf7facd37d8eea6a80e6c38ac97222fa24796aad95bf2a198955909551e436720fae9c7fb95fe8f833f00b9cbc6419ae45f504d28892ad413879b6cea4ffa250f6dcc8c4485567e2052440a8c6070b9c1c71bec6a3e4d8871acbc99c23b1aa357d7d6a970606b161bbe76eca3372fb056df87aed98c31af46bae427601c4034bf81330afc6af9fb916350edf3072115db28c885207edc7b624a548ca068b4d4f0f7508216a13e269e9cd536caa721ef2ffff955feb6c096cd19e8e26746bdb5397b949daa675ea3dc0bb0127d63d00cdd1b3b48b74ea85c8ade93da654b53368c13ca51df620bc6eac912b46c653b748602479b02ea155bace60d65771e9867933b7c6726704237808c3fee6fa36862509eeb57615a1a0e8a303da4e196d4f97c3a9ec87459ab01d935d66386472d0cc6ff12ad8b419e0c3022cb86c489f494a87deab57c15ac976c24efb4809728f7c5a7cc4e0b24acede93307eb2adc142910d20c19694409dd64e61c499055990557a57a90fe5588722752d1bafc99864fec6078cfae8defee2798d91ee0b72c7ab32dcda7b30c54cc997cedad31d049855c5ec8ffd50e29563bcda873fbf72f310873f3be3b1221a3b7d7adc4437767b51373a92b307890c30c59367feb1729b9338c60d24d37547cbee548c7795a9d74c3649935f262d938cdf8d4c063b721363b0b3c28ffca08f318c7221f29d79edc0783517ed8ad80c144f6fefec5872aabe04a0a37754c7709dc4765495257cbe143d15ce0b22393847d183d5e92e724c5de96677c6232beb1a320c55863115d97762904a6901d4889f48966d45da72586a7bcb4077fe7af6d8a1533983bf7bc672adc3ef431c9feb0706adb9eb314b72fb7bddf0575eddc5cf92363abd3e7aff3986973592bc65139ac44ddeea86518e506b03d317275093aeedbbbbfa0331ad019d5136e28fcc60e20ca332077d4d361aa8fa3c73f1cfa65b4cb58f7520a5bc5ff618c38a7e3c5e399ab3711a087279493d5bb8fb6c0a2e089341b78921a399125b4cdfc6d3816b55da960baf7172326ab0ad3c5b9d0aa0f1c09b089fd874ea1cc3a505207882130f405be716e0724e7b6e14ca438bd92ae36660183494e590c8e17d350e1d35bcfb843261ae5d4a14f2e419a69546d381929c89219ffe5dc0a260aa0f68a2eb0f2a6900b9bab47210d40d0d008e339f3a4fac6e77cc8aeefc84b163689a2ba24041e64124b92472c3e6d316db62678257654e45b3da0aeb351838060f012df57324547c6b87a85aeb79fe10cc64eb0d2f788ebbfdc56f30b3ec9b413ed4a091d1cd1e6a62e89f1271602b52c47e98d0ef86e227e76581ed58c8b320e917dd34d0715de4d9a1fd542d0b1c35e268501be7e45366c3170e473a16f475635317ce8ec2ad6c08890772325a9b2a22f6483e5687bac2edb9f508ee14a2a8351b1c76455dc3cd0969414ade000e637293c5bfff6a3262e1de206e526c9f4643348083ad21ece8864cda64956d9a950d25ec0f340643dd0a97df8c73bebd7508520d58799655e157e34749b9182bbcd8cbfac631c13907664630f229d5eac2ad3428e60da97bfdfdc08362c5df38e660e149eb198437dfc6f80d9cc0b5d86319ab2e0bc2a2aa6e10c36c3e9c2a0aec9fc56d1408bd286cccea3f0102bc0806ba0e8c4945b8a6f35a081d1e0f2dde40f32dd0d8764c0fe7b7ee35fcd9c2268e3d344bea958f1eff1c817272ea4272099d4e79047b419797be8bd85f593c02eb0e42b724a2b80e4fbd6a110de8c427c6aa6a2e4150bfa0cf0a91dd54f90203f3081236cb3c369e0d31fa70728e80ccada68b3db396c23ee37e6a7c06904529bd318f93ab6972e6680f7452728bed4980c8cc6a216d2bebd1badc49ac2714669dbd5ff5077b0e5fa7e8c3c7725eb2d9b6c996c54347519109cc23db10b2144a81bad8bbb1b696de88dde89270e0872de95939bb26ba62cec8721e1a3782b089ab4317cacea9793b2b71353d72801f7bcf4c6b275829ff06d5009c19879294feb2850d2c4375649065483b024c29806e5e69c687aa3511ba1e929cd65306531d68b0be4af42af69ebb59bcdf530fd3dd021a3a30386674a4aa9044b5296c5c72ff3852098358b0e2e35c4b954fff67d1a1290d88bdc176f31c11ee6eea3d8f9d493a6e6cce276ea8fa1afa7443d19af93948a35ed75194f2a25e5c3dd41c8b82776fb1243ac15caf1b28e2e03432b8aca37852c61295cf2fe4efed43f85f7f910830f6447801848cec89e495727f08b334f15e4d4d0b0e566874d0a16ae033938bd3a6bdd6a2aa5131b0445b72875bbd28f254b042519ca861bae6367881bd4219040d6343c4899adf65f74d6dfe96ec78045f065bbb5947395fe1359503225ba52cec27c6bcac6dbc94e37b641984e5ad485b229aa772cbf1d9140defedc74951cace76ea8cf42f1b1589ee72de82f7a1038f3a1976b3cb581b5971db3bb15745567e7f8333c0bb5662df771d7ba1860f70518c6551d2e5524c60117591d267e298acb918c9f7793172757b5befc82ce210b78cfed6d3aae11f5fefa45c5b77d801ac879ae87be0413238ca24da3a0ed0c57a24ab58a7818f14f5331a05049a18ed465ac2d9b07438ae73c27270b3e34d22ba96e8b94fe03b494a98f2144c314023728b2a64eeb5743e9dfb72f086e689d0eb7671180c1fe05585e5755582091d0d4f3d3b36f4d4e123184d1309f7207f9dddd7f259dc36a34ea2c495197184968619040d56cff108c3085417eb87ad6a18671fc9200b8948cd1ace609cee664f36738a4b9fbeb83343161a72865780102fc699ca05d1fdcb3a1daef3c73072b0b0d4dd09366a00e1da7d56384d1ee0b204438ff12655b03c1bd0c8162aa302f8350bdd6554a2f56da768c133ec6c56b2a3f84bcfd2320c15000dc5381ba8ef32f472e45499e60e94e4c3b3722bd5070750c4aaa8e1c2ca3ebf32541ff99f0f4fd9d9199095cd938ac88fb968e33255accb8c932f26384ea5cea9ba6a1a33e18a35964f79a3f28994da31eb0af94ef04ebe18a51e3da8bc595ede6c2be142a73416d8b081e01c896952079b00e7d82692ea19243319451347f15fb32e27456a5acd136b797c59764f6fb5e843ba190d5a1291e34031466de759b3087c4179ab8137fe916ad2c5a8a1aba60d0724f57d16dbe63d6ac034c376b60bf61b8383c1bdab2cd1cdc21df608af0224724eff6d387aca780acff351bfc71440a72d61e24ed33b9850626df5e06e95d4720a5b98d4cb8713886334b1cde56f229a93f655e4377b29be0b7fd420fae7a35d134d5d8227693059068bacc859c7aabf392ca4a5407755c931e0b9e13526c16b7249ba6b11fbb4bbd5f398b0284dc52ffa17f081b4f71e5c6a6f12e633f380432d98e28f647c18efed85e6d4ac032770dc5ed72ac0c8628bbefd5d38f01f3572775cdb3aaf101f64c92f022dc2d165df28fe0cd4250763d3be4770c6b8249d18d7c6dda1afbfa0e400b873077c89d970fcaa03e96fa5fe67e996f31a49bcee7231976b759aa39bf91e6dfc98a4ed3601942c5d76a1f5c487d3c6d2e229f6a44c4748dc33b5a51efd111135e60b1657ff226de65f64a887c257cde5426098637289be924986e0182007f3ca6141fad4e4960ce721df89e1ded6fbb0596c01f872e69e411660481bd2c8a3b28279f3b2329e9a7f13c6924a4c1541c2db65ed16724a55afa6b7940c557869c2a64ced1a5a17e989ebf5268fdf3ca7284bbef30472b9de55ca52e16b0e74872cc37c9b4c16d0d4a17271cfd07978b852bae0b346724d3110204a1b01f12017f7c01cb0b1dd08eaa317104c1b322d47b4af5c5c1e0dd546d0557d8a802b93e126b6f0f9e1231bcfa336dbabd856335e1fdc2168926e3c300ab3151fb69ce479707fa9a4b614d725a565f5c7b0721a4613a577f8b872fe7cace9655c1f6d8f8adc8ca9f603af498acd910140a91a641df7269943fd63b05d7e0a9229a27dcef62ef655a35eadefa011701823feda6fc9196422d6b372ccea7baf60282c058cca19d1e3ca5124054e3f90f392a9e631c569918a180972105e6b6f211e873409a00eee39b0524a71ff10612c01ac8bf7949b98248efd6d6730c2e5a6fd55554ce92e09d9501849bcba526eae83b24bbb4fd9c2937ba57251888a130ae86a7afc0bc4005754a12dd7f2f4907f05d4622c226e135db5b918896fc14e3b4987076e5b78e23f4eba40fc35aaaa8095da4178ad6f3aa317fd2e89a016297511cfa0636d1a59eddc2f9b6870d44c013aa873f355f7c46922c02306bc8dcb61cd449a19dfecff5c5ebbbb4d825fb6758553d8a35085684bd24715b688ab7a01d2186f57dcf218ac69c6883d884afc12a8599c59157ff9e3a79e720e63e1cd856906937a8a9f2dea36584b152796a7399d4a0b4e8595935853f772dec9ac799256f38acd108dfad8a519ead8e3e98e019a93ecae580ff991cdea72e05bf76322e5f5ae5acc46611f0ab438b219a418e31d14025e0eea141faa791ddb97501b038c01e179ed5c5fc22c90e0f63df5e5299332b2fecf7480f8387472a8ce21917589522d9b1418050fb7a785b866fbce077faefcedd153520b95ce206a4ae9bf235f4c87cdd2a7ea4cd8623a9ed4e97708abc7155edc2653cc425f1bf0b7e94dea09832aef446706fc2dc5bb33daa08b8a34c38fb7d26c64d594f32f058bd620b0bcaa961dd6896fc7534a5bf2467431406b338ef7f38c75a754b0720a0c5b5a89c08c6b2fda73f08e955823393be03d1cf4276e745a0c352e28576b5ca25499836f716b12e63f132a832a71eb5a1065c4f86b4ddd8f2be195d4192bffdf2d259aad3d66106682c012f03e4782bd576890e1aedf9a13ffaf6c22434bd69feeb763f3bb20dddc74aff61888110972b018a1cacd5071af31eb43b304722692ab98c2349af438953932bcbc8c9315887fcbcd994ab547b17a79e3cb8f72501433072b640c2cf6d7407fbfc7fbaedad231be1613b9f0dd7f879d34d80b5bf91770da5ca7a8fca6ca00b562c35edbb865ab29b0e0147e6cc03cd631e4d0725a3571dd68b4d28424c2d04b8cce5efad1de597d7f51c4cbca8c0c7a1f5c8244d3118f3cccd727fd58b782b66cfe0bfdf4a6b66812e5faa36d8d93389dd3093e689acbf77083150c3765b67cac506708cb1d7d375de212fec02d363791f48e221c01f12f701260498cebe4e0dfc49f50ab0244d2d543705cd4d1633f4b0282496ae3fd21ecd5bde4cec9980360e6822af4af48cae094298da7069087359f332536ac663dd0b0c74a19077baa2ef39014c82c233533018f581082407d572c7672c25a6fe1ec79216bf7f666342347750ca77d0b6d72993dfae6d3ecffcece683208efca2b53abe23dda181f1c9f0144b72babf02da62510ffb54b40d2246fff726990099bbc70a49aa7805c3bd40594394689b9a726dd8c19020ac5e48c62b4425fa390658880c92e17ab3e4601d608d2ffa83dc5cff98a883d701ceed1dd9c69af08be1aecc6eefb55952b5c158792fbdd26ec675837409bbe5b4af99132064a03429df16c8f67bb5cd8b2e58fcea1e945cf363f8c793b309b28dde2ecd9e872c129bf6b64176e703ee297977cced6a4fce07e61980148d3b1ce5c056460ae72a815d739d424435be468c2d7f229634b03cc79cdef9f79fd7985f9d8b4cdc2724a86d3367ad9768a8b271245b03a8038a8fd039ec54b63ab2a753aea2143d2448eb610486c50d1d2f2ea7a1c2037694e02e4082fff236b7c266c2a20ec2d78728d93734f6515b9d8a745a9bcfa3e7f2aa9e964ccad67284250d24a5acadb4a1f4c404b170304a13801d5c1183dae7ea70f95ed1aa0a0555a5122ab77126c13559ac13cb733b17b01b94c30fd20c01c05cceb89519adf924f437e29b7d5c46314c7bcea32c393b74359eabac32cc818cd5c74750ac15ec68b19b98f32869d3c721ed39842a4bfffeb4c479c155198ef75dec3565fdb75facad8c1f88b9ef76c50832e88bb1994a1ff31cc7301de953ea35e5781f61b7f12bf896a843abdf5c90e068f5d7d0dab4f9fa98eed44ef68e95326a5e4edfa892ae601768caf37439f60521cb0418c241840292e03e380c40e3c45d324cba852f98f922463b8785ed80c1cf78cd818c3e3da627e5bbb4cd4229b592b18e26eefd02aa0d01367acb88c51358a956563c7e8339190f3452da53e942eacebe933b0318f5cac1ce4dacf530cdea7a7a3338322bae9008605d7a5b4ae10208f39ba066cbf07f408fd6b446e72c59b68a684862b1acb0ae039a3018a1de68c8809c5968f2c5c0d3dc6c9270d50e591125c30a7e1e8c3f351e525a68d1da87d7871ec44518b35128734ca625f72a6d922f1d28a3f1079e9e6cd03c18b91558e7c88f96c3e89b74c13e3b19e077236980708d18f0919ffff06535055a62849ce97afee191849c864af4bee9e6536226a5be2c73882069ca90509b5b98ea57835b11f4129e49a73f2f9cf259d935475ddbec9967d212fbe3ad8b9b4cd3fe845188c78dbaccdab52915d4a6bd84a26ebb07f3928efa5b4c5c1e9eee9da493b313a1dedca3099025d0fab543eaa3f723702afe9680d5e951bf19f3ce12b950c24b84e74d2d4e716652dbab23fd56b72756ac25b29b41840f1417dc962487b778c4eef96dd151482ace7d90952e5ee72160a21412df56c5209a7c78755bfc652e97869340704b49715454ca79d49ce66ff785121454d95cb0d60cd32a5a2a8c40cc474eab9a0e57fe2d06651d964c3722305d8a4049107e08f41b026d92ea8e0baa8d8241f13641a5b6d3612b50cce721049aa027f48f4677e02dc17edf0be61feb5e7c8fc6b2a886ad9d682ba961c72276449d867d3fbb1429a773fb426b15131ba6dd1ccf4aa0c88753dc48e354f72507ad16743a40812d03b8d4780f43e7436ac1468c683b79bd89fd258505b2e4754ad04bb32ff5549a6dc69d287081d0320d87de33fa160c7602be9a4eddda14307438f933592ff467194b0444709f13ca7d5ad406a110f3e812dc488acfc83709ca48368bc3aa90b140c754a1e53d77b88ef39232237dbdc4d991e4f6710345c9885ce1a61bef64fb995c4c42f1c5cf99769f1eacfacf10ec555780d44a52072a01e21e80a93d72d9753afd64d543ce98e968cabc1a1f90ad5b9ccf879d3e14aa39daf28f96d5a8a09f4f500d2f9fa37de339a8046c6a1ee0d950c6e80862972c0448d7ccd510c08761c385bb840461c0dd0e65ac40cf4996e61e5c0a3daa072c59c21bee5240325960f662a8307363fd52675fe45b26f16ce6f0c7d4ad95a722a422f0528e93804e7c9a264de4d8d55767db28beb992fc8aa814f65a2a767721d3004046cc25f4a05897754252675114b65a023879f3acab14ef1244dd4567218019bdc1d52853d521d90405aa9b56f03cacbcb7c5496362ed0b1cf9aa28e48f66282a1dae020a0d5558856282ca23a06c0783cef25fa4c4febaab6cfa90f7228a310d45f54ee55b83369d8a8c7acfa6c8ab76178d7cd392a5d4aba8e9ee5725d21078e078ab0de94b6bf38fd903b3f14353781701c0136d51b38d32becaf7250aef4e1d05c00cd0d5157009f10af82660e8065f3634db24a741bf8ad7efa6852d4a04737215e034e82aabc8d406bbab3c38fe557ae194010ee0825cf39a8724139f4de4f0f1728ba3f7856721a7ada185632aeeedcccca804cd41afe036161f17f0cc672051cb67736fc1195b546dea3c8febda91ddc776c4afbca9f072e05f8bba65d408d7faec25a6de7bedd1279a85d7bbe7f4637ff49308cbcb0fc647202171cab1ccd3489f4a31da10c74c2060513888cf1069d32f3cd63276a7a0f725f104d5dd31f180f1c3efa74e6315ced0fb0f59cad2c5e2190149c7a1a6a3424df23b1792b166db4f69f82c3063d1da72eb8eb5dd71abff020aa41d231e280724915386bdf849740db21e0d04705f7b97150f3db5f2e98829e7979087352fe7261ed49549e5917dd094aca45c95d1baf8a6820d14fa4fd19c39e3e3f51701e72faa1b6c58d96d331ea4368f52ee0da4b66d65841198cd308cbc51267e1fa085ca7836ad4b599680b8cf3861ad8b5e4acbfa6cc9b2733c30cb598a51ca53ca8728638be3223ffeb2409e842865876d6610a0465bb862aee3bb4b66cfd053bb170a079f5d445f82a85f0aed6a86c5521228b129ed11e6629f69ae44718aac3fc2782c5f424513147f1fbae40a09fbe5baea631b220a7f972023ae1d9ca8a17ee2ee4369d23211a7be670c256397dfa280e5dea97a1d2861432d7b76719bc57df05c9011f3481a0b0fa2ca1ec058087eaaccfc1c796ca81a86903cdc908e581f5728236c2f1d970c5a0777b0a14ebd067bc835bd27423ca247250749ae07707f8727e5955d9ca24b2e5f886b1de5756900a75cfedef886a23353aad5308fb8f17726baa91d31e66dd4056ffea6479853a30bb644e05eec126bd5a8d01e6bc95117272e9682780c608451ce0ebaca90d8dd7fc3ce26be42b4196a5a23df3fb20b37281c52bafbeee95d9e502e5d64479d51ab92d12ee7803888a6bb7954b247693729505d6cb8bb18367ddc828f74b909bb34b3e49a7e22697edf0f5514ec0299472e6ad02c288012bd9c663e9dcc24b5838100664862ace67c9fc78b59b7edb3d728878d903bdf80888ec2c1c29209d3ea1e98081054be0d2c4a40f1078c4e030721f40ea6fe33b65d47f5f8a7b031b9e2eb7af744f149a70e5af7e46a5a6ce4f65764c618ceaab09c075bb999d1fb5d58b52e974b105665c51ff20e9a4b895703404b887889eb97ef719b6f5ff66226de9bb6bc090c1777a6bac01410f746b2772d9542f58ce1c854dec18495d85938bf956e0396a4b82ab8c43d2264c0279781a9c25be7c4d6f7151bddc71da3403b57900f52f119e5918b090f8e74f5d84bd4ac143e3a8e108eadbcc3235d1b25a1cf1abead1481176db847b2b4011dadf210365c2e6b8891f3243137d3ae2950435bbcf4c808fd221b4c5f2d39558e3a56d058d024d7a2f6acdce80829caadca83cf2237b6be9f665b183581a47b81106e270c46be85dcd8d284de5a66479878fce1823f1c329dd59c4d8d00cb403c055dd72a5c3825954418f5bfb8f33b2e9d56bb54ae383040280e2ae48c99142c96fcf72a6ba6512ad365f14d13940c401e211e378a31ca7bc78b5c4e6c73cea734ca3721565517e2f9c7ddd81da9748e8058b617f218859e5804319688a288bca70b97273044cd131096005866ed3eae61b3435bb8e9331856d35ef7055dadacf112c607b2179b3938fb769ade63e6de4513c16b8c318d9840933c7707478b0ebd6af4d588c5f25f52d6f658e7d45319ea9e0a52bde4b783c1d1c58e5323370281c441404a669b2967f3ebd0fd24a59b881ab2c9885061240620382164ac22113c6cb72442a7d0ccc1afe7b59b7c796e65ad19463414d29e2eb0bb8f35b9f95dd8b7e72fc1b5cfa666c60760c8307fad8dc9652fcbd028efe06c0bc04f069bdbc015b7264dd8495bccb5ba4d19a441c8f8c5e556a9eda756ceb2beb9425c11c9e976d72589df457d9efe38ef1024269821e50da517e1a0111ec536958153ac6f9543a0b1e8f33e65ab3fbde2b4fafaf9fd2d2e09cd5329b556fae01112126ed51723a72667dce9dea25dc5a0097d980c5f9cad46cb86a90c4f531cee720785fc98d1f72853b4f4d1bc6464c7da4cc3e8f5b43b0a3af78aa09f8b278943d8ae6bbefc4727ecda9e0d27085d4047403c486df9d85fe2f475c46c59c4bf09ec30987818451dc436309e55ada5db69cef1fc4b99461d7d88999e40e576bf943757f45ae176013d5e4d305044d2f25f5ef576b7b165dabc235c368a09a3a06f2e72e11755417c7f9e75f0a1d4814f4adf72c43e37d3f5c49b7aeb5a107371e38c621514c1072e86bf28a50f9554cebdcc2413bb645c942e9438b0fa4bc31a2ad8ea6f25cc8277c6ee034ba7e275292bc35808e17d5653ed1e0c3b01a4d258e8698c920192351cc487b82b88c3bfe72c8c08a9ed5469bcf27b3770087015797e787da762afd7266207bfcc38ef9fcc0253bd243aa288b6dc63c5a0993d86f7215cad573b59972eaf3192f826e040c067fb33ffa7f8c35b67574e4a6d21914caefb17beef299727e65cfed2506a172d905f6f8bbf2db0787d798c8662869f34e98e36c1b089108117d7aba90e7bd8ee02e937796753444c00b8fbbbfcff32c1f945fc6a3a6343b5da6a92c0b0d596250bc1c3191fb8f8c711b8ed4295ca1d9e7d7bb29a1c7f9727d4c5626d48d3c5d43f48383f93bdb445fd5678332af5dcb54f5f91e3c1b04727bbda07207a81bf443f51354b92e7d58e2896f1de4d12632f28aca35774f037284eaf0a733f2dda900c5d76eb0fa28269f2493612210f0f33d71106dfcd2c50419c34c35d7a65c05fd6fe6be2a61b8e7e83ec77c15b6dd88c9cf4bc8c023ff72f18c014ce2fec5d9dc3bdfafc5bb8e31a6cf7c2f131d4cc15fa14464e4bf314463aca6c2af3788be7f0f7ac34b35482e33d6e80fb21efcb5e7ddd6b46f3ca21ed981a1062c615cbb70b8c60c177e30a340252be1a742616cd3898bb1b385b21b3fafc6ebc57c952d6658b03fe170c4ee69a8c1cfc7d0955ae4c0993d6f79c3177bcf11a215616a8374941da133f7b33bb4b1dd0b8642744a83f452e2032ba872ee17766ab407a3079b76b579bc0e145a737ed8ac930ec30ee927ec5be3f97a72b315d0dc2b40820b61b55840f8e0651e8bbbc2ac97a7ee8f0b300ca8ba109d4edd8b98eb6930f4340bb491b7af052212ba08e5e8934423c41b9219c6eac8ab2d8e5b0e6f8a1b07c8970c2ac490edf6c77e685ad049fe910c41a779d2bb494f0c4415909be42f4462341edc092a93fc184871e96a0ab842dfc2f72d0e279c7972c67cc4cfe13d84b9cc7d57b121ce9cb3df5b043190bd0c60c482c63882d3747265fbddbb1914dc53ebfdf2e0a4851776e39d89978f20bb232d063b440d26302e4d2cbf844c92b81b3198fae950126a65de449bb91dfe6a886b583846aa003d4b9151e856160bc099cd08ba86878cc0fe127aa34954d490dfee22f125a01f8d72226447bb640da7e9ee0a68a0b1a9c82ee06b2402b6f19abb49afb85683ac6b72376a26234384e22b39beb814c38a65a1ee2cff0d58bc6dafda1f565a61a13d72a43ec5bc33604bd9d9880d026d73ef8f0dbb5a6bf4bc26e3e0b374f1fa79cc72f0c74a62cc6995815cddd2a6c29ca0287daa34292c05f331f0258491129cd172d444588095abbcd55bd39bc81c53c24191d14d05002a8a6d85f3372e5e0414465f06ee7ef50ea930a86b9bd8abdf00f0e3b3f8c386fb12e2902fa9114e7ad47286629443448ced23b381e56cc1a5ca4c46183c9be662d47d2d50333913932e7283892237369505cbdc4859f5118eacad3f862b8dc7700a2c6ee82e9a74a069722155477ba68b33f92829fe96d182e152ff6d93d97190995720f2584b37cb2807326004fc496f0968eaf244f0b8d60bbda42858fb3a808f1310f1bae78fe0ee7211dd0a8582777c60ae50be531066ec987f92946b6c8d2de6c13f4893b6cf47722829c66e586964de513e9952dcbf74dae00e6d140c31b0535e946d56ee21cd71d0fc5d932b50693f63ab86cb972c640587b76ca9ecccb3a460e82c9d3549f87298bdf43e4b7246b4bc681639a510fb9902535e18e857dbfe2209ad143155395023ca6c2a1a7b2b9872ec9ad88a66701a4f16f619d11d8ea37e4acb603d4d21729116137265e22ca70ac9ef30828b0b8a3d53bfc5e14a891e130f3d0af0b0ec0151fd2ca1805aaf64dec06c6dc5201cd6bc6beb53cdd5eb0723da5a170fdc8f1cf7c692a46fa29f2e5fa2a821ff51203d2317b7c226f061be33618407df3d6472226b3bd8b466c32bc538f7438d874035556f3d12d07e6785924c4a0fe1a97572d7287c4ab77004e4556aec3c8a55e53d5ba2f4ccd4e294ae11f39a8a8be74f72a56a0155976241b20d103ee4ef3124813f2ce011f05074e50475c9ebca945e72d645b8b9c93e0701be747f8894fcfc524ea2b2696c2fe4ce748088c14327b272ca739c6018a31786c7f42969d67950ba6370d90f479e4f8d7bf1c78540b66972b943fec28576b951c79460bbb56c1f8264b12f2e30871db9ff10911e7e5a9a7264745ec597575526a08b779808d891dd27147ff9ecb75b28e7c886b1d150ba722783714b9e4b197bb2e1b94b2fb4e3f272af2f971ee8112e660e2c6fd09b472c1b8de075227ba57cc397b1e710d55a3ce2010654a5d1f4f6d7d3486e9f7fa672aa76e68fe1415581583be931feede4872d01cb4b13828a6297d6e1f816901e72d7e18f1477058100f17e06e68cb73a323fc9dfbffd9e283128ca9351edafd472b7ca24f671203f69b9147f80828b341e36edfe0ff1ce4a484eff15afe89114724635129a27b88892cf97089e1f691de2ee7b13697e90fbb6105a7805f4159d5bbf018cfa58990c2e4bfc757a72a4caa6941e6b036a0498ac0201ad5f06c22d72ef94af8bf1aefff803cf6167b230163968ae2aea1e4a68c6489609fabdb7fb7248c1906da01548059d62c10b640a5c2ef9288ef69bebb0bfc609c337d0b3fb4393573c3829ad6665d18dce0b2061323d22ef6371a2dcb04e4c7205725c9f161872059f2b2c477ad1374f895e50375676fbe1fd6fef27e696637994b64d0d7672eef1c8879e0e6a913381f8b9196aa9b006566f98682dd750a375710c19d64337c04baa333ae4639bb5b19d83f0a8dc69c06a114b0a46371310cb50c51c7add72ad3dfabdd8e3f1553ebaa74347aed3a725ef012b7bc7f602e7bef431460a70144d5919a553df84d135bdd27b5e4ef891e2cfed2d3f822a6642761e5ed57b4f72b2eabaf1b4054e65eb65a030f91ead9e2b3f209b9dcbbce3e403862051b3a346f581cf39ad556b7ea45a0355fc6b0b3e8257bc1f58a30684104f41ebbb8ad61d8e9678af8738ecae3524611cf440bed83e729ad88dabc3ea0e84628242c516385449a358058c46936bb756aea3fa00f4a3ba64e1bea7eee500c66028b01bee72824e806decb7c9dbeb1f85d91283fdf839cb8c873b58915282b2297d4342a70461f02a831b72eb32dde593e77ad5b5090b6ebd14a737c0ad9c1eddd89d180172b73f587c16729541e94802d0b60c86ad10b942c06512e358d9c4747bb19d72727bfd9bc25e0333f3dd69ece98b3a83ebb9d0fa74f33887ffe521310b73c6560df87dd4f0e1fb04001cc4f527f9f5f1e86cf2ec49f7dee052b3e0c20523998a72fc8c9b60a7cc33435aa332201f0eeca56644b2caf781405e8c2162912e189b6cd7d259662b9ae89df4617a874b9593197f400eb5260140c29a62e5a830db88637263fa35aa2110deebec89767f4498a230d6af0e09dc1988cc15efae7eb0781e69c52adf6fd63b0dfc8a29d59e60d7d3982b323de6b1a4d1731f4cab3851a072b6ce89504988ed92cd174ad9520644904844f42788f6d30a8b6c92040de39c524b80eac6feb1fa5cdf47e5ff0a204a2c90f1b5f466a18b55391116d9ee781872de39ca4077feb18a5c4a0d42412b1d023a8589c0f5df31863d1e131bbf61d91e556a2a8750c680add1014af3be7e0ae30554c483872c2baec128838006ddd75cc123e131d2c4d9963b87dc530ab43d805291e0d8af4b79abf6928300ef9eaf07153007cdcb873f5926b3590d9f01fb7da2eee6197e252d756dbe923ff3d7221c7f20d418ad517a3542250d0498c41a75426117dde7093bf9d3cbcf6579b98972da8ef84522f656689c800274a1b65d61bc89464af93a8fa2acdaf54ce3338172aa7dd3bcf8c7087e634587f3b8e71332a6baf55117e029b19fbead4a681fc472e66244f7c8f57c0655055a7dc4f15d9e8afaf492708aa636870ee273268ad234caa31601c377a86dbf038b70bc064cd5d0134e385ffce6feed72f4b95683b3455bda7a13429961d453132f383f14537afae84ceb49333a661ec0c1efa560f772c00c9b53d15d15ca750089ba0423debcf210960da95679e280257137cc99c1720b90154747a3365f40b2d8f68fcedf3d52b91c56c99f0da27750f5f9ed130d72474fcd151e059545a603a0384cf5364eaa5dcb346c03859cc87369416880445688768e0d6d924c05b53dccbdef2cbe31f459fed3299326b66976e03335e0080d051ae49dd92b0f738829781134aedaecf23b5d93af88da444e2e170e74fcfb6c16233a24f55dc1d25d7079fb8e37e4a974b8634ad2144550785d17341ea3e702212575cd6438089fb537a4b86ae63ba28c767daae9703f6dd5129f1447141e7251bdb85a770d51f0fc206b72a1e8668f71a30e03c3c68619270ca8b0a8fa5c72bdb2a9a7827c3476cb4cd3f7a9a9c2a1c19717418d06669dff0391ec593fd272992501ec9615ba905ea82264589846e2dfb716519af17e93b9e4339ce06dda7203376dbe623d293001c4d0197d84e4016e9f8fab551db1239ed73fc1d513cc29e190d5afa77fd3afb6f3f8d225c21d2dd2c06736835c40c5769c46e4d1b9a7720ec4c2243cfcfdb0c95112bcc80b48ef305987ff4f71415eefe2e9d6bc6d7172bbd98d043a62addc42a7d573de080a3a2490e8a2fff5e70899d20447e1f85e728a3eb9201f2af2d91f18687deb685bd3bdf9eb772143e55c630b545b6c8a2c720c2cc358315da3f994e1d64992913a0192695f0f290f4ac61e2141298e7bf27273a5c2bc007fcb7a3ca0efde85567439cdebffcabacea0af682ecf089168ec59a0dc8161c99c9373697531559152059f6e3b42c2b78b2328100d86ed850bc0725d615aeebba3e7ebe681d164c352133a08577083894f33b91e03e4cec1506f5282ecb08ba9821c1c3ccc58a963fdd3b74103e56485d08f086a54805026534e39b372bd2463611c405f6d2933c91794712614952bb0a040ac6b3ab285ab25880ee14ad7fcd55a16513ab8a7baab0c23d9e5b98dcd6082cb8b7fb47f60e026432d4e42a0357f52e6a25a7ced01b4ffb7d5ef9439e415f66476260350ebb50f7765a84dea7b356bdd10cc72ff2eaab3e8ca92d52f2cb4e6d454f81fd5158b50e0729d496fbe33aeb66412c8f756498e5a8a3e0ad311941645d275fd349fd8c5311d09baf1a177852ebce1ff8a331a374571b9715562a4d3b4385f8d978efcd57913dcf8bdbeb9462555a11fd9737e5fa93b060d63bf154e497b4ee83ea58ad96d54034ed6d7e490dda8b4240a1d9ba152b7ed960530f8bb2209cc1426ef5ee87f726a450225daf4037239f583629cd7ce7b254ea958827ae2afad36a8d7b292e6726ee3161bb58618057aa02b1c4f44d08d0609d64d294583e8bf7e791a3d70975697e492cbf40eee5c217c59fbd3f61ef3f03b5bf563ebdbca415022c2df195a72637cd9420c4965e10d5735ca2ae24bfd86800b5f8b54777b8a28917a2f11ba23b0cde65479790dc9717468292d70fc2a791bd92b6d2ac45c79b8f7102898347253ad85956d28018eb8470c14c021a155c1556adfdc0aec753a9e890396a9ee6f4f1d30159748464d8bc95f330a35ee8170deec243cb724e66794d6d418fb76096400ac62562be787f5561d3ba73720e9da6c73a51a8d7105d664a83ebe871e720632494770c7a0beb86e1476379c9e3b29d970058785501f03e1fbb30628d226c28124a111f40d559a124308bdf2a87c939d62c34ef8e815c8a01c7a59523209778a659d083a82b6b9b1c875e676490d23a2c79f66d03a865f900a4e19c51f1cedf60cd1ad56aa08c368cc328d87ded9bc81e3ca4d38c608e077dc57d7a797577d205fe2d4592d4f5a03f59b182ac5d2b747d8e5bf7471735e78f14beb57e8726e8bc34567593ed6a8a15e6607852f365bf41ff9dd81a318384196a5f3476c728add443d11f3b437adc82b635c0b73465fce1539d339c11adc8b82d4864e277295d6564a2aa4ee68c3fbbb3b69e2182819216e60c9a5751a82b9a83003a35970fcc0ce5f4a9630a68eb1079dd70fd9ff924bbe6bbec9e46d2a9153ce99ec3d5221fc00b9bf85776db844ccd68b78e77589923dcaed02c81bcbeee760c9822b728337e52219a6ae2aae03f76d448301a4d078559fcbdc84fcc6ed34220544a0721e5c3d2f2cfcd0a7a2f9cf4b3a69b62b8cd9d49e737b92898efeb6c18d1b1416e28d70c21f827ac6ffd77953de660f45c2da4dd1673649d41682b60460c243723b1eb555c1e44a2411ae2f25d567cb96f37329566e298319d392a51b7288b372bcb99a86ac0fa923be001965b81070e033b79d3eaefa606344f5946c620afe0a4405b26438d9ef46d79d6c440c4e2d6195340893e769d5c9f3029fbc524f655421eb8ef09f301dcb1c79980a0d31e4fd4dd8998a31021615ad304e59d898326e329c126b25ebe00de233d2f6f7691f340c2ec48be4322c661c8ee9641826e462b037b7636907f25ac946d925b77445cffb683c3fc59cddd70c1883d6a613ff7233d4f574d10ab72443a3e3564d4f1b29c482b93ffa5a7e1947cb2ec5f224d472c644eb3168fddb424c5b5b743ccd0b9c009b5877c2dad1d014335704e00d8672022d8a02b864905138efe38fc0342f070fd63463e603215feebb2507e047034919bafb21724f956ab32fc6e0d37ad5daf3f028b3a28ee585f5a6d9d441256d72a1c96c06f0a9c52be0e58c31702dfbc7baa1c0f97a681677e53519669f3065720ad761768f67994f69012e32f42dcf7df381d4be95a66968f47d55fb1910ac7274f3e435697021cc80c6dca396d64bf8a92a8b2fcde70875b15580ad74078b1288da1de275e18a4ba0b32617fc2ef09d8c2de11b2943cccb4b5c8cb80e5a066236cc5d91d771fae5dcaeabc1c5b696cae51f973dbd8e65d2b918cd1fa8122872cf728ba6ac3057b084d64216277cd826d7ce2ba509bff439903e02bf2ec8c3721f22b2015eb59a8ecfd458aed437b4fb96b3a2a4cc6d606d491c39190a0e4e7283dd90135d3877f7d144fff35c41abba1a90f6e10e0a199e537cdca63d93bb72e800c8b2bcb770d594dfe493e0147f10beb6eaaad9792b14bda35db812389172355281f8876bc1d83aabad1cf5fb21a7868003899757995a709dea7c51f89650f9c18bc6b0c7ca12f1f5557a30f2746f1a0dc4fa57681bde26ffe862aff69f725e9e2f4c8c02bd2d50d227cc40a5a2d0b6a35d77297ac972620863e612e5b47294cdd672dffb7ce7afffc46adb06a06552449f23b8226149212604ded4f39972011fbbd3d03bca495fe58e5adc5e0b2be3059e78218aa86c5933741ec97a03724ab96bbe72c619baaed8590af1339e5fa44f02ab5524c25e14e1262091c8e3729e6f19cf3ddc49708bd8d15ffc4e0a670ebb1720d879baabb9571f32ab2baf06aa2b7a818b9126d8ecbd1577eb7812ff14445027da97e299f88c23bd5b648372eb9ab2f1f54ad42ce5629dbb6429f8368306c4b4b50af2d681fd5e0a68acca210d1de0216a6597a32c6f143bf90050460923ef43a887238a1815895214f05d5e74379f89ae01daac1b4f16155456ce0d8f00b3184f9e7a6782b07c437122cd72702e92e407b0c57e7b17386b4bdefcd3bd130fd04e113e9e79a0610affbf0f72e65730990bc5f44f7cab5f6d85110ca8a06a0ba24bcbc2e6e87d2d588d09eb7202aa943b6f57889b7c600c924832bda20ab63984d780db2c37b383a0cf7dce6503ac9826b83a6e8da3e4ed1112e275a997395f75a198fccab01b6b21f4789c154371ffa5912cc077ea9eaeb9dd681d072e9031df3e607d11a29eda1e0456ec725bd175051ccf8a64e8e94916313c6df76b2e573a4617d7897dd46ff94f59030fa182eae8efda9b44bff45c24789936359d50188dd3be13ccd0ef727537b7615eb34aa39985314414cc6b21d1a8226ec371c8f92eb920e72570c3628e18b7fb72c24bd347f272fb1d2477b4559e856e2e36b75f1f42bb25999a77f151d98dce72dc3e10738921e8b54253f4d56df64be23af9896fe6e0585e46ba175e1407db7236cc249253ae96f96922d28e178a7af045fb9ba8c4f139b8192f2e5bdf9c58728ad16c752fdf9c97c7f5610e786a6a09512729d9c3be57e78547f9d88f722d72b9d651fa54c970e4cd23c54b58de26f93101a07e8e2c52840df3ee9cddf974726d2d3d3d405d78fdadeb37d0c6cbd7fb7453d7783bf300923da13bedf440c57144ec2cdfc8775fd5a6d261727b5f121be0e7d74283804ca82e9d5b7d4a598a1101ab9d4a272c3d1528e6d603580647a48a25d61e47ebf63e9db3376a398adc1c3bb172fb06fb34891839ba27f73e82177afb7192d6956e01ff374f8c19be0272877c2ebdaf1df35e76fb99551efff1afc0b3ae4caddd3436c2caea9d9480e864ed377533bee130f0dbe165e7ad92bf47142f269eb09bf12dba3426a058e8b719adc13c74198f8856eabc8a4fba908cd5cc748e1a7230afb36e4f318831d05f1a762a1c1120f51f216e14ffb757d02b7a07e0bb6e61635306f6d4c5ce33dd8a598f00fd0f2f177821a4e6183d6a294866f3343e7e71d7718ce071c78a3e830054babac536634ebfe19916689eaa57d202cfc29546ca2c8a28a5369221aa0a6a72402dbf1c71291105cd2cd6cc18223ed52e84fe3e1ecca994d134e0fb03ba71729e9fb958e8f1d357e9c4f304edc93c241802354fb5bf5a3d4f80f0d5a0a9be1b8af855ad77918ea95ee9ce62a7dcba78d014e19b63d09d375489e8256d4a8b72c9ecb75a47a02f11a3d98d1f12821ee6a589b7c4db6d25c192f4b674f6a82d5a47b562cb109d69ed73db74bcf4b3347449ef36bd7726ba0c93bcc15be3f41c31cf1f24b63d8757c37418cf5bba4e1bb9a91c1461f12f379e01f4717f569c267212163ffc7166c16e983d0574e6e3be46211309553f6b360053c59b5544a62872c7237dce13991b3529cf43dc607cf231b35cfa57b5bfc022f4757215d65d1272a1d83e206e4b0f52313d06610a77dde10cf84cce192e8259f20655103939a74f56e91f76dc8cc09c9805e3b406a5de50c9c4b4f9797b99b5412c43ff184b8c72de57c7e34fe6917e1e1b5f1ff302d577bdd5198d163451373940696dafbd004b62b4de3152976df593f838e6955cdf9b684bfdfc3623fa8cfe2b34cde9b5a47200adc372cbd3f4ee297c55d356192d2b2e216a4a34841b3409e240bb4524576a90aeb6fac184473cc47ecbe08979d230822d0099f92cb69f9c3196e5e04b115f41875fe3f738123a8565583aa1e3218a7b67c82f598682a36b06501cbce5597258663f34c2f2a3d270c82ae0776c7d4acf01009dd828f0add1dad343079ee672319209359c25dea2ee9c2ac2bb5d654ca616f3e531e23a004009e98f08161272e1d986046df186810711a3757bd37e528737b9f9af886741822a1a79cce1ab7226297cf83d37950da8907735b142de9d6e83c47c1e3b668260bebe4870082772374db82d7dfa66dd46b5c903f69ee4894d34e5427d4cd570e50e3aa0647b522319a9dbc7b30bc7a2a51443cae4ba74668c850bf3ef88b5317f0727dd407859726a3dd22e4362cfcaf62d4b75cfc21dce9472d3b8d9b24950d06cf2c17d3d542142fb8d964cadb181b0f681066353e131d6bf12f3d748bd04fb3a0fde782ab47211d115c3bbcae39e3237994c1f70e138d480d3ae2d3bbf5c7c314c2bf2478e7239e4e066688cdf618669d798e1c0e133dd496b3b42c9f4c97c89e6bed757ed72e3bdd38725cbca7a0f82e13a3b04c60f24a8f70c6d24adfdf3e7ad9032d51a0f9598f20c557716be5ecb1828563d5440e981ea399bdc4b4d86eb7f8ff4d3d1726ec49fb127be4bfd0cec996354b26f646027f833e6e23451ccf8fa9ff174d0725b2dcdbcde22c6f8f5f50bf17801a5b150b62a06b633489d5d13262f3f8ca772148165d73f7a742aec3c821fde23996d583d048a5250764991349c761576da72d549dec70a0e85c90bd6db1ce1555b804943fd7adf84721fa48c4b7595b096670e698691e16046fdb63bbda163af8a50cda3614bd77c2af52654ac8cfcac191e8efbfde9d03a090e3d144851fef2b4ca9cf11af828425cf6f62bbb6d50497700b90f5e421b427d13a8c608a293505982f939da4d0bb28f068233a39ca92131729a4b7ba6d127b5eb6badd9bc1bf188488169070969c7102a0ed39453e61e145067ac65a74f6e2b32094ac1626fbf4cb85bbe1fa0084601e6138e710bf7b73953e530e87992a0b9652d958ecf31aaa74a6bd2846885ae0828995cf89efab343688a48d6938067ed4e1da64e2ee078f59e9773142584117a11d970606b7eee0872f3c65d1266b80078a0a8594c570ab3fec2ffbe90d525f7f2b181d61d10ebfc2887a1089e1358589f85b813da5a5ee0b1b2bd7d993eb23b91db4af1eed108f57233b701dee5a2b0283a9eb30766eb72bbbbf5ba3d7803694556cbe5c455bbbb03a5f7658a1ce55e39e7c64357e4e373cf55ec4be19ad5b842f276607450c59172c1164ffc3c4a9c5c5fa75d3ccc1fb67a7e1f063a9f8f631339b3c25ea5aa7d720c17e9381603abbfdc0729c2144df96cbbb7a1f64315e1c79161e14748ee9572cf3c91795563e5581e160039fb47d6a3920e9bc81a2e3b908855a451d507400aa4d27039fdefa2174f3d40350213c1eb26c1cc4fd073727356fb880da4e56c72cc627934fb7449159ff64ea294593adfb6e29bffa01844c1cf3b5f79b5a769721574d01faa4b6d7779c26f1b895dc7aa47c54f291cac939f012827344eef6c729580d825deb730ee16bd6abe88a22f0b50b00878bb353d5c25268a7e302a3572e709e80771dacb92153f14d7243a0c12580c453be855ee0c5f87198ea77ebd03343a4f9a020ef37fb209cb25bd97113cd458e16bfe550a6b022b491fb0934e7234048dcd7a6deb999413805487bc2a3bb1703378442c15451830f8371b32ee72d6460d6b7dc62d31c5d4d772a56eb06235ae373cb442ce9c918209fcfece8c36e28ee290c0b431405c3d9e4d0f954437151b551b549ef92f0e5633d6872ac572a8f40622478047e59a9fbef3e7fa46708f4f04fcd4acfcffedb61d66c05a9d0035adcf7929fa6c8e33934a98139238bdfc662b84474f947fcf9ad8d32e67db701a8c51813463edb8ed35cf7cd81db9f7cabb5e378d85ca4f1de874b4f868b054984a84074724a7b52c3b0ecd8ee1d0821876110e457f34ae0343a5b615b0d072335650920b549644c0010bd04ee91a28f66d9be431c4902b5c3b7cba261caa72c397dc0bf81f62a96fbae472f23d5b6048ed32be0da846df14de58b2ce093472ab40d3af0a898a7677ebf66d35d941e6db5cb0bb8a8bd203c0c38ad0c1cd490eb19844e4ff6c8b7564169bcbfd5cd372459fd2a489b40dcf08f5e01786625610e54a5153ad9bd4382c65e2ce71427c5a82655780e97ce1590091fd50a91c5172ebd2fa50ca870564f8e9dce64e90390645c4a5e54ffe6540b5309bffdde8ca5d0fceb715b8db8cd8b853b09e7b210a9386af79d3792cb4f01e060872e1dade7288fc8a9467656390c0e17a9da2948ce2f55929d6dc03fd58f4c880f152b44d721c09d1166d70778dd5d2d5094625338cb6a63420fefe0feac206c24c3051b87246abcb9390c79f2d1f07b601c19d093d5c97dc2136d603ae6dadb6960e0be0721aa8e8f54a110db27bb678b1b192ee96119b686959398f8a76aae18df728f672f6a260a885625bd817d2ff6f794c0f6578c1e3a3f5700532c3a4d779691af172b814205ed5b6b1fe9ee8da7f06faae659b94030f94d7c7be6a7125157f25ca722f7ef644f5a64640b85bf801ce125096c1b6518e1defc253c8f4141700bfcc722ec3a99b9974405fad10e9fb5d98c1952dc8dd34c30c92774b47840634b28b7249f38a09d499267beabff827591c0186597ba6bcf5440d56cbe3ea0fa90ae600882a1d5b7bcb1fa49b75f64a23eb1b239d39c44635c37bf23d948437e59c372d0f42d882c1263249d64388f683121be41d79ea9bb20b26642818bf74899fc3729a57e47c2ce6f0802b3c97f114564be7f78576575a4d30abf1385d10973bad723148d55f0d3f88577c9ae3a07204c93bc3d0a5175897d7621f08fd4e1282f329336a022d1ddcbf18df4593ffbefb427746cf3dcfdbcbba037dcb56fcb35b0f72c2eebdc8b94fd8010cd2243b766c96ac279d4a77fe1e28851fe02c4500b30637d20885c0cc9f19390519d1b041888bbd002c3d123483fd794d93489d5bd0df11cd268527c51ee0963cdf1ba20ca65babaf06e46706d372bede9ebe795ec111726a8dc4de6e6835237a77ef720e01155cdeee17144cbabf0cd45d28ea4baf3c6a026ab403a1c7244ac5b5b4ef53b9b1675c6e969bccf06a951c47669308cbc37261a9009a7588ba9aa227eb795c32b47436de31ef2b3941ce271b5fb383340549ede57e5d80907ed26cf4df193785d718ceb36322c7115724d78b24760ecec74f3d51794cd78b0f0051369c536648ed8da5dbd71caffe959d685fd83ec7c62d1167865bb5f229ebb5fe8ed0a8a60746738afd0f807e60310ca6270445fec7fa72d4ed0eca0b703d22dc7b82f19590dfb43117e113369e5f5d92ecedd07dfbb772ab72c8805df60d09549020a3e77259d9bf948c6b381a34fa5bab2dd293e7bf72f37638dd98629d0bfc924398e6f5b0a6f8d836f3df09b9591c4875c2b49ac072813d7be4a16fb86c304ff2ff97f8cde4d266f4aba4fadf9645196646726bb348d7411f73baf11ae85811210d7720dabfe593c9dfab0013c78e7c4fd3374f3c5cc4334bf6893260931bd1b3412fd128c18e1df5b5a824c8bdeb78a8a91f98fe18af325cf21607f79c9bde0d08ce7d6389573c351db048cf09c52634cf065b065a16cd1e25e3224d868d52d78152ba8ce92bf0303170cc4e0564f7f7d2e2041272371c0967819fd2159e014b2b721e8f6fdfa49c833bb9b6d8ce1b48272d1aee721b194bcef2bf1ae49e6dd4fffca8e3e84a48e5ecf7cee8b919a48a16d2227671b8693c2c6030e4828dfd468139aedb46b7ac2e17a9d9bb3997c4f25bf167ed0cf44ebec8dd8f66afb57f816d742087b57e7f649e4a6e7c0d37d8c1c89745d67280ba00e0c7ab975e1de64ef32741c756627641002440a30f4b0a2cddb3891e226f46ab9695232685a774a7df9e7449350748448db5cc45c474ec90478f78480cf0921270e85d348e5a42515ea2dc64bbc872e80e76ccf89ef81e139fb7608627e78a8ad37c871d13c0bcf91f56426ee6de31c9e578c9f781b317fe14c3262e720060f7beb2838bfdc807cb376ac9478cc69d574f5e0c31af6974d60470466e7201d04fe97b73dd26e399116c8bc2baa3d6b38fd1766988a73fc4d4fb229295722caa071926632959b4946fdc1fa91869d839ade14c6ceb0a1436fb1c88579b72ee19ae27ceef368980e4912ddea57f1d57c425de895b6dce084944fc79bc9872a4ea801e7aac9f9a91a18d52e335bd9442ec20b65820fc5807638dcbf4dba930bb0956e3d05170082231dd0586718ccc14e54d3cd1884cc0be58b8131b534a72196f9cc74854d186da77b75b369345edd085990e1bee663b96048c9552c5376d6005868764d1d3b1fd5a01144d65fed565c8851f2ecb0777aacbf56f93959772ad727e08a899c520e90b02b0bbcd01fd5d54ba20f6cd8f5f6797b76137b0e46e112ed16a93f2bd95b8028c597769a153fe1fb72835bf6c1f61f531c985905e0f646cc8aebe69567a8bda9a619633226cbbc8ba19bb9c9aa4556b8e21e697c05623de1c950266ee5fec7428c9d8d6d3fb4baefbafca43a54037568ad3fe2c216b426b8a5a1eb5ba12976e28b46d4935e5addcc38b9cae2599713bbfcd1d2c424f3e6dde510f56bbe4dcd6efd2f0dfbf8c850b0484283cebde8d70b9b22a0d1a38c6efc50d6df93a552a2d13fc5de75a1f4abb6e7b19bcb2cd12a05a6bf6ee4872cfb9c1131b1dab37577a8acf9a7179a5c78d0ec080b5fb30e5821df0b7475d5ae0f332d1261589f763006ae5ac1454a48f667d4973e0abc2fef62147d2ed6072433918144ce17b4a16ccd0b4187d64a60112e1588323edcc4481bb011f640e7249d4496dd5f345f51efd4a9bda26344876a82b750965e62147fa849874b2a572bbd6dc128070912b1b8a357c1073ca6cd1b2e0862e4ada96382c7eaed59356721ba7562084deabb034903fff508808c28bb0a4e85c7574c8faa1fca6d1681c7251f383956b3de3631cf962d47f7308cad2345019187ab1499d993b5b7601be72b6b5c9ac6e7f8523f4433863fce8bb3ab18920540f3c3ec8c24ba58ea23b3c42ef2a28157b5884b510db58454f44d810a54c6d3ee761a0976ea8f6379ceede727b682856973b0d09d0e28272e9e9e398974f99a45ed8ad11fb6f561bc906a772d90b9c42767cbb53e0fb3ca7f81a3f42eb49aa8e485399c81a6826b2048f2c3f240baa6be619e2bd7ff7990a590e7c4ffce73e6a11da36ffbe6d025dbc9a9f7294c3dc623fe568b160aec3ba72c93bfef6ddf39de30f4fab499fd0816be5cc7275b7c5939dbdb467d45aea297226675566eb91e6f4141f471195d76400f4d1725968942042ea097e2306b0075ec092f751d543c06093ffdb444f5e511ec5d57209fd63e277507bd28c819d00dc7fdcb1a382f80f47332560913b778fc52c597220fd2a5abe99c2feb51b6fab66e311502549ea7c3a34a2fe8be7250295937f7271e0a1094c9a503087a51e6674a4cdf3cf5c8fa00d7b3ad564063e8536bcf372d1c6fb83003a95045f33709c6b4d2cc5fdb2ecbc1fabe39df99f0f8097cac6723c0b882a3a6f328f8eaa49eb7057ba38200e1f9c09f790a6b4fdbdda36db3b6654f9f5599d7c87b09804562b9ab2b26eba2a59c5d10492ab1017b19c70bfcf5d2883cb2331b921f62dda43968cd145b994b7c78bbc280a672c0a970eeedba272c081010f92ecd371dcd4cdd792537a307c5029cb89fa892ff6a8e51ff8cf1b3c28eff5d79e92ce65dc0e279853b6cc962c85c9c6a57c1d5d47a1be71a7b87c72da2580cad95477a4cb3d0b39b1f559481d10dd5295ec6a9f017bb02f71d8ea723fa564afd231c38b388e912d591fb370345a807684121d093fe03b97edfdc40561666bacc8841e830e0f95f690be9fe5ae9d1b7584b3833015bf2cbb3fc67d2089719a2ffc93d3773946fd1cf993d2274cb4dd725615bd121a5e08ca7a62b36492dac324c3ac05a2ed3cf3ffabe680bd9ac9ece32407b18b9adcec84a153195120f585e8ce8e35bc4ce7af4378d9d61479b228af1b1f1c8063c48e02bee0180c7f630ed8fe99d45831f2668e9c9ff8abd843ab2a618a83ff309705426e9017726e75b84e54bbea6c12304e41931f223ffc8f91d6727487cbb2e5a2a98c01f772abfa6b403ed43576f5cf8bc8a1c676fca90d26efc396166cc1e436ef3dcf026b45ce7b1623811f583909c96f90616618601f0b973f6fb809306cf5832e178b7208a29262510ca686b311d9c59d88b73a376d9a0ed45d3fd825fd94e8c07b8a0dcd2502749680c6d69e1ceff8743c2b9304dc51bd9e2cd9c260a3fb9ce79c704bffbbdc7943c0a94c2d8bfb5f35f38cd4a19e20a79dbf4ee186fd0ccf1eed2772d0b237e78010ba748331e959d6c9fa18360a92d5e40af089223fcb723c072f726a89fc9f6266ba67333db24aad207e72d3653d382bf3e750346afe2f212b33179b2509f57dcfb9fa1a6cfc9eb4edaed4e5e30509564b5de5ea20d8d05d4fb6123f3257e9cb5351df425ca569f09eb3e93e2584c4888fb6aa943946d1497d1472a43034122a4253ad52c94171e7a32f968f34077803350625cb136f1cb12e2b469ef91c8c8dc9fd204211c4535fa590da739b6200cb3910976d97bc826e2bc92afdadce527764f7b0e27c59998755a44c9c9c2c0b1292e6bef1de3e9e154a5465a60dab99eb8c6148017492607c37d09cd69eab9810653c2fbdd50e1bfa592c4c80ff5f360b981a8dc6156af9d8ef39398bbd72f5f7f2107751b0a8783325a0534b2206c2a0649c82f02c3498a60e9a6f2563ba95ba65fa13028b21a67e932763455d88d586267dc2820568b6757c2fc8365f8e885b7b91aaede8038e0b3e3972805de2364536eb3a6f1d9dcabf5d1ba025cb9a7aa6f46d20111c00c421b5d1724a5f9df25ded29e97d8dac67f2073de76a0ab40a6cb00fd766b8ebbe4380b542afa0233e1112f3b21dcd3bb91c88f3fb129f71c2c8aa2caa4252ff8ff4533272feaca209d611f87041693e75077f711ca04344033d43850415e5e5602c4e93272571ee2ead2de0fb6391ffcb43f5f400a747eb3dba6adbd06afc18683038cd59f0e6b1e1bc6649d20eb89c8247e0ebf5d10d6f82d42a1d8df8c781c683482272d3c6c6f3335dcdc250bd5cfbda0a9c8892f320a6336791e0f36c213434991d72ac3fe5e736930b1026026e2a0ed3c5916e8b205694253edef858787487b9312fe56679eb618665f966e329fc2de9ea23688c0bf852238c6cafd63931a6a41d7251c4e19cde47946f12eab22b6e5e2b1bf91ff9ea80ac78660f401e0b19c1d472ece39b9f9ac81045e64791d0b31d752021e042de6b1e185af72a93c57580c4024f826c2a3ebfb1cec7f3b9091ee2b509ee9cbfebe13e7542ecdb419a09a37972464c12d6dee8f36b80ce1304192ea48466ae67706077717f69fafe40620f1472b419bd9d8842519e8ce248a01c2b0fd17287526d450db84b0802a9dd9698f92d9d5ebad52bf498190c3cbee683f37a34dc4b53faca3aa66f5a78355002a673618aa204b86dc76343ee44ef2e44150cdff733d89013a2fed491caaf3b829c360650e4f3ebc46334aa42e8aae489b1bef1f7622ff69d303cc3f9ac0ddec9242c4429682ae05a3600642a0bd457d8edfd7855efd42ac6bb42a6543c7413693d15661cb7cdb6bd27df02b569b4ad45a250dce90cae0892f1daf9ef3640938744797241929768c3224b0ef9f5d3002970a9271891cb9d21c6cce6b30f0f2f1ee26372289d0355d8c19ea55239519398149f8f7a4aec1fe005d6703b9e65efc439ea2a62a30a2e892d62b29e11fb466d9fa53cd67ef59b3001ac10a6545aa1f7b28d72a6987b119b5829f431eaa1703b7286d74b1fcad3ff7e63a88007d0ccfc36af724ced66d06d69077e07c692af91d70f6993367120b22fae55a9aa0201076e0a7234cb337c9665e0b42191e2726bea903721d0ad54464e390b9594574f9d79853cd1f940f18bf9141a5cee63392724f93ce8a272c7bb131927087fd1481eaa4d72dc619cc6ab20a15ecb7909932ba7d8596cd2962be98cc94b8d51e580d3f0ef7230fd62ce3dd2b1615574376e9181e988ad77daf597481e44185ac6dddd79a37201e865440595242dbcee14350d22d6d501676a7c1984d2a0545bdb4805fc88463b153fe30a32c7bb23c09004c5442c924662c7b84f5e881ef3c476a01267f07258d8dd5d32dd4d0c1f998c8508d3f6fa982ec2e5e99aaad7da65c4e48eee3e7205e609bdd20bfcd73676ee2f69f4e26d1501cc2a983d09838d45431316b9a67241c6f157cc516ab48ec2b2ebbc14d93d32abc18fb4c59f523ce964267bb2fa72a8ad4a341346d6a3b73aca71fa61007117f80d2f99bbfa443929d1349a8ff4371db1f484f3be09f8b47c6464e4e1b1b4129844172e1ddcc84cb8fca3b5ce8272e895f023ce30dd06274283f2630b9c762509b13224d5f30df4126f62e6fcc563a8dc9b96c1016cc2c7106891346a4a5e154b76d2116b6c83ebfd0f95f98793726960deadc92ced67b7d44d9fc8490a7ea7a9b9769de2db371327f6b909df5d72a41645e8ddff7efac7c8790681a3ff0283640515e14afd58358e5934a13f3c3afd84cce63c2527956ab64b6808aad0257319f6a2d083792d29c8c15709a8c2729619beb4fb1ea03336aabec5a2433c1624e37d0fbc01b80033d7e6fc2379b27237bf05495abb69a3eba93e038e24541d178102081cd6034309692137a674f472129e43d554df86c551a33f6e36c9a7f3a7be6fa0fcf815917f270915dbd0547258fea36ffb34eff0490076edc48767db7f0121dd79929499831496c8d4f9ed723b642490755660197a02e978afaab199a34c614c220e3c60d558de92fc3f544181c04473fb3c2abf8e50f024f47f6bf1dd26bbf257f1689baf7d6e617a3e9c24dfd25f4546e40e1f03c2913e96f783ef8fa3c96d3d74a84715569ca0743cd872905390601670f7147ed53a6539101a73487b85827d2aada2521843473d3410721a2bb8850d1f46a3c1c0f3505a353720aeb3bd6ccdce16be2c78d3b78a21d372720cda97b84aea21462b8a546164a0bf985a550b33d489b3415031f85d1d29724c345098ed7b21cd88671cb510e98ffc3356cbf1a0732c756321f18f7a8198727253630cf8cf1a18b518a69c56cd442920a75adb8ab2899244149a4b2533287216f29e4cd1144330e303a93b9236c413adec249fb5bd5ecbd967009c72e8eb47e875e9ab150232382e34931569e2a9d768a78262d1f26ee3021b823b137a8f527082d8053eae21584f2694e24c3e2b1c38a99580f12107494e8bf2b79975eb162fc832bf047e42bcb1fb721eec8828145bba8a9e833ccd2b86c28ea47e0e613e9613b51dc19a2e0d3715d8f46ab00f8b92bde052de84b384be995b32a0e8842c227b5ccb0d5e89e4c57c7a0b7aa930572e1f77092b07ae2be19054375d83c2728c23c145dcc86aaa0d9d3e49f2c2b9f00dfaf5974922bb899df95220dd7401725d58e3f15ade2dc8602cd5a523b72e5c35d98eac086188d7784f1b83cbda717211ae613be6ded7d122bf0939407dee0bd48cf34edab1ac9115c8dcf010f5bf4140cbdcfb8a7a3dca452c2c3fa4470afa3f78d10bc3185ec69d3cbc6c4ea474298dc9242c6f79469fd4b4fd8b9e76e741dce6a420d7c88b854a5600f75c2dec722ec1bc4b8e7e3faebd541dfb9ec7c85eb37107ae8ec90d16e54fbcbe442f8c72b5716dec1e72542c60421f7d5c0e5e0f6753936dbe03821460803e175bde3521e5e0f6ed37f2f0bdeaa11143933fd7e881f7e1a62aaa5bd7649e34857dee91729e49a372a95277313d8676cdfbfd89593954f2bdbbf492585a149d2c0f835c2368e9eb397fe65eff0e3493d8570661ab0944a16a3689715beb08b5f5b83b1e429b630ad58acf23463373a6ee4f534deb41c82b5414e9fe4abf33eab13600d32ed0be55ca3cd3c0d20b43560b05abd15ed6717011c7ef45bcae4616fc395f6272e71b92b3ab5bbe9450f8871308c9eb4cade12654d31952d2c7cdeaa3e6a8257281a8ea17effb15bb4d1f7274ee71eebbb76e0854911fcc1eb8bb4d7844e1ac6bed663b3ac5df4a83548e8e2000f132f8f1dabf1d56a3419a896266df694cc03c1425ae38bda978ea987f00a910e1720e39efe69ff80c911683b53c01ba11261c02d2ed736bff97f3bc8753706bddbb75c4a2f0b9ffd52f2a5440be9e9d9ffc72f274febc2f5bbdc6f1c776c222051a8c5253d001da063fce4f7f5df35cc19267f18f85230c09fb9badfdbd01d56054594179d53d0c978c7ec7cba528eb79da27fd64e8841fa7a28d380fa6833bcfb69f3f8823342241337ed5ecfcfadf1512720f20d7b184ec4245ff196b89a81f707691e10b24737fe3186b7e4f2d2ab12172e567124f994408ef1e94068fd7fe8275bf489097e480b169c1594b567534a9721e71d5605bdfffb46b7b10c3d5c775186da6b97653107d18ff73c1c4fdfd74725a8ecdfd8c1131d9300eab58f23fe20d3705f2a2bbd1ecddc6d92f1175950c72705f0b8fa5879fd03144ec6c7a720d14843747ed66ea0f822d04f7b2368b2472b8ef426e8d6387d4b4793f9c6ce2883f827ba4d3b98d42e70e973584cc6d2a729e83b8347afefd8220c838cbb49d8a2b2ee5e9ac8c5a9c7c8ba0a2ce2b3dcc6d7e09ee53a1c77212204d59c3127946d590ca2acd81cc24ab1838a8aacacb255ee6884cf5c7ea9776429cded397a8cd63e32d6e2b36076b228909e84ad7c21f7299fbb353636302dd0800118f817cef6932e5b59a6b2f6d3241cafb37e840f32b59b8b62c8f11fc48b2e65827a0bc7f87c798f6fd9c2c73dfe73cd0a2609814723f3d4ec1414fe3195a7f845fc9931da5e233a6488fe9a546a45368866bf5a768990e4f1d709bbc0a6cb66be3eb5a7bfc3648ba0ee0108989e6514510d0dce372c2a6159c1142fd0e67a3b5984d12637888f75bd49913169cc66ad0264a292972c374475b077a12323b8f6ad2975565d37b4040332a86a21ec730730acd40ca05720c21223a5ecc11810a2dd673a1ec6e5531030562d73158dd2366dade2d567273f1e87d0524fd01caf481dd88aca05ecf2c9cbcd6c718391700c0c1c1bbc27220864b205dbdeac9e7d7977570efc07da85e63427254e1ffdc1b672ac78d437220d85d46c4d1cc9add7ffe4d95f3f3f4d68773f186f0e433eb493b0bd954c942d53cb55192237f0e1638a13c61e425a7aad461a6cb878653ebb4e1ce9a8c1b4be7dcd7e1438b147318c05d24e437def035f47cdefe66081a5215bf2c1b19592e1bb4922a46ed600225927e949247c64609138e330d8af086be099fa014566c722050f964ef5b1c18df94a84138992c9d94aebdc26d33f3f131f6f62aadbdb86b96d026269b91ecda8ec09ed5ae39a0393c621deaa6f7f6a5bc0937261c215a721980865a398d402fdc50a8a8a1ddb8956825366dd2497e2eac238f52626c567293b0bbb8cce409a1087111070f8b4a4e584703f4a2e63ac63e9713ebbaba0e249ba3a06e6293babf3853b59dd8dc581fea09ddf90aa8f5a85b52388e11099a6798dddb8cfc709be8f37596dd44e8aa37d060e574226988ed0a6d1c503a14c425fb69af679bc37c117fc19e046e45ddf1927024916030e20d828a9bbc225e90726b877862d6cfd1cd4217d9b93d5af985c8f2479f421a1473b342525fd2653d6c878435e7e6409f8c5f8038ef4bb404198133b147bce3489d8098174bb2449a72150db573a7227d5d6babb7f4297e24c93b79a4f95b05ce283557d1d7df50f472c78becf214d4f9a2f7e664a522a56bfc51294f4e32cfbe9e040879395cab5c72dc5a93b6bbe53d9fc02c04971b3ac622ce8c2df6c3a66783b0dcabed0f83817211feb624e052cce9746d184afaedfe38ae48541c69199d1629d0d087934dee57411f7c666e9de47410c01108cb99031fb2ebdb578acf5acb23f502790561c9729e0c5bbb4655308086749f37b3b683bc007c2862aa8f6f183bb14908e078ca720fe74c48efb5313a581ae87a516e5bdd344f7fa192538177c309836ba14cc272835e880adbe0cabc10f4113f751d25ff2fc9051ba1b86015b017b4c8d9c5a4424889ff43d607261cecbb8cb5e49054a502562e6ff31ce621092b5ee0fd8727126a7fd4b1aaea42963684209f0a00948738d51ec6b642033192229c18d94c1872a968516d1b63e6a5f5c3e78a6fda1b67494800b73014fd6ad0213b94cd013855f002d53d7cad682dc6f8abada3320f8853a9076d3e0405d2b280620c6f9e677241aaeebfd0cf4dbf76a9ca834f70f07f95acade691f2b8dcbe5f18fae11cf272695ecd0342b5079f19fa642bc348587bc23dc73814cf091b7ca444f714365e1ffe15c5dcd6a99f83a1f0b8bf4218b5a801a6254be012894e4040a5e53254d472b533fdc871092d8e3cd6574e07ee776aac78a24965b4c3b12e8be717db21e7726693b159d9cb1133a80b10399d37333f98ee0243188d0b9fcfb5b49de6d12772a191c88d8618184b6cbe53e956050607d9c0498f541663cdc2d50c34ba38d370af46b28ab725963ce1ad37e094d6ae39965f5e90a1ac9bb34a5ff76d9667a41423938690cb43e5ab46669e0e1f651a1029704e9fc36da5480aa9634d1a7f8f72235be777a2fe092e384ed7e73fffce1a9c3692420fa6570e503913bb2e82717207889dc42f945a565658b3852be95417ee02fecc5f933bb732334462ad22d418e0f7c2bf88ea3eb114b262f8aef589b3de0ec9b3bb86b08dc5faf1ec73c0b0070e61cbf7b62bdf6937cb7f369dd17dc2d51d74ae602dfc595441eccb647d604b71da86100aab41fb20e8a5ce2c2653fdd1de92c67f1cd802eaa27508ae9909720cee527ae4de1af35768dde729f046dd34a48225e8734080ddb213e89fd9f372e3cf4abee1ea924fc4477ef5cbfaab315f458283feb731806aae76a20be9f16ed579dd61f0223d88532e7f5eadb1cbae69155565e2d7617839781d260d728f635c19e6d57f69207dbe6092de41c4a920a6bf8b9373d88640938bf4fed6debe72d90080fc46ee1ca425c3a1eca368b248bdd8319c4ebe549a25c7d6f6212d5072bffb0277a24560f4242d3f2e9009095c5606f81abbf53eb708950ce4e1575272fcf5950b422e1e91d03f6a1c4c618e83744492674c5c324dd6724a82418525723acbf4829bdb1d39445b2a7691e5e058ba798f3b65ce0f7d749b92ee4d33bb1419d25a2d56fb22e0a81df7c65a167a4887fc7bb1258877c101480cb7996bd56d1fd823ab8d8c56bcff383651adc5c6eca34a80079190cbe808dd921cc716ce4b5955fb3b74ae230025f3a5fa1de0f532460b4a6373b9b39954f22c4bac5c067256b492b97c7eb141cf545af231c0bf77010bdc07535bd4f5befef553a48e9a248a22fafa0b5f81ec53d5fd8ae6ba03af0e1b58df1d443e32e32dd19ed9a8ed72c160b70025bb22a59bbf8c095b919e0e8581d590dafda4e1f1b878a5719c1d56627078dc9830e951dce037dcad560a4c6f721ffb8072a32c8a55cdc7605fbc724d8b95aa20eca8ff2e61df9ff753149c5a827298e7ffb095e3d69103d21ed972c8785e12a84fb8cd241fe30f1e881f21570feaf571c52e615a48eb8d2ea75a3628ce5a9e5992a8bd33241b1c371e5fb3f1f1e19d749e57a65dff340e2ac4241ff52cdb3f37f7ad902dce733ae3cd7fe4b44a5aafd6da1ddb44486773b01151727b8002b7c274c3cb2adff410e48dee589d7a77890cf86e1516491496e3b2e172d523d3defb70d4db6de20cb1bb74a6a1420f201917dee5c57509d0e0e6056c08ea36ff13194d630207585e671fb2caa558c1e806eccb0a2f99db9ac8050c7f204d1efc8898111f61d9f1b79ae484358b691a91e487b57459974e9717f9dd4f537e6c04ac2181b757b9976520b81f89767737bae49a76f5413c1a9c551fad4772a2da12a18b789d70ff57de29cdd6486a596c09ad3f9dbeed875be8da4cedcd72f5ee41566b0a30e61c4e2f6d5cd3b4038e09d58fd4426619196e00664bc4080ef01c25f4fcaf4993219b148006cb690893475f0c168207a5964f548e6f2e3872ec8a7917ea54cca0d202062b67fccbc1d6099acb9a0730b3b5613afa3479027292bd7c6bf1ec328447e3036bc41f80cc8091f890cf9872f83f7d88ce84f77072663fe54957b9e5c799727c001082a0857c3ca135b69944dc6efee557d9712b72a82d5ce4d8b086bfbb852b6425efca3a743bee9f8be000e81f477fb1915ba9728585b0de0bec3e6d049465b825684651846be538a4856a77a33d4b5274a5bc72e98e087e2dd0e4106ce04d0bc0d0f72c573ee032cf7ed58865dfc1b65430154b46b85a3a13ea964398280f407574629e62deca9ff24e033c07b4f5691cb601726bbc8d0e0bc6debc6d0e6e217393b0bf1141ce8bfcf15316e260e9188521b30ed7aa52e8495411380cfb877ed3593bf53360bd3a803f2d2d1e10d65111ae8d2d65bf3b9bce9e8e42173d5b235824dc2b385135cf62b4642260d4de5f6a930272da706d3f46b0f2293e08a809a6c73d88f103984242dbbcd2f9e09e2d6b3a9a72c9d9760eec883fe3fca0d341711e1bae236f65a47348456ac832eec40741cc134b173461a84c724070fa3b9d6693bf5d5ce945b1ad75db8e6a7e2692f788106b0c778f254f6dae4b88ec01a48b1d19ff4b73d29a8080cd52004553ad720f6c72e298f04083b83ff8304694a179d149c4eef42cb07817fbd7f03ac80c684c14728cb24ddb29e767d6dbf51ee6cde7154e8e9af71cbd179af20b4f674cbe7cc6722f9e8d9e4f617bdd4926e8facdcf2b7262aa58fc06bcd5b822f6753b1959937254cca5a8332c5742aabd421527988ac97ffd377cd507a7d8e12f124a81bc2f4d1cc7cec1174725d5fac9c5928634d23ebeed1baa9d0064a9a75ffb5db3a6cd21149c1f8105c4a99cc0ad1137b26bd24074e9a0f07698cf7c6cfe6ca0e47df9601cd356d634846efabdbe23de4333007fa03c0891ea273669721262a7717ef672981838e5c2f99b1283eac145e01460dff5e39f6b382d9f75c6170f03f2f5c37283f4188b4d240e59498088a86a17280364c5e229c90f9cf0f51d621b6ca00f5ed32dc0d09e330fdaecd787989099477b977710cbfda73e485f0597f0699c3d7206cc72129e9f47c2c976dcb3e0f153bfef5f47cce427cbaafaccbc16f6b2826993237a9065366e4ad3153e9b37a09c776fc89c2ea07e9896a210f3da4ee6182202d7d40a8daeba19c867d6a99919312efc69acf362243ddc019f192815c4e2721d5a7292cd705190ed02040bebfe3e512dc0c95301232e4996ff39ab47dfed724777eb1beced50845efaa9ff8feb0f2c245a4f0fc970d51f24e686188e2add7237617efd4b25b8e99c371df953689ba0a72c7af67da4febd5156a000af4d16196f5d9f90b0f7e8c37358ac34c3720851490784f243567f4e0bb3fb8a4d8e583618e89fb572632d37c30defc5f920cf6ccefbcab3b03c2a06ea4354a930406672947290f5b344c74d9955f06ff24f5b3ecef376965db4e7dcb3ed90f64f225a4695e3db47e16bae138f940f1d423effdcbf5aab7977558ec3820714c16b8dc072158b78f849fd63a67b2ce1bae8df86a1697a996c8b306c6b71399f038cf72e72e920b622b0ca0eb0ad5c4be367671a994f3522a775f6a73d17fc5b0821493a721e66cc6f440a7c18103eed90b4fbf5c663a67e1ee5723d2f6c20618785f2f06cf28daa4a69c47638abca73c85a368e388273d30786ec8fdd71d51d342f861514e8cacd0291b90dd496c8574f46b0b0d242ccc1d0fffa9d233239289d9fd4f072db5eb986fbad601538d6901bb63de72e5a3f68dcbab61be069ae0f5e5c729072c1eb3bbdcaace488dbd9ae7aea25cd7a309d12354212eb62467c0e5370eed4725f6537ea21a28cfae347d5b29afc0017f1a9e581832df32c52c0d93208831c3e3ef63af8291f5d9d30a244fe55ab3635333bc4f1a950ce78947eab5edd5b72726f03f6d5bbdb04003d512f83c36c326baed9cf7d2d420fd1fb021bcfcdde13602ec6f333cca7504d4125536c4c47ef70bde29d87b2220bac8b7685df080707721a9b72c21cd61abdf56fe5baaf275937365fe7f8646e9f03694e3aa88c13881f9e793e71bb0f99e8bb88b293d6abb7ae21f43b741d730e81938806f2c7b818723b2649c330233fe590e3bcb6293b6d2a63d8afdf640b736201108890931dfd7258a4f0b86984640f9c9b2a3fbf9504d872998381d6d7978e4ae5cfc5776b3172a01ef5e4a2ca312d45a6aebe889963d580d539f2b2de2a33276b224dc94cd4722f039d71848176ffbb7b8f5196244d2d13ef54d02f380945d9356c18fdec5b2e3b074e968ee2ed0d39bc347eb41f9d09e7c79a7563b08c86b43be07b32257f72df425885c24acc6b2619a711481812492a56bd58e7268d5985134d1700cde66df53b9b77e820588ee7b2171a51122aadaba3b038401907a339556f733a6b7472b70e0ff66ea68cfa668819e76869619a1adbf756d5f8edf4fdd6224efb1b15416d660b024751b1a4a651005a9d52c0fb31d3342e53e49b22121d94fa3e1b1d4f6263c7185cfa003ab3a66aa5d139b30b5ee817913eb6a6aa564b5ae0262f5672c74e966c34f4ef824f5570e7985af84be1a7c6d63bfd5794a9e1de91a3b9232502be82636e8566791fa22a8fc3b416bcd06f73192bee0fa263ad79828541d3725d664c0af90fb1c76fa99bfc956fb781efecac546dd271a00daf4c77d389a62264b2fdad67af6c59acf853886077b74f13fec958585a85faba65c54491f512721973c1ab28650b00bc7943bdfc125942639c9381c8d02069ba648188a4eeb672ec6b8897a9d4025f6acec2f84ba93f4525963912547d0036c477e062db5e553e3370ec4ff82fa3ba5e741defe3f392399e3f7f6781a177aa7cbf5c2c10aea8458d4aba745d21b90a49d3704d80f592d5ecffc8fb737a1ec5fef37ebb1958d95068e5855475c03c79fe3a487b8027a6d9c3b6d12f2f07c550e1ed1c49b61ed925fae5941b5b401d61e60ad7e07ef3af97e002c4d27b797d2abcc4541e0125406d271636190f892a7d73c5bb1edc11e94af77f61608e441ed3f61f5225bffc751fc11202305e28d2d876f0d22f0d46e7ed76854da7bb07fbcd8e8bf47934f9dc1f8bade985328fe9e96da4cf4a0ebce414b863d22dbd8631d5281e419b84c50758845f29a0ad88c45693e849f02bb0de56aea9d4f1e1b82d94f1d3e0f59ac73572fc1f79e0539ecb810fae847fe07241212e16bcf599b3026be8e571c059f4257162b686d51a5a5018739c85cd928ad3967b2c535c3209bbb702a310160799c31e8b936b7dfe45c72bbb328c9fea5ab229f1b18e26486f9e5ed0a5515b112fc4722a382e26441a38d076dbb476c68c7534fb06f8b7984f5fbbfb611766eef2801f325b65ffeb3b1254101e103d71c84f9a5b0c172ca34bc14b6bb9f095cda4d172ab6df11b68bdcda2d334538105b94106f80f299ce2dcc1c8938d97b5367eca72f9e45d959e4b2b738da6b9f47b7254565445897e2b20b48578092e96cc8d7e721d002eb02da0d50be661c202ef43b73efc2ea88faaad351ffafcb7add251346017e887b308cbf5dc74f844d0b0f289944a4251a703970577cc4af7246d848f6bc16b94a55c96903e988d8f32565d2f4d62d80565b60fa75e47e58b82541598463013e09322b6889bec966f47be6b619e5b0c0bb0bc9c449a633b4cf9f0f40872f3a13ce85501c93358a334484df7094df5f98a2ce1b756650c0483051770cf6f2302391535f6b0fe38a9db278b5a24c18c95afd9ec6998adae476c731b1c3947faaf37debf803e178709c9a722405e731ebe2683f2b8045f5bdc75799edc4f5a6a8cb76263e55bc08cffea650944b01265115aa0322bc48229e2c805c931d0722cff18819095447bedf4b599d99bd0f1de5a6a79e69310e678001a45a2b3f11c8ca7d4fcfe187e9e1701b3e1ac31188a6436190f6c5d8203cb31f8667841354beb377b476bb4dcb95a546b49dcb68c852b8c27a52d0b0520e5becd68382dc6724ee2de771c8e9f6abc612c8a20e75caab6eef5ea74f11a2f4ca61de91c525c13620a470e2e86d71cbfa118019617b4680e1753074246c53f826e4d2622d846565f54b26ca0843a115255c4ae2a785f9eb1e22fa195600bea5c52f95ee70ef9725d598b67acad37cabe8007ca76d6a13674c9a58f48c0a272882379cd6db86c1af36c67d8e3d89c4c08d0657d41a849c171f7b3c431b7b62c55827ab4ace75f38860dec15c33d700713a54f8dfdfe96c47b56e1b376bc4d8b789062bb5624132c0436deb472e2701d4ab6073a25058895f35bff1ee5356105e1dc8e1568ef8a6b6d01e34fcf557d3418cd3f2f0708042eafd5dfa855026fdffb0abb70103fac3db75d67a42f11a663e7605b06c13dde5a2c71ac0b844a5e822e450385b5aa2172a9641707a00482985b7e69630aebd9ef97acda92d4ff63fce34f3841ec450f720637533e13e76697e9f093621e3d4f15e7c4a3eb30294bfe95d37732ef6bd272102c74842282df07fdcda7537967ff5a44437d50e7aa04e206668562f11ee661909cdd000ca55427270c33432093713349d0c252cc605c0b39c4a3c896a6707262b8913ea3edff8a760aa735b717453d6e3b6c635c79ead6de811aa26890e4726702121206a5050c5d81c7e1b5a9865c77a513286a4f6e7486772fc9ba92674e76af4ec6a79ea6c742de7df3d6b05fb934e3dea66dd859053b2560d95f81f172c5e44c690b3b47629903f0171ec40dc28b76d35aaa68cd9e326b0e22cad84e096eab53a82c6d7c2bc145e13f18ebf4288f851cb25ae0821d99c601577576cd724894ca3e7be2437567f5d8d947a8415d01670be3361e180374cf46a01529486fa014c5fdfecf914b3ba88ca4ad1919a2536efe6c934b3909681628827ba6eb728a898afa9a1822266154d3863f0a1352cda8ed88c0b193ce25cdc3d445239a0df43ed910faf8152f621a2ad7bb3acf728eb7d77abb5008f0b033890bf53c3101f71744ed2da1976c529cce483b258d455f21e145887d42c2bcad57ee2ccc012e77cb7ec9a7f457c4376bd3f70329911899714b3a3dc3ec1931aab626755ab9728c5c432e0157e83b96e3efec0fcd24413e548aeaf89187302e0107257ca8da728d437949e970a8b999ec08bc6db933d07ba2e92e566ec062234d29e52ad8cf72989462f4655a59275e7d6617bbcadc4b8ed69a88cb67b325ca1bbd881bf8be72cc4fea8c4f4cdacf40edf748888c79e856359a8316117409bca230d1e9db8272f36ce5b94443182b3f3baebc92d0d9d8988d0a42d130a0f1491b36ef26e5c37254e8dff030253fa174d6a4a21d930cac857e2c0904c4e80713316497193899728ce84606532f457b19d71702a25d93972cb3c8e057c0477259f7323cbb2d9e459ae8c40e0b63501d40a4220f32a9f5a2d06eb52fdddea6fdd86c8ca3d9df1072e36bb27992facd828faccbb61cdf626af0252821e14602ea8264cd3b3930cc61911c43055eb0bcf652589355505418e6112312dbe846e08bf0ba46c46ffcb86d88d16abef21259023f54a11f1518ec5125acbe8d67526930439654a55c312f7217f81fcb7614adc5132d636dac86e210bf2c0560fa8065dbefbd93967407d41f750947702812485361a34f37c4b16a29cc305c301f0aa0c763b3c85e313fc951bd517a07e13bcc40615a163922c00aa8508dd0a8f0f6f263bde99bdbb531e938872a784f8682efc95e842da8320a1f8782167dce284d5022cb184822d743db3b51dd2d7e40f054b8324ff54c2bd3d879c5f21f8a7a97fd4d2a018d8b35f47b72005c7fac6b21d4d2605ac5b9dd4c5b419d1a4a6539b86f6defeb5a2ecbf9ba726bd54ff4cafe9c95f5f75d0504c361869cb2a88cfcc7f0b37a9254457be27342c3fae86032156c4821f7963cfa4bf83460cf9a620cc8202f41589b9c1445905bc018e50f124b36484742125939e972e63d75ca0d47ca723ff63b1deb01b50b54dab26591f9b0ba6232ef6a842d403a31ebea61890aabfa7033becf9c21fb3332f291dc9c642858a7b8146b4be6917ff79e46dcc349733f9b4b6e2e78036b1f2b5464110a73e4b7c156e63b733edf5c13f815ead3f7cec251583ac3a10ae61d72b5b5cfc980b803635fad17892daaab6947099b4930f722d5bb73e08c37c674729b421024176be49ba7b3e8ee7dda0db9ad63eb94c4f7e518c8da9de5dfda1a52a24685cb4059fc1b62dc89755aff0bf33cce7348dd4320717e12511054cb4e72ef807be625c9149bc177b142b70faa34034819852d6c9a49d7518a21fee30c728b7e6d0f6ec2afc1ac2ee6a89cc30c2ff2e8cb1043a9e49e6c22e818c89e496fadab362a6c343fc3c2d6f034b65ccc82f031201a9510c40f09c9538e70c25a72a9b44c6467d79c765f0f89cdeee3ac4309d7d1b8e334bd539a61ae3e81388104d67b76518f64dbf6c671ce01b3534d0cfbb2985bdec6069bce5564723362397256f9a1f1a6f38b433bf7c3aaec16ef2e3e36d3b98e5e6b9e6b5da9a477ebd572619c9480efb1dd3a131dd22e76a8abbbb251beadcf7f15f09a1b20993cf2a572a84b5157ee2faf45c7661250516c2aeebafa4abb9d0fd7d24e84dfc62ce456727b8f3ad89f8a005606cfbc4c6f6d1d18b6acde9655109a0fbccbed5a9f406372f8d86baf0cedfad86dd321172d4bc29063d589551ac0968c857bb1332650cd563bcfb4895bfd84089ef6f35505f41ef65903fb423de49db3abcf78e0bd352172c0694a4205ae18f430884cf1fb8186204b940bc01c605fd11669d735cd042437af7af0cf9221217c08e675e2d605a076fa2e826b25bc5551a03150d0e8f8bd725d6455c0e51455875cfab8be92fb230d33d0f39cb6b8c5800e200993be939c1688949e6c451f3ce9be1dc90be46b932655fa47fd74e7aae02310d5070c3f450bfee60d9c752c80c9a17731831fbefcaa604272f5fe124f81c22c85eb379b98ba0200001f5edc6f1efb165d45a654798d4baaa50e3b4d24182913aef5110a15580ebaad2d7e190a13dca10f7da04d5a332c9b1175ad9a414c70516c8da95269f7d4cad470db0d5260ee4b4034bcf9cfb83bf8704ea7c524db6a23aa31fcb91f77f8ac0372db9027b4ed35c505c8211ae0d8a848424edab47c9fa3109c3faa991f40853435e7888c0720ca27e538deae8b73035c13ded1b8a66f58c07e8a08016565ce644ce4a931cd4d18c8da5be36105fe0ffa68c604cc19f2a236b44abdedc029005d72352d112134dc5c9a41d40cd9e43923e60fa29b004071f70c5d53ce667362c37233a64ce3e1dee150d48900fe17af1054564929793d7cc80b2607c4992c0eae72d4d50e8ce8391ba84e9c34defa5c3a836d303b916209981b5f6b11c16a19d4728e07a12d4345dde47f2b9e41d37cbc2b1dcebb4793e5729c951abc346b4bcb72cdf66ec39eb6050a912095473e2220fb95c640d2bc9b04f6ee245b5f8f9edb7242d7c3cfffc0a1c455b74997380d6b739af42a0f7a281e58ff6862e1465066720c40a87f2df90399ba3d0f59e4b3b4ee721eabe8836e442bd523f44f7926687232dc9a1f7cf522a7112607896275ac8d1ecf41f8cfdb81a02d35b67ce56d772bcfdbc5e5ca599651b49a29d716aca76b2ac4c15a8e11e850891635556cf1a949914d98b8bc3a7a916d218778c2a5535f19b02d09d3b2dcd2f304712bdfbe7c727b2990aecfa4771382f515ecdfbabdfcf424986eb6dce402dd6c130502de825277e405a0d51290c3f6a4bc073dd7558c1cf49ebe0d5d4e795cabbd866da8234b5d9b02eb278ad4f3f695c011cb3270aae67058fca43d9082fbdc55140ce9957229d30fc3e9d781c9f85b1f5173c060ec5ce00c12aad20c1b6c3904c3310b15291bede2d1e1c33fca170773b6218dd6c9562a9ae7811858335b04c105e2f89472f24192a261bbeb04a7f0e9662179b615da7df5ae18af5d9d054a937b46ee74722c6eae6d20dfa2eb93b48e5faa65894c0c1791ac0250585aff41ed2eadd75572c57f14cad6fa70094f72ab545c6543132e7af54975a32c1b8b2df9044b06805245b81788c204cc0e7e644b543936f1c578bf122801854bb03833ed911af19c6f6c62d07c19a7c0438625ddcf9f86dae1821d97e8e6a415ee5680acd6a698f97263f46c428b7d3a3b1bcc265b24a64a60f008f920666cd8a75becd5275522a3369144f1a060e33f7b87bb61d477f508b6f45d323c0b7e3ba1fe429b8c14ba9c278bbbba38b3cf30cd67a00f4376f12dc72563497c95094bd8f60b52f0981c5a36525224664cb629fff52a8e90c31ac5fd5a5bf78e244bbc9271bfe69138626672a59b534c83ebbab685c3aaf62686e8efcbb15eb634789a2ee8f67bcc9498b07282ab6f1ce6d1ef428d7e89e7d633660fa43af6e637d37a0d60fc07074213d272e8cd6c32026fecb8838607709db8c56975a377633a5b7bee40033f5948006813a3f5b66a61c1bdad868b19516a47316eb564de7166e36166a3fdbbfcd1637472b195704b3f04557a3b2a194613df4e98dbf3610d9ef6da7d06d2b96943b4fe1020294839510acdd66460bd5ab06a06576cf4bc5e640cab90f2b84e24db02ce72ed14cfc813ebc7f29ad244c311b5da573697f3cb7816bb37d559ac7e2f9334044156dfc73b193c0b2aeb219f4dc70dd900ab23f90f150d2fe61add69a4c96e722c8599d8993005480719d307693c171ebcc262e8b00891fefd22b7115849e672e3dbcc393d182b3a669a3e0882079a7f040a2065118a18136338081f2fdf07729c5fe1a6ee5a6c9db80e5cc18ff1fffa933bee26a128ab37aa30175930b58272fa05b9f74117dc89296e08ebbc810e573e842fa704ed3dc976494ef1b732d643665cf54b82c19e54252731c1fe4dd80d3fcdb77fb6ee5e7e94593467510767727e422161f0f47a6308e97f386b7e01502703c0d19783b2231aa6b68e26fa5872506adaaa2da6acfacb6457095eee69c7145c41d886b677ec2c54a1eaf780a762e46e4d49a077e5f69f1a887be90a5efb34a165aacd8193af56a6125bdcd065725b272ce254d6d36ec15732538a09ab52aaa4975ccc5bc58d4be1478b47a5937285ea673ba8c6d947cabd6cec3d7afe25cda93e252375d44432ea70a6a7249b72fe343fcc1e9b73bb57e91671e90273f0d09e757980e490d09628f5859af124722355dca235b6bb28b997b4bd3cc302b196e4bfc2bd5c102e056bc2d3d621d31fee2102b9ccb882d38e679e97b1c6ba16748d246a2b0c4439ceb7ec236e445333ba747fe4b9bd46fd8a12397779d5c4a1168e3a3b682beb70ff26017fd3df8e7289de015fb5119feaa55c0f25ddefcafb36c28d3734a51e3b35080114d492c172c4566c8ba4cdc1595ea8458ef623fecb7e789110c70babb474b1bfa8aaea9145fa5d9ec2b46979ceb2e92873bf6b663914bf7db4545367861cef8d2fe89963726c47796cd0a676c73b151e79265b5cb7b3b9c89661f1bc0d9dfe68836f3fb967610dd7ee293b8631e3db4cc5bb67d715d81b5bdef0406eb3b6043e80fa97ce5ae657603a9e0099f1beda0dd874ebb1397ee23e2871d3c6be2313721f96cde572d9a0265f608d0382b2bf6bd48819224d128fa7055ed7cdbdf747b9889183c3723b4b93e1adcf4eb3abb003c6587f8040768fb84103d96245f93895cfbb55ae0e145b5b9a060719e42b9f6ce2289d83cdde0c756f146cf50a0dc4728223ddbf72749ceaeef1ab60aceb4242d5fa90e56ee27fc3e270dae765134badc893743272d21b344e5da58a9a1c4066d830f266bf2defa5b0905abaec33e211f190e43d72089fb6a59d780a6505a3a9af805bb13e1fa071ee708ee03363bb7633b81abb72970d79ef4a8cc82510319d3142bb26af5a3d317813d4fcc8daaba5e7593a9472608ec95fc1dfca96f54a998f2df3c165395f1fe7e33bc2d0bef66bd96bbee924d325d5fc9cedf20ead63f87245964da1e210fdaace5de8c38dcba5a8f176a74cfbd2978ac15442df586acae1a92afdddf1767917413094a5110aa72c423083728e1489d2af6f7f4f16a0a5907cb34f34aabf2ff5e4a3d50298bed0744f16c4724ca3aa91dc4ce506a048ebced61ed4da7bd3f1178ebe2df0fca350da37b0840daa5dbcba8f87ed5ba9d29ecee8a917be779ad48c8d2dc887d1f7e00f5e5803726e6c98a8808e5075c868b552fd70c17066cd4026f66f23e6a466ec52d34b2d7269d8a297a0077390afc081aca8c174a7e2fbec1e05a6de69c565b9564c371172110da49b7c3431f20ed3961e199589cd5b91558b6c7933234f84ccd1b8029172dec8e2479a7f7bca72667cabdea50c5ca303b6c6a083c41ddf47cbd527122172eefdf29adf94e6f8c493b68ed98a735ecb9ade7121bf74126c4d7718814e3d72bba5d0f52ff5e2cb365016b815aa5033805ff6276a2c0c0a930f5e5470889b7210835354b109906346f6b5ed7f16e016570dada7bdfd34a86b2e6f79b7b6155ac6105eabf612c3de16b0787c14abad6e324bcb53852bd3d985336bfda6df2072af04dfa4e4b2802f5a4ee95e72afb00737ea82655dd10ac8693a5c585fad076b0a06e01b212ebec306dffb72a7cc70cadf35ba61613ba33db2e7808baf8544720e21125f4e9bc89b9e913c0c2a8fd76c04fb7b3536a90e3b6cad633df88e5f72956b71386a2db6a7de42a037b3ae6c8e36260fe3a01130b1107bd0d6e87fda7215bfef9bff59b631491fbe04477a4aa470e31fa2b9ec3661b823bbcc0ae3b372a8090f54647ee23fd8242f725a3f011832d17c2b3e522ef0068f7ed38b082c724f064df38e1ce7a9333580941c6dc70e0704114a4953dd8bb831b587a9636e225c1446814cb9ee48f15c5cf35d157b351c69c4e87cbb0411a2e64bfb816c42721b757e7dece2f66166b12957fb36f3c52d27bf02b26829c9ee1159a08896a372b188ac114ddee9b5f1822e15306be08b2b2d0ed7a8c9e1a61259cfe06a2eea7240d419d170e373ab3e984faf94bd995dbf55c30866478fa1296549949806d172556fde5ff1217117905f6652f71a9f93bf78a60369130a1fcba04f58b5e92372e0ee17dde0a8f75787a68e8a866f78c04dcdd886f637c2911a1ce3bcababd7455c0f3ea5b38d13904720fa82fca5c5825c3972635bde1a5ffb0b4e5261db6872bc5836eed4839f3f35324e6d4e2ff54b9314261832a9d9a1c09fa1ae516a7b7287a462ce7700e700879d289394c8f16f73352c6a99670fdd7f19367253a77e7242f847987ab477386c6165e8f005b2f411fa65754a50dec7063f60d3189d680b5e382be55f93cfecdb94f0c23225667a8f16ae26749bcb9fbb4444b2ab0ffd20e902bb646c781436378e7eb618f72478ceadf7fa84b6c5033a0fcb125014e47295b15921c614ca400477987ff5e79685555b1b2169bde894e023742035f08f72d49d6dbb041aa2f25c37450993defd82c376142854cf1e4cd212735e15689864fa8f9b155453ab388c621ad9ccffc7212bb9562efbe0b4a1be1aafed1af28572253535a96e403eff9b3d7cd4ea6e05b70cafd3cc1607ec8d1213846d8fe24d713b4467e767c6f25bd9ea13e3566b3b838b15ba5363fb9505514d461ae2d88c6371504e00371e7b50031ddd0a4b2b8602b63fdb58b1a4e447a4f95485074b9d7221c0b62085c1d149a55ad735276fcdc99bad61b4f2e5e50a6cd7a92fe19afe725dd53d9d6c834381c2599af133612266b8e890153428c332a879b56e7576f74b94c38b32131b33faff1f9de0ad421079523de0bf9366e6f8cebb797e64ce377295655ccce16bf4af0348b0ee9f57c508895a14e4ba9efc05e5596b9c95c93957900c1bd92089d79d0baf0ff6be524d6aa50d2043758017190474215c179e6a72fa3e7b3225ff78a7655571d62e973aa7f8c3b45b8a060f344974a22505e460175c199877ac789bb4f8ca2d1aaffccc6a5b5805f72cc1e90926cc7175e2d06b72a5793c4769d3c20abe8bb5424e78d65f1844b9b5462604f3677df4417511915e960852216027eb0661250390fb0cdc315f95b168e2355cbd37985e4b3f06fc721dff43ea5485c49522f6f34e42da42091d7860ec12caf0a29f2b7595798c8f35fe87a6cfe218aaebc7343b7b429bdb7561c28947871b97b0e1099dd6f999a059d63feb26acc8996eae3c212d3ba85b6574499cf78cce91537abe8a9ff6fa5945b7e0c6308b87b110fd85f1c9e1e31cc7114c90d67401808130516653b74446341b3f6f2b2046eced08d00e370c2949a48165beb6204b746c8031f8e3e077a641ff12cd0fc4346d53149a47d92d89d729756a2ff79643df0daa6956b3ccd1f4720b11f301e86346284c48b0a70390c71f4b0fdeab4eb04bc50fa36498e37b0872387d61d3a379c229ef7ba92ba43ea02d1b5c7eb5dc9c0e20968da67d7737e134fc0701b6bc656a6900c5dfb8f6d309f4bef873b76b584976de1ddc5bfaa5ae2e89c77adc01ca590431309a6e9c61c6b6dd163b8d7318223e457c47f94b709072c486d50c78b940c4cab811a6fecccacbfaaf01c040acd093e58e90c47df6282915c0efcaf9acb5d4026c642c93b12bab7f4bb90b0e92f6d633d0a16112fb0172b3e916c9a62656ada65af186d967f9b295f374578c4b2327b24845450dd80572ba15bb8c04dcc73502661b22cd2aba8de821ce1dcab313a5d148643ff72eb5729408e9a9ef9f7ce8efc013b7ce928eea62c59040afe6b570ef1c8b8b6db6c972f921cfe6e1d44bf482a317378cd31d23ef35c90c253d83735e90a64ae9b80c2d895e5ecbe35c07d73433d630ddaa875da23e1668faa37718043713d9a99e4172a898076d5db3accc8058e135e0c8707af2cd08a0b8b25617747836a04f1acc721c9b86bb682ae88b127e6834cda66997fa75e26278f258fa613f32b0e36a64720ce4e4f2889de19754b50a61d440b7b22d59459182206ebae6852c4405b1281bf9374727b432eca4544dab59e17381d17f7033b2ad90bbd40e6c07b0e92733610f0401229a05e83340b91ac302d3c7e4894ea1d495793f978b751c22c5e62e72c24f3bf576b560c3b1891dbce5b518ae3c04542c916e88f815603247423d96723a1538af12f0e21b35ecfa7bd4eae35d5407d5f6cc618597b33a23dc61b212729c9e1794de23c3b0b288331ae026e76c987e1d796f5a22cc9508e1976d873a727e5b975cd700dbbe1e04e4b79de8a2c3f36d5ca955369a37169935d0a5cfeb034601ff5cadd33a05e372c5cbc7a6956dcb8c4901fd0c31cff2d0bbc0e40c851c0ba924c5feb8b3372e71c86d95779149f92bb4b67029d2ac6a9e1d9907e2343d2a6e8fc1bff8e20589528e3893255e41383c7532cf4f5d892850d77f52810772e9717310d5327b6e243e8395c02ec32029e7d9deb5b913dff3cdb237681116232290598bca65af8f6dfb4b00e7a59e422199c0da318eda9430a3c204e7963472eabaceca13ef6b4de82f55eacaf44e69652c6fe5afa0704b0988e6db0f40e51cba0286eebfab5224e2b2178fede13c1239c5575366402184f35c972ae3e253722a7c56a126eb86fc84e88ae4144e73019531b1efacdcbbf2a1bb488e98ce7f68f656e2dd2743ae1bc2dfc630a05f3479b2ffbd08f8767f6a3692df29b5b9270b52f72e519adc8017611c68a6086d6cb19381d11a171a23d5466f586688c200726db1ecafdfaeeffa90ccc7c231f857370f5c738404a7694154969978ce3c5c05d40821262aafd05cbf6b887c1a467978818505fd743811b024d9b24fef8b047290e2d03080138b2303ec41c32b6421e5ae317adecee73d9ca3eb9035358b434e6537037e44937c0e8f3caa15d8b7ae73ec65c076871f29b93168698b830f7472aad88bb04f549b806abd779cc52aa892c7845dd387d8a4ac3a044cd8cb1c0972cffbc8c7625149b5984a5214534332c6cb3bbbee338af2a458040fca36c7b5725a7adc4af5c87da3affccace17f1ffe092d7eddf213bddbdee28ebc53459a5726d8efcb775e2430424166f1ba29e08ffa73cb3f08f91a2ea7298a0b4ad5d4e1d0f58b09191641b72babf8c400540d6c1e2cf81b9ff03f3a0b3565bab8e88622ce24951490970558cb3feab18358ce9dce36de82044acada40d9de74d4b603940c7e8eaf0613cda9d932954745d999c4b3c7cf97272ed95dcbd900962bea0fe131c346aa0606b0a00bd55e241b3bae4c7c1591e5db09f579e716c655c9ab43d72b66ca6d8d9f8e3ba2e1be8b99802c601ed12c5ecea50a587b1dc57ceadaa4772577f185d97993f91107d04593fb80deaf0800837beec3aec12bd5b72d4d35759da19ef13591b301a4d736e3869aa4e7968d1292634e863feb6432440842312689109b5f7843032baf9825032556c97b7cddedf42232014783be94215f571303af470b2bea60d67affb56d421ea752f43a2150a319f1314ea32bfbbc9ea212a72dc6472c564cd79ff93061cf7a60cbfbba78540b074bdd78d05570ba211a9fb724ee27db5fb452ef7e5f423641b85f3361c91edbdec6b4951164f0f97a96c397251b8deb87a1c1f1abcc1651fc01ca4a6550b1abb0cb1ea55018d52b55687b07296ce4cdb742522e6f2e915eeb98856b14fc3649a0b8784a8af735a67a2f4eb72662df9fec8605cf8c87200a5c029a110c133bc04ed3362487b20b7caf8623d13b135b791a346803e92f048e04918cca488604fecc9446312e49c6141ce4b01727459ce47864a4016a9f8ae4d38c3bf8085470cd7ba1407c1589ce88541ed9f72bda7b2587a40bd3da21cef24977502f90b7c024a2da03a696e48609bea5f367283bde32c482bb6761a1bb31fea3d80971d5fbb448db133959b185d78a134e57253ad24b26eb908e2f2685c9c287139860da49f1b797a159d3f2b98a4917cad72a7fd4d0c7c65b446e85a3f230832506314271594ffde8b9bea86f537b8419b0386ee599075ea27402bd9b82e5fdf7fba27911aefbfff2cab95208162048f9572b05f16a9637ffb207f07aac763c7224b8fa0284e04ef6c1c36f696b437471a72231494805e2bbf6fa0ff14f2370bb17157929fbb77a9865b134d2c3fea04277259f6cc4ec933af3dd9d53863b4250547021cb8ac1ef29afc54c114ba988c7b72c6828c32a0544292b04c9ea321484921dc914429a3d3f71bf665133b53ba375f3fd6da5129e1fc7098bf26694207a5aa69428c3f580129107f492c674f8ca9724d5695ce56e6560821466c71c06ee437870a4dce5961f1554ec22cc2a4719f65408e224d298ab3188092f468a75d7e180c02601ab6d2650526bf6abc3f0c1472be7d3a252082f4ab7f8957d8a4507679fde24fd2d55c87e2f800cacae96b55721ff6ee5a725e9e7bed58cb2474c5412a5bcccf6ee72adf9f508a319a894adc726ba443f971741619bdb8d9db9846425dd7fd6f457724cc70872c16ff94487864c5b248798f16c43e79399cd1daf377c1fded4a30f27b4fbd51871c3dba3f0f1d5129b14433368f6747d319a0964873cbb2880ace344c52c056b5974ded82b920b3bc54869d77ba27661602d6cc2dde34b4ac0699ec705702bd8eea242384fd28faf9527fb540ff3c5f3eafc8488e61dfcddf512437140f85c9a6bbab8a89ee72475b6378223797ae2c441c728b94817e8072c14e1a59b8b92e0bdb4f58fe8e727c4e2a1aa6c60de362c52e5e79bddd968928a61e5e5ac2a8db3794c3246eb5724014f7b53fe535f894adb4574e5ad459e7b6e9a67d5d3ad46a1d479960838708f33cfc9cb65e17049e80ec30d74af0b4bdcbb24391fdd5dc15676445a4a7f227378e915d0422ccc3b0cf446930f96b7ecfb92ef78ff539645c62d08ec8a2f500023a2c48316e1991348f00b60576a868e9ceca860405e7fda59c1f02cb9cfa72b5faf8039fee7e6d9d7c5e0b6a80ce5c1a61e9ac5c32f65688ceaf1f0ce6773bea50ddfbf4a32e8ddf2fd9a1e49f2a831ede648056eb212e43afda30d35cf372164f48271b3017ca7e401a3481008bdf19963569cd4ec3ff606df9242a6261693061f476a4cd96a2c1ef47ca119f91b29d7f9a0b060560a85ddc4ff6573f6b6e3ed424518e044945cb06347f54de4fa6125be0c0c0eabd2b638604671d15767249abffa3b24a92646f8bf2464ae9f6d4ca153e9685b1d23659a365f5421c627217720fcdc45664435c3ac82984d29af8d40b6f4702b9892603066dffd7c3cd728504459ee56abf9e0c1c268043083707c2b6c062696d39ed90bb45e1eb050c2eb5157bb59630eaf5a7989ae1ba155b4fa3fea531c3a7d8d8690942e271277572054f4b642f993602587bc35da4611e5c263db4ac2295455a75b1a4044d7fc04cd492447511611b762e9ae1c5e7723d015b4de38bdee2f87fac3eb262fffba77207d11374e36bd17afee6f8a65c561f15584fe02f1ac82e7ef5ed790c26af2d72fd7fd8ccd7ae2c321dcdc57f5d02185242d630baf4b8d03ad543168a605d4472075ac42c87e3f47545e4e944bbbb940e12d53591dd14268d9e2411d8bc28df721edb8c85ec09370ba9c29541f8bcd54b75d003ed9223510c40d58022954ac27254e77414fca0cc54382af6b92ded9a26526bc6c95b57fc4864d9cf234fb52c72c4a14121ecd06e156badc1fd1fbc097ecf14578f44b67a47fb9c39d2c39ca572ef5e582d15a6183394e12cea49b24309ccdb8ac59e6ac61d3bc7f5fc8a71af2f779eebc5b4e75fc460ebec06048b372b98e693f76146e7dc196056a95da460727dca6b1c7b21e7f6c6e98b5798e6d76700249fb42a13409e6a3929a8f4cd2337893435af2bb79b81a99fadcb7ad18cc3266f1cd4f22402fe8b8c934f7d8f1f721ffebc4035a67718870a9cb440324c149aedabb31778402a3236866d194a160e2153ec4aa2338281cc56dae659ac907bb92f0e247e15c52395000e4400911f42369a3aca797b7c4222174de1d0ba6a678a7f434ec09676a4dbaacef38bc0d2729ddfbd8a96f8f3f03f7e112291bb74d682158cab6b7689cf5f78f802faf4a872655325660dbae5199687c7f346f3c55f98356b41640569ae13f433f543a74d1d72e695fa7e34d23920725bbfd13c839279431205bb3655aae2872e23afd6ed08d42bcba80bbe5aed855f6c74d68eb6f9ee4567198becded87b9858145070846b0c0e466cbf41b8b370501f0f381ad2f3b0748be2c13d69971be6a43568d9eb722fac753c88c2f3d7d660a87b4d77684df0e44dcec9ab8dee908395ed306b2a0dbb2fef006631ae55a7c4388874d381b280200d4bbdf16be86470a3b27727924f38af0c7506a1c64f67d056133b91b22cd2cc87689c4f7b2cd2c00e4d6b9ca12a29236e155ca3e9d3fed23cf2ffc620a9fbec6041ede65bb8d4f79a87dff81c4105e5f45f32cb88d7cd8eae6e44321ce485d7807000b5ebe15a09bee45a67d5204a391dbb7ec2556eda7df74009989342c2e81f81cc6561e0bc115099c65c6e4bb7da8ff00aa16d2b622d8118bc1a216e99e38ff3e441b582e10d523d5763ad7291d8043fbd4105d7221c070aa480813ec1ecea10af946a6013bf9b02c23cc37275227ddb410c445416a80945e8611f11ac507f2bd515fc5012674a45dba6ce72f42c4545f91ba5b5e5db00a2013bad9ba95c838dfb35a2b4a2e9ee2a588aa77299ed025535657d164fdbfe71db56d5c4cd845b734b4499e3c2b9907febc71f1e87a8b11304965a66012eff4872e6edde0fd0b5076081dec2dd3b9173a28571720c6af5d35d9c7f98ecea082867674d2199a0da3e1094bbc7536534f3cbce0372b9dc10c8d55103f072b637436c5f7e1d916f33aebc596b265824547ee39375724fcef0988f6c824dbe24c6cb74e7153d2641003deebc3045bbc23f1695ff2a2ded7876156bd0b9e90349148b5a4ff5c15419e331566b216baee46bc5ed0ca925fb35bd6902300eb3fb915695f368ffddfcb016d4297eaba850dc1e4a0d90956dd07df7817171cfee63237f665bc5eb9f9907a7a2e6fb802cc2197e63f02a0572e78225e7f6763af2d09117024dd29e0d26fffede89f809b3c7eae7b395c7c02b69510ab70f2616fa08fdece2edc57d28d20419ca60263cc94877ac77e663c072ab556937e7c0d3b9d8c5fa2ee0f36b407e0529f12321266afa0dd39a24660a371bf11021f2b5008926a5e1f71a39d2869fb5994032e091782ee99d6e3a8a671de4beed2149069c44082a0008b026bf72db75cfc00a6bbfb8fbe37bde8453cf5fa92584d3a4e5a679b2ed8571ccca6270a967c7cd8640f076c65f1a4371f058726658b2208dc97cb70d1548ad1de9c001a04da2a49528d5582d10108352881b720f730e57cf82e40c56fb4b9b1594209ddc0359519467beba7315c2ed8fd2785aba859fc51bc1a403478864dfd1848185ead9939f4a415dbc06f65c3392e8f7158843c167b0def16ddf858a5743f1106e80376bd86a7230e1828d24cf46a2b1727e7fe835f8e4046580cb92b34128ee3ab20f6b7a2484250775c08978ff8357726f755df44c1032ad9aeef544ad0d2af3b0e9b80db47daafc5a7dc40b706b51723d234e78a4e97b5d5d55fe7d850c5b1f64c950b65ae0ecd340f85e64369f7972e8658e02abf33db61c955de0ab4ed7028c20dea1a6e803a5b06f81117f9ea77259f097a4c04eb1ef2673650546380db6ce0c450b7a03e1fed0344cd06c29ba72af66d30c354854975477dd43a3832fcccd9e7a1e8b27f3491a59f58f7bd81c5d5647708988c5ad658520481d9220157e3ef4f7bef8a7d912600ed2bf56e86d7257b83713558e7f139181682fd6831db8b17e42cdefa836f2cf07ff4ca64cee171d09f2646e16294d721d1a80a582d46564d05c89a41076d3051be125668e46246b2221a1ea19f359d7dba145167345731ea6caa92d64a4e2a81131b569e549728224d6e4828410db99a58004a1d63eaf142a5551c7e271b9349a619dd9d5a0602a67eb99cd291d0e8f6d06eba204079b17d0c045c64be80077b8c786b744f916b5de4d33edcb127a877d789480672cd4e81e046dc8380dacb01020c29bebfa72564a86f4c907e0521f1a14dcdc94876ca84bc7d977c0f30c07a664dbf43316724ca96aa5f6f8864c6d4b9ba613ed401c0fc6e024b68014a5fefa71db87d5597142d7e25eda27732c76186d5925cdd34e2a627d5a25e75a16d5ccae40bb1d891f4f63d13836e5ffa7eb8aa3a2cb49781b35363a66fcf01e760cfd009d6a19ca6cdfaa0a57de7b4822dad5dfb1dd255a996b8aadb0d5a4b7293c315a7f47e4bd11d7fa39cae64da02dd8f269a8457dc2a917ea101d16d3b45cdd65e3714c9d5672a328471e4c9c772021f1b4ccf1e4c8eb936d900a89cd609167f2220d389627722abf08fe6631b395f5c4e95d03e2278612880568b8cb9e00af254e8c2acb4272c4a27490ef1753acd7c1336b5ef352338c105c7f1b7afa5329cd6b483ce67372dc3fcb7e6f0e7ca4374529fca4cfd89e6931575a2ceb4f66d26e35c7a02a0b0d2c6fcea60d96eb09219a2b9abc1f7cf3c10e60be9f1a40cf3df370ffb5b8b972cedef04f3c0713bb83e8121776a9c09eb82cf616209f2607a6545559918e185df8445040326e2ee020f166e7e44d0dee50e8c864ab62dec670430fa055024b4a852e85e2cf715de2308ef10c79226caa38b08d8c840f1a688453e840f4e37f485100b30c53e691452fa457d568612703fa2e0046f1feab9524bf82f53577f4723558597f00d38b1ef6c9a8d98a2484f054bcbcbac69f8e555d4a336cdcf0d17261e438f3741e9ee89ff6615dcb349f3cbaf28a54c5cd163223fe10f08dd912729619b54b32a00c2ce3a63dd3f878c55f5a3e5a40b177261de6c86379036131722db890c6db6d351dc8f1ed0e03d69dfa0efb14f55d74e8f87be47979d9a669723bcc336b6f6de98bc0ffdf8ac2067933c4683532caaf951499ca31ab72cbb0729ad0d37313ac5c3640455ee352c743622cc0a9dccbe0f10e190630f32f456704d9c73e1e7c28d7796671c9d3b99db1c596975bd3b8a732e7ec5e72f9b178d372ab270df6e74b3fb9cb61624fdf8c0515375788d168465aca781fbd3beac05272e33909535ee0be14f8c7bd1497555ebb734b622b210c8a4498eb26909349c972d6a460afcca0d9e29391be470daa7ba13c14190da23987d6de5331df31a2cb72530be0bf8ebd215ce31fb1478566e53bb19bd0f38bdc9477a73fab38e670ed72a446475cdd4a71ca70486cfd266fa00aea14990f9be6c8f844dbaf7073a1d666f2afe70c85cc508e21a571c5cd89ded7236728bc0f5554c6415ae92e20443f7252ca16308aadbeb70dca47b8aeb274dbd3ae2e4ca0d463126e8a4be07aa6f0721fe07832a5902a8d160e069ddf5caaaa5d808f4cf743463493cb7c8d65da033f8acac2230af284bd771c83a0d9331b9d5ca44ee1795b53fd3a587ce4aba942722f849d6016c0992034b4ed271b1478c24a6d9888c4192a043d713971f8e240211e5c87c810d342a3e29e99db0b2184e77cc3308cc744d70b60b355c2c694e972c465629fcbb896fbfa7d3d9140c8ba427b3917ea498a093956dd8704cc9b41729b1e51c2997458d26837fa03e7739a13580d415e6d954eaaa90b8e2d05d04d29794c576a07c04d2aa4ee32ee53ca180f788bc6bef0a6b93b4631082513f6d6390e3e4c90e6948bd9fccaeea62bc8994a4cf673cfe758dff938e9539089673a72ffee7dc065670469c3bb567d5aeecfc6209326e39b940e33fa1086fda0b36072fa39b5842068d81a8f6eefc80258bd465320f950f47c955b837ef8ae7964d030801eceb2748758e40f3770314cb21bb33ea63d5ffba2ec4bef7191c6d598d672ecb95163d20604656160fcdd01ce4980285f743c154f308cf4e8f13336e53a72963bc1de0eda1bb2b069bb97cda0392e884678d858d006e5ebc140f8bb8ab139eb7e9b4d73b73b7ff80569305195d4bfaab20f7621d74b6e103da9f65ce93d2b0bea16fe3543ca98511345a19c1bf69e834a65329c7c5ad2d89acea7e2bb7c72c063156f9393b1ffcd44241bc04744a29f349d90a808352b82ac26f2b20624721e7fe1fd2284f5b1ce3b13565b86fb3b40d2e753dcf1749da49421c4635b41432b6a323f609ced26805529b35d29458cf62e831c88b41821806392c0726b166842705ca30ee96a10f59bbe5a27c7627c244343c3d8d68f065e256efc99c20d51361bdf15b9ff7fc203e756ecbf3c5b41bf6f2dc003a0b9fbb5db394a904a2072e3171ede7ab4721e053be87204debddf779ec074855beac608d97415a96ce272877ba4546e4c7a3b8091163578e4134285cf4fff5bf0e17b814d419dc459ce5885a57cd8b2e5f71c11aeac2c76aaf01e8e67d7a57d1089c83cf45cb8240bf247e732ff8454e39428060004870422a3b42da2daae469a335c903f6f24663ebf7203b75f46d918aaaf5222dc5f3e45f1225673ecaec826227705d3dbd0c2fd3f72295416a73b3772e1b4e45bc05281b0a798d95ba3ab75d7923ff9670a9b437f598043d388fab3620af3663e0309ba6803dd465e4030c8f583c2c93be7682ad57202bcae5f3c2503ef9604c6bb95f33229b861fbeeee8bb3dc1cd14f397c331a53394338542f3ae3839add8b8e7e8eeea8c8139975c6b5d4214e466c45f1a33b728f9d041865f8babb6364bbea645115953019c07783dde79dd696fc1666624e722371a8982f4bd8626b43217018e696e3698c0f097630403d44d3b1a57456f00a98010285b7e3882f5d06117d95417a56c0c39cf1601d607af0a63a94b0600e31fd9fe46fb525f3a2c9ea349f7719a391c0bd793a0be71934db68e4d6e5bdfd72d617eb8073cf3d2e1207854dd35d7ef5d33187f812412ee7e12c2e561bbfed3e0b8b440b55b366d9b337961e2e9a20f0a5c3dfb38eed010fc26f025ed5a01d528e0429424d94c2a44e4a261b29ed9a085b634f810ce37497fe887ec988fcda09a2e482b32b39dcda857d0779ac9566320fa1c2051b2cbf4c6b4885010c30231ed0e549d09eb4cecd7e96aa637b44d6b477b6bd31f0db17d26b3315deaad46f726a2ab9e9d5fe81234c08aa8ad052df2122ed4ddbd76559330ba6b314800ab772d27b48cf335633535d4918cc4b1687136c2971714c7578b4f5b8a157b2fb7a72740f81688e351aabe03819a1800367454e1011d79075b9dea3c659c9b29fa772792ea5f1f4b74279ebe1cdce1aa5f048f3f119a94039613a63037106a814824134ace40389029ea6c1dbacf5026782edba20e07235f2f565966025a999d75f15b5258aad6746757e05f3fe1345157e47f1255a4ee085978cb31965d9df49e965f4396c20d3237a25afcca815dd29d9573b71000453e6950de6963d4cf06e090c2184b34a62a5a96ab5d8e08549e2404aa8980ee95d361d5e40fe2a8de2aabf72b0117682653ea6a6db2bba6c1740110e8b8bb5b7d34c06bf4ab8577432d1fe72e74dd8a4bf5ac0a9e4260f885bcfd60057804cf2cd68d82d14067596964128722cae8b00913b9b727d7d5df396e010011f811982a01524840bccb3e1131df572f6c2445b38bda3858430e98264b8f53fa0b400b0460eaffad4a626963e5f09226b3f4f6beeeeb06c30ba63fef366f13de878be6e8130b3f721779fd9f4e6b83c0127fbe3a89c23ea40e5e32959769e03c8a9e1aa9be3647e1d1702e710952472be1d36f92a2ea1e7c426c9ac731d8a28ada1fc29776eef8201bbf6df0fc53872b61395948c92ca6f72944a97ffe320f46d1676a02d9003dc0d7f3dad1f422d7252e393ac36882e4fadaaae1b46fb12245d15d3d4c2743e4349dc027f7d130572f76c7aed69fbb36e55a6e86f33fab8d70d294f9e6f4871ca8fb7a4ea02211372a988a260f5393d594491558795ef229dec8085ead80da0f45434730fb8efce64ad5db99762dd23584cace313c9520eb05822a3bb42ab50a695aa22c58db39c725c7c7205d0cb5b2fe727c92512386e6499ee79767b1d06b8edded1955992a30ff0edc81444d6147524dc4b8de850041aa9990035c2863ce5e969cfc1833e126a21ba5428a5b0570088248125c4698196f885c824bc607634e3fccee1dd4b437274c7dac162cad58103771aa88e90028430e329dd868327f01e9ee5a34215e07203051b19ba89e69786643b19ca1ddb51927db0e65f9edc79c298e3feefd40372ad21dda227c7ac87159bea20c62cd139ca8093d21524ecd3174e462d0be0444f7d8fc893f39fdd36b3507e21404d537dddf37b23c3786378bd2a97be35ec1972d6b34b628a8e456f8e2396b95630da92e974dcee9de1cbcdff5e2897a8660b020eb917dd91f3f61ba29130a47345481adbf00f156e82d3f6150228ae471f4c724cd64c43f11808867cddb6cdd563dc5cbd93b7abbd9cd87c03799c85cc39de219a922ebb3d1707cebb16c236932ace7041a402c5882d86082bd23aa37cd4963467bec1fcf03f064fecfa1b6ef0033733a07d35ec5b5d09f3104e091ee318cb70829d4c3b8f8a027f02ad90567de77a9d47d4aaac235910a77ab99f8f5d7e434747bea17248ff68ecff8cf1b25dcc74598ad67c990a06d171d547760cb7210e1492e8e15ba6b5a6021c9d5099cb66ba9de0eb2613c626040780177e298e77ec725a482509f6f99619625bbadb36a1373322dcbba2f55944358623b8f1c53a097291e4f32fde04d79b0c9695961eb96b7649ac04d447d878f6fb9053f64eba8013c6a79c2f08ca36de087b2c1a3e627f100ae10e118bba70fa2eae255f740ee32264c7a5349adb8cbea96d0fb5b8308762d37235d61b394c82edf3137ffdd0a672f87d6af5e108fe9dff7ddc4d49b70622b4724f895d4bffdbb30d0d00e2f81272d29c0de79524e1c76cfbd0728b03841e1a76287b697b7e57de4b18a1a5d45272e2262765f411b730cd5cb7e1ff980b5f3bbb5b2c9596145cd726f0f0f62a6a72311754291d8a0a414ece799d4558033a97bf63be9e0e263e868358d3ee27f8391ce98d20abc2b958c9f90e0877e234d75ed27ff02ad3d40ded936a8b32524d72a71d40eda8533046b6959110eb15cda356e965d2ab89122afd8b59ab34eadd5bdff48d0b97f8bbff7f04083dc347f2f7f28830d842d4dc571c5b3513eda813724cb55be0fa2122be987d9be5b09bd3bf7866c00da28c36664f6b91cfd5442f0b08a83d1650aad2616fb94c4aafebbc3a8f03c82c3ec67816769df7d970f909720e0b267ee241207b6531b68f31eaf6cbc64e8e8225aedbe1d7a87d22fccf4a726d07f89503d96629bd74c679513327cfcc47e6e55087b269ff8ba9a5d51a7472fe8c4c5625ed944ab01c0305507ebd60b3f8c0545fa4f3c332296e8c1527f951f99c82bf7983d3698a63a428792b66a162ad8a308ebbd1050647ab8c86b7e065e4b7b6b62b3b36455b3f053007b1ad82f7719f5c7a730fd07745a6a99c66e24fcba16b9b168aa58f5445d0401e1e98bf11527313de92521002128ed9f381d5230f2abb7b6dcd4acbaced24ba26c4dbd20dedee6ed70ab1ea270f45319de58606cf333e8d87369603266247af46ea4794a812d896841c3ee1cf4b3be80683e472d13e011ba419ef523e4f9169eddbadd0f9dd3dbeda5dbd293480d9d8005f602e95d5741588bd9903eb6342bdc6ebc3ddb827cd889f38c836046f1b7273208472775cad251a524615c02912eaebe80836b4c082f44ba33438315b02e962bc0172126d0dfdb8d29bd3ca57749b1b688a0f874ded2ea6dfeb63d0404c54d38c19720737bfca08db9b38313b376ab2062ea2ddfe46337f1eb1b766cbd095d7f2ed40f388f4136404d48a9dc022e0ffa3391f64d1872622fe16e7a7867de20e2adf16eb9f8ce6834c02b57966bbd5d952cc1aec468dc021412c7addc16ffc495be76146921fe6e8d00ae02c21a0bc61c352374ab45c232eacc51d7e70e56422d27c7268e913b0d2af8424d93ccb15f0a0d87ca15c23fedd9c981aa187ca6a20790372c6b18540aa5b2711560b0d38105eb42cea6862e9012e9ab057d62d9718fb8c7247fa40984d9e9c645531687987675dd1b73ee9724b3136fb8e91533778a0a772392d7f642b46dc859fe4897cfe2ae055417dc9705763e3f50819e8d98ad8d004f9269ff1b293ec699191fcce7916bcad1b78e32faf7b5d59aa54ebaa614ee261272e17de4139e2b598f063ea1654bec3bb83c335c7d2b7d183a0425b98df5c05ab72e843d130f713ecf4604c6680e741097a3e5afe9061f0e226cac86ce3d6219701224229606d75027df337b91072a7bf9f68aeb3a95423dc38d68655d76f72a62e144fb0c0d35aa05bfaf636fe2764f6876c942950cc2a91c050a8402c107294d8b433234ed83f6d9cc56a011b653b445b8523b0e1b3ae66e597930047b61c60eb7c6a0a83cd6488043237d5e2978c2eef187a7bce60f6156caca85ed2837240c8cdd8091d95fdc34653dcc7c71aed9e47a54aa8ea33a429fa87558c0cca72cbf457afa7d26e01927f9c0c2d251f5677c33338ec39b52c73aa69f316167572bbd31ee051a4301351bd67f98480bfdd8a43d384f22236f84af3b16430dad97231744e9d4e37384f79f7ea4d02ae16678eab9525ea26584311256d28a818bb725acd5f85b67560f0ede5eb0c075e585d1b97471aaed04e4861d386e3556d2b7286f36688c6ca4f905a47ed39e0ba58f87d4507c80edf7a8b69da730ce1ef4b4e769e27b1e6d9657da9f6f25dfb678b30a31f1037d06d718fb641f2a27e2b2a4abd8610ca6aad4532c82005ab146185c89eb2c6029aafd8f7949d16e70aa7911c375db65c90ed0ead5425eeb03c47bf2502482600c73d975d785f78b7e9ad2172f21e6cbaf9422d7e8d39ed819ba33b16cded2545459b706e9a424d2af5b9d572cbd904cbe7dbd80c29a2dcbc8b2785d1c83ea6dacc3fc3c450a8d09ad8335236d33447215db6d2691e19d6f23b5d06075e1d9813403fd07b049d9dc69ad8304ec441b7731a7c7e15c368050918055ed96aa5cfa2315ba87055abf68eac0e974bf7c656f6f44dd134e6595e8c62dc7593c630e530d672f3e382d21389f24b2c3df17524d17ed50dccb8f18d0116441bafa104204b2faedfd3eeafed443652f66139e922512320907a1a0705cdc7ca85d77689033a35cbd2e9993b5eed314ef772fad8cdc6355f5116087c05e7f61f89cca3c76121ee16977e75b98cad46ac8072bed62bfe99b3261f851d70004d46c2f22d46fc613cd0434d970e0e2e3133e372cdd7b922928bd77a0515452df1a1534a72bedae99f3d985747754640d1c2bb60eb24e10bc1b9bec6a5541da42f5d76cbb001347e752293c8357df6e67e40fb32ca95bfdbacd3a976340a0ae73a1b8fe87964f7c97ed4081636bee2583af08f7268059b52b2270ec84bd517d994a98b41d6a59837b907c044517811392bdcc072304773de89ae57dea0c623fd9e508ad0de8540e1292a0972ac63248d0901e572ad9d9cb31278d0b6021f8b5a2ab16a3146a2c7f7bed8145396182898d3bf8c72b1ecba2932b76f1a5ef04983efa290c5cf1f324042ad23c77b7e351add5c4f720eda067b85f846570d91be151d9bf8451b780c9327d1ab1a383f7b28bdfb567226c8aa1cb05fde3f40713c2a6542aa49b6dac1ad562283b1383aa8c8e786906b41f5b20a8232817c4cb827710bf6dcbccd270f63b4d23255d2aaf222d3d4be72c7f874259f73ed900ee7034fd850afc80d9e924b21f062bb7f56e0d63bc1677292c1843a82f65a386d80895efb4837685e9baf33f6b2c351337419672fbefe727f6ccbd02f4de2a08cb1fcd0ba7e7816a462be8b3061a79a31a315a8807a716f9ddf2310bf62471a592a659c81c6a7d666981517e68bcf755e3aaab29d5c0062970aedc4133b85cf64502ae5e7a98fbade1379cb22940770b4677e64677be2727b65625473ae346c567848897f5482d735bd497b4b332e2e836a07bd593f3614c40a57d68851f822f4a7db191d5cbd7c49e1de3b6ae9510b7f7c41844e63e072a6c3abf497c63b38eaf27058e1c157d541f703279af818b62cb8dd48a891327210897b97068490362b359cd20975f9cc14575782adcff6bffb090803abd546721e33caaccf07a1a7552b8045a9ed15477ae54587093036ea1d50fe151dffcd72c8168a7fc028b33abe935fd9640e6d80e9d06ba1758553e16c1cdb1d42a30a7240b20654996112cf9f6b93c0ea48ca9d92724e6866adba260104fb61320e2f7249acecff9184982e0a23429b32b58fe1a0810930c56eac2d836b0546a618d50ab721f20ba21e1528c43eec783984397d775f24076514ff30a32ede2a6be86e72edf5ce1cedbb7ad2002cb0f8eb527187f165edd9df162214c385696c54ead172d020d8cf7dd91100a9cc83d8e4744f597d19cde74c7493c5e86aa6b571d1847276b292c173b3400391f1e68491f78928c9c8f66bcfa1d010e10d7b0d834018726ae52ceddf04fea15743196b74ba06d9121d8f7d1f7373c11561b46d7898b67060cc7aa008eb979452e35c43c14c51e308081513c55b68301df091f21a3bda3e82215c980fd8f9d1558800c93de56583f37be408751c379f12f871c4667c317222691e69af8ffbef4930641a84eaec2ebdeae30fc37676e672dcc50b163cb372c91311d9adf66c866b33b5b56f6577cb6ac5564bd802a9dc4695fc4275f9bf4d226dbafade49fe8a614675d2f7e63cb79d3181bde3142d003834221b28e5687232753a7d1940e6a9567b0224ff9b82775bc8b3b4ab040f02f248b2479eac2272ff735da736deaa617aa774194222a3dce85cf9504ba0b20f631d9f3a85172a72a2b9a830da1e54595c07cf53afeb6d2e9337b8f5d49a5c242f61decd6cfe7f720323899985d464c476c589650c48667c5bd1d6818cdb88d7e4b0c5c0490e54314b6b923867ef3e1b684882ec19f65f9549269d9cad249e183974d31590f6645547a18c611dfcf0cdc8a996d1bcbc7434b9a30664237a4c408e79e4160517c835ac6a428ef428fd57c7f2738ea93dcc7e20960ca70759c8b0ec416dde8283d9726d8a9f9e0a1192c8eb5cbde5f5c4626edea7582899a1a489d0fc2a4edc939a72feb206faa464082b8e72e3eafac15bc0e889b87fcbdca497d1ea4712d9706b72b09155853c13bb9523e45970b88cb3d490d539326af1333e6edffa7d5891cb728f2ca7b9c1418692647ebb05185fdc6c2155170f0e29b0c2eb95702e24c0055720b720d83cba6915009c93f85de1c97695119e5f4cb777a9a42494092dc841725bf33fdcae03b862e9a59c2f8ffabcc41b3c86086483fa77af68a561c46c0272ce13958eac0f7fd9dfe35c323da814ec310a639ea563b5af085cff74d5153e14acf45003e90b5c4bded6361db44b97bf40f987e2e45baa41e9912c5a2cc8f1403b830fc5632cc05b33567bf777cea07c7bb658df6154f1ebe5fe8f3697fc5b723072f9cbef2506f01e493c05bff5122bd53ff6f49ce3142f81dd4b20194939724cd029c9e459ff083799e751dc773cd50303b06922236547c9076a437c59a24357ca9a3fc1f346f0ec328952f23a37219dd23bad33dc8aeda15fa9b3ac688b2ab72dd28733884fcccc96cb14941a81b1f3818dcb5c765c80cbda770c78eb9272ccb5f2579ec74580d0e71dde512341377a3ab60bcc580ef1d2dcb780f140687224a757bc71ae56348f185178b8073ab27c2a7b0a928b3f7434c0827fcd4a9d7268360c96f0126df57637c9edca6673f8b178229b9dced359be0762da3efa9372a0559b2990a9f00e03f8e42307845739040748940e3a391b26f8190cb7bbd95830240f0ef784700b6ef89411d7eaf04d82663bbd1ed23b7fd8122b1561284f72c65449ed7fa9276c056d2f030576c1a194bf5afe6d23f62df44e99ca1f9c5c23fdf20511b94d8b371c56a2ff10c0a871b15d462c0fd77421cbf1a7720d6d264f0ad1ef78c10728c84405371e7ef9f8e68d0ff78cd58da80e77dc4adef756fe7227a33207aff1470365b4d03a8e44db6d258ecc716e986667437a9e9722532e2eb4f5ab1139fd85df6e674bca8f1a2e7b7bdaa720c1cff5491e5133387c6035725c66a4f8fb7bdb52f201d34bcd4541e5090198a666e1d0baaa5003243bd9b03d35a859aa1af46004cdd41e053447fdae6d054f5db899ac2e9c9c066b610e1672eceae2e7fb523c89c6975c0d72289d3df0a8e77fb1f1ee8ef4612b82fa2cd7728ac192ed6eebb0e563ba5c0625f7a37ed65db47d3faf2dab9cced9f764fbc57212f338c9e02a45c49455b608f47eec61b1a9a18dea862aad468cc4f848ebde33df0c6ae294415f3d6f1a415ff05fc74e6bbfa5bca0d60cfea26a15fab0bf313dd831ae3dc0ad92d843ab23b542a9bd814e1a9c88abd8390618d2f709aae9c40172d1a2ea08b519675edb94f1d53f9afd8543d73721abcf700a47c7f2501abf1293749adb4b14bf267f74d694cd572ff07b3cb4c28100d8988004b0fbde582172adfde39288e53f7b9f0f4537a0d03e8580bdbea5dd04d70683101d9e0c63ae72d04156a42607b72c19c7f4053b64f39be7b795f1aa2299326a1864444959ad723164564919826182273edd98686b8dffab076b18711528242fd3db1c9dabdd39d1adb1c64d21d11581940716e0a2b68382f36e0173f2a153a7ba8d28bbc04a724aa396fc646e350ccf9d12b3c6a5ce1aa10a60e48dcf87ba7f703c7264f947052290ee38da34c7867c72fb7fbb34608061626c1fca4b0a1dd44869d667550e72dc7b8ed8aee50f14d5faef7c19c62213355f4ccf708bdd66dc66a0f94dbccd725df44e198d5afc8246c328fdfd64883b444daf69eee57103cddf3e4e11aadd727a9c33b330424e9ef0d9f6e05a7c236c6c4533f7ef1c42b409a993f10c2fd9522b4e5a26cdfc77c96b378169a63386c24f2c0f4816b4b10a21d3e13bb623d62daa419f89fed785b8cd033bc732d5589a9151c3edc48a8c1d5f17089e70cc0f726e3727da42050dea38f3b1c2f93c5e89bb439e7926a4935100e7159a38dca00f92b80e9be8dd4b90081a54631e92838da2b5984b9e697412cf103df6496cca72ca82db626e6e6ef011513df90cab7a69587e5a865fbf0d3fa7016a53e19f607264c72169fbfa15c0d72a0d0a14cc3dfecbf651a4786056c146465c8702f74d5db1387e8bd44cf69416bfb6934c985a14035be5437b310c8503cf5a0d6f637e0661f0f715727d0ae25003ea6405daeb59867d0684c54f16ccfd238c92c066e94cb5f9480f96045869ecbf549ee771d93e0b6e0419770027e590a2187935aac45338e762da5f975fd9ad7f89d7cd6760336d0fddaf390415b5c753d3e28c210c69a0672e0b701949cb98633a64e1c4899f5ebe08c66277a0987ae33b823043dd42230caa30fa343cef9b614f92452206a91f823f44aa0ac310f0cc8bc5cdc6ec721d5ea22e0b9d368a5575aac7fac53666bc19f82fddcd148a0e99d658ae2797727da90236142e89dd85672e52fb68704391c16c59e389e3c3b1c5b8a5922977728f79e5f52c862d076ba7cd0005f2a53cebc1470bbfa6bf5c7d95a8d7d8f5a4262191fa6d7ca5da329bad7c67e286f4d82896d65459e7dca4e18d6fe3cbb89e728ff4e9224a6ecadc3f41f1365a59eeaab43696579348724c0cdc62fe21c94f3d3bf4ed82248840ab58d5dbeffe42f90d0b66cce15cd0539e8eac96e49e0d7f72955d4c96b6470330b9e373e9677de1f4bfe50563905c352018ee3eac7e1168728cdf5088c830c616bcbcf948f22d8074f4dd583bab1f6cc67386dcef092edc54a77602711ee5b5f1c61b8d0854f744a2524adcc20c68b3063fa91d6b9e555e72cb90849d14e18a037c5e57405d29368ed03e51d12b0dc9db016fa0c4ee8b3b720dd1335403d257bd5d5d35d6bb6a8f99f7878fb681513bc2c5024921bc331072ba4609a12c7b68a9da5765bd6d1eabaa443561475c857222d7b928e4aa7edc72d4331eb829daa8eb89cf3e1e9b4cfa2b85ae242a578d76db0096cbc5576ac872f6738b0ef6eef9e00f3fd3225ca0eb2a43f0341bd4f75eda65bcf73df7840472a928796a9458d7f3ff6ddc49ee791aea8d7928abac2e29c910408c597f43f372769e51a96363c69cf301a93c7a9637acb4537bfeebfe9659b242dd34ed159572f8cd82bf1457732957b673500ae30dbf00fb0816f1350c2bebff4563d669b2729bcd631953ccf63aa5670eee0daddc253c79ffbd48691d83d1345056eb082d7209e015565aef7689ac42fb3c44ecb19f144ff3f2f4984df8dcb70b50966c7c727ac5f5125b473832751559c16ebe17b3d54a3e0a54f7037568c762c6df078b3a0b36cc3ceb253ec9b2eabb9b6daf4c21f2351d905c3610c0254dbd384a8c9c721703cd7a76aa80030df0d1d0186419c76f9f4f1a6bebbc0da4b2875049465d585e44292a4cbc02a3ae014182116a87fa77b28015ba84288d8ecd51748c29fd724f733df538d604bea92efc1a23d6fa781ed5f1cbad9a125c6fcb2408aeee8f726cb11abbf466b208a988ba6034b25f2976bba06b2af1bc6be2c2d9029fc7f542c58df38defaf8b9e392e76951e82afb34d2d51f499d6052cd23d289f6f4dcd72823561d25127cbffac63454f28f9255e052daef138ea12526e4b50ef05a0964a0f5762ab4f9419b9c0175bba4273b55d191fd2a9b789eff31b470b0c62651b72aa1e7c2a6c27c3dec7beb9ebde731451feff7bd4bc50fc3843bea9c9a8951272e90ce282cf635dbc9a7c4114d0989235e8280b675f8f59304c10d12f23758872cf9c322c76a7107db4976196aa2a0935f7ba361b781fbf59297c88b6105eca71666b9c06e4b7fa3073904a4c1b81f29f55dc2b9f86585572a943937f313aa362296eb7a592c660ddc86f281c49b4b926265ff13f33fec2622ba367899e6189310c881addda3ddea373442f350677a3d1546f139d13c4b2c23f8fe1d94c323672feb48348a3ebd38d538ac2f505f886cd403d187eeaaefd37c1c7a7105d2a0672e3f4e45ddc864b98efcda672977e7a2268fe6492719d8ef09a815e1eb0cac8390798af65d28b18bd96cf6810cc0e14667125c2c306e6b42af21916946e775e0d9bacd327f45a609053dbaf544b3c1a749cff7652715b7d0a10cf7255b0b2df3ed68f8cb58bb8cc307f8f758642c88cc662f6df1c42eb1bc8d41c9c56c4f8c4662522905377e8dfe5720cb2e4e4c7a1a7eb4ca310eecc7beccfa12f54d5d66972a7a4b5c3aff8c1db10059e5e1152064014a28c4901aaec86c769feab7b8baf5ca54ebca9169636c316542e4c0d70b7b95af4d2fbcfd682f689455c239162707289a81156721eccb6180f0b08babd7d27ba3272213adcead771dacc7abe38724682459823a7cf07ec899d9541c0d52ffbc47ca20077db4998d0e4a61c77128972700223f718851b56b9eb62f707d5667da4d2678a9358a0c1abee6de14c3a964dc7a6cf03caf6e46c6dd8b5b01be96faea231f033bf49c5ee55af28b4564de072a0c1681ba6b285d6349a3d1c2497aa677d782a8b08e821e3de99b11afc81cc048545f42ef128baea394c67a1540ed3215dc0e63c32a2d21d5980dfafb29d587215d811b9d85d037cbe8c636f86afc7850ed53a763c3a9a8cb253c9ec6c11954fb27509e69d517e9e5c931e8a30f837b6b089934559e019659e4c7cf56ce5fc728d8edcdc8e216924fe8a18bc355f370311ef074c2760e5cca15e5ee1d0cf93727019a360a2d22f5323b2cf3b4c998c72f599357fdda27ca13ea91ab99a3b96660f06cc3da871a7012d49aa365350bfb65564d48c1cbaee571dc0ee1841a14872838540852939545e8161722f5f5d45ac1b915fba4324af3788ae6c0bbf77e972345b5120761f4d28c88d418ae5e5e4f6937fb87bd43d929c441d3cc7e4a03f09c7fe6c8895e12a56c49d2150f79c158c8d1d5b6d1d24c854326064108bae64722202baeef19ab84f700c5b964282e0bec6e89c9e8403ecc3fa52aeee0bf81672295cf6e27d8ef10b9c69468b9f7b9e36bf82a05d8c7c19cdaf0733f169896e724edd6fafa98f8932dd14b8c57923ad6fee742dd324009e0509cffe26e02d256c0ba8f9e95914a754d799bdba4f359dabc8428f748ae54f0dfde6e569a11fb772dda431f7bf0d432851ba21b298337c580c9ed0a71bf42bea94923fb3b7f5dc6384bbdd54f8664f4091281155a79f7c221b282085286ae2a2df90017ea176ba4b491d0ea166aa578b7ea760bcf2141fa76c3f98417e12748a0351a2194e868c31fae42a0ec1870a556bc11495d46e59cb237cd12624ed24e3c9275fbe5540b04857b4d054d8dd4cf575b5f713238dad9ce3871ad8a27867431b578cdffb80cb125e9b0f2a12175453bf350d9609e56b64f71e137bc91abb2c2205608e481441729e9799a9968d42a3606887018e4908b26a3d3cd30ad45ccb6c00a042b2b87457dd0932017ffd2e2a0deb811b95df4b33289c4ddf135e3664f2e8c706079d3a72f5c05b689d8164ab0c5594c36a73688d356e331a50e7f67c27d76c57e692c972bb6803253f2672563573ee2d759158ee8ddbe255641e3f5d77ed0319e8315b1d23f4f96a246e9543211cfd3df61a7734f64f0555ac4b5b9527e81937af08ba724556706749b37a47c44f4d723a96004e0543b877c597b81c9e38569fb5f5bb72c0c16dbe98cdf2801807623a52edfcb80df1ff8556cfe3d981f4510b5fecfd25da2710d3e171d945cb0bc0612241d8d97be7b97af84cdd4c970d814a64808403cde1fdbea50373f6ca66251e93746faf67d28cb27962a3e7b1bd0e56385c9c72e3d7536767936309934747ac34e1e7710383a55383c698ef46ffbf0627de324083b1f6bf91a52d94507cac9b00a9a0c2258e4c31fd4d551ef05c70903ea7c535414950772112c3ef9f21c47a96adafad2bd36581bece1f99816c46099ab9386e3ed6df3f1518d5719c29a81e66a0240afd5d1bdfe9256eceb206cda3c259367295e8b9c49ef4801aebbeec62856d471d69ef9c3e1746b97e690dc8f2b9df2b4783c848230fa7a5417f4fa76dabf07321272d67506f8def1be50ca0fa83af141137a7c4c8bf3e0857a0068d35b44f9eb2f93acbeb991b220d9180aa4bdffde872b68257647a9555b63b156ace35720b2337e456e898d4f85fa44d10eb54e3bc724d9d2affd40b2cb2f73f5646f7dc2267828b5eee4b2c4fa6f83d87cbb2d5c0373dc4178df58b217d19c595eb5a26b03f9743db52b3f881abb170eb7b387f99728c9a019e29e0e3ef33e14e602a6d55a0a92fd0ecc305526de6325eb6521f306dc263a62107cd194c62ca1ff66a8c0e7c5526ebf173e14a9562268493bbbf57105163ebc10aab4de367bf1dfc0a563b2d6d27ac57dfe62468164bcb17d4ad8918f49b90227adb4af67f4a13e7184f510ab250284e85874349862be8d8fdea4c727949adb53d3622816a99b9103463ce5a74f3b43791327b402a996fe8c5b7fd723e33da8cb67c25d735c4465c0b598fef64b09ed8db11108da45b00da0fcf07724e0aba5fce48a80e39fbe34f70c3cfbc7f44dd368ced9356f367147e9b559f726e6e85ca849b84c9bb59cb29d7a05bcb3cdb957d764eee68a41173480892e04507a145e1d6c1af312f74186dda5e15242b7af99d8fad38467ba6ece01bffc072a8fa08ff8c55e6e9f68361dd25540db480abaad33d003c0019bb6cafb1e41472e932a19ea2599a8c0a47ebed045fc6dc76eda66b9664e0433508d1126877927249a8a732fd3572af7099e3957b9f918f7b2738acb5ce8092ea12ce08e73f3f01ce9186d38401ea3a1e745d26c437f4b8dfeb143e9ba0159098fe1df22c64087203d1140f28b3154e838d0dee0e6a93928c160185f5ecf1f111f6df2997aa2972467fc4d946d1c7cef16741c4040f2c8516d1bba10bfc5bc2eca6908783c531726643de2194b9e827552bf34c357d177adff5e9178800794a17ec2f454421b323ca518a0d309c7bc56aa362a7ee2ad82f26e00897a38ee646f1d80ecb86c9cc27579ae3d41223a670cb34dc2f2494c5d60db89439431deed85964f7c87987c6259738d7200f3c130881684b9607099f03f82e3bd90d1a31fa795203b4efaeb97258e61d90742947ee3869c288155505ff4bcfdad447fb561ee4d372be4cbffc724c4e28fb1c6ef8128cd70c2816a30532a8a07c70165cce540f89f3b90dbd2072ab970b8bd4df7ef1c8958b44a4d96b01f91fac2d6e37aa2a785c96fdae2ad95e80a2ccfbc69d7611075bb35ab81c14ecf0d7cb4309f7bb3e5dbe4f2cae610572fa172044b638344b884f30edff60edd63103dc42ae2bdfa697fb26dd4ea8e6010962f0c080243e5f01055991b0e70b7b7ab6d025fc0a0c165eb3a83d4e39121a65fcd964d575b4373d4db707c4b2087bdfe18ff3d9bebbfb886e4c393793541e8bbd39084ae94e38b70aae90dcab0f747341693a46a06cd9171edf9645ee64720e2b885f946766eee5fee4382e70d3f0ea4d6ec823e66c7c08599566ad414272095ad946f58c8c104b3d41bd659574db8989480b5360a6e801b376c60d456b5f6bff4ce4ff3d0f5713f485d0abe18cb4872a03842e4bd48c861161ede426d13d4968f2189f8a5e96ec1be87787f3d90691176963b1670c332cde2d807be81c693d963ea17d205323769e556525375fcfe0e322447c6ad70979fe24fcd54ce872f57b68cd5f9bcec2706ff97f5b72aeba529af537c9128b7ab5e8be469fecf12207f1fb635c2ac989cb8f079c066415406b26f4c1eacc2c90a4c023c730673e72e85dec20df9ecc156d172134b1c8addddc5c24a126e144f5a9bb8c655754ff7269111c315caa5fc572d6a1fc66492bbb52900c3bce39dd4447ef1ee6c9ab08720ebf59970d9774adf1add78586d2dd17d9df82cef33e53b8f34c74bb33e1d2729f822d88c93d687edd383d81e07fb8e659618feb97264d018605607ec0690b729be6a71f508f5ec05b8e21cc15895db9b7100f8669958daaf0ea4118557b7972764dca2609b9d7feba9943673052716b7fd921296a8f404c82cf99efb468ed0847d300c37d0167da30ab60e73eee167c22962821695a18d320a403be8a6d1f7200ddecf559b80bb9da62102c25855fc4bbf948fa88641095d4d21fb94ed85a72691a660168a63e2caa32858e9d249c53abf5c2be518e350f5180ecc329fa496a50cd4e71d571c178e6b0c2631b151534c2498c07a0ea4bb059f464cfd8e50a72bc58bc86f5dd28cb28ae4859f314f173f1fa02adcc342e629a3df990ac494b72c0b63ad9c057a52e862f395733610d7bfea9207a7306fa03e46e9729667b8e72d30c0945daad47cac11f48ab5612cb768a54ef8d7dd1bd6432e7a1a16a0f62725c611b9f321bb472255d371783ca525ed516df9ceb62a6456b1267d72589f30421aa530dd82f7c05035143af3d5b8e3158c4dcadf8feb586e57ba03d1738727280626e9f1cd6626bb43f180ed96b8d5b4958119c16421bc15bbf35fb5f4e92303291104cf73aadb693e2dbd23b27ca8910165907c24e2bce8daf13ce2710a4729e91fabe6c9a63284425fa0bd472097ff115bac205037cd377b375c82b83207244bef1bedd261849ab3e990e4fd0cc57630c3f2697522f902aa7ecafc0489f72a50e245156a3a10f367c3a44698487286b1264690a08251641d3a768ea5ca83f929fe4cae681fe212ac42a160d8d4ef6b2b36fb932a24515002dbfef1070491dd9d2ab34f4033ec499d5eaf07df20dad7bc42e8fba681640495837263b7f9c725b9610d267c71568ae1177364278fba69fe1a3f0bfb98a3eb22460a75bc6db725a891c2370e56a3683284c3f27ce26b30f57ab8570fe07359becc6df60173171a68113d04d811b5256deff96064e8aecb79fdbeda7a1c7a913d2358e5377dc5d553c2c11e62b75d218f6405487b5c0f318bd9b59ba63b24c9381aab556206872b1be7cb515ff5ab2674c119b538ea257dc29e8eb874ffa224a2f08e9c4830a72b7fec51c7963e5166493c6cf9f064f8fd12dddfe718b388ab43ba72d8ab10372dafd7f82702383cac6309676d58fab5b38ccca99b89951374110a6760cd19a7250292d4c61b4f6ab3c3b81820b5f7724f92ac3abf4624e1f7b11565a59bc0872ca904872791637826eba48acce689826b5aa145d566d76e50840cedcb48647725f5e5658638d29ee666b2483c6d9ad5c869e753401b001c98495bcbb02d5156737018d1e354e63f8184d1ca12c10280d64572672c39116e8a90d92f08c63ae723f730c8c1dbed4f440d18c3ec538eb341b40f1145833c39a29c315d6508ba31f4aadf61b70c828ae2e0b07b6e7d39eeb8c79c6f58cb677c9c96b752135277272eb18d1ebb384867d4001caacf3235755103dda0f928ffa04a642ecab9e951b7203dbc3af7817cfff18338929ec90f89584648e7a06f48e49000ba6203763c23ebd350c4c13580643f88f65f6b01fca411f23dc0d85ca1fceaefa5aeae2147c72ec6a892e5836bd78247b955520f9213156883be9fca104ca9c6598d682e5f6212b6874a0dfe32f14413936910c25e6c7f53f0d76a985d5933b9d2a1c12f51a72a30c5114523b8675d6ef365c877a1c7ee5810b18a53ee6f7ddef1a0bf773ad7261f3d09b124d6d141cc4223904e85c92d2f2d02fb8b80e9d2a4d28519363470df86dbce8d9601cad1b7f31fe62880c167fd54504a035d17e20e0f971ce35ab42903a6a6bddfa4f65af9fcbc6577d1c4323c6b9abd2375647ca90080ad9e594725b04650e855b790e3370981900aa9b1267ede01755cdf8922fff486a03e3a17270757a42aabc903109dfe8c2d1e7b6b929d7d5143fbc776ddc3525c60510575d9073cfd391ed165c330f392a7d5808e74d7e8b44b4db22548818c3dd43993560c1b7ff554334bc567ebfb3b72fdb6c75eadf3ae0122f45366c4b3ca826423b72df51a05f1b8b3ea5581b003511115c74a0deff02141cb3ee53a1a613e9dc8f72d0366cc504ef5ebcab278993ec54fefe93d05a0fcb67bc559d090a8ca904e94cc162d2f71602bf84a077a08a35a92c20500ae4d04497aa0d2f60f2568257da72f4a089722d1a97f23f432453ed15f79787b4ffaa4ab6e8c585c4092c3bcbcc72cf6066e1d6ebeb23aad024e441b6fc6c183cbc67e23c52e5b531603f0b109d72ed3a355985f18964cf8b27e106ce3ec6649f9c0e28dfa15d8c6b04f5ca976b1bebc5f66c2819edd8cf898f6a70134e3244071c156a13164431e0388b04053672062768c9c9974d75b00c0bddc18a371aa66ed05c93c9d0ae7a45c17dcec7eb121fff0bd477f4d8a67d90fa65fe329b7e8ff69459ae3d89f9d65213bfab8e83727359839b9d9a0b9d543722f68a471ed2578f7befff524a2ae3cc653c513b0e559593ce40c081e6a4f0dc4fdba470019f7458a7e28a91d8043217a204a5147c7212c4f329d318f1169e744b3ef0f2ebcffcf1ae2fa3e30b8929c408cb8440db7297453ab080be8076c9ef7eb0ffab7820678e7882b20066b8e2c2f69fcb0e4b3826a509208371bf179786eb6f40c5ce128546822078eab57cdb3b557812bb25084fffa9b41d60ebb01cb6fbcf463b711792e34aebddd4f1519500df8cd5ded454410a1400c87bc749e99a498c017d1eb9600be27abbdd962497cc7c038cf50c3acc4c00ecab8c104dc17d95de0e16c01e6db0bcacee98fc5848d06dcf4ffa8f1a70aeae7c650c150ebbffab47f92b8bfeadddccdedcefdad9a6018bc943c88f72453a90b789bf16894e9238eb08cde81600f28c4eb6d8339b5820007eaf10614c6701a7465bd9bf2ced289a298ae7d290052f565f62452d3e5e51fd3ef1d056726a3862eca3d46de2e637abaa863d3ba4215a06f056dd8efdc08c5b96a996e2720dce5e318001fbf7d50f79d0c9ac2875c810d5368d24aebc1c602e0e2c0e8e72c8b44e720d87c7288cad682367bf8757a4c39982c99c2d6affd0661ad90bf37252d086ff2093524a2ecbfcf2e2a6b4dd2fb6afcb9c2a707a05feb08d5b0fca1ad4f1897212121604cf29f515509e934e6c46bf69f03920c074826f636f4a3c7260369e10c8c7a6a720ec9ddb68f2676bc04289781c218ccf747f0f668dd2b272b93325567489d2303629d88e427522ff68c3df60fc4de1868d0554524eed1172896d6e002b2a736267af498282ce393a2c2a6e44957cf19eaf1f043923eae372bb0fac7c00e4d345a2e261bace6bc9af55e440074224b4a0a7faf49eabb3624c1bf475794aa2a70dd9057e59f9d3c9cf9d399026785f99f78a733a8ef722d072bfc852b63e8b2849f0ff497027ec2bf37a39358df0df7a1ed93a43ef191e7b72503253c5240f8ba39884cd58bcc1e72844178803b571bada7d6c79f2ea22c57210451988c9fb4aa113cbaed6e8761706eb4978d0b0b315d76ce186f0422508721eb63490855038713cdf3694a7419cdeef4e139e16ba58efceaa519c6486c97223dc76ff8700de95a015787a73a13153049afc96fa238033f75c93d738636a723cc4748ad843a1fc2e3c0d247dbedccb8c48ad12ed730269fc1e33fec5d5e76aa36bc897446396161dfad47716f94a1fbfdfde7e9b6ea52267119221300e9b725737542a4d28e9a4a5a59a1bd20be8da929943d5e89eab4ac31ce1353b523472d811c794fda09e1c3133ce0db4bc8967e19f6969a0d0606ece966c822b100053ce782274643c2e91191bc83e2c9dff662d93847feb02fff7a2421601f4fa7e6cece486df223fa338fde89bd93b4729fa8651cc47a81aa54769917ea67b8a4072735575a0798e9d7dc366da011b4d967104372232ae49aef634b9dba35435fe71745f2bcdcaa27ceb8cbc91303ad2524214ae35f49561b1507e63763ac5262309dd52780df93f84cfb8935e50fbc5e24466247e126a4a7438df39fae2b187b626c92259f304fdeac61336446bf3e087373152b6b6a56711ddcab9c9b1c5eb74726333cb8597f4cc7f9213e52b85e93d9f11b37c84ecf7e3b3d0a16c131aeb734256ec89f38c044520957230a02ba288588aca65d2d1a5d25200f3ecea0e739a720d29a447bd1a3dede6a6f9021284aa1371d146ac1442e3dba9e45d9a7b639c72d0b29e28804fc2c4dfe737b31007f6768c2431656afe753fd2c05482a436427291858661cbbbd23d77edc29e3f907147bf4ebe8029d997f83c1e1d92c4b47172bdb36e1ed951cc1478b7a8d3a71ed31df9fb76179ddeb91ed800d75374cbea724876cfc178dc91722b9ec7a15d5b9e1e82f2490c00f985f7705839d48a18c34bc0dcc10758a6c7afa9876fa32c768100755558d48f880fc4bbdb2fc791ecf472e56d4449b1a61eff7bf9ab0d88f4eb19484a8a9db62975ff9973c6db316fce723daf44eb456d9d188d4e6eb6ec5a2e95b7c7bc05ad2e016b7a62a04d59167526fc7b9bb65b41eb5e1b6542adc1bbbb88340783bbe2551a9ebd73348badbb577222bc5b14416827d6e90c4cea4ef638c7139617876dd6b77792d00f09da64b838472b2c630d4e5d8f5416cba7a0c76e71a9b252307075f257f8254a741515d071d9c35d65d429720f24ce6051634f76709aa15d37c4b0c4015aa27a62e808ac72aea34bf7578c9382a95ba37559f8b676f5d70107a82bdcc3491acb93d26e3c72d1d13f8f133d19aeecef507284bb8b80cc31b8181eb9d978f4d392c32bb5337293f049a695b5fa84577bf0e95c821ba8981454f7e3c91babf6d515990f251572d94f417ddd632cf1ba7777f1ee8a3c7b808279d8f0795c2585d1e1eaebac4945b19eed0168a9b0661c32f056d557d4221b8a241853bd7b12ea1c978a74a2997242aff7bb58d176e41f9466531b3d2623e070fd6085bd113d81160fe56d77bf72cf8580d2cbba4453bcc9acb9ec2b081ae346b27d17b6552a5e6020ea20417623ed91d2f16c71c549a26bffcf8d989fdad0f10c516043089eb18783b1cf247272fee2cffd0c02e1b73a3e06b411e41b8701b8982a4c96bcb6b5c02ec974c5067267e21fb646406429ec9d97ebcac6c95979c64857d126ed668882d5a7fef99d72a518bc7fa4d0bfa3f434ea048048d63a736494f0359ed5571b7bd5b0e32c3d7215732bb71cd303eaa3f152fb7399257bd3b5ac810cd8bb3a7a7b84b642f57f72a14f7a313d1b39498501a9ca90d0aac34604cca6b8eeb1ad41742a10677c60352d52eb3135e0f754a54f5c694cb44f53fdf15bbcc18ea98bc74ed875ef886e7267caf858b8733f356bd5d67c012aa55c9612ce49af75e4f1468ba6b6e7bab643b7ec8a446d92cc0774c8e9fd0807f54ff7eded63f8694f85e96a6db28ca1ba723eae2e4411c2615381643d86ef10613ff954ce542ef8fa4e3324cb753dbae36d7a03aa77ce9ac6097ec7a05bb9e26a211f6084fbb4fba2384a942af4bf9ae310860e005e485d3835673ad18f8d02dc958b1122629419b797bc882f05fb7468726ce65f45da060c3097e9961a029b53aa588b66e3492fdefc6454dd7ef22830100ff35ab1edea8af39aac8e03342edcd63916b517bf2cfdad71a98db856f0d1723960bba2737e55a5b43c4e4576f04cd53b5a8ed61962c7a149ae83b0868d7c7267138a2e04b55ef6d0fee407e1b3b0fb9831b8b8594e103788525bcd504d0472216de8f6940accfa101ebc3a29e11191e96fd5ade2578c00fdd69784ea622e2fd2b4b1c84b38eaa7ae343bf9283bf204538ae676661fef4bca5412ae29cd5549325ae986dc3c67e5214bd45f4bae5d479cf88cd70302c7ebb057ef9f37ebb37270eb1fcbd0864bb1bd6080b397a00c8b0226eb19976ffee98a65208022127c7219e0ea1cf2ac22f105e53101309774218ee2fcd495033457076fdabb3d603872e4196071d0a9a6d7faf20e61b5faa1629171617a6be3ffc7195af4141dd4a76a6c2f2e83712c63bb8ea1fd3679efc5435c21cbfa57f9be60d402832a28dd13720d534c880becd394f129d46533ce721c831e6bdc0044fec75db29cd35013aa72226a60f280247a95cc0455d4cb1867d9c0de1dd5f6b6e44908e3e93fb47dce724a9b27100ad0199952c281a48285cc5f18bb7d6d709cbab9c0d461824db75c72b9b7e61e675d88e70a0c9f0736382766e0b380410e779e3fa5ff495e30f7425ed64c411aed0067d6730e12f7ff979ffb5f8501128b8c3fdbf061f15d2575a74fa4bd4e850a29ba509546b7739777fec059f1443c4d8850acf448932166268872c88dd5c4dc2521df0c319d422e1941019bb334c100bbdac2349dedacdc4ddc72f0140e6251a621592781c9576bf48e2c7a0368f613f6e3d1d9d4efba3e3cbe46d9afe077079353f96b14dea3f14e7856764d32de013e8602fd4cc0bd83acbe72cf42a8afcea6936117241b240ae95f7728919eccc0df93a778dbe28b1942ba72ff974612eeb4ffec18c374e14c3d365a5428840bf8bbdf5b287e59291fd692721ee45d9fbaee18d650c0404b46e1ac7d55c4ee7db2efbca1d3d047ba435b83023fe2a57ae7edc7d2f9f6277177250ffe91e1774a0cd659a92c44482e84e498729b4e6002ce8a38e11eff7f83eb3ba0f0df25a25c548e023399a1fe4224e34e20b4b74bdcec07a77205addd79e129dfe52f06896dee7ef50aa1fdbe5245b6ed728a6a28ce5516348de975f2b5d71deb50b0bb465a12df2b49e7c98ec308c2f819a8707e9de435524c05103bb9cd1704618c5c388f7ac946af4f2d901131ef0972a5222a245e7b8441e3ea6f7b8705e90d02ed8360e914827f4f397bfb4cf54272ff3a97d525d0f334331554e244c8f0ba7670cda1327b583812e1f66951670272f6318b96dacbf566f13cdcb03affaa43be40e4745c7c61da7d83d6c835066c448c0edbc58b075300b5e8c54f7821782350951173985bdcdf4869ba0c8c7d6572e4defb20f5cd6278db286c318b9f962369b7a79c4edfd3afefb6f42a7baf9872d028c8c1469a119e1ad56a5f3061e9f8e7242c9ab2162959ea0a09a6e900fc72c4867737676a196234d5e267a82a07a6a6e8a5dc3c5d76c4e81f5c7c4376162e266853e8da3081a51ac34395b84e4638dd7a689348a37a87619cee2b5e812134138ced3fce4d30e026e5db3d6862d1f7ee175d63d9575472e395f43efe48ca17518e3a344d9db60515ec3393a445c329a4266f182ea1f07d5e63b661975e180827ee0f89c656583c2662a7d045ffa4198e831929699963b64af3d646459b235390bc3943f3b60f4046f23cc7f163fb113c9d86723f7fd06b408b035cb3f4926f26c57e22893589b0f33acaec7c3f3d3edff5b7146aa9e76e4ee82a2682a4097272413db3b55ac8ac499dc05cdb3f111626834715999fd4a714a412e5bcf54e7216ca3e455841ebeb7ee7fafde0f76fec449ff5ab1e269324a5d7ba0db2cc6c58f224e535348878dd91ff9c37bd5d97e3eacd1ed59971feefc239fb838b916072807c36eed8cbf0da62d40c484f1fc971a01c3f86847aa0d0309deea4241a88726a366adbfe4c075f83cd7dd29d16ce1b1d77753eff3a32ec403ae6f50adac6145f253636141550f5cecd7ce23d5e15dfd71868bd4be244296435ff4ce5b642196aa500dac699391235212943a97e4f3588b53da92cc4742c59bb6138b1b3517286e5f3b7af1782c54a7ea4f81b8282f23889669fce4dda3ede1ce2f5f2eb54724a32d50d61e190cbd599ddc1452c6ad02ad4d703ef708c03a851a8c7afcd0f4a7aacece59d8a6e56790cca14de0852fb55565d84a120438d8da1d47a52d79472d96170895febf9f2d15698b3eef22abe84b541f3f52deeb7ec004297222be472ba71e948b209e6d93ef90473a748652a5eecdfd6cf5ec5c4e51ad05c96b14d012d5fd14e3ecc4a83d2a33fb91bb4a188a0347750f93e7f2909c500971451fa433e20747bac6f177f814ae4dfe4f61b8d4d93ceca64a794d858b1ea350074e55850285919c947cfc38c96f3f3a348463bd53c31f1514ab6e4a4c76de65dce0d721b24a9682c852a0602520d499cd2f113509cf0c39fba438f0fd9d31e4ab73a48c361d94a18a1477255d01f51e035f240343d42f468e2d0cb13db82684fc7ea720e8bc244b383972f84ebe108a6113374b1ef356a4033ddb16df2a26b789b8326265ec71a25162c04a70e209fd283751b0b825197b9f7306752c885013256b372643cd2e5f2ba619cd5b53f126052554ac72e9ba89e21b019cd9cfbade7df0d05e0f1ce22f951c66e4897f8e40fe04575c925222ad5bf64f82e06107fef5b9f72fa24899e423a2827505c149d2126643898649e0401d58cb9002f3c6af5ed4f72a21da3339829076e847f8be83139e7ca0bafe337722d2c86f1c09d4016992561d0110bd3bd71a8df890411b0986a1b2a15b668fb2ad76ee3402ed267131d0172866b895d0741937a86642608cc96cbfd261f33852d8c4cc7f130c0cc35b9d861c0b9f038a33139c6822f4747fd88d2c60695a659ecb6afd0a7e7d3f922789b26a4492e8f5a0ca462edbfe47900c688431c0e099bdbe31c8f359b4786fe63146dc53133431832af571c3a90e9fbd48e1132d7174e192e6d4011c718106a78fb5eefcec43290107133fd35fe471228c89f989a5494e7deb639bc4db3d94e08bf361d43dda1cf133f0a9453e61b01ae4e02f432a468f4337e1a36269ed5a723b730bb568fc601244caf13949cd6730ec0b54934d516cf7a86759451462eacb2f572b779761470213186b80aab9e09dcccf38764401c3986d09ba97ab39b7345a572b4bbf32eed15b1eb42d3484039047cf83db0471a74cd27ca041466c676a96a4e82d0f482eb3ac68a7c7e4dbdd92dc83cdfe0e5e21b874ecf43c1e2aab4f2b272bc61718f4391e5e43cad7fe16976f9bf6660e9c1922ead56eff2af297b827e72f5d4dd36a70b1ad46bcb4b364ce909a8773170da7631efd118e55e5d64d149050ec950e6be026c8d23889b9159555557c5120b960c5bb21d40fcd0375149e8726c48166d60d1fbf1abaf50983d7f258708398cf0897a60e5a75be7aaca28b772c3c06d7388385987be9ec1aae67c19d246967bd3fe0197a54a2078922b563e0da3439fdf64485d67f2874260ae3a248b7237fc23c3399af7f503e20ed60b7f3c680b527aa11a6beba9def91548bf86a1ab0780f1515242ebac5ee2bdd08a1804617a4380670206300d9de2a5287bb3be2be8a5befaf0f4e305b7682eca1f0a720fd98267d4e71999de566a1750de8b52a452ab0854c9ece591d3f79511279e5ef38ea7a7ab3635b8a2b409b040264a7d888b56ae2f683b9f224fb0182add9b122d5e01015fb159daec67725ab50e8611ceba9e52c1550fff9ab08b5803ec3f72199309f076f5a97b3b276f9ff1f31d5f4d7797d0b39cb4eee103962d7990976b6e1658dfb70861d892b096ec150e3b9c57f49294d6e0070fedc88a51b5ec390a70bcb50ef01846c04815bcbe3e4f449e6adf248115f2a71f5feb0878bfa9977267d88957608c1792a6f55efc6737077668b015436c7e0f9df3a16bb94190fc72cd2ecc64a2761e0ee6ea0203014c1bb9440f7bbe5438de371e9535759d592d72290bbf89bf0d7d138765931d9ac8597160b70c9197488a7f1d544b852fc28172c933b2f4ee3cf399358f63177302a39fa1febddfc97571b281ea429c28c6627093f22ef38a837c27d90a7e69f74d787c3d509ebc110f84757736b28ba23647724a6017f5a0346dab6fad66e91fb61d713b12dae3e2ab94984f24e345b223b93eb4cc1f9b4bd49ee03ca492d61e80b566227ed13411bef5b3534084f3a454837288f058644a937b094a9db0833641cdfb22c5138658239d66f520676947f1e020821afbe20a3c70dbd9fada20c9ec0629062dfa7e9bbc60be541ffbee0e69ae3d005b6f9654633fbd1682833c490eee282f4f03042268bed79fda872204375b52a19fd393405b056dfb4f1b3d6d8bf27d73f7a8350d98837501d6c5a5a66c254b212a5440c3ca94142ae779cadf0c328eaafa39a9647a11ff5b99b16fa0901772e5c4f97ab79b808137a39a09f231de3f4696ffb75a7c8740fa26e25bd25ae052dcdb6cdc2120b2cbb1a020d30038f777ee4c3007b708eb360d4f22f56d2157721d46f3171c80ab57553bc00f9010fa2cf7d98ad0b7c0bc44526aaf017716903f22573ae6311d1ead8171a7ed67440bb95f563da379633497c13e8ef816f71e72d5727c5604cddbfcfca61c5b751d6ef1cd560fa8562bbf86316385c02aea8e72fa5df68468d0f8b95f4f82913d51967f7f01cc09947a1be080cf92cee32acf4c22c7d1ff52dea85996a004fbe26dda7072025a4fbc732d842e3c5fb1becd8c3895d747b8ef4866f0476fca51498eb8a33dd3f3d49f0f03c2c2357de62d51ed38414d969fa11831f204b82bd9132a0316f1b4395e48b9f08327b1ed221ce3ef729272d8a846f04910703ed6e88c851749fec41b6434b02963bdd4e4f274b57f725531651b945d9aa90f4ea2bfea8f5ca93bd4f92a3fc903f1f5d4c6f62d0f844bd21789f4881fb995676a037f5b6863be113e2fe0b328b8c54aae3da1b512e1723b0b32091e8832c69a622127cd3f4fbb53cc6f3432fbd2f7ac2aee1288599521fded7069a4cebe3c97163142f18866043018b4f0fd6492eec0f62c2302277b086ca75c757dca81419af8b188986e4f0f695ca0626d774f7c1ba7e1c8c5fbac72bbb0b6ce2c3907d49fa19d716fb396c184e3237f2a0b43a5c3f45a191758934ba2d414d1f485ac21d6f2ca9203ece9ff1763d84b69f0dc5e66ce31d51965f472c924b775a2495e3559faf327edfc23a85e1504351c1a936dbed5e829f5559f7278a289b6ee951876a8945525e05f0f674a834773dcdbd5125039ec931eaaf572718f783c5f7a66bb3cba12f926b5a906213659b7db81c5537a8cf34db75e3f11fac860bf2817d773060243e67ffedf14e945ed00f66490ce72bbe23e7d4a6c7260864e06f2838844a0879652cb36a48508622b426455547e9d8045411f398272b4435e6af2d2ee7c38371b866da0fb500f0e388d296832b26a5fc30abaed8f725c3fa4c1e8ab53f5ae5db68d975f6219845bc73a6f46722f77e474743b65ce5e57960347179b66fc4a2dc41d9c7a93e2ec6297699ed3cd4d6bb2e29bc6bc461975016fe4df70da47b493c807e41c0fbd2081ef26cf21fde02542553d99f4da72d27ca25915072a5aa4c430abd8aef2bda70186e518f8cc908f10a7823e79cf7255eb88c27c86be8beab83521e7c48899c9eb7335f32ff76ac930fa4f8f75302fc87d367269f7349d10b07aeb7851518c478fd95d2e77020ea960892c5314da39e9924b84845e3e4944954689a07a5d1da6062ab624ccea3d98d8cf3c166ebe723a4fe9ad5126f2e32223137879af0a595bdf97bf695115f723c70ccd7be550369c17b52549ab624bd82352f7cba45012f0c8cf8d96f0ebedd960bed053c3cf0284de4130881a71c4ef98db80193ccc72b760d1440fe528c6b304f5418912ec72b2220c12d0fd387cafbd2f20bdfac1b00948aae555a54f3662536dbdcd930f6fd45de3bef591a7de84de2a63cfcea7084f65576cae1db016665219a3f63f357213cbe095049ff528453934ca52084221dced12b93c2011c727db03934c0311720814e9a20850e030b5fc093b101a3d0069b481404abea6e942a2de8a25c8b472f25b5fb873b329a11b5c377b10f46fdf9093d3849e58991f9bbdf83ec717da726181c9b99da05af71609b503550a0246e6302366f20b61e51ca01155b4ace00d33c4ba64f9b1673a8bebf0e17e903758ffba6550a3a5c8fcda7df8a0d21e3f6d0ef8487be159f8e21463ac8436dd8dcb2f718637baccd3dc8c9353f03f20ad721127bf722aec5198de096db6f77fc9104bdcdaafd2d73d76c390d92d6ac38072b08880ebd8dfd2e6986cb40cde9e12f6debd78146ba41d4f9387e8fa4a26df088f2cdf85fe3749a48f5bb4d33b54713ded725eac3ed55de45b5f98ee36f742468e4c3dbd0d22cf81123fd2d177a95f8e03580222d6925cc8416490a8f40ff47255b58b05fc7989b79d8e5f932dedbae3a9d1417bf91027041e92612535a12772bd7c9de9ae0409087b27717640b99824d995d0d3cf6e6001478035927a290a726fca577eee418d96ba1add2aee45cdba0fc3c0cac717af28eb7486199ca95372b4f9ece63e14ea39d888d90f3599c2e17adad8f11655cd7b081e782674352172b19218b22b3a7ee4d8db67e185f55a90549e64fd94d9cf778f8082c432377772794485e4dd1860f04d2c123c7634628d8d599b8e6a3853dae68200967290d21b443688111fa8febbb20a103e4c455259fde17050c2480e735e88e06c85e7537283be28390cbf7e355354a5db5b9f3bdfceb29e0d51f1126941a4d76bbfb2f2180af4a15e42f86fa9985325164bc15b00f610f4f3774646a0b8861c644562d372d6b2e3090f61b4cfbbae6d5fb72f8e18fe3d73a35ae23cb8d7a7e469b4949b171670ae6744834adab56f89fea8f35b3c56f26935468a3f989e9212ad6b00bf72f3ab3ebd9456aff8ff24703ab7c98cebd5599057878528293aade8146bf7e60c6f60440a90233c4283b13365a200c94394cc94f3ed870a5bc3cc80c01e09f6721878ea7f528d049d195869073e226f77864ea8dc49a7eb6acb5bc650483f352865a952f3cf945d03e735c83937e0e497ef776b800147859df1bdc63648f611720a8b320b8de718fa6eb602dfd29f5ffd49bf1280441788ce5458ae230284eb7281d35d1c66c9edbaceadf1dec97df24e20977bc3666d2f2d3105abb9ee8bff72860d1e83e86457abe3a888be8ad6df9d753fb5ce19543a342cba8afaf278751a36e9cc17011d5056d82b7516d0df8d1c5ece2a5c31c27fbc10a000a866e39a7279b08609afaa0999ff99434d1ad38ca0616daad810e22e0be04daaf6cf9dd7720cde475032c2a1f691e431ce2e518136dcaca18d404f3cbb13609163fcde5c722dad456b6443ba3db869126482f95998a2450f39b92c6e0295ff6a94f49676463d48521365d682060e04ae50a613e9382daa90e95355a97a9f48839aa190a8729316507c548f054e19c1fbb559f6d154dfa08dd3b5ef6074cbf0ac9858e44f723571311cbc60cea546adf321b9a283ce72c2599e05b1410b4aefaf86c64de872c2c4b127acf542a74e2bcd293748dcfff63903e9af837e818132d4e70ddd7d2e33778349dd39ecd3c7aa61e3027459668e524b86c561d1592dfd5feb0850dd390b7d43b091dc3af25969b572f9de7507c63bdcf9791d8a34be4278c3187255725c383b5cd054f748999402bff34c7b03300edf815e41f2b5ea113485f2c115722d831441b9c615509bb84b9cb90bf36c3f5801709a6966439b2a42558000e872158eaddd063c5e9cc85f0a674d1cad9fd1b1a7d4577a06f86030f4a2474d2a725d871ec593ba1e8d77e004587de794126082f5390141a725e52bf4e86d21066e499c9570eba46417e9e92328dcc6d83b8a4f4199ef522e85674f083bbe3f4d4e109b9c87756643a20438926fbfafe736b79ede35e40a3075f21c79da51642872c6e6e4f70a9056563007436c8ed502fd7556c26aefb1ef72057b2a9758c201498f2b1d5fac87f109073324b91b9219385d9bbc5ddbc3f4c634ae68671a49d072bf1b3151742b675af55f0f599cdc308130da3be39580ef62038cfb5ec003c92ffbc300a8dd76187b5c3e85e665d38ae7d7878d5b4ec704ac8a0985c471f253725691350f105d1cb30dacc267448ddef9037ac3a77858a1c9d95f5ecef5dddf417a69a7850713da85c5b7b4ddc5c89d682f34a05f5ab626e4d8a267a0ed8588722cacc5f8005557cdc79f8cc4a078ba8bed9f9d0383756b5c8189d70facb30e00ae0d25e6b871917c5eb53f96218be8aab7a06998e1af6a50f73a915224fe157237494c3a1b679489ba6997218da50466eee80f62f5327f2719f3af1c32f34b2b6608ae1ee59100996277f4ef40ef51388472be73df018c02179d8d084ec22f72457a3e2d5f0392249ff6fac536ee9805e0619b29501cce7eae15825f053bd872196ed498ae7c0ba95ea7a3003d98f04d96443dc86f918759c96414fe81defd11c31c34677220f7ce1d4fbc936df421e2bbaeacfff4230d4a23bca7422dca497208c2cde2e1b11baffba7333aedc79ba7af1ebc7d6673c16c3bb936d90f7b6c72f56ae69580516fd005c094f79503902d55f6f72a26ca206663bcbaafaca0117256e026e12c7fe5f711ac62f2dfb5ede9a33d20666d248a9a679f920a4b4d5a72aa674158046933d0c2779fcb5ac3b7b37692b0efbcf74bf03253bfcac7535872617f3ac02f96670f69584a25e893a58bb3cd93ec1cb1317491167249cfd3e172a55c78f70d2bfc0497cd54ff7de7e3b887b0e287ba8aeb9e4d8b67a4db9f2e6aa6d14d6203acf958f4abde40d2284cb1c37923a4d3c8fa3e60a68b00bb32cd393befe9e93683ab336a810cb61f2472e1c5cbbf0b12226fb3b19c6577190f65645dcc7cda247c58d17efe2d5517ea8cb0a3f6b9d8a60f8f95b91af7f9448fe4720142bd00e95eb64fce558a61dbdb5b933190c0c62a87c1430f496e3fa1fe84361d2cf451461b24cbcc4644ffdbd887685c7e1f84e900e0f267e35f81074a367258d6f973ea6bf4bd9dbbafe3e03cc6641219d4ec90197afeea6726c9d42d0272f8391a47f41bfb864396381e354d2266d5c4aec2e825c2af6652a26b06877c5f7783c41d27d65f9217ca72ad0a4b1161ee9af1dc1faa543ae619121930fd2a50e9fb5bbf85b050bbff158e8f0df4b3e8bbcbd4659933829ebe5dc92f3a576f72825af277cd8b46d60572d5bce36b3c011a0521156eb51cc591003fb163dade6a8f4d339af5bbe03935da4c3c3b7d25ffda8fae509731d8878ab9a718f46c1a7223e58656e5842b27e37e36597afd560dd5463fd1eab7907b189cd6727edf5e7260db710ce84a9818943183e3d4972f44f7595887b38bb419aad3d6a7450f857285594605c481754c46c8feab5bd0c0f02fe4576a2c5ccd3b05368acac75c870f32f60faf980fef36961119e211001908b83d517f38015b30f62894a3a6b40104887511b24b451a389366eb34a75bda4fd65444db507bb12d73b529bfa6afeb5c1317dd66e270383d65775c030e5f2b7f123ab3f2ab93cd5cd3504742690092728f24cacf61586a6ca6c963fa1346e8b62617cb739315d6126314df5e171fc072a1bcc387f4c5b04c040f9381b4aad2152e10346a5c6f8947b04a95eb45e113725e666fd02c14ad9ea3bf5e82985f9cc6b52d123a136693d2f404bf753effb4201765d25851a5c957c17068fd73fd117828b62b3cff81248f182f1fdca281d0728b291a0d1671c148996edd3bd7a49a23556908b72fee6bfde70a0a0752ac1528fec1e7d2a3074695654fda306be795738f608a85f16fd9090bba7ad7cf196d72600e7c308146f5ef57be34815bc739a48e48105d9645b324e0818c474a5b6f212599ef1241c739cb5f97864a131555213a987790e6725032330845330b859b723b5fc3ac2e434fbdef935d59558340aa90b27535602c5c2fbfe64cacf9ce12728e63f1f174e337483bae552eb52f71221299989ad0222f97885cac2981063c7287ee86e27bcf81a6974a3d816830d493d8f787be65f9d4f2639061d95365af72d48ab1eab6949b5ffd84cf8afe651285a8ae76875bfd9b3f1edccd8b745c3b09ccbb6a283d673254fbb64181842df6b7914fc73c0f5985594c4c337ce51e25722cce9299aef40ebca9996a9be9841f045dfcebd402cbabb385d61c34c8358e72fa45fd25c71c3874ae8d6569d5d9c5975a464dcaeab08931f5fcd45b3deb7772bb33aef8da2be198c851d01da1a7d8f52d02d9fe225442cdc86719d633724136b7af326101bd1635e39cdb5f938b0401eb09f75eede70969968e608a2ef319553ca339b4641a7a91830e65f8e50d09cc596f2993bb9073465cfd8a180fa377040840fed8552c39018e49341f1371e5a354b50d6e2539fa259446c4a803ed692352eb0b10d7726f31ba93453019572b81279066de19b9bb99d9a546cb240e5f4027c6ab7e4eaefa211208ba0d97fcb82511678450a17b4a329ff22bf01a8cf03a3ce1e065111323cfba3e081e05230375051449745ce404ad50b4fa4ca4e3690b4e1c4ad37191d51c127af9c6c6243b0d6f278c6bfaeb7fd17d5627e03fe62b7226732acecf2ed89cbf1820f41d659c59ebaeff72d5ce6ecb40152753f2063638f3861a49f289924f4aaddee984ae6ea34f9b2239be659925e37319f4645014726dc7c0b7587ae7d3a00e5dee295d87bd0f0ab96c0dac7eb7c5c9dfb10af6c772d1f248ac6cb6264aeb2a0a2ff31dfd9eea4554d676a42c7212313e58a2897f72fe55b4dd76c5353c9ecd346a7d336b239e0f40ba996e4391f791b5809b3558264b04c26855c342c2e7e5728a15b093994bdfc5e2a8004c1480184e0eab8d6e72cd1750937c119f2ed90892aa5d1f3014ef9527b66d4cb24058ba04b682b47772a38f6224fa8ec8c83a44c75e689d9c40f07baad8f40108ad3e327c472501bf727dfd1968d9d34db6b3949dcce7710b320e07d1e2be8b1d782b3b5309fe836872c4f22a72719c7ad52e1c1f2c58d42d6551f3a40081d114f05de79bd71722e872c30ba41f5505bbf740d82a01a4d916b441e610f9cb9b4854ff02e9e062f39d726d8b243beb035ec3ce1f3246cd2b4c0c612b7ed389b98241c3e44d8804c8b872edbb0da71a405e884713fc9741d7787b31692d76b563c863ccd7794edd05bc722539b613f9340bd3a6e9ab62c2ae79712efe448c5d46f16461e405773ed0cc72cd832c26cbe7543d91909a5d2ec99780e1cb7c0432716d6bae33e62905099a6dc277007916e61ad6da892b6e0785336b8225c929cce708859f566144dfc4cd72bd0aca57e651763989b66de95e590cd315b392fd3b29863a3f66297c7c47463f6d45a433b5687e7ca0fce1e6a54ac51fba5137f7c6bd82af7eabfaf767063c72a184fe694f72799e91c553b669ea3a0b4efbafe7d937cc84ccacc68d0ce9b27255500aa30646943fc19003fe34ab3163b2a4bc21c2d54de9d695a3e24205687205bac0704ef909cc16a2779fff931c4368493abbf759c4ffff129cb06e059d72f4b5bcf867caf862f09143481a1c736758d28470ca1d2190a72fa9e745984e72a95bda6a20bb9be901410fbbaa7f0ebc466011a73a3cbb31effa7635c69fe272039a4b9ac2103fa7591bee2cdcb366d30c095d3d5b8511b684fe0b61a1c3a13b7ba92dec0c8a0f54f146c447636e4abc69c8c53868423c09224aabd59c289b7244dd84ca7fdaaa341783e998f48c232211c1364fe8fca76fd1bb602086660026c8b5d0d355fff27d0e5e145bc6881ad57c525cdcac07fcd7047b645d44fe6c721c5bb26845ce39b470393becf95640b1572253cd8106ba37ad98a7bee801730b5de43a57fbb6a5191cbd19f3e418bddd376af11ffd79b8ebc740706e2527a1259bc43635e791d27cf4d436b87abcde9563e71ea9235be1224c2d98e9eaad757282bd51c499109e8d1b88344b11d2fd4f68d36177e3cbfc79be9be49359900e14b7c25c3419c686fe0f6486f3ca4242fbb509171d9704833fb958d3cac7a2b17216105fa54facbef8bf9a70d6d16729723bf863ed36f7fc2044f0d3d9143e742b7b00116f8803df54edcacc1fe5cfe094646d30f44e47fb065bbf658655f3987251c5e68b3360278449c2340e6aa88774c05ad81d24698f3ae5c8061d412e477231595afd388311ba0f76ab4df0ac65e4da33a52295c837aad908ea849841c3725fa0d72875b50038b0f5722f69787078a3e0fb34bc1255232f8354ae8339ca729c5ca5a8112e17876e3b6068bfba3b93c490eee13a8e9d94c900a150add7ba562daf095b7a3d41d9c3d0e510cc81e57ff660ccf06557038a0df98f477ef0726b3fe8f5a426f3f2314f4cbd602f980b42112c32127672a2a1d7247864d30c6d7268123a0a79d10c7786f937bbcbf942c2d40db415dd68586a430083ef8b325a72a2b98c6b91e7c9943919d5f752443bf8953b4908ab7955b8796aa5e2e2061372d24cb690fd478b5cd7ea95b7126c4fe3146759a274175a45d5e6c62b05edd54c535ff560a426ed254a29fb7083f566659e1e18eb6eb14b3b7086c2b8bfc4a372b3706d3d46514121cacd447ad71295b219d208fe8dbe979a9461ae5da7efc47283269d7b1e4289aecea488fa6bccce07f5ef24e11d2c31fee42399c018afb972c686e9607eea9bf55ffba6ea11d05ca55ab94fd0abb89d43b1846f9b97580472344a6972a1b5f8f9a07545881b0f80c0b5ede9c7dc8eaf0a14dce693307c44729d8d0deb4af85e1b0a13fec98894b561879d18db84bec16c119dc80e5e412572d19e2da3f28e81e926ab6ebd5662fb851b19fe4c6b8ce62112545e15e7f4737202ae167a21bac21bf6bcae257668cdc7702d838790ba6d73afe29dda9085f7723f6b1974b9e823f6b9822f5c64b11bdb94d363039c90173deff8751ae8c1780ee0e7164d14090423dce52146f800b348b00c6fca4b56852171bfc361bf03f27201ac9d90f32007acc6b523f6759355a755cacaa99fbc1e2fef8392dbf3e0be721557cc668ddb3c7cb8e832215fa108aa27a915b08f51db36445da9d6654b927238c94766aec1cdd40e681d5aae89b4616f60191a842281d0caa894b463461872cd992cc13a08aac0f6319bff01d1632b77229985ff28cb78e56106a73093fd7250dfe0d1a91c6ba2418913b63b003b067c34cdabd188ca5d5847e396ee0bd5729bdaba0f80f535ee328e39c4f4291e42b3b12e9d4c6dba1926db1e782cd62b53966325430d23d5409e4bbbc39ae28749be414e513e51443e685331e4c78a94724a01232dd7ed2d5a94e011341c2c86472d43f03fdfd5140d99829d0729268a72b56673d5d890f28408d15cd28908b7309ae0754339008078dc7d75d25fa9e472a0d3df1081a6c49569e2186ba5c570c1d8629b69300205707c15401502820e7204ab94f792b6e887d9335bba1f0418571ce21ac26ce1f1a60e18670331528772ddc5b6cc2cfebe9d1db631c6a1307a1ab50ff071adfb6382ce4899408ac4396d95313bc0d07851c485ddaca5cea932c7d9268c32bc30017c2c4918571b1899720c76403b0889fb6e999b3f31fecca9c4e9886d293eebe8d4940608119dbd234bdae57ae1d8778ffb8f9450207d3e81f199620a8d3301079b0de560a80a755a72c24157df8dd67b189f8e4a7c6ec1e05bd01b84a9e5f0f5812f79e622a2066a720f5bb150a8f64594677c79c68a05cc7b4071cabd2005b8f541c008937d7e7072e62a8cecdc36ac275033f6d592c752d9c8480408a259b74b41b0a251f1359008089b7ab6f90420c22373d2996ae5ca0894addff7b7c599e1b1cb59a8f1c3f472804995f1c6f243554a4a2149e190e53af5bcc835b642901a76d9c9884538fc626d23286300a103f862ca2518e2f88003ac7e7427c668ff7d2618b6eb5298ca7280e4e1a74c7deb620dc48740b98184b59cd89eb59ff8d98199f564ebeff9f5360c26c7a1d9a7ac021b535eea4e1b894e52e9462ca5dfc8d2ce37dd4ba15e7636b1c11a994a476d1e19f466d2321d0d38bfb773eb29c82bc2a24a90019db42c727f977c17bb80dd174d5b779b7ed4f36b6897a7d02a699e2c982a356f6a97b9729f9984091f3eb6c4341c300769ed38e07219b1c9ab55e5d765d7fff3e2b10924ba3bf4935b957db87f676fa73a9fa0278bccc1542d528daa5de0a83755624e164250b8dedb5067de56a4d622b04dbb4be3f2e4934eeee6ed1899341b2999cc72f5de66bd95fe3f13faef40925e13b582a30e11c4f7ab4cbcdc3b833ddfc9e6724471b988ac7961d032a03521f02d308e1c61efa5fe8a5e5da0917bd65993f42cbc5767abd6c265bf37d3833116f389351f639f07c7a947269d69428a70200a24372596fb62f21ce93d69abac1f6958d976e9cdc437f91f4cb92f7c1e3653e567ee3467ace552b7b099cbf4ce027a6240936f18619525062a49ee237e8042123e13444941340f3fed9e68207f1f6931f7c74fdd19b21b2f9c1c96fa1d03c5ad726dbe841e1e66c2d0c8926cfc60d20b52c74c2d01a2717aa9e0c5172c0498837219e1cce4a908cd425a9966bb05bca9db09a8a825264ddfab69f486a11d2ba272e845ad9338bd01b67428caa105817825ec49b251207f8796fb75f0d70993c5727a329afb58a9fde2f61dffe09f307dbab15cc935f5432f93c1cd8d3239c7c56c994f61c3e7a3af624e61c48538c4f00fb79e7d0e69d8a07a4918001910af9109ca1b9a00f6c2fb08b8704c687a76a71b18eac115e5f5f67f33b21e0801effa7202357e8268e1d867ea1f12cd2bad7c47ee2c387037608a364ac5537dcfc3b318958f3cd03a723fed7daa1d0494dc9011ac2b35c91c1ebb0f64b29847cb541c6f8c92f38100f82995ef4f23fa6195e6dd2f363626714905a1586a62099424405b226e879acfae5ec428972dc692049ba016a44df90b3d2d92895df6c9d588b4721fd8c12eaa8e4a1e498283879fe087f21c7e2ffde6f1ad795cdd29616392d9728f0e6ac8835032805ba1099215c2aac1439394a2c7f302a6150bfe4646b8757288ae0b1213b75c97e3c851e04035297973dc20649aa637dfbfbe102d8349d472d0d1eb9e996ec510a63bed88e8e177dd0e8474bb4ea645e5f3f30c569c0875723ff8bd5d5f6f4fc31f91d5b1d41e36861229b8144a8ff285518ddf55bf76de72a9824be703ca0936acdeafc7e9633cf24dd9d3132f369c4530a7d50951868b72ccc2548af80c5e9294d9686d7946e3f271aebee48ca258a110f5bbe8f0db6872740c49f8cd423d91decc14f18d17803926ca113b1030d978914c6a1d0fed0072f0516de4db4c1f30e0f8b29be2a903c0e225e97f89beb3cab53ccdba10cc9772ba49221a635da9bad9d777f4f8af51f8670053165d253dbd4a218799583a5a5c6919b2813a05e2b6711973ac23d10c0f997fea5c36703c55cc5fac00eb28ce1f5dcced47eb253fc60b4390d6362ef675ed37b49c06c35faab8bdfba6c51bf772abb0db9a1581e295b3df36110020e7b0529539bf03548fccdc3cac54035be6726b1695c40ae1af8921eca9d8a670d7162d6f6261145db7fa4244b8050f86d87234f0ecb099b7823310cc6e52f83a616ad859ac7d78c2a61f15b236351c7a6a65edf0751a83acc359a09cb1bcc543660f735624fc703881eb9633f082cc13d143708609160868d74762ff0c57bc770f492a11c648a939a1175b49ea911d642e51d39e5e199acd61c7d261a9fe4c909a1a6b1959554776d817505157e48840f372483583ae75cf5b64d4bcc4aff680612f84c7b3e8fc30434ed5ca8284db5a0b31ef506a7d0b4ca2ae8ab5257396d35f2f1a561abc224f81a9e35364d200d72324f0843cc4e519b0c0b85142c20de3f23e40f22afd4a5035baee99263a2ec95e636abc9d6efad4ed0c9b8bd9e48e44056fcddb0e59fef90349d26b6d4f2faa7c72297e13284bf106bc9f8f9a56a84634ef91236531d19c24a6be7e9c2a4ef11372204ddd4b0920f9abcd893ae0ac7fb02b56579fc519ecc07d1d106e92d37760722f0fc956388bb881b4bf3625cec85267f9d866d8998858e844c78bd941296445f5fae545d8fdfc0928268fe3a32a77a6ff11e9de3ca711045baf63fb1b0bf472deb800488757b65a8cac11f66628584885675463247161ef087416987d85fa7203c6820d0954f863de87d2aea9cf04213da3db769ee7e5d005a14ef5f45d403de4d5d50ba3628ab06a08178679708a7460c8049d218ac5ef1091dc65ae507b72962b0b9c9063f14307c05286b7fb8a54940196a2a3d740e21317968512ed5572cd5c8dabec231bb9da2ff399c93cfc8382899385f9e1df4377dba040da6a84726c9f32eeb76f434b4a2c4e5c3a6776e5693d7f0a2261109e38f272523ce12372010d1534421f24ff6477c199b79ec18d6c996709e56db56bb329b3ac34d3c772d215128f7204b6303e79045683c8dcd29630266ce4da196e78d468d29ecbfd62752634f71f4b2a42486ff16e858712ad03c6dfc3139f318e7dd7dbca97abe15bc32b3f52a5ccea936e13bb8c3c3d33b71a8ba750358a261e714714d8e1db8a30fd6a4c40a62e81fb5e34f5018ca42655c564aabcc00a7b3fc8deb968c51997725d1223c8055d5bac2358180f75d7f6629b1ff96861b1383f345d0bbd36f7127219719bf44f419081e05fdf501794f427c2f43b6d6ab8debf7ad52582f1a17f72d0a91d7ec32dee93196180bab4094236b29bdf7321f96dba369572089b5f7c728bdc7cb261907f9c90e0fe48111755e93c48c01b6d84af534f3c0af2ca207a727af71971c10ee889b9bdaaa44b6b361d4ba2ed3be49ea67b93a694e1d680f10908f95073a2ec86eaa547593bbca0d8e850705599e6322e8cd0173d27bd9deb72d04a81d1d1c29351beb632654c740c1d1ce8081cf3a95296804f208599681d56b50a91159b985402e1270e4def2acd399544a5b61779c38a73d5ffbe9f4b0f0d125e6aba80f8db50794821412933fe77ba3af30b6df47d764153c279fd001172b2865bfc95069e5b48af7f001107a200fec13673a684c81f2d0a95794792b772654c3b527b743b9d6ba0acdaddf60888240e11b18af35a4230cc2d43bc628372fef56fe514723a3a0c1381ae81e0a06ef8613d863c916229a31bc794465a8a08f6801c7777bf59dc1d6a8ad2c0c686b86ea2b59a781f3f789aa968ed91fda413cb3a259fc82a28db02b5422b011ca37e23a8c84846e3c9c1e95966fab5282a729025e4cafed45ee08772b50eebc5e36c394969c7bb1542eefa0fe2efc02ffe72308c1808d620ab6c21654adf27ad771db03febf3dac4491b9b57a86233feb20e32565c61e92a2660e32aefcfde617385bdb2ae2e3f34e1b23af57c7f649afe72594c67ce593e088f11d82d02477500e8a06ab446b6f8ff56c941440066da74604af5de80fb25020ae7eb6d56c33b3c97ab1665539fd07a9bac7b44b91f2ee972115bf559776b1bde76a6a82d158c87c90ec57d8678363bc6f00d8a596def3504fd73f6e27afa0963da6d8b8ead81bb055e14e8b8a93eb245b55473a58b271a72f4800bcbac103bf4eebee63d62f79650de8ba7303d96e6b63c94c581d8f443582507f737156f5c384ce89ff07134bba765b4b65c9ee8c296665e73662409b872596b1b82b659d0b1d6eb5e8e9729363a077c314eb35c97508f8c27659afc237274b224e65d4ca4dfb85519b4f75887a84b48d31a29c164c13609dbaf0f7200722fbaac27216fb156f6080d440b71709a49b352ce5dac97290e48b3838490d07284f43e7bfb00ee4c3dc49b4d3bee15dd7985db11dbf570b5f05ff0482449131d3e3f35330148a67501f3b714075cd248f1eced86252f3df53773bae5d0ad3e3791ca45e5dc682d7e46c632f7bb773bccd530b63f48f718941f74c890f7bdea72c7815e0d4b0ac2bef382923ecb87d6fb9c04ad18c12415e5d25fe17625c74c34f74af8eea8ccb04c23b908b993ce834e78a00e3065d18d174e7b5b9fd675f07295795efc578b0f095293d4aae9b564c0694d5ebc2b4250fc86975f0c208c7972ad2779c7f81e84b27c09fd6133f319cbbd5a8ee5901d3fd505b796533a03a4497d6148ac4d07dae55f8581ca7e39bb72fa85989244ba5dcd02ed432a945a4c72d142b04871e264515e3e8b5807e1a62d3eef9bfd653066018609860528e31c2b4afb19da798f3037be0adb805f8712cf112aa6e00e3e238b05a0fa7aa086e81ec9d492e6c8879b5c6e0cec04b2895bcfbd10473fb1b0ed2619d68cf5f6479372cf6d4ba5667809b1e59ba79dc9c314580961cedde0682aaa444f8cc299e94572c4eb6ed5b9b4d89e37cbe12d3bf3a4547cb99eb29299e98d1b70e97419587a1ef2ccf076f4491ca42ba3497b0de23bfa823c20b949a534345c00238642bedf721437d39fa84a15734a869dabb2e8788b6b6bf3d7060489767250c0f92ee43e16d6bdae4dbff2e4bb7fc1292ce90bf3de7a24df874507a9eaaa716b8fc043453be28c4a12e51b979115042479b0f72b5ca8fc4baa91839a0a247d106f33ae2d7274b0887a52e67b2a00a81b6476994e480bdcd709c210fff5415b62c2f049eb18815d9db93a76385bb1ad19e2db9738014c513035bc5172661b2ce7b98682cc4966ff46dcf16a30f43689817251e95fb438e61221df5d247105298bd9945a447267b7d8addf945f4f790572aa9189e375edeeecca57c263cedea18ee77dc2903c1f9b68693f9528a82505abfe6ffdd31c73f9248724ff0f7cbca107bd532cf458ad29e780f9809f1b8b567f2ff5ce334fa7740910b9fd23582ad487bb421cf80fa49b7fd56998c8f52d687ad4039cf9eec7540f26037975f536b0bbeacdc85056dc2631c7c9ac1e7fe92e34e9fcc7b44d04fd0e8534e8842ffc03040099bdc3729a6e8af5c7fcd756cf267aa6f1a233685d15a3bb4e3610ef3a407da1baf2bb1c08c498ccc3e7b792ecd3e43789c0cd8706529d4a9cd6d90ae211f2effcf4b8292f06cae36027c00ba567f3a6b8bec4d793f7229ff75125b3da357be2cd38bc664675bc75e2e69a9ea77ad4c65f771d58f31f0e94c9d3df3d91cee81f8fa57f72955e788d6658fb8643571d5a2572381aaa694fa3ee7f8e62efddabcf4f11c97286abe0dfbed5b4cc0ed1b75b2f2082de5600e1ef022cb8a466de0d3fa1209872fb25eb0cb7623af6a5612ba65e54260dc0c5a9c76ec0713578cb77a3ef74d2722987bef66642ef52f392fe325f80727f491e135db8e72a048799f0a3366c4008fe31f51fbed64bfd71a6d02a25130140233ebb98c95abf2ce52f012cf5e65b0820ff52b6764006a7d7b4c3c9a4448ed28c43416eb4cc22c03ecb49db46fe3772d06a1a89193d1a1e9bc05b1875a5f0edbdc1ca567d3058edcf1c4c29b67db6721876f0cb857c663daecba7f16ed696e5e5e711f8cb6ebfc5b458225ba8f7685ee4d1d054fe7ccaa927273e274652c5de95bd1ca799713c61cda72443110ab472f3d4a630ec92244e961c59fb54830c12854ca3788e9dc57c45403cf839c010289cb2a1dc139356f149dbae5171948079d026415052260000199a32dec1698472bafef4d9d1bf3c6d9733f452f946ab5f837273cdf3761a2894530de7c9e26672647714f18aae22f7555584905d34526ee592ebc771c49e4905c15680b1f8ab70aee5d829bd303a4230f725dbf39be36bed3c0cf7d3bccad9f3172a85ac00d56533fbab84e0713390766029b3ad8dd26e16e80dfa0268897eb4d1897c92d9675e115a3f774ad42aaadb361f93bf6adb0506bad73206e86770e41ba0890683b7721444ec37a4d6de048dedc68f71efb46d671f27ef529d855e04f791b5c6bb060714a6c8e8337fef91052838a005ff998d26a6e412c785300d684c583027b48172665f86183d21e2c97eb595128b266cf18a107f454417757b6b94a76080f10b72eafea6d494fc251289381601008557523f97d126246f7110f4b73ad6ca32d8506c6a3af17cbd5e4bd49552c9d772cc9dc3c03ce9d8b8c438c19c1c1614ade329fa094421f262ad7cee380583ddb1c8d8744cb556fbefa6e52b7044f12ff06672f8f39518db4ad2389246ae3aa2753961db4bcae29d9b9ecddfbf33c24cf97e72e4fd1a3d16ac35af7bdcbba75e7fba7ecd45d59f7e6e7738a35d80db77d11f05e928f047af669c7040aa3ecdfaaeae234e5275934a1549f953d59db6910cc9727b5aa15445c082bf1ad136e8502ccdcbf41780f6ee098250a466cd4b732b4053ebaa2f6528f14d6a14b7f0b51bf93e4852a80f7150045827164c9adb2ed3bf32b4ffe7c9390fd1bd29c4cbb04101b040dc09c2b8ed19ec9a22b6c25541d46b7235f8603375d7a6a64286c87499d5987539081a890a2fa16f1b51dcd80dc662724bcaa26b8d1212cdab60acc7ff3c6614a3e897aa94ea25acd59006f2e07c9f72a30e9da4e99811c28fc8980367c37235c1ced40643a9d20c1b32a472abdd6f72fcf8f1bb19d3b8ea69d56ba2179741d5555b895e826ee388a1d5243cb67f2972c7333074c109424d631d2e719fab697bbe2bac5a045f4542b48ed3064971040831fd10442ea13e54a99ce53cdd3c6d5d844f9f4dafb480781b31c203d37c19722aa246fb8ffe8dfc9f41d8456735451917e4fde150377c9877eee37d89aff348783bbcb0d1f5f560fd7b5e32eecb0f2cb0d25ab0ac335d15e5c6b640e3440444159db49ed7bbf6aec34d9d5fdd5f6a0cc2234ffb51fa434a3c52379991e61a72f3999db4abe4ebb2076bbe63a070e547aa9a06ece450523acb6cc3d6ab956c72b6f0bfcb0cc1299ff937b74cadf2a54090d6421a980f999ca4f1455983098e72cbc83eca1923a202a9a166b5f4ea2afdb5dd589c98d5b67db1e65239ec9950511d3b16e764f3629d6ed256a34389c5b6737537bbd298698d9d8b56b578d7fa2aefda4dc4969944e5a6e6de81b618057587b85999ff63c844090a5ebf44cfdb24032b5aa2c6f1266f10e663e5c27d27b661662d9b972eb3c3596ce8c3767de11f6fd92ad9fd9abf242bb3ed17abd718404df7909c8bdd9d42eb105f3e1a003272e0b4f8bcb9248e83586d699d5f72b5b2c91463a798f1f6131cde7942468dad5b6d4e391b584735973c3b290d0c5eabf5f49883058cb9519c8a38cd6707cb234cd7e5f4eebd1805faa87b350d83e90b85d5748b3594148b09b3175361b380735f38cfedce5dd5bbd6845491796d6487acbafe3683c0bf82c18a85de30996bcc22b48f9f731f017ddddc46b3efcb56e0eeb71c302727f71c29e62b6f5e59282e72572922819cf30b7e933b6c96a1cd79ceba41b9a42d0c37843b965e2b945adb721fd72dab96fc74f2f6385a1e522aa5ba33c2289816ac8725fb1d7662a85deb3631cf83ca4e1402c3b73c19917cad0efbaaf78818aa788562fc0095c6c084807289e56a1a6802c22b36ae03fba3083449daa6bbb429dd0099548e7906cab09272894ceff3d895db5a169e399d07be6544239f299ad554e68f5e6ad555e8447e72391972e1397f70eb934773ceda7ede698d9ffd8b0a66451a56ecb5c55d69ea69b81bb9cf8743fe76027bf93e24271757f737e4e533d0dd668657e271c1109f5bd73a62aca0cf034cdb68e5ddfb03474b99368a76c45203044d5e63c45c795872cd30b283530dc9b055f8304f98268add3091f2b531828820d11238283b42bb054a8e0a453129f5808f276836ee3a1538b1dbbdd66cdeddbfa555bce9d0b16772984716e22fc69bb25f49e9309fdb51d14a7b6f62497f568bebe61be48789e97236f52af4bfa8c7027e19975b0ec985a03c47c5d09a756ce9cd3521804e9d3c7225c7ed0829abf055f29cbb67710eea6c46ebe50a49c3b756a7ed17c421a82a7257f69832459b4f9b80d3c833ba2804f7ac0553cc4b3953a79347ac86e0b15c2bd4b0e0294de974ace8066a4b3dc5af10f6f0cde1b14ed3d38bca2e7c8f5f0d72233c4474f57dafa8a59e76576b88a33ceae554658bece27b4b94f280edca5d54008ba513dd95a2e7fb6585e63acb2b66066889e2ef4e9d7279efa9f1d1e3d14179b7a82f3feec5ea9a0db56a8173d1230c96f2a76da37a16a6db844521a10a7217704d0720c86587b6bbcf2cdc8138de5976e8a177ad9d897a88306967b5ab359e50449492f1bd20542f3b15462f4c846bf257970ce6e46abab9c18395b0e83152a2b398e5d034904d1f07b08301c237e4de762d4b721d79d7b306be661a25724b93c0a694b5bc911a748bffe84eaed763d89705cdc5d62ea350c994e363c1725284df442d5831a4a8e688952cd49e2378cb83f98ecd0d70811d5c1cdc5f5b72e5ae3afd5ba81b77c117b9cbaa2f92fdfa4e70659212e5535f983be67ea22f33bf2f57c806eac2c2a26fbdd773ca6c02d89a70d17e8ff0862dd4131b5fbb832e27fece472e0d83d771914441712be58087cf7ee7a2aa8fb91a38b1c565a1017212818056126e0cbccda59230b202472cbd342853f2bb5e12573a4a647118e272cd1df5de5323a7c50a962406a416e642ada913fedef9b370a4e2aded4a4ef46ee8e38507cbbba4676c31cc7ec7c78bef216f35832ca3ab7e166d31fc6a3fee72f9800be7d16ce7cab5c148a53aadf874a27b04151dad32af4e432d22708abe211431262448e24651af5d118fb93609d72d260cc6b216b96f33a1412571af6e72c8bf44ee4e1ac680ceeb47a7e949030099b5324a4cd99898e631795ab3f0f472fa8cc34874c4e8fc678bb4669d38808ab8679b1497cbf202d9388aa477c2dc0df60666fa48595c72eafe6c4e45fe87f89786247022e222d8024d71007a58e3579323793c24888dc67d52baa0fc3767480b02438c8c88c042e9d193a395457003de830c7c31a825d4496e985433240be6099a2b839bf879f89f84320fb529eb72d26d31c892331fa1cf04a59c7b07e22f5c84ce2193a36366f14824c78ad1fc728392b9a7ca9cfd9854d78b15155086b7ec0ac65d0caf73bec854d13996e823727169d94935051df8132c759112c50dcce712b3b9d0a0204254218c54cd83ab0d4f1b33387d41ccd1941ce13f5ddc33cc53c82b3a857855b86bb428c2dc3de135c48b68edc97e4542c71eb67bfa627f1d7358acc4c730a6118c56348e4f535372f211932d56959d0bf36df9a66c168868a4d2e3d3733cd4b5c34c43df40668511831521c79e92f39cdbf2b156deaf7f07c4fa64e2d491f051f1fc9e6a22f20f6b85ff2b6d03da4af19e943302b3d27352f0bb1d0320fdf069ccbcbdfaaf776b2408f2d811c61d1a2e7ecf8ebd0147114f1085e6385c69daaa245f1cce5429ad1d0fb79978d61a78d156b5fcb14e742c0feee9e76a35efe4b897c60e9f46ca6872da2537c8307b3de33290be4d75bbb3ac1035836396484e1bb81ae684ebf54f7267b5bdbc533aa7d0864218168c2f964f4a2fed5f187b93445c11b1b166b55e7271db9e5a4f0e7760c528731efec5b43cc38c22c12c359539db9037fea4717a50b89f4c761be27e8549259f7e8a0818fce6c3aac2211b796dc575d8c558665572f3c99e466c8b90eed99a6c36dbc42dbd462c8813abb6ac1131d74c8d2a551d72c2af4daab8ae15ee07aa83fc5b097daee5a1b268a2b4f0824f0e79892d170f728719032949bdf50536b51dd4b66a450495b72a6d8bfe2f06065197ed763aca7240d1153096ff7acca60eab576ad16e9a7631455e9c58a771cd80c1ac80db0872b489f9516d5bf6f04122e2f1396cb28c0c386138974d3b455d03f9cd0321f17244b3044281ed88e4d01f5f9161d7bddabc769ab89c21fe228ad61fc172a5d4725a332ba20a4990ebcacf4b13bf6e2e7105b1d9df73fd84f6934ebe391049bb720ff833c5c5802afab26b445ddf96afeaf5e8ddb1176e16b5400842450f29a17233cd5ffccb03e45bfa1437e9aee931e0ef491d7fb84d2e509aed93b1e7c9af13242e7ff76910d6aaa5bb669613269d7d5aede8770c5ed7085aa56150ba6f7072dae8ce8d2d98361b8a3943ba7fb4fe36fb5b08a5ec732c40e35359797bb96f5bc967ab7e4de612db4b7682f0de7f117a6e7236e1addc85e267f1119b266bf31bc19826978a2330bef7758f98614af7dc742bfaadfa91d0992758a9c6a4deb93e3e466f0fd347ef0e478f3087c7927d09baa878f8f3f3418b32747c6301e761723ae8dbc7b52514faab5c26c5b24d36bccd5262c7731c19c91430bcf1f4e5c459bcd9ebbe05b77d63587683025ae6817e4460dd50b4717d7bb9a44d13c6fc4f221376dfb9873d0e788477add4343964838f9fcfa43806c9bcf4b10d8701279d72306b2b2d64754ad21651dbd9cda15fd04a336df877705aa26bdae1b1f4fef372b5a5f3f57f6b502245f62ea1a19d67903e9a8e13d5fa7b89a967e4c639cdc54080ed9484e314364157c63ddd61c73d0c30bc298b1855f067bc6147991ef7e072b598605c5f464faeefe6f7eb5dce546a8530832854d524d6bdd548f3a6c1470146a9db50d39abd6f211fb907cd1bdd10865fb825b2f7e9dc55545806ffeef4647ff9b94377597aa6c917d00970b091880c048c2a0fc10e1520cb3da3eaa1174e9f6efe8e5cea0a33eeff3b63a598a2976d615c75598ab8606b3ae781a7150a729a791d95a435243787463298c60ffa9fe3ad5d5c144a4c45634caf961ec43272ad88296c4e8690cb05365aed8e6e3f26d842795fc62c00361a94356b5169c972347224165f0748a80e240f9372c2207016e0468e47982854ab39f3ab1f711072d6681fd1f9a8a16dfa9510e6ba8ea794ef0cb6c0095e7ed2a2658060276f5c4b54d7740cac4647b9e99a5cadd04b7f3c350111463dd2a25b175d3e1efae71f72a130258aa73563810fc66d9fb769c707a2c91aa86ae14649227c02b3e0435a5e955bd4d7c8936053e6477382de18334039c11f47f1a8ae6fac71a711e14a22729804fbafebe20b556039ed2a2aec155b2fbd7a9705f75687ab08128b46f6bf7247222cd519a30b3aeb0c3de9619376c6a0d3e3297ca070edbc8b2873b2b6846101084d90ca86adfdbda7fc847bf8143369dab5819c9097b9da6b04913f9f45726ca865f14cfb36a578410e07f4145b2ac4c695e397bbd4113ee3c009c839bf509ca998e69454d1cee39c3db13527a05cb4326ad4a958fb341fc0b9ecda0b6f7200727e6bf475f70a6ff8b7bfbe21d0543dd80b4924ec248f4ddf58872b985566df5eafcf9f99160686e0ac75346a6a9d8deb75109f6560e3a1d0f140def6457296624d6d8016e630fcc0c662282f9a3d702fce5f7b5716b13a1b59e42d43d872efcf0bdfe84968aebe8d0bb05494d7ed634f2370d48761721d1348b5a621dd52cbec6cdf9d63d8bbbce532de2d7574bdda4b61386d4f07f20ffa4e5dee9439729b77a53c6f4685c38f93a9c07f8e0b383bfb7151665690b9ba831339edaea20b9271a4e337438d4819fce27bf9418bd2c3e7b424ac55b7f5c6c0a833d4257872641b4102e2e1ad4c330fbfb4c2f3629a3da46cee2b3bda7cb5d6433118878f726d4ad1b229415defe3a2e70cf8a4e40dd7371ff2f0a897d4252be9083c4f760592b70f358a1951d8aa687bba1350f2645d1d486996a9b0862b50aca7603a54615e285a8de6202fc807c6b7203cd2e6c4710372efd4c079831caa577091ed601790bced5622ecc85106f20ab63480d1a3f7723a59be505fd8a064952dcb0a875ae332c515843ad5fa2342c8c06f0609a6ff09ee16af03c03b2fd0d8bb9a3edc720e9898d483b653cd86730b7837a4fb571327310f3fe3fba5ae72d3b87c288861518648661c16b084f50b1e70437cad21883ff1331202dcc8e719315ecdac8368cfe5d11bf97c6da298cd2850f402b2fd5d70718d07fb24b6c11e27414e896943568871db4f251aa62cb5eeea16bec1178e34d449b6f704ba12291da9c3cb9b46c39ff076657004dc2922e55435139e08fc321a94fe8c5b31edbc67e27202967268710cb92a0b7d692f2ab1fc0f27d27378fd932b3d99f6f681c055c31259bc728a3a645275c343ec8630b7e9f4c7dee02fb5d3a47f635017fe0b2279f8eb7c725871ba487f4f76fdd1dae88dc956bc4c2cef3308e0cfa433aa827001a5c8867240ce085c7f8a4918d99038e8d5f218cca77f3af15e1bc4325d6087b7c534fe722b1b7454c89ba4386cee2330c31f75143ea81dc2ed325208b395c3c868499672497e9f08d7f593fc53332426834119e8a825e4e9a669e4b1cd1452519dc76507826311aff393b87cc532da0a6e3c08193190c4dd3c68683979153249b314be4a0cd83e188c84c3b6d42230c89cc2e51a7291a1996e9a71d90fab3e993be56147209894cc4346415d4942378e177ea15cd606d79afe512b409853093d8996717253de28655eccdd67d039494a83934bec032bfe01cdcb5e9e496947d607903b5ac333073e49dfcf297bfa7c6a32e18aa63751532f7114e1a18ab91146cab34f7203ef478124839975dfd798b3d7a5489a422c35172e55c9e1101fa23f44b1882b9572eae043cecef0432a3d04986408833107299d48a2bab34196e2afdf996872ec51fbc377cad0c2e24dc245513281640cec407350e5698eea781f794083a9729a31dde45ed70d6593c388c8436560eaa832b341e504eb307e48546f80466169325044b51622348b81f11cb395d24a2da992a689f8d77f47e330708cccf8b85cf88f4ed64ae512738873df83559034fb1d49122029527728f791524f32006a72ffcde44ae2b5e5164c3edc8b95f12ad2bd9dea8a46521bbd23ffda9defae79728c0ae21b7c29cce75ac4d308bebe066cd9e589e863b783be0a7661f1a3e08772a01ec19fc053deda42de8bbbbfd307520d881dd37d337c2ce283ffb5f2896410dc818357d73f5ca3bc289473f36ba0d39025fd3f43360c0a4aaa4d2ffa4cd372bbbe2931b7d4a029671e6766a01522995ab20b0ecf15bb8bf2c41bbfe513b972777f6a4562d956919903e4cd7d052e5fe435dd9dadc73233682fc170de6c304a4e76a5e6a2d619149077a09e38cbdc91868578033ec83458634b827da000907272edf7404962639af54ae7df26614a5a8c67f1e054955a31f0885f8b7370a5720543b11b6de211b0c858f49ed58ca2f0854ef2a98fb9c3b8ec0b46779be62a0bb86a6ba7da9230aa21622a372ff94b77f22731644f7a96182adc905d02a19072ddb1c2f4bd496e6139717ddc007beef8098a65d86506e8181d0baa9bba5b744e2e2d8111df3a414eb6821578a608f2c494604769092f9ed4243a5d4ff3680172c404671de1d47cd7ad34f6298dee864fe11036048803501bf028b70e41b9b872b83707ded799739c7cea0717050b1f666ab2ad277e6277ef2b865851c3a0ba72fb4343a72032aa1e1e5e30e71fff575bce18ecd2116ae9ea591bae8275d88c720820ed3731e88bcc8183812c84bd23d3b3eee9d0c51d01be3249dc5ddd332b7225bf1b532c66611a7aabba58d1a97505be11b10c2ec7ba7a0f15392a7260ed137eba5681bfd72ab083e15beb0defe9e35c13539f9991aa38e1c4232dcfed8b5b080247da618d6dd22b97be2af0a0fc3ccafc1a191015eac37b0d39b4374cb7723952360b7fd1035d5aa0e87a10f806497ef4fbde6051e42b036206b81cb0d763da897145bb557318636f63cbac84c2ba2a7890c71651912ecae86381af0a363b5a477d76ef23268ab86ebd44682175c0f300aa6851a70ccfa974ba750644ef72e07cdb7da216892f89f660dbe08d837a399170aa4c81b848907a949acce40f728fba0b01ef77b15480c1375708b92adbc6b8acb2e3e2df0117b12cd6436863620fd217be70733d77624e03c8fe6ed712b439243a5ffbbde9aad1821249eeed723bba83f1dad0bf5cec4aed207a585a3c3ac8ee5dc5889886e82ce6fe54b03b1011019f5b8833f8fb32010f64e6e140b5351de20e48276080a3b9df5245bba572fa41003b1d99cd79d16178c1bd10ca5bec6b4cd0d021e317e6e7c14ea95b1c397904fa2e66433b4e013807e30164e45fa624d2cad9b30eb424fb7f33b643513079951740c48a3af343d794df41d554ad0122ff58910a8b349388849571b6f9726a9163fbefb4e164ba562ff7f86a2431cdac193d4380ec2ef4e7f07c82f779722f516b9fb51beee968c5182b54d2e26ba55e24f5cad9e82da1fbfc5ba5642b7225c9b989b8d72179160b9fb053c2632428a712789c106b0d641cf0f3f0f51a72b1fe5d9ab4a6a6ba75673140f1793f54127c0898191b7e425cf393da2ef390132fc829d819da9ae66d856d9ba3f3c2e6f974eae5201d1829c7737b727f9665033e9f05e94465aab92549933ff174aaba29cc7690868b03024f261ec99fdca1729de8242cc32583b3872bbdf11fcb3f6317729f2defc4bb4d42bce1d9d53b510a4f6bb368bb424583fdd32b62c07355793f62db09ab9dfea48229e205e1e3e639a210b78d2f0fb36b0be91bcc665e08bc560e4518a2025e37d6e7fb60855aeb723eace52dcb23799adb07e14e8df049cf632437c01f9a77796aec31546b680b3643c555a385751777c87dd5a01caea9264b4037c1c0c251e739e70fd9bc9f846a502403aeaf8d227bc812dcc9a08c21378bc3e7db30e2829fa97383b54c30365ee6b8843dc1d25017cbeabbe8198f31cfe8d70b175036390feb9fa363f7c24c72cc75e690b64da5652eeb93d5fa0102919dd537d2e587f95dfa85717619a60a4ee3f0f7b9822154246618c7208aee9b1f30ba3a28ef1f0e1cbda7c35b389f58727626ce9af176e46387af62ba340a21b8c7fe4695c8985fc661a31f4651dd3d7215fcb8b7bbe3192d1abdec9cb3e3d490758ae961708ebaf10f1d4b25c7cce6326770607e5aa442adef6b3ad899513b1d40f7762463ace56bdfe18c8778cf4272edf46c13a451d0898c0696e8ef908210f9ffbf6b564e9c0606eef5a533d70d6ef6c51320818c8971afc31901b993a3fd37f34ef64dc8b052a207d86ff1c8d566c9f1ab52e95c1239a9ce4aa0ddfb229b539069c137494d402b7832c5021b7c72133871122c84b168760631a2dd2c7d1e5bbf3a830b22ac0399ccad98dee050727d68b063f74bca4b5f373e41d8003bff8b8c30e71dc70235c01f60f61b80ab72f5b5caf0e5eee6c30cb41fed3d6485aeeff6feee550f79cb73dd3117a4cfa84a86d2851323223f65d0d3fa6f9e66a560eba6121fef862554df0b03e28a41782b9b7c1f841a4dcbfc56dd4ef4d0da9520c39d66f55f602b35c07c224f4a0528725755cdfde2d26983599a66624873f139fbd3c78c9024d0ec158b79b9b62a8f201e907c4bf854448a3fc861f30dfe8933183f9c407861008a12189f137df72a722e35c92e5663ec3c539d9106b7113160b32064ee804df442aec48a6d9386d5727656f37368500519331bdeda8b9958ef90d55eb00a9b6266c4113264838cef72915cb98a16ad3d20f9ca07ef01864a9bf99b911804981db39817ab7b35755d720f9b284f82c8203df2336dcf833ed8aa110070aac7abf1e8c843dcb6632bde2090d9b9652605afb9248cbad586fe9df3c8dd8d32b9c0066075a0ce01414181729bed7cb0d4fc98a54ae26f6260a2092eae0ccc04fee88f23df7f1690e44365726c0ff6d7722ac0b665ee05fe25a4ac1960195763b9e67fc42f7256d22950f17254b203d6d02b2de4adf062cbd6f7a8ae1c964c96e1312cb2515298a288e70472963b5858cc7eff5d452bf4b4e5f38baa472fbd647cbabe6eaa91a7713e4306014f34190c25963d81ab98867de545c4db68ab47f433021be30226be8d1c45a50f13ad6ef2e74cfdd09e4352a8ead5502541074ca85ed0b8a07d8c21b3103c607210d067b5003686a86a61cdcb8e0e36700fbd52a889925c40f9473d46086e514e5576142e9e4e231904ce9e58b2c15cb949d74e93db79eecfcd79d5950f20b5721a15849ab53ead7ac8d8ff2dc8b20166174a6f5f0b4d281eb1fb1da32723b0728b41476d4164b1f2292617826a46c0e3642258dc167fd6003d7e6d5489b0055b3b47daf7d8372f0ceb392ca6aadf6c5061f97d582f0c7d9cef7697ca1e17054133297a753657e876f35368a3ab68fb06425476987bc2c2b6db65b1b9a04b3a0e00c886b9c2c767c96f239945ccdd30f56159c26fc49e9a0b095bb5db32bb4d4284198f5abf494f2c76ea2ad8d610f65339a779076968a2816bd123611a95ed4649ab004016f673a6013679c09979cad8e5be5372dd19e9232fddfe0713798157fda755309fb5b5a77b4d0571c2a7fab6a93d96fafb3212f37aa41ade9a0ae372673aafbe590c9c8634f66fcb2f06563b79ae864f2cdb8d7856fa41d9900b537276e3c16d5b1489dcc18e57a035701a0e40b00ef7eef2b39ffdddbdb250c33c7241fe772356a7b6c1af681aeaf815f9cf44b4f6e26b718107f2186edb3d3c9f72f0d1247c4dd9bffb98005d720c1dd7fb6cb5c1cca10b177a00ca58cbb8c57972abed5ef4693d7018b97628a2cf8b3b43c4d27a25dccf009be9488d95970a5972284e35b28440d1941ec871423ca7b9921c2e9050215bb1322d11d045ce832c722703b0fa347d212fbf843106eb668534b912d5d657a2d6db8d805de9b6f373725ca2019792aaa87af5d3a4612a0388379260ba5efe62ffcd80ef50ea9f76c672345159ac4449fa964797120f65f465a5bd45b1c567bbfdce665c42b182dd22729e5ed6ac69be52e7cc1444bdafd161077a60d5769864eae23ea875df724c3672e75d1b6be1f57d585f6013a8af5c6fa2c4292b9f0b2f536bcc190bf03ef27d0300a97f90fa2ce10f5f04bb0db17c886087214e4fb83f53a6fc981af7050033723ba0faaa71edc38a50aadd6a105196d4128fc9637dc67eec27f99440d3bd5f7200c75c34066fb397f378bf036445ce74d427ad3c6f018c305813d0dbf0c9c4726eaa7d74c165be8945df88750c7abae556945211fe73c4e2821f6a44a85eae7247e1198108c65ec18bdd0855e41ed3488b1744e723a69e3c78809f29a3b21f2b1a99a43d02b79915aa1349f18e49db7ccf87e9490e63d9ac848639066e6f56729edd34433b2c1c51603c8b53b6070694ef04d0df472af48cf3a2475e6b01285d30e1f38101c924bd46b0e09301809ddef4a81b4e9bc2c211ef32b6564e869b72d9a282b2b3f185549472e01180c3170e6baba106284eb1fcb53574ce3bab3a7268c67a21a8b80a0c1dc2fccd20606687ae4834243fbc42a6ca036517f82d9326fdd0e63543bafb905717a0be07d3c247f0f4831541fa0ccfeacaf12b31c21172d30c192f8dfd6c1ecf0f87eb72e67b61231e506785c71efb178536592a499f72fd26462a4d6b1af9f76aa26080e3bcee53959f2cc747a423768af6653426c772c8824c36c74bebb44bfb35dbbc3a6748949f55bfdd110bf262c8244fc7be97729b1a5c7504029b73dd39227b53e6520f69fc548e81527bffa6543c502d913272a7d906ce6c2c338a0e6bf050a62ce3aae9bbcadf6cc2af49286639f3406d5772ea9cb40614b6d97544dd51925c5600cc5f1eb866886f6e5ffac671990243a046db8d80710c7957995ec55b29399093f1740bed036e18b0a52578be3ff1ae354643425a39e40a3637fb35a4e0fa37f52ecd5be87f458d23c17705a6985225f17214a74c2bd522c96225afebbb0ad1f51b51575533f1284b7a9caa28507f9a91723997cb27e1525a8edb77165c38b5de0c7bd11f84d096fd83577530991e847672d18d911c329471f29bd69952a08b8f4f03a328fb7bc6a1ff083aa1310659646f45123d359add1d4019b76e233478c98d156904fa3b3b03ff302515297f62a6724b80b3377e510f3827935aec00c12ddc717d3024fa826e64c0a1d1926c38e772f1b4e051ae095938ee1eee8bacc3b1fb1d8fda1cc17f1cc5df7c9740e29c29225895576976ac1d56325a556d84df1c80e9b06ba6ab5d51f1f89fdeef37600f72c529c754046ee46fa9791ce9db7815723c5b1ee2115dd4af5bfb9176ac6dd40ceb52dd75ca6a7958776b4159bbbc307bc2b54732fe7dc95c4d07f5b796caa2726197d106d34957d429891ff2d906f101520af28a6f3ed64bd282533c211d6872daaee8643c0a1d1c7f799cd45959303ec458fd023a858da2f67dd2c244c9b07299f2a4382a12da21b861efaa9d117bd5f2c3d73e417623904983d2c1e7acc16edf729201b86ced5a0969e2d627ae18944ac44b06cf54936cb17d5e95894c36015a1904cca6757c06fd4944582b1daaa187bed51585788b52821d8f790865f772ae6e4f77258724256b3b9781b867abd2d82ae2a09f21bb92a6ddda352a79e3535af9317d386cafbe877223dd4c984de01c30815469a7d9688906e29c9ca2077203c3691de437d8a1f27f4823e87d9dc0dafa1a63f9e39ae742c71a729d36363c5adb3dedd4ce5189a319d4d773b1458089dfb12d489dc79bfabde54b3f027735b0ee825d9a62cefeed5ecd249044a248ff700827ab38fbcde948b5674507037250f5b50897c29f169ca2c0d9433d2d3560377714e5e0c796792d8f86c89dea7238e35c68cffcddd8fc37081c618ced1b7f5c2c5e745b3f741829e6920fe99068177e4af0c2455adde55ff146ec9aa6d5fc37bf812b6fe124355ce9e2881765724f6ef63fc54a8fe061dd777db285c6116ffa545749919c27a061acfd1f3f5272c888ce232a482d502a7cec564d545723915a5aae94b1a0f4bf4d171c13379a7260a1d14b50f99a4f6f850149bdf9a367968305a39b8f82391f5eb605cedd5d00d6d8c24b801944ac7c45fc52211f1f11cd8c853f6391b2843f0b5032bd4ab54a82f2012b116ed116163ad84a3ca56b9eb8cc8d785eb3e211b5bcf9a43180f80b21228708ca38d19037e11d2a9c7934bd2312536f4c6c24bc4f8115eeff230f4b37b9f8c6739322b24ef9e033edfe0a1f3594038f5893a896c4c0b38a1a875372c2d6a205a581cb33b73bdec3c7a5ccc47d77013d8466ded3ce4fbc5bc200fb72999daac537bd4bfceeb5347732394b9775d28a13529afe18b28656ad49ee1d37315cd157ef25bd0e608610e4c849720b46f87d434fa521a31a8443a307bffb39ec68a67388d349c29dcf16ba2b63fe3d84cbebafaf723ea59ba74a1cb5d02a721e4d2bf13930d44d5911557dd9d6bc2c08a4e9c3a0198885aefbc6ee1eed4972cbc1bc794556366c8439e3860bc3eaa2a043e89212eb32d45024b5f92b5d317239eded5b9c2165601e6701fb114eaaf808302882c23dd8f6c9ebbb7303e3543b12cd9ae301ed7ad7f92d204e100102a7c3a83669144642881d89b83d61b06e4c33d55c7a203b8ffbc31d7832857ee9f2ae9536b0290f031ea8c1a9d6dbbf10291aacf4b283df4bc3380629a53ef38ded6ee6ac2b2f9ee27a9afa7360298bdb7255efbf3c10873343c878a91db01e8da559172be63dbf44d7f9739ee4e85deb09bd50d7b475e5a13e54d6cf04c84877aec7a2460439e3d6e3d00816f45024592e7faafdd370b09daf380e14bed0a5f4edf65edb4f2b7cf4edcd38bc2255f747726dbd60b9ef8c59f7ee71db41e03392fad1ec8e832b192865d99423068bf25532eb65afe196558d3bbdcfb2126054b6b36a94f6d73c56ac2072647d9912810072acd9e59bf99d2286baf76eb906722b83ddd1f22bf306d778ecd51e5a6c099303bd116fbfb1e984614c3a39ea30fe2b2d6bdb379894eb179317dbc0b3c2421672b7330587402fec7cc66a5111009336b011a8fced530a23e40cba5128aaf1bf7228ef90be92fa2cb61c93f047a261031f561b02e5b3cc9031d1dc2b08c3182072b92f168eee4f7bd45f21c04dfb0bc64163e65a7a999dbcf693d34fc425a4897295b72be99769aca5578af5b3c282a31e87c4c7feddc515295e8dac0080f45a722dd3a88397fbfa9e6e205fd0e4f0815126da197ea4b454962aea49962b9a5e723ea0b04d90ddb160f9ccf55e829b5153e1f950a274255c657bf2d552bae52872b36873b5fe776bb8e1d7497e819afc9d389ff8592feaff96f3d34fcbaa22ac7292359d7ed9e454885dd51a046050a665c6f225d8b7336b0bfe0830577a6f0151b2f1e92aaf9747e0592cacdaa91db694a49e7e202522771405b6a879df21344a04a396dada34007a4ec89c24147b592c704d67744b1c5dc2c21949e2ba8bfb7226196c9f3f1a19418eccaf715d0ed9391761397b863410d1f03640c0be8a0072e4526b34ecf0ffd801491f588ad22304b6f6a88e06eb14e6c09bbec986fc1d28c70a260c80d9120699f446e074cb18e63e3afb38a8ddca3ab8f69a214349e43bb2583413ed727c6ee17ba13d1de45cee8354c7c762972ed616f25d015f775f5025eeacd544ce8b69bf60ea0f0b01e36428c701ee46f61346c9398b66249762724ea72a11f63353f3a023a0db7296b212a7e167df6a502938ee3aeb8072bcd8726bc8849ec0b3add4a2fa98102915b81db6513aa22de842c24cc4c2016eacbf619eb0fbe46faa0f27a55fab909106380bab52522ccf9b5031a16655efdb586b72822fbeb08ab3051eee74422636f250854a144c9adcf3b175c97647ef3539914a108fc7ac036208f114a3843602c0c3f52e3faabeb141922de4b4eefbfe54aa44610974277a2c43402e46497e22b983aacd48019f52c835f212cd866586ae5c7234bee316671b0c8e4ac1835f3807921bd0d37cb8e079ea4c4f78318859fcab723c1b928227cd4682f6fbcf681a8ac76f7c41689b8496f2fe2c2dcc9a06359772fd8a4240ea171c89f3a582963b76135d81d1ccd3807e0fd33a89d8fca13f2f3777f29f6a3b0880f89a937b8b282f51ed16ecf02286c2a3e632875cac91ad09658f8b59e988b4ce9603a0b57065c64d6ff0bd931c10fe4516b585a10f1cf9a610fd293f46a4866bb7d44e769968e8df9de5038aa196f91e46c16daf52fa5c294c2604eda6e1662c7fe382ff0fbfe942586eabff1c7b07f957a553decf14d6ed72aa86b1c42714d4306ec9faf496bb23645255e9a4193cfee99bace1e68d32c472bbe67101dec61e824d1a4a93b4cdab53d8b93e30e177c2ebbeb9ae8cf5888a2cf4297c3a1553646239deee0f7b211b0ce35c2913d1b1a6779dcbc47a7e4b81720983513c37650378bd77c90f1e23dfdb616e37fd8cad1358f9416d1f408c166f7e955c4e476c8d11941febda43113de9e4546d22ce3224478892b9f6d077811f38ff6ff0931008edc1b80768a732483bd5bbe2e1aad51c544874ea9500a99f64b1231e3818865aba26f5b262a00265c71543cf87eafd8f38d6082df71425201d112b34a28f7e91d664dc3a53018e0ee48372580023a0ddf97e506a169b2b3672f1167c436cf873cf6a408254748d1a0a90e70d45dfcb139acb3a354777758372024e39f1646ecc3b55e9eaf05bb8eb9f7c65b9c2ce32fbccf1a70587ee4dc5727cc1cb0ad1329868eada1ff9a68fd93e8f2ffd495db64aac352fb46c68e8f031d801dee150de2eef30aeca1bb9bbf13dd9d134bebfdc3d44b3f4a844a807691c9a3d8ea52a30a1c7a0651e594290bff8a648f6cb62cebb2c91883a35e3a36f5a1db849f91be1b43d2445c6fba32b0fe25e50473f4291483fd5efd8c08e7b9a3735d89cc3dfd00328d1789b5271a3f03281c5dc598eeeb37e32f1b75477990c1a299a0ef6cfd9b25e5bd3e78989d80bb11df1c908634e517fc52eb31f91c2f523b0d29f56ff75f123e6ea2c7129bfc66527eeb571863b26e08f157d3e8ea0b930cbc8b5cce98cb73c9f6a2c7b990948995203f23591b8db24b6ced95e05e613725da992407f8072c5602bcb5c60ae9211124ac7da9ad901f7a439cd16ee1e2c2983634e9b7fe1666dab6734303fea83ac96f8dabd8b0222b77e7fb449399b9772cbb8fa4b25deb6be8b52a0dc3aec99973890b8c4f90551a963a5507780b15272886dee53a03c307a4520858f58e5f938e4bc45197c08e63e55fe59696f688647753f56ef0f0a63258771bd81709b981f87806938fdebd8100df4d200314f821752d660b1b8ee7f05f8f0f8fafad287adb236d3ca1cf9cc412c92e42d07b57c09d333aa329a16473f33bf8c3110db307c6f17fc2425cab9c092087c77b43d1e6da0f6252bc8159f4f8c4f715cccf67be56108141ef6e71ec7cda9cc9326d9e42c6cdb42017ab1a63769cc2a42e595970ac1690316aa80e6954ef7f8d624b83c2349709f4df62c50d88e049d84a419b73ea20d886208e1ab8f1842ec686379ea046d8308240d62c6ff8a9172420670a8a4897d03791ad1c544c961cdf8efcc2772f68c481dab2cd2388ed0f0d5b3e7db9c44f3083fce7d7c2e484a74ee704e4872f6095f2eca3497002589afda51034649e4e801683c9ef2206796b1257f17480d6f50ff325bcf2e65a5d38438f19aa6a94e6f6eb29483a5d444840623bd147772098e6830a4ee155d8ab9d15fe7b1f0b6e3f9ec68a5a565372bf028f194695b43c14ac3dd83f86be96350d533ae4e24405767973aa3787aea59c57b98ecdfa072c657a0e3a80f62231110dc46e902ba959e1a0d9dbdfccbb9ef3415ce927dfb7291adac7c79d812612a78acedd3372a2b723dc0d1d6970689b68c8afb31f24135031cc7f10b9c0f9194f744e9de2098b5abfaf770f19cfe0c139ce9f4afc4d6729d93f36ca498d19218a29fd2e2b0c2d4720ee4346aaaf3a8d851e3ae1ea6d9724aef2ee07138e789fc859690061761d77238a3e4f5ea4b7e50157212100f534bdb68fc2c6ffffd9f140f8e211610cf5b16df05b2fd7ab9e2c56e6aa0efc4e661bbaf1657a92d1ba5c3467ca64a569020cfee717c892ab9c2dbc88a29a452aa12388459f8a15f0e09fef3125ca073580b3baef48e7e9eee9c91246296ed55c4724003a9b00e4d3ade90961b4cb052db873eea3196da50d56237869e19f72d7b72712c8f1795ada3dd6e844849cf608b910bbd786f4440faa020baf9ba6e5d8370a4db56cb9ea81f27afa8e455ea1dcfeac24220d52c303ef1dd59303e9acb92272d61fc20715e7e334425a42a7cb77f63234ec6fe9db1de421b85ff2ec553fc722c710a85ad29e2ea766b29c47a123548e2089440dbbbc68220060864a003ce7255ed61d7a77ae404e56f71a62c73d526968dcaf183bca2f8dc196f1fcff57d1bbde167fdd815df5703ad46e32ff19c753ea38df3205ae3e67f4399a44ee00d72c81d04da9e6922e21fd1735274800e9703f27b1bb69aff983aa4697396a738722b3e70736b92c5ef55f29e924ec72a10d02f395c68254821e3d66113d9b3b2726053d481be6bf450d42603a5715f2a9d652b30ec19ce95e6a4251287dacd9f72d182d3ee636390e4b4342aefcc41b7d3bdb5bdd6473c2c26c7eb3981adf55e1644992dee318f0aa79c4143dff752f0556e8213a209114db361a2f418109c437267caea71393bcf19d56d6b537292b96614d644bde9d3aad2a44f7800615449723eeb7cea0c7f03c5541ffec863045437e3f9e84d4d23ec6bbd27931e80858103f67ac32e2f9f4605a3f0762c304b6eb2da187b1df1944596522cf3616b80a67246e748ce6a4145f50c37fca320904185ff0bc2046a41832d577cf17b0539e97257247a88476a21e39310a40601e2bb225652c85b513eef304c06c3f547825072ded8eaeab6e0f24c5674caa6b2a8f91bfdb80dedba9e2ed0d3840326672c3541d25902bc2386291b024eb9b36f4b9e961ea13de841b13faecfaa8e50c8803f675b82bd083a4c862b779f6b2f9a97ed2ead0b6f1be7e8564475d7769e64ada4724f1810e4197a2e856270ba622e7e0ba956b516477e07558bd1a2f92cbc73e27264789620381892fb8cd649ca165bc02ee2e206c43cedd7e52bbd1da951e1aa72aee066a5f205d71384827fe8f710e4f6cb8d0c493b5813e79546a2a608a06d13e5db4737e3ace1e581e4b731224f3d41237e816c4c683359a1f36592789f6c72221267d5de44ec046762d864837f43dd438b6ba36379eeb7e08da49f2ccb3c720c2a943b34d5c87894a9878b839fe7cadce7e037df4d6ec538c413011cdbad1b80487cab1d828fde24d62939e5cc87ff17220a81c314029b238659b9c434822f63f5458d901ebf5ef23b9ae0ab73a8132cc19a55bc4138ab8b7ae64e26d58772ea910f724ee0547aaa43106a3ad331e92a58d25752a6a281a1dcd68fec337b72b793bebefe7534c482615c2ede8abe1117d03446520d49dd0bb16c515e9e876a2464d1bcba684109bda1fe01e5847a0611f5db6a6b33c5288cbbef4b53e0c8724142ec8d6579b5d68fb1c3909265b9d3077620cb6a755240eae19a8f571d1b720de6be9f18a7fe1dab7ade06132492bfb936601c8678f19a10068ae2ad812c72ec68992a142cbc066c3c86b4cbc8e617f0eb259ca162ad3e4a6c5095cd71ff72ef35ecc59cc9db4ee5e82fe79fa15511193cb3c9d6f9e6980b4325584a701572a7a41aaacf095b982da643e6653ddfdb3b5191252c41a9ee6fb2d1d44dec7c725615b00ba5fe9e1e201b245479a41e731793c8969afcc9d68552f03109aaf172ca33f50931de9ef9f8b9baccd845191cfb96b5263f69669a0d83aad8a995e60a714cd6b8b8069278a51b4e355061515c10ef770092b3cec5a60bdbba923056352518ca414538a27adc81617caa7515da38b83e4ebb128634737d258955e91b72935d2e48e2de40f0f8ed53d59d905f5d00f84237aa3f539d5c3ed4f7ce34a072a3f46cee66c038292790bc5fe7951a841fd1a608617ae25144a939ee8aa392586fdfc3796441b2b88a8164989e24fd05f23512e2d6346c18fbe145caefb5f5728976c7d15169575bd030a27a396f396abdda7ff3b88e936d51e34c14a9af3172677e8eca2a0c6e222a729f393b9f959f7b2f8e5b2190aabda383344c6cfe2b72e07f661769fdedd4e62347fe7032685d859574db8b46ff729456cf5676c87572c5f034ee531590a6d005415c0fab51aca1caed602bda6485e2286b6b9824d5726ef3731ebf1b256e62e51341a360af516e877983e6df2c25ec8635c4054f0d720cbdc01d3efdd357db33bd0b7219cf4d299fdac6e9fd6386c430b7c9cbc06672074d3e952b919bcaef46089a52bf781c241ddf7fd703069f3abd515df6e0a172de480f525994ba41fb65d8e124bebf9a13138f94347d45fb94ac2f1ad6875e72547de9ccfd970678134a0d760913ee9ee3d4890396bbe8967ecc315ec68bec42d1a6e68d596c2a249064cffaba3a3ca81bfdbde69282c289fcb0c91f6c027172c9b83d4868244cb210794fea79fe770de074becfd0cf730b847c0c9dc66c9f0f343d02ee28065a218c11fd89016838e81b3d59c4492705daf63274de41dd977241939ab56772fd026a86f6b7d00d3905912a27a72c59e2919189f7ff5c31c1728adedf60cdbdb457d357e0bbebb941d7048d282ff9cfa94a7c9026a0ca23c55ff1d47149a270acfd4a504825c4f8fe0a61468fe295f17485f1efcda584de397234bb115c460de86594a57e4c249780016c79f405a19c17f6471a4c80a2eeea722d2b10e1106ebea68b94eac93f99c48d724523ce64975ba9c8db9b0c1a038223d82afe7fc86df9eb3d1d04810fd962042781b9f166ad9856b3fdb54c7e3fd17261c6f6a134ba09a6f2908a3207615265612ed06ae3cb60274356030e9f677b7272e0ef026a6a08a33f3b9e4cb4c004e59d64f97280458fae2161b17e32bbd82a1892af2e2a1241641d1e07d324951ebfbb44f23e33c973343e64032fda6b3172bb9f8dd84a49bc28178536e2c7c110ee534ea53aeefc820c82ebb4134253764eeeb41796edb8f52aa9ed089b8ba7255e2f39d2945e7fb8ce261c84c5d8d95b72f1f1e58594c06fcfc6e9f01a16228ed9906d23a6d8880026db05284e0df1481cb0e7fa4404778b08638244418dc44108ecf3a48bdc06ec177afa57c05ad5c4723566caa4913533dc8fe874a1dda88fbd4bc8a52804930302a0c9af5f23d4827261f43ce0dd291a4ab24e1352655455c53deecc7d78c2b3ed69afe55b3937cf184d9f7e82aa22e24474994ee393daff28d96a0517823a9283676e3939547697127a2747153325f3d0e197ceb17accea200f8bb3376aeff93f018d9e403d5ee048c12b47179a5e67a81f40c28a1b73cee9d20cf89ed5c416506ceaa4b066cabd699ab85337a9ce9c8d79c00b64bd5880747ab2f07882e9161c59938b8b9a143433fd32352a731c1c479da9d88a20e01cc66c7fe65f47ad7bc212da470cdf110546f9c1f96b971fca72ff4ebed0e2a47471116857e92b18ad3be1a40bdc9bada760b5f92441eae089b99e18f712b8ec735d9d9fec83231609a5a9eea952ac3d1c38c8c95381d4e5a7562c461ee51daf47adeba0c618691a39db718de3ee04ff4454635e35a8133d88d83f8784c54bd01709d5d90741da5150e54b3a6d0f0f37526beca165e9d23bb0f1a5bc3b694e92c4519b0900f60a6939508b18688ccd3699723bf218edbb550108847b32b793697e22370ada84415da3bd27c9ee3c3d1ffe729cd03c1ab0b9a60ae95e574e0d7f89db72590df236af0b887affba21bbf1cd72abe6079ae0ac842a916b917a96d2bf5c4c2cbb2e3247dc8b14434fca2214d9727e954a67b85d6f3562d0aa7cac15ccfffee692af4d648500e21102cb69200f724c9d14dc07528b60f00c1ed387153b2585f2b2ed084658354ddf6aaa1a74a825380a4153ccd5bb9aab317c643d10be803cb1316d5670df0541f3bade0ca8014b49b3cb32575857388b4a989b5b758b3a791ac73ae889371e4eb7bc4117eca729c48543304eb89df42d52822fe3ea683bcac2c9ede0913c73b4293c90501454725e22d3b7b756db51e19893b03ad896a7ee655e0385b4ec3ec1d772f33eea68728686f5f76890a9a927a32bb5bfda3e08125cb12b2bcb07791cc67e2a4af5fe7243fc5dc915bd39aa1d26d76c27d90d376d9f54881caf2f380633f81621310e31b41ead6ad8beeb388b88f8ad891a2019e494c3cadee4b557d6bdd8aa49ca6072d92400eae06bae002dabbf7fe7494698dd0d09acda3a835d5aa2c8a3387ea0721ec968e70fc95cd3cf0a682a403609183167355c87e5c6c4d09e9054b78cab723776208b1300838792e5905fe4053504e21794533d0c62ba8e39dfdb5fd11672fd2c58ea5874ceb2588efd5d29e21f10392ad5a2587efaad6d2ccd7ef554e66963f24b0611ef4bf8698c0b736b0be25f900c0b2b2146677451c9a6a1a795ec722fb4da0d117fdec6d4de88d853a112742d0210c2b64c84362c3bf9c068fbd57266d4cc92acfb175dc241add3c1559439999a8db7cd12bf45c390d84862d3bc6ab47f9ed93ba940893d0d78a5b2a42b1da996f84a556055002af89e21b6185e10e4ed7fc2a5146766fede6731ee77396ce8ae0469f9900dba62a0ac91fe17df077ad3348d368f6d22f9bcba68fba44e51f02918ad84ce957f19a75b61b09b3a441469fc828a294b1fa9ad3222f625f19a33542660cc84c790dab6be455d418a72b3ab2898f9607f51dc7ed69c5878a3013b5164e0a5798de938144dc61b49661644a18d250a4e05d341e7bbf282ee2ed0b6239c0a98260fb25f39207cffa0ea72fce852aae804ff1ef4d11cbcbf82ef74e5799214439a23adbfcf681fb71c23724f926dc0073a2189c5c95f4210bb79456149c66f977c6d369aa94994216f4d58807ebabb50cec21a2f375c28823c5b47bb7f34f315452abb6dc048399d0e565325a04a195af7438a412cea27ea997632aae271b4b1bb9efba3636d4cc7fbe433586600af64ba7a7cc2cba3b4c10aff3e4f0929a576c0ffff1e106cafe1a800726248571b3b8a1b5762f93d630d1bbbb9a8b10c00534e31bc2c524807877e1134a2d745862bd5adb05c0a634dff7de7de5929a9627f8f5af3f0d508c9f44b107253a551c633afe510abc107f589d17d8962eb9eddc76496a44605ca92af1b6f72575ffc41d6050ef6bcda6d1c434408423e63c8926cdd2c8b4d4eb8193e3c3c7232a1aa2780e0c687d2a0d2ad35e87ced8baa434fb6b16c702a61caeb43d45663a867086eaf0bc5dac1f2a3d7cacc738eb6b1ca407bed8ff1a7acda749c7072720823bea25601a8b367ab0181efe7f0749525060592f1c82570d3e38238b84d3921721d1a6c5c282db14cc15d8db32f89d4109801389d8f3ffab5afa16c955b721204e6eec3995d6d9aa4add868b01b55314f267d0c47906403d9012bf08fc872319139a29358ddacc7b890e624c399dafd59c9d3f478c6380e503a31896a72726bb87350c07c3f6132b758e2fc49f7fd2d0bcfb57ad6bd0afeceacbe25c0bd1815463795a60e35a497c7de70a42203e15729a0141476383bd2d45601c66119347b40efe26f25a8b9e748c1488daab79a2fcf6aee53d85faaec25433825242001f3c70d38a52d9791170a44a34a71c13b6950be48ebb896c1d351cc06470bea7210bdf90a86ac33e658019a732e82afcaeb5e99e7a0e36178391d8c69d9585c722ce5aeacbce1154545b4d29476a908201870ccfd3ebfda879756c43d1ba55c723cea609ab396fbc2e808dfa9721face052afbf5f2f0840a8dc92f0e896aa1d618b86e8061ccced78667005abff3dcd0dceb4dcc2bbe9509d9c93ae39136fee7294218110a8aa3e570863d2479472ffb93815808af9cbe7432357fded1af151399d42e82bb5738556bce0451d9317b116174dd7183578bc9fcb3df7d58c6fd672a04906f6db55b38b33ad01757a3fa4b91a47c98ea5251f9ca1a2d96787d573008b15be1a32530688b4b2e963149b8e1bb1cfa855932223c058f071371a81ec727abff9f29f19286e50ca628a68931a6fc9e3cbf8e6cf1fb64771527725ab28364719e25a82c4e37f33d191b3d43f172cf2fdd3d2bc0e56e4356dd0605dcbea62e1ebaa351de0a9b3739cf8f915e7e3ebd03c50ec40e228faee5a48b2242ef7720c778334d8ad45c148326c903c88e17bf2e9d5200cc3639d6582e083d3ab21725928d5804c7c3e7111e7bc5fb863ebcd906b002b61691ecbfb032e4d0346c7720fb0baab25e791864b5f199414b6a1136c9862f5bdff74c06262d090900ba730eadae9c3b58037ce4073a7d1b175c8d4cb7fd91cbd9056ae5877a885317a8d647f2f4ef2ac023b41be44343fba3c2dc667e3c75550f7ecd899cfa0983c993f43f2c8b692a29866baf408f0dba15481943093552c228a678bddb33a9bf83b2f6c10ca0f423244d04607c28df363d521a186899fa5f332dcc7d859cdc04a3ae77275204952b85c674e63b49d4077e2b0c2121cc7e321b00dea72ddb8f522b95934ad784f1d46dfc8b650e59ed4d5370acc4f78efdf095f64d4000c51b0a4886004fbd184276cf5080e05506d4888c6028c62eef7093c0201790291b2331cce1052a3885fbe34a9232e248713d46ea33610213d3fbcddcd8ec5c215e9fc57120d2b84f61682c3d8b5699081098c5d15318f175bab92078bb5f126b80ace2be40d72d008a7df3874e7cda23bfd25d316c773c4fc87f9b2de12599004c5c50adc5d5aa41bbbff3df1d2f07f905b36d3982f14b6115e8d3fa516c5ab1dd9706fc73a72e88faaa4f9ef083eadbe02851b87bb24ad394fcd9e6bc2538ff4825aab2e09430049785500994ffc2b902fb48559559b66c3f69d34928a690088ea90277de272af34d0eeaab7eab40a7d1a1e47bb8c362d8abd770223272187f0e07fb68c251f316f15337d2c23d54df229242496f0bf2b48cb277acd3b3dd0192ef1d619a26b184a1875c334c7da856e6dd62fe8e714920ad1dea886df91a8f3a15c0027e87277a0deb959fc86be363a274bddaebed36e0235d6bd445905adaba2e0826c9472551f387f8149b1c965023c542385d508cf2dbd1d790ecec3156d5d7f396d00722ffccd9d59fc8b46c791fa64856514f2a87927af5fb9acb5976d07459a2c9972e43a03f51ba0bb7dd25494bac450ebf4bd208f25f3d7eb90732af7055a6ba31c63305a2150bf60029274d7faf442c86ad616a00b54be03e4926e9a397d5bb738197c7b306f279d7b26abcad1791eeaf43fc39fcf93b5f968675a53311a31e3722f402f9356ff69b11b242507806b9a77fb4835da719794b6fe14c9e365816e033ea2af5a07f54f409b47d2756b13d7ce64d8db8635cffefb6fce05626be055724db7b7d125af4da8b16f04e9ee54f737f5413e3c4e18a3b3f53408ea3ee147638184c1bcdced8474b334b99b9fa3792a2fa6462f175c629772bd2bd98439e86f78f6b8eabbbd35748d5ea4bae58b533d8f4522762174cb7486ed3d5911eeb15008ec6d85627751f6ea7238451918690a05aab8fd517e4e885652d1c4f678b572ecbbd037a3cc5403e06b3d042e6846e179da82e49408b9d9c64b1d0058afeb68f706be8b8149d1d5832af9f4ee49e8c8a747804f7c87b8e0c7abd3d757d08c72df836dd76e9732dbfed1147bd0db9cad443f02a11f48b3c707a9278787e45d727da75192e0432de6a12595e0d12e315512a7233d72e2caa93b3329b9618a8a7285b8ed9c06d46a19833f970aa99bb52b8bd4ed1a481e48aaf848e096d57010110721686350be5c88107facdbcbc1683e83374840d2f4732612fbec115818d050b6b4deda86b570c24e1b4b2eb3a2b21d8567941451862cc8b1e926c08f03047248959dfb346bf870b487e952107c4782be4bb63e273f3f70a3f9290011387d6a1da075d73bb1fc0a8367b08341b2b617f889d56a8e5e5b95e10b3cee704aa872b61c2e30dd8f3fd5eb3541a8ddd674c16f982ae506403359914793ab3fde1a720d88f488c88557ccc3b470d5093cd941e4a6fded8a9813c1b0afa9228af8f7721e939d0dd4fcfb4c8e21d2f97421650f82dd878034d01701384faade65958872fc718a759f609959c1841a82aa7ab428453ba490740ceef0043abfbdc45895027a074281644d338de98bd59859f7a81f212c704ef324c4f13898e791a151c57280544568593be26961393dabe39d40ed72ddba9f3b0c2cd6a201df97008ad644a1b06fbcf46a62d7fe12b50cd9bbd9c3faee5a0afb6cfefb144f959a4a53181673a5e240581b4cb15d54fe21f297c1187149885db14189fac65da1029eb28b53356e913ec38c10f0d75329d60c3ecf6a664d72096561accf83d5fbd40615f51f3ba574757d66f8e82d88e65d996594023dfea1c82c84b451633f96c2da3e7272f06057448ce6f917a1bd91ca6de7d36e505c8ec911bb345129908dcc1a49855018d2dc42b5c0eac783cb8b6a34575b8720d44c8341fb5ce96eedf5ca05d945476176977a235347edf311ca9e3129b7bd0de96aa30e5e7b30a14eb7200abd2c13eea79b4f855b70194bd62c1fc93478825710bade3bdd188fd1b1db22ecf87e726835aa61f7c2976877e70fac08056c5294eeaf51e7f7ad09eaf92f85191e574d025141ac70c7a4b859fc76b576f9a27160ead2bf4babadc74f1232bb3638ea72b2fbffad5842d01b602bef7e6a316941f5854856dbe7d093bf9f73bae9ae8272081e9e40b367efdb788a3184dc17986a3cec123bf4081b03d9afd98103097c728fe286d2dfc759c66138332f7e5f00ccb5f5389032c340a9e0766c9a050c08365583aaa03a3a115d1c301d7c493ed70756305ae30babd1d5ac7ac1ddd9da90726dbaab69d59fbfdde054ac8659954b7fcaf224c86affd06ba7c49634241b897224da945682200a47ab288ebc10da9aa1c9038cc3a2bcb8e00530c9e88a37732c52234e5b253646d4e066d58509894cfd7b03bb4e9a8cc619ddf98bdd55eb1608177b33369a28b74da9363337379bbff0322b3c024a86918421c4b2db7eefbc72c265c403148928e49caf7e85202ade0f17490386da8def96872d7daf6a92a91b13f5896ea4c1ea9952da78b6f13dd9b4ccb41afa1937afed22114f454be81f724289c3b628398f1502966c59623a189305508688f26ca24de6a0478de037b072fc8ccafe547411832964f261e2b3e8038e5d87a2bd7860da5ea23a70f5a61b3e0f8f9f802b84753c190c636bba73c470ee605386e7946db5ea9fc63780097072190d9238bfe057a0b69fe6c4500b3d45ce922cf5426a4ff16f7b28a22eae3f6e0dda38d09bec6a11e6ff40f5320df10c2c5064936df9a80f0cb4f9e4a2072172d1ee82b71898b9d7060adccf5a2981fbc342e251d634141e11e3fe78f41f786cbe18a52b097bcce397818cb6284fcca9e27e7c71f40f3f6dcd3eb097b0ba520a1c764db2caa774a734a83991e472485cdbc637e4a0811b839cf31266d74c0e6a1b2079c58a7defc03895c14db75e8527232f143465f366f950095dcdc2b61a72d52551fb00127aa8a055f38447d1b26fd49abd60de079f44983edafc0325523fadbe60743ef09e5f5809016ec6dfd54143b57765aaaa829b01e91ff932c6b50db0a4847437cca557cfe07accc51eba13789f10a6eb812eb332642924043366330b17f93a2228044386a02dd1bc1f0a908fd495382428a142b8cdf13126ab7272c0a66ac151e361a7e679d20945d88bf459365aadb9a1f97589801df98f6e7172a3a09bf7d1cdd83989a7c343eba31b14e27fbadaf3258f786708e7fd1b1ead720a3b10df2cc0c8ea8d071b91ec4a0e528752489fe83eea54774a0467a478e567728cf5cd5ea2b1e668be49f83f07870b482307b779c986a9cb3a9d27c828172e0fdd9ae965cecbd4ac8b7e04fa134e6dbd1d696618bfc773f5f9f1c719939617ca34bdf0f54b8b9c0aba2b47c229157f214034799fdc5209e5a9354f56591b034f2eadc7cdabf42d59949af08b03931ce4d0eba99fd168e9bbbe73a2ca479b720663c7c922525b0a3ab2c3dd202ac1c669e4abc41c37660bc7d35d324ede8c5649251a3173a626d8f3d71f633066ce039d611014a4286e695fca7d6a0c57ad72104cb89d766aed333f183a25a30991b6095bb7f5404170e84ccfa1e62856450728b33a74f2c13039d9be64fc866b2f362b7558cdc42d34e41766ca52db93a57237b65bd5ec9723d2088cf557cc3773630d92e18a71858f79c6a54c93644259688b99cb3a6fc8dbe6cd687e11821fa06217f13bf34c019c35fa3d8cc2c74f06722e2ed54c79058e884fd1502facf83821d01c7ac3bf9e676f921d0c0e9a94df1dbd24717e962ba846a2b442c26c8f09b58169564143d18de064d844f66d8b490f9322e10344feef097ab7a56bc649ad1c48fb518b982b6ff1e77db69db6e8cc72448341e84aaa4a69a52271caefa6c7a61750e9ed3d71602b26d138eaddd2ce72e10d712ad46f9c3ba55ccf76392dd2c207a06ab02489c8bd68298e20d491902b5fca84ad52ce3936c499d3edddca54e013193b1f4ab24f546f845fad536df619fcbf172e07abb13be28f82035fe15e16db0d193d2b8622dea1b2614eb366bb7210b0b698ade7e63c7252309a936b8fd13b9cab96df9b461d17b5976ca537b672e499f3024bbde68d8381eda35d0b0ff5130fed9250d1fadb52b95b1fb1297772d5efdd670b4ab75a222a0d33c30e20585127414697c6acc67f8b1282f750d4721e0e5ff3092baa8e6d6650d25eb98f3785f00f5fe32d88d31bc0931c1c9c9c7224f539b44f6ef34ecde0932e80563d655755be6b9ab4447c25505a89e7b4b57211636a8923b52e16f6c26225e0f51058e6247b15aa9fc7963a4f87916b646d7287ed7663f744081645106d7317d6077c2f0bae8ceb48b9720098aaedb52ea27223339e4f8557b81296ff1a197ece15d30baec581b3feccbfb2ff65c77c601c2894509cf1a5c35acd39d7b08083045c5108fe37982217b1d39e58048674fe891eb3dfe8924727356d4b6839bf05711aef682348bda12ed21d0a5e7f6df397ac0f39eaba0a1c54402e42cb9ff5f832563662ffe4a0f1b8dead5aa4df39c9d41a699f1f5cbee382ad85232837c872eb35b2c65d8d6a03f9eec146837d1d67a0a072dfb3ffdce262e5e59c95eac167a7b20fabdf9523542161744b2a50641eff2948c531a1e9fb802f97fb75493e19a1e0cb0adfd4c0bfbe6d7fc50a02218b6ffe06ac4f638b028d53e1ffe97ba3ca8e423fe40e907b0be06a56811861b194e17372b2ccd9585f67df11e7792f56217189a4a1fd7a944522292f56d55b217a4386021bc6850470019cbfcdfbee5fb0b6a9b625884eb85f0eab2b1dff14b1bf888f208af554832202e1e614004a18433562042d253a22f6f532a563c71daf4fb780724db4f05421367631541559a016efdb35beee42ff8ff06c3fb14e14daa32b6145539bfc1945a767140f09d2c2efe29c788ed2dfcab88353b6081c5768fe84f072f4c096a175badc5b163186a85b4903da410e96dbc5bb695ff5f1fc78308ed97202350b39f42900f93e58f63e6827233b576f0e4dfdabad34292f791b9867277277a6e03ee06aca56c56c82e32da2b97bc401c0f9a35aa04d5b6d1fc23388d1728f016320d5c96814ea3e97c9482ffa8cd6628d99118a60b62d7ce75ba30d9b0d281cc391cdbb2321a763907f27d5bd422e64d030bf2db691731d02f14470a0723a3b8c96236e8027862bd19736e7ef5716856b411c751a7d24a4605300546e720828e74b861e3ff2d562e38cb4b9b3bf8d99e3418726c0f38c7b2bedd064627288a46b462aa081ebbcff31cd81a24b5bb2233faebe8efb2b1785d6f845e3874affa53885f681d6fab93de4cc44687f171429fea288a405be77b2c5bf4ad7bd5b090ba159cd7e34fe637dc5ebf2f6f3d769482fbf24a8029bb8937990d6ec3472c8186ca50134650c81e852f0a549628967c6a1c51691c87cfbaa1aa2aa3618720899818027fa70e26208e83b502c238e228f6b1e5a1016755136f24059880272c24f12a7cd46a0f07b451b92263ad034f9e57d3dea6e995290b9d95aa231ab040f4c788197c6ce92dcdd482c695fa3b9c07fe8f8572463d90de4b2658db0ef4f872f8cff5fee487a1a8ca194f7f682cb813d0bfe491003f5e110c62cd3341b5939d1defa875c57b5358d9030f8f5af9c7adecf575ae0889d3e9530b656511c29c114c17571cda4e7c224a606af03fd7ba8b4190fe9400a396a5d76f863d12472d4d9d8a57f4f41ec86feaddfef499e5078d0c52d668aa2daa1f5b4983d600a48142a70af16ef6bb124eac69d471ef465017c40ccdfeb6047427e853eba869b7232d6de27f48ac2e9f179ea633b29541383749e157528fe9fd6f74b0a525add0e77aa610a7b2cff09921cd9ae37277db422f8066e2288cec93263ccbbd8ca4f728b26f97a83d79ea567b0b6211474fa258cf8455f348a71665e96a7f907d4e405999a7f1bd001ba240ca1e8f5587940679dcae5cde02051aed8847aecc7ca3372dd529d3b93b78927804d769af8ebd55b3cb7cd2332cec082b4f10370fd962701984affc8ba48e324d68bde800902a30eb0ed535907f234cbfc063cac84f86f628e7009e07d40fb91ae083e4ff4fca9ee514967da25d6cfe1b8e36fa8128f027225b04be2e49e53f54ddafaa1669e9866383a9be520a506a00c9ec86172a9f472b022c35e3e54c6617d1213c091428ba5d53a433af2399f4726fb58f48ff58e72d6a6f2394bfb5497fb1d187a494f0b441514ea9fc9cae1c5d62fc8199759de7248a8705d63a80f168acf0d64a01fe4cc2d093e23aa2b0dd5de322ce9e0db58729544a28aed86c660476e83d3a9a163139de34383a55f24aa7e229f5e202f2c72222be12af232a3eab6de6eb86042ad1661b7e4961a1c154971e1177870f59d729487982634453c072820ff2f8a2bbb5439e5228ff54b1205c998fce475ea667213a98bc05de702832be7697db06269bf68d2c83696eb8318558556d2f6d04472cd4bd9ecedac0eb82d21209380ce45faeea23c3cc1ec5522a2d47e2aaff68e16bef5c2c58d651f23e9424bbb6c8569e204abfbcb827fdf6c7281bfec60a81d72ddc835fc9bdcfe002ff86ddd54e0eda1ddc863af80067feaf5bded582c22f33baa1a467c8dd7ca77fdcaeb294ea0879767c6599f984581ce7637392cd532ef72c0d4e80efba7b94f5f23d2215f44d9e5e96f6907b80214d47544e5d34a8e356743120584afaebcbdc742cf8f5e4c61775e4b8fd5f95fb89436b070beb9a6e172ed5d0a4c1b5b24ecadbbeb1d605221be9a1a2518636af49ef326ea5820ea1c605b6d309abe3648bd34089390bc530ab38043b764d0fc2d0baed91269c624ee35732eabc55bf7db67e99827ba760c30675947c4102f8d3ea4a6a6026c66b4f07209f371b6b8d50714289a0e069f8c1cf17995f5f6efbed5c482027a0ade084072933b3d7e48dafc01687d55341dbaa0a76e20ce95c997017b590752f64980217265c3ae7733adadb0f92cdd864d6c74842c8f46a3f3806306e1adaa7a54c8557221c36e124e4a0c49b5dedc35db8705a937ca03beb9e24a815245cf17fc4f0b7281d208f198a290c11274b121d389718521bb194a67dc48fd1f1b13aa04bfca4fab7f85b605ee6274cd5014e18094f37a9fde30ffe5a5d49ae073715b1c81eb575f286304dd319e3a0b1796abf19398484f95eb8af0062af74cadb5b6d8b7fb72bed31df13a06be3a4c234dc3c52be7fe7c200298d218546ac6ba0b8ef09f5d69e867e829eeaa454d1bcafc8944f77c6579b110fc0c8a4de3659d4cc1e80e99139dc99e3e3ac1ea2e9cde00220dbedb0fa1f2d3a92fce4bcbfde0edffb8584e553d7e698652c9e15099058340783c7a3c668b5877eea90918930f7febc0967472f56e5a5a539685acce8b0a65342db89485b3919fc167e417b6f5fe4333507b72b2a47ecb6c9dd787e1de58092a9d6c63a27b0743b7b94a9e621cfea3486e14723c39c18a37f56ec50331418dd7d15ca7beecc968dc54172b6e31b632eb17ad7253ad130b2a86a5b944f4793593ca981800e52e78e615d572c33e4f0feb901420eb5b169250d3580e051a5096ae745ec9418055f4c21ac952761272e55f4aea525dc06a9ea80543039c85973c7573b7792fe4960767e6e57a82c21bc1d4aa7f312f77491d18332a7ddfceb8241b82d9ea57ef480e0aaf59c3ec839f908b8db4113008fbc63b3f91ffef9abf7aba3e6e4ad51c5cfcfd9254275b1cdc56e54995721823706a2f0ab61413b05d69bb6a5cf601fc2718891f27b70ad6be984559cb0dffc0d56cb4fee2ec6cb51e8b8ead3ead4f30fb94a6ea518c4fb6aeea00b2c46a0b7e0e1b77f2efd6162b7d08ec9c2f689f5305d18b6152f4e2c130f5785244723c03a381f6eacb8c5ede43e06ae1ebb0064a81c83808cfbe86e419e035ee5072d3cea3627a571b76dffecd5f3919e83512dd5d8f6f12ab27284e9c07a878e7726ff986e19e7020eccfb48ff349700dd79d75ecd7a1a96df4c7506d63af6eae46eecc7059e6b91d5d693defae7148bced16b69289fc1ba24575838449d6b97c72c86364439c81766085eac4eedbaf960be1daacb32172c1c6b25de825480afd72cd13966476dbc3b244e4225f835756384fa8295230a53415aa7de7b38c7dab7254bd0fda6272c63e2a281d428b06b34b43d279dd45200c5759755ba63b3938727fe4899b76a39b1e3323cb79998c809dbb0865c9e3d8748c60160569a4ca68724aac2bb7fe3b810da1a866465e2b265037409ee530532d69f69285caaa79534fd312f561058ad2d128883a4c7b79cb96ab5687618d128f92e1bc0cc8239b9f72098d59cf5783564c8d77e95667e7fc8fecce73cf807f068ac4d4dfa482c6507250828b99f6777e7cef9e2c8306d3d2d1a18e7f6c355499d7de4eb4906604ee0f35601bae4d5020928b5bd16805dcb6f329d435d69193052c00b99e8f36048f1beb8f4189cf483fc6848b717352c74bdad6288116ba9e6eb71be5fb5f970e6a64946e6a6e7d16d176155bbd654bb23da5a23d11ae8127993506c07883a518e83be00a66f5c6d28fc76da9eb2214b24db2de712de250273c76a4e6bf48ca620c72e9198344c8c0691a0ae35ced3b29e39b510f5e95c357e91b7717e625d43fc872aa45ffc07674a791e9b8f7905e409b4f5c493f8667e0f01d8b99a9615d4181312eddf9a052787165556582564282e7264b519d18dcc23519a6137e725e8e9d6131bc784beed76de56ef7899546508c49f9a4614977ffb87034376116a5dcf95e9939301db0f409a8af45853c2a6778158c87f8920c54352ff2c4e8758c9b1472d55c62a6cdca2089c872fea023b5a51538a9aca942530a81866b007f7140aa22bbed96808ba208afc6da840d98230ef1c06d3de92ce506a0c7bdf32281c03372081a54fe5825d98a94c3f33cb24f461c2c22dbad13faa23c7bb28b5e40884572501822cfde35d7ffda70d08dd50f14497907361e3f5eb22b338cc705daf6827297fa6f9405f78373e3528f007197d3695d19dacc66b426f6f3e6a8da6780c572e5bf773b2522ab1294bf2b0e1c164c3acb8b7c47a6fbaa6ccdddc14a2cc63572a7939567fba8f7ef40c4ad4ba6a7e2ca341d8eca5bccf41bd08f3b43f0fc90039828ad2a7f96b35513bf6ea7858460721527f63e362ec31d4c79c58d7ab98b2726eb3c1f3512c3eebcd9a044a30f5cb208490be14567574596b54c6e4683e97296285c5556364e9a2d08c7e49a4c9616ac835efa7c782b1b1128c32683e40a723963917a9639987a4b850c6ff95faacbb64b3168f192ab30b554f93b115e97722c56cf56e70de8c5b4cbdd50ad8da02e4e71ddbf3f571dd31772398b9a96d972948dc17440b140ad4ef8ca1d93bb68ae039ae16dbbcd3d34919e30b86410f4728c3271b62a8a58ff42b24f9fce66cb6c2fb86ad9ad26780ec4b3464a3d9622379445c15730fa2ee16eee60fe28a0ac5786a54c8be11544186f6a59fa41292672097aba660ef88b10666d1fdaa0c4db5eb019371c2b5c616d03feed121a80226d3c6704c3bab98cce5fa293f665d8dedf0222ab9295cfbb5a28263af1d4c3fe72d6c0060244e83e65332fc4afbb24dabe3b4ec12c1ef7c3e87bdda9fb37f2fd6015b92818f18e652d6a19ccd6bd0207e69fbcdd673736449a317170c4a14118722ab872bd929148bad02ec6b644d47425520f81a3222e22d736bb65f897dff449974fbc840e767fa86eca2fe1ea8957166e6682b046223fe17f8726e9843e3c2f78f192dc22399947081a0d9a5cc04b34ba0d4e1fed70033678567a2bdde4f04cc1e15ae8b32e3e838a39baac77563847064dc3b06f11d56b0966d374368f7672477513f191f457eea79782325e7a982a0c6e68f576cecfaeb2aaf96594f4726d1a837b84bfa375ae38ff62aab276469739d976960d158aaa10aaeca670124a3bd56e6a2fccd47a9c81fcd7ee3fb32ee4900d5cb001237f5a9716f7042f5d91721294cf61ab446ac763f7094657a689e72272a5f427d69a73ddccf3960f26b8729f3f0792fff61260a21c0745716fbb48735ece5e99a980343f0bd2ef6785ba721b36a5211a0ee06f3c004f9b5087ddb0dfde62011072464ee6b27e84d962715ae16b09ea7e425d41341104395d5106e4abe98700dbe30f1a5cb6babadb7f2572dc13dd632968fab9c02285ac78679075a50f6bfd1d6b8e14b17ae8e0a3b02b6039fa8c5d1c7b1afc96f2e608932a7b83c1172761626ac054d7bcea37fff8f266b320f281d72738a1facfc0138be94f74734178da66be9dc1ae5dcd6b4b2a4272ea95647bc35d3cfe1c53a0c7993d1b26f7ebdc1e6365f34870f211b272dfc85f06a9dbc872516b953ea518e8cb532b63e5e700b122bd52eddc4e011aa552c372956e11313a39c4e1ffa8ff120aa5d816f60eafd0fc00313b0ca1f7dd3684ca72409d5e34956931f151d40bba0a0faab75ec5c49269cd016fe2048afefe591e726029db7f91b6953847456fcb3fbeea3e55832def789ef4a8b9a876b4e2f66e72508a11accee900374c72999b927777db69f5d536d5eeca897597b5b7267a38724061dce8c60aef257d259ef061fc3a8d2fdf6e70c00ba56a08018176bac00e72edf0ca7569443d2e31bb403f7f9fe964bcf7b6b962d07d6b8589c72e66e577723dee5b5934aaae47f9d8ef5c8183f4a9822f2336e42b5d8116877d73797c3e72eb2ffd7053bd816648e54e983361c0e09ef76f3268db9b9fb105d4210bb42b720d7302937259171c819ed6553b222f236d9b10be1f72602cb649e5c15b620565d80294ccaa48e974ea78b4d7140d4f5cedd91b2b214159df4cf65c865dbf7372a97aea1bafa93c1718416db62a1e6dd522c8461d551ad768a61fe16cc344bf72cbc9e036f10c37441571223dbb2bc0cf0efbf7042b7f598edbf65ba319480e5c6701b55df883d63916c59d08e1b858dd1c7c22a49a1a738da435873bbba001720b1db632b6e2eae94b66c7c5ac00f47076a507e58f793c197246e8994b2a6718eb27a2c9151e76fa8089794ebaab00ad72c78033c6bed92e8172bfa735dc926fb5e2f74656657cf254b34e5b36ea685ff189d4e439977077ce067e5101c5825333ff831d686dd12994236b3272c1cb17d10511169eb52fd8aed5bb1ddf2704253f06e59501c928f4ff220434e89baceef7a2c74405f6706c7326e89f4aad0f14b947188c9a5fc529d2ebfa18bd201b6eba87031f744383c0a9c7d7efc5c27d72512dd72ec5149b0c8ea19bd01d928c7324d69d4ff4b08525ee14fbb4fbcf8472e3442e2bd523cf264b2818fa0b85467261b74ed9a38c81d8f1b1e29c9ab99f0c28dc8751d24ceca0fc87ed1fb6f9eeec323c9232f42b096bb834fb5cabe0a308ed7c928fb26b85441dead08c8fe2384fc1daf21ede370ceb70ccf98973c22c72fd604ed90291f90d67abbd67b04ce5bbd85672cc9701e95ecd8c416370ace3722f7c75e0674a7b53671751f32242f9ba46d5b9d1913610f0aa92de5f1ee277728a42d02054a176cc1780119650f83da12af0eba75bdacc3c7b83b4aad29fa272a75a7762c776bdc88f14fc3889e88878d82aec5c7d034694df28381a8d1212513b518f28aed8e5b741536d8f08f8c148ef69f8679de3c7e5bddf45197ebb41367d38b084d936aeae61efe72d7e1b73212c22278010835be2cb92a68a039ce07279385b4fef93d21064e1847a885d51212a5cd8002f80cbf07bbab22abd80c8722bbdd0760ffe6be6520800d16363ee0ebc5e1718166d082ceb174fde5c134a72f682fc88f53a8b0a1aca55d2115f3138bb70796579c82b46175015e835c00672ef7bc05f6962e8c9d9929aed5b6da82504ce0638629877a236ce232c6fe2380d2a6bd3aa926a3c523e3295c674aa6df45d906da70603b443f724bc446b0c3572460bf332588d62f458fa9ba1956b446655d11f5f68346a793203e6f763dfc00701ac4bdaf7cf832d3d2ea819575d276eca7a79846f4430ee036b5c941729a6724d7f5d62a02f1c28e23c336ef21ee0c1669fce4b2d9fdaffe7d18002c625083a5b6d85008a57ccab46b2795e2f2100bebb6832ee39cd8d20233f1979f3264b72bc5795b25eb7e92ed29a85f0708f95ccf262ce1e66af9393cf364c494deaa77274b96b0f80c03f8fda4eb5cf43110134d4c0ee69361d9558e79080428e605172f73ec1831c2873b5c3f22143f3ec7d0adfc843cc8dc8bf527a71f4c3a6c1ad721c2e80adade3b9d6745a602b423c33cc5799a9d193f37328bc07f47a73e6611dbf7aa4ae42916f5791b3ba3c38ba312812f43722c601624050eab0a640767a4cc22e51133921f545a9631e8e98e4bf148eb79122de2ee312e2b056b5c5dbef537a777c1de894a6e0ae7f471e9043a273ff5d2f9bd7b49e4f58c2d86850694f72912b857d725ba79c3a388445c7052c016ae4397ccbdd420e09753df713eb217285cebdc970b506eef99acbf58bac5cf6aab17ee601d85b16942869111ab92d72987db488452a5920c4066791be1b875e5522823686854b68022e5c4c006f5372fff7c13e049b1acf670d2a34f7dd8f1695672687ff0b6d7405a3d3ea9bb4f672c6236fb122b7fe3cd46a7dd09375cd86895a830588991dde5c719e02a66271726fb2cd62a59cdbc02d9362ac67b1abe4f6a3ed87fa2cfad26805ff1e7cc1376fce0513b5ad3478ee605e6cd278370c56c60784b818880fd7403e158aa4d211723e43b5b87c61b7b5f2fe76757eb9a73d994cf923913977b11e9fdb6c28c9f372e80971b38c9fac50dd9ae10b89fe99ebe2cc7c59b05a4e3900f09fbf0912bd6b5c3c5c0c3b0f86ecfc7c34aa197ce7d6b4ff22b5e21445884b13766c647ef97276ad6795f78014443e0fb7e7d4d17ebde1001aa82da9a763a9f48728b47bba72ff1871110e19a54850ad3a0003d8d7357e056103bf69de6f2c49b23a10f18a7032557c7e1d59d6810e0b06d5d9fa609862fe1959a8f16a0e89b63fcf8dac942c1a76d6de1a7565d6fc231ed5fc346e3f2e2339c651cc8a59dc4c04299a92006344a68242c5e5ee1842c38cab789b0b4a127bf3da1a3c30250e0ee47d4f92ec63312a73cfa7b3e4779930e343a8b25c74f287810721eb8697558210231bfa1412e3d6cd124cfb417e7a95ada4af9a3e910dfb2471ecaf0d6b4a7edc34b3c8b35818cfdc3090db10a18fac9af75ad01a6b14eadddd5e913dd739c2f3819377831d848d3cd7e9556ad39aab1b3b6b698538902201b93767af3511c18dc751a3552844af2c69f5e8a345207326ae093186763fcc52ce311c835079c8f91f3b7a1272d8c8a49e861a589d1744d36cc08d8e5b5c3c1daa76a60ad6e54a9feed808e57228600a5a96bf3f7b295e895ca01ec8f8fb65e7bc37e0f91882e39155e02f5772c5a73adb485bed78a8f547213d0a17c9321a400657307bf87bb6c59f5df23c72efd8e24104c173f402d11cd953de8024221feb942152abf37f68bf4797954a03d8c6527fa44e0e2b11e937ec4e4959eff164ef7e1951b081942885285b335701dd73e863dd76e365f8064071e65b713932c7d0f95664cbec9a77062c83ea5572ece88aae30158a4864627dcc69c851815d513506baafacc0cdc10a510f135227eecb8a48b875b84fc1e30b70851508e23d78a7f2d63f1971d8a26577f8ff081dc1a829872179886f11902cb903c483963c0001e09adf0302e9d6a9aa0140dc6e9ae263700195586b9a39d09fec2b05d232335c43a4b41d24f9d85904866db8721438326a0dce781c75acc42eb2715dbeb8d855b0d1c735e875c04c694045e972661e08ff23d9df2e8c6d88a7b96c970f09c700d28637cd6e71bbd0915af44e72fbbb606ffb17ab7956d310d79adc1b0056286d76a48a8e3c9f783f2e3e80305a912b047de884570c502e9092d3cc4ee0e642f3fd962136fab0cc516bbd03a856f9980e044487651ecfe7a2826891d55fd4355f70f80d37185293a0a9d91b3c18c768181056028f44895a70c0ec4f39e54a3018cf2839884cfe6167ca0b62ee72fd88ecb260550a093c8d2555ad6e2aa263c550daaa1d5f67755729ea5767d10e3cdd020a44ca826b5174f14ef609ea9fe1d67c8bfcb1f60c7bd94ab98d746f72265ee3b8ddda120ee9238432b73dd785ff8f1f4b503132628d70156dcbeb9b728249818caf6313cf1bf208aa09f61973cc9cd05acc24d1669237d20b3dc686728741b07c801ede2055e4802344dcca491a2c8aed90a89486a06e621c4446aa65ca762c954a7f3e4b2c5a99df73bdd63b04dd409abb68879ea44c435ceb5a7572590eee14a08672878dc30ae04950d442487983e21a41a034019d088ae45b700a0cf8a72ef5650fa69fe86bce47701b51c8552cc8c484fc15894aa9b23e5c8e7207b9380757c61a07e4ce0658905c5d63e1b8d9c91e7fcb25dcfe8bdeaae2ce5b6025d0dd8fe64fc85eb1ba32f2b696fba3affb8bb95b549701818dc6f9e36e40de48a737396857d7d4c774a66dfb3afdb061caebb09905c4866f296f95df8656b6604373da7aa6b2a88f573887e22fbd7b93242b1c84fc0c7c06799e0ab209034dfdfa4edd4d8337252f9e7c1d6420b4fdb197dab4b4baa1c90578985461962a51929a87c7a64ab51d70d0c58ad7a87f171fe93f4ca8c2163c45f373070fb872e9799493c0b599c566101f9c28a3efa70f354c2dfe8eaef7380723ff5238a672a3c75bd97d43573646a9e67126450e301e60162ab86c7d85ebdaf9d3e4cd1848af23531b93952c5ba8672669a7266db59194c58e4e4803252d653b163e9b240e60f20dc78639493a31a07db94f7d9894fe638f94c7e5882420f323b575a9075528e409895867bb3bca46787172abef81947677ba0556db1652268539bb7ed75c2e94142f79b434d17e4370eed5261870a7525a38d664ac3bec98ef95a2d66e6cbed83efb6181fe1bc67907f70cc243e3ed0f56e79bd05124ff1bf712ff31ef7201fa6043ae25d8054873982e3aa18dedd4d371b1211ffd84d1d364c6fd01f772cf15725e071363b369572570f973314e9bb4edb6933196ff27acd57debd58e726805f8bfec5eb604510a0f01276f505b2cbbba2896a8558b4a2bb2e6a1405f7254a97c6aac35396c63ecb5f89d81c4dfe54e6cbc2535f4f0dbec45cbd6e1d90934bbed56bee3030a14e295f05dc36e696649d190de4d35c833d6c7c015124b72dd419685a1244ccb8ab3659302fdb67bc3723af35129c83fb2e0fb15517da5319a654966bdc4151df39aabc74bb068bc812b2660a8689fbd30c084e0352f165ac4067c185450e46e3a5af21fea870f0ba17814c97e167b503f094c8cb628693dfdcbb690359d22e16b9e6f37936694fe1f7af751ca3d1a43f7efc71955cdbe72d07a9b25d5db8b14a2aa621230f2a4a55750a1e814bcbe666ecc74b4e85ccd729479c1893f9b7a8911a691a7c8d450ca761c96966bfa1caa549c4df2bd2ddc651f71ea33b6382f300da7b9222184475f0fa4340dae681a928a4f5c25bbf5d2434fc55de02e5cfdb4eb06929d5668d4b9df074ee289d31a0ded190fc24e943c6821296f941fc1271bddae1d451077c545675588dff4ca18c29d2b5fd9ee3ba972bdaf606d27cbbf6a370386220bbf1ad3f80e76915cf4b833f9bd8a421ff31572f7e7f2da6ed52665e0ca49acbbb4092e358734f8aee7562c9bebc31f4c160372c946bd65e3f6c373def15786c9b8f35094f97c29ce0c70dafe52fdf382416e03b8e8967eae0ad8484bd276d1afc86cac19e86d6b526be04764c7ae62897b99331ce770871bb83ed520a68aafd66039e551a8e0766afb9458fe106b5454955f728a2f410146d31dabbc99db795f933510c7c42e81877761b4a49b28b1ff82b76dfeaed54f43f5b2534693518fe01dc3de70ccc3fdf71127a878e755da0d48dd7286c3a5fa6a13771d15d10f1536f6cc798d2d1f4036176eb25ff5fbd4b8abc7722b5f7186ac18079a5b4f2c593ac65a5b334d629a00395a49279a9dac4bdb49727660eca23f8fcbb3a04b55593288522ffe51b5fd4f9554b57ebc5af00bd1b9724d53618eaf75bdcba14d81bea82b6f8b82450ab6f3a4d77c15788738626c8572df0e420b2bac02d988d4cc046544e8357f6de9e8d9298acbf6d03b3010d0af72170d6b1b4611940fccd3aee30bce1569d37967353c17161adf24073768c3b16e0b9237e69a43ecef6ed4eca673874751ec6d3dc07911b5d66aed04a4ca33c63bcbedac12e1d56d7e193818f09b65524b74ebd1e606a7b5c702c6a3b4ecb59c72e554cc4cf445f547e841a2cdf7df9c43191e9a5c16a65f2e345b107fd2d56a72b9f958c1a7691d5567fd902c1a6d9f2a15d8c1f9cf54f6d4f7fb7c68e22f3a7202319be3cddbe91adf63b412e4632356dfb6c0a1ad068bf9f520d668fc159272872c73b17bd27aafed2fde0f1ccda94499f2c6f7ff58a04b18c5d51ec2473c7241b9adeebec2f9e38baf933093db9a4eee3e1b2e586adbd359d0d69c92606e72d614782ec5228e0eb81fc24ea67f61a09b9f2e8ecec74ec63b80349afa38a0720a0d9befe109252a35227c15dc3db2fa369274368d3f20d91f4b71ae96f15972878c2f6eb8b7073561eb56a54aaf7d3e4db5635c24dc740ca0bb09a5260d5972d9eb7acdb3eea7fd8e153ff47b483512b367abcc9fcdc2f49e60be2c84dd4a72f4b802edf702c626999279d6ec347ad95411b743471dbde076741527d673194c35e20bb1657b5bc97a374ebba687b6acbbd337a171220825096f4d791e2e7f725830e20febeac54fa38b5dc2aca25749731ea21e71ef2945ee0a054cebaeca724222dfbf734eac6fd218136db835fb5be9edf0318bb981e4146afa099637bc727dbd876545f899c379d0829c56d4d6b58a96ef6155c01105c823233d54b69272b65fef069b27d71c6827eaec97f95e111760a2d613e465c070ea5da9b0c93a288394c5ac1c24c80fac5998cc18b42644076a01c51919f58e1e1a395f43be4f72bd23a934ca531c384e51e8de5c7e58129544d9ac370760c4bc9d58148a5e0c4af5dc54682fa105f4fee06ba4826b37f3b9ab729069e7060d04fbf6c854307372cf1f60f8f2b0631cf324543039a0171f50257c33ef44309d26d46a55a3c3032d4cfe8f6a444917e18eb26dae8761bc8ab65a3233395522dddc766e1f6e0113722b3c53d3e9b591df716c3038bd8ff128b6e992b3907b14e55a6c461727b12459fe07579e7c464caaaf7e826dee1d6283e1bb50fa38ded0cee3f4bfee73ade8729e2fc6af4f44ed26fdbf6750bc2fdf72b9342872f6fe9531c186a303de273b1730257f44363dcc4407de5a5ec68f8de5cd200879ae38cf280c27e0835fbb8f7205a257818ce441fdc82f5ae3c445fe85c8fdef148a270b64ba7c0d84013b9e31e6a0d0b296db90a72d1c7587c1282bbf3e05502321128e4da4059ec7cc6d1e72dc0d496d2ca82d11d2a8e9a4eecc165665f46dc84b35023201ac109ff6598319881051684ea09276830288050e1c2ebd1191777659bf0afcc9edc932c99bdf72a857b1210c1744e2c1e599ae93f8840ba72c50c5ab9901cc272f9d0f844de072f78cc50ec8c4b9842d67765b3e2be23f48ace770ebd3c5c928a3e73b7096b6720d69d7871313ab1e6b7741b1dc0026d1d8502fbe911a50c0cf6b86115da8cf72b9906f9b83f4d831c648f22e32161c808aaf4d5cbf2f964fe7d11c851feaa77261c1eb82ffdbd6184ff052788d77b1ce0c1f35d3711dae915bca46079956ff5063db7e5bd12f3382b30f9bf5942acfc71d30bf62bb0f3f9b69346f8b67648e2049db3e127688314cf9eec55d569860b5c6eb2c090175faf3955c53b665c66a08366870ce31d7719c65bdd6e64739f92a5d59578e192695a36251d61830d3d735f580b6efbade05b549b7aa27e25603adcc56d48aebecfeead1d2a5937880857218012b7713545248076f496616a0099ead0b62e39aee38bff7d5250016b21f725f26e40603c0318c2680c6d1b33adf92dd42d0e99ec5aa2686730dbb9b257372922d419af8ce3185ebdd72ce266a4a6c2d6e916b05ea4e00bc40f8b60c41f87293bebaaccd089332f5c701de79b0994b3601244097ee060060a670f9eae55c72ad5b19002bf7703fbc9f4cee5b53e21408fff76225043c39874bf403bd8a4e72c6460a0af7b832e79424411d22e78511fb9b42de43f0c249b1e86f544176cc72ad65f6c5782a6e410d249a9df41904626af7c0e1e62cecf936ff5ddde5ce9072114af528d17e319b83555c490349c2dce51925aad4b5bc8180856395ec157033161d00b6717109e794b0d7e5bd39bb886724a27400074142b0f6b31ab7000972005cb01f19e13f26b303671d5bc996dbd6ccc094050a2b60503473ce54cb0412bfe0c154815145e5255591346b927098707cf069efadedea4e1161e059e36172dbb91c18a32a19f0f2d219cc933471bdb04d67d8f60053cbcbe2a7928c6676722cec29750c7b5ec88de2b4db0e8a48d41a8847b104930faca8123f9794802a72a2a73e3bf34542984e479ff06e3fb29fa7a28953085aa739d3be60c3720feb5c5e1324721eb30a23a5ee0cb196d98ba7f6456ed8d71f5f8021c70908f42f010fc0aca7c412eeb9fe543ac59582f7ddc645ab261b85aadee86206a6a53cccfa6ac39465bbd83df729249e1f6c35afea4521c245d7d6b6448dab6e4ae5087337725e8ebb24d10b9b5f742f220fe0ca6aa817d1bbf39b5b6eceffaf8f0c3afd4b0ebd0e93fbbae0f2c49c3eda1660bd5e154b14fdf5e067873c78bbd479ad51d872579287f67d7fd4c54cdc4e6cefaaf1bbe0dbf9b9407fbd9e65a2fc7787410972dd580cf422068b0b414af25c431989ee469312977deaeadf8078718d63b5be550a32aa25e430b8b0aff8c7a88cc39380319cbec0efffa3bf2ba227fbc839977281c11377e37366b008a755e1718815dd445946172538f98f1bdb49348a2de322199c942c5f4d314491e402d63f4c9fd4ccc2e7fddee95d1161aba5746c04d040c88657e8639e67e7ef28a5f723c755e46d0a61ef6549b538353d04c67f5385627619df802b8201f1ca80bbeeaac009f7e13a59a4f5355075b99fa07a7b832b5d430a0de02579945095cd235c964a5fb17fdd28cc8e5874bf64ff819cd8c78c72cd3083b11f9eccda5d531ea10c15b19f54a22f11a2d318eacb0d511068957c02945e799b3a7a65ef95eb4e771217f4468e9987f0a65b2f621ae5e1756b58ea2d789dc66d0b7761663af2f7dee1158c6555f70acbf3426401b14e5059a486a36cc937cf2fa3326d0a75bad27f8cc77cb7e4d1448d47dd420f5998b45c09972f1a1009066023409b3b221fce69c98283045771d0fb19ca171584a461766c23647243cdace371db589185f10e63cf5bcf7899065a0936fdd66acfad24b3e08005729b1198d34c73629e4bf4f17987377574bd6e1e9006f8e02912104aeb524e2450d2b0fb393169f8019d4d7eb9270ffa3287595e20374e5bad704fbddd29ff8d72c3d3568120f8a232b1351d04727ab92012bf7b0ea5cef55701262f1a0292f90f8c4327b0bce401b7c53d41806d3ce3f1a905e6b8370de133cff82f2493f21572ca824cac3705b00e2cbc7913c2f6d91feeb8349ebcaa06b83b47b239b4b73a5b9f7a3f3918da5df373fa26809ba8aecfd587e10951caaedad98f5e5c446bc31a4a0b69aef932af56f3da95e7afaed22c100197ff960d02a3941044290acc530fc6c0e193b1aacb255d84bb9ece5452afd21bcd5d2e703b38c54cf4e6006754721a42aa9a40598796f53f1cc2250e37c3ab90ae606d08b9ce3dcd43485ca7cf725271039cde880cd41d574524c65317105a9e11b152798007862f39d58dff2272e4c8453e2fdc146c697d2eff090f5c1725b0537abe8c511d90c165f2b6bf9d7219a0c371f627e639e73e74608c919a7039ede1fbf28a61a904e1f864ba3e5672886060ab118baa3c3abe9c8c258c0f4fa50c9f8d86b793bcf39c0fc4e3913248bbfa48d7b4cc9a28cfd9e7dd291e04053e7a4254b9dc3fa3d6d604b28501aa0b6fe66f62fba2d0a4e8a49477e7d10837bc8ed9f2a706016e51d7e20057b52b72d9efff67946b1d13a2006f0a9b899a7e3683bf9add43e1fde327fd68b2f9a8696780c3ad99879d05afb35ddfafe325a79558eeb8a59b0925d5776cb3d316b055afc8962490b6808ca9120b366ff5712d68310347c4b07c4f043b2f63214f262dd0f93697901a8a58f424ce34b7d089ce02556435f2a263622e64ac5c7ad16d721133b1d6c960b08230a4821b96a79c5b1438f61e3121a13fcda05f8fd4c15f7269327427ff2a9166a992af5355680f484c6627dfd6c8bff8ea99b58fb513306077db0070ae0eaa75e1f4f87f1a764a3760168a264715dc611c2ff70380818428ceec2fe72fb5715151ea6b898807a426f26e79ae116100c88193d974c32d4c723cbb883df224b70b2be0fb23227b77800aca7ce87d510ad1900aed286dd3e7729e6fceda02bec8d2307107c3a4d230bb33d969dcaa2f3b646f929735011a9d72a198a20e2ab7d09db164431a8d76b6ea79e3fd31f94a6289b4ed1c0c631e3a064b0091b0efd9e2f115acecf043674893f0319032a7973582dc2340aedab921725c24809cae1ef52cb45a90302152e1563516a431dd16e9ab27308ae6b3066067a48228044dc07958471690ffa0a651b69c8ff8936a30429a636627f43e99e072c3d0acc875e7b908da27026e24353fbb0607f0374ed46e66169fbc0753947111b920c5809f7b12cf264f0e2695c20f5531e4150fb65898961e90e648b30b7972966a692b5442e7ebf41ab4bf8a611bc6ae6d3a264ce4176d15802cfa5c1f89562562c72e808732465900b74d8c02808ca5da38167743465bb19597b4bb86543de8e76555d2501874f0f72a32e3be0f1d6e73bab6101ff9b73a83fb922a1c1072df95c6a2eb4d4788f718ee6ab28fdae49c6d8a54ed663a50d9d0e0c2faf075720a2b6479c6170e3752225934e2794d4d77b619266add1e2928512d19751c6872e4caeec681c621ac62eeb7e9071524964df41d905cd9e9a689abff1c75c89372b45844d739e7694ed06892907cc5814f4f40f80bf3e73f5770b26e4229b991053b66e8e7141d37bb323fe7efec9083c6c623cbee5ff0f19a2d56b5ddcfdbe072e8f0d9375afdf7f2d4dc543657ecdcfb37d9fbd32299e9578a70260661f2501594903b6f186995c7899610374d3612e2f37b813b2713be409ee7d43ebce4a572a4302a043ac293382f4d76d368dc3341dcfdc522068a93d3531106ac1a3ef630ff3de34611c019dc2882a860700b0e4f7897e62cecac7540572a0916cfc46a55be97881f2d80659cdef3055891b119803a6dad4c5820557ebdd49dd7759e1b4703c63a32da2a0919f66031cefcd6614dd29bc9de5f7ea5228f74b58e4b218172a5a16e818fc1718d0d4b1e0ffe7bab2ab4a006160fb1f6a687e67186907fbf724e2ca47b382e28f0488aa009506ec01770e22a8a1e898d5f36dd2bf2a4425772ff417d6241356454fd26e8c1864b24e41493cf69d49df6cc9804616b14b2f072dd4e4462f0dc5780e80d1cfae290803ce64ace83721001855092cb73f30c8f72d45ebdbda7900cd728ac38ee72d1e996efd457e79b464de7554c8ff4efeb13229232e281f7cdcb2965ac5da7ed82e72d9fb7129d640df6ba978c95515823837284b568a73dbe0d701fb0b2b292ffb1ad9727f3b5c7bf81bccf6f77e2682bf572855b7d46d797963383f6d4e1a94e32dc449baee99277ab047803df2660ed9955c71d70404f3522bfac0763ba05315ed286bf2180398e5cf325beecc7c8b6481d24bb4e03ab3b89cda256c485774a2e2acbe9e6c35577761e4fc95a47f7641b72c531784afd5192bb55a8dd1c139d58df313c601590a9860fb150d396561bbf72b965606d4c748fbe3a76647b230893ada861200cc80b373ca5fddf3d46eeea5ea40e0c9278731bf5ec01aa3da3b8a3ad21f67d6729ff3923e463d1c52b08aa19cd76d343802b764eb08a1af3f452d7590d88c92f76a7a8c416ad9638cd99257248f71a4e2ff20067c123861ec7506232fb24b136f0131aa519a4c73b472c8272c74bb109591b678b6279d9dea28d412bee79530ca8aa1b821a5856b0b019d61f73a02226f88ae1dc3f1972403128708c59083220b925db634834913007b0ad08cdb62c6a94eace9e4dfc4ea44dc2f5eb4f10f73853f32fe43b31c94a943a1e726c7d7e4203ee48b0e8dfdca13a899cc28dc69b0f4d37fbb51f4e2aaf10564507e96557f06fa5a20eced591a30c1d935bbaa681b3fa39683fb4dd9428ccf8145cb1624ed3d681824653bd7e81bbd93ededfeff0897e98787f81d3bc07bc29b5721a27002066a9cbc638b1088bff0343a89d2d2d9340183f1ef8ff13b26ff02d728fb83aa3439c6bddf89c6868e03d4c55633f065aa590d7d51bd9806101680572ab51ae0ea3b68eb6bbb4fd9f0310ceb1c7738b3917c2963b5e0f5afcf2d31f727e47027848e48861ff58c8fb4b194b57064c98d05b645c53fdfb1d2fd478c94e6a3ad7a77f5c82325ea4c71ed4da6be4cbcb51a9c9d153da53cbd922aba247723eef0b8ffd53fdc74511863803d0f230e24ac33b87dde4e180372f29cbecd2727e5f93fb3faac1b839b3a582d9e4564938f0ae0c5cb7cffd2d831dcba50e8521d62e9be417ed758bdd4c1e413158b62161a19fa7b5ba452142d98b104eab69236e9df8bb838b5a747d6f846d8bc09c24ed35c79f0d9a1556515c995d22d1f15af706c8abf69b004ef20fe37ed6b14a219978f4823b60f7c06e3f9f8d3c3b2f2edd84d9b612591af28c715316d24b4cbfaa0649efed51cab6dfd853418880dc72ba2b9d8fbe2b52f6179a5ec3c182dc3ee4eef1e97af99999bea65c226abe6a6af49c66996d4cb284da2daf0a7c01ca2b6145366639a7698e11c6f0d4cd769f72a1d9be2321a244372f11cb303365644692fce32cd1a8c6b438e90512f6fc7772dbbe66dde0bf304ba4d0f60731afdbfce47f1d9b6c7eb753aa29d01c83790b724aa4f31b99e0420541504a0771a6dd8a32cabd5b35a4e92b6da5b11d184f1c722526763240f6bed544587ee8ea0bb0b0f420229d9e79aa926f85fb8a0cb7d0720430729f360d17d2f14fd512484df73def713808d5bae996f5b7046b034532725f42d7747cb8706c64db92c5a74328d985a4f83dc05586397f68f2478534775418701a9bc244fbe6181c34ebbb4c847c8bf9dd8681fb138710a885ca1450cd724093e5876d9060957b83d1162f016b2fd9a7f9720af2b622a090620cf5bb5472f93fadda6fd1460281d5c7906950b9c820904e76a80888f0e69dcd4f5c349972c92af4d0d22623128497f058a0cbcdf62ff03ce9019c4416d79718c100de6b36bd62c165df6807692d320dc35e45cec21f00e7af0be5e4e930f963f2d06adb721b35e8f3177812747ba740c7c85c3ebd5a636457c27d703e18bd816c10b27b418798471c2282eb778659742ef79ae008c716f27b12460a901fdc908b3d6d0e50498d82a9e79995d48b85757de980a9eb086ea7361a9b42f3284d6c3a6d841a726827c8a53cf79d1b188a990e129427901e7f30bd23f0947203ca6e8ffac30772b8aa5516ad890417cdd23263160b3d270305ea269f4ead106fbb080fba50ef2241540f4bc7a8c4015a17808ed0ec6390d7bc73832ff57174887283db6a0d6448e9eacadaac709e1ee40bbc91b1fe542dd1ed7dfaba9e90f557652754d5d49b729bd62aabb4ada07ffc0977be0ffabf52e35b4f937007e909e59c60d871cb99722af793396c03555d11e5c209ec46068a1e06c17c3f8cd0f63afc58119f533172ed1680c3d9a7e730ffb204af5b1848c9f46018c00b40016075d27e6861b5307290fca2dfd4574d776106d7ab2f908752f358c0b7af4a896ca11bceb8ee29417291ffc42e633b322a1403cba10b3a21dec9dc601c52968ba849edeea3a0e5f020e7a855fc93603c71052bbec3122c7d59fc3ef10bb9b30995ae06a1e0fe9a0b4d1c99da3cc28d05e8575cc3dbae7f6462df7d6423971673c50fbc96599bb2c45d270afe403ec9ed6c8b6129ad7294bf77322f65fb244ad3d6894a2bbb4415f86a2dbe7f3670377ab25aab69e15acbf31fffc167e2ed6559216adbf62914818472521e1777c64bf11ef24751462458dbad90c5b2e63711bd1483ebe66577905b395e202390e1c780f9112b1a22d55dc96c6bb7acdd1b74e062c1cae64b1860d166932273e09016f79b0ef791f22368fcb2a3ed9c545d95feec334cc3bb93b7e2723dcf8b339e3499aa627c0602b65022e572a061e3caff22ff66fe8ef89edc7772188f2be6b8a67e39857aebbc7468858c47917a94bceff17f967a42e30bec10158feffcd8e46a9f0b19c7ed7379cb4c03e46a8e53fdc6d941c31cbe68c363897204d2e2868d9a7d503b9a2a26bb2e27c0d9519f62ccea7eb9b448c9a81559b95e3fcaeef02d65c2cf099d84e52ac67ccb588cd7a15aefa966301650f0d4c08e1b29e52b543f1524fdbecf57195426683c36e3ed61eb2932012d4669c16354ab72615cc2222f75016ef0794f63905ba3d334c53051647026cbca71b9215cf258517f3cdff8e1d12044bc6378d4b2ddbb23cbabb0591be2adc7c7c473e41b899072ee32127eab7d6f1a2eefdfbb2d092a6a2b81d3aae3e3c3d2260e2683315ea07293e1ce8ab4bb360374f01f392538affe9ca832e7e4067ee4424ad1d5053fdb729cd36c0ba20adc2f68cd4522a1cdb601cef5e19226c7248b5d3d0641624a8f72311ca2855e8a59c50fa937ac00135c4196b2c2ef59278f5fefcad5d51d734172c7b604e42d29963bebeb2ca5bdfb50a33e285a5ae0f8b774ee244d050fde47720f144443f7d45e437f0d4212eb7b1394958751b58ef685ec8e2dff1fa012cf722fa34bcc25d5499ae7258f5c7ec7c0dff1b1a50e8e82febdec28e48ea7f8c27204c3bf3b415f0bf8cb341face21b5bc3d54d5e86591fa11ed723a53d9e724d677f3a6cfe94c3aaf034994eea7e853debf6b4561a7006fa9022a2382596c92a728e9de5198d93aafc45c56e8b9c5cbd6a11ad820fd39e12db76e1e24091fab1726bff96da79547f0141000ef2dd4c32831f78b513b51e1e850fc5e73ab9bf2372527c945aee40bb4f8d0aeb9c639fc12b2e3e96cb46b9b223ca0f64be6b200072e9cda8fa76dfe24fcfc26a5903c9800d34b073cb6211dff8a009cd72987f30728d1f065b1bf912d76196236c47f85d5e1ab5c09770dfe51b0c5cc8b9f49579476ec974c19f581404ffe13a94e37a4e9364f54deab5651174d96a58f747a84972ca921ee2b03dee647da2fc307f037716c85cd002b11e183742e2593a83880e65ecbb272a0771171d03cff9cea189db40ddfed630d30cc211823a9b09340cdf2b6bb0b6dc0814088a34d82d1f50738d6d82677ff08c6eca791d9cb06b51b8a4728a1173748eeeb695e9f9e3f215f4e14b4ee7e8b94016a0d2e5dcacf4610c141eb307875e124379bd64d5733827f614d96bac69c011bc5faf76a54ae46297536295d731970628409025d783125644a3067de9cec30568386a1b4cdd18ae2ba972fe831a0896f798af235d1199f9f8173210b91535cd897a783e08285dd664587286d36f2e76fae2ed9f505459a0058ffa521d3cd6c50f402eb06f38ca1933a8723848911ef38136bcba302eebbd6030784ec1e90cf4f3ebbb2429e48193ee457265899a30cfd28255dfae83a451db3ab3e18ce7746fd672ea420d470eb4756e676a1b6f9795c715204684677a6c3df332e7b8ad75ef86dfc0eecf5e44ffd8da1a1d3a4c5424ba197109f3996d7d3cd856d452bca702649a43f8a64063a65b68267cf9bc6804ca99cf1fbd28c5e7d60e737d2f9d22fee688b50211e6300bdf1a72126068cc0be0ee5868b3a043c07b7c4e519a7615d9f499bb631b2b3f5758637284fb6d5589b33d529388e17afa4ea999b831295c7c1c76b35d8966b746720272615bbf2bc41bd3f35ff47698e28f992db1e5b247f0b9101a5ecea9c8635eed729dcc10431afdf51feece5a74de804f8604e8d468d9904059e450590b1f4d3068219fdbb004bb485c7f4eb606a4249adec1c2ffc5694ed1218903c782d5044925420dc4451f1b8991263c236751a4adb46de6faa8b3a30862a4a281bb44c6c172ef9c44655040ba61e4d3860766868ec2a9e0e385025d06d2bcf9c554745a54472acfd0350f2562f4df660ff3b19c6122191b8f1439d10b363d980d8e279ed80f9b0cdcbdd387544dbf499bbf4390b44ea7ae57c69b466a0ced17647318c8f772ba552d55ef08e553f40d9d9c079d700de06f2bc5ffec321485e77a7ba8232e4248e248482a67fb12a324114a2ad11874f50c275b37c16206b6f5ee01f142ff72e780b3e5576759c1d3f87ed05bd14314cc478b0eb5e309252a396f3f37f07772f09e889228273a0a84f6b1e4ac9f975f5ef37f2e5657370d1c4a7732a242c64aedc8547df3a9f2c3dfefa7e8a42ee9f2f96911f9a7609fe19638dde538affd7282dca678f6a8898490b474759f6ffbdc4cd047da423ce3bd0006d1b220b4384ba4402762fa019c8987edee313f11fa2194f1abdc6aa1bfe2de18d0328c3abe41a03b3d03f821094664fae13866d8302313471fb4ed791dade5ad38e00cfa1948a853e8ddda641dd61ce1139e9296999e0103b26cbd659563df2011bda71e8733ec10241bdb6f63be9c4f6f7ae6a354f56a04d2396ecd2154f1ca66192d7a9e05d9c9c142694da4b45aa7e89d6b21026dd4ea323b6d9f2d30c21d4625cb192c496daf7e338a2e363ff8c1d1cb4ac108bdf9d2ed9d752c54cd281794cc88446957efe17ae39709156872824a2da9cf1419bcae29b3ac931d1de4f07229e0105c72f064c37395ac240308356811c5952234233654bfbbdc796bc099e0c53d790072c76b1d3f596b0b280e9a95191fce54b0ec55e05df8120fd6c459eade68221472f32d0e365169b432fd6caa87f9858ec2a2bf49607cdacd2258c6a7e00e4bf372925aedd51488a09a558d184b2a1230b9af6f85b70dc1d33af22191b884c5c413765ce5227d9a089df91a4b8e1e35f38224b6cb324e2193f1f474a8f023343d72328cb2810f21cb8da0433e35a6568c781593e94a2351ae7fa5e9f4c407105672e1dc21b6182297759c61d93ae92057b79a76b239004f71d23ff4b9eced5a2f720f4309dc64ca93b672a172036c0760ec2cb47184c466f7f2c1470784c74fa572c995b0d8859ce83b8fdc87b2756595321d3744e04e9da421026421bbdfd0ef7252cacc4a54bd7fadadb986df729911d7f9a37884aa24636d8c6c7c14faf8297227330d980f2e1d10dd3d2acc7bf999e8348f4d605f84fc2a1311a236c92d1e5645ba10cfd74374bd772fee30206d096de2e46782d918299ef8f9ce5d7784107295d74b5e7d5e1fc44ec23d1bec61100df6dd09942b1eebc10f597dc3026cf37293c898909c13a19e4384cd30cad810303e122e42313318df947c31b2c490b26b6ea1dd19a079fb49e0c592e0fc12f4ff6252d54e3877d1c9d7f32d7af85849726e06312c35b5113e1e192aa4a49435c64b5b063587949df05e2ecd2711c86e7282c4a34a573f98f8d98a42afe5b65b99551fcbc74adfd5c159eb0c427e2fc47271b410f7004639cdd84537403b8f13ab77ceb6408cf4559ac53e6479ba88f272a859eb3ed8956b3d9014ed2bf5b64f166691904c0daabab784d97e96e7446e35cf7b9a5d724b529cecbf83d10007e7afc80b411ada48095b495e0bb83e76497259aa67890522d0c93870841f2d8368b1073d01f424f48ea137bad9810d1d5272054e0a56029e1581ff8d6087c26a678837e19055eb770bc9f1b90567f024bc727caef707c9e432c73b12ba51fbbb6e3cf079fefc28fce27ffb35f2f35ffc7638da9cf041222050b002107e3603ec82904a0e8fbbbb03e4f60b827ddf570ee0228a7fdfbd4a650c951ea758c230a210b6aa2d93284450c91605c0ea180a244172c5dddd544d096478e07f331b7f67ce107ebf45223701d31634a5e7e973b9695ed35988efc6af2aefe7f0f71ba82667d64a2a406e157291552ce695f64d61b272f24256031168e68744972b09edd2b4582f9a8fe34d1f418dfa0781e9a6bac515c210c6d4b218cb187e2a3ceec1f2b29ac2a84232ee3b8732d6c416b246de787204a686ced76e83c4f242f92d97451642562ba2cd6a93e47391a11209e338b71a7a1cd86336ea42c4fef5ad63c7323ca4ec74166180c3076dd8cb2559a750e5724c09d3fac61562d55fbd00ffa9fd24d18ceb76837733b55fddd41c3e4fa41972087b38bff31f11cbb715c1f13f50c35c01abbf7ec135c97c08e971fe33e84272b56b20ea6a40a1b02306f8f084f78047fe5b07d9e1744f5aa90f77421965a57233ce8884246f0a42ae1ec253d170da8bd8f1eb592c1b4453240eaf099f064c23361f47263ddc8f0d819f45635015238d652a0704752c29b3bedb2cbba5a0d0720162d39b1e095fa6a60ad57f93864ca50723a24abf30dccc0942152cedd0b41b32bfa4cdbe2953984e6dc30a8d364fb6a65e1ae6c952237e5e676de6201a8472a7a52f9b99324d5fbacddf58fd2cebc0ebeb2f9dab86f892b88c791dcac6fd0b56034940f8ff9f643f8bea780d8258ccf741d7973198038ad5a7e422559fea7205cabbc89068e3ac0bc4cc7cf9807a4d80b78eb028bf25eb6c1dd07f6b349772312ba8540f89aba6f251f1bde673d25600b14da8be6f4362b0f788037137cd72b710629ce3386b4436dac6df16be1d6d5029935b6d5133b79f45a9478676c972a834c091849fc54036f6ab315e6c9f00289666a61024ba9f81e01defe1cb6472041718f9cc13a3625a4b554a9f4466f248a56b4fbf54f88b3e0f23f4e21b9672990b7035e3bc21116bdddc324cf629e01546e02c7b039bf3ea6b9ac723adcf2646ae589d8ff963af8455e8d8185fe277678a14152d971f043f720d0504fca5725c268e615a37d0cee900e25e9a70d02da2a87b8fe88cf45d1c0df5494dcd7a722e8786504f7a4281ff6701d4e3f808abfd0d5a4915dabb3eaf00d1742d78256da0b13fecdc547c92b937d45099e1f5f63c200fd82941c8d1b8ebb29754ddab0440a17d3730e2e4259e6036cb1462e74491ff93fb23b91eebdf7fad3102516b722bf178079d1c07128fbcc6f8d0e1b1c0f664ccc652ca594aee359835ecfa3372a4fbbcde9ff7275aa55159887de5bc6e9a42830b10cf548f2d628ad1d7958647802919402e3bbed3f66ffb100363c0d2be4c7f18932188134a7b5709d65f6572e2927c18317608bd3e99d888c84e85d1113fe68b52b9b7664330a61ce4ef2b726b22d58e5bcb40ef6fdb8e083054a2c58a7e6ddac0be3917ddc21ec25a6d9a7240b6787255e1776e33c36f13e3e317e99d9f56b18731384c46a52117c5dd767209f911ed86a8114757958257cab7115e433d3d554983482805cde0c7348cd2724aa08d6feae5752e66d127077406a90704538b84a08c2baae814540880cefd3385fb90de01eceeee26c0e08605d6a5a5ed4da29e965e2975736e36e47897b472369024230f7a451151b75d18a24527fd4f3ebdf548da5b786b1ffcde1c6e574275285514ada71e001145dc37e927281b493079a4fb2d2c1783e1bd5274b1c772ffec223670fc2bbd574e08ec5bcad680125bf7ee6f0bba4c06518076cc96bd713fd9706c8f2d3c025a4d70f3c063e5f81dcfbb686dc10068303d84817ae0cd72c159ee0b559f6f1ace6e6300b52872395e08756629fb8bb5bcb2961cc4b63015d26d3da4235b3abf00245e250155597e1c43e4c23b544b17b28b7cf4dbe12972ded07c132a29218b3448aa4a5e582cbc72553cbdaa41bf57bc4e8782be60515cd2e0376f4a27196a0e85e048971fa437a61df96166b811c54de7f5b08132a572cde5b3dca9db0591f64689eb087280f0a204843c56ed011c9fd1821e85fb62725854c757a291aa2706e33ac587e6e5648b8d71bf08d53ab9b18e9d4cf1b4a6726498d43fe9b1f75b9359a6e07db5e498f7a05a79a86efc024434652f4e2c8472070188e73258d0df7c90af752836a5820d32e6bfed91ee15ed7846f9ff2f2172c1f78fe8e0b55c2e31ed310c95f30b2a606d150783895d5566a394afd2819272aa6091ed0899b65999a0592eadad5160e80da6bfbee643d13f31e7808e496522c7891db88bf6e4a8d5c4fd09cde676fbe17e18dba6cb433aa4989b2da6d61326459c85aecef2ca14659fd037bc95ae0ecc42b01fe0bb583aee4e93eb580d307287320f9d5b40f651885818527e2ffdfd5ee8cad647d897ca9a26d412783bd910f87494493530b621873a3d05e7f672af3d94ed93a3f0c410abf0045d5ffac712280bf1e5ddb9a1c97da46ca543a311cb28bcedc12424157b23ab3caf8d1750727b233b2d556beb5885f463e1af04cac29887f405a718732af4c8d0fd69d6cc14362e70aacfd3f567ecc51fa482d1042abda2ef2bae04cf81c3c4b196552d4072c5c7e238e2ad66a2509bb72b16ce124f991eecfca719f44042f65859c861bd7297b5cbae5cb4357d7e8aa0b607204cb8ef4f32ef439b7992a7c21286be72f2543e818425a2a411dd716452135945086eff106bb2bf0617490cdffa5c5eeed3720da199270ebfd9f3890ee2a82d6f952060b9471d93a82ab64f97ba961c95d36a9ed60430147142266d6ffb4c539bae032d73fa7b910cfc2b5bd4a807863a2272959d2059de45bb2df93039edcbdefe320b7e658029814f2e240bf160e8ce491506fca54aed06a1c14680844166a9f1684190b52f5ada6baffdef15894be60f148872e18102aedb58431bc4e71f12326204a66ad82f70efdf2ca6f39106d16772a0dc0f6c52e8c6b2fc62cfa1e234c59f3da3153cc58af93356ec9c67cc279c5aaccf3c9ae14003bb207d50a5db756ce9389a2ed37b593cc2ff6ade3454eddd72e8a033660b7758a7e7bd93f472a1b3955db1d1b86eeeaaa7719bb1b92e7d5272f097460ca800e12cdd07fad7ec41669334ee1a13ce48613542f715c9426882729e9dc3672eb7eae48f57719a4de30e34adf54607dd6d1028460ebe87e98a4572851ffceebaccb0866f76fcc6f59836dfe2de862c0d278ee71dd9c60e9ac5c5721600eadf59fa58ba890d6d6751c0097443fb18bb931f0c8939b8653252714272f5a76ab2416a30142589ba3072d332caa46541c5d296799db5575398f6a0cc725d084ec32cd4bd6ecedc2e0f3adf0b3e4e64001ef0ede62aa3b2c151f4b6583677b3bbad2807d6e09ef3274a149676da2bc0b87b4662f67e83c7e774ed251e185362a19e924b8aa924dbe10798e869a6ea6c3b38e0787011885ad27c58f52172affad3eee635fa1042cc450ca2b04d0193566009ab21c6fbf0e38d9203275a156446eba1182e6c150873fa3d653781f35ad44b6a62554239852e59e8bcb50d72d6333d04664a411a6cfff320076ef331dec94b1e32bac228864e75ff2024fc72481f8cfe3c2972d0989dc33e4e8fb3d17fe2d031d68911473e0dadcae323ab72ef93bcf8b8ce8824ff5829fb37c2039ff446edc66326aef78c1ef085249d836ef82654cc01934ac06b7d1b81ac9841f0e99783448afdb6ff6378b2c048e1ae08072b14daad712f5e2455e253d2a1f7280b35ade7be91c845a94ec36b4bd6dd7262d821cd7e1f5c939d6a2c0143e436efde9447bbef614c91f1c8c64294eb3f58d65d7d6e2719417a3fed5576750c8737b21742b078976de46235755505ffc372be9e18224805ab90f9b50ed5dfe8e8f14af91ecc4a8661f337cbb6d7845599543614e3d23bfd8fd16f355dd65cdec4920d5c7e850e3503ad739d7409ee6f1772955dc200fea6feb060fc048f2a0081b1e95b317b15917a5685c9701674630e725de27686c6a9d59290e7b58adca28bfa8ee42989f4a5e167a0140373f66caf1e6da42e4c9ce55cc81ff164f4c629543d03553188ebc64c2bd6e7300806ae3e7284bbf85f53b01b076a44f978f5df5ffe693cefb213c642d50037eca04f515c395400d1e7caf7c99fba5b6645fc87235e14757fb3f9c82405945788ea7022b0402ee5ab77b3655f54c6994ec72d401ecb349bb880f3f097cc8ad02d358359ad72b5bbdc0539832ac291cb82605efc6317dd87fa2b911ad00ce32128d665c53172ce2135e085fc2afda2da902095006d61febfe9ef52c821e392bc984a4c5c36720bed8a5f87717a8fa9119022865bfe133516130a51a51f3239c45d7db791d318030699306c31778a6848ef9b019002a24a29f230548ecb53d581df668f5f1172dbe140b7e47b0c80b7a03d46ff6a0492287c53ceec9b79ecb485289f88e0e814935e99e7ebf76be3f6e01e9aee5a1c4b4baaf740ebec13212236e358c919d112e14601fc736429e4b198b8e9567dbd64061460c5234b88feeb94c7e4c09a712c4975ecc6ff79ae9c1d278186ff297a1adf33b652c20c568c069824a0e01e8272aa0f9c87f0385485c374df929b940771474369fe9ed268a5a127131e2985581eece84ce94645b708030a859f52526b73248099cd65bbcd257dae92d5e4a72037d107978d0e26b7ec34d9a374bf92ec9d9efabb97d0b0bc46443da18d37b937723709ebc5439f3e88f94019cd25d440e9447f363cf38012b9df1582b198a72b549e1fa6dd99a5ec053c35e6d889e39b6eccb9d6955885f02614aca004c1d89f72dfe3b44d252c5c4b7efe19f97d1f77d45c845a19b79a53818ffa8082d0ae0a720a32f8b7a003115fb9fe738ea66bfb87d14606feb22e77ae03f7e2ddef922d2dd9b176125515cf1c50cdfe7920aac0d8910a22c02af08065b53351028369cc32986ce77887d79792e0823b5bf8c21380d2f6005e7f99c3291d0b22d4d2623c4be7ae42a19f8f111782184776c1f3d9ccca01f12b6638616acf79ec2d6883a04087445a77d1afd48e97cb6782b48818eb6b93ec5f3835cdd7643e6f0c8f67494849d3fb1783fc90c767d75a2e0fecb24aa48d0cd4c94d5543f79b11af85f0e316b829fb35e935dfebfbb9da72efcb8b90fb284d1e656e367ab58b1d0a316650721af3699a90596236b0b75af56e2a511bf0368cf25e799d7ed4bdb06fb6dc0704004357246b3d54b1448fc643b25859232621fb6c2ae32a3edccba57dc1bb673c394dcfe5f2f0a6f720583d433bc437ff096b527cb5a1aa7cb1bac3e70151b672195c73f17b5cf1306e100a66e85121b91851f547354bd420d3bdf511133a3472c80448599252633ac811b69536782c09c46138eb7f72d8dc20ac6d61d6fb0c722387605c3aa9cb71cc3cb8c2b97f3bbb35421fd880365a59ad11e3816cdda21efaeee1877ac544ad23ddb431c5d93833476e245d0658baff4d9c4d38656dd12d9f750996b1c2f4cbf9fecb914bf27a45c97b5786f9431005cf80be10fb4db101d4605057101c1d4268be25fcb4f495de85f89a81d8fa972d2bd4b497c5a69572639a03813c6e3594fd18840740b72b043569f4d6182a8023d7699f9744a76572d3c1a5e8c417b42177056e4556cdad7e6ad62af72c1caf0bf3208ac4f4af35723ed136807e307e05a6409a31beac75bd7857cecb0d3f19b99e24c13e246dd672242ea2129bc0edd343d1343a1c8cff4088be861db0a89e0ff1a558e66d63427262953f636b013675d5915943c559a442374f57943694157368a3dc85ba9ffc383e04ee895357fad4539a4b744ff0ad54fa19b1f6d0d1aa8502c8e0c37936c82ee6ceb8e68686b37c01e9d4ecebcb6f0fefcc39227a733d4a49ae2b79fd275072ebba1532f3fb2b37809746a66b24fb3f8bb16ebef2fd4e596fa130571e8a1072eef487efcd6a61cd50412de83d29713d366aea18004b809bb06b63888ac5561ce75bf14f3eaecb1e5870eb4a2379c1e54aa09538c08e2ee66feaffee80b3df72a2130355ed09210ce15ec24ce1504fda8fcb7bba11107a9edefd25ba6b7fab6af711eef564ed48213e6f702d4594862b90d8b06edeaee2356323caca27781f720082efa2537fae2feaa741535953e482a3134ca6d930039382369cb225ef3c72348028724de66dfb008c7d14a33dc71bca88a71720a022c41ec3a25b5c1ca872fb195928cc61f579f3b91a134da446c9207363d245f3ceb4910bdb115bf012722a15aebc96ca4a301c4afbb613a97781f8624997bf7610d09ae89bc55fc915728fe9460403b0c284b348875607209e1a908888cefecf63be30be270317561812a1ad443d174c80679438fd401d394fc963a8236422b76db66739da6bf87521359e9753553d104888a56365d9b50dbd1408ce654a3b120e4d04ffd091728980726a9c954b0408493f7078e2b12006cf956445991d5bf409ed745027747eefad72eb74d7ebbf26f717e80c28007532c88a64de288044d5ec4c5356334b8281ba72b6911b3a4b98d4583ad9f2fd03d4b9abb2bfaeccc4c07c6bfb1994462312193cbc604abf92a6f256a2ff42861aa9da063b02954be70e2ac9f42196d354a43b727d49f0fedd82efe7cab71ef70ea2649f1ea8d97a216ae7a4d3f87d35e88eda72c3e079525263a9b9d9e53e113cf8fe63ce95a2052c55a355d67210801c50fb72a3fede85f3f78f742726470880df481527da39ae003f249b719236caa065900dd85370e9fe3f48e3f7ccd4d0def6a8b78e0b4adebf497f1d90989068f9d0ed72388cefb3caced6940cf7f08f1d064e271e7a3b449f868c1b32be06db3396ce729cae3da84546530b5f64c39dba6d035bbe2ee69aea7895a358714c22c526e372238f7cd978653daef0c72a8b8e59e2dcb89f90c8b775cd41db3a4a786680c8727bac0e3382061011514c9ed511baea5a58713737b12cdc5b177da384a7449c72e2718771d4e574e3fe332a0a8a30ae20e9db9ef1fc76fc24808675f1d4874a4eaaa8459622d1fdef0ccdfbaf39b5fbaad2c11b677547b144f3555d0c35d772534790180522ea75858aa61599d208fe26a38f0fccde4bdca00210fd2befbafa72ff6f7aed4426325ede6cd00cdbca770c9797cc1f72a14a7106e4fd1193d7b172d9f68ea65dc89da4446a7a4b38c6d79466b4b07a6cf0054da690fa45028cc4729e9c96bafb092f628fb6d1aaaebd1f32040106aded48824d6323999b57edbb727309b437e33994ca2c95ce771daa1d649be7b34dd185235e3a48f9163983197235936645e8277fbf99faf4d87e515183ba8f4ed3fd87493cd5e6340b86c1da72badc5923b5de18c8f327d5c29eec53db75e4a00ed0c074df0505b5d89246a872bb94f349e6010c2a57e6b1ca201c2594bc0a9f1b0a40b51c217bfa5f12c33872a2efbfb5d95b8da3aaf47871725b2bfc25b528ebd6dfd42eafac1fe60af96a72c2266c9ebe1a7458f2f2fef97c2f19fe3df9a3e36c0279e4c1ce3561bbeec56ece252a3ba0a3559e541b0ed6ec350307f2672329e82d34bf5996952f8bf0355032ff56f7ddee45e30370093da75c8dae46f6ebf3a5ff6cbddebe29e1a5040a2c14aef95c92a42ea6a925f6f322a41d566c28df7eb52d50275b94e4fc7698a32a73a33ea5c1631c18d13e72ba81bd8bb08f8459ec3edb70dc8cf9d7230849a24387cb9a591503b4ac3e7503acf45a83bfe0795640080590fb07e640130a20293526074677269439c48cbc78afb1c7f85a78a1c8ce87da0a021d713d85c7c42b728b5e32c737910adb6bef20e7840289add168712807afdb4a0f603d2bdd545e62d1a2d9c25ec12e7a0d44f24923996d8772ac3c1edf278b84a8aa8ba55737897206327b155f8b97f0c37391b73f3bf507be703f47eb0918f89e4b722a048afe720b4f2b353a7003a2950f8ad66df4e29e51258283227e6d58f98bd221624635080a6ef47caf326ddb069d9bab0f0789880e42c79fcf07ab182bda0336934b8949b09fde14b6936868b89d16a82bea1d073cadbcb1dfcf461162873da12a1137722f63ac6acd8c04e6ed39eb7907ecba120bd3514c7a378b08d47dd0eb2d3ec972d92946fb7977e74e65e92272d48ad1591a0aae5d0a168ae5cafd133f603fe625676b06d43e75fe72eefa5f99c18612aad529a066fbdb7d2d4ba150d962b56572d42da559b605aaa5beb5a7968fac0fa524f5afbb6da4e2d08196b8016d1a9e724b63664e07fd62dcd93f0158cfe2b666a8bca145d9b9a4a6600ba2e7c3202f72b85470a2fedc19952778a4c704ca2012996786a89458b2e155d4c778c6f1ed7279a24fa7f9e1a4f51347c05f0a6ea28dc97dea63b25708b9ab42442326a3943e4575a84f29440cc81a25d05ca3852c14bf1f208a69eb02cc6b2b539e26ca81720a96e7b39d85a940f417a37f5487f9bc079eece6d967965312e19edb95058d7246d1422cff78025205658e6ef53acda0e53df8e3092932809e7c6d33bd479f72ddd7a720ef979ff24495930a53b599683d535481ab32ca29527ccc7ffa6cbc4bcf03ffe89e9486ada282c09d20c1d837ae416aa1de2152598c3a9e73c972f47276d9e6758d409ce16d2a6dad60c6653428c0eee2f19cda7b9fb16f66bff2004c20c2cabfe327214a76c10c279da7b6732377da61e1064abeb4cb038b7cf122721a6e2b0d83d09b69fa08f35b45e7bf1cc778fe306421e9c2010f4351b1dba417bcc3e11eac32b9c7e73c94adab029186387f93c6532262100038e71e501f1872896d26ef30615dace672bc0a9500a50644730e36b7fa503354930130caebdc72822f51e3ad1b7ddb9e318aa3552aa229e29b98cc42ddde8d95999257ab17bf64ba5a90cbb755a996381707db97e4ba54d960b2d0c74d774e289e4b1b220c207220a447724e6133d6e0f805713827e60f0c3341c7d623c13b8f6e84c0f0076672d640b723d942164381d74af90dd73a3c0b6c66f2688130b83710d0bbe92f101d38ed081df444157a122397ca53c8c94c01595af6f605d1c6102aa56056cecb05a1484a3747af127f8d389b5fb14fab3d489658415dd49ed517ab9fa854ad774a87cc92edeadd7af61c5e5afdfba54aec6d46f48286a8aae9bfe4a68c44e9e7023d70f0808e8045bf8c835a4efdf1874a26cdd0fb0ecaec8ff0887df7fa476b30d526be20d64e630bb41781aff48ef7771af178f82ec40e5d797f0975d760683d8e2a9dd27fdc2bb23f8a40600cf7ce9b908d94e81580bf17654be2021735357243d2b1246763a0da0d8d33304a4f3458532399ee7ef8ba7f0692f7cbf4f4fa0df2f7abd5921efd08d71296c9c00e181b12707063e339392ec541b1d358fd314b07acb29a00e5cf8ee8db6a9fb981dd27b1cc835ec60d90f7d65595237d3f3f723150b39b6b74cfebb052acbb83951fa6ca1f1bd36a9a07b89c4c9afa143b874650e82d29dc76f9dabc7ca42a28a4c024c7df864ae6170ecb020b646b02160272afc15dee799835c954295b8e0e9e2167c40782573151d1189be2796b9337676646bc03a3c98c6803f317b6bbc21630582aa3cc78ecfcdbee133359bb04f35372d6fa2400a9d3d2eac00036bf320503a1f73180b8c4a629ab2643280b072bca7263ae404181f4fd59c8155233bb4f0f0da321d39ea9359702a5031084a80efe0967997c031b2043551b7c6ca3e11060bf55071b4599125831b8abcd60897d0a728751aa342c5162a6d7be96dd46254878533999ea55b56a55079f84fef333d472667dc1e8435e0fe6eead6e83d663c38d2f9e391fc820f9a59a78bf0cca82c0725466486d93c908a22daed582593b0eff1854016cb1aa9f307087b57ef3c93c72714e7525403d1c405c34bd3747eeef936df0f975905cf3d9c25b44e752355772ff0371b3de272f105f192638543ded844393da4f4dc71b105707590c8579676386f858ad815db80b945b0a5d3d9b5ba2b09c344326b6523fc5fd6408d09a44448d2b035fad1367fd9e5b44c9b5e1348c3fb429b25e4fb1304f0d50ea30e8db0f46ccb4c71599b99ec375598281ed9ab6335ba36addca021c9186be6e74731c72d470b06b6aa983a28073c4b62fb46ca8d83e859177351823e73be2b15d536f36ec55fa54877bd622e1d55d5580f919ba81f008760dd0ca1c39f19d670097d372020363f95b5f2c469c999769f42d06596456994bbe920e77e4f0394736825a17487d27d2a18fb6b11075bb78653d07c7f034b95724a842bb0f4d433628b2fe72781e569c411efb8b2f181cff8ed70f1315bd05f7ef298301c06f8b6860fe4c72cf9acb626088ee47f08ac0a38040b2937374c22a30b02e251abc665b9f52b97295867931b05eb45858e297d41b229775b7ea199ca757b58436bc57111a94700d4e7e608acd89986df33d30cc36851b53ded90d6ee91fb12c1710b1c171c94a5f7f985ebd3f52caa1098cb36fb3bb681fef433f5f4042ceb5f8b7e75ba44ace1857dff159cb622f52485fe68a39592ea7fe936ebec5ac48ca5d1d3ae839396b72bfa76a9a22ce4a1849d34f6576ff81460fdd31a299541de05ca2a5f7476ef72d3edb4f30a3f77c643cc5ad5d5c95e3025eb0829be5b7859056dba4b51a509a6d77746596562dbd5ff997550ccd90e9b8ddd8957e9b118d563b4d6ce64ad3c555f9de5f9319b50752c66d535d68278fcd1ddeb212ebd6665396372157393c0624c92ad2005a2c3a19b9e4922967c3050b64fdd813f5b9cad4ab13a75da9637472db86ac7bd1b964a24a53f12fda88e6d0da6a47363ca1ad1bd0c56aa559ca8d0499d1732561c24dfb619d036af2a182a7a967bb2f7982d7e89c0adb59dc7152729afef2cc39b2b5e034fa36c584092b67590d189b2abdb66da18b140353e37e550b54c454006b9d79675cc0084765466e2ef0cb2bdfb8ac08150ba85e2ed7114f913878bf3d92c39c39ae477d8a095346636e7f098f42eedb5f4018d7886d5872ac2d95d85840aad65501cac92939e3ae2a47ffed4ff4f2b16e401514ddde92720da6b7d948016e2be37d1d351aab7c2878ed0f1e9a35965250780180182887717c2a1a8f68688d32c3561d279b23d2872c1418d17223d3ca7be55592c32d9426149f7e5cf135ee570db235c3a7268b400cb55861333df671b35c36a70e08e818b81de8b919790b974c30922f8af2fe08155b69b2fe5cc359003928d7043da40bc4154256d18b883d1b45aa1cb92be1e4a0039f387851f47c028e2c3faa2af25bfcdecc850499a8096fea1b5372c424087ff9c29b4ef04c9c8fd0da4caa72e472b607ea12c275f17e5cc2e4687b2d8175b7c681a006dc142f627dabe307d8046f58b26d80e3a8731db00bf8b50241eae4e00779b099313464cb9de2e2af7fc9720577208bf77978df1f59d22baaf11b177ffb09907a6741957128c10a6fff7f2ba8247da2fe1a4fca7b797c78e2cd0c1bc268efdcf0921a80d219c8573f38b2727cc5cc6e0cb066f323a469d4526ea77c0fe85258cd99c01faebe698c944c8b7213d47d128af72b3e66a5bb9b25db39aaf70c1006d52d504363555b43afea0a5cb4caa58443bc0335ca442bc18b40983a4cacf61acd825a0a3aa2c35bb12d374f699828e5fa418b082aa526ed2eac0b077d8037b8be3d85d461213af9810af6724c5f6eddacb15c85b782c0841eee84ca8c430a849dad173b6a36bfd115bef57219266e7c99f3f864b1b67edf955f68c709f9cb23dded2499c7ec6e35cc6a1728cb7270b430b4277945c695d09742ae2c3f84993738ee324696cd3d7758e868729ef9e67910bac3977ea5642d43c4659b3216e5b80bdfa8bddb41e13f2e4feb0c10b3e1c81c7a3b6f28c9bf277f5444abdcf1b3ba67f8ff9a9773b09d93c0957222016f16ad6c6b198435b54d8706b048d9c7ce7de243ed127e243edcc0ad681623ba6a3f3214601aeab7e1575e5a0bfa7ddb00783ae18ee971f1729e937579720dec80c1024a23fc0aa9ae061bb27b140396402ca9bdcb5abb5aae8bcdf57b72ea0eeae370d335a884a99592befd429c226223793818629116d71fad49981a678457013eed21b43be7cf5c4d8b11c4c0879fd8d52b939d4c34277285d2998c724fc560151d11783602facca2a54ab663011fde7407c0aa963faf8e17b45dee7214b90488161bfaa2082302e43b95db72d28dded3aeb7b1175ceb986c739fa47279e530e415bec555ad6ce4a981180cc4adbbb91ed87ab21f64a981e90eb38c7223a11e783b8afc9a2cfa7e39eb405a35db44465cdac0cfb2958fcf6d49e01772a93cb9776950d4ceb337f3f8202f8d51e8f00062446f726d88f35261523e75727945edf9e155ec4411b4987052d72b571edb908a725162d77a7278754339516367f6ccd1f2b7985000f66eac39ee922b7c396fe4de46203ebbff2b807d044c570e3e966ce5bddddacc5cb6df5e75689232559f691986144a659b6af6eed7bd7211d6081e8ce009377286b2b6f21ef49d0110a067b33fdfecb6afa2567ab8191c6aef955c7511b80a8c75c378ebd5686a784b2c373844b037cf6eadada3a7ed728fd8aba28f9742e136fae5e0a525b9358894d20b62c3283740354ae4edc132724f721fc3a0bbf93be8d06e6d620fb0adfd4968d7badcd6768f6b745a122a1d49368bd5b7babd1501f6f9267f47a85a0d2dcff98b852f8c83ded798babd63a072a83ec78935b4f7ef8dcab1280b11493d0f000600283ceacf5d003de2d95772729be703202a937c08c6fc534a7b4b5b54127d5df481843d7fd4663aa379201d723fce16ca66def607deed82effe9c8214e47abb09e7faeee85e795ee0636434724051dc1a56a50763d90dfd4a3fe5d11ace4eb1d803b34222733d36b01e524e726ba8074f35d06459430b453e1d30a1d8e496a1b95de845555f74b742584a2d140e8eb4090d9343df87e08d636229b892a4127ba19f6e578efc92449e1349f872f38a6fc2b780da5030b625760d8f0a9629531ceddfad532325eeeb6049a01c72cda55d633e41e6cfacf971496113bd4129727ed26f93d711862ed4ec7b5d6363f3c3b1ca1c0fdc72f18ac6103458e1ec9b71c856630e0d05456a4114e2cd4d29ee2ddf01be48d6da63deb5b842de704d3fb2ad6c2d9530395d94083ad32d8218f6afecccfa628925d2fa4e34ac8c46caa72024d720d929afef0f7166ecafa17205adccec2c9cf18a7bb9bb96b889ac1e6e714142b163507788668a354a2bb872052c886e19a12c0b3cce8c3ad91f17db6ac834b496befdd7a283d605e45fd21bc0a2be1874ef181931e45c1f069d1e2f7342aa8d7ee7b48a6ce22f3790257e21448915d2b3e9242872c061b533b74645ce02eca7e433751344416d2990af6672506df4f743f5e47eafbef0fa33c05b7f4c7182ebb39e4b2a987b39bbb2a5d9255218d53b12ec2f01a710b7b4636183eabb6ad799ea61d0f17fd156816dff1672478ded50a2b534636d92a4432e383635f0576e9a638a510e28d1518844b655725aaccbf7ea47ca3e37c252acad844657fb04f5f65ecc014f348841cebc91a93df52287171df9f924d6f828ed7a66d887e36f02c53971ca77a038cbb58c0d57724f3f7bc73de033ac2b087b655e5b8d440f88bf472954a101d61bce44bc1cc25417edaf9ebee8a56d494ab51ac82cc1ed43f40c979df6ee14a60b4e59feef054c4fd04ebb879c161ae0d5132b8c4301e323d012804570be9305d2dd242cb8c5724a546b5c3bcac43adc511b219e8929f3d641d10715c12e48b50ff3301bba2e726a254cedb824d99227aebec4dc2631764c1a9bbccfb799bd47116ce166f4a757bbfd98be8a57216c64d042de00665e187178b9e08bfb7ab2ffa3bd8c40231a1eb3c47f321e0e7e64f14eaffdd850ea84e57a24ade56b9a513f8ca3fcfa8f8b721583c7a67f3ff4c716f478a5dd54c181a08cf1d329b2e35a53673894a762804a9417e179e6fdf617f0abc24437036f62c235144acd051bf7dde1907a97d95f72d93286818f864ac089cba4c4e1abd95ca763d5ff23991fc1a09dfca65a864064d24c69efe83e09804718dc1dd787b3ec2b269ec2b26321b50af7415aa2a62e72e981bf531c24f11a856f70f35028988aeaf66f7afa3acf099401b0d5f9de291db93a9a804e15b4f0d4fd426c77b03e13a1a976b9112f9c62809cdcbf3890df4f39979403ab78338b220762c253fcf95d795a402f8e7437c64f9d2dc433efb2546fea22cb2f7240ad40a7f2220d6aec3c1e1e2695d83b41699af4ba06a6106e722e43d8e8ab7aeba55aecc341afc534c52fe59f127529b712b576bf15d1252472b05f03372ab03afb6ae17f201e43f09ff1b9fd0b57940f0cdf98007173a00f0c0af0c6396ce6982ed45aaa5885772f51b3e54a06ed69399ba0a2df376b82667238fe3a404b95991e150dcdae7daac397b02355ccf085a311f6f0f048cea9f86f3a817fdd5c53aca5b89b386a142aaec7656c52a40b792a9d43bb2b21a58bbc64ea4e092b9b9321d89b78d015e259db2d9666f8d9c3fe2fe4235d821df7acc67299a6451f4b2c708ad3ae233322c8c43656389a6c51935aee48c2186f1c5a1772860a99dcc46f2fa0bb63193a8bc921a235a719492df6eea3a39bb1f739ed931e57d6792c9c69b0e6b3532db6972bf6245d4f8aef992804c78baed35d94793172a274c938c9c2b477eece1cea4ed0accadd8f079cc1abdf8cc7744a1ab4042a72ed64fd46d467401c7a283d59931cc5f73c89e91c704581e4e7f294217a48c9729394a485ae7b64f62db3c4125eb2160226233cd495893bf8206e5e81367ee372e7a6636bb9006059f9bf3d268336293ffd9b221da7ca56971ca63692a65e8072c8ff3adb2438a0c4d2bd2c55b6f58ebfa8b79cc17f78bf599dff14ea4bbfe43a5b391815cc70440d35399cd657b2863489f534e9f20c1a1122ded7bdb2b48d212af6d789aaf67546af1989093272b4dd839c12a28423ae84c64582c70fab8d72d077dd63ee1ed8aaf6017e53974f9d9a2995953790ae444beef5cc46cdc79e72b9eb4e8fa25489251d7ede8c710e7f52de5ce304bae14c48de5f90cc38a7081d9a795adfa2e66b7a25e381cf895062012b93d7d034464ed9057fc93b41ca5c72bc3fefc11749190db023fd31d1252e760bbf8451f727039bb8a22635471c3372fc80f2a7b97f498f14bf4ffe9e6bf5d5061a44660120ca1dd30c8457c9568d1f7fefbca1a9b0a1f0851250500c460b8c4eb49735402efd712c46f650b3659337a8954bea57efd7bf1548c8aea5026e58892ab9a04e4aeada84eaacbce257ce041ed72d7a7268ce8fa166db268f4747f16032cf73daf5d5b325a2eae5e15f337269846d8c8db3089697d5dc391eb8028b2ad04f054af978a79a079743c501c2726876574dfa713ecd7ba975bcafc1fb7bcd318b4642b4d8470b1105a36378483562befdc7d11291686f2c3a9618048c487b0940e2d8fba18573d4a66a3fa08f2eda118d506c09baa2b44799935968dd4fb37ce756a70fd942261fdca2e56dc95310a1130c5543b43cc1dc7decc6c18595881c524dacd8d14d48d29a652fa5d526f55b8923df4aa315af62315c351e849bd4342e0292cc3dd3b42c30131d211768fe732b10271ae38f3ba7f4160401570c923d711f47bc6192ddd6dcd85dc70e399f414ffe287dd771bdc62dee719e6b764377fd936757884ba8a45f8e631a3772b006183d76276e12e491ff1f5c13039aa932b33e99b7f5630f218b1e41d09072d568dbf1f3a76101514db1418b01e96cd3958b34e4c048ea1b6db84b39bccb72cc69e64383bd10b80ad4b1dce56059215b0bfb038e7a08c22f2ddcac993906727e1e141558ceb991bdc0b5c308cf433752603f538446d90a17cf7f6b83549a728c13eb45dc16af2df3878d12c6737334799637fa4aab51ac03d44aa998588e72f2513f235224ab159c0befa7a6c741f2f0fdee6f9c59ca83ac1e20b2a0b0fa727c712a241ebbfad20d43ab92e873369249d930abcc001d7e11ef7d8535ec66727c30218b3c90c3b4fc4269671a24a749786d088d51a1d4f0d82726eaeffcf0727ab70285a02fecf250ce4e4194667f81838e86316a5ddf01abf21a780384d972d2c45b12854e39034f5e99331750f8269472530d5cb2bbf6639c9d55baa48672bb1509e9bea7cdfe42e166773d041f25da68eed28e0509f9df821fa812e40472d12b74418b91ebf4d9ead3dde9347e766af9a3b9a744a48cc41068b31ba4a0268f09427abdac080bca0ce2dc59193f0a6cc23bef590e3b8aa63d25bf961a930447c419f85bb25046337c4b28e942680b9f71f4b59f0175bbfaa1559c063b3972f6dc9de717b0ba34d05a49561424cfb5c8bbb412b54e36b68bdc7875113e8f72fd48bba44c54f2928b173c38afe32e5ca2c3111b9dfc6d618a6158b1fb61997200d24c1ff3728266f618c79afaad0c593346a1f7ebbc2c0091c229068c46f83c82fdf22b0626a7110b900308d49bc8cbc8e889ba8cc04628b4803b424e80251a74f8f1b936056a0848c8f7b6cfe4e06433940154d8a7ae9501d1c6420415d03b5109557ae1e92fd2b6055857340fa9bb3046a616ebc9bd11609c194b8643610f95e87466054be05cb11eb4a26ac81a060552cb2d1077b525dc85e5046a807132b00c963747fec8a13799c38e62dc257b7477f03d3222e08ec061017d1e0c57076d1f9d638512f454c558c6d8c409751f974473d6fdc1fde19bf4a530c2b80c64a11bab8d9277f320499eda22f55f7a141bc79bbfc8095a0a69b101344c6e250026e83b5ce0552cebfc61b2871728f71f1560a30076342f4e1302cd59c12949720992786d4922903a7acc571fdb26f43726e91d5657246a4deaca8d0a7e88f472f8f5ee8d75dc0eb40f24d39a67da73a0f221d136b6069e2a449aa0432d8c4372b41b1377d01c66b7324a432d38d1f8f90505ed4129549feffb3cb460ce61327223aa644d2178d1b8ab2f83face46dc14659452b73ccd5660596b55e863234e723625ad82c251f27203e5dbcbd143dc6493e86857c567fade5fd14e076bec5372b61018678103659dadf3b17fbecf11d20923c4535ded1f42810c4531676d78488befbc2fa82211b319621e5c8c42af349b129d33b9bbb925fe7a85abf9b3b53414d0a26491b6cbf91ca80ef13ed33351fb170a142375332198e923984e2f6972c8afd72f2bd5b5a9cc129bde501bf5733d6620fd3637731f5e6159635f7b7472263913d4d4fa0dd6ce6fb234133b7c6a45c71d2bd865603d410e53d50332a00cb6a000bd5136608eb2ed8d5663c1a7c3ac3a3b57b05728b3d938f0c72e22b64b738781b92180991ae8530c1e43c77775f29a4b90a94ae58469c5768845b86c23e10b5c70a42c04934f0072099b8f81d2984e9a3e2f41e7bd59cefccda81db743cfb326b68321eebbe0343ede7ebc8ef4c63232b076cb59a6ed87a134c5128772e7e7e1a21b74831854f35a77477387559124f24b2e73f449d691049974d1f6725e2de8fcad1cf216c7836b5ec03419af33bb9f168e7b502aa70954e585c8ea62255795b8bc7c804e61201c7f3ac2cf7db68ed823de1b5b02468329eeba76753f131563dae60456d2caf8b8207a59f70c479b505d1b5f56aedae36040430edd727c2567baf67808ceaad5850859e1a18dfe0a81014093d4122fa12fb7f4d42f2d83642e4e86db36b1acc8be966e7a15c6cd7694307d6b8d9b215cfef14c313b720554d16cec54bea97c7226b44dbb04ccab18b72bc650b3df73208e3556ba023c693904fecbd9fd770b9592e1fae77ce2448cde31ff104ef382282ac2e9359a3c5ffe2d99ac332eb2a575bf935b2d36f0f8a51f83b80caeb42092337596b115720bc3f068f260ba04bd04dc5287c43d93a8fe7b1d2aa3a492779a1bc85cbb9645fec2d950f6e363759fccf848c9c145042c9e84de87af8208767c41e795868c725d642dab8d87b5170bdece342f4d9dc86028dc8a0f57ba5196313e87432ad23eab4f9267ac7910e426a247ffec788c1137f2507918da63530f4c64247161f2728cdec8b9b926012b5defcfad5037bab3a643cacd89fc68c9323b2a0acdee1c22db52d4505cf01614dc4692195d00c0c819cf58f7e954fb1724ebb693c16d1472eaac4c6ebc5625b0e8bf51a07203737df301f678d0431f3510aa07cbb1c9ca3d92cdf0d6b080268939ad57972b13a11d2514a8436e48139b48bb64e89637e172cf35182e7cd1a2c9710749b13a932444321ec9c18fbfd095f92fce88ffe57f721792db610b7837858cbab49f407edc71f5e4bd8bdc8b8083444b8fdf5070556e6bd01c35bcada039de410e4270e7e3f2e52a945a9e664b0a9d305753c8eab7727388105fea1784e9b4ac78a64d7d5de2cd2c00a0728cb74750d816f57c58bd6f343b8e25a61aca014d0cfba6676a2b36a3058407c71cde23240bc96e6a3a0d290f602948f5de54c2afc3d7b419b38473cb9a8784b572e49c6b6474d5b1950472c0464eb653829250c8517f474d1dba060ab88f623bf232ebc6c4ef0c3288d30453cc30a10e52e59937703b39606ff53b1d8f87ae257c79a7abcd0bebf3a1a909069eefbf7de2e30a53276a3f7e48bf01a7c4624d8e00a5623eafb8c9c88a8d72db2c7071f5458bfe5ece2660d89ad0d541b9836fe54403664cd15b5d534c1d72d910bd6b45c98a57cd50f7db49b36375511526fcc523d7b10d94c43139e52f720fcf62c12115c89491a2878389a89c3f9060298daebe761bb1109eb144cc7272ce002b264c62782629201594ac36b2d55443a545f2b99fb1595b2334bb11f572528c44c6b37b63df766ffe934e93d918e96f970f13fffb12ad84bcd4e867f3023ded679e00517850b5ed931362b4e34a574e5a283f1e728318fee71bc0adb750c5dce9a25e325eb693d6faa632b9161343232d5a8cb2deb573b1da1c949d26722a52cedf051ff1712b9852bb15f7a7b2207ec1cc746aeecee028156cd3f9c62ff89bb56b8d11b8922c8ed15d1a23eb58fe11312984395b3464eb829a32c8757298db050f51e958a3eb3b0da79bfaf8dc543c843086dce8ae7f83ecb881dee0723bf16297606f0e2e1d6ba99177cd9409b05598134a119e9a28260ca248e6001aed4e77497eff29b51769b34f70a88516e89670f74b08eacef7e3f9a0c51dc67241950ff1df8b0b234022678ad22fcbfc78914984071f67ca8e608d4e98dc516e84696b4615d37fbd480f6f807abc836f5be1e8470e2adb13031add627ff29672b5b006be315db78b8315d3f05909753c2cfe059cd3829fe24c88cdef8f55a0721a0cf3801ace2881b7cdf986837e009382c0b29eff2b33fea685aea9b111627251fa74cd69931eae2519755f0caa31bb459acbcce5aedc757937309bc007dc72be2f07c780b6a940627e17345b3071e20682670bb5a391d5e37d1115c41a8272b7a145efc7340cd3d26bfa039a009db1c992165edeb3da06168d720e386cba1641b64154dee8490a51feda7f876e666f76a9e75a894fdeea79e63137610a2243dd7b6c6711e937b2f97fc70940f77ea081cf63e1a9b4f6e8fad78187c77d2c31d5bcdde6740c6cf593e4bd76a97b3686804b8bf057bc35f7f4426eae003ea423be1815db531e328c3c0e086f93c33d57ec1ed2275b8a42b88c10596d9fdbe972ed127675aea89143cb6447cc00edc2404cdd23f2d91f7a0c1ccb7a7fb649b27210843a9a031e4ec8198ca50206df55f1d6679f7908c55f9e28d7c175d1006461286404d37385353f3e7bbf64d3fc4f78a3e844b02d04251ae73bc516067f4745307a6f62ea0aacd2c80de3fd23857e4168eb4532a42f93160ebf20e643afec7272f8dac7e46ef8f59108cf9a6e99a6a3ce5cf03f4bb1c423c6cc5ba4d83e243e84ce45e0f35a352eb9f58eac8b927197cb2d0325ef9e5979e51eb42439e3381904ef63e6713d7bcd5735a33ebd2cc35a627b7987c8e598ebbd116e621b7b51727ca779fc32b1b7ac4ba573afdf42576bc56869ff2add5fd421c2fb388dd7e17238e64ea3aa5b43e018b41e27e08a310c9f29a6a099fc67f84fe441413e9a0b375cb010aa036647e292d71caf8f461d35be6397d9f1e431e5d87ab925ee3b174a61043e8e3eeaf634e282864a2e135854018eb902d4e303e6773583b2f33bb825bfd5a14515967514f3ba8d5d3ed3630dd0befffc5a6b0eaee81d5686a6129772f6629d749da395cf866c9b4916840395312df7d8e63edb54743f90fb3bbbd27233c99f601a829fb5f680622fa4bc815a5c27e00ca6bacd0d682cbfa440856d09ad891b62e330f967984110660494f90a2bd08a3bd63a9d350787599aa4bee2726eeaf508de6ab47b62463166f8035caac0ee3586ac59c79bb5c47a56be42a972d31e95acd88cfe35f7135ee9dfc59a20a537dc3eaee4b359d1f8285a2cf4c00d257da00eebbfa023b34ac94888a3a0885124870fba6070e8a9b0465fb680d465e9fca8dc170ac3e47a07dee59c8b4e5def6beb53c9805bd2745f9f4b1af1186e83bbf00e23a33dcd247ba79182d4ecf4b6ad8327d1c51f86b439542a6813157226fa5a0ad9bfd7b37a151bd1927cc442ee4f6d0539164975077444873abe010eab7441779fd6bd2edf1925cc09db88b62ab26562d68a6e1840b384c3bb90356fa2993b451001bd0d2515978c76265bc520ca2e21e55a8b14f3c6d4cc0ec3241ac9ece6633bf20273008868d74d61af1ca1984e01dbd0bcfbdaed9cc00cdd6a72fcda19b54b833ccdd61c16e8d6b519fb52dc6d5b96c308e0908255b4f0242b6afa5d3491442291e4b6b333711db9b2d32ca9779fd4ff5eb504a38379f9accc539f9a888c98fe9662446571553245c5f7a5375d280e595c45949ddd62352e0a72ac8f015ee275abff38291d73c17b79a168dc3fc288bd71217672d8f9cbcff46c9128c8f8351b721351e654758c5937388ed2e8c86e5a59cd0c105bb9bdcd3f11d077c43394c52ac3c3d796a7cf8ca593554b4749acc921477100cc427b0fc56dda5d04f4f7c2006aaea440fc840d99ae8a7cc22df97880e1ac3858939fe67a65d7afa64f022e841102754eb33cae50bc02a432f0fb06622b3fa67e52a85dec5035770a9df64db8a04b35dab896c5a8d9c613470ca4744b0610819b1de4cff823d1ddd6599002bc31d750baef5dc874f9570861507789745e9f6f0d910a4f3772850cc65d4c0358b6277ea9a6b33d2a7fdb6d7883e59297d4df9e19c74af7f872ff5c563b02b6b5d5879ba4d1d2e8ae0604945699ed9457149818f308b8cf1872781ed21536dd9de8b3d39539bc2b41542aa01ccf6a16fe21804a026503fa1441264ff827c6057f756798f69148954a8ab307944c93819a7806cbd834e3895250b3eb892fc38d8b5865e6376500f47418241c3749bd8ff8990cb26c0fc30bf16d5a6727d0a0ee1c8702fb8edc0bb78ec3ee0fd3c003882b245a6e108f66ba371d16bcff3ea7b2450ada96c3a7b25ed2ade980a35807a3477f517767cccdf66f4101efcc6f092d7f0f56f549897c6da8172ee75916fb5944fa49250c6e1dd59d304f8eee659fa17d565a1672eaa19eb8d8cdca3fbd1deb6909c269afc5d0973f7046f781d26bbeb8cc71cd3ca7115143650b3778680e741e72f2f65c505e2cf0722ab4baae70e94539974128bd33604d03514e1ebabe02fcb0e515aba2e98be92b21bb05554fc357ed7613167e9e46f0f43c7bbc668ddff58ac5a7adf2ef355f72f7d37c706db90ff8b6ce18cd768aa6bdc4335382f2fa699f83af64323e4cf572ec665174e501187b8a253edf4ac799d1246f96bb08f20c84b80d9eb93fa610721f509c1db15415846a60cf6124630833f5270b1fbdde2e40739c938aaf11cf7267bc5aa1db56e52784d7c2606a8cd4234d8815718646dd910bf05e454956c61261492c6181efb1d3f856a1d23de675904227373011a463cf25fdfe22b2bf8772e2dd85587c456035e5ac724ba206e27e21af01debb75f753cff96aacd042dd72cc4abf7ddaf2ec2454892991b9e24db8d327fb5eba1a97a3abe8055c7863aa6cf923f6c654552e57b8701519e0e841a21c9cd0bd55d54b9c2cd6b0c7c17ba9729f7b0c02347821867a247401cf1ea203eb5af9446a6c75d1dcdfaa57096401163fbadf76d4712c7adebc8bf328b32b23bf48fe1ecb11134ff8cd055171796d2b03d6ae3a8f3e43727d6a16f27b4dab7bfed71b23b01e0e280c46eabfcb68577283c38e8c19675112dcadfebc5bfcc232ff3d3840cc3bf20531be1fd6e4ef6072be0f28242ac1223f805d1b344b47a7aec0d8bfa0129f7c7847f85c8fcda21b6e75e308ea29f42eabff186026538b25bbd27895792bc3928b68c74d2366e940156bc91312dfbd2b4965409e26d5c678a55bfedbdb247c37f5f7497e6a385d0d726f3486704a3b178f40c44533f4b0454ca3024586af9b671e3279e20cc456f1729823a1284042c6b2be02027a3294975b8f3420cce35488f98e597e4543a69872697a38e524a88fe58568f68a82cc2d6fd9b8ae86d1f3c5444eb4faecbab73b729b1f91358db22642c4299f978bdcc3ff088a7b95acc5dff715df9e17014c867230575cfd9c27b64b4a3843a85296c8eb318510abc5be240551e1b317d75155720ffcd0321a180c061feb90e811d3ce28cf13431d71bf0a9ff90a712ba696a672665b8662c3f47cc9d2a0480051ae27481bab771e5495c2cf5bfdc1fc5ab14072fdaa5a7ef9b2993028d9ffb0edfd05ab6ce1f3faa622d6041e79e1c1ee1e0e72688e419dcc84206d1376440d62272b10d37bc85684da247a005ff62040f15f00fd1f32ea5c0dc927231f6a87f4eb516e798c94b0052a8246586731efa41213720768c05c04d45f74bce1e60e8df4105626acb2f747f480972c8fbed22750230902af5ce310133bb28d369a3539d005e9e04530070527b5a1b640c403e7c03372c64b9d29bf47eb7c5a90647f7ffcab989ac766f072b8ed00779f015e83a8a37261d0e7155dd30cdbe3fd9eea79c8331e1241d8e20d9af57c372683dedfe64a1af89b144bb11636fe3c491d1898efdb06fa9aa28f583ce4539a2f4dc33723df7231d61f79bb6da6881979b25d9f55ad4cf6eb111840461aaf2a943af412ed7e7200edc2e56db63297a7eda607158337d1b5576d165ee868449130d3d14f53537276efea23274adf6b95d19e0120cc7ffddeb9fcbe1c2a1c4b5660cd7513f440584da32a14d76977a1a2b21b88749ae69f9822bc281f0d0857c78d5c213922bc72596ea5ea132af723e956b7bfc9ba588ac02ce455c0c5c653b78904fa6236d372b26427da9d7ba4a92dcf02431ee2acab04f6309378b201bf95babefa985a917219ea9b6786c4960c1f6abc7892be66615bbf1a77d2c58f0620641372ccbc6f72099d3646a6d2a93a1429c64a01eb59e838015044abc8c26baacffae2a465b272d01351508b9ca07d390160ef9eec4a84ae8a8f6c79d18e640c78435be811997279d192acd5e23b6009c5c122e2a76c08ea209ddbbc37fb4371f4811fb5147672c4786e071ccc8fdcfab59b242a4c01282d07a279c113b112a8efbe10ef88687276c622251fefc426a333b86a19c33633f8c5e9598d2e9b559b1706ee9a644872e2363f5f5af1ecee4faccab53a55e0deef706c692666a75c2833cc3de70a5e440c054e0879d434217a0663618c2e18a723fcfd2c833b9a43f3fbc01c25b498727168b159602f8a8afae4df3b642c957ca50c2bd475a26d1562e16a60b6cc8172ae1e10b3dfe7b90d2a9a0e85b2888387706fd757d3898c0829c9ee50049750724076afcf80e5887e7f64c9718454b994d8e3931d9c3fdf627701e4219a34a27221d9142dfc4b7ed47b4e238f26fd58868f439e487176c68ede33a13d5f0bf8086beca5894d7d0237abf6ad60c9912f31e9d6918a3ae5485b22a9b3ad048aff7270965cb63dfcc8b7ec7373f861b9117aefc95f5198bcca29ddc27149a859d7726be8fb6ddb6c31efb917618a2a05e460d86ac5bba9bf6e1212ccfb8121b9b70d2e94b8794727ce733af98b77f641890c786f3150900f71d4f073047ecba81144f5b84d9a6b2d333d1dc2851588697ab6f4db51a6986dc79932e59e1cc45dad6d988594da10cf7d4e96329b537fa6f5708e5ff08c46c3fb6e856568f8de05957235cda9a6cb9a62f5df94926285943e59fe484e8905db3d9d5cf8820f3694577285358d2d541b9e72d7e307ea93925721ef4c538c1e4539fbb1b9ce41cb4d3f6755122190b40cedd737ccdc2e6f6f3384f61d145fa0a6d88bf39fa6015133cc09476d7b6134c47e07277a7d20a0e856d5ec46ad5b5e1585c86abc231c85b5f65b627a78f70c65a5500b3a6ab9e7fd096898d26ad45da4fe6cc083c9fba404557219d3fa622f93e99c22c906514951def72cbe0c8602d0defca5849105b6853d0b7ce8fb14d4a5dfc41f92a258137e53dda346cfae08edee2fce0d7eb6e78fd42523f93959e7e2ee5d008ff8bace6229b5318fa427fa1343a4d7f2cedefb6a0d72e97c76e63e6d58299ab6e15ab86aa20cbce76718042d584318d68a194bcff3729b73a8cefdf0f49d3709eceeae9584093cd25c44658067483c41224a881bd3723ba4f782a60448c05a7a984672ca905faec528e8cb1a79aefce8d37cbda17e72a35a420682fa958e1c8fd6140558c99ad831061343d860390f1a85e46ac6652d9ebce5bb70b17dcbf18bbeb2f89357a613643a37822739861a625fbaed20d53373dcc0cb5825c49a317390290135401f250f3bb458319b7913ffbdb541d574726be18d60679b1b86742ad3850dbc7f09c7cebb267ebb957f83d6f24203d47b728a82d5c60f4a4cf8efa705579c6ed940207ebb7205464675197a8e7612e5255c926ce0ddac2b18156c6524adeeec47bebcc92f9bafbb31c205f5f4a9dd2f5d0f0203bfca6f66906e5bb57a6aac893a20e71769b6d285b17f74e85de3f5f2b97285b6ac18b75e0465a4cf95bd633372a4795f05b222725c3f73acd6f756ef9a247cbd699f0625af94d808d912c3e1694e2989c487502837fbbe95c4f159fbb87292987a52bd74f8f30570fc4e78581f7bfb5a6271d66f804cecf2e72f694edf3a70c188207e7239421b99aa75bea08e9423c1550a223a44e1512828f28146c47259bebcd5f7db3cfb43a4133bf0f3fb58f87c035af512f5320b3b65597b04bf616ba327bbf828c12028a99f7deda6d997072882de94b4e4fb532cd16825ea7a72b320814382e0256a718b883be6684f762e786c33f5ae992549928b01c75f967224fb0540fe0d4e405bb7f8bda4326f2eb3caf45caceb30ea9329920abffe3872f369ef331da34b0d444de1668c24f51ccfe7ab0f82898cca2cdd959a13d1d547e190a43c3e7df331e44b32b4ea7ce19193ccb86baa6e75ee748582205b923972e77574f2fd95ca0a6d2e74548a4dd080d9b4605f32f731e8857c0012c2aba8722de293cb881b055f958c45d416a7c19efc9dbe0453ffa32e7877c716890e2c723627f247339e6630de4f3c2b17ffd49d0159dd9eaae666ab0c8564f02d0b9072b8789146f6d2aed0314554d5f3a01092cb1426044289406719bf91214856b547d8cdbe270399b628ce4ea52aac3d84236ce5627a1014f48fef06a33e6d000e720eb364a820d71f74ea3bbfe4f5d30cf1bf96ee7067709e44329094ea409112080df5b07dd921f267b40a81408abf50a20f80284a22e58034b43c05731a8ae472592f4ccd9f4a6d41014237ce8a1d6bb46257b298c12365fafacea5a652e3a572c067a6178959703383f69452d449a6626014d8e7c21c7755d4635649a456415311e92f27192cdc453e05e0de1f45acf083b10323924ac487d3b5c47763706d28763fef6dc2942b4def3c109d14f35bbe07d96b6b03d78ed661b605fe4d7997053bca4362db1c183287e32fdbdfe52f09c99869b6b36ada5c355b8c39a3925c72a2ed8446b6e6de24766298d6b66c64027d3992b7ccb44c9827a34df6f1c99472a708bec20e7e89186e56b6504220e9742fd6d62da620e07d3beb8e7b9d1fc072cfa9f1119b51528c45032bdb533a3538dcbb2949b963fd74c2d80ec998da716072c4fc8aae9ebbe34b553bf1ffe61255be9ebbea9435c0b42573afcc88bbb5721da36fc143fcb161120e2b28ef5e007b85eb2c23703367fdfef932cd32033a722163afb457c583dd49c35bc3d5f654d93066026b87eb8aad6f85355773e64f72f3d5d778396b1e7e4fc7f32e92386f26b707be4df0c312e89df74695f5e24053c8f1b18d13d138c2f458300b1a72f2d7deae1964b5846f10c5cdd879e84f7d723a9fa4ee715c52371739c01f010e878417cb339b0796330b2514aacc0a1f3f72dec4344e02eae16d8cc64b0eaf7724a396510b0c76fc90b6ffd694abc9f3006039e32a96a0712531324c12e8ea8e68e408eae60b62bba54a36c696d8bca9ce72f55df128c0324bea813128d556607e42c4923a5468df0ff1d19ffa3eb081b16a40d96aa24ed34d9438ffacefce7213dcaeef28498f6aeef7e9edbc90a025cf72b8a8e5c60786d838e49a6d97791cab317b4180ddb92b39e3a76da137f5a10201311a232f44abffec357854df79f694691f05cc3e3df8ab786adb5dd0c199ed72cedc0122eb5a56a98d20b43254edf36e3f01fa14428d9563f10b7ec374728b72d0397be417fd3237735cdd540ef8865cec7a5d79256597933a3d2d72fb110764cf2c76f247c8b9fe1edc88eef1a8e7a7b9b90bcfdc43c5819c0e9b8ab1da5a72e3f353f24a6b8d1ca9e48341b00f52ffba959be664c2be30ae224bc84937e172bdcf87639f92338ece5e7c7a43abc2a9df0ca00b44ccbd8811901d441b041172400178da251bbc284917e51136bce96712e5068a0cb73b34726941de78fa2c7230e71e27253a004c3739a112f527fd9d33685e5e51555fa480baab8a992b8d720c4e5c03d3cb9e6e9d4350be3b6855e9371263a7c60436b295b5af86cca4e96aaa0985a48155e5b762eb52a29988fcd7175a3118367b5deb5112d94dd017fa729928c0f1e95a4425a13abb78a9180d4509844e9ce3fe920941665934fc441d725f4f060fec1868a1a02c838ef129e7381af37e95c9abdfac60bafc05787bbe0f1d51057b95d963073c7c39558903273c80bba3d8ab1021a1a0f9132411645c72f9d2e0e34fa1490f25cb9eb7c06af7c8d86ba1bf0ca85ebb44a459df7ca6d0724e7597bf7058bbb979dff4ba502283a1d55537415cbe193a1bba156fd0c1e6729fb0a5064dc16f8cff47d7d961474d31217e6623c9575c3c7bf69053a658fa72a31c21f9c6a0b619f0e353eb00ed7d96fc1aa2ca7086aff62240284fb3bfd4722619ed0c4b441b6d8083a906f144cf492c464e08dd34d83b7583e085d2fb0c6f87152c795438b09277fff1d923d03c95a349cab27dcf55b1e4915a4bf26827721671225d3cbce54480099e4f5e99ca8de217bbaeb5c1570eff4d9b6dcf3c3872a44edc6aefe73a02b43cf495d46d7ac3585e449dabdd137accbf56f8277ec67211667167b668662fa15452fdb4d0fd1450614e29996a85405808a8ca8c4e3a725b377d6cc5f866136fe0508b615bd22651aafc12a6bfb8fade8e63a7b6a2f021d80b298f0d75d4a4472026d662c9dbde09ef82d6bc38984a3ec1b4c6d62e975e74701e5377a5e407aa1b9a4793a20b31319b5086e7e3fd30e6876068bf23b26826cf464f62a72f34aa9c3d1c7e708ce6807518dcd69e5c5427c133a51693630e00370e8ecb1b5e6461b84f3b532393b680958de02b91336853e1f1bf990ea11a4ebe8270a18cea6c177ebf0bf0acb149cf46aaa1180201cc5a4fcf9862205e65b786f222c425f0f2f5f13f2e7b72d122695f7dd4fd49e3fea065b5367b27ad05bb47cde8b5238d3954c64358a59c7ecb2ff669ab2c88e3836e00c19a8fcd9e7292abe15c8afcd7bb93fa02bfb528342c98c9e99226ccd9cf6fd5c338f3d84f728182335f12c81e399b574011203029223f766576a12f945e2acd15c4d398a6723864212c177423690399c9848b9b5a35874026b759217d7e6c2272e3c32eac4f7d0d530e6313d44796fa1610f30c2a740aa4709e29ef6219d121dffba3969a720f9880b02c5e8ed52c5291140ea59b94798040c75be1dacc98b2f644de24e0723baadc97b6fc84e383ca1297f5b8d8cef4cb983349989dfc97c66ffd200e0372fc9492f5a5f60b6ea3812dd0f433e23926f2f71cb74e3024fdf9f4af0283987245b210790d2d601ce6266d39c1012179cebc88a125dcb2d2ff9dcbb54ce903729e158a22e44e232f3e41505133b5a5a7d8199947c27070fdc69342dfc2b0b908262662dc312076823a75e8d2c608153ac2a53774325799d30eaea58f5b8ee8726f64a34c34051dcc80c839964bce9185dcf1d2055e7f19931748aec3fa422f725d622f5025a870f38c199517dbd641fbbcdbb50532a83734993231dbaed7b91dfabc60510af6b1bf4d95929135aa8d87c3f64d3a302260b131c49dae42b309095d495be80a39faa66fd850dc669ebedc793b7102337e65dddac2f9e931c76c721f1633b6d00050ada3df4fc638d4b9639291537517705fc8bb2a226277ba2272eaf05844a58652126c2733e58ca70af21e201f27ae922e207519aee26ba53758dbf04dcf352f407120e7720517cd0f9a745107c766a85364444bb2a4e26f96726cbc416eb37f0b4d44b5c4850a8a700ef243f7ff684a96ca3514c2555bf389724a0f5faa91492a5e335905a202837d048a98abd7aa6aab74d375657168ca0472aa95cd5e7636ba4a5ab21eb77fd667f86762839e44f6f1fd7adfe942fbb6e01d1b35af8819b3f038f066854e989d147a525dba1617664b061678976c4960c17251b45ef7ad0af0475f0e8d4fc8f1ff3c657d93f52a805ff0a1dcf2828c6a6372e02b48cec62842dea896e90c51a87d05fc9032f71c8ca0253cea1a0341b52c578c89c2b360ef5efc75bfa17299b5062500857be93ddfe1852bd6e5cf032174724533c8d8bd4152f0145fabfbfb64b7942af6426fd74143f66150018b39582572f2023d00975e700042d857831851fccd465ac499d317ff07f4eafd2e24f4f03e07540e5aba20257aa563854a3a64b3d364b7f5046c5c9f1fe3d6c3c57551195999b8b4e52b4f55ea21d46ddbdf2db8b5ffa97395965b280b4cdd081012683272de7595a1e0d59b80893b1840980fc9f620cb041ef6d2d7c1709b23f37dd3d8723a02ae519a6313c388a90caa79cd2b73fa9869c06f41a70149b940d7eb108f7299f563f09391d593d716e16ce32d495b58ff3bf09b5ecb54632356b4aa9c29729db2877ba798af207166fd3697b11505287fd7f895f5b392dd3906add85e9c72980f79068745267c523a3e6acbe8db14eb0fab806be597960cc9377aecfa5f7211dcbb469f1dfa40cc593e0babf1a4f386c4f0adc1baeb13aae0f270ae18725f75cc2a48e5a8b944bdb62c15ef06fe55d995d50296998b3daa6ef47064b1a272d25acab46c1d02467dbfb4003e76b83068f8965a48439813a378f7230582c7729e0812c339adf988f8218a1ff7257f7d0bd33fb32652deb2be4a7f89dc66c972bd4b9c97e6e7bf822bfd78cc3b1efb83c9dd770849a91c3b62396486e45dd972082f29d81f66d86e49adadb32e4a9a8a99ee3ddfc1ac311b7def385ce8328a72b713333366689d794880763ee10190943b26a3bb5ffff938896f30069afb98728010f9764b4c9dd67a093969bfec29cae50c5eb622bb1d925795969f76ef552478849b1084f8539d18b711234e62d4075a696940dbb287edc184300fad619205cda42024fe98e2f3c0e9c65115ab044bb60db98a551a4b1e643357dccf0b9372e151f7fc777babfe905337015251a8492ceb1694fc93a4d391684fb0c5a5fd72b320014455f72b3fa248c7001b2d1dd40df52af92a560a8ff8d766bdb8605372c1e378cd6784e87b6e600172e4e89926d8b182778ae428d42ab23ecd50f6d230576bb28758235a770402cf164a7b25be59ac82a5db9c3b45959133354a37ae72148d36eb8f070c11e24c56c6b1d9ba06e6c861dc4339b78d5dd6b41035e7312044fd1769fc9f6f203c2e76c670f9a1a92850bdfb3d7a982c9623d6012321327255e1433a2b1510e2ac3a0733dfa83354eed4b7c8ffdd2f332eb41877d336b7644be117ede1e34140e33ff2e13074b1eaf92d4a05155da32b80f9a1f44ff0a4726f6d80702af143c58c73961bfae556c8750b0d8e3069651c95afae5071c41947a91d08783c565a72fcc77c78d87a00371977ee5c03c56ff71c2835b3bec28a030a9753232ac19cd8d61aa6a487b08e45b15857ca9691f7a99737dc0903aafc250059152b5a9134222b3df1124fcaf7e708ac7d9519f826a373b328c293cb13726c12370234ed3b52acb96638faa7c47ca0e1b2cc40cad1e5f00caa957407e872ae2ecee46a4466ed664f7501a0da497893f65f5d296066bd711874e4d1fa882be0cb5498711989bf7e2ff57baa1fd9fa096e7bfe889e6192e541d4c0584505133c7b5cfc27ec6b2f361ae9fdc919bef780d9613b02276b6bc57d8d15726c39728ae1b18d57fd5dccba3021d1b368b60b4595e965f8887f6fe2cf5778e484697292cd96b3aa5e8f6fef3072b4b41f9222df36a564567dfbc615f19576cf6f16723d6ce4f2bb91f7e1b3cc193e075f1bdc1a462f07105881531e4798ca0c2072726e0a601e730e796160481f9ae1bdfd76bf54a5ffdaadaaac39e68966065fc7728503ca35e57f1da7b3eaccb5c1e6b299764c3e6994e05ecb955d4dfc2d36027210cd01652a8b6d4bfa2ea2fdf42a28301ec8fec25a6ad134740ee6c260cf4072b06a3ee9e49008d811e873a151da32e6c089cd9d0256132acd0a64989f6ec1722dff977d171af87d3259bd071e0f4ad451e274ee3e183fc1d1ad9383296a4000b37c5df421ac78cff1d6c6d672b237d63309a771af7b47c422fdf3fdba97961de3a6ffdc3779082dbd61a8c9dfdd85dde0815f3534a53ad2101f89a73f3af1726786e1b5ecc3f964ea49cecf6901cd799c4ced121db24fe39059d6b02ce90b72216a37b15d7a36ea366b05b0fb860ec70ec41b5b9a9e25584aa2ac7a2dc8cd021b3031ac6b5959dc589ff0f39d0050d186c4f60450596f1311dd2ffd1a8ba015a57ab6b23cc728d17414db3c92d5f0fa221365f405a74e95614affc7576d86037c7d99bc789f73dd1eab160e117bf11ab05a5ef41532eeeebadc0385f73fe85fcc552aafa6125a428db02498919d537b2f057cc403e5dccf071130b51ea6814466581b6aaee50aa31619dae489e18921a14bda2ac2811c66844a0e11f1b9447218ba3485aa0cf77f982db31298785f558f058796b0d99f4cc5e2c9c5ed71d97269642bfb0120b0dd75af73f162775b7a06cbd2d1748e81d73c06d8a1031e9f233de9cc032bb5238b4fccfd6b0f8aa1205cb54e3c2c6feffe9f155fb318239872be7db1f7b8326eaff6ae1442e9e6c720d5067c2468001bc922bec6ce8100b50966cf7967dfebb4e6d5a42a954f866090efb7cf05bb9505fd12ae267379753572c89da36595f2a8fb998cc3c9200e14d6c436782f31e2252e67410d06ea7957182ed0bb3af11161393a1e23755478628daa8ce61185d1990d31014150eb5938434ffba3be411ed64bea46a6be7e5af7418410044c0cb05b80eebc2c9c1c4a780a08348c48de3025f1e760cc2275edbe53541e2ae9f97421be4245238beb6eb84dde08b57fbbd4c64fc840db885fc7c8980d63bf9f36f84ab0ac5e090aaa6a6c726b21c695df629da83519285e028927b21855fc74f7555363fe04c5e50991e159faf48cfd0593e2e2653250865baa86453462e906928e69452b2d5e6db13d561fa6130018e727fb1c134de16eb61c6fd64fe9a57b4bda9156e024aa3e2af9305697b31a41f0622eb33a72df2730670b0d3bf31d82d796bf8819c8a81e579947685c1f50d93b993917b4fcda938d445f5355454a9d9a496d63448fb87712043a72e76f940dde5f8d1637a4f317f209753df27a4e41aeb2a409619e437f3b11ab72643951826f313017249c6db1f31f9069c61ed755951379e3da0cf8573b670072edbb8347389d905b1212d09fad14ed12d0b44d7d02d978098e54860bcedbb06cb7aed718a03eb83e6732883478ad5a9cda936b2ada2184fa8c08ed7be774fd724be74533f6cba8f440f3107f868309c6576bc313d0e0a2db81893633d17a6f7296e6b89ec1a143b9e08f11eb8d6922c6ff503d9d50a07a3f588e62f215a45443de582d599427f0f63300296d1c7cc079e6f8d27abe119e317702f3e121b7ea72b91957d41db94d09dbbc36750e7c82c3f0539750e35776313c0e30b646ef72654588b1a63d2351de5e7c1f8c1bdb179f45e0bc8355e2aff65e4ad612c0c38e49fe66a6f596b41c1fc6e9d34d03419011d2289564ff8f9a063bd226580e76a272681dcf941a30d731353998cc3a971d644375fccfafe0a09742d8953513fb044006ce7d1206cb3abc6cad79bb8be310f99ba523abd8e812fb2f6281b8f071b565a50eade7e2de4ab8128f6933b5c8fdf0596a2a1fe9db3020cc82173b651cd07287caf3060b7db4c9c72af93e9940a73c7493ae6d2415f896658a4c9a3d62bb72ef5a8c036c4245ac030696d3ad03664873a76bec122b30d4f289a2a3eef57b07f3f15983dc0746eff1f47290d75a8256f9b14c460527fa3a9ca54850d80417729364035b02be30c7e4b40ebd20f63257f5266eb141bc46f3f638890091841172f28c3fcbf956e7ff725468f62acf1555d6c2226eac844496a6f1d542f1b6da727f2b2ef89b0e668e0f140d4828cb077b585f06fa555a3ee1663005503296bd6c91a97bb15f7d1c55098f6e993799d7dc080091d2db78a0583bc75860c1e4c25b3e2619d2a2f6f77ab0541914f8ed606c1888efd47caac1afad346e8f4ba6312676b2fd91c94d60ff4fa54406a587ce2b8f87730f89742c125e6c245afcbe7f724bea714e73cfa04c078659c97b0e3b62bb89a18e9a31d9ddf04870720757c469997e739a70fe8aa2e9d4a3f984400b7773ef8eee2e555d6e22105f4452dd73674c4b2c902f9889ba6583469e9fe8f0212bf07141818e79338916a72c9942c0235f7e0f46ec4f6b3fc00be74c423fdcafd7fdd07e7fa0c8de8cc1e2c43b5886729597a2def3d4cd173f5a9212f4d3c8525105cb4e86414b1ab5c52b1cdd607072b7be1887eab2166e73c7d613597dc24c02f88215e37dd8131bb4702f50b22841c5df741db09188a52429433febfad4f0b34da0d73f10212cfac3a97a3b77aa7289ecaea5ac3e5f76f2912cc1aa9462fd9d3cfd111af271586df93bb8ec6ad32eaf94793394d1e5c85da783b89a1c5cfd582b3beefe95454ed6e1bc8060d2cc5badead3fa20c6e80f2180af17aba8e29b752ff7b3bc723a79554cc638233ff872c031cab82f4dfe309dff51182836fdf1ffa1208fce2548488de895238787b55910b111234af6e62a62501a321ac35c9580504e1637ed46618c8d2e28e4d6f7726b0c6d91282a1a8d84bc459f25b3140022688543956c6768ad7ac1d799649705349f295c22c2753c6a63fc92d7a3ee0d9b6bc5f9a2edf8c40128ab2517ca46722632672d118aa05daf6f243deac865c457614e78dfaa1759ef18f741c62e86725971341c5bd481183d34306f0d88f641510da9f52cc18aa6fb5ed6d84aba44004cefd5a9dc116a379b861b46ed769e18cdd448a3e161a89235cf85b3f16747727027fb1b5ada4934667f231dc56a24e80c05b7db2d3d4fd00caf487db7e03b72cb02950ba9734aad70fd4f4296d420ea5647c2bc854441e1008a0d3a14e9267269e7dca34dd0df1ceb76cb972598544a91303f9cb80329da317df0e516615f2c93dc31915d458165565ad1b25351cbdc4f61990197812c7f203e7ec15b245a5fed661a2195aa59a15dd87816937eb1cc8600ab0b927ddcb9d477e7123fc40672cd4283444c23c300eda1b013cf61d80977340915d0e3002960a46fda695299021eed063827380efc928a849269d2a3292fe6d17fa50e71636ddf98d393c2a172ac33f59cb5ef1ce5f205c4e1fb1cfc15f9d07be29f3b8a40b113837af249ba56d51a7507aefd89aa7c0e51c519175bdf3121060998225e96ca8b8decb9cc925e6992df164fff299074324df757bf8211e537064b044455991fd790db9c034172f312bfbd5c91922ba63ec1499581a2d3d001538212aa1a8760e4a87789b75f72c0f23e5e152f3c43ede47bd314a5ca1d163ebaccee1164c9a4173d40db942029fa81dad3d4b7a0af9d34b6ebafbe7f9108068d252c0b1bd86d045969d38e7a35133db3f16a08b6c5c05e4c8d7a626b15d11a2ae9d718fd8397676d7258da6d721427ff6d562b628759d3d3059b7c03e09d0b3669a3f317a07fb38062f3b694724db4df3559c3e855a099abd6d8cbc3190120337dc20721526e4d0134a4c57d729885739f16f12f08e6b65f7b9d6da271da8d6cba1a92676b4efd6b958eca541165111fb296a898af41f1a151dad1c861b90bd6c697ecbf637296d27d2fa1566d9360bc3b72b7482feca251e7f940552701994e489eb553bebd2a19e9d022343a722f472f0f5ef6e9684d2168776d4d5d96bff60eda6ab77954271ee739ab7c1a1e0b8254380fb67641ff41867c080abe6dd44e02aee35232fa26c757fdd05f32e28ec57affc637fed223a449b42319a9c2e9c579a1beb85d60205511d83dcb725c7a2d8e85bdef9a1cbc99bc114a586a31b40fa774ec34749f4550d1afedd21d3968a4b9142fa3d26501d06927f7d09ca643754d03fe7549451b77b1237338729b12797ddff8a696570bec912b6aa4ef5385c2eba1ee450258172e54405aa972dffcf93f410bdcda807e7acf41923c162e397384b15b2106a9f37e610fac9b726e3d22a6948378c4de3f1ef77949bd35e5f578665143b2f37f6edcab0c8db67246cd3e0253108f2624ec9f374d87ade35466563ef721f43f7ad75a25c527d1728873ab115185f95855cb0e73a6e447d4829a7d4f43cd62aee51281d3657560725454922a6c8342b7a2e5408cf0f26f62439aae25c08ad5053726747a9dffe03a8cecba4adc6436d85dc60b41f4170bffd31e18bc998eb6a0baa681b75afe6472fbf1d050c651b47f85439ce431a1165e8647f6ea4e8524325e4ed95aac5f127220ba01c056400f452f1de872c2e83e11543bda1b8a148ceed52939a2862b3a72d4e3dfc00a70fd4a9bf9e631dfca30784ecfc2a11a91ed884f576cc57fcfa260e26ee9053c034c1ebb21fb96c7a504945605a46f169da423d8add3dcc85a827208ec73030bd9a035b606003464ea82557626cc97c2deee6cf6bb8fa63c60e31c05b36dc8232ff918f5a0d95d466fa04069dbb0fdf1eb08b639a6de0effc1f3722550626aa8a2936b71a8e48e5195432eba371ec1dc4d42efcdc17b3ea8b15172da23daeb42d44fd77e564dba42629c7f924bdb3e67dd4e61ce70c6cc92f52e4df7ac6308cfa9f5934e64120d79773e2ce9f5e5e3a8eebf763f18a3910c3e8d0742b8c544a7f39229122b1eea9795f85bf6e7241be7ef9c2c95c062e00b08ec72530d33c59e7f3d1cee90918de7d7c0c74c21b285a9ac4d9347ce12ce589ed872ad85db479c42eb2eae403e5dde0722b79a0a78236b3e662d02ea6e2bb04c555c933fff7cbab750ddcac490f3da14a42cb79b979ac454d59ffd698f87d3133f308a9809ff695566375e3f441f20a27a3f7af1b7186ca128fd649d7f32683c35729bd3984adcaa24be9b72f98dc2cd0c9c97230d8e034a0adcb9118a4ad9158b72bc902f113e868d9279ab18761dec59119c659573c5837fbf326fcc9531149f7262609acce8a1da1edce73646afac810ed7564e45f5093368f0e511e26201cc1b66fde8e82d2a725178e1669ffd6120abdd8956b41683a3d723feef0230b60d723832759d71459bb6335cf37779d145d88797017f6f5cd5036a0dbb21aafa107224830f2709df710a0629136422013973ed7ade23afdb0e867ac04254400aaf72c925a2c423c4043a41f4fcfc644b4099f1f0226927e9d8715b369b30f16d2572a40550f34fadc40a269a503effe26d57bdcfd9c1dc04e6ff301f66f188eafb72ad00f0d2337e1a4ca8be8c666d32a888d2e9570c5585ad943bcd4f9c2e42b3725b018f27f1cc46df8866d0d3c1b45f25a527be394f00959e07d51f14b01f3c72a0f53c5f430aa5af36adfb931a4b1d4c7c1d83c5596eb20b1a0b6d6ff89ab472ce098d3f3ed09abdb610ed6ab8ae84609d242811bc16a0f7bfea9e41e73e8b0488a84feb81f99fa121d63d5a87ae8c7f8b8a63a22c1a2a76d97a58cdc06c8301f29696905c8c8d56231b6e07b9d3fea3c2d275c955f013a2d4f6e228b1963e579003c6a8d227b7e55f506bfe60ee63e9ce834b06aa6f9889f15e18d21c0abf6a6160e227e6cdcd39606c2fd1035fa7f0eb88e73f651d2841c2adf0c4e2dc03721170a46040f90ebc21fb689386e9ef739b235ed3287b1030de7af9862960a323fbba8156efa459684253fb3c1ccf37e6e69f1635907ec91df0f19ab63c51247241939a5df3f29591474e90b8b0e7d482935e8a174664e807387c3d141fd2bf7241746881db460e3d64b23cbe766e62a9bf484d957631504fd927964033da4872ea94e89e5f52a4a36eaf7aa617bd113392909dada1333ed9aa3647b8073e982890cbb91623892f2d9b6ce2f9540003b2e3b401cabfd93108e3185a31648d4072f391b9aac03e10eefaf584accf5c9a3138ae8d74da69d6eecb5bbb24f480dd722525b584d91351f6c8a4aade20da39d1e3c01ec6254ea705d2165e879c027a727de945b5c4b530b4c8e837ffe5dd5db995f613f22d96b680818f122ef2b4c9728544a2ceea78592c25827e6dee81caf28faf26755524531200a3fb01e765f17106fadd3403dac8a6e9662921c80941492d75c1d3dc71dd6001624795409ce14f0e27925a29e2a9efc033dd878cf0014869da7171b3619831b13cfbfc4c8f843bb59b4d982ebd8d2de28d4d7764264560d028ce082ef8e7a49f58b9ddcc3c27727674b59cbdc7b4e4795291b70a8785764b972d50076af9a614f581185c63ac07d015ede777509b5dfc01c94defd8f0f214cd3af193713b4aeaf83a67be36d9154a90d521a092339c87e189e2c6d1d934a6ac9826d3875da5bf72b4da15df652bd540e63d91311d18f717a02dc8e3eacb1a6b06076e89bc120f0298852f29c87259f6f930ae1441f9468d7738bb2af4f15916afff09ac489959cf60cc7a48097277ff5251b9547d85104efafe33e584edc4f5b0b7067dda89a456a7a4d455f4726240bf4517df0a3720a784f886bfc5c01eba2c5623d90d90626cdba3838c921945c9ae409f80dce2e4499b16dbe5d36d2576be53225bbead2a6cd11577070b2ea4674b7b737174c6df907674e4b634ed6da425baa17b1908d0bd8ddd53cbf27209de4ffe2cbb9d21eb817ed56f94ea75dd6fdbb7b0768195774e10c965edc5164ab2578679eb647eaaf9d6bf38506c7643a449296b5ed695b46524d1ec243947f7bcbbddc36a5e69f4e011018415f4d18ff128074e8d3761ad4634a0ff532172ef4df7fdc385021f922514a3c5fa0f73a9721630355ad0544fb02daa0628df72a7cd35d21ba6320dfb9d9bac8736128c40eea90dcca32af314065867625d30720109776d6b34c4595966513545f6ae39687252dd065cae0961abcda39b272b4f9bff85b0f980423cb183c87de45a7f24491996c0e446d8095afe035e3a66497235eadc903e6dedbf1a6a28fc74781b7002bed3b156a53cc797aee2e12d925e4caf0a14f95d8d0479a7902d128481842519552859ce98f74a48ded4abb8aea26e55871ea42f3bf50a427eece5507defdf8df76a1b207a1395957daf070f80f4706a791c5b363b7bac1bc520d16e03dade6f8c937c6a4d63e607b225552fcfdf0c2178cf71aa6ec98123ad6bf4d1250a2a2e0a927ea6075d024f49633b90dca954442a05fd53dc3db5daadb60dfd1e614e45e1bde1ea79e1db3d178da5b8e9557246c3dac9a8dfee0e2ebdbdc72c8a28c12ef4cc442390230a94ad11ba7e3fbe7238b6487015c68a84c996c9910d9a7583cc16da8c1eb5e5d2d6572f7db6bb5f72d6d2d85d4113f9ce8ec8850c43d9b28ec3cc6399cd943cee19d1f88904cc620471063ec6b1da020a5a6acc1603ddf50c306f162d2489e78f892eedd2e8fd5d721048f4c384443e3232a70bd24f64888e2a19cb0b614cb14b958a13dedfe2e65bde3760ee7a897ce4a9419dae75e917dacbe362d62f5d6ab897c7adb89d8ad172042ca37ef45ff36f3e7a4c141c83282910bc81122df0ae2f82417097eee2b472bf64f3cf054092e2bd5a71dea0c4c0ed471b3c8fa83f337ba6dd3b4bb3879434e2ed1b62adeb3291a53108d24e4d2fb22d8cb5e37549473b3ece41f4d7ceb5727855cb053384cafa2a7ef65de7ca7316fa0c0a8f8b57cd0ff758b8002df43157cca2d53220312a8ded5fa8465e5fea33a9813a36bd36ad93936f5fd293ac0c27ec069f99934af5bac6281a96ebaf72901eed8b6a08df972e75390eb399223a7280d3ac6c6b73a78f14c424c1fab87a06fcdc662a203f5238cb7fcb83a6c9416b15d3502aa17ea4bd4055cfcc9c91d11402419ef024061ed0f152932270f67543b642487e5d30cda97cbd0f4ede816704e734cebf45c95046adc57cb60163857263ab1bfc8fb65e9084e023eb23d98b8d318838d6e7b70f4b27c35e7aa114d872c29ff7ff5a5a6e5bdcea00ca997e311ba726ecf4a7ec6c0462a9366adfa836727dc53ea00ce994c034df1b1e51009e6f3da1adbff98354ed3f2d0500f1a89972ae8c536c19c5e22bc9af3f96e7662ed26be3792a03920bacc75590bbefbb62727332a92883c24927e2426ebf13bec1ca2ac5c081bd4958e13ec2ffb708b6627210fc158eff2c696c1474b25a289b3bcab744ce5b85d6f51c4dfc826aedb585729572737d0a75629e3168b4e7ddb3c3ed3faa6c515abe2ea0caee0e35a5438472578499bb7354cc2ebb42cedd6b0385f1787d93fbe1ef50e317c515b8ce792072ada31925cc8ac69f133d86c1141df88446af7975afdf5b96f9ca335c5a422272fb0ba216cfceacd367c26c6e5b4795627dddefec6c20a2dd4d126804f7a7b962bdb4eefe9b9c389e6efd76bd6b44505d69d286513a1434e7d945b4407cf20f24ddb387bf302eb95deeab6b0aa32c115757bcd7679ff9c5a326b9da687fa19d72540846e060419e36bc38341d6cd0968678a17c5314b380759b41180792835062e1ed0c01df2f5fee5649820ff9577069fab60da7f63f8745e7c88364c8e7697287f9536d9a14f620af3409cd7068336a7e86a143a0547b499e1aa0d59d2b8d72b34654a71c15e6a280a13804e8629ffa4b2ae6d5db9afcea7cf0c1386891ee72f9695ad2a110d4b9ad96214285a3372ba8b94eb8f2444f2873b9616003eb132bb0dc9696a90494449f365fd40c3763f39b94a9081d1e1f0a665465aa537fbd7206f237917eaf39dec809e9e868b5e0639d975acdd497d9feec76b478b08a7c726a705b9ed0f88cd558c665ea0661d9a55215c765cd81a16b88e490a4d6526d7211d0b5af6307935edb77ad64bf38bd23ce2a62923fd8ed08626d7efcc5c5b84511ef8b5608b25691d922e424e1eed5b4149c693b8c6838c7a74c51feb8a1e372fbfbb5fcebbc0715ac72e67cefa4659a43031ab7dabf9b2d2483b3d8aed1026fc2912d193f7d57eed7dc372aced37dfafbd19702f8261f8681f88e74f0c55a2863ee4980dbf941b11a8d1e942ecfee81a86a5a1d8f577e32020549b59f02803949030a27cb6888c6a96c728df09e461427d9b4e47b5695c84da532851df2dd273d24bc2b3875b37d1831a3cedc4b2053e2b4320520bb34a1749f68b82716f472e5800eb34c88ba7b43d82db3180943097c30091283d4f780235e14a5afc4a372ddb31958c50c3164e19b7af53dffa818b874c242e996a2ed77e3b4dc4444b972f37e51c956374282e27abe95d1ca3d8e023874ff6913a0e368ceb53bc90ac9729534fdeefbf82d2e829064463b6af23ae11fa627df91abf6014f012a78fd39729bfa499b4f9c3ed816611295c739079cf259b0089bf8110a2bb08de22df917721a56e07a492fa788cc231eb17968821e824c8a8f1763a2c1462c093bb436f03299ffb16ee1786650d61ecf2b2bf0907329d13fec283cb9c0be0e6aa39f8bb772b9b58a1caa6cbab40e32ad2fb7368e50e1e5b686a25cac0482e2e30c479e8f7296b1eb0d6407125726e2d7b3d819031b19f0f9b9f2d17a159aa5d1dbb1dc8472efeccd15c1d9b9f2dee63d4f8928644634aae035aa54547c03781f7325a97a49e01707e3b3bf325522f082b6dc51bbb0175d97635cd692322e2007489d8a9472e7eb429ce0e1c6b6e269fc91771901ea4cee438344434b0a545614d54ebdde7267594728f9dede89477ed8956eb51ceb733ef6dd8594cc23aa222dd6920b2d72d0fe5f3d46771eb1c0eea0bb805912da019cac579f8486c4a4c3b18d8a8e5d34db958b027c417da1416a43d2feb59cfa76aabab6a3ff0957bebfd4747ceca572fe52227a2fa4e19c1e292bf92ca42f6da5d17727727ef7ce4e2e7e5d99b57672f32e9981f1a841577ff0770ac80e249070418cf44b1209b0899689a451e6b6369be0a5d842d7191f7df41795eabdc17e0484c2a8feef982bbecac144e2dd0b72bb27b1606a1be741a769305b0b87a072a0ea6a2b63d579ab1dc32a6179d24272d1d56c212a7f707abb65cc5655236a24a6e35e254e70e835d64806e4ba0fac7213446274a5765399b0829e10acad71db516967cf8c476fd7ee380eb8c42c26728ded1dd71d9c974bfa8797a55e6a04a115d85a27e533344448c33042c3af3c727b0f550876a16f59cac0ea6931f0b2439a936f34e68fca0cf005164c6cc57872f6651d00bfc23b94e9e2b4698384350804ff49b8559a931378f7b0a75a89760d08ac57393e2925509a72d8fbb8591fdd3da4dfd82f74261f9521df1b502c934c45ac67458fc0760903617877b70c42f3ad504bcfe20ea5d6de237d646231f4721b2954655f216f7d0b159a2dc2e8d1e09c329c20cc8ca8ce385d6359db1e3028d78be45ae7988cd261a94bbbdd69903f961b73742be2b7e7050b6a3c802e941e404bd2ab5cd4380900a14370ca4af4538953e8116fa0f27f7b6c9c28845fb6727f71f6234f153ef85a96faf58d3967256786262f79d5161009b4e4a8f701fb2859ae660d5f9e00e18f4facce6278d5f5e8e585944cf5a7cff58e9f001048b767eab73d44cc9765bb9db993ad8f48a87fa0c79a66c8055ff1d16d0b11dc57e2722f1338efb24e492e82851105b5d92631473f42872409febc9f4838debd8c2e72a6217a356ed95eb285cd9cf878c3ac4c314ad42bf6542c85c4c0f21d538c9972d95c60227bdc623b7ac7f8e96813565f7419d6a1ed2837316e158c06fee9417270ffe4edb2ba45af8681e9d464e77ee14e1c95c9fc8f3b579d67330145ca9d72769673bbf18586c23f3757e970086a3f6cf8eb506c8a722094246665d4dd1e0b67d9be854e1496056fd7bb8a646a255025d201ffb984340643f9ea3cce24d503f793a0bb30efac2d368318495d6099c6883a9a2426091f51f276590be72da572e8666024a855107ab26771717692e065d5654012192da7fff115efaf629b9939a4faaf3d157963757a564f2d5125d7531963f654ca22ba811d9e9c5c446f1172f057275b8f2e7d0587f48a764dee32db65030e8e50ee24d3f0d33244a92edf72581d33fcaa611fb800e74682d3cb233ea6ce150a5848bbe24887bf83a8c19772571cce3228162f19d9d30ea5da60f58222522a197d4253a4690afdd7adde275b6be4fcca556f956c6db2a2bba7de9113fd388394b19c93fe270f924dba118772d4ab38510290d36406295b0950151b6c7c5f7cd6804352a81a9237f61ce2b672703fb8d979e9cd5ed9a65492fe1aa3a9b98aee9896202da8c6259a00b7d3787220823f8b772d510e3b0169ab62107b89dec2e82474cde171cae09dcbd6864e72fa5c3b3b786f04f6a706b96c68c54f09ce6a49e494b17b5197da75d2f686da72c7f4b89290f7e58e72a938c398e598c26bb27569d38c45ecfade7e3d93d0f8723c5bc47b6bf5dd47b399b63e0cd570f1feaacb38793b53a426e6ddd9cb0b8472e1f2ee8d459146acff736c0f6fbe1afdd17df1a3220ec5cf160a15c7e5ae502ee6ad7dc4f528b1468ee1e1f209371d2d24f6932a67a3c360dd27743f333e2a4b97602de75fe39cbdeb12c5e0b9ef71abb236a5c51c702ae35c86a63ec9437072a6c52a25141033837df945449778a5632610b3f1b40fe2ed2f9ea26cc9ee9372b36fabf0937b073888fd4ad39e5e4d99ff680a4f5b76a30d1ba049e2dfc95472cae7121d09caa353af71a8256c73805ec2f27373095b71c79222986962b81972d5070deab87add317490feae3d52de79e36237e13c29df9db2ca5cdbdd83ed72eb35401885ce294e02f6b994342d37b468a080680e202fb9f01af72137e1ba727e2e0ffb8331081edb29bbeaea790e43c3e957334515d80c80960d0e1f7b677219d92a30b34d7d129fa06de3a0aa9f9d3f1044e6787864ef96da95a80816827290858f2b6561f6e4d0c26d2b28772709a42c892d78725d49718d715141654b058ab64c5af8b64bdbb957e2e1207497fb685f854896d00c43f28e36a895483372767f97617b48d059ab0e1f60b90f3196dfc3c5bc8a20ee3cea7c22269d67d47284d7f463e153e2ca57b1068de74772d879f9e402690374bcb602a105e9cb9f2ef06ac7f6e3bf59cd77a3468577c39a70718f9392925435acc02eefc81b8b01104ce166b1e82bc76447d02cd1c9061b5dc21eb23e0bfdc91dd97a79bce429d1722c970b5f6b9492dfc72c7d99edbd5a67bf171eee00257b79a3eab638716b3a72dc814e3f521241e18bdf8b53ebb2ce1452679a4acfbdecea15c482a3af8a8d64c92dbdae3a7e8b5b39283fbdfffb1968528b3217d9ac92b4103fe4b97d1c757270cdbea0fbc9dfadbedce48b69240a5d49d4e6ac9f1fbbd8fb883cb3dd150e667d47e2414ef98e1cde141922af39cfb954175bfac7531a8d2572cc65a423b25b69d1e1ed5adf633c6c1a9caf9cfd091dad651e7d8d35fc0f44c1a3df3e96dd7260e454fb1bf70e00512920b75158767c5ca04ef7c8d6b258eb185fc3679948723718c6138a4e6703d2334a2ce03f205d6460670fdda5c05bada44e0998b4c4729ae333afa35159c6d8628af09fcb6629a1ca804f5e810a67ae147132b2ba9772396b0d45f2cb1c4b7c157bb5cf31f814e17793415e1e00576d72d1fa416cd17247cf48d01de2fa9aeed18404ccb24844de5641bce86205cd2dfa431563141d729f9a23eb8eeb321693d54ff0e39df6693da57e98ce3931ae571ba354bd038d5d899c537da2b63faf19acc0e6643e3f7b89e3f56e6848f1d5c95c8beda33fa3641f462ebda10e641a505db57aa6c5c3ba5b9ea724ee925c8d99ca93cb467c12729017857b8b9dc80d9ba34a9d5c9ac97498bf7b7f1bdf790698537a70734fac72666b32ab60f71aed6f0808cd5c560c35ccddfb26bb84c6c54efe1749e222cd726a6a408cc32df55f2a04c8dc505672f40fbf2223faeb782ea7fede2bbd3b59362a758df71afe4213f6890092bcab28b50cc9f82732a184bdd85584905f34a5723610d80d1461786b558b10ccb5e4498d36c91a888e4ab4b4d2c007f6e8900772b5d9eb63019f2b343927731f3d32a1091447d06f6a9bff786f1cf61447ae703a49d43541269383707aa04b1b2bafc9389bbcbe409c0dbe970b1710e2389f9e725ca5e25542feee4708f206853713a2aab68f6eb24790f1ca8f2eae60cc9fce6c324a888d3df96f55de983a677c7283f476f1645c6810897149a38d231eee3e08d49633f205ef0f267de8fa581b18e129f8f56df4463b5736f92ac00e39a59b5cedfd67663daf053b5afbc279d61fbf32968ee378116fab897559dada80456272efc64e1533f29ec3d8142df19e41b6eb607682c367a9e38d0c48fce03de77f720c88ad72b1f34fb6608c09bab9ff513185e1898a221efb17ed1003adf61c4a726ff907191155b6aa6837da50f09772777ae3d060eeeafc50888f28d833857f22056b601265f040be0a56bc92ea303b6a7ea392c426480dfeb9112ce0b29b495b623dcd5b5c38887c94a3ba6140e7f8099108d07681173b3a88a89a7595da1c5ca18f5cffd75cbdc1ed5448189632c9447c6cfd953f5ff75c078e18cbf36733019a4d89321c7788ff83668fdc09bdc3b467eb6b5efccd1be22a552d1bb0945f72c6818c11bae128cf5cb0326fffb607f8e6a8b78bd0522cf6dfc8b7db34090372573eda7ab4520636a6656d682dae86159794a6cd224d3acb181ef292d4248a5115a8332fab44ed873af4641a932d3bdfd542d13c1a4d22c9c2e69d3a223d34283985922373f64d42680ffe19e2b238fb9c2dff61c735b4972c754c0ff455d55ddd650bc8bfeafdf1ebbc1e7b45bfb68da9ace4e553f6afdabdeaf4d581e2722f3436b5ab70f177d7ed06cb9d8a88d05f038a5191f8e95d1f0be4269b4d95e472d32483d06dfc3ea27adea72b40e5de597f32d2dd6efb714f1016101f2547ee729511903c64fb349888aa7a0ee59380ae816350462372d874196a446404ab6672cb8b0c3047163f071901ed0469d6851f1905c74b53d3800d43bd8fddf9f67665e7d83b3dc38f2ba32186920d24f15f34ac2b0e758c24232c5b150f6e5a7cbc72599c3c429abe361c2a9a2e2836f2e799cd53f204faf722239067dd96918a676a2a07bd2520410ef318ce7cc311b03046b749c969599e0e27648bd7ef163f5472d4eeff85086339fb5ddf841a27e5d25fc2cfe5f276a74b7a19a885f068ab32006f7f4f594ea2b89a811a790c21d2b9474e169f0b072a59158f1f7acd1cb4097269ce962be839a1a863e241503397fac1d566f767cd63abf9247e0d79dd9981655e7617f6493bb3b4331ac092653989a04f22956eb806213c3d94896be081f472dea2979f6c4d0daa0f0c402e61b31de9ff57b592940ea0a49bbfd33394acee725363ccadd5c7b288a1d9bdbcb3f1dfe3b85eae43d254f45200dff6726e554d63dbf0eddca86f8c4d16180d74ad85b2c4e53aa5d244733cb9e5862d8ea64bf47286430bf4f369f2028d89ab8770dd47d709d2d2c4e6ee27ef1b4e299aa786e472d3aa85fadb54c056545183b2a5f35be1bd9b82dc8985e8fa0d8065037d302e7240c52407179044e6412e3cbeefbc7e9dcb0842bedc3603fca2995fb4b4e457726da8fc58489e06674ace75c19616bb3035d445a3e402275e57479f2eb07779724eeb49e2258b1e1575cfe2ed7f1b8be5a11cd7d7f496bd6f994ad2fe9dd6a67266eb2f41033eec868ded1272b9bb161a8bbd5a4e3042b9455e87e05baa063e721ff2a233aca3034b9eb4cb6874942826dcff31b937c0b92d455ec8bc221577721496355e7bca762abb4b34572f86a09b740b061ce54265244ecee09b3f2ab87223489b52992278a94c6dfa56ccce229e882e8db56eef3e686218984eeee9217262bc214e08278f8ab9885122ea94b1e8a161b3ef2f8727a6b88ca406646bcc29f923ab5880da2f07cf1562cac78df31f9ee91a867a57726cbc83c726ca1bc8350173c0b3408e026757d705e3904593bad68a687913d438f04129eab593d3b372f6869d50eee41cfdeb0ff3fb21e519ca2a947bcb37d479120d4f7d83621e1b698c2e1b0b4ab2c70ce9d4f453b9cd64365b377d78f1005a079c42d4ef9a7ed372011524a469745008b11404149a993e25865fabdf8ba0ce98a8ac21eb69a97c425160030b2d0c614eb1adb079a5d2d1efa27bb614bbd10a7927ec900f5a775e72baf5be2545db7c71bbb6892e8378f798205dd58d5f361aaa14efbb451b2cea65ae025b9ceb768783f972edad50fea4e177079645a15cafb44cc6fa9f39adba67fb0a8735ece40a9602bbc5b6afa5ea8146024f257eafaa67aae3e524b61a751eded25839f19b3b49659862ca494eb63aa930bcf5fedef68bac2c42fa47274b4fdef4151cffaccb92ba444bfbe036a1cee4994232deb2bab51fb58003985d3b3ec16385d438d01f543cc805934cf3441eeee8f20852dc31f8e25b059437c40743910e6377c156b2821b07db076507b92e5ca3b96d8a6bceb58e6d7d673c9375723156f89ba50f4990f1b50b05a372128d0b5fd79f07f0ccfb85e314f0bec6bc7234859f2d361685457092bc56cdce0633b3a1dc8ad5ecf2812cf3bf4340422e7240d63d8292e50aac8d10ba756371698936026ad7773369119f84ba47c69b5272c8b5cf111014fa9889246b18e5557573b001bffe80cff92534a1a01d18f2e172f8cde91f5b7676e0e11b1ab4114ea385e4eab5c2d53c67713d51b6625a53195f1488dd4617c069de214d7823c14eaf3a2f6b6450a32dd2ac0d196a8c3f6cfd3362b0cd1d33b825be9208410838cc38c84ff1771b7a890df28a69d7e72e771f7295f60d89550c57bb680d767d0682d56513466d39269915aaea60917054f0c67267ce8efa94338d07baedbda1b442429da674ea1af904bf9847e4e5827ab4350e998405f42aeca463f394a39b22a70c4fd99444f81567897b3d911f2daf33ce72787959c2d6b7edcd41bf765a61b4d4752d2e89546bc5fdd0305c8373eb00667240d06506fcd6c9e70cdedcf66f4260605c0db6cf31ddb29a076bf5953f74de7279517153737ac0995f61dce220d20eb6e316daedbb3a97639a6ff62d1076fa72453335c4371b40ef417101c296059168ec847bc20376a362dfb4fa075d71216cfadd0551bf5bc9a1b6f1e16ca57477300704317ccecb60a35d9e9551cbd46b6efda76c5dae4694162b8e145392da70ab6a2885396a9c2a810ca712bfbedf55726b8244fccefd96cc3680feb5e6bc8a895e0503434b0aabde4c66ff881467647209920a1c4ee0b1238525157547918eac7d83fc08c50d27f9b6bfd07b8ebf397258b797eef3222dbf45a1fdbe1e7d78ba9d588e63eea3c465d259f39b9a0ad572effc3dd56c2dd8ed1f00bc27d3c76ce0b67a8c574fa1358badd8e0b8a9e78c35b9e69b3163d1360c01ab96cb78ca59fd59f7bc1b6aa61a0d821906aeaad4834b14d0f609e24efd900294d6a7bd07f21f0cca65f0ffedd9ddd79c65502e2086182e574cb967fe87c668f0ba74c204051b5cbd1fa111da3cc16203e6822e708f3cc5200ec1139ed86b5d8a90383895981cc16c28790b90edd3c2e7f7268748f960c6e40ba993ee28e04aa4e2f5d5f1090f220b35cef4151a9ec30fe478fe64fd50c96e875c280d9a189ad601fbf6ecfc6eb5cacec87eb77366766d12997dda1a2bb758b03d7674439b18022693fa8bee62624a1f002956648fba1cc10e2bbdf272039649ddf30ae41071573b9d4ab3832742cbea178b2ad4123534a7d7fdeff472409d72777edb5d643bab5ac170cc8ff07302811b3983f766d96c2e8da15aad199a5efd5f77e12ee1b40437d7513605fb5803338c96fde3eb287e4dfdd6f8e5335f60e74c57a72599b8a2643e919179abdd0d0b247e24172d2d07e6edf32b5e71d253b99d4879e5a8015076c1f6fb33686dbc56ca373b45426ea1dcce770ecc1a8bd55d8e5401879e28f50ee1dd7d85f1e5992465fca68e5bc8aa96dbc404f94c699dee88d01586652369fc94a3957d6dc274ec6b5594aabb44ba3be52873f030fd134acab3e3f8ccec0b509375c1901ed11b13896b80ac41bff3bd076dcf75726b18c42880d38c02a2d6e0e4ceaf4d66dc51944d051b4cc6a3897a1afe3f10726a0c9f0b2785a14e1b6c7575e8163f0e3098544f4c59dea28bef517db6ec9d422856cf8db615ef403a03c64e30339683f3f1e6bf61349de71b605c6cc05b25716bb0c63ea3f8f5d9e184f73b69fc3286f41755fe3f7f0c09baf95741dfaeb172787810b9b81870e25eee49ae9d245d72051c8367ae4bc0c56129617006d3131bdbc780ed4e139e8da689dde4dcf00100eb601ef023733ad98937eb822341c5723bbe9ce1ac82a6a8e05c485e16ab1d77c1384768ccf82ff55dbaa335dec26a37125d8f9854ddda96fecbf0dd324180ea7eec30458f33e848df7d03987a30ae39682467ef06cc7850b3c287395e2a443c0f5b22d83f03a53f96cc65c64d0dd072147c9bcb7c399f1dc2ce5232fe44f96eb76d4683e9d7fdfb5325d70dc729a672b8be67af54a7928e4857ecccfdbcc608648e983428f990e3d587ff8574afc272798b04b0fc6baf43e52cd7a472202307ec5dd1354979825d5b07864022672f21677358d03522983432d75687d84610e73c9e43b5d973b2fdad45b73e6bc2b672d0da2013eaa8f3e8ea8d0be73d653130a36dba59dfb6f998109dbbcf3a7c500db956847623fce269b2fc0c985ac42835cdd3a5147e127e1bb462cdf8d2116772892abf4eaca28d59d80ec649f8643f62ba38a7a88c51eeed2234cda82b225c140d9395d4fbf88b1dc9275a810da08ce1935b614cdfced0cd246f5775ce46fb7283180163373563e1b69caa894d08e0104c8e8691b5177df464befe4585d8901c6104bdc61f8331552dd2775f6f01eae3d4777decb683a9c8b388c87292fa73400420309dc8e45eee87386bcdf367a41f30d807780a31f4d6112ac2df8426e072816b0b6feba30cf0ee024a791a7266826c434bde6fb63462e22fead7de29df5b15e232ca8d70ac4c978ac2816cc40a5b4528b881a9598e1313a9453bb8cf3c29d209e8fd0c75c105d7f5b6d7ab8a18cf28216e06d7b4949f111584cc004a9572bfe12acd70aa1121c45cc785209f5aabe97314f37d2ba5bb0967c75509e7d572ce4b3377a7911a5b0f4c2b0dbd21fe88ab3352cb7e86910c445f3238fb1eb67284e708d15355e4cfb72a28445737c1ad0d530aa6a5e12e3b295a1d55e704a272b09632be9e1d48ded899e5e5bb8c2f1d0168954e801493d40c97a6128905d672c3003cb773516e17da84aea564d2020699bd49f5b2291736a704685d81ed3b723dc56262ad52b2f9d1d9edca2d912a6fd3d3a758500a6f53cf286d7dfb8cc813a942c9a49eff8492b0a1b9da6a711b498b3ec2899e8505873f5727f9f726a9729d18905d66be897b5f35e77bca96262cdab36ef0aa73ea3b9012cc7e313070720996f8251c7ebb52786c0b194e487c4a1711a44b118e4ffbf84abef4c75ddb6542c04247bc1c541bb3514362b8a4e189bbc51e154c4f23bf1e3e9be0b988e2724ef77604e0688c45fd8c7bb76389ee7c8527fd3a900d154b91757d1dbf4b5c72968de9f75f0fe6496159f46b6b5ebf76492b9c726b0ea58de78e9814f935f10c2041d2ab44c99a51b6c59aefd793ac04d62594c9a2327f5af4dc582c3e89ca728443ec119f8ad78e2c0087808cbf26fe237f0e4782f1caa0199c03694e3106534ac530e912fef4949fe4af091d20bbaa92057c49bddbd0b73a0c5ade2dc194531a0da8da3b56058dc0564d02da9f8a03704977abb639519b661050b77e223a72a90100155f4ee5af050bff6e053637d8fed1e78a2b62714365fc397c05256572957261203eebe015b317c183056d510a2d277090c3b388be9aa88da721a13172a72efac8d49bfe0efc730d0a3d85fd1c11ed28fa3a27860d3bee4a4a23c9be72a82721baacb60beefbd5a325e856a6be17cc47e78bdd4a75e9cdd02cea429b72aa5194ef45771848473a85d82c7536b914db5e0efdc6a9e0db164799840b8472e1ac6f95851b634c8e2729f5e2382d85e9a0f23e0040b95c1d0b8e64f4e8a967fb63699caa016852ea6c4c71afa7c0ea925196e4c8e0b34848e4ff53d7a7217248febfecf5670ea098d1c599cb101752742d0aa63c91dc5521e6aa1a9ff5a472341bca06a0b79a235fc199af5a538ae73b0a19268d12be40153a45a36f1038725f3dcd882fc77b1f112f101530b2f3f6ca60a5489c248ed333a88c57bd3f6b7208d3144b6763706a7b3f4cda8cedcbc0e044f66e444d57b6f23d146c8e0a2572cb92e7e558d13d5a196a68ec4b606ee48dfffa579c3954382d9be213c13ac1728789058ccac8ac6c51ecc5c64ecfe704597f66ee96e9793f5c0512b7eae12a72c82a4c257d056b613697f989a28768459c2e60d595be64ca07a134c9caad1a72887af88bc270161ab17119fe321893ffa7b5c93cfbb776c83be23f05d7e4937233bdef73d049f7c748b732062e58fbf865ec1908e15a9a12010bea1725a3d672ce8442092008eb6c16d6ad261d47f925adebd60b7cc9463acb8df91781c94f720fdae086370d1a1ccb6eef79eea30254806461c0f9fc520ed0d96dbca29784320fa57cbfba8b27f5a269192aadfd1d110c08ec481976b44065eefdddd92bcf722bad53ce3fee0f3aa28a59c925ea2c8701ff8981eefa8ce19afd57d99ae92372465c7c3a8726371b90322d0e9fbac4060d7ce7504ba53498aec8600b715054727f2204bacb056717b5ad3c6b386cd99af0ffec0aefe567b8325160e911dc1c729152129a60ed4bdc7dfbf4dcdd6708a603335f3c8bb7bc32056532007308aa726d7001d7ab581473fedcc1151e162045ba95c7bcc7b23d3df260a8741cde5b26f141d5f6953d08166f5e5d585831ec6f9e83f413570186f3965c0c4d1a837072efab4e2afa59d2e72b6f95f6e232c423cf1e3cd2dbb7818cef3a2e660f5af17257afba641f4c977602af69ac68cce02db2ebd53d8123fbf02ea069910d97bb6975e0ad9f70137869b5ff0060edd40f67f55a4d33e90ac96137c688dd286c2a72327bde1981d0255d9e3d6ef07e550b67f198044d42a2a69f8dbaad60d9ef261fb18854641ad500c5179d8dab10a532e305903911d4d367782d5eed198e8fb072ce73e380ee2b811d025149f9c9c2964563fc0ed95a72fb050ca557b6498b0e28d60237785c509218008340f1c46ff50359e7617aca9def4b891a2153e87793721d6d44f8bc4059bfec21610d51e889f14a30a221e1b39ac7be4859174b0adf589dd0bb8a2e34f7139b152ce0742d147b9607583497bfe57e8cbd30f72132b67234f93ed0f3b545a4e1715e90be23b0814949d6426ee9c2d63bf1248484936472e93bca90ea6a42942f5683a3bd112bbb249a4f537f660afd0ad2d29106f5c87241a5a3f8aee46b67394d81d3d1e6c65ac322440b2e90de19ad1a8ada2d2d5f57872b2a9b54ed29cf3befeb3010b793c4bf70fd8604b4cafeab4f1d9c747452489bd3f66cf3b4508ff77249920220e2ffe660e1b5c0fd345a27444fe4261724727f72e2d7b708c4e1e4bfcb51a4761b42706761f497ed1b6bcce988a4312a7972179da0ed2e58d9fcdf43b7e55b637300856919ee368ac988ab7e8ca4bad0eb725d5e5173279b79aa8827794dfc51979bab16adbed58808a36d53955b2bb34e72b93e096958ec46e6a19014d8ec1f1637e78637a921d4d6ea6fda99866cec4c72778cb3882236f9814978970115ef828d57306de1ceb5efbd54cd9d239a5bed7297702860598c8e8a9b6ce2d5219feb4a072c044403a690e80803e59055a2b07220b77b4eead44d6b42d74aa5361cf3beda36c5229c4b26f2cf0cec781821fb6271bbf8648ea870c0c4f80a09a7082322ba5825b735110c296d55ed0f631d8d72ae61616a1dc05d5150528000c15da9702309bc43412a2fc5ef710bec5ceacb1fcb8897b5b3cf3e3085a3f18878e24d79e93d4e653f74e4c1b5cae70170cf5a7260bcdd2fd203abab783b87a36613e751e7ab30629903f7cfa006a43a0a9104283913b04397f048afba97862442c05aa546c63d82368efa2572f87673d79f6e72fe6a8c20b820b2eb1c5057c481cdd1a9fabb53f6cd3f0b1a31745dd6ceb640454bf7587e1ae3cd36c3a11dcaca823485383ccbae6f6a50556f1e11230cbe64722af88c3c59dcf3cb8d247dfc3d6620ac2cf9de7a95d34c371c6baa51dae8521bb1139aca2a83bbe1c06d1749b2caf5d559add408f2690309cab194ef5758733e6e99befb06178a68c8fea5e30a81312795c770384b68c9f0f703d4e64e4736729f013d7ecc0fac82720e5ae5fc71e12c3df22d22e943dc64e2e6080c7f711e7239389e22e6649971c9bf2f0726ba3c6635c4ca511ee1e1e6e0ea83bba9c9d272afea690fd1b604d1824ee04646d5c4db46332881cd08d6a2c3bb863a090dff72a24164c2e45575395f7b7e757e91eaea41a47ab03f9d0f8d601afac977f19029a5dc3cf0abb8d3aabc0a407fdfd9bac6778f4eed469d5930a5a47bbcae443772e34b7916202df9cd237a67b8a09c33cf7bdb4956e7bdb9db4999493f2d206c081ce2a5948273c1b11de2dcd9143c4832813ee67e04f2c7c84a75a563c7e1ab729a8b9a5c383d9e1dc6855e2bcb5318ef0c3c0fa535f8f6f61564aad79f436172784f2a5e00c98b46cfbf25d6eaf3e69434a25f2004d0b3afe4e19b6807d3c1527c377bee790e837b40e20d7bbc0379298febb2572f26f8de4a1ab6febc4f4269d69d907ec6ef539c67288976e82a36862dd9b844d2ed1cacfce0ba1c0f73a27244e05510f73ed6ff91dec8b0dd7d93026757c72d4515f30491b2cf64538da002fb038ce6c1c4ab7eeb3ae94170fa95d72c2eb6d62823230a62ad536e13e2f672bf421e70f3a27e0de3a0286cc69c822d452d11aa7b714e7370c647de59bca0728387d50f319b2a661efc830e38243c1e3429c24b4dda118f4af7a2ae54323272df95d50e43edfd05ef03627cee6c7f10c608278b1eeb6d2f8f1ce8bc6f758f0517fefc776c510a234b1bce91cddd605ee90bc1a9d8d6f816e2e4fc8fbfd25e720098f3c2e55a4257ac635489eace0bdca0b89e307606eeab72790272eef46316e648724ec340e44dca387697219d12570a7e6f2267d65b4c2691631d47a5380e999120fc3723db02b7cd71246be2a28188b0a8da8226f3496abd7b4e09639b7221bfcce28bcb27161262577c4842957bf5d077a74a89c87022a85cca01fc667244f138d2e399a5224e0853ed7cd30bf58aab82c2b5da85d4a6a75f21170c8872e4b07018ef1c2c3f2acfb4547a4bcedc6b0c0aa31b712ab7720c6f1c76327e72f75fc22b94526756b92811449aa062a90931beb434e39abdddd10d0f5db38d3553004722bdabaf98a8516c754669060471481bec16f6490e44e7523f138a8372f49d67f89eabce09ea5dbe6830ba43b7ee4a3cdd40d2340ca451d058d6ac8f72455e9cbe01ea766f5d9c8634007d3baf409c5f90f5f282944253b95a6a376972c78ad74b7f6292d8410ff400fb01b47f3b9576826636d919271a8bc46235a7724596093ba42297b8d992f13abf04a24605a330225eb4f4bb436cbfd7e21bde722931292100b589e63e8c2e4b6f6ce89f5821d6965679a0dfdfe07df293ce27720d2f17b33c8571ca8f0714425f2e46bf9388930af8fbae380f258fada320a230123c5397d3066c3a4ec3630e39e9dac26ace75a542adbb7a5ce023b8eca5a73a679d361bb267ea178da0d3cdd4867b0295695cbe1ca0abfbd6b8b638f653d030b2e45a992b7c221b03f9c3d8db3198f4ca4943e2883a0cbd1c9e4c06d48d995af09e3b23396dfcffa08b69e373930c5e5d65f76e012e9454d8e05faaa9303871ca631fab43a73250fc25bf5e18fdaf0d2c4224e69fde3315a27cc44c28fc6a72c1dc33c7a2912ac3c93ddf2d0374640a43aa0e9fbcc8e63ec9096a2c240c67048ff6d32c17f96e4d93697b5cc24bd3f448bb67dfa067ec6b6c0d8a4dd8496446f944074c2025b17e92892043f7504639da9500f4379dd4c175caced738d7d272e99eba0069a8c901822c9757b851de02c35f1993cd216169279adddc64020f19a7d04a65c662291afb6a18d0e129fdb6967e8430189fa4533308fc08771f28720d9feb55e46def750d924b8e4ae6d115c15e4aff22f3fa7cac1e2349f8f6f8078ccb0a45b793b4797eeda66f419aa806c7ce602df09f6a94617744bf24d8b27220d79eb991f4cd5c1c147e53b5e1e590ea43aaa1cb09b6493a62ee35df7c8b72646bd53083384aca5f3ca69b12673115ab232456a2d9e1f7e055418f696e6e7264a01903dcf2dfd6f2f6a8231d4d0cb737c8bc26b43caddc0e471d48a2f5be72b20833a9bf68a9693b5838a6d5d1e604520951394dea3b44b1efc8b5c3f2bb72cd9301f73599cb8e7e116d3ce3489b32c1f52f539403f0a752f16c5778057e727952e0555cd66e2fe05953fddf6a52ff4259abecd2ccad9066985c964c49f361eeb8e3887677ea2772f6fcd338cdf5db037e0a6289206e2b38505103c9e5de18360763da6f3d40a8e5e0e0fa224e9279dd102096d6155be6c7d3f5130feced7264435d56016205e1d7cdf52602580ade4803868f892ff4b52f4115038b29707286cd21e5bd85151c922c0a7174e0f94a4806a67174b87125dbcc8bb3d804d951e821a3533717aff925d4cc39e0ffee912ef35cc487b0565ce63abfbed1c27e2172e4e718724aede32fdfad568d30e2b7c538324a9c46da7c37b1e15a54a1ee72ddb13924dbdfe87e26c2d3c9c38c7d986d7c7d30ddb3b52f87c18051741c787212edc528e897afa21224c0f87b82628cddf87d89f5d0ed3fd4d8a6c97f292600126539336c65290903f31d1a23191210bdcf835e8b5d5cf740e8968e0dfdde72849f4ebd10e45be6ee282f1dabd0ba19c68ffaed7440d19651ef8e0f971b8a72f6072c9ac1a32710ad370dac0ad8397efbedc3a9bfe2939789e158c0567c115ef6b7ff05a7177836be564b89f1ad7645413410e1a53ab858f197a8beac579872d2d31932c2a37ac9e8a670facf9bf58c39784e596fe769727de7a2b80fc5f73c20b43f27fbd91589715210b58c9338cb343f2cc5089526b4ac8645c3df365572500efd160cb4055e5dfbbc048e7a84c5be8c1be94a8987ce61b62c93a0243e72bcc0cb5ac018a303bb75ea42e26b1c714cf94661af572361aee36d6696983872eef57fe3bde10376ac2a2cf55eafdff12dece2c03e2be2e126b0cd322b75ea72c3128a87f1358cf27811916e00615766149e0a817ae863fe3359cb6df8b43f727a4e69a1127fb5bd2f7d441a42b0cf864051cf26fd4496de952a9683ce70c572f9306cb572cfbb7f4d1d22e468187f1b61554f5068921996dbbc2f1e73a76d3400505eace87224fe106debe955ab29ce7032a32ada55386d42690cf56f87307269f60d897378f08fa3a037b6930e4e524f0b67b0c4dff3e521ef82bc17c25c622d64f9bcf847865a66e0c3255813e47d91b98885bf965ecf86d6ea8e42ba9b7279ca9af8d6300f60e8120cc24040fdfe26d6d469103b24078d9eb656b7ac98585d86eccc3e0aae53298ad32691c7167372c1bcaf5909177a77ad9e56bdf3bb7224fcadb7d45714826f5f56485dd77f0fbfc35133926787c2bd273ff76a63451a6834150d3a5846fdb88a33b4a40920df7f13b5dfa7af1b6eca2b69f964ccef724a5b1145cde6b5da81852b88fdc5fcf9b2480311a297ebb9ae72a7927496227246a9574dbeb002e5fcd25554785a0f85f7c252c37b38a1f4235bf78ec9b729725ecb2d2c6e5cf74d6154ff60aff9bc24d9c5de8a48c629ca84b51483d666586bf4fcd123f14d6e8a76ff824b4a74b2502a55edcaa47971ae46154b77d39022727eee6f21b513e43688f4d032436413ba84294893fb88cf72aa1770a61f943372ad208c6579e2ba36d6cfb0c669988c111805d2fe38a5e3c59d91ca6b9d28d172947a265eac5f85d4be8e54a166e5a0c2008d1ec50fe2eda7d341247cbed9772ae5dc516da6088212b51d541c08b4a644a8ba062c44d1ea7e650eab8952b0b37246f13fe1783338ee5b591b44ee39fa72410357d60d698eb00c0b27f00d948772c7afe0efbe91c7c694d7697247e060893b05a6db66a4403bb48acb7e97962072a211b8ceee0ec5f2c19600bfe1517f0412d4f9f63f8cab9e0b73d9843add6c6e450ad92c23708d5ba292079a1e0b0c97753e77ac64606c27aa0441ecdc833b331459359220c1bb466acc028b754189ee8c5762b879f6ff2c1aae21fe478df5720262b52bcbfde5072822955ef6017bea1cb95615b1b9d3aa8ebafe548ccdaf3515b8d4c5d4bbc396c90680d7a5f27efb3ac0dec2c92bb58c3acf23d46fd7f850bbb3f9f7c7f89c2f313a4d4fc19b9e8fbb5c6f36f6583585c1324f0e07d3011893c82b4eeb519edffb771d18b55f240564dcceefb7ba6e04d5500589b7320e4fce3b01a28488a8676b8e690de4b009c1de8252539e2624d4944391d32750a6005dbb8ca4a878e784061da3e565e9ae7a3d9cf279679f0573a6f0ed4161d820722267f5d1424a062affadcc90130d3aa7ea4ab0bf83662709ee669bab6766fc72004e2ead620c3cc004c29ab19d870eafa9d7e6ba6138636e15677edf37cf7972ef7ffede2e3418acc80f9c7556df30d5631304f0a67723452007e4f37e2d681572f44116c2963f520a6db2e6ef2dbead700f1330d9b73c6f000fda9168b12d62c0ba85f399919ec1d660a5167d688b6373c3abac061b711f76fb874aa72bf332b2dd02a5b2525da6f1d65af1c72128972e9028573e939cd6834ff79e3f3f1972eddd84575cda877521fbf03d7d4d991a3c8cc508f71d0261edb26f2b52ea027216ee8178dd318412e08095a13c80b37fcce7059a9481cd39234e7d2f987e537218cd30fca8a81b13ed8b1372478e2b0c073940a8f15d44172b95edfa50cc923f8442da527bc31f2a1839daefc87c0a5c20a00cde294dc766262b799ddd37f672d7101aae8f99e1d3bd05bde3eaab01edd5eae7196851eff159df447d0142e81120c0cc132cefa35239027e0f3ddeef2c260ec8db3494bcfa2502d28885648765f539ebdf89bc4393ecfcf1a98972bb72858e4674f271370915cf0dbaaf0cf1728b8598be660b1f3d9d4689a93c855c4e75ede8fd0167128843286424cc5e3a723a3e4da1b9162559ba3609ee5334e3287631cd89b108fb481abeac6b687dd672557abdc263a36f87ea8cfa79ce8296363a3a5b56cc9dffeffc297fdb2ddd23453b3cd895b5d107d9539fa3b32e0710939762dd568bd9ea5bfc19ed6847e3477236866e31a3c162782a16e52fa191e920fe24f49a348cb11e40f1831245fb5f721871ac4ddd6e43b923965ff1ee18461f4ce5e90559bbd7c257c468c0e5c90e3e2a53232da7c04138bee366c4d7b765b5f9a91e8cc014ca548508fdabdb4bee0e97e1868059f051d580c9f3d85e5fd1728e1436e2c500de13e9c580757a1846692dfe063ee8def4f743baeaeee04a43c126a7f272e93bb8ffabe6eb8214da7c72c69ca0e9f0a1ee7e1c9b9105ac9e039ab0c0eaff5bf971fb40fa5f58519a83155a986e20c47499a3b8a1fe17a6ff252dd6a5a8cb8ea4d4ac20ab3072bd83795511d62b3f67ea16e11658a880e770f673ff023cae4e4ef3f219db162e3b12b6480875ca20c6a27310d07c119226f9edd36db4fb4a86d0ea0db06ff0d6b5f052724c783290a542a63ebe38b263271fb315a925e6af91dc7f7a86f6f43b3917a829e21faef5daedaacc9059793adaea33c5afc08e491697143063e75921344a34678ad67e7f7543b00a241ed691e874b358adcd157936ea1bfc55ced4e9aafd197279d03bedea96943533b975b2b071bc8e72b306a26d01e49825b97728ffe8e172276f7ba829a151c269938d99c42d73a3145c3db9a31747ff194000ea24b5bf635de20bb29076f02c805c5ae867788be67d4c6764959047d1d32ff4580cc2c372f8fa65b5e1392414089963417289323d00bac1b1eea1771da524423f8392a45cda2d4d478c566495fd1dd1e662b9a6bd6ff3547a667674ebb28b3ef432b6c67249071e8248fe44d002bd8405b48be83f0021203b52c36f0e79ed3e990f3c2272739fb2b38c4827dee2d70895c4982af5d1b114482ec701ba98a96e49cca6e072f2c1aa1dc9acf4dddf87090f2aa66ee7f7bfc6d9213f392b89da90127bf09d65a99b20edecbb24303c71704054513eb78a05a54cf77b4c42ab56076f802b8372c12c70ae5ca305b34b1601edb538c69fb4e193e994cf1183e9f5bfd914b9b772b2f60dce7ebff29647d10d974589e43da6c5d9789f086067cb06eb0004d0ec04771e5db5a14103c37e318a9f3188b5c7a15a47dfbe5671a4eaf1e3ec2f287402310e1692cb4b26f3740004682cab9e6f2c4c60692ea799d4a6da5989739d77720ef4b879d7aa76078649b0093b74083f495b4fc76016b1ebc5fe133c104faa4c46c6cc385faa2e83b73c24ea3f97ff5807fe808ae2bd3bfffa34814e4f2f3460c6f664767e8cc1c257dc18a1c1e000985d614f50ad3ce72ec4311c20fca15e128cf9e8ab9a8cd0721380b3565a94136fc69b9ca2eb091b2a3aa10c20c711aa1ac3f687abf958033e338dc24c67fb7839d999ae83f3d41812461a2cb711573672740ee719557789394725784e5100012aa54e4f18e596480d8287c72dcd481672b275eb200c460e15c20be536a95daf4205bc8c20df2f02f0c0915e196501c400f999bbfff862282f42af0cc8baacf8015314e11f5a463c39ad15828d14079b72480d66f6f4f5a4bc64e3ccb9ba9a80ebb25d804bfd1ef9a2d29d5cf58a0f2c5a34cfe0f610f93e529b1cea1ff9dd6e33ac4c9fad0ff28e88b5849c4541f23a4f17100e5d10d7c4cd1dc6857d833a1c77dfa3cc2140c725f4cfb0bbf07041cc5770bfcebab8b53afd3c72214a13719389188692f6c44ec5cbcf72c5f5e1c1a2729384e5289289d975f0d818c68441ad1646b7ff9a8f39f7d8005ff822ddc75572184ed106e3c35d6883e01e87c151a22a84c000958e94250606dadda2a0f71f2a2293aa20c0a160b5e5a921421dddd9fc1b15638ea1fdea9ed24fabcfe703de72d8134dbbad311c96e67066218399e4025bdd6fc90c4ba3c352533500bc4e430efa8b30efa432db4b4bece4f731ed87362d9036975b8ccce7b845b18273bac972c592237ae57f4d57de45fc6e5a0485aecfdf1c9bcae59b6dfa6aabcae21fa256da575a202b2f09c2ece7dfc9a89b79d0176297306a825524a6331c87ce4cee7290bac9fdc3d96c9d461eb45eb179adbae9f0ff74b34ae61e504e739361d999729c0d46a251c6c30c294d58115715e0cb31c2212084fcfbf87a18e0b3c82ccf22c5327cd2df7db7b462a2d0e8f6f95dfcef0e195f07b21975da0288dfd4546e72406eb5a5124fa8126f0a0a3f3bffd1287318d04a208a7d8aa3b0b5a33f05e972b82c3e993cee97d8f9cf96a021efda049acde75039dc7c271bdc888c8fdfc91530dc7bd41bec32e2de13701f364b80f3852dd95a5a49d90c1db3408adeb3a672195c85458d8450f63f0eda3c123e538b757c9d78d1255f123433dced3a08e90c24e738d246365482aa58cf7b4c25fccb6c43b74a353e1559a76f998ff1cdfa72f347001b472a1d5bc1f33da6cabff6aa2c6d59f75d99e759da37c5166411613f23a772266153cb6ba3a93f67f7e8f54293e1c86be35e90c35f48745d69b8f472a3527745fd098a82238f756e908faa2c680ad226a16048c95c96e49be645ab72dd4c5e3fb79d631ffde01240eb7386142b3843eb5f50391c18534debc814582b674d818afface845299711cc894f68812ef24c3d16a327ce580f11798a3d761e8ff2443444c176cb5d988b3b38258e421e88be6cda1ca2dd92c803de75a0c31d06bc49b670c7fd100c8330b9255d710895529b503d7e431aff3da1705baa4a72b251896b1d911e69cddde613636486845ab8e00252f62a749a73510386b89f720142d03fa7d5dd99f5d5399dd89153325457402b575943fc10744e2511078e2eb3d7559bef1211391e1ca9ea13a2e9918ebd6b3c0e7da8118b6301e18ead3672a21c9515143d33b9e78ce6e51aafe06ac22c7ed158823037e05c3911e96e4b72d048b54c5e7dcf3919befd0f1be6caa937c915c5b414700633ea93899c587972029526262d0015d9be47e1308ecd06283b061f15d05a89445f9b0d55e801a92c74b7641c0fca11c174330e97b1c46d43bf8c54859833f467824df5617be40e726c7e25dc9be51b12c70bc31a1f581aa82c05b83b218961d86def13294ad33f728c81865ab0c4ccf683e33c96a37319fdcd45525b3c152a1beb40898850526820f5d986a61200fb7627248dc06eab87637de79291861876d0de364fb3e45280722ee97677727861ff19aee4b30cc89c336a56fffa09ad121ee2d4780d29767a076d9b431935bfae839e17c2ecf531aa297e1e7c9afe29837c03f3443e8bae73724fb89c5894cc4abfb60b06a9add4ff0cd588b9a46246e0016ead036a7204ab72e9be0d5146c2f404f66a1bdd3d7b35584094f434d46d63ebb30679584770ee72d69cdfc6de88d28aafbc426ff304d804920ab590bf7b0c312df554196effc4722a5d71c5fa00b09fc34b56da7350753d6353836ec120eb3706271c1fe8477272a57a191d1c19eac1b791aa9c3aa2a1560f128f0b3e763c33f38daed99924187232d01ac49fdb32e307a4640d2e8517c5c8d3df43b4c314e97a3c0afeab9d65722fb0e0e9826fb527916795df96a3c293c7b949a5c3bb7d6e551f96d27e96cf725643de529fdc30ece9c2f0a43ee8782189790c30110a283f9ef165a6eb537b1669391ec59871f30a3f1e1df4f4ccc19b85962d0b139a892d805d70dab796e972458b028feade8688bc45931fd36b2214c2b116beb9c8267eed16fe3dfd139772582e419e62b2a5d7d36da89fea9a14dad8cb362632368d3f1408f42805787626082dab05344998e236cff970a73d7beeceb2b7d0d46aa6143854a65b0256007295744395cf905c2602efce4bddabb71afde4edf4e07166073c49f87631a120453a4589cf0965519b9388e822c5028e94e9385eff568309fd78ba61dd02302d29e8d48ef6f26d6782de0464491449460ffc2ee628790c80eae37b36d15f16aa727399cc31ce22e98bacb0d741d0371e0e981a2aea484ebe8e19baab3ba7301926a57a919b1619f2d086340ee1f8eff6298f1631131a074b199fceeef8808ff2723ecb3953ad6f71897c91f1527aabb121a54879434ab3394b366aa94b024ae7683aa052a25a89a4f2bfc9dba024c8fb123996cc5c0ad13eba7d82a3b2691587728fbf36e81c74b8940cb2be525a5b3ce230e2f80e9b692aea5c60df3e3954ec4f471ccc898d24893c87bb5e3bf4e59a0f89e29146bb84953e41ede57df2032f2ba8148bb7fe84de78aeaf0176aa22de45e5d5fa7a465614d05bfd905d8cf2284065d77b0ed98d257b1941694e51d1767e41f3930122b542ee34d5b488f9b3d172afb0788e12116afe0cf4df13d980aa902396e8c8ba198bd653b1428ff50e497233a5f87bba8fb76ba15b7aa09530893ff5d84f1e7458864c4cafde3399509672902331e57e2da38678fb9698f43da4da765456dc7549d2e8a5bb1150d5808d72d63bdffe67de8175039bbf269062f4fcc85559e90730acb2c6accfaa546e4872287eaeb81f118f2004a6939df74b4101b95ab93da2c5e24284da4b04a8de47262f8f998bfba9eede9fc24b8036e3c6ee169f52534d75f52dfe64c5140ea07772a844e3bc936269c7bc762b7b11802786fd473458d421189fe060ce2eee4307452cf736bb84f8d232e82f238a7fc7a8effcbc0ed339a506cb2b8a239fe428bc234803e838d65605f802f82abf88dcd57a94b82fad446bbf66f4927e084a97a072bcbeb4f683be663e5a13d7dfa5c9ad55584baad49f22a74884f5ad7d1940310941d3aced13da889590cac94e0a70e01f11124b4e973b377330119d686bf4553c589f7e9f8b3df2d95b7024594edc76d08567f7df6e44bdc9513ed3cad19b1b1afd8bf34079bdfa018d42cfea0a578c9418297a47c154dea9e3f1f901bd62a07222470f00d661163760465d03bd40891e310108c500466eb19b29fcbdb08ae91ec588609a979974fc5e48f50d14d4fe0de00390f5994defd8d0a28c5a375eb872f028048b0e164e8b303d62ffe40ba940584587862cafdb9bb234ea1b11dea1720b50e67b0b725c315017f673d947fec27ea6c5e8128b1d6d807b7fbcc6d0dd07d19a7b5aefca5e77cf3d6ad3da1e303baf1c0d8d6e0a918672fc2290cdc61472b922f2e00b9ec4e0da7bef71b8091208eb74b2ef268c273a9e1d906b54515472f3273bb503ea2b00622abc42d61d6fd717b0889f69be5b2f37727e3382bb3e6f4fc8f3461b2bc45b89cdaa0aed5406f662488c5fa8012ab4597a9fcb87a8401ec162fd41c9632c3e78e2a5b6285b9a925aa9aa380a3a58c9f2d56d46052af87210e4021df3d27d5d48acbb24b923a52022f85edf7bfd1386a2b423bfdc4b5572a2979a9dccd22336a4c29d324fbbaa49506aa3e3570509db173d46955e624c638a80e6adf7e38bfbb385995bb5fa52d4999693864db5d7b0f6955e006a0d2b133cad0ffc5e49b85f2c3a5212132cb2452aea0cb33132c911c904a5d33a40932a6a61afdb71edbf77679baba6d9483606117a90c9c5fa0b4dad4459df54803172fcdbd90a817d043bcf09a50e8eda0fe56bb39832d53ddcc17d9d9ca7a8f35c7212f9d011044f370cc0f557c31279d0d8a0cccb279175f8dc0c2cb1b43105857269b230a4b5866bbf851e5d51468da864d17fb76ee1a194d74ae30101a0f4b164741b6e9194a98315419195d2a55b0f682b2dedebadddc8697029fb33cb0c6c722074a1e6058dde9d5e33796649d4388bf81aac88efa99ae1da41eb46ccbe887280190e43334acbdea081e289e3e1aaf41ca80bda5a017b9e506c2da54ecfd472aef18984191fe9b4fcaa266634741f246d7cf690709c47c8425c4b507c3212143bf64c3c761d933aaf2dbe17e11c7e57a54cfd0883756dcbf7afacf73eff3f5085ab65c9648e9331671632a0d228581262ecdf93237d2a11584f7c6e9fb26272951a02fa5014ccd2e9eccd887899c2beb86a7f99d82a36d3fb78ebc04a31f272f7704b0e8d25bef1b218886ac387c9fe7155408923d1124c96196f296060c71dac87d444f3eb68799d20fe46daeffa65d761566faee538907c2beee37e8bc072df3ba15499f2dd7e65071631c3e08109f00e25afbd30704aabfbbd1fa56c1e72526ecd4f61b5c9c95c566f8453c1f5d0f165bc9888f76065cfcc3f8673538821fd07afba2c3c0342a735933ede0263d48ec415cc812f1a50e4517a665ba6df2ec50a1556af43bd5f749b9d612ee81962e4e0e54506cf8baeda5acd562c917b721526f5e29245a7ae1d177e5c59053838d7257e66fe8692f26c733cdf2d170b30e9e3d4b8bc71afcd31f36d7d41012dcc03230222c1e37a37eb6ea62ca525f87283b7cfba580f89c422e031903bca101fd191f1d01421c8cfc0a98f756e83d172a40767fcc64c1b5477648a3cbbb3392adb157717ef06eabded0916ac8d1585163e349f8f3ebb289ffe2f9b13edfe17d9c6e0b82366c2207541794b3ad148ac7214a58e72264a3e4892512b4d09d11912b738cb33f00efe30e638fe19680e7372234d7a4202814ccf44fbe7614826489d5a2af2984b31e39b2cd5db6e254c4d727597cce643e0d6c408764220587b754d3b4115b721039ad1cae67d094c805a72086ef4b750cbc289fe118bfe2d94331f6341229298f371701f370fb03a33277225e89266555c566d5a2aee4675fd67d852c4d73d799c831dfab6507c7a682d608d6c65483d54e06bd8e22b7a79fc371703a5ba354c48ff0d98a761d538808172a16064f05f8fc890802a2ed394261869455bfc3c0aa521cbd8c59d9c55dd51555ecbb32be662f924d419f422597f68efc7f1676aa7ea2020ae4d8acdac17b972449126b90e47f8af3e5ac5a0f0e01cdc3bbe80ff9526064abf139e0e89aa0e380eb47b79c3017388c534cd0798da21cf97440afa4608cbe0adbb26b214a64672394fcb2248087b02699faeed4652077f8d20b215789c9a0dfe8d609e024a7c72bf4b34fc7308588234a24935a125ef7a32bb7cdd97c70393372764c874d66f104470dd7f01c7518ae831fb25c1d43c923adf6331d3324300a3949f077a3045723ee46353384d4d8803791353c7433ed2c8a74daad6c79f6acc738c0fb3f22c725999804b3256ce237b7d322133bb093ac007b00867d194e4d7beead11fad740fdb111666860b53375cc80c7a91cf9de0144739f48bf6bbca31026a17683ae43dfcefe3c94b9bff71ac3f47e0a1735b6b368fc74ad019254779c8887d7c7cfc5a4e472da7743e32a6b8a1b3ce119ad26d92a1699f0b3da034e2e4c0c6ece09b726edc81c168299ebcb6ed63ddefd19dee3d3be5c39d9e98fbd8056ae932a6e272b7647e55185df19a29b5733f0694e471a5d32c9275d01c8b99946af5c163681a0a1b0a85c65e5c4a52ef9b7e7c6e056cb7a2c4913b950d74f976668d497e4f006697105f2eb288d01149fcaec70413444ff8f95b037c2d6a4ff86a9e5ef0c372a4fd7b1d2a191e5c051c80d0822cf412a57ce74d5c73d4297ae4ca626d7b26720a357b549a30b61f73536a21532d8380d991b643f385b68d4f011160a8b0dd201951028d88ae5da8de72fca09caed2b5b1ac4a53a793f746a280846ce195d0666764c9d488ffb8681254308da903af247be8ee3736f8f181c71458605af19672feaca18f4aaaeb1b2f78bb7bfe0c9987c946e8f56de27490b074a21092fd1672a0a26a20a398097009ae3a24bb8126425f687c34f6957a3e07be14d05dfb82302e74fc9d25e7f6eb921010c99e828e10ae17fea4216fe3c99f9ba8b4e6f8d80ba82754b53c55bdf584c1c7068cbdf754471f7742d444c5362cf38d1ed18ae35a5771b076fcd20e47be3bc261bb37f66f05f55d5ed6f1df665770e50c293aea7280ebe61fd91e4204b028b6f78c3e06e3dc59e47bfe3ecbba012fd7e4e82f88513a739836da2536ffd6ab9e71ef4a894e95bcebbc9ffe862590b7258f44a05672691f13e5fbb1325c8a4c560872569f5f314ef7365542c36af41a4dd2ff100572729af967e09a037454a403c8c3fe9d1297a2483ca39ea9292a5bfffe17c46a6f272b2359a3b6e0fd7723012443b24f9d38405c4e2554806b4682a521c43d7372618fcb78e4c7037d07686a94ec2ab7909a92533f99bc80d60182c92072e37f0822d278009a04cac49f5e4de7cd492d5374b964a5370699f03e1a43f7b6fb2f725f85a07f1c7f4ede3cf273665d04f271ca4fd98a78ad94f5528a872bbfcaf672446fc60c8d10bc9466bc47f70e914ea822515a69366bcef1a82922a248ab9272eff685fe39f0a254fb1ff66b8cf1ac3f233d6b80b2d3c5e2df313d2bf9990c0a2ab6c85abc950964579ec0190b0cbb0ed24ba3e6e10b6d70ff5a074b1db745723609dc8860cefbe7ba91a710c25a7002fbad32fd15d69e9107423908dd88be726002ca5c864fb1338359d07614f638093765589aebed6958fa16e58241ff217275e910e0887ea36c3374e4798763f17eaabf812e3fc974c1551982d7693c8664ff7f8353c5f9481f1683ea35d89257ba032691fb0e68305ad7830f0fe5d8d13423e151a61af60f27969cfaa350e4128c4bad8b12a0c4098cafca9e86f1ebd2724e2f1e2baf8df861ed000e43966c5d52e23669eee5d8e338272ded5af8924a7269f5f6f5b84a50fba1fa74135acf3bc06f360bf34f2ce25923149aad0e1969360075d8abdc8af365a0dc1438237267a58db2869c7c5c3bbb5ce1d142858ed42f36c5fc5841aea61ef9d2eba229341c25da7167f0a8ecda451a7a3606b2bfdd72e43af9596380d964a84abfbcb376c8cf4b94ff2a4f417a48459b7e58980a3e58f494ce16277a5799a79c6c10db7bebc811bd6e616f926f62862de333c5223f684c5969a29ad6a1d8d5651fd78f4b15c553923ebfee9b3dc97d5ded64e1fb2e4cf072db78a13497f26a00346622be78c1c519c82d94fa10511d43d8e138a4c131faf84e8bdb7f3d15e77913170a4db8b0027f6bae0734349809dc59ea1483c83ed4164e8ecbf922cfe05ae7742e98eb95f6514046dc2e518cabd92eb4322a9e721b3d3fd3d8e640129362de44ce7815dd19dba7f9df16d22db174d3b26d9fcf72634f95bc39f932467c5052beca266c9175857e45363bc3649a068b8fab390772d3b90dc794c222d5eb97d4767f14c63bab6289021b82dc5dcbfba3929fbc7f000ba3e597eea8cf37e79a359c4373a633a98b7657622be983bfd2221c76772872f9e0e24e95a007e3d51de12e566083d104970d59ed9fcbfd73e16ea945d1ff6cb3e6854bd8ca2b7642559af9114125d3196fed7593a3d7b50d9252437b9b42726d8f73a3e699d91344d11f05b27d7338c9ac19c5dd739ed961d3ea5e51667b514e4c4da70dce745ea7fa3bf7ee439266c266ae24f68ee9115f417df65799ec7251632a9d01f57bccaf7331414f084c6cc9411d232cb82cfd2c67176084347472903c2fb54a4f3d038d85dfdc223dc51755d0f6024b1745d5079c3f63b9154f72721b6cfe17ccee8ba6705025e4d6df99352a68e2e1bbd3e70ceb700dc91dc27273d4e0cc5c5eb2e9b2d091c85370128e3b42d5cd41f4ae0dcf84b862f2176172913412262df8e1eb21cc1015406aae5a6dc35e8e13011d9c89365a7ecb0c3e3df1be0bebdf9cda7eeeae6911e6a79de1860ba0dbdd1af93698f2c783d5593472da148c1505d793458b306c16b22a47ea3e4636d088fdc8139558b321e360a5728469c3c4924b5c256c4fce84c25f04465a2c73fe3bb080cfa5c57afbd215d143c9802314941c74c633638ab033af99cd3eb77aa0781d393fc2492789f80c6d724ae4a066adfbf08fc7fdd52a8b6eca79dd615028f83b61e9744a4946d03245725f7d9b57643912b68ff5430101ffdfbf2c5332775c0bf293835d4df6f0419f2303b0f6b639273c6c9c1e103e8e8ea652134dc3ddc588374710067c5c81c8151a5d87d422beef9476440aafe0b386e746997e85c210dcd5fb7df5c171e88eee7249fae714b03f56ce2953ca807392e306c9fbb7d1ffd6569b72870e1df4428e724ca92e6a87222ade129e68fefb3bcd1000b741683072756755d884a9e8032d5b6a4629597607aaabc232192008b331a1455b5b9ecf543c4d01b72292f85a624bbbfdb3347063e60f188daf9929fb8c76de84a505263e28137d1695fb20e232726e1beb6d7a08fdfe814db8f9d066b1e8b7c8102bb841db39bf354430cefc5e53a99974f774bb3fbcca445571ba94d89f8ede44523cbd6e284f9231543dec7b720a9011efd51525d108ab475b41e07b58f56727f78f7edaf5a4a9a5911adafe6d6717c0c278c99f722ab750ecac1946b699bbe0c533b593249e52e7c794bc08729fbf45c1763e5a2daf43758b7014ab32c8972d12ffa308a533c04f24f8561c72611005793b5a8e0e02d3fcaa2a452cdba3e753978ec4dcc4e1cc14785e02fb37b2c78e24955dd7a38e88fbb857ff07fc8beb39c9ea0542f364406c9db085ac72f23c48d31fcf8dd7732a2fb9fc26e18f261f0cd4d766cc1eb2d1fd5ee865de595355b9bc336eeeb79bf38c29fa2d641d0d47bd8357b2e48137180e1fd89c3d26e231483d63dc09dcdc74e5786c6154f791c5e6c1e62f2ed7d02f7267f74d4e3eca48b27ab84a81e2c8e24bfa54b24d8e3ad436c0f05fdcdabb9b15f81d2c7e725590ad8397bc942ce688a40ba63589528122519c35ea47ce3fefdd9153fde672a6866a6096fa28ac7c737189c6792e8c675d41151c9774254e130ee9edd4c472f9075a6521fcf65e96690091095954449ba7324ec6bf36559af88f430c5cb77292cd19175f6df14769f5d44d88bdc46de9263665e889406837523c84c1a95b72ecaef88297e14e979a52a45686607385958dd4c46eb62c44cfa81efefe31637271d07ddf3d221d4a727f19e7d6bf196346957f7cd7effa9aae49091a319ec40f376e7c54cdd509bc3ac4d84ee024e77602ea0ddb7b6a015b2aa08313d928eb7238b08f9a29f49cb2cfd771f9658994dff58fc19a66ecaab5b19debab476a8b4a40902e0f750744b4d28f390f32d91f5f4c27e6d6fc99136bc5dd9b872bd76972159b8fd06eafff59a3fb80bcd8f5e4f90c4af8e4f4fbb945422dd8a31553a6724288e6d7e1ec46424f7cc82f5ccf09d491c4332d9d8ccf5b843360cd909358727c6813aa98d980f5da73f2757c729eaa542462870bce5069d4f04323d1d8b0724bd48b86365cd019a4371fc623f4aaacbf8949d04a466561cf6e180a259ade72b4bba7b7a3c66ec6d4f3ce64f29e75bb2d21ac467a46494a4b8d8f1779f34772c0eb17a39db41dc6e48d5a9d29b9885208450b0d67a0c73e8e7c509f8fdf2f7297197f5ea9818c97d055b6084cab96c5fb979069268e1d933deda428bc8e9772d0960e2e23a72329c28e846df2586cc0c5cb39ee71ce412ad32ed748860e1c3fbd4ff9c9a4c182d14d78e8ac3519ea265a8b75231271c3f82e55129fd84b02723fe0206d282f96b432231ab4ca23d2d57b2efd0c2df67de17173ec613a58261e00fd7240906dc6c4b5374e8f2ed4a654412327daf89f87cd88ea63d469798972909cf6681c16c544329a1b8b17c667713510cef80bccec157247eacbe47f707223a1722edc4bf63e536fc4d4ebcb2491a9180cef896e0a47b2ec5b92ca30fd0a56cecdfd0a1fff9515308d8fd2000764f976499db6f08282b5698f722dfdaf728a2ae17a8c6b3219836985328fe7006d2a0af08565b0593f1ca43c67fd2ea87230f509aef09521999e7fc6110d0b05ba84280f2e482fbcbb45d818aded52bf28e3a64f58fb4fd03a86d50576b9680863998ba89b6e5dd1e3dbe4727fd3f0ff728a84a2fbca3eb111d293a1a3e45bc6725b7b16c3e53de009af6c463d0d179a101ad80deb1d0bd25f0b0af51419fe5b99e9f0aac9bd6e713f11b5d146768aa726b346f36aadf7d35e9e6a4edc600d5601d78ee873f8b04b69733d63b4abce4d725ebe13f17e089d409f7247c76b09e57bdf82c413f2fb102346efb0875629a372a1274ca24eb1e978dbfc9b4771e045686a3a3b6f977cfaa956aa3cbc7759a272aa460c2552ffc84fe2cf5843663563d1fb74d14492285d7be781db44c0b7f2729da1f95f5091ab7bf927b8c46a11cc4945ab9857e912c4991f71e0151b1f1370d59337da9b7ddef3dec6a518ec745e27c8e9a37f8736ddbfb5671966ef31ca214dd848c96c00385405808b04a47255ea0c9185767d40e30f798d3194034cf17267a540878a733eb495bc6c88f7244a8d42dd0781e5c9e092f6cf104d44b9f6219f3a8594a0e2f3367d8f012aa8e7a0aea0cdd35f3877f1f90059ab2ee3980e72ef33479796c09607e44b6013496612bfd9ab9f6df5b79e6592e39c64ed9c76724e744ce347607b23cb0db480c380cab43776eb08e6fe717abd4c206869881772fc83c25bcd9a1c3e79bdbf09bbbd32edbe7c4552e8723d06df36b436ee07cb146fa597fc1e9a040fa95deb29b57035fbeb4b266a9ab384aac8cdf073718c0e7248adbd4f6fe518cdae6dc5101531d1e7b63d1376d4f6270f61cbb4e3564cef04b32ee4cebc87440191ac13e4a5a56921383d8ed22de3884be6abdfb642cdc472ca72bf29f75846d0c3ddee7ef6f39e595f7059aa85c0231d693b843cbcefe17241978ed0941b6c82a75f730b2dbda9a500ddea07c66fdd80f9d6fc3fa7e6b248139f55c89456c0075c656dabdec41aaaee4ff6797b38dec2b1f164759b4fc13cef369486701e84840a2fbd6264b92a43de67f43140f47b6b97756a0e6855d0721bd0711323ce14580726062ba052a455aa7feccb9f0b9af7523fc20b39b19e45a7923a1a42d91405055b44772dd7597c1d8bf1ad25fc52009893cf50e210d972960119d4954a52a22f6f198360db9a42176ce295d47acef00019209fadd74d72d87a09ef2c2b4b735fede7ac8aedeb35343d71bd17baa7f008f531526de2843a661394b9e01b0d0f6d26c9c602bbcc02aafd83e0c337424e5617fea1a7802f72de36b564db9afbd71a0031fa7b5a3194dc284934b2abb31e7e7ae2410ac8ce683946163e9558895ce4653d7a794b32e467b25761ad9a9ef57ef2452cdcf9671d3a3ff01960b414c43ada5db2c8a4218e007469fa271db73737bdbe97614e4a725ac2af057eaf3ee70f15b8788da3c97eb16cf07a5e78c762c15bcd7d1bd886723e0b8bce3a2e757ad8ef4cd4b2c128e746df87755884d189fd4cf45fdc052471d09d30e208bc1ded1331a2243b1137f73a7e006f9bc89d4a11463d0babfc51723d805cc4c2120f652ff02fdd6cb247c7e65fb6c4384230b2a2544df0c80a37723172296148a677fe307f1325d203b87ed5bdabf55aa7c1b67458c013d9be1f726913027cfd3220508deb1584128bf7bf6d8ccdbd1722959670bc5a3cb6db4072f55e87f764a5b6882084573ee4e2f72fe6fdda53c167ee2ddf4a9fcd0438c5484503100deae9324d3e776f4632f6b814ff52d5aa743e20ac2e8f2d952a2da672455943ed2be962c3d168ecf483934b375abf6230c69f072c16f3a26ed97b7f729c568b5b0cadddabfa5e6935ec9f68f57412e6af5d76879db3bb65855faf49628feeee5cff3bc6edf59ad5e546e7f639e21232883c47de3b0045f5f5e3eae415ccbe028ba061fe5768c3208ab3d3f62ea54e9efe70c5432113fb402ce0cac5641fac26d1e11afe5605becf65401828daae3a58dfe4f1d179e3464452804d644f0457f7bdf159327ea635eeeef722d3a0a828ddad307a26dd7c134983e0cf18726d8ba2bed4503cf26d9ecb8dfd6693f32f8e002ded2a5346b0a3cfee3d470f72c690d605ed96ab9e7187b818a62c56e5fde7668efe541e8669317a502fb4fc72e7a8c9d1796c437a68d9e219a04b1f75262bf5f7cd1cbeb251a8739688c64d5bbd6fc422250a422ae790a0d1288b90c82464a4f0b85477f31ef1efc3b895107298be0ed8300facb7b2944aa1fd64d3d7691f324a6ab402504531f538b4773b7213fd34974bb10a42e8f1b78199ffda153d15f782753dea5dafb3c69990dfb25b7defae7744cf319446a0c59c307fe2c079f39a44aee9f7567f6532dfc75810720585fc635e4432744799bd48ec56b8c26485d57ba2604f7dda9093d21f43be727ed08d5a2a45c261c966d41cbe183d85cd258c64248010cd6c873a114603ba58df7ab8dd63a4aa3ddc9b192fce55b0419ae6de2be810ee6fbe42c6285187d972566a6baa470eb10ba1a5a91fd40043ec9b5f312fe84ea055ddc98e92ffcb77214a47232e5d2e2eaf5e325bfbe2aaad61bc45c9ce7df2b47078160aedab8eb172312a7c29c1a7db4a25fdbfc24b2e6f1591933e4276b430ff8c32c2f607c17472fd939d50c766781fc6ac7dea4e27c8a595d55d7ea03e3b75cb981d6fec92ae72efbe94ee95c8c40f60f2c44cc700fba2310303ae37765951abd716783b8a4328ad682e7d517dd8faacf8946f4e7a1498fa0be708494034c73bb740a5b6cb6172cb03dfc36150a3186718090c1a5d5a2babab7983c4efa624b3115b4170f78c1f9bb2ba4681dd26e96516b1dd2821798c992c3274deccf3fffec011b78796fa395dabc1ee8b224f6eb680c04a5cb5b8edb0ac1f3bb690e71eadec08906efe0472ed245236cd5002ec48ff324ced3e7587a81d1e8fcead4791e7279a9a4817a00407eed0cb8774462115ee1eeac78f068c91dfeb709f84637d1aa6937931dd6372ad7afc524853bcf31b7515c757380d8cc5cc2307d7385aab77f05877216c546c393531f45bb0b42995a6c464344147f2c55dd21bc077a8851f6b97e992b88a72bf3f560b85ba49511aef15a75a6e56c3edefa4efb987ec6679dd7852f75e7e7262aaa3ef056097fbdee4d798809c5f5e19c0db75ebee707cc2dcd79c695bfe727cc0a0472a88039fa36776cd8affe3906bf906d730da732050f5e46a6e9509052a6f166dc2d0bbdb6a26792db3500e07efe45fafecd2a58629f7634600734772e712931ac0bae0b9f47eaaf84ed063bbf2ff5965da30308bdcd0b63a6e33f17292c2db20b7bfca2d7b23dca0e5ddf7da177413f612b34d25afea47c48c2f9c225a878ffedf9bb896861c588fd84e8765ee3b5aa5352001302573c5d9ac936272f61691b51e43c36d3fec8a67765d154a40465ca0fdcb604f0210ad41d68a390acd490a01339e1635114f9a66348624c8f11e871a9f044e7af22c97edaa85a5720f1867dbc613314517d163f168328f750d0401f65c2e577b78b72ffb59d54a726da4e3b1b8329c625bb91d964e407e77593f6456e7f91dff6608428349358c72706d7df18f3949ca09846942812ce96af1ef36e4c8a1d1f9b56f549855554e72de9c536508365469e1f6f6720994f4e54a9f756e66ba460ce988e10a9c450672a728a8df1ab112f3ea0c306fc30637054731aedb0524f2336728d17925b57e72219b1203b7ad70542db4c9eec5b20d29ad1c9b7c7f10693a85e051eb32b29e72d41720a443ae76bd4c47e506704890c40e547471c7600952593081874b68457253da8cca6c6782c1bcd28f3a8ac3548036fb43ac10e27dadce45af473411d2160f6fe33307ebf577ddbc0f55303466808fa872e2d3a0117d6c6b9dafe67eef72569e9857267c1bcac9b2f61530fb7676192568c0c8cb1dfcd5e5fee9a2b19472d86f10e7880efb1798ef7ae3b5b3b9da34e9b3f654f5b3627d5646a5bc21067215b5a79df8c46eb76452ea354088ba70bd85aa4243b70fc273dfd112f5c4790a280ba83404a941deeeaaaba05cdf8c0ab76e85433050821d0716501d12fb3f72a353fdf77184d26ccff8686b9bb689d23b81bccf7dc92e84044914c2bca2dc07e6ddfe9a83796c713ae98695620393b2ae916dc846f128069bf0029797b286609443a2c63a82316f5a48c6ac3cd5b6b849d0bf9892603d7d93f153cec77c6e16d6ad350bcf7c39d64517965bdbc92ae8a616971638d780232cdf6ef1701be27253dce3afb94fdf0c66826c8100809841c588d80f2cbfd76911c10b04557b9e53d6d3dee22e947251d61c0c299790150d0d41ca4d4ef0f456d7e11f06cd4a166d04a2caab3c6795065e76a114799b8cc501739c1bc85b91d5e36b2ee957179c3606b4220f474664de883009efc0b24ce8bc657b9afef7c23b6ca210832ca2a27265193903e87f5b22d9e89a46d831366898f60c28edc64bff95d58696fc39fc72d98580998bd852a563c43b4a40327153eeb1101d048362a8f933284fca9d6e72007197042dbaf4090e50e800cd2ce51ee008c478d84e7436ceaf023e703e983f07137bd77710d358dbe71b19ae8557b596e851890eb9e7e91d473d2ba9431472964874d44fe5b921b8cc95c373f5bd062bf65f403107c06a5967b896a9e0b07272d50c69e3e9e56d57642914d7b39cb37499eafc01797df70d464d0500ff527273443c799f83c1785cbdefcfa27e1293fdbf9b56a5a2ae54d9a7b14af3287c236af258b86f45e8bfbb18dc6c98e138fc65692de6104c7f4e863c0ba4dffcb77266123dc6f8a774668efaa000f3ae1cfd4d421a7a04532f4ecba900648d0b05701af2e4e65a923ed0f260e7d024c649ef349f43b821aa7e2eb9e20f6b50a3383beec5d0c3502d02e226790e770c3218ed24d87afa77fda17c8252b7ea50c64b25ab313b1fd299b7fadbf5b8c2cef69fb11ff9ab150bf170f1ff36f7a954dc0b7042da8606ddfa6a75002040e4b0a960a8888faadf77d5d01dac18bd7ee6e3a77211dab418102a6fafa13a96b85985134b48345fdf5b8430754049c9d34bc50462316b05cc0337a29b5793d54a1bc92110558d31657f08dfcff843353c8f9cb624de3cab889a7f556dc24412c17c871da8a07a5cbfa970bff9daaf3466046853722bf4c6cd94019a6ba794e3f25a37246c8232a533aa34aa84ecd880d89b50de727bf0f21dd56c60abaf30e8bcb1426b5b7382a882615a93db0ca253b7bc94861f15ee606bf1ca298089f9a35ab408387ccfeca20386bd0f04cbda8131c39d0d729bf5f32d6b02c784da61d1173b05d5a813c38ae152033eb3af7917244578e92e4a67f3a80dfbc18d9c42eaac4fc8b7b5403ef8fb38a952d707b4c6d967fac27258022b9e7c84910ec6d39c6ca8c2095c4e9863c9c54883ad8b8697caac392572c7323d890e349d19939821ddc7ed30ce0ea25d81d7d1ecc6ac0c32c88f6e51723f10fc2bd709d5081b4d2cec934583b5a5ac6322c4343b9d26bd02622d5c0f7211d8b4d071b85b1e91ddc38b171ae020960f53cbb7a5bf8a42745d8e3a04267250dfedf7eb0b883f2b27f695e96f2f44cc92e0421ca5cda4c5d6b34728e5c607ad2f8e152a3e73c7b3133086e05f145cf2328456dffdd2ad0b87236d4ef20b727f7a411be2959fed49660971af0a0a7d9658b5af7c886645b563496a357d5e72e669b9340731d17e14fba1ae7ffb157e509326c8c2525cf71bc43cb111f2ea72f0a102d2de91a47087156b82d0a5219223a5673c7179c00dce347ec964d73b720db0edb66fc4f87f73ed97fbc145d48bf5bfda1fd3034dedbd68387fd2ba167255d8c6dec7ac1fbf761d4e7defbff4f26dd24e395345e6a8664704a1b2e5a47235307aa3bb43c969e13e9fe7d384aaec9b360f5a6406987a30823164a7903c72b9ce5e52eabd3130f69b59eb5259ba401998def7b3ae30992a4e0c7e6edbf843ca74a542c38877815f8f5fbf0abedb0830ae8028fe4f039e3c3f7d5dab51b5224b72527d35d8aa709915a72085148f51ac5a22bb901a1cdde0e00b9dcf6c6c3b28810f55e13d163d92b0c83dce54ff51d45d8e06108147088090fd65859c8a721b4e352b453027163fc6ea2cf9bf31607228d21e6efb779c3fa2b711baf424395f44aca2655366332753bf0afb142bb281328a28a85100b72b7c46271918567298f660b34414adc7ee4df3bf4634a63dc62aec725ab7ad04de2490dadccebe721f3b6378a316d94816210f8ad1db1da499546a37a76f2e734b3e00f091ee84725f7d5117d23f0b5210cb72c35918fa25682d690687d224fcdaca926490bf2a7287acabc12dc9854107e3e7e947b66048a85b29808015d2b9cf578b79a44de372273319b9b7497b0fc36b76e61072b8e05972d1225223618a3dbcc8a78d9db0726b347a2f313f362ed897db9bc892aa3df3597604700069824fe51a4c44ba297245bf42bf874921e2c10cc5e0da296c5196fa454a9fff3e2ddfed5b45b27e3a725a8f1f5acf184a833a1212429e4d10cb00634245b72f4642cafb3a2cc4b95c09d086754506546ab4ebe5b9c4222a643e1b5a4b26d9dd60d2d206c93ac4e1fc720506097303c4769e4d00a5e52eccc9609e25d688ef7b0709085f539cbfd951500281ada60833564f617d0d213b7d566408eb2bd7d8124611fb6215d7392fe87278c5969a0d8eb16fb13b9bb10d3b280f6369f8b5403efca0f9a436b6c2cce372c19be624b4a7edd353e34d79cf58057f4b4572438f63d1166915e90b684fd532745c8067dac7972a4499d47521dbcf6c1fb8cb3d08fc00e3f2dc7a899d940072c31da639ffe0e0ee68d07414f0803e229b7cdc181b347bfa0f5464dd8fbf3a42b3f880184471a25ffb8dc26f1f84c94eadd377d00bc0999fd4b770e31b54977246b89a7c40a0267712a35ebefd9416436a3208b3d07daab082f895572c08c572e2006d1406b604a8b972137f2e07bd87b68e2e4685c17425859c323b13621272d6c1d1426f46ccbb65cc192e7c09c66f09e7c86cb467fb77b747373c9a226b27393c2b080b6cbb5611521867f66f65ef8beb609c5ee969b90bab1484bdba557259df6b685b6cd475c027949249fc0bc986f563f5c16fe482388c1a486589b6720161c55ff2fc84cd96cde7a3988819fdf1460b67fc1b198a9bb4c163f0b763303d3ba645f705ebfbec94db2d74ab4ecac4c028d4882e15504c2d4d9d069bfd72d8509adc3f18b20d3da2ff256be7b667e42e106da22f99de502122fd985322539236e8873c85b2759fa3df1fb513b7378dbc92b57ec995460234dda908ca557270f4ae6865384a2537c81fb20d0a6c5ea3b17dbfd5207f77ec13059637ad8213ec34feb6b4616900e3a2a76d81cc983b5c6eec16b9dba9be494152db3d121323bc746c224a6902ae12e9c6f110f449e1cfad12d8fa8cfa55ab4d3a7a0fc0916f6d5b620dfee105ac80c06b797bb6ec1ecc55d89fe97223cf109a0aba8bc0f218809ba8830486fae8ce6bfdc1d9a82baf12d3c1e7e54206329140800dfd657f5db341c943bc60cdeea657412820e75744d1f14173a0719a28694d11ba99ba46724e1ae3f6d266405548c430559d73dacab2a22e4e12ad7aa3295f5fda8aeb5072a6ba47743b17762f12a422674d9f1de1d4095550e9af79cef7087e00defc4772cc321847ab7fb2f44f0973c42a5d9d8b59031cd234b2b3d6f88e9dcdc1df6e6949a3c2b3c54d4314a7c8694f20237417da2c8e0914a4e44b8a1b842610d5d572f307098604c0520be9c2884c909ed92648bf39a17685834cf5985206904e585cbcf0436b328dc586485c2be0c8866ce4c3dc5d838cb43c25492444cd733715721022d052452cf125c7bdcea48a88d6172a81525d277ce0f67933893f91979372fc379518666cfa1b54f2b0804397c5fbee05a99b4f6dc42db9eb7cad0bff1072ea8cebfc0a260a24928e7d6dbb3bde35b4d6bb1baa4b980a548a10e8b217fb500c6d4fe1fd33b21b90bdf1c64481c9a88394ef45517cbdf43e9012f07bed2f489c2f0c7c640e4cca9d9af441d8578d6d7fe7131b9e6ac3d8052c13d848984c72c258854c6ffc8d0e7886756bdbe6d760942ea4e2bf9a0c0c27c2e07f03d79172224106142461423e08575c37de0755aae6bdcee1c1c39ec61aba838eb5846d72c87d4bb617d01394d10679d4ed9b6239410c6f7fa556b104f8d65803bed78c725350e5c9551b9586f8fbf6026bcdb1aef40cceadd60bd11c94d742762d475830d68e04234d1658b05b1d619efc254d3e029d429a52eb0c4dd9c68094de9f8f72d4dcf6e1e96c60bbd8ab2f906c797e0f6b423c332c4f47062a30bba809fa1a72bdccf4f70b544539487bb54fe77e0643b4bc51082af4f06890fd455cac19817203238b8cb5d73273dd13dc1a6593bcd482ba73fa27fff053366df9f13822df15cc72ee260929ca34dada2e4d7e0c802d35c23b91d1d88d8df7238ef3cb8a2055311a629ed75b17d4d16d83897edfe1f1ab12d7890df62fd5aaef2453af8d0a06305b1b6a951301085ae07f362d4fe49dc416ae80b42b26c662658e6e4bbc99461fece6efb00d806dce5da575e2f697d8cd0252de93ba737466d8a77ea671da720cdb83c90bd0c24b5a1c229ae85760918d5623dbe22cf5cf258296a0e03f7e720dff2c069c7f7ffb2dcdba689e5be495121eb7186752e22752733327de586d2d74c49d3d5928e2a45af9d21545874f6d7dc2c8df15675406646cea5b2d3a4272177a9de49a5edb2268f0728777e0c2cffc43123df4b783e385927e59f4adaf57bb0908fe274334345659ed94b7ae2af37436e535f8412abd904900e430a4a13fc7f815c26bef85249e6a665e095b1656db5542fd188ddaa1a8a18214714de715edb2a322039a493c945943278874080aba06bfadcd5b3aaa7e9b33d71ee7f654069c0e1ba4c6c65390ec1ae7e9c1ab49df251d91031cf1626877a1f5da8ce072bb0be50db8aae4e80643693b0e5a4418689699e78230112d8551cfee7bdeaf0e7369cd6a4a5c858a702739014275da88a907e4aab2ce65718723806eae8dec7253240f86d989c77f12cccbc607b8b6f4d8c717cc771a97c3c84dcfb981cd78722d06bd56e8c804d40e492cb3d23bdf3c79ff7f3962797a5d4a074244665ac74202d99152ee1e09ad765ae395c05223fe92955d9baa5e566f3d08a5d7e043f472af073680629bb2d7e62a24e74a682d5bdd5a5e4e3f38786a829150cf83094072b741f03a6f0be6fa3b8d1dc29c36715998d22291915fe02bc7f50cdbb2041503e901df050f0bc7861c19c89f867e13733eb7766d3d9f6668f0b8cb5bcb97db0fde47b4d30ced3247893af9614bdbed2dec27e4086af1e5b25b9b49f820023b3d6116923978f3bd4c702dff6d5ab2404d81ba91189f8e1f7fd75a3766d677c87299eacd59cde5bbe3679d2aeae133c3ea78cefc698aa93086c19866f8f91e7cba02000072b1ff1a6cb1b23738647eb1ea40d8f14b037285e457214aab335874feb6e79e7265d726aafaca1376d02db1f02d5662ddde956b98c950ab9caa28fd8f7c4ef072a85df293078a2e19ed43b5dc2db402e9214129819cec6b3231740f22d112c02db6107320614bef434aa04032bca53142da7dc025065bf7b432bd4304056b3864f03c8c201dbd808be8acba7a769fed933e8571a4480ecf4e1e9fa6acbadda0728d88889e02caad14b1711768a1cd634faba1a2f1bd3ba7bcd5815ce808466a721b5f157e43f2099d3407ef28d0e7d756562157a62bbce519ba1d6424baf2276f58aa10ff293d674802082a06b733af548ea289744ecfbdc948c1e098407e5f3f04f014b764a9cc235a3297316f2302b0dcd16d625c5664f0d2cf6802f88b135ebf81f539b94c527322c9e008449d09ffedacfeb4b63720d26f9647ce2ca3872b260924885fdc2f600e7614c008bdefd90bcc9f2bc890f7f27ba608abcd722f4d6cbaf32eb7fa251bb9bc06be32495d4e9b5667cf78a3e6de64a0fc684784df72fedff016dd3346300ba47d415686e1d3c877d7f1f5526d750609e616f89eab1d2b34b80b68f2e5f9ba6a112d2e7803ea03c9e227871530424e8828d492ad6872777fcd95146adc65a2626eacdc909741bffbfcda51355ba17cbf0133edab7f3bce831e71090a27bc8fc5b37b20ebee95ff7c47725050eab1acad2d5b607c4772699619b1fc63c002af9aed49cfcb68e07cdac5d078d4dfcdfdeb0d9d057f1f6b3ffca32ade59abb8b0fbb612bc654c01d57dd08db05b182fdfb79fe453c8315c1ac5a7f7825c70c22be373442d9ca8be439295a77c48ccc23a4d71f02c833c72a04c10a2518ed562cfefedb145faf7aed69b5b8c3a01c8e2357324892a139619831e7d7ad3ae1ca3720bb0f9b292d3d6c9d22e78e2f81288faf7662063e2bb724623bc47a2e199eadbcaefe75d92717f6d3c788de64c9004c6d1792c81894c6d7605ea6aececf1e36abea5fb066c342b114489b130b6a3a29147e9837e49e472c50f1136cc86c4c9c0a991bd8c4f107b0e45a37968f853881cd703acfdc2a872cfc7d853f122c9aac6ac58cd4a177314b1494087326a506d6dd7b548d4c8637283045d3f21aa6d7c7db5c7fb1cedba9c99b0af9b732f45fd8f05d81343d67c3e9666e04e98e327dc4dc2ca265ca9fff8647e1d565398f535358127bacd0ae2725ad7bd66ee536effa345b3b841ab74581660e88c2a57d2d45e5cedc3df429644e10408c3bec50bfa364a291ce9b9887697a696e0f55a9c70c957b2a27720707288ade3f04e7559faf437dcd87e18e8fd976ba3fcbee75a173cd78e06e71d6872125bb934db3b0d2d6e80cf90fc7949ffefd5406369d21aa7c82d1b8ab16d8701c3da0f88e972f14c41b1943e327dbb18700fdb6308c263df6712a8fd9a4593723ae5f422976b0ef3cacdfc720ffe00a05e6d779483ec36578c3d73b75e13ca728309baa7be348bd0e2fce55fe1272d46d1dfd006b290bd56675a05126dd50418e1e7fbba4a1fcb2b8a47c711f3f24633342caab10a9c17bc9393e2657891de09e32fe03f70c639deb54c576983a1b64379606f35a6ad81922d9ebb68e7f2056924845d13735eb9cde88ab198371d004de8195c36f0b021b4cb67defb0dcb13729f8767ee72131eb91236f19d77f5f7bc313edfb6d0fca06e92f52af6925cf3386f792e8bd8ed527995379d9ddeacf9cc75737cbb3206a12f8283529adf9220721363e4a3f0caf5affed60050e2756bad2769f56fe7f559ec215a83404c24404b4d2369b7b7d3f3a6e0efc237b03a669e2d050da5870485d1b7bbd80c7dfc8a72d1151515d56af8bfda9b2593211b69c10e9e52f31f131c21eb531f2b90bee9720393ab4338560e7ce8f723dd145eaee872e5f1b94ade50e8cd9eb116e656726b416b2ba62646dfe0a6c6176511451d4a48dbb8cb5cbd45ea34ad75ff80646c72c80e4a0c5ee23e5ba0a022ae6e01ed71d576de437732b1bfe11d31ece41f82725ec61623ce67a21349e03dde755bf12f337ad419523e77016539f9929df8927222273088be9bf557b12f8e8b7e17abd5ffaa11bb2e2f7e669f2b962090b12772fb27d3ccfa66b24c23075414bd01fbdaaf9b676663852eae80c28de5b4917a72492817545c26ce12903b23256f69a1d547331e352c68ff153e3de6ea47e5f7720ae88a9cd9cecda83defd68750154740cf5ba7cc0f172e3a97f554909bea575a8aa88d5d17f56e12f1a37d505b67a9c20b9465bcb39be6b6841d2d14921c837290c83573fb06daeacccceab4bdb6b90e4dbe4396f4f6afef6b258010e3b3ba0d46be5de185759c38b68054ccc992190fc693cf3e0527fd67d3aa4668a5e16372ab1905b0eefa6e286d25894efcf2f1145666f22fd47e146aaba2a2185b696172a776999c4f7bf26c1f115a735c0a84b92cef910f9b6424925c267c0c0c2f7672fb7a82bf609b5b26342ce84ace3694c4b4f23ae1e258fb4eee6448cc2e39687226665037b7f9dffca931ef3c7d397d8ee84dde4de36753afa797fc069c3d77729049c0448f39a9bf56e841028d3945162c7e3406df73fe7cff028c9558f5e972d98e6b4c0c22080c2679555121e114401249892fe208e1a64b6abf523587fa72db42fb3a1ab788ca0022123ddf0d0886ebc25aac786bb8d71e48dd7f545a897211b6354e22cb46a49e9a282e912f3ff9b4c3ab9caf6a1997a86f40699c69d86be30f398cdb4aaf3e68329c2db3f72fac5073b918646b184cca80fa1d60c01d724075e3ac82560647213012e2f288d9e2a3d3d0000527f0893d8b44a6619b26729246607d37c2e4824ee78d211ab92dd2195169de4d313906a0f0bb0684905c72b0f5441836394b01b5bd3e7519af742682fcfe0c8470f47cbcb227747d8d695c5fab7db51c48ed2cc7a823063431fadacbffc61b3824385a2097e511868fe07273bafe9263ec406e9774dc73e7967b09d0276d08b54fc0998b64e6880acac072d2e3a62fbfbd74936c2dacec3e3c2da7ce8acaa615007c822e0d90f3fa0f1c72934f780e507732ea2a6027183809e3ab1bc69630a2dee39eec41197372e58125404a92d59c100b1509e123735f9bd87a92301d55cb31d076bad24e4dea2b6f72b4cc7dcbb887e88935790f244552c8f53a2f806300512c7a833432554bad7739e515ca91adb73baedfc07156f2bb5a562ad870d907665619e2ff1052038c5472a02eb79b6b848b9b0a90a41d04d359ff0582c4deda17b04ef8b8ab1b6278d872b4e925f415de1fdac8b316ecc44462b37f67a23f5e707f9dad69bdb09c64227202cf5a21aeceb30447695907219917d9d17bb4b73f323c696043b5e0eed27672a2b6bba933aab4246f07c5338382bec71d6f43bf59915270f535632afe2070115bc52cfaaaf019138ae6cf1b095463f6d7c569059ec3cc75ee4aba352fc4be5f3790808a20e83b6710b712915627a54ea13961d0517b936add0d895a5958a2721d108dbd539856caabee41879f8d78b630f70759c1d39fbed6e8e5e9fcf33a72d137aff8bdd47fb6aaa862732396c10c1fe38509b14b1894dbd621d383ddf9729491ab133f7948d93e61dd7bcad0b10b34db36b3d6631b663e43efd57e9b8459de80a4013671777b35a92cacd4b120c56599e374f0960fecff24418cd99cd8724ab419afc23b39ec8e5e41c4858af2058fd980f3e78bd286da5875084716dc72431e95615dd63e9e6f63d7adc6532a8b7dbc93f34d5403c82238639c3e92870bac0de004392a70f9a323ef7385ac72a63c63c90d362332bcc4c850fc579c2a7275308faf69d09fe85d8f086c7b21d1aff066272e772a5c828be17ab4ea3c2072f7cf75a955012c6e375cddce608a9dc2dd2ad22593ee061c189e710ae4c04d728b06f47b1371970d4e3a6f0da30e1e6524de0c62a0e1f84598eaf7d14d02987275ed4ec0642b3176ad33cf7c27033d279b4722b74536abebf527038dff6b6c7223023bfc2754f9c1272a5a07a0b3e0b3d44ce4c1d4e8001450af961fdce15372ff6812bc59e1af9ab85166f0f168dce0a800eabc4b271f2450f7574d98020f725f536f62b7a38ee113df60674227073fd9512edb64ae011eccf64427ad5be73471d764f12a0cec34a704d2ada77e8443fe6a7ad47432e42932b1e649d4a23c720f984446036f9d8eaa26e7ca1d99b10c07aa12789dddcdf08dc1ee07deb058729bebd8739761a2d6e10c2e3f97e9a3e0dc934dac524e00b94318abddca8be30d090e539ad2a87720adecd6771acc85ba93c44c5242648b3449931950f9a36e723d2725de7b8a444890c3ff1b698098032141e7cf95a712d942b89e1c60ede30efda880cb5f40c5721cc98c932b0b993b34ab2a935f3e54c58bf47347ee4f057290ad0628be48e3c0b915952cd0034851edc5e38176df622a2a07f95247c15f72830fc7519ce5b0653789e15603cf4329d4083c9b85edddcc9feb4cb8233d3c72b0081328645a584e540c245fcab4b5909b9039d9f2bb11fd35f91be82a980372f8c4c46a44697125f63326c7e05770f1c7e96d8b7bc59e0e4a79e0d601775c72a5ed076dc7910c440e43753c7a1c57db735cfe6ee4d91bd0dd4df381696a8047a843c885c71fff6d0d9bb565deb14fa5d3e5c19ce3463809c084d9b026f5407215f5042ebd70ad47842541b66629fdf11cc8b795e7a240d09071a0926784ab72de000481c0f26dd909f2c7252116a6b4d98125a0d3c6f0228e0049634d56bd72ef96de5842e1a4bae42e8e8785fd464f56ae966ba820b7a9ab6ac6073f58207220f308569aaee2f19b640ada8929c5dbca610ab62fd8cab615f71535e582c1721e388a9dd315ec70db040e8d65499e61a0904e36c9a5b036feca45e848c69272b81da93993181bae6c89a46299f09d410a604380e0596d7a63a1ea591ba56a1d880d1d7c3cb47f50ebfa005b2c4f0584e9bd33475a43c38b452b9592dcc1ec3ed3a843c97280baf65de8869750750ea0c60ae6ff28c50606a0ca65da38a5a0726cb41bd3ff1fb12fa31d97e8f6a9ef82682ca0a5ae6c7949ffa19cc52ea17c0355e53be5287793e5d77cf22517fb76bfca34ff7463772ebbe62dee55fbcf065d85a9c3334db78b70ffda738fcbf556a0d3f050a4e595be143f455599feb31872c22c51c752d0da5ebead79a1dc81bc9c306b887caa0b049c5281f99f512d956773a32aec45d0371e5162b89b8b553854a369443f87442a3bf8b200f0802fc6259b9dbd6017c63a67d5008857cdf1b0dd648cfe6b9927ed5cc40929b80c84ec6e45d00b2ba99c5b25043389d69342c6d55c922ce664b833120a390016f21e350a446173cf1791fe3e812c04a54713c93d879acbc543291827d265379e48ceae7239a5fc9c1e4eff4afcc4758414aca4ce84337b4d7a49b2b2c2d8a61179c6b072b4c3095a9c1cc9fcbae14914a5986f1982b97619df7fe07a992b3370082fd850c6f6fe8d7b54e73e37b19baf4a59bc365987830fe7297eaf841a99660d255a012edfe99db8d86dd738fb4b54c0130dcc710154204b2535eb1f5ce1e891a3c32b08534f0c332858e3d6569631d71666bbcc91fe0a808cb5df37a9b02c0b52a37295dc1ca338ee605b5606b5e0dff68f8a7acee5a52aba9a1148c3dca30217a072613e9cb8e7e8782ad128f82058dc5e8f32566d0c238b18bc0ccfc39c6c235d4b08b0d46ecbce8046c48d2a3831e72b628f97531e46966b3c590c6acd84f9f24dc2e367c3705581771fc4b291e2dfde462dd3bdc3d8aaf9e5d28036ba1fdb7c70c25ca8c68abbdbacc88ae27f617acf7722aa1a8a62e8e9566ab2ee5f7f1080720950aba311728803bf82a8456948ded754cfd8ffa809e0501b79726bebb91c5d15ab5312b5f6e3eeeabbaa34178d3457b9340e0bf65f1bd4ef1d8930c7895e72a8cf9b539eef3865ee117b79a53166087d62f547832cf201c57af1c0bbdb0d19c735495f137f246c89cd2c2af39cccde7a14ee56c4c98b4f7ddbc74d8b3645726fd799a5f524b3ee3b8e886c5f4ab453b7b177d5a223fd43ca5fb1bd023aef2e8648a324c56d3bd618c878220e226b824f4593c08b71c3429a3a7326c9a225722d73ac665a99239bf722392bdc2cec79eec6b795a69ba4b60b9ad2ed29da8b10020461ef1f6f893a0f6733b37c038d8c3ddcbbac516755731081b9f29ac417721e682e71dfd3c005642bd221374b274b0bd2b4326bfc4f0f28f8bee4c31bce722cba57bdb66afead8164e85ad76dad3599c6896f2a0a22321e522ff30039b07209429f5ffd2d559d4e85a4a8ce18cfc8ae5aa8a30912127dd996c526503da672d24808830c3f0f7168be3a4c4750f73cd02a06ec86b82207803e55e45723415f2d7e1d1a3bed5ebf36edf18c7f25dc4515e399b462082c6f8292614ec1fdf25bc0969835791462e5b36f7117e6a91a666e77d3d39876805955e2480400293e40c4bf45b2f4e2b95437d02a1179150cf15fc3387ac1253c1a635ed441d5cfc6449268aca6569acd7a873fcdbd714320882603382a0cef9b544db8bbe039ed8c72e5c1c2a544ada07ad88d9f3abe1a5691fe344848b0f8d74ca5c122f5c4189572fa8e00c876a5016f1add425e84b72f22e091eb67bf03ac0da441e02d45fa0661d30a2ae10293b7121b7d7d69783b9192a4cb99d51f3777ab2c328ac6b47d4f72d646c6339f3b37de319af06ec733cf61b83f274ec28254aeaf7af67174f7cb0e926e911d518d9c4f934a26665ded0ba9c9593c1ccd215feafa36af1ab350f5601877e1febf0a45b8a499c17f6ff9d42a328ed29c4a5fc9a8700c937d5a9a9822476f1dfbe61aa2782691d704bca51955352a7e8bd8f336e09e0abda23cade219d7947a533c117b9029f5f8da2f67c3a25aea1ccb938a5436d7a91a5aad0904727bd87a7993ba8018c630d1eae787ec1d15750b2c6de7f353b026a99473d0b32f3152c1116de975ed3190044fd41cd528f395d4ca960e8e3a105ed1c52ff0eb4d5bfdff1737910ff94f9c7c95faddbca0a1f614269733b93f63f0a3dceb25674cb2042db1904aa481669575b1395cc531c30acb2b1a6184ee9d0ec355cb4fe072efbab154d94b7d14c85a6cd9e205755b7889fdd4a1a3b349804e145625aa1e72e524b2dd182df97a421e5e12529d7c9de5d0274799bd0c91b6418b34a2c87672906daefb16918c009e65d5ccebec23045f9079f3d046ac672354c7fd68d15a33b99196faf8d5f14fb33afb415dc3d5878af94e8f23b03d81902733864146ba1817f39113be73260ca8e79b5e619fd178ad29e32e6d9760c7311a081d951cf47211f5bcb714a7044e41fac3a46fca095d6a39408860497dc5e4b883a29ae8837265fd49c3aa1413a439e4e67c125345cd8ba60784eb9268cb68dd786bcec4512e4d20300a6873c02230a89db7e0585a5f1c886823cad8c5e831d4db63b38e76726a84605f4ad88ede5737fa10ea13a77dc8465878e85d58717ca4079aac0f6b58111a43b9066cf3ea5344936d835f0ddb72b9f3ab8f2d085b7abceb9b1e365f4e6e1763284c475e3d80a74add584d61f99f27734b7fc3283fd51459e66d54f772df72968cb94d18c82d4d8928bb7e2c80840486bdf77f33aa64fa5c6f3660273b97db9058ce93a88a814bac1c756783eab5d8464af5906e6cdb9211e975ed1672e3ae8dd2f102dd0e4bc6361a043267a2a80b765de7f9e2bfbdaa9079233fd1722c2959cae98a79aa847ec33f81c26f0b7b28d3ed7656b78e5af719d329fc620a2bf2388b28ee3b06a416f844fdafa4bc6c7e0cbce9ce2832b14c3a6412a9ef727a83372f24586ff7c65277b434a8cd3d9f6b5d4264867aadacb0997f6ab2df72dc4fcf1a781cbceea05cd593aadf71a1f7d45dc5b154c78b971b6683cd6a5926421d334268c92e87b1bf805d4ec13868a7602db4880c8d979c8acad566afe853169c47642e1db6e795fc770bc030f3514db0d98ca8f2a83f0f757970b63981724ab6064ab5299c94a8f82582d79c8901a22a5924f2119decab7a803660ccfe1503ef6e78b1e5879307aa8eb6a2a219efad8bef651f8055eac8cc69f792284640903362dfef4f3fe880fe22e897f7b6e185464583ba93c3894ddb7f18ef14de6cca49b829b0ae4b9f2acff411159d033d259b099ae76550f515e0dc8f46c8bc1aeca2dd751c04fb8ffbbdcbe45dbf0a45ddef80a0e8e16bb6c13a472842a36c72024d5ce66e7e3fa2d8ebdfcd0e65e70064ff0102e448e298a6d1d13c22af8872ba7c701cef0899eb367ad73ea402ddbe2f4f1773d4afaca17ad6bfff3ba9507213eec51d15da000246dca95953d9c4267f37d2fa555f56a4eb097311ba79c2725012a606f93714b6d17818261efe36558ad96aa15ed03f3d82586e6918d47c33fe9ac49b996b5817a6303b79769bd57d38b4e6de522af4b46456679c56b18572fc29ea667b84b9c5186c7a80ed6379941a57de0f030ac92bbe325ef91efcaf44f4e7291e27a16ee67f549dba6a6a0c3148716f8d6cbdbe8bf00fd92a6bc09f722bb4e97f397ad3e7f3373335c0326342eb43f2d5467bdf115525d1df3d4b244a2f498914dd0ae15673da2331bfd737ee4a57debedf785623700aee9f84d737432493fea4c31a0f56f492ba10f854bbd1049c6115c4603a8817e8fb745e5fe17267721715289a8f4c9b78876aa479067723b85636ed340769da826e704fe6e17236975c82d8a0454def685529e262c90a3cab548dd7aa7531a05e5d51e0a63472cf83f62cd7a61375d9594177dcd8deb13beaf55acdd0b9cc6cf0244286ce5d72530dba887694006955872734e5d33ab18b1453e18f7548638c16ea4e55612d09c672c4a2749ec7d401753f7f88e43ed9461ea8726890525ab5ed470095b161725f941262ab116009897f5270501f1bea2d3121ce62978838f11170722262b304965226706ceabd6c0dd3f6535a1c7c6c538769aab2d2c357ca89f549057a2315d5ee03b052d958ce0a432525af5f6b1957e7a29d8f12d14fcc71ef23bdf40872dd5e58ce349b6e2d599df75f3ec3994865cdf84de6ecbe453663b41df6767872672b53ebf0e8da1588d0cb3cb5e49341870cabc7136166e7dec63dbf9cf73c6581e4a8818f3a53a113cb9d04eed70daa435498f4e976b668db33f6ecbc92914023e725da424b6e4d8ca737a8e5448e0cb1b3e5465bc3f174a409e83c15b661726cae47424d0a7436ddf1c941ebcd498df6c9e197ef779eccbfb5ca9a927b0272fe1b3846a7a8c8c804e8e8262eee820423cb43c4dd89e7493e33e173e8fe8059c0934524607bc4f796580a24c77ef4cfa820a82d08f88e66cba463fed6493772913d3d0c36f035ac2bf2b2416ea18bf498c4fd5abc9079f68d0b19c98a0e0372aa7760bbd1b7a3d09c980832abc8b7cf826d2711855490cec8cb5fa40dc16d1a5c1e31c028fc2c07bf8d16aaa557d55a8bb908c0a0787927673f2f02b9b4d108dba411dbdf4ae016b80232774edbeb7ab459c5292b07e1ef0f6a61a0bace1a72853487a1d37c3e63bfdb08aee6de951cc560c3dd70352f7832d4b1c4d0fc58684c5ab82f649ac000aee6fee2f0547bebbe920161c8d32906dce37d54eb8081321b1440d5eb15b9a9d836a64aebcdc2114a47d23c4038810f3e77593b3012d172e0abd8c7d3bd7e18f00d714fd1bb4d39224961119276e42fcd2c6575cd44de4960cb71e1b32c5d83e0934f052d61344968fc027525322ae170641519c3490f30c10e234d0c7fad2a586be1550ee42e61bc9f1567e8527adf98b871e1971e584aad1b0527aa3dbed1e9bdd128028d76cfb7ad87c70486d95eee69cba91e30f30f709ea70e31582b0f1ad0900e5ea5682ba3d6ff57df20b6b920a4c3965eb5cd02b844f880b32d664c40dfcb08945a1b1386aabe517979882abfddae76e74181728fe3e4cbbcd1834a2a2fb6ab4a3ae127c9f9f8b24c6eb5ac08653c8c0338435e3c2e3292a7e45de7916781538fbe007fac7ad1cefccea7ef29e7c73d4a8943722203a20621a591e9e9e3f8bc9cb7227fa90a05bcf7d360a173a4e32165aa4d0c34e578925b4431d3fe2115f1dfa6a8f8e9614a73b621de27e075efe037e0df18c892c370c794ac16f0c623c53acd16cf30a7de761ed639ab566e876de6e623722a50852a52d58f39329f988ff371f51b506ffbd5d00527370dcffde3afba4972033b9f0e290de33e1bc948c4de33b9627a4e35b54f3438f8f0ca4216decd336eeeee7685ccfaf8ea6dbf16a0816aa3220164932a1f3dc42a41d93f8c86e53d72ffdb2e737b5e6174a5119503ae788c40d171aefcff00ca8b1a45ab83eaa1a2721b0effc37ab44432d7ecc299572e2451e099ec0ba24fe2833dfb691037b6c8726a3ebe3e78156fc8691daf6533c822ee65ced625183536ec22a7b65edf86164043b093c11a2fc76f223fe30da9f42883dcaa7f33900688e9572bea23bde8e172cba9554102eede675c95750f75016ad70f53202884265b43ccbcee3419c194379a16f90ec00cdb465f682b5b3eb0001edd94fafe745233b66c90c7a233fafa7273e17e34c7d81febae02a84454fc111694830b4c967827717f5974a84bc3f249480077dd14b90bb961ab4f4a495649ceb00840672627146c13f446c4e5c02e4ec86d44badb0d36e01e15a4dbdd35d856af95092fca5028a9ad13954f62a4876b24b654c00d14e5b01894eb1bdc869c6dd26da68a64580cb2750cce1e8392bd3e857ac10d056215a172120c48168a7d5af0708188847e90c7f9580403178af2685bd7ec7309c707d50867791aefe59b3c34d20ee8b573719bc6c263737e5208606f3843ecb68ebe82a5e598bd171a2c8d715b288f63b98604cc3e6eda2dae00613e9d6368fdc4231922b46609da1ece31a6f01a2be8c55f3dc7ce7f9719cf387243a179d31c89aff6a9fc36c2fac6c8d14556a8d9b771a661a15025680f0fff7238ac6211c44a2db9a44bb63ef408d0d770993619606c743421f62511883d4772874c3a2fb0c3c642852ad43d9ea5ac80e0d6d23fc151ac367261aa1a5589cc723a2ea0b753d3465a658b0816269b0ade04c685a440c36c5897dfcb7558259f72dc6b22b652841440dd974e5b30be1682f2b4f3e470a1650be466429e5490ec3720442b8d5ee32e44d80e28c1da528061b54c43bc90295a4c409d0eb4c7ce25725c8227c050028a223555be4fe3996b55e78e465a330b3e41308a18694cfb5372ccb1c7d8f6b078360cadf7cbcb397ae75f4bb9f41bb57886b246de16fb1e2872f2a3d69ad347ac9c7cac9f9c0a8123fc3bda437498872fa318b4649dcd4a5b3e0f985ad276cd7e796b807ce095f087d38afba1c6be896b1597167609ac711c5907451fc1b43c1b422333c701b695caf1124786f096717dd88aa3f2d82ad41b72464cd8f9136b9899414498eaa658d6dae3e8fca834ee9a3ee5692b716be8033cd0955d0231376fb06c5775ccb0b2fde2df17050b97fa56d0746bd5b55a285772d54f0da28ce514de12261329e79d7e0864b6e7fd8a13d1980322bbb6e88d597273484e7119ddb29e904d81d30036535cee3fab16f48c16835fa2ed11a0e316723f651c20535263fed7c76dd93df43ae398321a1c0a3d9b8437a2ffbc69a987720c445b34087eb0d9f566acf72bca6a5f4643efd5ca47ccfd8169851e1823ff726ecb49b38c64b63b69582397275b0bc126d3f305025250032f994d2f218cbf2cf732515e79a4b45ebde897e528e88bb573b24da623eb91f1483157edb725e06348374b3ff9b3cd7040dc8f9cb234f2c41a2a6106764a6eb4203781aff8110e2040c0cbf1cfe8a2f8b745c57e356cc6df811c7da556297f7c497ad0cdfe8d36725d14791c5968ef142dd439f00df9f7946a7bacf57afdb975eb8f55930a35ad43eda8fbc9f3877468e2d16389a640893bb9026bf0e6517846ab1733d5ce4e4b275a8ea88d97861ca0bd88a8602ce8c6d348897c00aaa2f2e226c9a63ae9ffba447304f15460a9d2069fa5a0da32de1f66c81dd1b99bb503c4567acace36949b2223270a1bb926a24e4df582283274cf472a693b77e3f4a9c99f88493db3316b3d87abb5b0ba545da7e1fd0b5ff6ed944258ee382b7ee0a4cc326ed2dbe40b8b0f5e08f6e973b6e9c9e091a83be633597e27a01889818ba5780a185e29a5207725b036507aa4a8a786ceb4a09f572cc48df67d7d866bb85560412201b2f8c09b72dd525db976d1e8622a0886c72eebbb52a9f0ef0671f219f42184ac0097fc6d727c9852273063b25880efca473e4d72cba039b2c27361ebda2cf95f37d6c36712f39585d030f585f5c50d3b19c1cb3d8632a3d1012639f3f44c783b720b704b72e1b74fe769873ecd8d0c68810f2265ace7ae7c9644af7a79ffcfe4bf919884729a3713962611cb263ae4d024bad674d3ab8d831131bb8496839c10a4e29e2a3bd6030dd804ae2002b5bde5a4bb0808fbfea98c48f2a231705815908dfb2770720a6e8f58caf717fb5334315bf21dc1433b0531bb4e5010642e0cd1c3099d3a6984efeeb718499dd5a06a303bd7519e5f6cbfc20114e06d9631a2a9de436e314c14ca886a028ea56a1d4f65c00d2c14a2e2037b8e0b4a0bd5d53ae5925b302f7255dbdf08dc0b7230777d7455bc7d28041bb65e84aae51973d50ed9a9f15b496524f5adcd565399feccb6be8f1e24039705138a2412d2afe9f8feffcee0c4b61ba0673c86bdd34bb324da0bb1e769ff206867b9374bb71dc2aa2c2b73a09d03728af7a0d9146032c110b479839c91d00618c582c3d538fbad79dc725cfcdb53458b56474330a1730637f6487452b003b48e3d2ddd60eb7824b520c5ee6f7917726a4f352647a42901d38c9c23fc4dcd4c3b9efb548bb4863a8e96605a0b91ae72956a7c4d561ac3bad77afbaf6f2be8d086ea8aeaa23e5c6ee9d2678c4881130537c612a7848cd7387e012a7debdbeef81e367a89f1c5d78f8c22be1f0c56446f91707cfca9161d79110b0517b846167587480b462806752abdfbc6db197810425684bdc247fbbe10a486fa9c638730a8b6f6f6458d62a8148c3c11d48dde85018aaa1c6e104472f1e5b9983b73f28aa846540423c2595a743f45a70730c5586cf58f1a7234b36214beebe21c858361e29e1216f9d04b21163ff770e91474fe72ccebf19d5aa0737d6de5ca6629f1886b5d411290baf1828a8dac632cd51bd2368756cf2cfcc21a8e059831d56026e0e5902a34f2dca75fcd1fa9c65a9033f04e326343711186ea430751b9bb8abf23b5667cb3b85e39b270d8a4794ed5035b72900d59c48889a8c699f8924ec1d10b34dd9081b624e54da3de7e3bc9998f44723a435561a79f63167dbf54a352491a390ba5e8ea369daf774b1904c46197b772f455ed52224c03d75721c0587705a93a5652e079503a2007b897f57838f7e872a9f92fa880c96d61570f303125b3e69d44d615316c861bcc775cd4ccda658e2b6d47beaf08599dd7135de935daed7093f1739cb5a429a11efc21c23cd0973972dace8d319452eb45ef608f290f410796e6b902baee625f9c3701503d83f08d2e4610cca8c31589eee0b0f810afcdac7e302edd64fd128dd9ed24f82bcf96802b537d2d6e4fda3d871123ea5125e5da924dc178e10bc9b779e8515c164793ac725d204b0c04dd07572149d2655cbd7837cf3b0920ce18d9d1925b332b02a3383b05e2c46584ecc9121d613f9a1d847835b70011685c232e6bdb623eea5059a472dbdb92187759567723fbcaf198ced43fcd9689c2b1cb4fabfc4170fe2be24672f5cf4b70473189b6eaafe3480ad68fb299bc3b5c6fd8f02cdc8e5c8654933d4ee613b948c352528bd8de0726e30fce89eb4328413236df536e95167094344720dbd7918837c6f7a451d8e2b6dd3d280e1112f22aeb439d8f332f7587c71e2264ca7444a40baef360a429e4218bec674804db19fd2ac280952c38ac6c47be4c72393dc4d1f528a753db72920a12d30b4e67081374fb07cf3c54127d9e780df5729277370ed908852ab1fb495d0346d7acb123b0a38c672e2da9ab07a9692026726d3dfb37a2fc82f0af4a34569013b06d9f1e348fdeb414b2783da896661e7b720fd73c9610fa3fce5a0cb2a7ffca7a997441e0fa65dd66d6a9c05fd68c6a3f72a4f84489e9ee3d91a455d1f626dea1ba6e48aa88c55415a53d261debfb45bc728e0d2cc23bfdf467b99245283df9789808f208437352501b6f4b57fe643cbe72851e2391c22191e4353141dc583a43a2c5dda6d1038d20681eb8062dbbedb57291743da5c59b74ce307ee73468535ca5c345dcf08b7128e965bda49b47dee911fe5e8747168d9d3101220765014e8c7cdc3295c466ef8276807d4bd151b17b7222bb7783c70dcfe3550f23ec5e5358f308b1d406bc281b0f967120121bbed972a1cb87b482936a51c71118ca83af3bc3e2d3fcb817dbf34222affa4c4850dc72ddb99f87210ed46647a6ce5189b52ca35a0fd247c92808316aebc168e9fcca72a40b5344436c9a820145052496f54ee426af62362eace0e6e1059544a35aa1726215dbb2a9e93d12c25ea2c4ff4a3df82982139118fa5197250d13302497f216ab51ee14ae24d76b301225a29cf5beb9099faa3b60864711d9fbb57263a0f03238ab3097d0387f24cdce20f3998b6501a4c4773345e2146c9f2b60f30a5d0372b84ad06608e344d5a27d32d41416ab33b1cc50ca25dd711466c590c998d93807ed27d660653763e4f9e029a8473caab3481bb35d546be205c6e46a06d75f200e65634658335f62d3d78946ef14a1b7d9a0f03ac2d0e407d633f17b338f470d72e01a99dcbf35dfd560c2d39b09ba0f4376186f560f746892148d57a5f81c6d0d2e3581e12b4f500fc40b72657df50ee401d30deb532d8208bf2ea87394d11d725d14fffd49d27142d88ba51d05207655704b507b5379d64612f3f1f7825fc062f95346bbb26f4588aa43712e73020790e9893ac927169c00a0d6fbea0418287227e4335e41885e4edcc1858df39b7bb5d1554cdfb96f67cee50870b42dd29672436a8c22b6757ceef440dba3662f94bd70589138e5875af550ee6a7625697a720e71c1443bb1b3fe16665c58eafe6de65a10fc003b6cda396eff91e6198d2b729d93178535c674910cd58176dc6cfae635490b3e139bd30c83653a38c5d46f1f3ede5c596acfd4d4c8e2e51cfe9930792595eb612b6d84b87b2f506e7751f55d91f51f3499366e1bc267e364ea4ec18448d3a88de2118e63233f7e23a2f62206b37dd19d2fd97f12631b492493afd627eab8a658bc0371f1107c7d0a7bca770bc91cff939247d3773a2723258437d2ee1ac89e2ed4e95bf0a08e9c04b65a7f72c3dde3b1328a53703ca6b71fec5131f2622927a767bb915b1087a87274171d72042d4696b90664dbc809b5c6bbf42aeecafd51f3ccb57ac4fcaa7608873d86720eac981bb72cde0d879874c1c1e2ad4bfc5e179aa15a5627e0eaffdd63635931109ed7127a1144e4b39dcccc922d551bfb30dd2711c5ffc7bc7d2e7ddedbb209b3433540a486845ef2792e7bf72fc506fb01f3b89ef0f7a6c929c93ffa5a550e0a70b5e3c803cc9cab11b31efc7d4e5843f0f4b69c2a549cf20676da65ff0237c77288f3c9c57143be682162afa6e9d5d2e51b75a61df5ac07da95cdc0b1ff72eef9987903226cc8bea2e989cbefa3ec65fe6a01e0e063c057bfa29896c7c97298ae0e1fd41d855eeed8ebf7ca45b077c222922a462eb7560564f141731fd57259c2e8d85a4501542a90387e534e2e0e8932d321423b74c9bd150f8ce947721d66fb94d1aa5e3732f3a49822a556e721b7a2ca457e76a0cff55bbfdcb44607689d4dc980c778ab3c8fc3657047bcf21df5fc75d77a27c69204937112b7198672662b8519cd39bbcf59a20007711749b275eba8a21cc38d49a5f610d1382d942a46fbccfef97498249b3e370f5f15c7f352142e22a15445e5c66718ac43048168a0b97c5612bb3a6f74b62b75165b9bb9967bde82d3f2a9cca3ea4e16f6344b0dd152c3cdc0cd7fc9b62fd58d413dcf9877cf14d85ca820f60e89d532a1e26f72342d9f57e70c225ed88fb8cd3b7b188a5952d82167405ca857f058556df2c57272bce335986a19734e84d3ee7ddec9e17234702d434dd9e2f6a58b2d5b3ff5720de8bcad8ae6d5d2978a15f26d920bc6412cbc758bfc31d3f5fe0271505f6672d643ba2ad637d8a1bc6049427d299c6fed051434ade66b24da7824a61bbd634aae2f942544d746bc889fb7d95eeebbab5df5b99ff94375e51a3a78061f1d0e3b0d4d7d530392cff81405bb8744d87588f7729cbe285516977cc88406bc7953720b907e7b5f3dca8a0a0c2db2b86106c798efab83e4e01764b56d546850bca97250081d18840811382f8f073d0bcfd115f091bc28fbfd60ed6a46a6d624dd5b056329b84354e578676ee124b48a1b73f483bf64ce65a8dfef0f21fa8387033b729e73c82ef900afa9073c0af5a28fea2520f5477f5793d208e32719ea55dda372adcf6e72648ebccf11fc156bd57290d75a6ad2b8f142dda78085783b94851e159dddd9b5a354b1b3421cc3c4267d9ac1d7403b9bd723ef7871b33adbeba6117269a5fad3a094650f70ae32449225c69f8d99c787b4467f766267e2bf673916724614b5ee36a7899d49702b90270e1588dd71497a12882f2199cc0b8e82f29e72bdbbb5dec72683260caa797e3ad64cad26465358611aecbd8d8018f64167356712fb80444846d11a0a51de1449c58dee5f449daf9f524112118b5c3b8b15d43669997f6a6ef3336c0a0a8313e8e81e9d6d7b8b4757f524bfc3dabf153fd0c53b366d66a43b745d34893a24f60b8698a13b10ac0f578046994b6a70856807d2433ce528ed69480c66b8a170f8d620f99021f87e7ee8fac7ee16a102bf076e4c1b60d12821af9e84a0537cd924b7013475e87e1a373a937c4a037b4b7a1261fe721dc4a2a4d50372049da42de5006ed9bdd4bb54ead8cdf7c7d95f754e8610d372ab92873349f10e37b643dbb24825b0bbb5a8d80e49abfe98c047115b6b439f72927502f71b762021abccb7bfd3a2374a45cf2a7e9300479c6b1150f204f04f722eadad7df2a2e3d831c3bd5a14f0d216048774a2b00499f541138f15455c4f72b8dab4073a893863a69e469290af9e5ea01f8694fe733e8cbb231b23e67d4601c13069a27051449f18e1237a88f6c1851b1050e69722db4aab6c91842a8e7152c6f4e740cba6875314dc4f4f50b4570122a65ddf69c3c5efcd94cc0273e886729f350d8500ec78d3e2b77b582ce302add1b4d9185aae806a524e6146eeec1772d661928c02e9704aab9742f5f850201f892829344f6fe0a4224f6764046ebc6f2ba714d2ebddae03b6ab725b4369e1d5ade598d91cc22dc8a321c0a41e11aa72a609688fcaf472c6b4bf71e04e5e5e11a04d0d2e48e7ba3ec5dbcef464719c72b1d26aa34926884bfbc94ffb246b6adbe5768345363eab6f4516981421cc9e4e1f90ee85c0eb2488a34b3c03e10e0fc13fa81a6f51063e9f42a255409b181472c592d14d171a2444363e9d9011dd3278758b88a28e2e411232076d25934b9a72fd3d2000ade8b5b2b5f7aaa2160df525507b5ea8106b3203569759e6d76c853d962f5d894048c2fc0e3162dc524991880f3d494fec582d79a60d1088e37ecb0531a9646bf7d9f6dfaec0219c755bf1bb3c4f57ca6053917de30b982b4dc98872848f82d632deaf4d9be6b3465988a070187fee15ff1268aff045e6d33ca1577296dae1c23c44a83dfe8a905c9b18b98f5a5031db77212fd4c4eccbbffaaaa95a5f92423e12940d0f09898c7171f76374eb2db76b4b7e81bd66d5ab2fddccaf3426c0939226f57e4b2743a02dc08c01ea8e3baf5e5244b9b87d410788477ec22942e1e5e0fb7159f171ad60a38c97845c85bdf3a9cc17a0a32e66f867d8b38f3e1096e8608ad6bcf31063d7248dd9e41f2dc0afdab2aab1bebaf58d0a94f8805593e3bf94ef67c6ca1228b9bc444a337be843c705a7c1e16926af4225d289c6722b4765e28880c97b88859835bc221ac02dcf20acafd7bea724ffdd549b403e726baf4974fcd5f8943fd7ba6cd708ed95ee4dfb7d8663474618ff0b937b3848496b09b954da93ac27adfa2d49fc86cface0c48f1bf5c3dd9de41dd310621d7772102d850e0aaf5b763504558bf58b651a28932ff31d09f08b26cee298d75351726a5df86cf9017de5a6853eb1b842c25314a1bf7de8d287734564e9ec269793076b43c17d7b7f05adc808e93a94b4a1ff9036445b481018f510156b40366e3872d877ab46288b25e9f35eac78e3652988c8a69de4cebc4890cac4b7848bcaa60732d88bfbac5eaeb92303b0405b3412b6fc0db2b6d55e5bc3f78652d8175f7b727078cc61460d3ec512c1ee3598be224b9a6cd3d60e91b41719a8bb75bdbbaf72da86a42876d170c3d701a74b445be5966a4e8cd7c98cf611906141f975c1756ba274b32edc4ea68019c4b930538c359e219f3f16709243efd4cbc4e6f9dfde729f2c2799def3b10f373194013d076bfa3340cc1b8e96cc1f01f0be4865286e72637199c5311055de7e3d449b08e675ba4ce709f99d4ad007f292fb6949ceb6721a25cb1a9776bbb5e00cd1057430048a88fbd33d09dcc6eb36e036a6df75e56637905cd873f5ad8669a1f3d13eefad5d28bbc3a1f9b720d9118320e02f4a2f72507455fe81def176842b874b398da462b4e5c3d7f38d63e262848743e9448f72c4cb01700be55be2aa0530f4b8f7b4080c78e257c192a7e5d6bb537e3b53fb14d7d16e573580021d9b9301bf387a129c8851547586a4e60a653f3d7d866acd23a480e30d2282a58caad031a91d5f5951f0e6e823b659d8458013c3df872e87654a2be5e55a854ec3c16c0b6713372f66eb4a6479d08ae4563d47525a3ad224162168e9aefdfbe7ae2cae6934067f6f9a2e84031991fd3194051c97a4404bdc38958616412ffa407ff0a9b10d2f836461c401dc6746d4e7a9bcaf9c46b51335729741366b489ded68c63e6524b5f0c9d62a08e5a64543a023a98670c78fd3b10a9b02a0f3167f9b935a91977cdee417d0678b00b5c92d388bbb99b6489853d772ca3e70fb4c1928604bf718ad272d347ef57a42c4810e3e3388f534585c106472c11d9ed44a1a227a232fb159466bc356021d48bbe7437bd6e8c057b149bfad72141dd33064fc02c04491fdf677f10ca3f98d5367f99f590214c812c86c90a1724c06ebe64422d6e2679b6b338946456bd1fdcdfefe3d633b5271da4f1e90e572b16a6de962838bef507cd40f371b9eca2131943da0a0262fbde9bc9331093e726778245206aa29da7c976ca267825291fec60b487c07684146de0fb2b9b1de55a629ba7c74a0bfa3b47d29ecb1baabb5011d6b8b8f15201c71680d26537ce2721e2dccdffc581e492f1476469f186226f86014d2248ac54006ace45c9b85e670461454db04f8ac7c1473b709b94f8557163e1485f91785e550ebc278b8a9657236d241d26767974a4654f614e69c5128096cba71e747f12f39107d055dbacb726619bdc04ee0763be406e79a45e5dd7c37c68836132b1b5a85958a1fb0ed557262fc93bc8575682e6f13db4346e7d518313cce5eba4d507d5ab783fe50f5c9722c69557e4b40f8407245584f63fc2c1d0ea3d0f8e1eb2c366cca75adcda1726c826fbcb35a2cf7cddc961f81e6c115a2a43c098728d0d9e22f7f133c605465727fb4b04726c2d4bd5111a002cca98eddd3fb82525feb4a3ef1239a1c6fbb6c7209d22d7a65073ebb5571987969b7ef3fe84e15d4016685bf9a931a39c03f4b7210a2ff755f23cfe0660d4543e1cd00c10d3ad039ae51beedde922029f3a84456fd4ead84bc32132f1de6621e919c3c460d752375a41dfa89f8d7fa6fa1ee0372d44c0e64527f457afdb2954d4fd0bb3092306974473ae790fbbc34d8f690ab45c4df29e847ceb11e796afc74f415db60ee639840e67da6b2588784b48f1938081295dcc03119bcefc6e8fa105670a55a6c134f4e6136fcded2f615662941fc72420b6d9cb524e4849a07dac5ee05534c2d2bd0685f7e154ba3d6c5b89dd9b6728618818ec9724e5c468d08f8d7b06504a7d3db706141aff9d8097f380d3cf80f704b488b40c2782105ffe0e39aa165b829bf3260b48ffa73b6ac4e769ff2021632107cf283d9b25de7e48944d50e76c423b4cbb1c906bd812a5175459ff49e3191a6bfa5ada1127056e5a08e6c894bdb6eef9ebd0d2dc71447fc52b61be7746aaab8d00c7ac77fd65ce1a748dac5de8f7b0d0ca2d6a2747b72f9fafe83654056df55046bb0058813c683b9e6039a65034d785fbabe4b56bb7d9017e0920a1f357d792a9035e94e8decc8878ddd09ee19bb562a5be0e7867543ca0a3daa83cd0c87f00d3ad002d636535f6cd0ea650a451418bc29daee6a692f075fb6a4baac5e94f6978e8a232a867d188f48ebaf29c3279f16d661a2e3ff9d1efc384d771d1e4fd8982ebb20a4327cda487b86af9599c865f8134ee779147f3a00806f1305533d6572cd5227e8c9356402c4189b1dbf721ad5436f7f7a4913784b58b50ad4721afe113f0b0a25d5578aad44f499ab10fcf785a29f167492a1c00da8cfc24972043951467eba357b8c6000aad1ab301300c36e6266628afc4574c7026a1bce7228ebc40d5fc53127d7f8fd67c6e1533d13ac00759ef4ec0a868345fc54b76272e8223068a0c9b655639b672a0c5dd40e9bb68b961c42341915792d6d372b5d72820342237ff9bae4fa73ab345687b09b4626ca5452df2402a7ff9d6d269e577261dce16e250a843975c2419267cb6a66aa57806cf936c475a95010989adaa31028ceca105b0d244decc21c224ade2d36d3d6a5bb07a98a6064c481854f7a920ab6256bc29373ee57c2c326c68f21188902bea6c5202a247797c6d98dd2f0eb722beab219354e7567bdea50ee457739d3262432899ee360240168a957907da65a64d388bc74efbbeb9488edf8f814c4105f535466135588e0f4e4984d8f12c66fe4b6364b6ea9865b5adfeee95beb0de62fabe3b5e56d57d8d063fa4ea45ff032f2731d4e38824cea2e31137b71a5474ef9f2b0bdfbb2ad24e9aeccd3de2d9d72b6577916da7f2810324635783c9fb7df7d89f91145649aec2f2e1e2d3438f4724b0e3a84c54f7b262cfebc8832bd509f051d117ad0f7f215f0378dac2b5a276ffea03fdcf7bbb308fc3e48d7ce41c4e7891d9b2f9b8f4abf8dc344edf3e18440a281b0e1346a48f701315d2d6f785eecbdb71400203155e630f7f4d40d860072e9646f8334c5ace23fb8dd4fbd496cb814d0684684f4dfc349cb635d3bfae3729a332e888450cc982c6edb1b5cb8d65b8289ea17f68233ab697df117f676ff72bf1339666973008ff0892b90f03d9967560ebd1f7abe45cde65e4a12df6d991e16b22dc50a402d718975a964cd956c42c1dc69b2f03756b056bbdba049a18c720d98cbb4d62ea0b406e96db7477f79c6fcdf12cecae2a2caef70c8121615c77211d06d1a4f80f10cbf15183a3fb37e233819226dc7be7a7cdcd52fb1a58c1e72e33e1475c825ab6713fe55835cd9fa7770182e00427410f583e5e042d2844c4a74ef9efce24c6ff0fb6278db3823642ba943da6665365f062defce9a896f656a3203b5c748ab49b3612112505ded7bd55027cd470faf0866285bbde79bdebe58c321e27f13b72f89e5652dee1b2bd197184f10a26394c2347127553119dae801068f97200c1944b1bc731e382283da4eef0159db7a4d07eda3b3a9e22205fa722c2dfe601861ec32789f3bc4d9d9e4de2c5d72873f37f31c5b0bf27275c7bd0e93705a99f1593511ce561539a2c2cff3fc1f1ae0ee27d6d1e7e918416dac41726fc9646b5d2b7d2a44dd800a929b193424a12091327347461f377116a88f7d724c9517c9fe99ddaed19e38e088640b72785bcc7955cc36b42a94cf04e2ef467253362b5641b0f21349a23e74ecf7baeb017892e80d84b403495d5cc43788e67289da240e7f9d9a71b2d73389a4af18d9d67bf6d6f6f538a07df393754671e1728306b5664bc33296595a2af6d627fe126938e363716f5b4487498f7f18b02017f7eaec8ed879d5bf3a2a2824dd54af842d26dd6569092870ffc316cd2aca0f72c05d55dc33f72a72ecc2f301bdbfa81aa79cbdc5b457ac2da2d0714d040d3a720f46fe1ac1d99752d5ca0178a91f93246344e6ca88ca519233162adccc5880729dd498d4a99e9e46f2950d9924d3c351ee91fb7643547fa0b1bbbcc4b1070772b170904d33a079382c62ab62dbfd24e766feec7b57c29f3b55acc111ad9db54790faf20fc2cafe594105f4f8769804698dcf5b964e8b61d1e90d0897e7c06072da43e01490a9bb5166e51a1b7fe07947eeb64b57f706fc18ccbf95bcb93a71587a58df4e53d1918e41d4b5c7e33a395c2fa82a8e350b52153f77654a28469e7238fee4f25f865282c805d32f0d08ffb40fe8cd3ecb1ab34c0889c893346f26727f696e9d477e304f54bd8bc95999086ee7260d1156fd5b9fa547ddc5598a0c6688cc98c5ea791eea5283a7e6f71d38e351ef04b18a670340cc2787c706a42b6356318fdc17b8a1920b198d2433011ac614c71bc97a69b710dab8c0ccd4749972b623dacc7d9a9a36d1c95f94a864c24ee2ceac3119d2d3a0faf49b927e87194506bcb08e296ec2055e37d253525ba7425a66206dc1bd6eca81e30ed21d6de7721f355fc7cbfec84ed65d97555d95f4144f3c774431d39cfd2ca34016535be704f08ca83caf8abec220867c9815a85a41a6699380600c9ae59b802fbf50725472179ac2ba8de1421ea9dd3f4e287753b0b69a71a7244ab99d84f0f145f6619c726ec805c62d27ee2ae82388bde0f074641e15a3dc36bb4155ce4ed4601366b272d3a97b8f663563e5392aab91575772c08550002f8fd5068199d2912d68b5d472c851a6d8d18d9f6a0aa20d86d26499d1cb3581d9c3434fb4c45c83774fcda1722a8c693d43cb5d17d070965483d6b0c06b1dec8ebf6402f900415b078fe1a46416a35e32f3f9bf0a9bb9628a75fc291892b94097b629926cc6196923f6c2e13437c87bce6e79e7093b22f9550ad14f9f4c08cded4186e0bf227f6d1cf797fa7254f07c2360d76e35b650fec51af624136d7e25214478304d3a7288cb3ed7c1174158c6b1aeb0e1c7e78d01cb03a2f710ebff40edde0e6b8923cae927b9408072b87d29c567e8f9f2f09d50250184a3dd8163b566861c4a847572cf5dee5d5972d33eb27656c906d86d2a8a0f699a2b568026d322862536a0665fe4a48fcab17246926a524123f8e814b78f29798453eb7ff0fb901379fe1df833fc4ec2103e6d58ba26de572e9adfbf7ec2af64c7d58fe247078856b7973194598e36cf72fa169b416dd3f0f7c48425bd4713e18da3a25d29b8da44689257aed69cf2611aa6729074a6d422c8ae19bca0cb64664b9fa4bc34f828dbef78afb5411b43fe70384b17f181815a9eeb71fd728f022531532b216b8a3e22f479ae2b58d6e627049120e364fc2e5eda8ff4ffc90fcceb42b9e6a67bfd9efb24b53a50db2de519292a04d106d52e45955a03439f9addcb64ca1fdbeeada07a0e72e44ba4ba89ddd089676ecb83794a76ff5bd95ede0b353e3a35bc9c457db44cb0edec16aa216b2e8e6851e38e7f189683d34e478956ceae0282ed8b61ead903fd3fa64a54e403737d5c97616f3cc3c9205de627d91ebbcb44bb410a7c0e93575332d060471282406272dafe45912b5a22d35394c6b4baf35246f1731b68353aa2a04ed66389a0b1097249c8b4bab0deefb5d1cb1f4fc79db30aef755453747acf0b981ec4b84b34087254766fe32ba7428436e93d067b404cbdba2f7152877e4dc5be55765c89575a721eec79c91906fb19ed4a90c9a94f3cdaf96cc440d20ef5aa7cefb2908b84ec2c7857965c83db3aa5b34d33d24f6b1dd056846f8466041b79dc63da810b3d7830400f25cd8def1a32cf407827dacc6ab7e42ba3160ef54b73134260dc11856d5f005403b737ecc963629fa5d6c142d861c05547d1d4a47c29f6f4d1cca7951872168c60e008fd679bb099a352e77b9c7d870e2bd79b4e76d9b6452037cff4d372b243dc94fe6dfdeecd0d5bc49ff1b8c000d85d5efedffe42b75a74d13564b6721a34257a6954c005f18c380c8081891a59b4d6ca8c7506bc25aae30b60cc4e6e20f019969b2b9251a06f4786d214596752f1a211b74cd4fcf66e7371b395a3133b9afd5c51bd262dbc915389920b1ce7a9d95a69cb8eec3bdac489aade723b2e5bbcdb28606f72b0456f51b346974f20e60e0556a15affc99cabb96947b0da72f81663162db1652d6f55b54f7736e31ccbd78ecf506dbaf854ccd0f3898cab26511cba5cc5633d4dea68ecff73f5a43680ec4e0db7c52b5781018458159a5b5f8d03409206653767ffab8d756fe9c5411478b3511d9524be6bf3c0c1f2265248589dfcb45c3aeb7e68c19a436a3a3b3d7bb91fd6b0e63ea2d959e4aed67b0d723e61e50a64de3f83172667a3d49a0434fd5e1f9279f65fb924a34346a87d2e1663dd76cccd75caa9847fc963df16bc0f20073adc3916621930a02e0e944b2072ace4fa1fa2e01cb8340f96412986878d642565a9f2a0f38273dbfd9fbbc40b3362e14ae006806f62c18cad88b4e11403747b54a6f4bd3f751e4c0fc634baaa05284dfeaf6d9814accf808c8fa398143f9742e654bc82072ea1db576958515a6e70262ad2e713936f138392c291d1d4506bf3bb5f9fdfd6bb310b85b9eed0e0726e0e26863c964b2cc138886a2e2038f44772735e52d9e1c8e853c5230392784f5dfb0b053507064d989e1b7fc966c7143dea74a056ff8d77bbf70b392e761f66c4eeb1bae6aba1d6510ae4664e5ff04f408c14c0ca899a22f7faa1c8eca84172881b8568e5d5c7106296046374a7351c7d90662b03eb184ff43c18a0f3fd1c6732ae392932ec0afb5748ba984b3a9dfb70a38bedbf98e2de95db20772c02a25ecf45fdc314a277c9880fca9a78466c0b76a05b0179344d7ead2f6656381c1f723e6dd1a86ef56d63aaff5b10ca019f8af2655b3475c48b8cb3247988ffa3e0002ef4457340a49a25cdf6c0367ccc3779224ab1a3f0cfa047c348daa4c6fd21726cd097cf4e95c4d2aeb9222edc660849443934e0260b5ddc720d87de038e6a72e3f400a45d79136ee1f5c5b1258013f80fcfd0b029b6c87289115bb8b9050b72137f08c355f8251543956c383a24e1087a15a4e4934144604d4a4eb239370e724f58c5d1bac7f261caf3884cec9732bbec6751d4a95321b031b95e1444765772e9acf095c30e4df789c1c938e6123e8b7b69c7189ff7e06ba89b3315dacf0d729e232b63e57be1827f512c7dd2fedd8054b49f6713da550d5368680cc8e0f732a28b57c0fa69c193a9572b73b2a3d2623b3c432a37bad781c941d18d56fb9737f492de9a098565e43f243bf795ced738792b3611bbb1a549e824e04cf5001b6da6bc6404a3f31b8dd9382e89ff27a498758b478015e8deef1449a41e76549272c00fe57fba3bd7d92a8770726fdb3ffe141497070db16f6c2861eee97f73162cba3d9b992bf6900e8c4f02695b6c370314f59a4af4f4affda498093c5e48e2722c81f64325b13551234eb81d486daadb1914f419594def193d4b18ac8fbf9d72b1ed280ad15620a1a7ded385ce3721136787e8493442c7d4871c7537fe12f80a2bf9ae135d67fa4684515c6a276e35291b3491357ad9e312bb67d27b44131372fc6e47041c6c5d39077fab150d6cc706a02633b8b78468134b4b3357751eec59e5cb79f1a5c7baa58c6a193b576420c3faeb748cdbd770a4b83454b0240e6955fd2d615354d4a6c6d9a44a9a9e17f4b426c71ab362f8cbfe45d9ac5b2bee465048efceee41c5baa467e70187e6728aeb80f5f72f3e139f9d299fe6123acb16728bb5c8328e5a3e4e3ed017a72f9a6bee374d43964e656546022741c42394407267dd4637565eeef24dd5a2cc170ba4d2a6ef3787a77d8e1a02e9b4f0e78aea572a626cd1fff8276c49760396ce593e85e2b3d059c6fd2611afda59fbf1cba6656725464432fd119775a1517201a866e65eb3a6a592d57366a6a51e0a9cbdfc7234a4b17420ef294cda9123f888e22429a796bf82e34371a0ea317408fa3363723650cf432e235cd14f7b070fbe1568d33c3347693cc6126f282278d2cd88f6725ef47e26e42e863dad3cd5ca94e0ba3c5da63e3e8d7c15a2228d43506274a1724b65a68835bbadd572aaaa44468a4cc3360266683dfc2d39878baec677671672fe1c92a80befa6468030e2f0469c6c4de93d5bd4df8b9a39d1a33dc3ee51b905dec396cf8fdadf0ee8d3f2527d992e47df0f9fe619df7b8f08101d074acac972a24bd7f0002df9bafbd4e57626f2204817da8304abb76dce462e93de652100721c92237df3a14b4d1984a5fa8715e9c20a8b6eaddcee7f12204e927eacc49f7289bd9ba0f49f578dfc0cf17e7f4e3543d19fc20c5671c17bd2cdba420c3fbb728c018f88d8573a52406b99040ca52c85a8856ad7ace56749504baf64b755fc61af6b7b211b8c6cff34289845c9456db5a98723af7911c2d91e629b861c4aa2551b36f1227d1ab55c7dc418d9afe3086dfcdb106d24ca6553f8b3da9a5a410272eeb9792fe24a44bc96d3ff7cebf1f5fdcec86d26dfa3933bca127934a6cb9c11ce7dbb8f658f3988f1756fe0af7f77ae4da6f09f19c73adcfc40651f1ca0547275c65167f43376000a097a9f2d6fc8fb23f48238c6f6a7d157227db79bc7407260c34d6b0eed3debf299618f7cebfbac72de7a7bd17ce36b76fdd9354be591728754624aafd9e0f7f83570a859e18ce2716df17d64af32b8ac8ce8e806883e72a6997044049f1db8994500761f4ecec2007d967ae7bcbca9f1b1c8ffa02c492e3080e2a492c263548938f395a678df8a8d4c42a73b8163f456ed9cc354d06372548a8b1e62fff8ee71c39aebed8e8571936ba399f5bc56bda163a03f56d728726b7c814ac1a4d9ad1fc5bb15e81ff5c1386ccc9033f22f80a86af9b594f2d5727b0f22ede2c5a6deede115feaed65f642fb102cd5be7fd8a90c3051396b3e47234f8cf8709cb0171f7443cba6b4264356def9d9dcdcc3ed40811231bce21ae722781ea95c7f7652f54ae3ad675fd58dd9db20f6d27ec05bdc6f9fb631110ab72b20a07ab8154f597f4671399efca26cd95613e8cc77ee56a94de541c325d362370a67cb529a3b524b7a4fe1d1c9e686cb27e5a5e75d593e43bfe138085eec97255d15fd0fceb3ae51d12facda30e206656e7d3051856606f452f073414c09b643f4a05ec1583c9b85da2d1e914e2232a55609839d0c584dc9434eea1a6f8e172072480bf4b4ffdaadf52098b84752444a94e8f1601fc05ce7ba0400c794b4b6f17994aaa2e59e1f73525ece72e2b7d0c2d4e16a00aaaf7bfd9cbd7590723413285c61c059b67c4ab2c70c7e80455e57c0622cc04ef80088d6f3130073800b272aa846aab51a9c52a64fe796fe1d27887bf9c05dcae27d523a7a5255ed12d2972f71bc04891135656b904155fbfd0ea79c32765e9ad75f87e4a2b87c589ebf47218cd7fab8694faaeb353518ee4646d47768b1ea332209aae01e176c9f84f642ef244fd610b802483d3bfc79e505f653010268490a04d1828d8ea0058a5895f34bfc310926b1407b805683c2b05e8b358a31ea958030588e059436afdbc7d7272532e7e3d8cf90402ad8739babc2bd3a005f6859c35018ff49329a5b18b08a872e38cfe2bf7c3d3e5970e3026e0fa6a9578e6f13f8ca01b8145597f6984e97672b9ae229f324748e0bdc3e891af567e0e107772f02a64275acb0d2010f1a89c3b9b748c077309be59d6081e0daba170b345b9794f87045f60bed2f3dd649812726784819ffa49238fa5aff30c2b995788715db1a60ec66ba89c7865bbe9d9cf4f28821e5542f547bb59d25815d313fd4ab35b3d10437b6cefbef3ccd8996a024236c77058a72485a6e3a452045c92b0fc7314e0889aecd4f150a408e3051eb272640edb9d178074e5381818794ef5c1554ef7abbfbd12d83f13cd552bfb6ce1343a0ad7bf396cdbd174bddea0f4016f4d65b0db44fdf3395f6d3f1b1ae02f7f729782f77a50e8b9a3599e54f91da0512af986715beb6c8573a57368106bdec705444cd369ee5fee40fcafc61d4099c6ec346e78b2a40833085b423ba3e71e407264c6bc963ea8cbbdecc4894288bdce273d2623165c6869a3d19e90db81b33c72f56c24a7a123ab028fbcc1f0535cd1fc9363ce8ed4cab7ececb2bcbd4b0d93726e3bd932a9b28f4d65b6fbfe2ab8d6782de44816bfda0c0c37a03120275765727cee855bd9c0ad1918c7ffceca1181932e51adfa9f9a4e1d4cf9fec2559d0704c13f39e83ef86308035f0fa78bfb883c78c108b54efa8b0c56a3f821a258bf72275622ab3f5902417b8e4c3548f7b47d65e8d08d9a6efdcaac59c59cefd4db724c0e83e30e8c6b1b907ea0481b2856529474f49b894c414bff1e96b9eb770325f0def7d572f6711c4cba854abafe2714060193ea78a5dc414955a9c0ea0f8e721cbeffea9fe86287113a486661945a13bc8d250ca0f9b7619a6f4de07f8c26728ace53a16cfe6dc1bc007ced8e125b17ac870ecc304503d9c45aa6e18ef1373858c531bc9a07c90af4d0e42af935ae1bbf0d2555064fe94cdecddfad08aae272670f905feb2e5a536f987f1698a5d7ce08216e780095a2efff4ad67927c23f729f2f0a2aacb71b28a5caf23c48c21c33aa54f9dd5bad22923b7b7ad864b1e30a3f30623ef24de9c07bb5626f4976a2455afdec95e38f5168ba139ef49d79b00eaf6eda67aba4e658e8f805673d66edae2444055d15a02e83dab2deddc48e86723d3839ca093fc55bc889deaa639f6a0b46b2feb604c57ad3a4e9bc2bbde6f67276bf3de252c896e7ef1ccf509b1fb75e83a85fa773fd4847193f96154ad7d41bfac2b8ee32e3f0dbe3b3f9cb5de4604f3494fb9a6a40a3301449f71fc7a48b72bac25d6227ddf1fd3fb35b2106bdd78bee4e67281a29dac2280bbe8d3f3ee572e45882502566fbf99b6545b8a2c5278086e2e7499384ef1147b55248eb5fbf72fa7580e1c2944c8daac6972691fb00f6d9c0ed81ec59811cec3287d5eb2adb72006ca05cb835ce2651e68127f7994e4db31596eae87c742ee63a46d097bdbb72901b7863636d9c40a777560d0a9dc17672e351a87424158526fdf9d5ec3a6072698c7b8547ce073c7e059733af29881d605acd18c40541f3df140060abfc2072c071a4c2e75b9788bb74727892346d9008d18d1ab08b647a139caead10919c72d2b6af0e264ad9602985d7b82b4e468e58b925be6e5e75c44b155edba9793772ca8d01d4f6e9c680a307dd2d60c907028d01c71faf069e2e8a478023c2bb244d463a73460c5b210faa16d1586d899f159beaec1903eeace64b673c8fc8385f32e58aa386101b681ff5fc3ea6cfb1497f88550fadb5a403ccb9dcf147f04b216fb3343b437b3334b61ae6a99aa02e3769dd7e3ac5438c8c5891c5790af4ca2872cd75a5eb9c354be09f2428397615ecd9373cc2db04c91954060ec3be27513271480994c8895b9ef7bf974a2ef1d5fb804dcf8f266be448df34c7b61edfd83872ea6052cf2dfc65e8c46da639f01b6a80d51fcc5285ce9fcf87fc6f62c6ca7072011556a730bea94694b9619c3e55996c0c1083b0cc5370e6a584c102b2a8a472f70d6fd56bab35d429f87408e022174b768fb155e9cd8ffda22cd8a91f8f5f720362420488a9153e862f6119c3ac881376cf3477952ef49ed3c7b8f017e33413a1813e654f5939b5781b4644a87f360a910346418a99b2740163c5651384332142ac1eef18a19933fe8ae824fce19d01fe27bbf5a5c007493de605b63c0ed905a1a6cb7554bb5f328855f2fbcef3c1f894ff71c79ddecf269abd0636a7f578025053ed532f2c1c86f45b93b56904361ef75cad7fdedc286374117f9f0b8717720c93d5e5b0e9dcfddfe4adbc9084fd28026ab16b394969ae86856d6d03d25672d226bd931d9e1f21086379ed4b8dde8571dbce50dcd29ac6d03be747b9cae07250c896a0e9751c9ca9522e06a9dca7ed0b899126d1887c6e09b67c6e4989911cbb7e0e16495949dc53761982a2060660cef245fe0d63953b40e44be61d88ac72005b9b8cb23f957f49f2c9db5932e59d5408d9fd18a552b36afd6103c0f78b7281021085e9a550179dddd710df2236b7903c188ccd6b34175216593c8954bf3cc6f992d7b1ed1e5c58840074564bebf2709a1213883f0ae84fd20ffe5a45fd3fdc0c81e67e95c9835b3ecb7286ef5c04f0cdddbd3f33df7cb7981645463a794882b76f5ac32f0645155b4ca594d2c547f8b1ba457270be344c1bfeb5e5a83e723a7568668f101f6d201db951f7dc15c570f3547a2148f8af0fab9da8fc07027246b1c9b4565008188aa68943a080e63a1f689256b929e85b87add322b4cf6172aa70730f9b890b7e0a9949dbe338a21ffdfb34cb1bb067dc06e96ccb340935618390bc52adb6452deba5ad038d4caa1694d73434ef7276f2ec73728820d2785436f3df9486e5f20f1d691cee0023a3e4f6a848b9e16159ce56d776a8c6a70615368941d7dd9b3ec0975a0f3dd393a4ec3e5f7f35845497299e3e87aecacbb372244888f91099290a1f1f36f9a16ae9cb8e4fd8370b7a5b9dcceea697e052587253700b2ab396896a8dbfbb75b10d044da2e32c67944fe1c9df80c364ebf6d572b12a93d4b00befbd777286aff0b3bbcdf1c37583d1ec0af7ec71631b70ce313f9d3d6311893647d1b9019e3a644156fde6034da1a1d7fbe9953bfc7834c0ca548ee92ca401508e29942700753115926e2af3090d86b6e3df1bbfa7a1c5ce5b60006a21c875d5d2813b970472ff5e54fee71b4339e240614dad8eed8317906010865f23244f871284ac1967e4c68155285f7d1a03cf93cd70365ce57f90cb187249de1f7ca8fec3ed17e691cc78920fbad682459c534250375fd787b7bed7d04ddb56129836f53d1cfc7564a23a60ff14492c2945f7ce13a98f45009a180c9e42df5ea54dadca9a9d8df72735e03e99aefe06588b67d5cc9be2ff7148917ab454d243a2c56c3cc0bc352a97e4290a0f9f3f2127c32b3b7b92e46f9bf790b65072530fdb09df2f8c0d933828cabfe059d62f2b6f622571302052fd52ee5b01600af9c7a0b18f01808848dba6a9052075c1f85c03196cd8321a44d1d7fc74cb2a3f9dce7b81a9e51003958f2b4ba479f7caba645c036fccf2eac943a87615062d729fc69751b3d5ee86586d93aac0f69108ce936168fe3154e964b75a31a6387472fad071adf2bd3e5ed7dca87d200ecb0c12ad3d83fde97197508fb1b4140b4972b1c4ea2432018b9e116c1ec8d82b131db6802ca954b39a21f91a4935651321720e79e4605df48002ec961e2e0ee639c87d95ca3c39eba878bd5284e59db25971f1250b3e2f9e0e2feaad9706e7b84d9379fe5923a7a10de458c05a8740ba7331b2ae50a6cf0034643b8d9b380672122cc570defd3e1f2056ca28bd2b7cb8537231869bfb067db2d9924452feffc8a845bc8440e271b2a4902e051dba84696c72fd4a81e989c1ef4cd7910c4a106a5033cee707cf2a3cfeb77c16528375496c72302dcb3f9a4b39638d78b91f206f0e36f6f3c3ae822bc797ee49f3c0e2d5da44c3813a824458eaf2156b243b42e590a7b8a8709becebe96c83d45ffbfb90e601a0816773eccf79f2c55d25d3bd3d2e29c3b2acab9713b87d5aca496d013c513f1db1723844399775ca1205057e70682b99360f8c67b1e60e7caaa88cd5287972bdd33095e32458f3a70696b38c9e5c530d852473aee9dbc52032a5e9d2f36272b9e6a0b693442ec3c177c61580a525ff45530f788deffe1c9afe9c4e8c4b40723fd78c974960e5cf1c2e9193b793dfa6626b9fb13822ff8c841fff8d6d276a72a1f16c8276e8f511aa32a8c88c4000f02821b9dc935f7595d76444be3f7e0772cd3d213ba87fa28477a664125cf400bc2a82e7ef9b9f08d0b9a6edaafb9ed272b17bdd59e6e979c50b67d3d908750cf971390ade34b6189b387d5a8d684f05727e752aa84189e4118d32e393f8fce1b015e6882fcee5807f28db701a0dcac90787a15f60e4983e361318768f584ddc089793c53cb53972dcff1fb2401ffcdb72bfb490b552acc271bb95a8d340b60000936fea4c276eff7a8b750a5f62422f721f0d59b394eccf4856bce333dfc47c08fa8af3b513aaccf49ea598d030c09072c7259e1632b81aa07014afc73ca67e49ba5c04fdf8812bed5943bee443b2c204a7cd15503bc3224afc2c4ecbc3891357ab96521a3c1697452c8c0e2752ec0b026311361f69e2db2d8f6c5c32aa5b4d78554d71cc0768a21ee0aff9121c40eb72f3885d800e9170f0889977ed71cc0570df5e397e3a34ecb668197702484a9d4ec7cd64db02b2130d7a35c3219acf34cf350af7235abacafcac2451691f027d72a1fcb8bac9625388030e0e1807cd9ee2d67113ef38767e304338f22a7e862e26eed8a437e9bf762b56a13cbbc20d944a99a2cd6ac547a979b215a3d96af9320817219ca1c258d97c3be7803f931e5e2b03dd3440166f9e648feb7781f7e9fc3bb3efd2d09e53ee1a6e64efbf9e5351f2e2778dc579ff1badcb9ebdb46c04f32d4b4d2841a7067937bf9160451b06b28ba65cec291e11d2d04809085a22b5c710353c117bc56fe5c119d637de5d26ef954d31fa3db31a949ad4eda0f1541e5b724c3c15ba80eb99a3e01929db3204fbac6136fa7c9931f068ce34642f9478fa7290f4e3ba4e8347b1e5847374f177f34fb41d82529589aea62731901ffbac6720cffc5659e5c5f428c15539c8914a7ae7ca6ab03aa0bd4b50d34a6f0a1f0bb529d45674734639ffeadad86fae8c89affb96aa4ffd7e8705d46ebf53485e857272b7015720c4bf43f1d65eaa605b41dd4cdce09a54766c4e701abcaea8bd5dee723705d3b35f27c33ce8edb8419250d48af8f60c0ac6ab3fbe00ada18d9accf972e37637ba562d03347f4c06e781f0e845501ea69e11e3442ab0ece56f96e1a41c682a3b06c0c43110c91af682d88ca026f488758f7b81f30789ecb6e4590943721bcd497180f87413fa63bacb517f57dae7565c1eb2b282a7f1d31f80c4d3e67232d43ccdcfdff789e33660a1d3bb3ed7e2bf80efd3db6e3017705ec0f4821b72ba82d2fc214ac65083f9b5eab387e976f4e140fe9c5598a1b2b3c3a30bb7992c4b8722ac16d04287fa6d2b98b4eb3f22c82f6092c3e2c1a92b2f20fd3f339c72ae6b559005965345ed9ba64bcecf4a0829f503cdb129328fe924bda6beebcc1f8032f82d8b0cf100bd4d7ab07a8ee4811f698324e160f982adfa27878dabc87204e90854f987264460387eeeeb88b912d9488ad87bedb46cc0e249de8777cc657ec9061c0cd2dcd5f067e761e7155af8c2d5c9996eae57df5c627caf847f3472b1f47a2c568b5e811a61e7ad8fea7521fa3c9019c2345c44a7361c7f076e7e7280b0f09b14ed9763b5f95b1d32fa33327a772faeb68f826ec7ab6251c006f4721838ffc584f403bec911e647b378c9ef02032dccaeb2696a40e33d712dbfc11a08389a58041f4121b887d768c711c20289b5e71bb1ad54b569d89fdaeace1a72c15b8b8f64822126789486f0eb87f2b93c0d877780db8781b2d5caf812f15772e91023efd64b3840b044b9a0fff633b092713f078f16900294008d25eecf41723d3665c3af529b31eb11425994c05e81786209396c9d8527e32b1985f67cb0413375108fb83a3fbc656735ec3888d500686a23fdb1568eddcacfc36eaa984348480c465f24d3fe3e61bbb1cf3bf8c9e46557464912ee931a4a837fc130980d4b6b70221dda163069abf3ae3872d520e99776701989edee69d1e7a8957ae25d72069f412157e05c81dfb15063374c6381276dbed162a487444c48ab0ff84d21728717fa25ef4a266fab3f8572c98bfbc787ae1fddf96f3a95ac0ddaac31a17d72265a345685caa9e57c1cab9a18799b91432a240af6f07ca40498eb81918786624f7aea56534000491e209212588579daa849a2dc43cd2a77051c3802d99dea4087a52ca40d372a5cc8b3f4346c81120a2f0a54280454b95bb75d769d25fe8e72d8ccf9509d1d3c3fc0552bb5a6b8c618a3b52e8f40f95ac0cedf6c97714c5f72923acff28649fdbfb05a6b04c92f25ab698c0b7139f2e6d4aa01224d74cb1e72f3db3458443c0d8b56469f85952e5968fc80f221ae9c2c76b48321fab71c21331d01477ad1abaa247d1fa871da372638e6d4a6a051b2d262f2efe077ac04843a93e08cf67d641e8edd235083d9a3f3ef34ee3c7d9a05f945a993d9957461b65c4eb39731e47064fff1d3a2b2cf1844f133f8c930f801fd2929d1a274403ef7726a6cba7ca892d840d3066562404a5d82c145f6f69f5fe20c69134ea0988de572e780d9b86a34f78dd3c990eec79367d4cce94b97321342db2554e2294f54a83be624a3cbaa91c6289427a17a9c4f100ece4a563221b68a11b5bcfe56b3059772cb8f75464899fe4b8d9057168cc2b33855fd995b0e899c82007e9674c704ee72b1326d86d09882ec5aa46671f18c50a0e3910deb88f1c89767dbf8cb837dd472af86099cf4701d3a89c1bf313faffaa2bc342c3b8050e931a50fd2ce3066215d8fc2a6c5e849a8cdc46b8bb227dd40f5481b5e7769a6888e86db254fcaf96e72864090eab1d5862481e7bbd09d895a6c56845a63ebdce9e4261653a9d3015f5085bfe8d4bf817a987f81903777b80c714e5810cb987cec11a45cee30d3fbe972d42d86307d7dfb44ae92b920397b48da849014970ab435d729eb8ef1ea97e372bced079ae26aa2a5d68043f96016198d2ed18c6cbb0f5196a529c4689caa4957c095876d5e5470d196897f870e1d623d69f596bebc5026fb87e4dde17730d3726bc825f7af49b14b4702f5946a6a7cc955c7c38dca7f00e3854f23c0bb15b50b80c00ec0c68d6c4ff77c5043908f1f475cddc098b8b22add83021255741bb56c05b2167b958d16f956ec1dca168e17d8f2cabddf84d6984ced5298e12da07c000572a7aeeb261b8e1f1f01b3251ebbd42e3e47e5496d90a324d80832b4a97372d1c33901cf3d052ae1b9785d121748590e78d7a6d948791b09894d13e2285172de010139f6b1ff800b5cb42edee6eab91963f9aee9c28bb2856700b361987372bdc86f44bcb236cf62721ca377e285d3a45de162f3c91b54e3d5082f85eca672c9091f12f29790ae8ef1871fc750429ea966d42571a7520645b6f45779ae6755b0c4b91b8da7157c3d8181670d66277357a04abe87aeecf679388d913df71a723545aaf3690b89e18322569e0dfc7e395e7a636b18d6ec9785f7c8cc1dda1672e7c4531d9a480825e703a10c9bc3d4ffeddb1c398d84289ce78ff1030164e972e68cb2c6216b8d62b4403b085542a4adcd452d2727aea838001d6e55c148e7661bf38fc89bb064fd39aa981edc191c9359b29a898e56e5ab85b057b59816716b3e14a327540bd4b233028b8c34f921b727f22bc6fd1d0da80007299c416cbf72eb41447f3e4e65a581e49a26c995f4d02402e3d29759fff77369ff423c33d05b06eb9f13bca0180f7b62f13efb3dcf9c7f29f4266794d1180c08e82ef24df172c35112cf6422ea34b1227bf7d925c88b3c238ebc1ebf95b25e2897c94410991e3db78b34f8f28a13eb2e5bba8525df86cea66c30fafd389d5f1854bbb4947b720c6c4d61c380289af91ec28cc2c333cdce2e51befa289c87454fc01f8869bd63c4e478893b31d5a656f97261c4ae0bc7dec9805179ffa54f3d8febe9681e527295fccc8263ae14da25a30da2cf5e6346caa105e26934e1255b3d44fef42730723d7cb15ad71bb78aaec079354fcd7940947286b4270497f5607898d349493272098a868823f45fca6dce8d89419f7a16cc5d3f494ae02dfc7ee7ba2db19bec169990d648aeae33351edc76cd89ee4fdf02ecd25b4ddea8184639ef3dfe935d723c4b50cfcb90af99c01f3679a201651a6ef3c41b46c8dc3d0010a463d7eb3f72858300cc4f128f1af3d95e7e94f6a4b2d4559f0986d4c3e15c7fcb49a61d07726fc1cddae8e4b48da7ba1ce6aa52d589685e0e3de0737fe324b3f86533201270bf3d055115af99616f902fa03202af1137b01621abf063e9e374640653f9524b48610aaa0282de379805f50cd534cf53b3e60e69b86e611b1d812b5ac5bc3144d88c9568100fc3fd5dc6e6b1f8c3cb6e8f49fb7bd44b5c3d85e75dea1990547274063377e235687fb9700d8efa086222cc89c7a839c2a7a77c15142c4090ea5d6747bd5440b099ee9bb79edf6d6457ea64bdba71b1df8b75f3e8782260439c47dee62a0f47732847ff5ad656f45796a1f51bb704f8ebb4c0379c03eb667b2c6cfdb2e9636dedaa0e3a6c555735ff6b66d2314c5713432cb5e4e74ef5df7da1193c96f4fdbaa7d58150e5c38b578b898bc179329dd822750b05ef8f211c80ae72ca1bf889beee89b7f6de3c551163f064d830cedd17b1abb792fd37f35c68ff14a17ffdf71893c3f29bb528f426ea6376230372c668a6515f5cbbb9b8b8606572514c28bed6b54beab67f9a501c41276dc1154038a2755a859eb782910ab43f72e281f6af0951815a9e59a245fbee304ed6020b91f2f38c285ddfdec55b50f91fefc99b42dbf1f4d5c06dfa089945058f646f4d238fb90217e06aae4d0e9d6372afad0938a2e0198c095d666f4107328132a7bba6aaf6ec3817e643e24abce00321a1ee9c794b8dfee4996b954ade8d0b5697bbfda7463069e34eeb77aa3fed72bb1951a00357001672672b185e48faaf80421d58895af71b820eff94b78ff8725e284acddc37f053dda847b3ea84a35d1192feafc5447a420385d35a017334473b43494ca68092ae12f919c7657a04115cd36aebb0d46a8b5bed8f450c5fa8727dbfb4474fc6e4043969fa56219adbcdb76ffd3dbfa82400d2190b8046f59d2ade94a66d257b6a1eca512eb73994842f612b0b5cb05fe6d83b789663baa10e72170b84ec2e1fdc1dee42be5518ec28219be9b333a058f939bdc963f47cdac27262e35c8ee88f6ca6c46588390508b1c57dc67ec024b6fb9e3e1fea6bfc97e6137afcaaa59b38f2d3a1cca7d3f4b80cd0132731561018ed67ae514ccf1566ec7274afb09647444571626e95d589d5c62677c0f6cb19a48e9e9a9c087b95a9a8725643042c207ca2588808838197b5882caf247f4f6484a9685662034cc3098772afe80846cd8fd6f4985dbc5a259eb50676f0343acbda88c443324a034297be7257f28beba22f6ec03a5482358052d8fefba2b5102cc4fab427beeefcb65e6440a0416265f5a9880414d78fd0b69a265afb7a6c184d1713baa6bd223c0f9180720a028a379f89e05c4128d0bd9c60e09a9d6bf3825df0ae24812b05e59290da6b96dad1b095085f7b17307c4fcf644a1a563d3ace8f93ecc24ff996aa0ecf4a72e421a9d16d427785f629e3c5fa172dd007902e9983f9db7a0b50452be34bd572ec0f4316c8774286ead0024c8607f9797c8c79fa14c72f507f2929a73282c46099555ff828c4f5cede80fe105d777dc7fc94f624207d8487ff593bacc8158428fa6c6992fbcbac51cd5f5233210cdfd45c75603b4f6f629b9b99d0581ce2de0ed9ff0bfd635642185ac842028224b9b0dd2de25ae90592ac13924cabc8315915215396a9f9288a5f3c26ff0dec83481f42965cd6540cbc6b1697120ad0b4cd60df7398e97966264cff82b935d802495725bf6714ae995ce67e097d1f6c482a724cae56544c607d6314999750dacb4f5147274915790cb962761a6b1911231a7269fb813393fb28501b25bb9a951cadeb1911a18176e30fcb2878c3806f263a72951f7e5c0384a050c8b8f74f554af80ab56dc299b77f34238d9b829bed883a5f97438f5e88319abf065023d9416c170b9184bce42b505028f9c18b8c56f7da72c2f2cfaa966aa395f926c11a5650dc91f06abf913251ccbe98942e90b84f6f7273f41b5f58b24960cc7224d4104414c6e9241c8d10859747346d95a469ce12729532fe9a124d4429b5da32e248b1780beec53a310b5ded60ca423337d0c36772c8ffbb55beb3c196b59b3ab1df00fd4c5cb63c5a5597abbe117c5c046e02fa72b1e224fc8f2e77e3420d18c1733ddfa108c62b64e852510ec61fb7a95fe5b972a0711194e733b2b32345cd682f5e08a4b57510306d3e3988b9e90653f4ddc67289940ffba8d4ae4a5a8e75f7bac4446a94587ddc79e182539d874fa75bf4c07283cffb9430836c595dd33021be04e413f533f97c5d3d10cada87ffd60c2fdc72388bd0f31a67c0e9af016ff98e64cd3081d160c79c34d145a80ddae6cd10ff72c40602583d371d406a09591c2f791538bef0b850b6c47374769412fb2804d6720ec137bdfa3bcebda6c2d1cd6f8a5d9ec703abdd60a18a1d3ee3b1b7c1e00e7235e6f99727b33a95987d24d1347a5aaecbd660e41664e47f995b926ba5599672bb3d50a4bc88ead76ea69e03d2de6da8748255754e323f888cbf859d81e9a172fc014cdcb1618a4e209ca4925e724021928b937a4b85e799e44e644aef2ab1723ece5974e73bab9945348ed4815cea300e1b3d8204ca19194d00e94ea16d1d01e6a8915fac55295f90d00c09fb1cdd2b914ffa5e89f22ef3a3202a148d7437585c8365b989b5566c1cc4ae2e4964627bc0036d9badc8b3554f68a876c6746f60d919e8acfab5c4a188f6ce47917352e37d6d934596303a388b37f2f1e58cdb727d9d4e184f811b431aab44f9cb0d015b49cbce1ffc5420ba032117dd72c0de02475e9d885df5436b286a222559e0d74bf6c17948d76f6510b6f140fe06a2fb6ab1ed376d26e93a1be7a740bdb36010ccaa145af63fc3c8d2ff70d4838ad15b72790b7e5e1ef164da0444c1d2f92f716b6071fa91af2538db509d2b085bff67726875ce20fe75450e992ad7a0d1d515b7786ad0b107e5077f6eb7328b06e79333722e7a9f5016171980a8608ee39e7b02047f2b33583a6c502fb3d1418a58c50d94d17a06eb85c7ed8b567fe23432f5381342a80ad0291c07f40bea5170c87206772e877e680868b56300fe56b16bf40b0858410343fe97d4116c093de2606172879a2c8978638bc2f181a71eff6b250a85e96e9190f963946b9547d0cd3d6772ddf6fd69a011ef9e5d70e3d9789f40ea952c1172a109876aa32e9eefae95f772d2478e0a549864a0ef880103b4a76c48568d4a716546c393ee874794a5cd887227525e9db615ff1d8e0d71ac7b9d466327a6b2f7bccb5e697842ada68a47317299e60a749f1e020ac3d6d102d822a3784a8571f4b351d0062c8a89378e3a3a541e1f0967b6c8894125cc31e8aa5adea09ef104172ef728436ed9bc97df5a3b720dd6c1cfcfc7f1f345d7430302996a14746cf060f1f388b7542949b07a8da47209657fd72c65166500f6908b8d00ae252b13def577f06968c13c334b2323b472cc13ced8c68423cb6554e2fe8c71daa6b5d48b77208e661c02022652a4faed729acc57c048fa58ea7b33e4476abe6fff2be882bb405bc5b0125abfabb542cb725f70e01977566c1351573a5d9cc67d7e83487cd3c8e522ac6e41b08e7744ac7210b4fe1b1da18d139cc7b70a2afaf21278f174555aa0f1ff02bc3c2b15cd7c63158ae731763f40beaf8e4e4691a8202aa5b04b10a5205163441570cdb35f3a720b1052c6b19ee7193956dc6f89ad55e4049bf2b2ac4369d72f18a39bef3f0019fd0ca113941df064922b0667578ca1556a3d2646d81983d5d0171983b6524b725d2b920322e1d3b78a37740518fdad60681269adee7d39a5b93b32589f329c728114eaa11bc8684f9726eae8d24a7364883a4d47a9ab987bbfb87ab9e82b4372a2184e67b9b3b640556256c4beb5e1a418b3674f07ac9f67b65b5404246cac41b80ea09179bc633843a6075a87629c27dac31d3b7422c61742f710af029ae844b465d5f2063239d281b9296f5bd00df0d3d56cda0027a15ada67ade06670a913174d51d5bff3ae61086e1a7b057cea3de4cdf55b12ef6505b8406deff0b8357214603c24a236a78cd7c88f9f0a59f66a1ab83d3fa25afa82fc1185a61ddeb56655c5c4c589874b3dd110ca45eba72daff7819a9de104ca3ae2bb68bb20eb89729bbabb40b9be2ddb25c0acfd1a91d3daa1efba0049880297d8c7378b96e34e72d2458599b8ff5d72ae4a5da08ba30e4dd8d951d1421078f5977febccdc297c724d0081b6552f1ed99b5275e1b9781c807f6844203c0220df40aef239f0d911728774af667e586b7055a5afdd7af4f06caee986bade6bd7e7927ae574798a7f656ab41353206fa5a7481b0a02563b9c0f191a7deb7e27446954448097e05ce14b14d5405012a561d8c50b829fd148437f590850997afffd420e86c86b30393572ba79ff12aec0da4e4f3356e34e6067b503e34b3f4eb40e02d8c93b85954a337246542e758d2e7e9c9d96ccf28599369fdd1b3222fe076b6414c5447adbc67b1ec394f4dd2aa17f2720fbca2d172c175418de4c1f6de24c40826542cc4449a904ab04971de41ff2f7a50718ecc718d6c2226b93efc1d4e9e29762fe109b10c61eea6dd6fdd9acac7ca59d21cff090282be199af4239daee0327b19cf246b3a00228c482fd050ccf892629de2327c98c18fce6704cbb7967811295a8f4ca560072591c362f4c1c79b443e3b082f7b40f95b3e3b01bada6520d1e1de53675718a72b6920c6f6194af8d33d113203f00a2e7a13818e18cb5c170e92b433e1d3bf372c627c8899303a893c42b10c3002175e0128f953990fa024676677d84c94088256effcdc8c9d51c1a2bf6f3f36f0e413bdd67452851f9e0e05ed1924b5e856772e391add09f7e44c5eb2e4d9637214eaf08cb81895e37d6f3fce7ca4bb595e915e3537d5b4b762803525764f36b6b3bfe9c56c2c5699f4cdc9da43778898f562f4f94418a1fe6308ea23b33f93004c8d991a92a932d92c9437f4be0553330647271ca67d65a2e72383814ab69376bdc7c073d71e2f13f04888c4aa2b006b73d724aa0beb24b25bd6820f5e1fb5f2efa594687d07bc20f7a3e753aa2930b0c3409c12640d73ec86a50565c455a7585f4aa28c5bb38bd7043a2eca05d72b63f45725daaf578f56cd79ef182fa97d04e023d75b200a3418576921e5aa46c2d118d72febdf8ae27690abeaffca829b203507dd006ed18363a748f06ee7cddc1130a3724bace5f1ba2005ce97cfa417e2b90f1954413f610dc7241b9a5fae12b95032af9e3976ada64ea8aaed87111b51611b9cf866b1dcf7ffff3d010d8b6777088724ffc9daabd4c1917668285179ca1db014ec3fdd0cc4d57c787e4ed0c71b6c472d2cc2342bbc33aef5928c5187252393028d0cfba555eed7b07a51c6b5bfc9172c6067938c334c65e6d0d10b8d0ea71ad366f35be57054468d347a1922be4802c482bafea8d319b0f446e8d8d1fc9171cef03bd842ddcdc58104bfb1e4f191072350dca58169f5a95c98e213d8d1e49de2fdd25aea6fb4d5b7fbed77545157a10e6e6851e24eec4aec8f194dbabdb03606a1d2f6bab4a41131dfebf2fd8fe6f72841dfc778ec40faf4344b0df29be31f68577ac59a42e217d96b7899d2b07a211db48878b3ff2b6e91f74654b84c8bf1fbab4357029e5538dc515f0beeba43c0f7fdb2c5f5df505a6d5cde67e3a48dafdd3a335f8f61d3d0ebc37997185881c44cc7e7d1a114ed083e0269eac39b33544389bc36ef3ce0131a32bf514d21ebd1b5dffdcd71c7c68697693a06f77c7699a5120e172d09ae6a0a0f80850fd1a6a66f7ff84d3158a9ff28eced8395b71ce524c68192a4ace1952f63588290e004a72551a6d300476c83c7a7b44a2c797090151099fbcb9a122b16fd6c0329c99a872dafc6e322909a148815fac4085ff29545f673f7ef223b50bdfd17545f1d321720e92fcc643c7895a41bc62faa62e9daa6b8a4614dede7bc61c5b111904b82f7218baea6041f469f61ff5becb3a75154b327238239467df4ed9f026f9cb86a57265c922ba1caec50bf0a278d8eaf95ed8a79984e6707ea73026177416cb1a2500d2062153249c5982fd56da8d03f15c842aa7fd5ff239af4038e58499997cab20037d172e2382b30d5e84d8d07b8c5e829d654b2d0cb674a71315f1f80bab5d72a0aeb06b065fdaa9e141f67c771e9a8db38fffd9b10d63acfffabb3886fd2e1e4ff0fa7995a7d44924fed93c199d6fb479fa2f320a8e6197c3fc817421d42a3c16795a58b4f89d8b747dedf7bc4864474b9b8a240e7da0c0fc8b8d60b79817723855d153a96e05ac1da957593e4b1464dcda42a3520f1556340bacc4d5f3fa725e5bde58996552299ad50b4920452e168555f7f5dfe401df57ec669726425e1f4617ba24c350d701e64f5f00fbc85104e886d636af1ce106790457b68bfb475ad9f9d6beb9e58fbc90cc558993ff8f963b9a867d7f92196d952e252ff8b5ee1a46a29c919c431d879dfdbc50c662486f4a8bdcd3c56ff4e6b9e3cdde4803005c25b007c81f174cff2eabdd410635e5a44f1435d501046f2926df9702a7442b6097d4947498d15a0e9d95b9c26f3071ed7c2564ece01aab35a444d1f380dc4672faec0568822cad4e2a1c8e7332cf1f21e54ffc159ddd420c228a2a35a202357240053f4ea2ec95772f3134007a05a04f079da84823586bd5e62b880dd86ff0507f29db38d99cf60f090f47a9f52ac2b54225c34008e773b6797265bb1da6b4727f150f81417ded7601fe0b57b534b89f0f1bbfe3b188399d64ad0cf0229565073892df0cef366e8c0177ac3c34bd1e7d303c502914bf0500b9beb5ccfebad87243899a0b1a09bb34286ea783d0b7a2d37af32b2a797d24cd182fe39c9e4f5372f62d408d7055ca1dc7661edfb480fea28e545bdc645aae79fe9c51e639b0d372d5a47cc079f0cc3c10fa0bc6b30b25db0980f3588d2ffe708012e5d3c48afb1c0da9b4f2fdb53356bb0d011a3ff6cd9d55d801b139112bbf8ac059cdfffd2572ee8f798c11b54d0150c60190470ffb3840161f91f57def2c0ddefb4fc337473f5dc823079d33f536ba0a39ec3e5be086e69b1d242f15c73a1025270cdaf205721f853ceb7996e9e3b2d6dae184d5dbd3009a0b6dc2c370dcb9d13151aa11b372c6570e2d6b1bb469bdcca3140c007df0f523b08b9b53a3015357575e7e864e405739accf4a1cdc188007b6b2e699c45dbdb8268051cb11635929baa744fa737257cb9b2841a8367219755d73cf257ca1d03264a880eef2eb3bacc02b3825657221c0de9ed960b3542284682abd15669fd606e73db9df683eee69a27e16da9d72000fd815d1faaaf72d9c0c8f4b25652ebd2c493eb462fea76440297ef2404670e6c43fd700c8c7aee581d926b1609824154ab2f5c40f08b35c87d5b386b43072a7e2ffdccf8b0780534c04f4a1b7b5c5f2ce8e85da7fc8cbbc9d38f72fd54472953cd71f2a4e153bb12d614e80e1fca9a1928cf1c459fc1f2b49b23c01fc2f723b1ed0e9927c4e28039dfc88f0d59f233ef26746186e90a83f08d8e78615f7661107ff9a167a1fd2b8cfa21d563476fbcd344a2dca3571c3e77bc3d8ba7d19721bbd52e41c175198f0563dfc56932ae8ef0ba441fc94b607ce5679f9ce9a987201355734ab413b32235e668027ee2a2e3847a2248d863cdcb902edf9c576cf38f701a4849686037faab1ff01e027f05e0d0aeda8166fb09826eb05a1f9bb147287ed0a0d613bee409031376587534963ef132e1670b46263a54fe73dae54693c7b9c2808671f2adbb44e73bb301af75a81a766e741a1769852bc47150a51e1723f35dfff024197f7f30850db8182a3d8b1faff964bcd8d47a5806c471dcaeb723e44c866dcf5a609e4b72416fcb59eee5ed0b4ee5a74e869043b69f020a8e25020145584f5c490c93eb9232930afa7c03ae36b74412889e4bee4aadb308f221424323f48ac32e0ff692fca3aeb7a99ed8465083b92a059810ca1e8a06df4d6726a1b286d39ddcd32e641dd13d96806c4e828720ad3241bf08a9c8386567c0172b9a4df99cdfbef794a80e08add484e118132bd8f81c756719e6b7c8a8998dc31b079e349aae7735f0c51cbaff614a2d482c5a991bdb41c1b40f12b4b5278c167681b436883197af352646ee9d2baf0ad36af2741557207c6ee37fe8c4fd8cb66265b9595186a4adf8cb5703fcf7fe09b9c0cabb8150c33f2072140481ba0f3654311f31caa8862f91f0d6223557dcfaef06d1369bd3c11cfe20f3f93441cca1a622e0557f438e75593a7972fcd9f175cfdd6e67849c5e508197f88f57569e272a8a42f3a16c3b18af6c89621ef9d571eeb2fba5e15510d800f58dbb94896c55f310de66c8892e8c1b31f53bf93be4fe5751f9cada6ca37a22b448dad728e6e724234e7962f9b1a39c83d72abf94c5915300b2939d1a2ed79f615f42565ebbb724b2f0e2fbae32a3b3885697482eb5b2503518659d1020dc488243f4d65e49e5211cc0c71a47d43e9e40721c3b81135ac750888f1038e34f9e7faffb92c912f728331835f876312c0e3377d3cbe0a39b1dc8d7240ced8458c936e01e31f3e317229ef82ba5fd17b844805e04a89a3af1490aba64c8fd835879992cb6da9f23f7226ef183f6e69a70342593d43dfaf3fd05490c8ef292d7e289a7adce89fc8ef47f8a1d020b271e3eb8024ab20c6d5e00dd95fdce5856f4dd141f7cfedf02c994147ba8b371d4967159a986d3fe626fc61df059c95d9839529658f28b35bcac91653180add08866a8c888df579ff8cabb56bef8c5cb85d527cbc51ebc83db9e62d469c0e2494e6472ca551e34cd1709b4efa418cb9befdde12ace1b0db2506164c84a95fbf9a6d27442101218408c1ce812c47d606bb9e817127202ffded280172d4699527c70068249de2721abefa4da6de4fe6788f73a2807af6bed4344db44eed46e1ce3fb82351a59be2daf5319a2bfe88e08ddd170ac946d67081005c7872902acf5ea695e7c3a3a863d64b934430047914c9bc9c8bd4e6ce845ac99e100d8ca54c6e53f7643a2a13bb260b466623a581807c9823cc017fb6497497afae72c6b2cf5577f233811b50e15b184af5af24cc50095d320047ed97b1c23f199872cd7ed2ed98bc01fb9344fa4a978307282ed65029e4ee2dce2ab8351c8bd2f042bd09ff61674df6cf578ae4604741c14621d58ef278ba056dd45e41e3e8b60f72f7ff930de4c11b124d1fe04f3c18f26d1cbd788ab54b2c69ea0bd79c0a2afb72f45d0af36cc8f0671a5cdbb57784c88cbd5797e60665432e09ddf42e9ad0cf725f41494f614586405ad25cf5d6fb3197b33fe58ee1849287506fc5a8f854e22ad140ed73e4ea17cd55cac1243ec7605653705dde7e62f4b7d1f9553e782c1b430469d3cd9bd973792934df41d5e979b054f98c26bebe7493372becd3a4814272044651d30ffe98f025e686004d1e6d719d36c2997f1005a0be2476d90b34776b60823bbbebda024bd74984ee2e09e2e8be733d9715b22862f6b27f1c4b2b8f728e8278d4da8020a35b3655fa89f395adf11256256945277d488008b4e7bf9a72c339c158226d457702dbfd33946aa1dc37279d3f1393c53ef1f0d82fc21241132edd3aaa2dbc13c505b215a7c33c5f1930ecad8a8f487a71ddbf7f59cac5e038533480d775091f3cbd99272e2fce5388e38a84c633799747bdc0cd1f93bc23723458e49a5ecbfeaa8246f80f47c149b34df99f2956cc420c61b7590fa67b2d324bf6b9613bf5b5f2861275a476310802fe2bf8cfc5a1cedb7728a20b0491ed724f77826dc03dbc9b63130fca1a20697790653afd11baa7a235938a06f4dd3e72a5fd334694083150715335a4a702bd30e21ea5c696733a7563f9f757830203283c2853b7a3cb2c63452a2d31243d4ea0c7f4d4696d38d917fb17360b4a410a725fb3a539c1cebee1cfd278ae17af99e3a0e54a2aeb9cc08521caa8cc9b34ba00dd66cf7cc60b01ff101315c0338513cca1c4774f73af75583e077d71fc77f972f9a6155d3c5458c32c095ac8dee743ef05903484e2c461ef50c7155be6c9651c1fb168c0c79eb15ce36f49858cab10ba4bf7fe63c19170a08541eca9fa3bd872ce2ece0ce85fd3f11ecf975455dff3eebc881e4529676046c45c12eecde79b72b6dd33f792a01c5bb8d81c123447b00923822f609f56528dd9780b1736d8ca3ea8e920dce05881e37cde2938d5862f5e872ad395f9312942920594fa5aca6c72086c561c638524d0bc8d06c46bf3af4ba7f9a89265f520135174bb84561c2f65afe4c08ee61973e906dadb04cb8089756e14f156119bbb27750ccdc3aa5c2272369d3a804e911d9f2813338251d38e72047d53943b6b6e8c58dd712375667b25e0c52c1ec1d003ce092456d9a17102cf0503211b93e7efdbf5ef694721aa7f09008928c2f6f52c69b101321e6ba71ff0c9dd31d4fe945cbac99318ac9f9920728a9665d4a93008edb835e168c3de01b13b536a5c8807c2cb0b6c17ea10b25672dc50b0c882d5f4bbf26c3ed9db31d886fe29b6533ad37e4b24de747abc309414e002ccad47df9deeac262700e73d4b0cb1c3df7f81560283ca4e72afbeabf6724bfe5414a4e5cd6bda8a5ec9336776ac83d422e4e6b91bf9bdfe747b1b438772e82b6413665a02ece978b638cb58ce5fcd2ffab040e67329206f5c21eb9fb07277de47f427e7dfe7f5a805a4663b89386af6cd03ca491de4e878cd922170a80b2a4cf46568c6403d93b416bfe3cd3dabe4b6dfe9fb710cbbb4f4149f451eab58d53d007b3886da6b1f2e761c34e809814f09cabfdc4c1bbce32a5856e9d0e272f6dade1c308047041b421f0de58c99313758a3eb10d4076e74d6d5c68f93cf72da890e9dc7c5b2d9caf631cfbc6e6114cfa25818afd465a32092afdd623c5434c426b5d0cf549d30a703bdaa562972a915ec4222555f99f2be92a4a99bfe285cf9ccf9989f83bdead36442574ae727156b6f6635b3be70d5b08acec240452e729a439bb821331f4cfda41903f4a195931553e8c24c96e53a31efec2b67210972dd95b2f95f5c61f539666005f23acc2d745911aeb07cdad59bdedee9f55eeb6affaa9252b43d4597d8178939e139b1e325f018e399c4804d45eba42d70478172c314e05fd082b566a9b69d1834f15186e4de8bcf1b138e9d5f8474860f7d784445da2f47aa6d67c1886f7ba16cfc3e6b6512d5dc2600ec88e0e649654b0334523fab8c26b5e81adb72d053257292ba02f5a3ca78e1eeda48b7eaf44bd96f0a396bc414ee24010cd3535fe455e00ba7d088473c78d6198fffca91e66d022f88729939670f16280409e2aa92b7c762e049580119c9e751e50b64d7bedabb7b8d7221c381d7b252362350e72a261a0abe22604b4f261535a27019fc0d1130c493721496e3761454fab874f1f68f54164e699e323271c23af6c7402ae4a11eccf56b53b6c12542451b165b10e5d271fc18f360bf3fdfb5919826d34e42981fc6f566f1087f88dfbecfd6685561ff7c122f5d7fd18e78203d73e63bbf6abbb7009c7285f950818f80e348b45f4f751ff7db251ba5b1435199dff07e35c652e1ae6f5b19b5ed749a942e37265e546b12cc5f63441c04d1757d69403a80dd8e49af4d72e95c660c5999bec20c3753c009ae4b35d68ac83861021e09530a4502e8ed5c72ff664ce0499b85d05aa967a2e077848ddbc25e1555b54235c28db4c7fd401b5445e50f80cd0abd4fb8feadf834a76e50dbdc345d2d24417592dab93f08d581727bf1d5b62b0485dfdeb11c9c289ce9d5bc134d801fd295399ed8b71313db9472d964417f0b8f3379cb7cc491c4a0c80232e565e7547a3eb7c8f2466eff592b729b6545e9c3099b61c6df5cba3ad37e0232b8222cd14a2a5e551406968fd6e5725554b4e14733ba6d52005504c58594717521d0b547729d5ac2a1ef77ffa8227276c32a353144cad50787156c1e61d172db9c5170a2f818d128941da6b975414dbbedbf1de4afed166140866656d5700df9955fbf2046f657936cc65a840fc972596f1cde04019b248629729161e90252042a0dbef376d573409b391694059d09b1da8e320b1dbcd9cb550ba0200dbdecfc4fc848eab3a3f0c05298f3bd9baf72309fbe5e0e186a073f2833671c6947c141d79a049f55c1209f06351be4d246728e563634dd42f15dc6c4f826069a322a53164ff941baafdb264852b2572fb5491ecf077c2a4495029710df7c56ea0ec99882638f0a10d69ebd9b26ef67a85a6ad5cdfeea445d3ad0d31cf1b32eddc7dc107ee4ee6c9d58bf676a8e0d1456b672a9d49de81755a55ced67b52482a7a1e1f9253a64e2c76c2819b087f2292d4947027f9f1793f7b09230695f4ddbdb18f7bb4221dc782cb3a6115f5ac55e37b6016fb7788f6d12ebc9d1bc3ba45d1330c8e5b73550c290d550e2299fe4180c8a5c20d016a7b600d79afdfad95b21a4e21e430aff30661562f4b84daa54657d3b725a78d7a7bbdae5ffe37ed8524f198c660a38b276e5d7d958593df63866b2e15d2a5ca741caa1abaf0b60400c23a38cf2dd30933016cf9e45e5526a91685f0044e192e67a1bf692bbd511eb07759712cbaaf26b6f6d7fbbf040f1136e9237543dabfff9aa72b161046dc1204bd1c4aeee616be98f4e879dbef11da49d9b204b3266bb551f3a5d334a0cd151dd1242389b9384f59906f2cbf16df27b9585f7d9725c1d4f582c92491b1dace1238033ba95d2232ff4b07077795033990577ec9a722eb3e54ee50aba1187ad73aac7c56ab4c1503baa2a1d81a91c9c2310e9bde666a9c85bf3a3ec8964016cd949ade712cd25649bb28df2c85a39baaa1140cd9172cd308f647751f01dd3e8b7f97f99fb00482ab99b0808ccb655f0d0fad1ef78726bd4c69e798ce52be7476368cca1d5a6a4f85c238bae690385cb93dca0278c7229c9b7550f8d350b7857b62b92bd58800419ae2964a83de7e9ce83b5b5f37b72d0d5f1c422311d4663982cd31f6fdbd6d0f88e89cbcdc943e06e7bf6e2b7aa72eafb900ade29ab6db3ed01e7191d10c3525bbf65d35c572fb2edc849d6c3e372ea685886e65861b81a5223dc160622a2ac6f299091205bf8d150522dbdc90f3ce33b16bec0e11a60f3288c617b5a148c6de6a58f4d8291de6bfe7c29c7a7ec275905883b2d09d6cec11c3b7d17571bf70a1b5c5ccefd734ed976da499c2f6b720fc1555af3a258d3820ecd06c7b943d510d5dc826cc52982e50c332a7c791e72f6dad80869f6d0b375dafc1a92a3a007b25232f597d640ae688b1a1bacd4d64e333510637bca1b558b62c3008b01e99acd32a0bb8b13dd244feb2603b2ebae721e975a92167da0baa64b11ba8ad96f1c7da02d0761a40d677e2e44be01ac9a727b83c39c6ec23e39a6c242c4a4fb17fefa136c1e56c628810c2146a8c7f8b072e0a61c02b008f5e3c5c69dfe05bd843f7973b6f7a66a03b85f9161fb2b32e7727811ca1fafbc72d509e1571bf899c0f4a2fdd8a12238da6458c32feda71d4b3bee3acd7272df1d6f23952a65027e957e7daa3935b2a1b0de8d7fe73ac348b551f06e5ea63b47409f57f2cb4a937a7164140c050dac71ea50ce132da02a49746ebc4c1f0ce18cbbd7ccee38812b98100bc591425a321717797ab3bd1a32970472a00ffa4c45eb1737bcb8124c054334096602f62a26bad80f81465ad7fcc4b124ebed12a51ad6db5a3536720166c41eb29731e256dac22ad451f831c9903aa872a59ed3ec2fdc1c6400998e72f3bcc2410b7fa03c9adc2a5f12433791294e25727288f0af39488aa8b65d060099c0034fb659551f4736e5c85b1eb6ffb8ffa572b2a26c52191f81841f32d76fd329744bfa5134d57ae8e11d3fce4f4678584472672d8a490e36a834dc4e878fa9048b8ba5b98befb016bda382f9e8d1b338a54f1c94acd44c256fb87952a6c4c238fdfade9e71d97b1ca3b219ff5432a3907a723ec592c14c6357845ca8f6c9999a8cb59327b465ff7f5d1275ff9db42fcd147254373a95a4c80ec3c9e2a85dad313d607141cfe1b4cca07a8a0d1156041d8e082864680314986b5f62c0c707280024e10041b4b1302142876d632b12e248a54b80599298100dc38296a189579918a6bf574e016bb921a4b50150842c40322e2f4bb19ef93027aebe178abe97f9fc940094ed83472da615183c819709be75b8607b17e601d93e31855c6f40c10de63c4b40a119970ca8c0f33214e8dc0e3879721fe3139549f4f436b2f7900a5f90f4510def4574c7e49f8d146920ded1d06f262d3159bdb4dabf86c504958d20e5705376ad5490422d5daf55dcd1a405c14e4f90c26faeb7fbf3da7c55f1fdc2231da6631186ae0bc902c9e81a44597e0d1872be8963581d64e97032720666726820df78484df57131e0a5a72f3fba75c8477254e8b4f6a3e212ccc0219cd47367271706f661444d768b9dc6252f0a5e331872e4b8c5e03bdc58d7ef40cc09b85ab8c20f3e7954be9c7dc61306b7d6a33fde692693fc0498fc228bb9e81942ba577cd99caa90abd21ee3ac59ae1b156f3b2d723f76be91336e8115398b3bf22c9f7596680b96f65757d56a2b8c1b365ad9d1720f28b0a706c4f0526ab8db64424e8f8ecc69f1c344d36e0a923f5875a1c0ca585408d28dc1146540541d55c13662da2cab3fd8dcae0c83e2b236ac746b09ba724558a34fd85b4d10ad325e145d0c9e78fa43dfb9499b3d666d454c94f8c6625587de596752ada2fe1b126be467b6b635c2a3245d64b0189fe1d320fe3a897572117228a18af54aa833a29ffd6405d46d9b01ac1fa0b71efb447055455151f437ae1a5a8b4a2f987fc553c27f25ee2208dbe76f80c5d41cc5e87a8a6ef7354b72572ee8ce88a4af98f9c58bbe44e394515d49e744a521078e19ff7604f68c925bcf469485d28d5f46fe6e48e9723c754f34076de52b78fbf54bdb79280ac27f72a5bc866aece8a264cdf3160eccf6e9ae519535342c7cd4237979b7e70f10312a0761ccaa901df87d66fda6e8f3946ad829cc3cd01f6c10bbe44afd9d691a377245935d1ad81e8320c13c0f90177cef629e1dae1222145d0c09d4fa200d930a702aee9b40188658f84e981a2db02d23ca4171939bc5f4bfa030943e2770ac23721655e89355f9728d6b5e0cb09bcc9506de28b2d919cdbdc2a24d7dc1c8969d71b515452e9f29b1d8b3840aaa4bdfb5e24a72f30405b265ed6c8dd3acb9b00072a894ce4d91c37d32404921954ed3ae3f22e56306d116398ee2aa77ea2e3b3c607b12414b9e6e08a98f7cec8e098c12cce48a91132c648abeb011be506d068372be2cbb9b0b30aef714c255dc956b23df76b1f74577ed280f2c0b2b4563fc6f6bca048b1c7d1a8618be8eaea833723a1348f3d9ef735e070d249e229ee32f58338044469a900c10fb9779b30919cbfc8e63c292afcc417cc7e5f8c9a42528ad7223741a12e6406996b49b75e42e8521a704f3103e34ca6e44a4eeb1cece048972d49ad77455b56f0d0de7453575bc1c56df79b2252ee8387159363b23e976087204572a7e3b9d22a755c34478f575cf120c7ffa880bf8537ef67a8e64158cb472399c20b0c2b5e45ca391dc1c2a391f9f39c9e0d3c7d8030d0d744fcd3436dd72f484769c3229d09434df855828178a205f49141748dbf82d13bd454135eb170a62624a4581d81a363ec352e63769fe47a3dc0d0089ef3ac60961d468b3e33e0bc7d6ca522982fd498a4cf96f5bbc032c775543716ece0ecc142c29a2a1261c72f38768c2261f73e1be520ccb3ff0682ad48d08337da25a4839828d64777c146b415778f53193bc2c3e7e94961c2217d4048238c63eddadcf48354b19b9202f72cede190580e79e01704136438008c9ffd3a705df15fd733ca3afd6e959368572fe39d1d85c9e6a253a4eef12cc6fda55e188ab6e5177c6602c958dd4cb777f67f6c67ddc7e6fbc0fc3e5a0593e859b3f3bf37f5f6c2eecf91f8b448acb9f6a344e19852eddad0e2645800475006690ba92b31f84aecdbcb1b697bc505a21436b2bd34bc98515b2469fc198c169290b6dd321171e34f26863950412372468e60f0ae011b1af83a1e7659024fdfe55f3bd374adbbc392783aeb99742f20d516d6f044d4bec0964adfeb7d223453901d3f3adf2df67f6a2d7e271ec764db2a59905672a498d28679a01728982ab0ecbead5c80b0a5744a8e9e181849e42facbbb282b8d5876aadc87dd393482c2769db3f78a555a17201aab504852d0e4b7a82661c354dc03075f58b28e16cd38850afba7590e1b024e853ce14f067c14dc766d324be030191ab92975ebd19deed114859b9a5d597666c4fc591bf945dae277ac64d8df24f901e34bf116832aafbb3395c8672878019e095d2c2b4f97e1e4755d727fb1ea538296d9820c1dc6b422abc6fb7bafeb80b6292ae58f765e385f6e8c4e95a20b11e523c30d1b07a7ad387262365d6eab3189d499e630a426d768f45c4306ea5ff005946391bff0e176158f9e74d2359a7bec6cf8048d627ad5f5977972a4ac53238db679199e86d180913d36b780a12ecbcb2cefc593d18b7b77210d724d8b124185f9f9c2fae2f513c23d42c22227b49cf3397c4ec99dd059c9d6be72ed1ef45dbb1610930b37e5f39eaed4154a90388b98c97879692797009eb05c4a26bd1b0348fb6d247810ba97aef67d7df223d548306e7f24270019ef4fdd8f727f7a00dab7e5a570618f4d7e56e1e8c02ef3beb7a972e90f92c5e13d0f07314cd381326d68750e5a48f695507a9cccf4f3dca6dd28cb0850efb578028d875e5b22b54a5e448f93ab65c3cfbb6e8b9a5c84d4edd8725b3c2dfb1c095dbc54db722c5185c322dc405d22ac650789a88b05bd79e14f8517e345ce63b5413c40c3727c8b50686e55e83b0206bd7b7fe930bc130de465038684798240f20c068048656e31673e897aea63c82229df1940247ecf68a7843ceb08c2bedcbc4fca854072c17fb516660153bdf026736a337d8d5ed6754c5f660f3c2bb456d4589bc2a17246b170e9465f4a5e192d759bb20b11a0f44757a296f647de84cf190208fd72560611e6c52e1dc5175589817760949213fcf129f4747eb29e30c5da0f42186e72bc9640c797317d4325f27bc1a06f84487331a46f5f04af709dac4c8746147672de1cd14516915f610e2d3dd9d7a94a1f2a39ed79203be7ce2e4b4cf5220e3d0e92d541c3ebe800b3d8ed7954e8cba496524441f5d46091acf692b3bcea0645255d232f688e19215a90d9c26b7aaa0d512c305c519ee8c57bb655338eaa5c337290d15308787858fca5e23643577236131e896657a0ef2ee80d4cf68001af2872a2e53dce55f586e2493a2530f287d0a243602c9823ce6c6aa966506ff1558438fec4313f5a312a0bef74daed559a37c5a263274783bfb9f9d6936a0bf54c2b72d85e084b531c3c02e32daf30c7875d69574846e1200b904fc2c3ee947f86a601752087387f7d5901d384afaa17705e3292af06ec4506d0250c3ab1dd5f793c58815bae66201fdb932cbce2182b35c08269741627a459393b81466e62de731b090cdac6a6d4b5062ad2ce81e6c73c495e1f56eb659dff5feb43523ff8d7b5d47244c969dd26f3d185c248f1dd09546d0ec640ca61dfe554e06bbe87ebfcaacd721caef45c7f6adb7a049386ace229fe1ab02c6993b689a6f843d35a9afc124105dd3ee0c5a52e5044bea370d723704ccdbc820ad2c45dd43e1ff8c2ad21895722270ed173af2a2bb49ba68276d2f17ecb0d58aaf0b69aa7bc7c51c008b4fe0c72dd7d4a90059ab6fbe54bcb0f59f3ce3d694ce93618bd2f298d09113f6f0250726e93e919b5008137f3fdb43c0285d0c6162fa09ffc0ec1cfdd261f2f8f19d130c5c00a6bb4941106f1b10298b7a50fc820fc23b91d36b434a7bc1ff15c02b46eb71d5888cc7995479f6aca376f423e4c59233755016c10adb7e7e19115ee3f659f679b8781847b11e4d7ba807bb8b78fa4992afed0478b37b814bec5638cbc728b47c6f193cb70aa28a7cfd49ca34fe632460968a18f182ecbf98c22abdda172148f4e05b30cdf0bc6fd80604d113aec1f5c260bb605cb2c8b428c966bcd2f72a95d4ad38c8695b4583c1083d8c1ae76b890ec9f22091ecc71daa4ff8b20b37239de3d9eca1fe15dd14076f981c42a9809a2cee4656ca0d1ec7e25082a199572c8502047bb807b388a107b9bc97350d470cc66103d89f62236b7f130096f4056bcd59385373bd4e5789d11b24c22aaa88b82f7f342a7d0d744264a9f47f1f372aad3c211cc43c9c8cdd642a6b56f6f91f03cbf584f1e6abe94aab88ffd375872e24ae74b30b6b67781f45ec611e8db291af9c3cd3267826bcd1860878c31627210f03b8b130de58c25275cc4ad93c3e0a4924700b7217fc9f6138741d205962dd63b4e622b89d2ea95292b453e4e839115d67d9f88798491344e78ce9600622851f9d7b9bfe16789468de68e3c2a7966ced8b6095dd866d5716573e50504c172b029e359ca674a38993a8bccd03f94ce11cb0ee0befbcf8667b184d53380d4564adb57104155bcede4f36e999e1add5e83a5c1c18507ba38ca86e14d4dbd79727f41dc68a3fc068801bdd37eeed96bc23a4e987a335a2e1f7936ae7598c15d72a5975b4a7e50c95b6eb8e4c0de8aa2dd756360a4ad292ce9e11ba947fc89d750e84e57614ef2989c3b236e22057ecda1d32aaf454ac59ea778ff715000980672d6d7c9ff0526ea46f02790ff1e166cac22ae0ade79c71e23fef94dc8035d52726499f924a304f7376ac6b6b66a9557cacffd96d679e0d6ee769f81b38893e61e666c04e97b06aadfbf8ef4f4d65565c1ba5debf4599786f06d6d876de75e6872a9cd03163f68a7763058ead6cf9d2f51c141849f00e7aa6671b461b5afaf515a88d52d790f42c07705641fb11e3e84376579a8384da12efede57b33bb461e04adcf8fba8a89032d396477d61c3119bf18cd7aeab1fa2992cf6524c09198d8663243d1b034532921deba3089a5add62a3fdd70d7e77642b4da25c379c6a0186338f1f9530828e3f071f669b0566362f897f47ee0de77cf6e3478f28caeefa3837d7be3489fe1e4dcdcd41a70fa475372cf7937bbf0cd4a4dc6d80ba5a1835a4726ad6c1da9572519e2dc6656c71aa88e99c5161de6efd153f5a48236c01a7c20eee70e1c6a13fc955ff73fadba5c52ce4734c1ea8e79a9f91240247ff4f5aef72f59a3d1f7d4dc716dfcac65fb2519a08382301e72e0fb763b442b08e51ce1a15c6570419ed3cd5419abfafdf955d3e3eb718398f3b45931bc0807144d7297272c9a19151ddb9a073f7be56265a060786225f0010e7a79ee8a8ed649a5a13b272aaaf86fcae82f2cb88da847d7f3c5532b6588ec483b4aef197b356a47617d77291d540ae8257e2903925ac6cf63fb9b232c1941f6354b80934f7abb045764f726d51f976a3dab5f3d7285d4a536e5abf2f35f4ced472c588fad71bc00ba0ac64ea9046b063472710aec4875dc05fe13ad354d99aadd571710069ef55ded26472a8d6da63909676844f8831b1f99b74168cb50f055c5b715a9f942e0ad5cdf906905ea29a7c0651cab26af8431287c19ccaf0c05ffe99a230c69dd337a838e0383a67dd0cb63b5b400ff6ce1b1d9c74c54734279802027e79c5753e88fab39872f59fe7f6940b3bc4ce4056bdf0c4a8849fb22fe57899904ffdbc62f56b05d172a524e82520e08e58b82280419f716c5020f689677bd4ae0ca6dfbd37f81f652495c4ebef9e77094c87c2251a93ec268ca790346a3c8e4d14d1490a5953eb1a7207403400abffa9956e0393cb67e67e54092807294f4cb142097383e37f41f230a4c5d7bcc8a08579118224c0c47f8fcfbed6df1f723bb905c922372171ab963b7c7caf6406557dddcfd70e9359f54b5fe1c6bb83b96499ebb8e19e7abe1ea07255fd5ee4161f73f65495ffd0970350b01249a19dc3d19ab684c0affdbd787c10613602b95c4ef4f0d4687a31bc94dc61f131e800898c980dc2074ca33c744a7292b9ba245c4204586f2c82e4f7f43c67d2c8cafbacfc17184b728a5a2b0f89721c0599da97bc5557fa31cb9c47905b1b82e29bcde096587dae8e24725c52f9727227bd84356ba3ba9ddd9b77ddb4e6cded1744e73e57b1942e3cc2aa37f3bd72307177db33bb57496d31970e986c0ff299106615b0a6c60c85abaf52182bb67270fa324c49ef89ea0468348700e39f28ac4c47ee2a5ef5ba17529e9d9a58db72669e16cc36a0782d1d9dcc969e100460ec747fcaceb6f78431c05d42003c83727d3849bf2be427b9008aecdae7d1ab528010b53d19678d0962b6dd49124fb83a99fe747557a796df9cd3ea00e91eca2d51f37da6b6d7a73be1aa9e370b38c77296f8128ed3aa6ca06feb2b50dc0470d96fdb4c924a6e5653ab858b464286ff3fadcc29deb017ec0a3a26897c7185c49c05055173a5c2114541594ef6762c695fba4a41db035b01ce1c8246fc6dbeaf1e9b14662d2da6c5cc2d1889806d69904b2923680c996332e361f2814cba9cdeb31d4cc33244851671d72fdc4d6d9a7329ad9436da64328131970d535c6f0f9de74083807d9f606427b7a21c2a67b338727b8c9cff34f9e433efb23ac87a80ea4d6fb0d88f97ec4a6ce8d454738aaede38bf91249e3bbd340bf373f47bc2317d9ee625b9bd1c15533f003e3a4057360f6c00ccef6c365b2cb235a50069dbdbf357dd68825cb7b46b6b4a478fba63540d11cefef0415304055b0e9952235846ecf51e480aa3bd0b714e6d851997e8099c72fd9d8505129c19978b6b709339189e7f6bfe2fa22727a068faa7e894b096047249ed72fd7dfb530471db102f7d1afee041526f99779e8f16bbf67d69f4fe026b3b8ca14599dfb27327e4a7b91482ef9757a6f1643f083a3988d4b976f2ea81093fd53bf2728c0530f56f076ccd404abf22aaa1ed416240d8782a260b4b3b63268ba25f42dbe5b05274b43470f83c915aa3bf79350388b45a9dd393655913c93c70d9937f73d32ffa14eab23a67c854b8ef385b96e80fa43addfdb574c91d1372a1e7f8193fcc811182c26a20ae7b540d405571968d9a6a19dec43dd6a3a918193f3726d54dc887dca0668028c7c73acf7f3864033c9837120573eff46b0d5e72990850ca735955102c9ab39b6dfb7c4dd8213b3c9cd4e03dc5debdaff8f9fd33a7ccb9b3621a1faf770069c57725a128dfab1d54bd31ec03b5d7d73d95c7e1504d5fa673a3423cc189e83925e498c72e5acc40fb54f92fc51b855b6e4096eb672c94f8e2062553dfebd187b4a10bce0d709c8d619ac5b06605940724d7221d7227f20cd606b4f56212bf3fb4b62e8837101757d497b4a201e48a221cb19022723a8ac6e68b0157df982d61a2753b1a7648d7b4eb9eca9097adcf54748496b21c4c7e2f7630fa3813b5985d6545918b4f642ce4b43fc7a83c0c1227bcb882f46bdf5545cd25b4ab72e8ab1f668881d9b7e527114b4c7de36b89f0c2f966d58e675dd25030546c90118be1e0f033871eec6d6130e4719f9ddb3ac45cb16ed59e7228c895c0a56f6e3c0a87a57c35bd77ac42530973cb6a7c67116b475fc20b96729955c92cd41126cd8a3ac5bf846b4fd6d324f10f178e1369288d7e078ccdd572cbb9d2de629af987d28528c88b5eab5ced501a418b9f543aa5e9b85335c20f72ae8d727c2fab5c2641eab8a54524c804db021bb32495e4367aefb480da9bdb0ab9cdfdd3a5fc2e63f7d4a5fa9b4e08758ee025bdda5dae6516489f46f9c4b972af900072dc298efce8bc45a86d1ba11c4021eb46d2f413700d3adcbffb59ad1cd25b21a5b60670eb522f834619e8650ef6838f9022849f553cde20b91fc50950e7d8c4652e27df7e5369f043848845a90d17ef0a5ad6cc89dec676b8a89ffe728de0cd3cdf2722b527d2f09987a186b647c1690cebe2984fcb04c9fc74947c2ffb0d3b7e24cf73082427e24fee8d7b79a95b2746f5795b036fab6cb2590b4d72ad654c28990cb92e295747468101d6137d91a961627d8f8654caecc4bbdcdc685471bada7e1b4d6d2804a01137571ca36e6744861f47b5a2e3987a904677334d838e50c1cb8200bdac0b56ceff97ad39d3101dc396eb340dc1f6304ee28fe772a5508bb1d2c18bd7b2c8bf69e411514e2efaf5bafaca136800578fbde914ed3b581f760497870d9b82050b663eded192aacf10de18bfa986a11308d424e85a7206d096502ce9c7798dd02340b6247be68634f1d5f36567040e2126d6dbff597145f3457aaaa8bd2095a2175b12c4a916d3d2ee93ffb5a3b29a894dabbcfdca48ff60b13c8476b9f3a5402b61db7e4e8f49ce1052d43ff99b543b8dc470524972cafc187dcd63d856edcfce85bf3ca64491566d6cda9a3f284bdd0215bb66d05e5b76176a26dd8fc53512c851ceb0b8237a7f23d4e9533cb22ad136bc5863335157a0573946842f419ddb6165d9e1a33523c5233378c2ad323db311c88c54b77274068485ef5ac41b52976867b34d3ced079e05afe12d5d5a9fa608d239400872855be40d1f734449f61b02036b5b55bfcd6b2274b93af762a1a424d18066ee1891f3e908ae35662c7a58156bc4e2209d754a39ab580ca4dbb086ad8bc0e87123205edec4821b3a8049e1af52713ee29cc7de23fccee1cefdb1acd545de7d8e2e0525f3934a0a980db18e70b6af7c301dcfee615a758ec9218a8778fc6e425d7267de0aff532755c0b376de2bded82951a4aed27a5f2b615848a752778957153c35c59064753b629852e10367f1eda22c376c92a1e2dc7aecdfad838172c954728e1d8b94e2335bd9f86a72a64b8a3b89df3b40b158cc66f0cc656940231d78720f3b0dfcbb00133905b4dab2c9cab45516f28597f8d15c9c2af3598ee6b646720c2178658ee155e13c7f0a79967465d8d4990d8680f9d61efb8cd98306d99772a3ddf6daab12871ccec86d596ad6170ed535e36607b50887d60057ec720a443c247e593c02007d10854b9d81d5d302db7576266810c35648f5f77683a500766bf9f1f6eee4ea1610a19cbf65e57d992055bf1d0b682ed0c0c6008d24b983df72aab17c33dd5399956c30c48e2e9f926a65cd7c10c98788e773f149d01ac76372a128933b317c0beae61f625d191eef0a037f055c7211243a803d1e10589ca254acb25fa4956d5d6896f3ac01e4a333bd13bf9c5259643b58337e41e9489337722f72542aef39ab6b333c0d0f35b79bbd451d1fcf1f7279bc24885bfe4e0d7e723dc331e5a897a331842bac8dd406d8effb0f54b53f2ab9f67ccc8e2d0ce3a572e246ee939c48d3f9c4470bf9963bd9cf31c25d9dc7dae6f1e29bbdf16bf8217273fb995b419a442602f842b0f8511c86dd31347df7ca6153ba88d5232a4e0234c9f765db8bf7bd2fddd4e759a0f29209bf6088c414b44beb544b65cbcb2c11721442706b05d94845ba936f97fb75a5d092aff0756d6849c17406c20a750f947285ad4cf1d9a44c0116912ae9d0aebb942ac64e8fda44f85467cad5d54c4a95726059f0465c35911e95c31c760b18fa2bc3c8326e43f00c0322a68a567717cf72e0fa753ccde99240259632d3db2be2320858c09bc1e4ef4b2bf533af75eb2b728857ab1cc950b1fef2369c42580632c66ddca4c4068ca901ded3403ca5d5f05e978b84796ad6bba1a1b333c33432d96c3385d80bf20a6c2ea28bf4e70cad1f72b831bdc2d7f3fcb0c4781afc324a0fd9621e6d69e83b0d21e542b229e8feb7726b470f1230df9ed155253fb6a42bc17468a59f86929d535d1941440d9e27bb7240ea8f3d15fb589c74401484144f26b59c07fca9bf3cd4c392cb1104053be85dfa3465a686554f9db46a9d76188844b9fff594a88847e18e2ab29a84a9de5359506a5f3cb634cb2f1ffb97dca000390d6dd91618d7714964a5ca5587f0f17a72803d6d6ae9bf71f90fdafba9d5fd60b9fe65704269a2e396577595242c9b91726ee6546a060af11dfb0e65b11bce11dc428a0e76bc030a1feb1723215b17b96573497a9044be4dd896931dd8032d75da34e6aa62c8495a44a769361e38046d723cda5a9e44bb494057ae83d3d0c21693f79f047211142909b0da4b80d11416725c700543c27c2ae4ecd8bb5aede381a57050707df5567584d7a54e2a0633cc7226314bd62602cfd4d5433342d6c554ee076f6e82dedc53ec175d5125895ecb72326ba34a50c5d09bc0ba1077af1089aa4aebd1070bcc75f1193117a10ba7a472e5eb7ea8d96bff16276a746b7cde7b84bdec6fce0d6bdfdc4c1f48f2627b6272eecb49e87f076b012a022edf9125e97189d308f7679e8fced238ec5d09822772c8dcfc76ced385cccdcefeb55a37e24dbee503b876627327bae344dc6e572d72500f17de1cd68d1b2c6f9d2a146ed1a2d9a2e3cd404955453478141a964acc3550a106b534000d3034b950ca4c9789db96e94feb747a0e90ea0a33a0092df172e76fa9703065d2453d47e90ca8d39f791247fc9165fbb5e323bf6c673b58de3529ac1c250d8bd00df4ea2cb124232eee095336ceebd4315ccab26fcb7f39ea729612c673a448932d97646fd7c95c8f7982ba5696f630a7992a1d4f0c8d60a372dd9b4a318d3c9568896404cae8142208736c63015444c0631485edee1bb7e72b52243be734ae1fcb78c8ca9db85b3ac61713acbd01febbd3392279a8d1ebe00180f5c1d031c1b6f0fb212bf3dfd9d5e9493a538e395dd074b7d3603263b56311fe7463c5d0f9218cf5c0019567ede27b9e51844fe3b6e8b60e326cdf751a3372f1b0d6167e422a426d07166a732a8abc77a297a6f8f32a7deefa9491a06f5b2c3ce13b1ee3e9d58cc018071bf8bc3451187ef19080eeb92f1a1d69a63aed7972f5aea21248ec02cd911376378c7102604de11b3983b197ea066951cf167d5b1d8be34497cf49506ecaf9a3a077ae6e8ab63a901f483985cc76c79dfe9d8e7c72602d6568a339bd16b506a4f573d8b29241966148179ab59fc37648a1f9b42e72a5d00e0f900a8084c17bc5f7210c035bfb35df2582f09c449bfd8af197b23d5e7827d5e3bdfc6f66ab4a59248c0a4353af289f239ccae482611ddaa657bf9f72c4df3e4351ab29f5e57ba6fca06470eda41984c463574c196876fa96b4066c726125a94ad7158695bf85b1816d2f6df244eaf5f71bed26c7fe28c30afe4e00723d6a688ca5eaa669603e5c9866eea89a0e581a841ee3c9f6dd4177fa8b1ba672f33ec3d18e99db912f47b161aea0de4e3c3358e2d6ba49e728d4fc3d3fc1b672d94a22bec37485999fa4cff9eff6111bb9c036501e2cce9e503579ece48f21727868e43493cc95dfe8ee4645c9b6b2ea0680ebd8e0dd82adc93caa541eb2b035a4232f2c7e69dee6541e1d8892f5afcafb3edf260b9e765ff197cb9f7512a21fa9792135ea2f4471f018c8cd120ee3ca10e575de4fe017cde3a44333d87f8f7249c51f8b2565692d172faad415c49e2dfb12388ad669b4349304974accd604720616ac827f7dec990a3adec8f50a8761f247eab489206022132f59ed26838d65f0683f1fd0ed7bb0cfc64e3b5d04437fe87990e40dc5b328896bf08047b6a2370195bf0d403ccb9d0ff5c9e28a52dba9200f523c69f4f0eb19d6f9d35d1b126cfc2ce647c82f443a83942d96a85fdbfe71e9ba9161e540899de792739e2ada19ad1e988bbc3dc6f568c9301548e3e06efbcd37d7d587b77952201229c20e6372027d9aea7f69f2bc2cfb65b70127634eb38e7c3f61a83e44e4bf12838f58276e193cfc49576f1e54c7d8aea02d3e146dae66ed3937c4f17b4fb4e75fc935b30ca082de0a79443d7434521ddf1f5840f27a71dca083834300b0211aa84e686c5b3b677c86260ed6f57ff7e64e9a498b1d21946b149695679db496676006c20272ec8ac5dbd307e841d468aa8e89e20d0b3e935fe90b8aa7a88309fc5a92133d32bce2ef5a8376e987547e1f898584adb1846d8144ac4e8c9edaff59dd0ece2a3c9837a0ef188106b8e6dad3bde42eb324c80b6388e44a84bcba02452acd3843534950896af364ca74927fe4dc314f968aaa5d9d64baaabfc8671c409138a02f7299618fa370940c998dec9d3c52e5e36aa702f8a68f4285cd704c20afd9f9c540af9619e2b9a1ee9bf93c04aa8ef56d8a04f28fe9a1888bdb2b37f071a9fa3e2627c03e6a436926b0a5dc2f6842deb1fe738920a4fd3d95d22b767f51d456654a2654df15a6945bf515912189dc88ba8c22607904719540704d824ebe19391f7249e9d9acb172d88b55b4b836cf922a057c7286fbc96be42d7c533389eff8de72594ae7f1f305db10cf1e7e42166df0f71db8ce977c3354952c9ca3229ff263728ccb0bd8549e0670fc7fd49931a282f6d45f0d8fe97711b89254bac3a078072db24b5ff61ffb5b961db361ed361a1b3bfccaaf30e255e76960e4a4eecd128072526d774ad7ef9a30ab9b2a4f926a45adec84e97ad5a35aea19eb960487859229af04324e2c1c11d7aa833c3bc4d4f508c1c389f18e68cb49c475df61ae59e34a75d6b68bc9b4557309c1766727d8f217eff514f53ae7c2f2b4bcab2d89009707bb17a9117253f429071afca4f35767be1cd51d04d3eb7ba49f5c234068752272bb77772572664c0ed39d9d6a5c652aa2457a0e9081926d4b9668d7e0a34063720b3411afe9087ffc7c0b2f79e57785ee57f44f9fdaa9b7b8abf2cdc629b6c4721aa54a62cf434c2cccc10343527d485f16733ffe6841a9ed00ee923e14dcc2724993fa6783b345bf6d83a8307fa8ee948f8b09cb3c46baa7f48b79b0517211333fa9020a50ad47cb6c22d9640d74935052e8f5118030007039cc50ac6bfd175c414a3daa9f98917a3c232beef47a4c10ec47bb616e58f225ec6364accccd824d62625c29fa1b9310da6e72fedbc2d96ebcf4fb33234f1b8a95aece3e977ecb609825105a8e83f1dec065ac8e28d81044feb6154fe82c776b77434bb39af9587279ebd686baeb098b9b2814c204cc6b27db31b2720df9d48e4146e7fc5a976c72b914df276f0f05aebe116ff9147b8fc7cd9c3268afdc004156a5f17b7b09247269cfa2a5aae5541560c812ced4de707982d42fee45cbe4f7be9f42442d6a8a72fd913263ba8d9cef8ac6258161aa6559eb70c98790a6710f6866ec7ed4bb821d3d93303cf746010fb97a0efa08e1984f00638db01ed941267306e115bfbfcc599cced5cc9a42d9e01367e72bd02ee6f2121eeab41f88f9157991137833cf7b18ccde6bcbc77aacec3fc814e51c8806d4448f3dd4b2e0a77ff05f733da13e825f9b44dde64828f84bb1f69b987cb94fb8177b71ff786ec3c8682a19808114a672d036737204dd197d9edd5e240aa91e5005025f2c6066298ee3b5c0e5e6c78e7210dfe28559ea030f7db10b60a79c521ea5c7b32b3f70effa49e0a6a36c168272b9d21e287276ed53d51ec0675fe55a6f02d5352ff5732f8047baa991f0d7d74501b5cb639fe8c865f096ea031daa969634ca7e9dac3206fa31984e68fea63b25400541b62bf5b8b1e50e4765996b738957a8f8006bc56b9ba7df30be65366e720654d5ed65633bbccdb9b7d227855f748183319200a6b91da20ca053d7d08d723bf16b299347e573e32545db07fe894ac5c61c627423c269c3a93543558c9a727fac26692a425dbb0caf9bd02ba143b7d40a0b7d7d9a4e08b1851016ad3fa4727a7995294080f19a540803501a7742ef6b8b9406a5edb35ae0f24bead9761c1768a6db795541f9dad13d628b49700a25188b8fda14c03d88d9a55c88e742407216eff7e905f12da49e2c951e35b0dd3d79ccf64ba26a8f2a97bb44be7acc8c72b15c577fde9e19c7e8921f22338c075e7537187e698f327b7b550e2d2e56997205847a37ce7c98cce77727be8f3cdd96a742b472f027bd0df358e1b3918b663c86473d5aac4fa10dd43ee28c9d989145ff4a8d8b3ceed1ea7398865a75ba1239a4547158c81ac901c229dcd4c0f428ea69e3242aeb9f68ccab723cde822dfe724b340591137a72a1f616f106c5b229556260a6685b73d3477c5c6a08a7a22f72ec4ba591605508d18ad5ba6ca889b050e7b084fe70a3ffe2a6189d2fe314cc72ec9bfd464eab934e7d4d6014a3ecc288814cdb4836109a5d75beadbab02370725bcb5c6fb29d26dcb4f6f86bfe9435569e9b03af89b42263eef55fca2489f05fd8855dd9825d14a1a5c536248092c3f1ed90dc3915e7ad26bbb8105f95f40324e66a2191dd626cadc21dc049430b54898ba725193746f516a45bc90a73239b72fc23c7219a251114ee06225018d52d6eafc87b7f254532bc8b940fc012604e4686aa1941a16e40be0f5cb77e881df1e40697a034947898cad957444b687d213adb0e5bd89af9507f69096f8d62eb0784be16ee54a91b87bbde18991d6f582e72b25a3e060fb2316b1bca7d12aa0e1d29527611a3725de3677b86fc6d95f67a6bdbaa6ad287e8408c70a601e10c6b5c4ff610b98e14b965bef20c538df1755b72669dfe6db97d6aedb1db29316c30e8692c9e3e5304b5ebc18251a97ba8946272162c3ba24c5fb7138362722ff857d51120c4e1b014340534d3734f0d99143f7245ee22b8892cf460b293e5c1e62601094d568d6eb78742a018f013baf3128c725232b894f33c42652afb4e720e15903094d393ce791eed8febca7f74b381de016beb06dbd09c69d794b747ad38d20971dfc141373eff46d97ad3faee4945d3726007c7654db13ec306d67900785b14efbcf08ea566188e2421cc4221e5464e17fc14925310b7e665ae3b47f4959b1a9e02ecee6699e938887258e118321efc7245b3167c73b7a392dd5c62edc76c3c29b83876426a6dbd37d1383b07c5dcf4722dd1e0cdc754382247a22b86185db293ab6c7c810ad39db528df1349dbd35d5399a98313dba6d4a23744d2a80954d8ef5302d248c62e84461b30c80ec2c13872efe4475293fd7d4c4ed4e24e256e6a68f102a5ea65e1bd8c72026576ea56df729778f0d252ee1c4e1d0b3e46eca3fbfd7e65eb8540f95185da5617a5c64d0e3dae27db3ddabd08246999593125d324d54fb5cc955b07370e1b7d361487fef97118234f552882126f5f7ef874edc58669d2b930b87c17997cbd88792e453a2e72000b5e2e84b0e683d35c512aba809f1aa6bd54f3a00e0f6fed432b5711534c4e52ae9a7c97e2e4639424090f0f0489cb165393427321e8df9ad80ed1bd72d120c0beeaca50c4c9df9a18d4ef5ef1d10466b0b0e5b5a530ba77585f2a469722052279d0889444f043e69d21b4647cd3f7af74b91805a2fab06f6a957a37a3060cea09306c766e0319747d06a371717113fafb80754a07b7c5800bf0a9cb868a7242b1484436dc6437f70981150885388205c922d46b1ed3fb2df2ff563f9b537230b154311a05c383af6e35550d90c3aae597e9aa6379b26956a8c0087292dd720d01d14bbe6c2b7ceb231509460f5e56e2e3f99f84fdcfef534c9fac53533872b6f9d26cbbd0f46ad7dd521a11a6a7ed272865d8e48520fe17c2be72dbbf7c4b70027218fa9a31fbcbbfdd2893cfe4e136ec610c79f314b97d9082ef24f65c72ef3266a70f95fc2090735d5b4759c01eba2ea7fdec7b2bc20e07fd085d6d60148e2c95d1c0a2ea224d113516b16bf459742913fb93509213002b216264ce7372cb74f70d06ba6f88aed4164e1d9c37eff88213f8852c3600030013b8ebea255b03d50a9e4f47a88c79c919cf268a47a3cc05c5fa2ea5f8fac2a20161fe1455722da9b1041269b4b420bf0e0fe25e963755a32f5a4eb4909a9c5015c4ca128f7233843ce6be2cefe1dc7c3f98876537a83944357115d6bc6cc2e411fa2d30ef284a67c647df4016b667576766a0e458f92c5e8140ab2bb06b69bf571b01e06854282dcdff5d0fc3d3f14c71c302d25bf1bd5c034920d1de52dedff96e57ff1e2ea712bd56fd6c673d821fb980b11c34fe0c6458cd0c9d4dd302067d91be062f06d082b76addfb6545ceede64567a0e08627c8ec11617fc157d013947fb2270c344fd3dd5b6d7136005cc0567380635ce43185d48fd09c1e2876198dc6a7bda613761f3a253ceb165dd321fb09ada96f6a0eab8b099de178b7b94091bd92094d728b31f33027fd3033d887b01eb10c93be325502b94e02fccbcc05229d216613723138d40aed90f12d044642f5ad0276321194bfaf77d9c02707136fedde3887720b8b739d851939ea612e0f748a500955ad4f3d4ddfb3b0ec1a413c562141740be58ea21110023baed250cfabda3d70fe6c9c03e7a61d990334db4b8809327a10212b1fc5e8af2aeaa800aab03b10cf7f3c8b0bb4eff8bea6748e3fdc94f5ef72a951a8b283fd64e6f8bba6c7cacf3d21c01c6fe0cea367eb51829e331c52a749a0c1f671498cb5fcbed3fa185a9d2b09e47861ece731ab91864cb7cb5b323c72fb8036eab1c2870bbf4cc514a987b5028deaa4bd916c823478ca844d3db60572876c587bd68aad6148cd4a5ffe7db4cc2009a02dae430ed13018bd8a31a96c729effab607aaa93307461939fe02d71e813f0d09ffecc2066e2a129a2bab61172aaf280bb436882e52a8bc38b442da781114627e57c7cfce7ec8a870a43284672d828bd65ce78df2312e6390c3113d283120b9d1c484f58c80b01e4adaab5ba025531479f7eb6811be2f9f66a2971fd295e4aeda4bf207ac55d3598d6f8b42a40f0dc132aaed81bf6b6da9859769b887c4f8968a4f43aad86ca439cdbc08e6f16928d6609b00a5aef613adf7d3ab922de35914371ac1d11a164648a29a9565772d96406647efafc33c16901fd98adada67e0320dc9a7c2d77dacd0fab124c327221b3a1716c08a993ceeb2698167e380cd6cd2d27e2b581ab94de3534b255e572ac4dbc00198f4fa128476488051f7ad43c39bba1c87dd2bc9eb815677ff639544922e2595c9df7d63f7181a4f938dfda280948e85ab34d0916e0252222c4c672db257e2c6a72c01db0295148b46a910afd9b9f5527b82c870f6659695870573a427be997e954b422739a1b8a656927f44dcce2f5f1a9886249c23cddda317057594c540cc19d1f01134d2a31395c4a19a5aa0241d95180cad9370dd64063ea082c1133b5b9b9a724e122727eb4916e78cf9972b45075c2478c3dde7d0ac3010545089dd7ec6ade647561b3ada576a5b648e22ba1b0d4538dd64ce163449f5904092be040340ddb8f8a7c43561cdb7008704d914fc66be0aafa9c33289d50aa05f8329b98e6750d5a1b487eaf68476da92b626e7eb6f18d960536cb6cd313a57240c57eff19434049d354756d5830c2340f0463bfd26a3b7eb5713dcee4277572f47cf43f86baa41110d96649772fc4205234c36e94c9e4a3bc0e0be8d5c256285910fe05defb1097a6bf18e9d3727a9d1ebf6af2252bc4c9971ad01261825472677c0d2ef33653313d07d3a836288862d65631f23eaf16d6ee58bf2cbc6e2a046afd8eeb7575c87c893a5fb66263269952def036a456c08bbe4d763c4a700d72d062234b593ac8e61612edae86e083d19858fa2951f3ef21b529f77b4aa74a7200516a36ef8ab4aaf15c18eef24e9a3f23a3aa9e7956569a90f6a27366075c4599f7942a0722521b1ce1334f9859230e18c12c3b013546e13496e205bef191255665c1322f66e6ea497185b7511f3d4d0463692d12f0b456315525d615f9aa7231b66fdcdd0be1e0a5db06714c5ed0206031811ce5f1893efd3d37e40b60e22abbfbee110505794cca3952d09dafa876b6e92c0461cc9efef73a4d2726673b7230411302481a19270ee707a7d730050fcd4aa0d701511e789041a339d53e7e7220542cf9f8fe4fa3075ca92ba1779090c7853b21e686d058dae4755e3d4a531cce910e0dafeed4f2f0802bef6c3e2e1a539ae4523c8547a53ffcf66241ac8b72f3b1f8606404a2c2858a2a86259f5ad6b7afde870caebae61964e82047523337c1a3fb26fc9f87f60652a60efe1907acbb6b337869bc11817e2f0c492137101e6bbd367a6c729f1fc6f5867e473f2aef44e850e2677327c9cd4601164ed8663a026226bcb440d21e267c3c7572baa9c7f95d2b212a41c45d50d141d4c2fc4a2cd994a9aad34cb2e0d5653f6acfba72ab07ac38c8c3e3d71c1a2423be75b1311fac40fc6872268ab37996799d7681150edafdb64e79bd33316def2d26eae81a7256566c07dff5915f683f2a281f6694e9445c77defdadeee62d5ac200e5e47967d2a40f4d76213503dc981569057405300c9a5cfcc0a8cda460b3947c5896f072df74b58fb3ff9dfa00d2f015b8ec28dc06f45ef37e4d226f2caa86c3fad936726cfde87504ce411b403dec27c4c4520c00601385d744d98f9f49d872bd01c572e016217003308373d842ff6ae125dd0429eac9b1ab3113a539df805ba71a1c7216b5d8b07f4bba729192d3be452c04841a1c8d45577e88902e1c63a083a3c7703a5fbfec118a3b97a2eb3c52c3e64db99f420dbba671e82a3dd0733bf42baa72d94ac0ee65ad485c08bfd057ba3d181756e2b93933c5d24e2ece3f288e0ae172be39a847f9f152478cd8de872b1f1247dc20713c8e9f1c222c9d98634007fb4f9546ec4760291ae1a3909b405167af29e8718d004d0997f4eccb54e09cd64b7283ade28d099c44d10f5f0fb3eeb29bacd2b1b6857223ee7bd1703d238c5daf7237a1b814c5f2eb3c617e24b15291220dcf2ccc03e4e762bba591a64b614c72723d6e0e2a73f6254817295a6e459e8182abfa2dd5e5cd7ec354914579fb0d32722ad0507a742cf2761d7f27002e7b05b7a5fea819ccfd5bbee7fe58f568e4c73cdf73ec5617fc9d9d3de82eb49f9fcd313caf2e86bd955c7ef6a08ab4e1698f25d5fb85846188142c23e0e9fdbad7823dacdfc81755104dff017e45e610f7a072dcfbef436887472f9bed3d78c42c9e9c4e44d6a8f75b899c842f8a765f8f9157bad81f93a79a38a7184bbc3b23e91fad7f0db9b21cf9ca3fc621ca8e1a4f8d2b448e34ce6bac8b9f2ec185eceeebe4426bc3dd427512695d9b11f1e26f287572fbcfedd449332ed1087e863626dd0cbaed2a7abb3422fc5eef326944e7fdb872dd7e037010480ea35da53b13235872d309b131a9e444c5e63e84616470480901cbeb7c9293839caa77ee1c74020558d00c0e420f7ff0a811a0bc966bce529f7242880f814bc9823c47c1ba1b43b4ca09172287f528d8385393c426114b45d372779c341cc7a493ec0b7ba79480f0cc925ad4cb0f645fc39e94c2d0a549e14d162a1bade1bc4afbd71ff0d40420731b7fdba39c7caf069963382acf58c6539c167a0f8e8b562bb6ba1b473051858ae2ffa89de3340b8894e3afb3b92922f73d48e3f3fa6fbfe9f82bb70246700da6b4f9ef72dd8a5031e011ae9e506420f32e540ba9e32b82c30820e878cef0c682c94b4af2ff3a872e415ea70daf250159737238b0b9038c0a4fa22595d7f30d0370c94babe4265f7f943cd48316228c02020b4054f15d21f45636cd854c0319b3787423b2906852139ba98191a3014155d8720ec2949355f120debb642df94826c90470bdf553a5eba81fceb0a626a8d9d972349d77b35fecd9c095fd7077d191cb2f2bd2315f1eb42412f771fc0e6170ce72ce268a1138741f1864aa5d27579a670d432ebdb9170290c0914d4735809c7143b42ea929554d8d5a9b8814da26d354b8b806d6ebc10f133bd06e3de2ac41e80a89b5def1236440f7cce4d680e5e638cd879717b3e26e406fe7a1e322d7994072104226fad6f71135471d2e1b0c2783d9f8bd0b24b0173e1bd6ec4d1bd726a672a088a35007a9c44b2e43c7530569bacf269d39bc6c79604f25507e3faa877a5c94ef9a70e602d20797542ad8b987e55f405acf96af125e4c1ce783d2ecd57a7297d3c8081984e1df3fa4807ec07bf15e49b7fc6050b21c7f7d9c136c2e1b0872d9081d47e1fd43bb1ffd1fb03c105090edd205c1d8ce9ad1fde424412691d5725901a686f0951d757554cded2071c90dfb99312450291d96760be3c2ccfc6f7255802484564321975edb2382528d888770f6e624c211cf2649a31c0fb674c472d8478df34bada37caa01594a1223095099b3d631511b815f79d2aa11b92343727854efa01e7086b626e440b9ca998f7bbf7810cf2873170bd489b8d70118577286401a3fa051759f9f6b19813137e2f1474643a4d5ddd2867c8790ded8297d722e3dfe43b2857d37dcf43a592a91cafbe2a25e7822131c16d9e85142f85293723d7ee1fe83f06138ef3310e08bb49a7b08655eabc8d7b74934fdc9bd58e1157201249ae582f007924a150f93edcf8fdf132c1ac6557a9067c3e4c301b9442972bf5d84f45316ecfe63b276bdb35a0260c197891c57738004e5c82532a85ef872fca9b457f19cee3e152450919760485a011ca65be4eeab86c765cd78dfd94172250ff16653b6fec258a90d1ada4174f7f1d20d7a3b887d7cd9a0e8bdc9377872c3cc42cbe683b1214352d68fb2e77c75827f4ff1b6e98e8bdf3cb1c136884065fc8bd0d062215cedf456f2badd8c5ce4818541123c6cb5bf89517b243955f472e7821fafb35b93bbe4d647f719bdf2ba432c3e51523c8f20ec4fe4c2dad48672a2d21265e109438b58d3a79e89bd1d9a8d30ebd88ce9cf7fad319944d5b1c93d38a79d757d0539fb9b7b9677686ee231607e83e26c2011a3118f79aabad8ec72798e6fda374c0e736c231a37ea41665289dd29d54b7d5e276a5db8fb350ea05b58d5594d1626266359b5d74e7d51655052628ba53c8876dc38234bd42e6acc723ce9e7f68b147012a2186b8c6636bc0777e2c49e891cce0fd3e0ecad143c5b72d02ac0918e4942ddaefff7292560887a831762ad199988bd109ea95af4c5d55ce5ce12d34904624e8d4751b172eaf70a75b9f6e92b168496366fe4332cfeca72706d2e57ca51c2c9084360cd1335db343db007c4106bebe1b62cc2ce07b7fe47725e77773cbacfa396dffa5c83d0de21ab699f0e206f547b7b33d7904e6f71129306fb4e44fb013a0e3b0dadab9bb6b0ce39f2a719445c034303b497a2053a724a2a4c7a5ced12621ef07f8de56250c28422b772e5eb0b2a934c1a0bfe70526424518e8fd278b9606acf5b8e8ef34a4d4d7f8bfaf37ebdd71a1c3142bdb32c727461c53ef35ec1e3ccbfdd1b59321ae9c08cdef6fda2dd4e519a7491160aa972601f7d72e4974452a760796e83a7225301d983a411ee1b23621a5230ef0136725ea4c4b0e87ad242060c4fb466ea78df6d9eecd52c725aaea61706591562d0723d39ca990cfae8103088ce14891126724a7423f125ac1b884a00cc971667477299435f3fb3b606dc5a755782261b77ae39e329a298f5d222d53cfb83398c8157c39ecfed3ed7e42eecef42a3492ea28d4e105cd2da7076c7ae6ed8563e574c55cb60b80189568fe894d5891810e5bb04b195718efc74c50775f1598c324d1172d64314eca4c76646cdc86db439e587a32e08632ce42aef64463e88a3cad02f17f6b832cc6f8838c482d9c80f7078c6ea74895f21aad4e7864b1fe375b896ee338b4bdba47a0ecd7f3bc2159683bf46f24a38f7de5f631b680534871e1e42d472e7fe55f9c196fc6fb4582a440c330094b119b5e9dfd5d571f4660af1ed8d8a3787963d911fb83f688bbe3112ff8f4a1609c0afc21d9366a74cce3ace9aa77f41dc7594732d752bbd441300e78059f25b137612d53998e5bfdb9155367aa4943bb57bd0200a1b1f6587db4aa2e0ba1e87ba6506e9a2e927e3688a4cbc2f347443f766d849e860316ed5aa1347b39c3e116079dbe40e3cacb52838b2b282a2053679744d89653f4387cda6ad67d608624e8e49907fe7ad46a3f0521f32dc774e34675c49e8792f53897e979598e44f5b647ff4dc1bfb93dc2f8bc4edf44075827288b726d9b896ef3b7f035a19250e19d5bb684f2db9fdb412728ead9d6f9667721f25fa66cc8e3d1778690a6f36e2dbd4a8c18f751597df91ebc478ac20b5cd72679cd77da4228fdc2e00abdd7a9ea2b29816375f1a1b43a8ef8d2193eff74424759091a9e723717b5157ad29a0d4e43b9279b1b810aa69270e84e7fbdddcd23d0ea0aed3549ea22401eae15834e8d3178dc2b9fac30d41601eba2892cc012372a43e3fad51ebdb41d51cb6240b05300c30a204495febd58c0af5b94facb40d72707377f9c3110685671de23f209c5ee61ed4f68e1df6d2ac9458b831d5f73672737fd3e6ef9c1ec3edeec3d76791b61aca15ff1d2203888afb3713ae6955b872eac18b7bf05659199bb6b7bc0f6bc948dbd63c50d0337ad8d4237258a1bede578dabca900eb36dc40808497d4c9ab99957353ced282555ffd7ef0be8005acb567e7667d6265337043f691469c4790a2620ce19a1bb7b00e913132c0762f5b772d90c81deb9c5d57ca8c26dcc55c14fdbef69e08d082d6960f229b7d8c3658a72bca640df9d2c5b593e455756959c8f32c66fd9a1d02ddbe33c7d073e50a1ca3c81bbbdce2706bd14dfde545a1c8d63d3f4657e45e958b77275ed4113137ed06bf9ac40a1ea65f4a90936d54e48296522ed253dae4243b2be410b2b78589cca10c5818a108aff6a5fe7f351d43ed508090c56e3ff8eceadefa8bdcb833a987207e352ae917419a1b08841c45ff4b8eae5e6614c3046e2a08b19331a8c89f9211815c0aa66d35a23665ff28f62f7759df74428ce20f009c8ebdc3219a8d5062172b1c729c7533f780bf571bad3b8b747639f9cfad16696c21fc327bc4a810ab73327aebc94e8a760602bee8a4c89225026e7558cc91b86d11e2f3f835a37dce10c3d66ab902c6998d50525120cf5113d73342090fd134efd3fee25b1cac437df72c70c42ddbb663390112e21948744506ac60dc1cd312c6b87828bff4a9bd7533d6a4f37643a2692f6d504db86d60d9577c028bbc3754004a6d82f056bacc940727f26b6f3deb284dc88a1169867a1f86066bd38c9a4bf1c4518f1aa685f4275589324b3d00e399f3607f3415d148d7d19eadc6459ed98a071224eac2d2741d731353859a082c0691d0b6e21a57cc0108aad1590ec95b42703b12888220b1fcb729e25763dd451e3c78d87c99617b575bb972249fce1e489ed6e36cb100fb71b207eb841ff2054087f1326181fd4e191aa7564f6784b43794877b3580051c85f6ab08695c3a58073c74af5d952dc4fa207e898b3b50c7f589336c4cc5820561c0a40451dcf6eac0979a724c4630829e0d8c3b20ec258d6285b30e1c8b158bdcd722f3337d9b3710cb7ceedbca67588b5cc9b6de5688150553ee37f7a9fc05b29723b592a02cfda32e8ec88525bb09fbd8bdc705bf07b8f6d6537a66e3805238e01125463252d404b3a41b38548afa79c001b453530e21fd1a62b356383aa2771090197d4648ad215846506b69b35d7a20ada554d75dde1468c7f660add48896972865defc46bf462cac0d8220fb324c8d0997e87c244af3e6052601883eeb77072f57158c1f587f1689056d9c451b0003cd96e676e188848cc09c8c8f85cd45a726edde67cc6a2cb3d1250dc936a7bdeffccaad458ffc79c29803bb0381c1ac87279ecedf885c918bd28a74fadead8b08e3598c583cbbebdbb3e2c815f5f415d72e324cf9fb8210e70df73ef43bc5a38fae63d568c8c73e2bf0412ab17a6191b72a8c119d510438bcad0e2e82fedcb7e5e51a42a094884826b2347f0d96adfbc30ddc67eba8739c20023d46c82e2e6159d2e85dd60a59aabe43eb8ffadfc2a38721a3cf800d5e12c5c10deb3237cfff433ceb44415a6ecd1f2b5afcba3ffc5027295858532d82d0c9d203840281eedd4bf6b66498273f2a4c53ff176e9c4aa631ad1ff228def1a995f5f1110e10a9aff17bb375d0b87b7bcf07e097163aaf32d05b04b5042c3e92cec9e9362b09b6844d9a41293ff12734884decff998883a0d295bdf7e22962cd05c2430aa5e772dca58d682a199f0b770dd77ccb7590a38d5401c72f98f589c6a914345c223676d90dabb97f7a248aa94b7b18f4d8ff2849364577d959b330092c7bee0cd56392c85c86a7767184fbbcd4c3e9705fa58cb0a72482af9d4f494a2ecb8371df11c827d40f43bf09b52371553b6620a53b16450726cd583462e24d2b64c7f8fdf6afa15b37419a8568fa8724ecab44995b7ed7b72e8687bef5ec96fa2cd521b06ac34146b2fde8df06405cd2ca94c63aee2d8ad12bc6278325191dba6688ae7d3fb618db301dbbc095d73b7e6dde6d2f462506839ec866efadd24bb89366d00371dcc577186be9135ba9a8b675e35492ab5d231726b98b38ee692574b365b0840d8aeb4e9e4a17bf3e31098673c0d425c35d9c025c6b47819d91e46495d2418f606574ddae42a400264f667127a8af2ff181f3327d250988b6141d35655a82b3e0a27b529a2401df5bba9bb8f949fb0c546675d72148ac0d93f0e735767a8a69baa5e5d002fd63e2491a7e9ffb1d92f69b60f7c3133293b2b341be0b6b55f800ad2a6b86604abebbb8958d5b5ed2eab145eb9b072ea14a5208919646c0fa44930b00eb987ec62b14945e352259e2ee0d66c4ae031ae78f4ef2c76190128a721a7f4c8a8f4849d9319bac7cf6e4b8991249a41111253ce2388a027ab5b559d5546f8e42dd8be783fc2ff7c13c22c531e698b751c35b2a71a5c98aea7f042606f4df5b65b08f685873bf44057e853d4c28258386e720f52dd20d7c9ce9ffd4b64d9a37ed7402af1dedc0386aad1ea1ab39107ccac72e61affc75538d5173b8f4d5f351603d6e6d93975e225538f8f993a3b1c546972e5085e8a679c0a3bbd60cbd081baba5af5eebaa3ad8020618d0e084fb8efd163a3ace99718b9d35ae9751d96ad5741dca517db18ace890a54519c672fddb7b176ad274d5ffd2802237aecfa25b3520f77eef63b268a9b5ade947fae503e82a373a07c6a88839314c69e5a69851f5f87bf28253a8cdb52ebfd8b3ddea27dc657215221d8fda9b40f15d6305ee4effb07570b7791be41921e8496495834681da21602d8067720c5bb5838fb4f5e78569afced76aa52b131f26bf01c9aafd107872541469c241eb239a031728a1813ce75eeb63e5c91a4ff3dc58cba6850774a45e0a363724a5bb1e7987502509c28305aa9a7bb6d9a168f8d80fbb795dadc0c627b28adad0f9659e49174ebfefc1ed90d36da639162c31fbf8100d516e877611712061eafac95e01966c359e0afd7a78232ede51d72b4ff53ef184f04df9344a1117ca3cbcdbce5524349d5ce0b1a8569ba27d9e25e5498bc462f934b9859bea72f82d93b4f4d7bdb021d3934ea7b8ddae0be55b8ef3de4c8d1859ba68aa070d043e578e41568f632cf211cf0f05f7e937fd7dd98006ae2d3abe35afbe4cef0c3cb87a7fa39d630ab4f71b4cc204eb409313c49f38805e34e7570d4cd7f5658b7258bc66f6ac868e0072a77c609ff3af0d08e642b728ebd44c29fdbf497b914c05f6061badf68475b6df5c028e428946ac293c773448e7d58b500c06170c79a533f2ea0d1af930f5227d658db99b1f427642eb01a6354655f70c02b821d20a9d72608a91635e9af3f52c18348b3eef280ecbb2f33499ddabffaba36099dc8ef708cce9d0313d8b7bf09120b739bf474afb0f9f44a739ed3e36cd22f70e9ec70c4ff9417015100eeb71417226bed451b3000008afc22c032013b540a463fc8f7a4f7e624f4f5b13c398e50a9f4623a6933db8166ed61924bd5d55474921aecf37722d65b15a964884a05e167c86ba56d932b137f1374821378f9b77442ce55f3862d253b9652e60c39596431a3c73844021e1d75dfe76e2017867b07be6331fb2729f92c277b5bb0b0422ebd075e64bb242ec09b1b50f69ed9eba2c7b6b53406032b502a80b898a78d731e8df12171cdbc179d2ecd558a2eab7d584373de8712d184d6ad2438f7cddcb1580a41271fb9030af3a9d5abc1f4cb570722a0e461498720312c3d6a9d362246735b84365c900f34310293493ad54be449baa95ac237072d323913e42ace4601d79e5ae307efc97bd4d669ea8657ac344e7a7aa5fbcda3dcdc47fe9d6a620f5e67ed11dbd6061fae42dbf5992755ae12da5b336a8bacf7275bd125845631105436c1d0d16fd2729300cf9d9367659d2b3fe5c786f436072db6b9349694c8558f8cbba521c8dfd504136249d05fd14ebb9dbd6ff51995d7277bc9606fd39ef3ce699d9e6f34cbc1be0c64551dfcc5d476eeb1433df88fd7298a92d2423fd38d17eeffd66674776a99ec7159f05c61a51e5fa6fa92abac072c5c36c0030c0f9ad49b3f243ae1b757eb922a43567bce1df82a729ca54976728216bc5c48e228ee0dbdffdd8832a183e800e0504c285b390527519ce1272c2729effde87f22e902ef60da0f52c98fa360efa26e34de75106be84d8d55e56f77268e774bd2957fa02525a3a341eaeb6d07be926c2f226ec538ff25302dcfcf2727be00a2218389c2e163b571fa22d7378b47c2a6723a1dd067540b96814eeed72968019fb7253c3c8b6bcdb19a0b77a3563b5b9b1eba8ecc7f235c28b36731472036d76f5cf04ee3cf63a1a9af1b2755f842139ff0e5cc437910c9d702f2374723f6399a3786679f7835adbe0aa9f0ac42e603375f87b9703027c8c1c8a1af17223080333d8adace71306a6bf7924429a0b9fc3faa28ace0af851cca7659d787275ab88778b44f91516e4999ccaa231884295eebcfb4176edbd7d54532a8057729311aa1d15d8f21fc49a7b9d6af8c5920bf9a8bce6f65a8ffbc531d4073ef45b9b7fc053580981e8eae60af439269374ad1d8d7d127321b5ca546d3f6cab92101d898d975c11c27803b3c767f02cf9dccbef6658f0a9784b982e915b12123472ae7e1891fbe23891831b89d7282e890f731cfe65d7a07148838f706c18db6272d179336c1c25e02dd7e6942d7a94e7e0c54311bb44b5ca0a4363659e68ef7b72e9b68f4446f48ef9485dacf8bbb16df7d99ad755a6f0206de21cd7c59b95841d6db72ab8edf61b3663e622cb503d9310ebf451419128f588d2d8dce9269c0a661ba44bd713140c0f1442196d4859bd4c571d37e1312d4ca53122c68f5fa0174323f1df876fbad6ca4a6d8fd7c62216cdf4934e0d24b410feddd12540ab781572c0637dd3a0fe4ff1906bf9c29667e4218b598e9982cec4e4f627d1986301c372f48f5383d92df68337c4204a9aff78b6de0b21cbcb4487105c9e064e0d322f72f955c784f93a6a686fb9ce1b696f02cc5772008fc20b31cae3c58bba844d4c6100cb3af8d03a0dab6599eb120664319dbd887dd3c52063c8dd9b6ba44bfcd772025cc7b2c75a77f2bb7469d069829600470ee1f43e9f2fb4b147501782d18a72da090bcc73fda9f885ecc800dab7e9f31240c29ee3eae24bd2638c17ce26384873d2ac31c971d718a363dd946cd57279a089c672151d64f4053c45566e099472a717fc07631be3d90e8e57d1530a550c716bdbafc9a729fd57692d9336b79d36dc2225a06df7cdba44b20d20f0fc88e96d78fb7494d6d5376544b2db52675c489ea336ac197025694d9545bf43acffadbfa681c2a68c99dc95d9b5e35e61730e276f83f44b3c1d382fd1fcea38937adfaa10d6b740848392c62fb03e74063c7281282758f230051496b4169ca05201f52db36e1347403199566ba28d797cda72952843fefffc9b977db3657914d1e005f7b89010a00d44c2cf0c1d79d3c9621f40c9ab69d3b5ac125854c889995a7553a7383859a54b59f69a6ddd8e88eaf17204e57065c660161ef714c4ba750b3cefbf340bb0217db0f080b709d6e35c2f7276fbdc260f9ba4e93ce058d4efd23050fb15ea7159520ac8524ac7c10605972e55e91cdb9ef0523a137f558594e806fc6fb45363fad105996a5634e2339e9772d03530ae77b0370ec4759b594ea9481978a45b0a32c45c5eb29ccd16d89bab237a58161875b3c55d72ccc68e8c4b387b63d6abfca8b47b7552a9e9635d33d472e20b7fc12c0c55c00ea34a3a6f1d0273f9a2a6ee7ce519a2d43d967d6946757264858b81bcc4f114158734f7aea11a9f9d14ae606efd09b1e6013db54a28a372c93c63a39b8076909ddf020e98e6c8587ee40d69320128adcd64194be8004572d37faf6993b6241afa8fee1486abf11c99da8c2f348c467c075a9671d0e02e72a1a9464a5ac724127fe55a9e46a90c5009bf85ec4415c8540518a86f135d897220966b10a0343e85d9eb0dc4d4a623c24225fe0931a3dd655d5a524bd3e32125fe41bf20303b9a8cf95042a038f0b44802a98ba8dfa2b415bdda4e59e3e22c72bdca989f5ae381e31e3ab16ebcf32a60aa1a579b0f25c381a054d35a65882168bd5f9ac747e4ed97021a5deea4d8ab0cc4927e8df5a29a04ba9b5bfbef2638722f464fbb11351e56a20e4197677cef58530581585900661a67eb7c8a54726f2401259a5d92aec38603758a0250275c3744d0c0ea8a071ca5a7d9e3df3d9bb072f80ef32797fa950c243142a00b3e8986dd82ffb887f5144f26eb0a6e565e9e72f7c4f9ebb2b135dd11a658f343d89d3f900539fda528c576bd06555a3b795b7211b10da89d3b0b22f5c19ad4897487a3a1f7785440474aff57c90a311ed96b50d43f0fec0fc1355ee42a5c60a286aac536ad2a6300416083be6f161f53da872d4ea1542ed7e4ba6baf1649db8ac6fceefc68fef2c0037bc661e2762576f84272b97a4dfe49234be43b67a6eeebcec40e2cf11356362d5d88de34ff343f444f66d906a9b801ace35ba09baca2e7c05665d0ef3f5cf1db41c830ae1f5919623c22d2a06e0fb462f3b3b0429c5063868ce2830b39a496273c26c0fefde53728fb23a07103e293651e927b124f431cad01ecb91fdac1bb2655d9d1faaf7b20aabf728d7499a1776ed50e1b1b8a761ce290cfc5322905fbf14f87875c8c58d0165e028c2e3d20dfbebce7c918d692cc557809ee7bee3066431078885cab5c2c248b2adc146936a6fa947522eed0ee49093cd0762d408f457582b6ed39cc90db649172bf7a57cfb11eee8afc17f6ec9a7de8ecc21258824cf385ff74cac73653ba4714d2eb2f367a354ce46bcc2574746d8da1135edeb3873124e5937ef1a9cbc03972441968dbaf862c1f8150c211e389548382581121aa03a485adae4b54da8b647212f5739fe4a9011f93a727e709be83dbcdc1e478114badaa2070207735eb4c724a6bddee758f18471976fa1c2f18b9b91a5d3bb9d921a3a1038e7192f4378b7264f313d959c9e60ac54c63bdaa309012c8c7296d046c75738bec7cb4a860d77211bf79e1f378db516955475e9510fd88d7a21e0d58523bb2538783bc75e47a723955f0c9d72cd6927a43a3cc438a7dc78ba61553a32680841a715bea8e9ace4f8722458a5beeb2d06ea20c211fd1bd1eee26e4a00f12e7ac90904242ba903472450648fef6db51e0f1079266b48e9d2accba513065e2e367d513bffe5a45d172d8bc19e0e39501dd8b8f7a21be48d091816466d6ed61e872ca8a999f119945726dc1bf3ae62f8d468ccdf8648fb54b40088cb7b077697c8ac315ace79ca4c73d2dbd6fa191a1c76a32e3d1e7ff0a3adce71f23313171733a30267608d653294a4a106977da251f1e390d8127cf878f3e15675e0fb0b95aa46aab112488188f723278206a64ec5e066b5b024282108ccd3b03d99fe6fca8fdff982215ffd69e378508fb3f02ea1bd4f451c69a4bda005ea4d1cb5275fe146cefc3a86df6db9635247c474de6823446ff0d70e92e8b213793703e5988c67c0f1aadc5d264b21a1d02fb618bf836720bba76e0f3562382404a40111b563dd74a114312b121283372c721037f6c0f80dac9293a92d0627c28f7a8e50d1ef242bcb78f1a1b79adf272539f4f6acb76e9254213da373c2ea21b4f384073208c0f63c59c9188b0c139523e83e02336df1b89cc14b6a76b6293fcb805be219f00e262c1e9c0e1564e371be40cca6d35fff72273847dcda3fa247c38c83ee7753bd18f6c7578ce93c1b2724705b8caee24d1080dc5c43dcb67fbb3e6634a72183b0b60179e82546fa94e30ce7e84fd4374f4ebea94a69fa2996418cd79de9fe3881a3a62e098518dc0de7217a2e69baa20defecfdd9ba3dc0b0166a3fd3c38696eaf0a63753fd4b9287961a859ecd79779b3ac115069c92cad82246b9b5c6e9efa0041fde1c67edd6f66452aa2b149873a1f2f930c410e825dbe3f37d9f38da55298e833e2447222d500726dfdc61d275f8f5f9476965805be51eb42344b6d30852aeeeab45ebb4d54301ea2d4f4e3f5e98441ba1d8f82a2643993420deff93f43bd3f876d30db87aae272e43c20f556b58d708fe12ab7fbe967fa154fbb4110aaeaf9082f47dbfe1194726e4b8ab0d6c4a9ce0d964f4c7c1af32c5735b0cb73ea5093396e274978c64c38dbbbe52ce665236ce2145ad0982812edd979adf57425894da5ae66a5d58599723ce07a1be48acf6b0d3a20d6c90d0e94e41ff22813e2fd8b25362903660b3a332829285a69af2d560329c769dadc289d20f6cc02bfefe1a416c37f2cc9ced072b75868c4d29fa7334b521a2b689d51dc172419f042f1168d3eca5bedf299f4726a0adf500b8a18001120b3a78f708473be8ca3dabb0ea4eb06fe0056adf8ea72be71db992049d652a31db3e37d237154f50f2dd066365e5c86c2703e6eb34a519cbdb53bfc8b7878da3a32d518dd8395602d6e1e9d2111e673b36f679736300c42437cc4a9025fa1ee0c8f508cd30a5a2aa03d4ef4a3f8a2ce4a2f677ae4d072883e2990731097e67009ec770c91fdeab98c0391577c2190703e161a8456d172a9c8ac5d6c0c2edb0894c2cd1dc7aa2a2fddb39c6d9f052e3b0064f9ff477472a5b97df843a4ba90f18aa12989f11f8246a0225e8c95667f3e3e44e7ce1f4403e291ff68dbd48fcd0416e99c80582e08208d27061c92303a6270a1c730e1b55bc9a2d21b8487e9e13563800cc3208f372c789f832d7b0f7e71a6e8df358561274d1ca91bcdc4160d99d8963293e4eefb84bd081c50e1969bcd41d80fc393e5549f7d00fc1953deee8ca7be14f7fa7dc50a7dcfcaa1abdabcc4c1826b3cb9cd724d82a1ed9135af29b1399085a1629368539919ce8b14d8e65575f917d56dbd218499836893a8b9acff286818a8df56a8274b5357436ee56aca3c91864666a117388f8096857ed38c886425fdb0f48105940b0f20630f9d3e9d4348d08fdeaf720f3eb1dafe28086140bea2cd772c73a78e3e51de5e2d22d501278a1694b8ae72b11c5dac787b07f7d23281210d2d3aa72b7868363361247dfd10b3a338bd22729f7e02be8c77b53d99768e4994c69b3ea2e177ae66d3852f800fdb19703e60174b016142a73022e16e4ef7e7f9c6223e3f2c92ae665040b024afae3872822426eaa2b72981ec0f894206d52d1a07762beb0b361f1a8481c9d4faf6fcc7f70f724ae489b80b46b7b9db4cd839e17faa3a8901c2b9dc817cc314078ef86a65c40c6b464a707134dfcb3dce91aafddc462617e4645c3246a7d48ce41d291fb19972509ac45065bebe0eb4e8659061b9e533e06a80e9f4d8fa265cb76cd451dcb372122f98650bdf2971911bffa70c78c74d0d8062d766169d68b9de46dcd5aee45f31e30a87b3fc9ded5d6f51f6b3df1cb709dca3f200229ae8260f2bf798b5667275f6f0cb9fe1a39409fd4835caed605b6419bd899578d2e4b334820fd22d3a7261020cd03bbc223104a2c5db81852771e3923151b094f25bffa279d9932a3a72a414f03aeaa6feb93f5f7ee2fe8aed1aee314d7ca6db35daef8d206a13675a72a65582b5853f90ec3f5b0bc302defd811cf02b16817541ae99896edb1b7fa432ee57d4a9abd866a174c206d3d69ab9f2ed01f8a4ad4df276ef5a1a7ed930043d1abe8bd20f99d7959798924f0b3d57defd75fd342e2b8edbeb24fdaa4d46687255a17f443fdfd60a7e123b8499a3eec0ef6b55c5d127ef267bb658c5a09279639b31c8c5fb65322c52dfa141fd40d29a19daa9c6866edfc8070ea87e59a4bb4aa4f44914cc9edac595d76e64fc835fae5bfbac2eda57c202b21f6924ca75f0672c970a9309202a4ad32a636f24e9a82c9d222f04d9cfa86e7df077d4799f515571b9a7aeef0672e5cb73264b4456a8ee3600baf92b015af169b74adfc9aba3729d0cf4c7ecfa9a51a5380ae3772298e165eaffd6609c7d50634a3eb8f3a57f605e11bed0b414f06b7bfe67106a20049adc3f1fb99440593a34e32e884fab4d72517e808fa6772a9625e5792f2a642905a91547ccc04bb5fbdd8b548dfe640a72f4c49ddde441f38ccfc17aa22260230e27faddfe7014dfbd6ba0256b6240463aaa045fa081f22c0d0a8ab4dec4cc57424feb5726505bef949337b8e69ba7fc55bdf6bc63878c3a0e820f4933be42fa38c13763790f87698a79bf2eeaba81257295fdb3a5a0015496121ab49cc8721507f73caf059019724b9155ca87909676728c7e95eed8788cb81f605b21f9921d6d715bd0706fe81cdb9563cd63c7c37c724941e035de5fded390003f9436d726ae3cd7d8dde353e607c58b6ccc4e070672c872edc557555dee5bbf4f3c7f47be403948d08a7f247980bd3055b9fc071972745ce4c3d5a2defeae9d43e60ee9b9ff84cf94c2efc5c93369889b635963423c99f869ad5db18125e1b9f7d01e3a8c2e3600294606c028a1b9576bd37769a172fa7bafdd4041a6e6d4075ef1b8194c06bd3ac864b93ef00ae810976048636c72c34f85f3135f676184bde184f8c60ba62d85770b35dad631e12e4feb21e34872cbbb8e7dc87ed27c4d9ba7e00f12dfb27da35728505d70566af5b35fb2ec7272d96dcdc26883460a76355a2efcf18b83fa45a60163cfe25a411e649364e33972514f027be81750d71c70f3abc9a644adb0d8244dd346edfc31833580614d4d72efe6387d96878a4b5a992f95c647932a0c81c8dcfd3eacf31bfad565eb00b172bdc8b2a3c8c5d3c377b62654e3ce08e718419b9b5ad29a7805f046171dddd6725d99a048c506f8a9f9703d1cdae3c4dae414981677385ab7591433427929ea7208c7d7fdc705cc12d6da8891a7f95d9767133e36bfe44f575f7b1930b60bf9174251ea71ec06515079f63438c88ec48de800d1ae13f14408647b553d29b973721575f17c16ec55f8b545d3bbf129f63845f816a67b0b31ec3d135dc6e121c92d9a672c18932554a6f09a902b23f92ac8a66beedb8ff9bb6e5de51d84826d1e72f20db3828d2c1670fb1f46327d7de8057b98a9f244294227ecaa31fbfaf62e72ca3f36f0caafc4e417d6b7a3820a6337c48c36f801ba2c4e45d325aeb8af1e72b9322fce494fe8d09252567ca9655f8581a670d3b48e1e7aae95c0cf25ead372d8fcdcbdc47b8b51233058d3059a591f0d984e0928bb2fe27806de211b3c6d5d906fcd6040d27739de1049b57ad6aed9ccd42b772c185628c7d61c48335f8872531b30fbd124483ffa52caff77cf814106406ccc624d17b487c07bd590303a261e2e1594569d1128778aac77926d167189245730bf752865e5263ae23b2726725672d4039b9818eda9a2ef305b2f3c1ce0db848147c2e3f9872f6c612d762f7246f3045503e8207f0daa1b194e80f64858b736d9d17f2bee240880e82d242172b0d444b32187659ecf674a50d6794f9973e357576c6a3e0c6e67354db37b6872271a5273e8438a8fb0e290bddffde93b3eb013a549522efde12bfa941359a67242680a05d9b8ee3e1e9494f984124cf5d2c57d8875fffa0e766933a28fceac47682dddf2a9802ae30f3238599c8786760d358c2d8a7dfcc40061e45fd2f5750a25d8e52c6200880df2a4fcd919de9e6bd2fc1f1e98f8dee6a7d98147bce8157277a210ac7de46190d73860a71d5326338710b4a02d38ae823c7951071504c472724b6e8b32a7065bb1dcc1afddcdab49e6a53015a067b2df912001fa2df63443f34b15b5b2702e25b5678f12075563f26dd431688287b0aa5806548d2eb0f370f4fc64e18102d260faf704b6c1a6cf030b27a6396e224172711cdcd1426f8f72c10e2a5928081200acd7a0ecbd2482f2df88a1d73e12beeedfcfd05bd10afa72241fab3286dd3cbc17a70001c6209b215413926539168265b60763d343f1895edd56c048c272e66980a87ddbf7a270fc4bc3294d2ae717637204e8b33d481b620d6daea7b6220d5b50fc8600f921a62652a9d8eaf35cd018408424b4ed51447257194710ab9228820f767b31c9445961e21a05c75603c30f68a7d775220ffb72572d22f02de24a88e13f029e4479aedf94ccea92e5b27118c973cb780d449f5b1c9bd1c389c4960275e831c3a4afd9b27a10e6631e045740cf9aafc1c437d8728a4eaf74181d4816f968f4455c4849d75745fc5615e8ab6bc68875164e44497296c21ee9a4b72974c66de5c1974b2366c0beb102e3056388b3d78430c900dd7216717161ee0a1c605d34bc0108d9623fccb56d884c9ce22c20b8e83e7252f108e54d689db91b1529f69939db6bae989dcf25b7cbcb186ee7ce6f05a3854ae47237dfb7e953f572ae2847b4970eb72b1db90356d3a018b8dc70c1ed42eb820801f9a8978d8d8d88a0d234603e9437fa86a4750ace41220c403935f2499c083d7275652a6e12a8833086f7768d8d92b33d725f5e53ddb956b2578cc4e702159e037350ea191c8a9d46b98011c3a2f6e3cf40c10b944f4ec60b6c82339c2a6e740382dbd305573f66de9ba5a17c4cc189f28e7cc50f4b88e6cec7689292ec36063f818f720e0899ca345455fb7e39e1e95ae68e3b8f01e6065b7de7b413422a5a72dced81d3515d462c544571482dc4b771a5c34c204b449d48023dd7fb7d615f72daeb5a0deeb61f798505e526f2d18a183c344459c3d0a37c2a4b50f95914422db28241e19c1cfd7c494e479fe4525d27ea231f0ec5225b4dd1a662c24ec48f725ae9e5530291e4a6cc0747db3ca2ff626676f73257a6371ba6df3dccae0b59554b09135ba06d5720f8cc87eada91f58d865f8a652e8e1484296e49a8573c6f550b2bde81189105927f9e1cb5043e79ef03e94e4078f33dcd8c58413c604bbd56992c21ed61d2d14f5067b3d025927997049bb1b076125d6707df578297af5272dc3db5c10f4face520a20858665347bf9ed3b1d8fa0bd4f5a020dd2e81b0b272e0ac652b87345f0346e28c1a0cbcc8f95146c70b15563fa45c8e3da38ae90d3bd539e6f709773e759e717a41cf0e52e8297ef3a9a4ddc322e2889a1a4b9e617282a1168c060f448ae31eb326957d2d030d87d8dfc3792cc5e20d4a5c0f9c9e724c695a65ae0c8e07e6ce58dea7e008bc051fdb333b60259eb17d7a59cf80e31a30a92aa2741ac6f83e6c2c10c4ab9d6c413125458f05b70aa4282b848b916b7277825f4d2f9d941a27358736c42e22fa7eccc4e04a2e5bf8629e17e15bc96a6b368ddb94f8847c7ffd1f1d03108d0aa78ae12cbe6d74e6d178ff30f58772381f1db47dc39a58e84efebbc7bbdb92d45d82d1c2f7edaa34be0eedbf8ca5a38d13c0ec93eb9f5e6ad5b105d46929cb25a42d9220ce1d105b8f6a86169f0afa2c715a8f82976f7b9172e3c41df19f4c5fb40052a21b7cdfea964f9b0e04cb7c863831ea1bcd3c04aa346f7097fa152458a5ccb6d7ef4fdbfed57ec893c32b075065706e035f9155ff1725074ef0940047485b33c28378bb978a2280ef5c623cb372de80a1870e42af87c1265ab23c8956be26649a6d9c02ae7438c3b6204a6436720a64d6dc730525901de93fb3884b8947fd865ed0be2a4ce0fe5f8f5bb173647296092cdbf6b5d9a0b14c31aa0060f51682254ac84dcd5fcb98af02459ad69968b701f83d7f34383d5b3dae187f8f1f980668bb85e1ddfbb159a42fa13525947212ac823c11f73c2c820b87aca4dff1cfdc1774d26d5ccd7608e33506ac70555521e781321003f3be7db582a4de304d829f665bc7bc4008f09319d36b2f022a72cde143a413761702f69bd9297834b5e9070b10a61e39718f6a6ff093e9e97b2d0753ae82b21f2791421afaaa51f395fc2d01f899c3b17c729e7fb58921cdfa728d470a6d97ceaad8968e7661a5b32660215858dbfcdf229a6d413214a4ea7e727828fdd52f99d81dbabeb91c15c37611afe667c455ec832800a98f922e5fa872e586d239afec7970c44260e9f9003b0f8fa6a4366a8c6ebf24fa9da9b19677720abace6863284392aa41baab41ece805dc959abf0237325f76625721e0e31703b4f27332401503f6684328663f0fdc70d687f7f93e701eaf5ae59f66cf0ab464fae31b9d7e44a3605ffe2f44d1fe1928189b57a54b5ccfa9770130b4cc78a066241abae63e4cf0a8ace4bc1fd8a8305ce61e8a5060cb8acfe0853df0d54cfb729515aa7a60c52ff8923a847e5efb59336c82210373b3be074f91fcd6266a4172bf22c9af3c5ced6fa9f265e034b47a7b7adc72f6f988a349ac36964f84f0a601d1fdeaa94c9b799c791af841c18218a9f5cd8f904b27060849f8768ff6cb7e72a0546317f03abd53c3933c3be07bef94e690e55459245be053f5a1ab9ba68938847da14ca17300164da7e620b47b8c3ea1484738b209329836c9434f8bd114727d143ab6a829ff8e843fcd031e2201c79a93ed95c15630e0e8729258861e85008cc90c405aa65bcaf2fcb6aa67fb6ced44bab8b513989b2c8424e4b4fa0382727f025d555129c61f2bceffcdeece26e35ac2a8c3b534aedb676f2d22ef5ba272e7bbcf9d7d976820afb18da82638e5df3895a12385634390adb051048c2ef7728b61b700d9df879a94e295eca2c9ff5ccead2e54120eb9a83aeb6fd4ee9b1672ccd9ae94e368984f39a1017cb5fb2ededeb60815fbe9aba10b76732290a63472bcb6b61f7741c6136afe7f372de6447d025b2587128ad9f348caf2d468944c3b8b88751d08ae61768bf3bf0efa26a4bebb8751158c64c5a31bcc7678fb9aa07207100aa1916337932c78157495b314482a77c253fc9652496fb9ecd7b9ccfd2d548037ec6db364e827f33e20fd0dcb2f8ecefc7ec69cae901203f33b9b89ab4b052eae8e96ce5cf82fb0e36ad165b241f4d5fc3635b3925665d7ac0bb247a972f743a7fefeaa08a0c7b50bcb8df62917bdbcae56d5d98d2e1b6045222928a572c11d1d9473fc2023e072fcefe2e729620e90b807ffdef9e323889d9e30782372d09f91142ada864b005388ec42874a0e02a118ff9503f316bd24e9732838a972a7effa6bc812c5221855f907f432c1217e9916a3b4c91ca0bea9b435bfb8c67207cfb905ed851d85343018c5ebcf724d6a445db2adbf4893182eef8560a7362566d4994fbb5cac336e8fe0b450c3405e8bff95a1f47f65a78c91a91cdfc8c0728bc86788826f765347cedc9e9926f994c96befda953ab0a7fb9ca0653da5431baf3b07bcc4ee5d3a2b757f8e39b2eddbb8d0545dd006e9b7634559a6b70c4172370ea840100707a12e5b99690f895e2b380a56abcc0d03c36b492bc41d965b72ec9f6249ea2d0e8b8239876d2bdaf860fd934beb521993cbdb292b0ccca0b2725cab36b3ea6a3467044147617ffe7b3e567a416eac5ba38444f339baad93b836a69e613d970d5870b2d208dcd59f7d2cf3a40901acde507e53137f1c7676427296e4ca4b48a29c2cc2308d9f7c6b0914cbf3f460fcfef94e3312dd280e0a5d6bc42d3e9c33da95a969abf0da2e3266858569151638e83b2535fc907061cabd725b281e6badd9b34ec88e7859729dcc8416d26aba4a4ee86633818e2bc5e04272f9f91ebf83f39abf3efe5d5660dc76f1a7de4fa231a9bd84e66b4fb35bf2ab727225194c586b0914aa9324db8e80df08da0c5fe90e8c405e4221c2b1abff6f7220ab680c23c4c2ccce7530c6a091e4bc5dd7accfb0f34964a5881ccab3b23929013edb8e963120623cf5b351f1cb5abb82302e17340fa467193a6dd7f6ace47217fb023c69222233a83139f5626833536d30a808c5c2a8745de23a235765a37285c15fedd371bf54a38b4f8cb0bba670af6b6c2587d5ec2e09c0b576a01e6172d5f6fd0f0c7109a58a8e46d542e29d0f367faa395dc4f03129c843a9106e51638f0b78cb430179528e7275bb05f784ae202088da5ecd34b8700118e3b8e32072d7566e82f24fb1d87bac5221ef794c61cb81928ce7788f5ca535b5c1a51ce572a80c7316302d9e2066132436ee4c6fd557feaa52ed8a9fe7c4d03666c1072e72e42bb2dc5af8eeebd8d663307db019480c207bca5cd6be64f014b19353769772dc4443484dfda98f32d9d4d49d7ccaa0fb00712e98013a7791e661607952957256f19c09962d7ed4d8cbecab04c3f734d845aca40b60bfd68c46f592b97e7f1a7ac7e3e0e17e936e9d865d1030bcf8835b05682390000d3aca2561b0efa152459191675b62120b009074551e9c2de78de37ded323b8f6f23ddcd967e8995d572bf50ef79b998bb3e60bb42171815e468bf76186a4e4762f708083fc2dad5a572b8f69693db6fbba2dc57b51ccb81f0cb73f3a285c911d3f92bfbea01a41ffe015ebd3dcb6da91e2b542632ce88e6cc012998e52945346833590b7a4df067397269086f77517c66d51d210a5854173eff1f4c08d4f5c912eba8fb31f097eb1672ac0ddcaf078d080e209abf2eddd32c1eb62201ff2804165ddba60027a819403bdd227d5e2ab20146b62cb392abecc49e5adde6aa8d66b4cdf35bd6553c3f0b5873d529e4a3a4bffcedddf013723a90e82e1a1cb53c76c3c5cd6457113c54c2535ef822cb5ec31e5ed6651e107822799011c15e051614f238a4bcad9fdc06141e90f33ff3c17ea0f7778fa95e68afe141754dc4919efa6b52f48e6326ec375a1f354662416320709d7ae3d81179636d0a534998df83b040b987dc32a2e9a96b3e967ea6a81b4fb2e277adba92a7b1e507d66d11dda993cfcb8d99b7d56170b072ab90dc012c34251083160fca87a9b3fd164acd52b5f58c9ca58c18ad17a85572cfa9410a56854911fb07d1d0f5ab231fca04bcc8d0945467137c2d99b9da0d727fdb4bf6f3067c2c69aacdf79349b5ebe99b0983fdb7976d41b31fcf80e0ff25274e41776da5810b1356cf11bc097110bb247e5178f725b6cc0e9a6aeef8fc427b7cff7c885d106d1fa7d198fc974b0e194c895192a803573a640c762f4f5839266c5877adc1aae189a6acbc25c9160564d94c0713498a9128e947c073c30572350a8215d5a68355a55ea353f2b8e5cebbbee25dfb4ea5b69292af283d553e2d65a3bda30df393a06e85a830a3c94454a1500e668b889b4857572a80ab6d7172efece239cb193b3a0a48ea45990cd29d2d1fe03366ff8357291379455f4cad72e2431cd6d38ca819d19aa068fddd0c572e3b535f5b872f579425ae0589696e72ee09c675b0dee09dbd709602e4854b9fa0ca75647cbb729b6b7bb841dab72c725a9fce69df452ee90f594d9fdbd4f46dbd937628c9205855c6e1be92604e4d5d93e8d6169af27d3f7f130a179b176b4e9a1e71dc85ef467c96f389a27b4bbd7203011b00e47e8b27e5ebb9a7fdcbe43a90d931429871aff908dab78411d73e724c3de73f3cda43a624ad924a899b9181646523af07620f333a6b93594d69de729d348a5e071ffb07f55d61208b63d2449665e444a6766b2dc13d7ff854f8c672c10d0dc44108e3c0b3be708d5f68bbd290b94c8b744a3a16ed80d5435fb0f71a93ba5fb0b4fe938708c5034c03d97dcb11e4ae7638228afc737aba1aaf5d2f727933eb55e2c360da9d766e3205f5a32024149cc38279e98b3a162943d93929723f9b530d914d0158c4c3146bf43099faf08ac044f559d65df4d371170b5b2a1bf77820c3477f4234d0fc00e6b20625bfe668c54db46ec1672e688fcd62ba3f72a602ebe0844b21d441bcfe235af2d1dbe01966c309c33af1fbc065fbd1107a720d3bde2c3a249b5d703affd7aed9b05288b6bee1a6841a6b392bf71670eb6272d330053bcd1811c0e6242fa525a1808a9faac09b149fbb3a1b976d5bdbaa582c292440576b94ac75365447236963e3ded1a25e7b1dc7cd050ee715b62334a5723099bf3d11758f1014e3df952e5053de0e51c47e7f127c6f10280d7ccdc1d0244dc51d171caad434f1400215d27c6af9215fa5400fb268b1192238732eb9eb3093abd95df97464156f969b2025a9bc931bba40d06ecb5eb143dd4c6f2d5e684196747ef9e443a537ec6f3fc1cc143063708cd5eb0d36b414dff247c7d4f9d47223de92ea00210e327cb9e31ea252d66109ae013ccb27b25d75bfc82a045c467226de7af3e38b8995a65bd6efb54aec9e7dde3918347e88fde13a5998133442065b55cdcb5f656b1d9983a0a30eb74e355271a604adb3ee847b44549c4dc56372e832195ad836f44f083880d9ca39b8be93c5d856c1c5406c0fcfc90ed289a905dde725f392a3885ccb58effb407811f8aba8f51d2b6669564d6392ce8176844f295403f9db33b5f58dd148557a66652ed78566964914d51002cfca8f3a08ac0adaa3e3461283d965cdc47df996085605405dae12eb5fd847182c34523e4b3a720899a7815bc23f77e7d14ccde2f0211eb0c6ca99f676b3c79ee37aa6974f28721492528d4fd756634982747f08d5ba676c6ff8761d0fb68c295e8f2abf8c294e29e2925a34164b90709b5b4427cdcd30e9b4b88ed0132dfb8e13d6c8fc9e0b592bafeba552c481b882be152bab6ce822afe33549f494f71798685c9509fad9310a075e78498ecf1e42284e0b7e9bb044c8c5b4f2057001c72ac1dc59c92f017291d685b22af783053cce5ec1f60ad0c57af0f131aca9307cad49bbb719a4827298d6dae719c07c6bf885d7427e0b3afeead0475bec0b0417b2ce966801276a72ad279b3249dd6bccb5d577e1fe9299ab10009129d826ed3ebd6dbd434755c572064f9330c08b801664d57f78bec9a604d6fbe2dee0c11f6d321be084a91c7712336a68736eb21d2c19bafa54c99c0903d22141247b547c1998bdc2473d19db3f38568ff8aeabbd73e0621db60f095726841c298160234f5a3db5777cce4a30475bd28d59858fe1818bc54e910ec00daa70258e62331c3d08681c6f0d16e2254857cb93ea82c29c683ac64bcc50627a514cbb16b5f827dd9fcd26cd07cb24257234cf6b2ef826b18efa8bf8faa7618820d9efb079570e84639d1e37babe0d263dd0df09353018f471d8a3525fb1ef289db5184c1d62095a2e798e023abb16cc569dd60004f0ae0b5369c0b577400a3e14f61e60308742a33ee6eccf30eefcf07213e0d4c990138e6868172d8ac01c03871ee94521a389d9b98b7e0c31cd1c00724cd269d9c4ffecaebb798716d6440ac0b0704640809ceff71b023fe97d2c1e728a4dae939d4cbde6b5faa35d0c0e4d6030bda021f3e835ce084b1f1271d9c27238d7e886fc72a5b0a5df604e8c671de976091d64527bf8f73b8659f38f653e3e07954fb177f4a237ea790240503c9f4ef6a0699f8c57d1ddd9c3d1800939077212815527b3095ab68878d9ed6bb383177dc6b8b7d5bef1ac82612532f17783723a6d9871eb398995b13850eb39c02e9b6c3a82f683be687aa621083c4ccb6e724f163a699d00b061a221589ac58e3136215491e187786eed76e2d851f4bab672e05f47c4ad95470101a86b3c0c505f9037ef44880115b9858c4849730bb211729c68b737972b6025ebd918a9aa7bef8936763ec495e4d41f64df20dacbb29745a7eea9d7f4122295be694b5e1196439c358c98796977919390047d709a278f72c8d4f662a103789ec73ee0b3d17b5be859ab689ace66108df286a7f8eacb9072d9834972c2521675e3fdad64c9b6ae018b9b4edf9c515e4948555ccd82ed597204932ce5eeb2ccaa1691039494958d39cbf40b220c235a7ece4237751ce4f272933768b768510cfc95876be01f71aa36be0a536fe7f93ac14ef8b42b7a0a9c72ba83fcfeae5205a155ed9da552f01f6092efc4847fde9dc305996fb3e815364637c743ad03d2423d890167d471acd9a9079715f36b4dd2feccd8a01929e32327008f18ba612d83c621ed9dc5c2515982c174213f9fa56fa9c765a3ed47a39872ade5b583df32ae525dc8f38903e5687d123827aa170dce27f96e7281bd165d72ee71eff894839085a8a17874e49b404050f4b0555f27ee6ba7af7cafa872be48d8f63012ec50a0a402c3f0a1bea7fa5997b300b7f6340bcb2cdf60d522a18d1811e33ff8f42598a692093c6d26957768bd07cc575ec31bbcce4ab5f4412f637214e8618a1b8ac7e206f33455935c09b87d6db12cfd38d08d3dc5f80f5f05cd726d84352a187f4bd512f6d22a310091f9074ab0b990ee883fee5e345f49c8f4004f065a799b454769f56c37f6aad53d2064fde3ee201706321ce9f72e5ffdc967517a0c5b4f008396cce976cd0e302fec03e35c8f5dcdd4180b322292a9febb34e1a03a37c9db8274a8d08684c8f3a970d4396f1b8557b72b48cb78a269df29723e4ec31ac0e879dd8b10ea37d78cb26e73c4f5e420454469571de96be1897e727a378e80658db545994bd36634fae94a402efef7ea019dfff1b29a1c18ecaf722976d3ef1ddfce60cd6b84a1e3383fa65d8b615e1d607b14f988765c45115321e975125ecc85397d7a6672720c4b5800eda8209e61245b4ced3056325543ae728f3323e0309fe43830af50fb2fea2fa2a416a6428fec4d424f5c04bb3f709b725b7809bcfdda64f77bbed3128f4f1773b7db4d0b5375cee8234e79f4dd2f8b151b54b79cc566c9327a747a8631a9227687d8150db13880d84ad9c5ee6533314dd6a70b45f7d6bef62f61fe4fe462397aa475aadbbab1fdfeab78ddaab1909a7207e62977d6246fa65058bf09dc34614bde7a0fbc71cbc26b3393c44c6a55f5729388d96aef985bd647a1d1933278bdb320b8e5d6b43d334872113c81ed44c8723c0312ba16e7d1df55d592edbd01085133815fa226ef600a6c2aa603c1ed1a44f1de2e11926e8a3c5e2ffc5d5b6c10d68b215246b70afa1f983a954b4b6d2b72769cca15beadef3d5e40b0cdf8dedabfd19b96fc2f4b559ed69bdfff72a2457251354aa9eacf0cc8eaa3d2e3a4eb0aa6d56dcb234d8c665991b5dfb022585572b4f0b9165305a5a15a6f41ab0a35582f0d76a3f685a26fdf0aae5ced24cf7472eea7b536daac5abca3902150ed8867cd153b27f52afccc3d9996cfe27ee32d72b14668cbc9a3f95217bb8e1a5de0ff2c928d0f8ea3cb6d4e44105ccc88add7341f3a201934dfafea10972bfb74b8b74e6e360a54f0afa414c118e849722e2b72cf1fbb47cc38d9e856a169b968a184f05a4d1582cb96acfe49ff648f465fc472220188e24397c3fbfec837c29ee1622ea39981c88d90102c89fe4e165fde847278605419eef9dcb6c3b35eea1cdf06228a5d6a2121b1793b846f755143465472bb9625240f9ea68f6f8b38b25d6fc4ba30b4dd481e6408ca0b58838ab205084101560baca592a9fe948bc068a1391d06f8bc1d17dc9c358933e61c9065454872a6302fb5f440399ba339bd446f0627a8e36b27845b7e6aea82f0f8132dd4f17214650db1001d4833adb18d5a43c46669e3eda87dadefe9679b93e4cddfc60b72f2641f9e40e13a2a23a61f2360cbd2b61f2fa067815cde84efc4d83a8b77233c9ee7a39e9fd816ebd88995a6dcb78350e2c20a19065045c2d478945e38da81722b4ac63480468235be66302c50c777da54360de2d533797f3ec3c61a4c634061b9f5b5785f75b649155af7b6123c3dec2785aee1f2efc38817b1fdbe76e49d72078261fa6d8edbf81d3a9f214f3b2aeaa34b10f68110abdb1a69068bbf9a9e725cc61b8098d633fbf148229954935ad36923cb2326c828ad14d8195227384972a2fbaff81d296236e2b7948a53f5f37e7d5caf1ecc463081c26358c235f81f720257a8a2c70f97938029b20ab91a710da835b1944ddb5136890ac314ae505e1dc563c71549ec3d997f20dfa95d4445f1198ffe3908036eb7cf51a53f07618b3a92350c0faae8e94c566cce942b3e3c2ab012e5ed2e130dfda3c54dba3135e472245b7d21b819483d97996d21af5a2feb5bebdfb334757ac7e9b4a12197790672df05dd9e1a35f93637acd67986874fff62ada15514ba176b136c2149983e0172b6853705f2edd380ca8bba0484cca0467bdd386a81b71fb5d1bfbb372e368409d52b023c9b035928bb82c8387a9ff7e6f75c87a6fa94c6461651edd0267ff1727868c378348b29d9495a628f408bf4a8efa84081174a590f29f033a929bc6e425e09ce560a5e69d10f23b3a5bfae05ba7618e9c5bff0e5f08ea58eac6cb1bf4e7ebf1481580033920f78debb329d4add103c18590892d9aa2510d3c1ba41955306411798de91ac93e037e07373be0e8ec407de3aa44f823be2acdbdb3862ab72a536d1e87f87418aecfe558e06665c71fd7a3522ef26a47eb2d1d9c648e534723b2286b08aa81b749fb055c9e54ba1d197c5dc2e9899e6ca90f72257f11a0d72430a8aa83bd261bbe740a15fa20afd3f91d7801848dd85211653eca018ba5f58c8a48398ca72b6884b17af47efd23c04b7e1cb42d370c9767c3186fa7af4e967d72eb999f4285faadb96eb21acc9be5f54c592efcf3d0ae85e132f7d9c85a91f6b5446c27d87ee3f0dc2cf76c2da2367d7f60e6075687dafbc50229ca364254c130680461da356e4c39ffbd94e059d31af16c91c227e37d50e8d7a8752c47749c675ecea3b757a2b9cf70e946fb6a1508424d674a9bd7d9e22f9ee2c8c345572b82537c9b98b05bf99f707ea9ce832b5f7fe8a1eedeb8d8c143b279902c0fd72e7b97e459d4c4130230782fa0d3b1d9a1def9297f5457997839fdedc73d50f72d6bc6cb10d80689567397d33e4db80d26d141eea8e0662af992dcc3cd9ddf0720b9509f147b7efe39fcb86fa3d2a54188fcb006c4421b680a92bd123ab3c40726d64d1fc35f6bfeec5ea4d33dd4ad55f2f90da54eaae84c6a4b4e3966a52b572e5d698ec17e39226c6da74865c9f1bedeed856576dcf96d4e88902246c8f6e72f668c490dbf04115a7962711d64ed150bd28222723ef94a6696149682e1f3d286f843da6933ffc5cbc24d4d8d28c37b6ea483ef4d51912e6486996d03bb9ba1b60ac4d45a834b5efe6e79383a8a6add6e729b8374fd6cbdd9feb79406bef460599e08146355135a074c91e91d26215b564af5579d1dfb271d45f648bd6bace46f24792b178b3acb3fe8af32e530df528136c2a32ce20723370c0b0375c0a62722b92704c55d298adde272868967e017c7c846f1be09e08881d2e107dd7f0a26a0d3b14ba19d47b4aa6bccb737bc48f8a49a407a891acfe032d47c353fef3bf729a2e7e800950ca3ccd01724df8abf0b70269ae32c41f3958d94d67662465eb5556db49bf600b6d3224204d2a2b289cbef4c61bbbdb103c62fc901680352896729a464b34b3d20a76f15b0b7ed698ddab90bf71e968b1252c0cab82654bb188726f2234d9814d8ed8c06302520441ea3da03baec70fe642e431463e35d41136723d29a6ba623c9362e1289f27d668beee37fddc0be314b630e9e5f6d819123c72e2d6c06bc74a1a92279a475d271ca232a33a186803a875ca587bd53804ba1c0907751912c34ecaf94c7da26617bf5fa0fab6c82adc618776a815806633123944aa75daf2166c70b821017e840bb2d9eaa3bd4c0d08823e5828c36c2fb23bc109d2c2be0a118bb513ed39097412833fdfbc8bf37b90930e26182152e7d544e872e40e0a979fb8c780fe081983dd965c6b8fb66fa29109bfcec91f426c6af1dd72ccb7d78cb9d023533389c4450398ee81436a13ce0749ea1f374bd5af8dc8db1d5d62d1de9a2b23e1574f301aaaf133222e75e09fba765b1e3443ea00f36d3f72a841005f655aa5e837f93676ed4991d7620b8ea3c57a2c7e156f9b24c416ff6c2f9620afff22d0f80a897876ebe5657eabbc4856c7001852a44c73e2add96172e4761e031838e678ed60e8b28ac884fc09cae954e23e285c2a39ed8d1aed4e584df8bde2adb773595b4b1c7c0500af8df3040f88b87f342274d4b527cc0e6e728398c896a2f549bea5f785ff199ca888619620de9f280834c78f7ff335511b72897e8b37414dbcf34d8b7fa279d68543800542c8815489bd5128ccdb4733057204aeacaac85e7f3436059c8ac9f63c8b0899b80a058c3c57029e69a42f23254a74ece0da27172b17e435217c4c2cd2510c3e5469cfa2ff584093974004ba0b72184db51c240440111f077e42a8b20c9822b07183ed741b697210400871954b72b1aeef48390d4eb7703982833a69f5ee80e607b36f62004f456a65bc70ab8f72379a392209c1c5e10f8dcf02586b315abd860c20d1d1a21cbd7a640297fe5272225c39597a2f7425f74c8f5e719f7ec96f5c2dc9d4bfd9e1030865bd9294a77207b5016305a38a7ddb8725aab8f954b1a7fb06443f9f7c7cc0d1cd0b60bfb672ead674f7b8a3a8e6ccf463c95d1f942ebe1b91c17c3ba8682fbcdd7b5ec76f720e263be3f9d2b1b1176bf16fc5ea3f5bec9f739c172e9893ffd942258e9ad335dcd2cbb09cd31b9dad8dd716914d8c05b83e9fce325d2a581fa4ab10e8e47a726f049e857dd028763d319da65c3c88aa26298c485545aca17c03f2345de925473c829bf0bb0852d55435379c2faa4a02b559227623075bf81c2546f483d12d7274338b9715c2a678133373dfcc1f7d4bddbb86c488c97ef9bcf7573127124d0fc0ed0747a9f348e3a80452a8abd90b346c9636f243f26e46ab943f42d3e3cc72c64bc46f7b0e17c6f1374af13c17a22c21677cbd86f04275e953ef661f6478099badfdd69f955ff4231e01c58ffd67a961491288bc0b8cfc1337fc91fee3b16ad7a966b6feb1f1ba1ab20f885acc6dd31f7b43a21944dcce903c9e8de7d84472b6f9acb8c3140bc329549e6b02cc7d097c9450c12ee06871774f1efd844ec772604f4432a209282c1254033f024cc9448c3a223227004eaa375b22d5b8848009286366d77435624fcbadf40e1adca06851cee25624ea30119ad3845533b99565acf5f0106a8adf6af7b1315f54c56b6d9c82360b864d70c80250a5d57d930c722aa1f9f6e7b1199d8ab6fc8391dc1188164aef33cebde9296d38faa266aa15015846b070d073c646bab2bef8c1677aea7dd28b40f6df0c4ca0bed8f242af9e7249d388b84a7a6d263f6cf717c1d4e0678ea108488e66bd203ebd8466d1d86e72f5ed1baa465d3b11069dfbcb342d9bb726a7d09903cdb48bbb4ce5785d2f5072833d16b6225e3fb153d855418b8d3e29c316ed83c9bd563ed78b6afcb3d6a903af1423d8d086f88ff3aeaa84272cb079fc0038ddb4d2b32d23b6af421fadbb72067766afde4b4cbea28e8e17a89a17a7c18daca2cf27715672eb506a2a8cf40a548d5a75dd777f972dd45f29391463662d0256c841381e402bb36f5bc123937271c2030b495f4e8b1fd568dbe37cb8e8fec966d05d8bf3708fb4882f1009e41d2e3a472ccd1d7a3a1d26a373d4c336835b106ee4777f68ed03f26d0c082dad69c0ac08010061198b51bc7985b66023ce9fd108b8ca42248dfdfe0da3421ac3232f7142b53b4fe7327e30cec58aafdc8891eca71f7bf5e6466e4058e2eae7fd72dc05038df65f8821a65a7eb668d39e49b5f2c5479139c27b0092dc77937b0765afbbe6d05b5d5599619cbbc11225c24d0fc4f7e3a99cb7e3164124182309c46ecb4b9be58eeabffd429e4ad2367d2f0e78c43a496ae57b6404947b0a02f8c6521f6da2dde3e7a0e1db9bc28952b4b5d75a301c8ebd65bce0bf0782f8e65e4a72c22ffd1eb07d0e3639e09f188020216dfaeef2dd7a8b147390c5ccb79a754b2eb6e5ac65f54b2595780e618e4490d67c130e93d7a8c2a91248e19760ed13fc721fdb6599ad81fe239cbafefe10f8c48fbaa8d2efc692bbefd1d1b8965e3d9b4e4361f40e2b3f0c82d46c0f785e08a7730d36df2ccb9b3f1a88272099ed582a7207bdf738ca5afe93724694427567b32be31bf0ffe4f003f6f1202f3c919a884c5b6724ce61c8f2b02e6afaf3f89d68ef38dd26df12ed9f1ed6f25f183264d372328e75eaf5d524fc2d09c4808e654ec746db385046ed80370adef66187fde07209e8a295acb75c1e3ebfc7d3f5037c0ac291ab3ded06b268f087dd82fa3f8372da350c714920edd4c34e59fc1dbf001f15bbd9c7f1a3f4d8b21e7bb13dc4cb0ba4486c8d2ebabd5d4928512006a193f321a80bd431429b6473801a9dd0093a7212eb6d40d9dcc98fc73dd77f45c2dacdc0ce74e064a156223ac1ad261dcd0872101feb76973a12c85083f29ff3f3b1bcefdd9d140ca21c9bed9209d1b89dc71009ff80d9d6daf731664bec38b314cc424ed84a0c1369bf1325f1e81f22cde3720f18ecf7f9163c223ac43767437eb9e232083f8654c127d4f553ad9f9416ce7257e85a40b9dbcf8e2425f28addc199de982075a7d47debf490c2bd3fc3a3d069a4031cc64cb3796b355eae48cd0611e19dbc5083433cb9899b3c426dc47fdd72bc4c05a963e4391c52e553c498be36a5deedaf65ec40b10e585bca24e2aed572c70365b5bdf80991cee3d4e9f0136a7e099df55f7d4536de17756a3bf1e80c7295335f4e71f5e099ae8cd6f53a7e626bf65a4bdf4a85a8af61a0c1aa6debdc2d55ca0b62ed73299e8bf98b118b6fade6e82175661e829fd8e8bbf7f0de918f256a655a905581b8a71650af62d51ce198fa9a67e982ba04a36eada285627a0b72592408e0425da3dd17366a6b386e7ea11d08900ceb9372c13d800cfa3376ae72baa659ead99ee053d357f0c5fae1bf6c0f9921d8c73892b0f1aed2fafb919d72afdaa4262ac23fa8fa024460792001874d1277e8591aa65ea21d5af8def1f372c74ca0773ed10aec8a6e5a5ae8098ceee6bafcbbc048f931e88e042157fa477280338e8c5683f986f6f9b26430c1f469fc1a9bf21f4d7136b19144656b4a27582faadf6bfe63b128b8c3af8cdeefd4d6eddf8c58e0e1be8d36ca75b48e742472ba6072cca62d5655d210a28eae3baf3e2e1337adb9a002e5f19b84a85d14a039b936009d376d4294c948507da960483990134c5f31e2de0a8259fa8130df6e72bf22c7541bc2068ea2749f5b6f15f94bc5414c8a6e9c6ff6f85a17d5f99ad07252f92a3fd40b8ee06915a54aa253280391cc39eb0448825df0b2d368f1657472037398619743377ae440c62e37a4b59c12f01aa9b40abf798c98cc0b0b402b720daccb376bc1e79388ed0f4fb411a5d8d6525c64c42bda58252e762c7b64ab72368eb5c00c997f57a0f8c1f1fb6409d6547f63387f072ec1bd5b5980b2d9ac27fa5852b86542a84120893b05ee6fe26833fbceafe8ad1902d163dbfe763548726eb24642a9c39aa8f13886846322eaaae65b914851a41c9a926ed607b8d5c672b8946d829f65b67dfd50036cd4a140ff2a5422bb27efac210cb1d53b67d0e3729d5c8e00149c1a536f99553a81f15008d9b53f237e1b04de9bd40e2457f19f2a4052487376a9e66264ea02e6f3280133564abb7cb2846d598fc3efa6c61a0f0e6243e7e51e0a4722690fe0599d20bef30716eca4e365d36d90b08337f158a2496f8ec21a2cd8ebd8a3274b13a6b21e07ce35b8d60ceb206c8ee81664a5909c72ff00fe8e5dac646727cbd3079a3b1576055eeaadc0b7b8c525b64356fadc7f7127d7fcdcd714e00ca3e6b1ace28dd18da21d6e767a7312f53040638fd5a6457258dca568d5be4359c6c19e586555f6fdeb5aadcd0fa94c9741824641ad690501ab133d3c39491d3bc8f3ccd830e49be1e052e7556c5415d336682c8d85b13472da060666d8efdbea8079960fbb5cafb78a720f066430e80677ba5d2237e40472136ba7ea25fba5d1c4b81f1e5e51b1764a12392457d6c200205ab87143de5132aebf760a102e1f8bf37b1fb7d0bc8815305db33e654dd7a86d4483f97426697264b6c9b5e3ee070e24eb940930b3d52c19009b632581ffe0342d08633427937236a33eba2b68eefda1ebb756f38e960c7228631b3e2e650a2b2e930519890847d7ce47ea3e4daca97a87a9e6a3ce3fbbebcbf3d939b98b94624a02cdd27d20722fa892ae677d253814e0278f52c0fa280ce5ea96390d183c36c792673ac5d247c4af8bb0401f4cfbc8360c1175f550e65d085c7fc1450bd4655e36a8bb3d416c0f9942b62171aec0c9c842d50cc68d142857d601586e0a5faa7e7c987a339c262462b2fd73f8e0b5c185e089cb3ce4e49c824c4e48c3566db336c02d54c9ff726fc0b2fc2678ebc3b2f6d96e809e703f77a2027afe5cad19d6261e9b2ec345728f6f43f3742d284f5de41fd5f2548919ff9491623c62476faf5427e7abc9514dd2fc6d75f841fc7893c81caaf369649c7a67093f5dc9643f4a2262c8a565f3725c059acbca60aa09acb01eb330f2c4d7231f29f73bc0ac29ad2ace7647ccf9720144c68c79145e6066b268af3e0f5a709641ba5f6e3a8c0e430a20b8032be90bf6b4b8b810588d8fcf1cba3954632dc297054c89eb9174f9b9e52ef2986a4672e5270773a242931f26cd72b079dc6712ecf130e88f2a08bf87894e9f5398e75d30f810fdcc59a37d6fe1f34c15c8643c485efc0ceb5d419ccef0d696e32aaa725a9ed460e637e794448bef92b0198bbe4506bcbdbecf46111514e3b0a6ac3e72233a56ebf135b8903a95af1c7099ef8c972b5f0b94117bfd065b2ba7b6b9e346e247fd132dc760a2528fff36f8185845b7d028df94a5d7ae272bd56ad5afac000fec908e0852c687673e0df139157e4b7a80046968a18bd26455255036292772f2f2ce74739ef315ff7f820be05250d1ca548ac354b6ab49f54a1f719cc3fd7260eba2318d166aad12e4697e5225dd2b20bafdd03eba7cb3e6044de0f7bb8d0864ad533da6e38d75a057f29add57a4e1dd4662941e5152919843edd46004472f6980d2d920a087c8c61616f1460f026b723af92905f691a1ee9d9a7e322abc06d14da29a9a34c818acc72d96ee3dadf677d93b4f411e98c39d27b15eeb7b781616c616fc19303c230d8c30c95d571c89a82c256c2dd730d4b8f45d0de9b55c728fdde4a358b65b8af0d77611a9dbe07f4bbc29f83a5d88a42754999f73927b72034742a333ff7cf149d33595dbe8aadd4c6e09ad5d5b1d0d0a5af96395f1327294d56569f41266de082faed4d781fa0bd50c8bd193133101ff86efcd288689727043f71555776f9c78d5d905810622c306edd856367824847d035b98f7631213fcd6241a7c116decfc9e9698b652cc4993bf648d7fbbb0006a809fdada88327253eda3d605c348b86c20c92e1492ee3dbe6152ba5488002e403f8d9857c3bd725026092a10dc32248d6f337d7006c84723e0478e00e6d09178573476a5537172a46b3f93ae09e26e3b2aeeb0d1d161ca1d04674271022c7cf4729061a098a87226205ef67e5cdf16751c2f70bf45baf034459e660ee40103595fdc32339ef627d41f2bb6b45edddaa4f68e988af6f2abdc40932b9e2d3b9006ff649030bb4e566520c95dab8ce0c0ab18d9e5c9e82e9cbe4d2455d1450c1a89fcaffc18129f7271608c5f0eea971fedfe9158c8c36b74f227a98a19b5b58b01b8d3ab3aea226b7d38152926ac066154c31803734dce908154cbf08231f26337da258b1053fd72f7928bd1a3dc09a782cac7e779ae8aa5ea3fffdce2f73985581fed97893af02d85c403d382988c603213d05c39d904774a1a6288268dd162f5c33a86737e7f72ad7523e6df87df2b4b07d22ef6dedee9d9675abf58db2178db7d9b9353828d6726b781eca9ff935df6a500e4ae7a962bc3fe0f75199385372318504c39d55d72bdcf117a8826c40fbaeecee5838a5a36f878a3f7b8991adffb6e015e34e7a4727574ca6e1b3c84a9f84bb16d0943b6daac242c33f93e47d678af1e21514c9e724e98d8e2c6ccff00faba002cbed1e13677f4b6833b6c443dd2874c2839bc361eeab9c1e2dbc13f8f0d86e59474efae1fce47bbd08b1430dc0da94391e590d27270e2c0a6ef3268096d31bbbcb68b94b9f49ca79f19ad1d29744d741543022d72135be18336929b7103609c675917629d0f1fd3b3f560a78d5836022cbde14a7285e42dfa88d1a948a6292ea8a61bfc535c2bf240fdebedf324aab56048b0091a4a3fec301904d6d45b2e2db82326ea176896be8bebe09a81999a959300ea1c3f42a82c36dafd62cc8245143de43d3a9f38763bd6084dda4825c11a7447728d6c3dc7a65d7f87f8ca4d9907e5c7c32f412bf95dad0b139d023baca17a2801b844884a95d75b0b8eadb9a523253549801ede09bf2ba44e02bec9014d5ef0b65972980c0a90277d7a97fb460a9f9f4a03be14656700934843f6f729bd24014e7272326cfc9a340072207858f235364f78b782c99d0b2617ab2d145fa7816dd9f3723ee1e3f1f8ece3ba776be0231c369a449651f3e7f75e8ca78dbab0638f035a72c9703e62543fb1de81d690ef749b78d3a243a54c58191469c2abe05571eef77206ae58d011ea0f1f534dd722f1a7ad654d8a9c2a9a5a76bdd23bb2d4cd218c572722600e81a9239da86fbd915060d677a53338853fc68056ef7e56f8b736a272db9b8c87fa9ecd1b90420225c5d6afb47fae3cdb15c3cae008431ef56d87d67230cc96b14aa381902a124d8d85b3576a611d5f3f28b70bb87894337a08177f39e452006c45047b9e7eb94b82641de94234e210893d17f9298147b38964cb9827a857e91361d9ce58cddebdff8b1cdc4c990b936bca70ac825b55d698d05fa5302023394bc40d437c3450cd3fd5422ed04273ef22c190cedaa825af3d3a0f29223385212d02c29f2b6b49df78c9263e24cd76a225a992ef7ed37106a6464c7b72e90ca02bf8ef6c2b34b9707082f963721e2262fa57f306b4ea29ebe3651d6572a86065c750c87f4e12506c4c38e07a9387641352adfec53f29671add05309a72931de40855d353a5b283f7983215f5308b421af0bec8d30d8c20cb5cad23ce72a884d4138182aaeb9335c3293aa3bab923c8862617f94516019407b1d1ab1a72495bb97df2b26d379756981f833da48f194e2e77c8fed883eb9ef2fc563f6829bfd248c30d4765bff506d55cf603c4c80bd815dc5cd8a081988c095a645fa35ccac2a879da89d05657e5943eaf125788693aa21da1e37dd576a38056a62ef4118bafb4ff78fe432f19f91a43d62319b913956a6cbaa9cf92cc86f83e974c9e2102a20978675b472922f32a33c53a4fe56b3f7ba2a6150e3142cb280dc6bb017248589afd6653548cda9c962ac5b73931976a618af5595c9562c021832d773e7223e7d9cc1ec4f411cfdfde3f49d31737c1fdd3adbcbcd9a94ef171855294575d803eac712e1203a9964df012cf9923732f88ab8c27602a67f8292d3584bb6b7205bc957dba43ab50dc9a360170961b1f364c5efc0152b2bd7837ec4eb1ad127233da57db75f912cd03a1f8909d0d9d030f175579ca961192bc69b3cd8c7b6748402948508eb13858349f5a83b694840208a330a5ef3bec192ea5a4959bcf7272380b32a8ede1e44c43aaab77e0e606ad3ba2aed531064a824a9476fb0b9d7507a6b433fee542611dd5562c24359a0728a6bdd1bedaee7ca564a28696e187be15eb4218874504a4c6421396d5471f19f2b628bfba4e50546117599544c538c072bcb2521b544ce9131621fc292cda4be796b09e47c49f747bdec5c5fd2be0c772a5636eb5c8a29c873a30fcc7abfc92c726288fa9e86f878dc058bb11f1c04c72fb47686d605de460609b70b5f65acaabfa5303fb2181fe3372f36d5c3176c872d6c9ffbc41dccc82cb38c631b6571570126c7972ee63c7e6637adbcee42b4272a151526a8813afd490c87f151e188cc264cd186ae9b1a6582b77887bb0d71c164e93efa898a93ca27ca67aedce1c0b0bcd9a1b694bf0eb6df75f199776af88729634eac98a032976afebbdae27c9d295da05abfaf97821d0071e550638a19b72d7177485731b71bbf0168b89375912c7f0229f36724adab3512316bca5e15d7205756ea0cb0bdd47ccd9c9a71b4870dea12f2a60f92f335dfe9de793b23a8164c9613563378737cae2a0b5bbcbade660082973e6d6654832cd7a115657ff655718d7064ea45fcc58ffb1bc00a19e1f9372ae11c937a7c10076616eff4e5dc07221925f1d0462809770f02ff76783f812d61ed829d4cb4cc9b5c86f534deead72e8ab262a867a467b848093df9e00b18be5fd811a57a926f679f465ccb6e77c178340d8de5cd0ee30c4068fbb80d86b6448e9054e8c66d88111022aa96acbfe0111c967051c70f7b15c16f9dd2cd7136536813acba868b4b24dfeb7ab5f10b46c3762513d3a41050e1ed03d2ebd30d72b7599cd13f5187224d74fc585df225672ca68b543af05c1c43ec69d9a9bf58aada3d1303e5937d8725bd6308d3b1a517299510f3419c87cfd86f3f77c2bd71693185c9433071bd3e38921c19aeed8e972e3d7a838f89b5ebeeff9e6c10870cf46c1f99d4c41c2cdab70e91ec40eed6865d051a6844b9b736b488cb87e58409a03dea1bb8fb265a5fd8f8c3803c9d72b4c71217833ca76a48e4313f6e3fe55fe1bd1aac94781fc7f7970621e3771a3482f11b25032472ede8f6ae763f616310ad573fe1eb382b3e9e0053514d0fc8d1372ef38bb86ee9435f6c21c30ade2d359e1aab1b4377a316ee2e86880e577321f72a8961bca27447c0851252023b036e26677546fe843ae75ea02b86498f95e03729398484d96b886f18812ada802aa5da3cfb30d9f2c23e1a1be183e15742b5f727321b5ed75e4dba52a5b819bd1bbc6a8afb0ea17f44aebeb42a03b5e7f2da35385a6a08ee4addefadf6afef34c456bb91424a02ec91e216e32f8c5e75c35ad4f2de83e97fab1030a0cd884bf0b2998da8842381200e3e96ea4b4c1e59595cf7000d31b7c7701c21bbe399e6f60ec3ec000473bd22d7590cc4f6091b65d57d846f6d0f735c8936936548c7f01c150c6c15f9cc82364408c785b8aeb1c710aa072b373230f31ec0704ee945bd2c8164c4e355eddb8499afeb74c68b791b333c66c3230b37a0b85a49d91cd6a033082e4cb9bae7dcac2fd1df3af277d52aef10b723d778199841ac10f328e04cb1eb694b3735894733fe09ff18663ca6e02386d72bc21997aef3ef7326eb61941dd191f48bd7113468cd31d9b4cce7ecfb5e56472568a597296a60e863543f9b1c894ba6c4359a122554dea98b32c279808155072337fb3359998c227a2658cde5ab97a2049e10110f29f0d2c3b05f08d88cf7d721f4ea9ccfd77e1c8874f04e8011e1b9b6de2b7bed4dc963548cbcdfbd0b70e7280cb6c6c7f5f2dc0494d3f652eb298dc8ce3108b6b062fb0ed9e6907dbe4ac2ec34d56f4fbc0035f510964c881bae79a3a3da4827b75277b1856d23b19dcfa7274eca952701773bd9c0a1716aa0f11604256850fa135658def2df07b814ad7720754a070332013c5354953ab9de09ec237b5dfea771555114c76ea4f4a82e572003cfc5c19568e459d78249a3934a1657c78d71c2b8b51b1659401e18d9897449cb0b83288093db2a909b6e575f2049fe9d4fdeffd908dd22414dc0032172e72d3a5cfb93081f39fd3998c657e70c71b9f82efa372223b903846ed3e14387b72a5a5cae684b05a7c7657425315e94730526a73190824dcec6210b16d30e695725ed8cfcfcd1eade90924292fb477eb337cb91fb9cd8bdd3eae73bad0434f6c72b5611f41b75b2e844df017e078c59895e3b97317fb516f187563f4b5a6ca057230d80c8b7e8b9cc5c30df65ad887c1e9c366643094c15aeff910bdf55946895a2e2c025bbda1647f35ab602b1c0594dd992a666fdc09a356a9cb8654b7c7ce72e4d987db253e9ba48dfdb8fd06c3122618746a2b6fc028ae9229245733aad7729bd3f6777b586144e1a71522ee94f377abd19378ae392000e0545edc0a0a2c722a9ddd658e24cf11403600f717fb0ad3404c99a1fde9af36df9c90f8b6ed7f72200dfbaf68b1e6f9c4a69d6b813842037b87c907f152b309f039d5c0fa080c1d413ce89b69b1f484b4dc88aefff5fba450642bf6f13fd9320ed9156b0dc46372b7a1abb473eea9b35f88c148fba0cbb7a7ca658476248a9f6da8fa50586a1247fcad365f227e1715095b8f04a2d9512bd8bc1c4ab3c2a7fe65b0478503298d0fcf9d045c87c95c43ccb6be0ead3e8b9dde2c405e692c08417615714ed2478a09ed4e8488758c4d2b39009c9b588afd546c407ec4537ff129ba0954d92673f361a68e1335f956c689edbdb994180e67d6caef292da61eacd80f5c6caf6b7ade721268093d4f921d81a5422ddb72f0223439701543faa9e95700ae8b6c54331b396d56d80941effa236bc3c51c65d5356d27e7c2df2f01355e36993c1d0c0a867274466ec8a5b8403c818c6226cb09e49805b591194efdff878e3ce42282891b720ec853993e0268651de95af197e6e94cf74e61032c631e06e487051a86ce4a72cf04aa785a848c6253a7d78b73ca58cdb3fa66b91ad7c0bf4b382823c2981272674758b4ab31172b2848c5126e85aa0bb66d8249464848e6198ad7a99fbe022280d327bfa12172cd473f9430a71c9f3520f64689cb93e1f5e57bf422b2e03c4915769360ef1ee48289e74fe3ebccce88deb0c1ffde2559a2fd9373e2083f667230064bd5aaf5140adbfc531599ac4a64d65bc28548d58d7c2e0016493a914a4d538ae4a15368ef83c76563df38c88fdf4d3884ed2a749cadcb052853e7d09a727483665119aab334581274931adac9901d942195d1302b506cd5f95e96ee1a72d52ddecb5485f3493f8780712354402e544e1d059dae83097425e29fc9fb9472698e11b4be2618ce36eab6ab419e51df825c88490bb9187d6c13c8af0baa7472ab760fd4837997b80de0f9e0432c5f8e7e328715805a4154a38645103884de72d74d9c1a454c34d98c2b977ae0734cdfbb2c7f3fdb2bc0996a3820b0d0d5107220e13542bb58e9a4ad3d94bb2f88cb2105c33c63649a683d2fa6dd4f76bc34720ddea5a1e47fcedc2ec22df11eeeb58e27fb27745287dd48353a527a8cf5ce230266f2888d57bb2e9f2963d3cc8fd5ac6a409239f7be86d4c564a69641416a72302a6acf7cab7fdf879f0da69b45b7fa471b84b5ade9a2fd8d92aa3d9d38e772dbcc55de2fae110a4fa340864c47942ec136dfefea8fd8da0d88838d78cf4e724b234f3e49230437a8b1073c17acdc9169783158bc0230a4b5a64863258d23726aff0bcd6af2042ce10630b36daa48c1c51fab2e56fbb4ee4de5ea0c56ff393f48d423343f4336f95e42c2ff5867be1e6d0a9bd0dbefd14843a7f865802018721085a8d6032bcf3d4cf3766ccbbec8bf3568d5eb73a9a6c2b031f892d5b79f7236f3a589b11d5b072610d53a7120ad8a1cb8cf6fc262580319797dd0b15fe67285e9057e514672a7309961566b7fa76fe74d54a0ae3458d83af808ee6bda497291da0d3ebde2da1bb3ed3dea0091f2440aa94dabeab7fedc222e72700ec79b0a0d79b80e96753c4a51d5239483e0ad7c28f966d46b87c2507d9a1454bce180723552a8fbd27c7754c4cad4240806ca5c0051852e4513c2f587f6691e895573726f19dedbecbdf02d0d729e56a99112bb1c0a9deb95cfd613781f1118452ce16e1487d1cc27668af5c1754395792e117839201763380895cdb95c4c3b10d1c572390ab7c7ebbd8b9d5b72f3b5c5d0d7f51669261fa2df111060d5dc97e048a9633e2342d1d1c82b9f3d7537eb5ec9f918497227ee575d357db0bfbb7bb4e3d772172c6e801ab134199b5f8277ce3c9810898fe207823eee0af77df89e5956e1720f2cea8c0cf29e87f89d02a96e3a4f415970914922139d7544a09d2edf13ee723be5ddf5052e984e813a6532184e659b5ef5f626fa339558b97d7cd2a2f1f472d768e16dad1bcb4c3a59940cf6438284a4066ef97e26161232dc1164ffbc101d1fc2a475ac1fe65ca8d8b87c9e56d9362e12eac0d6dae7caf191ff7a4a867d071dfa7335cf73fcff8ee965c3f30983184dfec73b64694d48ea70e20579b4e930ed6c501b7d40c224259a92f021440b9c691d8c2b4859909515ac2aac6c7a4e72c93eb3e66cea9cc2aebdbde4d6fd072bc53bada0163d8e3a9ca3adb5c7c814722c1774bb3d81ad5688eebbdca23f055244676bd6470193f668a396d5f02aeb63edebd57bfaad42db18719b6028b0906c9dda6d858912f3c90aafc2249e19c53220415b1ba59326d227edb8ca69bc6163febd40631c1bd58312312c0ac7f0ca72d96278662a22935f13febf591dd7a22904f1828265a03d266bbb03fa2c57592287e28ea37f33e3ff2c3add44b93c64dcd11b959d277328882a2cebfab7f3660800a9989663881bdf2ff77f3753590014cf815adec101835740224c4879c1a321051dd21c917361b11c5d34c0fcb8674aece7b0c89e778a31cec00d65d971a631058fde2a480057a50114f9f053f9e73d638f5020eee235c6dc9ea97f8e127c7291e4fe071541657f940cb7ba74346f6f144936022b377dc845f2089026e6e8400e2eac756f7370ebefe886eadcf593bc5286e576b0a3984ce88957dbf814a172503fcedc083b38df83b58ae4f4988d4c043e036b519ebaa7b6ec932927989a72f81d066158e8e1fc608a4c8fd8c2f8afe2296bfdd4a29ce8cd9e70cfef35964c22122fe2a7cd8f4e97c5dc7658c5ab82a7ac79d3a78205b197d9ce1f709ef5723bf77779789c8336a7b80ca624052191478ea4623c33fb26d193458aa5141c2ad8f54749f9afc1e0905d1d20c074781a9f0804b4c825703991fc7bfe9ba49955dc3ec71ffefa0b0fdd3043b5d27ccc9d137166f4527c615954a5144aaf1ede72b574cc452ed77c589f37cd6ab0d954baa96a682647444c92e27ce9e1f3650b726e5e332a572c4a6a14f29081a687b4a0de8a09974227527cad051a71999c5e725d7a3ccf33d38d4728128873ea8cab9281711f37c5c75d2e09091cf87e03f607153eb335b7c0a5a4e67ca1524e20a22fc76f1bc714e8a0244ea5478d83da546a3fb67037a6be25d4a5dd7c8005005f32e17d5aacb6b959f2a7369246683d996256fae934b53d0cd66bb7e43abd385001735f745d0de834a7633462af4237033bc20834492d9dd9964ca12a89f51ebd5541f5a2373d81691fb70fa01ed846ef7272d7825b4e2114c61168f5c93835bd6741859ae01fb228410837be0185a25272bbdb48d6a3c95a02231da9dd794b0f0410da7620bba1aa7a76ebc5208867e872011497522ade838cc63519c1688371f2d3604e59cf16bb402e039995a920895c5791dc8079d5d78af6f62eac02428a459c7deb04a24b962b24ec1e3d2579a726924059ee6c23e9d33b223f5ad84bb48ab747d12d4c854ebd253a67d734ad00726c19653452e6e776d2248719fc239469c4c37f0bde0a41e6f1877a581a825b7209290e9c541da6bf71d6e748e0076a4e93afb774ad76ad876f763ccb79fa0472e96a271618af8282c1d5d5008d065058a5a3941dcd07c6e2cb0e14394020245227931a4a417d40c6fcdd66d8e28de07b80b95852688aade005b74a6cb9d52060e6286aa98033780f390d8d16e3ca659098a61801dc9ca712978f390aeb85d9349cbd2fd0445e8e4c580c4fcc37fbb08c39b3bffc1f8512dd08c2efc241420a724559bfd27f5120fe83024b38e473104a9e40333e7b64135cff50dca791c2ad726e572e877c920adae37cd48694c304af592ffa5596b760b8df38fa6708318272ddc5c45329f10f2f8bed6f2e60583336b9338b8e41232b757ffd8326ab30ff723b7721b18b5600b84f89352646996fdd0ecdaa9daab63e17b9b6b9ecfb936072a2585badb6769f87c51d4f862f38edd50dcf5173b9aac8c1ab4f902f91c2a77230992580412496af124e2febe4a56e96d7141b7e62f5feedbf08b03986b9ff725d81a46b0378cd7820c9e41f11002bac41f04e558d0acad85ec026a282c5862504a94781155012ab6951152544b0d03f5a6930b7c25750fdfa1afcfbc67f0759b556a080da11b032b0e243d91a7d57565bd0f32f1b57dc46ce6ba4cda87be2677a270015e117abcc9a302be2e463061e3578e2e90ff9caeb6af8145d4c86055a1f258b13d11ccbf5a2ee0c2f9c9ecd5e7c0815a47475829ec6a97329ce09c8726e10c496d96d9d132491a1611bd6b5e0160ed77c8f12632803e435c718c383721c959282d9424797aa310ea41c78151a7783c0904612cf619759c2cd6df32772acd4a9c90c370f770ec8a2171fa70d2a99994f089ac914ce83fc7438bf5e85397d9e551f78211646028063f080c1e316012fe6a2b404e883f307a220f799b04c5a2b944d605664486a3b98dd1eebe4b020d43ab5b7a25851a3f4c2d66d8ee772785f10f26731104ce8e164bee9395727339c725721a1df9d435b5e75d5f140721dc9f935824ccf3de8fe081b3635d8bf01d2580d54010e4af7932788ec7a384e22ba19b2b0478c61a854408acee7bf8275331fc22587013a588aa626ffef98418f6b649e951772ce42b78b58042cecb5f82976c7b2fa91852e1df4ddff80fc7260fca3902527a71bb6ddbdde6ad5ef3df4f78a0b29e020c8a9f3babf10332572ed7ff2513ecd8cfd010db2e30d5df41474177bd92006e4501ad440c542ca0872a7fad74fac239de98c2c843a5be5d6d02efb7188d035cf64443ef76cd7853b2f08e67142023545b5ca1f21f8a7e3ae65d6bc569da8466024443ec0afa762cb7260ac2f9da2520280fb2b19a0f881a85f8ea01f5916361154772a640dd6f06e721402ac3651b23e78cf473c917509b481d16b740ac5b17c91f2357ae40c6bc514aa0204a7d6e07e1401d880789324e245edd6e76000ae9c9adc8430aaeb4526727714b0e4716127910676fe553f45fa198e08d6125d001e4674de89cc0332014a873369342844774b13736454921ae2affe826124b9176bb782829e85b39d6c72495e37708633722436a649ed209e056176195be05f6520639e80fa781b582340634d830e965fa55e029a41309e0b9a73a04d5117beb2189ffb5282a59c3fc272f4535be904cf91643e08662066a097b4e3224070bee3dedf354a264cf1f07e31d6ca75cc092262ddf792340cdc4fa80e16da469b3ef71675641bd47df2152839dba6168c8139c8120066997d371d4982729df97886e9f198951d4b9ca0444314d8ea6bd38bf82c730539f60ee05153522eb88671e3c7c91f92668b771cce903a5f6572c356afa23679cdddf376cad1c80fa332bb47461d880ac0174df2df5d72424ea60a08032ce1f70694ee8c1ed00db9364b287cff39765cc4df01a122847216c8928e8b19ae3c3f405861194a609db461a310a238cbd6f724c98e6c775608d670083866869dbc81ad1274e12730ba1691bed518d661a370b5e118ca3b1c72eae0a73ea9ab1cd6c7e8caa6d80159c8f815f64cb291e5cb1c6f2a067f0a4b72c7d9107400509e114c7fe50486191ea81094ce803acfce35a2f7a81d6d7af427f94b9f3a29a7ba5a8872b35a11374e0af4fc52a766a9bb90090d6b16470fd25561dce8c0544f74fae2b43be999084c80d89e1d2b4b17ff737292f14304e444727d6daecca77b1d9e33b9c28dd2297fc4cb5c8bbb8adb3c2971ec9994223af769c1b6cb560d3c2fbc95b7aea62af52b3b93fcf23005d24ff96be2a46ed7bf0072120ddbd2209f8126a633c59c866293e5b74f4431b2b8ec450582039eda2980184003415ffd83bfac95cb9099de8db0b03b29adad5d0184eadcc08bf8ef609e727a0e102089737be1f3127d35c9936e0cd88ced5d9eba6d23c68fddcbd06e233f922d757ca0b4d68f9bde84963c10e7b01fa65dd24bbd882a842f985c5f80397235d6467d3d7c0bd5188c57deb5f3dea12134b01043851e2079c569f14f66e972eabf32623aac7fe47aae102525e0989e9893adc5e009b6abfd4e1e86af49f672c4d072a1b92b14ac27769fb96c3a484f8a830146cb189a10d52d688a523a74720cd02a80b9a3418ff3b94e602335a35527d2e7600230607358bbdd2a870a3472f96d26f455f81d0cad3a5e2beae065de56631e0802763b13883ee29aa6bc3f7231b612c7390f94cd7d2b087bbcfa832995122eb82c6f956588131fd9966c8072aeed71e848474e3e49cd25f85df5076b9192539650d2d517764e7c4024da323fd82aae6a832bc811c509d006995a04c260d56d0da820f5274fb49793bc815a11f71addd0fb5328631d031a79df8dec4b637602b708edb42f5d19fbeaaa68ed72969f28911d2d0bcc203638e0be0d41fe0d60c6a18d9d5c4b9c5402bcd503c26b17997fac953e89729c081ebac1cf0fbfe26daae87e0d8a25e290dacbabb10872f803f1ba7c720cbcad7e491bb45218eb4b2bf8f93575dc8a4f848a9b6e4bac69f9d09e3b667183504610378c1a4cd9ee5511ca4d3d407edd6bcf05999bddfc725bd2030989352212ae7377cade418dae77817716bd98f8be14cc1c00e3be3e721306263b93d25cea1b18dd63cb45ee151dbf5828e63c1c2d37f6f09e1f054c72b33af18c4d82db554fe2e1835ae1ffc7ba0543952d77aef1c13406a771721672cd421cc9648c0ea9bbbff371550bd24555d89121d38b243b0597812ef99c8e2d15f5672c6067b24e75ac4c21966fff5cb53a712d1d547d0c860ee902800cdd708860d3751e630a1c53fb43b0b701fbf1d3ddebe3960ff8fe37d7935a137a957233f83ed1f8fb0e7038ddb38e44598fce1f3c7b87aee8f6f53b3951f1350f442710b775c53ecb4f9e09e5e14e3d15250f5ead5ae0cf50c7c360177c1bc614af3a6a64bc617f23680ea5cd0247bf2ea078597cd1e5cfdb405adfdef3f704aa07113b4b660a6ece3e56dc9c5881f6bf3bf0a7d0cd79dd9ae88295ca4aa2b0ca915282077d79591de8bd906fc26a6e11ad74055267871f8eb9398909fe08513717729708379203dc8682e00358c5debf99cfa19e84d0e8694cfbbe1e6a3bda8fc051b596a2bacb656524d03f44a6e956d3ab172e868f74568853407a0d61aec6783f841d44b91bcd8a4ab710f36b38aebd8cc07ade828e8718bcff327afa807d74722bc536014cc46e2efb372ddb2c6abc89b376bff9209be374a24779522dc58f72ab3cb7ba14b6f16de4315144e31cd716b8f10cbab262264d094702fd4ea68572f71c851142736a3011ca26fd211d6eb7722be9c0f2c2c87d0bd8e0fb05dccc1465efedc761f91bdb965418ad8705127f927a8b2d39e5be1f864830cf6a0e41554e28c671cc9c301961140a02344f7d73ff67e855b1d9eb8ba30371879636b4722aea654ec8ae14be0afe01765d0973f70bdc6824f97710f9ccb06d666c442f0d7793051628ed1ce3e72e0ff410c67b1853bbba59527666cb9417243dff35537239bd44dd2ef616b0af772564761c4463016c585c9bfd289fb86249eb1a9d7e576303d0429089e53434ea06948ec21e2ff59c66af10f94b05a73c1fc03ad4c272b10d66c441ad24969974fb6d5770aac2f20fced14b855621c8ccda463956104eef43cd7bf8efd9cacec091bf213b3661a33905d1b1a9432fe9e25f11da3bd272e933da149f4b2907e43c245a8d2e3df5e8695818ce3a880ab77bab2c17b7e34d46731a239a3bdc9bbd42ae75bfff798f9e061128c6dfd2429200b28b492770721dbe02beb64c9b7daa8d0ecf73c54bb4048908c32f582d1fb6b93465a144723e354e5cc5537f6afbf9fa21197774ad39faa451166a5c8d7dc8d5f919de36ff72382356e893c8a410187066e844435e0abf2cc5df61b92dc6cd9996db5b05602fe8c3c6072d3f9079a4dd1e5aeded686d14a301764ecca8fad9ace66737f3fa40f656a3adf54e47a8c7f52b119a56589c362ec505608d27bf3ab333e219252b72b39313e1709dbce66fe35315b8db70cda099a9f48caeb58467d181bf026ba8729fa15036cbb4ae6a605b31e53d35def3d557b2ee06d5f1b2cb56665c925c7b3bb2f978cfed3a1e188c20762562afa63c50fca494e97f596e84ea679a2801f6727292f7596268e445e6a75f616f55a159ed563d648cc04bd0d7ea983b70e6ac62309b197d7dcd262dd35cd63a57dcc5dea76537d0bf85c86732fd3c3c0bbe4e5445c6706b003763f72b593157d82571eccab1e4a6f4d34b02d105852fa6c2fc5e1c508d16ad52179c9ec4e9acf74344658f9f92d8eaa3df4854ced8e09de5fc067b83302012ee13ebd6feac9bc5501dbbaece40c34ae37a086e9d828f925cca72f5df939a2e15a937e369a4c74d1c5dbd14602c0444969085154aa5a66af116155714f8a7a3e624104868a5c16adeb43b704ab6148bdfe2256494c4e66b5377724631046f659806d6b21fce70cfeb9ae5681ae0b39e524a5585dba755ea8f114803e3a3473f4b1dfac5cd01ac7a954a0ba1e8309e2ec22d93c1b5c25c036eab21d41615e50fb4bf06373f733c748fd944e25f5299d4a793b2a67572965b10f6729b5870ed8e29066ddee1cef8254f76becd38880b6fa712976674f6ad866dfc724ac7c3fa2644281d83248f4d4a8240bcf211f26a734b0bb75102829ec31da53005d6f4e5d5a8fb7fab6430caf0a6321a025b0e21e19b4d6f154aa2dfb95f2160c36f7c68285a4581adb06ae3701c7bd02ebbc2f14122abbcb952c6861730cf721ec78723286067ee47feeb038b5b4cc0b74352ea1ad24d5ae4b54c8c2520b872f289d1f3183286305ace9a361ba12e102ff34c59d1be6a13e9e59f869bd90d72b58d3324c08eaea6187f37f21ee4f0aeab63e6b5ac46012707d4b795c5360c1f80082943fb6e7dcace5fe2dd0ba48db2db05710a2b56093adac8fa64fc943e72f9a1ec98e643abf2d45b22fd0f56d59237efd55714155414df370ec66174e772df32b0eea9e3fb5b3e90ba18a0233a654958392d842d73066597111ffc630772848fc30c974f96ec56a53203ff7c5c04e941de62ae827023c4c9a5923d76d30d75eaea17bfd8d1e3a7bf586afcaf82b6afde5ae14e9a9b271ee655d5a342b372e5882615f29fe776420b6a44ec83b5071bd3c1a3387c9af3084727004f08a6128f132da6d0f74ba627df40a71fb7fcca63215ac5247ce58a89de817d55be083f1c1d0caa1b4c7b829e8608519271397ae21076cb7956d5bb5c0ce31d0be1e372bd526a061e8aaf1de08d866f85b5b8ab16c1dc7e7ea4165eac8dc24bd3204772f6ce01a9ea6a9e947b51ef6bf755d3b8a5928bad0886a616dfba894a00054072757981f9af989f35ba5c50f81c4baeb1701d2046bba4b925210861fb6880d7727c3a92e467b05751eb2ed3f4a9182490b83fb629565ae708f79ad92ed2474972c9f61db79b44c949b26e9a4595b2927c92cc19355853e9ff26d716ad02e06a116505f58017bd0e01e2dd932ad39236d84633d15461fd7430a3f603318c415144215916c571b4ae020b11ba23dc31cb661f61d204aa1d68f6b6ee2a5604c2b94433995d878bbd69192158d3ed9fd8d79779773029348bafdd88903d2cf483553bada6095304010a719a2ff7db0d1676d62d44693379ee5cf5e307c9c3bc6196729283bf436d988a36399a69afcf3a0f3eece25df508fe631de26663cad9f62872a0b4f52b53217df98ad7cba34e4a81884256932455587e3536ea4b11c4ce514f1533e1eb2f57b0f2f8428dd61f7eab35b2d759e8f4ece80bf4e17c6c5d9444722a8dfae02cba07c0099179ad44a9bc5f2ffd706d15eb47b97c94f5be3ad6651e6c2aeb3e393f47c026c36a96409cbdf4a5d934246dacd5b2d0afaa51dc866918f911207552d625659b5276e289fe675d1bbf858f4f9ccb8940efc30a7c4fec729f0d40ecadd6908b667517df045e2dfab53999c7dc315bfef7e7fb8ee881f133886206ac93c6549eb3590e8c9e170c7ee6ad33023e6a0f39d3b6b8a00c979e470be90022f8b53bfdbf1f576767960ad6b4556eba741361877319cb780d4f844b267f71f631696832b287dd52bd32aee82f94ed70b4f43f9b7fe56779fb501a72a9bff74af662ff85f873b8eebd6f17ca8c669310b4798317e466a897bb7b8d72d76e2eda6e411a467fcdb0adfbdbe6d0a2df11a636e0f4e25dd272505d117a7236b3f14a9e14c1d0dbfee3589aef093c932bda9b8f6ee6785314cf261ba9e27269d1851c0fc9bc168a55aced157ad8e08b6118d6d21f3469237b009e8074350f4c9aabe3aa473e51005b24340b7b2bb65b2beeee73f929edbdcfc344c181d9543a457b60046904144e4b3aee503e85dd9a2b0b778103377dcd77dd753c50b972ba08ac60f060135ea494970725499a6061a4ad01cca988707d17a23050560752b3a356a46635ea0f29209441f88ccb2140b36f81c91f6f6dd34edc11c2989072f643fd58af07fabe91af9f71d3fc2530a8727ccbd105ead85dc34dabaf3ca8728cc1b393bd08039102a4c150d273c940e6b9136200613735ff7b458c07f55e7267dfecdf05f876742770765e6c1662b31be7f82c3c55c74f23f081a4832b1f729945720fd053c85a6a210b40ad4632957aa4a16d4900dd723f65eee7a94cfb0795ad6d0577c490b10518cd3888d1ad8ee7dfaa92e994c2384d8fd44c186c1c08d6918992f6eb17d6ecbc30d624137897dff76b3631b4f7fbddc546eeb865976c9fe520fd8710d2464d73f7c3485c4f6aafe029b1d93c72c5069881b0cf51c77288ad213ea287b8c21695827edc21034b5204c51ea28696c70286192996ce0f64497a1a4f32b7d59c8560fad172cfbd20c2d16ce94632c74d215e577e27b396727eea598d4385bc3b1455567b47cdd4a80a6be11c3917f7802047707747919b727b958504c92361e0a7cc78ce68279fa278105238d230df17b34a2220c2a4a31cb17014c6074b446c263d4cf425b7669b3cb50cd8ea66b14fba56188ba136846c0b69bfbb5a9f6c46318d218715c1fa01184333a4de36a031d555c9235f6f2314a3a43ee18622aa3385094519366829a784b2708d70b99e006f518ee87ddb303ff4034b2cd267a2e7cb18a20e4f572b23ae4cf5b6ae238a479efe6f5e269ad344743afebe8c3f69bba2336118cc503507d070a50908911b9c6dfaa3519528df1913577e0d5f4b6124b3d6a7fe8c6d37ba3265d09dfa52c31e6cc5143004e42023ef35008033ddef5e124944b7678cc5e9046fe2fb13b8eb889eb3e56404c3c65545767ca9add35984aa38ddb5d348b80c480e80adba767461ed5a1fdd0b4ef14d91b94654be811f849ece1ac23965e62ab846255a2c8b3d54d2420c5eca05ac7212e0b0b3e4b5b04c452b543e1960ea7fd3eaf498ace6895757a85a7e98644705e90f357b79315918157cd37393efb14f580c89b7ad3b23a761c118f0e1d9de7233170e19602cf3989e300c330afe1221719d3b4416481e24e8a6abea162e1272291d2946257d11100d8ea622546bd6d68c3f0a66c3221299af3a76b066c89e4996c628c7c9ae6ff011269a28be7e1e681159b4b5e835c95a6315adda06143b7249fc72d89a444c925e1a5f7557d3a7f16d004a25ee5540df4130408eefa9974c5c4659ccceed3703b9e817d9ed5d8cae792880fc27b0116a012a8989ca4cb172ecf6f6b01a39c15f73eb16354cf88983bce233e97eb799f740e0a12d6d7162688ad185f92f7650256375d764ebde8e9c9ad9b4b729d96e638292a9f7a022f972598203983fdeb11874ba911765568ba0fe6455eec2501fb3df19199f9dbdef4b0f1f887a6a3e5f472fc9b5bbb632edadd3931e16be9c258e1a22895e5d45b572f11b712cd759a4a92d9c3e8a21de736f9170bdc53e345f7706b60fc5c63dca7255e236de6cc4b9fa4aead493836615c37146a9311d845e234a918c13486878727bd63d65c7e6ac4d741e122612ae3fd9b99cd7364f31543c6bdef41209f7c172109866c3faf257b46021aba2bb9596ba8f1731c6cf75b7f6f3b1ee16a18eda477f203217cf6df58bfef94d24e1ab7f19a176ec8e8193871aec726a331d04e672ce7c13ff9a739b1b270a15654c6eae2d5c4f9b7370d9e3eeaad5fc387719da4b923e0978196f7d1aa7a6b6635522583126c271d7bdf80cd67bb5a9a82dcac65f71f826ce6fb6f47076e13ba40311fd423724816f20cfb1459c8377bf06bf247299a02805393f1d9175b57c2f5ba37e1cd2c616e4fd2bab17f05a6fdfcd2d0e725c800f00d490febddcd6f3d63f10352f66667b53f70ffa472a28f6f383035558c97bca43c023d30e0a77ae5ed4ced7873a919af4c58d9beed1ad04d9d69d8b7293b56fe5dac9f3a5b0f49a31ec1a9c8d91be0f8e45454f0f5a6ffbf88382e972c5c64aa85e46babee1619184a4bb1fa6b7d2d78dbd0f69fc1ba4e7bc43c023727cae356c7213ff57035bd8631170915aea0a1f2ec88ab7456f6a95727e157e4dbd92b6ae1e253448544827bf4aaac4e77cb65e8d3c4219189465b30f92db1f0dab77ec0cb0e8c5d5d5f422dc80c2bcf98d4d6ecce59f10acd44f8e7e41c64d4fc079e01bcc4393fd5ab44d12218866cc24713186686a12e37568f5c8c2a2d2725cbd3c8861f5841c8d21a7c7f35a37efb548b95e63e923026165d7fea545fb714c5608428ef5b3b2f95c464bbce252076cf0b03b707be04309d6f42f58777e367b97fd00cfdd6c3823b54716dec7c3b859eec32eaafd101a4270bf7d613ab235dfb1c1cd82fe2cb3c6f513de607b8f2f37d851b653b937358814a061bb58ab6a4650dc7fc40c6a5a66dbcdff719b946b223708230258f0cf22c19191b1195c7271cfdfda5c6be2694e282e69fb0634942b533295cc6eacd7b04bdd07d21a4b7217ac42f7e6c10e97e35ceb5c4934b519692a4530bc944042bb4dd53fbf59a672526b49afc9794d9d2ca499da1bca5f96347838ed4ea65696778a06afd354e06ba430aea640206fcb706f7af46185e51fe1b61987022803b598bc8a5cb3780272e49ad38f9e3e88f44050899162e9da9af5814e2d857474eab62e454c28944b395f1f31009dfc31c3e0398f6aedba459882ffef17c13f5be072ef84d26262d2720fd1efcf413a9aecfcbae963ece0c0b7cc93bcc7b62fd14c3f64ace8e6cefa72d06bc5b21621035bb4784d2e3a346a49e299a5a29ba3367c22379fa6021e0372d650f28e29f51e40160a15583c17c96e611453bd0b369b4106dff09338e59467eb97ec3f85b428e38c60d976fd73e72d5a6761fa51f6e1caa8d58b9ae2dd3c0b313647829e1f324c5ae55a11a8ea3938b284fc101064860f671c135b7c8191099f5a0373e4cc908a3d8ea7bdb3af6b75dc942b657f86175c55eb46ef5f3cd272bd5e6189467e6b8b20babc6f2b09f7a4e909ca01ac258f5eb6c243b7b4c286729ccc2b80385c26f9823b64cbad51dd0ff5b9daa8df6ff2e34ff95a0c2f46ca1c0cb97cc289708e311af22d9c7a043e786bd0d6add607546970d046f8e5c5242524364452ea3a322a958b07ad7076dcdb3802766729b10e9b39f23640d8d7d472f4fc1479d19a524f8cc5fd39ce06105566209ec19777b1c662c731d3637dc64be563e33d1ce9a9973ba702f0326e3cae122e3f97245fe9ab12e2b5aebbd0b07266f374db10465d206a4fe6522947484414aed45a1dbbb1b4610b940f6efdf5689321e31ab90edbd819c9652e3a8a9689cb5668e56560a2ce9d58aab6426f1925f45d987a26106e9450d2b2f3b3fffdeb8bad5bdef1775f666f16c18db9442950d62a2341c00a03eec41074671894a6177e86370650f20fed568789767deb2424f2cb6897bd938ddddc857cbda527fb0a7bde187ee5749eca55f8a386c3adee294772bab7312b717de95761f7ac5e7bee20f52df7d593e5859037961b520a04722cc7b9b56ec1f16ce77eb447735b92a542dead4b29f900186077da143c47c572a8df355332f14741a8a1031249477051256a52de4ea679c9397def96f587b9724b81129a74ad78b4b0707066d2b553247635385a7fe64faf92bfb04910612b0f242c57e02c584095f3996e7a8c2711ccd7e9d73df9186848815fd2f1f0b3b437f828b85a9abdf35b6eae107d44de7836ff0d76e79c994cc4bc882244efd32c1312830bf3e51200a531a0275ddc007b15ae3ec0ef73140babf501c430d6cac0720450cfc2a80a186d49b121c691d6f51f1661a7b86d7c7cdf8f31d178c27eab7201494a0d4ec0f5fc1ac21b1d8bf280097f30eb9dd2b07e2c838b1042dc9b0872e7801fb1450c2ded312a6260221591c3abd9f4db75b06745a213a624800824712cb81cd811361006054522df7a36ea95e9d4ef703eccb6494ce34a845d99cd72b3e42248f26e6b15fdff7e4c30d719d67e2c13e966e565020e09a60fb63dc37270900a30dcabc987aa35dd3b3370172920bbdc0df6811ddf78b1ae324e7b314efef92c116c7e28f20d0f32dbe79f1f27804ad4beb0147b890203acfea1b63a72318650b81c0869a1e6b1d7e6c86ff323bb62f9acd936e801e5bf3470a4d99e721c43afdcd5d667b783be8e3aba29e6f9c6fc2d9924ff8cc9cef69090d7834e6fcb8259d03a6b1427b5f9cb8ef1c285c6abc5ef9db52894df3e2799aa79747472e2e756116174761eeca3ed3cc3b4d864a709491f15d6f5d441e9777fcecdf3729e2773437a5354f1ca4eb43b915f4f8a214c2c492a09146e2923cb13583352721009c56a2b460e68aee346efbfecbdbeb18218aba6a8c9f7cc21530158c2ee203cd758509053ad8acf246e3c26615d1ac2eb26a9cec78348af44e968f5248672bebbeed523f13461fe18d1234a6108444097b31050fef6ea442643b466b82472869c9e95005991db865965734ebeabad43890b08ef5f08304b28f683198d67726180dc46f9d1a1f8826145669080508ea413fe063e0dcc67131bf92b946e682a24ac2123db2455bce2e1a151f106ccd41dc294c9513c1e64b118cf790d308241af57dbab8122d249f953d6c50adb6b567b76ea232b2f1e89cdbf4f37c9177c006e181509225c9cbe08c3d89a0793d72fe85e1e4eef5e12c6b6126e3351ee1b633a8339cfd6c7908d70321a5aeed46c0dff0fca33023d8b81be2d162178b891728391234c766ee7fe097bebb079a997629fb7750d691ded545368e070646dae22864bcf636aec689ffcc0cb1f773af1dc6936bd171bccfb9321e255f2672ed843f666715bcc3b869037a214b7ee37bf7ec73a0119f44358a3f2463eec5afbbb72e2e06bf54ccbb475671105562faa9d8c9a1f1b95180a499ef1c3b80833b740724a23fccb121578f91c62de22beeb0e1a9f39bfc437d370feefacf0d681d01c723176cb81841821c16f746cc271f4b63102b3a0a8e46d863ee0d2e956ab6dd83bb7ffe16eebd7b880fc76bc6dda8a8c92837cd70dcbf998aefccee2a54329a33f02673b9a46a99fb7d3741805af9472f5e04bb5c4d65ced54b77c72a06c232a72636deebb76f3cdeb50455ae9ccfd94e66c990a19780fb01558f2a2ea380125720175f08f81c0f9b5403cbfcb53abca3665588f09ecfe71ae06d120c278db41727d66005d735c4738cfbeb9ff1d99e71b758310909c632adeb573345846bff772f6b2eac94050978f9040f30c664a06f7f72b57d256df63d2a359249b9dec2c7245d6bbe83ca67def958fff44f0233ceaf3b6c0cf7257084ed050ca1fe8d4867228f89b37cbcc89db8fac14371e6e3d2993261efde5e1d5d0f6d7c6224b8c166fe6cb2ab2dc8143f5d51a48bdd0e0ddd8278707fe9c78369c3c9c52ab6d32bb725d6b58e2fff1df56fa0c620a4f4e9b5463070e752ff272f89cdb0f7c574fdd05b1716a18642d2e5fad06377ba983de0a1a789783f86b7a1640dfc8079e618172aed03228e06d460b7c084fe92a25a8cae54117b90dcaa52921e0b9b03a23b753345e7bae1cf6f1e7341832df56e6e4c40729455cf6e975b7ef9dfc510240b4517f09128c4e4b713732dd8908c9ff5d753c1636be02baf3331caea57833a1e336a388117d7ae129336c5ab3668c22f8a7ba006110cc4f05a586687fbd27e3312cb655c702d9ba2a8359b8a1dde25c008fe2c782aaf8b0bfce5de5a5dd345630363c9108a3872504b0eb9f5665c2978d3ce49686c99f52d82b5e7fac7c2f9782723203c7c0b1187cca9f9432084e1efdf279252a689275f9b33527317332f4eb729af1e7563b6866a6da63fac8804c5537c85a8a35fe5bd31ef474c6cad669a504ee40419b0bf4cb290b5c5993fcc05c3eb88443496b7da88c71ecc3b58623b23a4545144ab119b9cf84998731e431ad8aa4257fcf6eda9cb525eb6b008f201272605c546497cb22b275a372b9d7b51f8b23cff4f0ee20c538b2f6e22b8a5b5c728bf63e68ea4fdcdea7132805df5610b3dba60eda59f70fb8335f880b58da1d72b86350a8a6a87ee2da4259cf3c427192e7623f9cbb53593299fe2dfc16244572d9498d7007042a7006d299f1c2c63ad8443d9e8e1c8d7e56a2410e5abbdada72ca60d4ff0a948571e116df9408e955d85af6f97d2637205aec9f83bebda8b172ae15a213a5bb0bda33ff33e5650041a6389e875da2d765f936ea874ee516da42403cf1661666d07c7fde60bef71f09d1768e7db4724fd548532cf7c71afa3b4234e2e340241fc0e1102b07d71d7524e39349dfa359d774bac135d1a14b731310bccefc5f30f51abdf6b2d781302e77ad4c27184ffc4198e22d5e4dac49739206c51e31fe54caa01a88b7e13b8c8b741ad4bd7ff64a2a55d42d839714fde3ec72b971c98de301485a8adf86146cc8c74f4013f5b1276e5b66b45863324db899723235a5a6dc589f9ca09f2ce372c4a7ed04d43a8f272641351c6bd387bd33414c658cf856cf95b1ec63220a813a56314b68f59fe13fec651c902651f76420d172402d80f66844588e365743afe12fb16b4da54d3b05df93bf7cb81bb8d93ee472f56cb934fe4236d393bc07dc123bf4b99e0f6bf8a780a0c2f486cac2ae6f0f728e340cda739dea9d3aa13e3119cffedcf7333d30e18cde81c27cedec94f73f727e1291b6acf7c3c570f4d17e421b98ae2cce7ae6bf2494e5498e202ba0139a4d9b395a6193caab59f6f2c51b959b0cbb90d09015aaf26a141f38a633d9a90372f61221c1e16436f6eb33590012c5b9237f0a26306d69cb7c834c7bd00c0b9812e5b214746382254cad77c496c8e9dcc04a8d55a330477d9c5e3d9bdc65416d72668ad20980381b984daa35aafb6da723983d0b513bbfed01b15b45bb0cc55c72f8f5ee178e7ae3d9043d6ca1d42746368b75a580d84da8d1bab3582188c7460c4fa896c0d02b49e4b58f0a6ce40c624326236e4cdc33107abc1aaa253eab5e72f8123a9c8d11093ed17092976a036af557cde7a985fcdcf1726f227959998472fd7ad503f054b7e0f148c8f44932450db5a3c4aadd7d095f2d08ed1b80b945723230161e1a00554c57d3060716278f8c2e56f06e6fad50b8d5d13b9daf58d26cb559057a9a2a7a04e3533bb6dd85950447fdb0e552b68a75edfaee889a90b8685249feee1d23ddc5ed596c72e067c6ee57e128d8517985998dd567ef87873072043336118484d35cecbcdf51d983704b99b28586e46169a5b9130f4b93108438485e4007e6054ff09be9d5d790d275ac2077edb29858a528d227f2f4299ee603cd2065d2a01b8baa630066779bb1ef95489a7499f36abc0f009255fdece1914711374deb9bffa799521b809df1c8c61ffba791b8f51c12bd6d15f7ff89ab83720c023d1acc39bd121decf9d96e3fbe57de154b13a2b851b5de69d7e96ff650722b650aa90ee029808744aca6a37ea915734714fb64a4aa458970b83a6a62bc729b6cf43c6558d145d76a183e1a4cbbb57704d77ac7836aac02147f23efeb1772406d76da520a7f6f844e4588f27ab06d9fd0a88d650759419df173eb5319c169f4c8f183e0381bf7d6289b436b337fb4f8b14c757b78662407f90ac12b4fff725bf39fe10eb03e988f0ecad1a8268b4c97b1f52ce39dae204f243348e288fd720da75a43773a03788fbeb369f3e03d265f4a1f5147a81fc4e15baf737034741b36b989813039928596d80bc894c096d31c7a5e4b1f453ddec39c2e6afd660b6f23d5a5c376fec8d264524a6c23da662b1b276fc34d7d5cc899634d41ad2ae94313fa4705e69ead5ac73b5edf587806ea3db719c6465e363ec3e7ebb5175ed8729cc868a1c85f5070cd21c37e60ef5edaacadb30e2e5bd9eeca978041316336723054b163305588ce9baabe1aa2463c09d26d41cce67a4190c9aa0eebf7acf828f15ecaae7783a2d9f8c29c3dba361e2ed17852b71697346a7a2cbd1675893c506c306c06a90f6f33d8074336f76badf8ff9baf1e10f0936ffc88e91a4655867284eac1dc465ce5a79d5e1ed4a59be7f3424f05663818002f2256acb77da68110ef1e399517872a029363976ba5ef16c00dbe72c29f0edd57f7353b86e189c772da7fe6e17565823986147026a28ac0c38821a37400ed2638f015ffaa2d0a6f72ba6218a2911069774b2211d481b9e81d0534162ef63037fb2a01b6148fcc17226fd8a3c03462edd49023aba4fb45d84f05342fcd851a2d2025b1f5a13acd087237338f45d9dd2a49ed3f6f3fb2dcd0f5bce374815d64c1c5bc654bacab278423e6adf1d2877fc706d9a284f021f61fba19f6c9d4d77c3f812e5a5ad8e04e2719ca59fd00028a4ce911e368742bafe3e4e7f010bc3248f512e89f8bd074c9b572943e26c0c0ac2a434167a3154e536f62568699dbeb06bd2b9a674487e3b1e04f27459141a69dd0c8b421da2b10b7eed385550e9d741d1f0a204d77924f5170722aa059af7845829dab614b0229ce6f6673820f6e4e719772ba4cc43ca4d87e46d655c9394833d9a0e16aa58632bf54e57ff58e3f1bb49cd99925318eedb15072aa40098e7687091b2857d3b3414d696911563407b5db5cfed245fe6015d1261d9b52477d61578dceb1ece46193d85d431e45e07431b8685ca02fc73bfad43419c6414f8f78cd0c8a80a5e3a277c691f3334e25eb8606619fbccb9fdc9223ea5ab04af69624383437fc7cd1e83128250b3fb9e66343bf5b0c17f824ead5d55672078b90aeb6bd843da5e60ddfc316bf2838dda9e76f6808ad43ecd670d5054172018c32bed967f6b5a85159e5202f3fe6eb616e1702c47ada9300f2821095546aeb9385614d1df32a16bedcb532ff9e653637acf508055d3d30cc2794f6b28b421f48e36d85ecb3e05dd50852cfaa463528390a0a3e3e5b3fc7249ffb9eb13472c2a3a673d789a68fa7270e22f59e3fff86ab84a483a5b46aad0414d24871f272f90de28042748f4d755630ff5340bae85cff232c4e1195b96da5529f8576c87284417fbf5f063084ef00e546c0da86894494257e208372b55b41e76ebcf5b60183c06202926d5ec67d27ab3c2bebc32f0c3774796ee050ad93489a206338337216ae4c9762dcea1d69d8fb1e85964726a2548a08575ada22976342e7986ec172d58eebf521377fe2a9e6fdb1865c5255db7b27635f926eb876740e84e6b8d872b473f3cff15834421e90060e819a84b848da89e9a9a5d29ccbd3a0646f5f6d729332b5bff147c36c6c013e3efafb3a350cc78baeefdf8a495b53fc24c1abd6727444199b385513514d7d008aecf0444f5834b42aa35b7510c626028e78c8ed72298155fa48932ecc2fa5f374a5cb9c3791f0c4776886ae5cec4aed1bcdc6247222619cca9efe644c49c35c695644dc17feb380f58235f29c15bc4614eb79ac72927c2a8101cc4df835511ae90969b95bcfedfeca34577222dcce84e768af8c1347fd419aa9c9cc6d5738a0d703c6e4bfd4e898a45e4aaa2d1a3d5c77ff432e72b6e155d7ab6614bded019e4ae20dbdf53a96929ee6a1a8a8ae4fa94f810389723979faac305f10cf08d49e738703f45cf4c1d72f545b5e1deb984561fbfa59726988f4d7786b681a500ad1ef0cb284e587d023237a098d841100bc8c4e91aa72368b81e69abf4da41588726b844d82eceee18c76fd6deb5d55197f93eff169727027e59ddc59cd009aa1535046462382332c7325d479c1985f43134ac7424672cade9978d01799069a5c9c1e2e7f996afc949229e7ec7c84602f0a07c1169572b35bb2ee8fed84e4a4771a5efc18b71274de4fe3b9cf0cb234bec33850f31272e91b0acd65e5824efccd7dc990d7499279ef727eef32ef9a34323ad71bc3f0723061a2f85af3fa189791f2d49eaf672420f741b8434634bac99c5f5e26e4b772aa47e555b5a4e93825c1ab7427c437f340721e5d5742b2aea7e6be3cbb2e4c72705ce39c941f7c548441a9e5ef40ef6dbbf1dd60c402ab25206593704119977232ee3b29de2da35f9de09d6bde0561da1121ad351bd60cd27e5a641c7737e070234dc98494098359d5dced9ce37b8d2b3006f775868d2dab9f9b43f9d9a0eb0008708be4b7161e1de3be9f301942f0c2ddd0e17fcaa474a3ead581a61114821de6e8551a8b54a0e349ff757bd5d6ff6827c724608dae7268a5c3f03569a25f03745b6f6402794dfd86f959785647e59d1f00404f48240e64fdcd585cab49bb26f7b0b3735b32b853fa690768f46dae3ac535422d4ac2100f1883b9360458150a44a51957d63c9126c412e231f346fc5cee353814ff1be7026bea760f415b225b0d110ec19639a61df571d1fbc3dfb4f7ef4d38848993e5a0d4c9d1996b6724722f4712ea10c1e2c18fd488751ab4847dbddfafcac007c2e57308694c1a568372bc497739f391efc0752a93d26b4efbc83ef7db45926bab253289adfdbf02b472b97fdb5a07559ea5ad4ee61f8c6cd9ec8b436e93bdf9b6e017cd2557168d0b02af7ecb44145068fafb8ab0619236491e78a7408b1c8f18d7bc7cb89e0b461937a0af30ab4b9da7fee2f0b6e4340593fdbc919d494c4a0621c79fab6acfddc7721cb3ebf980cdfa34ec562f147c25ad7906e0582a9a39020c51499c35ecd8d67258314c11887663965fac25b5399aab8f46e2dbcddc5326e6640bcc80bc4f4f72031e19bea7d8eb7a2b22e5668c05752125234a46cf0b437bdc3e6fab425fdf6c5bd00453f273db1fafff1b3b29e0df6beb6b78d468dff4848dabedca0c9f0d311022a9b87e4c826a251ac1d397ef627e3e75393395814b9abd90f7643ba62872cd199ae4963816541b5817cf43a9bb58d107af5141ecfdfb02f6f3a4b8d7542f3698f33230449ae6d365f2132dae2e80ec27fb248f236a7725735f7b89d87f72efa4a5d9e6fc4768c46092eae65149b03162a2c711d88f57d69d66100b257951b582001e68574962636d346004b3f00db1157f9795046091c273561df8dd14050f3d988dcb401dd9266336504f5fe96411b3e1a6b723bee3a5a7d1a1d755c872b2d8a155e96c004e6cd12264d8e6800811da817b4a8d1de8f020bfb6333bf4133ace3b94d438378afb14a1c2f81fa7f1c52d5141094f1db043f118445e2cd24b8dff12ed90659e4b4a1a157c9efad0e9dfb76a8d3fd307eab6a7ca03507a4072228cca7029afbdc26283a5f21b0e84db440c299d5554517009b49bf4facf4f72a9338f19f24b94cf47f5c200257e8976a08ff09b4cfa26923367f329f06ab37272ae39414995f91aaaf22e6ece9c18f08d074b6f2bd4ea489da115937cdd401b5636496d0e9d33b35d24bd4967f74d892690ffbf1609cb44214589ed847d0f278e206cd1b32e4bdb47737bcd22c84c9200d3c431939da6a958732b88550db472a523d566a05de9393ff5ae2e9af326ad5843922413157f3a09650bb800fa7633f42cbc919bfaf0b9206b43a16fe1979c2c29a751edaef0b80e132a276917c772248ea39a53ff85fc80d5f6d6ffd18ba989f4b04d560383c48d1ac9aee5229071e97997ed9d3a32325c38c84266844a83bde0a51fdd1a33c8581dd8d16307a95255edf91f93c5b531b5f684daf49687956e98d9bf99d9db3d8df61375f72fbc7213834fa012ee6f8fbf083a80b82b3827ea2887107b270fa928d96be7bf25cc7244b63bccba494191f8fb3753be61834514fef8be998489e0cfcd56bd109be80925e614bba1b8a466eedd50bb87424c242d63c88f846941448eb3136e0547e03f7f8d4b3657b626bd658eb19c6e67e0c2fcef226b408ecb4255914887f1e05872f0c28a0d7b3d86c6101e6c1000574e76f1bf2418bd3e5f0a6cd6f7ed221af172ae36eb35959bc4773675b1adea5753584aa3f8f41e237971aed7c4c81c28032d1b35dfad277333fa27ead32075ec621e81ad1a70b6bab486675aa8e47bc6f372bed583f77946860fea71bd96b2be93a45ec0b79c9f44769c583f4777343ff442f2ea0fddfaa5920ed78338faaba5a5c566903268ca9c0770dc1cee52f4076c7267913f4248e6469f1f75cca6587b9173a3bcfe2f6ca9174f303edf3ccd9b55720c3d14a185dbf92dec61957146d034b4799f85f146a65ce4e0fd2ddc5065da727f1e127bdd1d355e4115bc30142f669fa57a902ce014399bb378fe3d95afb472a374bbec0eff6f6913cba2c652b1459a32bf8a1b830a9cb45aabc291b6364c72e13e6e3d66467777a37bb6bc49d8104585207ccc775c4dfdeae1416176a7fb72f5fc9fd14132e734c65ac3f005353a227cb8196b6261287bb399647384e3a67202fc262bf3f6425ebd1d68bb4f14ae281f36d2094f1b42c1340cfa7853ec4172f790259084479746275ceb69c5ec0326a4c885695d4e71d8f66634e0a963f070eb6c7455d0dab2fd2ea3c99e6cb962559ce4d14eaea87775eec3c782fab80372f89d058adbf36a511e28d7f4ae5ede6b939a3d8bf32e45c7862cdb04b1be365d8ece1d87eb48e3816bad503e94824da5e3ce898cebca4f90da9a7477d30570727f0d06f9d9aceacd910e2035c45fea0fc0fa9c67ab936bd65f03e3fead0c4572bfb5de5065e691ba3801b4d1d6bade615705a1f4b812582166a57ab214f81a724ce91c415b1353068777765b337cc2069692fdcf6dfc42f0cef05430bf5daa070a6d88bd6ed1c1c9b8161849ab9d27b8c5fd08b88760a6619c88e7061b9de772325564b02dbfd0242a95823b6f873a71390dad3d8bcb34c6985ecc69dfb2cc72a9a7f21863910326e594e0ceffae3c0d7f450a7ba5ae5c777dcc23f058a15172101fd504dc5f211eec02c9075113c99a47f5334384f6c401e8dd0c9327841772c37f7b0b8f0d2d07dd5587a061db8ffc58e2709a26b78b9e3ddd3bfcac1c08720c125df722704745634c9ba136e47451267c89f0092bdd470434a6fbd295d12cedd6e5c6358e9c533e954dd5385116f9bff4aa2a88c01c5acb622d4b613390017dc4c38b379c255a831d0d7e284cbe70733382d1598eebcfb7a11c0e5d1af953f0f70be2516588e2e23219e6ae3ec2808592287bf6b59c77e860a9ba7cc9d6728f97d9768f28d1401626977dc0f3cf3b8dcf2f2fd62b3e30f362c10d46396403ac5683ee46ae9dc4a6b874476a79922e0d983fe02a3ea567ba0c68bcf5b42224cdc1a1d727c145130af22e6bbc34a1739a755facb0c3f9815b415d1a8d6c0e68b76f12695786eea6dcaf1ef7f349d5b7fe5be580111e575761998e33107d5072c1f25a17149c140599158f125bf550ce0c7ede42f384cd6809c9209f6d6f9872c95421eb82c08c223fe543d94bc432dbb2116d7688543ad83b53b288c5528862fcf974faedb3e3feeb76b24a7a1cc5322c33265d3a34d50d26561bc15c6c98720afa3ddf9408127e0cbd0e25da486a8327cccde72518a5d4b52801893459b272f2eeeb726e0c5689ad067c832e11d61d683ec5ecd97870b9e2b4ed95b3d4a93e14591d35f14cd43be1acb02ba016b0d87e8f7640249bc745b8b87e2fd8016426060d8384ef6b7769a7ae39b0cbf5f8f94153c8ed8263165f5b1b681abc077672c20bfde486676f0c27f23cab43531543a3f402b230579b476dfce885d0076a72829b914ef67c35ea5eab4c792adff07c6040062d65608981b054cfab167183720465b45c24ce17625dda666f2c46815d37622a44ecc079cb510951370f75ad729673ae45ca4ebe16af83ddcdab5bc37af3b47044a29f60d1be8289435d93fa10b437df2b6fab4730d0b03cd42cc9bf977dc8f8e083941202bc679f599ef38772b886448a4e0e4364c358c74b0a4312ab74430f3344424b3d518adb7b4ee1bf3c8a840d66d4fb2f72c31227d69a1e3d36dd5e616ffad2bb7d45cafc8d46340a6cb0ccc97b435429376dd8078fd575406a2978e042b672c0e1cea60893de0b3472f02d1cb6bc18b50a7b9b9e14608691dc95c5c7c85f97e419b85c00137a34cd24967ff6852e67f219fad7f36940463df92bd7966a5d4c37a120b2239d644ff7320fe2cffa144f4d1a42969857917c0eac1899175c321f297855ed0f6959d69d72424674ab0f636971f3290ed7ce500ca05368b3a0085990e81ab6aff22fd2907281ca58cba18cd647c0a2c63738d2cada19d88d4ea570a9732a8254e208ce1a723d85c5a0629bcfccc86ffcbab47aacdca5a62036de7ea07c561dea6f0c21df728934ad24b2f0f6cd3092dc401c6f3a60eb381422862114c92d65c84862c00b17f15eb5a7561dd7129096f986ab0075504547d3a2fd1fefed8797a9235110b45ca0e1a6f5b0e7356110f313b867f2c8e060a03f6cf7b2d7ff5ca2b566863dbd052cebd1d8a2824c501083db1d6224505ba9c1fb1105fdba68bea56dd6f4c72b7288cfe1b3f4590cbf1ed0164cadb41167df964a0e0e68e1d7073c0049e9508a72ead40b76e99ebba9b75a9de12bd00c9828e4f6241f30a5fe0dc8733b3120212c15f70218d6d9a4bf3acf8e21ae7a94d4684027369c1067efeeea9cd88c95f355b439eee9572078f490ed1c9cb13650f79bcd561666f0c06ede3ed40a69cb68726a28cde0b2f77451777885775f1af727f27bdcaf3f792f5c489724690294f947590e76359c5649437e4e5d70766e148ec0aced2f1e2a99f6f02da93a83caad729e09eeeaf1f0168eedb0405183a8d83324b291e6b1420425e5588e81c38018379bcd18e9912280bf5946d3e02e9e37feec6cc2f30a5b763959a32c3466e73472027122cc2e8315d5f1ee0407765f3c570c9c70d2f0cf7274a44cee9122e8ec7224e169e853f7a3b86df011876f55192a22f103bc34ae1aff82f6cb0f85d0eb4ff868dd0468402c860d0bb0513a7abedcfa70a3a97a2c636a65878aa26cf6bb7272addd13d90e41498be96b008941cb047cbc2f6d98e896bff3a601e10e05505d8bab2bd9731be7d99fe20a676955ebcad41c6d0fbc491cf8f191bcca6d646e72b8c126aad330790605e307a3987da916377337b169b2994e22157b51f4a7e972eaefc673300afd130ba862a0f6e635f7b95de5941bcff865aa8d7458d4b4e82f89d753c3e0f8e6c4a556cf26cc2c9efc0b200524672b1cd2f20e0bd35e116c72a57246941ec322e275eb4e9c59896aa015dec33262d9b9fa0a8f22344bc98b26edf255dc10600477130455b027777e1d4ce3902f1a1763195a27e770214c961e47b6940f380e997599663c8aa71044ee90d15a1d5dab84a05ad63dde6924c772c3294d41111751ed765db6cee9cff74584a9ff2ebd09c2a1addde9dd36d8847263caaed15b7ef3974125cb0b0a3982c60d75173756663a84ace4dbc2afbffb722f3763ee957fd974ec3d4d152272a606c105fd0af2264b5e369e6f1d8102ed1c0d32da96cff03f8afb8cda617f881b16af3f04c420a3f399dced95f955017972753b3143477e16571d38cb43b95a22635b5d7ec6a8c3fb32b806dddd2ff11c71e9a6b9303461da3e7b0fd61772afe0352b0fe241322817670e274d467ee12b72bd0332be66c7783b13af3c0af6d123112759a8519834aaad1084b80888478d1dd0dcffb1e478481d7716f4f35c3ed27684114784aee259cd8558cbddf3c0c102dfa6823e2f465200bddabe3725beb6110410adebab2a2cb0afb21746968b372ceab5dd99e9454578ec75d87b9a929887ddc9c6089653e444ea4b6e74550e161d14dc7f133855b286f5dcea2ad7041e3783bf0a8f9dfd3ec08b32ba156fe4010102d7926a02c59b727f1f0a3f38237f4df6bf32d89997a6a3c4d70d78d9b2607248e92579dfdc664cb0ccee0e62b3afe33ca61c2179a0f17ffa4fbb71646b6f72eeb6b863045ca8a16864b1fbd2055261d0d4c1246b3d5b2bd1fe76a75ab02b0a9d81adb2d6a426a84b9e1b33a9f05e540ac0743d1daab7c4bde0867ab20fc672ea332c3414c4bd04717c84ce7179530298c5573b97453e53225731b90aa1af1eec14fdb7052e1a6edfd60143d4ab0c1e068ac615659754e975f8af784dbd5972dd70d4c29ce8829fc0c01b77b57a85c14f973ed4f39e7f133d37b3b21d3a3a2ce558efae988a148a4bd0a5c5ff9c2656092907ffe37c9141f6b2ac2cff82cf4d141ee5b8297f63aa92e74775382aea9951f274766066c3f058dbb7ba07e9d84dc4db8df11b21fe34beafc4c9b6895506d6fdc758c0c3787316af87d00097d004d3ad181621ac6cbc795714c3000fcabf8edad18f7cf42a4fa01926ea82e1961a6b89d63aea9082c51052c798eeeba67ff1d2c144caa09d9ebb25385002058b722563f2882b0c79830d019ffff61b846b00b4852ed523948d40a37337023fc21895e4720f734a74c77f9c4bc1d8602541be72b03d60e089d32df713d04638cb4a21e6e293b1b8586bec0acc32821202b71830b2c1450089c4bc4756bf62bba172566c27ec1f29f0be2fa1609a53d81f0c1ad2590eb1a80aeff6b29240e458c360bb8534320d500d2d40056af3120c95f2b611cccda746111a5ba29be9a9bae24115b9a122ee35818418cae5d919e59bee3b62a26a7af7a478aefec9e85759507219a89c4ec4e273cfa9012b00e47b260745d3139e473e9b99d5c24703625c804cc5899e3d9ac332c09ece93a9af12cca618e09900e5915d4cdfed2d8aee49877293db358fbe9eb03058818da56fe0dff6582f6e2d13e48073184e0328f43ce072941a36afb212a3210632bf81b18eef12b78db00c2655cd0b140348c95fb1cb726976d40f0b06f5a37e46cd0ab9c9eef62bc85c88ef6bd35bb835f66835907d7278033ddaf6307e697b9d79a1ee379b249cc04dfcd9f5072b0f0df073c880042bcc123d3b9e6f7a1e98ffd3202d0993f9cbaadf5744af8002add14489ffe0f67295abcb2f73617c794644923022ff02b2e7d40ca7807d2815234472aaac65aa723c0033d6bc4035c32c2f0417f7fe94ce73dab6c03e2b829be6f317895e763f72591981782fe58d7a840d5cd9fd07bd5a043df3e89a1c51897725d1751044bf72da5e786aa12fa4a64e4ff68155d2de89bd103a28aa204140d70500721d78a872d423817a9850475e139a847644d527a52ed85bab38618b817882f9e0bc3ac272a378fdb28150de423c277b29a464c9da99957929fc6ef0742e5d7f47002e85577eac91e9a5411b9e737a332ca02542168bcae036fc8f7091a5d34f10eb42af72834e53687cce87855322f76c58073c054f67ff78b0d8d68d51dbddd0fda08672e147e1082c9ff413ddc98300acfebd64cce2651b1690b357ec5a64b76d42500d9cb2bb51809fb99ef5f2c70ae91bb3b69dac2cf6cff6a9c49cc53b09f838e872bf4f0897b6d512109d90989b76ba1b29ed5b6b107d9af4cfc440f7294be5dc72423c2ae5614e6554c9307e37e397a43e13b2e4dc6bd42f6b5f9daae1df2599722c91e84ce31764d1a7c04474e3d10a2782bbac14855c9ce54176b25e6dfea2247f2d81227b5fac31f4258b2bc29314fa5c5bff2b5aed10b076b464ac7dee2004a7408b021aed8da70ad73c22ed20b5e4a7f99e7cd964b1af6faf127dc0473f72fa3a6a046398d450008e7a9e9731c7dd215460d0d1bee8f90a70e60deea267567bec02fb1f8d4f776fd2a295209d1f933f6caf83c5c2f6a0974d01beb40a0739c79885949726f1dc23b1f9e0ef43df286029be58d6526d1c6961fec4a108165e0ac2659f94ae635f58a3757d6018ba0a2058f3e7916127ca5d2c43eb483d0a72f48f6b96c3fa6cc2f9dac7159c54166de4639541046aa5ea89f3965ff86cc172aabbf661718bee4aa219814c5386a03ab11ea9acd2d85c294c590a83717bec72910c21880bf21ea401e45d39497b8ff12aa9d030449981d5e481848868cd9e436b7abd5176f94393b8546b69debfb98b43c520e2458ffb52724d51c649e4c30c18b649691aaf525a6eca9b48820ff3967ac41703a4afa10caea575189dbac24b237ae0a1a40234ee8bc83b16c1faf20198b1ca67fda107e15b9874c648e4784958d8bc8b4e06c723e70b6b87453334245e3d8a892aa32f5b95d0b869246e15440ca24427a7c09c3eb0c4cc69814a140924a1e6cf991cda4c54c3759a2671d732412acadb80367fa61593866652ace516aa92eec0843cd14f78b9f76c9e4a48352dbfeb0348dac1ccc73b5a850da1f150d1d448ccf136cff17a66360a4c0e9e702c31893169c3c1b06ade7ac778e50598a6d093aa4f22a73cc9b5ebb209b7bc72082ccd757fe8bb703ab72aceaea1a5dccd673add1fe8abd78c9e7ce48e552e72e81bdf2a1f4a790caedb9e762e6998804e9404e8feb30e488d1b7e625bde18725c906484658ccc08855b112f8e57b5ad8acdcd14ba89d392276923cf90d7d0056a33fa5cb1936536a173579a01d1b967a8cf90efbda5244691cd07c0255cc872e1c66a90400bc38661f9786af312f4f5649f6e510aaaf4092f489e06a02d3672688dbb0a9d7416efff9d15439a94c1d3f4d494a3a1f060fa49b4bab5d47c9a3a0db5d10fcc08940382598555a0b908bcd4bb07c48aa17c7629f0e05bd4a79c1564143f6626a012fba5fa62903f9cc9e40d8e2187bbf50ab0b5dd92ccd3a10f6b1a8ada8079de76facd1feefa402571b3e2ccf1ea22a1e5ffe4d45c336bcb5872b02774ec570748b37638a1da3c5664ae740621eaf87c4371547bd692d971fa70fc4e01eb60fc962c32283fb41012080b3d54d2a26e0d0d4a206bb2020ad43f0c62c4e5efc847fdfc9c3eb8f9a963f7373519508dff10243d02ad06a870b846644c95f660e354101933efeb2b2c85e233682e6a0d0c8ee6798b26b5a39b040172692c175608a0cb594973ecd93651605c47eb9d8d0f2050464ddfc825c77df0724fcf12225bd09a80afe31dc55f69f7a9e0cc568db71096f0aae1b2d9f838f61077d9843cfeae84450a2d26caf8cd08a7d23afac88e33acbb3a68357c7de2d5030aa0ef509643fe7d957199ef5159e81aea68a53864d5676748ceb8df9f4ab208f4b9075fd161978362c6bab3af91cea67282062e1b75bd1497c664b111d4ad726768045275816b4a4d5c286988c6c8fb31e167b894eade932231f9b0e9321272c0105b4126432410735d936d9247beeb540881e2f93c8971b51302399bc35472b73bbf430e4ebf641158cde7b074475e62e7dd9c927f04ee9da017d7327247630c41bd0775d6a4dd6f23c0897a7f89221a79be9abeba175057d5b8938e395a7287b627237d9ca01a3e0a1c07cdd219174189f0d36e1b0f7d4e7b5376be8162704db06fcb586b77c8a425587c7d4a25b661a15a05af683bbce2c65b646f700e535b1692faeeef6acaef5adeed0a06a451de7fe9b54aba6331e0a36223ed4e2d55be62e7c1b924581daaa8f550bafb73eb161e828aad2276e0d40acb4d69840d7250ab2968312d651df912570fdc27d51b1ca28829c3c337124c7018ded935a045c6d81dc6168b8252f815dd343eda70f07381faec90e8e9d4420a24a48c4e6a72f354023041e7ecedece96e83c7e6a46070e0d9b59bbfcb07604fb66f3263eb17f6c4a2da7e1fa219bdb35415036b2d42f01ef514e8af1a8a3dfecf934462eb725302644c95dced2bb0b272bc30ba40c1eebedf433235ebffa9052395c77a716dc325226c285427d978a703b7a8102d80612d2f7a3050c48fa208c76c6db1ea1a1a1bc9f844c05aa3192d496d908d62b817cf035c4c7040d9c6ba775fe2f87672067a521126206e4d0bcfcbb42c237ac732ce4e1786b2a98a95ad17aedac56c72c03ef06cb8f9c2b02b10563860ce0dc3f4447e81b5e523f7b566147cf9733a49dbc5ea65bb12567e2bf9cb8c9752b2424ae37d35cbe300789279c12d9180ce72c932c6c9836c13d541f0e934f976e17f912288253d2a819d4690b526cdc85e6518ea4331efb44f7915c187b8cbcbd1fcc9505c9413ee8aa1767e886cdd0053722c589fd5c945a16b93839e76981989f67ee61dda348f9c3c8eaeba1139cf857257114025fde00963df57e1cc032e653f89d70abd0eb3581ef8c0c8287f784772be3b01321089f787a738d3ec302a026b98b14b9098531bf8b1fd4933ad08bb727e7290729ad35473d3227383b755ce7f97c206661b31fdab2a1a59317326a772e0a8ab0127817f454d2a45461d0bca64d8e8e01275e97a3faf3f52ea01cf467290f27ef6a3f5060afc60b27a97ca32d608037b02235ce3278f677b5238087d630d6bcf7c7dfe3d3a6a73e7d0f85773ada201fb096cf00315e66a3d2191725d5114680cc97de1cdea89ff8d01df066d44c88d6766be31f3904eac08fe79de40541a4e4a418626d51a9bb1fea91dec9b59aac9ffe93e1e6885f2e568f4f7e4072d074b6b0bc1fe491350cf8aefa79a505eaaf580a4410a24de3d1975fd0f7b882708e5b41916a55f96c5c9a178ce1478f90e28287d123a8c5d8ee7562317018e0e8e6dfe69b68705a9d6d10f9004c1b9a589f39dd4a78c033f7f03db8b99ffca72731722bff6603f720107de4a42c5bc1e9f0ca8f0e3261e3e5772a23ca927d572eee172f6e6e4a3e3c18fe346ed1a881a72a60e89a4561b29757700f02c8279633870e3038bbfb055d33f3523e71182a332c7060e6b28f46fd9b51e6516a12d729c77502c81eaa490f6d2117b3380662f24d3e45e0466c876e379917953e43972e0344a7dcf7cb10fe32d3e9e6ef921e4ee77e64dadb44e4de9289cf1fba87a72bfbb9d043fe4b249fd309b3b9deb8ac665d083f70c29b40dee3a52e2fdd5e772b49cdbb18c1f99d6086ce2fff6f2345505292ab96fa433adaa9a09a89717b34452d7d362fedfb9ec800f2048bd157164edb2ea8c575b4d88085156b9954578163307e76c502cbe64b3334be058e456613d7c0625c42b29631f21ae5cf24dcc72ce3f1800771d2f3eb9b0785c2f795a7df11f4e91ea9156fbc6776d00248878726ae93dfae83a40cfc9841c16c11f9f7377a79673a7fb13f6eea2740c559e01721615d3305b824f537125b60d6dceaab5f0a085b4d660e462b8eaeb914191e172cd6145efc390e239adf80ec31fd54b33e052cdb98a3f8df6d71c20b342ff4c72d3e687be3e7ec0a14fd2a4ab1fe14884d60375e685ae1107507ca9f51dba7c72446a260304f841c3d286c0370d6f94210c3be89280d7d8e320dad0ae58176d72cb7348b65d474ac18512df5d3b5e14c1b0ec34ec574436c1a0f15649c5e62a7210fbc1c66400779d58708b6ae82ee9c53f85ece612fd6e85bb374d9193b3f0727210501d57a173d6b5edea1fd3bf138454889de181289c6832591e77558b8d0c7ca45769323ba1c78788bd81857805d4ad3f3d41a3b10fb57193a814c4a52e30016ef29e40042f27480fd60042178b86219c327199c81151ef8da78aa7cd5372620ea8b8526d0359b01a56d3b3495b1bb2fdab0934d4468eb7ab987e9e211b72f5d13bbee6a451ff24a522511babdf93fe63aee38d8f7d2a0f981b716bc7dd6c30f532f63f921dcd76b5889a18ccd6e63c8491cf2e87dff903a0d94177bb5a6aa2bdcdb4aa9e14c521bf49933cf4a1a6978400b081e84466a68852567065ae3aa10fd76507389c64b9c946679e63967575b7741dc512f675345cb1533bcea00639a0bed63c6df171d956b5ea4bdc55e1f82c18ad09e376e82950ee7972823354f2a09cd83657f643dbaa6bad3f224a2efd67bf1e9ebaeab04498ddf2384135722fb6b21f0ea3c8fe59f75f69afc74be552853fab5d009bb82da1d9e8b7952d726fd87b2d4414c3eda1297a84d90235d73f63ddd150331f1a689561d0be0e431239d026320c2655a95e74b2f546c0822afd005a2a6d93d91594d4229d638d4d72b8c5ea3c4ff527c1b8a6508147cf3e2ccee072126276e87c5a333f88fe80c11d5988093f0153899ebe8d953f04e39ff42d72ece7dcf7e69f684b591da0d8a64a3bd2de9a828057f59b61464a985b86d20d5ea16da6b83b705459252a94ae072669aadfb7e27b0ba951e1054afd07599e193b95ba8fe64fa31ad32e35157e9f67009f695973259bec7e80be3ac119df366cb17e15e168faf9057842fea1b1a87226726db27a38e52779f027df9c2e6cfbb8c6eb50e55e8401a0faaf15209ad162ff3eae8e43f5b117fafaecc9b1e9db14214e3e8aa7bd9decc3c58bdb312a11170ec34503685907e4d64696ededf3ee96a2193b92fccf882ca3c5db6dc5c2ac0eb8796be688bd91349f5abe23ec01dc2c4d82b96c22e2584375501dc5210de2720a5c2e2b08889aa8ce928262f48114bdc32d66cb3c37b47dedd0bd601f877572706dfb38fdc8100c84db1037ed5fd008fbffe06231b7301c98d0a8a3055b727265db9db20fecbda0c424042423414669671099f01af76a5b674c3b540a8be8720aef7d349c3f7ac9420b6361beb0863115d31903e1de5e41ca42d2ddc7d16372afd6a88d1c6a000a4a3f4c4013c3884ba4b65775cb26228369476bc837fcd53a7ba0c9fdef51fc3a0100a749fd076445ace13a8b593c9b1e58e3206c801ff50ceb40f9f3e260a0e750434eaed44ff5b63f8b39d2ee55834f61459204f2ff3f060280a3df3c3dbcd2765e80080f4f4c42787830a4b7f0b7c61cc3b2f6f7808772c55468f210b2bbb958833eb00d191582ad5e27b3ea7e9e3415c1dcea473cf07218261141eb6450ab36a05f1c3dabb30be3b1060499b3d6b5347e87bd3fb9c372fd1df0c39554629baf526882e481f24c5d99792fe64131e3842456a8e2df2f72a1e7f26723903ba950c70b01bd2831d7642b17c07c8d23daa045c086d2d00e7245fd75bd8dea6a0e28c3393bd7dda9243a47e30378f90272407665860d53f572268647b75a6c699851caf7c3717757d8d481b7c0cece032d8550066cc108fe22abe9a0433b0fce9355c21f13b912765296cc1092c5afeab171659e699b932a30d8d57aebde541a1908557c38bd4dc0ff8da69d684caee16a31e4080cd400130cd40a4941940464a092864575b6fc9fd0f6e8feb98a19a01b9971892c1aa04837008828771b4d5f09501398af82ae7d803b1316c54046df28b51b9973762d0d725fd3f52d0a2cbf76ab43f6d4aaf9af230abd45d87fca9fbfcefb6aa7e01e15507dd4fd371bd52028bfe6cb1880feac5cdb94492556aa95e89240fe4a7d4cad7282753596a8fb6a9e15856fbd82c66060b802431cb90d063aa410745634a595727c725888536c85e64ebcab4c19eafdab268d8c4cca37a89afc8f972e35eb6e67bd9b0b986def5b4b05a25bd6653e4bae438c83c280715b26e638e64475573e7272541e13befbe8e92d064b1ece634baf85d3f9c865416794f7388f71e0e9267235003bf17d07831556f905d7804fb0aa196a7f077c52624e464470a2636a117282d90bd3a77b19723335da5cc9c23fe574e13f16e1ad851490436710a98f9c724882f327e96df17aaa3bc8317c88838d664fc2cf0a0f9897b46e82923b29f972d48ffd91c5a0b787744b50f67d6b4b0c8cd9e0be888de54241e2d4a7d21066094649643fbf848571b4e810c7cbc5d245b1479a1818d5ae093fba2484b4d869729fbd6844369b3a06daf46a3c300fbe2d60e39cbef33d8eb229265b5ef5e89f22d37a9defead8bac70265f7e3c65c741905b0294f23cd52e96394389e4cb663536ce4c470b3f5db284c98e21838557d55c9ebf88c14a35e6ed670a4f388065a3a819d3b4598f399ee067aec48095285eda496aaa4070f4ae6aaa65fffcd4d1772c8d2adcf879b2f059f52ab1e09254da3c0bc17af4fe52e5b69c80fa8aea5c249afe632db6273751aade367101bf8e16acd5924748a987f07805fe783d3e5c672a4afa425beb5dbe60c79b2a87f4abf69c81a219b93d0328619d1ba422afd8f0a277bae39a45436ea13c9112ceaf5b48dab7b4b88d6227dedc26f4715508b195e3aec632de27f49b2aafe15c37fbac1c171c329f38bce0edc275b0776dd9a3a380a4c301d72875f75b76f9903d0e982a9d8cc00467b5bb8cdbcf1bdb3136a7241e354ebc35e832ac9b7603ff58a6c231c5565e7cc1daf45b4982d80f9e8f72d723a8b03b7b2af3f9d37c4372c7fb3253b2fe9690e0d8e7136b244daf366e03b725084824b05d7c05b7710d725b298ce4e994435bde3a433267daf359e9cad0f06422e575f8db2c38f937c59a305a62353783967bf9e39cf8ed85a7ba5abefb3724d09e9f47c3990e09b782f9a5759e031e6753cbb1fcefc30a13893f3e966b06ed7c08952ef71c493cb89d0620aeff6ea51edf897a6744908380334ff98f474724b8ab20e142ad939b780e440fd78ebb2ee5335a89359d29aa7fd9b0c4ae24a72670f122e366abb7eb0d34245f618b95ab3806936600c8e7d2cfb537c9b87e2725522d826f10a9d611ae9386c6fa368843a075d4c8ab75f510a406a4e65037702705a27c31abe9d08baf0a27b19632b05f663c32c7c85cb856f2da086bfaf7c48cc031854e4e9a4cfe87badae80c03c2e8be3e9e3617a8f746b962ba7f4572872904422680b4e0311603335001fc951a59829e90ea83b973a77fca050f324b2727139bfbbc7ae59a4c0305dc5fb1aef02e6351afb10290c6099184cd34cc7607289d75a9bad5bd7df5049f47c7906367d52ccae2258b1cdf9031b9757e0512c72f3f8e15f046fcb03877d5622745b156c1bd0433366b46e5824588ef823013e72df5df52d28211cb29dd7aca6e7ababedd2f0d4253662e8095683354f20445772d34448af5d6056c6eb8a17291d363453d3779633bf7acd5ef7772caa24a2e30b349d02465bbae1d4c68425d22599fb50fb5017f85caef3ec68f8ae40dd9c7372dc2878040bfca58b1977fbf86258fa5172ee0b39375c44defbf56984ae3bef2ce8e9d2eec850225993ce050708fdcb78786b3611d4422a15afdf5fc19c543924684c21b95f2a27c2aa6eeca00742d330e5f256bdcc3325edf78d63a64e65097249f9cc6bf169b41d581e3ab37f5d2f617eac16a14bba980e33a4823c188726726979167edd8a41ddafcb2b72ac984b2f24b923b2352f06423acfc938f12c2630b12edb210c83797455cab2a6230aafa8a5f255aaddd3751d730bb3ef7a95547231411943e6725b666799450017ca93f472b8f6edbd8d89207f061f8734304872c6d91bb5806c0094a193dc6e0666a15cedf3a80c40c98885d907a46370beb172fd6e06868e6d9e2b631c32325881f80ef2d891dd2c2a2161f14325cf9480e5475655e63aa8f0d8624e9826adf690f2c1fe877007cda39c468d6b57f13357dc72124e74399271f7c64b94aa175f2f6ef18579af2ea0f3be67c381135cc78e502b49ada8f06201cdb0dd70657be9eef40abc2a4243f9b12ea24e07db8dfba41972d4862afef64650f40614a084c51d904e0b4a084209af60aa9d2668f44c3766723341a87b694317b0a8dd03c24fc169c53aa4e21d5a6f68a6e31f444dc6a1037259678b057864c5331ae69bb91f79021b98458334cc89f72d0c83d3b12a67e61b50da2748da6e62e24f5d896b69193353235be86c2f20f736d1b305b0c4c06072eea388e003919c3044031348f7878af15c3edbef8b0899ae27784550354ca60bc8b6897da25cdaeafc0e402982b3376ea72338269c10c4c2a1a7e14a13ecff064470a64f6a93c7bcd69514fc767e2e9987c0203dfae162f5e6d3ebcdf83ca072bf836039951a102b2db942b2a2bdde433dd9c17e875fc99d767e28e5eea19b4820743d1703becd43f6d319bd2605271e5642b8462ee202c2f732fe192e25b872a262dc0b9d27213f5a54841dd15e31517760d3b149084a1f4c0bf9dc74598c72339e0a4420d319a06b753e1d78e99647ab17f9c3f782430e5626fdb3f745ee22c3a20c339d87f22eb70074902a3e273e9da501ae1fe79a5f743f51e6f273e1726ce0349ae9c5e13838cab7b1713470e402a365c9cb646343197997b74b43577269d954833898b1c8e1f644894376e41ed2a525f57dbd624e1054af18b929130e147c8ca35e646f08a8e9c7347d6a910b4eac37c5dfe3c42452a7ade2258d8c38adf8c97a0322336946dfc246d19cd80141bf2fe77356d384b67cd28e8996f2003bc4a56ac83045ab24c62fb16f6d78ad490fa4ee0d715418a427779c5b203b7251ce312a1184cd90d42713773efd883cd82609f369d5c77fa6b4a9953acebb2360ac13296f9eb3c6e42edbe0cbffc7d56b6d25506d457012b1751c0f7899d44d2511893ec8397d153cdff2f300b49e64699600fd63017af9daf7bd409eb5e3726f14a83e0c1772a581659df2cb7e2ecbe2f693ebf63dc19de881532513d02d209bf6633566efbf985f25c8a9757023674d3f9849e84dab43535480a7d767c572cf2a066e3a95faf4adf4e1bb94a7bd2b3ba242eb55db2341a5deb9e838a6a7725cf0b27652a27d87a69fd1995e2e0d2a3bec2363a690974e8f55fd1ec3190772468f34a32639074acf0c81d72abdd8568a802bac6dd680dbfe5e68ab79f40111fcfc6fa11820183384c303d0731096dc6e9f909790b91c5a4b14d1166041e972e1bce14afbecd4ac09e7558b0fd6fb9f56f883583a02fa34ca645ac1ea445c721ae2edd58457d15031f39946b25b1682b4c3236d9b8a885f6639c2d0a17722722d7ba80a48cca2eb9d9e0b944c3fc7b6319f3a307c7a6023b9375fbec4819a72cf2ad1f3af16043d23073bc554e5bef4b28aa2973a2d26413a865797f5214d729f1fd1706a9cf309b581f8206001a2e6aa1b79ca26a7f02872ed3aa2bb42cb1a1fa8d0f6704d63a586207081915aeb5ba33efa0bbbd033048cc7129bac9731189e05d81dcd846681c53d5add1e9d369c24551c82d6f0d387314b67402b2cf63e9ed99b9f47d270322b794f6dffb9b85817f49d063a24e263d43d5ba1a2af2472566b36668bf7e7cd503daf9dd83f77fef7078411cf75bb83a6be5c729b84727224903b01fd66d8f1f77b58ea6ad0ba6d7656e388b5e2ad8155487e62d98d7b4dfa8e4f99c12353ca5167d53e2ed3683abcc9eb5bd8bcbc0c2f409ea5c038c972fe7e8106da29a5141a178c5db4925835a030959a90e557194ff57f3252062772b9db067e161304d314dc5ce10a702269b7b3aa792557e11bf5fc73bdb081b972fea88b2ac823b77366b205fa11ec24b17dc75fab207cc26c8256b6fd6ba88f16b8fdf1fa4579d524fbb72e4028f0f12fd2f871841b4b84664d0cb3357c0f4c3dbf6a93d8e842f5dd994d89113345f344e3aa4b484b8bd1771b0b57d79eb1c036ec87f2cd14587556a626dc958ccedd95d723a30f7c61888b59eb4bb97079d467b968e357639ed9b1ea097cf21ea4db63ea77df8a4e824045d71460e8a5e11272c5cafa7c0ef55bd6898e82685f1a9ffe7958ab95e2f5577094375d86d83ec36c77a235ff77818d5babc3b3ff799593f7c9760431829bf697522177cfbea50358d7fa879409f48a8f89eb8adf46ea1710c98484b56c010785249f7bf3ea21f472542c2baaf5fa56b2051e0da2a72609d5dc34b675481495c96f3d4dd4067afc72463e53a0c76e3e913d4844c1c84234f2633bb90ebb3d34ceec0b22e8b1076072340b910975cd2924a53291dcc77159186db85cec57702c46a8baa59e31404972771314330eac67e2bf701836b32591a0a941f5825186396e348de722ed28c501867968530ba34db4240d8a512bd3f9b3453838eaabfb92e67ad07e4627ff18729a06883517edcbdd5f94e42496d3351322bd66669e07ca0918a8067d5801a970949b0e1d6f8ebfe0e6d20ac6f11803a0c60aa612fe5455dac3cdfd3430f6a42768802b1a54dda2a8b7047ebcb98ebc606d3514778bf2048d60e8c2667cbb310f252bf4679703ae9d17a961d8e5588bd3b3c25a64c8de70b0884d0c23386d64721a290d8a40322d78fa0539e576e460e724963230bc010fb087786eb6533d7972445ec6b7edd4ebad1e0b0cfcddd28587aa0f393f71f8c9c3e5d0d181a86b82428f62fdc9e3865f3ecca932b7d09efa7bea0d67480774aa1c1658d2f812fa604515988821b7a1b58fbf4c57604bdb38c09bc2adf6a62b57cac597afdfb2132e217934dbce562b75ddcd5943e6e9dc4b985705bffcef247fc9c20347e464683472d2c6517b133deb0f758e53bc74f1329fce6ae294a99cd5d0ea600708ad60ba4f9b99ae15efb6a3b8e03308544a67e662f5815fa7984dce3a86e04581ee431d727987beedb2a4ab1c3c019882a2b5f1affe491b966459b6e9b7fdf2b62278e72882f4d3dac6654505dbc24a05a9e8f66ecd31cb09bfd3b2f26429047c191e9837d990b082d34dc8452b1c14baf73c8cb82c0887f061c9a071985484f2f8fb9833bd632fad18ce5ef621bf55b878a5eda8174b4e988b3a015c488d15dd0d7a067266d95716ce6a80332097ce2f0f7d4cebcae442fc07d0d2ba3b8cdc216be3a7722db1f530f4fa9e7630815fb31677611f09848ab7ba7f32ed6487d07d9cbe8672ec10f20afce61b206c8f0006e72be901f6464d097dcadb7f0b5f61c53d650b728b11d3a6ea92162a775439d3c98efde8c99c597595affea32e516d3137075f729831828756ff6dcc055a45a4be423719ffde678490c72e47ca1f437a9c0b4a2cb5e786b549d16f10f2a3916fd93b55a7a08b6f922ba7e340409841b9642e0f723c692f5d3931c3e2c826c4b3251bf8d92d4e08d97eeb103f4398ed57894a181da0584d087d732baa6e9167ee53ad00a986bded8007f2267d7dc24486f4c2ce72a4329c850c06e61dd627aee1e5f1949578fc52b058552778766670b6692f7372fdb0138da4ec1c8518bdea98b9a6ffb8014e797fb928460eb4fe1bf4789eb72860d9a611bb63ad3daa7c9ebdbdce07554b952523a0ed7575c63478af828fd172f37377648d0dacbcb3299e71320c0bd9f8df7341f5d92f9102492ba01e4782722117870fa9ad5340ed1ecc530b6296700b41f002789e2402848443ad818ec8723124f2d1a15d2b8144781c2e5a973043cc469a8e98bf5d49a285b869b96f0340c6ebb85bf8001a7dfa827e2989fe4183d66dcbd5e2668b895dd34b068ab59272fc718ea663e1281bdea70288f8a6285afc0f40af0f00b347f276c74d6d7ab955200a23a113b8e824ff6405cf07a8e5065320d363f29b381832f3def320f6f82c01422d860d6702e7639f70fbbf72f61b54dabfca3f8cbe54598d6b896887bd65130717d61648696e201b50d8735ebac023dc696cba98da3a8b5d7a677dcaab51cffee8d0ea3ace023410364ddb07088623334352d96df4342cb310e61232776729fee449f0d731f038149d2c97191e096266a2f0cb6225c747c9d45b252b270d188ad48c6eac38fd951e9b7f503b47ac1c9acc4eb92b3b132c869250cb7c1e722af2d35363a61aa3e9b7553009520c95b98dadac9ad6b7be5d8e156744dc5572f1cd9b75d8f307cf2c857d2742ccb734625ea1cd14b996fd624136df9894b3728c915492107b52cf733662f44121868eea130570c2e9b7b6b5b721ebb2a3d57248f9274fdb035a6900fb08f4da0b02b4bd56381046f9b449b144662dcc7e70111b37475fd9f6e20404e1870537dc1097833bce0d5bbf8ba1842ee04bd251a96b5a969e1e00a31751dd5e9be4ae60292b2bc28259f28836ebbc1af3d0ed2ce672d4e952be4ad43c385d915b0abd9eaca1ea1b346cc44830b8aa355fd4a0dbbc03d0c35f46a58b61bbe8a4e331976834e67626d4f3428adccb7b3e05b4b47ce072b0f9ebb81d9f402c38b3f484e8150d62cc3831a56e5b2a6c449249a967c7fc5cc3b624147fdb3ed35faa8c0e6e10dd0b2e55c46cbf9a6d80e3ec5ee51085b372580d2356f7cc7e03d6efb7b6024155155fe36edf1d0240c0de2c1242129980321a9862aa84fe14ae195d400f056d1c34d2bc0e51d7e41c133c3e89515f53d2720050ac02b73c17135340c23074f35f66285e9d47c9802d49303e0a4ad8aa9e723eccd5eefba7c7279bb860c9ea64e748b1fd817e8ffee2a6974c732a7d71a172fd6fde1b02e528efded6f6f3830b24d075088ca2706b37342484ca9c32643039475b789f854ea6bd7ddddd35c5fcf7d770e8e3a0035dd6e864d778a4bb360f6b45e020d272b1372e6c4747a841d5641e7d564d444c5ff61c8c7e53f8d5ca7731db331e6987e752923127eb3800c407c7a84e136795682323f566ce916492a56dff2f76b0eaa25d5cf4b9012022ae838a0a357c8c7f16d917c4d0defbac73e90a62d57fef57a52b22c03d3e46f34e46d987d89888e001759a3321e1a8c11aee72ace57e4858d13029dccef141e0472534b37edca5c67705f25b3e109a895d8172f235e61820e3b8ef405c17ff96a8e1ea9cda1132fe3711a70039c8197a570f7227959515081aa9e29251463823d870881c4cd9ca2b9f6f76acad0472c0353e72432690346ee4b44462bc8cc99049967b7f0a80beb824295979a400fc60c3355556ff0ac6fae3fe88a56fa6f746f43d7f08b2ad95af017436606a29833adbbd7202e92070076844c5dedb3d32e357ba74d7bd8e1367cb268ece997e4712ad851abeea7970f195a0e3371b364267c78ac78bcb19d3b5acd6fb87844663ba11cc7250bf06ec0f068b077a41dcb2110591d4216044a0b3620d68c9b3a4ddd25d8c404ab47573be39a84a672ce45e0d2ef4b3d0899fd5df8c3bdc4a2841a116021072f0e4a34e6dad0d812440ebaa957fdad934b23e4faf08b127da6a5cb3df6b6d72c98b5539799ce8e5409841c052cde741d117a373571d6179ca9ea7acb16bd93022fc8eccc2a2790e8edfe5f0d722523efe2b40a6e9377b254c60e13924d02047332968b301a02e9909afb3ac68e2b60e9b0563aca91c97ca4e9621914a639645db2642bfa3ea110a75a7de53a52a672ca1afb128bde7e278bf84a74bbca8bc494a0ae4963ef57c5045a1b3eebcd72b6d36aadf75a11a922b8c9c12cc0030e7721b99b819d96b90208b8c25367aafea1c409be6d85e533508399265ea4820945de6991a4c2aa9ea49f7156ab84179673213a72633d01cbf338a53a5dbade99a57ba8a2259a223bb3db198dfd0bef7c4fef13ad40aa0d224f47444df3d5682e550d07af26537f50eb68d9af6d3ebe1e0b8869086728f9a6b9e5ebdcf649c4d4d725c9710b6879bb6e21f8fb1b1fef8276b4ab8fdfe0b587bbffa4b23194a58d2504253d7d232df8dbb91a1b2e0e84c262b2c4a68adaadeb5f10d1dba480d93bd727b8f772b1cbbed0ddaed19258d9a578ef34e85e0788fe1e70305e97a8480bf72d6ab69020cf7b6d9d35f9961d173ae736e670789c89a83b8328d1901bb5e053cdfec6a557f2c2538f887123da95a4d7a45524ade48bbc7d012d12d48b1fae07287c30e266d121a8f61368e8954e09c4201d5edc685340d8495de34a40376a0726779fc56eba80fb99ba17a983c4efbd0690b964bd87b863c3117e0953989f0724da5f143937f28534ce97740dc7876245f5b826f92f48df84206610a4d561b72c81f6d717596358b829f310da10c5c021e5b1cc39daba1f91ea6445ba6be690a5d9d36448d96b973d04068763beec5545b2638cf866b754dbc11180e212fe072049c95d19d2f8c00456f622f88739815730ebfe1034f01b3bbfcca70c58d8572768e205e445d77b400ad58b11d97a492b0e2570f9631e1cfcf2bfb69ce80a944d0e0428e195c572ce023259fe12656f74c77df458f27110c8c4047433954d072a279d18ded23d2f178ebc1b23c4c80ba9447343ffb57d323827766ce999a7a3b072fac3aae8ab38bbbfe750aad14923925119895c93bda6662991affcbce1148f560ee5316a6dd1a28043ed3bc532e10ed9febaa619525b89658973d944f0d5ff9fcd66553efecddfe8f76d21e15451ecbf5af69f5c19b00d640dd73adbc3d72f230a61caeeca43ab987bd31863d95ba9bcddeff5290ce8c95cac27dc46743364945c833193842dd9e2b7bfa311fdef31fa9bdd06426541cb7d2616d336c2f72cff2c461032ad090ed8606f92587ac68f5513377b7b193a78ee0d77c20817072ae8d70af7d60d8d8d3d350a1ea37a39d19936a4c7dced5c023b132064c96c072a924692cced0521dde86621d9ffd3fb77c6b8704e0bbb756ecedeb191e85560eaf118e7264f55fdd2e428a22a8583e51e47cb901e8bbc983e27009abfe337861ae8d4fdd91c7f09025025a68ed38d4986b5902fcf672eb192f90f40b4ba58d723ceafc07c40e1da0af4cf434cc3856473f5e11c2c381ae8ad34f21430c13a572b0d5d3273f03babb1510c1632bc60139296e23f4482bdc7d34ac60a2635b787275ca5a8540d791af3b38fe3e7a815665f4d8e36f47d6ed845e2fd8c795834104bffa74b594b8d8c6f62b7934f1e63c8b7518dc9c35e7213c8cc087288dc60b6529bc2d84de6be11da1353b8ac04adceddea8100f8e3582aaebfd7284ab3d6a35d0518c3c6732ca87ccf3e105f6196304814daa3d88994278e29271a5655e49215db2cb204cbf2d5507a24439d275ddad1df307ab9e1472361d9be080a715fe72b47a0f6aa4a36875dcc84b4a438f54f86b87d8b06194a7d42330b3c928b52272bd87bd5d8c6853f983a2fc30b29f69a7f0bd61eecc01378703fc977d9c15927231722ca1d669a8cec7a5c3442c5fcf6624a6cd523812c7e8005a11ec7248114d95b4b8f44a24b85fe3fc89bdd6ec3c1848ff137f228586461fdcff137ebf774a901651ff17c6ab052358e5c138679df89c96ddba710c91eb0f0a765c2cbf18729973e9d6e97a064343ef382f46cf5154550e90f53edd39d6d39f6599f9ffc57211f6c741553beab64c8e56ec7907b70131cfdfb339e4378a50088a074d25c818b75396acb008e90dbb662b63d2df918a316aa0bacfb54fc9f564d664884c6e7253d5b42df293e4f78ac0932bc2281d221fc2442d8612015c928f560686ad3f3dc76d92959c137bdf40268b7a8c0954d36367c3a71cf038dfd63098d8a821d272e4fb4458e66886806d198260ce86b5dd12f2a6c8155e65902e65b0a70aa22072c6bba27942a39d94df6464fb0bc8394db2a3480cc1d371ab40c306233dbf1a723121175051fcc963157150c90bb20274ff1d1f2463706b1eec2b3b7a929353725d3144c95eefd4de9e0fcc7bad953652143518ffbaf90486e292ad85406ea6723610b9f0c5803ae88572a7d052f3d781053cfe1a5bafb6910166439b67fef72c0114c3bf60051bbe15aca3c1e7843538d1a9c2bd2d413571735553121f1987727f76586745fe6e43f7c3535b987135e6e8646ef74f3550eae21e54d6dfc1a7726052644304016efbf49d206e68e31fdd8087bb3f3d6e09ed6cbd095423b9e7720c6a26b834be5fddee20168001f7ff1f7404e011b251d2b23d20cc06b6abbf723ee7ac867715c8d36be82bfe8c05946aba9ff056578bfb5dafa64988cf949c7296d154f5c3f5f3d9adce606f4e563797e84e84ef11c780906069b43645e5ae728ac20aa608862183a1169c23abee525b14f445a831cf285759be82c5743abb20f618faf2af41d0dc45c040eb8b689b25a0f23718b93fbe112549a4ed1b9b401c66df102cf6604232ccc822a50e6755b68fcd69d41d26579c0dcc881ae2d8b13c44a5dd9444111c866b5688cb219931fe0ba9d16cfefe4ae41e8d443285ea9a729f429c9d24331afb058b8e2726aa0d4c79bad7aa1fa2aef9a9e60fea4c34464ee4b172bacbc3e1777f0cfe13f921ef0eff347879a19d8538c20f9e35e23e644b6379f5fb5282e1a8cbccd920756df2fcfa4e38058b102e81455614ae89eace220b720f890c2640845b362e012846023eb72ab9eb05e036e90be38367681fa7723ba3bb49df41f327fa4a2db3e7e1ab1e47f18dd04b93141c3e3f3390f0063f729cf05f630915ff4f784d0fb2e29a9c2f68896c32239eccca7dcd7fefd3113672bf830f6b7f3dc720cabf27db98939233342c93c763a88205a0bd71feaefa50613464643b994b30c8f7e8f80a8b4aef40da4a247dcb0ff9101dbeb01711507b72379c17abe03010c97f3690cb0b2a319dbba4bcad1b0e32fa67e3de05ebb9a172701b3b5003215821061d18498966f7a420d752527d0b4407d1642d02e396a7722a003ebd2a235311166241fb96ad1d3d1ee6c0ab4411df7d0f606834ef9eb97271c5f7dcbb3b8dfdeea0a8760af0b8ac876e95e7c99ae18e9c05b36214d3be6321eb38509335bb8811950c35242448cda97d50e96cfa8131ed4d4078aa688513ec7bf2d250139ca6faf609ef9830c7139115f1e732e2f6e0f4bed6957b60d20d46fbb943f77e0b0f924fc436ac3753fef64de31ea57ff2b5339563521e6a1c72e5148c06a8588425850224aee72539fe39cb9be4cfe494f1213bac1fd125d756389713a0342cdc7873415c5cceccf0d10f20585836ac03ffce0c561e1480cd2eb81394aa302995f80b94d736befb8734b61c3af945c9daf8ca10a0150990b11809b4808236f6a082a4e8aaab477115ce7def9af42258a89bbcc0906202e191721de724725efa98dfbe8c907ecf4cb79f6e4c9ed5804e33aea614bc6cc336ab7211e34eb1fe7dc518ec280ba87e9f53ca7612e66876b37391ebb41cdc16790d2e23f3c429f1650278be6ecf5fdd7e6e31999d29a720700828c8221152e61c0e72e73bcf097cadf46a00bce0d2e11d821a36edf087f57b90270f4d3ddd4857f667d20363db6c9de44371cadbc5d8e9d5dc9fd967f580a5735526f328517e9e7e722de503646f587c1fe5ef4418170befe40ae85257b5244b56711a7ab231acd012d567c9d733678be7d1eb10a483f742282cf4ea362a0374c8977af6571aa3cb7212ddfa63fb1e682c76ba9a9d588cc50348a37d60cbfe871ffcaec085bc7ea87290dc267551d9700d9b351cd00143852701f734c553f72769ea05071d57e83e72cab27414410b38f2382df915ad1c11ad5fbd9bd83559e970f6be2b4182644e72fa24eb3076f3702b5c5b0e097043cad62dff554aa0fd1518610d48982271c327dead2632c1b161d1d2c85813955eaf8d19d37a3f3b27c18ef0b27c0ba7cc9372548fa98441a4e33b15da6582074f06ec63c77b845fba8729e46febd6359ee772cde68f61d7cc44c249c776be0ef4cdb56c331e83fa0dfe4ae8275b5e9cfa7c723b263e78140b4507832f8f5af42f1e6c0b65e62d8bea280d5256abba55f9f94f8fe0c12206c63d1677c231ae6254ba4df72989fe645dc8a6dfb8866839d91c722396f7af41f00636d0c5241a17bdf997ea3ad7b1a42f70e621c436693829c500aaaccf301983d96caf77a0a57ee05701d538db0bb148f7ab12ab632a07583272f88a52a57e0fb73a82c41e9856b5870b77584a4047dc454be9826bf2303975723afcc724a6d65b67a2058f0a2e3e5bec683aaeccf8615a4759bd7ed190bd5d725a62edce7ef67c3a56e0bb954a9778fc6e26366a9938b5f1f7d22142408915429fbab5ab8f8c8b80ce06ef5d3b35e91a7a1a713ef14b4eafac4ec9e040f159053e8d8d57e9648bcd35001eedb608c293ef4d031cac60c7365d0a66bb3b4872721119edb5ff64e7f9aecc1814d76473da82cb1ace5b5909ab0cddb7dd46a1cd1c6d2afcb36f2d3ac83db23ffc13f3513588438f8d9c544ed8c83c5b0730871e723a215f75c2edb05170c51a5e1e52ecba424f2fc69bf7c3e4ed3ebd436cfcd772d6bebca0e4df605773aab07fbf9c0c579e840746f9febd505ca4e0c56b48a672105b292a8f0a7bc9512edfdb987a9988df5b9d3990472b9c3dca3df78e81651ed2c2a905707023ec79869b8a5691a3d67e3b8e50eefe5e63a7f2c34e4edd300eba9f603faa62da84fd3434604fc28853dfddeafef22fee91f922fcb91f1f8572ae6b9e736c97b617caa27487f301a2574d726ba94c17a4e7da58a0735f047272e50bb01ddff66d71d3507fc408e5a57d8cd38fefd6df1a932423f950d8c31f7291dcff4aaba0ab0d97b10e02e53e0c2fe77e1e69456672e32f9d618d8baf896692eb78bdc2b1cd31f434a2cd7c91cff66a81c044fbe6f55004255457fccfe10dbc330c8a8ce182c5fd5723d21e5a6a9708e2c9e6eae65321b5943878c2ad294433fd138abb6de9d7d086aa89a17fdbd07d563c2ec4aedc53314f1e64f9f4c16af64e1b463cec03110efa21cec3cedb9a7999fc4a66a1dba2e20ef00526698472d9792ce8f1eb1c42681a1eca1745052d8c575211916e4586fbbe8ba0b662037237d5f804317047790f65f4bf4ec78065ffabf5ed391bf3575eca49eb7b2ac045a031e99c7063d99caa3ee07b76daaddd584964d503d4fb5bf1c74efcb83df761188cb81fb42641be879c02a54a3f13a9cbb76a2a75bba253c170ef86e80c6561fc5ce5874957733b0500ec3d98463389b5089235045bfa5d80343d6a10e2b37278689ed4f7a9d3b87cbe08eeaec9cdb3170ee1a5998f3de4b731f84763ffaf72b2ee67cb3f144c55a4e0956730f3ad32302f59175dacd9418afdec453d93f97277822b93d30ad15a7d0e071766ecfa55cd7a27525bae3dde5fa560042dcf3957cf4bea22114581e35555f623c3112342e740d86831522bf1de178c05e5d39e5f62a76d329bbbaa383ea4c770108b3cbdf16798010841f7365aa74d7c881ffc72690964414043c911e7cbde80d8006e706962d97274be1021a08c78dcfca76072bceb384d18532235c43a91eb4ed79ffb2671f75ff629c2def8d78c31d2648972ea1045f2acf1c39358392ea0f631f33bd9eafae16d97157c9fa9bb3de1495772b5d3616c6a75d95b7e9c301bbf0670d1a8705ad82c1647668783855fe2591d05d64c4c166ad5716ab2890aa1d925e46c61c86b0f32775d616b8286479fc3b972946754cfd2dc574d0c9677753f57c8df1b4e820a98e0e4af47876e1f61300e721c49c02acc0c52ce76adecf00b322882a71a3251b8096c575c55b876bed85b47209536d9e704df9fc7cfb6f5cfe1ac72a3300cfdd7f30bea2d931ae0d1bd58720b9802a6cff8a8025e83494b69077926a03d11af041dc7eedd3da8be05082f726472d61429a37e251ec28f37a7e14dc73d5496dc717a70f0fa15ee7211623272de63fcca40ddbb87b036c7dc9e6aca7eb0003f9239d256cb9c79e3068b02d0253dec6b75a55acd5a2a5f3ae95cdd7d8d13f38ebb3f80c0fb8885a094c53de3724f03f9552aab025634509dfe4dbed8afaa3baf2b1185a4cbcca5dcddb14d0872e0f510db2af3f0f09aa24f68a828d566a8ad93f419e7ca030f67a950d12d2a7275d259927fdd07869bb2ed5240417de9913733c37f8e62b599fed2ca524c5472125d1c30031af403c3f12e7e31d1873e4d360def41731358f6324aec45019e72e913b2eef2a9f1684f0c3cda4ab68c7ebe9ab7558a9dbbf63c90c9f4c963b809e199452f57325904f32b26abf215f864b26c755ff86e23451b3f68dd918fbc7209dbc1e925ce7e8007b76f5c50f5a89cec4f11d537dbcb630a1a762b01245c147a6c38c29414a8ebcfb33e5ee429fc05037e24e8a6baafea65a0780a3bf80972dc943f514d95e374547ff0fb13cbd25904812b9ec7cfd493e1d7e88165611205c3c86c4debcd17a1c705a0621582e91e4ab639dd45ef1698a5de0ec961071d2bf54ca5fcdcc91d879c9d190cbc3e6d9eb5680385a61947afc0340a9534fe9072151a57b674084bc98c017e637bcbf43a54a75d29354d01e19fc4612aed954572504b6c48f1b270534274fa509b638264af32bfb541d2478815dbbb0c7f058672a8fa00271c218d132937a1a21e7f2239a647e87baf7ff180f701e7f74fa5b472835adda0510bffc430107d0a763d1a30fa55c940a57e3cf44ad5541b2ce9517287fcfbf08cafde30b15f026d9c7c95a67da4ce774c265e8738f25c7f344cfc7243735959bfd85784bf55f5481e47a9d1b0ea1caf4095cad7b6fc63b08abd594ca039e659475f71e50592640f0083f3f3e730f9db2e6f0664e2433fccd727dd4ff7b2b2700b4746f75723503e5bbf43452d5563eff190056cc2bac5813c7eba4f02e488613b0a121970d669fbe30044c360ae8ed8383a39329083443400f0cc725429b518f962b1256b4b342f87f39fe0ce17efcc169a053c4ac877fb6a699a1836cf8ea4ec3447be3f302fbd696095cda2dbe81b646fce0424c8cc4662f30e729ff88046f9189b81c20dba7395e4e0f973167f8fb9c722c48b6dcc68bbea96724d5c39a1c78a6f0b3fbb26a2a9fb8751a09c7271843226119ce86200212fd77253e8f80667bcd35fae3fbc48f08544b7cf00db0d118b26cf410c4aaabf69e332ede85b27937947a5e7f7f80dbecec35e52c74abeab9698628e3837d45903137207107482a085e47b1e9ba58f2fc879542ab69ee957f755e3c9d2936bd21eda7249f12b8921b5f0afa319f31ffad90a4a4a32be6ee5267fb98ce180159da17b39eae7f0c3271e836cb09b4e9a19f4aa486b985d7a440c0185e46d414faeec9b45d5381cb0bbc8ce134bbaed7b77eb1f7263fc5c21f0553b67b39e79a4b38445722f4d3d9c86dfc7015de4bb9baa707b75b828351b44d084fd8d75309934af3a72ac85d714f2d457a690fccde87bfee40b6ccc078086fa6448849c9e4223300552ebcaf13a675b2e5d090ecf8bf292f6a1b4ae52c0ff5f6dab6bde799cb4131e4ed7c5c19ff59ae37f84ad9d69a4db22762e3496cbb02ab8cc439fb7a8ab2e3d1daf1c9213344fb2a64b79adabfec47645d3ce650ea8a29ce44a63c4e1f350087260cfdd4e23b1686643cdf96c3bafb9984d933e2450143f41102ffc1440e8c3723a39bbd7925405dc267b595a259c1f5228753d6968d8ea59ea1307f5a75ce472274640a5253199cf9edc724e5d7bf9931c084a8c0f921043e8d6f9935b392b36eb0da53b789f3e62d841c2100420d2082a3f09cd66b3e70eea0b66ce74b68372ee292378d590639a74738b9aa1732124960f5d82c34a26c88cbaacd8d1c21572d8014920b2d805114ffd66428e60d75afb8fbc0fa6afa158c02938ce765093374c5fa5042b9dc19409a636fb14d662dfafb989b937210e30bff319654dd16f1dab001542b93935ec62282c272e9b62cc57648d8410acc3c44078eddc1fdb3372a2cd812aba20aa3b84e4e411a977a4ca48559f3f92544ead9f3b394978e79e7242e8da9ff999c06e425e68aeb4c767013fd0d002b97e28ea098a6c3084dfee72844a8f6648084c5d5e49908d2b5b71303f603609203c00a47c7dc9aeb2939672405228060e211b86bea4de731d9cf71258a93a1679073d85db413414a889d472920852bca0ad5e1dc9bebe55c32faf7f0391a0b38e0d108bf7de8914e259f27278a73c1d4dc89707db0cbcb4dcd09cb66a0c9c2325814cc83ebbbb902284192d0ff9d0255ca1d0082cefa1c7d587670f19d9e64fe1b9ecba43249d5b00bea80d2522bac38c890a1316bab3384e2fd616199989583ed49e942f4ee3ce3c4400721dee00caf888eed720b92ab943b15778fd37580310f6f85d2b3f331ae31f177210600f2b36745094e44c70653be5897602fdcf146bb90f21117a92df9e2e5872ddb27970242cd459df3f41da81ea1c03d53a87d805ade8eab90cecfd70ad6372df23686e9fb77b33396aeab3ffa842faef7db6ecc3f104e73e058be86ac7697247116e2e26b571ae4b5b0c873d6018614f46823c1ef5b0019453b540f5222a7262a8a006dea4dc150fc76ef434fd9c36aee7c7e89063618b6e2f5adb7bf3b61736848d33543d06e1b4640287af6191d3eb113ada5c85cc29714be83b2a026727679eaddcc714bc2587185c33b336a14781417034d150dd98d694c7ccbb59841cd0b2ddecb552882b7ed32fc62b334f06ffa623c4ea0a2821ab6df722d91a8972b78ce600fee3cfb1feadd939b3c4e70d7313b3017136a0d695d5689040eb9c72eb265b6b2de1fc7c809c95612cacf5acb273e4964c39b2e2e32147c35aa42136ebea4c4589669701c9f36dce5eacea67f5ba961dc29d30d7f6418a298139745edbcd253a047991299e620d9b640e800d03172492a5743cbe2826639e90552528465ac8777560df5a4dcd1eaa07719b80e4f4451c24772ddfb6f0df5f062d7372f25c8ccf53910e0ca34a904b4e3e34e46fd0fa51680f7badee8ec141d9d0cd723553e252c41a5b70a01987af7de67e44854c1be5a5c90644ed1a78480d02cc729626e693a4574c4d533af4a05adc316f25ebff02cc78b51ad20bb092e673c772480dc8dfaf2faf3a21e082f01f1d4db0cac5acd98610b1774f88d42380e8437295e3b10bf1a42c84aa2d769ea51b5df48774eed0ed5b1e99229edb2c9df9d0486b5ec37df929f13fc6ee5fd2acec661753b051d70bdfd407994697fc8826ec723a1638163e2b913057bc50dcfc5a18ea27f9902a51454fd7751a7807534f4f692d194e62255d923feed09f52a8754f50419ebf56404d6d3359609750c8a2c5722c99cb31c169bd1255a17de11a60564ead99539577595dcc9838e2d362f4a472f50828cad33052d517ab53acde089135e182633609a4f0888acbbcd811b9c05097377a54180f7d4075995ae6c635bcb8c391bfc6d3f96eec414fe2e109778272283dee3350513871f1b957333476a7300dd5d07eb3e4c602aaa2b6f16009137270f18d5684ac2ddbb0d959f8ddd411f65b43e479ea9a9ea87904acdfba712a72f6372231e0c63c118f431d93a32ac644f5e3a00d95cf2700a2620e2b204f3a72bf28397f7d51e9f5b2d4c529e3734f1acdb8555f297ccd621eae667935ec2355cef34692c4d979f172017cbd1e2da8d11b6d9f73b8fc12153406481b01616e7234d0e0946939e0ca74ea32b091f2ac67c27ca2a9e273f1717a8727d331bd437276414256501defd822bda0e5a5b415cd6156ad21460314db40256d7dda242a6bdcc3f140f7ce10d28bb2142df0c5284786188b7d63d1acc0351862a79280d272669364c0e80a91466c469590121e06582d977d863fa0cf535861dc260e938352efdf870a3408e27adb144d46603aee6946143afc5d5241357de8967edffbb37263ebc92df10976a6f3cd8784b93e37c338bd139258ff1ac7e8ab624d4f7ef3721730752a2808bdc8c98c377a2252548776497926174c10b4078ecab058eaa50305b7a14f022241e689a973e29b278fee3f22f2f484921e6a1bb2964369e28572a1ad2923805edae38d89181abbbcd7560bb3e115c04cd5fae347645051c5cb7216754799565e2f17c01b4f3cce7578ad91e41ce6218f035e1d5f5dd35eedf472c9f7472f18b3118cd7366db0805ab43814873a8938de2cde6ba132867941ca72fa0916f18bf4909d2aec801a43a279ebb81270dba63188c344ed5e612deb77723874d60683d7097336204944f5a3f13b7d37b1b5c2bb223f2baf5167084d071855f4a1cb7f633d3bfd786288a5a177e1233f1d327ae85560b4d2379679dd0570a628270fda68409ce15232587d9fdedd8668b3866475ca3db82c52a6f9cdcb3e13739acda1b49ca5cb7c46f22d3adfd8c60daf42953cc5d307fa55308273827213185be13d516692f5a71e3a6dfe808247fc55c83e21157a11118b2e104e9b7230eb4808bb51cb97670cabc13af3ba286f8a0b218cde457cddb0b70f9eb531720849e3f72063bdb16f414c203fd84caea9112c691602c8a60b4d7498ccc2db71f021620e4e70087a81d36937afc1bb216f8baa3a81e34a9533b0cc037341841b7060aa19cde55e836f100800e31e5eef47a13cb2b936b5068cde291ce30b74729bdaec518326f6cf76b95a34c6710f0e3746329f3c9725b6ab637f570ac41d7226db44af938df48e3a8a25029d696d17cef8c09ba123115501512753665e7802787b46b8c73cd5fdebc6d9b86ac6db757a52003f7ea1789ccc40641e95b7024ead95053aaacb1689ed51f5b676521e346f6b155a63723f205eddc15608be255623c1f0965f26c3a2e195462e687fe693ad211fc90210fc67cf63df9eae2b9e7253b83a586bf4474cedd8ba7bda5af547084f56a47fcf1181a4a8e438727c3d3ca71862d1681cb090c886b6720e292ab4107a0b5f04e3233a9b08a1d7583fd104c4c0c785f86527e04541cc1da8247005d780bdfeee2d9d20cbadc7b100ba856edf17c2812dff20bf6dc1ee22269ec3e1605dedb2df6aa5dabb99c3e60a16b27257b5cdc78f6c03bc74e20e76a83406e77f74005846ee680b2dd5d7c4d6ff3b0939ec388ecc03d65663d344a3aea56bf0405b6e027c536e4bd075b9a520700b72f88cdad4d8101a705e9e759f1444b51e4d5f3f97fae3c0f5d972c0ca7e0a7e7274e100b943b62623154d9d0abaf3434cfaa671d36b9e0295019c67ef12835a72693fddc3e95e1235600ae34832dd1d62fde857bb19b7d041a36f8ae9f4901f06c861a6f772902114ec66f1b3d9d328925b392c89a1689e84936a77edfe11273d138f66798543b3a276295c362c56727d97c24f58e3bc216068192281089c95720931ba12214832433ae999925cbbeea559143005f7cbcc1c9e788033053e765d358f31dbdf3709235fe7d355e945eaccd5f05b4d468b3edc2ef7f9223f9ed9720a585b18566d5d671d051b27a72e5627ac99b6d2edeb47621e18af8f2a32cf72a8a26cd5a2597ef9d0d3d11eef4fd3f08a2f469427fb6a66ce28a3b8055e3708553920fe411f8325f97a4140560fab4b954ccd26f83980089bbb0c0ae08cfa1312123af519fdeebc5a0a33fb277cfc6732205bc365c57683eca3b28712b7d009464abe7ba782dbe1b40fa4c443574bae591c964f542e6fa3205a3160564a2631946efe4a5cf4c085c27dcdd862172bfa8ccb2a1b67a5bdf5c993e69f414e17727e52f948c662bde47b61c77d8b84113b40f21bda2a2c98d32066b8c877a4a672e32c1dda49f486dff2639b4360517a92e16c458ea37897e83440d541bc10b572d0445e168c953fb667768199dd69b15554e9609ca2c3e00e279ab3a7eddd2d72e34c6401b7e0d5d6c149171efd83a7af148775101c8136ddc32742700f2b0072db399b30596c10e7401b3bae4d6e36d4f1162ede074d3bad5710e6733ce6f226045068a404994d51928256aea71500798f9d701d896f0b2eb23b4aa2fb009972887cc3ae254050fd692bb060cbb4a3558f28378875b5f0f1af5f2d182f02d27238aa67a82aae51a6e4f5c430f9dc7ed25afe0ac8b9d8d0fd9850b924004f563c22260b7dcb72b586a06d43e02006dbb7f4fda0c76e4256fd23542d723e4992726b6824010d724de477b57b585b709126fdfdbea8c9495922dc17d84735e7f7525fc2593d329435ae985897f130f84362cb0579ef6b800a410ee7d56c7b6725000770167133ffcd2b7c200056d1022ad1dfb032389392a41d1c0459625cb7697298160e0076551d12ebc97f808a7dde2dc02722caf69180459a9b8e1db7d02464b02ca70ef6b7f29695298fc79b0ec53e7b49e3887bf84b62a744079de7a63a7286a4212fed347e2138e7c636b836fe2f55179dc9dbe8fced30246d5dc673533daa441a97c8381a8868cd1114e2e7c5e58b68311952507e13b31e78ef1dcd5e729327d01beffe17de50521125e869dd24519472b6d14fc1c29dfd5527868df472b7e2b4b822ca1a6d536915de570d7e2461585721cd85ad3e6cb27a0ec26caf72e5373ef91820775c0a0bd279a01377847d0f0f68d073ffc86d4190e91ea5b3725ab5aa1092a0db6c5bbbbbebd429932be8eeaf937fe3dda4b85ae5491425f04ee9fd7d7eaaa274dc3d9e294eaba2b8d781dbe38d7a2d6421f720c0d37ca88c722eea5f8bfccdddeacb62e70c4ca42219665e34341df882785e5923ce2aa672285b0bd70a9088e0a2e21173115cd5375dfe4c1f3b872ee16ac0498583ca40ce5edd7e41d1333cc5fd488cb5eb88b22d442395f079a7284ca1f75a5a1de53ae172572f1d4d2ce41fbdc4143f26319f57679789a491e8937097c6bd2bf9de0b5c14046833ebd54b20d492aa2c58979a184a4fb5e07db9c50145158ea91c081e547267641dad108f6a1d0a77084aaada72f9a831ca105262e365f7d0a981b4d2be537a4c205fac1d2ee14807582051b1e61a39db96f034b5718fb3d4d0ae6ccd0d72a06120f5c3f0321c59af66d4b914a8442d9a186b31f9cb94c912d01588edf24abef2cc4cfda358bd5eb1c6f6ebde51847e56a0b0fea5a30e1d2df20fb81e243ab8c0ca7041ffb326a7031874f1950f71e68978de3cbf7032733e68e54d36da72e5b728090097de45bc6d7e2b2e75fe40e4cf6fc64681652518fe93f745f76e4528b07afa3f5771f430de3d30de4217f3278e08375597c8b4aebb7c1e14e6a772904723f481dd9c40211ec4b0f60e2d4e405f69495fc3a7aa9b8d2b71aac7e24e5d5e3702c9abf3efb051c933b37dfb0aa78b0de8f1b13d83e6d1d801e4879272a95132d34b4540af834a40c4a30a50e3e4fd16d4c485d3232c134d2346d938245ccbc325252a7bbfacba6a840a65fb3d5eb232a5d1f18d95c749c3410490b05a72bf35a9cc75298f04c8639d2ef3c151b83e4ba3fb616bfcfd215f25a1e2f2724e9eb1b7ec6a42f52cbd97dccaa2ff6d55dd924b495b5c8751e81d4dbea46f672b10c8857f280eb79bec9634985ebbb7eff22b9acc1d8e5a54601dde91f72e4292ce030a1353dfbbf1114b8e9a10778a93516db9789e5e527c836291d66f9a7297faf530eabef1ef7f83b3b42573c4c51dd35694acb7a8bec1e65243beefd76546e1f47d861cc771b00d4989fcc1fb5d26580950ac82a90270c5ca933378ec18252646f97307fe0df132f79116c18991d43d8910f78f8ddcc7b11d72dcce0e72c0a0fe28da282610d2fd01ef67b394f7498065550f494b1c5dd85ff9c1fa237238c02731f692787ec14d65725139dd8af70e12a48b5becc85ee2f5bad8ec8f72a734b0bd105c161ca5aec8c60264c8b39be8210d299c2d19e8cc2aa468039d72c0e8ca69ff9c39e8933b2f4a409ce55f1afdca9da2d7d289e1d2eb26798ab97246bdfe4715967eb3f1529297c5e469b52b0c382e4070eefc90fef95d5b5c9e72946a8b1f1c52d81ba15dd6ee756ddf09aad46997db026b03365ade2f56fd8172aff73a92339ad99b43dd6e305585b259a9ac7707962e014bbfae330c8eeb6072c452254fa43394e59cd61cdc5f00d3ffabe8fc321846e6b2ddf9ede4e342260effad52f428dcceb680ca9e39567d65817ffd7a2a6f4b90e8b3f0121a66095a6bed7fb26dfd545f9db28783dd542ccaa90a60f4143e9b8e78d5b526568c4d780602330e7df69d223cdfa389cb236f1615f0a8db9a9e52b164d28438b3c0be6f0c3eb9399e21a3b2efcb3a3e44bf6eb423f3645b8c9f4c997d8c422de04ba31a72c05050abb89b7410c896e9e8164af5b31d7fa9141cd0fb635da7b2ac6bcec6729440e071324659c41e2ffa21143a9ffaadcdae78795979893789f37f899d87720e0bad9384f45364e769239260069c84e322d13e525843e0838e93f4d8739166e7bf94d9f99aeaaa7cfda3845f02ce7a6176734045f9eef4da8be2c3ccbac9080fad4d99d0552a39be267df59d7654d64a0a8e13af24d8c8a7a6aa9b89c77e72ad282b821924573b41415b818c97cd9d21786c87713767e6f4d49c5a5f08db7267211d9168de9e6e3c30b285aa6ea229b6d94e64b848875cc13e36a3027f7372661dbef1bc67676135ea6f59f2424c986b7fd03a7712ed6b389521d0e0083c722981576741d332a6f4a66d84b35aa0cad9c1cfa33267d393ebe101f70dfd6d728a2fd074daeacf98125fa2bb5dd84049bd872f45a7d6f5d3e085bd3c769d9e72470f0aeb8ae344a11b7f7992c1b1596de588da791120d976455efbc4aea8da4c6da88bc9b0cb633cafa3c2ac94023834d35303c3d191a58112550b9d65ee30042dab300a3788f961a524939bd06b3f42f6994633079463f86623f7b31ce3817244d0824d70b8393e9f98cbe850399dc7bb12b68c2eaef96d02917563d5db040f07e4b938b4e0ab07f1f99f43e28fa554587c8d7113b4b5e00191fb81bebd937228bf41495b061d4977262623b5a7ebe2c9f0c7022e5f2db3952aac9bda97c76bb8eaa9c44132a1d2428f3ab6c92d2bd6e7fa578a72d31d26530bcd37956add0e9a37ea1c43a412371b6ad96c73b18cc200d9662f34ddebb922d8124a49e77272bf5244704c3093351258e2d593a19cbcfd61681a80d5dcd1d65af0ffe369a4728fd846e2f94cb7949836c57a82e39c5db60e7c32a4d1555c3f3e26313dc65f723807157ebbf519345b6f1ff909c620065128f445ea9b87c2e9873f049ed0a26a66aa82f6fbc149ad2cb11e2d8a968321a8010af2334f1f62b30f5ed5eb54127207d09c51cf36c4811e4c87d1bd9c10edbb1364e0006d05559e9fe32891f2dc35189b110b6674f3548dc29935b4d0a3736f556d2289f32097176bb44322da5e37c96385464eb04de89ad7b30d1f8d2f10be2833a4405bbc638427dc5acb72ec565034f6609cb138d83dd0b5b96049b457b98e90d69a3bb9a6613c8da77deed352311b7168e030a25c3b4bad6ac98d3215f2e6f6d5bd9a749f57ce6ea6ae0eab72a546f6476b37d3bc44880a1eb5221f742a77baeeae5b995efc92af01803a5435d91953d7cd0582cb6735843c186ca5eb6376a09a2d54f444b5201c4027219c72c77fb44eff44cf929b2e1faf70d1fbce6b94015d1ebb7c44b71895781df53772a4d62dcb4764f7f72a39260e62be5c0b23c3ea7d72286a358c10259ab4349b33a4342735b1fae4269d64aa9a067ff31bf4969e886a5dc11cadd53665c6e5ee3c1cd24610d45d3436562cfba11ef464f1e21c6245cc7f0f4280143f083feb7972f706989ea008ab8b96681cd004db1c548e7de18fb5268ceba9df21fbb78261724f1138cef57e5d6dd62582db398f0ad4469426c80ed14a99b973d788a84f57266a5d389833a070cdde0ed828f9c35bdc1064a813895ea9fb1f588187ebe2cf72286ad7da6aaca6d39be9579706fedcf89949ca119aaf2528611c98d5811bb0726241c9501e2491ba010883f396b5fc934675ccc6ef98fa8cb6bd07cd4615f61bbacad3d7fafdc389555a7fd790ddbeebcb80003f29e914b82d8d1e85a9964c72ff47a189e88f6aa31f9474042166bb33eb840a7ef4b2e8c0583a8cc92417c626fe6f6c2241dc8a4baf52d9d1ef1d09c7a740241bb750d28172ff8412f0bf0172f9801aa650b27bc7162609fc2fb09bc272df02d3a7008e2b26cd7d0c7bbae27269fd64aba4f70ee884045b44888e698a5f2eb47ededc42a98e21fce9beec974f1866e8fcf1b89424b404d1910e2efe5dafc865c9ba313bb29f84a0dc0afac75ce3e3b0bb4ad8dc58236bb7e0ab83373b499a25c967b35eb92b702988c2a5564803327bae634357ca9f77a59a81f1c77fcd782107efabd748d17621c0b3064072eae6d19a7706608dad5ce9815e40aed351f48d838aa9541df58243594182a07259fb47764dc39764e40ae1829e5a9255ab6a89f0b0d8eddc328f5485f7abdb72e6e1b163738b819a173280a806602af34f7e4ca33901f553c284d045114b2472b7d6b10f087a991ec1e3722506911d709f5a2e2eba4a70bf6e76d8c44138434dd9535f0316d90984f66e2e389897c09a1a0737cadb58bbf173d4121fe07a7972a49a13297866842a531013d19231f4e1a3cd7f3b05dab9593fa5e2554a3c6562a5e4bd437f23813c140d755f992bd08c614c131a2404b2be75f08eca3ab0c572ee04efad333fc16df73932b4992fd4588bedc9acf9212c5a0c727fec8a0f83051cb6ce7d1c0523c1fdcdca8f9566e00b913e5578b2558c9cb058a28e5401aa728af8721f38d2ec44e895ce797f7b1131caae99fa1d66d340b7ad8989a2053d0af00ce4204128d3a24d0993971f1242bd655579ec4863e6c8b3d2668ec1b0006bd08eac04b230b485cc4f73c9467eee3c5e061d78347ea8dfba4e740f64897c72cc93c55279713e5f929b6d2ead29fdcc25ea5a2a8a6f73469c93c7c0bbb18b4718540841025bd441a615a2d2a6f678a947b120c53e6f2a45546d9facc8eb6472b2dc3309adeb88dcf18e8b43992b9b98b2dc31a3f4d0dd1fee5b31c6ac2b0872c954834f2fddaaa1aedfb3eb47138f3e64bd1ffeee29101ca95893ea6ab45628fa67197a303cf04519c95cab7deed7231c7a2dbbd5c2a6e336e7d3a52fc1c072ad6a50dc70f622c9e718952ac799d7c6097ada00e2ba0f8dde7516b22a2bcb4830f9422a8dd334f91569dcec47284aa7ff22437ab8e72eea45d28387612e8072a572c1572981b387a5cb63a1af96046e08955dbaeda69ebbb247889eb499b372389ed767e64a10bdb3b85eaf3c0340387629e5b3d6fb87107fc6da25cc367872ba3619d9bb051b8c912671686f8f2ea30f164eb12be3e576bb6051d6d3611f12e3daac837885639d6641299c32774dab21c6f5efb37ea222660a75ac01828072151f05f452111065cd162b70be3f5ae4518245f097992482f574aaa409becf46f3901ca29ee553166fc2af87af5ee066e5f618f989574f9c2da67fdc9763550fb446acf3e7293b8b878c4c6ef43c19349172f266b37bf53790349b0ba959c26150b100488ca9f47d7b7d271db9c64fa78a7d8db757ed809f1e5f14d8fb237a2becd7e4269540c8cd182de8cd53615f19371c53a10fb73ad72079a912215d63723cc3115aaa32f9a9fc5718ef52e2bb635df9d2ce4882b8cad1d1d4f285756872d3a011afc45e9b7e5ff55901f7f61af5d7bb515bc9ac00d4c291de040c58627237ce3065c3b4ab226a532d6e179b14247ffdb9d82daeed514112770ad00f9d7287d47df1f1b92c530e8ffaa62035086d09b183d6d67bdf2e2c6bd3d0141b8b7247eecc8abbc85787484d5f9bc8a84224a743451ee6436943811dcf055a888772e76f515dd3d06617a178c6fefe40b55ed86bcd105684154644bf369829a6dd6edd53b406f65734b54bc3744de90a827bd24308634e03d0af4e55c1999e202031fb94b188bfc663643eca83a795df109329009785b8fa2850f8637e7e3b9458303746525a89e950bf3d9459296b9206819f93dab17c077a427491f22b7f052f7262ccd0e5d10f3b26e2bdbe9c79dea3374226e7b19b0d20471012a4ea155d180b833c1b27c7c4e687109cc5a979d564c79011a126d98154820356a414a5b4a94f6e58586ec54dc1416b3eee0286688b70407ba196523b69d943027c49aa6dfe72e7d4c3b1950f282218d5461f3ef910eda0a65dc5ed0be3d5a43610289cfebf1967f17d4a94e6f6c098db8ed1a74a129cd9188bfacfb9ab2cbd1ce191fd79816e642802bbbbf1c4a7debdb6e33cbbffc574e2493e7e84d6e41007d9585bd906388ef59aa71d13d8327b7ff0712a51dce7cf93c3966b55a8d9f5d8f93978e354721d7389aba4f7dd14300622d95b8bcb78377c2f225a2cfbbc3a414166a052165a3e9a8a5aac041ffe67a8a1f068b9047ef34ac022ef1d1fe490741c6b0faaec7269901b0d4e3403c5408cf9e0029536e53e8ea7b79772e320fb324c7cfa8b11723bc84cefe2df98c92bda34b50680cf9b736e81b470df58691fcf91b7952bf837d47a6df1ded215047bda06b641eded17f3211b199792b55ef4b2e7ff51f700100f6b0c49f4ae6aa641f0d721cec3b038253f555a64ed37ec51940681339abf7261a769d2859baa409170ee2eaaa87e82a6b00435c27cf77aa9a5c26b491da0400105be4d5ab82932c4cefe6f1ba601e789173d40cc3ab5cd6d05bd5fb0223872fa416b88b8ffc9809967c4293bc55464b19be781a5ff0c50765e505e3150b40c9a7c822559a7598064aed0d5c761d2769783b2c1b6ad68bd2b945d538f964056b9614253b22810d4e7ef4f3f00f737effd30dddcf49527d45af510590676ae7269fad3e459f67f796f984a79d0867cba61f0d89477995686f011b5fa7946957240c9c8f3d00116380ca83a9ee20bf703a1bd55cdbbe110851b85bbdc35c94c7208d91701dbe3c8a8de61371611b4bd0c7618e161ab070b33df0bb76fdfffda729a61b190d94a5bcb251dcb32ebab5b7ec1ac008689398b02bf7385c3bec51e723a672f761f2d3d6de4730b6c008ec46c6de1b81f264562b1f6ac31ba06cac920a9d010aababb6154cbf369618e402bfb17ac30763cc2651bef30c9432df49972e5401f9e581eb2d84d17f71cf40a1289c79176dce18de5f59604b0186192fd645fda32638a3609fce469b71c62367eeb791105c1f52b8b374103bf31f95a953f555a8329d386ce75474393057e7320dc3d6c21553277eb96ab2513ebf3d10104013a1ed1a8cf940eaf49a131f17e0ae6d3bd1910232305f3ca7ba36f004e4f721818305b6ad81ab36e11b692884f15d8722561e450a0ceb73aa0014c674a7e72f227dd26f0721076303908431592b13ead208256499d801fbd8f8874210ca572def3b4fd1551417f248d820fb0a9e1fa76c5b7167184aef110dea99481d27872a29cea62fcd6410ae76340cbc221c1ca122a1dc33f63b53bb7b19c0cfaba6e299b33aeaa49feb6f778114680033268c5fa305ec7122e9b8cda009314409a4e72cb1cd3c4d05e697b848c72fe1aaf1edd7b6b12fce75514a4966417b960f8a272452d6f88a4030d7af057767eeed962629427e65517ffd19020f83946a59ad8722e36e69abb6d8f2edeccbe997cf3d91ab76d35c783ece9e27476f33145d62e2e1a2db21c0449b1018765f2f6a3bdf037fc752e1eb72187a448e370f65bee03075474bf03a1866606a9d7bdef76bdb2742fb06382d43d89f2d287a2cd7b183d72a0432f4a6a34a5f817e24e1da871929be53f7da0c3fc874a3208cff872bf0a065c240f58c4c7c42fba8e1405eaacb7f5bba847af328490a76da1b92d9a1c077272ddb2fcb5a4107c8ce3df651f7f0e205542d3a4dfbb8e0a3c36921c9aad6e72eae273ba8c88ea049965eb30111215d93c9f4fb1e59f898e45a4067b09b52b721bb2d76e1209ac81fe5149963d07a38cd5e93036c6bcf865e4ab6ab30d3a0b1f38fc2ca33d0a533a8fd12f8fec38d99c81cab7af3e64c0fae765ddde5836124879803a217c0291cfc263f90f9228d6e5c3f59273280e1803a31185dfec4472198fef2b852fa0ea99b2a754e97d77ec465ab22d040e2af2fe737aa8547f08e8486e17d681d9e0fcba5716acf742239fd353483d2446f2695e9b292ddbf1c13e727f04da76618a6b8d1d47b85c48b311e3bda4fe02948f6166ab5ce259b9ed8b72fe02133c2f0b37adb4c8f5f1930cbb6c521c074f4e9248f6a265d1594a1ace1df58038a530ca4e4f1c7debc2fdbab87c10e5bcec3bd7361216d6449a9b3b2372756077f14224a224dc59222bd7b11acb851d44a52cc5a4630b626c462900cc65902bfdb4be31b2cdf234b26b0e04c1040ccb7e1bab336dfc40c586c948cbc8726ed18dbf5b1ee994683a6fb013ae29d135889efb0da1cb25be0538514c495d619fd5ca6f1be7c75351c8bb3a65a3791db3f21b61c2e9676fe1031af78847a4295c6562794d167a31f3d28e5f9f0671aa7c4dc99951acbd823a46eef2bf33a91f3db27505cd7f58fdccaa4d9832ad9762f2f1a5d127c3da118cc8832c1c103172a0223bf1bda0caf0f0111e47fd8a35f15173118fc9179c6657095dfd2885420e3faf9099a1f6192cf0fcfbdf7b75d667973a43e8dba80e093759091c33888172289aec698d9cad0b3e785f66d50d0a54568921249f58e985177f57056f58403f238ac4630b55c2dbf68b052d1cfe112632b04b24b750db77977197f3adf88a10f89b6c4a2771e2353eb73e56139b9a0cacaf192610f2abfc4b8f1e3b40e77372cbbdfb27524191adf3ea7789bf671c762ae71fe445017759052295300cac8f056d64fdc23b62e6517e7a1ca7a5a8567202cb1497eb65e5bb0e31e0b5d723101f0e9cb627eff4abca52cf40ef9bb903f44f4ad61e24728d8f196c9bea527765724b3295e5b89c797563c8d804db942c856d22e6c4e6d447494b5312849d3638722edf61e6cbb3d900fb9792619f7c6042cd2e4f1a99b20bd3b56a490542ff7772611dc27603f7f5f82a122bda1576c5b233cd5b81df0ae4c468001b70d7a16472b63ea02b2b7a5b97fbe6c2ff07aeb32d7c695b19f656a77cdf80869eaf2db472fe6242beb9c5e68a4055b462f8aaed16d6d548c6e9049f92afe713b615bdac1314bfbc47724edbb1b69154d266dd6900f324e4a3172b780f71fbfc0270cb0e72bdc66f27c21fca3fc58037a2e114e8d2ba8897709fc51b76b4e1d3c5ce1b327216780e955c32467563f5c638d1e0e90d859a5c2fb214eed3169fd400eb4e49721ba0eb37cad3e8befdfd4e18b8d5306c3925fe9c9498fce35b02b65a2e392308339d419ee8fa6337a932b710ae4d5358539bb083b32deaaf9d509b22540bab0f1df5dd5c08d0c4c7a7ec907b20e7fae8a4d66e7097053708308b88823858905d7b969a88da3baa59fcac19d54303dd6dbaded3a01170647e188a3518409c06589273f3d896f0971cd001a6b05ff4e4c0a19d806f21e1004d07fabc0f885ab353ae9f147f949035c8fed288107a1f4c3544d0d5ef662778f055bd6402aaa962728165939f6396cadccb31b9a407071234b1e2501b28318bb7b5861eadf7325e3cc6373a4be9ae6c4522cea39a280e71d3b8e682d455a130c2770ec01ccadc115986bf308e5f3006baec44e74d4569d07777967a54dcbcaf9bf587147fdc372b67fbaf7dfe6bfb002a63b5dfdf3f7f3e4c582454682941666c0c60561aa23b247248a2e1c6ee09d49432ff226d08027a3114f40cdc10efa1c5370638641a52cc725c0354a38dbbd15889dec6d0f80da5fe61c7cb8a8e2d31d1ab8b5f1ffad272727f1468b48bdcab5e2d2141ce995546926d41e98fb4ac575eb48230fa7f7f2324248b5056845076d5250e63bbdaf544ec28dd268b3ad3d96db4f93f3bbb0645723dec9400ccf74425f6438029b0ed93df5dbba74d9269e6bab6d1c34bf894ce72ed5c047e19fd96f20c1f4efe6ff801e3cdfb38a889b6cbba5092b3c44689ac5b607ccc472c7fb417595b9535670a596d13efd887887bcbd2db8c17bfa750ff6499fbb6891d8b12127fbc7e17342afa2eea286dbc7eabbfa32dfa0d0a068b9a167908264683a8b088f8947e7fddf0fa7d80e3d359bcea53178ebcd5f9be133405e7ae1617ac715f83494964e2139917cda1dc5867aaace7cd9302b0f8be51913752ffc162b7fc7fae262997f9c238089af68ee9f3c4f009f2a6b14fc926f4c107a4a6003f249184f9f6605359e27becca267009d0d363e5ab156835b961b62d720d2350808aded8b19497ac0d48a086266a5ea22b5f344fb9086f84b21a13e07282bd41dda4d872de306fcbf08e3de235bcc3a43ad0d168a1f0fa7c7e07f04810bf7220a3f67c003997c9c71fcee9ec1e77f01902321962ae4ddde1096b0b2f72f23c7180ff7f2607764b330f9174ea983d807fefefd88177660629eb0ce5620b7df606b07cd9c87564a4447886863e6ba23f86c3db5ca8d9a6d6f9e7dd03c7723400248f987700e7666e1534e6d5bed16b396eed079fdb911fdae8d014e6cc221b385c7305312575c6bf022cc0babfb7ec95a04a1b803b9f86e6a3acf643fb72b89be2f9109d309b9c4556d09d47eb02f3cfb95b359f1989dfd0c613a563ad72a81e0c9ff0858137d5e5c0e1c6a7fc2656d101c4c4aa4e77ec5a91127b574d7230695e47f918441eda71f0ef9c57c74ec7dc86874227e6fa4930ecb098b8a812283e83c8b796aaa2cb6e99a1176f41b179066ccac665b5d6a4fa45208dadad022a196eda2a596457f8aeab49e15d15915d3536bb65cf192fbcd657a88c1f7011736f09ac61120a14dbd5d64a55c5356b74c1119b0788e75d4e274a4418fb535dda2ff8e6095689086086ef1d8104a3c25e716c54be929aea039ccd9a4f533d72dd89d16808d83087263e6f240654f66f20085cf393d6a952656ab999040842721c2d0f486653916b6110711b0b20a2e989b66bb71934281933c54d5fe4f98d1cefd749dd3e772b5cc3be0d2625da089a343f9046b5ecee7d9a9c21d7c770b3459b3795db075b5af7924d6769febece534ca39b9f586c908ec4c2543bf4df36680f7e275cc435bb0abdb72ce61f3fa6f9e9efa26c49a2434cff6352570ecec0723388d56ed81c797a28287322bd3f69613de4a622f8dc87ed45aaf07d7188963a603a316168a5c0e6e3168a4f20a8ebc3dff54c71a9e20d78587514bcaaa05372dd3c299f348828a19d6c358889ea66fcb116aca8a5793b68bab7860d7fac8772a607870c27ff1f6e2304148c4424bfffba9e2caf682c8202df25530fddd6bc729fe7214b2f0722199d8f987ee76bf526012de966819ea34929181b1a97600e24ca9c1711b40d32e3112b814956e0d68b45d39243563e6c143b89c74e50724f720cc567d4f8c9bf398d0ef4b115aa000b06246884d15815966ab1de0f806f9f72f3b50aebd69e1568ffa11bdf4263eeac30666786611808e7cb6ce0982d6ac2262be423e39bcc01f12693d16e2ffa171ce04447a96948f6bb0721d11919fd1372af30f3d5b0443acaa51de6c874c66ed83f795864cc6bd733a78aa67dbb7747728eb7a4ec4125205f7b0b0802b286ff37bbe300b51a449309d6b4367c35e35f726f11a5f79ffcabf875e1854632e01f6e897ced5113937a1b231bcd1ed8ca74729676b4c54c58674c8698c6761ebb849cd3ac212c367fb5bca0a8b7ee1c218a7274b8de7f3eee64c34c2ec4e700d596f4d6844d17c45b2c37eda0c97eb62db472c22e90bc9f48a1ab635e8b574b9169cbcff319843f0953b164a9c7acb919f55b57495a9acb4e01468dceb50957e7be3a41697bea305080d98c13c82d89942172d941f9cda7e3fa997bec3fb05764e05e9ad1a6431c8a8081fd2f367b4b0217577f38d8ff74119ceec649a6701a565bf3a6b7848735f8ac292ee3864bcbdb0522a03d5a22af59b26d38296dfb25888d173912910b2362f35ee1a40305049d667257b936a3a36fa705d5f244c6f76a8009e491433c684133c623451ee1d43517728c7e2ac8c3da9778728919733521fe2eb1720ad738f8726b38965b26d45e4159745a520f0610440de69df4a7d8b2ccde24f8d01c77e546b2eeaf61f31da15029e0cc399bad77d4ddf92a53c512670cd88f8062e82d5a1fc0e00e5fd9e4a5c67246306ca0632fe2bed90fdcb6dfa27f5ee497323537264cff9a0e8aac75963c25a5f74e99715349977e85943ddd14a9b0996ab4feb7a53eb222758b6c15ffd072ec926119a3885ae13c3b6dea167b27c31c756598468d4e05038356f05f870772a574954c993cbf187dd3b2460388d79de32c0d9173114941d70399131eedeb723414d44a67b32f334864e56cf8901ad9fa13449ec799b806086a21f46826b472f0479b381675ccc00a78c59c6abc5905e1e33d19f785f09564dc971ebea0a372115bbba2d45bad21af87fdbac61a8b9f145b311866fe8024800b3fd36fc5ea32762f85efd4c985d6d187a0ae909f66c70b0932f0e7a0c0f19af7061f0350c572668ab5c8ffe26f0daf83fc53e644aaa06699b7b86c0537d6616b5cd430301772ff4337801f3af15ac5ed8ee58d730090c493523495911c81de82fb84d3f2b806b0225966428f2f4639ffad3992aa1ef750a2b9501b80002b204b0629d76c3672650700dcb37d4cff7b45e2a29bc03c0c8a4288e5908e245c95f4cd1c0cae0c72a7a93f4bfa7abe01cd1afbb2094eccd80b2e928940f147cb92930e65b4c09372fb89a93c2d71f4a34cd96270751508e392c48a1ba285611254924f74187b9b59c3d2e745b86ccfa5038628ce5505f0882b7394a0cfa6eee91c0c57cef7007932b90d8e73757c0b43010742dad86dd7f57c6c5f8e2d14f8ee82b3144f602945724a4e3790bb82661927a75e5719208bb91c244f82e7ed8daf84f2ca2d08120e72beffac8a772fc2c03355465a8ac463b20395f70d31feb8ec9c91ee1d2b1b28722f5acaa1e1572e17bf2c07dfaa259ea1880eadf2454802a483c52e3a92983672eb6073a5cfec3f97f5e67f9287bf63b61b17e47084de4ff4b4fa4d45f7798f69de41b22cc886b1294b4c04b78b56f0c32439a0a0472a22f08f5c35a2103b123d184d82e548cda51607c9ae900e11beea72da17a199a78bee110ba8d5212b8b7275985072a9acd1e871609b1a3eef7f36e4ffd3255dee7d3128fbcf55260e9d7256d324adb76667a06d33645a220743d1469b6364d5cde37f6c8256f1581b63729bbaf70d93d22896cad7c50fae104c2a664c96a031d7f12297bbcaddf494ce72f6a868efde54cb75dd3a3d90c73d7dc8d2161c7d4f17bb4f221110ae2dd70a5026a135be428a71a65fb01134b0ad4cd41cbd6a7c9fb76f51e78a55efcd310272c80a5b0d2c8afb2dc2c610c3344cc340ec752d6a87b31451270527b5c853167235c5754237a53bf97d86ef42d151f61f4a15b9f352d87062816bc7ac6c17c042c5a520c77c36c38607a8ec20555175cdb005e448ca693b251c1cd32d2ae86472684a98840adbaecc68c0ee1e84e6bf10c380d39969d97659325aa5b685dc6a224ad3be5f0cafb00bda2dc6f3fe2fe349119dbcf1dca4359fa9f0e129f50adb69e7a0136f38aabee18f43d4ddfd8fa0d178ec9b447d750e13da291e578228d8185f7ae3868b3206a308248f8cd7e8f87a1bb240139cf54efdc7fa11976a59bb721e5ea4ac566ca8144d719dfd678ab8cb39b9a3110d4c0096f554409a69e73a723017b293e5bfafee53824f2f553ebdc314dca6b33c43ad5ffa83e26da8f995723f86258c7c76d7f944f86e40f837a7c4f42a32296ee1c6e8cde052e113f1677296a9e387481741061ff3227e519d995dc02a65ac3b7c0c56ad021bbaf5b24e25b2bf7ba62580f21233f609eb1be7efec09d1ad816cd0a02533b5687c95af88725afc86b6f146b01bf07d9c93fca9e89d1cf344810f1679878205612c947e232b273a98020f41db7b008dd6393921ddea69dd55ca90d47984e20fdb0b97b80a728ef80d33be678ea205b0600fc132e597a7378f310bb5f42ab6054cfc11e6307156edb6755ae66dd672d1b5eec733430a518b751bbb89bc3a5c71ad3253e744727827d5c040857c7cdda84c84deb2ffd9182e44416ce41ade3197467a15f85817e292e74d4ef7a53cd48c309257675877c7303b1516e87907bef1b8656ab8b46ea1d19656be048126b6a30eeb7bfe527438f69e35b1f89569972f79962b18f13c1d45a110d86208315b09e20fe67bcd36b2292e96d39ed7ebc23963a4f0dea772f1a62c045956383e3dd8d74f85b6b49e3b587851f260b224c8d6baf10260146f1f3be1e6c8cd931167d87afa6735759c5ab717d86a215066384ae245d930c52392e71f9a806be0349f187cc6ac6915cd3203873dea215abb26dcea14682d883c3747f55dd3354c066dea32ed8a2e83ef46a84af616095011a0288ea8481e815c5c66359ca9e880c334cfe2febc86a55a0641f26018fb3b7a56acdebae30a9e720665017de22d50c61c67b3d5692122738fc0795a40e4e427000ed87142c9c64fcde626f003b22e9c07e50edb33b7a51a2c05cdc79ab33b614369f12c715f8b72c7d48724434f639fc89b4eed2e4dde99a2c5976049950fbb2d7d0e91da664e1058d77f308e978313f5231a27780d815c78fe58ff4e74320b99c6bdd7f68a9272fc8c81101f7d6a2a4000cbf2f4c0cc2e2fa44e08f9c8e063a0b7dd1b41972b72f3e09139291856eea79f4b09ce63116b97e4a094b695a76d80259d5adc89ed6b4b28057fe5a33fc806ce3cb619991c3ff6d1734480e3d2375731b97dd1ff2a72d14539a9cfc59019d02238dacc6c9109ae710f0ad261c39ca72f57ee1c726b0414a6b07efa32d7eb6a19b1b9b5c0718ccf032e592eee1e9a658fc9141d39107241620926bd6ae1bb4846f1669cdbbe12e37e898e118625a4b71d559f14e04072ee3f9fcd9de018aa7d44b13300ae89f971e1c6a86a07f2bb94c2719d7e7500722edaf744fdcc3110050577d3267cc28da4afdb5e877f25b6f13368bb595126720f862f88659e0698626a7002a47f2e43aba7a1637a736802afa37f3f2e5ea772b783b9826ebd73ba9e378237e16110e178854023a19fa9f37ea3493a63622b725be7be0a60ac27bc2d175fa24c981af4dc731cf71899d1ab40d4425dfbfbf072e59fd60fe05da60eb8b23a1fce72db8d6ef6680dc9c7101eea3f0241bf3d9b6ec940668bc78e1f68804d2cbddc9f812d5880155c6deeb0964d9ab1fff11d5c68b975eadf6ed93553d6980eda5d815bd4e1dcebb70856bc4ebcc3b8d04c5f6572ba18bef6a0e55a2ccde5f05fd63bbc393add18b04d6a1b1a69a74201c2f32b7282316c7f364b30ff1168ccfa765d06888591c6c1e5bdf7ff356e400b078613721e68e2c8bfd21321cee22163b9a88e7caf5f5f7079be105864f6a2d8713c590592e257bfd60c9f0302fb2f32137174a5b369d013b427af2f1733477d47ae2d3e13f60ba348da53e7f19b1b556ffc65e034ba1a09bcb1445db5f895d74b6a4f35d63fecfb7bbfa8f82295ed56fffe7d7cd3c9cf980e24b9572e4d07756e19417201c115043d4b4084669211535a00e0fcfe93f11b4098ef537198f28c9a84d172ff6e2c8101049f759963dcedb7363bdd45748a079cb4a7b6dd89cc4d6418f25a5af23d3dbe1b71c1884066b610a39e4c57082756f89c371b7ee2893ea9f530624ce2755da6846c903420c7cce4874d51fd48f8ae3084035f6bdd61b5ff8ba44b7e278ee40f3a5954f84ae0a423569c05e93441c30716da09401bc0adcf97853e32852e63eafe6b5ede25936b10990b7e5c2caa707cce7bb3a85f502f887fb772095c023b6a533fa23a51cecd349852fae93e75fea40f720f2a934bf5c316f572292f149df40898757e215379c2151b500db8af040f16c18d7e19eacd4b0456725aad7368519b9db5ac63028eb299f62b66817a8436e90eca3d363a48c2ef854c8c8162d31b87acd56fe5fd788ca434f5d96d3f51b10828c1f1a8139c08f2227204e39068ef28f47c49d56c9df24b5704c8a3f35c1783d5599bed954205f72372a161ed7a75c97ddd9e48719569c0314a1f5da512b2ff58ba6568549cba65930d728c8c1a41ada4772f64d56846c42cba25706a7205b315f614675be4e0dafe72c708cf384ba25138484b1dd3f73bf23499e302f36e1ee9903689d9148a31ca2efe71e61c9160e4e44d8b28ef587a16bfbc3f830d3dda2083617f26783d36e62c84a1dcd23cf0ef1f9634097c3912a5779f9914c2df27296b9e310487fca0a2722b6c7cc532b02d1c11daf39dadd3ece97be691c605f7de8f4b33ff17b395c3723579ddd719bc6b543d566e09125949fe7943376eb176d02f8bd3e56a20005672b37dac3269f9e6bd523cd6326591893c17a971d8a0075045f326cee598b21672d1fe3c8bc11aac3b3c0650a3fef32811e388b553b9674b81dda72f34103b4072ef9174c37676c93212f557de09f7029471539f6aaf036808732d77e36a40ab72552bd4b1f031efe61d82f8a745b7c8313216aa5a0862291f004ace9231c20d72d48e412396613f77a9c19b1e44b503bb9a86df9871ebe1afd9d8094fcffaff724e10a4234a16e7e3c59c445712f260e12734b36a546521b48d9529d35c52cf6d058af8015791d7904a36b96a6750cbd17f400e99af03f066832447df430ab872c9125648284d15cdc7cf3fbc6e07145f4d7883d294c929eac8b0dc1b762ffb1a878e6c97afafbb485df1f0e29f626eadc1eeed1cd375d496083c80480a77de721b348a74df9f06665fb0420cc115c9c13908f825101476611652a109110cca6c88ba83bbcdecc344f373a4fe210d8764ce29f6d8d952faf47cad41ace14f3572e641f20a88ba4e78ef4f5c392f2ccfccfa0296035d89521b27fb201cd57ee85cf42d405af8da30f99564b8321944e03d8aac3e17c17aa14346e7f69c95a0cc72d93b5fce55b542049b3cf411b672e16ea0d064f093aa4c868141dd4ca5eea572c5d21f04e66167e531082d1a8ca46c06177b4243d0ae8d490986ee5307d5ed72e5cffadf6ca456b643e1106da0ac3cca412cca98ac9a5be6953855466e56c87276dbb2af6aa507115a93e1bc7d6a9cd8b6fac451fc881faf9090e6b5da2c636442ce45953426002a5839c5c9505e08aee8d5e39a5f79d65c6575f538c3786d729e7b5a263c1e28101f8889030e946f19860c3d0ca0e21800967afa972967ab72158384374afaa7c43c452009d0ec4cd6b76fdb284c8264c031a5e520c48515726065132fae0cb92089f7ce0b90429676a363544458e4109d8e266358e830df08872152e7c428908166f40fe0eecdb9cac742a71403d1729ec3eea81c8f51b87233e9c3a0460a094857b3df1bdbfdaa36bc563f4daacf11f9bad184cda991f0728d4d492e3c00233bb1a15fe29e77c2364cdbb52ec2a96ad14211094579a02a38ea27e4950b7f0b7a641b166733256d9f44bd40ea3cb3d9500af021cde29917728523e65a49857e84025aa891ba3b0c10c2a55f33066d7f0663937b69aaa1403101441d5693b57032af2c66943d107d37f8b780824306676b271be23e0cdccd06a59f4b68458f58f6897f50a2b16f59a82fb62c4057f3e27d1371e1859d77b37078d03cd94e83f47247fb777bf6c09bf6c10a587e47b05571d59377a7df701b7229ab49fa44e0acc86258a76f53739f9bfa2257e8eb26b015a0434e99e09d81242c089f244bb037ad36121f594020cc42ddb3df1917b1d548e3195a5ce43c6f0f7f18ff87d266b324b16f090bd206e79378daf07fa1d13c9dc7a6496a00efb9301e1de981e8a02915d6b2c0fdbb3a73eaf74fa753ed32b0f17b5745668545a0725932aea9cba3a423d702e6700dc057f04773cb318901d2259047ebd3c5fe58722c8baaebdbc89348d49c84494f3f67aeb9432682bef1f1af969032c703a34c2adf49990255c6de73d2faa0c165ffa2ed4399ceaa58127621b7d532d713eb417229c29a406ad2b1d5876ba6970790acfa199a0c29bb51f2a04d54cc8d20882972caafa06a6d26adf367bd862e41cc6d189088fb9054a176d080c052742296f1728d59979377c49486f8e53eaa32b7d7e09aa6a6089577889c234d2723060b6316ae31af4971786cbac2345992943010379a8c9d04106283ec1ffb20bda6f04072bf8b0981b25d30c7e496eaaa225dce03759a649bedcf346964904a3f56454c725f76bded4ac64aa5c632054f1c643415a4b961e465ac371b35327129e1981b19cae94e721f27a5b7a139d2d1922c7319f92672ea19c782995074f55c3a8d5272b5feb97fc5ca993d80507254e9a8c5098007d037595116200d72390a349dde72ebba66997a574cff2777db64d3bac927c073b8c6adbc677d1601415cc112db728634dcb507abb96e36ad83939ba3eb4e40ebf259ff3c56330e77efa4917c0272b5fd3ac61b1dcb77d250aaa735292cbc44fc72804989e20a6e88e833b52f3e72005e4a4d4e80b387f05f10f24d817be68d45be68cd13da25bb1e6578645e5372b8686c8952584d0c22fe0389518f297269ee0bd15fe048eaf29f8831f1187b112b81f36c9ec9cb4cf5f915bfa58e942426351ce3d7267a10d7771b1c047d8e72bc7fcfcca09bbf150aeca39fc3aff350fbede850265aef950ec60966b7db0024d1fa94e765e02fcaf5384d2d4744a66910ef84fc19442192101f6ca92a5d3a706cf6a65eb98e5e3d877a55e021a7dd5b9aadb65c98f1266986cfda27e70cd858ae1ec36a2e9cb1aa31a7fa475fd71e4cfce79bd71f762ea3d7c4c3c1972d7372e2ad1ee7908aacc3d348fc822168bf095f17caf6e7155f2f563bf328000dc66e19d838fb1107e4ac8d915dfc83b545b564eb692d4fce9abf27d0af6c2e22de724dd5491700f462567c9c768d6a78c9e5fa3cdd015fa5dad271baede3fc40e15ea2b2fa6d2ce5132362b0914697496591895d85f4d356b04809437156b1f35a72b87f1bf8c90202f24c63bd7671ef5fe4f0edecc1b256dcf15c15b7dcd5d6cf7257e0e6f815f98366f7144c9ed0b1546d9d4125b1f5f4feb1dd0f778e0fa28a72c1f30f2c3c5bbcdc7bcca2eeaf0e275775e96dea71d9e936b3cd142ec8cdd572130aaf213979bbdfeff636866ae7f68969a77d4f5e870717278df091041ed444954507e3dc80f98c027fd50c7ff941285436522379d2435c4680f87ab5e35018fe2804f2ee4380e39b095b7fd12fea68799d9d788bae0c4fc86e43c6dc2b8a72d054dcf8ea473623884c8a1da482af1310a5667442e2ac6dc39c1df0aef2e06cf5ce680d9276b77c8945b3ecbf51005fb32ee443d756d49ec532fa75cd8f1a723653f7127cc797d536feff54a123a78d6f58505e7a6bd33e29095f70202c393e9be122748d7a32a47e1560d971db0c999ac705f108bdc021b6f2f18b21ebad33fca596031e85156c94c2350cb449ad33aa9c128f2b06ef6e0b3564a81b10577205e7a57b7ac2fec50b338a7bb637cb8dd40f152537f308b002a7311754e3ca728f3cb12e2cbb364278c780ab09475df7a73afc660aedb9b6450c7c46abb96d729fd282d0dd2112ac8e910c670796aeba004c2b0e911114e7991b42c589604772a1b3e1306968becfb4dcbaff45f37f34529c0aedc22bb2d1d6b6514ed589a264bf2f90bb40247648389c79be5aab805b9fc0860511da430c5db8a215520dfa729e6d7827fdaa8ca1a1d9aeb10390df306917e3a886b5c01c012108d44c713872ff0b6db4b4db5311653fa661d863f0094c964c61d28fb87505e0e568b792d7568370a7d5d8308d48ee8734081109274a1d55bf055c22f9d8adf3da7c49809072ac8f02185c09fd566668f9e3ccac8994b631dd555e626fbc209cae0af622817206dd7e30ace2c8ab752612733bd5f2832b9639d9ed27dc799f59436f87d617240536ddac5f6d307bccd728b2c0f3b26e23498ae082370c99a57a3d8c61e30e72d9b20b1fe7f3d1876a6b50d012c5783e00ee596f4c957d9f42884a04ed2fe0048fc1a59439f0601ed64281f57a3f9f8869fa241d2f53fff246a6ce5acec62672d84bf8925eafb7036a33d5ce449323d9e08481b27c00ec0feca03c5d8254df7276216aac522ff8f92496532deb6224484756c87b30269af95fd1522507bb7d7229ecde52ac3ba3b276567ab827972f32cb6b803a52f0e1e6204971bba68b0b0817736d3ec75628250b489e4a965e115394b4d6ab07424625a1a85ea7fd13f52f90526d72d83b4339e1aec34141e2a509b21fd747e1112eb5120433ba5d2c557215024ab7ad6cb0fe46e4866648d9e5a59c507bd4c16e99747e3e50c980b32930862ad4385d29d8282cdf62a15261ebdefab486c2cdf5f432f4ff2c0b3af56f1af01fbb98348410506059bc9d7b10ce2e8d80cf93b93feb94acb1926051d65f7226229fd3d22ee1678b0edf36ec5020f66df97932f5b9c3b9060602eb743049491e50fb0f239233a6bbc3931a5c8495769ccf5b03d057e406ff5060a2bddc2c72d1033bbb9fac88be95f472f2f1aa513798a08aeebbd7532fb9ce6ef4c90b2e4abc323c2ca11dd6ef606d49dd8e4e4b81a704981281a81bee0cb09db06a919972c0107df29ca5120d9781a5179786f682c05494c306ae977e7e81bc6f4d78e772b0c743e7f323df7c74b651fb52925f7078a723dd21f27fc7b52f59783cba5e67ca7cd886db62b6cf3154d0047f920ec5cfbb69f37c4cfdd18fa81dd637f2562e53a7d8a28cb81cf7515f17d774d6908916bcfcc40524be7b67a962e36c01d8725181c1623c226b3e24bb4a782d957b80180063aeb39bd4baefc00c75ac1168722413b9761a626e5b3329aeb74739f52380aaf0fe815635689a4f1145de894420c6dfc002499e57bc7045f26443678feec05fa4d48413993686bb19b5821ebd68abaaa1294397ae4104462e85b446df55d7ddfc6d84d8c12b63e4df5a88a70472cbd9ef22140d158525590ff9414994c90081b1a8b16889ac778d2f8be013d119f5e60abedfd5d116a0472b27087d1f32b4e6c2fbeee82acf947f2b4317b15c7242e268d2da5d4fe7dc0285b4aeedb5d545895d2cdee5c9690fb37f712c12314fc994a8b53241d2795f6590ffae3f9f6725ce04e76358ccd3e7a66ca8fe9702687eae86a588675de0941a7a8746d97d5e0aa6f967f6ae83f38db22a3640d654692ed7cb97db881ed7f9593ab8a5d60f785e5f1b0f1250104021bed0e8c84290726979e32e4fc42b72971665d7993956557fb17633d4b05d74dfd5f80c31ef7472db1a64b1399e86111a4e0877711d782b12aa523e2beca20a7ca5f624333f5953f97d1f0cf822f8a296ed97a2bc411f1acf5d0c936813ed2283404b3eb766a972cc4069b8e74f46693794b49da37ea2f5c934f24b46f6eb0c8b6de04af1d364727aff6d6d162d86093b194e88b09164fbf393a4f92d1bab9b267547cab52e080df160230f8e46351961472b66d68d6a19940ecc06e9c73b6a2593d099560a1622fa2f67038caf87a30e7c50596a6b1bfc777b678673f0aa5876d3b70b4529374bee952393fc97a8b90d2dad0f00dd7cbd000c62bc02031df68401988c1a822c72f8ac7ff12d89d6822def778ed37223a85bd8d5bc0821a62d38edfee10a2b3272ff7b0b2e5adb48c79ffe6b3551beac7e6fb3a564c6629a8262e25e2ffbc72a72ef3be099c0b0c2e18573273b6da400788ee9bb1e6c3e33be2b6c0f7f3b22d230b0f2b7f1a4ab0874a8dd92976d2c1d07084ae4450eaff525528d5272ece51872d28eb11e4f40a7c14af6bfb4c1bfa1c185a39a7f7181c02b062bfd331891843f4a8a2c3303fbce3864ed652214e3b6754b779c63065672b40e041d79f85c7b72f6ee423a132994c586109599ebab8e074d5c34c8bd3cb97467241f6758caab72d5d314060c719acc100948f3e1f99dc0b7aff18e7b4c88e4268bc9083d00ed2fe652d68d9a4de39f2fe13064f028bdaa92bd08b1e04fa6f5de532fb3389ff4728a90eb457f06735d94b93b810c1292e9051a3bbcb2469c889a8e0e058da027289656ab145afef3fec6e5c1deb14f38d9244fb55b8db1b2c19d6be88598e813723a31773909193d5fae561d4e03030104584e23c20ae6dfc65ab6bbb4c3e6da71b8d5c1c2718e5aa35e3e5a8650664001dcee5a1b54b170ef26d7594548678672a1b3b88d1d063e4baf2ebe8463c9a4767e8d5bba91e7d10b036a917d475e5f722784337d30c2d2ffdf3d4342a0629b411cbd906735382b140f85824742e2283c583d3b2940898f3b31f7b2150961b3a1b42e5ed0ccdb49ae26f63c9c684bff0cc28b356419b0a97d6f65a64b9f902b401aff237f28bac5e96b595d4a85d51f5546783082895617b81c365ae3ff7085f9df2c1e08df0391ae6214c7d8d59588651daf24f624d58fad75fd98144507be516d055f88609d4343587b710eda0ed627b2eeb59ccce8e0e845210c8846af4e32e8c93f15bc2b6e9defadfb453eb98e42182efebe484ac37d7084cafa4b0c51b4577a5e751f7c19ea1f0af172a5bf9632bb65c5eac55fc01c6fbd73f8ef9101fc9078216745b544e7e3c158c3af8156721c2bcea8794a2e0b9ac3e35e09faf40577fbf606c99540316c471a3f7e40bc722ff33fb15d66ba1162002c00a3480bc45b067a2b08cca0f2887538c22738373961479bc48607401e5e46d289cd8439cbf82ac61bb5e039f3a41c3cf846b6a029310baad627594c10ae56752a9f8e9fd72127b0b3e8ba098f2a8dd9430c31a6723bb5efa7075779f98b06d8e33859be1d1c4638054152dba7d49beb4ac1321b72a554c7069c03331c1d360a42e538374a283a8d70a74c39635f2254098d9a4c4c1ba37b4ff816145318393c02a5fe982fe76545ef29d0a64db1094b0556509972a112e9a1fdac951fb5625102dd59bca860706c453971d13c18995be318199a72db8efaf6a86eea87556e3ad93afc4146ecc93ebd636fdd7bc5209ed1dbf0014fc64f4b9d5a01ce90f55fd6235f91c0802ec6b4867cb79979c17e6d644aa4880c0d4f5bd57f3c3cb1ba7d76b4555458da4e8288812fa7e7747e2e9ae769b16b7266b13512d3835cf5fef48f9f6f7cf85784ef53ccff55fbacf14763e238d09172e228cf99cfae161573aeeb9b68325056d62ecf8b1156c5d96ea730598845ea425e3f0b7e67790ad2a7ce8c80ceb19ac7e02851d7969e93683d7722ed9b80253b43c5ff45532cae37a59897e147386aa222e552111485c67d464daf71b4480b72d2b9d5032da176dfcde2237c8ab4a7717dfc345e6470ce56a59032626675b01c225295dcdcd0950dab55ff3583c634d9be91bb816001cffa9d116278377a4072118fafbfdfcb3ec5b783f7da4205f995f45cce00279e6be70c1998056abc492d6db3102b38de41e9d7249f9f280302283c341929b724da73a6d774119d2ae97220554808d6586bfc04e33efc02325a13336d151ac41c1bff1d15e92ee5ac8b11bb5a2234260ddf48f6553597da6adf33b46ef49e2d0db6e87da87837c23a537294034e9d458e1190664cd36b2568f6b89641511888cec91ff45cd29ce26fd9726ab7fc7a2b2b404006762b88dfd34575221aa832d7b639ea50857cdac0730972ba1d203003652a1637f3a5dd12eea3204d9dcfc4833bd4c12bcfb5fd7e6e6249177c9c45d1c1b5f142699c660c82393b07c1e50f3e7b4c3defb98ee9a0d756491d0fc8c7fb95e4a480858025b496f1287852a1cf879cefb05e7d939464f5ef72af5bb0c050c66d84ac479ec2affc80a12933a32316108fedf4109cd71acfed72c7f0e661d0651fcfbd6105c921fb06222dfd5303e3bc0204bd8c1b22ffb47f72292335eae3b35172c460264966264d341611274db8edca296667d14cf5565072940bbd1bb2eac0b9c01a98f1d1ec070f768974ae5ea1796bd881824138f09772e6ee5066607e0fb14af29423cf3e3a8033e6b54290ca294396f6255880df0772bda81d8fbb8f2b2ec38085d7effd8b759150d066c02943c775610323e394ac726843bcb4a963d8aceb3ffe99a126a55244c0c2bec86b59a1c7fc66bdc48c401b84e419d02ef455c77ec999787c2859dd1e86f192c2d7c97f994239fe27b7df3eb5edc2aa31fc58147c24c33b9b5bbb2f53aee12a4ef8a0d7066ddcda979e807259886c585267575fb3d9fab7918479c2ef05aaa4f6219b2be00d3647efb81572e0245c952ee1d527ccf0512045f15522f47576b97afb132da622193756dd89727d52f661f38b9ccdfd82ab85091692e1620c70eaf47cfd0eea180111d31a3e490b324ae24779ad5521d274361940114ab09c34cde2832933ca458e6c1de2c6123270a8eee699ab4c423118398c9d305fef238e5fb0f170d515ee33b360824b20ce72ed8290829f81fa214857c4d6ed50464688d2dd62cf2727f245b3b75db372b060ab333dace997aca55a4b9491a5507376ce2f69956a49c2c62a0d2e6a19088fabb580b03b90f78f0badac26c92253ddc0b17a55c2dc4817d1a40706c78ff8f5b08d49cc9252a7262aa9cf21f4d432a83bf3171036bac2fcda2a54bb444824348826f9f52a4e6e09e2bff56484fd5f5891b0a1e1be5395b1cec763208be13ce46e3bf208570b8f8511671928b2f0d78cd30cc176b514a8318aa73ac13bdceaa059d9b0ac44684979f60b9af0c760917fa0aff5cd468046519edb1404c4ab150455122d0867c8268b4f5bbf7f10693bb1359f2ab08224305ca781780717df4a96c3916e8e4836248e68a27a4b1d58ed4598cc5a826e74ad908e3ab12890dad8da2fba72fbb0ad682545dbb2be7c678824610a3100f94c1b8abbf6bf6c0bd3569b2390af96fe2d2e10cbb6671da7e398f114206c1845f8f5b09589b94af6844b6ba2a20417a748c3018829fc43f08c9a66f3edfc9d68fdd791f05ff52b46517d3ef78c99b8ce7d8ee5b0b82e69ca2c4428f63cc3ff7b477287721850e1c34d4234897da9a42a882f246d53faf3a6550bdc250b0d26e78b069752b08732703d9ac844b5fba917cf9d2e428183123d6b3ca37d6167894e226803afe60e361614b8801ec29a6f49a82ec5963cb081d3766a9cd9124bb683b27cfd9948b814729faf7b4e47014f7c9b1b1060f669d02e7af44ab8e9b1c648708f682eaaf0b0b62ddff7ba83cda99d4f2e7cd27c71d52a1e52b46fbf6e22d9a62799314353b5a48e4f7f0e03ad6ed1aea942d2a09b4a"]}, + "response": {"jsonrpc":"2.0","id":11,"result":"0x39faaadb1ea7d5408187f0009075ecaec8a73ec016545c2999277aa2b5fe1b2c"}, + "statusCode": 200 +} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/05_cancun_send_blob_tx.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/05_cancun_send_blob_tx.json new file mode 100644 index 00000000000..c76c545737e --- /dev/null +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/05_cancun_send_blob_tx.json @@ -0,0 +1,5 @@ +{ + "request": {"jsonrpc":"2.0","id":14,"method":"eth_sendRawTransaction","params":["0x03fa0a031df901140703843b9aca008506fc23ac00830186a09400000000000000000000000000000000000200008080c064f8a5a0018c91526ec9789a35b497c06e3317c1a921b86082300d651ad001a09d1579a8a00117e079f225ef61b292ffb0036ef8ea4efaae2c19ada01af7a58e52a0a22574a0018d313f88d431d908dd44ff99ef33d3a1e86e55f4202643e155caea72c9fc9ca00113ad8a86ce2aeab9516290f52635be56d2a3dc23dce048ccae683bdfec0b9fa001c150e6fb99dfb0b614a16e2a087a72d47d1dcfe3a3fa070604bf4bee71122980a0d0f78917caf4e91b3a99666a9af1bf258525eb506aa2a28f88ed40aec9e5c87aa05d70925e60667c323e5a8a236d5ce6ecd7d828f193a1a4c68a1cf098b4c546bafa0a0014ba020000726c57014a6156061ae669809ec5d735e484e8fcfd540e110c9b04f84c0b450472552e1bf83f647f1a1212fee8821e4bbd0088d1891a673ff9056bd06d59db277231f54e6b448098b3d4cf7b6d49d3dec758a0d5126d6d6ed99331fd6118d4b71a2ca06c8cb6c18f1e9e6308cd4a1ddb820066dbb76910527428d96ef0e3b83972e8ef7b932f4d0050168e62617c9fdc1ee56981f78c2159ff0163d0eefcb14472b42ba677351a945a0dbe5661c7ddcc06e08f2f79832b116a6163098a437f55722e0912679521713879d30685adeed62c9fdcbd85dbb80e31d93649b83fe4d2723c710bfe509756ad8006396f03e09d1cb33f94ab02d1ee77f79204b103d97b6414d0415a0678f7c7ad9516ba535265d16f728e786c771ca0fd33016ead204e65b951fee5d43eb696bbda821cd50e9c160746b21c1dff69fed6441b50b6f08372d4373a93a1097ae632e8bb8173c3a5b5cdc2eb8f904d4169a2c442be02026e72d252f2d0b4f20efa3bb9e06ed0f967cf6c3124fc8978777e41e9760b5258ef72483b41983677519cc23769a4b142d8579c6c20c3ba1bb9f055ed22b5bb94264b6e9d793d0db6d5a1774bb427c21223bcfac447fbbfb2cef4344771e69f679d7255b9aa6d39c3d779607fb8d85b7f536a30bfffce78781dff6562838a3e01a772fd1c8b7bafdf0ccb99e530401f957796453d0b256aa807c1901105c0fc4ca072e59512f81378d145f85ad783a5d3ddf7e8ac869b2893ca940ee4126524ac7f720e60e55630ca467232826d0aaeb8f9c6248808a920ce0c7d57714057f6e99f72a7652afcca1e86a0055751bfe727b52378ea365a4a00f277ba9fd5442262af72093f45dc8cf7fc05faf3a3a8dbdce957cdf1b17d04ff28d869b70a1cc52fbf726a586103413c97000c4f019c2bcef5c50c1af60e4c142d23b45fb1e41384b2720173fc34a5a1629c02f8d2519e9d896ee9af9256232ffff9e641eb45983894726481c6eb661ddb29cfd02fc13c317087c7165578fd0a766a643f1a343ca2166b838ae73b5215b5818e830c2d310b03c58c4e1a2835245e9d6f0b425aa3af3a3c0f847a8229cda58ca8454c01bd2ae9cbc8174fc897caf1cd4bfd20ef9015ee7219313bd48daecdd96d27043968708690ace0ed8c02750c620bc6b1222601502e561464d6521e72587a30b85663da248c0c92f2e2d552dfc00035dc0bc2e60b7200b495a75e29c92ace184f625a733072a366582532ce708bbd5790825dabd9726964e016b5693c15a56520754f1fdc56af5957bfaa8c20198cde6f5c7701b3722a49eafa61fe9f73ecf99b9c138f0dc739596b0cbb3980b3bc2aac77b0ee3672367cabadaefe4dd07f2533ebb8bec465f3c08c7d9a87b1f80d2cb3e4569f65723cafb0c57a4d9bc1977a21fd186f6d3368b93d13816501a156a3dc3ae87ebf26a4f7c2e0bfa6cfa451d35b95bf719d97ed4be5e0a0b3b26940093117098bc77207f2eb7286d7f5529ff30f1054f3cf2faf6891ce4c35eb9885b1f4a67cdb053cbfa5bdeafe6327910e6a42f75197f3e8d865a2b25bd4d8849fe9c3b094e1c1728ec3a28c4ba7ef5a890eefc1a1131f5c94fccdd3c430d0dcb9fa9f90e3be3e1ae19ab727f9a16363e99267494a8ae115bd3f67cd73f866538360481b567b2272bb7a92aa7da78678515cdec2224a2d8a5ac648720e88b6a4d5c94413d7e189727a4c8b38303a1bb185613f18aa5669dca75106bec47529a9e97d88330c9a07728b4209b1ba2ed7fc0b6ed7b301b020466b00bc35c8cd4797565e7dbfd43b91723729de87dbcfd0ef494358d5da173f870f7251c6347150a76570a411e824a8726cd61e76740641d904892de44dab9989e0217e587931ff25b35339c3da61fa32895c7f5214ca3682817a62aa4bec1018dd66ffa78e49ea4212b6e5a401fbec0ffb26b6ac626f2ec11e595cbb2e10bb2f7d39932bce52e3c7be570e501efc6a72aede89caadb2b01f761c340b177e23b93129d34ccdf50582aa4ffe8b6f049f018beb98b1d88d57ed38754a388c7efcb7d7aee083dd005dd5328edd1361d00f2efff0720691667c879c29065eaac3f545575e3e32d14a93bf49a5c4b30a5bcc722f65aea3a7e150c3927b6e559992d5464ffd4faca5f53ef5ee26fd5e8776d3729f58561dfa9d1b27cc681daa67a24a0f3885c405cbaa5582f618e221889b3d7292090684a2f08e222cf761ed49ab5e3946fb2344cc1754497fbefe65f98a71720cd6dd3760ea27aec1136f88add4634e4663a10f3873bb685e20966430c556348de85e068deea192473b7694015d7886baa458a2ff471760652ff971d4e93605b66ff7db94629181008269994d782d336d8084da76f415ed44c1ea42f4ffb872a67b1f122ffb0fb6f1843374d31617ba82ab8e62e8d60b7efd461e3df98cfd72f8e0e5b16908210abbf4adb91735d07eb26d0791e25a3e44038e5dda7e3d3d7228d1129da4656f2a3f2e453367f599a91336a4c7fcaec9a78451e7c610e5cf168c5d1fcf4d7490f79ce016b7309e20c2f3de5051d94e9c069dc5ecc2b78f8f725f59c29c496a00ca436c8e67c63672d02a5379e600b78345172b517a5d74097262d39aedf5398f8830c7e65768bf1c9b521b86ce44720a6f3ec712c428a99c11e0cf071fb7e1cae95680f07f0856043770875712f28c18455c8fc802f2dcae72763cb66479a54e1d7d2547b3923c0bd190a81a07fb2358a881d9b671725e47726da3e92efc2262bb191b33ede94070846c1f2e576c046ec86834522c186daf139dccba9eee4caa7e3d7543de9c8f686fdcf0270041de86cd5532c6fd3fefe472609b9e1042fe777512349d91c06bbccb3aac77d451ad9f933fb65bfc65c8f630840deac2f036a17e1d5542047b6537eb78e5c2537646ea54d01fd24d263c4272f4de8205d0ff5f6431e068170a84ef2f7bef5aa076364ae0e8af3e71e67ab072048deb7796740975eaff5de4c2bd1b51cd4d3d13745b18d1081fc82a17013872a75a21b8136c7829ec5f5b661905352d65572d87ce196c087048fe70ea20b372339b3b368e9351fe9d54b66bddaf1295080e1552a276aa1c079a1eb04ebf2c16479de53ef7ad1bee6c12597f016ac7daf8476f2d9b3b273841d1775dd11daa72a5bbabbafb21e31ccdd786e5745b1784b56dbffc4e9a3453cbd4203d52bc8f721237e21fec7fe382b429aaef17351d0a7e50f0eadeb19b2a81060f004e789672113baf2eaf9ad9202dfcf0ad0a8e75d69d6471817a57eb4a1f1a88d2aba74572a0d197aad007b6d42c3b528b640c0dfe678187bbeb0a61fee98aab94eb20ee72805af81e50ac4b2d6377e12bf32e65b1b858d020c8edb20e4b80c9ea5747407223923859d3c6fa449b80db87698fb59576ad81ba6306c753f5e81ca7b6575d72383680d7eaa8b7c85c50669c75526cfa8101439a8ce30ce7769356f12aec232b599c15d33f9fc823a08472a4185f56fbf9ece8d326c49214af117c94d56e3d72dd22b51bc72ae80c82e0c6e5a763d08c696ac47c02aabf9f157c7ec8b9ff4572ef0afe85ea2bf55d5c38ada973e3707cf4346606803eddd76b14c0c49c893a72b78fa57b9ec6ead99fddc3ef629ddb14f7acb8c9d4a41845e4ae2212a067c27217e368672a11efd1200087392dd862ea8c67b79658c64c8b3a9233f7b8008472026de921e8bf6f8f9ecdb5b2303787aa01c6742eb98c518a2b3a528336aa571526af4e502feae4a69258445650fe3381eeb373f1fb4fdae09fcdeaa970409072c8b0eaa6be62288090d96e171c39026d56bf493891bdacfac6cc04203d8953432a4c1fbe966f5c43c5c043c358714cfa0283be41d10446220c957588503e6c721d42d0ef04ef016f85188ff70c5f8a69864002e90d98344ab42dc3d444454c72c47e3cba43ef32675cffdd883494c6fc4671a3b99d22525617ebc5ccb76ac21ec3c8db836d37890a549f490a0081f9f77d2ddfae2c2df379a1ca751837d601502917747f9a63051b92b661b67fe4a01e3bc80c1a1c323e5eebf436bd15d12d724bc3206dcf16ece8b26266fad255f2516e480e1fcaa0bc7ffb659107e388e17298dd6aa3fb717af99c4b6cf19f68def7cb84087820443bc239f4fa3c61d9b2729548f2272180093b724c8d9621cd254a5a7812f97056b04cf58ef8a6185b8e72341379b1e9aca803e31c06441df43ef719dfd1125086127431e1b61487fad572602514af1feb6cdce6c39c9ca899c43eaf8e1b8481dbee10181730f5d42b1f72e53c82d6cc56572c13a676a1798d1362a2952c0bf216f54f4c1f6cf1fc814e720e2d1a4b9f7884449b405044d90f3988aebd62604b116fa39efccc90e8d77d72c3a1c08414812f7907c6a1ef48b8bc0b4a44fedcb212c7fd39166f80d34efa72bda6430e055e91e25c32e2a7e11b54b5d1d9a8f85281e986072ad7c1ee2d7072026852a49590a82582fa86dc6897ed2140a974d5ece9525e78e02c455aa03172c6d24f21d49b2c8d411335d61c26246ae9897266797f01638cee3eb10e0ae772396c6f1badfc7dfc1ea42046a38832c77054c10668a117bb623cff203ef40741ffe9f4fd37e92d96396ed7342da00d605e2f5ec7906927916e4815fb8f7a8b551378a132071910d79a12887c23bd57671e311dc52b5a2ebf5d229172d8a133492e75f15a0f20e6dea2bbd318f2cb9edaa14e8b5d3f397d8a7e416ba61a232072d0fe3914b9a433527b5dcdb758971b7a9ec0af97c6c19df410f5e92e0155aa729a7ca5144fc979062cca33f73c8f624e74c1338f13282ff9d11f528739630572e6b416dfd038e568fc76e309675d273ba98650a5b57fe55ae41dc74cd16b8f1394cc6e443079ce219c9800ccc3f9c6e5b3015733bc7da851e2d482202164d47281ca0c00dc4fa687f62cacff0a836d3440f0ca2aea2b21d68ae3743e54a45448bbc53a13b8bb0e0e181ce564349b2da175da7dda974641eb91aa8f31b695d2724dba39d5e73d0f020b2dc05e2cef6cfe5951ec38c80d5d71bb07da6849277901cbc6b22f1ee990669b3a1639ab632c184ada16be0e17297aaf898b3e0167a41cb015c987062f7945e9808bf7f0245782f6c589545b0a6555537c322984ea8d60b3779e3b25a6ecb66cb7a73ac535ed5965dfb98bb701eb4321319cfc5dfda60f6ef12d8054cab73d691f8a81b02eac02a705518163ed6e124b34e1b0d00bc172dbe2c756cba6c861e6e136e4c4483b1ac460045b9733cb89fc98c4bc0d75c06cb60fa28f5c539635134e3ed9816d3f4d1e320cdb75fc93aa8b50469c980841038e456825ccb37daac63983dd463008375c18d46bc0dcd118e142d8fb860e91723a29c9689b1eee9b718409c01c7ff122fb54f9620be569c6879e281e04d883724bec368e70c53b760a766fb079a55df0f96189a939864006347ff5a8f06a86685c3299eac0c77121ff2eccf128e399bf7630da9c38ab179b546602b48678d872a627ee74e5c921b955f6ee42e1ae0608a17a9d7cb87fed18080ae12e2d419e6376b502ee042abb5f49de931210ede4dbd888efe7fba2ad63356167e27a030b72bde7a01744e5c50bbd68c3f97a49d815bc865e286baa171916a49622eb48de72e146bb531fac8409f6c1b569345b7598c88a58504b607181272e88d0228def72900ea69830e6d3115c1bf1deb9782a15dc7d71147aff99044b40bb9bafed2d612d9fcc142dcc6064b7a10ab20809bebaff19a40b7f8492e8b19a8fdf4b702a725d62dc7a25c23e3197c811ea12b3ab33d5b6cc1ea43dc30da369f6225ad31b6c3c3ad99b828dba3febd7b4433ef7a66a3a6bbcd5eb8dff74cacf5e8e1e41b172683d2d4eea1240cef33fd4b7f68d9eac3d053e970826386e86ca316763a41b720aa4fcc3e6b54c6ebacbafe9ce333e7afcd46cdc91623dd2b08148293c65f24366abdd2b8f9f873a2929f931cc72a7a6d9f0431fdff7cd76580f7272c523dd72558fc5ca28f81a6c45c10f4845a7894fae4c8400b0ce6d5e6d1576a1558a295ffeb355dea3a2b286290b9f4d9519d28c3b4f8838fb31cdc8e19b0e32c8aa0c2e4f0c08f6c306033175734f2a1d96708f241f95e9287287ffc02e9dc3c6f87072a6c75a6a609893a0a1e97aadcba148723220f496eead960ccf8414437a360172151954e3811775bc8a8a2a2925dd9cf10faf1a9af3160f834425c94093122669257c60f42ed78891eca0289d33d42bf31266836b90185365cd99a25a5d2a2c041eb3cfb205c3107b9031cf70474727f661f24f7740187f29fe69ff6a0f505353a1cdae340a82891c1959fe9bed55be9a59bf8c0f35065d45142dbd60c492b572acca90876da3e63cea5a3545c6d6047ffbc651093bc6cf17f3ad3b7e38731d72beb5ff053e8631cb16432f63e9b0e4634b4d899ce6093155de16e9289f3c93725ccd0ff229915748ae56dd92c745031f6a8a62f6fc247cb90e7284bcc4b18e728441b77dee969cef82723118640e0a81ae214903294cd3d002b694c782389c5487a0db6439784526588b795f7f9a9c5c3240b61519d76bf7b4a6152c87bc6214baf7fdf7c7a98424228fc8a498353e9fe763afa3f1f858253b5f337215c64f5a8a7cb551bb1135d0f70d15a9601b3898e65058dbde4493132c107a6fbb200a33949c8bd0fd48e0cae286fe9f449a2a4dcb4af9c6b52a099a96564fd286ec434e0dbf73f6768e784e101958694ed0741655f6a21301a241af46bf0bcc928d82723f2f1e28b059773a2012b454b0067b17e017ca5bd9023039b44232c769d6905a48be4369f35a4b361c592dea1675004be2c57b1d3c8a6f831261cddf9107073d314463aa884003dc066c70451b28c0c08c6bcee47a780c985f1ba717c907b96d429ba6fc4a363aa060f263701a961389037452cdecabc316c779046e5618472f248662bc391c5211f20db7eb58f3cbb887262d7363201027835f85843f4bd27255ca16c183051e2c26d2a6246593bf8ff827602b11bea9959ec0ce0a14e78c720b0de95105732da6bdc3e869c507fb4bdb8225460987cb4ed18e26322440fa72ab45d5ef8dba756761b1f311458b18df8e8f748b6dcbc9e6a72547f579b67072c31abbf8f36643e9aef301af0d27aaaa6ec471efadf5c09c42eea97c0449ed726ea6acb5be662b86462bb4ec86dc00f71f5dfe84f46a569cad2daa03295563722f4c65cb9bda28ebeb947d592a1bd881d7566c2aa148173b0bca126c489afc52ce990e4651b8f3779b95514b90bb54e952ed11704558530c90d4e6d62e17484af85cd779abc550a5dce48c26750e7cd80d1c2c406316aac958f9d59c93a654727eab750206f34a4c2f81abe21da7b7b920493edaf073bca25768edff44f699721a21ef575a255f6cf18ae2423d9b40ec42f328028cd8b050fd237cb5f6c33e291a3cccc56475d4575823b0493672fe6264ad4383f66d7431ca2f349b89be8772a84e9bd731f01e33ba104caea5c001a5ac355080116e3ea547ae6b789e9afe7267709db354ffcc33a5ddbe55c39035e7d974d708fc2dcf3f3e202428dc97742f147ebc59dca306d71adc943bff04de56f335061f4860519bfa90470bae124e174f2fbab72dae1d98d8baf0d95f9102089321088601931f1177a2996d7ec5af70035c38ad3365be28ef13e4b15768c9818f82ce8229838847b61d3c9d2b2df7722c77c861a9a13043ac5c948492b0edbecfe1c6ca1e2600ae3390295d80038a72ae75b656d5d1b2b6a0c1fc9700302269690f5faec2dd3ecc83fc8ae4b9bd8672c1ff1811c699418fddad5f986942ecf8c0e6726f1ffa5330d35804a7c8e3871bdd2f5a9cb1f24705f2ec8b4a0edf95d7f450afca55066866083ac8d41f46cb6b8d70c8c1b0fbc00e1286023462a50b878e495026d5a45e5c8768b9235703fe723b80ea8d5b6802b2b02db3612e7f5d649f10fc834e0d2cdad24273cf2b03a51249383404b7529eb406ddc77fc98485444d3550e72947667e49ec18fef8f30c27f7c1bfe09364f47f626e30092968dbd4c9b187f7b8d447595dcea6815e06c672ea2bf217d000a4c7c25d13a7b78f9827e054840dc94923762757443f062d7849c15e34af07742644eee517c8d46ed6a9884b9f66a4282ffb64c31a4f8bb4307284fe6402ba0429023658de32f88bbd558075154a20b2fac1fc179d91188b6c25d10adb851adbd3e89a471c901e1395ff46d27a0925068354c3418e7a3ae4644574f75c74ace7444fb1b502cc1fd8f47de5f1c3c4f6064294410036765cc2915432ed7d78310bc6ed5de219a683e910c667b51903b7cc911605d6e9d2f680c860e02b64b0a2fc1ca6090ca3b27e48ffb0ce5f50ff3cc066789bb9965b821179725fd5938166fdd67a57383012016357af2a8791d22cd059c3ff4ece29ac4d3872e1fee9e4b06b3790fb405f083a2b7a9d5f906db75c61bf30a4c94fc8cd23427217982abe6b643973e585570e00db1f8cbc4f10bcf54fb27428dff40abc4dad72b4427e30ac1d777d5e2b7af6638ecf9bae64a15addfa162d725e075656c51342219cf08ac576c747cb3bd158b84e1769eccd729c77fa052b028d29fa279b7e7264e4ddc82b3f19c25ead76480d1cc838eaaccdc5f449a1d84a4a24c4e27305611b7ba49367f88efbc0726e0c3e4bf67af7720f16a64aef7f63cffbee962741099081f3d0ecf5694d09d7f3cd459752753eed10b9b77c3bbdf22cc1b1375d4a49acd752a634c0580ccff937528c642fb4f8345212c892928e65c2d12fc3347b20be8baf7c8dab7a86e4dad11383514302089d3895b50c58bd6d7d4f498c43fb3c046722056f56fbe26a20b6996ce82199795c17c34c72c7edf4734dff2aade4505557d374b1442666e1b36024b59a29c4cd427313dfe525b63b8f12f4bf37c31445a984453ce79dd5e27ad6798bbc60a73d66ef7e726396f18d87a19887444972fdb58388d94ac6ff861ba4b1ff08c1a8442bfbedf76122932602a7e8deea4d21854e5525a212ae11eef8fe5204e60afd66e558e4a01e58c3fb6201bb37ecda724eda348add55f841f87ba4dd85399d9ef675681586e55fa64b155c5ab4fb0d7225b9fe4dc80418618ee9def94e077ba5835b78b3106302838a6289c27617dc72bef9487525205d54ee181981059f2c6a3934cc15dd377b671897de8d0196364887341bf3401f0dec1b134038ca30a460e884d5ecc42eb3e3de7a3b022fd9012e6f531bf588fdf8f2f6ace2c711b7a3c93ca40aa4a2e52e1ceced57dad592d8565617ed0dd488594c828d12da570cd32389070518f73318c43b66ecfded46bf3d503586636186e009a85405685bcc65e642ddd03b985f37d6f8c12cb921f296728d8fb73a03eeb84c8d81623043ef15025346a7a1e0b3bf66f86a70f6ce3c674f87b48afadda43fcd96fd3672efa7f3ab1ba1ca5b02884ce12c7bc9bf4f0e9a7233d4b75ec2b39e382305898a2ad9e4129cd93d14ad6a9a8bd15712d195d4b172ef8ce2e77713fe424a948b7c98e01cd900ccb3c9de21abb252813d521738d87203f5391e07076d71aca5cc795a5c2cf2fb10fbd01cf565c3be02c12e73c63167645ea85edb225d6f2412d649ff4e31cc589d107c212f53b873190a8cc05a6b720c042d696a508905ce94bc29f3632c716535f851590e17ac7c8a2ae42778bf72645207e5987096f5966ddaa65993518e79d968641e61c10a8ce7ceb6d9c3b5642a5876ad9e79d98fd896bb2efd479f3eebdb6b0982c54d5427a6bf4162227e72d8f4f5b56fce4309354029dfbff1bc1747c680030e4ca60bef5710ed485f7534dcd6f023db5e37a83954051bd5d862465236f710a9b99e26427f26c7d85541726c990db2fdc98b465a96c65b59ff18a7bfd1407af8810413d10ea36a95bdab1d338359779c7d2b986705e16740f417bf60b68a9ed5789968fc50a0aa9e3a0548cc2c4e7867f63d0df5265255cc8be63a2af5d1f1a1a9dc6f35f6a5bd68214b72ef9ad2a07f286c8c77917f3c6347014e518831cc8351d486149fa96ad8863d5fc559793409bb0ee00962514842d8e7012e93ec0ca53ac013d15e07a8012a387274e3d89f4f2584dd4f9b25df5aaa145c203e0b5158e825cd24b44804ccc19e5729356025eb02a474b7c146a26285fb1828d7b4493fd32ccff6862f05955c927213c816998e9a999d6cd66d98eb7464c9f47e012ad0fb378ef6ade46d678b2472a5407d365cac0da6a0a361469decbf1689f3c67485543bbb26f94016a920ab203a9f51a981d7e5be2ebd051e2744b261aaa7dc28808e4606d38046b1085da172791f05ca34056139946411012e4cef94f8292b5581f5ead6710105ca031d0e1041b516da849d192f3cd6e6df3503b264e8a3ff153eaf6837b573d89a44fde472003647405719b2a1f797a649be58a31d868d5d121bb790b058c14aa337e07a39bd9f65dc6b2d92e47c5433e214b9315441c80907114f9e7b52ad37d52ac11a1580199c70586191981a70c0796a5f25f943b15a4dfdf337dfcdb1b45975ea58729cfe327bf92a2e41ada5676c225595161f6887eb2103d6f59af8fb5f3d5eaf72197d17f934f813f8d02133262d6d4dcd4c5bee101d6c0675914c53fae911580390edd0fb14032e1f8dcbf7e0b95c900553790a48956caf5714709eceaf7d0472dbd6a234ffb2d690f24bab395a40d4a76da67ccee4d78c1f8f79b21e43814e34659bcfe1362cfc83798c2212dd134074f234963da9d24cdccd22fe141cbe291b2ced7ebd122c1e7eae3bb7d48682120c852248260c9ee08df889ce417f79fe72cbde762c6a4013eb4fdb11d2fa819262febead08e38986bc193b455b364a04721edb58ccfd2df6b6ddb8606336f67c64f8f79e6f69b03792e9392ad3389ba308bb89803e5ee34d1c18c42c7e20aa299ebd42195d3a26c144998f4d3835d0d76dfb6aab49af1fa23de0fe95f3d1fd455174ed4cd8770525f858cd57f73f728f72d6f29f683bf0d1df16793390de6ca134f8cdb6d2a6baf08d24705aeb223e917228b8b669d6d460cf430433e23617e75df8f0fea0314ec02bee6b8de205a9d472f96faea28567ab0b901597fbe1dd51090effb9ad64bdb3f6d9949a8b824e03587f4f732c75391ead552741bbc416840d1bd118e3e85fc5805f571a8b8e26c144f27ba116660ec5dc5e68d67c485bc20e7b5e48babfe5c3636ab5b898c9abc3722e37e5e066d8a5cd7a9d5622fe8833dfe2947aa950d4579878a466782ba9fc72a25d85cd58ec1a9b35d87a7968c8ef97e89538f0aca90b8cde680801f93a733ffb71f9420b2c6cdf2507514728fd1d62451b1a5ab50da2e96d87c1f8d38dd045856dfce598a66bf64907af24e1c5388f0c435a0396e6d331d969fc00a351d42d668d700e53510496ce5167553ce6e3e4e77c56e9ce938f900aed3db190008f6fa5637535c34818fb0f7530ca06a995b04dfc235294544c8c010274dea4c9970a98a2cbb5cd9e5bb5aa6196ac5b63d059bd95e4103a2d42fa94c6a2d647dbc87207cb7c669e07cdaa56c5594e02ef132c05780972169c5d51c791dd3208b544637cb6e50414af82cc1e1ec9b9a143ba17d57a965a606ed729c86210c3135a223d90d93aaf1c30818611d7d58ef678eb4379a3e1d1637cb01bc22f55198d73ac723a3128fec005bd06e84666d5b9b61b62d1cc9422fc1d16e1b71c386aaa70fe5bbe3730e181debb5fd2af6862cc19d761bad93767b4b359ccfeeda443cd034672638710b9ab2c2c596fd1e264606fd783720e1bac3f231b8aa4a38b5cfabb1f72a9fad1b199e9c4541f45f6c3bc7858a936dba8818a7547b2fe0845b252fa6572deff7c576e4258bbf327bc334a2eed29bee5abbb91625602f81c11b5fce079723b3a1f9c5baf0fde6302adc8cdb48f299e2e5e64167c1ef8e586d6023c7c8d6ca53eeaa8aeaaf8918a90ea31c11c468c22e1698df37e83f91f20c2327e45f0720dc68b8d9f75502291f90d4b32ae85f3f2c14544d8e1fca24e7f045b5c0d7800e76f1a93340ba54565144f161239b54a08735587ad3585b9fd61d15706c68e72065785ebc25b70135509fd07fb39e6e7ce66da6c3de3487167f0a26aa16a8072310d1f1a18dbaec007ce8e7e024e633d32310b6d3e11d4be23dbd84618bb6b43cdb2dc71033130f26b9bd863b933fab502d2c24b217fb5e0b5f9b4c7b932c872ab49b6f50db4550a93dd8878a7d3dbc0a08353bda8fc652acfe19f443ca01e72b7b74eb4ff3b31811514efdad1d3624b5021bd2ebc9e96a492096200c54cdd7212b20103a669f065758e6426253871f136c1c768b2699334300e5315db11a6724004bae92bceed43569df9fdac8ec8e25ceef592cdd8a474662bbfd58f95750d73e603b6525b8544fac55f1745ebb94c2d3440fe3fc8d68845b49fc31a91ea72b8bd48a4a9161f40b9151bbab1461c1354abd56dbe28206ff340e587e392bc723ed817db680cc91fb1d3d9e702e8acb92be3f03e388065383ea4025647d71372d0e74c8363b4fbdc3a8724cf722e008a46c05c1d342aeb4e5d66d9ceea75ed4eae1f7223264e637e571c8d99cbfdcb368ec3a359307e4bd837ec85653f262572dbe30f68be9de859ed5e0f1fd22060b4a1fe9300f00bbbdba9435c37b1ba3d5e355bbc41311ade2d36979266ca87bb606a2705dae1b1283e547ba66a8592303048abd57981f8ff066304c381c5c93fad9181535f27787f62fd30242e4263b44ebcd690e44b052768496a86db09c919a4c6b4ff30de4d8801276d65c0acaa5b5de532a30158cb830f6bcfb33f40c3d400c8671eb28d907ef15bea1ea8a6339b3fb8bc140f1fbd6d9ad338aeb6728f9531576451bf057539247951817449203d72810c3568245d0d01565b37760efcae5c546dc6ccb21227cae19efe7711f02972ffd4a151971f84cadb0904cd2b4015fbea82db3c4f81d5e9faf4ec86f3065404ea3619e5433e40a44679263800ed8c930ee69bbb58e1c777cbf6c9f9215b8072818d7edd8df8567cd26a1a42e474cef6af72de029f756e1a0332fc89255fe9727424c9348151aa3537f87a74aa51546d3da033184c2dc92a91c7e7b3065b4172ad7a3dbb79d92260721d3fcc2e5ffd8c7af2e0905756f9aa0a78ab01c0dbd972845ed725942b042fa37c5fb1b83dad1af6f2e4d48b88904cc6f60c1f48a3490c3e0c2a27dc97500cf85117cee17092e2c44af50f59815925395859c46b883b72da3249c42329006cf00248a6e74a31ba00e98e143ea9a0a6139870fd308c5a7233afd5ca3d0c851b7cb3559387c9b96b60dde1e56b09728a65f1822e65e31038fb7fdac7b69efdb3a2633c9ce7f78b6b043bd6cff5c42843a69dd7fe9e718472fbfb6f04fd1cc6f6d35aa0d336ddbbbd9dbd83f6c57fef558060c30c606ba07260ebc878aa5a41aac81d291eb2a3cef17e4c70a0ff0f04f946d41bc52ebee566ac5fc41b23caded5befd88b88d6b8d33d08f698c15e1839cffa56be88429367296b0e90426075b9b829ca3abe29533cb40239559af88a1aa8422d4c9c67a7472e1442ba50380101cc800a8a91b8366ffea54d8bbd458b7f137fc712787d20f720cfb5966b0b433168d6550b2a302041e577f532b6cb5fb8fdae18d3a6c2372436b6eaebb35a3d9300db0874cf3a1ee0b5020c3627d14ea5ec68603e95743e472f7ae5476cac8d1ada5d2fa6c4b1f87926eb754863f7eeb56562d3d20290ae84b28292388cf769b24d75ce1cb17d59fc21ef9b05dac95012e5093c7b3ae6173720eb3016cf6e182e780546566eb29a68eb9a9143dfdf6d701a73711eaba3a497262e5b16efe8b5e2bd77113ab2de6da7ca265367a683d4943039aa765041de872d48a775d29889bab32ade565b7b111082ada7e94947a348c883b726cd6a9a272db161e10a17e306bfc4c4b98b9e26c71c55050c83f79c1f29879d7d683fd4d3230277b5f1596434ccb4e7cda4e8d040665f16195f1c6612f9c4e6115721b1f725869074acd99aca8b9687694465c3fe54b180cc5cee9c9b7278c081be0ee7c0238482f644c5c38ee25f0122a2dd4bb49987748326d55184cdaec59ce371cd072702a86b2a5ebd51b728742ee6123111e5f68a74922d2753e209da3027be1dd017321a05d42934e782c3bcde25447ee8bad1322ac8d89453964ed5eaf559b8b089143199f8d1a5f362ab1638fba385ca4cef41f7fac7595e0a85f2af74524b472930d1f095f0dccdb231d1031893069a00cffb669ea114b9d01890fb92bc40472d8e65e652b1fca663696932a1a91626a7cf27428b9cb2b74f17524e27bb2f512df60992d680387e1d0d9a5abf83a22a331089a7ccb15ac32a82c8dd32ecb547201d9b92c236d811901c63a1cd4bb8a7caa4a76a43951e9adc2cd39d305cd2948b2c39e63849705d16d6978f48b1132f65876663800c4735021f3077ce51d9f72fff217218cc467906a27b8cf1e8b9e7afa01157d641e3ff12774c060a024a52be72f5f8daf5990f5f451aee7add019c5375f7e2c83d6630751cabdcaa084657264589bee89517a871ac1e7ddb5cc1660b2fe872044dac61ed98a361d7ca8d8721c84b7e63021cb8f36a602c3639465f2ac9367d89e170d4729d62fc96f3daa728c6a662a22ca6d0afbdd062f7dfc53305718a20791c5a04f4c1aee5203b45c72003ab7082822430caef7c427d2f2c01e0dba2261b5c5869f7ae88e53a97c980ffb00e5b361950587ae5c5c7fbd85fb55f55c0900b3da59c3a1f2032d14cf08727b539fb812620668b49db58528647b61150c1586acf2e8e07c32e90b97bc9956c92f2783c84625622f751af2756520165c806e12b320873ea37b98a347171472f5d4d26caa8f1640485f70058ba46a170b606683bc17152b167a09656754f572c276a775ffcd70560787e6d93ddfe1d5e0d37764b0c5173aa61a118bdbb20a724dc69651288099b534afa09ab7092766b52b6efe534e4f4d57b697d751388e4f8d716459fa235f16f6cf4ea897da227ae8305dc5f45bd2fec921031b09d4d5726acec5bb5c498aedd56f6e371ce5581375ba2d95febbac04c14ee4364611de2aa34de8b540dea0126dc3fc0e86575da259c0ca1445104178944045bd264bc259aa4173c29b07c0b15609a547aa192511e0a240f1c04fa990dc3190eb7b172d6075477bf51aa1b0c3d09d8c3fc96afa2a0569d59865dc816d01a9bd409d9d7c6a122e8f11db1725b05b8880f15cc8ed156aad41e98e2f467901b027140ec768722f51a71c9852a1a33a667f350bd5016eeb4280cb16981fea400b1d7da78c4b727963d5b2583a3318bf3223cc88397fca56067274e04fe120647d7789bec4d956dec39d0c466c62405ec88a57e3ebd8d8e9c1dc6587218847e9e71d8848a8351af6313d2b7ce8c13e9785a962d2eb290f46e9f8615db8d6e6ab9c7e0dc6c39b72bb4eacbac9d0420e9e6a7962801a02d4ce761085c54a6dc6111eeecd58cfde263ec208138b436811213d5128089b8bdeba94ab21b1b761c6b0c410c1a087fa72f8f96af19a88aceffb2bcb7a24d5fc79c8e9918d95fc1d71cae699980be21a48dee325570dbcc1b0ff08f9157b542a96acae67c4838024e58bdc48f37b6829728ac941b94c13376e14bae30e5f9fd3707817c6e049e8aabbddd6f9cba8045b720002ef9b19d92d712f44e781e064796bb9597a69ee80afb78a2f85d569402e720eaef48ab0ab26d5428048e2989c9a487db8b0fd86a3763bc112d7b231be2a723b2a44cebca88833c637a8c5206cb2b97a5d049e40d3c30a00d96fa791e7a9722e30f89954ce1920d7cf6132af283e5b4925c3d518fa60e12a5896d12e2243726d14379e40381d51668e0be6fbf4c91acf3284df767bd3b3d05e4e38428c9472297cca6eede7f15221ddff00f0d699f29b8910e4dc6ed5caee2ed54b653f6472e615a8a1573538b42488a02708420f0799d219aaf733f4090f95def133ae8a7283ad4c4b1cbcbdadefe8e84c932eaac4ac20e3cb4ea004ba9ee5f0a1bcf5c46085c218d966094ae63352e6b1ba0f8bc5432a35960244b348b3f1ffc3fc1f55722764443f270ae7ee64c939ef184c3da784ae37aa70ae15dcbf82a92cd94b264aac9763a4883f195e8d0f83bb05e3dc0f000dad14dbabe80faeece1cdecb31d5c1c790e5c35169d9f32ef2900757f2f489a4da5fa1ba269f83c89b7d77fba263bb1d203dc6dc1f4bd7a60d2e49d6a1900b4e98d3aeb9f2ea9de53136d20f06e7297731eade37d091126307af37aa68574bde609032528bf051bfaa03bdc5f9a41bc8c6a0fc9231b18d2c2bcea7144a265df957470d4b12c11d30b6017f9a9f5721300334757a204cd3820978bd173f53f73ec07276fbdcfc01f7d8c3a60b4906a6332fe404b2d321607650e8700dc95e211f288fd4fe46fc95d17b846ed38e3723e2df9609f9eb7575e85fcdee4ce0c8d60213a997bf5b6be34a4c3e5d57e695992542e954422bed7c7f3afb4d025c73fa8890536fb33c162d01e5083eeaef3723c388cb0b72785786bfbca843431561e196591b53d31d36b69219501354fe87253e42f00c6d260ebc44f03744109bc57eded4598603a26bb9fb05aa797c0ae1b1802ca6a54d3389cfe50f4a49c9aa0bc578caebce58e797ba6a2ad89a19f2c72d8d0c411a0549886ae091f30e94ac1fae83a44378f61f8f673ed6dc618c45472f41620a6fb81345b516bf8c9b95a5f92178649a967f4fbf2e1a02ef22b7a9f72c66d04d3903b02297b0fd09489c8928abd90953292626369551d895d0ae2ec631efb946786f56e3d6bef94d5e564ea5c943c7d69d7419c8bdd6f8f2d1d0614344dbdd5c9cb8b15ef70b7922fad38c2b6ab73fd38a97d868affcd4996f9f81d7265ce60099920dcb4280ed59eb0b1eb7bd43edefe3f7d60000f91f365d9bbbb72e74f5114f9e71bbec3a1dd96d3e53f1bfb06273c811af7aab68f7907eb1b287229acae64c27afa74ed2d8c54446584822a78a62c6fefb05fce9f1ca77f6352589d3435654d17caea8094d0da47d4defce9a9da12d241162ec223ee8a7d19fe7292421a07d9975bf8605eb1bdd5f52fd70b74296ed867e7a0b1fc27a1f5dc8672598cfe4dd3bf50f7cd0f2e8fbcf1cbf63ac74ae19baa56ae28f55f6cca3ae636954e20e385fb4e38404a14e08c9950cab687f89108b71e95fe83113df47a9a722c5d7d3c24a83974d03f05ba0f096a5bf074c100a6485df5b91f7ef0d0187f72d3cf14660e8c9cfe4f63b850c3dab74e656ecb5a7e0408e5f36d7d44f6eef7367571212e92efd0191f839d9e075901cf47fb81bb89bc7609d30c900b2b22ac72d182089e13b167b06026a90ddd184be8d1b0360e0520f1f1d7df2680f4d0b87201e4599aac21b801271ee68b1e49a9f6d7a34e5af18c9b0a4b500651bcaddb724e6cc3713d3dc16171d88be2cee8939f9daed3fd6fa33a2372a61845077ba6728495d1616d4551143ce10c65eaa173725730c6de92a366450c0e7ca393cb61724d962bc0564c58b05d563ec4615434ab2622f813729a7bd4f7ed0c4e1c489c2661d5de905588a3c48f019ecc3984f4277acdafc93576b4f355ff1b23f80ab151fa6744e93928fce2a88cf011167e4e69719a5a731c85a10dfb17c7b16784d7728255e29af18e7b22101a0fedba95151ea211f7727824e14d31d2b915c0778f72b5da98aeb89230296591cde866000a04b93584ee560d60c324747a300cf15a669cf5191d18e88cb72c0fc7289771eea9b269e8f79056e66420fda2f6605326133595fbd9db87655b60b31a1e59cdb38699ce8f872fb15f2933b968eb2c2af2720f3ef5ff0f42977a6b94c4f3aa664d2e516750383056cc1924e4657b7b7bae72cd6f9aad8b27122cd90ac4b33f17a2e161dfa2f9f6611d8ba520dc84c5f62d2e9b9f8723280b65dea84efbb02727caf04d0caa1d9b1bf563b270099e0c455a0575aa8efa025d9e61522e178f64d099b1a53729fb6060f78108d222d68d61c1721d7722088c33f35948552cf705c2be85817672bcae4b52597b4c9fd074a34472b9ea69e2edb110bdab7f0b4b7f6a2933fa6e44f5474d9d5cb8b019938c2f17729f39cdd4ce76ebe8ba4a3e183340097fac941f7cdeb34769811a0114133754729a254503181e390c6b936df180c98de28b3c3e58b0fd657e44129384a89bf20fb33c4445c7a69cf30c1c7ba28923bc027e28a167c6ff85c1b1107720945ca872d6fb365400b034ae4928b6d23e25a5e7333fbf18ba735e8b6412e1696003e272f9b4447c8342a9d033ff1d9b7c0f15f52a281336ced93ba050553794f34f1b728c8051da2ff26fa901ab5c86de1c0bd5d4b58074d3aca7173022aeef0de55b4aa81ca109e58f4f4a1caa9f534c96fd89a3f58227301b3603f649463362f22372460a31c495738a8630e1d713b324d8e98707a7a78548bafd1cf4108b452abc7250dd666f1ed789ce19e7a424defe069ef110b1e3973fdec2ebbdf2f59b7fd01a262698fcdefae837c345d557fd5be3f1dae72c9d5809323a6931606ad02f58026da0a3abc4779c7740bfeb06df67245072db5d9ffb7df49aa78c55b7b5745a028eb29a465a984c3003a7a74cdf786377e125f543a401e3898fb722b3d56c89726ef4e3f96cfcdcb51cdfeb46aa4ab8ab8fea46e36b3fefde60a67c3f09cc2060fdc74779f0e61eb6f0c40c8569bf421062f9c97fd1e8df2c2d4f9940880a777229e1f9d409921c3cc5e25de3d206f8d5041c947d8e2e17be1c4839af5934ff72dedad37135c7eeabc43e700956152b74cc978af0693d076a65c9a0f7e0dc8e72aae99be8184db4c655e1ba12edf14c412f3b16502c5950eadb7c7735270e7b72e5f4a6ca96f37152df91fcdc5e9dd6d51f68347f14d7798d677c790b40945c6ea3bab78faf4dcccdd50c914acd09c98fe06e59598e5a58438814539da4d1023a9c3f8b64fc16b02200e3e22dc6661e9c4f05c2b1111d04af3ccb03ff15a2cf5318ad0e8bcb2776610f7d212c3f48527e841d78854efcd4d0840e53a2c59430727111f4c29e44fb69dcedc7cc1f6531dcdf0ba6ca53678f66fd81380acdc8e072fd3b44bb5a539eae7d59ca21739fa7d5d30bfed435a54497ab60f3ae80be4372d10bc740cb489c0d97a566c50c11c2a769645f0430b14c122ea0ebaae8fa0172753c634db1c8bf5efb6b01d130594c35c278ef1890dafdf8708f8fbb0588a8669bb2982d628b1008fc6db6772829126ad6948b89c33a627cf360f3402b464a72deb64a2b5439184cc26e3443110dae6a7a376c2f02e2f00118ccd6428ca43472e1b5e891f5cadb0afc505651f5f7ffed54a538e64f3abac7ed290c852e31f953d139efc2dfae71c1908e5683bad8a1c894476d00c361576c1c630da1e781eb3a4d08e9f9fb9a81effa23b6c44185bab45342ac3dc548f4e312a6fc336151ce46302edfb50f816a44ed42de32d609a43ad0bd40e6f2b3fbb5da49278865fd7e30e1b893fda1c3b36f859171d320feec197641732f864bac1cf3b67a4ee654bd7298c5d55de8820fbe9e42c36f1d82b01b0f2ed926df708a3d695b27e8672c4a313880eab1a895322938eeda022d7b366666cd4f73dd195073666925a7fc157c7217edf421421dfef90b01c5ab571c8bd28f4712930604169e305957135ca3f972327d743b9dd9df66504b8fb931907425335204f6e0ea1efa9b97c112c8b05872869f79621375e0cbe0184b42cea8b37d5c5a1848eec3f217757ce51fd7feb37270231b0584458ac3a6af5b768750a86968c3372bbde0bc94101cdac89100b0139f84951626a3da42e4c14e4aed4e3cc112d647f1aba8ac09c040d6cd118dbd729999e657744847fc8ee942a4f9012dc216f6a50453785adcda406d0d4af0e24a516fc2087cecab49fbe8fae5329d08b63d69e88993a37e76380b75ff0ceb31726db6456225bcf652fc10633bb4dd727d811fd7f1c59f5732a7deca08216feb46747c1d2b16a962ff8fa6e2c9d77f9e7e8fb95ff6143838a80a9973c27dddb472a257ba1af9e7765c1a67878aece7309af839b653bcf0f7a3490fbb34516b4372110706423d72b6e5b341b027b29a51cb1c0b615027a1e4d4f65aec10386431501bfb9d00add06d9a0e69f2336d363dc9587085d8513356bddf25f879de54a67282454b7ba81c68f91a8453c73d09bf6818d6c08f1a9d348283dfbd9e692961720ba38dc1eb5be1903c59a7a0980634023ab027f4cca4e3acb6e02a93b999241b02c7d8ee2f6753e6afd8bfaed035ad45081a01ecf2ac131705d3f28bb900df1f4b02e4a4fd70158fd4e96d820e6d4e84d06fb58fdca29b5187494defcb1e0272ff9d4e8f6e627892431490d50cf2512e3b47a1f18bf46813cc0e22b505b25f726bd50eee3a1b7768957b6ca488616eb517a069efbdebff07fafa08d2eb4e3b69ff87c28f73df775ff34a050c3d692e16beca77b59bd314872a23c50ba3f952722f0dee79139cc1d25f41d7d5c099264af6b4c0d0c45973a4901567a1db4aea4ca81e3550b0150c9b608cc9e4ec760196e25ab375307e6bf5bddc881dd26a7870e2b9d31b894c9e28238e8db703e1e7413ae2310d94193b722881f7ed83c74001c0847ef7fdc17ae746b6c38b34f4e859414a9bc35d4b0f207f96174799cc2313bd498d24da4efc5931a1810dc2131cb7dc27dd29912e31255888f771b381c0726a1cf315e88b69020762d7d28e0ab87d7e6959f9aedbd9d046adc472cfff527286a336ef2aad62719b19a992232793fd970f2d41d1a83718fbd0b25cabb1c27289444755046f320eebf8d33a9b231eebbf11ae6cf48a8c39b989cce25d8646550a122e119ed23c21f4cf372ba083f88a17ee781fcd98f3b972bd4b86f7678746cb94be335d33c1317ae150f8628584dc5802d96779cdb46ba0fa819002ab5458fe76b3f3b11e2fceabcd25574b66b22844889c2cc19de620b2f76524ad72c672a67dca4d1fb274b29d72c8bcb4e0531226b5218fbf160890d78befe8db2e29726e4211641b20d9a0b8f6fd7f8e8defd303af3b183cbdfc2bebbc4dd8a228a87213127133699af424e131e5303d37112667f48e3da630c99e4c30cacbed5b5872614a92ecc4d316594729982a89b093c827cd7d26b042fe70cdf809cb5b5eff1fb507e1e7c8ae47ef1dcca60d1a45895b8f54c50e1f593e315142ee61ced2fe72bd27fc9e89d24b96b8ef6ebd865ce6109a9e295a82faacb0c8d41823bbfb663a0c6d102e52123abd7033455f6b54f5730802f4b1880f754a9f83464f9dcc077228c4d31025510d28d574d8f1f24dcc71f1eaf4260b8113a9d4379149b6c0201ca325a43ce48db2862ceb7efecbad1ba40daab1b5f948b516f277fb4d8f259c505cce8c9fd9a7c36bb54240b355362f2db22f850847eeee255b57dbaaa9ec9d7272ac98b2704d9c4ab5ad7ddb1582c70c1cb5e84da66ec933d93a6dd4efe6225b60f46aa2e6b9202e7410d6194465e9a105f8ce28e403f0519629a1d61a59896c1d3530caf5e93215ebc8194a4575d68eddbf1ddb030c29e06ed42a1dd3ff1f720c735bcbfaf8e5e5fec052fe6f41f8b8a98b0d5ec817a2673a6e71dba9902a72efe118b99f67592c03d38997a24a9feb46a7f298038b95ccbb97492a49f520729fb0e539bd17e3cd2684aaa81a3798f75d7acdbf257142d574144e2870e44a729869121619a1d46b4541c9a5d59d625979c3a77e62f8e3eb1bc8ce59f679be4e8b3324d55f52656e35f3fa21082cdee8698034d2bfc472bf0d964ce157ead84b3596cf5daa625ae59d05816f08f6c7d62f668eddbc4c2b2bd06e4a00ae02497259c96e870fcda7b8abf354778082f3b183bde2654fff28ff29e35c65ad9106721b02e15b28ac1560b1ce13dcb5bea852b9464f17ee1fca5a6ca868aeb7c8854a5ae8a5746cd113b8344cc03a2a0dc14b02e82b16b581565432dc24bbe070a81a80bd2dddeb157ce26c4830fc5ec35139843f28a29d66ee0f15fd9b9526f8b1726e7d17d60a5b2d3f42ec7207acc17bcd292fb1d1ac063045a29eefbe6fc2b4720fc5afbd662ff8da928fb2cee3aacf4dcc98662414009dee2eaf6740d837f8726c42b0bd552645dfaea055ca098729cbf83956acbbd7b5a35a288b665430c029e7286686e17a0526f3357247c63d8fd6fae794074fa5959045994640c854143653caf78c2bdde04ef8d531769ba23f0db55daaa7512529ed69f91c449aca9905c9b6b0b8fa02f3a35b17f13c980fd6303c30eeaf94471aca0db5768037b5e455b13a2578eefc75d6376355b4518fbb7795f90adfb57033f91493f7d36a5c06727f10ad9747350ff1349e5c14847e80b24ae09c73b117d1b7451f8a7150c0c4311d6ef88e0c1f25a508e78acf3a380651c20cf40457e1f1f2c95f6428c2e7bd72ba21fb1cd26daed40526cf9e491938619166b4ab7ebcda4660efedc6ba7b2272385668a7b9971b299dc17a5ea710ce91ec7c378e50b088c1c4db880d46e00b72b275e67c73139b830c98f76779af3ba3432190b15169ff9217c62debb43d13727bdb6a74b5331d004fae92e91cfb473faafdaa65a5188cdec67f0e3efc0b7f5c482e5b235d4dc958180afc6e85b95178fd2d2a0104151e599fa1572acea20754694f870ae1c676a19a59392f08f68e75d815d65955e5ea8fcc66b9655ba18655043bffba32eb715d902873f4c2f39feb213d0f4af09779229121198a3425c1440608c586f606e82c164e35f7d40ccc576f5d08f22027b1cdbf9e2a6cc9bd8f728c1b360765e09ace20438f7f0c61447564ee397a65d731d6f2ab7d1257cb4c4da188f182339b1f44f52e23360852787bc63f3ccfe62b331e5236cfd26cc4d07126efe0723f9fafc81fceb0dda54009283649acb4ac59ec8af3c30df3e4820551b1c83a0d54eb3243df3e1f03d470edaa13704e43f4587c513705379b093681724b1457e2b158f894d7e741fc82da4bdfcb6132fee1f2a8cfaf31178ba19a11725aeb49fc91c21f340f445055e97aae01d2e6f5e061ba5bbed0b642ee5d4c4e7249dd25fd1ac8e5b422f85a5f3271196d6a70b1d8b677682b84b54997d0e6304ce86e6df8be2842a4df5ceaab3a3ab75cb0bafc5758ef024d1f4f47821a4b1a721219712ce6d6129c3130cd3e9a4ca70c51ec8cc947dcb5eb22fe52e18abe4072e375f883385418035eb0e7128c69ac3f0c499367650a46eb525bed79c84491556c022316cc3bc4a46200641519437b452e3a35dbe559f1c6f16236d3635cdd724fa4ef71b407dff570b7a52299ffc1ea0b41603ced5bcd78484fd015118f05727abdfee474cccf8ca5f3f9f44e77112007ff2f75e0447f9ec2da1cf0dcc90b14efacd5fbfb4c6ae37ae723d4483f564b2125a455ba1198cc3cc205689663c1728f9246c75ba66c97b806a0212dd5b0e5ab38c71e9e654e50717d506f1b885c2c369c9036fc2d73d52b8e1d986ab192f61b1bb43fbcb2dd7869c3008a44793827dee57196954ceac36868f6a84835330f5439db775128397515da332bee287372a419c9a011ef6cc4059c498ff38cc29fe27e728062b7828b338c85d546328572662be1740d8f189402a34709e7416ec3bba595071a177f08ca6f681e63243c72aedebac65521dc2652ca2f7072d8a3474a1ec9b7387b16591c8696142e28a12eab00b05417e1145e0470bb4dd5eb1820c225b0402eddc76f1ab72d3703f77b0f16c433b8437f3c91c72b6f00c8020fe0528948cb4bcf3ee1f41d92b86a325e727695eddf0f68b018818031adc9649318fa6e8043deb8b9c54af5ad234c33957234cb56c004787af8e58e1d67461360021ec56acbfa959707c53e5e8d7bdb49723cd3f3a24580dacf2afb0cb236343508611f7bdc0e7371828ad1deea1ecf8d27dff8f96d0a08f2853af98f4b0ae233947da8ad16190da6bd4f9c7b5456e4127278ca8046b07fb0dd167f0e0e06bf19ab12b6eee8262d70ce20d8e858501d1e23dce7e0a57fc6297b16e5e3ac975ff5f63d2001483d418fef1f44236dc3565f7274821fb10aa5da4dfdd5efd00e33c5988bcf55640b2587fa2638ee712ed78a7212dfde1c30e9418595391a30423f9cea069d29e466ae9d3727059ef406398e725ede0fd5a36088d18b0de426eea61db28b0cf4a3d148fda2cfbf4dccd0cb637200bf0c4acd6d3ad9942d6a0bf24740fc418b93893860b1ad57ba4e126ce93f06f25c46fe7a3d84c2d6dc377d13771dc9e35e57d091c059df11f575586c1eeb72f89ce30ca450209708ecf2e9ec47fa516df66af69b35635f15da12f40037a872cd0c88db8f5c4919d68fae22fb165354c09a2c0fb05c4361d1770b96844dab725a8af8f2c3e162993d261381be7984d38b8bdf5f7472f12feb3fe3d8d6d9c21b022dcb989e89cd67018407c7e93d02bc7061b546b2414a73b7dfc4075ee6a65339eda13e395c71178e1fd82da4d6eba5ee782d820231cf4c633b0cda6c06923c6f6e86d46d6c419a86219df6be792d20cd88930f1cd68a5490aec324858cd25dde76b00293efb92c81614c4023ab735e57fc9ad9a6884c48a4cc1ea2b3e756244ab09c47b77746cd636dc8a6fb70128177a831a0376110e7c8385c16977f6918a9a48750333aac5d07267ff0f592cd8528dd7283de37506cee029a5d9c84b67211bb3028a92d0d0aa7545f06e5d6c7c3570c45afa3c2cac6d574361e26cdec6c6017b1fffb3b28f64092e9d09269b1dfc104b06ae2e07f0b4b243d187f7c43720396e8d30738061892addb8f0be79f223989549a0363531494b8053a2cab00729ca9aea41f0b6729ea4d2287aafca26ff14ecb1da13427e51c63f2a139929372c1c1f47714440950f88d306dccc7ba20e70366a2c614338eff77979024edf019edb7e40f35a21c82da918be855322d81908d30609cbf34721862b76078b14f72f046f76948d41bd219a91be646bc8f91f5bf87a0dde815f343a2ce78cc46c7728cd5819d563ee1c47db1f0a4913b1fa00d3a319e716c1a529b7f1eebd2f68a7272078cc34edffd2f77228f25e462c02021de60a4f58eade3f8665efbfe6ba5027df7d15fda70fa08a04163ca7c067521261d60d69d92a53f8b06dea5010c6b72c5f9493c302cacaa7bf0ed0d16a196643064fb61857a819ddd78bd89f4db5572b81f70c268de3b7753ceec37af8d1720e4af5830f3d8336e1523f2be60a07772738fa86a0a1bdc9783e2ee7cc24dc4a04af82db9c6422b0314a010dd94354c72d9252167d66143b3b54353e463cac261d93dd33677304c392850a9e98c4e7a725c03ec1c40f7c3703add722297b926cdc5ccd34a0dadcacac5f60e543766e4724b6da12969aca797722263557d64375d0c9d7af1e0351fb8bd0fac27fc03bf72e8543cb48143792bd093dc43da9f70d984d4f4c2177f33213e9ece5d699dd872e368020c9e9d09bcfc6e8b216481855685e8485ac61c3220909175b62a92c8721d907a7c72688ce746b7665d0ef3ce52b82ad53c08b5e04027a1193c64def06f51dd8ac2298989860c6889f2e72a568e239a2f960ce5ec4bbb6e594fab3487720dc67a5120545517b81a178a37ebbaaee7791fa7c4da5bd0b2954ee0249be6017329cae0b651cc56566991964f1b4bef0d2ffe2812d17a23d6a071e1dbb43d72cdd124a642c83a0e3f08d4d8780389a4d88bbb85ee165144d9231a49bb65bc7237e1a29cc2bbb79268df863ccd061ee5e8bf80fe609b392a5078d9379f744472f26446c2358a5610f6952b38be0a46e6e1277ca54153eb4a7701296c46afa96bca8f2c17632b6351a2434cd462338a28f27d05fc7a6dd576f03e5e673eb37e72a850664402e56107e98824e955da8c88bfe4a01dffa2ff8f6f4f33c568f8e172d5e58bcf036a2b562162dbdf381cc942f199345566ad8860a1b13f153b9d737245507ff00f27958537a3166afd7e6a0ab19307e9b1c401cd92baa4b80d7ca7724bbdbbafdb76bbab127d7b89e1f9ef5131a046444283623be1e0e0ddf7afc3530f424b73320d8e23cb6e07d6087749c67b1992a73d40068e30d21bae5426d74dd394d98bd6e2b150c5a7c02c4af64c8dc4fab7e53b58a4c0b86e53ea31037172c68029b05094cc292e8867731494e5603fd1a388afcbe707f24029c306f53f726a055c7b9e7f99f16f580e87be91662ede8ffdd5ae8d3798751082b62456e67229769aa415f90858a065156e295cff42618f6c13ae954a6bb5781c33dc403f727e202a9b41dcd95b75414d80f88f8af42cc4fad611b655a75ab8f749f2776d724ef51ed679dc17d874ce40fdcb91ddccd5b6676ebbaee032cd4bb4280a8b4d20fc85f262a41a85a92f1ba408cad2ee9dc6ee0934e383a27b19c8655898711c598a5d3637b7e48e4eaacc8f6dca1620c1ea81af1236b9828a0aec75ebe37bbf72ea4a062e811df0224bc810dc460e46e67f7ae59b6c3ccc7e1a155b18512a5c50793ff160bae8c76ec830e0a4d02d9e91cc9ab57b6e5eb97a8707af69607bdb63554135f2886e1a0d83ab75f4dfc02bdd205f2ae5c78d26676fe3b270fef15a471bd4756ac2feb1200021e508bb6b8b3dbbc42d568931f6cf531c16f16c8ebc724c758436614ae1ac3c0bbb2ebb4226fb25f672d44fb3184b2e0b4eede5ce5a1d7708e72c204d35f8248cbe7db12002714a9ebe369f34de29148303abc0f1ff722619f38d6c58c49ed4316ac6594efb108350c0ce294d7dbf795fa231e70e7c5e4530e519160a946799a5288589ddeeef171ef474221d98b6841f81b1864ab90c79dbb9bd703bcf171ba579a77b72324b4e48189e7ae8cf6870414da82dce8a036e8b901e934925addebb09a2636727c6207d3ccf5f428e0b68432cca848bd2727d86d64ee0ede60aa1e2bae15cd6c4b30845a794d9b056ab491817857e7fc87291e0e84226b131237474140cd1599e9645fc800b00e5861433727df8df8cf3728f335d2c13ba77fefad292600c0612dce03f1b8e6ebfb4b2ee016b5444e74f32d578870841a44e0db6f6ac1ce5cc86bc19a95ea1e27e38f518e36ad7a1a85d72279c513942b35ada5123ebfc85245138af23fcaa04201696a79f23216303bf72f6641249a6113864e4b6bb1a29447c6c41367b1ecb8a93a7871547d3c4f4510de52c1ce9e93340e1e64056e67a8c9601f8023a8cf9d14d266d88d2072f7ea672e8d3237083bc6c14cb8333c2c6f616bcd439821260f3f2768e365108cf821e42e225a77c6e99c6ff87622b6209d5fe7dad7b63697adfde65ca148606cca8a17218582d2e40f7023694b507bdef13fc74ab25ed4de4042dd21e6b996f13eb45725cff053dcb4b2d629359d1248cc9a8cd06a9d11aa3b6ca2ace2ca293d4af13720cfbe662b0005ec215da9c73cedd182c24a5b3c10bfdb1aa66520bd41cb5fe72ed6518f63d6ea336ca69e7a61a6d537ed978bdb32b929463275daf018836b472db29dcdceb2f4adfcfb935ae17b6c74af5ef89f679d7d538e427d0bb579bc20813e185f69a9c4fe5894eeb3384f31b916e90bd14c78d6fa5de38338e1d1a177205aaffc3ad828f0d81bcecd9de181ecc9ea0c2976de285404f22ec3550ff7972ca9126deb3d770fd309ea9d37ccdf1cc9781350e88053d2b363a81648271237213792f2860be26bfe1de1b0b8e6f53e1cf72b9468d13bf8b9c32b89c0bc66d72ce4d648824341e6a2e94f62859e92e8ac5c2a5a03187406240381477881bc72d014ece5f63c6b7b140da780c052946a84e4a34e8bff21b8c7da0a411b8659140ad506428542e44d231822c9ef27c13cda1a5625c42be6b63ad9ac2ae2cfadb39ad8aa85a83e4e1e1625aac118afb79f69be904cacbd56be09bf9eb10caad63728db2f58dd4387f19d6986e0b307e3a66360c2e0835a54bd188eeb07b0b87ef5b3ce30b0a0de082342a1029982843e32c667d303a553c19dacbc86f8372b6fc7272828fdc8d2b303b956897a9498d37997f644344eb8778dd221a94f171c0407287aa9ba7ef3d7e75a9ccfd168bff268451fc018dff8a3b0ff81b7e99582be3728eb127d31da9a5e11338e3c67915384d92feaff68b6c63118f2032c011691203a1ef8d47c55af16bc69d03d2d760139d96d00a363a3794b5af705396f3a05345bc24ba955eebbd8ff5d43c30f82ce9358c2bebfe43b9a8e72b998c3dae462c174eed63c5d278b1d667bc4330a281ec254118c5e1ffc17db47fa348dc566eda721a765f046ca1630d278b63bcb8875c60d3c6c25daf98f97daf64b4afd3129725eef6d12f224b17ea128c38c2b38da281341e032c8e922c19c6e29a40d31d4158e66a12d03fef24c909093a605dfe7cf2983dd8bb688babc4e84180d9e5ff577293fa0ab6744a55092613d0943b2651032a244db7d967bb8663e7430c711510725659d79215daf745b57c405516403e554ce4910ee33f7dcba35233952fdd17720858712bf8c146c2895ad1fb838acaf18d9c42891781d6620e8a973eb8ba957210cf9c81a6dd2a2da1f0e2d123d027f27af7c872465250a5b82486e7ade98103d2e5e29be017ea4f724fd6154bb08495f1829e8d0da0b73b4aa6417d198bdd72b9b019327ef21dd57a3924db8d51624b97995e7232c20cd83c726ad38b41f80df07f54292d71f9b7d8d4bdfd9fa088931beaccb081b59f00562e5cb49d082272aeaa1f4f2d702ff744a31deb56beab35ad278bf082f12106ef814df2d630d1723633315a9ae37733400bff17655458ebdf5c3cab9b2b8265bd0acd1f4800c203bad0ea55954b3cbf47bc626a6f656c0292fe82adf363f7285e091a978ff1f663f81420a78e6bb7018d5741f19244df0d6ed7f6d80c255a6e479f3bb6b78d2072ccf5ae4406e84e10369561cbd134d578b9fb0e1f5acd24a95ada6ad53ea8876a15f61c451938ee9606721c5748a6967b426c761b652787de9eb90d5a1a3a31725d9a795cf3a56beeb7e56c024894276850957543572352473cbb775d32d14e727bdc0040eaff9942005585f301c2f042c0b7f97aa4fb361d76fc748eefa23420e9e8a2b54c83ed3bc52beb99c59053c34809ff3c4ece1fcb9d7821a5b3694772a83e5453c62a81e9a3ca89e9f007b1f8d3c12669ab5ffd6e2bab14f4d13251123856be6a91cd194161e8c87498856ddf7d8bb2dbcbadc80a6623dfeae771347296fa08d6651363c71688e81bf0ba2494decede9e14bc190df66200ba4fa23c72c50d3d18f84c2b5c1694e55e35b927d65cfb100a09f9dd64605c0f122645c3069d3cd9c2ab6f4c8ed1d0ccc6ac8dd15003bd439475844f43693c2a2232b98e720bf73d8fe6858d1d6164fb9ea3c5507a85c18ae8c6f8d69b5aba8dbf67ac0072341d3149721ac48e1924a26af722b973cc848355d1f698ddd9358db457ac5372dfd8db0e52096d0e58805cbda71cbf53e28181dbf38cad6f7f8f9641a3e7b724cf42eab48d9492d575e437549d03d5e2b2c21635b6b12a768eafb0297b3c857232d6c669e51138d5ef178beb256c91984583d496fbc7a0d4a3c0d462467b58723cbf57116e1c721f4388320ba53ba75f8bbdff7a8c02af75d841d8132a23e172e5a1a1bb09f305f8e02ad35af7884eaf24dda79ef1592cb2fd42713086b4385e9b964762b68d0616787bb53f223296a98a9c32171c0491be9315e591bc74ec72ecd297aca9a80afef7b54c400d769a1c17d53696a285a0f259747e3f105d4872dfd266ecfcc7a95a86ec4017d432bd571c45656a7432deb83a4720f8f70789722d96f9a0234733b29937b744ba5625647ef6aa3239cf668668447e44689a4603e63c85e5401a8f55e93f00f1e7889e0fcd28015f837ea2be1e40a5a57db22c720fdabe7100282c77fa5459670868ebd4f85ce200c9a537b4c8805de4a39712729a5580214f7cf9ef5b75ef8d7eaaa2a1245c4f3164ee40b618c8529108067b72196702dd73f092894ba826ade6342a19f1fa7fd1f6ca18ee954ed9a476744272d0c5b8c7ec1480ec009655146c1f0ef8ffe8dbdadb93a0b9de9c841a6f9c9e1f364255a86d4bf4e45624658e94f6df4f1705cbd6c19290ff6daf7959ae20d83e083b1c07bcf32551c7d7742bdeb40477df4f784ac60423120453c12c6196c5179585fe6490a9e1fb1ec7460fec04d056e6a8b617d5d66d33cba85def9d000170f20b57b413b937e94ceb04f5b8096ad7d685f1e2572c7d4659695d6498a21766580b61ebaca8142532fdb7f30b9aea895e232ad695fef2539ee48f523e24dd72a577dc3acd9e85519581ca353a729c3b53e890a49caa685464ab833e9065d772fa73009e5d3d5309fa3812fd40042a0cb37a57d93ca4ffccae026bb9239d6d721e21b6fdea90f3afafbe17f2713f738a7decc53befc4366b0997a825aac0e50b897c455ee342665244e01567f85e7c292a0529205ee515bde564524809fecb72f2fc4455bbe7f9abf9d194a9a16daa1f5feaecd2fb839b12e8897acfe31b0c729e51d979e5e7c76abcc87312f2bdfaff39b9200e952c74ded3b7fa0a7b79c82cf9f695298fb08df3a06a7f04e76a1e6a83b498c73fdc25ad3c26354aeaf2956f341c2d762a8ecc8ae9d29f9a49153815eef3731336c928fd602ac06b398b02720f84a214ba3400491a37044421983febbf87708ae1cc64c1b81b125f3da3f272d2391c6821c6fe08bd4ba3bc114ec9cfadb8eec25c4048f4056a6eaeb119e625a3d3429eeb18cb99dce9122c46dad418d06b58783f2c01facf2b1c00915ca37261440068737da4fbef9b1dbc2660fe90d22d3770bdcde705de3e15c37ef933723450592e2172d5dafdb3f9eda8ee3c1b5ace1d3817a1527370d262cd9359b52ce30f3680bbdb612d92970e50cacd52daf7d1ff8dcb986a089271a17d375d7f6c03ab7f394dfbcff92e137f5bc893b31cdc52f600347d25ea21744443bc987b72bc378d9ddc2fe7b93b92c809d6278dfb0ad0b0ceca093fee729882b8a25b99724ff1646e5e54b9251b71d8c85de911ed0d85155916ee2bc72802ebb72a1880648aab975aa82e5b0b9fc9b330658f97bc0fe14f6e35bc93cf1647711e15e507291b7ef9a8e9179ef37fc92f4332db80889e30367279c41db944da6c47e14ea77205cd0fd84fe4f2ee6c2ff07a8d8e4eedab8dae3fa902e818340534a64e0e967291a27712aab74f762c10b671ec4190e962920becb8674446802eccddae93be725e51ff3f9442cc63d65ab747a266c5b3cf2f2a760b4719356b09bbc7c9e61372e3298c8143cdc74b1110287da8b87b315ea8a7cacb740d09c9696f1933071b38d4bbd8b3928478da0520d39160e732f33a72ffb8f1f1965aa41b9b1c8e81de6042d33c140e5651bd870fa7ce7b59ef00ae060106ca42b3704971473421cb6472143dcbe34dd49ca2e8b5b0120e395a40742d0725eb38392f71193b130b924f06c48f7569cce8e90a943501253f77eb0f1d5c15d4d9016b6a58f030f34b2c481d7cce95940b62ffe367135c2513211786a58d7247cd722a0f585db70ad1b76f727a02daaf30f273aac6356ed16e5c7e4432d054ee1e5b96fc2a969d2dcbf67851a29715b3a87a55bd6b33626a1918d5cc39782c7b828997203341d15e2ac675427e2f59536da74a5e12f6b366ad1ac4289cfb7a07bcbf0a945afb077a1669a866815e349458f30355c0a527d8b9bdb1f7677510c23351365509834db223b183728a006f62d36fb7a5e646c6dceab3ea10260e770f56094942080d87a36d4da91418cc11eda1daeb54bf4a2f840cf487584371e34f716f40b5da50e6c114401772f5d6098b7d3ad81508c3539764bab24ade53e3ebf247c7902dd0ab36931ad1728a92aa7a0f274b9de8a3f1474a47dac347d9b8f714fce9f9e7eefe3fccbdfb0dd2b00f33c3ee0b8010f9078116139a936ae99d4fc5b75dc58a7d6929e2dba672f203315b6341e44500129d7a10a7403bd841e7526d7bd6826c9ecd6ef443d972222d2184e5d0da9e29d83c5868a46b7e4d1ac56b4d18d3c3c6f702699c204131a08796f25ed54c66922d54b2103f4b23d43d06f8ec2f5a2ff37a6da5d6eb587205ce0c86883136003f6e67657e0297b410181c62f1c5c815e1a7f611cb0dbe13b6e86208dea41a175b38ec10122bc3d8c390ef24fafa47a3d11ef9d26a48da1cae6eb71d63f9844551f74bfd9ca4a09940050c31f17d9e76f825ccda675ab2729bf67cad6ff731422e19248c709de4f354b3f2b2274f40afa2db9601b6fee77256c5d21e5cc9493203da67daf711f64bdbe8072a126b2f44a4361393034f6a72387dc043ab8007b552a83ef56ccf694424f1f7a0865059de99fb3479a095c972d613c33f89a6f3763ef87cc18985a8bec051130096339d7959868474aa3ff472a91c4974896c239df3dad908929fa24823cf8097b8b7b0cd216c074197780c727a287a4a846fcbf18891315fb01c6bede33af49d1e7117b5f22439aef0a4f54a6add24885b1506b9de3418b5a2526b24f3bf0012ae9aa32888817cdb93e91072922c5354005d3dba04e7fec3742191610af48cd82b905f799a5e60e29ab79b7244e80f2013781bf3eac7ec648259e10430b147db22bd69c0e4a0cfcf49111a4e90425206a84bb7cac813338920aeb5bd13222fe97bb409284f7d279e199a30721693327c5bf88b411790f414c82b2891310aa57996a9e7b62938457f55a10c723c458105233e2be4d096f8271933273fdf80aa815e67667101ece243c6442372fc592d4c17ee154e4f5861426141d1d9716695e1a6d5cc753146a8dac3ce9c72ce9031513fe5d2e0865a6b3733f165c8f1b13887f3058e3dd85fc021a91a862bb7d4740b039c9acc30bcb1d5cd99441e2abb7e4217e7be10ff0d8ce022b4a9083ddf4cdcb0f639646a1ead092982d68d343ce4c60db51ba98f9ca631dc83a4724a6b9378a767ae9847ec7e98f3581c33fb836fcc50fea4f125e3ffd519bd4b72b1faec50c88b5a2b78e98d860840b4055a39baf069613785354b83f6deb40472a4a82b0540b7970188fa6598e164fab361abaf39bfa359292a0b9e49d5311272abf1a4a5ae27de3a83d550dfba4bf7f54eb2d51c23073b8041e13f04fd02fc72da0512178c3ccf28f340640cc5a8dd9671549475566132d5c5d4cb48c172237268d6b9dd842530e7ea1234b015405b5125a5f2496bb351dff17657b0a4d03e4c1337ac70090f887ee3f31074a1b7938936d5069559db6709c45d14442182cb728a4140c04c85af9703da27b54d623513e23837bac95865e1a52b09faf298517282bc15b016f8f2d2c636deef505a3bb52af7da4acdad7accc79af257402db4726fc2ca146f4ba65207489f80b9884330b62e7554e2c5c62c883b0c7678c3c472d14c15de55c4067c521286877fdb77b5e8bedbcd6f0c0f1e8e75fc77210b9338add33ec3f2d5f5a024b88aaa482b2f792730828935231be512a7612031b80372cedf2417280f86aca11ce483147c3c4f368857ed74f6b2a5a4ab79f2593f6f218265fc00b6b9344083f010297b507e0c0d3203662ebec7a750866d777c4f0e1687797849ee4bad4f716d7d980dbbbb57ba25a089511f0d0ab216a56dec3e8772ee825e2523761f4849a2b864e24c8137bf8248b8d658195d3120b58de42b64086a1eff0b0914bcc137fd3862e8932a7cbb106d99e1bd639a513227fb5ba672317d4a679af5f5dc731e26b5fba1acb94cd12e1e07eaab916ff1d0cdbdb2bad0075d328eff409258b3ed7a90c6a17b3951118bfe5e9db8d4297b3ff88c38938a42a7f210d5dff0170e723bc4450dbc7bccb7db3d1381f7297f4b81f84bde8352727fd03ded66135960b138e494119f22370b818e4ded1a23de7c518123416fce2a21191a4b9b44f113104bd859faa04d9f43f4efd88111f44a1c07c54c1239354a3a30cb951f1aa3f458f30e44329a8f6d5ae642555976a57a6bc6ebc02e364b72b42c7467eaeb0039d5f94f80af5dbaef57c37ec1151bac400888af51e12731154dead694c1c86980157dbf16635480c5213a2318e631b9cb0faf2c9301870d7296385162e489268a2892cc9941b289a3b8c292233c6d066854b4423a474c04722269b52372458bcb51d0f617011c36696e7e84b64dae22cac69a02e1920af37210defd170ed2859d0bf0631fdf438671c5e6f5385555e20194531b787429cd72aed2835cdb7f06e97020c48f2dfd9798d6f3a07512aeacb69d9f1c7ae373de4aa38f8610db5bca350370122d8efaa1e3ebe4a13499b60a176abaf7f29f604c7203c19a73857299fd7c44077dfe2d250431a622059c1904278b2bcf7d47c6960877327a29a4615af32e1b3b4d855f5c3208bd62ba508a0e178bf76c9e37413224d21cafaabf7c9dc2b294ca8f3418b3f83ce41571bf6b9cb8133e33fd042807727b48cae689a7e74f9f31bf162cc232f255a7e331236c5dbd13660236b360097243dfc9b9715ac93a6deab72aec8991d8c30947e1c63533c8880ad63006e4523503e73044f092d3a9a325908a95dbfdc96dbe421c65b38b1e17338f254cf96b72f595f55e71f2b4d928c30c3ce1c4ef7071d8ac7f5a225e1826c49a317c608f58a9fac31040b305d06212881eb67997aa874548be4b781613b8c7b82057e2e072e208c35fa711be35a52c2eb13b1cf3e47eca75e0e00c1afd9b96e4870f8c177216a4d346bde6994eb5490282d145298852fdb568b757e7d96fcd05a1ec0d9f72781e0bdccd4b739a0b559abf6953b282495be98de8618e8b15c7caa6e635387206a0d463430c2b7ecd66e4bd7b23ff613f3029880b6c35629fc3b34180664e43447b9191cb38fcdc18796965be6d91d313b4577b8293354757ec72bea70ec172b027b93620c25c73b6023ba9c99e617aa8fce58c5bde5f981fb5f816efcb16720d3a04877610b27fe21a2c62792a6ebd36b1c52959ce0692595dfa2f7d9f4d7247bcfe7a3159362750630aa38b64b0f5e3adbf9f7745df48ad8496a2dd20bf72bdb3327c2680962299b734050d2f98f6f1fedbe583e290bff6c75a3ed8dfb821f226ebf9052a0c99f2fcfd392cc92980bddf4ec6632c9d57c3b308ecd18bc972a3576bf8397a6e8fd2e3ba1e9897119d46926726f5d69e6eeab0bd107d5fe03ecd935f984aa0e4b9549ae66cbc2578c85d04dd0be0faa9fa48a66407bd3edf72fdb47dc1650ba8bce9d02d057498bd21fa1f51b61c17e5cd9ec2e1c002937472f56378d88df0c5553f0e7c910d529a84fe25e673c5b2198c34cc905f43c1c372a63163fe2dc641ea83ff3b529c283c64f38702932138f202fee07d13a6f81c70674ae9f758cb85cc5df20096caa29dff3af5609a3cdc75708e0bfedcf6e7cd6f21a3ea2717157f0041b7d94093ad137df230d58eadd7fdc9b785ff7d0bdb4532c4ce625d7c1adf41655ccdfc307cfc1340b14e456458b59c9b7b9aa997ad4c2a8fff84b42890c427d33f26a8596c8b3655dec0e0a8baccf87559096c8cda6e2861dfa69bb690e70d158cea2411a9ad6209c05b7a70b5e662c5767a3003a97c72c1ddf804af09d6563a1c453aece951d64e6e6a88125e0bfe78f638e2d5a44702c9ca227f24ad7e9688be5d7624f8c191b6f9dfeda9cf5a9f79e489fd2329e172951705bd7747d72cb3db4449afc6bc56e1fb28e324a62ad7c31f06dbb0a1a765040cf8cc51be9fca826d94e6e18c5234536876c8691b2d966c6f0c4e3e8d361c99e242b69e806e6cbd9de5cbfccd1c786b7f9dfd01b146fd486dfb18f6c881721f4bad3bd00eaf23f97ad35b5de0177f4cd314b438749aec15690dd25d4889722eded1363611a5ee3d653feba704b8be8b7b536e30df84fcd3ba0a180a4a2b72cc581f1ff81ffde40e1c92ea0584f0b0694925b3a2b5fc7731d8d28507fcf658bf4730657d1c1004baf59907fd4e75c75b29bec39268fb592b3867d93f25dd0cb214a4d5757444b51856b97ced9554eeb4b087bb760b6b465211132cf663ee5468d912eb8de89810a3ee8632b983d64fc9ea0e07ac462618dab1595a3e7b9a72998229e9f63cfa5067a71703673d84cfd3021fb23a8d3d8db1261456cf921372470c7894d63ca9d5d5d202fb6ee51936a95ee744195ba9fae0d7069928126f72fc8e084e935b4e0d4d8451fa8a6e80d0d1bedca03af0401865750bca6dc28b72a0b6dacf9cc47f30c35eeee854fe91a3178fa5999efb467669b1d751eec4f47210d5e42c41f67ca7f0ff5014e7149f928b7639f54c99d922b8a425b93886ab6b5bb6437ebca1529d9c93cf26a9c8e607fe749942029eca495700121d47fccd6679dff18d37b5aaf20872974368d744a57fe4a11571853e560b1707d64beb70721051859483b6682195ffe201e8e69365298bd2c6f9d3e227259c2dcc88ee9072b4c38cd971c29acf53f7682b1880874ddfe0ae08331903cfd3a64feff689c072b2c2fd559177f208effdf78516884eb171605e3a3b8fb8b5c6d920845190ae729740e17c49c1c6a587cd81321028775bd41a853b7864957bab0324a1223e517247b9b889c37dbb8c18423e7771c4b306971ad6a192dbf7120f7c55565253a04c135fd181a148c466d8261a78c3834e34826fba54ca405389f6cdc7e59721a81d72c6e0d6ebfa3a6d5c6df70717a16f55b8b8ecc655c3bbfd411876611e5ee82e9ccc78b2c5e59bab240111f86e6a7745932390cf2df22191a252ef6546132972e18229051572bffed287bde0f5b91c81949670cf68ef222a50016cf5471b58728ca899359285a141bd3cb357f56f4cff0b397c828444a03883de4155fa608072ffd3ad8a955060ce849e024400ab4254edfaf2cfd5cbb4adb42329809bb43d726e9db726d38779edc8e2a56f7b2e0490e6222d5ea35ac110f2baf1d6486a4a7285ca73086aa09167ea0d215e50f523e375274811235ea227ed544a3fee35d703e45ce3ef1804f6e2f643afa2383431ae78a8e63147b9d950094f4636c6daf872c731bdba0025af0095f64e1314772ff69b8ad85a8dd61ba5479fb88edb19fa24d611bff7b696f3d80b3f3f033a940f8af4d2792119cd95c9431c8c9ee999f611ea4d371573322670935b5d5645c7b2c6669547f31e9caed34f04146dfacee82f41dad27abab871262209d714a1d4962706e8f832ea582ee8dc194aa81d1ede7250197ff7673c1adf494b95465da4e19d8e3c0ef1d2dd8a26d5f5a7e18fae0172f023f6da3fc8a45e9b3dea5f2fd95c038696cf3741e8ad0932061917624c09722a3f4ded5255682ae33bc06a61bde7eb0ecec90a3e2946720de3d94e21f3c17219b3c1831cf58148fa459ddb893106d204c03f6ab88df71bb155580572429672264a50976873fe62a6c1451f227b028cd388ac4c4da81373f883310ddda4f572357bc6fddc93708171030070349cea9a82cd7e86eb9619775264b6593d4f1c1b44a5d18d6b8c0d24ce1444dcc4e485b3c3fac002d2886992227250e4f7a787726e5656cafd46d846c85776e13bda07d24197784a19bf2442c19a6d0d887ee97253e7cc357c413dc4be4aa17a5e713b5b52778ec38b14ef64495db9a8c55dc92ced532abb44be4c3a99548415bb2a823981c974e16802e3883120e2e7d0b226723585ee93c5b04207b1cdbb55bd4998ab530b1013459c2c4320e90cbad4bb1d72412b5cbea6088d61113629b1fb2c756a89f597f5b0b2360be55768aff3609d72928d7be6fb52ca414a3ec29ec02e81b48fe392062f16f8e0ea4491a9d67b0372b404194240d64c76905ca48856e486e11daaaa36798f34ab5eb8e40e98e1801f040dc987fcbf83cb0f5c878fe0fdac8a860b6542190a95c289e57670f37aea727c6fbc9829b4d9eef8e622b6d12cf7a067ba12e0bf84c94e85af69b4546246594035176ee21a57a643877b8df78a3bcc39f4ee61f19e5ea0dac7848ded799b72996ce70bba7555f8dc5d47ee78406f3779b9cd395b5d850f1bf84a41cf1872057b8a3e0b2519a60d890ba777e3b3d0e4b65804ea1d69ecbc71f934bfb0030572c30d42646f5ea81d76333cacb9be9b86a538d9ce349e6d876e33f7dcdf88c8724405db415eec80707b5cd1e8869e7795ea71dcdf4b5f85b935091e2aec8c94721e74349b137f3a98b63c0e62ce70a1fed3ed06bb662dbb044f7f1669574e8815581d422899c105b48e93d5fad7677ebef836433985083eae6200a513fc61e237b2c99e9a01a4111a23b855af2eed74f5d17eac840f4e5321d0d2b5b57e6839013ad178638f473bcce29b7e3294087ee61e7dfda0d05900407bcea18821b914724e19d5786c462eb7f84d09477b6aa2dae6b9a105bae78ffead00cc867f68b6729d1e6834588b46cce7f56d01859c738e63db91906df14b36cde5600224fb8c72a6331823c39c62b607c7fca87d0ab5499adad737575cd26942bcfd5cf2bdd76a3c215d1f5ceacf7c7bf73e8c19490a1dc566e1a8ece6cce59c78ff84e41148729142abb34a25223652baa3baed4c25b714bffca384c931deca5fe7c3c3b239728e46defdc6658420fd3277b5641751249a2d521ee89ae9e59d07a3023f2bf1726055741d299a1dc674ffb15653a65649fca6a408e7c2d05d0ace1903f64d3000bfc23af740158741cf8e8f62bdbd215cc38da43c12d6076f2eb446e055e0b25586be1eeafee1705a5a222bc50cada308c2efcac1b159bd7667ceb4d8a301e672a5b062ed46ff53f6b550523a8e6e19105fbb4729b57fce0582923d8a71b71b01a0f2d6cbbb42ed89e39be40057a35ac00458a02db018269d627904172ff417725bbd8818ed8844346ccde2f06eade4623040fbe920e0f207fae99fca0aedfa49f31fefa6fb6c501c3445a4957c245548dbaafa2d8e1dcbc1b95e7876554bb772965760b0dfa9df895a8cdec29dbe67b126c8b027ef7b44b9d36af8f4005f5d7267cd4e953139145147f4a8bc2d2c7003e1ce19db25f17915f31d85d5d12dd97207bcaad9185555a9b617e340e84cd64e32885a2785695f8112b07bb467ae8c72f3abba924323c1d910224923f188bd40a8326d6cc3b4ae68d41f3f6d240bd072cfc4e83c76fe0599ee5b7bba016ebce17e428215dc3fb4ddb62e5a295c0e22232bf54a2da35f551842d46c2905cb42b05f652f42ccea1c21c3a1973ee1c16218cffea76ab00d0ae5b69c118eedea81038e451f4ddc8e17b292f81d638709d17217b415745441d38808b05980195922b598a96341c13023ead38544cdd82aca0a78d96cbed6d199481b7835cc0b5220e2be928d8967fa415d6c699466f61e38726ebf3efbc12b82f0eead12fc654bbbb4b5eeb31f4c5683453d89883b31849672cfb08d258a320b6ffd6798baf59a0060338f4415b9cdcf1f1926bab1dab07e72870bc49cd19e6a365032c458e81b68163a6158e33b5b68144c52213eaf9e1d7282ca81e93a74c3028abf1ab24b4e37bd576876efcb2d081d5731965afcd8567246acb7497ea1f6a6b13f279eafc82ded7c54e80f5c0df5056f46268f34337a72f7a7a324aa2ecee7d47ea93e2478c7a28558381ee69027ec1299efc513dcd36b5b4f39b7448446c570fe009c7063139028a84d7c1b2794733849264e688a9f72aa147d7395cb37d2235cf4e95a6e2a1c629a423fda52e1f3cd8b990bad10e2721d88b332fb5dcba2a48f0a9019aee209810d032bf44ece885aba93e63b3b4772a8e9966a3195672657bc1dfa04f308ed28fccc453b5acc4c72b041f93e92cd72aa35dfaae371cbfe4fdc83614156b5c3dfd1d12d7703d373cfd9ae8230fcf872af5efd2ee98a8339b6ae4f46233c647a8ea9ee3396096ba6447261fececa2972022b3d47bedc60a23257dd1d3218e91189db3946b3841138c908d37eb48f6172dc195a8041f124b4c2549d87fc14c1981d49d45de239de64d191026d49b4206882797b605f489ad38d7fcef743e42085ffc15a951017ce07503c62425d8ed372907d24be1265fe710f7267eecad05ceb755c77d6970eaeb10716f312e17bf67240a7341453145b710c90555f1d9c3f60993153f51b8eecc3bec8497a01fc4672f3516963e68e720d85e1185a46659d02d35633f39f10482179f7061159353f72d599b01f4cd276a180ec3697ccda4c0defad93283e59172f077339bed639e272619c664f545f09e2f60fbffce5745adcab3c229fe922210011b5fae5b0824972af983ff45687aa4228dfc037fedcf84999ddb1b43cf46398f70a5e95fba81272425ecdb6a794497ef09f50c1fd7ddd0cd400d76a6274eea48f5f392f47bc06726ec171b1515d41aa45292b746b3d2eb6ea3844e13fc76385b5c8b9dd8550ee721c9a33e97eb3cf50047b2ffe85f7a5f93ad3c2d3635033fbd748d90ccd6e6e72a97933f4b61eeb5c8c4856dd25a177e90d217170f5e1af6c0fddb4b04ce33372bb714bb70fb722d02f0098676973162f5a1866be8bb85cec9415ee6ef57f4228b0376e65331e48e012e3ba231ff0aeec04fe88bcb74380ab892dbd8cbc349119b05b4a6b424cdd3cd1cc31dfa98c67e17f58f27a696921872e6f3613b1dbe372e255d6a7f556795462e1c5632ec8734db773ad7c6b247efec65096bab25bad2ea6cb74db1426b9ec13e8a5ff6458ca365f820a27de88b4000e92872d2bd45372b5b039cef3fe9c4d9db5ae91e9a71ebc93fe3ee5ee205b7cb2dff68e2711bd72bf1059718da7e197dfbf0013bd6d0080cf8723c4dc39b2c4673eede581e2a372ef3d13f41197b5ab50adfc55ba278a31df15c6d3d9e903ea3dbd8a8be7c14772c9d6a3d15681cd5224fc415b5bc250b0d616574f8842a482520bebfdc1fc7d724e68e780bec9f715da934b28f20036f857cd60184e2a81dbb5a772fa089b36025c491fb6aa7d83736cb8b63deaa92c5d4d216afc0599dc489903f5d381f2bb725777d9857248a863e39c5d72cc4af142168a550b5f770e74f95df8ae4f587b2ccc35896b3742271a7636b6c03e9db37b99937694fa34a474afc22724734248053815b10f0669866e9a030a55c122dd626962efd904b5d6d4bb9786e9f25a7372f6e12fef555455d831d64e0dd18584244b7e1d4b4b9747bd6cb22ea0319d2c69a1cd63e380b783fd98bef0413ef2237a0e42ed437238bad3894f8f73e87adf72ddc46b32a63544a34c1292e50d306d5206469f59283ca440bcbd1c52f63e5d72505d2b6881e6ee67db78c9d4ff0a67c19048b49aa9583d4d216d6fef75dc2d0a23fd08de6ac70aaa30a4cb3ff329bbc64ad2a0fb0ad916dfc616e9c167362b5b5516f884622616b2bb7ecbc5f65baf570b97cb15195497ce1a84b8f3d3b690351440e207fafe037ed5599057e278e79b64c7bb8b830e75e55811851fa1a3100382def312fd6de13d188c901f276a2ced868c4c23bd2fb61901b5391bef453372a0710ce982a1f89bc95015107803777e647510e6c8a744aa2e3f3621fed945728b40e5767ff0ce7e69afe4e1ecfeda8287121db93a28f2d565e436897c476d0c6565894765561887b59016290b022492fa777476851a2a88f2e4e99c4c6e2472a0c69bb1cf60dcf0c2897d9b06e83f469266a88db67337b190771c7681475d72ac71b18b60f0091663271aad69134ab42ecc1e6a962792b0f135e6ccbb7598726d79b8a37da9e6076bac8ee46c1ca87e5f01a3b13ec30fedaa6231c0b4755259831cd59a021de2b0ddb890679d5adf45516305a8b6bd132ea1d450534619c572d61cc648724714d6f8ec2ea389930b2ff485dcb4b52d7c9b6ee2508727bf5a72c5e79bed643dcfba85b8d995e88e21cae56809e56d6e3c5dcfe40566e80b700f7aaee1f7554bde7740d803e9ce0beca1d74b177ba48879f3022a895c4eb0be2e4cbda02195d0847883cce2e4105ec1f90d7c54bc1d8cd6aaa2862dcc68591f7281eddf13626646bcb66a0d3db727ccaeaea0b59560bc532927a159d8cc8766184c41e5ddfee032ea886d98275b738f4000c45d3c9e4c8d2c181a000aee79c41bdd38b5f014975f73e67106a48cd3eed31ed20bddfdb411c747f9d690d5e091724b76b3833cec28f18fb980f857f8d851cd4f7358146822d75aa088bd5df0854cc0c7be0fa65878b678f9ee091d0013b733e06ef465a066752aa50c9ddbad0d723f480d6baacd72b23f6bc93ba735c963f1dba17dd2f95538b4e64dcd3fe47002d4143e4696da8e80782a51b4ec86cc02fdfa247454beb510146514c0fba118176aff750c25e9eb57da15f19085b45f2341aca2aeb7d53a38ab81493dd368f413a9117625613499a6b3ecb663b2ba681034c81e8874cd2fd65b0106b1b74edc72d8192f1deb048bbc6df92485299e8e80f9606115ef5120006bd48d526fd04617903d5976b83389a3f24e9df5044c9f40760ebf8df78835b5f7f08d4eff8b347254ffd5f1b983269cd51202a8ba1af4a49dbd34b40b239a715b21aacd344653227844d54a9a2d1c863ab23b67e42c4b6b7f135f21f8dc4821211e448aa2064472b9e948c9478ff578201e199475b492a0a38b29c12ffb0ca6ed61f7b486fb3d28ed6730075a3823d789c87085bbff2bc884fccc32aff545cd95baf39f19c84772606ab80263b6e77f908bc74bbfe8fc199114d637827cd580db4dc4906b8b0472c5bf819b08d2e2f4108b704c3fc269e30c8c6c02a1e8f6b3fcf3fdef9e1ebf721a8f2e9d18aa0e1add0451b2e3f0020bd11de19c3a99ded783d8c4f7e8494a70822e1a40903859df4f5d46d39fa4a8594885bb09660214cdf833e0bab0e9db72978f2b984f442ee28e1bdf45f4ec4894f56d179c8faa8d17be8869c27890ba72fa8ead453ee705da9a9a903dbcce9802d3e6b123d1f752189a364218065e5872c16bda383f7f0c7471c40d562be6cf32ae3f2ebd5f90456cfd1b957795c56772b6a4920ac39caaeca0f58ccbdba92174e803e9bb04fd1f24bbaaf18b6fa81472317ff62f95f2a640af644643b7cebdac3fc8c5c70e37c84f0e3d77a862023e72372d402ffa825053d52a0039aadaab7ddcf841341588520a112f18bb684a687244cb52d48e06521b97b7773a49a6f7b6de597342fa540d81b66f14b0415f9572e4def5990a4fe85170900a604abaa0c701bc457b359a36311aceda4050f30e445737c261f6f6850819f2f6ecae502ec8e9bcc4ab7713fc58da28492c6c023b003091a1f9cd47d27282055725f1ec1c63637ea9a6dd1cc166089d93ec5ce5494285820956abe1a444a538736b4acd2f8c51b2ac66e74bf85b435a8f58f4dfe0404c11915ccb78813ce96568d9eade4a67a38c2f86c6c1b36faf55d77646ee2a72f2b4dfbb7cc3ed72e83b239e525d4e18fecfcb031dee9a96069055c3c45cae4d0d858c71e6fd5bb33dcdf9716f159aaa1a93889fcbfaaf56c94385953215c136ae8df90760de0f223933d235636ba146d06c16a17997e615251bf2d14f16ab1da483a8686907c49bc2b58d50b0e2ae6c6dd7db51d409425915cb70a88946397285a4c96843b18b172a5b9cb4e6dda5d5e220b72175a46701748d3c58be686e7276e71690237d83ffc77fa55034a36f054d9e21e5613d3da3e0c6afdc7765857263de2dba78c298edaae111a78c2385cc782d96b7bb398798cb75eb61e40027420b1d5c405c499b953592cca5d4e75b81d6731ddb9e3706ea77f95125d394ae729fd126fd7830e2ea5795b69f72cc06e7083b5bff1abcda02a65d14f3eccb3e1f6c958522a7e3d6e7e9bb1b6be8044ed52015cda648f05c78383a50942faf74720de809ddabaf81255a566ec65cf225f772411f3f9b40eac32674869921cbfc726cc6c658b83813108aaef96466050535801f17ea90bbb3a5eef3c02b3d125c314a01ea1da1b730bdbc6c906edf7132904c6e74f13709254a7d236a988316c1720e77279cd6c2d082b73ecce8737ff227c53db6e4f712a7d2ed6fb1753d8bc45d4440b8981be30f29da939020967d25bf44bdf2d3650b930a2fd0e0bf6f277a72aa8c3364f539a70ac755d690689a10b962de2decfdd0c5ec1a52c1c6535a505bd58f5000fc342f5a55a0e9257785e29e3e1a3c84dc25c89f29e2cd64f2ec04725b01ab1c5908c2bb70df86ddae58055bfc4f422eb3d29e06cbbc61b8f0963a7213bbb6cefd4004b5d6a4ad72e0a240019ff6590984f9f666a5c5ccaf03db14075d2f1e997a6f48014c13693263fa8ac11faf73cdbb8c87903b0f63feba7fd4721f3e39c94c286da7e37ab01aa4c17362384247c9a5afefadcda25711f65e3f727c70e1fee4a8a8ff7d709fbfa896e164c60b6e79505db79e8aa335c3050d3c7211bb6522d1973a22aef3ca411e08c62f55b824a5f9153c19b1085b55cdabbf666c6a31ca6dbcbd0ca14ddabfc1de7484451bdbca8292410c880c656e82a56871f664b139763f0d69cb1f4f0c357a0e0f8b4fac888e8c4d800839a3a2b91dca16cc92285bf90cb952eaf7b66b55736f735693c7f49012f9fd58a920d471d96a2bb21c78ee230fb6e11518af4d0cba89982bb7191484450a9108d3b97969c03d50df4fcc1c85dbcd308373546df31708ef7b9755e6cd1ac1209cdb7b0826285e200571ae0028bdc88a29fb765be7e4be6155ddc0e956f766343091bc10cf7b7c727fe4095e5d71e93ddc24842e7efc9d7e43b3b62ac605da8ec95642ba2fa5f27221f175f985937b2f1345936a968dfc65f8663e3846494a8622cbc28337eddd721494a485a7e493217e0951ae345f95693efe5a56f513f646fc5e2afd1d2e0872ae28750945c55cb963c3b4316016eec3a0686ad00cfe4fdc635bf603b8dc287219a4b0b80732de09cde1b98d5d64d7a68d40175322de2fdab257d2227302f272cb67b06ee106878d24adab94529451d21d60d8b968404ad07e8845ee2651776af51038e24e4b249d862e961ca34615066ad9d464bbddfb888beb46a8a0ef83729a1fa108b256774f6dac48e1a5cc6f898c274178ba9a3c3e1d79ec5ae7a4d472b82756d8337d7bf23a6efa2908b7a3bee434e0adbfb1564d29a35d5d4d5c234420adf7c122502b2f66099d8c2999ffeb23145545587a0ae57a2ad4952b2eb83acbd7702c7e2c0caf85437c10bc69dc314b81c27dc141fe8c2e289a376afbe16174eff0bfdbcebdb6d8a870b865f894df02dc2d414f44aac68e4f0cbbb30dd47241da772205068f07d3bfb6356b708df0497ca6180626ad9912df093c18c6060ad847cb7f03978d4b88b07ba95590ebae3f803008e629aa9689fb908d96e08f7253e189dcd6219ba0fae64c10683508920059616507b17bd2bf1d373a5ea7e14386e278c2d43643195ee3aa3c15bad95bddb406faf2654930e373fa70e8392a72a395df02601ac22a8252962bc675dc8ab5e180fb8107afa6c5352461a4cb72345beb60734a10ec84c9261fe6d6daa250959ddf99ca54c4a1ee287afeb5129502826c7f78fa166c28d91cb124713a0fcc1cfecfb7cc82ddacc8935d465dfb5320805800174605d8470a5c38631304d4de34864f7d6c73f0e45f741e17b1b860722d19ba75dae0e1f6bc065596d8ba15ba3ec96e4d6ae109ef54713186d99d9b726898844d621c06f14d19df74c4d3f74c9c0b5c4c9921e79d624ed7e16e877622266e70908519e912cda0c67fe84addd738e409cdb906801f5c142392746cdb7215f2b1286551f83daf38758dd48bd9bd4561613eb898bc7df8cb030894e34372ea08cec168f81992c76a04d0977ebfdb82318d7552bad79197dbac29d9fb3049f65ce2ce306579f46423edfd1d87d8e7f51f3f76ca69cc684e72f10f25eeb33b2825568c715bb52f729a13831a98c4e8f6b3fb2966dd2199ea79b74685af1572ae3e8c88b35eb49b826c39090c3a617ef313fcde6467cf408cf33dea1bcd2d72d1163d8501b3489d7fb02aa78d4dc767394fb95584fe7eff064eba4a34bbae3498f35e90362a8b9f283e6b7f7a6d6ba7aff9e181a3477460159e0b20e3fed92d309e9f37fe9f67374b794fde8f044836d54b3bfa2185a3edc82fb6cf2083847236750d339f5fc0065e48a1bdf86a8f85c97c1319bfa39ef2564dfd77ac0b7c72bfe8a07d19f70cfd4a9e026ab35e2eed92d22299ce83c0751f7e64ad760cb2722d0aabc81c44d30291a8a9e75c1d159d83874f11e781b44543bb01b5c62fa272daa87e897d234034294752c2de05b7d7096094d706cc18e109f288f7f4f34c22fc59139fbf14633e875f9719ba21f1f63873a5f1029d40774c0b631e95dfd54cf83f708e8184e1bf520e4b0e23c9eec51bee3e8b0912bde75b19385d118fb54841bde87d0ffc17b06776fc587670226a46688fafa52ffd09980289c101e450727f6ef0407d7c0c41592f377e45ec798d9bb4f7d9d5359f2f4d16919f4ed0d51ba2da5a26cb33cc3b2764de1e2b77b33429abe3ab70be618a1388b35898bb93635fbd8d8eaaf593db20db450926598c591e80099793743a4c1f0b686956028560bb9eafa93678672ef38f33ac29bbf17d226c95395c384092ee671616aff496722cca71264c60a49690f5cf732f81d5755bbb5605d221452ca870c0331c50b072bfc73d568ce5a34528e0071c54ad217d3cc1f036b9ebe85a484282abfe356172fb41139a1e3299f94e379f1e9961a7c07a83f1108ce0d7e283ac4b629e6878198a93452a0f2d98f4308170db36184b0fdabbf052429d143d6a18cc4050dae850cb71ae1da1d458970b0a8fc0610b4cd6d532545eb88eac9ef1cb7b04f01b43722530d6f26abbe8014eea5f41b3047f276cb447c0f2621cb7d07d6564a16f2572a1ab42424b8fd9462ec187e0c14db16212dcd37900568fc8b212c6352f29d9728bdcc3cf1d1567c5a1d3ef42966e7d9678d00bbf10377e848eba247e778a7272803dfd042b2384c2a38d3c672484390b3b06c623010497bd7505bbff8337634879cbb961ba13c347dbb75eb3d3d5035cf15682558a583efd56f3b1d9423f76720feb653de26761d220d625c04c081e899f767775709f8f853152aff1e649a872096a61cf220cb15723adc1f88fae559bd3391ab31f3b483d8efd29f0f239e538f6d1870ee5c80bd9a7bce3982e755682019d087b882d92c84e5ae92e18aac672a6c1baa09d627a808c42e5d377c9128a246a68ba3889be6f5d5a8483ba81db72c128265a2ca84f465a3b1b05ecbf096b26c7c0ea2cf633ad52b850ed0e437772583e38ca5293294963cf91468e21525558f96ce13368158dd6116b4b85d82e72fa3d6e5aead090d5d086677996c6d4e4a13f21275baab632da9839dea6fb0a03343c8707df4b41c9011d2cf43257524db3ddf031b63083610efe5ee046973672cdc66ac891d570cc23768aaedaed51fc2c6909e590b15aa0c510b54a65d6d77238ec2589669f5767fc9f8b6bae1c591c8fbe4eda01908b7f390a02b90c413772ac9ba1ab7cd52450e355226d992768808bb9f10417ce2e93dce6b6cd784c2072f333bf4cab52b7d6105263d7ef1cab9f0a7866c46ccbd2141fbcade1c658993d125045a057933ef0bbebb292fd2aae92edb45873e795fb286f6c2724fb181b6a5de1cdf79fa2dbd4417d0a821b534b6c6a2d95cbf9d3017b9953df505ca448664277ef0cd232455646a1363db549c868d1aa24b3d01f6fc7ef5dc938054aa57205b00cde3b256f6a8ac66460463972d1670272973f337d353a9d164a90780017c7e00279873e35a11823509da192d1561c917a704d00dc75b5a46d849e571a52b64bd06fa25804e2596d559a688bd6c924715456ba00ff7e266fd9c6bd89d9721a7674de03b92c0d956d006427f0ff2f395aac644c14ee4a0b111ab32cf0ec05738d613d903265886633cca9408d386ea4750bc8d87179b6f1915d925acd1f72b2c61b3373dda016df22113ab999ec335960f0e7fed2b9f8b4223845ec2d5f3293f9ef5c9916c952a021c2c45f61a8b0ea9de71d921a8ad6eb079dc32427e91202c12033db8fdec6635b800b3150890816ab4595cd221079d10634d6981fd153737e549098332b957736ee4833098a2c791f074989536d99447f14dc612675557b41c13cb6ca64f31fd998e00efe791116b92beead9fea6ff423e5a086010572870004d0f7d2dadb792d719be2193565e4cea5ef2af724706d2a218d8323297202fa4ccd72e01d0110fdce7e4982cd6d1e04b2a2dac722bc1776f287c4652c72c0a1e3ef7411c055ba74683701e1ece4b83d733d9ab4e486ac4547497641c3592633795c0c23f16655a9f544ca65b6ea9920f2e093d606d9465697306fd71d6856b7b5d7fc498a7b338dd362b06dee7ad604d8c34b623010f96ff6cd306e8b4ea152cafca7ff2896752c97d93a45f34274642dd4696477b30234febad1f1a026043585b8ed7da095b555af2e9f1e0aa02f46aa33dfcb5c58f6dbba2dcfc0610b20f56088d791bd6e6ef503b363099325f3e3128fbb1231a0e63aa06ea553cf01684168f3b134a0af092717fcb70d6e4f2a5d9bcb86c2b2b5ca6c1997b93ae45cf33fb3e51e0b8806065177269d3501fa99bc20a0d1fc3ee1cb02360207c918729990b400638ccfa4aabfc423aa49a90f45900b9d03b2eb9bd8a0fd636ff67462d0a484d4e93fb46ea80ae868f4ab16761667951cdd8eedf6bbcd11d33052e372e7bed2af4017024d9e45502768957540caa139b462bdf6af628c01d10f4d0e443ded76ca62b971b6e2d54033e605a61240dc1896c24da9b102565f1dc28f4e72a7944e5eba30e9322a74804ba2f8fad60cbe2f54fe86be866c6d0bae0cb5a50b94aa5a0276765088e6d3c8db40173550ae0cc883d1accb91ccd5868ca6301029d67318985225b632b946417c2293583635a65c3d24cf90f1e530401329c2aa723ed0133f72928abf3993604d33b4bb92ac17bc3d1dca332c145212bf82f718723fb762a81d37750655b5169232c2e06ec215811147675c85926c442fcebb5f72fb6cc04e20adbf6777404b56589928c4eab3e2e4f7930576705e10dde5e02f721eebc582ccca9fa0d71394a10ecb11107cfcabc26d3a628c6cf6aa02d4f88b72cf0656ce725851007d69cb3ca82a2f5fcd709e0015feefcf984cbf4ec8527945f621c249e0314008cb612087dc9136716e4aeaf3204cf6e5e0a1335e2575211d605baf9c99e83fcaf61cda72b076f674717860e1cd39e73b6502de78b42657605f414e9d68a183417f10f2b98cdb677aed2146cfb57466ea0228d76e8fa8026e10af52d954f032bacafe630595e59e38e1b52d7bf14001064e0df106d639c972888482c5fac39e7cf9d7ef6a2d92f89a45b954348cdd577c987b15ec92b0827218228aae735a38f4f18acea36f9f5b87b34fb2f5c9f5949ce12dd90e95b81b720847d3b63f1bdaa47db276994330ff398adb5d77b0ba50f7a6eded4ac5d8287228fcf12b8e453183ebf254bea6446724a82205bf01fb2c376d851ce98bd9a417adfdf8085b39dc4559727d41846ada2ec0c05ffb4eb887b923c71f91d2bcaa0b93382dc08c4d956519d88543836b8273552907bc749c7d0f531581be2acb993fbe2b0a089f4fd1768addc67043bac681490f522ed71094a09160f749d6d15672769d60d5064184b5e45f6f7a7eb8563a63959eeaf51f594c54130b4b20bd7172f90fc04e2d9640b2cb2d07e61098c9ec0adc8955ad00c011645d98f0a8ab8f243a9f8c8b71a9e631ee02a763ad2d8b82b4007d24e38d52b730fd55b5e0cdc572fb54d4fa447c6458d2fe59ea73bdf9edf6e82f5902601296bbd22c053222356fb31c126725263d023a3477b474bda2f5b9c01030fccdc2c16afd061bfd66d22e7d5d2826f01dfb838e11356a20cc24a94f8e2b30724f1ebebf0f24d96a34ee72e74a81345c7e23f6d712482eb4f59fd3e33825d84e182b2b0c0b7ee77c6eea1635a973885b9b21453561e2f0b0aa509e128c74d9ab60c4793f2efdc9f3657372317be20031612cf4fbc8312d23ebcd0a2c8676f849108d703ff3519ebd52801cebdc9f30de5d89c62cc74515891a25819914a1a779d22e048ba40b127c98c33cda84e02e36d414eb80353166169d0ae043333e147c96836a66fe86c6c3cfb27217c805babeb620b45382e8d86869edfba574fbc7f97e3c0ebe4701715ff9f47248090b0e42c595d91c2beed53254d9321dc46f399e02591ca8187dda3c92cd645ed2b1bc6b59c35b880e99559fb02857bf705562475e3e97d2008099f2684b7255b242f34a852de7a0bc16f81f65f2030c372ba2331e608a3c72a5f7de3cb7726386a9dfa577b541002c0ba014ab47f31ea124be44f142c5fb121eb23552e6726c21f61be239a4f02e707306db7edf71260b47099b4262ed7ef2ac5e8c2597725b28aea538ee85570daa4e00426bfb01a872ea7638ed23c383da9dea003f62524fdbe6b8597f300335605d4e00d5edca4705c7e28ceffc752adcaa3fa8230772b94c76f218ebbb1be545b36e2b23093417e94b17bfd0cd1d14a3a6fad5720a72db5ac514f1a568fac2ae921b3a81d5f7304231abda07fa59a52c63773116e7277b3ad4962452470774ce4fe9aec65c2cdb8f33bb678bd184ec8f0f699f2f5126fd2ca9f76fd6bf22a7ad0e1dca87d4ed8e22f6b505af51aec334f41a6344941d7c26176c7f628f09422bf30d2dda41f6a9b2030118b0f74913f4c92ba7b24e4f0901ebdf46a63b5ba1fba99c3681451f58871423e1b8c6338d6550bbca8cac72d0ff0ea3342838a6a9ce15b5be693a09f7d2e274ee67ea3726a1ebe7ca79380183b4209a1f247266dae16522a132f9d841c4c25a2ad7ce4186b0618450d29c72b091bed946d7916e721cfdd4dc9a0aa2e5f48a10a27e423a211bafe974d2c8720ef401473f3873410c2b864ef4b4be064c5e15700bebb38e8ef0d42a63f6ea61e141e2bd710e8190afc04243e8ff88ffec181cc750b402126a2c140461ab53721734a19cc4a4076f3af535ca181ceb9662dbd700c1ebeb0cd2b792fdfeb922729bf768b137e85e11606188709f2223cf75adda901d4bde0567ca693928c5cf72540eaa20821a5616c383c0d6ed8f2165703f53280bec138dfdbe23a4482d68721254cc9c43cac76c7aaea2effbbd632f5bc7519d9c500ab93bbeb9451ff3b5593553e2fa10abdc171798d953e705dc7f236e60e344ada611e19207bfe71f1e3fae9d5ff959c123f34ec1d59537fdbb226345a2583b2dadabf9860d029bae9772feecf89674117798eecf0fe9583f0936a5c4ca6828c4b6725d649cf1051e8472f962c07942b0067c32182efaa604589f959aefbfc2c05f446b4c8c124b567c72741a8aaeb1a8ed2e6cde31370e8b150e687ce6083e4d2efd97215ce6161a4747809a24982fd9b5c8369f86d4e2258ac221803256b7892a42d1da86fca6fc2833b933c2cd4151d3c30f528e88ec52c1670b45823647e0ebe9a9b1c22c941a290c68a3ce90fc853c55309ed747fbb8eaad03b96e0eb7253bc099d022020b1708727eb9607aacd5acc17f23aef505b422f2744441dbf786f148036e64ee52cb3a51f1e7ff977acea72b3c1765be5384cee859d4444210949096d6804ff8ad832c2a31d7da5e7d0a49d29a296e7da1a80940119c5e1229cb96acd18f5ea6f146b44aafc12ac9d98d937fbbce246ea55b3f9ce674b23b9c5f1ffd2d4b679650a958303cbe6a30ca7ec0914c8d0a92cbd30495e98a3ff7663dd7744cbc3160f2e6d072655e8c8c3be79da082fd2300ff2086999efffdc9d2dca712801ea40f85e3a372ee3cce6962d6d2006403b7b954185ef66edc5a9d103a5c52e6beedc4efa00b7287f46a0488c24121818bb77bc086026533df4f444c2372e0427f60c68c0ea672137910f304257202a407f06a651f0ed9e35de145fe148339f227820c3f0a3572763a4e2897cf052cf86805573fffd35c05aef096fe9351e4af608317a4fcd45a577abc0480648ecb2dd37b3173b8adea2e1ae29f4321466b5cfd6684a9a5da72c2763d5f22fdcdc7e24269d7a03c709f775db11205c457433cb219f676fc6b72ce63cc10e7db7b3935287519456f9cc0f3a65fc50363e4408b43c9789174c3191d82b2802dbc86072cf6f3a5be4a37ec37039e405e09b958c8f0b374752bee72a891d8e539e6155c1da92d025dfdcaaf875b74fabaf2daeddea9d8fed51f275541bb08ca963562b38a6b6d9014dd5ed889707e1395f76ab8774ce9d1198c9d03440aed1abc2472cb8e9c048de1afb6ee997e660e8e77bc97fd2e385feb1a33723018f4af169f771599590a8b914b2c15741a9b712b76ec565d4da06d96605e4517ffea96ce2c9fafe3f150f91cc798c2f24ef54006b636716192e0dd7497fc723739accc26da810571ebd34faf174467263e13b461a16a9fe550fc44ef80a072d829016a016ec6b6e9c66553bf16c94539f6fc7787e65f55e5a9a6d0a80b4672abc191160efe204c6dd28451ed2bfef3f625fc0ef3ee5cdb2bb167d596f34d7275566a7631bcadde7de07fab28b57ad3fb39d401c6231d27c9716846a439cb4f406c061aa7f6cd10a86d07245c5916b2e22f008d3fd66b32d23df96388db3a723d57b50ba92048bd131b48dc8708b6858a9289028d0998925a60b7ebaeef4972d5e70e37a07f3475a455e5cd242a32a299ed7b637e6d73dac00265d2f942cf3129b25aa86d08014a438e31c8bfd707084bd1741fa1af9327da20ba2c4c1c55726759dac70181a38cd544d82e44f827b81a0d20976b7927d173a49a718dd63d7234a2a11de16b588d19f9d8eaa8ac47368b6676d88d6b5956aba97e2a3b2d91722244d352f52c35f7d64529225329f0f9f06a2669540ab2ca0017dd92967d6772c2038300869f06818911e30820bbb8502e870c1faa8658e53810f722788e6022867d9498fc77234c9694fcc26e6b32293af4e8dc3fb00b6b5c55ef711f365d721ae0fd2451197b5d3e556ef34f3a40cf525930336bc9ad3dc891c4174db733726f4a994e3b6752e224a4204f385e21abe3dc8f70a256c80f9a3cb677b2c01c7287b6480df2e16659b34f6da5aad5f5447f9112804835a2511c003efda10d87725751d12592435ed242ba783bfffaf5366919eb4c02c2a4fda58513677e71ad72cb94591155b54a93ada39a63e9e3193ca3827873e890d2a66edaecd61063e13fa57769776861b48bb874e3d729e4ce6f23490cf2900a224e401c774207cf9d350d2d3acfb072990d35b02693fa7c3d86cc025d9a2fe0aba49f2ea2ba8c26771bc702c07b2a8d2bb982675dba3a884e91bbe5150d6993b52981f9d62152fd2672df8ca2c295aecfa06a4e0f03563f561058fcc2dafbeeedcb07190fff3e80ec6c0ac5c66f88b73edbea81d5b4311acb6812c17df72cd1fce415bd3796c6b180721d6505449dbb8f223c7705f54365a8e02d593285e72c8a7e1bf66b658c43ae678fd0723a1007facf7e4faf1c412b924cea7f70bac7db608feb920421ced13c6a3847ef67af7ec86b470c364dbc769e70a911f991f05f370cda94aa48a529db725f6efde85859630067a2ef448d4822a81c6b9733bd85a465646c88020269170bc26bf13767266931165ef7c0e50a0bd188d6038eea0466115d7cf64fd0625234637ab9c4a7f20029ff2a8fea43f40f375df7c59249f7991d721baddcc5ff6b721308df782ac12ed6af4d33ec668136a9520f8dd989ff0c1072659f71a2a00311fca9f02c8647b4f2aa056cd316ce73e41f9487f46b4db3656e23871e5380dc0b0c1ad1f19b002b3c81807f0bb7275745a4104ec5a714c4d18a450640c5180672de5ed025972ca4a07dc8621bbdb2d8a4a5adea948fd48e98c653e4b2aa2fce726fe963582ce144a8e5058ac4ad4e18591d302df7785e946d597cb7d5d1f7da7294498bbb2fd86953d05b8c4ee956586e7382ca9922ca9b20cf73dce89742a120e5c95844f8ae84770cc339ecc2324b9146fa9ca4d72a92b4298b92e1a87ecc4cc9d428ccce84d48500db1f9d28ff72c031013e32e3887985c51387f63bf6c8696b1c88a5ad332a53d9ff261c80e58d0c8ab3c08feb27beec548ad6f5bcd065724cf31a5db220ecf7d792f4b831d88226996609f9d0de3dff5a0b6218486b333ec9f0b534af13015d9d33f4f3a88cf1f21d95569f5e990b55bf245138edc9aa545e450a17c6b4a441958dad5e046f488079842423ce48681c62b802cedc9d2472593e506e78fb7fd024283df28b919f601c25ed99ba89b10a5d690accb966f821b7b25e28980595ed90fcc7da70d2d3170d4dd14a7891d00e17b7ea46b1efcf7293812f4d76becde111a86cda19f0a784e180f5eb552e51f358492e5d54a01972710660aeba0c40e363adf0d6689a7f6c48ca5417d726c531c28ae618b7d08172748552400acbde88aa288f89a4223a17ac0e26af9eb11dbd0d540f5b467e034be68f5ae9f8ec7dfb48c7bdf5643b5d8d31fa19524d73fa4aa85e712d0b72067290a295347a54f4b86c99f7aa88067509a7342f691d19f8f53b307203e058531bdf449a8c33eb372cfd893cb17db68433f7ceacc418a0d84c0f753288cfd8544c33a92230b6b8d5effe12def3cc35f0e8e2b56ded26ad405d152c90fa7363ec728bbca74243c29ee05d9d497bc748f6db86c2183482c93079d9ca65aa6760d372dbdfcef853f4f8d2c8c50c0ee8e51afffa21657e0cce714399aa6c695fc9435d1395a174de7087daa836a2a3ef13b327f5c88dc7227aa838df66efb6d986e432d0953c033ad634e99ac30f817361beefe1a5986878f37396c7a2c7fdc405a972304b8f6e921a688f393e8a74768e3405b9fa82897e39aabe8b731c2e4bb1867207d5fe5d8d4748e9e0c075213fb3e36230bce210fb72996c4081cc32d6df000f84dcb633a04371ccc1970ef29752cb15a1849e0c72e6c4f6f76c61c657366f724cdb9f817c5a489e41b8808edc48557feba7afedae787bc1fb6729e52f0ec655da1ef87f553b01e14587c0423b5ca72fb25f77ae07b89fceef7591212ad7082cd21c7b94109a7cc4acc868a2f8dde2582c4d931b75bebb3c8f8624cd04851e724e5ab1acf7c91fcce30643f4ace6b442e010352690fe9caa11c72a0b89439a722462102ec91b156002b4808749cc9657124cfc1e5f39a7763b46f6c2f386432fe52f30f2ddc8b2893f8b8fbd71460602c789ce0a5eb2b070a8531120ad29790f794594385110e9dbd157a23020d025ac4eccfce575000bc0b5fd5ea2b5f89040eafa70084ea5536d8b2e0840b87e79dc619d0c806e3b12899c26e93472035e30869394884c68a9c423c23e80133939a680f6971a2685afe501cefca06a4bdd7219454f31572960539f5137b3ffbe897e8386484929822f194fd1a9eb5ced355d933f7ed0b5fd10944ac5d3fabd2bf7c4bbcf65140e4ce2e3e5c32a07ecc1a33cb8d8e689ea94fb6affbf396a9c686b641cb192d6e6aa9be5924e3c12dca0861e45885833d17c7a444e1c73924496725a99129a57c5deecb6133d6077a14e2c72b91c2e90581edb286e5b50584a23adeb06ab7ab671e1743857ad2789dbffba72c36e4850020f36631a5b90bf7ce5662cc98e2eb7504822828d0fb791e4202372e89c0e53b464e739c8b2e891c6b98fd183e9ee5678eb0a4d921adc088484db72db5780dd3edbc359f208b610ae17af7b2e186a03483d2cd29211c6b781a417725ef464c9000999de6ed329630ecbc309ccb8811dc777ff84934b98ed2d4dd008e263992f8742cf2f117f50b98d0bf1f21b0278b73ba743770e555edaa0bda07245d01a53c9ad3cbe2d24dc68a1234af9670a1b86190b73b1680355ac3b007072b78873c3a55305067ae81ffdc0d26da492042c4577b05e4408ae0a02a0cfff72c21542cf41de7b1fa2de6839feb6329a49292395f365aa18462fef51e7abb372783aefb5b9c0d7728a96d06d5d7acff476a83c5ff2983e0360219ccce77c5560bebc03f6b3a0ccc0d4119c337bed83753af2e76f51ba932d202ac4f9de6dde08b192352500f169df3af2895a717120420d04d40b61c089a69e67ee381ed72a1f5514ad246d9ec6e18ae7cf1916851d2e8e5dbab928d23cec443ec1ec48ec33725d978d6c736a9a5dee6dbfbf67bc5a27314bafc880a00be0165054af5b4332723c0ba9bf5ab872fcde3e056a8860e7006c162a0f1d78841564fff7c021dd4e02edc942a59994e554e9b8cbf46f388c1604827ec2bdc369f7d14425f90f5cde728f50d0e6928f4d56880d7c885a43ff97896c6146964901c2c2632b1fe86d0d72882b2684de94a9ab9bf34d367a6e13dcee1b87b76185d3f23707c5430b7f3464e762c62411061b061d8ea0e88ef4ad6af7da0eae713ab32ba3bcc1c89179b842dc6732ad06bcb5bff3091fa13a433f6e966797545ca917f7adb0f1ae2dda0d00510e0238d8d0a8f19d696678a714c283e28b7add92e0caa6bec5b94c0a3eb272de394d8bbdb9d8039a54c61b864731c608c76584cf1316a1a7553df081c01872effdb134d1380d72167989c0774b3bbeb528f485e37fbd53d0da0a5b85dd6c72afb389d9aaaab37c670a78db8648b3a36e95f07a8b831f7d6ab8349f1c3f8929caa11b15437505f1130274a02f6e7595ddb6447dafb4b20e51a5e400c5c23b72fca2a18e4360b8ab33ae3ef213f3492abdab10d099b91a63628097dd24c1f5725155fb198b5ce058d4dbf0e58bbf0c9f79b712fd748a7b87df14c1bf7a6e4972c812fecb9eb5ea36ac2dbfd9ebd97c33aa8a706860c10199ac9ae22a72ecb07206cf6420631d59d1c6ca4b114705855ef73c9c0a7d353aac4097c5e788bc060bb0e4dc20227152a05354fe00ec4d7c4a7766816a407089a6c027b3842f7b9d0d8d4a318be81845b870e69674df5e7b4ea1bcc26aae66cfa0929e3f8241f17672cf203b286c2a1cf3f9dfac901ef2792e06d970946b3981e25b3845f66f6c01583b8a668024e94f056c2e4cec41ae533f1210de4c19f6ab9e3e5aa03c8a1f1d5a4f081c01fd7598012c0646510d0bae2e184fccbf97021cb6be86b12359f0283b39813dc6dcdebbfd4acdd8c37c973de29ba19e32a894288086131142dd19e01836a9aad4bba27fdf4c906638019a462a8d990789f083a65663ba16ffe84eca72697ed231946f22ff75293513b816a180591a6bf92542018403293c451b3b4416dfcea9711489d58cbb43039561fc7a3a9aea3712e064f78aaa23eba44e7e0115eed0acbeab836f77a907faeb90257391ba01f5b74e25e870a7fdf6f2edb5734134336a68473150ee9269b619f3213bab782a25ad541ac5ebc72ce01ccebb39708287a1134bf2106839287eac553939bdae34e7e97de357103c45a6e85355904e830eecb36d533ff39ae797151df0fa6db6104fef7320ed88dd546d3b69d2b572c510426bcd93c95c68d9b67d0017e0762b52c97217cbd8d4db4ba6ac1cf45772ef20ba5432e4ad5aa8c94a77773abc9da703aa177be4fbdf2f14041cd012763489095f46bb50ecb513888e6e97af6062afb5a874ddf3e78ef8ea720da79dc472102472762f56ee2411038ca5082f1617564ebbb64f230fb8a8d0295f9dd65072bc2c264334955b31e870f4aee5935e204026dba344511bcc2fdca28d40825368fc1f8602519fb2096c5c15d1dce644c0cbdd53610b694e75594a9331f80faf2f5d117bdd74e3813d7259430c15fba9864b4f7a060f8581c094ef5e337bf242705a10e98ff695dfe84f254436705e4a0e167a5bd9abad975469232cc57bb1b7724ca6282de4c81b8c76272648ba42e89a569d4769fa3cda7e2819a466d85459727647cd6504781d429380de47be906dbfa6141f27a9ecafd15293430ddc984d2ddffdc5775b51f033f162aae6d0666cd6ddb32254cd21946ba958559e393d23725aab84d9c844904f7efa480def1abe297ccf6ceae3fe1d4ba2c92e54d38eff72b04fb246fdbb8d2b1f9421bdb8ee4156cfbc45740ea8cb02c4adccd1de7fcc5f9fd2eb1865b1f58b1d10d597a3528968f3444507610c028adf5302027a38dc27a41679ea284fc2225614e1c9668e5813c83992b6971ee970ffdf9fbd8d2a4d6364f8e812cf80696993203a2d2ae0cd4de8d9024e0bec8c78631c299aa6f402722ac95e8992585993523b5cb9c8e9914d8580f0e5e69f56013cb88be27cadb3729878ca169965f82cae08ec6ca3a5fafa93f5d07a0afc76a0afd8fcf06a27d072e0b9a7aebf581fd706212a31666e15a759d1fceac990fbcc928b82200eb9f867c19595e25985b91ebf595fdad46c6306c5ffef7eb2a6c730c3b3f96ad25cfb5491d2f4c7a1adb0170aca0c78c40b2f6452097050fbfc6632f26911e8fced7a1d6ba49745c79445187ae5aba37e311d98756adde53863688bc58801589728f172cca835d6074224bbd2f6eae620442277459b3f762bb4633d340dda3661b6bc5723df72d8b373d1d91abbce72d8a248bf33066810c1ef307c68cad6d6ea0a007295c159b8563a40b7a9854167e6929d07c3895564c1c49583f2e34aeef5701072527d8ecf5cf5f2f0e5182fbec404f21d2c27e113001a49edd80d90d500e04872007541e218ac6146502d93f9511296f7429843a2d5c9e0ed13fcb17fc2ba656d5c63896dec518a6f0545f1c56edb241256cb208a972c6cc1330f82c19c49a37236ec331ab88d1f5041140fcece5ee9f96a6560e6ca8108f378fd0d9003a9fb518659c7eb916b45f620511d2cc56ccbcbec7a329f1ae8311db703fb39395c4e729b588d38282e75c6820d8f35cb11839cb2fa61c2cd358647400caa3b04643872b148bfb52fd2e8f196c1cee8f3160d5b33b11a3fa2669e9bad52348af2c17672e2da887bde0fa0500b07a9c6707bfd3266060ed1862c543b06305ad32fb01b659c15e38fe58115aecf48b281686635a2e39749618b9d7e1763cf8227e125385b15716650c5f391e42297031ccd46d89e37d0dcf65c8e34cafaff0b9067e3ef72c3be25cdf58fc6b3e9d69591086513ba59933bea4e4e0b463733e5e970ab66723dd8daa428d32b03b1316433f52b4f0c20576d7e017173a318666fa86ba87224ca83627da64e0855fc53805492a6e4f0c8066f508b7acd6c59462655d82f0b729ed544f0abd91cca1e7720d787b3670757cf1273936ba3eb391a79930308ad725f250dfb95036a48d7d577ea6ec797c98bfdc69d9011ca6248510c596b111e72355c32f19c436a3227732a568a72727a99a90e11478ba8b65fdbcebc8483d32ceaa769b930cf3db5f8c4aa639831595b0e4149d70486c8b4bd994a1bc96c722f63cfb603d302c1242508e20166cee003b71d8d4db04e27a19d397a4a3bce1d7215a4b0770b90c75e6a2b4e5c78e2eb41dc3cd486eb5d4029df2683ec6fd50d27c8ba185fdcfd25debf782ee5d8c1a258b5d687710c944dbe7f2c520d5329b872f0d715e447425a20be2b904cff539fb36d96593964ec012e0f852103a3d5af726d0a29f896e8a54a48b370e3f8070fc6c6c916bb6a74538c23cce576bbb084726e617394a7c493caa4be9d4e18612a08049ab91910e36a680ed1bfbeda13b763d9f7a0f42489891c9cbb78e0c9a542b0a2088032c17404ece15d014371309672d6d1727ffbe2d52ed8f0ebdf4aebda1a807ed7a99de5100c9c0a2b6ae199ea725eaf507614f4dcf454b5a93ab23a41c3879dd7ea04287af030b755245513c4700d0887bf66e4622e54c88a054b32113fc019e94a7391b285534dc420648c30513b53e9602d97f94e922f8a9425d71b9ff7b0532122de063c13eba909dd7b7218c17179657366bcd8ede09f442c4896be3d8f6cb83d983c1407d2ed3bd5ec0a72acdaa83dc427d9cde9075815ddc2247dbdb44520de68ad629d321315efef0c6367254de0c96c02cdce8d387f54073cf8589a4f33be7ee86e485fe43efd7f9972ce71c52d623b836aa0767f792aabee0c6158895a59d0c7d8d4bd62d3271ed972f4440e22722e2a30cf4c6b027a8929184b9c2204f7a0214147ef6096da076a1fa27c8a437bcdc46385fb79a6d66faeb15640112247aca6580729f7e973c8474806fe4233f1c8ba90ba69e07629c7dd76e5d035a67991c0f1b2f2a02a567d6572e7bd8787cac33b81b61cf78a9c0507a928ee121bf35e33f586917faff9ea024d741b1e4ca89145d69846ea6f2e6cab09d4eba596c49a4c0f6c7ffc6e6ba4aa72b29f746e3cd5c3aaeb5de194347c889c53544812b3067e543419d847cadd7636778883569cf4c1b17d489f571f59c5a6c25a168febee097bf0af3d33f860a67238581311dbd83f2423b1cc06224d1830dade5dd4ecab6d98399f6c066ef83d1c720c281d06ef310f20be4b72c22b46b60d28810855a7167d8bdd00d172d3d0729c3aef1c21ae2b3b225611094e5e620ef15ddd91809aae6823982a86b91c2b723e500ca44199df7c5733caf1edd3ca6235ed6c20b0a0353bd39be39e454e357221dddb7c74aacd50b6ac5cea756c54a6b5f08fc4edffa4b44fce8fe61c08e272e5a9fe1a24ed9ab25328fdc4f2b09405aa8a9bd00b70e4aa0bf07a1110f71072f70d58c8601d5edf9dba80fc545af26c03674796f92e75e776147138d8997a49722061dee1fe189ab6684ab410260f6b060c2da15597fffdb06c84e5c81f035cf2ffa4cebddc952c84794320d7691fe2ec1e33d75597c82bd0fddd315eceb472c63c5528b8396b6dee94e4449a03e1cf6f68ed496b2552a7be045b9b9fb4f62d1a8ec1b8707d67ef6852a90bc6991fa7a18aa9f60ef0e352ea2b96e8efe6eb729c05073918ce4db1972798fe14e866b4fe6b5bcfd77a63ad95f3944e0ed35b7242db049b04c1886f0d94a42de60943a1ec0b17e6e77dfeb14fcb91bd900b7d7298f064b24fe8289da2469d61fb349d049f4db627eaa08458e0b454b590324b720b91aaeca7cd4387e2e8454f2e9ab0e337674d41275680f72f88d56dca5a3d1744b3a02d21944fa6a6fc11095b9d389f587991754990f8cb0b0482df353f0e72005150a794615ebc705d859f0b5daed732b4e1322fbbcf6a06f3be73ea7e0219af1025467d9c593632783665765c7e5d1bd245a5523eada00f80850e8b4b74665f9da9319e228f6037b708615613aadc902e01752c7fd9d3119665c7d06eb65a86000592950bc8f056f0551f2adf0c6315cec628629ba5f35f34d551043c92724b64c9dcb8e429f3e9950b3416dcf13d324af3e31aca1c2aabbce7cdfe75af548b93d10644c9c5d308b1d1afa7123e61462e0b365f5c4a6acba2f205939bb8503a09f3679c1c6df7bd9c7ca5548bf4289faf02feb6c2e918ad1e6845a512c6599207802a8c0b720621a1e63cd3edcb0eebac2b4492cae06fe69af1794b3efb72d9baffa48fa4f3dc01ddbf661f690618c1bc92506641ac17154a0f7bf0f4a7725452c184c7f8fedda54acedc16f59544c08ce45522f8877cea0df5205817a1726b493cb2ce1e7efaa943406afadfa1c165d5bf31a6a81d5aac3939a029175572f010484cd392e99cd2787db8bf75c562771c562f8ca5a87efed1fee9e299a2725ba79e9564a088dfee76682f1464fbeda414b5355be500176c2461bf53b07d724bc5ed508fb1b8983d6784787ea6d91d0841bf9778bbed29eb828a7419c43f72fcc35683100ff72cb417b83aa3316307da7af51d92dd8b0998f5e17e0766f26fbd2237646b71345fa8feae96d5e1d3d32dfc911ee522afea98f1c12be7d5b372987e5adc45d64775f0bad4f03027deaf05472dec777ec49b66e16d299f4ba97219365fcf8d90fac558b88324cc11c5ee0b153c1c0321488acac9e0743c9afc105bf1c43ce72a30d4ae373eb9cdf514b547c616831a3f04cc0f614072a47dcd6e1427699fc67f04b1162aadd35b7a029daba1898b13c72568139613274c4d4572f685e872cea111aba7f4fac9c9b1040abfc15a869b413ef7a08bcf84569f8872aed79e83d0992efd13da57bd4bccf0562aaa5008c658a2dd60f79520c4e45f724621ba501ab63d271cb7dd61880f11abe2611535fef721819d6d97abc4674c25a0c154e97ca2571c7f6ddbfe26f0e900277396f61cdae899b2e5acb4db66f07277f088dffdf0c4e10a07b4bb5adaad438745d903db09bfd83c1695aa9e0b23113c0750470c5820ee8519106a9b461cebf0288259a75f272c0bbd31f61133ae56d2f7170079dae3520f62d6e686eb46953e73a5b57ef9464102950795e3abcc4935776a1f2db9555aeea39915d03e873c208371b4a277405bb3695a41c895cc7227ce6e22b9aea9122b460b9db9b5e2debb976f481c749c6a9284a2f8a3a8e122dc01146a377481804db600be75e4f6ad722924e96078e81662eb0a54647cde3a60054177a38196aefadf43cf2483e3b4188cd429865bdbc06afae293e8b35b720be4cf9eac3d6d54d11d2e8ea803a357f66aa7cdc76877cecf823456cc1d327268c3b1085e3f113bce9b164e052f81f2d791e6b3c5803b5e181821b3dfd3d472b2fff93dc3e6d5a1be57ddf2ae6350d8886657fe6af77b60e589f71fa513975cb1b43c6c4768699a7cffba989bbf5d377f82daeee1486c611cfa697f7091e232077c7f9a9a39c26899b0162a8a02a714137adb4c93828fb903e15ecefab4b9360255adda84bda1fbc5871e3d61285e380ef1b85e0dfcb1fddaa30ba696385724e82078a210f94cca1f8b8d911fb562d0cef2c8a328ded417a17b188b9cdd527258e5552cdc5ea031e553a67633ee5f9495eed392ba59960ba088155b6aaab0182abb69c8362bf32423a66068fa4bfd9be683215cf88ead155d80b8126b0d155bfe1318ac8040885cc680ecb214a18781fac66c52f5380750e7e8e7b8118c76309a4dcc067a518751c322753d4831a6433790a83edf362fc33a194dbc6afb907246cdf44f2cc4cdba5335fb7912bb756eb15c9bb352c3cd321237e12e4fc9637233733fbf9e7f553838b4162888d13fb9eb84ac410bae4b65319e96ac188d4472811b50859438ea3d0795448216cf6ca84f6ec94f73160eace71de44de11f0372b2493bc015eae0671ddc63b9f2975c6141dc6f81bbf59afb357c976745d2f413cc99e491692caaaf714255eae3b2357119ee745d348316c36fe1b80af4742e488abc961786e604e038602b3feddbbcefa8b7fb7d6c3638bb4f4f2380508d3a7224cbe68d237ae051323abe84f3089440be7aa4397f1c604f183363b969bc7d72c867f3880090ee783f10239305dd7c557b9ee6b25b936720ba88781df8f59872317d57c00902795597034390d56662228dc4a64ce080cdf52679805c88779e539efb3303faccf8e61e819a291b9aa73932c3e6efd7ea45420e13beade3537e1a2b1f5b245613b1e491fc2f212c6b6d2a6fc192c222a01379237c5b162014382cc6a24752e3d3e441942694ff001a4a01d09689686b00a5301dece1c1f6eaf57274ca1f3eabd78bb36c982aaed250be84d58dbaa04c4672424210b857fbe56a1a289938804f73e02099c3c2b9bb32814039acfcfa143166110d7d14d74bb96d29ef41dc83394caa15b9cfb1091cfbe3edd7a71728d3e00331c2457065ef23a143c1e7bec2282a9f529fc0dc2e0c6379ae56edad4c2acb257bbf726ae8e0bfd86b3e26fb206276250ed1729cd8ee266c0eda18e411621f8a77e26b07b565011f6ab7f0ee4c80c1a6e79f3ab86b13ac144ff5b9260aa7348fca57652ab53171f1129ceded014a0af8a0c113d8326e8be560ba0660bb0dfd3cc7334bc982ab5b0c72f2e570249d956bbd1391b5714d28e7a1a07255dfa3ceea26be4eb53d6678e172d8731ba84a54cf9469e36a2838425adb6dcc55a277b8c9b5fd5ccc9d598a8861dd42c05dcf37e045b8ae667a2b1f1e332f1bc9edfa7ea4a9b7455961d8243b725eed7272a444bb64ca083c8d15e4a553c45118d16aa7d4228b201b585c808972f120aacc40038a7ee41405612854361942101a237338196e0a73bbe056c2e1729df253dae58463e636d79ecd2d5ec4c29b8ad34d6076e5f2711a02beaef6da64ea34152b29d3fcde117d97a362befcf230023938b80ada38aaf114d3d0fd5c523ee2b74d0e1a766604d3cf614029447179e336d2591ec7203546b924f1ecda7269205bcc8beecdfe6c026bf264daf33aa9a0a14323a5c0c2549389e67a4d25721ed538d5901797fc90daef1d0671da9e43affda1d5324f396385f6d11d356e72eca6be110ac201d2fa1c36ab0f225b76d855d808448c034378c5586bf2b57958ce08f8ba2909dbb117992edefd89b03b2084c2137d86889d169e9e6a921778375fb636da523ff43e8e53326f53f4cd54f33a8f3f5d533e79c6d9b53f6bb54715381fbf6045586817f8c71144880948592e569660aab785a64af009f2f91e3572c27d6db990d4c965565d58369a01ddb968d62dbd7538000899e30f0099a36e727e9eb6cb06d5e02d2cf48cb2c9df66834f9132d6902fe4428aea00483d698e72a05c04f20bb32d0074c675cd553e8a0c6f9ca907529c4c0adc556c1302dd900e0d93bf594be15ea92aa7d682f7b2778caabd9d92188bc6508fdd759207421c720d29d521cf0e730e136df3ea3301ac3123770631c5360de9fff4a53c7859cd169fce9730b97301e1c7f788b355af98e34a431f1efe564d275817789ffcc21b72124efcca54b3896ccb5466e4bf683d61c4d25733dc307ea3a94a46dc00341d228181b2ce3c0d18eab52aff93299aa1c64b50c24cf8367f21dcc539e9ed7a98724521cf641aca8b2c95690edc9774ee20d5fb745b7b1626999bb7d313ec75d47257f9c9779ab36c6bb914011609cba92efdef06ff9cf2caacc97e83c02bec814d2a6e37d2b8d5efd26a285a399c038192f7daf96486acd1adf460112a8089b21f5c6a7d1c06d45ac54f08f00128b133094e505b37478d30ad91f43b6b94970372824b313ac76f472fdfadc1694b3ead2ab7679d2fb8f64c97cd1533c2b13ab0727c9692d5a06cd1f245f177b38362071ed5ff0833d7de5e870e77278ae854ea528231a64ef5dbffe86bf3585d64357b7dbdb221c7b199ceff7e4fd44b5c89aa72ac05beb495cfe867f5ffad9a8e117871cf46daadc612fa6cdc0df9877a202b51c262bcc58e8bfda23c307690bae97c88a8473200ba3c403af44da09d4ca3b05aa4db56783922056ef26c4603ba3a2027b47e62fea30b586c6f17a459ec2f3808a9c29cafb3fd08a8cb1a39860ec610294d954748b528e9db248d39b6858fbc72bea372df17ab9b4286c22fdd774b18ce4cb2c02aa05e7b9112c117e5ceab1a72b4c139bc2bb3dde9b7ab7b29b35cd5e9bf9842b9a1adcd41e02cd19a7d48b46fde14766f1b0795db999fe10302c98f03b459bec248a2d95eec28aded9a2c0c1a772e43064f82cf2ba4351a568a6fbe1386bebd09971f21581422eac8dd5fb272c6289f84ca11ef8f37d46a255e1ebf517fcf22f48c118846146a8689741a832c9c20e0676829368d69c1e8fb8fc34f726e1a36c807219a9da5ca082cd9377b727e7aabc24c765dd45b44b467ad7312f54a99a6c54bac5f52749bb230bacc7d72b78213c0025b24818f60cd05ff9e318793a81f786711a64f6ebab99d2b11c8729a45517c59c19888116bb30bd374ad9ab7fdce17e1cd0652314981a66af61f72d3fa3c6892bce9b15bc273013a80c0bae9c66dd4d682ff9833f0959fb58493727c9db7dbb8259c093602018eaaa30b055ee5b2ef4a73772fa34ef48b3436fa72d0befb74069ce38244ea3058841dce209d7e1932c7eda45ce65d772979fc1e728bf50c2e8d2e902a3fcdf41e1afd462cc42807f24ad0addb2c075a2e57f1c1722be29415b6ac09db16d14843d1cac0a6e6c9526709f52e7f826ec84ff24e0c0c23e1bbfcc94a77a4266685154ecb2684580d3111be07aa59b88773ec8b525d72aa26deba1959cfa5db7c0c8fc6f0f6213a653a11e3e37aef9bb70a1419f39572ab4dec91fc57c4bb85188468e68905be480781b989be745fbc1d7c1bddfe4c72fb5d3be1fe00ee4238732cbd0797e28adeaf2c2d3de4fdeba3f1a49eef4da0203b4f690978ce2fc3a69fa72389618951436f7980eeb464294befb4c1fb2b02725671a50d79c7131d9271fbd4b45a0724baf4c4c88123b962e33a1bbea50c52270ed1bf042d251dbc783b4495d3cca11a029b80a06a17c0a69bb4a859014ccc72852f44af523b131b7974800208b5dca198fc7988ffb1b09a9997b2bde65bca1a9aa644ae8114b32684bd824f1870489935d91653ab098e29b37c272484f6482335f705e84444debf0ccb9a39b4b54130a36dd80214afb579d4a407fda446bf114a92f4e57ddb6bbf792c0d3a4fd22b4f6f97a6fdf3858424bbc943a2ae1733725649820ecff83d08d7608f70f9e89eb3ed310db179a77a5841d1365e50741072aedfb4129a2bff0e596f317186fd76e9e3ba0f6e6f06a23a1c720f57c8eb1972fe2d78ccc5d949b1106b2fcd1aa94eb8c13fde0200689fc3a6aa00eab6a5d0036a87dbcf30b78090996e7b072e2da752067a3fd8bc1ed2cc0a83887db928cf5cc7e29f300787330becb75631af63d310ad54fd3d2800dd365279cee0d43a464b9db4b145abc56c3f8774b30259e70a6a47bc56b1e467d7690e79dc81283ac026640356ab5309efc6d782325532363f5f288d00bf8fc1d8b8cdf2766c1b8de672a5f0aaa01a10406a8acdc499d1190e86eceb9e1fc3b3ee91935c926d2aa3b072aae68f00bd81b21466cd2d043819b4d3bb52996f1ba0f1349d14b51110559d72b7b46bcaee6aa9789d33fe25b996dbc6f6b42e1e69aebbf37d5ee230f0bd5c64bd50fc00badc1ff1ff00f5ac8625468ef2dbdb62b07960bdd3711c1414679472d9b785e050f736e9fd132a3c6e4caa8ab0fe9a76afd1d29a8a167a8cf3141772757146d744b67190b42a77d8c79d39106bdd3ad617b58b7b67d8b63c7c7b57035be323f651ecad532fa15bbaadcb05a3f0538a1666440322d09e878ea3cf346f562750d38ae342d1b2fd6e324a1a461a5c1e3220191de72b0712097563b223724fe1b5172d8c7977c594ca9cbcf1cf20adf62ace5e5a6291a551d8253e3b4f0b113da9c3d0c25416c4f79e551ef3c580876803ec67df63eb0a8ff05aa87a79726d56f9fff24cadc3b642fc062ed6931720ec88b9fe76a4a028646b66b37b04711f903d44d34eae56ab6ea5dd4aae3f56545a3dfffae996573180b827bce46352c42773df4b1473aa8e92d0b34a87a69109d7308b72e8a6d2d3e6c57535d66072e0b68f2fd87e1709fb71d5a11acc557dfdbd7c8b40a245faba7246221ea4a672888f82a538231cb41a435607f4affc778fb68dd63f53fa824413e55a7beb0f1b32e4c08e699ed17787755584258880740f676e8511fe0454de4258ef5aefde725fdfb98965f79947ea677718892f198757c3b80e96019ed32749ed8fcdbd512fd0d20f3674ce49be36adcd6f3a689dc393a5960367e97b46544c9418c53717641e8e410e6afa928e0b60f199d3f509fe76b0ceee5f2d031f264fd923737a7b4cb2c863f631817c8094e6c6fe5147ffa370d71dc332f6762db3c372d9347ee21076e7f27561ea20ac10affd97a9c6d4959aeb616decc49bfd1aa14df85af88972acdee2f6991e76a154fbc766e7658bf5037f11f48870f94b7e0430a877f37a613bd9c21da8ea6ef9a710ccda758c7a33bda9fb1715c137e107708a98f6b38f721627f821549f4a002cb32c5a38fc2f554b1300d7028adb3144ff18330fb563505ed87d5cbfdf9d2fa61e3bb7b65d1cda63a6d7d414922a530ce54418147bb14f9eafcfef7928a5a7dd2c929eb9f51f58a1eff77e9cb314b83e52a95de6275854178f6680b6aa19f9bcf43dfd5e595c2683cd4470af24ee9416890fbf0745af72ba44f9c0962d26e9f636dc99b70b008fc9b6a88e83f76512757f6d0be0b3050c8413a93754351b592c77b3181cd8a35636de75e76536b110b63c54c5285f9c68badce0dfc6a65fcbb64ca9ca4a7c250d0d1c1622fa30c25a75ffab48cc640b72619e009a43608c7c018c349778e317e45681586c1f5332a7b786597f47b46900b1b52f784cb108036240f74f2f09efa61b01f70bf882eaa2bef2b27c4f58e401ed9f30010ac67e25df2ae5cb400d75ebefbc45a15f55950195fd7310ed6eb219705d7742e587acc3d48abd05fc3c0e538f93a24aea1583ae48b57ebfeb9dbe446e30630dc11767966ec172b6653fbac552b274c375bce741432b6510031280725a6e72c461db606e070e57a10293e9779b687dd129a9f4ce05bc553d376c25211070ff73bd58be2840a439ca23c1961e121f3203c65b1fa4877eb6401f8116379ec7cbdacb26f25e46cb0489353f1212d0f106b86fbb4454135c67bfa581c97279ab07bd77498155b83aca10105c8d4e5101167fe74922b4f534bf4e022850722add2be6013fa7624f82707d6876598bfbaa2196e44c3082c542ed2a1c92f2476c4292bd1b9827c9cddb0d6c80d2bf83860a9d5e4f6bd62e2d0043203004261fe11ced6b8de4551371c17c5fb60a66cc69fb62057a9bbf18ebec33efebb716721742455a247860efcc2f00c7b7ea6900170e71786bd8d26a99009a8efcd1844c6d31bce4e59e60d867721923223c2fddce40fb2648eb026be30cb2fa4fc41e34d458d7f82f16051e15938776fa535c1bbdda8e7a315e4066020f4cd6be6cea3c6607b970c0b8e8d34715c9f1ee79454c303ed82bcefef856f8ccc2996d812f726a64b39c31aac92708d0c73237d3cd8aa8c2e516466bcd6a7780064358b8d372fc5f9c53927bc9a6442d46001c99830153f17fad36b0275c73843f307a68b86a4745f3f1217d5b37712c372672108ea21f7138cd3aeda630c3fcced9178d5a664502010f0d9aa33ba4230df071e73c12fd542214ec4cc34fffffefdd1a5b987200eb7992bb2157852ea79ff66fe79509a497258e6f7b6ccf7ac673f8fafc5321a1ddb4ed112f9fdf3497d90cc8e598b1c46f103d82e2877527145c5f2917de727ea315d623a08bfbc19b9a0fc8cabb05fb4d5fb99b9bc3c5c0eb7a2b233f027289b36af76530daa25b35370dddb2cc792a8025d58f13a1d8adc220fcb781e558093c409dcfd1c36dfd8ca3e0b326f3eef7c15670eba59a9a3818ee0a2528760a8553b84fd8888450522102bc1cac245bfb6273a1808a627bb5972a04a4d38672be2259aaee51d0b5075559f77b02604cee7fd68806fa5ee018a8b9e77dedec0ffb9ae70740b772f152146b76178173a441d943a4f61380840f79b3f6ae48201990c2e0df3d33677fd6c91b22ae778d7844c0fe46ce8c4a5a153c3bcbbc3ec3724651d68b5bd44264f6cf684ba75f0befdbb3d848bf509e514e5bc1d772504c149e019af514fbf90a4252a8f60df4661368d2c01d244673d6fd81b055fe8b8c72e48885d38d7d856fd6b44e6ea9e32f5965469e9cc1b08760aaa717378ce16b720d4e539325e9dcb320cfe469e52cea36226c524bc12647c94db38add3e6f3e5bf395e9ce12329e296dc0c07d78270553c074f3718d1ba863fd29d601a64dae0e5983f7166e9c61ad020a48b85516ed8c97d685c9cbf5fc4c1d801688418c6507c6c9d3083fac8ad7a976ac79b1463fdfac0e9ebf0dc4bde210b7c1129b6f6c7268408a4d9d82cbc592b93bcd0f72999e406ce6aa7cfa05a6b56ac3588391c9722a8b19cf90242be0d6435a4d59089ce2067453e10b02e8eb7a4f7db3868a2372289e36d10e467e9d44b3b287d4f9a36f379034bb92a82e54430061d39fda9d00d7c282f17237d06bee9e6b84c6f4df0c92bb4751694954cd02e85eb1b64988055dfcb305603b16da23e2e1b41e0f4a07ec3a4a3c6ee519234683a2508bf26872c294dab9c9565ebd6ea72da2bfc80c28325a2cc4591fca9bd0ad35316b1445065eb5d65baeb3ece547a73f476423b02b426a455095158f814428ff3106b5215e8134c7045e0a81072b60063304f64acca6913fa846eea2231d007507b45323416c2a5ec0a03f9bd4ac97b9ae3473646afe4aadd9e1a8eeebfd0182809e7252325d90778dce824f9caf28973d0347e0e8e1bf2cf1f9e19932214ead28dd281242e670bb87427f0aec1f4d9f9ae432c97fa1d0a38201e15c381f3d2c1e30c4a57266e37f039e14db92d37b0a105e2576f655f0f9766053570cd7e642f3cef56d72dd1ed3a5d56262a21a11ef0628e101087a24e73286b4d3971a6727b4538b487221f026765be0d085c45457a7ca5765bef6209071bd7a198a0d904d271a8aff72ca6323feed0967b0eccf5df11c07437554b999cb2dfaf3c540a57199f2676572d40899f772b8ae374404da96f9da2ad8a55875877f11d912b56be792056afc72b8264ff277978284cb14dc6ba5fb9e5aed0f514f9ae220b21b62f8d99e622c72e3539714c8d4a022a1e2cea1f6e2f00e86259857108bd66c7819d0a4268bd772a4b4e6f5e24db5642890d028b2e2b3047b199cb578c57bb20fd9bc42d713c94d7faa19a9c9844e13b173b9588ee2745e8836c52b31cdee4210822bf299e68c29fc06e5b3f10920a55dce11dc0ba1c945a9cda7b92b7166677b8ecd3ccd19f52a491eb56ea7f5ab6ca294b38e1c76cd8e93bed755c144dfe0b9ce37595c2983052590d846a24a8d2278411976d92e1925f13a6c96fb06e6fac812f44d6ecfba7286e1d3ae24a52e7e5207a9d86732031664cd39c52ada14271c0386942a4e685d2969b74d3518b23211d7feb3e4ced944690e08fc154692abbaa49e7771a82972982980f3a8ce758fc3f0ea24008489a709bf5e8a80389bf174405fe91f80d3729f20bcb6c6e088794ff483108d2070625c8f0674880e3674e9ef4673684e3a5eed74a1aa1e1659e7bac3b245d2aeac15a09dd0eecd553f8899f48538bf472e387b978c776a2fe5394415af63e44584fdb2ed899ed0310723e551792c5b889472d698b720daaef054d81075c64119aebbe44d221719cb2d22acee512c88764e72ecb636d8e537325e14d6526aae6fa77fcd168b814095a5ff561f168f5c24e66aefc593960f7b04fd28841f1c6e18a0141e7a2a69f174499919afd50a26019e72f66df4d209c9b024ff86b6599563a9498bc6daa179ff146706569af81222a27247a4f9f0ddfd799493de9142409ad843ce1b3885d2406280a1c5f0423d64ef727287e3358b33ecfe05eb669c82abcb56b2e13b2be103aba98c951f2f34434b721e9b97720cf4fb62d863d1658441d35aacf6ebcaa9d7eacdcdf5169284d7a834028cf6ebb7f64e986154dccbcca91c6f6ce5eebaed0fbac15c33347452cc1446af2946c682e123d4df75d63eeea5429ebcd15837bbbaf00a5d41069bf790fa6feb015736afb89654d72bb7c1404417a58df0f0fa9ce7b716808a1303bb87280bfe6e367e13bab1cdcc81e29aaf1f2d1a93d68c4a4d8d0ea32f3ae1fb7ad4da0585689f16305cc99f8dc040ae57f923287c326512973500c7e29efe3b8259ee7212a2374524a67fcaa95214b772719049ccb2d44b01ef76bc8f52bb870afba0549972c3e13b3865e79e0e516e4c14d8f6f6299fa3e4b8d9327ba9005a127c875cc7266fb57b771a94f2086d1a4e9e4d99a70a29aae67b7de47e16327f7fe7af721728b6f3aba8d28a6d9701fc06bacbd6c420dec7e44e4b035fb80c4633e53a1d24f6eb3dfec6f36db2ace9c3f48a765caa7222752fc39595daf7333d36746839ffce315ad222ee581502e3855752f87455b6b9164da4f25a62c7d1d6df200b0a7e9c1fb5eab476371fc387e2ec6cfe8e7d5efd7434d62fe1e3082463487c4420ee32c20365c887edfaefd695d02288988bc0eb11f7f6d2e5e901f53db9c2987295d2edd2ec57265df53cba39f3f069d1bed55550e27e511ee583c6a8a62e3672b3933572bbd14939434e3488d89c167b77c93b0801f380d32cd5dc53865e6672c1a6299854d4882fe6d342a18cdc918737b836ecc7d204f4d86fe1b85d7e090b3990b0b9a60d5d75b3d928a584de4dc3ab6b3b9158e716aeeb08685e044cef09a2397b7632933514f365c69f0a9832d3b9d315b0b1eb5a38fd5d39ac2a9f9072dbf101dcd1ac5f83c7e32a8a1dfa32261d89414c42bfcd1a5381dfc19504637265d34f63d16b8b2d17e178fb24d2729b80892c992fdc2bb34b23ca66fc5550728eccb512597fd5f5824092935197d224692b439fdd1712d37bf679eaa2036b729b99ec72f0e42c22191fc61a9a210d5c1678cea0f6367d0e89e3b7338e27f1082ba86813fda8aeac5433b8e93c903c3532f06b0331601a6baeee7c4be6024c323f5126c48b0233032283f38a16883537f3a4bdb5a4e5c856933217d107a63372ee4f2913580d0b8b8c79e9a47296088922bf0b44ccfacbc665dd1aab4fdf0d72ab0654ac64dab6cfc10c8baf8849f5a3f4300563b899a857a9f4c9e92324c042d86deaee7f630281ccb9e25bebd2050631ac4c9a887d2c35473a7e5e20cf693639a2398a90b736110681f5ea6c25662b02d47c2a3c3156860c1da1601a25670c64e22d71f1340936fbff09ba9369004fdb0879ff73baff5e8a17aaa84567317259df0838a9d9a4a59d8d0636ca8353d2c143a44690347dd6f46401997a223a4b19c6a701a060e6d86c2c3ff28665e04403bc79f69366f5e6b6c7a0e87c93b440fdf0a053a0d559bb731bd4dbe2fcb2992e449e5e0696b5ca91f8d8aad06ecf72797d0bb090b5b95a2477fc6740b1eb362b0273216b2cb906e54a1de60178c126195b5749e5cf46d70486534a769f164ae1ecafdb8bda988e2337b61f451189724ba8a1df625ac6619acef894b6192e637339cbe5cf0020cffa0abf1791a6374d0ad986875dc37e1b789444055b7a94d12faa307428b0b53e70a1b0bf7c282272d08f281d79a03b0c65e05b15c08d56e292efd1f947ba8d4e8053e844f30f2b72135e7e74c7b9194ef792b8a114a0808cb305ed636719110bce40dd3d81c37f6d03f48763f6693ec6fe9a6c18543b32be34a211e461b3b56d18776c663471e172ea99c08c8156c4064ff6501a323ce59d2695b6fcb51d24e644dc524852a78d174922e87939a6623574d20d37c95e3bcb697063153826d46872a3e5eb95748d40ecf256a73a19faa757d611bd946f595727c274b178ef9988c5b72f380cb110676ea0621fb6d473672e8d00204291fa866fee58af704639c79899b8b32f7fb73c6c5e4963f32c730b776d88f4b13c1651c9b849b04e7514353cc2a6a218a39d72741bb3aab61c722c7d7cbf28894312fb991ca231faa05560555d5b47c8c867530ee218714fb28101318971b66b43cf4c68b4f3a8dea6b7c53b22cd2a397fb021b989e77e0847224ef04b713ddba6713fc146993ad1f30385449d36603a971b7271424c0400bd0ae86224bf06962de48c21154cc35fa3e8ee2dcf7175b8325572cc3c28237d8fb692879725e72f49a02d64234a10464ce572d13930499e7d4f4cbfe9643f020b5996750bb49ae13f7969c101f9b339ce78ca6ded101516081d72e2c25fa9368cc8c4a458ee5f8ea75e818282da8b0e24a10d9d0c83b50f577c72a9051d1112e65b55c8431cfd3960cc52525cfc814d748fa409d49228b6cfb3087dbf8841be3a2b33a8feee4223e05a2b0201ee28a476d9952bb5b8ab2c27f9723845b2edf426ebd6902585d569445ae2ec79cc5dde0abf336a9ac1af86b0ae72683fc67c5d93cc3af3d311128d4dd9c28324951b58b91724d9955d59ad7e3b32b9047812ec6892f324102da2be782113ff7a6b349324a4644decb46b1b69c4728416e44c6d9cc433c167a7effcaf97fe899a72bb2d7053772421df23412cb42a0da2b30afcbb1052b365c6b3001d7d48ce784f686c9d70a129e23ea949a2792e39c80e07ebccf5ce718b2d39fd1ea6db6698e14d6465cbad31e37f980dcb9a4eb50307e82beb766921bdfe068f60da72fa8fa6cbe511034461d98def14a6e605f2c3fc92df7aec7ce13682158458775c3b0102aaf29c94e0f14be74593e84d729281fb93e8e484edc2aa215900aa4f658c2ec781c010b9fa54f1081804b3a3727c8b546da556a378319bb7c4156128e68507462c5c189e7108d241fd39458e4d29d4911c5ba6b7bf4611c3397ac418629312848353e6ff8b258c50872b677072957fd378e8106f64c9fc76c2d5e66af59223c9ef40dd54d40933ba617284787243f6442e39133104780406da76cf19d4873a49bca288d360f9b523a13377b96502ad09d2f922d7e3744720a385198f843ad5da593e53e9b485caca73b4c3176a6ba3b1d903a29798e359db87ac3cb1fbfec1788859681bf80f1f48d5be10fc400f768161c405e1237898cf982acdd51b55d4f21a0a43acc7d90e4ac6d68e7571adbed73d740f0ca76887fde90600d2280fe454a77b0e9895de01daa636fa9d711b823e0a33d63d2bd4def9c6c7e6f10d54a2794f83fae436dbede9a1f04e267268799b61f52f51791ad2b468d15e476aea546cdb09954044b10ddb80711a7a72298371e48385824407ff6fc58ff645a65fe64d1667cf370bad31580e6c55c9513f5b1e261b391a7f2cb6405cee2373bc5fe98d3b0e93293b4b3f5be5ef55a06e7419dd0a1e3de1ba0f394cef7c987a71cd5df4be395e8c8cec1059a5ef7d424f0d08e5ee78087ea91a28e48e6d9b2164cd3ae17c692df20ebdca647012eded726594032bd333dab9c1ed1f29fe7944728b31acacdb07ede430c774469529f25a39afc4e69776233414b9893f901ed563bf9d119403fcb71bfe39caa8d8bc5b721083545b42e20b809d8487ae47057e592aa404d2358c0add6c1c3bbe69bf9172ee26fbab51e4c608e19d966c0816418ee24f98738aa378d609fddd497584f2721c6321ab1fe4745eba09c2fce52d8171aa699b9655c996981a482acb11ecaa7233cd75c1c3fb75d6de1a69e8109beb6ea84f6facf16a918d61a64b6910d1e472c309e154db61af95d20cd00f3b9377c0b42fdee1d87b49d252f75fffe5168149334f5cdfa7cb497879e4e59bd35abc5b5722e948339710174865274abe355c0cdbeedeb6bd7b17855c38825cd45e6eb009661da36a8182ddb31cacafcb8f2f43404f5bb077c48364395d2884ed3c835eced390e340891d06b38ffcbd1cc4d07288bcc78e67c959bf9b71b0196572180cc21a98355c148074588f9f0aebf5b272a5fca69c69c71b1fce880b1e8ef0133693fbde8525e2e9b0990e8c0ae7fbe6034ff8b5d4cd5b2459e557633bd32371268a0f171d649c659ca9b78350bfdf7e72510b1d1c53da0b980a8556e9094bc8c091b7dc2f34d9ff6185a0eeb754fb083b1a3702c916404d69f9dcd0fe3eb9f67c9485dbd02fb38bf40abf51e684f3e77291c4e4a6f70ca359d9ae6e8aee663ffee6bdc71bbdc546de1317679d1102d0427b1db2f45dd2a8c2c51d7dacd589ce52d7257f21c6a1bf10b59e9f3bf56f9c00c772db41b265e72db81b58cbc0b9a5a30adeafb9bba839f816dd0a321774ec5c3d5b6502815e6c9e50abcf595a984e9ba3c39a3d40699fd359039ae89aa1760232add7b49424c5ff18076e644963f2db4d78c2b48f54759923667ce9c2d9ec72af3bd6420e280abbfec25e7fadf43196e93e93c697f6afa5d7533581fc3dfd2cb29e2231406723babc42445e975e8815c18658f07f169622afa83858bc3dfc722172adbe68940dfb07493a1aeb621877e842dafcc2f96543db574bd3ca7ba672f7a78ee5f86f09059279d5a343cba815c1088e4a347f808220e8b26220da5412835c0d9657986b344dfd3a352ef7172554ed383588462eab5a24113072a6e7726b3d954edeab3ae5b713ddab0bd0fbed5cde8976e5e34033ec3a2903f14c62723418a85db25967b43f00a5da51a005555cfb5c8fd991cba9bcfef9a77275d372c1f443697c0f3de6fe5064ec6e9860e3743f19e7c7ec34ee21821930649b8672821e75d9f231b321c336549edb1d30dec63df37cdd753806b5c8775d86641c1044aadb52395bd2eead4195b63c297e9ee7772d67ef748fa562b6de01dad18551210eeb36e4c8f1b8168773fb6c2ad6a9434c6b1a2d5e6d5f49af2f95809c7d724dfc777a1180c36fa13553f73648686ba9c628e11843f10a84c30c76c768bf7220da3c61009f939914fea6903c0ab9ce76d9d58387cbd2a675f6b84afd11ee5da8d9c43b7b60694e82415bd099aa5ce99e2fe2910d955999b79f8e013df38372c9df34d2e0ff9d2b29e61b4721eadc29f2dc059a0dbd41060b074c341e9bfa7243418523c306d55293e5ac0103d4b077ea03fbed68ff33374d4632e4512d8a728d8a1c7b3cde92854c2e9bb7ec286a8e796196667e9271995be049890a0ace7221bbfe7b3cd5a5b3cc9560300586f7a8c2e4289ec729f6822eb8605b48af4d728cddc7166591b312765ebb4cad6b357a40c47776157fa6a05803eec13321500f5fcc6c8f76aee3c742080baefeb4f291c0a2eeeee9a5500be521b6f0ddcc6b72245c744527afb8e5d5d661651f81fb9d6891645aafa4229cd31fab6e4b2adc2466132561e79b079627ed93eee2840d2b06d8612b34fe25e0132e855ba597dc3c3a3477fec33130868ca4ac758a3c98164e4b3628f6d9eed1a21bdc144514bf18d54a53a594d52eb9673d57c823b9f455d5150247a4c8e07b6655a31ea3b9bc72b32e787475842959e056cf392f2f6f003a86b065789eab9828223bc14039ce7209f0161fac67bec9bdcb232df22e16b037e47778fbbf5f659d8e3c09c2c77372f0a4da0ec1c3559048a5f2add882d5d3278db58d3b7d82cca08f0ec7423d947255c41b8d5d7076aec5f0ee15562419e2002e9c0d324e4b61fa7e387cd7d0a91537e4c6e2394c0ccab22f7d603460ee7e1250542931a9f09097421e5203577172307ae0034840af6afc288bccc0dd9e0258bd671c6c563f676049a088df452b72a096e23db60b0ee2898807e4f3cec495fc1e30d6e837b74a1a7f993aad2610722844559c3dd0acb08267a8e158b30a1b1e5cd77209df6cee6090b49d043f9347380ec30ff167b02fb72cedc984c5d1bd489e7b0c1c2c162cd48975efc49744708ff17580771d60dda771efce657d800f4d0ef460c23d54644024f3956c138e25b42513e271700a17143a153e3fe56f82a98863a7473c5d57e21787bfc298897296f5bad8165bd38fa584b3b2991186d457725f3fc6e476d38f73917b25d725724dee5eeef70aed288075f3f16e7f05eb43c3edd9bb9bd0754297e70a8196b95fe32409f5b390f87cc0303f5aef3dcc0be8e516e6109aca394964840ab1c2765972949812673f8fec9b90fde93abfd99173e24c83a12e85d294cf9ce3834b5b726c24e674e2c761198331e90ca0374785a175eb5e15baefda3fc3988e093251729bc6de62adeec2fcac66092c680a864ed76f4df41bb99825210e980485d43e72062e4cea5047328de5db383d496e3aa43f25e32004dcb54cb6b42c5b90e4d272787b6b54e722035ace2fcf4b4cf77f3c913a91247c1105fdbf62412a9793d74afeb7435371e91dde0cf09efe4ad54976562fec040d85cfa93cfe217ef66bfa3b5a6ec10bb860836f19147bf097bd9f4340fe2720640bffda0c397e790c61500c28bb9a19fda5f9eadd80745e1a73697ac44bdfd457830c538e6236b8d22b7d7290d14c7e8be6e3cc0c439afad8a021f640faaceec813ae8ebdff333e417c0556959d00c7c413a4e2c56ec76a5e036f50bc22a0453de9b9abc3ab3988095536002968e743392664ba6118355e43937b40de919bc8a212f58718332302f1015972e845457b3787d3c3dc32753f0587faa84a3138dce375dce455af6709af8c6862d10583a40d2ba3c0ef8b26c02e43d00cbaf0534c9240c23ea18ddd6bc4f8f172172834ea38c7fe0073f213e9c687c50b1c6d36b3a85aa696f47213d40cb22655f200874ff3160fb57b64e5efdc1a9290b4a1e1263b36d7ddfae29ddf28ea5a0b5a432e6d106a98ba332aefc4f1f2b66bd05dce56f080121cb63cbd0f757d347220b2764ed96580b2cd922c39543be8966d55abb1a205a8215c6aad4f5c41eb6b235e54d428049f2a02b867343f5a6f77fd00700012cb01b35082b6cfebf659019353199e54ef59d773c994bf51c64577f99994cc6ca94c17d2f75c8bc773417211dea3f91d06bb786526d8dea1bdf5ff93e0de123e7c58ab7ddc11e73e543172d78e51adf4f98798ffa7d689e3995bafbd52650f8bb151bac278a8b6050f4455a709426e0016b0bbfe9f15ee4ace5a53065f46246771b3f62bb7db5121964b72789d3187fb5c0a09806e4f65a2888bf066afcf3f96b9aa183f15536cc28fff72d2a7fdb429ab736a4cdba91c2f6ef7e86eea1fbb57c3293f07d2b3b27cb88d72359b8b19d1216072ce8adf08a88462d3ab96896605883a38cc9362a7f2365c72c460fe73f463ebe189da58af01f89e6837a3e4a767b0eb3b62d719474520a87255abe64627e71e7031f20a8859c343dcf0c52ee06b854d77f9f67a2f76033172cef7a33bfcdf15b24772ea0364afba6ffffd5e4da96806c1eed59942ccda4f723c4f335aa1cae711a4783e21618f9216f30a58abab766a201f8b7de0610eb700a308f0ab753db5b2f593022589d8d04386e0ab8c3ae9e4ceb353d545a0422429598157a6df3be03464fa39284804e808304890de9d3379401af024fbe49bed728fdcea73039b1e3dff284ef0a5545b59c901d75e09588e60f6e44562cb6b862fe1b1ea211516baea61e85328c60d7a950ee4da4341b56a652b2b6e55987ded01916ef0b781e9fe2ba09471adaee5f2a393750ddd448cd89fd9994f27dd14af723148b5d2b1ba06324da6cadd294efee0ab597f3e900e74f3e0b462da04760072561a2925850a2ba36542c0f808f9e5584540c945bd650a9d768bdcd8b39c9f7255b0f8e0b160e6647062b0fab927676edf547526fbd22eb32937cb031a6fd3722d2adfc540f03abb5c5141adbfa970d45124d1beb2faf7f81190912b8ae5eb720302dd4f9d938f8a29181354d46fc90838ddaa16cdaf2eef7888dc8ba5d70e33894f48682aa1c377011637250b880332185ec4a26f464ce7d32f3a15d1396d726251b0a8b037eeb5154f46f934e41e757442c8f94318c45eff13c7bf8a1eea55b3bdc8155cb342b082adfcf06786c5643ceee46332d5f426b808e0e3aee7e9724e9c5fba13fdf4896d35072189125f914fce3c63d963f17edaeddcebcfe3ba3f665b2ff261df39d580d7b1c91329f6f4c1294c2efef307f3c8d328f9d6e2a77262e5e041ad6ace3296176021303aab9a78e5ee0fd9096ddfeadd895f75dac372f0c625bfc826723c7f1878e4f8b6be4a399a47eaea9b828cf4ff65a0bdf4d2474b5ef86fc782eb78983f2e4f8e4242d369ea405cef256b2a4ddc839ceb32b756ac16ff13ad229d7997960f349576065b2e27aa7ae52a107351607a58bafea2579d7a9f23f107edb4212deef75563db04454e84ace0084ab564a0538c29cd17727303a2e385d47042a5e7b2e2fb05509574b83f87a3184a98ee891adf6ce97372d4311430effe4b9d84ba505f78675fe3a7c3aba090ae98436d4aeb77bea4e97254e7d8de9e20a2d658d169b779ef65e9b2bf1e69f4172579150a0caa439e3b0f66d989e58772f9d2043c9f74c1694dc400a0465aaacec59e21f2e7d3ea4ab9721597d6b917d9a9abf5e140555e614792df41d8f0a4e4cc1205240db96ded917288492d6740a9f8d07ea4c0bbc63aa00fb3c2bcf344e4d999cb5dcfbb52a62d72062b3f0266ea716c6cce340020abb4ce1b1e8753c96ec4374625abf8f1de9a7277fa193fa88a4ec29b74caae1fc2446ca9ce7521d71cd97651205899d6201724e65f5125c02bc53f6f448d7738445a15c7b399c41ffe704caac2545526994e0d2742d6eb1e0f981c655705326128b1136a5b9cbc9598e831207b30f4e836a57217aed9e62befa41b2286cb6070fc2b2d80d12312eed80f3902dc779af561415fb61e9ff9cc96b33feef79dd0378d340d8afb3ad3e2e9bce7025da6d1e8f0fc7289707bcdbd2dc6b66a21c5b935a170143e5461317292884e362753af5dbf781ea79887a6865cff43703ba7c754511f74d1fb970991d558d517ff0f7de9f1561f0a46d5cc804357d5a0d2c0349ce99e33f7d9347c0cda5137e319dd4eb2b95f7224afd66c4e9735653654e6e0a7693b7b6045cf06dd7a522540db5e256df91a7212599a0055c6c6761c23abbaf580ea4305a34a12384de782bd9fb6da7dbfc4420a39086b83c21f77599efd07f1e85b29b6b6b1781fb68e85b6de224f9c74b072e68c5db1d8d893cb9acefe46a75936e885572c1e64139ca4ae5e7f6c5b4614234637a870e302bee6ddb52d0386242fbda1105d88f08b517fabacd8781137d20f50480bff65bb56677ff7e93212ec9e7484a96ae59830e0410c8da8c431668172f0e146bca916be23f46006f5f1435a6401b465244ac7cfac33e5943385fe8b728dc960cf6dd6b9e897726071de01a6108fd7617f4341621c2f397f49b4206672bd7bdf4b358f7d355657b20f380443d1460402db00dfa3d0e4251222974ddb72bbe480af7a4a8a58c895b5b20c187a6538a2f3513819aafa7cc6b7474a1eea6b2ad672234d663be3f6f246230d931f8ad5df8d614709fb703ab970c23ed82b34e25598f3148a67eca68e85f0d4664054fcf02ffde37bc232083f857373a3b812c438df72129aa36f9480018dfc0d2eb3dd44f1c9032762b49fdbc65c84304672e1fe6c1896db7df6ee6dd0c9416c09a1230488329d9ba1d4921695ce508f6a72cf4dc752bda97cb291df6d8e00cd5c4a47abc02b86081d8686337db79111c94fa3ae12929844cbf00ceb9699ae95e8ddd110483bc39cba8405dfd1ed29bbfc72ed22faffa28b002c0f525195a9c404f613035128567834a6e9d565b95d75b67254ca85d5494d3dd839bb641edcfeab3699347d27baec67cbfec26119f8582b6549669acae5348902984825db903d5fdc58546692248c89f4675049a4d8d96a4b03be03fac7ef7366c5406694b7a4dac99d4d0648a9e5d4f53a72c6d3fe626243ec645311d0376e4fb3dc806696f507889c6589da616f7dd34f27eac6378e397220c8fb628619d41c638b17521ed7dc539b5af9febcfe24a7a62a80caa772fd4d337135ce9ac20aa6facd4aad94c8e54cba7d28f6a10775c59e56dbe51d66f372875324a4f86b4e8f654d17952d4ae549e767ffa775337893ea6f0eb113dc2b4b9675759d623381d32a6e3aaa3087409e7aefcaa747a8ebdd0dbe4dda04804872b08042e90702a83f15588edbe6ef24cea719f393622e1e5b7114e3d501c71b726a4f8dd8e47aa3c74fa2d28cba3671ef9d53d004fc195841853be1e179eeb006ba79f8ac838ad5c91f6452f7b83cf1622dcf08d15f750a9d040ed7a92f2ac672187fe60864747f16af7274c3f041579e7856cebfb69e3854c24502473bd7f84946d5f2ff25634c6560c72e2b104702fe5d83ed84c0616e5fd5cbc7f9b20181722a1f59bd05e8735a01c19245fd52edcec681b41ad31feee1cf7e5a57eb58af42347a10994a4322d7799f69826ccc7b279cc6cb958dbd2a9213ea8b5610fa4646456daaea1445368ba750e541d63212b7613d673fb9d9da6aba4e8867cc1078086a797e8377df1620c29f073991110d0a61e1ebaed6c2e27e7f525cf5d3cef665c663853598613b8c22c9f0161e5d6fb4b0429cb40975ee77f7a725d10bfd1f024c7735b6f1267c570d27d9d28d7f8bea0a1eeeb610e3ac1a68d7f085fa20921dc570d7ed77eaf6ad922fae8b79b506a98e1129fc4d392942616e323fdcab89727c62482cb4be9066b5c598f3ea25b22dcf884b5653d71caab3592eff05538a726d1ecac0e1c17c176cb709f694c53fcb8fd2c3c389aff14a0821d636d1d7c472c6660cd33b318488e20c21f8481a6e64c1b75284b6a735aad0d02d3b09b26c729e93bcdaa7afb24a072da5c2088908cb983b29d51cf9227b8790843e3cbb0262c750ae879ada0d9c1da103deec39b18ee524c0d9d3812cd9633ca5d41e785d2f3c240c9254f6f7fc480dd84a429b74d91623c06670ad3b505be434d45e2b92725741566cbcbc0d6eb134499db809c59d2832fe94be5e9ceeee362e5441c611725eb36dd4c5136c5f0be58cab63b5dc0efb71cea3d75f480bd16f8de9119fac5cd8f1f3841eb4d18adf44ce8ec949af7374d67ff74ad43fa0a6f15819ced0f07287a42c21b71f7a414058e005ed3b1195aa035a7b0586d328901d5d05e80a826e68d417a19b36dec6da97fd65f43df19b26e6eb8f5ba30f16dd2d4e8108e45a292c2c385c4862450c0a1f51717e8bec67e949c6df1c0171f5bfbdfa94aeabb426bbc57768dbdac9b75f6f732c0422d9849683329710f4ffd54dd3d5da88c6a744410c1cf168d007ebf3369028b08b2c10344d97f2e325634b219f63f17d6a0f7212bd444cee465f2edbfceb983ed64a453f2dcffe03340ceaa8d5e73b870b952cf7da152a944fad2d62da851ed70f5ab633bc8aa3a98e797e8ec616dec0ba3e728993557c133819d6a36e11ac2a807c1921ac6172081678f46bbb11cd2c184c722e1d171fa3a35ae9b98934177845755009bba4a92cc9dcf2e8c13d50449d763ef47f0656917d1ce63d21a30e8287c4d3021151f8b9d2e7cae5713a141a26e91a30064f8d6a098b16bf46dc17d232aefdf211db2fd9cfb05e1876036b90621942d5002ce3fd994f538bee2d225d33409e1e3416bdc7517888216b3af3a01bb37280e9cfd307e1f3097f00fd626f875c6ba91806a62b63ee10b9ad8cc6d597c6726cdea142416f9d3f3d4e7102ed69fd19ed090310cfe7281e26c92246b222d5722fbcf6ba206d8eabb5462910e2d61a86bf932c49474ca9c91804f14310400e72f891e073762a1f712fd09146ecca4a85e069e5f9e3182817e5692d2427b03172fa152006ba21167158701e6f3026d39833eee5917d1f2c1c5910e3d608ed8d722f5954233308101fc46dcdc0d0bdefb27eb6de773ada3f69cc4b12f99189a272cd2eb5ec554222090b3d480e7110c7444096a7beeafaf6703f1799ac91239763a2455bb15436905048e3e35117a4b4491c04e4c3e7c22acd2bb99ad57cd97f6161095bbd15a655925f224753f0c84298ac61859221e53fd6dd282b62fd29c84ff073b50229a1e56b20791b86a5a9c3f689dde2cf37c746655ac2087d5ae07c72dd17814b63970d3d713dfc0c0d77f197aaadac59f65e96cbfe8d922ff9452972ecff8bb609913578935ec8ba373580eb7de2682ffe194560ae2bbf5ca8befd72b59a188a975b012dea23f9cf1cf8b1d781425925c0e7034b763e90ea0d48a62b8b082cb2fd1b6f52e0d997bc9fe0874dfe1a9a1a3c813cdce2214be6b5062a722e816de626f6b79f44662f7c86ca6d4b4a1b7886800b04e615121b45a1c36948ba744db59faa475e53c592b6fe759680fccc6d976c48a898bdba0f1360ddba72a12c36c5831f510418a5b4af9d2e19c80b2da85f80b13b36761f59325f0c5c2fd23a790d028ea353b420f5764868d524432595c07b6ac3b10b3e6a003a27b872a9d441435fbd729b134c2944e0da271964b1f751238479652c795fbbc38ccc21da48b1a9f35bf95b78155a9c806ead3d424494a3a22c1164d97cdf951c3b1136f3eb5f507fbedcdbe22f1e075447a67850f655921e08c484cdc2b9a012be5572b1f9d7dd364ceb1022433bdf6cc6e55ff551960c9cb5b5792a028f60c5489772fc3af5e3a5031053d343ed7cd4cb6c7e3296ae7da55ced00fa74e42db5dbcc72e799ceade79f60d9264ab75fb78ab403f06964d248551c93af2b0a20f9df416e8b08d3f45fa1cffc91fb92fca9104194c52350c3f354aa9126013ade6e8ed4724210fd8d993f0b12f38dad74ccde798b5b2fbc2e587ecf3adbd874b1128e434bcd43b1ca4cb1003e639c68dc2b5adf01d9ac49c54be8df5369782de551602a72964f13fb2189bdcfee9cd4a8cf6d64325585428abf04d44389a30b77ebb1ad1887fcd9452516996b4750b952aa49a314ef6ab4ac002af357d34f3029a8f86972bd2f5a58ac1732580a9b8e33e65880d7d6ae8ff30d65e239b58aca6e35d7ba72a2faaf07a30eb84d635116b0f2306ed12de3c73ab282ae2a4d074c67d9dde1325102156e6c76035c2a84317e79cc823f2276e4534e47f3b52f986096c2c4974a268c2e8b8fc71441606157d359e275a71c1b584835394349180376523ea88a5bafef4bf79f88912b68b5b4e67e1270e7a2f8bf73d354b986b17df1c9a0b9a90ec7efc16487ad3d803bb4dd6d8934362a2fe81dac1a243613aeb20f53f36d1d42ecc411c838296509f5de134c01b199ebbd51dc7b70c8dceeab00bdb02b34fe72ab8a29551eeee3f8597cc0983e7c3ceeec5c735fda3a8cdc09ce0b7a997b89475774aa67a0c2e27118b2f47051623f31f73fd8be5698fea794a9a05643f71a721d1a54733ce45289dac97b27b8cfce02aac068753b637ef456de8e156e946b72c2db7cea44cd0b44fa81e9e400b358975e8d72911121e698491879ef415a9e72fd6e447554333fb29420ce57195e4cf9ebcffe4ff3aa1e237d1b954e716116729286ed061ce4ebaf6fcb8675f7b9596e56db2fdc6e5b282c8c9670d2c138da72bbf601289c48a350c23916ba5e128dae842a39b529efc52c3ee4ee096bbfa072cb5507c1472c19289890a0e0367a19a5b5d063f04a73523bdaa25b6f08bf87668d7140b7a66079e25ffed392415875680372cdd3a4df58f857f863666736fe72c4a1599b3350f8474ce9056c6e4216a12350d4acc71b4e240e4465d67b959c05d905381cf01971b85568ba70b1b7a4a1d93439b09afdc26bc161dbcd4b22724a60d00529145ecfca7d896303474b1fe57b46d0f74d9943b10fe94622e94a4a72dc4dcefadd64a7e26fad6dcbb8d835c379556ae424edc16977341049e73334037e37e0587dd9fef794bfedc032040af386e030661a3da877cd94f240b656fe604403c211d035b172b1ef78fd5d0dd3a29e28af1badffc8a65808810ec6fd7f72e7daddd04eaf77ffa07266578b16b19dbf66bf3c25f09b5e7e1f708b054cc25d251fd66c00bbff91add14a524e9cb2c175fc4a1950fbf380004b506b079700723eeaa83b9e8154da9e02f95b19bb5665540e3a63d9d5a4c9748368439d6f09158e162988a5569008b42ca79eec2b44d64cf4f39ca0887737c0a4cbfc90be4d72c20855f411f7ff470e41066c66fdff90842c44a391141559a7f980d17a86cd72c4314674c92e3bc893f6867355738f0ec53a7193faed0f5fbc89e047182fda480294fc5088fb25145badc3b3506cc7be6913b71c07e6f31f6dab7ee8f1e924726d10de46c2fc29f44f393106fea1c8b910bdc64b6a6d0b369612c43f40b583391207593bcf0ed2af70914052e72f33f7f2994f3c75fd92b09395e05bc6390072edad214f891312024f9208306e7c8430a28f1bdbba06e4855295a62b23c14f5105ab6f6d40f4c28b85c8bbe34ea186c6b6be622a42c87bd3b34c8c0a9a04a86d457812433fbdfaee430e76a51ba7fdbb6e17bf7ab51df5832933e2a0e872117266dc6ef7d9fb6e933128b6a5bcbef99f80cacdea92cdaa6de818e0837b200272b25ad2ddc5b6b1bc7068dcbe834f4516afa7ac615862c304149f9ed1a7751172c6df8eb49d8ac19f98d5803bf2e1b8402e23854848626c75d37c3e996831bb4fcbbac5dd5bf2cfd2077493b1efb6a8f00242cb997e37c6dc5f8165441cdc317294d74805d5f14ccb34b39f5f1d03ae44184f3a1fb78a80dabbb16b789ce0b77222445011f917843c5c0219ceccd27da41aade4fd07c4e0d261570bf9277fa572513e785d63b9540730818233cb16350fd5ff0f802751b4e5a6d86b739180bf7233b9d0995b7edb1c24781dabd7a90064d64c1d3445b61792b1f98abff7bfa86f18eeabed38f5aeb8bff3f1ef6f560d048e8ba95c12808734d8e34a29503e9172104d8624659fb56731194d61dff04a1354a16d8eabdd85550049709cc5101a155b736bcd6b385818aed19cc3641559d003acfd93a09de00009511c7645dafc72319f6415f7bcdc8173fe6669e07b119af0b4f9c385832b3b680bdd2a53e5f672cbee8e63a8a0d5db87d133c9f997163c679d47fc9d024cb2d6c5dce8e3f41d723bacef2746dd75b84d305c8369ef32e2fecb62b863aecb7f239d4ac1dcf66a3eb19d21256d29f41891f00ce7457574e8fb107141b6569137b7f4644594832c7263304d4b71c557a6a17e30492564fd89c7407ad3b2b56aa39f416214e1146772216f3cc415254f90637c36518f63ae28c524a6837169aee584939f63613213727440e09faafef7d97cfa3ac7020658a23012b05e976d5cdbc420ec26e2f44531b1ab401c6b6b9f7e1daf851632280531b13302bc0bfaff5b0d24870c6ce6a272d6e4f596c0e149ad2cad4d02a625be38e3c85e9af010a02661dc85d4013dee2140a3b26c165087c7f55015a6a811cf3b908334c8d4a688868e53650b2a5be51a344928ef8593c7a34ee63daabaed7ae25cf37b885af1f2062fd19ca3f749ff728673f31d527a5fb6a1d74eedb90c5cdb8d24780f70dc1317112a807d15f5a26dee73648776ea4828390ddddf2002dfd0776c53220f1dcc85e6cc38865b724d7208976a0af77e56667763092da3fd9acc4b777cd74fa16ae52783c5021b35f7132a46cbdfc3eb553e31e60572f0d0a11e2f99e75ab2f43cae5a1c680a58feec05b3e6441dabc4343aef8a7e68ca15a2bf251b2ea0c5fbb5d70c581eae6845b3724f12b87d36108e3c19efc4c8eeee46f3b0a10781de71eb627941aa78a49a5f68e27ff3660b098c1a88c5cb3876caa7ab39e538eacf972ed2e5a4835962b0e672e929b9d072a86d4443c9dbc9a52647b8004421029d6db6d28470680bacda7f1b06fe51268aa0c2417d245c697c119fc5b4cd9fb5fad974d3c5cae8c8726d102ec70f8f9edc64d42995f2f3f62a2aa7855a0f099ffa55bcf2fd1d63d3036249722adcdffe5ea5614783df3cbf9cde2a4b83cef3d225238df3d90690fcf5849e72b5709efbb13609293c02efb9dc885a82fc76d1416032a02a66efdaf1b57345722a87d4756bb05586e91bdf8d61393cc1d482b942729105409225c46f97221472b97129e6abe947ee847148e67632ca0de3853aa734dffcefe93252876192a50aff41e2605f1bd390c7317c7b07de91cdae899136942545c1bdb2adc5b7881a4e315ddd610456c8d9678f1a3cdce24d2b25f265a1eb139144bdb0d73c8d6c287225bef748850929196b038ab2d0afcea5c8ce392128ecd4b744e631a86f6ca972a241b49ca0e3c33d81321bdf4d78540f93f9208b1232316d374d1c5d6755ac72b458d2cc52a49d93a43e7ccddc4b7b475bf00f65e3f76e32e17dc01c80461c724d121003cefcecfa8f2c9af8bd16dfdba0ddf782fa98a7d0187e21f97281907264058effd81d7525e76be39c8c0c2445e8b922b2706572d299627072f2876c3f331d8d7dcf3f902f2c588bae63324d27768e55d4f14042926eb58b3dc96c9023a0b573578a1148ebbf1d95d25d074fa1e1e8cc22545941ed38816669c09a8b6594f6dab9b77b795eb1bbed8cd822a2d1d4f316fa9c11b21295a2f18f503dc8418ed1ec05759c288ecd415b078b026d32ea14e7acfd3f2f67b40d634e3e5d6f39ccf0e3c3db7e8d55096b71d42eb42241e03ecd65ff2023e6075152c20d19d76a58c27e5c011092b31dfc9a1c3f42ada49f67f186745d2f0f7a9d00a6dfd8a272baecf5c35122668f8d05f911c0092b79203b58fcd3a8d5e121e83efd6c38d97283c9f77ae8f532589eafca97be0fa5309fb9083f2540218f82ce2c7505fd526e625c78b990a9dd695362def6a7b5044d94dc5bb3e36cfdc98bab26ecb2da4d7257311559c4cdbfee1e3ffbdb2e6dea6376b7e99ab9a0b6c698ab3c83f0e1bb1851c476e1e3521b970dba73715866b983d186e88ab42f7bb63b1171b73c1d6d7266ed92917661d809d618f064101fa5a7f6b64db0956070403d8f13757bd13772ed2e828261ca5349a901f976e819d3072176b7b99f1f69d41a3aa96e33ec027221c1c3412a5f7f4a67cebef0a56f3da2c50ce6204b809ef11377f341062f0a514138db9eb3659de4b47a3b0f127ce2591da0e68d07c02f1ca8182883169bd3721701487593c8415b1243bcc6bded60d55c29a9717e3fee81dd6acbd6a67855728a71c6227d60c9d06b2018bc92493e8222103b529c8f79a82986c362cf95d3304f8aeea26d76fab9f932d8c80eca380210b09fd36537cf4ce027593f2a81826fd1d7e65ad13422b2c138f6f87e62563d22ddaa4e0c704e4ba9d990916c74b0720bea779642bd6f12eb7fd86feeda5207aa6fc0ac4e57a84feac51060cf0f397269af37eb5ccbc231243ad5f740452b21ff83e7263af3f0d7bacfdb68b696901b7b7aa2f107bf74ca8c4127bfee5bf872951f8a06d375354d169bf430c7330316cbcd831098d1645b29af18edba55e5df31ab5cd2ccf17f7c24a7c86f672c28726e99f0e203db0ac89789125f92951ed0eccefe3625b82e2ccd536bbe6e365e164a311199122d567374da9a72025f745f1f9112460eb95926983ae8b0aab53b72b1bf0b08fe2718584927d8dd333ff7c285e9742c97429227ec6cd0bf992f5072d52ccfb74f69cc3795630f2516468615ca125e377f208ee0ab224327f349f4026240768a33b142ed4b5d5aa2018858b15412cdffa0461d706a390dc206f0da72dfca3f79e98c42e0070f088718ea457396df8f66eda25662a366272516298872577f938decd689d2d373bb236e7ddd73ec1db0b822508be05e400808aaf0fb6347ba06f6dc62ee683d892225b1f6ab1e2ac7b627f95cf9ca1ffa55807eaeb872e60a7c05637c235cd802a73b44608882eeb0421df264adaac0ef220502162f726a8db9576e3e68dc86243f0b429610ffb0e094322eb5edb20088439eb593644655c36a5bb95c6f8e84ac4dcc09107ada4fee15cf6dff6061ea8578237dd93f2b74fc39c52d499d0e693e85c0dde4d28fe98500632b7ad3d5c8f81a1b07f1dc72f75719473f897eb14c2ff67442853e605b65a8c9a4d90f97e61ee350bd808472b457f0c786a0f06c39c146971b7571d731b4e5b5ccf4af0c67cb012d529b6d09c8e3e95aa25be0298957b2129395f8c6351ffc1cb4bbc7313bae3730d93df57246ebeebab4d59bbb017505ca784c6a8d919a1de69393a0cc04893bcf6518fd72c7c3ef4ba9210e9739489cf49ea5650e72484007b4532082fd953de22c1a41723a53f1f3be767dea46ee8e9f07e58aa4c298e66df2969b608c5d3954e2524d7208c4bd4bc7624aa23e6ee1cf43d73a424a8ab5e08eda55e0136f4cbd2898b4316e30e309c659c8ef08ab078819ee46025d2ec802f8039166530eca9dbc0e306a93ebb5ee56bc4e77794d048b055387e61fca0d1c642effa726760f4f39c88072aa780e3ccdfab2fa064648428d18ab4088227c433f03205fff13af547a87ee0cf300c69a8348bdd32ef637ceccedeb33bab3399f5d7c46cf495763cb50a5d67251da2f986e24c0863ef850be63107dcfc2ef1051cfaa79f8477d50c10b8d6c239d3557f7e99bff476badbe22068e798deb03c85744d5945d9549ec701d2c4172037fecfee1fabc78eb974a6e3bf20f11f2f3a90b8c1028a7c88f1ebad71c6d729ea4159ce6ad5dfea062d26318566fc7a3e563ef64857ba06b6b1508b7e16a72f06a27f564effa7cda3886a58be3acfa60d961b1451f102fca0a93e977f00672e2a942c8ee8e77b674e4d798cd1777ed657d8d3c75dd2e14843ccfd7f02991726679fac1405cc4583917cede4764b3ea5c3aaa6330fe5da669b0cf794d44fa72ae9f84b075a7ddea36464537103c0e8a86e9d3e738bebacf8f00b3cb47de6f33145a56a515b3c20985a27bc1e77e5bcdfa40cd554f723b1edba2f43ed68e14725b82916dd11a5c29bebeb69cc30e2a890d39fddeea5172bed674ca38c5e7bf428960f869de6f39c04251af6626d7becdcd84e60627b4d51b254f5dc139de6427368c712809558959cfeb6732a28758b445ff7d69827974e93bef4fc9ab0d0d3d8563f7a04890ec2135444b6246e552c9ec886f70bdb3e528e2ca3f72fbba9f1411e14f09113310736f4566ad428236612cbad26e924e4e7e833dbfcf19ab7e7218143bd6eb5327234773c7a50fea82bae4ba53ad77459b114f561f9e67685a18836b65079d69887d855d3f2d6da2b5f6702bb17b4c653b56d4be87f964761172e4056589ab09de4467a2d0ca25a24d8d51d4f27ae14a89e021fd28c9f46c06727c9be8d8a407b410abc50216cc5ceb344883e5c134610909dadc21cc26955a4c2e69ca1fea283b410e6da35ff451282322758ef5e049be9935c67ab57d3e9a7274d6163cd0f41a75fd36761c42fef3ea76fba112c4f439eb8088c836cc307972d0912aa8862ed93f67e469efc5cca291928dbd6b8198a086cbad16e58fc52872d162e20df65610a5c9796c55d73b50607b498c6068e3753006b6854682fd3e136bf3bfaa96c4f83540c290a6ae8a5f77b6b6ea2ebc2bc9c5e9db3d651f1255043c6c1e8b8ecff279c8fefa0afa21c7773c649fbb718d9e765f1b510d76a2160a878312d88889e2ea869926a87cce173da00a8cb496285f13a2b1ea0199832c2cc1e0b2e97209cbc3cb3522924a2f933b18552f932245d26839cfd0c9ecad9e72003ab07a2955eff8be2a14dd642dc87f392e4e3ffc820dfa47ccda8059c93672e170e1150b1a875245205c3d822e7c221db2658965aae8e81b6a31ac499ea21302b1e0a7cdbe76f92560d6350bf0cbf6da60cf5a06302100a5135f9c8b90b072d5955cb0c2869a62d29479c1767b2f9c2c37d24670c5743b1ec6c63d4d968b72aa5896a45e60dfdf59d20d0bef4c8c4fc5b1e4d6a3312748582b065a62db6a162d5ed034d5fb80f4972beed95f75860bbfdd99579d4c7d28a4b2fe8d7ce9dc72430d03781afd1545116e1c913a2634878b410da983e371142c08021a55ee0a1892b4d866c3bf670c2ebd858d6b51b3e23bccae6f9b10ac9e7a5211642f6b5a72a16daea608cf3331ed34fb525b7124f494781185f191826fdc1812e4a94b17415c576b8c59893840fed9ce490241c9cce8bdc50227a1d3af6fc18380648310724f8df74cfc51f83f9a0b08cafe4bf3cdc74928a84a600169cd101cbb5dd9530cdaae6a1ff5244207b12330f90462e4e68cfb046dd2ba0052022d00fcbab3840b5c7e47ed7eb9cdcbf575f93d0f38077625b207515ba5b21a0a22e08d27d23615b18dedbde92a82227b6361eaa2a28e38cd5e08bd9619ae9658f7af4b963883725872400d6897f9401952eb0a86abb6d831ae7e9c22d5b5e698ea8759cc469746ecae68fc1cd48ce5cfc88f33b4ed16cbcdaf52d1388018378d9041655c55091c7ba59d2b9196a4cb70e3a582ac87d30d31c6be49c0361b3b9000bd1d5f096d7298694cd5b96ee76a352354dcf85f0b001b162fcc69637abb4dc6d0110834e7729448b66b150b55a8403a9095f1da3782aba4e437360990d977bd7c8231d67f6207dedd30e0fb2c2a03c683e15a14c2b5728595267ccbd5a038cfc86faba162278b548497c559d978ec1ae5a88d80e5a5e1c533a7275f9350f077b87709e9dd1657a8012a8cbe4a519fe4108dd3efa37617d072384639f1c93dd9ad87e42b92724de84e54dcb2e499199b2c01d324e9972187559ef8c08e494943f458af9062580f7c64d31edf1c172846ee8f0c8e9b5ae959ab945ce9ccb6fcaea6d59b2634723bd1c599b1ea85ca77bc854627aaf2cf1672831f6bcc82f1e5ee79371bdff372906bc21ec2aba1536dd75872b5d0691815171a4de0b4c5ec43571cc40ba03621c75c65916452467613b25f7390c0e08d4b0857b1e18f6b277dcc7636ed7f8a11434c5188f2fe9be2918d2123f7b06825bc054f53a38069140d221de24a408b7235e2b900e5ddc8637c36a4f351c00f004589568acb3384381988e169041532729c74cc06fd9dbe27d0e91ddbe1577609baca91c57879e8b1b5a1716ec920097214205081a158f5f75ca0cfd69c22ed1cbf0de7eb8b12ce3102f651dab8ecaf72d8fd220b2538fc2fcb0b73a56e5101486901ff2849e291aa857e875d17897232b233559b5c7b1aa03f7c330925ef4ea778af67e277ad164f91c5f97ed600c1722c877dd36ef00babeaf04cada7d6aaf92c29639c4aa81bf33068577ec4d24a4fa0a344043b41cd4025c8111107d55a857c7dbd7bf84a9b109c229f57a67f0e044b2ade2cac54363c90f6a9504beda96427c6274a109385d5e2f0ba4f6ff63f72f18e8388f0cf9a694750d2af549a0e3821f406e2fea5ef919b3e0422f06ca1729f2fed904b56e693c523171f1e82ddfd0ee24d26944672c1b3c1f10e4c06bc72b41bbcdb93ebe8be6df7605f010b400f245fc7cf197d0f0cfb6c52968a96936941ffbee88518264c3906ffcb9455007a3680d6c665153e03e910da128e4d9960f401a74b41970c1caa9e260d42371022354049647d9d24c2aafaf2af1415c05113e9717576d17955af67a7d9243b0ac522af95e0de2e617ab465606f062b0348e704268971f7f47d1c695f7c80a0ae157f935986555e39c4ad3c119296bee722515ac623b3b7fcde1166ecc770ccb7b190335cf3d708d1a944c67ec049a0b9726647c2ef440fb2f43e04a60ee3fd3a9d74a09ad1ef0fed0196543e515585b7725d7953d53a12b22088b7a62e9053b85a8b127b3eb7e1e047030d5fa4798a463c559bc3653dad85c44d20241b2c41c88dd7380051c2c4fad1364045661704a32bf82f4a3d24102261434d745a5df0df2055d2beb450dfc7e60193f8d229f09a72eaf347c7e8b6b08d06c59a938a67641dbca28b6dc8424c223abad65eb5824072cd9383cbc1f06b4ba96324260764fd04e394d87182e92bf28a72934c80aca472b6b484cedef0111c31d8f5c48d81d3c975e1757aaa2ecbf594ef53608f860a725d2c1fcedc3f42d5aa26bf2e4060772b54f4fd2ff5c811764681271b131c43621313d7bceff56a5fc92f3e81c794c0ef8e0187e50106366034e8a07ef8f10c2f8864081462b699633f71ff5ca256ea435b7822819b82f1db2b7a74ef9475c572b6a0c4a409dc5382eca2499e12ba03932b0b30e1c68eac12a53f589dda4ea67248e4f6861effa6114e3c44b5ae39ec06baea116e26daa78b45f91f77e19baf7212a2a7e328d796c53ad7bc351ea4edbeac039f50cc7e73ced455eccc619db4538e971b88381ee5dc25e0fc2e043e01054b20acf8328021d3be8da56de99b2a723c811c9cc80cf48b2ae71101a4a837e91c710ce0b8971859a0dc0c70ff7a4172102630fd535d4ae58df7d687dbd8eeb173f4e2dab89d2ddb571f639aae900872e1495228b46f49d133b7d86ea1bb0d9fd6b1d9246b9d9a8ab4bff2948579d2726afb5ee49cfab9a4a0a7604c0e1961d53009c1ac19c3b57242eb8e825ddc6e72ec6af61547ff2a697c0f48b2d169630b1873820278e5d77080f5aff1fa77e61534ce5632b5e529e419abd1407fa16d9aa283ecdb8d846620b1830ca57bbf74720e7567e562beff0650702f477ed834937fc87c06b04ae6b51c72eabad4b07c726f4bfe70f7c13458d1c8463c8b26515199c183231d7b51e66ff6aa09f1259d72fa49c9864e02a7da65285b0fae01ac95ec197902ed690e8e7a482e95a7303c7292b172105082358ffd0d817f70bdc176ac684a43749d02b5fec7e018637a0d724cf89e6025a2e47ce729b94a5750a02d81f12a6a20582a7fa4d22d031baae87256d409896c238ffb722722d2e68c10df2f7778e0fb7152dc9acf613d95910c72a699b4811e3f8401965c784dd484af6e2d06b0251643283174a9b3f417ae7414a201fde299e39bce68ec1361d7aeddef71ec0d2c8c29fd841177681ffda914726b933477015085051a26f98a6600653ef4f08f3d2a112db6022aa255c5af540e9fbff17e1d8a1a96311fdbdc02b9093f5dcba2f26628d943f962ab569ae28c72d711d53570f68fa9c937d9033f68132548fa99f3af2d84280636b63c0572fd02ddf77d86e2600669e8cc2e002b951e131bf2a8771ace43d0aacafae9f4c352728a8779cbc075e94d7f91fd3f3977d1ce6f9f923cfa815081f6df7a0bda832072bc252e547860ac6ceb54d94e536717588c299f45966fca733bc7240352c5720656a619875853033903778560c5dc7271e2ac5ee1808ea3752d712077823e54727e350ee224504e93330bd69f1a7d7b807ffb04e4837f469bb64e48130abf857260b6087b9f1ad3eda32ddb4d362b3af4d991a43f1c6fa3d588383a443083f355b85cdbadb0479e8cc573206f88f99d011ef27e151154da7499a52c2428e7c05197d40e677b9b0ad0d5cf5f70d23849550f51c09efb83cb345ce78cb4afd3cd540055f0d69ecd61688729b14be424f4bfa120599fdc54078c7711ccd0ef9fbd729de6cd6869558ab687307e2072eb13fd1a7023f786efa4750af6759eb5007c72e5c3b96b48e1c5cabedf6d953ae9d1fabbdc1cb62ca7ee07f9fddd04af1f47481200e4b5f16abb6ad508f57b65d31fd8961c0a33bccc5614b851b10d314dee6d997a0135d6040ef2f576db2d372ccdf78211c521684f1e1b052658c3ede1185451802dd909266392409044ec43880b1961eb26320adac8ea65b624927bad3872b20818423b25d85d6b2dcace29f7b4ca9a8384eb2fa373bc683e0d6531335672f020daa1c8e2b483adfa405c277042bab4f8a255e6d62da86e9265625e9f4372e720a9dffe1a18ddf7e903eddf9283960c19a1ba57fda0845f24e485c047925cf9e28a2b21069cfc4b271b4093c14942026f5b5a1e26adad25d8a26743833d672b8346dd4b302cc223a8edd94979e160db30c72c8c9e9499c30ade2b47b93872725cd1981c978e621eca69c9265cb0ac09d9fb3d2714c714da6071868e845572d8f2fb2fc656f92462698f5553ea09f558ff77163058cab8db42e1fd0e0645721b9f1b6e702a1c684f680b2c7c8ba872cbfa4064d65c9db4904a4e1970e6131642397ca5cd105ffb861cd326612e484f73a83646703e9bba3bc3e55f75e27d47785e4b924bd6d1c6545e97be7429a4b29ee6bef1da02aadf0625cab602a1b615c34dad80c4b88d238ca600a10c623c4121a51db34c52ead866e1e50a6e0fbe65db22e4180a9c02b4b9d8cd76d81576ce02f5a3827c64ac80697584b7824c3430460c2c1f6d49695125ac2269e3996a70529451679521648d205c4cb82f4d1e721970bf697e38494fb4cef5f8011d951d318c31419c4b584a3ba2e0e468159c72cfc7373072a46e39256416ec08917fb67d615b1d73fcc87bdd3998cfbdffaa1f0a7811f579f22ae4a08c64784f2c3dea15e5c9ad57c75690593293af7d9e817253a756f20e1d801ae3e4f7b9723f7ac615c7cc0a27da2eacf2f2bfb497a00d250f6583baa7ac6044ff501124fa280ccd1e98e6e34c707410e37224270464832dc3c6ccec71246a303eeb9f48f3026c4751be9e67d74ed39820f66d414943896e5a7e2493e03cd26ba2b3c51e9642bd823b0b85ed7b0295796a369c7bf2453a72c8cf1e417fe2f43802b3faced8c3a8ecef380285e09221e08397835f5270b37258800eb6f90d6c069842a1b4bde71a2339a13d029168451675d2aa28d3084972fff7127fad6c9c882c3374a1270c2e6ef5376f1026bd444c40872ba83945866d275725973310b4a47e8d4b3d4d4f5ed592cd1839025f6cba78389aaed516d172ab05108551b7855066a09e0158cfbdd95bd5a6051ab8cfdb53be46152a49ce72bb2915e7f8c027f35c6c5ef8487bcf7a263ef7288c028c1e44138ac85af91f087912780b0ea27e5d4bdb43d656672f9a4dab042263e62c43784c5900116c1c72fc1ff0a285f4a5c8843da87b51e31bd2115e2e6a36b990ce66801cd468a6037209ee330605729c8853cd74eaefc77e5439d017b9946c8d7ebafb39f99099e65d5604b1d3dd7900217e1cc565ce4ac0adc18f302b588bce52959df5e35dc66172ad274d61088fc38340ea3a1481304505d89801325b70e0c8d37ed36e49a79c04e121c6341b2560647e0896d45526bd4788a9dceb538d2f515e60f125626fd53d6a55cc189c9dd349259a6fa0803a320483b3c19cc83c78a27a88e54ae9dd3f7235712bee7982be7a921e9055c8ad2633bc0cc74c6967e28e10d458bf964527722d2901599ee1a815f3e4f3b1bb26f9c770e97c1af3a00201e3894c841d5616727a84e1053de0b3db0efc01373488f69b87933fea193afb65619f6c8c78495325ea58827497aa08790a114ccac6f5a951bbfda1a5c503a15b1e55395d7d0ed972fba6cc201c6f6d619d98f597a8530dff7b664b7f74b0068eb0494ca177aed272283e4140fd007d6a06ca859809c637703daedf7ae5d47ac8b2b73dbd735fd3725da55ce496d73db4cf3673a0e04cfb4d8d86c0baf7d162633e19646b55b7397274c3438638991572926554636f086c9119e91213999f5af0339d09581f457334facebcf1c99e18281acb6724d211ed64c844b54b543fcf40ccde2e510b4bff7217bc72a83977060c1749cfb9db8caf5588e5c7108996ac091d6177bff5d88d72036b0b69db7c89c0f3d7c97dcd4e1d8edc3e22ee9da86a0c091dd9f8e81a7f72aa9bd7fe7c8e2bdc4151ea2dcfbec2cd32b203aca4f5ff9b92d809d17fb86172309126419afe552ac3cb63c4c1cd43c695f1c1ede9d5ed269352400f38c1ab669972b0fc41eef0183d66d10069a56b17eff0e32b823b09597daf38898b476072aba3371e04269d6bac730a771a448cac21faa25270ab1b4b24b657f8e44d29720b40267e5a0d0f71c45d6ee8b7376bf86579eb6eb4ea224aa4f24d0eea15ea6c8f9272a79bcc81efabbf4a18f8fb39e81b8deb555558399c5c933f5e9f3dac72f19ceefe6ecbecbafdfa1a291e13acd58c5de654e2e8fc0e11c04dbe6716bb72b30ff42bc26a5ceab197308e6ec5b412462d89f819328ffec5f5f6d6d9e244234c694ac33c8d3fc8736288936fb232ec9611cbe997f759d1de70f3c5f7cf760131b1f914ca483142265405e33d990f2513a2d4cd535bd05c09744cd3fc518b728dfb7cb5189fb619a247b18b2d37768ef6cfbf6ea219352b351a13b768cb6072583837732f6b28eb98145f55d229ab59ddf852c2774233bea00cc504b897bc221e50164b50f55af83221ba44e2fdad1f0ac6d5b03da99eedd402fe4507f5574e1309600fe277a0e3c0d4c39f7acd3f06db5e6e67dc3221f3f378567ea7fe9a72a20eecac320c6de2cf747a293c99cb6bfb5822fd1c4f998ad1a57c76ce31fa0bc1f033b6e055b29234e16e29aa3d1dd251383c894dd28cba81c6dcedc4400e72a6d285ed20bcb206edad60883751333da0bfc00733b9dbbf3f43d2c576dffc7219436c3cd523ed2c42957a6412d692b4bf7003f6e3522493aff2664116735972ff8623dd24d41e1883d7de10d7ae423849ca638fd9a6c9cfb4c2c2e6a57ed213d4f902365fb82ef40c6f9ad2022cf8079a7a17ef8493239d9c9984aa414aba72d064288257ac0b66537e8c368a5d9b168848325b4e914d243848afec4e74b22be0cfa692694fe7c962dbaf6a4c8f08f570fec2ae95cf232eafd5e8a21990e57289d0f5650674c925cf784be0376d238b10e2cb5240c1a4edae76a4635561654b24184a93fdac071a800d4ef2e126d1ee607dc30bfece1ab83149611f33912372b62dbf1d560fc2485be3f9a539b08639345fa6ff53e013768a8ce345d3624b104344616ee3d64a6f83ded622f3018432fb1673613f25f2ffcc59ac391fe327148cde291fbe30efa1367cc9643775d6fb588ef50f8e3af464849b6250bae09d721b2409b2edadffc24d29a801587dbef05b4896c0c138ce43b002fccaf164fd72af5b649f041ae0121dab8a39ed44a2500c211582b6c883c7eeb222022e4a503890c012d94942d76c87be05c51bc694462298f4e5d773cb001baa55bead71391a06c633be879a41bc0eefef07d7885cdcaab43a2fdbdfc53c45831c3757d2327290e334140e3262d9f7a845dfab49b5f7343783ff830ef99750379de0b4d7e372ac245e96c4453fc43dee88a0b96df5ba6ab0f81d7a48a9c022f158b2cbbe277267eb844196b4e7757a04a0466ee757dc07ecd8561e5133ec178f721a6ce26d039efa77338bc833dfeeefc1ad713ded0de63be3d7c359ae30acfa3c55c60764728cd0e7d1ca1a7315f88913fb744f3ed062be963b18c04a173f098b2ed7c2cc7215e560783bbec6fa83817666ef42bb8e92ba560b00f279078ba25131477a7f61af5e901ce7ad348d2d3f2e0b2ffc56f8251a4a662102a5960053f8dedf659427c1ba8fe329de5cc86411e5ad26d670e5ba9b504fd49428fb4b39b52bf5b6b456f13e36c7b0549611faeedabf19a4f75ced2d269701ccbee0c37663f932397872ec7af1222512b8d3734fc2123c65222fb2327efb2d8aaf8c1dffb128522de008370f6fa8a9ea2a4d3f6de1fce9aef1d4e64ba361f01e6f446c5b9bf69b9a757285b3a11cf643c5d68b232dfbfc93c968ad598c8993e1493da6542aba7ed3f37261d2b5885f4b9f2a6bcaac761cfaa6d6efa9020ea0e1cf309c1c4d521f2456720d37ad519777cbdf9606c31965ded71af4dc4973c60cff33f73a2d436eefff6b43460caabf144716b5093636cbb744e2f73b1b51c535ec9177aef55e0df0fa7267e44599920bcab233ac3ff62f0ca39e503fe20c94ced68e5987a0a0fb5f3272b968d01fa66314a0663fe21b5526044d2150307d4fcf8e5b661630d5ae45db720ffb3cd2046ca9f62e8076724d5230d1a3a504d240b58d94bb1c0777dd8fae726301d3b44a25e74f6f6209fe4c56f1f935e3c947763404e074a5fb5a3ccf1055c5f711be28363bfc83b02be729300ddd207b51e81d96235398cd3a17bc742872279d75ee9cd85db17667b9dd6b0ddd5ba65a92a5abfe4aa309157f1f0877ec7283e1fc13b3c01e3e0a6e1d1976783bcdd4c0c224a5959683f520f8c977a2db72350fb72399ac3d20c495ca9f14d4704dbd7ac4111196aa005c4429cce12506725ce16084948657070f0a4e300f152fbaa2c95fcf2bff545057713d2064bdbd72e8bf310f74835d319ca2dff59d01a8ee097706dae0be59d88d4044da31829d347e76598b5623521de66f77f295fd654f6c5c42a45bd05939d312a4998509ee72ad3597aeb59eff3e88578667b5c609d5b6d532b58ea0c813e68801668808f172666b570669c750f4e76795856fbcf154d830aa7a7663ae581a49781d0ccdba72beb7f9f25fe7b6303423c7772c94a7a100f08b110208d59c5596962417cd3a72ce6967e1595ecf0086c18288ba5690d6c6832179629ce35a26a5af97d011862a26286c1c87e8618e52fe20c7b0af6ea6abefcca48dd64057e9a0cc94cc20d07290e0ac1f2490c224b80461e99dc90827867cc2b1b208c77fcd39c9335c3706604e79883265324c6a8da9e7a653fe37094b04e67f650431afd3f4bab8e5ed4172646ee3c31ad729bb21c292673e65b9075decb49eabcd76203fa3b046cfe65d3c1c57c9cd96efc9a055ea0abdb5f4856765f112fb10acddd915184663814c207255b4a314616ed80d80d0f0ea329dfaf4172b9c6137c5982a7c177fce45989410cb0a53b23c4075aa03934e8051e5c8e783d5b48617aea9fee100299eb30eb25537b3a1791e8d90d256468452a64ce29a829761a413219ee9d3a57bbbf02d0305d43ce4c870fbfdd8fff52433c0d06421d16f7ff83ee2e95e72fab7511d2f6572a9504ef9fe54275657f9a366f41d91b4ea39791df9023fa37a2c3a7446c70a7209a803a1e7baf23c6b25b75330084369003315a4566110c5aba666c32513953e326bfb0aa85d7e9d795cddc7be7d6a3489ae22c597f3faeb8c8329bfe22437729cebcd223452bd2c8d4c96d2bdfbb930b21e227d85d7dbfcb5d7745a907de16433883400620f2338db113f0c9880f75facb45abb7df610940a36a11e87733d7227a090f94e46a9cfe3e46a4e28820ef73676684237fa8e205a0db9aba8fd13682ae68278461cb09982eabbdcb3640ac02f03a30d37f29d7a8ce6a8ffe9963072f06d936a597f2f63230bfbcacb02667c653fdd59162fbf1782e46ff4c168506fd33f51c3b090dd17e1d6f8f3e349b49222f35da65dc035e99b00b60d637da07266a106e2bfee689905cdc9b1233211459c3b2277e3bbfc08c56d828aaea3fe72e0efbe773eba3197934812eb0f6980f44f40069cfc6e42196919482d3d0c3c72088118d421a2bdac262601da89c10c7a3a83df1bfd87bf288ffd3bc8afe783729f27eac689784b0c05741b670ea5d489c550d8a997fd35ccfc14f7854f4b4672d5686a8d2d97f1ecdce8f4f14fd8e8842072d036062641add527e158401e0372adf06c1a34ddf14ad502152cfb3fc2b86468ab4cbbaf0603d79c3f2dd8b3e672902da0ebeb5fbf59bc75a817a038d53d98c2714233a8e6b59f6af0c462f7b90d4ee8f6e93047d4e33c80d659123742960efdbb8cc0c7040815a7ec466a26827282c0a8bed48c7bcdcf167b1c55a2d95eac43314888d40fcc2b0ee28430dd214369082ee7aef6447465fd454c33e1ecfe6055f63726db8f2bb189d60e95990872fc61189d8492735f8e89e3cf63f0ad735518df809d79ee829e2b9f0ba8916a722abe057fb8a93daf711d21093d96012b6fd95413256e1b69c4e75c9e62bda77275dc5afc9133d7f3fd461c1bbf2dd5df969c5bc97549f9066a2588531d4a98723ae3f951376047f119df5d13688b5812faddd507da80d0f1f912aa0ae370d472a0bd32b0bfe062e2866d18ad4ba7870d1ec8eb937b8bdea9f57c1f42671224721479d7bb97b640ac15f0b6093e8ec736e734d6af68deb290de75ec7ff4bb9372d5e468d52e681e5c1a97ce0bd61a345162f50ddd4ecffefd6a7b53ee2e2d713b50ebabc96e3fc5e256f81bcf3be0caa18e8fb9d55d25b1501e898250d1f14a72f2f0ff810ebbacec7fc98642fb022434fca2d52a2518ef33d23d8ab7a4daa47289e879bcfbb7389464521937e45a372c4bd11758d0cc28c54a51c4293416ea723dbe8aaca48284036f5adbafdc3da112058f63eb69ca6a430e2cf8ef56bf0c72a41737153293a6b743fc1b00fe1f7f5385622acc86d6a2549b4c95fdff758b38adfb91bf471df7322d398b217d863e7cd204a1a4719453b7e01d1ecc8e10604439ee15b77fecb153e2adb65ab549d175a83aeddb7f3a2c5129f679d566db5a2b28f7c4c177e488819ad80c00a1975702499fb73c23a6771cad60fd61972a85500a64307bb3fb2f34042ebc8de2687a071a94b4d58019faeba9e0e40df350ee4d04ab20b12fcacd6aeade7b8c62a537082055e2e46d3606ff62cd3c82b5347006f1b1f3bceee0109c9fa29838da1864481c0f748b8cdb65d2967cc21057a78172109ecaadd7c7b2d6e477523a2b5e826637079f7f6b88b16dafb1c13f1d95812fb612211fcbd7a485b1b3f4c64cbeeadb87259a3cf975a9fc3d82d7c01dc55f7292aafad2d12d62704d5a307b9dc7f171b44214c1e9837bf5a6a6f14c5d3f3e6cbd76d0e3dfb18affc8b3fc7a4562f5afd8318ee62ff732ae634ae12b0b8b88728e715b60099128783bdd39159686742b689d518a11f796122f36358a1d24627244394c8c1425a770d8c98a82ef52ebbbf2d0c4759c7a539bbe970813339aab6ed740bacff5df56c224b6fd5ffe4c6d7ed08bf7bc0e93d4415115f59786436372cf18d157ef7ef44e621182feb1c29565a6351236b3d29301cb4e23cf89c31372780d4889149df711ca9a85dbb9d721196d028894ceb743c8b121917488dc092a0091696ad17a7665f5bd5e0a2e70dfaaef766b17475f53185a0524eb1a19137251ddb24a0f7d826bdef76688a002149930b5b4dc9efc35583a040d704f09b5011351dcff1c2d2a6c19bb16e4cdd4c30b71133058b972fe18fe83adbfdda33a70508d34e35bf7ffda36e788d6932ccc9495c1b128497d17f40b020f651ff03172cf59ce6a65ab6912d9377c95c52064886a03fd2e6dd6c9a0ac4bce966c12947213c94e08820d3e7158fb710814ea5fcb3812998b2cc09f1d1d6618b8edfcc272fe15bc51d1b58d24e667c262c61301199836227fca7154c3bbd7a9ac2f27ec72a860e4868624dbdc077213772d4f462638d4b9b40b1e23139afd4fa907155465a8311ea48dfad0c2d341d1945bcbf7ccd37c83e653bdc6a2db413c33fb78fd375d753cff87ab5c6581d00a97b07c3479deda336c00ec8ab1d8d01baa49c33011e852ad6a7e56d7bda8f3fedd5f882972405aa37cf4089a01a4d8313a2677927200087305fc8ea8d734427af593e330b62dfc21632f18da0b576f4faa0bfc957290bbf0b381114ebbcf6bc1280df35b8deb32a0459c79f3d4399c976d8802c32af3e28980108c242b8729e600333c1bf011b712c072bc23497ceb59848716c8723514efa6911fc6239e74607bcab93f578cfadc27b29dc4ed03c6e49e988e2f03d220cd08045afcbb3c30803476f618d280c8a10d9b30aaa900ce531cadeb6372e10bf727c55effc6ad81a1f8a8f239fe26df6d8c0d5ed9581666819b3aafa84921f1c9c6ea294136e806e5cfe13e87f5d33b2f2e49ce68e24bc2d0103177024d8016cb98162aaac86972992cb93d149cb5f949dc4251bb329886083423452431f4147dcfcdc76a4d89c06e3e28d357a7a7fbde246763a307c5de549a37422672da11ca2fb4c36d10e1c608497377be40c28f8f8400ca1cfd2904c21a50010d4eea2104ede0d12734ef7461b56124846651bd1a0d7ceab214139fe81d4aa47e31f2385d25f049036f268385c12f982642b95ff8f743f2304b4a73a281da40a411092aaa1989b0eaeb0e3369c7d58fc11dc28c8d2f9712b60e6f0d4ae4d765d772548ecdbb4def0fdecf5e80417e517ed1a85acea9a4cc5acb10176452beccb072c43e0873cdb46dc46c466f93daa2981ce0a90d4a21383a7907c8a2ab14846d72cfdd14f79b562a3691c96f80cb14589a7dc592b8748f35f06067301e6341ed72d6bba54a94408d4f440d0cdc8b4b2a05c966b55f9812e1c919eec9df37e8ea72c0140aef0bdc162bdecd5d84895da29d7444b06b9e9d68b9c79a010dae6c6825e588c1d6ff093820d56b33f6f5ce388648eee1a215e211ea547829e8e47a3e02750b5051c2d8df461a36600c1aa5e8a084c94e7da5d9d36364b40baa55008a35808117234891da55cdaf79b5f09c985cc58c2ad81ae30637b6b20594f2e72f42e626811bab63c76d12776b430d23a87458da63cedfde6c46d9016ae0724d4c72c8119a73b4556e5d230a67bb3abdd189d45b42c13ffed5405268e5486234442abf45d7141ab91447783b8127e186a4ef38bb6ac220d1c3a8a223546a4130b272a21f3e922da1dc2748794f00c143be110eaf607ac82f538c4ce0bf3e1d50194dd697affd281ad7ffe1dd70bdd074f7bd9386263e7f03900a783bae7acd6c6b520bebcce6e364ae6bc2976363d4cf49674427f450ed9465ee291c8c8ac7a95e5a582bb5be5522087705d7fa61d95f874c6c6f6ced1aaf2e190f3badb803eb186eac36e5e31852f5319323bb75e6dddf7e89f589b6e0e45a8332cc23cb46809e729bceb50b8e3581fd5cadd5efdc7bef101a895c749413522fdc1743880b0d1972df379eae622684e41b96296350ab1848782852dcfa6f71991f511a1a42318072ee9e8c69d2342a2d8a643b5d1d25e2ea632eb63366e272f67f8cf2107f677d725f1b47e62f2c6ba4e38100d7b019c0094dc100c211ef30f362f6d2a15c4e854432ca516dc82657f01f8a5aa48ee8d736d282faf5632f6f6544dc18e1cba36e474e44efd1dca1abd8c498c331e946ad7883d2e6f2e51d829d4711daa258d5837288777ea1900c19f4bdef1067e6367f6f8e134737be0ca0b7231e139363cb0620606c7c55d66df7e0c0a3a469d5cf6bca38b8b74c6eff51f36b1783107cb05b72a20d10dbc3e7f01cd4408438c9ba11debe47cba0b89931abb7185d1d404fe13fd0ea4a9fe515bbae258a9d8744a38e65fa49721aa4827571570a61235e8a6872a2483e49b32e6a2c99968809a1814db15f51655ad5d6281bb671980689c9697264ee0e755bda8849e9a669570876246bc7b9b4f262413b0d2dcc91ddd245c02ad362b78bc5dd6c7c7d35d6ceb3bd4e9436e3d2087afcc9cae0098d29c1a13672143b15be5abdf6ee5eb870ceaf98e9ae50bbc203d097710393219a3c241f5572f4933ab4587ff36a847638cda588c360e1871b9679167ebf71cb413d8debdc7203113b300d06ae191c9ef63a1eddf473c0561e095858a1ef31c2c186e73b21721b359bc08aca5a50def7af559398983d270c3cc824b78a740dc99022e9c39d679ee152f739cd8534b5e0babdf29ba02225673ab479e45f9470ddbbd79bf4223add18da9726a40a6e8537eea82deb2efa849d8ba6980ff24c5dc34c1ba3360a729667ce6116ef3d0292496ce1ae53ee16651d9519084c04911dfd4b27b112865edef52f15010b5d9c3641e66e50ad76eaed0fcc4ab3a92a88e54f7671f977cb727b4a085f0079dd3e1a3d2ea28a7a6aebc3e46054c2ed592321c61ac18c5be30208456df0fdef311900d0b93c2ad1672a4f12a3c8fcf48097c9df3f52cd444b72ef444ad0fe1fab22cedc0e032a8dd77f453a02e3ba325a209ccc8bad8446fe72ef2c4f8bd127f550c8c8f185555d5e33a4c3b5cc19a7ed33550c63f4a4dfd336bcf29214219d4102bcbee2bec24c9986c2db0c130d7f46928e3bda5c1b4cb55a4c39768b66d1c744dd6f6491f65e98ed120056fa7fa84261268d448f7d1132554502aff01d070602bf623c6cc8e0c1e7ac609d99878fa25ca461d73dd68615724acdb0741e01cc5d8f0b928cea14a1470e143da2167cd081154e0cc668dc2d724c54767a2ebb6aae7899a6d4b966b3989c6d955123e97452f96e13ecfa39070e22f41ce268c24eee204fe4b55f4293ce3457841bf53ee00957cb876db719f5726b7937e1b3f58ec52c0757027cca74ea05443aa8cf011bdd80bad272cd2b95729f5e511964c769a2b281e2fa26c23a11e445e097a6f9a187ed65bb44f5a03319815b9c7b0626e5eeca0e80753456d57199467a75d8fd4179912afb56c13d0f22c5cf48e2850aebbc3d635de334e3c03d1677d07b20ac532641d91307665d4f722998a8fa99f454574b82c8b37de15771a3ff0b777e8df7db41cb9189d9017a7252eedd74577cfcecc75f477d53a680e054b3e4ddb183147d81673e3f1809be72d301ef9cda5090bcd39ca248963f8fb98144fa52c9267d4eb0fc836a450be3101d80ae11ab097e2dd4c4046689f5652cb1838284c7bb38635bcc85ecc5e4eb7210118722f7da234b4c08e4749bc8b380f635dd7a5d59623d481209ec891fee720d65afc89cbd79ab869609d99afa8e5da6513cba50ab119c31a28e95b7e7ec72c43f61450367d817c605e41e5c5ffd4632da1e09444c915dd468b33f0adad372584039c4c9f47fe3f3d901577c44897cdd60905b94dbdabafcacc47dd8fc357253c7f82b0f0d48261853618783a27a0847425b15232d6bc85a58a6f4780e1244daa10efc533fae8986ed25b46c1e3e04b6488abf5c5e325e33a63b41dd87877284a798937c87d810302029c148c4483e1d6534ef1c8cb946526f16335f43a85e830911d05fc56837f349bd4ac5736fd9964471a2f0ddb19655fa5d5d88c39e724253de24f711497b213d8d592c5e1edd4d69f23c901f9fa4f2ddb5a9bac29832c74475ccadc9e7a52491adc7e21bf93ba7afde242b2390312b1789fdbc37e61bcacc3e5f7d615946b1fb0b4e1bb041437370c52ac71dda7944c9f4a70261fa721db1c5f4115f4538caeaee9a75faacbbaf4cd2a3026fcc35a760908b82c834655f81d6c4b83b741a5acd94a7b122d3c1f1d7618ff103b859e076d8c2281bab6ae24ccd13d696eadf4b68f8e70d8550b72e78d3ea8fa40b054e0c79da23d4ef7258d59e18beb858bd0c4c810c682443980d0278ff0fdde92e95b0ad6966ee0a728c4f9b8206b3c6680fe500f99562ad71cc1cad542880602a5c22e5d10b1439727e2a0b1d293afc6d918665702f1b060799092bb3ab5cd43efdf4bd3522487c5124105809abf9d722e6fec35bcf82ade2708ccaafbc3f7e9b4de21405613298724878cb7d0a6bf7d1796b881c602ac29a1a0347b8f9882e70997aad14cb3a553b7981bbcb76e1501690b6e2ccfe994e465a8cfabfa9c9ddeb6c0e5a092069334f5f3f0bc91e663238a5a64611f0eb943f0b39d8c255063e806704295d1d67db726a7e3435682eafbe652539b8ee164f04b0e65f97292e410cba5027e0bb714405b1e1bd79e0c081fa17976c83160778dc9110fbbc0a716a663b163b7246c6557252493802577662ecdaad3b39fb4ca3b3fc862036c2da09a109b0d77f457fb7721fa0f0ac207a81105bede8f780699ef4d80fa7e4cc2d62efe4615d0e854b5113ad9d71991aff4be949e21847e9f769fa12bb26c1ce2d7cd9c2dd6f99fb7eb43ed69e6b8c5f794dd9e35303b6b5220b48e403fbfdde46fb67536c2aaa6ae7be72272e38b7221256d1ecd217a16482a3dcd90b659c6792a26b498f96b78894296aa9cbf61702ae5e5362432889250bbfd3212f3316e4ef7ac48d2d25730e32260768071b755436cc04e03dd9111f739913d4de3072ba79c31b127aa63698515d6f3cf84f5abc5060e9c664411f8f4cede68d8742decb77a5debbc37e041cfacf022c68dd694a527c71d39bc51308fca9a3dc84f19137e49ae2289621d4b83fdc722d807bd6e5aa22ea16dd112dcc309df71ac0b2723b459b2f33231a60d5c49e72052676b46bf29ccb5a202f859725b6004d6b7a1f4dd381171ea3d79f1e3b1672c53a4da8be0b2e8a83c959c0d8887da879d117f45d5922c63d382b8dd396d5725c4b1defe35c3e5803d7c6faa1341cd828d948fda09fd96333932144970d9e724c492d996c139c2a3b48ff8af9ffa160f2575ac05f4cef4b1449150e52a0f03b904c8fd6497e4316a285efa692bb3ccc7a5414851ee7f9535702fbe13433e4081e86528717a2caad394592bbceb784515fa33588fbf5addcb7bef3f3e7f50f724079bbdfe123445d8154b6165531b119ada890a93b4619e47e0bf42cafbc533b7605fc1fec2f9b3af3238153d4229d9d1eb4a8e29add02b5f397327bf74ab572a4c23510276e9020259d135a3a2c3e77df3a7f4a73f24ba3cf9b7f3beb24a872ae9a61cd6df9bd9366cf49eed6c805a2a7e6807c5b3a9aec0df8b7c6e6e33b4e43aa01f4d6500334ffed2f1c5c40b48514cfb4de517531f87895a151e349884eb4f56f802c6e76dbbe70dfebce91ef5acd1338ea639ceff208d47b3da7950c1835b5f7e413d5e0cc8fb522fbd4035ee7bd2b8ed73cbf95541d74bd165276384ae7adb5bce9ae6928e6b1c274df1bfca31b9ebf28af5511f3603cf4f08ebbc47295398abbbdce632b11088e856a55719f3abdc26adb50c7153bbd8ce289411872c253b7bda1ff394471839702b120f985b9d4bf9f288af77e3f9a5466b37633681ad6e24ff195997d3185ccdac8b7412118d2ab6f19d1d0e2c55f436099824a72ea7ccc1ca4ecaf01a39a5d42b5db75a1e140255b30c31e390e6e98f864e53f56c06327c148ff3225f9f46c9a52d8715e275fdcce00d22c8839160d2c47069c03b095ba59288eacc3e7e171153fb1a80be4e2f34eb5906965bb86ec2ddfc179686d04e148b4f8f91738857b2f85c78e1d396b8dcd7698005dfd4e1312647d942dbb09181de9c7fdfa394f980e17872889ab4fd79dd880c42cb567d56fbf137e7281a2f1be8cb3145a24e2fb6aeaa52b8c4388ca0e354e248d7cc3ec0ed91d5072020eb7e87650fcf79ab9a3723c896ed81de9615ef295e677513e4165249a7a6d6008243b14e79b82c9d5f2c51dad1ed96926fb4e6478a636f55051aadb5c5672c7f9d96c1e573ba11b9db43f0345e1f0acfd4a92ef7f91c0285bbcd20f57370aaf28e50b2c0f9873255c31a7aa642fe1d6ba9fe5edfbf4ce45863c5e2906b6727b0344f9a98d7edcdb33f95963e23c444a30ec0381e42e77fb5c8dfd0672021c8f3a9c5461c67b95cd5ebab584540b10840c73db41688c0d0ab973a546fc1012dd1806af4eeb567480674658e3684068669440ec6509916b4166079396155f5619e7f3769f49df09fae01f383f697b3c5daf685ef6a70b83eccc92a34d84042430c19c8dd9c010357bb1e71c10a98340f23ae820c621e3767b964b15a8b683728258727275798dbce4e0b06418b7496fa98ba032def32b58b5d90c258a02fb72bc09e3148353c989beda35a8a5a995288586c8c3310f9ce6d5629975e5aaa518c1481dd20510668a853749d02e67f0cea4b4bcac24d705fde35ed694a720c4568e572a3c33834dfcc2226cb8df6d1d031a47c191c84d89aae07a6758150fe87252b9e2ecd0158c635aa6485616818de79175e965de334a2880916a3bed7f1a614fb9de15ef954f986eb8a0224374a7a876de351d0511611f337220d3c38518721f4b687012fb9a80d8811ea16e2974065cc83bb2ecefb815496a8c9bb8088e721fe6e0ffe76062ad2ca508129907a9fbe6eb883f6857361c3dd99e74b710817242028b091be2f98dd670e9478b54322cf8df7c7467bac33e0cfd1e13d74d1572f0e22e6ca374adec5b495125845a4ac73c6cb7415ddffb207359a58b62976c726c45c9bf9614a926ceb31b83825b866ac0527816457467416fd8f302831c6e726a00d3ca04053e15ef663a0d7253360073dd8f221c64e9114b3491ed0c473c5a6e7592af3492367213199821ec0308b84b3de4f347b9c1902dea1be16f4840724143784321b6095d7178a42cba3076a6456f425388928cab03c2886d082e2e29e36e19494c6ff5730cae7b48d6f8a4811c82a14629147521a8c656aa11caa372cdb44830ed91da5c2fe93e04ba749ec44015f0144020bd4944d0b18e89430872ee483b92342a35ae12a89c6ea3f7a4cee7eed273697d08a360faf2fb57a810326a7eee41bf5ce75db9969470f653d66bc3e1bb00cd7885e9ee7ef80ce23e9c721af2cdac239ff98de32345901df0025f1758ddf97e5b9daaf855d5d37abfe672a709c25309fc13d584908e540bfb0f3c41d713710a8d93574b23334ec966e65bd32ae1d75e95369f9d19a4f640b4878148d029d6b9c0fb9904153f04239c5472561c512724ad141621103e4ae637bd4ab28823612d5c1d653869da8777b2114ac7d27e1f4836d5834453b8db0aeb3345e7d925b01b4d6e629e4c971a19c409003418fa9293321fbcbc862cd1d89ae8e10cf27061d2666c3ef3d3da62c5eadd24cfd7f15f24f27345dd541ce39cccf2b986eb6f2a7568058f01d7ecbec7099e722038916c20fd20a7966cad2984fd0f8321b481bef937cf25519f4187b87c0872cf4a7a660673933ab94a7a9c21cf0daae2a6d5a27ab6a44c2277b1f633683f1dd7983207c9456c6bb3895688f096bd0150637519666f2c683b7007d1d8f96651c0c31655f22b620cd1c96085980f3a9f66ec47730e7330417380473fff377026fad385564bfec86258389ee67c2487ebc76b4bd2905c2892721a8953ead9ef4da81f6dc058390d51cd16062fc8716b8991186db4717b193cd778ff7e4e116f72cffada20ae9706176f01cb655307b36f04c2e71956967bb69bb6c933589d6b729520b8d75fa3ee15837f2c8476a3671d6326b4e54392b38222c1e75b6b9bde21c36cbe1da28f47c1f465ba8a79da1d3cba6d8742db1c0e592e698f105a0ddb723047d2cddae02b86c9ec22c9ac2017d91b5d0527ba2cf2bf732432228ff3d36729ab05329a3d2b9a2f23e145bd871ad82e1099733b5c247a276a67050d79f87261cde3ec98d76e780f487f778e0fcfb78f1047fc19761d2d11f15afe58e2aa72ee28bebeed8cd9f83d08268c94ed615c17756405596a4993da1ce7a2d9270172968de27e4499e9ca8bb5040838e80177f04c50d6065af50d721692ca931e3072cc9297829b3376895bfce8a72448e349b71beb78855ae44ae5fb8c4ee62f530ad9a7961a77289a790394474b4e5d30669b40cb98e38f9a7e78e4b139eb39fd727ecad1b2eb46b9046187f0a0840e3d51d012a936db21c72441756faed6209772934da3ec3b78ec560275d40ff23c0a9a7d7ac2e37308585720281af983b9073fd262a255b2dcdc6c9a06b9b4ee46c63cd7b187f446438dc2658682f4cd9cb214125f9c3a407dfa8a55d364624215a360a508aad9beae32f563cac814eb125b72d944378f448ca956fd0409702c7bc964c1d674a8ec716fbeec938583915bda624df8e3fd912105fd6970afe74900c14fdc32c129a7fded6d80b22910c392d84eedece4ac7d17168a0eb49c3146b492db10f09c70c5c086df34a50b74ac57137247057f0c6cc44f2119493358a38bf2bb5afcdb1a2bd9e5499de73e11b248b272e652edec45046b6d2b91861289f326a9dd689c4da9088b1daef35fce3c138772778d85e0d837d00ed2626e77765fc7aedba09812f36c209410a4b77e6f45fb420a5c34bdef92fe2f9b90f8e8e913354ce539e21b0fe2f168595f4c8996c9aa7200de479a208ee26bcd6a7d743dd9a7e589fb93d47a8498cba0a2f1f32380c72ccbbb1846a4759c8bfa065c23c97b5df51acbf08849a5bd5ef7a965805cc58a726274fab1f9ce7baa0570b2783739bff80a7f2e17423079adf5effa86361012616dc489ef9e6af29750ea52e7a20152d81a8c5ad977be31ad2e4bf41d6a6671728d9a52d702071a8687455213449e07c7acc8ad1951b7933aad5d02c276addf2a819db5d45b47933a42c4d90fe22513b6d6b59667e1bcd9e78c8b6b1896b25f6c51eb42dae9ce198ecb695acc1a760a3c7f7ca2e3b89306da58cf5bf7cbbdf634303698229f7105d15aaca416ff466862b96e8a04f9a9187d7d9c2ea869eb2f72e7d712b76b8144ccb8a66dcc54bcd75e8e3a24ba1fed6e10286cf4a948e24d30ad5317ed26d2b20f9ae0875b6fc8a9bd1fe997977a745210dba2e42cc764e3729f62d27e3804d7098a7e2491de44f6d194837208f4284619e2f888b4eae49a72466d543f6547d0d68073d98e18c462b9fe07a29bb9abeaa228fed4caba44932286e9dba73ad9ed97ffb1550ef29fc4b1a01d049bafdb9bdbd87543ee42eaac5af5615388cd134a0017e3e64ef4295a9ea20e29b15418fc569618d1e1481533194037a17055d6df6bce923d4d10d48de5fdf1a38cd136afb4f454788317732a2bb5454d4b090c90da09d0e43cd5dbd5a2584ac4c9fa15926410da3306a0a7e172e000642e8d3e129e6e62e8cc82be3e601dcf19509961bbff4bef33941fc57672f40cba259d5540d52eddfcba394f15d52ae5083f73b0871d8be59f7c2b4cfb15dab32d44f4d1ae52535e59598db90c94db05151c6371bb525bbde8ac1aac2e725ed2403c9a15c3e75e87275942911e460829cf3b9292fb43779afd6e6ba1382a6f87e9994d5021a17457363779e6080ee4ebf0b926ee846e38b57f2ac63a3072ddc2d36e3cee147ac93e1e02c59f5f03a44770b191c109164ca572dda69a7a21afc7b40b097834abd1a6bc8e2376000f983c912a78bf004a6b131237f59a1c20812be19cb7dd1ada351c5eed5936f60adff304de63f4dd99c39f701356f8c2722a0c0cbd302959b501c0d11a5cb3711a2156986a4e8d9fa3ad2ece2ffc18574ea45fe9d8751792f984a056f6e9102cf0fb4882eefa19ecdbd7e153fb31a09f723724e870ea1163e27cd6126bfd2280bf2d3680768c37fade533b4adc57538a725fce0d10cf86660a3b5304e05abfc0360ab350a882aeb7a1c9f1dac9c91f983c221faf09b794466c2ba50d9fde0a9d00acf1ec0a9c396dc644448ce15310846357c8c2e8a1e4fcc344903a41971ab2aedaff094804137dd76eb054130cf8544994601edf05fb8bab204fab8f68dd8ab9b27c854cfb461a6a39ad8b927c2bee37b08ab7297657485db55790067a872ab77eaeb818f126e13e72aacf0594b2c6722f89080b02b6e270b320d62b7bbd054b2941da57fac003f95a64c525c62a5758534852fd270f702f9591d3fcb9ec58b799292d4ad5524380b0b30c388c0c6972be634483f38fdfc48eed4b7da2aed61c69791df577ded05397a0b4f7c9e7c472050060ff432e1a79ca3566a40036fe89a9c685b1e54b5fea01accfa79a2eda72894f8c5445b1f8aa587e7bbc53de8d3fa97d7fc99e3a65df2fba73174815b472c0c94404be1f563904ada1a7720d882fb2bf7af52b7449a4cb84c0153b739463ce023ef02fe99bea747bfffc8d6f79013ecd3d19eef5d8ec64bed2670e8ebd72d90aa3048c1fe93abc065750805f4ee4372ef216848c824327aab59ea392997289c6f7f6744c067e01d8e04286ef5adb1e09f4b7e9b301dbd21b69b53d08d37242f5192b0157c6afdb97657a1b17a4783d0ba4cb5aef144eba7ed777aa2a710d469db0802fd4901ead9603847e61be907340eb34547de0e5754f37fe38e3b172157ef55b2b026a4384dd282ac7ae347e71b1f6b8ccac7e9427aea3b3c597ec72c7cd546fa6693cbaa25aec64b87e5a76446589e27080b0925b4d1c1eb7039b72d63a18259dde44e095960a72c5a95d33448f1212bb3e4507e3d313bb9dc67c72625bb90f436e3096dddb9442713fc302e2677549acbdf53f1867a8a92aeb2739464083dc157b25aa8c5fe0e44ce1c7ac0ac1d61c93d9c8b19bd2245c88f03027bbe5f7480372f58fa85ed50e34af39a182f8ccc606b82696726495a521baa072201d7359242e3b2cda6a26e38d55af3ff49a1015eddb029b28f557ca154d6572fa5bba649778075d172363944ecdf5506bfdce7add2889016bd794e950994e72e69b899567b27c878511103acc845abb52fa65de73ef537f00afb6e00dc84972af36c6f39db4ee26b4f4b1c2eeed64928a15deb9f70c526f4269cfbb0e28fc72cae1786a086e8ccf02efc4c136ffbc0817c79b64a5f65bbf3021e564c90acd0d4c91abc007acc8fbc3ed99b90cba5395935ba065394c54d0dea0ce3331f4e2726cff3eb9195e265fafc7a7edae4c698c3c073ad37c96aefabd997d7194d7871197674aa728312e65694316b1448b7881e34eca1c2ad38bf08b9f92f32abcc0725ebc7933b7b1a10f1040ade245a0a2fef9cb66d8954007020a84984643e97c726d34eaf0ff89969998609264e5f36c116593d70a5b5346634e0746d9f3633f3edfb609918f86f64eea907d97a7e9455bdcf7bcf8235e5fa41ce6facf2bd8107294b1758c709de81526cd75ee15e1f42820b826c05ae4ec475051fe1ad5d42f70cb1b45f445c0a341211e98a0a711585dc7c17d41a90997eb18746bd42ac85c1228784e01b1819d1bfede857f5839c4035b80e6e24c69086c5874258972f6555923832c585d6e235774e2081c92fc83be5c6050ec3f0b105a59be35907e65cc723704d89a2e489aeed0554f953ac203840b469a8c60cd604b4a8ab09ca8a1a97278b8e75a72bd072926f8237c649ae804429c139f1761d2aa9cfa96c639c093720fb7348222c250fd1a0b9f8c2495b8cbacd3cdb63e4c7836c29cfa27039c960146c56cf8594df0166161c87084f00fb60036ca6424170c86a1c118f5c69b99721c92b36b47d61e3bc24bd3cd55b3b92758ee2d293166cb893f9339a3936fb2143e471cb9defd058efa1f8984efbbaa2f2a37352dd80b23ced9e4eec10a8f2a72a39094073c0704fc248e731acee8afb061ece40070d6129ccdc2920e183e1d7225961364f42f92b674f97f5c2a34fd01de1c9bd61ec9571157e557a7183f4a7277c89938464685762655ceae45ea810509d6cbc34fbcdb62076665ddacf9c47244d2d36568058031f7a6b37276cfce680857da4202c114df3c303f94bb9a83724d9c82fbf3d2113fa6dd0cd9609aa27a249636b2435a1969df699d46872f1172dfb9874a378061140e13850bb5e55e4ac73024facb41e5533358c8df2bccd9723831a8268b21b38eada7572f4f1db8738c57dff92681aba552b17db183516b72bd92cc1a843f7fddcf7c6a4405471502d966f605c321003bef8b763c9b86337291722f971f397968d817ef41b9bd9c0cce8e62d7181ff65bdd43f61972b491722b976ae2d5dc6459208cd45fe60c5bb25b328e088bb8581427b237148f95987228cb5781d35c5c3acbc48f8a5b2851b8e1a38e996a383481cca4726145189f72d9a43d1b5b7c30c3a62b51af0f156d86982611f267c797d9719c2f89990ef5727dd202f51cd501480b74611c59103be6e4ca5ed329d2e3d12fee6e11a61995347425384d056c7861409d6d8d1be5ccf92157c78d03c646e1951fde9b8cb68c1e33c6092c1ff8e31de6169fa6a4a698511c70d4e5fbd2b5661dee09e23e54e0729c42c9de680001799c75e19d3944a372c86101887959d008c9af51f5d4bfb65db2ee2cdfd453051b87ac2fec9afc9a57ff4d4139bfdd1f1ae195e9b2f2f88d1b561c90bdf3be753dd9d333ce830e071c9fa39c329ee529410d7929e224a97c724df2c8faac3b03fa0b7f47fd2ab398547e7fd18ca43c55279a6b618c0b12c4729f980410933e2ec9b93dd32462c669d90576976e3070dcd3de933b7a0ff5cc54ee47951ac13350bee4c62f32be6186450480bd806bfff2df297726caeb4d97728a9fe832aee14a982a9bcce08864280a25f58658f3250147e7d5221c331c7c72e9cdf607115db2d3c02d145245a253b1ac4e018e79b8cf9db84fc6d5510ad4720020c095700026d73f443b03a88d6fb083170d6e0178fabd2639bf68c4a8bb71f182f1d25955d63a5069e36373153068397ebb01df61ab282849c23cef159172de3532a835ba058df84e697377b91978c9835ab9cee891293f5c668bd587c972521d1a14edb1c13ea4571fe8bc3c35a714750d62e16a3bf32cc5b58ac41aba720fac91d1ea6c32b672dfaa53bf94df5fc31072c6c4452a60dbe05b144adfc3321a8dc75f55d2b4b03dba04edb6f821eafa2e5cfa548687fa63dbf30d3bc90d7271fe7e5638ef7db36b8ce7438cb1160ff3196bf4f0968579522c80955bd5ad7234bbe7a90032db481f1b52e722eaa43cb405a8458a5dee9642df4db1dd25b9140f5f897ab7b51564aa262fde221a22a71fd4229550c74d1e31228973313d1572ec8f69683dd1dbd16e320d5420917ac58b682bc5f69e83d97d3884b1576de2650f5efbf72726a5265d2a75a7d5272d6fe7aac51297bb656d2ca6ff20725b6671d6d4b2702455f44445fd25c2df38c0ec3a577d2366ce631096a4937a56bd835f0a79820892dbfd974805209326b26594414a9c058d44d6b29ead6934724c8f315b386ece5f838fc7cb179fbb7e69f005bb4335dc0dd6249f84e5fc9ff04f93722f2b91ec18400e3cef6d281e4d67f7e069ba76d021b1e9bcddf1d3268344ca17629e18bb3db57ea6e463b07a1c59488959068235a5d34d22cf14752c4d443e7217845d0407ba286117e045eec73c76ca29d39b78e127c426f8b278a63b79387223bdbf39175f3253a9cca017476e5d0374ab7131b4f6f6e62b41a1fc22c33772ae978996e63b37aa7a9aa66f86cba4e135949d12e3d0b98a9fa60171bba2176cb74ca20e0ed226ade3131fd93b4413c117b938fa4114c8765c36743b8ae59772a278d893a2698146017036145bc15f17677ad76a01ba85bdc8ee8b00e1b60672034e403760061e3880c4fe115c61094b3f78b23c66c958f9f7c2bdd4b58a1d4d806e30625b68914030dcde9d309ac85ec8607f2b8e1409ce83d25a219145f87232d348a9c542f1c5cb1933fdbb0c06a94242db77c81702149697dc539b02460fd02f5fd928e85c1e7bed601615b7144ab1f85e5c40a896b5538814a0b8c87320427ea63c7ee5172cdd0fbbe3d5ece2b1a154feff31424a584c769154b544120be50055d67eb0d7ca53dcca16d814e5a8e1f1459d6598f88e895c3087010a09724eaa766fd04de8252409270ebc66ab924d83f21b1e2d96d8fe6529d5f1163a72d2813ceea6e6b63defd6eb4b4c0804e93ae44271d170bcfc91f8ad5a9fc5d960e3ad8ea7ae0e552eb675ab80a1ff2e6e55eb452e02dce8ad8673f03d8d98e84b9f8f5fb7dbb386864d525973595b25b93d17194d7c67ba3d022440fa10ba6569a26fa34cd96af0eaabce015cf75a22a2b4964b1ed7bcef5a58735cded60c3872069ad125a18eb1d577e87b8a427e72391b95f67272697c7277fe17f9f481054c430ce76459bde6b27f3f6d14cbba5fb31ff2d2ac7851582b9fdf606d92c00272b6d0c1b85145b69012782a691606055e718ffaea82963e3bbc4da948032d6b0b3ab61aaf4def9bbe367c642da461176f73a17b83153abe5170d186fe5c2c6560f1e6c0147bd6c1e72fe68ee3118a94604fe3dfba0deb57fdfdd9f3f150839572a3db23cc6631287c1df49979d90ba44e6f7badac1d091d41a3fa157027626c72a0d2ecbbc3128bd059d0dc6c2d8f8949524c7883508ffabcaa294eb48439d57265f36f0d2816167d494987673aeefa6e16a548c92b7de764a265648bd85d6b42f9f7dd220d4db726cc32292c738d3cdc14e82dd74259487cf631f5dba673016fdd6349315f996e9d476e89bf66274a9b6b0965c9d47f85b2f735197353b14472e10b2778376798691ed804ad1fd50c28803a41546718dde6d7ea8c35f717e946d55e8c41407e499e2ceb00368d22910f9ce8c3afabc8e1527a8c69f950479240d6726850655c2c59d49c4ec94af9c0a0958cc9683d06d9c56f892155a4fb087201aa14fc802cb564eb4941f7f8b82e63cf6199959dfe5458f20ea926377d082405609733aebb347d7cc3ac1dc18afd65aec55f388381136b83f11f0335c120721622e25c746bd93e2a0b03c14f76137e347701bbf64427c51fb6d86d9224a672c0c6944d4ab4e0196828d45a4b2840665874df23ea17bdab71bae104d763f52ad8293e331621f12cdbbaddbd1358f2753bcbc7ba09e4fde1ddd0bf6f20cb21243fa809fa5d439b80ca9c62309f31b91de96734034b1607e835c42e7bd7b71e15e2e88475b94629518edb22d31ffba001c26f5c3462f9e7ee63b33458be7aff72f08148195f4c2fb03cb3f846e5d78d950b28eb950b2031062c739f087c35a12a9e72dd93d54396f88c785dc7c43afa7bffccc31d64311c4a04a566bc378af369a772da8c5be9bf4aae7856bd83e36b6218654c51b671449521a8c3006be51b728671833a7db6f9a0392f085e0616b57f4b0157b166df55ac2f88f28db9109872749b3889a85beb07177a1b4f93f4be615936544a0b8f819300a173959d0d7d72985b42ecedc6c88dc48852891d7aed274a1a39338f3c58c81f5830fa725fa1394ea4e65d47ec3c98053a1112ad050ed50523a58999c9215980b764172c30ce7268a82b14a3966d9ae0eeeb4a98201aba64553a85ad9980598675d8f6295c347267016c3f4958798949741f7505d87d344500b3cf83a7a735fac245068a0d270d9b55dc7524cf545ef5e232dc18c25dd71f2962355e22ba8da1fee827319b04727810f48856bce74a04ac62eaa6ef25a66f84d55825828424af291ca64fd6c072698b2e305fdd4dc834a157529848bcb42cbd0c97117874bb93415c57d631c772ad7cdbcb856094d970eeb03fb7de80437699b370895c8194fdc9921c2309e5724dfc361cc51b8e06858ea55b05166305800abf801f0a68bfe6a4439d40560b7293646c3e5aba81df541f2ad66db1e2553785c990fd0539ad8c0ab6388ef5c8728d6c39c680737b6e32282088db012002e3b3b3cafe8ea4d9fddce7ca955d1972e06bfd1826b16afbbe0804bde2d8c030e61f9936b6c803f4b64d5931772fea72c6c306b1de18c86a2e8337ec9e2e9a1fb7fbe3cc95881c3eff940192dce08f72fce24fe36ee8351cc45e97f173fa298d2731c56a995e27917cc28845ed345e6ddf40fe243940be95ce52e2fefe43c78dd68f503b090fcb72d3947641fbbac6725d78aac68bb95219ad269478861b278f80521b82a80828ff1397ed96f40b3e36b0fcb7e80b2d658e7dba3e01f1d1938b64bbfa08ae52358345574b4446559f72fed5e553c69b6e1dd9a8599cd5bf0eccd795a30215c683b19ee1bcde5ec61c18098d2040a7fbed0b07164d22cd075b4cfefd900b3eb3c20099c1b8270943a2721599b108c22d9376127346ea3e186be1ecae2cbf444f08f75b1982bf9088dc199ff0e62795c5e02bbce6ef5b65878d6d848eaf2849f8774483e71cb1bc797672de9641a41914c1fc7d7397f6bd61fe998b2b63df1f73c07a3907e26ade7867331c6f2e56140e792a09295ffc136f049fd0dd956cf3f64b180cfed0a2923cb93ea77f630cd82e85f429973783c1214e2864e084e8772acf48e8bacd8473f4887237bf09897acf2c19d39e60cc529319d8c7ff89a8cad3522fe0925091299f02724bc8fb0b9b81f500897825752426613bce1155d5f9868c7fe17d6896fe634272556c0a20b7ca04cf3be7de4b7f3573fdf143dd07605bbd7683802ebc5620047247f393558a596afdc83980e6fe0a953e3ceb4fe3eb335d24e5c9cef7d8ec0f1048d688028db0f259358120da6627b36cc6bb81d7703f3f75d340073066184a72c809c084afe80b582580cd40d21d5daef965880752a93f5ee2f024857ab68b7237667c07d142d0dd1be8155db45f63f7fad89ff1868017383dd2e11deced9072b24d861eb36b06d81ac18127ffc3bd64d8f07521a8df46e33d4559c63b080657d76ddd57bb1d6ff7d9e1d39c95b1af1e86f499048fcfd22425942df4456ed0725768ae89db0821af0622b2989fefbfb28f5dc494ee42f9c641acf4bbf0e8265b39f8f604bd265438a3b13cc5d67c48679fe25123d71208e17df9c01326c3a16bb292f7aa722ef17d993b4d7a4a723160dd3b39d52d247e250aeda5fac7c1d2722030cd53bade367ba43fbc94b895ef0e9ee36d14fa678ad3f9590e9b5b9a973016bded4e68ed39ebf7a442574ac0b156f2eabf19cddf48feae89b27f75107950efed29d81d8546d5f12ef5ecb7c54fb685126e7f8c8cb2fffce7be8f67d04972356c34d46dc1b06b9a487252577e6a2f13e906a8b89a6a040765533661e7f172787b07f51318c3de8b4ef4db794eb3bca2045feb5a3338990d83c44ab9824c72264669854896a08d05b5e8d68a647887d0abd95cd50c9bcad2668b9b83d7f372807827442677821fc332eda03a9171b75047e1448513e96e907a6e185a64be42909624a5e4ce469c4a1aed08928a6eb803c7565ef24c849e4879d630a4c22672f0dce1a4fe0686fb0e58230188899ec171b211280716cb15c760aa26047a8d72ba8b3578493cc26b4cdeec5f9cd91db9f0732737b147a97df76dff5505efce4fe2f586d7a7cd4f50b28b2a3d1b6c53ef87780175d7ebe3904680db583dd48a72b226990d94f918b2c2ed1921f789ecfb5145b4a6c415e1fdac0b0252f0c66f72cf9e7a6b0a036afdaa33f624a71af6f179b4bb282bdcebbda2c93a517a8d1d72b44eea15b771db35aac632c2f42512551368e95e0098d6e752b08eae586a6972eb9762f44a4daddb492ad8367309e72dd95274f4f3e4b3efb08fbf086d9f3912408d3fd434685a498f8f483195a7a4860719f1540d50fced9f6470b5cf78646429f39d33de3b8c97523b0ce6ff93dd69063275d1640cc9341a6cdcbd47620c7185e97e1ddc2e42d13e43f4e831920a4c594125f4e9910fac44ec82aa63310a4c51afeaedd48c663f415b9cd57af5cc304536e999c13b959b096a2ed9ff20b045e9f9f31a4ea20d3ae4560483c40d67e5d1b0076df806d623758f48e57af4044640a3fcc010b681317b14515816eb2d56878a271aded18bd1cd68e97fad1b1e72f75f54dfccdbab4de7d497d49e6d77a4b9b54026de3c3e0faead5ae2e7743b01dd54aa2abc94199d520ccd9954817e7e42484ba626522f56d9ff583e26df0e3620b8a2e85167a518edbb78f040ceacf1ccdd2142b0123aeedfbdf7d3c2a36372f54b2b5e2ca4d5f12359429bc25c65276d21a9ccf152c244a470460796f87351e342697e337aa05bc3ffdb7ac818e94f4c97684b8323b6bf9469ec61b9c6a672742bbcc0c7f6e8bbbcae0395714d6a0fbb6ed9b15a729a2a7954cb3634b13352d1796cf6ed981a053dde7ae26e5fdfc0adb3d00b4b1f0b9e367cc237a9b38b0a42085923121386152831c89e21956b88ff21aff1e818a598e8a0111977be73726e25c73bde269585af71d41114dc27dda633c2cdb48d2387e377154e95712c157c6ddd53ed24cd662c35d6402161c242b5019f7de07d49bfe2ba113a2f0883339375fd57a20f8542c82ca989623cadb977fb8c6f1c61e3634de52f74861db3424dc73de5fdf837257ad7107860c625600f39895ae10cb68af5980ea9943f4872e49bf3a1e4ff78434cab4c2259e0a2cb6f55c1272d141760eb6ea751b767600b477101c2f110d85e1012b496291b2a16567c6e2806f331697af8f7695d68e2726a2f4f00e6eb696e3b28e3bb04b31b9ec36fdca2855bc0febb0e22d005bc7d59a1b046c02f53806a42f319d3082ec0c7282daaff3ed05105c4b12bd0d23bbd7230ab57f8fc5f5927a0bc120d8ffdff7967a40f35435629c7cca896ae5ddc6b72aca2272ecd13a79471470618a9c0dd9b43e0c4fd8be34f8eeb5a007cd7bf6d723acab791d2e60add67aa638c85f5aa217c3f82f8d942027a154dae6170044e42c0ac1f4d54cf48828ef2c390112bd2ce4598b7e611852ca15d2d17c883c76e05e776ef61e42218395865a5b7a7259a3a7b271cbe594aaca239650292ce629072d45fb76b3e5870f5258099dcc2e8bd1a4ec16ae6d59c2b515350ce4cd0c69c720dff15c53a5568cd46afa107c13c7ed5239ff005cd978f0b02ab57152512fd725f47c2d54bd0ad8ac72753c08e794f695c7a40545a90b1e6c6cb32fd85d6d572bf483c678d0271cce0e00a58cb27c5c451830fe95e43185fffa03fddeb68ab724b88887ce731d024c7725e856ce5fc3e937d063824eb283b0760a26584dccb72f9a14dc685db46f14e163a7bc19cc5b61e6edd3b093f3dfe3c79c14b1a5e9272d9da7ecfc72c449a8300682aedfdcc089efaa884760aaac7a95351a860d7374cea2de1e8ab994d414e51a525e5c905d4ea87574697d2809b19bafad357597272fff662423731cc00c3474959202875a97a837d5926f0ee7f262b4bf941a65c300068d2d1d8350d0a496c2922a4a868227d58ed8fb0f7a77feddbfff162fce8722abaed0aa4e28234094417a5da16b9af4eb10f0a85ef6de1e0a52d9761c8fb27f6ec5cebf8811567d161a160e6ed919d94bad0b0372550ffa6f2c33d52c605679142135e4f8c1c617bca5c826f1c0a6a72ef940c660aec6ad95f81747ad729722eae456e44b1c2e791e821bb143ebc052b103b08e236daea58ed2a0754e6c63414bd83f6d457fbc505192874fbe2e9dd5a98e9a2694ca371afdee483d3f32c72e1c551050b853397aa21f753b7b8b6935618c5a2f6acd9e11f1e3a576f9f14722be4c1b7a258d4abe1c24b3af40985c00d48e4fcf84aadee2f01148fdc6052092e4203320e9c81db5be1a41ff57c38f49e516e726bd4e6b2d2a1bbd78ac5b472fb027adb4522074060a411087942cbb4f1f40f0705ce929e58a00a951c813a729e6d47db5a65bf262abe4d8c6383a0c81020b3182b697255cd6e210ce1767772a0e467193d5fbb0ef83af8eb014b983c12db1632d18c86a8709e1b9a59bb47727f26d207e82da2a5f7549f506f6e83c24fd2e6dd0e9dc2b82a334f56f871ad7234faa98db747b94c8ce9c1843cdb5aabbfc57d0e0839bf4858d4c0a90ff1857239ffa159466608aa8fca873e2b5e1fd5beac02d895058ddd1684915d41e57a4a7f58eb44edfc0336d41a7d8ab2009cbf0b7f2c8dc4e192cd0d4f98408436c07257c87d91f5aa4ca5a07dd53d0609d5a4f8aec5f752cfb4e6827b4c09b6083072db902d47e5bd9cadb72edbdc6773f47788b41441f22263c3be4bb11f648f5d7211e2471c1554ee9b9cc914f32fd4056d4050fcd541dde97d8669bd50c5471d723d8a7411ed80e31c6eec00c3d60bf44e1cb4ec6841cc44189206a6856ad4f2727545a0d6d06693bda2cb539a874cce406c40f8f81e9ae929573a06ab4b3682190a0dca35f70045efd1ba634a22351f9ddf7044c1047341ee9b0a57b3dc5121037bf8aaca8470d94fcd41384f885e88d372d20d10d0448baaf383c38d758d5972953084e6171a5787ebc6270b9c96d03f680faa9279b7fd67c443ce962339e672ad0db7f4f96e9679f085a72429ce7c804439f6371fda359459f9cb6e7698bd1800bc8d8ca01b567e1e8c264c8cec1d919baa5b2ce7f4483200ac77b5e9c76a3dd59bc262d5521e01771c95a866bc6ef8dc2c5cb88ed5af5f2a0a8a2918499929ff83900d40a39023636a6e6c7386ab830ecfb62a63c8c540b2d71a5f31e1237297bad8430f5c33d0be1b942ee6759e47e11f8e381e16e9c6de62efdac77197721e4ec114f46c5a67c0b2ab6cec5a22c552e5ddf08c209fb008d55e98fade575df6e0d5c8a7743baeaeb5a000818d68fedcf5de44ae3c9ff6747a5a59f3b576722937d996a90be59cdd9a1afff78a7fb144a84c1162b1a3c8167d69d37c13be7258390b826ba9eeb5d09601456bfa6e268ae19df876f7b2d25a603ed1f0f6ad72483b3225b0c803431071dd3d116d5c19dde18b947e5b2d8b95903886e1a0f872b964fde7068cc6ccd8869d464853a39241dc7a514526684e200dbfd98fe72c7263634bcbd21d65d8a64c37d925302c31d46213e78b516700f3cf242402db0649de5cb1a695559e3672697b17fa7a2d07c2797bbac10c9e36241ab46a34494272e673eadbe4150b013892ea518c9fc0fbb622508a46138092bcf0c9d8075669720339beee80fbf2d8138a5906b542968a4b1ad3469148c7d994d13d0bc02a75720adecaa2c4b100118655eac7bffbec5d0d7416e51f239d686cf35d73678dfb537bc9921296c6b16a806fc47c7a5a03c2e9b29cf37b15394710f205ab08d4e172943f4c28766aee78b77adedb2f9a3bc28fa5c8f789e9b8e1a75120c58652a6721b926ee4444112fe0cdf03f244be017ab493083cf04dd38abbde2c233a6b08724cebe4763fe6c7b380a4b8eb9c205cc7ea9156f4a3de74bc8adc576f2fd98a236257132006975668dca0fa9b80f1b3aaa9d963d22e677c26b46c8091b1a8d872c64541dba4af2a90baaed3531812c9d88327cebb8969bf12a33fbbfb993bb042be30c0566a8255a75a2c18cd1bfaf0593c0844a5a32ec6e7ec3ccee39deac42df1bc5e5f99b7c58e38d55f755795f85be77bbd15868e104fdaf6bcb4db1dd872bee2e38529ff8c859c551e2a14fae40835307d6cae7dc0c28e2f45ae2e6ec472727fba7760f5a0ac1b52e9b80c84d176ff3400aeec1fadee25ff54801430df729cb70d84d4a033bebeb8f380c7424d8bc9ba8cc2b90c9ba336dd5fa66112af3a3fcfd4bf22eb68b489870c52fad52da89a907b6563cf72b4e63b7887ad030772c6e0d214b96242e9f755cabcfb6334ef90651b25f041f433d7a89d4c06d97d260df6a0d32e2c1ea5ec302dde0e7f2456c60e706e3dde8ce1a94600002f09d372d6bff5f9fcc328d68d4a17f2473fe870634096b2e06ea74f6c452f703c4af2720e4adec83a36bb8882d874bf9826d7e796c5ae2710d34ef44327f510315360449cef03a5fa0d51d6fabe0babd7ba48a9c561f83ec934ad84df5c391700c46718d96114ff27bc4fdd8a0536880620857aca4e1f355e06072d797d7bb6e1ee9e7265e17d71a959120d9367b2b02c9168010ca98c1f848d9b25d88018cb35da2772a67d95128393acf2378caf793fb81bf1d458ba0c9063b51b75dd2c68cddb1972d01c124f6cdce26290953dcaf0ae599484e464fce6d0d905c107a61d6860ae72ef44c061ae5f527561087d447897217342af29dd5835c14ca91fb4cd6fa59a72b12f6ec3e1d0b264eadeca01feb10b17aecb13607e781e2186d327d71091016d194db4b3ba252392b43116c88d681934c85b68011d7cf30bd290744ccf294521436332ac9a61c70b9a7731c39dd8c52a714f2af5a0cd3932788834dd349716720d44d535e498b1138d38ff6cd21a2b0baf75148fdeb497e50586bbb723624c47550d526ae8a3ea59c67615d8fcfbea2f924ca424e87b76509324de72092c9872a9cad03aae0f16d13f754548d5fde1b7832304948d52f595518ff6272273ab72b5ddf852c39b8e9b221723c94ddbcb2a7df400af61827b6cfc593a90c950d572dfc61b28071b082c0251e2d92801488be35d8a8e367fb07e969cb6a3499d9272c209b2ba78797a49e8997d7a6d426b4b133b43f2d26706c759ad9dbefd81ed2f3a6a7f55a076018294a18b60e70f3980e22191e66549d2751fcd93a612aac1726017be1b4629c91c8992cc71277291b01bbe9fbf461b330e4fa511028584167277fd19161f92d0e7b48194bc081a82e5208a3aff28ed131d435189653aa83c72667488dad654cd2dfab3ee6c2adbd83a4b025c503eab026140b241dd2524b40b0aab9aef50ea810db2c40807f1b85bb75317e88e9ed982b3d95c6fdfd0d38d5f8360226bbb7c87f9fbfd5b517ae3ada40190add3cf35cbcdefe62406b8d0c6726d1e3e8e1385712823b2781d462cfc15c15eea962527af9c52a6397d01401137f206da8446e67d605eed2aadd93a64dec4efcab20aed6bb4b8f38d55dcf4cb725f10fa4b9a92efcd7f19f08c44149156b1147394666042e924ae1c2634006641e4af6c1c62ff4f0a0ccbf8fe6786f3c1035e06c46fe51ccfd653b029d74e8772b53d780a33fb56190af2c19f512ab31504b2016b42e87b2264e2b9411c3cf1590ffca170dba2824581f8b922351cd7f92cbde6da8777d471f748f8d19b8785230f2d30ef938f925bb68d5cea99c04fe2ce67143aaa4cb3417f8e1b07388a2072b6c747ba4bb9e8d0e14755f42b2783256547f1f27978b2043bbccb2096203b06e18fa110b8af0502077a95ecc028994839631e98cc6fe8218978565910eba9037bce454f2d042dd03aec67aab0a25c5b1fb5e5c9642f1350375aa026ee0b8035646920bd598996fc8c0846a96db42350382784a34309955ab8ff78813d4a572c50c71410c7ccf4d4dde91bc2eeb754bf50c563fa5efca93d1f83ee72b2fcee72c4933dfd65ab2535e89fa4926302b6b0d3ce13fbe7cdebe8335c14927319c17258a2fe98a1dfeeb7da18c8257fd58db0697c68af7c9ba3085dcb11b10589240f25998826b1782f1d77ac1d03bb814a65955efeb108cf908d50a0c8dbdfeb3b152f87bccc42cb4448712d45c03af9c2abc37095c64a0a98b4acf6697209ae1f06b1b3dcbe32ceb92500e53214f4278104a9b9cb6fe870cddff5523e05718f6203ce9e5755ef34fe2b989f90a5af42e61978b504b2bd0dfa343247e9cb65d4b87209ef3a345a413c52730e67c436539b95ad985a41ceaf9ea3b8d4c2cba76de50767d6b03aa9396e55cb1e40b27684a890fb643730e2422f9fc59a1c0d7b08ae386b5b016509a586520e703d0b27e4ce149d7c7572aed6b962375ef90ae592ab18bad188f7a132bf005b8c312658d09958f1962d558b708fc2664a015221101b1fd9f29e3d58f5827530d9495e3b5f2cb0143a70cf3ae9e5fde68c722221813d72c4b04decf33bdb4e908fd0486cf57ab496379543ae1a7c07b2e4babe34fc0a72e820715f8c44c70e0cd5d21d9857679edc5f361600f4d9e72fd3a5f69a51ad729aa34fc69fd2ee989a6e15544e66ddcd751123b1023670743bb6fb9f8a81da72452692ab79600634d2b2640fad5a7c351e655cae9cfcc804039e86d0c15bb172beed6bbb27fdab19b2a47a6fe99c895dab319d81a3ce098429c7a91ed713a16333bba72f875882ee0a9f1a067ff623ca721c95ea4c9a60d336010d65e5fe3772fff9f34e81c3e5bdf711c11ef6ea3abb20b20cda06ee685dcd91100bfb91f753b4f4aaea72200a43e2d04a504fdb720130e6af539feb73a8a4f19bdd1c6aab724c2a942be65339a8c4bbf5f958a1ad1638fee3731c3076269d135b23e38f4f09c288690576f27c5592456afec03497057a0ff6842667261284a14dcacba7a6544524242f85bcb87e45e291b6e28bd7c1a50c4c137d8156552937d3000946a77264f7a9465b0a42ba38c24f4d41c8cf9232e50b58c9bf1af4451570c53036557277962730b9599cf909e5a5006e1d4d280cd31f9cf1b9d112d1e8be17d62b5072242d05e118c43b10b5410ce4a75fd2acf794a3dbdcf492032fea54bf14e30d72f7122d4e9f1dc7661dd5551dc15b253d4ba8683526c09c7c2b92b1da72524d7270bf6516cd1086e7912439ccac398995ace7a854f3e8d9a4ce2144b06953aa723d33cd9b15d4d4fb4cd9b7c1953d26e0fbe3ca523efe5f668db22d49232f021f9a70b2dfa5f68e0048266d92e2696230a9f2d898faf68d1b24734c7ae878bb72fb49e275baeba0d1c02bb77b7d57cb070ad54de39d17fc4416a3e668a942f325cefd914a4f79ce0e3ab36c91f0208294bf41ca9407e63093ceed7a89e143191503441a1d8386e170b4a7edcc7267819548acc4a213b4b77bf3db5ee3ffe42c58175fc63d5612d5f30d3a102bb91f0da4e960e1ad33fceb86f65ba82284497d72934ee377486f13f776df2932513e031daee6a9e062484874ed63ec8d7208f804cc796cc8d631a6412ef6d3bc8883bd19ce4be8f8f8da04a85d46812579480e5e679adc98426b8ade0a9bba09685f31b89ebe17d84e0f458b7677e01066dd624857de7d654d72a7278feeeb5b895e9516e66fe50155ffc2890c6a34f2a873da490fa336f9da32f4734382a2a775572c99d95046ec6aae0942e639262ae4fc9b728432a664065bbb08553ed2876eb6d3ccb8bfa05b5db2d8cba6cb39d31c1f2606752ce030281c39c8a4c3894b123e5d74df693b208a10ef26dd8911b2b3cf3d0f506d0ce16df768a7520cc9a4c1a65c340414694c0783a616bbdf8f4c414e5b7243df6bd5459004660d1be4661bca79f5073bc9a762bda1152fbf451c69e6bc728dea32dbf67785db1ac6a71682af124adaba122a171ff7bdd44f9c0b96d93f72d536cdaae8bb7736b2cd0270837a0331b0ce5f303cc8573b85e8a4ccc2788a4d34602f2b1476b29ebbe4f2effd1084a40cbef0700b5f1f316da93a8a3f4a2072ab702ce50858b4439210d993d7b0c41b8ccf4d6c50cbff7f4a5a64a76b03a67248b3d284865005025518162ab10ef6c4771888458857ae20cdad0a66d4302472a4ecb158c6bf011ec5d4140c21e5d04bf1f90fab8a7bf3916c97bf33e1a3b065d8b88b6614953e3c11ddf03573fd03fccf43d15aff893860471088cbfe789a728d1f1edd47b7842816ab2a7cd2d88fb9953f1e8dfd3b07eee0ccbb45e741f472e9e89569a2caffc765608f829e77deb404a991e4a00d634266adc977dd3991729db4202250955bb7866945e2eeeab306add2ce47753b1643203d274e058b87728a9f2721aecb46804a6b6fa378934bad8ac3499a2d23e141fdb7f535350b1e723f249988d3ca87271b9b52ed79753c260d6527ef04cadab55e2c7da7ecdfff72a473f718049125b953884d231debfbd0110611899b5b283303b04f97cf3fc072fba8708d5d8c8fe0a432dbb0594e1ff8435ec73a415262058454e59221f270399a40191f81397aa884fabb7b4dfd216c23b2843ec56b5ce4233748a71ba6ef724358df43bf7ec534fc7a4b67ddbd3558148776932564584dd89a4b153bbf1e562d0ac5dc163f56731378332bb4a89eade1dd5fbee3cbe57c80dfeaca8fa6a37261e01f40d2f8395ac3600ad9a632ee03bc22ab8a5b9231b24f8729539f0d880b48c5a603a5c08deffaf428d11b13d7aabecd85a2bab781561de5a12a7ff6bf373c68b2121164bf18e0267ff9d871ce43f3d4cbeb1bd805abfc5e6145e3a87a084fc4039bcdcf9212ff9d8f9c5c91285910ae80751923bcdfa602f8f936f5cd104d30552c6bd5991dc461c72c4b9302d75ab27606481ea55f8f54fea72f7a680622ae68d5b8df0cb08db3dcd9a28f15a7602de0a3d14d0e5abb9afec9d4fa6b3d521a0205cf5dcb34c790e8d91993d2379f33aaf9f108be66739b612666e0e372088bb47631771192d943d392527bc472423b5b8b09a3013e5247f707b560c272fd173afc8386cf1ccea8b106e0c538869f2c49884a5700c52a9e3d51bae69d7231ff74638bdbcb144a462ff6ecdd1aa404536eb83e9db85b0bca4a526e34b27244cc59c8a9cb8a0a4ac5bca933b3e97477e0141e47ab439ef85d187be9bdc672ca689b1fef75e4cd0e56da569dca15f37afbce188f80caf71fd4ebabc870b427acfd853586ce123d4d87640df3ce2d8da6e68126acd25f0348cb1844ffcb8e04a7caa6ab827c5812fbaf3a1fd65e4580ddd15f8a9603569a6a34821f64da0f3f21f38858f5cba8507122a7fe3a4e894e469731fc8f391c7e510489e66d837e729c54734397ef6a065c49ad8f2fd01b85ed31f11746fc8176a4f81c25fe784872f280071327bbe7f1ed133e8b49932f416e1f7cd03e965921ebe6defd7668a811179ee6a3d918f813cb8f7e8e330fcdaeca24d74f61fe9d16e30cad42527fd072bffb90d928fdb7be92a65766d1cd4d1e3c3a9db750de62c3feaa84082cfada72cfba636fcecd69a58fa432f5cb51d8f28454682d67ea00c9611adb02f1e51345d0a6dba10ea47c62050e1c0801f384b944dd544f7e78808279aceeebbdcbb3136c94d734ed06f5798c3fe4a8965d0437c780d6b0dda02d506f4c2bc68e24a072359b6aadfee0b476d94a73548f01682d218f3e13dcdb72727c1ace708166ad19fc914b74e3372adecacb29bedc4776ade67fb31fdd0d3cbc51ac199adbaa3072963d45921f1bc0be3962842b43dd026698d6fe7ad569f84353394a0ef862b072e913add14d20457e6df308854f4c226eb72999d920aa3de7b7df767b9b6eec63c0b1ff7a3daf4e2db8114b9b7047099fc95b211d45a3e047abc400636de63b727700616471697392fad6d45f7650aafe62159856874dd51e852b7e7964ec900119c9d7a6ed74687653af1c0bc323597fe8448f8e54d2205a29a1ac6946ab8472230fda19c18bce9659ac7ac8aede22ba8baf1a6f7d5d27112f6b813226f1b416363994e2f106afd524860b18b969e325cd53b036eb840a62dfc7e6a8d653fd7243d217dc08ecfeb3deb3927f61190280d89ccb73c7e7538d44563a42c755b8720a1b73bfd234fd19dfa0c1a5823541a5a964ae22779c707e217c2bc7aa752e13806e4bb6da67a869231a276ac730b7e4bddcd6936a7c68fdc90297f05c5e8e3e893676f3c398a270f0a64ae45837a8e7d3f52bc9d8fbfc60be0e44096fab616cecb3b8079eacd3d3a18f9e935a089101c2ae19eee6baa86536c63f7acffb0e01db40f34b0b737b1424a41c42f7b7329d213ade5189b30280bb066bf74f542172d3eceef13e8ce31a5a0117fc5608bf2a9234f4ccf190969daed19a7558599972598127ce57800fd8223f7544503b596d17d35de20359974917b2d91f4e2a3e621c630f11d3d587a58ec55b2c8392b1a9baf22afcbcf4592bee056128629b747276d016f197279265e1b2aab3f3238660106c23a97c2bc893fc89b52052d6d972ff0ad6b2d7ae0879b106b81b892d35648db995520ee42b9b83abeeae23af87667ace1ba1afbf4398781a192212736ec7b24e57b7a6647b60f4553152725ce072cfc9c6af40ab7d63b16125a1966e04a1761799906cd28a948b1438fc66185a526490b9a5bac52801988ecacea9d7a098ecc25c8309abe687a16c4311ba09803c8314c47712f5a6ba16ef88728146ecd9c37c77374618c38cb325ed57e1617b72574dceb33347f6abfdf4a76bdf1c9b1b150f7bff388a02c4eb9aaea2a65c1772e54255846a0747574c93e298628febe964e4328d3eb8ac4d207a678e690a860f48322609898f344f2e73002e25ea645f01be7e625a6f23a82824b7023a322572b7161fe82447e4108294929758f6cf5874027e22af0bd006eb1842912f25c672f9310c7bf6115f5b8246f54c296a83169825cb540c1936d3c242be9c366e2a7242400f0070d43ffe72926450e1366516b84f8fc692c6844deca498ae5f18946f500edcb2214bdf3e073560c7dc81287f78cd048d043fb9713a1e37f42cee6261dd7948727cd7895db7cd309646d336a1d45e45bbc6eb6af7d22beed009c7e00e10b4fb05487b5146b97c150c8f0b2b0d12eed194910c8a278ca2547ab7c26668b40f4b3c1973048064dfb148b95dc1f0a71cfdc9bf741674f1ac1ec180e959721ede11797af43f86de827dc03576ec3e6b23b0408ab0233511f629761110c9168cb717d8ac96298d06bae20d839ad9c3d788bf0348fedbb390a7689c2b4245002eff1fea5db3022ee1fbfa5e2cccc1bcd14085cafef78e34c44463b89fb5f8723b7150c8fff3c1e30375a80696c802a86acd4dfdc00430fc0507194d1668a933ce1700465b384a595673e6c09b038357ccb846b583a7ea3554a011d2c71f363d9375385d27d45164ec63059bbc78bfefa5f40a815479435aa00f8c72ce718b063f27b19846382ef0ccd02da44dbfad7de7e56c3d2e756ffd694383a9b6322a723f4996ebc2de5f549c932c4c2273bab5f85cddc3b1237e740a9149c13c4e73521ae43efa0bf723323156deca0687b36143ddd4b95e769882216c2d1b1cc4e072a6cf87e3221ec6241ad42a68d023d9718c6f69f4999d39fe38b4a305ccfe85649b0913b6ad8f5f54dc1707606390bdfdb4fa4bb1288a0f0c8b910dc296bfc11a3502107ce11844cfca02f2de778574465845499dc8ce948711a9547e1498054f5a2fd4792c90873eeab34e89ee04de7b818d6175d70636d7ed93dcc22727be7246f07776126c558fc4eb068911103289a851b6a35e40f7a83df349d6a74be272451a853bbd72bdb1c8898dc2d66c63aa297460011d855c0b9f4ac080f00ffc416ae3330c5b44504ec4701f7161052fb658c8a8782664dfffcc8aee0b568a8f39e4787655347fce4690d56ed547c8a9d842c2ae1e0fb6c1d900d2e5f24fd73f226234aa2c430ae6b6de028bfe98276d56014863cc45ee59fc454ae934f3839d724e82c2e8d0c7bbde28ee8bfc81dceb05a4689804740d3380d90625522e3b4d1d2af8324ff5f191239a426c38b347df557f4e0b9b91a8585d373e991615e6cb7279fff16f8396b7b6869d945fa67affeb342c2b4ef64f1761cdf91cdc45812d724c294c6ff6f8f2b4da344a0963a5f2326a54759e7b0e2af40aa3ff3a6dda9f23183b2b42a1cf1664ceddc83827dd09d5e18ffbe25361176f84a220b9640c170159a0ecea8995d0d2cf7ac0278156e56d923fe82fd581d6e9f00c85e6231753722b5b0a6b3d59c0c83a384713effc514e2ec6042a095b5671f396c955f1bace72466c24e3b3b0febd5a40bb1d3467784cff4ea6527d69922d3d9da1e89bb7f8720552a44b1094ae6ff97700a3ddc0a1ad34d574a2bfe166640e3ee7be8b325333a940bec1615f71cfe42192583167c19b6782032d5d1c79e4ab63d58affd4f1722df2b0e2497f13809abc8e392932918060f89e63508411e6c4df96ef7d378d724893b136f679a5b554dfdc43ff34699f518ff19ccebde2c3d2647985bacee7272fd6ee187631186fcb1c6ab5cd7ff3a42011efaf2ba5c8caf26f14a6a2098572096eb8eaacf20f44b16124f49cc6e03d90d9b2b928477fd55ca6246fb016c77282a6b039f497af336e65b7a045c9e55f3b6088196b61d47d92e7e0da214eab72df4f932c3847142b8353d895d656d44617caf96c334b87da0d715a01f0ed0f3f108124b7c10408f03f5e4d597d820457eb8b9332df44f5ad68e40154c1cc867235483896816b5f439d5bfe95346eeef4baec9bd8be4e951eada14a5ca8db4972a27c3b1b96bd3494f8689b9a318cbbda0f8c7bc622671c54ce155e8a8b3cfb7242128c3729548e15d37cbb09994460ecf3087b2afa789edd3e0d58aadb21f772b58b0ecc9f95b23d8da342d2bb089273f9d9404c6c079f4852ca5488a85ec872bade0bcffef6cd42faadac1b3c0bfbb286477f8a686f219e1421cc0dcbbe962d4b9e15f1a0ec42ef6e5fa5b71ce2a05fa515e488ea80297faed1750331b15f1f4223f65e5652271decdc88514f605abe3ab62d6bdd93605f8d8cf98b86c5bc01956d885ec8ca2faa3cb7d1356c90d7a0d7eca2cd188e8e3e9154bf6a43a74572a6fda819c590aa77ef60d2dabb801804adbadd9517cc4263f62bb40379c63c724b1663a1cef0cdb52060b78d3c623fc32a44c60c1b95d94b4696d4b27eccbb72b9adf379b74cb59e237b979b5b6c5c690d36ef3dbe745fd3dff97556208b43127c5487ea2b585f6a688cd258fa0907cbdd36a27e3fb3464ac3a136467ca8724bd71d89e17e6efbe3e545deb6f13a63f8c005e923b1bc03cfeca2bd9e7fbb1872bff9230dc089018ffb4b0427fab276327ebcc739546dafe446af1f82ae73c37237176792f72a1e00b2438a0c5c164ed842499dac2e3fd6d4d37a602ec37394728ba3cd9e3b353f5565b6b332f058014ba11ef2a33b3ec3bd1ec660fadf81b146b5a2363953d8c00e93f4f1a876b3275f4a34c68b29a973ad08a87f911ab1dc721ca91a3a7d0d3b80cdf3c6245e284204a0622d0852a1514a84d9b5673f9c9208636ba8e7b4b8f05f44687b9a2c27b92df9cb7633ebd06bf559c1cf14617d2172e9b04b2d6758c6d39cc4af1ebe880cd529b5dada40a17f9d11805bd7eefc1d72e94374f54052724a4d3e21ef065c64039de24c7642550c560875de7cd9ce8862d2b008aac55a0a8494621035118ba9fdb907d760e6daf841f91ab2b05c99327224fe974e6a2518b5899966bebf591161b3443de3cd77391f4285d30627728f7235be8b02871e58c5638ee03587ddc1b2c917453ab5065c741bc2b6da37da9b166453ba0b48ba9edddd40c5db7c8da78dd84c63ce0f1362f76d7a276e983c9c7178f4f08df302c551957bf042eace3c67c1e796fbf9857cd11d1689d6c91f197255206241eb5fa361b751aab19fc35b25c6a0cbfdeba08f08801c3da410fb347238045c1e061911ff0a22f0681c4f50a1a0748affbd0beab6740f323daef30f34254031092a6d99805ad1830a239c8dccaa0d5406d1a6e6f90aaae5e14e8bd4725ab52039f150a7b09ab951df544993b891df6152ef1e6a0e819c49acceada872819f39b02c5426bede8b2156b5cd30215ddae2f04e5474a8067f7919245220079ecb277f0bda62f6e4f724188d8c632fd3950c75b83af0891786e2a66465f272a67da9b19d3fd7ebd2fbb1c6eee4d86ced1f146d251a2400da668936d0087002bf4f745d8fb412eb35b6190133f030f45f0e26b11aeb08cb1d4da57e4dd95334871f6be81cc2356ab421ba5fe8fb1faf5250178c98c2075731efd0477a44d6726ec16ef0f015de5fc711737c45f9a2c661e5f72c70f3ded486a86c3c26233b728c3d867a3cccc7747156e3a6b697f7392c3e2fd347cc81420d42b298b9474972f433114388adf9385a3fcc466597849c13b54c98c6ecf647e36d2c205b574b115bae69e2fdb775f4d20e457a567ff4a41e8ea2475b945de046930ed311911472a718702f54697fa0d7e8583569204b778d161b358822ef9e1e33ea30e84e5f3052c3ed51d9632a465943f691d5ff3d31e19dc208e3428668fd575cb7cf1791724fc16536152bd85157c963d355e208fa04c96c41b74e8c6633c1cc86e479b1151bbed269fc602f4f98c3a760e53da4b637039596d07db18700f2e1b2ffa56b390e64610a19dcc7f914173aad9c6515846ff58532cb0aef9c8472ef0721fa28720340aa53b996eded35e29e00d7e8ddc7db67f99fe1f93564c684fc56d0fe81222080bcd8b7a52a6fa2c8ef13d5a15569eb7a0c4eca4cdeea9950a2c423d17e7285ed42293768fa73b3ccf5d308dddf06dab2922eeae151b1fd9fb76c1533d25eac0ad2c5357dc2104fd70e6a874fc585d043c3e663de32c9a37fc1fc5e858872427cbe81b0c9b187c7b04d68a7cff622f6cad2518d030cac0158eca9ffbcb8722f63f23aa4cb43139d5ed415ded72a48fab8334ad840ab8a6641935022539572f4aae701fad70cde9ecec59b2c1577f60472e81f1c9a8f40b63243b47bfcae70906d58a276d829bc1136527953ca1c6d8b3446b2a8e4c0c8b5046488c1885124ef3317e52d5dc0f97a62c1f58f2a48cb7377c98d216af94be629e301f5689e1e48b19b8d414ca008134b0ddc505381d9e387acef79706b98be34b91773ad6c55bd18b1b33c7cb0986b0f6e3b61b3f78664369be26a93fbf90f980a9db2537b354c45b4a85fbd4cf454ebd275d87f9da2f4abfec90406eaffbfa23b62064865724891edbccb692ce6440d5433626767dfdfdb63d1160a096dab2b69569099945af1699185b8f9b27a3483834fa4de829acd543ea0a4a8815fbc6377ba5d206d72658778a937516ba82886649cde2974ac70eb179a733ee165817ec4503f25967298ee8c01830d1554e2d34a1b616f8f2741faf0a3e496b0c3d6e07fe82104006d2522b6976e40df23a225e54f1572869d932df5d869c0fe55fbe57af68c7f1672212a7e2a7876066629725d0ac97e777a6c5fa57bb01826c427b93e0e855d67107f2f9e155ea3a5256edd3ea1da30431734380c884e3c5265837a9993b595f1721dd814c3825f076cd9d96615d393b47aeb9dae5960280781ae77d3fa9c9ae972aa7b54f4201f964e5ef6041fa41894abc84435c3b2c3a1277e8f91fa9745d462be1eb95056bb4278cec4fd7bfa6b86eb50e0e3daa54d003a29505bc2c6cbcc4528952584b5d7a5c2fac37d23338c900ba73b0792641878ef5d4a5d3b3a23e11778103b6d2a5ea09ec96872e8eeb7d5dc499202f391c8ee42a0463c033d02f8597d71ae98e55f9e23bdbf47a53243a4c12e244e22a448c140557eec11c1f2e3722279ca6490546c1d5043015dbac0a4deef9f58b73d29437ebf2414b2f6c2b0677afcf1411b0d39a51874c29d743efd1f90d07af65257a4d642179f7210bc5e725d4e7d3f0e9213374af50851f2dc1e75de069b8d19f68f4702605a3a803739729d31741de6724c303d404f21fed180ce61277a85308035185dbf242b0dd11872ba4aca7d4fff84811ae0ff718deb979a207f1ae7529a8088d813bd768b1bd07228837437af94e0ad3bed1518c10137afd5445be30ce98c800b71bb36040a5a7224ac2d817d03d865676598280f8967b45a7251fc46254ed35d0a20c5a4e8b3723713077a1fc52b296fc7a6756f594de329f80e1f22a05fe0f239212d238bce52da53c90b8c01558844d18c93a1d9a49798a755fe15f7443ae08592328c9de772c560a3360e8cca66650c9701a7c0f98cdeb1729cdce85de903b2dc897bde3672d557fc4a0bfea7a36bf59ec6480ac773d6cf9bcdaa0be2b18892a75250c4bf722f477f2ae6254f12c66f1a0cd3c4050f680890b5524f97e4e048f6ce91481f17ce18517a524b72629a33b5d71a65ad0d1a35ea6964beaee446e3c5461c5ad166e8ee022d23214743a85f1b97faf83bf330ff022f0f0b1c83c676ac3cd63e82720fe2deabf6a1dffb64fb5f3179585cc378086d4606ab11bf4e98fd15bd735372fc954a5e11b967326833bb5115a56ee2c0405240483c3824325b791e596c04721f1ad46a4836dc8340b134dd357533e368d6571d2bbb5f6d42dee2ef2cecdd728b300739779a32a783ad79a615cd4c43df29aefd32e9e672b70b1e6c0b43bb722a889fb32c7f593fa6c1a3c6bd3986f730880ffa61c859bac034aef15a0cc772b013945167606fc757ffc9c17a27e2ef3418eecce45358c323906fc79b80c572bba9ea34d3ee2f9344cff3652685877f78681344ffabb88040eab89f15c95672453ee0a90e6ea3617b978b1a7b314d883e5663517fac5ded2ab3a19b52ab1314a31a59bf24263786f49ce72ed769bd3d68b3535c2460be2c98e7a03da84c0672b814fb094818228c199049195ffec89824d0a3fb152a6ab8bcf40ccc17eeae72d9adedcd0d5d65e9b50a5097f54fe0c1cd34de7e695da4bd384b2e64fed60b326dff4d84781bd74b73b926fbf31afa65b58998092254418487c3524f520c6372fef5d0047f56244d2ae0405194c1acc423610714f8d80219834b73a52104e6724886fd0e707b2a66faa50aa807950a3719fb5985615d8a12510bc2ebc4058472ccd19a03ede931e4bd2a217553f8477cd0759dd205750f273685df71aab9a1283bea4c7cabca7eac242c159ab08fc66eceb0ab9cfee08fd60d3d771bdddd053008770354122f180e638c6f821b9f1ab061fb84dc94c70f0a08a192c9df533640f58df8d8608b83ab6a68bd5e7e2815ff58e57fde62acb4fb008aef3afc3d7072910a5c4f33612dc35180db217f3ad0c8f28c666b8c87a31577fc77bcd9dfdf4df1246eada3ce5bd8b9c6d5b685368573d659c7ae5da0d518627af97dee916052fd6ebd2c0992517eaad0fe732a4cb086c3d664fe6d740810077584a045ccc94e9198178b261e5d1a23f42d278799ab9b9865201039b19edf905ecfab1636a272dd80fbf9706044b26fdca4ae13392a5bb9ff3f7044e8000a64c3f1bcaa0b977247440ac0c79d035923efc708a3d1d67fe3216c18a853efeb59d848407953b557ffb1a5f744bc67c573164c4bdc952798762126ee48bfcfb10e3383cdc5c7bc2b7f2d9a2f395c89c821d59776abec9158a7fc0e4417f77dc8556ebdfa361ac5723ce0815dfe6ca8ac2066ceee28cca32d66517a92e0ab079c92993dd0f724cb729c4e8a295c28e867b1c5859fb51299d43cdcae95760b8c84d00aa1ae26e6331ed01425051b89a6aac815938a191cc662fcadcaa13f18688d916436d4968ddf721b1935f73b20a9d42458e43e16e617517b1f2f9d2185dc23f1a705998856167270e69a8cdc456896d87bfdaa852bf952f407d645aed4ff2595ab5bc77bcd7272506c5ad3dc732f016d2b3f84d21c891e60b4bb19a3c2d7e50871bc14700da113885c2db1f8bf34a889278663b6c5e775146c75bd9bba9ea074a26293975c2a72d63957402f0e08aefa73a225b2050d4408c1107700fd98e271d0ef8ec5fa1f7239a7dacaf584dfcfb2eaf01de82f6a8b33300a08242f7b00a715631a283a7a72f66e0a261a43cfdbe8dee51114c865af37a70bcd1cb279235023d96108e12f2e3a7507323270c8b9a43dad4c61fb8d1a1158fea529adc2765821b341699a641cbc10f77bf7992d76f6da2ec9d105f1d2c3c5a58c2af465027d73aaf62e5499726bbd020085d59d2806dd38622ba5b9fcbbd6500fc763d8036e57b2cffa4ca92ad263c2322fbc8ef61671c8b0d09bec144944767c065d4abfd14c174169f17d72f9242ac9a1b38a35c18ca713f26a82ed14a21465871d1025e84aa123c09c6f72dcdedafc249fbffd690f83da721b6a7466af1d0bc0d4e6025cded8437173477202ab078d6bd38d2576b497f25bdfe0085d6e09d602b853fcd51e72bf304e28424f417df913891b54cf6e1034fcc52b3c4f68231a5f11072c0950b4cf82a5e94bc361d01426a44ddc2100e4ec8b4fb2de5d9e8073b0e67ef50cd895ce2c075a60757615d6bb908686c2ac9bf688f9aebe2bb8832888faca97403803dde477d272c14f0cce729a56cc4be689ac1d6ab5bdaa36a833bd4de9974a4e07ad5fad6d43fb9200ca16b2476131a17f32810206367ba0280b6ae0b096476f450ccdc8ed72b720e3b9d412a90b759bba440a9ae406b423eadde7cdc3ceea5c758898e8b0724fbc9c613db796506d8cf4e30cf254bfa17260d6fac86f984161834925568b0217255e7136020b4edad2029fd205e7689cc4a4fd101caa8d2c8f74b3f6870e49fa088d0c68c827333396289d7c0cc9c200ceb4d1cc3feee3e8fb429dfbcc29039672dae8fe737b9841910b7449c9635683c503158eb84d273a035e477edf5372778752ca555a71252c56c7b64eed1a9896db306cc4951c07751b442ca7111a51fac5baa6ef4d952650b658779491b3e6536dc42e9e8395d690e1354bb2f9c639c0d33860e03f44139d835c4031072ba6c8a482d420874f7454763c2c95f5ee7249f6f414efb56696c4ab876a27cc5cd7e7c83eb0150a84f7cddc8debcaa3246587ae0ba882705bf59eb14ef23944faa7e2d259e1ab5e548df229aff0ec132c458a9e61776a6a77636fd75452f5f10a5b68cd69c424eb8b9c016970d2d1c9d17228f4781c4245bd4e3469b7d53e078478452c774cd646060c177c7ad1c095003c695dde1c18f844096dec8ffa2d952e3ce4992092e0ccbb0c434b2ddc53f77e6a421616626f3f49bfc026e03f82703e0564a899d5f196b3db85f623b18f4a4e72a3296174dc43835666407fdd880d0429f5fa68c05657295d031b59b2e58660729240e427466d121b35aeb461df3661bf505a8ef2d6245d832f40b2fac9b7896b173e408bdc888d94b3323342ff6a80879e9a9d4c02035b44047b925983ba606ba35f3104d21655b20128f5ea57869aea059c5df7a1c3ef0c816d18f1cd3568723a34327ba94f3a6bcd9f366774a330b31e68f9c5cb13a1e28d23a9c39a45ad3e2614867a83a21791bdc40762a9bc84829cb00b0e809fc9d1648454cb4a71dc727f48993e4d7260211b0795c4fe760959230af4e7929ebf0f5cb5e6508681b872bc765ca7db0786bb892350ea24a477982342ca06cdb28fd06f53dbd9e9a23972dc3d0bf5e8b69dcfc60cbd5780ff0b576636a99209b2c530f725a34d0db30672de2e3e420dbfb169a236bcab20ced625987e8ae430b3520059aebc1d052e13720933de4a56f5d4811045106e1dcd21b77a5e1f00d9f64e5d9a8cf592eca40253e79a24715ed899651d38761551a17555805146cfa515c235843887a5036f5f72e49085235e1ad50fef662ef2fcce38db8e0c99f6099c0e6f15746a4e1ec3691443f8d3bc0587f36b88d0196e8756e22dd65d6173ff5c3941a85c9da86c87821630da4385962e371e7a197cd44d1031378f2eaf2bf3a1d1f7f122837d3d10e13747c4c5a8be66251c0e98f3b05cd56791b71516b7b7158235996de348a9bec172523cb5ea04aecb83c00ef70b395d8ae2cf55356f86614ad719ef1776dba533724f758e42343cfd20199d5a2615f41be40bc96c9b4ae7e5a121307b95a38e6436b2c3c80171405a55d99897c90ebc4197d5ebf2b613f66836aa47fa3870968372ff6019b7c7b4ca776a81cda307367d4f37fbbf8c8fa5609f6c3edc70f7e8eb439df49dd4bc931b1c312dec393efa5aabd4e9989ae0b186a7e65bc73bce5b544a52ffb029875bbbfcb6063d5adea646133a2438c34af25903d2d1e8351dd1ae72d90844b137116a628f455a3962e6379ac5665e289f90623c84624b7c333abb52d4b4c6003929ecf772e7386c844b3439afce210fb06681d692a51a1ddc0be672d0d74f915bed9d7ff49b0d8aa5701bfac0c6488ebcbfc58c43869419d5da9072be053b8e639b35a0c774ade9599edd8cee40c569b5e8d6b0e647fe91218342405e44e49cd2007a920a530817ced03238abea14015c829a7e3d60c5ba5feef0544605f545105da58e3b189cbd0d982c2ac952039a2b1cd8fdcf3a88fc2853f972e226032f13fa633565de14364760c3f183c1ae6df3377992cbee4dd5bf96656f5feddd117f3fca9e5218dad5877bfd6c9494d20303cda1c00dea4bf255d1d91317cbf31dc59ef0597af9e21bad972a15a7c1ebab9d51264b82c5c255f4bfe0727955d651cca4936948b68a0db1a6c4d5a84c2f76a789a2c8196ceda21a8bb072fc642d23aceff02dbc2af2a38d756708d435b750415156c8d5eb7e52e74c6d1f530f71902731bd0c3f5029a3b8d54136307a76255f335f457dd636e83bbc2242ca551cf21306f706c97bbaa5884e3a39bf49b0a2eceb55c1ee17eba9a52ca172d3bc7add165b43916de49124597c651b911af19fde792027ae6774f82151aa721803f452e7aba5be1b5ab07459d2f8cdb16b281b2466935786b6a1ffdf7aa5723fe7d4be6982917ed414e48e656248571f9cf19825e58f3e1f3f29c2c81c1a72cc0707580762364958fa1e713963c1d317824bccee615d54686654e029625b2b123bb36d88607675a622a4f04ab167f6f42cc58a5e21a886df7141517db07972a63f6024616f3143b1c3d33960b076f84c852c52e8a31542cf059154f34961723b1cae67f003475364581489ec5ab58b5c9f494b856c110a8fa4185fda8cfa72f09026e0e8d0c2859a004a7663c1c7160d09b70dd1e3f0e5eb59ed527c7d5072257831533a6f6750610bbbbec10b44943fa218df38259c9c278e9588e9369e72508bda95c98857499f2fd60428fa58d90f78d76e459dd0d1b8061f2079f1d41babe0c13d4fa0428efc61c179aa185c488cabc469329fd89c28eadd971b8ac71b7dc6f3ec32acea90c698c7e4aa61d152d90015eab3d6baf51e2b89d65d2bed72dccfb25881e44127e39241c6a9a92a6e1adb39115e9b09364d2ffca808f2ff72f2c7c277e6cc007f803d058b4e5bffb6987c23adcf4a54b3d110221e0bbc5b724053d0b0c569713350fab40a0722844e49ec97b079fa2244c1093c9b3e89357230e60563f737ec781f4b6aeea007b74283d01cd1bafb9eb3371c4849d3d0b61d17f570092392676dcaa0a427d0bf678141da9f6f6ef0d80d66ed1e669cc1194a2f1f8d91c936e43e3366a083983651e9eeb8092c3c4c12fae80ec451e7dd5e72f4ae414e4219b6dc761e4b3a85769eac9c9674e0f0350472a6bf3c8c916a5272a5d2511553d1924217275f944513351f541be5ce3f5416120d3817f5410853721619b13d61d594b57914ff44651337b3c580f3fdf67fcc3ffb51a41a76d31272829d7ecbbaeb2589ea8cc299e602f301b6e067f64464b9c91461aa2d8184c76a50be908ab751a8bfdcf784b19039c809b58cb64d2197e75975695c72e84b517244047bb68253493f68f3cb8dc68771cbe9e0d7501205d309303fdbff43fd1a72aa15bb9f4636fb5894798a96aa935b893b8ffcc59d6db979671f31cb720c93367ef6e29208a9ea368d816c3d828e0448adcf398ee2482038df137dcd9e3d93661e0480871b5b31ea06577b9509c0c3ddbcf862d94b9231470d70cea9616e4e72ba6ea4565c1e8342be340e910fa2f8f67022ad6c691dff0e1537225b55f7c67289451895e667038debc042e6b653ec638b81484536740ad0f96dbd4fc73d05001a771bf0463677fae56eb6e6ccc7dcee44c98bc13d1684069df4228f08642e5354a5f0e7e79b5313d2232bec9957e8439e8dd5fc51c98ba9c9c1c04aea55c072b9a7cb8b9bbc327c4c5acbe0dcdf25425bd2494b0faa3b0d82b06ceb200736419bc79e94e91a3f239e5b27200d0068464e461a59f5947df52ccd29a1fa1f38721acd9e55d1eea07e25fb55b47b69b87af5718b02800e399796192560efb24045cfe58d8b47ad11942483047f04aa0496a81e44fa4b8c0199794a2d03b711237250355e14e827b3786c08cdb52633a80c61693ade1e7a852986e8b33c2107e32a77601a1c6409e10ef781e85499122a5a158356855262553743570ed91c5e02581bbfb814523e762452d6f83383f14e99fb1283432f178d8c4df2e750fc59264fb75112d6ee1f59a25d4fa5da719db32e5a9ddeb3f70576bb4632d05218acd772d74d10490ae03455e66fe2dac953e08a9e925b78abb96d16edd5e46a430a2172964d67aa538448a2cf34845e5194c82321896508a38051a31c5d75b99cd0b10606417584ad594ef09fdafa38d3df7013cf8816a2d318e080d0caa50a4d20347220d9c4b0e04da5459f659be8cfffb83abd4ef4845b093be54ff326a368997e1842368e69f425e48df804e13c597a4fa06434659e3b92cd2b8c4bf754720eea5460f2e10e066c8ed9fd001f508ce86037c4e5b06f96b52876d64d82f7413b2772a9c2982c28847f257984c6b9e21534e7693aa8140d32361f5484220d28a7205bcd089692a9b1ddb9c40299443314e952bf3e2fe89b563a0c62c8ac57d81ca272463815e891cbb187db22a026905ef0d04c8757687aab861d2ae3bbf113eae9722df1461981c6260669c8b48e034c55bdc08c5cf7609e97718defe88417bd6c6c71163fba397518107c211d0278963e61a02c450b60e72b870ec83b13e1d9af32b88d7e6963b568028c52db945dfb6a8ce6b2f4940c232a35a517c6e81260d36c771bebe8441dc7357365ebe30bc57e866b75b1afec3bef7570f8e8bd1aab116909e84d8bc3b5097a0a6e03967edbd445e172d7442038a01b1327c8c8bdd6047249fd7ec9398dfaeba41744efc970ba2f5ff1d79a0e5bef86819fbbb73ef7072d51a6159b72758634a9c45edd3413712d6c47861551dd2333e676a4e37442c447ac619aa0bbc12cac800407e621e34c484dad895534e64d074c53b8d186dece725991f1844283509b3adc57981d50a3efe9a8d51476a4edffeb28138c5c4e3c10318e39adb089abb12d30597cdc58243e6d7c4ef9761a1c19c359631a0fdf547273ec3266eac3520e5e8b2642276825fa3d27f55861301fb03d00a12e9d95e872121bdd85b68d4c39ebaf50dd2dd777c0241397f4eff5ef199133c56e888b20518d210a7fd7d160fd21721f341836cf0bf3f9f2373db755ef69cad0922b9c1772c0040f7578e27227af146aa8769ad11a0cc9a8608483a6608b16050d2a7da172048a67238756e10f88829db3a789053f7ea15283814c5d2bf33d8b8a81cacc72d5c731a603dedc9ee660d1b0b3bafe74e8d00e503a92d8d648a7b8d3582a7a72bba266293b5207fc55799afcbb8a0df10bd90f6395d130844058c54732aee4725f646aa2d8c64de2238764e269c0b5772df0d50dde5010b8178ee0eeabe66f72ab46f7286c32339bbb55b80ebba20dcaa2152b296e19af49acd37cbc4f9b8c72e8e4bf6d3735cd270d05cb0d06d902c1ed7825462a85d2fe5b4ec7d056acde728f2d8f51d117e4beaa471a9b5d0a499a7c05f4f39a9d453dd69a9f263cb94f722c36d333d8d81b786855045cadc3ffbcd81252ffa718119de3d204ac6b22a267873f967721dd5a684524dbdc704196bed3d9b3f55119b3e639c2a997e963ab72cf2d9299d12729fd510af5390010c527343e10ac03d16dd2c5498093a271f846c8894dcd8675e59761210de02206b955bb363a9412c6a7121a0aa0fe18fcf77252808608a314f0eb15f72f9c932846f4284cd83ea89258a220a168cdcbdaca0e3a4941a8e3f8de50c5c5219b8b6722e67d6e368ba1417ad9de13924ac9ae457299d34b56f2b442f76082d3cfa2bb01d6723fba5317ca015e6776c78538c74a72559e51ddda2915bc26fa87090262912fe4373001f9157939da6b567102af1272a47090fbbd3f6aaa928612d5c48d912d78bb17393adbd7d981e5a38da901ea1f365d32d1638a1730ec689f10cf7e62027735b64ec0f7a7d2878e79a5d19607490f1c01c2747bf3bd295000081ca8fadd56714da4dcbbf3e15e10a9e677921072d42714c55fc989a0ae8c6f37a55cec936e5a258c90243e9887ca1222a50edd4fef051d8dcd339b6f8f573624da9dede42134d16c7dd1cc0f4cb3b86c26308172a13ecd82ed28895134161a6036a4120386a6a0e840edbca949034d9699f0ea72ed956c904f3f61ed637f6dd3587d23ea8c067513263ea9d1791211771c765572a3bf3f74146b081356453ff85e9b7faa3d55c51fd59dadb386a33493b205ec70ed17e9934699998911324672f15d57b97b5b2b117d5f79a46a954b7ab3477a271ffdfda723a9350d3975743f9bb3acf6252b7538a18744f4deb867efd30a494a33cc3eb4d268bcda18df1bb622c394efe3a6dfd57df0c9204e0296542e86c2724a5c33ee94bde968c3756fb203a0a9abb3257b7de43c56517b0a73d36eafef5aaba1ee1ff334cfe079330f1b5cb94f2b2d488d3f17916e89dd1949edb6632072f7c78cec1d2171d916b75fb43bb4976a815a79b45fe4108abcfde0942f0fd5723b4a087476061f877cb63f3a50200de07ff625a9eea73fef353ea1d66ee6ca4cd6a13d4ed1b5015d3965bf45626c7edd0f4d5c2a52fc8f507bd3c63470611304c3db70aec891bb0a66ae14aeb4fbc363014a5591f5466db0e6629d28704aae72cbd32837acf015ac43f4b115318cebd19dae2f839e788eb10fac557d3fe37f7206e1c4529629d93a3f9fbc7caf10908c30cddb3e74893bc19f5bad967000e3724c34dcd0ed7dde2724010447f46bbbe280471e7ba95801caac303d558efe6e4dbdb8ba88794a9f3039c50732ada015bc83694f20a53c2d7972ccc3fc5392d072faaa418543dcf9eddca5eea6199154b4c80212b214b0802332c1bac00caf5360f09c53673339d35059e8f2a3d2751f015cdd71d77e214bd75ce818ad89d2782ff1ae2ff00512a3e62abdb5160baecccece407aeba8db90e892a7e7b53818fa72afc48bfd9fe9abc0af32b8c80c345e57dcae9031292323113873209e9c6f7b7295df369e499de978e171e23424c0e216f741c9c3a2daf21e4363483a7f4977724a4db186ff22666ed417a18e9e9760645f3450c8fffa3cd8f6a206f1126c4b72ed090bf7833ab8b06b60c163d8795bde1332e16eb666cbdc62b1e7a8e7aff4039744fd260c1ff3b6fac3b07dae2614f68c38c4095985d69e55b605f3dfd2e17273e61aca2f176f1924d8012d5a868d277d67e362ca3bba418f39ca34003c53729b10979ec8d11a30bbb3e100a0d2dad8ca93c8198ef19121ef0beb5bbccb4b7004697019df644ee502100b92e688238ddfa2686b78cec0f2a47baba64bd6cd720f5d0d8271f0731ce6bd060c21e96875ae7bb6feb844f94bab69ccb21595117298ddf7381b05ced7cfb76b2df22b6aa113a3d63fbad64734caf3ff0992bb2672642b479a09c68f5bb16df83d549378aa5377c86ce9a34da6e4f344dc9defda72bdd42bf2b7476dc8a86fbaa11767f2ffcbd487e90b5cdeb462b62412dc130c3ad15a25096174ae9d344221ed1c339b70728fe94b27b409db72ac7dd2861de67001b219ae60901d6a9943d7f0a8226a93f3a84939d876148a8ffb61d54836842e9a4a13f1153f208ecefc568c5b4ebaed2f3ca8bf89a2f980b5f8514617d2fd68b77632c7bf8d5c2ce80e8b62b063e73556c879a89884df267f7c2fc33eecfb72e598ef9c23121ef64e3714cba7d10f280188aecd37284a5d36c119e7d296c872bd2d46240a0dba8e5deae1b7347ff2786aa6c6dc1cdac73c1b193aed159ac116bc4cccc52e24808f44763dc1a68c518d48732e76ff0e6a6ac9f31fbeceaf7a724048da8c464321b59e45bc3eee0d3bd8349278058aa095e6735d40325c4fb872e51b9f456a0aa23e58f121ca88cde8aaf0769004a5bbe1b560b069d6386874727a9246ff72de10e4ece3cdb06bad7f6b34985062a4c5bd8b1b4cd303f3ad4872e6f55b8c75f9217ecc6064d057ee83ee902765b4747eec0802b2555c3ac4c072f7777b3c22277f8d07005a055f5bec57161849101bd190e86b2b265042458c2155e2765ecc1bb03072a48fefef69f0e42c8a92e61f959baa89727d8076a1257236effac5008cc77b3fe6f00c3ec2348053613ad4a21b37fe62c7db0f8cabc961d1ee4a4b456a80fe645ffb39a3d532008f85d7f6a41848f37c0cd9dd5a24bd16d1f27eb5290163969b4459a511ab18abbc809c699e3994e32473ac24e42ffa6b008bca0c6afbcc602637998d550c86935a6574bac7b54abc42e0152376243723b9409912cccf2b1469280ca0c921f1c29bd5b72ac536e37a3398ae840d69d172fea17820ee68f50d2773300942258f4b825066f5ea13854ec43e981f70e8e52f20662332af22807a02a036cbd02d1ffa6942b41e4d1f4fa17122429b1f8b7772d7ae857eb7f72c43d6c20e33cc018bbbfab7c2ad1e6a6bd32e721bed47ee080c38c46a4359adec049f83b2508f4e3c5309dda7588bcef632458378e9c0f086726d21aaffd745040329fd2857012305958a206c93f2d7ff2a2de1cc8f2d252b5531a6b05b5c78b6327772f1bc5cd875cec853267ac67652db7f106ae0764c1f729672aba756b5a596f5a5f447f9bbbcfa5199e8450722a5c8eb59e9502bbab9725780ce2352dbdf1c1e6613bbdabeaa91338d31eff27e2b11bda2a0e528782172fab5839047816be050c62318aec6c63c4720b3f7e23382f2beb052800c32467225676ef3f462b4f116c2aa5e37df8aaa4a713104cbe5ecc1cef3ae5b7bace772f5f2744e1b95ef0fd885dd25dca104315e2c588fa5821b81a69f9aedaf609972ec497e660c8a878b40b47d97abecad0b711de3c53da02f372ff54753cf84b672cdce09facd27da64f5f32fcc90ae2a03769ba278ca805e6cfbe0ba75ce6c3d5e3a6262fed50c3b031c266a94f7fd3606f46c4b1ee50a8c7f319b9452b6e43c0ab2fc3c63929e215c1219ac5bbc40d09c3f37d862c20a5ba8326a5936eeca17724ad22680d2ecadf020438373dc002b9717c9c96cc916464a4c07dcf3d762287254d6a17399ab4a7eb0ea73affa1e5352e9fa81886ea7e74299f3ec2602873272fba5a9866f0b5e827c18fed922faace476049b43805705972b79765f53d73e72422f45f5ef77819a8c4537832c1130b597fb72281af6b905de97a2b31753cf6f43835c1710d4575f6efc5b63c438d258954a5a59d9979d3216c393ee3857c272ccdc26109eabf7aa9aa43f60c4680ee44d556f7d93a227cdb5eefdc224455a72a86df9cef37728bf765f16a1b7f0c747aeed710f2cb660dfcd41a5afc80d1a6f97b0de752c325a65f71c2d3a55c7370dccc9b4d7ce306951d0699c605a64456c5224a23641717630d323824e7cfde4e5190c85b5e95750d86afc21f9d97ae872df154a08ecb461c4e673c22496504c86201ac6f072e968a54af2a2e37de8f02960ac54605f9279594b722de90c5f440417cc147b557abdd3944a284d831366722cf056bd9176f953dc3c9342f417e150d5e47c64edcb7198156b5fa64245593e84d38952947ee41bc0a487be4e523a26e0f535b1801405aeec7ff9f2c80b3a3caaf15170dbf7ac441fc7ba0915be2fa264178683304bf389bbfbc597a48d50725e4c58d3c49fc5916df4a6bcd808cc107f63bce4eaf10fda96d10cb00f3d9872682ae667e9d5d46af1896463fe308e567b9301940e7d625e0432f93b926897727eda9387e49c8d8e257598d5dfad0432ef00b0a53414e74a6ce3f05057bd8072feca1cd8e5479efb72429ba6cd43699541bdcae95ee2e7981735ac568a308b5f81b8f550351bbe601b97fbfb5ed6fb8ae339bcda805128c73a9a61578af0c472f076cef0acaa0c3604705e6b519b578f76879ca292a2c3805314ccb5432f457273242d7516fb9ae18849fd4e11c5fd241792d991c43e1a9b9e0a481e2ac8d40e25f539611506baeb7537c7b770212deb882702d8764f674476255f22519988719e163e826d02bcc84f1633a36d28c9b885ab0d1709b6621cce8a3421dcf0257278ab7f24ca2a138df30853b7f94c5aede450c588b282f6cf3b4910e650541e3fc9e48d25e3969a06b4f943fbd1c0ce00fe57998abdfb480744f99b5cb146b3419c3042b60b5f03f897d7d7ec0299d7988f331f085b9fbaa0a1f44e6935967c7277c91715a47c82dce07218e2d8279fd6a25321eff36e44cfdb5addffa1c7ab6737e7056e439961928f8f7677450c52a3ef95c624ef311ffeb09c447fd9afdd10fb17e7c05fd68ced2bda15a47c3db7029b530d62e7a09673c5ff29789127f76c8c635de253a4a09a4371df474d9b7f24f3db108800d699daca9a0b0e1f54417275877900b2f360551d3a75917740a4379b2de214bd849c0361c4b2a55b39d472bbac5636b6e29579dea0fab29262e8f2624c3b1528a41f9c115e8b5afe241e4cfc36b742679006473fd89bd03b37af0136cc296ca7f2f114729513e0c6770b06d9f789e0857f16aa245bbd12435afc3d6816450ba68ed16237a2ff22e886e0429a288a61a4cfe12ee8e768ab2e4dcdb1bcb4801fa8845e0b06ddc9548bc63b72a0eb424db27196f329876b24b2aa5625d0205b6eadabd835cfe2514137ec6803344fa57f0a83525471a822ba5ece25f27a8eeedf652e4ca4b7381e570d50e272a77fb2cb933b64c1483306dc87c1b932c6b89478d2156cc6f083d45ead0d1725377c9a04e8012e19cc6ddb31370facec592de0a3f9ea230fb3b26ab9ac6ad57244e19ae8ec2e8d3cd489700d5a2f0e519df8a99e638122b9acb7537b9a16b565f1a42958ffd4cc413cfa7dcc0f43f00f0a24070ddc5ac1bd5870077819227e5bbf33026defd43601695a7089bf2d470e067d199bca5adff1612ff48b79e80572354b92647ae826cc7b3913dc6b01adfe55e68e7ae558017bf73d8a613b9762724075b14670befa5c5e7833e75e689e99553a9891c79c1aca32753b9c8cd23c2688b0afdb8f8044fde29a18471f075c4936905a58a886ad9e78e362faffd9651c50a9225e2f4fb826e4108962d003311c444d2368fbbd3b8bc6d3eee832850a72a26d96487961f46942ad6aabc554b2d10a31f08f01a97502da7ef7cfeb628b11155077094d4725fc9fde7e8ddb989d74c5ea3602daf71045c4dd066973f999723b814cacd704309e3e5b88e0ca448e97d2c8637e80b1226d7e50c68a0528ec72e161e55edd025b2227a544e6d568741f8ae0fce2652ca4207e0e533f3a760642813ea66804a6cff484ee364ca2d345eb315d519a51b92f5acf452e54a0f49972734a6d1db844473591635746503a6778537641cc2082ed82cb5516ff62de432a330e276a364cafd531d0847ef5cb99366261b034d5df422fd4e939e05194ae72735af1d95e116d9c13fd18c543dca27284f2f1eb2361139897b48a71ea770172206ef3580f7b3d16b87fe773fdb4b8a83a4f418a1196e53d36afc8ec7f55ad72494dc5458a0fd57353c7d06ae2b9e0c987d2e0cb15f336bd9683c031fca33b7206cbaf709c30618d4d58f39d6a4de4481ad0f49d046b15aa35638418d0e7e305407977cca8220c862530d4630dbee9d2a0e5ea12066f43b427a27ffb06212a721f8b5b68db9be5b59ed8d9b918770898bd8d32c051d9cc3cd2a4d2777f30833e5a6b2c7e67a133629d9020cfdd0b0b6345f81cff9cc781291c1069e017787c7279fe2d6438e0e8a4a1646680b9cb8625e83adb5f31510e41fe54287615320a1b6c5cf5420c0d639dff131ba678b23e2a49418e63788305874bbb4280ecdbc1729136c3f043f3c037907b8e789e90c9eafade0ebf3213769b65d0b8b30a549e72059744895dfc7ab6b48df344673ee53d1a61c2efddae53cb5a1db8e58f6779724e3ae877c89c188bfc71f7cdc66ce2224e77387abdd98ea54285cde3979a4a725737d99688fe775c4a0cedee5a106df42ccb37f201acbf343fa870d862730e724a88d99de0871412385778e2d9eb7851923a4116d4a0e5ecdda25c35dcb919297ee7a83473ce349d343d4d1d8c7b38022fbe6f2d30e79f16045c7f7dbee2b572a4fc4a60f2b993bc4a84553ee879ea154e7e1970c9f6388d478e0dc1ee1c98416080eecb85d13333ee18e75fde1821b1e2f36007ca1f454d108b8c1953efb072379cdba297bd70943068954d0372833608361c5f4cdf9516744a4269a7b428726fb971c6d6a2d17883914ebfaddd8ad7ec619580856d390efe31df1a5d8b3072efaf7f40120aa8e698805b4023317cf11dbe249fdfd6b2359a103064f22107720f66b4af2121bc9a233787f6a4583d1f919c35b96d62a6bdedd7faf01133cf726568608c54892048b8602647a949c88ae137058aa7dbacd76afb498506969172906caf95f339e397eb24ee22f36667d315b68af22cf4566aa2b3e337b7262d72c0b2c405c213a7776c25f2d02d074cec49c30614f5f398aa14e647613ea39472d4fa2f8ce6fdacb88019dc0e0d80446ae8d621ce7ddbea495d10f9d5aa6ec6728d9ed40c043447ce3698402b5158440c1a418ac415b581b75a7da407d308792c3a22719c684f4b5025a85c14f24773e4cfcbf084423654797ead33d489dd0372b8b89421365912cf863309649472d7c8ca10d3b181fb94dd8d1d0a55ae567b7236a1fb21a9f1c1600112461142158d965bdf7988a86c34fb0a561d55a6e9db72030cd1aca1496b3ec54fa33fb3aeb4025b6c411d94f94ddafa0f8eda105d3f72a4776a4f7ffe0e76f9b56f0fa005d83dda734aa2d30981aac2295cca4ef06672a4fc1d065c5dc6a0f2748e192af296bb76a220a3757914c1b03b41a746ca7172f38b351b7f0f81db59f3a39a04716c4e4bea9c7c385e2bc998ed94c0bf63980c6ce0bdf0527e270af8dacd274f1b03fd51d6865e0d03fd9ccdbf0de0752c6272d40ece9cc2d131cfbcc85ae4f9a5c3bad44454ec5caf42c0fcded5a2e6815c059379ba432a059300bf8e82607b1d9c38766e6a39fccb3467ac7bdd5974121b2319aa20617ff55f38342ab4c93b2fa10f4ecd2f85a780edd5ab8594fca24b2e72dc0ef254c9fc75a972e0d7978813083c2c88e0ec44183bc1512211a824c2a6723996f29872bd7832b70fd582d4f20392891b35e4d3b4816bb6c2f045db2d0c1f1fdb58073989a56fc07a28a7e616d8c1c316cf49ba7f6d6f6de6aa9cd8d2101e8b2a72b8405895fb87a94faef2d32e5f1e1d0507f9ae680653bd035dda8a042a53c4232176ddb09a1cb916f807d0e512a6aac2164d21dcce1ebba7dcd5445172886e525789a03b03bb718dbab36fc7fb939fdec86ece127f49f93700256bc072e37d53a8fd953418f1690be63a12ce21fbfe0fb610485cd0c42273c75f7a83468860219033e0f6c9f89ff6431df40d92b9fd30cc89cd1df7df2d764099518572f3e4bee2a5a734969028a97e497163799e0261fa123185ce81f74548cb3ed35b58e705b28ea2b6c4757b617ebab5f74f6e4fc3577d48f2ca6eb2f34cfbee10721a661b856d05bd9c551caee65be635085050c2307a9cf47e2195af82304be1726888995e9fb3061935df7de43f122e68f1e7bbf137da123dee2006fc8b884d72173ef2b39849d880c605346f8d966797743607884a0aa6d81a317c8633182a72efdd2affa53d69a2c90754b046c38e917349b6e594f39f3dac32eb767d571f7274aa0ea56ee81e08e9b555f3696626821f1ccd806a224de98a4d7ef29525b872a3b64d671de5a09451866b9ac71d998c043140bb63eaf002cc47df7594fd90721b65b570704818b90c871e3eb60bcb41c5b328feb7a175c938226efb59ef4b722b104d5f301702df56c2da2346d3802dab8b8e020976ea3d2e65b89a11c70b722346f284adde851ca6d5420f349e4f1a4ae8d61aa3bfd122c4b86d15b4d382583f1a2fc81ace029503ae9f816e7bb7a523bcae636d96a972f3a4fb783c73a0694c18edc9cad37229f58fb7dc8ffe613ab44850028b7d3f7ec5c47b148da4692b62e22f5467f81e5d4de80b64d7c98c8abca8c6ab2b46241504d59895014c52729ae0c172fcda3f778ddca2bb8123111627800e145430a6911d1bfb4e08a98172802bf3a3c11eabd57f0e485554d1d6b9d2ea8b851e2d96c8cead185a1ecc495cb6bca693af834e1714c6a65c4ae46dfce3ebe94e598be59edae1bae70e1e1d7228557e131bfd0b85e6755218483a6610906de06ef83fa75456697388edf0876182526fa0ade51fa0ad25ac22b30095c04e1727c78db062eb45e8819761e8ad7228494974e4eb38355556856cbadaff14c7f919e0245053495037c07ee864cb72568b2e5e922c8228dc98ce8c1f7532fcb448cdf94303b252885b855d79474357800bccc1b0abb1a03480d0a850c6416886e5320970e8b57e218c752677dcc5720f43096905a4a9a6668cd7c67ae3c809cfcf6d5cb57575e198cd46d6b4e41072fbb347648768c2a458a560d0820d33d4a6c05ffcb750ad3f9fcfd7844829e97220fc1c68654d529e924ba3ae93b8cf22b3e614ac790d769212902dcd9b40120f06bc8e7955f8990665e48cf964b1994cc717550f0975d395204d968382c13472d118ef3e75cd2d2884474f469e7cb3a1a916b979ce7c7588db1147a6535a6f02074c2f3ae8479ebbbc701d1c39bd5cd7ee71ef38c45528dfe2796454ca82ba72222d8ac6d0634c39582a418fa6770e0cb956d2d165f97c6a550b34f7b3ac1572d3f8e14f90411c91cb469ef2667e4bd6a9fa371763e416b3ff70bf43ae83c004ab23ba565f98e7e6a8f8ecb11a82807a8faa3ba987b2071ef41b20fec664ce72b0567c2d10ad247426d2ee6370f5c616a18cc3a46e92fc58256a7cc5527d9025b88c72a5fd094461f78d4ec963ed0b780b9e4ae80caead0bf063ecd77a85f558c3781681e3cdcaa07b69bcca04d7609589a87fb6b8553541ab8513cce0757223039cd9cf1aac704668b5237a617dc54925bf450b245e12f03b68c664283e092cd4d23d7d82491527aef4604765525980ef6f658c1247518aeb8986a22580154a4206bf73bb46c4088e7d7e879e32850a23077fbe9082624d7b7fd5c5027f8f72d04158621a6f74ef59e378ab94b8f0e3e91a30ace4f3afc3e65f9944d400d772fce276df3866aedf28fc578e2eac9988c9efc643a0803efe115c33793616424b435ab49d492c0abcd87808a4a69675aabc426374beec871b2dba6724bebb8b72c39455e5cfe222a28c40ed1bfe27dc539c063183d0eefa45bcc5ea49b95f4c0b2f85da77cb6b58d4aed88e9d66c198a13bdf5dc5d98b5566e87c0003822bdc72a9a7ba0ef9e85ce182c466dc4280d7005957de0ac47eb85117c143480bf605726727656530dd60d4a26907fceb606b7c97af3178a9471f2ab866ddce13ecf272923cb34669fa362c1e2d11fbca6fe438d040e7db2f81ab26cb02f69ca23e97728fa414166b11b8c379657f1bd504801f464b82518b63e709c156463166b84348055719e2581d69a3c264aeea58d3db5d7051e59d99da772e6ab5c416477e3b72ff28cb03293df8a821f3c34b1a419ec440425f35d80fc140760389f4dd3bce0a1a2d150dbdcc2440fc12b327efb490c727b5fbc8024c0c4f9c63c555308cd972dcee213e968240f5952a8ef02c55e6e6c9e3923746afd5509be66f32f7f21c72174d98413f38ec69171b217147dee2a6bf8ee54b5c98b3aa00b119ece65d64361a6e168612f935cdc2bc4b78f7c9c3d222b1921c06ad6b411120f15d3d6ed56fcbe12b8cfd0b50fbb6cb60de66c800b70cbc3d8c89f52f8570519ce605a6364ac974449d8b60bcbff0d8b4565a29a39f2cf3e79ec50389f3db155c0028813c08b467107411d8fa45750f07e98f8aabef4e76b638752ec8a01d53e06d83829272278eb8f19b42cc35d9b91746146296066eaaa8342b3463e555d12e83bde0b772546ddfb1f89b4e9dd9c0a2f9ae7c4c9d6c3788773c9a7795a87250673842ff72999e7b0f5f480caef114675398ebb82e26422b8e1658ec01630a5705caad784e12a4a4f087100b622f39285475351924fe2ef4f0131ca73a3733d13279c36a021674841473d8fd67c82636b5bb511970febebf30eaaeab194fc16c3a542485378277a67f63dc79614a0769d6b09a4fb972c6a1ee6fd031c41be12ea7f1a01d2ab1b018fd0fd66fd6f08627505ba545cb51d432da58bc4f8fbdd91a93273a34728ea4e3b23d0ec0e17cb8cffadbe3328ee2c504d50898c2a1d05095b82f414b7254087f262591c6921d83d758a012424470949a1f5770b5ac6bd22238eb44c42a4f252b75d5620821c53783311c8e5b1e8e2771f6ded1af7f26ef7962429f4a72397eb318085f9951333c7147d45bb7debb5194f5f2ec22c912a7124bfc0b4755c7a0c3b2c0a691520d71a5c5dfde69dcac94ebb8b992ecc4a2e59a6d8d8629727551c8eca2ecae3eb2f71f8212a54e9cfbe4b6eff09ad13523d8e047fc0937109ee3b83ba22b586ea9bb218e832711cf83c6c1fca17287ac8b740978a8c1c4728761b2918062784457368664f96e7b5471d61c154b9d2c11f2e57607404d837291ad3a8c50c9b3f02e416e9167ad014e2ef8466310e4baa9e81f9c17ab5aa07225f66237cc7e790081461e1e6205610915d8d36f9f7a91afff4de05e500efd726363e899021da5c7fd1563ca989c73b472affcc8ce40677e3f19f046e476a372e9453148e8ceae96a60ca02211b12565dafbb8f530f524a2ee4a669934ed50141302669dfabd72437b9692ec4fd846c7fec5bdb3befca8dd7adec346f33c487273828e0ae20869c2e6c22bd3430eb472c16780aea649c512fa83bc4488ab232673ab6f28135c56c98be72f97f2dd787c9e07d9f2d8fc91329836f8da4d4fcf3c9618ead632f0d8f6b9a5dc97b350e77a7457b2bfa864635a58650f44ee2173720df8ec7a3d040e0c00700f333c72fcf639d8230330c1c4ba46765e4ce8700472dd2a7bbdc7b4b7ae7c6e179b2f03745e57a9a20e0252e32b13943df95fe8f572c985bcfc6a4ec999050df3961f978e445869e64a544b04b006d33514a8d7207262ba923f0339e0f1810c267145741471af89447db75a1bd1f72c073ee1985836246d6136f87d2c20d906ff8d9f88b90b286d81a8e291e30567a715ac277be472a4a72416da0565e43c1296d7a1aecd4f4c61fd2d69a02669788f93ab885fbf61522744212ec1d69b4494f1071a1cdb9f5a757c0779d61cb47ed099d4cc8e0938766a44bb4aee389b33f7afc8be329028ca5a101acc9d387aed8d908a3f957372b9092f3a6af296915af5f53f63ff7e3fbcb38aba6a9af3b90f89d8ae6ad65d72c828eb4b58440d8fb83c172f1a5ca8519bd4f4f11615f9a52bdfcc58d504b572f733a59d52bf5f2a52cf4d886abc34773f9d45a30c9120d64ccf3ea96b13b57277fbea6806e113844a99daf995132b2f1f7890301a94323ec144897383dd8755dc5552f28944f42e72912466e2b316f477596672954d6593f950c870177efa29b7989cea216aea059bdd3b32a13f25ec5ef60c58e8200eeb34930d4f13b1a072e3db65b803cc7f86b3251211e899892fd98f3303da6e6e7db9f3b9bed5f6e1266d27e58b4a4642c5fcd41c54ee04b2e8bcd95c692e3010bbf1efae810d6ec072b10a13df48b1196e744e7073485d415c37067c9bee0f3c11cfa81af48a3c5d72fbcab9b1e5f822bca2ea8d61999e686e80abcb30055afb7ed8610c44dd4d0c7229542cb8745e4d0c56db257d4d62d3f025f806af7655c095647bcb05330b0e72dcebf3a546b6fc95e59e79eb28088f0227c897ef244dd6d651abb0043d032572877820a683355510d5f695b3833a2a97a467395d5f6b07e3d338fd6069c0f27218e6b12130ba0cb844a5225d5c539e03aaf100cc56547895be9ace811dcbe259e5b80aa13fdf82982f5246b0f7a4213c80ed77e3a171b82f39144d820fb1dd725b1afda82176333ba0ff100de4bfde6d657585a06956bc82c3e8d2522f73c872f970c29647d12e606b30670e6a27826716caa0c4a5e4a0813294b60e1d2c6b7253744b2c78c4e609ec485677c17fbf3a55687f31e5fbe4e7bec9bb2a784f7f51545064d5626813057a9b67fa320603618829191cb0985116bc0fd2d1f9ce3a72d4a338f1a86cda37f66215f4111c3d7ff7957917ec3e7279df1b41a3411955547cc63c81b4975b18c7122eb6c7bc1f9c92bd52ae0ead5e15a2a7378b431033726ea2b1529c0fd4e2678a6dd7d921594f50f265f9c56b67f55890a495ccbba12985db5b996ce62784cbfb0609f5dc91fc03880956abb620639b01256916e4db5919f6355723a91e745f13dd9964620271b3020ae9243aca0e2e5c111cc2468f0aca0f26c0073acde497c4655a79602eea6b4afefbdee483c859bf8709b28b8e72cbf43c661b49a0d9029907ddd0cc19a2cfb25b90057db50e5349aa16f7541672683bf45218a205271b8488915c638c63537b8d892417336e707eb83bb213ef7288563b2fc53347aefdbc063d6df5b8a7fe64d4a05dae72001968a657c8862b1c3f68a5f15e52bd61b9a3ad93d32fb062196d5c0b3524f06cb831c48ecbc26831a107a7a2695dc5dec0dc16557fc930817a98e8c00a4c927d91c0f4a414a9584e95399756f1d590e56c161480ef5d4ff5679d5d09d6d7a08793f509f82e8fbd63f420a50432414e2962bb4708723a05471f928e129eae13cb81f05c836ac513723665ff5959e44136f7d0472913a183db85cbaabbc5f24b133f29e84bd7f5996b070d96ebff51a225885a2aaa0ab3292f0a3fc0b32b116b53ce704a970f268236a608e03a35833870e79bb968dfde844c0e55019a1829c7d6076519715c1ac21b66223943ae2ae73d7faa2fbc9cb1aacd139051ea3c31c385fc0b3da90d077c0681c46f4b64ab0ba901f9c855406e2c8a9303ccc5008c82a5a123d489e61ba7625fc4dbb336f0e7f5a4b566f956e72d715ff78fe07ab6604426a46bd83de1b3725d8be9f914fb235a3b1f0057c309cd116899445fd2bdc5ec5b5861d9fa86a60310a211a5b5baa3a66ce3d57a03a4cef598948b9c3ab532fc22f367338b638672399dd39078ec7df6901610b10420762264bb185af3f20f149545ed21d7950972243f36ec7de0dc2b1a7f2fcccd40d542f6e2f473485aa2db4c2cdd9d28d5e472ee1d5db81790c8d4bf7b0125f9dae5da3c7ce012fdadb810d7c373e776990f38ed4e4f317da0047e91cb63008d77c62421147a25b0e96f829e784cc72fcaa072d943b6f2a7c40c068419d8e18bb7dea7e5e2088c5bd5a7ba1dee5ae1301e1f729d949ac40f84c417b98ed04714da970edb5e42e3f72da0a091f6f9dd0048b8722ed8a71fe9d25b4eb9fdb698ab380c087873db73d164e0351ebcd4cffd319e727c419b57a3e18f3d9365d82d3edbcb3708b334f969fb17885d95cb80ae918772782d5560530980c9e5889b72e1e38e824d5ec095f708af268cd7d20dc28c26725c8c6caf23d0163f32acb30cbebd1007551b5268c23c8894190c3d9e49d5e972b1bffabbd1d9101691fcccfd595797436ef06e0ddc083210042226389feb0472b5615b1e9aac9577c6c70aeab0326a6db433a3b5de5a5d0b87c216b3a0e132725402dda0477ae41293699633ee0a6a64aaaf1e3299b6866cee32fb9d3a8949724fcc5acaff137b3fec0e650c3119cf61b0043ed5207dc294c8197b47f3e76d3aa91148b2fd0c77238d60ea3b21cda31e124ec17f7f8ff492d6ab139b9b60be2a683f607184625d8d3efcd71133514a01015fb40b517ec0c0ddeda30e7ee7650fd7d9e863f954d560530ee389169c13d6a0274ca31efca4e8b686d7bc8d14531a38d2e94ceaa28080f92cc3231a72b18d4474ffa26fbaaed7c3cc198ba40f9317a0513a1fef05d4744dc7683b12da5d01bf38ceacb8fee5991094599b2407275aed44cc5649aed1788cf19ccae1dbea0998201876ce3bb958f0236f5820f1471f0bd237853aa39188994f08c0b5132d0c110dac6925f0d7a3fe85f2f6b98fef72aecf4b143f96643d7aeb657119ea22a5154e0a78c862ae2cbb8118895de470727eb4774f08080b2150c407c5594b2bccfe614f790e2e54935855cfe259730b3dc61a7ff3c439e88174dd4fdd9acef27f72f0224b343d9d4f490bd3e27a77a1723ef6628c4c52e6b076a7ef3f814cd514d016ee12f94446bd98a3d344c7a3e572692e76f9d6e29558671d82f202c7544fa3d354dd4454e3f8cffa8e14e0414072a83dbaa7cbccc14ca11169da86c726f2e1cf57ad300dfbd68bba98d25cac1404c008b3d94c8f26d8c22d56672745e3a5de45b346535b92e10177cb03a1229c41bc36736ceb3d59a1e4e548664a45e942814cb8ed8adc0e42c5a2530f2113166627d7360fa33e5cc407ad594ee546bf574c48d098ed695adefc081a9ea95bc06a08c5c8dbba4fd9ad5fa9e08e7891dc748aad1bd81dadbe8d27a5118c5f434a72eee1b4f2466563acb37d922f654591404f41a4017908c14896c587256d350172081f8e8075a91d55da48e85e2e81af28f42ba571db274c5ae4f15d24b521e6147013f150ca39f89955c900824ad0aeed3bad7b461915bc8278e4f3049b16e872e4f49b1f0fd95aede6fedbe4b138c2010a760c3ccf8f67dfbd1c866b173e97725639b9107900ffe8fe0fead1a6b3dfd3d10eecab0604d8198bb94ecb750a7a727d869586b727b34d495d0ccbb0fdccd909dec5bf66aadfede80bcfb4f349657299b28d80f3931417764cc25d96f47a8dfdb84738838abe97191c60531938ab1aa922a01c0bfc813cc0ce2c96f3fe4ba6e17c5659d1678596facf706edf312372a012f98c433228212495839d686d2690970a597291b594fc59cf36baf8d6b272ca38b6195fed98c46d86f774308edaa68abadb080b5d88e32d01112ba96a4c2d5067d48b7be9725b4726c0d04b37cc72c5efeb1c3b44773d63a69c8243fd30728fc8434afcba7f596bae08e71e7d2bb09574dbff35837fcbf117110ad47f971c11ad9e9db2add3e93a2f20f6ad60000bd0b7d0fc78f394e370611b7768fb877240ea7472129001b3ff536fdbf0a5924dabe4113a71f3cc810f7a4d85377c174eee406d73b83aec1a58877c8dfa0563461b1db7b657b6f60152f66f8d5f185a7209d08371875b691f6e326dac8d5eca735ca222ddf1ac8288c87b10ac75aeac726942dcdaadb0ddeb69504261d12cffb4687d445a90b6610a79e7ea5e4d8d800e249023c8f62b3f04845d6623232de7302bb3c50e66fbb9db2b3374599dfcba625d0feb255d2c9426e4237888ca37a40a6570485e412adbeb6b05876513ee1e72bd9a011ba9bcbd9e3c11629eeced1f9a405e273a9135e978e16651f22c99d2175ead947535d82c7b4a4590ddfd13367b04eedb83a18b6e377342a62647896472aac5aec329d2f987b591a354b8f263cf8603205082c3183ea4edb162ca1a20729c3ae2367f015a18057acbf66bdf29419e50e41da3efe22b1e8f731318bf523ed8ec13314add23ef8527c404e68561ef54e97756abaab82073c4abd736074c72bd522f6dfb0a194c186b56bd3fb54f6e91fca342057c5820621e99ed3b929672f4edb10aaa4e5f5624caf97c3899393697b9af87b0e1e00f04a7bfc501059e3e2e837ccd98466cbbb7e63378f34fa48fae10d586faa75dcacd31734e84ca5a72b99368f6d8b6603ba692f65485038969a7b041acdd7a499c14ff28e3772e41305ea08fdbb4e7e134448b26d95e7c8683f7aaa73db151ea0dea67aa7f7c918b7295c3b2bf66f08050e039f7cb37b40badd68b945d0f47ea1a9641be09ff483c41c7874d395a8053e0fdd72c55ee080f0468a97bf472e4d1b563038fe691d140548d866d6c161b0f8448697e49f580a353e33d3adc8c66db026f1574293b3996718f3073c80d0fb76cc203bf7a1ac06c6d2e454dca69c11a6ebe8b88a609ab5534e4fe6712e20bcec27a1236e8117e3036007d26236b72e2559c151b90e56a0d679805328e889a9b98bb4c2a10dc6c174341f74bbef85061926ae5eb28f664531a56b2150cff569c09a8c9b4d3c9c4b790b364df5466050a64b6ed07fefdfb8d726cb0be4db921e3e0121abc914ec4ca15d2df3f21efd40d954ed623eba5021436708bcdeb36d91d6296f4ae63ccb52d96d9d06822ef2f5f15bcfa382cffb9e2729414bfa46c72f6f4a57e00b44abb0634349a72dc3802c09d626d04b26bf61272de8c127f3d8adb8d80305783dcdea52735a2354269504a133fc0f7485a40f829648f9fd8b46ef427f5b34194f6ec83cd2023935df0d012a5d1010f2e0383fb72a4198971a10d5aa593ef88990fe2f2f8cefdf850bb71e2d5a8398aa9ac2181488807769ff153f3fd3bf10b94d1f2203909ffba3b39b4219e115259814da68a1fe07e9b0ac2456b32aaa6042db9105bc10cc1c1053208b29494d2e1a75113447201bca0fcd7a4c732a7189b868b4700ace8413b4d1bece40b6dc4d276305bef7218c1fab9d38c14dc6268c4bf19be40a5cf1db3202df0abf7afbf896f61270772f9ea396de39ab08cbf94969d6c31aed22e02e6c12a9c08c57e9fc78251976a563c6f4459e6e305c2d52d943a9cacf2d4329bc9cc88a41d7de68541656336e172d2e8263a53ad62b69070984d8e0119b0380695676519dc14d7c5f7c2ba31a472dd42830873a126acf52d63c0453d0c12f25f274d47aa0c50cf3b47128643b122165944f4587bc85648f93420e0ef1b639a6de941e6f794e8d5cffb6596eae415dcda072c246ba688b244a2c72c708bfad60f5f7ead99d361b310974db285b93c9e6b2f5283550ce278067a9e1eef727c1e3384fae7688cf61b6ac13e23b39f228dcecdc3534ccfb6cc9131509d688bc3b16abc220444302535dfa4fdbb99004261a07ec41e98c08408233f79297eecc0aaafe1a05f235abff6967c33dfad2a7203f5640fd681e562661edb963e25102f09c8c1a9457c5496965a569dbde2da453feb563e664f5e354565f2e74d49d84b78116c5225c5cd54132ea647f6b83725666b398678ca5388069dfb2d5b431613406c7f184d936c5be70b6a29e7996d5c3e136170f82615a21cfd230e8775de3ccb3ba23e83dde58754bf6105d0993a499f8acb9098b6ec877ee1fe107a9885f2c2746418f4902b8e0eb966f69264c34631894f675ba3eaec374ccf2cf90e43098143aa6aa016ce8e2374bd64eeac6d4db7f88842c62e8b71b0d9174ea955bdc77b672a5c5f78ab560c214dfe41ce307268a9d1c16e44eb9f622d61b6c573cffb070a99ea93aa846d7d36537dd746c159d3dd7e8e47754f0d82a4435ad556452ee64d3246dfc4451ef5b005d4e7abcd7283174f47ca7d7acb4589adafbc208dd8f137bbdd495c346cad12adc8d2dc1604af190186c8b2f581a9cf8e1b4668297bec99bdcd2f2c9b7fe452e2d37a7b4e7234c8e5b4b01028be30589b80aa1db4dfab2d74c6135020633d0ddeed6dae17728cdf87063b0ef5386c419fdd72487ee20fa35d33046e9b0adf8f4806707c0b729302b21db9bc44af696e84ba407ba04feb9daf3c15f72040f496dcc6080b74721e703f54d5c97465549f7167debd33efeea4b43b483fc46d6ed686f50487ff72f4623ffd603b2e7bbdcaa5ec085815822b19d5433b9c4e56dd16cb764e9eb7468a0661155fc19720ffeaff9e94430dc2b0a1045f8482448a64edfa30b5c42572f4bc4b9b9b0434bdc1eb7afcc97b5f619f57c7201561f3b1f894e5bd1c01e5720296dd77d1701940e779ad7b80079cf2c31227d87a8e20f760176c100997ff72f5ff16579cea0031996876ac167bbf27d9935e16dbdd73c24b1d7499994c79729ac5bb5118fe05f8544bdaf716d8527b74dfe502c6395a68c1a811f3fef07561e0d0ca8b706c300eb937afced27246af82ee891cdcbc981f3ba56a6410208472c2cdc57e2b10348c5c14614884ec596eb2acfc61f9579f4c7822d7e23913e1722de950e9dd987113b9f7ec4b73d2d92c10b117d11824df509ff2365a586088726e97a5d57e3d70203f5238700d4d0a955f9164e90dad0df03b1594618f4e3a72796d17912c541cabee3a9d84587e9f7fb57027ff92cc2ee84aec0d58810b4a2898ecb15d2c2bb39cb13983ee2eb6271085a0de3f1cc19169a49e4afecc215853f2c3dd5a812190881f7034d0b92e2466d362824a4e9aecba345c38823f6eed4009be9c628bc3b3338dff0b4dc2073cb30725dd7d38c83a70a716b3db35f43a6c64793947e21dbaad9596d79134a41e19bae8f7729223156e947cb76312a80543acfc97e34301b13f782742a6e601466f49bf4300a2412d579c5bca178dfbef3d290eed6958cbef90e56e3958432e9082664899cf0bf940f358d0e27f715e71723d69a18593767961d0bcb3ceea0f9bd88d7c2f696d6db9be26bc51f1707a3572ad282e6f6abf938248ea0cb1f57a12a1f9e2de949ce2f4b2e4bdb8ab6ada2b723c83421ac382735e1833c1064b1fcc71ae885f096d1f5f3460745726344bb319ed587093b88ec17c1cda104cd398533623452af25749c96e41febc13007b1f18a3f31e73f040861e195c037abf354f2be503be5b80dc6722dec4dc5faa691210aea3bd070e06ff8b87eb38860072f34a380da5332085ea2ca39f1b31a735a006c9deef8c4475cb160cec613a3a3bac9cf56adadaa1b03496388f684e40734c63e80e29ebf94d085825332a17310785ac11ca06865835720cd81be6f3846e8b724b5a71df23f3db7d61ac83e0edc9379590138dc9cf4eb492bd5ea3d3a986fc53c715bc84a4dd703d5cdccb2c884d0d81ce12a72abfc39ff09daa121216be6f721fdf36428b585201031d93874b03f0fb6e33318daebe9c28e4eb10c5c0c2393646b6f9769f202b392e14901f35ee68a764571d60a7b654825f48887e26f2b24e0c3930b611ff005aed53f4439ced75ca6922640094928eb0f578dd6e888b6372e82150311339f26a3bda1ac0b5937bb9e8a1513220fb458e456aed109f993b104052c8d8022f516f7468cb9dfca5fa0cc88cd04abfa732fc4bfc09b367d1e07244f17b0c06e22e61b0d09f2fbf52324781f6196ccab9831cede0abafb6ee503cad8683f3c3b2104f6251ffecaa38604eb2ebcaa36e504e1aac04e76b0ea30872aae073e6201e4036e7ddcc375b107e2bfdf10b1e3fc2e1698d9444434e918d7093dc0a8546ecec26323fcd99c93110cbfa04682d2025028fc4aed898ad763c72159fe715f9eb8d1519890a7f16be0984dbcbf46384d7a98ff48543f1ee92444ad26d6c0a4a5a5910ef3d145a1220732aae00069b2ec9884a8c1d516b22f2ec53ecd34fe011e88051494eb3639d53aee332217f23e621a530ea6ce9005b56524cbeccda17232d47cccc8997754ff194bc11073489e5300f641177c3caf4ff34726c81440c5746813eb772688649f716ea2e8edc11acc7e25c6a97fdd0d3a42572b2db72d6f37f9a4326bb20e2685398ce9ab37a1a706263e918f460e6a54af772f875af84e89c851486c22833317112c0f45f2679311ce744dfb0edeeb018da30d4fd88626c28409f6bd9ea737a3bbc84181a7ab207965f7f522c7b739b210972c759b34d445ba9c5e038794df69c23d9b14b74d26c8b699100019455dbd5900cff3935cb238e89cd068c9382c3f8d542c04c3098a108b0f9536f37daeca3536746998db8fcd52f144d8a54bb5f54063ee2ca14204e40c32c0d8b574f4cc16b3192ba8b4ccf799d5221023efc09e5223e4bc7092245d45595b04767cb508082656344d99eef5b7b0dbae5299cd3cd440ee9f4bcb534d422ef5a52a7908059db08471ed8098c6a5c84510bb493719f4bdfec9cc5a417ae6be75f1b0a7798b876728ded48f40abe02d038af8594cab1ac3e8e6fbd5dea81dcea82dfe26ea80f27722f0a344d1683e643dca3805aa2171a10ebb27bca0bbae0bb450475f26ce9c272a77bc6efa1f2d8bbc2c917352acb273d367e9d79ca78b90e5a91fc037a0871721b460a0789676836ab5e2823ad7dc5e659fa9aa7e4a5c496157e437c47fa9d72c37e6ad4255e95c10f9e689a9721169c8a27556e0beeffabbd0b6b23dc19be0b73d371d65461371401934b038b5593c33a5ad927d65e65611418dec31d65f85ed0b96c0c10ad8f4e950a51dcc302cda6459932314597dad0bc73c591f0968172f1b2aeede2f100f8bfa7649cc3fae870dc49bb71e755062a0b75376b1cd27556e187216f83a65679fb95b5ea8547fdff7df87702bc666a2f4b1b3037c4b44f72c4b85d8e9e84c5affa0b9169ee6fe096e853a47c60a0c81c011398b0317a00725637ff843faee77b11ab8fe8f8a4930bb0ac27c29da894ef1fadc16c463a0c728627fc9d8e1f5afc3096701d693d2f2da9e1ef9eac7344ca39af5843d5601e720d68942a5463f9c7c2ab848689f6bf1d6e45dae7a422f0af232a0679cc731572ef91f68898afb526aa3d11e4f82d90b864cef3d2141d0b9a591820999332ee7273b167615dd984f630868d6c942a22de2f7c0e6419c0b53fa4c2169ffe6cd372bd38a20c6976ac000e67280650dea119d32e0a36a375615d68303fae32339b726673c55107d13285582d91580c6e759d3819d24cac37bade604f647ca742d60cd2dea70812b101eab44bd3d6c8019dd7257286190e47b9d9b42cc667f3de445b1a47cf018a1dc6f8255edb5be52158d1e472d627a9348eac93f78be6e5d4d26d8e9250a8751bccbe9fdc7cc97ee27c0db96df299fbd13a9abcc6641150bb1972336fdc5fa7ec103e29a8eea80c2d614359ceab3442caf78ad1c144ad4645bd123f9bf5283585831bf170306f59eb372679d73a398127d25d7c44cbe4175134137c55270829a2caeb55c0fd529f9a5aa25c30ebdfb29c561f971d534e1f81da72479c2b84798b04341d9727c1264ddab2a6659b8a6ab7b8802089d5b323ad7a6b10625507bef8eb3cc8aabf442c2bdb44e4ab8b2377a8be8b6db11dbc19b4c2338d11ec4bc1d9496e672b3c185d564d4c029dcffcad3ba4e7fb586ba46960f156976a543d9f9890ee177d56dcce30fa14e584e457a1e043cc2b4f8b8bf64208726f3f39f5ea9dea993eb0a270f686ba138a1e2399a367ef19b87d39f8e4e11872edaab73612bf0cc94fd455632a3bf1e31fd0f6d5c55c75be0b11078adc07e072e0996951bf0f35098df3852089d5be0ec3b56a970c7ebf223f6a6df6a332e8727ccaea988b94d5f06b27bb3a3f9a746685d615cb00d1e1780fec8ca6be21ec5904e3093f682ed4541b964e2a8e5996c80b70723dcb3551b4d86782ca73ee11536fcc2c57b0860cd41c611218defc5bbac3658867222589f8497df050b66a346afcb1016a2bfdc19b4c722012b6652669ab4e2f30d4349abdb197782112372172a6dd53431f73c2234d0314af89714896b0e472bde15c2d445d2162ce6b5c7246dd9be22a1e94dd20cf3407d1ce4e496f163f49fd791e6c0c8c1ddc05dcf3d772bb910a16e2822fd062e234fa8e550be330f454a1e59de986d287cd1e057a485ed6292302bce6b6811a97582894fb46b2580a053cfae851291c95bc59e47b4d343fb541ef2ed5c08d4f0703fa8f8bf83877fb4b95f75219dbe9e3d2f0dcc1124e7ba14c75c68720130e6af040a93a90221521c35921096748f64109a3be5caf727af7a0c5521c0b2132cf7eda272adca84da52d9bd4b582bfa6d4f0e1e88e067265787f7840304725f24dd546500459e41b2798f046f36a0d97fa750ff1ca7e178b9774ffc224ea3dd7987650e0ba5ec0bde51704f4bb5af4f6dfdc7f581f5c72fbdb3fbb9e0eaa87e611c608337b0bafa398cc8ab56ab67ab883a9aee26b5872250fe4a885157ed0466790db1816fe3b724206025bb40148e966c13d954fa5728a935c96f20bc2ab8ac07c5427fafcf77a479af09db17532d7f99c88e0df233d99c97a86ba0d47c44ecacf084f626be5407ada61cfd318156292399bfeb6907261e8e68d2c621eb4f4b9a4cd4a7ef4a0fde1c60065c7e16a0374a3fb38ce044a5bc6a459a3a312e4f0ed30900264b221ffe2520b823660eb59cfad084b82cd002cd53cdf69254ee07cb0558b8e8fd6b6244686eec4308d1b3b22208bd56f5772031d1105042375ffdb9e2fa4bc57747526733d0e85a06c59d09aa44a87087c726896070acf673eaa4075b970e22f8b550244111dbcb0aa967882a0e4b9f4ef720d6dfe1ac85821be5494e568e340e82e5b3a7240619d7a123abe300f146014216e08e45bb6f432a3cfaddd51d8f569202ec228c335eed0d3d2377703a46609106d0eb3a878a3e3ea5da4cdeede7b40f3804942cb437021f61d5c6c3d95dac80bf3346876ac749131af2b2f7e2a9582c33cfb55f2f5e41d48f9f76de4c3529c72c59f0a199abf8f29e6c6c8d0e0a1aea206d0e308c721cf0d580a74bad7e5b9725df7e3eb09423547b335850448ad21a47b50f9523a12456d04f23b2ef3d3eb64a1d9fc59a87c70f48f831b52af1792bf5968408fa6b238c7bcb24217b344d2723708cf709bb6d4435c1f6ea129ee8e4f5240b6722cecf0bf17d9811f804e36236fec358ae0bad63fc35ea383fd80ad5418ad991f4901c265e9b4f7d2dfeb482d754e83085b5007721e71606b4333e6e96c539d033cef2d6f46bc3d5493b4751749ec0504a5f2cab3b3d857732c80159485016b12d9dc589d73464bfe202b6d1e65d7b2c0d27e2dcdb40abf0f7f212395f068b1900c6bda392148cea4c7f59e72cc7a97c4d10b1af264c7f6bf2199f26fad2919e6e735730fad8325887a6fc46775b0b48a3fa1b6feb8de4d82c358451ef552f546b806c080653fd427c2ac3f72e80ef407a43e8a90ed3bc8cbbdf8f048dd712a341853108211bda765d17ad7694a378ca82a83a75b7226fd0b32f8b8034e816fc278d402aa98434909898c6572ae41bc6b2ec9fe701bbed47f7967fca5e76a86c80b6632ff1727edae84adf07251c42e1bbf3588e1ef09373fc14c536e9e30dd8259ab546f93b2c97dfe12f4004c88b7b9697cc9de92555e7f0fff628d26d0f3914d71b5ff2e1875dab7052872bbaa3ab34ecf9476376187d127f5256afdc545b8cfd1862eec920d30fa7bad485d263a521ed37f46a6c4be891ce403e6b0498d1a5b4392e672cd8424d33bad72155494a6b30fe5352f80c9f0277fba5472747b1dcf55a646049e97367f1258723067290ea18b1c6a7cd6f3c849f97f7273fd08b20756c3388574118805728572a834563e6eeae513756ce7765d1cb7fc0c23d6b8a059abb910363a81f7bf0b724d41e59eb287bdc8976eb4039e7aeed5130f7a4f153c55dfbe4f30a3a2808b725896c8de4f963e2844a61c1b95779518b81a8e364ba9e9cff255f74a1e474572b2bcbf16ebfb06404d6c2def1185033e62c17f1b2a686be758569b7c86bf26720bab645b688f84212f9bd95bff855b50c996454390b1b4d91a0bbba77f2aeb601c3b5367a974662bc2f8bcab97b6ec648ab6bc6b2986093a6e056c700601267223cdff87bdcdb04c8641b23166d5b93683632b2de1ba3c5dd1f3fa8b19419172dc9b6abc986ff03fc3e7e6e6eefbdec4cb2087bddfcbeeac43b7c3b6fdbea24e2023ea3cf8d52cdf6be71c9f40db6dd2b9108ec472eff168ff4357e7bdc4de395f99f4acd8b20b39c68e7db80b7543b1d60ac8c1545270b8264fd2a06d06b8727b494019607de57ebf9b135a64ba231218609fa4dc7ab09c28a67e17296f3539ba9f2f77dc5d49869606ec40ad9d760c58d201174a7580e1b9413439293cbc25d802f88ae460e87a16432f5565a79d48cfd92ba79ecb5aac023fa42c45955306ee6e61d31e493122d2b60b1656b3a57f27d9a253761cbf759cd2a538942dbb72864c4ed5a014bca44acbcb43f00549ff0f24714a95c25b6f8525a0dbd1bf78726a4aa0ae9538177d3def2a0473e5d29fd28a6fd1e61d17e620f90cc24dfafd726a71b26d21e64595ba64239c8ed6e9d3519beabe3e1dbf4fc22ed777e2391141f683b10183cec56bdeb80097db204020fe99f4291b8354020e960ae6c8d1b372869dcefe3061386d9b5932bf2ba6429ef93efaf836e8f24c6becfafb8acd965757fb692c018a244516af5e11421fd15ca7df123ef6c502de615c031b52cd60279fa1a1bea6c2f4923473f1396b07250c11b13998b43da941d4ea512ba7a15072e9ca89321c1975716432afdfe9c2b3f499cf6eeb42102919d2f7c0bcd22652720ac57540ee0b7f07c206beb243258a76ff0cd40956add2cffc296ced52f2567292a621282b1d77a594303da1543e95438d8c09befe8c4acacd1b8c20662a56729c44ff782c42d848f795ce145d86d05cd60ac756de335a19e38c7813c1f48817421b4238d90b30188087a267dee302b794ddf254cc3d88a7afaa57407c9260721ce6c606b81d5dea7d97d7821a8d5a0b1e4fc9eaf454ee918df95748ce3f0572f9402d271d93a5f2445bf2170c78638e7ba5cf6ef4aeeba1f16820fc9741b8728fcdbc0d7f30e9d6eea33f46367cc1b5250d989b9e43cfafac46abb9453a7430c64f8d378a69666579656762af54afa7a6bb848bb195139a4d9a482feb8dce7274bdf5f9235612fcfa66152582113f635da88b7290e359a8b35b3802fd0a26726654eb8c422e4797eb422e9ac243a60fa7bd77a254d8722efbe0c0550190df72094cce37892b41067febdd8e2a24ac75b9ed1b0eafbee483f9fbeaa0526e1872b36ac4131209a25589ed15a329b16c8960c0d3e2ad3797d51ec94dc73c8f0a509729a2da1c0eba30672e22aaedf54d84ddfc72b3dc8fa2d432b22d904a7a2f7259f42469f178c0ab28723ba63232b10a99265e577bcc1b0abbdc8e75e26a5d72e65bf64c704eefbd4d910d5947d581fa2aa7e84cde576da42e2e9843e0a68872e2c17a51732877fc10981c5bb5e93b632d6f63f7dcd44251da532f6132f10f72281cbf32b1668a74dbf9140ddab8a5c96b89f30591aa0f085589edc7720b3672883275dded1fa72737ff1cd01aa5e5030b3017fa7d0f36e5313afafecde81c0b99d5a2d90d00a8286b5fe025a28c0a73e0c0d3904dbdf5101259399e60ca31729761666473222d01cb0315d9fa885f99e129f063cb75d64ce8f4172aab53cf409e99413a365adb65b66380363c0f3349438f728408b3eb32dbce8fb9afbd4372f3d00d77c75d986e7e37d922c6e53b1052e722ed7c7e42f645ce5010fb14a05e87cebbf5f068f56ad4b6fb3ed3bd02e54b8f6bd3418083f2c63ccbc8f9cb0164f96c9f19e3a389064ba039d3263d7cc0c6b342e947e68e7403a96ae2638c697264e122cf15dafe59cbdec93229d787d126b35bc67a00657518d7710efba7064609a0701b8efc042086f5d8abcaa95d1f3cad88368024c25a18ec36352c7f38728018294aa3f003b7cde72f063d05b2ebff5a483d734d8d3fa2ea94dd00f82672b7bdea6fb6510c6c11a7ae40037dfecef6a44805475f11507f866cb2e5636e3f9fd3a8f417f8ce051a14370e6bde24a006b0a2cd1b6d052a0867c60c57d2e17233ad8b7102ed6848161c4b92139c54cab8b35545ea3a3f543b476f47ea0c2b2d8b66f5cd9d71f5d491b5a0dfc9ca685e6ff091b640e9b29294427ac0ccb29372181cf7a6600fe072a8ed4c894046a18a01fbeb3c942653b32aafdd0ce0c76672a728e76f057339f506c6ee4853151ed17d97b1eed00042f76f89e70a2c0d5f06f857b632610887571f494f7701e4cdc04f08e746df5e7ece4c91ef1db46e59563a123102007bedd39fba38f61b7ef0925cf41c82685cec75393f74e9f35b1972de3112ad42bafc9338a3306b26d0f03c04b7177b6cc862071c2661403a67675195caee416e4e6a71cc2fcafbae810a10d6fc29825f6ba4411e5fb678d0d6dc0c186b08707d74c4c4fb888877b39804056b028435d328e7882073642a1ab06a3b1b905f6220801b084c8aa089c9328c6496feac4f80836113cb3c7785b93baf7236813ab638174647d34d77816cc2a154693c4b21165bf380ac7768487f4a452199954cafcc71b61bea2c62783bb5d3078612049593cfeb737470b12177697972537799dac6c07176b1cbcefbee98b9b1607e24a48a1813fae2534b0e0069be72708acbdb0cc1954ee20077471e416382250b5457506de39107b7864984e223724b3fd317ca39303059c6f06efba97bc7df2f3ece7917e6b615d08eec55581272ea6d51be37d7019aacc87e7ef717ec51c47ed17719afb0e22d158970eb89bf729d86a601b3999b953d8f092b4cbe8747705e60527b6f0ffab88d60de079b167266d67e721cd19c3cec329e32d8276cf8ae17bb81e991e6a2b147ab1fdc604b72432707a08987882e204fdedcc04d9fb04c1a0ec5ce5c1a8623fe1778a124ab050a791dcf8bf84bc419d264ac477969f73804e683c079ae7e55f244f82126d172152bf03c493a01d2e2a1cb1167f03e95b2158233a20abcfb349ba23e79b42072902b15ea2b2c36a8ce8711f51cf5ec977130333c32d8487e34295afb64953653e4a0475f9f9a652bb1e62840ff97f44a8114f8adb3a472545b63aab6727264246117b30800d9e0e7c2ea592afbd4564ae77832c8e3fddca444ddbdfc124ab8723bff3a40784018dded112862bf52483715116292ca2662b3384aae4f4913cb72637d2ebbb110cfd9c73ad233dccfa288c1bee78f0e16e8f3cf8eaf8a7b2f4f7297f88f24debb8e9ea41072ec4bc8749080e4d568dc6520e1df8ba882c003c766273641c84791cb971b37818ffa145bd1e25f95fc5625f8369207652e63312508930ec0590df1080f8b48cda1fb480d4cdb51ddffdaaa91dbc2bd2e3612c41844ef52c5714bb6778c46b159a840d5da0650996b03a4b864ef9c6e7478840fc068a6e0d066d439557975b805ca2c40a9186c8712af0d851fb3135db86a683fa172baa6f105184268b2b2c7ca3589ff85b6c70f46b9e68d10f243f98e0d24730e727e34843db72e706ceb6ab62fd0567701608ecf81b5712acac08430138c399972be09eff94de27825720e3194fe172edddec7d83cf957f8e552cec59a82d9d97230adf33b389910a68738dde736194f0657c738bf15e1fdf47c8607795efa2b72ed79406e67728b81274b55e258f5f8df16a7abab902095ab7e439b8065c8d3724da6fb19e51e9906a8ff5f914f2a07216c4a0946a790104eb1f331e0a8f7a4724e36e6939f8eec1e2bd07b23e747ba1b8d4b8b78ce0b307b1ea33164db67ae7208021440169a9c0fdb4694d979896d4c113de6a7f87e508ddb2428921d1c9a72e0aaac8ac55f07ff3614d857f636e81a8f858253f757400624a59d6d020b650c276f94f778553ba77054e15000aa2da8bdaac2c1758c878619501bf476ca4772bba1158f860c601731e6857c9571ea063f618ff8e11efa8c351e66ec93d61c1e3e889abee7a124e26abe128e0100460b87562d3af1736d379e913f1a37c2f672b7b6ffbbaa2d1dac51f569acf688c3478f079e83357a55d2d6b9d996394588721a0e56d0aa392d2ab5e7701b6abd33209f4a5dd8311dc6e904d6c84ff0f65672b5acd856743cb8857d77e6844345fc657c0bbe4d789d7b6d9dab12d44655f20d8e146e6321d4beb6300cd9e6c4ff081978db9d5ad2402b63165690b4ad18117209dc93cde96fb93c0afd297d7817aa8d1b05d595799029d5d5adfc0f677b2372e2342d43f8816d6986b1ea6df139fc28bf350ac285882b3f2c2d2daf9dcce42fc24665b9f09eee2d08ff4d1984cfbcde803ed381eca37371507bc21c0e8a597257db7344854f78d8a4211137a6e0a342ae2904970d1c476301e0712fe330b0726e59a222acc2d26cdc085ad6b3f502ca27f12d5d26cb1b30b20e506ad14b78630b79a4c26c87629c783d356284cddfbe9e56fe50b3cf80e1b5781574ed73c45f3bfde96fec31c62c12b216501828b1bfabd585ed43374b8a019cfa3ac811a172f5c8dd0a2295c934cc30e3b1fec6cbaa939dd54e91f66d0863bdb27d8049ea4bb7cc1bd3316347836d09afc2262f830950f64146337be489730052c4a22c271a7adc8f77dcec98cb7f14f1be1155d07fcd7187a581d50ffb93923ac9078e2c72d504b78fc7ccd1da7ef9dd36901b32bf7f44069ff640905412d94c1f41862472c66f79c2cbc2ab0530cc8f07886176ddb90d26c145e2276aefb9ff10b544cb62ede5d029cb05ed23608d6bc2315766608cd236062d3aef09c25830e71f51b272010b09d09a61198b4eeab36971c1dc75cec14cca3dadb68b310e277900d9ca53bb728ecb38dd32790732aa7db37655407ce392a41dadc5c26d09cce45900c4262a3ea31fd10ea046fe9f1b2da17bc98377dfc3c10a1b35f02527a4342374d73223179eba2b505ad8850b0b73f00634158fb4325f7a1802770897d6bb0d4ece3ced573aba9afdd2c453676c789393f87b3e873e94d5ecac796380bccc1b28a8026ef5bc8c379c5d21b80a7441433f68aa33be8893c4ca45fe9dcf833adcdb1f72f967baa3dea91c284ebc668b45cd2d1f163e3f57ba21d172d72bbf05ebdf3d72cce6605ba10d43d04aa27cb84ca969631a62e8017cf6c7595dbbfc28662c1572f81a02cf306e219c874c6d84c5a8e2aa74e17598aeb4d3298c1062d126b64b72a842fa81006c238e83f27ff6cb5499e1fc1cd210c20c99527b41984c7696ae1fa6aa7fe15093c426b8fbcf50135d332e941d5438a169c603f4f682953d844a65a5a18adcb1306b5446657105ebfa558c3d15adb5ff7956de5ebc765d72c45e717f92979053c57ee9696cc7129963ba697ad77e8ae4fc27f27b78e0ec38be9403e066465b4e71af3330661c76fa7319c29937557f6c83f6ff9e3c7f4931732972b4e826c882b44eb01e2dd8e0e20b2b80b64025b014853ccaae90cf5acfc37e6a99d64c7590abea7c3392b938667a5549f8175763a2001c76746d7cce0a187772a313cd4ead6529df0bafb55239e65bea07857f1095c209b3f3f16edc6a783212df3d6ac4ca3b16452eb3ee9721f6d3c963348a6bbc4f0196bbe2ca3e77bc8c627ef4ad3dddfd614fa4e483044ab642f82a326c62c988d9a7cea755498315537262c6c2154bfa6593c2bca4fad08b1517cff6bdcab8f9eae312d38519ab73287276496cbdf811974bd61e999fa53e26c5bc5930d39e6482c03c9aae2e52d2cd2d4d4aa3712767efb331c9d26e50e9d414a92897d3f2e4f159c44eb8540483b019dd95d74d7b3d400f3b95928c6aaab892aa95c24a3fb2352cac7c8ee44facde7271d9852b343e163f1415ccc69283ed7a543552c90dba61026f6c8e323d79ba72ca9f15810ef14e331bd9c7a0b100c0844dd015d392a253aa0df572264bfcb431954b59e1f13bf4a2260aba49d2cdb8ca16a54c9b232c438662db208b7209ed619189ddb1d551959d86e7164faed2ecf11746ed5111542f20e5632540127c72722a4efcfcd2b33d4f9a3be805f35614594196bdd174ccd0e05bcec0d02eb23426f568d9d1b7690c8dc0ef17e7a924d0bf0d83c6ab03f3568476a8e1eb2de598724a915ce865f6da51a9348a0b0b094e977dff893c22b643f286fc6a37d952b672fa4f91bf8c15a5fb8c1a031a48ca2ca163a7b478227ed53ecff8a4fdd392cc12ad46897bdb73cafd56b4551d8db73c44a0047b62fb9c20be8cf6e0ea1ccf11724f9e433d1a18fcf361f1d8e01a9a7ef11f3495dc14474a6a0102b18bd0ddac0f58639c3cff7d71009e5a8be81cbf0aafc9de23d6176f7d5de4da8b3d7b92197288763bf0547e6d586c2dd464cfeea2609f7521ef62668b50b4d662098c84fa729be7ff5973aad0e459513f02382aabe47c42a7e9773e3108053cdd2ba7cf9211ef7393bba999ac6f1a46acb8656ff145d4b987b418117ec4a6ecc9285abe04727ac27ff1514cb4a56e0c73c87fdf3fead712a5400523be31c3be47a63e73267245a6633b7bb78505d55c6f3827cf255c683f0ae008ad4efbd3a43639bdca985615ab4f7cf7056a60c8a0ab99a71950cd91b99849cb6bb7b7844b362aafe14b2471e820dd55d3b067811e7d74ee55da1c9508dee657a462d38fe8502bdb4fb672eaba6f49f68402bdf3971f6b062d64b69cecb5d3671c612f1f1380fb6f11054f5aa8c2069d15b8a590941258b5f50a868c434eaf168b4da0454c8e12ecfcf7727a8f3d1c4ee70ca6ec8bc2219fdca2b3c4b3fb8ac7b2a91ac9b3597e3464f872763ef92f5ff9e8643d09da3ceec87c295eac2a92ef4d49d51cd7f9dbed0cb07228c8157a075af7b292ba92023436e9f120257e7075fef76d50ced7613c57e966f40caf1bed7b08099fc3f7d56b1eca564db2c19248c0c88626cff0a0192535728c34982c957885dee081283eeddfe87ca3e498b47975e9f449696c8a09e43153a21ca25aae1f780479f8d3e189c9fa4e04799bbdc69eb0af26d2d8c75682810576f0fe00242e44732b720f9835a23eeb1e53d54084b27e2d23390d39e71c80042e6b801cf4d1a715af6d966a6f0c5ebdc0b1827152ddcc9fc3827048ebfae569d19ef0e19f308a04ea51b895f41424526a858e264006e56594d6ba72ca5cab72e2db44a1ad62445b7fec981e9b8f2315d528f1d3d23dd870897391da5b8373200c067016d86781dc165e9be1bdfc3dffbfa57bc1c579053eb889bba307b07a3ba1c5fe2791fc61fc99dcadf4303d3d22f1e6e3ccba5582b2bc862bd5f4e86172861f18448c53bff112d7d6ebfba50db2b297feea22bce97fc9c619e6512fe70e36ac7d6f63218b993ff6973cb3b2958802480cdf0341bab778f7854441acdf7220cf15639880dd2da34763abe42a701d9b91c30eee7324636a06fb7404caf57233237a1275382488af401ad6ca3a04e430e1ec39ad74c70ba3b518b06f62aa7289a5a4b94747b9b7907a8e5bef5ce4e7e67355fe294c9b693679088bd447c572d2505471632226a2bf3f2be18d58ef56e188a9e2ac506e772babe6a3d5c1ae7258dcb414b5f0fd03e2ec98acd4f04494f756791972305cf4defe1de2998fa572f3b2804a8b5761abb4c01eae0e461b9e9210cd7c6459de81b18853e3dc197964909ca63c599af285d97f64b90e623e7cb60effd41696d9aab98f20880b419019a37132c99d30748fb1d931e664a0f76898afc3f32745d2ad504ed49ec33e84034aebdb69fe65a0f3a5874cbda476aaedba722374e09b873658fa4a0c0d1d97728bd929058b7f886d0217957a0f894265470280629d98f06c5bc525d73e777a72b34c00fe408ec32bfe7d9b57d0b165778f0118451fdc0957bb42829acbb69d7200582b08da4734aa183592e6ed90855495b35f31a5482f0520395080913e845f4e512a1a95c96afeeea8296407e879c18c17d1f8ad40c279ee31b02c37448672861347768831eaa58cf764cdb6c0290e309c298e2b6f7b5b9471e80e3845fc729eff228f1081496e037755710fe168a052b3e668a04bc4e9e9c9aad022e55551350b41782b10108ca726e0be1dc319c43d2285ee1ce8dbffcb26ec9de962b92b90e9f754078eff14282e9d03dcc7063e3ee8bcc8f70a90b4f09e6bd038c6f072f5b7659cf6d2d776921b5de386001dee756434c62fa1c8af4f3c1982516fd5519cecc8c6f6bd91f8e2b8e7c57e66290161b9bdb5db3416c1002ddfb425402364e0e64633c0ab3ccb0b8ea2d9c4a0e1032eba31698f75c250c06bed7de783c9724db271558ebdc16142f6bf5c4f5b08c0f64205a507a590a75fda4305be6d2172e68a8273907c9161b47bd66c6d0b531c3b0ebed38351479fc71a42c624db7e72b2c335b44d9ae149142c34cd142655f454916b8e62b4b75350ee28d266628e72516b77226cada08d6a72e56f1fcf95655efe1a65b9312727112ddcff80dd2f13e02d2cee81b1af0317459a8b1ed38e56248e49e6d98ca480d73381059769356b702434d0d166cafde7d807b842d6c4fcde135e4a37b3ae9b83bbc7cf20ada47227e8941736001d839f1e91a26e7747fe96f5876cf9ba96a914da371b637cc850d60609eac2d49d361e8421255b7d263d651ee3f03df90e17feb95a1b5ad7ca7235cfd3201971c7819943e0591232bd57e1d14b65b84d20c1a78276bece61c572b7d96777a9de6b32d16172fbf289880059bdf6e82e7065a733fdce2900664c11e50802b08a62b78864a1e1c5a13ffa356e797e0a34afcca9a04fcc294b3d462d83543993a44f2c3529bbb0b43c347a32e84f9d1b7915c2397063de1c77a5da721554f99ae804a84b4239cbc727283e44b3bbc84250de72d784d7af43aa79ac722a9a0d1dea03dbabc82fcffe54779053c2c5d97f2e3bacb30d2afb24a6976d290f0ecc6c2f51023ad8a64a2f6327be98d79bb3ff4d03df579327f6edbb5f0a37d630213cc0981ad47156449980547bc56746af0ee6a209dbb0407a16d3347f3aa4c27026e8e6c57841d1d5a3a9b5e90d2a1e043159be898c617be4fad6cea17270cda42e0a751cc7c58c6c150142f479e70b645154677d3e7f498c5373ecae723e3f9276f89fb6c0a859a949eeb38be7a194e7b0a8e5cd9ab38f87c9367d43720333fd22a729fdd49ef8a292441fbe0ad4c738fb29e941453b1e1db836a6a909cbb0bb7929f18d51b029f733ca3b376c357c954a3940fe52671217c7f7037672a336a451b3fbae16693cf0e5205aae7300b6140cd30bad73310b5b487463c54926809d6b282e1ef0c222b764dd54005e5ff5bbae412c1da4d57c409e020e3872a2f09e4018a3d1ac2ada53c9b0ffe809cc8b9094e12cad34fd55e219d35a7728fa6fe2a726a71dd0db3b5c74fcdd048734d58865dd57e03a647c86f771cce772402e7202e8eb60427130555c17f1ba44540bfd0e18990fb22174acf19ccc0d7296ee7018f6fe59a778e2e1a5dd684e5509a22b89cfe65332997ca5a4489e7e58be67860d93de04b9415a81b6173d66643a3c5ac06f0935a92e33eeb398373c72122d71b14a8f5be6784c9385ef042bda8286cc174b5ab080237dde2b46ff076674a2460a4ba8e926fce32f40c5b48b8ad029a82bd3cbb96ac43e8aac102ef17289ff62c66480b3b697e9527828a106763619289045eee8e8205d49d68d015a721132d9e91cc92354d76903b6dfd209ebe6aefd9c4753ca1652573e89fdd37c64a50366e07991c4de9eb143feb7f090673b631b3bbcc318634ab097ba02a9302e6e73c3852531fc1f312b5cae861a5b2289cec3c1f9bd1a2635b919a89ee32372376f1f5ecf5b2cb0c0c3b6ae0f21aacc1c70e893ab64a10af0fbf37b1c5ef772acc8d9ae34ae69624f4e162f7ba7db7f25186dc030b07dbc86bb88b9de19bb25c9f656dfc0c2e6f127fa1fac2b0b976011a68bd30a0f9caec7ea5c9e66570f68804214c541dade1f96e80c5d2398dedb2374272a618f94f172972119d2f424729d2d06855847287e016799646f3af03e811feb9438450f58c28b8c331857673cfa091b5d85b3ab7703499bcf9c0e5adb680800ac821136c775c51007067cab10f3a3c6d6c177ee52c5a0012c495663415ddeda6acf3178305649aa02589a9f72504c1e52667abae93e5df628a2099dc7dca4952d25c19f647b5f8765983943389964e262163b0b4f6473ae49642935bb98186c62de4332790e0671b3de965b72383fcb262364f454791208cc46223abaf20f0c17992444b4405246a2339bb03931f48aec7122eb7dcc3d67795da28d43c1eb448e6b4e59edfdf581fdcbad691ef52d22b0bdf6cce5ffa2aaaaba354b7309232422a47fea62cfb99730c358d42c7a19f8cc4d5de5e8374ad8bd7b7449b745c44c3d32bc3d31b8756a5320dd685fea231fc9c241bc6ec526bff5b07abec5ab7eb5a221acfbbbb3e3700da49bed72857f8148f75a63b862cb975878ec2b3a7a7033fc47008c3dabfc8e1b0c2ceb544ce78ff576007469092c059e0c63346ea7cab2eb9adac5462d24b9e36f4f55727174507e6e7c25251446dab97dc94e37271d9b060276145dea0b8b9e6b84b972a384115be0dbec55613dd597bc3fe0f989d40889234254a2879dd777eeb8015c36b326912170de50d0e954e07437b12fc2510bf4a70f704d5a755d6dd1a1e866f5135c5129a3156d4c6a5e8e7d61ddc50e2fea0d4ed5b286d43bb24f184cc772f7a6f5db0cb559fdda37cc0f2965fb0a297fe92ad99ddb52d6f9b079bc63dc42aee7f5de802af4b11579535e3ec93144c429c489986397fdf82b614b55170972b281c9ac425de41cfedd19992048227ad6b78fe6344e93a483388a4c253d327214f8e181612c58c6f053ad035aaade2d72f4b7e793c88aef215b63f2132ae14088aac258f3574ebe598cdd1ec3b6088d5fb4b9709927c652edfc8cedb5acbb726b2d1bb559be764504e325e7972628071b8d9ffdaf44b273e37948897e229b724126af295ddb96655a04fe22ab4b670b6df77344c3a6f71f9326ff64c24a8b726e1d76b475d7974fb0fd47997f45af21b40ee4995c8b9273a445d258a9f988563dc4952a3a6b952981d20479d1be74d7219582bc5ec401e1a7e74e2254e4297224ccf78391173d6e38a91f4f241b6974ae6d84dd619e78d5fa0b945a5121bb06bfd214455b39b84b819aa0a69f7eb6fe18d4177be3f0ac3fa0dbbb05244c750d7b9dc358153d44f5e7ce69ac994ca13be2c783e577f5d80f291a361474a95a72ff4e0684bb7591a9028c48c5ca36a394c658071d592ecb9e5d634dc4ca499872bed43af9a404f4f25b9dd4d33705eecabfdad58f67d2865c466072145467a77287405138a72db07e88ed5c06ff40c953d0629c83ec448e54edc5cbccaa85a17273e48fde8bcfffb5cb8d22de1eddd2daa8d5a89287632775d76796bbeec4c2726622e42385dbe124e0355f779fb2e694524f7370d1d390a7206e814b98b493721fe0326e35a7533e6999f2460d5d9384d42028ca8bb9839bfd9e01e0b711fd72ac224861aed681c374e9d78c2709b589f28354b7c3c0e87729a8976b1e882065cb73f0a18965499d0eece735c67b72c1c0f69ea306da1bd1b9102f8d2e08e57231d2e4e506e7e9c39f0190447cb53b2ed973d5015d6f1e4d2185e8d3cd79d072295bfce7c78b07e77b2634fc3ce3222ddca333445d567e5f1dceec9003c1c72c86b98c448473f58f841cb3ffd3e66b55be93d6cd6b856953d38dc1efb72ce072b449c7b44f050caca599220b8e65d7abadc79c1532111afb7c46f7ded43492726753fbabb4f0d7e3dbc45dbdadeade2c3319146324423e25fa50ee584644911ba6feb5bb9a59b39dda3a9e9ff37b04d3f5de3b640540a0c9e706d1681d8d1922b1a4416b218de371401c98a217d6c9e08952c657159bead21544da7f4df44c7215b8303b0d78088d3cd095b10df7d45bbebe0cd8e4cb34a8da262a4767e3e7720bf22049be3bb04eda8282336293b2b64e6ec1ccda6368c79a765229accbfa7203b66930d8c57698f5290c334e2b1c087dee748ff0fbf9f4b2fd1d42411aa872d62e3204260e79681891cf49fe71fbdbea232ef414df7bd924c8c9295d517672c6c845176a12186fc4aed8ffd8d5d649afa0e869c78bc485d20f6ed2efba517275298cdc40a7a3f8d96e97227e774b45e35ca430be5326143f724d4028c7d9726444a21a89036e33951fda70187e107dc12d9ba3f86590abac5c429ca44ab9729b06d25587a76cf5cddac4b714568aec8d8f0ca17cd9f200577b50ca968e42720f0a38f7e6753127e56fb16bc196c64ea93dea309e33c92f24c25619ec2d84729e660dd86fb1ea95edff9f15fa51d56a2a8610d04893abdc130efcf4142abc34986455748e98c38ad926f0f1a96185d33fa5c23c657c2e01a794086e2adcec02b1ecd123951a26d038c757d2e174a707617e6efe6bd1885594b812b834b11372851488704d006c624ede0f620df6cf94aee52fc9654be6e4df6cfcb0bb71ec18e28b725c767c8e9cc04084878051a265087457921152210a89e7a321d3851d23bdc3855ed44a94e0aea31d113f720565c02158bc8cdb567e25bc4de6795879721ce9224e5912503208a72ccd40275f4640dc1a3b1b16ab4522e8e9010daedf7295fdb7724b79c197f513eba4fe21adc8e122fa7e30261bb7be3c7418f900cf041fadbe20ad5a816435d5a1606d9ef1234b212200b68572618bbe9d197b470504c186e084e0df8f4154267f4841d48af7b5038388737f88b86d4fed7ebccfc33af5d4dae56e56bd6828f1315c651b1ca5e11636589ecbe4eed8dfaedc1686da72940a68381389ca386a6402eb49d338db2c43ea4f96a76da2da5bf80ea2b54b465a764747e1405def0e23a8308dc0c5696b337fa54e93ea8a9bc4f9d324a1fe729d98ec71665b04590579102e311af3c3b2128b4c399105befe8f0e0f28b2057274e111460bac3e03478ea6fde885c3a5d927d613bab47fe231b7b20fc4067472aa2e128f8d4c4a5275deddcea72af3746628829e37dea2ccb92aa061540c78722968f34ffe496acae3b477abd3ab1b2311a049adcb1c2b2a5fe08dc1d75c1f06c1d584222728d7aa40d068eddb4b8402ba5262f27aa5b406b7fd4156bc664158efce4c8f550707e9f1cb9014037c384b721fb105ffeb8884a76c7129491196729316895bde11f44c7e2effc8304e0c3fb6ade51e4f7fc1c4c945a3bad4da0a723b9d81af0dad7f1d60e1d3925ba26449b77acd514f4201378ff7489a95ef22727d491cefa8b056be2454b250cfd63570542b914bc486595a9bf371e4ece6a946479db5689d4a975a6eaa5243e8af9e810e9a0aedf55c4e834e2d3ad315f2a54bb2a53ce6e56d72fcbe7afeda79b44a1e239cef9c17d2b3e08ec22c1a43ca6272aaa5ef336093a77c2d89461966c81bdfaf2a761f17470887522dea70551b9b191006b7176a5d26dffb4ea4125b5dd0863777f5dfcc1004a9b390851edd809447db2d935c4afa43db0c979a1e20ce6b6bff81b78ba6f3f34616736b005f866d626fd642642b97cccd6da9734bbe65df1e77ed44f9ea1105156703cebf9f4260721d33b4072fa6a73f40695300f82ed1044a026a428ab2124c7aa6a4c2216d7472cd6870fba7e61637c8d689623c6430148a05c937c2b9546c59aae86454d96872bbc30c2d43e2ff715dfa7f006750898293e7f2f4dddfdac2ffd03013459892556c2aa29f19e2fbdd679f0b99e13e23619164f667a677f34444d3207568fbb36d31c107876064869b1c61efc9573f9f148ab38bc6248767cb117e2455065a57724f25741141160147f8567682fc55a5a9df752caf32032f6b73a987b30e28095fc1348850cd3cb82b1d39c232637362ee0cefde0802e6485f104d8f7693415a7205f0b79df0814ae466c49814f3aef5dd84056a38fa66373a62092f6c9903ae2106d790d2ea26492523643d2f28744937ee1f511177c5b065cca636ef425ff43159d2ed2b41c9a24933619b5fd36d94389d9b0f4d4480c58ecee8b25f5cfeaf72c34b435e70674ace1915221beecc87fe4c37fc15efe79f4f0f2897a5c64e4c72c68937d28bd159c0c8280caf343c1cb07032b9cde4e4f4b47db227590f0ac872f3f156c385815edffd874db9baecaad356ebf21522b7f82b2927f35f455728507d6ffc5d4268e01a8c8fd1b8fce134b4b30247f087f241c3ea92e9df449c69728df6955df96434710495fe1b814613709d80f97ad254190f6d417e956cf86772a706824ff3ad4ab20b86090fe526b6cdbbd547d16e11b89f58111f91010df7725f3ed990ee075e282da68ec9e364bd630cd9006a25e43a23ec21068bd5e2ed72ccb3ce729a1e4056d2a797bbeaf0a23765d2375c6da1c47e7be2be9cd8c3243d2b0969eca2a19bc682af52023834071fed31fc5615f22b65c8f99bcc0b8105721928a9fb0336eb26f7e280ac2a787c2efbe0e9a87d71aa3691640a7e5b07bf72562391e54b0e773c3c2b327d4da57cd05ad9ce39a4714bef0972031d21b253722677ab17be4d5a594e0fa176b58750d5c80b1dc8e931c69823d65b0047e519722bec8b273511918369e5ffe49889361cd658351e682380594de31bb728a70672f48ecab547ee89d8fe6db9bc27b2bdee310081a70eed6a29c53318502e342e72a021079d3e5bab2296cea7edecd290897ccffef73c6f588f13d9796062bca92c904f83b57d794d51b9b734d088d100e531787cb63f1903c4f9d02cff7842ee65e2f38a0df7064e48ad8d0defb4b15af2b8322f82b08bcfd7b421212126f256431e1aa97e51caa1f25782e0caaebde85afb5cb6cb0a62b2197eff31ca7b93e7727a418a5e2e0d08bf712dcb1bb5789ddf874e2b1fabb1efab646564c349cab55d2300bd7084b71903890c1104809b06adc18faf2e20bcfd675aed2d0df231e01daf08c4592194fa925dfc9b99ef99ce82898d0412c71bd566a0ed6f338a49b172657cd630c80d02acbcfdcfaf71b146d7abb53b9872a196d008cc05b848aa9838c418d3d7e674a5928da6a9a90a97e80fe0ecd88c24eb60fa067846b9fe7de17257a50ad610aef5107fd61fdcbb7aee2216e78dee1326465caf4a67d2e29ee67239c043c0fc628f8e16c1e3b1686d02baefcd23ebfc2344f79d72554b2b978972d83acd460d17d3b43470076ef6c7d17dde70839cf7ff860d2d420dd53f8bf6724efd3dc44c4435a5eba3af067a11d91f6a87238a7a7792fc7645d38f2e6707724fd68b74f7b447de6ca6e1618936dbc90f33090a4961491943ca629637d4a5727995ba606cbf46109d30da683b26bc2530889a52f0c47789835c0c55fb37ff72e532b2f19665d8081d9db88ccd6f697156c5301a34b88f2e106be1a8c2952a72fef64a1c4d24787908196ce6324b16c0c22f5d3522f9a2999d0c295cfc68ed07b06488589851b8670419ad658e398324dc369c65d0209c113bd91bf6adc989727b8a66e00ebf554506a9abdb23b57265ed989373e0cdd8ea5325a247eae9d97269c555bb4ac4f2b4db7751d5f10d2a64577f8ce133b0a815673a9b206f24f972b42f2e2e1758ea8f940e9c4ce399fa416f60712e416b027ed8f4d47f9956fe54c3607a0dec2ccb696bb0a287be2c9ec36b45fd1c32394278e4ffc333ff203615e25b15bceaf48cba92d956abd00cdc53950a51fdc01cc802acc508ae06d6a5723a3b2967634be3621123bfd5b62d2d3c331afa4bcf58e0e7e5ae7667cfccf272c8ee1e048493cdb0a7ddfb002e66cedf812ce3bcdb348da1e394779fd0067c725fe05f4b240ef00653b7dbbb0382494482d5be44b45eac093656b7cb68be3027039bd5a2b20ca3124c1c99dab2e69178f2d617aaff6527a4363a70c79202a32412ce6d80a8402a388052bcb31a1032b73a400defc77f80fe922cfd7a43edb0434feadd010c645307c15b05297901288f67901387ffe2a93579beb0b670e27a7258d943d9d1e45f9a355897ebe66069aff35f53b35475a06c0f01d1edb7d9032f9d74aee08e389dcdc6d3352b884ae0d48d230a11d8307ea275f1830a87be5030b20c113d1ec5bcdde0025d0d25b2b650f92c6856137ff4c06f9aa74b065daf7267facb1d5b1e222934753d71e3586af3dbcddcff54db33a080922d52a708b7727f65d177d192d041000e1dd8a3e8dffc4bc763a9f79d1fec02666b2fefba9c1cf61e0e2d48489c93f9bd05b94f0178c03e4f2a9053fac1b7f2c5d4e31979446af9e3204dd24c7ca11624329e8012091b0e4c787b603b27753dbcd679e5b9dc4c5eef0429a811d1f5b0319fe90dbacd1ad1f333f8fac0c6744a500e4087daab7238a0f210e7e0f281496b75d9f876db263184061e5274163b7a47b9a0c0e93d72f0a35f1a81bfcabbb262a2e50eef7db42de2a59fca54032dc78f9e8813ea4055b2e52e0adf714a608eff254dfb3d0d633080050415b92481f6f35264718871721c4169ffbd3f10483d080bb5195a5609978810fc9f5cd60d3abec42f7efdd7727c6ce53ade443968577e69426d60e7e61e620e4ce7b75e89e71d3932c327422be4df1d6328bcd36dabdf03d743d8643845baff355baa16e37df405e06ae035474f1a582629f68a6328794f8ebfda16fb1f940a0d15d4e1416aaace161aa79d72f3a0bf4d958aff20e87f642106df8d23d9238b12a1ffaa7fb0b9bb532879824d7d96eb36e1b0e1960c722b7d1bcfaf0755ab3d99cb61abf4d7e594b5b9496a02dcf8e1ddb1313b3fc03236fdabefb306286840cca300a4772ae14bca1e31de72de4d2dd50c99b3c8dcefae42eebd5d285af6e1406da2e98870a5c9d880ef9872454724c3fc604325284d48bf84f64bc0d5bb70af449321280f9be062e2b02372eb352f978381c03fc7f1231f857fa58d366fba4d07e78e4dc15f1aca6db5ba57b91335fe1ba5e39ee0741a0b44817263cd8f23f44eceeafb45569bd3339d1d7276d9afb13332ea5da656c70b872c355f058ac47e422a9e720a7d69def6cc1d72b921393e38088c2e57dab6a735ea03cbc2ba5cd9f12132088113a635170b8972565ba33c6b5f1e90769e317bd87f77e1342f9b80ea6f4c4a8eef5b3acfaf87ba020000728e907bfbb34f71c66b6dc6c40fe98ca6d2d5a29755bc5a04824c36082a61d172cd95ae485bf53f855084705fd5235fdb293857f57331ec95e56d1b3e1d9c45000be10e485bb70d7dc12eceb5dff65cb2f410113b5bc9d1d91f4292236f376b72eb30e3edbd3015b8868e2de91c970242c1d7c7600b36f7e14f419bb60e86cf489e6527384bd20f80fba315041d43a4ac2870c48ec59d2981f1439c40fa3b8f723da0f6e1c4ac93ebee771edab2168577e6d16e17dd0114fe675bce74d720d072ada08e0087ca24c44220157e93fef2dda77e6370f83a754e6948c1ea86825a2402af2e54cf030c6fa7b6e8d96c2fe1afa97c63fa35b3ba28129ade7c58b92a1bcea9008c72829f6b0025dac0bee5b0c1819d5bf174386f1492dde8e0758aa472a797273c6efca6557bed63253630059c13dfd6255f45179f26d41412fdb238721c6289a686aba22e6e90c7319157e1b8b02b2262327fe8e28ed6635633207472f725014ec26c89c420fb0ea689f4a7ba39bd91d62020b2adbd6bbee3e7e84c30dca3b70e9435a53a12b1a3415fba16fc7023471fe023ad57d4417bae07df0f723c0a3719a6992f179cbd6372cb7640f3d45286689955ca29cc993a92505ac272bc350f38c969ce0956288fb749593bce6f9184557e7e68f07f5049bfc26e455d800c563b44e7d839e38a24ec33e0d8cb32d58b71390a12653d80f0c990028b1587544eb0c0f4f1910e87592c5ea3c06ed772cd9060391dcf63a41a52bb21bc72ef452b5af69928117b8f0ecd58933ad887851b7847edcdbfec8a232f3da2dd3a25ff295e55a689a60a083c15cbed7fd5d91e81dd79f871e5ab1e36f0961fce4d5a93be0645772acd1b43883889cff117e4a425c9b7886ebd0add8b3cf073a972daa6401249364eb796a6df83916e5818c43c32989d9f9bd6d265999b22bb3972e6e5b49bbc6b3d1f6dc86e1eca782509a430b631444e1134843a38ee321e8c03ea94d06f840c001ff6daf49ac9fdc43e9bd99e31c31d3f5ac4f6896b85bcfe681fdefbc54197d47c8201e65f65c7af329d0eb2fa1ecfa9ca92da9103cc8ff172ead3015838cbcb251b15b5315b7e660c5cb83bfe63b7fe51968a125c40273a723f4b1dc70b9df034b30ac19e7295b55dbab5310b041ae192b11f1873b4a3fd5c03d4f49a4f4a1c74da7473756ae1a1be337a89ae510b9532d0551a118bd96d724253c9bceea15365429062ceafd8914dca41052c97b4a9dfb4484065c9f03433dbea1990092b28b9699cb8b935b653e490d0da2ce202293bf8773a55d996140a4388578a250389c3a009eadb34ca25a160e118b17396787c47111bb53b8be706ee8ade836e9ec6f87c09b94ae204110834aeeb2f9245d03089364982333ebf72e75e2153973516d7f7fa02ae6bf3193bacc5750a10e7afd713f1c5c9bcc888723c7948f504bcaadbe24e5c8d08ded4f708fc0f95551f7c8d690ea0dd78004972a5b645ca2803344eb55bc17d61e2fd73bc61d0cef152961ee620a2d5e57b8a7264c8da293904ef411de361463de69ca1eb768dc940a61f729cd09ef6c110ef0d3800915d7a8fcb97d8bf58a2e8d3a1a0e0f92a9e2dd8dabe087cca0b3e97241e941cd623f614ae998d69b83e84476a3ec7bed5c5466f63ea1ca656d503e89d359c100974db82030e3dd0dc94b445066d32d1765a17224c625b23781ae38f2a52d24a5c937d343c06af6deb71029069b71138ffe77c541f401f6836cb76aab3155aca7ce0d01485ad5dd6546e0632ca3e653bb3cc6d5aa7c8f35494dfa9ee522a8cbee7318fd5ed0fccc40920fc4bad2acebda8e1fca1204686b73fb9f127a77250947e67045c739eb0185eee04e0b7d8bdf7789a8864417f4718bb57039a7859b2794e22589ad02faa822e4340624b1b82af1156cfa79549d2869494a1ee1000e5bac6bf8d07b3c4c80050df06bec3b0535b318444eaed4b5b8b732ca212b972a839af26532a6040ec117125fbd843ad4a0fbad905f123f545bdb237277e2059fa10615dfb27d31fc607a1d4d411c63f5fd037576e9d1fc546e078cb51cffa72a3598d2bd412bcedc81346bfa8798586c3832251352e7b92f52204e914fbbd2e181c8373ee42c9dd918c75a448bf8f6485615672324c04c7bc19ea8756415172baa861b62c6c67c17e362d2549a89d3dcc09ab78bdc9b537b732f17f4a574f72b899a5cdee58357eac188ee6d30ba7bf5758c438b38a679591618dbe94910501ac8c02fec52d7e8d6e6c32ff18606040c323b554f40a44ec78c621499990cc6693954e09544dc0e787579a5ddb488c0b0419efe1d6b2ff4cc4bf6e679ca251558819695ea89b90127533f9d81959331a5ef1c29aac97747fba617b49f6e194725117450fa3144bc6c7d12b0bac763ed355575e6f47acc506221f1a583dfde372bc407b7105fd8b7b0ed4f3b34ae9d7a28a8cddd1d16aa715a4ff085374ae4e63d40174e62f5c29966d0601e1e87fe4582336699d30ddd2615c264c7d3a2aa372f29d078b3944b6e4e6f118f69faec139872f33a6c68d97acd45e2fdb891ee465447f48b2639e296229b3916e69f86338c5f3fee54e08be54e39963330697592cc3e8e63e537884438c6af823ced0ceb289822a5f7bdce7769e84059df4279c0e48da50b602ad13fa5ef0b663ee5c94e565f71e45571251742dd1812d57e7c072ddcb0887bea4c757d333881511cfac48ac1b70f4df02b2cb2bee80560625615a5cc83fa8e97ddf22b8d00ff2e81238763ca1d4b015e3bb2aebb58193c0e415728a4d850fe8af5bd9724101ff2dccf89496dcb926ac16932e2d3df5a3459689722cec8909ff22a6d67161131ea940785694b8807b4e07e87a4f75a5aaa07a11728c1091c14ee23f9b0c7e75cd92c954a05415e2ce669b52a974996373c1768d72d63ed249a1ea851da541399d85473b872049b2c50702c136533acb9ec40dff3c971c42e1639ad4701dffa86c7031f7977a32b0b3a1e8804deac161d8f08022211377bddd0b7cbecff1b4d6ce7e43da09505ef14aa1bcf53d9c91df3b5cb8a550e6c17c027e3280a73f78361e022c49bff798aec669eac93a5f740a7c656a01698a241d8ab7f8a24466a228677fdedaed6f8e5d50a135aa10aa44d26e5025907265e6576ed80918964f7bfc44dff41020d7d3b04162651bde97a8bf998616b36f163aa27cd5904731a52556a227c3f77084bab45b3343ceafcc0dd8a2834fb767b089b6b6063c331f52692480135a87d6b20afd02ad9040de2edb80b762d160290f498d9f79ca01c5cc3379faf2a0ae7093bd930a83c08b68006dbaea9b0ed172de2e43da697a6632a195e60a22c40e9a4c8b6d8f318292fd2fd805dfb8943f72fd7bfda941a4166c3e0edf5f74c160d9c8ba1d61580f113f858fff20707c887297b2ec89c87f305f494b4da425411e74e45cf613b376d99d28886ec5c1cdfd723321e951dce6587a461061ef084f1fc859ab202182ede563bca4f373dd57d772984363097021e69765863d1f9df324d10ff9a3b7f8e806338e36bb0c25a3a63dc39d13f760c5c72cfdf5ac6ee7d1450333df4d8594176b7eccfa55da1a7814729c8a7fbc966f098212191b290f2ee01664dfaf6aedd149789796da583c9746469285c9bc3524adc1894459330bcdce9babee0525b7eb95978c748f8ff9daa3723e769f6312ac0a75db57028f69458b07eb0f6ac54ef9f5560534c246fc7947729f85970cc0b7397216e3f5bc0bbf4167bac98ea666888d537853898be687b7214d42d0bb65f1de7b41e728bceb82ae0e593efab6ddaddac923c7373ed670b772eaff6558592294b925be3f4909efc09ac5742fa110656ad2e01c7fca74a4a472507403c9f8a06ecdf09e391534a6806266ae30d1f5ab0e1732c6bd5193d658724ed2fcb844611f946b703635e61b2a472b0092eec142a0329044cacfa08bc372590fba6ee31c7aff7432807320db0af06730bf8294651745e361d5f85df09e723b87668be5451033491f1306ad147b9ec6f6350b9ef9d06789f09e770b4bf372c87508ce55ad57388193fd474ebc23f1e1e12b60f8038cdaaca268c480703072f2d4f8438b80416089b39fd7c1aa32c3a254880f8d932a3c156503d851c3417269aa3f2e701c82240ff8402aebc8c9515364bdbc0ec25a7ef71076112ccc80459085443fab5af94a9681bead89f71cdf0360a916f2596285cb04205312f463323cc4d4c53600cb93556b98e3b767fe97ad43a4f7acdc041f6021e809f79c97726f7103e51e9fabb6e3c20fbbca10e8dabd8da26b723ddf31f36a264e652dc76978a3a5e68017d8e2097a024cb60d1f3946b46e147c273d08d381be26ef6cda72261cf160023236b4f4c85a30939118bc9ef2c39b59ec4f497322387f696a055ab04fff73ea42ff77b075538cf28c653bc5600045cc2173632fe143f15a842472fbbf5111a7cc7c01eb82f6b1360289c20b017bc42fae68f570677b964862eb3e5d886a84168e3f9c6d84d86bf88a980515cbfd4c39024aa0830fcefabed6e93d7bd752e2ce41255030201def705f874e92976ef786d75f0e69338b1e4eca1372add926df2a4cc3c4ff8cae7f0337ab1c4a5b0ec8f1fe89fce25fd26da81f4c7224db9b31271ace5a5efc41bd96aa5dbf284e02c938abd77a9d5a450524003d5191c0d4b5c5f5c533b1f042053b89e9a50dac5aa44ec15c1ba1b787e13c3a7b699dd14ff6398af7b2fd8ff22b814a6776c1f8e3ef4e5d76db85a90054dc74423a87a54096e7475fe6dd63d4f112737e6369901f20d16d09c32b6828a786b16944feefbb268c2acc6f1639b2b838137819d03eeca02e76b4ee810dc06ab882c872a8598a18e4e506dbbb124425566349281f52481bd507a72df711501129ef437284325bc4b01df2eb08451d29d676a2f23043daf0ca880ad48a16d3cee158e13e65889c0105ccfe8845e102d6fce42a7ca66ebd72728c3e0557786a5bc09de2527d1c8deb0760f1c96195e5783616654855faeb0a068310f847c9fa2b27b8007201d5dea22e661e148928ab05e1ae14b969e30fb6894f8f4b8dfc5352ed70fe3182a87da23afb3282fb0360d34916c64bdd6565708346a6b95a96e309d3be111d87e2fa10caa20bdf410b3eea204bc991214c74af0ff017fdbbb2b9dbaaef9c6e29566cb7d41552459fc48288c47da59d8ba8d3546ec3884ba48d7ccdc637e372b2f3d6f22f35f6396281c81a288bd569faee1d85bc4b90c110d0645135084e2a31019e12bf992ced31f9015cf2896df02188798274d9169ac934836cfd8f9f2d8154a5bd7a754bfcf432deffe04c2129e77414b66a6a0de8322db814e4208c72cdd5356a408cd9f76bd6eab838b242444f432ba9247034dc5db03d4c45b6a8721c6d301de15b917e309753a959597f93443d08baedeacd00b104011ea8519372d4627e43341caa5f77c837b9b7cd75921a58a94abd6c360163e353a2eec94572ee1703bddf8ad891bc98525c8337c344f7f44d961dec1cc29b4ded9a62efc8720a808f8ce7c637a1d044de5d9812be84fb8a8acf6bd7e74b1032fce4748c37725d3ef3ed3fcfed0e187b7e6026df91c0596ddb890b384ba9ac5a6a1b06bc9153273e58d06dcccf4f386104fac26a3fa65d853c60421cffc809d4c1301cc53456e748ffb721199f2c5102352cff97da14c89e981cb7ea5c3b32b71461b9b24d12d35ce367dc084dbf117d83fb00dc53dfb1909861713c98cef8d5dae26961d672c708c33e5ea5ea19ef082263bd539549265e61be72066f467ee15e172251cd59eccd670bbd9511ecc3afbbd181ee266f24b7589fd13cfce4dbf7be8716aba372821875014cc03783338d679fb361409f288e9d169613b482a08f9d59424e407254c80d931ba26b18f69771c010173475780e8c1df8aeb428d2b8ecd6640b827247b567f47a47179838a3b897da3c211d0345b86558c1796711a77b7c2c87451aa6d39db2547c443f190a57fff335dcccee5a648a518f340053cbf14ebeb90972e1bdd76d6ac4d7847b40346b79085b8e20eff159df3ddc0a0d259087693b0a721d012c825c0a0fcbf5d2d218b6882d8fcd87a3f479c9599518000d19c6fc8572a19bfa05dd0bc85a4470017d9114392391869903c78f85cc4be5898b6455121b082aecdb42c1067abf9fe9b1238b4985cacc1aa22f371254dfbc1f1bb6ad7428a2618ee00a8a0c8ab0857cc1cf9d025a4908c8b875c38d4d4dd20b0acab2b47228c1926d8886a58e94bc4bf5ef9997add69aa55bcadf04c16be67d4942b965722b0c7f3e9bf18885e25ae045bda88a772adc786f03e8fa5e7aaaa4df31027a72db503e1d251f75fa2cc87b886cb146a665e27425d090ea70530569b00951c472aa939262af4e42e050a9c63520f1712b333d67125fe347d844dd33c4cfc58072326147fd77f1f17a5a2aeb811eaf85ed16273e8561a4e6432beb3281cb71b267b260047ada67b9a68479aaff4277dc95c2bcdeb6a693af847bd92de224cc8f225220849f833a10507dae9f99ffbab04242127702370ccbad094d16c3e408cb7261a550a7ee28ebfdade2a8048c25bafa4f35c0287db27ddf1ae84d13d3efff7202564514fe48fab9ad25faa85a74fa258ec8ec986fc4c969c22f81c296672c002005b2192ba40c3aed34a1a429061e46085c455dc9a16497ce0b39f45b01c16f1c4509e9fdbbd40c021c7a779114443965f84ce93ac94fea3c3967c76021fd72ce586ce419a77c5310c25d09a6904e73b09df529e266fbc273cbc2356dab5872c733f669ad75fd6ebb7ccc2ac983ce2decec9d91b108983a795b82be1a6ba166eff2e4bcfb3fde32944c8bcaac0a31afeac5223dd5c79215738484f91704ba4b2facc0de0c574e174a0c40264ac32de8ee178c5ea77d4e02a1e3042e58cc31216ec20f15852c4037da616f0f693c57baef442b7fb47ec977f799e6136f2fcf72fb392f2b87e981f12ede16ae36bf8712286ac571b59d0e43f1b5e88c948b561f38a3c5effb7abf83e532245aafa414b37a95c8a06ce1c6fd1a46805ea637ec720f5bda49f785e90a5d5064ca766376e5fcf3cc5bdb81c154e5ebfbbe401134501f45685e002031bd67da1a2213a3bf81efec684ac7549232c6049d9c1b3dfb72d0133f16707d3a2a756e37f9d2b7a336b8813c81e9f976ba8c53d89986747672b8bcef67375c59e603192ae07b403592219c6be5f18318539b11739ad9ca6b720ac94dc4024e6045a012aca06c245ce5d3a2919bf6c03de6af9733fe7a03df725ae574699247d1b49c9231cac1ba4b22b97aceccd0ee81de0e0cb9de4b655c0e49385d521e6ebb7c6a71ab09d4b2d9307ed4c67a9f7cfd1515097a22c54ce82097a6710743f57fd0357bbe4f32088865d1f71bf26e3d19bf0ddb6bb14c5d9f08370da74e9800433161d40c08e6ba7fadf9cbb5bbabb153bddca5bab702aca67202f924b0cbe81bf5a90fca1396e7320d59a3023808911f3f7b8efa30ba30347235f1feaca39bf6e5ffcc3ad8b36e13531c082c09a28476f4b6b62be9b5a2a3721a8ccf0467e18557d41ec9f274ea365cd4584a9b67192bdd113740d84218f0723c9cf7c6ee778997a5e2163924009639e517c5e00d04d715f8b25605a659b42e93ee3bbf8a0163393c8910113b1e6fbfb2526801079b0ab59883b7c15dcc5a72727ff0be143a7d3efc1f879aa4aafc213ee54f4e990571b59ebcf5db755efc7298f9f2e511120d634a7ccb3e7942761cd7459b9df5c05aa725a08b1fe0cd1f252a473d35944eee72c14532684f9431200d76554f64e6468297ee784515120d729637e2d7c680eaa4d292c94a9f3b4e36261e766e3c63684d196421738e1ea572a1847ec1150d39f207e18803e8f0bf5ad98fc1ca8c53ad92fda7fd61704fc32d15bf3c1f8a468bd99b3de99ae754b05a18d1011a64676c76393331006da4582e45b445fa0648d5b3353e8c8c53af73ba0e85c2b072419231b1cf3e5f8f00e31a76ac04dd6d2bf106fac1dcbc92d2e04ea5b48490e98ed19b5a3929e2adf4da13da09a539d1c01b66a746bc93a92b672d047a7a139b43b3efbf9bf1704cbea0488b08e1a1a96f986067092afbc9e01a6a10f0ee84a9feaa8cc14a5661c42fbe726e851a10f75f1e62c6ed608dba8b6c37a354377dfa4626a34481c32c2c8b3972c2dfa0e30657afe652fa0a43914d440c2d3c228f419d453432dd07bd547365723266699c6451c8ce53862ff22b99eb1f57871663df27239c411ffa1611131851d94912a0f6bb209cddadd77e3e6d54bef753afa84e396f64184a2ff08f04de56f6a25f0e5748df4f3a0e4c3558c8a8a55421e8b19c2452ccd2974d3e1f681963c96693277f8b9a5b28318b53d574beb6233364e1ed87638cd1e34f4c376a2558a08c4b7f752f4316a0e1278e46b70811022bc6f029b5d0df1f71d73321e72a473854fcabb54ff1afbed0675bca294e2287b2c3d1fb577f18d639e950a8b9604953c2914bdb8ca09817d43484011d8eee34f9062e6fb8263990c4d5caa93836723f1a4132629540e319d0a3a64a12351bdb71a502ab69d2c8313fedd06341e0727c531ff8d7bf6ed6a16c5639dd2127facc22db33d38c825de15e3406d2b4af4c4f6c83d413044948a5f0e14cbca7dc5f1a10f489e67c1bfba24378800ef1b54bce0f0875f3fb04f6f95677310eaa7f77da2c11beeaaf156ea92224449b57b80162d2d83e8462822db828543346cf444248bab39c8a2b08939e684b53d1a2d11508f9a0f80dcef9a159d190df9271e829ddd51fd713fa04e92cea969be7ba0672dfee815c67f5ad2bb179053db4f1cbd14a7494c5114f7c729e6ea389b3b37b2f8156807382bc8b13e84215129628798164b397d5b4a4da7b099bde90711ffd0d53fbfae42189b8b9501cb8792607ed1af68ed799281626fe5333b6ac64fbd170b460fa3c0fc3e0578778cd1be334194fea341fedc13b2ad31ae5a511e4573772e9f847a49ee0e6028a5a9162668c926e0137fdd2d716280cd9f6b29bd36bef512baef7bd8a6376bba5eee142572a08054803d2e19f841d1e6dd1b6c9c94c153b755687c9d8446c34eecb032f78d7195179c543458271d94f1b73e99eab8cc61ee3c5e7653b841aedd0e03521bec70d9c95ba4f89c57a0c99d9ca17e11899990f1b557d2301d3f79b4bc4b7f5f1853978cf6e0724c9946b5fd1d40f5adb427772ba22e0f944f74554ac243cbe65ce73a6a82ffdf4eddba7f29d43ecd799b8746f39dfe920c923168e5975f651ef8bbe0b0fe94e52fbc5ef502b791b3da2f6e07226f68e384a412a0f8ab22d51c7ca64519787235c708b12a73e0e0bc7154f0b302b20164abb505f77170aadca602da7bcc774f3a3e6cdae1e737bbf806b7c0e7236ab5c25b17fd37736abfce879496b4b1ff3c633924f3cfd911a70618da559727b339f64234e577eaa8f82c5a364dac84678824edc22dfb80dfcb78ac674da2bfe407cee80986b07b24947c9f04c0a6f8e1d545a54cd1ec1626ec070e4b83572ed15e2b1f3e4304fc7c6dd84ae1c5b7aa3d3ac2fe843403245a427e3bf063b0619f26d253e7085d0127c7a2834ef9ca9d121d8b68d77a876a99cd087ac46d93d3c27c26fb3bb9705e18aebb5627590d3adaa4e2ee354083857d77fdd9b912f72c222fcfd6063dc2a6850ce5ca0797a0ed89544d39b53a6771da9c406b7e34e7295ae542cce87fd4135cf82e48ae0dde0e6dcfeed9009b8e2c46c4e3f4804907215f1ee786d18e6517cd0815169485a1b5a0c49a1c6dfb10c3054eebe112a4c72a133bce85506bbee6b2ee28d543fa520ec42079ac3c49f432eb3c304ae4e2072736af04f199bf38bfe695f28d53dc2fff9e142c7546d8f19abc658ad2bbac1721e12ee603f2c671059a27b503b723e69f8b99610431f41e02b164e6cda55a41ccc80f15d65e4a24ada2e326e1bad26d26aa7e896378e2d6e1a1d9e8bfa69782dfa812e847b1f1aae413f9bf6afb755d2545c469b820bce6b3f7548424d0f5b1d51e65f6f52a89f91f31354e5f3445d3a53e981bb4e55df50ee32160c642ef772bc4857eefcd96102aebd4ee6b82b67e4a6d24bcc002c1d9a55b7319190297469708f1f22e41c4e09a636d795b5abd5e99f2dca175ca1d257694fc55c1ced4f5d02e8984110b4acd3e4f11dc6137d4a516f42d7b6f4b2e7d69f4d1174bf339d20662b657e0212378ee8906ac1bd785061cdf99800ef70c1c65e6c7d29c0f84572a2be50ee91dd61250c7cbd82ce5ac9778e884432b2297079258552b0cb7ad42d56dcc9de7e8943e53d0c2f37205803985b4a15bdb7924ca886585ad463fbe3727ba9d60d08553764fd87eae32d7e451a6d2b2633e86f01223c1a5538dc5e067204462427c2fd78c4c9396a07fdd1f77cc4140a338c0f4ad0bf5d2e7bedb09a72e6c9487f14f6bcc94672cbc793ec567f98b29b9e5412351feece511002cbdd6a09853723996916e4e0a5635f4df111c2970212129dc556e1291d027038964f020c15af86d703aa1726991eb1835ca66d66de3030117ae319e58349548a61bd72183b52715c59493f92de4cc248d55fa93dac3f7b073df856acf893796faa6a600ab9c087e36821316064d32ff32086b753d1710fe48a6d91807f84725b2b2b726091eb790bc6f7fb022c7d05934871b0f8c889c2c3d0325f7ba096d102982d2b5645db809fdbf837f993c30af46e70aec12cb1dadf1475763e487e0a6d2e720645f12329c1f16ba070a4c924e1c40bf736ec580ee8119ab2cbceef0cef02c10cf6f004d64d07854be7c1867edcd8e7a4ad2e393e9802055931947d00feb18d725b5f63bf0c30f4cdeb3d76d34870212054a919e19df24d29acb2decce613883c17c41ad929a19d6bcd108c0261fd1a38acfbf960e349cbcba181d765e7f686725d82ee6bf80f1cf79cb857ebb9365928b148495c26ff6c2ec0b6e01d5a712230f4229bc49fb0a52465d47e15364c74ddc80a85ddcfd08b815f5a842868363c726cdeb0395beea175ee897838d48037e0ae11a8aa39069c1a3153584d279dd472b0c1ecd3427c4f6af720f70184a19cb9383ac82193919f392d5c053e70fa7272e98e14f1335c0117985a99dc6e9e25066389b3cdfb1d16b47bcab525075eff72efeb298b565fcc6c31b6838107876fc7f2fd38d0417a0032e6598dd90d3ed37234bbb759c5bf8a7358eb0cc2e4acb9af049f3d8fea315edfa02b85bcedf23543292cecb3fa2b6abc2c7f88d8f7176546ad6a84c3cf97fce525005185a4ecc2455fe183b523bfe042ab603b7be1e46cc4495acda594891a47d7f7c06a781bd84facf90af5e256ea21024a37d60b3266e66e6b419a8974362d11007604a42060729d6b1bab3c63b9d0fed2d758bd2f6887815a7f065063cc9b3c58c04b7f477f720e8144c43122681d27d5f56705e854af572f8c2cab0b7411606d59c356bb1e72ad8bffaa1c87f018ecf0a352708af060ea9aaf417402c80b5202ff963eccad72795591f6c5d702f76cae8bb8637607da176df9dc6404b0822607e9b8d0c7a34248b353b001869be01e89e662a301ae5e26741c962914e37e0567382a7adc0c724221e7632b0abadc790c509218b092a706af6b4e6a65f6e169c37b2ffd636b2262021d21b5aa8b3504ecc4a4f1268e7e47f12bf00365a1e7106b2451122cd9720996fcecca10bac0c88d745fd917f423ac607d408231aafd6c201e1fa884bb724d7089f4ef601e39d2b121b2fdb582230aefea5409c14e5157cce8dfd36f32528cf44192e0881764f2ff516ecb0f7f23d6dde6e4d9ef2a9611446ddc04ac3472eae829a8f73456429455d787f31877051357f829b0c8ade10f76bdc2ad32266ef3d1fb64fd70c4df1d4589ad02b17998c8f1585267448b828d43662f7e14f16dd850638e45cba80cd763ae73037f6cd4d2a44f3cdc450141ec85a42a303e2872b0f4ed8600cf7508cce1bf7dd5012f157dfb9173d62e9765d0976053d1b6c41c9ae5cc6585c4148cf6090d0ce726f5aef5c419e9f22f3eb509932e0e8b429320ce4b2d8ed13ab1fb881cc6246c9bed96e858850b34818f5a03fd2e9ceebb7e7278423cbede62df648e437a22f60896f8770adcd025e50407fca25f8a6b98f71854057c0705bfb369d650450fae5b5217a23d1f4028a78ff6c3132a84ae3fbc72c00459a3f4342cc8f130bccba1f901b53ed143cae90bed256beaffcc2060927239c3aad2dea2d2c7e10b678ff5571a094ac331658ff190caf7257fe554b9ba3c9fc4593dc5ced63f1837798cea7b1be0878dad600f3db6433b31eff52966c872b17996a510cd814f3b48a01ea2bc7808c71c8136021ce1fe1171069ec5bf3f72b127da364bd5f150cd4d6552d749a832784c9c06299652fc054a6c5ead68af00199036387a852f63a591efb19cb945007b52d1e13ed794b20c06c92d5bbb61725700809a820058189f7c1b5cccfa5f73516d8c1cb75fff478f8ed890002e3941da2f9d82d5adf5b1558d7d816d91092b78cc5c825e531d92dc8bcfb1783f2572e681198f412a3cf2c6038bcbe24bfb3a24c0c34ec21bc7f955ba49c95de3b272e84b2debe8188d55f8f2baef4d9810c04da2778f9533ed2d2025551ae59401725c149334911dbe57b0a469ae244468e73ceb77d57b4bf7562b41b13c75bd4c722615c47de5ac858bd6548e379b5cf751b256ea5a8870d487a8aeff7d5bf77172411e00bb5b99fcf49c3db25568e1c5a575e070729d47d06bb2dcd65ed7d2d35afd2daef71116170379153b6495f49980da379950c4d2b34322b3646841aff53421c76a2a97ad559c51248130e557ee1533bc82f7a4f52ea17f6bc6ff2822994b523e176edaa09576111a442573dcdfa6d1d53d02d25ee96e8a370aac20a5af6e611dd66e6c984aab0929c4f7f35b463c88a8f41621bc65301f7a8ab7d7aaa77263285cb73f7e7c81f28901a6abed736e0f3e17e6e79310a558b176c79c79a57254baed7aeae9810bb72d44aebecf6140be2bc7844c45be4aebef72052374117292e61422532b4a533e47244c0c8fb2fc23769b3b72e511c03f8868b4d3bb7c72bb55edde331fc1b99e48fefa04c001dbd294e2476b064565f5841bde1b3d7652f861585e239bc28eb8bf91d5143316c750cbfd207aeee66df9862ad773e6cf08f520346545783b9237a99bd80792ed0642b0f6e103a4d22cfb7d19ba7d522d72a618b85e3c79f578086c70ed2f6eb0043bd871561207a855a24a48ec77511d693c769fbf696e0b97eba869a621a6c808f4e89bde07de901057f124b4089cf172bbeb664e49e59f93564fc9b40fbafb59bdd103e6916346508edb429444aa492437d40deec7c2f56e1b488161279236e14c03c9031456f38ee95d13d637c3a07212f3d8c089878d1bf96577b0749ef20fda521f731184138937925af56be15643754aa2955ac88f72548a9fbc90804050763661ccab7a9e6145615a830a780a72f0ec0bcefc24d3b50e5ce15eb995e3cddbf5a07952c3727e4eafe61b4ccebb720484210a859e284d534db19ec69d565b0f3c71bfecf893f9ec4b9d8c42457172638879e267a06d340f650b37f5316f8fa6407f2964874232ae3c1af2e8779572c474040678a34bdffe1d9ab5d601cb9ea4857241e9157f5b56c0487489b2d97295a02fb6cfad8ee17d9db5e70f23e9637703989b534a509c0cbf025a6e6ce6004017c2839175ccf517cdac3f9f604ebddc2c491dc1ca165950a6b6684e9b2f7265f05668d4fd378f0e39db0dafdded3779ace5068168003312428de370ee7672bbd9cdb475456a93a45a981facee9f860e4831a6f257eda6663500cf725f095d00a5ed176133b5303f3af7a59e9fe5037f9133a7467fe970888f947c7f2b440ff46647c96037115d6fc332a0d8f01460d835f5081418aad9f2b84727f9709b7219748067aab4e4140e6efbaea361b49a8b37959e8f9ba4cb53c6691d1de411094ec60f9d0bc39bbc5a6f6d277e1ece28d28e295da3e4987c4d15f20681944d721c741b4860e0f99623137231d45eed66e7ba81c0b7ad364313a02fa8055c1b1cbf1943f39c1eca7de070d9d07fcb79eda33ed716d49afd4fb763f48cf6900472a2e950b445e7679f687dfe70fd9589c7b09778e4c8c7361898c84ce89db76072eb7f3f2583beee33dd774a20a68b16d113f86b9b83471dca23c4ffdb2024ca59bcbaaf3a535b977c1944d3b14880182cfec8b94c1472feef6695e8b290be9515d5a4d0886321ded7e96c7c70a8b534a7a2bba79ead7d793557b367afc9bf5372c04181c8adf43873c54cc6fe180a2d1065f18fbadfcfd1f53ba72ca1e33f97725d4ef49dd96467cfee06a7d3eeab7022afb1d79c556a7ae8f68be5ce20f9627203b8104315ba0147c545c8ea78c3f91cab2052becdb19f3effa0cfdb7c6fa9727812de18db89c8832a3bf4ccbc777b64bf0fd7ef862853520ceb5a0c665f5c729aecdee4412bb56ce076febaeb2ce2148479d45e8bf0b850230fda37f78f79634422b3ccbb040b7a33e17bbe8fa0c2696ff96b56557bdce1843de989cbe9bd35da32e1d1bf23b5db868161d195dcde9f0f8f420e224371d7b95b36dadbfdba722c8d3ec0caa9ca3e2cadb217f703d975ed73ef069c604612f1cfeb536aa5d172222b4ff52bf8cb7baaeb55fff2b98c7676bf5baaaa8230c1d101d711d90cb524915b3b96f4859651bb67155c1819ecf2835feb776197b928ecd0ac9958123d1eefd77595b18ffd1ddaa6f989ac0176d91ef4d77aa6ef16b3814ca2514bf9f672214c1bc9357084f8aee530f37a34b17d5cdb2fcfa6b09404e95a27a6f022f136ae2a6af8345ff5c9334c36b5a29fbd33efdf2c30a38aaa385ce37d4906c1537217c01034c5157ed96e0a369ec8151964eab9be38d18db1eb43356ef9af6e3172572c7f8dd76c6afebcd67708835c79e5eaff060d7df9cff534c47c779b360a72c648ec9c4b7e4270dfa879422c3caa99924892d46fded1320f2515e720802b315cfb166a145b74bf274423dc57575cd008df8ca921b0ced0c9a9c47f671c3050365010a2523bead388e5a17c78170cd737afcc08cac45192810dfc6c8062237267bd73d6e5d2edd4d79ab8ca6cf7e9d182bba26fe5c5a9a05fc547c925d17e727a65c1ef6000a4bfbd013eddca77d3451a65e8f7c0d08765f9aac0320dd5f572b83e96fac5a7da5489754f4f3571dae0944dde65d44a705bc1de5aae28017724006f1c9235948a59ef0be572c871c4cd205591ec441522dfe0a9b442ce161a43a4f6f57725f1fb6d124c2fc93954c9fa85335187bf0838d0989e736ee28a6c7263414b6b7484d42248af81d0d2f08fe3f02fd3a9066deda8468eeecdc168383c73169faba9b4fdf4bfad31a1bb2f9875087157a1138345e12e6a2ee3d0ff6a726ce5a37b305843032a184cb005bf82db30543174a5d745b273664c095deede7246ce5e4d186917d88d111d6f5ec7f6d849c2a80360268221447e05918901be70178060562006cb7cf7fa3b2583e7cc663e5bf0b6760daeb6fd3664d97c28b172ac293b888ea3acd7bcd815c4fc4ef51aa5fc1ccb337f7fc73fe9ca22eb511b723e400d2c2775ca5df5d87bb2d5639378a6c7753749aca5618751d25d8174875d8db7ff1b976be7e9bfeaded834419b1a5a03c7b33f01a05dad0b8ca083039572e49b6d2a0b3d8b0a95072d0cdb30f56be9d8df6ab747d61e13583848165be1728f3400a51a6f88d713b9fbd6a3d0661649efc8fad7f6690dfec35537c7fd477210aef0a85997c109b678c65850a7e9fb61fbf0c0081e417df847521e0ea89b72f9e7ecc604cc2bfaf786d994c0ea14dbddee75cbbf74cb1e6d93ae0e8d2e19460e66d7e91f8026c416fe5ce8adc15358da8be01b84f68aae1cf21e87349be57019cf3c8b82acd3382bb8ef86d23941922aedf87c689b23096ce4a28adefc6c6bf54dffd44503f04408e3962ac55c7c730c5a9dc5f477317d50c71e7a5a08731b239c7c55813e3b1749670e12a1d755694fe0601530bd7d224eb0bce0fade0372598084fddae4c379517ae3f3a509889a0db545dd7100bb306cb410d0c8a96f72b96f593ef0447c0687769d6d43ed212360120fb2176cfdedf26dcbdccccfe02262a106fc82fbb612a3b237eaba498716ad7d3c8a98b6db2cad9df7761c57624a58cd6082d56f91fcee3b8185215f19528f5a66291491c9e1b7d5e6a9e519e107c2aee666281182eb3c662278e52912f0b60e572f51a7a500ab1cb58fc7ebb02c054040aac69bb55fc13684d039439c1d61a3987d665a99468c52385c11058259849630bfa45b36cebbdcaa97147a6b8f2f976c46bbec983a252d7d218ac6e00aee45c1876068bc2e4bc7fbb196981f9190e1f348589d970911f4ca962de55828241a7cb0c8538bae262bc52ffe94ebd992d73217517427a616736b917cc87c72cca3e2e8411ade01a2810dc02ce5299c871b57c5390378e489cc9bea80b42172619ee93b08d75a29b732f4ed7d0fdf8970cae84ce226db4a572b6fade5d8916e9cd9a41c780627b844603ec0856b28b23e5e7b7ce148b3f90d21be89a888d26fbe5b77208a02359bff4cb17210946470e4645120bc20534909cfe7aff7da4c72feb3bbd465db9980a89a800a11e2e0bb62c2975eccc7c6c5f002207fa6e87a7259a2681e17440fb2ddc4b5ddcc66cce483d34eac3cc35f4a0472420c5b7776721901fc5431a77071adee580dd7989667e3bd4b4ca5f58e4bccb6842462ef7c72943ec211fb2ed44ff22fedf0b3a75abb1e45a378aac09870dfb7fac0f78cce33419d4edf1921bc1dad95b606911affe06bb405d594057b29a8434a27d771b472cf04927659a125c7d8e3b5f684e51ca6dd4d56afcf4ca6e5a525ab81ba8eb651db73fc0a953bbcf60b03fa17d0fa4b4c57dbfd6542492bd816f54c6eb81bd7727b2a84ab882e1ff8fce355fc3ad1cfcdaaab6ac2f622e2c455334592720e033c65504dcf78ae0c248545c6b74da81a76fd7b21202b97dacd23224a3980d78c727270c80c6bf0c9646489614f643b9c7674feb6008ee4ff7281e77a76d8e0f97270ff5538adbdbe8502afef2e3bac080685af7af565c8410c06d08c90841d326f0b2d6087e19709f8b34827e9d235f0523b622c8b1e27e6198f9199609dbafc72c643a49ce52f1807e68cf0f3a02e83ec191e254a23a7569928baaec2e0120f64165e26de0c8794d25a73cb61fff5151558204901a9a3af31177b9e906a440e585d140c228c37da2f7073af410f1fbb549bfc62056fde0f32c6f4a7feca53057284d8ba8ea74f2ab52682422c4dd3b2fcbb0a44ed56992542407270a249ee9f12aa9be01d6bf97a7bcb462a896a34a82bdd5e153fef2bba7b1cebc3f0f7e06d1998b897322abd1c253798cfd8b4c71e649134b6738ecd9098650be51fd30cd7727fdb13cd15291419082e87a15b2cd543d09bb5f77b8ae2d6ca2f88043271132e59ce1ad958cb7c5affbdcaa2d595da769b3046b69c6fc6c606bfab4e7b9c907278bd476f58da1bee7d6cd5caa1a3795b9cb0c6b69d2fd9b1ec75ddde180cb5728aed41902564e28beb549b37feccaff4c6a072a4e3a2e4fd68c0a6176c0a927233dc03698d3d035849c19326b7271cf42509c4698de5636d6f01dddcbeb3600a24eb6f9e30149cd7ce73a2d031012419da644f2e13682b4b571386426e2aee68c795e4b6dee1aba6ffadfaf1ae7db7a7bda942c2f850f9a4b6bac0adac687a72342abacf032d32c7fd8aeaf4dca81ef36f25e78c948f5322cf7bd69722868a679c1cc6f5a5d766b1c9a5fbe98006b1476e505d3ec57fe3326705b41122dda272c3ca67b8b0c55154ebb5cd63ea813130c6f690bb52a4a7cbf547d1183992f0727897e7fbd57aeb2da1c388a7c799212fb5c0e3a8424a41fc282549233d3e0e1e7c9778382a70bea0b4451561868036417468bf4ec6577ec82605d5e5ecf4d972c47a71ec0c1ac88e62e2270877f48b7eeaade26325ca9854f32e68fb5712657238a412e5bf0feb751a0cee497160d527978dfd56ffd8531a29a24e4bc266c0497bf27ef1972cb10157c94c01a67a7679fc46cd12d81a01e9e1b202a8df958272bf9b638e2ef1208ea9831fbb45c6592627ec2e0b2f348c8daf9622fb9dc28f7280c344a7cca46d2a61210fa4f87e238ce45d630f0ee98caadf0b7a91ab91e072e04016bcd4223cb78d1a208cb8108fe9e6032e5627bc5323224016cf941e28239fd2b420067a39e250c36ae612ca3e800fa38142aa58206f3e557d9fac114901b249bbe1bda5e92a89f1ffed138cc52ad35b083c5c57fadf8f9285a0e9d82b3ddfb197d6b855b018d86c1b31309399820d1a73f9f01c21dc59f6257f86a5024f5b1826482ddfa9bc4582ce07c78e34aff6a447136569871f40a02efaa9d0f97173e3855aa17317207a6e6d9b246524c08223c952e196dbc88dcb85b3a05ae029b4839a6b5865171500f7018a9b0b3be3277db31aa0f14a77f128ec26a1492272b6933078027032e63c1e658d90af11b2b1eb20eb964c78f0ae0dcd9022ba14720dbec0241ed55ac14df7efe34f668a65b27529ed1138be075a7e0e8847379f23befc36af6e1631a7e44b6341decb5d0b73d0c62845397176bcf068732ae0c144e2f24ddad7d873f3db6039aa2566dd3b104544fe81f36aaeff039a094f1a5372da5217b52410c8c45ae2fcf1eb9d6cd71177ce46d31bea88628495d10aed4272c7f04c8369f691748218df2039bfc661c214f7f110af1e8440c9186f59e2b404cb228cf48b3980d03bbe8f7ad5941df4e28a7f8c9db3b03a300209b7fc1ae70c34a2d829ad427618456a9e7201866bc49b7603f7c4e7b4d84881d024e1d93472918bfd7835524030cfe061f0dc1cd7b44b309b92aa9c64c60bcf9068a1cb0a41c939b03d44df90824143479a4c6718c657a9eadb8de83261dc4e2f5cbab18d7280975f32dcddfd1a47ba0d46e537d419521937d9693469079d29358a4d220b4258a4a5f0c6ccbd6d9835928ffc8cf57431330a2e7b9e50b03a24d22290d65d04fc78b79cb0e7ef25899592200ae45a9e5c2a72e8467397f1e693ff74b783f707b8ddf3cabddb3c7f1fa12c7b4b917381c8329dcef3a50e2e363a436c39a114727e29d4e761e4f3efb39a0d8631dda0906ae40eb77bd0d20002e8a08fc480f6726e6454e0d7e77c38c506daa226ec4460377816562beb5b91080c786bc4df2b7228aa9bc857e31ae49ed1a4a4d9f9dc48ba97c14a98eb7887524c6f9d38af817241f49c5ca1a1ed1cec3e35a3834b3189354ae8d8a501aae7d499d93532c1c51df079fd3231ff8e1a863c86759d7d322919cf9ffee6910b7fef27ef5e075e6f72bc8b6e2e3ddf160e1ab9ddd12b5f6184f318e616b514f0ad0e69c6d3c115f866b4b73d4295eabd7a35a69983b1a73c5fffdb625979bae3c75f3720d89b03f472b5d30cc5f75ee9496d3027f53ffdf7c9b082c8cf5d12a8191e70269bd7dd5272e7ff4d9a2b6374dad775ead61d1f9cc3e8a80f8e8dbd4d147de650c7e25a3e2f856c83b8adbfea41adbeb3ef5f01de924949aa2fdf5e0984d54ae3a5213c3561c6e7bc82ae3aa8d2880c2a8abd6e748d138e1158d28954032c09ba72a12778726a493f1bd01a4cb711079f4486b96d0edd5e1bdd43949ff7ceb912f6bf3a6270ebe944e66fd6ddb38f8c581b4297ccc99e52ed93dfce6ddc4ba61a9e996e1472e38382242729dc585047db9179a7c0e477c43d0131664be6919cb218b1098c096fa31563fe8f38f8f7a4636fc98b8a3eb3cabf950e54870cce4d175d5b89171186b69761df1aa39253b7a893dfd816cd05d4e723ddea540071c773ac18298472c83bee97f2e994db9548206993907bebb7a28d6448ab8a785b7c92852a355119df13a665ecb299349d68f7b59bee22b8039b6a65c330437bb861c4e9500c7372d67f31e4508f27a2ab91a608a717293bf417e9944b463f41d2a996116969597282963a28d8bfcd23ab8e7b9adcec2ce2907955a90d4b2972ac895cc7e5b9fc72cd22e81e6c5bf2394d6237e0dc461b0e02018565cf22f2c319e04d2d4e8871720a89ae9cc06e74d212a396079c31801dc9c1dbc7aaa9c8b922f473781de4b272b6b33c75c5a544d023e4c1656b103e30fc9fac4da1b6c2b59cd77273880bfa328cb5eff4947428f6d10c40ea67ecc44c1647bc0a6328a45741b747d92ae20672e131de6c0718068bca72c2342756bd794eb36aa85068382e19c73eada0e76c723ef62442d2479274f5934bdda12ea0c6b02b865554f627eb8c21ae76fca0ed727234c000c9b284f3f2df2b4b89911f71396351a91508a91d8ef355297b84e02b869e67110a124419ec485b2c1598f9955492410dd7678007868902256c5f4f3c05e6e4723e604b96a869e7ce3f69bf856b9357cc31d30e38d962dd385f28562019017ef98ec47823027f57662ecca7022c57b6544e7285846c3d377874cbc672accce70294719b4c12ddbe7ac348260203ccb25b01e52d6919695ceac238b95565836450168876885becc60c8eaff8b393bee2cc3b25bf04239c1ee232ecd0520247d2b2f982c44caa0c80264fcf72e7bdca9b78d6edb4e6d2b0d0ce4522cb72b021ec1354e7cb02375efca530bcc75d846135bbdd36cf18f063a4c85d7d07084a158f07166d4bd9f7442b8b79584e27dc986bcaf7c42c275a635ea88731187231137f98cf6ece762a95e45453870a27e123dfd72ea757b68c73ed58a1484129c08225cf74d2f964df48841c57289043140bb93372c4076000df92a14be718725a1ca8d28fd8a3bbfb87beffe1f35bf57cd75345e979e66af0d19745eef9a444101c257903172222bd6a12e634ce5f95c75d40e901397f98ef075352bf88f71d008301a542d6c6940e0041a2f4a95d120e67af45ee9293ac7d55409c0f0a91420eb3d60845c1083b18fe4732e6c874466baff6bc839f033b3c164f27b4515d1684de7c6aff9c0e960bdf3ac6f47bbc18ec4a7f859b99ebf309af20ff60144946dfca0feae861929322a2533d3b563a71180e5a09d6d3725f54181f42ebcf562ea0343d3aa75e853e3c64c3d130f2de43e5cb995d06809290c71f4358b5931e3336e8ea2b8e88ac53f6a73a23bf8af3c72baac612dcabc23920e27ba6d3d6675e3ca170c98473ade0ee1a91e756fbb5c6ab95888f50aa95ba379e5915702c887224d4d491d204cb8ae6fe8aa05ec8cf6f4adfc5d6ed02c3d38f7fa38e926e64728323856192b8f3ff5d950e76de35ff37f55456267cc50104924e24621f9a2b505055bbcab5602b750f2a6081b0a5c4d92b69406755491aaf3ebec150a3338772ff04b9e5d6573788dbd879b357c7cb0355c2a8a65cce77d9fbf92b061fc2e209e034e417069a273403ef76be39651b09d78a4ea51a385fa81a921fa0eb1d8b720e8236b09987d1765f131e72d9f319701d230cabf45ea362ce2ca3f7c73b131e1b16971ec6d17a7f04daea8126a60e0230fd0fe26f2d71d65f67cb6fc83ea70498fd58995e4a47a64fff4ad7b7a3d3b1d422e6a85ea7210594b877f76b705c72ba7db96310e8125e21f80a07b4c5ef3f14865f9bfd1e96cdd2f2920febcedf0d9b9250e5bab240ae64fbe1ce60e31da962b27ae73d0ef9065e71193135fe40725a502df70dde0faffdab1cb1918f11604b94e1fbd5ee172ae65f18e4faf51572d26994e97c25ef6fc612b24f8b9631de71a682a33acfe0da9f44c597aeafe7729eab2b9875542326bf5cd0317f28816917ba51e9c17ff92e7e4cc058e213a472eaecbeb4ce3163322818a7e0dc4ddad5ec08650d54b0441b8f2ffa4c10e3775d27bf3c0d879f05632346a7f3684e27408a27b09555b063147e4cea7fd2e5ba0861a3c5213df0412535448c6abf311f4c4da528057a146260a5f0ab7c7b63a7336868f8b25c781a5743f7fb35c943f673814ea47583812d9d043f4485ac925c3a3f23d8192853d13b98430438c641aca302ebd460b7f05a1fba7442b41c1fe472bd63b45ced091df22e5569e359ab293f015208876aada67ab196d9fb13c31d72475d0d04b64bfd10064f99bb8f62905d30943a0078de67126acfbb9cbca0eb0ff8bce07cf0e8cd0892a8f1e1597eb48ecbc2c9953dc6938336a1de7fc589ac72f22dc4e0d4b1b584b34679b106bcc5938581ff9e7d2d64265097fe3054e9f9725cee9b4b4a5ce8b2cc6d3717f4ff6cefae7ebf36875e3e2b95bc285b8f9790727f515fc5385600aef367941b250fb3c82fb2418af6258b74b5291c7b946fc272cd7db498ace6abad9fd2d45dcc3c9cb420ca2828ad9ba15a9a1d06682559f01b785c35eb8dd48b034434ba96edaaa05bd565f60c3a4b5547fc4491cf17aaa37229f66322342db45223366dfc0fc8565fcfc6f0cd837cc3c5443c27bb49d97e5f360ce20e84a16ecbcbc056d8350d6dc0bd0886a2ea46bf203a15a2992ab46d193afe827613be4225fbedb35de109117b219c67c190b1081dea2edb0ab6c08872983b3aac1a78cb4450c34468f031ca0f8fedc94853b199fb5977d7d232f43972d057e719f986252c10e898db8a678f873c19fbe82188b948f6c64ceeb72fca721c820988029e9eab58a47abda923cf10b91252e05e0a4905c20355c25be30172771a0a9fd50807150f91ec116576627e200985e667312dfb87f2bf44cd6abf7293eacbcdd930b276a90d44a993060ebec23e0143ffb473489dbcc2891b56c0223fb71b2f75e174a55e1e9887f91383d3584ff5aebff413214ae97216ada1c372b0173cb6e5ddb61e622b79b9f65e43122f41fe40b95d666b537c152075fceb18558d7d76ac0fa3c3745e3b787e1d20eab7c5ebcbe4c0869579b29b58921e6a7259e838777b81d2b54a16b7adb2f98371186f903ad6495884ade05fa3fe429872b43f9fe8f4177b884c7018d9bec68ab39074952ed7795641f9256543a37da572a031c2641042ca181128fe18446e064d2f2a7cc37a5ec183fde53498dea4922616cd3d1a0612cdf9e7de503ea0bcecd97c5c76faf650586bfe3202d06a2ec8725fd98520a8669fbb1f3647d13d1f0433e10ff2144ea8bc24da1337a5dcaf1927cf5c52716166abbbfe792a92dbf89558cb9ff3a5a71860e99386cb92b88d0a48e6d1651ba47038f2f7ca061d8eac5eafde57c909681fc6ff03c35646d45b2f090bc7508c7ff2415082ba9d8b0d5d7328d314eba13032e8b9a1db7f6c9261745d6727286c11271117e75221887d527ae1f2d61e79c77a9441f51250a8153f2072c43ec4ad23937e9f0a25a47d35ca6918f84278d975e9e86b9da0f0cc303a75728bd1561dfa56e0a8f5c4b8cd832d56a844a2a715178ac6837afd7f732a7f9b1d5d3b9a5af2704ad9f490611d9851d4fff5ea0f5161acbcd64560193fcfdc6c72f812b967a700c45c11b00c7fb004c3d43cba3530e07e03c60817813b3c43497296d0a5ab5538616635f44ea62544f91cad209440b251b9812490f7d6f86bbc720171e35273e4669b24bcb5fdf27e1bf731f91976141e40aad6538611d1e3ca728213fe22eb4020b69811e857d7bda1fc24ee69da035099c75502405976b1e172c5cfbf0557b1e7a82e962ae8748ef058c449384dc1325b994d0f300e997a5e41e0233fb06e2ef2a53777a72eea8a54ecc7fe825ff64ac935f3f2964643c20b0deb16835b7830b2aa000f3e33b31e7982a5e11444cd7f697c165465b175b0054ea472cd699ed8878efe5599aea46edb8bb5be94da9a39de02dde814ebb379e272485f9e1ab7889626e820e00d71f9ad2b1575087bcbc0c49884af21422686f418d7243e5ecb3de8cb7ef7618058f0810dc9c622e73c67bc7e2a3c6edcfa76b369cfd92487eb5f1d533629cc24a682a1c22510c7001f8fec369f4187d20fa71a3e0c3d95f3e2e369527e9f200e82891b30374e16f643a80ed3993a2f0a12acbf723d87481d349b05ed0ad1f835bd00c1483e9d6410e36b1d753fd3e0c1f68d80729774c1f51f8b73c8f5ecf192d182c553abc2695d7a2b307df7dc7dc5ca53167243fdb92c307ea54c77dd46a25ddb62d0cf2f5b3d6df2366778c45ac968080272a9e496e9af72c6375af038292106d0be451e15936b9230e5782bf0405f7b9c72e6c54c2e3dd0400669f94571557c7aaa2d40c922f40edaf36cb8ccfae656793da311bf674da74f67a57aaab4371d26b5f97b87db93cc35546a34f9be6cff3c72d61984bcc983bfc4583958a639ad792bfe195a73e0cd978a4ee5600b7cbf3972fd05e58237b602d1e5a0313d13927c4de3ac8484910a0ae2a10ba8e1944549727f30153088f73de29487cfe8e1604ec25feb714829fd6bb4e0ab94e2d2e1d172c61518a9c3115682a1b0ffb95eefefa8e0a7d5dfe38020f827f509c81d85ef336c7ec980b899b74702560ccdb9f9f539117b08661f2b08723c034139b637f67242a008d43133cbe6e7d539d6622b46edf78e8c6ad639cec088e41558583e4523cb5373d82e96f786e39ceb311368116f3e23c243c8519432c4ff5d2bfe44fb72754d313b8a5f87052a4e5f638e1f431643d0bbe2e9974a61fadc25a6617ba072786c2be268b2c0b7423f1ddd1687e7535513f8a57b8fa09aafb178d53fdb2220384c6a07ff434f5eddb80535f31a3958d5be0a9a4ac12fe0009858ad780b1272674edbe63f969eaefc2928b066cd6750946d59c5a7798ad40b9b356ab6d09f720f69559de7a8937e336a17c4ca8bcf2b5cc5c70ca2c32b635c2dc81c15177e5ae1e80bb2e87920ef5b2c04024438cc72222d856c07562fec66660d24865ead729534d6a9944ac1060812835e775626938d126817bde636158472bee444fb9472e9440efaa96dd9d666e27f64bf84ea9cebc34f72b5d6d7947a902f71c72ef472d6acafe8c810cd974146fe8ec1f9423914e2d56969cc58b10f857d6a2cbb484645bfbdb2921cc3c921f077a12209212d3f019d22ac8b1703058b230db14143727ae1220b9c7668da8307f480e6a7db79e5331e168e184844b0627363d1ea1472d381c41359a6d14382253321be5bcaf233314481ff10f456f26ff388725997568102b937c8e7d0b7c198078198ed420be9c3f3879d604e75a702626f00e0617214c84399c9b44aae54c4921a10edb05a32e048fbb44ce809104c9ee3edfbf90b15b752675150c59aeea614cc6635fbe15479682917bb9c15504972769cfe347280349f2149e6a41e55d988b7983a7431e8a841952d3fe15eaace41a554af43722052cf3e6f07edfe6b356210835319bf927808150ed72a1d74668beb9eaca6728fdf36cc70525c6636670894e4c48e3f55b90242b39b32d9b365576e16fc9f7238421cba6a155386076f5de33c4428bb88f2d00c7b44a1fa44df00de3c802b2c1c0d3f83352c9f7ce8e5f37726e7a2cd2d7d67e3ab3143fa17e6e4303be8c52557edc34ff5b7435cb834aa747526805d43c66770f60c617d2628c5ea1579d23270b6ba0d08df922d63bae0d99a706c412561218ea01d127e5e626ccef3035e401e0c0badc5c660a54a048686130e7dcd581aa428dd2909d6a58d28d13ecebb722891eccd697a49b2e035a71ad6f396eb63f8660ce02ba87d79334003b28df913dc20d9d35e73cad11c617fb3c92b4e0263928b6c13dc47c9c6f22fc55a739050f9cbb556a2a4bdb9651991cc2bd323c0392abbbc8eb97c9faf45d2afd9caff7208c5ec5df76352a35814cce00db343f7f371a63e22708f39df5bedeeb400ab728b953d3af7d20520f9232004717cedfab78a8fac47659d961c652c819af49e10a8085559d61a4d073e863bbb0493fab58c1c93a370f132b0b2f70e29eccc6e7204c25460df0a85d497e39be7319ad87c39ed799e854bb24025af1704d13f615e359ea721a8389b337f64cb3ac348230c3ec7178409f7a379d7f8549e8a0aa70e5cea4fe0ee8a73d4a1c163dc874a75330612cc738cff70395762d0bd61d9fa728d5dadd417cdb85e7bca15244f4e610bad58a473b67a16adadc0d8325b08cb21d814bc00e2df6673634e47816fbc05ed2588da666c98085f67cebdc8e682ad5d3a4431fb0c51bf0c63698a9ff92a7c5dc384e369e23039aa86975a7e1b716d72944e621ee16256ca7af6482f00c1ed76ea737921d8faa3701324d804c9812572f19eb6dbaa6a434e70c2b832089661b7323b24daabc27f80317dbc1673072872822c20a9bf86bcf9730be57a324366c47ab5cd1f31721d938d568a4a59a3964a83fecf642e3bbccc7289687194d0e001f5b12f2479cd70fa5a6a006e155bec72368053d65beb99996616c52a92ee0d1a82a2b6d45204d5910a875d8d90d283725fab15291392f545fa768816c0f9e8741de1e867200544028a844a3e0e744a72ef2fd94af92620fff738d7b23e86fbb39a4b0d19d9dced96bb593da42d9282722984e85f133b6b887210936c7f5c1f8eaa4b08507dc4ce25ac39d4e21bf0086b6c9944cdf3fc0abfa7284f4e5d3027f83dd87b6d14bd05e1e5fe6469cf6e3b72e45cd147b4e4441eef74a51ae8f44442669d0d560a1ab75796fc7cf2092f0d72d5684b62c52cd1060172a4f243a4400634544697a3ee7d98db94b812fd63cd1c33a8f4d0149e437f3752462b3f52885cfa464ab2d2edda573e7d1f4f4e88a572282933881c55ef91c2038f3f5b85b40c95d6a4595a347bf68c3cdca16bcfab723cf9a8c6bf4c6b85943b32a40ec55fb202682aa411e8d0c75450a8f59fc72b390becc316bf551aff7c66e69c722413890c337ed9202544ede935c97cbd67bc728a05a7429de49bf07f210b53243672cf4b155dee6ea4b583c6695a186d82a372fd007faebd4c5b1b3c98de1f33b4370de6508d9ef21729817f1c3cc44c7c7512c2bdea88ae483512e0549a3b2c78b6c9a76f49cf7c4857c301bde445617a0372eb12b2e6ec1558e14a593e16e441cbdae0490196eaa50ad3cfcffeb95a45be72d9965b07fae2dffb2a60263f9196a66364f8c20865a717555cef3aea0219f472d501cbd228b34c0b4204f6154cf557bbc903b5db532b73609311929f83b9d07239051fd541903b4174b10d5c13c12fa4ff78c7a36d60a2b5cb366e2a303cc85281a068db490bcf291a804f7a40b8d85707a98834c3fba14524c60cf33b8d2c3552a637728781893edafded61e0a64cb7da746f693d04b862c55de19d01bbc46b4ffdb49ada1c8a66bbfff889abdcb90189824f653321364e9a367aa551dff072d4cb4cc979f49565cf624b2a9a001187a2218974c0b598fdf067d0cf7cc1ce271d3d98d89600404090144afe9542048810b8cc61a5a5bda6f23ada58fae944447b0fa9297f5360fdfca045c1538bbe86668cb8c7dd8035ae0874b0f0bc555d645f624bfb628f564e20ab639221bb76876660a3c2be1cf5806f90361978234b72b77e399992ba14d8f3ea77014c700fd5b0491df205cd385d44d230f9d64a25467eda4cff54e0f2f2ede2fc99e9a41546eb0618743614dcd94458d091262b2972ad6427ec25b8ee74f9a87322a6e64f83f87fd15e221265e66ce1313e8d0a1834bd48c0f627cd1093cb2174089b3733ec4b2dae0d7cc8c86b95f36ad057f2ba72aab68ed4cec706b40896a53168cb37435f26ac88a0857743b8eb57e8e95720723d4386c8c61ec47442b5ac6fb8ca2053e7f1d441a4c4b7aa7a60fa92c52735724aa09646246b304e134ed641acb9ddccba88c857dcce9c71a34bb59ce949e83bcfc9f000880cebe886e8c9541127ed148f2f6a92e8f952b71bb7c44e7e24b40177c6b9ab624c4ca52778ebe9bb1c8f6f696f580331e1edf7c297f7faf2b9cc725d31403c74d58849b66271be67ff870c49b69c088757d85b246d2ed2f9656c15f3d35ec17e8dfe906ed842de789a1c75c781647db8c0b7d2af177abba2d73035094c93e361c6a65d431e24d856870311a3b15e2075ef3da2e738fd30e974d272eb65d9c40c9cae08c1e321f877fc1ea639b097695de70b7b04500940656dff6da13c8a16bea24df7e4b8ffd0127cda3ff848ebd24b0dd83dd3fafda42162bc2100fd70717cd79ab49c93a72f62dde663d8582e7ec6e83074c04c56243fe9a072af4a0c4aeb3f150b3583399633daa0e2bc52a6ea100f7ca0cfc924b6c05ee97230553bbcccd8170a12cfd6de7b2600d67e9f4a22fbe2e850fb766dd2bc543072893b7477cecdb21280bf7c9421bd7d937d1cd13f499d3fb182e225cd206e2e7228017d1c7ed47b487639fa3436128e9bdaac515fd1f529b2d99efb4e5d9c6672ebdb3a5073c9470d53d4ab49eb36ff8989633c2b117943ec198ec14c6613ae72f5564ba9efa2322f5fa327ff0c531d434652cd7cd4ca7533f98ad6f1a85dce7208416826629b03b95050db8cfe9395b13424f0c9dcee9b9824466a9f323bfe722885541117de7c5d303809f96120c4c421e02ec0b557bd7b320100b3c4101b72e1e471e02ae7d67f03efa06b4ca19c2ba48e2d869fd29d6c0274bfccd51f8b724609354cf7e8921705893c1f4208e0dab14d8da2e56b788b34be219fe6576b43aa6a454d74562e75364a6217b1877abbb93f52195375232d6ee180d38b636c4ead61fe17ede5dbdbb258dea1258694e03ea95daffe555eb4566fe02101b6b872ecf8d09808991013c645e2d286e7d5c3378d8c9eb13fba5bb938a9d81644655178625d4008150a6511886725b5159116609ae53eaaa265da5c7f1dc866c9307201d41df9b6345df9f8443fbdc086915464d713dbab159268a42cff53ae72db254715ea0ec8bcb0f9061dbf0f3a9f61ff60d549537f2d7c89ac50b3f54ec60a7237859b813e9ef34b6f287df066ebe0e8b67209b280413fdf954e93d80aa09872fa4ec2307a38315524ffde66816ba2bd497ecba3306048ad993702261f2efc4074fc0875c3b3d9f1149b0560894a4ec31aa4c3063b9fdf96fd6bca05496c7716e8529c5bb26a5e24db630d049551fdf52c5f23f6776d746fab5d8d784f104b728c746ae11d011724b4d42665430c3dcafdfb8b042a524964b3ed9800bfcdc1727b5fce5d98b58aae2f80a85aedcaa5445cbb48fb5d38e7d6c055a396d7a6e0725dad635883653c1b70ae0378624c0fc3487df5a391c7cfd64db87242fbf52c0bce932af3d07776aa39b92c4d0bca11b7d5de6544df2f8113fa7122edf63787725fa173c64bb8488ec8b2c8345565cd48a5c641ed9e0dad46b007cfa348ea7c1dca9fc975a3d37a139390e3c3856509219f74d2b409c3ebd985ab94a950c21e727df7eb6a26927d7b2857de3271cc909f9e9b2574e9b93ea8150c16967aba65214d1148cd1ec062867c276568f17f930f1a20e5c9df1cdcf4961f035df18a6d20a549dcca5c37e43723aff61a4d5020a1b97515ed92a7b689cb585607bf063a250a1ad74b796d34b8485d751923302af6e0cb557eb6cc0fac854b2f9a3d7d156fd082b74805dad76895db26456a68ff56d1f55760ed867ea47dbef436e6b4742724069fa51a5efa8123ae0ee23b3538123470d7f933def1d6f59d133504882472b24dda5be2483882317f8bd9950634f745850e351d34208722d1fd9a901408662a2c95d789c069413d559b70f9765361080cb5052af5d443c4070e5fa9b66a720e79e81ccbfb915fcd2c7402651fce59f6bcc97b4bac6bcfe7f6fba3908d29729f25a240f51333a90f4e363c011a082437f49d8e106ee1110d17c6d36b8ece72b4b8b85f5d4fdf4ac68352947d5a218b0c766e67afa4766f904a09d9e53f8d72c3acb29b82192e6cee2c6bbf8c37f14f8c036baf67558454424d0cba46868c724a785772ffd5fda2cca79838e990ab25d0d57097148983ef13ad1a78dc1ca04b8ed729bf40c41ed48746c19f1c329b2bd80dae03273fd33c428296967bd04b721cf27f1d6e99e0dc41608f018fe66179fb66603eeb1d89c342368db7763bd203734acea00835c66edbc7ed95f2f7137d6e7a3fe83f790fcc3b79b3ed0bc6d872dcc1687028a2f3a506a04356ddb1e9b86044fc9b41213aad6e13c0ca09110c72f397c11cc45b1f7405fcc793d966c0d445718949dfa12fb0a2bd4ab6801a492e04f3c1e1b41672798d31eeadcda4e77dabf6de9441f1b30891f460d5abbcc372467a0b4f11086f6fd0015df3bffc80be81c4060cd96738fe599ea74207556e722d508a47ce567ece2d89166155b3970d6508a32bf8fc434cdbd8500db5739f7212779365930e40eba55bebbfdf9c6df657a91f99b85eabafc2952bb9a93a2e0f6e2657cfc577c0b01854cbb17e258a7cb58e2e3cd553b9daa7b474678a8b6f48022588ee1050346819f3124de64ecaefa235c3ec740ecd61efaabd2fe933f52e5597cb5c8edc4bd041d0a3ca868a80793c2892b7400f2f720b8b595c7c1c7f7243f9ed2544d1c0c87c9f94342a00c6ad980dedfee934585c6814abdcc0dcb6472f1b31f9dd466d23aee8cedad6518461269b137703eeeb1b359caac00a77847290dcd717d5b8ac25c20478cd4f23cee7adff0bea3f906527821756cb937a7272aa12fbcad752aac6754261f47abb9b5d5184c5c8fc5d3a814db58ec6bab5d40fcb6943cffebf0785b2b4e54c909b0f1a7f59e75927c18244c6f8604653f89a6c7d6b7ef61a11e6a41b40f8aff26a19c45cb70ac7f012bd8297d568f38205df729a50a9f19e47c38382a9eb999724c347dcaae28af178b12f8491b0beb796eb5852b3026d763c385846ba4ed280676c3472063c2a6a3120fc91bfab891707f23f1e1c866f8482d23a32030cf95f4fa8b9609973dd3590d53c5cfdd94e74db4f0b41b78a2a75adc7634edc2924dbaa6ca9ad7bbfb009288a02472c05b24d5c2b7235b27a1c1499268b197e16c7742b782dcb4d58629974a9f549577c433bc107725cd1b89c03fdea4d2cdb3dccfc1d9ec694688578a0ee5d6516246a47608a7472e392d0a1a2cc5f222d3c5fc6cd2e9219fb4219ac4c96e9b20809a1de94be32725fa914e04fbe810be0763c9b3d917ee17764a57eb8ab8e95533483459098ab50c20cf8639bca613e451a9d1d82b4f3cf436bb74aae6c35d1f7286c3fb06545385e051947a48622147f3c9bd50384e16ce56c41a0a8bfed63d0f12d27e01e3b7255a4de0e0e4360f3a795a319890ae3ef77e558cd0a6df332d5372e54c74b4a0753c142b5a173dea03c95d38fd878d5d23900253671500d0dfcdf513d60329272ec4bff32614f4145d7dacd8c465342666990bd319309458ae240efb783c2eb7294c662e0c5fd7e5456136ad32448d2acd09d13fb18de2e90b376fc8c466dba72f834e7c8db5feacf5b08e67c4bc73697aba5923eee15fddc8cbbfb4a25eb8c72d9f9c20fcb7d8e3d776b91b639121ca90401c31c3b77fb53d1dfae38a98630261da6dae79a48165f2fba9a0296fe5a6d86315128748e67ceb19d1ae429098d726357a87461f58237ad86d92b6d51c8058f9721a3f2843e43a000f058c7d410723e77af12b24c9c946462f72d245bd67e7ad03e156dba62ff6a67db0b65c17b72288720401cf72346a54be8e8e0235bd5a5013b9b629b8457d0e27a5cebc5f872550067f1dec903e11d914ce9332b7e9895328ce060b0b887c7e36d4752e2b7501e8963801735c813106adc0f267ca255d35fc6b45199cd1ad1e7c78560eefb72e1091fba74f45cf45cd0206730bf7475d6f954ce1a560993556308543d155d6d19da43c53ffe2aa091dca0ddc25496e96ca061467f6cd967dbc6afc539f6ce3849161fb20851e0f44bf6a0f48dc8a281a637fc62f4c2121b2fa4b42e756ce74c49f4564e061fd464da89f5c16ed9a6db6a1b4511cfb2b41dcf1cf44b4d22b764a07b870a91dc711bcc9ab49aa803690d3204cdf87f3cb97d955a066f080dd6727d6db178a3eee6a4941bc51542e80eed154a0ed23920a290c1757f8dd56cc25bdfa097ac7a5e1eed97427cf3b91656adfbccf32b3abe5a919ddeb4c07124fb729f41d36e3677a1352536fdc3beab37aaf9b3b61f4a1a4443a66cd571e0fb00720b18d1579e741d1a738bfe6bf8c2538f2e32fbc04b309324f5dd1b495471c97250c3fc0bb62927183aefbb1a4395726832f41865270eec03c2204aef9ac215273bded26bb247abbbbd5fb5d9e8cea11215ba16766e3eafeaedaa715960c9642b90b7967053cc37c33712b2091ed976f5a8af21e4d5e18cad1be2aaa5368e4d72f837d7a1e3dc95963daaf79aa4618702d368a4b9b10bd3e0b8e1d1fc65aab0728d857f1108d75399241e12eb2a0052f3282f03de9c2184009865186aa0eea60a255334b339385480c5ee6e8e5e629c7c25873b1341682173d5cb399b764141723b21a9fc6d746fee8633a43f85fd3053bc27ae5cef67548aec3075b343f14a72db715238ab38a2ce90eb54cda40e12a2420be285c588ebf7c446ff7917d8ed72dea22f49fe8a19c8f14cd123f23063a2d4ccafae77e279a03d66ac07bfc6227275825a8b47f0b2f7d7b5a55fd8ce09a82170408203ff9261f1af2c07d29dbc1de53a1527b82dc03cc1edc983f6271821a34db9a6ef15ba87b955b521fa9ddd727e770132ba5d778bc74ac1ec5f64c5c3e2ca4e0d7c280b1ca3f99b9a10604c299aa50286f2dcecb7e8955bdb46fd7c2dd8ab4670b82f6675301aabd1e0997b5402146acc76c0f0967f1e018e0280bbfde8f2e265126ed818d29fbc5e473b265301a4d8d280e4f3ccffc765585e668c246c9881c607207aae0cba7ed023e62314c5d75231dfce3a238fee92d1d930cd5b2e57b63a6c67507e3a89bef06976397266de1fdfb86afb39ba6944970e4482ae448fdda5ecb1654c06c129b59fa7e520a33422570e52c02788992c8ddb6edc777c31a817f48893c55b9df198a642bb2e92685779956629464b2204528dbfb993e27efbdb98faf71add655f0f76251433f7a83097fe0b046a7070e88ccf635cfa79baa5aaa9b368b17d0471dbe8ca430ef350588246e7b18643748273b3e8b6dbb76351dd988a6e8acca86d621edfb52956c777c6e1b5f6704d14dc7ce3ae5d80b032d0e0f4d42b97f2faa776e7fe53337a2427bfb09dd508218bee7986f95d54ac6cbbd798a8fb3aad68e3136cb4c0723c5bcab2377876cb29acb5c0c005e558c4d243ce5b7e5d1a046b6c36b2f5b1729639dea307ea18dfd5fc570de5373be035de4b0d9b4bee58278860d0ec1b6c72081ec7f9afb30e17b6b092a96c82e3782fed9ff821268fefdacb1c6466bdc972a5c7efedc284e71814f5caa4c41c59050267b139dac2317559e3fb112b26e46672dc27ddad2af46dceb5185fd24998c7d2902da05427dc90d115e41c17b3477299a9a04492d64a9c34a7c1d840e4204927303b5fa5b7d8885de37f7f211c02531287d5a983e32f5f634415ff6af0642140f45b557c39ceace3b7e2ae6718c0041238dfb1f13da5e7169af9316eb3aab3f374ec697ddd1f82f2b75c8ae4717a729da9a65f75b0880a9f6a67c8f36b8c79b06236bd964f399ecec5acd95cfbd76e54b446ba404291253ab7c8ca2e8d16acb74b96ab95b75c7392ed5b3f0ab3af723db3771543f99d5b27d39b7224243e3a977c6bd273bb33f9e3f55f0f5e0d5e048c318995a3da58333371be944d3ac1e4141a5dc9bfc55eaa00de469b20c8857297a8ebe775691d23f757f6f217f5478732b7f04082940115062d6c09ac6a394a31d5c3a6f4ed0937ff5860123d8f837dd28029fbb7b666da5055fceec1765306e785a963edd0403ceb3cc1317d755f9cf184871660153caad5d0e3b2388d3e729364a25aad49fa74e67d8b61c881d0301045894878a099213c0bca6e4291687288729855757e5fb18cac671fe28baa479180d51681033aa6427fe964935d4c2f8a0c1420175b7ed487fa5df48bddd4f941c5c991d9dcf60ecc6d024511e05972e8ce36c01543dc35953d423bcf3ff4550f99a4d1b1702fa7e54e15cc85816a51e2a53b4e98d811df9c54016f046ffe591b4a36ddad8e26fd421e998329718472b60d49955639002cd2804f9dd53c6a374a66232761bd202854a1ac0be1cbd74f4ed262153c603a4bc141e93eccaa90c41276b1f1c672fad7065c03f70b592e727e4a2b1a40d7d8b5994287ccb2237e1778e2a9441c75e24dfd01c4f6cee81314e66d70279a51619c71411c5500b22fb863a46e954024070b1bf9e1a042afee72b8a6692fc22b0831117922331cfb277465dbdc0f32e69e149cf07baf0d22f7079a5f1f49ab805531eea8ca533a1a2163ad2583cd696a6d913f526a9be7ed2872b8fe162bc162cd39d4f9d446c66914aaf447740dc6192827df694ff4b1781c72c92c59dacd68d1485bf0e0c52142dc80eb6405c82ad6a7cd8f5f9ecfa94904729adef6ef6d196c956e6ea136539a10136c863ab3775bb9a67e67724639dc553900604096296e1dcec844240a60f8246100350ab2cf1cf14a724766a9a85d984f96f97408eb37397ad0fd152db6a0dc50e557746a309fc86af8cfc6f2942408635e45b664148bf4759cd4ceb6aa2afbed57c18ffc80f0a84f521952a267b679724f637c78643e94d514952031e3fa2c81d403372c7357b390133e3dc860b5200b55bc05bba389ed316696080e490dc1cdf69a2471b73f9cd80f9efd96bee6dc72ff66a67a119d95d8723a0adb6520da3d87047feb3a6db15e93ce889801ba9e722dad54b3c8387a1b87191b5bcd5bd410c36cf8faa08cb394fd3b4f41935417206456578f871ba13f1ecc1c2d97e80a8438bf6c6e27ff7396b5f395b22db2e772044dc3e365565a551ae85cf523bcf6f3f5acd8c66c0b7d7efa0b683e0cfaea72437b57a4480b1e659969c9ef3cf88dd9ab7c1c81fce42391888da89ed4f3f63b05c2c98b8eabf28347c077abad66ca70d8765518247519503dfff6dabe42672fe3efd0d406ab5955f19b93663c40d19cfc754948db98b33554a79c32c89d7f1bd8eed3e786f263bc93cd99ac1de45d2bfcf3c4aef814302133ccf77a9c6acc7242e0fa830b85dfb8828fb492c4c4af142449a5f94cbcd5c703ff9146c71b3c726c6fe54e76ca4a884bb61a08feb38303f2ae3ff13d8e9079aacceac7987214724ec0a07e293a23f08e2618cb643638a789d1408ad9fc8332fc8a79d1a1262172645de7d51fdb227e8065cd1f08f0b0cb363185ea96649a8f9b5fa2e1f8562e721417fb99f89fac2871b6e342ada035d3f3ed1dc39200c7956c23dcea6a720f72ab9177d651dea1c7878626f8dca7cde5f7e22f0d270e5c3dbf8a74ca19a3467298367a4dab6b144e765c62cea2a840711f42f39dc332693582d555097b363c72b22c6ce3ad1ad9274dc5df2febb3bc0e6c14ebf1238560f99ac6f6a462ed2672aa2b1702aa5f3574a9dd2b1b4db8a99df3bc8e5defe8ba5fbcfba94b28710a006d07808fd3ca6d834791519cf74dfdea9f350f2a1e7a587859d259187c3ee86e0405774221fdee8405be977fed452f3e16814fce196e9053cab30e655d4c9453f649e9fe99ebf53594558b81d944f4c043f08964ba2b7d5fe8c4ea2fe91c0067a4b633463d9e33a67fb2993273471dfe25f0f4167d1dfc69c1d2604117c76c3640d28d8cca412077273271493516c528112456a9c2058a127bb70da1a60b89568735f09feecfa56767a841f062e4c080a0c0dd9cdfc62ce6fd50c60c6e27255ea2ea98e2f5507b0645caf2c8cf8166bb341723ee4984a7db1134d26a787bdc72d0158782049bab8543b519de59d601e3e8355be5a9e5c848290930d0b9e23e72d4ac8d7bb18f9c2be9186e95fd91806bd57f5f88719abcfb8c8168f1285fdd72a286936d09189a0bc82abc2cd916103e7ecf5a8563b2c5d04fde651f13948b61d0272cf05f82f2c287411f192986da6a9f55a810702e11ddd115af5ceec2bd2016d5330222ce55b243fd2451ce6d058a3c926630e3cb110e858f9236dc5aec729c485c6bed0af78a84dac61d19ac215113cbb3db86f00d665d93c03b0367637268c778e4c20aa876e71e1c5951378eed61e0e0dc6cd5c576fe34813c59292d700daa70159c432d0e77aa2fbbd8bbc957d708d55725366432e0fa912eb02a8e0bfc7cf1f72c5452128c3d1a0abfbca732b868005b7ca07879134e4f9adbbcfc2994a94a12f284f48d56cea51d5cd6666abd9e2544ef33bfbe02f0a307afd11a725c7af6f8af5b4532b7ac11a7591592631906e91462466f381a0c83dd0918275457010a44bb610d0c7e0b2d7fad7114caf76cc421435727d3cd2ddae1e74ce872f85642e5b410becd00922ab64d3f574671a94e23887164a9f67d410a44ee6a727b59a274de28be0785901dda9b819e9d6974a4f2758933b3b4f369482d03ef720d557eaa64de555016728317a0a3d7c719365316b86753062d0759fed168bc1a76d43399ab8ab16e5e38fcb0e2acb34a951b7936c589c7b8b8f039db3c16c30ea2f431c56ae74746366556e18d90c2d3b7ec084c84a2688fc6d531f2a91743728e1c281e356c79b14a5f08e616f10b88aa5136153e799bbcde8e2c8a7446327231f9e1c924bcefd701cd2e02299c3038136d2829847891600fe81088a5a474722fc7be4f9be57d07dc20547afe95be6edf8f61567560e8347c8b25febcac580559da281d9284e072d4e20dd35ec29544d2972557df7cf52841c7b8469f447c723334df1a583288860e4af286ec2565bde99c2fd7064fdc1565b51c51e4ed8b3a3acd3d1eb19c606620bb58b7fea6b458c516ffa481f660444711ead32613276f63c60b685fb25b86d0a5304df438e8d5340c801431c1a2e91d921f1220512772f81370be48b67eb63430fc0a0a75d4d33e4191944e71307672778bc6fd75bd58d14876c64df2e6c328f4e068951b8d36db964e564514110a454c2eb7f13b9772450d1637528a46034411a08b432a9b1da8bfdb55610ef5fdede7c34164f5d85974f8aa0c012e4e89008b89df6303fe0df66a14de2de1571ef7063416edea294367ab85a6d3b2acda66a42df1ae7116315f7e99e60251b5aa8abedd290dcfa0407518fc184a443099f504baf318e64c21dac226e038e082ab7a1041897fd8a23cf94c87ade82786a23af1cf3d167cd429ce4c714df8c7541aa0e5d6ca74ca9e70624432a21bbf355a71911051c569567edfea5178f85578b3d7bac29dcb7ca972c2d822d880ce860bc32f3fd41885232f5d0215068fba0e655061d6f17cd1b1725b5c524d323300ca4186d80771fb466b26233700cc88a8b1592146f25b4ea972802d7cbdd6f6f8efbb347c1d6068f410571af155f9dedad49e175aa4ce8cc572bd0fac90eb12b439e0f2b7d77e595bfb5569c4b414287a8a0d81aa6c791a5e7211e5d8c7872d902c678eb610f66d827c710155b256e9bed998a083f681fbdc5572bae5213a9335ac37cc52bedd2cd96cd632b6814963348ac678a251382ab072bf1c336180304758a6f51c7c78701abe009045fcba0aaf45042e9890fda4c654c80d83258f288b8aba2211fb7089cbc674776335114719935bbaee793e430b63c0cd59c804f979af3f20a1926f3c0a4e0761ff6f62bf3909880792c93035ba72ad81c76e2acf3856a7f55c7ca990742b58b0845a85f0b02bc62d8ab284b7cf7249e577678037f9675de728d6b0fc1ac708e34fb5ccda781c0f5d4a1c3a19d572466f5f3d554b292bb0b8b0c4bbf1a382aab7f41d6ec9ef1b74cb0532b0470250e7c3cffe1b4cdaa8ae5c22991389531395ff039beed4f8be3209585ee17ec47293079185fa667359e597dfd91d97680de22ab9a056872b1c2adb19d94646d372987bd38a6097b66f416672a01d005c92b37ab368eebeb1aeda5680d008cc3571fea2500299a11abb99e414b60d57f6c1de7123bb6aa9244c15f0d9d9b9f7fb72018c1727e698a218b77d2dfc97b16c926443dec62e23e616a2a7c85bd1223851dccfdd91653965f561a8a16a2842c5199f1d0cddfe749a0fc2f5a84f13cbc51c7e0a66d7cb8b0ac0d257eb1425f2b16e531191c2c3d5c9c6da28685074fd4c4d0d43c6995413357bff4f2a233f4ab7c390b5b01359c42c88e540a73bff322172fd91933f5ecab13c4ef10f798b490ad8ed9e34a78d68043b29103bbefd49511a2be4bd7bec2873c6fcc88fa83848d0a982151ee78940ab105f29cf18242b782874e735d49de5d5e668242a33c873afdc20dade42a9addc87ab456084176a3372a105e43e76bccfa91ee8fb32fde987cb20297ebf21d89cf71fe251124a1e711053e2d826cf0248fd5a9a73b3679b60fa8823569b5e48e6d39831772e300405728a2b7fafb92082a7447101c474bb431c718a698445f87f732d0f97e2b022874c9d3860987334e0ffc7b1e0766e70a6cb4f5213a45b1b38b4b397808e1b339972ac0a249fffde847555661636823f7b385f5e5ff887d4c2e9ba9b4907e65bc1594d6102aad4d8d06c739658d0180f4ad4990ca8c8fdd5fb9636abd52223172972c58e0e842a9326d17c55ea17673e56ab18d9a73fd3e158d574ea0f12386b6d72c50ced461afc708cff55f6422d0f59e9c567db8b2d5acb0895c5ada520065b7260d653327610087ab76aea87aa8693ac8a1190fd049b3c296090e102e6017072d6274b9302f2e7b1eeb056d26226b16171d774c0bcbaaa4b229fb2ea0fd420727b340fb1ab67fda4114a248f759871013841140c14d28a7673b9304c4155b972309e65227f5bba9d95967ecc0f5dc2ef472463086c478f2e471ae1ee755de3657b1b5454ffaa9896140482e50467fb7e86e4bb699ca09e3fbef9ca63c1a6c8721f8bf0c6d8c9e6b9d6993f6dd03a8bf59f1ad2c557096b93491a54953d915e72e2560406bc01875ce1c51ec0685987c151a0a9683b94c2f20859ecb17eb21372f933c9e83c75a72247ed7184af6526d8330a60ddeecf77236f9ee41fb5e3687298bbc6ef1109f11ac8bba20bf47604a7cd6ef335959a5a4b334407a1736e1d720533ebb022cbf6721cae299855e043441fcaf1eea8662aa3222505a288091525daedbe8dc7a8dcc2d15d083182f6f7a360811935bbc5cbca45e94aabf0abb672e29f0202ffccce4a161da4379d91143da7bdd9f7712f992ad2597511f5a9b462661fe820c0bfb824206cb15959c027470a14dc1bb5f6f69a112d71e24bed6972edb33ebf2c63d4334b1fb50661829104e67519714d1ad0ccb1269e39800280289116c9d5b6998f458fae2bda15d82a17abf955a0f316cad8bc5922bef0214e38125df62e3ad7f55a9b2948e58b1c9c02e8e845de52035ba538d582dccbdca965cc878028fcac6b5cc2d01b2e355a569f8e2a9b81651a823f39b5798404fd69594fb1459e8b034032fe19175dfd80c1da7a5260650e1d3c9e39514fa9a178c372c926e18a6ccbae2baa23ac65bae943d7226d11c2dc78b9f784ee2d95a4eab37253b376a947b09d039e1008724747c5dfc05583749052281d1b281acfc1e80872254c22d2a16c611f042790c44956a1cf750af2baeef48020481ad363407e8e72eb95beb3599830749cae74ec3bc20c1a4f15bf377e86a8f91fca79f7406816722f68568709564d1e277f7bdfbfa26f7e86cfffc8aaa8fb8459abc5f7d390377202c47b147013be95712b74eb653eb83973f1cbc8de33a2375caa901b11122672c228957b5b10b8cbfcb8cf717a920355444a57ec8cf7cfe58eaf279a9f3b9b7247a2c0e104f9e7460872181fcad2f7763a6e20318ccb4802fbcb9afecb86a90591c122c017019aea5252c7a65ee7be59161d07c8cae3d71f305df979f42301726f6b06851afcf276a3010810d74d3f12590254302896890765bc9414cdcdad710ed35300a30275be5b710c9b08668ba78311f11b464bf7bbcfd121ec79344b49f2472729de3fb5d51f62c360fa86dbc49e71bfb5ac2d5cd4172aa86b482bf0720aa7942b24953d3d740259183c71b98d8be066aa8e080440ed0526042da14149eccfb0213236b9b9569ec6514cdc053f2b2713a0886dda8ecdeb8ca413245b5b6aa2e78beaed809f8709b3d5c47035d1a47b41da6ea058adc34b1d1d98dd9f721b378247812e1b474c2138b26e6e8b82cd9d4a44fe1a02d8c6d6fd490326f0720743c8562f5b30ffec5d75e9bfca3658a14ea869e1c941297b3d706200fc3f72e305f8430e1e6baaf059b0b5c2c4a9440c637291140b0d9fe47db44a286dd44104d0aba9d3f2bbd111506ef4c055811c9182257ee950fcd6ecbe124f62f95a448b5897e5ed32aa592f719f08dcec4eb5a27e339e6a351d8edd66cc011e820d720844cd7d8b152e6b7527ab1bb6c6f3784bdd2ed6a7190e31cb3fc5f12fdd8132b996641c0fa8c4cf6b380d3af35b58f2adb009c1c220bb4cbb4668c44f37470518e12e03f46f592c3b2c56234a97598c579108709665b13ee7ef2c3d773a0b729986214cb9d0e5ba6903d4656bce9280e5288ccec591fe4a47cc3d02a2589d137e8e79a85c3f6810f0236b0b23a941ee41d088310838aed0fc5eaaf49dd71915d27742c9455522aec1014c2601b79bc5ed9da55e2ec05a4a1286dc93c8a72f7244273401c73198618f67d0c2dc0c677edf12d6e8ac28521ffac2eddaf9e3c324f09f198c200ac27d32a7647ac96237334e56a262f6c17b5b6ac54b1282d73c525887ca8bee7d091d008858bd9eea2dcb72463b7b0b7bdc94b79ce9b79c57467207f95875e99ffd30b57d0834a0da0103bedb440c2a407ed54e59f189001320332e05aa37438405f7753f9208e3040aaeab5a93c22b1fca1dba7003ba6485875a0ef6d6a921763a991776ffd0440eaaeaf241fac664a6026193c5f741de554a48b00dc1f84ac90bf46503834f95f3072602717b05003537dfa76db6da2ac46b7241e605e99ff430db890ca0a231ef78f2a5501a695372571fd6646a59fca1651bd14b8266e0fa18bf4d1fbc81a17f8f92c8dce4e4d6d6c571db75f121fcd3997252aa123e373eb54f547545cfcea75aaebdda298988a988894c1b893045b8f91adf0868f9ce86a9287851348a86f763fe91e8648f9e0f625213e0413546ed56560903a20535fd784de35648790dfe9eae1cfc32e5b83322b8ef749289eb53bd728dfeba17fcdfc96e164a81fb14bd778c08b2bdab14d9f4a86fff164a4067ce72f5f03f05519af2a0c5d2b1f50082be2ab8ac7cb3e7d19560bf6df2eae294686154a0e0305cd07d4113363d7cb82da782aae5f3a346fbbaaada8f1ed35fc20f72b50c2fe707493a5768ec9c02f75607277ebcfff7e87f5f5c1afc1db36889f572521cd116f849c3128fea86d523d9c06b8c2e8772b617f2e9c0614bd03d9389288442c0c1620ea3481c68c6f35cc3eede93e1dc6ea2303d4e070a21d808225b728b19cd6db0170f9177d7ac59aba631c30cc611a5c9921907577bcae48b4fa95be5c14f29723ba7af26b6b50a43d7b51067582d53ebc8152c6c1181876072d0724ab0b0327a2a28c3e313c3edb9d14b4b3cdf45af0f798a94e5cb122da8a2d872465b1e49ad9040081f9bf9db2544ac32914a016296cdf00ad90ca02d961d5972be90c409c37812b0a50718fe07f988ef3d755077f5f42aac30a01b39f4bd597278b74fe711164c6627e05efaf0e6b92531a095e9fd53c1b374f4a6c19ea9c672c69086616c793a85f1f707d849339a907fdf0d5e16270d13a00bea4959264e720dcfbd09d98a8a7587a5343bbf5b49c81dd31624a5cb7fb3d2802948c6762251bb54277d220714b13aea5d1c737d4fda2496800d064916e86826b62b1530990b08aac3e68884969243bbb296b4bac61c7beb7aff886bca47ee2530b2b6ba3c3d336b0067c88d6bd130062a70c1c187a08f73e86d8f8ba76bd387da5c973ee072e31a0254ec5c2f1c3d8773cdcdedc30606ad1a8bbf1c3f51f8d3da0c78139b0c7f581b873dddad95aed3920b3207f026371ca153678bd6a4833fd237b5827b727921b9adf21f9acb1c16a5b8ee19f29deff5e3b34551aeb9ba310679c81d5472b04f0f57b0a37dcee58a06a731f12bcfe23cd43d78c58303809188667f3b235818aa1eb58ed7179907e77d907b50b85d0455592db801ffedac60a437a79be87264dde1100f6733101dd3018849673d0ac23faa924a4735b0a8d2b16f75d0fc433681ab6b442c17a99f25b2501055337911bf0d949a3a719ba3c998e9c8e2f72364e72f47d80b5c4c5c1538a40fa8d31cb085f2cee611591b71deb1815e63be72f8525f5cd89b76ab35028c738287a88e2d61143d9a8af0aa9ded250a43f8a02044097c42cc8eafa94bfaa157078d2fc7b0db566c659c6df64c596e8a3750c11ffd865065f91cedaf1950def36bd033bbfb065e1e6d8bdf97c41d7d16e617d572d208a8d6fac167d45337adbc63f681a0ce8ea5e22a6a4649db1d6abfa7333a727272e5b64c7253689cf4aa999297feb57d24082549a8e875015c5cbe2de5fa499421d9383329b097edd204723cc7c87306f6ff7946c052000fb17afa26742772900e1ce6e1b38d1939cd08107706659eb8a5a1839497f5075c22d20b2065fa123e8293a156b7f4abb370372d18b2217c7d6d587e0973fc8bcc0095e136012d72c285b0f49573076c765c2aac9c24f6dc69203c73fa385945fdb6e121888e43312f93afd3e0d3173a0e5b69076bd416775715fe4bb7fb1e7133dabf6dadb463725c93f4342832a48df0248d04cb2efcf46e0a3501ce073a5e717076185d558661c79bd2e4477c6227571a321debaf34f54907be07ec26887dde8922450bf6136d7b77944c0d79a4a458e31f8b53008b014d2f1843490cae0c76b3b8e495f74772eabfdf7dc942e22a3d94b7b343617e37fc98cb66550453225a0e300f3dfc3101c6454b208798da3eb90fb6985faaf6f4982afbb47b8e33bb57a2778ee646d74013ecf3408648dcc77441ce7af10aeab18473e9dfa16fbe645a02178758b3c3724ce12ee631cd0f36e8f32961346506496f84d9872da0143df53168de14618e5aa3f453e04ba97aba1bd2e9e8cb375439291cd08595c05a360997573f05b7be1a5ed4994241654d11b9b679ae58c228ec4f4619a96fb6b41645d002ecf313757278f2f8d517bb0e52bfa4bd1b1740cefff339a08884bddb204c5888babb47ee72bcbf1d044005899591583abf7fe7763ddd1162bbe82fe25e8aaf67800924df20031f93bf0b6233cfb7f2848d54b100614ea91f5a733740bd55106ea36d7048050e7504af83a6f27cc4b9ff8eaaf2893e8341bbe479c6eb46b10909568ab21972089aa9116c73d5e28ea445f391ca657a61b64b68d7a96159c8d5c6edad2efb72ae87a9c0cae1a8f1d049fb925a4482a6b26e80fef0830024d533cf5cde282772408faa85d364c2a2d549b73e78627b364fe94c1361ee8c5a81ffb93c1169011216b1a3362dc0cf263cca864a75bd6732f64302292b3a884bc941947b60a17000de5de1535544cbcea044cc55ab7a0bc2b792d0c6c2bb7508e91321607732f872a7bcd487968215538281fd1a57afa58db84021fb86e87cb154155f33def85472f42809fb02c06d770d7b67119ea9519230a3294313f12b5f42b76005848a1f728d0c2bfc0aa42af8a712d5ee7f630733b9c26c2ee78db85323e31d91e2669560d4abdc43bc21275dd5e62a55571334fef15a3488caa95eec2e82da7c48bf533a1a7c99d953933b5e5c564da6662ff7d257f4fcaed91f8a1224afe65eea44311511d25705a0350d7c8d527879068b1ba1a01476b1a84e3797db84ccd7f205b4722a9ad8ae0d5d9ded91467ebee37ac1e6b04de05da607823cc62af2488ad21f1568e324f9272d62bc8788c720ddb215b79e223b9024106c4d4f4696bcbe2dbb72fbf1c80b33c1e5765d1e8c351fac49763d526518e8f6159a0c1ee0c619954772b53a41f0ce0857a0fb8e54b1abbe74df3b914bfd0bb1daa318453024698a2272ae8a8f9e8490856de3234e57dda7727fbe766e790e48f06f9d0227d5172caa142ca284a48f737737e7707b09c21ae0806f1c499f695f09b84ec2ec39ea690e72cfaaba8fcf47654d0bc60e51f5419ce69ef0ecc4edfe31a79ce723cfd1f81809e173a17dad25ee0cf9d58e77f7db2dd84091ca761de7ff6cf0f0555a3cb6cd72a087c594e432166f2500d8e83b20a155bdbb688d0773774563bd03856eadb1722df3aca10e16a429808baf9ceb31f0f868ad445b15253e1cfb025f5c04f4b8599a2288d22bc0d459c2d40a084358238b910dd9fdc145e0eee3f617e0944917723ae78f91146ffb0878c82c9cfaaa816329974971ac5e621fdc9080b0359619087d5d818af76347e794a91c5805da7e76ef66e5da87502ffa5ba626879533da4da96751d5ae26a48dc8a5e7d45625458d62ee0f8a2d3a356e3abe190d6719fc72ea6a30c7a683847635fa6f8dfbb51b38b07bf49045517b65f310686db46f0972562b55da11ffa3acd9244554a5c3ba05138d623d46967c326e354d018cdc9452464d1ee18e512ddbe53052f45c7eaf5825c6ea4bcf098ecf616c82194ea9420bcfd1956987f4485a0c9ddbb578aa9e5aaf65553f75ccbe6d09b822b7aa40b6197bad302c07151b043442ed1d24e8868370411fd843db53167c8c22e18251c272691c10f0e6a22a7a4e7d3bb0cda066293bccaa529c9264fd436568b140298f723e76f5ea312aac0cafa3f4fd010057d8de7e8d180f6ed4c29e397482de222d3f1b2ca591887c896443491260771799f191744e8d32537a412eab5bbc046060728dbe0cdecb9a252838b42a53b1cc17ec4afffcdd5669436dfaa29267103af872eb4c71bd7bc62735e9070dc1fda32339617cc0d405f8cf03611203c4dbbb7072deb443d6d85249f4539351c775224ad2060af942d29642df85730a8587343772de417517f7af2052023a5d2c700bc8e9832cc2af54f87cd7827ade248bf81d6bce5cd2dd07b144274cd22678e43ead5acfdbf287bdb7be7868f63e2fa6c8214cf2331bb6680d43416cef83f6732b3bd74bd9c4d4c6522fe9684bed1dee5ee57276f7476a5cfc928f8a674c90891ee09ce0bad804a88337d5b1a6a0b550690572e758aeabc68c592a67e12bcd1c11cf596acae4b8ad0046c8a6668463058caf3e3edd405828d685f2eb6be3a231042d271a5da0d9c30119094f8b08d1371a14726c8a3ed3b103664cf0638ba0722fbdacd026c8a88b5ff1f8ec4116f83444281294d39bad7efd9505abb696f590c1a668d4d988913f59cdb4b54917295a53cd57ba2b1293fd1b868a6995223667c3ffb1816093d32a8ba5e0ac7b7b0d97094b7256318ab74ad90abddad2d2fa68dd71ecbc50488a810e91cc02cda0b2499a486a33188b95848a0e1d7e687a864b545e9fc7ad19ee04169ab22b110dec44990c72a87253eb1f3d6a613e25378e82327264f2e0ac5bf404e5367102fadc67982c7262495a52a548cfb1e1dd9e9e25ed9c7b358abb419e39374f059ab5a617cdb67216e97bc68d676dc5d1fa68dd6e15dfee4132708083d294691849e44c0ad5ce72ecd4d98e0088ea7351738a27c1e782a0007f832561c00f9736cd2e079226ee7290241ede6d95860ca38c496624a043ad32b73d7a46573bf1cb8087ebcbccee72b97cc94ce62a4c5c3f9150aec1cf9afa8b69aa39d60c00dcdeea62c59658eb726fbfe9e14f87c8e295d87e986bb18d38cd13a39efeb0b24dc86967914951c9724d9d12cb9d7e3d913d70348c6944592ea16d1f39297c073dc9a46a1afbc096365a0ac18b85382ceca5c149ec2fa62d744a63824cadc037b06e74f8f77ac6f572d13bb6f3eb89a96a2d4cf7399f88d51dab36e2f95cf421e01fd2c9c1cccd8e723ee1c8fc48095feb9115e29839f91a2f345753c92ddc12ef9006f7009adfdd728c69af2d3fe2509d3c1ce152bcfe06c8a7265d3f3ee9479241ff63a9adefd5726e2b0c8189c3f6dee4f7520c43dd90e9115496147c1078c22c04b9eb1eec4772d7680117ab14b6c8ca8da5ececbcf1905c3cb41150e1e38fa661ed92435b8d72c5f080fa884eccd0975a265867b768cd2d58955ddbe9fe24f4c49f6bf710c672aa7bf4dc4ca49c24319a4662af37c3310e00832c0a559baa6fdc975e7d74c7500f38c7080cd3e4cfc8661ab25223f69c6f433383992c18bd20fa3f122e26cf7272aac41a83e79a4eb8975138c1dba5fb93bde040910506d03f827936c9544830d11936f3505bfd3506def4ddba2cb74a7b151844ab5e5f12b21f19b2f6b74f63a4ae496f8c5a27adb88feec2c610372ad21c2c9deb4dd1bc2ec615da16c7187228732e5701771086b5fd067e625339db8ae15c74e17e1f24ec0d7a7801d75c1b878ee2c2dc11b9b99743937d5adbb9cd771b506e3388ecc75fba0f546671627228da0ec19170f7c6af4883b67e5c96badcc03992735f4242989c26d6d606d1721d444f73bdd2581ed0ca911d6d7f029e0b50431bdeb1f9b87af6218be3526d637aa25ad9dca2b250b136592ad01afd203c3bd416c9ec98c595221bbfe85b87728a465faf593fccc0148d093e1b0a6d751c66c3d4e926bf26fc2d8e006a2df97225d6d4eeaca480a2c9cb7cd73f201842b3f75cec33f0adb80399f5f0e780093da0e56be76aea0f4083635cbc7373401154568c11c8cbbedcd123bac6e9dd8372e3146133ae0abb03ef9f4c839dc659efb42321b88810f6208de14b0b64dc6471ccb77c006fdc4271f03b496408f29853c2b151cb8d14cfdc25c50ccc65f0a572c4c4f2c0caf5065cdce4b3ecda8830cccdbbb09d8066536ecbe4bfa50edd470950dba0327b4a313e87260429016bc6a44e2f081b0ee2f3fe03c09e59d8120a723fdf7f163fd6fc06040709bd4211df7c2aaa96d38936020e9e4034bea4c4b40eb88ecee53847389caa67444ec5ccea1a27840daffe80a8459dd749f3754b337233ae5015f3f068fb16fe75fb078c147a6ea6ef9b25b1d6d7c7ebab13d257e22f3895261f2dd19568ce904778a941cf6c40baf1fb9687a671217629bbabff1e49e0330e885677c4410faf0848ea95c23efe45e0f96a1156de8fb9ec372bbb37015300c511b4d022d0c84703e735d0731d2b0e6398c646a7a6b73792635c52e772b1416a219345a3791eb578a0eed86d392f2049daf396decc4f782b4bcc66c4720ffa11b051804043f845376869136bf682da15230de61558b1fa46b082fdde0c77beb474583bdb3aaad66234f45192258f59a7adca33f9af32edefc490732572dbebfb435647ef6f06155789bd3509af76685d59ba3fabc2b99288235895516bf095e5eecc41d6c3e45e193ac0953530cd8635de565867d5553d6e37b95c79649a37ceacb83eada972b1b27b5607230002769c8c770fc5455f00721ceba6de72e09132d7d4c449886e35ca9565b930ea8e52a481110f3c5b35dcb25bfa2798308ccd7ba13002e2ad2f86320076ccdf90546c90ade68b7965d43debda58014c55bccfcbdae7273e94b6f9c441be62b392fa3b0256ace5177849b4772c5f4c8d72d7e617a01857fa0aa2bcc17bb02f360fc21969d899211087b7485e73abb3323a5317a324b10603d8ff153225a59681ee3b0a9da61c6735e0ce6e9b5e4b29e607ba104d0da3362791d72d96be71718b2e593f4e83bacd224801c1ffae2febd372b3f58f4eab284e2825b3a3010366f9f9f6d808feb77d48a9250e3c4a1ab98372788ec409baea9866a4c44f0f2970def2544e82ef7cad187d6a049b58649a967291df52b9c3c65aee700da1d4c5da80b1acee8075856e6196cdc256a7fcb4e06461ebcecb61432c9397e9097c08c64f470d3b1c711f7c26a25dbe81867de5b864c4517772c1a4b97faa851bfd102c81f6abcec83d159334e81a2851755e020249c8e6b77aea97913a3f3a1de700fc4aed3aa40b31518f0360078abf90bce70511da8e5b1c1b45fab4aab951f6413d2b7a9e815c8cb2bff9c48af55ecab8a6d2414539d691e753108f959183916c8c72e98eb59b8fd2d99b74dd0cef672620687245ee27ee0478fcf9d87ef577d3e3faad463d132d166e70dd1934a7ab9e3ca772f59f95adf9be4e670e9a54e0e09dad96f7685317e2fa58aed0dab3713527c472073774949d2c79531a8ceca195b62eb487afb66704ddcef397d5e4eb0fbb7172aaf3f1c3e6942facaca910f6341eb024469891f0394c96301cd743c4346243727303f344729609392612a1b30469c28b6b8c44a721293ca3aa2ace6a92a7ef72885e79c8e55f11a1e0eec01645a9eaf3bd8c6bfeb86cb99fa752d98161064f39e74bc3e809500e2a03f2d24de24ff20ca5cf8db811686d07f896c9a22a90cd72f5ffe4010a6c2609fe9a3c36e15cdba5f2912052ecd55fcc382f72881a435d720c7b7ba0bc947edadd389e9b5ee60870ee47eac98d1ffd0bef28bdd57a0b6a17200772bd156f70c8359b1569196b05efdc4f9e2e8bb38dc9953a475476bed85c66b477faff5ea14f9662b4c8a395d7260a7fae2e462ad0275e1a6cb205f53372eb617f2ea4ef4528aaa7fd536db985d1e48d78006ae8d7874bfbe47070d65819514d613466cd21f5f27ab0fa073bf54cfef8bb3935e1a0f91f53974582de97725312553d00eb1f1a11f11b84870ff912bff4d077267f8badef891ccc71341652b556756398e515a9de939be3fdaa2108a127aa23464cb95318aac75d1602615644d9a36746262f2b5e6fdf40bc1f185b8e4be72e055e22406190e3f57a702702d1e271e35d0fa8e2f996a67f7674ffd2a24189878229e5defad96ae704c55835491faaaff0195f06b795bf4753245060aa089045a5050b39fdd4c94ab4abb40d48130bf6f55b6564b86bd57582bdec9529421d5a31ed531f5066c191c4a7c255c7d3db47d31df35a7741a9735012d2e1609a63db34690463f510bc18ae670d720ec0b140613c3eabca4cc87c7b19d6f2ca554f3920e0f264e8d9d71392947a72c096979fc357c5900013528e92a9b27a3fd4d5d6c54c3f7027cfce781904fb02c43cb9f717d7227a14900186dd62afae75f5a7a5e04f97b9461516898d0eb02c19d78b868c9e22bef95c0c9e328e8e8507031acb8e4dd5238288c5f0937f7d16eb8987886135ac9b0c9e69224ef0bb10ad575ba13d7e5cc22f21943638b38272c1625a298a127504f930ee005ea1b9e92ddac30d6f7ce5c74165b679d411e172542f4e53bb0a47c47e385e69119cb11db964676a6ad57bb96313115ba9999d728768827ef517eebb6d5b69e510dba3b3ebf91a20e36db320f9dcc585ac2366726c4d272602f6653ab5aae06549d8db7668ac39e6d0349823c038389e823e9e72094b6afe70a50363da1e9a57e7bd2243fc3c6e6a6fb6c3517a22ef5338bbce72f2c90515548621e0619a70b00675fd7b56588e323e5d86bc9951129d0c12332f85cc4dfabe34bc2eeac758046dd1a6fb9812f3ebdd9dd1b6c783b49603644472ea998e6a1b680697b4a587663c6c77521026216366493ea52a096aa6b124134358316c4c2b9259eb6b01d417b6fc7604023035cc4391d41a190e5c8818a80a722c872603c21061ccb27241c2a4bbf030a90a488e8516b91a5aacf4b26ffc1d72983fc2175da1563be96a09f187a158da260d1a205774f28686897da554eff863ae938442992d1fbe01075dbdfcf888983e7103e223d40133240f06ce00c6912c2a9698184a8117872c362e768792597517c29088aee16068e760173c0a6e9172fd6d15bca4110b87af6a1c34bf9848055578655d3383947eb2a8a3ff60bf0672219be249bc2ec0706945a0de40760e5738df8315e78b8fe28318838bc47a2372893421be037acaf6e3c301089322635f0cf6c4a5146560978b3b4e5fd50b425d78f5977aee753c3776b12452d963f50e95b05e157eda8733a75eba3fe8b41e51010ff5359fc1a037141c41b1464255965b44bcf4ec885ebf871d8f480dd2b003376bb09242ea4c06186c33909e1c0087104f38bbffd9921b7c0fddfd799c7d38cae621c2a59f8ddca5225f06d8c4c2b34ae58033b97a816982573e5dfce5ea723733d5b054b888bfbb71d3d5c4752234955cf55232387f0d8247c5a994e2e9151cbacd03aa8daeddea76c6a8a23fb7e3c6d2d7a5097404ccfe355647b2f9c272d68b29866639acd8f48a8f6c7f0ab3cd8581bdf3401742cafda3f8c60586a51ccd8d536ae2574451c63192c70e1e387b597fea43c002bff221806637c7bcab71ed783d0be5c85c4849a43b51b343871c4afac9da317842ecb80e5826177f7072a30b79a6540d997f8355f21959664a356d31538189122a9f44bad87510b2d87278c98c5fa2256d1b469707b30a691cdfe1ef5c64fb7ba8023d9b6a84299a9d579c327d0035f8a40a811f7688d4f506dc9664ab8569e67175a4567916b9835d7265268e5d783fbcf332af509666df3df46462ae24859ba6fcedd5504dad988572fb87a839ed7925547ea038a052eb73a41d52cedd6426859ec1db136e0f98881b26ecdbbf225e21c6fd9256b996a609cdafecba12722ced954fb517e4408ce472783bf4846a39c34e1fb949c180c3814b3c706a86821d0396a3f639fdeb7c7f60ee8bf79add689cc757bce2e6fa6d896ef6cdc60e0f21f0547e876b3791872a15742283d3ceb9aca8a2fc34910338c669a5a4fa3d49d022a7df1a2bc172c36c1451b5cfb14b97f85051da6ce39575dc2b72c9c631b65b76675efabd0f24413842d12825482a2220bb08ad4b962a552a5f867bf285b94f0857ace511f90beb55726fea5df3d0dd8a5aa98bbd7908e7993cc1f8b44950a1bf34ffd7da02e7f5ce2dcb15eba546c0f8c5b1a7dc51f97364a19c72a4070198a3c14ffac069e3bba472d4c3c8d155c2ba92972e2b0429fcef56163d3712b1e5155bc900564f7558d14c0588e76db72acf43dd4658bf07fa9439d8fa0fbc9c1caaf4f4d8977561e4d572d2ab43070c7f80d7423479241f254a396c7a01d1484c51fda90f572895142472cd4623f6c7fe43bc24010db5691a69be83f9ffc2a142e327449f248611c8b14059d95d016e958b6f45aad9140fca6fe7885d8cf970dba02e84ebb3b2c2ffd27203cd46a655a4909bddabe8dd06e9bd3ec6ea0b7e70ad58ad56f6799b7205ca72eb0184457a1f0ca686a767e3a4b4af8d35eee2a9ee338223f5ac033c180f587268c6250a914e57473b5cc2cf2f60d3f444978c05c699af04cd991ddfa7b50672aa7c1d1a438bd0504166be528d970a47c000f282b64d4565e0455177cbadc3389bb010d6b7ce4e2ce00b105db07494adb2a0cb9847025a3c2ab04b33edf28f72189a81b1beca5281af081db49f3468239e8e3e3707e316fb342ea3ccc389a07249f63f8dc3035e031f3f756c0a3052c1a31d8c7ef58d88f1873673b41ff6a972774a8b698b3653805b89278906f8145c1813bbf37317b2b1b8f53073f362ce7284a1ef7d53c9fc6547788e336dbad1291cdca93f72e153ab8b297ba83cbbdb72cab38297e0070ead39235a3b570768c830af4bf4a5427d1effcfe5862e5f3472e9286a0a296457f117dee1073d18914fa1d6c1cb30f28d53b965d8e92451b90eb25949106b65acde17be50d56a38d466335e8a0de62f38a5d1816f2eceae7659baa5546969a9c0574c157b727e78ab7029e2b2482f1a12a5aa9a6500b0fdea349ebe8c91e3c9ac329a978b67cc419360dd72b17276d1ed1f824c16bd7f9af072daaac6b3b631b9af681a0592d78d7783b482c91c87b1455838349a300b6466196efba948a6b06ec24a4f4d41886c2f10b712bdb6fc675992c0dba004fa099372c7b990d3ebae7dfc2439a3e74af10085934c4a47e2a5d5584fdf7349cbd35d0d65741be8ddf315ad71fd504429b8299802a0fd354cd68c21a8af55c884ecb0550c8d606efc9cbc25869f3b9e0d3c0524cb7694b73540a36a95697a24428f44562f5000e8776d8cf6886146b3b3b45b6fcab61e6ed93e5dba2d33dcf61cb9d072f6b79899934883b60221c9d3d0416fb0558e1c34fc03a1a07d97ffa189bd6a7249de617b7c29330d2ee5c9a48a8c7141e0440599c1793b4b744e278975612772574a85e053f5f1dddf80a1026090388c714d7ed319a09eba9ebbde11687c3172a900aa49f48af80f4eb0547cb334261901cb4d312d8ebcfa4a752922aa52f21ef4f991ff1930e7c69b6c8aff476c776f60e145e54d4350bb09e2d360be9b327214559063ee5fb0bf513856b57843765ed9798da2ca440c69cb27971968c11272afccfb1a5fa6bbbf4409f9d0c55e1ac898be3e1f82e5bf3da2f1a166890e1a2d0607cd2bfeb104e535630602954eceea06080f802759ba81e6dcdb41b73ab27211d7d4941333a29b9a6a9027d1845f6fa5cd65a759c19ccde66c66af3572ab65ce1be0725b16f4626005b546a22fa904d09eb4f203ab2534e8f76b8a9cc77772ffb9f7a9569b1e6ffefbc46b956a1ac2bde975a2d64aea3ab44c836f62702472fed42a982af4bbb7214dddac71c154e3a62befb26e83bcf8f937baff1a3e514eca95d56cd90898eab990996036f27edd7aa11aa5c7636647cdb29813c8ae2372525963147beff32156bbe762da1fb7f409fa89986e1a1aaafd5f08cbef134b72364890d9aa97602f01b39701828f0f6dab372ba2fcec37584501f045007a800072c9a07152b2552f44cdd487791560d1575133467c42cdec5d03b602237e075b13d9ab1fdb4a7f19bceda4eedef5be1d91b60830a2fc21fa0e3ab8345d150a724eca066820f95dd45b85da12032c1380559a79cd9457e75fb113e1d7a73c0472c9e9f3a712af7cff50bf1d45418b3178fa7408e3d7bcde72610881d4f4e4b36f63958d4fe2025ee5ca9bb92f2c1353ec095c31f7332d7c40a9c814c9cb175e418e76007bb4ccd1b4b8b487b00c44fef7fb6c398d3ae24bb6ee7d76e94528af72a9e3edba6a69e26a1ff83b15a8a4e9ebff0b98d9987c30c19fa79d15d2ff5119afffc13eeab9c5fea4800679bf05d5164464ba3474470d23491e735b1e0cb772fbc2fc9a003024848fe3fa89cba1e20ca2473c8b49234fec0b8b5f5a2e338e72cbf5c14edc0d2dadb5ea6e1d4df311d395b5d570ca697419b4a835c99c5d353ce060acc81db2126d9ddbed9f5f662306195c14efcd67357019af0d7f5e3bc9721728b3a874b7175a6c35c43a2c1ce086f8fbe9d4c8bfcc83baca56954582e938cc21332b22b5e959a33f8075420f4010245843f779eaddc8e0dec1356e5f4c521e29c752e3a5970ff5725f45bb211b44a2f765c76007392429bbe5d2bf18a7728cfba1ab7ceeafaed0597f11edccc9b34eea973a1a6013f7d1ee698c235ddb72cf2846056cf8c9ea2e86e9cad78aede5d84cfc276eee8eb217e9ab8c6410437259eb6a9bc2bb89d7721c9837336b18bfa5b9f357c24dd45854239ea61b7e6207e40389d8bc79a8f90d61dc874bce9e5b3033c2fc2181e94dfce1ab9d8ad0c072f2840e8379f4f350ecf27c192ebeccf4a4efa558de6a43d1027467a6731e99723152a80e2a85f5cc716e4901e13835d180261a5cc59df65c10ef449a1755e2720eead69d7701e8c71ad6b6fba15d84ebd35f1a75190f3c29b627cc2d767b8c724483e98e32802f7e679e1b8b868f74ae6ff7bd4234d4e7e04dc46c0a1a15196885ed9d86f69d30be05f3d70fc639674d1761c86c652a492b36e7ecb32516c97222325aee64f9cb7a170ba92f8af55774c90d811917892731ff378ed31fb1df72db5abf90144fa4f28eac69eb76d0331aa4f098cbd44d5a99aa64b9d66e0191729fede166f1d31a44820a11a02689cc10b22ac7fa598efd79638bff2db056354ab2c9a4767e9cfb1c186903e3c0f1f1bc12ecbcb4c6c425b672d19917fc2e9c347c1bf8fab970bcd149d5b1a772772b9810fe211268c947edb8b4414d2a87ce725c6afa065309422d3bd9723509aa2433b8afd05b43226517e03d1d918e797a7222c37c6daf48b3070f83331796b45afd306bb7100b372047bf719af7d75ae75d02b9acd5cb7758eb7ec5468d5845a6802cf1ffeab86c7f0ce2890d57daa5112d7184ae6f5e1a41c4406569856ecb65c28e117eb442260913c0c60f354261b872b1fb624ffd189d8a2cc31023b878e6be6d6b0bb7047792f03beabf647e692b72bd89e02ef0a1a4ccbcb7dfa569ed141e08c116d1a70dac462eb70318d0e5db721c1f5005b167540fb796dfab9824084919502bf6af12b368de62e14ad66cb563672082bfeadcb2a1091e66f85484297cc9e4a56311ecd018a7bafe49c8fae572613b56a8a8af5ac93427491788c1d896b2c71706957e9801c4db2a745e4d4b2f64414946d664fd8200bb8ce790a9729e2a60a81b92fbbae671366cf651953a720deec5e5d9cf07f5e6621cf59ddc5264502e25ca0842dd38a0af9281729f2b43b64d0f6e858273594195754694f43199f1d3592a147fdb2aaf76a06ead0fc2729549f8714016a6d65aefbaf771c7a53520c7b28b6a6c8ec1a989ec31b1b3c5729151f5a5778286a65cf129ec8d12f82e18556573969e3eb2665cc14a2a2d2c07fe2c69773f47b7d1c9ba2097a8646ed97f3ed4a8791155c3ad42f7c12d25f372fdbd959e9d8d28e82173fb228470c4bc60f4e277422af4f084c4c1b0a4a7ac325de503d1d2b9340f031c2d0f8aee28175d374cf2f4494d0ee3525b6df51c0a726890adcc0d33923dc8cf9c3ac4db1c60d4ce65e2131e85ae54f23352a026520bc8116e73d9352bd7b142f6043dd9b8eee5d18dd6a94f0f4279da508dfda2491f6c5f0b42e7ef4eca905274e9d165676d0be179cfd6c2d04bd051e631327e08681a14511ed331b5a00df0c97d49de1f8a428f277581821300575cc36f53d5ed728c94282474ffa420560742e096eb40a8a0e9a2a1372b6716e08fad676f19251324abac51d9999c3cf046d5d080cc20493fbb491f4dd9c38be0b23e8a1ee29f72b069f1673f98394807587352a8ab1276fb90be14087625e1c93a06a9cd10c9438819a62957a96459d061bb82bdca44fcdeea9d2fac46eb2d4d64fbf2753ecc724b78ca55b8563aaa3b8cc1b064f1718e7b1bc9d90598668de9f67c85aadd9c3cfeb27653839c63bdfcb6cb0b0e04263151cba48ed0faaf68266c4c69dde6be72f402d114845408802ea7981e665c3fc2c86792f7b32add5df737ccfdec62ec72939d1af024aba04693888605ce8cfc6c5bba2feae19166086427613699e55a7280efcbc194a2f290a41f3fcf65506c7195f78669fa28faac48cf34ec40acea64d0facf9f1d3bdb3aba3927816d7e09bc4688296e21e980ffb654b9593df7d962c500dd64db9a6d3ea8d178d6db6ce3c757a8cc38d2f6af85a2214ce55483b87236c38c2a87aebb2c825952401728903442f4e760668b8edcc0bcdbc5e2537f4fdd455c3fd39b2edc07b58d811ebeb56ac93ee821bf5e09644711239bdba5364ce66d224aed941a060317b21d40e0519fc4efa7e669b0f2b5300a66bc9cc2e572b70f4a58825f8dfc9f9d6333dcf8b16ca5b54aa55edf6879612ad9e3c39ef9722e46a175abe61bfc1b0778353f31e931550c0107bcf2418135882e79008ef072ddc4ea285e6f5696bf15869e2e498110fe6777064bdabba4b84fe8adda6a6c727d2d40b6fbfadd856910baa7f0d141a604f041735a5f3a4ed27d0534c1c8c91ea9159ff754061959775d41d17ee73779343270d82b88031b028023143cd33572263a3805c5e128ee09b4b923d17c4a7305c8621f3e919c1fc63a3017f287797258ba7df01ee557dd6de73e3d6cbd58c668d2109f62d8acc797f4c1db66cbc562bb7a3315254f8341adbe2d06c8efb737cbf6d43f0b0952b3a5764a7021feb83da7d6598ad94f9a875cd1588230602d28ab77ab7bb392ee3ca2f2d62585ffab5f5ea00dd4a6b777905ac7e81b3e049f35daf3edb7b1247587e2a46c69b7058c72f23f7ee7709588c0055f66c160e5a3e8df3249bd2402767c3159f21600a1d172f3d4a977c2c203c9cfd7d3426223e4beef17e61a78eb6ecfd0a76be24b757916611148e5c018de2081f6c3d85eb48689b0e5f42945d3c41b75b48ed48e79407210391077dc8107645bb0ebed222964b3251e1ed19b4df8f53a8ae8d8d4250172e16fd278fd0664521632c73520e15ee715acbb55b9737256588b4c8e0797d5720cd46626f66ef5797d838cced1f9ded65d54dadb1aa647f1626efc37c48a5c726d0efa399e0fa0ae9b880e1373f7208593e095dfba39cc3b8b72b20ffe044a72f2b4c5f9e3c29c23b061e03cf0c9f48d21911a5c9bbea5f370fb8528a14fb91aaeafd89dbf800e2f51ce0b08b5324a64ecc33818fd436ae6ef30b5296b451d72f90064acb86ddf1c9b62b6b8ed0de3eb542cb70cdc78693f8b34e3fe9c6fd172a05c2de7bfbcf8b60f4015cc1c92b3091daec9d69d99e353013c5f90284bec724f94005432c89e31a3058005b9eac8032dd7eade1f24bcddda6fd5d89322ee5f77541df61be09759835f9cac6c502322582affafe8b3f38b3c29280b541395039fc7e4b265ea249b2ae33c4e8f8b1e80704ac3e2c84b32a32b78f8e0e656c172f93d1d2d3f7ab2d92c442276bfe0c592bc0a88d8b7f0a7f355c984cbad9b2f729988bb43cb3ebbec1561a28250fafdc1f607e1ace37465e591248536e19665698e273bdd0ff8cdff1c4dad0521ec062bd9ca2882920b64a0bd6b44ca06f4fc202e16f0b889c248e9940f6c848cba125519b8501c6459b3d6bab94a8293791b72b79d146be04d55ba52632859374555da33aea2e3fb003abc93098220eaac100fb6ec82f9a5aefc33c8d2add4682769118bbb24cbbe847bcea92501662296cb385caa1aec37a41fab22128acf14b01b424f924e3df2114d7e2b16dd543dbaca725f57d756f303b61ad53719e4d593b01a242555558de1ae905ed0eda842ffc5727276a216f0aa3be0e8baa0495a3cd7d853fa961a3e1f3c22e1dd7ec1a783494111870a3e8aa33578761abbd9c6d2f7c97cd2cc1a1f5a5a42828125c67177bf72f1a18a0018fdd6cf52b74e77cc5dd4d1f7506f74d4b7b1a728c907a877ffc072a3a2c8728e053bbc7bca58023ef95667a8b111e4a90955b073e61837cb740056346d87b3379a9bb39c5d7f66f7ed20eac81eb1ea64c80f1dfda75b6610b5c4725b8ee0b187eda88e710200a2215e62c697222a0d8e8035008035feb98dadb172332f055a6ba1bccb54e7375f5ee15b88fea56a7e20fca952da09967ed3ff742bed7868696475924d282378c34e861f21ed58f5ea4df8771e7a8d2a0b7cc4e013e40b2642b455fae3c0e7d70693445f9c67a907b20af3e039d0199a935c1d992e9aa1be8f2b91c4de13051949eed8743b46ddc589bf0cdb77aaccf5c07338a7720886d3829ec5fa600a3fbf07a5b18dcc0da3e749d6ffc973b68ad786682f9b7266805d94a63168e31e60be10ccfa2c518380edc013be37fa80031a860463c0722d0bc887b78ea3fae63701327119ba0a5b5ebdbbf0584678258ac0fd6a061b721ba7dc454b0abd6cc77d30a2532520c9bae9bff684ba1ae26fe67b2c4a77347238e6f5cc44244a74c1d8ec037e25ce5e5c6cdfb48474fb0f4c3b28fe23a7667270eecf2e1a65c1b2767a3593db8243e358cabaa4fe57f12b67b3f1416d30d472bd875162b1c7872361fba2ccb6a52e7516a17a04b126f2e0cb8377faa1d9920e87ad82be177a60b878ede2162b81a777cdeb1afd94063cd22e10ab9dce92c572f746f9e51974a15cf8764affc8c91fe5ffaa517abe59fec3b447b9be3fd40a72bd22043c1afbf8cac2d98eec94e49b666d0154b55386a67a52d2f0beb59c7e3fef2193c96d59fb4d79cfa7754a8b956951e8d0e23bee34d84f9ce7bc52dc1b72e31fc767dfadf97ec9354cca2a9467871d5c1ed9c67c5a0ba7699bb75c21382abbf45bc9c2ae8f58bf78a9dc3691ce1d9be2b056b46e0dc85fa259e938044d724d76dd9211d5c0222deb3f60e697ebf5c65ea525e8b486e937889e61560891726fcde4ad07d6c53f92b3fe8b6598ed24a28be65aae0c9c0a16b6dd2175f0dd72312e161fccea3cb8832ca5949eebfade8d8f5b94fcf5f08d359dad3381d09e4fbd536f5db695634340f99b05db4d8195c0565db4fb67c42385709ef3eaa2e70c0321df73e34b3cb899fdc6b78ac7bf1bc4d8f1951d26c9b5a396b6f114c84e68e5ccb4b0d9f5829aeb49112a8abfb00ea736e872cbed131f32b579b08e90d972084fbba999262312620c4195a0607b269ae9905f2e697fb40ec41155d30d2c72cc5b8b892ab81ca35c216f9c78db16bef965d380914675cac4f39092c3793127f5652dc34e69605a49c9a57f1d15b01b117e7684f6eeff0a505f7face9daf370c6eb59667b552d258e09286917a0c9c2795fcf3eed4d17a1173ce2267a749a7244ca465e9bdf416747e653db0b3b5294a90f6e03ded8b72db0695e770027b60051daabb5d7132d4f655ff86c6485265551d68bb182581e4c71a7c5dff3bb5172d390e5af5ebbbaec77f82b645410c3e6816199a874054543b70a13754ffed1723b023dd052e371b39082e06eaa8a836476ed52ba974f2d67e441edbacac34f27893052724f64946fecf2718901e803d0c1ecf7e171bfeab5339165e240c3377221fe7766c7d32dac17b2a02b10b065ff2436b0de81ce46eed91e4885905f1660042babcaf0f35fada21669b551a877cbf697801a1917d13a4cdaf3e516d9e0720e843b75d4a3a2507ae0696884f9c0ba987749343ff08401f3919906d951147271da6239052e72e487c41e696bcf777727d33ad31a742c1617d386813fb3b072971e09063a0eecf5066ba630e43e50b54527b011ee3cb8dc8958d9bfc81e6a31f85fbd1e690286a3c70bbf31ee7479ecca5c9277bf191d75ba24f10568aefd72a4ebdad18cf41cb099001a7cf4517013a945ebf6a436c03089e15f2b5bdc2053b2c4ed1dd15f1d777c677ac6404c43e297322d0c7e364ddc7a24da0ca7deab7241522ab78cf0f04180bac87e5615d2bf9974b82dd74c69fe309b08fbff71067214397b33452de0e00517d63eda2bf75f5a851fe2f23e4ed17f95d0b6cca42372589c43e35cc9d96d6d124b62cc00e69c5e809781a39c128a9d62ac1768af9272ea3ac52daf65e1ca0a1c036026bd130876282a7f8bdcbd1d7c72cf46a1932172a22d19ffe80ce8c2d32cfc43eecefa6fcd98fd91b552dd7353585ba413e4f346a16824e71bf069b8e536442510c9e2736687e15b767b3ee1b1d895754358817206105e7fbcbda712b4446a9a73aa33bd465f1d9cbce37838a9b624a7e5948c72f547526330cf5f12d7e2821f7d03e9cd37c179e7975ec8fdb0d58a1222f28972e883c87d7ebbb0836e3424b80f3fb1288e72149d26ab644d5265d99be885ab6a0182e279564fafa5796cc9c87ba35a7fc578b3018c4c637f93ddbe162f88f472f26a7e62c9a7ddd3b2e62d2e1dd2a1f8dfa913cc7fe045a29a4fb44778a51d7233d6f1734c091c9bc0049decca279db1fca603cdc4a36090e6bd78059cd7b03eab3e95aaa07c38e74d837e8d828ea4e86986f477f1abe5bb8918a3731acb34720c2878b99fe4200ad1a4817084ef5bf6e9546e705b7cdbf00cd98b3fce8c42381267419a055f93ede30bcefbedb47a1f1583b14db61f5a9a3abb1887dffdc472296926695252eb890d7ccc3279067858abc0b3c2f1525005e7ffba224dd96a722ae26efda9a72d425326121ee89d56e9a209b6b0c2312bb64408247bca693361e9aafd6b62892174eda3030e11d83cc93946c39e125a024dc196b43f4a70190370899c3e960736baffd60e99d98a50a327c67fceb33b779e9101b8e138c4b07267b042bb5fa50de27e7b0cc796812aa0257924e6bd4e6dee4fa8ca929439511289553961fb7cf35c4b9124fca70c036281f91741c2d6921eba55799fd7104c72c3647129bb7fc9caf4d0b4cc0e203c9b354be7a546b859d9b515229117fd9825ac7222ca9042d32d98a91c183b9f36374c689f37b9e00346920f42768b917c1246bd7fc72eca40f95efc0df162a21ba6768c9b044f501c5927621cc878da9e722284e861d7fe71fb7a0192dac8994e0dce00c8a643f6c99209b6d0850d2f3f72cd504e2397b2f265dfe543848e31a15c15b12e17d63bbdce9499a35d9e0b2c254b0beef3c8a7d113e128ed9b9892193c5563b8e990f3da0bb5a1ee3ad48cfd729d73cfd0fac32eeb55f14ef2b723c5dc0403cbe4f2863abcc4d1e993bb177130736fe5ba3616d9c97d1c32c1d2d6cffe0cc5b953b0d9dfb00336442c3f2bc072676253069b7a392cbd8947753a568c8b17b00ef497c591f050e0648a3f2c3c722d58393a3eeca5793e2aeccc055d3ae3912db9e3dfcfef25dcedc92794d9520aa820b1a505a607efad99bf656c307bec1eba70eed0b9b85c8d9afc7fcd22b26a23adb6ea349ef1a5818eab8dc96a16f90c8f26022a11bacdc19d0b2450de4e72679abfda4f4e34bec5a3f20504716a0420757f7546c9d74041ee71f86454f8729e98b2ba50cc902b94a36d0d870a539debbe9385ae2ad920a6fbd572ba2b5a725684f295adf8815c94f04fb4895a74b55a16ab74b51362f03c52b05606c44f72ebdb37540274c73ff62bd1ba05e7dcd52012a27cc1bbd563f12798bddefca9725adcd59bbbd010a6e7a17c34e9079c32abc6ab6d4412e83777fd7be7b735397238bde11c59366b07440a4e26aac55b393b5982cdd89f39faf403ddae76c4b672fab622887cf974d3ce8f83718e4be3e1c3bfbd96c06001ca3c2146844c7fa5646777a8f7633528e9d69d4106aa8280108efff87fc56b4bc904584954c292f672501bf1667fe2ea8ad45a74c5f5067e0a2e6a03f9cc48e13facf6ebe4b54b9733c9e6e4c4c883f5d351fb8babe0e97a29c0dc62263f5bd66afa5b76b20216de099ac17d1c0688f6422b2334edba4fe5086f234bb8e60a14e093916480184f1f106fea954e1a945fffa2952ac764e8262d245ad347c5666d6359c7012c54e08761cbe2e289b2a1c7c4192c15156485af20d0e77a6e27b4b4006da416c80fb84272efd5e5b0022360f9ffcf14199ab72cebe6ebce03c1623205afafd8af6325b17276982923345a50e0c76c08015541695e859fe1bc51c6392b72741623ea26d500106d96f3cee96f602ebbd8dc1ad3fb453cb542489cc3a78bec5f1ebf69e06172b0f1b6112e01a0f3b58279a2eefcb642b304ad3830a3e8a67f0145f06f4f36359effd6e05974eb12db9106b90c15fdf6933c1e9aab787c991d41320d5f45b672ba75fe8ee1c1c7bf4109c9fc65bb3c6b276ede2295c9023b2d243c86d1fbc2237eb8fdddbb7a25814b4a852ddb5f78c680721b5b518d5350f4f50173afa15d6daf976f5718f192f166c646c89a39d8510da8a7bb4d8eac35ba33a4a4ab6c784183c38f83622b555b274c8a220400f88b96a9dda1fb900e5d975a13cb443b434d5cf42be7740c5554f42441e9e9196b4fc5928b1bb74d6dacb73e4e394f22f6727ba0e5dc5007c44ae741eb6af7307048aff03bf22eeb8106fe7b97b1e171d772f606a0a1d1acb65a9566a634de114939e12a9c24a4f15aef4d54036c11eeaf725aaf24e45b808909be28a19145dd4c68907caec61d44ae8102b108efc8707672386da2063282d05cacc50e6ee6139fe7e46625e440822e1140cc309c26d60e0093ccbe4f140604a3b1d08d43aad6827dc45da0e53aa73045926d74a11b54652ed3796959334228b49c47fe3798f3560fda91f465bc01e175bef16e6dd572797202983113be0cf9673a1d56cfd294076489f26239d2eec868d0b9c1bc2be9f272e6f0cb318b43ee47615f60c7b0614577bff372d8f1a2ab5b9af874b9244cfc72e0f2c65ff5220e66190bc17aa769afa9c8f96035c15a69af60e50b80cf7dc372f6c487d6b285cbad77421c1f08b632c682fb760f06ec1818c2f29a7a5c1f9a56d877f5fb8dd4391407cdcb095628d969e76199c13ac33d06d940df2a7733064d8d06ed119b20a1c57e63a87527a6949052168822aba8a45c92a91c57a5991a72b2c23deea39492639befb2cdfe943a27f111bb607d31920f98f617e7fcddfb118b667c024744805d805e8a8b5675d9be40d0137cc9bf6c19c2868c90282ee672c4cc879896ba62134790b452881f46f4fd16e2be9a944af36f135d4233a32a72d80810934181bd5f1004468880638d905173514eb46f91dc61dd0fdb60a8ee12aeac7cadbf25c9fc866d916749ba181013b193ccfce2768926b515a6add01c72f7fca52c3e741492a05f621ae6ab3b8ae8141f0dd17b16340be6fd1ffce51c72b22964fa761f9197a9cd2cc371fb373849c9164d031f942c3bdc9d2c1817ae4d283e2b14702b12b2f134cc26e5ea48157203f7d472adc3864d759c9008f0c935b764095c0875e5189440850ed57334e33871ee07cbbe8fccd675af40438d657267ca79ede3bf8f1566a36dda39376f87b3cb05116a89465ad2a77cf8e3924d725c69679e549603a247acccd4e14ab66ac319179290d1401dd563287b976077143d6202fc64a397cf3e67d89d8cdbd42f0fcb39fa923b7d70397ad71bcc58b7726f1ee92618a499434f6e5343908a764c0f826e0ab4e87c592a6ae6d747f25f72f08d8b0fa3fae535905514d7183e87d410b16f88e79bbdf5e3e0e70f29e2af72828afab19d75c8b5af11163bcd2b0b1430105a7fa80b0474844f2768c9804c72f68c19d5245399dd11df5e9679c57878684d5184e7021b64b0d7f0c6895bd07290bf400b044fe77341d2d49c4a110f489a4381fc8f5288838f7caf0670a335704fedc9ef1279210786cc1846583b3739d5db8d04acac7d75c2f79cc3b22d0b7227111fa43bd6d26724d98fa3b0eb9c6d54e450aa2f051edb587130279899f72fbebe4e1f987ba72a9ab62581780604641887a7867a0b52a28ae58911dceb1029cd012c8e984d856393fde421a4937801573fddf9f316857c5d9703ab05c483728eda2aee9dc8f813367a69225323b62d70533cc450cddeb658750c70ace45420d925f3680a454492f1769dc54014946c90d11f9f8e881ca27a7d53066e54d344c4ad42b85e785c9d02b4932771b5b5da767800cd0c8fba486c0f5f1ceaaf7e4407d57c37039c0fdfb07ee613b7c36c66a65c7bcc1861d3ac477ef34d8568f67209702731addec181bf5dfea711a046f27ff22b7cd27014013e1599bffc395249a65c8d9569ec1a81d10c5cc4cdb86826cfac01cf7e38574b28be0f526bbfc072aaaf37b49eb13c16a8fb3f206c457015fb9b73c6c7e220dbc7e72a860ff15572c079c90767eac4a482167b0efd738532adcc0c1431654d96dffe315c40316107933e66f58d4c6d73db83470ae856fee8eba666dd690b3e25f930641ea17e503eda352a07c78cff04555eb0db7b07d37cbc7e2594a04929f6b60b99ba9a88bf72b1ce732c9fc485efc43fee1f7e357deeca6fd98865b72563a6f1857ed7f8ad30ddfba5a180b815737c3a9fc7f5ab284649e7a688bfa50b18fbd0f6e5fbf0487272e83bd9dc17e55244544e86ccef5f00670c0939374533c64fa40b0bf43c231a07a1b1d869399b10e6863302f345243740fd9d21870ec95044b808fd45a5a405d1e4a5b2743f7db17af1cbdc71caab6ed8ce6ea149bc6ac4bfba64fa5ea2907239fa3b36c1ee73d200eecd4a6758e3c8edf037a80fd624a9fcf2363804a09872ec987fe1288dabd814fc2523627a4904c0ff3f3fe34733189964ead5beaa84727a8982a846781b743a79f8f94e0dcd39973423fba1726b9c9a535d80ac70f2723cf1bb6a81664d21b3f75e68d32b4cffebd9c4708d7984390b6e32230d48837291927ddea060a64588d6571daf4b5bbe83cfad9678bcecd2c9bb91d161547472c2e4c11abf5823f7c5218856c5d97fd3a5a0d9fbc3a92f32ef9d3868fe3c63724290f7d192133bd8fe4d6570a6f54d8571b1641ebd215c444f763d1ca5ae4425ce4f3b10a6cb2c6c67f0abe0f69686728b4ac92c67c040493facfe1b7242ec72d5e7b959d2c494c9826bca7668085c0ed8faf1816511349a616dd45e1b352872522ef265ebc6e3fb4d63f6224549c64c6c86c65b1c4d687401154880ad98bc7259b53b2dc67e2366557212dcbbfcbe3b5cfeedd1721558ea24a0a5e537f94e725b8f7d23dba27bcbcfb94d7e4e5418824aba3b7fd07f9ddc4c404014e4902e7265e93e64d7c1be713661d0850f32078fc7c7aa8fd9d6b38dd6568ff35d2afa5690749b3644d682232b0e736bcdaebb40a67206fd3201734dee64ce484cd640725af968dd4f766bd617b8884b7864a56673a6d058bf8eeec96ae11b288c5ece728ec5ffb8fdc351a5a7b342373a35e623ecce510df59952ac8c421b75f30e222f4359e388b2e9b9d07a057347b450067338bb1423e6c9277eb8001ca08ad8ab720921adcb85329ec79b6f686b1f3f39e2f65245885cc93fe201840a52ec1579704d6ce7fe32c4754dc0165ff58e0ed645fad1dcd13ac80339b3de1c0478ff347239bf5d482df83bfe22346f3db194a22c5e11a06e93a10a13f133567b8ee7eb2b1d085e6d278d90fcd6abfb12f181060bcab400b74514ff6cd29b0946b0371c61bdeedc640835055a5bef610dbe5844017c4f3eccb803a6ca1e7ea817fd6929150ea815b2f604b25dea7686ddaf38c253a485745a6eb9701ceb447d79d6569871d7cac4c9118b6d4aeca25dec69123b6754af118a7f390dbca73015382c0c8672a7452796ca695009516bb4a19977566ebe1f7943c99dc90f267d78db7e9fb10ab8ea61408048fb942b05cafd11f68b1a5c3e10c310d008ee85f6856a59751a72aff26a3774d04766855e526c2457c4c17a811cd24d5db4e4494c9b974f8f5a5694ec85db147f9d27be3f7ec2126fab158c569bfd6858d5595bc21be204f5ce725385f1f7a48459b84e191fbd088dd8ecf99877ae1d41fd020614a51199e275214fc6945d6a61c4b4cce0feaffd78782f3b43b5a541c1f023bd151cb82ab8d02b6fae7110a2424fe3662885a392be5a4bc164a6e05d231859e60c004714d9fe61228153eec5d7040de4ff7f50e70307097097237779fffe9b0b782cc61c060026fb1be5c861ffa5f95419e7d59e4f5df0d4b646b0d539d8ddd2db6efc80469e67c1789b53e658a0ac7c01542eef333ca95c4e1a6b63cce96cc845cce28faaa772f82da21b20c159e2b21112afad387bc2879e8afd7b925ee05029ef417bb7b26d71f6f45d81bc8d93ee6d5139be619bfa9ff6c17ac39e4046b5c437d6bf394872c43966cefad85434e79994b0f061c119108ac488beb7b5965b45d353cb685172304b956dc3e10fc9c8bbe32f8e9a06266d0e1b166e9b6a8d3d8640ec2dfd07727e495b451119819d4c3b84e500b990e95dbf592009f8e31d97b704d707299972f3dd79191417b40c9add6eb7583f65bf5def73852ffedad8c1e7809aee2a494cc189620579857602c8526a3e4f5463f0eaa112d733bc45da44d1a328721f8207dc528eeb67f6ae4de2841e286c1640e25bd7ba71e4365e87a951b398376ff472cebf991d8003de45edc319cc755b226726f0225ddacb0e193d31a57ed6e1ea723af08567ed77b0dc1ccc234039e5de7f134339a2327be328412f3e2b2c489772b95b8eea5f39a5f4b5e921dfb494c8fa44a3c698566ebae462c287d571b17f62eb179c78e2a71b68528aca2164355beb084d165f426fd30eff75e1474d66aa636905e4d9715d8343f49ae839463023e0699aad01c0148bbfe4c9ea4713de640af18e6d9447d1b8904e8fea13fe47c99e512e48b1bbb625a0c6fd25890d4b767267f8376ddf9bfadc0d31afb258f9bd200a29b275064c7c1c03c3064e71d312729c4eae4e6be0139e1262bf5f8d6329bd3e2638bf0d0ffc04e62e82be05fff048b1dcdbabcbdcc2bf5118c42c709f0161a85027b7b235c09576e8587e9744f372708508f26a20f5e551933d37e923cc8c940f763bbabc2334ce6f4c37e0b4f472b192bd4c7c53d8f76743e1c447c14e15842bcc0e0c90137013a5edb701727272712a065def9c3ec3fe83eeb05dd9b78bd1b6044f1582e10a8d27261c782b1b727080296b8210219b2a578896987e7c11d3451876cbe313d290b06fd49a105172d82bbfb0674df37edd5bd72a6af74202cce3bf2c7491274a09dce913b8b4c9678dea8027bf5f13ab3cdc44a45bd9fb80b80455704f47173e05366ec7fa01817270f5fb783705e4963a39203c0702beb09b74c73fbc3eb1dfa91685ed1047b2723730adc2611afecad4f5c2c5debe93112a30428ed7c1c45fda01d24fb3963e5cc46aff22eb8fb836661dddad667b475831a848216517fe5115bca2b148d8e2727755d6dfadd4ee275aa433c689ab9d171da593856e0dd0990630f0c825cf58722fa6b5987b0be586981c203f186afc66789cb45e8fd96ff37b7ea2a382241233cd5867b20cf4a9f8f5f7127721ffac2e379c63729351144932732ecf1476703429ded4eb9bbb303830f7fff564483a59e15fa75ea04a3bda3212f76ce6034b54a1bcd6a7da656897281704a21882d9079f493690e86c0e12ecbea1139bf26c47e1681f539e16edab92a9920f75c06a102c63621bc99916d0a9738e52c128d872d5632445ed24f2df6b922bacd970b366e398c5357872d2518c1151def4022172ab293c6659b888ff4df760bc8bd5afae028c42ce8dcc45f65e91e4254ab75c48948cd6a6a013199dab8d53b20a40028be999ea8ceb347f26d1913697cdf7f336638829232a34a989bd6c95e0467d44c94b7e25dc9d68a21d80f0a42c4b62b72d3cef012f87bd041ce284e6ef4cf265831ad7c31114a52d4886b7623e87f0a916bc4a5168a24c2f3a31ba0b1ab653b5bf4ffe2aa1deaceaedc3130caa7ce2b7727d349b84451ed276a24a88f711f7564cd407ec882750d49e95a7cfa524eb5b14c1f1c908f0dce856b0c2e8da9a6b655fb6aae3590dbfb6aba9f5fda41f85b5721c757b438b30e97a88e0b1d3bd3201359276eb822ac42d598b8eef0da44714724509042ab9d2caa8d9dd437434cf7be493c46830ba24d5c30c11fa7e166a2321d5e687093278d28c0fbf6ef27dcc1920b0547bc7ee8ce007c33873984d32b9148c5ae037561ebdf6771906a6b35e23927a9af35d878ba3387b5803a39017ed72355da278a010f9e429a0c63db5b791f0ad638b10fb29fbf858c732d83ab96460703b8f7e5fe33f668d5c17ec98cd8e3be98c38e92c8d692326c7d999bc21d7729c2ccf04dd7304f9737469d9ea44470c61e3c37d888be1f769780c662bcb473dbc3d38d92809f378113b898602b8596c30fd2349d7a641c968b67ad437af2f729efd331c0fd06bf752d73c177f128ed90491140f9ff97db595edbdcab2c9ab02ffb42680f224e5dcf70e9963040dc8c23d1ccd8e167d3cb408671c7fc625f741f0cf2823be04fc4d2ef8c38e6c75d4f5b9c558f8426dbb4106bffc0757984703115e3225d443346218a1a970f09e2179026a150284b0a9fb3b8293eeec2ca80f2abeac8845076ab4aec2a90ffce2f722d86e89b3085c4b7708fb25a38d66ad146da271836fcb01bc30d87adf69f95862fa1925c3e3e97ce8e908ae1d26aeeb02bf17d1fe23180ff95102c55ba407ce4d238c6bd06dba2707a474f3fc5d234d656b11500e181ec2c67f4f7eb15bf5054cc3cca879766ef0db335d2cde6a3bf7727a1d1c3142b94b495728f742f8c3a01c406fcf1a5115bb54d8aa48a1ddfb53588a5adb82b31c1d5a8da965f64eb8b3618ae4ed03f63e7a9b7985eb199ec5ae3744288d79d2ef33aec3d28ec377d384ceebdd9b3e2d7a54e406868c92ba56597240fd9deb466cefef4b8efbd129c4798780eb24d8e93e2a6e77c022789f8f9f7287df7f92038fd9bf00efc9e9217cce0bdaf28878ab7e8b76c59c2021baeff520ea0cc1b905bcfd098509c9f92f3ff5df0fc59c711c473e3a39ded8958810ff72ac1d7538753388aed9a7500b29d74b8667df43b64922bd1a1e6925b7143751725e2ddffdb0ec96ca7d442f9a563dcc95dfeb81744268e52cfb66bd71387ce77296a4bdae5538ad3b0e996d594e136ceb04b1864007ba87c4152fed1bbfc5ab109d774754b2e8a1628b94ccb93117a72ee2b26a2869a17bef012eba0710866e72d8b1e3d84ae1f9326df7c755576a4e13e6c9d066a15d09ebc1cd7231db53c272a0858a3a16150baedcd257636ed2afc5a7b96f7967dcc5688460d45bbc77c20b3addffa5a5f762ccb78e05c32cf122829c4f35f211dfc04b510218cdd3b9fd5ab1c3465b68a336a6687df969c8e9b063a482e34418b6e770d3b90323da06e750d806971c189737c48e72468278558e2e439b131cbd4f88d1dc010883a9bd0c72b84bd14e4a6e0b4278d5d382496f35d7b162eaa1182335985606551ee1d0d35cb31b2cd84b658996dc3973b4d4d8feedb5f51ef36c6a68ed049bf9747bbbdf4bfdaa29f1ec8cb9c53dd5ec4edf75c57fac36bc94c045970c230f3869c6e795667a9a1740c54a65f9ffb383e27bab395406ac55aaada378242380028296c6b0722a68808802a082f6113153ff9e326ff189044246a5ccf556da153760cd739b72826e5ce823ea3f52f70de44d7016f6c6f7c35d407d57c7e2421badbfba9deb72907cafc34b530102c3df195cea52c843eb506f30529d4beaf3bf1bc46c600672173643296052a7a51240dc1c606684b917f86e7528fed76a42bfdc500725e6024b4226070fec09fe1638cf57969f9e5b425a9176e004a92d0fd0d61983e6934831d5a8d24912a6fb8c6e7777a75cee4287be784204524e5073585b1020cd1323aadbbf69a1b5fb59ff92c3bd8a7ab4ab4cdad001fab8e484acb64a503ceb7e3401ab822de6ddae526b41c97d6ef3ad55715a3acc2ba5723d9359fede3a3ef37298ed967903731076e45504744e25cb061b689f18252834ba4edb87f18fba767206b70952920fa8606f6c0ce2bc11599c787fbf96d1f35f2c569b876373b986726055847a4518212da69aed52d85510c7dc90f6720c0152acd99e295047fcdb7201d60e661cc0adee325df16bbbbfe658a7648be2e11a7e951c9674c3c6a83f72e155d3977fcc974bbe1b0e2e5fa23e4585ba191ca8b0be5d0aa8cf518340b172b7b187f53e06d403d4af95c546810fc1af3f469d6c73c780ca0d69d6e2d88f72cb8cd9f9271843207bdbd7d010a181dd364b428b7db3c85c93cf8e369d8532724546326890ff3983f4c574e791468d70e5b5594ccad8b5e9399e6f6a68050472fedddde6e9d3b789d82b9d72064e616b991365f1d469481250388cb8c03c9b4210dc6f9735a09b3020b110eafb466231f0e41d966b46c4ecefdba2e055718b721b0ad4bf9b20fa523eeaf6975727859154fe057c23486942576715cd91accf728d675bb70b3f1b380bb3ed9120b1a6f23dd3d9bc1dc04d8de0982a5cfdeb1b726a51f4a4eac6a0dc2bfa068a93bd6f6902c526f50f54d09503eac8502930b972351a20cbefa24c47f1d4aaeee5acac9c5415d44e8b981ef245327ecef0ae3a72a7efe47f41d8a4d6d5cb8caba03a38a348a4e72a2686ea7f5450dad595373e72dab537c46cd0da1cafce02c16845831722a5317407017351d18133b80e74531b34c37e956cd27c7a1940f29474c95c79b7f4c4bf686ac97b252c7e0f3f6ba672a62f202ac5e0d27aebad895f19169a59763d6ce4cc28a8345f59c3c9d9ecad224d8fd5dbf2561e8fd9a35e876eb213ea11c86df611cafea093b360786af43e72025bcf9ce6971846fe08cc98eb0e56c8489431fc7ee59c72feb64d3a0cfd4b72a971af3f9b8150293f622fa6e9520c8511c46e7264415b506fc325cb4a8be772407f4003952813a180eb7afe32550c15dab4aedc72df254ca81699a5e2256807b98d8d032a2c4930e9ececfaa18a8ec0fa8118153104b3cf74fdfefbcb33fd455c38c8e337ff233b2f0678e11053bf19156b9c1c3c75e48e668be0342c5f85721892f757aa6d32484c34338b9e09cd1f844405484fbc063fb7a454d2b1c6fe72b86a5d61177f67ab0d0f8894d44c9f49e22e53f267d0fe25f8fcbae8ffb81272809bb4178ef29abe0ea5c9127ca1a81a07f4fd7f0c62a5a8e8e8a469ced33872593457455f669f9684d4233e5eeec44cb5312e8301fbbfa4c5d453c05051476838de1e8889e797eca11c867f5f55a2fcd9bf87d8ea6b412cbcace22bfc440a7236b06c91806d7649c334b3684e6b4d86077b72d4eaf9ab1d484db594952faf722c4cf457366133d65964d959f34240536a0218f42ca32ab7b626bd3e871e40720d7440cb7d1ab87362764412c26f115d48620005dd5fe2fda81b470ca873bc72690c585bcf0f75d8f04dc94dc4c42919f199dcb1dc4ee452d2e140a4ec68392c1056d6fe7c16544086151c663cabbb1fd6b87a1bddccbef849a69eaf661311729ff74a8a95d10543a52a696568b7af9320f0325f857443571f4d97204ca78372fac07799852febdb0f759de4c2f45ad9b96d50fbfc64bf475dfc7b3540b2d5727e91659b22061e0e2c6db49595544f3838a987fa4daa52656c75fef68dddd40f1136c354c47d6afea7583e06aca47ea3ade61c2062f5370c9b11d1aeb845b35492bbf351788988967a3293cacc89885e653d18972ad7081cf0cd480e0a6dd072114d9516eae2a182192958fa21d3153cf9110caf40a6beb5a300db7f7cbb4e6bc323e0370c26c8747f588f2b35201af231f2889a983a6e953261bf69b114e372d4fe9ee0d815bc08d63c52c0d75ead6c4674c569891cd3cd709d9d03bd7ffc72f17338b116f8dbc51a96b30b58d505229b40fb12e0a97cd3a5ec37138baf670e9973d5ecbbc333f6db9c9c4a73f4fa111bb854b3373617bf5a26496150c6f972797066fbba0cd6ca1c741f1c9d39880f9f6003019df1761f812f6fd9b8ae29726e44f76328ecfea8731988eccf643dfbff4bcc20c52229fbf9a798f6133a1411e00255c9670ad94d307bc11bf5c751cafda4153409b53600333adfea24dc0a4b5d0c6cc85030212479a73077d138a3636b0364710e681848ed160ef26bf9cf13c929331a5f69033c7162211935bfa98d587de6ca35c77332aef4256c4c855072150239326c148a7a4a9d2cfa0b01da6ee765448cf19a9394a450c3cf1cabb34027e0f79e23da40e04a2ab27763d7f967839bf264a2abd11e5af92d467b475172919db0ed6da5f5b83662a6f9d1aa5e0cdc934e5ba19375e44f6a49534913515303ca9da78bf286cf6e542e006cbe5fb5defa804e426745e2b46b547b6a9c9872f7b897fb3ae60830fe57f9673da5d666704c1330cc6c3d118c84d61ac74b492d593c4e769c2848c8b6439ca7e627297c22001390dd88e7e00e1987c4a92115729a327a85fb23862a00d550c0285299d9dc62582e08c0eff093f36ca5967d3a61ba918fa8708e4ac2451560f3f0284c3b7bddd04f2d273676234f577653fcd3728ac87bf4904c76c17ec4aa081a9775d518ce6f5865909217cff47078c253a87212436cc29fc94ccf0939f49c0513580fb39f897690b4456fdd3a4fec48d789177b05d6b118565a0c5af2ae4091755f0b977d7afc7330c3734201c31540632772299920e7198c9a3144e3af76fc47dbdb6f51307be0313c83ddcafa10f5d6127238373f97e09e7a3f055099eceb2f403d706101e3e0c9f167799f1af698cd3823aa3b46e5404039f39f4b9f8870ba44bb1b7a6507cd4a69675b20ca81436e800c5a31500540f396e8baa45bbe8577d1ef7ca3090a04589919968773d5f250f1278461d768a4e275acd488ac015801f817be4955b339528345e9f704773d848b72890b8aaea26e5abefb8cd6414f0946c254746a928c49024146d48ebbcb42023167a435e44149d2071c3718997bceb73b535bfaca05681dac2cc9c89f4b3d6d01e0175a00ff640b06f5b502a49244558af684a0ff43ae19b9df8a2faafa94257225b7bac7c46d40fedaaa163acb6da8fb72edc7f070c1bf31413611675af9b06a7a8c00bebfa165f4e1b6aab1ba0e4bbe977d59b6d0daeef38cc614a9f7f5cd638b05066376e77ffe07c8be78e25d24a7fbefddbc2c84585133f2d53d08ceb872988197056c11e833561d0af36799c7e10acd7a6b4b7754231bbce5ed40231c72fa8bbc8a996a63d17b83b7307d02e4912b6d35b019c9648a6db051609911b14fc7b58473407fb39fb02e1a8cc8d4dabfb3bfbee0264fad544473761e37e2b2720488c3876f9387874834b3f76af0958f891cf2a1c4a25f7d868bd862606b2b53a10e671a7967ca80d36a634294bef5a240ffd3c3a7c96f019149fcb227994572b3624aee60816fed71457e77dff76c6cb2b5ad4dae0f467fe5e85e0f1e139b72bdd669cd4df6b807a5ea58f2a501f6de9fb495466776910a4f053f866ae3dc7210554711284bc543049e0f7f2075c3a9b6c30844f4c8ce4d6787a5cb466a7b45930d39ba347c004949daaf5c84ca9efdf0931bd86ddf58b7e58c29d630519d21e80c9fa5ec7d9f2e023dcdd22007c866bc6701eefaaf8dfef486cb1206cb11721ec9b633b50047d7afd1c5a8c41a37dc7f9d47e372fbed28c0d10876c4bfc372f61eae2c8bd9c9bd1535aac6baed65d2f0df9390f34492e4a38c1a1cc3da4904cc217ce29049f1e4454302ea2d483ddad0c88621d7a54b28a43019917637f172b2d9fc00b29e111f45fe1500fdfbeb5cf86b459c2443285cee85b7c7bed0727293e0f27cb0035e54fc047695d4f5af9ba88a98fbe46b20b0c56a83684f32694c6863658072f75c079a4a2532736744eda8418cf31ab2ade1bb646292d825ab09411d196db32eedb0f014014c0e6fc68dfdca6f834cbc46e8a2972a97999f3772f911942ac6ed982c4598a7eede8096a738389bb22f8333b0d454665a01d56e723eac616c68a594f8a5b4b7a722d1f0d245bd6c8851ab1369a909e40bb4899a72813026d2e6819e5473cd8ff5389ff42e9cd0b2a489b5633eebf6cf2ecd86323154eb3e6dc80f2b3c3f93a3a12f033a96a3383daf4e276e0528f4205f9db74c7282002a27ac92ee7082562827ae39a5a90447b989980f4662d41dced73f89f07268f1144b5b8ada9c964e10ddba8e9a1f2ca7ae0f34e8e3643b04e8d3d3f6d01e48c9a2704ec21014df0ecfe7f02d44c0f1b2b11cdc80fedec4d61374b338231d72fe5e0da20a85f4aa341171a7e876076523f690b4811becb7c23a68b4ca711c984b4cc44c9aa03b76312c231d1768b756dc21ede1cb4fa446786cb9de44b4290d05a1c562378968765f423d97b1fbdcae91114b81e3b5c66499e1b94f7f6a41346eb9e717121b3b3459f2a10f829f1c3e2f5516fd2d1615fcbf460dc2e31f72ae097276c1c31e0d9aadd6c3f3fcf567a4ba189fbfd79b6b204ded6edfb80972bf56c5695cea67d3eb740521630df7b575861fdf897a0253df851783e11771725bb8fecd1cf5d1f3bf7ea08ad91b96850e768f02fc04f3951af05f935908ec726807412483e8fe0c4014f8f40e659d040e4156ed0fae41bf81061450e27494357cfbe4ca4693e7009c8285e8ed9e3dde384f02aa8a4d63b83d14b22d59a0be726a65113909e325f59805fe5d985ca1d90d812ee3291e2f3e5201f9de96f00672a28756ba631dd6040f9bc2bed2f0fee42b584a7bcf78b65235835a8673dd6e72cf1f5da7aaee400d753be6f11779eba9352d3536a693b0be4bea149a4449002f442c1f3fa0fbd411270fa54ada4b4fa3c44065110be780424640be858a9ee872fd1538f4e4ebe0e24da9a469de004acd058716c14afd915b8b118152c79ed472685dbc0bfd67207d74a7d811463efa654416849df540e0e1080d50a2c8ed5c724608bc8e8f91c852a8a94984da6a097542f59a624b9b5e0711e3b775838f7a72db83940ef0889e90fbada82836dfa3121617480cf4ef367712233ebbd7763172cf91514029db7ce55bce0154a308f975769391e3c5715ade174224d37bcf57176c602498d1ea736b85284daff85dcee8cf3b50417d081ef9ded83431c2527041c9f950ae2f0ef7ad097fcdfaf74513342e208f1edc94b082a61fe44eb3e99e72f763c7fa9fde20a12db1b3f2ddb5c64b851b5cea1595a18eb74193e277755f7292e93b827504b060e8c15748c1800fbee92d255fe5480c488e9908afb92dca727b97edba861914b9b11220c7cfe76fb7e96cc75f58cbc0b2d6210cc8808a1e10ff482457ed2f46bb4f8d7b4347acf3eeaece8a3967864124c0e164ec678823721078e88ad9fca33393094d0415eed1716c7eac641b7361670b0bb9d1e84d4c2e972b896f81f6d768fa963f936934cf8c5d504fae641a10643715b5ee620b6e5d6533becac1c8f6f97536a4ff2c4d46bd9bb911668fc1e95d5dfac2476937257282550134bfafb6c957462f16a48c82f7234605a4d4101c550cbc2f466852d972d2720b2b183a63d9f563353090e311f2bef485aeb9f726cb68392f8ad996ca729ff18c0004ec0331cc6d21db7522e0bce9c2417381070e9ef74d616984950972855f80bca1ad150133c1c24924501485572fccccb812cc63b05751bf62828772001fa4fa671d9878999f9f246cd4494e968dd432f4bf13d1cbbf19dfc3c24849ed7da67b793d53115d05d90933b56b4ff72d65779e2076409c7a09b85b76c472cb2df4e56d51a32a9c7a8905d83cd64e6062490a99c90bba353b12d36c1f9c277b41bc1f89b1f1b27155f945e3a44fdb83a426400350263c82893b13f287680988d06ab39cb57a8db34c49f70984be9bcfa4145a9a1309f22b8ab8a1c86b74722083e09397aed63e7e77d2abbd0244508090c443fa2f1ea0626e6bc6378cac3d0ec428f14b624b1f7dd4755ecca48fc3fe3e73afe1f54a25488b0b305342877221b9bb44f02f32001c94dd14820855a88205ecfc2db7aee7ab489834621ff572c958fd3de0d7733be8b2f44ac6d0384545670b6fcf0dffc1e40c83c0bc9b147208c53b51f7ffd96f231c314b4ec52d18a439416752b0b6f234188b0dd57adc727843de4eff18b8390af8c9e9a1367bc5c94f69f2111fb9556eab82bcf0796672b50a6da1347690e995ed4553957b5df77316537edff68e09356fd3dd8799ab72544b26181a4a0824844d0a11d855396cf75f6eb47258fe245125639a7d3ab972696f75fb6cdc023c1a78ae2b93969ab5b24bf6f988f975b05c9928de44729e7251aa6074a9ef5071fd7630099b3494233213c774e681175097d65e7c39090d7283196a31e2d9af76003b5faaf1bb1a3b44e748ed3fc955304773e11031d91324e56d2fc8b2508eb78a8b2a01bf7475bcf1751963ec27df9e00fd2e1de02adc3b53bcbec805b8f538f902909c6a7d4f7d9a6cf53fe455118b12d167038baf1a72d68f6c58c527c6988ce6b8b9e95bd9fbdc39799bc8fdc5e85c6f3ef8fc778d721a4b0f2e62b1be21757931d5c7a9a2f694e59755c06bdc3bfb28bb8d4aa086483c2fadc9896e216af4451b29d12dc3ed482a8d94ba7e5276247fe0d6b421ec6a9e4b6c9c3590b298d9397b6d57a2df1f1ece3cd05293ce2a703b683173a52e1a758a6d33909fb59b0e380b3a6e1c1fc296e8e74e41cc79daaf6e295c6d4f977238616637f9480242fbe48cf2ccf8b943f32ec582e95f4c54a6171c058d839e720087ca501970cd45486fbe35e7fc48567c4e4ec154f03ec9eab503e0ae210f72dc86ddc82ed7643229247612a6ffa24dd31cb6dfa9f55d55223372a13e7926723a113db99ceaff79ba8ba8b086d5b632c1a9976f77c1a107793b0842c442787225b2679127bfd93fba477267aed31387c8d76d050f3e87196b9528f4a25d885a4d23671986eac64feb2a38a912814621451b82b9683d7a46cf43e46b8178cb7241b912bdfc0020e4c41840daf25dae21a26f5d0a49784ff354b4f7e86cd269400d2a1810ecd714974dfc49c1dc7ab40752909d8cc69cb0d171efeb914095f70936f0a54af133d093f3f7bc596768011b0cbcaec3234bc10c662398fce98f2372409dc306a30cb43eeac389c6fc228ded25d1ae77a90dda2c2a22193de627e17276be30b70a421eed537a56f4fc37b37b1d2e34ae2c279f017fd4821bf835777235876937c2d3ac21541f9f169a02396de3dc7ffd47fdfea10e99d023a74e5872916a100500cbee20cdba0fbe456c0fc6f4a7fec600718c90a1f4f9cdef26fb724554dd0ef42aa7650918739411fef50b95fee511bf13e353f27886116495ab7297611c1425ccf54bb1df7d4ef13315a5aa3916379ae8d906cb821e5e72c95c2ca363585626856b829c0ddc8c14563d257b6f9487a4ce4adc85f7d888e9322d44b01ff8299226b6bba239d1c51a9b526bd6fb0c14aef62a30eae823d1a7291572bb45aefc05fc55b5431ddfaabf407fb4192aabb3055c71d9f56f71f9e31ef269715af325402c45214277f28142a1315e0d7d05fac508dc0a1f5fe73277ff1e724992941aa439adb66b7d4e9f94cfacab1e2ab9552264230a68a918b19f0d87722edf7c833e5bee922240c7df203febcfffe3796cb7a9421cb2eb94f692466a72bedb56dc44d604af70fb155f2f499b2858b482701f2aeffecd2834a88770d4722e2520a9348a8152fa0cc0ca5057a3827d9b55185dbd7ff9a7492bbb92cbd13cc03bec1fa4ed7bf4e0bc23392897e2e042b4526b755abbbc22123107b8b7d172b4262779fdc18937ec0bdf4fe284ceb48ec8676a3f5aa1b4b35099cbefb5ea72c30f3721fbc3eec45b3b7afd54c0e264518da1888ffb02ced52d0eb8e43e1d62ee923dbed8ce6a1eb4542d3f2a631dac390a24f827e9c869d8670f6c03a37272b827b3bee053285c54bb93539d82cf875a5be980566f38c6b04f488dd7e4ae57ecd40a5a403c2f7f4b765462154c249536d438a9e788c01f61b29e7e9f0ff9727e5a72e5e6a7d19813b48d18c984e433e5335cc4b5bee0e3a501f93273469547fc47f246fc3fc7d2e409a16b6bffc7d9636f3a9a1493357029923cd9a6930372f6ebbe96d682df07b47a1a258ea41548af45692d74b30d3b4b5a1b9813045272c95eb10d697e2a171d8a346c046c7d290977047f997ae522d8a1bba9e90c8772d1cb78192618240f0ed7cffea67e77afac460ac5faef60ba87b289c253fa092d783b0b55184bb91be434e4e85e745477b6e290cf19a0618f0e2a8f546e06d972a6440ec7a34e6d9041dff9e8767158be959e4c585b4ff3ee0d86c57a4868443ce9476b599f45202e217199d50ed50366ad40c5bf95c689237fd0b90fa866b00e446d3cea5f7b4f5867fe54c2a8e07ce2b58569b355e3aff29016dc1880646f72cefe9fa16b9bc2d899fa3d92db991601f71c75d6e7ae0a7d3589df6820756a72be226af9172704c7a54ec3785a2690260056136757426badcae1e3362a23b072467669122ed82ccab96342e38639a2001dc357e3a7545f1c630699bee7755636c2a0d0218daf3f3c92bf5378316ae8eefeb2ca7baa6798748d38d9167724c3725be3db619a81827b073244164a811c5a41ad22c7728813b52b14a35ccb4ae672a8fbc9b585c1a5311e8f2fb1b0a12c0c8c0c0af1b8fb62cb805e281260240c72e6d713d02fe32648cccabaa07f55f0a41a993fd18830b83e05d00c4ca18cff72f35700a90a6d90a3c5865b21afa13acc7d2f0902a34a670576626cb57d2afe7277f0d6a59793d2a15e165bc5abe2c096c7bee77d64c058afcdc96ce4c01c01729bac2e9575cfd9082d56da3de09dca2869522bb1de44b30f393a2d1ecea0b6728a1b218c8d683e9a71eda333a42403aa31c20e1a279f725533a865a6497303274b0979e09a78acc21a0872953d81082d21657d50e6cbe1c1337eca07197f8d0a817d666333ac51e9777d330f3a2d255b70624e25ca7238fa5f96b7673f466a7276abae1cc483493dafecda42eea250ed8928ff75a385f7163fc066adf3f6fa5554dc6bf13dc377e9639d72e33f55068ebe9ef55038d6de7713854200dc98e04063518bb49e4d21123d212010f837a8f2909468ae2c60f3dec2827e80ce6fe27278df02f200b7cc625ca8d7e12af4a0df2bc2412cca5bc3361532d02f19b79a722114a688643047e2c6d9ff75d43c65b8c596421756f24003a125d8bcff0ec068ead9d7262cabc6d789963d7b8358de309724ef4b6efce61fac3f99b8a927fc72e81c843790c15b8191d1679555c0246a77787f011ef2dcede5bd02aa2a353472f66e54c68eb8692955608d459ef9ff1844228f0be2aedb977924596438bc75724574263b260666aa547fb86c663bed847f07428642000f1e4f8bbac079d38d4bfa38d52bcad3762bcf8074607c1af2bc0664077592082601a74d4faa8a299572e36a36099e98e24ddebad8d773468c1ac6495d7cb0fcabe1403b21246617a672695a88a8d548af3e71c883dcd5ac8349a8d76d647844a7a270ab2bf664d4a332561b7b155620d0e800f3564fedead46ee00cc30158d16f70ba3c2c904a3c593c58a0f44c13799983a07ca229cc1a251900e4dae77b3da5c5b8e7666d79a9c06a2ba4f6a4a721ac75131152cabf3148f01589f869471553c3c90f0a53a56d710c9fa584055c186c0eb2fbc75fd31cc07bae3076676ab0fcf551d07307f08b2f722dfdb2309af06463728f2555dfcc4f991310990833fada7532daca22eac22c0748e75b518c5d031305737cc3ae17b12c50fea4cefcb1baa81bcb2fb0336c2c01f36e9d3765e881ea12e61583280539ec701b227111f0ae50a33b5eecf9df3c59a691c82c60b835405c1ca2196e971a4076efec674a242b4235b8162c1ad0b072d4347201fb8e881b2f52b04df10018e934c0c13d4d60e9b4af3bf6a9c3666c45c262854cd7acc4d5c7cc09c93d3f5bf4828c71725b8443c533334b28a0cbe337cfee0022c63ef01148f86cd728b8524d72bfda11882af51f8648f16c0d9af3729b05f577cacaa2de72f3003619277846e2368bffb1aeabfb50a052bee16cd47242a58d0f7d8bb4b4a70baf97b04c3d060335523742e9e988b45f45bfa5578872b4e122adcd47488b7efac7607e88af8aefc600e47d7d7fb150b0969d12ef9f72396f6eef6aa52fd6e2cbac9bd783c50831b91cd54e4e9b64e58058750f5863728fe25b6ff744fbb7d727e92e8912cdc2a63a1920b4ff68811fb29f45488558728d392731921e81af0590f70505470aa78788ece7d3d3e3544d0b86a12afd72728e663c38a7708dc3851c2d4b15647cc1763a1c86a016bc5bc61631a8373c347222e931b7cbb5748a32bf66d010ba887be560882adb784fca527156e329eb4772466738d87ce3640d5002c30c730a4839ef11a131885b685e85cfacf4bdfe7472963228721db73eb3143d0e6afc3b39e5ae52372230eafe8cf39981cc232a6c72d43d40ddfa3b52a46a76798bf6a988a0dcd7d0c4db44d80eaa67ced5515a312b44ed39110928068c70d677e4d77c776177af7625880aeebae659d52aa8cb8f04c6a02dd3e762677aac1d67709e1db5b2295b61fd9c4498949633d35ba7a573723185b5e0509c8c7b4bcd790a1d1b0103d5b4a33ab200da1f4d06f6ade211c4726a358c5ee9cca0fd06ff60827a779c06b3d6fd2c818e50d626a22bcbf3bfa572281cd4896ee8c35620aac99dac1e47e74c35ef768b6d504dbdb07914f55f29728bf94f6c55a31e98ca44a1f9e8a075eee3dd6b7103a00ab58b5359176e62d372500b4560a84770d016adf9d52bdc97bd467a9c003226e4f8eea380d76137bd7282d2037bc67680026667cdd0865e1962b3fd5765a6c6174d5dab0d998dd4b472c20531358a22b4337e3b623e780fc35c38611f097872870f3df488c8227aff02e95dccf7fafa6f5149e272f98955ca9801aec7a4568f068ca1da68c7207b1d6423447830128a4f48100afb46f692cd1ab5b1cb2729b78817e99f19e13502a76d9478430f2d90e3cd16924cedc393b71ac035589a1475b5d05b7f0dd3e770f06f942aa702cd57907bd0ca0049036e25335b98212b0bf5355fcfe757061b0bd41aa0db2a24f7c18cbbfad6834091e518c3a2107479a77dc3d46c7d1f6159c7250ef07fa703c0113c141a26664ad99ffed12bacc98ef78422b0895c22e4ca01033c8e0ea407b3ef6bc701d56c40768083b2cf3760f421efdadfff952a8b2b239272a9c697fceddfaa3a98e06724727343ccf69120e3de79c78c9f76b88e69d0c672e3a4112a0c7afb1c6350c8f97aba3b62a1ec817e95535e62c3a7db983bafe71c500b50c1d52cd42c7ee78fa313a82e79f8ad0cb655673e45edea19164cccf972d290d1aa66a99752b200cc3111ea02bcf36d330a57ad6e123f64d397112d415b25d927bc67b1a4cbe3ee4608822aeb12ff29256c3eadcee81c34cefd6dc26e29468de847345b7cbb5c34aea9fb1476ea64da6b6e4fe07156fe982ae9137e88725a4d50e3c17b46b5a035d2014e01eecbd7d1e55e1a8e017cf6b3db7203702223484d12845ba5d3564369936ded7e0e7effc1cc3c2efeac2bfe074e9d8653df723b04b6b5eb38990b8ba7d71b392a2bc9814d6a26ac74bca579cec00c3fd02f56794d448b97c95737d02fdc2d2c501c1cf0131a362e9d5aab82614d5de656fc7276806f6d0f78345089fcc7483b4690e681d17466e61b220c600c493f8817ad72b6c981ebdc780d3accb9736ed6fb0d377bbdee9dee0d4592d84fc1bfab0a7924bd094271adeefb7f5364befed1f9d830a9ab8ad23bbff3f93fae5c73193e90721913fab888a72d7ce52f47e04f7ac224d36ee84bafddb105e4c16d49b50098686fd4007ffe4fa1cfa70c0864c94c7259f96580e90444ea95f1edef63c63c6b72db2482096cb638ec08a130f41a854f6c5b62b4421c69ef85d9df58b5c7607c72613465e78038fedb962ec192d64461fa85ea25af3ccd1adc03b6f4da38d58c1f735669e1ced042124e2958db8a48714cb56082400edbd696579708e6a9ed0c4164acc270c37f037508a3ed0ab907363f202fd37cf8ebc9edcf10dbae8c2b0272e62443d351443a8c681978cbbc6f044c880afeb0faa053dd4264fad72eaeb27207a3ecedba558f77e291a40e4da3bd5394d3c7e1fabb2bd04f4c2abe5197cf6d16689738c4bb04dd88cec0d4ded044247094bbdf16b9ad2d03aa6e83fd0da572ee2cd909ccdf0080961f42162cd237566c9e81f8bbab139875ad010f7fe51172f05e8cd824dca4e038ce9427b0f5bac31d1e3544490276eabcc1504e5ad68e72882bd6588be7ac8f1cd9d4afafba71e5888f70cbefc2c7fbc6a99841c8528172a4015881d39b4b47871bfe2a61e29c2aa24f99d7a97436fc8b0774641d69427034010ef06eada3e4795252561433f1a5cabba7e5e79fb52c8394e4f2a5482c7291d895f0634f93bb5ed066121e96c774d721519c93f4aa36f32ebee561bca77201c46ca3a0332f06b025e5f7f4c3fc09e38bbac68abeac6a6a649a465745c131d3e864c609e5a8ccf9e87ff88cd74969aca4ffa1b1cef7ff1aa162fcefce047229fd875819f1db7ac76182a64c98308b3d5ddd1fee5d855331565653234b4d7262ce318b392dea84448b4706da6b87849af7c0b64191947ff04387021a502b72f5c7a3297eddba69ede417c3c02a68051c6f26ab63fea6deab1aa08bca3b9372f18b0f0f4a4273729735dd76d71b6503d9fefd50b7eb2ef94167642c1eb65e72f41c0387aeb1cc7fcb813e6c8711454d77bc3f4823c6e111f72df7d9c77d92341b3d8f4300a228517a161ec0ad290cc7d48a1755208fec4c51be6f1dc366223034f0f6ec729e6154b51cb08fcdd333a6bf2f5415a1c70bef0ba736369a37c672556978d7535ff43bff9f5aaf7293c4210901252aa6870dec3a9a1382a68ff4237c88ca8497a5873ce775bfea1471f6969ccb71ae170712523cd2e5af0c2b7172c38db1357618dd9de6c6f1a0a2e589a2daa0b6a2b97544b9dc0ede58ffcfa452ecb28af50a46a549f6534296e8955cfd2cf295fa56f854aac70620f4643e523b0cbbb12e2ea2001e661bba1c6a5e5a17f4c1962183d9d799b5ef01620ef2d70cbd05cdbe642fcc44a524af0a9c8c052df41f62ff5b09d6f261c89234fdb69e19303bdf9a49dd571e8f4296a94415c446d190ff8e68cf1d9a0aa6fb4844a1a072bcb10ee3ed0bea6586f9207f58d7cb48e7fb56be068ea3816e5fba134fa6847284e2c23f8b1ce544295d522f3e44d2a37939310f6f0f5f890827af5b184d7e72ffa339f988c0c74701bd1828d3ef815c390d025ba5c646e6078943ba04c7a072b4a54d14569bba0960c9dc2c6655c710d598365591a07e5c96b08b760bb4df72987e204f953ea6ea7e84d01fbea14520df20d3a32f5d3c5ac59ec450f36c232097ab464c652183de8388a71e550587ccccbe877916d392bf12fdd584c7327a154b0b7528d6bfc4c4f45ef98c3998d85d01c002fd3036741c41cebe151a9191723a31f793bfdac0bdb3a09b1b532994a8907f0fd540ea99684157451f3f6e9a726efd8bf397bc202d83b9837f4f90e94e159497b6522c369b67d00c4a14b8f0721c276af1c2a0b767043017de8aa275228b0d489365b2b5f08ab04d1c134cf372bdd0d9b7d5d657844f459035722889bfde4a11195fb0a6db4678142d9c4e8172c6f3d000d12a1b620843ccb4e950a9672c0e0e0330a081001dbb6a169e8de472463b4c7fe09187982943ad65eab8b0c32e4ea29f23ccaf373a237547dc936b64a2ab5284f21d46a5eb7f88ba76d38af448eb94c499a1cbdeb0bf24440ca5e572f0679e758d40a3790ce9e4370e420a7d283e23447393069a4a6169498ee97527759fc6a7d85f96b71a24cd9ee72214deab3f7e7ee8290d4fb5ec32ae7ddff672c9726f09b07edc6cd23d3999c84468f07f443f0135297d49b8ab18164c4ad72bf611d747152f043f814f9b41b03036148c9e3d396c5e5a1fb5df9cdd4eaa2b6ded17fe621fc6691d15e5c77c9ea195d37f0558b63589a53bce0cc69dcd5fa32b506929664d6ece8e888fa3a28470dc4f971904c5869787296155851a5a3478129de366fa7df5d5231d14b9e0fd9f8c1aa0349f3e253ac6ec1feb5a48f72e7c3fd3c73e0fbbfaf6cef360baf9f08e0dd8b276a82d3c88ddddc59c732b948c49729654e6828b33f2532f66dca7636fe50f4df40c0936860d1571069cfc559201380f09d2ce26a2f46db09ce975ce10ccc86120eefde0d42a426db7997f7b2a2972f15fe2d9512659d74bd4dee886fb584a48a57c2277b6df34567bc2b420272f7237fc3f43c03a5bb9acd36c971d28d5dda307c16a824da4b6e1ad358b5ccf7272d0a609fe496ba113b64460123139bab2b47078f04f05e4d694b95d90d1c00472a58860f8d0013ed3f43f6d62b99e78560202b5dcb5a555f4e162ba726c0afd72d609cc3137bf79ccc694c4bd7787f1e31feed76968a0d7899583f2886189762306146b5c395852073154e6af84e1d73d275dc8f6bcdfcb954111d2b68de3a262c948d41ff3e4bfa9b6a4a0a6637098a52ca51527b369421ac19358cb33842e7222d609a154c0712cea1ad21afc52d4fd9bd8849aaa477b86c2db7b8402c53c592a32d15741fd1ed7678cb91359a446d0c2c8dc37392b38ba279af847107cb572ce5203b16284fdbd3af565e61f7497f6a0da78af5e7bede81bfbd5ed65fe6617bd5912b590b15c0a5e7c3b3b8e76b64e18341e8da41fbe7c86ebd75c54e3d66d6027194740ec2f22b2a6c475f7a02dc1010714b932734437ad26f86a8e3b9a7257bcd0b8c8507b9b40c6cab5efdd56f3a3da7f4109d0adbc408e8697e33a112ce3b3c1716af7bf91b45b87e545269a02e082b05e6febe52a14599f8f97a5330fdf7375d597b8e58cee2b3d42f34e2d7bfab216b05d3b49d1916233ac5c94bd3dc9d64c925c3084640a6be57a55aee277d5baeb4bf61271857c052a0d134ac972c3f2381de201f1b993907b3e603fc0f8ebdcd4c1a5aa4dc06dc740b407e06c72092dd91939b62b4797ac69d1a9af88f56a15fe0a4ac47b0e36c8e166109df1720881d0af250a9c678e401d29ba7fb816794357ea673fd4eaafd05d1a24c1c372c36d9ccfa9fb3d08e43a8d68ce86e796b90611f6d62be96705d87d6a9aaa0972c9cebbacfa92baadcc206c84f5c38b9ecc342c3b0396faea40c3e77e6720aa41d544bb18d4fba017f158e6c6625d7d3a2efb473240b165785ed1d672c7f45072b1af59ef67dfc440ec7f334d7cf01f6a0f7fef2564dc789d2747cd8ac279a372081d2ee7ca49a958ee9e7be279d21e3d2dcba4bcb24ed05cb8bbd19d4eaec54636ff18163285735c40cc26bde02a3a04506099c46465cd5c380473975909806689d42dd7573f738458447b2f91275b5aa43608ea5cf0846f06b7534a0127c233c4075dbea82529b27330089333580443c87490f67948a9e74042641abe91d37292c9565975ca87686e002cd972b705f9a09228fcd3a193355402308902a105126d16b3898e3876e09aac00fe76a7219affeee9b54537f33eec92b4995ce4cd477231547a2111ee14d99befec8ef53a73524f3f1f693fc00dc56f9838a372cf31505240fd91a75d92095c4cbfe830d94214b2073d8dad3b7984ca3829c61717544916d61b632d48c40b3136fb9e866072244cf4829f3fe97e5b1a14b1e69cd70c5629ceceecebdc438a2fa7be13219dba1f2e2ac2347e2645f84a53a30eea143a5e132add8891e15d96fa0b4ddd3712421182aeded8146c3c648a183ebae45772a4ac9a257b71f42038d7fe49d331bd3b347ab1738dc830840744faad9d62545f978c2d817957cbde14694aeb716533da0d37b456d3327f7b57866f6bb3afce72b733c12d77efbb3985ca660b59d5c1cf278df7580618d301f686d2de2bce0e07fde5d0986cc403085472a19512fcc1672e2221052063e0b6fe2e805218d99514674d07ac65ced2787bddc5a214eefea2e992dd14869431aae5e104367231576c1768200c29c3a458b8cd1b4a82ba66d8950cea6ef4299dbdc1c1ae32c73ebe72cd1f3c469b6758e2ced229fcade550dad3b4756342f313ff6e7e6cab92f69672cb2f0f1206e3282533d25e2ae4bc9dd3dce44fcff7fedf5a368f081532ec083a446f6c89112788b742ba9c19b1d659aeca4b664060353501b4ed7139dd9b597285616ecf69f10d5d6594570cb26720c47a38abbb13ea1ae52a064fa1a037f2461a37bcd081ec5d3dbf067f2d4c6963df939fca4d32996ad20e8993ad3ad501722c4a3d0e0a5d459f57eeec6d79037f91126deeaeb2ab97c1762c6d4b6071fa434e3ad61de2d39a6c0bb8678609aca398f51fdb441b35a4d3962b0d1f48f1331d083b16f06a6b94863f6155a0a87f82b6e4c0d16842895bdab61607c26508803bf1ed85b317ee99ddc92a76a59aa917c4c56aaf6a35da663dfce1bd0d6fd7344cb31e52bca0cd2681ff8d31b253fb4289cf1e4de6d95ebaeb701093381f730c72b7f69baf0e1757871bd40ba965fa9c84f3cc575c8a166c8c4bfa65126d151e72c76eea4f10b19b9b16adc7f0c12e3807cc4c3a79c7b0a10d07166a431f270a72db2deca3d613606fb371ca96492881f4ef96fc7a2d26aa14c8deb2af32fca87273290c13d6ef420d8107ec4827e63d6b6fe52a41f3045bb123506433dde0f34b59dc5bb7d6863134fdf6c7dfd49110507014b512e3b594858215131f24df2b5ad394f29c8e2d10d8a7c03106384b01e6b118116c7b32b5c446817ec59d32b659305d309e0fe6c0e6eacd58f304825e5fe17d67e80fd4e9dfbbfe5e5e1ddf2b723768a70c8374a961f43bf6a2994849663d55d940facaa22908f99ffd50fd531ad3cb0dfd65c41f4cac9e73aed39d9c1ebbb088770bb5225748d6347767887e12232ec9b14d95de034e1b64efce17b4f77839d3374e3b1e034accefc7f32a7572f77d0d2523ca9590fcfee7ce6f9262177cb7d6e166a1ed952c2c897fb62c0172ef3a68b15f5918681b9c90007cbc476188e5d1884acd313d25808f4224af237224bf390158815ad15495009cef61d83bcafc19f3f8974066659fc7b812321472080b5a8f7f9b1d5a1b78326c8fd4872a80e57b4f4fdeaee0685b452bf88f754351d830df15758dbae4ffe6f381f639f26ed103a96286b23cc9bf0c18cb728972bd4441c4d67e00be2da0f544199f53b89670d8236a294f5d35d34ede70876672d2a90407689b3d69d9d96f67110e4bf5714afdb110190068c85b53ebcd7c547212c607560f9bdbbaaa077c63ba8cec8525f286dd21879623606511b873687f72a3d067805f1ddd456de5086db20ef452b8a015cade57866b4cd760d5954734725ff43739ceb81baf3ee056d6941b4983d65a03174af7e6b86605eaee88a349724b896eddaa81bf2903b839e5c9c710e1826e94ee6abf7093d0eb724ce7318672f435b2e3bbf87c505d6021ff13fbb46c73fdc355a0ec774bee8774fff87f0a72da352820b62af1c97782b64bc5682dd675bf8df3651e78695a103206683f3c5083e6bfc8bf4053b86c56080b6405644545983c5cb993b3da2d66e2a58802a072ccd631bbb76d6d7c27d31ef7a4c3b43809c83eda37d4198409e41d706396e872a25fd0d618804e81462c2c7c299b2c8076f93f92639071d1d33b62cb0c815b729641d8e87b5ddb783cb966abcd4dcd20c4a8a174eca2444808ee24ad19e5e072f281b925d35ab1149ec767ef0040c9b016b6fde8771bfa146f7662bb358cf972b5f9b6a52d1fa9d00c4e240dbf7b4d95667c5582a258f74bb8515e4819065956a0c84ae9ead4ad517d3efa0d754811b14e77722606eb79573c30ce0e6ed2a40f110b0a4e1cc624e60ff57edd1c0dea3f06b1101608d536d4ebb148f605e19f724fe7d5219c519fda2103d647b20c7632a88bf66116326c895292abd4ed7eba4bcff0791dd25550e27fd6f20ade047950d748552e6da92ce2b16ab95860f68c700afd65c1c0909818b09ed8355d466dfd175e37377d4d03490960d3a50d4f94728bfa19292576785ef5285eec31e6548c5243cfaa6fe471c3dee1289be498d54e17933a9990801fa3a480c9597bc5edb5fa8005407555591f50f2d516fc59e018d924d18aa79f185e71eab1de18bec983f3a9d046b3cef31f4c9b06553d4a5e72c38f49c27c331a2d281561df251682cd80bc7d5da0a83856011a15b2baa471723aed0fcff95250f864aea23eed66460dd382cdeb9536176cfd6a8ab32da44e1cf2cb3073f4c7b76aa88067fba616b4afda3cd963f8e8c29377724fb708ee6903757f341a1f59574cfffa644ed4746ca330f31b4c248f4446329f9240326cde6d1028dad23b559f8bb61f689c01326637d61cdddd4147b2eb0509b6027985c272a698907b6f3d8a84d76fb37f8352b65adce599b7c62a2b3a9064f306e89dc1722074b51c8e487b99bd40b0ec0cabcf0ca2b5653f653d3de328a2c67ce9bdd919195bb8c306e74c78900257ba4f23cc27d09ce40a941b2a43388ed2bcf7ec51729fbbbdab6e010ab67b870a60d7f8763487832908d6a83c0ec13b6816f8737172d113ff9dd23b518fa80eb54a01ceb0cd5232dbcfa96a269141cf0e3c5a640345797380c146246277ae4bcab240498c164ee39310a733aa4e3f2bb96a2513986ce6f7373fac9f018de6726264c45924216731f23506e14d194ff1f34eed97715433635ca124cbbb844907673c23d8c93b3838a1c3cff316c786d0282d4552a47296e458a82299313c57acb73151c69c4a87af0f02d56d8b61039470fcff7077131e70b04b0deb48cfb98cb23a793f798e40eccb9232c8c7399d6d39a444bd7472d31a645e1e67637694d5d49854f22f313e787e11fd3f79af59b442249e13ae729e4f3a14d756952b33ae9b8e23b3f45262327f97c502927f0cf7fa0bd5170872966cba1ed04977c95709e72bde18cd98d3f771dd0c497b8d91a851266ccdfb608847e9bf319a73500bc4d00298fdb9c583aa8585a2fb2ba7213e3ac71cb7386f5f67b56aee1e5623c3f54b6d303ccef51f3076982deddb8c10ef4fcb2d11a0554bf260b8539d662746279271b533815653b6c0bc1c951fc58de8225e0102247299836eddb5fbc24fef2f3b32d95a6d68cc52a1648b74583bd337f8ef9e8c635ef9d1cd2a6a34b01dad9bd25a5ff120bfbdf2534ffcc3f8ea60908d3f1a0633724e7fe62586c217660588c101860c35ee7f929b8647c9181d78d1a10cc4bd7172f35e6f0eb372e93c4b4bff7f84e2351bdbbd8142e083284bd08be1f4982bdc7222b51d925087d0f844b98c0469d6a27844488afb4cc84cac67f243ac33ea1b722376afc37054e25fe4c86d84772d91ed3c2fb8bc839aca89dc17137f7921876485e802652c2ea3a235ba82046d60912884cf0679533b752d75e8b4d67088977245a39ed51b24c425e23a80b1f82eb312b922c763ba0e548dda08e2f890b71d72b9987d85b1822ba466233f6d624336d06d70ce763642690dcc52d41b08483e1ccaabbb505ecccc5bdc03990b0744a05da2230caface49b988c48a9baf8b84972da46fd1e29da1595b419c03387f6b8090797405d0e128f15a4250e23dd4cbe1d8c7c8498508dc8953f85657c2e639fc6a9450f7b1312ec2ec4d73ba9964298724bd453cc91f53d788efbd6d616dc3783c4fe677df8f4d22de5226c5165a0ca7247e0234b833c67f92adac75bcb3553222faffd91803d45e949175c7175c2c64c907d819d03e5871d125dacfa39386c8dacdb287b3e464ac68a7cd90897bce972095615b9a51e19b298a9d46df003c40a1f3c37ef01f073b41c486b43b9cdb6213092f1d5363617891c019fcaae3a9e7de03dff516446645b9f4a3e233a1da46f5aa89c536aeb0256188e10e756ce6e4804ed0b0565643c5049485413bdb42c16efed704340e3f6f7d50958bf2aaad173130dd8bddc7832d1b98859191f041f35bcedb716b471a2a0f25a149f6813b20f6782b5cbf768886604c15bed289d7018464f38284e877fe6fceb957ec1d92f34e4c943fc9b3a4706c12346e79b76ea726cd01231f5b39d3f4f1f216a9e5db8432b4aa8f67c8ca78915332c2b0c229572666ac8967a327dda9df83da6c00ea4a495f4cc85b94d4a3fb32c99162fe0fa72fd82c6d0e06e57bc4e967c55a634f84acd41e1f457b2696ae49606fb1d9776726ab23f39b9e2991f607dba38c6d90782464dbc61eb36542c04b07e2079d33b4fa85b7f9942c84e7fa6a3fc6b787db120eac2f229d5c42c5cab9fbf93ed223b72d24c4711abb62eff301693c973eb81cf7f24dc0a09a4d1999b88c000de56d71fbc33df846db6c504153be5febc8f76190468f22a853f135f9f92ed0ef44a44721df080958afffb3fd555f14470df5c1bb374ba47b79dc46d419954d431c879722a88d573e51ef27270e72222e1a01a9166a7f2c20891083954bc55cb15bbbf723788ba5d2e192189897db8834b80cfa26cc2008dd7ee7d731fc1d3b52f38f0721cce5a57c6bd0b84392b724d003f6cc363882fe904373e88fb4bca06d071327243bb3543100cb47ec1281af5cf7dde96eccf44350052b2e0761feeab39d40217e0148026c17c02e702de8030d8a5dd4c204a5b3f5b823e8ad4c79d8b3fe0b272d423fa7f0f9ebf4a9734ab29d6c07dfa592d05a138e03c063303c047b0470126f5d7b92912fbccf2c4e9b67b02dbedcf16cf7b26a69a99fdf0714abfe3678a201bc497a7bfbbb671b4b20bbab113a3ec6532317559ff176a57493e286fe94032982202ee5cc9fb242dd54b35a9ff0b3f325e57ee507fadf77f9a716f21360d210349f02fd19af8e20223b8a8315e654502a409e7b57d604189d8eb77a0d53b64aae8b491689ab935ae3a33df64263700737287ab10afb87179a50ba71190b17262fbf9ad4b5c6703f80b2817b6008bdd091f3f8eefa05b6cfa3e80b5d258b97202ed3d4b130bf134476aabfe7424bd89844e54154ac86c74f55fcd351a8dbc0b7bae88132696e2bc150731812dc3c4e0a0812ecdd679d0b96391b8c0c74f5510d81d1f63e51a5e05f62a6bb5227635f275a38c80b4e239afad2698ad31075a72797588bf9b59578299838f9e754b7de2b9fd28f0813808f20eaea1a4f5037872d309ee00cdfdbe4870ebca2bea05ce61cc0d7eba28ee08dad1bd8caaaa9b0d102a201f06485b7dc1f16a08dfa6f715038babae19c09c9c480b4e370b78caf2664de2cb21fbdddc4c175f092576ecf5a2ad0d1d0aa901ca48918cf95171c4377228e3bb5fc3b1e0308c68096e30514ef1e474100e2511dfd95255951891587811bafa111a3910a50600c35eb708c9b880e16e0db2890f0d04f5252d3ca15164725350e06c0fa65dcd0eb8375c383d0ac276ad57f8a9abc26eb33d20e0cd656e7249061698ce5855375c0389f5b3477233a68771980f955d3e552de0db0196004c0dc95dfc80fb931b0baae330fba334c32fb321ffb2b674389cd3c82e368854720c422bac6849c61ee6413c2b9d5d01f3e76cba281258abba8556a4a662ee1072b710473a2dd0cf1514b367b24475861dbea05b158935029bcdf9ef17d19112721bce1802bfb9f4cde6a17af130d19b8ed403a1929b5980e88a4b85d87076b772fa8cb9ecccda14c613e05b31523233aedb2d033ff002948a4818bcddc93c33727924b295a31d46128eb5e37efed82f569c906dc3e194c940385303cfe8e4c572994f00832f6f32d05521fe9d00e52f410fc0cde8e2cb692f36e6aacd9259161d7d1512cae45777850e0f32a59bcc08e94bdd92771e93535eb6ef62de5acf745e10e7f24fbf871fc8af1286edad71848a50c42a8c3d72fa30bc84d00a70282972affd7fc26a7fa482d8a39b8fc1b80fedb8e04790dfbcf8ead2195eea76d15072a0d19ea1ed41458aaf0bdaa5da665ce45e29ce6bb6a7f71e2ef4c1eb36927f183de360a6894451fe4e891f076b0b3ae75bebb1bfe557f4288b6973d90b8fff7280c457e2df39dc7ad13b3fbc1d9bbcd2804cab59ce6389870be4908ea03157722ecfc8473f0c84fea171aac246c6454cb51e6d12961dcfcd355e785dbf15ce72d531906d6c78c312fe2c891c909f9832251aa8976f2c653c8c9236e35a5d3d727bf1c89340e6bd6876ae7239ab0daefa9d8a5f7083e2bd1cb0b41a86e4433572474c83aa1d6a819e7f0e2fd8ca28947fb5859715a78dfdbf6184f23269d6c2720097358ac326a73f0cad6617aecbfb0374fdbb38c76aa6d860382fbd0226cf0b64b8901b57171aa351c9e06d485c675dae328649bf81acc9201aa5df187dbb1e1c9ad0f6fc81d3e66c2b95aaf5444f71530159d43b81deac3796c2a5d800a34290c343648c2d0328528a5e2ab985f8a904560ceed92024bf884bb892e9df9f72b398c083b306f210d88b45928af2f65536abda420ba6a2c2d152f9ab643ddc727b545b31fea2fa721e265abb2ce78ffb808944dc5951c88c7590291a3315507291c9de8686ae0bd7ab3201249ea6df772b1fe638de0dc34388dc91123a6af272d0999ee922f1bbb49ba19b8301cec37c04f3257a4e157dd27194d6a9bdc4f17269dce61d4a40f1387f036e7a71d6f8f1f6fe676c9475ecec03a79ec8b2d347567265bccd431b51d690eac2342c56692962fd00d8adebd55001ca5a259431c97207a9275fe6971a09d4dcb5c605df77d6bf2d8898bb05b9af01294b3113468b72004677432eea4a892023894b8ec7e7187d9d8d2d64a43cf6e46ec10a4d8ef61c8614da219ec08018698fe4f90e77595ad43afee53b9afe7cab80d59bacbc5a72089eb386906e40a225d40fb2f78a1370a7f39270ce8a7bdb26103a5cf256e143cabf90562c5287f6f2df6b174986f4056e54547bb0b31f69291ba6f66c75ff727bb727dbe5e72cbe3ffbeb24418e6e16bc42ac3a31544d0b4e582e135e781228abf5502b0116cd721c1f0f5a485d8b444e0ea0410f36fa4375e790c63a43a015e339cfa26ef62b6045f7a768ecad402557dd5dc04488e4fdd1bf41d1169ee5304e586959c2717c99c2432789fb70256712907b77e8739a85ba675bb635d6fd72736074d1355839346ee95f72aede25686140f40910bbd38c52aac1b4920d0b72141456a5ec553ed54ccc1ace3d1f424179c48f686e75e4cd0f64f6125e29c272acb5b0f594e3a088d3518c469baeba0c0367886e1ffaee439fb1446edbd66e57ae8f76f142cecf41c0fff901f0063b789bdc1a8d327c8f118892f387ab0429323d1a3d4e5fee7f6e374ff89a3d92d1f67920b239f73ed802f75c6209648b2d7203b8d477047a4b5cdb03c77f9dc689b09f4e3eb6c729adbb62888875afee4772b908fc2df1790f68ce6a05dd3cf43f78a99949b70670a8ffb128ac5b9c1b1e72ece6bf2910aa7266caa862beb27771b30b901a5d4602d36d480d89bc7d732572edb3021d18b5f2ff59cb09ad2eece1da3fcfc77dd8ef5595394b77270ce10972b049c3b30008975327c7802d20a5db2bbb58a12245437b669959ea6752b2d26f2d8472707880994ca8b1dae367890c48b0ae0d6440da47e0982682d16c435938b2eadce15e0765ee7847358f4c21a4edbde9b534347d397b8204fd4a54ea727208ce2873eb75f769a5298c6ca567d90324bafb94152a32b99100c0aeba454172c88a68a5cb730932f93b5f45d931db8ee8a7c22caf75d8fa1096e9f47c82337241c5c973f0c7faf651bffe83807554ce33c8e4ccf8ca9966d0e117156b1488725d6ecada663c6999ce71f01fa123a2e2648063a3f1d190c56ed3dba9a9a497728c4f3e1655531e47f9b860973c63a21cb2a7d01a15ae78cc6370bff485d2d572ad62509a56e2bc9b3c9e2c0dcd7ce510c8723cc2b2eb62299621a45ad281ea72584239dbba64c3315f6c7161985048b9ffcb7b4735c8fe4f0bcdddac02e85f1724deda26615cd3686377c4f204727eb07619d527f66014adc469ed6cfa32c44b79a9773754d483c834be6635256f561ad575a8fc04231ad8c7e91ed84785ac72ef3784b128486c24c74c0e3363375f25c3f2f072eb63fbc2634849306dcac37263aafc12e63972ef2c60989f609f3c9fd2cb22206220744b4761dc3f02b077720c710ea368877c43c6b10cca54885931d3f7005e5f9478a2ca4b0f50308eae7238b63badb6d8aed6a64938b2922279a13958510bdf609c54bc696f145dbc212a28335f2a8c3969c46925dd50945533e8fe1aa63c79f895b18d76f6bc0ec2646650914654b827f3a6c5e41aa450a239bfd940e1fc94ddc406038c50877a465072e1a1707fe5bd9e20f708b5000d87d963856c9bd9853cf51b46c0e8a005ad304344e26a4cda28e880bdc2566d6efb7adaa0b90affed0fef25e381f9eff5c22811ea786b1eac3d8eaa568a2a6d0b40adad091263c633167ba1a40f9f277705f432d1ebff6a6597e1223879b427fac424b9ef861f2a5654f2b3aafecf056a7a4a7245474bb4e8f477d1e2618aef35e481785367716069f6f18a3f7a2fc453803849b4d6425128f0e2169fc7853716fa60b11116c3ea1ae241cc3fc74ead87eb1472556657912cef86d1d41f6914cb7607fb95ac1ae3cf6e7009155625b043c21f72006ace102c3177f56c2feb16e7a600d3eafd3090890670e1e349496c13fe8f72901c5a86a7226d8664ba5684bacc023de06b7d414a8e4f3b33ac4bb61af25772e4f2d79bfac4150eabf1beca83cc386bdb23a6ebbe88c25d825e7c78f211c372d6b9f43f2c74d8bcfba02578eea5a093ea7a89d02acc47d8cfd63de4024bbc724b25b257a4746047d89ac9fb84900c3c41eba4b65b4fb650316d559867a53572d94d1c27f72be8cf300a69bf286509c41d2e41446b2c47d0a1355e757ef32a72bd77129ce90563ed9154aab9870cc24217f57f35717a103efda26ac575af1d7211dde4da9a519cc2522f0a619fb0237d50d69a8c88c74feaeb73810b8829a6722d73f7446f45a10d532cf13e172d6a54dfe8dd16f24f08d64c46451b82c866726b55d9f4eff01d90bb9b88d321a711ee11eb45906796ae4646cb48b4b4a7113e29365f5e6e0c6268adcff1f978269899de2e13995b70b9d82ce1b07c64396564db29090119b0ccc88e85c1a87ad32fdb5fa025f86346270ed074832b143d6d723040136419fa526f0404fe293b4ee5ba1a9397cfa02d05c979c27eed38f4dd72b17fc3382c06e27d63a25214d0f7ac803a520288db8a2c7be1f5a94b7b5a12168197402cce54c34998f24b2c17f1026b656bd1997dbba8ee8ab5a1521bcefb2cac11c4244b71455915bca4d66e9e11901f1b4cdb3b206c4045f4515c55141d6aeaee67f627d58e3503cd7f8ece4297c475d58d5b7a7927bee5551e200f7454727fd4dc300e7d2fafe9f3679d670147916591a26709902ad66369dcf4f0e9b86531f0dd1ac26617d2120fd6562a60f8d32d3268f7fb736e904ffafd94afc0d572d2a5f105c1cbd26359395e56a6da1cd8549a51beb6a1738d948b5b41c9c0e572ef926dad8a18479bc0e03a95ffc46951705e199a3e3894404cc68e8bff5b9972caf4a1559351c35efce86af14f74070d32aecde967283e768ecdf421ac30a8657b0fe7c5e38daedaff840efaee516273c0b1e74c456cfdc21b26a6a0b8d03e72b4176d4979430f59b07f7475c1e0387ce246668ddc7f3245eb24c96c89b2267168d55c23c0fe941ee83c5971c121ce8f276a1c9b484ca9acd68ec8178953500638aee73cb6ca3a3d96e42de581e75a3f51656b40bd867118f31c800c8839ae22ec64568615cd26dad4a28e2d93c2d7d6febad90f2702e22cfd18c89f5405345a5feb2131b4e37449ee2f06844d6c510477d79d8ac088e3ab70428fc9f7f2c972642c88a1dbd39f610f4fce7dd3404ce78fadc6f622d4b57a86a55df662d27a727520e900a0679374ea0b856549fc53251b0f2d69777c46a9ce44e3466247d872e8be51e68a4cc999c27b4dd050f969ef48fffa106e2d617a4f77bc41675a29724b6418b7c79a7bd14d122c1d0b3e5f399de9675442595785543c3edc85589c72b7e849ca7b244c84a50e4ece7f46590d7708df40ad2c273e31d9f5f94244646020c637b367b188c61b75cf86225da9363ad61d1fe5341fbf7c758685ac0b2a7217e7ab34e221200d222b59ff196a3af921d2c9c1f82651c2b25b56b6f1a51d38c0dd124d53566f455dc84746d26f975335cfe806ff935e912f0f21c922e9d142220fdfa7957a21ddb07bf19ee4451c53b57cddca0676acfa8e453d3288838c72a97b84f12d70fcc5ba89db59c369ab3bf76024178a0d96935ebe93f00a1c8741db836815eeb075cd1553d2c3110476be5aeaefd7692c2a1f829f89dc17bb5472a8595ad052f42c1cc3c689ca52c6dfe7bb077f1d1c5ba93c0170ceea5d927272714b292c1023afaab316a9e6eba6704b7d17490a327ef60724c2113a2b88ec3b5c4d9a1b0eb876226196a4ed3c23e4117f77649c909dbeb6cd8229dab3131772643651f8dd7c8c0062a1de21762be2301b287d918f81d96af20fcd245cfb2d0f64ea9f9dd8f1dc403afc8e3ba3c5ab861ad4dbbf3cab0206770294c0f6b87e7228cbde678245e235621bea216bc2c8f974ea484d159ee49ed7b4de72b403864db8046811f0fc797b75231e44f20f96658a36f58053b85520db7dcc231bc9ab59b339d08942fb5df7030c0e1c90fd19ed0c752aaf0de36049d446922a4264a1135a12fe2f621157f31e52c9fa5a1f2af48f4d9eeb2d290014517f5fd18ae7987293c012769cc6a8cceb4bfe58b05b0846072ade71d224c7fc5ecd981f78811372e6a6b2638105b38333822cdb6829491470f8d3bdc1588bdd6b0c2084ca6516004f780fe2b5d813cb5de9639168de41464de0bdd712b839ab354daa435c708972ef5c3ab3831033d2bbf4514c8bd6c2d48bef3ecb55f86098cb09e457de72d31b7310b1322c89c43ee524b02c8aea9ec317f708fc9fa79b93963f66d563359c4f8a97bba90ee09cc2b406f2ad58673af889c4b194bab64d64dbe64d8872750d72e7838be01ed76be57ae7df7bcdf4ad47e56f7232d49f8612ff78dde84e43da1e823d4a21b2a3a92f7a39a63dc1596e48ee578f318e4c3fd3b5dee17ae5d8af72e4a4fc85ef97cca3a47c8de1b919791348e7c2a5c008d2c06e87252f0173917222e45a5109f9049496981a32d0281369e5a6c35afb5bec806a7565cdf33c191e3e48e8a8d8b43ec7e1f3e52aaabde6e42c902bc414c964a28b9c0218bedbbb7248ef89c517dcd048f4c0d15c7ba44cc1adcef0bbb0494cc15c410d2153dbc2727018932e11b730ddb74309f3c71de6523e2669a133f5970d3310920bb8028672db9fd738dce69a97a66d68fd54b8ec3c60877d4a7986cee9c84e5a2d54fc7946586c1b8278452fb55c93e309579c1a1f802b7d921794d2264ab7213060fef6720b25222716e2cd9c321f61bf628da54e4f97b24a000e16c3f873e85484f34e46bda3c1226b5c0f7778a7ba1146f21f13fc59d1c66bb3eeda50694791bf65a3152960f1a172b672d9b14f31514613bca2dfcd9196bc46b45b1e6714feb0b2761bd754db05b9526237ed2dae718e9e4ac194de9548507c0af77aa017f5b7f01d6f0273bc76ab748687c513248565728e38d59c7a310dbc2dc8e75bebcfd650ee72cc9f3ae5fcee1a47affd9ffcfa4179c119c4042d7a5ceb2ae6ea86ff1b713b7260962a85569f54cd0941c5ef39821f165162c56bc449bcb5f0efc765a8d9c672d2b1017edbbcbe958ae5f978d99aa1e02dae4e118f38f1c74ef429499164b3056576e9455f07235c38c2c69bbb34b50f4654d895ae64f482ca3b19d1da5a6d72618081e49c71803c07db585742f9d826baf848ccf897dfd6a8844fac756ea50443c5300a62cbe72c729f711c66c1c2dec74ae535eb711e464d93512196042072b6113de63f9500148a1e91f51b6761ecd8a86127845d2d0fbd64203b08c2be723e13172882ef18f584564c449a19ab0cc7a5047e79651c0f8a405738d18a507252b4cec3d62ef45eeaf06089d5076ca7197d874b452f611b94eec52d8862355acd780f03a3af9c9330d17b6f9e4d7e60ce519e1da9464068f0fb8ce4cef230135f6cc529321c937b7816069e515db3be3974d98c4d4545d89a0b31592f7d837211f3e76f2f1ee8fe964bc3ff57e7d421d483401695133c57f58f6e881e7769728f89712c41fb9ed1c5086c51238b05eb080f124bf5828a69457de4602c9805720a0f0edc9322e90f73f56ab8ffa9a42b34f2057a17a270f29adf4063c5042d54c8cf520ca5ed2b478a611c78a6f267e8a962ae04261fbeda1fd9150270742072dddc92f1a5824e1ed2038480ecbf4d2d346d5ea6f3d6c5e49135ec2893a6fc2bdf303dbe145f470c4da33abc91e8be1c3544b83ed0b726be597abe4a57bff872c204eb579f44be2b683fca89d2c135129f36f715d098d0caafc2161d844e721d8b79bdb035e2f946a701d3e6213e19c7ae8a303b53349dc008504beec3f13f06132f2513e56c0556edf35f8489852a8cb6332c676125c2fa259465984aab8634c751518f722f86f891a9f5dbeaab0a847be4f532f9542a6355c70032097ab072d9b4358a3bf28ea82dd7290523fe13e47b4f0d131f154daa3e9f7f3777734072e1039d3a792009c391b59dae7c96b5a764ecfbc7922f56829b7d1be25b6049729ea9f061aaebf3f72c32af7b977ba87b641a6e73063eb2988565123dc30ade727711672f30d2c1dce19f949c51c5dbde92a1f287349736d6402f90eaca837958c97fc19066a6f854a16c8504ab24519e2d91e27aee9a8c31417aa05dd723233178c9cd1743b39b66c91fb742c76045b88f34fd387df421fcebd93fe241a91f72f2da90381c8c8f2822c40203185806955f9abe931ffbaa4655b1c0c664dffb72fb1d377191661e04a795b06365b2caa4a853ef7e8e1367c8e48cb7772237b0723d3576d64c998b71874127a18c8516279d1f2f3b8aba8d27f04383629adec972301842c32fee422e5a29eb76699bd859a2b5c3ac92a55416e0ac2a6ce4e86047f56a2082dbf377b9c215ead1a5ad1bff67762cb70df5ede300a4b3c3b4a4a5075da8a360fbd3811a5666b7d1b4c628ec86abedf4fba51524eb092fafd36a394c2fd52edebd455e3964ee3c9fd02c11d6db23f90d7ce984338e9ae2e6458afd569aa937f0b5981b74d6ef64684f97c6092e0ea15cca4a3ae34b8d6a1f7595fd03bed515c6ae4d870431f955a2f5c4c329e375bf3d5e9781ac9a94b4cfeb5970209996d9eefe568e8f1580fee19d8cc7583d5009ccfb365f77df286cf863bbaa43d2171a4c299b4fe98145360d4bce06fcfd3f4e39d321ce9292e46cb21e12a5722a764a45f0b03b372caca712709b752fcab3610d9ec76f21c1a8533072710172541b570bdce67dbd552d265250a6db815cc3bda81eb1ad7d20adc75c48fbba72fc64b7f177931ddcb3762b4439eb164f1cbf5d36bbd5c0b57ffb002b05fb50325e91b64c4ad1afe1b23317252dfbc6e7b3d231ce4cd475c7ed817ac4b838ff72b78137da8f84ba9271f84b4fd3a8fe48ad43851eb7b67652ce845497488c9d725f21b28647a91f88b01ddd316f3ea20d0e0df57e708a1b0a688b3f842aadc37250b6659858f2507510bfa4a18b288e1fbe6fd1b81f51744ffa0c2749f8680e0ce8f15f02f719b2b67e89f8532240d1b16ae23eac7be38e3832c7a30bbf3857728814d723d3f58a62b851b04c4971adaaafcc84d9071c01fe725f25e2b5237f723829c0cf0df787f8d4b1379d2dbe0cfc36ddfd92ff72c3a457bfd00b8bdb5e09a1e9b954292cb970920d392a7833f5d651ecf29a53d6bdfaae11b8392e9e132059e791032c6f7845c4f19a4d418fb36150e2ddf7f3cd71155601d9e55911d14bc13724ce7b38d2ca87d95da90f259a2578401060e2f4701f7ae9530aaf1e9a67a7a409304a2d79559ddc3945d4e80c7b419ca417a27fde5f3c6c3d2c63b5f27258f36ac643093630e801211bc6078b28b835ea7aa29d133d6686df42fd12ca72d8d632ae4d2ee3facc832f615da7e8e2562bae03d9b533a4fcc806b8b5074072e8604b9678672d75bc72ee9d47f64eecbd8ad689b989e98553f584daf182746455776c510b4791aff66bef6faf700207862226daa20f60cf59cddaa3cb3c0d72cf189fe7797a22bbfb8287bedcbfad1aa7ab90af0f7ee4997d299a4106b1aa72ad35fe69ef4e34eb41edee09810ec4ce7bfdda1a549306c80ac40abc5dfb7b724855031e7aa1221cc8b584d1dd67f8ea9e12a61002e4c2fac02e491667e86c439500080501790bacbdcd142057c3fd9734d70137e19620ba834478ef73b6b772716727b10085d66562b96e22e9352b0adf0efdf5453c2dcc42af5361ea24d0726c4c4985a98a4a802c0f82bd9944803e54bcc9f31c554731b9a3ceb9739f695be7a5ec19f81a28099985ba788e1492ee81aae451d2dda0a87fccc8b28cb01d17708e1997e31c8cfed2a7ab24658b65ccaf12e863e949b48d0d5915e9a752bc51a3e08b6b6788446108a994fc2278460f034bd8f00f09d2d766d4dddaf0f37672a1c941104b57d878c22a9ede02dacc16145551574fab82017cae0c4d38c1c90bf611e32d5ac086013a68feda4d830b66708ca05a076ebe33aa97cba1d3ac1172383877e48791b24e93ec86844d3dc8402da7683f743ac5f1f2226ddee6bb437289f4ad9f4efb94af03746da7e3c767bb550f638dff67bfe6f5dea7d2c802a44f983de5ba57460fdcfd50407b9705b2ad31ad2d323bed4abf7bdf294281ea11724269df31ebbbf09c71099e5a6f98dd36abb22d80608b4d7ecc199d5a87408b609a4858641b0e85f11f07fd08b1c6e24d48ae2d982a4ca974202c873eded796434874d4427056a43e1b07ca00a76e1b0bd246e761296f237d0f01a169293be47261d5eb6b808750c7a00e46702a1363ca32c7dd955ecb74c6b72724a533dddf7209edeb6a288d7840d5b125abfb789873778684189b6fe5b214402e3a8ad06136c9d2dd894b02e882f2f738781ec79b0c8b38b9cbac12ef82b292ae12b72b2b72606f6a8abf18b7f0a1e9072df568bf9ae62636d5e36a84e2009223e96d7ff87240269c1c593aeef7e796997bc11cd5fc0cc42208b32509daca919768c2bd4a1b7168959bc92a65d5c6d125361f1a597c14a59847edb98bafbfa3cd069c5be972b3fe893d8b5a515821bd24133ccaa68cdd0d7f881becc1fbbfba21d0fabbad72418bb42956269158b195921ca633c03221c26e355d0fea0530f960c3863f3a72b84d01b8be22e6ac2c648ae773f81aded629153e8ef28c13f80c28c307abab071f7d911417aa4ee28ec7a7bbf6e1ef50cd30e6c9ef5a4bc3d51cc5fc46a5db725d7106d323963236880460ade30499ff7b23e87346b10511a5be927f624761726add04f1781b7f8ac2e1083c77cc28e8e0234e3cb21001102a433b161e4fba7215cbb911994f80bf1790425a73a61817143ddbfd8227740734ac9b12b7f7e457ee3aefe0e34ff91d52ac52b330059395b9bfd0b2653627b35d2a51814b2602728f1338c68f9fc8f101e96a0f2d7869bbdbd799f9dac23e574f9c671efc913310dc70f96c307b03325d63f7ed015931830d18c0a5bb949922d8fa492452421272aca8311dd6ea2211265f35967272e0aa8bf275062d4d2d6074cb0f18570ad250458f0bcd6b30be7566d06806e9c319a35ca4edbf30b3d0759de16df4a800123ea79269a6dd14f669ffc6f361e9ccc4deb7d43475b83eb2b6ed19a7f8705a3015cabe581938582afb76f538d9c18b764c525f50f98d70a63061a38c56de73ba7225b08cbde6e91181c45c1c76922eba33cbe4250d10d9e65be164239f5d449572a5e3b3a9e44496409982a58a83bab741c3b1fd9bc7e0c4dd435d42b81abadc29416b9502cbed6a82f62bd13f95d7a86e7f8d9965bb2455ec7054f17d93814872054f427311edcccb6487d65c89e54cabd08ed19f9da2b7025bb2adde121c9d7238080e853bb0805d10f77c9d8ba2cf843345a1273018c291ce00f5da8ff6d572cd8e36b62b6d5b1871cee2d6779066ddf8096215376f0a5253b0d732771a3f70a5bb5fdf8cd0587dbec91c245aee72b4c5c9fe2c6270764bedd6e218db20ca2a2dc7c01496da8bbacaf28a87c58666122d549a35ae16905814ef49a7828ff50b9abc48133ee3ceae56b0369e354892ed5a2fa9c634e1c9d6d59b14af79325b56ea2ac59665f988ca96da87b543c6b55f9fb631fb5aa6501c4cdc892a03e489726b898eff60a4956e64fee5244cd1d51cedcad223176106f70755de01ab5e22725be6216d8e5c20f6ad5108eeaef16c7353f8c0aa90ac10e61966d7d8f5b47372cb8e40969572153149d0c4a17c920764df8611a896a904cfb1504b4de7aebf721f67d03e7052968f560709df5ca586c0a380d2ee79cda63f6e73c65f549fed6424c0d0b56dd659d58b2083b39e80a42a81aa0bceca1887349c3908546af527728a70c60ab99ad6bf9e85e4cc5f9b00665f7ae47150216ba397ce944c395b53161844744607bde2fa70573e794721b96ba650f11b2660d66abfddbbe56379304f31ebbf1fa427ff11fb14018157fc1c621a1b2f3a61ec3cfbc9517228bbf316726878f4a010776e2bb86c085b5adf85ab63aa45b8da4bceba50b8e32403f8d73e30f5bb3f253a662fb027e9a45aa6e533281f7d7c493c5afa7af4ba48a9798d59f9b4ea42fced053c354e15073e46d5d7cfde67f696eb932f6cdf8d66d087967289e568eb8092681e881ff5b832b990ec5fe964e78800a23cf0e85196de65d3724dbde966525f6122f178ff46f5b6b8e03896697591c00f027fc37702803f3b210fb909dd18df524bd0b124177e5d6882c6e4804a89b344fae8792d5598c7ba0af07fbfe91e8e35cd9e0eeb0155c7e6d8bb4ad528b49c08148255495cdc995d6dccd2cd2a337341e658211c6739609c75fa51dd3f3366d6355d1cdc5c5621596a35e4e0caec59951b251b58a665cc6ff004fcd1f49793c32dc23ca30a87c5d5724fa7f3bb04b42abffe75617cd7986c886de1b850cd679c3a7ff2f2f200b5b3728ab3321ebfbcdf48a3690904528471d690d965a8b885b5008e6e1418c4fea672aea2e0652d648856a7587305f04a245776f04ae11a1238600c6e68a5a66c931daae417bc2645ad47e690cb3f20ca871eb8df39b5434c429954b9d7539989e472f7689d9ac38e01250a65ebfe03123e2aad929493edd6b880dc0b8a77188b6e03b0d9e5efd02b0225051d9946974a537e5998a1013d28c84f8132348bea7d332eeeda92128455152d8c6c8f213b884389020ff2e7d94c9d8099badcf9c4856272c6cf7c1dac2306824f59f087e80c1b869e6cef1e0fffa537b18031ed1f9b0572e8b3737ce061271feeb2deda54a781e8d90198d794902c0d286708050211d0720c850274e196105a18c567cecb3f4e1f50281e0f4788c825a09080b51f27e714f8fd7c3b3edd156ee573b556a9874cd6fa5639585b92d578917e3604e6cef6722c7b6ef74f9460358703de3e2e3e2afcd2bc8bb63a26ab997558f6aab6f33072a02f25a9695f6f9ac44050f15fe97b65130c5d24beb663720f7a9a689c935f4822f34b43ff0bfd9b7ff8cc6e0959d55b84890c633965bc54befd4976c02b7a3dd07a498d456df559e29b09b67ef01d886a28786926b5833e8da5b66bf6f06b377fc57765c7ba1d131c6a5481c797a9505d60a50ce933e5347664957eb94bfc72fa96d2c8d46956aaed8ed13b774e3d6a7c01d4fd4b5838096f595c2517b38920693ad223b077779a4cac55df5da7de9993ecd69355ea18286c7ec6547e95f11815d98313821ffd9f4912e04268593812c10b795a7da06d3b722e231757c43636ce38d19ce39d26f6e836a820abf632aed36f8f9457def4f5c643493ec4e6e4727e680058ac8744980da54d2183126c94e4abbaa36f7eca925ca2c9100ba4e272952d769903434ecb96dda42a8e3c281aaced44d5dcb09e7aadd8d3bfa3773772e551839cea9a36ab075224b4b1ba1775130d17e0310edc056e7631f5fe84e02a6572fd361cc2fc66b4624972ab9e1ea120be23d4ce370c40918c9957816cba3e4018c13d162e6b4066e9a2a0c1d5d5e25cda580ed2646257254760851c0db410f1a80da23009985d86597fdb43ce53f0aeb7372da8c7fbd1cf31840cee4bea72abd1d1c39b4e20e4e3ce17bcaf1b0abec7da0dee5a40406ba787d2df742ce0726a13c8702fd0b2fc2d05137228f197f990c8ab8d3ea0d020a796513f03cfc16671444d7422e636069719e9ae853d30c3d32ca6c77d3ea7c338715a15fc298272962d831b76f930682c5d7710a61b3166d7112e7bee13b696ba756384dc52cc19e663ddb721f16845815e75fa98879a00322e6e78d59b5818ca595441f9012072faa0dddb68eb5b291743855f836ee624c93c21cc915085e5c47affe099aa0d72b3a7fa35332c07624ad79aabc4c03dc52dca872f547a388aed70fadbc15e69467669a4424fbfcf79ab7b85ce69343dd61739455c80072c74fce4c34fd2ef8c7248f6dae46972b9aac9135d6a9523ec4bce79e172af403c28182c3f023320e272e938cd74b502384acb753a2b2d21f5c7d27e0d22995fe9ee401ae47294fff972245a14feed8b9506aa671a4f87181b67b327b7898a18997ee7daf502e6162a725bf7b8b202563e1663b15e30637050f3bba95ace326e7af07ab3ccf6d7e97772f70ba0827f41341a16cf4908f9fb9578ec4f828df1a6da5dab27771f5c726b250a4a581d8c7df76154c03b11f3894b9e676af8b0800f72bb3a180bfe72119072316a2d7670478484dc450fa4aa06c67737c5679aa94efb065ed5f4870f78b1727ebc990492198f020148e0f0416491e0834cc4f0ca3a0a16ba1831deafaeab1879b663c94c48504695a5f3fdd1c8822bd64164caf19bdf33c327004fa7082f3c991d5ade928c8f9d0344455413cb90eb243ea046f288f9850bc7a953d81078727656abd1e566995f2f6b7edacf08c4363221be42a59160a25303d45210655972305091d89c5e8799b3c1960dfd00ca0cf1da36807c895c8fedc63040211424724a4b5329a78dfedf1c2b016373bdcf16677946bca80cc182fb2916bb63c32c0d86b5e46d805a640a638676bf1102acfee80dd91998233a4f86a83a843819d17286ef196de7e878139809bd404edd0a8349c5001ab24719d1d9f0ee3ef2cbce72163ddf6fa2fa69b905ccbdd256589d69d8b34e9370ca114480334c8cc7e45e5c7284d90f038be44f642d2f6d2b901acfbe1acbfb169708e454cfb14d6ae95143f1b0fc8bae66719d72c4cb503445d2b3c7a088abe7e619cdb1a8cbd900fedd7282cd5f49b2c286db9a237af5486feaa50ded983db9dde139e7e59fad7ef8bf72ced2ef6a23831765e6a81d7534adbb06baf88458993fb5a8eaa799c153d0e00106923d932c7ef43bda29caffba05d4ac18198f6d0286a837460c2a9441021172b20cf221088835ca6900abea8a6831854978b80cc5ad6663d42546b535dfb472cab107373237dfff35b3d4882df21fa365669517f045d946ef43a88c41f49272eeefd88e4af3ee7fba7d0ea726666926a85da570183bbc638385fce40821787242313c9d03442bd2f945d3fd4312aadc017691ae376195dd304a845bbe27db72990208f5391a87eb603db655e321f6dedce58e4e962ab61516db43408fb1f86d76df4e3e349b444be48c492f9a3fd440fc571d4bf7c5dff09e3f04a241d11300f19fada2b668cea22a880a6697e09d60f18c253a7d4ba0df9409c4ef5621e672c038a69653461f6fee09b1125f7041a93519717bca521a0f5e45f1b098dc2272b7a7f7e453358ce959f239e8f158788a7abbd75106703de7d5c14b38cb6ce9065a6d1a3d3e58b440b0122a5dd23f5c499700cf85ec765821a9c7307a66d78172991fb140998782e212387ef48850b6c98289753e74ef453a52801eb255125119846bda07a6064bb017f8c9f2ca67da15d32fc8f2fdebaacea4e3cd35c58164148f8b1ccca5be85632f013ec4928f87e2680e7b2f54fac6ee72e9dd5de9172a08ab35b5562339c779cad5a636b90391ae3ce0b0ef48f1f7b8467119a23cf70f0d66dd545eada4d600edf55bae7d8a33d2b3d307501c317c59c2b8f45fd8d5d41849b7fc890f380cb03433fac5fb424d8dd020df5b27ff51f8cb9ceda2ece99f726587b227e00e34ab6cc45bc9a478d7ed058a8c95c5ae4fbe0ea24dc306bbee726c0f9f047d00138e82b4ecb5b8ac8885bb2f9b90746baa5c346d3f0173e4bb72adf6c2db135ea03111e64b6adc3371f3415656c06a38819cddb564b7bdaf3f5e9e1ec8e2b5a580593e4e7edd99296463f3c7c5e232ad17911ada1794a090d96e7f5d88ea584d66b7f3e186652e57424029d18c756c2bea700c2ed5a41e268972dd846762d5ddc9cebe1a920ca320153fc1975edcf104870e0c43e5beffee643df8d2b6cee2d37b19f033d6b89115d67ac1740526eaa3d87477c8919a3efd717284f164860cd1376da6e7fc6e91e37d79c0cb218188e50ac6ba05856bfe382072a6f52cbaa89513a0153676b808c95270be18fdbf8e19d8756fcb6604469b68721bdf675699f5b00b8fb9d811b8cd4a67e0eff1d12133caf604d7c27c82b3827243bceb9c3781e181d0c73dd0dc81a00b9fd73f542ac16ab88c57df5eea52a47268050af5690bfdc9827a6290520ca4ac5c562bf06ff35820a5b2425fbc88c472da6760b674e54fa3cdde37b94bfc5d1bfc96c1fc88300882fe39e155191c935ec53b3f67e076daccd13c5c871f37c43caab073ead23b817148c5b1c06a322e5c95edf842a66a0365adada851777eaeb56dc021f665d09eb244228d28ee06a51b11110da2506c642aca406841a48d3ce069afd2a1ea8d2a71431afdb9d0495e72369595b7456bc232d1834a3f03d9cfddb8404f4bddead6a668b4b9f9819c354e2c30bb629297ef6ef115a65bf82922fc04aac8e793de34a06a43cce60816c772815ef840bb8cbc9cd9ae004250b6de6d51d469db549bded2276b7b4cea88e63099aa1cba195df56a3e2ab6ef8c2fa99ef2f9fd51feec60891cc3070a7af19c60f0112064ae6fe338236b1d6ec29446b020192c577e9463ccd30907ae5fec6d727612bd47d6b286f1cee180ca46d79c9a2ab664be42a3aa6873cbcb6ed6df7c72f682b94b074fe9231160850781e83e98318c9f602d6b1913f89b6fe074cd3c1ade12329e749e0450718d8828f15142d4a3fb2780b96385e6b37e5b2a9c898672052eb5d7b81b48565f86a76ae5fbd6bb3115418b2455fce7bb5a8f1f28dec21a3a0b97a7c0a36d1ea0a2a706f79247067f4df6634f83b1ea261cc1cd9d5dec6c7d1c974790e79998788ad98d60e98712bdbfaf605771038f2715109d6f40ee72bd94a8a4cda2d1a9ffd130cfbdac532421c4e082da27a4c5c3bc8b390a5f135266dbe0f12e2307b00d46ed4c9dfbe5d1b55ed2dd6dacf32e9eeb80d6ba9a886f21b0352fca3885374b0006ec46b35f8413377f9091371501134bc1083c81b6701f8c900b45c0d047f5dbebf4d96554d5625d5f68f72baeee3c6af1b62d67d0729813c73f580eb2ce3baf713241e4079dd4cdcb9d2b52061afecd13b713ce5064904ab4ab8a8808cdc8041fb9d11a8a62c6e8290ae87c8ffd08c4830ec42a7c72e71d394d787dcc630044553e03939777ad4f30a32dd6901252692d62a5040e3ca117e29671c008c5124b6e35b3ad63d2b6c90ab0d78251fa2ee4dba68cb8b37266a782542abc26734400b45ee7862352e84f556e0024df8160aa99805b9dc10f3127bf1f0f92d29b669283e9f40be2cbcbf47819310beb090d6eef1402932335a10e88ebe6affa7fc45ae9d9069fce844fe4a9fba04a0075b78406116842d53a905451f3453f2ace0cf5e1cb8b4db58d5425dd78c3493cfb8334b8e34bf18344b155e6faa2e48784e3ba85894f81c0b4a1cc6d1d9ba9b83062f449af17f2157252a7386a902f236bfa4d719a1e39b39714bcb0ddcda4033633984ec1d40397622c5791c111f454b703d630218750ea1270817701e31111cc132b065e40b0c3728b63be9c50962e280ab727bbc1486093f3165779fd7c6512699ceef0df47f5723009b4e5c7109b1f8f966ed5e5130cfcfab86893205609181dc2444fb7ab487242abb6c1e1326fe74bd0df4448f3af6f0c5e0882b3ae796743c9abb758fcdd72cc3260ec5ebd86193db980e2409fe346e01e094996c04cb2652bb406e42fc33e6c79c570bc5e3419ad77f501c0bbf008b9ef4f6861f9b61d743080c74104ba7269fa46df246ea0df1e7b8bf6211bda3c8a682e7a1fcdcd9c318a05a1612b5c13b98f80d56a29b8f0004968e490dd91df58e0f8226412860ddaa2788954e8e9720b415bec70656df10251c1d07bfad6e4ff9fc682ae8fd7b08534f4c4d5be8f72547dba6ceeb26656dfb67ab86ec6c25f9b4d90cd5283d5c35e01a97ab20b6a72fcee79304c2639855615a3154cc6a32b642d3f73dd1e167c59227dd272e5f17214fc96cfbc48d2aba007a7c739c1f4648333769a0e1c6f06b4a3525d274fd001024c50b1e1d24c91a882456dea8887a6a45cee4ffda4a79ddb7db15e0be45672e5bfe621fd6f20dc7997e17bb5b0d189bd11ba0ac4358c56debb23b949a96072a3e88a38211d98e0c5025ba3d638e7ae1d6f43ac2d73cb4bc68517df005c8572cb3bd042df28d62c442fdc50fbce5e7ede13a7c888029b61ebb72640c313ca09a4f0f448f21917a88ed4ba8bdb7c16956d87cee5051888618b25793a2118857281ac31d439055e164d23013cbf811a681f3c07cb096f3daa8c0aeec02cae0572b103ebc5e9b74c3cc553c71882eec744be18000f04b01ecf23855c94ec3c3372ce065923cd0bbddbf8fe7e81122154b80698adc53e93e9eb0b4f67a96b7b6f3f81e4ef252b8d398efc119df4a7b437dabf03c55686a24af64130a587e4e51072221caea42a204ae06b68dee4962d5ff5e8eb3128f4fc7357c7029b39392e0172b6508d9ef442acc9588fc32d30a9718a9e605f1ffbc50122f888c565d196f07266a3a43a917d8d580349646b3d5511754d578403153104d4571da9d08fd52d724639d9ec12e95df4d5a86a37d717f55b596016ccaa464891cde738393b256d5d135b777ba18e97c2482a7528866192338d0112283e768cd145072dd38c2b5e72b550a9577dd98cb7b60f7b055d8f4c60473c626d6bc8c3ce24cf260cfb4a45023454660505a61046c52fec6b39d1dc3e3150b9ed6bb27b52653cf102800a7c7258b7adb3e5681fbde7ad39ef52903523b8cfadf3e8b942d91bfb9d28aac79272db0e995b2dd8462111345ca68ec58afe4ae4bc73d2a259566d070be5eaadbd18752f95f977db73e6e215264e39750d2cfa33b22ade47d8264aad337fd1290d72f657403e9923a3405a29b70e794f0c3f6e0f240a9c391d11683338537511bb01f523b3cb23ddc2bd71c9b9b5ac71d1e26cdb957c89140a3a7412f021df83811591d72d5a0165a27d857eeac291cd4c7c3d7bb8b9afbcdc568c5de954763f4472a7afd01135de16b61bd59130f10f5453ca77bb9679a35a9c081f2e0934ffd872fbaea64471cb7edb3af0c4c96801bd51768f538c3f946dd219872071b191ff723feb5524fecc5d2ff40787cc4fc75355e2711e6a8ed090c47e6cc56b862661729330b3b6d4acbb61643de3dca96fd6197fd92adc300c93aede44ad72011691720eb2f32ec7dab18dd278ef0e7c0d651f2ac4d6ca8fe9768299726e229cb85d50a5cb1f8140448c5a40cb3f88c0fff202e376148a0d9f8278f6f2f2acc642057241a8887de3c262b958926af5b65d56edc2110702f48ac4013fb3843eeb13f9142a6753bcda7a310388abbcc04775befc81b5cf676e5184f868c1cbbfaac1ce72098a97376dbc35ece31822f6dfdf093751da72a342966549447d061b9fb6cd720dc502a8aeddfd78caec0d9b05f3cc32d418ac483b6ffe2d5e4244ff514a68723c97976f450767fe6a6896ecd2cffa3920d897b7731886b6adf07da3973ae75cc53f8ada43e22d976021abe68122f4f483d51dc7d8c8c9dd14ed6e82c5d33b5c46b3b74bc9bd673b527664606e5880fe7a90df016d90e7b685becde811ca790de0e03a370cba664d87bd9a6c5a9eb16639ddb963d2c94ef3984fe1492b84ba725e57e74e8f9bdaff5bb63f26daccfdfb6f32feab48f397128aa488784f005348a85f3a023b164207354e61bd4da8f7fa77732cce9d75b3f124969a4f5dc3b272040d3fbd10fa55d6bc302fc8da936e86fa683c18b244938fb901f3f6d587db724cf08f40818d31af8caca4282c300f8233e908016bfdbd124189ad680e4727725f116c2cab0c282e8bf32b551ddba39c13eda10a5359f2f14844ee440d4de072d9b5287721977cea2d6244bc16f94276e1eef6ae60d0e67bf50a00733cbd535efae115d9dd60023098bb8d53064785ff21fccb87403d9fe9280f5b3f5a7dc41c2abb2299b711d6d826bc46ff674f0eb7f61c4ff6e7d88e4a5542119765584272fe66f2879afdcd960c5e6e002411a1d5a403d76c9e4666f6364a11685a04a672d9a3ee605cb55894d8ac637488f0ea3a6acb52c9a6374607e525c7be24c810726050476f02bd8f543cb07e591cb9becd43c415cb3b480daa8cd91264d2f37972a58f61bf0c632ebf7474d9a97e56b729b66671b395e4a296932fbf7c018c0e18d531289d57b176393c8448a64ae4820e2ddf294295a0e8eb34a273506a33e97269be10dcde1eb053509d83e97e480dc0aea7cd7844f6acd3f58aa0306539ba061e54c4bac3e0a7cc2cd68d442c8a5a5695485f74dc7426af654f9aa10891f221b6b8644aaccc11d2a409ccbb86da54da26652ac7f19d140886e4c78afc97ed720b74030787a43436d6259806a70831cde0dcb850e962b8f43c1ed85bfdb5df3d83e3d634486d619491e9f87662c179f2d8aaa71f2dc05085281fbdcc4accb00373ff8d62396bab90a7c49f11e8274256735ce9eb8858a5ae45094019db5407722a664bf71f6a7d3997462872536214fb36f794207e7f561380e6361f8efe1168a5ebd4295129c9a001b81d6941fd089644446c7755016fa58edce8acd365be72cdaac45ea0316c205bab374a899b4f1a8a2b2f7fecb3e8feccec89ee4fb8e272d813f65999a92de29174c7c8986374b1c01f1c5c137d93590fd29ef7f15bb072580e77d43d1b68be543e7a32a71526627e1372a25a2d0c4c672d4b48eec6e772578701e58a23e1a7b50f5d8bd1db49a9b61b1cf8c472855dc03012542c3f93724cf1f71f0d6ee307cc75c6e3db8dc005e16956c273e2c432af2de443022e647266e7ed8fc903f63b2766f919dc3951c10668609d9c5a7c8fa500e7de8c9b571ceb4e78dd3eb26b45248d7f93c6b636315fab63cb2bdba9cfa340c7bc33bb0672668a1b27026b0d37e4d4cad9337b403eb18ce95af636aabc06de285e78e69a72723f2d211868e107432e40368919c18ead27a3fef0a016810630398cf2cfb672febb8f9b263150cbe78716839b8aeb87b36f071a50fe34489a5899b48930c47217e7bc90c321f6baff4f533cd139cfe32c56e9cb348800d202b5b16e2cd0e453cbcd05b3b9eb02148b5012da2b602cb3288757c647b9b8605cfb6509552cdd7219fd4d43d80ec8e295411105bfc55c88931b4797712bd88a5dd22995d4dc1672bd562042ac72cc96ea377c57f172edd99a4e3523a75e6f141327a5aa79f1db3d85af6e8d4565c5ce205c8fe580f2ab499ec220583180e335f25d926ab9789f571aab43e3f6cb8854e698f22b72d35504babae1b00dba1fba49b84bde07208272c993fbd6bcadd2eff2b342f3f229b865b42d93d7488b7798ac7aa88ab613c41f3c85f533c3c224056b5c4a26f4e582cfb3e8d3d7a863f5224d853106023d475c8964198c5ccbb61468a5ade7b1160ec642879a0f17a8b09ca879d0c5b109444cb3c64111170a69f138bd26bef1323dd99c6ecb260a8dcb26d25255e39dc2c601bfae333a0f80a5089c4ee21926cd509836cd7852dafc3aa582d7f554447aa572773d332eecf4c24ce12e647b8ec7ace922c919664b29a48a3fa3ae1db6db294451c6601dc029c60834c47d2c8cb931f1c180a8277247bc3cb4f03e5a9552ff0c5de8b6764dd23fd07cb209dc9f1534163a4936efe0e5ba028bb31aaa2b68ef72b12d849d666201fda4655bdf0199c322cfbb93d0283ce9b56ae743f21a80693eb0340a301ed4bd993527ee062566d994931a169a06524ee9d47bbd56ebc2c5727d7ebbbe477a2b4f80bdabc6e0fe592ac61cfd1f8c7672151f91e2f30e6e20727b8081203e273bb215f5cdb55689dfca6f0067be312bd0aac860155c409cfd721c56f363ab409e8925759823d6c72cf2b2a7355d67274af0f44ea0da4239985fa06f749da5126e0fcd8273ddeeebd41f5c4767a186d3a1ba08c69415d209c4722b512cec55e61ec8d4c7c63430f38ab039a496d64a49636d9c7b7c13f96715722fd5f39aef2dd8dcae039f8aa27bdfa8f6d9088ab1b787ecb1c3a171de9b04723fbc4c2c6a9cfc67e51666845f75cb4e67675be37f8c70e06cebee048891d635285f21dd20e340963118d44c6e997f08c76ce3bb53563b469d4e9d8257b6d54fb5816fbf9fd08c991fd19b0870423e21d82a04ee505eceb776fb9b785b259672d8888bea4c29510b42efac6adb3e75d64c8153ba5a070803b085d9cd3c273472d9d51a3557df938cf0e565d684af4cf9949027de83851c151974eb7ae9b2f9720d6a9b18ce2d575bf17df421a7dfdd68c0d424cae66e54e5831634ab7f0bf548da1ebc3693328f11a06fd2ac4135508ec575fedddf7cc57ad959f04fabf5b0583b9acf42577c2b272f4688b896e5cc0752c92a9b8499da1ce21f93bdf28a3c5fd130e8778dd4ffeb64ac9123f2e528617f7c7fe9b35b6659d1bd019c47c1664df2e4299014d4c1ffc5e44e16917f63f2e125d95472637f8efbaf444517dc76369204de17f27632ea5e7c007506383a9cae3d5460f210b603e8b237e89ebfc972e39e6210ec1f658da0506ddf9dca11dc7314dd45336bb48d10cfddbb7ed5be24fa2bb8421754046cf616845bbea285b790635758dd0a24a102ad1951d5f470158f19fd043191b8963d968f388bbfe193cc21c831d311cc6fe6e0394beac75d72aa45a17c1d0b0348e7bf7c72f4a4d97add536f53d83a54cf2bdc9e591d4bca72623e8fee55de67e3488f1aa62e546e2879499bfdcce5aea39c37adb3ef032c7211cfaa75be620a2e91a06bd6392b7b4e931dfd91aca531617f61801594d66d46ad77f6ea6e0cf30b06730fadcedfb82a4efde327837cc077af1b1955eb7ace5780ed22bfd05941f39b5e19df0c84ecaa610b30fdbb9a6fd87858d54f39626472547141b9c9ebeed5efbf5e44c90304aa76017e13d69d12fb9e05ff08f2003414d1fa1c3e2c4784d3b8e9c36d5dcb2b7b06465494b0a5ba0ee706d180e82788725fdf9e68f56c6f1888ccc7487e69b4497c5496d3fe7cbb01386caf5260a1954f755e4b4bed161f5fb3824aa30402864e1615cfb1a5a3f9d26e544ede78f0f13a13471a9615e9aab9c272daea67fc565aa58a7d2f0b15043795b0475b034b5e4b68b008fc72a7ff85648df5fc482117005773327dad3d8f8143a430205c169725cc12e0d7544c34b10324a2286216b321ff2e7cc6715992ef6d89fab28645a872f79a3b090fc23a0cd1a30b4a9599dbd1be553943a45de22f3d5bb921f7b7a94860a2553d0dfb6830e8b2723906b70379c727bb38bebf3fdd8a6434edb215ea5e424c3a745b80cb41a69b0d3b835035414ed54be9d3f5513a821f66e942f69872e142d1955c97961053d25b9b684c6ded83fa9771f36bfd12b9f9cfbf67b73e72967b76204ef1f2692f94c12e758f5329e95deecddebcb7d532364b6cbdc45b6be29b237fe18d0cda33a188de3889088f43df79f4f4f76f4676b0cef9fbf0c172dd29273db9d5e69ec9d48487868febd8278455c62d341755f54eb32edff0227277d3841eec55d220c6e3b5a269cb0835dca453f49bb6e898ceaccd05706a48726accffa0be874c2b46f08660e48f655f2695d8b08753346c3d1a218ff1c5eb7289f5ee3a6eb99f3571c4e52d4162de9d91a2cad5bb3b4fde844708fdd417d249ac8ed4d718e331a6e9049402c5186e5221d8c3f1721974f1c668c89dd8bdff28db56d4095db8b097f248ac0f3f1f0a9c8ccd26a41419e238dae43d4b0fd82548bab17080806042ec6b6c02f042f6d16d7edd0e3a032a86653d096ebb680c1520126ba729fbe8a359ec20abe6ef8cc7cee270e546e41465ffea5e5990445c9772cd7b1c3b102446d07d7ccd524265ca3abdb4d6e429459738c3fc8435a8c40f04901dc96d4dfa4cf0c220cc8d17c4fb4d913a491ea88ddc382520cdaee7c07100ccb62e87161ef54afd0d72f01076782005fbdf6c82a8b23315e338a4dc888172e159dacb4f83d56a208658e6d50a2b69939bc971cbbaa79122a7aeab5e120c7203c348249f570f818d04785de2cbb64793c9ad3d806e9518083354639de99b7251274ab82e424b7842d06f5472ec954c85ca3d65af06b0a40c45b62f23fea8720ba1cd11bcf51ae18a6c71291cbe034eb06867a6945cc7c36f2dfe1479b49072708461436997621ed0691e9ae350ff5634d6c5376471a4340c36e813e8d53c72c845048cf6efc4b3163b3f3d26f6fdc5114f1e7480df9b87c9ff1bf1e20a6b72170e3395818b3436d4981f2772bac122c58a4cd9182a32e1be1fd7ecd620a86a1018d38b1eed581b8fe0cf3571ffddb742752e84f1aa3e67584a14c1d49c940af8b477dba50ac009b463d1fb342ffddf8b81d3886172173494c543bb731fb361adb6d965645381707b8a47192c4590c653edb283b84425c2be414ec93447f4341ba727042145903d89bb30c5f43062a84cbf90cd9c743cebd77267fc7922fc31547545478df5d7e0afb610ddad04270362292c120f24876acad2f5989e855072fa3e795de66f87ad2f9b61176c31d0785af55ab212f3a7997f60fded66cb0a3791252b1ffa0222599e3742bc8570577ffd053dbd216400b029fd6ffc568362725a12843ba5e32b8687adadb36c243d68b35adc7f28b724373c0d36c6ddf8b22d2c854e14950f07eefdf38cb9a87b9d46c1ec3dbdf990fbad9913f6a025c52f682f18a40368719ceeea556d0e2f10b40f88b37695391072da78ce3967dd1620720a8128d1299d5728b24834f32180bc62927765de671bb70be24c4e0774b1a77285e5795b1a440752e53934bca2289a99e9b46a63f4b77923cd3f40c0c2a1a772aff8239af366f1e5cc2ed81ccfa914abeebd2f438aebaeca77e9d48b9e7e9436320f32073b978e610f52eeee5953f4f7676f59d9c1396eaa5a84f72640023f7267c074354b8b2183df3b7e81fe61414c041a8d82244ee8d5ff699324fe469a2044ac46f7fa994ded4c12c215f3e9a30bfc7b7d084aca99b11c0c408bef010f1caa836d8811b704d8da89816dfec6eacc730c46062eda0d05260d37d453b57e720716623cb48981d41b86fb84791909eb670e36090281ec11e6825eb8c4cad772a5ebe83e6d9feec906928f68165281446d579023c458a47122f6960318be2e72471c37b021f0998c6c90b3a52dd9d10d6da0381784d7e3907f2b8971d6b78f2162277bffe0fb70387a4264f56929754ed3f1343a51a6b0fc04d7358b5dead272f76ed2c6c9a4e9c44a29380997d6e117bd637471cf7056c458b6e1caa25dd17269f166e85fb7b31c5bc59bd9d78f6652a1221444c84dd9138c1df5de96329e046771ccd3fc9fc6c0437a230a3c4396343b3cb3c1c233dd5e0f886678c798977235f703aeee613849f6faf938f3c0e42bff2b725795fa1b27d4ad2c2a96d0cb5f4a22e9c2a0ce5a0e4ee2e97e99909c1d71134f1708fed76801a65cd5f858b272a73fa88928963055d12dd7811891bd51bf2f4db7fa0d5905c4a67fadb72fd7722418b42a9ebdeea2e12c320a7cba938800c4e27e4555902d886584753556a272b388d1e9b8b189a745c7a73841eddf8c2362a64d699e5ddf3d57865ee8af273f0f34e72f742247cbced56f38e636b2427dfb0aed65318765bf3a517573be9472efabfa014eda7b07a6225b495f92c784af380fe001f6c66c2ae5f8fa1ca90472dc58227b116cca9b483d66c4a2db73654599677f16e7622cab427b9fc6fbd27246637756d6673f4f2ce0aa26c08413fee9c73da9ff7831f343c00f8a508017461c8e7a7d3da3e70784f42ca64bf4a029fc253fae50d983ffc28f501af08cbf725e48ef179c0e1e2d51000472b7319360142662b9375e838bcfa5bcf49b9062720fcb8e773d4855e925071872a5457460bf55b7d5d52d71d82aa34e77896c7d5ebf2274c018a055a2ba03ef18bfc7a79273ef8336dcd3e69a2265bdf8fc69f572e9751bad0ab19fb742baf69a1bf30f020ea8fe31f3bdf2cb1778ca47cefe5412644fc92d90b90995b1d26d9447a1a352d071b8d2cf304cef65b664b0f27139281801674b3642f6431de8911ff89cef1ae448b8aac626a8e0eb85c6c68362557278ef89642d8cecac4008542776af9cfd40b86111d52aa9003037ad80ea59917226671f91df309084a8d782b5ff6feb714a93232fe8ddcff51d491f7f6de8f5721759b333cf7175e40f86b1ef26091c3a194e2b121c5add2de2f11642f0b9d772e2d31163a1e8db4cef0f3639696ea4634e2989ba839be9582086aca1809add72cf3caab8474a09df14e342a4779097ddf4c5ebf2368c22857d4d97184190c27288b09a2d07061aa8a552c8791c550dec9a1f4b7a5951a77616fecdf97aa27c72f8e8f3c615f2a8dc3f21a3f56818d1bb42b30cb53d83ff20c0d10ecae51d04725d74a14d27b77badd1e7320485835aee4aeb968ea69540e91ed7788bcfe4a01865b62f26a4d33a938fd622f0490a2900987af774619d8e0b23dac894e94c1172550e40ef4f622164a0cde44430e0bdb60735d064f1243ad4598b6e8aaf43133ec30566c6a0a7a98b4e62a6e0c32682bce49df22f889de5b9c195e97190ddb802ac2ad47bcb48e7da3e771bfeb453d81d56d1ae1662115e049100e1a5b9bd9772261598823d85d1ba24bfb0cfd6a049193170f47bbf3a0a840fd39443378bb3329f1014db5269f35c47732165c4fdee63fa69e535e1b8eb6f265a57879f7b2e36f0209ad2433f5d201d9a58c560c7280e125993cdf64113185ee4f1302ded9e7247435d55277abb9b12ef796d3866826a3573b02d07d5ae70963f637059c8df727903bb95dbccc9c90e7b653f1fa188298193a1582ce04a6bccdeb24a602e724ac3060ab8a3aff1476433e92448401238b7e513bae8f21ee5ed2b0557450fe7722a5b2155fae33f6e381e09e9dda1aa20f03daaa4aac880ff158ab0f851c5107279c37124d3eed1d946aa4d97176dc4432efdf8689c6cffeccff675683375d972bf095fc7b7a2ae77283137d1f079661985f6a92118f1fc5e1dc4ab3327115e4c1fae72a8983fb1a429925a47b4c1b6fa0023618d9ac751ba1b0e7331c57129726238ece64f29da2df1a778da1cc929e8d55f5bff4e21aac5a644a5defd3cb52b3fca073a19aaade36d66e2ea1e4dab0338c9e7ffa8789ec2872d8dee0d68c472668b63057fccdb9813477991c1e1043dd4e8e93cbce52c37d1b0c0b342bdba64885a6a6a8a9799d27598a1b3c7c7ac9b55bc42d41bb7bbb35eab32c98295087275f807293ccff69748973500f543f26ae8b5d90e1b0554779732d4f763659b72681985f0c1b10126a8263d514b293528193621469f2591fb6e8a50a7a6107b72df789849c55b7e60eaf4cd0393ae60abb2976db34026e0b036beb8be14231732221a852cc5c8c06b30a8a9f193e2e561f6c893b5cf4a8da822605b223a6c7a7283ce3e80fe081fcf5ec4f62d5d5df7e7bd498c16aeacdda8fa146baa379da7727635449c01ee027203be68403f386c913fdbdd2e7253dcf86a22a9982108396d0c5f5dc895fda00f8376f5a2cee5a2edd019b19225dbad0beb068718a2e004726acfe0def1dc0aba4db95fb195c59730c8f5d1964f3db2a17c01be5d61305749c0c5b22dfb72e22d87eb35a65dedf04e1fc1853866441db70d0d31ea2c19e572961400acb1185e0f59569fad62e92a9ec1cd82a8181e1066b266e0119d7979245eeb660a1931677b07c074080bbeb4ce83b434da7ef8644da6dcbe3caf5291123e697d52f5f718c1b97d2690cdb73e0cafb6220d8bec33854fdd5dcfb6071a1403609a7f7ac5d984e5dcd136c0e94375c5fef3a11c084ae59f993b9310975a158209d3897e5ec5a38ed4b84f3d87f44731ff3ff4ffb9767d8ebe7d3b0215c53957f5b602745a2ba0bcc0f05e463efa833b1755735d8994c570dc098bba40437237366dbb1091b1021d960aed3e92a8467ae856d3b1e9a0eb9816761c4464de4464402498d302f3a6085dd0f00159d646d2dfb789625b07a105cf1165a8238f729375673df73adf4ac89666f87ae212710334da1f76c53adeeafa489002dee7725fb82aff025ded89175fb1b3fb1d633450d09372cba25bf70fe6618d54c0af720e4bdd92e46492b2766eeb0dae51ec4474f8a9d61602b554196c21095f247a2b04aefc7cd983641e7076e30ccf73bc29f2ced94dbd30945026b768e4aa11be727e0ec4d44a94da6ad50dbd5ce90d80ef1432de00a7924a78d2ca5edcbe015e726d245bd0912b3e839706e868605d17b9f759952287ac7871030ab003e85e0872ce2ed503e8b104c0bbf19b91e22fc692ad9d3f7ebc0e611e7d7b1c2855ab3472f28d7ba58805abbe8004ab95b3c9901785940a7d30c380214ad837b7bff94b2ba5e070ae7329d5dbae3737751fc6e486f06f1a1058a34b470c3a499a2380a472c74fad194b6c3f321c06ce72450f93fbe156a9732e22169a2af2ec6592075540aeebef36728c2527e668e391d03404ea5dd8f3898346d02de787c280f8bb5e72afcc2bd92c070787773a68f9bdefa800086cacaa1d8d0b695f3ac3dfb396273b002067f6a379088c3c1ae144e99bdc346271718e08c905235605f9da5b677336ff15ffaf9036211666e7d6a33c07e465493231b388d94b9bc3731d5819425572511be71268952e312f43faa913a5c6268aec8bb95918066fe2cab0671636b3720a4c7bbe45492832511fec896a3ed0ae3cebf0fa5de2dde9b534515e7e39313b7535d4bc10fa990d13d4a598c30702efb69c2a1581480205136f0840e0eff758523a23d57950586b994a9d24a7a701a14810c126279e19117dae1257866fd772ae15790184439894cd17c10dbd0cd5c0a5b06514fecc9b149ec79baae92e796a06f22d50432d8c894aa46f151cd1ca2a0048f03e230737293b799b0235b625722124eabc929aad4f1780d7ad9c8ab3321429e50e72bee06b774d7c4d6ce80a4b537396ce6aad4f96b985fab9979df60c04cde202bed90293cca813c69bc0c972e0ea128033e6b86bfd25db30dbe0c881dc4d4a16176783f73c4225b6e8914672a8b90601b227d2d1395342f696387355be07babbbd072a583ba82aae3927b5727981f1afcd60f340965dbb305047f8112436142ab706379f641de6d0630e1a72c38c90d2447553de3e7203a1dec03af505885c74ec42b2f61751e5f201840d720450472447d019825b9a1b2f996277bddf0f9604b0181925d2c835d35e76ee22ddfc81815253c43b7fab4fde1b549d446c9f9744651888fac1c2c124c9cdf0721956bb8273d76557f6af4d615761dfb40c6f6e60809b0ae3ccc02b5d8f72b11dedb1d94df31889176abcf8429fee9cdb61bf8d06277fdf9de6849d66eb718c7277090f4edb915ec03e02c1a7654fb3c8d564b297225194fdaf53c1a028961472f76ccaced04286f6e91eff3855b1e3199182f2991e0ea3cef0d81d9d5b9d980b021e5d07cc2ced0b006ba8cc02082b40dcbab2a7c50e35db9f863c480842e47285c87abc7ed15aa08b32595111857f025608b4124f267fd18cfb3d50a753c772cbbb52fa697b6024b08083141b83fcee291803230c5b4d58aae53418c74d6a57144dc29ec6e6c9bebeed5781778d3ade1d64a98da52c3c11575e506e133529014721b0fd69a40042cdcaa9dac67e86a884a60b34b5a2e9e3e39849559955ee2dc5ef7337342de2f056c0d57445bd3bb510feb4d4d8a228dc310425dd874ad17253a1a65b10fd5d4a395cfd16acc2e5b2310a12e5f2b16b06902263d04262ca724d7cda3e87433d2d1fad7f5c114a21a761cff8123571034faa4da37c78861772fd415f9fc96435bc21266839e70e54b7e098a95db914ea309688372a480ab16b9230fe4f84ffa57030a19d950ae692b962e81c1d9fec72c27495b7a1ef036172ec8253aa6b252a99a2a56d76da6e1f32173dca6c665691dab3343e17e6638e1a92e2a4479a23689f0aa6cb03e50da25f6ffc2dae7284c6f7e030dc168e82fa304987a4acdc730305e577a8e1d67be7ad649b45bb3b0f2d852a12efeda64bbb720e65eb665bb32acb1d5dad704ad8cfd1270aefbaddba4ac86a7f6c87fe1bd90283c1d21efa2fb057aa56f8198b0ba9c55e16849ebbbb9b95de0087de40058f7267bf4c39e46c5eb4998f1732ab5edbfe5aa7be083267787aaaf6bf82023a527223b0b561065d2b64a4165c94703a3cbf8f118d10b00d61197a95bf3149212f5b123edd4a5a4e8c772a0ce42840d7018bda17050d0c71af7b47a543e3b6e0e072e224d9f695f5ac267cffba8d5557457897e0aa127041b72233916b8274e95972642a89a4929cba027a112cb30bfc9bca5808bb6bcd2a0b63fd2ab0552c04262b4d5ca0b07b09a2e394d162e7ca83c867071b050222f2643aaef7777b9866374baa31272989d8b3767d2336a72b0b918ab694420a41208319b6ce1daa4bf13e72bd642ba6a6472adad6c1340c08774ad277c882916aaab115dbe902fa11900f7219baf2ce1e00a5564413375b848374744c88d7696b61944d174cd023f41b3a6bb8939c44b19f7612aa667a883c8b1a44a364551166c6b4c3e623eadc9a2b647211a51b120d069cc09801b94c8084c1ed924ba0d522c44f1f07b9e44f8a2282722aba592f429abe92c5565836b3d1bc89a5c74cd81d6f2943b612deade345bb72a0e0ff9eed78729e8ce746f8d503049119f0bdec9e957cfb851ba6b56dc654728e7e430e35c5644c170038f21ca1aadd41e035db89427dc7fc8d7335a3ab047244ca66cc50e17665a2adf45fb959fe707ac4c6ce6042c8ed2d3e9f3ab54d4d72cee465262f0e7e2830a193193cb159168acc8ff852d3cd8cfe153435c08b027226f33a94139e3d7dee6100dd6f41e0e56697f53e62252ca69643c01155be4c0f16257d3cb873ec4d23ef6654595e355aa83608a948e0bff7e79f3d057c4d9b2f09131464885e30d9d04c0458a96d8443334938580bc31b0ebc8a7d9cb1754072c5ba84eef6b1c35b26ad6c026dd55235c3b2f71258f26baaf85dcfa8eb35062afde54accd894ebbe2fd04daab0ceabfb0493110dc0195bb0b3f0b30a2713927222c45ea9cb200d55599b51269f3e638265a23308b570624fb55e12c562fb225593dbc89c1298c730df59a8b1b0ba85d29b6f051c6f2e66ba384d25035cf37572956dbd2b01b08e6a732e066aa33e39daf9491fb0c32e53225af3be234701890cf01984b063f4f465099e98361a522f5642b34489368554f65387f5a28cd6f172a029873b82a0071d1e72d11422da5157842125999e7cd73cc12e73d6c1a089727136c097958958ea53cd770dd376be8a68c53df0c3e1b46bcebf801d2693aa352bf72f77ec3eee0c61fe21aae16c0cdac0352a1d59cf00e7a9accc2e06ce9b28e24e729d4a0ba8d950ceeba6b3d8aab8a45aceaf722cf9b598cd0f24ade53b5dbfadf46640797b59ffe86766c7e22aed062db6ddf6534d80d611f66eb38bcf72f04cc1ed9bae2674a9985a76ad03932399d8a2ca759d0813f6e6c3acf7f8d30b111ae5b1d12cf85c60cc77965fcabbc2a7de298eb18ab741b88bec597fcbdb727543052db9a44537aa936b4c0a3a087367d6b977aaf6c3fa64bc8ca0bd4e6204917aaad52dbdd9db3268645a4a7144382800de88cb453c2e40aceaba691b9672e5c249d0a84d292a12a666a2b258a6e91a7b103078721f28d586f044536e8f72da29a3981a8b2cfc9ff02e60bbaa478fb323399d9e83c0e74b7ae1c629901a72f711fe35fdb3fbd130f528400d20d0226db5a8662061703ed27f77a3e88e617227b1b4d2dbb46d5b8f65062c1bed644add010acaf6f0d6e8f52a95c1ba2ab3726a1fb49fad016e973950582afe4248a13bf210f7b489c6b818162abcd36b9972abb3cef13a9564f82ddb84e92c5d72f23c8a48d87187562b57cd0192b53e4903ca1b5c9359d6c91d9cc4090e40c31a138d2d46b0a5ec4201bd7f5d07ad6d1a170aa128ac19de5d5eac40893f679fd58906990b3c9d3adcd590806f5c77fc3c3bc6d31d3ac33114038872cfff201c0856f28bb9d97cffcef976dfb5b1036ce472f5e5dc4a58fd610204da91cca95c890af46e7aa3cc19fc983957f903c5b0354115c1b283a98c71d3922b574547a1ca33609b1e4b619daf6738d427c8c39e00728e982e575c33e128486bd1670c52ff4d5466f43ab13cdfabf7c0c6b80f01e3729de48333e76cfe67fafc6c719190dc25f2ecd77816be0fe8bf44bb5821303b60e497b9cfc676cbb4c502570bb9d18777e7e4053c8e345ea95890644690d7105e2066ef9ee1233b9dd0c73ecf5babcb9b8241bb2875d8edfbab98e862d5a417139c1680d099effe47dd799abbdf1f166ca99099e160c73c8fd7a36da8a7ac822b7be4a279d97e60b3a71ee26f652e6b9acbf37f62e7bd14dac4c7a504cb812d7209366cb47c48e3f42fee3c5831a73b8abd959a823ca3dca450c9d025e501e7727e4f554e326185c109bfb3f97e5ff3536714680e89a35782df6b4308c26fc7721134013c0f270a2c72f8e83b68b57ae7f856f3f8d6d740bba84aa0793a9b2270344f7d119a3fe2e741ed37e6a7c3804f3adb634fe090917c55e88c59ba271272187548a9ab5bc990b3c6864ae6286eaabe4be30f96cc5406dab790a39cf7ec3b1b9c1e1564cfe6f6fb7828ec0cf693c2beebd6fe9c30340d7721f9daed964b72b7f543beee959d981e2a50da14df92d21705248d43d053c6bdb1197f7f6bf95c767b262e54353aeda67f699d93cb5e9a4810fdd1e99e4b7a690cfe0a9aa7c1623adc2999febaed3b4f065d2507d405eaf76081a651639d2f50873296d6e9e353fcce49f85cf382e85ae7bc17478fab60f13d836219c2c3236b6b4134bcec66728596890499c1bd35fb1f1310944eeb71c2141f3e88caa6f57588683a72ba9372494e8501367a2888877e2d4380a6ce9029c3007cd0905f5dc18b80aa7f0a071930c327467d2288998161cb362deed15ef5c40d005a78d2e8b0aa523a15bb67721f9258dbd763cee878ce198fcfa12ef074cb2a439d533f4541e30e4148ce412c7702763a98492b80328b19ae89b33686fce30a59ce4e194c084e4c27df99cd727e9fad783b77fb45c8cbabe4a83c3bb8c00427c52182e8ec5706ea7aab109866c7c6ce11df09a1f59567e0cdf39488f9a3e09acf1c612114e521d2b7d55e22722502a524ba12e189f12beda2759d8047ee96e314f686e10b2f7026b5fcf6a40bc1b4233ef26dea3efeeb123f6e3af88348ff9b9e46eb988f5f51a039acdb026ba63168fba54eed219554ad17f7531f20ef5a6fa19a44a34057b1f3faa7c49572638ddca8183800bf4f9fadf6f1d22e271627c20f3137b2b46c9c7dbc1bc16b72fac9b85c2b400b40b256e9a04f81cb785b6e50f3700ac252abc2d4b26d85f77258b8cb99afa1765d8166c1592d36ebaa040257ce7398d8ab35475c76a296a45793402c58e4d865864db4fb3b6df353a598575d43bdac2b493a47a74f0b64645f9f77334979426896f295e1addbefde546647e1877d5d221c94c4b1fb3fdbe62ac6393fc1dd93c993cf1cbfdb7945d2301f7abbc96e9553fde46aef5038a9e072826dba69a6714d8e918d22c9998511a750fdc0659ccfb2ce56cfa6f18a9bd47266be4807130cddb90b5c6ff5604f70877e45d9ccb1871934dec45cc1118fec46123898cfbcbb06ad5d9f1f5f3c16c08fccd5067afaae7964f83816e99240e672e0964a23162581841687523c7ec9608f0414ab24d487b230288322f3be11577220442f3e8f7abc27120e7ca6be8dab0437edc064e948918fb39f3710ea685872e0aff015649b42151244731e9af7bc92ce6cdbc96d0eb6b585213135a584077214a8bf09e756581cd387e20fb28c9a977b822c48c1f5a63b9cc0bab8a5822e7235fbd51c9581aca02a93b682511c1139e8ba8ae87c05f6a4d136c2c1faf2d529c733cf9b1fb7caa153883af16287777551beb35941acaee978a859927186f627ef4a2cd82ce03aa56b1f444e3c9346ecb79c1b00185cf0b8b043c121d7ad3372ca8501a671090219eccaad9b5a820b7ce4db70f4f568e94b6723e039c64754721911648a14e64772d66331bfd91271e51c21631793ce8e557fed81efcb87e672914e2d1c82c00326a63ffba865d0ab9337921afd611a0a628dde3dac79eb1c72ba792fdfbc6405988f67689b700cde3fc053bdacb6d17eccb56e0e766ab23f18774e1e6e9245615685e2ca59670bb30a38468da25933d3c3c0786b046c5b986ed8402d38e9d0b9ab9dc42bcbc6d2638df95ff8bad10cf3b6a1610484f7e2dd728ebaaed5ec4df30e35837e7fb36c4125caa43d76145f2ea9b65f9e8d8fa4921bd2a968f08875b236fa337d4b9f84aec9550a9deae168e5e6a4178ed6fec00c31484fc531373aab34a78a416c969967a9a80352efe17e66e7fc672e5ca7d61c720eebfe0217d7e6b620a1734dbd9c20b2db7f42bee6d1106adb730d67b9400d13e4a7157d231de6091ee4fda722dc15f4dde60454128a9ab81597bcbd5c40e272dd661e768bbdb456c69ef9f0d8e7ed36a721083aed85e4fc74c8d00d4f3101724d038795db8f41af604965fb4e4da66f3d73503b297f955afee68008cce31d53c6e7ca6e75d24c5e42b6dfede69bdb9f7a1a09828fc3d6bd320140b9b421ca722553ecedb59650bc533355796af71a7b3094ea929c0307ae68df1b94641e6572b66b79f620289c7b8d2ba4193d886cabb5e76d28e4227a970d2ed502f9a89835aa21b22d42bef718fd5aabaf724aa3acc1e5f2323e06aaba38ab901362b513723457e6c3820bc2c8ecad9551909dac061b5f8b54195a31fa9d8ba43dc82a24392c4c44879afb41878b54f3dd72f2b7fc7601259eac25143e1a9719ac43cdf0721024e2f5b671a3ed88a112ef9b1c542f6f28f15a5ef4750a0ec8550e11990c6971567bd080d0ecafe3a7adfcd5f40b2635ae9999405b923bd2d271d7b96d037287911585d1f19810c57e408549167694c4075713d606f80f9fd21263f6931672a01081ae7d2e040d6643f4343dcfc2950fb1227a632aae4779c99614a95c5a72c3fcc151ef60739fb51ae0e1b40712375c5db2c470f33597647557efe48e636345ccfd13b625a7a9fc1f84e0e17ea51875de345dd51248f6e63d257f4052d0335299d86efb05401ede87003a00ae0aa0d9920c03069d7b5cb04dcd474d70184d32e200c93cd5c02e4ed8660fa9d86edc9eab1a6024335e81b8b918cf568d2917d098f751870830e815583c102d29075acef96bac4b38e5fdd8557ac78df60372b2ab2288935a51c523250d1e66ad3e3406cc4cdc10f6c84a7e6c30e1a96e592a3a9946268c9ba33b848431ddd3819f79571b7309d05268dd81df6b58c1d1d82c78a408d763f51cb99a36a898bd510253105dcf5364fc2e54bea5c720905a317223b59dc2a5011dbe0f30bd3d26c6cadae749cba9b4f0f212b414dfeccc67281cf6fd6ca80dba94a1eb6f592f9f3cc717b5688ab2bbab19e8703e470a614ffc2802148750196972ae8ae9dded162378f0e76ed1f4d4d76a2caa4e721c8bf56672107d34b6d34ea3300d38e49338326dea4897bdf5ed1fc63c7426ced41e5e4c269f4a2b7791d8df341df0b07dc71a810c928ece2994609b6aba73355ef6fa7e2892265f213bd8993cce5550d5e9cb809e7212442cbec04fa31da99a34929e417239fae0c30f70752d0d72c1802e5849626256f630d8794c9ccfd10844651f5d07dab82b75bcfcb9b49029c6034f9a31fdec51b8b80cdf08f74b26c4bb5f33ab7275d57b41b29b08b64fa4247b70afb7a804cf027c98bab9229613be78d18f0b72d90bc3875dc3abeb5ad824228a38c52a57d62cea10b10aa169e27176faf8b35c21cf070f3f324f7caf591d4c073ce672b97b7ab7c51eddfa45ccfed276b1c072dfd2fa73e15ae64855fb6900c286e9d30cc9d5e4c17afec49ffe8b3bd3e3c55386880b7529a7ef60ad38d02ede93b1074740a80a7aad5a193658917330e25572f3bee1759c20995d97b51a9a39b1b235c154a2ba538c540953598d9ba5531972f1bea1436ef0baae83b7d1e5ff9ec350e8e03a650f3d990e7f264d13362a1638c43ef0b15faa5d0106df4ef233e69d0a755f29f4ea973511b2d181e3ccf6f04ac815d2bf49c0517dd9f42a8b7ce93b2e3101201d089cc6972ac11f01edcfaa0b8da6c5afeb37d1d7bcecf78986947fa81947b566a47ea02c00737b067aefa1330b0da6adcc44f1533a537283e6a42fc9e60bbe9e9e62effd3765b6bd7b3376725207a0ad18a9fb965a3e576a783e26527c5683e5c69e76a692afaeaeb7020e72c33967bbbda92379197165b96b6e6d5968675db40280cbb588e822a82067197281aa0f43df4ca30aba4bc17f8329b2f625f661a838f528557a7d4b5fbaa25172d9ef9c7ec4945816f9bcd09e1e0bfa1a0bc0bc14e0d3d8fa27fc7f45c8e25172e5bf42072f865e097afd54b6666365aa840342ade7709903da6cf68334b14072a65cfe1dd04908066dcebfb4e992b30a99ddc5630c1c5d34fc58fa4e71d3a472ee1b352c6f4a0fb4ddc9e909ebdad03242baf348bb14f06d97cb5829c9ec6b36a155298fe51312d345ebb88c752770f0f2f422b0fd1cb18beb4798715486023368b663fb882dc22816671cff4ebe64d251d69d73d56b8ee7b9125be72e02dd72502eef95052ba5173b6ef8f9494d34467b98092ebec24e1a86b6bebca2a68772cd74a7f1cbabb627c1ac080b028adaff38a9f2b6df9b65f2ab408c73dd5c647268989f8f3bf8516bea9fc2159b8c61f64fa1b6269b5b5beb198856f9a56fa1723f28c33e30df34c021ce8c2793de2085952f560ee51c87953a8d0cebd7c0477233bc42372f3e21224b83a49d13f8513be84c0042d3ba595901241e19c73fd8261ab08818102446527fe227a2716afe7347af742dc8a6231956a141a34a648472640189a926f4ec7bea72a4cc48b02ed9058c8818bd13bc08c8fe469e242c8472575af29d32b6fecd914ba31ee5852abd50a4c4d3f4708da8cb7635ef16850072d19cf08d9b046cabcc31859958ae77b639a2fd29bfc3827ca8c4b3111a6de74e3e1aec4e0c2f7e9a1c8eb2b1f839cbaad4ea2fd668beaf28fa93d42cc1b9000c1defcf15dcac1fc8b261f1683dff2d2f6d67315de46a7e8654432aa3b043d3284098afe86bc931c4fc3440362e672537403d9e4074eb1fe48a2fb89b525964726aa41f7f7acabe210acc84ef5525772d5d9fb633117f495ebf69bae9b0030472b9f758208fb7e7c2fa86c57c7cd1bd38838c2e07f667ee88b8750d4b68fc597212d282cafd23c91953af81e4b45d18101b45ffc180fc74d515de767a2ab6a1723ebda48987e56bd1be91e8d0ff6ef7bda80dd157cedcf640fc5db767c21a9372cd5d3a83ed1427c9f315dc8868257635a0bef860ccfc596978881c08d9a2392ed609c64fd261fb56e437bd4c344c3a4f707c82fc61be6fc734bf43568eec7b723069e56338ca77e64da56eca93da69c8ecd6a9c4b0acfa758cfff8dea5b1a872b4f54e4f5480f666932cbb0f2bbf4a8989c71cead4eaf6afbc5e4a1d8f6ee672eec2b8ba135b637e8711862d17baa73d52b431358d67aadc8ebfa71222dc827287facca11445b7e05375298299b97cbf16d5ed99a0462e2ad56a519e1136b92f1ac672643da357807457f772cc9579017ec68cdae8b3d088f2536df5b753e60b9add9b8d32755b35a10a03e020c886f05dc81e5254454cb8d50d610da765da1d78b78ffc935de9294b11da8667399442cbc3155eb64fdd29c2bf553f2015807263676fc54a400abd52e509cfbb63e2ff95b855217ef380e119b9f68cdd6d0272b1b11453b562f76b5fc707ddf2576e99ae965d4b3cffb19d84fb92ad8601d571784ac69b5d21c8bb141efa564a07e74e1a2384375b0ab48f8dbe53e4f8d8d81fcdec2e08bce8871b61339bae7d9e7d1955f253521e821aab3d09f64c15502a45f2004504fe98acb27d8dee0c63a57668e70921e6da21135a4ff958c0cbdc170d2015176af05eb0ae6cab405cfad3b422e921824aa29e24bc21df005a735891720ac01526872de906fc72bf7c57c9a341468e1e09d4eedfd095887ac3fe52361fb241bd26c63317a3caf7ca7d507790dfdabeb6165e4207476f5ce6f11bc08e72be42879407f671e8145364e3817bf9e8d12d8112803294a729918aeb5ea5fe44d4641ee50b2481ed188a29fd7c5f8c00551aca1c765df56a29465bf2a231f272908c6cf3db666a65b75bfccb8af5031795f165d3898a4abd9530f61c10b73a1488dcbbff0342381431b6bded68e5a84c2a0b535fb439951c953d80e8f6555a72046557d5fdd52e38c5eb0b751b97972726c12f091be8957c9e4843d5e1fa414664ffc62e3117ad315506b5b356759ca9cff1b0d2b4407907842ec503dbba9452f86b23e93365e911c8d965befec8b08348b30d862802dc9b3d7c3cca054e79723dbf74a51ad01c81deed4cea7eb12803a891b4faf2b3192b5f10a382dea40f262ea4b89e9cf387419bbe67024f91481e3479aa85ea3fbd35d4a1c0c3e41ea2610e042268e82f673cc3e43452794d87a8dc281e187ec1786e1e17cc3746d6e072ed1d9cf2cd7d213079ddddff57c77e32da91356af5417fda8b2a42fdd48bb73b5893e6b7de46ea379e9a464e236beeb1dc0eda0989c38185f0f322aca289a33917849d955eafbf658879a7c0f1084111f731065e7e3bec13ee10cf092615aa0aa5a8954eb24f65a4cb3d9f71b19cce0febc6d33973f5694e3d8762aa297e5a6b07755455f57bd07397f6cbbb8f3a786670c3714e1e8891583567135667dde272c1e03a8985a4f16588e8cfbf1f8b1d3407a081b8693c36ec27fde3da0993fd7223bf24defd8229e4d43df99dc4a627cceacf2184e4a952a48c50a4392ea93c72a87ba4e7465306632d640e5bc0ffcdd09d146149f90007af8a96040b38071272b94ecdd3983f18cc92aa11c9b723b791a3e5dee505113f8f82367e4874668d72e8a0e482da26dd64972a230e93c3a33ffe3182b1d539caee3fb89888cd326f726a5130f8a1e2d763e30dc01e152fab47cb63db36bfe4927905eaa8d30c5da772b609467dd2a76c14c9431623a9ec78e4adb35fbe246c14e2d0fdcbcf03326c72d7812bf0706ac21470f58e95cfe7ffb17f76ead9e6fb692009423f8936356931de2ecca10750e3596e446aaea8d05b419e9c55b98b44c99ac413b22e577c1d2c4e5ef7818d4c793e2a51ea9fd3391ece2d1de333106836f723244a41dfa4ca606629876de33430996d6430134d43382bfc3b30ca3df896eaee77bad739991732792117e98d4b0f2cabee77e26ee4c918d37fd7647fbd52d18ddf5aafd150db727c62371faaa2d844ab91954535a74cd10b4ef5621ec4da5dd0991c230e9ee8724c0a1d24d395a1097d66a98f4d42a3aa0fc661d34795e01e99043633289d991f5140e61d17cab80aeaa6be4c3bd0f72b78e1649bd88bc6a1f921797b97d5c820d0058d5b2ad2c55da5c4e298d7d48d2fb0b391eaa36f01b2356406ddbed9b25a17598be4542fd008cd3edbab63b9190bfd16034bda6e1d50d82c3dc6f25e56724fa3e765bc0a02ea177af84282ff1921f9e004224f9041fb540117168e8d9f7230ef18b5f923f23942d76363a13fc0c6fb2982a0e018a4735e01917d5241881343a70ec6d299668c5b20c1d0dcdcf3d1fbdf88bd3d55f6e910767ef45bb7f772a3e50bece8d5b0bd902b637399f52b11f10e593bde4d7447451466613685d8725b3800f5a0596c6335e642b85da1733c26ad5a95645003e07913ca2335f90b0b214bb17d20660e355b692db4b3fea23e04bdeb85af83e5c526e78e83f57e14723d0e97bbcf7eca1eec5d80b314c46e01ae79d5da235414491732626a8de73f3e089cd715d78a72db8f4a79375860ad809b1db037ceb4bdb6b31cb7bb4215dd723746cd9aac67f8ef2dedfc1b7b52cd15727a017471025ca0bbb60614d4b8da1413badeef5778e303e136d6980a6d41224ef46d7a57b9de64f939b5749d03f172668b8da83e867a2722a0bb78154d12b43190a325419f3d4480574e8904a2fb337da00cf43f7ee56422a410ebc06808678f5367c1985991384e6ed4a13ce7a9727532d54e8eeb0cfc3267855ed8b8aa85e05911cda1fca25a854857bfb5f91b5dbd1613f785b093286236e09796678250bc29b755f946a586aecd17426648a764f979d269024843cd186ea348497bc4c24d3fb1edc189d2613c4e400111506a726fd44769906a0408fee7d7da9dede8426dd3848b971ffeba468188663b641411eaffee0cb7f9c4b5d56417728e1b61a1a88bdd9c9e7441193f9512c1058c7572dbee6b0867bb9e9fe5ffa5609d579afea7458fbe7bf52d910beee38820f1616208e4c1ca30a8954dfcc2f0a65a59d15bf5d7a8ae4f0534a4729e76cae29dfd72fb793fb7fa3ca462c7737e97bec8a64492b9a80fe548fddacf9643af12143372638bfa939fb31d937495b5c3fe878968c90e6db464ef21a44258a5d2df7afd727c22f97d1b0d844b3de6ca05561ee1613dc5dad5d8b21107ec522b2f3e0bac7292b42cb331a3661331637cbcdcf35c6a42faeee6a7817de6de72ec05c04fac722822686c41def9211905df8fc4937d10fdc4b0270d8c638132d915897d86cc72bca41a2468ac66bce108221ddaed0ebb95817556533c13af49e4da64526ce540a392db4130f648d4e865f4e0390da73409a7063ddb0ea0b9d4aea82a082cbe26b9b8a33dfd97f7af571ec1f320bb0531f9ae7eace34694e452f7baa7f8536b722a1bdacd439861b7b5e03db455208a608f2c1062a34b2e87e7c92005d3b91372730f1846e832a91c3c20780144ef76c2985767205056fa3df9b6a403b23d353d6d53b594f6d6381c0fc2e1c442c0aa485dbae8885f9d251e0dee575c27cd5f72453b49ea2f1d09d3595a69859d74f9dc8b5c4af7cf9a4892e4af43446177b53e11001d1f7eab551ae568e42c2297bc0d53d3b9ae3d2885ad4657e6d0b73bce7207dab8dad679c1b867d4af8939f83748ea8d7a7e0a0a0c9ee211a9055034ab3333cb0408fde45bb2b34e33e870b1b7c75887d6450cb1b76182ace2d955c90072bf21a5434f611bb189807b045119d2fef41a7596da9aa432c35f625bd50f7f72aa5e3dd9c4e7b85b647dd71d306f6a9452ed4f2c7555e5f9034ad9ec2c2dd272f6b7d25dae9210ec4b31a828bbdc4632d0730bcf46fa258dab9646a1dd7525009131cea9c685e5aa9067e4e803c4a7d67838534cf4cf433293b7ce63b36c9572525a4daad1e3c2aefa0df5ab530f6945826108d93ae3c052e5e6192ac4d8b272ae2061b02d6eb7e3c67c9254fb27c95ed73a217b696bce99cafd77bba5d7af72df7d1e19b9c8e47341edc2cc2d314d4d399b2a2b252d237893c03dfae58ad472fe1e7f516a3b37401491177c7595436f06ddbfb69709868701037639a74e434ef5b9d97f632efe550d585e9a8791109e6cfe5b360380987df1e2e0187691d67284e2361e59240f842363d89a6cba076ddc2049fc7f430648327a30cbbb929272ca06c75a1f7dee1df664bfea5d8f6f939b6ac89d4450ca69f344eab47c31a372f07e2a0ce9e910a2964668d153b1ac9228a0674876e5535c1af021280057cc419c595cb999caed92d22778733159b1bd970bc934433661c1689c452cd3454371779c1b349372979dd69bf06c321c49d72133541e58849e34dde820ca4541cd5efec547d7d614cb3fb9b4a5716317e2fce02689931a0e0ddcd89381193c9cdb6844bb7da2be3b78f5e50b6d80ea564e5d53a6f83978504c96b4a10434d45d1e2f09ff1505168675017decf3098a0c13f5f894804610259b4eaf6f371c84284c72d55d7ec52d0877fea8dbaa0e18f658fce2bf824054b8c1f8253dabf444129f72d01b63275f9c99788321b4133fa566af9784d17de71f081fa7b3c66264a22c721cb70b2a3a16f4491da2b0f1000bea064e58fad860c6131e6d21dbeef894f272d48c9a6382affb6434905c1e0f0794ceb3e09cd984c7117f23a03994ba2a241680c6444f6242c6b5f05d5a368da1c3d1c3fbf78add449ef3914f023e4c0a43722901d601f025e48d0310eb6a429ac9ec1d7a676c62365f51082b27c409e4c55a53d46c61b7b49148c054271afd22ad466209f2b3f4bb277b85f43d20cd0974631167fe7453108a12a2acbf224a0dca1780722a00a68119946f0b4b87fff5c1727bbfea12d5ca677b451c107a88f46893b8740bf0acc27cafd01c7b00f1526c72f0f7fae823eae5748f6688d1d7e00066591baa394b8e49ad6e942286eefe34595acae961c32104a157551f7d30b3f4f48a4ac80c5657bd6644546ea98e26ea7202d426adcbd6b8eb9ab882d7b9332512abef5438756554a5c35c47a36dc548729fb7b98d6b72c4784273c99359388c201df3021675c48830b0b8e8ae21d81172b193f6d0b94e0aad67baa39f891ee6abda0529572da67396e896ec15fc8510726800e707fb74d0eb7ce31cef7e2282502aa8544afcf4a6f2dc329988580f437211f55e475f764c07b32ce4ad8b675980716c1f91009f519e37cc386f97af4701cf7fe07c49527f934d4daf85dcdbfb9ce180390dd05c6b7dc1177fc86391fc72de3027b88d3d03f5458ed3a045b5aa402be07164b76ba2171a84614f658ea66b17f53bb81e8f33b7f29b45f30c6f2fe98fe55a68964820c9b7168b3fbc9d3e723cd28b1426fda04644c72b309a69001c9ed7eb2909bcdcbde659dec0827e8c5d65f7984658aa7fa86b39946c54c1f2cebaa1ddbb7cc4e40a3f57b263ed12a772042e52966befc155e43c848c8ee971e8109142c366d9c862d62cdca605f98772d31df68f2d53fd0d14f57386303be85297baffc56a3c9db49bc5ca170b70bb722b1ddda60d7bb5e4242ee72ce2421a65809d5851f4d07e8c6abc5405a656db7252d6a5d6dc6c9505e6f720fa1ae77c2076437ad50118bc50357182603b28776cbeb5cfdf9da1d4e43e610eaebfa14509d32588118149ba3e211b8b1208bd4e729aa4f9ebfb25d2682595b1f0d04bba25277f4ef61aeda82c20fd9fcf93e15772b67cf566a96e1f2cd239e849f8f5241ec0b8ff43bab1513d37daf1f593f7644b270ea617bf9565cd90ddd8a40078e2765286efe75407d11ffb6fc77f971d7749c2a7b71a2c51b4d4e82ff504c8adc5d9b47f3f479a17533a9b6f1c939508d572809353f5dd36dff65cc662dc2a9b5a2f70a3b1551dbcc319dab62a3e6d05580d24058f26eb730eeaca96d4a59ca883fab1187a67b2ff5ee5082f955a278fb744cb4748f44bc3f269b5d718ecb49214807109fb9534388caa05568fcf1f3f01499eef589445aec476e58df325ef04c492fa502c0ef15670e9bbff5c50c6c1f0523153a26feabd54d84d67064eef34858098b22a1ef9bfed4f2b894fa3887da9729d4a35ae86bf48a5e9f2ecba0e3fa00ae4eebdbd5e76e98d731e7bdb4b347103660d7792512c0683b7539bb2bce93ad396cf7f43bf33b7ccfeb3816aacd53409c2dfac04ea0d88f7b2551e8fd69e3e4cec3846e8e769665b9134f17a8e375f21274cccd793a6491c88a58c7bbc92b628fbc5f31cdb9d3fd9cbbb721bc31f0516b79491f3a94f7d6905c7b38dbff5fa26680fc9b947e5bf0f5a2349c724f84572bbfd50d6e520ad466978a64009b1e7b96407448629722f2c768e216692778c47d7782cbe51092a15bbf0730a193cd228af832f14e46e6a39916984dedb0cd472491346260dae6204a31c63068de9249140a793ef912f2f0ec2e8d92965eae672130b8d14da01773231bc3c505a773779d798bafa24163780b97ab5ba85b35872d156256db722e68221bc3721e114edbf65d8f4359074cea93430a1eaefa78619025cba20d992ae47fc5504969c77ef9e90066af76096f021300f9d225bebb40870c2298e9b2ed0c5ebb2aab7960e8a72830fe54fb6c4177ad5c6654a3a184d723f5f09bb8c70b7edfe80276976447d0ca2d8943596711540ddd3568d9a912b72e1e148ede9fcd573db9ee22531b952df32e57e4bb0c490edae2c12116f5afa727dd71b689c1311b3788635823fc2e3acda400d2bf1ef31b752595cf24dd575474f9a2d890dbdd32a1df0730415885a1468d0c78402a900f828855124a5249772d5547ed96e88abf8f53bc65b26e0cad29d0b4292b983ae40546ba66455bb8a720acb3595fc147b366f804717811ae99a05e3df301fb183f391c7dadc4b0fe672b33d523d45483dd1c3de1f87c1d653d982ca39181adcbaadeaccaf98ce7aa35d9b76e5883d7a2cd7538c929570bbce7e0d48de5fb41f8166903222b1e2bc68729fd8560deb6623d62377664ac851670e6b70c8e5ca152934ad0911e9f99689725bae21e56029b7ababcd175cd7f55bed2bc42c231172aede254679fbf9a37c7213a9c4a3a4ef82338f63896ab30f531c17d3f3a2c0905a7ceaad5089980b35720d48a98c930ea78343f55615a0aa4ad0bac4ceba47a92c6a586bc2473b401e7292f794263378a9412cacd2c33a775f3c62809b5004d243b22ee4bcf3bf4f9172063333e72369cafd923452fa9eb820468315e41cd6f7caebaac59d380857e21114df25131d5382c9a47f5a709cd617767147bc236185167369b0c6d01af105720c4702ff525ea1a4e1caf10a694ca4273e0397b09a77912e5b18ff91d1f2e872c08dd6359bdd48429c6b8f158b7773516c777df6a1ce8fe464c46839b076a77219f604e80b42b95cb2dc17208d65362af0ca15d5d2522ed0a8152ed6863fd5724a7d055ce2fd2adf10183185e7dd64610cc898b94270b95562d3740a64b7c17284c2903a109a4bbef52ddec7b64884b44d977d9a76baa45a071a64dae6236472d4b1d767115ad46ef40f809e2afc65516e341613c1cbc4a06936cf24fe71a3603042e4c5fd2e1246d33b7cff72383c85943c4f9e82e3ef18a7e5c89445801f72320e6f77a52eb90a1cc81b56193c677d64de507968fcb77f5e2b5e421f309172d25e1756fed5e5cac9c18b4b48d6a6c8ed67aa6fea3d94b7bc7e95d82aeedf56c0121713b54b13681d0cf5f07e52a06d57517ddc88aae0920bf14548de5f0672f87f0d2c86881c8bed70955157ce70b18ac8c68f657f5d355b74be106054aa72f0901e444eefa539050763b490fc73bd4fd69e82633dd8b358365540752681720c81043ef3607df2f0dc3e3ed7995de0bec44aa2c8f13f5191b7d6257322a8721251db6e5a452564ef9b684367ce350c0f88262fff12a4ea9795e2888a118f72be4bb47f69c13be3a4ef2178aabc0e5e9c6a70b768d6be62d26110c1cafa2072d3d6e1410309d5cad3a62216ee87fe009cdc3b5da060b0ce8e5ca9ccd171d934c09375315f2ac51b778b9067568c5840b1fc8739fba7cab5fa9c1be451d4e9725d5af66d3a2626bd949dd1b8cf22f5bd33c51a298103242e0cfb6c866eb65472b3f84203291249eb8cd641681864199d1305e312161de733cc6bd4fdd27d9772c7518ebe0d075db9f125abdc7fbdfc4fbe2df49a698c04562b1bc5c659dc5b72b74610cee60b51812226a72cb2c2df539bf0424fe8ddcd6741ed71584fd3ba728c4544d084cdd70c3a3b002d17d34f4c0578452da31828b9994696755d66d564d83149d8576448d4fb02d953902bb302f4e0edc89d4985e875213620715e257249a34373d633b7a22792698352ea42cd7ef072f1c1d7ff9a9b458a3c5d9fb5728141ac90d447b9350e7a25463a0e173785865567df8bec100612d60e19903a34eced7d3326e2c304f329305f01f8ce58f8f59e24d9a8276840409d4b34520839fc26e25013557003d1dce4bff84cf2c52652ccca91186b1de65539e9187f537281366b10aec867373480878c14ce44f2314de0ee7c64ca416cb0a801e7172572867d0072024c83dfebd01ef3f0684ab0afdb028badcbfa7492fc1cb126af7d3c02987464a9ebb6bbfa8ef6a5ae665d0239502cdf2271df8deb1c860eab711d16b9d70206931df34213e5b4bab0bbd71cac4131a68edceccbf95144139045767295887f92a291a6dd7a7f0885db5b9ae13a877ab479bf09206cda6dacdeadf4721663141ba8163eaa8d633d7348030c32acb285df701a13e2735e908cdc72f40d3c5b53b04ac0c02550aadba9e52d9e3558a75bbd9d9f69e64ad1ab74be240d10b416e57076f2fd3e6c97fa888c3afa008bc52501e27c649b5bafc169a900f06ca0074de21474215b90a6d6b623d6f39955bcfb5d4a55c51cc5d99b171e25f1721c1e77b545b05b361a360a7bc262467c609c8c2fbfb70dbfed0a66a2e9e271725280e4bb4324d7655bcf0cc651def80e0f4e8ecdb0358bdbd59a4d2c3f41d937de91bbfe02c998a5b0312e101d8bba04eb98253d3fd21b4b795b47ee04fb1c72fe4f8cb06f4473803c5ac8b93f8470369e015ace430a9b00d25897e1d7a474724740c3d4b801df99e30464a41fb9684808bed3ed154363d29e3930d355a113722aad3be8b2c09860b049cb00cfec7542f3a606d021e40f18a80527b1a81e5b72e75127963575ffe8657b068e711b8e03edd53d262fb5c837744c41568f03072e1fc2fe6866f08c182a3aa99d442dcb4b9aebecc0947fa4049bf2e4fe26e4f02d45cdc0557dd12a47a3a06603cb736e0e24e70ff56ffc93e4df7d1cf4d0c6357205cd48aa67b2573dc99bde44e6e558efd07a4eb926a106938cfb4353c54f9f024b975c19a206106188fb6fc1aa5584de57d47381c9d1f26241f33b2d3ecc224e3e614f9462e097ad43af1134d226242315ec155478b7499714448124a67d792a20a476d157e976c3fd13ccd45a2a66585d7a5be913013b934a7c48775f383363823f55ca6bdc227685ea3c1eda62cbdbcdd460386c2c6f5da883bb19e79d82000024d42e1dd05f3ff6f30618e181936e43d8b2c285a1e582455071c9349e00179f9199c14a4333243c84383b55f4e96cd59a13a07b8e341d3ccd6eb2fe42237222d0da98703c719b064f773e56301af3bac85b17ba137180e5cbfbd0a3677272182420aa25139b95bbdea92c27963151643a6e7add7a51d1070abc6325724f727a134c455308f25fe487d3234a7bfdcb4344b32b7813117a99c7b37f664379722873aa3fc247e7e31c592c7910be00c1480f4b40263ed8e93dbf5bda678ce4728fec89e9057d1668024c75ab431cf302a68f42695d84448203c45bb6d3f76472a984eb67ccb12616ac379d07f3c1f091487aaf6d70383025f2b133be5327bd6577c6d5711f0dedc7c5cf774105bf13e1fdccfe16597acf775dc300d7129a9a1e88920a498f2c3782acac88011e123516438ae7a0a148f99a96a864d3f508b472fd0db2f17d173d8158101c72416c181866a63a4cca6e0534a67f21933177a0724f74a4629731544a843e699feaee05571c9bf448045c914145afcc8dc8100172de2923a7a13d64ee1376ac64b76d25ea066c46369ff163fe8efa883443af3572689e28dbc78cd084832cc8d00bc73beac598c8f086b4e1f9a600ed6a9e5ed7724028728e03318526295b32d22b894fb481491439b9e43ca2ce3cfdf37a65b4130c69439f33608b1c96608c6ba11b5704efce4a919e141806ab542fe29975757224291ad8105c4935ad2036dcbc4ea3b16786f6f18dbe19b7c61e797c4985787231eed0cebc19f0ea05d8151a73b05e138e23a4c28d442d43d543fe3210497872900aedc1ab0c5d5edfae811a3e072ec6dc484f50e826853708c9d4138592163981063422ec8ce44a09ef2851c44a65b495c88ae48a7d4bad19464c06de7cb672ee8e8794c75e224b576a91d7eba7ceec4607dc42cf6ffd283ce8e5eb98cf611a906d63785b6c6b09e71e5e1875123210d2816b8b5c07b7c612ef9bb68bb44b6608a0cccb703917463c564962a3c50de4d05b3d9f1999a737eb1e522d1b08266c6f8f13277c8a13d7d5481252a54048d76787413d739a65c5fe831fb618352a30c325335816e268d81a71a380fabe717fde263a5a7cc121135c99ec19d252cf728c471d931b56d4f2733df98976f5e1af7dd2e6ecc1661552224fd55993fe4e14e64e0c7bfad973abb4cd597fb87677f745f86cf17a3302c85bba146ec288a35de41edbc502148f521b4fe27deca939d4959e1db7d9a482ea11593b88cee5e223e489127165bcb1f2441dcd30c8178bad2bce99ac1cd53a8288adb7630b6bd472550e85b24d6d59ef5dcad31f1edd315184e8487e8af88b7401c79a79e1a76872eb1b8388631cf7bda07fbab262ba8283956bad52c27bdb2143dde43995e335578185169e9b75e4bc82efbaf526bc6bf2c78cfb9c9cfd821ba7ea863df3b8cb72423341f0ebe36d669480a41b42b4bc6efd46e83b2d0278cbefdeecb37e3dfc72397c85f99acf7dee8d6df5b54db6f0e61fb1366aa6e965b0ff40166253f920600bb062d0ad5c9b5f97cfa0dfc5845bd30664e78f1a6c1c4f8a9a823882caf772ea093bb0e676902674fb28c9f464d7ce772e7b5b04c8f3e3f3c1b93c34054c72dc099a0d6c8f4c88d8173995fb74bb0a3f31ca2580ccd4fa27b807783e998145507ccf448c194338635b14cde359242cc5e87f29fbb0259f69261c512687154a6fe54bcb950ef79ed20cb55dd61ba718d47ec108ecc6fe82fd5c740a4b4cc052935c9cd319dd109509597602f21c0dafcd2f9dd8df37d8502106b56a82283d198467d557eaeaf5f42d40bc01ad53fe334ed169cb133292a00d17a243a8b23c72b7779297d7533fd79cf6c40d0fc14ec3c05759a3476a0ae84e3d97c86fc5b7729444e2ae84d6e8028531891e8026c01e3e8f03224c73b680bc8f315c805ff6601f61f4acff631b444e973699dc87a9819c30e1d18c7d7fd75c4667687f0770121f9e53b2b55324028ac3c45942dca9f966552156509965c692d0782f5264b45c7d5ba79795242041ce5bd70b74de77b6a9ca969379bc3d9af6f5229c92cd4f721d441a226bc825bdb98575ed57bf826997515e56490ebe59ed8456f54910a872525208b19978c755c19af3cec8d642eb7948ff154e82b166028ea72c4ccc12724c7fab8324faf363ffc1fce7f5e049bd11555d9efb3747b7efb240bdea59710a431d50d6644984c96c98065882289c2ab78fe43bd64875687f0c3ade085474726e70218a9a589a7315e13a4972ffda2ff923575d847314310dd7225349ee6830c10c2bc5b647ce6e21e2017a209a46ce7b4bbfe9c483bcbd84be74ec3db67c729796a2176934fd855e4f77a457b9e0d6fce8f16c0ddae5fe4efb48c0633ca172517c82ebbc4096f131bc801f252cc152302bf4e807650dfac799f2f819c505728717183e093f1d31b14266ceb9059afa96dd2791b1fef93e9e31794e2da91d341c82902d48b901b00e58a8e262677003b4d9913048aa1ab3422f619a240d181e4d316c06d8474fd676b4dfade344b065f190252ad7d20c64da5c6261b3cdfc7276f8e33e4ddf8ec987e0f92b912b18791f6be897d6d73bb03a4def091d4e9b671f1c33cb39989d1978fdda6f9099f686f72c27d8c6a404e921b5f8a87cd97f725ba5d05d15a77d070096389c9d2e6b9b492ffac63578edab65411809c0326e6f4df2fcf2497626355c5bb764e36ae6ba7b9e6ea7402985683195cf3583e36e417a5f18127418ecc6d5d64af30a7e8c20abc4ba43512721ff41c083ac92fdac726781e2d5d28d483df473f65e1ebd608caf77c7a3664f2ccd1cf4b10555e49c7250d81a1b18726af81e003a89e223b12d495e32e164274d7dc9679ddc1268d872f7b2560c8875a063cc3b55d30700664b55751b60d38ab4ad7081973adda3eb724e535ba24ecc29618524b71f50288f11ef00cabffa65b43f95c5f8c9e58c87724c6163350cca7c0ab46e54a9d850cc74253662f7ecc02a596b084f3401452e72d39678aa50284d3f67e36f9eeb340427285ee95fc79f174824344b2683967a72b842ddd483fd1ac5af90fa490486b3f99134f48bf70cb95ea407dd56ea945e69ea2d01b7adf1e377504f35fe822e9f2cd450cf35d5f055f679c0a0de7ccb03722dbd3a9cb51cde2631c025fc044ce1182f01e8aebef4d6ce41f1f7945331d20405674a65de6f0e20c6fa4667f5453d30650a2e5f94112c1a6944c5abaf06ef720f2dbb79cb0c90d02e8e6b73fec71bd31e61aaff1db7556475fb61de445d9b72ccf3a64f8639c410c630a4f5268356241dd2aee3c1640072fc3e50c88b1ee772e38d812af26560cf35d57d634ae5bbf8414cf0a81f12fa23f243f8cb0c2f567281ae2a9cd082d1ededef6352ca39ba5b50fa98034a8832efeb47b83134bd24721018f1d2042d709f9e56875f044dc1f61d8f97f6acf83d42d0361d0793f24b72bf3fc75f55a521b1497c81758e2ab0bea4580c0c1ba4b6a5fe1a5a7847a98a726973a935fd9bfb232d60840249b0e06fc6b4229bff5f37fffdc874ba96bf87720391d66b93d15ea6f604c11a5d608bc22e3952245519a765bf4021bf6ab4f65c0ebc911fbe549793ce64568ce9c503f09635814021df87bb30bba578eba28a223ac92b8f1880bdc2e4642916080fb1dcda77e66189e2b2d0b3aaaacb8bbd0772bad4bd43e8b54d60b54f59121084689957243cbbad739bb2b13be905a20fa17247764c99dcb649d28e8c321a9cee2cd06e202fbb6d7e6acfc5edca669cc19a32f888216ca76df983be0090f105262ae6ed4786e0365440770f0ee536a2ad2572d369ff2d7b973f13ae958d0f2da4a79607b48de76f0d0acee5c97abb1e49b072d3d42aff964f684fd583a53093a8f47b4037e7d9f8de4ce92239f2f28126bb7239a3e1460fde279b2a4bd84afb2d825607bdf1b3ff66c16d0cfff5a29865444599c75e772fa97924dd345ec76e3429977c5794b8deec31986aeaeed83c001772826378df746b82c6377909913ad825639317cf2526111de9bdecc1ee1ad31f72d886d38b727e614ff777e09145b7aefb78383b311610d43183a2fb4d698b1d7227d7331d5415bc20b0d0f0f08d710863d0b8e022ac7adebb9a03024922e14872431f704bb63d0dbb743697491ee99a803dadde830dc2c8a4b99060101b2c6a72d3577f2b9e1c78f6c14e76fa01a64fc1287d1f5bcaa064ac9267c18c800242721f5b4f40b289fbac6c24ee09b471276fbb5e0159aa0bcd06dc867e0d8d672f7263b8e834eb83af6930edd26f10c87f98bdfc515ded387a80945f3a6dd3a84d7240a9b539bc913df11860e8a5b7264c56413faf115e86a37e3831bf380eb63a4eb09c15a389cee58ee2ff75e831b83b8a0121c48a2acbb57426424fdf5f059e39ded1326b07f939a9e71592aa9ac5e90e4a71739321702168b4f648055603c16b65d0b6a29873523b4b0d5ad5c357dd457ae2f387e188d90c82a1f0f6c9096a72b8f2ccba0b9afa68cf4c41d9be9c84ad4a81aaaba9b26f4b480f6b3c1180fb72104595f50aab5f051c69b765015cc117100f1d98556b9ba4d7d2351b396e917279ae71c6713211e3859a656692ddad418cfb9d1ff98ad98af1e38ffadf059d729b1caae6dc19a8c9bee10137d0c3c286db42881ba7b094286e942031a72fc93801d970f7e3d75148842580640131fa6aa5f1216fba078868ca2e327b7d5c5369f5dda454e89aae5fc40f244501ce4a2a41dea4336dab5ffbb7a361c0f928937230e4dec1437a47d1d4113f8cbdc15b6b914961ebd071f4f5842211c9b2e232727d7a4841ca81eb444e4ba72fa82bc0d1ae8e53e265f6ca51f53dd70ce215ef505c64af3ff2f5ab625a550401bb26f0933b5df24ecf8e1924fd02a38fb42c1271a4d1d94365449813a6e3e10d43415b730277f5afac52410edde1a48f78e07a3896a31bea27a714b0128ff52ff7d3dec7929ade9426b1716502e18b64e0826472873d31eb30b66b8b376421869d3c89fd0d116865dabd0881e80dfb8b9cee97723a9466160b7919b4f9c87a8ba3b3f57cb741a1a525577a091fefbec4fe831f3a4b7598326a1bd675b9f911908ab0e7068a7eda48d109733f5b3b6e4e4035855a2f424fc6bea087b49ccd10d5093b3dc8e92c0f4e6ba337537a2ae74daa4e6a22b94a72ffd219decc529b75d65c13c6e0bb129720fcf307e56ec65751dc6a505d6a34fd59d4cd4dd53d4a5e4b133f56e0d877bc34cfe6381d54c17f4f2586f22e5c96807207ad988bc5821376e45db1bf36d9098762f0613efe2ce1fac7e7a57211fcc804c2ad5d7a395923d2a0ae1816fec412b5bdc3344b27100a31be1c8c0c07bd244ef76a64529d32b7716057dce4fae0fb55859cb3463714be8fe6862b72e48bf2edd485f211363ebbb6a68610a08679061ff3f15bdcab4498b5ce5aa6722d68f3d9034678b48e052e798ae3cbb3fdc3ab04b4692c1fe08eb19a2b648a4d61ddb0c018c7a826b867af3997ad3d2e30273de4190f0e4e3ba6d255ca47ea72817132433aa3bd25e1e370a0a33cd1f7b6d350a262a8807f301a7aa720bfea720e1a8c25337a1e2cac4c7040729c5cbc8bd8a8248d131244cb9cdb81bc752e72c8c37028fbcd723690774f295d299b67217b83e5fb7903a2e039dc6289d5c37226b12540d2744675c8cc90f141804f129c2bf2ac9febf804038f1c420298de721a40f1114d9c148b5710d834341016c9af333ef0ebb015f72fcd680e7b936572305ae10bf79db7c634e8d8b4bf73b5e43eee8973d0ecba3487c0a1340b0a0b4d03d4b01b742ca1eec03bfa1d89b2d3d2df5b0c2719bdcc957cd76e582f9369720618d43bf7c8230185c22c3d74495612ee31adfa867ce7c3bcdc847d1b490b72ad914e87f8e6dd2ceaa201e2dcfc3885e86b1a66eb6863db847b4564ce818c722ba25c7f3cfec213bbe0433588da406c09cfe7ba53da20d2be3d8f245c6be07298358f385fcff1650a686dbfb2d79a30458c281a0373bcd1642ac3541c83594ca9882ee8244ddc450144cd01fd73ead20dc08ccf72c9f3d749933a35a7eba3721ff01189c9cda7ea6deaa4c471c847c7e77bd4d1c0aac3840ea3c9a2af4ffa724c2cd8bc2b910c16415c34395119d222b000bb9f4f05d415f17b7df37c8032725cfe73c934011e6cc1612ac7eb2c029dae7b1e91c59f52e020794095e21c4c373df73a97cc649d540b127c223a2c594ffd9f61ac35e27e7ececd3ddf5d39072308186a9c1ad5e8eea03b250a2c23cb2ee5c6a19560d9b0fac58d900e3b6a5e204e372bc30e55467228f4f7e7a313cdcd092a81572917939366b5ad54c946d0332d6d24262c0d2ce39b183859f02eddc3b8b77119555fa65746a60551b2d40571158a4e42717e756ec54c7d9bc7d9a2ebb3dcaf2d9f653c692f99a9d0398c5a3a209b5dcbb66f5020e958a254a0301bc3a90a58e78ef69790483c7ba0e04ba672228ef08eab893b5ba56b450fdc92c36ebd2414821766f5577f5760589c4e271a44cf0f6c0a10fa5423feca280800889921c50553f54cf6ce0839f14e75a4017264b7b55010445ef8840d6cd9cbfd05b64746d954281c507a30687ad1fa0f9d41fd3e762fb66ad6b29978986118af2d7662fff051f545fe200271739c4fd43a199f407e2bb37a29868137069e5d2a54b8222dd476086059cfe5096a8742e5c738fc43b12fdf7446f93e96b6abe8235b76be29c171d3ae1f6a1e507837ed0bdb4227878f0fbdeea16ff15939ea3c7e40cf5c481a40785f781ec65873553826bc2c17d76e750a550f8f52d1e1add5ad81d70ea47f28c46bf98556ca2c1ce3710959baa2cefc1c90f47f30693feb6e3b8f7ea720f82c26e6ee8069336a6480db7e6c2eed3626135f213d31b2562bd389f62ab921ebc4309bda0b73ada6f57bea407267283aa89cba1fdb2f371ced57b46c73a3507ea3b800732e7d7e40bac4b0750bdd924075d2a5f08591f288114e300a23723143fe4921800bc5cdccee0bdfc4013fa078a4e04e62f1fbc34dbf2db0810f3b7889ddb996c12b4cda19103510dd72fd10a58f8c89f314265153ebf2a9049989b881cec147c0ad1e74acb84b46e00542986e041dc015783602198deab88cd0840f400d4ca043a0a0fa2ccad7c9987296f1e62e3ad357ef14ebbfe1cc66a17998bfd61595227d2b81905f4e68dd4720a2a8c8fa7bcb16200d1881ec4936408bcdbda8e027d87ff944317e3a7be01272a4c290b39904a4027ade7bc8c7a10e32b6e5b49c5f7ec6ec87ff668ef25b8d725aa9cf667ceffaf9e33909e8167dee7857b5348bcf437c8df8465f1025f91127be4a11a13bbb27982cc9e9a66fc7c2b34efbc0d2e1c36e783361fc7a74caa851f77cf3a258b635722c2e3fc3d171a27373ea51505891326f6df6add5853d7772377f415a5f538c3df13c3a43267a015de5964a493e888409fb128336508504166d309271b9e70a9d91d64d7174b31296a362ce8eaf07eba4e53cf0caee5b3072613073181dd833d8209b4fc7172503ef2c94778bc058f032d6c9e4d609241072a9d99bad818f1bffbfcc99b773180c0b009a8a87aab379309ee028f8176b4072ebd5c7d2f515da2df0d62c4d7f857c84650d86a756880b9bc7d664c684f0de1df171f1b2b63ac80c1d02816f2360d7f9d6f0c6e5cd75ce673ffc73a26d96e430ad5a8280aa47b44e8e4d1b38d45831f5b058543319b7383f79490ec3176ad3131903d61b33d266400853f4039e77f4f738a535e4fb6988265b6d373db7308803243207a7d20eb5ece37bbdb8f54e0a3e453e94760d17a08e2ce75783fa4b63594556b8adbcef6b700bad6825cf6bc9a154ce62a0fc9890c47ad1ff0401b1b07284fcde2188cfa790032e7c260b76335dfa8a3fa0ad93b9888b56acc600274d282779edb66f03abb593eb7dd0714647414a179bafb4a01472616b4f1b257e385966c905755f6be308aa428a2f49d9da15f2187751381a981681034e0deaf6b6726d49ab0398f6590b1b3a1c774f70fa8b4a15c0dc1dc7d28d1ecb96ce73e453728f0fa70fd9c84d1c426d585327a5936e331c5ca44d5aacecb0c02f5e9622647250be6d09d8f62340d92cc05c436357b73fa087ee3b03597d2d2149757e487f721ac63714b2942034b85a67b5958e286283cc607bdb01fa137f7106c9ddd8b8723a23be600ae9dc4099d785b4cfc0514f303061cbbf1e29af6be1f89f419b27728e3ef878dfbf1c5683b107c1f7b7b4ed09f672adb722751db69ea223be363d72e87616ce52813255ab5eb103a7e94af72c354394951afff366c5e2ab279fb2487617024e6f3a366bc517b853fa4eb19ac55e6cfc0e4e233c7d64af31e1689872cec42ac48c9db53fe589f7d5f4b00a97ea10f9034a4de53b76de1591f16b901e9da6432728838ba153b32273d0f243cf56f87d247b92fa3cad051e5b627b5c3bb9d7d2835cab838c5290f49bd328c23bf5983dfffee7bbe030ca60bb634f0572e61673859807725bd0870a840c15b6f9c2a9223190d3ffe8f4738b635008bf72ecbd11bd81fb03788013e03460f50da594db418ab4517ac23b4538819dbaef72cf8a35daf5637a329a089a8ae3c9ccede804d5a21ad9bd1adf6d7369175b5e5642bf7d06770652431f7ed1af80922be296909200bc9dd42e4e0aac956770957292740f548a1618ce1b2f91a624df786c4a407aef59af771e95dea9470a896d722e0574a98a25a7f3da7aa5f64faa6525617097fcf385c5d1ca45a54899cbb772ca4a3cfd692e4be5922823b4e7ca538f9a8437c355fe42e89105c9e8017d8a5ad0865e2f68ecdf36fdb79bd6961def7c35241783e895753e4f7b6a6f09a66169f7fc7b49cf9df4c5668858fa20b1f8ba58a9062a02f28edb26c8ee671f162f72da4ba5b3361a35844634b5092035206e36563a9cca5da66221511b162e8be400bf66f9b6760c208029f57ca5a094c4c9b5af7308c0fdb877afd01f3569e27972d89e842b57ef4cd45772baf61bdfa082d64d0d8986db7647fe76432a3fc90b3a8c3ae45e338b4958629c74b41e54e476a4d0265ba32de0f329b5b1065f10590fcbb8528868c1a96fa705287ef1597f07fd9a41a96c8b6029cd5562cc70ba162479fc3399edf46f08112336268831ab45e6d72759dbeba0833b11d5d4a6aba426205339cecd66747e06914592ec9508ab45b7d06553a9ec4725a9c37ae3765f722e8f932923c4f53aef8a813cb3c5364899b95bc4189d5e884f3df21cdce30c727118413963d255fe53946d5c8d0aae543ba93b4998ac59afc769724ecc355f72cb608d2213cf231ad1d1e3155583497abc8b912fd5fd1a24c726ee343307427249d26b07d01217bcde3a5c0e83cc4731ec081c1d956fbb6d2e130bc01ce8056f599faac8db633275abada379c0a1a43b601ee0bed9fa701baf7e8dd40092d27259a0126c5d03eb2362ab8f2781fcab2602f3eaaf4b2a5fc61112b0cf56bbc06aca33f9b035ed937f9ef5d4c2591b364b4f99af1529b760e3b521161e6269fe35dcabc55f60d1395ad5f620ed2735102758f4a7ab2ff339d0d2db6118f2a324726907fe8e4bd37efec3b9c248967ac922de02dd261dd1d798245f6aeb89d1b272d6b4beebfbd7cf9626c857768fd1d248e7aa02d851bbb472cc19a2ba4a874071328ae56632a844e6ce6dcb64c2e5dacaa52ad672f156a9a89d0c1b8f55d2d7724e927a1fe278dd94ddd73f7286118b685cdf3b18a5ac2f3d2f9e1d1904fe74728ec885a6343cc56ab4c04dcfdd5a725cf0d1705b9d6cd6fba9dedd9ca90fe63125a5aeb90140ef69e91cdd0de288ccef09c887bb99e02936b471a60339b7e55f3de64ea43a1eaf916f8ae729d019f4b0c9b2aa60a9352ad5a1537de99e47ad7281b244033768cf164d5f7a62262e973460bae140bb7a8561f3309a81ad2cba72881ddee99f94a0ff4612ce82dff04c258eebeee94696abfd804dd016f4f36a698ded0dc898745a9497a33564801dcc92f2c282e041827f3820199a01acce7f0312984fc1f8e9975c81f5e36023028459ccd11da5265774d394896616e28ec972fa4dc259e611349a286bdb5e2cc7652dc77a925778f2b0530ecac180ac962e7274fa062bb2bdd07a2b37f1894fd14f09b8ed8d874ecc2fbff9c5f437fc09a07230b64e51475cf3e8657768992e4e8e01cf52ccd8983fb4d7106bdfeb2f588e724328dbcfe4bfde40440588e6865674b14a7681d558dcb7df937a8635369efb2d8d62d9e165fbcaaa133880955fb7bed4214d5478ff4c1830cafce7ac6a96af72961a5e662894c9007f67be07b302d5861422fe33df98821789f76129a4f03670d83115fa0c98fd2c64eef32c6aee032b8919268fef2e10dbe2bbfc27d8fa11609cf1e2be514445a22a8f22bcb3d7b3516b7d739939873ae348f8300a25131272a058cd33880dd943cba8c235f2003e05519bd97999ad6535169178bc508aa9721619b1d9dfbe19031ff61c7ea5f14554e70266b10191a8b96f98410516cff472ec53112182edd64be3dbc876f28737ca2054503ab57c6c1642c869fee22ea472f502b09442c135df4348398d3793f2815e5464fc8c6ed1fd954c1d53fd1c887291007c8ba8c0e0eef45b73a7a8a1098809e3a71acbcf9fb2ab37bcdbe2b0c21803dca57bd222725c119e18c6743d7f527e57f52c9103925423c7a566da0dfb3c513dd6d31a0b0248f4720dd7327b65cc45335bb68778b3795a830fa66aea272ba253ee20f5eac03b12f8021bcf1914fab7c2017441ede756f1fe044602be13726cac94995db6b8ce913da3de47d2a164e547feca70ddf31fb246403ef751b0729eb23fd1bd5e32ae6ac8cb0e1a8d44547f0c41851a2f2ad17d083cd5e3305a727f60a41e1922a19ad27ef85be470152005702a7c2d461129aa1958dae2f5f572702b4fb27a7fa69e0987e8334f97cdb3cfd1e5a2c81c50746adcd88e1e673172d6ff6aa362a3d8f358e08573bcd178b2f3c63fec0553f3e14d2b48efe676a32c34d9b7517b77f82e439aa6a1edc3e3e79aca0db8fa3525d6ef1ac415ac8d4572439cdd36bf6157c99b75726398f2c49b044d8cb91d38ad4bb54ff2e038c04a08869b4e88e96b04ab7b96c0cf28313c1027f1b685eb144e723cfe877b5cfd02727dd28f0a1c041e571e5e34c91e3c3961e9ee74983d22ad6046b7a18143706072799edeb2b8374668943bdabc188bc0d37eeaa94672be159310afabd55463c072bc492e417e2601df6bb3ec82e5a0e60fc6956bef5b215349c3fdbbc8fa141413b79c05c6ffc0a80729177efd20832b0c169df2292431f282318690aa0a1e4772060edc44b2b8e87e600c4ee6934c21bd4e4e77a00f53a5fbfb960a7567134072525969d9e8419b6002de2ecfb318082e798d7268022fbb039b9ff0dc142a693082a612816057b9327167a9a2d793277b2fcb6c21decd591433df4a494e1826553f62adf22a9c9487cdfad6de7683c98cd4d08f70ad16b95efebdec0cd85fa07296774d31be2590465aeb7942ecdf08347c01cc93ff9c9d20082a0c109330876fd7e78f814ca61e14ec8618640c80c6985eda8e024562c0178b6f0b2037eed972aeca9bf5b2b4d881d235f1713bddd0ed087dca9f716a0934800d068a97f03372a8fb77b5e67948c7d05f844f31d77fbc67be690d84e9d343e2d252de6e285b725a6d293317c16751eb7e3419570cac821be2a941fbc41c9b0ea7414cf86d8e1e67cd1add4cea527c6df5b2d1eeafc2f1a4b4cec71f87165decd7ad7f706cea72f31cda1832e14d0c1c0d804a30cc7b550ce96dbb2d5b15c77b0d32ffdd051272172b900768930e912a57dd148c0623e05b8d70a5489e366e90bb2be885ec6969bfb696aab7a172e687415cb1d9f49f48f5fa8dd30a1fb7312527130e389323508873be6ea72e3b6afcfcdf2d40d1879f348fa8e9ef0bda28f169b5add0f2df72c3c0446117ab037a787b370b60d531c04599339f5dbcddd11f0bacd3d6c4ad12d15278232e74e4ce440f832e8ae70d12055c20352c72b01a97803331f99479725a57874507a569580655f648eed60a884b55763ad5a4452167b017f8aede943c21c28a31377a614de11e2be12937fe1995d07f5adbc2772ab4e52d4dd547c572cf89b5778d80d0b87e2a11baadbfa6a9e2ddfa8fb260e68f9822ccbcd71d2c721c08bac33380c4a57cf9931b3b3c423b32e50eb9a31c698544ce1c23707887728bf05ae5337fa7346b8c995f45f84c041b03843a0bc092c439997768aa514172bca64dd3e3bd5300ca24fbc23bad45432a430a983a27978b74e6d8741dd0c172466a11e7f0bb3920059f46e847a51aac0f281c8e393c1e1539129d68124460493c240c4486cc34966a50df15d3803cf245fa817f7645b4dce42daf4130e2ea72157653f0882d9d2bf69b7f072a0a74812e5a39e7f75614e6c53761b9db521a5044cae2de7579a58640fc776da0538e667a69e640458f7e08549c5f6eba1fa45cae86acc3420f16e490020b714700c83fde13e4ebe9b2f1879b0e6450ab461e72a709f00e0c16ea5685ff23dd42f993e4bde8fc5ced8fa78440ba07c493caa672f9b6341f4511421ba813a79f16996ae25def1b840886ac9f94d856a9b4c73372910b507f57ab1d8b43d4a56a703b1a4b7550288b248aa38bc488fe58f7a8a372b89c0676e124f28be8f62866f3c51534a4cc72be819cf42ad835321830b53a354105e1e66463f4c46359b77c633620041b859e227a52ab2364f2e9046c0eb67254f2ad8dafafc7cfc17969410402b9b6d6e50589d6f9132fc7e7d70c0b7c5912d74703a52ede5d3b113cf42cae0afbe89401981b56781cf4106e4397aff6ca21cc77e99f35191acd31c585c8310b5c1c93a684d22faf5ce85070699963e87272767aee20409c1effc8197dbfdaa53a3869df38671588d28e8327763f22faf57221198040797e8a0ab359515f2b53be516dab08955fab7221f2a338a38199aa72fab1598b700cdc1f6c27f6d42ac84dca37e5062e2cc91a9af089e2f93a40cc72a8985246698596be9d1922f92c3e615c1719164ab4157e8920014dd66a973737f025b72265df110fdebf10143792da579e6e347cf1f486778a9c2502d8db0b7291798227013453e4c6c26dce2a0ed068df06e9e78c5a1bfda19b37c97bdb4e092ad4b513ce195e46397c62058b9b60376a50427430a1e4c366421c460cfd7d04fd2ec79bf7dc00ae4ff20b01c2bdd379dbfd5a74bc0574b826c73ecb5799eb72346641dc210cebc622c54b6da00e7aecbd1c85397a0043744a28497dd2e25b722a94d6371ddd19f7be3aa22ac1eaf17aab525247ef946695a36a43ce57ebf7727af3d3eb6d0e0d460186417e392fe6c86ca05e6d0ea5dca49efb15f6181454228ddfa557e049b488945d039fc014991757f10c7c10fa1168b07b5f570375f52b2740a96143bcd9cb854750b0a2a6ecd5e7277d04cebc7412a851349787e7da72f056b94657742103c46a9c43dca8f0dd4e4abb69c1cbbf1755dbc9a1e612d34b8bbbcbb5ea8f59e32dda9a99af45a9cb5de7ac376942923babb7fa15901e5a1d1c9b5091098d6c5fac7ac24dcf85f6211e1b9672838268c9c966a259708534727941d90a199a25d6b7e1a5833274c68a34dc5aea1ee3870dbe7f8cc0d562f4721a372c42b3ee062e066a61033eaa7e62c6ce8b2fe78e5210aa9b93256fe68d7297165e7d34c5a3489cc532946ff3d55131bf68c83294e9e25ecaa754ff9f2c72fc94aa85859bd11d6da7d2f947a33d73074a7c65ee18fd6eb7337ee1ff44446026e2b779b326da2a653c7130dcafe80e1e60718fee7d4179ed80d55e628776727508650109474355b613210285484bce6d1028aa7271d427bfb00827b58fc23177be50530eed25155f78b0f1c6b5e42b08c9f6366fefc7dbac69edb7fe1be328e1c6920f59c6b859d01921412518381d62c06fd4fb9e8244b210105939075b72dd7e3830c46db3bb24a7f162f5a0e38f132e251184a795de4b717e560087e949cddb761141374315be73a4334a7ed66eca760637d555da80b86b0543c69f3a10abae6f44b7dc61867e65769f46f1586d1350948b0bb19f52a519f17363fae6308e943ef07dd2f5b6d98cbb574e28a4b4e6694f1210cc1c45fe87cdda0662cc72c39f81f7b6aff216b1152f7652211081bc62e40c4c0c5f20c5222a198b9d091bd6d34162dd371f65e4be9668fd9fa1bfcb39085f0dbe581542ed9670c127a41013622cd46f46af5bfbb4d4be9a046888650fa320496564b71d4b94e40a6ef40183e8ee2b9487d5bddc634d42c63ac5d490c58e46de23ffd7dd163d37474cf172b032d616e6c821fe87f273fb5ed032df713576b42efa9a6b188d8783096d15101b5c26b9030c04c57f22978c8f5692c120ce33aec462ce19205e90ef9e5557728015ed1885091ad5528279cdec3f89e0214cf06092816a7762ff3c73a3475572003cfb734fb5cfaf1ad655121b51cb6953d649c13ade8f186c8b58eda5c4f772c17330e0c85c715feff7b47fdee77be7242e96375f9280bbe35e20f66b50941259d470563ca41493d2f7c5999b53eb623d4f024f8dd82a93288133d94cd486720f5b41c0654bdae1b4c39ccf0e1585c8cd1d33e12baa8b434f61a8889cdc0b36cc36df8c5222597999d10a15cbcea8902ed75a893ac0609163c18cc9e77575351baa9e806bc77a6b1674f56cff473861ea0518b0e4e7b4d4c953bcfcbf1ea9720c9d146614c1cba709061d3dbf0c5dce80d595dd4df52dbe098fecd6d0b27266fced2294a5b9cc8dad82f8bda13ba6ead55027acd527edc6eceb1ea8ca9cd4720ac32c3cb9715a870dc80ebfbc62afae5ece73467011bc82d79e93a2c6b52972adea69adb41df1c5e87af76a89d074f10b92e975768c5cd88e4d0ddb527609722a14fb029a3c550d7c291ff7ce1b9b27f859666fb9582529191bd3b3c3078072ce955170524706491798344cef838216f355a7262585c16e21671e2891aa1e72a9d9b0700163b52df30b5be4f50b0d8d88e470364d24a0a0f3f6b7f9cf157f729077a76c6a3022b2710b242165971dff740498e29f79b2b52bee1753ee2deb1f6a0c181c307145b38dced4c3ce3e3f53856b1e1e27f992b8d2024255cb694772e8957e82c36029e019fa75dee89567c3e046d50185be4388938a4fdb6ac256720bb1b4b27776861fa4af94b8c43fa4aa352d4c35b3252a88b39a166050ba57724b211682e5d52288192aae77bef9b92e81fc15ee81442586c32cf3d8fa532772d1f61ce6b95791e664b84ac38145e82fc6aa715fd08e24182798e79b49bfb91db7e7ef69beca1f5d4559a05cc910e53e928c7e6d9adfbfb425b9011bdd5efc72ab5ac7343491e59ae20ef816198ecfdad5f64be95b4ccfd701deecc75e6b9334d6fabda9444ce6efe95f1ed24efadc5a6d3feae4e715385c49c52bdb2189f4720c39b63a6a455fe3b7cfd7eb907c2679bcfc4a8225aa2599fdc9c6e7e0f96872cccc0f7a95bf43b7badc209e61404209571b3ccb2b6025799a7d6f528e23bb27677be0ccf3672e3138395b2662facde49eb854d36806fc1f01b5491ddfa6c252f4ed5f4659cf0456e2bbc727a1261bd7e03462b2b65931d5d9d7bb5d4ce5f07234ad7712754fcd7ec322d1564b108b00663b10601b7bdd775594370160351e72324de39bdb66f06f07b3250430e764d0663bcab00a5c64b73a71910f2b3e5357a0e87eb932c8f0effb82fb742bbafabc58915999f848753a3b8ef8d6e611b672d3295e65000dc54823dacd391b6e774bf976d88d97960f4e9f314f8f63274e72db70f2dd01ecd06349f74efe2ff45f1eb5b17fceba14f8a1fe544d9dd64c4a0b303c82c0775366db03c49d9257b68879f3894a7c431d437da9b13f046a8832477d00cf4dcfaf9119c3f20304d0b807ce90a388c1e704c05dd26a0655078cf272a609da1e0e0a77a42e2e80abe791299507a1fa663c4d5509abccb96e2f13b07253ded5a1c1e32f3bfa98a7844e97911ab8104cc430209bfd0a71c5e63348ff2fc1903e72a782de45b7ec74f6ca938d8ac7be4ddbaa8e3baf842c08f09c0c72113deaaacd7fa80a15145412fbcce816af5aee2f16c3b5e8b74a250a3a48d72b727112b959ce9a193ab7a23b168df138bf555e69b1b88d574e4f7ec7776dfe2672d852f81dc7097d429757702023e407576c42356727fb3a1281efa5f59673f87243d84385edf4022453ae3d452e7534798973085f28c8f5f82655eeb867ded4723544a9dce4d5868d0398ee776258b6ca4e0e61683d47beb53a923a9e75bc40723ae515b786661a199d97634c44857d21a997e6d65d9c600a0c374d30dbff82720d5bb33d2b011ef438644ffcc0dd04a6e8df5df451d0e3f4192addfb2767c57252a9bc7bbd6cdc24caa0fe10181bd5752aa4bf87f433c28f5a38a3a856d7ae72be72cc568463f379edc8ba1780ffdd167191234a9875072d4c65a10e7e474f72bb078a9bcd0207217f3678b7c4a6756bed63a6d9c2a9405cd73159b99093f70f915fc7fd6a9935af0947ea94c9f72a7777f042a0f85f0492da13912c31619022066fc3d8e0343fe5c18b1be357bd7348dfd3c17c18301caad93b46ba50d79e72799631f7c6b7cfddf38f4e1ad502bdc3b62ffeda8e99e5c79d9328ef9670a437efba06c12c83d29ce39bbe6841272a9621915971d6b90472fddbc4c5f93b5e727f4cba72383af49e202bdae8d08b1c9320b146fbd4675059a050358299508d55a19e98ecbeb7a75e387d70c0a157655b555d0fbb6f26329a8162adbce0c5b83115b5b174ad63e9ad68a7469baf076ad4ebab0f33ef31a67e1981fae77059c92c8b16dfd0024bf389112cfab68c618846d1f274b76a690424389e382c54051742a5b989baae7d8e3713db159caa3ecf99f36413d97db57033847401d6221ec5723d2477cc84e61904a727dac24b39caaa876e4bb83468a27815c85dfe8742357213cdc1a92a2729e10a697bc6e287f6ed0d2fa772d0561262262c2bbc1529ae4cf4b3e92692a80904283409cb267c6d0f73e231c88cdebce577979d208c85b47255b6ae4e26808958838736a8fec4d7c5ede76536f3c8b26c98409b715b85653a3cb844b492e781703f5b2dc48edb1836b7858ab9a60a8ae35139bc6de45963326c1273d91043cf3fbdd105f336ebfc3689a23acb36d05d2d631b156071e05172fca4109fec8b6b02458245445601c20f01d2cc6f553ef65ba9428335eef03615e9510bb0369eb84365f718c5667b80fa924131c6d53d2ff09f10a07be52076722407d681a78fb00a029bed455fe5d4704b98405d8b05f44ca6fc9d8fb26a020abf19cc5173f4578071814a5eb29521f5f3411350848574751bc57e37e75b871556c2f9d4a54e58409f15fc64e8ea35e9ae4cf3e83e100b3384c429477b63f14bcd80164f5b5099b4acb79859cff721073d05f4194f1f101686eae5a5fcf5de72a1786b85e2811cd7e6c91bd2ec895a544b4d58dc951875448e696d486f7af759431eb51156a50ff769d7a84ace6f3668076e8d532e4ee801bc6dafbd6ff615725b64595b05496d111e2ea78ffbceb48bdcd3251ccbd600ac72a29069831c5b726d2469b7f95e4942722a99d3c9d51bc58b151a1ca58fc67230d1cbca21014853f63a50afe440e4682f4792655b22bd189347e19f700fe1154cbfd07f6553f57288bb04d902be6d02ad86cdc120426be1eca424e046332b7128eda669b9ce3061bf2f2397f3da03a3b2bb8ad063a88a72ce531237436992a0682f13cc3e77c872e8f5eccf30438214eef2711849d759ef0c90c51757dac4eea3a5d739d282ba72f1986038246aa2828ce29d4c36742e12805508f30de6ccdfcef3fad40c16f5725747b254b3306589a88e2dc70deb80797415ff81efdf2be27be7094a7fd644721b3a491ed3398f78ed4efaefbbecbc4af0484a70a53f956d65d2bd06ee78a82e9ee8e121fd1986d828387ff6c0d9c60605d017407d9b8d50c033c75cd3ae2a72175a1a88bd9ac917f0dcfe06f39051386312eb32b4784110f0dec429c0973b6e29d0d4895d648aee63bd95716c6fc78950ec1ca30305f6f6265f6daf08a2d472cf16b1923f8de0f1dc53b73bbc688c4d5cfd4ae4064bcdd26be5cb0b375fc0723250d73fcfce34bb58cb2245d069649bd2ca40fa114e4cd7fe45f84c329c022e6adefdc008e5ad275817f5f2d6880bf5642d828056778f8510cf94f558db563c81974e53e83dd5be6107773aa606021c18da3bc41c66c8ca85ee1533ca8dba3fd8588fed299ebb234fe28053201a3e00b65aef9b4edc81b6897108fa0d77c440fa8b3a2eff6d3e4f932c7de2be860824fe80106cf711e842af5e2a822d4a6472e2d86c3f45c56afd928e88affc1a1526c64dd904d3ac7b3aa7b7197e816a8b72eadc8ababdb676b15adf48009add070f6d840ae909822af1d62d2a96ce91cb5bf158f0a759ce57e92820a7079352ec1e62288a62f9e267e538f7066102185e720d9cafd38e9e33fce34a015edf6105a79895f3d772045c48bc20b636e2698872f789f180742feb659bf6174d417f435d00b6927e2329e8c4731b5cf439d3d044a009db4d33847d57022d332b00206a2d19d77e4f98626b0a0be3e8df44a9ca727edcf5c800c5fdfd0e96226ff052b2656e8e8a4efe0b549da6133d945063fa48192f2ce86a3c5b197395f13a8376e5343b5f1f752af14056a0ab864d32b09c7250bd047b267a2c0b399bf0843d9149464b5f7b37be185885c990b82ddfe5537245bc3de6d71e42fd8ca9c4ef98fb53109a2845081ba3f8a9b7d4af002352e00e577b755e1ffed0f4268a59d57169a3d2ef79bac0db923076310ccaa4f25d9e72e051dd06ebb0a83fc69636330e2e549bb128d94fd4c7c141fcffb4862b6ef072bb639cdfec1e000c3ef610e7af1ac3cd699cb5545344c84d27de9b786b83ac7260df1449268dfc8b18c50bd76008828c1600fd5dad992b6f0b48586cfc55695674b5bc166f061220560ba42d1b703aed72435616d6b0f02a702cb38b12db58722fc8b2866c1c41cbf37076db9005ff20d9b65fc8578394c2145881050a616d72635dc80a2a54e25664095511d980128adfe572f1a42af671240774e59c9f16724585aebcac38870b39952e6f820cb998dc0cd38c9536018ab049047dde152772579fc104ac76594596de83174c478145dc897a7723930f349892254ff18d7772333d1c0c61b929b02bf3df0f5d7bf36d500341b45d6ea62353560c9933449172c3022f8145464433d3a9e0d2f548063ef55fa30b8ab40b89c0704f1a599bc20861f43107936048f0ac8cedc31e6e83562ecdf2a49f5d1798df0015300161583b3a7287cbcad29ab3cd0375d197158fa2d8de82f0edba227a9020e396f7d12c2df13139d1cf71c699477ae2b1977c5a5bfdd8cee067ede688b393acf2cdb93e72b7d4b7ac836017c7cf2b7b8457c6d51c2c443f0fa55c358146ad548609c7af724fff1741f1af16a5e502709da29bfc54212105201ed58d5c51bb2a3ca65eea48986fe7884c0115a229e6ac97ca9480958aa685d4d0a5bb9c85132fbf39629272c09e80941bc65ba171d6c1044f38c99b9d00e84039f1234854ceeec9c6eaa4723b70e188292f825e707211fb04240de9e9fc8234978f5a0dc96bd66f77bf7172dfedae5fc79d4fe28108c7451969c28b1b4f35897faa34ee5dbd2e21df505572c04215e58a1bf08da33297fb67ed97a06213ca8ee542f87a1564aa73343c990fd91381142367680a02bc389fbc98ff3ad747238d8f15619b28feae73bcadd465954a18fda788792659c4aa81602398b0bd824f0716cb99bc56e49662a19fc572298b3eb103152a95a451f6e29fc829259d3a094a011e9db0c9ce9e9a37c54272ae90e29ca6825f8a2c53aebc990575ca758ae154cd046673d07086c2842eec6f1fc6245a8013595be296e8afccc7a6a44e90b172904e990f47583c7d5a15f47273eb2278560c325c09a98032ea824dfa4f0e4a94340c85ad44813e583fe2f4721869b0657d5faf990308e9d397cfb2c1a3013bc7de006283f3401d43187f0c59293410b5e1dcdf52e0b4247a93551cf0863b9306e748f0d8ffcd1dc4440a4172f6f65df0ad1ea05b1753aa37d5d4583e6b98d64977eabea014a1b2c5b9005a22f5a4814936efbb4cc873cd15254ab6fc70d26e148ccc522de7d3d4dcd3869e33c70c03dd79e10d7fb2b7424abab0f76627c7706baa6c789f40d45d118f520756ee5f90b53c17b59f5a96243527074d7d0803d23876ddb62ddf47dd7efa067572cfeb7bdcf40ee9e96220ca89d1a54be89f7f173130fa13f43a9c0baddda6df724d257ecb262e29cb818b6b283aa8c1470ebcec5b8c435a9d80ecddb2c5454672171ea6193755d2d0980a9a50139d3acbbb32bac85721f71b69aa04d97a4c4519ab4cd4f3453788e0876291bc54b921be02b179ebb968516c46dca77f01760e575e841e2542bf63ab63b64fdcdc57f02f452198b54b995e4596f2cfe1f6ef977269786fc4c4d63a639bde4c8930d4b8e9b00c938da4c4a1d5bfa9a790ca15da7227e12f5f34ee1e7b75ee7390756e00d4592ab1367e0465b1197dc6bae1f6ce7229d303c7dda3732e9aad24cbf61d3f0b86dcaa69c3e5c737316566e2261df0722162df823e41bc2e2e47ce8dd3658273968dbc2261df5c6fe2431599235c4d0aa208b94d6f4f6b1871e93f0f949382b880ca138d9621fef33f0edb84757d78067505375e859c917ded85512eddb42341a9ef3bee33b6708de64c5f6351ac9144e234a33a260056452624b3992e6562a16c1d447c95299df40ca95f1610f9e972b871e24a282d9602e99addaa720675cbd8371ea2c2da86d896d88b6ec747b672fab3c9bc670febe0c38fc8614f48b413155d5258f29cf962f240ced47fa184649c18ec5af7a221b18cb348a5a8384b841dbb5e894792f36c8c31dc0927354872a0c5cbb1872292844b0534aaee4cafac9466aec86c76203bb472ba995236223c1229eee75addcba981341018360e98e6dd5a3ea80e4443f08742ae82cc42ff72f823b5cadc3b1446926a72439ce3ecdf8386ca08bdf4885c2d746f99e5ddc672f3b679f9752c04498fcdf56966377c11cbf41c4de7ba2680455878fa336fde12dceca577503098f2e41b56932d3e03c4d6d6de1393426b529c9b0585fe3ce672bd6beed0244ea831862fe06150be131e8388e6e5a5240b8269131498f0025172984fea7075c3dc4c81337d758e268ef796b8809dc80d4fed6bc5158b39585242f38b3eaf5fd79797789628001ebe714d6c926195bbc1a96d239bd1b210df0572e80ff0907541341b226614455ae8b4cbcafafae222f763e855bab46b93634f72d0e5e791cd4fa258df0b3e762f9e43074377dbbed4893fb772dac2eccfe34e7219e999171978a36d0f3748194d19399c6724bf2b590569e4fc424d0b739c487287a3294ed2dc404e922ee939868efcddbce22f3aa8f0c1d60e79055ce1d1f272cc0ced49efb5c04ffc1ced7f9507995187487e1ebd2ba22ad9cad0a835725e3b0de44c973eec6578a05bf7544855ebf446fb32fe27d70ec665a6384bf86fd172a05b4b548d96fe7db183221b472f1e558e1a6fecf04a02a02e8998399db03762b9b41b4bdddae4bfa22acf8714b9cb6b9477761e03039ed04c8a55b9ff591533251c7ea8b2041c4d5890122587d4974daef0cfc693742fa7c0e55e4da0fee472299f8d4fb6679fcb3c9372fd24d25e71b8f00a147a330970bfc84a57759492724965d25d68a9277da59f0a7c45c139a9ec844cbc83e1ffba99de7957c468d072f76e70c38a6ac97ba60a05c3130eb82d653617480071f54feaa54ca2cb50b90490cc64b15244c7d593920c88eb8765ae38b5794adf7c2c081a93e03a012afb729e51057888c61ed6afa843f0035bd50490e784e11890ae8bb4aa09b1a890767258ff822bfe6d76d589c157c34b32597940db8a64e1b37722c3813320684dd24b102c442a3b9fbc7adcd4ea582ff21dfb61ae8e57a847fd1ab5ea71e57f291672ece31fd3b844cc4a06f172ccdf7736440c78764fc954357e4c98af34be4e2a3905ede5eff49468080df7423eaa931d969a64a072aca321e8c49da0b2f1af417208260180b1bc93bbae6197894823736af63f67cc51d1d4ea6afad69d0dcb587266bbe7c791aa6e894c93a4b77356cca44dc33b139b9deb55ed460ff135e17a3d07a4c154b962e0906adfcf4ea5870bd650457a90b07e0f227de5c887e9164072a627774678de1c14d156ae79252dc188d4aa98ed9be86b33e36e5697ab5abc18c13b3d3ca4aa232935f7769ab1f08db1ed319223da8d930d59415c02a7356f08993cd9d38da1943b91a790df7c67da4f8c5ac7d2e9f51d623aa802128a73537291d23b5183bc05a43af22ed4d0ad1ac7d51c58040f227019b1e821c4135e2972c6fb2c156265cbb75162ac237af4dbcd75a0f7526e0f7a440ec44bebba55907232dcf1432d49af3ad1c24f7516bdc3c92b9d4ffb4cd2558722c63cf18c08e7726ba7d121b3f4bbe484c933d4f66726d56005ee3ed9702b7bb37217635e2982724dfb2a7a4848de3a496b4924326f35032a40e4b536a1191021e6b044ced85c1923a3da1772493afa31021e50c7b8b04da7b9f694e979222d8aca76b916e81a48babbbe285ad778b555db60fb8c07edbdf48e8592defbe4a8250494a7f67bc172710e88cf7d5399af976bc2cc64825028dffe1f5890e22158cbc65e91d472977280ab60bbaa0248209518f1442acb63f8954d0decc0033b93e8a90954ef7cd62e8c502a8b675e54902c4ccb8a6e5c481c43a7c07e34128b13169cf60674f067723fb345bc44cc6bca4889def8d38f53d832a7a3abc48198cbfff4a8b2e42a8872d08dee5955e384439b22476083cade926039ede27f8e5155e4cb78557df79d639047f7d91e31add0050bd3b5ac01b9d3dc59c1867ee205f9b6fbe4dd748caa33be15d27e4fd683fefb07933a0da9cf5a69aeb605d545dfe141f1fdb85f354e72cef3964ba63e18a701cbbb6f25f480adc3290535487f3616a3cef9095626292399654e49b136af49f70d96bd4bb3b9335d1cb1d0a0a1eda036a34254f703ee33d7babe08e1bdda8aeaf024a1262a3b0b661d72c1f50b0e708e87c89eebcf3f72a46ce7b433c864bbf4a58f191fa3679353c0ea22c5d317e2d57dbc17a15bfa72c64263288a380ac95b49ca938ce198a6efff984cd65ade50f24c2f3d97e0a672cafacc35d84cfc78eb56c2309e7396bb50abd497877f81928be0771961a5b70308f3b6906185d4ac6f58981c25e1b74073810b3fb4ffc0549d157df37470c22541953a55476ac199bf698aea097e86f688fb8efc2f3f7294354c185ff83559726ba7d5e2f36c6db671055e66d97b4ecc8a8184ec63f3781de830d0889ab5eb72515a124eeddbf943a9ba823ab863f915e6567534b903bbdad7e4111193eb8972e3d7852956a7d7c7c2708ab6eb859fad4b535ecb53a47d88a769090cda0b235431369b2adf6aacf96e8f25df78c661035b37494737a8c1e0b53be75645a88172e66e278b79544204b55fac95270432f91d1ba53e27a98e6dd0b88acc8fcfba3e4458694e558b260f6623b924d762be2accc0c2630683e2272ed494a910f5c172f786966767e7cec1eef73f2eb0a0a641b24093eec9e1d9ac76d49ab55e61533c0a5d3f4986fc0f8200a3498738d7044ba3ff69f56076cbfa9fbe40fec95cd972fc9d910670b28ac984a000e579eb2c099b87b15cb60d986a5def3cf3442e8332793fae88e761f541d066443f758eb51af696ca4b950a854a12df391453a83723d498fa04fdebbdfa609b1b87ad5d49cfa246efecf74ffc05a32c54c0e323b763f914bbdaada91d1dc359041bece1022bf71ab33a56142bec0bc45ff21587140f7535aab2642089c7501adf92dec4c7651b646e855093a68d8c46ad019e23ea7206a145bc9fdb6dd709f8e89eba17527db822c5660ce4cb86a7ecfbcc0fec5672a389768d76471f5715293b8b261ed6ca07f047b45ee811a0175461c7b3962172886ad85f9c7ae7b5f0b620bdc4695999e986a436ec54d8faf2ac83994f8210688a544cf92e22583f67d7d919a842023249ec46ffcc0d730be64a7bc0dd60186cb28d51076b61f039aaa7f23c798e6b33fa4f0fdba39f1d695b4881ecdb9f415a76662b7225123faa4dd0a1b53083880e86539b984f1bfda0c8b5c56931b7c672186cc714fcaf6ca70f4e056db6f0eaa020fdc446c2f5a41cc5ef5223791f466714bc27f4431f5c038dd2f619ccf40b85e0d0b5b25c20d2bf19fa91b2962eb8726f07be047e8ef7b959f007d7dd1328e59bf987dd7d40b344b029a7f2dbf81930150df0f7e6a225ca25d7668d930f975824794623dd0148dc0936815f0cab5f2f8708bbcbb0e70511ab91d6e885466f398922b7004fa3caf7afd1db0dd1999a3588ffb2c10af1dff0a7440176cebc153307344e6d20fdde07e85a38c8c9e5f96045472ddcefa713d7f8998324188756c5797fdd0dcf325b9b0aa0caaf96633e1866c8983149fd0092b3c579d35177519e38fa21bebc04768cce2b4118d4b03c7274252edd82c44fac72e7eb8c891b676b2c6a151feed546f710df2b7364a99303e3341421a3e1a4efa8ecefb55078b2fc45b3e5f7af2629efdb9bc4160a1a8c462fd67870353f59fa9e243efaf19fbf291f8e7049635f7e602d619f8bb358e4508f57bbdcd2d9e0b1197dbaccb4035b4999be67340bf919504d9bbdd22f0fcc0d8382c88982726f710940ffd7c6a6ab9815c89b11ea6149ddc3fed3caf6b0467241ff11ce5dc3e966d9bf8c8589686a8434dd1dd4042de4c626dc5041ff372a72d2acea326a7c0cabc1254e990008854292a28ca00416bd8456bc416e5940db044c8b247b149f3287b09f4eb149bc6063ddc9220ff64ec35fd94b72864383a47263b51dc6c768565f1c24103982b873fc2c0ec25870225dd7168ed34bc3e32e72189aa4b72570609b3aeaf4182e1643a0ec7f93eb5e6c84c8cde6d445c070291dd7539125af1565330ba43c471ae04f2daedc659d75075a4fbda3cd3394779b72e970773a61c0098a10a8e0c7111c2ab839a7491b9c4730d7217cb2aeb37bf22951e5954d7d766df8280c7579bfa5dead9fce99d0678e315b91e8eb7b7ce8d9720f34b4589352e37f5b422c1d6468b61201c2155e1f7a772ab13da11e65518158a0bb1a21b207672b70c3df87ad581c1899d57c71bdf45318a83a7ba3f35a547219b069ef77419e0d40cce65d94f843210407d5cb6b703ad1d98de6f64765e0726f7e8c0a21a2c92f258b75e9ed562696f20e0c96604a22b23e3e528795da81728f5d01818d5fe7c8dd573c8988b2287307a0c9fc01a57a451f7f388653bbb504988385d37fbc2d7bb970b61402064de19145a1dc256aa18406aa9865e514c77242fc9892a03e38ef89c3c3d1929533cd2cd9fadf3d8d5067a2e498c86103263cca54915778258380468e07efc546072747ce400163c50029197fa04b6ffef818129cbda1dbc05a1754683dfba0ffef3b13a95c849523b10a267c768eff353d65393ad7c92a41340357143329c67a6b5e33babbfe569c73ee110051fa1c063772f72d6b652079048fc494be4266c5cc0dfa47db3113718eecc2b3b80851ec0d0bcd0a630944ba47c199035148364b3d27ed304999f430e111e5521f06e022917224e88311e8759cae2626af7785d1c803fe7254d0ca33496b9d74a0ebf856a272524b51d50eb986da8f1e50cd42f09d83cfa7f1f6c6df50b9f089ae7f669ed17205cac6b40bcb165947b7d040ed21cf3c673a0e28cc82b8b57b35053c79f58660d19b271ba45ce0ee4e473355bd3b289829796c3803de72220e26daf7b9a0a9729dbb15bebb10d9354c0af3b0f27cd8c0587459f312b190b39583b2ff75444a26097e4add79e66ed21a698fea8ab359207a002a8b4276a74e55be802ead02c172a61f8b216de0c64243742478d900d57bf680773b26599322fc53e13f3bd14f72f54d1c088c8b7e440fe5b4452ac7e0e8211d0165f9a4747338b0abebc411db72ceac4435b3fa64ed3777acbd1a1c5eb98c908083a86014faf2d0d012214beb725fa25bfd5994da4233d50bf1e8488199edcb6f4e21cc510e4a4793ef5072a77283e1f97dbf50c9e19edde323266153d33bf771cf3c8ddc8bea39ef648884d8728caf46a687441b1e93d77f2827f4f4443b6a6d7226a7d53a2939f465588dc17239a002d60fec8874c7d2fcd69b62bb95aae4610aa9895422d8d6a2c1ad1d060a6f59d48c75c13f6bb045a897102652444f7a4db9b1830dfedc8e5fcdf655852263435898e705b2446c831aed1fc5cbba10a089d0a5d39817e12d0c3041298872a712f3cb08c3edf85731409c5559ed99272bdfcff6abff17ed8e0729c39e4472ef5fbfa3171ccb425ccf24a6cd729a71be093bc5d3b23e9a443c6b734b9e9a72e5b46467f5bbc49302fd277c337d2a65c169477205444c8260d03386ba7c487253a95d75b3cd41d0b1d34ca4644148240dcd973983597d3060e4c587b7f83d1dfc020704348460c3902757252556f397036d36396c4c60a001b27134fa3555724150b7c3086c7f15a0558e635a3b4069cbbab8c19894a4f6547bde6270555434a2433cc2ffacb3a6ddef26d5a1e08ca2d10d21ca97391b7ebaff1e9144b4bb72ca3194b4e36024746b689a78cf974ab9f9bd76b36ab81be40c72b8310274ed72c8b9ae880d0190e1f2b06b2b7917ec3956badb155f51701a4db39a25f2cdfd22cda35c94b8535ad3fb63677a73063df87a2b6a9174586beb8e826f1a8a0a37724cd1a8e9a250e279160464f61bae6ba07541f84636ba136e4c87d67d4b88be1ded38b639725ac069bc4984ce1ba0bdabcef0fb773e8d8fbd47081f791470c9726ad151ecbf8f121a6fee7421b8b9b4f0b24eda1ad204b2b3556f46aeded72072da6b2d5a06778fce0782bfd16e5ffb723df61f8e2decbddaae4b5055109ef0344e9d3d9e42f0c1869e73bca4010ba4e80fa3a3290a2bf355c3a56283e2825372b9cd34777fda27cda43c07fab23965af91adb0d89ea450b38119f0e6a2affb72b3ff37ff1bebf6c64add9a32f3f5da0b4e483f15133822afe46b995d1912d072acebe10bfb25ea527f78c4c0e5110a1d01b2941b6dab595c3a5445054cd9200c6f2f22722bfeb613a23ab0db3d3d5be2caab453695eaaa48b06f5cc23d85dd722d44d350cc91a44aa947de25ab921cc69ba05b60d8ba15dcd829df08c02f1d72d3d797d1e6b7ddea63e889db4464744ec703fe988d6e207494f3b1b4c9a63d2acc1b1e039cdab3aac9613378bf057f74a9e7cff6015aedc5201a9f2818e87072fdf15b588dfb910e847b18068e2650b53fb05ea5850b826f1ab4e0959d9d3a7276de1b04613499dd6318b06d5b202fbe5ee13578fdd1afeb03dafa759f950d72b2037846aec57860851143f3f3cfb13ab8ba42ea2d8870a18b09734a8a80554f8a359ad87d9bd322ffd481243e2c3c36f08a33c1eb54b295699cd0fa8f59cd2d741d2c53a7c56482758cfceefbc04fa08b6c3ed139be2d5b8752a3a464a2250aae5cd542feb18933ef1b9c31f75c2dea05089bbbfcff55f0d2fb21f57cf5e272bbda7cd16646bcd94f3970a0599fbb0827b030b92159dee4c16ab10d448ed572edf700802986ff1ca53bf2697d0b574a588cb1467bffc338754896f545b8d95be72f48de962c08e79c05e820315df6e3de3a0bb91fce2f343bddcfcb9e408112a3b2e9e94c9f49acb789f8e2fd720811f3a6a0a53b8a70f0a7efb799b95fc07240dbfde7fe26f6daf50f1027271e196a6caf8339f992a30de477c4d6605dd0729eb2cde7866eaa088fc61691dd11f240dbd1d45746c391f2d2b59ba916a94972da26d3020decfe20b68bb45e3d191900fbcfbbed09974bdbae5754fa77537b72e2daa1b035189262ea11a0e77198c86b89e43bfafea625c686994ff311ff89729584f57645012b73c9bdb531c7166b8ca287ff591545a4f4868bffe5b227727208ee8b7c56b52d30dc5a78d677eed760110c4c2653a8ecee2e3a2e822998577277d7ab3bfb3a43ac8eace7f2a5dc2ec73902cc3c58b4de20b2e364cbe335bc6b4e76518b53c0786b6613c04467c680d50cf5a7973fb0f09d9dce3abb26ce647292b86e7c14606d4fbc81b9c4e9bc54d55d169dc5786ee6e746670add6e7840723125e1ce8826589768051acaac0f57ab14e5bbc4dd2f53379267572030b59272045861c9ab8dc4dec020c74e972811df18076e7890ad5db2acfc8867fb5c911c3a1ae17d35165098f81dc42381f17d1c3bc7d2fe39676135a0b286d1a61d91727056021db97cc468714b3edea9c850b1c2ed8a57a4c1193207bbe05c42fbc672f09741a4e4f8fe3948cd96e7d2b80a4161448cc6e5f3a61e851378b187566c0028b659861006b91793b9fefd0f62d658936b7eeb3d91eb72a3a039f526e2a672a3e2df9a3811ed8457d8a00cdbf928d385687a9c839c71bb55e16c83c3e24772e9c00f243955ef1161522a12a0809d9ce325bb07ba4bdda3f9b88e45214ce45ab8a765e5e5c5c03871340e3706914cda5643d91760d0807bd10e9283981322728304bb94725e272d728618d54f5d589f0b0a403cf6fd1e5bb1d67b0ac33ed2720ad2a30a0a45070ab2fc76aa26ee3c8e9d595ed506407458d135e57f4dcd1040eb92917f49260dcdac896131aee5d3f6fcdb4f42d47b56c47317157325586372b4a7acc98068dd1444e384ba3190974be8735ed68114eb49ac6c6c80381669102c47b464d99e6130d9a5c22716423159fa827d42879a3397a6b636be359ccf3fa767216e264b7a9eddeae93d2b021c6b395f7e708feb12cf5f45c226555cb672d0ecec200d0100830842b1e9874df622d85ba9893a2f84d63faa2e770b8c7872d90f03dfabadd00582c70b5862510187372ff7a5a9055e8ddcaa300b81c6c172c0dd55fbde27c00423282d31cebb6347b7291c8c909b770901a2c9442dbd8372ecf16f03305b66d53f76fe0e90cb63edde396aa8a9e0581b5d9b8ba34303c872de935f4a57b3612a9b24bd1e302f495449d0e4b3ce79a85db8b473e17355ca72b2d3f75e91f4f7d5178e66109cee44988bcdbccb122b5e58ea2e064327ec4b3c199369ba16de83979f5f8167319f0f0a322f59811e7d9cb8429ed2cb931a9f722e514f4c1b88ee738873d636510bcbfdc56b852aba094640e498e7cf6e4d554d597bc0674a58378ba5873b7c733677ddd940e6b97e4e03aea5ed5d3acf01ab723c2c44a7a38f6d361d32b2d0e358b94d2bcc93632211ebce131737b71f461c72b87570732daca69d4216334a2744848880eaa9ecc4af2de3639bf8f6707fc17277cb44b36a1f407d2753a919a8aaf35b8efa59480ecb494d492798af76801b72ae8127bec5851977a5caf275e4474be90b1c994c4fff4fbf402db0afab3599729c47da698306d94c3d39a89f9beb8eaa78482d036e1f453e5bd5066038507270c09e55de65408d549c58f7ec5ac4a0d89b3c74715e86a2d67ce16f929b89cf72540d590ca9eefe9dcafc2c10a61a0f0043109163c1f640dec58d538b611cda728d94c9abbbdc626a4ace797679fb77fb7bdd249a7b4ad441aa23df299d36b611d05a0e3e0367698d3dadc3d9e84c9adc30fcb7105012226d71a206fa486a137216b6c6f47377ecd783d98adf5a303b3d9f6446ed5557013e9099033d734e83721a2830f937ab0d8026137b754df2d06caa6bde58af6f8868471715a594f23256265d4305eaa98800e016c52548a7f1db27fed58e0ad37c943e1a1a136360e77263595c00296120e58986a3905ee6069d575db50756308f1f7f7e37bc420c0072deb5d08dfd8935f56af25faf9f25ae1132af0831c4c1aeb3de9efa7d91fa2a726835c8b6ff39b39b6580412fb573e0cabdffba77c571f44fc6965be518a4026a5a7cb2ea41bc333b656760c7e39cffea9bdf436bb6f6fef22eec251e2e12d70225f2cd05e085833abb57913ef2cc6550786bc6cc7098794d6ec1e855f95c62729235047402a9054f4986224d792e52525ad54095422bf181c83264c5198f734eb9b5c4a58e57c236312198379f9467c99e8c4c34e86509410c0753f433b581724558391de293d9f56dd880f4cd2375fbef269e0b03061a16e995a08d327fb272462130cda77d20b28a42518fbc04ee21f821a5efefa0164fc2ee5fd02b242336b00d312c4c888c5c7462ec6c5bf40ac156ea59de4a1d3c03ed6b3890bbf128722f7f5caa3e6578ef356af189759a1009852b7cb503f8455b8e25f5895baf4d72302a02c01995b48089887fd7ea7fbd371529788c6a9c416d1cef54e9b954264ff55bf07f918784422c8f8ef4ba586d6d0ec2fbb60a00d1757f505d39ed210f72f54fadfe7c1163031a75fbfd948ec9d8f70ead3105bcfc46f7f172425e459d5d9cd7fd99da06e9c91f8309f851caaab0a77cb8b73859fe834e8fea4f10c737723195b0dbc64a7c3a646b5b874a863666b9b8eb6aafa470e5b04590dc76ef6867daba89991f36924f0c31f5e304be08a0acb20d194b36fff673242fd082c6027225890705b8baf9b2b6e0d245d4886b6558d4c3a25f1ef62e845da0c20334147223b78f4b4a97a0a2e5e4d63514ec178212dcf9f1fc102eb03450432b1b5e8f7288e688aaae3f260099a6c40ad6a7e5bb283d7322b1d42371f549e582aac4da18a6bf70d406a1a899eb269dbc3e1276ad3b911b5e80ac988946cdef406fe07f70c957e97abaf46ea05b2b8d45d8cfc16cd725e181dd42683b699f33a484448572a37b46adf222e0bd983e597221709995ecfaaaeb7f1692e76a3c11752bce62722b71f94d9831aa15fbd71ba28bdfdad40947fec782186dc74dedae75a005b8729be43fe33e162c1254082a1716efb0ec958b6ccc579c36cede5f1f3fb9b3082303a34bb5c8bfdaa75ee7839beaa198b6dce3e11ca9be610757dd328fd1ac65301b97b49c4b24a04f31c8b122eca4e483b1fddb12f4b0b0878fa5cecf8d590f470c12aecd3de801fc39cd99189af3400ba17a1710a6044ae85ee6fa7341823072c0bbe304a67304509778ef5d245066d973107510c3070e2c43546955ee52f80112d54f4ff199839feef049c375204fca51f2af7b8735f440e03d5ab660ec06569f586dff25219b1e96ad15b657c69ce453cd8cb273ee3d7c547edc14124aa02343bc7d6148a8dbafd0e42be85a9d75700a0e40e81f43a38cbb4f50d2e46962141f5ba66ccbaf4ba416a0edd4720eaf6aec6762b9b344d887782cf6bcb6fddd264dcb425891225dc92bc55fc769b167ec609aeea35f08c56a4fc07b9afb3e5e1d5a3df90f576cefe1c281ea27c6b7bf04bb5544b488824da3c813a086d7031d72bb4bd6de982b017d2f4d7137fdb5e76e19dfb715b2856fa01fc97d96b5fafa72e4a53840312c86984267b7308b1a77cf4bb0150cd7ad68b0d63c72c308ec2772913e4698d190e482819167ed973c50b1a7ac5636a08bd1cda57191131e17c7724793203235d94ebbd4388d07c06944eee7a22d8d5ece6acd345b1492ebd25b4f01cfe425d228c0d100d3fddd8c0b78d3932e7855a302d474c910660bf43c2b53950a4f044da4618d4dbc19033b79d828e02ded1553abcac02893cb436820e30f54f93c699cce3d6c4a6a42bd47525dff0cbe6505702623df494587ae6f0c123fc1dbdb31701903844559e4ae5b5d45d3b2d436dbef9c8c412db08bac5e29fe7247eff83afb20ce75e571862c9debfe1895f5d66db7749b095dfd38b2db776f0de88335829d0905f3bf57a60e46f5ed2e60b0dcf02ea36cab7b491712fbf5b53e36a1ebffcb06e9d67c23fafc3e236679e803e3bda4a3ecb81bc2cd0da63bb87238c2a6ec71938781a2f2df582308ebeb44e9a63969fe47a30652f9e8d622db721c3f1c5e3049e057ad809fad37b54d1606fc56888799362bd95e23c48d884072da0c47e53f53d60189d135921fb2ee432e659bc3e5a495c76bf7739eb5d2374797db1db93b9baad2a058cf70cfbb5c84860b2cd817070c99e867025e7616f5300e7f0eb048a8041988b4cb2b06a4c429dec973b29b083aa2b9bcfac691452072c9610409508916d75cb735a1012bcfd1a8af3e58aad53387b5deaeee212b2272503731f659cbe4a39282765d53fa3a3629ee4d03be3d8ccdc7e54c0710a45505a9332ad12ebd7b28bdff4f7283b57433531436d35791bc53ac48f3ecb31224726d302fb005e7b6bb24dfba55750bb2eef4a44d71e538e955264180b05c46ac21383515aa524e6b05073ac10b8708a7600fc019274370854d25ab5c2ab8a23372ce885fb8010c9885a304570d812ac184e4364ad3389109a6c5627632b622a45ee67527f340c856c778da845d7d81219358c4f048832b5039af45fa25e495d372f4356af76c5052439cdb2b5fa17e02a9920c71ba8cc5872c30fe89fbb3334e7264038f4389da8cd5f96c1e7c8c6b6bacb62a8d4195620ee96730430ee7da3c728d789852aee801d0291c091cccbf315d8d7ee083ecbe481ca124643d1439b172558b127c55cb41197a0a424623ff5074c2b5579015b68a7d770be6cdaff998117ae8654638d156a94ea7e5bed665caa456ec30c331cb376d95cb0fb61fe3ff72f9de4d4702017c003af8c85619698c718f3a0ad75b8ed56711c0e9d7ebdf220cced984d2959efd5cb8b0e12d69ec6fb10f43514c82ee45f21804084cdc41fe72eddaf71a340742444608bc7949eee6caae95d80eb24560c716e9af9702676b7204f4946c832a212021bf5118434771f7e8dfac53ec6e9b9972fb722add0a5272433f7612677b1833c8e071ff1b379a7ffe2807e1c19456d8fc811f9acbb8677265d9c268b9b8e374168df0c1294e016a9975a68bae49b36e90b285b83d68b57272d99bbc95f0fe14f8776fe570bdf26e2b1c74300110ee462cd62d0cb8fa5041099dc449c5a21c8cb362f10296949320dcb8736d30ad67517417cba9bf8e797251727a5a444f16dc1f0b31c4b8018ad8c4c6160bedaaa0abef41e680a02934725fbdc50f20daafb2078b0291639263843a68e9fe4908522a2d17c9b2d3e36f720f2edb139c417efbca41f9b61a5d830b4f5fb53a403eba5d5d1d4ac26e661f72dcb522b221066f2580a744acc93d0e0a0eb807e5ad28639e399e2ac239e8092ca3cddffcb3bf3ad9b734c48aa6d66484ba39028632bf103cff61f4b9646bc57280a752dbab15e205484c3259617a16ea69c586d7f8043314804b9a13262cc4729376f6bcea2febf8706fac4759cb7a580988fd0bda7b603c45777da5e2cb667201b456826fa19c8c660e690e74981d8613612785f2be182d971e97123f471f46de1da3863e50793a8b8977532a1289c7f5509233e90baeb56d3008c56fe03e52faea38b2c6f154c2dd2374be686e6db30efc6231aeaaed7eab75b2eb694bd77262ed4c807c6fd43fe64abacd38709e245545008f4884f5902d64ea1870306372f0144e60b4f51d9a9fbce925979189688973ae68a081233b87d80d9a418f956f15be5d68d44ddfe6573dc2cf37b7b2d80ac4517c67880feb49a840e62e4b6a3f1a197ecc247b76b19d99095483b8128b9efb0461ac074bfef280e414f2da9572bd1507c66ac0854b6679395e1af58993559eed92353426cd4905598e5255350866212b7b9c209a36dc389e1c0c7401e3bc708d3b2adc59db9b841e5851ff0d7285e9c966bd3d959e7a1c771e866ced4c9a863a77fe4a65bd3c9861ae3c335730e785a03a491de8f6da7663a377044515d6c20de4a2d5426e023c7a8bbae809721078f9a0010384edc981158ba64a4c2a350aaf677d7bfdc14f039078d0d12e723c37909c8a3ae6a813e91c15bd15cb89da05a384331ec78f47d4c0e7205a881185776633456249567c79b3549a90e18ea3227b370f17580a9152f8ab07bbb172b70f7bece9d62612b6d117911813d41685dabee82f890248566bf61b88f05772dfdae1bee0214645ed0c7b2bd9710edccba70a49042754ddbd39f0a3f069a672a56dd7f4caf6c41c23044655aa3c18000a8579ce36532506c47e9c9ff0fb7072a0672cc5000e0635b78f5ac4d1d94c52b2a837de1aa20c96adfbb6060478cc72c99002e874bdfd84169936176c4311f059f8f0822ca918a7170105b2ec547b727640138f1e07ea94f0f826b74ee68ebca8fa9d110bc1b3fb146131ed2202e172e267b9ec2615b580b8ee7aa493785043947cb3bd65fcad79903138288abe996269a3cd561fced4fc3b7ac57c0042d5f9c516cdb5f909107cb1e3652699dcf44207cdef56f901d9db1d9e980048533c5085bf8bd6086b0df60af70d9616b0966f16f1e6d189aa92b54a412035ada842650f193d24ebe1c84280f5e28aa1e72f47046f78bca461ee072232e74ced52ee02b21b897a504ea054bc9fb1f0ece786720c60c15e5b2ef2ffeedeaa80cd597724bfcc520080fef4c8515932492a08fb72b5db346fdaaeea1e737615a51bd4b3a6581c1d82182ad146c8d57a666d6950044b7530ca4fd8022d02ab39b523042a582586b127d4cc0919c7bec9f07db7a1727c0146200924142603811efa6f2eae7e3b5ac3e31e7b988034e90a183fa30718c065a5ee62b475170fc9f4fe6aeafb8206e2f5e2300d8608fa43a06ce1d47772a7bd49e4da446a740f2c5b772465cc0c8fb9db96e9c282ef8d5ba00258bd6172777792d64ec8a6c576697e3f90e8ef4a3b51507b8bf99ba8412ee6b3dfd71720b0bd0420843bb0104ecb695985cef65142f6d89cbb3d6138a8003b24d0c1df72a1efef449e4ad938971a8c30e37d459780d397638ab7e95bf58880f5ef12da2cf27a194262ad7bfa16cef1aa444685be7913620279336b30cea095580b97167296c810ed978a37e241a8b0832fe7d3044795d0980ac5ab599fb278de9282971c71714764545a7c1beb3491190439eaca9976fbc0fbb90f979e298f01ddb894721ec66aac295ec882fc791e9778aef99e3da725b41e27f58c0387d1d9c263f672d417e2cf6a05e55911b3805d54c0a39d5a5903c7e2d3826cd0631f4384fe4272ae5a25e8962f6b5f80ea6ed0a513ecd416b4b8a3115858214b71c49c43fb0472e16a38103024b9456889a0959bfac5ccb4ec979f48986f508e45b70b528c28435bc2358fa008f7bc3a0fe5f8e07225f7809f3e245f39e23a94e636d5e19c8c725524eeec26fb3f542aa8fe551537e4b4536be6caee65cffea413ece35c4fef72c205a3c47b979023c24c7e46967ca4ad6dde93f2ed97ce8da51e17af86ae2172e497558ee754eb8040a1147f63ce530bde6727cfa90fdac738248127427337238722fd6538447a4d45d3f5c1909d1caabef73b680ec6e1525f3dff1d381d70721561b75bce4fef5aaecfac7aa4e71dcec67f3262c39433239cf9690bd022d072f85e6da7ac0efd71fbc91b432b61a2e16030afafdb493b937e6d187b5c7651722d9e94ed6f3e76d1c9328f41fe5037d87a638f3982688cc97fc5428187f04c6b41fa227c707c2c345c2c59d2920d1eba977681f2afee3ed3a3eb0a7cfce6e236bdcc046e9b7115985ea865a5a4e6f5cb22a691992c5014bba1e780834db097255e972c8bac5665b01a32dc7b184c674e658b2e86aa6f7f52252d904d1af56a725900de66d961d78f2f37f72239a81d0965eff1c959600036cc420d4303940272d04495121d1e575c140b2ceef88976ff77a62c89721a706211f4db89af557d10a9b2c1a6b844d2a160ba4e0ed656993fdcc758e33063d9497c3373dc09c73e724bc467b76f42171ad086777e8f9d748500f334d328bcd083c16696b4c58f871f119a9b2888c67eaf02c47547ed1baa2440ab99980457247f8f2b50adf96f072438d7135f55bff051bda76ce780eb8fe882c59cf49cc4309aa4c123ca99ac3f722ac3106a38ad908742ec5a52d6f43bb460fd3435c42fa1371b359e6ac9de0328229f3bc08e54442a77419e84aa8d336157bf0bcabb601354dc1c3b11eefccc0ae25e017c360b4900fc7512749aacaedf1014efc4947d984a524c4dedb607e839180faffc93ad3ed647577a8946b96e57856a29192f017b489c81139fdd350e727d9807d52759378241aa42e8ff64861707904fd50960516d8fdca8dee088520f683b80272238b2cd9cdbb34f4d278e1484aad78d6427831a555672a52b6b1f72fd48eae840dbdc62cbc1a519efaa5c333c53131a8bcdc2077334fec9a20a252fc1a859ddd233ee7c773308104c2179a8c8f91c7cb1635947678be0a52a01d90b5f79e38e5321c49138a46e1aada4cd675f2c2c92d4567c42c1df5cd542d3b36d6c713a4f5c93b7db4a8b74a0538028c82d824781b589da022e5e8c9d19e96372388574925a378f1abd246e61af2178efc8d571ae27d0965e051d772e6ab9c44604ce12531d6562e209c68d5edec169d7e2d7655de02cfaffd48f4dfe2f2e5b72765162b12c85fcc6e55de274a755837fd483aaf2f9a7d76930a40ca35c251972f6a825015fb5f44c92ee698f3f63342ed0b84e11097e615dc3dfe0c0d3c93272d37e39c81221157dc73b249139f5a8941e6dfaa75bb0bdb3e4ba7ba8a8a0064b9cfd1c72fc0786be4f89a6cda8a6d21f3148f8e8657eb3e1a081d1d221adb606c00b6f1ec0c534e78490939928335a961f347f4805fe03379b5cd122ff7b0c72472f8240c41a1ca5de5f7538aac169f35f0d2fb1f5de9884f3207bcecc84a61f85fee9c84d1c2d55e892aff98edeb492de656e078dac09da0ac4cbcc32c56072bf46b03ee2a169b8d77a8fc122308e660c5829deb64687a96d91c34a0b65c572caa97ab86d64007d5dedb0b5422e66d54b94ece82d20f34b26c035c02f77c247e2930c5f0e1931f4c96e9ef3ef76b642f3a37fa5791023dc340206855c26b572b1019842cae58fda2f1b481cd95eb111b6a6468f0eba0e7d65be9395cd2cf645878b41895ffa91e7c8d8c86a9cb3ca1791e7e5ffd62772b5c01080e6191a83721dec417998b9e609372ad1b5535604451895719bb025254a244c4f119680eb723b81b9653b825e88825bfbff26f7e3c9c045ed5d1ac4c040e7a0d7b37847b358ddc0e4609f485a6c15717b324eee7ad38e89e5570b2423d91a2dafbd37a9a272434a7fcc7caa2eefbe3d9780d3276146011d4def9f024b07258394fbad8c4072abb8c6dbc4097adfc3793406cb4e00f04ba9322ebd1bf7a766196024bd1b0c72d952a0c62ae276716679d2fb0793fe6f58b8c50bc86795c8eed1088ea098a37283b3f758e080159b3ed234f746cbcd06ced578cc3ef420552fcc76737caf367293f2a5351d2947ef5df641233abe4b818325804e31a3b022adb862bab822cf38e8bed25a0b6b819dc7bcc3325a5297c87e6d86be018c47150220f977d1979d6e4128c74c29cb21c0c56ad69751f7796911df52620e2f9cc049380f4b442bcc154671f76e42c275e8d7661129a7c14504efb9c09cc4b473957f9b69f1b4d13b631aca806b51e7d20e62292b42a9cd7b595e8f8f359d1fa7cb634738b2c3746c729aaaaf1cea64ad1e5b2dc3baff54142d8a9f173355f88a2f48ae17b0c9dd300d0282ff32721aeac76cde68f0e1fadd22e9c043377543ba72942b96ab223fe972dbf1d49995de6ab74d11b29efa1b4b4c85538569e41e73a3e74873f1e8dec67256af1600761f0af5393c819b1a95f26a5bb192a8b5369350eb3d74d99cb92309a36d3c8b7d94ba503af60541a5a72127f6b783db682bb698f88648fbd235877225fbd9fe1f223002f6609b8dced7661b08cb054d098adbc0fff06acc71f7da6c685e6ffd40392a788199f6b6ee2f589aeead111c96d5df1607b5452e200ccd35b775863b9440c5dd29498ebfdc517bff3ca867c191c3673eb8538783bc18723eadd48ac90d1d1bc3cce3f380d8a0f359a51a2780d81276d37608ea2ca2fe9572edd9de172745a8f37f78c74c90e2f313c9b28787ee501c29be77b7c368acb072aeb38474350c012725baa7e1e9118536116e7960221aa005a84bdd1b97ad1c7229ffe3b3b26d786b1ed6e1a4f000c3a10c2a778b8e8698f55ef24db343f0c5728d45486131b1d7d1cec30cde0a0958e122ac8460a00bde59d7f447e10f45492c8be479057f04555bb4f1005a126b2deb3cfd31cf60307893f657437ccdf6867230dd217454d7a0d9912aaac1244530e3484099bd726f0b68368f46467d9db3728e393093dd1df3b9d81bfa8dc309ee0445654d5d3b324a2cac3eb415c00d6a72229810937f460bc2125575430e2db73c6d303871445c734fb03d85e6ed12ef252d8479432959907dc58406e71c7e1e267600ad9b6039d6803cc5d5703f9fc2727370d12c0afee9b96d6afbbf84a0b3a38c09c884ebbdfff6508f06bac7fc037295a1227e603d7f3252908bf4383f57bf3e4cfcce91473e7988e21d416fa4f87296f7287ce7028ea1e9fa445c88d8daae51d950883dfb82c6ba2412b54563b1724606766a76b5e1aa3b6377657567ab2b59eb4648a9fdd53ce5b184d7cf44ad7265e146572f467220aa51bbe965075d0a165ea0d6378ccf763206eca9709d8972a34423a741b6dd23a51ac413e21892dceb861024e8ce93e62b58d30019394f726eebda203d34a6ee18d54fe073cf542fcc97b63a1aaac9d3b5e9d5c532feaf720f697392ef0482f28b04e74b7ac9df52c324d5eccc579265228bb2933935c472e83fd033f38348be6f6ab1e8243ea99c8d8236a9cdcee4a0918f107bb6487d62179da0f69908a1f5e4393274b8d9490cda2f72deec94c6a3aaaa2eeabef75f2968a3fb4313f44e5ba6755395b6565e6cbca88d6200eb42db38203798ed79d562f0ab3525f0fbdfd0f4af6cf5668e91637d81bb8939fed21f24153961b172ff36b414b9871f3476d5d99e2116152d98a7cdcd675db3ceb0ff93e67d5094ab3a72f722937e00f11f2fcc16058e9e4ad99fc2df16ed7d093dc66d066b75968af00b6e57f8b87c1a507e8c10bb59b64e9e2e050fa0ce508875cdea8e7753faeb3d72f98a66693c04fbf7732c9e53bf18a484d9e74d4503dcc8aaa16585e7be89d972bd6159831bb10e816a5993f96beb2ef811554b51d966ab6fdc0d9104b9b5f472a736c4406d3ac485ece57db08f8a31a074b8817cd69a24848234bf7b05951846043f346507d8ba427eec9a980b897c473ef0c3b2e94788c12576278b2865b172d184b025e409d302adf59679189e5ee2e531028b661b69e8adf4e9e47d37ef72d6aed2209a9c9f841f189d69c8d666f05a5064a27aa543c8ad556ad4e1cb20720815e1d4fa349dc0a23ee37a45d25bd4ea89efefd6d84c6010715ed31d0b654f37b8cd562ffc0bc52fe53c9fbdf580319e174b70b0a6ee4431c5d6587c553e4b3dd63886412529d59df245651bf15171b6627f00be778207150f7a9f452f1172260f2759418be0821b82ba4543399c858f2a7c94c6fd241418c7d8e35706a85a9aa9d1b7e3d6bc7bcdb74fd1127b10c65b659b8e7bca0f576848f42a32ec3918164a4bcec048e5281a186f54ab35bc1e85954346a5b1cfdff13467d2c0006472a786ebd1540839e76805992a0cc4401f067bff12492b6e40e5e49afc98dd9c72e97866df4b7c1c7611310ad133334b6330e7b529c1f5fa3965294c126d2c2e24ba69095221fbb2d1bff2611057e27a4f8ee58f01d3ed7846a71aaf687b1af91a88bdf059475a0896a34fe1a13e598ebd7e34fd707af384fc9b4a918431e8573e9bc220c2aeb35bc89c9c655825061c2538dd79685ae65f4125dd0450cd1c1b726499cadf9afc5f7065ab440bb0dccb66a7abcd21546a1bf38017d5488ed2b81a0237e3766b61e972472d4e8514cf2b135866cf556e034ea9df795fce6d4a1f72bd6f38d6822a89f746b87d85c55ce7646689e79b8fad183a5bee9fa41ae8467204993d5d74397bc57d07396b5b672574ef9679e24b98b6fec4a9e734c517a372ad9f4afe59b51ce4d257d628cbdd52818e484b4bb89966fc3e2a571f82880f72238bca189de01b08907b741ec8ac9e47ffbf78c35b996bb1c2c640e046e2197243a61e4e86421c71926e4783618aef175faf7e79f9d5561a20c46ef3ec69f57297f6eab0e8b53804c70eb0a39672a228f01b8ef03a3c3d58dbfc840ec1a92f4dfb3ce76ddbc5498193d3c0f27b8e8fa6de19197e7ba85b7348b79b46aff9115f042e6abd1b9cfaf03ea76268bad6c645007ca02a8e3167f5cc012a29da1fa472aba32cbac1fbfe27aa5a7b50dbc1c4c699927f8455a1f8f21f5ffbe4813ccd6492825f659a20e27e549748ff3b049f3b58eca8f4d0e8560478d3e4545eab3859619b484cb4e3f35dd2ccfcad07d5020982ac399098d028ad37e9a18c8d545c3376a0cfd81a13f56d3e060d1942047d195d1bcdf760f0e121aa68c0ab081eeb724132b3c01182a066f8950c35afbd8b0c8e67b0bd5ca2f639dba8b2f23b8e3e726a4475499235e1ce3b5cea96efb21ae96beeefe51da51040c2eea338d55ec9721d502d53a5bec518779516fdd6d1114bbc552961bb1ea5e03d5ee73b03ff6c4624a96b06bc3b7a2617a3a0afc265a1173c9f06e017623f6945e83ae8287e8847fb18b4e72d11a284f7b5adaed942e9c9350758ed0d148dcc07fe7ecf8ea38e061ad9b93441a1ef852e8c3a4c7efbdb02f37ca8cb6eba0e9756544a6faba5c872f4ff18a6e185e84632016f13af8c9b33e51c5682455839b2e67e693193c3323a7f1a9c2576b76bca8bfc7d2ba810e85bffac7c85dd213ec42990fe27c2c6453cc0cae6a2966f11ff7db776ec283bc5be4d728ad106e60b33ea49f6c65cc1b00d950ce7f617a7382ac4b572f460a4253b3755ba167285186d3351c599db02c772d31df73a5f99ebb9a2326581d98f08c406d6adbfabedbff69b7535fc52b71e0d6539bb2b868900674ce90bf9327c675fc4710f1d01ef1dbc0f9dcf038840583aa7930077bd4cff1055abfa7b664860cc70fd64133b2e3b2cc681d12e0788fb7229ee4176c324b8ce2380dee803db87abb97c6859986e545145a8784c7f77bb43e39522d1b5fd988c664d26433645d236ef845adbef26efc449b03ccef53c3f72ed3e8360031e012001bc18c57e52dddcf298d55beb32dabead9770683facb5725f4bceaf70950a27a9e95bc01f223038d62f8266e30f836642d67cc27ee5c125c6234d0c56d49726326b22203268f16bb19c3fa3cb38deb97f9f2b69bb95b272dfcf00818422fbd91bccf6e90eaf53e9351bec6fe2ed8351095c19d8a3a1530050a1aa32dd65b585e99ea4f0b146d7e4180aa464ca9a5600ff8ae8b51615c072f4c997230488ede24a63b774796663c3a9b82527ab710d3135b15f6ae90f853ce9b23e8b5548ae097cf405acf2391f82bc65fdd45d0ba0c8392085f3de8c5672d3501a65af591d8dc3e618985aec76024ce6d2db9eb1fd9b019541b407261872788c43a1f4844e167c1a9bef41e57fd92b72e11ea670cc3674fecff0bc40a319ee23e02f9b091b72d9bf649e0dd4299ba766fb1927482f03e3f81a5a29424c72bb0d24cbbac8e6d45648977ba14e318d076d696f32ec68380ef33118fe9fdc5a92dd0679deed33ba45ce8a04530a0cb68084336f26907cdcf5eeca38d09f2f305e1b27feac1cfccd9044f00aa35de2d089b80436be40f49249cf53877f64cc72c7e09f187b0296e642954c9fff09575b95801794ebf6deb2e935fd83208c3a32ba5a91db383f6658efcbe423627f3f99e17657a9ebc8281e88ca8bd708f4eb722bcea47ea9fdc0ec1f66e85b8b8fdd3d5b50826423c239c7c2af41f077de1b72cbb73f26cbcc2078e614565f90ee70fa35081d504abdc39bd81af37ef9f4b403683e4a3241a4f6c8d0ffb68a004f66aba815278fa11a983c86a8e66064a932723ed121736445b012cf6eb1464ec2dfa7ed6d9554f3cbefb6ccb529ef1a0e717278f2b5fe954a8b7fc8f25fc725584f44aafddc981f607e8be6a0b39c3e83bc4224777ed0db3309efab45857488c6516a733c481d7379315333e62efc5715e772187c7a4f972db8afec182287e0dfcafe144b2b87b781d3eb24f5de4dec4f6c720383b2de90ea6c02c4198c1eb86dd19d9b5deac37acd24cf3d3ffb6862b37072bdeaa1b80116a8a13bc4c5eb87952f34e1101e9e451c87d1065a59d8f4e683720d499f275fc61b2ba5c0b63dc46dae227ae06faf809f469c3cd698b236dc3f1d5441356f1ef54a6ac14cba04c5ffecec21b7b9b52324253f0af6c985aa2a757273b497775b8fc6468012aaf6dc5b189c5252d27d30613808976dcb38de8896724f70e75427fb0aa71db5d20beebcf5f6d826a1555e988c6d21d802eb79a1a2727e87acb228772bcd673fbf030413ada5d7dd89f8f6b75c7c8b9bbe37eef36a726c3e29a87038cf5bea6c537c6dffeee53b6cdeb501dd9aa1eed1ee3215eb73723c95d94ce94b45473eb201ad9ba1ebdd5606884822f737a33a1562274424ec72602988bed3d7bfc48c2a979ae787a732883866d68a976b669534b5a369691772ac3e33568846a5d4de765c337129393aaec730570c79c243f696563e2965c2056ac4ee715431cefd9be65997c496d22d473d94ed67408ae0942075254bbb3c72e4f3858944564ce35a15c2373d7335b6c7f1942750439ae41a8d5da79ae645729c79ab17549d716d7a2beeda2783761161eaf27061fdaed6142155c04db308723f05dd1623699d15ce92a134b1540f21f028b3825b21806bf83debf2c216527216c887b505b6ceb33b220640a0d7902494f245e6da5b7609a74215b1cda32e7224b1972da7752d54f9474db09139bf8f18784000c1af1c3a3a006dd94252df273b7fc11afa36b091845db0595f3df174f776dff44043a1fdc827b63271f42f7234e9fe9b8cc0cb9b7d13b15b3d9c8701b784a8130ccc2783b5444856825926725c788471345484bfdd1974fd7c98f52aa60c0ad1b7bff5273a733b62756db5722b89402e3ff9c6bf192c0558ac2f5342b040b2b608811cd47370207238ab301726203ce656718dad8b1f5f750026934cc460f220423190407a9b7de435f4d33399e44b34c830de5f9f1ed47ac2724f5f5b289a7cae284fb5c05d4c49e1e08572affc134ee9d8995f8c259d116508f2ce7ab2e3e0317e71dfd5d9915f6cc6a522a3f8f88dffcdd03f3eaef3ce90b1d714f626a39f711cf720e1c353d7bcef5272e0d2b903778640314a288f3334d2d80723bff40ed59a5f0c3e8d9644cc6377722bcc5eb448c61a482e3e091563e304e1930197b4e65a5038087ad7d3be70d63126aa04a7e7f29f5008c1e866ebb9389d9e912a3e8d4c33977fec5e074d6b8572e862ba19fa1fc72d25557d70c0b04596e675bfff311dde77dd0a13ab56b614721b8536b49053039e132425cb0b457490c8f518d575a4ebd9e3277cf351965a72152306ae37b28c5b58650f8b9a21be4c4fb412c37c967b34f420894c9773ba20f1701ad13f5b290fb899df27370540ecf415344234186c7e84d9dbfa176fea04f16a0a618ac272c56a28e23c8a5a5e009b0a0cd9abece209728fb5dac0afd972f7a3beb0662d53c5b37b8c2d94fd79f3d108e0948ad663054544f6c633360672732aca4f3f996974ff5756d37a502de4695693ac4648077e1b426ef1c301bb6ff18bf6b8eb1f72519b765bd70e1e13520fad15258c15d028dcf2472d77ab2372dcb183d9483e5ce5ff6432bb64a1ea926b4d8c9b807a3c4d263323d780d28a103bc3eeeda5518a870c42747632f157d1d541b0d4aa8553e403614a9928c1cd72fed2372711f745ece2163ef8156d05f67ca2c52b67533e46bd62359a59b02e7216e9c936d874569ee791516dba8cd541772fded071e066556db23546a9e1950ffdeea040692b9676ade71be655112aecffe83af3625da99e6948f3994d3a3b726b305463759773009bd110f028f88254af2adacd444a31950bebc7c81719d572d790a25e4347162f40f677138aaa7401ba12390ab075e1a675c1837920d94b3800ee01bbda3e1f84b0c2b28eb60c74266eebc5dc7d1ef242cd462bbcd63ce4728a20e41c7d901b3fa52c37b69957bf531ddf1c06579b2978d59ab40a6521124151a6d9b506cacee632f8a53946a08f9cf0313a85a3031dea2d8d4024ce915672d27bc885ee89f173765718071ad2e8a9d83bd7ccc9dc0339ee1d4a09298df2726dd9d94f877e4f5bf0c1d6f1bd8b8c030f234ae40eecfa972c2ef027ce507d7282c6cf4b16f4df84d41252f799db84cd62409fda3ae0cd2b922458ef679412724d39824e27845af360a5f8d66563855a2d94d1981d8f8c6ce2e03bdbb828077287298e448ee1a036d22e99a33df3a3fa983535dfd366263b2f9dad027215d47221a6c4455ef927452abd8104546bbc3f84089a42a2b2e3271e40b163868cc41a42d50d925deb0b461819d053ed3ada438266b2210b33fdafb663d0e194fe5e7252f5f762ea0601c265afdeb45c05cd36d3da92e21dcf3131bd629ee3f8fd7f7251c4091ea9bb0334211fe661793d0f7616d42110cd735e346212887953a65e726410a4b5246ad44a0c7f0747e253354cc253a4bde8d712ab19537b30c4658372f0685d47bf29c5e28697852a7befacfad6d269bc596c1811a0a3ad629e645a7285dbe6d251b8b6a25e9fb5f8dfca2df81b9f23d330c3ace4995dd2bfa2262072f56a391e54b4ae586c4f9271a2df11eecdb55304752d963d5cb0ab9bc0ca1401c6a479f555f9e929a9106a4be1582defb2fa41227491243974fe413c6643f55e010a1fe139b23cb19c874c2c287093369f8476610d0a3813a25bc9522fbe177295797fc0468cfc8ddcacdee10dbb37d21299370fec6991ca7c6a3d4ddfcdb472211363153f83986ee43e33bac79df735b650b914c624405e6b0fe64955105c72c7f38bb8e6179b383325249e2f51ab7d4697d2c1a247a663a0100351663b51721df0c3be2afd36ead992c65a1cc4ef0896d02eaed19a09a73f31caaba2937c72410517e1131e1f5fc399dcc9cd0861d740e5d6094c52c4d9d50f3e2a6b3d707249df99a2b984daf59dd7af09d6c32e699b45a212574a431e35e0ca9f03cea772fc2ff2918d1888a3ccd6a04bf91dee297dfee10bf1b7ec31d1f4ecdc1548a7170a1d094f98af2c47a9064c046867dc4aa484f580f5dba7388a32566757ed467208f1ba42b9d05a40109730f00f30ff950dab3ae70fdf2057ed3176574a62ad549208e9cf021e33aa2aaaaa1ffcfd0a80c75e141653f8154d4eabf87cb84fcb72d1af909a1bf515754ddff171792fe40fa00de3020fe39e09be89e26c296ed2456f05e76c96a0dc228206544de49150ce907542b06d2cec342ce2b5477b043a72fdc70d232007c4a2e60683bfa23aa6bf1e84736873d3a5ca8822435292bdba7231c2ff4b6ad498abde19520773283cb5a9df959d4ef58452962ba25849bc3d23fd830d236e9d70547f314a702dbcb0dab181cf83641d319d40d3642f34a3763ebf78314cd7104249677b706144e711af9ea6017e2fe069e158531fdcae9a9772ac72b5dbc2e34cdb734d4411c0bfa8ffda745f14c436615ddc5c47092d12a5722ed8e6dc684dba58c73317c48da72fb1600b90a7eff58aa6d1d4b8aa7db0b371b74d06487f625633611451e724847e386068b569eb3dca2ca9e2d349385251722f658ff19b368c6f1c50664070c2846bacd7810aee0fd8e07d64769c3c37d7729ca23090d2a50f7978d96ce151de1fd178f9252e6fde90b662ca61fc30e98a72cd10489205e780acd571f430416bc7a705a6cfbf873d1f321531ea5a605cef7215020413e1d74982198cf08af00fbf5ca396982e1ab6304ad9e1a0b68c31a172bedaec3368c6a7f32391f9f788aae05ed57fe143d95a4d3651580bfe6ed85272acfa9a61bfec12697739a735c30e85bbe0e2bc028548cbb30810b5f607ba25725b860bcbc96a2466e8f5a48014014c8f383814912f9a1e38cce0c96f2ebb64722ee3e07f1d28acaf96c33d2eeed409b95326111f228aba477661e74258532d651722c6c0ee52dd06ddabecef630a5db418d664fa1e03b79ce2da069348f73f60f99ddd87b068b0ca041b4c80887c0d98cad1a5fda7095d14ebd7459ccaa63072a0151c00d9ed57e704e55af85c6aa28036ed66756d032cc14937db2d4c5125277566b6e9909f083dd556c49c0a6c856956cbd722d262c60d91a1f55868768636a81c8c2529404db237d0448119b1129ce1c705045374d6105aceabf13247ca35c763dd88450fb8f072979757d0f5f2bd80d7467222acbf1f170a9f4f076bca19b9c3b3804062ece2871b234e793d3996e098e18dadaff7711a8cc9ec8931a90e2e735aea54c763e391e5e1bc109b0deabb015c81919a7534c28c518c10b79539e8ced555fb945e18b8d913f0b42d48e9fd9df8c075ac245ccf3d4595211327724da7386347ea9bbfbaca98bba5a2c03c05a5011959c2d8edcbd327e2c3abdb417cbc16d7ec8320911ef61503add24d402e454c1ec3554a5aa181013a6cbe996c07f0e0536e4b0445ce47d2359217a492429e0936ce2fd79d25897a092c6b2b3347198efc90bb95d4484adb5916c200927254ea9b2ea505b80ff5fea508cc1472bc8df7217f780adb840854b7f50670271885b753c849c002ea4ab6e88c1f7e727665bd328f70143d2dac8e9bf4ac4c3b5cba7e34d47658818933aba6fa7d0254b7d6c5d370148e5e3d32be0520812bf6de64532182b5766901781a82cf956e727d8aef27f5ab6b370da97737168a30be99ce891a545c662c667571e46f57ab72f8454893bc5a2a7721a227af8b97cd572c6d3c55056e979fbc4348a3ae8e325be29353edfee83a20db0b2a72873b13547ec6b98d3b580ef04fa825bf07e62546e6ae64899c8f68580e3646cc1ae2d1e522e91ab352e2c4ff5664ffad7efede0843c860cbb7c5fb89ac8254e015af565d2eafe6637741dc26a862a377560fd000e2dc11736f5315f2487a9c7fba12f28e5d545f0c861d50db4397e079bced376c7be1d831013472d25ea06b9e0d15b49411143a4d08ad5567aaabd653670a8a09d02782a333158ac8d132e5e64462fa41c978b10a057aeb9af3f0626a45e376083d744e6c73a9b30b25f5fe3610a0898c12e29609d39cab0b4918a18bc08680721c9150c81c1d876c2add015fea6caf892c3ac5f1210ca0894305683edb79b172973897bf54ae4511a9bbf98c3969e63cb3de5333f38d7d8cee67b621a817130d4b05c21f4d3d037b65ac502476cd700e433b079b98b6f5222b268e7ed7e75372bc777cc59c852559ee12dec94e723c81c598dcc5f46c1f63d2ff30a7927702722305573475bdf7c6b0bf98218a4da38cf8a0bc99483b3b76c6033fe4581ee73788e8a7e2d8423fb4ccfd965b410ee3f92d990951136ecdea8b21d39f3bc77025b810445c8e4ca122c845489869462ea334ec3143bf0d07a100f0f4a2c8fe06482f4933228c314833069a46f0f16b2ed6537f0d3c24c94ce41d5b89d5dfe1e1721a8dd4ea9c87c33e4b3decde027e1e7abcf8571e7ee5fc1627272b8df7ffe37288338c87dfa7fa84a9b584e062aaf0cd87810d554404506931bae184790a6e72afddeb8fc8cb52c2f12bff433ccbf903796ecde531f20f5958f876f548f14dba0200007248621a527709a7d3a71eec18de7bb281a01af97f06fe463c87d0de5c437f753d8f98caf21bdb0ba02064569b74140eea76f2be79f2d571ee64e6a41d0aa24d72785a3b00686e0abb4778bcf94f8494acfbb49f8c777788bffafd58935b54b172e8e7979f9df220c37a36c3e3fa4dad44242695bda1f1925cced90baffd98c359f62f88eb028152eb9f7f3d6096519061beb2d9bd841a7ac0780e64406e9bac721489e86c92e80be32a3eb785e1e156040ca8ad46b5f3382db0ca9a9c3a3cd3303c0b5759422441b1dfadd8824b249b8f5d8f4ba0703db376720989c93d50df727ce084e0a7ec9414aeba6a5083c11e6d4f11f22ca36d54e215ab23d468e6ac334634d0d2a1e5121107c0b6cec18ed686e526faf6652bfbf99e71b13eb2308c7293010d2c918b014f1cd5d2db67990031cc930f994b8f7f7429f92e39f730be72a1d67f7370be89fb944a42b411064d878b9439fb065b81f8b35e82fd4df3d9726daa55a94b22b0ed2b260e0727f8d54a4eef63a0aa110db7cfe6b3a759c9c0724ade7e17473a02ea6e43487fab5153005aa8e468fb1ebf2cd44bfaff497f7272799013d6ca7c43d33b44ffb0d097759211a4ba924425c205e9dff54c6daaea729c50c4c247f1dbdb18d3918e563bdf9e3346384cc8f0a0f714de4688fc61fe4f2fe20814ef16adc8000e9268007dae7886236ce1ea1818ec4ac47b85c2195c72751cf2c4a01c62a03c13d68c0d90d547191824b8a8b57d473981810126fa5726086faa115fc044e8a2ed3cec7a6a79cba835ac184680a1c658131d7e83b0f7720f2a200338ea84b229b8d9aa892f07aa4e70c44523633882f20854e1078fe872c6be3a21e604049effa06779e18358975f3ffcc4e0ce61d0efd9204c38428901967daaf764640cafb1d49c6c94403aa32a3e5e5ecdb10412c41f09883a7a61095537934eecd7ba427ed1bd6e2a6e8d76eed3bcd4258b65242a6687972c09d3039815e0f75221d8bf50dee32a738f67ca72a16f641729eccfeb01e8de15007b726c62fe25f47280c8c5f743603cfb56dae7595e5fbcbb4f09cc476d74d5a7c2512224fc5600111ef6a6269127751315667f3ff97aef2201a95e16b194d6cb594d57b2b4168c05dad20660bc5000536d0364fa1c5f7f00c3a00a512746a6b26f05b557ec63d78123bd0ea08c120b2a202aba157d4c824ffe50bf58dc6f98e6b772dace13a22916f50dc3b335ac76e2e860061adeafdb363f8f6947928aa4f228724ea6ec1776f61473fabd93d24041db8637de9324156789f4d644e8a5cbe78420f7b0a9a6b7b223b02a395011217e966afc3c3e1e6bb15766d158da1eba6537726764babca277b829b334ec702ba1acc7937b5225bc3da3f8f03fb5cbbf2370729151b4c770105db80f40a517537caa9a620abafe1030b9662b7e43acd94e817294be5ab53b99364f5346b45948fca90a19c477c0802d45e1071143d7d348e620a1024e74b89c225dbc9037f29ea46b650161ee26381011bc474ab6248985022ab40991d5afc54441ab55399b3b8a8a6305f37a7e40b0c2684e44bbf4dfce751504ef6702e9777beb9380d64693d94e3c8c3f092d65d52295b31f1aa27d46f772fdbc5fe0056116d2856b757850000f57ccb084c235cc7bf23ff1490666fe3511a459da3552a3f11c527a07e978e30b9ba0ac6ff1a03defcf30c0f9c73a937572c20a9734a29dfaaba1760fcfe75a641d6917e27ea4e537e1b09c22bedeee5a7283d0355ec8f11e9487a5eacfbb8ce8cd218f6f268d034c8e67738b7a5b6b8d2069b83b7aff520eeca75bfb1b3ad9d4df84dd51b9e454ce538e7fd7652678f37202dfa1101d5375dc79ffa7ce0909fd24844b0ae87d576e65e17a580252ec63726455023a5043ede9582b583657a9c5a5703bc15d6890ca8f32cc5a2e19cf53725c9f949ef8a8ca7d3ed65102d97ed3cb85358e9124ed496d83e817dff8bdfc05721addcc936e1af3005eb672ceeead1890a02190345e04e2cb2f6af5a5bc0452729f2c78cf5954da1bada0f1336e23b5f6e920e3e095893c0fcb128ea081712ef7b6efd6318757b0bc92e34cfe8c7173c2a0cfa966fb087cc59218f646aa9072c3b2d530513396529460f83558fc31601cdb6f93f2fc84718a946aa61bc1dc7292bcefa77e26490457a270378e13432ee18a0bd7c186e749b48acf9c739a4f722c8d71c2dd9cd5bf4da5aa4f744a42440c69a63a333f9d9519b444e3e7d07824ed22049d4d9264c5e486c6c34f7cf56754917b9949081a085ef8bea1ca611643200dc18c805fac663b39c2128eefb58f3ee29204af6ce06ca48f63aeb7d7dc50437596e88654e8cce92ff38c4ced47cc5a17ca6100c88fcfcb08d874c1834b0fdc8ceef959dfcd58d2189f1266e26c22a8969b950a2a1829bf5bc20cac0548724fffadb72809c0a45bba70856b9754ed4086db061c3bb2607a156bb4dcfa0a59c0bac896de69379d02a1e7113ac69690892742122270fe209f0a23e9fdd956163e501c4e006ec00e277a26b1c543b311308d9c013d1ca5855c8957db7691ab72b11fc623d6a05e9f67999a5dde1c66f6f5ab1eb48f3107aa2b8377c5e13dee725ad02ac0cdf175e64253187dd4d4e116d18a502faa87856b34e34b4391686e54641a8367b57e9e2e051ca258c3c08ec5c9921fdcf56e5f4d94d6b10b3ef16d72d28fdd37f5e0876442b7b9c2992b53795a09d2b8a574f6497fe8dbf4a6aea57258a98c18af33f1ff4282fc01482342a8c990abf5ed4db4216c2de9c9226bbe6161a6161fda10879bb2dc58b0c2c2d52b519ec7ce4cd0963bc5529290369df272d23710255975a3fd7f7519981fbc68c8b6cfd81cabe6b30b6866a1613abd9672ad423c0168b497a3d067dc23bfd429a0c10b8cca03f4d34608cf463e2dec7e72dca10aa74e44991ffdeabbd08a865104bec25af9bd33bdebf116590d11444a7252c2f3280f27a45125bdbcb0daf09b728444b2198ad0781a0a4c54f2d7ff6b4959bb842fddde0a596549acaef945cbdb46c922790606bb98567c9c624ce6270dd63fe9aef58147e03c85ce1f465de97abbfb706186523eb3475cdc878feea372168079e02bdcba58064d2c27772543e2102f665bc48878ad42d4d036d6b2fd72435c0d30d5e332d6853a0ea1096ad29d3490a4161675bba9185e18370b3f3d6b557a120119b47c3686fe3fb36fe454a91d881d0721a0e867726c7d3ffd368d72f545f26411aa14478760d3d35a014203b096ba8d9cfdd136cd89cd3012d6f6725aca5f81535e27471fe93081f258e3d3997a4f669c0d3d4287c3437acb76e1126fb135a88fbb09d9aeb3d556ad97e60a01ad4f09adbc7c9cc1cc5f3e350571725cb9074f508598333f33383a4ae7a403c0ddff51bf1b700745d86676c6d9d45e5033df670c3d8b589ff72c72e70b69925d6efb7c70fcb31d28813ed51000e072ce1a83769a17bd06864152475effa4d54bc93f87598805c9f81d1b9ee59af77234e6fda53dc6b16a801940ff80354522f2905652575506e8d5a3507d0316ec0af8e55e668e6727753a76d2ad535edc45b7ec38924297367e5b6f67cbe4e3a37258e36e77aee2636e4d230c1e1b0d95e892e539e3d8e4fc231e546495f381d772052171b4df64b6f5e978c755b9d10e86485b929f9ec85e9c341a20a6d2a6d972377531e133c2454bc83e912ec733aac8995dd374aa0a9518bad26353b16d3d159d499b722ad6801a02c59910f9bb5ddf2efcc1da951466cda01b8b1b6a78de263162dea516bddce21ce08bc34c60e628c6b048dd09b98712228d4622f469b9056617ef4b6c586a3bab8d483ef2d3b28000a2a3a99bc2f8bcdc079f5d71a08e2fcd2ce3c916d5388afc398523a3bfafaadc7745f4535950dddf614f834e87af214e07d97a9315df2ac8286b381e07fa46058dfe59f8cf9b0c8042c884f8fe37722af855a72e779569d7dae4798ea2a1e96b4904d36637d947178e65f3f7e83572e9f17a51ab113d0b37283771c4503b25b9aebe23440bf128718d2e35ed415048a32196a6259306abc90b37606bd39fe155a04bb70f6910c29bf895e1044772249f925d23aa5ac4a0e183a8d0118b566e55de21180018521e07816231d9ae385f7c167b9b232b43a218ccca20db4a31de0fbc6349a6ca1dc9564618fa3b90ff6ddec2b36ac95389bf9cab909b2f2c1376dca3890d62c9e5a1a2fe6a2556c76872a3c3511f13b61e45338ec648d909709f3a2bd7bc063cbbde8cb3818777adcd70f02c739dd50c9f85949ee6681a49b681f12c14f40d857e9373af54b7bd46fc6fa8ccc6b2e28b8dc082806b748e7416cfbc7c902e44659a5a3ffc5a203b0b0c72f6e61e6155a88255e7ddc4d8bf5062fab1ca6cb2d4af3990c8f09fa8052e87726803217a6d7a96893c93d190923e4822ee1e89545224e506a9a42c85253be667983f1d0f66291c800f3706e6c693e4249b1c8526a61ebb0df493a3785ffa7372f0719da651fb771b555a3235e007e43852921fce21034462328d5cf9f7c98072d18b2e2ad42096d79660b40d9699731da4b7431f062163aedaef578106bb014179a218eaeed60086a47e156c8fc09dfeafbbec00eba3cfe2b297d7d42793924b275fe10e8c0d395b320fe2c43f834b5e8b71e5810d880589067c7b0060943b0005272777ed8ba2568803db67f0da9037064fd41e37486f48a5d43fbb91657c72ba278d8d70291d13451cc2d6f17b896a8b80bf3deff0c27c9f46ff9d7c568137974fd6403c9c3ff6b2244a58d15d70daee1e30c2539fdc992510a3b644072b72fc391104a0b10c549fa5f6d3f5553faf424943a8181df0758d3907a1d1c8525cf6eb445acf9d5ff6836567981ac5e9698f265e28dad34b10a5eb08037dabd872115ddae7827289ba322b4fb5c22b2a530de2043dc23880bb6ab78e6e6ad1a67141892a8b07565855387913249a438db56dd6e4029ee64de75f08160f8a726c720310f82aad1d19bbe45cc18624e460aad20d0839775c293933e3af1f67fa9b3e3b677b34465056083b9cf6b6eda16c43646e6e509f771fe2bb6ad68235b9db727b7c75eba57084e9c5dc81937eb659cb8588ad7718fdce056f1a228f72fecb0505bac37f79dc29346cb410fa5c33dcbaef80ed09b42b7b109ce12333fe82cd51df871891ad8de0d40cfef04832bf995da2d3e4e60331559738a1cdea5790e624b8ecd64435b27d14e414ab804f087c68d5d6bb1487be4b2159dacd47bd9ab4727c398040353554af3e119c182af49beecc5d54aec638e4bc962bf229be1967727d65f58bc05766e3a687cbc64392049de443048793e5242818fb4eaf78c087724da71144b4ea3cfb17f2d0070b0357f5dc6c6b29a1b6be8f8ee7a2d08c53ac13c1342af6b200c94b05580c7a35fa40b34b4d60b89e512e29b672117f1f318d38823dc789f1e9c64b3d4fa969f1ffddd1133538262e460d9aa02277081edb2f02f947f75ec4cd2edd0a9dd4d573b0330840ab4ad9fc9d1ea8a8f6aac3f9d21d72c18982f9b0c2e4558b0aac0911a4b9c4203827912e387c9c54078f94140d0172f7635494b79d8270992390c7b656aa40516ce2a9f32794a81380e02bbeb4c27269eab1f39bfc3f63101299af020055cf957b2bddfab0c14428ba1d174d07d972612391775cfb9a12f671def3725c4d5e1baa9cb35ae032ca8f347351cacbe0655cfec289283b5c478e0fe2f6ca19752512fe3d97fc8efb62e93597e41513b17288955e28fa03d00b2a26cd681e3767959067c1b6bcd4d340e48d2601e8cd745a58eb536a80c706a93294b771e84601cc27b69000a6b9b6e9c4c030d1593c516b0a8dbede660a2b09cc67b1d15c9c3466348dd172d4eb03e6e2151ec6d476dc729497899e164fe3534479592fb45cdecee986f6358a80be01af2284656e866403dd57410536c48de7b7244afaef696322de28028f4430b6e80b371dc2fee68615e4d29fbcaab2be733d28d69d4031d1737f1efe10c7e60ed3cbdeb808a74d0f59bc6b7d2ae39d2710e84a9b127b3d236524e2e0402ebc510c74afa94354ae5856373819dce1cfa033186169c40238955043fbb5030a7d2c4e9b80d04308af0272432dc00aacb149df1f41ec32f830b31070bdb538cc9a3a50e7ad9956b538147202fb402a748a222c92daf6d222c82c9703c0df17535e654c2e5c4d460d64b57224530ef40b1fcc0947ddf60d107797e0488a8135f5f3b041fdd0b8ac608d1572c348424170e17d9a2ee6cd791206c0f24cb3dae416df2bf2e79c1abac78c033a9b7b49649e0958ef115d9b53ecf8a63a864db94fef51757530ff46eec7b956543c30a2d6f4ea08f7b8b496f5b730a220e5de9e0af240ca4e92ed338193d6de72cec79b08fc97e2902616357433250aa94e20f173b961d27ac8d07e4668d01872e791fe667a536cefca96cb4c12a2db89a20afabdff28ec7b296957e844d5bd6936ebfbfcba91b208f1a7f55918f23ae1685f710dc8317f2705a5465b5bd42072368513b3623f6399aac3bc8769c339bd06a621ade9d5e3044a27ca36e88c7206b4a9c4ddabbadb6eaf3ab949b63a7cd2a63e32a66002b92c2fb186e9773bd06fb821c504b4cbb7484072b5b74e569cf662b489344eadfd819e28acbf42aa826ef7abd0ba01922848b772948ddab83fc348f687c7f2582d75b2f6ebd2f998760f27d23481878378a416e42f3d9cf33d9f7e0af76f8b51756cfcc7618ea0edfd4c024126f62c693c031e413e77a742f54c860abc087e861cc58fba27eb9b465f0afff206470dec13598ae64005a81a2545d30f1750bfd032812bd66f4456f16d4b98211bc0df690a1582a4ff68721c469cf9888c86e170f1e1f2904dde8c3924693bde08731a0f1faed8485377a93499903ab547944b1ceef5561778c967d63a3b86a412d8455977ff7fcb5b5123e227d533ce91a3dfdb1a625e91fd2309a2b872283ecbd1cfc4c5907bdf6c265f4ced320addda88f5914eedb4382c24ceaf5b09973fce3853de6b508db0228bef00f2d605b982a4121e3c87a151d3f61e62533c311ae68cd574ff4473b86697fbf1f78239c1f45fb71bfcc70cdb7465501a182e398a68fe84213f722625ebd20fcb783f49b209e6f0a286b3b4b822e512717c6da88c52e0184d153e573a147cc3c732c59930b99902bd3cad0a71dec269063b72e543d0156effa31afc3948a1d825656eaaaae093cde9ceb10f9048805f02c172d1745d0e639bab96a7498475fac31f479240a509a7a7f83934953e37ce6fb90419c99763b80eb8749749da6a04b494398d9bd5f96d9d2dada89430e9020bad7245ed34fb45d10781ab490aa7bb3c1b3ed2470694fc243d996e20fd106a60ea3297230faf0054fdd6181c5c9cc5cd2db808185e5af0c2e8aeb5d17e75bcff47232449eabd126ebfa704e1ba62f0d06fa309a0ffe76bdb42ebbe2e8ec1bbf92e72fad9c08254816ab5dcd15bc9a7548f509e760f81af111ef29e1b5753ff6b107284f094030c02623b5e53ea68a20a78ef4ca42ad12347f7630a4e06b8a86f1272746bc3e5def82a7347863509fd87392ff17d80f1d85d44febfe18f87d7983a36dfd4f03c7a8114b5e1c6f5e5960fedfbe2cd67c75db945aac4c5dac77863150bac6be6d06174d1874f2e4b4349cafeab14c6edb98cb40d8666848cc963c979720c5f439df383de05f25d6df6b922210d0c087e020bc3dee5de704f03eff7f60c999f186fc5a573e894367571c0380391633fac88a96b053a9da130c69ba4ce72d69f48c86b62eb388fda5330fa4de544e008df158de770bc174553a54b8eb572b5018402cd0bf5b026d0d3d911aae7ef5b687dd8d50cf3fab77e92f50909347292cff3a777ecd86bdb116fbf01c5f6f534049c5a38072e11ecf11c677fe05b30408274f4afef0a43c95a1cb05fb7028817acc9620fadd0ba014571f7bcb5907203dafdcea0072e2c5cd390182bf6a459a98d91ad2d3fd924e080f51320cb4372d530b2415288fa4ad6cbd98a15c5059039a25a1aaed01dc7244358556c96bc7212b867105fff2f0dcac41cd2cdbfa2494a79685f59897fd0cc04bd2ca7c7c05dcacd54120afdeb00d17b41b741cdb00a9f2be6a1c0422598b5bb778d9ff346643228651112e3c6d2260e85016f2a25fc7a8418f6a4ecd2df58b91507839eca67f13677caab3e119569535c4f79ef5e7c2db2b0caa8703dbe891c1e2b88314472172844d2482ec4550c631d41be5c4f282b44c1b544a416ee5c5978bfd642297219d07a3d30c3d19b12711b5dc061557a8c756c304ffdf65c72fcdfe202eeda60504eb15c0a7b6403956eddc9feb8ce4a6983f8d984fdce1dd17e29e4c8971672d51bec6f76c48d82b955e1eceabc5a265b984fb30eebb52526545bbc3ed0ce42f23e6fee871a999f3178e225d6fc1cef1a7d850693682bf2cc22be99a1eef8729299af1a2a1c0049f345541272359dddd0b571429118742b3a2806c041075072dc0430e366d30bdfa89679c701409a6525b326a571121c2dcbea4e4804114b0ee2723d54915db3fb3e9693f11066cb40c8bccd8a76e0d3f4ebc47cf0cf0ae8727e7ca638a5dc23a933cabc5435356c9a64884c4288f354ae91236f0cd94b7057d0633a8444122c072f87e64ec718922d771e8a27562ae986fa3bd53670736f721f3871bbaec508258118001b72247da0b652ea77e8a0b3a874e09fe3948b6f58d12412a7f381b17655a233ff331bfb9c0d41704d33e084b6b121ab8f8a9c1772295503ff6ee1528879552b01c0d40c630a103b8ff819188586645c8481fb83728059430562507083eb9421dd5f861a16a7ea93520a0ccfb5ab8d17e56098f11226990d21b1e7ff1ae64b14828cf598a741f55b906ec0fcf2511fa79435683d72480d833eb3cc0cc7792bf551a83a88cc40d6947da59fbd1f7e7973d38f80a1728facf355b0b286d1e515276bd85831110c8133051012bf40b5062472ce1e5b72a637077b1347725055c1589437a54a45ddc86b9bcdf66860648df284e96a0e726943b7addfd136af8192da314cd1f9f943a911cc85f97c8b492370e2ef0b5272a135c8204d19548a26b7205584ea7df5a0a8d0782afcf61fa19b2a6ab980a012725555829ce2e55f7aa87a89b7c47a6bada49394e68fe8a3205be8c415b390047f480e6eb7bb7f9f03dae7faca9d08b9b65afa64e015c75f6c1b658cb36f5a72d16b298dbf9f2dfa76a3f8936da2157fa0e4ee583450091a754031657df63c72f6e6c8c71ecc61679e040cc272e7b6468169e0749f701e2a1025e9bb95714a64a81f5383aae073c4f0fdbeaef7a01e12b199da75fd56cad87c632929a271b97252ca51f4a5fe6980b53d5da18a39e8b4c055e873151eb5470016406d41a89d72be8c62b6b22863a72a9638b1a7e91467d24182fc0ba95caab81ac6a447ef075a50dbeb8cad43d247000239b21f465a41cd6484064be1325722825be789a4037298a517fc183eae10203b4cc66b84c798e7d0ff3048bcd5bd0c084a2c486b1b43ac2233c1d57bfc09f8a11486d6190d14d6d9265e0de9dd4c467d7738fb591a7267656dbfec31c966961c07048e63d9d040315c8f1f2a6981b3f1d1b22ec29a72c7dab8f67ac72bb6c5344816cb15de9087a6280c6d8a087ceb60b98a3e39fe72f554d90b00813df97f551417ed582860c0c1e9dcbf7b7fe14dcf07e790beaf68472ebfcaad403edcc0b946303ec2e017fa65fa91b07a8eaea7a1c5fcb263f37204af4269d8fc77f806cf27bc5d889057352484de1ad2f4027a1bbda0548fa172b64ecf988bfc48d1c57aeff0a9687607926ef620632b1ba0bda457aa3e0f2d46600fac1948dc361c634d7d3b34bc5d6dc0bcc572c9e6943c69b5c6a2df63ac0d84467bd0f360d1c0c077178c30c63d239aaf925e452c413761dffd12f1fc53720629ecb230007bbc400207eff33c2872ddfb45f266b978ea8394cc951b393472a2b4e0696891031f2eb0ed2939e55ad53cb23104481e946c8f0cc7b69213296700b95fd2d3d80109de8fceca7d7dac6aa039ae7d5bad42402df7c7f4e94d67723109d16fab7b201def309a405ca66a01daa34c26e409a3b0def02e0ad209ce72dba478eba266fa9e50c20a68ff20f5586050ff8ea213d609405de51ebaa1f769109b59a4253355bae1d86cdb5a3e94bc1e769b37cea7465a34f55c9d20ab6540c957953d28c02ada3541c00b1a13360375c75a5534b0727dd1891f32051c1b4af3975ee0829b5a0c4c2ed0caddabfd18bf7fe47be4e340d84653d49a02a2067256f702a503f1e7fd190dfdd07215a5b9f99c873087864825ab2329fe7517c24f06a421ae78707cfdc827613d18dfc4a61f9f1627f4c3ff1316737a48d479c672421c1211d0fb977aba45b7c711988822a83d5bcd41dc40c2c0f6bd8645db6f72265c2497bedea87a41654ec6290cda58e70a0cb56a90f7203e836422d31a7306ace7f3d95785cdc3cd503edf0434f42807ed48ca01cc879aa44e7d0c360f64112c19dbc3f11c9177b8fda67c2435884ac05ff7d7e1942da976d263fdf56f5372f26925a59e5fe17fe7222b507d48b71451e31669b31c1f3ac93200fe061ae772879bad40b0d9bd32e99c97ef45e8490246d561437cc380d14153457851da8572b7587932b772bc1d280078e7fd0faf76d6ad7ed6bc7e825d7ace3fbd451e094bbbeadef1e3f4bbaac0555e2c85166d42c5461cc63109ee1e8293d47c86740d72a1a51e4e58f4a240e53ebcbe3bc55aa0d5380e35f61abef95ce01d9eb8aba372d41b82db122fd7a31a9a8f17909bdff8f2aa31ed82bd7f84f3a264e39f11c72df7d2c75ec689c71a209ab41e2a2ab6a7006a99b3c4505252e6e7b4e149b30c47739db0d657c153dcfd6cdde9b89d8613133740eafeaa5a21e930bd421ca242721b78df028b5989e8a0be08fb5bf2da7d16f5742eabfc4e7c4f1a970e3622a748ba633187530c256bc5c39a18915c3ce2493fc0fd6d3c1125b8fbe77545809b09d9d3f1aa527d0969de686a66cf0efc056fe6c83f201f0ab58f61bf69338d58725e838ce08abb77b649c236e471b5a12525119ca74119d73811cc19797a6680720755e3d0f4994d0d7f68631daa80c4f6382727f5628ff842ba005323ae829b72bfb669e7fdef0586e983d5f51067c2326fc8935eea3940ce7015042615eea772f40787808227e750b1ddb4c749b6648816830a799734c402f976b05794892a2a63f2d230bc8f6f110eda3fc158a6086b49bcd6fad6bb6bcff41809456502c45bf2b617647454c4d7f2e71bb63a75f905bd34ba2c3926f3132ba225e6c0afd1440b982e592d98504fb7a0977ebe3f89abc393823f7e7043e5e00ad85d5caf96317319910897c14ad4013f835c030c7d703e7960ca4a1f183c54e4e3c12215f972453dff9d0d3707d99d8f88e1238b8f1463f11aca640c2bbeaa268c24a5307c02e134c3f96d759a877b575aa13056271a2d28d6fcea5bb5f61ce9919d32c61253beb32e6651b2620ce806f8344fb929d4152a7e354aff4c6885b4eb11291ea572a5009e0fc50552ec38e88a50e1b0cef89dd77195cd90348daf4ead77dfd69372268e2ebcbcc63de95de06300fb093939d5cbd970f002d8cff4848e086c838b568229ee274d99368fba64874ec436617170e2e134054107e78f9a1c2be878d704739f9b14f5b0c56bdcced732cb9f9ace411bca881c74b50df8aecc1181750b72499eb0ebc966ea0e041638f97d172048b8a19025b654a25c591ed5dd580e59724701eb46551e16337d3d5db1cadff497d058c2fcc6bcc59c62da6b093df65a72e0ce850cc0c59a4772ad73cde00f930dfc72022a9c848e0e468bd22cb44cdb6850a171b50eb9bd696c92aef56edbc833d53243278115a4902c3e8819f6efcc72ab2b06c90b193b91c262fb56dab2a849ca68bed5a967f9ef81b5a13cf5171b728129f81c80360fbdd8d0bdf8e834479a3f3000a477209189021c4dee30f02272d0d062a897455cd2c78ae79532fd40ef8125e2e077b7702707c803951824951f1072909c48aa30d33dac53673dcabfdfe00a900d38e83c9cf24820126f75ab52f2f7400d46a9145894e61999a0b61786e97b7b4764e23067a9ad8789f487e77220dac4c502946af6727989ed05c47676d00c91ef7a56fec96bdff8545857940a88281805cf57beccccc07b4c463fe97e701dd4f3e4fcb41035363d49f62aeb7224b88056b631b963a8c95a8b8b346671888cb7d94fa1ddcccbec076194a8c7642350b17462840973b8cd7457b583c3b711b000999fd36de972a1c7abed9e52723742ebfc9b1264276275616812afc6af2ae482c9a0908729313221bff118f424630a32de61718cf42e04d56e1e36c21e3df5399989985b671e83ccb8e5ee21721c0b1fff2d9e15c7ea071139f4f0cc60f2fca7744dd4568a3ef26e5ba8597372bba65d7f33e3fc2099030c49392752dfe39a7364680fff2b74159bdd2321f672aabce26acaf0496f5c0859f36e572de1b48bc9131f35b4bdce4b22216a812a72b2e148a654eb4ddbb9455b5f146578f321a975140d00a2c3c3adb949fd8f38358f8e6a44ad87005ecf36b2984cfed53211a2061adb0e652503d88cbba3907739f5d9b2fe3d1be7d5a0a54a1f30373d3ea2682680dad61e7eba21af58a9df8472de57c0f0fd46c062beb5830119594e505036e04b291ef63e5df92af9e89d8972594d5bc6c858517e58b132c4b9744dff84022135eaffedc7df51ac55c5986772095a2a660017d368e6969907826ad15702c573fdc1d7099760f22cd53464577219847e5d0df27a0b18d97b66fbea525ab9315b22deda34046c8a344ff341aa72c2bc2fb7ee61d9f41b3ddbf1ffd91fcab1fd0c134bef26eb6be934815cfcb972943ece993b62145e20277cbcb18a3350db53b759099ab826b308873776d0f56fb2618423ddc1113260afdb9e556a6ed3df1d5bb569364307a8b1f7908d1c467243e043670efd8cb9627f589da07a0ae6517013ff6a07ca8f8bf37be77baaf9728b96faac787e33c54ec5f8128fc02829a7a654ed4f21bcd2a27f7e490cdd45726e6e392e17ec5ff0e98449af4966291a92095d30dc684a3b9fff9ae90fc15915f492fabf952a59aa99c79537282d9f03bda72c23d1ed7dca816a86bde4be894c2e00cc45322256154835afe05c11f0ac6f2adcf8ced4b2458d267dd94f488b72dfba91b40771d20d3b4e8a335088181e7ffd2b0ace79c87057c1632121937872fbd3c4c474bd863dbf09f26e8e11d8ef0f602277d8672d063445f944bf42932bf941b720c1fd5931d6177af9a5f7c18fb9dc3993030e116896278c1d05d73c56ee1837a1a15a33fbb57d16e152ba38f09701b83e9df2deb3bd138a82b3d1e93ab26f401e2901cb99a74654908c0244e29af318b1e7438507c045af30dd0ef472e996344455aa386ec691df89cb20c6fbd25632e30d5c207284924afc0ad27872a5ec2488f0c3b24c5025f250f6afa209a0b473258d071842997515b0286858724991116acfa416095db7d7ad01e493d5047c731c7d2ea62f9cd3f433b8fbf072b4186ea22a1e492918ab8ecdb4ac04bcf43ae6a2c406bcfd82f21ec48cfe3426856ca320061148f9c0e1c1d56bc6739a8363fd9501b91e964397c57dc06832493c0e96f075d11cded77bc4dba6462de250a35f87efc283f71a9104521096c3724056101a917fdd5d094caaa8bfc5aaa23b98c68e253d00b7e24f2f442112d972e31f7ec8cdfa748f2f34f76e941969e42721dab4b1e73d62b3dcabd9a79d040de1fecb0d82790b198be3cb7a069314423248e623ca3b081273b562070c9e9c723eff0628e7464bd1a3a3ba1f2df83e843ecb1681a8320b4d8c0762cb21f18413226da0d7ac692e392b6ab0516d635c4a7ac6bbeaff7ea33bb1d400f232bb08213e689f7444ae0ca3d9560274c625c4c582cabe6bf74b7abe979702cfb3bf5f4b793a18f3571c833c4f4a1a9903377e263887c6d6aa987b38698c9b34cbcd7f2720e666283cd1dd34e428e4cb3b6cdac049bbc5d0f9ba755a7f2f62ae616e9172947688d7c737d2048a5cad37aabf8f4efc9287bcc6e83a43c92710e1b6d5850f3fd3350157b08f51e1ecbb0c3296059f22ee089e942cf201cde4be9fcbe04e722f5d2b6d9c77889ad9b76bc2abd35f45e8b02ce97c78dd7cf8568db022cafa721016bac0984708da148148c9f1e801c89d8920c9b717a6024b42543e96505706fa93c36a267a7236bd3024cf1b17c10d6e944c435f7282db555618be38cb9662baa3468ea4af8b7ceb62a4cef3536ba911797e657d39d8681a34c25aa625e372bb5d3130402d9489d0ccbd616b57a4e2c1a5e4f80df6760223d8328b523f387263c1c348980a34b89bdeb5851742487975b9c7f682fd4870b25a7e5f3af9ae3c4f2695db2337ef80966a6731d827c9bf0d4fc926afd70f93207bcbea2e5db772aa44553635a27b53e3c1d48d32868bab30cadf9ae01784a0392602b11658da725a74d917b8534ae9662b2ca1c3fced7737227f1e8ea8eb62624074e6a64f952fd61567a61c1fc976cea7def9df739099c505112c583795b9e6edc81f19d7ff6ac8a615f95bd2e4a7229194dbdc8f17aee72ae4a30544d990999c7a2ad42bba721d6d5ea1eee245d3962e5d7375e48e3b0f88d31bb3285d398fc1111be44523351d9c60e0077e921d3f8b4011edab28e1d678734dd0d3254d33086f6aee208945cb7105e951c13640bb77e2ad3d14b6f3c6c6fc161b7dd14258193faf021a6b720db973756cbf74ae27977ddb9711c195c987cde9aa64a93e861687be88669c2bb8cc2f0d2d13477e5cf64742a47136e6b83fd475cfa1c4b3823d57f00efaec72484747c2961d06aa9f99ae76c073df7aa21d16e1efcadaaaa717726408d1b50ae3a4f9ea06ab640b7f1971ae089055613946ea63dff693ebcde5f8e8c4522b548fb6426bd244c4ffd7042a2b2fb6d307c936f2a0dd8dd813f5f71204ffaf3272098ffe4182f4ff86a06d5a1b8871ed16911e52062463470caeba33c518407137ccbc1360179de4f80f8afc8c2817bf02d6382b603b9f2aa3c27d0b1084c09a723a0525d59f314016e3e74521ddbd60facae0613fe0614bf292c968ef00fc61728991b60451837431e568f8c6ed4308ffa5028877651ddc9a2d229923968be572e90da01c56fefeacacd14d126aeb60f31c8cc04a4fe1d68e1ba4bb963d3214722dc749b3aa932c43efcbc0073100ae55ab2c265da19a8cc962db933e74ff7e72634e0b5b9f46e4ee3944096d05fd84ee0b147884c78eaa766ddaac7a0ea5ad726c0761c49637b5d35281e340fa97f7c1426550af3a44165046b4c82e834f0e727c0dcc31fd9029f9e855bf96f4117a4f4551a89caa0a4ca4a391875f3c1fc372d90703c4b4f9d1d7f35bc1589962a579698afeb4e25a13d9a154f535471eee2d170fa31a11083a6f1370d8d0792acf655357ccb760f4e2dbddad5f3263ea9172de36d2248dc1de366c559394cea8b3143c0c52cf1baca6caebd487e8f14c98177eb1b0d3fd874d17f8ed711b4fa40580a0fc793f86d9980ffb4d28062baae1723ed6d162cd08dcfc43cf941792736d3ad3f2901388c237769ad8d50b85719c7288561f9f55219eb5f549b051ab86d322d8aeac921d8d7ff66f485614563d601f4db06740a49a2caeffc6a3c35f8987d6c74a2f2d6be9db4ecf855571639cb723ba85b0f92f6a0f8873548adb1c8c01d0a1983550183d66633f83cc27e3ec3e4d646417fdcf175fb6c743070e1987a9149d975adbbffa62195d17555f67674a72774e2be722db6023aadfd3afa90d3d7d15d6171675cd31b08f2ab313521c257216183e28587862063986ceb6a077cd3854c383989487bb5856ac5926d2e5a372eb59b8c42da9a9787a3bee2d3d3bf224d4ddfe34e4461e2290ae4b862499e4720243a9e0a0f742b21ff1b528b2ed715796e48fb1f98c26660ba16d1baee1c9728d932b10c3a4c82362289211d5fd1640d7d4ca67dc9a32c262abbdeee9755c16cb6c1b1de34183f0fa8173e869e70f10eda6cdd5b1fd78b33ea64decd85fb372967d981492af8ed35495892756bb8d7d82b6681172188067df3f7ea2eaec417211973cca209a1932c903e5729d8d4fe6f3d2cc64a4d6e529cda43b24385a1072c233107a6b5fe17041812dcf059611d2137064245d5e3a09b0b8c430fe5a8372da4ce215c9bc878aae72f330c758d85e9c292856855dd1551c7e3112f5ed6a5a8ff2c21449c18208f9d49029eb74c5086de12e839d5bd8bdf5ad6ec0efc38f5849a3c64883bf6faa3509664f4c31cc7ac09b42300cf6c2584b464167682cca1e2069b69b7f8d41b441305381ae195d5606df7a2c7b0a34e07b0e6773c62b4572cea6cf5347cbebceea699de5f9815ca36c08c60828370a9c87c1045dedd36004cdb816f2191d5e281aefcf8d3bf309d245106468471cda40ec100266ce1fe672149519db0d225446eb74890d55c032c058d79ed29562fa2efa10d93991754a0c789c91452e5aa0a22a0e82e5c1306ad7090ee0d549c15f86d25848995ef6117257277bf42a83c47cf502d4a79adba434d929a77d0c29f757edb42209385b85728aefc2def5ea2fc860e73ce74366de175d411a49eba2d6d43edf76c0fbc049546c5c675ca2439f07c5395ff9e685cc2b500d4ccc4c4f236dcf3f97de527e435728d9130c37000c9fe69d59dda6deea5f332d9b415a92a12671c9af7e3bd50272d5fc69648f7ca647cadc4c066a4de725861076dd501ee23e5724a5b45a973d688fafe34a14046761cdae4e197a8007bd7f38ef81e237f70775a32af35bd28640619cd38b498c3e687361a5e354cead36380cf6ddc3cfd9bd7f9355dda426d87251c33abe9540caa8da968631735766c9c4e81b59aabace531f7f04f97353106defb5232a2777ce48f2f9ba360481335c54fd26a5c334daf47815617a8a40022b578eaf40e9478ec85315be6f63b01f74003bf7346915e383227f0b88299c4d72273f46a5a21238043a5c1f54747838bf9475b331b18353368fc0f0af3bd4ce4e484061cd27d6972eb458c7bac1a7b93912f62c2ba864be03797cac0439e526726b24c6c6c63741d2642b12dd969fbb9091389334e2afe8d801aebd19729bbd72fbe50d40d2b26b4718090b9de69c23a05adfd4a83c9c952b2cf93910980e7d5971ac101a6a387e9bb6c341dddfe947eae633073dc64e8eacfbd5ce7cda8ca972fe9eb60182bda80c26ebd3a1f33c97be5bc569eb2bb25ee282bc1da3886c37276561168b76a30fdf22f53621f6aa6b318307e062c38477152fa4fc7cd15ef913ef529fa9f78ebc87d0b82e5966354dbda737b8403bf949571eee121ada08634c2055e32819ffee9a33b157eafb138434469c7c0e2156cf8d650a4a0b7611a0092531c00edeba5713cf1910cf231a77d7101136b4633c27c9d82298a905f8f53ac8b8ff57434fec79d3533aca8ce8650f2566305e5c6968928b863b6be2cafc72be9377d84c2e0828dad3c66039c217fc9d730dabd91e63700981eea68cdd6700780f3925a7d960eaa29b4b3156f17445bd755305969f4aa3d6822db77c6cd0418c9dab0321b77351d0e111faf7d96313f57bdb515a6d19a4e31f57be0b348972b965756b65d4305ec965a93615f3966e96a57ec00d49dce23a27c1c545cb4d02fc0d8df8fb94b3c1216fbc9f444f230c4c259b6dc294a1bdc2933a888e194f721e821fda903378c7fb7c6ac0f5b54ff5ec0350a2d643199e7a5461ff2356d71c3b786c35b94993cf4305e7fde439546c0532f83fb395814ad42ec827f947af028a43faa410583701b6f89173a925270f2a3e71408408775185fe173a2a6c4272b2f4a33ac580fc4ccc2f2f6d6afea37fa2cbae6a79bfdd63adf89ffeb92b5672b92ad597ffa31dce5a1dd08577de592b646ef93d58972f77d2e2ed580a7e951513c3500f24ae3e40ee551ba5525aec73172409e444e3acb2b8861f5d8f3a9b72b474e1ec4044916ee52dceb31f058191aaeb8c0041f6a2b6acaff3c59bcb117200640c904216e269c9bcbca17b934f441ecfa36eb06181793b28ef1df22a4d72b215fa8f89e3bcc40df97898c87488e2b4fdc6f6d88aec9f64187bdf974c4072075790834d7cff89125b7d5c88a234f2dbbeed735385430ac5f22126d5c6571540ed25bb4cdba85b95e99a30ee6314fc54c7d283b6db034f834d6d2030bdaf323be310fef13c587fb569032937bc8907bb4d0b462dd36e21a5ac77e734d38372ad58b7141c0f9eecc54220498905b5c54842909637fdab385a6df90d099c3a72d6861164e9e44608c56dbbc536091be436dff4494bc4e33ef85fddea69882772b6d9b4ff8e1ebd29b6e24259d9b6e9c405abc887f61ec9cfbeeecf26afb42b454a01546f0f981b65768bc67acd9f7de24ffcf32d003d4fcee464cd96fd4f5b6f57a9ea468db52528bf392ce9555c8900cff2e2a2a00d8430dc41062d4f66a92be749fb190680f36f7207a6dfecd9eea803bff4401e22da086c7294440a46287244a401550a23f5ac285a07815f38f7a3e56a43d39b9e00b9cf4beba82703b072fc5d3d26b1449d67fae41f2ac3f6213aede3d86b225b2588bb554523eced50721eb715f9a29f9fdf24cf6cb8d0d86574412016804793d21a029d4f12674091728311c2b725eeeda6700f8180d05702cb673bf555025348e16844866ca4280a721307375e514f88b2cf8cba29fbce9436011165c2070062723309235c930b0672333f2fe4b6d2c251d8f2e5dec1b35b3b9c0e3fc41c400f540f14c3bfab2bf55c57fbd00c65ac5425e1254ee7ab92644b2d152d385ef172466a65e3d39811c464827272b416de6e87af768301325128387ce58cafb573287abbd45bb7e405cb645dc5cecfba2f658975c58aa493514547fc65499c905fe0fa20f5287188fb2c49dbde56937eb5e95a74702e8d2ce98b108b18150b4b3dd3d63081a64d63a538724f1e76724b5b3c3cdb7e7942677919e06ce28c4f62c145a0e7345b069d7a9972195cbdd0f4f6bf7a5dd9eafdf73c3bc67608ef68331f885de8b2c6dc9dd09f72a111bc5d41b8631472ad1df73c3b7e53867b6e5e3bc57b00db1f8e87e5b909726a84c8d584946d599cd5a996d97799a575b8fe164d61642765dcf0b421ec8815eb493d81d1b71a0b7fefd6f00a5dbc06438290dd2500639d03dca6f59e5d9e644229eb69c6a5d2e6ab04cf1fa526a8225aa4ddba8d698d005b107b28eab3c045492af50410d049fa69d7055df47636d364797d691b84b30a2c3ff2b1d50f1072843e37c4900e9054951b554ef54367ecf3ca3f6440d25cd61c6bdf6202cedc72bec2d9def3c1afe4862b7f4728377bce06304c035fd6daacf10fcf5245177a3f2882558293876e2214e12eb66a962ff131f0308c11c132cf87f3c53318394f72075a6e32935084749d7e5295c38996bface8bace50e1aa753741a1349467072a29cfb07075b60789310a6da1d4037567b5e41930ca77a1a182003551a31651724b9f53c807ecaf10f4063f53e72c663f3ea038659ca4533d1882be2f2a2d9d419ffe1214ed368765b821b1739c5a114ff6d69b695c479e240b2c83705c4d117213a6963b14bd1aa062c3c66972f50cb4183b769b5a252778a38b1b2ba4ae057282683e49ecc6bd7612c002cef32d2fbd2e545cbb5c022f68a686c37e32942a72b81addb8fd1a72c53256cb1d81f006413f13626ce30ffa373e8e32776100c172d1a3cd661261d4b5c03cbe5f1b5676ac9240b4cf2fd8bff6640c80f065f8227260e1477394593a9b20745d1d0a2b62eb2b2848b3e51b322ac950b79901108f654f7fa37c8020a88c36b71518716604a5603606aab2a3beff1c54dd3319ef6c7229539e3906162c2e8e739ed9361f73d7c3f07bea06fa40d88f312e140e520d4c4dbbcd291d478b9e36831c7fd862333b988c058da1fd19b9e6f989b373c94f5fb14d7537a01d19aed2983c70b06df66f8c5b555c0e8f492f1e8822c8fef3ea72554067ea5e53be9e77e0497a1f49cfeccfa70b3df5b3dff98c4e2d4136268f72edc1f16f1fe7a4ad36dea208c0b51ad069468bf58bb290c256026794305647245f2882e23f5cfe3160a27758e8dbdf61cfa8b307e318d3dd4745faa0093f7e31d975821cfbbf13c44d74b77e346db0e940200375145325b3cb0255d103f6de72e4832fecdb2262072d0b31f2204b13c21b47df32e8f918ccecac0018b9bbb34ef257add51a7bf60eda2b58dc0ed4dbd9a6059d0104bef649912ebb8dde83af67f08c7746ef6c5cc46eada7920eb1142a105060f299ce83d25588283eec1b3232cbf47c7205073ad37739a86ce0aa58c068ae0540d41b0bac99d3c83564072a5bb6711ec0a91436da352fa7faee4df3745d6a4aef1a52525a5f36f3f2f74e535df331cc9cc005e9b001520989d9d25376652b3eeee3ae9b98e656cdb8eec02b723e5672ae3caccf2a2d810d0801a318decb221138039b82942037f6db89e6b972679962bb04015e0cda92f486751d25b32a51141811e47bc52bcbc51e4784cf6ff290f10b5f16b18962d945143c0f05d08dfd17d74bbe9c017199f76eea9cd92784d715234e13c4bd21e17c1eec751bf243ddcb7a80902d361d995559d0103c72257906b55bc44c196e25430410e0ac87495bbb297ab05c07a5a0595fc3ca110a46243b34f6b65b8a0fbba543736a745fe34078ee50808c1da7793990f629c0721bab263c216e84fb2ced0908d823db1feafb994c698c1ce945d291723d9b9f72713e621ac6fc24e702844534500b622ee2c9292efa373ecd9fd4e7b508985d2822c4f4b1b4cd6b10889f7eb1cad497fb05b85effa053921c02b843e9f6a9e572f7a9984b360c26423bca32dd630f63b7b1ef21b39c3c37c364b3358fb59d7672acbae4f326f0ee2837d7f7b90c81eef84d444e6c327cc5527cb6974aa9ba36441c25488ee393b9484c5ac24952bd959d341b1ad1f1f4e0baad73d6afb155a87295a728008a0bd366a893997a2d58fb7645e6f8076aa42404ff120409182d13727ed8e28672598e5c46861630e1dc982d740f093b7f8ff0d33637be2d2b2cc6724b1180aa33dd9b52f492062983db8634ca56ff24a22d06f137c1bef03f724f723bd3272c5a3696ce9c2990d7fbbd6155b0e81dd7b3dc874215573ed317cf6a213c0723e4fa6960f92af423a7b2f793813a1a3625cd62aaa146d0966fb3d91f3c84ce26e7ff061cd2675fc6b3deb5308109b539027aa04ecac88b9cbe6875567071236b11844f9587d903b5888250fccde286e7a578741f25ca4fe70f06469172c36300706b3650d6491d7a494175ec092a921aedacd00620197d321aa9dfad726440514283f694a285cd962f36466792300bef925e76b2bb0983424ad4fcdb4242836c7067401b5a6e5fcd955b3490f5bbcc725ee87836c5e27c82d0a7129d725282230bfbd496c94b847f25ebf41c0ff5efa9350457e9016e892b085e0e1172ae31e487b601b866ead6f34ceefe612fe7b999e73add6999a37115c3467dc472a750aabf7ad0d4cceaf8b37301173ed81208bc50cc130ee91462cd06f180017299ac861f8cce48cc947d941b5265d328ef13e7c87b3247c9c500d540d3d7eb0d2e3894856b40c672ca9de5f3e1ca54117b153146c4b72503682f401569d705644ae3d61c7961df7facb03c0b3f62121f9e51ac7339fe015ebc79fe6c4a3f2d0ba8d50790f826749336b6a52263e53fd84295ad8088a71062a5de4c06bcb8c57230d4f46000b5c4465cbb2b192e7b97d1cf8cf5028f4d4150cb4153c1cff12672c8edbd60f444a273eb8549d044a39a4d37bc99a36632056c90e1bb04f68325605ed78f2b8e8849e1e322cb513304878593bebb338e1fabe31fe49b700e3fe23612bf24282271e30f05d82ddf619c9d526923cb44d5336e6d63d8c9eb0106b872afafbb81963eabf79cbb0e3d2fd65631053023ebbec46abc041f56606675ea726e3583eeca9707e7a15c048bf2032aae66d7315f32e056b3d73297de8d2faa7225f8d6049974693f7fe006330486ee9e9ed2fee01836f6cbdb4e702b6c89721dce897a04fd564e25c2d7a42c760cfa5738cc2fd7fea433f59b5117e604d696727a802d97eb537e5e4a7afc05b3bef1c8ec93cf64e53e2b89e6b069a8920a00595e0c740754d8e640db143c27360839054f072eb2d2c609ae5b5c3339bd83ec7205f398135d77dddf681ee2cfdc0eece21a8fb6a238602b663b73449b484c3872252cd94b2435f900fefd345eb0882993724443b8bdad8a6ac0e81c18f8a675727130d683929ae04e9b9fec1821852c1a6cc36bfc17a426fc5f7d72471a9d7e5f0e8cd15213d0aa644d093020563823dac5da6dc0e90c5270a1272f691a8fc3631cbd8d76411be589206ac14a2b6db50ed47014a994ae60dd2025443065242b652174f3219368a61f6ffd4633c18467a0c4b16042bcb03d0f527a9224963d0572c5d6ab0cd1772fcb997a20ca2822148e951a83b40cc75d30d7618138cab05572be5a674c370584d51af499ec070d70bb3f6d4e2f166e1dc9c8d9b78d649b536a4c452507df605395b3122e240f32e9da746bf2ff5e282e105dce507e6cb83b0edc014820e8ce4963a2788a83954cf7511091d316977bd841d4170d38bf188866c8d76fbb7637f4ee789407a2563fb59cc87beb75f646309f31a5f825fc885172ae9703a422c9466d4b85bbc1c9670868e113d98cf27135129ba0e4e68daf9e722652b2aa1083a3ff2bdd39bfda43109b799621d07ea8cc5e6e22af7861bbec720d340c87dd7390f473913dc62c15f4e096eed39457a1869bc919be325ba56b06497a993d9ae0ba824a7b12f8d7693bf61fe766a957ae4b2a4850ccab5bbb787214ed3d71a8f8e774a163e114e7f74b0d5af8a599e8bc884139ddb992348e9c6a8ba127f6968e622556c8c0704ab860fe0de7e188ad1170e638b1e0c049ba5d722a79b1754abbca5d3280c01c91360c09ff0e55312bfeea16c9d32c74cf852222b09d6e98b0aec04b647f35fea339fd91c891590c48148acae5269860ae452a72fca6fb51b727dec3865f025fca9bebf0306c6358051ba302f723fc4c1a2e6f18e43a111ce7724984a7562b207c79678179d7da6b589b9d6a734020d0ed8f647292fa9eb0ec5ef4bbc10b1877000a14b296ef4f86eba9f0f0088f5e277fdb267206086eb357ee1f24112b98728830df33eebbf0a0827a9e6a740990d4feb16d673f3696b8eaa3d31df5874b20f15031627ebdc66b5271b6b3a0825caaec293372a6013d0fcf12a846c1b1337c33dd27a8768756300ab410e2f5b07968852dee128e18edd96b2d5751defcf0b9549ee37b141ff11a1dee93762c40691d19fec948eaa77f5cbff4e939120c740cdd07d2b43aa90f09ab661508320ad35b77a6d8722e88f6128adf259730d0346f6826e1e558eddc8543ab69a4b4aa6f6040e83072b3a2641eaadb7ea6ccf8782b90b7e47e7743cc3f5314a7971a3ff983a9737a72d60159e0bdcae83b4817b59d0b4c5a432d6d151cc6cc2fdf8275797cf77d407273adaefcf91cbab44da36eb8727822b1c56566231cebbb0b9ae58f0908f7df7292e37f00cf677b3487ac9681499c29fcdeff691b0f0e51da1fd449894dc5f572d1fd76a103b41f36302cab0a7c9920f707be9e6a9e5d613dd767e2211b28a645e7c4ef245127ffd947de68eb7bda4fc6ec0e6116e0196b63fd62d438d12c9e607c43721489b26e2c10817e65924e257edf74d2ffd83c6b36bd722c37a8e46c72084949d780d89ddf61a10ac2bd0acf5a109b51b3f178de5d491b40d0f998a4721c959f0713301edb1c18b551ed0b93bfa46c860e015ee766408746a17f058303099a633c4bea385ba63e10612533e5657f0ea058abaae431acdcd41d1375eb439cd00e01f5bef5ade8754a133ccaeff4af84120c9e1f64069a21d1fda87e615a57da2dd19ec8944a78ee04f893d35b6b4279c99caaef79d06ec4203551be9772d371ac4827b45b2a322469d99f7b0a4345e15bf01e01a5e696100c8be8d74d720143258821e63dae4ed78669fd9915328067fd9dd19ada88720f71811c02ba72781d52daf9a80bee83843de875f0409f8622a5e0655c65d750c8fb808b96f14320c549565f822a06c4c5ceccb5b61fa7bfdc26a460b75898baff6ba2069f7c7270e1c46d37a840efcf5d6fc463c6575639acbe9537a084ad19e02a0cfe1f9272a56336dff9b8bc1eca7eb0c3a6366ef7fb6fdaf38b59a46d9174738978f7a5402a3bce43e04d489bde12f5767c314dfe4f7d001d95ac78aaa7a897fa8b590d7289b72d34a4cc509d32d8e3f8a4a8024f28680ba28cf38b51d1ed9dfd49892472c90a7713f5ca054fc92327a11fe6bacda26f9fa7ee3bb21f666b26b6cd17eb7245ba2ed7705c39322cd9a20037c1e007310bd685be86faef2bd493b579222f7254f1e7642417012002e30f82b1828fb1311fea2fbf97984d813f09596f8935729dec97f44bb4b74b7ee3708541b132fadd3bd340ea8dd831411498f832745b72cf0fbb4e0488405e4d15ace3b778d0d3526bf54ea13cf94eb68aa74263828672fbd2177a64f4c8b21900d93126cc5ad66d6b60868177dfec8bfe1f9cc0b2677263ac721b1e3753d8277d22c0890ed56dec36921ee1c688ed76c3e4ac6c7a50356500847f9d2438db56874519e38a46603234f6f63040701cc99a17b5e56dcf21d62c63704dc63016622c3351e3a37d43a4e2e327d9017f0a6b1232eddca4ef72adbb842125e1a7759dc5459677dc378004a5df38f27ee3f80f8087d9f7550a72ce23063a8666f8e069d396e37e7048deead854333401b9cfe449f3bb7917b200468269461dcf87abe644dc5e192c4843c62015a17894370becc83c5fd19c6b72cd9897125d9f7f2f6f8826ae2712975f1ee88b24c3678e36f85c10fc7358c27247ad1c9ad3a702b9e3c2ab7bbcd73eadddcaff176d4130396c3da41dcfa91172ce11c935cca97b703454421305e5d5819795d67233f8fb80766859ccd0d3576c1e736d496852cfafd248361a9fe0fed6dd14cc11cbcc9433335e102aa0681872829109845ba847511b290c672de087cecabc3f56de78a028be0c9db06040e4035d3f9d4b6c4443c2f4476378b887199e9322688121e7043d82f6189a06a7977259ad6118619a8168b37e176bcb62b63c5c03bdccb90e8dda35f8fa9305d07072ad74cac3f9ec61768dcfe66ee60eda45e6508f61ec4337778bd15406fe187d6537fe1ef681e9ba3f3b8fded2be27cbf1dc0627d1eb438d3fea9326f00c5d3f72c17249535c0f6405da009d6e0e0ccc884417e386874b7011f461b2ee12033b723edf7bffc11c7f9ca1695ea0d784c0cec081e7aeaf618934f2f214ba37740072cf323c40a96df7cf0a181ed479d1265ffd10774ec26bc9fa6e6a48354c346e72c52367cef14e2b7d6b8c8ead50bea09b3c344e5893ee5dec83438fe21bf48a7296d609b11d1ec88cf71b047c52bc4696e893e41911ae58e6ac9ef5092447f95472ca617962e72a9d98d28d0fdd35427c67d52f414287f474b8325df67ed72072417f576d17442e5b8a30330a2804d6a083459b4eb08e90ebe1e6dd178efc611e14f0a41842561e7cd08a5dad69968a3e5c79a47cc1c81f31f6c7d4a1d2ad9372ba57debd6b28bd56c609ba612e702d60a616798abbfda5b8678ee3c243c7b8720694ad2f53a36af09d12303258de52a1b92b1c412f5b95e9fcccd169524eb0722232a0fcd8cf8aeb7eeafa4a61cc28105ea90e347638f759e47ceb9a308643728afde8530bb05f94527f7e2eb23fe1cd29cb334e810cc42f9dc95bfe4dad5e7273457a8d674dc3c5a9010e5beb844074ce1b28fd7f5312f72134ac83dbc6fc724692b1efde3aac35b68f34b29cea662a182c98f8da0b15084fa38a0fdafc9372c6ab3d5de0570ab4cd2218084287db863883a7c2d5f4d8e7add8d64c81fb97727756776e8016c88d4318777a45da64908057bb760296189ae3cc1f4f1d7db6153da6b74e55a741b2d1529338c2ccfed218be3d140cc0485efd11eee1b50d0a726fb95a6565df1c9478191bdbd600ca1f256bb7530166f834cdd273b103004b72ef64f86dee284cf977d1c27aed329292b65ed9a093ddc79e79cfc176dfa135309846c3243bebe966a377cc82f595b303ac3b942cca632bc7419a051229faa972452893bba6b47e0141eb4062b22b3245ee14d405f9e8acb918b51e92e1fc5306ca73d52696508d00c51e8fb3543baa3288eac8adc785b87b78c6c65c6d270d71024cda41f687c794365e9e516a025cf4abbca9f605702b937d9fc695a5fcfc72723c923fbbb2056492b2eb4761a67fabe4bde7af9c6bc7f08dafd46f8501c03e538736ad7b0365594ddb71cfcd98a09489e0a311d74781e5326210427b0b1d26b0a9d39cdd4be072fca5cb0eb2533784cbf78dad7fca54e95394a8de6d80ab0fe03f921da12cdf4d200abad18ad462ada97588a2eb6fc66ebe0876bd8e087c239971a6a1c6b0d6d57dc2e3a3093961431b9825c7a8ff87b7f2506240d3e5411782b541729b5684b52ce8c1a77ab12e67e293b18a2c41fcea024588c354b87372192eeaf8f5abb212bcf43e822525036fc1c1c902094ce258e0f18e8c18f48631949fb0e5dea81737aab73b80b5304f240c6da02ae8195da512bc877dc18d5a14f1eaaa5361c66bb85764326e4ea0e2324733df302695fca6e959a4dc144da33aac526c574d80efaf96c51ca8e9f6f3951fed872cf78e98155e952895e30e1b04e8caedbb3c84faf35bf5833296494746daf8c603131775b2e75ba0707f24d072254856b3d94421af10b92352de496f9794d123a0da2027cade917862a0f4f47261b0e96b44420e399fcd16a365c79ca5c45a7db177ee1fa09bf8262496dfab72b5b22d579a5a4155d1ef93f8ce7c2036f4b611b7408ad134de782086dddec948319cc3ae954303c3a06cbfdfbea6092cb6a7fae4c65b8769fbede3b1af5d4972e48b6072da254352cf00f613c903700c0b93d8dc19d8b9c0da7cc42df16bd413d7f1a665b0d6a31aa739bf0fdedc7cecbc63335c67de240d80efe83a6078ca72359993abb4f1efea921f8fbd201be6b841a8c1140526bdfe10c6abf137a10072af77963e46770ddc989f1a8cf3ea7da276f0e4f38580e534f35d42b4c2095d7226670f9810656217b334fe881965380de60048a31326ff2c6a68a3e6541f7632a6e845966bfc102439500258f81c077782450d6fa2e61ea07e6902b28b6c7f72cc93e21d8eb062a2b927a54c7b418d4c3c01dc5a1512e69a2d295f14dd13ce5829f3a930ab56e61847ec57de39292cf30f3bac10546dc5144a541f8a7face072079c1821a4cbb17b0d52a705ee69b3bfc470f5809f08e40f3184206fabaaef323eb44ff43b8e44ce80ac19c394f59881222785aff8613f7c219dbbc7e67a052ae24078191367a26943a18695881ed4ad146af7d4932df2055e56936c5a017b72a9314ba8c419cee866bd5a30f906ee2926ca8ff99dd061cfd0f0f3c880ce1572fc7cbf08ba657fe4bd1f343dc61d8628d4d3faef573677385c35000fd50b9e4d2cbb79927360d8ed28d152c65361a4df398bca76b37b1ab62b999a8265d37f7216b7ce2869816bcebda26bc59ba85a13e62eba12836244309b5ac9d496ed3672088ee61026095dbce33c1e22423e6417b7f90119cc8fed82f72d21e9ac14da72b50708d7a9925edff23ab509c6448874c2653b2749928aec72f324ff3c37f772c346c21854f87f974ff7624063a3b791ef1e4cf53db1470c6db59ac893f45042338156709de6c09aa4e7a053d36b44341e3a837aadaa91370e5fa6f875aba8373bf3a1de69eff02bd4b519b945b0f2d5f1f58b4cd6a62685efa0c9d52cae8372ca2a147050350b253a3e2b4bc62c7ce0919097b138c563749e046b3fe1c384724ce81ce6c3ba8d40012379e9abef4e1d57afdc62e8a5e44bc229eb21c302f4726ad6b5eeeaadcb6f0d49c2ac31ba3a1e94c5cf7647359ff0dbde5fb766c75c4bb5bd703f9e2b72638e09a4d63c2b163b199b062bc6d17fb3b46d309f089663720ae31cc116d25e3f71fb9bacb41611228e18fcd1d14663ee2a4688453f18e472731e744c2fd7c3dc91665a663260893033f01cff98e11b7cd9385b93d85cad72ee2c36a903b4d93dedec2da60301eaf2ad47236b9dbaee92c3a29d8bef117e6aaf9a7c61b52fb878510c4318c2fcbf4f64c62ea357cd80626fc8ee5fd708f620a5a39e14d7a1e14d1a813d5fceaec1cbd3bc03d7b0254fa53a4b97eba1a87f72450fa90a9e5424c3383f2a2f26ccb3a16b778b4938c9763b58a31fa2e1b0a872daa8d69726941a9d84befc382d413435a8a31918d806d1c5fa32443196fb666a50352ea62dcd166e2240ae53e915af607f646832b8a3ef92f69ad71e59144d72be74adeaff3d8b84e0ca6efd06a01030bb861c4b6c09750f680dd2ef30f59730611dd5864b0fb73a9bb5ec75018c46c82f66d6537c45120e48b2f3f31b50dc726e61ddb773ddeb1c7e119779f11978b0e18d4826437a4cecc1c1afadd3768272ddb70c1b9eebe93a009329c9546b960d01c1cd00397b35431d03675eb2f87c72a99c7e8f4a122d8339001b1b463b11009ab4e60e90fb04c054f0295dfde7cf694aac5402c7ad8df2ac3c4d606c1638f3c6aafdff72ffc27c44f8b56715f961722b96fc7117b63c69a5c4c731fff253845b18ffdfe679a3e679a085056fc6e82bf80b3707bdb992d553dadc844d137584e0a312ea2395e8dbd4b8c778ef05f47296391bec1d89cf28b75c67e1b7dc688cb706d9fd4ae18684c18c0024f56720017a7e87db59d5159e116245114be9a8b8f8d83e9a2f9ea10f6cb3f789eca4137245d06a8b3a6b62df0474de9776b82d7a370a6aa32e410523ed5020646adcfa7230e231afbf44cd9d3d92cbac2ccd15f1eaf12c001ad994edf83d65ca95fde37272cb9d282825fc40ebd714c91710cf37920614897d6c510b8032340709eba649f4c879961133986fca950dbf17cad4a1af6503b4da4d11ab5bd79321c82a3569e279dec28dc3dabad32ce861df2a63f9eba33d0689266a6326a1a8ea8e6db548b618572efc3c425a86aacf1d508f6365330fe27bd09b3c0463afad291dde4d57eb9164d4535b0ad37440ede7e62090ffc3789031065f420f8b3d1698e4dee607f101cc296969b7a7d020ff13340a92b2c27edd5431c95bf01fab3e8fcc009972bf4ce62b5f94e92eca276074886b519f472842e5d42283b4d49de3ab146ccd727fbaf1bab241f745d0aa208513c16b298bb864645c3e242555b4436d58d3ae1604dec64122c09c32edcbfa936ed10da67722404da6f5e9e509fa973b1e6f27722797cb3bb107866596c1678f0824f3be4452e08bdfb83dd288902b99eca0e072241c52d0e3bb1edcc066d6f25cbffb64427a9e37b447b7628cb34fd5476a7106aa5e8142a54235959ec2ec45a704bf37f1facec36ef5d5e1d57b872fb15a1c3f1485277117dd8def0fc2c3d055abf6a0bd3bd9562a17a00381b2a7f176add272fa33d44ad4e763715b05d9d2363dec76020c225eeb98b92ec5234c0e8336197208afd716f96963a9255aa094fc431f5543e98d347446d0ef0e20a1e2db1e4a26114db3e602f89c407462eacc192ea234d82d28b266efbebd225f3e82c0b33b7222d25783dd8a0e7e7fa84a2f17a28ff9746ae72acbcc04395389b5173e3e46724e0497e5de2edf783b30fca3d920101acb9a69118fec8741f12b334cb1794f362c38d17648f9236efcab667712fa2ad0cf477ebafc2d9865ea8c5cd24e08ce4e4143d7d3e2904be2d223cb2ce919a16661926af15753600eb12e4621d4c2ce05e081f3074566b1acb2b6a03316c2e01f117e414e78d60cd654d60a9c3faf6c72a60349dd392c469ae6e4a8f1e04f9329635145fc189785f151447992bef00572f02e638272f87c0cc7a1c8a957d8e29e44ef94180f1b6be28aa1e5af9fdf95722c24c87d3a5b321350cfc380028fc21d78380f19c9d0db2aa41fabd736538d50c2e1e05d7f30bb3dd783c309355c74cb313678d74ca2f3e24afb2269b28f1a01fb816a16a5835f5bfee8c847945cfb25064e756357b2a7866452d9b5b4133e415f71864d3d324e795ba3e48341817e42bad3062f1521bc149fcea88a2203ba72019166f2faf3506f8bdec18991533d4e17e761276fd64f9e0295f3ab7a2957557e7180af573637df95fc5076dccf9a0ec80aec1db94a047ec07b1e26bb627172b4cee80987f391671cf16ed18918537ef3b374eb91f9f98713aa6488659e7a5d19c7c7aee3030c808ce43e6ec2ca750aff44e38d616999eded75c544d0b0ca08ee4a9f45bc75e45c57c2c616f8754958a67e327c99b74a9eb3c3d28dc3297d72162ebca452935928bfd74f4b1188e21d218787885289744ce37441bc4abd271df4d64c9e283e34dad4dfacfd17e1dd5b426e92a62a7331e8ec586488102a1c72232f7775c1c5cb7b2d2fca967942be1d5ec5ecbd80c712ca76b0dd09b798ad7221f100b828ac3352481d7ad2be811018d14f420bc545f1b73b79fd8ada266272131cad58128f167049c0abe303873e425f5979d77a8587573e46cafecc721572a7c0905cfada3f3414e0566549a8d5b21f74fd62480dc96c6a77f8e4161b791d76d33048c089a9c4ed529cfba0b9c14618af3d1196447b780f7b7eb32bcad86bbd2ee29a250e2adbed11763b11f31d12d381779cd70a07febe579a8850e5fd5dc6a2f6e97cdb447a50fbefe3c489472bd62fdea6eb7ff29eb3f4bba12e1145721f6fa756606c1506de53c262cd9c4c9be7c5497b30092c98bc07a96fee285c724a6d47dadd01e8618e22b430dbe1b612c63b10ec3dbd2d38a24618f6a2813f72ed07ea55c6d7b637bd3efa25084d52a7d6edaa3bf54c74d9c2f6318e7f6fb149d0d809edc36d747f87e37b8a4409c785ebd98f83a3fe5c33de752fcb65cf386dfbb72f1a4094f1dad48d6bd7b570c20654af1bd87e1ca958055ee816967fa90e8d4c54b03cfef90d12780d6c4a97ae13fb7c0f25bbc25cb281f8365ce00dd0010be08e5bcf67575e71007f646af17c41121eb9a2f4c3ac60a68af044f563215acb58cf87b4ce8c34b5a1f9d5622e996d12f2fc9c544d8c91083838a7f367eb72bafb08ded13f4f3460f1300257f8fd5916ff2cca272c12fab1116614fa631172b0a95913db2e38d717ae962903d371aac4cb3e2e1c6dfdd4b0e7596c9908920266576d8e5d115541d8c555e5cfa46200200638cc316e48a1b559ef00cc605e72370e77c1de54bb31d24b84f3319a5cbf1aa42b36190c4da55ce704145c6566723647fced31124a7972763a4ebad987d5962698b88ab612f02967f5651526f57268e4f7851fa291ed29a3b7a8cac3e1d188587fb90c29b5814a3f378a171a2172b76cc3cbdb35e7ae4058f1bc272edd021cc0463ee768a9f667dea766a59a057217d65e86333360acbfe4eb2ddd67e112492c7eb8cd1d20013fdbc80875d8a71354a2d2e40fed4de947c6e1bf4db2ca47009f54c669faf588a41a54d3ac643c72f3eb7277f23a48cc809f1430f32f22dccdd330e9a07acac75cb3672480012e72543d70a4790f52dbd16d0ef253a436f3b68dd5f5c7f32271340d9a10b6ac3d72423644e5182e4a7e967519ad9a156f80a2ac713fb82346a218c5736a0474a5726394a8eee2a6922d98021d647f230403976c0edb839f52a4a5b204e8e6f7f2725a9e102d20bfd441807cfc6c7e15140c23ec1d9dd957450345eaf4796a663e0c36f2a7efdf15b7bc3efedbf049cd381a9a72425d565fd0b23c3f92d96f515f72254a0fae22d05405965c26ddcf7f4342e4a68e129ceafa2c094ef78f38c3af72d96050a1fe499c592d89c1c875bac5fa4dba6951bcb3ea321ab81fa7b70c966088320f9df558be2261ecc93e126b48028a5502ad0030c2319bff4f02de20bc72d616cb66d954bf5827c5ae8377647593d7b1456627731b28f1ac9203e2489c325a42bc422901385bc61628e33d6b1772f1ae65cb31238120d74dd9d4da0941729abe50d18632cdeb44784f5306c9e350839a7f1a7498c8b6226becd839c00b7246d20c82be7a7f61e8fca6e8948f7380288eee81ae0d10fe5530dc9d31efab5f1e9f9d73936da67def7969861e83c31145e5265f70afa891b69f240c6e2ef072d6bf61fc1c595b11452ed869eabdbb1235f9d0a41598d8fb0e400f7432ba261ddb3e0e26b998d82a2465d8e63dad6fc1f9906e1f69e69d733344f79a751f7872c4ceeb77e63a77f20036352cfe10a21595d98d0958410af8323f7ad4a314f70d9bc1965f5f11be3f6445ab54d5467f0d079ec9d454a1e2a11b5df304af9fb172e51efb84277d42e9634c0c003edb46f795b2419d7a223fd7d9cbeeec9ac9ae72d0060f9307551d7fac5ca14c7904cd7c698c6348bf9eed585aeeb5be8be80e7284692e25b340c2ec7bf8b88bd312a2335ef9fe54f7bab4e00d6e740483cf6f2d4b93f8c5185a98dd420a6aee9324c1c9330de257818c5cbe6e274fd3f0cebd684867bf7eec9428d439d2d9e6c35d71fc20f099cbc20568e4db04479b5e58e05c7b755db60578b42590cd998d1ecd4123fe596dbaf04f5799687b7256314df739c0b5ebb5a3a3006b0da4df9195f170dd5a7440332c42fbcd1efaa626e37c6771e1f6471d6055aa2acb1586a84690d40054467ab0d416833ac4e3028d52ec2a7252d6815d419755f9f289a65dc04c2c6e895979bee2ff2f21d5cc1f6225668572fa8a57e4494a74a8c79de89430314499103526d51a2c4c173f0bc70ee9912c72169db1f4359da87c2bb26550511a12cbd54ee68aecb10a2a18604f6855ada6122e37a34d891d5d5a75ec8877fc1ef1085d8869b99ad1dd939e55fdd8f18e0f7281e46ecc42d90d01a5fd832dcb9e849e39cb3c0db1da05d380ce118d7c52172ad3c8f7ab9a44ddcb1fcb51d78650aff487a734fdcc58c18ef1e9880b6127d1181ce82d1d043233ec0935cad1bdbba6203690edb83257b161885ec283e62c003dd94a99c50a62863bece16b4f6619228b7d3d28729a95e604844e04604023855c31f98ec2154e610a57a51637da8e1f2fc485c4d6e2d6740ae63e624a4eec6058cf93e67094d34835a1cd465f8c8b5c394846db6106a85c48e41cdf9262434172e1f4531cab2b54f319aa7091ed91071bb0c5e20692e5f6ce9f54036aaee0ef16c42cfe2aed252938340cc40876cc5b9bdc1d82ca9db62251c2e8fbee73d2f472ffd9994ffdb6a23fe0b8fceb9f5de962c367af820f000bed9a4f90bc1e83d37207b35dda4d0f4db5314fe6d57152addba66770fa69706514bc47e33c933992724911ca4ab075968bc5765508fd3ae926ef06e480e05133dca5d81a4058e7267230ea3f1ab472d339980b7fa6a748c0f6b2b9f669dc6f1a0540a1834b9dd6f9720931b7f074608f5895ee74c70fbf3d8a5d204cdae9a5856b8a25fef3d6d8490e34dc9ab66d65a67a679cd7941581e14d597f1cdb70b637a576b6e749c9944b723651c72480ef8317ea0eec5d8b665a2a03d1075a31b753a35833bbda795cee7201683bc0a5661c55e3927712b6b8d2692a6f64ca3cbc3a316c108f28d4640b728b9e6add6de12fb534eaf51329d2523b891349400f2bc4b30713697047da7e404b709f5d4fe1ca22cd2e13259dc368d2bbfd3d1b060683f1cffb491cf5b0680b92b7adc82bcd9b38f801a592857cf91b66ab5f9a80d170f569f7f22c94af4372eb086e9cacc188cad4caac190536e2da08142333e6ac20b5e5f47afd266eab4c8589d0607acf5fe790d23e80f0d10580816d42e6fd55ae4bcc1b58d0ab44b072929a8a44a945a4c2b2f096ba4de07f2fa18780fa416503d41048d1adeeab3472d038dcfb6177bf7875b166c96876a005abb3433e58d2e30a47bc59bccc30d272ac6572ce2654f728dd817397f77abbaaf58dd69f25aeecec0a54ab9262a63d631583131539fb8e488b9ba52ec56890312cc49899b6228c442c9d375b44049e7224c3330de22be7349d2aab4f5d36cfc84e708ebad1a5516cb9950eb410d4927248c3a8edd28b2f6e71ce5a316f7ed8abbbc182713cd7cfbe370b2a5d47dbaf720a79c1d4e3629abc981b32898719818206e0bb1d60a42f23204368c0a8fb4c720b58f8dcd3f1094f24930c664ae36a6cb8f7a25deae1153dbfe96349cd85a90b9159a555dc1fc4d6f259b8697a1c03fc810226bb1b7fcbe7596901cd9c11586b780543c7bf016357cb0992eb0efe50a4f285247c095f78a1e933dcef1f2d793799489ca50773b2c89ee3928e356ea3429df5b5ab840ca462ac59d53155868472ff37584ff2318d0e3a671af26568e8c0ad468d8f90f69c8173c4395cad74a243dd8b84034108593b8d84dde6fc9b4e6a32f05b3039b6508e9d562de5678ac4294a7f6d6afc203f35198f8ceb1935ef3e8429cfc14505393bc2868fa7d2bb747214a46bd684fbf5259cf43e579679e6ceda7235f0b60ed324770b5b3ac6692b4e3b1c6257e438eeabded7fbe53e10208116fd66aa5dd30a5199e036f2ffe3b964cf6475c6c7c53a710d45da31348c52f78f94bdc8e0c718bcb20d92e06126285c75a7971b602925c33646909304a4a5830dcc9d94eb52d780c5382cdb578ac772201837063a0088bae4183430c701909afb76bcf28cb352f2f87f2eb26f92687201ffc46ffa8c5895bad195c0d30e337fb98a133b0919d944a52f04478d2a33722716c2e1bba1d0e0a1423b35b586bc182410fc8695f57dde6a3653d345f12e727e290cd69c00ab0d8f34321119d00b9eebe7cb43f77383c88c46431fe17c7872a2cae986e0879c92b04e2b7f95a052c466d6d04aa7e0c489c6ca4730ebebd872c3257fe8241ed84cefca1c5ee1f66bb8464b4286c561e4baa5a4ff182a8fb418dc6cdaf8ea5ee0c5ebc13521b7e7eebc148036d321828af38fd8aae19ea0795e1e24ccd8aff6ff13cc559fb0006310117d7ea3761c92a560ba0f92f1cbb8a653a36b7685c9d556e21c0e36e6db896582c374847ba6dfe92136aa9d9388a43b72272950ee1863a505b1a81a3756956b2c365e55454bde5babcaafebeda3b4d472166767ad6f0cf84b7490a05aa29195761e32fea41ca783a2819d57430c1e6d4628416e56d28b5db1eae850762074f5108f7b5936b47f1c48adc62f44c9bc1f5728e6fd9a6249378b77cd24dc4dd1e3692668e162eaca63fc9821d251d416db52dc7413edadad3bc143f8a7ee8e8f637416c29bdbacd102d4c1268563b5dcf65cda379cb04cb042ee1b13e9475a455520cb35a03291e53180f3f81aa1686fb94431008a4c8bbd33241908a847fa9d1b33a8c2d78f6b6811bff1e28f7b9f852f72977db6f5405fd9296d0e23a0d99011fd8a67f7755a485cc64bfc3436e9701c0d689c2420b3f9edb5173075f9f40ff8ef6123f3b1ead9d5af45e49c832a98c77294e874f3c91a9e1d0d2b55894f861eb1ededf32ae7fea02bf32ba7ff490e1b724ecda83b92a115d9407a813d258e5a463b0f0427e70f8e43d2afbad0bb57f772803b0556f92306a0e82894580459acbcf3cf7cdd418b4fae01702756623ff32b6ca1f8ab6b799280635ffd1653afaff51b77b7ff18afc0cd173fced9794cd85df197107154245eca72d3200741c17d7dac0d1eb2411aac066704c35a9a3bbf72e524790d813abf860c103e4c954102086e104c27d8835354ee4f6d4a1b4b5d72a2ee5b3ffeb39aadd678457e7472f0e709e27c4eee3c8863ccda786be970247287a399751fc766203ae2e685e2c25e5dbee8f24f511e3ec9117934a110b17c0f2f105d979a81f65f278fd77412a177df1edbd37e146c5231df54d4e6ccd4bb72db5b65f5b1d10a18caaee4818b718f6cc1ce7ce9965ee73701c65e6ea5f3b372f96d750d371b7c22a821d96b2b82f47d3ff3cb544616c4cbc890135e000e8c15a748ce8fe73c757e4e2ac6961ea369ad5db83c3249f07141d5bc411df1f47364368d3cb4935f7bb114b8cff987ee88a72db278a59da752333dc65474f2781a626cc6b35d5aa9ab00de7d549174fce1928f385fd30587ecd88c400f5bea275272a1b5387d858bab9c9c14002abb87af16837634668078ac30004a7da7c7ca26000be9a2ab954fde6e73353837942d2b1040ba532d379881b639dab6c15aea2b721b6072eb0d7337505b7420d1e7f7eb207d621145731273af62c7001f38198772900535018a6ea2ca030f9f7978dbb4973f551a0ebd18cf070a85fb703577361b1acd7a96e5ab6025b66f0f7211b51e7fb545bad076aaf3d0271414ac1184767210270c0fa7523bc91bfde740c61699e0f91375d5d4f1af970b709442cd0c257253ee1b3d9bac58bb4ac7accb115cee775726ae719b3b92c887aed8071871677253300c956bdc5c99997ab660941307a3a3e3c41acf720fa670565a5b1c7dbb72d36da6f754215c458a63b2b27c07b4ca17384207f751d991d1a37e05c86d0d72a6e90cdb7dea4acbd3f9082bd8b2a1372bfd424ec2f7748bb105586373d52072ec11f25806a93a050791d8ab220df05b5e65ae32841575cdc88bb068b408607233ec8341b088ac2fcd30d49ef6e9f1784913ade552aebe8d2bb47a1dc5e74e3bf7170ee61f15cd599161058ebb9e548492abea899f2c86067b70a0dc27631648dbef2850e9b1450a38f88da37fc60a0ff9c71e91c477ad3702515cdee96dc719cfb73dc8d9830e7f1f39ffeada0bd40bc98faea6d1440f79cdae8839eeeb795e3826f1f900054c7a3860b91f63ce2eaef1ea1e8980e432b2f9bbc4dd2cdee943726b18500a87cceb87d9b06a2f5ae1ad32f1522f46b75c903d6979396feb35729070046109d59cbee3e6edcdf8613556a16ce97e6680c34e7bf4ae6f6fe096726722137bd91d6a27efed4117a1b419c076386b358b510f280f0f342281703a7296777b67182f0ce66f7671ccc862376e23ffde3a80b6190d1753dda2c051364f3411ce80e7ffabaaf9885e0dcbf07654a7d24fe281b8908b57277b03a3bcfb5ac1ccc0522fee36a5602c5259c3d2596351b3cad399d3df4a36355aaee55d7272159c015b807b015fef70114dae2d5e754145ba64cf5cff8d34512da86318077233e14969e6ffb0616ff7578e359043da95b3d26f2df77d58d3c50d3f39730657580abab8bfa4527b705a5841a7eab2e5229125abc5afce1b584d2fec87d69572752911413b33e5169cbf07a331a6d2a8f539dc5210a5d5f347f0df9897a7947253f93959bb8a7b154d7454a6b9a60732f672abf3c895767d450e48a19719501af8238540779fafc4327986d740f6b8c9fc007ae0142b12670a8a1dbf5e846b720f2926154db9917b44687b2f74361ed3006eae99e86897899f1d9d5676d9192cb94513448e66b72e35453c63a1cd7f257d1f9c4c22d4327a3a5f518a34d5a624846b12e82f9ad547fdf57a9b56b77f4f1a2832936e368614096b3894af36be729656bb602860714f424f891c1e68da7cfbcf01f2f8d4536c77053241ca7725723e1052dfe85604a518668ea53c78dd00cdc3ead33096073a77362449fa60bf2c00dd7c11660e2219ad9a9c1e9ee3158f2bc15990a2fcbd0538bc5f7d80d96c729a2ddaaae905a02b602362f08bebabc8ef51baae4808e4321a13394dbb73a1728155fe3f1d424c7cba88f6b57cd1c9494a50a64fb879c0cb4cf37d4f71e298723ef1e777f5503585c12d2780ad91815102676938c42b6949f3eb89feb4f20a72bd202b300c6bbb86391108990fd7e96cdcec66bf7413c808c8d3c6e7edee3272e3ee3b17992ff6e300e9c41955bc1934df2f3036d6c0feece237afe7067ef865ae4fea09e004832e79c97ae9a55909c9cf13719aee210be151b840b721a9df725341cb4189386cc8509897765e7979f650fbfdc6f26aa08bea4ca667039fd11bf96e7fad1b30bb728ad35d081350bbdb2a24c56439eff1be298ec64de3d8071b9d36643a877a094b3030d6a7e09d95d83d662dbad38391a29a35e56c25434f726219fdf385ab5bdaed5ee3cab46aeacaa0223a0077b5bd94a7c4520bca8603721a0db6b38ccb1debe52eb3dfc72ead181cfef310508608b319120a9e0c3d85720aabe34a01bb28b2e70de35d5e76ec3c6902b6fa8531c729f5441dc67f23a64c1eb865c1e64cbdba2784f556543652267e7b9e3601dd0f2ccc98e9266dd16b724b426e3452cd145d2ee9e936ead64bba4f0b74513e9b846caf6a10aa098310726dc8f4949dd778fc4e1c4d18e596d1043b2f56b201e97a69298a3ef304519572b073fd111014aa3c210b8ee65d5e0cb099463edc9a82dc37cd04376d1b14394f68ca7145ba687900e383b8bd8d2959a173613f5d2ecdc7ddc324613cf265e95d1be5f1262a7c3d33fbd526fbcf2d05c08edb05abc05585314655a77fe6ce6e57db6c2a7efc9e7e15aebe4ec196d6bba0fcf1299f5a005b1c10ba4d7d813e047289f67045db3fd30676c5f10c86051abc7f1819997f2cb9fd8853d94f8830bf07b9f7aad5f568ea2674fa8c5654a747a6012d36036a8eeace44133ca74fe74f7238fcedc9ae26ffe3d72493414f003164c33641e80c6c822da2dac018c40b4657f91fcc5a6b8520e6a982b1dd7aab49201c16aae7781672e797615b1bf68d717261053a69fe96c29d570dca4241ca63b1320ec042e06289ae53a87c67431810136fc18772148f6110e1088a84e8a76c6b4a5080129798b0cce2b9d38fa5e4aa1bc9305e797e4816b4770f09a6baf68a915236a01c80672382b7eddc87f4b7b156810ba00ab274d7bbfaaf10bf3985ecc2f89e674f877e253b1bea280c7660f8524f23c04fd1ea401e35f7bb37c93fa18209fd47711b49fc7a103daf5629960c72960fed5fd251449ceb95b868f55ec5d47a212ffce8c4d311509acd9b57799a0a44cc0f9d11d4877332b4233b419d9f32242df39f104ec67d3df717f25e62350c24450810f2d71954b8cf5ed53f90c183348326a76a010966233244a590425b72b1ffb507116abb5eedf5ec8515e56189fd596a3b68560b3a33293d9445f733725e37eb2e22fdc235852e4088fe5c36a83c5b8a75238e4787cf63376baaa75d7239f79e60184addb6936b94b1b53200541ee245555732f950fc59a698c63f6b723a733a94668e5fe58eac7469efa9a69d97dbaeefb781a2fe4ddfc4ba4a5ff57233836e0d1896c767a14eaa320bd6b6b7349bba8584e570e034c3611ef9fe6272bc409c485edf1434e66c7758023413d19918eaa9035751a73fcc7ba3e46ed955c605dc9a35f87424c62a0a53af0fc599a7e76350b305f54ddb055c52b70a29722cae21125869a488cc22a22863f80046a91fd9f8efda46990e443b6b51d3486656e5adc64fae42527c17c426c1a8367eab1e7b20f30d409d0e54ff0956318b72cf2bb572748d037b588025dfc7d8972d28a97616662ca6381804a07489770d0f9342e55ebb51cc7d9392ca4ec58272f240d441275d38d52fa2eeb3e5601d9772605afd129627f9824b1ea22c293883cba7b467d264fed159ea96dfc86ffe036224019f630214ca2c6a805998666484081b894e9f7a3dc5d2abefafe4b5ec615423c16f2966b9766a73d40018537c9ca3f334b80143ad2e0ba7d918ef43429d092c21fda4bee3785d4e993ffddae6f19a12c6925e3a04a3e0710f9049dec55155f40e316b298cc1499d9ece26068f1d2d14305427bdcb380a926e0c5bc6432872862ac3efa8e5915dbd15de67cc3a97f7b8cc1f4d70159cf67892a576a5c5207253efc44a24e13ee0da5927c5df611f031c108cd305119c2a2ca5dbb937a4ca72c9cdec4b157b87761c398200c5c8917498bee62dead7cf55a91788c1c80de85c6cba880c9817b1471f13b07f8251cecbc5e7c856a3e95e8e5eac35a343a86072f41e99415df6cb2117cb84a96ccb1f8f36b7f52a889d234f7c4f7ee786747272e0dafe927a242f696c44a91ee276ba8096cb87a83735c7be45649790fa466548382c88f00439153ecca1f0a3e894ed7d11f46af8b8c187222321aa5c10bf7172933f8c56e23e651d28bc0203e7ced493a85637026793b04a224ec85abc2f9672f14d0aa51a6332119c58163861e7f48d650b6b7e489660b9f0a89070aa352772a029cc97eabf5a3f5056ca7673d3b71979cc16403c932617ece8839ad228c12a7fbf48de355f4709f31508e7b15d5e2746fba350dd9e4d3b3be8ac8aa5a80372dc1c12e13b5b636feb4413e4b8872ce057fa4e819f24adc9a014ff5f4d955915a41c4aad971dde9fe89b8c72cc1efb6541facf867be7ce9217f6864d633a763c1a786b478f9c6b47d578180c8b60c4c145449977105a2757643f21b072a04c20f7787d5a14005b621335f5853181e85171cc3e4b8c74883e101aa7824c15d72309b5015a0ead3506ff06d30f741b36a2ca98ae34b8a19b3345bd91e2826dfa660ee9738c7d8e0c3efed7d115f1fe0602d4fcdecbf1225a1fcad7d801592c3e72563199cff9284531f8f47ea212b5375446f3ddafe8de43c844e082477bf7c72bd2f85d36d3466174342186516fee04c72ed453e74b6b5c4255bd2db899bdb472b488c3fea012a5493ae64bdb9a5fd51af5aab3ed08cb1222220850a2c7a9e507e860364246ddc530efd162cfebaa62a44fb999f6c99f6ea58d12b6b6d80dab72e62df22d16881ef133d5a4d46e18c63ecebd238c8756f5e62fabaca376d28b3d7f49a43487ff1a8d424bbb0354803652928f1c6c10b0e967c8794bb6677fa17219586127147df5f60baf11299f44cb77d9817d2a8ea7ab5bb334796376cced7240daf0032fd74be4afd953c49cb37e5af50716521ede29c618db4910f2509372e8411ac31ae4b77f0aad51c82d362be4761a853c9f4766d3e9a1c777a6a03b523c9a16bdb52db91cd4d85178c08f3bb5bb7b496fd72a4de2681894685f4341312e81f9867a233e57e5b0e9855b0dbe36f888a19af23ef240a3753cdad2da91727975789d3e2ad8330576b952da4b42f9d06b6949b13f54c26ee981809e24c33f1e27fe2b1e308aa4acbb9eab73d1c0104f7d71e1ff6dbd30f3f514e187a50c45970c48c8fd445e692664c643d77d4025def9ce359c4a12f091eb199be00227728ddd7c29e5538e2fd12b4a359b8a231dd7db62840cece1acd30629c9c0f5162ad543ba155928526bbbdc4287c80636c25d5320b3a97b250dabe52b6cb7bd81727617d8c68a90881e43c9f8cebd8f1a61e68830870687b4c805d4386ac2c6c872da9cc46409ce13ccc07be32b03e893de9b07db58b809d3d9cbecc1822791a413f9b892f15aeedf8622a8673668ae88aee32a60c4f060805001ecdc5a08fb257283d85e91f24c310f105661858b577cf4cdc58b9d3dc229b94c7e64e29c714d614c3ce9b0f334b5f8a9fe7e79e6eebe1c26bbb747786ee932112c60519cdd07158a332d426b4bda29b57230747359280f448d27ed287b0824caf91fe9a492e8723934cc18bd3559b2acf59b823a5b9b129c150145ce14bf6e86dd924a6becf572c56b7c539ecc47a5df9e5b53189164bd0224c7f92ac3fc8bf934177b168d6c54ee82b73a66d46c32448c434f82e286a6a1da4cecd3e67f74e1f1761cfdf93972b203d8280817ce857cdb915b2e4c23b7e306e450e6b2aa311e96c91b0dddc27228034a111d1d2557ad4bc41ca4534b05d9a9f859c8a9209ccebf13c5c5e71872b7d5c745acac8698419417a92ff7253c607d82d2c4e7cb93caeeb4adad770772e9950dae577a824eeafc54e561284716b72d51ff79525e90d1d989803fdae87275e8152735a493d53ac00e89e6436f27f341178e864f71db6274b9fb67880671a88cdaddff2da7c0bf7f8645ef5b3318b6f7f2f304c6fa69abf05ae5896010724708caa9d5a143001b477184659ba4454a6d84958ffdadd2320568defa3d93189aa7ed4eadc1b91ea5126a4ce6588943016aaff43cf608aa9814168619b19772ac7685cd7f3a6c9d4acff6edf2e9e224f2d12402876165c94f69eb141dc49e728eaa99b59b2c3a156f90e489fdfc2e48c806904f6bfff79aacde592534e8d15c96a4ab187e95bbfa484f55c9a67336623194761bd9c661162f6cf166b57f4872350ea4ba2647a8751fbeec7f81b87c3af5c4fd499ccc8ae7aa4afd9c3acf55695aeb7cbd9977edc5a5a112b13c498c714bb9f4828fe8b0d9da571f864b6a1f72d57d54680849d40e88995df4c4faf15b42eb44778f8b063d441e18e63ac77d525ca5c2f18b19a6954298b208fcdd007d05aaa055f7f899b5f1ac08a4dc24fe2a3a76aa4bd3dde7d65117b84c35269f0b11ab51f716c0e2f41891610f14ecbf72e48570a5acc88528e80715747d8ae9a4b11e52b82580e904ee5150ba7362c972dcfcc415bce13102b2a1ece77edd67615e89ca09738d0200153e09ae2c60d27218ce2cdaf7f410c76d4011563e3a82b9fa32747a89eded628ec99af42ed6c951346001ebf007cfa66a6c74e078570b446c31c2d59227a99fb7ae9080758e6c12b660e5eadc8f3d17ce37e8503457a9d066e09fc8d6f85289a190a607e2aeca41fa617c3287ed239696e324d152e5c136e59e82eb1b7228b98b20601e34929955e49146a6fdcd73af66de5773a91ef8214da02d686f451cc889c438bdef791f72cca29dcd76c2a069e1fb6d7d3b7428c87a2836d8a3048d28a469ea85593d6072826141b85efe7cc80e3fa9f5b6c971d9ecfacae00b17a90c4cf652f7f8cf39724236cbf48994e3d74c9093a41fd6566afbfd15730baa64ad60d3fc591687d4465486173dc76ce65d4273da5848ce66365141df1be338ef5eef40aee38afd1e727c9a7c6fc5eb97fd2841a589c4e9065bafc47e14f19263c8e4ec740d84fcdb6a119bf2bccba47f9cf2ba7ae16368aba9a54b5dc0a17cfa371ae3a2f888f6d81e41ad620b4f546426e6e27e5a8629721908348f10c5e99d18dd8be59b4ecfa820a21b6cc0915c4b1afb560c5d71a5f180b6cd889b0ef8f891887389c3eadd9c729997bf556d547e0f12e7a335f91fc9a27e0a6ae8e21fca0fa07611df37f7fb722c4c342ccc9cf170e410eed64f0d09bf896dd8fccf3eb48abd57a54270e60d4dc42adc351ca9d47e79bffb1e903bdadca54df885658b8b8bb0fbae66a3eb717240b001ecb70089ec98787287d6d964b90bafabee7cf85776b0a9354fc8a92c7227ca185a390c89753e411b313dbb9608e0fb3a61eebac73d8ead4ab696c37e7239a429a26f091441d6981af2da7942d586c7e12eb88309d5718aa87d5e65d905dba6cfc4503864805899796afe20cfeed99aa385faf159618d1e06bed9c51d6a47821b0f7ddc022008d45218c2e05259c4475bf34813cbfac11e582d36525751ae9e6af683563597e39cf1ff933b9eb228fb7355ea50c6a4c304892bfb663072586e057a1c16821660336944eaaa805a8e99a2da37bdc13c756f80c36167a37259d55ec898d3cf63ff637812881ae6c6b1009fcb1e30ce9fb51242f24bdb8b72136b4e08f9684bad591cc3ae6cc5ae78a393db38ba58db10bed1e9f05818cf3bd866da57344d097b90c12abed700ec5c0c19e06e313319af4801d38bd91ef22cbba1728507357f9b4f046048d12eb914a78c98d0086071f02722210905963672e0f67b731824e82c7ca4f257ed7ee731a0743e07dc83a05696d90d2e0a19ee5fad601a2a1796f0289f113913bb3db2e10884d0d791a809e28cdd20b0dfda5c7246e3ae830080ede6cb1b980bc7b9bcefa28693d0f83078959b8dbf0cb5b7992384225c2f9de9b616ad843014aab3029334e4d279aa7512a89ed55a3504f83f723b6b89b6bece7a2032b98393711bade055ad9cee5d393a3bfcb4e535b071a672071fb839e4c2e40f2c9a79be84595f6f8b3d66819d415ebaa994c0d00fa213405011b2d69ff8afd5995a0057ec051f38cab3c3977c17909aeebb9e1839dd036d7798afd3ca286dafd78d60f02170ec33c46591184310a4ef39ce5c12e290763e7120a2eb13b835cdadb001301a72249fd273a70bb10a516e2f2932a7bdc3115d7bab0b82b0cf619f64b44ad102bfe9547c8f6876ecbe5037e92e441441bbcd7241e1b7dcfe4d79f39a4622403f9991b7a5b6d73a0358e1a4481f1ff3cdb9ab6c851f92f0428aa0d8f680b303fe6707b120ff592fb292dab7c06b7bfd0fba30649b1450991714a3dd61d74e43fee1ed3e18d97ba838c3ac44a20fca055bbe08724369948be0c3cf190e7f756171f1ad8a08ca03ff352e18911be468e4a2d158321b5c77040abbcc69f6acef6137e7798156bab49e467203ddff18043d6afd4a72c0dcd90580c71d1bdc25573bf35c7b33d92babc93bdffaf5628e308c60aa047266d18d662beb242afdd8c600fe4c23b2e213e7bc176645dda7914cb07ded567242b708a14a9d340345f7c661c620ec87311806d71e0cfe8c0ddad2f2e9f2920cd86a56735ad2e16e9d136e1a1ac702bb5e25cc29723055ffa8f0a594ebfd7626e52427356f271a2f4f0ed151b8dafd81542a0d87ea8916421ff266c157696d7242571f518cb176d554505d635196f0c7089ef14b9ab503169999658bd92b923379bae0f73d801ce0fd4158b40bb2c3c9f4bd672b964b07c04e0ff2aaee9d214a3b4f601406aa610caa205b45b0e100eb869b50ed03bd1a2bc1192497fa473d61b5ea7764b2e382344a5abc786494922175765110d63278c79e2897a9d826e5721da291b47d1599cafe8b9322b9841ab51c676dd058f03e62dcfc1a8986aa84724bb44ec5d5d804b2654752d46d671f3fbbed8edff17a040800919ff0f57a4672eb656d28d6ae3386b4f1c3a71bd5f0f2c419e7e0c239ba00d2bf32a52bda6c72e8fdddb3308d364edb92302fa6981bffcc7b81ac497e64be421ad9d91328e97299d75cd1f8bf333cd2743ca4b1f8e191823278c6cabfe050657e330863132c72369887220a51fe0184166ff9981d5c7595ac57c00d33c9f05ebfbc1d6acda772ed9a78c53927313ca491603c0661316bab10dd551068b9af80996ee155860a3e210481cd913bc30aeb67ab4ea2e4ac161341d1bfdf4d54e02a745cef8cebd047f405cd3422812b129fce4a91de0725055ab224716400c362e42ceb52912c9172dc68b8bd5824133c06a81dca99b60d48e31381da56f3019b452f272d6fc817729eef8cf071b1746ba62f2d909f2c0b18128ee9184724ce2b32fb395eff4bc47270107ae2e4471ef842ff4bd9d0939256e59bc7d73f1e56d1f991f4423e21f2384aa481f5725c4ebc6bb0b96da0c5db8e9582e52108f2d1f69a9d4ec11e7ad71ccb2722d37a9159ee6d094c1b649474bc8dbbeabd35a6cdf307221e97d3e4f572d16606d51f7fa9a21ecab6c898c53ea44a05d0378707cf1683ddf54916c0f9729887fa5d2f49bc1230da3518a22c5f20b96c7d2b725816a3c032758c1d418a72ee759626d39f57033ba9b56e951d2923ca875bf42495a1baca68d2d80c92a7722150cafc752f7e72dea61babe7e6e65fc70b4587fec0448111968d59b2b86704509d2a9824895c5faf930c2905400d44d407bef4e0bcd1b2d491dfceeb74792356b0305b38d13a2770ce172fb4acb85a3e65698df57645c7ae73f28d8522bd2d94c770fc605819ba440dbe43acfdada555a5998ceaf1a216f61d2e0f44baa55dede3e39ad8431fb290224c1953058209fb14c7f565c86b977833a930a402041220afba88fdc95e866d62b32139531370ca4da07ae4fca1d4afb6afa6c06790721386a51a78e6f2524444871592fd35ff5bf78bebebd8d6cfdef1b1de0a682672a608faabf6de4bbd9e8eafe6463d38fad65d6830279c9a191e1c2c769b89051de97b3329d34ff4fb7e1f463f70b60abf7dfd98a7c2b1196f26484af5538171722091d81b8b2f0687cf79e16687633b46ac3010631c139a33279f5f023924b130a4c1b513361fcfc2a094f04622e45e02c3fae707874b1716016175c653530b72346e76d45bd6a3409742eb22bc9db8a116cf70260447a4471520afd811089249981f294d427a0861983b36cc89eb17a943f6d7b7f4efe960e5e0e5b1536190723c9c544d92ae05440001c1ff3a150a12d702dc809e0f444342d41075a5a7dd3583be1400577e3671a22bd74729bf8dafd6ffe6214df9d8cf356e2cb57568f7725241a5a5a7f30f4f6d2f61e93fb10798fba326ee6d1037632f64862f6b187172d65b5af2f7b9973e8ea38eb180b8031c57ef6e278cf00d1d4b456a491b90f70d5e03c4f3403c0cd3d1b0901bb032f900f8b5d458f5d13237d1fbee99f54be4721e94853a3152ce7dd709764faa80f63f2d6ddb316f50b5e0176bf107facd1e72fee54356e96ea5220a3c85efc571a5cb5277ded066a861762b382a207763fe729ede3a9d84b0080d392cd1da2a33a2150c433aefbce24ba7c4ca7c1dfc500f72af44a19595f3b7c0cddae54fa75322d54f72702ef47e288a5dbaf54a56d4b5728834cadb3a2bee31c0f582fc6bb526f5c9ae91874ddf06be9d4464d2704bd67282d36e21bec46c9f1784af44ad1257fc2b4df7bab933521e9783de1ebf14b165c80da60f2962e146788a24ecd43d7312f7104052b9e58221f7fdf6de8324f7722d55f1a53a4d93f10882580761659fcb3229098f757bf1443401160d5128a5725d20f86e970e487f7d571a5989aaf3cb26d08db4153d4f5f35b72094ddba33724848b0eaf5d846b0b8b4e69028a7a45ce66fa0f2176d79c0d5da65ec1f7ca020154131d77cfd830c83d7427b1048e229e3b594d78b6d38488a40db2964104c72a6f09594530a9b17d825a7b65f5585d3d14684a68f71516e61c8d33c2f72f2723a93304b558461daf2230867cfbee409f932cc37e6a1d3575021cfcb1adeb82544276ead9bf7f902c4964f26cb83c5ab7a197b5eabace9285e531e7c824742002e7ac0990a7a9acfc61352013a7d9ec40ce30b01a84d1d570554298a1b6ccf34df0a390a919668e628fdc0a5a5536033597d34f70467cf4eb97ceac8d764be72a5d69052eadd31899bba52771b4592b5754375151f7185bb487ed7894e6a2e34610b7e6bf35f716f8c94cda83c36181d241f83a1b4f9d78a1100f5b698801372c3ff3e0058aa5bad6674a1a03e9197aaf8bc89311258b0997c4972be20903e7242008836b9ecca5fcf9764d440aa9e6255c6968cb2441f6b69e49d587dc90f37e38368361aaf8d06587a256e9cb1918f62165fda5508dfff048f4d01aa51ee67b91fd99e05520fcecde34e376ff77f5e74c40a74f80bf41dc0da318c93233172151f0f1d8d7a6350b40f83c1a26cefabac73016fb6711d830c6e49927ca418422f3ed56235656c0385181d01a36bc92b4a60a53ea3530299966ddaa750ce737212410f6dee828ea583f3b02ee25a2ccc317c8b2be9c260885b301b5be365231690adb6452d4017081894bd481adbfad75065ca5452a5d7f2fb2ab93fc110fb6c236bd2d16575b8f831fd25db4e856d20a8b416bcdab7da1beda4e23f3281a672ebe09503387801ba08068b64c0af4498e6b5e8390abbbd1558082dade5584c04cb1de3ae917590c42800e72bf8f46e9c181ce1093af11b63382562c0203f1f3ed58431a81945bdc8620e117b2965f3611361e1d8d9b5ad54e0e38ac9af51e47231afc5ed2c4ce8c877b08eac8940b8c391ee3d43457d1144b111e4e19833d372805a2d97c1629bbd0965642d20949df606b7463825cedba76eca056147c71b04ae4f9890feef854566f7ab8df46f502e3e9776f0b4ae7032c088c39c7296597268c5afae911359277d89ff987700732f38908fbde6dad7b4a3a392ce6a389e72144d0cda733d721fa0ab9fce76ce876bae26576f81397514b04b6a9b8abd0272b45b3bf27ee9d7bdb47cbb63c495d12b5c9191f88f15666ffecea252195162464d1dd28c779008c03fbe6570531df1a71e2f80a616ec0b5a856415d5ef6e0e4b49fe24fa2fe3c4e03a292dbb1212528e5ee9a8706cd19747b0f2cc8e9dc653329029d5795d1200efe2b0d39314c229ccfe95f21dd6249ac18d11f1a199b91e72f4a40eb5dd2a2789fdd001a9da854a439ffb3b21478d4393ce4ece818be5a172f819e08ba7bd5e0fc43f8597fc224b8b3b34c98868d31f2b5a369a7c4dd5c972a8a73ac8ac51ad5541b9936c3a90d4af7c5f50a5f234743a540a02efb169c3723333390f973600f134c3c697ef3db1c49cf773460782a7f0912a323256d7d31b25f48848f736b3b1fcc914e862af98de1a87736330fc56a2e93771b8ff785072d8dba827b10d5ec16c819d04dd709e4268e42d6b5eeaf7b0183035db084cc17257febd3d3d235b7ed5bc1fb06b973c504ddc1f3f18eaf879205e8f5904697472506166e4407bf7e6cfe59ae12b37673a374f7e106931c396c35acb63776c8b08f8ce7fd213ba019d8aff4c7a51227576e08b859b852a6d4096efc5e37fb41d7253fd9efd03132a2f4c0783fdf55f790d1973283cfb63551a6fce64a5fa08177252c32b56ec31d44b9ad4c2813fe78df8f4b62d654b1876d4c6a1d1fd14df6b51541d0e26bdbfbc070f5bcea4dc2d926de8ec5b52a6ededb4bc42e33a22dc72722627f471e732fecd9dc938114c5ae0d45f27cfbf9cf4dc0f6424c9bbf2dc787201a9eb62944eb02b4a7786e4a93102b27aef93560a2717b9b1c82245ce3de21af5f5a41cff45cc2d66d7f1849fcfb06b04f4d0ef9bd5327173e705f8f4e2547239df3356d3501220f57abd6e248ba451c21838bf2cab997f853e853a667fa55fb6c10778d6d2cdef724e92a24ce90d1b1158dc01be7bb0a22482cc11e7065172a76918dbe1c20ecef604d7fb80caf495cbe4b854339a1651cee6ac149c1a6c4e15f7abe919df0c59660a80f2d62816abde3b14c72cadfdca36003ffbbd58e572cd82e8c18d5cce659d96d76e199fdb8f3b6391d5bac0939d4af58c0cd333c27206d92ecfaa3231ff8fa7d5ca57975df6737e3aa7d4d8135cf50b1d4fce2581389f0c4af87f6126c448d32238ee0603c473beaad7c5efe3b3db90802265c5c314547031e65b6002157168a3b79a3b3a4fc712e29a3e6e5df2dd4059cce4cc6172f39602cebd59ae51ffd47b0144bb5066cfc0646523be9168d961e77db29ae8722425230f7355a0324a474ff9a83fcf3067d1d55884909576e982e15b54a2425bdb30bf2791b8a32a9d8688a95698829978e8119efa77e91b2e196ca29d0a0914c34f7cb7738f1bc4dede945f6cf9f2ff0072628ae6021a5e75afc8e0809748722a11fcefe1a359a87084ab9c596c67b35d0e6939e09c9cd71cb9f80cafc1a3721b3b731a1051fdc90aff43c761cfed7f5605b86f7bfcab691898b1917c04dd72dcb6122c2c77734e7e613260a5c1d4467969dd518451a4a6043408495cc10a049fe3f0b21685f27d18cf51b42115cac4541ad93b8d7ae75f883b83672180f97264472bc973efc7b50192a211fb2fc52f02926c0cc1941b061f2a8dea72969b72c9428695253f8462351b6cf23fba012d7459fba112b783cc903c550feafe7b6da21b73e0b0738fff5b98f5592813fed99440e629914e32de0c9f0b7b1c683a72fef8a6d9f88471154587b40cba2585c7b066717e57be7b6553baad7b90b12d1bec4a6b24edf870608b810e5f8aee8414b691b3615cb15013c7dac3c2a06ba96a0ecf6742deac1a223e13a11d1fa09568bfe369ad08dbe0139c51578b002342726cb41fa16ffe1e7f130c3c85db14c843ad75354abfc57d6a0d7a51614148e94dfe71b66712d8824561ea64e345d3988449c1b279f38dc796ea352620e47dd672c61417c123b395a961d0f3ba7c9a82b0d43b45b65e1cc6f8877ca57e946b97131e0b6d6d5c0bc1cafdc64693e503ab16b91c362f1a4dfcd53e423d1071e979000b94e182b81f2d4f1813bfe32a65200743a840f25e76040fe77906e22fb927724b40581f47c12888471ab4abd11e430a1ab59789223af09e653d9639865fce4a9304065741a9d74960887f221bc245c5382e4133f29f4e35a82f1ca87d3af422bb764fce8be38d81778d8f52c682c4a21c0707e7005917abec37c389019fe9720079dc1d3a802201a13438b908df5720515385caab9001510cc21a76d3019d01a484568bae75a6b18b47cb99597fd87a00bb149394a03012bc41db8c18602f181cc14d95038b4b2347d193bdf6fdac84509ea01b906fb5c1c86af6e0b019d4729ffc7ae7419b8b347250d42fa44ecd360435ec203aa9406bb2a6fe4574a0be7262a5dc7168ee7958fcb510e009ad1f71463c801c485bfe860aa788eb02143640dbfc63edf3b40de4e14161f7fc7ed2655981d7958eede519f67a6d1a8a08fd187e8e1a9e9c2806af06f46f1fbc4d6c3165b2e71ff169f18e9069cbf0e2891472a5913925ed199f995c1dd0a210eb23b8780d26f7604d8052cc69d2cd2131e272c0a3ec7c7491327e6c358d4110cfb346af3579233e2f48e453285d9e0dbcef72cfc1b6fac6c52cdafb9f8aee6b74bb9c3d9e2b079cf4d95d2dd1724c60695d722ecfdc64a4f316346c51388c93a61d009a661c94aee96d16ca137f04ca920c72204f005360308ae0227316776b91def5f78428deeff3dea5ce12d511b4c60f72a876d6a12e78f8ef81eabb1c00852ba4be1cbfec2c769fb37a0a175f598de31958167f041f8cec283d21c9fb3ee224fc9c2af7d2a8d9f009090775fe3e56f872b489496d0f6880078dd3aac03efde114745ed1e0d671a81f34ecd8a99b19e3729fc6fa54c1b03ecf5c7404c7600bffd76fe4e6c788fa5b733c42a82e7df8ab7268814415a6a26a2c4eeb34192ee0abd54391c6ad943c3e2ca6f55043feedad539fbf175dfdbb42febdf01364916a19a0479eb984fb4eee6243c575a2a4113d0836ffe5ba59cdaf1d2ff13bf579c020f2123d9d55dedcec2bfb40cfddd1b1093fc7fda4cd134ca0813294d7edb507a29f43b3c5f2e6403e344c15b52b0690a90bd45f31fe2b7019439692733b2faeb9c057aa2e9e2bc6f59ecf791d2c000650098e6f10e8a24cd407c006e3e3de181872ee8999c7947b434f9121ddb739094f0a86ccaad03934c3ac08299b8266c91d06b4cb6f491766a58d584a2231a1a05940419271b8372bcfb19db6f116afa27ec862a6850e7c9db1ed0723c251da5621728ebcf3ce7c1b2cba9f4502dca9c69882044d10f06ec484b6dee331887f62f402f92cab632aa1f486890ed86b297d02807d6298ef2f32085de7a1cd6b79bbe172f64f52fb4b060c37fedcb1d5ce60b799213cc93a209deea2e72eac426e647907916e5ef193a6037ff886e3207d78971a90d6b5da36ddc43dc43ef4e6720d4572245aad655f853efff69dce5cbc828db6cc23e5e7b527fda664554ccc51ad6d5654e0a843c4b17526a3020f692783be81c436cf7b4c355323251dbc5b58c772726e35599bc2f5a1663832c6b44cc51d5632c29492c4c0ec505aa2c3a1ed22ef455c805b8254ef90a60e6e7e9ec1d717738e22a83813e451ed3b0a9f37d082e3726e306c3f4810885c16b2c1c1012ca9cace0bf8738dc8b4e4e58df34715c2321baf9b91fb0b396aef26ba2dc469699a0c76737052ad94e83b1b21fb99b3ffb813960e1361e71b4b125fb0ec6504e22a789c80a724df3952202e1e23ed5ee41005e6bec62516dafba29df6c9f3689692377f9708e3ca0aabc4662d017216cb0572c07db3a75808f9879ee8e21df00f494608ca335ba6386b812cb347a0e686507275d49d12af13b0d6b31ac541ecc3184104f5a7bc4b2690b77f4a227d231f323d4e980ae6b3b738c11ae6233e72a157e5c579a3a5b5fd30b2f5bbc42c03a17572a0903d1e0f7acfefaa40fb5ebf6a9bb67a1d5d1785f566d5418fa489e6394b68cfce843d448b98c57a91f12be51c0892e07d00ecf9bf9af816de639880656372866362a0b760c7e5cee4ee3dafa213bc5e986324ea21b59bba3c7fb5822e49539f4001f3c251877aa4177bad52f485e81dec043dbe6018af1f85f6612f209d725d3d1441c8a4bb50727f0a22c9a4b19a382d657b7b0dc7a9af3091a90d791172f17d2a43ad8b31b982b2761d6205944b0e6d81a388a5db18a1fab10ecd230b6a54d34bf2d1bf8c96fb49d48440d1aa0c5e5c48d2e127e42e6f1cca5fa7578c43aa0378f66e55ccbb910d61efcd4197ea170b402eb60cfb39505a4ba626f3442ce4552dd1df60f9a7204ee9755c98cedf231db033093b72941f366f4b1ff5e80aaae897067267b774f1129c449a803ce28e3d7c4f46ba231e67ef352decba23723a13820c672cc1308bdc4b383cb09beed8a1e25fe31be88e3b09e1b20ddf2f65459faf8c100bd312593411a06354dd81f1a435fab93fd7f56a537736501a3072d70f56ffd257e4c6103df56da15b4784be0e79923c52d0df1ebd8a14f761185e5c38d036354955e81953d1011ae90519c60b3a2b4284729d0f4d1ff6f225ba2a9b9799303042298a61659255289b14ff6ab4d228121ea3f9db69de319135d8720f9faafcdfb359990b9abc1dbc5ceea522278c96b4d37ec344e7da1ef5dd2034abcf7c48836770c595e63f17f02b8f4bdcfff72f70a20c02d375e57fa1473472c6ad172e0a08f83da3b7073b6496bf330cdbe751652d06fdf6d7d4c38e61de534c68ce611b7bf8ff1fe6be385a456105d3647d6d8fcd1f9fb3fb11dc3730200b8735fafd022db548b56b9f94a4e6c086846212da7dc356efb8018e4bead65a72150a65a43844b8bc4597db08301887e04c9033554113122d93400e5824f60010f4db733c8f60a7627bff92767c0076dd1c14040c6dc43caa93e951d70f965b724a03af562f99422049a3831ce821bc23ff6a441d1e2860eec6c783ff5de7f572fa758f8f52333fe1dd94ca8eb8fb440fc7fd6d314f5102de1d2e98df2310ad720f9f2fe48610c65251b1f6dad5e6162f098ba28fdc876f4b1a24bfeb69d46e3974edcc20e046edfb837a2be495f367a663e7107d34565cd9db3a039b18c20241308f4ec2ae431571909d6bf9c4ada3e3dd02d18ece95b78d2a7d23ca03445e72ebad2453f7dcdd737b0060ff3210b2816a427ebc268546906148963cbccbe9246d410a533eb795a110718ed211b9f171bb610768f69c203db63a49784a624b4cbb04bf6af399e2d802848f75161b9a1405d6aaadd4c64b2bd67f41812539b772cec2242f3a4f04a572e4e5fa0f5673f2b3f076a693fcc63fca6517bd624b9e72345e43aec4d4161953503c3a14571494565360db63691846aa9c81b8818cac72ed69b7270bf5a02c0e41afbe8675da3b945371cbc9243a9e8652a47319df045e15a2bc4b50b43317eb7b74fd2d9e81f302258f44c9c2070042592f6d923be9720887f558cae9809789c3ee1e341d727aa617bae4cb6b4eea9fe44929875aeb619f07937d8dff2e408afe85a2172388bd57f84f86e826361a9c150a6bae36ad559a1fd64d7564f9886eebb083641a0f15a8634cc3afd07d137e2f1294a7643c72b9630403939aad77770aaae65bbca9b6b02b62f8ae4123a8307e1d79d51b89720aa20edf66017526a54ddac0d9064886ea0c3353f49cdc9592eccd5c9fd21b729855f8519c4a177db16c35199c807552fd11d6383f7bcc09eb36f4001af211148601781d245d7463b556e73c9c2bb34f529604f75dfbd717648a6cdb1397892cad1f9bfc48159aac80d7bb9812e957a19f31d78c48a37915e77907dcd53499722562b1046154b63d2ecddefc501271ac80353824c0f3e6bd7672370554c3a872d7c18aea1164454608f4db26d1b057d0e9ef7e8474c2202b61c491c3ecdc9a72aa725096b75fd37b6466701b23524460a116162e6d0f124819e678070769a072cde740b1f9acde93cf88f51841cf7157a891a05fcf174301a9ad5ddf33c22c14a6dfd155c266a7b4239d1adc67f01e3cae6e15c933d04469f904aed4e15aa372969106887053028c83e4fbe252bfc7671bab2792776491d362cc6404b6c42a09dfd9bb0f343c14e0a763b540aa0417a5f9836c53c7e0c96ba0d35a11f7137d39e0e135f286788c14b021c999bdc8abbb734775c7a82919132d10292464dea933b390ddbaad8b69d65a9b092efd439b3b8d75329b779ddf222390e0e454a2fd37cbe0c590c25e2569763a2bc8b33c8ed97993b227c48fefdc9b643d821356de72e8481d762806013d73ae8d7ceaab782938d328015c2fbdc5f3cbeae0e739612a70855406536f44e71b694aa0c61d000d1ac12bfeb3d756dc3bd22511358a4a15d39de2f4c2d9e6bd63de360d254fc2de2f31936018376bf44cdc691d4573a172d1db61af7bd0d68f736264c66e6a69f37cfd3adb092842ba12241c5ee02987575a0e862a4a9a1399bdad3da60e3e4c4457b6537cc6be48010c8fdc9175c9ba727cf679716ae75abebb95f9cee842933d8b27af96ea5a0b8100988f5e1649483ea868d13a53e362e70a6bf6111e8f7254f9a2e528090fc7c36bc1ab711adf6f05c0774d8305b8ebfe6b91832feccff2ab6394b8adfe9f1d2affc67457eb0198208cf75abfa5c8e38aa80e1dd9a176eb0cb1661b5e44ca0d9cd9e91cf56dc9c56f74432edbae30919ece8007a09ebfda6c44f25a97b08ccd188dd87f787069473a2c7a1c19704b6ab9192affe77a02a044a7a85942791db14e51dc9b0b46f05011e873193dbe1a620e24843ff3ec5bec262a58417c71a2371ead0293a819dd197283a2d461ddba690655e3fba5436ee4219774d14deb55e6434d545d6ad9566037fa55239d7df88f588d4704fdab4ce4a3f704522f512f345be1ff0616bc4d3c5149ee6233d50b87001048edf219c74f9e521e036a62801d033928167da5aeef72256694352764570e94b0e5525edc76113fa2416127b02b174d3c941c1dab025b65aaa434c4ce5870e5768bcb183ff0d0a754907ca898874ddf4142c8014cb31e93d169c4e67dc7d53ceb298e23d31cebe290c2a69ca506347b3ce9ec6e0f2f1d95c1b2cf4fa0bdb3cc8156e1e838fd6f793e6822a887ffde6fc5c945938d9972d27c7f64dea8ad9f0cbe8a617135e1336f3582af1e261e2672fa8703d3d5f272567c989d9632bb7b3d63d4c98b2594a893a5075998d72bf0c7a505704f93ac3218063082899dce98f084e9fc6b7969fe24294d01872d67e03d105ffd4049ab6abe895e00472f0a9b5436f3d935ba08ea413996e9814b39535df3416feaa99372bce3064aac0c8297aad7bea9d690b209a1fd3ac7e060b94cff9c21aa9d53a25e7bf9c4e7f8952a67fcc0b2579b9ad0e6d90ef1782b73be8fb411b4d18b96b30bf535e82684b3bdfafaadd3e1ec0e2faf8437cbe960aa37510d922ca326e0115b1db31ead01949874559bbe15b62a45ed825ddc0bfde87586c407cf69db249744a29554f9852e3a1bd856ae9fdba492309d6309f3b70e96f7fe174d6bbb2ac2723a51fea701c4379c2430c122ba030c0a196f6bf99ec516b44af635882eec0c72e4f5b1c88612f9ea698a6283906ccfa0d6afb1179ac3edeb4a3d5519ab0b2d64b12802acaed39a3953e849f89ff7cffb70823ab7b67a60f7c1c16c5188d1060ea4d72220006ad0d6ee37ec4f8f3f7ab737b0469400e308a70d06f186d9bcc47272d6b5c9d5a629359324858df6788592ff4c3994b3a73c4b0d252f22403222729f8966e7209a5265ea412f0a5a513213068644999bac8822406d7d7643d96d72a5286c62526eeff7177b70c1c8ffc81bc20839fcf13f353cf41a1b7102ebae72ffd66adfe3def0434198b539ce96908c21f02e124fc1f471377a457cc274557217c01cc009fbbab70f704ef5fab9a52e880245fbbe843b4d803c83ff41904c724ba7ca491d8b5e23834d2bd238e68e866a98b444e1a54e67540cf7847828880d1d5c997250af45b259ac1edb6d016d5a795ae8344dff5b3e9516dc3b576400729cfce8fa9bc4ba6691f3493a4d959f2a20a0a88a960ae210504e6ff4d06e31430636519a35e4e8cf9eea894ef5de5910d4877d72e0412caf838b5b259d884172a44898567201bb385c75acd1d3fb94296a8c6c0d34c5e914334b3b9fa245017222d9eeae59fdcf065bbe89a1d0f00e92bd7efaa1febcf3f827928b441da8ce3ae38845d4f66fcbfe37f8368a15ff20cbbf73df0b369018b15395637a4e464e0df9bf1782e86260f804200fc28efe05370b84665d3cfb4dd8ff0389e82a62ad7275308e05a276a68c860f321b0c50cbbff119cfb83e3402332fec05980285df723f83b9c3648b48de9531f1117749f7ba8d3141fb00649cb4edfe89a9b1018d72f980dbcd74213b37ebc702774e528840536406c9b87e409807773941ca5461725c86805a2db05fa5725b6c754fb0ddc83252267f25d4844e9d50a038863b643338521d2f4870ed6678737f836a29a4efa5650596d58c097e58b7da5e051f25264dff5276a4f03ccfa373227aed7e496f83676b623326746282950426b7c23c199c087c2d1f71cfe02c1977044b180970677812804e19a363910b6106d92c091b108f3e5ed367c46c19d1ac882b0b7bc51398463ba87a7ac2521dcae2fd54477260e7e26a436aedad211e937e3af382110e9c50099f980d6e1ea68951bec2b0722af9695fe772a030835a13c314852d61f2255bdc1727747fad857c43d812c70a980b822c4648d995141c188b02d29484fe2628fad64ed4edc19359fab455511d190261a9777323552c4a8a17b40e953a078d6bff31329db69994827cd0cdf2728c57f001b538cbb14661b246bc0beb13bacefd3b0af60255afa7456e951e88585ee1270077031721ea0a9ba0cb12f946955f55992d4ce7a1860b57af8cb4fd04616b6ededc38cde32752e34f57bd6542bbc7a07ff6f5a183a09ec0639d4fa15a7bf5336f1fc6fff415d1ab108702500574dd376bfaa81e687fc7eabc9910347255fa9127b64e1c349377a187fbbfc5de2431934c6831346c6cde488e68937772390c803baca8f626332be928ff566dfb31ad6b55b0d283953bf894090e89c10eb8ebd9b52f7f5da335571819ff2711c8b22d752c6cf7258909380a7e32d1cc7255764d029389b4e2b18720e52ff90c7ccf7e61d7f11e3265fcbbe59d14fefd723dd1a4765abf9e3007304ef17283f47ee1adafd22f1b7deb2df8068db651e6727361639278a468bb147fa654176bdaf0258d519624304b90828714769870e8724206613ff1c9ccceebafa4c1cb6f69c511d51f302c69015dffc2f3dba29cc622af7d1ca018aebc4bf68bc2f7d9640ad3d81fc44fe6a8db94e143f9fa29c98672b4e2bd170733a2cc6e4c93f31cf148465cffc9504ae482c837638cf05a5443726134a6454dce6f725517eb6341d830a3f0b8b11b16acd373c6c16258229e1810f8fc5004ca34fe19dbe26d90f4fb3e84e9796221c8a5607195ac1d9d1584e372b62b17394acc66698c360ae3c0c0828974b502e723291380a4a55ad66a8e736262bc0ad93ae0d17a076697484e0b70258fbbfddc55c330366da09e350dbfa772c88257ee6b6e5835913fdad1d1798741c75aaccbbfac30878fcb849ed7bbc50f5aa61dab937eef80266eec41f4c2f47ad94b775b4b167a40a18d8eac98c0937252769bb1e24e03e763ec95abf8e9cd7c44b2a6cf5ea7f01ecde5ef2199c35b726ed01d70a8fe163a6ad601dd48b0d62c29b7094037715de76fdb6307584c3072ebde7de610e8f0a548238ccc286231f89b76d76864e21490b08fae604e640323058f3aca5f86016bd389051fa111ff15875f7ba14e8554b1e3f2e6ede2acec5b505500dc8842d33ff2a931c1e653f9fcaee289dba8c56d6cb903a8164fd1f2137454af428077debf37e1e775f3f1d13bb0cdd7ef1dddc7b62d40ab8858a7c5720749c2d9179078ae0eda30573ccd6e2986f433c2dc8727c4b870d032dfe5f63b02c771837c5aff3be2b14d6e59255faf738197704dd4fc0357d0266b7bf94537deb441205440907d1580bfd3adb77bd48f516a4a749fa671dfdf9eadad3de172d894d460ef77278f866fb6a4b4a08424ead2d476bc3c660d09508ea4f7a9e172c5ff8854ca72b23942766a7dec000b2564c50db798d88fa84249890545efba40effe8200de754b84bb316126673a6fa27b182c3477448d284c9df3862c98482174152fb36b95a402578b9f3be9a16f0deaf557f31ffc2e46eb7c2a50a5917205363d7fa7aad6673a56da6e7fca879393b50874ec6d761305e4146857b2afd072401427f23b969ebb1da372bee490539f06fd82d43abeb2066df1cce48dc5446f84a3b8f4f57be5c4d197fe4fb35189a08afbf64a667267912e7444a2441f2445d5bb5bcabc879858e7aa315b186f24fe8944fd69a9850626b67fe9a5b60920182550333faa1ac4463a17992a3e90b0d580a6ea3aeea9f05e156670550e3f147236e97cac30364ac696e5c3d563cc7f51cbe9663587bfd368550bba0a9a685d55fac9b844aeba7a6d0160945894199bb005b8f1877b39b4542e08a603ff24217233488b90067379e269404bf303e97241280ead52fb434afb729f44551b5ffb72f98aa6e66390320f58f7ba76fb2e0a31a870441714f08515d4e11049a66f4c25d18415e1d6372f54b03f0680c81d18d5c65d5a657bc140a2b9866d3a9cc67b724a3089d6de71aade003c320699f2b8860bd1269e9a35d94a973e02bd60a754578d3de8367a779dc0e1b558950f7ee738b28af52a21691e6a503ef51a8a2df972df7f76472dbb6fd6089ff167d1911d525efbca3bf237de7ea82c5d48ff36df7212dfb6f07e2c79ef28596335ae4feec2b556cbb903b40a3eb70fcc96d515c572e22f9341b0ae6b620284fbc21d795924169907e7c6989047c8f4e4173121027207f74d7f8c900dd1613b150205123f8b78eacdd01b6dd3c57c292af5bfa78372c85e891981c4a90e91b2ec1619ceacaed4cdca017ac454bb37f09ddeba5e11723e0c5ee1b067a890bb6a7740915a6e250f32c192a04049d7eefad57ee5fde33852617328bbb25172eb6160bd188000911e5bf62d14998e61a2c44f959b4101403f981543097d5bf0f41210d272e601d531ebb81aa56e9f60ada394727d17f151d4e09e969ca9fe0974920ddde3d3400e9351cb53f9e35ddf0005231b44036e72952333f38bbfc2207f2021f994fccc6b7f92675949090c762109069a76479e72d17f879153ea2cad92d5425e15fdc9d997a9899cf598c275215afd481ea8bb34e82f32da4a8d090b14b2e8030f67aff75a5e0f386f7a3306269fe2dc1d2c013eff44ef340d1b2045c32dc19f96d6f5091a8951216de5f562da58a7e53a457f2a0c422e8a6f5a0147adf809ff25e3ac899bcebe925dd069e896dc220228669325609ebf34f998a7a6ba79b43adee4e42be54927d06280e0e5f18c48681422ef283144be5b6314152ffa725268e0bef1f93dd352db37ad9dc490dd5234e86bf40941a752e030c3279361ba8449fa9cf8d66bc86fb30052867304a3f8d2a5eeaf506342614e3cfb744cb373ecb2e9dc3069959f4af874b56acd3fad7a2154e4bf721983da12dd2a90c3b5f9365e1e0650e3164dbc8bce17dd8e2eb29a2621946472f7d5b9d0692fc45ccea8878e36caad92bc8a9c3fb6ee807315a36ada43770e72c9b3e16491b93e0feec05ba9c01e48ba93829425343e67b2bdc66b6c4234657269e83d7294dd692a3a2c1eece334942d0bf7e1f1abeb12db87e3ff024915147207415c93115e9d658e4910ce1d9362f71daf9578abaed68c35a311763b16bc7273e696cb96dafe7bda81a711a98ad6ee2ed3c8979d6214ae0601a23f5a79875d3528ebc1b1834fa2d2a1416c3d23939e8264f3cdb74f50e5fa13f2d2e3ac9016aa5eb6f377c2030a6a348895faf253afec786b62e343f5033f73e1f0abe81b240f968e8dfc88a147b146326893b8d8b59e3322a65f67ff063296cfcad97e8e4d4bdc3797a71e242a33bb81d627d28404e7074f21a39a3e7dd541fb9b24c5dd2fd1d8782950fead49f324bf0c1aeed5e088b8a37f76f754542a0d0f1571fe7c57bb65c529fd237c701492d75b67b4d98b760cac28a4727a82ad87ec93cafb8a011358b6cda3ff9eb1ac2e332de30b5b908194734c01ffb7b041f66bbf4c71f1727e01205e12fa3d7e29b226566c2edc58c83295361cbbdd8df3cd0aabd4a608729e5667cef4fef4dae41cb163648eb19f8df500c41c42ae5ed0fc63f9f121fd7260655e23ef777771c2f661f461d598e93a289e24e8adf6c7ffa7fd0fd1142f5219105d909e2dff44fbd500b8eeb8ea4b13667afd326f5547ed084ccf71a30f725bde3320914f16d6dfbc155681a1b56af6a09b758176c581521a00130ed9d21caf5ac2aab84f8f5470a8626b9ea1cb442a4669b299742eadeb783f1746a65172f5c901857307d18a2f1cf891a39ee99c79b98746f2953f5e9a900e0532240972231f5916074e912bf5e660cdf8ac68a9ec1d9c749f5b3cc3d5f7b88a4ea38628fde41808211cb2835a56a90e2177e865edae28419b496d142d98e6a630e95672937a94a2d94b1042eda9ce5a34ecc85cb3d78df1c4e3baade363bba7708399729799898381ae7d0730283edf07daeae1e6227cb5449c0379a84f5d0476bda005800d190f84f751fd99377a095567824553f78091dac1cd63bd04042f5540932398ffb8e89efec5442022329e8ce0df40b5bacc415b49d94d9d78b445b3a98d54c27ee75f5065a8e3c9756ebf5b6a4a56d6b9acb4502100a947508fddeeb94a51def4058c8b2815a425cc627712995673e9d1b71662e0ec8b319fc7b7e44356720f088cb9b9ae300d4580adffeeba224ccc3152f04ef914213daab08e4045ed6e6b87595025e99d233fcb863b4ca935c34572a0d6c645cb1925a353f81510a10ec8d0b9fb9737a62b3ec03afb1895b8ef24f8ee8d9fbbee968c327949cc00f572063eff8f8a20bca1d9b1f688a2f5c861a3c884e340ab0000342f889e67644672fb5f0f759d2f88d18b6369e690ac8959b01c43dcd59ebcd22bd87b4cceb3b67204a56aa0602be7c0116a50e9f3fa24300f6ba3cd3fb05f781c9349b3f9009772126151500479bdc6feb03e4ae8dd31dfbeba1af792c8a00286066542167885729b9cbf5de2666badca64da3170b2510830727b377e77de1f9986bc0ff571cd3a2fa6d5a08598bd94d5560c3ea4d0251d82cfd09f9135cff1f18ce79b06ca6172af1d4e308c39d1a1220a488378ead09f8ab905fa275cbebaae86fac6638d566f7de00f4b22e6523df6f45610518562a66d5b21bb5c1c84b82f3932609b8cbe684da22d2b3842ba3064654a761114e7ca98ce5f7e7a75267fe30face595f8f5725daf540e53c8914d320628d102dcb86c4074e8d4b12a316592c9b2db3277da72d425d9eb4873b52601d89b48b0afbf523e110029912a3a59f1378533ba88ed289e7802840275a22e08efc4bca89c38d6931591dfdadc1411bfadc75b73d2657270529940663c8fe442f9e038fb8b9c3e4d28bb1b6a636f1c3a0989ffae274c72393b7a823112319580afb98dd4ec1b8e560dc49bb09279192ec0933e2d9da67282aee9759796de45eef05e1c75366013f03198152c4d33fa737f89d4fe5eea57dc7d56e79cfd0a9ada15d97b168b71e5c8038e79254ea79d371b3348bc33a67220605b181177941a79a6725964e366736d45686521ae52348782baf86d5062325e1dcdc53bc14c3b9275d20460c2392c588f46366d07c8f79cf96127224021721c82c370463b1b4bcf82d3540312de33c66063b0ba1ca4c43ef691a302cbbc0acf8d107b8df50d7d15bfb2c93a4d16504d94b37da5688c7dfd4685b7b8832e7291cc8b781f5dc712f8d2b7b6c331349c35b793f5ccfb9388bb9b5ff95aa526530c9be3697cb0d76792065a5b5121596bcb207c3f8151a85915639a8fc2470072797716e4d997f7d56300d2cf89adbe51b0a30f784bff1ead03e63a9a6fc302729d0ce1ae262c43797d0b30bcf40fc21e939646427557daa6480e6e9e5d06ea29d76884a96d7eebea1e7478b0223bbc958ae49526d396e40df76927b5c9474b405ef2692c932a365a07161b7b2ab06f16a579f5cd30ec66dbba4a73a2469e2d72276b5fd8f2dd307f5e12b33635dde4df0b53bb5d1bdf827f65a858e5c1c04d72b1837a414fca8a0984e8b918c3cea74d91038772b95d37c1cec195e428b1a67216f1ff248160d16e4d16fdabdcbac48d28d4e850fc92ba03620769bd815ad6721a76c1eade299ccbf26dc77a03cedcd09f75c9343d71c55e0b13f29b59217c7280d6b4fd65067320bea13613451b51680dc3c381b76fee769224343ef55628720fa3f6eb68c966f8b92ab013f1913edc71384a0007ceb07a8f5bb8c49503017236b4f11e2d97d4637e815bc2b62c2ccadd57e6608bbad544c9fa312a57422d7266fca640cc57890b63916c1d9a29e19b84439d7d5e43f67a721f3904675af41479cf27b7cce5e1d24bdf06c8f02a6e96bf7bade26a61732a5ecbcc8bc4c33755359b37ff23d160c54863bb5c8517a94a59f80f984ebcd0e7690abd19ea266b23efaae7a14515d46e3b1dee3e901a7d719a00b96538e4fe332c5f48357274a50452e0aa9143a2b3b401c2ee1fe443f9a1fc26e2a4a3380e2859f75223ad2e6872108b762dafc1b6348b120ffb3d99f824ee0427b7bd1062fc053a3de61f75e90c05488abf4237533da2eb40db09e51e1fe0b249ddf9364cadf6af20146678181614bca7aec43c0af053f2b2379d367f60873cae39f865befd40ac81a895617d280429cdfbefd9eb2e565b1b2db035eea8e9b8570edcc79c79d6ab330524ffc21477eed62399cf0f742a14ff80cfc9d0acfee65765f9fc2d91b35100397eff9f725bce47ba5f01b8af6d077eec87832ae1986c206d8f015cdf8019c44c71771a3c9246ef522bf7037aac84211e920f632a70f5fc47d2257149003dea83c2fd3b7203a8c0193534218a7feac117a03a4e6cd122c562c548ef9db4f5fb21c1e7150272ec9a767b761b8120227d1462f46230a1aa43235e867991f643ddbbeb4f972a5234f4d5d1b9cb75d09db243a7defc9201d1f8e33bc8f902c4cf5b1c4b76e772f6e4997ba0d138369ed51d0d0e7f47d2e40897c09ab03111e07da06705de52412e1cf2ee6d96ab703d50084ccab8b41cab87231c88b2432079e4be8ac6583010e63f825d9d2593e5bc2a7f4cda371658be5623e4b1314bcfc00dc0f20f60d6729e667f8f9819e63562331d313202840ef8f640e6fd961f851c5ff6bf4ce74572f252a12f4113649de68acd46d483fc7338d1bfddc0f3dc13b2b232f32ffb875beea530e9155e79916f1a39f4d642f49d8a797df4d51b08d54afd2da2accf2e7270dc5c0f0975e030e4789fe6c2e88c06a2efcfdf25216c66e9ed8ff3c03f9372ebdea6c2691f2b8b0366ac9e31150f31903e103e13c0889cc3af699e5fdb84665096f26adfcbc943bda8793ad1ed8fcfb76d422897e36746bdf33d8d3e32cc3eb4670e8f069b57b6c53d230a57a58bcdd74be53cfcd69ded3baadfdce14c9872227aa59ccd0b9f0f850ef3c8a841cd01e0e11edbbb523efaed28589cab7e817239779c3a0eac076b4fec6805769df84106a54dd94f21dc109c5ad37fb7522454337765c8910a078510627e376c2cf3b57ea921f51ae42f59c84036f358ae5e72ea60e6d3a68875d982e1273ee37febddfc6553de00d258f7b5b78df9504a5f72c43ded4c583bd683fb25aaa1b0d2fc95657df812a8fa307252fb0e7924e430535fdd5b8d7b0fbb1aea335ee02c5696d9d97e26e4a0a401298ea3410efaa2ae72c3a8fd00adb7203300cc046440eaae3d1ba8e191ecfbebc67cb8a75d273fee72a03442b05cf94c0b8fa1800ffda1a3ebed6d1b641841d0e687c22d180abdf06bb48264feb06d231d955f7900f94dedb4baa4f5ce0b3897da54bea1cd4f2881726ed913cc2aa123a1c86fdaa2b52b4aaa9ccbfcacd610173b68f378c78b9f3072446e2da83d653932c8f07baba871dfd520fe48fef15bfba7d5d30e8574fb1f72371ca25658f38a3717f754d3d6dd932b8ec359d949c28c8a20a76bbca2582472fe0208b583236ce90d6846ab505d3ba297fdf00f6bdc6db6d855be2583f473728f0da65c7e3ee4bd98bb777e914ffe5b978da794f13305498285fb3544e3f233b3c0d72365bcab67cb551f16c74e2afa78c8885f356c0c5d982d6211ce75f23875073d8834c7f404c9cec10789119a62dad25689a39f9318d80a9cf7c1a4002ad51aba0b6b5bfb56bf1afa94f80b61153da5d8d96358a36ba38155f49638a2722071be99078bbd5516d1cf019f96181c14fe03bfd3904fb7130f6f7aafd2e215c5d9fb7d060de9cf66935bca36d6d5cc6b47ba398479594ff4f74e1d3bc4bb72d06dce69a0db3eb77373bba49f9919ed7b1bb60bfac35b021685d0009c9e9372babee6add2d704794057af807395b185c964b2e562105efbc45289edd0ebaf1643955818f7e375484408bbecdf8fe4d0acccdd4c5bed554096fac86447e22972814ace3d49b3ce454ba9c55caf2678c408fb8265ada7279bf241bb57d043ca72e5ef65d43155c7ab86729333233512320777aaf8d72fe8815b76b8a07dddbd6a36b8fbdaffa855a69f83704e47413a8c3de99e571e516a486f578566e8867b722b9cc187f137593173f5b42bb72ee4e6c95f516969b17bceca50b3282cda2c722dd513ee308895cb3d4cd5ff2fe4244414c64235de0af17a27bb45f9bd8325726b04fee5488e4f37d5c14223ec4fac7f0b68af3ac85bfa8d5b62f89743c9eb01e719bc57cba47ab91532f90ed40336cf764c42f0442202617fdb58a29b95ee725161693d57797be3e08cfb12dbfcf0f74788cb794a00e7e29b02d6d81f4e6140654debc4cec703ee4445b258c22ce658c908f238c5bbadf0ae3374368e089742bdd4f35c053bbdb74a1fd2197d25d9a8dd8c54f5458c282569f5bf9060d3d412f05cd6cf2b03e85029b30bf18d61842009e3b543c2aef57565f8758153483f7272919cc8b054a638036bda02ed7bf19388ab96e6d21a92c34f825c8967b5404331e6bcf46ea38ef601c7252bde58a4e7188acdc2effc91febc6e0c0f8d9d0f68ef4faddd6e01cb8e6cb547f81764b2f01d3c4f0f9d6069455b1a82cee361027295f1bfee8906ce1613c91bfdf0000902248c97c5a548306045405f1a50ba827289a6e476cf411970ef89d4a2700dbe80b820bf4083e8c449dc7292110066d31166e283522071bb56b4f1d8ed7c0d8da2e2eaaf22b3ac359436813578222b4d4a83c5bc79511dabe3c60b79da598ac0029e8e5433a3cf5b5bba65d994bd3fdb67b6365103f6e3199243ebdb3784e9d52cac7db216897a4c33f64aaf4fe9d84d186049f620c4b70c184d0d22b598688b663d157f98f16128bc439f95474532b97225a208a7779bb4734f8013f87ea427e542b179a1fff72b12eb197c21fb278d7243c9250ad15edd3274b457640acf095fe68d670ad5148a7b76e07b9a73889e724e8957bed2cb4b8bee3d07e6b5ac49ccd1332e9b53135bdae7a12d40d2c9f97246beec2067356b47c5ac889af215034b32d262ce7c96d36c50c3e12051720872965fd5d441ab1af729592b9488fc65bc4da1fe5414a6b45ee1aaf69f4b5ac972f60baffb422909a5fb45e7d00f5a8eae00600bb5fbbf348d79ec9bf317c83972689939746ef8ba5db8f4934a989e15ac502d17c9159b0dbfd915e4227d8b4b72563a3333c558b978c6a529a46204d89872c071c923bf6536342f30c1ebbfa37215534b2092abc932ac4bd4349d1089338c5cc4ff8f07bcc15f5dca094bb0d572fd1e648877b714f6103678d1c38552a29212f68a7d161b0e83c4b128fe333972e8d11ca700836d774b03bb467d0877e1404c25216a35c66ae63d6637384d75729c720fab2420c7a4befbc785da7e539beb5114f532f4a73480e7ec49b5e0a27220588161923385a9a8f710e61c5810e87d9b365c2ebcbad0a60f555fbf742572d7d9b103a995dba20add94724c7d63e953e2ea8ff09c939b9aa1a78bb647d43ea130f3db40c64dac1e2fee2081138fa1c5ffc98ae60cf24d7589b338daa43d6c61254deb462f5463f09c2a7f65d88cc903d3062857c098a8cd8ada78e0225533cef9563378c1bfa9ed9319769d7bf7ecdb2e9e814789bcdce3de7d4779f7a272c2dd33696e4ce6565471c04a82a4df4e3b58552984aba39825a79f8abf709472fe100e856d76887985d901ab79c0aa591392463f713bb3c684bac8a1aa9daa1aef92a4a371f2aa15fb80ee23fd47eb7d19f7dcc9b7cf997ab742cbd8d3f49272783618c1418ac87dcdf00bf257b3ceca05c4faf44f6f425c3decb1a5cf7bbc7203a657320e3094ded2fc8bd70be7deea660505e588e8077e959101d64acde01385dacce31b8e1dbc6a34eff41e94dd0ffd51d321183df1abaa2d3e1bfcd0fa470bf3f0fb43c3b0f0982c989de7d51a2b1c6f428fed45f74450963b76de6df772c7bada344a3eafa845636381a16b5c5e40cbe8f36eb885aaf0e522d4ff56456cb72d68aae9da5cd57567a39d39373be72433657a1ae5aa52feb583daa429637288beae55958728a98824476393317b6f207ffc9ca627f9d219e95cd43cce4f7259ba2f276ebda42d2035108522ce2e6a60c4afc96e6ba0a01a75bfb9c33f2e72e3720c4c444efd1bfdb5c4da758efd347a4e8c43a9835b4d0d6a142b6404db6e16324f8b0c0230cf8728270099a8dc4131f21461e8fa81cc78c78b32c899d77241de11a3404552f21dca420516c9da134a447d642e02e61d1fd457ffb43a302dfb15e6422f16725cabda0e154bfa37f9bc6ef13816eb1654915db633e1fbd22a35c4413290570ff1298e1560a4a47359ce01a4d6ee4668ec2b47ccd7854b7e7208a9ff6ec2794ce8f0dcbcca53a0223a8b40aa3470a7ba76ef43dc93f9f7037264654ab1b64d08d703e5b927feb260d6f569725d9463ba68dd018241adc1b4729147156dd99ed79457ef18d4c50186a804e96d8d48bc344fdc6e2992a69dcc724d317f1aa4a4d963c240641ceb85b510f0391fd8800bcc721bbd4ccea739b1727f63171e9bcfbd5614d2e4ece9da079907562015ec4c75af0ab2041848a6d27263e52de20b303ee78f7249c2f03dffcc633c4ba0d384ee1a87e81dabd902a072c510cb842e10d0d7b82eae10bbbc8468fa7776faf8c4adb260884083f4e7c962994f66413fd8d1fd1c470e76193cf369e2e4f6767a832e065faac3fd91f0060bcb406babdc640bbf4c50a88f068aedefd5e6e6856b5f39c3a0dfc8cf5c3cc67274a4782d2e48171990ab5e223db301ef18e5ecad1ac6d1921f9e4203fe278b3bd924af18e2ee9ff29e7097e6e4edd3418b1212a69022f1f71bdb9349da026c7231e54d43ae24a9c5fea3ad64be8f49e166a107fd87ccf1509bf565a731019f5f78b8430ef98023d60bbee2c8f7e54c0d713c2583f6cef326dd3e65474bf9f072e122917d5600f054aeeb08a26183a6098d1eb933ce6235f851a82957d585a3729f8b1f7681a8996363888e577ab4a49febd18fc885634ef79d8c72a880ae1d4e0aa8c1cbe46d2bd3874d31a186e3d8e34c204dc5f1198a954f8f500cf2b872678aac4644859b9b52f9cb983484fdcc2af33f9293d13104c5c7cf8c4c63207d2a1b8ce2435b02aac65505c126194847a61003ecfbd37f518ec1379a8e6d91040beae06ee430d28c03c772987bebafa1b5fa28d40459203647da3f2bed8367ab7214f5816c2eb943ce587d42526a49393a3661810b75afc50011a0bac9ae4a3672a23ac1b089443ae56a74729715c60576659881f64ae8d18312ef47d2185d1c72a8175c9dfb04275bbd1178d4c19b66d830fe6cc225148ae7d22f5cf99facf601019e3b9025384e69f66f747bdeb2add6bde0f21cdeccf23e1c796102f812fa72da9f631cf19dcf78dddcca56ed9e9773a22b8acd4a68f385010774c368dcc5726a7a73e30a3d0f6c0a4b7d4eeafd0adc0e8610757c2d666d5be0094a5d6bcd722f6ec3e97eed2a40803b0b200d1a2e8d3a8af8b90a587ef824a551cb1ab0cd71dcb48499e9cce7423514a6f8b23a1db6c6cbce577bcce24a61666d50e70216728cce366ee12a70c705a558493d247800ee81e4b65abfecc559d9fd3ff736c4697b3daeb558406d83ed31052b072db58b06e51d2faf98a09473361e253d5748725d03976349b6fa4b91910b4a25fd8f49f4d0637cf8a46f384527a66a4ece0e72519eef1a5ba2399aa73ea6737c65d57e30095dfe8a25e00d9f7d587c04e2df7229f6a9388bb9bed826d6abd175b9d5ef9b4a8e8a3249683035dfd03689446172b95898b0bed8467bb16fdd4a9fbf925d4300c61a6ac191968fab81cbfc2e8a6b5964c6d712411a7a605c2dd8a62382321a1307a45bd9a17333f839bc32bb4c058f1d833baf1bf49309d465cbbe193434cc132fbfe0d420e49fdbb257d0a4ce728d5300d686ca9fd11cc2dce37ffed52486451d48923a8779113050d18415dc5b0c53e50692779a49e572d07f6e3c472fbfc203ad98f544015711ba2880468a70b93bb8e7aed1140a3776811285ade9dc02f61d8623cd5862196d09a7b8da6f21a1d1d1ea1c5899547eaf4d321c3f87084fbd7408683fdbd137e437d64bee9f696a1219948020baba9d2bdc1b35819b88fa2079ad464e57bf1e39087cf5bd5b121a7d126b897c084997da341d5c3c9a827dc9326f0b02fa0d0adc264f5b0b3c7200e82fb43c9e82934fd350c06988c11fc6c2e17f265f386bfcc8362035dd847278e732b5f0acc376489dd9775f87f873d9ae78b2ceade7d7ce4d6a1b4c90a4722821d3f57651bb159f4701b06b4e500fd63abb26f7c363b10d1d088ba8e94d72effb5d30dc80b6051bfaf197ccee8ddec81356f6ebf896050351af501e7ffa7234cc346bb6ef240e9975fec28f085f8687cf69404cce995a1d02d2c726f3e772ab5e72597b387687b9ba33e0d46839636f462ae57f74555128c0037982b9f660bd777d31740475d27c0df04131e8bdaacd0163c35cc95607b7caa54c5861346b3f0e66ab2e98284d81642e743f035e1f00c0e4a53296ce3d4b5412fb21f75572e31456c7fd68642e3ab9b546f0fe05dcc596fab45ce4719596cacfff4b0c50319620f85ba57d71783d6a733ffa3debc97c1a15d6b354bd6c61b42c9ab1840c328e4a41c28a3a71ba25e494746e43384cb128eeb1a638fb456ed8564922f808677d781aaebec06af88796ccc7f754472bb93b632e6449618b9cf3658bb9e49105fab4cad4f5cd1861f620b0d9d8b03e976172c2c8aed590750f6b0e1400e6c02a5e896a9296096a9c53f0ce13ffc125404100eb5d52943155f1ee0a89981f7f3b491ce82aa28d761a4095427e9d522d8a97dd1b68ce7647057542e66e181e6f72a3ff28fd326660fc21057cf753092d3eb3a178bd02629711fbf72f8137fffe0f30717f561a434f76e8b33dd0bd04ec6103c956c8afa3e38b15db51da18558872ad5946dc3b8d6e74ca76f84e93621aa3269226ee6633d2fd7326ecdbeb43627212852df8eadbdbd3fd31afba4054937dff6e80fd409adc9e45434243d9506672030b28d21458ca51d0762a5e38499f93b281d867ada102c67b2931d776992f72215fa41d0e36b150313215d50f729b9e06589d804be2850ff92d7365282d1372e621084746a1c02397ca3d06147c4bb58a7196be522526fea21d66daca83fc4595582eedebe541db8128d1ab4ab0780ec9e2ae45b822deb045c571b5a4f82b72d82ef47d3aafb5b1e1169a6d437dea8ccaf44c8ae7781e00d110ed2e959e3972f5925fb33ca66ae9b563de1ad12ef462386c58990c4952aa246d001b382ce7148d094d807b475b2c717917bbf31d40b5cebe6cfcea05b22dc7642110c8e01072666e83f44ef46846c171470b476a8677a4cc060a267bf2f1281f314447445c72aa91d4d4f54a8a6eab1fd1c6029947f17d6a18f43cfea8e0df7d9e2a9a874a72b9a708da49da88fd1478053e9733344a4209f5f8482959c911d97264bce0fa7235d9b076872a1af5e7220d8d2c21d48eacb421421339be1fefc19d8a49451b72422cd6baeba1ed8f02941be181e447770c0b6434ca7ddf772833c38521078f56294af423df99b955554ac95e1c2f3a2ffe042ad9dbaca89c4649ebbb8be81e722923949047af4899209a74d0daff71942c4a1df0427f53edb858092ecf011d67278b9edd57c8fea00640f541cde9d9186690a7f904c5be0343a7fead563f0772ae311fb9ea829f47927ea770fba42c8a6b839c93684c982ef027cef6ed9e72725498f41329e6366f297674eb9114d28179272cd1a47b4b035a7e61281bdc92727962e5a700bf0c0a74da467e387d45597c5aee014af3c035eb6d71f0400dde26ad4b440192e707789de8f956301fc36b4a220e33558d5d329708e6360360b372773b6350f23db96709d86ca2e58313362fcca156deb4d8e7a92647d30b848d72394f86d8bb6527048469382fcffa75b36c5f74402e11f9092512446a3e557650f2388a0e51d6d3344dcd87a90821bf2e94275ba29b2c219b968b3b386131cb7284a3a2835b8971f26794b1f3b43fbdaea019bc672bc77f34bfbd59512df9f472a098afdb50d52a3ed70e539f966f27a5bd611b076e6f34636712e0b9e0213e570956e87136b530c5ffe3fe074c75830d71fdd6627addcee1e6eec7a713d9bc31f3b0b37c9f6cd62bd9f7f79ec0ff815d03d031e24687174add1a4ab82225ab7263dcd6a6b379e4aa3ae685bc71338b9bc908401be72a4d9aaccffbfdfb8428729d408f594947b49a48a8b327c30eb075fc09a6cb56d624015736b4043e6ff8722b37f8ac72507ebe99fc71262ae31897eb8ebcf99a8980dd98c3f463f96ccd7226e3b68eae832540203d1343a07e099bb78a864c60115030ad494f7ab2e41838867060db43cb79167a4bf8a00d940e961ed9b849b11ededc170a8b71ea4e0959480e629fc0e3e7faa984bd907141807a1951644f63179694386f91544cc5b5720a6432e8f5068ab101f78ab66db886f093bb1496ca4f0f2fef7a0256415b2f7267b6725a17fa3630e164e84ba5d243f40982a7328d6d5743d038f2d5d251457229c2b093b306ceb1363722189796407a8a4b3d059b7fd87063eb1bed044e28067d1e321a75ac0ce11afe952ebfb2ffb2c2c1aeb687e0cc6009eec8ccd085d672c3cec9a20ded89e12b068be3fa6f569f1bcd234e577808defb62ca6fb7bb091037b76d9c1e224492966c7c0b0a7d5c65163350217bd74d41db72a430b97f3272e927df6b6b62376171b5a1388b7dfe82029727cdcd9a37c167f37a0528051b4f63d92e966162a9ba61e8dc36608536401adbb3d227f4d03c0540688d909e2c72154078123f46617edd91c38100132e73c0c782fb4af498ce86afe8bd68c8267279544bb36486c79dbe94a93ac41ed61ce4f9525e5118c35a7aa59752c9a95a72cb320ae2023dd4f07adfc2fbd49de4afd00fcebc156128b82a734588021fec7210678da1eb116fde1a03b8bfa31e89d8e3fd9a0a8a3508701101f4b348186747679c64743d3202746338df27df61e61eee8a2e4132497418c6242cc247b43872e317cac3fe42d76e5089fe9d8402d56b8d4b81d3e995607cc3fc11a6b89b0402a21c8f3c1890a52f65cfa14bb39d214a6c0f17831287b1386595075e2fe5892e97d2c88240863c50d3928588c4607b8700e5ce75f0b8fcd1f72e0dd93b91813160cb5a3b524d78d86bae752575e2dbc3a5c452c4d65e08d61a632c0ff1c54e72ce1f1491455cf2083f9ad39d73b74fbf56fda424bfd65c25a571937910f248710e95b79e451aec4b7fe628bb7b91d5c6c1bb92e7a6f9f82153f0037b14700442f03fc5c7208f6da972b0086cfbe79bed3bb855c96f8b0540707b7d7ea6123420f645efea8d6df05f0857f0386e573af67a420ebc569c665a88ddb55aa3b9f0720a637c540810d870496193399375374219ef160cd88e989be568bc18ca6b595b509d7fbdec0bc36d00fa0ad43f65d9e05686a1460af2e2cf662cd255677bd8720d9a4e35e543422027a0c3043f4f4b7d0f258561054f48b616ff4f1496e83f019b25850fef0bcab199565c6c94db2bc6c31c52b4e280df84ff5ca8a80c2edf10b8a80c392461ba14dc4309a73c8caf5c90736c8fec572a87bbf3aaf46b53ed4de657aab94439d85b3e93395dd27bf7fef5bd3c14b4bc9fce0292f9554d62d9725484a05f836b77d09b26bf7a0241cb7d10776274916f6f4d0ac8d45eb9a8a11b3d3e784bb5263a4cc44534f7cd08831ff42427fe618a96a92fe546b2085ecb08774dbc447a4a1660ed1abfac8808bc0281b910c93322c4afa68750b39b2fdf72346bc0dbaacfbacb1234d2f0a9824111aa0cf07998cff6d9d25b5ba855ea2b002157a6bc72b1e635ba6ebe89b08e88f74a9f19492950b31abd129415fc6239064af816c853c700ff0b0617bfa9db3c270eeba7af05decdcff66204f6d76f913e201ceb62541615e1f9c3cba6f93968a078b08c038c6cf5d10f04dc8677cb82723572eec046a4b92495055c900a50b09d19141e2785ef67686ab2ff9d26534e6b33bd1ce7ad71185017db7d92cf625db3923699de8b0f5f2b3b8655fbfe8e56727420203c0f37e0cef9cd1a2ca87e113beffce54b58bd5cb7f76b5d9cfe91977225e8023f4abe25564f425eec2edd573c2a311033fb25a2c8156dbe93474f163f0a21ca2a65146ba557ffbb7a89b04c6062c1964a9472291cda53b50c6d8282728d365fa1438234c0e27d0efc854e7ccff8a09649ed4cacdfc035a8defdd7455a3cd24305925db4ce60699b476705c387a5d68e2c037ff0b905c3ec8fa8e8ea72f57789af69b77d387075d959ca60f94e365d6e24bd07ceaba1a35eeb8fd03f0b65e954b76e749386d374fbd34a242872370904d08a3f7a150cb9d5297acb4472e3d5b73fcffb1455c668189b8c9652e05f68c0e764b9dc4e4cd1717b238aec5e67715aed15f470c6f98aacc9cd861d7e196e8afea0f1d2bb319020d59fcd68722a072badf1972d448aeee45fda1b224ca8a83aa663a67dd5b7177a11dcbe36723357dda742013d5813db8746721c93e3fc6866aff98273ddbac12a4754b73a7208a5055d9e72824c837768d278c7944f52cf98282a5c330043e124fc4c5f5b4305fc249b037c8b0c0b48245181fbb9d39dad6bfbf4b6b93ba23a8f5256750672396c06f5d70cc82f08587c09172a97015f897a9043457474925da288e8ee12722db01ab7f22ca5e752120d245a26b362169651460c702ee64838e8d7008b230ade3ee0067c533f5291afd9628fb231231168e2f97e0f32321837b649222e177278d9bd409f5ce3479410498f48ad0af6593d3425dc0aaa4c601a1c984371097264f77f8d9793e983c5a015bfd5e1f386efe75c91e5fc201455fa292cd37a177282c21714beb734d1721b842262434eee8a27dbcd61b0b63d86a0c8810fa55f72140e884901c281c56b3dd78a8e888ef4768871c396c81c609635860465a69a72b1589694d2a7ef646771b328696170ec41abd6b973231c072ab23220d9f82f5e6793fcecdb63f931cde0bb03808e396f581f7526ea7684e6aca17bda68fab820441a11580be91923124741bfe75844b559c2eeadbf2c0733c4b86421c5f2ab72e87a124c3bc21641bacbadd6cce69f22a07fc52ad030a7d1cb7b2388f7534f72cb31f6eaba55cf9d57db4695643c50ebbf43b084c0f079e6ab307edbf0b00b722a7fc4eeea15f18ffdfffbaf05126eed3fa5729baa25ae9727c1922bc79b4872baaafc7b6146862be9388f3fa39670aa76ddfbd855bff62d28a22b24cbe3be0712f120547c48a7a291fce071997a4f49e43a77bbec341d29a4a48489399a1f61726d196e4b34d1d60d4e0495a57b78b6c032607a4037423c101bdf57a69a321a715421b493f376a74d4ca56e6a33f52357639d101e1bfc07610b38a22ad28033e4a53dab00e9ba1fdf8d47891e3cc1f8e250b5c5091e3fd46e0d475747874e7201db07b699dc973277d214168b7828726316048906863532c290ad8d1a0d46178b8f2029df2df150d2dcaa6208ab64ae6939cd74703f900b971d399adf756f6a782d9ab5fae0c3234142c3f31e8f784b42bc2e3ed452edce0273e8331b8a82726bcc725e33bcd76316ede55bdd20771bb1822516efaf3431ddbd36bcb7b0433e34a95f8b8031f5b877aacec78125f72f7e1e1856759e5122f5fb0460bf9f39726d6f7fd614716cd29148a58bb874f0f06c0e8a60d5594ee9bbea65723b383b608ace7f544b86d1e922bc1827520b9e7643aa1f5fb4e2a2ddf3cf1db2326604720a2afdf28c5414950162a67c64054c46bf2fb4d47ed31879cc000c1feae21a72974a8123bbc97a5da88ed372001b7148dced820a062f1877278f0d34d02fe27248632effabb033bddef727e3049741752eeeab4104ecad2579ebcace9238341d7638da3eb866ae0ffc020667f4873005f59ad654ae711d2423de2367b88696729f68cf89026c85251ca06f2e07fd27856c8181e803b277e8e0a9e823187c8a72761a0ac9dc14d7ec282e8a2c404741b453d784700670b1e0921d11c676857072eb615b875e886729219576f9861fe5b77eb12dc16f427c903613ead58c0de872078e25e0111a9f0dd0f9d0479ceff9058aaddc05d6afe70fa996423b968f4655f7da53aa1853a0694081a27921792ee5dbdb934b0405e8918711d94d4cd7b11402d0caa91305f4e0366ffdaa97c3a7296e541236b396855ba7a0f01e67dc7d72997e010f13a601b4a580e4f23bb3b6aa8263a569b322af32e985af4ae0279972ad1c13b08bea856ce6505f47c5db5773ee101fe8eb1b357b7cc41d2f877d8a72f940cf74b3b3c0e5a5635b452ac05e79bdcd597984633ad03f2b64428c0cee72209401d3445b698b3f770ee98653ed73298fa88d171cdf2f570b228f5a395a5dda5a9431402cd259ef22e86a17072ac9f2f68a4214fff859d2b4f5b66287c772ad6f75c3fb7690dc4060624d4a1f818ede5c4ceab70a05ee18c77e8ae7469a203789dd3495504a43ac3cd797f78643b63482ca280329b0b8ac51168d6b02c372442a06527cc780278caf7db7401c3df9f28109c99540d4160d0d32cc296c4c12473fc941642ba2af54eaf57a11e66768ef95caccc501c99fcceee5746479722cadb8ba6d6cd820c1628439d27b871906ffc70a4569ff339655fbff7ace67992df3801f0c80436c989d1399e2b269e5936d891d727b283c3c5ad222f348f22372eb921721494b801c67efd128b8167f5b4a95b0e9786cd6a1d1e72a481cd70572fcbabfee5e975518ce0a84d2047579c985453480fa6a3d2c8d582b3dba4ea3728fbe9e21ce90658988e13bff24827f5204adae32dc6045a9301374658cbd9e725af22b18f0149e063af7270700631e1c75cb935e941d042c1eb336145fd86172f8b5d662cc65de6e4c87ab98b79ef6f62ce745e333e309767fc1d5bcdf88b5726a30257835e66f68cc1b9890caf14358ff6fd76964b571ac494de8151aef9c7277282c1d40a085b9cfe6efa9e41629a048d7339c32e1eb51ab31a3eb2638fb72470c569ec9db6143483ed0af047cb5fa0491272deaa19295830d958fa1719972a927e4ebbcca5f1fd57bac08f6b22c6087153e217aa68e095ab566c0f3662572abdadc35375b0dcd2779766c8d7261b7fe90d722eb5a003c7408e32475fc130acfaa0066695b92cfcc50c97666575f84b3c01bdf7522c188e0b56d177944f2720b94f02b7daa36070359b3c6ea07779a1dd051ff74616cb32950b56d3dada90e22c76de4e482deadc77ab9169f7c0dd547a1c84234b9bc52f95e78fc265e9772be1d09a788b180f3087d6a2619b9538d9bfed6eeed40e9e0bf2c330ad1b2ab3e4cce7acad1e2ed448a1751815462b36abbb216410a9bbafdb996bc37de35bf72a5fd6cbfb14b77e35c0f566084c5a397c03b9f906351f01ebed2dc1df4b362722b1b4e9c99ae6e9cd9da8bfdfcbd554916318b8456111f29a975beb586824f3746c05304202c83bf93288982b20be2bb47ef4f5851c5b89ff73187e684989b7226a6689e0929b545ec71e738fbb9a009f053ee64a991559b14a6b104b017ed510ddd278b3de36c1e36a207c8fde1bf07cdde4f0ea6945a3b0f7935bf7b446f6694b64c3d0c4fe6f75e36b40a8310982b91113401d488f279d9defdb12697e672a96d4b46db6ee81e81640c3b23345adda9453f700d365d97858f8914f55abb7249c2fe23ece8aa3fef601465fc0ee776e33e24371e16f4cf2cabdf724710da727f440cbefc5b0ff4937b370c8789173584fcc881543c747df7d27d0262baca0b2beadca62733b5c00fb87ed73891c3d99e1f19d3f5544be7f26f34f6b526d072a9fd3a8f43e0ca0314c310ff7527f776a301eee8433258bae82c268672b6322153c97ff15469a636ecba9c5dfd2169b30b380095a5e9bb05b1981653bf6c3e401a90dacae032a36abddfa584c03e21d465490ae006cc2a2acc5cdae72d540b721d2356409fc666940b53c676787f7329425233d795def0a2d186579876215f72caf0a07f9ae2aa3c100f49925a546663103479809c7d6f7ac14659e75ae40472a75479e58b3d45dc8868d0e6a50ebc72369b1bbe603b804e5cae7b781384f472b334b40bbe39e7aa228e893c3f7d979d8c7ec2c491aa2cea0e7e434ede54bf7291c58b855ee6e7c372f77d9cbf0da21b38ba6acf7eb8a775cc12a9d9e0c55d72b6bd2c2a17213c9197f8f0893bafe1b206a2b8abecb3d0308f31176366dc5d1da77ef8c09dcf7c41904667ed41c40b2176bda5b3a169132a8d9c63d600e86a576b48e140f57d61980a10d6b156c235b78f88ceb31a99af43f288123dcb09643e51a25c5918e5a3098a237099ab24a506fbdabd0c5a9b834085b0037f77044a086d9ce0c0c7d674f1aabe14fe2c239e6065956016144dfb664a7b8924996e5603282454aada6bcb7caaac60abd44f54d634147ab40ced1f72628e198246b7dd7227256aebc718f8e6343e1778be23cbb60def4bb79de713a1efa436875a49006385c2762b022d688d8322b0ed34a6a8e8d0d73eef64680155cfb11e6a248f8772cc33630381a332a0842d5e39f22c8d19f08c0f8b39cf9d46cffa37f5b6c9d272e6c85c1bf7ede8d0b42c24b851fa2e798bdb00140247148b0bdbf302522f63416aef66a3149d84e6697da759c2350b121cdd32938f4446dbaaf0373f039894124320ccd1cd1efe3a059ab09062ad9443faea20a161863f4c44ac16684008a972bb44231f99b54d21f5a5d258e6dbbb0096d8f84fe9cb8f5a7cc137aeb82a4d72b363ecc0ff27be169675d9168dac1213d5cd8d3da11a6d6c3eb61e47216412027bd5c508a800abbb5c0c2bcd32c74affbf28d1961ee67fa58d68b303c92a8d7264068a148f1aaf1d7f1d7018b2077d4faa0f306d660fccc3445993effd38326a7137af5176b5d949bf5c157af29f37d6e5069b7c51655d094c07b16aced48f72a3967a2a08e8f27060c7d7e0b49adba157dd79185b9db42fde687c5a0c72c310487eb06a51bf642262ee039938e190d077fa869e6bfedda683631bd39ad1b9720ee980e1a3ef92e856f9f6a01eeba8b6df0ffd24fcde455d7e73624a719e9b726e97b5abe8f3c7829328ce414896b295add62a5f0847a6ad3f8231de71b89572c3887c753e4a8c664deca5e10bf0c1327e3390d4956249edafd91d19fa49b6578db27ffea6a888873fe05e80f42704fc7fdccadd8557ab9166a16c612aed5c72287f0c40e129fe6cb6123135bfaeba63aa4309598868bdfa9a9487fed827b572655b1eb0e6bbe995b5ec67555b60c7afedbdf21fed2209de1e9c1e7cad10e37264b1fca1c2c643443ca6969130710ab2afa49969f45dfa124329411bdda6427299bbd3f87e03bb85759016929a87db37b4268a39ef7d5066f3492c46ac3c3672d7add99d9aab91a9818913a34374160c44251105d037b2b8e9ff8ee4b2662372516bd42a1a54e69c8e42d6f3cf896e99656d8da048327488f4c79f1454504172f29ddeb8f3837e27e00a16adc2b7066df9153378a9c2f7008a35245092ba9b729b2a356f31a2775c14638ae5f3b96fcac85e0a573dc38d6853d275dd7174a5729d0cb2f8aecfba27922b4f2b1def7f52d59730c8f91a406ce56a5cdec39645729fc4c08fdd3a7ff3f3a746624d99a3193d3fe4caa13b118930c8e9d550f54272817f472773020dc9d141099c6446ddf6fa8ce0b84b4adead2a67bc9d1214fd72ff8254c38231dd015f70a0ad19751f3b732c6f9fad37f4f88222dfd36d7453725030dfaff348b752b195fc1ac205481f6518a4366268fdd09680b1c2b59d1b72cb697a62de0d956695d1ff89f39a70b653ee6f334e355741d2bc58f0f592340562898abdba4d81fa0864d48efca84a57952304ccc9de0f284605100de8876772bcac28610d15f8eea0c22ff479810a52b8332cf20750c0ee21ad0b8e420f5b7265a7a591777eb8dfedef5c5a25e429bd3acd6fa83844ffe3d274ea2337244b33ce02ff9106217632c1cf95191b16417b450f311767c576abb481b4bf15b2ae1fccaa7a973d2dae440d2cd37b13734c6ee383f960197325e6d9286dba1737227248e963858a2e7f25a898cc14abb7fe086cf2a69b4808e23fc63a5d4dae2df372da27b42427f79abff89141c47e71855334cabd2e3ab4f8788bba390ce28974723d298fa6723ecbaae1bbe59d95a2a3719d193683980062847004284dae2e8f723c9b9d24c9cb341179104a47212684fef9ef69e73443bdcd939602968a72c37288166ef841ee64afa8bca564e07f34dc59eae5bf7e69a4d1ce4d87cbd8f547721515b67f89b3abf57f41fffcfe2f058c5671aead187d5504b0472501787bb31d469b81e1a02a625cd765da5d659b54759ded81f4d5211dde01dc9675ada80a72c4e59beec7aafebd442d51dd63b9bf3a5edd493a52f98a505bc108782da21109a4af062de0fcd6cec4610a16433bcc57e985f6d671d7d907dcd145d250d72c729d50d185fc614fb8f0cc3db8c878c56ed0ed9bd654286f3c0755bee3d40f2672746f811b0b0cc024f851cdbe80d43dc0087d1da728ca72b482d3016070e4144fd74e237b53d3b5aad381aaeb65523d234e7f49da2fcf1971dd1cfb24847e59724522afd65122b455af5340ed2f957a918b3cd1d00cc21ded4c2ee4a81feadc0c21b5d76b5c304a304ecb5953b03b184a6a1a6fdc04b35b1ffc4158e85f552e72df724bb4b88e09a1d386bc72df8c9a1aaf2d6af77b9f0014c341e331e4390c72be9bd3dd7fb6b68c8410a1d596b247730267663485efd53c6c5ebf5b20a3cf3a294affc2d2c1b999135adeeeef9a48e7a28cc68d1a5284e1887892cb1e175114826e05079c4938316ef919d170dddf14bbace359ef397f983fe0a59cc43f177227706d91c08840505698bf2aeae38c0645266ab8a006fc4f65c59696c83fc8720f59372d176ce5112488fc818680e49f5a59ed23d244b142f17981c94b3d667200fafe67290475bd18e3a947ba319244ee7447bf7e31208623f40146cd8c8f6bcd27001d6c32a42d78327d63edc703a255716a8cc10459177bb378575d379930fcfcb72527179d62ee62090d25ec384cf8e1baf18a3f82453f37d91815e5a0729232124b798195e0808d952bb439934909a58ebc1b221ffdf5c8d0e71a5f33727c70e232c8c85ef4f364f9a9435ceb4019f30e3fac0a1e77f4db4f7c9d8f1a72e3ba56abc2ce4a88daa3488e47917c1c4c8d106a40bd4e4198b12079d0c5d87222acca958d1b65e0644ffba86a74453dcb68a2c95169c29717a669d350335272f0a8c45c8a649a2040d4f6783d753b82dfac3d981c88b3fcaa82c45298e2f43f51473fdb3b2c4574745ea24ac8facdb02940912322d33e0272a5e3d5e4bbe54671097d60815c45fe557d158b990294305ccf7ac9f8510738ab6b78245c8edd72f2def3487644258fe5d7c5687b390731e33a530ba9abdda93a277772d508f972182e9c98a692af96b6449cad7ead2f3a5936cd3e1a91fcc2c5f05df8628f0b243a5f86d0125b8c29f16c11581ef3b0b89fdaa5f01da3aa51e8266c0f1a7c6e35c76e61a3b1ae00e4adefe1b5120ca0046eb99634dc336ec9c34d5ca66c931c72e1c8fb3f7e190eed324db128ba0cc4b1719ef4dc12a77f1142b9244eac9c3d72b1af27807090726eee62bc901a02a2924cbbd5eb75052d205f80538493525e7237563620050d3ef954031031a316ec37a492d20f7b6541980454c4c01f16c0524aa5d38baa630ea60e343dfa7cc19f3964cebdba781507a097325293d61b63620a2578bb5cc6732353b572a4ad02503d42d0f09c03ba6a4311e4521a3ad6077299833776b4a5d0e68ae27c51b4e6b79aba2a93f17569363464f1c45c96c15f201a56f710159c0e7989857f493e82755d1b4856bf4ad23e627b95a884e27cf372aa2db2daf830e0c02b55386cf84b2da02585268e6875178888110a00feb8ce26b8155bdf3d1e105f21c5ac2468888f3001de4207d80118c33553ef8938cdbb720a4e177ddc325e1e38dd1f056ae30f59c2b1dba220266e200ea8f9ae9f1ff642b4a3280e8b78c5fcbf9617e0265aa4eada8583308ea89cb8347a64d02c58337209aaee4d05d3f91dd4e52c9e4a970b62e5515cc2e8a8aa30aaab55b755fd880283ba0ed2ec7b26af218b221da972cfbc0807a8461f7ebc6bd6ab5ae99b358d0c7d0785c4baee80a9d2c6d475ba15e4554fef4ec015db2e27d15a3d85e070357253cf721a48c166e2ab1bc49e6292ff4d7e487389349e78ea18d2e7827f8c9641e8d3eb770a518ce9055444ad475f471a2c11fefc23bba7ab8fe06db53d464c7213e843c6bf197a1b1a68df0441ba633b56ea3308a4d8870b01da80daaf8485723c2a53bb64b57aa2698a6bd38cca565cc5dcf578061b1e25d9bb133c80c73a72dcd287c93fbbef58f747d987f0e20065b59ff77434f954ef4cb5b708ea5b3772021a410f6b715ed7558f88837641849e2d0388359b4410f529e51a7d47d9374111868d781b988b79b9ddf6d30ce9d82f9d57cb04fcfb75aa0dcaaff414ba9a72929cc76abe22e76c2a05532e49f61d0549956e4921bbce79789a6fc9b1897972a4d63232d773de0d35cbe8f8902ed4b76375c55ca9af83fd10fc12854125f872b8ad8a4f94388b23d3d726ed50bf0af2a3424d9fd892d4507b8cdf4aa9bf78726e238226f5d7725c19364e37bac870fedf720862ef4d243bfd222726ac9fa42fb21c1dbfe37933b1f253ae023406822831e8e58520debb593cd9011676c95a61e95349f59d386e74993b3a71bf7530502bad336d53e88dd5c59c2dfb711c62724020056b5473907d3bcc18ec0c1f208726403d006eace530bba44460cbfe8b722510fc383ffd3a5a7e323f0fca1cd2f02d0e04edb32f9c82adef887f9647b62463da6211f6fe8e2c6af9055b1f4d8c48773138581b395b231070e6d843a04372e81959e124868e92edd44739e6d587275119f746e8c9ac2c695a386b8a374a2590598d4767097122c491ae4e824511ec2cf8f6b11bcf2977b73b15d63744024e870d07c1f570ef33c05bad4fad1a559767907f222d41e397fda8173c4f03f21f0782474a5058a635cbbb40306482a16824b2f65bb70524b886a6b32d50b1c67155c7b33ab922faa8ca6d6fd1b4fb387c261ce70136e70111d66142346a771172f57a65e8efc736768549b95fd17c60590cd4d362e0f61a5d6decba8dd9d249700f26b8264fe8243b73d5f1276d39c6501011a1032e4b274a255222b6c435b30e013af2893621c9497092ceb568a17f8369af16cab4a866d999c7f388d3429572cb409de45aa4dcfceac3762632793deacc8dc616d1938d3f429c5923e2718045bc705f663366e368d85033f0c3f81cb7825c412b3e3c543979f52bd9b24460213cda8c2d04db8a64fb4a47540fbbf69e1dc8d8a1a6221c9ff37f39b64032c66c205d34333d6b335a8f933151ae0a87e3127049efcf9e27696bf4f6026737e0405a085946f19b54977d5e8b3f36d93870390c657f70c117b956ed42f94b78cd721e213802ac1c41c514f9712dace3767b21696ebdd3aff5ec7d4dd38cbff5ee7227ae60cbdfea155fe79d94db4343d74b7fd4dbd14f4a0e1db693e03fa2caa872221713ff30b9628102a12a440d37e0375fb8588d91f81b0c63dfc8f215f0e21f8a6fb965a25786372450c889d8bbbac25d496b6603c0d88e5b2bc15690c07272ba0098a577d3f7150d30c9a6e484a37dcdf6f7a147d41a7e24c39223f7fab65bb47392f83402f42b41891dca55b351c7c1124504b989673b10a26bc5df4cf23531663680eefb203fa3b99a9e8bcba669fbb7f59d83068337b50e805102b388729ad7c2fe5cd9d504c8c7434a80f403294c87b39fd24c813a1f7dc8aafc12aa2fe98d4b41cd02477689e32d1e7e81910f4fc4b2166ff9e8dfdad646722c73f072d80270ac6cef49c7257d60db7e95d91b9ddaee9bc54c326874862f0e368462725e9de1d11191e6a0cdccb4ac4f86b9ea04ab6a053de2c224179ca1e33842a672563814651f42fca0c22eb6140d26deb2b201ff6ab4bdae3f87d99e60c7848352a72131be3b7448b2e99411a1288bc421051a41bafc24c8bdcbfcdbd902eb3347d6c4dd76024ee8e9384ee78e96b66776a7e3e7fac7881ad64f337ca40f318b722119d33491b3b07ffa2cd2567792bde77addf547a2e480833f9691ab3a9810721925db4878574ce07faeeb66924730b00f9fb0354d4ffcda5b4d5c94341f5413ab4bbb73dfc6261f0214064b9bbe182b4d67fc6ac523357401fd1bc661393f72e41c1ea2afe39112b674186fd20401c93adf44c045830da76b1a99fb11aca86d168e5e205d929d4d8f18f5521185dfae6dc2422d74d5d1fe74d5deb30febb272f18bb1e5ee77c24292fcbe8a1a0a35746dbc3201bc5bf2a0dd79e19fe9f06c1729ff06b3baf83074d67d182b0fd05aa80abbf0ebdd1e130dbbac7cd717cc6572727d9f14a107f1ede4376a8e05d459be1a145579837c6b42944cfa6f67069a72a9659cf8c15dd66ad785575e9bf7af4962389a631c204000df6eb21a9c1f95729440dae29c8faf8bdeb623c623f99601d821e29ca92bfcee18609f1126e3da2c8a3a15517c984b73db7ff43c719e13b0419fcee07bc9d7555225df68ecbe0a72ded3d42fd854aa18afe3a51754d550ae220c4b02784df03a5e03a53d914da172499918a97b3451ec2f510ec416a45dde402358da2f0fc7901a079eacb82b357218b720925cb831c6715b59bf45f634bfca4685b18c7db0c6b943d481060f420b16cde873cf59b7b3d4749e1b451827264d3879f335717b5d488e4ee84135be729d65097b980a8e01e624576aa314fb4ce7d9c5f110c76e1b8b2bd9054751f27256d91d44681ca19e034a7588599e15f6aedd344eb292ca3524f565f0c2952f72b26993c26f9bd42516f356a5a3666babe1b36d9ed87a4a6b68a95784d4050c7294197a33ce4d05708061dd94757b439a527234b735a3e7498f03131141dd3d72798aed5ffab4f97f6dcd55e5f6e2e143d280426713ab65228f91e0ef7b4c14720abba0470af0c01be80119c72f42976aeb8306c08cf2ce4a44424bb7910f6872d58877a3192d033619a20329b44c83e4465ae2cf40206938f3ca0821b86ea772b7370c21a91e1f412bdd25f9cd5e38300495d0115e7f76009e0fe428b53a217238ee5d11e57ba789d215c1cdadd09df9ad2b25a8c7a5c3b28f7905f6b77a1d6e2711637fa2df373140d20442bb9f08a752c5514fda25d05c494f2f89a291017253f0780c1877a46e2cc0ce2e718913081f3f4274b4f694a7e42fdc5a2ced6d68465ebd8a2290bcf7067e689831010527f8ccf91a206bd081a8106d85e192352131a0985f62274ffa341fdbd782a3ef6760fa30daf2a263da45f289dc5753aa7246b487c0a856c49e349451d3ca73b80e05fbacc9353b88894222816610e1e972eb3e67cc436bcab8753a354e0fac2c87f6a5a242c84db9d828656acd519f3b721bcc1eead12642de5aed825f2b6f3287d126616a6131080bec12d5927eced31e5985e9d2b329a55a5c20a2bd63e99c6b7a2108552820f2b194a8db74de4cbf7293b030f23978e884d712f8d4a4a465e999cab54517092ba5d1faefe6cb7bb6725e2130b629465dce0c0291fc2f2a5dc614409bc16b7bb21073297e5c88734572870a401405a7eae26595b47af415341ec1aa2f0881d1b8dcd6f44d37ec2bc429c046756341f355d5c91071cb4215e72a89f3dc179e3dadfeb1098a63022a9372e2b7563662a2fa420c63407744325afe2059368ab965432c19803331547e8772b8ba5c61b5523b29b6235b8d13e72cf27c4c65e3eca9352cf7acaf93c33166727e31d4d0b54719b2631297aa40d7ae63901a2acd7e87e990cd205c6019c6de728d065374c0f7ef3afee5407cff2ab3dead75890c1fd37e762207027d928ab772bbae5a104847778f5901feb151e99b0c7b578695c20c371809dbace696a5a472afdf19d626c02ed85b41ef720ff6d237bf23c0ccff1b757e40affe653741e3722fbc6cd35e4df61b6b31073b70e7acc1977c0956fc3f19226ed674ef7181f13f1f506b1e4f320682ad77382f8105ca3f6ad539f21d4bbe86698ba2ee13a85671021909df2e9f73499eb0fe4f128c3cf231247371afc4c3c59599d8b6aed0c472858739da2604749c9bdd79c6ee89c33553a67802ed6c163a184b3223f0b49f5338e4bbaadd01afde4a710cf6dea7ca6a1c1e0a6a3699929c932a9a8bf5326b68396b30ccc119d51db3091a8b20dda28c68f6577495403fcc067dcf349d40fe2cad30c05755f06e63d9f895b4913d70e22027f37a7989990718824e79e2dd3272753f737fa5b99a4de3d1bf0fc55b08f40bc285b2bdbd4cfd5cde36ee5e55b8405f05bcb56256a61d34e3b303468f159bd20b38c9d399c428bed57f1eaa1cf87214094ce574ae73101f78f797fad53cc10635aed278575a6a5e8315ab8b487c29592882f13d47edf1d57ef1ffa4e948a5bcf8e72f59ed148f2e574159bd7f5267f5bd745b88d5a123c9ee272bab808c504ea6326ff2ae3fb575133db54629563d09f1741c314eed6586891d030c5ff24004a82efa51c450de67a3f82cb1289772ccb8826edf8d004ff3a6ff1ff4a2f41a1dc6972e3496d950dc722e4f854831220e53b1c9f6c1cb5b0b522d2ed1c685a0357a716bc8d750c87f0f688138c81a721bd0efe083bbab6e55d847f531f5c7df01f538ab3f370644a99815ef120f8d6e0c216a62fa4b897108f56925aab2fec6a149239654a2f32b678e1c2e51d4331d9fcb2686010f6b9f09c2e64477ce9778dea386f5d8ae6a59dd37deee99cc13010ffee6ce66e17a016008d34933b085697e4ccd32aa891dfc83df453a389dc255dce80868e71b923cb4122ebeaa849ce8436140d180b53b35571b7d7b351623720fc7f2386b29f4d8b931e73003fd4db52991365c0a42fbbe9ff164eeabebad7155fd3def761d6d01ffac6ed25a990feafb39502fe90dba27d2fea0c814c29872175055122f877e8ff072ce5fb87ae0e9bc93494e940bea9c21c9a55c87554161c8fecbe672f2f3a45fed7203ec520e62a3a1905d8bca38ed6a14082630edd97248f4f73097b62780430183f81514db05c4c8c4ee234a517f75da50793476201ed2f181ef1f8d14e0aaf33f287bfcbf07ac40584de151802b3e6918db17708d4ff5553b58d7743a1e3dfb4c707a968787fc79c03c568599d260f1b416df35c94acc28b966298d62bad3c3a65c2757cf34220134fe780adefca7d309baf76554726fd666f95343aa49ade126680f951a34268614ed852350735fdefcd1c6da23726ee6fa3a03508786a2aeb7181a0634f5fcc324446f7c5ec4e13fb5b03346c87218a0804f49067f10a5b2bf1693461c93d61133874398067cd45f1ae93ec97a724b5ec1a63e04bb1e8482870398a3ea61778bd0c79df4b7bff3519ba79bca8a7264ae8c3de829d08b44a108cba93abdb7e957172e7d41b1a31ceba2275d991872aba8a6030c30a64a0643f5c221219d0db212c8588f66e3b00d148ba657db92724e8a0785bd87798ea7355ff2c0459ef9801e01039c2bd1caf77670bb0bc873722b3b06ee8544c37a01652bb127745e7ae96b1e8beb4a4798cb1528904f0b5d72759a9c0351ff13f600d5e29c309cae41be65a938d26c69715fdff920b72dd372aa1667d16f7afbadcef70e12f94aeea12415e14303ae150eb21844b29bbc144aa1b5b732f185b9c37af2e39750f322dd75f1568d570552c465a4d6feb9bfcb728236439ab5ca636e0b8ada175e67e23680b94965abbfa81d62c18b8f53af803ba2af68659ce1a7285bc4e841f972fc36e18fe09e157f8a20ab9465cc0f89b41814e6ce2b7cf0aec4f08ce50ff03a9483636916e2c734799cf86c5b9e00b8da20b808fb55de3b060950866023a4bec74ef06a03f61c03cd5c55dd826b106bb6722933331cbdd3bc7448742a83d0c3964b6389c73bd8544e880b987051f81afb721de0930d41dfd11d36ccb6efdf6b483b0d5ff7ffade69ec132c136548d912b0b9519f2b43f3e8e42e2b8e5bb2d5ae00782339a833b7af349aea9841328704e014951b03c528ed0f09580fd07ce4d6c6370a74559ba2156b4a2bee387d0eb1072f23a06c332d2db94fb159b3897e2065d94aa3608456c43fc10a038ebe7042972020b4de8877d5fbfa25a8eddb420a7c901ea12bdd24889ea2e991d8ee3215f727fa91116e08423b329dcabe90fef7664578fe92e4eed3329f22eaa3491846306c01df6accd8ce9ec3deb9ff6e4e34e5f4ec7d68a35211ddf9183f775f92978722b7930f6ef9a2d4afb09a4bea3b6ff5f45467fb127f23d9d74da1ff3782b37722be44c8f5da7c054e3fadba1a6f7ff05ccc35f86ecc5c8478bc63556a63bc45357a89a8958bb5f785ed561f366f57544003db3deea41cc5c1d67ef7bdf77f172e9487d2a051eee9c17708651e91b8e0db60c1a0dda2238f721e000a9003674722c3fd17d442a9cc656f0cc1a47b7cd5cdf729f8aa52da9e562413bc5fa58de729a529d634bd54fe9ada600c5f48b5eef713353915fbf6590c3fd6742f3118931f4484c89f6d9d99d65fc9faf6f4711b1251ba67f9c9421b40fc4cbd042441e42c392e31329e57779224d8ca89ec5f324d2e5e7a5c188ef90224763159c5a04724c2386398e251667f8fba1d2b9d9937d63d1b9828801c2dd570a02c95d601c7267a216d3ef96b6856791b08d4160cdd13f8563458db32fcb8de1368c57ec497207cfc71573102d9da23dd8033270fbb09ee223674f16b52dd521807a2de7567243826b3d581291789e8adf6cf0058bec2168fbbf98dc2b9c0fcb775a8a7f507275a738c84e04f692acac78889e629c5b00d2f3c15be8a599c7fa13f2160e4b5e5b65d5854668482926e5fd4d573bb85dbbc463ccde569161d35859bb5584ce0ac87eaeb977e6265c0cb2ff7a287e8890e389a3c00039740efa4f1aa1a6ab047230ab3a008ade98f6d8097ece31f2cc2c7f6676849ff6697d85510cd0c4a88c1256f78da751b9b9d95b5418bb45a039123a17c2e8aba1f4dbc6da4e77e32275512db340299c5885b34895aba05570dcd9a0ca8819013c932c6068b156bcc8e072ae89a917b6ceabe6125e96b469378a2d4a7ca17b6535f3533d14615215076456feed018ec75e30e0d09382d07638c4f728ae76bed15ea27172ef605d240a4462c1e93c33b9f8e58a1498ad122af441f7a8153a577057b47efb4e4c44f63e5459465c2d6aa7b231dee2bfcdc2eecba4e4911e86d391ec733910ace22df7c68a727e32a96a1bb64b87f4e2f86fe35da6bf07e90cb8cc80c6a85ef56866647c2a728d88c7728f31c9055c74da175748e9902bcdce4fe549d04f7a21100d1b9d3872ca95002382d95184b4885c5e08fc28d052e74f3118530705e0e1770174286972de547138df7aa6bc11d38118eaa62166ddf8068f3b9eeae5e3cce7779bbf670820fc6a3d16a425070a7c2cb7aef3e46283bf359537f1685dafe59eac7bcf85720671700eac31f64d4adbd95ab99ddadd4d86b9cdff25038fb3e469e0a4902772282a586a7c99f260715c34a668efeb590b70f8b2d0ea0a8607e2229fe1ca821fec1282c69317f82d93065f2a9e573b755c333f8d7080f96e35350ce588ae2072f58b76b590b48b14533e5c834039334fac0d9aec48648ed9427e063abd018b5fa5cf6b8757077079ef177fae96bececfc4a6bf2f589d7e1a7c6b6bfd0abfba724c4475a7fe9ca594aae4d433a307f937336fd08d60228541d517138972a6f272d13b170f002b1078b461ee5beb9ea4f38e9fa2e05f3d22892156b4d9b0a77c22492d52c9bf4a3de7ab18d40b4611bd11f5aa6308dbeb154b8c4b68c55153d57299ac76f131e1170167b4a6b2b7f498dd2e84c9b727c719854bffa83f1bee543971069363fb9d6494fc174c34eee7e5d145c113eea2cd72792e7a779a6bccfe1eec0261ab8bf6e1c2149878dda6c781dec41edc556b31d8d3b80a1737296243728a7d5bf2b41cc4391d7ddde9a4cd8703f06512ff3d3287ac10a038a502d9ec24f93bea825962d1872103967e61f8fbcbf0ae31c00c26c1bee6b0fc324440cd72d5cb79d6b7b3a57720098fa4bac766e8aef099dbe0ac4f3993ab367ce14c7131eb13b42b4fa0532f3d075a97547923922c905c895af8f930902ed5d6f1bdb27257b0bc54e3bbfd8811efd60d279b65476cf34c3618eff06cf375781c5a226172562a7844ff8b85cf47f055906c5b5c90cfc50df470c03bbffec96d84133a7123310953150466529ec44c1105f2bcfc09cae54c47d87c9fddffc4ea0eb75f65726acafea113762a3daf0a47d974bd719742dcff64ea45677bf26c7e7ec459495e5b77445b193d64c0ddb10b7b48dca8d0f4dac5547b757bd483bb4882a83bea7218e65befe5a3bbfb68bfe8bf7ba63e3e7d17170257cb72ed2b76ddeb47e0ec72056fe3ab51171ce28c54335696a492151dd88617a4a2fa0233e0cfa7f56dec4b3ba60fab07b5b35bcb0d5804a0f9ec29e8d58154510064b28234769c41b9a77241d0299a90b92fb326209cd9a448d12203c392674aeb1ace9eae1cb89c39a772033bfd4d2f5a542c89907fc9ced395bed20ea7b5384a38eefaba330450bd92032214117a60fef5102bcf85d6c3e7bac772de29310f3e5b67f3212aee8ac6de61fe48a58dd34c11b5147cf9944cc0b478bccdc0e03deaf59b4ee19c0e2f3a9c72e78209d31de80cc0000368bbd215d1aef554aea4c72d95032b095fc02c96c072ec34856ea8b2ff466201586296df1f51fdefe4d8bba27e939ae91c4e6fa90772bd18b92a20d450e11a15846be7addd7db776c71d50226bc4654b5fc5afcbe2648c1070cd31c890eafb3be45d44eb3afc7823777c3fb460b38fa960feace9f472569dd734410724a8fb95a541fecf8069122b94a1c7cd28afcfd4e7a2cc781a234ecb665b0b03dc055656a27f479cb1ab984a18c21663bb2455ce8b7559598b720bd09b6f18f351ce943d7214d2891d6810cff0f0037d99ce55785e76e6cbdc72b7af98de89e665e60b784e6fad99ebf3cbf6e6d44dbd018ab19096ce1ffbbe69303da2b2b3457f306a5223fef526d58f06cd599b502499e02cdd1cabd4334d7247938e5e95ff5b08580e161f422b88bc1ee67ca5730fa48858dc2eb774f89d565da62f0481f5995c2e625f63a2303d81b88115307b22851ce39d47cb328980720e10867cffdede88fc14ac55fa0e8455044f8e00beb4ae305f266ddb54374872d83ed2d9944bbb2e4f1b8dac35e52371d2d5d10abba6839091c86d36db8ef3494384f553e20f6f6d6023aed259d1759c84f7e78ab8201d95762f670a4ebaaa72749b55a745a3f348b933e3155a37c5376d5bc89f2c5492219f0e6e43bc54c8161f76d37ff728bd461f8e410de1fc367f07ec871bda0d853f535b5c052ed81372462883db3217e1f6289bb6b8647d44201b14c24aa19390c4363bd0734d9a5b7206ed6e1e0170760299a8263f9eca9cd8df35c7a0ec378fb00d32df7d12748072f6698a40fe62e5c419283c4414e0a40752aad0fc977d7b9be5b6a62acf5b5a53fd639969915b51a7236b690545c492a375c54ac6df5795f92f03e3857dab2923ab6b6b0ce1f4b96ecb6dfc13c9ff4ac5ab321585ae5db175fa1b3bac15034e079ac5ccec8fe82a342c269d758ae716f56b419d4f31a0584f19789c6b7b3edd72154fcc5d87047b56bfcd3c1c62f77f290d834dfcbcc54a6d258f40e21492c8729d1a940b0b7521899a3f5a6569cb69ce5ad19b52a9bd3d80e1a0835b2652d33f336f2b1b59ff033c3c3a96d66d6215eb2e627de667d2284b0177d2d477c1b272ea96cf1e90988eaaa1e92690f59e0aa9b14ca88dd1932a0421ef3cce63d2d6725b90d7262067be9ea7375205e06a3768fee9c6dc69c3eec847b6b5d725c86372d8552352cfbbacf63c6d8bb5c2630bdb269edc17ca4ef86175bdb8d512ebdb726705e0c0f5becd66462ec7b847f404bd522124ce9775b5986afaae48553bd272a3bf3f0a727d7379713cb8c8e4f5c6db6d7ea43c3acda403579e12260b776472da303e676cb5100cc09e1af78497d0243e2913a75ba00bc8a6727bc0a5a9ca4104fac15a879db7e3733c903c44bb326f1175fcc0a469e6736c547b5c384f9e7225c045199624fff86b706cc9bfd92099b0464d86fb9c93f540d534cdab6d0424cf8be7bc537bfd7c6454fa41d92a422aab5e20ea228e2f30aef6dfc46252c02bac35fd04d923762e9f7a712f68c4b68124e93ddf1a834d3d5735944c69c501725f5a777a38f6a4c683ab0426daa77b075f2b5f26ff420afb0c332ca666a32a72abed9f75be3d34eb24b9631e3d12e194d15a8cdd791f3566667b495876425c72bab2bbda8d15ba2ada0d2f95774695fb1bbb9e9b8b6d2372bf2f09d959e076723e42e9b0ca9b904a0860de0bbc3616702b5511ea1788b3c5fc4ce40f91bd91727f7b4bad73fdf0f3e5d3f381fc241b31d6dce6b24871f64ce2eec69da407fc72dfac4956e8e09a2b6d51aa9d5ab43493cab3ee0d9b2fdacbd2fd80cc0b2c597266909069e114d9589f5d7a12abe858be5fc5718bef6196638b14cc67ed56b0728b78e6fe74a38bccfc4c5052e379e8614ed211b9ba0521072e058f5a4ae00d722c70d60f26cbb3711a290f8d5197ee8d239ae6c2acdaf1fac975c9666df16c72dd0e6f16c3ad9c0594addccb9f6bfc28da8131942a8a227dfc74a0880a15981bc18e4e159d04621a1e17f3cd179fac27833c8d37ab873c84b61fc9b3d93af6593f05acaa70dff4123196ddd6493f9c35bc70267a9b003b4cfe21d9828ad2cf6152d723aaf92c22107dd26cd1720dca6e569b6f6615fe22a3bb5fb68204532d726104a9ff3dfb88d657c0bd248b38342e9c899346d3b713266a9ef1458865b67288011379bf5184b32a088ed0ed61fa2310a55a70111c4ad699b693c5e2ee3e72fda034d354bf8eb52918570a715b5cd8a5190628f83a1416dd7369c2157ca1357e773bc0da9af32b0eaa834e7f08557ee070321bb991dbd5c08618363545b9727b08ca831c3a548f508c65cf0232f01227ca7c4c8fa1ac74613f954fc1aaa54869395273777a8225c75f38a3fbda23a773157851c570338ff3a03731679b2a7219658b3954ef02faf05419861b99e61dd50f0f687c6919f8fff0c42493ecc968cea35e0fae353ba367722bfe87e9b48ea97dc678c00e24a94a94cae0f43bf67210f125e16739f224871f3f71271afa6f87e19951e8337b0ac07dc312181f6b3cc38b64f381e7b99088d2a48871aec43f4442d92805f7cd4d45f87dcde8b5a97200cbc2cfd287a29661142a1e8ba86788de6d44ac62539485636f94b1dacaef729d5aff55bf074cbd0bb9b066b219dc5b427560ff6b6d24ad17af2906a0e112724a9efc3739fbb929ea79ddbf738b24a4b0c52d9f8c4ccaf163a521c8598990729f5d392fc6a3640c15dc378faf1fa4fa97818a4ac21b6a9a3ace01844c49bc72ebd6e2ca67f0f036ea18b1e9faf0bc53204794c7bf8d6e610860bb7d4016120cdb218ff9c16f8b1a7546318d45686ffa8de7b5bba5504c2abf4f20ae8a5259720f725d9a75752a1c47fa0527f2172da7fa2aba647d5e3e95f512b57b368b7c724e718d4413e5022973bdbfae8dd0b0b37851ebd4516eb91aa04ec61acac34a725280f8c6b14de6343f77292916547e58de01146665921d0d69d7d26f4197967215297a1d25ee55dbee02b851010d9b7bec17a1ddca2db1ff29aa33d1b260554b1deafd71dfd14cfc1194592c7fe320b561e2a2be2fdbcdf0dd1aef2097ed263c8dbf512d170f8c2c05acf81a74e6c73ef8d86db3fcb1d68c46705ead9bdee8723c07b6362cb21dc83a8bfa5f9ba8ad3404d97d283eb37a5ab6028f8498ae772af6d7c7bed46428c4c91aec2769b66231ccc7856e3944e2f22f3bafad6c8bd3330fe95e4173f08bb432b507acbd8d9e12b141be331c388bfd97008bb7aff52472d183dcc02f129ca65b798aaefaaff3daac2407e0f1b97066256902df73d42872fb0ca552a04bceb795c8846c4ebb549e4a5b1402754268904107a30c2280d97212f32013ea6ce4a301fcb4c15f554478d11e0b941665f1ae1fc1c38d415297337f06f9f0455ac372b64767c082098da9b6574c27a12cb26655e5d477676e794f29a6976e3ce5e0ea3be48f3867d73d050236f06fd059abdfad4ac0f46d58c3723de642746412369ce8cc2f71cdac6b2906a79fa09490eeafe8a28a0b1829164f058d9cab225d5b938aa923b70d0ff27c34d092f4d50b2adadf5339a4874bc272feb1287bfc917af057ca18469baf76d90b28fa798028b7b255aec63a1c049d4a912d4b13005d042ad9b21f873b23dc8b3a90bde7b230bcbbb4b2343d32bbc37231e939fa19cd7095eb767d59001d90338c06a3bf5644bc066991c948f97ae219f97ff60259c74d79fc49ae36057e7fe91c33f53899ce6d7f63935993ffbc176526c61b4972c300c77f7dad6e7bf6e17c0440193b69e98469584043ded82444688abfae6f987900451dad9e5ebafdd0e29c2eda5fc8c989f211549004f632de72ef05bff9b4c957af9c29bbb9a0aaad0bd6473dd0bd30c70bcf2042710ce2c4553ebb16d4a8fb2871646a23b543273c76f1068cc421e0674d4bda5d48a9d43c597c399bf9cd85b327e35dfcdb6146a4503f5996571a02c268cb79e387828aae720789ea8862aedc5e680ded8f48fe32bc21a9b0244280aeaf9c170523ec5f6d72d989dd44b61d64e8e7abfedffdacaf01e47e10bd13d43e2d4d36bc65b5939072b0dcb6528a2f30b2d670a534641749f08ee2ff6f0492a3c85879a22737b7307239bc94909d4e519ff1f7b4d67c72d009197a454317f3d5b707748b3b11a53309c3d1263eee00e1240ce7f27aa063a2de13b83c1fd0fa382379f523975c21fe70623ede6e85f1a7655fc558317438e6aa42cf663aa904d1c3955388ca5391567293b40ea31288a5f2ddc419cb789ff8ab839285f1290183efdd3aa17f0a269b5c1e76e998722e4735cb2a29c72c38edd230fcb019a9e89a5565c4a46d28e22f3b0e059fa5e1dd0bd3b72df67a40c0698e61ac4bcb40f0afb79914066eb4d75a72975ae93e723ced5a1320343de7d07526887bb92471476486d6dc7ffe3f40f872f117f3b5084af2797d40c64cf0932fef5de96f8b8deadf0e31a7a6de5ec9c872050afa27924ec55c9b319540b4571cff0076f11da866b99ab9ac49ce3d5750725e7ceca44abc663f42a9705b43e83b03fbd0d9c9c611cbc907f51b01356e4572e188a4e7ea808b45d0385426b0cc201464cf96f9eaeed2e4ed7ac010feb1fa35ed8e53132796c77ea10e8594058bfc874884cd71e40426d0e545c3e729ae9c72afd98b68f821abb11f520aac2105ac19e780da37fccd11797bfe5c0b52b0353ae74ce563242145afe2a5cd1be8148c9e0a4697dcceb7fa15df802899f01d3e240a4ab997888b0e7d97284b8fa2cad6f6a73adadf57d4a525a049bddd305ca272c974d7a0f7d37f8fb9ae0769dff11852dd443b274390f9b65e06626234c530722a7c16f111e7f7c870f97b7b78c933dace0ad9cdbccd9a248c0f037de8e674720751b7d3a88be15485dfaead8aa54e458e8bc0cbc5b7ad5e0e001a316d693972a3318b320abb0f85d5b89382394e69630fea5e4f30cb68ca2830fdb0d90de512018c90f8a260cd784efc78920ebdbfcd1b917c11d83d2e405af9434758bf0504b4ed821c4a1b436c5e57536c271a056526ac487e370bece3cd7f9c7c34e9f308d3bcba128cabadbff71a2a26925f88079da787b279139fd6235f155fd523b56ce55c6855b5b3655eecbfd5e3bb39ddb8eda4b15ed57ac47d720bed5f9917ab72093c77d0c171b201396d7f5095422972ef85407463f81c4eb47170af76d0fa1cfdbbb8336e001c396eb0e89db7337e5d03c47b2deeca284514c190c4090068219fe5fc1c943e2a1b43f87e4930e94698812a2517198a452039932bd3d7f8b6727bb7e0d75ddc72617744fdc7f95847e636958b7075617fe9d1fdba55e95659727d0b22c20d606445e80500df2397552b5bdd22213a779bfcbac8f0d9654399724abf6b6f7b2e2fca13779045f1937f1875cf2fab8401afb2c1adb2f8270bc972c1efe5ce145551a0c4bd637ea8edda7ce5c8f0c822719c67dc6b2e6f85620272a371094d8ef5c4ede1fd324694de564fcf740d1625b738556f320d15fe1b0416ed9852b2ec9f1852685c26952b7b48d53c17507074057d738105d57d4bed8d727ce35e6b634ea0053c8c6e05ac0082561663b252dc21caadcf28bd9c86209172a95d0e0f7841b401a056c0218a9cfc7d981b74bf65e3f8d5d9666ee09031547201b96cd12f20b1b22074d6a494c0d07ab37900665947be3d9d50e9b9438ebc72ba286c16995fac9f89bf18a4524807f3088b31581e88f91b010a7e8fd8678d721e99b2091d03f183e57881ee9f69a5d06bd4b519f7a8daa1ec5e8518e367ac72a4f8eb90dc5f50a03a0199c25d9fcd4032f1f5c468e7e6bad06be7343b9974724cb17c8f54fda89ec80b90b81e50f949b37e1f93d1be7c1119a92aa1b9119631fd6399f514fa7a440da811f1baa5e36b77cfbeed51971464309bf70593e72a723e190716981241da7275defb5547b79526be9eb3e40b2794cb6b6ad51943dc0f1d82c5023baf5454e10d12ba36edd47adb3e233112013387398904113bb0006681b2c601eee93c43680581a2b050868820a0c313ae828c46384b7a91d0040729be5be79f7f3bec2749e04d77a36ed5ce4e69841da3fc8a7ecfe1de0477804f22b2955b5eae766375911b0e66e9b1d44acdeecae853fdd83bf9dea06f754a325f6374a7cb4386dd8ac2fd2928484ed47e22739a8e28ce2913d81b3d989e8ce5720ac2c0d480bc4b9492c5eedab32700edd4b0ef3cccca33896105f6e8511dc072b62b83bbc05677bc20ce194b82dd96985990477704d97e837f7cf9e69b1f207271861aa8476fb9e74162970db53b54ac6d5a08664f31b450e349bd98e4144d30f9f204b99e44323e0c326a1beeae4dcfa7e9ea1f6618518d4ef62d0d8d5c8d728f9021f226342d123f845f11d165283d985694d39f1c3077444dc1854ff55b0339bb98856908c80938e76f04e8cfdc70e133a3702dd1fd203201a03e411a1f117da015cec1c4f1be2b51d42554a61de2f63572cfc7fcb9940fa424e32a37fa50dae2ab265715573f4cb38e0e037aeb3124ba46086456f88c9442b9fb6bb9f8724d3a6cd60deceeff8f82edf16c264d7a1bbbf3c876525ebf9807b2285ff48f72859cbe82d1f435af812f15fc0fed4e160b05ca432f016398b271acd8bf9dfa7243d0061d00c6cb585bd7787a49993e807b55d6c1ff274b4e1733c0ad49ab2a729b312e3abdf86bfb8db8bacfb20a5dff3f9173291ae804a322b79d602580ad727aacf7f932bd39f6bfac2d5088ab5a855f97b52a2e768e9b00261c9721e4ec7219dbe12f1c3b86f5e617c16abc9d3a9139295e291a424b775601ecdc7ae22472653e357ac5f1486e3d6d46a5cf8eddc9a9dd9ea1fb658cbe1f68265f9036f445468464feb420b4e080fa4006c2d6e28721c1de0d978053f2df3441e357320244e010f081a3ec9136de7857894ea9b3685bed331b5fc69f54f85860645b54da72cbe0fa97cff08c2d02dca4c8b66dcc6a8499b8a0ee048491e6323075277d90721472ad4a00c8c40c435646b8aedc7c945a17c78f0979e3916ede7d47cda6f12436cd1ee448fa05bc1a3e8dafb5e592b4daef886f95a9cfa9a8cf0a89f9570421bc980503900672539ecb20bfca68250a9a619a5e360a27deff6d3cdc44da8b26616b867f32cfe92201a4779f9c0fd388d396a54f0ffdb0c6c30cc9975d04647217b64e2a9d13fd8068e554097d36c2bdfc767c0b95c5820047323d80f90b770ec336c6fa1436fd7257eaf8058480bf8b03c5457903c9fc9c855127967addc572c41d0456819b562f58e7f2b8cfd19cf801f0f1be32fc3a10efdc547a5ee7e749980db10d214a8e28e5bd7fb83abbdfc273072b7af55e109123667cc34c471b4408865b8479c8ccbacbda9b58cffdd3cdcf7fe27c89b823df442fa5e5cff8ad72979a6e705f31cb8fa52bcc5b952287a9f7bcc307cdcaa549b276c27802b11e4206715436222c53e1f6082b23670691ed239ae7fe65c62790618712ed9fc683723b318e014290b31a96aa8c1f0b2ce16698010c48d20b50e323dde352a032956d6c9a00991b5fa4deb032a86c5ed8cf0420c9749fadc40ce712da2b949cbd8472360b386230af19e6d393047b85d8f3cb3c1436e2f87fc0af452a9668e3ffc072aab2d898fc470f6fbc1062a29c393218dced910c9f0904548002cb82dee7752a275979c56b7f6a810c7397e555d604846e8948411a4beba0560012e272644200f260899c7af3bb96bfcc21935c8aa447d8fc30f82ca3f9e48be587645c045b72fe6380563b1fb44eb16f98a2b4bc6a1ac4becb66ba496c6b90b0546c43c3e122ba1da12e5d1aca06fb36099090176a6e06d16142bb79b1d06a77341af9134333f6856b7bea9633f1022a277bb47bb6bec6ad63a82bbfbc8c2399fafee811c46bb4cb84a35c9f9c57cf1fb9ddf3942bc10a293621a77dcd8ecfa8791f3b3320725d7e42740715bc1f4eeffc750c4f642a334a6710b4b0a96812921ac8a7f1415b16b395a27a50e7657eb86c36952e7d81327e12bacaa19e0f97324808b7600572c80ab6bfa3d8496b634d24fac45b1228e284935bfccf1068e3ee3327b2aa3408e7dc924d94fcd29475424e9addf08a8370a271fc1b92fccabe75005c59668e5ad2f29367b30350be5b2b32dfe939bf35e5c8db2f76ff600c65fff5c9c827a1659df72783d81481786db92e8bced60c3a441395fe47d717e53ca684acd3dbbb16cffc4b536167b99b2b012b3e0208ff21f2f80ab37f7b3f8116b71f43413b22724b01bef6858ad2f82447f5e7783a781205962eea850355ed418759b20ee6d4511c93ecdc51f3df89b2855695e90c7d4b5274a20bccc1ce0a62dcb8b37360f5188c9c4f9644f8f342aff78e055eae6104222bfa95aaee94b543debef128c8bf37dfe445190fb44d05d1e5a6a8518002d413dd8b5c93d413c9c9ed0a0f343bef72998f7a2e06ad1afe3b291d3059fbc3695ac07e793d2c73663c3e6311aec83644d32d0030aa88a2f329e20dc68a2177b18cbb7ad3a951e4dbcf48255e20004c72c1c8170cf46dc1244bb6698f19d5cebc274481fad7b2b13e6508943ae01d6a3869cb0c7fa8ebea1e187780c74e653d9a59534863d528c943aee9511de93fe80540aeeb68a3d73c13ee6350f81279c3163bf6d9d3597918447cf13de229dabd0089fbbe83b3cf1fdecc37a2309dc09e6671494351cb8af719cadfd8fde3723272d65f8d10358aa8709dfec9e0fa2762d1d1e3b74fb0d21ad0aea05cd49b5aa972ac3affed1511be778b75026f302cb09b7e602f2d3199038c876f4d98767be828bb0164822cb3879f147c86fa5c57299386dda9ae9ae50209a55afc3d8b1948728114ab7e7b0db3f2a82bad2d2c0e51190775aff08dbde48baf74e6e0530a4d729adba7605fda47d7ff9439b84836dfe9a96d51b98396658481ed7408f17d8457b243dceb5f7419db0f27ea9897d92f66aed4942f34267bf235eb038a35ff01649df37d7148c365ef046cd3cfb6feb529866f1c1977ac5e753119c8ea78f8472ef067091788417540c2da433dfe11186827b86b500246a8a7f42058cd82380d72f7e12b48f17927733d20e9b70a8d014d32241d25188ff79b543dcc336a253c59003905e89219fc40f45ab1670ddb0834c3e1bff76c9d8285ebc9e16d4c1b977222e6fc999e9484e5a36eeb60c32f9149289d0e46bc9f7f5f2f5fec62192daf72b7ac1b9bcf59d0031be3f31d28206976b471c8374e5fa8dd9f4a7d87db2a0372f5a4eb79b912e40e4e73480805439c55db0e38c88a06a23b4a2d67900da192608942007fe5505eab1db4ae5745dda1df10dd76b65bf4414bfb0dfe51f2372772fb0709387ce3e8b1181c3ba94a1321a58b51561e31d6b54f4e700f23658fa33f36ecc2e9850c686ecf79e549d9a837f541afeebe2ce7e27ecac74f367d650161de3cb9d9fa69f99c44274e06ed85a790b8b06581002080309ad88ec66fcdcc458c842c70efa11d9b063c6b4b6bb742e3de5d4cbe5983aee5bc9383008a90f2726120031543e5d008bb0a3f6466007578ca2e58d1e2b541466ed8d9a94f4bd5725cc1a9623e642b49ec203dadc0a50b327a7b4f95d47f29ef4ea429432abe156a2b590b239c9c220dd724924aab68fb82249e5bec52b5b36758143609cf0a4035268f3ef53df5c9651d65911686ed2292a7fffc431c5d4772342c712147e98472124b790730b27539e9e35eb0169cecf102b5754b77e87cb1f4d9de97d58eab1389920c59ef26046bfa5c3ec9ea779e1cfa286a680bf231fd51f02187fe3864294e81c10f3c47c1d944ecd448cf808ab01cf267c8012d31d2e639041b22bfc40cd9b7a05233f761d3d1a30771ded2c0c8eb4ca614f6c88c40e14fab0ef93ab27277983e7d5834a860fd16626158335c323b5d4f72ce740497555b7570e9a0167219423de74f428b28b64f4f8cbfe2628f3ffe2c4cc8b9be7d5a054221e1190072dd5a3902882baa2f29b386da1704c3881b93b51718f8cb40fe0788842366a9729a83e6148adfb26feb9f539ff76955176822e9d006ad1476c69dfd0b8612887068c72300879ef28a265a22d253266bddc86c871bef8165fbf4c8b4a4fc735a0464b6f490186628fad00d00e0da294bb6455eda2cea8f90a966253a69351e5c72aa633fe5cd29cf53da21d93c4a30eb7217a70d4cd5bc47c52fc2b870f9d3cc72df68b3cbfb97e7fd63b41de27a1bf806f49843bb31eabaa8d9abe499c104e3722887326c0194d84f3b8b82b1b65707afd2bb4c5ab04ed5bde95c945f38852062f78798c6afdaa06dfaa03c05586fd8069e3864839ec8c0c6cef303f59899a3725ecf5dc37345765f80446b905d3fc65405f856aa778fc91c5696c037a4637772c77273d7f0ab79b61925a91a4478facb3a6a067bb220c0a83c0cb0f29014d57288da9ef3747f0d067b3a5eff45b9c5c9f7c251aadf9524ca48ab2e49a7727d3a918d22b2006ffa88647c1135a80dac7fc6972fe73b7d6a799f32ecb4dd322572c0ab4544132670de58a453f4ce58a02a5901830b33d92a3eac0cf5f4d31d5d7290473b87e877645ee829f98c9c4a9a5a5b43786327fda7a6e9c344fd3cbe15074adc12b6c329910880ca4a378b3b1aee9911f2a7bcd209292c146393b6e93772083da334907d35ddfe65e6a98d7d0f45036d18c86c2d21f5539b1e8479b177729e3605db183bb0f8f7967cde4f3c798ef78566a5caa0942accee20c1649b7016e66fec045575245a525beb943937566f9ff945b9b260346469eb207c79ddf4724c03dd967b3fd529ce97aaba9819fcbaa2615ac1a87d4ab7d51ad3336a1cac6760bfbb0e8c6e1bad4d5d5510208d1894e23a51aad5f83ef8472f74b6de92ed729ad030f09e8c72f893b0033d00a55919a4c78e0a6e47a4fa307d3f53d6e70c72c97184c74970c3b39d110cb47e33a800c33f4c792c5cfc6e4473e2996672ca728645b4278e6a345a4d4621281df491396a7abae8df9f9fea9a6d5e9a4b4a8e7242ae43a26b73e9b6bebe5830f104eee2e5d0dda4993ba3edb382ddb66ef43972a523af9059c34f1f58f2e55d672d0e326c790e3aedb6efddf95ee1fb71833a72842f6226a980f1e9bef1ff7aad214a13ef45cca3e13d310b3f72f1781b6d957240593866ff408d8b3466ff75a5ba3b3b1d38548859e7996e6ad7ae0a5cce8672d145b3468057eaa519af54c48b8d6216e6475e950cba71410dcb4e96c315480a5a9aabe99f297e4aa31c1a260085ac226017b371617db382f1946790b818380cef5bb4c5003329b77215e63c4aad20f8f741ddc8627083c0d645ec65fb7592720fcd01877a7a6c979bd47a4e6a8cc74c2626e16fcec3e0af01d55a291d5cc50b2bc2dc892a80ea9cb7e7ea5057c9ffeeebde1867622d4491c9df0d7b91eefe3894365a208804ef64f5c6cec8493cc69f01dc26efc4ede1718013ba9e33363f72c2d22fcf42f8f61981373648e545ed168f717e5b342e507fc8413e4952623772a51c53b85454af5db25f8b472247e8109ef271e59f95ff4f06ffb1b13fbd5872392a468568eb16fbe3bdb08b5651b18c3e7450cdad1b392dd2843fcedf833e7274022042161b82764fd8d9aa2d950bfcfb12ec193b212fa19b534111d5399172fa3c608064950ae90df17c39dc76a8cd4fc01592289c7ab2a5e2940e97a27072454c59de48a09ae4869e89b0f1f8c89ef3089356ae919fd9b3b79cc2ab9c0d723174fb823a261f71725aca49f52f71fbb5b847d20f4083c19d55569d95c348665937df3a9ad47f65ea2817fb849943015b869e5be0df331d5163384867f28467c9aa49dcc65ff3720d88e9216fa6c82caf062b61c56da23d1575bd9f5e8d1b72405a6bd396c007772ef12561af70bcacd570365ac95e6b9c7923dbdb6ae0eb72d2253ed9687b5bbe74632c52847831446379d2004b657fd08f7672d1664c78729a36a7847c5fc9594b9227c965e7466791e7cf24bd733f6b6045f2d3d2fdfb68a9a18a8df89e316d310bcc40a804c4b3964c3a58db01128dbcb49ac4c5e10d72fb8c5cf297f549570d31707bbbcc73c33b735f6cf8c65e239c027208e3038c727f596ac38600f84d99c2cf8e33db917f78ab9faa8ce21e7ceab55649eb3b270e5cd5b72d77b1e6ee5ea23e792381967307721db0797074f87de6a231a0728a5b6ae6c9ef4e0c00a87d689c642bff3795da376a4f68da2a821ae37f61418699721519b66b904b9c2eb05a8d7d34c573345f0eccbff703fac7c669520b0d7c761cde20406621f9a55438a4212a2f2a5dfc6eb19e9c42f26a18065a05be9da9e941c280e287c5d4981b0ece6dfd8c6cc1a40bc689551d838b9bc635047a8c0fdd08b4d81f1da9c61fc6a73d4692d83ab8f6ba5307cd4aacb072356dec559d9277727837811625166abdca1d06cd0ce1288f415240874ee2fda53457bffe9d4acd72aaa2ddeac74aa595785a83b395d84faeb6deb86123da3b1e5693aac0309bc70882755d418f95090e4d6783bed86ec85b43a87327bf2fb9916d42aca273b98472758cbd256899a27e2c8ce18e9fd5121994760f3afd7a30e0209d28b585e927724d8078b6bfb5fafd94bfeeaa0f07c2e173845d233855a2c9c6d19e2331fa9172f6f067b0136d955d1830f6337684f7c4bfb518fb08646341fd1c22b360c493727cfa0665f32bad5f8ffb1e37d1971f907403d8333d82f60fe04548889dd75c72d6e52a00b4eba4d11568b54800dfad98ecfce8932b3fb0caf0af6c4b6e834272fcca48aef2ae3e7f1d18bff921f06c3593018c5f090bf25349d8bdbd7f597333d5804dc5905310374fba3f5d9b993ee95c159da1f7467e74cf305936246cc13574208b64a54e3f4584f4d71751435845388e7a13295b342dda8f4f93a9a13772eebddc560b21a0d331e5220df6500bc086909303140d94f50707e9b32290e27209d2dd5febaa1114470872f193caef1228ef08606045b03ca4b60503c8fb4c72791b0cce4f58df21e3069def7a0ff3614b7a45507bd79d97d8200a1e15180d721ed4c0ee08b87e0c4884729adf8111545259d70a68504fc0d43d3bf396336c72be1b4160a66354e60822060b07d6e016c434d43390e1943c8b899e7fb9021872990d3017904db27b79cf8a5118d92dc933b8ce40c150e9a4b83086de77e52772045fdb74d89c1e88dc4ed8048637c5dcae8fb81ef8c21faccf5d9db27b0a53720157866dbc361f0b3ae672bfcdb3c8a9da42f8a2913912ddc184575a0417a91797307c17cf553938ccfe83c7e76597d404433d349e8b7a8564bb484083977b07d52ed41789cc56d01116a31ecbb3ae2dcb3317d276411e93cb676771aeece534f4573a248757d69f93c2266247187b9cbc4b1241fe0072ddd0818ae42eb58616eb20e0ef6f4a460e394579384b763fd127823dedf6329af89ab53868bf428172f4f0c72ae401f81469713d9cbac93ae0b2005bac752620c5fa0e1773d987147220843a4b7d359924033bc2b12f221f4c7965557de3089629bc349cc5127e9d159cd1cfe43b1d09267e08aea8e37de84733eda889d3c912e8a8ecbf56d986203bd879a43b2a2b189661a0f1e6e0a1aab5b896a2233dde5882b632b57d8d34ad30dc540fa5c5eb61fe7db5b632cf1ce3e0a15e32426bddf1189585702606082b72cb86aaac307c2fcb418a25edc6094332cc1c0bdb6839c24296c33e310817af72ea5572559b122a0a3d0efdb8676a1dbd39bb4dbc9a965a96f01c437a71e31d2e00a3386ee1a12b1925fd03cf660eb0f12a71d0ec10de698fab7a27dc1d6064726beb2240fb6db5c2a3906a120125b883aceda54f26d268c8d3952a9d422b3045f23e8767df28dde6678d3bdb26fc847d9b8b026db821c3634da7729b797b2655947c3c246b563a30a1b13bfcc24612f1c0005629cac5c28ff81504f6667e7572b60d58de1f5af2a8e3cd5a900041f2b2b7de351ca039e4061d05bf79d24d1243b0f6b2d2bf62d4bfb45d87afa3ea3a5a3ce86c93933114a03e3ec6610798b8724c82b2f1e31d10000221669a41d1b0124f562713f3ddb8d24de07e2294e08b151c9274771204c0f5d9b1ac7fac34b496d8ff57427797b818d35ea03bc31868505b51f81d232a5d9e7526d79470cd06fdacfa3bf6a5c7321362ab0c8462e44072357b45805f6eadfc46e9839045d08a588ba9bb8cceb7d1b6f7521841e7840072977e677632590e65f737dff63ac63791c5056f136798cb603835e0e5dd05e0109d4f96959cf8eb7163ee59cea99785d124b054e7945f40cb9c54cd9ba9f2257295b54f91cdecf29c03d08c701f56fcdf597744f0f46c310c242bc2f3995f09721c9bf2339acfe8443b3b211bb9ede4ee03b7d9165e054d6a8498b6cd54100a72dcc5e14f17027786b91ed024c82d409d897fd21b1116d7890337578630e97f3a1bdb126af5cc09795eda7f5ccdfd62739c6441f0b2252ce1b60651058781064799d08549c5a806d55b3c90937cc413a1de1d45caae51e4f7a2e6fac086e6e852b3050c5c313b56862e93798cf29d074b6e5097d49aa02f0a9818d92e6746997212535898e680b24cfbd517f5a923c4fa45b819a569a6c6c776f3868fec1b6772c122a7bcd334049b365d05e863a665de19df0b7570feeac81905f73f8a150972cb21a68b43d19d90ee4b67f8aa928d0cc2aff0d0c12d2fb6995e474e3013b87234f1e8e365eb0b6b3cf0c1162abc06e66946f771480021ff2fd6f2d64a9f9c723d35114ce401854833a6c46a19fb635bbd1dddea79fb9d36d46d5f57fa706972f1339ef4fc41d8678b1bfc9de66d9f26e6d7765c262d05e398879b1bd372ab723e96c90af7bdc5f3b3b961f2e782d4895d5f090880a94c20750b39fabb42927239c96d79ceb7bca90fbc83ba881c3f0b71be15fe1b443815c39cafef11f064723ba9cb9b53a7bca6c44b0be9dffb433db48611b07bc0b9f7a4caaea5d336a87287a110fe27a66ccbe66f7b5e4728a2999ff0f6faed01a10b79b2906ae0da017260ed8a6ee2a7773330e8bc308dd44a6f3f86f8610cf438d677ba6807aab7a57242bdc935c720fd5ec77fdaaa3b21879cb4d136d615270caccf4e3bda0e98120c96a8178f801b96de0c9e54e93cccbc6022e91dc140b2b398baba3f4bde2a0f7232316a7dc649b656fc778d65adc884b2bbecc8abb85b53aef65ee2fbafe66872c3be9c827150495915691a481d385eb6a4f351b7b4c72e44ce0aab7f78828c4071ba0cd652c6c68ebff9134548dfc35e11bdd30fbf29a0461aa9c5571834782c25bdb8e2e50c3ad14022c52e4fa7067182bac1f7605673591edce71491c8db7287b214129e16b1b1f4ff4f11bf3ca19c7437bad5782391187d65239c275b8b72fc35d40fd67b75891be5c44a22342e61b7ffe039765f3ce08f8049d0bbc8cd20a50c4a3a9e88070142574b7e8a444768b75c7e8e298b1a429bcdde1f990fc572178e441797ce9ce726d0e77046bd869ef97a792abcafa2e0abdd14fb59f23e1da78997893846151bcc041fd10c1c3350ac5ae82145460f0d1d91ce5dd7b1320a3e29b64b1e8d76549f4dcbc9be9e5c83a114b8dfa40d75d614236470d8d0e627584d80eeec9b0c87946b09dfcce74532f423fe233061a3fdc7a46154987bb7724560d55428a1c083ed0a305caee1f783a39fda42d1d45ef77287b43a4cb5a8725637c73ef341a6ee53c033004fdef08925b68e8127c18da4fbc54934f61f8f72522fcc9badf275f63453ed8a283357c0de7e53c09fad959bdc149ba7ebcf694afb2731c47495d7b1b75197d7304de0098b8889efd9e8201bf6129c47340cf061b5bf4293567246935e558bdfadf2923a5d0ec23b8a38525c3b61af10e506e44b15b53593607023e5e09e6cc1fd06d2a87a31beebcb48c2ce92a95ce5ef611d4a3278a64fe74b063da462ead36fc233eae99a7dce827a5000ff576bf1acf93b725c09cb7dfe38b7b1bfa65a4fa0bb83242a069df697828142fb42bb27e1b20a1074fd2baad0ad5baf42b1fe11c20c63c9640343dee9e20f56508fd8f09fea727227331006824992cad078db9f7b0f06129a3e6b294bd7fbf5795429d4afbf5e729ccfc8f855a7015dd2766775eadd3ba148d6ef3cb52f7de0358b531f8180d50fe1fee2d544c3d8872bae78530299d2bf65d691576d34d50f083d7e188880902fc69121b688aabf288a4e8dc3a69491f20e1fa648037bb92d28343d2b153b33722a341ec7ebd2404f381191d2440d3f30d72c5a82fb19de06021fadde9b948172109f835cbb2a20518c076e0b6406aa5069b405d276bf9d91078461648e86cf72b72feff5832b5dfbe323f48297416f31b0da28bf7e5cbef6d0bf522f5ffca1106e342a992c0ac734b69a1222c15160f1f4dbb11091c2e4c2183ec9837c14d872a946679608b12ee92707fabc058158c0aceb2bea3017e9812c236be6084b0672bfa5992e65c7dba2f9904c3e5e2b3b658dda25e8fbdb575879c809005509ef727a3a5ec9b3ae765287ae005836f4232fdd05685869ad68abcba9a49e442b7f72cedde165322c13a5e7e86f8cc4f2316f07292fa9399a3264dd4ff64e86e56e60afdf4487b56db926783de370f7fcbd37100b60fa375a8f5fa15c6ad3988b2f721d7fbda8c873e21f368732421bf0f7199227db052741bc8ae1d90d46faa0217275d69e3c33799aa1d5d1350db07f419cda8e82bec7f7434cf1fdfc395e142a72183626417f74e9ebf0f6104cbed8a6c6afd9cfab81ae03045ffd0dcbb46ea872e60a8167ad9de69b2164c9450315f82ccabff430ef516f1f6000658a3d65ed1c8fbaef1291da4bcc1ff21ff12771da9b3dcd7093d9197bd07e931b5aad8d2c4c6dccd63492aa2205debfdba40621432d43ab15dfdf7805c7e88371b09d6bfa7229bec146e99c850ea55636b2e7abf9d7c63074f1542e470a47c3679c9c2f441f49c747fb20e5fef5c7868367e22617b7d50f6d57228e366354d75f5053579e72ec1d23e09b2cdf88a745d8d6b0fef2fa313452fe9fa772b1510787cd1dfac13465053534d1b02a78d19fb2ef7d851944105d56cef54e1ac34a0e4324745c6e4819892cc091da1be31b280eabd43589a2d9f1d359ec614137a80759fd9a59a7014857ba44b460680a7b7a87526ef6c90686adbee60726cb2509aca9e96bbb9f2c40489d582429a26b2fbe1ad9ba89bdd8067260aea2f44feb23f4dd05b49c860d18708e3e47db168eab35b0f1ba02d685ed2d65c8f173d925f9c6dca230957372076bbc2aee4a318089d78ffb959883c931f22c8f3cdb02de6e41dff893bbb272c516dae26a03156519484a1d0c1be4a7656f9da7f5ee700934c6de3a364d37724aafbfd36a82480b1f62b26af5fb95e67789cd0c76650b89a73d89f9dd2d4b72a0a0fb23e0758c71de66c036d510af5b6264050f3f73fac05e38a46f3bd5ef72e02f36098eb64d92af84769d4f1225a67a3870d4570b90615bdb942151290e724de3538d0d95b6f27e2f14519fdac02f243993ef2cd14f24826417c4c7be777297f11410f8060bb4c74303b0ab690185a9854c6c97badcc906ace98d6185b645f97ff5440fa7de600a5f362b6b36d609abba7c6bd6f8afe799e252d75de2125f62aee6ade078d6ad48f0c6bd0920c075ecdeceb875e290aefacb6bd3c33cbf0013b252cac98f6979301d84feeb38cb296648e05c77fd40b6d238cd5d4db2a5724eafa6b136819278575e2b6f21995c8f4777e50c16aa7ea6d25f57fccce0c972df1e8cf45496233ab4e850f72d68592188ea01133e56fb109357b6b547bb5c45cc5ae0d1f2180c086ed9791b26715de7a038ccb2f78b2186a706e7207a99587203a2fa7b67a126479d192615334dc96ee693755795cfb6a84aff2e7e260edb25ace9554469d6b15b5fc38ee031e8f446bd9f2301de3ca71183d47affefe119725878e823efe99c6882681fccb7b82392821425600c6fcf2ce7b96469da9c2c6970e7cce6c0efa1cbd8309c3103dd56490be5cdac623762f07d1c8cc0c537d772e84b29b8b380c6587949247d56eabb52b685ce8bcf8e47c85ec4a28f0600a2528f8c8a8c19f20c0b05c230a9ffbb8c36d472028c6beb215d0d6cf62691c1d072f37752af7f88e1bffb53c141c7d7b956ffb16ceef4e4784816f21754414f6c72f8e3e78ca138cfe6459dba6f9e9ad6da0844388f89dce3605e470a8cbfbfb519ad6dd4793c4236331c88df07e6a4b591ff878994bc0478fdaa2c8d1f37f41a72888c09614dcacd67393c7ab69569285d9e6eeabcf8c5abe01417a7eb55ae4f7271f621e6a168c4132f6e34db1e41360b334892da58c4b0f6e9dd8ce75269d172db8ed9f30f9c88e518554f52d4fbdc5ae67bd080b4022f0ccf6ffe0a08e53172f21272599a8ad39ddb1d40a7f8b0de07a1ff097d1bfab202e3d738637b91a7723b72d70a26f349513d34371b244d9df35fa385eff82fa7cac629fdbcfcc28066abea1c18951c72b7a51cb39b4957ae43b8e511c512c2915ed15fa181fd9c8b72b3161734eb22cf49a45618783a0369e4fada158485340db082147d12754acf7256c8fa6f5292400c8d9a057c774fb0acab38719989287314c2bc4be5f3f1cc01bd6404960901f746bb4911db2b7e247d0ac86dc8489ac8ab49a82211634ccd4b91022e1a1fe629ed72512d4704b830390c37f05e7be0a90bde7ba589fb7a7272e1501adbf6ab34acb50472c5739fb9beb06302dcfce6d601e4bba1c8536a4372a3b86c4fb4cd8054f00e0924d38ddcfa33f47a7a454436ff97a0e66240311d723989f6060580e0485a4084cea610c2b984fc713a663f83da217070d8aeffc272533ec34b7fc0954b296316220391ad44fa99a19fa54a661f3f6870d1f6570b041a037f4ff700068c92650067c6e98efcaf104ae8837db671dec761eb15cd7672b54a5e3a78b029ba0952180311cec4f05c598ceac5c01222a08f2c98366cfd72740b09a5a2277986ca427d9465a62b8587635e9dd46723a0a1951d658ed85b72dd3adda53fa96a0804859d75e0188eec0030913eb2c22565f53c98fbefedd67280b17aeccbf12fb3f378f8946fbe938f22707b005526108dc97a00051434a0095b957112a83375a4bc2440998620f06d55a048cd73b568709fcd3d706e1dc97293b8d5fb372fe51e8c7f0ba632c21bf8c5d7279aa7e12443d76c90e98f6d0e724e2c0ea43b51afc7dbf51b43f53cf41db3902fa10ea3a9f583073cfbefedd3725886ea17b495629e14e01f185229259aed039cfa33f17f4a9bcc9d35ccd072728462aaeb863bcbb61e6409768424f27ca32d77dbd138f0f0ba37b5ae00cb151e6ab00df1edcea56232c5a971e6d59577f30e61b55e4765e8bcc4e0f51c59af70a9d66e6e055482b1e747a741cd3acc235faa7d392623449438bcd4294d51d872f60d7f0bb3f2579638ac615ecb4eec0569fd7cdc1373ed51ea2e19a4db351372d6668576a6a7fb0ef2d51b8f30b35564a20388d2b24a38616dd2346cd9a5f5055b160d3e75d4d5e3be14465b440c275a26fd48a4072de932fd81acc73521cc58c65361af5ccd4ffec02dee4d224d0947c0c66d30f610545337c6b5c47449c2353394fd9766b6a99dac1fdc399076664439d0e520261663fabb75716757635d72aac566449f802f1dbe7369c763aea914200d5601adb5902ab0117599b8ff73727d428bb94e96785d84fcac07fa4fd93938b32425bcaaba60fcb238cbac5b431d73c4457b6852f3c3ff5fcb21406eb6da4a24bdbf02c6e56a3dfe508faafa14723d590ef93fd5b2ff6d7dd4833e61ad314f9264edb0507cf991ee872bc07d66727798a29abd5343bd3782fe4fab098b24f290ae9a9df6ca7d2f89114c6738b21444b38a1efc190cd312f2886ca4e086992b17cbfacbaf26cbfcee4c2a7d7c7372deea2cea636fae3b1f14e866fec97f4a6ac9d2a6bfda4cfb86a329f29f857b3c0713820e5611bf3aac3e098c9d49d638cba6d3898887e396fb206d61f81ca62e989cc86842baa86b2315324e201e8f968a5df904a48b63190ec131ea9a903d387e9543820704426e042bf3b447f64fe8c7d34bbe38bb4e4baf1f3fecf094c454bbfffdd1589367f2f722dba999d29f57e43fbc98cea3803fb569ea56e54cc1307f37607f49aad3bafca99552bd9d32477f2ad37e60124a5dd6b8d44332659e7218604833824c7af4a22392703a80a45147c48ca1edede36f40188349c4a67c72544daedc0ab352e69af63364f887a53444f4cd29217d71cf150c1e1c8d63f572eeeff8ec588ef497c94309af85f528c9857880706d3e98f997245097d737ec37411bf1a863e6d8364c3357ea70e7ee3755ff759fee5282c96423d78063e93d25d27a7f73b335135aed95e670e9b6f3d550c6e891adbcd2e130b8ea8284bb2272374b80769e3b9d8007e7c743451603458f3afbea18017fc4f9418b28dd34f1642883b9cd3e1dabb2ad6c097efb17336f5cedca8176ac1bc7bfbe0c87441d3c72d817ed94b546d782bba1ec6d77ffd3d9b8c83f23819e56598b53df05dcf2f672226268bce34ee0a59f876f947dd2e9d6c89dc22cda95c6048e8f0388ad75ef72204762ce7e76759d9869efeba85fcf2834b83798cdd33a335d26d0bad1299372a981dab2f7aa3ed7937a7443de77244b5a74886f2c8709ec928c7451e995260ed42b3a5268d9586a79832348fd3b981bf30bae211151b4c8f3128698edd02f05d83632310291b67ce1290d902179f32e9a92a362421afd614dcf00e9f375d3511c0e87b648dd9f2f70363d357a6db01b26748b28382e78295dd240df11ece572997c1fe54b065c605510010f2912a16eebd371cae40a31b129e39c0cb1214f729b8df0ef4a9bd57a14e9e4aca4e22c67ce403af585b383bb59e1a24c6d52fa72834b0d1ce52f553a47762c6e55721ebf082c6d65dbd4932d53bea0179277ed72ea77230fa3c16f85d25a636388ecb88126cba1d6de399a5e7a52d9ffdb13781631a8f9dbebedcf702a1e0c2a09dfa4fa60ea1a716f05e5042cd80e61e299ca726a6d2ec3895c247a410a0c0ccdc4b0b63637cb623effb886f4dd44dd2b22d5720c49df807d0d2eb309c50a0b88ac887a19260e22e7ef66a8ae7e8be3293fcf726013f0630938a47af1cb0c10f5454c27ed2ad4b9f084ff2d621c459d81ba77173c64f16ff7dacbd38f04cf64d15c8aab9551eadac61e8970e3af3e1529ce0d6935cb58f88b8e5076fc6c923da57ba657b057485edcfbba45a327cf30e054d972cedd2a4d3fb0a7ca571342ab26d11761abb621aeddcd7252b9cc0a73c405dd5075e342cc3905e478c8a214cc332a7e5c435384532c269f519f2ad8fb47c83c69de015d8302b634bd4e53a75754f91ef4aad876a1bb377ad9e855093e8ce3d3727b797d2f84a381499cfc7e4460640bcb7019e4f941df843402447697f11f8e72d98687d06ed814e53016da0f7bb143bbe624f56cff2f9b87a4276020cb87cd72805de0c9dd4ecfb166540a5cbd5430ebe8815d21b481ff264df5592498e1a672bc89284f4de40ca2d053c6b93826409ada5ba7e43970881bbe4f4da1951d4e72c0483b189f184b7f138ea1737bce64b8de634e2e9ffec38c6dd3ec696671d47226c5b1b29b7b88febfc33ba72266c61b2ffaa469ee9b777b3514899d7c6ba14d9a0346a244a791b4839e4203144ea58f1cf78079e8d0f3b76e6467a818a7bc72708c1553a3c5f6d60167d0048a0b846ed61e949ee93c57e7c2c4445d4da2927214954fd5cba34152997ca1535b853973a26fdd369c899807c14a99f56b765b72f51f5ce9ca719ff76cc516d81382aed9a0061c13a2dade53cf5089b4a5af0a522053568af11ad333863646b58487d5b6cc40d18d3c65a0fa7940b2742f50fb319a6e3b92e2298dd9d874690bcd30d270ed58114c7696f218adb41c350f1f816761974da3248a78397545b780bc9606c7568c610b11326accbc87ec2b72598e72da6857f10281ea016b552972cb9d5df0cd5b9830626c4be74838842a10c952723eac8f216348321f76ac2578ee5bc768abb8bdd5c9334ad142064f8ffffdaf720c9ca3de57b3f98e580307ce3a6d04db300c33af98df21a32d93bac6d645811946a9d006af372e5a576f8a992303a7606d343e68bf28ffa82e59d9d3ab075b12215504b893489a6ce8e198640c5e3e2da054cd6b0385f9c7de0e1929d37be216be4720d1d7bc1693dd372e018a815875b7c8d17a768a9524e988645918eb8f726f642a47d67fb0d80a5f492405925d6b8ae859d8240102053bff055eb2267b5bd48b5f02b18b1fde2862298765ea59f5532d60af07c0c364cd7ae5b6d5537f09e03b7edaccc0f21669af288bb55fe3229d59ab79da675361588c8e65d435a930de278afed1a0f7caa3ac8127221ce218f1f86b44e59ead10f86dae61ccd11266b91020db6dff641c1358cec1d85a9fdd252aa644ddba45bd7849524b0ff1757278617e83b0f6a7fbeb657cb7212b5851f0625e47d7dc038934eb6bcfda3dbc2fd5580fecebeb2253b7d72728102f66b9c9934da6db429ebaf9d4e4060cf0f1503aae199b20099d94dd5c87ec2f63f75133c987dbd83735354e26b223f9983f721f688dc74c51ae216c75cc81b1139dfef232796c5688a27c5d3e5332db314672f01c9597b475a1c11d845e7d037990e7ccbd0327dc47850bd7f0ba416ae46b72733092bee69f8426561745eac65c77789c1a2b428a69873e4767474fa43d74026aff2d6fd954949115ca31c11bb2c150e535793dbe7a4d1a3412fb86afd99129b182a03343be10f545a6a1ed0775f3193e6821b99fe0f4b13207e955492b620499feb12183c7d69ed76c173b4069e2fff4575977898993f410364d27582722424d3227aca954ccec3382c56e91f03d0063fb1553c31b39b3d7a9b2684f54ab72475d0a6c248a2fe9182dcff78a5a99e945f7edcd51660e12eefe8d764178162d69d9b335c528071375fdb1d76ee8d32b537a43f838d51850928e9a6b79cd5a3addf75736f4ecbb2eedf5c68b9045e435e0625cfc6718e7b4553eca93bcaa2f2322e07d3d50c6fcf37780efead8f8ec163123523429b724cd7211c983a0c16d724cb0be963b94d9fad1c1b226c9d8897c10e28f7f7df91aba9ecb052006862d5c50654952460e771c02fd397da49dcba3550bf1cdc4bd595d1e8f99805036e87228fef6e707839851e9d6259b233ca6d85bb5bfb00d735c41cbcfaf60d482fd38e368fc977f452edc95f2c966c8990cea7b8484824aad8de8b6fe4a1d7c57397227899b597dab3186c4884df32ee0f204180375f090635d86adba2cbcdd6c7e14701dd3acd77b77919c414cc5351443dd39d33ed268a567f150473330ad638272725ae860bd72c6071ec7ee9adacd748e62bca2dc5381e29d0c4900715694673f3c4a199139d228d916fc5bae2304b3c2a00848af74d76467c177e52204cd4d729f30f8b4c8f6ccb8e0ba10f71d3a805a7dee852857e50eaabceb18faffe43b024613578da48b41e08997944e4406a461f8990dac6f1aea45e8764d106a8df6180dfad7dd7baa2703c43c0c6f636e48bed479eb92f7ede3bcf83467d47ee40d72ce0d581a9f531cfa202aa03ab15e3b0fa50cd5bf4599f53d789a7499df0a8e104886e8a5f23922eddea5d31b0255bff77b41f168f677ca91803c2fb27502fc721e187ae884ec2dfcf376bb1f8f7b7c3a7b6e6d3d215a5c2cf661c9c229987c728433fd5ce115a2b221b978f18ff3ac20e5b7ff324d2907e8707196b444fd45319622c5a19908a694888e669e508bbec8fcfb5ea5dc4d538b01c86c267f611b72e809b3de899b59728336311c7b8213ee5ff9ac6dfa3477d1518335db14a30c2402e13a88b70f47b60ddcbb0155df1d1cefec4db8077db97578a31f868866b35d3110d5476f4900f68daaf3ed75e44d6e2fef95b24b1638759083ae0d62dba472fa6d0510002895b3cc23461c8fec705032bda854ba7a2a09e5085b81d635ca394e0808ae9a1c1b718f0ef64cb418c2366d17e58c4fa2c69640156e1094faaa72434a04b4a57d986a09672bf847b89e359cfab68a0eb2e3ad73a3852ce900c0726e9051e1d3c6308ef86404c83c2ae35d4d8c7dc1d0754f81283d0dcc8c36515ff865885f5b954a4ed0f1efbfabc557b533363b9c0ce9b60eeb690092b7a65c7257683d2393fb8b5961f88d318045d9c2fe4f19a1309273b2b7a2bbbcd8383a69a3990468fd11d104064168670bc9246227ec2fbe0b0e2f4067b1b8d26ea0c01390c504737ff8735c173a6ce90607c8d4e6c159a023a4837c1bca5e896d417172cfcd8b92cff528578ecfe3b3ff878d1714036fe1393f4bcf59bbb3133f4ff572ba1e46c92d5579937764b161a501a0db93d18908d5183c5fbb4d832d27c26672f47a78aba57c6c3d191039e867acd8a0ecdc06b03add61f3cd293969eabfa172792f2f1b600381e01bda3e125bde234dc788d4920e61b083fd3da6b4cd4ed57210f7b9456bf628bf56812ec303defe81e7401ae22141d68b1b72251f04b06c7210e2d6ce1b3bbb2d37aff3690d6d5634f304f76e0dfc2f1dfbdb0fae5916ab09c7ece75deecb02b4fac3dd72dd88fb0e9a679ed279a7704ccb2d0804cb07452a7ebf396a8a217716fc82d1e2ca8b7bbb1e372e671096996bcd60ec3698820058457957d6eac6a38653063b2bfc57b6e6bc267bccdc5b41aa69a1ae8dd5a6186323a07b8eb6fc805d8231f1917665104fab6e8c225da609618a3d5b48e0af6c72c87f629e6137a0971a7b441dd4265abd461aaa8aa787b072fd1413889638d365f5fd84cf6b5ef8b883f28d2ac76aa3eb85fb6f7ad470374bc039270532119e72f181b7de970b873075e3370381577a3f78b82fb614d1bf8071bdb41f5bb53d72c9f93988198ae47af831d9def4b7bcd310022b204b2bedc5d7a5e484f4dc31729883d08fd3c2e96d92d7569f59be5f2b06df86954e56e7b84c944c5e28c96e7289e1f436d98883d5ea8387d8a0ea97b27c6fd901df14f7e8f958321b09be5b3eb55a114c06798e260261e3d0f445fc6683542adafac801a3c95a4a69853ff9725422f75f8f5365a77faf9d923f3b5aab6312cf91a080beea7f5b4c21c1ce697277a9a1f36a29bbaac16c9dd68ce7baf70cd48d93f1bb096dabcc36cd13c23d72334e1e7412dc7327054b6d644330d7563ffce2b89555c8a7321854240628b56ee83dc53547d76304c4dda60b35347bb1675c0d0c1a51c743d79f576a996524729fca1f667ffb67df0d9e03c503ce3d3c1d84df40eca817f3b95de5d31f17cc72c1ca083571075f4e113f2a27ffe43b7e2447b664f13e9c6339debb4540c0f652c947d45b3b16f9e6edeb3aa114b8a853348cbe67fadfb51805492fdc288391724024d093fc2763e0c58574b85ee061405c5b653005aa5a20dd40dc394768491bdfbdb7cc1beacd4e8680abaf648e1cefa59ea895c53ba991d1fbd52f5438226fb65fec6b3047f6a6580fa89aa0ac60e98053f71851b927b78cd13473478f7e720b5d48db323d1ee1e78d8815bff251bcfca628e6729faadca60e05407abbef17b457949fa99b33101ea2929f72dfe55adebc811ba95e595214e7e9e8f082fd724330180a2091d2d1210ea55c02394f4e18830dd227fe0cba2291a2db4f1612332beedcd2e39a2d3e55a5b1952218e5342d1b8a96297ae71e87256140859c0872f0b031e7059872715b6971001cee7b3d99c212f4c4de09bc3a150850f69ea220fcf6b514fb6a51daef0ccc807569da13a6a4b0a81f451b36dec841d03c4ba3571a0f4b50a89153366c118b1a29328670f91d31254e3915a301d5aee7c51b487213271e250964d1610119d8c48b4ce5a700dd69ddd1192319d308e41081835d31813eda23c7c0383fbff29f83e874b0ada625c609b82d95122758ef34c5c85d529302d7d70efe3b4279613c54c7e1da030a3fe05eae6f283a961dd51acab3df7293671e8ab4f4cda4bf8a5e0bc7d04a3eebe68feacc4376a19fdfd89510a47f5a48d8bb0af36783903b86de9fc883647528963567b1b9e588c53ce97543ef1372a235bc822f2c2ee95a27d973ec69ed7133fe9013525e3a4cfabab20feb752572a5a547efbd1a190d69742881aecdf18833a567aff125c412987055b672887b7253f259074e7f1e234a35992c0cc25b411e2e67ea4f59e103eba2a2c8f3506272a0e8218b7c83f77673baa9890905d3ee49415d0dd220a1b82750c942f5b7c372ae572c47dac9798b9a9309a254e6ecaada4f70e3769295d329106774a46d970649820f416917456c5fbf518ff810cd7ddbb8df8e0dddfe8cff2f6ba87162104c37e8bba23cc859b9eaf1c8fb1c528ed0eada6b756983ef6706ca6440f365a5728ffb0d26da947342cd0468dd9d73723cc1cc1367d8705f92bcecf041d372b02fe8e3fc1acf8b98df26244ca209bcdc2c01f77033290715ac2572190a1985dd72c5fdabd5f400b207ddbe5f7abb0f268567cfcca5c77a59dbf9e53bf59dfb6f68dbca7ddae2a22cdd9983aa659bfdeb82664117fc32ba178eeb97aad4cd7b0372567e376257d43e1414af499a3d67d6328074bd144ea842a04e4504922031d23b31ffd72aaeacffdb79c3cc4282c0b1a091149e652d18e9313ed7408f9b00b672fb6a64a26f8d5d792325480c3937e73b052d326fa65a3431a95876e21971b037f3bd3cd700d188cf8fd9958d230535f9fb15007158376c8b21a06afe8f00bc72bed2ffa9b958b76efce9d560b4d67c5c3031b843890f75055a78239959f81218b4b74e3cdb76849c65015126398f9da85f165546904e6c0f128c738fe0ad06720c794c477cd88b17da51779445e52b43d97db8ced9ad06d8e4843c7bf2b1db729ad964c98441f1e694e7c6ab6c5534f4970514153bb7553386c00d74a51b14010fd785fbc71811c99e9101dcef66d7685e09bc68a19813e8c9112d7a018bc741a5acebe6090eff66ba98b7870f7d675d5c62ba95b61753109a5a4de479224a2aa23727ffa9e95c7f4ea468ca6a4dae49535fa46dc01886c289aace0beae59d43e8d01c552f8e5624d9fa9cf5ff8a47e70d637740bc46d06fb1724d005f63f16ae9306e9c6803a21cd6895408f922410cc6d2e893625c2ca7f6f76ad1ab4ef872bd20b3cf9325e3bbf6a276810cc62a92492d5686edf1416a5186c72ed6e00f6f3c5bb98ed4a4994fa415c38fead7b0cf4a6e97ed9670cce37ed876cb8b98dd72e85120b8a354d8377384b46ea770fdf48acadae373d7197e8a809d12d3bf2572cd8750d3098e80a62f0856f3dd68e4b9c09ed3e4d3516b948d772a9de84b8a72ae2482929bf028dd402c250e84752c3c9d616427efee1a590d32a4d0fd293f72f54eabf4246c26caf39c7b48e655643df28c572097f69857ea989b87f5359c72a4fc90e544d5d6de56c0fcc5b5c4094d9083b818488db951df94b3ffde4e3372b1dcd256abb526c18e1641889d6f03c3a88b9cf52d8030da301793a4f18c80353627bef55ab25a70f206889deece66230ca49cfb3512703dc373d120add0ec3531a11b0ea751ecd41327a8ab9798f2cb07ab3d1542d47606f2db5418a32912726dae05dde81780fd5185547a024a73613827b4270110dff8b5c3dbf04f14b7725a7606605ea9dcf043570262452454f9f1fa3839874542ba6d49a145e965f772e4e6beb1a49157738b49a60f5fdb5484597744f6dd6d2ce8784bad5fe610ce2aa262eb4417d71b5ab39534e22852532a3ff1c040cb1f1287ed9bde5e3d0ea8726d7b0882368c52b41ec7f3307cfec6235cb9129067396ebb5bcb576b24c84a26441038b39b15ec6600e6ab0c71d24fb17de04984cf7ff4015344bcbbcff1c072caad5375c6afdb554e0e0b720489ed2dda226897e02c743d504e20ae371fcb38fed0aeff3dee2f0ca70c86ee84165255b1750db89004b19baa1fd1007c41637211ec3a4bc56f03d604c0852c1d07991268fcd522aefc2748cfee2957cf50a2722ba6f3a86e6493849db943fe0ea90af6a6c4c01d165b754d308ba2a6b1dd5c72fa6879bad559888c2b72db96c8b70dbc12c21f51156a6564857609b22f09d046089f61398e61f2f95f2832b37d5a50bcc728207c6d3de29b482d6cd46ae6af40186ccb7eecbfc779bbd54dd78cc362b983ddb8a797bf379cc72ab7837b011f2ce145773ca63359660038ff95412f19ce63aba3bc11226a1fbeb96a721773314496c71840fbc9c47ce4a75cc669fc2b93f6a35236ae3117ba18e1196993b4b072afce3e928bb1e1fa2521f54e69241dd7d21b191e189311cd19adde4985f82621ae1867db49f1a334ff168bf69ebaa5a697abad59f919142c1944477f4b3a3d37699173589d38f2b9487be0253815729ad168215781734d742f460e780656e654c79e1d2681525ea0067bbb7a6713fd5f67bd885c8e22b83e153167f82e01703d2896127333d933c81209ac614fc7361dc699e50c1e68db66b79ec1eab77406603831934a05f559e0e1548ca4504dab5bfb446c3c7f7d3b16ff5e7b746dc25d721feb88f0f670f71a9543080afcdaef3faf488faa87cc8c23f98fc4293d66f07227d0bcbc1daea183d9339df1d330348d0079adc963fdb6185b7ed71892c47f57c6085be97560e6b19a66e17e584e443d8c57818382b114dd02d5502087cd88728d313725723369e99946267ab5a92a946f5c03bd500969addf624948a26820722641d3dfd0429334aa5cc70a71fe0436a9e43870f9723d09c8bcc0370f262272e34ab15eede9e4e888db4d081d13c24d7f626c6eb301e49ae0bcb735b8384172d95ef36712705d04bf5f6cd78acd79e0cc73c75acfd0889bb823f22ebe2c5572bab2e5b93bb91e29993d256764c5e27815134313a42a0caf0960ca23066ed6725fe75001ce22f4b687c9939ad11649e6036043348bbc11549cdd21b620db2739e88240bd5a76c86d25a7102b10b0184d70418fe2e8f38d3e50c3fc74f7355d7275b81579c0eadbd249e5fa62807a25d797581f26969603648c968dfb56f78572a01a5396966e498d874ccd36193b7b531a849877687cd60d3d938b3a2f227c3b378c7cecc38fb2ae1d1dc79ab8cfce90e99814d9d8465e295ce11254d8f2b572fed99f003bc36937c90427c9d4978d177c01f1ab5dc5fce3f77249d700df8a7230436f98ff305df22b45100d9955265bc839c1357520dd474a4b4428f935e8726276d807ad07eacd306b0faecaa2cbb67e60212cc5400ad381b5fe9de9ec163a2233bf0cdcfd6689e452f2816b77a3cc3590fa3d9dbffa28ec696fe45eb5045e54641cd01dfeca1c9bf657095691d1c6f50b69991a5b2c190cd53b7e17608f7225683b7a645d4f1613fb41a594808d57664679c7acff420dc884e49702b42b725fda159427bddfbde48fb9fd8bc6e2c59c41ce633cfc93ae0f27ef3298de4b48799310cdf1560a07cc70eabfe55b49829a8b47c55d903eb683811a1ca83cf46216775a2831bf06c1c4f67440a143e0524d1bc42705f4236e6973c1e6797e12729476944418fe21a755ef498ca9d81d1d58f32829f9385378deaca99dec2d24729c131fccf7d9e177305fd4fff8253279e7e2ec9a4a4b19dd7bbc683a2653f07216e69e04aa6cc836922625bbade7b594a4832f5014e1a06df263cd3c1fa56972bdbca414a417af573176472b93ed06317b0d9a96792107de3fd85f6326139a725a610b9f19e90742af65e2e43085287f8adcb3dbfd63942bca176a53ff062672427d08a6c9af83d46fd52b2aaf3c8614a8de72d0c27fb46d968958488f5c8b56eb0cca7a637f7f605795c7877be5dd1dfa9e4e0d04679e528af5de32d0d71f6d271ffb5731aa32078e11f165b17658b58e15a55fb3782ddb2a6e969d02610b728fee0f27e526d4d293db4a6481777fec4f5c9ef6e91dc96e6901e7fb2e07897286f9f498386b7295004fe482cee2d6d472a1ba9782690f44593ae632c2ccf50276ce5d996a2c0733444a636d47970813d4567730f35f09218fbc29ca7964b272198c599e4e76f13c4b8e28964f14fc7dd3df52444c26047d423451f8cad64113702ba11d9b27181db48dbe781f8f8162d60d84a61693284566ba2e60970db84b8569a9fdcf2d4d8573ded92e8a20bacfafc38a290cc20ef045ecadce31af980bc8305d438a77ab337eca3a4fa2edb282ec2b0259381db8dd3482c1b03ee1eb727d06de3ebbd80ed321ab166bfa11b361cd6124da3efd29e123257c9af2213f0a3244aa03935c0e6f2eed084289b40ca17e6f52360f04ab661a9ec31e79d25072efb62196f3db8bf390f22b5223734112c3edbf1b1c99245e1a71ac04755fc7720b94cd341b59c488d33a20a5b22dc8320ea0d07b06033427d305f79d68491d170c399f34486332b60b1949b23671538075c69d7ad6a25a3bb3822380e09c7072a9b8dd524cd7fec7cec57c810d1250675d3fb91af4a014bd4951ab6910c88161d71218350dd1df3f7e21a7123d604aafd70e682b364bd697ea5863f55d8ea2722a0c9e6c936d6e0cc31c1ee25ed022fe5e50371afea362b2040cce620f0e9c07eba13dadfba354cbd46e425d3d5773579c16e63c06f4a833c158706b68bd7e3be801b9632cc1bb4eaa999cc731d5856b82ec8a020a273168c78cd20e07fd3072713f48ae46e9bb39adfd47f736260eb39c8be56276b283676f1ffaffcc707272031a206eebd373012227dffae5e52fe55bf731c4d6935bf885d32cb484155f0387791389c1c467f02d1c3bd7d322506098c5c6b95718a3aa149ff2e971dbec04f0cb87463cf9d8f7444a5ee13d5a3106afab7d15725de8b88f485fb25352bc72313d9d5afab6189c676b652401b7e94ce349f38f063a74bd85bc22e3826a93721783b146eeea3baeb180d5227e9a72eba9c46b2a540d6a0b6d43740505527a2c379dce7914da6e5f3b202907f5776dcc146748cd9d36e176869a57e1e2ba297203efc529f2aae97e24e51845cb550ab179b72c8dd2bdc17e8f5b56d5c430f072a53860338bf68b9d81dd386187ee9af269fff94a7fd556127fc27cf5bd234e72886658073268e0af23cacb297652f7e57572c3f9dd8907b3e7b0ef1250a2e772b6e57d3053b5671ba247c93521363aaad6c6a1b80fa6006541bc382247952e2b3ac1d47703741001312295c91a339ecfb4463b1ee3f559b4a3b7243e5af0c3058090f4d1833282a4b7c3b8cae67e64afec79f4971383f9afb4ab9cd7a3dc4172f37b32f380a28a1264a6176050029ea2292402501b82deac16a1b1e1dc906b0362ca2004e0f682f6802dacb59475a8e853ebc85de681faae35907215edddb97268a0c1cf52370a7fcc4cc2e816f2baff2e63cd1751cc570a57068e01d88f48460b2a925e3e65104363c6b4da6b4207d3cfb2250b87793254c95ab32164708958f3d0db0503329dffa9efad21e384e704442d45bece38391d80dc72b5dc10cf724b1b1fb31201917b3c7f3e88814109c328f026e0a62dfc31bfc4b4b8516ce5720d0f939c1b93d4ea23c27daa17efbba1ef82c2c80afba0a5dc1ef871e0dd22729a918b79937ac995d1a9a511ad957ef8847bf8f3734cce51b44e057550bb6f72de77f63592eb913c5d9a15bf3f8349d82a487b1d6a12ae13b7388652d1d41e72b134d8b792767c838e29dce4160d0f6b59ddb11125d4031081cd15c5c422f572ca828e2f0d9f5034a18101b9fe49dc41bd42398218c3d7df129be35e5cbef900ad877310c34653168a27e4ef3114896bb57d6f0d9b37ebb248b61d150cd5227200665bd749720f4834db71d8f2aacfb96d208821910d873ddf3bd7a903c14272a11c643da9420c7c97fb591e672345bf0faf9c16d359c6f64060d43ebd17bb720740eff6db944b2fd997b47bc185043c26a00d5140a9a88162cfdc75ca8ab7727a57778a44e5756526965409ea37930640dd5b26b300c0589bedb05f7d6ee624fe24ccc2048dd85c374dbb63a2435d4ce1116ac4a0bf9718331596f9e03a977258f2311d6edc5409689a846844cb1511fed93ce264d1916c94a0864d5de02f72760ba25f4d561d99c61775de7f53ccbe421e4005453c6995167def7dfd559672802812f969a97422790c695df2798b81685f4ba24dd9bee76318efc22b225a72787bc39cd4b57bf93fa4037837ee7090486518880e738602d5cf4d16ad21c91b9beb11c2b51aa67b1a2aeb0c1e6ecf279235092c0edf34c422d0ca8982478453fff95653a8c9096f5a3b2975d7fa78a918fdf76aa6b5555c0cafbea7f07a9072651bee16d44dacd593bf40f5a591b950011d694d704d59a8e77e111a9564eb25c0c063d14ca1832939d4e82cb4c9e1100b397df262c1c1d049595978fcb6bc7286423ee65866820b4854caf8160e2a02f55d07cf9166ad7e566d7b23afa6d572fdc15c53b8e7f599392cd20fbf910b4823356f8ce2af49cd3fc117247f81a621363f019349f9329baa9f354869e3667b80df991714300a9c3961c46f75a469728813937f918f436a6981b0e855c0b7c218dc30ea511ded2162a1af3bdae94a54ea816544977d075eea7dd41713147d4924f5e9dba86f66ecebda12b27e7b76374edbfc6115004e974793a649bdd8598ec3b7b5550e296014f144fa28066efe2cc66adebcc26d02b4096d408aaec6f73872c5632e9266cf807ea174b159a0bd72777c1093f762a0b5c8ed413359fcfaf07001f655cc8713ece1b885403e69e616c6e3ec7486c7dd55e9bf939d6bbfcb77df1055fcec8e4762510165d616486f72d6886b046bf1360fbad1a9bd457be7523a163cd83b066f37cb07cbcdf0b9cb72e5f2a5656408bb504a808d305d595c441232a70b7b9a3250be0e182114562701f3aac6a654f625c428543287aa6664bea05ca5969dd5893ecbfd2ffbd0bd9e72126fb7e83941c6f6ae815e25a92680e1178574840bbd6024c77d30cb716d5572ddb3525dd456d8d84c3875bc04094df443e0de989a70f7a7e990eacf21fda8334c25217dcef920721e4690229607a8de3b12d3babc306592de5f97e806f28218ca50798d5e8a4287266b9aedaa15eb5f3941f9c014683b6b990f828058e7677257c6bc125dcb089a70593720719efe68dadfc5f6ef3ab0329fd7937cfac36c723a222ab259384e0272c42c94aa4250af51068a20ed62b0368b0216e84ed526487069cfcfea7a4e5f32a8624f43a1460e783e5fdcc3d05ffb25cd535abd3143728ad725e4fb27bdc494f1e7b81baa541720c27b72746b688033e742f0661982723af12c0bbb5ed00fe32c4c8c32be5f86058f65d015f811133115d96f6afa67729b6fd3dd02243c766b31bb325b58f8f5cd454414f2ef6b5eedb180ef9da5cb7261df161acd2bb2cc1a83f6ecff48a9906a53a15389f84e5383c7a01bacd2dd0c27eafcc9c6023dca10e1880fccfce8d0a3621624cb7ddf61123d1927d7b32636914512d11c4503e13c4dc34fb85a89abb9a4a757f597506c18b8d82abc4d340e4357a246b341fd59421897784811bc6d30db75bd824794eff0179ef98db69b722ea824729767cf981a7e77be741c29739e5d2c4f8d6ba09ebd4460d1563a9c724995bca8df7a50823054f57ab69ba3f117c8234708a3c2cd2631fcea2ed3dc72f27c9b6cdc574b8647545035df8d7dc0161461cbbdc192ea9eda6001ebcc4b7210deaaf3dafeb3982628022c53078501002c2b7fa305e35f91f4672829cb4e7244fcf836038228e126bc84daaf9a8a5bfb3eaad6410539947a2ed766b646d4725103f97235eced9db98b6d1145d0a1017762583c24a811307569f098b3262b5016cb51cfdfcc5e1d0bb1830e5f4f167425f3f049d3f0af9c7d0a85a625c77e72284afa022cb9a791335a471b420cd4d141923de3feac5bfe62211560fc9bf572af4c61e3dddab47eed24e15b7fdf709a048798094448e5bbed7fa2c3d6174c26ced527b99d4e16b5c39493c3c732f6fe9a866b2ca8b80cdaf0d9895b82e2f6051709a0bc7d17dacc054e7c71def216fd7b50f19c088c27f590f15a48b6bb8724550c6f45b08a2e083f197dccd042c1006ab646383f8daca87bb2d8bd9f48b97299e6373ce8f47e19e34850e2e3af2f446ce893e7e1153da32ea73bc3f3cd7b726a59a24a5a9ab21b2f2380893e65e11429be85977cb700db4b6df873f2fb517295843c5ca47369e957b25bad2a66780081c16f630bde780f78bef848171d287222a962d0254e8f970a560586dd9852e31e0b52e4000295d1cabca6fe5a394534e5411e23343a311a739e44b5afe09d63f66f560bbe1e19f42db7e4970967f91c23c62d817937fe1501726859d28b61c2232d68c4fc2fe6d28cef0def1e971c728d64a81f15e9fad384d6db2e4f035dc45b28e8afa9cdef779df1f975e78b8472f7ce11fbdb053ec7fe9904df51d2734843134d06f922901b36c293c81d5968727d444ec3b56a23df6a2fdc6148003b63b7945c24e270b5978b4cac315244d92577deca8365e7a50f7a3cb370e9e35f12d2f488b85210cfd45616bbe165f32872f87178a573202f3fbca8308722e32a9b2a12e946fb998e5e5623592c5622597222265d59a4d14bf3ad9fb30ce0c2c066a06d0fbd5b0816d91413c31e44d7f666591a4a1f05f7dd007cfe7dc98df8c3fb0860a31e8d78fc77df021a0bd9d8120b11bdfa9d2292f023413598d12f8d630bed3a437d628d40dc4cfcd64e6b8b0872f63e0034dfae887a3d1a8637e756002cd01dbf27838be5c18db75857fa173a72914be3e919f79155323761ebe95f9d13ece33b56f9efca53d1ffff86f9a4d0720814106cb3a95903fde4f376874e13f356591994511dbf1c923b5a236e77894883ce9c34810d9c6a4298282bdfc6e091aeb3b7fb64fa62e9a765437c3c1bc272bf088f043e25bd2d60515fee882d7c0a1a11fcfd8fb77ae7e4753ed0e336bc463c01cabe0fd04d5ae4ad5306a526008df58ce604accc051b127c4326ecd6b5729ab3148a4fb9cc82492841a5e5b534b46a5c130892f3d34049b6d3ab63a3ca2e08c52e43348dde91789d8aacfb93843188338b2022f03e64038f1517d49d097273217d5585a86c7520712f7238717501409527b54f7293bd23c77e2b12c66b7263e1318ef742b9a3eeed5ca65eca9c07a7b60fb72eb3f06a7501d2469b71f772ee5fd1e90fc5e67f9eaba5c61db30e6a901baa120f385ac8152328296fc0e372b922087f252c091e614ecb1b2050c2c115d79c3e6da424bbaba836b29336f872f88e60df3380b7d1b35c41b1d4a394ac0fc2b3a4397c89f0170d0e27c1815e265491dd6e776cafad6b4c537f43f0ceeaba501f68be775899a080d993a346f57203a2c0f03c265820b0fa7d862fc9a510c7293dec5bb5b6f72908862deeadda72b0f226c9f8f779ccaea685c9cbc940cb03965e0ff216a36643dcdb6898ea1a725e30c2471c62d7c9b6dca5adc4e43cdb76d5555cc276cd5d0b00b2138ebfb61c1afabf18d0b719814b0ba005a2e5c829097edea72e046ec4a0ebeee33ed38772c60431946759b0942536e1a77614a2c916b07cd2e61eb5075bf116a179d5ff7284a49c8655abdc35e035224690ab56daf01b7cb4cadb1277f0354d0d09adcc253c360d2c5d91acf774369b62120edcb364294fd40e1aad6c49389319e434b97223661cb05fcf2c4f4f17bc535dc53cfdd7ac534f47d64ce997d1fda5c2406e728543dba40f2960079a7b6aaa0710bea2f863d355a0f3ec5f08951e778fc6ca728e6544e3c2937264123ae481297f622c94129c7c1f1c190b66afcd0792634672eaea57ef14608239bdbd8263ec8220939088f9438f14d14884cc8aa0a3764172297a4e750cbb589d1ce1e3995e0faf546c457c3e214a7ce173b770d8d5260a1f8280757cc99a91e3f0bec8e519a463360c3347c1cd5468ebb4b209fd7ece24722a7f77c1cd3fc4fbe3bef5a6456eef8ce3e3dda00e93264bb2db90302985414336cb92b9c09b18eafd29fe71ae4e6c19967511348e47c2a5d635c6c6e77c6172cd6f0c650185ba11ca82046a3c4e617f004597db91f89c671dfb8b9203bf0d72d18318c18992a1294903b5822a049fca929737cc70c803c91db3997519235b49e4cb9b48d05f2c0893d6cf1c6a3873898baa85c0793b10012da4ed2ef2add23701cf77c6226182c19802e408933d5f4a778f0e6062676bedc54ddf045d44737263417a57ee73de0cfac1f1757bc0e19e3b11854c2936ec235e4a3ccff9d62a4ff0d48dd5cba8640a0f074c035b7657cc571ca9981b5c50def1e047f5d872657276872a3e9aadc35dfc8ce796989a9e1355d5acc107d3bb09bb40f6d909afb2723f5fa072f43e6f1d8847cb5a93fbc351aca86ba5a55df536506bc419c5b0201900f3b9ea9bd48e8ed430b7fbf62e3dad752c9193f1b2ac52c5b73c72a037d95cf087296303de6c22e41c650d232e279964d0cd60c09f3e50011e4c76f9bfdd1bf2245f408f1006947fa889dd65342c27700b7956552c1c668bbf3a91401930723fc0ff2c32e1b2647853723a77489ec84f0bf9796b67de9d53edc14b03e2f0298bd11325e7ecd1796bb4de4b8d63cc59175ea5275d6b4b0ab876abdafa4fbc5d390e8838e731722a6d8a44d63dcbec2e3fa6257af3bd309e1e5ed34993de0206ef325c70a2e1631adb587bef084307196132d1b11d5f54649517edc716ba037210b21e88d5c7dceeabee7051e9767f7f15c03ddb5c48c3e534f9aacfcefb8911b46882b2654b05ade94416d934938f450ac7e367bc4bc129bad783f701ce637256fd2573cdc90df2cb02468fbed77eb0695a0baf23d28e763670097260d5ba646d270154ba3257be39168ed40ee7c89f94f50b746bbaef04629868951b37c518904c46d6e1304f2e2425995011d781423223056236b38a16a084a7287bd2ce00557dfda632edbd4dabe6c2112609c420c51ed8ca6565933b0cc7e81a3b01f854d5a4c5c6b05c36b1d0dbaf4ee374a6a92e34d7245d3c456a03e5d8d4c416520f8655c6f5bc650814bb367eb19513e62e94ae928b018abe698e3355849c4e8a72aca95055f00256af8e714e54db3155d9db4d1d7b7562307e75fce60f059141729b7091bf05b1bb09e2953cdf6d4d9863533ad9f833bd11bb072da05654049e7252de80b93da70c29a693420c9cd9257078b606c99628239ad9562acf048c3711d0e13de7ccae24f7d09ae1f8b447adb2694f8e7fb1bf4d9964d302d0413de072f94dd550e91d6d5a23fcfaf6c80471ce688c023b4d015426dd2c3d2281750a25745358d65766976f772d5c27710afce5540d788e5fd8a2c5d2fa79b82d950072c4f28d9a26f9ce5eb10b08ce3fb73167e5d968ab71d68763b588d7b18db3627293549b819c2aab5cd92a2c83b7cce2293b9386e8dec31b2951468256ca1de972f84373e562a09508872e5a6c76d6a579b1546e2adf3cf2054e69125f9b5fb54977c7c260b8b3a58ba9ee54ad0006e8e041652f75560142d03a142edf9b2322523a98edeac9bf8f149bd95d92905b3f599eb799ccfcef6d505dcb694cd8bbee726322e7c97405174dae1555bbcb5de0406c168f7f8f8c7261819b8e4abdb9af72ba0cb1e267eb5868c752e4ad30b4aaefc0456e5ee0095aeec2f570c8cb2b7b71df5c9d9011861159046d2d1d472cce99e5374de97181b493bdcdd30b56719d7234ad8f1bc0b7023460cf95b1d683b06c46048e71c5d4a54f2f2f70e057f01872af1638fe91e3e5551f8834d5fecb77ec2153380c64611ae55497592e30ce0f72188ac060c7de0adf687e32abafd6c85b0e1884cda2a1cb2ad5d8214a7e19de728c3ae9f68953503e9d09d882f972c3bc698508495cff888771b0bbb6bcf5e04115efd1914ae7a5bd0d08db94245a7248ee7737a37ca3678a9ed05d9073569d2ac1d4053f7ac4531c365c68f38f10728c2bcc9e55419da230fc87db6e6ee9b4589c7559541d78610c67d08c90e5944cfc0492827f4e86127fe81d7cbc47cb8d010b7e7db3d573d857dc63bae6c45204bd8c5098885684f884e1d3f2695e09277257eed1af514943cb0a5381c83fbf7ae25b269347346f8d6095e2a864159fd0723c861f123af2b5b5cb9dceb19cbb167426ad571b0fe57cbf9014a7325ac4b4727dcd8c8dbf4b6011b12ae719a0531c9842888ae876d983e0cadc533c8e6f0172f7c39bd22939ae859d5c84ffc8c5a1b8d8b9aa07005f98d4a675d9087a4627726deffb8a4e6feab54f3cb21ad8af6d6665418306f1daf518cc6c93874c630c727c1242d0e49d30e6e2d0b59d88a714e9f61557a70b623179e0b712c5777b33723fe3b2d30b3063deae613b6c2b7c970d61ab9912ed65ab150f9465230b4d7a1b63b70b8957b2883539ad6c4b1efda2074c2c3d8dc1a726022046d15cd85d5a52e76ca4accbd25941936fc23bc886de0b22b2e4dbae0d5de71485e1ef0d1c27722a26ea74c344ea65b860ba45e2930327684da2ced7a1b52222794f53a6d27572ab3d90038a5c9fb91998d8b04d12ef392447e724c9e852c09404ce17c2561b72c72c74b458394fda21943100e14cadeed58266cc6c92c28cc4ef40a269c0530be1ad26404d842bc07e95b38cc30e46b5e9edce6ffa22f8f60a07958a9e5dbd48f495850f52b8a4b3a05dab9723c3febaa4e61387b370ae167a54d8ecdb704d3e810e4ebd0a500bf4cb78a03bfeb4a859b86de246edc1d263176b4e306038b40b78a35438878f486f55f17eea4e83568cc6fdc6f35445ae6efe6448d3902eda720972c5f816b59fa7c7693ce36f83e16be47bb759ae33d9fdaa75dc3fb3a9e96eadc779ae1474a77b8103562070eac91a3bc7e703e49d41326e42121e9b725a72f226eb21ee2a6b45318866bb14e3cd84d1589ba755cab74e2abab2ca84650272718f56ca9f6b1222d0b5cfb62fdf23673fd01c29fe13b9d9f2433834c9ed4472ba9f9e5037036c28bdc4c85adc2cf59093f3370d8e102dc3d7712e343914731184b5ddbdb499400638eedac1dd2caafeddad8915681cef6c3ea9409a175dcb729154d3fd2d419a8478b59dc52c2efc92841749abfc630cf67c7e712d8e3ce80cb232a877989aacdfa211a00d0fc2509633c7cf17af08b167286365fd1296976689f65c285aadb451392eb9a8bdee7a0663727ceead5fde3f16ce7dabb8c6dd6ef6b6006268f735a90f2969697f86a1abf9020b0815f57293b6b8e60cdfeecd30ea0b3a7bc1268f6264a7927e60ed248d6e31a56c6320833a64006ef056b3eb721104efe9e2624f8aed1b1b6a011cd8862ee65a2e6bc1b459b99c34471ef2880bb34b89e114e21232c18576b5ee5a73d7e64c60eb99728f06b46169167f43d47237338d376492d386ac89bbf87245c8bfc03980136353f3ab3036dd72a598c13868d916840130848e731c976bc968507690eb2a8c27cc1afdce60c62122c6974645249b21b6e3f38e16da70b4931ff64af17629745790ebf276be42ac47c70a6f6abbd8ed8bff04c2ac8bda3174408cd9980e89fd1a6c34d9c7f543fdc2c6fc4514592e9afca6fe420a2969d19ba3d28a11aaa1b03cd3d45ec2335b3272055e72126d557fef0d86bf4a87232a9a5beefbf78b843b900f8b73ba03cac8065cf60dfc8c1afa3000e5c6717d2a9d35a6533e866e2f6a41cd205e80db8d39babb9572a4c4bcc62532e5fd3dc0140e7502951c3b194783e65310c69fd94e6da4a3165e0b77627e0d95456bf944aebfade3aec493425646205504fb3a429f8415e77a1653f2de55d6a1c0d375939ae967873689fa1daa36f3f81d15124cded561ae1872940748c27116a0a60243274c30f0a22e74d2acbfd5623e51d9d6ab2dc30f4f45a8b60d8bf30b535650399b3990472fc1fef4153c1082a5cc87bfebfa99f056722b8a8dd06ad220fca5eda29c98fdc1674e9d5bbd3551f8a0806014a5b23dfa4d753def774c1bcaefddfde58d86e05866976566c190e2508a290f7e079591df09346f31bb6e86f8fed54c15499449fb7061aa1704ea66d32e6dac6fba7d34d67014a888a78c4cbb9ea750670ddc581153889603ca27d9875757ab77571b640f7268b98fe124a19fd429c3b2daa30b681d004abc70437883a521047a2c58d98d72dd0f15d4eb3faaf199416aec675a9c516c63db6ed605a8a90e84d40c56437f72fcbe739a38d2b6b86eb32979cc6d70e4efa723b58fe69ccbd0e865fe4893bb2027a057debcff639b5e1eb55c82cf5564a31dc95f298c0b2995b26b580347637210e03a4deb72ef5616172ffb1cd7b6f5acd9d81c121c2476f8c3aadca79420723429417d1051aa6c241ea4041143e743c35cdf3abd2a170a21b2e8a50dd7eb72f1b52923ded5a7ec883691ae8f83644e9b41063acb3ea762d51d9d540f9c414662cb4be39527f86747be800f42fa5eed496fb4573b58138d08d1afd2d0d0f0727bf872529a083f2f6c68dbd5c90d55920a8f95c7df12b6e1a9f0ab2485bdc61efd532daf0c1c3aea2f5c69da66ac31b2b3f6ae6b2e22e179f0918bd39b36e127ae6d0b5c1d42877bfc6db195a5f0604161c4510d3d119891f4a92c2b780ed4366c3c6824a091728bb6dfe493b66455604c5edbe86aee393368c5778354f8650301db8e7970e625a09d6de5caaf2193c9d547bf5a1d5e2f1336830c769c3c6e2f1242e468f245defe681c74defe8cfa3c75c612fa5fa0d263a53ed55654ed897250b9e1303dc410f82c491592553e87a65b71442ffffc6be51c87d711fcfaa33f92c933e0174248bb8acd935858a546793ece3e48055d3b3bb1b484008b1f1443f68000614e3312cfa2bca918feae2cf91ef5aeda90fb70e2d76951f03d995e6c91c52d571039a8c5d6b887ea76eccb717c3854ca2a450da60f3e2b0097cca5727d2ae5b4c31b7d979332c24874dcff81f20aad04cf7d95d9fdcb3f249055de7278b429f802aeab01877a4dd4af376d4780963f18df08487ecbdfe7b97ed5381ed097f65b2b0c8baa4c451f7f98f9e21cb6d4470f4d393bfe2ba02258dd7b821119c32def390e200e36b08cebac073e981c68511728b7e217cd33f3fc411e4872589d8c27204bf71317b9db8c3a50c223e0211b916fc4112e3082a37189b0f3724b8490687482a99a64f8f78b7d0730b3e2953225e6bd305237e161854e86277242fcb0b18454237947b5cc1c72735a5bae7cc191d4cde36aa0e600cdbf0597723d938815dc3b620592f1efa660de359ecc70b0f4fe8b775c64d7ea69d1c3b301aca608c87de98fb05285d9b26433a83f103af6cfbb3352cb2d04e52f0efb205d1b1ea6c357c81ebf842cd2712de91b63f107f3cc70d02485e25e55e3046c40198eab324dc844264957f9e83bf3472fa0ab92aeaa8b6977f1f46233efe69959723eebe6fcc00e6a4b5f087453e202e29ba3c67d0d4e3ad7675cad9bf6f244b17201afcd1eb32f1f87f9598d4facbcd908fe3e79c2db7f7b33927e0280e9b7b372e88dec7a9c14382ef2fe12809a9ec559978b4cd3b01f6f5fcb00bc19bff8817114ca9b932393d17133901747baf14c1c936f21ffabc0ef642a19f2fbaf8e33120189d053cb29aacc4d97b2f3bd0362f362b0730a916fed8bc54ad5c64d3b08724a5aa664e2e32b9d1ea68c6bdb7ff2aa34e3d8397702c78c0f1fc6cf08e9fa7250f58e89f0d51bd6b17045b9e35e41fc0c80b6ad1324ce40c92b20d7112e71722ca0301aeabbec1e2c91ed884952970a36bec78241646b5b4f46d106c2668e72cbcc70191cebcaaff1348a94a3270ae0cc0530847182c9d797134406e002bc723628c857dd7709402340b031c0b0018834f3d3c69622e55acf7a75c80ab8ed72212eeba699a6dcbd42141495616b91f338d270ff8b5a614b28850485b684227233833c6d982452ecfa279237a18dd17aed08fa3f07de6ab47d3b387520a766124d9a7ab7d68bcdf5d35d612f29358977a1d808f5dc8ff3b52ff3a766c51c0d72239253ac51f37e67ab92ac2bc26b172618c55c2fdc3fd59c449ca0483af642720bf67ff9e006d5465ef9d71df25cea80397bc2225bed09fe555397b53268ac5bebb53717d4ca32b555f27801165202de7843e78753906e6357d3da30afdbe4727959c5baa55cb8d27f64bd6f87bf130d14440e1120ef7863ecd27dd85447014874ddd262a61acc98e795e3e4fc98be8f4c0cc3dedafd95d1537d104046d1652db625a6632dd75eb4140285e7435b7e330d21221bc23923ff495475fe163ed72e53d24554e2d759ad957b2d7b296c0fd3700393506763955d2c1cdc15805d60722bb2e681a262bbd2ddd36e96ff7ac99c52641afa8789c4f0239e5e6e6c662a72800220c407209b2577d727b39d1f36ce76880cd2c59b7c8f6932335e36008111c38578c12c3b8b1d2520dde7fa850288b3edb52a6252e22647b6e77cf86a47725ea3441dcd5ccd0f279f54705027e7f984a946c1aec5f464d9c68dd11011f672107d10e2224b223062aa3beab8f32979d18f0cfb0f2730e5e1f7697d9c48292f7216530abc3469aa1de37805842e81efdc3d7f8879e9dec6f73c52ef0ae87c72bd0c5c676fe6296a85b5e44537f385d8ab67086cafbb6f41f5546bc9f495be396a6291918eff7096b594871c4d0f22e1198fbc3adbbc39ddec41ff5f339597720c66321b822b5bf7d6596fe43b1caee7f9154919dcfa14661244647280361f7285b59985b473ff0db234687fbc139f38501c23efc94c50402ef945a48a387d72fa80e45b9919c9f74b0902de2b49110421a703a276ff6cf21e41982103180f724a94f9de446c8d1c95dda6805ea19fd97ca8a8b4c749cf734838795e28885372953d37c4dafff9ca8f8200168e8829b403278b500eb43a973986fcc0f02d1b62f6cad9a960ad9a51665036faf5a355cadfcda5fa7a3d36912a9728f084559172226e8bc82d65a94d0b57c2bacd1eff4f9e0eff4ae73e49151ed317906d8cb30adef53dd411450a1968ca285a2f2d87e5961ff69fa233715359cf2ce5bc61443d4c79d27bc34b0fa0a82f3243183dc751c7bcefff920230442fe35b3286bc2b540a7bdd02e113a590204214555d2cdcbb1681fd2dfdf39d47e89f80b57d7e9572bad76a9ea4cf21c51ec0f2bced01949cd32c9837aad4e3f3080ade30df2bd7380babafa7d542bbdd04874f58e1745ceed50d72a44735a29b473372ef1e61541ca3a57a0661e8bfc3adaca2232b90e85841ee12a3eff538ad638578ad4b500572f491e19cc697617979addfcefcaeca27de8bbf2e8d43b04461b5fc2fee3aed72f1ceb22bae625ffd2606c31bb990a0272dac89b1702f6e600cb82acd109f8f7290beb728de6aa910c7e07bd4f0425c1c202526ce23deb96b26d40aa9d639266c32dcfa7625e78e22e8574c2689b984d11c0bf6ef9d58713466ccf26ef1858072deb1684482608ed20142cef5eec1129fca93803d1c496851bcdb151c61bd1972c237e7a9d82f0c093325789d82862992a2f482e79a8c9068ede4f40bb7c3f67241369ee635bab723fdc3d736bfd7d4d5ad2a4ed097418a3940ea61a3e1877c1435310a8fc2c7899c6758d689d52a795fc2a3fd24c5bf64e4fdc332547a130f72af9e6c94bfeb8c5de6d3af369602d704ac5172fc87c88d767a17d192505fa272ec552a4a949eb1bf02119bccf5a19b3c9301b34a6045748a23339c995b63aa728d044b496cb3a48cec8b5d9cb6aedcc262d34989b8194cb26ac20028eb83ad615ba4a6b93e7657e7b88868ea40dcd32417d5267b1e1ef4b50fa6dda9b3fd7b72b757df3d41a029110852cd492bc1e95913feba585331137fae558492c43ee76971a01a01fb19c690f6c505a3e8ba0c00cbe9a73893719426bfb79a1a795dc072a3e693698f382ae70c47a1ada1e89a60699145709ac2e05271aa47c45770636db762a8eb8e55c9ddbb9c45e9abb6d66aeba281e40beaf0b61e87db275870f9167fb87e26941f89430a253b0e9bf3d2798c0f5b47786f2a77c76afb20ed9f39633ae9b1315e9b453d1b0558248610e20397202a9abfceaf5d24991d6712f3db72f80696bae9e7b4080ecea4a716e8b2839cede69482a3693ca21f9dd92c4884721961c09776e2aa4f4fb3a4c1a26f3fc0fe0f9e4941b8af6a2c97ad427f917b723cc7b264dd3a0989a854ee8dca8ce5631ad40cbda501e0a10c78100948e6645d20eb0368669c7db61fdf096744a1b9ef6707e743ea16c72ad8020b0a1dcbde7291e45cae733db1a853a9a7b286e5bf1235364e44a4962ed9cac89ab367579b18dc4bf5aa7cb004f44ef1c6daf868ff69addfcedb46e1fe8a56ac8d76761f382e0d3b9eea3f66227dbb80bbe30f25d55d197b73250fc5e93be667d1403995f072a558334978164b854ad31fa58efc8830afdc6d89ddf428c1504cb25ece487b7209567efd6eafdc31a46465cba9f6d7051193b54813c89a6a914828bfd4591f727d788ad66cc195d9e70f9cc7e189fa9e55666a8f049ea1a80ef96e66b6cfe572d88502942da2b641bdd3f11159ad78bfeeb11b6cc6ab137ba47ba8b2c0326d2be9b7ec2696ea4db6960519aba2850aa7ce27a1f2ae2bf343641060a813b59d1ec7c63894e9691db27c7b6111c4d704ec9784b84055366816dd28023d45fbdc4ff77f48d5a2ce6497ea8fbbfb69d84a823e0f0c44e2c39b7a0da9e6616d933f533d1d622470b371415ff2a93e4f43fd6790bdafd07200806157df92cdc1ec4801a254fd84d5055e447fa7ea59c0ef7224c168d47b6c4c263bb77fbf21c5d23c723b4902a97b55f4c5d8942db3e41a352986e2a4879a73d7950323d295229d2c72850bbc4e297ea787738bdd37efa29f7ddda069eda9e8bbc2b4d78b2cd3447646c65f941870f5854f86eb660ed37c0da572dbc7611e9dcb95a9b5aaf5b4856172341ce9d2a1ba2082462c655231040cca56ac07b17a39fb0d02ec3fd112410e671236ae2eadf596d61258414668a30650ba4fa8088e2450179990ac71134193729db539398753ec75c4b7e4bfdcc5cdff7b7cddf52f30834358e1a55580f1e43f97b7839e1665dff5e419737ab95c7a69918cc25e5a481bb11fb4eb4bc326df0ca0dd75cf124134929ba6f02fa666199f1ddd01d301db9c48e840a60f00a15372369b5f7a9b648664a7f769faef28ce36ad38c813815c458a05167112f2e19f596d7af6318abd176c3ee540b8be32c0832fd2ba0fc183a3f2b6e26edf410227339160e4cb9468c7500254be7c0b622b7e7c3231e1e11281fa05502c344b4e7c728a1b3f08ce757c8a6dd9eee44be16e190b335278b5440f3596e4b3737e93d571ac38249196a79971e76e2b148ab438f063aedd455d50a89e2a1995944963bf720488783563fcd44187552582a99c6e9b6007b6265672f20f905ebd2bc288fa7232422fef7c8e4a46e2b73fc46170724f608aa0fbf9e5f4d793380c49e36ad8036ea9042ea3210a0cbb1a5c37f3354504b95efa303dc692a5cb5e3520702d202e5372e451aa39fdedc2e13147ae720657003da7290a53e23c3b72f617b433957218c0aa28733e9fd876cb1e8f73f6ae588d8ea03bef2fd801a933977bb540e5726dfae278c961259fb36bb8c613124f1f47d551be8984da15acba8a61f53fb5727a257b4e381bd37f723365d0fbae9f4e2747e98858034a914e8dbe0dc7100e1e05eaf663442dbbbe0034b00712d6314434075bd3d2018f19ba7e30be657e6572261ad46876a7650d5fb8ea4d48b78400833c1950fa67b1663f85843f9a1a2672402149ed271670775688a44d63dccf76babf73d98a0c119c66c809d06260d37225ff8ceb41b387ec03e10de44f0828621c51d7114e58a9c6ce9fcc7f557bce08897f2f7e4567864319bca1399f181044b8b5bbafab8b43313e041023262a6b7299da4d0be75ed918013c5d545238334a2f65626015e4d9b856ee3738263bf67286a79adc6fbd973d689d12b13cc65153300f5334d2157b8d5faf411a54fb0c58c3952c7715de88f7630059ee092dba43eb2fb21fcd015be4a412d1b857280063e97656ab7a81cfbbf3c65dd772f0880871d55806e26f212f143f6adbc2878a7281a112775333bf1bcdd35071da7ca5583476ade02e249e3cdab8a86259b1f072e67b86a8881143dfd37328d9d65bba6e358ab3aa3647e46e04bcb498480ff872a0b3d59d4812dc621e470cf1438a9379b39d73cd7873a99a2152afaa1d3bf9728b0e2dd4e6d57b8e9d05b653a025b52c437b0f459d3c6954c66bd3644da82c5e565545ece9f57779ba4b2cfb67e871422f0afe0a5d5bdc627aab8c3c8ecda4724d73496234230a4662ea1131701080555cd693b8eb8719f42cb74790ba13f33adc2bc9cd848e083a9464c5ce2569094384cf40617e97272c7f7fe993c6ecd734b334ae7a4d165539879da9f4c3b9414aa181cd223d627379c0e2bf8a1b3c7272b6e8a2d67427c288f4c87e6e22ade93268ee042a2a89ca7ac732863def9ffe72aff4af3e5a80d1f7c6d4065665feba58996aa2ccc4c66622bb45709056899813c7d11679a74cad19e18228f6aa2422a8aa6b3c7144d87a07dbb7a1229f9fd472fcd65b8afde449104b1a0acd2143140263940020681ffa040df85baa41919747393d590eafb33cf049f29f4159425dc3bb963b6db0ce4a72effe4fbe2d7d0b486236d0627307a715bb4cbf2e8d9b16c252a24242f34b855a97d9b0546596a7031e1075a97303de7c7c2ebb7ef38b487939d9b1dc9e7f73d7d8428369e7488472d4e5ac8a9c9aa8765e84bd375fa12eb0449219d0a5db0b6b950c85047d29523be5a9fd4961b7a9474385a17efa1fbe3ddce89a210ddaaa8fb01c90ff6982d85224e11400f7662b027fa1b257cfe2ed90bb07f0a76128d33ac1dd16aaca22597231ec1fd80e8826ad6f987e493acaec3f42f6cf95562ae8d556ada515e30f0c7213145825081ebb5b3a90022913a0e7a5cd4f29f5e8fe7932ff6fb0a87943f76f33e12bd9cb83532e6c82cae2370d6f74df1e35e1a944022160751557fd0616422e68908f5990673ab6bf389e51d7c75b492d52559cac3600127c70d15d7c7c729ae0d40d8757fe26e388a03f097ca8a01de464c0805c6e8830b35bab356d890c5a55c5763dddf0d25ebdb8b690620b5c49dfc22be4f3407f58f94c2e9a62697293b20791e78082c31ae2023483890dc8d41f274057da1d8eea328fa82b7a6172af453e096879feb0516161ee8a53cd43149f15db5073107a0ad145a7fa8e0840022c648cf9f048183531201ebfd3aeed7902676f28fba72145e74d1e7cd055728114352d6844a456c16764701432e72fc2baa3a4b01ca81a7906af12fb7a24725648902031222592da812589378874ed21b7807073708d22a07a0a3664bcd272c137e7b3fbc75eadb1b040f7bcf7708452a9747c14f64ce8a35843a43bafee04590764522b363bc19f7664e208363ad3f0a1dd4b9b0636ad0e7277b929ba6b721aa60b4e34ebb27ca73cc0176ae84b5b8d2478cb297908b5cbbd45838e5e177249f90c660b52c74375445d6bc8ffd8cf297edc93b14a7cfeb973609410d0f40b19975c1509d6203b9150dfeed8a70678059e3ee814b3ee9d1e3635d17bffc07293b6f841f2a636492192f39c43a499009b413be882907418f9c257623481cb726b5a46234512968cbd32b3b0559d86e3b7b8e62eec1946c36d162d33f333e737f7006b82b240276dac48c6443ca79848bad0b3acad40913e211d320c0c66c65bd2dc96daec7eee7660456c942f0f6e1002aa7005036a69906becbeafff61ef49ab2db07ce964465f828a507021e53562830fcaeaf0b3cedb4d9f4822114d41729f4069750b74392e4a4a67f96a6606dfd8037aa5b2181c5af2e2c5ea02bb3b72ae14f65bd8e01dc4bfd136b0b056608a6986575fb65afc54443794e08266de721ddba8e683a4bb105c0097b98e93db9507e1f7681193ac294971830424d151364b0a0c92cb435be741a32bb33ec686af1439e7033c4a802e24ad7dd1aea640726bce7bee6cb0e2b7977569e6c78b9aa073c0a92cd98a9b9a1c2e1adefb84f872af8b9600abeceafb4bd89e5ca4e60ec39ea517ce438c31c3df46cd0803b46049653e5a4ffd3ffe4ac574b466c089163444c39c2a6fd81ed04452e76fbb23da51b417d5cc01885156750c5b311f2e063f77f8b5e5cda4e6c46f4484607befb719f273fb08ad8eefb4b862c006fb30311a3aa576375bdd8fe69765fb097523976d3b2171b588fbbd5f210713e9268dc9ddcca1836cb7596ec4b9789702ceec4a724740fb256fb135b23ebbee200a83c3fcf43d1a4341e2ddfa0df3087f0c385f72beb368a45db1299aaa28146560e4810ea21f2a9c14f2001e59b56fab2fbfe07297a8d1e3aa53cfa60fff6ec03cf704b284f97eaa63385078d715d15715c96400fb753a074fcebb5bc819cd048636d36d0a7e9ab2547f0b26373c07bf92bb165ef50438d851271f5482ed0e8538347ac20b060ae88f3ef9fe4dd1e53fe3ac1a14950e7dae7d446db3c6715ec7f6d912f2b0167c7b6905d4478ef0a8ea29e831721416edca15b34e7a9f282db9f4bf59816f3fb3a63adb47999472f6e99a37f01536e6c8723619ada27118d781e02f9a859618b2a7e217b262914c8d1912b0d03f6cbd3990e0326dddab16ed7f391ff7a7e6afee2d98eda2cbdfe794ac6c85653f975f212b351e5d1edcf72bf6c9b94432e2325cd00f7746075868a3191f2ecb721d9ad8a19f3f6d3319e8f4431597c99d6df0ff1513152b20f6f2a4bc70f50d72f4d54af18aebace80621eabc4b452e8f44a9bf713ec8c906c9badc11668415729d6c6fb0e90de72e2c95a6453544af4fe8aa2e60187253dd92fa6bc9dd24f972111600bab2c20cf0195fe3c1023d03b800e65f2aa4cacbac71345b74692b01728415c35bb4418a869deed5032373400bcc9bff52df00b2770ee8b19a1433df47cb974a02d47195aa0fdd76db1b29cdfc77b07f67a45c6594731d07b3db42df727c5b8a9f58edf69d497fedc1257fc18a542688e9e2724a23fd76bda2768fd472d478b9f6174c29050e7daf8608f7fb39ff50a323263d2ebdca220e65381c0c4949747b8e918ff7dc322e12003e7d58bde43b31198ffb85cb366570c7fbdfea725dc3f7c16d8c316f0bb410768126694235695f2eef3c6d7bc7efb5a6091f46450f2b9eb849f9c1fadad0d335532c7a76f991664364a381c9524fa2d352bd7c721ff569feed511a8287a86c3810197e5b01d096e2d1b423cc6596304689861f22ffdb4f7fbba869f9d849d3aa7af6fd99f334ecdeb5c092ca8c731a1fe0b780729bbd13149076352b56353ec24013c6cc50967c14af33842dd252cb4098db9672a5e591b8053074fa08300542e35de594140feab308bcf2a4ad89e1c7531e2072cf907573c3dad5820fc1e40766fdc00eed68ad31b9d380cf8781c7eceba93a72393e97cd51b1f4a32d763f5a4bf920e971d5d7f22afb920a265e769eceae08720863f0577b821ce9517e6d552ff8a83af96bd69545c618bd1549740a256b4d720a27ebca0cd4616dd25e1530a1c866e3985e1192cb60ac5967c720ec1122df3518233b579db85370b8dea876eea68242edf6516025827f9f3f3770ac651aae445b0f0a2e6b62d1b86d3dcfa12add9737c52c633db4238e5886cd0e28bc5bff7252163ff29986e805df498d28ecd0f47fb43ab1aa4433e34ad927a541633b3a38601c5cd8ef3679375918e127a141499b045278e5348e8fa429e2f2a8daa11872278f945db459b2e366ae287a4af9fdaf4f096c107001f98bbc0249bacf5d6006fae982f9dbce6f051064d22278fb82fc377d19411dd8b23267db2368bfb49c72ed43bc915a7715b40175ada1bd2bc945d756d23a6e44e5bd2c7153b47eac41435cbcf01c261765a3feb3101db7d0a8df881da767a4ab9caa264b0f9e0ecf20725a639bf1a4926a189eeb5d9e4d550c8f54d8bea200266b430a1a8cb2620ddb72eb47fb7a82dc5d6e6e97407fd7de1e45960ddc8490ab2df12f978678a2577b07803664171e48b3661e3d8835348204fd2ff7d1d4409e91132ba8e2a5c63ca00b813ff1903863e01eaac81e0d24b2cdaa673a921bad0fac9fa509f93d4fb20458f4c4531a14a122ec4c9ef9fca52531610c98cf40edfa8d9461332f6003f0d472f56480d661e421dfde0dc54a0b1c7e8502f01f40901799f5defdd3f0f5234872ee2b34ecc18a9826d5068bbbb8ce755176e64ad45e0d70b7207b25da5e72ba721d0b22da3c328f28e3732d0236e8ebc8d1e7ccd8b0dc48d97d9f06c911fc767243cfad85644adbdb25c17a6808041b2cf7171c4d254a765c5bf6412d9d144b729eb144ebdf367073c7b364a1db8c4a5611cb9518e13429306cffe8fe1f7546139787773a9a7bdeaf34d64e42e069dac9d259302e3c0fe122461fe1b5a8404372a35102e26c06f4714d06c0d6cfe12d47b1404ab4ad8097b9a4253378e2b9bc72ffc23f7ab880b732d8eb8f5d9ebb2968f735ce17ba98f354f4ab4fd7e88fce72ec840c92e58d912b8c41e5245aae0a893e4fa904c345ab23e64ebff82237fc3ef3550bc7b8e14567a83eeaafada50048489e512001d977ce17968466a80c7154e4c6a6c40add3611363c04d74333f38b6bd9074e7ebe7838da66f77a6452fc721499ea5b28869921dfdce6ee2f986f91960dcdfd07bafa5a575c05c161ed2e38d73d4d2fe014238db38dc401d2fde346989a440fe01d481fd18a60818516d044b7524fa506dbd4b92efec0189ae28efd6c7372646125c1646e18cbe8dd468a3d9dc631c75d14c4976ead8ae41336649964ef845629a5a92b9e92286690889672df3b69377b6be5586ec6d38453a9b82c1692e77bfe9a1b92b8b9cb9af27495175d1d52cf33ad2a5cdb6354e0366294dde83cc66c04e64675825cb2e2f2dca47250c675d402a28db7d4292f991dba3ae386d249733dd8941671e8337c96dad06452401769563be20acc73f587c23691f8405219e8eecc89f2d8893f0b9b199c72aef758adc4b329d0c28a35a4b089f15b159ae9b29a89db4f936ed25011f8fb7260bbd898f27100d9ba14c29ecfeb699fdfcd2bbf861a4c5f197e0b3f50b96d4c1fd0e782d095dfe0b68217f8400159add6b66ef83760238e55c8df390543dc25f9a54b2856cd4398a985b404d93e09f6d3a19ec9890493471867fdac3bfef51342008ed1d42eb6d8647b9d34e56b9d2b445b23a7cedba9490ed41d28a5d1fd1f85b775803f1673c91a19953882a1eecc6ad9832e4c72bbc16b598ba197809b72e56dc1a40c3e895bf68a7b10a5b847d702b95be53182112ed791a1e4c5a40b6316667c04a91bee6dbdf3046e665145c53d046a6c3ec5d317c63e69204ce54372dee77bd4bf60d76f620bafd5d675366868bf8f9349a19117694c922190e0e858c2685311e229cba73a0e0024d65dafa047b42b7f3604752d1820df32c3061672eee315accddf5fdab8fc838c86212c00c14e73727f8e3b4b198c68b4ca847472663557ba1954f9524e35cec4e111525622e7ee486a3c1af1aa3101a37b97b47215fd2b080be17c67cb763641b1dc3704978eb21a9aad0a3a55288571732f8f72c2074086a34d6f83be883aa530f39898271153f8b95dd19b2a81f2bdd29e14725b429d264ec01ce1ab05da74a56b6c51454ebde250bfb330c9a73ff6ee154f22cfdc910c97930f19b1eaa8e5268fbcb43f9886c15b8b747e5ebc3f345fa36972ffcf87c5a6a7c418d56628f511e8f2ed948e1bc3bac05dee42172de002ac5672ccfd1bdcbac20e176752b855143500746f72c1cf06c1d9f32460cba67398ae72866830796b5868e83e38b0e1860e30ccd9df1c1905f822047b0d595a1777177206a2d6e7dba841d6a18c2d6bc5b9d38a8aa4531beafd47d3f15c6890d1949172a97284a9619b21b29094b6087cc7425db705b97228e21beeeaec7a8dac8ac372afdc1d1ee17d2262bdb51177f20a621c8b4d76e36515069f5cab14516295c41dc851fca4f8f40fd3d2480d9deb0f243feef01aa2214a42c5d154d0e91cba585865157ab2dbcbde0cb212dca71d9ea666b2f11bd4a22ab38ac3474d31c6099104eda85ce4c09766ccc8d1974d6cd4adace616ad760c49300a7b8788c020a4ce483d0de408f6e44b4af951dad783c5b32d495ce0441bbc31f927e2cbdaf840dc1091e3eb8bd8fc0628aae05d283d4c711ddcdca889d6955899cae15977c7226f721e3a3310d4dbe4330ba71b5fc3af7bba9fed61cd32aa2982bc3589e646415e34ba92c26dad29b1a587795cc5502384187f3acf301f3a195365c7c85998e24272d9ea607223df3561a7e3d2cc94fb0e4896e1187b732321f122089c70eb6d970a93cdecad15cf86dd3bd8d3b37944dc55b93d456f8db1e1462d1aa02774a73f6a27b42bc973f3b9a81433b31b824b705df9d43b1dfc44318ed750677bad8e2f72bf57849c1e9e73d1ff4aa7dc0a97fad6a871e59f6d5e41ea4b4736703356d772c66fe974c26c8e233e3bacad0718f080fde9f6bd21f20e07b74bbea3f06fb0469fb1053cbb97912228e88624713828f7f15a4967c376c6810a506ec047c00167a5230adafe365183c2d2834ca4b0eec557534f1da03b6484fcfe34e20a080172fb251c2f0c93f649f8524a997268abdca93077beff12f7626199f68cd55c20109ee847139dcac2b99fa6e7d1ba0a6537fdea39043957531c9a95253cfa640e151e8306aba12ab3afc18c083e2d4381b257819ff7c0decb459947550e6fa94717cb8f3d6628b2560d9f8b6ceac166cf8b98c4d652060659bf469ce602d3d051722495a27fc0c2ba9521406b920042ff6a7a23b784a8b43d51038f99cf1db04003054a6011c8eb91dc4a0cd2cb1ea342935781539f5c5d559b8f821c02f6640e37eb06099798a25e47fd63c3c40d18b5db7a96c41559e947581cb1cef88d2c8172b76abb99eb5fcbe182dce869fd97816430268fafc801cfa9e55675ac788e224de7e33059ba0ef326e6f176628a54c88eda4a7e0b69927a5dd42fbf9ca68cb272ccbfb9311ded1f1fd7205b944dbec52a92ce691684d4779b6497894e13b0ed2bf6ae181b59760288ab8709bfecd78c027daf136cb22c11890501120123ab1445e4dc54bdbff3fe1bc513779d96425bf83ef23116cef5095a6acae18552c2fc727a7963846f2c8958a18998c7323f70cf866dc33740670a6a98d8ec9f22e9e71eaa0e82c758ce8d5ba67877f25f2d45b2f8449ea80aace19dac1bba29e64ffd34ae6c9a4bc3c8a63a7bd0e965e47cdbd5265b268a2b201b446a3e3c7bbc64e30bea00d783ab9a36ba5529278be879ad235f718f208f89dd48b482b7339c3e6a230b755a26f7e4d8a69006dc75c4558dca69ee8001a7e5814c1a2f977205fa6472d97d4bf27a47549d8c6df7bdf0417ab941df247ee7422a41c589522cb25bfc1b9a1d977fcc91881e5f9858886be5c4f68c9ecc23474e6e9397dac8291314d94dd8ae09b03689337eb851276a1ae9765e253a1ea8465f666813c78718f07451229cd52bcfe25ec23c7df82bf973d3b8227d4d3cc83cc6eecdc3c5bf48bfb914170d2b3c16a3e7f452a31bcad10430ad9f7dbc2e971a2b266d68438455d661776c42ae24c3d664992fe37f30fbc22c1a63bbc997036293fa8fe68b497f7f52a6726b689b9b391d39554ff05ea7d796650d41acb55fee25050443cc63ae18537d6458852bb7759786237f8433ffc998a3536ce2ed14f7068b3a43adb69fd5838d2178d13f0a07c84cfceb4fcbd934ae7ec1f7d9bb947f680492423fd048cf016663849d32a07ce0e28a41686815fbcfe062f0a85ab568a8862a22cb49bd11714e7206118a73362b33c41731635b4a0006cd8c7f38660178eafe8dfabf0e528089723eee369fc118fcc3a705ba11f21a7155dc6c2b3d26d562bdc94df212e942a27210b512579bf6abd1a6a3c0831ff34e514aa3cdfc373711003ef6d6575c789072d35b314a948f4c32da60c6a532f56c9996666412286dda86481d1377ca510f7267d04142a4c01b7245100d99fdaab270388a22165a4bf18e1c6dae464fe62628cf128fbb3334a25c0c46572f45d755157dcad1a1baa4190473ed460a0113c872ad08c20c8b0d6299bcb65e3bc21cbd0d2ffd35c01f598ee2c6c77c61a185043368729ded80d363736ed69ac8ae1bc5cd1f007fc0c5b28e8ba9bf67a8eb1b3172a67e4800d96e8297f1ab36e037ce8294789212110d9832c06ff8d1968346600eb93592471ebd9eb90d01d5478f5f6844520d1789c4d963d4003d2957e88f4d72c60a71a131febc45d4fc4b524211c3d1c5788e51686a22778e0a8028ef4144544f74b78fcd6aa9d53dbeb91b074be31816f610ad9f60efc2993a3ef361ff822f9ea522a46353dcfffa5fe0ad0dc20b0f243ee23ac5ca7d7faae4397a7e24d072267c7f666c810537da68cd705975cb49b7dc5a1d5e295a1e189f099d02cf8172b28152e6f1530bb1d985733baddcde48076759076148290e0d29793a9cd8a9726622db3cc92574ae1e1b7d61df9f6e4691a3dc5217648505fca7f838b69bea720d8085530ffc38d7753783391c11ab5559cd94a127d8ff1e3b87e0773bb84872a4061c4595b4dbad82b3cebbf09ab3d58b6cfbf272f249976e830fc1e1009772f6b76669ea43b370c62e7e173fe1794f1dddee18fdc610da6b55e7edbb821e2f788d89807ef9d593f0639ed081eb7a5306503d73a80f3ac3f87dd28849997d72e9cfaf8ef8bc39dee33a84cbdf67d1b5d1b77ed9ca45c86549d1b0988930672848050ac9f32f3a99f5376b3fd2e1138fe97965ad997a3a770a08103de2f8ff72f40e422bfbe411d1c77fbe81a367292dd2257f2d604c0dcdec872a2bc44b0c721c9767adc3554ac34f0891d343ea328613458a326d30b4d6be88bf33fbe23172fe5dafc8267a421d871b2aa4f6e12c53b376ac1341cad482b75811385ecde416c5aa42d25ff1ebde6a1652a81a240eeba01c565e4ccbb25b2e8c83df9a6ac27261325258aa70dcd3a1c60afdc365c5a8921a89521dc0fa5116e2dd6fae64cb41daf25f032b18e75fdc90e7ef2687e4eb0501772fedf0cb112ba969ac12108d4f45145347bf265381eb29801b334a1c0cf37d88665690b11c67ac4e45d718c1721bc9ec1d279e5894f7b709ebc3f7c7c9907422e5f4ad4db96559726510f6a8720a9272a2bff1bfcd79c735d11c527fe34fafe0d2aa901f39d87e88d8aeaddd279cf6a3caece6de694957a037f2192e9c937188401eb18702eb28ef1ab4f4f672fe85654054e3cbc4f5820b12c28d1c8dfc257f0991303c07f1d24ae512b6f672d0e016cf07d59308902486604dd535d6a0468847040666059a4080431e11317254b542c9ff0bbf10260a5ed470b4c1451d2d184a17c17ad41ffcc99b29540f7240d2cd35fc7c6b69320f0c84679bdff0d163b0de3c78a5f1448e6483d4559671067736065691db2b58014e8f390b489d43aee130c7a4abee0cf853f1730db10ca2f11c52f28ac1863bd01377b88e4faafe441955a742a82d481fe8076376e172974787f99f57ab371f55de6030194cf11a2f65e6bb73efeda5b5beefe7bdc772beb0a6363c40dd132ff37ea8fbb16a11e55646c524aa04132440d096b2ca0872495fe6318852b1a0e88af948e54612849373cc77a565827ae1036e7078ff957227e04b541deccae9137ab87df23f407d8394ae95737320791021e3e4574bc8548448f69a2d9d81633980c3d450dd39d827294143a8d48d146ad27436d6273b113e13afd28e3ec74d904e952247dbc312ccb6e580ac53328a668d02908cbc51721754635174717b0a4c6ba627f56b370d21e69ffd06fe333ea2d0bca2166409728ca5904ddfc47b1de7dbd586ecb6e7f684314a8763078d4ba4b5417fd4994c5944beb47ad240c99e0f9645ebabe4e01aa95b93b3afb99a53fd31cb97a4ac8f6404beaf2dd09bd0cd893030823a313f158b72c4a863bb97be46b131ca13225c2a93eadf7888315dea23f25e347d5ed16f1c549d56a3fcb71ea0be80293df4e67216ca3ae80ea804cecb4de9fa6b5a78dadf3412917a203efc322e20b1fa6402725ae5bf377fd653c4ac60ff14895154b419525d5d3d99dd8b2f9aede035f604723dc54ae2d9aad15710202bca47e206362b9c27025358b7bcff1908db967a4a2f93d88e2bc89390f458da7856b8e14301993d0031e33eb0f4146dedf8aa967072b171697cefd1c8af4f77f0b35319fb644119cdd3335b3f97482f226a322c0456219a7b01f1110c97a4c120cf170638a022c8d7abb394a22a1d16227ac7d74372da7084a0bdf06b1b370471557ade32465a492819eb27692b6b75f7197799d17243ce76f2e3538bc527c9045ec01b2d222d1b6b001786489a02f1be2b278849725d62bbbda2d78b9e166a105b4a4c4b95fac7774256b5deacbafdbdd29d06795403e14a6689f92649f308f945e5037a59f25106b8b681ff0deafc1804b9ebcb3a7bf765cda27ed371d81ad0715cf4390bf139b50d52a9315c223dbf537b95677284526ad687a41b8add92c3a1f731c2e90c54289030091711ade782198e6b0172e74732a18fc09e4c923a1f99c11b1a5a67a7c99d19556addb8e79b779dff587287193092b3c09e3e380a69ed795410c5f858485ed27dbf5cf193e332c64275721467a4eaa95e19189b6272ba1501b512bb56748bc0cc282c1469824fb2f937379ed44ca2050741c2ec2229a711189cfbbbd48bfefb72c834647a8b2422e7367282816fc0a260497d26986668f1919a66fab2a420557d773cddf0316e07e12b7254f5c1f1a8dbac4ea9f9d934603e32b438b74f48302535cd61be53acc303087278da55dbebe5c349f73d0b41e5e5fccca41df32702abc593f151cb4fd3230c7299d73e12805b7bb25a3cba54dfe186988d096640a53cde7ce071a903d5eb385addb8bac5cc666780c448224b093da024f43f6c8fc1f516c216492c854e06bc72f94b24cf1de8279ea5d28a286b7fbaa4be2ca2555a8eb1d001ec6a43273945727e9df93d686e3c17ef4f136604975e385238b6a5d210d63ad117ff7bbbb58e222574272cf650261231e6264d40b745945fa81a43879773b5277f4e248c95335f9f93283b0fa58965d13abb5146a2a15803f8b6266cae1d6cfb2555970bd0ee1185e5ac6c5a449e296c7bf4345b161c4c6f52e96a58af003f3453bd8512c89d50e5e924c4416cd56ee2c6d4d893a16dc14b4aa18d9e1a0c796f69775233c123345f82fe7746fda0eab32c5d89e13e4fe7926dd71984442d85b9ee56892a38705d58982a26f2cf4c5a767bdc2c8ae4ace68ac99c32944c624560a1bd256d85e1726446a4be7c9ac6c84d5e881e8863f904bb1dccf0d6e6aae3fb8af3cfb833327226c56e1e97ac0a00787ef4482d21f8d1e2acf2d6da8429db6a8e174f169fc072c4370c1eb78a7a9958489fdd2dd70e10e0f7fefb1e65fa6e037a16579f10d139c4c573151d5d69cd3b9c0ccb08cdc7c2ed435ae682cb2a2a47da5b8d954d8810f0c23c00b26606428b93d16b5e9d870981f787d0a0578652b79c645e106e9172a790c3272ebfd4d07c97b9e2860798f6b99ed4f6dc02f224ceb51e2d48e5d24fa748243e97ee1a53ce07defc5fdcc30504e37be128abf13403668cc8e13ab06aafb59993f471b06f92d177576041e9fe719b0670410b65f4c50ae8d2934d0c720c1681d22560830f05e1e18c7d2166e732d5b4947d1d8284b64132d02c8b0f1a1f528411f675d324b8ceb54fd6dc8f8a35130f2266a295d465e076c5f145df12afeb6bc647f1f295f806d8a6c03cf2e97c5caed26b6b791954ffe065960f1e7222e79a558394cc7ef400ef699d3f7272f03f812a49bfba93bdecd75880775e72baf5a6eaa830ed8c7880c0a1c30dba290f4b9d1a17c87f1497bd223889de9858ec764ef8a382c2d3e46f5cafa20654569c74b2b18cee4b3ebda8384917265172628d056e262fe1862b4a9c9461970b5c4568a34cb431548bcde7e1262249db7290a177ebd045477cdd1b2bb3f2a3d267bee671b2d358520f96f715628c31dd4e6340618845ed251937f08c81bb72e791c0db40eafb92641029f142160472d17257326f3a364da897e169930d028eea139afaa47575f38040c651833c4a2bb5720a76abb16ac773b8e5b30674091a980d2bb0fff96600f3756d896555ba8c4f4548924db48ddbe246cd75a97f838e48618354391be61850d834f27a443e877a726d0b79f0a9ccbc75071803f499ce0f86f530f1d581e3114c85fef737a10ce61512101ae99ef561a42cbe2b752d2675131b4bffd9841d8932b143868b109a1d7295871925120163c69d40796dfa984b1d95655d28c0f51c8e3db032247432c07275e5729b834b6c6b2e9de19532247775de287b68ed35916807f101bf5df4c17269b7ad61aa4ad47c91fdd0bab20c701a891ee00d02f60fb9d4c868b314107372cd761b90aa84dd77773373c58219cd68eb2b398e34b3305e2abd0c410fbd2d01623a1f14bfcf2f2fbbf4089afbcede372a7e25fa1cf4a934edc162440d309972537d594746a56e13460f85526de3e8c7751c43adfd2cc077a0b952cf2b24bc7256efe83708cac751026be7483393f4590c8bddff0f33d173b6472f75a9329c72af08c952aebcdce39688eecbc701e391dbbbf844c3fb9d0b572b947b36669932e2e2512b1224e1799c13983ea23256e270a319236b9ad9713aa2860db9d3a9722990b5f36eb5a70ec6c16876b96ea65b099a44db6d9244af8c882dbfad8c0a3fbacd998c5550e363e7b260830a02c5c67ac50ceee85c09b7e059babc7ec91272839ce3753ea93447dedab7ea8d968498e179a8e5a12d99876495dd5490a0122232f009effcccc8e3b2b390d3ae971b821220320f4a3b37daff3bd1036fbf7c5233f81306619a1ca95ec9d9563f829f6d4500a35bafd0324fd2c341433929667274c31ebf1b7b14b2406c88cd9f3d29e6ad2f5e5c305019ef77b6c1fefa850972027437c54d1e5beac8c50ec4e4147086b9f8e56bbb0d79a751ad87f03229db4bc7346bf4b3d2fe95684daafc33c01fa0a172d798a8797aefbd0d7fd49c28e272af7dcb7459cdd0ea5fb33025e3f60ef297a67bc5c28312a9e3c9066370708572ef5eb811653d46f0bbc925b3c4da27437f09044d2fa8eb3f2daeb37efdc9fb40b90a1c333ecd0e095130eff0492599fd4d3b4d02066f1669c7bd7cd7e0b01672213876e43ed7990314c3fceab6dba7a1aad9507a025d39cd6b598657ab4d9772b5626c18dba57023d44f319b31d66a9b2c7b1fc0d42afa2b7e793165336d7f7261dff208c5fe6746a2d659712117101fc6e57edd02f1995d8a575c5f7f1b4a5db3bfbb9482e0b579821ea06eb32d0506a5bb651e825e39cb138bc9ad8eabcf608ab1ee0f8a6c13a81f1610448a298251b4c293f58a07b76a41b3970cd20d4672863e6689070a91c81641517e2994055d52df341a541b2e4f3f42c5d164bef721ed6a6a2a3765b067b561b74a10049c6754ca7f0499e64573b472112aa27ea2720e2f95a8a6f6f807a164bc0e47a04b474414ec4a91a41febd32ca5c93ce74672d0425a2ed2f26757928b7f087059827859b4b4590270894f5cabf4e47873723c293662ecd2913b5aed87f417faf9fb41a2ece8e4c6690c4a97e9ba81ee9fb1726e17b3f91a413d5b1aa9bcc7ba37843bc79eb67336b00d90fb3f15e15ffe6560e22adec0e1bdfe7d662d7379f2937b249aa24287c2c9ce77400a0f958a24c872213d8057d0d6ff6993226c404bdfb564ebe8386c2df432e9825d3d6da3408d7222ab6eaaff2e54ad22df83e1fcdb300bac14b8caea60e3edef7b8d756de1ec0d3c5dc5a1f44ebccbce6644ca06196e8c74fb83a76cedd8cdfbf2012adfa5c9422885eafbc095c52504812850b41157441c1a83d2924259b276a848b6a193c30679e626125943e762c37f71cba93fd729603ae6b7cdea228355e1e8a2716b37723097df438afccd806df1b2baa84d00d01a8233a679630f5a35bec6131cb49d27abdbfe433f5da03ac37f9b9fe25de6429c5d416f512c2a641c3d9e272b0f172bc86619d23bea18cff96dd673a67393b14147eb1403115d52c0f87be2b4275f720ed329125be0f7d2a2bccb71127366e27aeaafb92846734510bf28181fb5d91d15491b7d894d98cf723d8812bd2550fca6d07f8bb8b748239c224548d1caff726e77fb573c2aac0106ed74e991b0aa93b720db21d032ac2220a6dc9276c6e772533fd763e1834f6cfddd9867d9c0c80ac6b59f4fa6de3481e1f1542dc7e3f16e1d4a05dffa624da05083fb9e7576e7bb6256d7df24267626686c1480c25073726fa5688c3d37513edd7cbebb223489952673d70212b2f7d1dd022e9fb11f8b07159c558eb268812768bcf3c94cd0420d1c8fb5d9eadc83649ef1a981475c9872ada0e9b4cb525e48a1bd67eb0060e05bda3434bb8bcca0ac7676dbcbf7654772cd96bd19bbe8391fd519d474319ae072ceda423bc3979294b39d97fd799c194324edab4c1273419fd7c959bd3b83cf9b2718693bcd5c56b99c084c46ff9117650e5f848cd5ca132630239a8365400f4de700cde59aa492eb47cac7ebb6af13702187f9b1d3b608d4ff4d43e7a9fe23b38550914b8839b52fc52c05f8b93bc23d270317e3af3476d964345acc536cea636512897ac3265d117a990e4fa2548c72a73923f3d689b060abe03a383a99411f371488750728abe214af55723b8fd30c1a22bda95e79107dfe7f33c6e661a76e6f8d463f79afff909fb57fdf088c2572856c042bc33babab2a2e473602c39305a9b6987aaf8c624524f26150009fd56fe795de5209a91f486c12fca2b7497b1759cb3f134a4b50f2b4a7828e5225117258ea14ef65d598aa207983cb157d2daf85ca253fbabc1283b15dade3ea1dda4e96fa486b00dcf87f0f8151a9f53757e504129ebb5c74ebd5d88285a0d5c26f728d77592723f820bee86eb909f8ea743e541f11329a76d81d2e48fcd3025aa172cc71b3bd3bc36201ff71dec38b2c3646de940b3727673872719730bd06ba0372046868d9f5d48a577566d124d1f47f4a15f63120f31adcf30c8f0a6398ef75720c8d200d5b5f81ee0ae3820de4b5621b0568aaaf3004544dedb1b47a5ddf01720b03b35a78ca5975287f65581bb9c290f100a73817da266ec87d1f7b01f24a72d25652b8f9bba714f68d4f9317521993a600fdd91b3df60b5707bf17bb245272b51b9aff781cb8dd168e33a703dd4a90f7b9dc9499c580f24d02128cd1812572739f69e1c9449f7f594f02d16f1654a19b4d2ce92700218608c3f7691fd9072d83d239ea4803da83fb01048f617b62fbfd5905ed7ce3744c7911952586a8d072f90ac2c6e9cd9f5f4adaf77f7c668336994ed5a13125c4745acc08de1a69a672aeb2fd617b75db5588f9e0ddba9bed121678feede92311829bf6eff50ba65b7227bcb262ce04bf49dd4bc08433bb0bd943eb40be0ad12afa95f744a39b208b706b74a9716e3b56cb01a1f246e706a98b4e5937fc5b8dea4693327e088305a24bb69a1222943288f38cf364227a7848ca627c0a99fe1ca1b303e133a6547d6f725847409bc748551665d1b1b376ca5e776e1c6755676bee3c583b0aed78ed4872928ed7956424a655356b7f11c855794a12183a00c835d2b1aec4b1e4973c15723ce5bb14b64c696ff90f70e13eb49063f780c7bfc7e5d16325dff14241b2046fbfe21a61f68d9ff9bd0d8832d8a585e23c2a5b6f6682efb6be9dabb795d2fa2e1abac6e8dc44fd1aa19579770881153eb5977470197388cf03f5828c24c6272a4e698277d5de03c5409f2c51bb108f2f5acb8bc61e83173a67a198f30e9d897233d5bfd39fb5a90e5191d847c6916c49a6627a2cd8c7c93d24db333bf1129852941ac0de3245b06b739142ba3539242d6d68924bb7495a82c4536a4b34a167726cb29821274e8894b7284a11aad273dde1905da06a5584736718058a2f8c6e728bf994ec0bad8d89d0b815dac80cb9a3ad00629a9c12428c7c6376002e72c272db144d080b65d592365ed2618f18a94e3d40b2f1e0a072467a9b82c185b39a60804dd4d0af0edc8ceba058991d0acb40722966e821a75aa05516760eab19f75839c89be218fa463c21c7c6f417730e248848d441a2803c3e046920a57aad247205cc54eae493881cda71471ec9856bd46854b69326756b6e58590add7992d772b555ac0822c833083eb139645caa15304259f99701153f83b1fb618f02921a7226ca06fa8686facd9a4da6155c9e0facc9039f64af358c5c5911414b30153b728dafe96501870561e7daad5cfe6fc0b117fa3553bbc2e30f4752d32c32143c05f2816d019e5cf1a9a4b256599883c0a9ef23f21157ad3cf5b551abf1399e0272e2264caecabdcc9800a0b6734361b9a9dd530f67d8f90a6ec23d089186abd46b3ba5f6fa49eac0f4685de63d0a601e73d3761499e44f172025eda44f8535816207aab22276c0eef31c53c981f1827d5f778a60df8a20a787586c2fbe02815172442c47602c9b581d30cc631558e83f5aa92a7335de8a6797d2e56572f9153472ee483093a8a391982be17f0c8dcd4dd2471cffc7bfa4852c01c4d1303016c7723aff661e4538aa3fc6f5fa7bea8a81228bac2415002ecd4edde8d3aca924fd42c19dc21e92937c0cb46a6dd327140e937c33aceab9c1c26b8e68b766c89beb72f290d91a3a14ca2559e3d3f39ef4f2afc42c985e4ef8967779933f5016b2c16104bdf33e071e9e50fca18fcdb14b204ec156a3cb03da28d8ce62b2678bfa9772ec5c51582b99c3eed4a6a5394dc0fb056a7c6d9f42fe14b4fce528fc75f3814726e473cb70e4e6a6ab205e7dd1df0d6a6fe765c1663183408a94c62af1b90972285e82f65fcab81e23f5e9bdb578bbc97758e7ee2a30a8f344ffd102b65c20728e1fc2a35215619e61a4cd7ae745a8f46c05b8201d348a78e463dd0c50eeed508ad3ee85241d455575446b7e95a9781a5a13f9e25d744a1c9343093a2e5eab707fd1fb5ddfee3e29e8ce4f2ef81f28d78fdc0292ed439be9a81032abf0df3e58cbc3c9bdfba21490d580864e4b4c0b4513ca9dd4d1ca085e8bdf55e278d95c728868725c1d0a476099914bc244ba91caec6abfd11aa6a056eb4e555e09db2f72b0ed12b3939fbfde6b7fc327d3684ba56c08e79d936bf2ed3a8b7f1d379b6f7268902a7d7f07c099865935626ee438c8cb1fd4b0b4195faa74ab9b5e60260b7280149d1506902090a784dd324256da21761dfef27dc6f8bd79638870e55cd7014ab190a1dc77de9da14621738cf71fa732dc0e5020acb824a1dd422f4ca95772a69e42e27787b0afde9e3c248224c8b3cd098c53e48982c240c8c448c1c9ee7299a175902ea8fdd9678b75178a52bcb16027b6eedd5201d3d2cd0503b8b4cb345cef63da7134ce7b4ba3cd66cb58d4ddc845b5ef0f880c5cf47cd764c6e821722e78d6cdb8ffade38f9a0fa6296009aa2bd9615efd3190d4febf516843248872a92bc07a166e59195bbee56f9d51eacfa254542f1b2c31bba8734e0b0c0124243b4957f681d5d646aa232d22a1934275c67ecd8f03c9443dfe3589ea0cf831563085ada6b83ea8bf7e2deccac4496420990bd8dc14a476fe4c0da602e4b29e726a59f08f0ad2a7fcc57dfe3b3063cf5733d07b7ec5dc71a09dc9352791e14d726c4ee606c2181930ac043712ec8eedbbd78952a2bba2c371465119a9c1332c728d79512d0c6e20d9a4b5744c7a0542001ecae2df7ed348b47deda9949e45066b14527be7d848fa223c237fbc8d3f3e5e75232fe3809b501c9b024b9fe5f53f0c4927266371d16cfcc6e9d2c1c142e126599888efd99f6e15505a132c5d02d27212468e342a51e60a61fe9b89e24b03f7169abe4a36a96c34b9b47eced0adb33bd0b6bf60e3f57a481fb64cc45f9fa9931f7d17eedc2ff904d77473ac0d59b61b74606cbfbaa17fd29244a89a9be470fd4a2c90ca663a4e5548a31554c720fe5187cb18722c193bee1e6043ecab099986bf93aec330573450362d2053fb29297218ba2c9d6be017aeb4eaa606aba97d13feb4ba35d0b7c7ff2f7c7af5f40b607289060eaec84c9173b6779cf074c14c9a7007a33c1847889714f51a3e22897272d1f6570ce8701a6786b1fb8579c9b16703bfb59015094361f8bae313c7b70f72956e90f97a60015755973470380f6c97af0f231bb2413fdc14f267ddc7d2397236247c3d60a81d96c52239122c3a55aac4f6ce84396ab24dbe3dc54a897fef7280f526069be72e2e0154ff0224f3b1c21a9a995696faa9abd204c5a9be7a0172cf00762934e415526730431499af50271a1d65204e2422e3d0ed3459247cf97224736909059016a5a39d857ba443556a1d4315c40093a75618c58ecf5fbdc572b2510ecca87f2761ea53460926d1b36d1167d00f97289f384d247b263f653572dfd9b89be400dfadf5272ce29168d8097f431c6570c23051583f849c4c35ec7256f9741b80c5d0093551c69a757c7e5c6e9e7d2f99b08610f0ded99696b08b2a1e65fce713c3effe8559b85d3c7ae293dd96878907a8f648af38edd4935a087214e7928c7565556e0896cb06289bb53955543812939d4333e7205b04951121589da32625d5edf569ee4aa153b7960938354c81b86db935642f8a4a75fe50124ad4b1ea6836341e9f1c5a355f2068f82e84dd2c4f0f9d46f677a57507c5194c38643547522eb539af751e66ffb18b3873ef3deca9347baac5d12d4bb04a9b6d7265ae16da5ff3df9fad3876551fd262830031fdd756b1592ace3f30f0f8135a72f0073a9e95216aea097058b1caa0d6e590389be69b2178926a83e356049ed272a5be114818f8203c3bfa0fbecfc1bb39a637972d347bb48e3ab5838b111834696345c743037d85c3d5622f9a323827a995ba356b08b478939caa3d667c443670330d5181924a8c39b080fbeb3da45776f212f2c21164a263991259349bed1c72aff9230d31321ab816f7bc78f9088ae4e4cf3dfa4fa0c21b4679e66bf88eba7212ebb9672b099b7d218fc40bb92f10431076ae960acd368ae88e10ea46202b72a0bd1a766fe50ad26638c7b9b158a4b85743412c29af9e8f79940f2a82fd6e3d9510ef62ad406fa33b1e73e0762eeced6d2d0977d37697d68d51a5b80f8a1a724b181d2cfa127607ddfc76c69a195fbf7335d0152770cf1e777d353cf056431d5abd5a77573786d66ed56f418ee9c9e337a78095da899a562468d13ae70ca2729b6664b842afc76e771d721d13baecaa1da4a618ff87ef2933b56d5e4f6ba572225c2b7f8662be667bf777276d608af385df3c05b4204aa96e978cbda58d657201544c6520d68705a1004af00fe3d7999a8b3909d3adac848b12ec7b067ef610238090e5bc67f3f4e09a096ef3598c833066b9335e00dc850fa1848d694121109f269bd5bfc455ef8f8b9c358427038e5b3e44c037fd8375e6493ba5861f8672d5ba6a7c4374e4696e9ff366bacaa1e61680668e5d75bfd350dd6d1dad62e272fe1ee5ba1401ee581b4dc7bdb3a31ec825c0a6635d86bbe40806db3c53169f72e9d44e89f34ebbfdfecc14be432ea5daf6a0835eb74dbe1d0d0d0c23f5ef2d66d1c6fa27f6b978d0c5123b17e1b5e5f74e823d62ce12d2d0b2838be26585e1729be3a63d38444ec2a90b8ec86a743888100f79ffd744e6ddaa85c510da09a372a1298de88b5d9b9f150d94f2d771ba2a088a715b56cd09959f0e2127ee49c37236640c908a5dfe6737b1ff1850b153a2f39b96b862dfd01aabfa412acd977872a8d97ba7105d256586bec66d6149bf4c693cc6adec3366b74f524bf14ff9b85ca704bd6048d8c7c438771881aceda4e56390241baad301b97aed62adac89bc0821c7a2b98f5a5d6b17cb3284b495679865854be07cdc9367ab2a78a62aa13472cc91eb1fa18686608dfc5181260e4c238fc110836e68b2d477c90926bee43f7266ecaaf4956c1ee67142957a4ef6c5eca5f8b796fb489785160798d3e9c4d572b5544c40f90306c6ea056cef4f9ac2e0c9e4ec3e5e69f9be01110ac614a6bf72f0f67ccf235091be08fc122f26b3360f5749abbe771d0b17100212dc826a4c72917f009fd9481d78b69681d2916e42d9f708ae21c3f0d8b5297250c09644b972bd2d0c14d4f0ec3b3c0f548be1982d68096162b254af8476b6bfee384c8f2c72596914c39db87b11cbf62dc642b5dc410a773848d3c2e7c6169d239135349172d6bd04b3a81797e384edc819889f8ffc611ab67d3b88f8700f3351325acb33159bf947c144db6f3758eabe58a60ff2abe217202d1cf07a0c6ad87fee41b9370505d37d949b0efa8b3d938d7865349c0d8ddba883231192f66fe89545f204a5720c10f3e513d6b7f751b26b9f231bd110f10d02cc31836029da8a1e29994314724bdd23dbfb23715137aaec72f0240e26ed233500fc5fae318737805d22920d72fbbdb3213e43bbeac8c0622991755ae73588b4e49478dcffd36e7fc13eb3a172b275d8ed3e3aa6efae3e38b4a397d4aa5f8af8212f3a010aa3d2ac25923896724c1aa4b4951e0079539330322f0d583ceba42595a1b432fa8b3c4b39cb7bcb1572e7d6e63eac4cf367abb1530a122905d1c7ec99e4a53be9b6536de00437f339cf34d8ca0cd37a2087d83fb298f9e7ec4527135e8b25cb10d2dc7c982b1c57720096e704846c319033de941a0d49d24138c82db4b7b3fba6c1fce238f9c67d72c0315906485254d00f2492895a5a12eff687806de9b781a556746a346b269e196290d5e3897cb7a0468427614490f00e88284442987703af6a335462000a146fa373c7c0125284cb492424ebf87f2f1ba1d7180ecca698b314751ef960c4bc729dda14f0b9b7acfa6e3f54c1582edb9eaa2b88ada715ad920cf0222dd4b601674ed4a42029171ac38b3fbbda3bd6018040cedd37e7ee86230ed57ea32b77f632d06210b978f52aad9905e3eb744d7a86f85ddf994df26b09bc60712e5e0dd4722e39e4b8701771c05ba8f11f49fb76066cd44477e87312f815686c1628a28072190c4b2d3a4d47e996dd538846e2e3fd4ca692a2a346528e7a58d4e1f23f7a5821833deadecb153f97438ed300be012d8c9921bc99f9dedbd4469fd4c3796c7255afe6f15929cd52e5011e4e39aa50a0b9f3882c00052b9f64383673c334d807f4f1c0c2bada4b117797021c82c8d7d8e29052937d0b02d19beafc213331fe72e9d755f1fabfedbcc5f9970d226dd5c279a70028316b1ca32a73c2d85fdf5a18cb28458cd91af3cbd6becb70582d8e9c7d7b2eb910c7a79d4f2b6f4f8ff73a725e723a4984538f11f04ef8bf61a5780b4464d27f5d0a3d8e90bc78ab5da1a072471c7e7016e2dfd37d79faa1e57f7f3b676b616ef2d2230c5e175d0f4483de5a552f29928713d7caa6df6f203cc61adb0c7faa777b91916914f96e20985a45728eb6b21a6d0951d41ae2cf0980a34ef639b16814535ae95cd7a8d377426f0e72755342a0354eb36b6fa3d6e085d34fc51a1b33efb5346dd2b696bf35d3e7d1015c4982c3fe659e571a0b71cce26dd68bb9d0a05d1e23cb2a0de10e6f92fbd71a97bd4ee0e67373a2bd292024cbb581b0269eddac73003e13c216d70f531e5172cd11b0f65b0690603813210a43342ad0bedd7ad579db8a47aa8aaf03cb6f9872be57bbb5b2da8424ca06e35fab5d15d07f79d0c0b249ed60061bb28fe6bcc460371817bc61ba22c4de2baed3b2a6c71fd1a69c8dd51ff96458c04559cbcda27247865d915335250f829e35bdc20c25d62afbf1b7098224a6da1c75b0acf70b724678b4c4e9724fbe3ff45dabe5fda1432bb19a78aaa25fd673d6db47b024ef5ca943457b02179edea1fa86e025f4e1c88aa5ef0d6bd9c21043b8b2927d33887277d52b28e56fe81e8d8c29ad53e1c782971b74e6b936495db0b528aeb0480f728cf68a0da02c2267d598ba7b3b4e069d0c0cb601d31cd9218b5c8278806f1d72d2a537afc6e5aa693d021ec8d2daafe4714bf0ce3d22d7960566c999d6e0996349acac735d087cf967e0dfd77d2df0a5fb97801d41abeef734afe3f03ac31e72c2e37c2af374530d16870b97a8aee94b23f70f76f60c6eb7080924415733b15d02c81a66bf49ec8958790fc947cff1f8a5f63783e270bdf61e108a293720a372cf40b4f6830b2823c61117de256f1fd47617a07b22ccc4ead6097a8ea5e63672b87541b16987f8ab615f1bc1399273663eb662a1790297d076b4cae34be65c2807d08e3ebed4718a8e9f3af14e19d0d5592a2011ef7a4deef9839e6a703b6a7206bcb2204f8ed9f76d994af44e0d4861c2b6e9a2c9398e8b460694f354b1f872502574a3c2af030075074530e2ce9f461632a952c3f2ef6822d2acf5b4ce8f4daf3f6ad37e9793e9553591680712fb8ab2782df4a23d742a166b2f593bce2772165002492e2b8cb2a40e3d02f8662e05224ed70f3af755d8990a758715304872bef5916293a2b11ced66cba9b6fac4b80548d1a318e8a44ffe1f5061ee0268727c7c8387f8593132443850ded90352cb5d81e12cdafb3fea81cfec9bfb718a72abc4acb188befce71a74752ceb8ae2c914202272ce3ad421099bf34e82b7de1b878b2dd5352d2b7acc3821751cc153e8a80d56503e2b6063e9d5f77c0dc79044c9259131c124b30f550839d27ecdbdcda794f99332251197ee3d122ad07613720c31207719f0b895774187a62bd6724bada3fc6bd0dc483f29e8d2f4b6b2fe72892db6f71ee183df1cd3deb31fe35c8dad0b8f1bfe1c6932296ffee959139a62b0a2ab7f9afcf2ac1fa75417fb913a8b9ba7b15a25bde420deca8abdc136a52cd821395928666d8c20e601d9837723e4284c5d84392a0ad5a3baad170c9b8c72205e85fb175a1dbf3770995341e9d232a12ec9a1cbe78a730939840509f060723f2a5c7c33e228d9b9aab97282f24fb9ae7a717512afa98c894a9e130299c4723565e456c2162cb4a79bd9132d714bc6e8b1928b39ee1bb803764f7c0bd2ae72f8af2ae2ea6267cc3f8cd7159545c3d710158587998dba2b933328d1a7dab1726c6a19326935f7fdba08d5a93310489611a74f9e1afc0dd3c1ac45720ab1a34521b68d05eca0c5913594ab59b7310d8425c63a4bdda58f4cacbebc03a3c4575f680a064f9333dda286981b9142eb14b62f3380e00a4460d7be904a6b3a729672acd702d4cdcca8d000c3b4c671be39873f62fd2dd26c29bcafb482f711df4c5773653f60a625034bea57a1a308c231fb2a2d29dd6ee1666dff9697b75d217b72e91d71422e2c791850bfea769c4750b24e163b4b2d4a79427022cd6e1da91603565a9b428c2905fe83cc02bfe7c1568e908c588b5bd47db9176b4573bcb7146fefdb5c07a14bfc30a99f2e64d49a439cd4383f8b6771305a065c30ef7163fd3aba7b3c7ff545f18f7ca88f0fe59cd367586793cdf8f41280db2aba11b3ee8f41e3ef4e0ed2cf881221a5e25d5072c9a7a2445130760bb60a2d2d259befd90d20485c51f2432553f8a35a76ed3e6b1498b416571fcd7c1575dd65c85c1ace66723e670e1b8d73ee57039214bbbd8b8d5b5a48207654c5a7f6297d7aab2c3fa44af34675e15654c654bc77bd66939b28d50c46e92c7a7f45046c70fbe9a56ed430a61c5beccf93baf880f065fe2dc8b3415057d6552a938dbdcc5841b2e9e0a51f49ccef27a852d255e1ad26d15dd8f192205cb56b58bf1058df6d4434d1f1a3121d8887b621e12b3f8a78171f07527be687d4c68e19c8c26170e124900e31d903547e8c61cf58fba023cdc1dcb9e0dc05431d85803a93f240cca12f876de76072a8f313903d1914d9676e570c2a160d3cb9c93e74b1c3c943c2b99f543e9386729d8842788eb4333c3478c8edd8f65cbf17c35b64e23d5a7ab5101d04e6a6d435d758270ce3303d15a38ddad2667fc506e9e36741a4f3b31f367fb80e6b87f0722e06c148ce13d5b45c6c8643ad8ccebf8a56a696d459dfebbb99bf71c9d7a5521180ceabb6b01443612023e8fd0e38cf5b7bb5a4567007be69cd802db9a3f140132b8cb0789bb839dd8e4d6f0e36938e123dc83501dabdbcd062b739f71189728372c699a8899085faeac790e870e0df57de3919c425651195ccf87a481fa8721605f1f7cfe0c000b0d31c6d763ca1a65828185ee636a256982b2b5a82c5f672f967dbdee5f6abbd014dca18dc0ca4b41cf678b5c078179b83e8e314b89bea72c3a0bbe574f71f7768e7a6e5aa06bceef1c5ad57ef389b1ea81b83e51019df729cc1f6881f2d2402040e6bb2c2f1739d1327d088f30b331fbe3877d8648a3152c58de1d6fd440b5258de49ddfcf3b7de8964da9dd64fd2845ea3d62c87e03c05ed49ae681c5eb365a7d479c2d99d8e03546997ae7be4d423832fd7b3e8ccc07223a75baa3936df6bc1ee6414214b07d21f344094cbd97f64d3fb8d74edfad57276d1d2dd8fd062e342e432b4e61202dfd3f9332ca3bb4e9a4e5efb1667051c7253f5e330c4314b8d66850d1376936de8977695c972efdd1df49d75d85f36de314112e2464fad7a610d6eccae2e43b559061fce363059c60314352c323ea6c52534ff2917b9984805a509855211b2c2e529bbe573eb7cee91eca954d3ec0d3472e33cf78f559cf5acc0b44720e9a68e16a1586727eaf750558d34df833c6f243bc9c5bb98490f0fd06e639908760f65d4b4fb3df9fc925a4e92ee1c5a00ee0f72839501d14e456767a371ceb42cb51e00f95bd01a7dd3fa49819e86e471121624417601bea834c4222fe6fbe5350707fba95a0422743031c4234e1af76fb3e206268bd1ed9254a6a6404b95736f7a2281711477394ed8e9dd8b0fed94c9c9ef5381a1edfdf323acceb07ec08b27e7a2c80f3904c1ae44c8a12d07309270a90239e0222a2d39a7693e2af2d16c5d26e10b96905e39075fa97b543a6fd00997643f9031d2b53d232299d5ae445b2b4addca14c1ad96e18decf9cbb8da6c5e26e072b5857a332b308a2d069adc0975cc07651ed947237e212f0d59660293418de07276de60655c0f196e3ce7ecc6ebe76c4a42a1715799002a88743a120af5be2c72e15ef73348594f63dbb2965ff574e923461de9d48a7c8838ea6264cd5bd9be351e707a5ce02c2bdc94fc095ecd798c75fc453c779863b1b0cf8c879a3e5af872e34dcaa85263bd0f6f8520098210619a898074c1d7711328b62445fd736cd90afd5304a5e7d458d9e0a2943f9ae0211c849e5abc329551a4907c1af9eb7cc772be4974ea27acd0c4612e4c6ca7d05c79dfc7ba4dd4040f0a3ba8a923e0798311605a50552100853e8e3f3e2ddabb54c917f1b337f62e1e769fe11e03500e82727bb0c0634a89212f3f36132b8bf7ed2d887657a6575db968b9cc6f7e2aca3972973f6590d39156ab55422d04576429819acd1758cea4ab8b3d51ca3a373cbb1382ecae86e81d2451af49a25b921da1b446549015e690a67346dfe8e4173b344d9e3a6533a3250241f86aa2433f3a39b8cc724fbb76097acf2a4c1c120fc3c608f6be5842c9b21df5e539a1857694f274a992591767df5b21f8b957d695c3d8724810e2dd241fc0cce2145db65a732791f69873a49e7babc8000ec71a527aa42eea7725666c147a00b1dffdbbd0da7850ab71a796113b06843305787fff2174635ceefa01d46a8427beb9199c1b93c1285a4664df93b57654f6cc47eb19b4cc7231d15649940f1fc02bc70eb6a6c9d3b3085f9219760d33eaf1bd671b34b8e57252d54ad77fa621c670fa2ec9489f4020f78c0908af74b9edf54c8f0a4010735fe25a2b079b3bcb55833471440b3c633eda36d1967d53455a39d5d3b5e9b7501de444f807e709c85e7a969f96a1fc14ec9eafdf934bf5bef64d96d4d737a658729ff33aba271fb1b1bd5da2b5a004fa2aae5e8bb2e4dd3e41d22e2c074b1e441835f6225dcda86f9e39ff75bc47d217e7b51adec4b9035d1da9841f3b15c1c572ac61b38a6c2ff668e483c7b0cbd27b81e0dfc3d2139279da4b74014e68e57c66f18bd0a53535185c4c49dc56c052ce84b02a156fc03d239f0021d98a9c6e0a11705fd19f8668fef1b74dcc9bbe403f9c6c9dfd1d7351eb7011c9047a4a78765fc8603824ffd19698893651cd7102402407e2d678cbf15b5d97fe0ed3ff1175726e4a3336d881d238fa7adc853bba20772a3e7dad87afb43f7e0e9c1a54a89324d789069a8f057348242591f258695704351feea0f5c4ec24497481f32c2b92523660554b6d50a4f7aab451d13498b86f2056132a163e58a5ecf009ad88e314726303ce0c8dc7acf50c54fa9a547311713ff21d943ae08495cdd6b6cbc550dc72af19c1944955e526cbff78aaf870b75d9f5d0d1ecbcdfa9798178fa6769adb725dcb4acf0f9008eeb7703ffdaf821b5eba7c33642b8fc61b34b3b835aa731e42375bb10a2de3f03a96d7090cc9722ca0838be33511aaa8100f10e08b60290272036b6053e18279c58ff1155eaf8553cf07f87921f767f33cfe5ca499638f6e7276cdf6580b72ac7a704ae576b6d88263084257e33fab673068b47e49a32dfc725a46238268d615c95594528284cbab6543a6cb0211faf93f62117a1d2143034b610716fea5d91eeea2aec29c45f2eec7104ccbd5780cd8f1a896011e0f4489395b3efd3aac54af7a5c387d1d3cab7c38e2d00f8dfe4d4154fbaa63749f1a5a30bf1eea6bbea83a766eeba229764c34e376194c6cfec244e3d4d99d474ffaa472a3ccc16902d370f1fb1d197653f9a2109bcaae845c62db729b30051726c03929a7dc4e3ae2098576056e33b13924b34ae8eb90c190c7969451b8eefad78660722287863781d2212595f186278fe7f8fabd88f4b7f3307fa2c895fe9224d7216914ec070dac3812445be60ebf418cd5d37e4f0a155ebd1875b5061a4cf11bce5513dbe69a0f21aa601b52cd9a523328b26c4202074587d5530be328f87a8a3772664dc1390508f4f36351e05c1363f782850a3724952ee31cb93a55b17cb37672a3ebfcf553325166aa2f06054065140f3472e9be0896423acaa218f5aead8972860eb2d75d2a8f73abce14e263ef3da2eadab9d5f43c2817084bcaf286133b72597c976019cbc8b04b22bb358f9c886f0e19543261ec1fe188a17648cedc9a723ca6713296db52bb4e8b674c7bb15d1a93bdf2e9118dfda995fd06772ad3b7728d9897f77b6d006313ec4c2765c19ffc00189b9b057ac183bd9dc7c9df8a584513f8d0eb6d3af11b41809b37d2887563711f32df35582cf7484058c4b8e3b26adcb73adf45e6c09e0350bcca5aab3ac3783012d6fc4de4f9e7671b08c48d557121848aad9d171fe16a673fd5a74a269893e528822e9e8a69abb9a1ce256b9572992a61fa19772f189eb47638fe44ad9a212074cbc8271c869c0afc1afce94f04d61b827bd42bb85b2922cc2c41556549a201f19bfe4e7ea3b0b361912a10a237546d043afe17195234cdaadb99ea8563e0d65b4962137ddf1c674c9cc8d6ed2243642cbbc09ce64ed281bc0b773be51f5fb329aaa7ad5d64d7016d0bb937a118bdf004f0bfe0f84031cccdb6677444ada393e058fd9ef9b96fd431ecdb14970a6c0bedc202bd648db652ee8526ab2683cd2bf055542dfc6c3ebd7c7c3d4aa85a2cc42c5d12cea522812b4cb214f9c360ac8bcc01bcb29476a214a76c4ffd8572be1d3591287e884e93b58e5ccea4f7a8eeb71325fd58229bc22f4a48f5bd6c72703189fce7b373ab21819d7b8015b6bbb9cbd11361d54c3d1a139ba7a31186720e2555e56fd92fdd05ff5ffd23ba8766c06aa2293dc8e1d29c0f25cc8c19845b66a7e2e2fe6c4bbe818bfcbccd54366f94a6d590e7ea25461640e4ab75726372863776f51aebbe5fbc59238d7242b139dd4d0a61f70b5b3b1b48e5d3c17a82722329317cef7e390ecdb98348787009b2a8e503604d88719473c12f56d0395d72d4b8d3923724a30f33847681c990f37fc57cd0697ca507b87ab7e92ebb2e56725e95b9585b4c3be613365d696db208328de0f059b800d1dc80f630bec635d572f063af39d9b12579bd99330d13574630136d04bca9eb232cb1c0812fe14af47217727ce89ee862ba1e96bf4a7b7340ba3bd29cd1b0dffce41de424113b30c142d9f4847e753cb2177a9c1c60bb5e0940efa155645c0ad4b8ad4f00ed475119721f69c74689eba797f0372bf0bba2ab49d49ee551544a5590aa7be0de1e4473722e180219c32fe6ec368706511a368412e0efda05509b1f011d0a5d79b9b3261432527a717881f188a40e0e8ab3925bf20536965caacfbe5b4b588979deb7e265a6ff4dee0338bd675c0e06fe90b3b9ea02ff75db235bd708271b4ade08863e188d1e0a845c45b422d03edb84c63fe2e9464dbc2d28c6b42e9dcccaaf9b27f61321757986afc866e401b625807b1d259bdf40ab04375da61280ff281eb1bad638eb91876d6de5a13384c05a6fed9aa10836b6aa9a6407ef95d3155fe455b6ae0881b8bac15127662d98000f1df55151de1da94ea4650ade1b6c7705f10c5baa72d6b0993cb7117de8426fe75c7a911ef4d261ba281604d87d52a859e1f97dfb206f7b436e53c1c9150e35acfbdb3c3d214572dcf2e71d8b6cb54ca35c05e8be18e408cb4895c6f334372b58a974fa14d543ed45fe8e49101c47ce2db287e5026355adc20f63d99b79e969ccc972f00ec6a5def32fb8cefb4fcf224d484b9808729c450501f28d89f9b1ae000f8fee126941a8cc2b52135fe23d1d1cb804f878728a304357cac22372d5e907bbfd2d1d903fc9dd42e8ff6768f81193fae1e35c729ec5393eba45ed8aa9293764e84682d94ccc440cf0f0e381d1f601a41ad4792295d1709f2eafad9091966133cdcdb3675e52984e9d6d93ec81c809769adfb16a6fc363016e059e7ec3c5f3df7bf1a2d6ba8d8554fa5c6ddcad43dbf007648d728b5b4877b622b1949ac583ccfdbc0367a72b8d2d2db4fa54e582b3824ca69d72b6ded338bea6a46a5e81db8f174c6eab0532a4437db188b68d82c3fa7f2deb72efbff614bf95fb2f97daba830c4f9d25d7fd9e7db0e5cd2392ad281c7d717d6b91ed5cfd9c227ed5b1c11f9347f7a59759f00f5707765a611775249840c7f7726616f7a46b38dd8fa9a4d9dfc769537a9f142f8bce676ef2e40fe36fb2d86a079b4d9d62e895e16883c5c11c333c3a56d77ec8c8be6921890a37cbfdd60df072547c12147bd56f5d09fe08ad26c0c222c5e8b8f1a8133a5725c7637dcf7d18095804ac607fccfe7a1e5a0d411f0a8b4b4c425c7fb01ab141cedc0bd4ca87ad7231a2eab0eef961f91051f736341d3d32c52d046e5276652a8492451dbc988772c88d2b8aac19bd6d8dd1eee889c10326f6fe5404f35febe484f0aeaecc3b120b96391e230f05f0cb3d106ec4eae939ff787fc1644a84419d61c509a0c2eee1727abb77b72adc565aae598b4ad9f07aa9004e6a6515ab493653637679a4584f0c0df2d6661677863246abad7a98a2fecc917b79e7a91a867799f64a4f766378419c7968809b5b86fa462227320bc9daa6346fced54af738fa5433f54f42e7c232d79e9cf2a20aafdc1d692fb9ddb669deb3096c8da111e7f04e09beb0f5481c72d8c4f13f0cb24fd7365a4215b18c1d47e37e7f37c24ef483531b66fd5f1f1272fec023245563ecec64a2df6c50f3609043c1bb154fea05aeb9de41c61a759334e3e78030599c0bb4a1691bfcce36530aa9613a5dd964ee98e1eb026fd721eb728e9bf78c49fd7c6a037767d614166f845845ddd9d2b3d59aac1ce97c35bd8772beb5263c371530d2b60f0c3f809d5c011cb6a31a9d8432bf527b09c72fbadd724b1d215bbec356ef465230f676ba656116759994ab75ca9f9f6d626b942a5672edb6c5d1f5310ca770bb72d01768a1d3240b727ad686491795a345db0a1c0372fb1c32e3c5eb5f4e46f44a429b288343845688e642e0e46c2148ddd9edcbbe72c2daea6eecdda8a2934ddec9e85b52c469f425b5edea34f53d137ed98d84d27228eac4621e28326234cb3e58ae97ed817f5ba6aad7c006bdc8162a6986d3af72d9c9b798b15ae46d4aff3491b1eba9034d3a64ce22c4db4e27d2cf6589422a7200c7cafda1cf9417a53a98b18d8a4f5b6f1eb8b71197869f46dc45fa6dfb5b722507cbc4ff16da75846693f9f797c26929a1f178d44c40c5bd3845ae5e4f4c72c64d0c0baf8335af2bdb390497d6063d013f24fe3f6ab5e9d4ff97d18587eb3e72072313153a6490baacf7474b3cc7c833f735c1739e3d69ea4181a484ff71267bc897bc4c638a867ef230176c9d0b760e4f6f99b6dc9dfe972744aabd0484016ce916212881fe010417f5c21cd121e3eccc0f3d0c008718a7538de6b3c1f672dd43375bfb818f0672a60dfb370b4585bc8d2d2db59e807169c158f4bf7ca3728ffa68426206c7ad6bec9c9ee9ed2f065cfd36d5482a92a45346f231e0a0e172d4ea379c3c8fdd9d66a751e1a873bfd6dca37ee29a920f4403b0a41e7b719f722d813b4cbf7676bd60b44bce5edc2d7d1c0bb54f27a0b98319a4b56003895472ed4bf79c55e76a20b6a2052e36de689bb2a2ebc1f6e0b8b5c84dbe052d276272823d08671c22cf5246761236cab09111c993e9d222fe42eaa047ffd51d48d87280192695add5ae6921d914e8e11277ee88b1afff3f524b6c78ccfe9720676860dab1a3d6b1eb240112fc7ca047146bdee23c8d062f8f87aea0be44575edd7f72dc2b37c1530fec52657076d7d26ac0ad362bbc13d45e7b3b501760a420524d72b990f6d4103aebfd88add930e3265eaa959998c56ccaa50d5da63e0481149e72bbc9ea1c075659f0861489770d60ba176a9cccb8e7ba79e35a75ed1dd231c1727e121bd3884a24cf7f0edc207592e038f6ec4101e2c33463b013592ed5269559dbd5b650b4517a74092aa787ccdadaeed712ffce58785bdb4dafc25d33c4c1468ab819d08209986be4e5b76be44e6caf6bea2018d740a81df338914e52cc9572130107d43702f4558a66bafe53b8071fbbde4fc80671b5c0c1c247757db9477220f9601c1126a7c063ff14ff964c21564aa5ace5aec8f847a9d008b65a2e7c3a3d7e2dd22f766619ba1088e0e87188c637bc1b1dc6670f8f7d67efc003d77e726723f6209da559f2e30a24869a015188d2c4b3c8de392239145f3b98c4d201725f7fe876d7f055198f7292bda75a4d7d4d7b4eb0a0ffec7f307532f2b3b99d4a94949f5435b97c01aa4805774581fa8d1ceb6c2cfb7337f00aa2304dc28e4b729aaf6ce0c9c59a76ea59c72898c4cf37c9f19697e3b0919f010a0ef45639e87242ac4035b9991ad280b1d48c7e82945de8edd593ef627c45d509e8fe7898ba72a0489e1c3f96210a86939c0b5bd38cfe0dd3f7bad30981b2d9fc747e9b8e02727998bc07df260b6b3387c06427a8849409f5f6c5d97eadcb0923d0a8c97d037285be66fea51e5bf95c6113fc9a8084538151e8f8cf037c33d0d8f1155e9a0e72f13420da8ad168ea3b21c617c43860a72ea596fb1070aafd74bc88be062550725fd3794a773bc23d049080c7b33c65b4f0ab68444f768fda569f8c3a49a1d955e1292ccc8608093cc1b11cb55fe4f2d6c6b4d967b78847c573ade3a286379672fd72e144712b2653fe91d740b2c99e9cddf35c68dcf2ffdd5950fe17540ce97217c7a633375ae560c42427cf835a474524a68f573713c02a2068fdd20d4c45724d4d1d85ebb71e41b1bfaf9e975f86b8c0ef0052b7e517a3cbf03e6f295ee409719b762aeaafcb9c756f8e926634242ca711824b704515cff5e2ca8a1eb4431cb3d9fd0667d632b169504b9cd5d1f6401a79597891b604b0d8c14615790b9172ae850d4ec6a39cbff02a01ec9945bbb6d252a4a62e6e2729fb1b4971e511fc72510607300ebead400751722b57ee722c7ffc3f8b1d9952126b079325871f1152f443b36d78093a4616beae2fd8a2a3e206ce5f5f5e9cbaad53f01e3b677bd90bbf8d1ca8baabaca1c5f1d91f4ff74d0df3242f2c90699b8ad54809860816a472c999145a928dba1d39c1c3d6380cc850d5414faec312280bc9a7475105366a00e1db6ecef4a94436d51caca15af0e128c6d6674f6f11af75bbbecc1cf2096a0ab9ca89569ed5f7075b80221f1ef14631a90ab2e3a909789906baa8b7e1a89116f16f2f6e9c34462aadcb19e7fe9cf8d0520e5d0bfab18c9200375ac9acfec97243b8e4fc5ea350f6a53b9abcbaebcd47e6af5c71cedd62a7c364e1fd2f298b721fae381d912355a9561a6e0a231885a47549b428eff5496ac44347ae27395914327e8f010698ec1330458f8a99fa9d0379539c4e686370b5afb62179ea4ea872d4fc25651f9b6330f11d999a2e66b0cca628390b890d946616a6723d2c865e724665d6eaf8da0c6537a8f8d0b43837e4ff6521c07e8a8566dde3dd85de392a7271cd8b4d5d97667a0b7d8708827931f891f6d06c91d0a011efe35ee91a55e81441cfca444820eae0120c325d830c3f825074c5e9fc1d67cf36b084c6b3c0f372d16172e0b274f4ba64879263ace0e29dd0a81af17ffa59387b663fab075ff337373a5c9b8f49ce67bcad17dd82c549f2818c36ca9167069d135aac1dc4684d6e2a06a8960ada0174efd4ce87fa8daaad0e29a8c8b391cd8a7b18bb4c1fa17272d9a3ea668c56f13816eaece3edbb1d5d11d41700bdefde443ac79fab9775d072d14db3b3a059ad235d4b5064a2154ad8eed7aff1cae5874677495a4381064d729737c2bb521758bb7df392abee045abda4f1635ba5a41545a3a4d11d28a753002af074f78e0dbb6587e268ea5b79099a9c141704aa6d0640b8ad00f8af3f7a726420021230d483694a83339a30e697582f77154d42074c2877c85dfe2086ea72753d183c18e620f3919ac3291d024f449c10ef8645a2a6cc0adff56783d861723f833749c3dd46588b2c9d9557f56ab0271d122df7858c2246a7d9f849f08d72585eb30627a19d548bdbf68a39edf0f959ff3ca01398c0debc7138902b74074163263e5cbe285557927c2f0c9e8529f9d35670f49158cfe6527d7fb2cc143a724ddd7dfcb83aa2c132150c5e4d5893f3c21da6d12cec14aa00f8dca3d197d872361ce66bb0f8004388d1a00670dabc85bebfcb95afc50dbdeeb60ec295cff209b92052cd1315b1addf742b4e87fd8a1c9ef6b673a6c560bbef0dbf304517712ebb8a12f222e7050c3495eef03cc7f338383bef998c0f8b841675763d33904872036d6a9b557ce5f0670cb66aa67c542ac4c0648a5a255e9aa346203e75e8fa72d83054b4a4b0d618f2ab804bcbd9dddc265081e40319cd0c0760f6399390357260789f0e496be21000f2c9de1bcab9ee1118b4132c9b1ffe7ea84f40ac4e9f72d34e5c5cc709507929f46f73aebf3468a75460f9047562e8c8c55259b0f9cb14dddc492d76e931a8fe4bcade27e77ec4bb00bbd31f617d5820351ab4b7c8cb7263c7a583692cdc166213961d370618183bb6095bcb15930dcbd5e8d8ab86f9721cb2f2f474611e7dbc432cbfc5d07f75d2187ce08511a94a12c981ce17b3de4115cd6b359207d55368c599f4f38ed20add6abf8e4c6de110d77c799a773bb972cf8ed3c033a616083cd5390101ba801c77d5c09cba5822f34f2b8dcde58f683ccf3572e2abf47fe254d0ba2daf0716a280705855219d940f33f71ed953052618534cab6166ac1d152a92f73fa1649675ac7ab26beba94bf590ae3db75d54d1109c552fa9422abb4b12e40ff1bdddbc36f34b6e857057d8a2378339b0824efa604821e91b24a6b772d61521ae65ac3b11f6def48b4173f7c9d034e6d1b339463b4eeab512bc6cd277b3760b9d3b4b04d90c2f6ca02e9a7c4f4bef7b746cfd9b3570218803ddaf49ab7a042c84b22376d0de96b4bc0772f08a95ec8469641d9545011b3031ffaa80454580afd657f2393b5607f2e91c750977307d15778ca7f072701196e07ad638e63fec43f2fcc8fd6efedf04cc2987497f075fcc6980852872bb2848475caddfe86ae4f69c6d993ac7c0f0cbb6f2626570ff8f2aea6582fd72d59eb5de7ae8a5cb25867a2bcefa70fbaaf7ac72f13a8e7fb6e70027cd854c3defbee21ea12fac7d31d0d7c83a99567a4f7e720045460ddc8d1b041a7aacdc72446acac54aab246df85c49b31337c1c58f223fdd8c6447fd2050c3770b015172ea10bb9c7e1d8cd106768567255ebbfd2df6589415dc5ae9a75464b39e36be6404792673eec8d1776b69ba25c211ef3b18512ee7b3b3b40ba830312137663b565672c348d9039532ad87ebfa5b7c7829c38e0bb41edf8de048594d07b386337258f97ff50444ee69d15acb01ba9aff4d865eaff7b196674ed24e766e64efa87201112ec6aea4c9490fdec15c4c0035582f15694e182a050bddc402089f08ad4480bef917dbbd3b72206cd0dd650f03a2f9b872668877d17c8963e29235ed53725f2f6769222786dde93731ff0c08c3dc681f673f982d320da0e4aeba3619847296c1c7837827908f5bb30773778699b21f6bc19a1f6ecbdf93073d0546298872db5812341757573d97743f42bc28fa47eb5147838293db7a0241f487f81fe572fd732b3b53a2727bb751cf8402a7e210b08a59118067d688004d83f94d578b7221a0e0c7ede0f58981abbac7006847686048611fe6aba3d103eb8a5acba50711d538dec54bb989fd7879c3b007dae823288e4ea16dad24840496a1db8d618072312d210d789c79fb9d2c8412d85af2549508c9e72bcf5b98e7998dbfb9ae11041ccd63aaeaa5e0ea93099ebdebaab22f820a56f44668151258332cb6588115723709ce12090de4a9890aebee8f2f40cb9e9bc72eb7a2124dc1abcde312ad0c1071fe9a43b0a93aa6ae3de04f4d9ec8ac3a3ceeae5a44f3d085ba51c5bdd19c6361a88783454c9d91284760315012089448c06d8655996aed6f130f5b0ff541727fe591c4f3c01f9cfe7146ce3550359d45dcbbac5f3902862e35577127dedf720750207fe21d87428c88f248fe54ce2269b424c2375fe3b2b8cef256459a3572d165f360f1c961f78dffaedb84214d1a4db579b8fc2360d06343a91a3568ea6c037699916c55038bfc8b7b81c66ef204ffefb3f06327239aa118090fc3a46a00475ad1b592c4a13b5ac6dc7ca0926401f1eda76157396ceece99ac2cbafb4a44ee753d87d528b1f9f44c4f7822874c0b9315daf147f659fa72219e3a21626272b82aad908a4c5a9071fcb1548831e2bbc7f79cdc174939cd9132e8c3df02c2727ad30d574e590b6be6a277e80f106b5546285e56609a70b4b165db8bfb9e8e6aff85dd097fc23c0a230f2985299bbdb455d363fc23248c00e264f177331c04725f4babaf99a80153c3b204455b9e50d005605206f163f984ebda027b4bec8c0bdb61628baf59eb201ab8c3b86f697444b4d5018d212d53a27e074ee9e68e9c42bca9edd6dd02bed624e8b8ec8b5686c8dabf3545ef36fd0ee09d9c8b44be16729a067bb1591f7bc9435277006e1dc6a97ceb668c257655483cc02e04cb0fa67224be7177a5b2b001bf69bb90c9b1f95630101ebffdd23eaca7be2be4da906672956f9a45f40b4680d43f1d152e9139066be928c85b75b9a0a695ac3e8f162872b630d30df1e6230bede6be7ab98a597d552f9134a83c723dfc36e6d0822f1228519471f66716dd8426c7251514e199914a3d36942af2e92a20111cb6d9ad333ceb967c27b52f6b7b915dfed9734f472c460a57cfc8489196d9a43384f99f4272f416d430f55965c9b447c859f077c02694132fd23f306a70751f2f2d0a1f13728b482eee44818c58be5ae95bba2595e37e5554bba8f47fc2e851ff33acbfcb723a91d386448a3ba9dd0346942b5258a46cbec177c6c807069901208f0c720972592df380556ae6c5735cc9202ba03f83d0305df5ddc4ca562dc082324abcd84ee0e908f27d18ea984cdf1f30a9d9ad606e213f37eea86f0f0c8109ff2be60e720d74bcfa1ea1dd43cbb139f7393db651a0c3e9e369ae4580ec89148cda33c842017f2e3376c2efe4d7f8e980970cccf2900c98112fd3faed5349277b394e76729e2439b9353156ad95b5cb4f5e73a1b6a91b0a896e7fa838538200a62ace0872eebeda7791b47a4f6cd59d2e36c58543094494f5a3a03a9c7587edb4a47c7a1c1bbbda3493b8e35016af7aaf5c9ba39fe5f194c66dad50aeb7902a3594d02472385fce7dfc717383f7b468160fd755706300a559d64e7500858e4ac6718bba4258f4c7ed64d8abecb4e9d71746c3be1e3df5df2793c93f496c7602b8fdb13617c390708309acc2c1fedeeaef31e644761f4f4683cff81e53bef549ee7a270272c5f592f162ff0f475dcf10ad0401b3ec8bd8a950883063f4b738bd40cc4f8b1784c3eccc61d15174fdc0da56232a64097d1657a5f3304acb1cfd23642f106b72222431a852bee7ee68d2758400389583a90946176d416a1e3ec8252426e45872411b50283b35dc67727c40da412d56e9a4a5f0d45ee65e7f77fb6b10583f665d59dae6c0b831cb76353068324158bf7a1ac9469e6702f8999da987775dbbe57202e58e36a6315ac61b922686c5cdc69c056bd2412726ea46e2cce04ee55a5a72ca6ac7aa543dde78e11009567cb3cac9e828794bde5cb4740b798b7ce60e4572aa392d5a538be51011b6ff655144f422a429833989b6a91eeed482b8ac0968533bf3549f52e2e8e6e61b873eaf8163e79bde3d3f8f969fc1896f29a0ca73fe1cb81ebe78b7f2379138c5b4819cd0097c76f6dee9511cc99c9633d007574c5972d2359f3b3577d0cd65faaf2a11f50079314b07a8af9da66f259a085d06eefd1bc7705063dd9e7ffcc2f2175a7407c32768d79999a774f3bf6402493e1def8b67685385d3a5424ce97ec9712a61600003b08947d091f2cb0ec2f9e76eb0f20e441f1a1558ff6b459e1bbdfa090b3747ea74b8344726984401899ec8aec2baf446f853468eaf7bfc4a15cfe9bc93e72c0e2c45df88cf0d63a974d95cb020c55f3c5a966f06608de049deada592252fe6086160f4764a27a850c2555e1f5c07a47259ed1621f328aea205275becadaef96ed52ca8746ff7ec0ffd3dde77266f1a20cb134752abd09256ee58d13577f9c1d9ce364b3d47b643997adeee07ca7262723d35c8356f75b49c66406bd833e7bb0174af94658ba0cc3b3894974838e1b972bd395be01872b4734d99e762680122a6fda8ed85c568de7db508cd7662667c72b3ee44c7f5503b350c67b615e22f0818d7323c15052871d6003f0bc65994023400a5be8c5f57d692da3a9cc6fc9ad26a78ff334bb7fa92f36395cba1fdd04c2ca02bf12e568b65dda5ee6f08f547b82205b51f22b15ddd964790dc207fe2fe7235f2d52f85fd91c18ac1612c3905a553b3ca58f216df2f8bf67092bc930df005bac5d22ea1f10be924ee682808a133ef0e7269538c5e0e1dd3dc11d5172cee723da9172eca17bd27ee8e4b05848e3385f804a751d4c4e8fbea8e0ed8c87f31420bece25818ab086854fe950c80e2f50d8db06b54cb769070696055df10946772b838ffe3217fe1da6067641c215884ca9847037fb1082c2266be46e922bf470d9a6ee3fa443a65b991daf4093aef871baa74b44fc4d674b36029bcbb76f9de7270748e44eb4afcfc0ba0f1d30e8e521810527b7bd61d0c55d2ab4ea6862df372114a5cf3a4d420b8218a6c6d6c95164a5286dbec17cd423c744c2bd5272a66296c1f796612a127250e81a3c549b6135548b0687ae7b9a8f1a1a472ff4e809451db895ca1db0b423b8304af80617c05ae0ac6cd13804c99b4bf9c674b98b8ec3e3ff15bfe7dbcebcf7c045aa81058cca0c6ecca00f4bf2798e574cfced9ad2912bf383a628eb5ee96b85c05303cb2782983c5911bfaf27e2db116a74f5413a53e9737daf610d64c85e9a39b2289125084bd70d70becdf09c0e13f68d2a0a5b5721aeeadb80dd00824cfd9113332a25b5a3c023477b7e1a607cf0c25800ffd0972088a3125803413175002b04e8d52e858ef4cc1db3f7e2a05cc93acf15af46b554eb945aa9d7ccb232f6502e6d10ec832f4c0fc6bd8c12b2fca91ae81b8493572a6c5235354ab45fe07cf794173c701feaad47f18a4e1b8527023a9877040f0729299abe91abaac06f289b35e406286f5e1638f3e550edc768d6e3558feca114e20ee4317c2a2ad0a4b600c06d65c19904fd505dbe649470a7ed5832d58a2df7214f76058373c9db19169f0f1041d0c3b1152adeae094038ae96dbe8de330030906156be08847d507b031949ee7895e334f8f9ff17e2561c5c49a998a1b77aa5df467092ce70e57916ec52da6ede95bbd99c17395ef402d9b6693c603c2166327254f047277b517f33ecbb8c5daccd4bf977e094616b8f6afea104832b22046518cf5d0b47f201240ce42ec92abf294eb7390418aeaa838ed858e7821c1029272121eca72f3b1bc70359082ad51e9d10ce9b0fb11f893b36416bcc977057fa530d1ae54b827e799f3e7dcac97c753b54c3a7b60327600d12fb29ad645fa80b2720a01db3fe951200d747877b8d9466025a7993cd03a82d8595ab7ee8c679f457231c415c3aed0b848e48704a811f7f7877d06968ce5136daedcc4dc0cd841ea25fc7170af4aa00aba7b7a0bca86940228ae9c66cca0ff74d69816dfa5e1d7b6726fb3c90488a1687af9b811c23aec4c7c83b156928bac098ac1b9994d1ee85a728934a40b1dbdec61422e5e13662f5b4c554163ae0a9b39d03a50892abaa92d72119ddb111ff2033f6ac04f8bf251116cdbe101e0798c6f4e1d3a074f3de33b72af0c47bd51d12df890c745a25bbe76723e5b0a950bacd1a8cfcae78d48626672717bf0f712fdcb0ebb922a79a643739780f038feccbaf43455fb7602b297ce5a7589bff112c35b4e4b8d15d9b4566d1ec1fbf2f178678a43f7b05f0e5bb26872ab3a7a3d9eedfba8d3ca00a198a3556f0b2febe192b33d3bfa338b21456ca77257dc55fa596dfaad0d27310f39de6a93950ec9b14b003324955556e280123572996ebc47de3b87f43c3e74fc14fe34697b523337a4ed686679f1bc7925f3537267f5a75b9abe1ad8f3836b2be21938d8e35a9f53a873a6cbe0ab50a6ea65a1725e5f44f6d63cff2b18db719a006582704f63556e077357b566a533f1d30b1d72bed07821ff4c2ef74d9fe460e0885fbeaba5e96e4fe26b9565cd58bb60712e6b8e95bc03492154ca5234d6214b3551f7302806822579c5f46032637a7a2707720ed67a38b172a9d98477d57ff636d936668ed542a75919f496611c647b929b7275795f8590573bad4325317c86769cc57a8cfdb9a2de31bde735b3aab0557d72db6a17438fc428aff1308312e4cc5361f8c50c200ff84ac0bc8c4bf1e3808b72e0a140324bb4c2284419370f6159a9e899855efde6eb02210a9e8fd998f1f5368e9a57b99343f1eac79af7e0fc1bfa1cad663093eea76c917181ec17c6a6412df46bfe01d60fb2b737be9ffd7f8f5ce4ce6703283233970855b22cab2bbade72decb3558a605c574927f2f766fb8e58e0a1e661c4e0146a0a395498884367d72009cfbfeb426fbbfb0ff8ba7bd3747bcdb6008745092256ccb689674e48a15580217a9e1496bbce6bb6049b94c04fb34919a24bfbcdd338738e9684497cd2672d71e0ebf387e3443fd45271d7844402a24f83ed7982b95aa761e536dcaff56726df89be05c1f776073fdb73a969259d4f87171eba77a4852e13ed32da8bdcb4f1dfdefb5d68d42e570e6c947ba26df688827bd3489b499b8147296fa3a66660016bf765f24d6f0eb41d9bb911e80426626c6820d7b77366bc8e9c112369372722712d8b695d0a7348c8584ba05304739c88defc54f7149a6693dcb3c1f988d727f7f9d5dec4af239fdb51744390e59e010a2ad434006017e15f2096edd7d93406d72da91c1aa6d134acde577f31e9a6da4111bf6f0aeddb0ec82c378c0193313aaca726a2e7b0fa4766280805cff2120eca318116018d7d3173fb93f9730d072d1c41cd44ef845e6581dde8358469da4ae7e20c07c282861f11db2b61947c809fd3fb346190fe6d1ea2e6538b4eea03c612476a87f2ff9ee93e91c1ca3a0107210f6bd755fe352de0354144fe9c93094720957c2f1682760d93e45f11556442707478feea6c6a8be3d3411b0cd9402c6764695ac11a1ff1d3e10ce5518e4c02e5258a88046b709009c066aeedc611ab43afc5608921a823deafb1a5bba5ac3081c0ae6f8f8e15e31852ac6ea72986e7993accf4478f6909197c8017b2a12db7270f37244f5f083e33aa1da3c51789c1ccba895940b9a50cc602c14cb027d9a29a7d498c2f3dfaf605a994b540070b015fa201142f44e311aeb6ca3c2d8537a51bb4934e2541296d908d23191e2281f1a3c80cdd1339d24d3faaf65003594af72f651c25e9067b0e729996cc36f9018d05c3be25c70853c70acb83501b008397268302f85aec92a5d76ce4e30042e9dce874c9a7a6e76084aa2487b4f8bd28572018c0cc3fada08b538c548eb2107021ba3fbec5dbad645a661f20f3b490b924e79195e951111379c797d7d8f4865bf0a92f23859ea17aee207990f221a8cf61eb191091a09282b10bc8d69de1cb02c462690e1ea43254ba5aef3208ae91f8d72d71de8d1013fc9c9422f64159bf773959b160e74ab655ec01a0d9737be6cfe5d5496907cb3e30d5b1cfd8d002ceea7866353cca862385ed5fbb24488212cf7727b70ffff4c74b10afed852e9e063d73f2295859acce5ed69cffdd4e9ddbe0372639b75e65cbb19a58284d8f56ae0d40716dfded7331737a5af4d49812aa454722c6a9cba7bac595c57228855e548b41fc2bd12902d5eea828402bd39f4279524fd3c57317b4e7fb4bbd983c259e6266745064a0bfa4a0853a70646bc37f1f8720b3f1a8a590c75d163ee91c43359f4f206bb279d5b63f3cc793cd742b83bbc23afd83cd3e66d1dfe05e22bd038a5a8ddc0a45dd868ab39f4a479736d36bc0772b2e6bc0a1d388279eb440f01e991b3a30e6db19302aefb989c32b4c62beebc721962d4c6c2263351c9985b37689497cf916c46866640123f1cc08c35604f70724ae9ab0e958783e34ff0b59b3d5f9400997b2c5048d6e4dfff0d918f37d4dc4bfb2f4dc5de8a0b5975f66cff1ed26b8b34f336aaab2df2f5bfd6dfe0cf8e427252032f7e99ea26a40058cf5347593c3daafea30e031436dbb120d5bf280f91722e13bd99cdf723b4ecb92c7de6d73255c2ef5a6fdbfa7524a90416dcbe59dc6b4c86a4a5b08b6dc5172eb48fcf51e7cbb6f03a977917e8ae67b021045da8565e36b5e2ef1e76312f072ae7d6c05e894188e2778cc6b51f38df669d9fc0feb26285b38b1857a7264889ca27207d8c427e5ac47e14d62528e96c820902b09751723f0664d9e523d8dce1fbc7bb1f025495bbf61fb295769a16fb83b10ef511555bf9bd6d80a5a43381412a2b0f41b2924b5f2d6adad0d04026c48b37016a5a93720893c7846274acc7e05f2764b6b2f66b926ba094299de928b67fb7d14b22b872f81b24ecdd4f6f61d69c0c07c4e73ee72e922a182c8af72707cb2d8175d60272738bbc48624becc47e8ec48e1c4a43dbbc00b7ab4192bd792292156be6d86372269704833a20b4874b8213a4fd92db41435369e59d38c92f26262d388d90f672ac2da325e88fb4cd2a4664556017bf97d20c58a5066fd8ab82ce57bed8441e72ba6a72bf3a0ec5fd68c5afea59fb7cfcbd62faa316b89e9f7dbc8064a3270e574f9f0163b7fb9ee5032fc7c10c31cb4c649cd634841cb179d491ca5d49ba260d094f50a2e0c8f0901905213a7e4f0cca49fea1e39688fe43c56fa9339b9f1472b4b08453f15b225842d22eb5e98c2f86c25801ef73026e4a5eb23edfda9046727137dc6c146a1db16714ff86e1db8a3023ff10c8a408efd1c1b59d5b31b5542a9809c68f069ff37ff6d153c14a61532eadb140614584e58359915771b7351620251b7e8bb25f569c424b6390f9577d06bf896b400158af0a05a611040622ed72f18acf1642988dfafb657c1808c7c3a32f617349f002c653538c47f1ed250c2c63d854ef2d31d8212bfde2a72bc2aa9b3a89be80403674ba79e8eecf0158ce2618aac95b28f8616bd0c70c6d9660ae832e2f2d73314b7bd115c07a5f40987967421af2387a96ccecadcc234b5b855d7743d778b1eb3ceda353cf9f3b8854d472dcce417341a08b96d129512adb77b42cd977a9dabca2f0707577fc69db72017225987a53c98c62950946efefe4de5127c8919df26d9a9339fa633398aa2960721eb6be1a399858dd5af36f3dc1d7f0a4789d9664b703135c6af2937e64ec21727d06395f579402256d4d577f8a426363984c3f6d720836a091d276d0e1b86f720cb4865fd072cc2bd5e1947d9068bf83cec0f3497a293a33dffc6197e85d8972f9e07f74fd6ed4d2dcd201a39772d2af52a64f3b30ce77aee64e5b3e4cd49572f07d3dd44c6f6a1fa88fa65867e3399cb56a7b743b6d2249e6d1a08a97279e6463782f3d0ad43e970564a5b4545f98874f8678b84dc6850d6009aca40825fe4a56f1e9a451cd6b9602b150df25c40771b7424e311d0a112c9fffb8ffdcbe022884a973568d50ef4aaaef4a9244dba6a4f6d4ccf08e1b850f0014d322938e1f726e868a398b10fc3812c6e38ccebd954af7bc6a173680be05d5df05b2adefd472e04d3c9ff765a7bc7e5ac78eb350b60988b6e5c96910b2f69c5c7f39d1c0d42d20b5eb3feaea2bb9e508f6bd29457f27fecf6f63e5cbcad9e143b2d70059750b11d73c810e4d395007fe8974fe1b658dac47be3e9bad80183929dd734b0d1333be2bd40ca7ccc69443cd0a173b59ec47d5938682e199d41e2991ee5f5626f572ad1c03c5193f25b616cedbe825011f9a58c9e5ff3f29f64de10475347f7441648439883995398ebb0c9087661bfe7c160bfd126797a5700264fe5fe8d259fe72c8b81c58277d77e02af39d69a48dcd1349bb8cfb905f79de59d48fc7f21db0727f60b92e2bde9afc1a8ae740d4174c176d2a21cc8f27446994a8de5a47b8b44c483d4ccd9f27d4e342d4b19044edc2b6bb0a4f24b1db111412bbaa1180eaf6722aef873125155b618f17f809c7af889797850d4546995356ab483b1dbc73e137a9e3a46239ca44f264cde3b8ec5fa6cddcbc0021900697b1643ea4b7d8ff69725f84a29ee8852e94da753ad081a1c2131477addabdcde5131e070dc27ec2f92a9bcf772c6cb6823d55ea9a791f1fb9b86667031fc876c278c1a9863144ab493178a540d7559bdd36ac16619e871380857e14f9ee4e68e113e10c7786fa3cbd72b0f097326413c4a12905ffae7ea5a787ea997fda5c54bceba965e7bba5bbaf5136531f66026214d8d5083b8df41c7ace14ad4df2fc2b96b8426825f4cc099d5adf6057e90c1d8468baa27540fb2575e2d1d79596bc51be86ccdbe15ccd9eb82d3d5d665617d00909389a6af781168cb46b1c67e093078a64b486a0186667684f1c6f209a4768dfbbf586c1b93b06e51362abba729f7311b3e5f38aac27b35f0d0aec5b38b32a306085f047d97ee7749ffde9a85388b229fc394fe3f38817e1574a9db3fa73e5ba94defd9483d239dc8ec4d8ded7784669afe52c87b6fb5a8f72a59084fe011d030553d0a0e848e60855c3a96afb910d0ad80eb8354b421ae821dad93babc77feda936c87d4522b721370b487ae91304de70815081221141de72c1b11f7849d70ff04703ae69b8cfbd47ec5abf0e7205bf33d6eadb9065aeac6904eac3a299154ed917f078c49692222188fdcf3b8c98c142d2216b0a3fd4b46b7bc046f838ad745d083f52eca42431e78b38510aa437d1e9ed49ad2c2cae0921e5346ec0c1ed5cf8dbc3b60acd34811b4b8911b2c6a11d92e6957dfcfa8ce8018c6c255fa3efa44f8d0bc9cf1117696b8b730208b7dc24d4e8a2d4b9a56733729c07708c1d0248ad53d4e5b46c0ea6649245fc2a3102dfbccfb9aa2b2bc079728272d6108604df8842367c8df87c787b80f3ea33803203bb89337e48ef6b6c72dc681944d91500ad6065b55a402e41ecb981166619cbe3160179fa2d88fda072f014cce7efb4d7fa8332f58c5540a203559c4311a492a116644bf1d071afe96cd5937d49063c9f41897b5a31a7e320e2e1deab2c9df2bf254004add19ddf6d36612596d5e943a11cdd843762dc8844006f2ce72637fbc0cb652776befe52027276b7df30e0067820c6032aa556a47c1d823739030c42108738a9807cfa31bd4a335a9961cff96c10cc9840d6d14ebeaf7b4988639d20b03d0118684a2fde5c4dfaf782d0f55aa629e1ec9dc534c462ce1e008d1aa112a35fd02c5b79c7632a6ff224f81468c4bf69140e9f6dcb96323fe5418dbd04f436d218857c16d8a3823797e2657d0a926c73feed489d49f46e33c4e09728d1c7dcbb7e0a9e10f913b96115285aa4b500d2ba3d31fcbe7f8c808eb97b68e878868d0edfe4aa5ca9fb0e72ac330256a75ba30021ad3ce2e4a39146e83e5f85cc84673d00406c17d865a5612ec262cb80d2e78e2563faf9202dcbac40a6087a4f07af5e690b86dbe3d52837d467324bb67780c7ce1e82b6e7d049724c171ff7f88903ba8df327135482310abba085532664e602ae746f12d1bc77c03f4cde74e0ff09e887bb28138c2cd3166ee5fba7f0ffba33f149dfd8ae031ea322b8eccf8ab56a62c577c112f10881724833a9d09d4c274011ae99895511dd39122ca3aa1d0d3fed9b433f3aa92282722e135f67cbbe134d51a0d5457c252d40ae503295d55f6b6bcc4d08163470c672dd7f9649c7b26c4b4e007bd641ed3262382f193b1390765f847145c222d92072023b5a04fa842d35bc04bf5c5c7dc705027af83b1eedcd5a827b6dc9fdd44872a065bb0eab9a07317da0cfbf47ea7c7c1f9d6bf5049673f9f90aee75936c86728e09582a8e4fb39d9f894998e78987c2a585707724d0ec0cb39bb02ff2fa9d72d93e6bd90d7996d9e9bc6632608e9a492a5b18504702bddffe12d688f869cd658e0edb4da6b39d72eef973d2aeefe7b5fa97163c05c1337c199d9a26c194b13d66878dcbf1efd978c83a6c09295d4ca006bbff815342becc640f32f51e77622228ebe5a65d05910039c446c64523f696c5f3f016707de6ca4ac230ca2b9b6b51f3a47d76afac844d8354918ea8d31fe08afc7bf8df3e31c5c51c38885ae716088f7fb14489b65edf8be648c6eb07d6ac75d00339fd50d013fefb0ab5b345e70d0d08172f10ef74d5a44507d775e998d5162c37adcbe333cc71f9d73966ff8472135b98b40e6da0c5d6d9fdd22f91e91041218aa6572150dbce2fffcc63ebb35e677030ea550358a126b4df450f119447ea81441e4101c29f48bbfaf6e1f8382a94714ef7eb023f73bab61e68f528b0812e9f8566606ef7c7e0dfe314eae49272cb1466a047626a7bfd3ba7a9d5c78f44aa84e3385fb6777256b8619d2fea0604878026f4fa515f8d59f89cb3181f423bafff769c5a89fc07f43468aeff5ea1729e507186c4182b8d8e1b08ea01233088afacb1203ccb813ee27df457c95f8772d16977080b43e48f7c35fbb307ac674d2f8d5a20baeee214d2e6e6a8df43bd72cc456cef98dc22ebf7ca71a4a92ff4f20c4f74a65d258fb6a2645d7a1d7f7472db28ab1b810df1d00e8114a41e59f180c7ad50941e4d66cb3560ecb3825baf700fbe236e698354cc2e0f6a9075a4d486e7b9db4285aae22453292d508b1f0b72b6af3e78793faee5fef1d24f4a2215cce7081b0f8634a83eb38874e7c4891c3053da0e23aabe4809dd82cd318afb7b5d26eeb5a266cddddd31a5b51b9e61707207fc0f57653b4888ee3e80142e3bc52be9653d8f757d2ed18a2fad2a2a659b727a06854b25970633ab6193c38062d2885c2f4158a5a0f2e831c1c793d1baa63ee15032e5f8ec6598003cc8867ee49c39d308e0013072294e0df5fb7ffaa3c2720d8140c61b7ff993e262f666b60e9881c2c33fd25601ffb543c563f87a789647338b76f7b84a4fff0f711ad51010a079647f9a4a090cc08ea00510619b172f72397c22b062b97a56aa6a9cd90bad4cfcf14504d8ccf101d4e7f96c310bdba97253b77bca8a7454e1b546b0617859b479b99088c1b1ed4c94e377c27827d287729da7a0273ba0a0c01dedf8904c7deb3b9c00fe73512018a3b505f8fd4e6a71159e6fba66da99976de27059fdce8cfe07ea353e3f2cffd9a090ca0bca32d2e90d642221e347daec6552bbe900be8d5fc465ed4a84ad9b7125231e476186760b722fa873a72df661ccb58b193dcf5ba9590bab46fef74ef246f4f06d6d57c776721bba73a2126ee35e2602165ec27f734afb2235f44987ec92b6212ffd5434392e428ff457c2dab85d34e2c50bcbe8c79602c607f56dfea853fd67da701990172343a88ddee5f78f1aa7506be031cc14bd45065f5b3f08de7a76e6d8f7da0ae7727131e993a48493e0d586248d5a9fdf51b5fa38ecca19390d605ece962508f87274df91d4b3dd00b75f5a6bf5258d62d6be72c88efcba7839eeb4f31ba2bb766afe5e2cbfcc2939dd922cd0ed1764f6b0f6568083755dfde17aae03a0ae21567284601b63be12415840ff3260ccfd6609f7562b31d4edc892306be42208a146713035cae07b95904646b71e2970384c685c529025fe6dcc37bac0e1c9fc9b8d3627043802245440a0c7d95edcfd56c4e12bc6a165ffce88cdd383f1a14e2127720d07a81e68c3cf2bc86f301990cb45667fd343934c1b327baa298f477efd58149a7e1e9b77ef5141570bb1d76c91119ab8769572c29f360e4e68c79e11a79843aa3f495150c661b4c2e0a8f2319d97b688dc5bafd2e2730dcf9aacced5cf6d43973647ae82397a6f093bd8551a7713bed0cc45ecfacd38ab95987521733fe37239f99916fd3722f6f25801df99118550cc83d33ad742246a9b9c5bb79b471572a62c1702a97ad504ae6232d97a5f06b9924f14dfa306117a57fde35069d64e724777f99105a993cb4fd83a0b724e0a67618108d9d70e119e96e3d1b159c77e62846f16f802fa5b839d97b81f6689c6da388b7fdcf796c8fd3ae510e2cf65567273ffd2c520797c3bf5496902585a86cb316b839537ccb9ed594f769cb067a472dd35385eee2753cc73e1d0299d230054f66b26f3217f09473ff67a4e2819d14075befa9f48971fa7b9b412f42bec255be7803c43c94aa9b5b0e4e5b1c62578402d12b9008dacdbe5eb04b1f58b37383cf9523212da674980ef1be5b3281b8e727bed8787fa7c92afbc4434e34e9c631262d5464f427786d8a9127e4c13c944414c6b6dd7968ecce5bf252f78a493a05a9caacf162dd781300674a7094419e42470a0e95871ee867d0f7423bd6aa6da5149324c45da6825b5036ca0e327c36e3720b42ee21c094d739566c8085f96d5869e34fda6cb493d142ea2259f25b9a672a4405298358e9d12b2aded9a85392162e7ecf9470359c965c673c9ac2e68c872e4e12117d7239d9a7f0788aff91f3c99b2893dce1df996f11ddf6983b7c474724d41b72ecdfe679d9b0326384bb8aa6ed96b78a15d0901c30ae5e35a50cbd1726a7162e9a9632cf1bd74cd13459d16027e1a497ce8baf2309c26f6da570cf372c10a702beeeac753c9632f0b510f8f012afed48f86d67a31a123485c2252cd727fdb2a6b25dc0ccba9ed7c05b820455254c5f21a6f7a05cffd0cbd640174223d893efd8f169d4f11d541b60c0cab537091294cb3b436479e9d6dba7ba3cd782c9f1aa237d0626d49a017a09dc631b26540f43e7de6f6e415bad24764fdab7a3949356d2e9261b6c20a5cac02272a0ca7b57dfb5451deb08b125389de8381334f9689e64f28c9a6c09d30c817782aadb83039549dcd8c05d3767ff6f6b3683a699ba5c4b4e55432e7481efa3649f37ed110f40c9f8f3497a6b8b25bdcbdda252564adbc3d26159453ff7de600786c02418688820b253b01422d33c3d4e74456687fd8c4b41ff88ab4e4fb617e6a0b3d3c5ea852d30abf9821b9a11b2d1672404dd93a113c7fb60f2075603aac5cc50fe92a3fc276af8bbd873ba52273936bf350fc6f962dba15cd4dc8607a6b292be17f94efe09af5ddcc02477856cea28c087259e5e353a0c7fe9147eaa43e24e344f3d3233e5ff6ca8c66f3a8d5adb5edcc72ebc6a857781281f80ae391ac25f44e5a1c2649ec931a689b398d2c98a67db97282596f1f653bfad62140e868b0d1de24ddba93922156ce356ede79f573103b724c2868939a1bd7936ebf4edb8957870e05aa7db4a635e61bf609b7a76901e3726b8e716290874e4c0779b9626f506dcb526d9a3b5852d322c215f04dcc68b76e7928e015d800f42ebbd417e087558e73323e1ced6895ff9cdd2cc2063c3d4772944e69cbc5cfa9fd87827d72efb20f045257d36a7ab8a15025c08a8b1e29c5721cea6af02eacfd565814699f259cd93adac97d27e076b5fd819c4cff243f8d72fc0c94db30f38b98c234f967d0bdb3d96f979ef8d257e322f3b3fe7e5c23547235f63074b938c4a76aca5fcae8397cad1dc5d57e79b7e3b8da4735c71e05a3ba0200005bc67471c189d78c76461dcab6141a733bdab3799d1d69e0c419119c92e82b3d64d62a960fc7c9b461ac9a6ecd756762ab69f456a0e93346a14353dd640f1a82722a84c29c02ad112232c6b2637f4944ee928797ef062289786fe3cac841405a38bc59c7cdf3eff6d165191108da2b166dc1df72280021a9e535298d01fb4de972e782f08149be4315399372535fbd88a11ca85a472552373764e3e7f1a33c097263e4d88e069a3022878873945ae3cdd0edb546f5a543fe09f0dbb9c57bf20b6ca5358d824bfd91ccd312157a4b45366e6a1a5fcb9f5790493e61d1eea165437213652c8015cb8c3befef422fc62d7bc1208dd5d4f6ad80ab989fc695d8c92772289fb8fcb8a91fac615a97aaa0456b4d0d634eb464f9965bdbbd6e75e16ed172cf4edbfcf96828cb6c2773efa292c0b3824b0f4f1bad68f955d7d698e0371c1461cc0c2c0bf62a4d40662e9369c675ca8758ce4056d531ad3a19883633907d40ea6be6ff67c340b9cded3b90b3e000f74a7781fd8977e535d5ac03220e2726720e21b587689de6d2d1652c92b4ae9a350bcda1190107549b7a76c2dcf3aed1460781eca6d8d46336fd954eb9947f033fc98e1c36f52a318854b0a0d2c9d8ab7277ce88b3035f0f489541b288abad878a286806c206b483a86844d2a6eccc6172d41760876e6444032d271a85978c5b543354c0db55307522d1a51fb16e2fbe72a3f397b6f5850fe314c103861632bb552500963cf57b19863e0096f769144a3f0f45834037ee8e7a002ca121ba330b959929925557ed69b7bb5d9942257d5a725db1c61ebda009b724e24aa47d103e662d985ca23af6100ca2e9713850ba33074c881d2e746203f9285dde424b49a3e59fbd85b6960d4c064c82f2f0dd55d572424dc708b6c81c63c08b93354a03d9b2335eb13831e0d5d7316e74dfb23233729353d4e6e34ad438dca1b30aea6980e9ed62a7a1c26b3fa0ca9e3d6ee79d227251219b87f5de06cf7662927da31e3b4173e0e677bcfbcf6a23d6799c97001b723435436eebaee068b33fbeff12c9c0184700641a9e7adf498d7a2802f67369725f49cd56e36f7607347615771f285a63c348117979bd914be79a3283799d24352aaf84e3c1f36e7f5c4afde81a2d624b7a2fe6901ee7a3ac8fac9e128c36a472a3d6158a3280e5083f43ec8ee4ca3911bcd5c7b7506f92322420970dd274ef72e224b84353b681e7bba0b312988a14a0c978f3a69c9db0dad784bc59619cf47225a8bd8b6a8a5d2b372fef5e0b6810b33734addb0969dae7c633d9eae66cdf72d959c9eeca1daa76788cac643df1da6a41056d0c27de1d37d0686356a8894e7253bf8c572023cc5d91a00aa69dc628f8ac327dfd66c563e12dbb39ef848d2672668c9f1cd6a3835fa3887a1e089ef37f587a70c0f9a25b228febaad70483e168d7a1a52fbf292a9668ae7fa6bada1715a0267f37310c04a4750daff0e18ada3aa891832ead6735fa542d34bfd48c9a91658b56d98a451d8028f75a125d98900153987c01589c420be2bf03326baa42d681ebe9dd3c7c56137da231998d97c56c57372991240b4b250bc587e18b4854e3d9b9c65d5670cb18304cad5dee3454594a5e78cb58a9966a4dd54ad6539373c9671398d0b3dc3fb01505c0d97f8fc268d5f00f1eedff35acffc29183c98c7117a0fa03b042c94fd989f4017439341072237976d427f8c6be4e39b7cfd16eaf9258ccfc73475fa84f18d0a4f29dfea92f3f45abe9ac29bfb6817b85d0f1a04eee323dd74d3105995f18a596d5da293d26c23dc46d1f743df38195412776c81dfde14f285a47e11d97242ba74d6447633e3d4cc38773e0154b26e40fc4eb099efb4c51faf6f37841bc47f496b0f7e68c724bb724052f3f60fa8a058c1d774fe648d1a5ab3c48b562abf71f0adaa81e5f7276411d0649cf11c749246f300f5bacd682e03b7176617fd5cc6633432c3bc84e9f5168293590854cfc3fab7c15b7c80823eb35e8bd26a5555b82fece5778dc1efe6c70939b2764d98dd619d9eb7539b9d09dbdbd723807ff8a7d623f57fbd95dc5bb55effe40f25418b62041087370b704a28bc5925cafec66a192f479175b69f05c4749e34ae11b19f87e31ee11cc9988985ccc354aad779010d457436914002e039873cef4a51c51b6610475cad07df2b60325fe8330910e10a9ad6b1b1c726e83aa620e7f35aa88bb4827f969747ba70c8f6e2f5d4f0577e33660af02e9724adee50d8c9fac818a2e3f9113f84b9046c50f132e0eac0dc843a746f6bb717206ccb04a84c54acd5c374b7d46a24a5ba74aaf5f1fca6ddc798a77af6534fd72ac8d85b0463f1a74d2bbb56ebd5db87ee0b254f0149420aa6641c9f4337cb072d7d196204d85c3d646994f5d4614d82a41f38643df539a9fef2c7cb9f822be4a3e592ba97f4671b23b7ff61254aca94ac4b33987b7cad20d615ca2c00a3e8f72be3066e33d04c21465bf3710c05ecc8053fe3396f0c285ed790c4bc5bb5c1511808553833611fc132966690e531e0596634ae8e1168e36cf67e6694088cb9350276e9c99fb521567e4c770bc51a453cdb15b3f4503869f2fa50572e9054c13728da83c9080d9db5f07f10440b9a1c5fd770884b87f0648f64581118220e9e772abcd9409c2e75c0c28ac043815b1a815fcbe8370b36fbb025bc0931ba0244d7252c75ecfa2d9af8108cf0d22c73bc6af53f7a108da592f930f8625f5b39f2c724a80967d434374a9ee3e9333a602fde7fd0bd1b6348fdb2f57afb2b26ff01764aab921c73c42f42035b3fe951e7259f7245754d2b0c36fe9c3a8210676da3172b61c3972aed5e5998d5e607857f84fa06ff4ea87b34f64c968e92547e2faec7217637bda28604cf3cb629b22701fd2a8007bee585ee8bb1068831fb22d4a9372a26bad1a93f0acb1a84ee989db0971f77dec11352276f58d202d33e91c7083721273332acb0e9732b520986caa7feac7a324d67e6df9c3b42a241912662b9e190d04289088b47bfe98f2b2d13c8c0fac63ae58d25848a008a5dd046992bf923bd4bbedd729da66323a6c6a9d778a01149bf604852064b7c0642ed965c6488e5543c245accf0c7ea17d0ef0b76db6b4a6514196da28a323d0c36a3d8badf7dd592d3ba6da57482a855e8aacc5ef79b4b30b3b2361f7de3f64e95fd73117851f325b2264821f36c7ab637ea715c70d19185d93a5f6923287337dcd76c45143c73d6141e28e7742066631e1f9be42681358adf378a7aa3290d3ade470b2999d996ebef57bb1ae1d738dddd5e3383227c03b3ab8e11ea3b1337a39fa6ffb1e53010cd297fa8bf983c889e67a4668fb297b2d6dbfcb5a603f70e406ebc31c92c7d05605e789ed01264afe84044e7bc0fcc758cce12f4afcac467200ec53112d308272b1d212f20bdafd9af016a0d0070e426977e90be1bda13f8c365fdf875aa6ce3711985ffb4365add45c10ea15a927dcfecf41fb3c2a5f9388f588217c0520c033e4b1ece2a5f2fce1e6f63511ba47500141185eaa59aaeced276582372203625d41bd8f11c56c7813e88012ecbf7f7299b79f2be3532afa4c3b4981a7e499d32dbc4998ac817b2bce0937f7f112daeb36b5221d22bcc4f3914c05dba846a5aa7204573a5bc7ba9091eacb77b088fd814fe6bb95be37bfa2cfeb576cb0cb87596011622037d29924992392571e50af5622fa423937316c2adbdb16c231848cd772d3a42b946fd7ae873c19730c387c96857e7da24fb2be55d4d334227a91ccc16d03a981206a896b0de5ef7d36678ea49ec98487520223b7264f1f25edaceb8f7252757e3cc56fd0b8a72a430bd1fa7597115f2d59a0d2c5399e072ab3b43a7a21c9cb0b232de0bcf51eb0dd80909666d9fdac771c1f2befee20c775bffafed372838f5d57798a249170382b995160b162303f8b74c29580c8da56f898b6825e72909dffc9312b2d36bfce8b883f2812ea8f799e45f9fd5c9eb208f04913c0747212f5e53cf3fea9d9426a10112311c44371ed24c69481584b06a719d69ec1f8720c91d24df93e00a6b078e71c69673a227cbe2974809876a0383b36f866a6ab658117dd32e0d6633847229567a509f4ce454dcb872b50dee9569bf17029de81721b7c539db6d61495ad0f6b20a6769e97c410b3bcf10752a15a357ece77a7b8724bbf937c31f5dfc0edc5f8d5f5a380f12925a1850ba1249ba294fc245a9bf4728ef00f4109ba361c6fbe240c79a39ddea647d9d26b47ec58dcc1ee04a8364a724b8046151a0034d240bc4135c2a1b4559d6326f5a1511c8c6d383e7b8ca444727711725cdf14c0e676caadbee4ef71415162fe5a1d3728c0976ae510085fe32d0c526b1a0a57b1d213e5dca528b3a11819badc877347a3b3fa078fe1956b9a721e13cee41be344a7b8d809de7a9515a0057fa25b4dc1c6b421b5fdd8b384ef72509d1311891006a040f3c4ea227d2eeccb3e801d81474e8ded959defc2a5ba3572a78ab57dd8af3889e20d8a5bc76396d87ecee9c6697b032c9816bf34ab097272de4e210eef8318a8f37b555ed447bae0a8b67bfd9cdde5acef9edc686ebb72ab81caf0f654669929fb9ad7ab9609eae1b8a245defe9c50a8b418b195b0e072dd87cc901d3dfc8b92f494e47bab144b06c2edeb2b9b55507c0bb2c8159c4b1d2b20369654ae40b9c9fd0dc6b2fc6e6fce74f69e2aa708807604bba8fd60ea72770ec260e9aa42636792028f466bee44b7fb367a53e2bc875fa621a34d63ca723a31d7f7d5ea4d5ffe8f1b61507bcf8820007093b14dfd3236d749ccde2a367027b055573f975a47f14940daccc1bbcac1a42484c291ce3466cdeaf0178db4722c55344ae4bc898098db5001461bd0514e8d3768dc95ec0d611477b950180f36963fb0b9986ac8372150c9ac7d942fc74c1059db513529b54fb91efcd5d5280289bd80aba26d99d641717c05f0da7755b48f876235259393e7218304955a0d7268861e1947c11b7e346c1c114df0bcad108bbdd3f31a2d2d473e7547a9fc71726fc325341823d3aedb497d3df013df0cf52fc872292a281b543534153e11085769787a91c008d3994abbec9a3288d3b90256e6697ee78ad16e3c632762c7c066364ce03013d35ada30355aae9624dbe36fc11fdb2dcf5bcbb838b6169ab82572e292931e0ef209df15bd8834e6b7a985faeefb2e258d4b1eba23b4a6370f5d09dd7960ce0586bb4bf117eaf0a34c7dddd3e0c120ce333d9e91ceaead07418672eaf77baee6870ba185f0250414676c17882cc1832a4a1e6e72249d82f05a0672819ca81e801d43f6786f4b00496da3ce64f0282177b592309575cb6f7e57893a547baaabee8c922cb912b3a8ad808a7fa9ec46c9968b36b7810f0f10d8a79c72456e6d3343f0bcbac16b7ae841fcf445e1efd6f4f9356d8c654c80f712bdd3641876f8d85022f0b708d8325a530c0aca4bbe2f2e683f8b0428a0092a33ced572df7700a9d458160f99ec22df4861c7432358b3b074449d5e8046c23967e44032a99b9b8724fd86f468eb4cc335d9288e172ea3fbcf16b5a96328ed1c226de072a6e0b18367ce3479b4a0ddd31b56a6c646b4a20b9d4245b1f72ead74cc4bb472b9ea474899ffcdf946f394d2b1cd5595a3534749f5e9459b0badbd0d12a0527221d426b77b603f1c9143e7291a90ec8e0387061834b8714f911d5abbbf66903fbc713593cc2f6e643e1757a20e15627cef79f7a32a8866f233804813df8fb672a18b40639e4d1630d674ce3fd7ab8045182f399065ec6ecb4a45e330bb90f372c1f3287247c810701b3fc3ce6558b703ce02f0843b9cc0f463c74156a6e3a0722088cdf1cfb79fb3c1c460ef1633cdd086cf517627bf4142b90486d9901fbd258dc25ec3b68cd971ead287c2e8dde560f168f99e951d5e86b3228b92320531728100d227704104ff4940b8f11bf7971a9b16be2894979eb7ff96076188f467722655ba50b1194fd5536d66d039582f1b504fbd0cc82c27fee9d3e089c65cf872c4de2d0507b75ccf4e6446a1081343c8404e743d30eeeed65f3972d741ba60723b631f3f0c4f528ea764fe334aeb93cea407fe502003b8c7d30d83d3dba7483cdf368c98ec193d44cd73eb7a85712b8f1ba212c5e9988caaa23bd4234ac3b8722880d2d2ea35f1916786d8cfd30d37f15cbc3b802cd8053e3cb2f7efaf51c172427000792e2138e2d2db86e9f1937f85f99cb4a8d3a1b80b934c54e796e7d4721256299993d423256dd1da030e8fd848b2c9443daf17ef94e0eeca209a5449463866426543f0e0ce91deea9b4f0eb1c96a0b082f5674084b4b64271329f02f138e6895a591abb17bf0fb919786c282c5ed1509f8cbd4874a37bf75ac4ad1732021871935d81a7fc143e3c442c7709d36d9cc98a404a0ced45e2e9ad09b921f722009ab5975de1007ec0b845b4de9d444741a967b4d88afe3eb5db12e7701634a4a50b8dd07ac60885326382d9a712b57ae256a39fc2dca8a6e1bbf21261f017249ac61ffa8044b5d95d382a37b70ac1fac7f11d68ce8c23e12b995570bf2812248add75598ae1d82ba7347c6bd2b61b989e7267c8718072b12cfebb8e0221f72700cc49c3e7d43a998b5e553d005d53e45aba5f2980fd975b173b8fda5012872fd939b8af4e2c7e8852ed33c4dbf8a219433ac9a65a513b6b3ed7635f316d71428eb0456a3b6d39f7dc740723062bd128e5a8871e4006b73123f314513ce0e72baf31857b7bf87a0b9f156ee35ef85a71a0c1ede57928cf36035df40eeb01c0751cfe29d1e20ea29653030b0c574a1a2f5e99524642d60f1ebf1839e073be272cf09591a7f02d3d2c727f0139a197b3c4d926b29e2c9f2e3cf81b48573501972806db210bec4ec55fe4c58d9a8582eab5bde6de3f03ac9b4fa6780e149218172e0f899f89f46b8ef10350a8bd1d86877f55ba25e6fd0b744209c9fe1c73c9272af44c6b7720403ab9707e83e273e215a33260b95d75644c17cd6f1ed74e51872989da8be1979ef7d161ce4a641e2e643fba18ce8baee46d633e5e6ee1ede3c72a3ed91f54ccd5919fe1ef5a2d37303247fdd0fb58c11f63a0339fce55119c07294d7c9ebb53f05f5ccd3e6690dca868f317e96056316f23846808e54c7eb3c086c6a503be7f024b4c9c736a2aed2f4b2c20177e432b93dafd4e13e687eff593f39ddadfbc1dc6afad68ee074a83c16f28120267ebcd98b0b4338c3e1cd82de72dbeb59e7311b18a711850a1e7c797e9ae526580e11c99523a3e67dfe55087a7227afe0342c32ee045b03d2611d6b2e2ac8dddd13b0b42daba45d04011e358e3685e59eb5daacf3a5f12d9f3dbdf5813ab7deee0aca9b141a42b27249925c2b5c920068432b08799e46c87245a865a369529ac13f7e56c8e5ea7c60d238f2d448f77c79aa5ba2c3034bfa857da150b93aa4ccaf8354c883bad2db4a9520b89947a7843d8b521f9498ca5410fe00d1bd23a57743addceda6dbb27f1d0edb63f072a8b2b8832459c3d5c3409d12375e6f91fc66aa64a54d56f5f3a2db37402b42727c4c77e4fb99d9c645d434ebf97e33e79e2ad564061449e9cff8df31dd762f72b73828d192d7e67bb40768f0bf37db151b762fd7b54620022c7b6fb472eaac72853a20ce92b452e290c2deb4f55091eaf1e9f37732bc7d939f73effdd32bf16a6db171558c0c96fa79e9d99a8a8ef56bad4af37341fa6153a6740b8dc292e272c2d4df36e93d7574313a5f21c087377e8d6410d8a12b0e468b2ea7936fa1ff15c109ec05785338c0bd98206db9018d26d3c30649778fdb656c63884680bc481876cb156c27ff3b7de3f4783bb2b19bf271da778706060731f5382815dca187728255b25b52e8b063570244aa240e66bd70e18f5235cb8b216a19f34f89755d72552c4183d30547d2ccd96829c6149b49d057914130582b1bb83e78c8cfbbbe2d2838965b39ac5fa10820eb6a9ad00df6b4fbc9d88d169c6bb928bacd23d6aa725f79028c3dff6dadb8b294f2d5a0b22fdeea834e5bcb79737c417201db9310483c911405c7c679a8bff495579b4968e0e87a0e7dce8c849ecb24c584bcb80e72cf4b4d2b1020464dbe6aec7dc02fa5b281c86a7b3c146c3e9c7f51728677184c068bb01c95816b5ca4409aed3aeb0f9d309850dc2f7a7c5d44eef7ba1d44110ebbfa0e5796bcc49fd36a8be19fd90511494fd0b170cee2be5137b88431ab37206dc3d42da0eb753a31dc916e9323787b6dbdbe5027ac5e64a4ee8a6508840f29ead11a3d2dac20c2e5de6fa1063935cd048e5009a4834013fa337fcf5e9f3772d06d3c46c60ec2edb2501da8e41a3c6f157756975e7c5c9ca3d66afeda099922355539c9ea04a25ef06c91376534e065ddb7d1662b8cc79d96294e7e9f947e7213b5fe8ff91aaa69a0cf19b54dc127bc65a007588d6b6eb33ddc7c7cc4ef3472a4da3613d1cd31f691be2cf9629c4b9c1f0d93a80c165557f71dd668f3a2850b356d6c075a52a908df148f8f77bbf843a3fa750a47ce2244e85b72396851b85571e38b2d124da6bafceb27bf4785363d55fac0f8fce7a9286948371ce2996f721e8f6cff46d2fabeeca6e32552e9165955bc194df2549dfa897a9dac11a45072367dabddf0a7244ba26449de754169e908672f8d847197a11761c726c9a448272066a748f9287400d81dba4f0a2dd39dd88809c2ce36c76b5aaf7c9f8f3eb654aebf98af05da62fb68afb1323dcc73183b9bb3e54a2037ccf0b3058afba2a97200a9083f7be1ff3577b5a245fe907c5512e4e82e455eb386e8c38f0ef7445f57ee0bf81691643995fbae32a0a15c3594a283d371dd7d623769277c97b6a8b33570fa7043b6a81699d977421f47527d1a4abfd87d8ca98a24b37e4552526d2a721196ba4bcabaa774f822388d70e5870c754d570ac5d84cf344761b600c6c1c1dd7d251b2c26f9c3416e65253a972f02c13e3d18f77312ea4bd24eaa53ca09d72099c45873f337d34f6613d8768ad9e88ed2506f8e73d3801d54bfcc4d6bc7e723e62cf9e9c79f4746495cb32d0d43b1a3ba3257ff0de7ea4030dbcd8feee8772208485de4eb143cadad731d28e6838e48fa1448bfe818c3cd507b773279e6b247972795ef168bbedd14aa7de9a29d9825a8b92a17669a28ea9e454cb12a1e05fece459b97b763d472b770e9be5e8079c3369b47371da0268e135ad13f03cd572f9d070e7e6a6c74671effa201e38166b5db4cdd9d62d0cb9bb2a440c82bf0a63df380a0520327aa2ac053132817ef22c2d71894b84b964d3c95a3e7c2ed56c280043411837b89a50f746e622f7c3c1036ce0d51f06ad622446d4b00e74db99720ac15defedeb3587bea9625c435bd8492d47b85f0f2b984f2e4626ad7dc8c5723fab83210011614747b79499ba01fc1e31713730affc5ab9ffb625efba308c72d7033b301357c3755c40d55d0b420575649cfdead1ab6a6d026bf8320bddb072bfcc5f534cce710e3163531cc1d37073e2d9fc737b8b78af8d51ac97fefb9f65dd58b2e8a5be2c446bdf7d9e7b897624e33f3f9e44550f6025023958ed01e463d1c64dc885ff6415a4a18f07b1ebcb209004dfbbd13aac61111f11de258bd20b4ece0cd94e5669af961630131ce28b068b8c863a072c96d8dcd1e02076243172e67df2f7ce8b71e176e97cb00098adf59f34d11d28ffe5651a28149a94e34023914b8118d4e1be36acdc729bf51ce0f2d1a06c01e3fc9e96d216cc7cd2a484728a9961d2434d9e0cc563a0839a341ae8a2f20669b87d3d74b23b8cf33539747216d52eba83416e916d95325c62665f8285e699937fac6a759ffefa6b5b656d0cdb59e79d60447f2cd79926b38e6cca5117593bdd475995d8e5b9e127ebe81a724802e9c35b6ba2c21f8e9ea9a32374fc4360d6b422b3f8545501690d6a1b0e30ceecbabfe36e86934af6dce2b215fc3aa1d926bec02fb60efc6bf0ea972af54b4ba8ae80e36f09dc21ce963e06349e0431b911b4ffa65e1fa5278a42b9c1dc72611a74888ccbdba4056e032ed7ba0901e79bef1d52c15c7121242a0e7225f27243d0826eab2a7db7d3fcbff62ac970f2c4943f9d3ffc15d0649b68811732a340104f1a181545b7faab15099f75dd4d058ba316e06dc5b8c8aa58dfd078c9fc7223dabbbab828ead92df85fc91f50fbce842f357d87b4ce0b7ac0661942d41872596dd68b5247075585a602207083d0130732dca2139d4892d744b97826584c72c0579b73b289f44b1bdde0c232cc396abeb4e1be1af7f41cde49d9b43f0ac31ec4a5c4ff609db7b4ec9f19a2c33ee164ed5a0c7e6574ee89a1f4a15429ef496e951788c3a7649bde1c0c8648d5acd9dd42c919dd8952a929dd130288728c9d7254834f750f09c5d668209f25845071fa40f9fe8aee1425b2e11048916ffb8672a4725af78d722c3428a57f5cd9ece5d1b6a02bc8e5c7e659e6956736e4815e728089c101bb251891a0e19d34fdc59068ba876f48aa06221b404b1cf470e9417247b2d60d5e0807ac22873f2cf127afc260af31c0a868648f3a8a57bb8bfee4722cd437c7c5c4540f78de0610564b8538bd599dbd07ca291eb25f9a5340a6a016a8cd1b2c0f64eedfc25ebdc1f3765dc2845ea24a997e323e9c39e27a0b42b0722dcacee8e191e9d0a87222920348763861632a7273e8bc58248228211c3ec95db04d08ce28bdebacd674f4d6316c41c669e3bbb8e56e86c086e77cec3c315a6c4a65869e8faf659a55a59015b8a9dce250ba7cef569f718de0b236ccc4351f2cf737838091398080df8f5e8ccdf023e1d26de6bc1fc580cd45120d949abec94ef699cd14cbf54937795a37c8a4ea913ee1edcd7b7e35d9e5c16288dda475161e4d74adb98b2a5243031d6143383bd9f46336c3f1be251abc5d6eccd04adc6e0cba2dccac854e76fe668b8f072a8650f6f08f7f57d1b94cde27a580e54454760416eb0154975fc620302dfd466cc907c74287fb239c33b20d00d4c81bf6cc9e411cfd3922835611c364c7f007db206ebc411f763009e5c74e73d80c488fe0fa72a7890ddefd090a86e10290679d31694391f8182f2e2d5ca935777bf786f51e20bb97fce5213125b036760b2fd72e5b0f10593f1ffb76492c8bc61dac3081a5183c91550072918ebcb4c998dbecb8dd5c080dad11dd09e0d0df0c64961782f94b9d523e0707a0ab6ae3f86ba6d1979f45948849952360d788e60c738f32e6f372f7a6c78af66684a65757bd96f533b4d9bc2892774b21e82eea0779447be46870287d6374ac43351cf7cff83149d196906baef702dfe2c58d39881f183839387278d8fb63c2ab41bda1b7fca584c3bb9734fdad483596417112ae11d46869fb6071b1fb8f76756dfc8f5eeb0e26a6d7a624585981f0e4c0bd6ec7b4e413c63915ebe8e37fe0effc49be6f56ca8ea4a1cd91653e10233fb7920144e61a66b2ab72fbc63ae9789db7df0d2aceb18ae38dde8f21f43215618b9d9b976c9b9a4125724cdbdac5beda85f42e7436728c384e9192d40ef089dfe6e5181e9cedc344a6649f15c43a4ebff0d225346bb0faca4bfd01ed53b524e975ecc14cc95602f92c72e9b445cdec1c0d895c8b9621db282381d65f7b122f3a241224d104c0fe524a650fff47225efcbd7f9c28470cfce0a9b95ba99b2c34c2cd9c72d3753e1f4c1872152932f4ae1996b6e83bb0eaf5a7aa21ac9dc611e18d24c04a2412b944ae21728f35364217bf6c91e85b8f0ffc07e973b6bab8e547a4520d936ebd1f76e2c02aa09a78c2031ba9ca82943a31b68b2fa95138e5d777faeb9ec3c29a262985e93214611c6dd75b7ff9ca920aea052eaa6802bf2febb5333aaef5a85255d2cdcc5ecfdfce5569eabcb5e2d204ec173c09fed13f15d4dd484fd2d308c2c7cfa4e912d7f28a605f18de6dd72f7b0bb378e218c31486b6e100a4156e778645afe0b366d8a2f06d20b9a9f197fc1812fe211334fd0952f6d0740602a18d42e067f01d11532a1fe9512e6228ddbf261dba99276ec6996d01ba33be7626079d491379fd4858bf7987662d384e367e7dac270db8d04b718ea7d68480f5ecea812325dfea72adf89bbb6cf6d8e4a02417428a1a5e32256d0f8aaa4ef28b95ae7826acba0d4a48ddf6528f97da9456db9203948081d352729a65a8dc4d597750058fc9f2957262d8433342303622942b5fbb98ccf775f3fcf7c62a2a9f87c11f04ae6cd09b317abac63b0649887a211ba38aa7b3aa935b74d45a2a003148882dda9b45f653722fc563bcdb4c21c227d1b150b5901907a3d1cb290ecb8c64097e5c75d59ff07232ee502c81e71b51963ab49086c7ea971471ef8a54df4b761b9d7b09b5a6526adf9246e30c8fd0e2335d0ca8439308d00491987cc11731befd3d0ed79fd0b327a7335f61a72a39efe166b38aa605939f77ec4d15c28135a363256b172831cf728e6ab94ed5df6b5dd464261f83b1a8cd2df3f47a121693fc0407a1e72510c572f2c8f317fc68fa1e8d02ac435e3fad3c23dca62d9568e6d55169b042d2e5ab2ab0b652be9e241fcfb7f0bdf99e726a2c8b92104e38b4ccec619f187995f17d4cf9a8e2cdd544290cef1e52f77218943ffeaaec87b50b693ca5c9e450c22ce80fb479a35b308b19c35efe8a844d58c238551223a7897b7f6a5bcc720ac505194aed2bc26fb4c6449efd1503d60dad95d803b97063efe1093185cbf9c73748db72689688af3a24bb78a2c5c9739fe8aa1b9d44c70b0996ae693d9ced0213f4af3e0da01dfe10ea75a52cbce63cf666d511d1d20c4b2f50f4a9c14a17d302c3e67238efac6f6d4c33827da90295143fe31087ca491c7d8e7ce9c1cc4ba3852d557201746052ede889123a5583ab4bd416742214fdf94f13175db1c95435b5bbb3725f3a4e9a2d4d0d81aa770dce66397a6c897f69bb0d5fa57a9d417e3bf894a90e031f707158ad0e5b25808cbaca830d0ffdd36e5f55a31073b66d473211c3b572bd4dd113df648d47a9216c82cf5ee0d4b3f2fa977b46605449fd64edd3f05b0759694f78575f5bc848a8022edf4f48d319df16e13f7641fc88ff7155a624a172ed68275dc2d99e4243aef94081c210e44e40946d1ff569f18299c4b3263316589b9cee1631b8f4c267341b15764bc908459117ba081ee842491d5012858c3e7218dc2e855078e9185da5a7bebac5f7f2319b7ce07763029ef09e7312b15ddc72193ebd1957ed1f05a8c0e9e31bca3ef5df00c680c887d77df6915f9668d0b372481d6d0510b6ab273a03131b87ea53d1f8c282b98cc958b0f1ab1dbc4ed7f7726f7c80d71f61b013b226a8966023e3b25852a7d7b3477a8b7f3336ec993a8412753be4b8dd977243adf7d9c64dff7d115b0c4de23d22a392d34f365de56f31260b2d9c0226a690b9dbec5b6a3566db08a3d44e147850fe9e7794e2f71c76e472db4cc315db13e356482888a7d4a75e2ee47d373b52534f5b04b7cf541b3c5745c06ce57c74d666d424e83b66f432dd879f401052ff3f1de490df2b494ec2b87267fc7ab4af699d800080bc958894c4be69f0124292b43e2b77716e0125aacb7263e47dd58ba1e1148745e1bdca37e23df2745042aff13f0ae4547015edf9fa1c5491998e7db82d7ccc10d503a81e2e8c92bfd82f46ba0dbe9a3ba140606e32728ae39066d9073f5eeaef30938b10baa82f05c560c26faa8faae0f5a2b9181572a5fdbac9176cb2103065ba33c5021bed0df360a6944b622a5050c272574a0e728c60d123aae12a9d8989629c054a153cae82d66d192d8ab9dcb6e456561f3937a62a58fe6a0ec228543f98a6c0aed4f2c6cdbea5d889f5831cf87a0bbbe90f22d147237e4d5d427f5248e5f55b44ab4294ed5bbee5adaa9beaf0e15082d2d272d90f27574bc156f76435d078e46a047d7ab7f90996e9cf1728c0fc5338ecfc72815620aeabd24018dafa892098415ffbfec1fa499645c903291c6e662c08417230454be90da93365ec2d821d9bacd1af285fd3f97a5e19c5d32533d0c80341720868b07884893a0274298929e87291792893a7591b70de0f74e4db8e00a369075871a3525b685acc010e121a836d20f46b36622d37fe3d0b6b21b8db30a6de725df2851412ddd678440a97631ede81d056928277bd50eca7520bffcfb8301900043e7e8c87570fa473175bd7cbe64e8be1cfc37ec2de04983faac9ba67067a729d76005ec592d979d6ae01ea4f579772465a8574f57ed8f5179a04240308780cce2c63ca916b2ca01c8eb5d47b00f4f535e9edacf50d08d355236f9885c9a22f10b96da78b90136198bc0c099e0852f423ec70c5c2040617070ece7d8224f672c575faf1308e12426ed62dcb34d8447e774862cf1ea0c5bab620011b2790123df9c20d3f9a34cc98b0d0ae7ee6ff28d938f6bade38973f80ecb139c5c8e94e03ee736e9feaa1cc539b83ee426160a04dca41ead79e6317f200cbb873b1bb8d4e64518f28c280ca5cfca1787527cbe90578b0faf977f94249c9a528ff30b33c72316f2fccefd8d98f84c9123becd5e06f1d0f6f832e3e789f4925ccde0eac914b2084d89b9311e82661616ca63f7fb1363fefa1cf90fcbeabde18225d21b77a72c39c52f69c20077ddd6b5eaee5a0e5143c46c2ea2d48aaab76732632dd646f729c586a692c43f97223af80a21ba55f0b5ece60af824a6a42c1f23b51c1c8fd72f3ee11bfe41aa07bb6838380b1fd6ae100738e0bc404c548c983d3a09241917232f31e07d5bd227de9bccfec82966ed0f5c80c8ca348d3a164bac7fd967ab8724a6cbcf4070ea469eb50913286d8ecab45ea47545a2360303baf0a50f6fd6b72c238be18129868add8549d80de4c5b4af6ee2931e2c6fc5f7182a778b3fd0c091ee0df80ba5b4655f8864cd6838f2413762dbc015416cb627e4ca42b88b57f722dd10a4f04377faf74eeed94a816a5083dae2a771ed444d86c96a2a3905a2560d12f3b341c11753e1a345f0d47403785b6b8df5a3a65b6cf661528e13a20d472751e70b21309c9eeffccb7fbd7c4d743c0483ed84031eb6c02cc9cbe85d717447ff02355e5de05af8b2cf0fe7769c2e7bc556456ec611c900a8ce9ee42f8c450c40adabb94612a733a7e3b1db04b76ba88b969f4cf8f9cba8faae8cb7098fb4bb01f4741af73a5d51ff55e1aef355ca4e117fb37675a6388fbee873d05bbe302213ed40d9a481dc98d911cb05ebe45d25656f6a082cc281577b4511899d37c288d47f2b3b57145adfbe2002db5d7e5d55634ceb6936f8a8eda94549a37ca3e72afb8bb48880cab5e5a5de24a1a3b2ded80595250c19c1d5da19e9a719647b6720ed4d18e4a2094b8bb2d9cca07c80e1bb85a2ebba65d079229c46621ea19276bb3603ce2ce1772ea1ad8340c6a6f4f111d03ec25e1d6e8e907f88afcce913272debdfe344a6df13856fb2f3327db44a93d07cea3ca659508c9de4fedabf0c0723402ce32dec62986718f3f3c4055ed75256903393e392aa27bec5e7a212d322d1e71ae94ab620976b47dca652636be7863697a5c6869440069590f8efccaef6ded7e7dfa5db293935eb1891d6819866aff5efba4e105db27cf3c26c01d0c813f8eb1c89b6ec0da815ebda3d7db6ad04dc383f69915f446ea72912b8bb90e4b613a55d05ad9f637d4df3bc16a80b75f92c5cdb413e31912d2408e0c2ff9ca86017643805d1ce6d60355b0261c74c2983d6b68243b02a1031d713589bdb57c3972d774cbb3dc77dd88ce58093432437286333efd1b3e0007bf11b1ceb02bd05938678cd829002d51e1e73647af27aeaa53e7b404eb69d5bbbd647ef48a97c39b72a2adbb9691a59bba16221c05039d4a4fffb6102870ca1eaf5492ff2ba7736f2dec172f83fb52ad6e04270b8b7bafea796e82109a2489ad246ed16c360b1ad572465c4540f7388cb2075461be97f050d7e47ede032dc52e4e9dcaf43056db2a72f58f5ad64aef45d7c5483a4ebec56b5ddcd4d53097bb1bb6bbf46fd3519a0f6f868789efc5039c09ede626c26ad130cab9fe3c13bf60a0142fc3c87638390f62e34d23c5978b10289395de8ad08a1088f33667358de2ae5941c73a7552d7140aa1c19e0656f85ed45d2f3129563d3e956de01049c91921603e92fb5609439e6a0f3b908a151ddb9ebd4fb57f792e62be1cd31389f1f9bc42153aca111c3b4a72b7741bc9cafcc309d7dab8e2218d767fd48eca3cfb7fbc3039f71416c3837a129c3661adaa21c91707c961778b90200b00e9bd9325a4b51e6a30d9aa2e397c72ffa884d9b209d3489e90164239c014f5eff75766920d1fafd0e161639a36c2723be5a1563484cf733f0bf34f14c7bf5a5a425df6c16a1680067a014a7ed23b29a4b92bf4c1b0fe28fb14036d4640e652751c57013f4ed7f955229e3f8ee9f159b829865493d23946198859aebba9c7ffc56959771f0eb7ae45bc559ade0c5a72a1ed7c05db3a74957ca5e90398f37bde15f7764e75978b4bca5dbf2bd7c00472a36e915199d1369458e72bf92dbce77a5e1c2535082a9d57efd4e9351aa8bc72b8401120efaf520395a0ab0c3a20a2ce71d64fe02ffec849f00bb15f69f9a77286385e65dc50735e1894fddcf61b05346ab84398e205c2996462cfd0975f5b0c8df6b69fe8109138d65570345838ffb215a7bd52498197940aed2cfe62017b7227204836c1ef1830ec1c014c9d8016d75dd72b1d29d169aa3c429043c94c8a728dcf6511d591481b11a0401de68924480cd63a0f30f10b37ee35d6043af81769065ea555aff1f698cb6280afb6d418a8096abd232090b074d2e4f86e70f7c0193e66463f7fe2289860acc9baa6d3fb8fd79b0b37a0bf9c028c2a86e0f1e10b72cff228ab338fdfd76c41d1345397816bd2adfa43331414642d40a951acf476721eb20d53f67f07c2b670135f5dd39a40340e851c5a7f2fa8392b14ad77f27e05ef05a691b4fb7df5e18432a72ad2d6aef34ceffc63908ee2e429678388402572a557401aa4a072a087e90e20165f7fc3216da1d986a440c51bf30aabe87b3862183213ce287428c4d4e69d301535154e1f1dec5bde43e9497a930bcd788d2972ab2ef19de82b8ef587a2b98f4eaf9ecab7d8d4bfd56304ce1e736cc6ee19e20ad11aa06dca6ae0050de89ec2d32e5f4f2c7b762f5279adf759c95ac265ebb86d9dbea57c8808be4ddefbb086a09a80817beab841070d2a275dd0d5780fe2f4724ecd47763dd003ab6a0856002b02bc3c4f391a2ab5be99a4a65ee903169c3103b3769690b0b31b66e1c8a0c97de16a23745334496f6e10d18284c8b1be46ab7200246185d2e4201672f633039d84e942cb9d78a9d839b1a1cd3b675555472e726ffecdeaaec06acab6af3ea853a9a60147bd88d50cd920e92571fc3821d31b323125c036787b249d2f2ef03401dabb08e0144562bef5db50e1707bba11168072955bc2f9ac56c33ced9115951aa93c8eb66d44885efdd6331e38e9d4239be0725d360752d4de56c73a86bfcc649b3c700d516875d5dd06866d6c4100232dbc1c688418562ad7e4fa1978c2bda69d998b3679e19b508898276f6c2e98d8f97b42cf1181f2c31987e4e54839abb7746cf166a27dcf093d412e6eea3facedab1672ae83c870de0296a1a3e0a0c618af742813a3d914361e2fc77249f18b792fea72f95147c847064ea7ad1923b410904bcabaccab51e5c4f7378279903ca7ce2671fb26467d910bfb001ca88512f6ca9ff0ac4c96a83dc59d341a0080f04fa2df729d7091f721f30c463f1b795c55e0ad2f5cdfddebcecd59da975dc12bb792c772594f7915f0c1bee4ce3fe60c347fc2eeacd1c1bcb180de24808371e97a99ca1dd6812b6c334fcfdc530e8deb0f60bdf12a29ecb1e2d93c9313f5df1ae9a5d072fdbc3b81b15c4caec1d94d42fa381d02a27d4743d139cd221c4a34b969827655df10093d957d2292d1cafe72e80f874e50660a6b3aad8d632c7b54f7eb2492579d9a27e2d13ddfca0d0a834eafbe6bb401f130e6026c13fba21f21f1802389720a06e9cc638b158de06355347095806b14894d5432aa983edc20721320dbc367a700bb581ebb52e47a4d36f5165a225c3b532474b7ced915b996fcd0fdd09b0176c74cf740c755880d828cb4ef3224f99c38f02cadcb915e022f688347dff17297e1c93e0eb67930465958fceb892b1e711d74c9b178c08ba0b8da923b81a8720c4690b2357078105fb049bb77eca6bb231b9ca398a2a9bd619e2e8dfc4c30445945ee1a3d39e83dfa17bdf286ded8ac509d357dd646e1aa3b78a945083b6d72f2c478ac4e4ca6fdcf5e11a5d54769e9b20e3652e7b4dbf4b284f1a4c6a6404bc3f5248da336fe6d28413644fe01deec7e7df2ea8e61603cc64a963d0ecc157208a0bf1558806f71edc682f7483f29540a8dd343b886dda7239611acdda9be726cfe66a0b72acc87a068891efcfa7da87c61d6dd3190dfb31e268b51c3742e7214de69f757c1ccd6e037f096ab4751fc2391f6e309629c68901262414be16f72987755490b9d7386372b708b7a429db2124b72a0af3338d95c2e8de47effcf727dcd020746cba6e8084b24e22958912fdcee71c9de3717afe7b3da16e1bdbe72d4966bb0a12e5b362bfb9a1d22d94b4466bfa8b9c08e269ac3e4ee7fc0438a720e234a27f4bdf8c530bc566132c680e4d2d863a4bf0e97512425d710a5745e72c2c145d2dd2f6c96d82029dd482990ee82e72290909896f7e16cead747591064b360ecd6874aef82cd864e6a95970674f458f4d7532b7fa52db14bc1fab84770ac0f75a033184cde5c0bcb7d03161e669342b3e22747b4110242bac4220d02420a51b559aafabee54321e3f860a6479fb42169ab7e52099377c132224f35c60f755e0a518fc6417671d5bf403a0e7ced2c315a78bfe6344f1f6fea661568ec6ad2fa0542218e344042b5c75e8ea7c1ce6c33c6c35d6995a79d2917d6ee8e2972ab2d960b9b2ddd5531b99e05a8bfe03b5c12ad478f1d0eab9a12ab7f386db17228a97061383018c7a93cd425a8b49660f4b2b1d0b7f9dce66b7af7d4ce06ae0920bee736efa7867c3b14d4bbc857f083d738f86e627f90acc2090bb74bbd57353cd31850a27b41b2b39e4e5be95e2f00f26f7de8ac450446a7eb4512d22699063b8fa1e5d1728d06bf3eb71b09395589ee75403417ec89f78b247a6f9a1b96463c0168f5ed46f39759e3c22b1bd1613077991409278b740d020a33e09175c844cd41db50816fef4a8672d966002d50fb7479495db01e49d27fad131f69ac5072e3547c6988f8cd6c9e956cf2cf92015e891a64a3a8cc1592981ce209a7564972bd39923f7642c31168aed799ae7e9083ecae0bbbcbcc7da53cabd819e573597257dbc022a1c559ed62ac771bb49812861461db60a5bfc660b940b745d7d7d472cb6e64d64cd283ff20c5d7b3bf347d7a3749280038f5a6dd9ca74b7d624d2e4d36624b402351b70162251e738cdfcd6ea3693ead9be284e5403a1609b5fde74cb765aec3c8f9514eb53db509e4fc18e11a6dcfaf09170579c3b5268d99329d709c0b8aab276f8a355659900d1e002bb1b2e82d272c02d84e33e955a6c12746397be1b1c9b2f23bac877ca0651ba92eb0162c127f8653986af8efaf83f06fc724b52d136546269d55fed8912adb933f0f4375e621b42160165f929688fc310d6081b84577c8b2cfbc4ed2cd2337324b33df485a923cb09f706ca1bc1212761172a52c15e8a9ec8486558b4af8b23136b04dd6c00fe697dfd59a0b156b48b47f2b7db11728f01925e820ceba666cfb8f097dc994c851cb2f8c3e29769893138f5ce0555b4f7351a62957c4c627aabe986e52aa8079552739fbf96b7225375b6e64bc7d7d7b878caa9c777ad3414089d81369c91593923976f66aabcbdf2a11a072036ee0b726e0ef03fd14f1e3f260317142ca60cffce66964aa78434894f1ce7252afea105f0c3788d7c5711d2f75422717124f2913bf70c7ae9014b9397322170a5278ba3967c837f0897415dee63429660fcfbc1319b38813b19afd8abb6912f7083a732a7ab6744b78ce9ebaa0cd0e87edca511dbeb450568656f65a6a7f2dee80d454a2f301bca980d0ee968a835571668e9c5b5f1b02425a0fe182680e72689c6f917bfda17266c1178267df4e169c5c88e1fbc765578a7ba2b7a5e5c072c7e9c4c4c0636b9f6b381bbc74dacd68c62ce0a5c17f18fdf470962fdd537b7205a2633e33568a4084153cee14e5f938f17baeb18b790f05b36224eedc3fcf426339e1e44b79bde5d9a16c73b6d374542e760ac71cb57a5b959ac11bfb91ab02111e7eaa99c7b9d094d3475f9281844fbaa9580c2ead45108c63289c42745d5a65643a1ec695d4cdd27b2448872901a76e06af1a85f3b81a343b2e8309016372bb22d1c404b266529d2d7cb81c46a0fe8211cdf326111eeb870420e02409ef5fb68da17256506ef0072e1a3cfe1587b2dfbbd97289ce06800d20cf4ef1fc9f7232823a54076bc5fbca810745cdaf50993fc2d6a10d6fff947df7ccd9c3079228e5bea026a81d7a08ba5b0ab75034af9bcdd8fb6a1aae1c9ac561a8cf6f32787268c95c1a580e175b66bd2ebb6b84e9242a7da75a02a389c7116d5c2275d60114890c0392dd3c12a465df1618d783802a4b63a1ccb3ec33404318558545b4a366302ab5441f1444bb32d71895a08d1e5f39fb470dd95935a73a17395d97ce0e729d44694abdbd35a5f133ac5120dca9f5e39d8cbda1adabb1cbedac2222db5572d055beb8ce4a1f08d5f2346406f4d38c29bf7f75634ba5d414d7ebb913dd87724622269256b899c29330fe45ed3776fb06372ff979ced368f6b066a83cbb8225373b2f2b94c50ddac13ca01da9f933611baf3ed920402d2f812b6e91dc42b61288421c6da64049b78eb85587a741d1ca0de553c40e49fd5f5691533e1e12987232a5cbe42e4aaa37a5eb5c435ba2c9427823978755c86addd0663b127b7bf96816d18e85486b0463c7b3b43e965b9fb3521815d714d7eb434f8a7be39835a3722f72327698eb7957179591e6f676de27f831d214de9deba0cb83df2aeefbf472f54be029a2d5e38b1e7d8484d113773dca05c548b665bc4b2854dea59b558f72c94c4f3bd829360b52d270cc3821d981977bdb4d032335637a83842d5a664b51be9544ad1c5b3456fd88a4920de40fc84354c5b8ad96dd32d0285b5277dd09726057784ac241a2ef246a24662d2e5dd90d45e39bca856ca38fcb8075064a776905f044f1dc42c2c6dbfd3c0cfab0d1bf3a8ad3d7ac856c0aefed49e9bbf8c021b8ed5c147fae857f741ece99b690839b2fa418f1385421f456052a6007d91f7282f2b1ca69f0538f56c18f904c12c36d1d49fd07a3d3bc1183144c5c272ef86356e5d3bb5fec03692ea67c46ed800a58e67d535580a5214bfd124f509c12fb363c4181b2399e3db4971960ce321d6a0c0f7301639a4825e14afc628166ce37729e3a330d8aa14c1119d6eba786b2ebecfe592b3d3279e93e15a7788657fbca722680fba15e442033bab31f9ce40f9077dbfb9d7899f6c83be8861a187b71ad720e58a7d5c26e3272571f681d4ea5a360cba45b588162605abc68cf095663fb401e46142f395fd90d0514c673dfe28c30e77fb48388ea9732dc38896f4ffa7656409a86c7b95ccd62fe66d5e7b906a4ff2ebe8a82dc63df923e4f3bbe67004e728111c573558c64db785a1a2ffb6282cd9e0cbb3644f0a507101319e0457635723ed7fcebfdd3cfa4904ad66c3a8c3738efb686a8cf75f9ae8d1385f4480df2724220b99aa41435c13367127038b38ace5cc80dc468f499af3c6ae621bda0403c8832e446a28a98d48639d990a893382bdda24fcc80dda0e3e6deae3dd17f184ebd2f788048ceda733c8a848cb6926cbe11eeb5209a90bd7c49ed2c9e6006e872fedbfa7bd9d7bf4950f200db73ebfdf4235eb684eb6d649e32dd6bd06c73d1323a44965d856e45080fb3560b7f09425a334e20005336e6e76473526c0d28244ad915d789a6144079103fc34fc2d53afd16fb9df014bb71e1e8276943f9b1b37297680792072475a80c01bcd33830acc250153c4e67e7e7f5b95c23fb0293fd0067fdc813347c7c7cef48391d8fe8c448be74acc88cbf10c24bf0d5839b577605c5349bc6fb9e6c0f1388bf7e5ae316881bb3eca529875fb24082a16dea1300474ab8702f825bda99978900c4b1c4bb3af879d89178f6c809944fbf97f1b43b4fc0c518960bee1d8d320186cdb18622eac11626f4b24ef0d2d8f2d82398f4f1721fb19047cd1d23767efb926393972edfbf62be674bdcbc3213fe278c34769e3af740fbd5705460c49a14f4f3e4525277ee415bb59df645b49d5f7116d8637723c15648a802568562fb69c45c6ab59fa8c5eddfd19906bd64dd066193067e89199bfb7c8a57aa5a0705c657bd88d0caa0a89bd3e17812ea44c940a8ff6b954f727f16d5341c4616b443b38ebc1b71843289ce2f5b697360e54cf7e86b3c21bf04c90310baea2384abf6961e2981ed14a015ef896f1cf51383bddad0be2d2e3f29d197a14f60c26a05e021f2797ec2396b1f8b450db2642d4035626a66649fa05859fa87d74ffecbd30ca18c10133c63df7bbb1d8f228d71b1b1d5a2b65cce27256d36b436d7828da5c0099e7f6bbd62fdea3509b76c1c0ecf20a4ed41e74cbc721dfd9b9b61e7ce86819768f28064212f38b51a3bdfb240c6608afbef287fa872895052f65fe48ac7123b1f8516ad8ee89ac5d59f3ce653091d09cfad96b82b4cb99b814ee1a0161278220f835a67d9fe7ad1c77a485b0c0f07c31ada9eb702724474a8da2cd97a8726c092b248044993255abeccce0cd7b54c605d0d2ad555729e05921540177c7dfb602fc5f3df5bcfa43e98baddb281f6c28d6279fee94372248ad92069897ead0622c1fff04b1fa2e38435aa210d49c8197a2ef94019ae729db131626242a1324c52a04f7b3b456702ece07fb81a80e038cd3b6dec952e21fa53bfe7fd7cfda5105b22c25056a7bd078e2d8f31a162c2c4dafa1c7da7c872a81c7789e3751122613628a9a897ba18a77c553f62e0145d1ccf0a89a038d172218fc4096180c7aa5c9d6d3eb32640441880baf219b3eb89dc46107377c52f7252737bedb3e9d6ba9e7561ed2ccf81c0d39c44b5fb7bc31478195ee17ff8714f45ee146d5559accaf1ed32712d2de0d7dc4bf2271f4db16988dfba26a518f1728723c8380d20c326d2a8184a4a1ae503136f155af52d399d30e490a16199976998cc7600f931e995a872ddf72d6b4cdeadd6b9340f5c4e51cfaf3f9b89e7b472d2e607a74749b2db05befa33da3235d080bb015e479a1dea7627a50a03e803725a9fd6bc3bc41f814dd5630c9d24609c881f3ce5df5a0aaa321fd4e2dd8dc43197f829ddf8a23ee4bd96fdfe6cd36ccfb733f0a874a2a721013c26fcafde4969275087a797037c89e281a59db7a923b2cda8e3e5852b4a444d8c006dd67e265cff834bdb8f890b64448364821f6b5fbc08d660eadaa4af0da02b5ac82e948772c69eaba60b88908698981d7c5554c4688164caa4c58c5197574ac181f9ac60724a30369292d9b7b599b09269d17b76649f161df271895d26f0f0afa4585dae72c3d5be93ab7bf8c3d79bc2b43e3941d571207a3d9b7ffc3f4de4429836f08c72359eed4911375e15bcd881b903355bdc2abae591872f39827bdec958e0ffa0619a76b319f26a605aa7b23c1922c79258ef6b9a6eee65adcff4a7afa38ddacb72bfff24ed0d677d321c3964830a489142c9ae870c78142a56c239fe59d8232972525c6c15769f3ec047568e44ed54c84475c55470ff129a1c720fb2d1e124ef013181ffc1a524bbe3ba14929cf9c02d197681b13dffdf0cbbb96c39d95e160172059f5c3de995f2815996063e79ab642b1f559b5134d6a357e3c36974fff491494622a78d5d274da0b29d144580c75e395cd895f95d69110ad34000f5206bd93e8b115de5358ecd96099c30d72423c9387fefc8551f78300d9518138005cddb721b422eeedbde44a58b58dc871d8361c11c882902c08bf45a2208e11c00f7f93a21ff40a94f5df8739daadd2c86c8303c8376457417f9b5890e105363548231729a4d93201b06f3c51828393232dfd9dc16b8a7b70db7a4c36a3a4863fd999d72e8fd379771c3ba434f78b79c449095cd3c9cd39b46665b6c505df7d10262c072597f11f45ffc34cb537a27c649940116117239516ee7e77186afa6acd7742272b1d937eb66fb07381d1e2c7c1500b940f33c7856f86b1f834ca5e8c02d4ed772fc771c1c2dc1d7e1646249c35e9f2df79300321333b725aaa11439c92b0e557280eadea7246ff488875270a824466fd1104128ceaf8397dd679e24a1e391177264b5371ca93cb5b71da28ae9d088fd53b31ff1523f3e8e5c33a493f35f09ce47779698a72f82d402d516af2e7e29014653d3232613911da59665c6d248c9d27205b49db6235a25752b299b882f5a9de7d7c71e739f8c06e325a4207a575651723f78d809c42441348f8d1c2b56449522553709a66d7f482a2de2695f379dee725e17e05f19304c64df271aabd58de55d2be6b3086e9ce6fffd66bd3ce72a3572f3686f13ca7731ca9ebbca70cba578ea8b089d641fd9ae00e3814faea3d5491bd0a8194c39a023e66e27f05a97a20b4c392ab5079c16544be1c5a9d466255760a45305206ad7e2b8eafdcc0c92d412a9d630250edbe559b1bc85258531ca9572730e5e3981f12e5a9318010878ef7032f123b8d5e07ec567349d688060556372b7d47b9490e2262f6e64d7dc6d9e70d817ec11f6c9869aa5ed14bf3d17880c720a4ffd353773002a0d7b65b92fc349eda459c3c125dc98b245fef234b36cca3f34c2e69c50e88967fa06fb41b15ad6edbb0a102b13d748da2d037e7ee6b2b7127f9d7ea85196493d87af64e4116cd256324dc3a8eb6f98bd016cc6582438fa728d9cc3123b95a24ea639598613fc684c2ccb2f4ca0ba26a92e6922d9271baa727104980e715d3529e818c7bd7ff6e41a3dee660b01e93bcba88fb85e130b723e829a9ddf70798c089b70766ee07708fe9756791d6e7edf61dc3ffcb0fa6927722ebfd420b50d22fdfdb1797a0283ef85684a1c52c97ba47196056dc4ac65d4656fc5c8df95d6a6c512eff4e76ad8d85d60213d48723fac7cde223a5f33b2ba1c1fe4568abb4ded01637f5338a550d1c100472502e7bccf734b4ac5786c0bb537b1793b1b29ab7f32bbbe38e0fd68541bf1c0c06bd85c8af7b0fe5aac7d6f1f72f8dbd794614998d78356a87e61695d365c1a49c7e6b3cf85c5a93b002c54ba39d2ed53f8bf8c6d1ca5dc88b596e1a3c74708893118537615d7ccfaba6e7bbb723af5a9b8092c7e41ed29af379262a2e3199f92f147947f4b854b332d50f055050c9d9055dbee6b6ca40f25ea8af186303fc8b371c5c1ee4695b3f26602472836d61c6961b2c09300ecf741bdf720942fdbfda3802d86f342ef29c05fc514ee721650531452b537c88ef53a3491e2701185f47774dafad68a6d5a1cb4dbd9c5721f85fef854823a6358ef2ba238e70d56d013bbcef4274682ed627085a7b7ba40780ec8fd09832119512d974bd9bd04788edc89772857001e060bd45349b1d872632dcf91bb980655bd709d3f2bd55874da5bbd6982236539e1678e767d80c76dcabc22109f4bfc8e86c829f25b5b7db2da9a1fa3d58f475bf11fddbc529ff47295a935c5da92e4e5f77093e6a9134a1cf89293fe2acea386a3282298db799e3cc6b7d0a4ced87736671c4011f6e6189f41e39fc25d8e5401eb1e33402394e572d86cceb5f619e478ad22ed23aaee5f571a6beed2884e64a1dd61202b93507c72e8969f2f2652b4d74faaaea776fc8a10051c8792045ffef26660a47e493e4372f1c04f8fb394c89172a722d88f24a79195c39ad7e91b008954bb69c7d366966a69e56f5c80effee1bc58067abbbe3e63d825e7c7902021cfb82d0be2563c5407f1e072b83ff12a1a5bdb3362d55a9ae1122f5c32107b275bb097a6e64dddc33a375d2efe17674fe650b123b3e35e702f60d85f45aac1cddb8be612535eb39a70b42c7aeafa30c81c734cfea7451cd9b9b9a558aa5517b72a5c50aefde0378f72ab545626d18c3d715c06e875e05a7692d1f536b3f3e095eb5a213d008b6900729ec905c968a6417700eaf859f43fb131379584e2ed3a7acff494aa8c72c3a80b87a7c192bd9537126c1e7b00a8418601af2e4732b8e36576bdbdc2be416e226f71223a4eabd78d1b0b243992a4214440f8186c2f4c1d31755136bffa686bf11759480fa3879eace7518b87fc09b21cca46930740c94c721e8805dfdaf33ea27258b8280427de6c025b3deeaf23e0fb503289709387f2e7422f32bdbb6b51fb33e18f2d081ba4109c0cc7f952d075c7ed28b29ca4df04bc780ee090b5174b382071ed61847a8ee355b6f3afca78e65bf5768519e224fe07254886134d041d1b05f1ce2ceff46eaa7711bbb6a48c5cfc1e389f087cb1f4982229f6b80b84c27872213ca2871031ed5ab955e65475a0535debf3c7cc656f37b9ad1fa712c959d272097b9aca06fea9ae6beee9343083897cb5e8f60195a2b5249cc1a0b1d78ac57278ed4670216f1e9cb90526f6497ca907ae1d9923352ee3acab8ee0f562309572ba81a56bef14a9fffa228a433f05b6272eff8b55d837831a95ba2ae6aa026b725417988af36ae5dfedb262796393d0455183b66d47c832fdba0c97f71800a472cec674461099af6b41c87ea0b5822cdf22f92f3768b6337f43373066b96fcb56e78063ee8fb5997e904abb4fb8051713fe30c46f4c0eb3a5dd0158ebf1a52f720c253cb2c6c3a1e9026dead11f674b66e419907959e3f111593fae8eb0dc3e72a924fdd16a6c5ea71f80542b9dfc699b4b299022ef5caf02736ed178cb419772e6dd293ef4fb7652aa05c03fe17a2e8b44158f07a4c76904f0d096a91d81831569fa49b68d9e3afb0c4d7bd08efe66d796d630b2cfbb0a5dddc3cab6a4a9bb72ff194d6b8be7371f886fa990f5f21fb0e2da675ff1690d2f3c6c958c2fc5aa32bd91589399dc51b5aec5d97f97ec104e4d472788413d75dbfcfbb0ce9505ba72fca2be8d0862ad8043f7b6bfbf64fbaa88856d9233198e5aa020609188c9c87209bd6aea848c6d1aa92a74595216f57667306aec395eea0e74f33e3e6ee1ac72d9c09f952cdc0fff38b2ebbc6bbb116abda14b06a38b05454d364a432ef41c123bbc86481eff042dd3813e5dfb5d01062c8ca945e0224c93f9fc6117b9bb7c6acceadf5befd7d1d72e611715a5921356d398b17ca5c6155adabc5daba08801729aa6f9275c27dabecab059687ea5e5f71f9efdaf736cdea2ae2e820d1c992072477b7d5c1c4755a3812c1bdafc7150610dd57f8bd1fbc5d0f7f62d5fa1384719e285d0a14bb064e55183bc173e0934c5cce567dffb0640180af23bc25c17e73894c5f0cdb9fc73aca37667fdb38154ddba7b5f259fc2c3008be44a1eb1fe4472968784a83346966ad3bdf412be58a99467892a8bb0470ee51fbba5a911dd1f7239cc24dda4e9763712091a93da7fbed03c8fa0bb0d3e508d6293e2472937fd5231d65c6f69e2c26b63a7b98c94eb6897ba9d862e7bae6fb9e6097f6ed9f1a920209a2f0a63763ab54f08a13c9d356e85a494591aa9cdbc5bc1eb30c7e7ecb6724dde86884493064baaa88a34c1a692266134075e930301d3592b57ea49c7a755f25538635b4003092c688f3de67c2f59854b83b4332f28130f779fb3f889de4ac6efa86141a07b04255a9e62db3c372a3cd19d09171bd093ecfcf15de64d23726caabdedcf4bc0806219546ad8c4161d69a9760dcdab41b57236a30645c62964c1ddb1e6675cc0fa9fd241ba766aa9bf624e0a42d015d22b85538e22f481ec72f08a465027d0a3306700cdcd7b34ce98bcd95a94002281a252b5228369bcb47221bfb555605a118565c3c83414c13ef8fbb44e67f8293962a4940b45ba70157205436098c04a3349ad05e91e9e92ae2a90909ebc28de3f7d58f99de6cf4a2321d89b18adb51c5469d6a60f1789406a3e1968dc16ddedbf165c5fbfe7f487a772d07c0f8a1e24cc007bca0270d30961aadaca37278d7872e7bb18110f96eb0a34edb640f9224f6a280e080e42c8963d4ca8510e093767429e9f24ed436fa0d472462692146100460dc0f270a10daaae9875869b85610847cbeb9796c5fbd5743ff37a95cb9cf762bcdb6e1fd9941a6171f3d43f7aad436e9ac7b263e10a8b0f726fe8e8587ed5f3d042f664d76da70a2b010bed60c471bc08a4e1e683b9e26d63079c5b1a85cb99be9e23bbc440834179b44d32d8dd66321c94677c064585bd72b9c7a9440d37aaccc99f538b2cf04c3aeef035a5a3f1ffb093a4e75b9b36a2725c1387e7779b8a5bf6fda2dc8fb22842523ac2c3715172d1ac7d41f7282e0637f90f9e3d093b6e022bff7f9ae7e7e2b81ef6e4898662d449d300e3c76a298672025adefc7f914bc08e4eb8a668d1ce3934356e2ad9acf5896e667cc203c70d61efc8e7646b7a7b72ada0159c6a9476a17a2911512a1ea8611f0ff863cf824b04fd6ad6e9dfa39d391678c7b21b514aa979f02c317859a45ac43957400e9c4f2544d4af5051ef2adfeb97eaff7f551bb16779afc8978f3461e90defab9748cc0155308f91b8679f74634f9a2f4ec9aa7d36891e18e130f5a8f27647ff56e6bd6638e55537fe0732086bc727c5e51d9374c6a65a03833b9096edea0336e9091f2ea930578d3a1c6e6e5cfa2c7ec16dd5857f65f1cdd32ec4668bad6557d833d117f7e5eea594db60182439d87bfc05832ced48dd2480bcb4315184d6ff74f038727a6990d860652e1abce2dac2529062ac163ff25ae86cd3212248e7eee12f7f725d3033df4875f9cd9aa03f2b6faf2746ff2abb0c2cfc3c2e7d75512bedfcd8725a783cd755fea1f873496c8770447791e7d8869ac9329647cbacc281d204717260f9990311a19dc2228d6ca27d15df23d8eea440bbc96ad488cda55bb9830f722addcc7ec638a6a77fbd81f2aaf9520c5fe8e36498686579405b2e0797070072ef4bd8395cc169724ee118322d17fc768eae99155abadf9bfe9cf0b52ffb80526ea12cce114039de1c2c349746788ae7079485108dbd97a3fc7919de47ba00014f815ba6927b5f7b784b5ec8b4f8302303143ba6e0348970d130676d94d8d672f78e3663b22ec36cbb003f13e17e821bcf53e909e50993b29a183be257934f5a07f0085d645c43044d18ba0bef557e323e8cfad8c8521991e43e5af4604a267269c2609d608af4b3523b8db2c2f2e762f6494a0cda523f3aabbf8986154cb8724324ed6f56e5a2eea67c5c805b08dd1ac0cabecece6f783ca65a705f7ea401052dbceb5145c40d911e290ad1646967c63a7991a01452b16b218776ad89ffa81cefb8f4b27acfcf3f7737693110e45606963b7b853b8e1dbb6fda9b5de1871958daf0c6640570775d1878a9960e0606d19595ff2a37ca76119e041a4903841c72911e35e6842163cb5a37994ada70c21bf384967609414a7e7980dac346106372def4fca6c5626a0e928bf852b047a4967d612d2c62162af53abfedf94b0775724f89e570dbb9d9e93b84e1e3a41733c55dd02daca74add39c2ca4f7ea04a3672ad163e9bffc844691b932eed67e704319541cf48a191ef69d77be0b0c1f7d10d3cf9669864309095c1731b993cc675268f8d3e9e706864180ceaee4e6fa0a55fdf15462af67cc97686b92417a83417cdd72b48547708f3bb4f3115409bd28d2a0134592d62e36f084ecc34249c01378afc05f8dabd78836a82638acb41ed79720fde322fd38f051a74612ae60293e2bede631fc744ada7446ed71c4332b51b729f34a4ef98574e91524a2336cf6217fb587435df8b7f330136d7021dc45d1e5c2bd74487a96e709b1a9a5b94c7f0ba2a69a790e07d8d90596133b56106eb8272f5723da90528ea3ff31c30b2422438150e6f6511401a77b121544c573d128756538853816b47bddf685de7d191f153228970d12db98d1ff406e3ab6919bed20be0761535f4e299943a37fe6770219a28031818054ee97a13979162dd3c46e3725e7ad3f98b2ccae0b7a15a422d64bdf37e68f67d865faedac52b38481112970a390ae7788f28ac4f3b036a78cd100bdb7fc6003729fa972b7456d334e3429b2236b9e602cda494bd4dd7b7b915b787e340a776ae6cb59c218233ccaac9674b72412105e1b7c151d11e7d07500b8679a947eda18716ba36253e0dfe44e9ee0a7203ef1daad85f1a3f82003d8f6153ff395822c000e34444835d1fbb8dbf228c018fbc77f61a5ae745c5173c40dfe98abdd76de200e2cceea5c5903791888d04609b88e682faa354aef72f92a1693beb3c034a51463894283c5c9538337339a85f9c2dac052d6dbc5455f87e4224ff0a94dbf822969d005043f199b6e404845572e6597685948c1d2893737e0d6016d48f04000f28cc8c7107646d0e5ba20e2e42512fce4b1887878f1a8800bed38348b58aaa3cf5c146c45f16f714a1dfd09372f56958ca996fd320c83cc66f03f3aa8bc636541b1e2acb9d97448fbebc4c5972b8564bba3e2c3601991a0d20215d0e79ba6b63eb194e58b8245c7aae573620723066b4e880ccdec573ff2bed9282929bd4696118e61890c8041b002fa97d8833a083cde78554799672f7d8714b4ab50c08a3b0f9e02363843e488cdd7869c572d9a057d68c69dcc47304653d30757b4b52de3df41acdfb0757291b96d2216c6908716ef0344e0887157b3d4e8904f7c234be196d88ed381810904d47bd3e621901a4a9d1155a0c095925ffb50f9251b971905b0a446383abd28415285232e0724e46aed2c9c5d82be6a35fe00aa8663f10b6a904766f32be6039b066ffa5116c78ed1f306946735b052190028d22bc96952c51918c96ea6f4290545f90a23371f3c0234d87b36d51752a6470fb57938d01f5f34f91609de31d441572ca13ab7224da5d33d641a3e7a79d87706dac4d6240e987d6f6cf32fb93f47d3e14e247722cfbd9110cf76a59d5a39e2a43d3a3f21825d6042437ae6dedde2fb6ea7dc3729b810f8fa4af49ba11fe643dcb3a45a933f79c4ae5c03db93074b2a972f7a772950efb8b5124c01ecc4c055280b05fe5a86424205cedf6c4b25a67b446ac790656fd70ec1f13a12873182966d6989c9954e7912c94ab39da04d1ed58abf27b5d48205675a5128c9b3b2393cc971054525581d026ba01e701d2f6f3477df45571b20b9bbf4151e35d962a6421f1ee3ebffed4bc70d8ac1c1d41099a251c320537bb0555bd469cb413fcbcc993a93e752db490c696c5727918964f7cfb332fe772b75f76eadf35416743e921f6f7f303180d023dcab09d05869f13f4b5b55af47257c7686c9396094e5ebbef607aa5540d91706c606eba084258aee5bcafcb3e72a95d59cb866175002badf7c723520048210ea4ec0da948dd3c0ee6085d2e00721a0e7d219acb16f51eb7dbee57826eac8766ce582b65504d1c201510e12475728a8d9b3bef2ae6041c83b1ca9e552d10cf113190a964818895464074f1312a444900fde49c693b4d999de7159bf0bed2f38e6420f896a436a970a7c5353616718fc69c86f67316942f695d75c80ab99ae70e88cbc5b9470fdeea5081eef977722767394252658efdb57b1d0abea6d57aed69782a807ff590d20b8814cead8f6f9f82240e849ddcd3df0c3949cc1576c5a737395f81dea642d481ba14d3bcaa359415722b14e298cae34928b75bdf00eb1e026988bc9a31eb453936adf7c5d172325a54ac4dbc08ce2af66494034d5f22a35da6071d57b37b1cadba7278c14f159c9f68070dd5015f972dd2c8756616f3af397397f73c84c8f02358bd8c0423516df2df3eeb6d9a0382e065bf726db771517b55d1bf96ab4a8740154bf33a82721c1bae055c1cc41767ffeafe8a89bf4339bba72cb46ceda494a401d908bf2272cbc3ab3cc2d115cee474f3573af342beea6353e2713d253c30b5a1bf5a8f0f3852b064dbc7d98dd34e3f81efb9114368cdd15f6d97055a73f4c3a74f780a7f7270966409a5808ee719d898b7ac767976ec9156386b69d3e788cc40b82e699c7293575ffa79ab36df95c6f960610e2b115d301031e864593cd1ffc1e43e93782e9fadcf0b3dffb60c0d7ff4d9b385aed33e3ce72efd909462adee72057fd0107211d80f1e52ceb439595c72ffb63be75dae6de1f6de0d3d1982f8d10c4f7a0737c872c1d55e91faea8ebee7a6f44a7925fc2656e1f3565fdcbae4c654910410721e5ddbf0c225654f2b331cd459347e6c861ed0d407b68576eebf1deb28f18d26d724fca9c46ad06127e67202ccea26067e3a8f447efae8042dcf24c205a57772982f0b53065d19ab911c0e4956414c484f8c7cd7beb30105f6971909d10ca04eb73323bed785350286d46f0c97bb3e38b2c1db9683d49d49efd1e6e3e71cf572b5cd4556ee84fd91199528affdb330063c7a9dc354fd90e1ff26e230893b8a72f5ee2aaf0a83cb92a28c1228cfd8fb740e9fbd4daf7cbd0137b0b7041cbaf27229cd0f983c51270d13994ef4f620657d9336c2f8c2f9eb4427be381b930e967223e6bb4adc2d8c469936d22cadb347bd8320a4793b8bf7756ac8f657bcb95d06ec9a373f775709dd26427b6264df6885e426bf0018a3232588e903cc086e4040f7ab20c2bec18eb0248c8b0d7c63bc75a9e194bdd8763aa2265b6552a483532beb92ee310300516f7eebafb42c50d91eaa0d88cfeed6d6f32ec799244a1a690818359a27debd142de962586130be75d592fd90ce61ccc13048fc9d8b6cfac772eceb4c4897d3ec133ce4d9bacad9fcea1c27e3e9710b1a97eb23bab338154257b6040111fac78e8b08a2913b411605d32c4ba453cfb2d2361943f714a47c20725df6dd2d038856235a624764cfdc3adcafb1494891d90933b7383cded62d7d0532353b766a45626f4ee9339ea97721e5fc2e187daea7ba91c0aa03d8b6b7bd5bc887a93d95e4c17a69b229e25c0c417d8de9d37f14c7396f7476c53b15d28272cde544001a5e6f1ca4b70ba787873e32e51fdc2e3ed2eeb61432e60d29fb277294d3a738b0a21d15393eeb1692394926a2da1877b6a8385e388d5ed32e00476265bf89a8df50016e4920cd5f844b51aee79b1934c40bdb4846201ad5c7990d72e45b1d9d038eedcec971234fcb0ef5247d46ed90053057d9322df8771315af72224373670c749e3f0e1f33638b7925d63a7d39a9ff66cc01d9f8059a8d66d872175ac54b3cf604dd0ad63f35421e99cc0fefcb4bc087bb015f5d7425e31e155b3a26a38250b2f6613ec86bfcd106a690346004a8c612bec3be827dc6049ad7722ad5d550dfcb1139ee7b7d1986ddfe43d49d0b72cd2edf61c5d5f4095b849331bc1403d4f3f26b6ec0392b95348d6d1743a695ef525b0d39421125006d97ae7244f9ee51114f7276d6d0c66fd4c98cca4ef0de30e48563cc569e05d94fbcc072e1235b81e07a0b648c243a995d5119e5f764ba50652c63d5fa59c887e5c4db48bed794ab742d64d4d4ea551cc6d3e023f46b746f736f360daac8d45b818d2b43cbb8a77aebc6496244e5a694300d600bb3a8f998c2d3fcf524604daa3578e97217ba14387bd03824f18dcead38caa3d0f984df5b5e28897c30ccd1b861a2590575dfde5d39c5febeb78340e21447e38da40b15b021bee5a547b92ab8b0a314726b3c4d4df735475a9fa924a7b56e59684deb2fcb47427b65d7b340d87bdbc620136bc12eb9abd0dd0d032158983973936e1594f884be8bdee97b690650843f720241945d717f00c774aef4bc35928367d0722145e95cc5a522a98e8f50ffdc1973dba5da12a142b9c8d399c3a2760517da8af1b5c64e83559acfffe0ccafaa728aae3b22bcd7eb84e907cc946de40543de85616337765b3ea5ae27de94cb0372d6f82a513429bb659d7a4adafb245f859ccdd3be3bad5f4789c5cc9c5cd11c729967bf7489b8b8fdf620c8293cd66763e39a8f846b66d69ac5da172907d6137247551688b8e410fbb386cb3af0ef4ee08e71fce56ed663431393ba33122d20729a2f80a4f1896965b44be8ac7d6430b85894594e85ccfae537ecd907b307603a674d43856b4ce23963aaddf1a590eb9eeb84e97bf8eadb554707d3d36fa13f6d5cdc822173f4570328dee51582d82f91d372c9c11af486c15af69a2fd3534b72992a6aa3f514ee96071c9a05723e867c17e321f7fe162ceb3ca8c6381c473e4978b31f81eb707bd9abfcabcc5e68e680e3a012ca81bb59fdc4e15cbb5f53ee5db3b7f519b0b6ec489d116ca36f9206c37b92fe49bd0204fa245d4a22c34c4c727e6b6f17ba620ef192f4b62911d1d053ce4992b9087980c69a2a2a20aa65a3721a0503b7dc7781628525a0fbcba9ea969205d476b904f9c4a7b2dfa699bff916709e154cc3f69b7db81f3f8df9c59ac169747be219aa3dd5634a0b1249a70072755e3d35691c7ebf8a7374ae69c3653750b7a83429c81450c97c5adb32b16a7244bf940841f0cd6ff023f446dc2dc642c77ef6ad14d908a218039f43c89d31724e459ec45f4e3bc07a43b8950d31ddc3a7b3bb18028a199ba9fbd79f1167d6726b42c3abc05a87e033b016d7bb17863a879f8f97dde6d768a29c94b67c76d672209ecf0808375ac5c8fff9aceedebda0724908d69a93b9aa90bb4e5e8b4b2e7222bd1322b66b510c099dc1335217c6f01718e225725efb7606607c66c1b0854f50f18b77c78b5ebf184f13fcabd03378f235f41ad8c858e972f469411f95cb5cf0a97f3e6f67e971338bbf95f6053f8fad965e10efa45c5e49a2969d5fcf4b6e766bd3f8e2c7b7c0c870de54b0d866d98a51c0c2bbfe66b36fc59251662337723e71dc87f2316e281c3b5fe19627f8f80f2af6c95410281c98488a38af12df725257b39ce059e2b932673775c3e763a40146cd17075e29b2bbaf1dd84705ab719da7419df8361ba38e94300ed4591340c5d2809aa5d9b0bb17021c09241049727b3fc7eb4af4afd4102bc8abaea58ae6e8a56e268ca54277be7dd8eba143ea72a476f34f83a790ee79c9849089c72784932b3cc369b911900571bb472e3a84721b383fc388e88e953e7d0581d0e05f2b8ed536220794064aba728ab681583d7220dddda9f2b88c77a02915a8a3e6ac88001f83f69330d782c75dc127d5b3fe28cd9f47fe4a2b1ee05fc3912e567f7d7a6a5e2de5c5517503a8b5854c9e54d43ff7638631d2c2d825d7bed9142baa2fd8c20bc8983459fad46cc3143d5a696b72769804ee2f625eb7d23932ae406a1f947330340a9badcea6aa0dca31e601916f37c41a2b5656e6245b776a2857db03c9444e4ee42aaca9666b6a309833a45272a6f8a1824c8afdfedc8a8ddc1bc9221f82978869bfde18203d80369819e6cb721b69a694b3e51d8404f3b3c35aabc47ec143e47f0b79970cb5d0692e3dd910724fd53afcb89047c7ec841d43d2ce5dfa1bf0fc6248f374c68e2220952475d036614ba3428c6272d37d22c9b0bfb634a696a1cb18dfc89a871c997530a260874f52f0c98904659108fd8f295c52722dd6df47df8232844d3829b14e5924907272b04d07fe60b73469baf30014562e696ed7dd173061fc5064442c40609d2e0a72f16a488659ee1617cdcac8c9286cf593668f94587900baa721ef930849e2b9728bfcd57a97c97e290f6cfb53d0f8184236129af42bd5ad6e8b98b53bc684ef42e50b6dec8fc4c42adf13c22ff4eac40fd92b80f3270255b2fad3e6c4d98e8d426ae6ca43a545bb5cc14493fe1d42c0a7df137573364889e2c9ebac3102fe600dd71dd34229a16b153e4f836647d678a32557378e10e084cce872b436ae64f726298710e4142051889e83a73a06dbf928f3e358f9a9d2bed52fdf7ad0a84e695e7f0c795d6a037f29ddaed37bad280533f7f2e1d80cc18f648fd644298489fa7251376ee2a7a2d4f27663539c0a6f9011a45c4040da5f98ddad5a1b43837b1a12b1b936ae8c380f26664848812f38fac0a4a0116329950c9600c0b519f89a4972f216a4ff9a9e68f0ae57b68102c316de325762d701d20a7fd1e29c64ea7a710a4d08a06c604eb079522f073f608cf323138fda6eaf376e0fab332ec894f87a63f7acb32170fd3bd6de52be4965be9c6c0fee7361c3750442533d2e754d50205f48716285a6d3443aa733e34577da36b22888734cc2b5a87e06b1542284556d726148760becec73bf04cdae7141e66f6df64853201a0ae2904d948946808b5972caebff8adaecdafefcf7046f32c89821214ee15038fc3ab59fc93eccbc05ec12523666aeb1097d42c79cb0fc59a2a0150ff14934ec282de72e80038d47a25272f51bd3ca2f1e76989160ac37e50f3fcf569859fafe3a31ad2530638cc177767247d751a562def982e7c748aece196df498b007f4ae93f22ad77007e7069bae4ba1addc8e0bb9a8403b3d674119aae8a8040efd44a0a421e6f6e6404b4825577223e6b32eb1c219f41110b13dde76ce9a402d7dbb80f66f3672ad6003e0317c72b29ae4b028fc02b14ceb0035365f5d07ae502c49f4c316a0b12da60b33dc034ac821ff004dd1ad6f027d8c0283e2c1249ffa0a165e5bdb232d192d52e11755729657d002fc2948d2766d0165ce0dc91b6136bc3b69d36095de2e690450813b5ed64222f1a74b1da79b769d29ccfdbaeb3cc5c44c4a8950a22f9daf10e5b63172cf9ea9e959bef599d4f45b1b32e064437dec3c5b844a45011001255a7d154f721e55a8eeb45b41d4b2ab935c0e73377ff8a87f2091d8e1b5d438045a3165cb535640662fd31119bdf2bb197566e8d4f733e1f6c84c927bca355b5bcc319c0b140a47e44661544766057ab7179eece639182a5ee5cd7559591a9fb58de9af7551301c4b75894e133a95f688c3d941cea245f5941fc185cd46ec6ed0022e11de5cfaf5187ec5876fff11c415a2243de630dfc4e5e58564723f1e062224d5bdcd727f89c41f12267e56ba3721ee660966c937a88d4f9553a4f61269f65a5228f658fa024f49012aa146504809b59a790097a4a4e3320b312d06803a3bc350894b72f73998b664a00942ef8b3b49fd143f211b1cf6753c2ebbb5dcb5671fcb73d972935de7531c690ddb2f9c89ff0284e303e0430c7b399af2d96bc6ce357699fd72e25cbce50160f2f615b6b1b958d144fe6b346ad4a76fffa20a85895d80595072f51fb9c3fcc980bbc2f5d879b1ad3bebcdf1ed3c1ec59ee74d5f867e9c9f3805876b09e285e5c04d6b4310ccad899b42cb92a8ee44640cf1577944389a10b572cff1121f17c06b0ac0557cfb0052fd421285183ccebdfd5353a0b1cbb82c3272539fb4f826dace4e39b7977541fabe08caf92e2c010ca72795a97b1265fbd672885b9d599f18717c45b1194662a23a72a5070946159a577caa6b12cccaa867560d72a71a36e8fae4d5c1be0550f99b87bb02bb6a4fb68ead7a56aff6bdee5a72df3cfd98f55a12f9ef00421fe95a0b3fa0f8d430d5d2ea58623c994ce2d3be727361a65ec4433bcc0f47ebc17e4e77227c297ac8a009fcba405d119b7c8e16179587acb6bfd111dc86e85eca639ac10952e4013e89303fcace3800f884c8f372b86065b281aaa0226595d8a109ea3c6cec2dd0de60302f84810ba74be847854a053ad2e71e01d9eae7b0560829a5de432e41d21a31910ce59ba83fa9471c5c72c2671dfbe99ee3318fa312ae94a496a1630830437d306f1fa59e964bb29b56720d18414f21999e248de8fa8f2d1ec4f391a2ffe66a4c6cb23ca08d6567835572579584fb3dc81c81038f98a70ce65ad97ce03fba1b3f95a6572a7c4c77f415720abaad945cba88317472823138d50839bd57facd5455db82a8f62d02256be972219225c9207810e95bd5869255b78c8be22d52aedaecafc8def10164412d2a205f10a0cdb5f1aa86d8ba1a1e085112bdc45eef37370a9fc2e3b7988d2a0c5472ed1ad08138fab4d33ec8057933baa4c34c948c336c24295ef626c6d21e967a1345e8d05c921d2638eb37f5db68fe7d58d599abf1a3cd5c121701a3a62c0ebd7287c497ed96c9986f44a6804054eb6a2bc6925b2abbca83d0435852f472997901f2e10c67d219d1db61ecc05421feea03d04a7c0d9483dacdd06013d394156b1f39511c8b30e806fdbc6b0e2388c371502ccb9992b17f8698c01a3ff87008cf720a35f1c080c5ca0da8bd9205706d671a74bf3f5173263b7b827f7a5176df3e72f926d88ed21398b79a124de3e5e13ee9f2fa737f7c90d20ab612d56055a6c80fb39e6bd885f94ce4fc0f6f91c38bc9ac2e3a203e986326d6df0610b92709b113c239565e6248b3065a7d6b95320f8cd31fbcb9f304c2e23d6c813b1acf01b4058d3716e1cdcd0219b96b7b60aa564bd04f70e3ab435dbbfea7fd495b4b4ed67286e8dabdb93871509b5bbc0b8e8d269c235ebdbbc82a6a327412eeb80fcac0111944f748779808f24b59c8b30c5dcec864b6921f8a43835e23623f12ec06744f084ce6868b3e06dafa01b26ebdac65e455dd196c4eb33a4810df46213e802072ff4a475033104fab003e76add97d560c00ec5df1cf9886b4614d0ecb46b5fe3f5a36ad78c3bcdc156be25a7b70853d57ec27ec6d9138a8d20f6b47eeb39f04729f64e8ce3850ccb1d22dd18c42fc3d43ec59e0e54029c04350e273ed60860a7255ee0073d355c22b0835592571b1b1c8ec1572a6f72e953fbde3e3964db48972865e2524191f659481e93ea83d5ac3ef9d972288f43b22ca9fa2d95694726c723f3208b0dd1f70d404c2971efdbb2afab7a6de471771f1cf78cdafd93622367259b67aa3fa03a7f2e9342cbd6e359cfd927af345588e49e14db7444516469b72c15f23b522c47d880c10c6a6851692d3611f7f570b91d84a552d587c4b48937271cf01f9c8b2eddd5cc94b2ff4eb56aea6f1a781876e3cb42f8359b2f9b7040f613475a8b99c997fa2442983ab5ce3a8ca5dd2fdc6c560d428d0e34f28a78972a33fd7a472f0151c9ccb3682bbcb143bc31ad5d5d0f1cc90b9c5a048a32d7b3d2932afe97a38291c80443cc531810cf4f0fc3d89a73514bc3248f71008756809a3e0042c7e6bdce8abc8b059e1ba900d18398741968d1ea8ed2e4fcda63d93579e4454323e1853a61e05171e106b08289e2d17010e86acacdea7c36d7722174729b3f56a955c8188fe7a40014570da15b734fbc6efd2996802c32648a651e07285c872f1a9b179509077b256e7cc1a0ecded29c5ea28956a71c964d014620b3894af939714c03fa2ad49e4a87b1958b553d38ff64f4132bd1734e322df4d3e64052aa8c9adef3c2ac25ede809ac26c61f091eef4b86bd77154a92b715d6e6b3abf69d36bd6b596f61d36f07d64b790060756137a95627b16b8c576ef75486772fd3bdd9ac7533b4c18ebe2295f48e4a22f1c0ea10b10e2feeaf07d0473eb527253c49cd8411d38560395beec1a9e74834acb9f9be3b14e7dd937ba6207375a125459ec66486ed6671254fad1140b9b57cb81848ee89ad4bca465ff2a3601c409b4168023dc7ecb4861dd121645826104634edaecf0bbd9b696cff3072c25f8625983ed288edc72211f4826ea3aabcab8febb8181718c04e32d5dfc5642ef006d5c1b7e235f27f0ffcd77e790c02fab53f99520075b5e889c0215f9116fdcbc546d20d94c7cb4d9616c35c5d6c786311f5b3a2c9bef90965e52aa823a60fd105d62538b459e1a7e128114bc973bdc13a2adb463cde8d8ee80f122e06063cda272fbedf383af69a7145938c1d361254a318b8b9308bb0f7f3c379c7dc8a0f3c5729961265c58b533cb9988adcb13fa53321fe243a4316464255ed80308ce0f02669504fed09a86ca65f68ee69f9322d037517ebfd57eaaa04039bbfad38c881072c13814662bd23cbae3c103bb889e2c1c891c65b85b896c2342f03602f70951728ccdf08820c24dc304dd3065d0bc7d89f5b854bfdc63e3f054482c813e302372872285b76da06283e549ccb613c21dc6800cd5a2b954523451766cdd8d96861c2a508e86758eb09a53aedb003e2c4bc53bd000d2ae90c5c9c474ae59f44a70021b60936a413bf5f68edc3ddf8512c2d208c9356abbd734d070eb703e76a20642ccf2c4b53aaad87d0648e204ccda40a7dd82a182d34f8c91c372b4ea71eb61728b376cb717fdf16d95bdc2ab22c3e08f9eb23050d31e591717c073367569c072325062b78d7dd717f131f48e3c568fec95596780dc76e8afa88dadfeb6480b7292589247651fc48ceea73a788169e9462a457caff035e4c153c5769040424072d376ba5f33e686d00f02bed88b961208cb058612e8999a2dcd06aadff830431eae8e6be58190ba9a00babf24b7a49ccad92be737bc52f7be9262b4e05f5d8172e8efed116066dc40849c99818d33a70def76bfbe242c7443f4e91af00c03007259cea2f3e2dd2858b68f9068bc065cc5843027cca8521953529c322627417921b71200f572093dad04831ba604b181ad7d0e56ad074119f28a1ac2c10b06fe195442efebfca301e29dcaffce30f1dec9a184eeaee7f4ca26dc05a5013fed76497511bbd2cf6ac5fb601298aa88be78b1616bd754abd0f5c28c0ece9889ef927260a88623b2d0f322f6bb5ef1b8227ebea5bfe3e7628b7e107b09d0c3a70f335ab36ba114800c403e0005603ef7b8c9fa2e89d1eadd0a285721c0961fb71c25503af0b3e4f2fe41ba1afa273cc5c965c7e6285b9b42c0f5987e1533b43a43357217af22ac7a0b8d426bf675c80686882ee0178f792abc835a9c2368d89e77aa2e3cd290308d35061710fad805d288abcc86964b0535e3e9f73b500e88597cba6e85b0aeeaf80ebd72aae95235118988e1e00a4f2a85f310ef9a4870710cdf953a08d1fe56560e76c330c35e13829377c98c577f7f2d086d1075297bda2e1ed75ff596270ea8219c47980ddfbf64aeeb290b83789c311095e4b37c3c125fe7bb726b39796a536e27da67cdbe1952e64e9b7cf94adc6285e38b880d261a687f2772093c2068849322202fb495d714ce47ae38a5e53a5c0cc44985965e03e48a234ae2f64cc3c36fe1f411147a1cc53b4053bf45860f10bf497bdde4068ef098ea72eb8d0aef4edf75e755e60d5770b6f1d9a82dffba04daf77a915bacf69d5e0671cfd75f7e02e36556b2da8b70f8e7aa8611cdc8d73a7a8718fa6fb85de5faf939693ee1a6eec95542b1a5d24c855aa90f450191ec99cb04357880d686f6c3ea72433f521a311ac7406e21f732caa05c0cf134b3403302154bab5d5d1fc9f1d1725b23510f461a22a83c5c0b9ff3bfc35d304ce517b80b09ade2ffd2a7101c8d4cbaa47401c7ebae788184c5ca6afc89013c64626b993dd8ce6dbfa845caa87d725b91739e1125e29dd2d43461b3f5d9dab321c962fe5b9961aea68b1929d7ba727edcbef392d00d550e4d35bed4c4af7b23ebd789838f1cc76b89c783b9490b639dc0780b00502aa077160e72f5ca372fb19fe4513b4183e0ed99ad4812dde072f7ff58e6a709eba646a9de26f0c24e20e82873976509e6017cc705f6b6039e5446245a131aa7da43996ef16e14c32789fb7626ac388f5f0226061500920b367207a4c26d27de0a9d429211b42dc27554ed18bf3ff1bf311e93739bb921379c52f69e21f6f92283278ec7a2b28a307049a4dbc76d323469c2e559b6d811e45d72b5e8e49158d80f24891280fca1e56ca0a151cb004d1cc369b6a8b995ec33500e220ece5209cdb71d87179555bdccfb6f410b2dfd18a833a5a236d38b20d61d726faeb81551dea51bf507c4946d2a79ab14db452ad64c8882cc2e0dafe01ecd4d6e99bb461215561b808e1b949723d374c8562cfe1e38307a93353a8f9455617203abbbee64ae24f0314a23f728cd22ea698398697bcc1ae272467ba00855a9724a18dc83b3fd9a174f4695a9d41ade39e27fad11dcdd62e24054f4d1f7dea321bbcda0bd6e9e0133dedde324bbeb6bfcfa1eb2e8d64abc61672805ccd6b0187284620b5de26935df0b715a141eed523896a511b2e5f9767101f1b50783706172e9f9b27a75f83d0bf2a87b1ad24a8b29a07f047d834f66e9556ed5a42085ea72a88c44cbf618bd0d1a62a1ed097a6f9e7c4dd5a893d5883c9b055ac88f5ec77221a4c8c8d1e09cb2593f41c5bfb1964580b9628a74ccc2683574f36e1df4ac0be33fbfb6edf2e0a1a31489bd4d49e49a603d5c24fde491fa085d0da3ed0e54720e8bb5d2c38ebf63002aeb93c06a90e78a669e26fa8ac90ab46041153345f442dccf180c35ff80e7180abc50f87402184ed11fd69b3ea3cd0572de63c5e6ec2f30224377bdd4649960808cf12763924240a66d9bf8d8da3339ef52b40aad3c72ef2b167fa68a5074da0e6f79813f986cfa6673405aceb8283506507ed5d6ab72178803f3f4092aa2fd9d00577c81cb04062abc7aba3bacd47c3328f338a33472cd7d23ff6aeaddfdfd48b05d0f2e0e9a62a888414fa67ba7d3afca0ec66fc672d6ead0a58c029415f5b92264bc818eb96535cfd3921d36e5d99b1d139eea7b72dddab99282f67cb410f0e31d2aea7d24207bd17a31b14294b0779d4c958373661c581aef72ba0b286ba2f491a611c38f878401fd02a59884fcb916e0a6e8d37266270dc944e89497463f63e5fd2eb6971e1f1832de0e7b19811c150596019572590327e6ed8006e836dd11c0525010327d5778daa0c38df2065128226d4daf726f355656ec36151a1d5bd4b099e4175a2a69de05e5f3f8658e5adaab7e2f86724c6db4290a762eb87babd79c221b58b75cc195a30d3b77a38b2cfe67ab6b5f72511a1441a478893731349ff41405dbdd1ce92b923e30170cfb25ba769e89bc72b1b3d26ce5fa6396c0a662e2c92c639bb05b61c48bcae52417f29a4562b4b203f272969b497359a4bd2fdc20ef049e771fa312bb27a23199d32793c501101572f8add002fcefc9263f75b611f4ba2cee45fb00d06771b3fe8a4711918eda107270ff7d892dea0b7ba77d672a6b2f886dbd2b2afaf2098db55d15003b41eae94295254faebe91e84ece0d87a29253480bb194d75bdec21e60403bcd38472a4d72f46382f14362451f32ff7543cc2b2222342699c32a2577e79e41c704ba26e86ecdc1ebc0260f1188c5b4d87ff1740c09e5e58cd1e7dbebb501f1e6f1fcc8b347581518c39448eb87a83da83dd2c108f61e1bcb6088b1aee58369abca5c4b09393e3b6227577eca8d7bdc8196179daa4a3dd2357e6413c91a4fe8038adf60807246b775a6d06da16e0229950be86d8a85c5a70b0c85e104aa815d3beeb7809d724db5bf6dbecad9716eef3691e407481e80de646ffcc4312abb0d77cb5e1634063350ed22bd5148f2aca3412f7e658a27b85d755705fc685e177a82df374825726f4b2b99db9e5dbaa40f12d69b28cfbb5faa4065a697c5b75ab0c06d016a2f7270121dd05fcb7cf13690af65651594c621adeda33432f117a9bf95055e6260722f261a62092019cac0575c6c240e7b8ec168e7483209b090d14c11fb9251d74362bd4478a42d8920c2043e258d82862f84dea2edb2058e59de0548ed726c3a2712a3cb83c755f956c40ad198ba75b97f6ae3bac4d30efb5327ac8b2432e5564795aeb23e7ee9bca11cd1e5c402720f9f00770ad6cb1b754e17ec4d2a844cd84071a005f591653cd791bbfcafb7c3d1418be0b695e5f8bbeb3e6875859b1ed7724f52b74a27bdffe7198a884c4df7ba8d720661ec431a43fd084f67cc8a9d42725e8987754822df82669f84c9edda0e15f28e0ca699cd58f4a533218d50223b72e202c1c6953b497ae5a60944788b777142b06f5a45278643a056aa025a0dee108dc505aaf50dbaa979328b2dda060bc8bac6ed5ed105d975be96abd0fa847e1e2ad463ab84c5d5a6b21f301bf53867bd52ade475d9cd1b32fdddad6513689239129eb489316d01bc546c72aed4e8e8d1fce9b81db42ddcee0887c19a930b5f08e68296a458e6708ef92940c8bcef2bf027844057d3898a2691992142fa8f12066320686897eaa948376c38b274d3b53cef3b8d40581399e246ba94a842123355a3c546a508d628aaf2c15193574a1eaac9ee2ccacc349b40ea43d38871867015789b794af14e8b39e3a9f33d02116e8be0fba6f9b023b1a9502e5351b41c5b72da4b3a0f22c2713a5b02e1accafeafcf46ce9d5c6d91f58d35e0da21941b522af3d03abde8b8380bedc325d3f02cd0b02067f94579c07577eb54dd4a3f2696067f1998e5a52a0a21e7b8d3160f94060025cdff17e555ccf78a6f85d7821c700d6387c3f6c8dedbd83e660572f70813a33cf2fa4749532a7d69045bda51e933723babf3becf2e76a368092947ce33bf657d2bc350319a2424ac841f2842d36d72b32ebc0568731e9804a9e7d8ef9b99552367be09473e2f5eee96ed756eb0062e17251b1560960576edecc4ec97885917c8188d6a3bb781dccb93391541d9aa611edae6d1964b008fabf9941854cdc5233490024bdf653195dda2bf40438a62728db58cecd90992dd82b9f8565a0628b504d703c71186d3657f4bb261a4ddc272d3ecaa87d86bc3311822949385420abb5a7e03260f399261d82132844422293c20cc55015fba6f8de14a838481b53435dd33b6605d0eb622a2dc2da8de5156725f7cbd78065f3e7a5ab1af0ecef73c8a1ed777dc1814b29074613a0ae7b30172a36d9e2e1322636e9e800820a4365f2dd02b3bcf8797b16cafb1c157d64ee42186c015404dcb88687313f10fa23d53efcbca6d8ed4e51628e67afda262eaad5e0bafc5a8f32ed10872e8ed2cc912b7f4e65264f03522546e6260d543c107521db650fc02e558dd721a20f9e4c0966de8f1035f51715401b2f0be270ca8e65e1ba0e17d4149c265701c16b35fabdad4aba5e91616d54cc8aabad77fbd2fd0956fa801d72614afad641c47ffc3efd9cee6782203ca5f547c762a9d0b69f0047d726815a0c1b4616776e577f217cb0f794b959a61427edde6cfafbbe121cffb04725f23d91cd4a40f08e1caf373ea7295042bc3b7a5eb2cb758ac258ce25572da7232e4cb030585297a8f256a8eb814a7715dca3fc38124311ff89f221f31c1593fef3861db1a99c0c92842583d394f09bef8d165ddc06686697bc66e4f6fa55172fce84f83356a82bd5fd0061dcd95c81c2649d2a88cbdba737ee93071d9bb55729ba583c4e50aa08befcf4690ce0ffe00bfef8419b066d6ccd3c8b0e917e0ea15524e77369967b23574c359c54bd85aa97e1becf333cef71bbe47ed08d6398172cd86f2f5ae1d3d84423e45015c84166c6df5e9281b6db2d53f73ab934bd8f3726cf8ab7a70ac7eb4211319d0cb6f9c86e7eabb93771f1776b8ab5601d54c25724a3df3c1b008e4711f9790e8d6bf23bc5f9fa7a6ff9b354dd2aa57f423006572eeba3a663d5ce46d22b87bb6f3f163a0ac06ab2a21cb4034b5d3f72bbf43c6724f98c1f6d8b6395aaaf7c3595e45500af8ba79de96730d0fd8d4e7a3b8ad1e727bd2c5b113c282d22ffc9efe4d87246a74ff8d90d5345bb5cb31da88f520297258c0bc30673143ffdb8d2edbb7e834d4ffd5ae46edfff2cfab2fcc1b238c68729f65d3acdb8f435b07a28336ab0d4977f091d4defb2b882c05757ebe5db78e72d1080132e2e89eaa565dbed3ec2a33b18bd879fd16275597dac4c717c38d2272c6f2a0b819d91d1db24dda4911a7a999cbca52666bb15fedc169a5acedd079506fc7875846104bb541c588689f6c9c9760cf327d1b42d14d26ff05b05c3fd3053d1692798d18662245d473b12253ac0bc99d4ce3a38e2289f5a7d75d94e76b03e3ce359d456884e49c42d76720778202de558d77a9d54deef4d59755d8e9ad07d050997d467833af26c0561e354a19facd7aeea7623551971ed590631a9c32720928ca00286008bd50ddb6b92498fd5445ce866d31a500a354121d5cfe9fcb72ad04c4126bccd3352a593c36114c8f44f76fd5a1a2774db25dd31d85e2508672b340dbc31b649a435f728b283be60c7f50a7089bef7eb7e52d20f878d63de072e4969d78ec4af17b17cf6a2be765925c55ccc749b92b85f7cfcead5b5ea73d10a806bf4bcc6e527766592f5206e6d303679fd0fa88286959ca961ee3610edc7238265cd9f3c80f3aae59f3a9e3f440713b6349ea9f8e30bf3b3f07cef08251436938701caa75de8a4a19d84b44e02bb0ff576bef03b8568d71325155beb2e97229bd67539f1d3e255d8519b67f4b5fd32bc81f55cd64c77c84f20e3792e8177211b3427d3d912b171288973d2a3d9e6aca1160ba3e999572a7d48355b7126572c0c7794520870ef15898666b9638ec2745c3ef6af20ce7f8e48087d6686e2c725f72f325accde6b3fe1d0a87c23c1677c6291cb8a5e51f131c181f71f8e4466695c43dd3d0ed8f5692e773fce242e9729dea88be5ff186b29ed5726e89c97972d5d087e21d1967d2ecedf29913fd9fa8c63d22425e927eae3273c77915febc5f98b3b095299ce05c949413c345ed3b32af09e6460d92d17c390dcd6f4a6764276b50899f3f067ac525a314d0bc0a97a6eee33fedb91699396dcf7dba3379c1721b2b179b0ac45574bc86a731684a24366bd6a3911f623c9bbb631db9ec38dc72886a597ef4c34f0dff717eeb361635872ea8b7a49f16dd204fc5b75ef1d04f578ada53767350827cafbe548ad05a724cf1cc5fe7463c486991ce54e4d643957262bf42034e3a2d268a3d9703640bd25aba095b45bc92d74be1b708572d00e172ea81b3dc16b9935e0f8a677a1dc0b26194a0f5f430c422408e070806494ff672bcbbf430f9981ed5d3894cc80ff41a10a67cf61949c556f7d75ee2ba4d84ff72c2943b5994eda591a3d1a7858599cae73d0d25cc697492e2b8113e8e1ee05337a068ff6f361c6494b7b2219a154fc25cdf507d6dc0bd0b1db6ae27ea62ea0472907573532cc55797b7597eee7568c07f3d02bd48c9e7c70266d98ddd9420eb257340e7fe8c71614a3c1b7e3e0c9fdb0c04274cb31e8db8be515669f890a963726675d8e103ec5cb68b4a590a0af808a80f9ae89d1f44ce9959f76dfcde18e022e2f549d128e4b6800ae5dfa35e89cc099b207df8ec58b1185f5c008b16e9d15a667c51f6129df077426ea24887c2346613ece0d177a792d8c0eb1b566cd641729831e2ab05f7dc10699636107fe3967542bd8786956aa7961dca85c7fd691a4f5c9620b50d6a21881f75ceae065555634f58d18d3e8f9e3391165a1e7b81cd72f0fa0e2e1526b988dde15ee3f35485aca89316c09356c67d4b769638a6f63e728275d33b373abf83b98dbb519707647a712166a716d9fc4211cc435365d0192d7155d5ce6087058f73f199ec394b8e9c77e8b883866066ae5fae1d19985e8469edd2f4e8716b464197b9187ec3971647d7f826f39358860f85bb67d408bcaa6050f100ea2283149b4ad226093e228c7765c18424e5fb74eec473070d84213772aa1c4630a121572b45b1dcde07926c847d7eb1875a0695900a11813457f900720eb6bbd6b52a6c75c233a61ef446e4ef1f40e2f3f3eb23ed920914f538d2fb722f79e599853ea4dc998b0680e2e3cc5e518cc4ac74ca65588aadc70f63ac6c01c9ff460feeb3459424915fc93bf4f72aad3527d39635faba289c82aeb44ba63ed0d0e119676e6bc974c8f944ee905c3ca885de78fe7ab5e92ec8af85b889030017bb49118f406700fbe7316b255e8d805f1b5be7aaeb172bd742801bbd25ab72fc78c774b5335c08cb752b0fd0db6c39833eca9f957c01d2f5f68004ef4b7972477b28558348dc072b59d446b1a266284d85af4307c603153b517cee7123475a171eb09bb116c8bd3470a6c96234f0236e8859dbeb94751cc9d81082d07b7372c0f33a3bc23ab9ee24a2252dc3908ee54405476ab653e5a944b9d532a8b8b243177718591973d56f2c2836d937c76e0f0d6a2dc65654d4619a09f3d9b0371b726c1687c134df1b62559255b8131028c006320ef746b7c666118ad8d8147cfc727da89269ce4f6aad16b001b59ae11b946e8a7c4e11106cc6acaaad33a9700d0fc9ae3e9618ce6c056a9f5b3e29924829916958b21c425a9f4b30e3ed560fa907b7ebbc5477d5525a5385361499d737c0b9c10099afd92b50ced745bb37d75c72e6505ded95a93baddf424b81a77762fae868d1512677edae4ebe49f1508aa2720dc1006efd0853045b37fcfcb9656f4eda1bb3902332769bd30923e707d9886233cabe65d379b7c806aaf70f14b9e7a773e81c44f11e3e9744c28a6b433fd07263a152242a3918343f890afeb1a23d68a4779e362c214439465d4932cbde5f5b03e1144fbe977d0aaedcc7b17eef721a01794bdd29d09f60cca32760062ba472ad609c2c91e0a31cdcd97fbf47de55236b1b2294bcf9e5ecc5466a9cd1ba6a728371cf556dd2eb229b18241a9aa88fbd1db46d73f7c6c1796a6b697756fc0135c92a3329e3955f192501ffcecb417d959898770b9c5e504dff248e5550dc164c0b7acf1eed5e630cd4bda2dd603a10bb1316bbce9e71004c31c31111773f88722dd70955632cef0df0223186a59b79c899fa9af55135639c8f6dfa3fc2b0b04d1a7d097a3c268d515d9f67215639415e9c9ceb026e82a0fe5e41b8e655122672e7c596da2e8de9c5c698849597aec13bf61479cec1b048adcb0c638e9f479572893c6dc12d4074ab76f358410f5b29fe1680d9dd41bb56cae11183414b66a672153b399eacbf9bf648189d53d153ccca56e15febb697fad0530fb1137e31af7241416ff02af167eb7e86019092080753bf7233cd373e13feb74ffdcce3f5e22f3aed626dd80e80c3f25763c699fee477bb1670ea46921f9453f562450a1a6456af22b5eddcfc255f6ff6cce6143acf97538751577229fb3ac81467d751959955f9e30830a248a28ddd46f368e5c7e810b51cb936a89f6894a69cbec22a9d1f06b85a3dbdd901f6ee01a44a8b01b505f3b1f2600d02a4d78190ceb19e1529fe0254c7e48ef742e7a806d9330e9893017203dea289898d96d14d5693f7071c737249d49c3548b50e7aba6ec2c91920413c3c9d3c544edea698ad067bc385269a3c95e79085e429afa41d5eab1ea860f0929c54c97426575b7a576a4d298e8213721305d2d46f8727b243e6d07c454af34c709448ebec2f519e00489b4c9872a12db576b0df50139489e062bace4854fc9f2a14b617696a990aeb22d7c53abe150fab2d82d6ab1c83509785d0f852ea033d0c79d534b70adc909186dbece1e8b87253c0624916aa8e34c2930e245c0dd9c5cd4c02ca3d85ac8dfb2d54214eaadb7288b74d1a0ba0ea02a7e13b2d31933e8b6b18d24ed8e1970a61fadff52757f1722686a277c83a9e4ef34592c3765de0d8c4800a464534ac135bc6e49633dd446233da4adde452e395a2ee76df361433bf4536305151719a1225d2a1d80c8c3972620aeca697d9b45546fd7477a0f53a65318345a5f5fa3d18ad4441669330ad11cb262b3c67976d81b32ae0156579c88ad44ac4a706549c5177192b0e6e9f8a72ac0826467b672178de12515f6a544d8bb851acde94189243a12e897766255c728a3f3b344ae9752dd8c90065ed57f0e00ac5b30ce23b882386dd152596136c66d7f3160098d73912f8978c0392c836ca7790ad236215f178b20ce5d7ab5dd6701b0b4155bfabeaa94a732224d4ebb453707fea69f7f22b671a6b73f729ea3b725112dd849943682b87190f54a6b89373815025a6c05a17b0b71489933e4a017215564afbc25f76b019e50a90e1d1412d7e9699bd513188d9cb4a8560406eb072224f481340e490daf340d2c7db3fc5f7439ed1799b7436d52481d9030c8e99606fec29b1e54bdeeeb76389a1ae4c120b56a836d9afcca8bd692781cf3e55be720d528b95227b26dbeeec71b71d79424dd1e25c50b8a76f878c4dc5b930f9b96a531c47ba54ad9860e737ba0127b3e51eb100682819a7c43dc73e344f024e94728f666f0829050fbc4c12c44727b18e8af1680f87b9217e2980859d8965e978724f0a7f289097216b837aa3980841ff2910979761ffe4aa425933662634904f72449e159dc81ef2dcb516101d522dc1641266fd60d10891f87589913da78b3c7271c047e3fc0c9880d937a4a751d500ce2489fa92d59657474f8279b1b43e2d72e11b4328429bc71db33a96e659d697454e92149b129f880511196636f64e7b72dc1769ce4aede806ed0153d26fbd14ab9a0b797c6d7e5724a6a33d662f85c943953c0334f093d8811e471be807c13af4bbb2f7b877a369a8ad25f842759a066c02eda841fd93f23aee38d1d13ae59c07d3c5241d927a8388e94bcb1f730b2c653bc71fa259b2c6fe731aaa3e6853cb8293f9561531ca94ad32541ca7626ac9217218a0240d18fc604d76815affaf949ac5edf6213ac42ae575fe89115a43bb725789ec9a3318cfe8f118b10275f58081190048f07f60e77676335f95766702237bbd6ed830d86c9f8b85713eec8724ab57dd113d66b4f571c0e26a9687408f72bc7465c3d3f948b020cddd0694f563d1f98176b7e19c75c85d038fe9095ecb563bb435f4a47c65a946291685d7cc6f9652771f3bf8eadc164614b5c3fce1a5727d2a0beefd7f2e1bc9a5b888f460a089f97158008828d152a410236e9b6aa41e4a1162d4334433bfa8ec7d052b5c4cf88a87081b92573e72b99cf21d0522325a599ae2083292304cf6005545cac77859c1d1afaf7f8d1f6412889e6fac456772de9bfb5e6f2f4f18ba507fc3eabae9aff9a0dffcb70dab93de59baf8b49ed111dda9f3853c47f935820ed1973c03fef60386933e240ac0f8cb95cb74242c3172e7d868eb5656f25c241b99790ba8860badaf8e39f7c85f4b40d86dc4bc6f95721f21628a45ee4c4145a5399e64350fe78c3e012e8589f5ab0b4c456645c16c1e90a885fd95fdac04ca313d3821015ab790d3762f009db715482a35786e752572a56447f5afe7ccf0925dd2f7a0d345998c0902c2c4b91a8c8e02422c0d31010a6fde2b851fca95414ed81a3e3d30e362d14df45062d96dfdd1079faeaa65ae03790e38560c122fb656a28fe5617387c39fcb3d58cb9237d95c72936c64da4072397aeaca500883f6fc203ceb84286f9aa49e0a724f5c4906122676907c090c7232147bcef12d6083a3d9e22532e60827ef1abc9d29bcf072431229a05fa0c672cc82d767724d51fabba0622747bade81596ff381a73322e2944f9ee134c931721c6b23fc6457d744dc53a4d0838a7eaace1179a94c002823ea6f0c7d1f76d972e3edcdd519193d8894732f1d20102f96180fc5b6e4779e506c655e3c1d9d12217ad40bb5695a6e99d946b996ea1e64f304cbaff11c21369de0fb8f279b73786c8624e91f90320f1cb2314f72ac9731bf6d1a987efc6b9c283c5d6575feb410722ec59372c57a8de5479cf3f3cca3666a6e966745a4a5282cbf4802820c506672ac4e52ab93731e07d44d1ecfd1e6e2628be4b85b1292bafe30a4cf1a0f616e1eb2ccfeddd418281cfe028a6696ed0fdfa8434129bfa3586d69e83a859a0c580241090d84e14ca87edbcd1bba207759bbd68cd43a7c794c5955e12c0fe35ee6729016012c7c116288ad04c1f51715ac01734fdb9feb248af2efd6fe7c04d66630d7041f0b16dd1ab7ffec9aaa275b15ba768974b9081913c8d32e2fc99bf76d5ed8173e6cb0a8673a3cb53635dd52d06ccb684959f3e37f22b44e51b26e466749a8f9aace38bd425842e5d88316bee8eb4fb868d1928394a5d7951988c77a0e72ea3ae6ab02468c847de72189382b579b57014b914d7854854e1e79c058debb4923fdabd0d8ee33804555336b2ab18d42035665ab6b04ff3fab70c8b6259a8d28b96507b8f4b68e18756902a84d9a1882c50bd54302137a0210a3bd238bdf0672c035c0f6b652af81f00ce64b3ecbe64b1d68ac90691e89df82b49fdef467a23f54b7d9d6e150a04289991187893ac1122cc9d0db99a00fe81b2b5fc02fbc94055a588d599d708eca851f9ad491bfa9d08f5d66bae345bd8ecc303d38fe0bbd435bb768a14b19856e4579651529b935b647718027e69efbecc14aa5194d9d9472770a359b82f8bb9ff13d0f61b5c05eb491f28c81bbc2f749ab51d32fd71bbc726b5d19c2f2febd2e0e94eb4d66a7c8778879318d3b360a0d49fdaae126197d4d08ec0237186d0ff5decabfcff8016ad8471dead1cabed6a7508dc835c362a42e532614a235ad1100400152cc76107d336aa784e16aa9f428a07bcd2fcaf2556dec93cf1803d2c860001f3d52382a530a969e70205f647eb76676cd9323c57172247276ea0806352fe07cdcf7c63536e24bc711d4b4832e290f73dfa32f0eaa720cecfbb690bd127f566416795bebb791eebf4d11aefe2d99a604ea42893f742009383ac84bf837309a3c80646a57bf8c68cf80866b3f7f45d2c468db98000b7204fef7fe21c0ac4bd6550653088034eed610e46d02a356b6d942a77fbd94510213641faa7784725072edb36885d166d9a9d1e5dbc0bf3d91782b274cedb1695748ebce99fed09de59bbed68759e62d4fe1ab7990719fd5ea5c5ccba645239d15bd331ce947814e5967a908479b8f6fc89fc5b22d2df09acab4a78ff3cd6048720cc062837a8124e1b79a6f2f91f6ab8f766c2ff80c8a1b2a4e9658151a71c272d980ab7c5fa7cac8cc3aaa343f3d315eb0580323a41d1d4db9c0abb935c08a723e72aa5b38b0818ae93f6921a0a81d2b4d0d6c5a43d6b81c52f4a2e6ffe497725808368582b9cb17b3c2d05e9c5c9df0423de1ebf64c1d72e788b7c71ef72b721c324173fd8f7b1472247612812da113e4cc0015f84d5e77ac3320c505916372a6dd9d0c2228f5df6ebc1c907574aca1332788004035683fccc8fc768709f45ae7e9a63b31d7410f0eb9b48ca37accf0356858731decd41c8111b420e92609207b18c9496ae358f1e6887cdaaaaab9d618a68173e6cc23596c69ef2620001b72b29424f18b4ea8098dee5a24992fb10b5f15ee9c936e5ed9ed749aafa871e267e1caa663289278de7f2290a99bb3dbb716f08a41222b9b05fc69aa794f5b1a72c9e27019610162289345c7e7cab31035b4c911c5b9fa59648b9ecf956cec0d5ea3f84b57ca8cf12cae632f525740765219227c902e691d0b73431217be200872d2063d0eb776e53740883f753c26c772da3737b6ed0bf72bcfc3ed8c31dd2e72c984704fa3800af10f2b8830e167b600066fd2931d0901f5f02c159cfa539872364c49b9b78909d8fe15d5995bc687172fcff86a65bae57989620867f2008a720b981ad66cd46d21b5d6962f6437ad42f12865db76788cbcdbcdbb7271368c72fd1bbc65769f79ddb7629a5d5d280a10ffa061a6f2d03edf28fd5a548e812f72872f34d3024a9fa1cfcf11af264ab56f422d48a42f303513f9330827ffed9d140b86aa45f97ca32c3f2a519940550165c9ec83556b4c1026bdcd3965b036bb58bfde9a19bce82f0739df8010070b8c73a80b33cc304fbf17b70eccd2f950ec725837272b491a8cc079044e51df5e09a7d14f5890f82160098d7162552c062c72591dd40c1139fc4985a0fbf8c7751fd387b192699870da6ad423f659d26410729cdf4af5862eed545ec9d66f2a895539ad6435ad3f75438cfe7dd72b59eacb721c2855b4a823d491e72f519fe9f3c94cff4f0b5ad1ca2ea46c4c4b3092c613729981c5f118fd4cf80f785457500fe866ed76764e36942ced61708d5730ca52722353435380853d87ae70b8a077bb74a53f8a272615c97f87da0807f74790ba72749559fad13a2ba511414d172088fed253b1edaf88e718d1f52d1ab2a243b235d5fb55f6b6de2b501110d9b4744335812790a3f523dc0dceca7c35e4913bc362fc071b44c157952266d941e42ea8dc44248a3637bcd4fbced4f1e931b7754b67896e9d93b4025db83eef6f5b2f31627136bd9fe5de914a7f8ca49fe631357e475fcf97fccb29ab56150bfd6f69de0e85c7ea89fad921c764a5c2882c94a2bc7252ffe9be51db0ce17310d800e27273165628ede329c8421219e59a6039632c722ddaaba75e3840731b2201327cbf473709e92c15d02f3494e50b87fcaf27a0723d9775d130f860c1ea580c0fe2a5420e2e964d2b2398bfca1f921fce57d77c7203498f2849d22b1161c6de921846b90aec9b7f82d3878602b6a86460397bd23e4505077ffa851aa1811adbe0beb17684bf10367d2fbda12ded232d84161de8382a9101050a54c1a358617a84ba048cf2cae2b2db2d33ddc34b3c92ae67ad3072807018e63f0863b99b4c58106e7ec19594f68d86313d9e9cb4419516336bc850f717e789f43b3e59a0e234f0503c8b0d59321c19b322996fe4d28bc4d71cd53276bb9dbe44b688a07bdd7127e75b71a2d1bfdb827fb45341e1d2ea8e4f50ef720b10ea9fdb1dfb235727748085ee3ae823858cfbf1d3e18ab2975e0b38b6c4725f8cae3085533845ef434b264f1bacfc4146c0e08b5be7269d96909fd78460722a62105f9441eb168788d82f63a1689a90e1d27fa80d5714ab396399d677222899fd44a75f197bd06ffbe447f9f818e749eb3bbcffe05cdb855c432f6945811180be3a6735bd43f51e1e5c1b2061f1426c25092fed872354f158c23b6c73337239c0bf83a08319b678cdbb6c0f2fcd54cc866f2ba4cda8a39c286f18ca131861e4ead87dadd3bcb8335f38bcb76ab1bcae2373c86f8a46afafe48648df9fcd50d7e935516d9e2bdb9400167c7ed787826cf27d93f65fda975f2f9f8d634e7572fb5ca6193405c1ee83a863141ce0962bdf409f8e6dc943e0123b001469478172bc383bdd819371ae52e308335fb75be2b00667ee910c852fdf0052c4e1101510d2ad5eb66e38bf583bee5b9e2ee7d886500ee0c79e9a57a39c02768c20466972c72c707c1a475a5cdb05b98c227cd42d5400dc5b2c20f15133a6f325d439a172bc09c99df0a34bad0f11fcb2f040d540ff45ba14b36606158591dda4402e58723b3258652a750ed08d772b98ed52bcbf4e12f020e0b4c30c3c948637312f433011535ab1f027ac24ce148636770927d65d77f006ec3c52182b8f4109b47c9e729455366f3f6fc958892887eab280659d654ac0cdd1b19856f6cd483ec598f86f271e783f691c03bc713efd435897b6b9e69abfeeff001cd5e64600cb86646972702e47074a65c4b3acaec0e7f1b10f6e1f2fc4bdebeb3b57e8d1057ba864a0034a60b6d57d58c49e431cb66ee0ffe101be618d19d793fed44154c1fe981e2f7249153497e52dc74555af308c83b20a9d6d215cc0efcf4357d8e78b7de4490f248d67a6be49d3e7f0b8b2e50e348d6dfd0ebe77ae8a3955262aaad36e2571bf1b5ea4ab73848cc7f472af0205fcccc5d1da3e54831f326dcea2e8a0f7def8c13c3804132d895c153c05169bbbb1c398863d0482ef3a27418135cd651d80457672ec4c5391f8ccb5d414b3345ad7445250bfbc7cdf328b114273a8f920a2702172eb6c7ff6b7a90a4678e1045539c8de3cf4a3bcbd5ff3892df96bb26751b92c3bf26e92c7ff348e38ce3aa58234af07ff82bf1e66edc1b30298f15be056fc100273667c1ac0fe90d03ccf14f2485f47b7f3b97375063149f51a768c1a53b4e672d4d177e9be3d5ce86aea7acc24dc1072734ed18e670afd5703903a0c562344728ac2c0379d235bff93dd1336fa6e8f70bfc58c5fa5f2b8e8340d3549cad86f729879860ef5f1bbde25631bded8c408517757ad2d9e23e774ec7576ca7a4a364f9f4e6db17405435c66b2cab9796c144055f28db6f49bc7d0928af84c9db487478e9310100fa2a93dd16230b468d889478d8e4d8550a54da776b3dd391ebabf6446c735d5728a755e95bc803f7a1c83839c20aaf1fa33673d081cc05e7a7dfc72af6b54dcf285fe710159215bc5ee40ec9a1eaca53ff6019c948ceada4ab08572438bee1df71767f31f42024318383c6979e5776ae844d8eed488556a470f96728e4039b63ee45325caca3bd942505438a3a54731ce5cd79a7303baf8c5007172d35f7cd6b652453186fcf820754c7ec8911409354ade579f1c6e547935f86435d1ffe1190388243b73fc1efb0865745b31ab12eab6921f94cea907b661f3a4466e525704dfc75434eb67952e9d91c0776d827c0c32df94ee36361ea3c2b98c309dd92db51f1cef82923b6a073f79608949cacd1de88e7c6efa6503b82ee99d41d2d925b81704d959a7714e02375caf6069321600781af8a96f4f2aebdad0bb54e7b040f9550189da08b26a83a30379dbec386fad5b8863f80bd8f64d3d03fb72d1bb0e550c22acc3e5ce16ef028f9c3c7f06357665b4ef1dbcc760aec90b107290814b88a4b2d11a00f34248b47d92b906b2bfa63405731609bbc83ba992775493f0acada2dd00cde1fc56d812ba6968b663d027610b31be14a502839055190a327191cd859be2301c2ffa93243163aede1b379da2c81cc7f186def49e59127224a835e911917fc142621c5a8a68cab522dbebc22343bed35c5c4dae4a37c97274e90d904d083d912d3db3bff204aed1f7cd7ae48e25d1db96229dfc4d9e9b72ffce9a51ebda44e0dbedbd27b2b70a7d5fd7fcd2fe0294cd0dfb6a07e4430f2688e3086c1b30689e79c2d7dc2b96ccaf160a455bf91e429f7cb370a5887d3d6e822e5ce19252ad89deb887878a57ca9b20db0e749f152d8df480dcaffa45db44534724d4992f58d93ff9fba61ec108b2075e132bceaac466e7f5b3402a3bb65074cb3b98e7b50c2a3f5067f90bc8a09009f7cd10a669184e26227e4a5ed40f7254e3e9b256bd48b369a4fec10c54aebe3dcef185c5ab16b13bceb714008a8d726a495da0c5ab4491cb959e1550647f3ddc53d7a225554844f30d7224fe261b72ecc8ef9e0937f67edd55ae5c71c8a9733c575d67a0093a53727ee9fefd3a0472354a794788389ddb531c2de8639fd7f76280511d37b7ae6a28dc72f349fede72c3cbe8c370cd2453c9c3bd77448e2efd5f5a23b7ca854219c402299bf6a0b75dd50612b3ff0954b801fd8c02a2c373767bf6884bb62e686b46e73683aafaa4726afae65d049c10fff19719ad4b40a5b36434fd888f7e82fe3a1cf838c9210c4bc3c0c7f7ecdf281c69bb3cf58502aba001bf85d4df5aba369fac266d46f0c472bc5bea638b6e5b40cddac5eb7c27e7b378f368849c1fb25a8f42e0dd80acaf5d8ce7a4ccb881f57caa7c46c93f5c1fdfa4baa4b8ab7797e9c3bd260c66c248727e9216955d524bc7571d8f1509bec070162c5b0be1822ab103f9a84d44541672c6cdf054b7620a2efbcb699e106fa21740f79777bb992906a409afe01d01e4310d9deb9ee85b024fe3f4593fcd298472f227f2b30c81dacd585e924d8772822d06e8ca67a3d31154df85e1f1f2b7c1150f96323b1761fe7ef815d362c0622072d8cb405ebe9b761e1b05ee1bb5f2b07e4c727c1971512eea2f56d7c7c5d919725033ce111581c6a928078483cc3c67efe006f0a44acd073f5623a0714f53bc0b4ba7ada833cba6abcac6743a9b333e93635f4c7f740d4a1ba49d11021e6287724b8bc043a1f4c3c131149324539fd5a7eef05b31e264fa11e5a6065d029a8472305fe6be1a470a0c61a6430ec69632330619ae42e26c98cabb0ad613ceecdb72bb0ad311452b3707e4a5285db5cf6071f6812ed48a06793cef414768d3bc204a187bdad28b3574a105f5e3ce84dfea521241a0f4f9808bc63f29b136b30c991609e7252e168807383fdc62719bbfe61b6a7a1e25f6275bad8677b104a917e572a75cf85817680c5d08a2b8787d750c2766414ed140a5586c5d3ba0a40993b072cc173738d628c0da3076284f33e235c79a04b78bfcf88fa44aa391da07fc9e6afb096c614d32216beeed051052f2781e0652cb64fce4dd27ed8d05e70507b672a9bce602c271ee7c7111939d97478a5110ffedef94e6495832bb954005ef44725b2fb757ca1bf1245566dda751147bc026ef6cec72d9a6feec5f7cddd67a1a72dec88ba0e07133507b7f64b750035488c629086056571b6f1db3a8754e7e993baefb15b5fd1f6ade679fe0cc1437b88bcef814ec85448f7478be541a3bd236725396de06e661ae0be714f6c78bd72a03c63d294280db3d8bb341e17785ccee6dcc91975326c2bd80fcf0344e3ac0e8a67c2fbbbe3874216b6d927ae6003d7d72a19dc1d2783f80c791ae69fac309ed5d7b468b82b8800f80966414f524f3a111019e6b76f7929c320e6737b7264a0fc52014050ba4d4e08fd08c59405fce2072fb89d33fb007603608d981c47d50148ead688d6184346921b096f2a317dffb7294e8e6a593aacd514db11e00dba17c19347b97b0ff4b6ae0f51cf67915205809f44d080ff35746d0b673d62457586e0a5effa3428a6ff8cfc335a46cdf28ee138b13d97e4b35df4594a4c901bd5ac376f4805d70ee61953986066f69c2d4a6720a08b67f283556d49517c339c4ce50e7021d1ad3a45ea439c92de71e27726172b85113431b91e11e1ae00fcb5d60998e38c3f682d65de088bf02cd2314b4e372d8b18b43288a341274cdbee6cec41c23e614ecae586efd57779537be93f03272a40931dbff6371b05e044face01b9161d91d69b30402c84a6b8c99db68e1fe7271307bd46400c0a3f0a64636ffc4ca585daeb225a19fb90098e81ea4bfb86a7273b96b2b61d7290ca4667a42c4988dbc513753d0c8152d71c5a41583cafcee72dce36aa7f9c37993d11417b8312f757afabc4a915fd13eb529863b46ddd88d728799e33a942f2acbb071edaea07b4de2b322ca01f6d50e8fa73bd92c685e3d723dcfb1baccc1613fa59df6dd2e819b408ba2ece8f2781e195196836aa13f2537a602b0b10daa812e620265afc0d0bec220a5f7d03a07f4e37e26246ec4ec87722fc5528e9867d682ba74eebcf9de4b990a9021813f3a5ef84ca97fe1a59fe438425fc51b1090523b69d67df7c6dcb7fc43c4c90173eeaeb0150450cc1f49c27264c9df6f740797d518f51b8d43692aa23f43caf00c75435f57ce1341743c667233c44e724a7b78d4340c4fe71c0f1d7c8c1e4a5027387ad0b892d18290ed8c72b2ac563d5fd4923e96cde58b64a4fd91be7cb04935292ae1a4bbc794870ede72168cad144f8f5b7e54389f44459c576b9daadb36cd0169b2f0460f792c934c72aca0d00fb0999fe6879ff58885965f3bbab759c2636680a8b95f5bd8e8faf972a07c1d4aa9f5d01a940b24a36cd6602ea633235930b0c37799715b83b4901272c93ce12baf01bbd090c984b2c54cd90b0d1f32a1f37f18a7d26ba61f84ea7c0fca8d4df2ab2c6cfe72004f5ed76d4d687060ffe82d3c6d7d80be18db95cfbd7262206a688607ef2999ea4e54af3703afdecf81604913ac1d5681fd46b77b7872738699ddccdf1c8042981db4d45122d6dba8350aa786fb4b4d160d74a6ee7c72412e697dc18c277f04622f37bc9a6ea4c3e831ec1b809214b0d3c0d6a0fd1972edbec81f2139c932ac0816b9ec63ee58aa34a2c36bc74398471dcf50172c065f9d1b917185f08e79f43f88f2fc449f5587cc67d194c71e8010bff8e0fcdbdd2e922201437c095765945a060b2f84d861b45ecfd2c41dab5aa5bd8e6dd4776a72cd968b4cfedeca46a14f92dde3675d5ccfe3b277881dbbbf8e510dcae8b74e723f13f19af47c020213a3c15a8186afa20c49afd7741bc64e16b2ece7644efd723f679f04a8327d6142131f7d737bea711d2a8970a7d55bc9fdf251878752d5689aa04d48ec255083f4e61a864543fee08a8d076ca42248222fd6a51c96b6521265fa3874bba9d72ae54fc5d451040d8f559868df4642a17396b3e2da3813813395579b3e0237a8678da139f4f671c5c6ca3763eb41d0ec8ba992c394cfc4bf72e6fb69717fb5dfb88155107835b3c031e81c43ea0b48e7cd85955e2efb51487239e73b186c0940f7d851d2c334cf555fdaa48af9737032bb1af8bf5f43e49172a6d349ead957fee82d2a75601631bb6b680fc6e477d3c6327985082e6058c8728ad6e03505fda51c4eadf28ac1c941a5f06fbf6bb82cce2b8551b2d97d0c14725c1f157059a3bde502af618482da1fdd5193e800ba22269f13321579d1377d3e4e4bf1c961ce014b6f8bcf0691fadcf5a724cb9a337beaa8be045dfaa139ad39b6bb2464e6b8b6c1a23ff31a71191a163f192e30dcc6bf8ed4494e470b084a729fd9c47f7d3425d4085d21ef149c411a9aa1a96583cc0bbdde4e31d9ad61700783bfadea9cde14deaecf3d47538493b7f100216e1f8ccda30fdc4123be6bc832542e3139f0843fa75a348e52e93acaa2c7fdd98f9cccadd29ff4a777d575b47227091b2a83a9faafef28fc66227210660917a633f24ef0bdb2793a53af517272a13cf9c1cb70a747b19dcdd19d18f312fc1f887c2a7812f3e3b24662ec971d4b2aace306085bef2882cfca05d2fe1fb2ece6cd384c1c42c0130d966df03fc27270710e1a649b7d9a01e6f0c4cc544dcb90d0c9cbcf8ab31270a74a30de999f72f8ee2bb0b4732629e18de6dd9a0c4532ff282c18dd368764a5cd6ada89769026eadaa9bd3b0b3cf4edaf341fdb944b518a21824015a877a3465a76d0eb3d3772d5ded1e9efa73f6d0d9df963e696c3b105900d82ba77a2585f7b2ff52c11ba358cce21dffb322fccbae43a8e118b2d05942b418bfa1ea62891c83c21df957372314c65388bd3f3bc1514b43033ea9a0b0a086f953fc80d552864064e06a1c5010fab1c93fc963fe3a93920c7915277f20dd271a8e43d6d58ab6e90c07510f4723638ca7dd9af570fafbad46c8b1fd5e0655e31fa1412cb3326fe94ca3ac5d17209b95321ce1b3bb42ccbb273d54cc931e96780e7bbe92e32f25bdb54cb18595a5f25c39c8903e73f2499be222019aca81c0635fc6fae96e4b6181f1c8f169602441314b919c04a55ec919c2dd451faff4d43ffa33e504026a4ef70432880eb5da3d7508cdc2a4b8d726ceb9e8d4e4a750b18d14bf16eb045aae07ba4a602cc72146aa89e70bc2577a66697175b83ef3b9b0a9500b4457a260dce1b2155f2f1720ee0ffd487f7318310e660fddf3d578717a2a93dbc9bbcb922322d5a1634a6724ef4f9d223035a2df8ed56dd37564e454d3f047ad6ff0c38181fe2d0b5749e720b7816f20004b8b3062cdf4369927401e68178062e1bdf3870e4177a3f397a30930991ae1e2c575c3f210bcff5b3bc8f68a66ed7992632fbfdfd97f793980d15cf26e711d230dc9fa5cb15becbfa2fa00bb4cce1799e0c4d79c2a8c6e5050b72c8c4017503198005bc0b9ec191e8ed2074c7c335d8f1557ed11d6ef8a98dff7270235110b0ade12fcebc88008c22fc45ec941c505f9125e63017f88e5bd3be7231537bbc3e5d797f72442a72f2e4e12abac761c4b68a73f812365a381855e072a4a6e2f99c41edb462b89dcd8790cdf849bd5039014938e62a1229b793f78772262ec9cb9874946a1006ea20747a3723cf496da22da6fbaaca455ad48daf0f72bd73a1c96611a693024cffe5add4dcf928d167298dd763a056e0c2f5c41290028ae729d3ad9b8b859d09bf016fc08d6151ab48956f5b4b4a063a3877c1de5472f5e9605f1f66e9ff98010627d94fdb0c85c19c0ad4f05b7655bc0ca05b17a34832b55c74460a17905a50c3dcbff0630f1299a65a49e8c6ab208f05f9738f1e21a40068c1754178c32fd30a3a4bc2885d689530d03f7f91714156997018ff2a06ccb0190edbb9c31ef60398953a59d9e720c1ad4642b5c47ab5c4a3f423919f72c18764c764d7a34749593fb1d7e820fddd5e81ea211a4601b3afa4945f134472180fc6f2e2d7fb2d6d49e9483b7f9bbf1f2bf0a86829a2836297d6b22cfe724a7788ce3cdc7d687d0c7f1aabcd10453f2f9489372b1cb32bc0a2065c8a5105368cb555dfd12ff444aff1ee957be535de7b99d55526fa11602452918f18029b5931551db504cfb5966458c06a3e4de58ad681da1c7c9b7fd5fb7885edb29fe81b4eabfeabb017790718311541e9ea04fef149bead1e66ce97d89ac8b0483ff872dfca6c60658755471627484631f4c94f3797b14b4a7706703f65b649420e420ecefa18d75bd32b25bf5edf5079c06f89fba734d17f52181b396d4aa9d2345d72b87bc328beb197be60d151cb25dc4a4a5b5cb0776a934ffa1ec52189a749984f5cfdd1fc3fdf3953d19d810f4094d5f2b12e04f8af231eaeab11fca9d075d823ea95e51e32fb50e2b3aec62cbc4894857a6a251a88c9f5f6d4bbb42497e61c72e7f31330b15817c87fadd81aad51ae9b4451255131a85df3a817fbba6cae4f4e0efe62b6740f2baa071819c6c4ad2e4a481a2a6f3cf46807bfefe71a2a2611726d1632bea56534b89909882a01796448146e171b6d77beb7bc1488f5cf39911964e4a5e90191a92a2b3e4a459eff0da36e57538160b1f1c38a45182483e3e172348e08d0fdea70f69be9e4140f96639912784489d8724d13738830451d63e972f024da8d5208b2e14ed9fc6a7b820ce1784a10b1520fc6b8cd784a6bfaded67267b9df29dff610ff35332120b311dc65beeeac518a8d07a46a2d51e84e9c5f72355b7f52b2ea700a9516dea06c83d44c362959cf1cd60c9e80fb4805556f3748127fab215316ab08cb52f0a8e3f37ee7dbd506f0314970cdbc628099f91e4235459a81d72f0ad44eebced1e578876d3501eecd917df5f85aa8ac937342ff6a14d48a4c993ec0c53039b66f6d924a20e5768e01f2e862f9dd7faa8e7f3b90f5723f516f6df88829988352b310437a6b7a7eb9eb8b8cc4efe506ab4b49e56ec072f42f2de331b697fc2a694a8974a5a27796ef1339f907c438b93abd710bb73c72d847c22f2f07315d3487ba81e1101f389e798ec9e80a1659451d70e319421f72df5c2e93a50b50831824be8ff90cffc227b0e244eaac45796995c6204e29617240b0d0ca94164e0fbc496972834d644504194b54c41e977e7216fa52514a16664628faac8687af9a41b48b2e945ce884595fb33b43969eaa1fd0622f615c4672c281f1896f9df7ccf458ed13ef70f59bfa60895ff0c138d71ef05dc1145bef72542135b63026079909122275e9aa6956a35b93c02512cd772a54958f17479972bedef15d696337754006d88e565aa7bb5eb2eee5332a3bf17752233c9d1ad86564248e714c42b9440e4320e22cb73b854efcb5e910828a1f0b29c31f3bb4a0721c177c77fb5cf4980e6ed93d230e4f5a62a226329c30b7c43e7ad3ab4bf51372e0977486b9d1a0759803408a5653658b958d7a812b45efc90d99dfd7d145962f190dbf11d2c07087494ca8a95dc01d317be83d1667c45296ed1e91d0727bfa724dd7583a7d2447635b6c03bc12f3cef22a6f3fd59a41f08da1c6e7e0eb15275334b5fa6ab9912afe172075a6e8cd9ac3982e81f5e326a056cf0cf589a54d477290b519a99884fe5bc37adad4ddf494e7f728255fe6ab542d0521a1d57f4d527288e39c9e49dd69d348d5eff463acb3d4bb40715ff54357d898cc24a233cde27272947d448f1de39909722d24464f981df2639c72f1603da0e9b65d5beb1f521f2e8d6a3acb2a634d51bf200df99d5f22c0e640ffa58d80861ea6c45b6ec4d972e9accee84879d79f28ace6187405cdcf00e6b11ff3d7573a5bdaf166e533b9722e6c98c6a654a37a98b08f07dc142dc092250cf0330f7af4b5ed89e886f53f368250db86aca195224c0e75d07e5d3d4918b080abbe37809e9425f342fc8711721e3661845d1e63d94b67e45816359c491421b62e5ab437b855de342a380013722a43e332f3060b52256130304e36d634429e564870499565f99a08b8b3747b7203d79329ea664aa086ace97a8622dc3d22c18a73f742cd81c0a22df157380b72cd4bedd0566227bd9cea25298332c1f15bf13db317f2fcb4d898b47457810b4b445ef20ea46c182b1ad9a0d32f47f10e33cb0f5e42c3b0682551c0a504b87872a331ee41195734724d80b9eeb44bdc18656308299a255f5033103c02c6d6a1576277f5852340da8648f7397231be28f0ac77851452fede73a62b9444ecc8f07232f630c17931b7cc1543100dfe341279129350440696652b8e11882691073f37224c2485902de03c6a21b2f356e6eccfe9537971b3faafb996f45ab04f3c93443e9a16f5f3ef3fb3309a9d9e63c71fb2f05fd2314b1fc2e327e6a94aed5bfe20dbcb96b6c822c2410216c0389530eabb21e32a7a18fbb6eeb893356793cbef720ee6c39d7eac970993cc191d44e4cee7e306ae7b0e31221a12cbe1ab0a8d316d9a6309c8ac97e93dd53d654cd0e0a89107823ba59e2c961528e49a94f0b4ff723b8441dadd28981d374df0010e615522d586ca0d6ac9f95a08f8f9eb7b07a872d6c659e0eb5d49f6124879b44a7f142aaf315455ab33217577fea43db917e74524cc25b319d1b9f1369a05b98b6cd9bf6aa2b30a223cb0664891c78dc5d8b62f1569cd173e5bdcd79b76796c7b2df0e4cf2189aac844597ca67873399c9e2e72071fe655c244619bfe59d389339037c854441ed611927bcfe79e17b991ab3e65dcbd67b81893db5646ab6e59baa17c06c473fa23775482c71f630b65ec4123724f0f619b38de59917c29bbf0c0033ff3d58198095064bde01192aaf720d3cc7207288e859e6dfb7546151a30cb5dfab67128858230ecfa5fcce5766c05c54f4da3d0b9b28712891eeb5935091bc0a47b3c67b6c81a09463c84a6bbec50407656955fd6ff818dc99946cb682c56640909f544878907b03f791fcabfe83b8c15720d6535236e409e9264177c44907aca98d7b247cd621bf78f71956b9416d7523734c8ef9a44ff960f03c3a7efc544729284e4d98367d49414a8e6ca4c51845072990f971314f894ab29befbc2725ecfffb244f4e9f33a1f411fa59568f00c6037c7f9a8db76ddb1f741812a218e98aa9f02be7132d2dcdf38e025b7a9215b457282d9e3e5b141e28d8e35311709f56f999f0ef00039891e1817bce189c28d363ad2bb6265b3d3ebbcb8c80e80a4f5661a886a444992fd34307395256d16a6e372b05d5f437fb4302affc10a2802a9f49fdff15b991aa794278ac66b4201818a4e0abc5c354f2728268cb32a25f6d81910abbd5c3bddfb1ed6d35d8bfbbc255023278b7cd0e2acbdda48b3b56efaf22722aa6e54f96a071f2c31de07b0cad1c1725438f30e03d70d361c8fc1263f7b5a1f88e54ec742b2c407e7da69ec7583bc7270ef1923ddabdf5c51dd7ffe3b4dc0a322136c68a7a2fde1a75e7c36039336475208a3a5aaf2fb0524beef3eecc778d8546778e764945c45fb00de9939b8bc728146a3a034006277b273bd7be1eab3ba2f12ce8fc55b909d8e59c173f3a0e9728e3b11c7640d3e0d0ca29b02217b1d8a49ab0a6b670c150fc9bfba04ff425d3ed4f44eebc40f67509ff77e75f1e4239f261521ed81359d30b2f0bf1c2d583a7225e44a8d091161cfb7edc24b7b2707d59a1f44a23ab1846a687e0cfb6a25746daf523f9842cf1cac02f649737b01d9c9fe2cf0406463a4e8b0629c695cf7f272f2bff2a145f0147ba973d26e1bc962f12a34fdd8d9548f3ba70e67370314a0723b31aacfbbf6cf0a2c650eef99f862026ab031d29eeca3966c9790731f567672cbdb0325125a9ed4008c7b34544a4ec879b732ba373b2ad9b967ed1e49ffd67212dbebce2213e92de68d0582cc62cf0dfa7e707b910a7a90feb75d82520bd4728daae5eccaa16587eb5fc2a63705eb33bddeec77ab31f89184e6c2f8cb07757235f6a07e33ccd27e7210ff2082be408dcebe940e34d37300a2c95074c45bb84c0aa50de71b2f2910493eeb5fb1b588a9ad49137239d6f8e859e3782842b27658f2b4ba05ded803cf52f42b061e41e87ce09fbb4d8d151f0475f17bb763629b72fccd0dcfc85682ca4845a331ddbe835e26aff58f00aaad9c2dd87600b0a19b3b708663a2285809177ba4160b834ffccc7ae5b14630970f65c33901d684321572a574329066aa6756e1fe00eb51b3b3218fc1b7e6ce460b21cca09d99edcd3146cf51b533b7c3f17a53f1aae50bcc033d6fc09a61f375cb84cdff985718c0576932b4613ce7defe64c7c35f093e8c95ec42ebdf0f483ffaebe40a017db2257444f595bb86d03744c3898190af21092b226a2908d07814612e79717ba4d85bee72f7888b81b13763e6f137311422706616c1345841f635b30a08cdbd13b90ce97252466fdd777e7d59bf03cb4665c78ba2734f91cc9ddafcff31e745bb77f7f84e88791dd1b36efd76c0d1cc7ac479f60d949897a6294c5467f638a7d928410f2f217b67e8fd2cc1a7a4b05a36287ab7151f1c6823dcc04b8671701387f89f6d722994748fc2633faea00931f8b162eeacb935f23ebf046474bb365998196145727f92fe4b771ac664687981d4be3f603df814b8d9f8b36f4b3ace9f8b70210f306743bac5ea8f53056dca68097b43bdc76ce28bfd2c4f507220be682771c1a533d84c6183172287d2ca8acebcfeee2f2268729677f60da4773324ad41d8b88372a6b889474d4266e64921411a9dad3e8c5a54ef554f34fbd65e3b7a3095a8cc728552759882bfe7045c3a5d77888faa49459d5e6bc15cea9a0e22bb477b714472c23aae372a77694b256b72a131bba2eb9dfa7a737368b0a52e99cdd4b78b62284d58f737f874b1d38011cfd38a12da0e6ef232fc1ed2c3814be6246b0bb1cf6cad282d677cf8fd865052514b5381281c17d408c1a4f465a7c2d3b86d456c2d722a0efe60b6a3d8acf820728b07a74ff59ddddf9c5e65f7f28ca1e762d2e83272f86c60264d7f450316230b820e5d5970319511e6310679a7b4196d0f4ebe29728bfa68b4c50ac73ab07bb20891fd3e5ef15a8c31ef4e044e2358c1d666edf97254177c8c7d0d8f5e7069ec1870fc660bc9523b1e3c81a37bd1ec802ca310b72f7a9b6e485844f8b6269506196198a9a5c8850192e99d0ab215cd5cdc5b98d7229509fec994d370c6d3fa1bea26ffedad9ad0257e4a0ab7bd00ab3c67d61d5610ed2124cb36fa2b7b2c9ea5d91fbf50609f199e2e4e2ae0b5ecd56d2d7314f62f61b430a42d0b10481cf5732e8b42f413f3894db256f99074c9cd16baeb86581f8999cf48d229c359e8297137fe15aa783073c967472c550e70cfe3db70b821729e2fbfb83cdd0bc00c23d0260d3754a7458eb59e98683c37427193e8c6703366e64958aa2fdf368f34a6d5b512cf97f28335911fe017b890fabe4881f7073d33d70559449063ae49a1d6a4a991aad4fcf819f29714c10075a6b5d0f9ced3be42cd948c6501748bd74270590c174167d919fdfecff31cce702d012eae5539bc723863bc232b1189f25d40213f0fc81287b83352c9da0917377ac89292ecbc5c72e0b0af2456243d1aaa0e635f76f1042cc736c34722a4960329eed3b0d05d951d14c0a325f7048d81938cb61d6611b1595789192f31b93202925eb94f1c2edb7108e70bf7190ad7e0fc9e0275a03790dd09c823c4716c531c59e263152f83ab05af754e2c911840935f231526fe3f976856b9c3a284e50339eb6879291f7af9492d998d48913c47fccf969183c384df0c687f9e08a320a67c3b1ec1a7afee2272a51b107a5ddfff748c3314ff9f03c76b117f84af8aef8f8da3934a4ea1195b02e18fb4b2f9e0c5f7fc70bc8b9c4313753257336d7c75345b9811b4b99f00b712ade1750e3d2e610caef74bbd6272b0a8409c17264eb59a93ee50d455e700b0729e39a39923ba8ba29b97b7e65123697454ba2a620ee5744582cd8d523d74536f069c36d20e106e2884594f839071acd7d83212cd43f07094e9cbedf1976d0b72c3a84f25efa8bc51c938b8e1f42e92c63562b56de559a3dce373f0e331a5f9723552933c16be7926a2065d5970e30a45fa092ef49d6ee6ec0a7c664e54b40f72667d914f904b3485e7f57e13976e41513bd8b50bbf6f5d9cb48284f65214b77292157e675d2a6ec312eafc923e71540ac933b25cf487ca4ffc0febb2328a283cbf65ae664a43397676d6a928620a96eb60c3bbf2f94e889aefad68561c33d026773c52addfeedc58f9154ccc37704c8e0e39fdada1495e44b869770b07f41372ce5505eca7bd27e86e37e667dded83f837dcffec816b0e482065b1a7e6fb207269056c17a401c78949ce3744defb2760fcb3bb0bc201d0902a2e64c56c46b7728f86e798133589ed6c0f710b5cabb56f26b884491f38953d458d56793e7f7b72629f5a0b8d86ad26342ad80ad0f564614c1541a7421edb3aa13276bc0831676b69d483f1fd3b6fa027a630f9bb115fe2176f6e8ec775955fcfc7b1e7eb272c72087dcce874a8d62106dd3b66bf74e09ceda9ac201c0f3b77c4b5dade20302514a28b06b34a2f85cb73bee76a5232cdd62b50386a531be7dc2a75115762a97572097ae443a23c15778e5a067758699baf041937e34a8fecfe272dc728da21d16882b3fbd5010a58716832b525947cfe922e32c841427ce5ebe58bd2ff3ce03272b98ae829680d2ff1b1fd885bfb6a7d9f367b1c634a21b8a7e0bc47eea4609e725996e7d39208a81df6ad571368ffe7b7470194cb61943dce44ae89970c57161f581424248ee86def29c01d9b3cdb5043ad4cf65ca7d1eee9185e27dd4ff53072c01c37d235005c14eb20ea25a17179a41cba8884c03e74c05ea585b19a39527229dfaaabb6167acd649db8eef140af8c4f6403ed570ae11e75552f2267e49f7211bbc7d541ce29f230c7e4c7f509beca469ff6d5e0929dd15db19396e6154972c7fc701342938904db54735a3240ba89248bce733cad0ffd642854cb9e2a6b72eb666b0f4d4ee471bd2c0dd7a3fea6092aa84aa49fc84c38535d1b98729bbb72f8e028a0d521ea90d6b2dd3662336fda492e8d915f237905e414d562ce487272039adba33c46e5685004dd630a3322f75b0275305b07bd0c07d43b5c718e4572ad1808c1afb58e8b747f8d205d6cb101f02dcc72177b0e2cd04095387b261a720868685a1a59defb71198b8b5d9523caf3a5b92d7ac1ac88ae766421b225432069e7425079e6c483b166f465196229c4a63be090bb4adb73fa93b5bcc589c37245c68858fd98b4ebebc6a0e0119f11e2448b1b985916d5d168dd72c7d12ca64129f8d40236142c221a36d7168ef0a35bb498dfb6e190f424c59f51ff009ef645146a3334d66d77b0f9a14c1cc7db5e34f170a47fee1e60c1c8338f1f9b7e4f722bcda561970d7dc94dc2efa9f097d7ac19c7287cf2bb7e18076b9b300f645c724292cca4b210866765ca610996a9351bf53b2d7c85feb9940f5d43a243856672f89bae7f4cdc33e6631952c20ca4aa4fd54c041a05148a6a43ef2a943bf10c56a53fa71717d4f55bfc17b6e37c039ee00166c20b6a9b7892ba972a2b38c7d14d275305b534e0cc81465f099b948b9a5262bfc6f17a64a8e864d677a9b4160070eebec41bc6f3323012474e5af0ae9b85d8e55c6072964952616c6b94fafb8a72f5708887dd431329a28212dfb5d23374c999f257bb8710ac05f48af935b2d51f1e6884f298597a6f0ec0866aad057e799a6e47991f2275144265cd19413949723f2f844c4fa7465bddc92aff83611a21d9b0e451a1d6b371191889551a1f01546eef9c5ec9ce52b644ca428e3f73aa2f85cdf977f6933b47755525edd9ff0872dff43c12c6cb9a00b738ee809847c6d43d6f893f81deff9e9c13290f892bc814e619707c48ae23a61f0abf42e1ed38baf461b996a17551fdd5b04b12b99edf72019e800cc946cc84356648440e5120bbbd853125ce24b762b6869788d73ee57288d26faf072c2efac41a9d2de1aa98e90eae857bb249c61c5b9decd36afd0e729241e016e21c07b555744e3c320c0c8d7dad087f2d638c0e8135c8b8c69bc1318e7051f22a3d9565f698bce4e77cc1c7f2d62bf620dd581bb431de059c7bb7491829e2a3f2d1260d875645876169dcb1b5a6a32430994e818799c49c24f6337200099db1529565587fd40fb1bda713683bc76b9f2117398874ade4d7631eee396b308f60a02402b9dac38b9d7d16ab984cbd0c3f0cdf8512b6df8ad9d33b467218abdd9016af4ebe106c27a2e6c942875018ec465d37be99e19e98bb3221e9723637d998228b23a70f1e73ab7ffa2b3fb3a6785552bcb78e00e112c9fd963172f2f3d9b7483256ab594872fa82e7d97f407b298f16ee43c4e2a7de2fe0b52a2219fd870f6b2b47098425a7def8c70c3dd09c93a4868e9b6da18472a2f9ff7511ff41e27e050611334f6b99432e91d9b36ac5f40a26d1b21ed78d8edb0bfc77724b384a8e5e9586fc241a34591a97b9f9da1fa4fd0231405be17d06e22401405d2a8d058ef04cdc8c1dc71e28dc71cf10516c6500df915750c01c416b31613a7284dbd4ca3be82f5617918988472f73818e59a9beeb0bc030e3edaf00fcf92c6b31e2f338e7b3c975237d9946b2d63e91e88fe22a83ade1e73247dbcb70957b72912c1e7fc3462f17d358c452b368f29daefe39bf895488d3586adb909e6fd1172efb5a2e1f05d556a58c6fcad7c10f9d6e86f195a31206ae2aec0564daab8a39ede75e2128f0c1c37c457f364b56c854b10399b6a011c148824265d2715a152bf03af3057f07f95b35c05899c75e1db9ab45a12e64e3ecc285c7ae50c534a772901ab3adf79d46e694ed6cc154720e337deb306ece2ad2c6a1a3ecd8e5c5ee72c7552678623a0630fa5fc01c01d94cd51eb78a6061b6d61c125d022833250c72d53483b1f77d87a98840ddfd18bc134ef214e98be13b33660cce6e37f8b15f072743ffc7c94523e7eecce60f298a252c68163dcffc14f96271f9cce13181e46d92c5e06fe957935b8762c81ec6b2f19be4f1e9882985edd9e323efc6a90b97724a0290663f3d36b704e931ab8484c2c046ee9a49dbd62c6c9bdf05b4708a0072ac6682d7ef0479461debc3e159c7bd9469623342839cb8721e07a1d66d9f674d1bfb1c63df3a9ff14b4cdd5398d896d5e4486f3c2754b5337de92c4734e2082eec2a940de3605db495653986e96a21ffab90c2d81649e846a25c6583f03110721625f4761758d7192a5cedc69d7cb8f82353f49fcc62d7a08e2d6dd13e304e7252f494b5148c4268dd16d972f6d2578db757d0a96393f1256a778846b5ba2b72ef6f0d722dfc0bb7f3520ed9d3370ec07ccb0ce3dbc04281060f9cedf2423272ac9bf925740849705e894bcfce5f25500c15b68fc1f39af2a83fd78ad9f3e61b42b58c507f0d75a3f2dc1d94bc1df74cfe759776a23b13720ef921b17d055b72f1c49c58ded5a4c904f3d59fb262f943ca7652dfb41c1f84ff394d3a53d0b428c8fa3428c61d556038e80b10cdef191bf6356100558eee191a0fcab502486e722bff7c9ac62019b90d51ca1a83aecc30b0780cece1f96ec7496ffd88a5fc297271b4f05a52cafc68dd12974b4bcc62510520203614644e5f1ac929e98e79a10546807d33b55098a1e1797c0cb38d0058ed693faf739665a1995378e23a337006ebd68fd9ad60a4df4a71be79fbf0f665186cb1cba34aaf4959e68815b635bf724154d1c47cdc43c138558054ec57d17d9a22eba259709627ae9b833ae4e73b6d30b93743016650cdc0b6fb39d3844885910aa50a8f24a70149e2cbcb4cc78d313275e2ebee5969e659a181ca8547ef1494ccea27c9aa5580e4732589d6fc0864d852f15ff5ec76455b4d3e8829aa7063f2f74206aa4315119ebc90d51b105a72f7ecf8ec11db720d3eafdaf913b5fd9df68c403db3eb24049dabe02cbfab9836f75f825f723c8ba85f434105089bdfbeb744b5168da605d8d05a7e3b7710db725dba5a339310d766ddf73200d058bd4dd779b1f318890bcfaf8dd2828135cc729e27c5b99d27e2f5834228343e56826dd14ca109b632a9b3466dc30c952076013c4d766afe89fd23e44dd43a0bb9c4d20422ef0e2e0ffed02416c044c752bd72d5d4ef08f26e41cb7778cc5878662463ea01e18bcfb377a045a2cc76b1831072cada05dfd70babae4444ad2aec412076f9997284ae412398d0dc46daac503f72c13d47639b8ff70ec7211df7aa89d1ed36a75e43235ba4f932e63e81053e1c7283d107c59a1df826ee227308e9fd0a9035d522b54262d1d30f191af87dbde172d9c6a7381219215fa219aaf16a5f2c4a912af262e4948e6afee41b74023b087230ec356f91b9c388ae47ee76f154bfddeba4f19a27b96e619749321dd52939723bf3b24bfe8bf6d5c0bc2990914592bd2397739bfe20c2584821dc19527866456d0b22ddf1641a2e6368254d6774581fbb9843fa2fd0fbdb543e0ce4137c573933e09f2eedfdacec8d1a3c8f6135f8b0726c9e2e873151600792a2b1ef0eb16287d1556b1d419d3b68553c8ad9bee6b4b6462e82149c080aa2d89512cd1fde6267c793e48e022c6aee8f64033e7fd60387e1934e88b5fa7316d8d67e221ab6724e1eb6ca120b1197bab6eeb92141bff56ca6bd171740f4ecbbe456578d65f83e8e26ff29fc94252c616c25cf6ff4857728a4e888c6bd155826cc97897aac4872dfd3003d68a28e61c3f092c5d5e302a2faafca76df1ed8905d5f0d8f6756267274599c871f35c8b3bded5f0d900978c6e09d08a8270d05d1c4f1b9670328a16aa2cadf3b84bb50fecc87f4aed631bfb960658ad239d0beaa293ed9dde162e869baff27de2dcb751b6a455d747f8bf738e708c8e2c38876a9412ef66538069458875ed7ceeb655b80d301fa7d26700d37341454d5538ddeb450576e51f702e8244ef71ff6304f56222235115c6852087f3e472cd486593c70abf995f47704b13d781d414b8ed3828f56689912026e42844d82968a128894016246598ec018a12664c0d9b0cf2aab1bda0356d46c2387cbea66b94a49d83c3cabd4aa46b865a316b76cdb2bbf20a374b4422a8a5b0590bf2193924a3e31245f72ff718716c03072b54a56c93a6b0ff56dc2462558f1fa9fa0776ac6d8fd0a3d0a791f2cbac5f36b7c53d14460f72d7213bb05e39a49c9bc6114e692b5aa69432f5b3fa88ec945723f78ef5ef543a43a22afb803a56da917d8490431d812046244012c85a2740a2280a259ec8092cc0cf8018cad9590219f45531c78cb539b273f8192bce2ecd7644772853a708e81f17d9a9b81e54eaae60df82e6fd033116485e2bb72856c38723384dd8228ae3765038d70760d81b5b2125e81927aab9f0738327834f088c5722b55add75ec6e670182174a325f2ef272fe60306855119c6a395a7b023c38a3d769e14eb9672dde32e6135dc9d19d8b520a470174c971be9657a5638b5c56172678e6ac0333f44f47d1180135e86bd85a348c8d057e9932dffbaca9f26efc272462a73b9073f4c7d431d15616a16931e270a689fd1fc5d97902fa28eb9e0f572ea63d0c143bae1f50676a7fef95fd924c468107197d6d37c0cc6adea08f54972d9f68c16a3c4bc4e9fa16c17e5d30ea9fb47d2399c4d1d72825c422bd8daa972c4addcde3234c443be790dbd8704950efeb0cde76a55d5bcc9136d6a7137a72f7642c022eee3182823b3066f98b612bae4912784172d81b978982f6b649e0f72b2a4ea988cbaa8b5e0c00fef13937c554b41d2428eeaf90c41c51d41f8d7127285970dd116566380cb59be782072eb2d903f7394b6489562f86bd963338a2e3f5611cbf5c9893de1d7724d86c043581f7fbcd177565245caef569b0a3f1da97229e9faa0c318d360a281495a70babe01b06a2c9f0a0b61d69565ba6cc997446271815bbe7d68ceb2687c0be6fc76ef2aa6f81775d7630bf8afadd777ef823705b4fbf20cea804a381655703fbb7890f859496486189d6e5b9b89703ca03442721743c20634f57a2994379afd1630832f8234842a89431272fb1264edfe4c9e721bb6d0c441e12083a829ad326a4f5d40eed9850198bed06505667e34f303a172e720d2b9c714e385d398fa449051f57bfe344e1133786ae40d5a9c8459b8b8725f3682678e4d2f4e0b55d3178334e9b2c70a90954237b4217f903e0e627c332375604993dd52f7da05254545ca8019fff32cd73b9a4228b9c73e37c24e36db3c679485d61ee5a34ba81dd89a6665b907b55b67a11be4645c7b7b9ea5a5f90d72831e6a1e4d08fb53223aeff32a542329372ec188d363262351e9a82d163e044ca0bd1be453b4518be1947cd02becc31bbef540bef9af7f50cd4dfa0e9d62f504dcb178dc97226b0eb1be04389f0bc02b124d1e031b0d1a10c82e48dbad402f01a1159fcd2420acf492b1c44cd91762dbc7fbcbe2e975f98cd0a7d51b3f46cd72516dfe041c0504da3eae64473fae4fe9f271b7aab0b0d391f3fd63d48adb9e424f8b07dc3084e665926e5de7eb8f5131640eea269532a3b5c0d5982205ca807227b97d8dd5b268aefa79656257e9fd09f6d224f8ca7bfd65d246a30036f61872db1f52e44580cec9bfea5b17058527d9c50c57e970af63ff244c200b3f6cde2eb9663e66f9546ba4e52eb62ea80caaab4df328afad0f5c7fe6e9fff4a7e6b92aa9d40653ba40506528a13f4c1ff626a9573558975167260a405feb5eeb770c7291ec0504d3683c0f25094b7e3c1788178e0826c9e0360489bfc6d11da87522173747668b6b7b01862cb0607e054f8ca8fb4b7642abe692edf53c51f73354d072513f28f06a9fcda859b050e40982b0ea2293ab9fbcffc92a56705ebd6d1fdd2b9997b6f40d91b8c3c8f5aae9cf9e793dc39c9652d4fd74deaea13d852b615e723a978c12b93c92fea52374d8d89de60bf00b8f8f6f432c21c45c4a1d177f3672401fd2c0caefa56c44037421b6c49c121877e19baf474d51ad30749c8f981c72de557e55e1c193c5bb47ee382073ea7d1d7abad1740abc77c9f12e9ed5663663176b763ded1cba18644d586fff34b3f5ea890dd3533fa29c76cc064613da8372c565d150a444d9dd050ef9d164cdd5bac8a81e238b8e8582c3dc20dc376db7729b3bcd1a6cb1c1c0fb20506aaab7e1f953125a3a9bd6aad4c6c9d5ad6c7cd73118691e495e36ac034bbcdcb012b4b5a8902b658f6301c71f115c3ee38c7be44136180f40fd670ceea179c7974b4ecf1bf3dd95a74560fb05225feffa9723c95aa65c1b3924efcf5a84fbb852a9cfd977712c62b50c58a17df59c74430d164644caf2545a86a34ada987bc9d7a1a43f8699a997a32314e1f847dd8aceef20252c13b0ef981dc9ddd27ce326928c6ff5f666d57d3c2acb7c18cc3fa8176669861fc04615e9845f13ff4adbcb1a1baf1b41a3813444e785d55fb796630b29b8512869fb868b6cd44d7966ad219f11721476b1140386ac58f4dc7bc62a08206be17232166a3cbebb2cbce275556d9d6573e03f1ed98d48c553fecc5c1cd5cc2a4572ccccd62a94ecc567f4677586a1a0676d42381aaba9fe6826596ff53d5d10537221f20852f5e127380a2564cc10d9ca9bc7e53d4ae93da462277524d93c897128a834fe4681529ecac373b8587d1eba15bb639618aefa87ef17a80eff7ee26325c4e9324c77601624ae0bc764baf505609ebb58b585d5ef229848aa867d96f472ee9f035d8f67ad3281ff7794deb8084f4cfeb9ad9ba183256a2ddda78e550272195a7b1c062892b15f9a82aab428213b937a4ed354d5f991ceb7b6c5cdcd5351e47a8e38eb785d9c79dba5e0a826369736d5b11186e6527bdb23ffbc15adb12f2b2044c39f90d8f9749e69d837b57726685448666eb40782ca26f6b7727b8d72a733852df5883235ba254ec5312bb0862a0f9eb41eae6457f69e4cc00b46141852e17d37cd77c75c4e6a8df8e02181285f93754bc98f7b59d9b9bfa2ca993a4a1897b3fc95fdc2141d0d7e2150672fe6f1323f8103a864ea9b50475d51b6227225b9330ec5a1206bb683e5f72d81df16b4ab7e004724838390f4c1dfcf95eb0b72400dfc6c5f4b0975545a6474283b768fd94ec8c3dbfb0e7033c202afe16f0039df92ce6df8ae2e52fcd43154406ba5074002ab3ffbb28ac9ef054362b5a872d1e9764e215357ae62deb802bbcd7f42c49353c7ce37ce529b94136fdd44e872874a4d059812c1d746fea85e822443086c2db7112609cdf19cdd6d268a10f972f7eb2e22b4d0047dd52439fbbb95f7fa8e6f09ce4d935d899298b5429a9d1d72c4d5935e06f098112d673ca67b0f14ad5ff1d834bd829864ea2b4d0b687c0d723429be505ecee462ae77485b9d42a14c8ca58dfdec549c78fb30c1bcbd6e4c72a591c257eb4bae16858044c23885cd559bd8c5970f0ae50136e5f826eb94a806f9f0bdccb12003986c38dabc22aa88bb29452d4a1990fdcdaf7abfd3014dc0726c090fecf2d13d022db3a6873ac6e98e70cada046ae9284c0059f9fd50ed037201755dafd5ac59be8b5aed9ac0c2d757a6b97ad5908618325d54f6fb21bf306e3991f102a74fd8592a7b0688f4b956cfd6a43a3ab6adc13fb34ccdc29870694b5373a150cd9432249f82c2ae587cbfb974613f51368230bc46ff43d0e8585160d6bd19a939648fe3e0be410f9251f9d6ec4bcd9c2f3587bf140de0e6a732e972f26f268c06c3a78648492b21395b2c93a178f9e0daf46dba76676c61144755727d817ad6a30f68c135e482e85a8cd86aae5b3919866af53f5257a0bdb61377720d02f88a77e5f6ecddb05c8b3e16960d9b6c016b5269b676416cb25c53f12e720f3e0937907c946052218443e4cfba8b85df914e694638cbaff09109a5f38f12762416a2e5468bbd8ae1527caede239d9eb2040d35fc3fb5257f3dde296cdc72f658186e2d0df85d6ecddaf5339c04cb895481d0b08969410ec73014a7d39972db8b4f2a08161fb5e5c5ab2878518ee64377a0272dfee6cef09369379f51e272fd5a73c6ed1c8847ff19faca2ad71c4c669cea9f1a454e3c07b3b8442230ff7230232ceddf30f06352a006e9adac59aa0f4423bda4dda891aa39b8e87bcc0d7250272a870dade8042c1ee02e369b7979adf02d38d44cfa6ecbdf3a8c72695436974f1415e366e8fd24cd484c26b974333e1fe73d1ae8e617f11d4dc5691ff172d9f23835d179f417f6a1fa164de1752fd6b3463d6b7e9c15e6de94993915a62e6e9d023e49b79fb34d7a366713f2fbded1176bb035d008d2b60c0d49e2b53572cc53d9d6039dfdc4a0f6b36fd5849490154f5b3e8b862fb77b50a42a8480e772efa5c6ab3792ccd372c8bb1e7832c9f5e421fb3e838ad7d853a3e0a2d69afc72cd2929e0686809a22520a90d1b42394dec85244f8f7123818edfd931ef4ea37287de9bc8ed909cd74eb871bff7d74767eaa6e077b58669972a166ae8a5d57d49c64e8d219284c8b1349a43cf71a50cbbadf227c419c0a552caf10d0a4975505d457f91a0bac89627125a090450b3de963e0a4ef37477d5c9a99b1c7c032da52b21e225a58c49cd2a7f9d05d46fb6b13ffd2187f7f38ccb78ff8068811b432e72579cbd1b896548275757feb06f71467b8b625fbb2307632cc6fffa8d5a7ff54153b46b9f8ed67fbcee451fca36ae1b581ec27cf1a20490f14658d7847ebb7b7268b64fd703373d456744317cf82ba2282a1d089da74038e32bca4151c88b06729b81fdc3bb891addfdb783f4e1da56155d6374d84b356417ff3dcd8b8d1eb4724bf77ee0b276cfc1d1cea5d1fa5eb595519701899e4f2e23272e5488a8d43a727683e1f414cafcaa5fa977f0a621d4f98443205249c5b765f1f482028c3e4d726a54ff0fc16223a593b0e03f845ff35e9284e08d3edafa5b21146a02893fd0151388a679ed067b693c9f3907da7a3e51ace019d64d4dc630c217eace7561007206bd8f158f2838321eb0ec4f2ea5877fa1f1f6922c6964cccc85b40b6ed8bc7221edee269af581f0cff9a1468dff9679da1752f7229e92d964cde22ce1f646268e9ec111eeaa4ca96d7ea9e454cbc031c7881b5da0a71529d76bf1c6a36d764743b8dd936d916d179664cd7a1904f6c137f55af655eb58dcbd2e9b558ce34972645661cc3bb30b65e211c10e13a06410634158fd3db5fa7a5532243da999367233d3a525becf9154de713b711508480e6fc3ff1a21cbb47e46ffd71ab725f93721d11e97d480782516bc32233b3f9348c6bf5f57072572f30b678f90c61b957244a3d08890a6734cfcca6b5f982503e1b27b4595505e95c2a6c6b6bd2d0df35a9157e68c5d0c2f8d4b7a4f675859e9d14fa55f7c5da66695ca7d5d967e683472b3ab3e465248bec6b6f40726665a4370e9662b921dda4deb1dcba6024095f732c31e00e7710a283803a1e590b21d254cf495d7ba819393001aae7e7249357472f47958753689ef0b7022a65b53a4497e51cf78a6bef70cf32f91dffb7b418d7249db5290d0db9d5db7238934639d9b13e48d7f94e371eafb87bda086df1ad3721191cb4bfdf693c3b64533bcc1732555bced4d4f6d8e3f6ed07d70fd95c9714e10dd320f2e2e445368f593f13eafe3f9c2f31f9f9369047c6e211ebeebe0dc6690485bc5f9f2f892bd2e093f83039857163479fd40ebf18ccbc76b9a8c40eb72de4a823431b32a07c3aea07ddc3afb87d6ef21d40dfd06c71b34361f3bcc314e116a8c3b0fb6e20350d41cf3c5037de0833c845c25114d94c246c341bbb2fe6fc126487a180b03b5789d4bdafd6f3543d109684d0018fea9261c387f54334772e17b5143d4ba8c49b2184570a9d9046f32a1e62f9d643b8411c704f83f80b872bb2b45ff2ca235000146c644a5f81cfe6ccc9f5d39bc71d4c235294bd656be533c9c3e7570dba8413d412f417b086080300a887e1d04641056772149d629c472ddae6143dc738da630b3e286aec45d735c2fdca390059d014557b25bbe24c52403a02c7de106644cc468171ec86207cbcf8acbdd6619a9f6bbf3755b29353d1cc925e7b0ea2186fcc5993ad53f9e3af5d884553d436c7e8a4aef58996e5dea1f91fd656d8f43e53ed177818d231b0a157fd999891df2e41f13b2ff7278321f204a46ab40405e6590f76401e079af531e45d0439df19ae503a3beb6f29e29217204d1df9091873c78204c45d5544c4d19aa21f77f7d758682021531577db06f72c7a3f3899397bb44fc8436132a0fb55c299f6210676bcf492a70eda09d804572dd88e4bf371627fc3dacd6c056099d1f69866b2ef22f2fd1153bc0b523db39727eae0cb5933697961b25a0d2f747286e83147aea1ff2ea330997e0dd3bc83124a157f92050e4d0cd8d0b160425751067f890dc079ef14ce66168588af1bbc17209599e08a83961de806e89741c7b3f2a196abdd5e99104cb0e091ce46486d8727b8d338fcf6814d23a7f6b513d4c6ddbe88c55e1df62b30f8551fb6bf3a7377286e76e645bb37a8860f744b207acee22f3046ff7eafe28542862fea25640442726c0a974d6ae5636199ccbb13de6f663f0dc407b6f008899ce6cc5142ed1fc727f314bd9f5bdd492abb4b16e7a529859158fb2198c95d4f7fc9b2743946d420e055d9ba89cf865682d3e29d39a24ae401ebfe6893a74b1691040b6fa53e6be728209943b23f150893139b8b1d4c512610773f3607e01ea0cf22ec894bdcc17727063c637dd299bcf45b9c0c18e66411a2451094d70f2c7d452203615b4287b726551c28a068e8290d499a51f933632d709be763dc69f85ac0bb3b062a14a147243a0a321e7c0db0f943a8cd14a9c8fb3d7ac65cc0eb4a62b4b778c688164255dcfdd85e4bed69937b33e1947d831392f8641b1afb57eb127ecd5ebd903cb26729e38f20a1ed20dc92fb72d51a66d19565f3a2678672615001dd6e180c612f84b81c1930791831269308f83dac0b2a4f1e14f7f78b968c391d6653e56c25b9004af20b072b0a44371238297e12730a37f0f917193a50a4742c5a45fc39f534f1a8304140f273a742406544e03766fb71e0bae9ddd1bd46a90e9faf324f27202688a6e88072d1c83c971956234482a958e96989a961ec3bbbaad70f00fef86c71c00c9c8eb84b1c4fa3af09f840e5845e60ed98252f3841cb1f358ac6b85009872c757df9cfe354a63531aec8de48c94825128f5d9b1e7f8b8e84dc02042e8707257858977395251a08536890a52089ce906b1c1debf2eb1a450f8ce103b1c0d72cd345da78276e5d69d6e0de186823463ee3b51ac956d5e7662e4003ebd33de72493ed74efab61cfd39b2b401539e28569c7ce634fd75b66bb6634c412efd5324e2bf9a4730b52a694179e97be2541f78c6863935fab695442c4dd08e3a28c072bfdbe1e5667aedc294a0273171a0464a40e4ced67b36ac0053c628945dc7e235ae60d7f798600c6d799758f5b07314b1457de41109cfbf60c02044750dad320b9b1b8ee182c0906485a5719bad79b169769ce1e5b05cf1cea87251eea916532759d0cc23450780e40b6a94acd5fa22c61ac44d4c7576411281479d44cdac9d0df1d7dab7c950d8e60b90c3e92819f009c8355b08972a7bdea0c0cef2edcb267230e0f97b1eccc440ea10a5f72a2c4025677892b4621aa7f35090bc74a35ea55d249f4c153f13dab09a1f99ff135b1d5236071551608bb14b406c88201bcfc172d8e8068b455ed8a6ddaf1c932d7cb75f0f6007c2afdd9776e9ffd6e072c19617df60a672ed7934c77d13f488b0a8dc499145d4af4d8997f554a6861ee61f6372d6567e6dfbf5b72502d0067649bdbce5b596bed0d5ef87c7ad864fddeebcff722e0ac877d762eab4d77052074f0c8dbc35025bc037cc21e045ef8f471d2922720dae2ca7d1c1999f46937a7f45cc2fdea8116c5d72c0336ecd2c1ef6c4eb5672abb34e15decd94fe1140703d0d9f2935fb1fb5b87189f1e26323967e3e0fec726befbeebd30a7dc07fb950b77864e14950a1ca0cb634228191d0d4a62829de06e4f507d143fdb7ccd4ac88d493f6f7be6c039b51b133a9fe19c35a52126d0e721865cdcb756742e41b55f4ed6222566feb17e1f8aa2624e705fc10be73487a7287b919714258ec15d50568f5664e2d497d1d84ae5b2256426c07e7b0ce9ca75fb0d552a7f2000d4cd916b016acd74566eb03cccd7fb90499b48a5dd6f1071918842a6bddf3d279c2f29301601ea11c2e61e88398b6f42a67bfdac316d1b59c3be12d6ae24040a40a2a0d0087f7288af8718f3ddce05c6fafbb37b55d3ef2c2690200c557bda4e8b276c385a256b8197582927ff2695691f2baebecba4914d172d7f3b6dc616528e835660c6580fd383abc50870fc536f942e85ba5642a30c772a97cdccc356283a83761179bdeee4c82d516483abc0e2e7c33d69bb9ed2f12725d27b2bc1dc7d948eb9a63c0c687856e76cd6f3828e89a662d345f32452c5a72c75a56ff6822a1d696c77d4611edf3b796a77cd0c1665290a6c044dc3d779772035763cf8012fcac24fc5e35e6b17ee154fde3858fbc38d2775cd6df2d4df672629b4481e01d28f5d7702a4bfd80017c393448be4df7dc19222950ce0007ab72087b54bb7259dce99ba9172bc0d6abfb8e5e2bac42773f630b88c06b9c1fcf72713260f29df4889ca1b6685c2321b654bec329fd6bc1a921f3d7194e53ee1d47d69e1b1e09cde37d7939be7ae9c09de3a2542f3fc81ba8f6be0a1ee5c42b8d40419aa7a21a5e1947896ed5f3fa32a7ca8b72adc5a6abdaf0307dda96c87c0d720594a3f04bfe11c7ca110c830e091d7ed367295783795ba1558cf0d2fa84ff1fee36717081f4fc56c22654bbbf32f12fd68e3f6f8cc9040a106f581c9e74f472ef892a4095cf408efc34e752aeca25396b028019785cf4b4ae4d40b4713282722ccd8ceede61a592a0d37e728dd5295611da3ba8edea5baa79b4dd6cf3f577726e6f84e05b1ba25126b66d846256bcec5b31a15c7cc55c153c22f6a79060042b3246664f8b5694e39dbf2760ea4a816846cbdca737f23a5039f89c1e4d730042f532802b3dfeea9ceba5d54776f12184eb8cc89a3aaf078e4b908344e403327287b30c9c7b177a070c2a0d040ad0d8aad447adf6c7f85227642a0412d761a73fbd0ccaecffdbf111893c207749a62fe7c2f4ba11e789f78b1db2a87642f9b4729bb6f1150780329daef9a9f84b561b5c8c93ba3daa63ecf4e33284690d2cad722ccb7b3d12511f370332b2eb95a6321a1ace6bef52ec36cdda594fa3ad88da69d7cc4b84f74a8651924167a9718ce35168b6115962a2f5843ba844a735dd674c5a6e095815a6bd7967dc8d6bb596a5e9478e2a18ce054d22de1b7e61ad55bc7289a035a9df16ec502c27c909f7ec053377aa88a35b624fe8490dbe7fdbb9667244aa987c0ea6288dccea26242b94cb8a1a39e35f491a34edfb64734a21a2f772b9956bd6d6f64aea99cd987b47d9bef3ebf3a5e28c0f86e6641f1212745c396868de2438b8d24f08f46d9581f6af5c157227f27b5617bf28c5f494973250e472b545d8aafffdceeaabbf530cd56756305dd91422b55fccbad27d50b2219da144aa15b7cf2ab5a0514d4f37667d3ea1d6eb4bf15bc1e1b8e49a735ad002b0bb72c642be7a682f453a8c9a406b77678b15b05170f321de169cb9798b23a14455398451a8cde2df67fe793aec5a8df3a81d57c933028d5bded854a15cba60a14b72241241d9096f47399d18cbf251bfab66f61def4a72ae42b27c6114c396279429d918bca2ce8e1e0d097ecdf019f142b494776855b4df573742e0a86b6762b37227d861462bd818f8b8c28566e4aaeb54a93d4d67edc83f88f76170ca11b434722f25833e5b2373b1adc572ceab14a34e9e0a55ca0062e74df2695429ac1b9b720ad48c4bcad966bfed5a36a443d7d932c5827bed2cdb7a9580c99cea4b9c5172cd77d8ea7ae4cebd3ecb43af2e07852dd3fabda9bcff53c078d731077050f8728816fb91f1f0eec1b5845e3969b2bec0f9e8b085a53d53689c8835044c4a605a0ef1216669264a06d1b75c7325cce3085c24b3ee2a14da5b0cb764e8e801616a8178021785da87717de4caf628b48f29084ddb1312c471c95fb83d093661cb26e67d6851d8484185bbe35b16fea7204f262eac16c9e0b3e0b92847e71592c672511df6f42279dd39280614d01110e8de323f4fea8f31b219d853ffbf1d1a25723d75e46f08970bbfe2444821d5d34f79d980ea1d8f0935793024f415d28cb51e151676b3e33f5e1f7e0912cc0804c8624a1414f321465ac65c38d7c741ace06e7ba4ba7b4fcfae8d495fd0668709d02e77005120207d48e1d67b25146e196872314ba03bfe0427f65ac4ff1b763a034a4439899710f238db6901edf1f2bd9a274bd0c51eee55310fae745d05f50eaa7b170c1ebd1e124a0c281f4e056e3b4872dc263cec08b804c23a833a4716c0b529b5cb3083acf1a2a70370fbdc538f7b725df23178e7043246f14eda6562afa7941fb4ce9b8944c509649ca5fafce85372c80288451a28d60b903eeb2ba7757597d0a937e567780496368e276a0c7b9e728fe942e0c35618ba4d95b5e41a6b93fb78869e9867647bd8895ac21d37f81572430b73dd795b3b3245cc98c1d0193b52a12d3778a87e0dbdb1b461d59250f3727488c1426f4905136d0e042124532103a827aa8de714fa5a7277dc93a14ffa1f37b2152be87e8509326759ff04a9fafca5a89af122878f6ae05f78cfd6359c47c645b10979e2be03d0dbbb95afd41cf96ad3ffba7903e021c11a5bdf93083218595d87d138adb4d7477890775919c6d1c07c309586f8f17bb355ec561ac3083272dad3dbfd91f98acc0b3521ed51446d6fa274414fcc155a0d44c6d6bb022272b651c4454bb5cdfd161b3b5b38eff45636f744fea4e032da742ef1263db8ac72e2d992d20a9737f1391223d712c56951485501be1ffc3704eaffd4e6399c2f72a08ed4f6f3d6c9871d9db7fc883b79cbf1a11111c713e0cf2746056d72185e720deb8ef8f6abc3d0e98da6ad7391ff8ffadade68a3cba6425fa33afef45fd372f5a87bd7ebe8e11eac549aef06c442691fb17c88ec20390c0abbb9c0591dd72d83d7b5b1b821dcf9ffae2e94bb6ebdbe852d9015717d9b56b6d610ba55894f7291c6059e48c6cc30689377d96cfb83f47f26ba79a34c0393334a5f917c1fec72b3ad0ef2dd5509306dc580cef2db73bd6e22d2784a60f61c1672501b2ece4615953ae0b1b4951ec9bc9c8b4d9abd061f0d4afe21e1fe78d82c92bc9bb2b47818b035f08b8799ebab6b6f36b335f25debb8e27cee44ae8d26b27088d4001ca972806aa0e90f8ae98d187ca7f642405babfdc3913d1f41291e82c5f5b808f23972541aa6def9c69839cdaf00da8f2f91f2e76c8e5b907c4e3ac7cda9a19ab1eb4d112b87eba91442b68de98fe83524a46dfd29af60b9819f4bb2e78c899abde972cf6500145a950348b57a96a6e5362d5e94953c810984eec0540881fef690dc2856ce2f2e2a1ad5505b68cc0c8b9b7b050265e61dbec9afda0856a905a82e1b72b0ba9bfadcd597f14035ff85fd15d188d055943b8065f93a25ec0904e9e2dd4bbb2000f2d949e7d712bce89772c619eb716eb17cbcbf76ddfdb34e686def9818cdba03cdd80c4e58926caf6d401fee0ed1c464f70d1eeaf8998929a3a18fdb09d1a356e263f6e3ff32698dcc4c837b99db9b95c57ad5a771636c8d3706b60f72019a7758bd63b2fd7926478403ecc0dbb32437fbbd03097645c5242cb1fe244e0801162fe1294cc23f9773c4dc4617c377bf2b91030bb698facb033fbef2360d6821fcd470be1a992b55b1f4a4b8d51859a79ff487bc85d9066876478140ca72c849f00ca24ef77f9f436e82ff575466ba72126bc0a5c45074eba16fdff7097270bfa96f25903177375e7366094a4755a6710e82e90de3d5e3ad7d742638c2725ef9f20d8256d077e2816368b5ec3df91dc5706e151ca67f9e3d50446709bb07e370ab6ad6850c218d0ccd3ceca30645d8246bb51d79c9ebeb7e395e9f7a0244b61fbe22758409417768d56c4fb54efdaa89b6c4a21bcb0070ae98137001de3e1fe7f6e8393f56880b3d426d969dcdda9ff51d3e17a690659395987b3cbab872b72c86fd738074fa335d0e229cb26352d2a167d9eec53d881e736149a7a836176ec12d99fc132efcc56f9acae2b836bae4700711db34d36ebcdc8ad318d15b72d0882a78534cf5b01894f5aa188cf0e337892d0adaaa8f3444d8d7e2f51a1f52a961c48dd80b33d1b59df901add9b83018f73cb87de62a22417b7eefee89e072f8334a4ee5dd07b2e269d0f485f6bcecd16910b0592838fecf750101bfb6ff72d13528ba30d137fbfee5e37e474e49efd07e9818d76a892ccfa09e80f26a4218741a4e6cd2e5456534aa8cf553f61dca8e73f2af6731c77422e0f946038da60feaa85ec7c0516ecafdec04fd1ee91c30b181a745967ef6eca0d0d759af0ffd72b42f3e77612adfd3f5c014faf53e66a62decf054bf226fbe53a76c87afa15b727cae218d9a69ef6bda5fe2dd927fe1c82e17f276d114e7bfd995556e5ea855720714eba113206a044881336a452e6159a29c4c45ceb555450e037ba80fd00a3c63c75747ff6b114952a9d7cf2c5b7d8dffe6593316306535563ba7cbe691d2473e9c28cab88d68e48a6b0db37107198ebe364e5cdbd58f296f797578a2fc2272a949b95e83876647bc5009b3795fa532c9252efe3b00fc2a42b65a1152366b7255a365631f9bb696a396cb3c01e10bd75e7adfa47c95c555366e10225e7b8f2a1f2d2de5c89aec05ee879bc51030350c69dc06620e9235a745df81fc09d430729af48ecc212815d72a5bf838b333c740da3d2ec5f65ca37aad1e69d6f87bf67264dc7f4ea32d7c3a0914822d59bac40de62781ac719c8337e169b512281550724b51d09e70db729225ddc0a3d24cf8165a764abf856989e0de785d86266f7e44e65d2c2243c7fef22207b1a15a02f6c27dbdad85139f484b22ed7b06c61595728946e3b6efa3507e4650d0ce9b934c48508c602134f6d415acd9cf0ab65b9523d8300ccf1d48e489d35f941b8d4c854f7b2568b88013fcf66fe4ca215cfc3f1af854bd8e712f844de674a3a547620a515274244880bbecbc03a0f7b6c81e5a4c542ddcf8a1c3d14cf357c8b2802a1afc62d7692acfd8e3639489f9509f6a970c7e30b7936bb9972272a24a6ccfc101eca95791fed83b4a44058289ce6e356572ed2e5166c7976fbeac4d60113afbb340ca163cd4c157b273bc2186d4e8e0b03c65d820e2bd1151f43dbff176d810d553d25cd33677f9395d9bef0f02a80a67723dcec7e0b3622426779aa17d029b1b580a2d5c0da3f1c3e3a626e5c7ed03c90a5a3154ed79d85e53b8732aac84ff87968a06b9651b86b428b33811d29615957252b7a65496bdfffcce42d2f8fda19ffff3b407bae8d069664f0388d4f553bc36d72a83992e6fe346304a41b35a38bf84cc6003394b1a70ce657b5bc4c1203b3d49085e389ec7d60d8da2ee9833c026209e80cfa9d762d3da31f86de34066821d0da18ef52937f2a5c3564bb1a3f82c29b742876c836000f1b256f036197ba43239489e65e15f89d21f0a10c234ea7f3d55ef028fd9ebbae87eca03d4222eb76e4cded7f9448d8826ef27b53468e9a2c2ef57f86b5549fa48a8a607e0c0cd590faf9cbcf05fc2d915e62abfea4fb8d78a05ed40a4a1e9e1dbbcf2b287b5322b7242b1c2a3f566e8efcb946460724476168188cda63673505c2889d6dfed482672c9e3b31b7453dc95b6fcbfcb79011c287cac0125a54a81e88652e15c1f02193cf36dcdf538cc2abcb43b9cead19fb0f67d5d13dfda360d4c3416deb89c5ae9722f66cc063c063fc2bfc369cc69253117b1231eadb0cc68c69b11a9ed78414c3999fb7b03c82eb6f121b0ee95afaeae38b353ee9538de7415396e1542c1128620487427ff01e404c8a7ea2baf1afa5bfc40944903c819495aa71172af947ead722e1f01f466d5d09c230e6ad0253fdcb07df296300589ad3bfc5c65e997a6b9127e38422d7da43ab5aea87f08002143cb7e87291394eec7498302c730303fb272335393ddfa9c61192930903a099111f8dc949bac4a082be9635c3c6cee5c7b2f0a16690819f8c9678a4fc12d3f517ee1c49473fe831abf84879186a6730aa27212cb0f3a55ee4170f4ffff6e1b9403df42da679a66360cab1de45ab28d44477208836a9a9ef4df2aad5b3da00306f8188dd009d76184ac931024e54c47831f72da88ac705c9cc1040bb2cf751474e16f0c9d73bca6533297c44d0d90d7db107241207bed90928e7976beffff7571ac7cbc758cfa04625a9f3a4e343627026137e54de7a9d56d366c604c733ee5e367bb050367e8d355c4c4bd109cc6c641d953044cb1bde36bcb140be9290ffa57b3da97aaf1f0bfb41d582eccdefe981bee020367826de1328bab844ccbd5c17feaafacefec383a32e01947359b9d49b729729077c8599b980d88ac3013b70a0483e17edf867664d111e4a5cee6a31a8c0e7277b7b4efb49ae4e3d2bbf16e0d31f35e78e48be50b95fbaa02071f9f51d21772c8017983f9d84973b098543641e703c5aaac7a1e71d2f3fe6ecde782d9dbd772ee9b585bd7ee3cce9f12166639c57399fcaa38c4e207d74f51cc249f82c4354bcab0d697b02b5967b8235f3674a895e2dc6508864a1fd800a09807862e18c23fb11864c33cafe15931380ee02b7dbe82990e10ebbb234e30b20ab126a48aa1432b2c58099598f70504821eb73f5030feae27265fa0cb369eb8c4c54641a157728dd1556aaf2f482449eebbe9171e4f7be27ee38b3cfe5a8e737fd22049af76634b03b2b48363c7cba6fd95614bd7b0fccc19bb00abcade073488d24a3f68d072aa72f36c06a6c5aa5224a30a2df8994e67850d15efaabb11b674793a49b18672aa3033ba4893ff676963adae0b2d318bbc6e85af875dbc5b06d51cf760bb2c726429df648168c345be0747c35cc1f94987ee0ae5787ae272d27e7b17763bdf3db465cb4715e03d33535af99b8365f5b8a60ea0fc351f8c4c0ea372a4508bfd1fb938f5c5f4a0ed13c1957d8aa8f2c4327fbc201eff6203198e41da853940a37235f21df8c77f9dae26d8629c4774fbbdb4404ceedcecdd3517d97c96f6afcf72b72b73942db5b950b6c23f067175b498abe099a608a23211dcae095624f4cb36b467e54907e4138c14b73461d14684b14579b9a6ca63cc6ecc25ed1c61e4c92eb1dac1157f25efb7b45d26235b6cf2e8ba80567ccfdf9884c6931657a7dd4572831484c6191f384f5b8004c01a26b59cbf909843bfd99172d3a2efe8cab23f72603e24852e8e77fec8027a0a5ef323112f2e1af942b091ff65eeaebfc63a7b72483b63da090eaee3ed480b95f12d352af354bd228ce4b0461b152b33d5509130b3890a8710c861e5b56644a776864115a0c03b3b747a41f28be79236d6b7176498ab1e952598e1f7e341e24db5848f41c3bde40287db0bac083d5101aea0e725eafd744416df117212780b35cceac171b445e758801ad36afa29e3583b316e7205f6a5be934a68f2f512070d7b34b7aecf7b262a4bc30fc5ec35b02a22837f721ca885e19715cc3369c36afc03ceeb7b3de54b94498b0603434f36c95f6f5572c5880e73e237ae194518d2832acaf0f0ea508d18ec7e928d79aabfc9d16df845bc12c7efaf804835130eb5da707bdff22f3befe2685f73093054ba0780a63b72a84c349ac5126f29e507a0a4af38d149f0f4abfa7337a464b0d56aee8207d6522fa5dbfde7bc6d39131cd029baa98b619a7103b2217b0f0cca9c3cdf4397f772c687caa6d7a60a657391c82e0cea1bbc953127e83d4c3b7ba75f1b61f31b25720e177e4b3f6c8315abbed887d9144256dbbc62ae5af0c4b95488ac730068ef72d0bae7654c783e4fb242d092ee581a9cf9ded3a52e1e9d610b3f4bbbfa7b95721851ab875aa66478439852512cec9c841e1cc1ad60b12962e8c4beedb8d66172ca3a303186ae02a4d3dc553f2d12c6fb3cc2c8ab11ca9b5fef8ccb9894b5e0725290cfcc6e6c2f8c3794842b37be19daeb7803e4a3583f314ed5910b2afe037279d96cdcc50e76f9b8278a73c44881e7cf2cb74dbd8669b841f7858636c6574f82392b43613fc709ec293fc8a594c136bdd912aa5295ed9b1262ecfae57dc468d051d17a7016b92d879d0afc5d35c5827df6e407f5d9c0bb6a05cc71871fe072fdb7de4ebca5b7f6afa38eb23e212bbdbd3bb1c4633bc8649cfd56eac7705872ae1c32e4bd2068adc3795e6adc4b65dc7a0c9f7755685ed2e23f06f7c61dce1520454bd01987e9e7f63200876133088779e78bbac75aeb8bdbf6efd388c19815fde4c47c479c8f65ff9ec03903c013fefa51f69e3f2473715c36b05ce7703372938bde417dd0fe642379aeb1970231b40ca27384798fbb2c73ffb7422af2bf728101c9ccd88e1b85f23c6fb27e1f140ab5a3bf5842949ad2ea451d6432da63725dc79487398b9850148aeb273194c7173df07d462c8c0d0136d0eaa86b10730bf531fd5f93141eb1eaf9e688f4498d3a5f9b4a4a84ba6fe68a91ad1b5e43903399315dc7fab250bace97019ce330771815a3222a3a5f6160526e1c372b4be257ac49939eee1c611bc752709b205952a89196c489f09b3626323a4b03463c44272239452620a5a984848589bea3c45825ca5a90a94e3f739c2a0902f30d7120334e8acbeedf3e9ccc31cc93ece23fd55023c0b06eaa3f70f9959db5994d863d72349714e3c019a1725b555ce4ff82639025a03ea3709134accae61173f6cd997218700c9a3405796d7827c031ee0be8e6e9a48d6a3c4aa77efc949353e0bca37262dd413f8144607b294834c93317bb244854dd8b63dc4e6be61ca1aafb0fd46e4fb6c721edd347fdc8d395558b16eb18c28e83aa91cc5305aa0def160383e3539459f353918935f0cc9b9a03fc09f5a843b8e0e488bcede22677d24ea56b2a72e0b49fc2819e52ff709c4e6589bee77ee984c585ca7899be59e2feaab4881072be9e5b43f430c5ffcec0fcc8e2c249a4ddf46affcce5c5921345827f9a755b6132c8e64867501a9cba991255c29e085320fa06614170e397ac4f71b041d8a11d9d222c38961f76bc84f902db1f1e6145c77273390eb434f0ea134b37c124427267c1fa7c31a18e3521d02617007ad167261319f12fe730a59e314f1cbbc08572b635d1c434225d23b60170d778a112b9a72b0a71b2891114e479f76e606a0870c39f3930fea2c29047ce4d8fdddaad997a073f8b6642d55eae862456c0a0fe39af15f77e3d98ef761582ff5297412bffb160149a5e1b7bfdb574b5192804d67244e9f32345de08d410416d191676217653715d581b4a72e6f169d046ad552d134f9a293f8270a368d79d9691ff88e8b619f46472816efdaad28855dd7f10ed72c3203fee0384ef168a7197f084f23c9a11ab39b25eb102606c017973e123776cded744902323f9532da9403b0bcfe0d1990919b8f9ac3bd4b2b487f93249e672d19b93853b8cd16254643af8a42856516be1391c7e4f3f93e0ef9dd1f281d767a08c96854b04c6c9ad96a21be3be25c2c8de2e47e92d777cdae81be571311d72846a5ac6a221e84c4734b59b056aab7c23dbb3a6d8f835f1c89b0f20aba29b72de2ae823e7c61b13d018a83fffa7dc01fdcaa414bdaf18ebbb7af92320a8f15b06cd8adfc66eeced9863719b36cb91eb8ff7801e5c4f48e501f5e018153f7772a0a672216529872a3571885b57c7b30316ea2cb9f63bb8aa271dacb31c9b64725f3cc6cb725338567a52e938dc5de7e511058fa98e124e36577bdddf676bfb7201b720bcd3b4ee8f261d800758d1bf50509b842f0e2a87153e3c976cbd64ff07905c3970ffe1d0cabf21506bc77c452453e480037d8fd06bc356b702b5e51a7241644a8c067f495305ccd76ebfa999ee5102f4b45279aa9abaa55b44c3c49a59f08599016671c62624acc2b680b6f33df791548995ed50ee1888a89e95021211569e554c1e06dbc04627a56108e087f3b47f85f7497124278725a2dda235f87244ce28bd5729f87af0013cf0fc66e9506a0f8c35c260ac54dc47480b199d907297b07f34af781771c552feca84c1b8f5b2ec3872636b24cf2b32a1bdad056f720dbfdb00aac8f2e261d1c90411778a48823ec51fe4fe58de9118ba8b2c51240ac6551acdde20b5e28ce065a46d4a0a4875c157db0746aa9fa771ff75a057836f16e244fb0b5c5045a8128d2768b57b1dd45e61aff39e27106d903923851c2701cf1666cbd4f46b83aca92168a82b302d8c0df1937907e7afe6231ffcbc1dbb72f7e63dcad0e647d87ea74d71f3035bc090b7394187b81385bdf2cea1ec1d9102202ea21050a2f1466a4c448a418c1bbd7308c0584b5ced085493ba3344eb281b7d1ffdd13acb96f527a2c404bf1172efcaf6d8527bd311620c62a3faaa8ffb72a15324d809ebed6ad45573eb89bdd6f347d427683a78bbd579fbcdc90f4574727f3de5433ef24fdba9a04f2e00f32ebdd42511e199db92c7d8b59ff468d7271f0e669893e62bc4df9e56357c82d526e0233db430d8e48fdee221934d4daa417237f826d7d37523637e6735e40f32046028c470f67b8100e48486a775d56d1a72435cec5988e7054f84d66c34dd9624afdbe7489e260603162b1c27f9e3e5ce15bc0e6044e8725de20efe3931287c9e5d68c31a43f118eb671d144143c55fa80287ecb440db3d67a4dbe1bde274f295af16937b8302735168246777cdd1486e21e86d5b0f1f2d879935c13de271cdf244bc36cacdacaff9e83ed23cbbd3432872b0b9a1e86d2576d5a5b38e14762b45a9d8afcecf177c41273a198446af7021721f7374e60eea1e185ded4409f71e8d6b72a2b8c5a61f5dbab986b42e1061fc105baff29f09024209c436d8d94efd28ffb1e773b6ccef967fdb5a90d323117272e15b0c1114baef0996e8d158999fe4f52d2f871b15f4fbcc93c890c6ab6605078be5269fdeae5fb7fad15b3c63c4ef23807086a32e58f56b7fc311a4dfb001726d2900de1070697fe5f56ad7a6ee5de51b220ee1cf981287e4a0180685cebd3dd2893a3cb7da8345b598e41d1b546239fd5ec1c3df0936cb273b7513c205a272c190d395dc30046576b0f6c4071c5eb9ea686174e58bcff1cbbccc039281423594bc6c0ea5b11489a024413fb4983a9e37b358ded019a4b79636e5dc63121672cfd912c7416dc288cecdb7cf3b97b6ffaa76b0012fd56e156561b4747927fe728f56ffe7f84ebd1b2230ef6e9014fd0ce70b2a425760ddf41c2f411b5a9cd572c532008d9a37361caf4524abde0e01f09da2d17b15dedf3d884ed64d26c48e72fb234a7985242d83791c9368616db8a1f5c17f4fc4057bd4e1187f681ca36314523c28b93f278d0fe426eb80ef9031bd511ac29b656fc86b0b33d5710b2f0e17ff3dffb8e68ea51037f74a0dab3afb9587f2052d23e6913486a1be4e7fecd972c98875b99219810ebb80be477445e1598b4983b18ab2c4e4156e6239d9956f725674303484269e509b9dec79e3baaa6188f84e3faff0448a5b5fa319ee6b28472e7dbdd8118a0a91a1649e887a889aa24bfd8fd25553c55dd1a472a35c3f3c1b9ac0eefa16e19341d6dee86b635d32581803de14ccd010f8830804e09da82c1b682af9ee94383f68251cba7f0f7f48cc8f63557bd5971e5cd323bf98a38ced15c982253674837fa8a03be561bccb9f74887f7cdae8b31173872bb4d6a5a89947507cd058dedb026e86689ea57ec7851384a9c77e22bbd04d165a6631018e474119a019942901db3880003b091c51336bb5361daedcc085a0a9dc6bf51c0e6c4124174ff25b75b4d08058ba942cb85cb64317eaeb7d24f4affda90bb955e1e1720ff6f0e0bdd77d005e411710725a152bc8121bc2a53e6ec9e3d12bb59892ee3299da27d3a9917ca4ec2c6ee7872f92730ff8ab7eb6c4202e604e998e70fea972a5238f53ee8a71e9faf42ed6d7b93edb967d05150b2e81b800c5bffbfb510d3879bb01aa685abcd61c225d55776b1ccb84ab4aa28f91233ca62dfd88577494722b9d3f7eb547ac19636e74e89260758df08ac6b1fd3400a234f94123be4cf9721086007132fa697cb7f691e5dc520d45b0da701ad20cd8ff00476a862427267243b9ddd0f03751a2349c7ac886a967f82abd140ac7f8014d317c43342a22df7237a1fd78868d4979f9f52fe5fb4c83da66254f748b54a3e43ed29cedbc4c035ad50d5b3173e9c04e39971f190d6d6a8e6dffbf2d8afcb85d9f649a6fcfa1837230852bf3f96bdf779e990b9bbb27418dfbd0fac57ad9fad09a07937e56d03d56004d8ec73f8b7be82cc2212017722cd0e80308d683432600d8c51d354fc5887252d5410d7cff4763bd9e1bcf0c1a81b9161a3776b55136f226cecd00e332c97209ca56308eac6d21739a8864e18b01e5d2399c8aa905be36ceb1d898406939729922a731fdc4e9ad2626d792c5586cf5bb27d9934cb5825e37bee24679043d72640f37d52dab1e3cfd5fd56c56a09e8a6440c34c46abb9682b412413bf9b7b7292bcb596695037c51b4e12e72c09ac9faaf96f0691243618469a91551963592a23d80644bd9c597d493c2e4a37e263949113f923f7113a8881b5f6b229b2ad72652cdc80dbfbef0276e2955eb9703e9f2b08574972e5d01a49bfa4e5b2dda972019589ff3dbd3f3723c1915922041a63962de4f4a955864f33194138f23a3e72f6141755ab772465fc58c7316ce95dc8983988fc8655436b8a5a1bf856abae72690ac147b1ee0d2c6cead8e90e3c6a81c9af1dcbc6f4d983c451166364e7d372db763cb2309eeffa3e87fb9f4d9444764f068b78f0e60b7c4a7e80016643ba4b6e0cc6faf18cd24f2b5b9402000cf19662ffe521e5f0a0b51fddd5683ce13d078192ea2040b86fe06d0a67cf9e2566771ea68e5e8ac372cc0c9479bb50298a72de04a7d484866f3aa8367ad2da89b7cf565adc19f1d9c7c66536e22f8af8d772c0d9c4b328462fac889509e3855f96ca20b3405d621461da1c7ba20d1807264809309edc096928fc9042bf025c3ed7092a0d6e79dd4a0ad21fa32ac0820a4a211222708d2a7bf90da6f39cbc1118a25c0f9e75dce20db85bd6620febfef48d72358eab2766db35b6510746453a2aabc5f5ab532e403e6704df42de7670ab5e725039a9e8fdb09f2eb2a0f7bf3a3214676ed58b39567e9bf2e7fd05b0049b1672e87a00800e93812b70797be487d816bc4dca8d0a2480fcd139e6c921f2385d624def1d0588c9a22d060697cde7c5f99afcb53bbf89da160f86c7bf572c51a369caf1da76c6d44ce737d2e77267a4828e5a57b60da88456aa957dc5e6b69f1e0a4203053968ff532b1d13d45327f67ad5e2e595c88c0fcb46ffe5e82e6276725e1929e5f953b27e354d4a964eed36a70f84d9cb83461fe8afa66d5f99b9836c727e195c24ba63a63b44f78ca10ed0d83b72368c893a97c3b1ec25cf95d96e6e72961c6f09a5c057aa3a427ec7d9f2e5013cc99b3646921afe28882de5b30d6272c06ba8d5562ae8a1fedaf30d555ebe5f7efb343e3ff191e04fdf3e6299134b72bfb48c88d506421b82fd33634e5cc89b8824e5be6844bd83c8abbef8267e51728f8fb2b3f3f08c15bc32e9d2ea72d0d9508c6208dbf4b852c6ef5095a1f84f7236703bef091817fe376af61c4851058b8e39387178709d94ff72de2815f1ef72799fe29572cd80297ba94b5a5a9a42eae4c6b158bf5366330afc32eb32996a726d31510d49cd48fb757a58c30af3142cc02928b383c9f8181079aaefe760bd7227bef2fb44482f57253aa4f8b49bc47cea6543ff802c133a5ede7719c0916472adeb3a50a889f21fa6d003e37b1768b24779315acc107ee919f41cffeea90872e721bdc8494269504203fbbb0cd813807ec5e3d17fc91d2386c8ed9990bc4645e5a7a9bdd7b71b03f0b22fe17a7c1b54b51ced62d42ba3ed381e2ea5712c76727e6f6f148d2b25c11b74fd861fd4dc8df9048d00549335f71959f0c583f134153fb106062e909f642b0c92636df9a9747685d2db866391f283cb2fac1750a872bc8779c853e2cbca4bc5d73e1a53b425557b41d1e6946fb160328a47e42ae701dde476b17dc0a66862ed39cae3dbdce59687831dd35ca697c68ef51565bf7e31e9d27a56f9986ca55d9dfb963096af4b6daf78fd2ada7522c0e0313df67c3e6ab14a09134716951a77eac147683e517fc5bb87359b81b896528ae6c54dbfa535dac481733185ae7018d5f0c55ff3fe74356dafdb40c522f507c5557856ab0672680dab02fef5aa443235f0b9cbe9b5d6fce2406a5f5fbc16fe3f733963c8237214c0fb8540838ebf6e264072238b68907bd7b266e09fd477c8778e22f35cf223aad0864dab2d9a0b8e90a328ac630bbec8d6b21a2ec4d0adcccb492b03a7602a78c644b07282f90e20d4a2c340bccdf039438faab4da0dce15578ede7d13e32fb033addb73e489819ad6d20ae052bdaa97da9c8da0c795d47729195eb7e72872711fedb5d0c5e1b15a48c6e5ae398b8112f96b364e33f8a86ba3478f07e29472b53e7295a8a77dd1b19bf0960e9846a211d16188f15caea2f6cd18f8ee13db72e838053733302901ee427cdcf38855bf6576163dd1315995ad819a64bb9b217285e1021a7a374d966667a01fa38fc3fcc0f128c5c4b75ce6fdc5960e0a9ba3113160b699c609cb555b4b83f7586af7d7f9681de2b91d52183691fac30e6c7166ba5e7ce08259b0d973b6487d981f752f00767911e71cfa13051447946acad32afb70485197a1443616463a593b4a3075ca93b3fa68c094e7f48d670a5989646b9fa3a5c38118562d863b73f5ec21ed9dc8da6fed55a388173b6b5d5012c0cf723f1991c21b2607d3a2cc25e9b8a7186d625354cff43f8c8c9f4b80626c6ac272761988a5fe404b36b6d736efca31b402e7d61c34367b08419a0487a13f817072d711ddca1fcb1b9d989f62604f68868c8607cad815ed8cca5b628b6443360472c0f20f598c14f349e285f69a483e3da8f072e884d5df75d5f9fc099e681e6f7265b6c9181b7bba51d2382542f04c4b59838443bed9a4161a6b1c05181bcfcb727711f635ed20467c984edeb0ed6392834a421eafd9fcd72f150b6e1b7f706e72b817fd39587eb0d464c195b0dde934177b2e79b69ca3437a7b6843cd043a5572f68168e7c6d979f5b00079b48a2d38bc21dc3893d4ac4ba4207e0535c3cb657228723bb4626844e508b92cd6d9f989aefcf3e069746f1145846a9c8b8df81a72c08c68fca54ff61e4fa14752b6aff63cd221232115c8f55b53f37b2abafe7d726d2a9d22253a0d78ee56733f1fc31890dd9fb71ebac33824db04eab8a0417c1e31833704428ea1bd370c4bf754a8135b2587b6de0c4e05d61904ac0bda63985fef0a8d153576b562fd1a81a6b78dab65beb4967aad4779b9c41a6a2e2b8060726bc57a4748f55ba48bf5186cf5b4922e640173abed5a651167d3984d5b1fed72de228e1826c8ccf6e2efbb76d4fe39476e06fcd6073bbd403e657ebc583c4e6e79f2dbef85b6a64f130631233f9fcd1a9883d968c76498134d8b0e855be99a3ee4e0bb18f3f1fb6c3999d064a75bbe98e49525e37d52274d7488656605c6a772dcdd940b4e978b9f937dc08a2f89a04e4ae1c25ec6cb27d5630f8ab066343329de5c184eeeb01e7d916ffbaf8a3fd5a3479b461ddeb5bc5c42d866cf04c84e68e610ecad68e786d29194c0e3f98beb3556d8b7b35cdf1b757fa205e2f2bc505c14b244d2350353aa1f59e69b480e3bf7e837eb1b5c4e65dc83039b7126bd663f065b0698a7697d291eb7ef494cd27cec5c1fc27242cb75486de0c3bbf9c9c8225af67b1ba51f3ee5ac340dbad110dab4c420e2d7be383c5d7e0852e3e8d8787204e612a287ebb336ff3a2db4b9a3a6c66b24ef88d7ab945dcade5c6ec49b4c65f1077eb3c359a6107fb3fd1244741e61f9d684c7864b51d11847fb45ea429d7291dc064e0811219c77057a2911afcc6ed315a8ea42a55b9c436db684bd29b172e93c86da047c008e51cecd21ba531b59baca748e57ebb0fb10cc35026a367863ed64074daad0bbf108e57acff1fc3e2edf06514d01c4c7e3bf90dbbb93af1372c845089c44ad3f198fc176bee48c8c16387db53aaef7e079701320e173942372909adf23f766418fe7d4b05abd18c972058636292c62d2b38239e65cd3e5c672acc69cf1261434dc785e8d9dbbf910091e46facc7e6fcfa68496eeb16fb6cd10c53b58952a7f1e7b163c652c8a463f587e76c8fd88eaa2600a3343a9e70c8172db9ae99ea759d882ae45c6950c1dc4b5b55c0bb7b6fca548672799412203781ee3296bcbaf7a3f22a8056af3e5cb7c88ff912777ebfd96b91552839647412b62644337448c9cf57a08cca44e5b16f17cf38e5fd14a52bd4eeb50b3a985728372655fb2ee61e77aaaba0a5dcd610456a7be361707cacf1510f608e6496402960fc12c5dee5ed50c290977b4c6b111044ae447b477d22fc5c192219060175e887287ecc6694799a6732318a286e3d1fe188283ce0b05781cf7cf40a603140fcf5d329ff4b5bd9608244a2eef763093a031c4010be374a52bb1093e99dcb4ae38728dc60ce41dbd54289b5f060cc7da0b5a7e81ad7ddbe0db30a1cfcb7ed367dc317bef5a35ce24be2c6f37de28ff15730496df4acbc942862382c582c250f653722ce21f9a9767fe07efd36eb55111596d2dd72c9baee2a2253d7b411f83e08b7212f52bd39f5d8bcd08926fec409b5bfcbc4ebe6dae02118af0e18d9b13178e72065d541973b1f25b53198e062bdda128db396d31f17f819630dc4fab3d531a72f1945fbe03234e024a96f04b4346a2583ee954606e2fd908044cd2b14d8fec50ef481fa6f6fdd897272440a59aeb3214619f37b43f6821c69c47d9e959143972f380818a06aa44b7c3759117ce63f94d0fde5001f4ceb0ef07f96486969fc272facaf204514435abea3cc087d82b5a3ae030e86e84b8bae3e25831ad5d10b872883be94d5f5d5f64b0f40a265da82b9867573d436808992e22e27ac16882527242439679cd63ac32769b92c4213e7859ebc85b114c3cbbb6f1cff4165201a17227918e160ce791bd389450be13de28d5089c02d54e0c22a37bfd934e29615766807fd6bfd059bd6caf24d1f1af7676c45efc367122e961934b64129dc73e6a4f5ab9a1d47e3eeaeb2f080b4cb30bbc42af0c23f84b074f8f84b89a07339c0272f11004ee306fe44f3533a84e1f5456f863307382df53cd23e75e76341a92584f23c28408353f3a83701924769bbb2df945b37729468a2426c1a43b4860479b72882d8937648b590b05412956d849d676efc047dff58a9d2ad1cf9866f030860a017240f4bdb1d8d381811dc3cb1a121f65e482c02db57009849ca026a738e972ba20e8e6d73efae7658f290f5ada89df89d3908a505be8230596a1f77a6a437248fb00a9d51c3d36aaf3f3a67aaa799d116fb9da6249d8a3d4e534ab844f2f0f7b47d1503b4de43525261b5722fcc677d76c1fc3fb915a9b2ad7227506866d72ecc1c53ec12980573adf6510446517c2d4901fb3688d3499f55cdee1ce9a05720be1dea4cb69321f0c9c69afdc458728d5863987db41aa70390749efbf08bc632e063193172bcedbdf9109e9c04022b4e9b703eed948c379ea1ca148bff9c30bca3bc9d1cc311435198b22bf31c254fef94c2efbcccae55a669bbb426f75186dcfb89112a3bf53f0ced6bf7f355accae6603a0de7a5120b71a8d17dc94e1070fdfd85495563917cca7b55003a27a06c7e243b6cea5f0c978f46880657f8a133fcb90b0d936f6b78ea85997d34be4038e1fb7772af00677343343d5a28968902507694d5446544b71e0f4391de649b1e455e6862bf410a2c9548aa802982c89723b22bd224580dade842c369216c7d6c6f04bf464e7dc44af4b321a363308e203ef8c7214c5a2a6b614c781544cb368baa00251848abd4baa9ad2b265e49794541e07c0bac45905422c25ac983c544cbea7e8fd2c9898262bef5be7674b461872ab09e6c0a99fb61c6a9f2cfe37fb6f4c0911451d46709d3c967b1228e0cc2e33e35a74b58fb627c639cb548d273f1d36e51f7635bc79da39203cec25fa648418731dbbf166dc78c34d0f4bb45952ba543e83c62cac6d5c2f3cb3213ade7ca572c2ea799881b8c8763ce556761c79ded8eee109f1ec6bd736da5625582922817294a872252635e368d4adef9aa342a2e0430001e9fda321ff5535a2fa63da517259f5c139f47dd50d369b703b3a1cdd27fde4d304721a2b0196608fd700f6c47222328e6790e591c9f0c724babcb7d43052adf3f0863cc4dbde1e30540ae02772ebdb28090b766ec602218000be5fb4834370ef4f21cd2f6462261a77e5e0e830e90ad16ab24d14961e07601b2c014b702b3ead095962c7567dc2e24b42ca2a3008c6436e2a852e44b4a93b4dfa0677f8fdfc8290ce999829f3d39f0b4fbaf272c0cb33c4528bd3055cbdfe3e1540e41dd2745d5d362f227e8e4490505f90f7058d02aecdcd6ee29f8c64ab0492a716413248a8bb9ae89bb8116f776e2b246172cf5499b6596261ae2c6440915a121c41e51d3ec92cf342811f64a17f4113a0431e3228f477045c0739dfbfaaa24c55ea9fb3182a741b59284f6212040a29862497b20a6fb8bf6c2c7ee6a2346d381c3b9f77c81e3fad44645bf2e3137ae79a72f159e95097238aca9fc943c06c9023d661c74dbf19b8bf1c69c9952a10b46372b2586d0363a435dc7f69f5c55fc9bfd2aebe06796e174ba392013242fdabdb722868a9b08880a6cfaecd1e377e74a71e5a4dfe404ca8568efb05a600995edd1f31534dbcb0fdd2bc4cbed8c4c371adaaeb26cfd635b7bcf35fccc7382703b9720acd0dec939e57a2284fc9979ea66f9c783b63c25a802714d5fd5da39440b072df74e13199df5120dd3ca3e9590aa8aa80f3ac3ffd774705a0e240187241c07286f27b80bc4bba62c49b8726a22a0f4aa861d180c1c83a5b571b87ffc7c9ea7271da86b86ef23434cf329443f9a1712f7721196ee28435940e3b37e9ebebf150637b629f87e6a6c81261d3f133838016613dba94ab7cea5fa1073a7ac2f874319ed53d8c565546ee6889e3fc5888a63891e81b01e64a2742278b50a471d21f727dbd1a898271cad591d9ae21f77f7ffc4b006abf715ecc8c5edc5e65a5b5367201b1e040e6b7187042150b3c3790f4f2bd81788771ca9c5bc6c7280e491d00630f6c36877d216a97b43424ca23da0062747418137ee4ce5b80e22d4521143861843f80bb4475b17a2d37d737af7a84f24e8aba3a63ead61eb8d5979729c8ba7244cf19717e938796f9a36324bdfce515c1ba1940e8e28babe288f5089445fb72e04411412eccf1f5a21c6d5bdf49cb240ba68ed6e40e58ff9f1e08a8f94b5e6d0c5076e19e0d5d5d3ecef3119a2cd6685b54a28e1f050f8244d11e260a58bb6a3832552611eaafe993754c40bba141acbc76acf239195d7591d64258d3a8d07235999576f021a424d6483e95e4bf3832fa0010a23b3d3a7123751a51601f744ad44105e37db71b04ead4d2e3eb0abcd108634ffc0aaca53035da8f5cace54d72481faeb382da9f05e9540094e9e47194d8f0ff30c5da8e707929eb68ba6a4d4e36a818513714f7b102d176e2edd0f5b35882a3d272ce2e68e3523be3d97c8772d4c18d20528b90f79a3ae8958267e8954a0293a6ab05484a1ad7720c5aa6603e3ebb5e5b6c604b4f43aa5ebf1d2620c4ec6e7bee55c5d80c79972dfa08cf3072fb23363300f48b852d750a67c2fceed7be3a506976559050bbebb51c5b73885677369b409c7bd14c49ac111bacde3c7d5712f77930570bd504c63ca3fda2df7299cb8893b950b3f8107d5fe7e752db95385a1f887714d4a15f968a3acfe3397203594c9ce4259b5aa1e00bff84041a9f1c8f5d8f2115ea616466a373f428630cd68bb8b2793c93b1d4471354c963b6abdaaad8fffcc0cab69adf8792a86f632bb748fb5ee754facf1af21131f222020f66bba5e507bf5c4a87354665cde23445794bb12e08c973555f29ccb77b4ff696e406169633c8d894ed88945355e39c6e4e8e43fc18bf39ff828ec212d308c996f8a3d00d27b9bfcb50732b27b810c6331dcf2114bb7ffe01833839fd6a342c30f3bd4ce17e28cc7bc396ab6107afbc72d73e3fda20754141c3b73bd90546c32d31990bb42e1c7a1f595ec9421f84f654374bea004688bb499d5cbd6ba325999af165bba4dd810f2cbe4e69d789b7aa2a300b2d8b7c8a82820147ff206ed6f61b11b1f73bec81ccae73beb3b428aa5c7217eaf73a7211b9fdfd08c79f703e16146291d084d219d54287c51716b7678b1508c294cb200f4d26b1b3c7a3e241c9432246caada1a8f45c4ff1862cfbe2ea722672f6aa6bd88630181e5f9769a13c07c557c8eac7888bf78395cf430faeed72ea83f58ff55dcb564c4656817591fa5504f15ba4d50f848dce030070215ec772abf5d5c8d1dab6087b96daa618c21435034bb61c65aa6f23d44c2e3ad7eb036bb9a495d8bdaec540ab265fed10d2abcce67caaa648583538f8c42638d5f586503cfc51aeb7e1faa0e6fe7811d6e76ad19891ff9bbbd4cbad8fdb6e9497132872946a4f24055bc3bb244bf4c3c4d9bf4a190b8c12a34ed6929ba84e70590d437283852caf3996e8d5c661132f52614d22dec210d5d3597c07eaed9991ea3721728864b9276dcd6460ea8ead058168d189902b839de8eef190a7adb708185e414d292bccc8f1984cce016d576384684b057501e1a9410d3ac9b4bc954378333452b974d873fa038ecb1a2eaae30a5e7492f2a80e38a0d59cdd1855a320c0c6b472f72111b5d34ff4f374f22990433eaefd79ea7e4d9b61486bbf407bc5c216347245b5784f4b94abde5b891a793be01aa23a72d5b8ec2220be766fb824c2765172c3d2cece52eeabb266a92de111d2129763271637e1dad070037d10e5546463723443f718778e796df8db1fc866d15341b39da510cfb926662e303896c64a5e0b66ad2ec82257a68ff7d02e86651a938df31c77d6d8dbcc621ade65923132fa720bd4bf329c29d1e9e8114e82b40b8d5dfc33771f0dae09426680252050015b724ffbb4fce368943fafc3024961350b6bbbaadaf6faf32c1638c2002d8cf2b415e215f8ebc2b72b5b5d099b9aeec7737797513ddec76880f1e8561b6fb43ec47226d527dd548ecefd8d58a4f6336b0a0c1212ec8f0fdb5f18703da0b2329683367c6c52e02931bb27b2ea5e2d0b0214a21f30179d34ba599899b4f89a63169567b55e049362d15fc332aabe2ec89b10b9334afad3b1695a215c4487891edf9f670207b99c1db121de6914f6983413a7a5169d455ece9e520e3b277f24c572d47280168bba27aea25c2b08d2fc7f4b91370f3c0be2ed9ac98b8637ba4c9e09664ecbcab4f712c26e131e24ec1f485cab6ee7084f4086fa323cf0653cdfaf8eb87179a4eca84b4534a4ab82d909e90b7baec6743c5eff1c33b6397a024e2d78887253b4c617c22ee8f80087c477b4714db67078de2b64e957f08733c717da68c272d5ea28627d6717c6f980d1e00f9bde29a51d6b25532d0f93b6ed8e7a09a190209e0ba1fc17bb24ca4b7724942efbac896c3b63be6f4e4c9ce1e90b788152b372b85c61de71aa6304d681a87315f42c44f852d5fcd52a6f40f6f9bbb12a5da719d98005b2daa8ad5e132c56b914af10ec8469e625291668c1c13d138bcd71f1721cbffe61a86ea5ab9a96fbadcc0157075f354fe0c7f411a3f2bc2f80b187fe72a3a866ccc9aae43abd11d83ee3e0aa3dbea0046531e750f73f5b6b1193d69d722fe266495c5be95ca115263a3529421bab96c0d6feeb0681546933c875f8dd7236154051723d56e03e1e01a2ac7c355982eeeab0cdb55c7f4b5ed3cd651b5c72538bb4f34f0c3d5747538d3180552ab3b7d273a2c11221749269b0f83e267d7280be2f703f2a66873a931cc947001d4838a34e3066b9333b2ae4bdda882e2c725710d5b9dbc6df9ced8eef66e573c9088d883132be8dd360795e183830f5244245a4b6e1951a292334addeea593be9ec733035e7b7fc37419efa599ea2b6d7726ca220dc70ca78d3a73a3c7dabfcc1939514a1ebb3e83e5db4a546d94ab91272656e7919051a2fb2ba4c85d7447de585ebf515c6080bbae672defc64a4f25543e60fd6dc1186a5eb50802711bfcc942c00e7ef8af669c7b471bd211eeb3b73726f03794e1a1a5cf237253e52120c0e1ba953bcc3e2d862997ef32e15df857b234d7b7965b2880821e126f8d91b1374de766e4bfbef247c0a822a8117c65df21c7d88a59088e9a1aa9eb67e3e348e41dac33b255045c1d7eee8d71a5cc8ad810c6d5d5bdc59f7e3f73efe25e52c168adcca13bfd90a4c303a7accfab871ce7839d3374c676db3b8887d9b2c454e0024cb4d4e5ccbdf1ff57b1b7081b5e1d6c372779b0558d48340bb19753efc639a854718562968304e2f822ef930f2e1daf5450812e282fefa934077ca720242f3da07280b27eb262195b792a7d2191e3a8f72ecc908fb7665b7a1d6c3d13ed2e393b6d55d380f88427be76187438e62ddf1728cdcd856ee2b6e53e26fe3c8e6e7ad2f7bbbb98d0f273e7524bd6ae3141a9f72f34672b3e34ec61b3ef09dbdc272390946dfdbd41a8aed45d4af6171c22a83729122a76fee4b7db00fd6e386c28ad0afa340747b3849c1ed3007546bc50fde3c028e862a20e7052201c9b0fdcd21a298a1d095ecda6b9d69bf8b5f857079f84bbe4e78c0245e7639546108f68e7f5b53f9212b11a75694e40a770e9837660c721ca5e8ef5ebad38008bc000ebb665bfad340df58b751a0c3fd110d03b5f1aa723f6f3ca9aafca184549b2e8a31a6d6d56d8a94e0731e271487f1cbae6484a572942028796e6fc75b5bd53cb1fd8a0b2493b087453accd9e702da5459e346060811def4e322ec1f52986125642934ef78952e4fd3232a41035774f021e75a5a394439db057f2babe760f3d0bccd7020bc94024107bab64d76a0cef388da1ba57232c99c7fb6b373edb42eefcb55f423dcf3df9d32cdfc937d7c8d5637fc5afc3d9709892fab30e030f247d364a86bc87bcfc28f9c620962076fc58767144a1f0ed963be3fda3d63e8786971899119a03302a27a622313768e42782535d4ad6815917c5fa141399be6065132e6fa963886c3ab6c8e06d6f382bdcdb4181bb3c87283c8f11ca9949995726d24fc09fe067df5db26c31a0d7d6e9fac84e10be05f725f53f3456a5d4dce47baa145ca9b5b84bccae9aee826d4ab2538b6a11c9f8a7216d6fb1cf131c935d2dbdd370aaa67e1613b85d059395fcbde61c16425e39572461ef49c3e148f90ce920dd3545bf47d365e565ee80ec03fc4beecdd4ca72a5b9a49f7619fec229e51c4d86433aced5aa94d10b234c50312e10eb04c3d130c72d5806851e0ad56c855a327564835aacacae10ce5bce827b2c82c932106e44b72ee90129ac196ca3e1240a6717414d76824cfa5fe8e2eb8017f995d51a280df720351c957cf3593de6c656b6646143b2f1694a0fa01933f52423e8bf7d0e24f081201a24f86a4348ae7332e0ec3d5e9d2bbae62e2081e550ba4743fab09b7a714af465add7ecdab2b562cdebb1836fc42e66468d3027332c56b4f45916d79da72c9c3d990b573fdb9393791d2784132a14030ea3093a5dd48baab3824be89e707b3e6a3674afc28bccd7c03224997f43a8bf5d9c49a220bcbfd960edc7db99d72715c057d8556eb281e5a226286dff50d84f6a64d0308c587afd90acf3b41ec722b56f3d4b66b47d951b41e40b21b34e172a870ed4f6f383b52fd58402512b35dc81fa11e2ae6f3c3bf69150a577a526d178ef30f9ae0d1b62cebda245a9d53729c5585367ed8c9a5f1ef821de444ad53411c5b8e8288400a1039863f0c61e972dc7911c0c8706ad0e1494a614f034ad4fd13965e79a91632c625a2478bed3572e48e61e6ca439169eaca993afb6cbaebc0a43a89a163bea978a01ecd22bff972ab02b9c3d602961b19160be459e108fd5f36877a988de497c76aacbd187f3772cb19da904d2bd9be75eb8ef1e3bca11b9c4bfe1ecfb4fb283c67471be6c97049f38b841d64f70f24b3143b32926c845dbba1c4d79fa075dd5ad3c046c2a1063ba1f0c742c22a3123c866737df9ad228666a9564fa2e4e6641691247ab5374664a24585e9c72bc359b87621aee1fe18369926752643829e8f6eeb2883a8aaca53cbd6407d92b51b153ce9e428483795744a2a15df7a0f59e28fcd7608044b0e2acdd5e13d9856661d25280d1393c9a19f58b554aa1b09f3987150a50228cc504dc6a3e7817a335c383356d017d542abf5c4f36131c883596e3231733052d17672985603c601d3623842884a4aa21696febb0d976d21ea60661e8f8844255acf7222254866bc0638827938504875b98baf9e7e06c1c48f9a21fbae8e05e46c0414b63cd10a5fe45c267361651dbe16b56a02878259d766fbbc274a2e2399c1c917ce33754c4d07c238e85f5caadb379aa3264817954ed05385645cbf513d05ca4564f9490c4cdd65441ab839db7b86643ce7e1c3f21a1528dff74d62bb00e2fb723e319a539b97d02c97daaef76ea3dede0535cc07307983b72ccd525422138b724d1515f9413a6bf232580f24f73606948e4061d06584aba600a460073d68221467edb9775e00c703b6781cfe68d171a7989fe246d8ba99c6a94ab2be12006e728d1d001de3d920b84b79e3f982d148973f5d1f10d65010a69f63d0bd8ad92e722cbe168c1379712bb31ac71b9be6e4dce8a87ffec7b3d68284ea926af618ac058e3034aca32ef5108e9c0a89aa772f6bee853fa78b9f866505cdd1146ccd297226b1a27ce1e9ae8a697f3c6076a042f37dfd0afa6a844bae1bf53e8a9db0730546b5270cc9ad8273513d994a1a1662e2ac88258cd70bb2668ba1c9d84850ce59fc768ac6192b67089369febb1e5bbcd3b666e2b148c0bed0abd9dfad37ad1d72b3e997d61fe6633ba04352c906c554e3e59fd4419dada39872896520ea4e0672b1cfd055c40901e311e90e29fa1d42f75cddfa4ba8b9ad07be95a2c7a61cd17232b615726c999686f7fe8832a74d44557b10414439115e272c7447dab4ea0872e4dc67d8064c63f983271e804ed34f070d7f8e5e9476ca710146c9cc68c2812a431fdf0817ac872d619cc0e842555939bda8abe96e414b498c252270c715926edeea1fd27a0e02be1e522493e1e9045975da468c29f7c46f663238be29efe522ce198f5423aed1e0e4e57ffc7f2f1b37f789b21322e497180e760856a76e806a86a2a8e24fc7970a81260c2d6d043b46f73b9e1c44cad2d649dd607292077672fe00cb88ef1a381900a6a47984048882fbd888f52f5fc10e2b104588309fa227adadeba9d131cb5fb7f882246dc94b73d4fd88a7438396f29e7fdb87a66d4c72caca3979b36bcec0bdc03d5b1175bfe216387c2f9d5043bdc292904d0f06e572e0c5329455a8f65d245024ebd391b0f79323f13787801e334aa0ddba6f1a527270f1bc9a8c7de42562c7608ca010b508228f773a608a458e6695937182b1fd5e6172b73e6941f836d483e2e9b0a7134fcf589ca72568adae65984a29925ef15be390f2c0a6fee2b78419ba5971ba8853c263f3f980f24e627c288aee9df86452400c0b268593411699f4fab3f91b9e4dbd96da65c6000eab18295bc9e8ae347222a75de6f8066941942a25c98ac9fbdc4074ed24924a43f0bec1809bdeeea25b839f0dfa5cc1d70bd3ba67f5e1170805297f91046ffee1b7fd8ffceda3a8c0726371fa206769519f68e89cbaf4969ef9d684caf39ed74a1155df4d94ed3def72dd4a30b9b6bd7c8cec4a34217369261ec2f8ed167a882322f2a6e0cefe3ff172898701907afac64a2ed444f4d7e958503cfdbf02f7f1cd7bc8f69f50b73c997256cf8edf73d84dfd9ae106b0bafc87b99dde5eca9fda105c32b5918f8a51e07298e1ad7a85c99708e9188f45651063d6f511d476f423023e3a305e1392ab2424e302258a694b4a0ce83f4f7be0e72f39ffe00490c8f28c94ef27af6d94329d428a51f29d08dd5d574b4a75dff0942fca213fa1b6f103ac8428cefbecc17d5172999e22bb62f0d2b02682beb9f347c23e3fd87da3e053b9b6d543301fb2fe59720d30be8bea38dfbb76d7dea54ddd51e3aef5ad6398a42649a9b2bc5299fdc672b46f4f4dc9281b8437f3318d2003533f0c4cb4ac344de6f063b23bbea78bd27291f92c80edf64b54aaefece9180f2124c0d022e796ce96a52ea58baca2c8d90fcb6960a6b906212ea41a900d1d86baf2b48fd3ad1761bf3dc5afc5af94c72a4522cfc7be96be8515140c0ebae1f6b2a73dd3a803ebfde2564d00f46b7747c672170c7eda28f50baf049a7c40398bd7e80170d7bc7cbfa8d08d05c55394b8fd6c7f019615c94785cca6500bb9f47600b29aabce57009399a546aa31b839e50a721985cfecc4f61a19a7614f8543afb3c65f1b0de7c0210d0ca103a1515e5c6a72dcf5b0e941d5de5f2ea47ab29f85462282b3fb30a6d72ddbb462bac638ce3372307265290ac5e0965c9b2586e7a6c7e6e4fbd8f5bfe102b55ee8da137a64cf7221f6e61388520de348bae543c4d2eacdb3142c4f4dcadae57a8a685fec02477224760de1f0166125e1f39e58120fa4a75847ca74aea048348ed4a0d2f43ed96781e930c225b1d085a0f5bcf99e437bda780d20e62b3abb14d598706d76fb8e72edcbe6ebdbb5a704e486c011390975c9618d22be7992cef849cc428a73c35372feb2199b7e55086d760057f1ad6c4baa52c9814ca62b5778de54df5ac42eb47212d1bd1eed110746bf320dc84557a4ec7a91b7a679fab612b8dd734cc675167207ae31d2de80232448afac0a24b836586e4bcd729d2315af02a730e31ac17c2d8343abcaec442002f171a957a41b19fd6e3878de524e876ebfbc3bc745348d72ca80fc45be465a0deed50b2fa10287e75ac990e05000546b0d39ea0c1cbbd4726311800bc9ac5950ab02c669df332948166a099ce83a915567fa23423a45ae57fb8a3d6a9e9b2715e30234b9ea88ed3c079e980f97dbd76e9d7e5cfbfd287b72c1980fd91732152cb3f25ae17a011a361f36d31cf8ffb9612802033ffdaef43fc450ebbf9e929d8c45d63e8a1e89afa9a3ecf760cf14699757e68edec9fcee72d59da46c0f25f6de0d85335d7a0934411c3ab1314d68cbed0a00559ea1adab726ae90b9db8e9ef9a43a3661d705f942607a09c9a0cae2984418c395cd2a27b723d7ee24717b725829d1edde0d8655725cb48b3a0257aff29735bb7a3a29af1722670f9133cf80367ce1e0285c30f7585852fa8885b8b2517346a2becd8aecf6cc32bcf70e84f99f631e956616aa9b19c536157611f6568003487540ff2ebfc60a127fbe9a38389ce44cabc085b21cb9aee4fe339a29eb2eb234919c33d29b6723d3f02d722381d1f20333532c848f0b3032345b897a00ff3dde4d0c280736d66797abfbcd9509e56c672b4f40d24e9079f32a466b246247db591d20824eef35b2a7af937dc3e6980f919c35a8e6d6f65bc81d58ea2567faebed0bd815778ae72938c40a18a79f899f9008cb10bf3d052194f755ce0a838cfa881a3046c1ffe72dda7588075618dc9c093410c8638733675c4ea6618de0a058d300fdfba94ab7218556b15f2bb832f114cba32c54cf8669b098f009e322a8514778371e139ef72e3da550908b28af165f1ceecad04f9992a7eb406f7e18eb47840d07f3e06086b08622db412c4a9a2aa5af714664131ca5d7af2231cb62474828738e3eedd0b72dd53b5bde69a930dbff2bdbfe41c8030cc35f10e8363ad0fc11728d10dcf05728f4f5fd4f68a282eb65f77e3c7878fcc34dae8e4096009fc2877ac10cc570404364340f0cb280d806d028932c4fdd84e10e00e78d7099bce17ccce5ebd018672c54a7fad3846a1a31723796801e37b603840695b338938f3cde7a7790bf7c31a9cec733615ae6c61937c8c2351560efc3b757cdcef179e4e668a059d147f6a55760e7af501940c839ebc9162ce93894fb73fbd73cdea72740fb9117853f7e77215ba55e7d0a1dd58e14a348081ec41ad030adc02d3ebf641946a6c816e21da54ac501e63965c017b5798090599432d70699dba59546accb332c7754a99a88672d94ce40e48b404e71782938bbc1cafad2cfc5ae3a9c01293676f4924264dbe723234de7811b40c46358c04ec9c559a5634fa03c2c852e27e044e630a4fece81c533ba8fccf23a19a4ac9d927010fa97fa2f350100d83175f0b9a414bfc5abd56a032eb1b9c61cb3ea2583bfe24bc22831ca21576303a2c9639fb223de4397f426c5bf7ae3d7589d5fd8cb2ef5c352024b1876bb2de3a007cf7c511086ec30e46e41d8f320ffcb5fe9c6c9279c79d76f19602aa1d5438772c0fa01376164050720bf1a68851c68d1c012c750614cff8498103c6d6f4d5f749235bd0e800db4772f7edede2a304266bc05143c992c697e39394921ae42c0433de177927a6df551c9083f685e151c99526e922887dbb1a8d4640c9214c247677cfbcbc65460d3872a4e52e7651df65b9c948e3e43f4fb88c540e363c751bf51d9da003241423647252a9b4de04fb8bb3e37dbb80fff0ba6f364881a70bce0c3b17cdba88d5b40372efad8db8199e63c0e40577bce0a49364c53f34bef1a8a70dab5b7fb51cc47c7215850e73540e828cf370b5a7c3659621c1221b6ee8997a9a2eff93d7f0b7687255175be3ea9410bf20de5bce3640e107bc6d82c88eca9532b72934f12654b6576e87ef9b0044485fe8331f45c4a57a30b994634146bb95ba53b49bd069fbd772f803ad74c1be93e638b4d7a4542280531c595cee8aeb766046e38915f2e97e694db4b9884c0eb7da636e4537eb9460562a474c658a8bef1bf280b38132bfcc502eef3d70c833bddcc9eb682ca3a1462998bed730232dd6911968515b6b60ca725c88af15bf3d357830bf861019b79275bb388a6d58cc205e6021154bb92a8f675239f21d54dc80be7d143e931d19fc668ec131ac1b8fa4657c68d5a2a36f7972dd7dd391628862c7b7e261ebc2802fd035ee25a10cf0d77aa0118a9d8763ef721b6a726a6c650c58a5ad508c5fa9ccde7e510695e837ed2f0df1dbd146e44160da0b8b117a9e68da3eb38dff902341954da795bd3d093bffccbd712c46f8041824aa2227bb7334efce4773df91f40d4faaa1e6aefa00907d7eafb8266dfb127293b1a6ddf9824180310ac42952eded6b7fe5aba3fd1ec3595353d4e2948502588caddee777b1236c5ae6dff62c3b47a2d7418b5a0b3f7b76276b91153acb1e72d2b5a3b7fc18e4e58cfb1cc012f94f337e870642bbcc4b0b091ae46b84f37172a1fd35e1d3e63274df54f0b471836778fba4557465259b31e6e05d63d1faa3188c556e79289a9f2f5ad53c673722067a47f9e16e0ba0ec15b05c52447436f6720d9c2d91fa123bf6dbfe57ea54b6c8f2f81d924878d0712b04fb0ed34caebb726a8bb2c56ccb0d39f3e7238cd650b75bf9381c311f09bd127c4952fad972300315a36da1a58857709c36ffc8e0b9d25b056032ca69d3b7ddca72a22a24a3c87285f224a7da59c15937e4cf4922dd2ee874baaf148319d84063e5528939069272b7725d7c0563891c2f63e7e4b38b17ba15321ebf599cbfbf59d2d112cf1e2d729dccccffe577ba6f87e27732ba75a3c387ded27ba71fc689478502d4137bd5724279fcbc9b1d58924a97378de0894bb1b6abd378cfbd7d3c64ee35bc236b7a720403c1338afe505f06ad3a83c19098a0504757357c4d660d9506e518757b9c2b453f0ca616140743988497537c2953648cf812695cec84ca29b7b5dc07e50672fe299ca7c443ff335642c32d005bc07c7045687f91d0e0475bc4c9e7e618a57242b4610d99e24419660c8e35038490d4827bd96ff724f5326db4c23d65abfe7299b39402cfb0655a385b5bc1e07fbf45a2b25358f899fc1ccb9c5c316bb243727a0433b64fa17491839d071b5b21b3494bb3893562a20b5d8a9e14a184d6b372103b5b949ad270378c6042b206dee2cf8c4509e5306cbe60c65233450b3b47721d4460870e9a3a9df1e2fbab06cd3b536e85173db378187738522bd259560044f1252542dfa81bf89e2e2dcb92e33515558b67bef79d6c641bfcd290950ad6721ff1722c72464151fbc5bed27c3933dd8dbde53c0acb0a6c107e0a1919fcd772f7f75e1e4ba9be875f453e415e35eb927a7d3a70e612e2f87172c94034d97e7267ab08ba07334dfad705485702f0447fe2bda6393a85e8accfc0f4a2885da8727101f64fbeecf458fbfe59249723ffd72de74e2e7e4a20ea2e94c81a16f646725a09c93ebc0a6656f099382df19b7a74f23368b9a3b0ded90f112f8c4ffdd2637b5d77617df408c1d217b8fffc48b01c69693aae2af5f0a5b7c99e8203fca40a482a9ce79df9e524ad379c006d88933cdbcce4865b200250ddd2ccfcaa66f3724dc97c66e8b0fa36e99363ac011c501c01911b7dd974d17ac28e02bdd2d85918ce27c3b5c5fa6ee0a7d2940c8b63a92680c2a4f5f4cd08727ba5d33402864d72243dafb060e7fc7ed772f774618808468bf696faf6d3a362d4a82eda89188172379b2d5703d4e14d117a88697e63e9e403fde7be2f3f43965114386378600b72fdcdadcc7023e363ac8527064ff30fd884b88aef9df62633b7ebac5395f77f72ec06cac4f678ef32667169971231105133d1641e5846dc592f722a3afec04f72952f1ebf07d65df6fb78a905988d7a2fd831cc2bae9a1e98abf38b984239354c7096f34dec4ec6fc02ad708fda5e704a85209e6330e33c635a432ece1a669f72706962dcfc0e3a5dfa5144c4f220f16c05ac9d5a28e47c62ae7446c1ea60ce72d5601c112b9c96e22a0b8d18981b108e9279de9d2a796829d23374726511ef722e2f40816f4e34a34fc33b6e3657d64439259ad9a085575b345e2322be0e3172a18478f1cff36b66e56728b4795f7cfa623cac6d63b7c542d2cd84afa98089350ecc2c530d4e3543818e7b753c8091d266952389ed256ab409530b600f508c639b44c8dd4cfda869e33c1f42d479a1cce8f71534713e32aee28638fca1c1f61158d0503976ece1396adda422436fe3a01e87ac60406e4b6e99b1325cd1e51c724a7fa05730f0c7f9bf58d1f3d96132ded6b006dbe7f3bd04096c7c58d804244a94a21a5db8e8bcf3a2b1d0a51d6c180b6ff687cf7f367803cbaeb62936477a3ced444c46745670a27e1fc9c8317daf2d049129dd7cc7389f20b554e0efd2f9177ab868bdd5517dcf0b1a0015c1da8082bde91109efd48fa4e0949a4f15ae1e72501a4d41a4e3e3fc9bd39b9b10f09f4bee7139ae7874de3023ebf3f6353e89726e59b47389500c3a9aedd4b144779a4acb99e0dab253a16f9b673e6de592194e02cd112b59350595c78af30524f91255382a7abc54f67a14c5aa3dd03515f04f290e0e84fa349a260b468b594fa7b8e603c05d42a0de5ade3b7298afd1aaee6b9167deb87b266c06cb5702dd787ee017699466d91fd0b7cdfde62f1db0a82f1a8978b3492e0c5decc135a112c079389a0894fb00796944895f5ae5d0dec45e50dc34ec04df6934800a2a728ed7666fa2f597ac442849d4595edd9371a6b27b67ceda4f7a92249639b0e5b4e7894c10efb39725de99fefc2f80cf71a70d3b6f61185450ce021d0bd4ccf9e794bfb89024c50b0cf022fb93eff7355fe59aa1a8720ba0949e20919e8bc780d280dd56e8f6d84dd8456dd792e55b517125678e7557cc5d22046d892ef6ee560bb0df4a3ed6f70d8ea6d422f6fe957458880e3bee137d27eeeca6f8631104ca48a43a97eb5c8ab0f3ac7c4c78d7395e7fed146e4372ac68850b6f1a2dcdec1fc2e2851eba8de1a74ffc28c37caf89145161abb1d328f14312be6913f8219ed169edda79e0020c713d02e40611a7ebe1eaca44344963a6631a7bc999ded20979aa5f51ca88d49b4e9e4965fec02c896731aa3f982732b2aa24ddc8d1f46da15fb709604fc169ce5303827d9d77e72ac65b95f247483fb54aac7757ce676244021203208291920f41ccf9ca49f73c89e649c4bac4a87287bce46342c558ff8ebd4a30ae830f09ac3931be5cd7874730c802a9d2d6ff1a0e6bdcb2bcd66d0acc36041e15d7265775b316bec7cf6acba9449c6340020504c3c60d6724d75ba59e78c5a39f61d597bf5b91c107ac5631e0005269dbdbe27292984da547889df0eb8b394e30a98a38dd01b972953e0248c14f7d2759eb5f72e408155e6c329c007e982c06cfec65187c59e687b9c7d7c18f390169619c2e7232509444ea87ab2480c016067acd1cea381cad1602efda75e911380a0842d67210e88339bb4b444e0fae4b76ddf75880430648a76fa839211af034ac3c93a572acf5ddca172660a54624b866201e5ed147f24831a5296c64a858adef8a95a0720945c4beb9b2dcbc3557638ad996b414614f2368e05598a3f94a665188b88172260a62f756ed88b9ce29e6ec118173d95894dbf8e0190bcece2b4b2e5545e072b7fb69b96d91f4374bdf0340bc16af1f952078fced36c25c893e74c082ffdd723b603b5363dbbaeba0c97265e9bb55e3312c7fc5dfaa92e6a58859d3c9ac4750082467a43c99fed9aeee5b59d67120797d5b1abdfa3d1712665871f0a5449b0e3060939e76a5b4db126797beb91c52ca07945742c3f7219760665424cf8f8a7248e54c223c4fd453a50a2e61385475006e2772851764dbebba4931e3b291ed1a140abca067c82dcd60fc241c210163473bcbcd213d06527b1b719b2d01b36272d1be688f3d7ad361022b803766902fc3d338255c068b68e900159ec94fdfc02cf449913d12285964e1a3d58d5c6a1f4492a6e13e7a4ba99e77f9e8736ce0b972c7fec21d6f59d97c700eff0635cadb4e1b9e5dee9301965b2856088d55286e00a0a93475e8d63e076f7ed141614f5e194ddc4ce443db5c7a43e69e60cb741672953c7d057bc6b755835127d6af0413e01d8b23158a28f4bfa290727d930c0b2bf910e0cfbbc418de9b078a5f6308d20dc43bcadba4ae7f172a78b160a00ed22839dce48c20c154a1fa0c54a8a38e5930549d5da8da584484a772e5e608aeca0d87ef01b69b6a6b71057731251f006f54b569b9111326976a2e7a4141ba6b995658e0381d30b26d086f5049c744cd05f427b9dd8d42171238c1c60ad5232d15195f6eb8eae8d164ee3b15d943acc98c3665c41f8c09ecee8758b40204103c2e6bb279d37cd166af209d07bd7dd4c7222f5a0d99019687bb28a1d9c4c61dbb4d7212ddd11d515ac788ecbb1a9b12d1978c02f53357c1cd08c28ac9d4cc3c7df3727c797713ae5d92fff9671e6952e0fe88d29436d0319e36a53be7d227b99fd7721061b734ee0cc334047c5793a47eb170f857a2d647e856ba2b6194a117f7f072ec3493808e964718e3098982027443cbfc86d24bf8d8ee342be7164abd682c2edd281d9b38ab1125acd11198437030118b4c691eb4b8acab0d5c81fd08101c72f7980e03e4ef01a6c7e637e31f7bdc6cacc58c37879b98c76b31c675ab9cc908779a79d3ddd9b28bb32d79300d0e8d3ea3a9cc03e1b876d420ef9dc7cc81f072068f5beccf4fb34f14a3b9e9bce9ea74be7832fa979d190574bf83dbe926e172299f1f7ffdbf2c337faabe80e8bcf091ee9689c99d181414eac2d94fd068ef6107d64e76636b3777ae312cc87602f367db0aa8a2df8d49d70216df0e3f526d7222e5380b30b9122599fcae57425b1c6de0a9a36e50c369dfb797a459f49a6b480e7686c678a83d544283acb24a5b9e0b9b3306eab974e977c0127a4590b9575b164fe0d462e8d2cfc85a8e3c8ad8f1876758f7a47c619efa1146ee24e04535723f0020ee4bb523fbf363ab0b872c6918989f9596bfaf71e97fb5ff2d75556472fb7761812e550f15cee0b4f714c3e3484191057b4669bd8779d619b0dfdced72dc4b18124e098d55cd4dce494679a8f8bfc225b999dc8781784ca16e9478f840e01996fee6b32be7108b1551b585141091bf669e4b8e0eb9061d31d9175d1b7247bca812fca90be684d472270798073a17ebf0f85354c2170b7a4d02c52fab65e392a556a6f62a1f526435c49f3871c775bd37a8f4751332ed22d5ee6957147281417615c794293b89dd0b797999d2823ff8be14270934694890bcfafcfded69e45eb4c6dfff3f484f4cf383effe682359e47d09c056b3091391860e17b0ba1419f12964ee987bfefc6359121f8bff55de8a9500f097af337c0782fc901ebc72b820a083cd049053ddcbc8b3057152ac66711f88ea045dd6bee45a9e09e8c045c6c4fbcb9eca9fc052927265e3b7756fbd93aa9cbe39db95aa48869c1f3eb4724446b7210d5b06f55b1e30428f8b0fe372d734e5180e51b13826ece8bb5933718e75c4bdd904b9bcfe2ba62cfe637581f31468f544d39f84d2983e89678c6d72da7d08d7127b55509bf70a6109d135bb837ef09593fd27ca6fd0b99799175272a8bd21d3ef47767fec16420d56228127490d37ad0f5bcfc9d40790d8d755670e32100c2d469198b5912c684df5b640cf65e45bebec685f8640a1d408180063722c5d6ab43321048d057d55c600f9c3ba5ab11f30a56e822c601eebc2a4c1532e112c4b72e1bea3f9cc71042e727cafc5560f1367935d31e029a27b9fadcd80086a708b2ca17dd58059714a4f98513a2abad9c620b9af86aa594caeb71d358372de588c4d471f169a1f4d7f9ddfd868f0ad9e172242b2385266c69b2f2472b3724f8deffc1d8f2121b52f656e1a3d3c667117b4e0e2379a56b1ffbfb58de7d3728de56d9b5e48561d649e7eae1d8cc3606f69d20f1d27f17bb13c8da01c3584724b29ab0a0e910d1c7ea4d00e532e85345a956a065174fa139fd962c17e1a3a180531efd0cf6d2794e532a2be808c2f455daf7d97ade2268f4998f884733b2b721f31ae94b75a9cca8eb5ee400b14f026b4f6d72f98cc64459845f1b6f9bed072da91eacff982416af3393e1c8ef6c8c5e428f9e0a97a23f2492fb069cd216f10e4c3f65bcc98d677796f5e01d79a55a9d841ad2ca89fc97276547ff7ada8f772979b0e44ccc31913a825cb2c8a03237d5efd3048b2badc493ad9711a39ae6272c1724dc7aa9d2840d7ff1ec82615b8a76125c7bab16677fed7e8ed8df2d5bc5fb1b99487637d581fa042eaf7f4b98329d3c43df3e4dcc8d9340023a1adfc7a50ab546367468cc87be812a606740593fa8f3540359800db719b2d903d3429c84c487981fc246c74dbe4d0a39f4c1e019ea673c010e3bd09976967e5ec1a7ac2100fb64bf0207faeca647f7961a098bd30cdf20678503bfcf0216e11bc2611d872e84b7f94df80f86501a43becc58c1c4f3b0c09f266cebaf0e9f1f5840710c535685d38cbbbb90fe1b5af46050c1e6ef22f7c896a9ce10ce156f28dfc1a21a5504b94f0c97f6d3e71acdb4b54bb900de040d4fa76cc6e9aff5a669be91d3465413ae935c1d2a778bdbf041b239f1c292478b87c70360529019537014644a5cd518d9682e7283fbf66ac5b00d610d21b8c0f0a563b63ef1530ccd11ea6a9c5fa72e4c3a1d5d3d1d298e7b5d4412e7e174fa394b936a6383674cc41d520fd70e772510a05931e4dcacea49f51b6be093c0729483f8538ac3243794176e4f6223772f1d3fe97cb9cfef367e6a4431682fc3f906a9c55621cc53dabeb766fbb4a4524dac1e3cbaeb163d183aaad361b1e66942d2a2e93418e8ec4ad6521a039dff144a18c8b42def1aa195649b10af180ab21c8ce8e2acf5a5ff744dc60b63b196e72a4bd19ef8558a72636dc50c580799b01efda16c72c6bf08d2efa665fdf22b072bc792b59bd8eca0ccdeb34fd91b2db7afa4ee2798e5de38e8cfb52549dd4e872f9c7a4d85ce7693b0b1d3a353c9e99e554384087a24b882af251f73c18e7374dc3b72bd10ff94ce7b6e1dc77bd4f2efcfbeb79bec507f8a56e851354449e7272d8c8714393abd8eb0bf8ba90b91e297a1b5d87f46dd8b21cb27814fc51c8217202b191ca39cfda3e83dabe516969792fe5657340bc6d97101977d4db29ec2372552b2794d0934ee27e9d4ff9d6959d12598a9ca0492ad0e3ea91aedd3540657277955e30841ead0df4ec3b6d94e9cddad3a8153d9602ec9dcd55dba59cec5c72706fe33aa8291c16316fdd40e5f0bbbf3e35c1cf774fee39e58de7a9d939596407d37c48c01ab930a0c449509e12498113354a455fafde4b5be27c4d3b870f2e379e1209d58f2931350a62b05bc14b4afcd224bc11cee165b0967bdf17e8af720b6b0b22c971334865725af8019a00b0a1945aafb7d74b2ac08fd7a7b0efcc72417a74fd622f57cac50e1c4fc4db2e4a38ba531f54aebede4b7cc6733ade0314c34a141b744614854251d96b9991c07f9e69b4afede82bcdfb87a92214dd5260fcb33faef319c6a181d09b8e8f08713a4b0db6000419a70a32307e9ba68d5372f8d03f512b60117ef128daecc551b13f97e213007469dac8cdf390c40001610d9197691acca655dfa3edc6dc8b49c301ae1317f42eec9eb439f39d83a7c91e16957cbe6091ff2a791aaeda3cf5f9414eec21a431e6f5e8332a6556ad968c6b197d64f831114a964cb2711c507f312f1a82735bb36681c3dfba1e2ebf3b1c3672cea5982d50058545dac1fb78e425f5156e2a9e26a10ed8229d389271f8e7a76a3727247983618e943106b7598a36c240fb05c514aa403e7e0b67b815f8776872f7b84181098dac7b1bb00a18fc85a41bb1d95ca90f4c651eb9c7a7a2bc83837294b8771fdb9074a054337bfafb9d8f521f73741dbb129450047f6f99afb9fa08c5b372fbd160c1e8361f5c3794414375baf312a34360ce0a4f0e43a39632ca02d39cbd0fe36631b8e6bf3efe29ee7b9d84dfeee486960e43e0ac8282445ce8728b7037d289394e8b99a442657f56ef96426d2daabd1ec18e7e15a412e84ff972f9f13dd1ae37561af6b2cdcd6a9e5b3b9f7b7ff5ec28ea89c4255bb71eee2d72204fd6f011caec7c20a0abd0b99d0369496d6330859bde6b9be73629808d2b72188f076de0b47544a4c04cab78cf932ee0278d0e9c2a1b16e8e0709d753bd372fd1afeb09e1c0e338d36dbf8801741c0250f975eeda792c6446d62ba265e0f720589aa6a3db78379e0224ed14f52fa37038b736835308bc64ecc4af09b487400bd4c3679de3b08270869c02bf51fd4726ba6b05ec3c88b81c90383433b2aef1bd85e225b1b8a15db1b8f4d9e55224662c08dec6a1505192f2beaf8d7a2bfb772613803a23f54c789b7cda810cf23cd94e42885ecf6d66ac35370a118bb2a14154c906df81763a86ef5cbe0715487289f0f4cb6c3793bccd4b5fd4f3bcf59f750a6294114c1434f8e5a0efae2b1768b5336f46e0e2b02c06835679e9561da0e5c8bd5830fedaf3190ed12eb42474275c73786c750b07207e1b15bcde14a694072bcd227558b088c0eeba622576443b757f916234318c60d27eb332c2daca423729e7a76171ae69f460ae6f3fda73cf235ab6bc3f1cec744ed7b097e6da6ed5c6c8d0b7c61f1d7bc14a15620b533adc97e1956fe9f2d7bc3c00ca8cc23b3722035511cd48265cbed2e4236ef0f512b11d38ec49c4ec1cb81251a054168c7b9a2727b86ff2d847d6e5faeb922b59e2c20f0b3ae43160900da7a35f2df47bceb0e55cd8c44ea78d3837bdfb0816a4d0def6e8d2dca0eebec765918b474ecdd5a83720c89f63d51274dc36f8f35c1e8ec9e9ccbc29f1e62998489eb71aab8f4e70b384bac14a8279537a376e2d617977ef0f2140967e76015039b48a97b0f624a7922a8050a812f955da6b119ca750071c10f041fc157b27058b912ef72c7f006db722b72483084782b7f418671c622c1d77196e74ca792914932940358555c002d5280179a375a4b14959209a28ab07d18cc93b5a13e5e2cf87f1551c4f5d989e772ae541503a1a1745700e80ea24a45bc04b469805692ec0d53002a78559717dc2ceb73aaa5ba18c42c5e027747b73fab20d712de387dd27180ad172bd17a12b6724f26da3aa1e52cabd4cda6a5ea3981b589bf5efa30b216360fcf6d55c1e8837258242940d607d1b1ae8c2770023ad7329fd0921076b3f8298f1a78a1d5ab2c726b92b8e10eccaece5dbe8029df91633ae2c317cc906e28c7bd8a81e846503f72c8d70f5231944cab43823c32e4cc81f85f3285ec541c6b225ac69609c21f8d72fd78ba880582958a69de61f8dbdb80c8a7fe4526c7657d38db1da6e09e3d0d3b88ff34fc325c3fe540bb7bc34119db9c0af9f42139de4c2c9fe1bda4ab8f09721e1bdc00b05de7f336183ef8a6c17ff1f66ca5de4e746495ad6f0a9a8c157764e7f62507536b7321712a47c2b84687de9cf432891665eaa3537035388ba114728aa9989994c4fc19af5c837c70174339aab838d1e683f0499e9b6653fc143f0346f4488065c15a9cd067c9b8eddeca069c86bbe859753c6782b9589b5bbc220a39db46261944ce1283f015f160c86a427f951de6dd3ef06bb325cddc0bb6e7721c0732128c66ab4f388edd4c975c7520cbabfa1ab82c05f49e4880cb9e7d9f176faec5ce22d1754c76e8c86d34b67b372ad643a3decedd8593875c668aa14c723409faf13b55fd41e53df4373ddc436b74f2189342c75aa28ec186d38b257c724b7060dcfa10bee3e5df47fba78bc50ceca5be19fe6a6762e72aded7ea46b072fb4c7bd5029382fce6961860be4898f295bfbfea10ef87dbe26d87af39acc472dc25713ebf4822719074fb97462289e49e6d4ac26580654dbb238fd602e44072b93ace75e9b4a2d62e1d57fdba7ac04255bb574a30a682eb43a2f53b3decee710abbc443c74a3f4367dd31961320dd7cb840a4b7806976f47dc0629484de802bf93e5727e7377917cbb0b6293c337ecffe04ab4f5bc81ef5a615502985241f72aebf2f09ad7260946ce752ad49a07cbbbc1644800123261e1cd826cd979e32727929383e298c1a07e4263193f0880ad1652d4b4a41c15b30e7b0b55a604a471e28f76534ca94473f2fba9df0632cae32a6c5462913e363a5b7484016e365d472d594f42b584730fdf37b8e88c9a77563ac272c11089a19e6e8c43a497189585a205fc0ffa2324107e23df45d220b797475124161a24819b0a633608bb5181a72e1e099398d88269f37c5e39a7f4eca120cc47cbac0d568fdac3281661f2ab05d3463ca7b1c9e2dffbc53e76b031cbcef7cfb72c38e1b61f13b8fa05e129d3d72800561fc50c5dfa68849f9331ab17ed5d70e41aaec839198437a3271766faf72ff73140df4f1a5b4741d1d0077e53c1897e9d8820318e588508626f47f2d325a7be0629ed589d675ea554713bd0f0fa8e505b9982cb27947235553a4eb877472208de9d65ac2ef285dd4047df08ff8e106a984d8ca8dbe32d3be6d4490a856728a917455427f532062194b3d621d1c1ff40b6ea2a32eed24f814f837d63aea72ab0f13217b96dbc0a0fb64434110960c0cc6204319ded67afb2df31979d1eb020c23d3956ff67db71e14d035e602990507858dda5a921b4ea758e8fbc697210f224fd285e6ba7e47102e99e147da79450905921b6880efde56adcbda12818502f98bcdcdb4f812b96f6551b7c89adb6c2ffe8e1bc4a6ede58b4290677f97847260ce23ea89920b0d9649fbb7493814beb1bc718a2151040211657af9ca8ddd72c5be5ebc71548ecf5bfdb2c00972e30cf5c3bbae346ae6f92663f4593ced45722666c38182a2431d83e5052ce97886964398bc814c6a87494eb564157806e542aa92819828cad1b61e5c05087bb9aba432d00633cbd71f98763519cac60ec52fb3444d451b37f9e1dcc9f156126f1769e196ccadfb84b9ea1773b2be32378259b67ade5f652bb1cb20d0bd8d25c048384a0623c032f4a443b734c122f65e6343ed11e838ea1c5228c411b2ed6c88703cb0e4cc38e7c48218969c072b448c137225e5dd5e705e176882517c933f23c7d5167fe52852c8e09bdb9f39d83de8ad527feb6b56bf0b37d3ed0d54fe4d6cc28d4c4ea4d4fa9def848efcf498a1b8876bb534fcc686d4af617386bbab356cd9cdbe64747cb75647dfb8cd10e51bff46603ce507b65008934dde829ce72e3ec392337a17bcbb920a7436f411122915a67249fd0e95485754de0f9496503b432fd5f8664ae6ad032ef9079e775b87c4ef1e1b189bfa72a4eab58d216bd8c62bcb55f36a3b3580afb1546ae0ea97f2727c72060860dae00e0627d1755588b402cdd73ad95773335bc9cc3af889a1085ab572d0206b927a8c57574aab0d8cfdfbef7a585f257f909764bfd76c428c90c6a61db6890d576929abd7630bcf6a7e0284ae157736de809fb829260bf4fd30994b6f9952dd3dd0021a42b9b697777fb1c5a94b41af8f73e8ebbcd86790f7b6f28d5d0659d72a238eb36f89d5c0a3d511f600fcfe6d26ca5039508c1977fbd75c9c723dfd59448db9821fb507579ba0ef016935810e76670f2b66ef7231972894870b8536a282aaeccab763dc587f06e29548be40fa528e7ba0e537052659c5f8b209a887972809b6e8088d117a833c1cc71bdea55d711b846866fa47f916a7dc9d66bea2146a83e0484fe0ab62b481acf7eece7018840d054c955bebaa2fc09539727a22db2bafe9b216c20988f4ea8bea5362a9100afc842cfc1ba1c15cb616346f0bd0da9f3ec216853c98943e8874e269ae312ff019d499551e2b65d6451d5f4c78359759644f9355f35cbfe759282a234eb3c090221073c29c94fdd6b8a3fc7227d4f26584168b2f46e63b0eaf31287239c50387754ad507f8c2600e718d684b3fb36d480652d50a6e06d73b14dd67a3274699cf186042a4e9a6c8fcbea367728c0b2e4e94478f43d1ad09f38fbbab07e644d278afc7261c39f7387c4d5daa6fb3fb42140efba0f855f02b45a3c5481154fad21bb01c57bad414749920323972049bf03d207f86313512091e6bcb5adfd45a82b5cc012a6ca9d9c1bd10815b7271d95a9c14074a78d1dfddf496eb4845d76f936901244c61dbf524a305c6a94eb650033c16f35ff4d82bcdd629efdfe6cf177a39384c66117f3a4333eba8f92c18bba6a733d6f04629e21d4d25c7f67cf1930687bba26a36260ed9cc39528c3b486faedb5e4824213165bd05240b5878afb08d055aed364b8774fe5aab44a3725129aa1114680202620261a62d67c3861c3665356701a05424977017cf56c9722bbfd3de3b0e9512f04eb1f7bd490e5f49d568d4dca0246aaf8b7bc5a1cade72fa7e39d9a28956b203a3a2a777b2c839c7a92cce8e8d164d65f04033e593105cb9bbda57a0b66e56b74f5490d2dbeb2e01b1139ff1798bf9ad6674634dafcc726a70e262fc3d231ce1950a5cbff4a0cd99b0b4ae082144a4f21694ce6c5d4c0ad776ad10482ec32f4588a6a0ff6f5f2ad6635b3d171a97f9ea257a860d5d26728dcf1f5dd79947eae33a86d91dbece7aa8a597c196a4f84b59beadd219017c62ed314814fe4ed739b16c8da88e499a0728d8bfc93086b0dac6dba812f8332572b4d724216e5c5fd887beb9916c1fcb0b3ab90ce71bf5a86ff02f0601ab84897266c0f121693dc0d227392beca8da6701b166a4d7f88fc4c196ad429278c6ea720d41a73bc0a25a03bc2999c3ece2f00c12133aa114385134e7dbf2d0f626466861d8e511335529665f557dc463a1671a9a70074a3b21d61e7ac19ca7d839cc726499654b5abd3b8b71a3ef7c2b4ff41626deb95329f71080a91eff13df7655153ad490fef52c0477ee93157b090f153b815b46bb3391543c76bf07b66f6d62256762e5dddced8236237020615cf93901a4ffe6ddfbb467b18db5875191ba0572813455ea30ed27c63b70ddd050ad99c12d97a62e484068739b7ec2e3e517fd15db998092c534bef98a664f7e0b31162a8ef7b3bee79c99f23ceb5c0ccc9c603b27132628cfbd4f72ab5bc431d63645f82edebeb26f6ae007225ae37642dd5d41ca0667acad1a6d5337a9c6c9be1fc60d690595bf41ad191067e2ef91e31c19720fc8a62f7b0751a140da92832ec5905ecf40937e371ffbb615bb63caa810a472cae448b582c151a6f64bb1ae4f65c285b985ee154e3373c85076ce19171a082f431b59848545a7ab59ab88cbdb8a454154c45830da4f8b42d286a6ce06143e2b50535bc9585f0fe88e3758abbb4fc71d68be3d2ca167562d584ddedf4fd1e82bdf61a25b1ccd17eb1fef57f0edd3662382d034614c614f4a20a44bd4acc4e272a3d63257ed4826a75cd1b25359a348911aa48ac653ac37e7ce0d3803b95d98725bdf028d64b07255e25b2f135b36ad8fdac58fc663416621ba7448381dcb502b87c033c4964f9f7c9f07aa85dbdd73c841b629a2df611745a09c29e01cd0fe6dbe1faddb6cde7edce880d145acae7aacfa62cafe430e9268c623876d97d6e372c67fe3a35313ad95a947fa5c7d332bec9d0670d2e49fd40276891aeaa2ec6c63be48e9f5a3ad55bbeee39319aa39b166408e33a31dfaf9bcf5f65764464e3f43acbca91d25ca5716e244e3b8d719568f42e109e0d22518ce56664bc76a784b72aa592c05e35de1519703e205c0d708ee127b8d6670dd535dfa6f536ae5d3a953d47f2876033d11821126cc93952d61a981becd6307f352783c51d236c51617464d817c02db39181997587270a6246e97bf45087eaaa4f9326ce1b6bef0f10072ef4f1a22adb51ff61ab08434fde1dda2f48487c6101a9950afa593c0c9b1b272c0f371dd7a1d96f9821fb29fbc1bfbc9c63c5f423363fcf00cbd42f131069b72e3bd543a42f93e87238e6633a54dde5a5e797875afc80e43d003c391beec9b72b88e9b5d053aaa6a0b458e8e07aa510198ec32afae89f0408418ec84c7d0283175826ddea2160ea6dc2db33c46ee8bcbb8a48a4fde5e2407ab1ff3d42414db16e1dbbe7d1698975fe3543c20218dadf4ab5d57b14714ffea62de14aadc8a8b304ff4ebb74b9b4eae493e77ce4be000ffd379eed3058504767a6d7e87b9769b067cbf6f66813dcae7a3be4a53756100c360d36b620046fd5c551801514818d472c99660206abe761792c9c3a8799d9c1155cda3dd4ae304cf5fe47fa908ff8372c4c0f56706b33b2d862f79538abaa99113a9f19a0919fabe3f546f04f8d21c72e5a9d773c5f3e12fe0124d3488c4f61354fba8c39a0a6196141bc6c16ed74a72f1632eb5a3cde8e3f73c9ab43a5cdd493856a37c245d44ed58de00c9d23ed2726d9dc87b6f643fc38afb76b49dfe6c207269ab085ba86149567789435ba3a204ec9e1118e2e581622b7110c50fb59ec428e255602e7cd92981e03e6a0b9c01415be357c8a96d1a26816436c462e96ba093e6ac118ecf00c4ca1bec2482813d42ae5b973bf476a949026cafdd20e9fe088c9fd802715c66005631e7ee184ae80c2bc99a05bb78833a226264a77059c460616c4c13c36956cd2e1f226b4f44e65ed058ed4e9bc70f05c683caf9cf0ba0812f573b20a5cdf1ac4672ade97f96a96339316e2b3cbbb9d7ce8c465a040fb514586e5358d95738d02f3bbd78d6ff5a72ca213c0c5dfb84911f45507c3e325d06d4640e3a6460455dc5a0d1e4ad905b097f1196195f3ddc57e7f9a61278eb8a69bc262c147ba855ee6b84723ba96114722befe597c80c2c0be7fa5d686827e63decdec4a0504034d1859589dbbc946e72b5842dc8732094dd4a18b74d536c4db481b07afea8306eb7f573e413e1238872a2d481c022c531c420411cb28e57c3447b4952fd288885eca7fdebb6f61fdc72f7976bc1042bf12d3c9d5ff974194d3aa35ffbe49038d0eaee0a475cb8f8570297327f5e2dcbb16cd10a78b979d6355bdbf7ee49e845194dee7323f6f33360729e1c056e5feb1d3cbede04beb8f8d925296b4889ab8d9a400019a92834235e72e7b238aa7227fc666157ff8b9450e4b244d1ad06e3dda401869a4460a7dd3c72725e168cb6a50d0fa68ee2cacf721194cc309aa288726e9d1a7b41cd40aafc728bdc69e9bbb2231e0e80f39a7093d3459f139a996f83e5bf2dc71ecf31f37957e09ef76a9b266c0ee61fc0f196f551867ea5e85a82b41e5e80bf1560023d1d720384035c448d5757b286d8a134c5cc2e1f0d2ed1218739aa5e56ce739ab1be72aa900e2cbfb6c7917f4d210a3d41000f70599b4079905701f61c91af293e631a2d83779369dbd4808fa1db281e7c38af195ccdbd2935b39efe34e8e8ebaa510e95aae586341fb649c36d05bfd9d98abeefb522cc8c557e432c7a7f3175e94d72345e484c640d5354496c636d4619516976be38dca98ab674c5f6b32f2f21c172e287738b148f5814012c6c5964b30ea4d7e48c02a05e6b3d59de2b234e32cf72e98a80855a4f5149a8cf797dabbefb09821366845a72901d2059b7654c696472c441f1d355480fbeb8a83d0f4df090c9fdec49c41aa0ac3af214ba12e0277a6c90534c844043ed6f264fd77c79b556b9acac94a13cb0cb120a59a638f020c9720de92ba331347e18257d4ec091d5a92de9c47260467ee87e09184ed66c99664f0c35b733656952047b98bf9847d82ef91c54f0a0349e57d58fe1e65b3c8985421cffb055d2b1d9c2dcce76c2622ba87dd2551116e6a6e7e757ac25ccebe6807272f9342b62222ae383007c4892dc4da4ecea3e2e42e6d00800846526721bc6724789f3e50522a3a91b94302c17cb331d36e4eb37c9579880e9e569fac5f88d721b0146161bfba009675a4f4bcd499426a54f42003f243613cf7cdd70e6c3b872e617da162c5b4ffe8dc16c4fa193d0d35c75e1bde5988c45c06c39915f3fa872aa9232ad19cb12e38f565ff844ec6cf58abd73919166d55639a88c7732ed11572fa575410abd270eb2dff25e9606926abb1a4edc79dc60e6c258b88d899641015c39bfb21f63e1ea3253c1268aa27182657023cac52142b85bd84e8a3d4239729b8c17d4028a7a69e6b234fb58d886e19c205bba132944676102a6120e03e0566a5e8210ce5024431fffcda92af6cb44f7761d0e937d76c9f7b4b73b55183272e4ce867489b7fe7a89f49984e6eca530842084ed5fb55988b9f12ea0b04c92722d90f39f4f650fe7159d65c9d0165539c081b0d375dd6d91df09c7cfee83b172d15538a0357e2c1d4a54a27812c727dc6093c686dfb6df921fcb04894c22cb72c16d6cc73a98cf6e85d283fad1f8f9add78a7fe0e6a815810c59dbd2fe249572a48bf6ed2f8418bbfcb13fbdfd7eb089e5a93f6a531bce9ec9db57c4842fcf254e2aa15485a901ffeb37417f3a746cc4093837b4dbf959917982036585060972d09697bb229e9c7975b6c46bd166ad4fd7cf74cd8a8d1a7f853097aef3103072e7384783ec64c85d61ae88ae8c1c8ca1bb9977f362f156f96cdd4b811a8f29057472a67e59a65c71b6ac321dd3a4f03b49cb1055d5a72c9c9d78485b6b1a87723915a3e9a852634a69a64ea294c06698ccbd6a24cead1231dded1c83b50907399894f2486364a8c18f7026a8ef83efe1dedaf916df633fa89a0a9b2e5093ee0ee8a7b328bc54fb4ba1add565f92401681e3b5723437550bb5f2264c29381c67245ab6d7b29a7442a304b7ee07c9027d0e7ea5af4d8b6bd3935d67166475c6f0a709de7047fc30e8a6b3266ffd4642f1e9fee355e562584085b347f74ae9da46306a65930198b590010855bce487eeecaafc076e24fbc91b1bf723992cde75572717350f5287437c7b89c04c5127d52e1d296ef6b0c77d8d9168f2c674036f6723934ec753de74d15f7a2c263f04778c27c4b42e799dcbf503126a01dfdbd63724aae9f0d4968ea9fff835ca6b1cc90210e4a6c9a8531c1c15158bcb44a0b817264ce867c2657dbaf02bad0c0ddd2df7c4a3ac7134d5d3d33a240ed4c7faa933b4dff1ffe1c128f4d91d7851d5e0a23715d3f6d218c48b6d9d320d6666810aa72bf4a1261d97262d03fb8cb7a17171a1323324416410dad54558a9bfc7844a7625109d93c36d3f0fbcc823cb7bd2375446aed863bbd5bba00b4079a952c23517271bc82b5c0a16db70744fc5aac61dccc18903bf91c422234d2683d7ff62558724a7eb36764e2c309d5bf79054a983700fb46ddc362b9ba7d4be11e4cb8e2e8720aac530695f1066ac81580008ece79f198d8e6487f4c7ad8835168a56e48be721f84095985974ad6b54fc286420b7fc5b0cc32a8297cbdf0454e323f9355861cf7aef3d2527c6b5b81adea2e1ba18079e9d3984bed165f86a45da1f67d6ac204041f7758c0e3f995ec62f79bc3210e97672bc6d92a741c8067196f281136aa690f593e768adacb52da4591b3e3fe7468d140afb17e5b96c93471e81e679469727a6ad5e11361ff21d58c88c42006f8929970b1a1c35be3bfbe98d308cd0571720ee246cf6cec91c4a0b041c2484c92b83d2ca9bec23e4eccc841bcfa22d5b1722e4bcb5514d855b18f01af89e50efc6c5a365b81c6c40cdf3e6e4cf66c5bd9726381f358ab7414bc94b2475a8da4416a738dc957e5fcd301a524ffd7937fa12b81d1dfe4eda605eb9c78ab83eb28b00619e1a941c79c61399429b05d5cef590189684430b1d63ab215385534064e5ca6bba3dda79805e20aff80af301a1e095be914859b41cccfe2dfcba01b87111499efba0f21e8516d81535abd9d9bede872438ed51b9e469e53419dc20cd27b156d7904957fe4aa9c50c989918c1828e972359ab59e5ee48ecd8a918afdbf50bc08257fe03895174c7d3df85fb99c0a523780c3d395176f9f3ad168c8678485dda9d2b2c7cb66388ee59da4a7d9add3ae727705b4079520ccd26cebc23bbfdb282571b634b53ec9f142aff52d480c2b0964204ecaa1a59650b3771ef81462f9b7ac4efe1badebe89a39367dc35098bfe972804ff4abdbcac954763a42a1d8d7114c2a5290931158c074acb14eb3158dfd02186129279d2190e282923910e5e24a9a5e06f47db5b1b7b6df40ebb146d8061fb8c3c2085f608ee39dd2bd43aedaa16fcc6b7a49f936eb25a221c5d9bd04fd72c19f56be02c8f3ee988167be0fdec53f2b284b675fafdf7956852dca6dc3ee72d0b97c31c38e83c1327d03d961cad2fccee0edaa63d137c598dcd6b0a55f56109711cf767ae753b0b2fa74162041affc4513b334dcf459a83cf97136f4241a470d0691700af534df8d78d04352130eb5dc5cde91b8bed1c6ff076beda1bad47213ee29145d15fe6ecbed227bafed54f51d7f5375b1729587c855f4669e24374a993781689ddc55cc2724aeb0155ccbcbd74294ce71f08226134f878fe9629d72f408652dfdeb10d76997545793ee608891f436f91f698a1f044de05b049e3c341d71d9511c797d0ecb86baefde8f46a191de626570bf9ca6ff6e824f8ebb695fd241a667509364286e3e477d27e2bf98dc77bfc893bd94c712f224ca56615872926005aead1e86e88a027c448e429f36f6688e0172bcb6329c2d68fe98adad72f82c01dfd260b87bdd35c30272276bcf96f550cef3a1c7a5f15b2a5534ac012507ec1f33c457d84c1785f5469ebb9b177d455b0f232aa774073e90176a125472ee41c7fdab277c86508f947ab42aa1bb46b8e2aa7d66ef7c0bd83c179e218572a2b6f3c8fe48444554c1161e1e7139962e0dc1e58154832aa1a3d169c280b8490b4af0f817e17c970c390fe1df805300ccecdea48571fac346bcad2e0001d834b05c7c5c345895a54d359af50449b13569ef917db6fbfcef394e193bdd4daa4e00bce92bc0701c58c36406d9e88a16925be2b7f679e219e5f016a7fad30f8d72d573ce5084b6ced73bf5f0aa9eeb013ea8cfea0cd8d6ad54289dfa641dacc772485995d5c7265260b448754e029bfcea703d18663d4d9228129f96e381a1b47219524401ba12f20a2040406859e47d236468dc773d838e443a60e8fabe40a672cc1dd01f1b35e201af97afa22444586e64a0f55a80e761cbec49f401abc6bf7229feefe1db7de400eee8c108b268bbafd25d30f1a76d21efab1d241e5c492072e1e10925031c2a8e3ed16a5c0a22ae51cb223ba4f8df032fd062aff82a22551ccd6108615c482e1a56a3fcc5076307f42b07f4ad4b1c447ff1d10cf4de85c10290cc0f8eaa0b76523e6c77159fe938af3da908b4cfad3aef35bca33d5ad3892f9223af6ba0e9826be18df00b0b2a7688c5104ac21a5e2ac98d884d5ee1e35c455e4ca16505278c88fa74c30b4c24c3e4f7670be27aa8106eda1b3278a6ddde725d63a581560d5374b90e991fa98ab1d59b1659490fa92aa7ddb1bec9e171562b77c28438287298edaa509cf790b0c44fba38292a6504ad79b4e18ee56c92f67297ad06475139df3db292b5a09f4aa05176d09bcea8fd992df2e6ba1c29c7e972b415c7eb775760cafba7126d6e455c6b1bce37dd1509bc7e53c02e15883c002e19c5274672b89ecb91f4b62aec5d4272828ac2ecd8baefbab1507452d382093e66aaef3fa58176ef7598fb02bd8ce481a0ac74106212292e3e5e7d18fffe2267ea26e5b82f9bb9cb8ec90c19869ecdbff214d292dfd8c92860adf2980b8cd272c3ba415802cf242eb6ad0884a1b91fb9e36ef0d49b38eff6e0a5bdc33fca7772340673d303ddcacc9a51c3b726b8eb926eef9ebbc559f1f670bf1f2e4388e83cf224329dee275e7a8dd4700f6c0604c9713ef6bf08757024cfac834e670f857203a8da3da9a587df75d2a14de090fe5331ea893944f77e7f49d3aa654ecfa405d6c6e5e7c4ef2100ab314fc179d67cb5aa2f8d6e1a39312e3a63c0bcf95fa572af46b23e63446eb3f292f31441c8e9b569833bd5c78fb7e91b9afd00fc7f4b72405ba49e4ba531fcc670c6049a0439d1eddc5210c9b95ad17ca098af79a8bb5fa120e69700ab0ce76600ae55bcff30c194f82c4b8320e2df77bb82dbd705be72a26d165fc35105085c7df7186c18ac5b0efe4b102ffea10ba78cff0f8b178520a3952c528d55e431c7b1b9a38e3de4dfeabfc7125d37e8e271d4f1d2f84b1b3d32f0ea29bea13b44064c128d0b8923625a7fe294817efc5ffcf0b8ab728c3b0cf5cd4af24e72f2e90e26cdbec0d1a13f516027ac675276068e1e7ebcd04efe63607ac2e200f588313235d950f543e20c53f0b79c1676467896030ea2f2a0946e691643dde9ad1138e8444434eef332aa32816d33a32d62896b91084d141d101798c45d39cba6be91d6f28ebeb1688b4ecf4ae78d2a558437ac1963c524704a290a4377837ef635fd0463730f1a484469e62eaff6f6d40c9657ff6c3685d325568212a7bca881ef9fb177df59fcb16edab7181fb4137d365502a53715908adf7202167a932c27471514b8386cd5040c827d8023d90335535a29bec2bf0546630cbcc47aad98794765a1bd9d93841c5b39c1573600e2662110dde69e14400ece6aabc93dcb76452b141d0f0a6c9edbc0b0f8743312721167a76806d93d735c6a727c5859ae2d9cdfd9356d8fecbc30825403566b8e420ef61afd8db891e5612b3c3caa6cb4d6599bcc87b95ea60f2f784147d5a0e8d685630240064a365c87ec729c8719bbf0fe66905ed647ce3d846bbbbaee454425c0abedfddb369bcfeee272cbd9e78dc26a834b53ba85b3722a8066db9c1830fad7bc4c99b7e8186d3ef172eefa1f947dc402c1159412d7de94526b8321924bb43c7b983403d39851d8d5326fa9af052f8a6aed39c948e39315d083a558e9429214dbe38b69cc18ff88fd72e70f35e19c200308642c5f447eb985c45d387fb7e6150e9b6acbfb82850228110669d92122567ffa206f05cedc4d5a587f24f21b2b246be53b40c9afb84f8372253be4d6f4a411ebed4eb0314b1d1dd2f0da0e41d0d844813e334dd07cf66f72ebaeaa3f9576eeda6a02f8f16e5abc43a64dffc1c2bb86419e96ca609f939472f01ce50cb9b863c17f18177f202dba7d69073add08626e5753a81dc1666a8d26556dfd1cd966c31ee5fa340d10152e6304714064eaef505abe02a337bd48bb65a6c352abfb1fb99a1feff0d0de582dbc20d80b591e186a8f4750f302178cf6723532c54ee9a723b303b27c6b73971dbd7679d8b2e48f913f972000e9300e87179a454d4ec86ea036a1bae832d74481ba72faf37703b0a651351bacbebdffda292b0d3f752fc2618dce864e2724055892e967538451e6efe3eb74b1ba23eec5161372ada73e9bfe8a37e472c2421a1da9cd6aa9ac8e8874e7d10e5a7800719e7268122ab3d960f6a349c07a9b1a60a27a2dc94e4b88f8a3411a4bc561c0adf54d648f65e4dcaa52bf8b8a68b7ee1aedb1d3582120a01b4daaf9035a18628d21725d24ca229604255b1f47af5d3ad068c13f2b5cf8b32cdf06aec5bf044955b272f4f81f173cfc230633eeee7214307a428aa47ca7a9b7815ad96451215303a57228e26e6d70d001a849c28a526e38a862e4da0350f9c56ee6ae763258a3eeb4671d1231ab5fd3b1a8a367f52a2f787850f782732b3e18c1accfbf51b33fdbdb72a441f7e355605976610b99b36a2630c5dc78a616319712e6fe8d47f2ec8b1b1b19e773c52538c09558cd556f9d7763e896dda7490b62009808cdcf79b99941721c1c8679f156f0f76caff496a5f520377fca4e14da9aa4ca7c10105780548c721e98ac8119bd14be4d2cc150958b642296ebd93382000bf46bded1d38ddb8547db553edff984de4aa76e256c8eca6294161f787f23a0ba387c5fe4ee2010040333713a554d87a533c0082c5f0eecef61237a09a5865229ea204e31bb7ef1b76f60f4cc379856fe6c4f4d61a6d0c2a9faf7d6e7dfde4eec63036a9301c1da0572496ad80d2803650a47dad208ec61fd17c42880fe00e45483fe2e7d0563252772abb9fea950d6e69faa02a61e3d4947c86f6289179ad5ca730f706298dd13087255df0ee9c556ceab783214aabc5707c511fdcafc2b0ec8a6a3d9ff04097891721294bd5e1b628211ce954c6cbc42504b5b3f8094721b066fc82a13754b3177726bdbe77e5801cb03f9ab7455a1d7b6fd8516362d3a31bb8179fe8aed49b4f567dd0890ef7568e1e33168fd02d531b177a87eb36e66827a4051c4021fb963bc72d145a8bf4cb5ed030ba5172dabb6dabc621d471bd5d165b35feec4463c2d3c729e33b263a65b9b1b432ba6f66fbc4314c3bb5ecb638fa0a973837d2e8e107672a3979d90d5300719557987785a111d0682d1a60b97d2d3fed01306c8bb0e7a2251a6d504b92268908dbed72d3234a30ce5a46a18b7c581757fed431887815072ebda85d1b36dc8c51d7a9b652efd48e4344c83100b787cd1bc058da2b101957258d239071e6d038521a4bc9c7d929c7a589f7186d71bdf680ab0f2c4b94798725b4341dd21ebb9e33d81cb000dbc370d48cc3f17ab26e9a11ff3638e27a3a07287f80d8ec6d66123edd887e18257cc124972c676c9e7afa5371578affeb7b2656c6ff92cfce4a45f32353a71c6759d2806e2feba295e284d0ac7e67b6edf3b72a3335e871fe6f7646372865226556bf33d9775ec7cef56a314d3bae6f638c821add3093f07d53d352060a66507b921abd4ed07af0d3438ae4d31834b9eabf572871645bb2038178b0d2807e1c921f9aed80c5434bb282eef31e70e74061cb8391484c4b1d55c696f88548c36d8c08c9db1c5f36bec82488079d5a4e01440a20b40be2063f9b8176989cd854b667ebbf8aa2ec3ef308350d55e10dfe33a4d0e7210042cf2098f142f02cd7fe14ad15cc58540980e7de809aad0f3e4458c75d422afdfa5193791982800978e1f5127430a6e0eb969cbc15f78dd8b7d25dde5c166919dd32a42c60ec638ea4dc13678c88e6647cfca8c32b29934200e3f3a7d78720289d97ee5f36aea3d85c4b5637a031c231c2b53e83604965dad6879d8d57b72414ae37e8301f65efc9b53993bd2609825e51eeab060aff3424c0d4ae682197218aa2ae1086ab4c0f601df76f56362a1055a79aba12b29bf29de43bfbc7150722cfe03b0efacbcb91f8ee22a1e129a69c287ded49a53fa0c8dd2772d2e5e477290d97e2f9e24cab9b669e6b593b158caeb1d0388a19ac239dcca7b44015507720236f6b87b843dcdc25e026eb30959b27c92d484cb9635402cef153f53c72b728643a7dec7ff9420a957ad6d5026404ec9aa0dc69f50372c27e29f2cd8360e7249eb960767119af8edf4d5d294651607aabe90a8f17b30ea53e206d2f706b7721b3710fc5a5f4e9094b281e29d75c124bfd77c7408da5af34447d6d589e4e445314e7ea80690c795c353647317e66eda595cec9e7e7d12a14390170e23819d72cd8024e9396920ac9736ea917c9bb0063a4ef6f14f1292b5877a791295c35c72a68430b17045fb23026102a9d10d34ea0f13b424945526be6eb89929edc8522cb58782532b80dad1c4f27e0962bc881778f20ac0a6191786f97197cebd4cac026910eddb1cfc7f34ec37470ae09f5732a1a0f49e2134c39b6aedd9ce485c4f728ad538947ab562ce7cd411459393d1b1f71a0a5093b8c042f833ecae0b763b130b9bea94b6902084f0b769ec97285be800d6177b5f93c2ade88a87a0f44bef62d1f8594dff895439d2188e6b71d8016e1e9c0d47ddaff9e5e981686cf23c6b722cbaefa14669c2c2029dfc95d0da91940e081e0fe6fce0818aee754b8eb20a42810fc700703e8d0772caf63f42b29c482b274191afa971675eb578bb3b8377726da10085cb53bc3df4ab967ecdfb8ac6e15afd6f6cea19776e7d22dff7555f241c7e2f8d3e6973e42d05e3309cbda163367d4f5488e7a1368297b4c94e6b4d720eb56c42ed7d73f1d44834fae6f1f1675c3a8cabd915d8a07a49e5b055d9ff07aa0a57a04fb3617040b0c0894c37a6659bb78cc060e431877f945a743f05a372f553d303124af6db86a8bda35eefe7826065104a4d6faef0e8fb54d428adf1300e2617bbbefbce2af7bd6402aed83cf504c8ea2b686413df8a71f12e67f86b5e0d04061cbba3b99fdff3b859c7d44a6e61c1d5bcdba5fc3f76c364025b46ab44d9e7c897ddb759574dd0b2edbe2a3c5bf7238deb5c3f3ca869aa4a42928a937231c1bea0c96fcf3e27f20737e059dc9bc819ac130de8b9021ede52f3d9013d7239cc6e43534aaed3048953e6b782f063328f37e6c343ee4e3295893c4cf4397270ae35afb5549f57774d7fa2e9ac13221eab2d9c5a6ebe7a01f270d470f32d72b5ed777f6c66aaf7df233a91ebd9461aeee48b1a9707820bbded63225df2a813ee14671803ec110ce8676926710886e3205394b0487ab8f844989605ebcb1172ef3ac6387ab3564e2a1b1b156542e7789ec66117c9c83e68dbef804f17eef272e1363ba866de4fe7b27c91dd4275c961d37ccfd9adf05343aea37716beba0772ee7bec99919c74b8d7be57c3a06048a89cad7d19762800bce43c8bda00e66c5eab5c4d784f6839efe9e0bcd724a23790dd5381e316901f2294177137d45d8a6db858657337a3eda874fe1b2bd4cd0ab223375e46d5d51791a7dc15e81078355b37a02e2013557abd07d654303f2df25e786df0b905926e576d21d4984483497219b28a81c6a1343984ace4e98496f553cea325f170db12902ac61eb1a252e32eed0ec8b6611d039472efd541a8b2c5c00437f84c43dda3d1849ccd9ca2ce1172304c552bb58a40cd48aaa24b50b486ad39236d756c72e26652ebffdac5f3d272a0007a2a260f20d77ee8476ceeb35e1938a2815c4f2f1e1d2b6352904e01a572fa3b3f4975c1ed02c3e6f3dbb1550c6804226f8d46aa310fd0348106b52be83b630514c2fbebfb0648dd9149627ec1b3f1d982156d1910f61749629bed9c3072cc1d9a0f6667bd9369db235c6d994215fb255b9a7f79488bb1007079da6f853c473f81fd069c9deac2f67c4f596650fecbf9cbf4a705376c96783b68ec608172441e518cfc77d98749b3dcd107d740ee8286cdd83656f0e6602e4a0af2745572d5ee4d346f3fc66e40b0bf6a28cada3cd9947649209bea3ff3114101a76e08722836fa11a5ae00c15990c40df6420bf8a3eebf321b9c3ce534304c2d1a1f5872fec42f44b86cb83bcd8621a24404bf5fe73fafa71a9c5177d2c12c5716528372050d8817e20c0d378123c2cca9240bf3f73d4e403f1348b08294b10bdd228072f630e6450b8f1b3ac034f59fd3f3b9b310a329e349f616f8c3cba102787f5039c9a7a2e6a44c23206ed6f4b6fab6825a1758b74317285b11151fa999b5536172c9ab2d28e52654b70b26c869cb3a9afc413572d0d76ffede96dd476e5d1ab6726d86a7a6abff463c68ea783509c6ef8229d217f9580a02b6b51ae845c16814432ca9977a3c3360b655e37bc2ad41575b9cce43e7d54f48ba14638a15535d3a1bab86b00443a02ef1a9b4ed4b76c5215855d049be7eb7853066e1de2b0eb0bc1a59e40cd343ba4e6c5d6b9f2e7e1f736ea26e1417ebd075602c3cbefebe2a0b41449304bf7cd44a311f92cedb9fbff7d23d690d92ccec71117bf17878347ca9727b691b6ccbbccd11c768ef9cf521328c09d444d9e76359c9f988dec3ab519544aa16d7b096d841288d2ba9710746a88810a8fc64b107d1392a307751ef59eb7294594f7ae63c59dc22d6ab50a439aa6575f2c99d5e84c65b081338525a95e6725daee83b8fee66bf1f21bc940f847b5ead8c2d4afe3af053b885243965227c2cda08db60494e67def586c99d38d73f62fa155e8deee7802780f13bf6f223107279624a343e3f6d3549e537623696006c3f94a83bebd5f9c8527c075a2cec32728beacf7f0e34397f8d4570a508802f32f64019c3cc9e15f01b5d174bcdab4a150719f2fc02452c31b63e8af0f617d29e16af90314d827a352bb7a4ebf7f2854f4a003f45d03d39fd2cd31a1bbd2a325517da92019d5f8f753dc16f8f7ebf42437264b21bba2d16653f7f0c6cdd943d8fa3d576455f413dfe7dee2022c713787204879dd572f972ad76135d469c208f669617f31f23d623738dd20ce3b9fa7c722e0ca1c7645844ac23c9739b025d5343a4b626ba43be1b3454f9185d4eb78a7283a184f0a15e09cfd024b501e7c21ea903c2af6011fd19186c3264474c17c07243a2c3ece55599b7597caa7b19bdb992866871d3a985cb737bf269393571443892f27352c301d8acb971448c8d119dd5fea0c57d9dec154ab34c498dadc3a728b3e53eef6cde0b096d5d69643bedcab4e119a33e5c6db6f3af82233e25d80d72ae5fee85420d8b19da5db2bca44d6c348163034ddf2ca1079211eb5f37729272249935160d2c75d6a4412cc5dcc5ca4d92d85d1c13dc15ad33795b99a8c081726a724e94968c5be5b71c3950ee0833c2cdd5cca35829a9145ae55659c128c272db39520968523b880a6c84ed7f3d6043fa20d521bfc97e136d8b25de6df54b72e0dfe385c3a01854afd1a1a9924e119d3649077371305e62700a1b0469ce22721ba54c4e8361eb5b8706712523e4b4871803333fecf8bc1506ff7d0eec376602daa68f0f62236ce9d40a96871b3d82fbe6d5864e443a4724f1b49d24c3f3331b9e6414ea8336434e23142b63ad73204f37ed8ab96827aeee21150bc1a45ea072e0adcb3d23e088bb173bbc8ef94be40a8a87eaf8292e4210df02259a4238ca46359c7289eb72978266854eaa0fa57ad95211955a967eac76110338a63b919a49930c4fa468aca18c3afe4d2105ea9678e2a151ae0345b67ece0f13099a8fd75aefef3cb8012888468472f5fb809aeefa6eaa448486913f9f36df30d39e91ba722d7665c809752a373a83dae56f2a6a7ae910134914e076f60f8159f2bee95f72f77c1951ea93a5535fd901518062eb0d6a59d1994b33d772e12155e39ad06a2613b0b51f3896384385cd03906a51ecb2a4df278500d5b9134ade3d1613b1b500076189edc0cbaf25764f041f4a41d8ca60549a51c82eff53ff7c83373a541d724d25339ab2f67372cdd76d7c6e0cb0a0299470d109a30c09fd2bd9ab8b4e2772a5671b9a4c450f0a720f7e0829e5a5035331f711dcddf3dc01a060d1ae10317226d5603c703ff663584d5f216ede85f13f3362715c9e01504381652731290472d9c545e018b06790849e6ab497fcdd46bfda3e6608bc8d537ec41635d7ae99725a908627de6e754ed550cc6060097489d8e738c45f43f392d9b12b161cbb30548cb902f999b68f186c594628cdebac3d5b653948bf065b46d72e735e0c97586f8d93a8645f7155e3686a310d3250d91735ffa61410638bd147f724c3305e067254edc21c85f688819e7fa34703c35a0af013f3805784c9241fa6e9623ab45b72c1de0bebb1be37715e8c2f5b737cb07104245bae43149266f420ac645d29da72aa789f0d02cc31e6d7544ec77e28b64256fd9fbedb1befcc8f65d222b1f10372d02a1ad72ed80c1a8ce09e3cb8b37e03bdffb095f843507c3d118dd07cd4841f4d4744f58881eea4fffab0329ae1560b892e8503506054000de69f73cd505a64d58669cfdffa0c8b1f848d0f313b79756e5851cca48d3292d19bc15aac945a1d7bb525e2ca957ff29ae48d404576c83b276b9f69fd782a9cf566f74df7ae547235941099329b24f88a2cf8e7e3b8f83731a242ca455d6acb2c2af3c92ba72c72935181a64d5008d121d264c517278c7f676ff64b64f0820251cee32d015bef690333be29d96cfd4a89e584e11986c6ca4bd3fb255c477d862112077e7046957288ed079864f9e3f58adbece2ed5f4aed8013cf49bb6cc1d7d1f2a9b11c3dc61f7a9aa605b99c836f6de7543df42f6d0d32dce455f7bd2ccf28291333c2c0ed72d7a080d6dc2028ba7bdb1d78e617ab05c4be86a769c4c12124f7709e01c4cf72d9c2e09e519bf17875d79306655f8460c7d19116318065175f10bae20e91c2723c0a595df3a0f24ea9896899c3f390139de633e520c96378cfe9df830a7b4568a70ecfe663912659ff17b7d98f2f4d49dc7760a3f819dd324187ab2e724c7172475442dc05a3fa090e8f2e2b3267781bccdfe4de826bf51c9ac404918d7ec0546e2949cd0b226767bd3bbd2d0ba60b525864a591ae3a42257f4cb50d59f16b2a71497f0cbc0e4321604a2701b6e891df093f3fbf9b9a703aff2a1fbb909ff86ca30e2bbe2d7ce45aea598b819ebc19746ced341fd456918084d2e7ed88f021720742b49cd8fcb036538359a7e8c37ee56a664ad5135499438d336aad5bb43b72d63370ce908e160a21837b30b470a0e214ee81e71d106cce63740e1afd10c372d61b3512215843fdd68ea0ccc6ffd35b78bfc7d5690f09c115aa1356938f0319ceb6e5859157d2225f56826b48c188034d630f4a7327935ff86ee5b385b564373098672f361d2c837819cdb002df800b6ec32bfe65c062a04486de397a18047204fa3b802837a28b2e6224d04178535eb39d839b4451a441584e2b843f2eee7291a1158cfa89e6508fd1c754e586e27629871527d3b35c5a35277e82524624726e0933d3f4f502fa3f310a07f4cf03926bc54a622947cd66d78f2f1041768f6940170cd4691df7e2e5b05256f11f26494f1382ba10df806b44dc177a60cdda51628d5002f62830232322bdef37173115a00694ba99b73adcfe2de3da26a94572df839e84e4a545078ee2a1e4e74b78c859797f533635f8dd6cbc5a6240689d3385fc902e4e3fd20405368e7bde415b1d000a630feca47f7bc80c62ee46bc126f7dbcab197bc95ecb2f0c72073be3d119bca0633f5b7e7cfb0cbea7549a8cf772d81fd04d8daabb1165ebc2bbed7d6c020892752e210c36fae1e60cc78deee502550643e1c70b343cfb5db67cdad242bf9355b15d0de9903092a4771a6b40f82e22aff0c2dcc99002313c59227a52d092cd05a628c24fb8099bbfb86519495a72ee1ef0ab9401140be887bc733fde6d19c3b5164e2e8040f79cf3af7e3903de7255dbe546a82d09a476fcb25754d4c7a28016c3814ebb647a9f37143a30729f20286bafbd55b3081e1d1be70886f0e1947a3f3ba304c2ac0ec46d0537daba1572119d21433a5bbd6a6ef1a200be875321736acb8bf893e0dc7ae5658ade908e6b620e21e066a461c3847e4e9b52929a7ab6a1f658d217dd428a8f7cc64b85d37200037b70f20f8dbf23c0bbd7a82b9667ce1f2e2648b9433b612c78b6f5b7ca066cff88bf3228e0620c9937394e182155dbcff1bb1cab9d983d983c0c1bec467292043e9351dc14abc1e027d29ab56136689446c5b2bca24e61a34bd4e6ba9b37475e33b6e1733236f93c951ee29731d6a06e57ca4ad23a05f19ba4cbd8f0121f4e6bf99d9f1795a6152a2529a69ee7a838199d877a105798cc3116e2b32562729f05655bc1af9889f393e1ecd342fa30fd10fdc351023171fe23e7087364717291c674fcc2d9b2747555c91c16e39ad77f5381445d51ea152663447d7468ba18f3d589164548fa16d02f25d267eed74b4996af368b5909d03ef7b66b233f3272a4b42b344e7b42cdcfa74d3f4faeb0c292ade2ab5e2dd4c2b6ce55b1bd62fd389f6da7d26b6a451a2e7cdc3669a268d286be307dae9ccfc6d5eb148d0f7ea872f7eb0df1ef46b110e744b769bb0308ab417ad473b0ad40d816391a2cee04c5723d03aa2a354e1a8f39edee94cd0d7cd3e4ba5b435c5f197c6e3d3447f410b27225d88519d0b287c1edb1083201a7f8395b48ff9defcbc1de3fbaf8f87f935472256aecd2e164804e32ac4ffc4ceba8576fd75713cd00659dab80384e0ed36d3b6e98dd4cdecd840a92176b8e2db6da9e34a8680055c2252bd9795d0eca8f8a48cf1b86cfa12b65f306ba518292109a67ba40904787438b94525b06f9c203ce57f153f8d6f99f8e5bb09ae67377eb7e926f12899f43654a5b943b8da1708c1b72205159b416377ee5eca552bde15dd4a6b9a8dafb92db95b1a81873b0af101a3342d5e93bb588aaffec9c76eb731aff4401e2aad61322f9c6efffc99ea57271720b599ffcd3605ed28ce92844bcc9bb37e47e599c95e4c64b3fb33bf5718fe77227bd5d229fc7391e081a5413708707d78fe6211e3bb12d14ab4b2f91cf3de3336928287eb48ce98fa4b7a8cf7b4ef4c0a469270753ee05c4eaebe20d4a093110c4c5acc0b915cbc2a467ec2e5af5a673b5205fd418c713bf061b147de8cac74a382dfe96b928f7d30beb4be6b09060b5fd7b982e217ae44bc54b9cbbe21eeb729cf7b6d4cfa26d2d59ae176493b62c7018d417374160b1712982637a96e87e72c0bf6652f106f43ae4e8ac11e379d559f912aae96f6a03bc3d2ffdc4a83a7072fbe78510dfd0f59e4971504e6bfe4d47b4a4505eda296a37bfcfe77a6756f772976ac8a8e455616fde9b6a15eb5e71b833e9d321cb267cdf6b35e7dfc6932672d155c8d96864c4ad2226fe7d0677eb3bcf50fe862e634e59ed08d1f3ad700572718a6cc68b0a26ffbb9965ee0e741df81cd2b1194f37b77657ffebb9238c7227e2ca5bf73edb1865085e6408e5732ee3a37c9d31d05f087fdbeed7c5c4a0a94d82a92b099976eb1bb04adf2adea57e00b6a7c0798b0f7119dd4df04fc605d972b01e9aba38ab6b89f5c89194e0041df7a21d583259c7aa89395b8fc07fa28b72a132ae3dc0421083b6656df55e3d29ebc80fe1c267bf84b9e74447979ad9367208974bdbe7aaaa7c87cc3a2850457f442ac80ff3b9b1f81a43d614dcae5934725034eef2dfa7b0fb7c7f2c37fd2d1e20847d6afd4c3cd876faed0002c3302472396648544b004923c0cc3082495eaaa6ba59b5b5153d20763eee1262f1d022729cc82970c747a0542a90af44fd345356c1979a81626e5dc70bd0e50a1ebb6a0cbb3f03ff69d2ac69e8e1edfcbe729655a4b113bf5bb79646e98ad855fba81a723ab501707c490d4b8c50cbdb13a12341f5f21df572d1c104d8757d9f77c694722d474713e7995031cde7f8031a3682170cb15c41c27b20df513d651eefc88610eedd686718b989947a0497abe9b4ca6f0abb67226e7d5af0b6735718ba3c3b727541f886cc73c14b7291bdc7d7be9fba3c8459f78e511290b97ad890936956722545ee67cd7f38c597ed0e993e65a8e13d64e8cd7b24c76a3c20e155ae780d3f46c644223066a4864fa630ed333b8a60a174d0546e4919c47ceb68715d275642f23fe66dc8156c2207462532641493a9a0c44e0d8b8f6d8d132640225d7a867235e1e4296fe855a80d114d02018c528f98c14f7818318fe9594cac254390777203b1eee70de96aa86effd0e6bc4f6cc1a3155ff56824602202f2a276a8627f008693dd904f56487c3f5ffd88a578ff197109de58f04c474afc73b806859ceb7246c169e0862d62ab7531b277a1c5d7068cf13652283888f61273fc60cd808030013372254eecb212b3a8e1cedaa94bb8a4bf8ccedbb8b1d5dee4d0ea380394725fe2e6450accb87e615455d4c3b987c36046b2e29ad5c05e4b8b7ccde0176072fda8640aff941702fe9edf6f3a4cefe977b8957158bc06eec291bcd24e87f026ecdcbb5cc85aec20baba6e5fe624b397485e302dfa0a54b287cabedd0d7c3d720727914b97d58af6f926d3768abacf4d1d7837d98457f9bdeca26084f74f4f4a8ae81477497f1f603c4478281f57c5a354cf899dfd567c1d08ecf42c86f7155eb612ca6a3aecf1fb01b78b69295f2097765397f5931ab535da7b41fef0592a3eb9cad115ca3d0c0e7435d2e47f7937ba863bf017926f5c4392c20c073518ba5c3af700d4b8d2687b73d27b391cf049bf81b7f6917b6abc3d93af8cdcf3fe33653e126fe7c575e51b1e26e28001a9ecf6ddd95314417d701d52a54d9534dbd1006eff571a587b51adf45b37bb2eafe3bb098afb4aa2e8c2698134a0df31952d104e05de8bc814bbd430d3d23551b5963e5a68cba02c5983f242dff446b357df72e8f9313e016d58f70ddc167d0149d3f66e5e274672962d14f7d8d878d808927234d2d75537d8a265aaf89c5c4b634ee7fb3272cb49c26635184a90c82a209c6b455259508190a2c21bbdb4dadf3ea645bb53e67a953342b602b37c66994f25729d6a5cfb4e145b58463066669a828432d1f03149931aea369db9ef82124c021144d6bf74d2a20bcd5edc2ec103ab6b3d8ee862266ab170f0122e9890ca6d7d72af2d41f29933c87ec14a4c4cc712baa1c0d0ed30b4d3efbbda0a3f0cd7cfe972976b4512f9d2ca05ee5b783cb5e67563db56cf0385706be748d1f4fc8beae37284f96527530341e53e049718683577f86e7e052924ab72b578b59e88f8d44a59c2c51ea48667ef1855cdf1f962eed5cc72a1aa22dd426102536fa84d4c135a7220bb237051bce0f8e6829e10b5100f6721d1af5d681ff7a4af4aadd48c144a443b1a19f6c316347505aaa2edceb7e8526ccc674d8fc138f0b1aa9e13b1b31f6b72cb9713755d4c064d7fce5a0f3282686683be442f87045a0bccb42625a14e721de5c75786f4df47dba4b27af74873b8398c6abdfcff227bbb5f23635ab2833224e98ab62a7c851a6e275a8ac7ad930bd40ca70eac2fafe6e4294b1e921f4e14a63a42f7b984a37d53d2d321a65763d849832b4b36cfc0a410a5a84216117259a91cfe5fb53a56b9888270ee16034c3a5f22ac35606f6db0c2f80ffe0698e272d5aae423524cf9eb838c8b81960cd907148da52e92909d1b54e72077265ef82a7d205c78323ea4dda6d4d06ed53d80d902201b8f2f05faf7ff7081151304e47291312506d7ed72e2a610ede6108fecd04d9fa5cdbcfa61e859e9279ce57b7f727f357788882c4270274cf1ff0dd3363a1ccdbddf5551cd6e8e39bee5046608615361ea3b82f68157067e55aabfb78666ec9f6241cd4d651bc4732344457a487299af3c4f5aac6b9a9befb7bef6bfae39ce2beee6af4408cb694b8266fcac634889b000ca8ede79eb8f4449ccb47d809889d9b42f964c24c09417f32448aa425fdf652910390c5d3bf0a914d8d1ba2dcc47a320d59b49d927153c68cce1b8c6726ca0721ffa22bc10e3dd49cd52ab2b171d9fad269dbd7fddafe51382ccc6391701d94ce9d400b137fcbd4fbf186c41642c3aceb4191daee8a5fc32ff029d2b65e7f7b0d2e7f0f123c1c5b84ddce1753d0c46568545523fcc5297a6cd2f7bb972a2bb23f35ed13c21e2a8813fc1f5bdac9f028c504b0139ad8b298431f64f3a720d0435880667a722d0ddb459cc5eb10540b7022c438bdbb64e91a3443b5325727ece42f107d7ad6a8d5202a43d4e36791b71b3c7794aa3dd4afe8605b5ea9b04df35d089e0ddad7d98e964d0146c09f971bff10fc8436a6a49d6f79d0f5bac665ea0cd4215f4fd955bc033716dba80cf2418682c7af2856e3856a602f6a2cb0bb8829f72cfb9c28ad04d19318685eb1c528f2d329c642d8390ebbb531b8eeb72251fbc6d3ccfed4ee36f4773e0a55524351402cab8e258aef2b5faa2330b7572ebc781c17251f5acc9417455060bb55e7286ca099e9f67168a9b08da7c26a17245d5b54137b81d34ba504fce23db2dc0ea5313f54490321620563ab16983dd0549bc21563b506685bf72b655c24370fa8a162d62ca01147e93155dfa3a18ef3b2e34384aa646971cbc5254e81255d5f67328748947e9e7e00a3bc1fd80a8fc720b113b83aa6989c61830b312ca1394b423d3d10f134a8bc61d365e2a3ae3c172e770af632bed9b10c14185334819d1c9ecf999cff1da96f7a8191e40b3e2fc72526259ae6605794c0314c7d643ab49e279e9fb83e313830c03c685656281b50d6f2ae714e7e7d9199eeb476c6765a6a7170fd9cf7dd5a9cb27ca58f9d235c27254bf6dc919c6c1d7a7604dd917da860356fcacab93fed3093da3ba3ee5a5ae72abd4e80d92c01673eec4839b4dcb2caf35ba30fecf3f78c60190b6d0cf4a867282c3d9deb9c62c5d4646a864d6e7177ce98284750196e65cb8d10cc5c868684ac8a6ad65c61e0508c3c0aa9d44cec4b79d30559aea70ab4ee0d4513043f0ff7279ad6b4c264f8ec38f81c7a5083b48f63ef331e3a41ab37e6a6075f36b39827256eb2b9aa5c3e9f9b4aa427d2cc34da4985fabea76e6e7eef57f7042599b9f3dd1dbaf8e581271757367ffd74bb6d312916148450ba796dfe49c89ddd6285932fd8b5e2f3db9b6211d3604456e4a094b1ee9ae8e398c2a93f1b70d06049dea722b42693c9f70637b6b9b586b0ccf9171bc5e96c7667adb8dd37c5cae3cdf9f72b9a56b9ccda2569b5a60feae5d6f35c93d6a2c5e609030060ce885b6296b8954fb0af705f03be7a94af11f1446af32a712068094f41706b87365fcc4ef9c41728266ad935666c6161c4af5a2e64bd0ae78488470ed35fa9e036f6d36b8d2ff72c4892391fa50e43bbcbcd54aafc2ea3155535516474eb0794661810b889b827209a4d6c25ab803fed2558f35e0732268dc13fd121c3f26fff7ecff9fc323db72be345a2db8afe44b3fcc3eebabf51534989953944bdf4ae94f14e35fe7853472de326d6f21ff2bcd60241611c4d25342b82d6ebf7e757c5a870e60f67df14c60dab1aad9492c281e07ff70b73d1e2dbba01ef75edae67d3f442452807cd54e32868556026567df00523e859353bede712d441a89df5453e9a218a445c0743172af3c25679820125603a9e6cfe5a9475310f7bd5b47a4f1c7e5142cef6cf20e4dbdb3f31aab39039d00ccb07f68b657aca5ce62f193f8da6d22845892089b93094d45139b3b524dcd0b42e1d124a7828cbf98aaa75aa8eeaedb0dce57c7968022629bb1548f235e6c6489792b318e1f3b8f919bc25dae986a7980a9ab648cba722c7bc909bffed202592568b266b7277506700ab88c98c014b35c0f2431efc2729eee6e9535ee5a9880d6cff227fd4bea36dd0df14e3dce78953f2fe09dcb6b72125384015de85f616f240803739a6ca40566189d31e76a541097535beac47066ad72ea884cedb2d3e20d6086af858ef46415f7ad2f53a6c7dfd13dc7ea8c68070cd1ce2927c995d7be3075891f5eff296b0af74976b2fecd57e7590bdbcbf172a2b334ad37cffbd12968aa079a6d2960e16866f71f974c0ac0c1b7a98cd52732115b148e7b8ad503498999279c083a6a8db1d7adb3975ce4d58a5c0c272d5806d0107beae43ce10997eb49bf15324f7d896e40a3390adce806e162adbfe82c7261bfd877dc696c2ff4f01723c0fcc4a2bf0119b4b8d150bca3c54928339bcd72583450e1bc4916e228547c20208a9c0fff304d9690a8d86aac7501028adba8726df0a85249976f8c637b91fd87bae41f5effb3a44c8b1d1e02d02bdfe62f030df81a15226600bc7c8b4ca38e4459a1fa563433217855911ca532521203e72772f16161080d9e660532fd3db91a44a6e1c6e959760482dcff53eb454d3168c004d0245069bf47a17a85491c9574c600a9294377d54c70941d3b03633d7fb8ff2273adf81410d0c2cfd41f281c7dae73cf962cdf6dd8a6139efe0664cb510de6725ab1dd3e0565aebcb8cbc5d325fb9979597b7129eabe5219cdc6b105135aef729c0d1e0ade482f0e6262210ef470f969a42a865a3b3604cce263b2635aadac729937ebdad348112504098a5d38b0d18615197b5d55b5bc213aa8f72bda835672e74006aea985a3c192d518b86f4896567199043501c720d4a540a343064b266bfc768f29b517e7437abf7f70c450ffde4659570031471b3bceff27a6a9fd457259b87c80fdb5d8d9f504438d4d296456df3c62cb5810d70aad02c7e6423f8809cc52ba6bc6c04030d94b17238daa3ab5107be3ae9c37b46881b90b06b4d6535b8dc6b12f7ff850e16fc6835ee810dc809910344203dc7428c23218c649534f72833476378960051fbc7aeda03cdedc5eab5ca7b0740d36b5d9aa7a70c25c7572df7e17a71b79cb930651100bc78eb21d272c8cce46f2fe585f83d99879517d72c58b55416e56c1fd166e4e5efd48a22e86f729e1725690a42862ef3d36008f56ccd41d5098f5384898316b5653aa68b9f3f709c9e1b782c4ef01121ae668b630af2e7abdc1145dc4eaf64b35e1f6315805a34efacfa32c18d6d3f75d872e9a36d6b804981b8d4d3b69776f7a5a817f2ca9a1a1134301004ff8708735d4994e7211f48c637965f17991138d584e7b8a3fe7afa5bccf32d1833d608611b2278f481e1e6a3cdb2a5fb0d4f58baa84d1c086029b622a5e28e8a86c4f39ed424e5f72d4efd6fe4612d70ce8570cae841c1817c5721a601398f14dfa84a341dc052e02dbf750a86140365040e704b3fb3b0bab7d1f1673e7757615c17e16bc7a51b47201df9519bc71a802ee750efa4942c0276990b0f72edc0518fef165c9a8453d7206455be056250bffe0b8f63213a76a6f5f5b51a9a6d67b106e3e0cab3ef094728f0c64de4ed16083bed0774e2787a3cf1dc0039b93e591d8f460a92cef23455174d5a45b64ea0a5444d9e3094615dd032c1fe3324e0477d012a0227fee483672bf3cac4d812d2b856ed89db6207c0cf8feec69db76c63dcb5b874f3221049172d64928a9f7ead900b4954c9dd762716c83faba10846a0d4408092de4ac8b18720e817bf7570fb6e7089366149b309c3a17a4257f5f993c5f23e776fcce6cc2549aa34d0c07ff675a1c891c9571933f8c01a84939f074206120807980e9a51e3470f3c21ee813976a97d9ba2b41a54ded9747381500e9e0f7e15156e40cba5d22d0c482d68bac04b1f5e69f2bd9a232f9daebd2a6071174148267f6bd8a0300548dd29ceff6d3ec2311fc8eed8c985f293adedbbd6c14e7754f02ad789693730570784a8bacd27d77db5fa8dcd12e91d1d47ae5952d44b4b8096abbb98e737c085f4e911789835e862a028d6032446157d778d1ad2c6ec438777860ae15a2ea721dd340a9e82684aa1fafa1dd1a161ce2ca8ee39e7b776b3542c3062ef025ce1d6bf2acf851d6929136d78496b2c8f2272a3513370107b447a21db6e2cfbd474de32a4c02a43222005b27253c802bf1327964f3343207fd30084e9f9fac51c76fbfa7bc442656b3b32dd645a717c61db727f8a4b62cdde68894e5d1e48a473c72f55872f8920def465ae72e5e63f65eabc382b81c3f9436d6fbcce16528fec7372eceb7c10474c1f0bf439a456c6c2d4f7dc4b503a28ec5f0c997816c46b1ad72b8b5271fc1905d015f646262fddcb260986e78ae13feb5f842c2ebbd6457363b5b3e331376c3d2e866193d5b2504210caf49aebfc9069dffc42c246b47e1816d9f14993d8ada91a55bd8d03cdd1ba6f19331268a4649e1a348e2f9db3cbd267285ee6401ca531d70855530996a4596b6e932eb6b51e56fffb199a1adc3c80834a17d530fa878a06758ee75d1a2ecc7d4c9d9f397b26a2bbcf662a8e82e9fd37259066eca5713a8df0a91a0ebef0ab626f4a904f45679f5ccce81672a91a558723f50079bfafc5c9037f5f02fde1be1d8e066f6c2d22e66b539362dbbb89c42721f48ee70f14f66afee392ca797083bb9e897199ff1c04eafe80a2c7497a9300f60a1d2a6cba08ba54d652ba5ef1bd8e40ea4a3a4134c05d87ad535c389f62972beaac2d0d3d86c7dae401be3ea74f9c5b0b2e3422c0055572c630aa485e3bd0073150d49f911304582538e9157a2ea64e2504046edb90220d3eb02fba5b72a41ca6a4e235a7afecf99f645c29adda768315ea3c5055b22d47c0c88590e3d8872fb53ff8a1ef3ae604f0519e5ede57df63ecd2c2ed3ffb1e5db5e3dbdb5cc55728f8e6755bd33d726d7958a2da92ca774a49dc98f6adebe97f8ba15f84f36d4225d453237ff1ca1e4aebc11316999af93d4193b6217210a8f43f467d9745e2039c4d77b188d4a11894bd93f9e7765ccbc54f8f207effd1be5b38a7326012b8f72af0bbe6ed6dd7e98e7bb4b7f01beca850b0ac69f7085c48a6bd4ba03da9d1f1a359616b5c13e7e9d972aa506b3788fd5ade0b05f3ba77299f1eb7515ed3ba372daa8770ccc248a7a98f7a0d59724dfaf69e42ab1c331594b7da7c6ac66399a09a4bb78fd193f2d9de1a6413f5bdb09ac2206fd85b5fb05ad524cbe5f05511572a4eddb0ad54fb1b61b521c6993c785e0b6b8e51e27ce00dcbdb2c8512b66a158daec4be716893667c40b61a4098c3b0f535487f371afe8729cdc33272472ed0ece7082278446839b4cc763c33d516592373d45500e638e890ba3f34e7b91a01a0de7489b15997b131f48077f4008c31fb5fc0ba481b39579d1c99e871f617772d76807ae70d052ef4f3ba498f123a1c9c41ca6fbc760aa8c4e66b97751f98072e8b35fe06b9edd04904c2b19d38c234f1960bdd966430fb51b26d20f2f82e972b80341342391ba9ac52b9ff7242831f79a01d39c06ea0cdeb6c81480b8c0cd09a26b68f55fc9d68b5de5317a3a197136741993a30e6402b5a38fa84e435b9b72406937df2147fc39e7b91284f2d9494252ef53cce1020cfa996c6f0475f20172c03447530d8f7c24befadc597fe4e540f75deddef93dcc98dd83b7c677cf2472e14481c8849218fc48acdadd367a0c7366c90abe874f62827971edd60cd8945e181318a333e6c196eb7f143e862632b3f8566828a6180a4a47aceddf95f8585144986be15716447f62d9d422a97b990ee905168f3b7f565db35bd2704b9ac7725f9c23ade8e11df13c602678c845ae4d63835d19575ceb83d3cd5b35181f2972f64fe28b7be51814c5f8225ea68f24e0eb457675fc9f94f7f5cba529a804f1728a0ff43030da6085cf1d5ee727709c60c0de64643519a3aa658b0132ea8735416a07873959e95990e27e14dc76b24f47cffb2c70f98dc5c47627ed4cd071b07266d146678b5496aadadcc5bd90890e23f6af9e51d74cd53b84c1e753ba3ddd34fe77f2eca4fdfe4a4d053492a1d269d6e0010a7539a722e5699ba13a3f936e724c712947e6b59b31aeffdbfb385ad67fff519de67e8b67b1ed96d7c1b8267672f21d0be5864d058226229a31975bc4c9cf1d8219761046fd52c0e8027ccf497279e4a0101a519db49c06e42c2d7500be1ed3a0259a5834b9ac2682ea0c042d729548a5fbe7718364d094e8f9416a2c14caeed8efdf7558cb3e7e80fb5d2aa6725c0d76d66321bd9464ac3f3a9de442750d7bc69820aa953812fa14ff485fb4723b0705e6ded9077ad41654ea6e0257b3418c0e8f05139584ebf325d7aa86e77268858a3ab6a9d39cbf8d87515ad0d3e2a2c5836691cb34d288ea96db9f65f51aa406773f414e6155b3902f8d9f4f57f1da5507d8748a4a50b8d15f3bb34b4372de2e9d0e8f5f6bcef3aae6cff9d483029040f268b9ba89da5dea86be54385e438dcac742ace03c4cee78c65a56172a8b2d9f81abe8a982242647dd7de5ba376afcc24de9e59ed6e9cf463b22f9455ca23939f217f42aa5a1b872733f89261572b343ab0515da22b16e64a97cfc5553498235c1fe4c92ef1aaba18068f09411724d49494088c84e25a4dee2bfae92bdccc0fa18efece457f307f13f8b30e4337261ece70ce3621f954428d3affaf07170bc361b11a7c65b342d8cbea9e6e81d72b78ed56708bfca97f21b9ad78fc3e6a915e9b0a84836f5d53d95f0a734b131725fa1f24138f98a93ac89dd6a33115d3923b297fd49004877973ba73c3229127280a7acbf18db684e07176bc3d72102cd161c878078162b19179748229f124f72e479b1e91f4b0a0d1afbd8122cfae89256bae8cbcf99a914eb8452bd643e2e21cf3924286fd7ade53cf9b1926f6ad32ab7c3c5a6a15431fe6393339bffb8933a0ba6adda6afa649ca990e5691cc54756a9a4ae4a36d6f82d9cd1213f7ec739722253c808f00973a022781924efa05a8e38ef5ca09ec5ef88386422a2a19c117283c95750a9d1cde7c5563f47f5bf17f9a6c726d96d52775ca1a79853658c461423fe403517e4b02357cbdd0d719c63d5787ddf023c8361dd4a2566a12aac0372894ac63fe74d20e6f2c4223d5f6c63563d3101de4db60c4a02d1017f3547eb6e759ee47902f883e9d0a64134110747cf6c4f8dd15dfc3b00585c2e8a3499a9621231ab4faab4c7d2b9f52c70292e0b47db31e5e040224cbf311a2e9294861430722e54e239d30cad4a2390436b329cd4f250ec8b6b9c47a26feecf8af41811148c48a90c4f4533c704b1dc15030ca7d7bd7fdd47c38646637e74d9f89d1cae7261685755ddb94d478d0478dff56fa30a27d14ab7a7ec5e1e28dc3364dd3b410d429f084b2a3bd94e46f8b42bc413e0d09d934dee08e974aeae84e0ae8e5fac7266a24fb0758352fd6daaf9e6c987a09588c64e206413f3a3bb87f441dd3f5a720aef9e3bc1770d7dd2c67bb70dabee99e58d716eed6bcbd3df9f67a69dc87734aaa265e1e84194b686d89788ec6e9c7d762bdfbc82078f3828b68a9dec7505728bcd5cf43e134b46634bc25763be516be2427042572ee5108fc600a345295f72f928d9b5168c71da474557dcfbbf9599dd46e69ae835c44c53529549afa28172cee7025877eafbedc3213f0ff60653743ce23cdce6c4b4eeff1d433e7b583f4f132a3299c174a055f3724df2042dc2d4700558b5ca32fb16af14609881b6794c1734de6463c57cca792949ac4e23934600988ad5fc5fa39b8095c81126ef1e4cdd4bd7df77c584c213a0b75147eab07d9d283c25b4ddd42de72a4b92a78214720f2ea8b3a390e238aad8eb3c7a7ed560bcaa2758eef3024b356cdbd6d9e12872660db67130d00187a70638fcf934b4b0c22795ef4ec354eb80afbd31ae4add728d24406ac842b97808c37f6b4db764e0421f6ec65ae5c2d3c0e0ea8f2b609e26179bacd5cf6f7beabf83e6a56574d412129af30206ad0cdeacfdde1148316a7220523dd8cde7d012d721afa2706c060ad2ee4e27da182e061620d39c513da36ad0e2563e51554dd58b782000e354a1c5e1439e7cef8bb7e64a7ed5e4e4954e7207dec8eecd90c89f7feaa5a42fb31368fda330956e35c604351a15569d6c57704a00b3758efeee8f574d177d921c0055d809668eac915b6be35f54940f722372d39c486a24496f43242049911b8d0561028367d79fc89af97e00e4aa1e1ad20128469555b3566c95b2081e0ba8483fc1d873ecb0274cdcfbd93559efce08ca4de520a456cf9ad6489dd3c1e40a76eca4ec802fa828a4c4faf13152bd4da64072a183ac89dba647d154e4a873eb71489f0ec675cc746ec207519897644944043a8e15bd762b02a02773d8fcab895e4ee883e2f7bd77992b17e07c97ba26332f63c3a752099115ea316a213410f8bc64bfa15625bbdd066bc32bb7f8b43ffb9a47aeca0c767db6b5c0ca5d9d817b4c5f0246a266e0a336ca38646eec9e55598c722e18e6a2c1627bb7f297f209a1e718a06f193c1195a37161b971aad665d77972123e999be9a6566db37ac31120e3628f278fd10f9dc22825af1890e2b8bb77728e3ce2d97285d3bcc95ea728bbe77c58a2d5a5bc68fa2aa28e932c19d75e537223bb93045e892fc2d0ea966324479e1b0bc4d87eb473d470039e5fc753b31a725b4066103d59b80ce775de5e6bc4468f6f92ab3db12627aa6ca74e637ee5cc72d79ed38b94cb83135e3202069923a88e70ba2290672a28ab836a11c5ad4af2727fe89221a5156e86b80f45de46af185d05f72d3adebac782c0de87789fe09272fcd7dfaac71fe39a6c83ad56627638faabdcf804fc4d5df4566193783ed67a31386391cb4400af1482000c9051facc2832f7920bef7cfebc996be6af311c22723885c33fb0c611bb686b709588f230af7fa749ed5ae65a90292db2a738800c5fc99828359377449f03c1e44a3eb37aff27c36cc8d97c23688ca70d9076433c7247e42fcbb665eb2e6b28c9da099973cb0a20d573dca9c260dcfebf74f46ac814996c4274cd02b13bcc5cfdb92dcb1d0cf4d0082f86a006750d8c8ec4c993af72d8a6406483c8440d077696437a196476b57f26445d2afc8ab8a3a41718ad4729e86fa9e2be24b0ff922ebd6fbeef06d8b7be3b74645154b72621cbddbcc635632a6313739d2f5ab099667e4b3320cdf76e3b4d50aec1b43b87a3f124193885726e4c0416eae1b57ab4ff70a1425b00ff852be809203b96b078fb22e4387cfa72e12e3a258a482a09e1f9eca5c7eb3230d5f45aac776f7a9a81ee22ba76f8e872e1c8f603f2eafdd35b95b115c4486ee2d7dde30b4bd1b1784b45fdd5c7803d3379a3a9fe289b09bc4a60e462ca62d1c495e982fbdc6ab9174aaf180a44793c72cc4a6eae6a34dc33db0b78f2147d8fd203f30bb2fae6509b1563c5523bf5a07229cc19d20bf2409ca107c4a6c5efb780dbc85820d1bc8baebd31f079b0b18015914e903b5967ec89785d5977d1de47f6f52935b22aeb0ddbb671551f6260785727e449c975b41c7268d71398bdf104cc578fb50d0210eebac0ec1b07a11a6629fd9ae7e9aa077ee9b30872314355d055613e817d750424d5e0cf9f48ad79a47282190c74249b83f63d65d769f7e049529e639affe14e8e35e74cab066d5e627249926e10da856c3026ed0104baf1ef8e457d8b3db63f9de9681e5d4c72c5e82fd83d32f464e09b7b607e0ce7bf7ed031ba554d1c6fbee7ba0947cb96210787561aeab73ea682a19f5e08116eb388fe8d2a69c4e2d4423f246cf1095efd4c1439ec9a4cce12d49c1470339e48d01e7aeb0199ad7c6eafe076b7bfeea7ec6ebb7234d2ad7a19dc644868e81ee4e4c8542c8b9b597cd090672976153fd0161df70a6a41faa9e77acbf37e8dec32954919f4f24e62861122bfa381cd87d63700bc72e960ab7e9794ffca3e7f7963c6638c9c10036db1bde2fe94d334c9a276ebb22e0fb6776bf001f09d80d77937bd896843956440572af132df6b5a696b00cb5b55edc5bbf173c22503380fbaa04b625f8413d8add6b2ff390e6e971318b15cad2b74a3e3b64a3b518e947ec21aa6c94915ea718a5c31ae851e522b75165dc4ba72c49f344a49b1edb67f6cc93dd0562ab52addfdb66b2b7f109133e2f5c3af177270f1f461986448a546fa114ca5cde1b681b3678c990c89a1784818392189a3317b063452f09ae5b980dedbf0f2b56ba0f78840eea58ef40ff47fb814369e8472aedbb88b6c5913b81f81db6c6dc7bfa3dea1422e3f15275917ba5b991ee72b72acf4974107e815101b6fd7744e304ed4e27a83806f88e8fe68f88cf428b98f72edfa31110a2b65c89caeee79c49e209bcc2d63d8a79a945c384e790a968a20728023dc2671e7394ad85071cde84af067d16f911a646a239d27c171dd7940a57206afe15099de0da560b421bf9bff35003ba6e0062105dc9e1b3a6f40179be772d86fdda9244afaba661d42e93c5a329e64095fa65e37db6c32f99917304e7d72e4c2836872bf90c0e2c552cc3c487140bf198aff074e745c2e8d6088ed1d2872eba44208e8985eaa20f2cad1cba7ceaf6c577647fe34269474f4aa967097fd3bf24f8a5b8fe64d65fa17ba5f3e4764ffe9f967cbd5833c382f1c74f462fdeb145594395b721f4ad75822d745f0fb808952e0c9e42f1b779e6e9ff298a644f972c725a98c11756d32e7f5ebb07a08c5c8f24182634ea72867c3bb5e28c526ea651c5ac148b23f5a874189db295a43659680b32589e26de954b3c6f1f5d0acc172219211d4f36530eef2cfcd2e84379714daedd44eada7556ec1910287e5cdb147790df96c4607e77774ff3f7c0a43deccd86b248ec2849a4af3ecb3379c29eb725e8835d1527c9e8cec222ed01633173df3e5bf838c7799b752338c32501ccf726565700c3d57c4ef56d4129520cb46a2601c9e8a37a5500f46dc84725668826dc24e494b013461c3ca2e71e8658a6a0c37899d64501a17cc68db3e428c5fb972644c7a524f9939fb2d823bee4b0f59bbd56900caa167cddfe10d0a36ee24b972c9c1ba5e1b2c493b18facf9a52a4ec839b5c568be025cdc9cf65b2d945e84b72df1f954cd12e5b2c5152a7b6f275deaed965e626ce5e4517b7ff3e46b1e2e6720364b260804e0f52c068013cd4b807b03327af80b602d7db9f6520366e5a257213c31fbe2060fc1dc8c21dfe9604776964f1c2192c932e2855bb444a84f5b95fba571fb11ea1cda7ab3093983b36c79ed7103b5aeac61401030711dcc206264465d0c1b56b8128933e26e04388fc068b02e64f692a890161506155e0fde53b431ce543f3a7467c093d9c5959f07736411f6eb1285ade1e42eb1c6f6179cdf06dcb4300d34c60ffc6aa3bcd110777d0cbb747894ba7765b4f9862953c0c91cd7227ef98c491fd882b8fa380d6a61d40be0f2bddd0a0ac9955ea7fe8573c0abe68871e1ce8749587e0864594aba2d407dd19519c00b87f6938b109b32c0209f772864c00e4dd81616e345f54eae20e6f7a3847be9b6ec64b52c2329933398f4a722323bff2b669ffb9c2baddc808215255b0c083a3a5c58f2c25541b0b11028e004049915c671f2b9e4f4dd51c4e2b1277d387e8b94f50fa036ceb1d2361c0fc522faec7538322f8083b02d279d57014785cef89ae9e83c9d072b00fecba9266720b795be1bb72bce2dbb44f94f6db28fb095818ed328b903357021035ca8b914a6fc01ece958d416b801dd29016ecbac2cfd9f10fbec1ecad9ff9fd47b4452072cdf1b0295e3a88ac79e2e2fcfaf8e33d12f261f7c22d7fe966693bdfc2236361e95b1f455d52b935c17b27be3c2fdce8ba20fabbf787ea7999c1f217ac996f72fcd62424079594c70ca5673bc0d2ee916dc5d4e51734b3071fa8b462e707f972954e5d934797afe9150ec1d3b0857a6247d51fabab466f50a32438eedcf7f77218fff5713d0502157256b8e9fc1ba485e83f507fd8374dacb24894b2353fb345a364c9bfe801b8a6b8f8e8cea71650930c11255be7be35e0d9353db7ead2fa72723c008a969af0cbce102d568f971d01f1f193ca1481f72eb0daf8f7bb52ad4abe4d30c611c3d646c27e1df27f4d113a4bcda9614aed72ac6ae213c5b42f6672e0893ba6995bb64ea7f9b3e8f4d5ebff4df1b658d73d596134b402912034f57272cd5352647fbf7517568938516c3e66c96a92e40148b1ec53b51de109ed2872b34bd08f1b7380af087ae20208b4c1a10fe27cce3efa613fd2501c2607c26d72ce7e0b2253a9ba1fdb2ff8700a3c75368d1c1cd08374c80989612e0d2d1697011f95a19dbfb367ded4a05cd645e179f83fae88f6cd4376eb87844e019d78844506f52fb962eb265f209ad6c68b9672c1dc1e6a8a3c11b188dbac14c3052b245fd9019e2febebf8cc115e77cf1cd56b78e95cbc4f1a7cc5b0f6b04c4bcdcfce72cbe72735ac3aa5c8cba4e4aaed7d837992421bc63e3f4b101557cd73621e67720b1d9ac96c48e3b04cfbe2168e196bde4bda664d1817f7a1ac8bba08cb25a35db192139ef7da607d2cbb10d31b0c4a57f21a290d98feac6193984f46b10e1772e8e57dde62f19289176bb3305f964b2fff233aa725d2836c6b3ab5d63bdf00079a30a988973037c297efcb827c1b6024b1eb64c5d91b4a0b4bdade5d759d29729f11644e261f8aa2bbfc823c977f5660051049480359e5e8ace9d8f9816c057279e8a17c01a8c064a06f4b381e2f81efe11d9924026bb3ba6ee2d56cb7aa9d72d97b6e87a047f486e37e24162871d20b499c17d631540bb59ec8dde8d13dc27207b8f667ab88e03f514b82183bcce3309f87021dadf59db9ed99f6f1977a5724471aece21b3643549fa23bd94c11e0aacca1bd47d036eb05964efc74fa924d7222bb0cb9cf35687e5f1615cd550ae1f68e6b7299d9f05fe767381adeaa118272e6832a03b299e1d737f7b15fa2e29ad8e23ad58c8ce7e59bb816d59b43d66672f0809df22c4fb4487c363385313220969328d3a371076fea65b6c2476158f75e8d6f669c231c58b3fe6907bd4fff1c1a264847d912c459efa4c09ffa2af84154d645ad4d54c0641abc86bfe3f9bcec57438985ab94874a651135ff49ac246572b74738e9931cae27d18f4d4bc7bbb4e58882921c3c8bf6f806aeb7d64c9c086b0982c2e399fcb3ffbaaee1098b4ac4dc2cddfde2fdee3fa73fe1978030607c4ed21952d9c49aea21852e0992470a0ef9e7f59064545db7160de217d38a085a72b39b0b04f4bad21ab805027294e246398dc5c01067cb209e3f4977de21f6f572b9ec7134fd6ad4eb4731a58cfd4e48c5b937d3c3e65b3a1ae49ff3fe07f1dd6a5d93d0ac5993fa13c0d1ae5ca585bf4cbddebe610670315bb5b649c59f177b16d0af490d890596ca88ae59ed49b9f18ada52b63994e56ebbfe1215ecda085d6880fa5609fbb12196ffed8094f9193188df4619b9c27a76e274ae3b3e4fb85c1651045ee97a1acfb8353890992b7913a8e7c3366bf00775352b9efe519fde097277cbfa627e85f4af0a15e8322fc2d6a7a3aeb21bf72176137960e17e4a2ee865a4840d8fa893dd78d4ed778916085f783f9c4e19d8dc0e478108028cfb129a729b73268d02c8b93ec9b421f556dda430e84db274923e001f3b65f337f7116372bbba9f6bb8f602565b1f39aa609caffb6e02f1eb9de3480d9be8c1e2137b0a727edd061297592aadf5cd5aa629dfce98c0b535b75a27e1c73de008941d7417727387687fdec78c9e81a071dadc5b8befc8da24ab718c2b9a9764e47b599c420424bc05360696ddd00c563395869248cbb36a435f727d9aed4a59adcc4f8670728f565657c819bbb69bdc37be235515842d1d704e3a7377bd5d26e71b8d760908e4ed4f3aae0b7c1e33dedcab7996f8b8bb5ccccbd28aec6a3f6d67454e2a6c721248e429bd50758e75bb5a6c7b7b526335ee27086d9c9ec98a8336097c59732f454a752f85262ec1f5e75a81dd8816f273f8ea26ecc868e2935c955f52093971cfc07acf0f4ca7a1c819c8597da313f4d0e12f6e93dfd5cf7436992bd68c945f4e5ba61a16a8b2125da1ca9608d8d7175d70bbd6880c8098983a9ae9c938ef7143b00b9a349c861179b9c3dc6d3d944bf8c010a7e0e69a91b2164d7446dfc1723c762fbfe382560862c22ae109d00104369503e31e6b0906812fa920945a7772a7462ef2c45ea8e8e073fd0d01c05acc743f5e6dc102447f4fd7eedb7187414e8189430b55d3d4fbcba0bf9a5826a4936f6406b17d20b27d4c118a6bd7e50f72ec78618168126a365cc9bf588edc576bdb4e4144d831061c98f3f7f40e4b44722adaae4ca05a7cac7a01b4520b8841d43d5565836207090348f894b6cb0127725b85876b6f398aca403b8b1fb3433e2a1c129c9be1274ef8f858689d25ec6c721d7a1122fe10b1b63076f4dd638ed030c4198fb6a6783d04d7b7a85ea86b7d72277b716eb59d93dc390a25be57b50254adedb5e2fa26e74203012df570706972a292fcf4f684409d603424afa08230b4226990630752d18190efa06b2311be1a0884d0ffdeb52d9ee6ab199b043d59c92bf45d3e48ea37f4b84cc1acb23ba27263e2c6b57ade74584e513f1be2263fba665ef9f7c4f12095d707f79eb6849c2aaa1a046c87219dd70b6774b7852b24a92b890a6758f89ed9e7d25d059b8d3472ef7d42fb6b762c10e06874fdb24af5a9b8d7b4f43ac67a3a4d0b767bcd91ec72975bdd335a1952e68dcdab1bca9bd857cf1d451552897b03c5406b829ec16c72260cf789780b65e7d8d535384d13c0780cfdf5388903334e8dd9664b3d683e7298111b8d31da295e262fdf97f665c405d3d7829a52d67837a9f1e12aabceb8729fdb5c08d6e20b5a1ef3677721b0147e902ed410960c2d5af6cb34a37d00bb14d3dd58a3c961d9d71b6915b5ce1f288c9a95aa14174448ed37ac61a090285772e45e9926b293b04a187d4714f91a77147fa9765b1f0f7e4b8f01de09a224c172116be42abb562783727038092f3ff56814336d254fbd0c196a876231d3cfaa724c2b064a7af4d81e851741d7d3ead7ab9eb17512e3ea3d6e23f05614b3606d720560a84f3a07d8f481c5d7e75b30a7d13bfbee5b8a401e698be16b33c2c72c7275506a6e3ec895c18a9561e3dd453e638ac93544c5cc116890e9852a8755e7721c0853d3d136c8109d118d53fdc9eee7b04b3d0bf177f6b6ab4c02116a98c7563191f19e53c5641e87833bb5ece282649b677032b7c32b4b2cc64e0163ed21722a5d177c9b977a8376e70abb0031c6336c914e9f9435ea1c6e5a43e7d5813f72bc8ec59f34782487883d422a8ded86c7894c0a058d548dcb826950e1429919726fb6a402379e9a109813bb283649ec6b9711906462c2b1167984355478b78972d4a436332bb73691a6cc681a226daf77b446bc8b6ce102db0cf21ad31cff2172e97d0809181294ec921fa6892a9ce96e66696652c6e418ef86e2122bc32f6935aec6341ce72f7266f966bcde091ca582459b9c50e6f31f4de7b38a06dfda6700bf3c474fcc34b6e8cd813a0846a640f9ce0ffff04c564405a24746f77efe752bd770f6ed81f62a528acf1dc737ed92a671101914719adadfa6b9457c31d76e26a3296e274f3f8236f5ad075239ee30d1ca0c2e25298a9e63817a65a3ce74357224cf821441acb569d48abdf757e1e6abdb9af003cc98d80efb1c9e4bd5360d6feadf974ed7d81ca95e40abca1683cb14c1f23d006e1704d93cfbcc1c02f85172695b64cd6504f6ae47ef12af033d12cbcff1681ef6e169cc7ad4bfa65fa42716bcd9a8dfa67d0a2aad2eb8b36ea09cb399a493d3b5f00dfe5d7e58e1b0da80397b7658391ba1c46e7c4cd2a400b845abc0ce43e1bfbf408dea26fcab470d4372c04a731ee24f8c8c672a3c2cc287cb970d8f422112e463c9bb0202e7afcf4e72e672136b4c0dad095646f19907990d332eec72d4cd2245ff75e752f7cf242323f69f251447f62ae3b61efbeb0cef71508c8955d57eeec6ab8948a8e24f787260c0c03633eb13060cabd6f5821d43cf75e8c0f14dfc9ab191942b795b7e27f47215e7ada5417e13e3d24a29b974b936695514413e22baab39488d010158aaa020e68ff626af9ad63ab9ed9a31e1d044de88f3399848a73d7aab46c2c2b5dba07236b5b905af8a6c236772a7c41e350d0846f4e186387c1889083a771b9283a825d76ecd7bc5b875409838a2b7dd0869da3cb1ef5965b2bf419fbdba81beeb273dc9fb79caeb85650de83a18faa34d040f45b1d3bcb36effd1d056e254db876f723729f50e5c9a782f8472ccf0e8b796a7c55163581579c946883e4dd9c8c15372b68900e1ae3c84a08163b02999f84a18fd8cad5a339c2e62e7b3a50360aa1e16a85dda536821a66c254a4ddaaa63175c4d12d17a94bc9089915e7e7e5631136285e9b9026368d9c8d35b7f0d86495e97f87ed13aea37db429ce202e10a048d72fb8420cdd6a9879a9bdd9219a5d1995917d9bc240db63f3339f286c6ba31b172f59f1efe411d184c0cf6537467729910d1d86a2b96d87b85b29de3306fc0743ad9d99896201e6df278d318c9b36026b6baa06e70b0b96a1a7541c10be242cb39a48fd38f60feb1dcd6063cef6040b49f4b007b0d5645850f06a5007e8ff7f36e1afc8aead4961661ace848a1afdbf53387dab501fd86c4829ad15597e716df0756d693cb92b0350de459235fafd5fc2d6e8be89c1d3fe568826a401dec05b372bfbc5e98e0f141b5bc2253519d2daff02a6242e701430a9f43c5edcf29a27d0a808dca18ef066907dc49a39d6d83686c6a04587c401ba6d8bebb582985d6eb72dd0585f7ef400dbaf4097ebc9dfa35822b99122b0348164133b02af45f57d44b63cd2273b32dd5d6e648d445dcb9716f9200fa75801586fb4a0292f3b874bf72bf53cbaa4dadc583041c7c1b9c3edf8e809af53a6237f2f870046cff3b9d23489c462eafaa5e533083d25fced99097dc19cc48dc5ed5e00c4620a54157c85c72eaad2bc9d907ba4fa14506276f5444ae474be44744183f5b88ce270b39e81e729a5ea774af107ba4d23d36f1ea23c9d15c53c9bc312c29a02a9ee5cfdc962e728d64699adb5828562506e4258b4054597b20647d59307745ce9327461fa5235025bdc1ef4c14d2fb8eb68d367248358ec235768c88531f4637a2c8e2167f6572a86a847d23f956bae91c93653d0a68a5269325599f33f50087427872bd27045c31503302f46e22ecca51abe33925ca3c341851fa2fc554598155403f5c459272c4d31aa996373b8f2cd5f01226fbec463ef95fb3e50c5ff152edfd478d22441eb72dd91364b7b8a71e65e4d473734a917e30031ee15449d157f0726afbd48f723e30fd1658a1d6c4d910eb984e659393698861d4d1400f1311bfe68d7903967288d04e17fa876bb225b73964b08baee9f1b9a7168a0b32f090ffb3f4d148201bb325773d07eb49e1f6be576df626d2d124186ae72bd523a923173bd869d9e372e674b6a14b1629f1df1bb9c87934b2e48ce4c8045cf33462ea34047d1d8dfe466218bef5ed1e5602040d3fdb69a3409c8a8daef4e1d35de6016c5a9be1ead269d03ceb8d2a07cdef04fe214313fae75511e7ff90771d9ce3807c5e003b74f5508a7bcebac21544d4267eeffde71a9244e7016cba5efd13bff9b1f5f01584fa2cc2fc919e5475c45ee5901c01f29cf5d7d5582e585083709f258cab5319502f7299a2ac8ecefe2ae84b96fe99d0c8c7fd1b99723bdaae93e8e20f49dfa6799303e2bed2dbc486b10ac2bfef91b9ff4336b44d0b2653ca09648b5112d793567a7243c62cccc19709cf4becc353d44e8c510600231d25494d54644b0cb77f2527725ee88ac377291b5b4e50f927d1f99776927d53a3149a6cf151ef2f79857737721420c21658310cced898abb325297e4a13f5e7369e252135267ecbc16e96c27243655b430eb9d6429b20f396a1b7e28c431a277c1dd3911697053b8c28814a6d9392c73755e3b8c6930490cf9181fa8805396382ab813003f612be16687577726fc5c134d932bbe1965609eb85e5fe34e6c69bf02e02e0a98bb672b4adaf187211f33e40c4529772e352df2490a830ee6546a1a592e96ed61c8a701edc4d3966840e7bb2c6957d47883660296751fefed15214b8ed86fd898162040902de410b2cb65f07986f2d8ac9c24989229b19fe803aa8f5e6210262f4ee210d924f3d631845d0857e1f8066cc92eed46b7c24181ae256c7b38f391dddfd762f11e9c650e7ba37f8d78441d344fd52908d12699c18f58783d4e3983e84f8c177c71050728ea25ef89c44834d89ab8376e609b6d2c92bd3855e6f67c3756e936807f4a772727f4b05a1a1f63033cb0ed76733b1e1a1cdfaa82006a4894245e1cc37d99072417da4b41328aa65eec095c2bb0dcb4fc171e29b08c376e3dc986327bcffe1722f7685e0a7e1881cd863b068de81a4e80f08463ff2fddfdbd28a167b79ca9b72cce4ee692307b68c4ebfd8a0e50e68463b3b757f3ef128610ac6f6516fca5672ecc79a522270b024415436e8959efce09f0dbd605011e7291f7efcefb2194572d543d232423acdd6b5edc21d3797da72e84f619b88ee84c0bcf7519864afb472fe66039ccd1fd9a41b0215a9f791bc5b8b8ac4258adbcf5b311e55725b840272226619c01ea53a6a5d29f3bcd41b19c70656476d48dd2095c5702f2f9d7a1572a987dcfda2159e8bd7498d0a88c0d116dc4f702c258cf85356081916ea4731164a72e58593c3371f92b615217ff62f2c8a0e835daa429cdf10c6a45f1a51e769fa4adfb31be714c87a6022c8e5c3e2d8f328d95949142b45d92ade5cd8f702253ced9d4cc513403be8d7127115a6f3c6e7482c6a706b213ebc12639571f87d725a6462ce3bac11448c66bd3e1c1c483db3025ee4db1c797548251457dd270762c475b3ff5b3dbd984342abec19c45f551e0b5ca709fa323a3e57b4b8b0ff2c72f466c20c8578d9ee4d6ead0831a7e57075c4cf95ef03ac2dbfcf476a51076a27ecfacfb152602062ab72902dbdf6962bb5ee33610761c373e4ab03f4af80a972e65080323ba57490be87c6b54ecc35aa58aed92e0a1184bca4a8321b3c4fa644e3b4862e04f4f58a3f17ea1ed61c34e88b18ba0ea5495aaaa1e373fb22550b722d790c1e5684316118dfe9abe26c958f98b701517a28d1a1eed2d7683229111d3414f4ea746f5a9ac55d97f13ed6e708743b0c34fb82431f7d00691c303bd60d6056c1f1b2483ca60270261f58d975c31a61406eeccdee604ed83ba0798a8772f501df36652216cf9972735e360cd73edbcbc72e317c43a7c5f808deb5542372ead4f9efbcdb9c1d365b3494fcfc4a18f7c7c214b9db5f86ed7cc60bdad7b003525526ecb9c38bd1359ab51aa8dceb84ad53e3a21e727fb4f3415016714a1d7201314d814c8e059b91dad3a12e0405ffa11623a797dc3df02734449a7ca8fb01d87d08d25e89828fe3cbdde066a6a0201bc29367b8a98f8dcc4bd4f846b9ed09ac2e40848665e8043be174dc90504264c3e1e1ed132cee59c43d2231b0f1a3724da05a190439f60c799c26b070a035a7de73c48766e3300a9aafd23249332f3475325e141d34939247aae5aaf4aaa6ac0f65111febf0688348f5358b7e6203729975541bf358922426a0bb3890b0e83e4d48d24166016163e20475301915eb72adfc9c0aad62138a30aeed44476441515d98d10a1d278bff71da94157c6a694662b809692baca1947934f943d271ab8a5e3fbf748ea5debd2de74023d68ec5494ba67576a25b6b8113202842b3df1af6acd31a5b74fdcb2dd30e5832467441724538fb7017fbd0d4d04c4d642199c6af46288dc69b2f05249a36141f27b89f23d84af43ee26b4cf265848fc008f3e1152621e9a01df35f88a12a92dd5002be0220e90558076d3b7dd71fbb3dd60933917b696c35cb24b2c3dadbe2bf03d9f4062b3c9d16f565c6e51c6b768e738acfc0646731158ab3cd6a801ee385b68e4772e7af933b6640c17fd8c8764e09623096350f483107882dfa93d52f51c2ed7272416453e8f0a770c9202857b6842b71b97d7a36b2f25cd8572fd2c69416097572ee63c8cd7b520c3feefc307e73f593ee32843d0d911aa503d71ab5a4ec8a8d5c0b9f64c490c451168236438e45fe10e9a13d3b61371e9660352123b9e9711c04dae3ffec2b13bafef841fe0207e313f956bee74ad87b9054758a71e831185d723d84d9ba3de76048a21d7dd7d5dec73c717e6344aeab95c65bacbeb63a5e0360e587001d8ed02a2816de805986151a5c10cb7c5c88ddb3bccc59f1acd716d472bb21ee30b61c18c27793e5fc74170068e4cc2c7b8966693febc3515572eb040aba5e0d1905d0b81f3439038cd04f29ce2fc248f4671a2a37abc78b973f86f4616ed882ec6cf1356a7cd11e60cf55228b904eb9ad57e05cffde8bea249ab09a6f921c5c607571de2d706059bffda88d8300b016eb3236583fc28cf1746772e66491af9a276714c65c5b00797377cc88b2af7514179e944221e256b7c0dcd33b47089051bc0a82405f21fe49d456601a2cb8108aaa16df0fec9e24d8df8685a4728942160617945e6482497b942ad24437dcac6ab217638538dffc3a78b866d4726e3e724bc281f13106da34c6492c0a0ffc2cbc1492ccb86722a0428fe6baea7276f3951111e5feca4bebd59cc51f6c2fc875ab2fc7530823039618538603e072d3c9bb44c92683790276ba1acb65dcff67a8fb3fcd04bb5307c44b3c96cfc47235e41fb94f9c2c1f6e72f924586bf238f803337330e0adb81abf8574104b817230af05efea6db17ee3df989d77f6b638d41f47f6681b5996bbec05b6958dc572754a250d8421cc02e2ea74d418c989fff799159f0205fb84f8d0d4635116ae72df80b446a2b37e9faf77b9933ae2e8f2aaee87192ce27cdb6ef943f7dc999672bdaaa9d012b8e643e14165f5762552f4d27fd11a725e529b420e6791562f1e65b245e2515c0b603d7aca67cad886e1e75218805601865d78cd3738b67b1784356979bb7e4dd2d4734040a11eb3828708a537cc8d9da73d80230a26a7454f102fb5efa0253fd71c8ef88638d5010727ae1aab7ee893d3d27bc527bccc03b02672bd2ed83bd9bec3d1052ab58dfe4f5f156b42d5b7562192998820b09768aae0722ec73d71a234d143814d9940a25ffc4208f51b4c51bf08540df4f16d80fc42725c3277d162d2226c05ffb700e8c9b4bbb414cfa9a2abd08c2ae69193fd7cc83408171800f58547c6edcd711b8f35833e7c2729a4ec34ba9e06bec1320ea7cc064e21dae207174a2da3846e80584ae545a9bcd2d037e5cba412945e091b0afb72f0ccd214eaab4038f4a297f291093a518941b483a52fa637aa7cc55ed038b972a9e9d40e9475fa945e0adfb798eece279d97a0063bf85df4bbc13ed242179b4d72c44ef010118df8c94e35fc6ba44ab3b71e9ea6567500e0bfb7ee0a9a7613724a50a71c68e9637f56fdc6f72eaa7e079f79a23c53714635df951a615a5404729918e0a6aef929869bc0209f2737fba764083054d186b9627bb8140109d97c0f20b554258660d01fac97b953f7add154a76c9d9d1dbd084ea16c43664e02ec722015cab004bebd9bfbad43c1a6139d29a298911d075614e74e5254e6bafabc7270af353fd6bf5c17c521e46690b8ec820636e6368c7d7b3c9ef208378c500a61abb01d865175448201dcff704c39734b2485e85b3350a2ca352ee59e748dbb725a47e808e9a94846dd6c11b1cbe6d683422a5e77d37b24834264977e422de57273fb193eb87b6416256f5a60ec9bdecd44e5fff9fad40069d425f7bebfc0fb7229bf5011bf9fadff11adbbc1788f35a66ae1bf2fc546a123bc2d6763bf919a72bfdeb6db8740cb68a55957c3cae7d4fed206a9bcc7f372d705fc0675e9ea57728c69d36586d0b56818061bc261be82d5f6e7228b91a224246da783c7608ea972eb348e84a04433bcf4da1c87bb94cd08ba47ad53f750b09363fffafc3f3f4253cb186431219350a5b288d436ff2cfbd7a6cc1025ad3adcf199518d19a6cd83727ca6b2816e5a204a784c3a644e6898c8387cc921a0eeeb2c24c38b093853e672a255def16ebd71e18987ff0024997852efe2506ed23ff343035a7c146153452b3c56c03a048fd76b29b33759cd0af0d5328e5501d86a589fafa6d3c7fa00246de14ad2c33e4f150b0e54a09308ce0079860de4292152b8e225afab51829aa97246e56d59a45d978d89fe56ea6df8f3c5d63fd2d489f65c42c976966ee1f4fa5970a34ecfe9d5c7410cd7d5fc0d37ec0b601b5c9d888b2848f0d8b02007713b1a38903841cc3c8e0e43a130b8bdfb6f2e3cca060e1e914a7d232f28f3587e86728dbe8138850fb669c2780b5aaed4aee1a9810d3c321992456a44e59bbb91a7727ee592f9dd1c62103a5606f94e75db6ecf5657181fce1617a97078726129c472e913ef528de33d80f6dbbd7cd01bc8e82cd2401495de4aef4358bfa9b254a30226234d7f8003e5e752b2149478353898d920f79eb630e457fb4fbfbdfc2dd972cc51fd9ccd9bbb4bad4828d426ec985afdd02e94c336247c3b795fa02f0de372ce53da71138fad29a0d1aa2ec7ba8f93166ee33d14f7f5191e719d346881e02e951a44a2a4408ebc6c479d478a2af97eb60e2c6416133273e8d3b2a4d58da04834590004c4bb35e2c47fa3e3d67df21a01bf1025c458257f45a8a830db99b4202e11a96336a9120290504d61e89c517177e2adedb7b2d829b0b9fd3c98b2694e00da637d0ed84048fc16a14dea6bc8d4df40a46e3eb5fe94c56f4d9dd28c4972b0258756767617bfea8de067bcfa5dee0334f24b79ead320ba08c2abac775972703c71ddefe2d7a9ee95bce269262825ae368fb1a8b42de8c9fe65e479ecbd72287c0592253adb3dde2796e614eea58adbd826c19e9e0e6b231467e6f8e93c72c34884ca639b45b4df6b3019b7a921061103c7b7b53fb0d33fea4eb623f1cb58b37a51c27bdbf0010643ca2d4113a7d2ea1632238f6c8622ff665bd8736659725dff047f375e408c65e0c796c716256554cda5b1c5ba57c9e1980fc400130c7295f8546eb8048f58f404366fca64b5386c41a70bfbf44ac4ee3d09139c01e47260846b34a3c29f3e8e6ef1701e161dd90e0a1273928b8707da50f40953eb4410cfedb7cc39b4024f25795dd42923b265450712ba0800340850b3d69f1a36b1720c7cc28249debe6037bc50f922cdca89d9f89c56525acbd661d54e9b780df20a836f7ce679bd9d0fdaee2a45a768e6df56db8ae6dbd2cc2cb09c11568a5c46729c52fb471699660ed5c506a4269346c7ec13fc224a0200c6463e6325f240530a5924970369378731b43b381e44b9a97563fb20a8c1f242738feb3b608fcb4a7213dc455e7fe0f5b3e384ff58fd80176c4ddae80a55729f8bd8a0928490442f4fa2895e6f5ae06b12f1fa914746f77adef7ad0bb8ef33efe1aaa764235ad15b5fe620101e8b4aa6abd3be8999088e1a5c4a6335451c0c75d41b8393b686e5e1725c0c15b3bb70a0c13b5c7b381c4ba5f1aff8a12434662acbb986aaba4595102b1fbd175a299b48b5fec69b0ce21f99564599f320c1d798c9c365f1be4213d939c10e5acc4e18a7acb37f83163bd15ea1b0c196111daa382f323cdc904c1e387230ef5b9476fc225fac8dc83a42898ce6dd6f7f3d5d7c3d246c151ace39052049483818de4c02fa51cc0d69e4ade5707764f351682c845dd6a9bfead8f71423721cefa538989d081ea673f2b19770dcc3f3b3645595d230c11a3f0a00db123d72b8cb737632339ec6d6b7d3ee1c5988066e03a6397522ab6dfa96738484360b0ef5fa1012a76b50a2f22893fcaa6330f5e1816e75737c42bbb6ad1e4b1e2cbe2d3f36027d5dc3d275be3799abdd6982c7b26600826812baa45dd1486616c7aa3f232e8f7e4aa66b430328e0cb57365b559a3acf7707ed0b43a18c057e564876127d394198ad126370dd9815df7e97fd3e82b5514856054f0d23fed4a8a1c1fe723563094765a1089cb00bf90c4d849064fff641eea477be9ef5a4261f3265c472f494c5e0a86d44f1abf3f2c4f5c09edf7119336c2c16e1eb0518d571933a3f1b98e6f9bd390b6498de1b898316afd3d955356e923212ea9ba98d2dd8d86de741cb4e56719fe294ffc2f35c4e71f823b41d20cdcb7f5b21e706a5b7b77d35a2721854758702af7636cd4b04bb44715fea10a4c6aeb0e59b1f5432cb1655a8b0069987d322ddaf3dbc95c5fd727b73c38d50d141a12b272caa67013fc5c6f2657208523172d575c3dac27862700cc680bca64cc10f199d02e911230926494e31720f7bd19f8afcfea4a40ff476f9e0c4db2a48f3f9f172709dc117953454c9b172026f4d13f5194c08a8a13d790e803f4189ba52d989cf873794debc103b324f448c4b154526e4c45a828efd5913036e6a59115967def0e553cca66b69942f91728a47a07018d3f85570aa956c286538ade6bb846c199711fd5288019d1895de72e8e294f9daa63207668139b57d5727504d28d02a563d205f8345375ce6b47923ac21666d86a11e7f1e19dd63407fa28152e97b910d2f84903dbbe0fc91369212ca97c4c48c71368071c25a0b1f9c1384f6ac7d22fe5f8bee16dcc4f1faef6526f2b4ea3fb5b94412bc8b023669a3e17964b424bd29ee1139c9280561fe1712229d31a2488ff9112701c3f7533445ccb8de5025077e1a97eda0181085709a502408b898c488fdb5cf6f03b417a4248517cb20299e6807e17d4f96e18ac5cd4e723e98951dd335b49928a50d6a9618cb6e0f6bed8d96fb82b881529f6a520e5a72bc9fd5758b00a6f3f173db29e11e670255d09c0552e9e5d5d8f475f1490d6a525faf87f379b92443d06f42ad2523942d07b1f0aa47abb7d7b37e72d7ece40372880526fb1788493bdb63b96a33525d599d2fa6ef0eced94eba394a2e5f0f4457f8b91fa9654dffe7a2fa481312bf520ddb6cb02245bc39e6987865144c0e547232b5be14fb72aacb54866c81da9dfc4cbb0553b98866d43fe57c0fd2dadbf872c20a90cbf28b427b95799bf1f0b6d5fcf438809f3ff425be019e9276b68d517226240dd61eafc100b488f4a7e6a07607283e3f46d408b47440c234d9803614727e73179c23b31bac8e24efd89e6c5b1b1c4dec224c297458a68dea9555961d48f3123c057ad5c642dadf0c1f932d9b44ca506bda8e7b5a47f67feeb92903c8524c09ab10e84c249b0e8b9403670050dc31e2b514226263214130ed78b0406172aabc63e7bf5ed28ebd9f62d1d5b86a5a0c2ef165a5caa1df0aca658c29b4bc543c63e1d3b3d4e0a420d31f9ec71885ccbb4043a7ea4cc527dd9e457355208d077a4aea6818c0bb979fa8dc83da5424d8438d70555208b19383a396116327526b7364aae8575e700cf029431dae38b61256c258972a89ade8dee65957b430c972a387a3ea2308c203759ca7b7fae5ead456d4593f1d5f4a98a51ad4a27ac35b51967bf15429151211b7c9dccaa357daad81659f6cfcb2a414d3c8014329b5697206b5d7d1d98ed8115b68c39133efa0f7283d9c56ce3b4a07a88b725cb71b8f1084ed0043a696fdb81f86038398cab2647fc2ba0d27f3555150cf4598b67d701865f2c6364deb149182325efa494b231e9f90a544b005c1c9527c75ed0b94c272bfd1ad51c4abc696c5947d82cd5dfde2c979ef3fbdd42cef7f03a7275c5e9b26db0a6cd6f9b29597bf28526b907266b68018c553662001c9edcbc7b8f67dae72705ce7e03346c9c01d59613db26b65140b48802678d4f7fd51d7f705314d19069877a176552e5eaf04738122f797b09cc6cb2af02e21fb346660c9e43b53bb29b6c2fbcae172365a3595d4afcce1341b971c65c424c1e3d3a87a72f7e2eb0c725ff159a82cd2df037444014dac6ff157cba74ca136f73f779e596b5af5395457a206668eb84cb33db35946c85627ffcf21f97d5573d8daade3b65d5e04e2a357311367a1bfb2030d8950fbd6c6c38b772dfd67c32143fd1c0fd6c06c714c3d5c9341d00dc995e5955c0d9e3dc7456be5f52dc54afe033cfffc73f605f4a6f54a9f9b559038ac2ac0602729fbcf5d060ab3312acf8922799236335fe5c831b772e07f496330e3dc954a3c5b523d4f222ccec50c76cccf6ec14f3fef607f982e7073b2c695a6c5b8da36578963d6a1a2bcad0f1c903897aab2cf7ade09bb0e3c72550f99c7dfbaa6fe2c5dfb873f9f5bd6da82a1bb51e1621a91b1f0cc5a3ae94eddd626431eeefc357949d138f48cfc7f9819dc39421f8579b6f3821c4497f6727bcb2b900a2aad7cdee6cff0014aa885b61a5d4f21dd9994567cf1cc718f7e7244b6e3f5598f9d77f5a3f4e430f4a9b0374157c58a9a512ccb76ba2758a0fa722f8815d98bd764ba90460ae577256c42721afbe67a2a5ce7a1f385950e8fdd72b18547cd4926fd21f356fa4ddb8e0aa286c4f1ff4d982fd77f60abd97bfed80788dfa4567e7d59a6e1880040e3f73dbb358abc4790ea34a9c19f8481e8be7872c0b8c4c8bdacf6054f48506720e282c6e83726dd2234688e695d1993381a2c72e974b0063d992a0f04d2f72b25a3ebbe55ee9ef69c6efa2b4285b83037c77672ab28cff14af7aca94c27e2c5413b32ae7f11ca955b500ff23e815c3e5af72372041e7d42eab3c769979c0e90ce7c831e5f3565357d7729dfaa20231bc4ba9f72f0aaefb3c4e6838a8f12b06e12bf4b83aadbb25edcd4fccd91636b76e8692b7219cd7d79006bc6ac80a6c1b1b31305eeefa58d315d2f08c9c30659c0dbc60872858a3be829841573414fce777e7c9b7d5f9f63d7b11aea9e9bb5d94fa68adb7276c8b61c2b02cee87a241bcee5bb66711ee9ad2f099948efc9d31da62f8a1b72ec66e4f22af3b7aeebd17fad937a88b746b98c3185d9472c77c7dcf6951b421e5897aa109cba523cebb004f3f073fd1eb3630c25a4e630e74654e5ed3418ce017c7b427a32effcd6f8f6f975595ba99c8b9d5951f40dd3b39f26bafbfc5ec872eaece327cf573005c47f4cf31ce49ab6a595d49b9b9e76277f399953ef15177286e44801b9893626f65a41d72d58ee1d55d5a672946e820ebe43d6223a781f72ddac029851e243d0e8199280b3adb9e0886a3155bfec1e95c429dbba7bdcfd727286530b3f78ba610f456366976e760704f6ebda3dc1ddf90d6ddabfcabff972753d40f85e440ee5dd45ce038fb6f58ae8b9fb17a737e0a8248e22e5c9b3b554433643a8a0bdf2cb067f4e36212c4caf7bce5d58a74957d3bfe360c73acef5728f988cbd72b16964d47ccb49c2a4ef0a7b760ac63e34ffd38338649b5611d572f5e9d889e37a40c6449c5c8d0c81b8660aed6d5891e81d0a2d86708969aa907261a6d41a2a1dff5955f01bd0c2e46deec23b13e94c5fd2521e8d9ff3b33de272c4970020ae19d21e006f71907940cc6bf1edd879d2f93bd71f738b06c27a665216d688ade8e39c1314e84dcdee0315081528623bad7d28200ab29dd043776d0c165d21ee21f1124cfb32c5e36773edc6653c8f6f64c0ac3a2bbfda2e3c60dc4ca6fdd790e1b866cef1db1e89d4ab1e5e07259a6e29a03877609cdbd50772aa72878725aa25efa733cb3881375e2e57d1914f3fd0bbc4a28122205dd7781e5e728ad783a1f44752d83d300ae9608d1be91400b210c54ca8276671b5f6d11ce372a7341a9221306c3a61d39430e4b8304e047fe26114f0b71116f8a07697e64072937e6402f6674e25a48f6f895cc800e218b950ba70f59fd65481709af7198a72e7b8e0afdd688d060c88c8f36a3964ab4351ff6a2e4faa7b0fb8c1acd7f41534afecb6087b3ba0d6096888e7a1b777f8f209a5121fd60936d3db76273d1df612e5d60aca1d74f8bb7a1122f1d10e21fe61bf70b51cc022bd392f4bbd5181d1725126b19f373dc5beaa92e8868c9090752d948b83865c58e904d8608928dc8572a73250336fc5977590622e1e4e31002866b777e338ddd1c9012ab5aba644527226688cdb622d36b621c8d2862a5d210d7ae51ea8a70476e1a9b36ce87a506f668adaf1ffca47db3be134d6b88a99d77b101a465e9b15fca59151ba520a4014370034133fd91ae2b170d6ad66c9ecaf500b5e7a160046ae5452246ef4725af77242aee990f9c5b2707112c9c9b697890079994ab014c18355a3193b0c041d9950f570627e70ad37caa6d99858ed76a7f392cfef757bbc1985409c0499d7a8ab6fe3a75198b376b982271b1063a89e26888e31fbc4d0abac8457fa0d94dab616005131eb124aae339218aad0b50ed5c5128866a737ff4210d7676f8068b4216c7217ac00ddb28b5d9d5784b073f7aae9ddcd950e1698a0937315b6a166b6789e31122e0322b6662947ccf875726e7d7a0419dd7e56cd81e5b20632cd7f76ed4f2f1e6d020711268a286110aa1b58a1212eb6d41de66fb2c72d99f43cc19528c17239d28106419d1abe371d956798ad3a6231489cb530c8221643ac5ca7d334877241374391fa1484ce609c75ea8cf6478e83f43865e8c31f89789a7a37e1e0757270a8e48c5c97e4e014a6779754b9f8ae2d60d3961df21fc5e8d3eca3559a086c8e397701c08a1fba5efffb30b0521fb3821405de31009d169b396fd32a51637260a53b36f1dda445ed6725bb8bdc538b84cc7779510e71f451518da0d571e12a2e3bc0b44e917b9d75fda7fe053ccfd6a3e3ca4fc9ce49c8452f230790c32272a02e68d45de7981e4b324043dea198b0ac0abedc713978e6c0088fcd6c920e5510bc86ed94c121cedfc3d934253a28c0c8f1870b67a043e9af1f283c087d9b72499d5237872d2505a67c0b43b0935fe00e84b3f8f00d895e71ae8cc40e09a7727ba7ca76d34b51421278576376ea5def432e802fe7798950b56ca972a1dd7e4619e000e336b408f0020859a771793d5494e9ee528b03dc0d380d4a2e71ed87722feedc59052c281ed9696ade82fdb8ab8bd2ec3dd65d502aee016faf1261d57200e61b8f24fec5b8f49fb19027064d799fcc84360a7a956e66c5c3adf62517726baa50b302fa673a9ff2f0f98171a92e273342b5d33ee924f1df0a9f8ccb80729a12628e24150cc09aca8ed40d27dc3c7f282e54fd9eca547052b7782c1a1c72660a5f94e6adf448bbfd5ca9c70717e00a06e539f661413281fb3c7073a3b26abbee4a3f9d406410e60e8a266986a62bc60ab603dcb75243d5017c3a926ea272093dbdd1081fd30438b337c7b3402ca5b2d9a6d11f294245a7ef0fa25f60dd165639519b1b44bd0c2527e125df7ba0f83599aeadde9f4d67ee8e157138bedb72133cb42cb89e1a276d1db8f16ab695df43aa9dac39809ba25a2ffe00beca1945ce21780742cba5977fcae04b8ea84ac4ec6fe9030e99d3d1460728d5f2525a5d6266688b5436b4925cee8acfc2118ce44071068b446bdbb589fb1995e0c87f53e0af77cce2af757085ccb9dff8341707ecc4f912aeda8e80a34e4786716c5e72f283c03c4a4bd1d14fea4216f427b574b75d3b46be08cff8d1566124dd7e4b081d82d540335793087635b37fd0dd88352566c7429ab1299ce9deabaa83473b72a7e4dd44b58bcf745f795a193651b88ae4970a8a375de444678b3b4deacff73c9088f37c91c71787bdb6e48ff88e14d40bfef26648f6bfda2cb46a609bf351728de7324e921d5d7fc583518c067eeeed09b1d17d2ead6fe2baa23753e6bcec08f0f5b23afb5932f773752876ac4fe3e7d2a3b6f4a5ec5a3de3a7ffa3df4eaf724f30a90a44fd57460e743dece332c53bb80497e1c37063a1007ac11f783d08431385e67ff54effe4e948655a76106482ff3399d2f2c8bd82005dc412a7432872e706b895c14b53e626c2cd612e60739f620b74325e0b38c554bb46671c41db68b76c3f1571261ecfbdaa5bc7e9d9b83fdcd22232ca1cf31350a9d3d85a5b8348cf7be57fd5e177d0bc83ad89245f2e9028860cf3e8f2852803d0b9153a3620720032e29079c524fdc1222a78a2179b91b1844a1eb953dd102f4e6f0f7296b32aaf2608858509fffae56ecd8448ebd7b7f371360c264deb32828cef4d670b7e729e48642cb94de2620db663bbb864ebd25377941d3af877af0752b337e89ce4727d01ac8aedbfd7e59bc9d8d32a03eb7dd923708dadfafae5ea67e32ea8890306661c17f40db4b16ea95c008ecec95bd729724c0e2b4378736f57c75e374ea872129aa53aa2acfcd50898bdb180096b4eac8736cdc32027c9582cf4d80b5f6a05f7db596d2e98a379c16f61f23e0abc7d40c813d7305978760aa17c5ae08523727c38798722c58b20ab8887c15d15bab94888c3f9dc3c65de96c2bd8b90f2bb7293f52658a5d382f1a0ebcb92fff19b062144417b6eb0e7f527a9a0e366a20d52e7f08f57d8e9b3787d5a040846b7c1cf5cbcfd2afcb6dab7838dda03e138927207ad758b4c5fb885ed0356752312c631d0918632e68babbd5dc7c571c8fb3f72c1c5caee9821f26191cf9f6cd3a3d8b0f08ab2586697fd1e0a6b18583fa2c67289ce64bca4e323a298548968263a2ddc8c3de1bf1f55f9c92fdafac73236c7722d651a54c941a613a2ed18473a4ea85ecda4ffc35894e17201f0c9ff5054da7256fe352f564c5edaf3b23a1e622d5cbf6549d226045b039096a3ee27969d6f7277e830f8af98406bbad965a6476540881f10e7866aa5c560f416d6baab76ff72bc2b4283c90b391cc5b6dd4e805a395f93f1ae391ef42691b323e69471495902053b58e78504074298485f8a1a80ba5bc1f2557b052c6386bce15e33d46f38431087b89cbf53ef6dbed1d3a59f705f9bef2cb110b63702211768806e7d6e1711981289d0f5e312eaaa6d913437c955fbd8a3cd0446954b1dc8909d3dc5d1b9251ba72c5011082e1be90ae44f9af4c8c1658431d1489054597ac0de72ab154d72eb3f3a4375d0cf708c38a4933cc4aba1b68c5f419b98915ca19bc63fc3bfc9155155d67c8392a9029d33ada1db9edfaf89f5e946a50ef326f45cfe735a08115a770375c58dd279bf29d448b4829eed2daa0c0b1020885f547997ae66bea64b728fb33da5ddb2cceec84ba5a9144d691e8af30f8bd78105b228a9657ee6bb790f669232f98a7ddc5b8f12ce1efb71df489d526b191e581e98dc48479b205cb43d971bc7840b88ea34c271f8e5997445fbe6459374ad2099485eb4a1390c6f7d668a8620717002db2d12a779cc847d5afbc22a5c40776995684e78037c46368a50f8c90082a17b181c23bfd7301f0173f9ed4facab603cbe0fc8617368b309c41428cd3209299e37be20bdcbbe1de4c81d754bbf882116de8fb2b50a04b295c154c917fb240214684455aeb73bd8c8fc269e944367b426692f23aa7c5de1002862f499e23878352291bb3cc2492742c009bcfb7f9df03268fb16840eb520eb0b7264a3771bfdcb0f525b58eb21c04dbc9bc21357d5471aa5abd6a52fe7b731580ee007f10ba0f3c3b6fb28f3759dc2ae45de22c9762359c17ebad5157a5c03337236a9375cea4402e5ed1542c8d51a3b58ca25ba9706f507f1a7d7f8fc17759517d308327802dd6a315f63cffa1ead325f041cd17cdca47c1ac5ced8242336691aabd602a59f086258dc4d364555fd8e16d4372c9b81784c82e3aa7432cf239253cbb250ea1af8c30186a996b10e7aae2435fa5c3876ec9628c68a0071129e161f8721078fe88a4951d106d41d1ee5d9dd4d84936f3efa45e68cc1f0bf8e07f831122f7a3ac73f50c171f53aceafa8e779858c78d28a24e358988b1939f302c972e539376badc75a9e715799cbe5b5909ccfcc98017989eacd56e0763373e3c511a460e022dc8c5accc8aad9ade9ffc6c6b9a6d69559ec609d3795c9b5151ab3721671775444072f3632ecaf65d004a88a693002dbac065e770a2476fa9ce67a1418e2ce7de2e2082475fa6e022599ffda7fc7a1b5ac549dcf9bb38dc27adfb0444c1f86eae1a4ea02f7c31cd937d3f6b5ef21d12f7b1206de13d7035bd4e4eb72e8858d08bc885e0d3606f7f94c7cc5ac24ea9cd8b02939fec14d743007c76f7283d44b5a96dd1e2ac34bc0bf837160691306e7913f71e232affd69c809c00d7229b6b322e02926819f9bed0a6f77e1eca510a48329e0ac55a3e2b74a7bb7b510a4c358e1c4ccfc4ef44aaa8d55a9c695844320af624fed19f830cb1b24683b3476e9fafd77a29c781bb9b296dfad54b4e7d17ac0bee6a04c7df8f2507a0c2f39aba7d68f016c49fd9837be447ce163ad38815dfdf8938a14cbc751b1c2c46172b646f9fe2d9afff1af916450bbcb615979f7c9684c4c911d3471a5d114b60c72d142ba41230227029a14b2a429c032e6f0f3a12f6c0407fc6a61ce1cb397ae3a8f4c55cadc0cae233493aab73c95e55c9c7cf9f8a343690a1c24284548e39766a387bd346412023b7520ec12aa2bf0ed99b2b9d25ce0a708f4214080b4f41972406ad320803096035754fe7aa47bae3dc1fc532e7180fa4618ff8fe1b16bf73c5a7c98ad044f5bc6f65f59857ca25291d4c8f4bec7c9f5c2686dd573be19bc195696f3a183b6d6a119f1c2a8e7bcdf00facfca72bd16891f2f41c13222e2ae72516abf46f3e1f07de57106e7ad791e4f71ab1db6d30db0bb21cf5b44b4e51f72e83f8259a6fd04d265d875fde693f7a41964897aaa6a55769f77300ad1c76a7205e79794e248d7979c9ed9691cb814c5d4c2be6664f1630dea9474efd618e37203384f101361e6dee40660f4beff4f3a812bad0d540a51f201cfc055a0a9d15fd3019d87b78fa8393cf82cf02fe77c28d2a227174d2a06fb3e7cebf56d7a693efd8d22f5bbd7bf18d8eac0b742ad66092291291a49c2139963a2bdfb2a16ef72f3d456847f2f61b2fa957d86e65abeb6b0b4d8cf57a9ef0d7b5b9bd1f001023a91c9a9bed71ee50397c953de57d7310ea26ab59e9028bd18de15fc13564fdc72988b2dc6a1471534d81e83b1b276e6de3c52cb7fb107516486bef5a6854a55729d9df3a9a648a819fc4ac972542e2c383e27bfcd6184cdaf4050ceea1c12bb727eebbf7bf0722ccd302de30a5523614e1bf7f741d564befcdd07c05a92ae41607e9a5142e8d33e74724397006aea400c5a874b528a953a3af67fb117e91b567230131f04bfcb5487650195650c5ff546c383e5b5322460785cc77bcc13a7d61863962047fcad4dad861adc3d1633669b5e07ac0829cb6cf566a934f575edd427167de5a9ad7018e78f902f3906b50b4d5d698e12045d07d420db875bb63e5672fb55bfeb00a306a2e2ed9368631c6e7fc6fa065fb73127e63659257674cdd001fa8fc5a31c8efbc9b4fdb7cf285dca839415032599a513c80debf5cb4dbafb376aef332bf92545427243af9cf437b0eeb1c1e02b52f70017c010b455040ece5d07b67d4786671f22b7b44e276ccc33f735b639ba453c2c016eb5064ddff9557284b16eae4296bd6ff411cbfca25996577fd6cd06d59bc5782013af11e5529841f210b1932fc5b70769e9508e440a9179e3f1c6d64b28fcc0b9958d008cacbf1ee8a0f6dbe48188d42fcd3f3a229b4b08eb8850354d99f8a99ef9c8be93630c3660409f688e7e03b840d1c85e240ed1d1170aa2caa3fe5214d4dd1f74b2a702580f69c9d45edb226323379f822f9a2c281504870f890d1690a527ecb8b13115729e09c213b537cea7eb63f28b50875454cee2bca1a1fb3a28b5f5cc1b6f95f97299b62ab118095f2121e1d5a900d58f7b27a02737fb157c2af5d05ad83a9ac372a8d50ff625052d9d606e52e74fb292cd16b0fcd0726b6334c4e8baea818f9f72315203aa9b977d71ff35620e22f436bfcc81ad9470a1b51f857647792c3c82722ac7c406f86d8b24bef186860e4a55ae1021a51ff6aece5c0a0bfdf1a2ad764473e8f489af695023bd6ec61224ccee1e36b65ee3d4dc251ed6dddbe7facb187292e401ddfb18339c762207f7546c268fb85de2491f5a89da15249deda7ddda48f0f0b3013cd8c1b03711df06262e3a94862a27f433f78f0bcb2e35f982b4f072fa72cdb8e31a78ff41ca2d10eace20cf9bb4ba7e9004439911c94aa2df06171321917a2cd1ba2c0bdf0c277bb78789d76e5bba1f796322af46825af7bd23e972cb1f63115f81a8ae36271385b25afb9b7689ab37c6351899ca8ae3577814123c544e7c4eadfeff61f5ca61927789acddfbd143f7387f503e042b8e9759f56d6505690f9a6804faa9c371cb233972c6c9a19fa4202e54072b52fc95ef46657f725383da668d3d334823a7f327b6a56edb61c4ebb99abce66434dc4eb4965c91727ea482026cff12930a828387bf95a8defd46bf1a1f41035dae4222278a591b4e30f4c8317b2dcf7054d8296fe86c9cceb771e8bd30faf9b651b8277844a2f519dff60e57a20853c52892f0d04555878dc309cf8e4655afec8a9227a35cf24172ef677f5276fed914714d186c06d8a2837beb58b688a8fbbbbd75f23173ec75024fa32d7ab9eac83c7d03383e96df7b6bd2871359ee70f6b1356f5155cab998726ab8d335af0e4c837da346a6d0972bdcc1d119226c90fde773df8949d1866006f00db2ef1ac8665d0c73fb0e468ab5abdf8c2de1e3a110f82ad4d5efc434556d538d6d01930ec66a0dde122b294d66c9624f5877e137cca33fef5ac8e5817e4c95c9031fec65ac2a15cdb00e3505d9902aa1fdf33f80968c8dc6342e66da8272810128332aad8cddb89fe31b6dd13ef031a5c90472589cd558d5a701c3df4d5beb4ce0b35a8680dcf41169ed2733fde25a057549d10ef0a35d433d021e40bd7291c9cbd1f27d0a5b3ada0e2196cf68b6fbb2f63f967e938911ba6aa3b3a47a7248f8d2cb9f68d098a73fc79ac5731d7a9f8eb8824baadda3b5e556ed1a69ec7249805f3ee07f5e0ce76bd356453f825bf560d235a26e397d274b3b60f86fa25feeae82f72a3ddd1a68133a064fbdd9532a2f72d44bd971e8012271a9b1b995527545431b1ab08feda6b0d8662671cd3a2043c0fdfadd9fc879532cc26a0aca72bfe27d8f9266b02ace783baf88f1536c57aeddc6847f9d527916204b1346854295d3da5ecd41f1d8ff7457c81dedcbb1fc20f920c273e6d0902505c50d63d6321d17dd9b5f0bf3faab6902f96635e24b9121eb981d81fc7abbdde0e442eed80dcb4e96d28601a67befe2a1e1eea22c20e8b2e696d9fdcd544a9858adc004632ecc1580552be7534ad36a108d2accbdc653dd2c63b3bfbe2dc7413abd4b64e72ac5a692cc3160f5cef79867e2f6a9deb539cb49b6a8b729308529fbb52ed0955887e277c9e885aaf2beb42e725ffe8aa3ac25862aef5c0f4a0afd0be57601515ab48bdc49c10e5b8abe95c085b289dd3880d3284e0132d018199bee4e9871d2721e41380445b711ca112f2cc7c3e22aed898703212d1699a733ed4450c1a5d9721aba901b1cf5a396b5db8683f281bdba1969c13be80a29d6d8368cd8f85cf72eefd7a893928bb2576bb40721e62c476ee3068a291b4387a8c617ce9bc92875726073a1afd1d1189b4d42199920cd58dce719721f4eb75fafe4cd6bebb482e67255378aaaf831d81e5acc8c81a9ac7292ba73bd584718177b3bbbb22d6ce79a33fdcc93d0b025408d55fd95c460cf5c7ca1bc5393b5076952f4fb0d51b05bb21d956acb29350faf0179c242f1eab11ae26ee48092d76ac5d3d27f55e1646224721be1e470e948b301e22c8d286f2e85a6ab9ec7633f161888d7484fda22d5db72e10c258a1612c2d2c82fe2dd8a52a02632776985f68a1a6682aecfe9c21744592c63162f821cdd5ff63cac21dd0caf7c38af1ad38bf497d7338a1023f1d4d90a9d1f3a50c3b2e6764b6eccf7ca7e663c2630f2de71cbb468da82039c459935728338400b0de8d60492232048a56804af46e75d3c021f6066e3e9cfef15d6941f85543124511c5fcdab333d039ae4d811ef4e2a299c324eff1b4942cee6750072bfeb84fd675508202295524b1815fe8dea9a8f4091bb3fe126685910784f22223e1a4d3b4a7c73114a8607ecd51cb69988fbe1d8012e936e71467f4bf9afd072e81ec057ae55a77f3698c71067d30b11abd4ffb4b5e810725ee3bb2b23c3147226f3abe74fcc77fc11239c6fa151b7697c10ab0c5ad9e01f29e13417930b993f9aa79f1febfe9219deded035070dfb872fee526c2cd84175a5913efb28e88623bbc4838428c7686fc980860d5ea37fe732674a0df6b8aa95aeb8da4f12fa1d12982d577915a2d60c11870549b1efd3c4c7364d388a6f138a7bd626211997e872efa51a90cb96f97c823512409104dba022fcbc6be7a284b75e9a1bca81bb7172d7de89c62a04d5b8b2d7f55354e2aa24744c0332fe3238a7376f05473d5a4510fbcda5ecbd59f90ff8c138999992c1e9bf3bf6ceae5613e46c073ba84f208f697ca0bb3782c7bcd52cbe3fab96e7bdb4ae7b70d82e5075ef10a57afbf1ce0f723c04febdd3c6970ec1f8a081c22bb76c0414a3c1c85839da3cd780f9ed3d4e72529a2f0ba3c2f0e4a9af09a5058b61aa269c285ddf7a638d668ea02eb1f55b72c40874224fa0769abc79fc7ced46ed043b146381500331046773596cd5c81c2c8904c6446d2b85f48f64f59a771a96a790435a4fddee842d1dd1ec41d4d1762b518f63d7ae790f7801661edb7afba64ee6f8fb77f4767fc6c2496e07daee9772b6d12255dd956f9214b3421c56281138b087ec2c5e4e5d8492d290fefb78912ef2a11345ffe33996e305624de1d1e623820594a6531936f54c7555f2f02bf972e1271fc881655bffc22c569fc6eed2c474a97701727ac7bf644aeb9afbeb4556365948a001dbcd8115d4d40d0d05fcb8e9e5e86b3e6130ffc2e63971ed8c3e38df7b33bc5c25cb7efde50af7957c0bf54b18cab9de4d2a54dc662afbf35f536231d698096e04c9bc3b0c6cb7c1ed5935017b3f913d2904629e7253f61c5a000e637f62878793cfa3c95f788cc8dbaedaf5301696df305026ea5e9a166af45e11aa2ade22f70b3798f2ac13e7c50a1e8a6fc210d19a37e09f412a620fc386b27262ba3130610aac35a5eff2333dae8f9d14f6f22474c70b11b615a97bea5786726864f84daf8dca4804ca81cd9a9947de76fa2dd4fde3b47e55a948e8db45cc12675b7f65bbc1f7291189ff588a078c7257c0d35caa404b6088e0fd0bebbf2b538a901b04a05f59544338e2b5ba307e10b6faf244d311b9b5e955c67813e1e1090dea22dd88a0f3a9629bffcc65a0295a11f71b483529ce87a4bde045dceb196192484d2d5cce99d435404d1eeae1d72cd4b764862267d528f406a413cb0c6254c6772dc63a4e12079f699cd401a7803b11bf67b5acfab2ba271b30ad7007977265e1f0987d3f62b02110778825d4c039ced95cdd703f8ebfd1d050fa767a6d48a89a98a03a9e8c76c3cc925b72bf7ccef5c737c821e624340f42490939085b46eb55d4ad20a2c6a659349ba716104c1498cae486662de13e75ff96eb089d8d6b5c9fac03c6a19ebef28e41b4ff798f87bae14c9926a1a3ac5f1b1d2a2ee9f97210348b53521ee99bc836279b9b3caa26f403ecf81ec955b8b5d4c6daac92c05a0174e7d97bb70193e95e609726026017af9d36150881049068307afb7094c372706f126538f996a39c3a44516acd4916e7b20ab1f1de9dcd1a17893d72e510723aac3af8d0f2afd10d383e82acc762301c863678f8060a687b785355beb5620f8d6a32d6c6604b91d3dc06009f66f6a569743fe7ef41a5c9fce560cd33dfc6721433fcc9f005c233258f8fdf2d89f49c0665d5dcdf70b0f19e1ce2ad56f7a0722c392c3b6dd9861fb6f18d9b808a3128e6ae51823429f941854ab760b5758d726fc94d6ad78a4285b8074d1330e2473a6086e63feddc31562ac42d921cd815722d97505b7eaf869255f6e86aff768331747e125c3969812188b1d237e280597299b0b35934b62e0b0a9d92d5ef5ddd7ccbf8328c30f4ba8fbc28304abf5aa27228d80e05d9091bb143fd4205d5814125e61b487fbf95b9550dd6ff3de734711f5c30f5f139ca155143ed7e4479ac8490651b4a3c7b7f04f9774e0c067f384b3af6696388586a4994428eb9840de1d7171e2aeddbea94a7ca8c081caf6fd27750fbf6ec0391ac009e7f5064391c80fc91eb9a47c828b93f26e645d7ccaa2b844d4af9a643d2b782ec3ceeb1bc65a372de3781430986350ab70871ad39dcf95772f9701e7f912fb97af8b8f664c8f0421b7b09935cfc16adec91b8856c8d012172540e2d1e2d6325a7f0946698842a6260d7583bb6647005426790923de4764b1c937bb604e3096eb99e200c2b22e6a4da90ec0830d93ac54915fc45562603a472ea102c873d39dfe5b1222086d30121257554f80597926eba82cd8bc2cb36e17258d5cdfc874bc943f593157e1dc139a2623f1be2759310d6e65d72f1435c4772ad9e0fd4c4cb6adeeb10b54d78dc64d4afdf15079c7f746378f41d3f2b5f6c5ff84a93ab73477fbdd71d8b3196c4f402524def8852da72053e3c544a1761b8106495e2f176cebb00ad34dbc7cdfdfb4e10bc14e2c36ac9c505137523233dd10a513e1dab816df26787f66807ed432b17b3bc85b86830ecae41f2a4ddfa1d3e7264bb8494c44ce0e0488992289136b4da3a03642a9a2e0083e88faf63ff63dd723f88acbcdf1b7dde101b54978365e102bfa3cffa4ae24bc95900e1ad1bd593538dbe184bfbd3fc26a0528791a9dbb82017ab471376d9ba840f912eaac11b0672dd6826ce11d516786e822d8f8f242785cc644ef7a69f7f53660a9919cefa8572f95b0ccc0c3a6bab30d3200a993bb71e77a9b20eced4f89cd7a9749402140672ff8d0f3efb3dc524944a32fe7d1c9cefc0aab51cebf0a07bb74010cb21f18648546b28f89728508d13f4ff72fab586b11147e56c2b82970d4a685220de93dc53c69f95572b1d74f2a7358f18dfae3ba7458f5ba02d1350426a58198672aafe6d185b0587884cd827cac6a33bfb6042ea255a149ee98f86df9b0ae22120aca972ad45b6bcdf724ed54859887631477613bc79831b5598a74ea7099ca6d2f77672461f7a6de60112493e40c610a79b0104ffa903062935e153f29ec630c396f0726f14f72b9eff39ff63836f54aced58f1829d5f817efb9176ac1324bce43789720fa4b6114a04f6c8424c5984ba1b69b90c594486f4f9a900caa91b846d50e35e26c41381e210a77d274e68d1df26bf732522a10ce58a66baa4f72a389e542e72cdce9d160a2cf4f4ad12e6d6ee76a21c6fa356ba2e0d86eff4cf743268f29e7265b802b687061d338780dab1ace5e67f399292603d8affd43200b326f72aa67214d84daa46d5a828b1dd7d5824c6104dbbe67109dfa58389bebc6501e960d4728cfe3a16dc23459a8a8486955d61aabeb8083649923480db64646c41f235f3723d264981a36c7bfc4497f346ae025d3aa755197f4175f827ea31666912b1cb7236a440b8397f04a26898b0478417b77bb6a8513f98fd14188e36af0a503228655986e1bdca24307aee0a1f02c726f25d890ebffd26ea0a07e51035399720732e7b1b0f59b8b353d7e0789a0aa0f1888ebacec90bc360a7906d1f99e0286d2a02c4a6c483ec6a85a9203e78474f3cc6ba2c2c5f56fdcf1b561202b47c1ed4ac7210b8d8bde0a19e38d17dfbfab68ba4dfd39c819956658ee6cc17c1103e6db4074662f74af5fab58ecb20cad6f2962ae17621f89505d8afe5227f6a364898b37217cb2b3d2b18b876c3be7793b6f696733bc77008b1b6170c287fb12eb4a43372258095cc969113b37db42599dd09a650e9a9958ef259031a0062448d132e8572846e1952483abb81bcba456c00c771aceff6b36b45e2c2e718a2b1a02600c8729b4119324fd600e00b2e5f92522bf98447fe1c2d67326bd71ca21a14e6809a6aa4757df8eaed9a3b3553e3196c5e77083e6364e6677efd7d77a46208f894bf3dd53cb41fea962748ff6398ba518f561e97ac5aab20d57492c2d5f20417ec497256606d4a6c71b98a225098d948547022fb6a2e4af3cd9615fe552ffb33a44e72ceed7c121e886f5f74b041204a5572db87972610169196ff16612fe739497d72002c1abe36b4eae1447a34f3124b2177c1540576eeafb6c8dc9ff6090803634db46d62045086ad63f29528b0fb479676f54fb01928e04a52ec762f915be5c4250e214d9534d34da17302dbacf8756d348b40f0ad2152881bdf1bc2e7035d07722a7d5a571c6d437634b32fa9f5c615a72230f01d6850706e524e4a91eb54e7727db440d636b425d9f5fcdb4e9a1a8cc87d44370775bed80b3863bac3d8538c72561ec700c4a1af5c97f2497ac61ee3920d43c7d317a2cc1a1675ff6bd38ebc6d80deacd3d9c16f53a5826733009be946d7305881321404385c3d6593cd081e72fc65750124d5fad0553f85f395a1f9bdc92f60d186c47451b3f6c6ed721b1b29fa74653bb30bd8411a80438598a8fdef3ceae0725f89667de361323339600972fdad69072fda3b1bd87d5f29009fdaaca19289bf7c71ed6514c9cd032a7ebc3fe2b4caa370d1768991049037edce1a2a41e035d924c5d935f1abe6d87cc1ce3172550f9e0bea641cda89fab1747ea3c71dc3d0d6562abeb3ac6980b157347f1b452188da7b9892aa2fe6c22ad5c534af7f14758c9b3828f0888f215ed9529a3413f0e4f317d0226fd2972f50c0c795f71991b10aca648ccb697c403ccdd3ee0497770d02e51ca4d74bdaf3c81f13a0726eadf4ea1d88cb7b99bea3ff56c4dd7297c8ed74041fb45546d3870b195352e41c7d35e143985074bf7e7e09e5d54172abfb17b7bf58f0ba92c0d574bc995585fd2f4c9ca81ac9b58a5b22e500ace35e6e5eb2d71c554cd964015a7c6c3662a0046eb8bcf489a371778e00a44db86272e8bd31d832e2fab04d96ed0437e6de724a0b466337c9a757e71910b8828fefba0200001b8d0103e3a8d9ce8bda3bff71225be4b5bb18830466ae94f517321b7ecc6f9405c1e78693275c3a8c2d9f2346e8a469beb609bc409faa33dc74d4382d32b855721d44d8c293b7b333bdf92f542618bf7bf75861ca35ad38698c57bce0a5948145c2d4806708e7064469d26f713fc670b19a87caff4eff3205b915caa4e5bb1272d717e956cc8d3d175b8bbf46ad1bb982d1d0c85e43981025de673fc6b418492c63b2cf778c00fb649a8e21d83d3a9021e1c9549e4795a1f5d491389e4809f272fb5fb36060aca13ba15af5b98bd332cf23555799e6df55ca64444fd7ab41683531f224272eaa92a97c5c80e18b309d4823c56ff2ca9d91aea9e5f3ccded8ab72e0aaac7f1702ed2ec81b2c2af898e9b0bb8b135db821bc78112098c035bd40721d98eeac460e93cacc873a38cb4be9f81fd2af539e164630fca3df474476c06a2ed5d3257a062e16eda32f4929543dba1232621ef9ea120ff1852f560bd9797244ed1552946fac1a58841f7c07246046b27c5c8611b6191e1c81b30fc4846c72c3963e6577ff273356fa4a4c644781c725bdbd5d182e22f3b7cfa4bd62fb732398c3b999256cccfe80cc868bdbb6e9255eda3e5308e8e9f87429b7476858512076848661b9558449e639c507cb6478500daf6bdeb07540ecbfbf5d75f24929723c2d2dce36ddab240b02c31deef89ecab24792042a3fded30bcf5f9aa3975b72690733a3d96ba44dc04fcacad3590d2daf49f8b682479158153e2c5595496967e7876570e3253e9ce0b916bc59f06cc070f0a2bc1d0fda5834470eda25bb4a728c7b3f8b241efe684c7ce62dd1152f804c83bc1fc0a76893429f134aa38f3820aa88b3aec1c64f0ffccd3b9c239a8bc8c8075e5910a8036fc2e3a2d6b246b36ec4ce3759aef2c3824c744ed0740bde65f228497776ae9521318a983ff20c0d72e619d5b9a28505b7605f0563e0ab825c16163986411fd1a67196e9da922ed3598a4ecf328f589b7988c19f500ffce85a09b527e117b282ee9d834b76ed7a704bcdb55c52e54d6bcafe73c53cf6d7cc8a38b555e747f211b9ea0c85f0305d99722b9233b25f65809dbbdebc9198d3e885d9550126272f3c647dafe12a6e216607bbde5f2d09d10beaf2b10ae04ce3675f45c61a005849920e5d2e7ffe7cb9bd726ba15431619a8a9714cda9c84cc88b0b637dca278dc3ed4ca14b3f64a50ed172b2f4472f179440f0b361062b37a1c0dca32c1c57194ae1ada79900d2ed2bf50ac136a76c78fbbc9fdc0b902bc1c314fdefd7418c207602c36c17e3d4ace9247221180b4976139c8a8db360dd4d3b1e5b93e35d4fd803d5e815f6b54f4491cc72d5405f8212c5a4f99fb934fdf41c50992d2e18de8e3d591887cf798cf3579351c7fe261a21a42ab973256e9d6e592223c6b6b4516924dd4245a6881fbcbb9d31f10381c446f511f79ac1ed7b960273e62fa68157573c85fb0c4881649ecef0724392d09e18724d25c9c0a3c2ed41c7cb3dd6b72a8e6248fb8d9af9e3e39ac5700624697f22c5a8440ad86b20e18936eed3a8621e99aa79532bdd8602ef757272bd19e0eefc6b787c4f144079569a0f998b46943de10b228d61a621b66c768c6fe96550d7290f5bd43d8884b50c7a07569441bbfd492c576b4e146b0e22193272d7619006808d1b96e5224528e4761909c59075f92f532123894fd9cff6df3a727e7f09a6d355d78823d8385784948ec744390c7695e22877df6189d23425bd08590f2ac7b3808957a9b4d2b9af459fbc9fa8ea7fd7e6eff83711e1e4764d6772f5356d92f2b50c220cae46b46ada124587bbb312137c922e736762eecbe4dd72f1ec1721ae70ffe783e56c77146865af1a9462194104556f3f9de17fbf86674937d3cbc7c66a34b799cd01a4f69f6d42508e65550862de0c2824982b56d55d725ba39ed1c6bc1df92b86c71afa745ed22514dc243b415ec8c28c37ed7ebfb17213f14a7b16392ca1d92f04d58cc8e82f3857f7b7d23b1beadc634bcf52b7707263e374e4a7acbeebd60b29811b149fcf927c5c6dbbbe20378335e416381b67721f56f2b6015a2cb36eadc67855489414e6365bb2ab6af768453534f323d8937286f792653e2fbaaa570fb52aa689534ad0b7ebac990ebf6a8e1f80981790bc72f7b64c8177ca2decd983f91facd46714969dc3792dbb547aed008ef4fec7ca72c87d7a41b829f5fdf987891ab4b6030e83ba10d91e39100f47769fe89e6e2403a36a1850168450cb45edc43991a006544303e5499dcf09150d369654d9741e389641e2fec669efa002a08fde139bea92baa6e742ae78e9bef610e4cb65402e724929b2d2414ae58b621baf867b785f34bc092aca6ba2add71d90b08ece2cb10d7fe44dabdad91b8ae0e95b44039a3c5afa344bdcea143a16fe3986f8f01155724d7bec60e86f3b8e2799b14444be547e5ad67f701f3b151818d9fe6c6b8ff972607755a3288a0ed374a79ca30215064c0f7a1e587aa58243486b70e11caa6402df9fb819f68c177c1b84c1da28b1660a78f87221caaf6b5c912fdb6fdc87cd7245d0975088101810a44b782a355c586f79bf017c51836f426ed779b6895fb66e43834fe16c0c6c9e2ae86b8f9b1940fad165f54b24fa9987d4e44741b965100ffd3f48dfac6fcb5663b1f0ecf9a90d4ee5299ef9179c3ab523bfa663185f69729d9770c89a3dfa2ba30396a312fdcd5ac7439e1c3ac0b817b66895a7784e4c2bcff4ff0a241b9dd2b4cc12a5ad38e34a3d9dfc440c9a49eb0e83b63bccf7337249a5c6c29e992e8818dd2ce0042a40505bb8caf68b91ddfd26bd83cc59eab7729da84e371018d69c0c063dce885df028c8f81bce39277ea3b716de08185b672eebf57663291b1841073a7d2b8154f7bad8be04048407ad85f8aca58a4f9c717291b85ebe507bf242ae05c8dfe73ef6453d8406fa1d982f5ad35a20bdd50a914003ad920bd5ec38fec1c1f373ac0a55cd278a897335ac1e328c8ef7c9017e7c7264381fbc22eb4ce570078069fda329b82f3b67f96e0173ed8faa9de5b5da945d3dc6a9c2fea9889d73f9f98d5bdf48eb45b49351e313ad782ca3c863039e050f795f9488ca5f245a0f68d76886fe3b8c0b97978d0ba397ba3b19aae1cf984b1b7ba078f149597d54451dad3c154dac974d42cf8bac46c019ff4154b1e421ed72ab5001c759313edcc911b2bd064425552a30798ceb94c7c0953d78b063935e7235ecd2e2a3b7a45deb69b2404b3b9d54a8e26b197ec4ded023f7afa0936cac72aea2dd8e467505fe2dfc4761f18c8a6a1af31cf618a85e96f3a0b5af0dc511725675cbdfc83884a1f3cecbf2b8a78570ae7dd36bae00777681d7d2f8bb252d7292f03ff719cc2217a0aa41a28fe374263c161960423fabc113c588bd5bea552be8bcadd4868c9861f9b1f4428bfffd20294eeb7dbaace7723ff2850c2ef5a872f5631e8b5692988dcb8ecb48f2c73fe85da65c1e3b64c29e296354c0ce102c726d8c46edfaccc336a8a521040c75a9ecf6d6565893549adc9ef35008146e3872779e7dacd6f69d876d047791b89e2cc49a111e49308e0e92bfccd2100726d0710f8f46d72df12a80c307fe6075da358eb307ce6b6427bce125173bbd6237f4727e0e83c9ac59ec09e302c4d6c25631c4435fd09f06b74dfd96956e3d09c159728538fdc9a69026bcf138be2a8d6898ce79159a95421ca59ee12eac1b62a17a723236dbcdda8ba0b9baf073dcaa3701d7fdb340f5ed3da98051f48f1bfc3e625dbb0f212cb1f0711e855a404fd0e4f5b0c586008e300f84651f0665c063373b1c5bc46bddd1fbe1ee9907dae429049e20b25e9a8d8b8c1c25490f72a81b4be072e515de1eb5a7dedbf69673cd9af3d1781fadf2d7cc59d51d54ebfd5d91c23272e10217efb579fdae65378c32c6cba66355d3e6028072ac4d192f1227d394e87231deb4bf24ec7aac3e7760f3d4ea69a73e2b33e8bac6dd9c09c32293dee12012e75afee3cbb99d397119ad5c2f205e9c2efceca1fca1eb36143693aace2c4872c15626257a50a793a043a061e23eddb0f86f691be765649e2e80e743b6dc4a214a98e4c090f6b4a87b412fc5f0a4df58b9f2a4a9306c6278dd042fb7d2baaf713a679817442ad547cb26df515df947cde97b4a11c248ce4643b2079f9b44446c25425b22dde583b097c41b0b0527b393787d71e6633410c92169a232b0ec44726a57e58911af111f0d29a45d95469968bf0122311b4a9c89c9a61acfd257c3727509cdcc74425897a05859480b2179a97557922f36772e743324f0e0cd0af653f0b444e30ed4f943986f16629213b4895fa19135412280ab91299ab636d6fc61999a9f85652d1cac1f67897c650f7d3398dc26a8a0efd6cce1828def28096f7299820de246370e0b606bb0be712759e4eff8e47d191cac24d1d41069fa98c8728c6e936af7adff3731c415dbf7e805f1f830b027ee4f05a6d40e5a69fc6d1972e90d9a760310c2e0aae83c4475bb9caf9ca2f3d703eebc7a1cbca4d91fc2ef728fef5f99785b07a0176890d461bda7db78dfada2c91229f7028a23532236e04c274a45c14253535be802bac83de83327ad3f4be2c75923f544b6e9b1302cc0259761b3138ceec0b597884b73c08ab5b4f3d6c00d9dd850e06b8fc0227794dd72028cf91cf55a9df4daafc85565ccd82d631c79d0dd0a1b61149da876c4dc7672bd8e134002272bd6a8be6bc3c91ba4e6593bd2f4be8d19cf9994159aa2ab84198cd7d1439440a7b6309a4006a111934c8a1793b0ddbc2ce70192f4d4582644505aadf7d5694087427b5f0242378cbbdedd201455a333c04a4bfb1d2364eb2472ff7e53b6cf6d456a7ddeb0c8267a742290219ca85058fb90cb0a8735d97f9759d63e96cc643691c40c4995ac84cb95496bdf820139cc4a9a11d8b1df44422d1d52a3a9e4eea9fb22315fb8ff8d7f38946148d28466511d7771b433b76284353d82c8cd8f33d8cbeaacf038c46a102892b1b4aec39eb50c5b2a106bae92acdd7200ebd0a00f10d94d885576feb52bf518c5e2f56076b01c3614829e1d62614172549634abf1ef6005b9d149aeb9e5b7b2b68e423f668f26628b65be7fa75b4672f8b788ab78550a110d52f26439408a155668f404ced68c66ad7c092281e78f2a60fd9c7813a9550da74713ed04403d33d13d0822904ce62295d90b946af5a8724f78814299154f2416c2dfe9c4299b1d1c5b4935b88d4090c7396d5ea1bbb8726a6a9f2cf0d0a9e9dbe5338e0b2c0e9cdc5727288d961262710aaec647f7954d359cc860901858c6137e683aa0ad3591d7d2fefea8555c688bcc341fb0998364fe4ddc49a3fe709de08e922956e95c2c5fbc744a3ebf917409a06643421c065521e1bbe83c35618c5b93c4f99fcae294d454d9f910f73afbbeb7cfb618992e1e9c481eadfc80c6f51daf3549272b4427ee2172b28a87a63c468aee4334c3f27278e9748b03cf8c2d6feddaf2867d86f85a1520bc5198a938e620679eda82cb72cdce83ac65555c5d3777ea90bc9d3838ea52df83253ce8691d5b07bf640a69012e987d88326a9334fb7a014a68caccb6e0e74563a7d5067f81a6b026ef89a85685b3f05331c2e9adcbf1bb5193c69e42e38251c5d2ac31e6ae652897f09c5f726f60d6b2286cf75860bd82404ae4ba042e2253812df95401f3c2a82e0033cb7257ecd4819d1c2ad3f6f577a244427e7600ea987287c32456f99799f720db3b7285f36e264f3cb27cd237f0918ca4aac89ed5a183e3a1b59bf084d28dc3ca87516fe79fb52bd22597da54673634dd54555af8a17a78640b68a45491b22cc92072e9633450302e449082134464ee2f6b4fe49c6940c28e6fe0f4e642def5b6b972664086723ebbe011fd06337fcae1b29b8c0a0aa0236f0015e9c0dac5f6ff295ea85bf2563eeb37ea0058248a4346bc75822e04a7fe772762df90215917ad194504ca257fce9fb59bff4faf118217b92e520584da2e0752e67afba3499ede6d72309c6a2e235038706ed828a9c1e10c56321a43ff78a1356210a0fdf2d1611972e18d0d3f8846d7c85e4d7f2f881a1138d257369b850237627baf862d2696d3722c1eea1af160af19f55cfff03f283e9ae942173426591e51686ca70c77af276ed8ce5e931c45347f36de1a4e2b013ef670040152e0edb6900addff266ca5e55095319826775ab3050b1a7b6a683b36dd7bda141dd750675e2b9e8c5ac505596210de154e51b7974d73e0d8fd0fc59e41051986bff873c4efad2b9e606f5cdf727d285a17c96f7dd03cfb38dfa3808d700c8bc064ec459cf2f57cdb6aa0351511a07add7ac5c03f9f6c51be3868f7418b1146c20075303e5b098d4c1cce45657262ccb084d13a6b4e0bea52a83d27076a868fb27f46c8376fb53cf3a79d058172dc7766a5f09cdee3e69d212bb2caa262de8685a6db2a83b7cceb0618fe7215143ab50fe54a4e7fd845544ff0a292aaa1b6eab2521bf22c937f0e649ce1574f6e9bfa3dbdd1c318ce9da56f2535b08376dcea58966d10c665ac47d67d69668f72063758709b979d9da13d0a546c9dc4c60d2213e24ae8825d464c42601163fd72df8a265f7bcf8d35478c769a6c4f7f65316401faa24836d827229fe1f9cfd37281aadaf834da098d00095f202ae5d3df857ccf61363ec8d52cbcf331086db672205fea98d7518021cf5930f61c5e9dcb422f64072aad481b297c14551a8cd972245032c7fb11277fbeeffed4f3aee36fed44f803da8503ed1d95fa4cfb280b7225039b14a95d988647f1974bfd5b6374f016ed963f09df01b216a70f28c19f7264034b3e2b0d298ca7d8f07ebc959b69374ece714074c0103bc84c0f2b6ff018329731490ff6308b8be757c79864766ec52ee6b01a75981abb08b507ae7408729478b6a434f529c2f86461e4e841c4d08e595aae8592e47f3ebde19c2037f51622732320501695dc749a58f3db60d195977d0edef25fe013d7cecdbed2619a59a08ffa37f909c9584b6f75935a0616c5824b17b4ec3a1d3d36c4311062c6a00acd42fff15173440d0782aa3c21655f828e80eaae57bcc7a7e978e26bfb3acf72ea633357cd95535b2c42d4ca9f9e44e25c0c485ba8a41fce2e33276b4a850772c52cd99ee3e37aafdd85344fa24216158f3f22e183a994ae9a9370d301a23472e7dd32cbe62ece6a7a121a88d72378877e22c03a6c416bbc8b5da7f63ab98d72809c024f5464f0c30f770719dc8dc762ea6da77f0dd9e5e833af344a889eb31a02e1a8c2c6e0309fefa8ab5a754c3ae1569ecb8dab1437456b63db35c9fc0c71237eafd29496fa8f508bb40ba289eb8db8a4ae8bb5a3425a915c8c9c2342cc1df32cceec29cfb00651229b241f18b37e047228b198fcde8773fd4a77d989482f0e827b591fa2f64a50324a229f1eceeca1263ad8c858359a3a0f47ab2fca762819617a53ba0564ef1ffe4e66b63d98014c2cd80d0d56dcc6f8b7805bf0f5451bdbb4c463ea3c950bb11895790269cfe8238a9063c7c99e8ef8171e81421b69727ce0167c483d86c11471e70be3a78599407333160fdf77e1eab3d5cbf6899e72421f61a0c51cf20d3df5d8c0a2962538250cf047306b580f35b5fb76fe472c6ee781f91304db8c15452c0de2750fecfd5fb0c6d1e367cf4639e51eb885006d7208bb4aac5f08ffe35078744f2fe2cb55970ba177e68daf1f92f6ae7104eeb372bd883e35d33afc0f6cd47b942281f18e9c817298853cafa7855ba5cdadc8cd727a52e08f25bad6093b535ef2ddf8e87995720995fd6e484423fe9aa5711e0f1bbcc632bcde9c5e6f94ab5dfeebaa1035f6f019de21a81266138b545d3dee151348e2524ecec6a65e50104f7e5bb89c1bf6887170d05142067c5795c0ec87cf0b8aad7b217477d6813fd37564ab2c533d66f3bc84be245aa85a095739f4157372e65f7ae16c8b8c5f786aa408bea860cd32a0b3d6caf7e7c9078ad1ed380a1372686c993ea6d7c4e258b80c2180c9dcb0546c79ca5616b186aad0eec34b69ef1f43490a1cde9d3adcdf920b1738abc6b7aeed51c272184e137dff2f79096f9f72140106e8888e644d6d824194158082a250cffa2904152a01973e19c5a30ff2397abe4c41de65966b771cc2a4f998145d6c8479a56741023fa9844750f4d8e83a22d2072eeaf2597c0669964c41c1d81a87eccac61c19efb133af24fa0fc654729b90e8d310b083f0b01c676608e077759ae3db1c5bba1c730ecd7d2a0373d048ac5dcfc4babaff17f590d61d27514f09a19eb59cb90e3c94b51d56d15085840809ecb0140b56cd210ec734dc0e3e3395e81fd954d011a3d97b6d12182c312b61cd9b7a8b332bd9e468050c0d2c0b213e2e7ad352aa6698c97132d62c0e99e07297ee301c7d3f486675289979cbac80be75cd1273561fb58877d30708fcc5d372104ffa7c59fbde243bbd0c747a20a5e1900eab88245e6286273f2e1391682c24de44d5f9c73fa2a3b0d75fa50ffe3a9b00ee2a55faad5e1ae88c29e05bd4f672f343a51e1fc6b399574fbac8207f2ddcb512b4ad92111b6f727a20575253974e247c917c8f826681c501709cda4c3bd752eac87a1caf001e48713eaae20f632617274296bbe2c9bf162cd4e08e8856b73fe5cd94c4ce6bc7bb113728175ca90e582fcc2ac71864a9219ce870b967411f38b4a720e9e4e8bb56242b980f310a03d72b026f83e433bdfc6dacf07d48849b8f10598f08ed62fa78bf6b3aa71d86729ef91bebd0f84b46e534f95d9173791c2fb30f5fcd7b1db65e9b62c78f5c0072a490f2d1300d41dc897fadf23b04d8fc138db05ce76901f464e5f4f06b9468729ab6f2b859f5607a982e65d4e4e73baff57f3c19bd3711f64b80547ac9c308727c01ba0c8792a1a49156a7821106ef8976dc9a9ec1b09de71958f7973057c37285ac90385bb4471acca3a50d7ed9213ca840c3da029ad453738881f9fd7d2472b8ef7837356e2ac5a6292124a7cc55c34414e689afb2106ed25647f35c17e1698cdc3e22311ff142ed32fc471f2c9606ac0b6b0632184ac20cdde4ba09c823553964d8d57f0c5ee733036b44e8290af828445dfe0c5e21f1792c7e73e200ca30ae3c27104a296b0867ebca280cb230e36e8dbcfa23ba5165e914e08b1c365572534be25e383aaf5f4d64973cd4f613b94d0fdc30260477cb2b183cd35ac5e30073ef46a40379a6ce0c42906fb7dc8dd9c08652eaa5ae2db39582531f071a570b5a3e9f3192e3decfb70a270ae1c7c9a4f16741273a59176f3e1a6b9f7130017279902db5f9aefebbeb5a4edd828a8754b07d4e18e9e23ca91fb4aa1f4429447218b1a96a51c0c8adb5a225c958e3ecad295ae34d0dc6da9b71610bcdd3962572d1d69a72a8c6f556f33bcf9c1b77c611467cb1ff006644b5579fa957bf1e3b72e852d7ede0bbdb1bfc85d66d58904e46494c4693928ca57a1e2a163ef2a9a31c08452248191b235134f8f7a1337ce8bd4e41da0beb876db323297478bb56475762c00f7ded4ec999da506e8daf6bb56b20d9ef1de7d3b42194519afcad397e723948dfdb31852c24befac180dc6420b3959a051801767cb44a46c5a6e783937274e1c3a82034767f4b3446c519329056aa87ca9ceee47b583bf7ed7e6829187233ec1a1200164f6a6c3df7b3d07c2079489a0df5c449d45661d8c32017e24972b1da602cf9106976343e539ea18ec25b137de536e1e5bc3c42ae5dcd7a6b1e728a6b3c29b90c16b1322e3101138d56f4bc851b588e30a9178804e03f79ca5b726851688347afc5750d539cd79ca062236c09a32daf475d2ee6b2c02a53453872f1e1ea629938a335ba6d1abdfb7fe544f3c9f1d79afd669da31fa8a015f82c722a932dbd1c651d0edc1f961b0ed6d565d74cf48cb9936ac527981c9fd8af431dbc2699105502eaf351bddbac9a38c83a9685f1b4b4f89302ed09e8dce6e090023b9a46930483e40296360b7186195032bb2d89314838c2c4ca9af102310c220e64de18b495e7bb7f32438003eea240a93f89bb34f09e1f49a3e0a61b65b79a6bc5c1b82deba68ca0404429ed5b4beb375c0bab6f49a109f8bf43d5306d36e6729d0adbbfa2d199cc9309ee013d520660cc3820aecd7fe6587c1f52235d24a97272efe02d3d7f3350470a8b7b09557723c649e2c3a71cc36233b305f6cb779f2b3e1fc00978ab2a137b5a5bf37c5da4e9bae7de9beeaeba69b0ab1aa6f922e7211fdeafad7a6bb0f808bbb005e8cbc16cce7b7b726b2463a8a980b63d360d46723e8a1552a82a8d86b461e5181be22771198e478ca80f1c4411ed54bb344909724a341e75095d8b01bb777019d26eca17644f61c70b13830e2b91f8a5c4356a5fa5bbe4bb095e57da1aab5d2285b2412dff77eb28bdb6e82cca90b824c18b03687583eba531de21d6afc2a388b70fa7f460f6f8c3a71143dfec95dc2de5684e7209d3cface9776b7ace273319b968cde0a21f7aafd9d67f284ea064a0e41a1172447b27e80dfe251fe3b802af393bf9e48de60ae548752dfa60269789bb3b6b1800d039cab6fd266e914da1301abf3d851a6a04d62608ea37b4f538d5ddcc9a72d3f03a08d5fc309295b1a7ce168133209940133ae79cf21551f5d4789ee456726c024a5db33ed89f1fafb74225bc57cd6e7eaea8cc006515b4c1e4bd8e02d81a54627d2e05742401e7543e36e77b8369deaa6911a2e642d3d3731130603e4072e802db133bab5a0ab38fee0cfd601573df4e20d6e92051b5f34c7904b4bc1115753e96a0a014fd1eb87aa6a3b16a4c4c1db5310a45b9d0315670013a3580183f2cc859e8c5d2e73d0f6ec6762692048b404c8c88103c68737be4e9d9bbc17323434e8e2dbaa46d01b4715ae874ced0747476e78bed30e4c159af0db0a01e4f5c376116c3ce013e8e7cb12e7951b12cd556d7381d582e332b5831c55346ba7a72c9e46c8d3d0486315c875c1af2304200c0e48c30a4bd744fd1f2c6b575978572572687089e8678b865e45ecd58621933d4f6ff1f6ce8135f745b10de9a37ba722a60654fae916ed44e5637adb1db1e396fd6cd61b9b341ee59d6c85e57b14234092c4e001b21ff273edce64975368d2532a2593f7bbc3b541a9ce192df6e417267cad783b224f29ed907b87f3467ae84a578ff337d76240a99a29fe126eb7d72ae2a057d62360cb7b3088d756c56fe063228930f956c7c1bcb2d05162a6ff17263ac4ba563cf50dbd8c92026a51d234a96b077f1e7d02782faed197b14f0750bdf578b2d92577a44d5bb2846d7809d31e7357338943e5271f92faba093b1c02b7aba70f862cf69c1b10387b1ade0b9be90f60b1d3645cca694766968f0ac601f25360f425c71f5d970e4a3b8a76434c81ac4ac081d89ae2ab63fc033e999e37282b9a87f5873646ae34a4ad0c16954d2262b2f586eb8c7e61af8f54e9dab3272bc10ca05fbf6dd3707ff6b6e05e3c4f58b4f2eec5603a8826a12509a7553001614e7251ab0f9c00dff1f3f55cb7468c155ed466852b3ced3996cdd79dbbde67223197d98b8a2bb0db2153565ae58cbeebd719366177a323039f8e02e537cbd3950c1d2576284d9ee6b576389cfe3020f2f3ab47da9797473a537599d3368133c59d3317a17b9287a48d66bccfdab8b1c9cfcca5d435626522586ea9e979991729732878752d8dad7a4d34d0bceff1023e036944be6d99e45d6d3d61089bce77266c277d70b632e30dbf7f8be82b19260e0e05d526dd27c7becc911fc43db1c24458f57768824544028701e78e2a5ffdc327c23d2ccf382bc295c90670491d67223b8e7c1e1d09e0d7cfa67541de9d7468ec2024a0b7053b3cdc78b1e045eac72083967966f523c6655316fc99e4d63d8dcd18620cc11ce6843c9b8718fca6f2fd059d39e32e6ee4c27b2a308e925cff93de09d169f8375977a07ab78831f697246116c0e873cfc77209c95c08f645d68cd315d0899633d7cef1f3cd134be407292f75de008bbd2eace00fa20167447990f162c1fd2ad823231af18d63625f67263ec0afee282bbff2994e22687fd6512aef9746e5308f2a575451d7b5f98fd72cdde0430610f7a7cedba517d543594107ad377191e72f82a192cf7b01a64e45a54064c07a3dd84ede35bab78a170abf3f7e58df8f75d230d29b5d6725ff9ae726eead81347a40f275bb8e9edd058148e870b1f206a5a33d6f48b5cd23aeb076c7c6256e9b543f3ba73671b0d29e6d346536fd5de198ea2a69da1dac72c08dc7207372ee270d7f7a62eafe933e135c89ff671ab7212267cd19677e636af4317309950621b108847c423ad47aa47e1790e12fb95662cfa0dc0d13a8a121dfe49729d35040ff1797bfd4db550a00eb449bd87067cb5d5fc2615e531e25b01846e722f8bd60dd595a3966facb5e4b48fdc7c520cccf229461617c1fdba2230c74632f1856d4334a513cd31c66981f93d4f24799e57e45778effab10ef43643bdd053d6e4eb036444e83eb8058cd2aa946a92f16c90292a3d4581706187d9c4479a26684e50c34447844f5008febaa763f96aeb087c7a940b9be3abd74eaacacd241b26f16aadce582b9c47af7a3e06d45ede6c0c4c638bcc40ff35be6087767ed9720ac98d65eb162ce5260a5c5fa5e2a55d7c4c44de46f55aee9a5c48ca2ffd315539b6d63c1fc0948caacf973dbcfc5f6b0066cb1171b6041ead078191f3c2a272da154c8f65c7ab47b3a0ece718123cdb3cfd4ba409ad248cea192cc8794cd90dacaf3fb4205a9b5b0ffe40c2b42372012b03ba02f7dc110d91cd1c3012e5a072ee39b5051648502a2d45e03b9c5da193ca760dc2186b978ee25b5c411ea4e57229da793069d14052c356b9d9106142e2ef1f63f501588ef65bda4d6ed219da16740cb7c34b3d1897872b668f1764eda611dd89ca9907ec9b62aead172d92ca72328263034febbaf4380a36baccdb0e41f9d32c4ce5b72854cd762d55cd681b725522db3175d8d8c01e1a9a313f3c32f6f02af34903dd71aac6768d7f20e93d724502b7190858b0af89303fdb02c5ede1f07b9cb1d93c406af9fb6a8aa84d297215d752b207484716407b002b661efd040ab8dfa7611f86b5bc8f43adbd0a5f20b9e27a515456d7f41a42354315b86151ae92c1a9dc0805af141353e2c91a6672cd228d804c1f1e6561cba8c68155801d36a4b6dfe1106c7f7423bf456e677972ebb3d4931af15fec5513f3048b2afa4078e02d37b105014c82c4940fb9e4ad72589417d3f210107e3c79041fba276fc2b629941ab702b63aa1217e5aaeb73f5d7555e756cfc6a1be1b8f71cb39ea5f23317b81e215a948f4f396086575b2d672db81e45542fde03bb455867ba84db8338479b4aa34fd74f245b03afeb77a2f31c85c82b54ba63a30af37493bbe426c7e5809068108573e6f454e92ccf3f7db727b5a0c89216eddad9d53f8c8eaf97ca0997e18d2c0324a07a2307eeccc480149b3df744163563980b939f1b31ba0a2f538cc4430d85bbf060535f6f440efdc2a71cf79b8bd9aa1cb38d03ad24d27c496cb84052a2c1bbaf2eebd991be001193ed7cba60f4712c818261fa57086e42a5074ad0280903473675d920c704f61664065125a5110db0852e1e817f8d8be0746d37e9bf11eb8772f4122d0ec7b2ad104e3094647864b347f3d6e88e939928555ce7e06f2d1580e2eb55f8a039865a74cee3b12f617769d3ae254bfc9ae8168760fe6577bb83b5257d006a8f2b9e1b172af99b9969ef0e40f44b6790f0831ca74177fcc6e06399c60f0c9492cd2557662fafbc9675610f3f7a616ffb73aec3d132281bc5723ba612c6731d0815fe86e723184f1255a150cf60010a20781d798a4a92af32ebf3577b033d1cebb06367372935a6f16da134919a965ffc29bf6875076a0abcd12c5a055422e0859d6a952659dd545842dd67af0257678e2bc237f19fa1078b28567c25c8ced892f42f28537a6bfbc322bf4b3c3587f40e0131cc574e5558f9bdeef7adb147c514202d4e872e18dad08ad5b156537aff70ef2b0e2e3583040b8719e0ace2cd39d6befd3c472464db29150143ae52d3564dfa91f44650d37ed36e88dca4080369abf44b0de0649f261dd32a8d6c2d3b4d8ae9888e630cd2bf994fafdb848cd61f959346a783c5d08dcdabb2648cb8f0f75e19e7d262f9f13897012505b3fc6213c0f3431f668fac5ca1773f3977cc518ec6fc59501e9b7e4c90ff07c24d5f63734a34e68257264ab4ac172346d6f9d335f7ace118053134b3d7179bd71a0fef5e040523f787261f649dd5b850fb1df13be5938e63a885bd38fff11ccf09bbe44d29d38f8e300b515e2d920a7e33fa3d91016de1bea125c681dca2035d31ba5c7a44f0093d672c678a1b2be30adad0ee888a9aa43769c2966f8bb30c6d516bbda80b2f2507238a5921fb0adc118c6855f8fa227e23241a850d7a689ffbda5d2d108859b5bbe727268f125c7e3283f9a683c069667053c245de34a0e34333be2d6d34fb0b85361f305e5c20bc7d651b278831c43f8a4442c9d798c5c5886dd7c053eb1ebe70f2d2ddff20ed874e4e1e4fac204a14c05bd017ce7ff47938dce706a1f7209dfae72d7a797a45f1075c85bbe94a2d471befd03fd6eb9c150db16fb8ee1d8aa51777295456286fd23f122b4c696a6da01be14b5242c98628dfecddfcd5e022547fb7289f001aee85ab17312707a427f79c47818daa2f48964c95c482d494ceb102d3efded264bd9e6a54bec884cf1bff125fa5e321a5d440c7d3628ee55ef333e4842d47415c34a29df9d3b310fc42028794a90b3dcff9da3bed63860050cc1cc8472abd214c08acc9c6388cc460fef0b161011082065bf30cfa1b3985a5233cee7614177fe0731d7158b7d7f37d368c378945f3c44795fe138467d6e2523cb638d72a517b01c7b83b76480207d063ea5cc64c5a43a5f5088bdde15087a998a1909722c30382fd093914ae2f9617e38c59d169673d8c6f988b880e62a5153083b7300bb5d82d10d311529fa29c05baa360ae57be8f8f3273cd6e8eb838d417f87c572f6f68a6c4add5a3798d47204bba7be3f760d8173440e86634d604b78cb0d4b72c91ad3150530eed04fb33ca8377f43c0e3111ca5db1936c9c70b2692a044501553b7c69accadbf651bccb4d1ad5fafb739a224a8d46cbc533521c3164a38c772b3a52938aa03bf0e92a75cbf685f01a55bfd62dd11350f0d94ef1a102af6b23d6963e7663f15f38237bab2bd682d64fe64011ccdc1dbf6c5e2c00948d5060e72ed2975863ecced5d6d93624a31984e402880ad12f815666778779daffdd84972782d9ee5d37a9dd65c8317f7d8e5fce0f11a8e1ca6341ea578a5e22a4af13d21feea4f51f2c817738bf1b759612ac50a8f165821fc4289f0b86461d3f908f20ee935e0ff3c379ad26a4ddf9066f2e7aaae1536be01a9d6dd43ae2fc143967372ccc4c137769e01855ec279c368419d3c7946f3d4894b631e83baa70dceef5e72b60b458cb7646e1c010666ce2264bc1e747b8a208b23c32eb9000ec15bf8697275b42f13331d8edae64c58c346a0156a7ba7581b19d5efd6c38a3b8e476f3372cfff8971840cd45af13c672dee781c6de6fe1b0dc1acbe2f593968f98fb3a8720a8e0543a70df7c385a1d5c379ed397a8d3399c2827f78c3d7bafef886558872bb4c7c115a60b43dd82a00458b02153464f78ed2e0075dea4b7c2481ffe626726b99fd5eadcafbc72ddb778d38d036eeb8bb73b3054a33e99f629c29bdf97d720079b818d0eef0dbe9096e232f5b8fa2c31e32e46ea97645eef00e84bc5fe453dd27174f541422b8812c84634c2036f763c549d2a9d995af80d1ed89e3a9cb382f434c7902860fa76e05dad271f6b37706a4203e605f143a7fbb1270c80c3872aec2edf4a9c8cd6a135d988dda57b4ea25b7812b8782eaed01702724eb046503a6896627ea1189fb0c7b5b387007c71f015d9856dcb787ab106324cca119b916310dbeb83606d714cad0a4a8e9117732e0502da0048cc07e822fc2e2e8c11e7234791a673f953e8373563c59935daa5b037161e0cf77b8f1afedbefa12091a725322e9d80c843685de37b0a7a34fe8edf90aca931c54723b66f1fc83a849a272f3d98f7852a1f02ed92c1aef9c1a5a844917b603ea263fdb63ec0e8e7dfa347293356c6626a2c03f98580fe3a6d9443a0a0540a252f24fbda7cea44210a352722d89ba84a47377e656e426ba512093321db795aeb255740033b08e5f9e227f3fa9710ec9140a0b9664e601501722f776be74b27a9b5978a2badec856a794dd5220fb3b2af02b33fe20a26b32683b7a9f5c091c5cf43220c6aed93e5f68f1471b50198755cee91865359d85245c9609247fe07b66c45bfac2ad2c157511e7ff06b19f8b8ca960a470ba60188bd84906ff8a4d7996a0b3e27fa2d177b7cfea0c72b1c115315e7e282f255c6f9afdb10330bef182a1ca5777d835ca5fcf62cd9b1c06d096a342097105a972c637f97fb3ea6025944ba7e69f40db814b848a43bc2377f4a1d95135c8aa04b64cf5fb5400f04676b6ebde53c0aef3247806868a6f72d9f5a1e9c29e24e25d8a592ddfa0d98f9f3f8bfeef93893e0f2ffa45db88801c8d8148b52a5aa9558ef825c187d3ecf6146c281fd7e14a87bdb0ed1702a359044757e0d9cf96193a32fea74243715a34fb948cda7ec0173c85f44ace235d1566589b631dd80c1dcea17c290e3d578e9eb0fc13aeb9a6b83afcc1f27027d1b972abce87ecc5cd8142d27fb5090d1f885431516ed99ad90d6d12f6cfc23bad3072c3e395e54fdf148a1fa651a4fc521a7d06fab475f2f53e060ed74a33b803855ac2db0ba14f4f829e9b5372ef49410232b40c4e51ad75b5d95fee927ef0505e72927cbd433c8465ca3bcd0905e958f1350add504daf2e92af647be559293369722916c20c8bb4fb51e390f692eda189303a460c752a0654aaf271081a9155ae6d386731e037cb677331ed7b5893379fa0da2d8d8f433e7a6e12010f2ebba84472c9424d7df6cced460fc672ff926f7b501c807fa94fc10b0556d57e6987c5e572f8dc3c817ca3cb1c72cf458df18ab1994c69fa8d780a776a9d4fb7efba22520112b02b8933de1a87b8ddb1e167d4b19ec77cc827841ef297f6cf5d5b10942a4d487e8d01f8557853b30b7be97e9313a7e3134261309a3382ec0a871f8386bf7240f78dc82ff1a938d8c0dfa27e1f772914a40caad082aec2dda818e7f58cd672f335da207aba950056828d9aef6162766a35cff8a1964b16ffe301d79b15f272ea5f8b62d1d0fa57f564c56abd8ad401402785f9afe6370b0d5ef5b40c9a62076a80ab1fd528165066352e44cebdaf7f654fb8491497ea469aac07b73f985a7272cc4a39f5d44c85795b3ad92db0862a0e56e78d8b589476db66673aa18c62516d3117e1b3ed45fa365bc9e97acb0a8d94ee156d54f5d75604b258db6ee2fa724c7d25c48559d5900d5f447568dbffd6faaca0e773a2f701853a85199c77ed00eb35ef3b52c2c1ecaee474dd1a7cbf0081db05b1e6e4b2216e2d6d86d0f490237575b64280cee8c3e4cbbb8942d7383ae756147cb011a09bec74c1a7f1f38f729ea5c29e6e6d0edf3624bc54212d0ac3f04196128d4c633474be893b2f28c67208adf22ef938c7d6ec9d181dcb61ab22efc88af795d26e6cd00301a1b9b788317f9ad11647629979be5f3414d7c2dfae4deeb006beaa284a751951e044c39c7250ad6bfa22520cb92cfb081ae2d6ef37ecb2b6a378a38d790145fd5615eb453e1e7ca6a9c46c77c497145d5729dd8e811a3f6de421aa24bb26ed85df1d7afd2d3a42c10c4e8b0e83a50e72a8aee773fb4df9ccace88535d8da44bc698c1ec9720ea0b9ea29ecdeea862c04475fc48255ec55f512056dc0a1ec471bebf532b3722d38e3f5bba4a5e4e28fb7429d6b819d353ecb16da57ba615f575e8c5b77f92a47ba17c8203ee9117554538c5a8274e10c4f4bf149dd3b61c14379fd9a0be872dd43ae542f922f1dc66007fb5d861e88b3d94183fa6335056428de06bed41b0c53727eea1e89c9bec0ede44ff261ee1f82315993e35913e90e9fbb0d2259a1303c4e1828e3cc60571ce841609d508bb0414f066536c9c5d059e3a0a18c41f3727cb55e2dd1ada8689ae0a9f67569aa783212b943ff41072d52b637e37bdbbe3e2cae6e70fd82944ed15587913541f0bc3a62d55bc4f87f45dfa721c9882ed5728cf8f26c63d92fb9841f32365276a14ae026b0d51c94643852635884bf02fe728e4fbc6b74d692c9db845e81b3841901fa3cc3f4566b29e84dbab56c9f1b7c201d78f956ff826adc522f716959854904f5ec413af98fec17c02da8aae506be0c50919b6ac1368f92bc8bb019a66dd7d7041d84b81872aadb65f4d5fabffd7d635898febb5ebcf09066de73a65864361373eaf7bfb1c10c37322d3f337939dd72142f668dafd377e898bdd728a41bd28b781d0b5a4a8b6a39626f7dff922c27723ed891079c51f98ff12e3bc50f5d765ba8a362560b996d074c2c250177c25c724b5e173c89d4f6103cf60286f6d6713459e3e7b8906ae25e660273791b9937729aa6ba585cfe64e12bd310ab7e2930929633bd5c81f5a1327eba4ebd4807b072177665a9a96780299274d09e65336dc3a66f3f0c6005c4fa8013f4c4e8031b1a87d9cad4599d4da8cd6f3c58f4bda976f68ad77feac2cd0d3be6db0044452c72f2f7126d159001d18331172d5b49443d7c11ef5071c600ccc91db21abe33c024d7e382f9373a90106e13d9dd46fa4d8d5d56a4dccf6bc0076f931cf0feb4c37241084036b75e64ccda8cf29f4c82e5d52b3ae969fdd01871e4a5bde5e4ca1e7209afab030c5e1fac24b362f0c595149425a7027960b5f06623628aa7f3953972ef5cbfe8ee034a161a9a3a7cdcde6b1008630bda04079cf55439b4385b11d772579dea76e95f1fc0d56b515f70d40721595d0fdb55f4b2df0f23ff2c27a1ec72ae90d750fc7fdae8870fd1c6bd91f0c35b69bd033c45465dca5bc7b944e49872569515316b6b3c66a980ab18805f8d6b36411aa4dafe34131ecaf1fb0780687203b370dc3a8aadd0241927be075fd3804fe62bba9b578ebd07b770d7b0f31c72d79b3dfcc7ab66d069117b02a6eb9f62170086d279cf977e0ae17f346a92e372ab9a0e55d88486d63e2c1487dfb4268014127645fd709d85dd82dc4fc76f15027ca9b305f73fce7e4912ca4a0b41cd443679da1f1eff8083940ae9111afa3672bce8146d3eadad56677c84c4d25808a2f21ffb9148c895ccac663779a978571a905aa9f19302bd1067b0ab73b3a27f458e825fe01b9beadf6fa7aa366d089d05acdd78f024c5332724df8c9c0593eca429411c8e7668435aeaef789ef3a38b72d0c819e3269f016b5533861b50b058d7ca20f4ab5fb0a9fde299e871c998e73b0c79996588282f49a7131092d348758d75984345c0923fc4ed2faece1b8263496adf2cac1d3b946b885eb2c6b5681da4da6cbc4324d21b50d413a1a9703cd0725245ce3148d868ed41dc0c55944d29915eb8b607bea49b7af19938df60baa70fd0646a21ab299f52d68f3f5015aa7f3967c7e04f9a70682331b014a57995541a7517cea0988f8aa9fe7186dd1664d79717345c82e356dc23f2c24ea61a91207222406540bc873644d654472e111fafe32e698802a954e1903f9701ee31f94d4c063e0bde0e69365b361250c08e6ee9a8bc5fb46fd4b1c0c58fa344d4f9452b2ac48dfe05a875868de9384c264a60143ffe798c67380a011ef8d6bea4bab81d72739e0d837d0df34e0c51ae3acd5b7b3ddadfb3e17856f6937b7d4fd749b2dc72f21048020b659befd96f3210004b1b2efb0aa7faf7a663845edd12eb8cb92f56b53b8243da24de5ed311bb4f9660726c7fbc8b322d8cff36f5b05d9ffe3bd172c514221f7f852b137e6a41e8d1bebbd896389c650aafa5af4a5393711235b57298d448de63948f89cbb3d41cbb8d301d7bb714ac119cfafef05febe33a8af844c2c0844fecdf34fb8a91e94fe7cb23f034eb380e5497ad7bc7edea06d2d097114524c18f7341c3c0eaa93a36286af794f6be938946724ff5ecb7b9f19b7a3072c6c476663f7e0f9fa44b9e2b351b28105983ce3fc15da8c93a2efd0122562772b0e5e1dd5575a82688d8251598e080c89159debc9fd63acd506725d7a72b5b728beec6ca4ae3b53e82d54cbdacaf9d413b023960d26aeb4f76cd19223c1944723e0bee5aa91e8be6d3ff78982fcbed72132d232f695bfab4b49b232a91d2f572f0d3f616bc27abcfd9accc69f22d591e7f41c466e2eb9e2f17cf28b0ec35593d79e93936dc0b3a264616e3ec07befd64cdcb358464ee7da2c42c84c5abef8e72a0dec810faaf884789da468a814487b3584eccc650cf838707b11b917f4f3e72813a715812e148917115f3b13b644586d4f68c8c9d2ebe2f9fd3d0989c2d4d51cb7393bb111f11e398393c8f37bfcf9360d829437761873fbde0d5d5fcc7f46284368edcf302c5d2f9bc0e9d8ac8266d4549dc5996cb66c1e86c11fb6f4bfc6b3002ede1e994180ceff5334f40c30a5f33fff22991afb35bc637908b4d2ae752c2113b11df4a4f9cbaf669cdcd04716f2d878c3a28dc8f33a1d41d5770966072bfe32b14fa33a1b2447c3441c1626bb43f20d0d95bcc2c0b2888a0ebcc4e45369ae4eedf9a52fe7c576f08f3044f8292ca429658ec63bebbeb965798a4f6d0359439b8fe3f3491e54434e5ca9f672d9a72d321e3ebd0e3597ac33101c8cf85445d5712ff4b5abac55a56c8527e62162ef70e5d6280d9f53af024f0759e185601a24e159d2285405a11a3ed9944adfcf08a205e8be1deca25578fafdd24a44252f3f23270eecbf9163bab557dbcad1fedae0a49e20c4fe975498e109f44b28271ddf6daf40fcf9ccfeb9f2e73b5cab46fdc8189eb4f275383b2130dc3173c4c273dfef1ecf66aef0812a80ef7b9c0bdc151ac04a989cdbcec145ce9a0f9f66714a363cadb14d2ba94e5a8bf9114f7547814efdf603dbe86dea48f47538ea39e7296e5a3cb498bdef21f44e562ee4241e1c3c8ad4a1cce891304b0b22dc9659c72f9dbc8b52af20968868e06b590a78841d5692de5471f3e26da888ec510fd0c72e0a077c1c273ee2c4a8d6c87c16ebda911b3e1d52c4efc4da7198c3c5edf452f1893c03cb2ec2e66e2483155eda177fd54ce8268c3a13421d9858eccef5b3900c79069f4a0421aa5b1fd0d086090dc12f7d6af4c91adc6bb6ed2f72c25bd847219d41bda065b3ef4bbc1258bd654a333073cb2a908e5a7f3be902b7f69b3f6727cde770d50a8e195cfef4623e7d1d880d1cc1f3471ab0908da50d3fbe1e1e560dd426ce53b4d9ddebae3da99fb46dee19520000e05991429874e7b237c79c7727e0f8973ded42e4b096cdfdb2a1714b9da2892254af3b3ba51d67323e982d110422d2a81ab293582a23b9ad57525da0f74391a108f4625da1c124976076ff47206fc24d36016a583b5040ad392b90146615159ed3b6ce06e8e09dfbff4df8472301bdd7022ccddf1508f9a41684912c9b2337fbd3c45f658af5e22a657e98b7299a483a191afd3f359c1b441a8a66c797f332a767cdd1a683fa5ede9997d82392416c13a97b4dc2fc42a602775aa0f934d7961425e765a1a6f49ee39f8a8df4e46518adfbb91b7b17436114cf172036d707fb82d21fefb12c224879caca5772caf051c6ce27d88785f0248eb5c9ccc33bb87d2e9d1e6ba9748696b72fa9b8a3473b0277ca9c393b2e30e6609c2ecb4fb36fcee8d31873ca7f4a08aff341e6a729bc901a65c99327fa3bf5c178989ad5e90194b68f897c8f484ab922a93b1a8722fa1ef372ba66e53aabf3ba57769da09351bf41e461c10c9efbab9fe2b27b472b96217784e25f6cef40cf5444813b76624299aa659263d1339c2080cc3e6485e9163e8b9b0bd1d9932729e7c3822fc7dc7cab360f963463b5fee9dfa1e086b5b074d420fb9bacc6a40ec2f40724130666dbad29b5a508d276506730a112785675d7a904f77223076593019be1fc823100ab2d3f1fe4cb94413914933b6532d256afb058e99062e4dd3083f5556580dd58cc19656ffd00a5020c00cd12ad2e7721325a77341bb78b4677d3e03bd74d5e71e3c7dbcf44da70695304ce2baff5a35aef31abe0687d28cb2209d1c473ab51b96d6e54e0d24379836144e6bbc9cef72d60dd5cdf8400ea0a90ba9521645b276157637965ff68b4e6bd4ca3673d81f72a9e5e3e4c56bc494052789b5541eb11276fc65239785af9a8ea9b41177633472d8456c46e93733fef9b10f443c6dac25d9ffcf470d014b5794c38e0474b80772ca743cf96ba45e87e7c9af75ba42056bc046cc9d8d9130aa54acb2dd03ee4431f3ee54a911294b9b0a037c6bbc865fc85c2d910b706acbf5c76650792dd5647257bad8c018e9dfee2ba2a53132aaf797cb2e1b3d9799c9bfcab3aa26ccc6300658c1a6dfa8e00825cde7b28f944b4d1ab48c269360dc8da8971c634e1c04e4728c0f1cca83851a86a5155354df1cff2c388c610c127057b9b92155cf2655aa379f862095054b273650fe959b4fc96c0d654f4457dc979577a1014d1a41181309c81e0b9c85988e9322b0fa353b849362254749fbfd2daa57784ef746ae9aba72406aacf1fe03f91ccd61ca5ffd00303d2c375766701baaf3136f396f94fe783f22863f3c83568d1ef09042f37d9a055eceb715b176230c461f5a664617da3a729e77407f47a62d0029b2936c17e73f137e6a002433c216731e58d27d4ca900726b772abc12b127fbd8f2327f4836bb348467ae2f4b9f4980937908485dbb924086926b59c9152b6ffd4b2b2bf79a2ec511e2ee040e7bfbed0da3595017481c728c2a2743dc30a8a75f3319da7a2a6b724078e6bfdf612f7ac8c36c6dade0a172f910606f64e4895e43bc2d10b8ebf3199648f68163c475ea109b31cdc216e172747bd2be7842e981aa8cd403ab5e0f5f7d24a4a9e803e7dcc048f41ff34df66088428e49da3f3818fc2690f0e382ed37e53b6c06803c419ea3525cb173ec43476a9b9836c4903c07bc5bd3f74c3662b3829d6551cc656a0597c06fd197c5ba6ca25bec1e5942b3ea4a9dd1137a7c9107463072f2138438c38f30ab4f9f2dc320bc3bc7cdcb20cd01e1d46a1bf91fa14dbf7d76a07ce36e63cf927ab8f123d933aa4e187b042cc142433ba1661efd6e9e63404a91851be4705d345753afdbe8724881733174f875e432d8fa292d033b14981d20dece67cb395c6c1996748e8e3a75c06aaa615969a35b1f3ff02af1befc436cdfbe697414b1c776f7fb999380725240e434723b1e0f76350b99f0dde820423c851bba71c98f2da2f670c58b36171a7b37882df9b74aa97e064e193570d34508fc8b650e70fda87594dfc23085723d81cdb600ee5f2bc2ca95cffa0eed2183444424f99f66e417f97ddb6f5d4966da2b2d2bde8def78e1ff033a396032aea2d8613ce3647a7574731a49a7781c721767cc13142504175b854c129ece3a13c75a56fb734f247225a0f929fad90a59f27f21d2d8a28c1d6dbaeeafc1547853f508319e57ac116118ef3a4db678177240a1caa36536a0e822a4fc387610ecf461044f40a88090cd6ae1eef4383e007240bf64adf021fad442786d8ce0385cbc9eb8e3f31fac1fa30dfedea596741b609d95e7c5e46636c3634823afb4c71002ac342c8a4f6c4da4bd4562d39651fa4a93753f470db7f82aa5deefce98c3d6d2a079739a9d1944992bd72afbe5578f23a445c8640be3ab1f5a6f7a0c68cf3e1b822db8876a8a9424c91dc6e3f80b133c3a41c268ce845ff0e859ee345a788f80ee1edf1faaada7425833d4791196f93b374bbca35fd4aa7ae684d403dcff178f3da81437ab3ec772b33428fc226005727877d8bd2e8b1bf4eab8e2413ffc537b62ec04deca324531901445ef0787376f4b61b48a5eedd8269606af8134aacd1a635c07bad61e643c5366396d95018e3cc090a70c127ac73d993c7984f87552f75a558da539b643d5d187ca4a36cf5f72957da517766e1d3b9128b2d4aa48fcd5eee3c66f37c6caea6baed3cbdf230772883d86136f4c689dfeaddc1dfd0c4abd15a917ff8c957c9f6c624cf515d05369e18b38299bd3bd68245fb8484cc01fb655c4ff583579dfca3e84a5bb22e8d172d2290615fd8119a2179f2417f83915fa9211782abdd60e7a2c401e68bd134072feca687ea233960aa19c4c85ef67816303d34c75ff5af6a987c4614d7d43f30d6c94fed1b99fa2486bee3f3262861f0602d05d7e502d8d47ae81b2cdac372872276bee255ae5f5672fe8133dff2386d1478d5d27d70243b2fadc4370cef4544978676bc2e5b3076f1fb621ce0c867b7d5e99f7a1d275ee4a55f27b4885799172214b4e05753d4085fbcf383da03c9bdb9c6c956b04d180261622159621c08519da4f5536e46236629b6c64fe2474af68da4182ae278a5723f0e0b16a12b42872472613b227450e78a847f6468b2543c726398e70b820cbac58331619ac505d3c628dcc472f50b6931dfd700a6529cd6ceb4aa97bc54577b9098cbce6f4dfc172cba98eeaf22ade007732d5f1381986ee16ee8c559211f340ed46814723528772d5a2a90ce6d7698ffb12298da2abd2419be024e899a0b71b3b89379c53e7347222adcbc2fb1cdb35783766d61e1f0eb43db836ac8c39b1a815e573d443e853126606f961a3a836b2e702a7090ece9b5338bf93e3d35d6d2ac6722d078d01513d573aca124673fd0a78ee5feacdb1c695448517d45088d90d52d68d9b41c7085a2a46dd8e8d6d7029a3843f5a5f1031259e550eb3497bf4eaef0c58cef23be47226964b36e08d720e0d8d018acb83574ad41938b7ffa9e4138812a021a570ad7243cb210c7ff21d10af2cad8267a74847700dcf5a3a56c39bcf151d52ecc04c727fb43b0baacdd0277f978608a768e418dff368609b4a4a25400b3db19765fb1757be1d780a8c1dc9475b5a5c0b4304d9950cbb083edcaec8b87734d6aa06b12d969b23f934c2922814db20fc7de0d1e5bf7cb931bdfb5bd996f159c5da6b2d72e9fe5fd024dfe9f0dd98afdfcc2d0d6e1b90b818d99a6d1ac4510db41c4713721edb96063ee1d606a9134830eb06a08f913f9215504351e9f11ebdb15dac2872c099083025e43dec7458cf941beb60e37a3c4ad0d56c7a3f38896d7f2d3563724d4bf7d0a79123938af071f4693edb94c1344f0fe3bf8340d0fd342421998b724b7f5a04f237d57204f77e4b2749a05a7b41b2e1bcf1e07eac5706f1d8082172275bb046934d46bdfd497e8e2d8e86dbdf066f063366d7909a3e11cd0cb56272c1d6907ce6df938f316636be71456e2a3fa94c141256be06567255779b7a13722769a1b7ae9be9030524c01b4dadec6180d24608afd83faff3896f257420ce72af8fe0ec3fc0e97e215c94227ef46390dd09109256ea211da4eab9a3e444c61a6f5f5b1a78ec7f0d40748a8125974021c090abf6b9cfb24529d9df8b96afac6bc71532e719c8eca5b8772f405823488a99dea61ef71b36363944c9d39d17ad726817eeadb15b95f90fc7d937ec0d04930793177e6884490b49fe2aeabc3752723891c38d888240ff4ecc02875bf14ecd4009fe1664027755bc83fb57632eed5b4630259348049b2d664175d9dcaf4517156a9a9884eb350ba1727ff60fcd8372b1dce6cd3371f8f029c0999ebdffc8d0446473a68cd83044dabc0e2dd4d9e17292db74b84d552fb3d25031b6074b5ab6bba4c944ab2c9d8d5f31f45165cef772920f32d6ade7a58752ab894eedad62bac8bb8e921ab20d63f18571774987c5123d9a16c8cd353d0cc62e40db79f7a323d157ce9922c4d6319f319d0756a0b107f2474dc25c543b128c05c3648b9c5e6d01c0b0d67c487beb63df563889ced536fcdd5ae966bfb0dfe9e08cf4529d199925810c4c3f0a369f5bde9eb25ab32d70188d19c6bbd818dfe2b81e1fe92edc3e5dd53993c996ce2f421e2f8fa7ead57205793758d63d858c1ae5bcde4c786d77e5a83fafc71d381472370298f86fe572164f7e2ef8f2d37e536a26873f15053a1c4a5306181790e45d81f71e9165946374b59e0829717e841aa65b5bd6cc1cd4b74c87d28c47a99c56b94cbea84d2321044db498bfe39dd1a7f47c599414848e3a2b5cde141f90b9497f14a2bb10c624656d13c80e4a3c9cc00c3d1088bef1e8d6c01a5981c149bf68ffc3f9b7b68d24504be64b11266ec10fb4c3708583f2704ab73ba5195a500d9d63004e460aa7727c365a076ad4ec4193d26fc9573d4fed3da3085cb8b75a2e060e5188056fc572ec508bd8f49abd6ea77fcd624e85c885ad9cd3a7ea1add824064ce98ac1d2d54e701f85b76d982345c8a703d12b5ed5279cfb37dae045530c06e78deac247f72daab077809cbc1d3e2fe4cb034336833be656c5ff0dc2e1842c825678087b1724b52f3e5f6c6f3aca4232d0f681960c0b30363f2608dd48742539e7e04714d4ac3b65e8f507a18d686d6a74c47e4710f5ea945ce4c677680f9d0d347e44826721ad59c8ec3e782f7e3827419271cbeac2870ed74e209126c334bf87dbd9f8309dbbbbc8cf27e7ac66d10129da4f1756f88b2ab9bd7112bf4ec77c5a1abd9a47227dfad9cea963602ed3abf7bc6c54b57c8e2471c10dad016406fc628ae901e725c097ee56513a93f854c669dbfe94f2947ee7c45220f2246bfbd64ddcb90947276d507c0b3bcbbabf23e7b8a62f494179d9b95b60eef7b6ba05bc0e527642446a89189490a6b85c7a7a39d4ea59bb9ba29a51517f79192f6ecfa6626c95af901ab4a5d55ac5c08411ae1eca9f3eb31855e93bfd69fa30d58b62ab0883b3bb172a8e1c5b2acb0097609cfbf72bf5b328e15db6a57a8b46477e4407adf3d229346a28b93cb30db402e968819f6b71b9421ddc9548b2ac8c6e705afc282a35344721ff9dcd22b5e5eb02fb3a5e83d796407a23013cea7e55f001227918367447c7262bf709b14872a9447ce4c3dfea2fdcd0166e215b98c29ffb1808822f3780772f69196f506481fd88145b344d5c704c53a3a0e3d657541d65e93ec50a2db7572b60ecd4ad3928d03980374563cc03232c5beae8e349f6ca477edf1367af12b7247daaad94769d27f7fac48cf59a2ac5669e5f2d1f43ff0d1de396faa06ca7d72308eefa2d2af92ee26faca838365f2b0bacda28a231394fc86a563e92fbbe3520b3de3b431dd14ed72daca6ecaae2c1c881e43b6acddfd4ad62ba55895cc177282820c47a26ab31d411852aaa150c26387cc4b837628d2a49a60b82ffe7290727560200f6fa57c9c0922fb38a1364dac2d2f15187c164aded0ceb3fba009db72390a61b4ac65398d06edfd1b924ac7369ecc3eb86ec3c07d55e3392afa2b6d72c1b073f14e12a2c169d7268d0558d8147b348a6228073356378c74dab68f5c728f73c0dd6441dc28938c3d027dbc7f2c79744adb3a887e895219d4ddaee3d32a6e19869967ca7f02f55432b1700e72af3366f5bf564d9aeeecd7330b8bdd3b72cd9fb2be80a356d1d2da667a79cbb1e11daa6f7b982ad9e2b01c0f2cde2bec72a2f1d502a4a458392649e0d6cb65c1e8abb3ed78c0d9267206de147aa8f21f4923a42152e3de4e0d91cec2f9df45c70065e1476811ebb5ba93108079aa79f3325b0c1501d98706e33fa9cb6eca00ffd3bc34123601e5487bc930f371fbf84a7248c6ca0bb6359916a44efcf4b6ed8e78eb255a4a2eedbd2e65acd2200ee60672abc6e0943e3de48edac203f69343c8186f0149279908b2568d3db518f768ae4284e7777c9692e059be4f98345baebb166f0433e388229f4f362aec7d9c78ab723dedd991149b3af4208de74d2287faf78a046da0f50cb8a1528b5aacb5970249a57b0e33852e5bd37ab771bebc42719c9e388e0fd4001a54dc42d0979b0c45723728dc6fb0685f92e86aae97822d269f389794ae44c0b321ed6231a135611d134a84716092d0cee767d63936ed32785ea72b78ad97b2bdaeaa10f07f3fb72e0dd59bd151f5515885f5f2f37f28b7b3448011bbd16b32ee08ba4713d73a6e75349bd908c13c6e2c02c495a9fe4f90e517c881dffb85c21309a64df9956d15582274e9ac7638547d7d4b4aecfa5809ee455016b06d7469d0d32d46efd9256c1972da5e8e3274665184e17a58e64d27b9d8fc3e2ae34c05cae6e0155d65db5b505d07bc14cc606a3bf262587cd6f23003b2f8fb331c9e4b51f1b8ad30af82c751724e173e46586071db8e639ce835e2d731c5fed10e899c36fa443b0e8801c52f35a013006dfcac658c4028490baff333f2af69428094229aa3d55bf2d8cf74ba72841f06c200a6865a2c72e3acead109aab94f3a184a01d5f2aa7bd65e7e948b34b48de4daf5cbcbdb3bc5d896b3e3b127b8d8e436863ffa592d16a11f968c09721139c54fa82604f620c60c5768351098a33296ba4be7374c663c96ea0cff96043249351b2de0b5383220e90b45e8779c32ded5397da76b717adc96e6ca994772f03f98c90f7906a075d7287f7197536c29250cc271a5b8f9a46c7d3a6d2ee208162d8b91f20b6f665e95a208066ee29dcaa6a320ab5f932162db75e58b43bf725582e03add89dfac0ebfb58b4ad3ab857f53e60c7a31df61cb329b8bfc70602077be7cc88b098b97e6890f64dfcaa2368310e1566dda9083f592f1e1b99e690c4f761850bd8f1e92dad4323d0af301969262663c558118e776fc2feb8cdcbf72c0ba262a026b5b8da6247db3589841a20d059ec7829a7af31ddf81d79171d1728c478c88ad73be8193c1e35e3bf2e5e0d650c62997b39410f1cd88884de299721eae570ba577543fc59c4a14fe1a40d2aa9f3ba9325e7106c47d3ca0097a0c63a1dadf67ee004574c246d21f674592d8932fda20c50d3892c3bc57a844ce28099fcc686717954eac8dee7fd922ed0d3cd848853b8b2962a13877e9e93e0f7751891ccc0000f30d1a7c28d42f428cc63cf814ece74049556132fa19a65aff9272b9718db18b4572d2e5a48f8180eedd953f806518c221bd886f6b41188168c472e0f2cf0ef9599a399f9f00258ab622fe911498ff0d0f97754f015e3df3e7bd40500ed7242880d2da8f51f815ba3204586258fdd4a8045b799a49b51b008f016b05df6b48bf6f34c5613d8cbff9313941d55f9eaf496c32707e8fb134d4bbb572da30336b9eab86ab0e38f960d84615606bca0a340809130cc8eda9d50d3b60720146da29e0c1d55791ef5fb9fcfa60515d6566e17a13a76cab0ef43d80c107726928488234701a7dcae0fd4be5a6f01464af2bad8c1da4a6067493246c9de572589b4fb468bd3d46828230070120bb06f5737192faf698bd0c81ecc269be8a13efd88ad8bb4173b98375d12e38f56c94ebe6f611c65d6b0522c8a4ac18d2685cbd6703c39f4768da045fa9fc92e5503191fef8b2dfecf6696fac7185b14fe9417ebe5c89bf3252eb1e2893a9518859b4415d59d5e9b5c1cfd4273c05d0cf2772abe60d090586cfdd294b91062c5f6cff544bec8f465e3c74accef37af7dc731326f276f0d659d0c67cb1b1ed1335a34572e2f8c453f9d9c6f727d4737cf7a872bbd492b734b9db9270b0b4718c62d4b6c8e1ad30956b0b8a1fbcd98526e68a0f1a823d8296c5c3c7796f5ab142bd0812192ddec726df7e3a243dace1d36b3872d4891e45b11003936ee52de7082345d74968efaf863f968b57bf6e247a8b3372ccc678b7545d6e96af94e674cc1ef489d574e89aa92ca0be38e6f6a89011ca1e9822669d752d602912463ffd130a01cc1284ffc1d636224080a1b1af02f3ce53c9a6a9d9a8819421dffb9ee03b83e6744c3485108c914768331ec6b8ce3107724711b94909797959224c8fe5d23be2916d2533101145cb60b85c079756639e72c35e91ecefea7248dfb4f0aa77100e740c59a10c8769fffd62af9898353680723e6b07e335d0ce7aaf3300c1d8c0d52f867ce16bf05580fc9bd86feaff6745724232de7adc53bb6104f27bf1aeb8ea069fdf8efc3fff8e4c24bf401235724a246cb83d366e0c13ee0409dd485d607285b3badda1ab0a037dd01b6c262da30472df462b0da65fd2f5a6aa491a2a171b516332acd8fafa46d9a25275186dc60c2b4a684a91320649255b6f0241a91b63f4841eca557f2656b95c112fb563e87b728058fed889dbeb99612570cbeb012d4ba59d0d0c1dbc61876d9c2094b97138721d5eb456aa24241b37580c8c09a29d7317cc9ad360ee55dab4ab0d293cf4cd72d7c6dad179ab635fa46aff395cbfe06ebc8817b10ac7fa12bc28a5f0b5778c729de18ac4e374e6076dffb42286d5caed9b5fa2751d02644e7c45b55615c1e972c1042637bc44c9ca8a99ecb1e79dddafaaf87bd7c8997e636288fbf7d70e25729464b69cd01c6bfc69bf07689988b7b397a8d3f9eed2c9c4d4a65d7c3def693845f02951422a6d9477b00ca4b76ac3e76101a3099cc2f0b869d842f157088572838b7cecd3d61890302a170972df321623a01e0831502e62aac842eb369b2c66bc96d07d7162ab24382aa846b6f35925b7ee36451d233938adeea2005deaa66733649174271d3851ffe28981ce234f0c634af6342aaf1c075a46dac15fe16d686abc7aa547125e3961992838ab3508c873f022157765e4ae104f9643c3a05a721b501f6b189473d50351869178f91babb0d8e258005c090360b43996d186927261f7a0db568a6d3cd44a20251ed4b69eed416e6337ef52ed7c314659a15ef07261667577e6338f64e20f540041fb9d0afc6bbc2d480ad15a1b039010a96cad7249722253bbdff7fe449007e837fa2d4ce8d58b4eb36fa75236d11d3ef23b5e67afa8d67accf51a77b7c72d17c00d4ffa617c79ade7a50ad883acd19d4ff97f301e6e51e8836a57fbc74ad60994b32be7741835a0579d9fe2b4c9852f0928367202d4247b18066a19d5f026a01e4bfbdb05e69cdbfa855ee92d3ee274f60733180f0d6716739a5a6da8a25a0dc31ed49b9e2c3d705543250e756e2b073188de5a81240d398888ff90a8da38859f2a90ff3439428ef57ad57749f29b4cc0182272392ae46583d9aec1ad2abcf2edb20bb72452cbf0f3c49a1ff3e4121e83b3c172662a4189b34ed58962e97a686b9a2d78ae16cb9124f752e682eff61f5f09d95b992109a8c172fabcc6acd3d68987dbc6c1f70b27718ffff0f968bd28a81d3c72487b6b3724bbe44179270901e57c76c8827a96dde834d3d2a02fad88fcb08172debfe1bc78f66bfb757ac88e27b3024db6de5e94e708018fd856c44c03e7d53bafae192565fab0d3de33df5ccee1e722881305796732823331c5ccf51f005d72bd64f95631dd8c830e24242fd8dc100c94f3f1af013990670017bb76a089e0723f641668919f634237ab148ce14db07cd397561d2aeabee05fd3eee226894c72831662183f8d594586c185d1d39a4fadb0f21148427cfe8a5db8cbb834266f3503865b48c99166992b20494fa40b66317850649384b96c10f4668e222d21ea72ed490e97693bcf014ad84549dea08e2877e7d4e6053d1b92713fd08afbffbc72a5b9f9f32f31b3865d4d01e4a35a651f6cd36a419979f73e58b83cf3435074159e1f73d150f9f7c8be4b6f2fc23560f8026607065f300a8798c5f2fb8b421372007643c13d84091c47dbaf5c191b367b729a6dc4f28ef7d3dfc5e9761e7d881ae5e4baab223a04aafb7609257daf4422b572efea26ebd1707703111015357f0d24534872f7fe36131d83cb4577dadad6863f9c45d9a396f4a3dfb33f0f5d8810b512cc8caa606c1bf7e2422b39c7e3406324e98835cfe7f0c4f9d2399d154c724bd0248acb1658b277a5f829f51df7c7aebe66b2daa2ca842184d2814076697287c78d5d262be03e81cf9e8d6d748718f726f546e0f62999ad0cd3c9d3d8bc729d5a45cdca7b4d19690e1234005cd603cc5d24245385fcceac834901932a957262e7b164f7fb5ac6bb6d88fba26c222a4fb575595597a4534403bac634c6f1595e77086483523dc31cc424d3cbbaa5f0497e3102c511f0f0c271d2d8c5813a533ec307cf05d417e874aaa16b704322004aaebf572a506a658474a2273860f2724e216b1bedc67ba4ea586fc06f41e694fc2cb2be55f3f46ba62975dd069ae772b414d3762b2ebd8d88531a74939485a0e2e2724982c965bfee7ef830f80b3b0c0dcbc14ff873459330450d9901bff51ae122d33c4c57fa84e0bc577c93046d72dfcfa762c8831b5b1c251860c7be412c987a6a1e069bc2d8b59c413852b1dc725a3ff8d86b54631fb641f96ece0abdbeef31820f0ddcbd5ab14067941920a872b4e0a385ba66edd38d57d25bb6ed5846fe30604037b4623fd1ac91bd795e1c046277d6afd3a21b4209fc0f019056e8661197cbd6d447d817b5f56692952e4172d2e2f69ff5cf9d2414b547467da6f1a007b51ad92b5889da33528ba68e27047281f2682955708689a0d42b6101f27a8b3d8625fe2ac3e532f2f159d1e885ef721373ed69149793d39ea27871c998834f9b12dd94ac756d54e115c0164e0d407251e734aa013d5dfcf5c377f19c99b0509801e71415bf7967f91255828542937247159e8eedd4b30c740496e657b7bf87bc11e5639a0a73c41cfe1d2787e71a729452fa8e6a5f64f86b233da8dbf1711cfd799aa095faa79c33646f37bb39d472386c04e8978870412dd6f5c8fa2391c05a6b4e7116269163b1bd8abbf4529c721a6bc32270568f387213f0c3bfa8123d8d517cd904dd592d9b76bd7374ee3172747f79662a8b4ec7760ddf68a287a87c9f61ec045a00d4f14851aa7289dc3772649ac983ca1d7740356e3dedf09ef8d15f3de19bc166b908529d9c92fe9471512aa6ac702387309c19a5fc6615b8d3ab9c8b7b319c4c91cb625fc00876ed735b2f57ccf63f3bcb430872004e90e915225176d9e3c782c17b5dd2bc3be7953d230a7b7a7a12739edd7cefb7d7d6e86c4ceb7a341af7242c6b608147a75bb9c07230c1da66a757470a680bf4ebfb99e6bd7306a18037bfda89a12e2b129b373201b2f65f74c2d756b3603a50bd43efea19110d57f3032b9f081535fc15bacda372cecc0de980a09ad21dc3d1a30d7498ac66d94e0e199724480520ee25db89f87294b395a8691d2347edebe5c66142250140f30d867926ec01b1bbf8f6d1e73c72e951c51193dff004c83d170e643df89685187022519b940c6ae49cab211eeb72ebfd4385ff20082c17ee3dfc206d1c10a00771abc11d19acad8ceda3e4db7f2c7f45fde1682cb5d8ed8158a7e39938759c42beca4328aa735f7f002984c59d7235075bd9b387613fa4a732dc8549c7cee781bb9d149e6f1427558c867d672770410661ccd4c4f8d75aea366044c89db8f26b13a9d3818f2a1785ba3518cffb722d2116266aa442ed08273a3dbfc1adfc65721d646c63b5d3822c5b1fd524b97299afdd5cbf7b7a2d4bca7c8c43cbde38aee272ac8769953e06d7dc112448ef428d0903775e4dedd17bbe2ee66c0c595a865e605af25eb878fff5711f0767ba4437bc7637a05a78f87231c1cf2a489188e010ffb5da5eae7e8ef9836a2cd40e7297accedd493f148334f21cb5d8fc9eac0330d2aff9f4e66068123be3c067717222500e7c3099bd2c703aec24703742c88cd1c444d0892e8fe85e8c36891632728cef093423a9d61019b0094b6d7c00d79b4fdecd3867abf1312f58d9b293ea72e7425dbf61739c0e3d0d6f81f854f5657d0e78fad107c9b8510383422f83a313d44521eb584d62d9c0c663a86793c5ba9049576bc2fb434186b41695248e5e72896182922ea8f24e9c563147f7d5c75fc9f3aff568f2878278b56915d950827212cea3904986fa4dce972c84aa0e09a04e53ec5ecb0c750c8dad8dc9d5c3e572058a457c99ae06468e72390e0bae3a8d00408f44881499b74b9b454095aa6f725578851bbf92d52a4ce19227661d98b5e32ab2a6d703f8965a85271276ffe472a6e7b09092ec57b7bdc24fe4cb36e8c7591324332d6f9633bde518e10e6321475cd8bc818b189d2e353be379e891f9a9cde449710b11946dea539fe6bf345a4723d65a3bd517f97b167a088a6ca1c4d313aad0af6c72fd185cb07c0554a59372df6c810dff83c73ad00daa28b6726fcbf871a5b4b25b5ff09742afbf71429d728fced69bd97c2c6cdc7167f7429af625b880e070f77bf250e4799db3f1009c72416ea44fb295515a4f147189c5c7c03b075d5a1976f373bb43318f5e36d46859b50b10eb28f1c5457018408bcf896bd5055e3a8e0ec0dcb3b3dac14a0a90c73149d3bc9bc84c10fab5488ced7e258ce6ca5d3bad9aa0e796975e095d0afeec5aea35de1f78f1212ecfbb2e502ef8f9981eeb2e21f96ac9be3fc20a5cb63db611e0aa6cd1e8b1eead1f92a92fc8e2c687e9fb8c04d6a8f0baa7ff4ca2b9a7e672355a400bdb717d98c3bb85f509cf61543b22b1aab1053801ffb7ff55585a7720f1d03dbee1336e21dd90fbc8a8eafd7404a574050fbb83dfa3673cbf4858f24321d4a6e68e30d75e3e18ebb38e60b64915e326411935fed3dc8c9a6fd1c09d72b3d7d9ec6f710992527e669696ae87a16d611154e488ff9fcffe9b675da52f604006a8b1a1dd82cfe2a75b9bff54ca52200cf73368d136391def170b61304d5c5fc2f263360457ac0315551256580041189d32c95782a85a7176463ee296a572ef3ce447fcf37ac4231d23519733df1dd45f55d28d9f1e8f23cf7c9d7f363d72a270dc2393a9b9957c80292adbe9b863a107ce2494f834f8d8ca352a2ddcdc1bc361fe9a8d48a784e238d2cb4d345251103ebd713b5bfda8f382fd8b73160d3dfe7e2f24dc889292db7aa2ef120607a2e50da19d8dd5d023eeca838364362f7294cb550661db12a7c8dd50eab7e623708471c0cdae3463f87ea66ab24cdeae7252942678a441d2f029d281c582843e0e3184921e3eb6a8a940432147b8bed972e9046edb10b40b9fd3947376153a27ed496c03d7c3c5aa58e1b527f7245d50723a213fe0d43b7ee4f0a0e9574800d3b44b989d748828c883996716f4e4d65c51b0c0c239261d0082d4ace71f1e12ea2d80493e68b0714a2748a0d7a98687ab1d10b33b17b55adeb197e6d7ee9e3d1db670cd429579afd465620cb3fa9ff4b035015e07194ac0b7fd0c1150ae26d6f60ea455a034be65625152ff74b767a8c61e215089bad5d235cfae1f3879792f571b4bc724bc44d4827714c6b456ab83b742e7e72d233d05c28a55ed900a995ecf954a935c914342a688a69f8decc431ad72300a3805f770f0d2b7055d7b38747acfb3d1567cfb200b2b75c22bd28771ed67627b81ef477165a74ee7e90714649b65fb24387fcb9d1a960e7b7afcd97f075b55f9a64c60c9cc31781db78bdd4eeba041dae71a15bd168ac94a927083a4fb72a47525ff5ea8b167199213b458a7d1e100103952bace7d1fc6398fe872c845255f974bfa21fb9a12bf1f444267955e7481cba20a17ac5bffe0234452b5c38364b198a148a68dd7883054e092165515a5a6580e112d1d128125e56b86d29c2a678d40f49be86bb90375bff57f535ee353b5e782e135c63c3c381d32da6b981f72f4baa4e955477bcb48ead8cc605aca338c9d285ad76a05f8e82b153671a4762a9c3550faeacbf0305e651bdeabec8e64b21d3902efa825e59c591d80279a947263cf9b7a8742c950cc27c7511fe47a08d52ec05cf57b5833659e73cea5f713729894c918e7f24fd617a5291ef652d814bb9dc4f4873304fb87eb7597b663a61abacea0268db29edbd3a03dc32292c97901460d2e081d535c0ee7430472be7772cd3f4f500d0a65f1bcf24cee46f40a4095a82202f0a7b0d1274c6b868316167269c4ef529c7da9f856daf2d7cb55135f793976f601577ad70afef185f0cfee72c5a7ff2b501b0ee61fd7fae8d625fa86cd8640c0f0451a109de0eea763590272bc53ace748e4b1b81e097dd0c7cf9f0a5cbaa28e2199aba41dcb6281e13006727d507feaaaf1dff0d94a4aab82d53e35b298649f9e9038ecefc234665ec05f4948658a4f8da6c4157a1d1594c3f73e1b967a45f99ad74bddb3284e736457994c978fa982ffaaf060f5122c24ba83a6f309cc4157ae4936f4c02a26a86e951c72a56055f051acebae4c08230c1baa0504dea1fd10942ef46c291f4820b8a61323975e36aad08fc7845df25122d829079b576fe463509774a7e3f973b4ac8c5272b70955e6a3a61ecd626897fe15c049481e812b0d61068e1e31219547ad58bf63a011039cb825cb8c1d1c40a03ddbd1b365c057a58c8985d0ee5d47dc1181330c237ac55e8c973fe880217896bf10f4ee5e781e1bda0e9aa7e31bbcd5313bf2679058b319edb626b709c7122e91c78681f498bfc78de942a2d5c611cbe21ab272219a635707b8e7eb5dbac2d52955f6bcad050cbf75df9f16d6c48308182de32e8491f690c2671844973cf3c40bc712bbc4a0633262f9268e6608c10f7b4df65a6b508deec860737481f286fe59b6953be9b7b1cb518c532e27e1ec10659b1665242225400b42066435a8de18f8338759c52c1bbb9e9e333760f275f5bcc475193d5de330c3a8771a90331cdf0e08ca1ac7835cd3dc9c8477626f6e0e05bff11a9106d1a995d4074487591ace8a21047bcb18e65525d46fa97143435495c0f17286945713a48f68832c20c42d2952a4e8653b9e3c25e494b828688e386634467255abcf985fda942782d9fd19311f904f14d1d742d06edec199e45d32aaedb23ae29294ae2c198e6af69a652adf066f181afc75bc7a405adc5e6f5a23f320db0afc4d355a6bd2d62d794815c71014ac8905d687837cba9f2a24cc751c44a8e4726377de1907f1bd9214948bc073414a8365a0884664afbc78a787b54eac8fb61ac11fe718bda85633661dd3a85f267136564a761ccca8a744cd1f91513b6552722da83d2737bb646f77470a58d46bd0baf2f2d64383ca7d9e8cae465f5956b872b54389d678e5c2b97c7d52bbe8bad4813850132516e45a94af588d472281ec729b36becce3f062dd91afc153eab9b7204ad59a4d2772df2161d957719f79704d575465532f240e238b78ae52d3df365ad48c2f838c286525c11f2e0ad328e672cf2c99fd99b5b0da2c7aa7b19933ac926e37cc58367fdae632644d67ebbc3b514c421ad84330eab090f35f4a549368883c731fbcc8a7b22812296a57a77cff45d79f36924bcbb99045bb2c30d8bd8b7986a981c113012a18eb9f441996c9d7721587373e8f0578f45952b0e96b2b2f2ea5fba5bd0b8158b5e809c9d29a9b3f32fde6fd2e2558b079b94e754fbaf6ea38af58ed842fc36fd7a6b59e7b1f67907268c5057a7db729039e3dada8e97d3057070ee0aa5a095d4c70f92ab6f4760d72566e99b822fe0b2610336623a36d798dde5c60997f964b5614ef4b4d21c4ca72563349b5d8e87bbe1952cf5989fd049e2f46b6daaecd6f04805db863ed44680f34d91505912d00a8437df69e57a27cd8903c382b768ad4d2b9f66df36a3a57718c8a14a54381a84f160e3024eb99f6f4a22fe08e67d5d69579ec22e773285872b8e50ce59930cbd4a3f80063fc781c3dbb761ebb80a9f94dff5a1279b786f3720aa8a100fc790f1468a6a9787dde73214f96abe27096108d900ee6980303a5724074a3ea8d1e640b38c126efffe8eed3576919fb8436132bf3d601ef6c4b0172954d0d7f39db337371f3df62364e9b6ef599f88ed7080ab49d41cb023725877224f217af293ff5b25c72ca5caee89f80323e0d41bf54e7ab6cc7c890bcb58572edd4321a84ad2d7a096f7d927e2ec754ca1230930572708105dfd6ffa3d0ac581c748e798a32580050fe3d6148cf1adbcb9c8a44d524fa4b750b854a4a06e64aa18436173323b333470881841523ef1d6fca146539c09e42ef01908c2d4ca972ed681b39b56c595a31b1b1e729f94d3d7afca890da75c7deb02a5f6276eca67263187cd944cd350518de001ca7e8974a5d6f77e4c5e710048e68b4857f06d872788d7b7dcad6f88f17b950945562e7395fab17df4643989020061221acc6d56d01858056189d3031fb7b9af90668f51ba072c5d325cc5092bfb4a6a7e6924272b135955e194e74ed206db2abecccc25d8931533fa673d7fd011ff40863be70725aaf0f0de94e77a8f1b5dd0f95eff60eec2db3fa6b9497d4e9c423c84b54dc72676a706c50b4cc933e135d0d423d126854ebfdc8f9755917b86ae8dfcaad8f72b48c039b621db42edcde31368e87a0ee0c1fe65b62f4ea0cc92196a584f00572dc9f9852d867e01048a8867e5f208b9425a8c77ae146ff76b27a29124186b972eb537686f9e452485ee2412e89b40bd2b7b5ef00d9c359c0c72581336e14fb721578228b743b5999b116bbda9c43f7902339ff0d978c66793ec35e11567ffa6adb2cd2d6ab9f6a248deb2192b1baf4a835738c8d97079f3cef517b45d50da5723a01c4c33a0c7af9abe29e902d7a669c9354159d263a1ee60bcada77f934b47213fe20e855d710db0ef013d45604cb3853f1bc1b11e4da02f1f992678482a43195a2fdde4022eceb77184edffd8dc19108b4ef13b9c4652b1661160ad7765b204313c2d48ba532e6672ccce663539f3a5214ad97f322e252b87e9e8f8d5fd906d4d35e127d9b1f23197f172f456efc8073878fa6705ab78e1cfb74f18ddfa02251931140e3c275f762c55d877b1dd7c6a4d2d97feec53029323ee11591d251689dac6a989dd00a2569fd9e9cb4e008430fcd6a7d5d7faab5547067e073f12872da91f460ff15fdf2ad2527fdad4f3e559f2ce8739a36ee6e067da7607081f03a4d8a60ac695a76ecb013de051cdbcd844969ac613fc3741e366609fd006dbe667318f2d4ecf080cd04ab23f61551b1f13d2f80a83bfc243336576100ab507f720b54724182e1804ba243adb9bad927b4eaba92d226d159e8b3d15a9674a050103edefab5cfb88611621a0eaf8c5ee497b50adcb6518eaa6e5c2d925e4bb8c46cecb32553a2a3fd48948af7a40de11782c4252aa687464182922057ddca693372291e27f932ee4655c64f4512a697c1795da606683f67e3b049a95ef8a2eeaf112aaaf37d8555e40fa5376b41c1cd90bb4e449f1bd9ffa35112d67342328fc94e5c78b9e3ad2856a1d35a96dbd3fc1764cc70a81cc8ac393cf4404796eee410728cd172bef5c129687222c07ae4e2f5388cc33f84c575fdf43be797d857211972d385a0b05bd495ca4daa349cd94e056f77e044900481eca3e05c12959391ad20b69514978ae25aecfc1f84e2bba3f0f383cc8d47dd5744a50ca513a9149a8862d0eb9a21cd5916d9911993e788ea979b128ebeea787cf1a22bb38d60fa763c72726fea7468550b9fa3f61ce2efa6810a517d37cd7a5a05ba8f4d54c817eacc723c801f480d102e17e36ea26340794f488387a686d751ae8b3baac4a9ca46417228fa245a4242d1157422afb1579c22b0c9c7a5ea194f46fb19a4e618855c4a72c0ae069d392b8da8b842a37cb8f7ebeb8bec3f27118db2929e1080dc98777d72b83a167b7ffe71fe9e67ae52173580ad5970978eac3338efd25108493fec66484125ec14149cbfde61d0b20aed6fef6115c9de3a4e216c135202cf368f3695721900e1a9b256d55b17c73721d0103dca53efbfcb47435b11894de2fe5fed5a496036abcd6ba40ca1c49598cfff0397a5beefbc60c492c8de5cb879b559ebdc721360d6b77df94df843b8719a8e422ffc3f36c964281185d34a0b405111c861723fd3dca1df64322eeb6c8efc1c9ab3bd34fb15abbf3e0d4b738848c309774372010b2ac83aa8787bcd22f64dd53410dcf69408329cb6448c35a435b83a654472a2818f88c38f37e344908d702bdd25b1609bc6de469629c58d3c2aecda5c8472585dff4ea38c64cf7e2efe7b0c597cdf7e248ff00f38ea93a44e0ac042492f72598042f84a4487e3ad5f6bf3d9098943e132d2f58a2101775772541e628fbe721c25016d3473ef83b1db083351d13b5cf604e5075b2ad6570bc1935b4be4297275babeebeb10e92ba951fd463e797440675dd419873da0403c4e86fa94c8a172aec238f2e39295185e437efaf8baef91304b9c368a8698c03e4854010cec4935550eab986488834f7cc12eb1c7023116af6fae6538bf5a053ef39e78c687d872a88eb0732177dbbe14c451f01404514a10f71829ec10f6ed9b391253a146136c4e6be7495c11ed61c3f6d863f148ddf1987d7ef4378ac835dba0900a69746e45e980ebf867de74dc38c83d1f232dc406500145474e4e0b8499f7052d0ccfa320fb229f5319c06a244b90f55e35ddf872ebc985d01d8b7db52283dcd36fe69c72b189bf4465ba31275bbd71459e34d8f0a83b91c84e80f02970ab9bad357b8c721830fe6e76e226f091a1e4738f9ff6c854d491e9dcffc90944ccb50fa8ce5a5d13d55babda8574a398fae18b4afdecc22e6ac26ca61b5c125defd6c53bfeb072b5265f725bfc07448822364199ab5c053be532dd23db049479df6ec393eef572b6ed8b3740db0ecb0b861c32b3d799e0fb7197216fb8b2a506c8d855323f7872d1183c4e6e0272d4c22dc2126d6246fd7406d6eeafcbd715e28bf5416c1825721df0511446a3483cd997a62ce91c81d1128bbdfda51d384e98c4a41b6b75811725bcb24b6471724466ca29893fe8fbf0b9b0ea4b93fd90af5b40b9157e30ed7210c77270c00dc83370b52bec80ca2a0a22c1feb1efd7510010fd449f486869508286668d190fab8cfeb9c3800f78ecf1232960da4fb34aa9298f3605f54cb47285fc0afdf625c12cf2ef666cd11478cced49bd2cd01466c4d4b613bc89879762f6a043ca3642a8f8f22df57a08014bd6723122761a182c7d5a03b1d136eacb6e90ff7b1c0d4f01509a7d06647188c0277b3ddee6f7f25d593ff423d0d4bbe672ce6d3163c7c0cc45959fe2373d87117d29f0e0a95f8f01d7a2b979138900600ff94e5c4d0482adc479a3005e8ab2605d540fc7b46a5ffca780d81bb8346ead3a6d77208d8fc2d1eed77d1b9b03e0d3b21e64cda0705380608afd2905cd325c3ab75d96d08b8bcedc1c22e11129f9fae30935967c6d036b166775d401272cc111b46270350e3e8c27647f7a635abf131342b3379d9f9ca24b07d34c1d32af5a0befd2f79efe6d96e887cb5deef0599aef8bbadeca5e7eb934bd8b91d1bc93004aca026bcd0db4d4c6b33e3b1078d6f4995ebf9275ad9b26d0c47e0fd7242ac94871ea7b33010d3c8953a3b5cde875a8bcfdbc1844d937d610bcd1ed6a50c78672a94109b93a3b90e160aece989db1e0d0a688868cb3fa6127d9a0c2de48fa4072df92624aea782ac98ca214cb4424ff69ef12a1976012cc228f6fbeeaac254172978c237d33f57353b5ecd5d261c1fa2f370aa504ebe303c5abc490eb5167d8724d42c6306722e68169f5614f84d0e4944ab1e45d3f0b88fcc7d0cbc995c08c22a7cf3aaf20f614d9b89ee8e7621d0f0b919cbe053b39872e48ccf8a5798cbd01c1e112871e7fa60134b4e7c358f2c2eeb4e607836ba977b93110210c74f69a728a9100dce59930c130217f89412b493619a7b4dc133fdb7fc2e9d5eacae5df0abab027371095a1ed2131da856d98721e23ffb493614d7c318c77a2837f8fd154d6fcad6d872e52820d1e17fdc030d09ae9c748926d8baea29f0bd4df09a1546f4c528c9190c858ede107c290889dfb46338bbb5cd490bd4ca82c33d63ba9e33bac8dc2bc070ed20721c381f8ca35e53f7bd236e1a2c92dc6db9ee6228581a97267dc64284f6c01c76dc79daae998d47887ca22bce19af56c3ee52665e03b68490edcececf0bd19e6838afdf7829f31d591944199a0f65fd20d0f9ada7319b672eb190920041e4b29fa3724a947e41eaa86384f5c174ba9b91ef13a6753c74c6778e4e2cbe7d92f47358a537537fcece793233e9151b82dac2f57ae441471dc6445c08f01ead70da8786dfa3922f42a86cbf3f520ad9c8a9b817cbe57583b6a1447cc6778a9faa15606a8140224b3b3214411ec432ea0d346c87bee12012b4172d0730dc33fde2f84d69693650e7140e0757badea26629fd23b21a57576663f72fcd60c23f05f3fdaed0c660f785191bae28772c71532999a9d181c67e548e80c1671561da8c3d68f721285893cb32fc8223b17d9729cf057aca093c49ccf1272ac60c7d71f4dbb63c81e5730e74276efa02c2f98162917e7d93a5702717f6625dba4836a8f3bc0ea63c26bf130a4d6968d92dde2007f3730f87ed6a0b0e5f5722b2f32275965e54a54838bf3dab88370910aa07a4a69d8b12d3f9c504dcd9f70ca24f4f501840c441e1df0a07214574305b9d28f52af239400d036787c6ed9722288cc20a98c641d1d9f33c37b76da2cf9c91d1251a686c79cc87b979b9207080e823d3e8e9932c6b563cf22287e1de6a6346b7ea20fd480f553a07d3bb8560b8bc75046865e761774c697abfa55d4882233045988d3c58ffda13686bf39d172c4e28229555e07e5132b8ab820112b9f41ae4a634836c50a153b39e7433c9f72d100d8b65a7be714e443800fa72c64a8bab9915929baae1d8d0eed047f13ea152937d15f49f261cebd7d148b3fc50b03fe1ff10dfa8ac2ceb19d04000f02377292609c87f953b505866167ed36c193cef02b8f3124dd0c0c3f1c6cddd66581722ddc40e485421610dd4bac73e74c36e761cd80eafc1823f8eebe9999280589723ccd9aa455de86d69a5ad78a73ed5b9f026a46af5db7b72a513b98383e78ca720b8be289f16e9cb32663942f5c14f254f9b940eb87be6028f02569d15e66533a1d27ccb86733f2724428b31096a5f8c6d92d73ca47545fa85f2213e8c8648572950a1a64b5c5209c05e9235d1b9b8ce6999e7a1b838e5d7e5257e9ce7ad14d724e32898e8c32e00a5db2e3b6557cc6364f17a026f9e02c6228fae54cce4753463a22e588480236bcf9505b9199d686c8f333bf9278a1546ace6146188fa75e71e19181240ac2b1e1effb6ebfcb8d08d1d06e78dc7c3c4f447854f241c5acc072e18b1915ea62dc61a2ebb976da5790ca25e77b101d53b6599dcacc7a9a8c63723830ff18ced3fe094373e7833b7f81ed9b5253cdfd2328bfcba6e644b28da6724cbd11eb04a2d987a98fa6b780a4d2266e3f7b0a89562ef0feb29d574bf5064f9763bdec8f6ecfa71098d2b63eaa90700123882e3c413966a2171decd874cf50fc87874490a8e4078d4bb54ccd668d8c66e1cc6211aa218377fe8b301e440b48265db4d03d0c929e45a22aec864b5e0f50c89df5cc480f9ed1e44f5ac2558954151b7e460874548ddd33db667306495a8e11bfdabb651a2f0b7a66bcf6d3da72818ff0ed794c05b716d7a0f7973641a11d6bc314cfdbcfa37405c967c3073a72de497fbf68aad67d3bc4c9334f23f44b95a23682f653e7d3c0720ad9b4628872915e3b0eb75fe670c0914fde4562b99de61e19cff85a6ce0d9bad5305f7a1759a22aa25bcdc04bd640ed0c376b888e3ae25697b93e108223c72451b38cccd572e6f3b0509b1af1185a3d7bf2695eff99ee1690c96a7ad856d283ce8a2bd16172924ea4d7c41c9e615372b628017f55ee06c813a7bfb1887faee0c0b5311c706f9f899629a10d1a271367e95ff90a44fac09d37b0bc506e543e4bdac2eb03b872ec708a1bb9908253e95af2a5d09e1f1dd0f7c89df1f6c415d7df6dfbcf72243e25f0318b003f32afd6294cf3f02ce9d300e77552396265fcd93f0f1d8ba5cb06b188fb6335edb3bab1fa44f2336b79b9961083344c0676f36fa52cde7958973099cc11e7d342ff95f85ae704aed6aba835309c8ccfa563f112958dc79e05bb1558ddf4730ce0ab46e4ea462d98349cfc674de0dd13f8c2a48c5deb2322c191112285495ce2f9727ca64e244cdf48259e0d16915e5dbbcbeb3622f3dd6b73142bfc7df72dd4f4ad9a4f4b8b5fdc8526de7d62526f3e0085f024c43ff8bec1f17219477d068e4f0a1ff6fe23cb7c0c3367d3fbe925b835e4ab82999de735773872a168795188efb9991ac6397e15cc9312990fff9ea003da0e54cc1ba420464414de021bbe196b62f8028957a852565aba26bc16d1f13fc36c51f54830e2dd0b72a4b94244fe04a0cddfd71dfc65238970c62f2596123b5a399ecf9eaef0da975e1cf03346b73066b5c674347a29a27129b0833971f4d9e196b9f7bb86615a39724cc087b6032f564c3267073a6f9b044f3705cb6a90cdcf1f63f5c3b4bda2297209e6ec26ce20a4d2f382ea82d29f3544256dfb2c069eb803abe50f505d15d2371f26fc57a255ad912f2cce5e92a7c58762ac4f79b469fdd8e7732b8024329d725fe5b52c73737413161d03549c1cc51f0bc56f689a120c3eb8a5fadc8e8033527048950f3b23eb87f521ba6009fe33dc608c3eea0b7f379d79ba54ef8aae405a84d49a96f07bca927a7e34d41390f6425d9018cadba37e8704733911695546720b5dd3d3503e0f2c6308738fe688d8b121a36b36d97aa96d0733ad8d34f0fe725875df9641244829f52923a9a700cd9c5d445443d0131fb366dea57ceb835972432e4ea6e0d502c89e615c85e675c9e8062838901c284e81ee047f17ec75925e4bf890b9b2f11404f37b73df1ebeef5a3dc60746696dc8d8b88dd972ca5341724dc70b7079bf905919cea3dbcb9f6f01cfa59e48489f3a3dc21c66ff6a618a721d398b7acbad595ecb1dd0aefac774ec70bc2ca229890e864c6fc815efc9db216dc8701d8479d5c99ce7bec0fc01387b5309ea021665e15452b12f2219767857730a08ab5feab8be184066601c7f95416e0fd56bd40a0999677b37f02379521e80cd0c211faabb66dd7b2d088d0e8d1295d113b0e25d55a0c31a63f99d4ac6723823f94955b979ed92d20b837c1dfd12860ad4103f5c9054a15639632e982b72dab5461e6ef35a26a099478629ad9b0acd64670874cc6ddad79ff66447b40f72f72b2064dc9de48158fd5d05d4f80dfac9b8f92d64ede26a180524352cc4b472783b9b99de91e2ed59871b0b0770f01d3d3e30ef907a998f961830aff2d8535c0f9ad7f32c5516ee223b4520118bfbf0ef49fa8389759dadeb03882b6c5541720faabfa6fc2200257fa7a00fe798c879638f1e4e0da437263fd13f8ce24152727b4c7a1bb1c7678caf6911f321b55f3d58678b47280636229cf884e723098672b9117845407de5e370889174c52d05ad9ec034b20418bb5c77fa5483f5ceae72c2f516bacd813f9f0f026c92590dea2657eb5bec277f4a8806ad589300ad817222ab220364ce6dec97c09ccb2665229bcb6316970b36520ea2898b700d527f1bb92bf4d7d03a5f358c718615bca7cda58f3dc74103e9d3e2c90370445049fe72d1fd19d225290d774f2f8c40311da06dad40cca7fc03a73a94a27cf2aa35a472333483a5e6b222fd74758460937cc62b8729673dc3ff3c3fee2ba1a8bf45272c7edf88b14332b4275a53cc7a6e6c181c8414e1fb3b5bc355aaea1432d7b7ce72d5fbfeaaea77582464b32521297084120b36b3f05fe244385829523057532168a77879b04eef4b664b841748f025b49c0b6eed138784166716c631ee882ac372b17797d2c9bc38221b4617458df4c88523b458ba6a279dad3114032391e910724010bc11c802fa5694971e89d8857aa04104fb1f4f76da8015f2157b682c3b72333f13971e2926673d52465d53d89a0ebc0afebc2fedeff982bd268b4905c43a3ec6ff5ae29dc62f3e67bb62f6a6fe348780091ee3823d7833b8cb0cf9a67b4a0a52533843971c03379676260077a85aa3f4e496d68ed916cd04f3a8572ce072aab6290f74aad5768020945879b415a43e82d101257bd6eab7600bf4a6c08972bac279c8c570b541a52eb809f2a06fa0925ab7f6b1dc28289c93d51674912b7299e05284669ef0702ab0f05b929b280a56b50227237e9ad5446b49fec1c14c3c06d5167a9ed92c505e14af171e513da87e1fe8ab4092418b3d127a576d413566756addf5a1b6475a474d5ae4ce43ee4309947a6a43026b048dcaf9aeb6e84d72f56a30fffc32d2e249927a8b447d8405b8a40e28846c95dc01a5bc619ef0295ae546c756a307ad9133f2528022c4906d884ffa2a5c9fe6854577c4edafa49554b611611c63a5beecf2ea3537e95718e114093fba2aa7bfc4ce4b46abc7c6ab72263433f4830b3928db74551ace3ddfdddafb0d73309b8e91ca5df4924b4e47729ac5ea0eff0e6a30b7da34267d74f65a5ee915067b79d6e3b03adeb5cca4d37253aebf093115fb8fa4f3ee1a665426426c5acf9d7cd6a9a885cc77b644543661dbdf41b21e6d57a8771ae88a0b48d4f367d967a9291198cab57c90266d034055a6c27bdf232ea91105f19f3d74fdf9240c59566ebf435afcb95e0445e8ad8d7209049096d9d3df7d513a6dd842300de063de84768631ff152e04575e3e831972efe338269cbdf96b301af7ac10c66e9597c1beaf4d0133f22589330f96704123997db74a7af57e1359d078860b57779096101768640b0d4b15e897a34b4116659fd09a8df1c34059b4b33b576abe4a7e00948c896bdc2003da807123124a49725d662e60b4305919e70281f3203b75d9530a32dcd441a497863616727efdfe72f0a6932dea163a254ad39bda72c5b3c558543128ba65b8ef6bd9cc7a974329432dace4843377e5ef432a12f4d4d837c737da8c1aa17a877c532449ae2edc8672833478fe866067460cc8de87255f1e51367b8d1f38d0f3e837504eb042b204726bcacd3339e10593d99dac861e529f749fc41a4f824c88c3876a0c86af80aa7259c93d62783fa29eb43fbe565de56f7dd6249ed86ec3bed9b1667e9633af5d7298468a975d3cc4b6dc0670bf3897ba40398d448a071c76ffe9a8df9b8c06e3723eddc31e08821639a022dc965fbd9f9a1d771536dbb9469a4aab7fa566875d5aa558eefc5edbaac9903c0a4526334a30d0b2830d9ef336824e192bd5f649b57218aabd3ec01554c9d08c1a2c856e49d740a13509b38619baaafb53b4fe52c272d326333271063ccc9078b98e344c0f0986f5109ee455c9815cf0f05c2eff2626b8e497fece7389a769841b0f0b21506ad0120fda4a8b00a29585f743e8544672537c195eb3668f30221ab60100d6347d0ef532553247e8ecf079fc36e2609b21a76c5befb581e623e253292a4ac40e9141ed53b9a856244246b5e630ccd3ff72135b970f938af21ffd8e7d21f22a3ad71e76535eff01126c850fa854203a3f3bb186e218c3d9a5a62b01196b4587f6a038d1855e91eb5a2fb59c0172d4edcf724194db12fff3a1284e180de4d8ec203cd623115f96da0ed05ef03d3a92752872a98c6678dccb631281adf13abbf700555e818122433f60d5ca84d203b29da17213ca9612d1441621598e9c0f2ccdb8fb1ade15a1554165a495a7c4373845c6561e85bf13f8413b1357151b725b1f502bb59e040d746fc73f1553d26ac55d4a222a3a699ef2db548a7f93b5d3b43b2565c812a7f8a41e2267fb4766d8441330381a7e1d16886c7ad6a20463741ac33ff80157e43c86f87bfd8fba2f24be818672b0a978667179df64e1933fd76e6675e6a90bcc0968ce657dc9872db1bd491172864d48f58b7baa41547e73d0f4fc809c320bc8b7fff15c60cf476cdbbb87111e45725c8529752d17d343fe077c7c0580c915174858b2f97c980b8e729400b7422e20398c5cddb489f7454dfacadd9806428ce6c98a2c2b136e7bd6a375f4985e185d676344c45cf052f1d17ec300d50becf5f8e8b7f77f75251613f7da813300d2564851a3e24d3d395316869f723ec84a8e7b47cdb587d159cc434a154cde72372ec905c18c30a9b86a5f0866fc492329fa74622965de09b6bca5636a017f639a3b6b5987de134bbca3ba9dce4216fe524136e8a71a47f0100d1f03f0edde72c3094187f5633a0cb53d4f77d5a4aafb54717a2c31bf935da47125bcf763e05f78c64175dc4170cebe456606ae61eb7c095084306b5e8b6a6bd2404ec4d42346c0c9befce79eaca4e7a4b5914238e14838c974be9ea4a43e82f8d4c5f7262272513250d2147fa1f65129ffe678d067bac39e0cb3f30731681bdaca43615e962e5a5233bbf6a0be2cfdb6dd742e2509625e07672b90cbffdb28cdddafc652ee72592102f23a51959db095adc6402f6ea6be87dec3c0e7c4ba9179728759efe272731015ffa77a0ee5b257c008f2b913846a35d067497688334ddaca606b21244d2b2e1d2ab3f670e42f2bef084e72ed499b209d54102ba04f1588a545c3b80a7264a8b35f7b129710342d2e1409c3c82fc2a9eec0ac5db181796a6428e6812361f121eb0e9de2a6bdc31c5dec93de99b399bd5c453ab9282a888b6d1d53465b727490e850d5b1d3136a8a0844acd676495f2013f9c9e7457ffeca3dfd75eb7f11a7d2149a7e39733e0c2e0a957a4ec023e8f282ccc2486a46c5415ead904e787205c33c365d0f67b93a099328629f877edb920be08b774847e3c707f6a253ec72efa9c94de9790b30746e57ae35f0e2d97f9e57613a0f254a640709a581a46f1dc3d66be5e1cd608240878cd7181bbb1db52ac8b344603f9260f8660bd643515810e2199fc70902e89db008a9cfa988ceff0ed0c93b1794811e8e6c1141e70f72d29e86afd0dc9c4adbdb8a78318569a9b65c8411949021e3c522584e056796107dcb8db6d23205c8fee8c657787c387ad81d8a9c6089d9f26aaafe9da6109166cb16e1f06c89f15869638b5c00000fb19511e7e0eb855113644a522629c4a43c9738806e725e6aacf794f71d55afa8366c8803c65d259ac78470d2288bcd0572af255656986d65a444fe9801a53b8976cf243bd60a6c5f26c5f0f2e44e03087266e60b67a1ad115105aa50159180b4d749ecd416d893618f7c35635a0d0a043dd00fb6a9c370b3ab9f78e1cdc62a8f39b59a505d3cfbf8f64141dc7913867819649583f4dcac6510e606ed24b7755b103b9cca76a379a907e6a455925478e772fd2aca6e02ac8e1eeef186fbae28828cd048e03c7262ee538da856b43a995d728c0cf66de2776154c8c27c4cc690117d1f6f170fff6595520b074e2903938a728384156d8431c1159f14f743706d8c026eb60f19cdec4415dea24f23de1e7b09cd70abbef41836b4aaf112d6ec2c6225c0164b6b4026362e70e5f7439e431c728f9e3e3eeb40291f44f3dfe1c099d52c001a5884c5c6fe8fb9dff7cb1c534e554ee2925db0d9728136b50843b8b945f17d23959ae0c7ebeaefc10c23e89d62722472196ac64abcaa89bd251aba535187372a62446cc333d53d134c7ccc97bc05fb55d4336e88fca4442baac12969f8feadfc6108125f3b5ada5b2bb92dc50e7232bdd537ce464432cf6b260ec5c14828b28e1685e897560b1761883e540b3b556c95b8511866933ba966d5db9da65b04fab799b7304b3c09cfc505b27122e6725f2658d7b209f2e02947abaa23dc8307bb1b1b5715e087a17d7dcba144c2e4725d7dc7aa57ccffe202bc6e507094e7d889f8491ca1581c36ab39a4bf21e2b372ff8afb552572dce9281dd261a56dc1adc3845a41515fb19b4e64715c4152e53d639d1cc211bd7c9ea3b35da3e54d55e28cdc3044afd8bbef8226120d612fdb725d3d5a7be61c7e6efdf945bf446d0a42198b0fd0e77d78e1eb06146ec9e58b69ef17a95cb7614518764cf0392830860667ae03e9d79c0cfd2224fe49d471fa72d25e06d4521503560067db955e1cf8afa38cbbb56ea5e24683eb6e9a6c2ab07283648dea22ffa4ce918ca4b339ec5c0348727da98c45bf80d2830f0804d46372873130ca3f189e22f767f01f45d93fd314281fee71d61e224f372bd9fcf73c72946c8b0e0deefe06e008a1cb6fe1faa58355fda38e3625dbc87420194988372b157597f7c092884d84f6cc56e774ccafed8272187d0f6d2883ce4f8e08389e72a74c10f7826fa879f122b097c3618d8a25417bdb457bb36a504748370749436223998bc8f33714a58e4dc12adb697a4d6f6e6bd72d8741b616540bead698cd2e0848ff29437e115da9ff0a5d45a08e09510004e52735c986b31f5e8d9c5bb472c93fddeddfbca5eb621ca35e49235e6ad9d76306f962a5b29c951d01a4501048af4d166d388dc5e50287f8e64805a77958b8b03eacdfc730d85bfb3d1ff1ce724f92abefc86124b7ced9236f8e8458d55834429c53de8b704583c205dce66648afad1957c35cc188d2501c2e4d098c992af2dc953ffb836b280b9a54fdec9d249e38452e2cd5cf365f79ff9226be68d8749aba5bcf4bccd4400969428ee7f13e55b1f729a9836ba6eff1edffc8085f88369a083743b8a48bec4712c2ab56d91622a25e9ac2fb378911692a9719cb2f71491d0baea7d27e6255bb7ffc019cd9724cb2c5200a84e4e6b41dd507b292b426e38edaad698da400edc797ee87355270bf4be641af7dfda1336779926b514956838d01b0c22ee49ce92fa02bcdf6cc7230956f1a8db7d9de5b8329b709092ef702e2475a559a0d16b9ba0de566d1f8725b2d600f8a7acd75ecc41cbcc63013b48e87fd7a74829103d5a557bb4cc7993bc21d10f56e9d8814317040dd99f3daa75d529319a2ee5cd5b4eb64902fb3c172f5b77566cad69e663d48019f1a390ac44acfa1d4da7e4f0900ad588ce7b6f4471aebd0330d294610d694a311f1bcb287da317f2258ac5a15ceee795751048b72ef9a001dda7e2469aff37990f7fd260726313c3ee3205d1cec02c12add740b728898dd2e45ea84c5734f27943f233f09bc07ba649774415af5460f8230347c723c30b18d10fb7e83d2310470ae960f3c24953ef7f3a88dc1191f14d64d538572591f4357475f1794faac386e578fd0f5b659b8dad257a10e8f6dbce9274aeb611c7e0714ffa12b7fbbacaf4b61105e88d166300d06989577d596d6eb5c3b947258250cd8e248a6bac231c0f959c8c8ba4a6d29976e42eadc4bec18ad636f5a72cc6f6deb5abd4fc2003b42cdb5a41d075032ba108d0f6a82f67d6329df499572df8344953680e960c7236be5d9f0b8af0bf3710a97dc9a232f4400490253df510cc720b24ced9de9abf8aaae9a2791c03affc63d8ade20c67d84a874e888a17269a4bc6ab3365fa2bcd6b9d4bee14616e52c78715fe7a85ef50c67381da9f63ced79e96b2bad4487e24da0cc57a34d2262cc0e436c4787688703bd530055fd72eaee7f9b538a19174bdaead7f655c85d7f9f88b7e0da7c10aedc2b906b67aa7203544c65eaa49ec4bf0b53e45aa0ce46318847e0bedda3b05b5749ca1ee1f472468a4905d8a5312013aee81b40e910cc611d1c75d70219fbf078445adfcaec7289f9a1e4b1b4281110f4231d1159abc674f55d23ac805fe5f4aa027eccc68872c4a14d3bbd17371b7b275f9e9dc0b6bd3575d1f8a816d298baf04cbb548505727f88f1dd566eb8862c2214e9d7b75889a42f4cf0696f5118d1046070e31c93247d87277d39761feef73295b18bb6c22033fc0367e19ef77596df0a32e01297720a63b3cbbffbb1fa796f430a1948f5874e5bb5fccc103cd08e0f8d79f99b2c72a49a0c448c9933cefc434c5355b046b74a0794b262f032f635236db48e35a664cea72d9eaa81d0daf6fc8cc8b8421137c099ed8c2f32a374e4df5b94565ea817c95ff5fe42c39521757de2a3d9c4f4dbb418431fb6a8ca0d292f2f195c1f57225876ad382d2b53f60f525c9c08a3ae6b5cd1ac25882930faa685e4b2907c167284896bc9ba55cd1779447c049b38d53bf4c1708e53821749b1e0218dac220f72069bf3b1004f164aa52ecd31605f576c8c6413d9b24039bbb0ba949b538a7172409e91fe1e17b4581d7cd2945ef9d1733649435ed99e496de76ece8a105c2372ee30cb40bdf5fcc1d71688bdd79a8842d186fdae4af19478012fae15d7f9e6729e46cb81dc8a6441ae335bf76b79adbe0a25db6a8ecfb738ec7fd917f3a52472456732c034a8753696632f797c5cd6c37b3405b33b618d56d75e4586efa49372c0d8c1df528b9eb5017370c832f7d0d6023aecbff1643b2dedd4d70275bc5a3bf35267345a07280c0094e9d09b75f95da60a7c6cd524820e79f640f46f754b1900ac44bacc3b70c14be2d2bf05a4bbb6406020ec97074299a7371f8931083d11670660537ee3375027e07b84a077338d030a533b6d3e76f8c39867aa6ed8c9720c9e6e20cc116e9ba2cdbaecb7958756efe170cd68dbddd57fe99876b9194e7105fb1da40ec3652a2dfd4a3928fa4ef587226b04282d0b971ad39bedcf1dd0723037c7d1b1de8778d822eb00c97dca464637871544e09974196f6793ae68e2721cf40eaa50ef8302607b9c7bc6a9cececb6919ed6b7139d9c89db918b937f572f5cec1c0dda8d6aa55ad53d11b7078b9ad73a6e71bfc33a7f5b6e9ee704b4b72cb7dbda6ad33654b04be0d4e33d9ab5fe2e2cfd6f07d0950980e8ad1e7c98a72d5e8b4208fefa283c773b9745e29e39fa051aaddb5914d757174233fe3563e6d6559b3616381e876b96514602b8fba857dac84bb86341edc3717f37036666d72ab1ba6c6945c53d2fb583d9e96ab28c782f89a402703070eabab333e3870442da6716a75202aa49cf4ac4d2ce268ec37f4a9711d5b49a932e87721f8ab8488724a13aceff22e2970ddd9d4be27279d6fe213fd9ea963abaaa8889a3210f1b55165a8d9d83858eb5420573d4fbe4ea8dd33f3749209a155a95511d2aa7da1732e291a461c472b81bc00afa599decdf88c523e3e71371aa88a524fe235f9cd8372835e5096d571a4a294b96991231c400e0d79fef08ea981c1f31a64f25e99366c9c7d53b6c69777ecb39cbfe3c03cbe1c2d2ccdfe8a908748ece397e48b2cd672c67f27d8280a390e3b372222b93083a26db49789ad2d76a6fd91a9c706afdd72fe6dbdcdde2c875f25660553958f3b916a4903c5a1b0e985b668fe56c04a8e7279c0192142f55cc66eaa0ca81722ac4ee2c2fb749f086eb0100dfd1c4b933506e09f3b4d114e5874c7172458999c8b431c671597635d37a539ffb62483e4363387accac6fd6520a2e6d8f292f48854b7a11fd56b81dea6bfbb9dccc2ad65ea369087412b4bc4856c9b4e63944983e629c172047bc0fa3a0bd7c129b20fb52772d7b8853ab0ed2740838aef2c8ab5abdf08f4806d6e4740c0bc83f111e8d05c72b8de76b7e6e21ccbbd4e6990d57c7ecac86e3884c9bdf2b3989fcd65429ce50569d9164bbded940413e9160fbd0a85339bde08db8ad49dbe8e3daa12070e0c72d3996092a9d5556b6e25b1d99112185ec08d4232142f127c8071dcbf9c51b672eb86fd45dca6413f6cf7906bf3a3ab67e962ab88c98d3cb854e268ed6d490c147fbadfed1eb39ee2514df9345a7589094b45912ffd7eb63534bb6ac3916a7172519f75be7d9ebdcfe449cbd1c65103997b5399388bc8f620d23be2b382e0b33d20e4bf9eb995af11c91c916b9e88b5418a5b69433ea185ac8c9553a873838572014fe12a9eec6b9b7771ef96c7b19499eb9149a3285e814b8873c9757850632efb240b4a6520363d0167a2296cbc8a3e0eaa6cd8ee7dffd1025db6ac6a3cab72343093665caa5c90bbe757436d523ab032fa8800c0ace2afb43773e4b5402d72441cdf44c8ad363920f9f398448e3ed759857407d032c7efbf5a2c668b34c0725149f55cd79ee8471e39601e652f7ba0e7d482ddbb68ce456c0a11573d09ea2bba5783fc01d58b13c9f3a7ac128639fffc89d887d23a3f1d2ee7862a0f4ec9729b29dc24628cb9a6911cc95c7725110f5d845f174a7b9e4f7b56f2db2f8a03064cfdd9b5c00c200a72738e728f744af872969c63350df17af1d585ff42b2286c5a57947df756e4c38e616af8dc5dbbbfddacb304a52a29ed0394e8b2c809711a66882c354d033556ed043dfafb2eed34dd1cb6ee80580f53741c6d044d0a5b72d0dc6f990b666442ce4b172a04953a55e0e5885b50c73e9b2e3aa812b45e1872f3d561c590a140574975368d8dd17bafa153d781da730aa532ec94308f464772774d1636691bb098d40d1da28a43a747cb64e4e161baecd0e01b5c858ef7ac72a0774cee5355f9b1f7abf8e0aa2ab6dfcd0582828182f36379ceade68ceff44bf3d85715a4b4c3ecc8d5015bd1c0968308698491cabe95be8e5cae28a6b5e972483c6c081724440763883d6fa62b836452d348bec6f3e28dada641d82f27a462614610bd506f5e100382e4abb8c0bc67c1715e284bf5e39685c25c324384ce727ae55afc54aada1d8c8d24de9d1b370abc93123db792e38e1d1d13172c002b4062a62ce69f213c4a41a2a514289cf910f2e27dd17d53ee7caa20752033dc1e3adfda249d877cadafb7b075e4587c8dacc7d5d2891b1096721032706b3e55696e1fc0ca2034894b08e9819201bf5e9f6031a44a9e810ebee936e1c169d4e83634ecf88fff42f104761b942f42cb8d8383faf4bb414e48fdc3cb247f047c7d7a54b0c6c0c5eed055f5b2e51b02a2ce0c500046c8f61d2710f32d63d4ccd7f6761bf46a36281d6d9167919dd131693da538e080003a70ff8dc0a08f92e2b2ca94723d43e1eaa7305700e6c11bfbb7983beb3715b0526a67b94d636e6f12dfbb0972a3947e79335587fe76da18748564ca53829a604cd94cb496da9242207aaab27283a9512c270c97aa5f11e839b3741e49d9329ca0c86c387a208ed2824381e672547474c4e329b542f6234ab3ed3d18308320f2eba300eb90e2ff2fe678d52021f1439c7cfdfe1ce37aee48dff35878a0823a1297e8e58e523d19b0b1a0c612553d5892b709bcaf1f29569886d818a1945c61002b66af2f04be2a62c68285f672ac415a44c4f9d2f59418e40e5d7d2d83a51b6a6c901b3937321d9b145ab0b36d7b016802087a58dc802217e0f7ccb2069b6982b56f90a393642d0b32f7fd786cca3f767f28292c241544f54832c46a348a6ed37b9123a2890a9804544659fc72483d640e730e0072e9c15ed31d51505cfb3947661ff803aa42e00c4aea435572e1d0d83083e8eba5bc1b48d4869f3ea43b21cd5899e7552f3ca7fa1c698ea20c8efc88937a3600b32f6dd3e3b900c3288e8eb05b303bd6d364dbd92345e0a311de32cc36fa1a28cebf13051d227f18b1f5989f2b15505de1bc5ef62c87b21772d13c3298d92fd19122cbfccc9e4362e4a8d0d336ac5ea15c2f51d14221855909c44d6457ab0457f94d63fb53c416025d7313bb581d3c0d8289b870613a58a4720c3ed83d209e8cf5debd4d7d83597971be774d584a0fd90ffaa0cc4eeacaa0723e628063cdcd07713ba8a51e7c6449133733a1cfad001edece23ccf47aaca96e3603fd82d3d8fda1b96de713b51b6a580e4a45d8d69242b6f69bf98c2b6a88461b8ccc004c8416be8976fc86c97176b91f392449c14129bee1fe00beea51877230e1aeaeafa6340db75114fc6232b0165e2305f969364ffe1ac0c14b96f70428c8e6c9157a8afc3df471aeca9812cc9299d5dd91941357d36a5995631b81d2726b8d45747b20f9cb5f8d8d06df4fcf619d8dc0789f79af7b877fbc9b12867c722216e0d7f95a638939cdd4066bac305405aaedda7885f8706af0293dc48222720939edcda7e0357ffe7a24f899ea8d362af78bfeb1de9dedd66c676ffa527e7278a91b78dc2c6c1638dad6923391850071f2ea7e2f38a76a8b958be3db6e6372713210874e29f9119456b8e2e47107675eb1f6508d95844466d8b35677005d723600d1210d97a7c7640a5608c847a7c1786c40c8b76c684cdce1747ab4af69683554e03f9a40ec7182a29cc95a803fafae2056d5127d846fa46f6f660d8c8272a78dea767a65883913c1a76cca4ce89b0073be8a764c8ad41a1f53e11aec09724490f2588e1b4cbf6bdaad0f59d27a632b173c73d22d99499c09315621df7e57dd204190ecc6f28336bdb2eba63a77b7ee138f8ffd034574c50e6b80c9cf3f3dc24c0aee0f00fbcf0c8163cd6686cee00786ecba042d2d835cffaa9450fb0272ff99478b7957072c0a8cf4fabeb5ca772a7756c183c121746f01f3b8450cd37200ef042f8392e91b616d0eb1e422b83d81627719f75529f3331415bbaa29b572be4dfd24e09137844d10e6194b05c2e411fd4add68e991751458f90b65ba4c72e50c7af1947418b83a02ef62d1723b63ca2144956adfe2c2e77ee02eecd76a72268e46390c1a39373ef23e3d82b0ca3f7c9eb6640ab6d288f5e55b13cc148c7273ce9b8fd3f3c032e8f434b69c3edd5c30b258a921303425020fa7f9d086257262e471b60e4f8bceea90a4890b3081b86c1020dc702c1ced9ffb6b43e8863c72f561c790a56676f0acf6cd825b70441fc319f20689c454cf08272181ccc45872ace30f3202649e85b6c683e23bfd3d880cf64828bff02551c5824d9b4619aa7245c2eb39823ecc138cd5a68b3d99c6faeb130c88979bba0a198b7c25b200237275f2d16f641385129673922cde59ef10b25ef43df7b3a804e871727fe6f6777278f41b1ec40636081016e72f9a501a19500e0ccb615057be824f8e820b2023720818d4a60ca6e3d6dc9ec5611701db5dcaa98ec3a85e7f179d6f4e5a09bfbc3a39f765a525e97067e49b646bfa26f876ab11568c777bf91694dbb5c8d259bb722bfbf1455f3e26088908055e570c8f664a2624ae34087247506e85d591f77a72ceb2249b06f3d51a8b295682b02eb143fe1a3113b6ff107cd58ae1aa4305d3720bb6b3c7110149022496f22b086707ce0ebdfd3bd1d6c4b66741a95617426c0c9c941aedd52955c4c78e7ad1fe1b4f7d8bd581d930ee2a372584505b9017361774ab5e1e925359c165244e3a242c61ca657338f81f824ab8b3650486768c662081401218891586889528221686073d0e4ecba6ccfa3fe921a48be2786989e67260a0ae97534556fc82fc1cfdd60301bba95c3864239ee0b6db2099f2ef85cf608799f6588147b6aa74b63186914c73ec2fa57ddbd9573b19ce75d724e7a1827231eedd16789297f0abafe83e450abe2c983674d51954375024f5f0753098740a61795ca13dd27322888ab19c1d35747bb46c271b714aeaafe613ef59d487f11a26344aedcff5d5f06c0a374c812dec60d7a8d8e6c82688cfb9648b57fe6acd4bdc052fb974c29a648cbb6a09dfac94ec4662ca278269ee8929b31dca0d3d30329fe398569e2416262e27942408550def2b82d53298ee536c6117c6fdc8b9d072671b139f95d574c0df22c4dc11a8f4a6540b1761198885caa01a06e39cfb4c72010ad9290c3983e9c27ba52c159963e407bfb6f01d339b3213f72510ac182772ea58e156d8ac9f538334f789873121346b8d9d85babf0af9c60d2210a6298e72092f0996ef222a4dbb48d5488756beb0a53cfea4074fb2b11f1bd0b7fb0b9a7237de66be7f4ed97faa2ea79b5c89c137c4081f915e00f0f422ab122a21314672903b080ae98d52a76658c4d6465ba026036d3545a5f5d3cc866bdd22c0ca9e161ee2d6f26491e042e810fd964496e7baddb80d1f85a49ca92e1183ea01f197727c0924ca32535cf20ea5564db7c924da0e2999f25af3502196045713cdd8a072e2618273ff31b594c1da5b25fbf26697f1046a16848d1feb2210de5771411968b35d54dd1980bf31507fca11bfa63c15ae750bac1e9fda237124a3a712e75e72695cb8e1cfc286ebb33fe35a8b1b552c683a488ced8ce759f56057d71a05d8723f112d8a15708ea9204cad307143bfba82990c743ea7cf8e7b364be3252839725d2226f86fc0132bd1176026975834cc3106e112fdae8cfe6a396a2341777b22613947d5df27f65554ceca82abc1f0e515a32e854edefd4512c302fa326a6972771e01c414dc18c6920b5c544a19d64b1815e36be3131be05afaca913c13ed3bcf4b31321496b7eda3f8d080c06c6d252c15c65db76fa588f20defb3df11357294f87a1e415c06ff526a99b31d1e74228ad0a251deb6a8cd164a343db0e0900d256ff6d901ad1a550847abbd683c8c6b47567553af3929b7a3329321418bc5725c9a877b8b75e3b7e6e37a40092430b71f65d8235bd1d7e324de224132e63772fbeced0978b3037a99ed7f6a768bd628f364b0cbe62c533dda6e8b2d19186a720f13d898dbfa9fe2533aad8921e79f0c1c3f4682f6dbbad20e97964231774772ddfee1ca3c1509453bd4ea478a50ae3acd90ac97bcb6373d3e502a0edf8e441e44a64de5e2a4eed8f4752cc37c7bd7a0a947eb093a4fe6336903e58a0836fe729d198de95883c7402b7d7589e8f425e528d5794bf7c980b729540b27eee11b72df5b07ce5f5b2cca0f48264efb5bd794c58cbf104dad3582218e28db7f641b72a9da3f8c598ee89e22d0badc4548667bed487cba36db3d57ce7b179de92f73584d0d315de9c7e1555d90e88a2d3c5a8eb6497c4e4a3a2611ba0167e230e06834644da17879e2ebe54d33b20b34551cd21ead835b8f748f739924141687ef7859f2e31275bf49833b71a9de39fc83f238220125949a22f6c48143804fe20a72129763e6da4d7193c4aac24bd481d8f74f72f9b56f72da8004848519103caa15721e0eb9cd2bd7fa23beaac08d17e347b6d1b45475a91750fc286794224e1aa07254afb43ec0a9dfc8c9ea7c6221a044fe1f41111c00b836cae25336a7dde64072f989f415dc87ea2c1094f1b4cb82e37b95b29877c83cfb0c47e672532217333a063bc797da0fc0a7bedeaee5edee4025d30eb352a375134f734f8cfdd3844d724c19e4dbd6b170c38e8bc60062aa11764f10f082eee823f45fc32b92ab3787457fd806aed1d7454e7a3be53f02e15b9d8c96dd0bc7490eee8a0cfc6cf9fa4772e5f112b6ebf23817e25ba6aa49fd2efea4112e7c16acf44e3eb6f6e7f1d1657266f8e3a88304ad95f27ffb8062972fcab9efdedba0b1d042c23e724a49b191727f4c1ab6d6b71290513cc92a9035744e80a53eb8c4d35883bf2b23132b7ed044ace4ba325d17e63a8545c99d26cf91947252799de8e2639ea0773a60eb427872e5ee81c833e802ff2add7b1191ba07d0b11e7d46692152fd795992e7f5e8fd04bbd48efc43bd87ca83ccea517c44db73defb8ba43d2600876d1086344ab8df5bcbf4ca035c45487e9c7314a8f524182481dd2941839528c9841a2b76f60f5817aeb98621b52616d49bcd4b773c920c9a14804ef3b1efb537353928c4527fe622b95a4840ec3c0c536afdfe66c2e59f0f2e9f028d85fbdeefa1abb4185c822072f90d8d15d057f059e18423892416f494a5f8b4b9893386781f4e45237cb1903c8eeed1ba4e59c7224a474a2dd303682b372e7d3b429e29151ad01705ccc4c472f44d54ae948f54bec2078b4e8fd2dff16fd6087c68d29059ac19dea183cea172dfa1bb2778566ad6e641d4003a08dec5ba502b7b6ce0dfb74a92c101983c055b28e18b36eefa97e4704ed680b3485ae570f3d5b2a6b45ae7448558c6a35c7f72a2aef51bca8bc22178539317527fd51cf5c45e0464c09b5e77777a310d681972f5ca225933b69a0bdea99082760eac693c87ca346ce0129e5ae5e497aba6cd729ec5900a88c76a1e2b29a34817d6e7211ef5ce15942427fc8fef36c567c5ee72a0c15cc67ede970fe9e651fdfd122004ee377880ba7b22722cb0c2471f37ce72c05985bf5f13721eaf7c060a714d71bf4c0da203b6e597123143d0fbe4f0665c64e13907a3dbb68323cb60cbfb2260b6b5709830e8de2582bff71f1e05ef2172fa1cda9c6d5dde7a0ff4aae5c26c44c769109a3a129c2514b5cfd4fc4b68d972ba25ca4bf1aa8b77fa8bb08320c0c471e6f998a1055598206476b758bed61072a8e265b700fb471075b61b587365350ec12bfb8362a80103508adb0362aa0b2e834b772dc1fe9fee5823e9ab94a3307d8720bfa98c5cc55425a73b8c0db62f56fe7bcaa9a3e7cfb1b1c6ff3b27574ae11fd814e489683e88d044dae073650d72cce416824372401bfd6728a89535c732530f2b17dca89519e0574c0342b10628cbbeee77c54840efa6fae683afe75f44f55192b2e5e0eead0c53efd084394772cc06f0c33c22dbb648bc00de565a154564e789c68e9eb6d62a9c7834b01cda3720a2b26191aa66fc58e9561549c789fad8501a81522cb8bca8f2a6f1134ed95d1b2d0b5a341c6ca35bf4817121de886ec19a8767b543b642cfa0436ca3e26150904b6028c708fa1f96bdfacb8e812f3383da8a9345b3a08ea8d243116d2d2c72a8c012567c7b4ab505c8222f55c986e2305a75aa5c24959eb7af881257909f249e5a00d1b035923455ee30db892353098b8efb3a43c05fb5a85d87ab55aef821aef3897d82d2746a3dd0500f2a6d8045858b073584d825455106c3dbc378982f78a7867708c70a9753d9a06b31211cb9c6b08e31015cb36b58ef07729fd6ce7205a9507195289bdd7212d1daa65677bc0ded5255770f0006bb0de0f302b30772f7f66604cc3c151bc64be612214e5670376e2a61f021801c14aff4f22dc32372e24f1cbe32f04cb1162bc1303093dc23d9b12f21f59f851912d19de3f4a55d7246af0bf74ff180c61886e9d0d6d433e42ab8c6b74955a74a68cf8a90b904d672b9e55ff1cec66895e963d496ef23c68d81e571cb66a19b5962246a70d86c1e60137e71e42579bc1f57790c730d8134e3193d1116c529fc9ffe66b5e39635477274b0f78270159df9ac28e11e6904ad1b66d54f0be7c955efa4b1881540ea1e56dc7e523e8e1c40fa66636acf1382695a979318fac582a2228c29f207f0acb5519e39bc65b8430281433f95743e63e235ed77fab9f8e7ad4c11f560c331a94172b9d840eccd9e9f73bcafafcfeeff2ac308b99ad035166586b17d125dd8c1187210ca5603a2ff634742fbca8eb5679242c58f822a51ed46454943f7f5cfd4e072b0d258d2de99d779c74c895ab67d03a60d64e6c399992747496d9df8ae99954eb128315d709e278a420d6b745385903f964262321b0088bca7284ffdbe28643e897f33ed9ef8bf699dc4272dddd18594360b8f9703cafa91a7fc5f56ec09431ad7ded3022a57da6a7b2605ab8914cf9f6569b87fd9b491974bd1cb483f0b557256c25ab4f40fb4c559109472880e40070a1035772553576bdd0df9cbf8e51e7231d46090764ee291adeea60eb9158824e9fa8eab61fd7e01ee7269ce17509d72eb5857002f4d74555d844f1dcb188878ea9bdbe373683f696f34b1a1ea7b6d3693bf2d2ca8a12024325890f406b4af865db70d4d8dfd4bce4707c5a951375a72c7b0af9122989a6e13b092b052240cfd5fbb573aca008fb46b528c7f57c7ba72bb9db0a19bf07c03b09fb8ccc510c0906e544cc53a21ce10577361914fa4d31fe4458cc000b84e1eafc54b10bda33c2b7b42d905d66038845a6ae4f3422601726904323d64fd9e9a72d53463638ff60491f9f6e130205b35989a364dbf58245b7e85bd270d2f8e91997acc6ebc92ce5416f73d1fbe9ffa348852a7824407902c915c1cb7425136cab9368be011ab2b1084c7ecc28ddbdb1ae6cbe9155131657209e097de21782738be03ef11ce44cd84df5331958b8111b011921b9971f48372c598783b7f9891548df866bbba1ac879c3343d70708da66412bd67c6c993071ad4dd17dd3647336f791d5dcce22ea487201c65cf8e7abaa2ab77a60ca1f26472fd463f2d5a1fd439cf57f549e23a0fc466ac7c1600725c4a83d1e07896258a728bee71fc592a06f53cc00af96d3104be2d95aaac3574ace71bdf32b804321a073570eb1c9c03fad08f6d650927fd2f55048299cd7c653da1997f7e696696657208c813caf4cf7c753bed4d10212845b018e82e1aeb05b247623fec4f83da157289af9359b68c2f202b2a66028a7e810df91fc6a46d3d2bace312412d7c5bc9726dadb40aeb25c2919243aae88483619dfd53e9971656e0004005120079c4ab727cce26e7216a305e465374e729830bc0f7f0c5ccc5607601d557ec49142cea72481110ec8964c2916c73eaa8b0dbca2cbdaa34c9a2932f353a14ebc0dc29890a19e1a4c313743259a3d4511de5baeea6dc9e65fe6cf7c921f97d56356623b172af172dd0ae4885b0df31f7fb15663e0d16e731a01243e190749ea513444f2e72422aa54ad81d212b6d857c237633ce771720ac6b302a3b8a0df58ac45e336e72053b2f5e84354d7372629c462ce55d2e69a645d6d481e97fa0b4b22c59000e3ee2a892741549598ecc76696c755a1a60a1d72704c932ff0d6df247b2586f80728c29c3b9e9ebb79a278768981ee38c49e35a2c4ae5d4f4c89cdcdac8ceeb3b6e3373c0bab9b3b3ef448396d11d47a606ab84c9f37da06371ca4486e89405a00224868923d96d25ca0792a5577fbeeb40616849c8e49afdd7d1dc7742315582720bbd426ba52f011d9749fac35e156d70730b74d39a065ef27bbb9a958df2602f454cc0d6516e4893ef5cd8fb9f00cfffe55666e09cb179fd3db16f6b07508f72f672e0703c6c1eedf246e71661d62ff27b2971a1d09d739ac7d8a226124fe37276fc56e85ee5e2dba9cb768169e7f5896d30c1e933370e06e345296a3f527a1092ba55d14043e107133bcf6d4028a3258be8f122789c8c64c455b86e4607f872f6e1d88f1f9748a00f7a95bcf7393f629c2a1a4c386c1d3af44ccfe8f1227872d82cf191c4b351c3bde7ffbf73e36e73ee1a8908fffe12b952fee50af3bb9972bdb85960a0e76e99b5ece49eb4109b791b7de696fbe12004d7f9b1373f257b72c4fde6f0bbdda33aba50d2bc78d14b522df727ba349f6eb72839793fe000183530cb0b871934976053c34a34375f4b29bc7851ad1c7110295cf7a165b392847267db0f03d0eb9d49be8a9976f07c376206aac4ed589c04f278f98e4da3252650d2134386ca02fd52d3051bff6a7163a4816bc5b7144c78f5ad1ffbf5eb97602c60bdb4426209509c854f821cb376ebca35649e210562361774b7bc812cf44908f2ce186fa8f265ede3e251fd81b7b43e6850b792f74aea89394a08422431621d1fcf84e4566651c59046a22822ca5c06c66df06a1916c6bbaeb10b342c7144720ec90f61c4ea251746d43fbc4322b79a25da94ee3b7860e7381cc19883a9747296895858c5af095e2d5f50b4c94ba8bf09a0f48bc384a04fe8256b919974f249b0e7bffe993abda6bfb94024501dbfcd4e60509b33c8ffa94c8861e0c8c4c9726276b10012f816e4f4da899b18a0a7284177230c7d852492065967bdd1fe9f729439b25bb846b966c8da5f653d679d10616c79ea6be8e3b482c8346b54745d385d813d8fc418031cface3c367615b241e46f31563367a5ac749b1ae5176e5d72e4aff2870def53349d3af56317a40f0b2efd4da73148c3fbfc9be8cdf7580f7202eb8158542abf2dffb25174172bcbb76c63d32aa2e94f54d39b77dee352762855b194e9c575d9926822cc50f24cc9c591986699ce408cf252b4db74aeed27726f92941138789bbf68e3afac63baafc84cadf21c169a6386bbce36b394efab423134e3a9d878e4936622698b2c6c29c265175bc66297c6aecbe42b0475b5a727e5e6a90af5293278fc249762c1326a430c9f81956aa5a9fcb9f60df898ac98721cac7a13b8ede352b6f1a76d33d3c511fcd54a9cdd41517e88200505c3121c33d2d7c6cec577ab22d3d8cd71109c455d0be156624e8d5058b6556d7283d8407231d1516d3d180ba540739c4e749e124851145d9782f6d3670dc52098035666348c09b72859bcf7e8c4079e417cd39daeb0e3e6335eda499965e203025a032272e54df493b4109e925f3b4501be1f57808a3e657a1b72ebdc6fd24ff04dd3982d25cfb3682213f89e5160df797e709cfce4fe4cd0c4ec25cd71af9e3d8c3d690965d8d5b1532a85765fe90c628165c8e87a06b3c4ec7a59207d232b0c93692472b8116aae1a3063ba7bdf75e6d734b4d0b2974a1234bce71690fa903ba24e87720d6dec083a2d07ab7bc533e8fb795c27ce0e0d6bbfb61368d5bb26645d73206c04391fe5f31455837201ce88bd59a7551a3c9fdd105ca4d206a3fa28e5522872e28eeeb7442d7b9fe011ba4f2e9ef15358b20ddc3d816bf24d48c8090809066c0745726f6be1c5bef38941dacfe20e6e0a9df8f376d38950cab98b2f1267e672531bd957b74535ab5486615e1b5cfcde13a3bf1da967367f5488f7dd7bdbb03f2fe4cd5fad98d47345d28744439cdd9d2a3756e1ad37c66a44250271b335716252c1f9e6eb60a456cf9fb7c4133c2a1f739a6340792fa765fb99fa5fa769875bc3ea73fc4398ece6111398f578ffb33f107b827d7505f292b52ae1f3a50b7471c1e8f58b885925cc044d0ff370ffa091e59de2c219f8d6dc0e7ee43d9588e94bf8c33471c2244625ab5c5b2a1c55b4cb77d2a7453be9f17045b0afd4a18a8c72fc4b06bc46cf129fa0d98d5f389b96a262485f97d50652884b988fb4b36a157257dc1b2561c68586fc368ca8df16892c877b9526ce93de9c9affcd2b80b4e0727c8793eece49180a16d914182064bd789f5884af52cd680a5550ff89e453231fe3129631dead9306353125b7d7179e6f39b290089c5618cc5233a3e68b050441b8cdd633ec84ec9390b75c5b282f2b98675f1975e5dcf23106b505f847d47c6d4f969e3283aeabb54ef656a7b9ca84555e83c6a0a05342b664717cba81d1f272045a0249b17f37131203e076eee4f506cd72758c37f6a7a55406c46aaf533472a39b11e2ab9bd89689468ba43b135d9afd19c752d0587805db5a92560ccf9a660c005a5630d241ad8047b55b35332c73d4bcb5681425c9d2838ed552cbe4520779e4bcb1fffd9dd6afe33256f21d70c6d395ef0284039479f9a8f382f801865f320d97fbde43f5590efce687631139ba105f1460d654d12d1c4123fe8ad06c680020ea8d0d7e53c78185971849be41ac137513ed0c1e0e123967f1beebeb4843acb02457971d10ca647de58d3cbc75a464ec4e5e0372650185edd0dd79292f3d4974b8f886f183a91c55a0f9f4592fe9499633e4c1a45430ac4c46e87ff7327246a7f0fed25387e82d11f51cee3cdbbc4dcebdb7b539c0a789c9344872ae2b11dccfed3d94576323714b02978a3e060ce584cb6e19f1d6762cac3fca7e56ea7298a4b196466edadcc18af41847689e6e3712bdb10047b18dd3350f2afecded72681c83cd4cb6dab1cb52511f92bfc1fa950a43bd3207e58c81d89328ccc99b72a0c8f84a38b692017dd32c6aea46931cb4081e9afef875aa860298f7e69e470eac5f0efbca02d3c28150675365d13b6d2a6aafc1d942122ecd84093d910f0472713aa79ce3827e843d1341344ab79db38d2cc2997b0e1e20c0ddf50d0cd87172b3a027f63806a4e52ee3f8f29e10c8005e0269ac90bc18d4e9f35fb837ed0b726326412f96da2462b338c729c041b729ad261b10ee8a6b11c1fa4557a20f2672556d695f41bc6bf6ed20cbeb74861edab87fa172c1c0a5cf33e19faf8cb358727b3a1a56e6e48ca082509da0e7b3e032f989e7cf6baaf9431a0d9c67fc36e372f5f2a6c96c9a3be7961d176ed785c8ec8003f498545ba89a4ebcbd7cc359b343013d239115c0c724e80b20c0783709a00960699ecf921bfe74ab5d301fb85e67eb3acf99abbdcc7cc667e0da9d16ca5d3c690463f9d9e491ec83572540ffb87238d353b9181ee1daedf4df5bed9b484232ce09007a60731beb20a46a9b64fa48c337aa60a93cc9698d32f69bfd8de3ec487d645f8f99a317aee2602bc97baa09a1a20d89dd2ebe3b17d6cea7aa0376df2fa512208ce6a0aa2c72064d70d73972188dd648407abfe2db9a9fb0aa0523d204737b2dab4558be553c31595dbfc57211e68858a972d0ea73fd08d29742b362785f7df696c2c0fe0d7094767cdcf8643032d875070a921335483ba900d6c4b309746fd92a1b9c170ebb07dda0756730b9d65145fa4949482ea9ad3ecee07839deb779d45aa4c02f42f6422ea6b950727979b876cc047193602fb98f67e42e9ba2da451719c4b22c9426cccd1c74040b86b2cf0248ca781404a8993aa1d98a424b474e13debb2b716f041b932d249072c4cfac0a928f8e0544c1d6d4674eb4255e42c88f089336d7ed03250cb121a0727e47bb89161861a6df2e1f6e1fb10aa4240977364da44ef827ff8a187ab69610d163e6da946bac081f4d8b1134b8a2207e37f33b5b84b86472effa4c2803123e2b5eef45d2a92d9b854526fc440d8e678eacd85a34c68eae92c737882936a472c46925f2135768a85cd2b8915fd2a7dbfe69930ccaeec143337a217fd790207271447476a74b13c99cb1fb1d85bc7f804798740da0321f948b2d0f244c344072cbbfd2fe6c515137688568fd4521102349aa4a24782065492d05592405129072e65e813e8b11168ae36fa431c6b0fe1ee455409c42ae65d4ac9af1829dc4757283cc18ec70e31a011488dbd070edda5b292dad2b4499ee31a5f28c8385e4fa7231f144a8be0dc2a9296798917e84e2dbd8c775d19ea38567796f9a96f130084e0ba9767ded3a91717c04ca8d479c76531720bc6f94c813b5ff35e348e1d0dd72121876b74aa9b6005d3eace28ac32cadb55502e55e097ddb1824fe59f3a68e5ea44b167553d06b6a131eb814b993c234dcd1b6975146156d8e64cc3f674a6e720cfdad6484947b799f5b5ecabc8365b9cee4ea746175dab60246c9f1f289996b89e50f82ae9be4826349dd53561fa5fad7f816ad6648a29a69b4a6440a4f5f612c84cc8381d09875ae86fae89fa1c2f793676d3f37b480b2556a1808ac6be4196f43c902a1b8ba4ddb3562c2fb7235adb5a283e321ca30efa4fded3c8f94497239df59723df00549f7c2e33b6d4feacc9376471aa04d13d3b1cf2ffe8ce92c3f421be97ca2507b089d789ce8e7a4ae07584d35ee32c09b2fe2c177a95a573072b8160f075af96e356cbcbe7def21fc1aa32335ac31f340c4440d947280483972e3ca7df0f7b1a4bafce7963a174fca9e5c110b00a4017f35d97aa0d495933e476fa2ddc43cc750e85e903cf97f6cf6cf78d9d244f51ab3a92982ea643ef51e2d769fa2a00d534f59f671e6f0ecadd877f313f0f75dfa80d5002daf0c477d8372a1e4a3ab1912c3f21f8973e53177e0b886f01e21074b2b72c79f5b232d48032cd1ffe20bb5e2da7ce2042d91afcf20f5e93507c0b1bf2a04cdd9cb467465ce2c89e9d5bcc59991dce8622263df9335d360d07a0bbba04c08f6d7501f3bb5713478b2b94b07db4523ca8e0cf1a2abee13c81d71cd8235c65e54ce2747043cd45b6aac3b98ff31de191cab9bade4cfffc6a4b879f37b08898cf7527fbef08d2c30da9be8fc22e2460fd4731a1162713c49cc9b746c3910fcade38506efe8298872597c57211fcf75a070429c2fb61d8f3db6e1fdbacd2b2ea1dbb4a224026a8f720a0173d4473b15c2c92050648c2828405a9492d5e5629a92c354b93a5a824672169b87ad970e8d90d771cbd5eb7436d4cc6b144caae55179873175f5cd7e56554121555b51fe949840e4f4ac4b0097a157d6d83f2f6993ea06f9fd2472ad244306b2a0bddea9b669cfa9ab3454d16275f57537a26aaeffba7a65812b3f2505725c1ba41f32296e9e4fc7da661a3398cdbbb67af129bb9d596d5d92fa5122a67208fc016fd4829cbc8fb9508e2b6f577568e70bfe7ef1f828bdf8c04b9d2cba6c720c01daa21ea94c5067a1f2291a89a5f4f61ee997477f894d3ef27bc9d39172b2aef0c5345b592230e603708b90979861f816fee08534027b3c162fc956d04d43663e06729f93751912b5ef86eaa2b76f2285dc8164818f96fa17b4fa5ffa492dd509e10fcea77af40b5963bb9d36bc5394260693a921ade04983d5f256a272e71e9d0fe1f3d9d98a3e932ef4de13a87967408f6821280eca4c727fc504ac376cc928ed2463d4105e9ff668ed5d2bf99c7bdc2dd41b35c0165ce4a8ee571709dbb93eee1a42595d1f261a72ac8231cc16a8d410c185a7af6916a9c4fb7ecf728adf88f07596aa8940a30acc5b84023ed87ddac2da3f07fc9c368b43bdf6e93219588c31c02b8edd7d985b738eed688ba7774520a4ec3907f745c2f6017be072afd197a38d3df366892005f0b7966e45ba409470ebe87a86dc92c20229702b2fbf7c20ffa42b031b958eeb23c65968fb81091de88930b341b5f53c6e864ce7726e5d2ffb093613b00a0dc1dd1b2cb331cfb9ba63f3d30a7a956fd83ff2bdbc545fef1cbee5b5a894157ef5ad5f42ee2098e40ac29859d42d72a9eb8fd21c224b33dc987e33c9d697ece1bbdf2e277805e9e9d211cf73a4f16e8527fc8e4548314956febb25e28dda4cc3d8b4027c1162340152ae9716d96da4e46fb1c566e9063a50a99f6dde691e39215f4fa43e8c2c19fe7ecd3d4ad6f5b2e3186f0ca854727580c65544eb4c977ae726c831c38c83d36b23509451bf87eac8c1d82235d0722c31e95554d5c3b546665606e83243cbf65395d4eee121b97dc75a4ed6aea5721c5eba990c7af6b31078d2fffd3dbbd2affdae6e3459629b908240ae1c9aa972629011527bcd8a4634732d90122e188cceb2df4fac1cff54c8aa30b36ef150146b912ba448e6fe1e1d3eebe881dc64edcc17b110da16d06d1957f73932658572f081b0ac2a37984a5e4af28e53439c5ac785f637828b66938471ec66152ed61ef27a4097657b11281971a9c1010f63a92268fbc531888ab96d3197bfbcd82872aa4a2071bf321212a421ed8c1ef30745e38534c3c404b77e3e50f9b7c64dd572119d5ef5a7cb05e00348a0b60c63a6827fc266fa12c205eee9d388998585ba724bd43f1125c8b4d6fdd769e5d2a01c0da454f508b33d275cf110feff40d04272e1229cbf77ae798253d5963fb8273460cdef2c3979860e7ad4a6b09f84ad344a3a47e6197c73862b306a35719da9615b6f96d770660dfee0d708c84f983fcc59fb5f17c687e56019f0b9fa039153325adcaf9459b3c5e073b383bbea7e68c63f83c47aa4351d6be805e1d2029bb2fafcf621eda9efc3e49c82ac6785e7b30b514fb6078b2d79ae8edd9ad4d992c9ec9e84cdfcae3b84cb7144484617a7f78c05de5437380b528b6405c10c7736bbd6c88f46b518149fc2573f87353831156272a025c888c885c4e718bb67c5f341f7687c9c6b35636979d1a471ad218b8f2f72730e45a8733d1a0ffa4b99590caf3209afa1d03437def624722fb76ae4c2447246182bfdaa67c83b9c22c60e97672a7e89aec1a723f491dc58c6d70b894974385e0379da569e60cbfe6484836a5f6e69404f7092dc33c1888fd3af2429a0f6722ba59928f70fc305abe14bd4d8f8ef9fbc80d66c37099b8898ddd426d553f872e3df4070a5db8ec8d611e5dff66b259c5c8dcb69a84b0cfcd0ade3ebc709ba4fc457354e7c4328d09e27a06054d6c0d48f5e5daeab82d862b880855c7a4d4c40af99b65a6b5d6ef13bd35ecc672e469caf9aa8b3c62f9027f9e7d67b5410d7729b0d87d9d7ae6348dbbe323955707d100b698182d0a2566f36ef3dc86b35ad5332fee16f27be40ba105a3e30bebf34a1339b1bf0fec855deec0dbbfcbeb1c97215ac361228129a72b346f01a480afca434149e6fdebc2d335abdb2e72b95ba72f35ed054dc812f5b05b3b5645a1c611dd374d7f2c8eebcd965ea03d69a94dc1f23bddd5eeb3d063f05a19766addcaa04c76799e75513ad0a22a04e345693dd670969e18ce3c7e5a9494585d2371e36f664d9ccf596b3c765ddcca565c0cc5e72297d40d5e2424a005954cb2f6f3324a71796a2208bbaa7ff69700f140226027278c9065c9c5b86cc1eff39b5193937973aab950d774eebfd63d4626bd14a3f4a86f83283303bde342e5408a4510b8ec171bced756f5cf2b37c2065dd67b33472d6c5600ed4f5e0305b9c9cb866460581fb00eece55f87653be482b39a180832d2571aae092676b7c26032bd845b54b6f137bf114537b9b78dd3fe9bf2506b7105a8489dcf821c5580cdded447b297d082f7cc41ec87948d72debf055750fef2967bb2cf5891be824e9b8d0499ed40b8fa3ff46d959c9218352b06f50b5a2cf5cfd4900564ed4775e3aa0f2191804a9190a051b1c8aec81b79bf20883172eb75f2d73ec77b7597bc0082423b59b74229ae17f6adaf6e677fe39616e9c99a0847211ab348d23f9fc874bd9c3810a4b0485f5082f71ec5b198c186c784f0ec91972f8e1721af72a49cd39b82ca5a411a5d608289294974bff2fb73c0be85b49f27239d3ff2b4f35db1d43774b28225ca4741ad196ed160ab3641aa32ef1502f06193f2814de3a13b1ae4bfc41437aae8f6307d9dcd51ac97de96616d8670aef99720826f00e1fa006e5848b761c61d359a4f792efbfaf6bf6e6ddfa38c21ee22e389ea471d53ff19c2bbd75b88f0f64cd2b1b8371296d2e38cc120fcf262a97137260c123377a1d78e4a2cdbb8ed80a906277351b69ce874ef664241243ca6910724b50040e31be512d022f83b6153a5670fac9f29bce6caa709b92f8bed16e25335ca2828171cbbbbf1f767c510711fbf40cd5afe7d49871f21de31a45ade58112aad3ba7d6e828a9c3b4b30628f0846b4810d1cb77da26a2f28b6c2b776949837230175ac0ff858cf57cbda7bb51146f342887782b240391aacb04bee874abc4a2ae347b20ff13dcedeb5f82a7e8bb03598a233317d17b67e9e6155f287df5a22fcc256ad11c326d3c0c5fdac912b34a3e9b2cd93eda34cd3a723909212ded736105ec24144b8e679e124b9b699a308b240408da438f8178c15ff1fb36d2ace728450a37f16cefad0c0907376ebdbfb84eb1ceb820e0c6f91bb5c29bdbd12906d9a0a1c56bcc2fa084db95e976f80dc0be94ae1ac645f875c862bc122f1c1885d0593e9cb8d0a8d8d7700493395b2a902da432ae3aeabca892842dd1e5d22ee72aafb84b089c7f4342e2ac6ae9c56246c06516d543aed79de9e3ae96840f1aa72ed1fce51d4e0c931da9bd1fcf4a09fa4907d2f63dd64db4d11707b3f24b948381436e6ec7a62b65d679490242637007c86248fb818f0ca458914f0deb6d7ac49d08e925a14e4148b76f481ece15647d581db64cfa4111921267e8db1620ac86cc319c069219e34127133ff99d6ede20479ad50d0c45f43854b5660354c272172e59fcf3cd170da5e55d735c28a22673b7f98825e618a80b59b9f8d30a57b3a72dfd0190a4240a996a050b07f6b46c9db9750379f22ca22e029dbd6691d4653722735c8ea02dd3f59a6cf44e8758bd733227b1bdb4a63b8107420bc205325bd4933a655705d506d9095c19413ab95d628398100ffd19fc7c51d1414674cc8b47217769d8d3b732e360b3e46274fca4e0a50f9253c5d2364737034d045a5e5f243ac3afca3966ae29df9ebaa3b048811fb3a74f59799a2694ab3a49e627ef89472fd4ef2203bc9db05215020df7d2a85f55774190d44fd98cba35fe6aae16dc61ba709af893c6b0b8b543ed82467d4613d0d026b5ef08fee0486f7b96b787b8953b17373f21a464970a4974774792b39dca587b2c0bb29a920c50a75f2bf069672925d514b855fd26d841d8ecb4fa7487ee0f1a5bd159282283f706113c914e22148f1396067e00ce6dc726396b778fff55394512f2a8ab88506441ec8e2663b40bf75bce17fec172ff3999da0cc3965e50ae0b5b1b79f25d45f15c31248d1a06794a5c603de78872523f92e2520f396837d40cf649ffb1262c17471dc9f5d6c36f9f8c980fbb1fad5e8012a31f4cd7a15f3046ec336817f028c44ec15fa2a301bb5b51545363994c3e2f23ef12998ab6cd51d0b0ec4e633f63f62cc2e95c0ce6b1c058c43d98334c0ffa6ea4baa97b29e6adc8bd8a14dcb3759ddac181183531b318a467b76838b17f681d774c7f61581ddfcbf3c855d1103b9c9b37064ddd340aea092ec28f9cafabeb6aabbe06aebcbf068f303f1b298fb3b976b1164d16f634caba6a646619cafd9bdbd7dd98e849f601d04bb35e60ffc9cda925214027472e003c456eddcb6cac74638e2479c8a2382610875e55a6380b1a45a09b6199e4ac8083cdd9efb197e9d8e8fc58531c61268463b487d8c80d02df4d6c15d1b0b34cbcb6e3977f722ef707a5c07b71f9dc98ed2dc1abe3d99084163de244bfea53eddae67f27cdbe739040d9b56c15a140794b96d5404f28abd1b9d8bc1570a9d726bab57ddd65da05132fd9b3be1b944e4f93e040b5b16374ffaf111dd58fed865b8242d1d399c63dcad7b3117aa24ebfae5476d295ccdd886e0c0ac7377ae091ed62e2c8e6bdfeea5be484d103353504fe0152e51f0d185300c7596ad4b84b672d6716f8dbc12f92323414918f34c92e682c9c19d5437384af54c6353e1e1ac1bc0192ac3eaf9bc9caced26cdd9f1b6ea9d2a67aea96b91a14e4c2fd597df357282f13a6f4cccff3e73acc109f547562c938c282b276b5c38da34c274659b9172a274fbcc025bb6ed7dd49b8d6470202f937e4a8e72e0abcc9dfe1029859f9972b96df487b7c3ef52b74bc8fa4b41b5292f23ae820e44761538014a526b87001e1aa3d4f4668269f19d302881246cf37a1a1c64122b73ff67b5115d4d4ea5f854595e1dab16017e0e34e89044a1964d17e2f37a6f6c322ae700d4677ea22d4772f0326f397ea4690be4a85045eee101eb57e17dcc1508dd2a6173a41f4213be72e8cd309d03706749f3b0d4187f00dc41b929882ef3ccd24b404eb062793b0372d90d18761fa5b7b5cb5c500811ba8333e6f2dfb383797194d3c75e679ba8e872a78f0c21d31960d1100f258e335922911276f0656f9b9334843071b3bce11926628b192a4b3eb7a33521a701ff627cffc6a3de43b2d089c361acb43030deb3726b7ea2986f031ccb086a32b6ba8b398ba7c9c495df463b3786041a7d34dc287216cf751cff5e56c14778b2ed99fe794a79c4bafdf021a9db5bef71c92a5bf60d63d12ba59aaa83cd37c581ebf192f808cb76ce0ecee9c5938d407ecad40f27085b87db50b9d7f627582a32113cc96b92d37ba46fd06cff92646085854eebfc727dc2786df7b0acd589d259d05436c078bc561fdb711fa9adf180c6b01f62e2074efec71b0fb0b7b2898cd41249db5adaebb88b0b680feb261556c4e1807fe072063da04f4e872a9028531806afb554466de7f8ae9d932275aa02e1b561b0f8725b99e2e4b542f1779ffd502e72c51246da13996020063477a69c0b101ad4d65eb5d37fbc79a023c367629561b4b2666832a67e11767a9af7eb22f5ca00379672b244181ee294a406b15b99620b3e3eac26fded9adeff18ffc09b81d72b35c672f453213a7e3ef6df76646019c541a5f5f0c4f28ade91298c2f7a20fb93de5c72b28aa3b14e30710cab9c11ad961219aa042a2a52ecbbbf603492e9d648ab4872f9254272ff90d03be2420b56bfe9dae07575b6ad2dd788e00071dcce70034125992c9b6c8f57515423d76f6cc5ef31e5c6023599a87a579bac46012eed00e23e631a6a2a59e15c89467c2b1e2fd8c76e9e68fb1b39a0e4584389caf48e6b56729c1991d7345e69e00aeb6a41d0ea4e777aadb379378418c52ccb066b399e317265f97b7e88394f41b1cb97f1e70803ee7328391fa9256f8422324ea9e6f8a872f9309958f4f20a7af1a51f591c17afc26fc07d5fcb54231270b311313877ff08a578b727be41023ef5f79bd7805e24666f8b1bef9284a1cb4e7972949ce2cd3c571f7cdc0ff54393b2877fe10a4bcef127fb035cff3def8c2141bf9cfca2a7723492146c72c82c39d3ceadf15272ffa74cd0693002f5986c598278ae6241997252f5f3ea1e709c863e3ad457bcc2d729090572b787bf84a2c3d59bcdf4d28c725dfab185df5ed27d11e2f8f6520241ff8bddbeacf82488597b7600fe362e2372c21bbadc4996254069251c1f8d5c3ae7db6ad6c15a181aed31a83dc0268ba072bc270f9a8a350275e3009f2459bca3e1f7bdb3f1bfe271ac24049f8e03980c72164d813ca7cda8480a9f9a883e0f203accfbe922db24b1dee9c0345ca9b1be729d5cf6c3bfb8e86074ad435e40c471122f07d3a86ef0bd19c2678ce2f8b9db72d2bbb371d01e8e92bdf039a3a3ab76d6c489362336a460932f609c0f9d49f55244425b83e7b8f947dc365a704b62eba7308d19576265f1235f3af7e3173ad641aa7399b11ea824fddf51e3fab54e0dcefbb42f47f4fc79390177a12cd149287286fdb303991d004ccbceb837ca5d9f8c317135355817a6549ac4a41dd58b1d49ced02a9707de06f8dfdd1f03f14b5d1f4aedda65818497e5d4a0ba938a2a8a72055fba18302f577633ee90aa4bfb62b69c67866bc29b7ec8db377b23e018aa37753178a9cf86d5c035d90c708eac234a61f523ee808a57fafb4a7de77f450c729cb65a0184052ea1e54e76cfb34cb32dba30320bc74372014116367b63943872a81bdfddf670632ac7a7594ae343bcbd1a74653c252c837a8e4b3bdff2613d72bcc38ff59cdd70ec9771cf7ba956752ace614d051a4d1b97674b307bd862cd3092f55f7973efecc927e8a69fc9a76b55b946abbe5ba69356cc13d2cf4c48dc56ff1421898a918a967bccf1c7b33b79b8d2cdabef3ee55d0ea16d46cff84c1c7212280250a412bc42847b9ab879b4678276b1e3e8a4499e4532d0ff485abe8372e72187d399230fedb09ae83d47966cb6db829344dab783e9438f4960ed932172dc3c93609a9c4cecfa516add0ffe32b40c6b3622dfe44c9d980c5ff01fe1d172fac5585267fab2e32a7f9679c7b0cb8e780e577c488e2e0a58a2f074ce0fbb7237bb4aa9fc4448c001aca5bf183f8e7b53fe5f1706ddb1c873da968654f49323ab30baab40ca0845a8ba93351c6a85c823dc1cc062a0f1cd371298bbeb53f42eb1ec20ca72fd31c5ad4ec85a8e60d7e4aaede4f5e186bf63df9d34125d59b30034e59588400d3a3420c56a7b59ee6e91339c1b7c543a3f313ddf06d9827f404dc8e80ceea4f8e178f93ad674f0b2a191adbff9134380cbce54b0d8f206dec772259372bc63c07757365f40d1c323a88e5ba0c546b14dd6305d75013a6d6bb272ff3b9d5bb4b36244a2001d4809a5fd9cfb9ded5aa34ba412cb513909a339317223a98299ada608a120e5da75423a0bf54a3682d5c028d90bc72ac831c72b97627b98f601158bc5fc7e380b81cbfa4bbaf8e7301687ff9cf0709eb82eb684796ff010abb5d91a70ac153f312012deead21754635cc1371319192f4d934f53e972442aefcbfa191b7cefbd60d9ceff74c8f258aad6444ce4a947c6d5cafbf8537287d1eb6d2c6ada29f58d1bfce9ff4bf34d399c9b020cac742d5e3af4b3533f160d2dd0878ca61ddb1612be7a88ba5e5483c79f8cfcc688cbab6305e53a2fb572b8cff5d074940c76f5d3e2a47d645ecf5bc3c1272180c2fda3cda944a84aa948f93c72946cb587866c0d64ff9363a093de984db656ec5d4b95635b3bda2be5181f49ed1b45b581719014de4bb7c709afd3b2a24eb39361013f353776bc773f3ae210c3a2fef7d1ce028111b1db1bc56d4fc01f8cb520c94e4405a8e9c6b1457272ad3e133be35526f4acb3328691c480d93bd5fdb9f97cb7d2f71e4c0261be721bd081335b85bffa5e1402edab8124f7e2a4287ea6e29e33ee2f99bff3053172a5f80bdfac887e3b153088ed2aba12afcd6f16f6fee714c85543753f45cb83725ff0fe1b28da8aa0123c0f9de2cb04f19c60459f8a7cc185091bb7f5ca86e9721d356e634caf81db46e03ac1e4cd1fbcfe091d1275892c7d83a0cc99faaa3a7294057b64b897e827687493ee074086582314273342689927ca190134b6167b72da95d67296a54455dfe3dab23dd6905e882df9f72a564433401611695023e672079031c6f8a8554a67e99338907cc5cdeb8fbd22b026a47d600aa705d92d8572d3d7a62ef48a0b63b0db5551ac8529fe1bf4a6d43f1e1e9347503953510d69723b0fb555ce35e014e0a744b08b6b693b4e93392508e2e05bb739e55317f35653283dfef1543cee777d0a5a2aef7767c32684140ddcc6b1b97cada7df6aa0067240d42cdae8d59d64ddbad7a2ec4006c36f6d962cff99f0c8271926ba308a2272451aad5309907ffab8a66b1f817b4aeb1e503c2e85d50723916dd0eda5d44f72e95b9cfdae2d97db8010ecc267a25179df1aafa19423fbb214a109fd1889592bc64f9d6507f7343b40f55fe67f03765ac00f49893a8432bb2ab1e56a45daa9161e7b58a1eff2b90e9189cf2cedffba9a4743eabd32293c12dc608cbe7ab3df44f3c94de88cd540e96cfd9e390c6192ece1323433d9ae92ca246ec27991d058721a61cf83023fba95f64be5ef72ea5032d45c9cee700089f1e60907162729a73163708f6db06e37c5a85e2aa135cd9ab54080cacb570e59ef78d4169714b08e3ab496902bc5079d00b69f39a7fceffe63a3ddb2dc6723f83d3d9978b17fcb0772e893ae17563c9943895c54bfa344db8ad15b9d83c6d8c3db0c6d2ee203eb6f5a4dc846fad3d7a165f58115cde60285d91530ca5a6aaa36f0379475b10a4f7807b7648f3a64c9d03f6e067b371087425d7369597b6be238dd4e1a7068f919d51e12c7eda8865032cccf5d424afcdcaefbe45bd6e444c5784778feea40f6975106b8743a3195cdeacc0564ead5cabd472073dfb8c58710adf5514ea5926c0b96725f908f57e54251e18b53bf9de6fd911e113a4b996b53bcdc551d97619b28387252b0e9a5a430afd2c0294105ae9101ecbf3ddd8fe4682021dbb935381e7ba007afba30bcd2b8bb61b17e36daa4c643dadb3d4a8d758ab3028eb6de5694f603295312121c173e5fbb517d7756b8ec1080d4e28d32f63fb140fdc536d4bb83d67210f795ccd2d0f22f002d4171dbc5001f927ea0614b5ae5c54bd688877b29a20d79b587d132b3f48582ec29e5b0030177358ede1548d7e8d28ad6a8dfe28d7c721b3b2f93d8f592ecfb805f35cc38bcbd18a1bc50ef39b173b7214dc7dc85f772cda9ab171ae7d152d3e4ffb86af8c04adb7a57bae1e8361b3321fd1ae5951872ce06ed9846ff3b9d3c72421eaaf30ded268cb56a6253556777147c9ae2013c217b34a316fc74d6cc12182bc0a6d5c82522b53ebdff54fa9b15e845c9cc5d0172cdc768e1feffad81e41acb32fe615146a5dc1b92f4a0a40fb14a3e37392051725bff6984a52fd17127c6568fe841d7d0a326081e1df2480abb665b50a719722ab1c05d41fb90a200fd124d72b73dd7e138f6835d65536a36ef7d69079498b0087762caa25007ed6f601bc4b88834578aa5286663cac044cc3a3b97ffc1b6701497875799b0464310a406557bff9a8e2cbcfbc7a06ff0af20630115efe2c5d64057c756715c7ae9bac469beb567241d428adf63510a539a80858516a94189b66e1275f1100251a78c41fbe5cbf03457f68d522d82c2039830c26d510009b45472b60bf3110a91b6c6265637cd885c11ca6d45937fc7201a589f50e92780a5f172a6f1c90329a788ad83175490912e5d5d8bac3895e820f02435837e3320097f7232c3a2abb3a4aece7b9c1c2b15e91116ac47cee65e4e525ef8d22b999e7f2b727ec9dd2a8c77b3417241c42e34aa2e535eef149acfc6e0fff60813d277301372c1c31d0dd01c515db6cce64ef684b93388182ec390d1b4aec92636c8bce3555cb646760b2e82c10d994ce1c75b7ad3fa0d6b2eae882140698c191f1652c22c6c597621bc87431b97e35e01d53a9b59fa969f1e9fcc641aceb8ca9e85d74bf4720e2caf6456ef1a819579462b56b0ac51e085348e81a76e54c5ca6b450e9cd272e14924371519591560e7e843145a77c4e254dc055fe23670bdbe765769e7b4720a9fb4b0f9c7763b4e06cf571fe6cd283df40f413fb4c1ba9c502afc9300fd72b337c8b63064da977e4c0a13aa0f16a467f47376e1d62edede0c2a067612a272d1682e73ecd0633b7a03501f41b3c788b830a44c296e243417ce4ad699ab707224b3e85f05baf939cb9f44e8584ad10e7914b29ba4ccd842caba6b9e4182c5724b3a25337cec125429260344cf82bd93bbfaf952be8da8812e61991d89738e7242a10d3fa8ea63d016bb8dd4d5f8638daac9cb44bca4cebd2f03f5a73c6c5f724ef22bf04aceb27741d240c52d7a83e12d1f882beecc77b84b5344177ccc473416ca47261f1de6fe372fdd96b68ff1d7134518903b90e395fa9cd1991d58e05d7f36c8010a6f4be404ae859f3ceea6a0797541f56bb1fce520471a1b48dd2872500629c07c96b468ac04e936cf2be01eccb154284d33593d0b4b9adaadc98e0e8213979ea91102fd20345908c08b6be26af0a9c8b96f68a7bf92d0cebd5a2f72772bf9dc49a2a842f102390c9caef805283fa260ed88cfb0d0d0b3e7e35414270aea13ebeccde9d244a1d1b0ff3e4b1969523903b761146a9e3574fc380c8b3e28b3967cf03d0f715f2bd30a97b69054dfa8a854be3f26a18b50026540c4a47240a2b02781ea3c9963f1aa7b31cea6835c7bf157dec1472f349b84fd0ef80154900c80a6af31c523f09014e33486c88cd4b7c511b675fdebec55a0462df3a072dbba18693922ff14b2afe49765ea51b4da03a233c45cd7ab47e8dd4904b629724c4646feb15dc3f7be0b896a6c669a1e5085d1798b3dbb84c2601f4dc2f6c82922a96888cc4a7876465d647f19c8c1e0d85dc970c134483068ef93941a6d3535d866a38960d5b2b8b6825ed4949c6388447a0602df82ca1cd3d9cbe15e108d67695a585ba507113a018aa2f9f0a1478802e94eb9153d7baf3b3b177b3e5c7626c4fe18a3b53e91a5712bc36ebf40f419d94af763de637fe1518afded4faf32727d1719425918ef4a1708da1fc123dd9cc6cab45c2ef756398219cfee319fb64a3b83c6530e6e998e7ea0a0a9b67cc67960f6c4d6655caa38953418a3a3e0c6729ba4dedbfb1283b39996eeceef6d05740bc1a6c7cec4a074cc9f53f15f124072445c9394c332554eef196b8b8086bcb062004d0420cf4a383bf412b20c7a821d6de522d05c79fed597313e10db2c0508dbbf81c64a264c219ad6744d0e866f72355ebb33de90c9b862d320c40bf991bad091accad428ec92e6ccaf4ad153536d9da5ba8c4e510dd3fef992c73b71700362a36336302c1168265ec864c506591dd6f6081016dec2e925e6ba6f6924a15cc398214245c322e3f3fdd394a131c73042ec911d49bf3a1f11062b838fd5c48e4a8cb50ff8b7f89ae5d192c857d661721b6298d1b8cd5e416b1b84e4a786efe9d9f98010d5108d1d4743747173cf1816394471042a97e5e30986e27f74eaf943e40b226f5d3975b645da73c411487b0d6cdc806674f43b38dccf0c365188ea46d4049f33920f4bc4973596252f0cc272cdb8b67813284efaf54655b6c5e5d57080fa900037d204ea3bc2035a94731c421b757e7fc0be9806c0f66692859da61c940c0563bb655fdc4bbe7165b3484d1cd8a8cd919d30bb945005011e3b5244e7008b41995c44e2a915281070b39ce54fa7a3f2d94748d06e2e2456ce15b815a1f52b7b36bf3f981de1d5ddaf1c454d6d4b20a7d7cab0494a6e402e9d9dcb668944ab50b243929bd5c5c3c45dd45bd915e3939c03e9554a526a6fa39933ce6643a838346aaddcd314db1c5b073eb58c31e8a238e63b18ca73d97a5b31448ce8f7cae947f080ae0a2477a820a1c45d74555dd33237e79a0d58c0483ce5c17b44c261094ad7fdd6d1c0541686f7b4fba17269f3c3b29e56d1fa00f0f38ee405b015b31df7d92fff93461070c0c95192390a615d529667fbfe74dc5229f79f3abdb6c2213cd835db38dc415fc2b9c02be1502c0e9c89a02e2ecfb9d5f7a7568665a84d5274b7b3fefdbc3d04431b44b60901333ab28282a7565305888301c30aadaea09efa059bbbefb9ccaef238af5cf37202f832fc24a0e455746aae71db3e6543b4c56aed75fdeb71af7c5c0b95e5a8722da016d59ec3752db2c3239961c2c24f5f27554a0c54d3be84dd354664b516493b6ae88232b1140759224bc0677bbf2e13f0cd1be147ae6f67807912eb176b72f96eb0944e09d3efd4fe3f1ec9fbb5fee4f747cdbc9ad02512e9af0cdd7cd372feab9255b16dd16217b7f2afffea80fc44f67479c1b9e954e27c3dc9d9220b726b86049c3e06a56d95c2225ea43b1eee925f1adefaef8e03e142b1bc6c414072fbb4189570f65f604fd8ed243fcdeb59258d8ce75f05f95dcae4048a13e6177230cca2ca478b08f60c5a238b39ceedad2cd3fd2c0dd2158e85ddbe66e73801727923c89c28d6538dc069c292bf8d60610889699bd33889904fc52df85c65980a11c257dad8d6b86fb982f65a2ef8e0156a1eb0dbe1e54dc5ff3ae028eb6542727f88afcb2e433b0aa25e4c2544f3d2a776ffa1616abe5a7657f0e22349fb58675e505bb9c3be42443673b955eb8098ecd4787a5697cfbadf89d87ebe23b6a3387262704cc44b8d82eb27dc0582c7890f2c1547fc94f6f48cbd566d0823c9e172ed895eb5f1ec9c7921122512bd516ba21b00580b3d7311af0c3b4517010c51728bf455a0d4a700949f8f53d127a1ca88349c3a9012562aac0dbda1d35095227241d3d3d102a3fc8cf0fb93c27f3f761761dbe71f0579b8ba82ae17e7bb05de722acafa605de2ff6612081e63b86168e97c4b5003974433347b1abb443ced0c4c9beda631c628c1a1f14f2aed567d1ca42337d3890bc35d9ef19a89ba2d5f72242ebcd587c8afab641400719eb00d844696a7d686b46a2283dc26159a27788972597d2ef1ae293ddf93af445f5765ebd87d1cdcf9a328ae97712739d38ed51972887cee81158afef2c369e8a644ec821f7955f59707199c9926b053e45b1f040168094c60e72a304a06e0a65daaf536d5cfea9954691ef2e710f3f13d52d05372b26068b6cf5e53616d295ff42cb863a0d97d391603b4e48971d1382789b447724714742bf05c123d51f7465e3e98baa87a5465a567df458989289168445ecc3ea90e5faca1d7d54ef8a86c10542f9f3c63b866e9f0dcb28e7ad4e9ea643d4221b2b383aefb382d52e0884d862c9e490478d5168986b735686dd522c30a05d672eddc5311e4314be4e4c95a319d5f733cb66ef13bfa0d114e22e551738df01f6c295712ebdb5eab0b2e7067d766f2b8002abeae93998b411d3c6eb9697019d87203f5cc479c3a1cfd5157babe7fcbf7f361831a93b4f91d8537e39b3ef154246dcd68ef1393bf40e0ae9869e602a93920b419f5972c7b3c399fc3efb87af38372e46b92a69052caed2cd9f0d877d1ee78f92a4b7759fb9c46c0b13ae79ff9f172ec6b72bf2d81a6a37f62ba86118fdf516fe10805cf7c61f826a8b5fc604b3572afa3c7fa9e432c222615f23875371e4e7460800c61694f7025020419900dc54fb83c6dc5601f7904cf51472ac5d2ca99e9197f2a307bd711fd4566dd487aa65921dd316a521975760d8cb70be51df9280baf34e62307783f9c1adc5c59882472fe8aac6212bcda52f78a0f4b6a1bd8f6cca8afd48c49c4ed4fe1812197f52d3ff17141b35107e1dd6e8a34855938a183e3b7e7d1f951b4025f83595ef5bdeb729c9a6a347f7e1d2581c338b104541d92bf7c949fb668fed436bc8f7e5f7e5e7201fb954bc76b460b35e74e2ed364f31221740d87e7023fdba6e00a7af248c372db0a0137d1d380c8dc233fc4d1bcc632912529b6bf6cb3e6c7279aaf347d6826813333262c9a956d1acfb42365e6b5fff85dff3edb81c913a04ff693ff5b5c728ec5d8deb878544d8370d982c2358e02eb7f544eff987a77f655a444608d6e20610b9f94dd5ffc78b09865278473e9a0a467ad860338befaddc04ed3ce8c0a722f7b514574a4ba4f0b04d1233a3dba3f08b70c8b6b451bfc2561d86266bf8272c93e3835e6d517a1e5fe2c9155c94aa5909401777ade147b3b09f5fa3c117172e31bb492a52baadd2dca19554415266c3c14876fa74dbaa6413ba286518fed727be65f37fc4f36d1d3f0c85ac2a7e62328f636e675cc303722fe0b98b79c1f72dfeb5e4511eaa85d21baf0d392841ea42c0182a8f47ca450cd7d5b576ce6c072e07e77720d34cd1e4ac284dce42ed6613278dc079dead6243a85f22c5a25763e9a6d609e7e723567fc8a0734eb0b661a6d64063f67dcddb118f883b66eae2e7240d7449a64d0a744499abea5de24db07d1f9e717d386f24bcac15a1b2efeb672a5b86ea27ee63ebc7d060fd892c2c3f05d876227b04df1cb35215502a92b0f721c3ce76226d3abeaecfccea1c35bc760792e01e7c7e24eb52cf1b559d1be40705f09ebe97d4ef5056dea49d5b193864d4bb31e1d1a3ae0e36e0dc9a8e205c2720d90e74ad36024f4abb1bf2d5f3483aa3dc572535a57020150a7324418269d725be08d1890d79a2f1ca93fd78d7984656d29838606292bdd6fec0668b42c6172fabad1b669851e446e3ed87db2fb1c37bfd5f3a2cceb6ac982b55f3fe781ea72c501939ff74be59368bbe93f01debeec75df1774a625a70d6be74ee8bb66c0721c69c01d1b11d35f9f6939b698b3bd70c54cb9621887ad3a9faceff37549d15a2138a72d8c290f87325b7e1f16cb19fb088f203d4618e9f5e96e78870024c854a4d34066c0f32928c158012e13f75550037243c396a24fb771c0340231898572ac677d81135e9ae03cf5247713ed53d108289bd56cdaf4e3232a49e98caf517252745b71427a6e54d24232934f93986cf88513567bd7885331ef35c334a9ef7214c417f5b1e8b6b9e59e624d90eeacfe4e844dc02847d73b13eabc93c0ccef69abb0f32aa44b51604a22aa69a0a1ebef4a9a300473368c7195f04bbc0c0c8307fac3fd9bf3c6ff5f9e159e0cba6bbc0d0e845349b0168778bdf6a2adc71b397261ac957aa01384f8b60106efceeea5aaa32453a3a38d15f9947f1ce0e859a27283a804e43ff99587111bdc01269bc38b192d88c5e0da3efa87b38c93e3c36d722792c5bc81dc0ccdae1590de41e4262eb4f37516d722c2c4d3b380f616b25b6f4fd4a06aece7e0c54c33deb5fb432b56c41525afe9ccc923c9ba3a811da75466d2b0e5dc98adbcecbd405a889351287d9c4eb58cc81d774eddfb66f936ed4350a2f5faa93b56feef99b92026e0eef05f11f41dfdb734e40907f0ce28edd7122945b0e9f59e6e6cc85d3da9d3f496b4e9fbd7ad089d1c458def7205415596b12d7ab6b73ef831779ede3d34c641db7e3fbdc50ddd0c3daeca32856c5595c8dc7258637aaad33ae95bd98b9089f91e167253b011493c558f2e6b32df6175aa18728ebe3bcb1353f689425037c2e220c8c207ecbd86c4db5fc12a43121d49da3f3ff5b4fe552db25dfb6e5906a4d621da97d5f29a83c38ea9828456aa668e258a11898491f67cbd2b0fece1aaf87a7b1d9106339e2075ee7d5a974f8db1156b3959fe37f2e2ba964fea5dce8eb457dde438d366a2b80ced95da032aeb852ccdf472d7142c162911b33e1ac6c901a0a49626d38fd5fe7471b9a249188c749dd2a93aff40bf5cd393368834d6ec8e8ba2afa4b74dc95804ca2466e864d0c328d0e470a677fe0f268fed74503ddd723685ad0045be9cae008eeae31624603cb9284b1b6793ef9621395f0c5f8507bc6b154255840979776530f737b52ee6a5f2c5e5725af98dd3de6df9cd2dfd7da92a0a037f70ce32e92ea347ae874d5d9cdba8097260b1ad2c8e08798ddfc55ea7504fd0886d2dfbb4c368409f846dbe51874cd6683b762ffd2223b2c9fbba4d3c798bfc5a04683d10e5c6057609b5c6d8c0969b72161bf3682acc3b6dc906ca8cebf94cead15e1b14475103349a4e27d039bc3e44f3a7e18092abae8b1dde1dbd0805697b36b87bfa34fea635e5260e545cdae50ac70872e090473e25e9a80149f43717d7d59b96b1f6340d78397e375ec53ba820afc1af9bf05d1dccbbbc4f42225b5243b9d196779f616de6df6ab51ff16766725debcfe74dbaa527668ce4eed1b810ebe770081cc8581054a121a27f437aad508d549d5e2248fa555bf802c56eb5ee771274400d4fe0a4bbcfbfecb1d6184e2de280615d2ec380c2aca7bee6319d5101664119c1583033f2580af7f340bcfa7204121a1b4c691d705c72333279c5696aab2bcfae8fd0449b7bbca74611124863c9c5873a1715c0271d5beadb5e936a2e59ed2356946126a0587603f73daf2c729a2e0fa7bfc3f41e562a310cca751064743956d32c7e8570bad2b9550d22490ae455bfe27beaab26919de0f903c56aa92c8f60d3d26cf60b21cc7785313611015f0468caba792b1016665f5dec379ce8e27be7004c3877676d76e0cdbb1af472322c9a1b9a1f8ab116555db10b5da5208f01e02dadd95ab61cf9f5187176f76c5884e769160fabc3b0798515ae9bb9737f46f09f5100bd105a055e5214bf653a1f10590cb252def8afba39abc61d2254dfc65c6038f56fe1d96ea85007fdbe3df46250fb0c1c259500849c8330ea9c9d212760d6cbf4d1ebff504f8d084e8e2c12f0e0e2da7ecc9d85dbf3a48e11e535e22c86fe7867946d8cd1148caf2e8a7279d4ecac9142a76008aab1c3cd4b101594e1ed63192bffb1f2b358c1d6984b72c006ecba77bbecbab735e62252ae345a17e10c51935905e8c97f811cca56c9728ece5bb9770fb2f98473e361b3aa0879dc604c2e4525c874c14945c1694693722011d6e76ad461fce2e08fb2c60dcf69568191ec752271855848926f61b4d90c64cbc20ab3b711ec6183bb4d8ce871843a7333a73191421d2ded21581d51d01402adea1c8ec52b52a4086fd1039b405c2bf89c443cbc3bd1c96eb328ee8abc72a9d04ba32ae239aad1da3c0be71041a57265029c23d349261c1ac4d35bd7ad4a1e94177a1ed5042f87c2c9ea9c17e583f49e6b94d49d5a92f88fed9c7e910838cc8e732c4e881e9d1866ab4b76fe0958e88cac6ef417f9d941c03cd30368c4707f4320f684b14db36191897993ce2c57a24b0d4e0b163f37c2a34c4c8ac3f57281d9a4cb870c962c9681a19887ecf2c0025c17d05ad20d97d51ff586482919593f18775287fcc591aec0df7cf1fcc9ed28ca5684e98865bedd6db46172413c72802e3dab1e39443981107ccbe7d5358b66508d67ff9520be9dae655c09e0d272923ca13520b91191daf423dec001ef83cfdebaef72ce32c87788869370fe7a1edc9bdc427734579e742ebe9180cd337638c1258547651fbf29b431bffc009172995a4e5e42411379685086540c32e71f687c42562de26fed18d89ac8b8eb977275bbeb0188dab3616f693f1ae7b152f31ef5598c0527adc5ccad088c1b195472a724effd45a5e105509be929860be9ab8df4f338580229480e25766faf409f0d9ee7f40823b80423be63b73bba13ecb46b2198f6500899a004757608a7179b3825588e2eb4b17c92f318307f54064f72eb15b1a28367be65bbb46516f34eb1723f591f7dfe659771ad07de0aaac16c54d1b0cc05c147acce6cc2c75b86b071722052fb5dd9275b7b7171d5c7773b2e56c6d8fd3df25bcd56436a0b2b9c8cf26384cdfe07320a9875d91e579fa95f0b9bfaa22fc5c8bff5a60eb557c926786550bf62645fbdfd922bdb51543ef53dc30171b3180c79d3a77d66a29386e299427270d067c848b5ea287b43e997a3112524ff09b8d96b8536f3ad0d15262ed48072361d829f930640b0b1034b9bd91953030084794c0ac774d67420ef38be968d7277a400d2512ca939056017dafe7ee25db4d1c806d06eb8a8630136c91c24fb7211b1c75461744bb478bc5ddcf126022be56b96e42e5e4b432f6900c19d28ca0a1f273bfb187e21f9c7b205a868a8ae64dd66a8898b9029527e79c798b7c8507217755014d835836cd3f1f0086cdbc93652a72c02f89ac2648b9768761a150e27703701797545caa1498f6ddaaa1e304a79fa95b6328c9d09ac1ec94346bf4b3e025b32ed2cdce81f0905f7765709a1750e84bc6d5d10d5674ecbbc3398f8847217205cf0bf1b45be160a78e62a111fc3e2c10f0e4dff39ba2bf6d58acf9dcb007fc7f6d5d641b337e955f7ee8ffc90f9503ca96d321e75658a19e2d2d858cd5c0346de141411c690515ea2b02d6af2c3febc5b88ed70fc09f9a07b035b1178723289da7a74a819efd1f924777ca7b430d677a9cbc91791054ec092c78fa70e4469f7cb7b241fa6cde277eb44462f3c89d792c2ddb0fe47046c45b9406e69cb6a13161ac7c1a753efa512b649bc5ad4669c6ec6c07b36da0f26542581a4df0172775c82087006a88905b0598c49fa555f0aa74b404072ddbbcded0785be7c420627bb700975ba6f461bd1253bbc3c6a9e9c3032ec710f3e21b0f6e16c42d33b7235a7a44832794d9e00a980bdbf28ee9c3e5b28dd96ed3a28ac2879926a0f9c7290710144f111239df2b8ac89e1b21d242e4d44088cf9d07e90e2ead4b5465667d13331367c5c6752c302efb19988c5d4ffec495a5be8b13325a4040b045e1d5366324e8e6eb4c2e0c8e51ae44fd045899a406705c517bc3ad4ff49ab51364760304f83b8cb9505e78c744f4d98ee95a1713f7fcd18f682ad7dec246af9f2fb1585a8828bd208b029462bd78b6cc27d48441b0da5cd5ed419a7dbbac75138454f63ab8de57550f298552a6fce89333e8084b24ea5468cf71380ef586dd247fd72061ad76ffec525efad3a0354c5200c8982712b285a4719f7ed4d406a2f73647270f92376c0f8a7a71208fe71e35a04a3d73215126467a77c7bcd6adddafe7272cef32993bd4d0b49a3a7da22d423e29432fb1b2e2a499202a129138e1a201e728edaa7060bfc14f6b6b4bcc0f80fadfded817f5feac6d7a98ee4a3391e6faf05edb169d17b5ca5da89dab56087087be47d1e3e6e38c60189a14a0103b793fe72237250c8ccf81b38cdfd776eb4ef98d3c8dbc9131167c97d3c8285baa7befe72ace5de64592e49fbd655175b552fcd24144f352007d939ef67498a6f78d065726b4fdbb4e2eb6c68d8a156a027c08ee83ae12dd16d6d80690cb25d693aa0e62aeda6f0576864d39fe3732cc7f96a2c7eef2e25640b23db826d5c26adb01ff43432fc48449743ed5d173a10b2bd10218199f76cdfc5e0a0c99d94ff77be083972c50cd0d8f5c44434183b22fd89bff64f53088a565e84ced941d74886291a073ed3484f4755d5a95e9815db581bc43aeb1cfa9b96e33a51791f212d67d6fc4f72602eebd07303f161df5fb8ba0a3863ba771ed7be0d17eebdd153818cab0dfd722336713b2b5eac7002ef3741afd98638e78db0e3e1040ebbad73f7436a99a710c2fb695725b0e10e0bdc771a1ea711d28c9fecaac9cf3a2484758d2ab12cff213de2eae435da7e8b146a6807f54045e94997f640e8484c8a027919d3af946372f91493fa5970f4d74c4cdb53b19930e1fcbccf6583fb2b6ac467d605c8fb9f386cbe4420b8ef1c1f3662aa834ebeda49aa5e93124ab8108d1f61c6afc7695572c4907d5c9aa9311ed62c36d96ae19f2780e2ab2b6393b93f906247b65d5ea0728b88992e30521a22b1a19b4db256c3d8c2e18097f381e11fe217391edbf4b727273c36c38d8d3c2c9bd448d42d47b1ff07ba4c88d8203e753c4946d6eed30972c064083431a82c02fb8cb2fc6e787454ca131981bf29fa4a5ae28b3e9beba672b05ab817adb1fca433fdd9de9bf77ebc3bf301746cfe92635e85c307a9416d3984ff0f8dbeff15606dcd1a90ecd3158a36dd224d643492402f6844ad239bd772546478612c8198a9f0319978105dc674fe93a0ba38465092d5eb8366f0784272cde52ab04eea614dce95fb142752ed8b6a085b8aacd884ecad95c434a486f236338af5cf33378dfa889a7da01a1d5fad6163d6926df1e71a37528474d2b73b3db05ddba79e06f15dc24673d834720ce785b45082bac70b9c3563d0242ba66c72f8994d25f0c0ce84484fc7d00ceb3eb425677a45ebe821c03d1b5760a6effe72c2823d597fb57c9e9edf8397774e630fd6f3a05ae17f5d16cd9cd4b9093a837211152e25e323186756002ff3bf14cc2859ce622bf4672ac6c7433ec82216d57262b63039883e26b6071f3199b19321a1080f2fa3d5a89ca07d6de7e6df849972ee9e4fd50d698f2ab3e7ea0da89708277e0925e8ba876a764a815d5d4ec378646dd8912911a138acd3abb83ebf1f3654f494eabfb9c8192d650332fb7152e7723f17a7d88a041e4d7bfabd70c1480d0f682b2724562d9833513affb28ff1df72f35c19246aa4e3bbf7e478242a75c1eb3221a4b7d868169479041836fef51672fc95ec5bde59edcb74bbdb93b564cf2890bc50ed6f1246c70ed408b3c0548a720bf345fb2f2d3ce5dd90e36ac6b603ecaecb053258a0cb15226eb82ca18f6b4f5f4ecfc04c1d0cc6d7ac1e54778eb518092832bb36aacae984807cfa5a4dab7211a83588334042ea922eb952402dff4137a560b941915131dbdff16a1adeb8724259d84e05933d978f98f9d6ee732b76c3a87d51309c4244eb0e74ad746d9e60a3fba196f6fe63899700559e99db8426743bcab66131f39238a29fa82e2a6f722cefe024fa55472fd4aab4d3b0cd872bd30bcc1e52c1142c68e1af3cc76922720688eaa0f71a94d43cd73bbebc8eed0daa2255fe5211d0bec1521058b0cb6f7202d4b5828010507b30c1dffc9c736878452713666223d452dbc20029aa4f1e7298f4199f26d3649406926816da14f58a7641f0c5658045cecaeee8647e775f274f963f10db22542669bd523112134c3a47aaa0fea866fc9b3260c0f9e3f98c72dc9c8a85282c709bd3dd899f4d8465980983a264766ddef3d3a35a651668e372836f526346d01de3e41d1274ddae45b5fb8971340fb859ec1f89364780e5f4106288e56194b087508580ebb6fa2f74c698ca1abde4cfdfc4c3816a51fb9dff72af93a72b94a0021e740d480bf7ccf530c6af86e8c099f0f55b37b840862ec169e0f63c1cc36c0b91d14ae7d7fd7649cd026dcb53581c3b10f0f9776c69bf0f72ede16384c5e188cf146adaa4f5f0bf79aa6370feb5f24113f5af7520c3b63472e6cc62be7b24112d639cd8a516ad59f9c612dc86f24ae24f166bbbbd61eee172caa5ff207e2a52778f993fad5386acf3998d7471d4385b7a0c2e6c8315edd80f088e3cf7ea0ed7df34c6b94368222280f6fb769bf6d67693e8d324e7e4223872c890037f9a5c79cff1d0a02a958a4c4ff0db45c64cc51561e4b32a0afd5c5d0e6c0f5a0ae995d9d113930f9ac01997a9cbc583e90adee10c20e77dd103583d03f06530fa8d695f1059d509b92850e0c14443c8aa6f18d19add4d472bfee4af7298cc2a937b6955b1516d4c0b80cf24bdcd3cc0ae06476d81a66d5604e77a9958f716a63be972f4dc6846d218f40ba2e89acc72bfdf16e4ecdaf5c5c75879ab615e29c833aa81de32c970c20bfd2cb2cec303de1a9309482f397b91203a567e7281060a82d0c305d0087acbaab12b31abb30890830ca1bd0d92ce9af7109941258202ef3fb04a866f7c9730a5e0fada9365ac80ca14c065e496aaa06d39c02d1559a7cfaee5be038c476511e59caf8a7ed14f9021d35ef001892899d19edd8d7226469828cb336da813a6ca33e9bcc98e3499d01af6c455c2f9f2d7988d4a7972a6c3cda0c3ef8bd8308290585ec2a6663967353f0ee1c8957e666b47b4f8aa1917a26f78975f867af8d393df9df6dc045546f368667c13ab58972c0cc6d6de09283653eb1cd3b398bae2934986e2aca44a9d4dadd676a34f0e68ffc68c3a3172828900a595c84e1beb41d26cd874964febcbf912ff44468749f544dffda1fe723e72fa010882f7c76453e07d4978c8b90e542705d21b4065c2f0341db5f11b4fb721f718611c57bd5f1f698bce1432e1b984022ec17415d4881f5bd9a4b76b729cf2ac0c0431505023f6e3a3570b0468d2b9f400bb82698687dba4a9c39df52206775968a925c3e6d3ff692edc5ed9d3b07ecf060f97ed1d951a069470504c72d339630bdad96257467d27fc292ad6334e93112e387b525bbdda9d036f8a9672fafa876f2761d5d23f697863ec3c54a2adc3f5d9e70d0b71f52acc1d5839814fd15137eec9cfcf2c053b236aacb0aac668ab2dd4df21a3515ab0a4781d6bdf72712bec68566ce6a51aaebf055d53d50134a37b5ac29052105ccc7ea4c8ff87724aca2d960d16819e166699d47b52e71da1a0d6409128b30e8b9bda2d3373fc72722b3e32a90293892325eda5bb2453a688f38dffdb7ac374b7e7c14a9dca2b7296ec1f5be5ffa11f1e558689aab6d841af295f4b4afedb0c62bd2672770391726e0b79e8642a3f3689f5de73c3405fddc94ea5764e34481b66fc180b58dec3483e1eb5d3e45f2ca3544a46612a0762afbda6eacc9277ce8ec86abbb66ff54a721dd2045edab2e12d320b96d72e3cb827bdb83d415c301b3de8c643c35a97c8411c5a2e4d5d3983f198b382c5862efa67ecec91ec9eeb1c2da744f436ddec094b595bb8b74dbbddb9d1224691d83824cf154a22a3077cb9193f75910c0ce87872a16232ac499dd51cdaf9fb5b705609bea238c8e24e451cf212fe84d12370a02e63ec8806acab25272e904f1c14b2b4ed08dfa98801a7826da4b3a983c7054e2985b26740db7c8435bfaa8c196b099ba26c694e0e21b6c0898aa9d5d437f6b37236d84569f183f29dddfa20cea49eb21f6bbdf2c003c320c3e261440c3cba591dd251f3f8ee089626a1d0c61b2eda6431b973259ad500260f8066f052092c5f4b96770f4ebb17eb890992e970fd14f400da4fc0574a2938bb6f9604f18b525c723ab3dc96290bf8bc593682fd6d2c55310eb4253d4b4cd2c8c265510fb0b7fa1768b327de7a0315370f91f728faa740a69ee6f00bffc127e96041709623afb8723bc897772aec35ce037dc147d7e245abb2b278d1c8813d939920be32cab439097d9162f52bca9fae0087ac5585cc06c6eb943527e36c766b3cf728c4c6a4b372aec37e92970738583da91c0d68ddb4f6e11ad7ff30360e0272828493b323bc02b2e51b46dc64e68ac6ad14a4859cd10b585a2333d0f3f69f486288552df73f7231d823d61a49fcf3adb00d9bdaa368b031b37cfe42426fc4fff448370597c372bdc3b3c00c87be99c5d3265531f3314d4ff0a0f60d0da305dff461dcf49bd472e49aece09f536fab2e7ee1767b7f45f00b2a39b0b186b5f07d422b685b9b9e3af5995f20a8063ea252b683f679097720bab8e37eefbd722ec7404be14349192863822942fcb173bb828856779e316167a3bdd167f4c58b04318001102181e572ca0cad7257052868063105e8a8327b37455bbf71b8b5b319a76be2a2eec74d72d1e386b72f8276447792f22ebfcb814461972f63bd95d98b3965ad98d913d7725108e003010b8df7f5893a4b2df1de294890ec8b20cc20744d0991f1f300d5720a09ed7984793a9cc7cdc48680a4d9d40fb8ba827477a84007434ff2252bf0725dfc3e331d49c71676e88dd5a4fb6e072e587dd6cb4a833d78dbadfdeda5d27249fb5d8d3317b2e4de4958409872441a16b5566f3ee7b76f4b6da676e3c477060e6c78a8132aa98f6d8b0bfd1367ecf185ff28abc71fdab7acf00434dbb236702d5149feeed517ce262f66bd431668757e2c181da4d7b5f0838524f265f0b06ca34a228c77ed0b77b620ff223810652588e6eb7c331f79164de126bde4b3c37239c89b4199af77d1c46c6486538152cd2be7ce0acae096848768a51711f4a821f7d71a48b51719ab17835dbc07d6401daec3b65d39d7888a847ed56908086372471ff441238b89a5d7285c91171d3372bef458f44f1462d516cc9c6849285572be5d30e17b6b50875401957a95de6c0ac8e6c0dbc63837c3415ce3a1dae5f472f89a3f08e1059c2dc92283ea93398e54ae180026e412c87a4a37fd4c6de09972035a37455d835fe8880346cbe1de3ef9d627199e4f31b40da7b222345d445f1517e7c02e7eb3a192fe979ae134c7a1adb4c3ba52b18269d8dc412a07948d44728d067d4a101f479543902555cf0ac0c4e5bf80796dcf379118103d9312948a7202bd10f0d305724d8b59336a27938715c00b2d62306f0ad96c52cfd1277d252e868a0265355ba85c54557fc4a5a0beaf0619454dbb84ca9bece548f7dcfa4c72bd9783488316753570a10ee9060ef2e15ea5dd0d7989d0c8234178d8d5660d7266c9ba7755623fa389a3c5908870167b082dd4a4639b3b8defa5ae5fac44ff72b4d6bc9967eda301871ed6016e4443204d46d69d545c5c6506e860ffe69dd572f4cbebe1ebbafd1039ac115c23e5d9fb917ca569d1c6de66357a7abf40961b1bad4729a659da677cffa1f105632f233c0b57276fbdb09072f2836b4c80ab7972ecb3ef16a3cddc6089830e3882fdb1e74143b44e738e89301052d2cdb6fc190a50df5887815ee673e16eda65e6891cce32f6abb9b62100d0e5e3e5181f327e72eba07c4ad8c87c38c0bb9e6041f8180235947bde5ec97b755cdeda432a19f6720987f870cda8cc47a90ab9ba67284873f56d2599ee065a90acfcd777a4af1d516e2ff707d21b810beebc9e2ce9139b4a74de39909e1426d5d37e87139f3b7172c263048fb6428832149a70ac144bcec51cd2ca78c03c313c23b63b3d1ceaaf5a98bf6700972d66e74819485e8bc94d5b47f762f7607d3f88bffbac439d5c9a7210bba2053dd8a345663bfc86ab3872b74e6f9283d38601aba7ffee3673027472ec595dc43275f9d429e070b10cd3802de96c74574c40c98d3e6bce33b500a672a9814675d83042a7291e2c30f96361b52bfa4c3bc8fbd89bd233e9fae810643f7cd462a4e14ef8763f48a10d61a5894b5a1c6c88b65eb55c72912163d630dc2ad2e9388ee51ba3340448170692d4befe08b38a4fe2a1dc9170ccc0e728889634a4ec3f42fe73e19dc06bc34fdead78965fa5c8cb93981f46cbad309633838708854afa142d41ff264d7b74ea6b96edf05529ede38c8b3f33564edcf5d9856c07a5bd8452bb18ed590b6a2a53a396a1363750b909ff236679dfde2c173a1adf7220539641dfbca06e9429e990864eb6350607c1bf706192df9bfd86d405d4fe0d259fde64775d2856b3e1054aad00cca356e9a0264adc91306baf7760842b497284a5ce5550bb9d068b90b8d28ad81bb8af318b1f3067afd08c016792c27e8c70bbd5e8aa6a5a304ca2b9f724e8f0d8b9a4279d0d4971d9a2c8c425339dab6e1af1572829cd411505b725d1c6d173908c6bb09e4ac66da27c7d505328539e9e729497511af573cc12238db9961d027fa9965f304440c7b255443078b2ff9305721032bbe32ca51e92cbcd8733a39718b304d4a1f6ded3c0363ddcc28ceb4cee34cbe7ade456194bcd5b5e570cea03d669074a8fb226ae91076631af1d4acd6c1ca13365225b19c5a72fb4291ee3fc857a65ddf1484dd0f15cc634f42e47927e60134cdeb53e475aa3a479b863c93098914393b78713b88a4c2cd456a08c335572b26583c824dffcdd1146e3c3a4b08edddef539668178563e9347b51efdaffb72692c8ec998d2fe89f85cac3db6c13ad6289d983216ba6493b317ea2ec0a15072f746a8ca7dd4d0a16324e4fe7ce3fa8d96341be2775c19a1d398edf221736d0c88fe3596f8962077a097c16796f8739862bcc10b27f6255eeaa5e7986b1d537205ee53650851c8eae7ddc3f27e0692613637942721f0aca065cf978bd5c6c30efb1aa93a66971f5a05615e4245306278897167e59278eb73a0b3311d7d042838e43a721961660a7f83351c0eb9140503d5ae9cb41abfa1e9eabfebf7c8e1d5720733af16e0743f1d1a2fc6992461074854d6d55d0a419e6930e4f9100132ac2b019b733943b3183bd87d0b087f4822ffbe7142c11b769f1d3aa8084a7e05bc723c84c00256d6f7dd702bd28e5612e494eac3a292143804e32f24c77e1b839e419792a12a22959609304d08e01dc665b5a3491f8fe246ed29b31d19b041fe6d7231092665b4791dc9362f95a3d7779b8439502e458b73af6992648ee9b058e0724568ff43d49370472aeafaf5a129cf980929a5111e6040e167a28fce0718c972be19966317172cd35c5ea652c87d39703ee0e18ee429aac0d6c14bc5cb7a5b6e5b3409d66874e2ad0944a92d65697fece282ba90b1b41bf856f90611e07e093f06a7f690bd3ee08172beaae4e526b1c5f573419b080845814b025483d7875c6ba445a91d60a86039b56b9ff3600ae6d7feb1bf44a2b8ad20b54640562d6563720d4dfd52e23324fe039cdc0fe0e91c33bae1fa63f66e039c262a1f6c853e707295b2a17b6110cb997f2dde96ca62c18946c68c67bac662ef9cf4f8341ea7ce5e7e4b8790bd35d10620fc018b5382e0c5a723026b0c26d44466cb14a917309d1e39da2c98887fd8d2e65018b68137a663f9da115716ef9863ee3cd4d16c38b43737596dd76fb7f085385529620329d7429ca75409d34d3b63fbdcb2933c2bfc72460c892840bf4af9089abb1adce37e9c2757a3ec1985458da02f356778df08726ce5b5283fcc471142a8edf1ce085042c64eb289807333a5bbbbbe889b3555721d55b46f96907e6f4e3aa38c2e62e303a4e6f03a382c921d93ae0d20fb6d020523a8b244943eb43e7aa2a40fb6eec6886a4f4bf0ba86c9c6030b0a49200b0f725c807b17f9fd265e86c3a63ffd1533e9e2934d98e99cffd92b70b60a185fb9623ea20762b4e84c5d77fa12cfbb95e96fef6e2e1027531bafecfcb13caa20ab6bc02346afadcb134707c08fa01cf630512a945fad3f0ccb10c6dd769ccf0d1b3fd719f7a1dfa9f7503c7a85e3c0c7f98fd2d4dd4a1102ba4a78bb4f0ac6c12508aea12033bcd87d76e696459e2b8080df710c65c788da6c8e0242919b838a9372ce213b8f067f42a50a757bc134b4c16f5ff30834feb4344dd3e794c65a8d414d80e3b1dfd9a34430050c11bfe0f9fa71ce5f542bf907f9b9064999048663a9728e0128f4aa4b1dacd66e415ad8dda678077d2590cb187e71399d80c9a2e804725c5d2278e5c7c3b46766cf17f8f1f0f5eb5cec2765c222cd854e8ce3616af672515bcd799a7ae70295e241f6f4195456c4d5c4e4fee8135c9a551b86ddbf2672c1e861d6bc9c977f9689ac1b02f796ff848963e462b4f54d06f96c6daf0ac414ddfdf5517d59b537a3a1074a81440085756a6908936e8b0d42947edf3f688a21a39526fdcb51d54a9e5b8044c6e868ef0d0b9a8f8bd4236700c1e606659dfb723a660cac8737eea765823f69e9d775c8ef50ae5931703b68414bf4926fa4b872d66dcbd47f0f60a69e83f75c0c498a436f9708859004480db5cbbd075f252072a5bec881704d044feda50d48966cdfde827a1f462247839c10cbeb6cb000d4727c2acb2bce2d48c59ffdba055452d759842d568c7e8bc4b3994af9fbcb5c672536788e404760603027570831491fe4976a224670fed4e4b8e96ac1a819942a7284ec0abace96cba05c7490d4bd32f5a7deea5d888b4837dd1c06e828bcd7fa566520594ee15e79414c757f3406c23fe832d46c98920edf387f4459a935ce4d725148a06ae4b0ceb0772be13ba0eaab3f291c59a68e918efa3c729b1226f25057ce954d39c2f344f2c997eb87eb757944c3f0696f011797a681019889eab8ca585eb774f2669cb46c723b39acb4e87b567cd1349b0399864ee21a69febcec5c7270f00f5ac233f05c91dd25252888a1f69de9e9034736442dcd7148760b371468d1d2df867c303252b49fd33088e23d18f4104866e4cb8174e85df63fe3f9550a3fb225654e71f3bfdb2b9e8e24e2ebc6c10405ff87ceac5ee61032d668e57d7270663979920f348a2ea10f5cafbdaccb2f0e88b92d8dd813b9fac0f15b9ac33227ab945c3366457229d6fdfedcf9238382976adaeedff6ee71efcbb38b3e757244ac58f9f91f0eaeba72db0a861731d814a7a7e0e79cf1f29ce9cb6f7c1de872a9790ea14893f7cac28543935c2979457a96fa030a62b5929ea96a9732153172fe9b16bd80d11d97d296e3e432eb1afd150496a3114a61f146d1f33bb0985b58a99acf8923e6385b18d2109a65a9b9356193af98ce5cef83c4088ccbe868a872385f8c1053f517825bb158bb1c9cdddd0efde6cb6ed0398b215eaa35f8101d72bd6d43392b728ec4921112c0e96b23b8a4d8dd07f5c2ae39c0f20531a3750f7215392023d4f6e43eeaae7e40c7bf15733ca67e1c331ea94800e661dddcfc1172b0df7d6115ec95e69b120ddea8be54eb6ac5138fd151df38aa6e50fd3db35312c0e19db519369dbd5c37c53c1a2c76ce3ec818e1910ecc271cb1b6e103600e72eeb85d15687b3754a8b6e5abc2dbf382eb682d1934caf425bb42d4f8fc393e72b106a31d1e97a0477d938053f1f9490b3bd542b25438703271cbbb53dfbbc572bed4fd6c01eef0de240a70b6a8dc4d5ac48cee35ed1dd01e9d7adba72fdeae520abd94a311de2520763beda76e47f5f738ab1666ce732a8586e315d15e40521b01a2c5dfc5aafe9ccc301b83ae6796d99ee5280d7fd05e3f1993e95710fac65f8d4d140c7a3f0daff69cfc07f75227cd0224c7e05b8d7bced7e8b82711acf3558fc2d3c3fe9a7147a7587fb491e4fcc3061a8311d70bbd2abdcffd0771eabd0b0d71d0b4d4fb9f6d3c64ba41ba4c07f3f354b3490e06fa70772fb81cf61c8a4529dce7b074aef0667c24a27a8cfce7b7381f3bb8e383359cc51c1c1e42f2f239c02d12d174efe6605e099c25eb839acb9fea14bd13e6d0d6b6b76ddd68a225723c62ca5033dc095f2b3a00a1a118618ca7ab1f8985b696e8bb71dc4030025f7243d6d61b2a4482a16914ed82de07790d32fa4019adbd31aa784b1d326994f3722f3d5080c35661f1f521950be16a166fda205d904f99a04f0a77e2c759afe372ffad1a317d26b1607bc847ae379ae31771d24630c0713a29cdbf7df85869c672604c2414481102f1a6db423aeeb753773185f462cf681e5829ed29455e2295720655b7ceeeacccf5ac2c1c4b8454a37d7a7daf981f265a5a1b2d1d5991e68e5a8a288cd04edc80f2784bc222deb25511eb86e00e5f90b76f45db60d13e7fbc721979cea2c1e8485d1eb3d4c2476ce612b79b863bf3c202d8741f508b7c2b8372c0a8bd3de0a95146be39c264f09c4adea6dd3090d18ae56a14274ca2bb078972b94d65b9e856fea173580f26e3b9582229004077cb9cead2b2bdf4d88db2ad721f1ca926ca9dd353fea00c59c6cb172418b820be2182a786f38feb8eae47d572625c8ed62d3307348e6250af79dd5f96615ceb8dc48052771a390dae0bf6ab72cc2e1f098a27235d6a876dc076a7b0853ae62ec4e2aed94cf544c329b469ca72f4ec276b2f93950ffa410bce2ade302da41fd1cc6f9f157d2a7ac588cb4cf36f730297cc32e5e49659bdef3b5d7c86842bd3d7ade8dbd4e3fd121bcebba33972ddc98a7d572dd538f4bf9c4a99a8661e63181b18048ae49e62d4e98bcf61032d4315b3ee422bad7293c594a43398782d657d754d450cee33252b02385e45a317fef595fcdaaa3d529e7ace37eabda0072a35bc4029c234bb914a6ebaefc4682e6667e8254993f74a134c9d11943f361dae624df94158756052e82c677d5c727251be5477fac6c7165861dc27a9cd5c54f1d2043a94ac3292d125645ff58cd912508de7729e9f48db0d707e12a18da5d93ef0d0f2267b836659155346a1dd292fa5ed1e744fc60c567a81df126e1f9cb5eded345bd65c2391f236327186766f72baca68be6d6395c76162ffcf1f3be4d48015874c461078826ca5a63281a41072b888149197dbfb5ae58103cb2afa662faf7f7830b1f0b644f1e0502196d8960eb51cb52ea92dc0e0d44b2f5595b4ddc8a4aa3da8509d966af4ae96dd9d18b5725fdc9fcb43f8c22624cdb1bc85198e4290d7dc93682a4ba9347485e85df2c7723423e515123b6d21dde4addc81d95de7048a4ce58964fb9c02f61115ee468f7207b63bdbaa6a2ce0e2727a5f53d27402e5a27b000dc729cba4c54d1a603e29646db53b59479fabe1695a6508d4ba7e644c9d5176d6fbeb0b0809113bba116f18598370381ee0b30b6304f0d7c90ea37a80b0b1ee223b25aebd6242ae695e1b35e143c6ab934dd6ac69a85fe6dc5910b0f2b673e0e858d66be858bbbc0ba2746bcf214e933a9f30433559b25f24a26b3261638ad7505a0f34212970f51ef74f729b336bbd1483990defa02ce6a006a8d1732b2e985dbb1070ebb30d7fb0780456d8176d5c996302151807f9640a9f991f2a838927e29e1e047547c013b69ad948a9a0ca482202121e6035f6a8ac1c1b2935ca14dc1912301203f2d2aabce8b82c396ebc3e59e37bce899efb0542721a49e2a0fcf7e67aa5d868de048ee117117298b370b871bf9f9c85ad3e2cf4f62e708b6718526684c0718a8480c36e1e35185c25d1dbb46e3982757225553a3b6f4e6f0e681d48a08929081667bea9a989722c86eca51ca89ebba5bdd7fa6593ed72fea3bd3ce1b94266be48a3e50144e672e44f1ec2fb18046436b082f4aa2b75fe0a29acdae371a6d54a5acfb74b92d71b112922897305f6a224680fff0889372a83b6ec7f44d6e4a653f31448cc058c7222528497dd9387d5337076e88370a50467b6793997d8fe988aa0a494d1220872cd08988aefbbe7d605ab2cd025b261361bea3e0400da6c2824cd410e1b7c995722d7d5372af5789cc636b61ae6b3aa951d2e7df11bf92c151688181b927f39261d86e1c1c1f12b2a90be6c288d84d315562c5eb99069b6ec47f071566c80220267e1c055c3f6f9d3c4a1bc7a1d5cbc284462d5b1b559086cc47858d64f290472c12d818e26cb55882024bc865f433883db02fd149cc11c45636a44c7db1c9966a97778c9a2f8d797fe455b96f3e6f4cc81c9e529150c499e6a14a0526312847298a429213ab2c7d4e52523ccb2b0d92b48e5d4bdf1077b1ccf20e0004fcfc772c31bc2639a47acba3e5f38d390baafbd1df491110b6da8dfd6e43bb9cacf717235689a238c14ec666e6e01a5a832db90ebeaab0278aad3f6f1f629eb38834672b1e96f9f6f1d4821107f49ec6e70a0f35b72e1c2749985af13c2da6f90f0d3008b391a029f5581903a17a03891f194b3e98aaee0535254d25a55ad3d6702df4b1a402fbdbd6764f7b711da50a4e101d4746408a07e9ee57dcccb55d7387bd420a6e17a287beeb5455b09f234a7ea3bebb7c79348f652df238ce854e9c341eb729be481f27a5bbfd559fbda1341b4f7d731166869503fc0f0cb8d88422ce125725fdd569870661d5617c6ef5f80d6d60dd7ded79c8c6555541d9cc7fbabe742725670d12fe6f015d17b0c4a6d241354608ead78c27414fd5da47baf4b85729c7162c15b6facdef22f8880f5f24936de3593aa16ee0becbc474c8f1de2f9f49a7269f08f7a4efa4c6a2fa547137d9e28b02c13dd1ef40cf6131f6ddc691f773d72adacd53ee3c4270fa6580dd0e849761c71f7885099298fed0d97d0b38477997046e4c557b57b97368694d987a7c6897e35f59a8b9c1a7b27e0b7aa7aca9e7e7226bb1fd33c5f3cf156e93ff7e133e34bb3f10ee2112152a3ec3653a4d4b14d3aa30ad30f7920664b3a4b8d3bf9027e694cf36e18b1e47df02fcc1ec48bfb1a7247fe8adedaa4b3159f3de95d83e32743b9ac7f5ca08c7ed471e6ece754445609303aa75b5c1e54e38c573fbfc3b2e2d6d29f7d99022e1af13af300664b8c68722cadcd93e89aee4ed6ddcf5529dd3de3820c42986cffa99053ecd978970c8b72487105e26e3d96a04a2cbe9f08f77dc6fb5e972b26d9bf421ffcf4b751e2f37244e6121ee7a6881854a2debdd4b1e71c93e8e6f7d983a21aacd698b02f5503726ef5d03884e842c3c67fff4aa8a3e60e483a999baec6b2fb808d481059b56769e42a10c50ba9a444c0077506a0be3e88c5166c2201f367debd489e0a0408e172e649f1687f75f62066c379ada5733c6b90f974a8a39a3fd1c0cc851e60d5d8720fc47d19c4a0a98d35eefac20329484f66ad5c9c0993d29513b24d3f641934728ded9d6ee653f922d4666ad5a2b63036d8645ebcbda6632aa10a08bdd85d2c7247416a40619c53c2219d089dbb8ac33cfba113d5b214864eb8a867acaf5ea12b0395bcab0790452356aa8243c9ffc4356dfaa80089f413776dc15a250d665245894c1be7e835ebd953f63d65c56beda09df6f087fd21a6c10bdb6ddfed832b7290d3fc6c4c4c709c0e7a6cf8c797ccb17166dd1c3964f118a7e9011f2523637231dcdf29f8bd48d0b547560e1ecc6fb179d5d3b0ae6778e69e09f4f99e189a7262adf85df18d8e7872e9730f3116737965b604b48cac526ced3fe1f896655c14f7657d4b4e83e7f5b3bf77e400d1015854f5f1bd6ae11eb8c14cfc01dbbe1772c1697b04fc8d0fbb3d5d8c0a10f002dbf1cfe22aced64f5870e270071285ea6b6012ec693a3fbadc2c5a9f7ea9d67bd38465f8e3fe2bf8137a601dd511e6e172a33745b61769f81b9cd3282e07c3a0d06ed3b18780c428067ddb280576863d722e4a461ddb54b3667fc9117d17e7ba8b2a7243f2e7505ad09dab55112a32e572d320e65de4efb86410e6cd63e3712a44bd25a3232168d0aa4fc2a7cacf6d1c728c561460794e9ed391b57338ea1c8d27f5226b9f433cb66e8f3a8318fbabe67228b644b9b315cab194f9a952d10193b46e40e9ca1295a28a836f6f37bc927b72c2928f084e298f346c53ad5bf82a7213fdce419d1bb86bec1720b2e1bb8f3072fe1787a6581ce6b2f57f3cfc2cf7a2d34fff7b9751770102831c7fed7d133d01b2e481ce151371b9bf4c5e9dbc9ec2e912f26357b00c810d0d34ba483234fb1d2e76bb690cf67ea76328c1110e5de822813aa3c4ec8f6e258e40077832f60f08e5bf8fe9e57cebb83792134014629f82c3d28ef786499dc10464089efa261762f0b190e06ac8b2942142da49602ab05fd9e01ef8c293bb60d82f017b216a03165c957c9983ec20f22108591b5817aff2dc763806b189654120971738ac234a72862abb36c716cc9945b82b64dd17f00070457fbfc75a4badb57a1d30b5a49e72be33a54235278e8eb7ab707b27400f95fbf37ef5126babd7d683871051610443727302c93ee3033565dc34567707b3f0e8e8a224edf7b9e1572b105892a36072172f020818beb5152ef92c78244847daa699623b687199ca92cc92aab5bd773c38431fc697cac1d65c10ac493821059513e5aaed432e754ce64881a66c6e5d720c2a4b12b55a553e09b3e79d69c455bba144f1b4ae6e02502013aaccb4693e72a77354500955de9f22cbaaf29a078e5e6690ec3f8f2d5392684ff84a30821e725e16d67b0069309342145da54fcfb1bfc5e68c04fe18f1ded01bf2f28eeb8e20a7396606aed308ba17650875f2d27956b5cc8e8d239edddb8ada2aeab6dd1c72e340ed521a8609efd221f0dead53cb3f8dacb119b58355d781abc8a96365114907955d0c87e2c952f4b5f0c0da6ae292f1d4255e4ce2c8ceee09ee7e0257147226e387f9f1236e398ce6f4e5a83021eea232fb536b81c162bd1b08f4e7418819a93b4abb00a3e55b741104dc7cd716ff3c9065fa229b8fc54bc721014d2211723115c901663bc19fdccbbeac9a2c34d29bdacbc17f12f4416ddb54ecc6c46772cd7ce988cbcc1f61baf7792b3a7ab3c617b9e1099fd7f03f0593c042ff7e505b6904e7e4681e974b9dd7d17bc25067c9fc6b29e04b42818fb31b4aa2b49b0a6a67c6fd89da0348bc4d9474f027fae76e2578e41c4bffca37521b1d241d42ab72418b7186555beaf28a3d413be276ce2361ec76f802f6f867983c1d211b357f173aa845d058bad135c518abfe64e91b31716e2fab130e51ecc075e3af8c92af422dca5ddbfd25736c9e5ce1d02f7f4cd39ec8215bdd95ece0c7a2359ddee381071b11ed5586365a6b1a957713b9faee3540bf7545ce999088751a389735e6b00fa7974dff9862580617ec7deb1ed92d2ba35a16131df5df21ff264c7b6557d272fe2a99a9c05c56bfe449d8757e7779eb803a5e11844090e0f22774995e7ec9720076500cae0bf5879fcaed57e86da29d381298419d677a0e6b0301a452239772422f18bbc2232ae6978343aeaf8c7f67051abc6c50df56dfcfa24ee32bda75087f3b514b2eba6498eb50b0be60f30cb94b6589fb66a4f2f50ed4d5e193ad9f312c691a67213061c9f5156862dcfe87a20638944b40938cf929a0d928a0ea4272d10e4e7294292eebb3c36395e39f077a9049323449d3e420da270835f90337729369de8839d599d89936faead98397a18e27e9885ab2bd0941c6ca864cafcf026ca70fa626a2671738ccc2a181ed6ac296881ee47cc88275ca4d96aa3307b072801debc5b4a68e2cae7fc7d0178969309074fb09ee5195533be70285b2836d72e57a120f9c9f181a16fa65440012981df8c6a5dfae991f29d05da6654fedfb72a7a6dc65e3f810225d320226d2dd89ef27d2cd1aaeed62a61afd449f24450472d0d753984d0911080557b612f47b1994a8798fb5771403c03c4229f4f56e77722a943aa5f32c235222f3260b948a33b0a90b94d4f7031cd48ce3974c3333e3728b6101094dc11d9071c2f6a4c07daa4ddebba38d3c85a51ed7caeacf475c9036092a1d8f7b4c99e3df289a7e7b091df63e76167a6dcff42bf2b1f6000006fc0eea79b062b7cd3660dad74a37b515c637ffae4783ff7c32380c39d2ec04bf3d3d320f1dad6629dc7bed5d3ebe25f3c88ea6259ec59a7fd60b94d543b497e3f32bbaa42447af90a0261d87a60db859966f031bb8b70a4be991a50e4e3a73b0237245593b6b7493d1dcb67825ee42491f5601b167a773217c99561d04e357bc95366b04b78a68b2063124dbdaae8266e3559913a44554898450d65fbb1a3f940d3697c858426bf94060e6df64c6feb839d6b03ffdd44bedee20d02911c1f17d3e72aa778f6ffd32159fd45a2becb288327e4e23add2243341485bcf29f58675e772f34372a3bc256cfa0ebbccbfc574de7f3e45f76b7269eb29dc8580f84f9e33728bf117ff852f32103df39fc2ece2c41317b5950f76e1d242a1129cee5efdaa72263f9e43206ebee74f9e36fff04c2afda6a5b07285b6570a57fcabdebd24cb62045fe04643316f4af4aeb0b078d1bcb588684697e8ed2239b43e59788b84131e285f7108da92560a5cf10773dc6c19dc8bcaa7ba48ea1bea40e59c45e55fa10b469a000cd9bc2acdc500b055a07998f14b6a6ecc0aeb179ba4942fc9e0d3f1686bd8c496bbbc929a6d089143e08dd0efd29222ee400061b2ca4d60f32fff530f100e8c4b054030b3b326d095e4e520fdd5f8359a72f16ce5404a0a1ebfd6ad0f98743651ab80928f1f7d82df9780107bb175e584db20719d5f21e88e70b38b7266c37e44b61806c51e8aaa2a08281c71ad1cc3bf875e113c423de2a792609c7269b5af2d281f8e312dd0156cabb0ec95c57f9373771bcd4e70cf52e28a2e35312d53225c9a049ac79b22a6ed5f37e8a9dda2292229633bbf4a965545b23768723a7061d36d4a49034635525fff3d9d04866509321870ddc008cc5f32b25f0772b688114016feba16a23cd570cc2cab53ad7260310fe91de43974db9f7b7cd46e6fc95499f139dc7a40bdb7137e2cb9b13f122aaef34b92d81b34e911e5b4234ec9a95aaf36369a87547a24d0745f30f84f6a1bc1266dc111a400e5470263cc3e3ac989b54558799c93c76f90f4a64c25b2cf9a9c9e56e72306c26b722412057294487c5eac20d9ccfe63d07d24ee96e3f424cbda7d6f6d60a1f13e64f3563f725f9ddc105afec735fa97e180170896511d4d957a1f11f1f85f7280ee7cbcb66afbdb229248163545539eb43d006bcaecd6f068c40459fd9b4f969b608a00d37230c539796ac1c89a3f8c0fc56a272a95640ca0d2590746eb0e0f192337bc907206634b7e82c29868053c42fe52e7b880d74cdc3a02a98f126dd4cc90664fe8723a4b34d00677ba6d0c5489647b6a5bbb72bbc77b43bed84de1860e17158cec72df8f48e9a89ff5a2cd3cee62faece3d56ccbdf631be36f5dfa87f1f97980de72c16bc7134e46cc3e51ac8e32fc9730fefcbac478e9d9e9ada4312cbd075bb9723acea410087170fd7efda728a9ddddf60ad6dfebb93497a29f4297e96088627235362d82c414dd3f2283e76abc3fb4f7538106436f014ead21247fae6e6f71720395dda35a22bfd1198c4e0a5f9920c38b228fd98e8faaee3f8a7d5c17175959f736ac0050eda31a83eb837b5d2bdbcf3d62b95b659f56faca2758f1fefdfd72ed930a789bf0234820952f1ffb63f339701dbf0fd9710280273ea0ab46088759eb55872c871ea9c705d841c6af65d54d543da5cd6cd5ea898d5a37f733cc8b4b88f2cf64a826a0630e8924b1277775f275802985993c79fd421332f3a8f99f16822808d5938eb302ce7fcb4a97d1091a686d5290b86a2a195649cf6bd3862660541c4a7132abc2e4476014aeab299f6680b7627593546057b4107dbd60181e72314d14d7ddb46ab72dc018ba022bfc1f9845e45faf5f9d4b3fe762fccc3d45505be526d6146ac050aea5a482982fedaffcda68ed0ee0eb5c808889ec42546f0742900dc5f5ae6ac4b81f0e1cf0d5cd0f011d18707c6457137466187ec69e5d72d5fde563a5f93beafbcb2f91ca5319ee29f02cc3b6b3bf6629d2ae97a143382a50e3c4348df5c476ee62b89a52649dd0a53e8153e308055312ea185f16f82972eba1587c283e9b45d6eddb7fe25c4899ac0cc79676baaefe4ca612f5bd384d7264ec310b04dddf03bda054d21af51f6377beeca2933b3624dc389aadf140587281dca584fdc226f29c64c6c840b40796726b0c3f32daedf109d4d04f8a2bcf726097c7074faf023cf29f56e96ce21b2017a693e70995627a83241715ac5ac12cf0bc3f747197ffa2c5e081c59ebcc7dd96682d6651d09b4cdc2990a9f15e8b72143ac440c62fb6b537b4a040610087ea4faf2d0fba32ab9698d9d9b70e602f72a947312184a4ea5979e7a1290e67f4880847672a3452b114d7b52b32458b6372f892f7c8e4e9d910d32f2800d23f4a8bcbf3c7801d1c5ac0936758239ab28465f564d19636f8ba27ba0adf5accf8591d214f1428571f30410955645ea5b30c72a7d7e004085f1d50a731ea387e11d1c3994068d0c9fc8840a1f4620e9fce6972de78b35ede8eedbc56af2def56b428d4e087a2eebd4c4cadd557f7e4d7d4e272f23046fc079cf5665680ada29905b36d9e899be0b8efdc118af6f1088b9eca726b70ba087da0666298b4f380436b1d399fdc37c904c516c3cd5cdcfebae122726f62b87335c8418625167d2c4d689d0c38bc0572e13312f25709476b47dff5554e6466594dcac469afa2e6d7973f0c1dac6a43c875d7ef11208bfeb1ae5df9311a35b2c955ea6c76eb018b17961f239bf9778ed9895b7cf9e7e913c14f0cba721d4b48bd4202a1315441a9642c3cf2f57bec2d5df66cc1c9ee1e905237830c3a68c61362be866f836501dff181c525b7e76410d0be691eddae3bd36e5efea372635ec84b20edc1599657ab0141fbc5cb8df7605e1034e08cc9f6efc86a4a1172a693c807a701ecafe11be54c7b706efe115b9b8ba22b1744753472b4151758428a4260dce1f915d0e305b2f44c79b0224c44c42ba08515c7f22100cc6d5577722fd862f73e7ae65531488c4fe7ee1ba6ddf91fb9d9860c184d8e943ac2ce9a0297d31de7defe5e36c8a2637677aa99de2a3143e506180021ed6b33b2e243fc45e7515c941e4e9c0d9327f9aad1549e57ae674251014be03c0362b3e5460b4214321d66285218ca19ad3a5ce80757b8596a46331608bc49202b5f02ad98f57a5ba05a1800bd9d9c6e989ebd11986da853370cd5b63c0b557c2e191fdef0459b0ae1ecaa2d7f33b8d4bf95f38827bffb9e71defcfa1e4d2f09b0963a0b848ba324f4f23b92a50cefd9ca1c950b937c57bc51b0499b01bc0808a83d8b157b87be2ff623c8d9cb9dbb25f6f6f03b6a4cf37b5d4f38ce647913f50fc0dddb5731147203861328d6bc2f8c64df3726578eb3183ee19fcf8d7669f078bc6e76e82d12725b2a33bfe1d2e06f42ec5ed445ed94f9f013d830f099f94fa940f6fc9859b562d02bcead8844b61d06212900d3fdf0b8360aa710a8c4414ea85f893d293d4b72214a43ffdc37866d0b8860ec4fbcc12fd6d7d52901d5c7c545d118141b81fd2307ce3f9e3b91c0c58bd1080223d505aa530315b3ee202f8c832a475259aa8c2d1ba55439dac8376225973a377063951bacd0f6317bc4679c78d273b06d1f6e72a5574307526964d4a970733c83ca2749a26d27e419ba43210bc8f57702916672a4ce0bb7661b6e8dd561e2cd7e75ad7c80e14fb075efb26c5f923158df0d6e04e5f25a457ac2c0100c193bd59f25deeacd04bac3f06731983b0886adae793f3db940a5c9de6fd947f82e38d7c49e3e0c56a0a84856a1b7254fbd712669a64a32af16c4f4ced3d7a41ea7b9c301674a6877511bb8822bcd15db99f82378fa8b726a543d446470682c89fcc192d13b2852d667f2334d5eea62259e8a4120381e72917ecc1dc3fb51121eb3ff07229ae70c999290b658da748018d78e6cf37a577248932081016897120495ae250b83ae00e1e3f905fd224d0601a69091b58fe00de58c16843f1465a667afd41046aaf94d23793527d40e86bf95f9a49d29a13d723040e7861c393bb221b249dc6030c6bd994cc80d6822ce6a9c56c26bfba10b727c3f651e2d08ad3099f32968b7d6d28a029d6b44932a22eefe2a1ef78f03a572074fb0002f6ece886b3fe992a85216a1d67f8b6fb9413dd7bcf6b47a72554a7249a900783121496a9b8c03b41e1124ea9b31afd26dbb1a9e2a2c79ad11f57155783167672043d1adc064de3970245f38c169903b1e2b2940f9827b88422f7a724993da9cc1f81885115200c896f77c221ea2b4ffa65a370501c62fc2ee8578724433968262db155c77a7edde908e3d097eacc1547b6f5153f7d9a49b6b4da447201e833c11824fa5f6b8678942301ba6b0d98205e2bf6811fe863d4c9eb537725f72185973990d9dc7b4eb0eb3fd10afad33ed95ecbd3888c3f93e3e601e31720e13a93506087e5a18f4d21158c696df50d7e0bdcbad56568f32004490ae330a6bbbdf9fc35c46539e7122dc4206e60d62fceb8503f4fd250af1dc55c8b9c47214400d231570f10aca255950af941069eadeb284d80e067f88423e5ab26d0c72bc170c8e78e8f93e4203db0936c986663a8a0925e29a7b4385c54f400dea853c52f03bafba08a35b191f2dbff011350f2e5c59d67dc3a8869dbc8cc5fd70ce01d5472c125cf43d506b08dec3cb3e2a017a32ec0850d055354a45e0a58824f172529173ba56e4323ab2d22a876870f886bda00348ac236ac1a13fb9877d9d0e1b6325f06471bf55653882362af10cc5d95b3934a87d95056bcdf5814aae4be972390510a14a881daee14ea227f1979268aa0e7e0805ef9c612d5c508f8a80fa03ef879ea505c89c5398a1cfc781affb93a56749ac9de8ccf02d7450b93791e472f613dbd783c08f6cc6fffd883bb430f4d74df73d05f74d4e6d497c3d90cb1d72778178f7068d1db79c68f9405bc1c16965c697acb4eb83b6d8b7285b8c259a72d0dc4a211fa8da77ea9a16510f037604cf856b90750dab947b8bbf5f1b87e339d0d145cfa17069b46fdc2ea3452ecd0a00cafbc246b136b0df08b917ee72d572789a51d0e7df3cb90b9f643c04d4aacfdd25ea00a1efb93d321bfdabcd81ec72c75e7a036189a8f1cd0e006dc309a8e6a1fdbb3118ca7a84121428abc4af2e72169f72eaf27e6d5b8d30694781d37407495163d684368873541e6f1633a4ff72ed7c98b923e553eec1af0cc33b0e2367e598d4c7fb7a24bef3e8c819f9f36a3d327856ca5a037508311ada0d82fc6b1b17aacc5296911fb120b09b076c56217208865a541a77bbf7ef028fa85ebd6b027e87d684d34f87f48849a2f13824232cb692cd72785b69545f83b36e54ebda00e0209b8c73c4156bf657679373f758722ed83ca64fc377e8cb4059e898e810015e2baf190e2b216d289440a33976d9721cbe5eb07325b0e2448f6507626989075c034242c63b1acb680962ba46af5642d54027d1742ba8becee044ae72d114671fa538d0c38600e1e4f102aa25fc70014fe021374d5224992f1678dba2d7107b6a65362b56beb423d8363ad5355d790189859e434e85ae39c96471714e8aa64c88d40b69ed7db0d0374dd129be2aac3c80da8404659221e498daefc4f4c412871901c0a108c6c6558e968b2de8792014cbe5283270907322154453af69097d3c25c58bdafd095c3317d9504888daec72a81a07ccb2d2a71f29bf12722075e944ce9a157854a8c16e97c79a06b42b427247534d132a4bd602d73dd1cac4abb72116b53960bd5e3c70cd1efee9658d3a727564ce4132f84909956a7aef61ad156d39b2599a861839917e91f4e161e63e7220b3468b45b2af3d2da1f6f43e7c32aac642e47a608e01555f362af73d47d272884a490d2a4a7f0d1dc913d727b1fa13f55afa9df744cd3e29b2a5d929d2a842cc9525ff0517bc93083c60dbfa1c98260335dae9ed872c1b7c20af5d7d09f772717557cf5532a9c29d8095e2d706bc8f4fed9e7161b2d8ddac1082e4b9c510725feb3984c76e777633dce56e36b8831091dc28dd4003b92a6e3a045b1bb61a72534ab4036e6c926342b4237aacc441b3f1f1480ea1befb0d5888d9020e5d677282bac6f721f62daf9ebee8da55f0d18dabd53a83d10c65982c7a5960770a53438893fbbb8715046a28214d3c8c3f1816c5bcb71c53289dbb31b6e7a2762c27724a722c970a9c3c59ab1ea5d3809c597488f936988ea8c7e1b81926665ecb2072a3dc4ae40109c0cd65d891ff224eb2e31e9bb0f0ff5d66d22fa98b70e05cf2350f7d8a54003ffab91a6d85629f305bfc64071528b7beb1ed2f462111ba73d4040f76c0f3441b1988e212db64742a0d9d5a3ce6381ca9a98ab0f0941e30fb7572ee8da7157e11225854dd7f2f4e0a64b8f3b531050836d691ba77d6c715341572ba90cd046ba03602286d3cb512978304bbc5b353e5abce1931d44d2ecfc1a572319986427851beeb6d3cefb733db4f3d06361ff9bd436196c5bfa331d38c092778794ae83a5b92502dff360c7e9e01acff110721a272446b15cd98267e16743a9ffe5508983e7736956a11aaf625594a43f634fdbb888fb4ba52f56dcd4e56689037027c031d37bd1a30a5c7edacd07fa342834cb3c98f523026379375783471e30e88d6603a82083ca9e7101a0edda1ec24ef77b21b59f1c6c60c4d0b2afe407e3cc86798a3c43559740499a5abd59c2661b43ed4741b85b5eed913dea206727d2afe6b97a269fdf7f62d15827cac858f021a1b6e0cb8fcde3fea6eb55063341347ff920a5a7c2bfde11b1fcd8c9941678f31c49da32984be7c80b7a902e1722d46730f8f6a27853dd906c0e662da2ebaf79a57a1b9e3daa853ec396296cd723b2f6f5079780ff4d140b3fcf38a42cacffb5a6ef037a0190deecd49528fbc052c34b1c8321a3be1a43005d4f3c80216ca1dc22637a01838c72beaa6a2481a2d38d8073df0377d495618fdf57ecac63429ff021bf7cf5e8fde4c06eb338bbb72794f5b3472a45a0b7e93bdb80d700a8d0c2d5e001848224a2ad8bfc3b1ebac722857d26f6d154ec8b255395bfb4a6af89e3cba2f9a70493c673530cf85db4050c4878121b1131982099de3f496855909b6c4d6447c1c2c2b52fa4bf705f61a54db5d7a16006accd94a3aba5044259fa78de68d6997ca06afbb96169885cece7262b177810cf262e6fbdc15e731391838efcd1598171b8905b758e3230d30c36705ed16e7a4f3824b712bd46cb2c7cae2fb7902d1775004b75e16afcfa3102c72fbd6bf3ec7a582bb11d9e1194689b78d7575b2bc8bb518ca8c32814f80e52972432ec5cd419b1b2d5c3b89b9ee90f331c04d6e47284ad6194a5f396baac1ff68eafe83e44f6725b646d7512ac72570f2b9a719817eed0168456d85583e116b16f0fc64e9600584507391cd22b5ac8b61a885647b81dfb0ca460ec96928c57a499029bcead1df579eb646ec427cadaa82bca7a01049971bbdd4330fc304e20967b945a52c817ad685ffcf675ec998f67a45f36abc048bbb94599f6896a290d1725f05d293171e83be673876e07f9c117f31e7b39f106ab7d5b1903be6c7b9887263bc41b7e6f4e7af01d55b1354adaa1c4d90e372ab9008d7f22d26f752282b72a01f8fd4a4b0b6fd0e3185afa67ae200f9ed38bc40489d8ebcdf928822520c7211e6dd15f62b5815376edb3caa2a9691f647caf87a129c47e59266c0aec30772ffb33e1f225c37252d608a663086ab639750d8c7a463e6422f3876086357b172418c67fd971b6e52d8963c167091d2e728512594408cb48cbabfa66672da4b0c16699f8423f6f08e84558d2a7ce2e7a353c8585a65a64b23756c347591e7ad724e4e729754d2f5170ec82de0646e36bc32f0a35ec05355868ba75052073ff81d57396266dcf208a9b227c407f8982d724f543ffd7ba313e8bdcef4c3d230cf72e85ce75c1787df72c178ea43f20510541e87b955ce077d2987a62c8490aaff03300a7df98f6f366732283664ea9fc8bb72233f6049d748708b8928f13df41d72544ad7e66a00fdd80221f698f53c22be5ea23072a5054aac691d255b986f7b578d919f859da29b7d7afd9d870b179499a1b2f39d6b0de006849b6c70ae9a40203c025383ee6f840f237f61bfd6d088d3b2de611e2cfcb612fc0544969e9c8d7247c3c786738f43b9b044b08d1396b599711aff3fccb1b3013392a7490e5761725ddfb74a7042a1ab91ca26786c1491e245c811e6dd6afbe50d67478cf05dfd72e30f33e4b2eb24fd400c37d0d9b39d2c9d5173042b288c6c61d8c0ed3c2b435219c61ac2ff3870c785d8ccbe48f990d5af75e8d4d50525c769d5aeef00ca8c725581cacd10fffccf578138057f98450f83b3d4a9b99e15cecd21970ecfcdd672d6840f23bf824097d8fccc4457e74429012dc361ef5011f9095fc76f54325243f96beec99c7e0ba453f760617556671fb2222388dff64a4dd9f7b9d5e427f572d0f287def8e2ec874f0e08b91cd592557cd7eeb2391737f4a80207b2719ff5726895d6ed4f6394b233e451a18eb51a7fb4b798a1e225c98391df03ee886af3725d488bef1ed6006b737f9ed9c9de4c53842b5065e1113a975f87192f9f76b1728df33e24d0513aaea4f401d6088f95f868de113401ea39ef60b6e3a25a0ef172f24034855e107b4f53b524d445450e53b084c10e1997f7445230bf96b0f8c23c3519359b868803824789944e6dc4f2784f58f2a7137f22c489e5480564af1f2b586d7039d07b00996acd41efebd8276880ccbe0f217adf6f72597c7aa5cc5719b4df484a73f198de3c8a17ca2166f09cdf5fc5f48402f7e00738c5dd8161d851d2e84c4f7c0474bcc5d9c8d7c345b8d96b00bc8436ea77c2d05273a3ca030b45783b145e0344d6abfdbf322350d1f1e4faa21ba30be6eead657e9a9e0c88644de9fc02e59c19bf93998bd4a8544a26c8d1e4e12f8068cf2044f38bf57d33a372893c7e54118aa26139c91eff850019cfe31b14f903afc17420f054d7ad92011ff10783c802edb0a546ba43226c2a22917c4f2087246a3084c30c133ce06b2072d63bdd56a34007eed7142804ba29c8d0a1f6172f9bf5d289b9f66cbf95a7be0fc6b0bc98918750c2197481e76588e5a066724e0797245c109e5f3a4de9f611500bfae3d653639f950196cd14b1eb78e297d0466de614b7138c705026067c7f0d858255a942a1ccfbc0e68f8e2aad8fc5358f73ab633b4eee494457f7711da2231f3c96179e85cfe20cbbaa592f70cc0676359046c15c4cbc9a7f1f49ae271a72d1b68ac27360847914546197fa475021f92b8c7fb7e24678b281e49e0e849722457b7b2c8de9a98482711e9a03562f1977ec229636772a78aee8afb422417e72e187835cf66ffba449af295249bad83a23b7f9f9ee23a5acc9472caf7686604a278ab084f3e5147a8694c35fd48809ff4cda92f2ccbbf99b8aa8b7e79f8cbb4b75a8841715df9b403f5bd4a74d27bce2c11be320ba40e6a89683c1b1b9a47a72ec9641cba9d6e2ea6c44207657ba693f97e4b77d129304237c237e8b4ccfd86d11aebde7cb9a9a0dbb3883ec60c38b0ca974448fbd76dac358251d5a8e74e5725767c7ab76e6d56ce32f8d08666bb4bda6a08bde976080d9b83b391cc54be872ff6fe6c16c9dc708d3385c7b78e05131824cf072efd9961e796b1a70950280724258cd1f9748e5e9fb4e2ac98a57a11631a3324f331bf4ab90bedf8a01b83e1c4c3dcd35e0d7031375c9ebf59d56075fd6f65c78b60bb152c8f5338b2f64af72f793f4de7f1927c09e270b7d4099c8adefa1e7c98547935554244e1515c5c944c2dec28866b061ad2877066af1e5c5351d6c06c52fa0308c6ac29b25498d882ffc5d5be47f004baeece057217fedbf91d5ef3de23a1d34c7b521cae2ebfe1e72ea715af27a82f01f030139058770bf97d7178e24a1f67108ad8aab2b673049578867a3a2bef4b97f3678ead662ff901f6b225ce9fa5aa0104afa3f531af3ad2e94b4cd7cde99af9e8137041613ab4b43dd959736617c317b2953ea2e2f51ec5e1778d523c1304b7fcdf2373b5c3554297f6dbd9dc4b13d789871b268d7ab757246e3bd737fd18aa3e6735ca74b0ff3a546085d083b2b289d2e14393ef29563472d8420b80d6e2d4770791cad8c61507070352df1c7a51760a72c34b7489c97728d02f33f0f4bd5d2838a62730c5743ceee3ae454a9c3dc1beda26fc8bede4e4c45421d8238844557b64938e3d427f8281302a2a7344faa87d499e36715d34472fef66340b822b026796f8112f131197da49775927e7e2de1f55ea1841b316a321f87f729d562219befee46e6362ddf5430236dba7678e49cf2ea0e408efd075e56d85fa3e910a5a8914f4622b7d8f4b89cfffeded42d1202005cf23e35e34c68879027535718488e751fbdde1f59c5f9effc5f4bc25b12ad66b9bf4eb4099e1e884c1ceba7a78ea1928cd64524533ca198e421e164b0d7502308a2e5bfa04972ab4b55a10665b7018a05fe3a76b1eacb892df73f66ebd4709d912450270bd97291715e8679ee6416eb321f92f16555b2aea6a81c9602462c8e47e441a8348a72ce22066217a8c9138cec8feb79153776f67749d478cb149e107b71d7ec671b3720b999ad2a937c32aff689a35e5f4b449c5701a241d6cf708e1bbe1159701872d3f25d754a24436a5f4b3b2c7b9bb07a9784862cfe6bc06e8cfebd098f156d32bcf5f5b641305dadc971331791c056f6b21b7d9597b8a44a47d8ffe7853f0e72ebe177a9f5d9e2437dd282f43ae96d956c2c6556747b15a965612275b6eb2372bf579028c4f118fbbc1e99172446504ef956c930faab5b0bdab198bbba4ff0722bca2eca5ca69b06813694627bb809ce6e15252e3eb84bdd278c6ed9ed6334723d11f0c49a624cb267062138c3b19d3018ca161ea301e27007aa7780367f443ec663a7ee968b824f41deb47641b38389780438de8fff742c7a85e5bdb02251394f458cea1ab9e4a1e206fb6b7174388c1d2630b3955edc89f3a06651e79d347284daef7b7487da3152e500ed59316bfdf4250c3d446a3917415f68d19505536c03101cbf6aebb4e52d7c2c40f2d32f74bef361ebd76f09e14a04c2265c45ce72ef8034b6ad8306e7b4329dac1800490ffef687b0c7965674ab66745718866272a2794a3e567b8a34dfc3f027efb3ada365653c4dd7337c9db71e784b2085f41e06358fc7e06e92934026e927397cb3295084f6795d70aa515088e50621e30033292c5fb92018390deaf277676ba3708eba94fe11dcd66350300d09adf9d6f172b92fee5b959b51e73a0692045fe3fd2b769bbc53422ed7bbcad11a24e7613172c0700a64d7012d1ef8f1fda4fbe45351e3701af2d6c0ac6fa4328a1b0adaa1729c428213a91fdec4a12e620b8dc6f86e30571ddcbdd7c45d2556cac2b4fc8172a0f1f04fc1c4259e892dcf35c730bcf0e7e76c6af7554ad693a3a74d73a4c672dd7d31fae675ac4ecad93b84fab6b1ed9e4ce22b8bbe1fdda6baf51b51d82172a53ab1f9bf4fe34acd3bb58a575c120b7e42a62089dd7584f3ad527688e2a225a61b43e0a1df83825c7cf04170d72aa979485ba799b18ef58e9a6420782eea5a21e6d1cbb598f217c5cfa87ac9b8dec348528b4340c7dd01159a14063e93291e8f907b81852b44176a98c1b89cfa95e127f824f4404146c1a7f8c982864b3b72a6bca3ef87d20c4a3b9e577890fff9c3518e48727cbed6d2fac087bda3e67a7240ebbf83e7b12d998d46a9d98bf6f98f222f7bde831aa3f32f7cb89f7a908b1d97ca975a936f26daf4cf6ef3fdcb6afa7a150f1e74d576cf9f791cb264eeef721b3d675bf0c7b0c0dbc799109279dc35a687ab8823ddb3317bcfcc76cebb891eb4a5d9dd7634aa7275d25cec3c77de67e505d9f4cbb10f9b6edf2bc9e74a7d61b2589038c831b3a78b1405af0b1132412f807d58d005e5e398b9967cd513935c96b2b5aa2ae42b9154fb3ce56728cb8403f679728ed7f6f97cb4ae62ccf114728f44390f4788f7820a5419f71c9e0e9e392ebc61d2a892eda0ff19acc8039772b7f8b600c7771bdec23d38349d24103de4eac823b362734b93f186773ccc1e724bc372c797e529fa04c061718eb288df142715e5cd57c33cc79dff6affac5c2f9e19b15c31cad1b480a402bb57501f579649ac11b5b7b976a92dd826ff44725addb2d53e34017d7a19bf3f8283dd4652c0addb934cb683e7f3f72d22f1d1b32b2124f3e8c8f7d94eec1f2e1198d1c403a01e65da2f3ff0a37996c348af724e726ba912dab69504d197ba7801a1a28760de98589f55145b3571e1235afdda27726502b30f0f2fe11231d681b1ef6f2cfae9c756a7ac9b2ca666a02aa3be7cd57271ad3ab5c5a5f4d729c5d63d83c126bd5d2e8c11a14c181b292fdede8cdfde72bf9f17bbff005f0a3963852ba7c62e1a3c51e0e3b078c79e1aee83dca27b3d7201a078531c13304fe1c44738d1ce6e663966da86853e8778ab46ed3f13f4575bec8eec9f0f65e9f13139b58f731474e042e575ba7f095b26c0c6189c69cc5a366a4461ccd98d05e13841700e3605e6ebad2d803a05ef553be55b1008ba600347173bbfbcd57c8e08de49e9fa3c12a64d1870c64ae3d1fc84e44b01e6a25c3b29b181ca0331147419fbcb1fd9433764c59b2161afbd07d72d2bbdd4dec14a1172b069a868cf1e88b0725d7e84a62641fbcb10f80c9fe3284d59196af5f905be729bb834ae121b8330fb628f73b12d373ffee62ff3c6b47616a5accf8ef4fcb0711a8a6c68a58406d9020876146a6fe9fb47d9d75236561fdc4dee16806036c125b09e238ad77d7b9f66ca2ebedc1a782f3fb3580d8d9516914c7e01fead48e9721acaa894a584e228c38bd7522b66d7fdea10b55d16e47ee892a81881aa1b2327017f31a10dedd0fa6ee88b1b187b847dfdab5c3d5c35e0f1d477b8563aa31672d5ac8130e1768364c111e88944ca751566cf5d296f7ecdeaa22bb2a5b764c74b7849d5fdce0aae60ea15109b36dd83c337ae8cedc8deb781867fb449eca3561e9442bc68752cf879b53e1ff83fa777c088e15f61c50fbf7e233c057f9c75bc72ed7a40bf5ce551d3638af44f1463ae76a56048a86e2bb6de99265a424691371905f8d2dc807244ed2e0fb0aab85dcb8ea0bea70e4effe499ad10f4ae9e6db57251ff17f3df38081c1ed789cd9e8c5924f1d3366df1b424cd2b7834522c6bdb72169c7364f91f027b85988d7a8da2d6b0d7855acfecb232cf75651a68021b3b7230d24c835ee6c48585b124b088604bf185971441e944b8869e78bfc033e36c7289e24f9031247dc8e2495da8f941bbd1c280ab5f169961cb63fb91d0046d536e2bfa474297d1d70fd8d92ee61065038034afb700af16db8109ec19b4740a220dec0da3bb2fe06b6ee2d72d197f24d60df658e04d0a523357b2aa000dd635a272f3a1cbd54c41c0a5cdd028f9d480305537d839d14aca9e0cafa93575c6b841720a3d2d4335d4ca14afd3e6498dc5291c49cd314f95f2788376f306af4c4a547284916978f39490428567d8af4891e592bf28ddf6cd8150a379a94bed95da4b539d38e7b2d69f0e8be0e2b96f57d26c76ebb0487fb65c9fad50ca7d04279ce772b3122f68964be5b171ed7008eae3ede0783483254226fe5b267df1807ae261123a9df3e904e60f516fae20ec8db1bc42c81b3696ac1a0596e484b7abd79bbf5d84e764dda4f9965b4c629d62280dd6175c220f99731aec6b6a38b93903b4c972cc55508d72ccb77dfe3274a010172a5aed6e8ebf43a9c869f422ee128ce68321d28cc2b12212528d6fc41ba11e5eaf22046511f1df54e38301fc1a73f01b456805d54fda826d938ccf4ea3f0eb9fac6fb324c91d36b030a266ae4c5841f41c5837a9544305ac2dd1b1c2b15b110c5a0eca5a253f8279799ecbcc57fd222c597225f6a6f4087344a65c3349454054a7845f833c83a53c225334c1f2039e4e2b72bca8d39db0f679365070b888e361671e694036ac422b821a6caf54a2829c1372c9841b7e5d50be18042446ecc1fc0d6c145b97ce5cefcf4b4c281b85a4024e436717eabd17e9e43633ff73b9201a0ae28bde715b808375cadeed0379419a010b864a0fccd637b1600d355b6277a9f76dc17a603ba22be32903087ec1b4d2be72d599759aec354fe10a4665bbbbd6982e48917e5411ab3ce0aeeb7529a48cf07281434f3ee7bc9f31d97841e327e4f9ffa2287b7f925d11a30e780566ce0d3c72ef7d94ac5c45fb5d1e29c4c8cb9a17c1f19cf62688595c24802a9e15b1f74057cef15c78a4c165230e6e8a5f959863772141d107df1a685b7786e273f1d2027221192629cc98182ddbd5489bee844542bf5f7f0c4496c64d6c06ac18af15757233d2938ec402f6c97a43649bb3a6505f7a9be9eece11ad7cf0715bc507ef097268894d96e3bd42fe5921bfa6d341d6ec665cf44f8892ad4ed078a916bf0b9f39e04c1c956f0026eb4da2fda97c5ebd6cc792b7d0e3e59d95d51c93d9b8ec84726bebc78fbc549057d550819d40419def4ce1afddc45c7f05ad12c6df5f3228720a7d1ae0f6998bc13d35d58b05c736b2bbc0acbfb05e212b88d4e127178f74729a73f1b84450ec1d953a0a8e888767c88e1d797f28c18c8738df7d174a496344058e309f0d734fb11f1c13988d622da70e2e26b63e39fa0d707ae6d7db36c2722c46746724fa3a01fa5228bd2c3ec4fc307207d8fd2b291d7e2bd142a0492c24c3920bcdeb3bb0dc7607efe0cab21d15ebf299796e9ac8a7d34bd829197a15721ec57873eb731b9b457ccc3895196dee17e647077466f9246d90b987b239172638787bdad6ff6d8ab411633430b265e9fadfcc9f33761230dbd2a78349953a23dccdcd9538f9b0134df4fc8f70ea299ba386075e725f9a4a067fbbf089ddac72cdb3fed1d65649af4486d55092e76a555b84aca369d8a19c4c53545bed127d40ea4b371fb6add3c086a03d695b56caaa6a17cd66bc62938d1892ed863b5f676832fba6e3617c10bd361c2c0b4893ee1bad538ca80d858fb859efe80e84ac63728807b059252ed452f01dc2e2e970bae77040bd72697b09e9595e3d089b5f0972ca29b0dd5a4d715083869ebe3e5efedc2b00e6e8e1299acfcf97d330836d167208c2338a6b42059fe5e442058a66cd72a5339aeec26454ceb25629cb7fc388722187f6c11a10c84c6c6168175d635a774f030767b5ec2002b36c10f3a8e7aa65317fa0f2ab183a945d294afdcfcb398228d8c3eb40028c7e437675c2cee572723b8c42e928d6731662431ab5c7fc1ef38650e83f896bd12fa9d783415c077f72169c25189034034d78ed6f96ef4047a664e9e564aa0e2731fc4dfb2c1f9e4a72c299d5963587b004bb33573c4eda14a85fe1e281fd2e5d66f26f84699ed913725bb9c5d4828239e2d20f7aa7c45537bd3861f8a3cb814719b41bd731cb72ae72b25b6af4bd5ed7ccb648ad0b160f671c9e2e5ce60dfb75176227b710f3672d7205efbfb23886bcc78021e9cc8b409981d4a751f67bc573c2d3d3f25a6330ec72a9a6eef2880874ca1f3e115746ffd5d20ba66d2be7e16f40ecb035f722b4884a1605481762cb102ebae3a617cf3d0db02cd0dc88262b89a5cf8b91d3a9637e196ca60e2e07dbb2ae3674ffb200ed574feb38f5be0974050480892015247f197245b1bb133877a067083e37a16524d7f8067a8e648e7a27b48a180c5cdea1c072f02c8e0efe1f7ef54386883e059a4743846003233f2b22a350129dec96c59149f18a9d022bd603ad6c87a4acfde82c47424c3ff2f1624221728051b31ca51a0e025a01008c6645d3b678419fabb2c0e689f34c424d95d1bf7d5a419667c2877294a6589298061b8bfc59b69d38fac33c8d58549cd38920b9697c75d1f8f378721e08e67cf8f65de6180a5223e4290428f72ab7f26e6137b3822fe827837261722dc070fef7a163fb8c0f9ae8cef347b772e834c0fda8af7230245baef0ec457205a692e6244536c4984c5e368687760347a1fa9dd308aa5b575a512b3e75d325b8867793b1713eea65a9cc7298c38ff86b4b5d5795665d4f8a99e342a1550772d38c5af9a811ad70c35cd7a6efda857d3b9c6d914d302e9df7bb118ea5198c6b9d1014800048ba4283b118fd923d2231cfa7d6e3bb335c2c21fdb7301af76b003bf087efa1c002d5f5d40600b416ef93591f02801319ad20f486d2d0a9acaa5e7d4803cfd448d89569e432c7cbb8f84f8dbdfef30823bb5860bd3dd2f5d652728645a2f15623be7ec63d986920da58b9c9ec8ffac7ec27016888ae54dbf0977230d62fb5c569831b3c93e6a9c07380bf3cd0ead26b56ff8acb81049f2b75103267c7b183badeff5a6fc1ff21c0a54f9211bfadd4745273761ad964aa4129b6402aea5dddca7fec00c904cbeb5b11f69336aacfc3fd243e591d8bb31ce7089b727ee0cbdb68fb629ac7bacd03048a5ce9531ee221b104c08cd498ec9af7f99d7252819573cf83ac187b3b15431254fe35ef63daa3b7bff33ec9b054a611f90672712a534abd8938c6f2692c18851ccb4165fa9ade513ab1348451bd2c58a35372c78d0843af220235fff19370a24923ae5f8332b05040693b9191c72f9fe989687ca3e8f14402a86ef92ba305ca614215b67924841240992e42f4bddd274ca5725bb8bb4a128f3345ea24a9b665dcbb19ad13ebcfec657b65efba6a5298b87226b079ea2166099cc1c914e6a7b218860d2d83651038d60d0aec2577ec4fb2ca66c052cf9348ff3a2f35e4b44369dd048c760101ca59dd0682aac9bf8341183c72975682da890a97249320943a2385222f32cbff7f9e978208ecd8e684fd485c72bd8d4a2691d84b20049364d5fb63e63fb3ee908ac55bccab5467725942c38b72519c3030bacf10b825167345ce335e598c2dda98c64e91a12c6b6f6167029243b89229fa2238f6ee46994d2e0f050c37a45de61ebe1e033d6f765ec737cd9e51153f563b09a9aa2ab8d3dae2654f4deb2d15ebf75a82f7cc4dd5d891439ac872697305c3e1b0ac023b2fbe2d919cb8298f458ee13f0c119a799b5bd7262ffb72acb9088bf76e1fb00120c7eefc872476bcd86cd4934d162b564477ba494ce250787e6e87fb94228c554ffa5f0f10744c66ebc052bb9cbb3b3e13bb8eeaff2072848b5ffa1811ae58c82451dbc25369e8dc557e9f1cbfbf800d3ff52c70e5ce7229d31ff495607535da812f06b90491623ae042de5c5e99812e054d2c526f120800f883138ce1c1a29364d8d37b149c4c052d7aaa2dabba1ac968e076b9f9a1726735f87118f6a445881b9764d89db83b88b90a8ada94bd537a85624cd2fb4472aa75e8ba3639360fcbde0db7d6e40a4703b79b41c38e34b9daa7f4f5b76bba5597f1ef20c5f5f8e055845cc4fae84f811235eae9365eb01f73b4e48051b5ef72ab50d7d0c8f6f68fd352852cb523043f46f42890d1d6ed94091f98c74cf27c28de7ddba0d152e77a176b1822fe11474f80b52303f7af5e4d51a3155566129172626b5aa8449b5ed02060198ce8e361731d7df9c600c2c782446370a04256e572abed1252d77277b7862b5cf738626a48762cd3568497ee6813056c061b947a72d637be5c094577641f14ac4c1ef0cda2f926a15a57808aed5dbb112d7d17b67272a159a38bad2a38216bd327844a79059c93feb9711af35fc31df175f6835d3420002ca208d7732c2a2a9ec179699fc3e2f9d4c9b5a34a552d5a76b4f340bd64da094ed38a19f423d67f1e823eeaf3eb32a90b02b11da9d799643e83f60a73726156eee8cdcf764c4e56956cbd7225d3cfeadcb4cd4b2099decda18d8a220d72ed0fad5b5676f3dbc29b14fc8cf2ef7553ddead5768f171099d2ae85fcec5d720547761bbb389512ab85f62be639eabfc68410352e16affdcfbcd806746b84659e106beaecd69b401d4018e83643ffc7c6d12c2c3a6d8a9327ea9defc3355b26fd8a50fffeb26fce1571f1a6bdc6f5987e3d34a875742ad60c1211b9cc270f728d2fb2af2855624acaaf649a048eeb1cdf9331eed6fd2a42d32e4b5b98fd192e31403a6685d6e90ffbba43cd1f5cb8147e9069dab5c8d2c464763dc7d43c6119d3f8388decd6e591fe6ebba065da02c52729c197ec1b4a7c269817d98cceac31767619339cdd6e0c103ed5a8051a7985f5334e22c6b1e8100eb8932e80ffad723f417537e0e3daf2ca2c6b4e8aff830cb29721c515d25c9dd501bceb54aaab4c176081c1a814e4db6bcbf26d42b5321f4f5834aecf5869ed5b72515f86c5ee2ac208fe796a4c16e29714425ff9c941f25f97954d32fab7ab8f1312eda40fb538f2001aa561d3271ca589c63db934afda9293e5868115f13cb1a9397e3a108c727431c99475ea7a0bc0097b51079cea7afe6d03df8c8038b449068e2ba20559527b2e773d70c4442866532c976657c90d129ef696fa775a893dd6f1e617422e2e226a4ad0a5e9d9306acb9374490b8457b8185874fcb9414ba758dc17b1062c72a6fc9a73cc10ffe47f2f6045f7a37d597858786b493fb0b13eac84e0cd65807297d64f88a406b5ad175d15462e2baa456c092f2c792f1ab5ca3ad9688bb589282837e8bb7c70c2ab617f741b5e9838acb60e3402ecb5c0d07d41763066d3f272c6b8c7998e0c13bd0a72d8c1d041ecd2bc7943405d8a1a719f67c1b38ba0f3724a2250cf1176540c6f00a426ea85b563282da2f9b1fdd2441ad0f834d2d1e35657eeaa415a56c8eab5a9851a97f6bef508e1e2bb109d28454b43e9b2cc83e8722880be45de0d133f21eb2da5ddcef32d27af32e8c40f628580eee472fbbfb672c04c31a98656b0ba2c7a31df04df5181424cc8235739371da24467c737d307728cf45bdde751bf74bfec812020fc5936831ad66159d80edaacb323ff30266b72de5f4d86ea0bdd564cb23aa02c2cc40812dd42028b3c61b6d113393a8718e86b3e2b65feb622a1c13b13f37d7965906422986fec1b4cede37540edf99de32472a98b10b9e5a30b269a0e7b7c3021bd3fb0905260e7002f7739d459b8ced5f8643e631eb97a84fab47e5259daaf4b0492a8edea633f9d4474a5b223fbf398776074fec443ce3d5a3241abc1e4e663b1c5186bd44d8c72f0f7bca1b57782e53222e02010b0254cef8d4dccd6077bf2560d9f3e03c0680c04c48e09c7dc15a804181871b3b705af0157ae63ea978ea48887c0e1766a4e7ac0e3368a13c2a1a2b5722cbc852fe8fcd7cc82b2e68b5d0c63083fcfa566e14df474762047c9e2ed436d64fd79ba219ad89301744652b3ee8f7ae0178687f82f0655d391f73951e0a84ba970445bdbf90935c9737818a3c1260125f2848737f34017177ee7cd5f5d61326a15620b65c939e1e3891435d229a554ca05e05b041968e6b8a697bc80a6f10d8b51f8b1a2a83b5a9485fc354c44112a231f59c4c89632105a94cd077e7643605aa9117d0d1b10e25c25bd6413fc84e16416dc037df206cbf87ae70ffb213f01d67d93cd156beeaa74d950c595c95ec2b5c1672ff56a2caea5ed50870d413e723c9fcf6cfce5677fec50195bf72847e08ea38786f44fb19fc0c33be859fc525485d764d637d4d9805d7801ad03d1798d6ac45fe196a6be6a97fd74a1e54213725b99d60437fe2939e6b8539b40b8e468ac3607bc680b81630140186aa528c457d1648bc3505394116f8e09c05d2b773a690c5f43dab419570fe56d3839c8334ede4918be596e9881c692bcebd6ed9ff68909706c27dec80bcdcfc0bef0263157ffae474292951191c5e5fe9d904404c13d3f794182b3ad143ec813dfcc618572eaa1e08f0073264144a9ac3a68161bf12345dbae1c659c154c4e4af0676e2c3f13549e80880be30bf617d5fb7caa8ea871df236141af3759b7a2df440dd48e1cfff7a72e411dc2af65e809f9dfcb374440fab64dac5c2969ff376a25e309a372bd1a69062b9dc45a48c69847ea67e49dee23140e630c97b98e254a3a1d119a557252ee112b87aae083dbb147524a21403eb8e51a4fc983e7d41c6e4a284a16720beb3e2646d4c1ad67b6d06f6a7ce2028b70954630c119085ffe1ce8aa7d4a72253a7d22fc9bcb84571c21910dc520b34078f1d74d1bb032b3d80bdf4be2dd37b48389f0d9b05c25bb0710247f90d9f3ab80688b31aabcaa0301431eb2911972114db83d361ca4678701b8ebb28242be4360532ad73b3998caf4a7ff14330e6d7bb72a9128beb75c94aca35e2b208cc25ea2fd1d9cb52516e2a860999c4e6972ed16f77e7c9aeb8941883043fa7e89d2b5d6c4a519976212d961ec944707d6148b3de56de1ca6fc576d7383964660cefdbee96565da6d7307bbb407a726f9a72451fa98c9879f4cc6533e9444647bc9510e64830dd941df1ecbba9eef1493c0f67bd5c33f4f05d4ce9524d5b53a9e949020a64a7d0586b960f63c611211c0b724ab1a89c8a41887f0d5149617a32f89f2d85b82f199b9ec051d97bc8496af7722f0999a7fc9ecdacdbd790d58172139fd16a7c35bdaca00d9676178fefe18758b122fd056422a1355caa37594c0efdd5fd79365b689038a0928a72264b81d072dfeeac11a942812bf8068041fa93eec8e70921d75458d83b6f57cf7c116da81184ae71bc6cb234b31df55b84ad5cf6194de0b71e92d0374dac9447933f8136723d3ac9ff63f2d91b2af5ba0970b063e539b373bdbadac16f0ddb72bef7c24172068307e0a0f744daac747b944ffa026c3c3ad568ba2492cd7b7b9024e57ebd727b18069f7bae88a0f1e1eec23936f79e2fc55f49b09c2d8120f92bd1e851ac72d99f952888aca2a7942dd5de9690ab3fb6cd6605bb011ab822efa7a68f2a2f72c7cc3655e46829e99e20194e94531ba9bf73eda2066d7320bf6fdf513a863472821bc634548e7b74071988586356ac7b0ea49d675be866cf00c12558dca54c728c153e5ab612f0b72b8327410a30b250c2f6e94e5a9952e044f6abae93189727bb3b6b04b094b083c5cc0a98efedcaab6d15a9a4e7c731d0045436e886c43772875d0345548b1410c11ea79c1f52e32b4e196b98a5116e668d2774e38825cd1df54f1bef133a5d8b4315dda00e4c42006d913083f148dbf809fd61c9751487724484405123778c98f91d6e375620d7370cf051ce7bdaf58b44bfa1815333dc72cb8510d8fc5ceca71bc14a403ef3ebb4aae53cc9fe1993125764690645e7ad72d79359ed07c85a8292c556d1ce9f29df47f6eb6a33efe4d28ea0e597bb8177725df56284154a715380df9594c522ee6a7ab1fe10d7beb50fb9a6c45a9ffeda72f92501694717d2b0e9534b2d14978ac577fc7780f808371400cc2f277744004606fc8c0fe8acb4ae139ec7dc32099135d481e82957fcb300fbf8edae66fc34726164f5bad16bf527b4a0976ffe81e4ae847c8e1327de507f8041f29d7cbc425b09901643e147deba074ec0d795896e805f83061afe04f0859606f1da1616fe470d84b90897149b749df0a2aaeecfaf5065a7d21a731f684e11e2ccfd1c50b6724c3322707f7206172b64b6c18efaf1bb5c5d2915411f5d09314d9145a4aeaa423eca5990eb9fb5e1ac697f430d1060d2b2e11ec84aba03a26cf79ea6cdcb3c22fa7119d8cdcf9ac2fc63cd2b0ad3c917aaa0e1c0f8cb1dd9b0ba8f5784a08f5550ae8d7fa72bf077d22048fc97fe81aab7ef5bb3f44689a5a72fafe468d3bb1a527d0f5b192b19c933ecefa578ada6c5c9832dcbba3e4757e668f8957f2fb64ee73c9a4dc822f9610296c810ef5ce897365bec641998b12c80e05171dde6bf0347937972a555e6eedc58f58e3cd8068b3bf48a7e1339c5c9a4372b1108b951720f5ce9682a4c4af0744e75554b6311042e8268b6a76c6f365a27097362a18412d8d68f2faa1c19c7bbe34734f7e7426ddd8fa76b1a2574c731907bb61f06400760f33c84288fbfa1b5951e80da9b33d8694af3b9df7f9a1d0918bec0a5877472aa24699b346d35b1a8b17b916cd0025912752e46ef251a9502ebcb4b7abcb472b8ded6c8c30ecc064bfd941ca98f849661d148e1f96f3a9d37dc3d608764bf72c752f532e11f42dea128783728243023f9c4cf493a137a428214aeb055fed7721dc919c7c6a84a96331fe9f3c97e3a6284c5e568ee7c319e8d39d3191f88e3724ec426b8ae3e4d50040a3686fd85df277bd925983ace0642db257ef5600c901d90d842c353f23de6ac2aa931c6ed8ed239ad8cd02714b6fde65c4d2004fadd329eb3b9aba7786ab813ee9974fac9c6e7ea63c32fb23872dca37a25108f54c77290659ccfd65cdbaf33e44210f9047f2dffc22eee46a613fc0a0c09cc90e8cc0764dcaafe9d95e0f31618a7dd0f806e8585908c11bd3b572ff886b1f1b012a97269bcca334e58b114c254cd411fb92000e94f8d9a35079b75b9cc5a47db16de72d45a2e1bd02c3c01770f75cb5cffb35b6f682d8f9d87c00a3898c549c88ba54ccc246f0f1117a42a219d496b4aea2d5428456c5bfb06fe680c9bdd0f66cefc72b08bc2ee56ab5d5e7127a087161f981ad24187b0f36a9e09d54fcc01c22fe30ea9622d3682edb6b4013be70cee89cd0c86b98e2511114c64d6fa55a19dc2a31b1764f22e7e2b684beccd09a2b74e1f919cd66581c82e08a7623eee5098b2273f0bb57e92258764374f5531a0ca1e34a707dc9e01364b75a2f7fff8687b9a5d6aeade82415093b267cbd39c4181b7e56578ee81450d7edacc9bc3729c4c3041724bc92c9d23b5c49c9589db75db1c913dc2d0efd031cfe176f952bd5b6c54ca199421913efbc5767550211285c45a09e0ad99d121f09014007ecfcc206fa2717211516fb6827f19e1cee8c0333113f6735e384b1dc2839d1d49097bcf427a22723239be160783c4c2934f8c1c81b5cd1699d20412ddd2fb8b8c636b73b3d4f272ee79c88dc79173050c8870ead7b566564c577d494ee231b6e0afaac9e465b734dee6a4f5d7f19bcaba3fb0eacf0850207676b53ca69b28de245bfbd24ffc53724a8f1703937f9f31aeb091b32c1e96a1b08302d9deb5f0965c1c951960554e161c6376b90cd4608cb021853cafa1fad9d4e256bf9531038fb092b516f721cf72a468dd0a65a06de49db483e63d5a6c4259b70dafc0962c074ec68648489fb07222a61e2165b7061b6dfadd733fc79660c0b6134b40a1ab3577412fba3df16d72ee36dc50b393d7639ed05545bdf07e9dc59cd5eb3830d654be363cbc1e561705f27275c7ab1a51a83793e4f20c72b4ea375d4f4f416dcfca34d6de7cc5086c726315bf632e3610dd6fd8b0d2b8c0e3bca13318bcdf224b3cf0a18fe03febe0721b373fdde695ec962210376b4a4082712ab1206fa00ecbc2e02abeaa58c4227217f23d276516f5683ebcf7164b9914cf64bdc2e00dec57d7e91f6a36072e7f72f3a7f07e13e8f194a53ff7ef319269a4ffb59c9b7ca67d95d8ebb8c1202d3c5bfef2ff28072e652dff8ca1da9d19c9247da23a713e995834b6a168ac774df772a90d5b286aeb6e39d5655a89d785e4678c4d1267a60fca11a3f827e7b1a45a72b48909153b988fabf351ad767ac16c198b06f1cf129e746de4e68201bae56e72d239aab85656ad8723c2af1c931bb6a35b857c5fa29d3244651401fa39ef0672c3ff7d1219da170b626f9a7ecff99aa183d6a1233934c22d8c96dd7432e9ca72f2c50b6c0224ec0fc9c84994aa2717ef0ffff65ee1eba48b15de398dfa6cf472245f3f6cb3555d76cd0725d7e4f21f215b6adf0f8d4a9892fb02bdee6534dc728ca9122bec141ab74eaf7c6ce7f00271d980f192ec51f7f93b522e9fed9e2b72f859bb860b9129a693d1c943f8111d292d4a39ac85631ce38663b9e3dcdebe72f114cd07f1b17d184f38d4aba5f5f687cc4e454683375f5863c1a00c746f0272ca01289be43db8f3c54779a50b0c7404b0705d768f72fd5e62f440e98d641872cb6a851c61b4ff1a83960f4af6b2b4a4ac6cd498cfcf9d8d544922df2dba8123b3c1f986a513b22c7fe4a37924e63318b544d0f6efbf7ab503b0b8c10b8e357210f9d74efe2dd0d1654b3bd47b13382b19270f7c639b24583a8d14c912c463321e5ee60ca82f6a9f59973ce4c1158170dcc7242e0740d4e9b7dccd66c6b86c7262fb92147b936cd7e20f1d67569ab4f7ae136e8371ee86c4bba95d0dd9a71b028ddbcea63eb57a0d89543916fb94db92146bba215053d0c8c0e1d9ac5d416f340bd932f454af216d75850597394d203b38772c3df39397e271d0654d15769e723deb7be35fc06cbc6bd8ae0f84fcbda7b34f7de357390c81cfb71dbf24c5b3725f0460f554354b38e463d34c06e12d6d0dd9d7cca787e56db621250b818f3425e7b9ebf7fb2e9677d91d9a791a3316ab3eccf9b4db9d6df450ad40b900704b70b0deafe71b0e3764c07f94acfeb2591d83845620d43524a922f7cc7af74f3c721100c25909c35b736e694cd13d20d67713d37d6706237b74e75046bca9d230729e3e297edcfbc1e423125d1fb22f1fd788058498cf6676f7590795c6ce326206eb9034430ea332fc905035ab55ef56393d04de355945dd343cf91adba3aefe159805f52ca112d108f711123291966182556c055b8715e64578af1e8201db45720ee1cfc35bd981326e3135c654d399db3c275f221388956c79078c57b8e7332be53861651d5aa57abdbe3b1d4fa996f9a7f830e79011541c2432da5200eb7a0c964aca05eb75febf70b54f6c0a39f78b59ee0ed78e3ed131af25a913e0d9ae3eee8afe9cdad31da56461e1c1cf3af64850ad8f564cc250bc3957b6e260d51f5a76fef71d132fc60bed356eae02e05dde4e1917902479ffc5f5f8cb6b4285b972ff94c83f7dcc444cfce600fa8d0771ddf66ac676b539afccfc1eccfc538c7e723c48259d3cda134a011c6b4894076493a26f650379ebc9991d4ad2b7ec83425224a1b2e519b1289f84fce41e27641b836bec9aba2487b1753b61d9599a7c9972c5f4a7b5a6c4ef5849675027880f5f4e276420c86b8f3cd6242741a90b8ddf724cbbd10e9c538f31a9fb66b2ca4b937d30c382e70658cef63c926aea4f6e4e72d78826e850656a231ebd9170847246cfaf4497565da8939571dc9b27aabe7c1e407992b174c331815684cecbe2540684f38416e0e0e2ac37d4d64a8101ee3e722fbea5f67fb81021b78474be48e2fccd3923d94f90c46a7133695129b9904030b3c4c081273e40d983efc19c1d23e96be0afa13814e9922a3a59cda6bba500723e3e8841d42011728f70006e5001d9748a6ed2d5b997fc1ef1da5664cd0bf72999c820d2d4ccdafb7c85ad115e5d7ee76a688d253a9d879860afbe77707bbc729d3f7af1523ecf7161e7c26122c0e45a926eb857db9a332d9479d62ab6f5f1729ef039b9619c7ab99fa3d39c57e8bd5232c50e3a1e8f1dbc0e4db02cdaad8372c41e077bbaf975dcff63c1c3b95459e18300e3c6fd145a04f8bc809448f545725067d2844722ca735d1c548f27716e5d8e3792011f22360fd0a6a62c461d2b72e6efcb98940e4bd2247abf8fc78c277fe611639315258b240442db12a6654018a1368891367fc16b5fd8b05ea0d1d3af3f0d8b5c67096f184b93b4affc4ae15fc8976be38805b01363bbe72d8360a77f46a6131d56f4aca5d3ad98fd373ebc72ac83d6432771922f66fad8b3d5838daa7e0ccae0a225871d00576bd0957d6f50e37e2ede5a76e72a95cb74465e2e0684ca44280d0bba307e94b063395ea28e729ec3c87a3521925e319c983867d3cd13b17f5cc262c3db7c547b2de6590f9172bf1b14e3dfad274c99e6a928ecee1c413286b3a47de7b4b8fcd601482eaf9672d17ae49bc81875c0ccdab43ce6d20f42595fc192993babdb807c4d7d2b235972b1aa21b8de02d8e27fd4e2f34e1565eb4ee5b6bb1b555297d7fcea73f1fbed1364e36223754073c6a7d3178d7e85d6c6ea8c14d685fa0013e64ca6251df4507236391c390d544d2eecbca5e9b422194a3ac4e440a40c962d035e3c4efc06fc44bcc0a7afca52c9409201c24fa8da89f07f1e324463d092f98749f166cf2fd50cb556cd3d5c86816ddb5244e3f52fa4ad5df6c2e73e171afe26ee65b462b7813f3e9ad50b59c33cc07816397fa3ae5b14ac19ab527f16d1568ad15f902a8fb64915c2c297a8acdca606b78aed415b8ca9c0408f61939ab4f85f05ab0a4454ac720d80abb3198920515a197a15a96b9944651c1e895c3d1e70c95c6959af6481720322daee63bf4a53cef07bda23ee6af5134a3c73d296e9c7d24cb171613e456c175ffdc744d78446602b92801209e4d2a0267da23f24f25880ab83e30a177b33d73f5cfe21a9e8a28cff6fc3093f8188e7230c0b1ecbc0e327b3b89f53e931161e7300ca2f78e569836f368c2b52480fa84736fff39b27e41f150a6e860a5572c6fe4c21b8ed3ece95ded5b2bdbc957dea097aa42073fd2a2277c611267d70283cfc276956e6dbaaefa18f41a70b615f6d2221bb7c4666d805b7ba7689c774727c63b8800dfc9d6fda809461483dbb761626daa3c0b8b799edd0a86210e7c665cf276d08cbb460bf209548bdb072dd56e58ee3ce0118b44cc2e8e4e1badf2e725f3e2d0bc20f61ed2890aaf2b4a9c31a4d6b5c1929734be23ef51f9dbdb80172387f46dbb22489c3a9804086dcf936c2d862b096bd41821dbbea36be3c374572e1ba685ce2c3b64949fcc5f4bb39e7588181265711572ed8534146992d676572d81b14a66405063003c6e8b72f52d5a673a095fd2fa7a3b14636e8a936e12b728934bc166d68620cbac396db28a508e19722ce8daff88ce7ae248da2f405c27230dd30986e01cf00412c31353e7d9249d317947d08b93786d8a02362b3cc1672e4aea7c9c9afe69d427a058563ca217214090b795d835109e893362b57fc0819c5c757c8ce242eb27432ea388ac8ffc79ca7f6147df55f94e2eca48d6c30da7219c48495051e6b3f35a3b2b6a26be1c4f2bb4f014b7b71650f58714b693ee372eaec2abbcfa30ab963e474bb2d609d02090d04666c54b25901f2725478163572a25f1b8f65a91b2cd346d7801cb05fb564e1f8790350224812fdc29a56b0d37291499192e01a667bfbb8f525c92c33326f29b2b989fd44ebc5a38b4225df4b2b2b4a9d06330878bce79cd9dcdae8c541d804c73095b6a3631eea89016234ca5c5d79b1a2e3a73b7c051e49890c976a0c9c47362423117cd10416d8d569f3d9135b384cac68b7c64ea7eb49b35c4f66771f0b72c2ffd63663eb234294ac4486724a7a62e8d11ffad06dbfb5f1ab713344a0ff031f5dae191e27bfa77fb83ccc72ceb25d72c5d3a3bdda956d868f27aa8db00f91ad626cc9e34ed6dc0527ba7872fc9857943672af253a93a4a86b83fc2288859d87838a1174ae74cde8ebf1bf720fc538c20c6be48992360ef6a2ed0bf1747c775205bb59d373e6ffa4c8da4c186f94f742b3356e19a55fdbb7ab03353815dea67b3e0d5f79ffa0f4c6274d90182bceacf0add877bb8b9eb862334d4581db68275e3caeea8158761bc38ec28a726e6c48128d46f0d2fd931655b0f3bf0c6c247e34feb3e1e4cd3bde6e2d3ad7726ea5998adb34a3c5665e23027653918aad60ed148fc544fd3581832d04445172984b88ca4a2d240efdf0986379003a5200b635ed55ac80a5dfc49ad0912f2e0f6417904a7f98994035ee1f6599fa419336b8f06930d79041eeaf25b70285d3723232e15789a0e26100fac3f92b2eb9675fa0a1089538f2a4774f827377dc4072689dff497985d863cd3b5cf3f7fa8926fc5eacb6c8ccfba551c951bafd1f0553d08d0a63f716b731c0e55bbe8d2e49dde5f124d13d68c74a5a059c8b1eef3f72e0a10906e687388bfe4945863d55e62c1a0c71e30c61f43d2973a62ef9e3af485c87b412f46f169db52599c0253e317caa55c7c589eb243e879db4c7ad9f8072f6cf7b621602b8cdba1d5b970e0a9d98b577409d6b12b460c4cc53f268b5ea72fe043412ae3de5fd586d8f7de841f5bfdae6de426bc5bcce34d7d7d11658116b47d3498355fc9e09bd893582a82466d1965756a4bb213e024373a56a33a14f7239a37784f14dacc7771a660cf55b27f8607583969be7adceee28073c5bf2f972342be0eeadb32814d72cd53286afbfb0f66ff6bf529142cd0657821e765f9d49a4b3c9168aa844221e31a7aa314f9e9e950ff6e56c7b5cae1e03e4ce68a0c33f3b7eadc687a31a3413d07b8f7e9e95b096825aee3e7c7f08aea917c6cd632d3ff716ca80adbd880f8124b217ca9d65abe9b7964d3566f8ef47e4b809c9f17672d6de46449386a0d0bf8e351406ba5ba8960961769000c50e6c6bff87c2a99e72df49f145854f38be5988c7f592cbdb8b8f1a7e63dc8a1062ffcc842cde73ac7265d28cb932a73dc99634920a47244bfdb5bd8fad0ad68a55b7bf9ce0af0c9872a9530b6e6e0cb8387d0a3c571c4dc8ccc12bf762554131d029b84b7993051109884d9194d8d8c1253d6159cef8c2f9e13168a2e01b3026ba5147ba3b924cdd72b33c61d052588b2874dd709c0d8d48989aabff996882574fc64e9e90abed7272f9463eb6a50934c93c70a8e396c0d489086a3d46ad0eff3772fbd109c5b45d721b97bc1bbed0cd474f8bde39245501223d8baf96e9a9bd244bad07f951318272829c7dbf2eb4b8918f89557c234ff54094ae0ebfb412ba0ea19bb18489524f7287836afb0a9607fd62661c687ee12669657c6453f4752811d088e8e307d31738fe6279b9e4e7d3efe3ea7e5a852ed3df4a9bea1b4e3684c50cd1371df364a367026dd538dda9a97c6f5e3533045e138c35c1e9e6faeb9384a3d53fd18c653172c3bdf46a186b3812719b1173e401daa7d4ec128e4e6c96878d1205620b6220721c0ac604888c76a558016db78c5bc683a0cd946688b74538e5744a5fd5084072a832f62306bcc8bfdc240e7219e5769d7c727eb96df9939038009eb19785ee7279d49a187e20a09305e0fe91cff8726a398bf03df9d53f6cbfc7ed180d95be72f0d6525e81f09660dd2ffd4cdc0398984d7cf0fa61377128ae0aa9d8fc146444f07c7afe0d77e51e80a2392f66f164e408614e8123f86d7affd9fa08d6474448c099d5b8dd74e351cb27cc53ac9b62f0698658354b3f160a373b0c7d814d8338a8bae833a321a4a84e827cca133a468a8a50cd810ce8ec9a4fe95acf40910d3497bc5d8c139cfefe777499d7e5ccaa03ed16d151641e95c2196ff04d8c1f537227f304d137e20ca86724ffcd98fdcd05e9d0ff9378dd24f18cbea41b055f0b09739af78df1bf2f417f334f22637caa75aa4a6df551dd63dafd44331f5f465c7274d009311650681338277063bc40b86339116c1da69312825fdd22e902c2b56eeadc43cb5b2eb07b0251fc3fe040bf2a3acbe314bc20aaabd9c53e6cbdded02871b9e23cb95794dbd6102e67cd964b7711169632ed0bb2de067905b5d98fc472663cf28f51a60b6aa43649809f2d04f3f6be21a654258986f6ebe84368faf972ef5711a5eaea44b5d798b80665cb182c20559448d662e8338da57b06fa8d9d728e7a4719c272a82b986951bf755ca20faeb1c9ab1519d691a7717daa84294d72b94937808aa4e5d412fb5831debd8c60e66025ef1cdec60672ae44e185660872fa416a354d95586c7efe29ec4dea8d5c0aee617ce3a0d0918cc92cb5f785d87228949ba84c682de4d29cd5011ac2d044dde3b20705e93531b31e260f820cbe4c2d274b588d1c6e012f2f0fbfe48d2c524e2e45b9c3dcfe61f877fef526afb772913e1b2f2d68ebaefc0b8892db695d6e6cc2e30885cf0d45a33e636e23686272b98931a475dbef27984fb2001064e9566064f5f98d40e8d8edee9f6642a379727796a9570700eb552daef5b38e4ac8cb48057223db9f09959a9e02ba2dba65729e3d1382caad179066c6662e6d0532822ce3717b263065a2e5ad430429311d726792dfb576f7c647f616e735ed7ec678a731b62ebcb4fe5df6c16066e8547972f2fa668a5e0c44d619a3af10ffe066a28eb926f1eb15dc6f21e9c7396c920172d417411bd1a863b29251d2e1203ba89e0ceea55e458d0de421720567ecd5a626e81c2061ed1342843d8abbfd56b94215584a04130322e2698b246695237d5f72f257b403b513a5a849b3d49787221b24783a57a7bd5549e49386784886eccc72e10f9e2c76b77013217cf1f459e8d43230155dbf7077887814ade7a6806ea272ee72a9877dff497f5fcec82e62f9001f9a37315ea9a4b44740526bba963de372dac0fbf32cc8912c2ab6059f715db462c1138f8d4ad714eb09b6d8ee37653f720a79ebd9873623f433c34cfd8563e06e742c54e5ca3edba7f2288795da052b4185d843825eb619a3ff1fc3a9e89f9191df4de15c77af79ae34f60f0543db064d2d7bd4d30ace37eedd074647d9fa2e35a49224771096f1af5751907f57b886627e38d4d802d0d20b305a163c8b586877468e7c38665e8e09a6fd43c169080c720fbbd62503906ba99c50539f006a44da717467d66f0ece38d9a0a328634480721460e8d238a8181850eb6628eed2e3e1cdb0da137907a405484e9b8783a7ed72cff790cfe57a91f736ded0ce4bfd842f6ff70496c9854ead7b9aeab5bdfbe57265f43059de9e5d4415a7fd96f2466a9bfb63ffa277d472171e12f6181b781b6f986d452b70f11f03d158f3107912a93c653e2d826f5546410988ca706668d1058e735732d2d361d1a0dc18578b5e925e157864216f13d5ab575511655ee3687215a8a21fccf68d6e99bc0c06828c541c50c9d9436dfeccc7fc79ab7ab1269d72fd75c246f140f1b366bb3faab99cdc6cea94002f0e64ee9e07cb85f42bbda25427126563eaf61d092b002a5e315ba53ad7150b2d9d862e17a218e2e9ef7bc67202ddda46bed3b474da20cb48fd660ca5c35934dfd54d96b723a33cc1930d1372265af5ad7852e37d802e7dd71587be1556551e477bbca96ae6b6861b3ef66272817874b68b2b65310f7dab1506522ce270862acda5c55b50fd7e94f51e07a14c1ebde2126a4919b540dbfe42fe9675cdb84d72d42ab03ed4c486bc3785666572c5c55a5a79d09cf4ddcf32f93177259151b5d02fce5241d32528856e60af5272e32ea894429af91c29ab3f3857646ce3e8da67902798bcb6d28595be252d2372d925771be2403e9a7e76e276dfc05d713dfc4e374086236da45f856e674bc9379223b318d49fa3f43a885e28756512ecc2e2d305aa2957af4608ad1e9d2b747255e05f19b14c39e8b932cb1975a922c0e61eac2b0754a4b475041b35068dc45a75c9b4c06ded21ed3363ee331581c2b92edbbdd9d52bf03d92adb4bf8743b80094e6f04fdb574c441d684f529e4187cebd18b5d0f5f7cb8ac29adc79578b7272c9b09483e79429ac66c1adad4a2d0f3009cc3a9701fd47d217bb80885ffbd672551100f994b5b9f054dd1806e321464d30542315cebff5c7708b40bbb30bab723266fdd9dda798f289fcf1a2968de9710784e3d7c36459f5b64fcc044bcdfe724363f19e3898831c39b8916b071d3e5f792c0fa65cb4ba95b00377679d9d2672bf0a3c1cd939b66f676b1e8cc3b43014299ac2c1edd86b42294f683a52bb6872c50b0047a4cc9f44f8122ce0b8044acf085c271384e87cc78e68fe8edf744a722b36575d9606f07d58159038f4e6dc6900c7d2cf505c3769cf74433bab4e7c72af9ae394532d480d8a6fdc0d78748e7961a208f7db93b7f5c7373ef13ec1b853dfb07b8f0d2e23d0536a0fba9423d3e15f1804bc39664b8889edbcce7fad147214d8aa9f7df2c054a6424a87e597bd5e0d7cc5f83a5bb68573f3bc92687e47238a9c497dbd1fbc599abe5c095fd0b413ec058f8b44198524d74f66b272735e72e85908c8b8b0cd0623533598e4dbe14d999af11027f35fe7b00bf363d398bf7277221007b92dcc933e292c9d5115a0d79122de1539a77b47f0c995df9f564d2cadc1321e0e3071e24d29d85d0d675d773be313eaf18f25bc83b2ee85fad0e0729f55fabaa66c73e0b1b35d2008fb89e610f9043e8aae36e96d33157999530d13401927d6582815c2f205c96e94a35a83d17aaf13c98d926b2aadddebc434d972929cc73fb2ce339bb5de107bb2c66f90847189e13faf0c4bb6142a992e08b7724a832a45976420fa623010dc71c1b93dcb7a02ebea8c6c55d4f41ef028eef472eadab0a3487c4cc092ec8fc14368b210cf113a74cc1d1a015d19ab1ea7355f72cfb64c768fac1a2547f32d06d005902a294c8465e04a146e2779239320a4801394955f0e7d242795c0220d14a70f47580e8d8528604663eefd968138bc826f2b8737a61ca29cd6755cfd3222a4f9f77c0fd5088b2cebf234c1940a2bd0951a1b1c8fad0b651f5af424ae2dbf1e9602501bf1838b0f9dae4bbe770f2ae9313372fed17ea0dd3de90d93b6908a5f0aacb338ffd3e7bec282bb9718ba6d42f11a2818e90ef9b6cb59be13c6c2e75eb2089891e83540c6d197f8ffd3b53f588d6657b7df0d51c0cbb2ad3f1ed6c59efe9f0ddb8b6a7347b4654bf2b5ccb39ab3267296a9e8e931d6f9ed8c6f66b6ae4104c820bab115d15bccef2ea24afcd676b0721f04f1c66033add81d822244b82a3a0cc2cebbb8e19ed42d62aafbbe391998720a8889748af58397d63ce9b57ebc7795f6764c1feaadff6043aac010ec8655475312675f8193291dd10516a5088d0bcb3de55d8be6b1e656176f5afa36a7c6728ae73046a4a54da4aebdadacf4dc05147aeec26a171ad0b6dcb5fdc8cd49e1727c5a393edb7280e1b6ab4078ba943f81c3aa6619a3aea36b6ca3a8de04797f39f92ec64e52982ba11101c3cb1635070ee385dc1061f4d71e2950e65741902d63c7a6dcd714b99a0aa4db6385a1a462b2e940f97c905f1e0feba85b54c0846b7242c70ddcc88aa06cc9d37945a33c7d02b5d0ddd8e9ff1a3fd88101eda27bbc72f2f7d0743f22ed043ffe80543872955871b8c2bc4a26d2688572527e7590dd723808bbf67dcdef8fa5f2ab2a72a835d2cf904a8fb520930258edcadf4def4e721d62f475b3318921eba250fb80ce644aba89535a18643b317907346b31097772c294dcf06ded7686577b7c2ebaa5621af6674b79dc28b63acdc903042a89d7726ac982bc1a4e113a14c6c915c01d9d522220eecaf3a40ea9f06c9e606c6a28062950bb1b5bd7fef55f887af34fe866aaa3cf4f720e548c368db6b0673c1d0c6073f3db5f56f213e743ea87c2ce536e893dcd3ac7515b1de0db2c24c3091f885afb1a40b3bce2b90951d265ed5be253e90f4d15a11c8215d05b327487bf9b2472a5dc672cac497011da7829475969a6af253f0a2d747d75e51556d5433f8bee721e70cf95256f82c02ecc9496ab5346c8b63ab43cd32a342cd4c36d5968c56d4c9265c0597fe43a59a160265bba785240e9f4d45943fc22d3c93b3490f7e2b77226185a9ff7a18446c23441da079c77edd026a003f4814ca77f08013824d3dd292b4ab6aec6defc9a59c10216293ef0e42d5e593398d004eabc99227c3805a77247338a8b261c8cffa6ce74282020be3eecb5b4c66df427148eb2c215dba8c0406c9658abc0bee14999a27ec0ad1558177cae96db6f0e2bb1092dc20cae970c159074eafb55e3db5c66040018181b7a971a5ad3662789f4d12c6ffbb931c66772a17d880c3c645076fe0d5b67f926a81d7f08313a5ad73cbe520dc06b70831d67b420bde079fc405f41b573ee599b9e34b93427f2c7d54818d1cede6a8beff16b72b304d214b8379ee16f067e48a0a67247a189a65e38d869aae65e0e46448972b2d76944a254bfb0c80a1134abe9c54cd08cea7fc385a2ef3c7e08e9b35fa8729ae54810f18dbca56bde72c374f76472aa4be9ab9fafce3ddc98f0c6547cfc726ff78c32883a67e04c6fb41f6de2b29876e6b9e2b349608daf06918bc5c469729eeed0f3f5b32f1a5dbfec76347424c381ba48f063db7e52de5e6053324b84722d1f2ae989ef0f831f452575a802a00fe4fb2440c78a271da0feb3a269264809a25c12b902b258b58d9b95810abe44e4f1ccc568183fa634e83168b48795a134ab86f7e02af0be64421b78b1c3e2112e7d816734026ea538e87b2fa02187e7713e30a5463d899af7c78baa3c91b07489dcdd2f805b5a2d351b0ce7a8a49a2a7239259da79e4187bb597c65bd4aca11db3ab4dae33664ac4cd20e2eb183aecb40d633a9417fe6b3f41fd2532732eb3779724df984896055d79895e6f72aea896dbe0d92ebf1f0a5b2a4c41b0e807f64a46131939dad1b76e99240c75690891d72b021cdc5f887d04ccc962545a29b9fa06310169cb0326ba583a710b5c80bc2390b0b7f50e9525212f00172825e34faeb209d5f585be66ba8cf888e72422c15720cb44825f127a254b5f73bd5c336b806902d2d7e07e6a6a471c5e09b16f3ac723ab4cc80bf197416c6ca11928c268c35be6b2b974ed7fc3c528778116e74272371c4996114f8c73c0903384bee77933db8483499cc913c3b1e38b864761224724f18b1c9784bb3368c0fb571e40cc49ae2853f3c8570f49539a8d60539b87a5dc503a868b02b21f5cb07874c614ffd1f34bb3a9e7ece2105415a6bd1b44d2c72f09f611b4bcfa2d68c626278a416826b62dfa78977b81cbda6993f02a96668301944a0d5e71a8e5949fcf74928d79e239acbc93399a6e56beaeea1662c2e123f786c5e1b7bc8ef46a0b22b4ce5d729542877bb7ef1d3d906d7948e2e354dc072d54b82d0b6689ea448f4eaeadf99e6a5334d1b30111509b8300fec9b32ff5672e8ca8275d532489987ca3d2dc669ff3db89e6b5f2ba2e9b5d3649473dac6a764c6639f494158643d0956f05239f6247f9ac935017cf9786a5e14cdb77e85a47297e9c7bb7fa66b781e9ad6c2ad624780f25a36fb3a18f45d5c3064a92353d74c1fe573ec5883ecbe7042819376130e4227e98f70d358e3a973535f4ae97d597257b3885bce66ef067d920ce06f970e33c12dca1610902639b3048ce1796e8c72b20667b297c3ffc4ec3b6e562fc77b6bf2634025230d9d6605318480eaf9d33b8820dc43076fa7708e82b1654bea4c5d1109a0d01894b515de1876384670cb627d359aacad59e303d75472a8c0c6b902cd6451a63feea1351c8117ea0035b872e1cd7ada6f2942e82fd975f6d12b2cfc38e2936735de66f45feb9c857500f372c6b7c604b4b03e0d341b5945ef4d4509365c21d110e8f9cd70a18700dd8cb972b54df866b3feabb97fbc45e0c229b297cd7c17d28a1c4f1ec0b501e1604bbe7226630d3fdd9a0d603558c0a233310cc991b20d922941a80ad3a5bf6331ed5472b357185049bd749e57128f84de418aef5f37f9ea533d9155598ae7000314f95ba6b7f38aadec4397a36ebb53e0516094f317580b858f60c840c0f6323ef1527253965929e9d60b5a762e7ccfdbd669ae91a4b07a6ca64a8a1cd54bbaa12a8a22192f6609978ea613f8a5548221a625d2c8d38c526a96742ab27ab0a39e9e546288724052afa656a6e34c64f8d0858e397259d4dfed2aa38f41f613c88898c334e0ed409c1b93f54c61335983d305c390fc101ef709265a88549fc00e21936072e0c050395c963b4fc9a964174e4bd9c785719a506b03014034bceefbb4f69109717d801d39649afb39342ab866775841c7efaa48dddcdae148e6ff13235f6714e41d1216d70df7000da83fe067929804c8c48e9bfe29b0dd233707db5c7e2f1777687cc8a94009ecfeec8b0bfd6fbd1c3b746cf2949c54fa9f54017fe639391b47140bb428c9d31e4a7d75548f4c95c31343efb3190ecf492867afdd443fab7252805eacd9b02f856cbdbb45d241e91ce1061abeda90aabfde99216c6434694b20deaae2f6f7b09e497d6ca646cf18eb055d0fc1a1d35aeda137c16cb4f040726c78856c231073012af9a9caeccc96fbef5704bdbc3a27080126e687e3d073723e6338af882127c24f1b5d912a54697cb86741020299d702280e0dea008f80112cf2ee956798051f4842f5e6221249aa26449be4f0140b225e90cbfe043c3c726eb8fc5b5050842a85a9f2447a1681201bc3d4d84ef0b6e8880d26ab6c675e728c383a1fe83c8dcc7a7b5bf1e204aaf4dc891e2c0fe91293b36c1d9226f9e765055c1e5c426ede8a7bbbacc88c484dbd409cac0f0846c59892bbf7f0658fa443bff3eacc88518152b04d1c26e00af988225f910514c41c563c77440f401f0672789eb1f89e2d18ac64433efbfc472d9a2351e403e0175c1d23231316772fb946de83f285c9d3f65467b92a6dad54d01dba445a40a14a7c93e582a0b8ebfeb97268c5dd338895edbc65e15f07352d6db9be92a6392dca265d444bf3b924a165726321162f454d6debacc424cf29809f38de382d439854855014cd7fbf34c669253d02a54e5136e544588b154c3caba28bcecd310dec45c41a032fd8e7053290720a26819f02d06c697778e258793f6c452916af07cd13e2ce0b34ae1691096b720627f3d55a1426bf70e5d176ccbf81273a8a846c5c24b83d932d9404e099c84057abf074dbd9b84aaa08c513ac2c2551ef30fb4333314ed0529d3ed4a473c80a283da42fe1881e628fd1cf766a9d7cb79b235912d0b7f2fab8f67410bf4b3072a43ba911389156c236966d357ff1cab3457d6c802a3344233205c8d4d3559c7280a3e018d85cd6f761c50c78dd3d11b4ad0c6fd0ffc0a59a20d048774c5fd61a9d1ff0a3855a8caa375005b438e3cf54e2241075adcc3cbd74ee0933706e1e720b49c5360205b362a75fb3bef218f84a3f280c29e8aca9e4d00f402c0c355b727e20defa9a7720fe4e9eaa953c26d5f51cab593d634371d1d21149de077dc672336cec349264089106fea4fafb03b666ff3334cae5d16f2b7b1245ea6fa390698be3289d16acad43ed20c2b487462eb547c848a69fbfc3610822567b96f81c340fef972858d176159bfe4226230e1b4d701b8ff0f41ea6335dc7bc9cbe12ea7299d87fad0c1f24a8ae9e8663b862fb8c76ee265d67c6a9428395fe655b5cf3684336c7e2b033112ceb45ee6cbbf37cb6c265c08c08267be314b1f601c0070b251e02fce6f33a557a3694b9a01a36c479d36fc77ac7f5cc5e6ecf8e4cb2af2372bf26b89ea1bc07c1cad2d5ba41e109a5ee104103edff8e8a5fc00302c1237a2406b459b4651c2675ddfcbe2df9150c2a6a4833137be4fc671d3cb505ae13e072fa5291458e0c67384cdb26664f5588d26077a1fb8526bb3990dc305d635bd072dbee6793a075da29d2543d4f126a3be9ab54073b6259a28355940fc78ff87e287c4e84465d718ecae7cac03c52e39e41f29618528e4460b345b0d5726ab9e36d2c8eeac51e5da2918df5a462e6fb8d615f62cc895e222a35a1366e5e780b2f0f8e79a9347f40eaef9780ff4b39a49a8d2a113eaae86712d0d476879ddd2a3b72df9d9091e5fac426e49aac330c6d784db8d88455e1adbe9f06787d282e8d931518a70dd97cec3d50b6b4b6535806c4a2f80c39d66d4f4fa28533f66c0ea6a562ea23426fe1ff1df65886b3abfcb86886ca6e965aabc5962b04d3827a83cd75014b8018213688f877008efa5445371faeb4cd49cbfe1926d061f9ff77137fce2ee3b5b436588eb282b825096deebb51e157e7704283ddaedbe6ad631e91767d7263bb7d138937cb3486ec03d4806433963615efa09391d2d81abdda5a26dc053e815340da79a03ffd4f4f4f916e982e7449af5b6a5a011e4197eb0564966f3849b25387aac7cdc485532c6f48581ed40d2dadb4bdf64755630c4c5a5ccde9bc4041588da6c44dad6bf692adc722388b0607a150eb2eeaa3988fb9e0fe8824d772f57fa8468a4f10357eb47026d1475c7505d95de705624220712216fa77e3b0729752519f1f8d78740c5b0f09300ab878a27dac4b85dc64cac07d592b6fe5874034ec770396d5db2daa2895733c276105b815e81bdc71305a2a5a0e24edcbc2725a685fb4624c17ca578b7a026c7cfb78a5272a8e84289375ac10772f43b6160340b0b25709628270cf278b641ef3ad0b2d70c7f177ba5368498e51d515bd367256e749f7f000dad4e2804f16113cdc4764c5d553345394e3396c11f6e5c947226e471106bef56df5a54757a17e340bc8234fa3dba0e735ad061c62146022e172a5b74f2a93f214c084a7c76f5be9a272261fb1c745e1826ff0eb8c157a529c1633bd2f87618286d374224a8d4f6065f1ad166f9ab69e43c4072bc0801e2e6363683ab5cedeb30ce268cf1149cac44ef55118f8d4da6895b2f60517b0a3b18e2fc0d90d957e0f9dd98d531b205472617dd3e6dc3aef3622ab4a58b09013b75f5d99dce2adcbf36ca0008702eee7c76f518649c50245f2b50d8d878d0c30057d2454454871a5f9ca3a3a2acfbf3fa73a3d5dc1004c97d468a8927625b26e65e07231910696d04f499631fbd707d37ea3b24a40b9d9a4794be92ee3a29ce1008a7282a25d29e0ae2f317361f881b1807b6e356ccbe0dceedb34c2c0da499a60617236e0a75175c134edfade03480cb2a620b798c56a6fec5de8e9b7830914447e727346e1de42b299550bd76ac5f131a9a2ed5487c3f3b4bd5a5e76f20ab1d6cd7249a5cef163ed5b48b1687a4c3dd13eb5ec0c10e43a57f7c77efb6ffa94bfdb5dea4ab6b475130624e249ed9973cb31c563613f7d9b462c6f6b5b0a6e525b3d5f109a98c038fa2acb76c6d7ba25fb4151d9f4459d0f0865343eb854a25606446486c4a33fb47adeaeb3a1378223c3f4eef5b20e8b82f094679f43740c4832cf72dd039d50b747fe96a338581cc7928cd54e3592e435cbaa099686e98182195972282f91fd68a7c89dd7572e8b6b4d9710b0fdfb441dc26f2e52ade53aa78a950692ab380ac33bdd3f508384f26d9d3bea6c3e548da417e1be9a4c5a07c3dc69655f9cbfe491f422344a9fa346c7e2dc875bf08faa1ab3cdc730410413e22f47729f00bed94ffea18ebdf8574984bf211785aab1587132f3eb5819a6ebf582f061d8807504d2d7a407f9da8af7456577298be3b645c52a2c0ed64b762eb93d554cf57e5db581ea2285c0c0c40cfb677a433e1128796977c919290ba1fbce7c5e72a9a999d75e0206da85a4f1f0376f33762a2a0110480f89878290d5d017324b52d8f582b935993f3a814841768fc6d9ad2f6ae0c08c081b98db87e80e0d652b00182a2d7becea8a87910d2a9687dcbd30b6bd406384a24a2084ab240271f9791ed3e1409d2398247ed9c3a5658eb23c352b993e106a82d1f0487162a37792577215f6daa1131bc7820ce6137cacb9c79b770d55258918d472ea9d92705bab8572af483dadc4c2284f88f0865422415757ff420b9007d88b9e152ebd1c7e7abd3851a785db56fd5fff1a0519e8b5c980510baeac9abff51969291d2208d22c8172d4f3d78831e04ffb80c62b09a547ec734eb1066b93cd24b2237f6d9c6f400a6cdb29367c9fd765bf512d631e830c2918fca94ef69af043b44c7109da33bdf4723e739b18d2764f359a1814cc5cf4688c2ec2eb7405f0c6df1ba6f41e4a26203611fd5923705d0e59c96c1298d27acebc0977c8b8076e6e35ec1a3571217e303b05b2a0be2871f1c7562403e1ffe2d7b1fea151e721ddd44c95d2a735fb7d02727d4023557c277720119a7dab1f3e7863746191a9697b350a695c4ab9452b235c9a9b2d15905465833b69f8d26f9777b1d675285abf727e5b3e4fb827080575227071f5faf0758c8c503a21056226200b4c6b7ac049096ad0fb1e40a77f250272afd4b21c72fe30a50d268473d8e42aef51119d4d33e95df9665bb643bd7bea5ae7d6b8db73096d1c27821a60211533c51fba350180aa97eda557bdf3acc70d72e1bafd71a3ee8ed85f2901571b9478fcbfcb8c9449a74bea1c99c749d85c1d72912b07ac46624aa57f16134320e27a094f1677867e05b596be59627fd5201472fe72f954cb3c271ffe5c4464b6b83a0ac03ef6f687d5876b522dfc4bad498a46f1f5e5f0634ef725b0c999f02337ff8d7b1cfadc0d0c5867f882f7874aa99972f4ed69f2c32f3d7a3e73b01c686dc823e889be84a005e6cf6416d761a544827277837391cb82798f0b6f471994407a2783adcdddb6a0713682b37fd6a78941432441e06d343d128ea869b0346e7e87023c1cc0600301768ca2b3189d9874df5bf2f70bdb94a92cd92c6503aee404cf0201bbf066c6a24d3b0f3e88a08db2fc729451fc2e5de8ebc95ccefa0bfd76664f8ea95cc4f7d80097bd69906266ad41720913c75a23ade2ff6e211c470e53b9a2706a748065857ed0444378e20450ed726916300677cb2522a2c1899642f1c3ffe52153a59acdd7c232d042caf3bdc272a71b8a5ce4a722b3a61b6733c98afe765a0e35bf4e6d555082698f39e9c867128dcacc3c5dfae2dc3cef51a8ea787dd1431b02a773a0388ee5f6d4757da33471026c50c47b607964fe9b0d72f2c8133d1ef82dd2cb4a0ed49b8e91fc35c1de7108a22e9c41191aff904e61fdf677ba03694db86bd0b7e0cc12ab8ab90b594f7275083011a4c4fbc01338767a3cd138b7c2ec7a3acbbf3d39affd156dcd0aed72d1b1156fb2aabae89676bad913134b24025edee04edf403f1f93a8ba5bff9972f2deeb72c6272bdd1370ed799e93647c50eb60b3007356f6a02bd51cb8803a23cf64e32c757e0018392b84d326642b9bdf23c6f3a36b3970c59d52e3158212721b8560489efafd15994edab220c5d3544a733344240a49d02b58c64eff83f272ff134fcf04f20d67fccabf8d570fd0581a7076efbe40acb8cf0eb1ec24de402277cc37e5feb8cefa4b2e6c8ec11d3bd48999b5e97911ed7f7d58ec096bc8b81bb4a4b239759b7a79277bad009e1888338528586bef06873aac36d5d613ca8c726b51e3862e8101f827e9c13f886c3890c180203b24572e6496f66a4e71298f5fac98bb5ddc2611683cd41f637d881dc5d73b3de5e6f7d7edeef52a06a6f372725c1ea5922291d25870158c7a51494d6e27808cf95a72013fa5c7746bb778d050611d3d9e2ce8e058675fbdfc21483a88dca860f54b104508fe0c5ccdfd54e1083c75392a0badc5b5ec9885a95b90a3dca6e462e851b9e406516f4f9b5043ad72062481cac582cded4405104255c401d7c157ae64c64ed7e48ea003c15733d772595002fe61413f7712f8ee6fc2751c748567dc0c2e7858b63a30963aa9b10d39bee5c51e5568512ddd02baf9551c372e728e69e647cd683e2969d07db84a73320efdc8658c5ba11ce3046681a2b48c8386ae7093d49c64a7c16c948140ed7b7273c1a87703c92c03eafa5e1880c8aad011ac8142dbc305f8b44af3e7ff55330b2d458224bf8924f917943ee7d151fc73b9a85518231c1756bcfeca624959380f5ccb58b1589481f7a068f1a877bd1c152426700624c8fdc4ddbbf1203088287271ab446761eafda5aae7db624c7bc302a8726623f1ccd0ab4ca234cb1b308572feebcd01a6dfa5f283429fcc1c76cd0ee55e23f073744a3e8e70e388979810552c47e1d6c41f9c89cd94143df5c0322372d89ed1c0055cdfe1e8afe7493ee072223f031543d1f2e6967ef6a432a12a21c5479163ccd74dc42c6852787abafa0883584252903b3c841aad4c5f11ea290930f60571bdef6aaaf9c161366f6acf27fed9e6ba1f3cc8c5abf857f9c6cbcaac2530499158147bf57c581dccfe578662f26033b2209b4aa0b51e2f8ff37a4948b3ed8a88b584639c2fa460c8a3a03a72e99debeedcb672de22a6c3c00c208b41c6b3057e0c5838d9ec4add0de0d36d7237ec7838f06f2d6e638cadbcdb34a381d815c90eda8598ad9d0b3a12bf3cba724270c31aad7deccaee4b198beba8c46f86b84f90b203f1fb263aae54f72d8e2913c01cfbfec3b18d90ca0bbe8ee0d1eb11a4d3b621e2d0e59ee540b0e320de72123339fc273b56a81f783e0668617d5f4db1211003000695578b213360b9704c377197789080cbc641fe979fbbd725f81b8f2989d062ae2e199febeacd8d34075775e783b7d99a32bfffe0636159405c9f14b07b4c5da86553c5ab1c18d5e96dbdc22d830582a51c321dc06b3b57537352bba1014bc0c92e79d15770ab65eb72b40e9495ebeda686e446f0da2a3011dfd22455574891c22b71363d3b25bb424f9d9ceb20dcfaa5a350be8abdf6c39721f89f22dc68052c57962a9661b3823e724895679bb836ef74fb5ad44f52d4a95de28700dcda4480ba1c1f549ad9649c1ef3461550944794f386872349c71f992b361fb979259760a214a242811f7b725f57803b4d0cbd8f41cc5bc5298431fcdeb29e07c8efd420af25cc9d42e4a17d7233deb6d468eef5b97b05afb16c13d374120d0241648db10832f7f78f5be7825cf1076933c5af93d6af69aaa4783507b424316b1d60a415aeadc17ddedbed377216b77399581c4d0b10013f26757cff709cf4e6dbe8d0c5fdd421c5d8541927721918dd6575f74e2e1595ec13fa0931f3404597896432adc3501b7e76e89774721975822fecf6ba75768f2513d0757c027d261b7691ba514e9eb1f3452108c672fd55ec0159ca3a0149e0b4e0a5922c6cb6edb813144fedfcffda2980457aad653e67016ca7ddf23a9a4ecc5db2bb7d24e17b11b8b98f33ef42378ff1604b761fe3948b84b9c5df8190e6992edf4163e155d7e1f8406626fec5dc8da7459d3e43d7582e47d708ae15e341a2b834b40bf819b5db36df3c9ab3b719137a642b3b72e40e19a58e2fe491c626ec2e53abb373cd9a7252f20cdb8388a762176a0c0e1216664842d6dce0005705ce4b3a22fdf58064b006f71dcc1e7e3a7567af7191198db2e0220ed18952fea02aee21814f03f10f7adb9090688b38fe333cb1134d72f642a9a144d50812e87906152a451ae63f3b3cae5b78c5b8078b4e5624aa8d72ace032f54e6115905e6b2e240246e5aca1c4a763fbcd3ace19262f1ef5c5ec72caab930b7867129f6521f412e72d276d859da925ba812a61602994cf460b2572d275ddd12d6d9822d806d01208edee11e5ad6da5b33fa084f42edac1bdac075033f271bcf642f9676350d3f982d8cc8b026901df1af741d990b533ccc1f36e720c63a6e91010d4f7d6b9d7a27d27ce32af7a67a1ba7e5b9e5cf68c0db50550720ca7b307bb6797f0fec8ac18796e0cce2ec5e43e50d4b93fd345b2a43d9527209dae966a087074821776dcd8e739bd578d1a06b2a9a7f6a6ba2ab6a2f1fb1772be7f7dde6371df5ba69aed3e399d48a8c367f26bcb54c0e865a9c69d9596cc729a4761a0d32b24c01dbb76f3b336b982531d18e4df4565971ac696952d2cc9728442fd72937a8a3feab72a874b17797ff282ef817ba4c46cc57f4f8101e5e21ef7bbba6cbf083b4db295c03658390ffd91c7239192ed1b4064a5e1e15777c3316279b40e52e17609f2e1a59878d4da9010bb351a348191f0e61b5bcd81860c725f58065d10013e0e4d771c549ea89e843fac3319c9cdb16ac1a39e1e9cc2337203d1803fbcf0083fdc9f8bff24bc74442ed4da6d4a1236897c4466962733b9728bd43c231b8aea292a51a672d369a4b11174650235495957459e292d7285f7722ddccf9468183cde8027410897adcb6b3ab5aded616363121f29d377d220472cc0b6c8d91ffd39c3cb83e76b3b53e9738d60ad998d6ce67462e8020b21d67272a193fee85b5acaeb1987d3f800d5ac8a4370e588dd2de8a95598b80a71da5b0cbf16a93620da78c73640846710e71ab6a5a1590075502d696d3bb09dcbbc2a72be5d245e48c426280dbd601daa8f39b988ffd5df885d7696e5572231fa5fdf25084de82cacc94cffb9b123286c16022eae198e766ba0220b8206613d16a178721db9c05368d5e83347468d6664818709f9414750c986c5e5e1bd9db888e8ce727fbc32681f94b4130c02dfc41eb0c51a35397c3f57bf41c9615dce46dc22ef4ad98622f49213d0ab6010d18aa54550fc262550d5b09041b606617ff156d2a428638f9c3b6000b8a6ad306a30cdaecd252d88e2bc20901920246f9ddf3803c672c52e3d00c06b4df6266ed0a62e56c6db616f2a3a3fb88d3db7f9ab469148f5728853e41d5269e8099976dcc0eee4614c176a2d8459db5cd07f61951e3d7a6272ff91480309af34b9a0bfb24227fc65e941e5af3070ae7b8b542207e51305b072493c8181deba737850666293e2852ff82398924f419db05340a790c55ea8b70ef96fbe330620ec88aceadc1b9f5a50c4d6ea5461794a4d6795e468d36d5971554923657620d40592d6ce198707a3128830e290e8621f1678d9f9b7902f4c3472c40c328522d4673a1b5ed33ee749bc59eaf68267a9cc3d886dfa106144e62872d1432b86394bfb530bb55fb6e99dc8f2f582880f357dbe1f21b80cc6b7cb5372a9ceb403130068b7df94f14f6c6561c9518956e1f1f0a043a813ad66e3f88b19e18784d3028ccc4b37aa158e6a9a3cf4e088be47b5db19981191bf7d8a8d5a05a6b347a6888b5ee7a128feb989f3bf603738530ef92e712aeaba0e351444945af669e056a1d9e6735c024b946d552bb4d208e3619958ffb56d726e922fe9a16f4332a680bfad098c3ff08e069138dacfc6bd112eca94793cf3f87e42fe83a6722410aa522be3d5bc39e4fa12e7c94ec9e15d663b777c0d6f84ccaf49f9eb8a723bec4b24857fed54261591fc63b4373e1840419b2b8b77e2d1a8a836ee5cb4721c4bea2fa4ad0c4e546649f1a1dec0daba0596686bb994db76840aaaba8fb87298cd29ce3ca76561989acf70a34007b52c0710d092d5966bcaaf16abbf59ce729f0f14ec04c9d9f4cee60a9a1b55c749b5a12ef383ba225efcdaa4d3ea9369546279c1dbfac0d73ae93c1a3b895fc42bee824c6beadb01cf6721e65e3230a272a0ade9f13c650811743b20aa1e36ed8919e1094d34ea1f1dff1ea7e1f04f1443d43ca6e38ee176676a0637d231171b592d47a646f71367855632b20a48b4a54ebbf8a31bd8d359c6b30f522598305e1512d1e665aac1e894f4ea319714e8ac26d4a18e14ecefd413356b92a32b944ee317a44a0723c98a84ce6d93cc51f4a028160ae61c66c2d992e19012eaecb8f75fd031b6a26a5f384eb3dd5440a2242b72328cdd42d38d9b873443182a7a096412eb6045b0e47b969051c13f153468cf16123f59054ee78649bd0bc46330d3ce321422e259dfad97aa3262a5f8ab7d48726914572ab8c06e6f3fa0296c28000a1d7fb7369fde56709c73f9fc2b5a41d672fa9853d4a2f5d4125cf8771a5f0e6f524b67839f687a8e5e97970cbff93c8a148788e584b015831553bcd15222970783aa91c87fdc7171746a7a7b9a7c45cf2699cc9e5675ee96ddcc99ef291a78eb3294787359c9e03b053d25d3a89877bd72dd10146ef7f4fe2ef08227253a62f98f39afa0685bcc0ef5000c9de0aa8f0c729bff80d11bac95bef281dfe88e1dbef6b6df68fc9a81fddc72add2f0dcbbda72db37d0d7cf50c2bb744a91e678079cd675a459e244727e19d3faae6231ecac72a4c87b2aec41efad2b29c1dd0053c5b1aa004199a0011d7eb0c145cdfab369538d23fe71fa1522f82bc2c2b2522368eeb4d3a90ca1bf2a30897801fd8166bf323ad74eaac9a4c11a9be9709c3543758af1322f8c101b0efa86633958a8cd5b72eeaa7c9c0316b2de771b839ad43c0017b7045da2d17b54cebcdcb870d51ab24d23b3df11c592af1c259eec88a2770c09bd4ea3bdf6ea8e3e579e1ac4362b055486389c9002ab27563fadec6fbdc7e4341dcd4521ffeb70be9ba2a7b3548c5c72223a411f5d56bdaa447df2d73f8dee64b7f79463a6c3a5082fb44dfd909a93722d391708b8117136169ab3c99ad1a511bcc1d4d5a4960f3a66db9e850c960e721418547a553ca1e8ef546e86a10005cd586b80fda7ba36274f2a517e8e8d49728d72ec9bccca75d87e11e18b5643408007d12928ef6bd7ec6f4b5ed2bbbb1e0156fbb49b054d4035f1fd77c0a3072574f6055511a96ca1fcd4f1365f6eed2d71c634ff61e7a879a6a24899e5d7e4cd5786495e033fbec72b57466c156d906252aa36ce4fdd67d584a22999225b863a7aa8e1690440aed07880d4a61ab72d2072312d77e5b0d785cb358a4c79f10c7e77d8035214193dd4fdf4dc485b57949572658d5c2f2b6fd728bce2960fc7f86853f2e7f1bb87f9eb2668b3971cc13153453ac471b015a8c6142bb85cee92e118366e751a1afc6841fd8fe7cc1a1430614dac2db932da9a12e3089aeffc54b7f55af854ac805b6523ef07bf4e23a028f372872ea3746035475d489b1cdc26161e8afc5602a22918f220543e24c71d4cf211f24071a8b075187a374131c2923f8ff979c3303d38d65b1674cb07bb3de71a07116a50c77bd91db36cebc3b7bcd34423fe092e22705c7d6e02a400c1a4753e72ed8301a404b901f7309088e4730da06728b7de62989ffdee810d334c0136c12d9a036257176e42f2815099f9ae7f5f636823ae6e236710511ef3dc73dcb7742f6977fa40e74d40e93c76b4673e5317d0cb66367266cd65e598c58285e334ab723e774617a66ec587c4432515cbe19f711a5523c978a898544a559e9743c878722f2c63bd42eb471e6014cf29fe3e920867be8c0045f12c6c72550f8dc4ec0672bd7ef066e07f1fbb26b5afdac9ff09d305ab5db974ce60c7603d97443b18520d628ea81c9f54998cbf9c34f0745ee75dbab1e1847f2aac0eda29f5ccf46f6e3299c93ec6ef9417c10ed3aaaf3b42b7705ade427d2c47dda690c1db58726c65048c3a0625d1a3564253e11a2cbf87fc994c8c686b9b036f8c00d6cb96898f9a377f1bc63b7e329173ffd5bb49d37d11a2a5e479529af111b424df79e26a76947298f235f67a474254bb6e5560dfbae80488e6b6928ec9328a0efd20acea7a877285101953556f2d21dad7f60da1c074adaf784fc6ef0b799cf3d542e4db6798729343902bd0dce72ea8a70858e4e1d6630226d5ec6b4cf3b1e7b3889796ed7f72797c6e0ed12d8ce6c0c52b9ce1f2fd4c28bb7bb79e7e513d94179aa8a929575a7d5662260845fa3e3770e97259dd0ed16f5f52e7bd429b865d21b2be3bd2c237f298906b133cb635296497a0fc216e3b1a6f3cd5608cc3d02e6a1e6630a51234ac9bcfd51fbfed71ff5d362986974dc5e11fe55452667d35ef732f7358748d72fa7ed3acf2e332b327843324b0a06a2b1139d809ff732406176ac3efaab5561c4520709172aef23cbb7fb2946b4851b4b070d1bb0e9565ffa771f4dd5f26ce72d7bb7b15d5e354c471730b8c3086c7aadd9ae3586999eb7453b1168b63d5b650f8405be91dc56d045b10c304f472a6a7e0da5544c6f19c237cbc7431937c271d6fd8b4a0b4957ca2feaf11a1a1e0220d7f025db950a7a5009eb1940aeb510b0a57257171db0f900b5e6cc7e3e329020cd7544f983e499c0e45e795b2ace34872d1c2a40852ab93c66e0e0119c729f445e9602dbbcd3b11673c5ff21b64b2cc72cc0b303afda7bc7cf897d2cc744b9606c66607170e13a64da65d5a647318ff729cd58a27bdfa9d18976826b8be4d91ca49777d9dec92849259ffa84b6e396672b58100fb3b4cd6023253a74b056efd7e24ee8acc590384dc9bbcb55024d8e87256bdd21c3bd37fbccc384a540e7c8086150f9075e090be62402d0d3406bfd0725772855f5a2bc0a09ed7ad02c69153ed86935f17e9698727ab068f273260da7207f5f965f5aeed5ef2bbb2d619649c5e6ea461102b83345289ca636a9cef070cabeda3deba5bb16bbb0ab9302426214862d12d7a1ad3e8c5896096b0f1239772c18c3b24a4f9f5af95ce9a3b62c5d4bd0484948a2529a0c728e1cec1d7b74672d30dbf920136d163f47dabc582e173bc733e381b29afe9d96411e66aa8d59d23a6e95d322eeb9a3663586f434e7d37f1decea7abe648c8598f738df3abae5d722f13546e3fb29553b47a6afbd9ce0e8e76801e1c286a32b73317ee8be379291ff284f29707421f0502c51f6dbcf066b7b52a0adf5d98cba2caf37561c121ac7299726622778f43dbd9bec39805bf6d9700bc2380eaa0cfb50db18ca1558b577245c9ae62e6ed404dfb8ee39203548194139b26a0dd7d1fc325069d470107f12be7f5faca1a8607a7d0397f880ce14288d0caca9bf07a478180f31297a1bcbd3821ed2f8fdbde20a4b3a2e958d838c8e1ec2fb7bb5136d7ec8a576afb8c8e171debdacece98a5dc71e04c3d5ae424a654cf30fcb5f0aa424fade6a41d2f6e2f72a98e7d0af8decab83041742803ed3344dadf650d7c9c7dc1f688ee32eedf1572415fe2019daff61d0890fcd201d7a4c1437c2b3707281d228dd59bde180818720f4f610cae3f17128977f8b94c8c7c64702f6d043cd53a78d03594d36dff9e12182ead286b387a111a814a24bc748379688108acef645419c6d434ef0e7eb5445cf3a3f7c7501e352ad15d1b1a4baf7474b17a4ded90c47922392d4ffa1d37347655b9b681e34e25b296f48f7d9f972c2519ddd274d5740a97392a762eb511724232e373c2290a3ea54f46490856b5d507733761095cddbe17a0c4e9bede6d72faae79bccdbc03da03655269dff80a92f273c4205df1b176d9af386db6423d7294997b63da5a91feda168c0c0ea0da472ed5aee0ef18054f911eb0cc8c034016a079c57e22f4eae963974e7c7bbebf0eced153a0341c1925a1b07b5ec1606a63951d2663e3ec0b05a5990cef150e624f5c464783919e402972c7b8fec002d872c9fdf8f6020036aaff3eba80a3f8fd784da61ea96fc8d653e76bd60380c58f72da67199fa95dce1502274d6fb9dd13144087d0fe919c19bd9b6d51f59ef7e34c52b25b05d0c17eb75894063b894bea03e1cd2a3202f32734c346d76df3eaf40ca6037ed91d38334c59c808ff301613c9c5da23810a9cc2a37fdb265ef972a36375a753abb76c7767dbc73daa1456b54977b3218c2cf3906742a1154de95f274335eb6a0d545cbf97add250b8ba961fb48b5c5e3d534cba834ee07b07f7cc7b72bb253c9a63f534ced62867d497a0003f37da5004324b1282e8eac3eeecb5c872c59acbf87424fccc40575c5c2aebdbb4ac3f559cc3e0f5eb3b90d4226dea2b72927f07bc0e9a08e3fe0b208fb91004f05bb22bb3430bb9bd0a90288911ac245addbaeaa7f7da92f2da02e181fd378fc87d844ec86808f31ae23d9b472aebf7721795248ffe3c371df034239306f88b94fb5a4d26f45b5cde1123b0d7cc24e072d9b47d98961ac502ec8b89cbe72eeacb4bd48f56b40c92c57117cb1193883d0d2af66a0083ff82335a48606162c3deac79f34b975081a5ccd2440fd5be72d7583a9b08c3cc48c442e2e10a6723db13ab416d60d0ad702ac006b40e7217c7dd723dc46160876f98d78993ce9e3578c29d0091cbe3a7cbaaf683e19cad5ad6d7720027771c53a0ae6354bfad5e57f2fb561375a4731008564eb7dfe241a17c3a72983dc81509e82bf85f1a125957a8737a235ff99d4ca320723938684d67ad93008922d3d8e376bd392284642910895f3c8bf119ab61bf3aa0b17bb6c51af2116327b4fd96535f9158c55cde58d746d4e911dc25cb1e8f67f3eac3916e83ae907257b11158e38eb011271aa124ad352266617f3d83f985754d71ec526fa5e876456572efbc068899a5b2803f4fc82d2a6c85140fe5285e2c6b1af9e45be79d5a721361ecebeaf2eb9c09939f7191cd1a977d565eba86516c8fa7097b70696607096ff755153ddda38e870b549d0fdbc4fe02cf16ef6f18f24e398311d1804ddc13d663531ab08a0cf64597117b7f6e19d57930713b51dc1418fc0285f4db481472ae13bdd613419aed02cfd905e99a774a003eb94bd0d6facb04018b7a22d55c462ec8351922a54d682e7644e636635a768fd17a48f46c4058f254e3ca0c398546ec580444acfa42d69cb046c1440a86b3b9af9b3e3a6d39f5267bbfddf8d6387290c0d962b4d90eb91ce8a91cfaf35a300c337e813de3d7ac54b355c251cd1e7291a4d63a1ba82b45c4d34b37ee264ad333eff1736c50772e59a7d68881b316154b6a5921412d83ca2b61e57ee6b9228578d6437e8fcaa66a512fd8bd1d35fc72a639bdb20aa8ec5e77a4f6853f160d70c3dd0086a6a12de33c08fa8fc6bcc472681334c3955d4e268973e92401162b0b385442e76d6c5255449a5464416bfa3738e66f200fa97815a204f08902a11d2444966fe22abf5c673e8d138d7c27054a4b4554d74aa4c33682e03ef981ad29023f6f260b859dbdbd91450688095ade7205fd5546b76b9916237b94f597bba77f6ef69d70f9c26656c86a9d733af09372c669cbeb5b7c2ffae035e8e7d0853c97f96512b7ec2d3edf5346a38b00417f7265349085c4b738086172a27fd3a33c18e98653c35a3c291ccfc954a25a929572b1482dcc0aa033e72639ea571f4628f6b654a227fcbdc50543647aedbf5a88023352fc3cdb74632141d77f33373f0cfdaee0a5a85c91cf6cfb3cbd5767823b72f027d3fb3584593649959272d1e45f65da1937a0b0fd268ac114c27bf2a5b172c57ae0a5da329e1361ba0ad369c8371ea3b908ad0129a25265f4abc570690f7288f8dee4617a213d1125cb7d4d9176f17c57c6a98a2d17b117643e70f8e3bb5a1aefc2dac8be0db8367dc3cb6d9a00a3efa6596d925e537d2107536b17124b72345cccac4ac6006dcb322628b11319680117a4fc5048ccd38e3a5145d0a6bf57c6b413b8b1ef89873493a25443c0120f335dee4e2bc4ba04a655e276edfa8b72144c6c576b9b27f67e87e17be1ee902937415b2063faab7ac9f16e5a2ecc8372ca3481d4809711ff6a4bdec051b4d252e8af997bf737d1ff98cabac69d3f2c179f1f7d3ec240bb111bfa730d066ab02d99bb5697b30c943699f511e7bc2bd463f71ecf9764cde987b02aa091aeaf8c56f00473ce18bd2a15120f5506ed5bb672ed0bf47bbfaec158a76dfd8ab8926500ea75b8d18531d9c4db93466b61bd4872d89451491526cae475173162fa07d29adeed8fd24900ae45b1ec79de4886ae3af0f5db844cdd0e0a93e2480a5e9ba4d21dac7df4c44dd762989db42743926e40b8b347e86b5dc30c5cd44c2842854072974a443f727fe00d928b38e3128b3270c2ce8bc60502d63eafa3c2d2d2f78cf7c91ac3353fa49bbc60d62cf2c35a4e3cacabbe0ec8006a1b5d2c865e70fcfdd4bb4db5d41764ca2e4abd3018ff2fd82149bd1ede6f3adfed0a1be2e83ef2b9a080618e9b889a0b332d25b2c83aeab600bef32fc38affdabce93cd572d2da4926f72748d120a9dd96a7050bbcebe71472b070b750b498d5fc9bf6efb97c6fcb4c1dcd8144b15e78e485ba23149e0664533f478a6bc9478c04f5811c5f4940da08f83f3710015aedc117ef37f02dc33e237a9d97d6c4d4a44405c72ee77e169bd12e45b60f039c299950c80fb732bc8024f0417c10ba3f587f30d4748377aaa9bf5f6707e843321835fad2ae2e3ad3e635e764acff46eed53cea1bdfe5fc93c2451d1983fa416736df4ed4db7f1f6e90726b13dc72726fde79a14d37ad3d06751a5899bf308ede2f180e5fd9515819417297a722710e4ed308bc1cf94af18773661d76d537d978c48518ad5b4eea63db7290a715900926dccb1e3b7ab94b12090f839e4c3a9d2f504cf7d96f27123e11705ec3287d95ecc9a8f03271b403dbe05e8b6f953a23e232fe3db610813ed56b72f6ee8a11e5f66d65840775e5e4ce947e6faac69289cae25445c24a17fc14d9713128c61613435750da520812dc762749ecbb6a116bae9eaa9ae5a6ce8b755172cfe5a4178bd39106a4840f398f34edd0dbb1bfe8ddaa05fdcd88cabfd6445f7245f1144598d437715113e8314a0134e1647a99f0d07d818ecda7bcf434bc9c728ccff830c7d8c7e28e5bd821f2d6e663a138def7641fcbdaf255283c66080a08ab3ac966469b9c41dfda351479887ce5acf51b488f369d9cfae937c4682e52724314ef35655c101eca094ae90f0e42c6175eb9340f1c55ca080701355bc1b072ff08ad160036914628ec424fd076accf3f612f07660833f3263c177a7987b2722d6f49b152bfe4dcbab3e27374f0e9438fb8b32421aacabced62326a58fd8d44d29a4640f34454b206f1ca5990df8603f1e7e28c2dc52949bdf264ba281770439de01bed023c14020ccb7aaf41a609f8578d9b2ae867cb7d6f60f2626a2a057238ad33929275b4fd0e365e53af365d8385a0bf52aac4fa11ea0fc1015ea28172281bf0ae175cf36709c9daa7ce4dc3211cec2ecba6594a576771a8817366dc725ce6852ab618ce7c3e821a5f7c04d9562de29f245847c5c2a7d45e05e274aa5f8e20ca1c49d724db2511d9096297d9c450898ba5fd34b0b55dbaa774786533041baf809ccc18c5e307de2f11acfc7c6cfefb5bcfe5d79796f953f024137cfa2db49e33195e92ca1b731cf8b0499763880b69c7166f593af244ad8ba7f704b01c4c6d4c87b72481807cb35403889e0301d8fb04c6bcc482f353683452911979724736547e9b24ccc7eab1de70c482e1dbce356731c29761beea7d80cb8923f8725d8cdf37bde171e68ea8490ad672c25030ae328ac49ab2d22ac48250ed7f5272abf190e6fbf5fd9724d1797213b31e7eb54ce97f5267b8e21e7ec704c135361690fe8bf8ce7fbecea1b7e41b30a750a02ca2c8216ff8ad3862480af39f3c3072a03409ccde636f15e3410b649f3c4efc67f27a7bf6802a412f88700446afaf40f38a0c660aad785431ff09138e2b6ece1d3cd2ff2297a786a9c9e38146645472d141da5e7d52a50d1d32701c4de1f29f6e3bf5b826d91cd7d2efccc333e0606e4b1d4bb738268ce3b0d7e7d2edb9b4c654e9dcf8d33a11aa92fb9b0e2cddf97284d1c49c8f4970ebb0c3b2aeef63fdded947ffe50caceed07636e43a2cc8da720a63285b7cefed7ed9774216d4410a434ea2592a743b8e050c0bf61ae8d366727f8455b761f4c11646941574343250b422aa33025b8c6a7005e260e6b21e5729f21987983259df1a02fa6b6be8ca51ba0febc92c2f1067595691344cb825a972acc6e6eff2606ff90030864b6f857c8fae7ac7455c23ac8d8d569fa082bd8136b96cc9099ec9dcec530e8557adc8a528051fee50cb93733a9eecd67374d9fe28b09db1f10dacb6ff43fbd0c5a76e0aab65223a4916d8ae6417f0407f8cd980209d42851dcd1016852f8ee40007fc3ef25d157de00844192231267fe1f67483726abfdfc2b3c465da518984aba9008a1bb78604702364505036b5efb911b7894aba3f14f9404afcd0340d27522b0578eac5676c98f30873526afb31c002951d1f620b89e7e1db3ed53987c0132010e62137ec7ca2dd6f0aa693c71ff93fd91e12761a520c087969fb41d0f998a06bea0e1b9c6617d6483772c808720fc112e46caa58d3a557e47a1de5cc8d51bea9744d5aea02ed23dbf6e42f70e7e417d1386bad26480c48952bb42cd9e7a99b8c487fdd030fa43327170cadb58b7fcf119547f6637a5e3d663d28fc2ed0037cbaef6b49a856c0c02be6f48aa9750df05d8472c32b83fed62e002a76293544e336be8ac79682993c04bec1f7c6d548c473d7724d50d0392b2ad1e94100bb2bc116d8b1c2f0bc55617e506df1bc2a99d1b88c34f4835e741e9e67749ee47a8a902f79352e471743ece906cf316170e84df0b9725e470ea1e735ef8d6a3d2fd0dbfac54770f201c1c0959d11a1a4a4443a726d12d42a1d2594cd795a557b6d23309af1e15c7415f9fe93dd2de696aab9683f3c72990cd2906d69f1bccfd2135af9e4293610b881812ad594fb946e594402ff237248ca265ba32468acc889800b4734d64216d5e7f419bb03309da228b4a7fd7d470ec3b0df394bc750cf7cfbd9bca26519978c02c17e564e07a90499b87b5787725510b18d93f130ba1d6e9af036063481ed940458b1b5047ce68d29d24547b572e0969215e4c4b04b854c2ab63012383f17e474aa893d7651c9954646366290729b538bfcf75894e757874d42413cec3160b99bcd7968ce33ab8bbaca0f0b7a726891ed6ad3dee4402f44cceea3a9fbbce0a53f29789ad55c87cfa0e69af0993e05d8f2e887de0e108cb5ddade211695c15aebc27c5543b60945da2e2446645388ec067282543e8f79c9f1d56161a1b875eb8ae143ddddc35edf08db20c962d723d982e1f67aba77d3183bc10df100eb3b40354e1c2c874b22be085dcb14ce672aa14f1db700c85493cd57520031649048b9abb8d45eaba6e4e0933f077ecbb72461cc70dce529d47dc28ca6c2d208257e60ee2908bb9bb485393d25953724772811cfeac89992a22466e69cada900541af1684b531691b3e7f820ba56b21e86559e156d60c1b272b755b2f8eb3fec0391d98d2c9401bb1e1b403030aba1d5b236f3ddc1c50e3597658f1c8f004a58f3324c08f061b1d54afa9e1b436fd128c727e2a3bdd2f4862ce7edef3b107af9253fce396d1dcd9d73a9bd0f3250f843372480dda4300c1b8b1d866deecaa81a493d205f734eaf7a8a7eff93438b036f2729880c337b6dc295f399feaad55f5db9fa0a1914a974f30aa574cf44560debf72786dfae1a60c5854e9742715d0156404dc3c3628682bc42d8e42e62bc13cb37291cdcced34bcf7dd6922e75ad1393d6b8f220b21de97926c9fb6fcfb29af31727e679d89202de1a5647838fe919b208e9c11560449ff07f9e42d89da02404272c7b0c496ce5da3f60444382fd9984032e4182983891ead3776392653d8f52472f2dbaa159fec3b2f7af000a8916971733f44f917a46178fee3fe9ed95d08c072545cb332dbf48a8ae0d651ad1dfbc096e8f796484c84ed1d9e310e1e0725f47299cbabf20de4f79188d22769e86a03960b9314fb776a1dd8804deb45030f3972032f28787f3e001a46589ef70f81403899c34a2e222bdb756b7fa7c392a6f1093aae292392c33581b8f0dedd92a8e6a710f02e5e4379172fa786f3fd3b149072e7fa05d2628a8e1b9e10033b35a849092784110722ec4cca9a8e70a0d19e8372e5a839e70651c229d9244554d1fcefa9a2aac6d4320a64f33acbee5f188835722c2f6d6584fb1af5f15b7187492ac8902ee6a9214725bbf5230716488292717210e1025aa47e51823e94ef6a5afda1bf9e86c6e3ae3c66bd69184a3ae6cd55726c8abce30f11a3aaf8de26a0970b6cf2f0a3de7166519c459b52a8bcb72f0a7238e5e18037938a5e1bfa9f1f4a80e1fb7c97532e7b954dad14b066194a03543cbb051c352149e3681c076052a3e12ef1c043f41986d4d0a7b0587531d0ed9072f950023c49f7ed5cfbb5ca8fb891cb2e6bb715f67e76e0c1059d711f55b87136a508a9c18a090f9a0b6c78e76ffe520132c92741f4d778bf8c7873ef8829fb72d38515b1c8d58ac36d04c898f82ca3034c308f64265cb3c77ab99578d9063072806ee339d62564893bb4f21f270a10a1390df4a930100680db2c1ccd706c800afee572d8a58619d625092199417d0d97e718bf2d426193dd1cb89b96f5564972d43438a5d0dcc4f34ec40b439111aaf073f0e627f04568589622a9dbec915d4b2a14c1c8738b08b595f1e4e0096df6d40b9420c24e35b68985270d7645442360d35413a1a5104deae90d6d77e1238887fab1373aa107097300dcb553654f97294574fec98dc72b4f7631a6d85cff50bf7df265eda228b72521c87f4f1de3157170e74eb5222a2c9ec1ec9dc01775131a5d1817ca5cfc9d270d0e1ea6bbef6e72a11128aa07203f4cd04750aafb643e10900cdd0fbb46f4ae5e40e7dc640906726bb1b3af0e8f6d79270bf75ca6a19dcdb4d673c9786bd171424f8e17fbfe2672d99f44500b675972f15add8aa9a5f1912396a395a192ab0ba1463bec4bc199720cbe9379c3bc6bc96504a87efdae30ee52e49ab238e60192ca85fb2c46860472fe425e7c65a8db3013462c5afc934c360c2c41d0cc14a8df8fa5231906277b72efc5a5935dc6129a04d0a99de934f278a6851d8e405165eaa24a67c36f18bf08329f49bf2c517d066864642877b445c363956355a30c5ec6388e7dfa084b787281b5d44f0f985861ebfefe2682ede98a796896068cc4ac42d069de36b508e2728c1d10a3a42f2d82e261d498b9a678d2a56c66aba19ffe1fd2f00e9e582ea172bee19c39a3cdc548e63d01423ec9ccc4ad0085948e090545ed209b1eb4d4c66210b2f542152602da3e7fe27b1855da3cb042b5736be24d0d498f438a6ad8f67285f9882068b0ee059db742956546f3d310f621575c670bd1a2cde20b2ac1ca7239b9a0de62e9574043e63a64a9afe5a39ef4e868406643090fc8c2da8e004d46e5c65812079ad6c93053064cf34225fe2318455bfb661b532fbe814313c2e129fba8e4787b459e7a6e31e65f518beee67a5536e0000033efd9c30b6cfb38285a465a690bf68d9f60a976f54a106d064974a76359b5da621c058e4fa6cc1b647266f2caf61b8250f09af2c0144a7ee05074a4447e7d50cb82f1780e7564af822b27bed637ff5c04600baef0d89e5d815fa5c5872c9c1987ed187c71b9056296388c495af746c1ca5e9b5b15738207afc54abddcf743dd838814f8361677902d53e84094d150aa6393f8b1219152987ec3b022ce49e2affcf9992a8c9c1e62d4721e6b9364c6338dd8284f4f942edb021e0e3190a02a7ad23b7a823a3f10f27c72f3491a21d9a10e6f6a60bc5253d29b040c67b58b8e1c9b95cb67b174cec6b6728f0b0aab028c53db451f7476e971dcf1ca81115a2dfdce67fdff8462c4efcc723b277d4fd0749c7650ea781bf69a58007f28e536b216dd831555c2739f91eb1648362c2e5791e242a3f09d3c0cbab41975503dfc311a5b2888d06186890efd3d4dd0420010780fa34f1dec33f54908c556c2dd696f5d8c855f18dda658d9044a09abb6b771ba94b45d1b187c2fb1c48ff95c154b8eea7ffb9cace4000526dc729a9c36d90d1201224abecc93ec31c49578bc7df06028a5c790e21cfbdc463c5563f2aefa7cb629573f5b56f72ac4b236771f2ccef32c183ccadd9fe2105bca725936027f2d151c2966db8811be58f09ba5426747aa394b061d3ba616d4f210705cfa522afc13ebcb715e88ec219b0edba39f8d3c22864a9dc414c20388e4a0725a5fbd6c1a0e07e94a6a76bfc734863b04a436ba0e146ca31f07bbafc87d8a72b3e1479fde2befb6bfa054bb8320d99aafe98941c010500b4dbfc41689925972fffa980acd5fa1bcb67c6dc0f5abe340a5d7a53ed714ba72619b306897d81c72fb1d4119dc1e375b2b67f1de62f3df280b47ec0f767f4acadd62e1c2bf225672808d6c3395bd70adbccf9fa9697592c657f3abbd0b0623d81dd5da1239995572bd7a9eb831cc2135a127f3813713aa16e8acb705368c44e677b554316ffe9a2f3c5cb5327d79f1dd80784c1ec6bb8d56cd50e57388169a4ff4d784004aa2db443f650be67968fb6c88d5b7f906f5583cda35d01c32556ce3e20f37c676c83213cbdd3e9bd845bc7e03028ee8c9670150bbcf847d5f10edc214eeb6bfef49217294b166fbfd507eb15773babeaeab614e8c597ac448d473bc68615a743e02bb72193715bfbb4b5b7adc8c746d4e33f9316ec66a4bf0a3a9c1f6e6b41a75a728568a593a3872801ee64bbbcc75ac24951dd50db47e486a1ad09a95f5475efa1472233b11712bae8eda06158956b89855412a388387c62f143dcfdbad4ae09dea02485088256764e263dfc087831c7842edb75c96410252676355d73148807a285e6f89565be01f7989465049b934f0cdfa52fa59355015800b87a4e7a63b2d4b7218cc54d756b68329e7aa35d7ec065b0de10cfb7c9fcfcfcb5e31073447145672180445a17afd4d27911c0d8fc6126edd8cc522a2e31ab42a214502b6053d2472ae001d8e1e5aff7c0d0605519a227253d035f2ee62327d1af73013264ef0535807259f9ef8618683ef654e85b142ac7af4591bf60ddb8b691d5d52521862bf0d8b24a9ce50faf63114a8fe029724701b56754e9bcc99058fa55d57951063b449411bdc914e52dac6dfd2cee24313b7c1ac0711134fef37e04a78d99c15837d72fc7820eba4e4a31acfa1802cc8b41e2eae1f16957ff0101d11340997c2b3c272ac86207db107cc8977edbda25d82e817a07a8d2857353a1fa76e5cb8219be572ea97567030bf31fa365bdf17d2b0cc52ab348ff1894a3eb0ea207b20c231d872de42b78ab72479bf23a3351d6065b3614f998832668b04f4fea1ad2d322d0c0a8bebb018d98fa20cc4901332291e20b54714769fb6084e03ec8405d19ba9d57278e929c728415567b156e0936ba2768809d955d8ab040881442cbf2e6ad58b534d408d2fb7ab2f7de3f478d966a245200765336f95ec98dc9f94984d64dcd9686b4bdc30749e9cb064ffd38e2eadda364fd552287bfb2a7d2a98b957525fd672a9c021487f88e49d342fd67b38965df89686f5fa7a9f39ab9fa6e80cf1103a726ca3206dc6f1f4370e27469014fc379820c493ea2f1ee6482d8ac10e21f54e5337bce6f9f15172ce3eed9998ed79a8ff2e7c5679684545a2a50c1a82cc52af2029a40ef4294af3487dee4e462c4502cf1b13f91dea5e873bcf5bf692709af721a9d0d2d5cdab4aba533dff29f799c6d741019b4c912b80e981c2e646aafc204e7fe5fa8a07bbe2e418c6e80b2ff0ccdfff733c0eab4986e6a9e9fea3ab18fa7243f1c08d1499332c9e96872c39b41fc6b6a7cc69706aa2309c593358080f8a72cbfe3d00563a96b50ba19fab973a13c7687d5d32efb0f1fa604118254f2be66c220bcc6bc11bd7285d15679673c8235d74724825297f274010f2460b823c98600e6f2cb432d8854c5a44763c625ea4cd58dd9452307a408390c8c8f750f7c84723ada64f3478b32c11abe8205d0eef38e39d4878601f6f159abcd2861b576205d37ece9b9ac5873669b22d1220d38feb3c7fca7ec173c6625164c63bfffed072724f6c6fe0a5f5218a1e35a27818d5a009b1f94f5bf0e75824b172cc5fa6a472cf8d74193562d2fac72af1e7fd1a5817e754dbe8bf8d182f13c538313c0d7f728ebe79ba48c36c0473d88158fc49d870e6cac831fb1013e4fec268951b37a36bb8e063da86e37c51c7e3a6d54d10da86716bd460cf6cbd8346bec8ed57b80533f444bd9a2b0115bc70b3dfd0e929f6d76fdd70220176086703eb8e6e02d5de1b0ff0738b134f7345756b8aca901e6a5ee97ce1479283a773bc9b83b06e03a47235e0cc50928e6d9958ec00701c92f3db8af703fc09cbbdb4302641c3d75d6105885d7c170670d7a6fcd5724fa07572a4ca21522a99db41aba278c6a15bcf152124423dddf4f780f0ca2b24df975881d22d5a00baef5795ba73c3bb4cfc311b700c78278894bc6681fcf06e53e08837a3899348b9a0d4515e343985c2d968d77208442a83bc09499e55fbbccf29f0ab87ef8b43c3ab41ecec60345b2931f54872e71b8b8d9eff3a058dcb3e2a29616421ef47aa235e34fcd903380d2dfe2840722f8ebd0eb97e0113ea54cf46b2799f97b1b1aaf2bd437d509ad153b9956a4d72eca5b7e5c1c9211dcc2f9953546342e3893afd9baa92ab9603065b8cf85e99720e1e7fff5d9ae0632646c78bc6302c8e75c73c490d2047a3d800180835902c72ef15eae59641f8754db5781b8d6c450d189d3a2992119ad64b25b713b910f37237eea66fe326de0302994c27c954252c5f3e7b22ba31702ec410fdc94186de7294526215ce9721c9c002b649bb68b9d547ee82a45a7c6070bb11b29ed22bc2721cef3a06b0065c8639616390aaf4490419b1b0137362d1ba5d6b308c2c70ae6413ad634427d752f27ec76a109c6aaf57be6b9fbfdae0f1da77ca86aaa8ae70726ffc81555bb14cda303a01c79d60e77cfe4af5ffbc2ffc779925bed3c4d3ca0d3f42d984af6268e9e5c1c7676be15fcdda5e86876224412fd465fd8835c43b4ff1027779548ff8b69aca96b3d72a4c645f4a57076e47fd60d6126cc41535245c4ac5d20aabe5b7b212e988a8caa58bc707b01704155a90f6fcca08f1ea8dee726f97d4b025451d342f14f0fffece05e54251b51c0bbe37692bcdc90a23e204214b71be0c6fc99f110db2f720e2909688bc7b6164117d1be62acbcaa2a0cf2e72f06b06db9bc720497cd02263e121c5acc56fe45d955b0ee0afe42a4b02e8513c035e5cf4b1a110a6ef3b9da7f4e666afa2680611ef4017706439c17b7eb4a7553e51ffd9ef430e7d3908ed1ac413b98b8c95dbe3636b2f6b528028e510f9545babd6f9221b044bf5787c25103cd4866a7cd892302d965b9fbac576c0afc58f721c03c5d066e734ec49d56029921d2d109e6b50aed99e0b2fd032dbb07da2677209570e2234da439f8bc6538b9fff1ad746ae20234925e7a22396db4a05b1e57235c51c5e3749f77c5eb8a3f116f32623fabf3e642c6d189962961949f4481503c44e68c8c0b39990ddbae266c1276cfe8b2ef94bc38c0a7a397c9de5c32f87727310a466f6e9830e651344aa6c74dadb256bffdafaef95850bbe51944e6537728002c01c7a4fa4f69d6b1604a17c130e356fe2083efcfef5b06a1f42715674725ee99c022cd756ed182d10c867b614a7b25bd92e3a093151df2e60ff2bb93f302c7a87b9a04a0d5d1f4f7d22efa6fbd02803af970e4663e702091e4e46f20324fcda6193f48060f9f8f008e0cbb9dc920b264a2d5e5cdde29b4507a71a8e2372b04e131754fc606358701ae5f821f6d3f27efbd6d80fd9b72c18ef17969a1f31d4c0681c5326ff8432d7c2f1db5cd17a126da757bbb2013e2a3fa3cba16198728a33f7f113d67f5507bb93202f9ac23a676fae7d21df59b4b9751b4f07e3b714558a78150287f3626f7289d0a721a121fc83a2589d1d4b1ec14e355d11326d454b83eb20fe5cfc8a85c42283bf16e1e7f7b60d578dc2169fb9899467f4092772f221d33c808f74f3987a9f37b19491e51e2c06856010258e9456b209fb0f5b7277a6444e7441929c2459355d0f20cae54e4c8e2527a4427454ff1f13cbca8870fe76242c1d7110067938f7847eae0f593ba63565231e622c40e1dc416d44c0521b7f64752b6696d3d2c609fcfcd4bd9efbcb84afbb1654ac065d0ac219ffa872e20e7af8871ee9eb427fab96fc7d16c83bead126e9096c9b6193a54f064fd572552e2b4a4cd5b238e092ecdb52876b6dacfccd948a3346a5f6bcdcb8b7e0747233c434cdcb4d165826b6eb3de8219ba54cbd963f72df76b29c3ba646b06f22648b5205cf1eaf2d3b861b3f5a00f7c183bd7d5541e9848c0fb3723cfdc3d4d02d2e427f2b225d8bfdd1d63b385f46a4dfe517fe96be1738ba80cd8efd09ac9458b99f7df2fd926dd2632e0ba63b799d59af026f81bec0242a5e60a904f5e5f6728f3fd4d574bbcae07977cbda0fe7adc8c60f93cd722088e230a1e8c768114e4a46223570f6a83789d3ee9485de491dc8f8e416a8c5b1c8c993e117eb618923729936da2105bbcf325994877d6a6129a4a5537b5af7018a3bfee1f6f569b30972682f9541069f08d9b1cc7a1d20e65965bd2a8687cbde94192c8b6f74dc8c7072b8272e2be85ee18699f35c4d2d1434214dfd25ff32c86deb245fda4eb35df772cf6eb2e2d8d70a6cdb12f6dd4369bfa86630311c67451616091a1e9ef20f986338d290e8f7a3021d197b88b2ebea268889b80cf10063fb973761b786ab057714aa8ac4a576a531b847d82c5a8a966985bee715e65e07c3c7df9ec9abf5e0b10bbbe3af5a5e976743e78cd8c54b4d4de6d7ce229bad6a6236d6f8ad4f3c84703fa806d6fe4ba5a88c14bf5dc8a4071b46a6e935063499551bd8a8aeb05d8e12544f541de8fd89208cea4528addfa71b81f8fd78566ae20f218cb5d82b39f36172bcdb4ff677a8cc3b81982f78588c26752f86f4e5cbf50f9f348cf38fecacb5729c6d5d95d9f7c636c51b41c925a84b39e3496a29342a6a79cce9bf5eb58efd3348fad0b7e5c621bcf70ab93a6783b3c4b1b5cb3beccd01a7daf222f993281472a4076ba777c721d5422283063bf577dce5b92a679d5aea08b60138d8b5c0d434b59897cdfd851d05af5baa34f85a5cbfc65ed65f040e1481b02b16e8698f9e7270f501dd1fe97652c1ae0b6a3b05c5401203107c857569e38fdd7c794af3791b8d48c0bee8ba1841e1db6ea934cb1eaeba53a696061369522a64fcb0a14fdb7272b05edf37e2f5978d804ca7dd7b3e9bbe1724c19ff53773ba0d6fa7a774915306340277df4877793b40d5170c8d0db3c9212a98160c211f97bfa9fec31a2a5dce902df9ef4175b05057d5ef622db89dfa02a2e7ffaa968fc00aab3623c0304939537d170eef03f67a4f17a4545eba2ba6ab10e271a96a2e8acdc7787749f472a795b40085bfbbe9cdc1588cc9668391679b1f92c0ff31b54622b2b32f50946227d7e86cab3dac81e57b2cac07c0170ecdbf88ae4f79d84fad641c165740a7723631f0cb3d056690cbed3cf84047db8c4d18057a0aa7f96ffa11328a28e55c72a80c62032207efc3a9685c65dc9d0045cc2c18bddbe46bc955cc63a3d20fd11e16c92b1291c75ffa459ac1e926e11200dea041a242e722bedc37b7f5b86e7172c1922b8d5932701ce023387349c821f1387ec392c828c52fe8d64294dc332e30d631d36523091047a601aa291ba6c859aa6a34cf463d5d866ae34b34ee39e372a19a784f1978b1d3d0ce0975d8a377ca6f5d6e4f42af706cabcb54f0a1421e72548d290f27293445d89ea3b4853854821702bafc008c3dd37ec787b7d4ada329f30d371bf86735d8a7f199084d58f25a2ebce32ade0e4d9845407432124e8e7295d554149e20946ca080f793fa83a56eb3c301d806469c40f444bbe7456a567243ed4aba4eefacc1bf39d095b75e2a1ed03fb34fc7f8bee3ae15293c0b6ee3068557879716297f68fa4d7dc1292a1457070dd6ab602a57465659676e6f3da76072380c6fdb7f7eb7dba5552cd4a2f1334391983e8dc730b9157f8108abe0d035815a48956f8d2cf8c7097a0e6573cc02701723de3a0fece0f404c1c0fb69c70cde86c5777a7cfb64cf48b3451230e9de4376d64d36cae9dac06e9c72b688a072f5ed09d9b6dc944d7c73b8e7c446ee46082d0e2694cbecb40d6f52b5bd05eb682a840fa9f556d442ddb9736f0e5e7e08be38c0fbd57a7f3b93a295b9a68806728e28ea6c98e596a9d69830db127da70ad167bbb0e3e96cc44e212c60af437c1d4f1739f86b03e61dd68607e87e45d0172fdab05ed33a04514cc8499218962d2d147cfe96a2debf1ca0ce2e4c425412a3aa8aa5d49ccc0926037906cb6c82f272fb96d2fbdfd0fd7ea354019a63dde07f140cca9123d647eabbeec3845386c02d7713a89ce1e84048a509f31e883a3fcda0c6a9d4c5dc588b9cf36630a240e7588482b5b45fae4623cfc511df882da5ecb15ec08ff64f196be7bf269abed924723749315e9bfd5f92e103e2c769b025a2093d871837c5bcdf669fedf6a4176772e1842fa85c67eb9833c552bbdb5db0189806659fed280f3fe50d3661828b5172c235dce6c9f87ffb3b991e0e91d8b475865e4badb0740323791400ef6a47e9720cf12916f2ab1440c94e7b5a38949b20772cce65f88f08ca4c4d7f206b8d5d72232e4bd0a1b8f0685c3b838ad5f26fc3a3c5108df189fd827aafacfa9c87f4722fe678079fc52369337e2d4d42b4778d47a88d63e0a0ab49a61d9908ae317429eddaa38dd58552002c7485e1c1425bcad448f418a801202d082bb800f6c8997232df4782a4023272cac05ae935bf14573d8125f58039211af92605955e513533b7f2898e97e8ee1eaae140f95fecd3a75f640510153130b9cb3eae732498db3141851a74bc8f67a7d3a99f7bec076b7d1fce930ad34b118afa978d2a1b13757209aa3fc05b1f194415ae6690057aeeb24ca4ae3fec81c4cbfc7e274008056a7276616b4cacae482cd68a193c8bc61f84c2f9205b4f9dc8e497008f3d0ea888723b2305bf98640662c8f7eff5bc706974c5115c14b91c8942d83940f63e117429852a36290588f989ed0c238c2fc80aca3cdb6170ff773e72b94c51b1645a0e72964bee8fce54b4b2fa3fd241218368427c2277922e7e7679a56739bbb5007804913e3f9a59fc5541cb34332b0a475ee21369a30d6ed5b7d433ff441308bca36a7cad8d07072d29759ed80ffced055349f4dcd28fed6099b4c85cc392088d445094aba7e7583c6f11b5e7ca181fc91cd337cdcb0c8a1d1d5086022b230a1a10727a8f00b0c25508cbadf27e4f4b1ed69a6c40428b2a58d3caabf6f634454aff55c5a2b6b051c8f9cc6c44bcefe658467efa4e35a2beaa870dcc9ef10760a87a72230dcd9e09132017d765543fbe741be777feaa246cdb375fff7554d98a1ae340a69457bf2e0b5c4b4a41f6d618cb9a9113615a4674bb497481e35ac42bc79e71f4c2a08f5b93deaa6a9218ac8f1399a241bb5808938783a5c11b2d2c3eef924f5d37429456656863907eb4dbdd03a7f61f0d5c66cdf7f10b5a4c4c69668e6846ada5079206f2fab6083652b1c743d5a92db440f6b033d9b8099156174417717212cca14e288335be87d71f40780fd6006e9e1997fa63b708e468af79824c912e915698e711ce5d2a010dc0344a86a0e050440c76b3dd6f184eebaf8e6bc6c93775e087d27a49ab5a37d4e6655f617972c017a0beb7aab5b6796dc52ec3777a7295f5c9747aa9fa3c0c2b84e91bc554abaf67cd5bdd0cd9273af14c8e22a88030274f2641ed3c1b3c61c3e79caac8704b19ea68a27052b5eafa3dffb873492a2a78d40939b56ff8f4243a0695461857120d1d98aa796d33e2333ba988c36379724e1dd8b9f4246cb154b1fd37e6c80008a9ade0d1121d46740475006566d00b729c79ae4d725cb2d6b135df768a67903c277732e08b70a23daf3bfd90f0e59872bb662298ce29bd03b76fd7603ef2c820190c157cd796cb3adbac257c2f16fa7293bbd6d3096ccea163e39158944caf3b767cb9dc0708d6c1c356b2075bb231725d9d7d62ba3e899bf02967568a85d8b095811ff2930d8e1ddeef4cde20e6b67292106a6e18e09dc3d48e3e3742f0c85a91dd202a8dc4de1b7962a2ced474f4725450f5f7bbd1995d9942455377285158eb81c5474e7bc6ac12b9ef8ab343c31fe376945ee850f723de544bd066e6d0454ad9a7b5a2c2622e333fcfecf4053e2c17938c101f0e0e7071d6c71f62c0191f8a27c1553cc51549b7859da78376167215356566900c6f6801336e585189a1c59a419a59248214d8e21201bf54365b72a7e296e8c213411041895fad8784cda5ae7f281ed3e19fe2e4da204847d7827216497fa79b67067e1ecb84587203296848285cc4af331b0a23df6d23d908a538bc37ac86463a81ecb1caf8d24e506edc86682d1799483c749cb5f62f2dbb0172e92903c57c50fec8476ebfd9965aaafa867e259b6d7eb1c9d0a5ecba6ae4c40ed126d08464616a47d8b1794336552b632d5344ea8236a8112fd19b68b197de72c105d160e4b321e693fca55d9119577de9c5bd4d283ed65da5a0374f93444b728434b8a6458fa667ae2982e554c29d0c93c52d6b4738c6be5b057e6ee88f76727aa12c251e394dc7f5071f793b5351a55ddb64622079d736d58474339be5fa72c550bf87fb52cc5a952083a9ebad8a115e04050ae277144db503859cbefff00867275e98ce1645c054d44715addab0763d8afa5398b2280bf0713c53c2db0f720a2d0372c2d4051780d1456e33223aff60bfddece3a6fb74a13c9b0060602772be84da8c2521257d58527cc43336315148ab7327ededfa187bd051e828dfe97290b2ece66aadf34b2dafaeba4d88e56c0270eb59be5f9487c88390395790f572ae612d5d7c70dac95765216f26309a7d38ab9655568a0d37ab73fc502441566605ec4bca50ffb5dd79b877c04d2f2fdad293c9f4db61e3efabd7073c1b2fc01df824cb2202d55f002dfee70c19d795008d37c441f60d9502588363ce718c203b1d07b0be7e91da16d75f42b19f1edd0f4551562dfe9135f669e26b246daf7572c9c9b4620c868a853542e2d7774bbf077c923b82de3e6329e03aa0cfb1798b5cbde4d7f3b43102414ffd5a1d69c637e32645d16b66872b148365bdeb3161f86cb922753cdc793a96892c09dfc907c01cc1238f3d5420310256ebff35ad4c07727a542a1ffdb81bda30778cf6bf3fea812ec4da32593aa4b8d9c1943aa85fff72c6835426e59576c8569258b61b024f04aff1f25665f3b01fc19597e8ae07e872b44a72a5929aca08caacc29af399667e49da6e338b25646a68f4d729daf06f723d5df271b6818e61daaa10b0cc2e0a967bf83d3a5992226cac0b425ab923db720e02169b3b6391a5fb16b2934779c0d93d1feafab79d5c067568970fb5eda672aaf2027a1b0596cc4f0f561af06ba39b485cbcb30dd94db7de846cd669bc19722b7067381d1df373d8ebc48258534bd0fd150aef403ed1d277de5f655d4d9372736a782c91f1296cb7cc886aacca643bce53eb871872aa74c40e90cd33c6c2725c0aadc3b75322843a8b35d1c6b2383c426f153672cba16151e6e0a02cd1df087a1421277dcb442a49dbccd6626ae26fa883540d5f2408065c6c154f9b2bce728f65b41a43e432c4bc547b5c81fe025f6b8d7cecb2ac4b60357fcb2d9db6cb724274dd31d43fcbc60989bc6ac4f4c94c4a615505e11c817a0ed3e9f77fcb3b5a424a9c5bb069b54c4876b8645a92a661dd3b235dff3a73e71922ffb7ca2bd472f2d15d6bb072c01cb5eacee2908bb0f875a14d3a1cfadf25748e8a37a325da5153861997549590fb98fec7c32775faafe003b4553a5dd142a34155e7525671202885b5d2250287cdaf572ee368d46a7f176c544348cea984b253eca6bb3d78189db39b96ce2c1a9db3fc9bf697a9e7b01293ce9b33b9b7f27c916a34e56a9f6bae79d373168f33f07fd96b9632dd444b28a3d2412e70cf68c370c237e3a94272b5f517d56ad82ba2e010ad6d663653b4d84c31dada8226310b948710cc6d3472a198545efd1efb7388bb9ef1dc9a981e9f138c88915aaca2dd16561e9bdfbb72750df309b3d23d4b0ba1b5f2a6a4371ba2d558cf41a1edf64ca748d03559c672de8165ddc925b74b5975a52924ad5c57936352d8135c02a24cb65693cbd49d27070183e33d10fa9ebb5856e00e489b69c7b6c99c1a48253b96235b41bef39872ca0d3312349f812b2d6fe98de5bd4efea23dd3ca4ab7e7eef22cac0bdce28b72335f37c7f8e453d4f4f13b66072e0f5db9cdc3d2ef0945355711e0494055f5725b52cd9d4891093ba75d6d3bc98df696baff9283dd36c34038946363562ade0fdc3b150e5caca7cc7ba30e1aa8f657d1f3c476f14d72aebcff0b79ad45d3d5637f4992181e69b12d3e8e5b9633b67b5647fd44877288902e8eb712c886c4bd40df764cc942a9cc7b161176fd1cc98dd032b3187a891b36f42da197a76ae20672033b96ae48a4d754d233d2b6f4e094d7d35af9a530da8c70f69008726c1b3d2211869c91eba9dc09ddd509a6e65e0c1de3ce565f3b693fd22d4926c7d6d3e372a5a4edc636b954777c53f14e08bf40faa3c8f837ab8c90aa825e3a120ab54759ad832e4bc8d560752ba83ba49d9a26dca569f770024034dcc174fc4a50656c72637aebc243913d57907d625054e4e5e03c608699eb08b7135a847f7779c41b72525a14d914985fecf71ce489ce7c7f2803a8537984af73e87155d343dfa07172fc93e164254fbf7853c84ec99370c21f71da0321fcd9d4a9967a8158f5b6c613202f0f0d33c7a3230cc55ee3f26d701b978cff75ebebaec67f7f75e463e42066c821fc642ab6a0aef202b79f66e4944f15453a4ad23c86d4af77a2881e841b2319d7e7cff1de91bcb15350a53f332a3e74221cf2c695cdd576585126a66789727b788e2c43624b1be59cb58642490a42107f9d51421511dd81eb4df49183d77231de2d1b395c31454dba650344d8229afbdbcd606afe3aacbdd812ace788e5727ef32087d266c0a08c27b845c65244c21a38d89bf34dc04d99b377eccec7f3725f3ff29ab1d673562a5709f77ce695e027758494e8631370be38dc29586ec02fcc4e3cfaa7e8ae8e68aa9d574150a17772b461bcea946849703ed041549f2441c232960d3cedb74db587b6038a5158bfe3564fcbf05d33f94a3b01a567fc06725247a3a81a3c59eab684b5d137cda694044fa7f097147551732ea4310b0ab6728dd4d56afb4e8df7da59f43d7dd187efa90452d39bb5b6440795e6e6fc1a2e72229dc496a70875f84dacdf5f6cbffb0ce8027af4ab631bcdf0b546a6afd9e6723f2f12a6e30de51830d9434a6e3b1ca316e1cfef962a3b3d53c7c2d6af44cb724535fb3202e9e4e8649364beaaf694ca3b0862f806f729081e6e81d7e0a94b72e07d09d461b02ef2597ae3943fcc4c088d7b79f2c2b25f0819fccafb5dc11872408aeca8c801d5e52a102fb34d3f872e48162b5a9f6a4ae639af4b06c675f57262d998e118752de8645e0305d37fc96181c189f3b772492b0305a1ff35090c72574c9baec2898a440b40cd825f80472166fa162d72964758e521dc41ef283d72dac13cccd476d52b9f9367bf5a84363a2e07ff285dcd8421dacf371585a3337217670e6dd21a14b92824c004bd76aa5ff61ef804f46186d7b8ac9b1fed913972fe59e1d2d7c79b3f7fbc570079c231bbb938b5b10e11ff733820632851bf9e72bd713a1c501879ca02c0e13fc1dcdc0c5c6c1313f6a1d3d904ad7809a6833f720fd35e7f9ea48098a3463b366bb551cc03966cb519c01254093d07a2b3254372dfa8a429fb67112eaf3f31bad33706184eb77bf020411969e05a313176cbe1722ef04c918795e32059fcf64f552b6604e1c31758cba8dd8bae429a007f615d721ac882cd855217b2ff04e596514eb974b2e9dbbacb5eb81268123201a62ad04d45e0136447f9bd519837e3609e45e1326a9b5321f68a201054a5e82fec71f55dab186d0f8905e1407bbd5ad80e9d21c62f011c7b80aff448306a564ba6fc4f66f2538c937497d495e0742ab8eff7ad713f22eb56ecd97add4ea69132e7d6c54333b5f3fa0f40085b769f6f5b8fa0dd43be1c31477cb33da0691efe17f534d1685cd920ff2abe88d5712a2b042f83a27a5d5926df987e56aabfd9457d64504772a994e1ad321cdf6d146e578cfb9df0862712b674eff725a2398d16f70a2df87285f03a61230c98efada7d8a422cdcc8d5aab6b00951eff4e8bd66266b54eab724e4fd9cfa68506cd6d3d57f5046590ee5c439d8f75ab88c8b0877a7c3a13e405800b6a3d512e1280dafb27307fbd676941b162c69a841c60b8b4f7b73007177280db6babb87e756e80ec326ff99ef84601505f5d25208b5027960be18733ed1ab30ae269cde7a937881b2bdf5fb42706f5eb0f56b1e9b65d259a5cd237bbe272208bda3f0f5109a95f38ca097a5a3fb82d69418ce8e88c38bf330e76209d4e670d05fc2e011333f3c339e6b12d233825cd9a922f92a1906fadee2fe2309e037061523abec5448563a4b661a6b8a29f13c1a90dc7b562d6c9f653d7524522bf7248242a9ae03dd1f91bcdd8908a737dd68ef04058f5f03c25eea0e91b9ed0c77264586aff5858552615e7d443bd0be9af7ef8fc389364059ab1d94e543bb46f72b891a224b6e58781bc2f564b6ae58c882f8e1f14411f09150c4d77174199ad0b301347b348dab71d47c117dcea590a079799baf6b5553735942f60732633da1a07e0b672787b1849fe44359b904e864c3325fe0b2b2c11789cb57aa3d8947f724c19b279ac2ceeaf299c271c87d6346d9fd1adfa6b7007568ae0c7a59670fa7286c9191c182a9eaabb1315226a26dee9bf4805c7be64a98e6d27932b08c22b720ab68c0f9419c6d1c9d535d444708835fdd00d31e9a6a02a6d666403c974f3720f78003b81124817e30602fa22887731f1b3f22ae9f045bfa2b71887ff608272b9c724d51c4bb1730db13c3fa907664d77890fbfb5c3b69537de7ad56bf98f3a3c518d4fb830291e5c99f8a2980e72f968118570c59bfe9759fb59273ba7eb72f2f357d1fc7aebd5586a33e2876a39c8fd3dc1d363c2a414b2ae22004d73d572a781d409dd40f5a9bb2ac1968c3c5dc357573ee9abaad55dfd03d64355d5b464b3cfa2b6b2ca7e59f6e0defe22eaedaf865c5c1a3835c070f291c5c9777fb64b3988539a9f676bf072bc979443a4deadf1ef7a548958fce71308568abf350b72a8a594f057a5c1d016beb47cf424423081eb8374b290e749340d4268577a6972af0f2f1b33099bb3645c96e1dce95c5432aee72c48528e68c70bf810cbb7a272f121627b3a72f38a498385b8e684c0cd969aecf6616ac012d20375472c35be7277dce93d1aaed14be27e7165f14cea0c87ba54be475a0c94ab4c0de0fedbd7724efeb394e6e083bd04ff4caaa5a9ddf17479007b644f0328f00f93718b6cbe55a1d3f90962e6eec242fc9c1472c260b9551150169814cc703cce2c8510a35127d01bd194e9260267ed0a0b39beade63e101bc8986ab93ce83c1b838d72a2d872b4f10c886266f696e0d3ec740f32b631274b24b24b6ed61abef6fcced4ddb672664307d0971709ccebd428012570686cb270411488b4345655c94ccedfca0d72eb07edf3118bffd1f7cc71dcd903ac3b68539ad5f428727653c08d30ca55c9725e442fa2df5723e2e44b4afd80cea7cb8e20a018c26e296aa18bdad679447655d175fffa9d44aecba9dbf74f2acc8347d7e1d3a545a28b680e9133967f74a1725aa0ed2678b5c6dc5c7c3196439ced60608ecaa406f65bf8e9979a524cfb9f72dacdbbf2dce0f625b7a6bfea0e4365efaf87bb83e2cecb719602a95673fb147277f205b1e9777b675fa6adef03fe9ad8777d04c9aa3aa32169e74d75523c515e2522ce1f4246342584e063b98189cfed5651161baf286ddbc611447a2d90a345f4702373f871d58f0d163e390a684bf0dc228d5249fa546618ab0e608b638121ec7bdaaafba4e94c7a1bc230515768f9a2b0365d43c8e0dc247fc35131d80b4d3968d777100307d1ab47ef27658841e85c50c1de9d17a6ff9e886504aacbfa690104757b6084077d54bed6f559d119ccf8acece2fe27c1a01245032babc8d072cf5f15dd68af6237513e937bb6d1a6bd16f5b0c4929ae26a243471318ad9ae2023d8ca2fb1eb7494fd07ac6123f7ceb53a914015bfb45553ceb5df9a9f952f63afd8d551ebac2f5a96973cdb3c0b350b278ceba8dbceec044c093a33fb4e9d7210bd98338a3bd35b7b612437edf0a5cb5f1576b94caa30cc343adaa70cd9303c3785292c5172d920f2226056c6ff53d86fbc43db9ef673d170b02bd64b275b3529c7c0405a8f095eab694b1b365d658b7531674734f15bf190cbdfd36fba6267f76f74e220dfda46b5ca2309be76e5660fa8275eb709f195ff8207db7b74813a253b1eaad9f3f90ac299b77c57d72649cb20b2bccaf9b200b8856a05f90d910d8f6f60637833720e8ce234c8ca68fb9eb3b7e7901352216391fa093acd8bb37244b54844095d5912086b2228a16cf41038139e6d6e2cbf310c1ffd0c61a4b611825f089fe56c01635da1e4fd92a80f04d37158e8c1270abbcea88e06c368427219e9594e9116ba8f896f64e88778ab81c8b52f176b968a5c02a2530b19207b72c3c5f6c2b9b9a02e5e35a3162673aeaa9097d8b96f14533cdfbab308508e8d47120ebe3a05830973f06451e885a17063e99c68060479947b170de255d92f0529b4d5b2fd7f4edd5dce44c7deff1869d0f74fe3c785d0184c86657a316aa6ac7264907ededabe0f18f41e707e002dba74785e05a38e4b7792ba5abf1c24a6c53d72ade2113ac455cc4e52ada6d9351236c93ae40678ca80383a3550139f1ded47b924e8716b3f4928e448acb8d4acb49010abce24ffe0b3859239237cf2050c725dc3a27bb6b14f3dd997bae4d1440dc46e95ac10a82857ac496234174b78bd72dc24753b64b8ae3a958fe186533c04727f74e6f16cf037818a014fc2b5f5f6723dec549cdb97f9cc8f9f531c25a7c6ec962aac96d3029748669faacde980e772a0c29848a57eb04768b050cc0cf2cfd10fea34b25b933770c860d133b42d75726cdf038ed99559ff23e380bfe0a6078385eed2d10d8e371d6db77268194aac495b8d6a44df4a2dcfa6e4c23e4be6b05347daf60fe198af5e7f0efbb788f1b5728726247175114237dcbc683f3996b88c05303d17d4773b456d8c49c3c32530729f908b9e7a2965a45b8ea54b45d6d450414800b6a0e34d4e3d7585acfff80767025c0626f6cb07cf13a803c4bbc231700e95ac928661ebc4ec0a3fee03379172e5d099e6d0a7c4cfa58cca50c720b7ca78e75f21c616de41f5ee41a59f528672a2e3143340579564c4f8677dbbf2b9396f98567dd946841439bc393369b6f10da7a4e269a947f2bbeca4b51e7edba46e861f580522c4d25d163d82ab2bcc707249a2df472b99f787499cc34961792ee0b9a032f49cb05503e9abbeefa5972772b97b171b853f1a19da014effac398b7be2f165f1fb9f2f49d8be967b43e98534ada7170f9f6a0d3501b3486fb481140b26fc623b7a2e88c03eeab9552aefec721af48b274d6b527eb5b04a281b962636729dd9eca596646e7f4a2c1ffc730d72c15e3e70fd937e1c7adbbe6ed057a3be7d159a1ac1810bb942a4d5e315e859726d77d03a1d92876509a3b44e3f3f3ec47abaa8915c0b169a8c7ad505fcf2ba7242330a1ae07629a97b2f77549f9688fe3d20943b180a79168b472a4d133f7624f0dbe7fdeece2535d419d3ed64e31e89ee431d082a34071989c3fa40200e6a729ea0b2ce22281dbae9a6bbe4533e3bd1946da12e4b547b9fa9389f4042baf34a98a0a68689e8eb156348942028f76b82b8d04d5077cb82c3dad95b1388af0150166c1a3fedff6153d6853b2592c90540f5825366e1e161964ee2ead2556f2e729fe008ecbd9c6a2fee204ae453bbdc4a90dc3c9ff9bf75a876b38f3654e992723dcbb4e69dd3cfa8302f566644bca80ee15a0be088df5fa09d68211df048775c0c6b112909a30652421e9e61b0e235c52a7dec6e37e4f9bb84942e00b7be8219a73e1cbef330c78e29e2b33b8b5ead0f19b956342f113aebfad0ee6393e7e635cc55161b32616a946abdc6cec18c9c5af2816908660a48c2551f5fc13b3de06b85bed4b0e5f208f92bbbd01cb60bc72f0739bb803ba7d5b25c8cda1b18a3e51148588b32edcb54f805968860e5e30cd5991f2333efe1c655a5daac6a8080a267b9a4cf8f1fd6738823ed498ae5b2666c93ecb9ce5ce8c8313c6dd31499cdc75f98f66d30f3b0b76a552f728d1d16a856dfb20189452673e4e06eca04f66af0287f952ce6da7cc045a9b47c99ac950c8516e49874b4b8781cd3f4d190e066ec72128d0446661365bb3e7c545e84ae896cbbf18a2db7be3fe18c8d721ff79a99726067e82737f66f308888d30e6317552991be090d16669b78c2255940042b124e6e4343300f5bcfc67226f5beee5084f469de177575d5c1ecf13e496a4c295e6c904f1d9451d5f3aad9fb5ac5e45993881fe9c05df4fc56efd5eab74bdf1cdf48c411fb254306f393d177340774ed4e67c83322561e493bff3d19ebfca6f3e172b985b8966dccc5e464483cf9a2747ed7c02f487202b0526b7054ef7feb0c0472f4945bef346eade10bb3ef880a6b526ea5cb62d22b2e0653785112b99b845b5e99d5d0312054f96c408dd426de2fac5f2e0be1cafe0c53d8bdb67e88957355729020d2ddfe5207e3c2a89765ad23df6feb49d0d1e1725b3ca6b5e5f2f8e53b2552d59dea23b12a408f5b5233c30c97d284aa3736fc14f6be486a596dd013e07217cb0d3fb1df4c90fc414bdd3ca7bf29f5ecd796a571416997aa0122e8520e72d3623c4af5415a3b89d60dc9c943ac353ed4c6886cd35ef632304ca2b230ee72ecb895149c5d9fd8fc3ec46c469623a0bbfa0a9939c9d722c3e2ea45fcdf38722df908d37c68dedb5880a9ba94896b796245d652fbbeec859a2c50cd918ac92a50ce465064a7cecfdcfcd170c8211e430f6adf72c06f188ce64ef2c98a05233e23753628d4205bce94e382e56f2b4e61c29e485e5bfc0ac5ab0b5380bc0d3d72bd5514f5cf58dc7d147c636ab25a65e1892339bba7a88c64ecd0ef1089fee17298faa004f84c96f2e12a1983dffceb06c2561aaabc937c33d7b898fc0f28c37241438d9defa503262862f6df58a96b208a7577aa372eb6d385c8cf3f773c571f8a2608cfb5987de331fc33a5b4e11204498a842a2afc3abe01e3118993f7f672a7cf8c3bbf00b47ef9ada0373e3f0732108e9500f2ba96c4fca2431a316bc666afb104287d4a3a6057dfd0ec7c8f6f702f4ea164acac1501a5e5d668c8373f7294298e97f5dce4c5cfe37df3f12d1650b3e28dea4652c0019c60c29a2a899372d3b73d283731996056fe7979b9319a2a1b22ded7a2aa541edbe5325da8926272622cd9889e972c82fb60f28e3a58e9923aa7cc4a8a3ac3247b70088a074ddd1ebddb6743a08648c850739e13aa17905ad72f145161d9237e4cb1a3dfb13e4d722480927b255349c8ed98ede18b4f8acc331fa0f707c7edfb66f099000a316072d9426b124d895a6c6628aacbf2210e7b7ec4890b18d9c9fe36b7d28d06974912118646379f1f2c17b206e451232f0ba7fd6467526d9987a2f901434785b8e0081ddd1120f7932f1f87963abf83bfc3b0397f047b64271e457e55da5a2d11ef06c8c76dbb59788b6cb08fe895dc25d5842b4ed1bfdec6f161916b96ce28ff6b1675ab770e46b46da596b7ca33fe516cffe35f760e14d8fb98ac11c50a22ce1a003dbec953cbd4ae316ff81b0f914973933a245f1c447d9b6643ab04528b231972adafd254928db8e65f4879fecb0a424073325bc8481dc043c2288e00df118c72c1261983812f1d4ca0fe52543497225cf294d3538e920bbda68ec88a6338b7721eebbc2809a35ea8de3a31ad8a6521be2b5d02d2155de3bb8c55897716d34872550d78a7e3d6ba195102839257a3e770b9edfb7b1558d027507e9df6f9c34072273eabdae3762692ee56a9ec0aa9f65f6342c115eaa2bca8bf7a0326e6bb1c72eb71483fc960bbc571d874f7eacd803c4eb2cd4fd12105b987c990df36323c72a936f28de5fa4656c1cb0db6ee8ce72e104080a73f2e26cab56583478a6a660119c17a480c16a0c4c61614f57195176fd74b8e2388a1699e5bf28e72ac31b9728c63c937b125e8fbff28e42bd83a85766a22e77b568451692f9b152a6186f426a34b25049e4e26d65f688f0d6ddfdd75ed1aa31559fbc3a7aee6cb816cf91e72163ae53110b5575c28a3d088a5b59dc7b4844cddd4461cd233f358d1747972003e3e5e6fe53f77ccd596d0834851e360a2f7c00745c23d0ad944af52ddf54572418f3f76d5fa660a5b45381d245939b47532e1b112aaaa2edad1f16f06c9d872b94f52b20245facb056b88b60886287b0fa0a29a4c3cf11db503f2d071e34972183b090ed1b2a3604eae01550da368d961ba36e28d4d8d73563b126f2bfb9a72add9d722995c5048714a796c9e40a86a04c629edc81b95b248ac067f072a30726f5a354aca3a4a6208b50dda0a1617ff0289f15bfc5c28d0e70abf0f6e637772440b3f2cb1675b035c1d98db0a6f0ffca26d7501869ad27dca0bba0bfa04dd686c70ed74c1f73e6e40f08f73555dbe840866a22facf792f4d30e24a44e7c2e5b0f8740e93ad6fd7377e844cefd522a0ff3e601f1ffd32e586cf78a40811ff37266f895c65d8dfd6bab430b7520e968dbff20bb5d0e5fd3917e441bd574e8113ce2f8768272f635dcd97813f3e6df271f0659cef732fa177129ecd50e3ddd4772c20cd89767ca5e211563598b16210ede6bda2c9468a4751f917d8015ba2a6272a7d8e9abd933a6f28d74d9fe9f1abe67c0f766e77e6ee8630fc231a0a0a4e472775b89e37bc909c9219fe1abfbbf5a2c9ef320733831600ce04f32a52b10cd721e51cb0b3da90d47f53853135c7d83536fe858173e3a8141ed2320e8884b7e3dbfc98c5c75f3f5f31a088e683e5ba583c9610e76ad0d61056e67dec0d3a1573a4fb3fcb3e217763164616f6189bbb4f7bb6de7e8cb35ad69849089bbbea22c6d13067b8e5fde795b37fa8fcd97955bdb1a09c7954d4ead67fa4e27b566be4872673cccffb182ecb60e24127d9d8581533b04f49740ef6d8b5fae758159990f72433766f4f024b6aa4b892eafad4f980fe8a911487bb79197ac90f1ea31319072dd43c7e35d6dfa2147258cd6907ef34c79e3db214c5dff3ff11bdb2dfe17f03556c9aeae4506338ab157a6763dc039d3f15f194aafaca18893052f1a6e26dd722df17ae1b466c8c3d1214ab3e70df2e9cf5aefe1a7526fbcf5a1a5e79a422172906752a06d36020248b7261342938c467ffbb439c13b862203ade4f0aa825772adaa3109324353983a31b164bb96e77174d6f21818b8ad596acd163542a647066c51908099ae1221540f19293868e7d6c2e6115ca2d4ad875c3f8c9ba5642767ba784bc14a5b30ebb8ba6296c9c88e16074e2b8fd814597eeded84e5902caf11f0d1860a072be7773ac79c7b9dfd491bafac1af18f424200602af9063296fa4cd7ad9e282048c4678f237967b96e6bf9804c371bc7667be3876ad83a83df72659aa61ea932fb0c3f12ffdc821b1a01a91682bbe62237afe70c0061c1aa889b724971ee531d24d4fbde8f4c794dea2dc3e0695d627563a26a1e224d0cd0092572f47c697733b0b10f2328d9acef1ba36bf91f0b7c6295bd1c8a54be0dcad44d72981560b8a8e605510d0ec6e9258b12be65e4b870c1d072fc075ba9fa666dbc72876006c6410ce547a597027968ded45f57e02bae82f012e4cb40e0a0c3b87e6733f68dc23a627147e163a447a2da7d13e7d0cfcf60a57740507938311ea501728cd1c52053de2ef6fa3d8b1287735acb1e653042862f8a17960d24ba101e7b729bf98a87bc67b089106ef34f3fd418a21a39419eaf42c619c920c7995446ff72af031645f707a21ce6c1278ad18ac3c3ea1f1a541c0f3d2aca942050512ab3724bd31b66a866d092ce34683bade3bb4138ef5f8bac293e43d59650da8e43dc56d27322c747ab8bad27e8748512fb4736a6e1664d1d9b9de5aa82465fa740c1431f45cfb3c7e238913065e76048e7cfcd1eb2574822bdb51e7d7f0826c359a37216009c62341b106ce67d0d959395dd7014ddd218c9fad5e0491c2d45aef6981367a8ac076ad30dd38d8f39ea52c1ca4e8bfc161d68fb09d5cf127e5f3f9b5872ba7fa495e76b9c573d5cb86fbc6b60f51368e6d44691072fd4f3900382fb2c7224e8080291f224bd3711988b13350af08c6a6d7b040b312b07563ca99a951e72f136f6ae1abc9e37a148d781edeeb7544586c48d6a76bc1729879dccd2e9610725495cbd65aac2b99f3d01f3e8b81ac3ec295d2f482d4ba73dbd2dfb458096192e84b7262ec6b25e459ea806637ff15fb6c6d022f759c6f3011827b7559907219bdf8e32c26b95bd31082032e43befd7e3642d07f07e3c28eaa4ca621153370fd915696de810f1d840a5e800a9b6cb291b830282608fd1fb25f455f48ed105724988696ca7ea84398eab57b39c7d35de605d584cdf99cd5bc0145d534bc3a452bb2a8038c2e37832903d6f312916ff33168edb75a4e4139f8be0685b3b764b72405faf20682e35c31053cebf9bb0c7c2bda47cfc644eda96745ea2a473378b7234203631f3b6defa6d3b5bbe8a5fe8637ceb1299a3e057ac9c09bf373b6e66729bd13b863219069e06f15e3082823bea89ba328d66b12665598825f28073360497eec5d4c189fde6d38944008c91505de05612769cab12b9ed1ad9986e52264fa9093d766c0257db4f2be37868af87f7526ff1dfc408afc2083542ba43ffa3725530439160bded4c6b48e9ce614aaa31ff0f3dd7f274dbf754e2c2ba3c4ece521c578091ce0c48a0a515b276cb7001481257bed97d989b215985acc718ebc922f8873463575eb42cae46249cd24aff0cca7270a04e6fd72a3cc677daa83f1f72cd8b270f1f5358076e0cdbdfa2a9bf27fd06f167503afd2624280483f7eb7072f999be6188236153d42e144a806d14c6cc9038ae2e6bad7712a28ae7126af6722743d8a1598651684c5be8d4a622230923ede698a13b8a7398085db8881ac0650805631dff8c08fde2b66ab60bf12c82b870a21632c37307e7b77cca7f1d5372a7bbc9a2e29c9244244cfa2b78808f1a3f27140e4a754f8e6f2d02cee07ca33c5a84578892114681542d950fec9a8c1b15b0041e16850fc956123da6a62cad72bf569c11311f4266612884cf750370c7aa696c308e5feb93b30327d5bd58ab72b8f7f326ac58ff746db0893bc5335a6580e65042017a6dbe154e28f23d65e74d2bbec9de0dbef2a01ab47f59fabc14bd649758f86867cd069bf4973f7c9c05228b75bc435d00d1398551778096d9e8fbf606f6b706de85b504c575545f79c7724ba0cb9def5119bc0a693eb9cb9f5eaf3f4e15033bd55acf1bb60532696585725cbfcb4dad9834e3b70d898840bb5910abd09bf65b4a4d5117b4131c9631ff49f8f7476771d782266f91ed9588b6c3f5743dc01943a7d581b01a537c1bdd8601cd96da618bb4a429fe7e47fd9db7b21ca55278e6004ad0b3cd0669abcc025710c8da7521214277a87c136b4b2e0141bb5043d5e47226466fea2b2bbcab6307205f88b6d1ed9bc10dd0b25b7ab6f758e8796d49d65bd81add85f40684e6dc99720fd207a27cad6f2b76c42b27c1ad3d3cb866bed6fb4122c5baefc7e2f928097208547236857ffb6e7f40b3927c56738302d8ce406924f1d6331100a25d20f23a3a3db5d6197558cefe95857b8f380ae500e1c0d74abdfe14f534767635be7d7245c14d700f79f8e974761841e191457bb03c639bae4aa7f6d83f415c3b8b587207ee2f06ce2b91295c6361433eb00f00fbf7b34747d64f8ca8ec18dd4c435a7299ae511451634ef6525565cc9a7bb646fdb1cccaa79062c9cb895154b563f361ed90e52689bbd3e8824f16a5b0e8456d317e306fbbad87f3d3c90436de415f7227a0a62391864150e292b6f80a43531a75009245c6c6510156b838622fe7f3723bb1c17b4f1bbdb97ab0b31dcbb2e88793aba954cf0622cbdc868a37fd88764d721fbfb178d8d6d957d32e2584b0edcb6bd05608fb9d36173977b5192b6b207212820be2b9f1bb9bdab2caa43df3a9a52b51adefd1a11cfb8359f77bb867145b8a2b92a98eaf66fd059353cbf2422c1e361a98caca35f898cf0b98b1cedc3372048aba530bce6c6c22df937b52e2d7cc41bd99644b89671c4fffb7ad52af117259f5df1b7c2ce3feaa175892767cc0c361985c977ec5ff242b7edeca1eb0875246ae0b9b2148f5bc52dab03508e5a46a10d49d6b0f8a673ecb2a18593c359e62cf8e96a51d1b31bc8b6c70678c42b98848bebef4b4638570b867e8f08336030afd5485bd7536b2a0c6471e6bde283e754dd2f8cef95f7e548eb29c7fb2e1ad25037300790cbf0838c9dcb347b2480f52adf49284c39fddb834f7207e0f0f3a72c67ff9891e9980263ae5d8e5c0e107feb79c84edc0cae593311a15bab93da67245dac0fe7c9c7548a0c452a63d21bdb4a7f1dab5598dca45872563079c6d513df86baec573d10a4fb8de9afe1594f947c1c919acdd12051ba22e46937c711a72de4fd9ce4b3f14cae82276b9be3efe818f53aa6c311d0011b4c22bf90cf6367228671cde0267a672a6237a291adba3d97aa5b3b2e0d17036537f47580c86c672c54806613d5c67ef953c4396c8884b4e043041e923af3e468c10deb551d2a272d40049f838b33a41a282cd6cfc8e58dd65dcee2e1a8ac9f8e3ad5ebe2f6a9472be4680b724eea1eaf99400a1ae7d1a719253f512ac227ce207f563e927756705abf39ac88164a702204c205ffd39da853619d95bc96f1d3cf6c73135a81a0e720b7484108228cbb441cb7d453b896ff4cec3c4bbd06fe898132fc2eebfec7b72df4ed10faa37b79c72324b9ee2c98568973360e65cbefa31371d18326b8bd972b033c0231117105e10a227fd1f1c6e2913a6b95a5a62d9cb2517a973d1836772f131035fb2e6a60390460c11c7fcb998af41fc6ec0d5d5dde59701b7d0cb4f1dba8a07767a2109a0d612f1552063988b484cb0ab69036bd8c31da2cfd7de9d72f97cb62e86f207cc08817a8ecbf77f47ef7802e20f9c06c16adbee5b45c8041ddc4f92c4c2501922f1b9746b7ddab1ea973b95820821c0b8fdf90e4edf7023723ff8a82cd32191b2641364a950c36483a68d628d0bbcd8c7930e5c909cb92938f736a803cbbee8d33297e48438f63650f1285651969506ca51f5ab99f1e3f43c6a2f9eda8362f331deca56d331412eedd5e237f670a6e84cfdf8bb2694b3b94b2d02592e9d3ad9ce06a5e882fd7d2c6cf96a99898614e9fb9d1af99fa45ad3274f2a850d02042587dc2957ab727a62455cc01eb36d0d5a819e361154471a5972a242fa33a9b5d5e2ffddc93c68dc411d3727ad7e7705177f483cd7affdb8b516c526ba94ca8f5d3ad9d9ab8856850819e7ac70bd6abaf53154647bd7e65c6072cf71d9081842d303b450c4819de866013de042f1845eac1fc1430670515c181006e70079c6c7a91e336655cbdbfdd8941152be624f28b01fb85bd2feb4545c07a54b77484778a310f0aff83fabe82fa1779270b922f46e7f49b2f1100fe4fa7281126e5ef4b0c8af45a3681f32bd871ecdc79500255690a1c58443ca62a25301056099ffd5f6cefdff3dbcf0fd7d89d0919eec44ce41003c1aa7b5096d01b97226402d166d33791fd71da976c7d36cad735dc90233835d8e6d632214483d7d72fde328248e7a9473659fb5ba65c0bd32a075531d772484752f1851726d20965b55b9151ece6f7a612b578494880dcb5c111e8fbf5df14452b0fa3968b869f172bc160b407fa290a74974a21c15c701714ef35420fe7c9210f01433200be3dcf8f5b0896203626714ae2de1e11ae56758300bdf9750c08dbea0895836f63f0e8f53b02df2fc9956f23227ce23b2cde1b130f3b0b2da4287eded8c1f68c6c114e3288c3a2eab6168a6b92365b9cf3a7511b674c2897f15d30aa600f19ee64c5bc19e4f5ab08c1036c78a54bf0ffc517ce64475de2947b5f67265d861bdba89df1fca339de6d986e5600fc0e0b6a77286bd3cb49cb2b0b89c33c74e75c1bc4d372e7c378aaf90202d18f5f6fd1700eca1eb662807011aefb5d339ea25583c06f8f9745a8babfcb0896533abc380f56695525c3ca313a4de6193f1f42c45530fc739693dfbfe83344283b986257871d0e0cdbd4cba406dd5f8f5b0b0350002052e41f799e4deca89ced2af09cc880f439459fca39195beb2b294c5e15f119d1c531eacab735cffcd9f4e67b08c7c785dcb72d435b6c2e6f181bc5adfe12e8c720690ca83e7842529468c5bc9d36165dd1e3778e723b656dc6cc996a3b0a8899c91dbdbc118ed1d6031b75b7511ee1155446c3c11cc5730c08fe7e25f69dcafe0698c3e170eac128f027d533cd9b0a2fdbd566f044c4965ee44c90238806c289e7511098bc06eba4ecc8ed53c78653c6db1e0df1836d7d2a82de003e15039b085a7118bc07bfa802af03cfef8dc3623fbf3a758986ab3e5bc69cee9ba48e99e2089caf9a6bf9b3fc8ffd5b2437b4cb2"]}, + "response": {"jsonrpc":"2.0","id":14,"result":"0x46b9ff8becb803cffa74dd88c7babb18902c8b433d7055a5e85c5758d3c9bb4a"}, + "statusCode": 200 +} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/06_cancun_send_blob_tx.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/06_cancun_send_blob_tx.json new file mode 100644 index 00000000000..6fc018d0c92 --- /dev/null +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/06_cancun_send_blob_tx.json @@ -0,0 +1,5 @@ +{ + "request": {"jsonrpc":"2.0","id":17,"method":"eth_sendRawTransaction","params":["0x03fa0a031df901140704843b9aca008506fc23ac00830186a09400000000000000000000000000000000000200008080c064f8a5a0015a7c4688fc9d07fc303b466f606f214c147050acfa852ee6d292f33085d51ea001e407ca86c726c8395afa91baa51ccdef6914ea84facd25a969d1ca5adc9300a001582e40a25b35dee362a3e6d636297ad4d5b925b94eb776cd41624e52a59e2ba00194e23ee0277c0491f2d68c15b319c73be701244274fe709219306e055ef44ba001358b76b8f8ebd26e5e1fc77269e789b093bd35c6e66c41bb97834b9924386980a0f701eb822ef6c92242ce51a124ac4fdad741c8f5cf0fe5b8249d4ea049cc492da00a442750293acf707af18a970405de4cb40f4d02330c289cc0ba3d965f59a377fa0a0014ba02000022a264ee63bc826a6df778800a62ca8f7033d50f14c7c738ece23b505f2bf3c47216522431de3aa53b3b4f75facf55b2e38973dea739f3793437d562abfeee8e72d95d412fa040972251c9173b8f9cb989484bfd4539f1136c36fbc69e40e1364a2b3a8770ba7dd170a785fbc7f726881e2b8437f8cb3b7ce2031cbdfea58db551d342e0b23568583579390d951d9fd59b8b915f4286dd48c02e2e01a62d09f9076b4107d6934edae4b3d43d1772750a6cb946de5f2f4cf030dd0b2c63b045650751ef6ba17389d7f4852f1eb73a23ce8577fc9bea3123a96d4adb4d471a363e720a45e655b8b4d2e51396300a3ebd4d2a7caa564bd48ed2d17eeed34c1024d772c7fdf96b6222925ea4e7b7b99caf4234582c4164fedfa4f2582bf272e8233f4a47c0f96f56f69477a17e0c429bcb77cd04b3b0bd113dc38a194af3f613499e01b93940ab9be8d606999476794451e794b8b975290b3bc8cbdeca0cf070aaf2343e72672669ef5dbf9823e96f28fbcb6f58c0882e3766d604fb033a76e6194d0b3154e6923e14fb768002b25d99ae798450a5729a0a8a86c962f2f9fe75539872bf5053ceb173bf73953e0a36af02eeb69dbd64326cbb2e7ca3b1727a24ad1f72efeb3e52a31efd736f6ac40134b14b5703df1c3032be0f99e94c7f5869541672956b5897cb6224bac162b69d9624166f2a591d43f04e29c6fbeb29c7aadf72723aa1d6abbcfa29dcaa93d1942e2cfc09a1899ed36327b46c14110983f40ebf72985b2287ad5e45cb3f6860ed8532ff4dff200d4505bff575cd956bd25459040decac0cbc03fe0bb1c97a77076a347c5c83db7f6dae54e2123a7e508c7797577267d9ffa456f70c9feec70cbbf5892b9ffe58fc75d8728e094bfedc63f982ce4a5ed278f7a94e31f7dea891063d5e4e78f6223a37d82c26d67985cab33c7c5372183a42476d3ee10614ce6b15810237c70776d9e1cc538ad638725fa53916c472a4f6582abf51baa64d5dde322505a25a73db4f8a232118343f09b57aca02b70e2ca736a4015da20bc7c008f94567ffaf28b9bca10ee5283cc70a774e73bc157216680a7310e5492620164132f440b8827f0a45aeeda5b98ae56e6b758b004f30993c3b12c43c54855676b25f12424f04c1bd058f2ea0a53aba3f3a4da63d00724d8b5cc5b7671beb33509bc75dbf7428caaeff9161b8390660d1218e91c4c321832cb9894bfe0c3e453685374ae6d86025088475cb055a71b3a62f02b954967252014f7c7574472f627c133315e86d1510c4d3180c8f14535060a00cba830072eaae567ff51fc3ac2e60903eaef88be1f70d5ddda9028866d888913494b98772067ce7c9c58ad2c1d26e5c7289272eca7f4d707d9cf216b9ad0263cd6a0610481a1e0640ade4cb065556e3e8244a96fb31fa04a9f5300a4a21402150eafea5721ea629b435fd1e51d9ec6041ec4557e7894118e84e92878b696a6891be105672888e980d0f1e7cabfc54f02fc285f9d68b02a4fa6fc79a6b8b5f8c1196049c6c59c84c5f1f5a15d945c9cf1709ef7da1e18f166985b7f3a7b531be2f81fa4e726752c56ff6b6be5b1138cd561050acf28aecb6968fdfc5335eaabd200fae8172032ee141e2cf3913dc6c4f3a320538b02fdb34c54df4b9dff378394ce7d452726b54ef092365e57377a20f400b2188809451cd419a73d82f6d7442fd928358723920558d9a7235fe1d742428ee365706385d525b5636367b249f491bb735ef34a54074b362641d364f0d619874ee2e72e917bb6545398b06c07b18452fb4546240133be4c2261d562a7bf279927498e07cd82d4e9e194ba27b59b4be6e038072f0d63ae2e835d59e5438a9239adf7e70a18667e29b03f023bc7b13ff9ed6353d71842d3d4592dcdf9608dadc664c6563b69c0684944a6106dc83b1c975424d363c1d011d221649cbc13b34ba2198fd656301893e6a52c3882d1e966c0be4f7722286eb98732bf9cbd3d0c161c7ad2c197ef0960b56e6eb3b059552d9a94dc7729fcb265df46353aea57b466af5932b4707ba4eed0276e8665155845bcda39772bbf56c6ff563092edc1b8067aaaad85ae4b62765344d4c0c9f88a8d9a6346f729651849b18a31bf50a233721260d8d65c19590b7c2fca0fc0b0471332c78b7726d066e9ce2d03694baee3b689f6dc4a59e5de1d4d75a1f486bc6a4079bc0ee72d1f7504c305e596e0275b3cae367dcf4414d075b936ce967aca1ed4e7726403d602661f9596baca9526263d4d374659959696893cec80d5e0fe4599a9c1b2372ddc399ca0b3897f5094d5058083768f70fb4db6aed09d27ef4b4503914e02272f2746ed1e5f4ce28b1f84e5e1c55dee6ea63273b40eedf5cc7c5229bfd21ba4b059daa99135fcb5c3f3f70da013d803a8eba94d2091d748777a20771dd5f565322e6bdd96c305cf8a10802821e0ef138ab18d72193c20064908abb990c726b7216402b7c51668544043016ca76173af122cd11a15a7d24e259799ff149230972e241789cb3449e395a2f22b07f05b15058e320d21fd86d10fcfcf7093ab49c4b76d06445fd16d563429aa3da53e79db276fef3bd2ff41425cedd9b1ecb1a1670a96b06edec499be555e8b89262a7128c81ab7fe64e944ac12422301909b8e772f6bef6f381285778af92a54d0ed350b31008a45e23753b25c660cca18a55d6684114c72538b2d133a025b10e4ca4eca4f79db682f3e0456666dd7b16bac630725743016112062c164d1168010ab9f92c58747d958c4afae5c98157a5826d937238e983dc5944f578c86b258c5b758d243f8b668f2dbd0d68bf2006bc5f2ffe0520e74a23d42208d7c7ad535830216f26e85483bf1002c0045185dcac552c0872f0bc46c9351f531b32058139b1b00963209c82be0fcf7c12c683982644f76e7231c57d350def1cac810439611967d39ed9a943859457e41c43d5b9b611995b21a20b394503fa7f283923b1497dd23dd2a7943b4adcfa25942cbc19f994f3667264f04fe14f4d16b24410665e747c14fa5bcf5ffc73b3fb2a3c30f1bd39842761225787fb171ea65de8c8110e1e5a4b6a58073fc7235f3b42c0a0dfaaaf061c72457a02c263622dcd543b948fc92a0c99bc0163a57b757ea82550114ac0e2b25793eb2860d0ca0bfbd823fec687b051a2f08979c8dea076efb6930e0ab01ec372c931ed738a79dbabeea4d09d59357624ce6a4770de7526aa3898181286b96e3d4ae6e3d16176a6a0d0cc7db06ae75f98a471835eec8a521f3a74c9535c0601296e8978e6dad4abf7a1750e7a4c1c49c1979d2fad89cc29cf8a51bbd9ccae7e6003abf67bd340e9e94871c8b11df95b08b43c1b84816b4aa616f4a12a34c53d0118ac51bd8fc059ac6763b171ff3cae5b997264c4f7b0599b17f07671d4928d72dc5cfc9d8abcd479048d1e0ef77dd4b5280f1bac6b06b88461d8fd82930b961163a3eecbcc3b721712ddd4f918c4c38f89945862b7a4fed4111818faa14cae24b82c4f718f757fc9d5c4322de0f4b4449eb903ce16291bd1bb13c727a0712b6d85d4aea172b98f952b8602c43f2a55f214180b7806e002dd141f7a6cf8aa78728c7483ccf76951caeb35211ce751a6500fc945b9532a749f8d0b7c6fa53a2c7245b4fbc478fd225ff5dbe1a539253096892c6fe292d9b947e387c0d55c12de7291077900de7b151d6524bd23d0dd66e372ee809dd305dde900c765c68e7b6553cf5866f9f091d4599c03f4dcb416e4669a4cc2459d143a003826d92015116451b5d9b685f054370f2167d65051f61fd794c6eaf0ffa3c32b19417a256fbb306cbcc317e058ff0abd56b8cba44e13c0004c2b909fe40ddb401b769242842c3e405a0d5420f3c394fd9ba19aeed3d86d62f5bdc2e816dc3e33b749db38c4799a723381625f989531afbad34818e0cd1e6daa6d8644a8c138eb8027bc0b1cf84472b6bbac4113eeefaf2dab927ff972c70472e0a39ff149a8b121c18b446d8e5f397e82c1b79b081ae4e8c09601fb5815888a7f60946afa33e7c34c676a4db41b72ca85ee7abb87b37fda86d6bdddf894e1310a90906223ff5b1d3717822a977972bcd3ae80fcc974833e8ed65003988b75b2ca996702b6f0357099305689af303ca13c80dac9af3a94a5809e2cd4ac63dfce52bf307ad27566d02e191c6d98a0721ceef18f1df435505e6238dc2cb8bc1a0b5d51d2cfd25826d4cf24a620ab70723afbe0fe2d5b5efc54997c6f6692cbe42dcee9f77764e8015b558a77dac4ce4afafcfe9f3ad233659971e1d0f8d2dcc70e7a99e140a04151548ec4d4c56ebe72496fb005981c7f628dd70c57dd2eea88b35d80d8393fe0ea27125fdfcda78c722cbc4130666f1d2091e36536313fd8aca8207056f523a4d8f7a308e82353f772b400c4065d0fb024ee8098b286fc8a17b949435d15028ca987ff7189aa6f9a7224fef27f3a76af4f7ff3ff7a1e2cec2994b863ec4438ecdacb65d775b830e31517a1ef03d931380d4ee3b0048933241a2fdd97b28cd471fd9940e2ce51bca972254e1a8ce5f02bb29cefa87227474e6e20d07afb685318ffae56a87cee72172d71fc4e966a44f215576b7ce3099f4f06057803c2eda04fcb5b3ff7c9966f2a1590dfd5ef9b31f954ac0400d7ebdcf234e84949989edcb65df576b54f98672b06cd8db600d3d28f6459c31fa6fdfecc1cbc49e4dfc828df7092221098be52ac50a42254a021d2f48e3291e6340ef4eea8d0a5be9ba6f0a086e3c2e5c42663c51d0d5214d893b8eb9fbeb12985ec88dc827ff7340416351863747493754663e6509f5eda7c936ef52a8536a4ba60f056fb0ee37666b442a49e026ead76a8810d7234205e952a82958bce30c0835b500d77abf23533e7f8c9fa661ae8caf2b9a2577e17f4b397064cf67145b836ab2a018763b9234261684fdcd3eb9de410d5de56dcdf690cddb2cf74af84e38fde786bec458c20742ef0980bf7e6fafa8f952664141f3d4de987c6f47e4df7f466726e965742e8bbb515b517cb5a66052ca1c372316a4ce544aef4df7c15e3bd2cde024023b95f173042b027269a11df404d8f72edfd898fbc710e24c18df262fdfaa9c05217410aa0e0c619d6ad3b6fa7864072c5c9f75da14bb098afe57ff635180ee448e600958cde4c2311478be030a1e07217f394cd98e0c1e68a706f6ee6eb0dd6d3658a1ec75af405c216d787d62eb321d29c8248cf09476e852e47fd37a76156d31bd3fad315629e4978783ebf30da2e0156fd3de5d0f8bd45032f5fad79efbd873bf0a93f25a373bbd922b87070ed5840e9aaebc4bd7f30847da788bf7d70bfdc980eb5f37a188da2f7322979f0c043314223113052e2091d117043824719ceec0fb66e34c812a5b1de305a8c7a4372d4efef425430bf777ceef76b6791cb1ba6544434f3080e9a0ce94f8c31571a15c588c78071f9b412aadb2013624c609e9ae98598d61169a826de78d92850df7245e7aeaebc6e7222b51f21c9a01c1bfce54db52b5e684002a0f05ac48a567a6a87832cb423b5d4215469a358ab1971ff54d0a32b3abf914fbdb06eef2192095076f541120be9ccfb20d784bf248d52c3c0635f3401bc9014ac18789f609f715a95cd344715feaab4f8642803aa87a07e6e7652905f83f9c70c4a682d0413977239a136afd1675fc81110bce6afb5e5254e374f0ea416e529cd880b9fe33ec9724298552c73d4d44441f17b4cf0ba9d18c19b5fc28687ad477d7155c66cf91c72b4440a426de4779c1db76ff94f0992d097e7114a9af8cfd9eb2ba63f3b7e6f325b56767ef3996d81fb063ed904ac05aace11cfcb722e065ac8c4bd02198d5d72e21703016ed90a088a72510543216b268621236e51b1b3dab5c77f253f4fa8722b753b0fd2393146c4a5a651ab07b0fbce1e70f0609c2501366ceab22733e57288ccd0547be6d21252aaccb781daf8f4b13580f32ae9a88fb152745b481e8972284d154c74a6af0ed6c8deada38c411280e8be85a718664470976b7c813130728121eb768eae890bdabc5cfdd2790183fa46d1907513bf2c5c3a0f63c5ffd24b3507b5c11503d7c7c5b0700a485391712336866f62044a6bd9b467874f19d509288b915c40a2bc46a64bc9a779b05974a6ef8747753f65f313aeeb1013f98c38f7d55220a1efa877022b561ea7b08903cd037703768be0f1bd144bc5c6dafc431ec272ac1758e56891538403505613c1fa64b309394870697df2316ac3263b45ad6a6c9b5df41e9599ed2c999622fb2773ce4057342c938c848542fed5620072adbd584e4f7a49addf81e0606c8452eac1e51014fb7eb68f2faedf8e8ddfdf727e729fcb7c98f71d0c3dff82f61ae741380e7bfc90cefcd2dafd854f590db63669dace8c3c23d70036a52c6d719734dbbbf8831c69aa342d14a738f3d09ceb515d6d776760bbe045a7d85238e466c802740dccf5dadfbcae24f0f3e12215c11f8eb7f8f4ab91916984f72713dc871b8e9cf9502878031299fd2cc4aac29667577cfc1a611c2ae5fe9b4a322a9d45bd9586afe83546a0d03b557ef5c0413a4a460741d07790c8ac5a8900769dd3552a527c830bb8f4c86a34f2802deb7a858072a5faad858c298a50f78e352630c515fb13cefe3a7f5a4b13d07d8e938c74ca72191363ee5af8fc762524817c2906849a37c215f8e315778b50c99ceeda84dc42ca939e68753d09eaecbde28283317a8c1c5354ef5a8658431c221b46725a9672c345abd9e71477420ddba22dc1fd3fa015fb0bb5f2b853ac40ec9b34cd9266727e6260538d037086abe010a59f459760925574dcee6156c868feb3ac4ce3d643c90e289ba58f30ce81a10c6d9fde25115ab217bd681760507d208b67bb52b6068bb5915d58d0d919b8ab025757f61669ca478eaf9538e810072effe0c0542d722c38621fa7c80e5c2190ee1d7082d9fa82d4d513606bad47e8eca3d5672895724ac4f8e6b83424f671775faa2e66b40e87cca53d98b665468717ec22e4a7747255d208a9337aa06cb1370419a39f4c5b84edcdadba6004ad19dc6c17883214720d0ff086e8b08d244ab4120f8459ba1d63ebf59887c66a0ce6fd8e314963b972cc04e4b1356b08c55ce6a0ed051b5d3af243018b16d3e955d3c77bb7dfa58672869fcd46feec12cd4b586cd77ffd799d38531c3389052182e8720fcb5d027e1f062bddb39202886774f36d21cad6e53bc0fe2321e413aab8579e6ec76fb4d772ac6e4c0ee05ba7c15dd8607f9031b555e9fbab540c7f287b579c47e37fcefa544c069cb9d1321dda82383d2664e5ed41c4dfd75b50515dc42f4b0e6dcc70f26863deb524af953c15488a7886ab4e19634f48402c4e466b88d7c483cddc11f133dfd52899ddc128d03c0798ac555cdcfeec7141fe5cfa8da4b12d91779196e872b06dbcf289be3b51de9bd618c0add83b666b9f321d1dd9b768d8c0fa9f935f72b213403993431083dc527e49719fdc44985c3a9372d896cf01bcd721fe7feb72cf662aea66acde12414e39c4192a2c11ce8fb555b6c27054d3f6eb1fa87e86118ef3c84b798128cd74643ae72730ae76d866d2f8b7a1463c5dc6cbeb0742b772ce3bb66f961656f4874f0635fb2260b41f2fff53385135bf8bca667f2bd68772b54d3b0f8487b8507b87514b58510827c2b2de8971aaa83f6fc0f6d5cd0f9f72c16b8d228227e1e697f36b9043c500f939a4e0914162f8b60505ac8bb431f3725dc638afad758dd6e9b728ed5e372aea3309bb0e9f6f4d2e64a68d1e1a84e40c04a487faa7f58e18070240e483ab7c31e4d2cf7ebacafa296ff966c0f46211688fc6ed1b0f755c049da536623c8b925a758b559071263bdbb551ae3a53577725460aff28eb2f465656d889ae06c9953561abf53bea1f38e3dc41d5c3e6055b7025e9d0511d6f7b1d99dd6411ae928f6e346b0374d41655d5012032e4aabb2b72852ff01a92fe71bd8fe91ec8ee105af981cc74b242357ec09f47053044d0c772c6eca91ef094cbb449840de218183fc6a68f00dcdfb3e06d1b7882212ee5e41e5aee8aea023274738c335867ef0f2e49d50d4f98f9215254e44f726f2334b772af36486e809b10a1f71a6fc506b16f9eff4b40372410c1b818b96b658241ca148810c9185027fed601903684d3bcc3055b4629884d71cfbd0a165371bc530846972bb4ebf372fbed359e2ac36d6ed8bbc0d4628d6f8afdcaf38516871f234d72b3a517b9aace5e61ee0f90374a4f65627803d8d63a1293823b4587b5d33c6b720a0e14179a5fb38393d0a9575b82bffcfd2c9156440e28328dd124ad46323f2a832eee5d37a5191000e758d7d9867558d07b68579ad58f5d1b850bbfcf3fdf54331827f3fa5416e314e7ec09f6ff7442e76e54b3e0efd5a281f6fa2a22d86b13e7f9c91cb015ebf02c11cafb78fd6f2614f54d34d3393882a87be7bcc58fde72582eef96dbd629731924d72bdbbc5566dbbdfabb5f32e12a5252eec2ff0a49576e947c34eaf9c9dd316864504943cf52dd1d72f7282130d915427fb6deea2f72ca60b47519bf054ca5c005aa3cb40a204396923eb826aa5200206dcd32b3b67235501602dcea29a0daba5688fc2130884a13c2b54de5cc35b5032301a9d4014ea82157ceebe077631dd970386d6c551264d35fac186e044a17dac0bf2d3b0d72d07a4c8368b1f7f01150362f8ddcf855ea8943d5558c1296e167575916f55572dbc82908bfe8b1d2df0107deec38aae7fa2c07fc7b919f419352335af4e1bb7289e84825c995a353d1d1db01576c792923362fab3482a06d9c663d9cb985d84c1b14224ac70707a4d3e6ce3d9fb5076f7482ad856c79f6f47a2c4aafd84bb722e891debd98885c1a40b698aadc3203b411ed1d2248fc63b6f0afcf6c2ae5fc355908fe44e618208039ad08415dd1a63ce278efa6209c857e5c984d816cc4be729969b262913a397d80c801a96f74313f8492384d1617e153301a6396ad473872c9739f89e1b583705a8f1a58f12b06de849fbbdff172f9e11f2df8b4996c245c175e0a6aad9eeb5daa79d623f342344bca11413867bbcfac4f997c9bef4153724539a080d081e252d47d138b560c8d9d6111c23ce52778aa5a5142570bf3c972d8b471509372638b694ceca18908050d4dd171c65d1187d187452303a49a3170d75623fd96461a94e4119b77184053867dc02db7e10fab02523053dd33fa8572413e42fc0a0280f91f7d9a91e7c777bd1c8739e8221395a2c74372575185e2721716acff90396809501b57f248f19b375a650427993e2c61171b348893b6a3727464c3f114ddad97a73995733b9b7e62093a43579bfc6744e166f8fe6b37495e4ee4a928a7af48bec81c689f3fdbcdf3e57f70de34b09f3e25e17e7c3db8fe0c62d814dadf8ce2af8df7efc74ff1ed8269479420f8a23ffd96d0fe759fba701d57fba1fab6ce1cdc3b0a109088f01e62d2c7834188cc41d0af488d429dc78021691c4ee974f5d32b731d53f701c564e97fe70e7c9ca6b5059f0e16520b0ff12895f436fbf0b4e642ede26469031935dc7231db3e171713049374d86d28363b72dbc6a294eb25b5a2e880a7363f854e96a7d55166a1b48df1a987559975f8a7727b8d9d89fe900a14887e5b0c0ca70cccbb534f357cc216f1c3a45a886bd77b7282d1e2083be55cfc5115553d8f445992429635e322d1047377a1c34a508d903fca0aed15cca28a5918c03dd2f51d8e2fac23a8cf8ca1326aa41f4176a2cdab72771efc8bf22e3605378635ed566b931515c161c484bbcadd78dc4f1f7244da6fd2b541c6aece41c889278af7cd33e08f9f47bfa2b38927a5cd6d198346ff56729f2123faa2955e09eb21f9a506ace862cecbb9af6ec8454ecf1c9523bd94f16fdecba6091a47865569bfb365643f94c66def38d1adbb31adb23fa2995bb6347284f0dafc02d1fe065dd467f9705576a80670b7a5fdbc3256e048a228767b800fb0490f2ab6da072b6a331e4ed8c11a0ca422293573496911f0ec120d94c2b24799859fafa6b4bbb3eda4c88e188438a4ac1da66ed141bc9a6a41353d8eec1d20e18edd5cd4dba9032f4f1e00a70ccd901efe3aae30231af3bf0edc6da1509d68d6923b51fab657738a32ae884ab955ee9a4023917ec3802868e8932bd6f32f721d641a31b30b1c037109b715d9308a316a7fe21af8aed075504d7f4bbc9a54167a6e8ef899efe2b17b87df76374c5a0d698ce64154d7a1065d70711501cc242e4fec57ff1cd23fa89f40c75eafff5d8a296765c3ca85dcbd0e6873ba30f8e9727c2e03a774263dc819569b49078ddc91d092db5c5d86fba3cd00c9deb7a6825253f4a52b3ae207a02d339001b708ac8ae079d2cf83071b6267e3eca498f18c1f61f6e1f5f004ebe6ce0ba604afcdf4820fdbc7d08303bd78d0784727730998443d7cfa463b35bd98d412a16474fe107fec5e9b3cf2e261e7866b83ac2c09f3373c06b6705428db4ada74e731c16ea5688a638ce4e3809cd8e2cdb0498255be724f7947bdfcd25cac6cd384d7e59eedca97a42c906a75b61109576fc7d5a16272c8d8b79beec74cdba79119b9af11a2b7ba1f1627e7e0c4004302173725bc2019a517cbcd073408002091d7bb26db8530a28a067d5adabb9e2decfc28faca33724815ee997e685fe20cca8dea496099999131c2cec1cf025466154b4dc3722104564033aea33a1ecd53837e7e6832cb4b652b8c06ffc87fd9bf77f0b78f2b0b722a61d22c733d300534e9487a0ece904508cef92ad37cc42f7cd5151d31eaae72c871b8e48adc5265913dc80faa5ef279e00715636e112bed7252890d3016d872e9a63ae9232108e2e4aba6c8e69817f77d9e8974b8877f1abb0b08c915e03472c6e98e505fc68bae9a42a6c39084cd27e2e040bb2ff169636252f8a7624ce7723acdcf1ecf17f9c9473f341c1f49c07cc1fefa419ff90974d23492e2c3378068f4f43dad9c9de1821ee51467213d278a437eef967518eb26cd79a5809ce0d472eadb347b60c33e067f86448d1e5b5f3f289b192ca57f827f0114ea70b5e46372150132c26f4605f95dce2cad7eea3e6c56731fbef493d0aff6e5d6fa39bd4972cb5ce81a60931e7d98d585340d9bd64fa02ff168ced65dcfb9554d5daa57a5727f2f275e44f3993a1c80dc5aafec1eb5901c40ad1fb376ef0a0f4c294a265e7228d09066e427c70cc8d07182dd9d65aceb92910e590053a4717f0a6309ff7b72efb5fc5770f96f50b3df0e9601b6d8198af281c556459132aa89924658d19b1711441de05665b73e37b5484e4d6617a22a37c9d07db302be544cfebac51e727296c7c96db76a727263d5f65e89e78f8210ee98cc1fa307933dba7748b27fa1094ba0ec3743e996efdcb284d2dd339fafad9972ca2c8361d5706cebc39ae54245dc67109c94d30e805ed3bb170620452862200b0f5e99090cc323d2ba9df5450a84444560fdfdcb743a3452ca72323d301287e3ba44ba5406b8ae0635f0916472500d27c415768f8ecb04bd6bede194dbfa28750936c83bbc771d8870fea1b472da02fa92f4af33a24f5de56712c0481ef8f7ab42815e7f7e19ac6c8e00efe55bcd527f2bf5dd6dc06cd5a8c4fa0895f90dd89c768920236f4e38d63e7367db72e25dbf69410a622b0289b56c450204e2da60c2ecd76c61ad2df637da3077b7723aa708e1055d1f37c85f3d064617920f382e12e13f9d9b0b70ebb8547d71df72785d668b8ac7abe974ce64bc675676773462173106ca1769de64842d3680702c17125d10d0850f30458de5f1774638382fc6318fb3860d1815d5ea075cc5c972feb4d655e66f66c5a7ae18c3f527a9e25b2ac8d66a169d051c440ffc57cb297246d33adca67f7ce35195edc2143763bff3c9e9bc88a084a0773c28083e0ea8207fb0b8be487af0b775cee41c174d9f8cf0df609554c948eb465fd9395300187274fce98684457150b08e91d116a87ffc1f507fecdd5269136e4e4f3ef2633f7223e5074306e2a9cdd37d4b8b7e5288c6ff672d7f00b70ad519fc4946a23e04729fc32a89824d37d148330c1c09b14438447cd5f1bf586c4e857cfc2251fbb37295159febb2ae229e7d7f835ebec977e08a211968389e2eb5740695e975cf71724dcf58b1847f0d0065a29e07f47568188ef72b2bea3284f08af5c82b3f42ea7230b1667a875bd65e3e06667f42a7e28d76ebe16b1cdeb1a10589e574087ab772ebd21293e2ff25804dccf696e5357f91ecea3f5a7f5b066645b188f88af0531cd38d0501aef2e2c5f1891515ca08f1401f214e89f8487418cd0eecc6db886d72643a8d78dc687e54ae9cce1501499f9ad52727ddbb6b48998a207d55e01bdd34d05aff594b6887a6cfa368e014785b8cfb73f135abc0860a410112c5a657590e99e93762309056f11e0074355999fedf226caedd55707c0998e99fd5903947720340429649621dc1bd8777c0f759e5052d65430cab3a18da19613809b319b572749ae1f0df7b40fef737eaa1854b87fcf15358279d9db47ffaea1fd69b32c3727e6ab482275952ae28993d564e7ca4b157e1b22215e42e5ec0b918947ef3dc72a1302f5c646860c6576a901d07f3e0bdb18fc04e0c0ff16693dadbb1539e193c321e0679c037cce58e837377ad07c1387777a674b5bb29ff3d2d0488c72c966a4beccd8e84fb54255199c2d1e3375c856fd373a189dcee834cdc620230e5eb72695decf00c61ce596a704e93bd649f30f4dfe088ffd948d77b02f9c8c2e4ae04dbd8aa45c85dba38bfb4b1b3bce2d55198e5da3041d373506fd20eb5df92e072aa6ec31ed8d6063485ac481db88c51c43fe0802baa8e142c11e363c97f83da0d18af316a0c8b7f078ced8b7544d4dbffea341822afea32f1f0f758375afa0f729bcd99ead8eaf02b85d39971502b130c7d8c705ee728d860289f66f520859f723abc2b6336d0b6ff6481fe45c0cb8f6d8e4bc7c34e0d5fa9c3408ee0762f446f4915beb5bd41dbd4e0a600c91a5d414a3507bcae5f7632a6f0417124df827b17efbd35d5b54ec25e3672c1e4dfd03444c3d37d113a3c37d5377d827e884ea272e16fd9e37ea41c6b294fb85ff6e83035b9849517b23feb715cba1be6a6d30f725f35e383c527342124ed8587ca69e0d2dbdc69fe8ccb6a0af1b70faf9137bc4f7371830b18cf3f549c4429b093726924f82e31678ccd3717a837e3c0ecf1a3185018527a450d4cec5566ce34fe13e766f124f6878096c3c4ae90d5f3dcfd582d4f614c7a0bbc27e7c03c2d853be12ee33228f0e7fd004ecb3ba85c858277a6165916a8548d237b7a643f9f248739aff5d3309c9f76691627815eefacb8b37a212b40e39591a58d61e71416c39e970ecfbbdda03b96b798c7f569273fbadfcd6eaf8afcaabddb390e6b88e724b63c03e0f96c117ee5ce75e61b54bfeabb70823c4fba00e009795c139949f03e7c9340907d6db6a8945e4c03fb86c67ffc1dfd55c6f172b92ed3b2a49a466e71fbe06a6b76b892e5d8ebb8bebb4ff0ad8f5b255a28952197e3eb2b6b5242ea76c9679b1455e03029848f9ecec769a9806530e8729615a0377bb65b3482a7ce1b4c17c28e549cc62920b7b74fd57e4e6ad5b4de048f8831fa1a7126954122096d8b26d7aea7fa4d9948f59f5ed58330c07ddbc37220a57c4e22919f93f3414d783830fc44552ee9af35ea63edfb0a6ca38fd72c7290872f4b2133ac0799ac90c9fa0561976b425c3563575d4f38765aefd7f59c72ba1bc90037f9d7fa387dea26865829a0d0d8a57792b9857a3fcdcdb21d70cf696fa6696d9ee1d8c4a41ca360dd725792ec504d6f99d14b319f1952a8b7d09072190f6bd078118611178bd2c0f2594339964c104c8b4aaf3feecf5525b02ddc72b43a24a7b2ce8968259076fb00792b0977c40c1c6b5526960bbd6823b396e610ee3ba86a9c3fe6f1247ed93b86547a4e6dd5f5bad42dd4905a92752965b5bf72214b51cccad5cbac4128a8bcabcd2f102caae898719e32ed2107a60ff3c62272282cdc69f12a90a1905050402fb7b95b113151de922aad2db10681ee03c6a8728a04af7254cbe99609a5ec869eaa7b931b1f66d214564f03b18500f03ec29572ab984aa9c1f76b35417ee8d979c53824b343b679d37e06ab568362fc9c4d2762d4128c25ef078b4f92829b1ed02d97a4569b8d857a5b27f013ab9585d894a172dd541ab05d2ac8308cf64551e7605e268fc67ac690d0e0f1c8c4e7e6699afb7263316bc5f30dbf643e5344948dcbfd208019c8064c46338ad53ced5317acf472177031368de35b3444f489a0ab1a4352fa033fd575894c222db21135a1528569f715db93cabe6841451f3c7c2a0930a33e1ad70f0a0187a3126cbd10b1c52f63c92d7b391ea4793421f2d3edd5f801d2ec471e80bb410a329e02cdbaf693322c0d9b323f327aee2a11fe5a9081012ddf8be2adbc7c815f0f05ad23c154f573431160ea8675b6c8f3078e3ae0e9f9a3a972a337ebab329415ef0c4a66f572ea728a822a19449a87d107e93b63f3e559d21b7e206161486236305fcb64d96d2e72da108819a5145848e29ad8c7b74904b8f9c373ceb88980e9e1005111a381c772d9f3d1f5a9397dc0b00a14e7dc5e6f78e4273b54c362dda7aaa1c80b453c424bd48e09cc191981ef8169c83047e276aad6d0cf8f8f4c0eb4892655bd980d4e0d649392d53d46ac2109dbf14b4baaf49612a21a80f8e02c6c05b65b100fe46a72107e956a7bf5cd54ad2ab8d40a465ec1312965ac7d4ef0f259b47e6f5a55ba728bfea8f766dc0d9d8fef13a11b9e2b7e6fb78f1ffb0f653faa8306159f300e72afbcca04c3f592e51ddb08b5519b460cacb3f878ed7040f8eee5ec32bd622a0ab05940b4d08a10ecec6a97ef2017a8c54d2638856103d785b48e180baae07e2106d321cd043921a2c1b3d877e938452e6fb5e29ed6f4418ae5f201a74ccc9831fb537f672654e7f3668f68a6b89d22179872b058aa2fb287c6c4416af86f0e6a561464bdf611877926e7214f70699b7dacf582f5b01e3a8dd2a986d74e80e971aec17ba1c477fc827f98931ad237675da0ebd3ae86c87787ffc7cfec3fc0497252f5979c5bb5bff4b41533de678dfb369b7b6b7dee7e1506085937c9ec2cda72a6fd7089c378945bc49543becd6c246039f9c18fcd0cf053613331083d62f872ef9e93945d2a365aed81df501e541f821a54f666e73ec25836fad6fba7bd7972442247ddc704691bb3427291064dd2bc361aee048f3fc11f612316340295a6726caf454f8c8f40312b9baa471059806eef1f051e800e1f1d2aff5cd369e1b172dba6db7dd3b6274fc7ebf26f758db0ca5cb04905a7b585c1c46bc919a85dba00a573df8e2b6014754d5c8969ce30c32f2b8ecb6fe343bca8a894692c5f3b577239e457755c4853378dc4d2598625cbe2f83b48484ac04b2e8c080cd8fc21c67258b3ed8820247a49473c0a18f0aa553e877fceae2ecc8531221020431c3a1c72d57f1d63d15fd1a1e2c403b1ae65029d68be19045a4e407db73d52261f1c6027743ffabc7829b3204fa64346a619337c90a162bb8088774097ce522d36e894069a7ce4d8e298120d74d2d934937f7f43651284a0168f199c680b60759ed1b5724fb933d8f71f1a83db40014e9c4951eb05622b03f117e5b26ce7e2d0a9e12c14b8df5513fab2854c86fd282aacd91c7c2e67abf2ad18513b72425d3df5dee2728d139210e0627ec94ad91e57411c514715e10dcf7293d5fd2cb7089fe371ec72a8a8c86523df67a63151eae6edfb479e97f6ddb63147d6438efcd1e7348211727f1c5c427dcecf81700e497504c8f86de9d521b73470a10c694105016dcda405e6c7c05dc597d8a3b1ca7ae71f5c33d919ee8a0a1ee61f1f4ed71119bb78bd53234659a89be91c96fd3ebb30381f89fbc6b0d206c1ae75ee3631ebd466637072260ef2ddd3e98a0bae4ec43b853f148bbdc4315071294ee52332aa1ac7dbbd7241f2cbc16f1dbfaad56ed7229e89bca47e83e923a461d7f2ab18c31a64d7a95a9940166d9e7d043e7c730e018d1039ab2c9b50bbd1b7c062e1493924c84fe672184bfcf1da20d3254394c1a982ffd983ffe0ab404f6e410e4389f9ec69bcba52d4ce1788da33b8f7fe2fd1ded19892e16316b9a14c4dcd4f3c95ff60d44a3b726ff59933940b3e5cba4c608344f843bae29e24f34a6dccc1ba3cf09b2912784dac08c69ec1f4a87b489299d4e1e5e1117a9244a974cce77aa68edfa6d7bbb172057b5b8ee0954ed62f71eafb776fe92e9886922746ddc1b72b62a79148525e721553c4d00b09ed2be1a1de29f854c02b4f717b5188f62a042cc27be243aabc7271dc9414b77c2987fbb41eec2789d182744cfe1ccd961a8a24fe41b43d4796727a5510c765957c644dd5bc1a775390fd33743fb09a09e3e3fe4825832395233fe9dfdf8681e9fcd52008179466dae7efb5b4bff30aa9bc943c760e5e6564dc51289084b9d712269a98939e6f8877aeedb2ab282836b16652a95c334f5fb47626d061d9906604394e6563e827c6917af5cf441f6fce991db8aa2649a801c22d723a245a0a6aff60d2822f9661a49c3f877a5e5debdd99d2c7940363f7a5618872e7b9c016be30a8e3a244bebf73d594b3eefb69f0fb4dfc690e2c9159be183c728007f24b299ebf3bb7742ae2ad010cdaf88d33c8e4fb14fc53c91362e5a36172c78c9f7a77a1b89bf82e0151597f0928b64d8b26808b5c47771a25413f23a072646ad94f166b83422b098bd832fe93b01ee38c95caeddfa169cccfd294ca51727f4173068842a6cf5acd79f2f1394841744946b9768b8fd460bb6964a8d7b872f08cef9f5aed808bfdc801a7984b2f0dbe60e55aa3c089df64b893b0ee20f87214bed8bb67ad1187d699f2cf75b0d350e6d586e5b6b251ac47a2a54c61346572f546e3124166d73af0e8a5dede77abf9956f327f8a30ea8ab359e53449e6287231c49e92ab02c9a8dabd1a50e0d121a25ed6c5ce145b3ecd079e7966c0c3fe7213d162adf8a8631579bdc28c732b7911d58cda828e0da8731b7e7130452d3c72da6d7bd1a31971a6d796c7bee473bcfe63f6b4084b36e2527fe33a70048ae1720cb7e7d20e9202623845262dd27d144d9eeee03e4e9d090bbd468577a8723e54267275b8814f8b5b7257fd16c375c9b09d50f84577da1260db7feac6444c55721fa26878b67f5c63187d047a7dce59dfebdbf2feb9398534fb3d294cd3ab22721180fdca4f1c3ac803f38b7b8c589bb2e83e465bcf28ac058ccd9b50c60d2f4a1dfb65b59ad5c553f971835a8632081e67f935ffa5c739f6213c384cc95cd9721e2a6ae6e1984fecea9561de74ee2b66cbaa11aaa17e0c707ee275e3ad4d9d712fb0df391aac69fc5fc387fb288fbe5d6a39e7aedf4068be23e11cbd8d09755ed3aed5c62c447e8853a7c05570a6e30c007de1bf222071789e7e35784255887211bc3ee9bcc25997c3f4e1cc1a44f226bec8b0c42f1f32fce74126ecf116610d263a931b698b01aea281ef83b32f6ea12fe7a34b8c026ff75a746c2eccb49172ba1ca4affbcf8bb3d69bf4b2ae127350550a9d6c9c4a492bd1d0155300e7a2720f840a34ecff2821ab10c4af43dd942de1589d933bd5b0e310cefbf4a7feb347d438d8415a7f1791fc05b9b1e889ad62ef7d08eece5bff0821ff6386ecdea27227073e4f4d36f259449edbaf0d82c8e2024bb503c02fe31020e97adc21417572c0483bc5bf109818541d804ba6a1c2fc6fe64b07fc0e2c14f39bb7a49274b172a5165036ada21bc8728de855c1fc8da042baea9293cb0b079edef25c592fb47261ad1abb7ff5d296f69507c38cedda9b6123b87a0bd73a11abc046b9b98fd8721ee113ad5b1bd3e497610c9a76ec00d37d78f339fa58dde53c5191fa1fd1d81963aef9c3bee6d05630dd3a8c1e150460d2753645b147053d382cb8cdee23e372b49f36e1aa91217e4038fd738669919d8b0c2503d2a83748617f09e8f00a2745c9d7643fcf0391e79989364ed7857873f3356155108508200484e0b2011f917237fa989d3b005d884ccc7ae0bfff304e742baff924e1338b07fe0e1f0e35c447caef5acc45f2e4e80ab0bca8876dd9f8dd62cea634c2a46beda0519f74894f2d1c1dd876e114a4e8ec9682a90d0e3169ece88c79368f917e0d23d81ed3ac0f7234c394bf1541dab5f610fef80225e9f3b6b07859fdc3375f05313502d842a4724e7d9e142294ed8684978cf8f1ed1e32be4a01a0a5a5916e591748056a3aa00faa9c418a34a1081046c65aeac4c1cbb8990388040f0c909ec575a07937997d72fca9579b8c309155a37a9675e12b2b5192383ba22bcc418fd1ba7c5161128f7295cd22e9e8fb7a1b1bba3c5b2bd476977ace407e20884319b2a6cf1e22723b72fb70a5d5f89bce2957dda075cffb4f5ba768a2d82ac33f9ba37d64e8a807f572a4e00fa244dae8bb8ffc281eedd2b41c06ec03c22542b27e49257ab0335cac386a5c7d5282635a8eafc8c074a4bfb51ea930eba3db6dfc4f1178530ecc13d856a7c0271d65d6c19dd9240d77240706f69ad3951a091ee1a5ec45f3ca61b52b72fd823ef828ba63d9f43330105d908c2b85fc019e18b9742143ea4324b1505a403cbedf34c962caa0b27b1f7bf6e6814410e4209d108b3864b31ce59f5dd19f72a1f2582fac0a09eda01882264d6ef6ade36b7b5cdb2d2bcf705b560bbeec4f6e2ec00d7b8e1d2221d7413bcdd0764816f1ee919e8c7178d4cc46d73c7a2ec372ace6d022201469f556592c17ba24d6ead9c37beee971d30a9fb253da847fd31f06eab124af9d025d3560057e57500736bb6a42de35ee556f6cb9fd0cd5531e7276163831fc46b40ec60e665c0b893f07fff9047c07a040dc8b956d33902a4a29fe161ec613f287c9707e56e828464160ee95c7b3646818a7a8128595a2924b095a6d7803c988dc8c4734fd197ff072932948aaee8e51e8524eb6e3ac9dab4753e4db21b7f3a207211d8a987f113d41db9293a7c60b8874a5ef5d851619c3d125697ae5623873def93008a1f7845175b858aec44184393b3f435b89ae5c4e1769bc1385641ce970c3a1516f6d0c23fff2cb779f5d5dd83aff32683ecfc1f2a872f9785e2a4bca93c70b6ff6b30a397c8d56973695a019521fd108686caf1dbc113e883a79a9909aaeb7204d49e4cde03346f6e5a56ee680a592550c603752577286f11832f4d7e38ac2119a9b91f869f2cfc86ed4150b2db889671ca02602491e5d92bb094ed4c44bfb6e4e3ff2209504b697d6bc39c0c6fefcacd9c8766a6f0a680f06397eb173ef4eef3b3e5fc11d3796a07cbd713adb914a235ba822ed3d72b5fd34147f0d2f08b7301701eb89f53e1b25e995c1015726c938a66acc79d072617e82e64012e2715448aa67e2fe317eb05df843dcb11808f8b5be4d88043f7230bf06c939ed8bc34764d3808c4ba91ffa9015310dc8b6a09824cedd9f9ee37242fc5596e71e9280ca24432ec440b13fc8d480674105361ce851d73057c09e5268bdd2173381792bab16c20ffc9ac292ea59f551958af8c24ead296cfecde972303be184bbf99d870fcd0e29dede9c4b2ce15ac8e2082bfc137cec1525e5bb21c093b5ab5750b75574aa0a17b165f8237b750664ce5d0943dd7b708bc32d6c12b12d6902f0d0f36ae44ec83b64eaab0eccaa23e85470bd4e1055d0b4e3cdad720868e70af5b2f8c9361ad6506554d49307535191af8edb2887c18a46f7cb1c4ec19fc46e13c8a09ebfd59452b5dcbc84cca27c207aefcf468f24cb44d34639716a82f4b32dee96accb6f0b38038f03e50c2b6a81f2f14b9e3c36c77f4e997a72c1b1f39a6b65576515c51ebcf8ac19a75411b947fef94cd43d902b299b83601475730ca0c4a0073926c42681c25cb4dd3603c79f4177dbac8fd58f2b21d9d872869e7a3c18fa84d618060e72b2cb0b02888406afc958a17bc1a7424a9c1abd72c578e2a2df98ed524e0b58834b7054ca0c36f83c0b76534085cbbebdcff4da7268d3deaea1e8bed6ba69fe8a153a37f5b713faaa416e5fb2ee9a306c9c3dad72b8453ac800343f8149455d993722a1e6eb985c21c25b167cec11ee4ffc5e486b9484a518ea46a6b83d359e9183841e4c1adafe54bb50601ab8a98e404601fa4644e28a55f6cb8334a1ea40eff17ade21f87bb1a4145cd677f3e5795e4e33475208d76f56906edb94833678107c353ff6aafc8198dee49ce7af8ba2685aaaa6721bf2055d2edea385fd313446c606398c5940d2fb4bd0b1125632d2734436cc43c72bfabb64c04cd0a9d37f65f06cb848920264342f652f3c5e7646ea86b6b7728e3389dc907cbd364d5bcd8d16e2af7433482ee70c1a4d55c3271922e54de443d250a8db80e71a829af288275e6dce0a6ac5b4738f86322a4e5ab78b10744772102f7e3032023cb060505f24ea1031a73f5765958cb02cd88ca4abfc4565e24e963ed76357c8ad479b15eee0710a38ff16743b12b56d4427a2f01bfbf6ff1972a4195ee952a2d09a97093a7e367b23352c88b9a6ea40d651bc03e1eab9024339fd4d5c5c12a3dd275226cc0d30893856351a59da3cc4e2f613f94061a077d072fe40ef3bf73dc1a8fcb9eaee9c0274a938eddc07a8b75d0b610260854c58c2448140789b0e866f8a901f843f819a71db8923c02328881fc8a1203df04a2a8523305da146ea323f597ccf5c81ada64a2924bdf4885ebf5bcd2494eff845712653861ed88f0e66315e05572bff51fe1f75b8d7ce67f818cbb4c1884b4d7a278a722f7280b754197d4366131a6b987ee48e4f455f892646026f0c5f087cfc3ae272122006cf1a94bc90984ba7dd63b606884a97b8b79dd48766f4a86652c2fbc77223344c5330f8956cd097cb5e5332830b03dea37482f4271156fb3e43b488f26b2b22d6ffb219819c990340a99aa7c1b5341f50925fc8234d39b581aaf9596e7267a8dbebd7d0edc541c230d14e9d1d3e8c9dc14a915455a0144c8e60a61962722a9a2f1d1dd3805b940a9c942779f2bf8aba4d7f66a2dd78203647b158455772be961ebd812687c3ed505782513dfcd26f89818fd8fd431bf329dc71b8bca0720c3931f945c972b72b56d2fb9015d8dfec01f83bd163ee3dc18991b274113a47578219baa70daf273315b9b4b0afa5e64bcc807923a6c0fa0164dfa2a6c4ac6686e45c9a805bf24add2f75127d230e248329c43414c7bb3bbe1b9eb1f3f79272df29858e02fa8292d40d71891ad31c1b04b8fa04f877793179ee661257883272c317842ea02a12d0f914d1342962f1b08c6eb10e9fe9fcbd39dfb41ceefd15722f87fd7f08498b281dd795d2519455e417e9cb16884dc5c465a7583a1b8d373e7f463ba2631da09ddbe7d4d4a44372e690bb9af663e0c0d9356f74f8d6c17a2424188f2de6f4782fa17871e33db9b38984f6459fd76778389b64494bc3b23972d9acb088b7f68d225e2c8fb0d55e4a23c2c82ea03c64dddbec90c44b91f54f720e0bd507277d1c1734a3ff18d253cb815e6a33ca8e728f7f990100645b35ff144212a21b179d540a13b7b598e783685f37be00f95d12664bf19dca5d9b99ac4af7ff6c15af67cbaa8d070bb065f42afe82bb6afad874728b313721c447daee72332c2e289eda8b0e952308beea9f0772c43c26f30da65489c6842d63d5c5b76c7727e737524a99f3a0e31c35d28ce6924f160af5b610fec5a09244c67b9bf971538662fb2b00e77c0ce74e26f59cb45095cf6636bca0234ccdc486b121a34c724a7973544a7d9e96b6e3ba7827a2bd2bcb5a7df1cef3478a3b75c5d9395afa7273a1ce4c352fb8fc342c411ee06b6b0b04f500f0b7d1cd63afbdea0197e9d1726cc817e04411ae2e08ab08ba7307dc84f9d6bde7307912b0729e31d35c8a3e7260c4cd5aff616ad619ebce0a08fad1a841cb50e132df41cbd3e1a3736847543e8791fca955390336c38295b870ab2a7b68882af9458d9d8a63f74bbfa15d9a723815a2e91e43e5a8fdbf09176dfd5cc60b3fc28b8965985c95d4493b3cf7b35a37520251b53dff65899f3d3624ffca135627d78fd1d7ed023161f16fe09d9e41704b0135d609666d88f5a04fb7ff807b4bf75a305e86dd63dc224d80f6530e01c9079277f0730b7e63bc20e47baf8f88f53a0235bc92bff4d0e49b5953a1af237f7132932a982e06cac6d0f9b3f7640dcfa540d78d2ce80c84eddb1fb1814c726e8d29983feb66c29a70a9e8eb2a3f3265e1c7be4d7c98b0210bc4dea202b172a0d106ce5061cea8a5482c6444ce781a34a53481137211278b1870e35ce1d542db35c3cdb6c5d7fa8f78bd784e7689ddfa18152466ac85f17381c30f1f616036068b9a94b31f9333b0927224b21b608f1fe7981890ccd7591481a2b7d405d872a9eceabe3e488684f4c09ee6f0a40fd37b19d89704c31f3b8d54966e68b6b27209d22313c2cae6d61987c45af4dbeda19f2eb71d115ad05eba2a67a3373d647254e87d6c59053f90aabd8c37802872c01b0ca8c6c7c456c22e943e9c5e6aa3727b9cc8ef01713ace481b4052d7f141e7ff83b49b8a1dfe8c348d62c7b911c21a8d7c8b0f50dfd7dd261f13fb14daed966c849785600f6b0034fabaaa01042055d005e735c3bf9a5a79595e095f7feeb9bc68cc1abf7a00fab5bb1a8d4197b223adc5c659a53167fe79b331892c1295a9fbd331a21a06e53a9260075b45ab507281cf3c69c2b297b9e042e92a1bf5f67ddb135afbc38e79263f6691e454cc0c72287560c4c9bb529f29c7d246844dc73eb8387b4c24d5687ee82deb150e57b47272e26dcf2cd18b25c25618e96d10df081da770a3238ea4ea0cead8768e17a8725ba6244a04699f5d259efa664ff999410d40f65e76b9c245dd5456eaf51b1f1cfb08c2ec17f903bf6aead28823e20003842d3fe8e6b8f7e68cf62f816a1f447207abe66515f6c05cb8971151dba1bf1da1b9f27487ebce25d645e4648ed64472cb36ea7baf3a4a88e662bd12756d1baa34e620ec822c7e17bb3b9fe7ceacc2312633f243f14d3141f072fe4bddd408a74c210367044bbb62361be309c62a20723ebff97dfb664cb31837398954551cf44709e9216efdc53a96ef80ec5d378a33e4971a146d292bc3336bbce93a56394ed1e11c0be74ba7b91f5cf88e54dd9972a8f975230b48e0b4d68592c908a1ee017f14611a420ce0e6039502e88ab3d850f47e637bc00a292f5d71153863bf8d794e51aa7797987c2a2f93982b561ce7726fc19d6756d0fbda9c2c08efa1e8552d6cde460fd70c2292bbdc832c13492468e8279350a8892822977e41e8584707296b0e23634628bb104b59ebe55292ab0f363b598c45955fa2d484598a9a31a8a86859433b75442278f0b20927c0b6e2725828424e36fe60fb471148d2fa85cf427f8dccb2d32cbf9a7ba55404b113554e506f8a509b004848daae31eb2c87963b79adc711f64c8440e6894294afd55772c25029ab8d8c952d140cb6b600c4334afdb1728de3577724da3df3ee14a844301979a15eda217cafe8eddde399744b876b92422fe65fafd941ccdb5cca72eb72047b4944c943b755c60862ee3f8cb49e322eb84efcf363642299656158a9bf729a2e65a906d21920c48b7291c4b1e7734a93b6e6454c2558233dcc3e0b07de7258dab8cc01cefbda0763b61ddb92f3369922a4c71e6ecdee0f04f38e551e3c727d428c18b53abf9e1b682087f92e4dc57d5c0f420973ccbc3b7a3bd2ffec1a72d51e471d736c5bbdcad075f17d970574cdd728e4d228f839d405fd649bd14f0391f2c8acae5f62d7768ceb4d257e661978885a53e8885ebe7368bd60dff2e87206fccd3def76357459c26027f0b2d7903ba4aa5f2b301d97617d528cb4d749248d603c0941315649c49e2f4cd802ad39a3b5f8f59469ffe21d55ea6f98346e72db4a0bdeccfbea1d82ff923cc920140b305082f67ab541aab5c16c8b981cd52969a3a98a3a954942d77246fd9d7f3126b54ba95e435a1fd4b7344b6d8a1f2c72e076e1494637deb8b91ec0dc8b189ab305e788a3e8ad14c20eea065c873abf726a4c6a4fdc0768e3817feecae3a29c21e9c57cbb8e80923e157f998001cee75fc1d5b89e18bf59898fcb5156a860ea37b34e5241ec8fbe6c114af1772cc70972a9f039f3d059a1c695a20ac66855d0bf3da4d8679f03877b04a885ea61f89d72ece656fc488fcd91a49c528bff5da5ec7ea2c1d99ab265a5dada6ad0ab0e9d72be7f1e224172d991664b2e1b53759d6fda08cbc72cce72d95a8344301280ef7284668215bdf10778a41de33e9bebc61d2f7a6aae2f39949a77cb973d277c9072e3c070dfdf17a4399e9a5db62a01438be8a010cee46a80095a4ff120ed4ac572f815944c778bd65eca8697e99c6ed5f4f5c953f2463e9862012de457cba7d7726ada4f5a6213b54c93ca1730346bdf972fcfe6ad917d7b8fb043bd5b81c6d46e1d65c870c0333fa2fb95ce9dcb2fdba09ae8474872d49a3bfba189e3a876e4728768d5ad0f676d89f9848e632b58933c6536f74aa73f43626fab411adac046722ad3aa239cedc62bb69cac13f081a6fe2049f5484f72a61aa894f886dd9e9e4fe0c1f13167e6f2a9e8dbcc46f9fe9fa11ae7669b294dcf56022f98c0cc1b784669e680734fe901402425290a37cd2448248ff1b20562ecde3bdaff3fbfdbb7497f07c38b750bdb229b3740714d5dff10a2cfef80c751e215ec0194164074b1727ad2d032904fa12a7a3684b158d504a6025c49a407dbf1c0d4139ba62670f472175f7332c925fe797e86fc8f9192f518a22d327ab8a76f09fc8bea3f3652ea0b26ab673c6fa4bd6e27844f2b60eecc067abd00bd4136cf35bc607b3557a45272b7e02fc15fddacb6ea4b8b9eb85b999ddf39a640dd778debf51694a9df309f329c4ff796d2500aa5e09401e3347c9fd7d4ce8cde19b01dea9702b2884350e7601fd7f582c568ca782b36edb89fb12656c3ffec7297c11b6a2b2a02a1b393d30717c830424fcce22458cf562070914e8f91810ce289bf21fcdc2918a15041db7231b4aaf1015a9d4cc7a9260ca4a30dc11a3a3972a21857cee88e68d15f6ae0726bd6fc2dc6efc4071c14fc836a0fc5940faabdc2602fdb29fc3283b6414249725a4c72a6885d9fe0f9d22e5535e4206a7269fb74a2de26bf27ff709514366c726ee4c0aa5b9c4e8e82f31f67b17cbcf8432bb8b5f32ffed841bd31ac7e73c80e80235cf1d625d95821e52ded7e0bb3bd633365d71098144880018a5117a17f5d8efebd182a42b34e992030aeb5f3d2261c25a93a0c2f17fb3b2ee2fc082cf70bd15e186864730fb131f78e8f4f15fb551301b917c16a426aec17cabc358fa8724c8b5bdbb1542852ed5f790b798be25a5201a53822e3c87dca835e5480e64572201139b3af8aab0f05300542c5b163c5ad36c3ddd5fce45cb5174f24ffef5547f9eea8819d0f2c8c27ef65915db35b64c2a267371ab040cbc2083c10f2616572a22de971780d3b517acd5f23ecc4329c10a4654df89a41c04ae5a3b896c88447f2fa24e84f31cc24de5763dc0541ed225e9eb7de3462841f8d7bf7f5da5db1723abeb806ff5dd28884fa088370b377dd9abe3ea9ec842706c1ec584ffc3bee2943f7db2361ebb0095fc45d01a1ae1016c5d410d0f684416975d8bcfa59eaee03fd67f5d529d71d38bbaa9a92092c96c7701a81b6b402cd0f0bb37ec25bf13e09d3a806fcc0cc062ebc362d381834a3cd465e8b06b091421ea164512f5f024e72e109ead824f2094da260db5d62aa192588c619ae4c62d4b043a4db2b67573a72b34c5542bbdf979bb98d8946d0ae0d126975cc79c1203944fadf1cdb01d6c072ea0400a06d4f29e147b815d9a79f561f618d2e56d72e676594d059d45e37fb1f068c8bdcb69e304bd593a2458516a84a72becfdaa05c07812f8127d168bbc22685bdb028b31ac11d2718e5745800137c33209abe2b9025142646dd7b54755372c70ca3a9ec64e46393137b111b3cf60be170c0e47f6572d2460dce33a6172272cfde1c136366a91fa0333d801ab79dff30e7eaa3907a4f540678ccea34ff421fe2aa9dd7c436ecdb466bd00a651c43fc7748409e609cf43e898163ca6f6f123503c238ff6d37ca20020d597ae38cb2125266223eba3bb3d3d9fd2383f194df7258dce94116f2560c3dfad655b5f4d556e69c176b7b0d2ef8348e6ba1e419c37219c60641ea78c4dd24d33af89dead3632d8b74f2992d45434080aaf4a043f97222195a3d49aefbb3dbcb40ba512ddcc34a43ed44fd8f45e6bf8eab12407cdb48d909025b9c677072909b430a569267a2568f8dbfe5035e26221ae3d69dc21b6ec6074d21e6ad1cfb76a229184fd17d1f5e4e0de53e856694a3beea9da66f757215a31fdccfb2803b2b3b13980a02eb450fc547947d6c177943574143a839e842718b096a0adb3de386c5f41e338473908006f946f266f5ed8f2e1cc12c400572b6ffc16bb7f065cb40abfc47a940fc67540b2171d5d9819cbef8ca4ab1b63572f0851e3f3cce16e32b98f89b8d799bbcac3c912097fee73906f2c1453749f0721429b516128526566e273519b1e2267faa6555e64b0cd7f80c9e9db4e150175e2dee03384b18850d10c02128df7b8a79b38318780ba4b698ee67ba77cc2e0a729c011bcdf814724d36d5d699a6577ffedc6d4eeff5bd71c49a9e2f8f3ac875338c460d9f363974e2e1de2b4cb69662aede0f62efd4c393a6bea1b88087359a7220c5e833f646df0999378505d17e6dc93d6ba7229409fbdee79279c0e86eff7218265ae37d676ae260a167e363ffbdd43ce0e63b1fcaa065f726c4efe4ab730f9fcb48b12ff1cf3d265ed9811b3a8558e8eb59b8524c5c7cfca7ee25c344054cdebc2411d279ffb34366582fa47552dd3627b9e7016f3b01a1f9016f6e115772ecceaa7471f83dd769fa7f8e47aab2bbd817ce3801cc07a7d4e312cc01ac2a720cc1e1582447b5cf1c20c2f589daae0b7b37b360f5de61a7b4209653786022696c8da82a56a8fc56a2c2dced2221d7dfdfc00f2c93e806ccf8c5412f640a557213dc342b8af5e09c7fd1e404619d7549d346ea373f9b05c78b7b9a4c027b754c235fbb7309944b4b3f335a8954f6fc95a2f051110a113607a688966e2d657958fedd0769a3500187bd1604683d1d79a3d8a46d18f2486a08eb25ff61087a247272c845f41eecbcfd8598bc11387640aa1af109c9d1955edc213fbc84ec193a2c4de3befb71b783849ad5b53a39caa3f11010ef167617d4606571eef72e72496aa59368fae852dc02208020eea330da3e7cff1374dcd6c54bea93f7b6c2e90272d1d8e2be6fb061560169da73594a654d91bd02da9da32fd88d115331f8d5ab728fa20a28a4c700cc847f1dd2f58852f8b09aad55dab9818e0602efe6e84f097274ecc688da54d34f65533a5bfa6c8de5f2d969bd6045ad37f9184ac6c9b0f61b096bda27c7121dd6794fea625a95d9de9c3a7f6f0725d43610928f8caaf89428c7489e174b389dea557e53ac211c717aee71458d19e43dce185ecd32f3ed4272123b34b57bc4b3e520641f718dc2bad20fdf1aae690680f51fb824de83936e7213ca0448eefe550af87f44639adf9eb81a3e67055e6bf5e0031a2e7b4f4e8672561768dba86b851f7df511629819b0968ea98a3cb9fc0c5e06ed1b6a74483b72e91bbca0a0d8c8b969473a200c302d2fc61ef625d42a70900e79d8c2b35ba150ead391d48ecbe104c48d5b2b7d6e3af9d77c160c6a27ae65f4b01289de7dc972f61fe102ae9c00edaa5650ad095c2f616d694ff759781216da36933abbe60472726955b6719ddef150552b3c530877f13cdb38750efb735945e6e8696b57a96a948c70b08ebdf9a51512809e9b02b7663d04019d4553a66071e0de278f004b72eaa5f66eb9426bcc91168805a3632a268f226a5456728ed1ce31d062da3715726cc51c9f296a3810bd1b6ae22d03f744a25b940b0055a4019253c31d7f4e2b25bc82dbdecf73b2557f66d2082e7abf54381dece74684c62377c0b74c692c8c59df74b8b3d635347b692267ca641a4fc93feed89520b09310ba0b15108b4d8672bb373b4741ec63517fbf9d27303c62e36689834bc804d0b4901edf9449634342fa4256ccfa74a69038cba325113382f74296381512aacb6e6318ad0adb75797261cbea530075453d4a4b99e9833d29287d1918ac52d56af4ca3948b44d04285f2f4792873ad577d5caa4004dec71c7cef8ad58f59d782a01c408009ad50cb372e9ae2f469027229fbcf4ebabb329b44453d337882d5772e1e54189fd1360f0726bf410256007a603b84211acecacd7b060387e12404a01c3e3c8afa06491447243df73a65d4de113299d2a4533b73ea426b1e03d8c1de9b9491c097754cf87147b540e99dfd3c41b38e4f97ba067a399c507318d682398b42334ff88434ade72beb2f5239ae7ca8df3e440bf8cbc64ffad4ca53583f659ca28da32196bc38972dd199a629ab9772bbd049f53f252add6589e140e4f362e70ea3e811f4ecbc5383cc5701846fed3f90b29758df6a71c55551e6d284768c682f0f29ace3d45261291fee6036a724b5df7bba07ff326f626e1e1fee27f9021ac64b88b47de327347213a42a1fec294cece4ec31aa63bfb85b8ab67288779b97b320254baaee676721e50412b88883deadcdb2c490e4c98a921a09fd6155a72f0f2a4ca27b4693d72c34ad43bfc3df8d08f714e5f1f5ca0f67da20a4222bb474e2af1a390eaf4743844baa950fac22d5b51628259d88a4c5f847ef53b82b15ab4deecc5528550fc72f3c91bd85e2c15b8c658b57957a5392ffaa4384d2ccbf3526a58dc752040083c05679831e45fb258c28f0ff471428b167dc428d36d652ce54b5a8ccc64c9f46e425da4974621ba8a56f30aa09b75212e1a33fcf4cb93c3d3f8dc46b16e54893f77234527bd69fe323c349598539704f1ac75aaff7cd2bc717f89fecb76d61772119f1a8e52f810c8c458d3147a7bf3e116958453eff9ca38c763c85899c9b66fd205cd02020ebe1451be9d5fee35fa6319638697c467860050a1ad53bb56e5723c828fabc049fff81f5917a3f8defd82b0a4632a31c867345a4d0ba2a893733637be110310f37acb0074c4a5c760eb17a276b8ea1f8321d1579baa5a0eac58720894beccb3139ae345262b435d6d43486142aa7114c62e393c993b89a4f86a2ac3281fc86acaafee6a985c53af9294b6f4dcf1f4fc6e248fe5b217d4ed6a4872c99aa4b67ff7c03cf3a1eabf5cd3308fe5d36a62ea422cee6ffb57700b13a2722a7f8a1499cbc10c75c6e4e45219c50c1b90caae128e403f9df3aa4d9f688a726a387174d2b1def1fec6f6b9b7f2099ec4993a35ad52521dd9c98c55d2a6fc72904753fe6acf8b7d6ee0fb37542a3a4c81d904a25dfab6b4fefa0edd73d4a072211dc0b021913f41fc61b303685b71197c4e9eff50341476148ee3c097c13472ea1a1294f05fd6858328092176357b691c0e722d3b6ea223854a26364aa7543949af4b48706f16f26f9ad2c66c3f6ea8ecf3f6c65a05f69aef8e79d4437f7072f5d9a0381fd081b13af49adf8c76464fca8d71ece4d69005f6899e07b8c6e401f19e6853658e9de6984911f0e16d60415adac24e07aa120e18949b4d6cae07721119d3ca3b3f1cf24e7a8fa24720c9d19aed28aff22c39536fa813c16739b767eefcf3ff34f9ab46a81c40cdafe5e4bad214b9b04037c43e8e6e1a548c216672b7e7b1461f96c2111446a3ca59f5ecf4fa60b51fd7d796a292316e63e33b6b7234b825c18817e65c4834f833c55293ec2d2a9420dd0bf3cbba162e2e39ae687243582f256944f3b0fc456f14230e7be80fbc3a69dce7f95fa57084a6e4579772fc43cd6e284e3da5fa5f12555a33d238e7f4b923a860b0ea3870217def07360aeabfeaa7d6dddc858d92ead428566d0ad7e747a18bac126446e6fc9ed02292725ab1df71acf3b88d072c27081ea0444ebe5f867be815841d41eb93a55c9eaa72d94cda587173b148c0daeead93ad9c7f4a12eaab4d92ef3ba5c93609dd65bb728711eaef096a687f1e7e294b1e9b74a2ec1637da4c6f73fd14f8cfdceae23d7233c13ff44438fa1e0a1ff9358eb9ef85a4d8a68664293ad9c89d55e87987f74d4f0c64db03da9143809c78be7f4192292755f598ed7ea7fbe21331bd2e352a72aeab7d6551bdb192d6e6f05943ff574e42cddcba88b3c99ff1d1b4ad57f63b722b93ce59efd2841126aa8deb601af5a09f081de283f939d95bb3a15d2fcea07207aa8422fa21fc8a4acb5865b761aa3d264495a06fef2325f731c41fd36fe17248ac0665f975f9c8940d31e58b77e397f0485efb9fddd3d271869a176e74386933eb54aedff46bff453d103a1e707c429c2b8d7335f0635a825104644c35a572dc1fdd163bc3f8c34ba538758efd2a6666351f22ef0a4a6030a4eb617b13e472507fbb679d1d5361630e2ee60450c0425f10d87df424b62c7c6f5baa61011467ad510c5abe38106cb2fc270c54363b8208793280d45ab45e94db378a511ceb72c9f3607ede1fdcba50fe2788de6a3b62633c379c7445ad711c6b14f4c17d7e72ad41edbd3c3e77b6b5f9c16de3bbab1890201fa9c36409e806dcb27f5ce0794734e281139f78fa6bbfd39ebc14961fd2e15e91d3e2749e8f914be70e08eb68514172cf03d6267142852cdc12e341236e9d66961b2acb8722b7191115815b5b72b5d536d19ef03e6e64ef1b6330a58a966c485e7fe7f81ba7205f2ee86b1979727f2df8bec76851bcbcaf63a2ec08c5fe3286ef6614a653299fe72bbdd9900233ec2e1844448fb05a34fde37d929204b55f1012e4fc1545e7f34587b06de36c49b328d4b6b49a3652be139c8d5c0bd88bbde94a4974377afb8cf6b84c020b41720385684ed6865ad2dc097840c62d427676b38423a85d987503177793145c8a44fdb2306aff8477738b2c723fc6b998956bcea53808559fafd06443444a34ef72178cb633c6bf7df6f54eaba7ce839a4f24bf4ce73d8634bf179311947e9b1e72af5f55ae9dae1742b2981dc19641338808820f3dc821636d66fc14bb38a02420da954426953143f7a12dd40def56b2cbf07bf818dcd0daac49e731eb953f6372efe1470e8f9fa9856ea96b92cad4dafcf47b797053ef97a7588ea6c90cf6ea45cd95fad479c7911cd492a3ad4d849c0e8bf56c96a65b33b012dcc58906c02372856efbd576b7e9bdccf3d3a087d8853383b369d50019336ff4ed97f352d4907264d47d3ca40d63543c3cf69a3119ff135ad28dd61159f10af326d150725efe72f39739dc6279dbdd268192c434cde0031876da0d2d657a3221f7da94349fb4723860a7576be16c6a7273795d94c2d418b653a3b4866defb49a27f4ec2ebac47256fc1e15724590a956d567c64d00ec87dd14d05ac83a2a27b422c015cec2436ce775ad411abf36a459826177ca7308ce9769d2a4ea48be9f69fe3d3d8dd6ae65e2d40aad4ccba18eeec4c8ecbbdd05f0ae29b6619d232ba7efd2199b0fd496726fde231002491e96709cb92ceab37c10424bb082aa6671052a6b2e1a0221f772ab865ff5f93709b7f0d67d367a821d7555335434df91b9b0209cd1d66e8e2372c99554faa003d7d96a2165aeebad580e7b5194715ff5686fa68fac271f050a72386a17a0c8cefcda3029003aa21381d42e61a297eb3d502c8799c116ba0c49216385afa685762d6a0ffe197127fe6e7892aae278b71f4464cb2bdf9c8780df725e862162749618b402f2c9d259ae11d2a87aafd17d27aedc2208a00a00694c72d3b604d54a9cd2cdeb80f77403034ec3357cfb3de49ef08eb372a2c82e1c577248f3a7892df890007029b2f712b3ad52d2e63e9095ab8af4bd22192fe049806f6919d865797e46c4eab3507917eba1ac05efc326f5cedb095105a5568b683f721dab6e6ddca3c16f52077c1c998fb2c9e8c78c063fe1bcba88b418aded1b1c6830f17d40c76184f723bdb6f03e25611cc2f5f89a980fa09a596e0f5e9c9aee54efc098ecb00109dc3343dc125126fefd19796ccd2c4a1ea0ef8dbff959eeef724c1e8bcde0ada37c1d443040acaec1cb906bf3d70601f8be1bcbbb86f80fb5720702e877228feaeaee8b2594fcc8a4ec440a40dc2e8bb17c86fe9f0ea0b77672a4f66d5f7cecb9ce92beb240559104fb7582fc6ceb59cf4c386a8dc27c93c108429d4991153db6901f7a3de6c8b562a2d188f5bc2e654b182c72320ed3af2955a0d860fc57f14d3520a7ed0bb89c0973229e3a85ad5e00c978adab19adb820421b5b15e68df14b4201444cac4052cf9e1150865e82bdc2434af826ffccf2de3f3e73fcc49a0c793bd93d21e1ee3180ad366b2cbe6bd82d5615edcccc11f6b15264dbd0ba6eb3da8d3bfa580ce4c20f68ad4cfc6c2ffc8429926f3903f8ee442f43a5c37a273ff12d10d8fc36eecb20152a5ed923dcd9fb826ef82e9cd9b21f4db912dff41630d38ba914b208ed134a7ee05b5367313a74fa9c448c3d3b32130b1f708b4b7efc442836e5f5f3eb14819c99bed9215d4538701316eb4dfa449a72a7978daaeff0aa8e9acae4f0f61288e7a6bda7a4d5e755e7b85da7dfef42bd11b532a52fd2cf5133ee66794b982ee771de49de2031f16bd5064a973fe28bb872fa4fb2e208044c23c6e7147423547f4132145f772f7cff83079fa3d3f35e1872ebaccdfd490bd1dcdf7267e09a6c17af79afe5f040d4b46d03d33f7197b24172642009c22cb6c05da7f6543706f1049f0b7bd5d39d841a85317ae01bab3bf27213e35996a034d977665eda577f3a1df9d17fa2485238acc52ab22fe3548635723b4268013fd83f423b5b89876cbb215441daaf59b40a4f66d7b12f7db28fbe5f2a90842c143157949c5ca953c9978c4ce91cefb33d0fb5028a2b3381cdf4c17231ff0c504c6c0f8ade5ddf743606780834d72273508d8b0c12fdcff66f560672c9b6ef2f228f88b5980af55e0beb41287d5b11e27e291965b0daef88b4ecf072df5b10056e1f93e979f3b646d51310399e68a1574df4a50bb5a674e4be87bd72fa8e90656e3bc14517556f2abcf2d9b012ccff249059fe3ef45f5b640e5d3372835c8147bbbf4f1fb2b179ddaee931bf27335ab1d520efd73dcc168749024f72620adcb9c93ac132991690a2bebc7dcc11d315b235aa8bad7b925cd9d06b0672633d1a5f907b77d00853c66fbc1bcbfd4e1040a27adaa266ef2f3bbbb35c3c72557474b63a49935b77ebdef2f2722d9c7f3a02e0da7839e1b85f6996b6e19e728a226ebba4f7d47a9f34b217245fc574e26558be9c9868938f32ae0e112a5472b84765db3dabb95e9c9995c0c4939f4ac38e53e5c1bb7dbcbc23c7421be3540a2a3d97fba08e30bf6b18f01df9a4c33dcc7720e6a88a9ef816c81934b537431259af6242de996775c5922154e3711cdba1de0e9ee5ddfb4674cfecb4d6aa4a4865e75a12df9b1f6cff033d16084150616e56b8366e0a063e82cd232a7fe9da52839add6f4975a73243cdb45213b6e661ae11beb04f2862bdf22f0ffe623ef072f805ce53e8ee979f042481be64d45b2155e9c513060fa4d130d5854c99e829721d8c2e88ffdf795ed62222b39f8fe65fcf11eef6373f778826e7a99889bc9c72a7df98ff5229d92001d240d3ad356cf23bd6c4eb56fbb57178f92543b0144772f5cdcd66aecb7c88db4a53b162665aba89db81f56666b40eaf437b9417490072fc3161a540878585ed930fd69ad981c0854483f7cde17a0deeb85c4797f89572477024a4fee99910a0d8a875a92c7e479360e54dcb68752bbed9b4adf2bacc2204c3f4643b96f90ed32fb84dd82663437e3888da1530a34fff81c4871585850f7c7bac00bee0e58703362594b542a383a9279daa32515a38408d2a9735c50b4cc4ef6872427dbf35a16caae5b14336e56c054753266bef1ddf00bfc3e95f640761a79cafa8b082612a4e8b64f4a1e7805d8c09df110b1b8c28046fecb617a672e028ef34bd21e0a069dc4d0ed9d1bd7e51d7f9c731a9cfce5d11d4016a02d21bd8533135935641c25be59ac18bf119cdb611cedaefd35eff2643c39356cfbd5f934b6923c8cdd25b9967e6f7b79f46121e9e021c226f41dae622e1aa4d367f725a6c901f89bb6af566797f565a1b74a5e1fbce886c4e927d35e3f98f4f8a99727c463d343dda35a5813b4633f171f1be2dd8ca71297fb764e9da1118c0cfc169ae41d9938028973d7e32258d5e889f605780b7cf9f1b7fb96a68ed7942c6b872dc0360d94e2f7f2b0d722fa32c5ada3f3dac30f49f20b83f5ba4a8b30273c66d7aa81aa64368c1e0f501a60ae1d5e4c7854354cba14e20c85f1e93b5d00eba6116f817278e258f0bfaa51b9a5f198fad9fac364e1bfb5f842516bd1aad80c66e01489413956b780e31340eafad0779068fb73bb248031ff2886547a02ac61e72399a6a54383c85b35430dbbce335140d87c5e7bc29695c1191606022106673724ec7c6a882ec135c11da4058867d5e1bb6b13b032aa5baa8a86ce393018b33180ab77be7736faeee31d444d5c47a543dca4ebb6ecb0174a70eeeb3a6f09895728a0d90b6c057adaf38023bac6d04622d4000d1d465ea69bb34f0565df56d25725cbd3e27b7bff138cc80a7b0918a4a90dd6d9e59cc7c07748e8aebc225ca331ee475f5122058df25410950be68307d685ae74274544a8d37924c011041f8dd725cc37d666d591027f0fba3feb26e2c8fd6273204e24699dbb5ac7187fe102258b61598f721d043ef4132b24083ebd226a040fbc51f9880df1f00bc324e5beb5a861c9e6c2e97cc1e636e6ba08171a957f123fadbb224ab031ea8c155ffa1747282c5904be764d3944550666ea629e410111d65db48353562b263d157f48eb9723b1913acc7db923db09705e59c15a3d71378a4b3649398fe7b4579acf21ed52ad1d1212f0c7c681f58b9396e1453023f0fba70f0d981f240fff445fa8cf591722dd23ca99455fbc14d091ca93605c357e2b041f067644c1289de3122cc6d8a72785dc950ae3e257ecfa3d10291aaa91a8ade95389b4da216046ff58f7b62ed1d60748c7dce55533f38b9fb7a033d6accde16c66624f1c40d4b4f6c47633b6e6490ea018fbb5041ba64c281db0fbb9a5964ca4c1cdf685e09e6a59cc04aa4da4cee601227462936990900e4ebd96bbdfe5f129053b7e8794adc031ae5eab151387766e09f2be92e065cf62ce099754f6fe32f31edd472799c5a4ba4adaf1d0772bb16e7d8a8dda7ece99904a761c18f092cb7ac3a568578657094118d9a384e06ff153be38c32e40cdb4d4052ccd154f0a210f16bf52f1584beb84b5d4f75b072c906349c99043d9ee54b2e31fecb27b83476b889563214f4c469f7554a9309724364034778eec3e90009e5464c51819bceb14b19401c851c9ad3efc82b136e248a693e08d6cc4acd91213de087abbca991d711f81ccbe9b465f6210b9442ed7238e245dae3cf5cda73a3746491a9534d9156f781cbe02bf0febe132770ad2172b193a145c857d4112efb1c21abdf9a3faca9e37c39eea70a529ad7ca83219f72a10341b75482bf193f60f2f278a266410276014c4fcc3b1c658cff4ff1d065257d54b14f5a4fa768516b6e434efe01c2b864e657b35ade5bb22441933f382172d3d0c213a6bb00c613b74cea37dde0e019fa9b4b4213b1fbe6c86eb1e998c7728875fdd4abbe1b0c5a9691af6eb2a3b1c576863e0f6325235d3aedd87ec8fe2c7d3167d4f918807a8d5d8405cefe6a1fb15dc6854b7197b4ec1ae7389095ae72758109cf4625bf10b71b68e0844cbc7df05d4a2f86d35cb7fbb2788e113dd37222d40f2b1a0e30324d965beac131272b19ba907d99c98f670f35085ec75e2872ee158735520be20df9a7911b73c1b3dc817790530f239a87e1ec56c5902900726bed0b710631ec08ffe787ac298b7dbedb8b9ba1eb80f09029f56aa6e53cd44786498c64168a581e7c1f3be8cdb02768e2bb47a8e4c94161151727d234d2b76397a3539d526e83748c379f75d52ff2eca6e5c6cedfced7011a81fcbef12a415a3e95e4f84c029b16d40d0ebba09dceafe0a38d678de179e6032d76494acc94729fc060e4c92b3d357cbf0f578d450925bc5675c1366f38c7bba7edf77aa5b6725688f2d51fc84d5bf21561045c3dce9807cae6024dd245186f5a8cc56916236838f5ce54e6214e155082615eb6608d7437fb823b8e6028c13bad11501e43b772ede072e2719e3871df75fcbab233ce223b95a01ed1703dc6fc08ac71a0fc481a94e9add56e4c91aced5238b13b4964bf771583a650495090503aefb0a282c87212b6cf94b5d25d72a5a4d7c04f3ba25bcc15014929c814ddaa6f96800683d90adfb193eb72dc8b652709f0b205a51a11a862a91e57e56324ebee19f117361b58636e93e0a7ca7df40361109a0c67775deb74ae40e84cf7b0be39bcf73f7e3f729d9bd8b9299c412e2100c5881d0cb882c7990bdc6dfe73868e78e19ff7873d72a75bab413b8d521b781ad33862b94ac469ba219df89c904a543cb0b327d956727eea6b8944b467fe0b9c1663cfb21708f6c034dc50806b4548ac679449dd2572a182b6ad4614811bbad681854cb813d4bba7214d286148cbbbead615fbba967206e170996c992f1a4cf58bc2933a3596971bdf297621bffa8a7ceaa0e7661072d80b95b40319ea7d76322d16967f1adb696e5b2b2f553bf67efa004ce4b02a69e8c140a7e1894a02a4157a8646c3bbd4a3f67c8347b549456ac6bacb5e1ad672a72e6bbf1dced2e385ee30e724f48e3fff625464cebd9aff2fea0d8e85d6d372ada03cdff139b38ade7e7db6122e24fddc945f3da3bde9ed72aab207a070fb0658360668d3d3607dcbc53daa98cb7a81836bf3d0fa82a99940f36ca4169350378690455450f1914b42f62e7a28aa095e008d33386f54b8367592c7dca875387205cbe9191ef3568c1a02827c1d5e8d418063bb432b7f41d37db33fa998537527e1c72b74e2afdeb800acddcd790827184fa61377205b3160ab4d23abf36c7872f30ea3fc0c3365a10126370a4f72e346b674293023cb4298f52b70902aa3e47210da5477a0f2ec9eae5b9db99e1e984bed32d65199c4fdd6ba26e4e474d82b72a9ab4f3aec90d87f544c80acac491e6523b0d0c2a817954748711495a9cab909fb6c690e0a1bbb1e2d4ccca0913b7cde9d1965bfc5ce2eb842ffbb21f24c495c6711b28ba75cba2ec427726ae160cb2c94bbd4daf55fdb92a6e0ea01c8ade572eff3f1d187624e5c0800a6d759005e70b4cb1ca9f5c2e0a4bc47a8878212640a9874e50ceae70834780a83ddf84f3f5f770f6de2b6a0aff2053b4a2cb594d572ad91bd0ebbce4167e0021b9556210e67fcce4e9390a9dbaa65ac4fa4d9083672199738811768f3ab151baad5ed92da7e57e4b4cdecd5ac2a481cd63de71bcf7243238969b586f2e17851de00304d99e86f1ac3c694a9ab2dcca07b174a041a726e721e2b285abd77ec0236ee73fbc43f5ff273622dc0a4d4cb977d6758c1e9546313537f9b744086eec7522dd9e9d3f3c371f10e95b74d1acf670b78d1abc7720e26f83bf2d903912302680ad469cd3b8b5ae1801dc0e9f58b6709cd02f6047282b49461d1afad5db6dbae6da36ce5ddde6260c56043feb1fdb3d379d4e71a523564ad62680cc737b406df0bc116679cb3846154fd26179b2f2d016b44563f5b1dde5b132a44bbb4a5b8f1f130e6436301dbf7d272c3d137c0bef9686476d1721e1f2b52f88dfbcb68bb13ba252ece31dc38de592dacb66caf215e9c08139e0be8cbef53620f642656d6a8da4cef2d1406b03c183996b3760ee375a82f62c90bc8f7984d6cec9e6e5034eceb0eb3ffcd7cc4c839340c1c56b942fb082207c272079ae22444db6397f2f9b5ee352cf382350a73cc1a74a5051fdc1a7efa64ac72b6d1ab0bf33dba5ef1a8506fbb5e3de37c630a6ee59b79efabda4de557cd524842e39d210689889652ace74e7aab92ced8dd22228ddf34c311343d6a365a8b321f2513fad61207ce2effa2ed74ff208ec6b62b5294fef215377ebb1fe0453072fb760340172234c9aa5fcef46e5b428a74ca9e4b8be6aa2ce6d1cf56c029541bcfec7add09601fab4f5052ccf35aa1485d1fbf863555ddddaaf24f22ab55be075f12008b458120ff4f724abcebd3028560d97426bc23aad43f50f3b7d6045d68477b6a8cf3f1229ab311aacfcb92c36a16aec185be3bb1cccf6a17f0178380723c49d9b22db52de13dedf70675fefec1b0640b6e596abac6e8869dc1ddd69e72286c340d3c3721ab2706e41a30cdaa129aa18f61870d78157240d97f969d3b7269567bdc82f96d5f421389eefd7ec5e12bf2fbe7c8fa884ce825e4e518e59316f27069fc2dc33d4093b44e37e587bfbbf8cac8343c56dbd5793d1a1590cbf372a9734a1a59c0ff2d2088b49988fa58e17b8a62132a1d1884ecadc679169044139b45a224b7d96cae8965757be9666138300ec57dca3da45ba0ae31b4a1dc0f72c296932d1cdb2cef4c324fd083b63b751dcb391534333d5e09950655ac561472e6db43d5ec0d67bdd8ddc6017242d5d21beebca8aa6f7e84113a7eaa3358ca72bcd3d667fd72eb36b6d1177203ae159666c486addaf03e4b3111a025ce816c725c58cc5f12e672665190516ba8770f9b5f093fc198199ee3ff07784bf04e8772b973326567c9f0970c525be4929dade58f250d2dd243382384283809472efa0f9c0ea12e77df67ad7dd6307ac18722cf64525489f6bc33393fb1ee351b994d722368155a5c5a28045dc018c926a929348029549eb981da287fe46b372885e272edc582fe5890e6a532c42e8fd76bb94e05c3ca78f719d1335998764b491b642833a64d2842031bc376bc4204a091f8ba8ec03bdec4d7e162eb6d0bfe6330d0724a94928c27b3feb46e59cb1bf69b0893f96d0d268b57133e4b7e0f5a118810720b0f26180165b1ed55f75f3b7749af420205ac11dcd23860f5b5eb47f7bfdc72558b592d5100335a3795af707160e2085cb519361874a40cd8508e10963f7672fef7f681dc982014f35dc408aab17696a8604496b07cc300950e712517f0fc7265929fd64a0cd66e819bf1a03e986e8f901aab8cce5a4aa328bb9a77ec777472006e850bd877c782afa12e4c20963006a41669c3f53016226de50259a4447921a79c4e7cb801936cad7d0715c5b7cb73dc204220a920e69807cf4bae26a65e703f15ca32d0d1921671e6e32ae6e15ed7b5b7b9c14be24f6b0d4eb441542aa772500851b2d81bea27c0d56d03858517c9892569d654a2b651bfdda0883b451f72d16230b5c3cb46488ece29f3c6a3d9db16e601c4f9f68cc7a79941d1cbd60572de66f1a0056f8462a5389c718ea410a924592742b05acb51b057ed6e182b5f723b216ab9dc44426d28c9950d6458736186e90588424af0f6eb4ef0353b5468720290911b81d4663fb566a95e66e93ff485ab18ecc7f0b25b001f30e0e56e9201a7e4f27a1fe7a068301c5cc852d0dd0ec2abfdf737df3e62f75a8ed337e6d1726ec594f7c85f0380513a943a5c06358be3a34b35d8df3a13e51bca8690bf31417cccc14f4eed67b28a4d82d58ea7b6201bf9925648eedb87db62d8ed65ab7e4e38a8b79be577c304e77042526f74dd594e9c7534f9bfad8ba82cc6417002ea4e8dbf0fe46928a3f1118a628619520006447ac064b7853d2896541ea65ad84a72429d00bfaa847028160a2f7abb05e8f2fa8a3a51e45403a77d7b528bf451526bb5c6aec7a4203ab0c4868fc497bd22d038b162d21e10a3647314a85a772e04654f21a245c82ce0b9dde5470196226f26ddaa6c01a2996ef5d4be02cad2442472f5b9cab48f5a8c70012c6b3f438388d54b41e110cba6fc385ea837b676455a71c6eb5004657887a472e702546b9ef5859b3d9cefaa7edd69e03aa6d53699383a4c87bbd1cf8e7ae755e401c83a7a9897e894e9058f3295890e17e7ab97b8030588386eaa076283540b5a0e6ffb18d04cdd276f002d20e46067606a7fd63ee562eb1153bd83dd15f0f8b1b12beaa2adb1750c4a3083ab73d7b4d7d2a1be6309725be50fe180c00d448687238e6572bbedcc9d6d6df671c44c34585742c6f6f1659f0e0953150dbf115336c4e0b2adc1a433a224cc4b45f2417865183796ece57287c0447c120e7faa4d22981dab3e7a497ca0a230e1c08bb3bfe69ad0155ba172a201df5ab0515d89d2022926a1d5ad92b902d865103ae5f396a71ec68cea8072763815b07faee7ee334d9a21961fc4f89d86a19f3dd520cf90bd05f08f979355f6538b1745e38915561b080230a4d681a6484b9c630148315ac0c63189bfcc72cea98d0c3486d890f13e6099a1244214d5d13c14eaefe13246a1d0e6333ee672de363fd4e618b1dd4dd31d24133b0b6bd3f3938b8344835182ee643cf18d7c43c641a3242599587a567ac4e0b940cff0d2c70131877116d6a891ca71493ea672757d5a40fb76ebc0d93b78c6b8e37f81d6e69dcc971895ecd719c7608471cd3d16861a0e2c2d132b506572a133da73a2355ec48ba9c60df93c9552aeb03861722090cd8711664dcbc44188efee096e1949af6589e20053ef8e305aacaa98c272aef5e3f9422535534f4573239c0d3f5b78544b405033b2a675fee5fc2092f87265ee0c6b786d59091414478f2035d49654d1d710a249999c2bde32b7110264726e7003a987835e0780250ce3bc28d42e4268611121b28a88fae1f7930617d372181bcfe5ae7cff20e51b993305927a3958b603cea76cad6b435c947ad518ab72f45a7f3834501cac71c563dacc21580c6ca4e3cc41682a789ae329795c3ecd1df0361a0ab0d8d233b8f2c981c9bd46462575fae52458ee9e33a9cbc3e7b9f14d883c5bacbc1073fc29805222e5775ede6d63f8ce2602a2f9d6c103d576fa6e72991a361e3d7cacea8e3d5466b549c2d833050dad2d6656bd9970935f55024d72b8b553c69a2ced48ada3ec8513841bb43567a6e1c68c7d0eefdcb933e1797872fe327fd7e915a76b0209c97a96e846a360d094654e7683f792b1dd0b2e9a67726774f77e20b8c88f0749de50801c6966ee30f0f4999a9bfa0ec34cf0d9492418b3bb54ca9eff7ab80bc5b2996e1d92d387d0d232a722364b2148c41b528bac721d6eb62860ceb002a38803d2e6037498d93b29e954e3a9e5458bb705740f4f720cf0bb1bef357178dead7b8cb79941169d5a324fca37b248418408509b4875724c7e02975208f98aafe93f8252c0e7ec0c53d651918ab956dbd742cedbc93872cabc02be9e947cecf0ea260901b82e590900534bb69bd36e31d226c6ab1b881ed12ac0c02428898ec4794891881f6e6d54f58fb506177c05e4bfa9a861c5ad72c769782a1560b048700ddc774eba8c21c90496ff85284942e31e604ad79ecb0cdca3c3deda9ac0340fe129d7c8f186964bdf23494e8a8337bcf821cb94e16c1e57ccb34e8fd08dd3f0ee03a1bfe397753c029907598c4eaca515ba12546cb972079bbcabdc6e9c1cb910fa418c7e184e2e495772282e5c0cd9e3fff5490b737256bc197342015f4c4786aca6e00cde1e6fbd423720a28fa73d0a92b204280772783dbe5b5b79ce8485dd88dcc39e3243d78f3cf22f3461bb6d1bb85e3e17c22f73b1eaa4917b882b1aa40249dfc59f358a3280ddbbd8a4728ac0db258f551a72f6d52e7364525704948f821616add2454766823c1250abf312a5f2f8a9c846725312f09ca84a33faeb458eb74883d0ba08ac56ac1b0d8d8b33ffc4db457858720a1b2a532cae1c28197981f499ca802c37ab23bcbddca1df34cf7154b04be272c4f7e658c38360ccec242f4789ed5132be72f6b3640a7b8a126fcd0f6eed8d659a473a029077a055e7caa42fb92250ada36468285e3d01965dba853c43fb7f72fd4544221ce6123385c0925a0d992fab5e3b89d6771c5d57ca76b4b849f25f7207a385fa93289d5d925062db5578b5c8110754b3a20fbf1f4f20d2ce5843b0724d21a8bd2a6aaab38a869d652b641f0d65208824a072ffb6b8bdcd01aaf76e72a84dc99e1d70b5e39d3b3d7b48a6551d67522344f95b7066dc6afd5a5cb9ef4a583084ed0170a2b5d7819028bb4e3df1ee714822fd2349aaf2d62796612b8d728890b88c06dca110beb715abc1499488f6aa2b284cec700daad0dc60140a0a72afee23ea2f81abbf52dcb6574ff070456f02f82cea57583570aa69b8076bc87224da9badfbbb4f91fe57a8303e17da0139ab6a695681b5d0cfa0b10465ae7f19e085681a3ad0e3bc52af5969d271bf0e1f88c0c6abd053cfbb33621c549c6b72df6258090bef29b746fa454b9e3777e4cd35ffb4016a49f1baec6bd05f99cc3a0f5f6b9d8fac43e91383d7e6f7f29968db7ab1b91fe495a20dc7b874ac800f237e7171892169d49bfa61db143b7e4c5bc98be0423b87676eaab94e609bd1677243ad8827dd1e215e15f88484a5f705157de68063020f5d1a9dae77f91e91b472294dd5e4256ec1e2be70dc4e7c059e45887636098339a9ebf1318e2d717d7767ae3f2bb03c6a90e69b4530da728d8765826e3a4bf1c94c5fa6e7444550bb4a3ce04ade9ae78c60088442538f89e31d791966abdd3b59cfd0ca60777451ae041d40a3cc3afe8af87e515f853b00cac5411d19b04326bbd9ec787e46f5cf843b7280c8764e3e64a77a348295cbf4c295c1a339d9ccf653a39a8572901690ec4472f6dd4e08f36942f53c4dc76fc1440c2d9f8515ad4c3bf3c2d63309a5c96e71405a1ec9a5fb809ce343ca1808815c4ac74c6e7a6dacb9e561795913e92f55d872bfc9670470f18920d04495c60526e3691241cb8c1327738c7814f477af1c8135ad4fc38b38f4f2415cad79d82ad05deb06b83cc03641d90003bed9823b10572f7715c422ffbfe362e36ba0809d85b143e7672f58483fdc17ab59e414d796bd3b99f73bb14b1bcf7d6048849ce4f9f13e7a52f1a589fab5782b0fa0ddd46cb519250e60aa50ea2a695cf0c5a07448a246737b01ba33f8bb4fb4de9b78b9c7b05ac26d9c128829f4e48521bcc509ba5ea01929116c2c0c92c36d9a4925e196af06e58bbe33dc9cb1c03cf8a026fe7be51d593390baa98d96aeaec8fc679542db2f506d2933cd396ac21ecb4cc8bc43a1decc14db6340de595a510dc62d83624272c81deaacd07cae3941bcd4344402ec9ca50a725f0a55f199131cb14568eae94da3c9f7e0995143f9afcb11289e3d3607d760707d6208f8474cd0268c0a3b76632fb713f4d1553ae2990cade2da885a3d1c546495c19584224249f8993ee20772149b9852613fb10ad47133d6b668f454ac8de1367c219e77162c85b503a7536eb94d3865f7e0f802a843ea65d50c466cdc8a19552fb9cb13c5257bb68a0e6b56afeb372708c4b3ebe7cd0c308acf452bbce073abd0d34518fac54cc25860eb72c100dc78c2f1d668851d1863159b37dca6856d546534a42b48679b302516d872ce1257da8377e8958480e4183e37243848092079eef352c89bb26253bc0fca72dfba8c26d662b6f00f524d24f56c3164a6a5cbf666dffbe07719a462ef867872bd06435488daff16da17e7e8249be60900a1bc0eec847a1a2f1d6400eeb75c5c75a1365502be6d438fb90cd681c4ddbd5e228b13a92bc3e8cf4ee221908318027e84938443b17adcdc58a02b68123baca6c95b0e6fcba0c774687888f1ac5272f1258e2b980c3844e959288db9bf42ca1645f72f84b1f984f375b637f14d8572fcd3ba9b9fd6a4b844d276146ee83a124255f27b4360a2a662de1f34fc5f6536f3b4517b8f89fa01c9602d2aa05ca0c30498f91e6d4a711f88fc9c7969bd1372c8fb0932da9e395ae1a1acb315c75ec38ab32050603ce827c45c581240bd2f686734e473563bcda413358a6342050f5dd937ad8c9f2bde9b7c8498a552a6200f70c289e52bae51856da0fa612027e769cf6d73afd214f2ce12fb49a80fdbd6727d00130286a17ffbbe399af406420c637271693cdac25b0edc8b18ffb4776a724b185933a1dc16e0c9840d44073a83eee58769aeb92d37fd5e36ae3453e6a572f016543bac8049deecb9d9fe80944ba439e0ff96888a402cc659ddaaf77c9d72fecb6e880c9a972b85ec221802b0d5803f621cc28b7f9a33cb18f1db3531a17201e8e310272d95e31d088380f86345943487f37dfb6440f0a0090c3ad2dc3f7219641e8a34e02fca2e91d04136980dfd64709212b533762e9e369fb589f9ae729d806985997deae25133c1850c4861ab8e89c2af0604667643fbe67e3bf1ad37a159b90269f3723886f5d2c81966924b9033d74839dd7a64d0f8904f36ecc372dce2dbfef7ef67828efe6e0698d13d33e1bd0f88f193d1bdb407133e3bc1cd284119dd63fb2ce2afaf902b0e72d686a85a39094d86547b7245cfad3e9038743a64966279530b6b83fffbe16235a0c370fc7447840bb7a0c0a75079737eebfa525b2dd4d0043f3799692e4169ff063b6317eed447ba4dd241096a5b853d5c8272514d841b4ceade2b5e9e00a8db80a2d559e1192fecceafef4a7a54da732dfc728c8ac40a8463ab72df47ef44cd7a4498a0a642832adce152251215b25502960bbed6321a86452099a05eb4c6d05a4c451c0119f0a95f07badb2abba30dcbb172243a1bc9ffe8fb0d7b0d4eec20182fde1d696090321d31121cdb46be020ad30ba70b0f8cdd0bfda9a86e2f249a489ee14e1797ec36914eb62d4ceb947dd7577266179cc2dca292c8cf4759a5df39dae5270d694951a803ba798a951712aaba6affe303e74d86dcffe80079f32fefd45bf6517cefe25ecc5c9140175c6dd05672b61d3e598d2a9263cee88ea6247f0a3fe4006604c897cd0b70951ff419addc72c9b084136b4b867adb5e16a13262ce13c9861651e195fdc56f0e8939e02e2a4123016e078368252e1e225049988b510286132676f9d370a4b17245f94eda44521cc775c860a61be7a6bcc3079a98f29ea1322af0523e372e524d7a053224067214dee5d05eb9eb07bea9886d456e5f139c97f9b4377685c21bbbfa48a1aac672b8e3a7ba24aaf6f76128c1e73eab7366b08f7036969b580b94b4d4285fbc96480afaa0f4eab29c88c25be0203fded65308793225b5b03560e121e8b048e22239031c964f3020616d7bce871ea51787868755d988cc24996fceb274f391568872c745442948bc58fad7203c67e804cc58302b97c55c8c7b44a8b7798d264acc42b75ec67804e5527cefa352d658d22df874c6088cfe6cadacbcf37e021e09a9729bb30bf1a4d20eb30dff6c76d01a08220e9ff1eb1a66bc615b0b102a21a28172d8c66fefbf7f70484883fa8e1862b326ad171af9693e47cea697190cffe80f72f76626a73e51fac6587d2cfdbf91c3560e71a0bd47036fae035b76d0e096c36d24df3b2deb7a234f5d84b9b93017442ee326258eadfa38ffc3ce35b20cd18f6a3a9b3db12fdbac5675c260b81c51d5fe78f81d36ee8a975f14cb71f4f9227e7284dd4255d5013298efef0368b9fe8437eabc03312a3040660fb64e0cc0caa872eb2d3044761f5460b94eddf774d56e7dc26abc4f671b0a0c0ef03f1be433ce72f1148132388c94d295f69f0e0f74cddd151ba1025f5e59eba70e4a77eecd5b67720436d7c95411f6c37d45f7052a0dc009429a50b9f7c792e06407e29b51ac721dd5409233434a6817d913405db3816bb7c61aac9884a692088322348fa2b47258bed1b8d3d60447e8011130e7ec988bcd60829951cb3b3ebc54cde975bfc3721c63af36c4ef5bccd6457a5d7f91580a33bc7f2b23f1d3c1046767cf98e894721201187d0d4e35c0a2ea8d55003a19f3333e10c41ef8e4cb2d9a69cff48f150c209f53ccfa5e34560d7df209482ff607172ce231c4d138c98a6e40170f068960f168b2db1086892e50c1e279e4b87796928652bfabb9981d3c562fffb1c51c72a0af7f135564cca4e15c0b42d33f6726496481fb265277f4538b05bf987742725711c2419ef0b3d7a5f89065d5757b5741c862fb76136d6a08c2146f55f999606a0e6cd2dbcfb351b16f99f069ec3d61bc5f02f2d589b2b57835810d3ada4b3afd4e1deea0b9e30b799f1d0ec47b41f64da587c8b4a0ca1d9a386974ba2f9448d8eb5ef882a0d19bb33ac0b41363c6891ed12384623e8c6068aff50e4daa9e72df21ed9b1d38d33dac37449219de3d0c9148927fcd6a3be0e1442289f2984320dbe6257c04c342bca386d6f911583499132b71c92260f697e6598e4b03443e725d8be95c5090a9e04a094e7d88d62cae3d583c060970d865f365acee1bee96729928897d924393fbca8a03f07c8bffdd0773c5962b517c0f295d072a1336c87207d83be68c8372f6a14e256ba08fc3e9e45aa2554fa0f98a90d551c514301f72c4ee6ff77b4fdf5884552a48baad3e89d2b3255775f0e513f006dff7db886f0d2b7288417e09151bbef73c79204ed2b1364b16dc56ad98bb466a6bf528a1310fbecc9babd41baa8868d5315dd4c1492b3789db7ef71ed0be650d7f75e06ce0728161c5263fcff751538f8a465ef27541936438908d4cce89165574a77870dc723d93f76d9f5261c17a57fe3f27208e76ae780687b4dadbca0f7d8ab0bca8e272559e798e43308844138dc921987c7d4a7e81cfd9b8c38ca887a1910ff1d8212bdcea510e37107eae464fe66179654813d2cc934dc8ba2d4a933c731aff578e7230aba7f468fa76700e9cbf46fc1d1a741aee950b56f431fa0fd9cac848048f722f676d56223165ed2de485c9458cf5989743dd637111ebd8220378caafbddc7151bedc1bcfd902cdba3801efef8c0d0ab22e92cb798e6a1d2180fc11a02ea072dfecb3cb2868af161b08c669d3658bc91108024999058f5e2a147db02a87e672906992cda6d26ee54ff7b80d4d2b8e83db82bab86b765e0be53d936ddb9c2f720b068e01b894986d541d6556a17cd8f03289f7b668dc993e84d79b08ec86af72cf44a43174462ff2cbe42b03047f3c3e2143b7da7f9d143a32591fb5fef5971559cd6c78c81fcfdf8c418e286add004d3f049e24fbbb8218fcc139fa428e677237a062ce79eff9d548405de55d983680c9b6c1b51764ec4c0e4ea60a840a2972c1228279c06e55b63d6116e47c8520f7a9fe541375e979e1a264b2241904074d3384171a24a8106bbcc80c0a68660ef7f72db932729e7cd2a598e0025665ed7254d4287d6874276f41fd9f0495153a526b640ade40b5bbeaa5c5d055b81c8f72ef51ad09ad04399f1526343918ee29f67ee0ba626be520890c413e4b4a2a54726ffae659639c37b40b6588361b0a103fc43522fb791f905c81d46fbb9d129972898c37007812435703642c34888ea2e755ecae5d27e1954f3d88b974b7c7b83e1bb30a2599e58e3f54a6cfb526c7d2ee8b89fe938637bd16326b5971cd65d77204bb8a63eccf9c1f48f243414de0b14cb360eec893fc3a536c6b253336176b4e33ad17fc0dfa31599e7c951fa3a284143e8b69d405d0ca08db33c57301380c723ebab062923c2dea1842e5c6e9d732934ecb8ed4e53adf6efcbe5705ebd1135515d2a909d5ea9ba729c8ef999cec8cfa125e899b58521d06c69ad3bac0975972d947095620a94043185ef57f53cd97f449cbc91ef0c97558004b3324b495aa72ff4525e4358f3066b965da93cfcddef8fc8bd188b1e74e00b0d1ead9d9194a722bc7fbc3c84df421c1b8a115f27709698873d548d9beca76b7d0027da7784d514eb66afd20bb3567bb8eb4fb978ecf05f6d43a606e8a19771af808d89a948272547ab917968f566258dcfceb304aea06b9059e24a2a4433ae5f26d7b62ad7f72bf5cad300b46730e860a61dba1f38347e9c3821f68ec0321ffc1ca843559877269eb622cbe6f6be19bee5ca71a9fdf0e23ae66aaa2111b3e09d509c780761c7283f61bd23d6a9c7f551490a41a134b462ce7c6fdca5db0b8fafbe5c0d773a772f1229f2efad8dc51abf87dbc02a92c92ed6bae499a3da9ee0d2aa7acc31bba7275758dcec96d7ec91f488ecc7d94c83e6ad937e62b45929d846c157aaec783723024333cab03e58b4331321580f20c4c9b5225cdec7a38af1ee5854afd425c72481f4c9ddc20046609d75cf636586cc87a35f2b43baa7f736cb16c098d63e663c196e71410bcf3f6d6482ace7be7aeba1b71b9457011d3a3ea12f9dded03f12b32d0f10fbdeda3c98eec859e0b8c541b741f66a8cdd7493cd16de224eb28b658e7efdf364b735e42313df7751f5e57739d1e705bb6e7d5630ff5978a5e50df483d22608828601ad4b110e97763c4b91b93080f23375db8b7ca93357f43593222ba238ae20505a469256105723bdaae1fb94aa54ce30349eeccbfb952e1b4e272e006c2b1e23d86367570d76f822609251ff96869a2d99bb6bf575f3793708172c958a2d70e40719c47e61206667dd377630be90bf2b56119d06d9aad591fce479215544c48ce6538751aeb39b289d8e4b8eaf7358237e00ab85c93f8fa0f9f46c44b48ec3337b7229e8b347cf77e27dbe57a9a720dc16271fb06326be85b3d08b1eff2c65cca76cdb955cee44c18aa918c6e57eb132bfddf3886bda8c70bd727b55ba5af87d7cf26c2040a0f85875e2a8a2c6265a66aff1413ee2853f6b61417c6f9d57ea96d76f87638ffce7097d24d95a4120b64fba321accee7a2853d0d72b2b31873505b9bade59e1548d58c9e5b972aa7b408002d3a009da90fefdacd3069f15edbcb51c18667ac61c82ea093f43e1fe21e22bb728a11fd2dc296b3375ee96e10afeb0e160bf84d8eb7da8a1d0b8f26cfd2a187e5d090efa599a338a2162d5f28c9f4a62206a8bbd538a1256346b599a02d07c57b746c1ee7ca47c7b531ef3c71de083daa768ebf2d1728256caa55601cd36249b9de385c118f140d2b43e0690fd634825b36bc3f3f49bda4f463fa114c2846cc114a936540338c5155726475123ad7a183ab09083033af69ba0e015d67039f9b6c14ff895747c77d147265d039ba7f63b2e1e3d56489313441f5ad15945cb4bd4369f39eb72b1928316fe5d6a084b66562722efacc76343e4e16184370b849f730520da417db557e95723a25dfc721bd497bdc5735a34d89c30246f24ba6fa47a24e19b324e09b5c9072c0b03dbf71d1f86798d7573ea5c8ca4fbea90c72b85faf85741bf8c51c97d066b67df7e55d68de6c15a6311bbebdc419ac790926249d22c2c0b04debe0a6a1728e28447e78a095a4c87f95cb32693680b728a2488da2ecd4b331294e39bc3f2fb1bbda902153d5d605928e095e88f91ab6e8a9f40377d161a4c79f1e68972446344060cb3ff0f5ce4d47ac2a297aacd688daed241502d2ddbf718d2175849172a140d05ddeb5dd86a238573e13a6ce31eee32be5247cd07643b80d789bf555721e55b25775b0e1dd88f64ec5febb1743701dbc75f69bdcb369cbc44de6575e1bb5db9ac6a79f809c945d51b672ee3716f664f435b82462e7afef1b773941920bbec2ee96c0da18da5f094f61eda6ed27509fe129e651f4e7ac7883629f0f232b1f40f56ac2c36a9281412a26f42c2f92f9bec1cfb2dc49c562a9492e4586337279b7d252761d1dafedf280165ec888f02b2c0cab1860ece804d47519054554682bda6091eca8d986346afd945fdb4f22608cfd3545881de02b0b81e9fe6d51720d91c2d15e0483852dbed4ef8ff077cab17da0d8184b99ae19809c0ca94aa172603c53ec9e7c15f0cc157eaae6ff9c01299620bd9d3df086045db27e8326e549432787c6e56802444c65c6883dd990e174c4b7c51027d822a837d2b20da337723c74622e79a6db369b4ce5118a920a7dfb39e878de4c12b993d1a7376b137072511c41b6858272a49eb7a8c2faec30bbbf66189f2e49b7041aa38b7f5d2cff430fde5d4405b944184e580ef2aaa8afd67118a7d1a4030dd306739dcb3f404428f5ccc5f55f1260e2b210146b3121c2d22354cf2fbea979e26712f5cc273f0e723f05847d37d3d0ae9965f29a95286b2793a39c062df2be36b7cda406a9b00e72bc83e8ddd87786a875432cd5fbb4097828bac742b221b14f6ef8e8ad552f8a56a7f04587cb0cbbed658bca0193c42dc87b6eec86710569688e8acf52e7e97272615dca6d43e3f2713f8560d63807694c49cb3bcf7ed60a99486d3f3c430e5a720f9baaeb838fc51a5c58a6fddf5b49842e94841d37d5fa7f1f6292bdf5777d488e9ca66e3f2603a53bc672d960b8a27b4af9c60ef1aa9fa8770cbd42c4019d72b4fced87db11c188fdf595419d3c2d78241389fa12d4a436798d6964847e8772d9eec3a7b6e634369445ea953e90aa1ed007ea5ab173a55abeb31db7fc45df0b2f323e9fdf4eb427e05e6c11f2f4de861ef466f1ad2036a501bb9a183d24eb2fb87ac577c37eb59e8b9cd1ed0d28854ae8ed89ab307d8237a3fe4fda06036c72f0ffb7251cfec47342f1044e46f8db4a679fc8afa838fefc6ff2d6fc65e3ac565f8d0540d2d8012ec109b3b34c3906df16dd88f0466d91202e7c3bedac788b118f6a78bcd8a241c522240a24e6cd62d350013f69a59a7023ba62e3ea752df569177b2265fd110feb9ac0ada7ffb2105d2670adfe8e777d291db38ded74f4331813caa82d82adc323f3689c00cbc18997416c6c4d2ac3ffbb9d5b13dce8883f7248bf92553cdb37dba718cb757c276a82526abeaf8b4bfb723482ae6246d36772ad50e41f31b7afaaa8aacfd8d52811a69fbced40f8bc560fb365ed0361ae1a0fc796d461a95da11884124a21b6343c2a83f5629feffc0d60b56d184ac5fdd62a8e27287d44b3ff23cb2473577238944d961e62e8e0e50f9f3ee66c93f750157231dc0d0556104281c1f5063addc77eca08f29d1b481429f1dde231c61f3efb295a59dc3545e9ad23537bddc3dceeacb65527dd6840793dbb542a044a5295151e9c6f596164baf69ee4fc43b9966bcf1e118ffce06f9346a6d072dd6aee5a833572d4941e699f5b4199731dcc1663cd5750c4be5c86ede4122c3c9956b8918569cf4c4fd3f55525ada14a6e0bb1dfcb916f1f49f4dddc65a7256a4f3357b54472c5731e704d35750a082b1464f6fef2625012812b71ec6e9219a02f6d744d034c6dafbb868652e1f96b2a88534cba31aaf44509d77259dce720de9c22e8fc642b6dea2faeb9ee70098747db549655f8c57ef3e1b137e2be64cbfdcf7781aa8372f4e39d99f10d529a6694d508694ee16e26aadcfa531a11c2f4b4a096422fc34cc3eed2658fae1c22c595804f120c43e985b98939d693febdd99f60554f4f16117bb41a246937191c40e067f08ea53c49a6c5935a0ee9ccb00b1e16de1153b3722b53006deb27764677d080abee968d87e776863144aab94b53f0d9d0596d5c6b7260cbc0913ceb46e7f853298eba7ea37e6ba6b16d9e6333265d8c166066e9729ad70ee7c1274bb9f098efe35df562e709d1190a8628721119572906f6208014773338861b62be005ce0d0a2b3bff5ea29361dc9c1b8eb35e467401c3a50a1720c7d3553a3cfb9e77ccb5faa141fc4a0c7c9805299818713800b0b1e35237272e05327f13b8f5b981fd3661d56ee6f2466aa49793a89782dd70c6cd0c4bade0e4241af7edcf18f48415ab73aea3f26fa478bdf9ee914033806fdc17a3c5b5172d8fd01b01fa37b91e9f0f6d5415af6e40b4e09a3405e3420a5b8ea792d5c0d1986b53341b3ef51281aeaba101dd4152ca9dc88e95cd61d16777cdf198c549e21203759ef86a2884e23ed6d1b8ef2871c5b2cbf7d768ec23099f523f7cd54417235c67420e4419481388778dfb60615f90ee22065f1bf66d9fc118836ad260c72923ef6ce9eae77dc76fd0897586bd14dad584ecd6102ec8f006e99717aa4296d43c4375a975fcb7363ce0c5c1a5638548a3b573fb42cabe30aee739b2b69031d0d7244ed391442031fb5cefee7aea7c893a0a37dd809ca08c398a59a76aa8872161b5d8055e1efa46cd30da8c2414170242cf59b6dd613a3909ddb32f674e072d79c16175d42cd5703dfda21353579736bda23ec662230db24a2b73db7743c724a3d06f634f21eb97b0adce759f218c28a677862515ceb7e5a7bd64148705a146ea2b8c5f7e69c1eb3929b1d72a1e18fa2c1a49d2da133e65c1aff6e9dfd30720e0efe060caa5bef01c61e6a03d013fc8e442fc71922ab5f45f5aa4f4d58df3edc98becf229819cc49ee8236e417bd737550191a3397c76b5cbf5982f4dcc14c261605b44b400ebd770eb623ea107911c34c79a736474415ab2a4895da59b272aa2c6343ce54a9a3afc10ac360915b5325d80347b98c2a00997a2eeeac64d0724b23e2bccf9a725a2d50268a5c7800aa732666a9220a8745578796bdb95a3e72bb381a8534ed23f51717be9fbea0b2481a0371d42c4f13766b15c90776bffe72e01dea9d627926aad8659dbea77c7f6985f9fc9f439bf247a43efd441f37b17299a7bc9703e07c173956274a2aae56384a9497e88ff780a0cb2cc5028662c572920cf1914e551d89213093b0a59e1d6d11d1a246c959763988f8f943d2d9d732dccc26611b8a52545b2fbbbadf102c362d285b87f759f5522aa9e3ebef255072fdd47c75fb7a0db81d9e298905a237eeeb8e3f98d83fbb3afa3777addab831569dc0a8b9cdb4e785bd9d4385aec569273789ef2c3d467b0954b16acb2dec2a72dffa0add8ba09af194c8be1ac0c9c7739ab9ee718688e64b79cf22105a914137d057835a041723b1631a803ee677ed5d7639a098eabca1bdb7f2a9e6a072d572652cd52218bb80341a029755934ad82a07564a40a4b43ca2631ccd2f731d1051e3fcf5f3fd960af2b3c051f0ab95a50f7cc032071cdb1ba4d8d52898c606c83189de783222ab83ef9a4a3107f95eaa44680dbb3f745447b377c2f0ef102b165ee6e3a3d5850bded36be03d250e49946254e7d6559135f4d1cfb15804a8a3487278b076c1cc212314b617af7a13f642c292abc40da202105fd885cc5ed3bd457209d1c059863e76083da600fe1633302bf743791e31bb23e8b94c6c5b90489154591df30af8d02ba583be9e9669ebdf94c9fe56de9cbcfabb478e30dab764104f704c146e14aaf448c9ac98488851dccd65d04174adbf5bd6ce6ecbf32ac050025b7fa4e1025252bcad4e0d97148a285610e42aed99fa855229a0a74175d40d72781dd9aae43062c220b7b577eb38ef450ba8728e545742468b214e561a8991630a88e20b2221650a27686b039946cbe35fd9d72b59690eb2f6ddb4bed0e00036f69e751fa55e1ed5446188742b96045a1fbfc1640924d75991c1029e188b1d4b2e0390c9c22ba5378e797fde1983b17b1985ce33deb0e9c22a47dc71a3f68a5ae83cd88b9fdf732ef469b3e21c2c3330b7dfcf63230ff93bf46c954d6e23f4423f5a36e39fccd5ff60e07b07431fabf20f76606c9c877e58967c32c1b1655672eab2fd325a230ecc0e851bebaadaab07f590fa28dad51e99450df31398f53872c02ea2bbaddc8f583e98be509762f28218e33043fddd12bdb7e79fa2b989e061310538fda7dc366012ddec9708b105a2c817f797612a13aea37c8b52b25bdf72f2d73cf5858692827421ee1280bc85b3abe6e19186c270f53732b3e3ca019372c65790200652eb8b237cc759ebf9d40e1f074eaa306cefe1bc32ac06031234729bb2275151848288abdf4e4490400affa0cfff55d8e8ea24c66148f0fe3d274d1e4adc5f1788dfc27a2bb38a3c559c6997355f877f3047bb987b129bbb775a72f6e74ba82cddb3a263beb412b0259c2cee0e04487ddbee49aaadd569fe56680443c652d0f1e72fb8350c0806560e12840a8f5d97a94ebf607e4528dcd4f1677260a965df568fb690b23cdb20b7e77955b50dd9e902f2a1c844cf28fa9817457265ea4788d49be04ae69a597fc56f9d85e6a65b9927367f360a5ed0b240240661e9b1f24a9a960cd51d034d878b92ac6984e2044250fefe1f176f8c04603b1e5489ce248939b244d459e4d7186709e84bacfba25e77f13e1105babd1a7d76ad72e159255de2fd935c36a209b78ef151eee6d59d0ab502eb6dd3d43db07e4d6342529b8c5682b27afa4bfdf384e35d49159601c5476bffb0cd339a4368814e037299fdb962753e8c2e58b31f1445fcdb2acac62febd5cee441729bf7004034f9251817e2743b2afcab1f39a4d33c213d5f6609a4fdb381744910308655a1601d726dd90704c9c1048fa40e85aae5327a6ddac4edeb33958ba1ddb03e02430de572a263a6f8015107bb89968778b0a82c9e822d017a3cc5fc385567d1438fa4175f3e90aa865ea5c9d7731f4c8fe7cf69421689f1b3e424a18f8d58c773c33ca472eb7c6c26d00b360b1faf7366bf9ddd51acd6072ad247bee5aa1caf599d186472a0c619563e05a0cc1d0bd50a0c7158832f6d4e6b314d13c11fb9021251117d721431359a3519679428e4d6873e82bfb73cf698cbc1b5501412584cbbe86b337222cb246b59e778b825d7e8b83aa94dd45230d89a911171959aee5e9fb2e6004aefcf653ef92ff0778e160b1e70260370f5b00cee688e9453e14619868afeaf13482bec75a5fa58ad1998000f0b1f5fce74b863a7f00cf9aaf909c453345b836057f2d2b3abfba5dd8d56a4b416a77967f53dd7d42f366eef4ebfc0d9a7b1325bc6f6698efedc5eb5207219bd44a36c764314df6f0904047b3a70b13c6587cd726557e64e68327fc4d50d686d88f033ef1dee6eb4d8b5fa868bf65a89c8d70f3e2ec76f7a7c5de04518c08985491fa2e304cc5a05ee940df4a39501996cf85329b37b0b1c364c94a955671f5f0849f7a6696e9461ed89b3535037d6301dfe8872d2bdaa04b289833a5346bbb427b4c799f51e93a1fd8ee2184de2a6e53245f515b84ad39e2e4d7c89a777667c551a6037e1472ca8b5fcd51f31b2fa9e2e3a1a0b707395eb7fc979a518c5d91ee7268bb6d54886095818aa321714f88acf27e0174bcff6915381682f533bd9a633d77a08f5a3c3f36e68331fefb8499a3fffa6237cbfa5cb410973c6a74d5923aae4bf0ed2a15818dff30fc43fc26798b9dd33725e861e11ade089ff591f3d105939db1638ab0d4d10ba8eaf7d5654e71e48e409e1e1c9d48a3702d3689afb8781cc290ca9dcbb9b738529c1eb709d72669f53724e0cc747078d177392f745cb6b921dbada00b168e4248e4f08011a4d172806726d1da36a59c5d8a159219cc0bf0390377405546701ace03e61f1f94840a26f720262155ff5ff96f7fd49efc4688275ba4ad39361210bd60caad9739309dad13d42567681f7bbdcf89ad95dc92dabc9b91ca2deaed7eb64536e95b0d3e283e61a7d201c092dff101c2a5b9ded9aeefea7e382ea016f9cd55793ed25691b57eb434a08c856ea3e16c01e6a439e6f910ad1bf9b9b6f958ded8997e3d573b5abed0e80eeccd78391ad65c7f9a92f0ce94833835b0cc7192d0d73d1d82b6005ec6c72dbb686004f77023c88cba5fffce0edb52f8764642ef2da870abf6d8218937b0103ea59b17bb7f16eb27627cd498d7013be2ab79c3de1e973e64911dee4ead318497143b58f4e69b29292247bce9677b6f2272d77ce44815dd6130d4fa22808722013ac87517b33b8e4297ca8b281be4df334b6f46c0eac4e91f3f9a4cc0a7d72997fffc0b62068751197bc3565202b5a93561e67d95fbb54b7f6d5ed3bb77f7260b37f95eaeea88fb590f147417238806bc9acf4200477812ef39f418003eb725125c346f12d0e01932d1caf7f9a8b490698ce187c7ef9ca5f102a3227fa4972d1fcc99cad78f3a668d29a6fe9229aa3a3b57103f61ce00c3cf09e8e566a371c557f281dfb1f1775606def8b4f360b1b147d7e2901333b1bc8e7e823159f0a723d372b060c261aa286d831cff018da7c4dcb45060b40a74ee1a859294c2f6f3a587527eb7b6c671b858178d387777ccc33eff794812d7ccb22efb4deaed9414881e7e1105a3b6d4b132d4b70acd9c25d5051a1aff8a4d600d96ce61d0aa95e4080048f62445ac784e490d1e1749b89465988fc1cd5477448fb8e30f326427872be0f0a69660c661f77c4794d0fd57ece02d56c17e3e082593eb59cf4c4a8ce72203b7ae09d8522c86c55e55f1a5e1827f1964903fbd4a07cd25f12fbfd7cd77288609d414377d950173d2b7e276a6be9ae1246a542fb99361cfe51ffea4552676f9a09e53464b11c7fdf9a5c08a971fdc9572eb1ac1bf2f2b3974a6289d76472913561afec280213aee7d2282ef3172655d32f4050aecfe9e77cfcc39f90267269b47de1a2a415fde14e1adbc450878d2423f5421473b9857af1799354334e72dc347f5af0fb1b78e9b766d5ce1a30623665c5a61bc94959506a7e8c7067e218733e8f05d7957f7dd2ffdf9ffb0949504358c528582b450fa1d2c234ba33ad72a99c4b97924d0a53affb6bf285216c02c0f596457e05004d3d24f47bf6ead51a74e73b9d730483ec2f4eefa7f35305423bb61313a54ec8b8222560cc56c19d721261223c09ff91c6490daee0a714572f726605b661b24734c8049a00963907726d1834637a0e2e9fc62526616c2825b76b96a76afbe1d2aabd1baa875a264c72fcd1375e10b8cc5d46125bd48319453daf7f3471856a9d85eb5b3effdee0973cf26b06d1d6075487c9d5b68c64a96c4337f8781812bcb1495a2ea4b2df247766f8755aa20ae2e0499d616cd5db440581213b0489061dec62b1e960850ec264726954b9ce696af5474c05ddc67f014ba571724672e3a9228e0feb034a5f0fd472bbe1880f8a5e1530ca18f1c6629f1ec22c389bb46a96b47e16243562f8612b33d2e3658ea795b32a250ce98f22feede903486cfa1946c2ccfad0c70ef5dbec72cc2b59ce7c5f1e16377ebc90b5b5d6d22a3623ba67b1be29c5371c021750ac00a75a3cc5a73678c67772c2e3c765a6aadf563a7d21eb1aec47d1819ce5fdd12ba5dd9e5a57b979fac391d58cb4680fa6635319d7e131c93219f5f01d203d3f6b1ed12471921f27645b07370be036107757b49cae59fcfaa621299c4aabe19972ea719e4e5378bf8f76c9d1d60f4cecd67898cc6122f2d13a698b913bdc547a72cfd684e63ee2cfd8a4de2e63e1f242a64e87c8219331a31cd7a03b530428667207c35e697594b72d856dedcad15af6671bc0d40a912967ffc9f85d2eba90746ced38cf398c66dfb652b4593e4ca64c4bc3e50a7200eef0335c6886ef1d079a72d99a5952620959544e9b38e02dd4b0ab7b5ae0c212da33ac3343551d3de01f1e1c9f21b6e6e5c1eb9a5dcedb1ce6a19431289357c3132a0de4e71bd0d07ed4293f392244351e61bdeb96a6d02220aa22a10c940aa490cfcb7fbe190b74ddf1332cab4411f217e8af26afdd7eb5424d6459a35b417b371a5d883d6c6f90c7994c2cd276b554c09c302553fcc9212e1a3b68879ff55e3d4e6ed946209a4e261619e6c69220cb4fc9826c1ff7f4ed7642ba81ca697615360a6e14b73713705db82e9ce188d0aceaaab1734a17c31278615e266e6fd764d0709d085b51151a808372fa40962065cf6a27a05c9ff7e107458f428b7af198909bf62b40184204181c726ff370d48e614bf80bc53fcc4ebf0b10fda749878eaa6d6d81bca8de3780687279f19cef466d569e07bd66633125eeb775cfa124e3af12c049bab341c7086d72569155f7ced63375ae6bf34a87c3b780b5375eec5a6c2e2b0c23fe4cb2f6ec729f776fd1084523b4caab8cca4867c9a45624ecc077dfad17bd2af876f0bfc55d5f0ed3e2e1f1218afda8777b58ced50f33f14f729a40c8de0948c794ca56f5506f4cfec313ae4a43b86eaa755c3a3f1e9c791150c09010b458f09aabe70ec972d6606b757a25beb0ad6e894a47a665cab78e3020aec50f4afdcd83d294d43e09671d390f69c5aee3aee9c3150c982f3dd21fa38f7c91261b7f4b1ba3db80ec2bcb1281ef9d7824ebdc179a9da5d262a8f86aa5f57ef85720354ca26de2bec672c8091820e23d213bee8fb9d0e3fb796abb5722c0cd694a45cdc483cd8c3674615dfba7177a2cd235c756971d6c2778eb5a7a2277efa3f5c98172d25eb1ce8c426af6be217ee12acf69152e0605b6e5cc006cd33175c12ccef6256a7ef250de72fd5e06a9f22ac199ff0174da87c4ecccd49614f5ebe98e744d412fab29dbb0727a0aed5fec1228f3ba918c05b608326ce899db113414447c9b392cf7bb686c6bcb1f23adedcdc12f5630281260305a52797c5243b56734f1cad6e74f1c89c82519afc8be8d82e8e238ad17e85160be3a0e781bea2b49639e4d563a67d0d9a972f2ec3efde983261995af4727ad03a0ac41e08f56d62d4767693ccb4ca76bf951fa4794f06bd335d2bc032b9239c561f0a72ceb4b7cbb7e12f43d1d79c196937269e1b622c587718015516db1cf3ebd15280ef52ed2ed0288eacd3f950ed5e57205f045d3bb44a81c7361a8d77135341db5a425c21e96ea33c30cc6bd43c7d07212dc45f28996e8cd6a43a864005ec7c1429a0d2176340b17cea3030ffe0b540021f38d092dcf41649d3ad85a205f2834fefc74ee77b4fa95ffba9f51c9ad2b7235dbe1763e7bb420afb511273f08ee147fb6d3f33b549d1c889ddf916e4ad272dd15e2a158471b3a3bfe7e9c6fa73ade43d95fb9d346513426ebf33edaf63372c1dd12adab743a8b2a4cd4ffb9655425b7127c1e08979491adc5ac5fdcbfdb621ca5638d297c22f769286e63a04a224736a39479d82af9065ec7abf69faa747281e7cfee1c4e29c44180ba4fe501bf3cba82d3d0cafbfb7e4540cefd0ef9cb19169acb318e53d6cc2b039bd8422eaa3d8dea1b587d53b7489de83084618d5d115c4afda0367241760d09f6238216c8a718dcad1bb789c23a981deae55c17d472f7df5cff36be6c2b0dbe0dbb91e84ef7d917f771fe5816985074169b7dafed230c0542ad2e4132987f026fd40e66fc1a2b6bdcdbaecc57b3b4192477a93cee7255bb88c405af357e755324a088caace55c95e48a579ffdcb3e0cef88b594a172d20e772fcc25a452c80bc0d980101328c6b858349dea24a7b91dac43cc4f19722fef1482bf2fb9eb2dca8b9d5090fa684b95f1a14964e3cef8ec589d6c9da672a66da7726b01decdc6513f24611871d816673693b9cf3f55ba4e07298b02f4724f1dedea8e9aba468874c01dc0e6c7d3f7a4544748e4430592686be3f4e8726bee176b23a41768dec6d1d2ec990948f5df1e07e80753a46ca483d67c2ddada72740e0489b69a910a9c42517624431f3965f5a33931c12c560fede430cc82d472b275878e08329278870fe5a273b6e3d5e2c4709c1eb622332cdfdfc9088761250ac8100ed349cc5e360145551cf2195c38b33d90336a3f5e8f13ddcbb7ee2772bad6929e6e18be28b9d8dbf00985d59279bb67beaf04d37c4194c03614880f72ba6490088a194669e6137e732b051cc8b4e8a4281cb935c550c75db7e1dae233d0e948fc3eb3917eefee7400235d3cb1fb10d697925319e20cecad10e5548244a66a08d06c7ab68c9f45f63c024f047f99a64c3126da1687ace10bc2283d6a0cafc17e2e8898385eec840e1f90af9df7373355d66ec7996cdf530057562256722202c225a6c41b3d5256bf1be80d1809ec371c26bade9df49e4383800a466472a7854780688e8409e32deff7e193010896ef56462043c34ce847abca8053ad24b27a34e73899ebe0591a56d22b30310fc0405b11df5c16ce8a2e1191aa2d8d270e20de1fcf0990fbc0dafa03d1de1fb489841e81b23cc048dbc305e0ce68de726cd460761c169795f9b1cb6f83ecaf06714fab5106282be411b6b560df5ecb726754e9dca4ca7bdbf8b69a64ac4e16f897939d51aee49da23964302a94107f549c6f87914ff9b6928f3cbb1238e72f0f3f59bf79287af4791a8be8b9cb644d038a3c99a4839d2b07fd74a6369c0cb288939cb92d2feea9e9bdf49dcdc42d1e0b73868b277ccddb7c0eda9daacca914ed6f59685ce30603f8e6fe5962443f7e72284942b4dc78f563ed1f1e38271a865af6e5fa1b27c0e2a130829ade2c61b772f8a8b1342baf3423ce390f03bb70011b561719caf3186cfc4d2170e249807f4f8b1974c725b10c3ce1c8e9cc6da1c2b838bb39ab8b6bf24c697d41a87f72b572c92bcee8b6c50d389d18570ffd7042bb675a7d4e069e472c521accb2f7557d2d52c1cd6707899e459a1f9f1aa387105694a933193ad47f4dbcdc74fc076749728ed1f953fddea370ed83fb17279905f3f31a75e5caec5b92aff4410ef85a2372bd93318d5032d4bb12ce4aae086e0e50973d2f9ac54cc1ebfd591c79f03ea272995d3c17088fe87670f1e7f5c3a7f90fa44c2e85e08d1872184c2abc94e9cd72228d9d5a32eb48da9f741b466c5c891fff8b1490694977caa5e9c8f2125eaa72d870cbf48416eee666a226addc011d5272c34ee2b1781102dbc9c6c833b09672cd070a98995d95c7a1b0799a584e97a87e82d4ebab6dc2937d1b68cadbe98c72ec03be4ce25d9e3b04650755f4f96f5919a006b067fbf7cd005eb737b100fa72ade276d732e4a330553918a37917c7848307c637a8eab489567ce21df9697a2f19183059c97768e05807000efe931550eeda1df5780870e9ea2b2ae19349e5087a2ae7baa38ee4544cd47dc785d5e1e563fdc341e3b80855d73fdd44cdaa3d1e35629aa33531ca9cef71c25415be9caf127329dd1d104d614e6bb2ada51ce772d15f22d476ceddb9d2ffeeb0f5a39f7e57f162954281e626b7e4bb8785785000918b247f1192305d8d66970c34c1c24e16cf4de90636af3c327a3b8d2ee7431713e68eb745d16870d7e7b1adcff04cb6a7ce12e8d87b74ee00f861657d1b411fb201c6137404421902556f7c7370692bf5201bb53e27709a9e67ca5f725d4f1c89735070970139802a3f3a29b26fc9fb0a09121e0145690ec58f998ec4efff34fad616cedf90cafe83dc4b55b758ebbc3033ceeb1e6409f003c5954c59b70672678aa4680fedf14b9b98fa6f34e03f829f2723095130b1de30a063b1c15948724ee3bb386b986d24cf1ee09300ce89e02c4d161229bbd08c58612a0e952eb1722caa6073624318411af16fb97009178eeeb7b77402f69ad5edad0cc6b6057072113ada9550a4050dfe0b9afc3ad6629ce7f1037eab004458f13620671dbb33720fca32686eb4a8401c9166cd3113d28943243c3a1fd0cad6fab28c1d4e4f8072dc726292c1bc82a20cb90cb351c71ddb46e53592f8767ad3c15620bdd383ea5c319b2dd5cbd428db78877474c1e73ff6fb68895819e6ae584540c143791ce072dbc7ce41da310ada38ecb2be3551f9d547418fda16c655afc9c1327a759f18349f6cf65781cd49bba1d909d89f3152033618bd282306c5462e31a733413901727825bfcbcc3936f0656bf281fb9521f75a22d2d3b9042a5a31872d5a04ed71509f5f3475c59c06d30245134315fe64e53b4c3017ae2e4c72a1d2aa9dee050a0ae8216ba8ed42063d797d72e4548fbd204fbb81129be2d6fbd99ae9a1a5823565576eee9c7ccf852cc561e9700c66766a994f7a84afb18c34ed9bda919c52b34d29e9c0ae8e6191cd984fe9e2da7ab89dd91e99ce9f651b4175be203aac2859727a20a4434ac1cdb107d7e8d7cc75b1373112168a5ba96e52d0ff44a3e4eb3172e2752c72b8bc1f30422ab2fe07cea83b94ab7eb39697d6a5438eb2f5d05e0572458ee9a63c13ba52514c98767ab67e250e1b72efcebc4df8cf746007cc10445fa32a720bcab4b953d0042d410ca6f5f908004d89108dd05c1ffde115ff492b07667149aaa555cc143834ad32b97078fe26ea862e521a235a893e21a617208a72f66cc5c4d710ce0b61a586eb67026ebb046133380327d1ee34b5f55971aee772cf788e180bb017b7df4c11d31d4c8901cc244bc25cdd2212dd6c51b1050d1f72dd289979fedba5b455c8f5304c7d016d889fc9af7ccb638bbad28532db9f8b72487b6ddd5cdb445db50813b2cb4366c2947bfe1578b6f2a84d2a67c695720772604645eb4aedc9e33e1b95be7ae892a093922e70372be368755da1871c6bd1726024ea34ed0550f6e5618271e1eb653904d2446bbd932708f2f3d7cdbe421b17b7dc123a198f202e044cb0004277aa00179f8cc9bbcbbd002011a9818d285b72e5e7eb71ad454b296e41e4fea8ebc87d5dbba857c351f6d80cbc88bfd2713b72b8b119c22e633de6e1938ff04a88b82da55eb9eabed721c45f8b8692b67bdb7290e831c97094c42fb20393e6cc6abc47d4ece14babe1ea27c0aa20d547bd9728b23580216aab45137395f6e7378cb7790917eba2a369c952f6d8a0df7ab8bf725c68294b6d97edf4f786994342e0b799eb98429b193e20610ad65b867905a7725479da1310a9cce5ae02ad4ab7096e5011302f79e0fdbbe33ad1fe36092f9034a084888891115f428429eec2ddeedf28586fe289effe77ae83f8bdf694672772866ed762fd7950a11dbaf1d9a651bc09fea598152ad764f838809d5bcf9fb632a6ba03dfdf90380be05e74782344675cd5a2db6ca9c4c6bb286bc1f26a448943e05a2a30e4f2896219fae8102e6b5f59a5d0bdfb9d44ed0bab8ee567de6c717268fcd40e5a5c8958f065d73d3a139eb5c3274243b2331abb5fd5e44761d1e672463ec8af2fe23e4d94c44300b84d10c4edb8f69d5a6829847f7e58cc10603072deb5726e051d304099e0aeadb04357b9d492e3715d91ceb999d8ed71501c8e16bbe8d8333320542b25e28adaf65214e3e2d507d9542694db501af51292b08c72416f1831f4c9ace1ea1e41f5fe7673fd4155403edecb387117e4f1a68b418f7294d803a40a5d27a16bb62938e1ccb511d85e16b951809cfb8724e71ab07ad7122b8598eb2bf62020707b87fe88cc783f04a591e5fd9cb52ff3467c30e74ab602ceafebfdf3fb650817efd181404bed8b80d21a4fd63fca778bbc744564809259fb64a9c8b96bb22d63e177415e68a6972f91a88b8d570f18760678bd60acde72cfe6ede3e57276c4ac1bcdfd7a6b1bb4da49cc0eca1f49678488611c54792e7243b57515f7dd8ef5d7578864b04bd84cdbbbc0fbd59b0a952dd0b1172809af72c154dd3ad3bcbee4288806c20cf254f547521c6b65e3f79a51f42d5a219b0a72a6236b2a30de2cbc9ecf9963745e7c0e25e8c609b0229d9a75718fd3941d7131a4a95bcea1ca056c252a304c77af80c2b57f2ef2199d6f3483abc6a17ef67916b8ad36bc8da985355c9230c32cb34418d418eee6bce86d41d92dc458f5ba2272efbac64e6ad4ad4b242407d57fb2955396e34b7bee56e0cd8af70e609c0a17101bcf2951a411bf5e0e0cb1947dfb09e2c4f93cc803482a3536be644d9a1be20675ca211b052684002d6d5a11d7be90b195fc5e68755ba21f3608bcc86b7d23722883b78f177072e7dd6a14ba79b3b86ace0eb16e9ac7ae9f30be3de08cfa5e72b1467b2d07051bd2dfc01e32dfa0509230b26d1b24ed249ba8d79702e58afa725fa3130223cea934598a8cadcafa6fe62f381971010e80c0c933eab5be7051726ecf78b416a9996d6667f16712de8ef8d120fa27521b18729b5562ed201bb3728f2052785d18f5b8c34736604fac02cd2e367234b0c61de34a77eff2b6595742bc36f6c39077ded9e7c69aca24e2c3fef0ea0263da4c2fb70123928c4c87aa1928bb74d1e19a657557a83b48ca7e886214c0f26bc1247a65c951873ef88e5372a45a250562dd047b62d4874802a8d6134e8ca607c78cff27e061648485af622eec9a3d093a90e37d8e18428eaf5868e4bf53f59dbb08bf4c5bc1b354c4603972147fd8477b737ea8388eaeb1e48312cd93b43b39192f16967e8765af40b6da223bfdb13719342bf6f54c8d82c73c9dd108602dc5c71e4d6143d58ef2efab486a20b547377d19a7cf260bfedd689fcb87f755b9a64e9cf5c3bd34c75c387af421e082a30fbc0e243649c105743439c6803994615d4248ba152fa8d75e95f518724768bb233fe64a986cebb9a2331dea7de0bd670f80689a43107854403e1e2a37fa3200b7dcdfd0222b3997104c3e104e29abdad89ae4a8a5dbdd4822bea1c03663d448e9d151e0882e38c1efe2563a199ec7ce92a3e5c8dd29b296c5ac4d1872be55a90d283018cf9d337d2f397670ed483a9bedf7335395007110435b75aa72a0ff5af160dca6e191c4a7e5648b5581bf10d9d1ff4dcee888a5ac94b9c5ee720f4689e82d970b89379327216148bf3c58faed4ef042e36ad06489473f755d259f1249dcd9593c6b6b9d8258e4e87c60570867092b1f803897c8cb2df3aad172ba6276bd5cf217d5d22dfa56bcde9c68d07c8b73af38b865eb279b54706fb3724058e2ae77ae1f5332fbe265ed55f2dd1bfa080dc65d4f61b49eebc6e3249f722bbd96f01c99def9ad5e837214ff42f2f44f4a6123c131494cce8df3df66707298b7f36d18f43063ef2bb48b0efc7796614f4a6812226e0b32ca2e0f5a48057295cd16417625c5cf11e42689ba324b0449a56dc206c47ed0c0709a61ec8ea1720fc7f4ed37431bc73b36316c8fb3e10465814fed9a2342aeb5dcc12834541e720a2e7f88af34655253798033a4527ac060bfde3b2539197f994b19b6b565e2706e40a79832adda6276c27459c2e096198c61ed6865666c00b9850007188b0d47ae67014a81584adee9ced1fb90662a6c9d165dab03d5db4a391198639b1fe1722c70fa55efa7ef2e559d006642c25d2b8bc566e94ec30b80be46f95bdfbbfb3fc66c3904106c9ca40a8143a57a20a53b0dec69464f6304760234d6b45c257e085cd2cef065aeb7fb194aaa930f70676cd13ee43a2497884a9afff8ea0e1d104ad77ef0f9acd3c839524c55ea1c744be6969d767a8351ab0c939eb2c33634f072ea0c1fbc66db57177d34b97feb75ec899bd0777d4b0086116c111ff59ac944629a625a0e67c36cf6a53e32e36ca65f9e61a402167eeb92d66d0be34af5c20c5661d9f9940ebb9a13e6c05274e2134d58251a1dcf1e2226b3841566a3ca0f9a72d5901eaa072632fdcc2289cd8d179fb90eb1bec1356eee2ee7bf9734f08a35723001d521ae0db1e0edf5d3d96ff3a8e29cc8f5f8a3e5ee6b1731e72043ecf755406551e39ee3c99e7a89afeb955ca9243846b36a7c609758d9265cb55681457299e678ff017a1d787a52545187f763c9d9a8dd69721fb601b1697364bdfa7e728d62100009b0f2ccd8cc887e5f73ccf1c88202a38d6c42e15b0b4722c7690b5149bf5e2255bec0853b9d3aa181a3d370a91ff474c5ca95876d281e0b295b1b1e43de3933ff47cc212bec8dd832276a2c550e4a4b33e3ab541675a2c24bc6d50e3c400168699bd6216026e7b989cadc3a57ad3a1566f3e350b135432371c7bb72055826c862052831cc94bcf963486f666c9afdf6dcaa9abcdae5943674dc5372c201b5b4f92ff996843dfcecc1fd1b4398ee4901426a840a8cf48ddb5152ea09ffe8c88370af998986a8189529e449b12cf8acf8b3b7fb774e60e345ce92882ede26011df69db9a7471b9dcdfd16cb9c5e147c8e524c2b8a75c001b27e72e2616d730667f6c4a28ef4cf9cb87d29837920233f64b242938960b0c7d7af7632019e28a75c27892f0d2c62341b153fcd4441541ae0feb10a46c7e025f155360c72a215fa4714f9a38a3cda39592c1a425f06fb6ff37cde7970448623a0d4d0cc36d491ae150546f82bcd7888e9f81e745b93f1a9c69454ff8c99b26b59d9e9f837b8f33ad14009041071ef3401c0961c38d25dee8a9c603331f0b643788797f67219c68489902997fa82c5e17164495ac62cdc27c57d9a2d030bedf83602356f6b1178d7d73c5d950d241d825f1ba51fcc834f3aab9293778c1baeafc26e21b723c53abfd42066e833536c96193efdee4bd26cc71e5fdebf8b20e6ff5feefecf2439effff988fbab306cad8383e0adf96b2c685cc675d55ff121c6d26a87067b4b9c52e72f97d2f05613544850014473d9f6c630b938c0a6eb3f7ce80214e62d395c8bd4c794ae408880547395e311f28fe5216fc8f03011bdee3f56b53e719572a8e0a4815368ebef3f89cad11b1fdc8d2f38d2ec1347f99b40ad4eb193786172fa71acf71e3a48b5d3ddee57b038afa92cf12f9ae70cdd6adfafb1f40f71f472c33a81685b61aad985dd2b50d459304e372d8916ad6bd6845b70be25d06be37216de10708255a45d27440e6c9e070df83a4b0dc7d6345e2385b1d1b51ca5eb293313ca6a6e4aeba30d283ebb9d6324421cfdde0180613252406252d4f7418d72c1e663ad31862461bb30484c6a111ccd9ca5b6f6e3dea533aa04ed6e7db8d572be53156635d3be1202d0ff83e644de35017a4948c4958da2eecf28b275b7356ce2632fa34b8ff2938d3fe35120b132c71dc7d732c84d10d169e9da147c33f80e0142b6e3121429dfa7f894c7ebb7141977b1bb0c688509a6bf246f47b6629372c030b851de2ad910eb7d55e9ceb89b2c844e4287fbc96fd4adb77b45987ef0727e4797a8d66d163a7f152feafb4bc7bf743c70a0cf06856e28092dd74a8bcd72fc0dde4d7d447c901f3333db3875bb53ac66e146a6f425561ff5fb87c9ad16728f1e3fdb502bcd217c5f3b52169882cc631cee52cb944d2fbd88c8ae3b3b3472007f412c608f68ae94d3cb32d9c5ae26b46d15aade49872cceb275dde109de49b6b947cbd5254b9695eb43e1f5aacd1c8a2124b9d64371350166073af6a87e38f6fa4093efe211ed704556f8b267a066532214088f0db9479b5922abe6d17c72bffda7e17e72ac9fea624945e52770643320ac79b6904981c8413a79f0bc9e1f578e1abe6e5aba187bcc029b480c552831fc1b8e366e41f3194d06f1be1fa93f9844dfade12cb69c3f8924a6ae7ec8eb689046de50aa81bfc5fe51180577dc4f74e2ba368fad0bebd3b285b93b6b22e9e179c4a2bce5cce89805ea80f32a080e9e7d11fb68667cb96feb490459104c547451e0f266da772eaad6696292265e722c6d9c066603ed7ba478af70c21dde7b7a46b00b66c61cf319296a795e9fbd72fb787de110cbe84d858380136d4dde18d14a51ed449f7b8466a0a1e2daecaa4a4d5674309b8ad03b1d38e295aa51e767f3465d3e046cc0a6d348725646114b0eb6ccfb37ed9afb301101a39cb5d56d7b831d93610367f2d3d8f0ffed44c31d72d193a6211c8dd99b1bca3e07d1b29213f02bbcce9a727bf966d03157e28e947234d048cecff14fb0539282698286bf14f6ed09e37bbcfe51b7bf25d71b1db272a473966e6c6614ed76efd9c1a8afdc657145c406693a807eb98865519b295a72f29fc854f32306a50c63e206cbc545886031cb9d76e0d301cf552b90862aad72d92cb78efdb35ea5fce3689f10da2a86a4bcd3606a1895a7aaa3ab38e61bdb7288a0912601dc6c44179473cd32ac9fce2bc69c800f43c788dea795a4a1ac327214e1947ba110fd011143e9eb3326561c30ac9b327e0555a3ef51ef3686878d72af4ef2720b137396fe3b40a3cd261d4cb4d0e77e128e46739162c23ee151b4726db2c30f96aba5bc8fcf5c631c43f19a83bd485e54c066b79e052bdd055dd9310cf4fdac7f39e915d2d05bcfda9af31c5c49d09e0ae42cc142b34c15d208777258d75dae7bf1659be1f85b26817d3d069e8eef6f3833d0b5c29142186386bd72554d1bd8fb152b9c79729789ac4044969330335ffb09644ddb233daaa0200572bb0706da231bcd19ed145476f48cb84b94acf8e63f23554f158dc6b20aaa5a30a6eaa4d23741b41f10315cbc839b01cfcf4307b5fa42af8c14577358d089fc729cf6f3916c70e60e9010d50df98bfd4e1b97994484ec2a902b8c1f4c97fdb3725a00fcb3f272393a5094f2dd4d5610831f363c615fe66d4b8d9e185e6e0ac322374fc51645d70fbe5a86945aa47b83a28f3751ec89dcace59e77cc1eecc9ac0d9f61a24a6d5e05d23c520ffd886cb58047bb086d1b3f3391ec38e32eb426524a72d9fec787f68b6173e725a6d437c7fc6db30c10711a666242c5c901315a0f4727ca2344eaad1ada36607d66ee966774fb922751697a8e742dffd80a8b578451e6eb86f7cf6611a3eebeceec70efc5d1da8eb852767eb39c240118714cbab62012c90990a3b017d73711853e58c5e18d9cb0d7f749c158aef42ce1b4ecf4c87238c1762b9bf11235971b4e633498df2117231ec31cebd3b1d48c00c44f64400d2f5d1dfdd86dfca1319596ec66fd600253a9a33126a45f175baa58793fdb5772851541f3ec66b9ffa07d73db726b18776f8519cdd93305cdb319975e7188601c4302f74b41c985d2d780c111528080c965c2affdab0e265b2ad60c33170bd972c27515d37732013ee15c12f06d3972f3b3108451577ee98588bcc75d9359c0727510b807801014f37dd3b884953597edcfdbeee3372e3e1446a05ecb65fd0931eb61bd69763a002c2311841bb53fc4e22bc1fe6d070432aa0cbb47f225488372a2991b33384cfe07e26cf7c11ba4d967598d5a71b866c78c5f8d6004cfbc597248305da8741988c0beda561f54d61464b85e42ab992884d70c6505d0a0d9be72c4b1aa64793c97ed88c5c8fc35e80e9860b1774f6fde5e7a1d60dc395765e972a5842fd78319f9c57d4389f1a5d956af8aebbca04ed3c29ed8012a49fc5b2e727d1b6d1b7fe11030489c1fb7d4f79a00af96092a126af6455b511eca8b86855cb2f5413f7fca5b7f76dcfdcd06246c1e7a4f7854d6f88ec14834c3dba57c5028dc00a9f1ac0bde34f97f1627a8efd54baf32ac698f9d6144823df562959ae54a80ed83a78704795dee3403a826b5c261bae28fd8e55ba98d22a3127ab6e10272ddfcaeef1890d201fd44c5b753d94208db20fd42271536ae00bd1a99eac630728f9f85af800ebeb43c471f98d4ed823cd45f2eb3b6ec9217f24491cd2588140718130a98d5ae5ad1ea4d21c300bca7649515494d7e61a1e55d1b941d54309572f3f8ea8822717a30d4d97d83bd897ee98fb529a4ed2706321ebb7c021624771b69cf01db2eb1c824f6f28c87a52422c59bac0cc4ec9639c41c22489fcbe23472a3b932f6397fc9b44176118c5f64b691a4cb7165c5872af1150b3bdaf0c41a72f9b1dc274eb0656dd64c1d2bd9db8ad39ea68f4d0931fe801ff179b61e44a3723250d7b477a9cf4839bf306846d3b823e4904186a65576737b776135ce2bc40df1a7e6994a427470389ee59a8f6f6abaea6a1af0855f5a223cb9bd24e81b3072c5b043619b27129e2ef2fc7a6a5974d2b04d03560c8b4dd098f683f83b13ce72a419e9786ede12ce6803de5d5a4ca4b8265e4f1478a844ba131730fa0c25e072aa16dfaf675ea22e8a14c7ebd4ebdc0dbdb8217725f3b9b89727343fdfcee21fcbf079874e8248958ba373fb81fe46c0e9743d155927dfc7b7afe1a75070e172ebd6d8e42a109dbd668fe6c71b4477a45bc3f611104be1372f07d0239d12bb46d4b669e6b1a6ea28757708651b8179445be77509c8bb9f4aa1b4d550be8a70720f497ab340ed46ca448dbb6026ad4ecf3ec1d3f4d046b73289a8856d20c2e2487c5e9d31b6f73d0625ede23e06386df0080ea70fa7461fa8540261ca1ea1a972da65117ea995dd65fb23d50d923836614ab32ba6b087998b8e3f18a91436595a5fe69d0132543c5b11aaaa7fe54f5955a5f1814be4e9cbc4c7a32cd95b37137221a62229fc139db29d74f61768c30cf1b81cbebf0d96d76db86c9a91134006720eba9f32be71143fc1e4b57c8cb0f70323a29c132a28d45f0df5fcd9b07086728ac40ab3eb019c772183765c9bec23be9d57573bc26c5e209a110c1cd9ad6b729613fbbee1d51fb35dc1439fc8795387e1322f5ee645a7e80b8eda8f83376572ac6dc14015841a60443cf8afb6f560aeb879d03e76ad926caf5e7ec2781f34722fea0ff08709c42ceb171cff0641a698f0427753b44c90211f5d3988ad442e723828c446e249a1c5f4d7ecf5381364281e51bf8afa755bd53183b321045c5645e50336f8405548e11f8653a883abded8dcc661bd106dbeae0250a069b1636a723ec10d3c67cca31a2e57eebe68a0675adfd7a5e05219e3836beeb21ee469907243efc176f5050c33fa874d33b251de1e44fbae08a33e0e731e6adc4ac3d55d4e447ce3452fd8d1af46d69587fd3bdba4f97d28eea836080d10c324fafa3fd12e1ff4d34d749aa369bf562d805c83b00838ebac960312ac1909b7631ea794a0720b96d43537d2f7f2db18cc5af4195eea323344086cbfb83366ec877f5841db648fd3c85671319c5b3e4621b94bc8a711238c1b1e354ba7e9ced58327a93edd72277ea111a4913e0a7cdbb619704d2cb40e4fadef4241c29f3fc108d3e6cfd0726fee281c6a10d5057cc96c4d8b5c7d0ddc7079754831915ceda29efb86e14c45954a07fee3368595f3910115462760e657c120b932f66b658650706f34330372c14d13acc0a676b6901c083fa8938f6e1a01e89e185a30138436d8fd88caae258b3ad7995cbe509672710fa5325fd03d0e8132071fcf9d9680775f630c2e4872e9ca019da79ecba2090bf8b2508dbe66632e5c38503ca5784f591be86ae7b923b29c50dab21617e424c88577d0a798b9feb1247dd4554b427fc97e24266c3f6dcf9202b7ae85883ab54667daa7d199c36d9b95f014b802f12dcda36d2bc26608951b4822be3a25ab8ca98953f1a9bddfb18d6d2073ce47853710c9bddb1aae5d01aca5faf2f7da552d23303e20431549cef17ffacf3d491ee53444e89d68757232ede24262430af8de2a29f5cac58ff3a7fd91bb1985a5b7e5196dc7926e1a291308924276faff95f44ddd27b23d971ead387094a4d598721ec3a65a52f03b7295144b18a1374aca2121f5f80cda7d48320dd598aa1b55530e2efc47b3baf807eee48964207444d6566698cd8f12712d9c285bd52ab3ecce07950f93f40e9572b9ee9dbb2db98784528c535317502cd3bc4e3399ca03fdd8878c151108c07172acc316a32149641cc2ba163b2567e7c4abbf500532ebf0b4f4750baae005d072d71a4e358e97a5ec1faf3ad717b5b7d05be17a95fa03c0fa4776f5388d144d724771b7dddf29dcafdc770f01fe61bb65cd70d9eb77149a539bcf4cc788e23b17d2c008ebf8cbe23991eebb34d5e36fa9de3cd2403b3aa768e783248a551ecf50d4fdf35acb16a0178650530b0c0a2034051a28549a95b6ce927f71fabfb416349533e088070c8c32c235a9a9b1ccfa9567bef917bf6017c0c95b966db53d8f7243efb4a619c21871d2fcd3e74b3ac4d9bc8e696122c5b3f761c4c1370f3efd72c19541fc9b73424ffb93fd2a57619b7067e12e2f72617da7783296541216eb3b9de08603ec1cf7ce003880f67ba2ca2061cea580abf6a012e248f0b151600e72e3be281f564e7072bbc8d2781717326bbcb8a350e30920e4092ab1f1e0af5f729c7ec752c38629b839dc5dccf5086e95c43a53eab49f04b0442c0497d376c77292b32dcc426127fb6b6260c2478f5cfadc5f2bcaf20d70e9dfc0e2014b4cb9723ccf45ee140db65db4171b0bbe7dd14c3197f02763e07a45119f8a7a097f30726e0428edf53a7793b3c7a8d7c33ab34c99007308697babe5cd00d19a64cf062518c1c74c739d273fdf41e3095314f6c4796ba9ee2f7162349f0c04fcff8745727f7ea0e333558106e3abdd3315a01b03537f4f33cd533a56794b212731ad337259904a9f8f9a942315257dc235e470f1140d72df364b000b00e2dbdc208abf72a4d25027f53877691e6f0a13d6ce0ce1f28b888d7536787281bdc80758b3f572d904485a7ea85030508619c07973ec1f0016d10cdb85e3239c534c95eff04272f403c6e1c26fb7d62c40e8bbd5ef01c29885231d10264a0b1db774fbdfe1687271aa6d023dc89525d581b64fd8b5cfbf46f9a5375db15f5c7f8b6f7bda86f662573524e1e465af70856e0604590fc7689ce7ab38c344ccb0348be88ad51fdc38e4279990623f265eac2fea54ad375743450c3af8956b3b7bdd71b44232423772aaf220302e1d5f21f7745d841a49168d19cd901278ef490966c1a8dca5ac1372d7702ffd0b157c081a54ad9f64fe2883bc9d4efc8739763adeab2c2160b7bc72c67a3b9c9759b0c0120f07079fdadcb28a4719be6093612436cc75d338990e72e7999bb67848adc722f0008a2d8d1a8cd4d9ae2c87f98b1909413a8daf953772da4279d77ed2f51669d78f44c163177e7b9b0c64068029c982930ff32fd4eb721e945a27dea75d1f66c4d5ce6aef580f6da18edc95719e86ccb08c965af4b17233039e7cf3d484e0fe468a07efda8cfef145be16a0783ef8881550f687ece13c1c6e5da088343ca6a27218038dc791be62e81e6530e9f89abd98a6f86d8c7a726fc2fa11473037a77f4932a19e7de49ad7f2ec6bc934a9c78538d2a35ad6cf72f7a46fc309f52497ad3d2f0bea8f7d50e404badb2ee2bf19cd38311a9f85ad5b4eb82164c7db35d66d1c53ef81850fa1f09073b2713569834aa8366112b721728c8b89c549c01cc1f25380fa20f35fce774f5448494829fc343f89e73d641372cbffa335e6ba3d4d3a3629c894efa30e112fb33c687a61fc781b474ce1a9ec727f1ebd5acc3462a7eb3b519317f62291eaa61e148a75632f7f4268b071dd4f7227cfe75868239af5ff38f129c8afd6e8e3dceaf0b4525fdb664f351afa9d8b7291f9afa21dccb6841906d865185a66be5d769decc4003c52865f669b66e5d50de0944234cb9fbef663ef8e07df556ab74db8ca756fdb7661929de10593fb65449e9cec2d777c23848c92603457b8480554d1e88cc04585aaf3ffd900e12b667288eb1543ebfe2792b05abeb09714b7e41dfb6b83414b638d54a3f8e8882d1b72e5df3fe7558297abb03f6e3c78ae75aacc17c384265a5dc4b854ca24070ec00e58cea2b5ffb40f1a3721b76114d1af5a479fae809b161a67b49086b165e60300f1f603f34a0f92e9c50bd85f7f06528035171fc046476181a62130e362994e72ed514b664822f96afb9e68461b9040cf181e74a9fbe6f1a1b10fb1e5a1ca272b58517cac3cf42fca7092f69785d97055ad4fec12c0c39b4bc480a69ef4505b1f6805ba9dd7ab5012c69a363d56af8b52878ab7a45eca0c42a5c8a1cf3418ab72a57664698e31d5d2f890b7da2fb6ac8ec2426e6114174f6b9d19536d645df0165b90925d49f92a5bfe952b5db1bca340c65f71f1efbf6be5a2702a15b0eb0a3acdfd963a0c72028c33f55c342fe712cf28876b76d6353ddb7f2de9eefdfc50725005b1c1623b2ca26f2d68a07eb23b72b7dd698e9ca01577be22705bdde2c272742c9f34c94cae95fc7010f0691785c1e9d4fb13717f6833798fbf3391a558496a914ac7b67e8f6160a0f1a7be3e25d29fea6bf36e98e7ff1c7285ab7ee8870b58d9dcaac99aa46983f3d31b7e1bc2e8e5537a2d6f87723728451ec13b0978727c92968b4417f8169a523c07c8dce3153bf646711dbb976651162bab6830452799cb638bdb7b039fb8ce2b52c7c112615f9191330330a22210c691bc4d66c01fed53101025b3e03631048d0287d9e604828ae80beb4e13521fb252bb64dce972cc675af8080ad37d51e18ca8ec62c68342099296f8bd76fd49ea39e93a05bb7258d4731ce82347fa3cb308a36ce1cecce0c23bd0fc9c0027fffad42d04cd1155ed1b1ead61d9e961f337bdfa6946e817e5192484dd52640b8647dafab9db357220b37341198dd9717f7f2758ffc1ea8174373b68edf485993e8621a5eed03e72ea495dc1c777fa9c1918ca181c10c795f1860eaa4fd5398cc02698cd83c7ef24eb74140fe2d708f024ab5bfea7917407b7c22afc4cd5792c02053176a1d57b72efaebe616c4791ec7f77dbfd5a8534c6c9ed85493862cedbb527d0ef1f16686186298e8a4def076483a30b8128361d12276e009262581d057de9834965229f724f43b2bc1ddfcdfd68dafe139c542ab9fa2f07af664d979fdee829b25a0e903e7d41bd5653359862e26614bf593fbaeb6f8da4bcae552bbd8b237cbf5b79ac72ca49d8cc0839e2a213a76b4b9dc1b082d4c5a2d96ea0c94d2c0f52f34869bf72ada6070ef5c19a0bf3f57fdb0f82c95f63e2499c296cf2993a9721d6783ee4728071519613d55ffba8da793c7b9ea39db4f65043961df5305305f11ea7878072514864b55f227dd30c673b55bd9f219eb6b82989f7849dc4fe472e4c44ebaa44b3e50e09f94817c93b2238647334a99f61adb356e4a58c9d8ff85a7aead28b3954c81013711d09a88d9ec22b119e44cdf14378830835d99d51481ba918c53e308393ed9513fe460f72f26f87a5180b74328c059053a17f35fd8d934c40d9193b59d3db99197ce96008cb90fa54946c5ec3a98b39e389916d889f9a98806cfa17e8c2178031d217b5911487cf76d768847cb31597cbf39b029889b8505d8e8172b6c601bcf9161a3aea5990b6866c5a800f805605743a19ae70508c5f9aefc3729412b5f23c0423db403d3c77d4e33d44113bc792902ee07cb780bfe7fab77f5c2d0c5e04a463ca74d053e28b0076b194f87f4e36ba14496fa67bc346a63a837254235466e706388405acd3b504e24854eee809a92fbb62c19cebdd7553eaae7253bd8f723beab064d29fec101200e962f55b36b020c208acd74b5106bc59580f8974553675878fd53235749551704d7aa99b5b826606faebf56103473194b972be52cfc5cf4a488826c4d0d8ac21499516bcd05cd1e639e5cdaf3f442b29e5283f1b24cd788c5d958d0c4988a83810490213b8ff0d14846c3cf5ecdd783e43721c3ea7ee2f9620f3d30b55409b296df0dd338834cc338d5b198bd530fea3dd3b660308e65dce00f0b1490b25c2d94aa3ba7bd73f975617c0ca34163630878715267c67fae6aeb6b78a99aad9acf1105faf6b3dc21f986a14abb8266571ec69386976565d992abafa89a00b577612a3e24670a1951ec22b440b8c5b12a03b9b728842579616699fb3d813cecc154ba97bbae4a9fe9111d3e4b1ae696d831c4672346022906e374047f748929e1ac2f61c12ade42c852ccf272a238b5eea0a2d38d470cec7fcf14538c71cf09f48e80f78c351a38127ab8d1a7c956c5fc3c8752f0f9c8ecf974c686b7e72ef4005bec8e395f2485f0c66c1456c747336b23010320a50f0675f7334d5cbb645d69157fd7a6a88972ea377b5240b457bba7a34d57266b5a1a73db56fc4233aeaeb4e5632225993a1179dd217cc0b57efdb6bdc4e726f078b6b717d833327f0f7c9a74ce5802a47eddd3f3a6ca17235b4985b8d9c127b99a5e552c820c4a6999541c05ebf87e2293a3e1f07eaf59b570626847b7e0faa2665eeb69137c79b64237ed13133bf1f5557a43d093f0f5e658467a80a7c72b7fcbf4eebbacba8ec80125093dc0542c1609f3e2560ca79ad733dd5fd2fa3092862bd74486191fb0fc485da276af053deca6de22e5521007208d6ff7f4f5e0882bb8e8996f9045bb7d760233692109ab9e316c88a489fbd965640ca92f4576a9b24b537bdec2ff1d1fe27a7349e2c7561cc0a235c41c77f7281f6f50995d05d41b1e3a8bd29c682d58e54e8810cf50232a282586ccbb223c5b085764327ac723e79f3e2474b8fa5dae129a87fa7be760da32c6d2d0efb13aa67dcf3921aec02512b9df13c769457c157543cf14a8fd25e4be5bcfb74f604a6f4ec8b7f19064b5f50e03f6a294a85fca72c5ba4c5a650a2638df5a2d199563f4dadee5c82684fab7581e0eaa46ca5de5836da4c716f38194e95f660573cb0974a871fbda982725fa12a3baee33f7ec94cddb6f838c093cc3d82f4374237658b41b0486b4f06729231753df56136fcff40375c6812f59571c7e36aa98fb619723f3d1e5cd1257226455e5f35a82fcd61b2a8ea2e5e32234c6457315c8d3c4b6a7ac35ece0daa722d4b712a47be702371218ae78b0d3a655cc15575542e1342d6b235f4fe40232817dceecdb19bf86bfd3e6ee1fbcf926655846493a34b61beb0cff3920bbacf12df3d72d2969ee681271310229cb8eecb0c25fdc09ad1722e7ed43c054ea91645b16c893424ca1bd657e6230bddfc6d443f2a57478daff921502e0e68af93ad7204acfe8332e90ba67a2224e038498a9f4a7dbe5ad77bd06d97f308a8872c367289af53361fb74f11dd4347d2b0ab624a347d082433009d44ab4497edf79b5c72f19c0844175cfbc7e3f9c957c0da5cd9250b54cd70667b964ba8bb0b899651721849e4b29d0121283bf0ae7ff06b28340a4916ec532e1ac97cbf083f1700327203ed69891c74399098fff9805a9cfbf87b950d11ff70d04671d399ee8d97f05dc05f904484282c072a1689717e6c8951be2f5381fffedaa05f288dc33d80b3720533b203498b73aa7876df23ff5c5d00c931a50051a3a37da730ea3cc0e1b709e4df36a4bb1822ff5c15b669b726635e0c7252d8c5917b19fdf6c4946774bd7264ca4018f242228e0e60e523d0adcabc1745a62ed18e50abdd87c3fbf7d2d20347e27877d1d60817529ea01f3f51f37ebd79e7cd75fcc421246ea57557350b72106ce885ff4a00acf10bfc3b285760887e185c2031218e3897e88febc7e76d72074222959f08e8add23d32650d940a37dd48b11eb3f112e2fd58b280ca81277253c903f47a8666c2276f5da840a0b8f93302e71f12db411f839a93c6a39b310db82674ce301b68b1cfce24b4f41dfd1e9e7b74e8cfcb13f6f9c0e80ce0f63b726738eb7be765380890fa5ac10b6d8d0353fd00cd40cc67e1d81950e11af78d6347cc0067be31fc7e8d97bfd5d1fcec2f4475ff8a9011938d725200ec50e8801d571f365ed7381ad3079f29990a29b4fd2571e8bf7821ef627046642d529cfb4db7e403741eae97237e1e60416ea6e881029674e5fc07fd708d36aaf3fdbd2f06b704642e430fc0e61a3ffdb853033c47134f600b5857f18105d875f7f8d41f72f26b5bce7f3fb6edfb2562372f090c1c91b2fa26db1f19455b2c533ef419be72f1eb8bb831dd49eda55adc7b6404de66197743d371fda72b96f8598bcbbf5f3324a6d7cbc8da466c5410aeac4cb2ce58e08a50ab35bd2659614e3a1a8f2db54676aea171d33681e9d0f820698ee4897d83d1f3410e168f1182dbb5b614a22372eda87cd207e55f9ca0d2cdefa40d357526230b05da050a4f3615dd4634a30c72b410ca77e402b5af7fc29c41e82a11d837dc0cadd151d816c82fd920e86e57725cf43c4e16294ad45cb730d89d77f7612759ae63f7a434b51a98446c2a4cbb72a0b471f92f981518aa3aece78a44b084f71910a7b531b24c8547f9bdb15d4e704fbb9d99153b59ad4bf178ee488599c6e60d0dea997172fbabfa612e758406239fff9ea2c670d95aa60df5d9864d72e3e7227e0097d0634ea200a2609ef8d44f8adaa5f2705172d4634a0a305648432228d1503db7d75c237435eb25b60bf872e6e9e84143578cb9e9cd8a409400953f7d5d5c6cd163fffe911ba58ad9c80f628a3dc968c55b113d624f65eef4e5aca9f17e05e53b4ce3dc1a63961bd243bf72da12fcfe3390ba28487e3d64a4fa4df66ef19d28e54417fb90a81ff511265672d783f323c6295f23b1b6e52e0de3a9ce9ff0232a1049c8a738ab4d0dd20af37293385b723a976865e512a54c86202dab9b404aea317148e7cf4495df82350944616d7af75b1811ebbba1307d42e0660fe7712c79aaa6681fb7f931bf3e983572b9123fb814a563e95ebd9d69cd2c6a98b88fd2ce293ce74c409096200989eb3dfd0a5e2914ea350c4601634cc15e69bef52ecd75acb12959d38d017ddf651772cc149c7896b0c474956e6706f5e654e6a22228286ffcede3de5400c49b11db067e0be100c5140161e0d70cd82932c31fafab2750c21961b36b79a036b2e8d15e008e5de5d4e042fd9fd2b75effa752bdf8ee09ba86c80fd081d8e660f9bd9b54bcf2d1dfa15fc6173b0e20725659d670b3002666874c51b1139ed81d051a9d72a02a201c98bdf84182da8d4dfe7ed58978b64093466a5f023709f626c7d8ce72a16048ef38b8026ee5c6366b5885173c724ed780b123676acf9cf3aa4a60a47211ad69e9548399d4cb4d6fa96b4632f11886c008302f8586744b35fbb975487211f36be370e2c1b0a5cece6ad3f207be31f5ce2baa063b36c014d5627371a9728d2429ae46e6650dbf51bb60fe5ace515de005e8ddba58b6f6f2c08619fd9264b105b0cf968ae269ec25f6ec9a207cfdbde50ff2b14f1afa69f85a1338cd6172f5221fa0b6b6cb95f100262fb123d9dba40211525f9612a61d04070eff5bdb72bbb5fa1a7b440bc59b70e45e663d1e225f41168a13fd0e685a76ba91604f960f793eeceb3698cafc2cdbb4400a2e26bf26a8104983d3b294a1a07975e2bed5727a4f290cad6166c56bb53d1519d358620d79cb59c525de07cfdb4e3b7ac02872a529018ef4a91bfca4e5de215879ec1e85c1a3f6d254e8e3ef4a4f3c76cc7272fa178a853da90eb82ab4dd2a27c179bc0a98db8543c837339d1d54403b1ea872569744b3f16eee62c9b7950c1198aa8808aaccf780750dfcda9e65c8de9f48728f7036df9c0836f0c4651551f543aee7543c59a8af803e9eb25c22477cda58728c23cc301624c998763b25725d9c5f85f8a872a6bacbbdd3a3b9767ebcfb74108ed945cf7a01645245d59ecad54f8e86f5c5a10640da6cab7143f6f593f3dc720943ff7512cef0a990a2ed78c80d21dbc1c5b93776d1d99c156e53292173107205833d5d6096c233a51313e5b994b1a0dafcff879099173195f7ee5a65fd534da43987c8349f35d165f9aa194e4a525d112b957e675ea32222209468afbbb872bef363917dcf6bb6c87de85224c39995ad940331766c5983905fe8c314f159245805b8947e3aeaa5c65527514d660865939142892f61a6cfe2f71e20a1ea9d0e6f6d52cbe45ba10ddf114f08f97213a9cdd3e1b5e971c31b4c5643cafa8e0a09242b385963b1a70f2d0b54170633618c680c2523417985725e82fd8fa14d09723f48bf77d4a66ccd4e419bf390fd47f0a6c380288368849eb1f1773d98a6f072b4fdf0a2db6826e8cfcf31af76abe89f8477af59a2df252423127d8da5097c3b0585593ac8c52ac9dc914ea00b48882f371b2351ce554c11e9fd43eb6398b952f204d92ec3ad150c70109da6206bb91a5f606c20d5b95e48a1bc83850b8fff607fd83a5c3aeb994cccec52af3d763840e5c2f540e29bb247f3a130b045c0a77287522d4f7d2611d5f9865f7a993a98d30f23360e098c7fa3bf19dfa455b52f721743d30049a60815c85cbbf9313ea600b06dd0fca6fb65df6c0465e40dd1415fecc859e70ef81a0392fca52f04e3322e33400a5af41610f0397e929c79a31f72dd5b01f1fbb23d51cdaff96072487231db8312f77aa7ad6132370006ac5cc272ae900940d69407e5d21e4e92a64e39d70e164f6d34f5e849e376b1dbdb620f721425b391be0eb5a0fa0229720b109c64b0ec35f5880bddec1f58ca076388ac724e0ff48561d99685411dc30c39e81982d7851a8b44a14bcf8922acb892b4ef721d32dfd0e23da81435ef060536d926008dff5108f022265f8c4555add66e5d55eb9b30da330e743f474ca9812ee2b545a3524100c629950e529861dc6cca780b1c82d20da6f516614c50cb4ac597e73a1ed2a1e72152c8e607f952697cc2d1442397c393e50afcf1a29a63c10131b277d7eb78add92b7a0caeaefa1e5ab04572e29c4e51622436ce9b71dc0c7e6db63152b0147b7517311a60677e9e8057cb44d257c06aa32d66b368b1b03c4698ebf4618fba9fa9c1cd3c3257fc418a1dd05bc1733b009ccd1e71865af3ce42f1883d7ba7abc43daec0e7cf957d3af819bb72ddfadd6843999522f0b205c2bc1e1972229b202d68ca48f3c47699182490da52cd34593cba94312176747646fbd608ff5fd28cee5ef119787e29091a90029465c3d432aa3145d5fbe153dab052f17d9f560e87aeffd315a6dca603c2f084887275f61810416aa07e8fa2fc012bcb2fa58db728e2aa64b80046b3a46b6138cf726215a4b8aea34996611db801368811f89a0f0a31021b7405444b4ad7f33b903a6e3697518dd8bfc385b8d22523ebe24ee88dcd73f087904a66d1de1b577bb7278013e752731672c6961b5f3984cd21c21553adc573ef33c097d6df9c8337ec72461d8d372514cf29a7ef82e6cd1d41ba6435aee34b530229416fe98229bc1634deb39abab4c59593b499404b729f9f40922edb0a2e37b0a85e9b26f30326487284067810362d5e2150b6b350afa493d5f497288497c193ded8c1815b34ae6f722d9ec77f021b5fccf62f969aa661a8abd1347be82dacf790c8a62c7a1330b145635313ddeeaf33175b4fbef2094491510102c71093bd18493d2394d958b4ba727765162213391131fd630011ca6e51d78d057432c7ab972e9394ae7ad2b49f5a8f39ba91451f8bdd2e19b0596a995f2eef4a63f8d8398cd04c8b72a4f26eee348996ea2686d020abb9871ab8724b0b8695f1d744fb955b93537c42074609a35e4d4ae3be27bba6760a7f9f9b501f093aca256d7c333991cd020adcbcfd3faf724f97f4bcd112ce30a69053b7764a79a971a15b3671c8d9c2605c5585c912627277bd0264ea3613d20a8cfb1e93bad75a5b8aa84c089a4c0a868d51b2d4b48b5f6dac974cb20f28cdfeb49587679f8510f823755bb0a657efd6826b10c0d29f72d404862995156e6029b9f7bc67499f241b2a7a24bea95a6be5db42f20483903f0e369c8a1250ccf450d820d7d2a5faac71ea9e5af02881a1384a54252c2266689f79db78ba41d5997c84c683d9ad5f6574149b28269d54c748f2c73aafba8d72907a7857f70c0d71c02d90ac15a31f3489e0dc478663a3cb58b8ab198f4ec465634d4221a1792d6796b9b66106337176b76208fe17dd6a2a1a6322df6cf6b863cf3eed24181b7c688c2d680c136c3f8fb1ac1f7cbd799d358d9ec3b7ec261d3a12910d5bfb4c70c5ed4aed594b5d023cb02491f16139cf66eacef757d9989e72df5f31ee5f7ffeff1d67a8de0feaa164aaffc434e84b02eb098369b9b50b9b278da0730ce71b1581fd32e61dcb4e3f4a6d363b9dd643247253c5594be31ca67239e145829079a7c3ab812e70fd96b7b4f7a43eae01c2c1acca9be68b3bc8e76407168c6d1e7c41578beb4d4e96542c36d651be3de93b261e563b8b43cf07f42103a10fe8dd9afd0a67fbf4041462361e89b1e4ce14579315d7ae14395649417264cab8b23d370ddc5c2330240561cd3f9734290827ee5a878e498b850ae2237233baf419c6576c0a76165464ebef22e0a5cbdb7944aa77cd187dd87fb5df1d2c984e18898a307c1f48d0bccbdae1f05d7b20ddf2a6fcc1b1a5ff943912ac5072d42367f50d23f09c2b675f3d9e21a7cb38877638e47ca06c809ce394f75c1b652c0e870d7fa19eb1062d3fb870a06ce2a1cf8dace2973646c75bd9c1dc6b6d05266557d7c73c666e41ed11726d6a90c11ec32f59ec9a89386ace23c9ac49133f87a6d65e0e8b23af76c7e7fcc424493ec3105041ea8ba21df407d30033a89c723a32b9dd56a41b18040c4b9b6052f6da84ec7f372b83ca9df28d997f9435d854fd8168a382b7dac9f56b8b1c23c8f63e5410a834a897560af08a35e5b6f4097226de17ff9b3ccaaf587748a1b0665d934f4ade8d3b62c024f2fbb6b9f3e30372132a76520068c74cefc56804fd9a342b0e26f0d93d1f1ab379f8690a4f6d05728fb948c4239614636e427d290033bd2c7c8a88ead08a0f552d946af17833e272fd8a329360ee08286a426a4d18ca1a291da019ddc0b535c24e70eb72533c917219c46e4174dbea939c32d04ba6fcbb67c572210f225358311c81bb991259993200b5a6ef891bf1d0c05b9cdc58bafbb55256d43d095e7708720ad02a48401e726996d1c9a43d1eea7644fdebe266578e5b503b1354176d2ab53189ee98e04072bec17ac2af6aceca9850ef42a906c24d28506fe14467794b0d4938b73930bd72ca3b318c5e10ec364a4440de431e05c7f1a20dc3542f854d27144c36ecd7f7712bf834b261b187d827dfb3e1a1f24d3c281acda6da88a0026ad99823e9092d72d49718e88bed8dfeae13476af901cff52e590d7dfc809f4f8a3a3216b1d90e42b41e66c9126190d5127749fe4e43357b2961688b301d4dcb0a05bdf6f5f4a843fe89d27afa9640ef87064079f721e27e3128a98e44ec3d50ba9b5206c03d177283f763810b530919030e8d9c1b3e45f4d1408e67f9a82a22e7ca371c1da10c0eaae398344ff8209cb7a877368c2ea865a3c08e58294da89ebd1546d8df02f8725bdd784f1169c7bbf01b921cf86df78cd812d286af7c9aa40648bfa5ea028772e64d1d375bc83560a4f4ed48d4f8790bb9dcfc0b2a4f9278bc5a13d5bc051c7238f3e9ad20c9845ed2856bb66ffca5bbb9f10a374654b5b983ca287a5823b145220aaabdebcc1d406d803d859cdfb7c1e9ba60115b9720e4339a2f56cb33192821ce6930e6d9e834bd009d2b812267315ade0eb0dfb0893f7d467657ad1a217222d37d75540b1f825fb8af9b32c8d66048e024b11e309350e491e350627e6d7244a5a135c9a2abbc484db479aaa6d423c45b1367224c2d0f582873d27cb5357231a2d54c9a08bdfb5010e8eb4febc39bcb45fb69efba48f513fecc8bd60d0872dda85109fdb450c62c691a65fc48e294b9b39c840d15b4ea91d3cf65b8bf7572e9f8fb920783b4e1e077d784b54584fd314045bf6312fc093a8f3d20d873a672dde7227e521a41aa1ad249b7394c5c6819455003819e4d6f9247bb676bb0a072bff2e5a5f0cd3f149758467bccc6f9dce65a453e878927b5f6c709430bf5736292425def4c024d99c4f3e9f7838218fe1e6cc0669a79550d8386672629693713ff6bb75a92d04412049b420ca33fe8e8e546e668d21dce853e7f5b508f5d825f406c099069329464dab855a794b3cd068a310e25f86a9d98900a739ac6a65472f73f3c6d19b2b79989959a5da080d878c53bdbc61e828291dc871265a7d0d63692dcd93d8a8acef7d1e697423d42aeaceb6fe84141facb483c676a504275ba44df236a805c9b5df78b196748f17601df0ca4c1afc5a914dad17b8653798f9f72361c14287774f08133abc227373e3879d5071cdbc071e18e5ec0fafdbbd1ac0bfb7111bd399e9730fdeeb6439c7512ee4892889b6e9eefb96ac5b6d279487f721406c00ec2afc6555d0ecb2bf9282b6acd733ae8a7298d5a0be93bd44ce7ad39300af7efbab796f1609e35c036731ce28c96c01df2f9001d887fa6a69538e972c5673c2adce4de05eff8261f00cd857a71eaf0c1a1a4386ecad9763bbd881c36f6326ef0fbd36ad475ca9f1200e6500a92e0674cfc8c6149b31e96758ae1ab5461ad54cd54a5a3d9f8449b2571a665083f463db90879824c68803a66aa0d01728e24eab7fdf2d7d32363edcf06443ba3f9c98d1ae9b13e9ba501b4b160a8b96ae77871e4700d67cb0d32ec45d692b51fbb5116225d6f9b1f61c7f28757b87729cf02227b0a4055e0f51eebfb0c69a4ca7b2cb3cc962bf43965baa5d6fd114072a4da2fdab206611f68f595f0c4cc3566c1e397ad075012a10391a45c8ab7e33fcd42d9af77dc9c6a4ab938dff1d19f2a31999643e090d912ed316216f3bcb754613041017183c9125bcae3e2657795774e6e7e0666c8dcbe1ecbd1f2d3e0f572b205e7a23ce70ed0e6f2abc866fc377665be28bd03725b758fe24a61397e0047c51bc183c30cb1fdd4ea8fa7e52dded62597a8928afb22cf0dd2812c22f37e48067e3b1d6813fb680a6fadcc22b5bc174419e2233f71ac63f9065f76ae55fe726e775885a05c55af82774e7b5aabfe99616170e60fd2cbea06f8248f76ed5d72e8fd48bbd600fe4f15dba440dc913b8aec03a1ad441e43e75bb910cab4f0c57253ad35d87f713f2fbe9caa76d999e8b30f9af7b963367ede367a413961222e721557f41d7df534f14fbd07ca53aeeaf1973e24be17befa64b43b2e946d14674a50f14225f1fb4a9e35beeee055c4ed80ffc3e7b046b5e68b3c250ab8972deb525d049984d0326f1a96c358ad5bbb49e087d84c2c406286efd5f9d36c54ec862f35e058b1ae0e76996b882b9ff6dfa5d50512ec93335778f15c3c841107ac251507aacadd748cf46b1abfe11281770acee830e6483592659b583dfed2b4cfc3720199a2071d76b5150afcaf50e05ea92ee394704ff1d82d811000fa8674ab3372541b660701ded30ec14862407726e4b5dcb8e23e8c75691f472da2f77b12a672c207353ff3502c2fd4ae2b6163b69131cd736a274f7d824935946c7b3f2cd172dd4563c629d66df3f0e3c5023ea352b7a26ae017ab850f5617279069252c5c0bb2e7700e2eb8877a5e4eecde6a441793fc5cfc92093811c2c7660364e7fa49720b943e20170b6654393e98fcffe9e20c3e464a03acbf41929cbd76898499bb72ebf000e16bcb010e76e20110ef57cbaaa39506c30f7fcc8438f95d90d01a7772b5d0eb3094934de2127c5adfb944ac46ef2872812979e0b7183a1bab190d05723935df2c8551125a18109bdac9b5893f6df2ee00d039e0f53e36fd25f5053354c83a020b7538d97a863e3e5e2d0d00ca7ff969d9091d312d18958c373588cb5f49a007e697134650b8b479fa9eb196a4cb96b0c6e484e8511ff97e0ff7bac74450e910858b0cb02bf29724cd6221a67477ef4935bdeede3a4aa384d44344df727504d53bde719b97cf117617ca871581035239733d7dd8579ee9db55f5e73f726823f8f56267407c4bcfe3bb74c565996da58013b0a784ce8f932b6e0639c235bc35ec2be3a0c1ceb8459e92de9bdc2661cf4a841366201008842cd1d562127262c32afd8bd1bf12224c01c9b515a6a19bbd766256a49fb6118d53c808d30262b4051e90fcddcf6df4b5bbae7ce82c5149af8878ad10b3603d8ef9027134a1004bccd6da7465cb1c519b53c965228a5da7a79d0c8db6af1faf3238fb0a4c96722a97034a52f8cc4fef6fdea744bc2ad30c6d20eeab130a83bbae0b2b25041c722cdcda41fc3babf37e623299a33479f85e6c09f6ffbead3137edbcaa8def7072559ec9844e5fe6d2286cff9a680fbca4dfbeced431379a15a06365ced9fe94210cd92cbc2f94bdda9d25fc3014b4c710a56ab7f79efac1afb950d0fc85d3a73ac2488928a5a5ee89b83b04826677dc30c45bed4dafb71b5e2a61368e5d039b53fdc0747df13b07d709b0232c7e93e23e9b800225445f2dc00f601b842bd10535b96fd79a92181a3325007a7c9c1dc9d6949b8f7475603e8c2589f3debaf22b72130b3412e25b865ad62fd72bafe6e163e830eb8aa76586c7f5b6aa8ff13b141d090dc71b97847cf55080485068cbfc3ce5861071a86bba80167f84011c83c8358dadee952649bb12ab311f81792c3e674f91035d4e4b0dfdd79535bbd7a1ea721de25d6a679c62356dadba298235a47ea655683f2b5559a525e382fbfcb6af72d3a64bca522649e986f6099679b5932a86f8308f3c09ac4abde8d5fb5ee3454b21eb1c9f9aa60e13b1cb499689c7b02da512eb377f4e1135dfef8e448afb754fa7f798427a15be11901f8497ccb927bff0c7ac99947e9983629e42daf9023a721216efba12da1724468f62d096439acf292cb9a6bdd829655671475e57ec6272db5af9871979656df708fd48aa177dc37a50df01cd87697ed1867bfb5120cc722567195d7c1b12bc30c6386adcde5c76b448441b6056d39a5f7fc8c1f1023462da6fa93d5e5b69630fd1acbf46bb94fc1c46c68d119fc19ff852fb7bc4ac827289f1896314bc9abbd99049ee4960c68b8683171e06751f2a3ecbe79b28956e72bf3b4f2236fe8aa6f5bd4199abf325e37c3fba9f29be1e613ddd4ff77725d472e30e1dc7a1abc109f35e763e463310d063ca386d6ce60a5596a0a93c992e82546bdb7ba02c3534d1e8daa10228390ef4450de8b8c9b8393076b6983d2ce3421f7d23d49db7586ccbc07793bfa55524a9f07c4bc5dd9b9120aa84e1324e8bc35f59ff51c9971867cedcb6926bcd68ef79f9dc6629ad1cc8c08052a434d069600a32c2072f2930ead6d2d17bb95562a72b6d0414ac1bcafcb9e74f4480ddb56a418e1a243a33f149c62dad1d776f01db138de4688eba5c83de93e6df70e975777261d80e35f74790270f8f0d7d63703a292718f1791a2548ef2ef01afe9d6435724f34745d3ba04a78ff18e89c716c914118e183708d44539ba8df09a4eb0e227214fb75657122e779696bfce7c1d4debd535da8808e3d59052bbfd3537e9e90729e3659baead90eae0dee75194f1b3974f28cabedb6c04aac8f08ca733dbeda72c13fd499027c72d592942ab55172cdc76f8b83a21a7e105ad6632fee2408407211162cb110d525b219dbd685b665066c4bd9178166e80aa532d15bcf6e17956d9470f9c085390e65d5f903d30704e4a341ab559ea4a4207c3ade1b163fbbe972471658bc18c8b675e0fe18a0533d3d5c2d9e77d3efe56ce7934842714eb48e7263a3e1a2097b15444bfe8dbfc22713a80dd8467c2b88ceef41c597f324dbfa68a639317d079abede30ce36cd82f292d4f2b288a62cbef302b6bdfbe2f27f1e72c4df6e52d7f9672f38b2aad996f08bd4077f946d9bb84f5231453a89d8d3b4725a8d19c965c3b4799c310b7243219b4bd13ac5acc918a4bbe5a27f44de4a1845cf2b1ea112f8ca6e6d63b3d005d9a696914e37f48142fa01c90590c20dd83772baa95c290b38af11dc04a20e45ef7076bce1090199448af14c8f4c5692fc71722640a0cde98dd3b4bf84ba9bc16e4f6e6fc79aaec3345c9078170c7dd5fa2f72bd6375a39c83b14c97eacde49b604d1baa10655cbff8a632f3b790e5f8a6147260ef46d1242f41fef599ec86efe8a539b5514d3bf7958d97e3546fab94377e72022a1517678f443f077536775940997e7c40f759054da54c0311fd26ecfdd272566fc3287b79ba362558fa75d6b6b4ced559d8e99880b450b2439c124752940d6b768b14393b0649242e560ee1a0ec186478480d08f493a6257e233f4552d76c30428092bd29a2b1d83582b15e50f04dbf03035ebce2146e0e298038e34dca4554279bf976e044e94b4ff86cd8ccd45adb6c64d55365a61348577a3f2798124501b2c15288b3b309932f0d09450484b1d0ce5094b2ba6c0df3be38dc35708b72f5a4519a9122a87537140e90c4804eda345ce7206103380d47e80c34ec101a1315961b8e2b11e31e69c2f9cb22db657c3d3b40c6dee8ff1e934611e1c7d128729a215497b88fd6d3c3076e5d600cff9e342a0121c70bfd8c1167fbc9a591d43f5d7eade3cb01053ac6d4cec6e1d3fa5be9be47bbb7242e6f52d8218fed116e6dc26a56bbc7a00038e5848f0702a62877bf35b5c42e3da3ded0d5f4ed6112e93fdd302f89863873aa0fe871dde810eb154e3cfe65f09b264a8a39c3c5eac6f26105e3ce1a87a37268e544dafbd053ae3335808d5ed05873ec2caae21691c0a46aec65a8b13d0854ccd4c9b1636f4fed01e438b1bf325d625ca1e746f140171e723cf67a095646f4c7016c4bf0d23ad890ec582bc9ce9ba25630d92d2a1181b56e9369e0f6e4415b0fb0e7fe4cc7989e686f92f7b5a4dc4849e878622753c78f729d707c4bad4b9973c6d1a6288ae2a90df90abe49e9c1a9262434080a0c046157b42db4ab453b4fce56a0e72a7224425e9ae55181f860597843ef4fd97b27537268b3154246ff7452d3a8ee7d408b58928915c608acaed344f6c52e539e6a720f981efa7865627766d77eaf5c5a2d61fb0aa25419c8847f50e33532c556030f29549df00a11e1f791a665230baf3e7c5b03eade923d2f138c5272f0e1eadcef100cd7d58c24c74dc58bf450af33021ce289a74f481c1f1a16b7437e31c4e5e07236b0d0ce49c1a626bce5208fc2d085741a4cb83f30bfdbc13d87ee7973cac972e9d2d0d6025f97ae8e11d33e1758abda9c621afda6df33745a584920eb19de72d35fd7a7128d1d5814e49320eb9fd59203f34a1cd0c4c48db6e447e7aac10b72598e093a57ddc144b7df99774bc8c916516312d83280da6fc040a012416a042f3893125dd7e63ce23ee5996e4b7fd2454887c633204ca1ecd0154412cd03e6729471503bc9734f6cea5f0e5c671a90acbc0abcc90f5a96711a06ac12030bc46457ddddab1a837797a399259a9e32faac995038d05adda9439ab20d8fca0581724a6eb72e34b728466759e3b3e38f49ac9b598565508d7c08c7a7e3f267b50d72133739caae26ab8739e768a3bd7f2c6d7ff7e72c206e7eefe609df6f3f9f133b3a9cd7b6d1c03638e649184be1a53a54e237a925b518288102e17e8d3cc7f2723ba99fbbd5804d29eb333c546424caa549d030013ca24fdddd88e8d564e06b725ecb14559584802986e460807522c249cf6b0f720108998b4a7e4f5a308b28729c538909f555dcb1e2e9adf57656060ca58cea55968b34fe75b05259522fad72e39906a2686ce945eb3c61926f3f994641e21b7dd47dd0b1bde9fcf7cc64ac7233c76b3b7bff8e1782cc3df08be57d7e54dd0d4afdb97ef2f4ceac5dd003a372fbb8eeaa3c7dc956348f49ce14cd8da66fc1dc1242fddd74bedf3f18a0c7de61b838a299496784a946841584c75a4fde7a1ef5c8ab01f33dcef5da1e736f20039050fcd3fcbd2bbf99c687a7857dec20472b41f65369e1ec2db6f0a4b94db7339d50a42724525a99bbf2b1bc91caa3855bd81e449fe8a80c50afc7eeb7fc6a72cab0047dd836b0dc65fbd0ac55a6b42ebb8c365056391d2e842888c740fede1580838da0bc750df9063acee75649166d796a472d9aec537137f63e7bbfe77f600a031f48e5052d4a6f4a084464b79f1a36438ec9f9652db829483e82014c4f72013dc947a64ea8a45fd306b402b01d6c243ceeb165802bd0e49c40949afe7a570e08f48ae082e62bac88e482acb6fd285012c27dd2bf20c82eecc1d2d402ae6072f77ea883120b6a6556a0194784cf0639dbbfe8e0ddd455ce390de5e871bf725866ebba29a0e1b4fd7648d45605b1db287fbca25f4bcd847eab7e0e5a6ee8727958f740b85519dcbcebf9d57ca1f9320cc2c01101d12f1d50231f3cba0eb3729126c9c1076668aa6474e4b02175a2855748bbf0ca0424bf67f8e41a934d2c7234a74bc5b021798b1bb2f89ae793e740f3d3a6b3257f42e8b2c5212bd3da2639a033db72f2d9b3eab720d3b151817b5015687bc07157c13bf1d9c910295838729051c8bf24ee3aa3903f17d0ca7410bd6ddfaad0a77bab9eb10e52c81cf3ca721a603a9387b39e6392ef746107a85d463c2191190362c8b9024faab7d611b572ee0bdb3e39bbab2d3bc260779beb617e243c2cb5eac52197078a7aeeea28937218822944cb680130406197ccbf4527c18fb54cac18f298e0b71ad552e33c01720e447b4fd0452aada5dd537d0b7e0fb7d4aaba2af51f90c18872afb53e2bac72aa20fe916ac999a3aa04a1bc25d62973637ab146362372c7e17a10da771fef6ae6e3adb11264b9b4fafc08391f012f96333314a5944d600dd3d628b286c0ea724ee74008feed5e19ff1ff55f181d061ced9b5cdca10ac9f6390541a0486db1278bc1d3248f5001d8c4a772c242d8f2d2f9380f07c47b684003fcd3382446e3168548862edb3928b59baf82386a861e4274fccc2b6adf34c2c00d1e8cf2a3763866916a8d2734e9bc0202090337c469fb88f4101a807fd6f67bdf827b5d0336725ddd1560261a440a4ad619a476f09ac2d145eae655990bc9aa8bbcb204f55815564ab584c2079c1cd214155eb9855c4d87ce4c9d6eb1a97264e404d05cbc096e8ecd22166d9dd26a28e9f1725880f4a2d2669ca5abdb061743bda5ff3de6d3658d0ff29e042c9ed042d5b1b8c0f6372e73c861b5a9573b282f05d14f14f97a7217e96085569114d9f771e2417d42742fb229dbaf2378fe4182b307bb3a348942d234c830789da0163ceb13bfa441c4d29f60a2174fcb04c46c6427085ef2775c8f2032dc759fb145f9ba8b2661b9ea6d6b2060989420971b9414739af987bc334eab67ecbe92431b15c01fd2c2256b16d9e2f3018542c9e1689688f21d8b85482506771f1e77577f950f0ecf76d0f8f7f010c7a82e31f55afb1523ba3a03f972b62f94cac36c01672e70dc827af5b0ee768e10a3f2c22d689d64f57e30023b47dfcbee05972eba584dd048274ba87c93918b22416a135babf63a09cfc344f8431034893bb6f9430cf5fa78e9f18e3a9f85a8a144c22b96e8fb4e9526d55df9729c35b3dea4566652dc8b066cb552ae3c93ca2bcb29dc107a7d1e9eca189ad172bb9f0836b22b79561cdbb7250bee21ca251a4879be491633579d4768724d24505de9f44dee2e26409b7c48851501cdf96603cb330326a0d25614a96bff91d3720f725d59c59d376fbf1dbf686c1c0ef8583159564d20b2fda944b124508bfc72af05346a661983d6075e5a9e9d34a73dfc581b9101a6e4c384a957accaaf67594bee6b301b07729849254373e1c41ed84ed0bfc8ddb2cfcec5804a8e5f59a472e7840a298399b35df48fe67aa6d0f465f1672866de3404211a74a864e11e55724153c73b02002d6be6a28f34a40d28bac15f29282d6807886149fc75e85b84040b443165accbdcdb07c96c8141282cb8727ba4321e937b87464fd78063bcb4728b70c0ae63c3c7eac16388704a4092c167023f65af42bed71548b172ee0e18720f1f61209b1104be6ad6554a3dfe4d1c40bfcb0657d129d5483b5971799f3e37292452fe0d644c6595fc202037d2deb5333cbe451da762aeb435e6bd7f98a758c41e01477cff86745f741337c7b4f35747c5cc8df2c7e11be416866a85327872811e12a42314ac58d924fefce6ef10de3546b90b71f60f2cc5addf63e955b0722409d5817f1185598a6c08fce097b7a0e82505a5e4bef281e82b7b5a98175272df2f94008d5a373b6c78f5c016a8df084325229ce0b44d63ecd1a66ffe0974725721dcd3ad86fb2ab43371ba8259ff54fd37b4df7321b3d2ccdc68bba227e54ba9633c3f22ab4bac29ed353572c9a343e44f1432d53f84efbee63ca20abb2a2f31fabeb153daac4dc6cf488aba5fa099dc5f91a21fe8db5f1266e4d337a03d72f7039624bdfaccb4dbd3d763888a0be05fc9934165feabffd794d5221a809a693fbe01dc70559a84f5f42a3d5034a32c62ade0b12f8d580724b6c27a2b50f4728e68afd8488f5ed612de43c422ad81a7a4f84a424c4185e82f22e80e29b32d72df3e12fde701db6969bd9aae1b38ed454f3e92774f4bd8be1c40e5fa1382457235b9ae01bcf43dc1df3859684fe96bde8ad5bf9641646a0f725579626f747372aa790960f147a9b44e4d14745347fd7d3715e7cbb0942127be18a5a4c917501bfaf32bcda60e0274ec140132258d0ccca501271453696ea8972625f03e1ff2723e733432e8cb2211910d52122c0af652c4fe77ddfc95530e5f4382941cb8e172162c2864ab8aada1aa14486dd779cbe86bc3386f326e140187d2b1f6a6ff8152549b5b64c9b2fe7859be494e463e3a9814b211f8d93f751452dcdafab1de2908185eaccacdd7178cfd7e69b6de14aa3b04fd613b1015b0692213a62aa302177241836f586d3bad7413f10dc3635d3473be895c4bf41161d3b373829428127700a044a4f777b947d827d93c22b6bcc1b0de1998789d937fc4bd47b22d8e1c803dd03caa513559339db2c271c307db587396a5a1e39b549cac06edded5fa245c72a320032206ff8b07bcd721f52a1210d5912efd6507f81c179d5d02d442aebc55d5f2091cd07dc46fa2fff2a1b524947249a559e10cb30a05a1a0f2d591122e4f9c707fe76bc14fd01e1608c584e479f5586dd05b5fe94ab618f1478239550c72de8c357e4589bad1c23beecb4b46907146d4e0d411a220db0a07e080c91f4f7224982514025863f9f6728291b44e423868e9f85a1bee4cda138e92e21cf3866b13c87f1e46f32e82b9f37d242d2f66053aa1ef5dd80fa70e32ac55e6b42fe367d40d550b2d5852cbff8166c265ceea496f2380daff4025cac9484d13701c8572833cf9daeaeed5354c053fe7a56a374e9d454154d4ee914b8202fd30ee34487213efcf1b74e3bf83905ab987235095e1ea6e5a7a0512e43d2e623e354d47d240126e8445c5dcad059fa05ce42a73a85368aadb2dcdb0de5646d71205c169ce26e9a60164e018208e25317c45a38cace40ae462cc6773336e76e11d1a4c40fe72c3fd01c7f3906c7a0d323aa8b8fe13b7e9b77c8d0c801abe6e1dab13119216450e66bfb36d05f3ac7d353f4048492c66c00c67dda44aa87675b3e32fe9cb4772d09141311b98731a3024921243330fa05629023c98683136d084198716932872eefc75bd34209fd7e4f45e653c679ea17c4108ae0b5d925ce88a2fe0a724187238f4c31eb5a726fbf9afdb6a760aede41c8e36d2b84d01a43e41e82711ec6c6f66025904e40203fb459f07ae8fcfdb145784d25b2fa348687840512bcc1a0e72113869ed23e9924db782c8db8fdc2abc44ce2d6a6bdfc792f59bcb59f6316236e4290a8dae85cb1651713d03af11b3e49de7f774cbf865b9d2acc6a6c46a1929819a5bcf76162b2a4daf94ce60541a4a2c921f13ebe551286a893410ef0295721f99790b324bf7e3cc06404792cc3d566d6b0641434e9aad5945e9b172007672341b9c8b9be1b83265773fbce95974f38cda1859b33b936c86cd32b7ad73bb7227669a6eb36d9fa7eb1e5f446e381b366e4c04b9d41f5bf09050b37a22072472f279b55987c382743c81bf0bb91b68178c209c4dc9a453f868896992f643a272c5fa797ed7aa495b500a67c82394dd50ee9eb7a6dd185a918d0123e3b39c76728f18add299cf248e032d172a83f4b93110faf30939f48021a34e12965c03cc476bca548d91c1c2ee4f1e899e652494906e683bae53f6966211c36ce425d40772f889b9e0a7c7f38b89f11acedcd8710f02faa2bf59eec9ee2b862b6be719e372cabd9f25520a433b0f50e2c363496c9f42332c2d4d50e10f3466937f1721d1726c3907db51ddd3244e3b7eb1f9e4250a233f15db1ead7b64065ac66a90a9c7727342eac56ced846d7448b46cc92fb976e14678a05ff5432dec7447120e57a772c4974269b55e99e6edb129fe8d2ceaee548bf44e2ebe8f8673e2e6aabe8721727b21377542b64506e6662b694d84d7f5b5c03f5c2f94e640cc8e1910583ffd72d10e73a9800e71ca9ab126cdfd1786f38187c669f047f16af51c68a563b46d55c6992de7407e1439faa7d66497ecce4eac2037506b55c0790e9bb984cdf72e72621e2ff9cb90670ca100f4e92984c4ba18deb0284799585873c13e6bfdd4132ce76cab2b9c708a4ce28c9319d53fe43aa734440f27703f77e175294e369cb07237128ee68a68326acee9f9732553af0406a9bb5827e551c0b4d08b1d965bec66c67f6b79dfd8329872e2763cec01a363cb14533d69df97c912592db5102c9b72b53cfda191c76e59595fc5170bcf29b0b9e99e96506effe524e99c4829c35c72ab3acf35281eba18d4604830cdafeaf63dbddfb4689bdcc5c5df0ba11aa655357f2e6a8b0d8219e0815347f102d03ebabe64f8c18d71cc7f33f6edaf375fb17239eb324571598545a99b02d05f6d4d44c15187781c6258a65fca15c495079072e44ab35ed72fd06628fdbba0a674076425cfeac04f69ca2b3477c2accc25d3720550bc08083c2db4b7e04ae39b6f1e0320e8e4564e21d5e5078234152b55cd722ca544d3d41065da907966a89c97de7c85118553d164e35e4f7c3ad99ac91a69b4daa85a514e0e4b605eb5ae945c56d8db7b34f620e8b2efdb3d219eabebdc056eb8021ccd68d8a92cf6e80de1d5886ff4dd198cf731132b832444809d410e08c763eb07e43a6dce3fdb17459da2b0069d2df878e46cf86226c29a502e445572aa3bf4165ab3d2f2981f23ba651e2c4da2aa77a23cb880a6635fb7ef5280f972e15d2e1bb0a129b47b59b6277b604cf922198c4b6f15c06e5a6fe43e6feaea728a592188b295bf2ffce8b81d4a9e67fe906a53900480160918595810e92f3e72b24a1f2f717182f8f3941af0d9d9feea6157bd3816ff950e42176c695e9776621bf1726d0d83fc08f0c2691c3cb0bc84484a8ab490c127ae21b9140cc7a9c81ed9709b74228f51c8972d2fcff3cabd5561bd3035acb3eb14a9a6abe0a75756723ca6fecf1f8fe4f7b8a6133d5ae6f0a04a0e01b303c59d614954cbf6a8e66a724f295436c2a942bfaf2b9feeaa6043e0453625716b028fba13c09e6c43fc4b3c3cb0692b9e4d7f5b990fa96dbee71cc5cf2a9164ed3ba2685f1226997f0a4653d5e635e7fdf595da3a8aaed50c3372231a8b6705159ceb35e1ac1035a1055a723b24bd9924054c0bbbd0d2c7a90515b14dd48043862d7ed320cc748a1cd355724fcf18df0bc5b6b5c833ff611ba6345da5c00f04b4efba7f97b79e194a2a66054f47e42777e2862c1eeaf6cf4591bd36d0b65ccfe23025ba4ddb9ed583c99672ee894a9c94eec1137d4ae3d3fcbb2aa9a24535a77047a44ff200cf0f3da7a922659de72646fb142dd4f5d9c7c32ef2ebe1eb0ea57f27d666abeec9981a7d9802e4b59ebd66d7fb63e6951a8528a705060fb135a732059260122a6493be16967203601f59a2eea7a7602fd8e88f67f2943bb6057cfe8e5078f105034272a005288920fc882cfff5e9833084c434635733b3c40c7da840efb69af36602e1976b72c82b8b271890dbd9226ec747f57ed4db8dccbd116629760802f2347f21d102724b7968a4bfe921647d7f1ef70aa1c4b0187c209d33cc54f987059f49fefb9172663979602a373322c0da2eb08dbbdba4d44fee8f593a10aa007c07224d9be172c203cf0343dd97c507a6a0a27a0989a93ac80e24a0d7df620dea0e47727fb21e0fbe7d9b8e64a94de5db51bc97f2f8dfffc5c2f17665bd4cf1fe1140d5d18c7250e018257f5ae0ab032d6feda7d74783320adb359a6ff213a69da1dc8a08e27253a47ab41a92a905dfee81ac3834daee064d6a77ab242674e7c4a2f971fb657256157b005062bad2d887d9e7f0b0b4b59fa544f7235f7ff1b3e2de47872281724019ceddf017e54e7e8b7b7976e9d0182571ab13cc1d69714f26a4e3485d4c285fcb72af0fbeb69425d7d5d6bd571ee91ec6e7a94a3f98612f3cc4f2b55daa72b68023c65aa819cb9c8e739887f2bd4dbb8342fdce6b1025142689dc7fda65720dcb82e710a09c121fb01c79abd33c814eba8479fc4c397106fe43502e3e7e72846629826802e67c5fb2189eed59d2a38d7f2b3ac8e98adef3a008f947e5637286c72d96e25895825cc9715e0640c17b0705611e570d638230f246db65eb8d722ccb9f212bbfebd06039b9f6a7c70d78acb218268928b792c584c01ec89a805411255fe0d50a041ecc8f555c137bc83d4306254b714684a38f15351a94bf6d72b27383d03e4a50f8929befef3300694c25c055678a7b82c21ff3ec3c3fab4c72afa39c987d399ccd5735825392d5e77b7b259cfa14a7e51e69ac65baf25f2d72a705b94966ca6dbfab71f77be7638ed51aa8d5c41eb0cca09550878429f5266cacf9002c9952c2492d10127eb7bbb71dbd335fa756fdd208632b48ca4c119b1eff801b224a2bf9740405b45c8ac91b9018b00382d316ecf2736609b2662324726cf21389ce01f75526acf7877e3ee0708ce70cf0ce3b360774e63ad212c6732c9f62eaa1eed7d204fe46d41b8e2528564cc3a34638a1b2435a03c32219464b72cd9a6da7518ecbfe4d76945447de2c045e70cf27e5b2ecbdfbd9f32ff0d1a71dfbf7341ed4cb18fd49091173e399d4aacae79802b640436291a8d07e3dc82272138eaf8bec49915d557c730fbd47e13ef06dba0cdff7d93276b01ac4f3b63a3e1f5d6469ff8bf39f2b905b8aede36e3e23b4c6352b78e5e0bfa77f2208a29a72a5d1fb33ac6ef9cf19199557b54540e1c7c7f5d6356d48c9108dd4878d84096197c1b974c06dd41d70d01421ff8d1d8f94dc9d6bf4239877fefcc0ec94812b2de4f73efa709ef141a893ad58e1328df2da1a1f34944180917292db720982de72fe505fc92f61604f1cc976bd1580394e1110a96642045f03efa8eb601e831772b877fc82584107cb0c7419165e53820a1ae6755f5c31eb0f047de5dcbae61f297f83b12651008e78a4a3b6f0ac4bb1c20734948749befef2b0d9603023ddb672b5ff53035354b1a17fa081de6961d89375e73f5dccf0b09fa19443832bcc423edd97d9e0c71efafa7d80cc7415b79bfcda768c5cf6f869dcc6f519e179fc4665333cfae2225a6eb106b9d6c5f23935c2a2f360901b9035cbc4161f8faf4e4d042ec3b7c773415a84be58546208a8b22b9bab6012d2af8188d43de4b1c6958454ce8bff519cd308b92a00e6ba07bd92f2c06439846a145c8c42c97d89759b274a4dcefe6dc10ec5e5d7c959abda93726a4bea87e4fdf15b40b319c59867984b4d30f74c6aaf18454dbbd03a197d2abc0f02691f653b0a01ca7b8a54c47f2dfd70b6db7484b3f15c71a952539aead075210a16bdddc0baaf3e23bf292c1a2efd7232e51be3c1942701c147bc728047ca107ce0b2fc6ccd117998afecea37d35472135d048779fad4c93c7b228f6a16b41cbe99fbc97bcd07180cfae942ea35165176c0bf9795db57e1c8e9c9954c341e0e05225ba21a9b9bf82e3c9151c8e3b1721b6068144e686fa40ca404c5d42ea49b6321100501370f128ba689efde7822144eccc498eaa22fcc0700dc5753cf915069c0bfd6af45e9206324561a2c298d1f78bed80f89d3e2f92e13c0beb8f18a32b4e9084bb437c5eb08334f48c299ae72533f9acf3c526007e674d76fcf859ab3855009393ceca18971b585a2b771666373d15b5096a1141df5b6d6b9af2e4b6ade001122a730096855b20a8d0645443daef0ec2d8b7f64a7abc6f09addda87f5b537f57641ab7852cd0217c2a2a144118c7a8593e8f76e9f0c3ecb5c33c21958010f185c7cb090935e70a5bb32264172d51f6f8b6c64da6c9447ebce28d2fa7fed0c45b7c640bd53f07c8bb4218a602279f688de733b9b0b046ee0eaf8a8d18a1ae4e6d02886256eaac306b84b0a5172c2a97d1e48ebba0d9a113c6b00d2ec1a1dae962e0a7847225aa7fa7d2196bb3191100ccb04532c65b47274c263a23d25c746ceae09db52202ece364ea3eceb500b455756232c274cbfb6e05dc7a3abd8f19c2e6de179d74292dd554f69868e72870966e4fc33f4f605f25fa16589ac7113bb4aa1c50e3909f2f67972dd33083ae8d3db5a05746e092b87a658aba96d241920f5ad1584bb1a4bf4e6fb014f3c72c333476038925ac6fa82a8451dadc89da8601742d50dc3b3cc9b1f0546922540034794d2725613a61cda2606d4953d30ab5a74c7d4765949bb71bc2dc9fc06302be6e9b8ceb6d267acb0a21edd2b5bfbf62ea4e57713770a6b9e18d561bd61729ef106610931e507b75c12392acbde2924f751d780c3275d75b4e320d74f6572cc7af388bc1419b8db2778539a198acc778dc8321bb1bac8e4b8c506f77d9072ba14160dadea9eead5fd9c1b0e2a4ceeb4d7b1f4a814aee84993247081130f72cfaddae5d06effbd86b798e31fdae1dc4fe771ced93c87fba1e50c4e26471672464e52f6e140f51c467ae87887a0bc39780d89fd067bbb779d1759c41eb1a672ecdfe61f4033ef5f327506f2ee04c5776ec65cd8ab50477f1370c148c692fa72d442b1b5b58c98034b124bddb7c2f0730703d766dae654d8ab778a54eaf758720adcbedbb50d6e9e891b5b0c7355007474bad9134455809e9addeddf4cb44925efa95e3accae957f1b15b7bf5cc2ec0e10150560e20d5fcc4e8c2f11796cd3254cbc5d6d3605ca0f7303cc29c4baf2cfb2c804c7e73fae78d83c313021bddd72f7777ab973f6d1b97eb870f96b97725448144eb3aec54d25cb3859fb2647197241f062d76e30735f728047920f224bb5c0c34f65ea1c2535a73209549e5887727fd7ef05cca9217fa88b965ce632bd1f2c0f03165748bb49e5862ef04bfbe47227485cc3e48e0b1033ef655959046cb3e9f647066f61f74652352b633ba9b25dfc7ee25a01375701f9292827fc07cf8164adbdafdac967d466a3835802e15572fab01fb09870fc4e359c54c331c4e6337be635456c2f3b61c33d91e3ccd2337208109bdd8cc0acf8dd9b2c14e74436ba6f3bdab5fd002bbb14c1688bf96cfb4855d03102cb340edc3fb421ac023eea0c9714e0765d5093e7559c8493a8b7cc726501abb562f19f3fbfd8608b0f395451ea35d1a681e065ba98b8e55edba6184f97d89f90d519162c1e916d046acd6e8156cad7a80001dfb61ca5141bce93437253d7bcf818427268d511209e339c5b0c1393e9ef83c1bb4d83cdf16362ce9a72a774413a606e2bfac5ac392e109936f79dc8191d0cfa6ca3aa9efdf4dd7d9137d03f17120cf2d0c4d6401e4da4540f4270ec84d4e4c82b79ba922567c0267e7286adf7ae15d555d68ccbfa6cb2621a10dff05859aed762598136a0b9afe36b721dbc207d78b22297571a11c024fca5d581b1d6d3a3fa43f1b9be7c65fed71172b8d84fbf8232693c27de3143be36aa2bd8ce1e867d211aa8ff97e92c581b4872e144a6925f574cf5a6bcbe3a309ad33c8e6ea739eba62288eaf5db5c6a4cc70e7e9da3af71a50812f2a13dd17cae6a5b2fb8243f31710653d9a0bc38c1fcd972d553d4a231a33f05b1b9a538915cf4cb50cda06d4111c6a1e441475f4f8a6372fc6ae3304d1556f1ffb437596acb9dc776b8a2956d11ad21c2d5d2716fdcc7728eb4fede2619a6ac3dafbc701e066b9df1e7c09c948385005dbc3d8072ab8c2ada2d995b0300698c898d35f37a00abd627da54ebd287af459f9bc8713189975bb649995fb28f573a2e8f13cc96ba979f1c7a710ca0e72c9645dafdd160e14772e457a477699837e642cf9c227dac5208ffd9aeeeecfa3e1772b6ee6ab12e4e192457da0720a14a3d26ac6f272e3a15205da5a51d2e35b3a59df1032de83db165764da80f745eafab05d303d6d5626805db50405557477bd7db830bb2a731b872153c65b77abcf66616ca6ff8945ed6b9356f34222c0ae59326eda15364e3a262bf8a72112ef48067f3909dab92947380a1dae1f3a45f0d4d3f5cbb472e8ef072c0e7d74a10ad27983a3ca5e84b19ef5a636f8fffa8548308560256c20dace9526dc8696f35a32bcfe64f47b8c6cff029c8d52e2fdb4b3ae7e6a8f7fdd7e16372f4315085eea614b23dc91a467bedc34971524884417afc6982a24fd11e97bd00aba820415ce9291e83fdf0cd791689b2264c3be64c802b374dc3a0992f8a347228285069d1da82dc55d61f566c10c003c9dcb5028453a4a2eb7d3641dcf60c188ebce9ce370e92b92203fa272377b7e8219a3786c9a701d7ead690d2d21277721ee7304d14f20ca99db2306163763b0e8ab8135b474baf33b1dcc2e41bb3cf72db628fa39aaeb5cb0b500a595c9bbf0785e59242496ace02455154aae09dc54f50fe23fde7afa11991d30d7ef19e680fc5bd8c7abe9ad89754a152f6462ab43c0b639f17b03c20fe90831d9286f984b7f447ca3ed26617c3df754848a6be46726628cb93f1c1f92bbb94fa87da6bc97aeeb9d002e2a920764c9f9b053558c2726faaffa647c5a919f96fcf9ecd282a64f071ca91035fbce7d75ecb27d8bb61725942a62515818bf4d37a4caf6f4d4556dfbc9fbb96876204f39a5310deb2671bf897674d5d50cfb9980f3abc68d1f0c42a88b6530f88ba8b44a78ab39c21b7254fdedc1250889eb02e9b1c788776460d3779c9126b419e824fbc360ceee7ef7207498f65cba6e8f5bf26d273bdf1e8f89c1ddb47f5390d94abce34f3a3cfe534b64584b4283e5a69afc99175321fa6f28945c74b6c0cee8e26cf7f95627bb24edaf1d4402d2fd224a1597c64158aecc4d186a31c1cf5bf7f290fd42f6ace9754aad9b08210c6e9048e84a2c660ff587a66052cbe9814652ec7455801e56c93725568cc19cfc411b22f722487b526f1e349790b7c4f01f5b551e87d6bedc3331b23f0fbe7aa458b26a601690c8a7d4cab305d493e47b8c9238b81e8c52a09b66a0dbe3c0bd8d909c7b281ca6e7a92732b38f32db3eef27abc2ca37df056bc9256c6ac0f275f3995bfec1059a8191fb77ab75e277d2487a8599cbf1f086ad10a33aa863e1676e0af7ec9858c0816191686c8e07ce13d192c72daa31a0ff0b69972b40abd0c49e8a2ede13f34a48e24758981e0141ba24460ce2050ace51ca9d87204db2b26d3eb379fd9c70295724da018659e90931e1429c4f618492968b6b972295aca02dba59e6679ec2397954af2ba1be53bcae92c95857189ac753e835d3728ed31241bf3da865d00c1eda2fefb1c8aff55e4f43477a4a4ae07dde3979272344717e5cfe5e9ef2b5af9ba06e0768c1f7b675e6a9d94e5df2de337000b9b72788320125d375a32623180ae527a44c4aef9b1fc1675bb1e0a59e386686ed972315fb307cc9d17309f705eba6c684197dd691cdd472d25ee01b4092ebd61874497e268d214d57212cf915e73b4d5eb5704c0f1ea7b0b7fc19593b006a61acf5d9b894703727a8ebf2deeff33290590305015d6d168d7289ceb18fa63956cc0727bcd84efe42654a4bdb82e36e473e8add147fc591e701696773560a382a0251be424ca26fb58c3ab6621d6d3f2d61997c27ebdd7ccae234e6268b95b69b03b729d8f44ee9ab57250edd1b12b2b65aaa3dd8faeffe80de8999fadc72ae2193b72fe0eeffc8cbfe81745ebcd81a5411ceb0c147d114b8aacc5698cfb86dd475b7267b4f229f125c19f68a2201c3dd4d6d84c320359149c53b7ef1c29d2c57198729001da615e1b612b00959750a3c8ec6830c5b252b89979d8257121ea42a901727b19b3969852c3c41e8deca7758dd05da3d78e40550f24a5068db0544ff2e572b0b788a5b028fe8059e683f0d301df6cd210e1f37a6053c8bdbd2956d809d972078f45d643e936de464af17a887f21f9d4afb327496ec31efc3acc8dcdd9a5720aa953982dea4e31ff11749db9ae5d5632b683b0eeafa3b99f73cee6a40b4f72bbbead9b15990198cc812aa08e742617767152514bda84c635f339238d6e87725f54f2873579e792a77016f6971e4fcb7f84bc718f8c314028a2348b381bf8187e5a7fb8451dd32c1e888c9bb27c485a2355c4d3e730cdec848f638354032920b9c4689d329058b4906e1f9cf63ee3502f3a3cb0a2081a0cd04aeed5c23d0a043f3a399de1551551a9fc24fd7f5f902f560c531cfb433b23cbb15522b59cd27260504cda0667ef0265a37146550f7de6ed329235e7064d1049216f8b6acc4c6a78246fffa05c8cf77b7ca60d566574bef9994972bc84e90e7bbf3602d00c5b0c0166b404d67a1839d5cd275893f5690b05432e7f0725312e26481b112ae55a6a3b48ed06d0bf1daf81e9f97c46068f9e27772bbbc870ecba815550e2b24b90617a196a537adb7fe2dcdb5eb00542fa9501bc15da1b50f3c7e3d6dadb56f47a72a1f2822fec6664596671c215bcf3a49734be1f1b66af2d92aecf2a6aed4acf72b2f9b7a972e9aff7fce5c50dee9c4491211f24081599ddc5f04decf6ceff0616fecbf2bac9ae115b7b8333e315ee3b291971fa79101c750fc5c1fc86c9505272e66aec61d5b2be2758a04e708d81dae39768bec44ad5fe999646cb296edb89725b6998ea696f8046ac5fd8c29f39e632ea00cb656dee2db212e4750ee096aa1cca735f96adfc17ad9530234b217ddac4eb627424c7a0ff445ac7c7f863f5192bb1f18a2ece710b70f690b36a39377c7e3783031dfca755d6b8ab17250c584151041785ef006bc29094a52a5b009de1009c3f6026853b69ba38cf83ef0daff864d5ed55d0bc3f8d7d288dd381eeeed734435ad945dc5612332d4bc99b8cf6d87226e4b9caaece0f041b8878853428ec5b95750632242e172000892bb37a4edb72dca2175686b1f4cccfb713a502579675193e201a4b394d72b898a03e3e486c7265a36e168e64861e85f2e2769c8a16d7c2038de6386b6a236a1c47b1edc27372c7eb32392926f3472162b9451d465aa5fbb6a55cb4d0a5593aebebe1f27b9c4cad1503432b25000d62e092478af3ea9a41fd21a6719bfa67928926802a70964c3f5afb6946a2a42a508ba39094373855e0032d70541cf60beac0bbaf13c8a272942737db659141a7c423c68ffb0c001f1992b16aa176f82eaa7e379090b1777271f0077d2a34163d423259eabc3ada1d27e19d26a50db9dda1b6a3fa0d2e48723d62a53f55119f22321dbf90925bc9b5fc5ee5c9f9ce2d16e328e65c1cc68272b4982e999bab07f776407c059bca8dd2c90d9a718b94c9fbacba6a639513121563d42311251de809908f304d41069d4823fc398f69c418b9d918f9c0a0c89d7212b6084a5c667727c29b974b8c827c5ea56005a3bc7bd414daa20730f93d3c0b67c457369c998c0c016e5e140fcac0621e25eb7bc11bd21215314710d5e16872c474d831fcd920ca352e596340eabe763758062c72e3dd558269ff9f33b1655c5099ac6411c65088b5e4ba3f5bed23daf648c842afce145f4c589de80fc424722be6a4e1e81635c58ccb7228587d2d819480b55c09d28532172ccc308da5964354b1eb2832fde6a7c8ce2ea1a3552e2b89065a546f5ab16e7a0502ed51c6753189437bc4280f6a83aaf3beddfee6bc0110f27a8494c8ab6c0f6026aa43343972299b57954bb221b853c31c60e7ff09aa58e60777ebacd21cdd30401ba6a3dd722e83577bc22592b58e82bb03ce9a0e19a515f474f386747e406200189d97c37215f925edf004729aa0e5607f49b7160f0d31570db11b9920a36c4348e522b272e5e15e87b8f939061f99c7c5c5e4c3d161f00fc3ab85a2d1e378e9249308b472a483d337d2a4caa417abc0e9bbecae011ce9004224e00c1174ced1d42d1c1672a815a3f72a519051f4b63e3b0c178bd49921b196a227fdc0ce99035dcdf27b7267a48e548c30838d01c959bdb7d079f7042517d39d62ca279617ee3397708f1e963870b4a95215f236d8fef10d85d042ba7e8da6a40cbd4eaf2326d83100f555ce6fc74de692525962310afffef10487adda30e7da3252f5d3bde97b712d5e72fd7ef389553708b6bf7cd3593f07c1fccdaba73319acaee5bad453ac8cd32c65917ab8233aa415fac096e871b39686a62124b7b07264d606dc03c7c92de3a07257daaa9660a036e6a4e2cbc425408675a84a5b0ec1c6ac078f7f5dbb5e85df2c767e8f1430e43cf69b3e97560c6b29bfb2a60be2b80a1006a7b9ce402b94c372e35002090f9baed0a646db14bcaeb2045c1db3a481ef82fdd2b072eecf97e372824178939f670ec86c830c705ffd1e8c053dae823aa29c92c3d8ea449cf88b381a8ebda738a0052d92f3c4590e825871ad8b15c56a8331b3c07963f14d812e149b985ee4da9d7fdf85535edcf232c481b3e2a3b69cabbc7e2d1c7fcb71e5b0729817a8d334f16cae461fc650f1b3e19b7efe4a0bac91c59acf4eac5769577c72527f82afc9dcf3ea487c928a68edc2f2ab793d07411f89d7931e4276f38f0b724cfbc7e5285846514e9d8dfe29412caa213e8aba59689ef5091b9989aed7597272de9cdba85a1fe1c2c251f192fd8fe24b899b3490b7be54bf138ae9f3f9bb72a878884c028beefc689e922e500ea2572264ffd179179ffed9ffe1a790366272c29674d9044a15bd7ba0a288148354132605d05a5a1a5cd0abe1a239381e064b165727acb8d1fa431d30a9feff1776c71ac09f6c91c544f29b3b56563cba62727d6b1329c5396e271edad0221c4db3a1ba7c07f38a7ddf383a59c361b3dcaa0dc9d5a4254187af5b8242eba6862f8acaaeced6f0b667c51d5450ed1c7b470c72278eb6cdea26c7f2c1996a08e6e03985de4ff5437a4411a17c2ae2e495433172cda0b8a37bb22404bf370eea442c78a152f5294779bd74509ba0381e8b91b272a8d21b9732c3bd38c541b99feac3b8b8c7950104f127aa62e56b556b1090263915cdd2542df34552a4129c0b942b082548cdc6a1f2bdd02eeba3ecc826b6517285bce11ef73c1361ddb45ba027b37eae4bbf56c60d8841e24c64a28116137808a61c50081a9981b72e9feb2dc5c3ceb63fd5e1363b11640b0b1762016550ae703890b6e7cdc1919cb9f8a45d0f57d1fe99d918f8407736e7f7cae9448ec8587292354106fefd2639bb13274a27ac9a4018ca83f6c5311ffa5a8d427fdb418807af08f862b467ef8d5efa0d05b85dcff37082c1d006f7e71d6571a16b5e180c72ad236a12671a12ed62cfcad33450f3efcc7b1c5c24348594250dbd5c21bd367224cd65679887cf07be257eabaa28615e7a9be6399e0e3a62f1ec481a79692e72a6004757d6fec8fa8b81cb21db04389f80fd0b1580916b191575842580656404491a8c960660cb6ab4d15990b0965e1fb12c5c8d484dba66c0e3ec8ce642a272d06576b67977918fc050155fcb9b8a549993ad4f75c91ad9d8b7f2a0737ecd723c24978ea8de22b0341c9e037728d01ae2d82f032ec545e5f094db2a3b23a172a33e0379b94a95a9602643ee9ebd6017a00a4a7c5c8a6a70459d3fcadac1f90261b2a2447e4fc935188cd42c21e3618e5d28642118af59c2770d67c70c9f0c716ef2446a95a3efd89cbc65e14ef1eddd04bb1b7ffce48c88d3182829eb51c772259e667b18cd77e9de54331b42e3c47e6348986ec19c101e00631b48f0dd9272f21bbf94313a353d30fb3dda62b913d385252f2ca2115ac6ad7718da6e9b5a72d102d379fdbdfc138a1ec5b0e0d9a3f6dfb61e23ccddf3cb1618945d51428e5cb7a8a0762d378f4a1ae962bcb12fc8d74929e8e179db3048bb1821ba5d572a36b2e6008f917039f7ba1fbe3451d77a34262f83194022e856265e359fd4deae2296a313885b7ede9254cf82e224e955fa2f85520e9b078a3f1ac0c7f009cb1a726c89e691a8232880b7504b06f66a73bfd94ffa27bd695eff47ab6636e43a85343d90406e2705f7dd21e4863943143eda36e018c41676c3802c037a29c27685014d250af46eb2305f62fad4f4c8ef96a0b1d3f01091d53d95c187c766de6830726cfe08d5acece8458899500cd0cd585fb1aeb885146dadc92057290299458472b451918706dd2b9b0db199f172a90a218f25dae6306b51e6304057558f5bd072987a34cc3ae67fb868fb8a70aed66fac291a38cc45260fbc3332d36c74630672e3ee28fc135d46786523cf7e66b2288b53e29bc8fd6b8df29f6e02b34fd6ad7243ec7ce39c1716a82b47fc074301e3c59294bdb202a732026170ea9055b118465e553d0a1f1588b225c91c3ee0d05b5372c4394ab57cd4124c307367c514e672125f8dab46ea9280536cbd4a78f171f6555073efdd6252e094f9ce8fa4efd3722e56dde2f48bc12f74312e9a1c63151d1475cffd6bdd432caa3bd32eca1cac4bd26a97a48b4de8ba8880300d7d69c6ea015490b7137bf3b6077c27f5e98644493d84bd72e6c21375d9349d2cff94fae862f741e8cbdb6189126ca7a053e89872234ea503b13aeed4e7fb55312d740c0ea1079ee1a83bd39c23d98bd798da5472ff072b4d169bb5ec3db5e603482ce3cd727d6196101084889946ee63e0a997727a040c7dea4376ef17659dc1b50d6802191f2c5054a87e399ecd101c481ae4722c3632af480fc03214527d0bccd5f156dfa59900230ddf3209b0391258822c72d1f73744c1929a3dd1586ee94eafc08cec4438ef4546b8506d0e3615ac7dd57262bf25674c67380d8ad746bdc160e557bd142e76860a0abdb3d382b49c86dc729b1ad9c0040fdd66004124cbd1ceb2b29107c8725b2386539a152be37134cd72e615122174810f348638fe04f885634bb37cf3d960c2f27607f74eb2e2b5cf69b85dac5e105af7e0952297a4dd47e75948746f45f39f978916566ff9ea99b272fe651d7301b7298b9168b76a74299c10af560fd0ad1a20c11b1f4ec6a5b45b4ec8d8828cf65bacf9e3d0102cb2b50cc69f9e4367512bb1fc5af4d87a8f096104cca319501bbbf9070e316da409bf4a6b803b1cd414acee6015617f63194338722401301b46dd69a5f7d7f224cb0738718a0b96088829e83a256a6aa7aa824d4464e498c0651524f91018b8a3b7886acaedf7923c5351a03511e86638061ce372246ab7af112421920ec94e88e83f95d906c5817f3bc867f79fdf3857f1605b72d390596aa89a4242afbda48fa463e6c57a5a3df215d5e674fedea097f282ce72fd0207d74fb913b408f662ab9690a03b6ea6afe8e8651efb6b839c65d044c928123988879392bcb88d74fdec1035aa3b7c6b6dfd36580a58dc0a9ed036be912122892886a6f7dbbc400eddc1771a35f6eeae00920287095f3451d2efa6d6c21d05f8fb81c83676d470d4c460afa6523454c815d7b1d94c0a05f26ff16ae3ba04e1ed32770b02094d373ad66c19a3fb9556c70a189e8690c243eed2849e69ca728e6ddb84b655a66fbac8c8c6e2582911a57faa2fb9b1755c7b89c249afd2445864c52e5b2a1ec4dcde9c28af5a2bab794879f2dbcee1dcb3d85ad88dd2bd5472813bc174ac8a8e57a3af1e6cab6a237a3559caa2b9e23503c17f659efb7f36046ed43f5269ccf37ec8f07c2ff5c082be84957b0bf876d64a6770937420769a72ba5914d1a2782137156804527e244ed6ee122b7bb81bf384cd775da7964f405ea9ca37db276d456e8fcdf283815f0f9b3ffce39133b98dffc59345480cc079725628340f98539cbf393fa1aea0afe1c3ad2ca95d0ae2387f01119e3600476d722ebe6b1b99c48290a3ad5a465225d36979c5477cbca5f684f4beca25035c8f04cdb7563cdd4ffae3cd877f19897265416d405fac501965c77dd71be8f36bb54e0b5a8762f6e5a392c94c43eba4e6deb5fbeaea25eb2e62e3ce11a267eaa4f3394fbd784b484ec34c6c40e6192946373e758e5b5fc747894c601101ccf1b67027bc189388b4dc4d80db284a26e4f9a69aa6fcd682999d02d77fac0fb6b1df4272a540b0bf419ca0242f8c4910f5db4c0ad34b07f360fe8704b8241284610a2d72975df36b53a4a0dbbd820a3f8e7086e19c999634177a844b870e27c05feeb0729658927a5146a937751179d36f14a2d04102f4a38c7db8ab561d933bd093ea724ec5a0250d3c96d553b1c3a28292d3e1891af0c99f02174d2695955c66b97172f1ce389dafaf1327396e0d4badcef44d03e42ca3ba68a57cf9a1f5a301b8b3050560eecc83cdda3346e3f85a8bc887c1ad7f87e8b653b5ed4ea793e6388e5e72e641dd581a4065818ab31e319f7d6908f1c47d39d1cbf5bbc6f4301cdb0fe3024f147180052dadca08eedbdd9c76f8b890f7a786ec59c17bc55d366c79caaf72ebcb7473870fcb9db9854eed18403fa2e4624b6dff83dd5dc662bbd5ed41167201e0d02cee6c5a4deaf1b72107710ba19264e461fb4058474ebd7689408f70726bcbf5bebee6daedf7c04b392bc4e08040b3378d858b88e7e0d6505a6f99d572fb220c18581b08138d9d2fd1ba956bf878d5fe70c045a72a75cf086f31a77c25333e654c66134b232dd7dedf5fae4a74ed4472fec78eb7f01d78783c554bfc726fe861ba2d60d512b0b21e8c31f828dbd24386a38f3b0b8ad6c55f9ae278af2034ef63149c1bb18c8b6c8b62119b41d47b464049d66bbbc32e074c100312ce085e312960b9719d32f30b4777d6905ca5c29e2d423b547b5a526eb7bdde31f8720b016683ab0ae953dbcc96a7bd4560fa1f87c41a86df563564516d986cd8727237211c7f28c934381d300475507459ba220a32ccfe23cce025dced1641d347724ed3d5a7b5149d0227d1a33469a21ced953b501c3a2523cdc958eb7005e00432a35e34843ecce65a1ce29fb91fe77ccae14797e4f11143480959372ea4881c4665c52a3d76380a554b1872dfc61f8da169e018d1aba7c46be5d042ad43face723b7f49227756b0a9c7b5079de96f5cb30116ae92dca86394ce152a68e7927672189e643bffa208a92e95191067c0acc6d786b310443cab97bd087d0c41a2a70bd23bf75f2dfb88f9bb68482608dadea2fccd19012d2f14add2d28d67ed07f96ff34c87e85048fd83ecec9baf79931d72e7b07e507134438f478064c3e861747257b1d81850d81edd052149851043e9750b130b53ae31d0e41cdf9b91fc461e4dd7595b10e5b042f5e960a37da6e49f63ae8463bad6b8fb01db48057c22f306720337b1be636c9bf7b82b3ffc4f3eb631eaa85918ee4e70ad62998ed35b50e9728e0dfd1ee6e999c50071571b3d34e516ab178e9694a40e01f5a1f9a791a2382eccb041a6077875e39b97eeb58991909db3875fb75a594bcd6adc243dbd426d51a3e99cc4c092a15f919f933702ea104bb7fb0ceeb80988ff5cdf40df978e7672551634f466b3e54747a7cbcd24a8d3b264dfa938dccd1ed5c1fbfe77573b08723519a6fb268ebaae94ec06c165859cfe566f93886b5a9748576276818790a9721b3e3622a57a89630a63eaf55fab223177d7fae07a060a542037df05b4d4647211167648cfbb4600632bde70f11c9f71967d93c3e5cee13995a1e68879d6727223cb1343fba9670839f624494fee437e8949a5af2d6acc39674023ee7f457e112958e6ccf1aaa92ca8a1b7b480ba3fe0db23c65d5527eba73691c8244fa4311cec81e203ae8a2dae273ce917fc6eb6c8e564d14aaf11b2aced88405f198dee72642db90a8392168d4f7819d6677707c0eeb9044f16f8364ee8edcfd539888972c647c25f541a056466e8e48627432d3cc3f7b435695458d48e9e3350624d3f72874e5f4caf44827a04f0c7146c46c9fa4747b7ed7281f3ea9ea3f3bba1e44167a1abfd4f7ef89697444c7481c9e216cc7c38b26c1c94251dcde9f4e2800226723c8b696746e4ab77ea43d5f3fdd28f03e68136a9e75ae0b6ff408dcf5ea5cf727d2a659a31499ee682b361abebd28c7c88a3dc07137abc85a72a581015280072fb822686dd55a3b8e8c062710d098d8baab32054b7f8cfae1cc29fadbc9a2b51883c6b7c886655cf2c9d84a271bd250e50376019f8ed2100625621fcf3e1fd2f2d16dfb640379392b65a5ffae876dcbf8047c374fe741d657c141c85d60daa72a176a5b1d2c3164d69d921a0ed6d388d6b85d31d6627bd885cf871e7d6b31f06585c8911407063e4eddca21cb6841269e0594c84089a7d84e932735e443c246a5cd4934916be5e61660dbc1dd9ef9ff467c7424d9095f9f887cddc880782627244fdaec8de84ee23137f6d5bb70360860932c5ccad0b7c8a6c23dabc29c8e32466b0927d23b7ffa4193a08d9c933d2b92c9967d7a2ccbcfeeec627f51af75272feed7b8c852a4abacbe51ed5a3642fb3704e4a4fda08fd87193c4db97d262872db9f954935f0bf8583a5db2308878054d85b40e09797ee2ce0ece681fad50568b410f0b5a9c293dc4d4ccad96c00c8753f1c7d034d7c2fe140c73abe7c6c287257e5ceae0bf74b78ac79ceea339211a538b80017330151b7a7d885defefaa23d01be0e504ea2f625a8b177e73b680db500fdaf660941424cb2ab3c8dd618490113a2cc006e0a92ca8a0e8eef7d891c5aff540c0d941dc96edcf75c69bb4abf72505c9f0f8bc3d328c1bd6a732d10ec5ef452498df059b7ae61d03b3bad09a372ddd226ff56ac18292b8ab5c7398c409a308079bae6cb4bca676f1e6b94c0a00ca4a66122419eee74166837d8d4956f7d0f5369cff042e150b89cb3d6fc85257297c420f300fd1e54bb761fcbe0aa8df0282809df8d2b99c060289cfa3a24aa7274d30ee4ee0033a65d550d533b2eaead670f363be6c1716f2862a08c4b2e5e726d8320b680c2a7e01730e934f210accf2e9c72c1437420f8e219881f722b577228db40cdb0610c6ae89a35013856a0b1f6a0843947638452e672681466a775720594f94e60c638018148106bbb64c1bafbf07f515c067db69a7fefb46a0ed47259581fbc6d83202105e145c39c7042a08b630a813a8aa985d910df1a190590557fe59506b36947d2c9f00c5acf275273d320e3156daefabb81395c7b2bf0b77206fe58964bfd9aa0d6092633f896491d1c0fa381297d76f8756408ceeaadff7240612819b92bf7db841247bcecaca42196645d9a8e4cc569c98bf2d501527872467efc950315e223b4789114eb0b998ee36dca461d7a9c4776c8e1e22711c072478152c525327726c9f0b6c51dde1ec423a535fc6da19868d62b93788331337249782bd0a0e79d5c72008e4599d3d92b7224b5a343f1952baa96d5ca4fbe9a659c9ff19aad6f8ffad4382af22995d93d065b77d68ffe0722c135cfe8c93b9472b212e7c23917fa95ff6322bda7f5fe18a50f026f147a2fb32cf6a1d46a42e73a93046fba7bcb6c5ba7b9f79d715e75527a6d693435575ed7837785fe88e077201476aa6ed27d6bc5f539bcb58e07bc257e38482eb1582121b6ccd88f3c1be072b64f2bfcc9b3d6dfa79902b1c21dd72706bdf3264f619e78bab0f02f561f367217fcb3ea06783db50901a6b059d7e220b198440b0d124f389ff4982e89b71d723f822be5d8d9dbaa8a70cc8c1f4ac0390e4a74d4b65f3e34822a9d77cb900956ed1e35d172fb89d8f4e898ecbf082eb844fde67ee5899f06b78a6f01d5a41a677067a052628235bc035846ffbcc202d7ac87f724286593c2bb3e21222d3142729fe2e3c600e9034b1ea3d67b84c138b2a71094d961a9f9c155515f23580060602165fdfc536754fb6da35115a1c8fefd031712830237c8b0fa736771bd8ad1072323c5487447ddeee80f6c7f38e4d1a64bdc4e2b5843faa54545e7513fa49a72135113404a7581d1c0119fb064a534748789d64b0756d78fa12262a4efeb2e727dc3d8966c7c57201453d384b2ab532cb087b096b532767c45a4f2a72673c941386524e3b912b9c233d85c549b16995d52e6cb25edc986001d88397f17313b724d1acf6287f23d4036d07a73e4fbff1b813468cb4dca86e6eb7498edfd9220625d90dbfccffbc135a7de47d42c110b68577037bd30e11fde3069445c183e0572dc52833d49fc7d65d8f9321d247a563e9659c453df305f429cdcfbfbcd08f572c9513e31793b566a1acf25ed9053f980102670d34c1bdbd622fffb9e52e966726c6a1591d49399157ec855664e3e7b359187cef605a51996b46cd2c6b257b568a6441349e82f0f4a5316df520769deea662aacf0d7f78039b32d30c773a1a37265b55e60a74f93aed24699d305f99d26de81c05a120298e8970823cbbb501468e06218d42948c072ec45b54b9e6fb827f08549489760004e662abe33c2537726d8a1b10a105c69f5c9ff874a85eba44e4c2f1ac7673c753aa8abbd78e81eb672cddeca110f1efa91bc4985456a450e12d4641babbc3e2806bd79cc1c91513772d1416fc8f4f9fe7037c513817d60945ebc2a07c9b9851fba4d6033d52657d60ab480796d6825b88d78f2d1ff0f5f5573a7ede624a00f9445055a12bc23b75141eac637b53db58d03540f207a1416e15a8a2d3be9b6f9982ac5fd59bf16f20360dbd63680c14a839b7381f0600f6e471f68032f012d05edb80b7bd67598e0e0240d51a3886d947f099e47ada4c99c96e2b45347cbc67f8c292bfad728e5c4ef1093ef262738aebf243c9c0936b0536a9a7ffb7e3104b4be90adcbfaf42e10e6722ceb20b2ad3b4f2715b9077b39cf1eadc8386dd5c845179b6cebdec21b06b072a5b35b4223ea01ef2e916f9843261d5c7a139151474794d9a93dcc15ef88bf081cae7e3a3659bd7d188075fd7c05ffb64dc8b084ae17857d066b8e1e34a43d52069abdda787c72f6ff649cbd35262315276991446bc620da5a140af4f8eb30729539d9f977a99a26051600f29bd97f525c4b01b089e3aac6637d51b8dfb52102737eb17c029f96b4f593e3fd35f121e73fd38ea594c0a0d2a10057e771349572ece8597fd938ab143fc9c7afd52015f98d4820cd2a14c66baff28cf7912472722856f6cb0540283e2df7661e85d8795ef79a36d76af6e54b5e0e6cb0b510144a22b142e3041d3df068f945d67490242f412ebe4b581f97138953f3e4996988727abb671496112fc11cec2505fa8ef70486b57ac573881f152f3df4526af69e72c2f927faae4f107ca5dcf6845b8b2274c4d4d20bf31d3639fd6bb816b0109a41e7c29de113e361c33443c781838a6849fbb5f1ba685fa3b57c0379ab35c2511930d90577fa72a53c1bbac42d2f2ec609fc320b4bb84572d70e87a89c0e5cf051d36da84c9e6414ab2450bbcc0393871bcf3a31ef7d94a576a5a6bbd65b296a664c5ac0fcc8400dceb39a3a17324c3097626f548de78971586f1bd9b2620e633de3fb4c99f35fde5c770f8a03d961b21cefecaffa5a42753820c2a038c3dcbd7238e5a99c1c94c12d024bfbe65c99c6db5f95888aa40d7d26586f024e83d83b72b0b8aa3e89fc1a366cca345b5b7b94305ae16fdb36a7d18189de080727391a721dc4bc2d70218aacd024abec9a385c0f0d896cb0bf427730a81404a4d2d06c727fed88e185361438bcaf79ded3b5cf665df8db30d2cc1b0648e70bd1c956dd72d18b3f1cfc4729fdec764496aca625745aa2ab72f92adbff9538b09f7ae5f172feb0d4856a9709d9d5eb39a69d980e6d828eb5dcb01231a80ce35ca210975f729ecd9fe212fb2ea6ebf66694727ccdc4cd596977d741ed190c793cf8f38fbb72a096147e9e7de1e7394278cc1d473f8fcd1842170929252ec86ae5d54a51ae72f267a99333aedf35879acee0ee82f4d48d6201844da897b5f6bbf194a9f0c47285aa14bf1013a9a51f9a8e680b167148fc0832d0b097913586a3a6819651b572bf21c67ff2ddad7a8e5413b4af2c915f44d9c46bab57cc6c1cf5ebcef947f943745c9fd380300cb50e2e729d6fdb4466f1899f0167691dcbbdf2bd50efacda7253cabad217d5b8dc8a58ed6480dba367c02fe919ba006e8bab36dba2f964d97284323a315b57827031dd599b10b3abf3a95650c8d45192895e9b55f7c943ec3d2b5d262ec7994af6e54a8215b0a0172d90fa42ff73b3c8c3650539e817c950720a47f02e8cf7665b72996212d95661e4df99ffd811ee80b1800477eb159ec3373a0d1982e58c664a939b7f350441816ac988be337279ac49b81323a4fa39d972d8d9350437d0746c3df300f21bb16423cb0f2ab9c210f5ae0626317e30ae486981cb06cc3abaee969da52f1c555a8966c8abc3956e73e042226de8b58f21694e3b4e92b2b1801d22187da9c67221655c10d81ba46105cd7c48abe4c13b02627212091cad86cb70c4c666f0bc271f998cfe340920fa1cc0880ef89d5ac059287234589be2cc8dbd3311d0d23811478d3d2196d7378b4c2ad325e5996534dd39720ef96ee3b534977e97d2a6a7c834eb4452b0ce7bace2e3b96189f671da55cb00f9b35d10ddac2af6c1d2e09c1ca34deaa34b4d32dcae03f35a0bd3f399a8905b4fcfd15802ff394fdd7b0c49764285348f036afd1029fec68ea48338672e3a12b6f5fc1475a50bb64e5e0daf7d6997021346b878804d4862b29a22a1f9e36b723211eebb1648b0c5d9f69866ae38bde2a9059af259175d7d6687f03ddfd60a721b6bbe176f507ebc7e45c1359c1b1ddec8595e9af1d80868482fe1bb488a335333a7acc7c8879bba8ac4b896af0d2b799e9e3c2db641f075061fecfaf6987713b07df9a4e835e27ece511b15f08108197174cc17cd07b6013baf88a45cea3b5930766687d6ee847c198de171c6c70cd9147f08b097330f1712a3ed1e94827a6b2bfd4e75c69b3c0d901fcca25dfcd11a90481cd12ed10d91b7c35e23eebe4d7239cee7eb15d344324ab80ecae5be5ec9f3f2ac1de49868af923fa0d8947899728a50774a5513914046bc5847c289bd608deca0848ec97342cc7fd0916d5854725260966e124bf21456655dccb70bab158e1e3796bfc2ab3b0fd306ef4ab0ed72435da270a35238c887383c98e6ae3d3e377cebf8c776eac76d4dc1ff4e2f9972ca6dd8cd1a0c853003dba3153ce1481a7666efdc2a91133bbe7142705519996155cdd2324a5e9f592465e98cc147b153eb29331f624e18baf2b882f50b2288580654e06ced9a65eb5c967c222a94ca7886a3c6ec838365b0e2eb46e066d0db365d2a98b5cb1ce7d3ec455715395ca0f27890fd2bfc8876b9590204dd5ddca15ed302cdabbc586ab9926f1f5dabe8943c95a83033c67308f8c8392d2e66aa764ec281311d9d4aaf7312af22bbefd0ebc570aad60646e6dd4615e6054f58ee2d72d0b65ed799dd24ab06bc1121b754b0d4986d2d2c63e8ab4960fdfc7273d649726710ad068c3429dc7eee0cc4e40e1d5af90b2dd33255e2f8fc5681b6ee026f4caa32c49eebe23c2f18c0d8a7142b353b416bdd24cfd8962ef69980b129849063190784cfa953cb8c8294f26fcbeed4f4d7e5fe5dfcf829703210a2e5df28fd49723ecb27e21828f5bcc7ee79c26d1b7ff732200e829250d6fd825fe695beaa72d0dc5490ed12e6f1c37b757c447e26b6f7d536ba55df1a72ce419ab466424d72cf71fc4fcb27af773538e69ccd68d38a1dedfc90a7c24f74ce349fefa85a7772e1de898fc8d8de1211a3c750cce3b4016a779eb9e55bf564976867a240d23272fcd534528cf86ad3fd48b73dd1750bd9f90aa15c27ebb42e42e680ace64d2f72dbfd6eba82e9762be70b86c867c8e0eff0b5fdb9337c77189f0ac70a89d1f8454e03e4aa039c7ccb815ebbd733e3855eb1b406d534910cd48b21a4656d67d772cb14330898c144a51546e2793060c15b8cf0950845558bb14671e4e5038a302e73222e44e996d02a57b1698d29c02b28881ae5dba726ebd70976b97db116cc7240688917190020cea55f1abd93171608d54b3cedd2c2ddeab078ad6e3683b92e4719af3f55a9fe15c4d2bb386f6f213cb732c02471adc9483da4ac5880b76b584dd5eed25a12daee3196fb1578d46ca115cf390cc1d1a1c2325aecbbb4299d43bb0a9371b8cd919975671aed01ccccdfa0142340a3451cb3ebcc121cd26774425a6fb1425440f5a1caf63c866da5a6b9c08187425321a10f002e3fe7bb310d7213880126a6d1fe9433ac4e151026838dfed9afaa33231cf21087e256e4d86c727b02798a965fde272cf511f86184dd3a2932f55514b3b95169febbba26779f3102eb21709d2f77e4f53c38278ed870eb194c1989b8e27cbbf1146dbf57df4172fbf23cdb1b74c288912d0f2a5da7fdebf48d91897c76d6502af7e5deb69ef47225d79b753112f97c39cd56c3872a17ff9cd1820c2794f60744fe2f8a1fb3ec3a3e4a39a60cf904dd9b613c72e24c497ef6e075aa3d9f7bcd6c148577d7ce4f5f33b032cafac6c9629d02b897b9fc0cf818f48d17002189a7e7b7b6394762f972969dac085ae8bc74787c70ad49ac31fdbcf719e22c3e96daa4b5115cfa3c4372638f984537892565986ff47966ec68f0c2617bddcdcdd7d25fcc5832b6d3155a79d1e018e91db01a41041893c65976db8e7dee750cb442eeb0c2d763e7313b1a2dfc6d891c7df0a0634056c078060fcabc5de247ffc79b8a1453d0bea80caa7249595938bb191c471fa2c7d60784c00084c6df717689911cef7bf001aa5d874e2ede8e98ba292a9d1c72084921e9c8ee8a8ee2fb58fc1c857cb038d2bf8f2d7246c10bece96e513ba21d1fd3e2bf0a92a48736f1903fdbc9adbbff3e1a648d2dbccdea8a6fed34e1b5a40e50a9e770985a4562d4b3c9b21f730dc136fce97b7232a2d4c52257222349104fc0272b69950b5066aa344b9dbfc274954b855c08721c8e1a126dbf16e23ac8a4a8144d70e73b263b8b10c995753898283ba8b82b723ebbfb06320b079f408d21100585ee5f193792245df0bec83da612d875cef9726bd70ff60f8854bbdf0f586893b73698cc53ca28d47cfe4d04dedea9c3fb3472980150b427ad0c7fa4ced7388b17f38bd4a88e9322e380f724cb632639c394416ca7a26e9ccdaa6b69c6b5d2857f80e3e6e449ecd99882c843a77e93459f13722da2f3c7818a3009012a4034ebe151725107cf1431f711e1037fa608d02c487219307a9da5cb83ba817edc23b15b466eac7a6c0a86b0a8e8ee8c212118b9e5726bf58a97be229567fcd03202bad2262b353da38a826a50a0dc939b1c75b7830a003d3c61966fb660f341e5b60a6f1ca70b083b16bdc8059775a9acbfe5672b55c5b9020abee7b265662549fb8a1d2034a166ded5857d12761f58fba5edd4f03aa6dab40abce5355cee9d3b13bd83a4f3d5030699d936a621184281ddca96d1720c388b3801ffbb26b03b8f55e17239d04a3cf60754628f5090002ef9ce24be03b69863f12cafd53c8ef9f1e78a7e54a804012ae9ecdba5a733b0ce6fb1e9b972ca2880bc634e233b555667a329d52c1a1d75d012b36686937b688855b5f59a0203a4c35f29aa38d386ec530702fb184a37b116ae29f467494912a50299d3f9522442b0dc68d343f3b9e43f793def3641ec519b8e5242615a5bc1c8a2ba05ba45474bfa954f77e9c9fae141d76d0615e61d30d932f17006d91245565a8db8f272299423def6dd27c36025ac5829a3b8d3f91c6325e79124dd7d37884a4ca54223acae3018c041908640d30f1ba9455c253e292868a4c470787d3c32ff5d25720287c3ccd2bff25879d522bc420bb361dd0204d5ce6616411fb6420ea80c9a883b78f87821129e5257db1dcff957e4fb8c0ec91ab6327c12f8ebcf1559c64daf019fd6686e6279125d3acbde4c663d46a1f8979f4ac895c7be9e8c7719c3338272c2efb1e101e97fa83901c5905c35731881f3c47ae95abd0515d357a464ab2572d4d09da587df0476dec3df52152900094621ae5988006e91ce96f7e1fb6c5027d6c5ad82eea9a462c73ae78ee649f5e72be341355641aa6c9b77b070327a7f72018dce2f99419da1cf590afe6efaa83f17c40460e872a26e3cd752d31eeb9872b932b0077443114d794933aba941d5242236edcbfff09bae25a4f2c93ca40c72ccfffc1382b56299b31f4c1908c6a442ac2c0b3972278aeaed2e9d89cb8e147292c30e4e2be2f51b5b6989d5d721753a17b4d87c71c2466972097966e52ebf14e8425507f1bda1b34c3623b11e35b5f5bd0c48ae8c2e1810269008075eb77e72819f521997d22c4ef64141451f40a95c552656484ea21500a9afda6eeff64f167e4b82cc036d348d0b55b0f3a028701b09a690f759d3b00173682eb4e4e973722b3ed4f30c1d001d1db142728be72ed30f71332eb1e50f290e0d38cbde3f5c72eabccff7d9e6c1a620d66ea62f22ab0f6b0ea7b6915ea7030d0f11be0d67b272eb4f15d4ae83c0b468cc6e51ce9e13ca9c8f4f36edac2d7e7a45355df9028a72e08eddd3ccb7cd392c20b9cb6db53cefca67555155bb69ad2b5541fea5a88a7289ad60ef65c05f6e5bb89bb5e04adfbb35a9f22e0557202b30bc8281249c6c6cb7528f33b97aff9b0fa0e6a17fd9c039eb784f623b2576abdf6675ee71fc76729f674485182d92f17631578d291605857fba529d044cd843117ba362c98fb972cf94f29567ad5cd317b06e5f027946cb50e5182b8778080b8090bdbb97976272ce906938238e50216b1c6a54bd01a96874cde751bf3ec365c413d1f2ee50bc28e643f6216e0c4b9623375d756b7fcbc0a0ce13994cd386f9f1e8ef2fcb0ba372f5b5aa78c03d1ff564ed5834e7bd9ae55cf5d9ec85b8cb110f103d678e16564e436ec8aeb35b209170487c3daa6ee16380c15248bb3820714cd6ca417bf8197206925783a6f821be14f7ae1c1c3a8d73be0d303e9bea244e51c5a0c19359d3729d42d44e79eb9649b60efa0d56177b57aa3c3063da74e3d8afbbb27fd0ad7f1877f1190d2c1c85ec6a0cf0a9bf0474b3f8541076cf40b396795bdc2c106a340f6161e56a3c83684aa777a967212f16bb0b944311f7e4fe6a623785125052df72e91a6f66e2e84b30f6d8ce3a7c5143de7ee013e7fcdd10f0b5858c61975643727d5132ca2b18b629c8b06b09dc4865489fb77fd73a2ab6fe5187dac39233e22431cff8d523e15ede2a0b117184a56799176e7713bdf3c46d94fb9d4f72583c11245b8718c6f89032a9ef08dcd2245b01af7ab0e0d2685100847db5cecb003372cd37df864d35d150e5538faf3be3db227f24913ec05a257ba46b9da9b813547238312ab3e48c7e854b02800ccfb24a4da2eb98ba35bfa06e1e78ee4cea68e5724edd40d7370d52c858cca39ad7d198eb9bf3006074666d230a4acb786051837294422316a12d5e13986caa23c8b6cc27aa0e0f771eee31b6663e67a3dc5916723a90994c29f14933954b99dd9a80ddf8ca5e90b8773f23833bdcc939616cde57193d7eb38345d814610ce0a81c7a7bb20c17569934112f6e492332d02cc1135659e0e3ede693a42b35dddae77a04ce814654701250e194935597beab05208b728ad3a5208625915aecf52d7794b37d9c46617efbb72facf21e45627c0f238372c3d5df22049f9d25b5a254ff00e8629a5777b1c1f7a541f5b111be8e3c50fb723ece63913a3482fbee814b2eeffd6c35901c9cf4e209728895d95db0bbf39a72eaf70a3607d4a72f7b98a38403c50f5e5403a11235b1929b14415fdda531754f4c1e8d70c74779b66fe9f854f70ba700df7f807a8ae969fad1d2386dc34d600e6cd22c389af8e5dd395e135d08efcb9820361ad270d0426e9b04deb3b9295c1e1d330a1f557e03b80d800c42d2877bcb8c6ac9dbdf636f562e0030da289642723e8a8e4ffff53cff0e0181fe0f2c77466056c60707ad944cdbf4fddd9bd42d72b7b8c7f120b957d056ad56549b71ba301f9a3d92fb7c70e579bdb25a01e62e7224ff2595b5d6a3fed07446b367a029cfe84daf35eb883d6a39eed547bff5ba69d0c612825120156993abd796b50714897fc2a05f6fca8ff4d1cfedd6c5e3f1727734e0014be6d375fd4b772beb5838d5e5945ab6489f494318625d049eab7272a6b251ba5f3a0ef8baf21c868bfecfb4cdede6d07972716e3e2d1a840cdaf372dcbf8fd8dfc03d99bdb85b272f08aab987a5de4f6b8d5e7fc43186fcc6ef90723b196c5a65957e9db519f4872f6ff7ecf79da1f3763f7377b3555727919bf272593e710756b5bc7d6aff6cde0230a90eb0cd6e053ba359b65433826a8eb669725308ce4f7171ace4dbe26f0fe344effb4605d4d5564ca641c559ef6934561c5cbf27311bdee13807f6cc8fd6f8e0e444b00ac10921c61b3c1c635c4fd028eb72e1ebc46c02c047369bf72eb6fb985f91d40f1ca7d5a08628d49c0c06db12b44def560ef18709f68115a62edbe71fd0f557bc9b7a7984e6848d0747ab791292147d433f5894ded0f1c7d716e7afc31b0303ada5fedd3895b2b160d6090bfa136f3549d1ba6398a45b07b8abed433b28ebf727dc26008c8323c74517872ef7e33a5f1c882ad066ec917de4dec3c5e6b4c6c2c196cfa70cd71523243e9740ae0272ea5ebc8c1a44f7d458db263f1d2ac4d9e96c6e01830d760b64dc8103434a4c725147474893dde777fa88bd44d2ddd33d3aa3c46a10fbac4d9aabb1bed67117724985e495997bf08bc799b8ac3e9b15f0a671084048256d78ecd728020bce1972ab45c522dd7ef0df80ca5ec353a005ae044217752f3c0a5489c41f8f9e432a720dbf4ac40ce549433d3c36177087fa2eefbca9e17a831fe1173d22f1943963727607c7c28b6667344a77d1ea71bea362fbf07b91e175ad19b790e093d3a07a72e8b5b69e3090f91213786aaeca4a1428ea876735fd2a2df8f2ebe055978700720a92fff0034b75c4e561a8132c6b4075465a37b9b1c74095bd5e817bc40d1b1eb16357d340be4d7f630254a34857c5551b78d867f295bbcbdae835375d58826cf83cf77ed22bac32d923090a2cbedf633d18fa80adea9431c05fd4cd3f619b2e0633704f2c0295865d888342acc304c88f3a5f895abf26217764ba9bb7865d72b7c0819c94cbd4590496aedec50a799ee9fc0d657ad64291ae2de95d6ae2d772952029365c15aab5cfcf5c26f5d0c005b49a2d864ddb4053eab0b876dd7edb7255daef72fb02787909ef46993639acc365e512639014d032dea7343086e1f57252694c040d9c71c007af0eed7ef75de35d6d785a88821b863ecab46a7701b97288c4c282e8ba3a1a2701109a8525d5cef41909b99870fd6ed192bdc164755e70b68e8dcbd3bd77abe42962c9a8c8278f3de0a56c195fe296d148e37fa6fb567200451f69bfa58a042b0097f6bc40e3936b511cb8c0e212f2401027a01d651272021c5edba70bc85d5d543bfedd247159878a50b3ee67394b9f195bc482a4fa7246c808b45abc76662ab1021eb9c9f2e49bace09642b0a96c8c6db4aec8bd5972d290a9fbf2bdad427d8df493cc77dcbc9e1853377f5b28dddfda97fc986a9d722fa11654655299c02a07a7e290bac91ea3a639d0cdaa67b6c198799a42c0d072daeca8805c3a37ce6461be9b4abbe47b8c8e493c32bb95aabfd508f14204091e4c22cdcb63f397ec3fb1457e6132faa760bc53210f77b02b4ab9a52a713878726e5a29eeae1ea92d6cdf44db0d8c5f33770262eb61ad82f23510e8b4afb5b316fc9fcb24ee859bd99df115627264130cb17ce80af455afc7dacacb6f5ee52b5b8bfd0a0bbc5e173850340b0056c4a95c768c14e65ba32ad86ba2066e7a307072d97d9d208ba705f79c7e444341fb821dbf5f3dc97283b8123c004be23db8c8720e6e69e3f5ba077bdaa2337fdc1510291465f6d41660c4a66da4c11075a78572db2282036a562db62811ed6e987c8ee0ff9845fcd7965bf5c50fdcf9b531ad46df3575781fe61f1bbe17e13e5cea5ae7945d37a40136723eacb9c1d95ccdee72aaf4e76ffae5b9140e484beb74b052077608e75fbb802fcccf811c10093d41726af25d3107db734908963b8f083ae0f43cdec3114934f98912c03e14a50f19722c3bf24baab72fbe2f11cb40ce5cac86537e3f05eb1f16904401081190bccb72b05e7105587af28fa64524020acbf7f426785d85bf9498908cf5d8514fffc9726d2e3bba0e52a3f1bace775ff6528d4fcd459d6abcb0dece180b528f0d439472d170f92966dead8050e314d6ba5f6988816513e60aca007dc55277ee9a95ea14f083d12bfe777b4e121b54d215fd7b0fd8da35f21956a60c556e7c46ebdc880360923ae600349ae6ab1c95837f7033222b61ab9c02d5a7519f14f4c6b2827d7289c19dd79342bb9a82bc6c9c8e0c4ec77c36ca121bada2483602319d60bdff728a90131a1ba36ccf8d110248ba539a731587574615c9a50a9d86128f91e61141f96b01b0b26aa2b1f6b6f924c2690df182e622a3d57907c57943d7b98fd56f7298cb50700189bdf2bfffc82444b0cab0ec81191d805f4ee2bf91f14d22867f72d662acc51ba37d7f227e5c13cd4052e821ff8afd8a1b4fc9d6e489b0fbc7e74e9ddf34a4e05624afc3b48c1ccaffb36898ad192220d6f17f5c0bff47cb42d772019bc4a953e108282d3945714df7e7ea09800c512cdf0dda4fd43b1bb4e60c7279b0043a2bea11f7056cfe69f461d235dabf43c8fad2c617081ac3e079fdd74ca2b358d51f9384838adaad7488b86ac61664156962ac87317bca91185ac2ca44c26d9f5fb6e04e4912086eceeaa40e35fb51d55df87da88d07a42d16ef067769d39c1669e2b9f167573dc43652c60714a7f2db0c2d4542a5a5c82ae183a0cd68ce4e5f535d85017de678e7046460c74e0dd894b2c70ca6f23f805a994174753edcc35b6971370ca6f251dfabf8e3b8b67a57a5a92dda113d2b495d5341a1f272692b0058f626aa49a7254fe47cd5b1cf8d3cd08a8cb5c60208317cb6bb73b555f3e5033db9d4d8cda28c7175f4527808452505f5569d4f72d5c3c7b52172f472a0d06753d1dbb79853881a6b30b84bfb1c78a5e2308022ba96757bd378dc50252b96a7b317172ae362a7200fd6e745d5fe35c0693014822b8da1fa2088be0c72ef6e74739b45da30f30d97505db24a20bbbcb67e9239177fdb2c5d00bd1da834588fcd1fabac5dc9964bf50a92598ae86054004a428d5badc507541a163a3d72e8970769397a8714f1d37794d69ddd8fccfa778a46b1fbd0d0235647b76e3f2d6846d0f972348c34281b77cfe6fa865e22a003b0c401411d22af08a9460522591e36c5aa17644aa1d4f13424a8479e881330f9941836534e9434ac2091b711727f3c0a4c97bfe70235c0e1a9963f078225b9c19f32a2dd49771da712e8598972873354090cd05c45bd1bb6864db8fd1dc3a920bc3a6f0c63e07759348b144b722adc5ce161607320a036dda68da200bd67484c1232731cd6e7beb7cb43bb5272c9b013221440b40fe5c32da7801b7652b27ba22cdfb653954af0929465dba5722f303df17e0dd8f8f55468f9e9a5f572ee1c38e4c39539c382bda7ac55ce134e2c283b7dfc68cf162b7111aba958907ebba876941b5e71fbe24a2f5fe1361772d3fbf11ae978e7bf7be483b6f0bd23bda48be3483cbf6ed5507ffd9d201af75d8d3877740ac1671f135eb6f65857091f6a444b61c9bbf99db5d69dc6d3c34d3cc742b8188f7ee0521f35b7f3f91b373ba2cd5ec022e0eaf0efd88701ec85b87280ca56898e54e51f36ad0f9193545f821d845357d4aacb162451ffb5f4578471f81fd18b57675e8c5769163096b0ec32c9702ee68fa785014dde8e9269642372470e09fe7ca9f93c418a8cf99ec1f4a134dc3c9b242e24a7e000ff795ed2f972881def7442ac10e2575c47bb1856909661e600d9b7caa1166566e879e16066724033ce049325667878095c4ca34feb01c10f7a6c4d80f326e818f6388a196a7276176618e73fa93d36aadf2bf566e7215166523d9a3170e16ac3ebd27825ed7274c086d3339e1fafc30c92e96a9c62dbe10227b86b119c1454c1f1ff0a8424721f78547ba8b4951deeb03181c9426c7130852f7a33ef665318851556367d7c7226b0b2275dc86654e51d14caae5f005f13e8612c4c9627b76210aad3ec1a3172eba32b475564b12d377cc22c859a896757d5e9a133618cdfd52ad54d1173907245f3502d5ada80acf597534ea059c80821f1af4671a5553c9433c534cd9cf172930e4a9a5f9031b87c8be46f90fbb42a62439210660384e3b150499589f182723383f7263ed72d270acc59fd663d80a536bfe71834a4e328642f10a93faa5c7292c539be23cfeddf519e82ad466ec6b098cb52082d383a2b3309e7e8a9c44872dbb2eddf2bc921bdaedd65a38f28cdccf8649c9bdcf757623021e0828dddba3cf085f247a78d9012857d5c26380ee218afda766160e5031c97d62c4fa7b730726f558dff07216151d045e9b02ba3a210aa3ba54d3d7b5b2a32a6849bb87a7205b7ec96bd7fcb75dd01deaf2a0957331e050d4ba0ac4069b09952972234bd02725b9ba2ef4964eda7f942c45d1e9ef9c58427e7dedd8b1be7181f697593da307284c0229f58636a402ba124d1a647c352f0ab8d452c8ac2673c36066907fac04ec0cfd670391b2dfa11f9bbb2fd12ba16ea1f406add48027e759f5a5554c909197f2c028d66144997bc9dbaf1535d1286c28f29ed1765bd9717fc3eebce9a5f728dbcd3d4cbc765a92f555d92b8af53c68028974ea65eb14cb6f2abf8aafa9972e7d06cd88de84e68d2ff54025aafd24eaefc6ab055fc22f1e8815bc46b2f7139f53ccbc1f54f7ad610e67c9cd02cae638a9aae686226a838aa2fae67205e0c3277c1406ab78339d688b489c236609ee83fd52876c6c3a389732b586d7503614f8dd52476c9d3ab55c2be426727861c8f3dad5ece8865910096101b3325183372f18fa9f0d54bc44d25e79046db93757956825fa1832c52228fcc12bde97bc52bf0ab9fe046fca4ba6373ef2ffd74ab09dd2cfcf69d88a27c27fd693e40217344ab7ee1f2aa46a86a241af4d13d6101505c42984f84a941ba0f2b529c1d858b72122dba5ef3a6d690c4e6959f007219dcea54f8e2dd28074972e49eb76a712a33b4f9af80819d4b269f468a8569d607e048d9c3003eb148d7918613ca6a2c9923a00186a93f1fd4fa1b7d1f2ae6496b6e478211da075511065974c075f2e822726542c0ea7b7818d46ed36e1bfa48939741cfbfb835de4f34519bbb4bbb661668507a99ecaca7919e8d9f22eccc35fed240ef47b86723a8389bb91fe54be30972600f9516006e64bb1061c5988e250c0bb17603a9bda2676bcb38aecddd78f81b8826fec9ffaa9aeeb4b3a3dc721e8797895b009e32c25dc5660134dde21170722a4cb0a054e1afbf8dbe0d80d5abd0fbeea95266adb3e59664a5d60c476dba2f318cf72e161496bc040b7a9e0173defb34238c7d53d583408be0c0935dd0a41af7286cce3f7519c55bbfc1575e91ffd2e7d36516c0d2ed83c86660838d2a6572fc4d0d2a4303995a9b1674219ae59bfe24b70fc158aaadbacc7f14b880fbcb72c7ec66a877b81214e37e5617eeddc0d1e7c9f6075181bca07add30269caf631715f8b79fdb3767d371df4a9f67dcf548064067052ae2b3f0274232b98fe9a74855d59c5c3b2a8afb7948bce9523a6d6e791ab7b8d95e8d14d638de0528022462b836cc60c36aef2038dbacb4227c40838a29fcdc8591d9785181adcc9cea4e727a73de4357c5bcb796e7c4b587df66b2c394584849179b0f99258c12a27e0b72d9ef3675b6ae10037d5b1c357356b3a86f614d4998a7c1d98dd4edccea413c72b53b1875731f17bf8513fbd81ed241ef280984c4bfad6a576ffcd57b391d7f725afdce3fb3e7ab9be41fa13e70d313621cf0ad27713609a5cd15e270fe52f2727bd63095b1770770c8b9cc4735c67fa08b5977acfc0d6ce82b8e21e2a3af0c7218c16e36a211b1cfc56204cc4173e7e10f8f5d87e8351f44220a808db2e422729d78c4869f93cadddfb23b6d389f43154f3caeec9d492b73b0adee8851dace594b91eb9755888f843f81ccd0f1399349089a034d77d9c134c807e432bd7a5e45b8ec7ed401ff53f6ab9021b9c70570e56d4545def8ddae3e8ddaba4a42e1d072525109dab2b41cfca099102aaa9090a5dad1bdfbda25e4a858e041678db877729e6439c6db2a1f50fa9ed85b7f6fc9a3a0569abc1334450956cdaf5d99742372c42c4368ff32d677125def05b8fd3c1c0a24f7383dbc61157d521debbbf5d5729d04036d64f8092eddf17eeec7c0427ec5c9aca7f2ebcbfd9632bf777966b35ff40282998cf658afb6c21cf938dc75e7ccaeab445ea5603a288149540b9e2e63c07ca32556397f30f7bc168deaa580462d05b6990a0ed8e93b4b8011290a214a84e6ee9ba6ce327efb10f13756d4d9d348abf2cf4f1a901b2c86930b9f31e25f771923c1ab412ccf28c58a5b9d6c752592d0859938fb12af60f92f3e8446163f44ae5b4b846750ab56cf97bd33c9543a331d2f609263c4eda13cd2134fbead72504ec9c1f275663215b8760572ac62254e88c40f8ca18460e195410fdcbb8b7263ce0fd861570df7922c167c26e0cc81a74d5a2a9c845fda8764340506762d55b3ae09e526826a5d7e83b05837d6e65155dc4efee3b1646a99932f5579023d3bae08f22461a61d12dfbc1625a0a61947a8fe09e1f88ef9898ea4f564eee6c3720ff9fc91dd5760bbeb210a6817ad9b7a4dac61ae416612e024bb268f0e2bf76a115a9395cfca43fe7ee3b548b9cedaec9721d43fce51a7d1eaef326fa7bbb572d2cee2d7db45e2762126b4e6929ac52d8e79ef84664f64971fb3a52aea94707273f545968cd1adbd18153133e9e8908bfbae28ae56108d2d0927e49416c0fd724ec0d1c10d643ec250cd76a30827a189aceaaf01a5f36baf3274a9f05b7f47726537655d72edb8440de28f7a78784982f59fdd8bd116f6f26f421348a4221c60c76d589f3b774e76307496e6763bf66f8c415213a7ee9e4d83236c2e04f0b2729231abb8a370c3fda66c05f330142f1fefd99c78361c679c80b29801a92d0c72402d77089e19577eb10f22d8b9ed4a0f40f530c60615ab6a3c3de8708568bb4f071507195767b7d119c4fd6b3e13cea15fb6043bcfeab225ceb23a249abd830f8f7a03fba3b4dd4ab5a414819fef19a57446aa496cfcd0efb69a4394bff79b1909325afe5a7211755a1eb50296e8cc2a64191336140ecce98725ea60f2ae8272813ea7c42a852c8d89ae23542d06a505a7d93db48f80277897d8244ea50eca72bbf8e1a2488b542ed90694a826a63e5df68c33898319c9ea82435d457db6b0727e53e744eb35079a3c126f065a2be5c0203d14cc1af5e9b108aa4d184486bf72b81e9ff2625ae7d0bc4fcb59fdbc57238bcdaa0f6b62fe47054a9c37a713a7725bfd8f3ac52c42113d76834dcd7db9b0621387b5b669a2985f54947e8194ba40bb83ea9814f036bafaf53300478103845e49fd98368c845be5be95b57977476542a97afb6da632b07a9da415b92ff4a76cc925f0881cc070ffcd0d37c07c7a720b4f30aa37491f9cfa5dd1f39b8d3fdeda924e09e89379920e0e8f9d3be84f72cf7eaa1392e218a8f8b29ef96c0472cfdab41195cf7e29efe5b5ca5b6513d972f78e4871a48480106612522cd296f626615addad5aa0a9e225766caaff025157fb65e3e175067d1cde6472bf9e54008a622eb896b80a511c4c03bbef582e0c7270499b363b52899facbc1ad71c7fdef5a59b927c60b0459d5d04b13f1aa1b05eb40857bde1df5f4420bbe179c4c797bc3a219d9995e9e53ce173d36594dfea726e14ce6f526fe541df44931bd6ea04e6d9e037488fb99bed25b3f2a5ae3ad472a735797dd6693089296bb2f79cc3c72ea9946530944af807d0878c950da8487200a1139a774f893c2d20a835ecc70360ea950e556c9b6639d4cd495f56c3bc72487c41e84851ddf4fad8da3c979561013f0afb9b7ce08ae7d989b61a786c1f718e3653f38a66f57002852182bdb819c1eba59c43e472f52df0939ceb025b4b72b69fa0a3f47d2afb82044792ec621b53f1a66b6bcf48ef4909103cc12ef1fd6a8c80b942cdf64afcbeb0a3f57a89df5d0a174e61afd464d60e05da938a79d817704391fae84fdf1fb4c7950d03adbf5d024b73b4e113149205baef0d85befb72697b96fbd4cb434619f030c93cf168ec264d3fc5e7807ca757745912684664254a456872aa68f103d74508784d62250aefb7b1dc91b977144f860afd3891f87223b13c25b9af287e8ba8ba895a5c4b324ce86d858b1baa42170fe31c2ce8e972006aa4e265408fb3f36cc9289f1817e987cf49264b48edb60123fcdd7160c972cb5df5dcd2ae9773b29dfc43bc699797816f42f65f562b2ed42c5205129cd6725f999e6e2ec49a2c59b0cde27ea9f17484f7fad598cdd9f096fefe1106f1c81f9397a6bb8c6a6e4b2d6c28dfa90a078418faae137804a3dcb2f91994a4cbe2726041dbf5f616f663577520bbcb8a39f838f4a04560eb862ab84cd34ecc24a1723f65e8b30517eea53df83b3d36d26f2b3228e8b16cbfa1a8213cc9a05b506b3c4ad68e086465e31d704743d2d7eced6692252991c133ac2ed78210be3e1d8772d29af4debe637b92cbaab5289eeea519e87206ca81403bef772480a843b6fb2685082107180f991ead20e9fd777ce8cdb0638dcbe21775ad0477c86aacdba372f036f21bbee9bff63bcb6421c8a4ef318243c02987a00aadc15a7eb677db7b72c93ca3af653ff628ad5a29a134d3bc9800d4df31dd5dba205486e2ac98ca8706ae9e8e48de98c3e7c13d759061e19fac3013bbf4571a8d5ce0646b4ddbfce3727f3ea33b0a50f6e3878fb65692bf04a75e130078a969e95f195fb69ba5314172d1429682131d085fa088fa5d1f281e8fe778da1e53cff7cbfb0135d253a0c92c3bef59eb028ade034538eb4861beeafae13e7024e172330abba93127a305f8724109015b8906ba9166bfe292827802b73789776f97006b3627f539ec97d57d727476139ebbb0140d5a5f771adb218eafbb8dfe175f87c9dc80c839d5b5c81772dbd75ffdbac532bc25ec13715e8d09c38d3b0098821b3e2824fcefaf2460bf72cd874cfa52e92e9bbe0e5d54fcb15fb7cfeba2b63e1fda897df28275551aa1721c3be36de31ccc60fdc3feaaf335a51bed4a09f6eeb9f2569c1c33facd73b07206c2b10a4e33dcc56eb69d9bf1c8d89695223b8ef73dda7c0b37954daf080501ff9e58340042e7b8c9eb7a3befa89cbd9a0434c2b00c87e888c0e737b46729727496351c1e95f6b994248b3f590553d5f92952ca140abf64838680943e330a722b8bc372691068600e9c7229cd2d8c6806d716db9cffb4b64acf8ad035814072f28a6c42627f8ee08b136f9245b9803012087f08b3ea7ae348cbf712c2894725d86e5875029b3261801df3c24b5b83b2e6c89729390fc82d0bb9059a2f08c13eef9be27d488797876a8e3405c03f371577ce7524361312bf554ae20f328d12724b959cd3d2a331fe6681a38a7c5047aca74978324ceed257524401f8610f2f72aeeb1c1219ad39524a4f194951124a2bb2d27e4a70ba877eb5c9c9e9ebb8782849082f16bd7f55ba1be4a4bd79453802990f3187bbf2e26007497948e4bc2472f591027f2ce021571664d548c87764e20255c26bfca57150ad2759b5ad283572132266c570f88f6e8fcd4604fd8ba190dfaade36625a3028f03b3ebceb0555721947942089a752e108a3a441a9c9eba8e9d38af9d9a61f05eadb4f2a80db9c1082d015603a159fd03b812c67b6046721c5cfefa3d12078ad3350eb8a285e6a721b7dd3d808ff81d27c42443ccbc4deafab1c7f1950c36594b64009c8093c7c720430411c975473326c51589f13ac12ae03ead392e6b6621ef511ae5c0744fd721457092ac4a8731c6a9f686b9e6afb07e3d2283a421490292703129c159602729324593c8f11f0b3be0c303d5b9736a4057d847d6fe6fd7a8678ef7be005be330a8a0fd0577e58ed75d5d79813d0983a9710184bf585f667df96bb95feff0b72ea2ed680ee858021581848820b0c3854c13fe18f66a8f3738211401e74868672a3b7fa25c066d4b136b0bd96e5c57e119376eb7357bc0c4bb73c0b5419b09e3967e33ba4c47d060c6cfe96f088871416ddd970c614412ba6467c6f42171ec568c1bf54413d061660e847a222c22ebf314682b4f8433a2afbaf390a9f41cb75726492a5d461e6dae7017db57f2f81dfc7e381b70e4667fb758087128fe1f677721e7fee45f06c6841354643296ddead751a0efc4eee28929cbdc9608473b19b7239a0082e44799394c6c77107c620d493d2255efb4683b427bbd311d64dcc48729198289dc61381d6835b2ee2a2fcee8f56a99dca89f9dd1b299a151ea9de095ecd0ecbadd250105e5ea10b4182964dded749c78756ac3a8aff69f6f180921833d3b639478ed49630d44bde1809ac79418d5fe76f74cbce3add716c5d0debcc722d771cb3986aa1563da453012d8cf0d9346a21fb970b44276d840114fd0f0272a1d960fe70614e6c70f6ccb8510e9fbd06505a75b8452304fe6af5b41db9a26902c5f31d4f007f78bd358d2f8bcc7a981b788b6a23add536d2ef4a85c84b7e724ebcafbd13ddaa654815c300490cd0ee65643c95499e070d26120bbb5f86ea6f9de1b3d5143d04adff742a44153bede726432ef60e2176140e58bd581cded31d0ed430dfc5abd06494ea15ced4a8f6b06ddfbee57af6c87522fbc4c5a9500d72e4328446979c3623f52d47cdb5d8c1a08fa9605e594a40046368fd9244476f72b873f0f6e4eaccdfae03f67c007b2b4823af3945d34c519fb76d5cc5714a2a038b3afbd9106d43b524fec47398c0212dbbcc5f86eb8bf23e5bd0572cf337f12639e0b2c44c9f635176c32221f2904a5bc7c22f614b881ec3ed544c954d0cc472896c1cd6d2a0fc06222ca936d2b159606b72aa6fdf662460963cdb27e2a0863584e1110e4214e672931f48f9c94c6d0c5b1a73ce2ab52a4e4d2aaa2277c2720eba64b84cccb42ebfe6b1827684bae52eadd308bf4ecc8fa0caf84a826107004e63a8e9b222cf52f131521e2c245e1682ee7bb6bf0023044fab0e8663e1aa2872c1e3a4d6e4cba459d89a2f0b13bb1edaaef0d48987d01ab5f323e05744aa2e4e74fa7c2b6ec1a3d3b588a6a9f14b505bd2e96403032b46873614e31cd7f2e95562235ea20525f92a6adc49bc9cf26a3b6f50afd97ae2cfb9f8fbfb057d758e72d8877785927fe4312e730f04ed6f6ee58255a51e883ea5f8aba6813903cd5a2bc2e626ffaf6b14ca162d6f816a781f5fa4734bfac5d6b4c38cc78e3814b3fc7207ae3b98b16afdf3294959118605828385707eda2bff873cbf9336c6587e35721542e526dbc3bff1f332fca9470c12e8e1ad12323bab54742febd842a65845074f8e5abeab775d552985e9880b289e9debb8d2897b0b29c997177c391427e07242e62d9ad026d14cf52cae36253c7449f69bd6cc562fb7378374b1a299a5b555f360162e4fba96a522f334c63964fd9ba612189da68ad44b33f7042b92cc7c3cf0d946fa548b397027839d265202cd8189875b69cafb00cee55fa737d8f24d729572289e7461632f2ddb561a264237d7803884dac44735226557dff7318bcb726d2645df40eaf64f1f5dd82e859bdbeadb91c9154a3dcf565ed70eeda9077c7227929e003ad632ffc12ae9a82c2bf9334ce53e3ccdad472764c2f132537e7572db8751e463b327a927ca6cb168d4ce17d478c051909237d8f5158c1a5ea27d1b26cc0efb41bd56d3280f0159743f9d9af1b7d5241eb193f5b0323f5dc8b036721df02b706929e7fe549bba62a598780fa57bdc74d3f82c26e975a89918d0ca55dbbcfa9a36dab0df8c3185c2152ce49450aaf57a80276aa03d3e014ff513531f2e99368e4627b6a14f62982b11fabb166b441a7d33dffef4b18f67ab355a2d724ed99e68b19fbdd13ba9eece41ddf79afc8ecbfb501ed5a78b3a10b8b212730dc5238801a331162d5c8cf120a8f6d18eebf86c073ac06184b5359b94746a747290baa4d62590857c2fb392a14d9e739848796b63d1b5c912c0c10d9074837e0ac5ac6142d78029b02d7498d17faa8777f18c10ace9d47e72a545fbf71f7cd6729091b9be9e6a50a1fd8ffc563c567a37c1201bda8c9b1a650c5980d2e710db24e862028399396c3301e7a2e4f76c1912ce631e96fc89043ff182a97e214b596c6eba5531dca72544034587ec7edd80921d965137901896924ddbc1d7220b192ab59a87512eff3665dfb35bfaa38be3482288334029f65a4b05dec2cb235750727478c89e90eda322fb9be82a46789a916af0d159797c300d38eb9f09440c7072f13295b6ae006779f53c523acbe74b4b0e186a170a77722c8b4191f55462357201da37288eaea191c99020140cac0c75d04a40d681f2b8d079fa0505f6bf3b72cb8b382da4c7c00366797d5675097bbba116e7c7029d208336ff8e8d937d4731bf1374a28d1afa8813b7e1119cb92e7a941122a4e653368ef130ad66ccaad772136c791fa5f86fd04dff6652d8ab3a2dbd9c7c82b2f03d7272fa54cb9a877d446bb33fed0b83d015bbeb547fb25ab4b9760c431c5fb8469fda3918ec2f71c759438ef6f556a64f5f83ca32d87cdbf0c9eed4a19fb42fb18b262b86512635b61f7117899bcb78e648062f14d6fe40baab54b7efed9e92eb84e587aa2fa7c77831c3fb4a24305ddab4881e554cad799789520b43a061b23949ef06e788453ca1728026f0bf655552ba7d80f8808230624a8b2926892e0abee3d7463d749d368e72667f9151d1de8fd15124a0e07c409fb2cdbbcb7c4320f445bec23d125152a572aa4c0bf3e74fa235feba74d4c93df421c8c760718c6390afb4662a8f1d727072d83f8d71cf66ddda4229b060f0f118e2cd9ad68d59b811de9096021d790b420a4850900ebfeeb674561f8d23e7baaa0a8a2f312530d2aff5099ea58262b7d65e8c9b76e36ed973f36f2425af63e14f2495d3724492155516992f6c7113f09e72ef8ad0639d850d257721d79a62728b4ffec759b84da16b8437931e2a9d28ca7203addad3cca5bd1636de001a97442808bd02529b6d46119c0c7ee6c5715369726f0d4f5891f4c3a8ef856ebe66674dcb34202a1ea774583e8b63cc86d244fb7268827579906a0914194af5ce6ecfa84cec51de0b58ad7b43aeb2e7761b5eca13003dd5c70116f731792be3acff8d67c7260969deb27cc61a6a30397620b2897249cb2f2378f89a5e24b4a0301ba373a1da7f91e6661203eecb431eb33336ce72dcd0e62d0feb8803239c1879c34f86897cdc40a6af3b689e91f85e8809b45972516bc73b7aa073861e706649d457735b67565bc25d3c2103edfd570a8f0f7b56e35ad7dac669f45d4c4797495eb14299cb04bc1853325de96b61f24a8f692d1eecf1572edd8611b2337f96fa611a0fa7b5cafb7ff2075f877ce53979b5dd3e72b48084f41660682b040d9b02021d6bf0610819c630973d9a568c3a468cb6b35e97ff11fc0672c7febbab8c39924f8b33c1feec7713a7ca6c2ff5685af8435b72bf4d9a13fd6c854f33486de8e368d62cc4c27e1534d6eb5df77de9e8656d3e34253c0209b877cfca3234fcb4c835dfaf8ed14d43162537b43b9c7eb65dd7ad72a889ee6142703c7d4ab4c457778f28e9a41c889823d34a5a47b60b4e39962b284e79301e72b6ab1c7b37c9ba6963a1b7eecb567cc30e7a6548d158114772d243b16bace7ac3d17c16209d0a1b324c94dae11a33e4cdbf30f5a3420e902418872de0de0a9a2aff6866128dc9cb5e8ab5b48aea842b6b19393fecd7124d82ae404da2612929e8aaee58938289df1872d9358e6436199b88ebb356970b9335a8c3761b232af56dac9a2763d63fa5f6423db33faa5a724680b644553d5c82c0eee726e84de7ab12e35b600f3ed2114b08703e766b216c18e560317322e8f32a633727379c2dc5ceb729577eca960c0513f9888b8d147b1353f8dc6b512255b28c9026e24c3d84468b74fe0196e08026ac32e0b30be5cb9c6c1a2795f030a901eac72641bb4cbee6059fe8379c5c7fe1e82c3222627a68673cd3a9b2bd4ac96ba7672991274b56868d547abcdf46caac7a6136a03d7d218d6efa9d58bfae73c0d4872bb13394b5036c14253ddd9088d02661c2c4703c5bb98e4263602e5b5b72ebf72c19a07bf4c6d53b79b97afa55d71187e1f8d0febbb085a8b700de084c98e7557dc2e3979f9a68f9d8874ee5d96f83d6616c6f5be840e37d36c450a497b4b04021299aac838215c78462f74db4c1cbec2c27354cec8ba86e02ddbf4ef50a9cd7283c23e05b494cda0851c8a354982eca9f3ba18e4c5cfa91938049148feb91744d2011e3b67422eca68364336278a996cbd2e2efb46699d3532d038bd98c15772a2ca9b3c7518b4d5c3d6004b5d096b1a0a5e2b97de135466b9e340a451cded0a047c060d3fdd70ef7b3bcfb2d33523ce27056d19f99911e76779055ce5fadd6d53303e5b795275cc78a429d65a287c39961aca82eb7a5e7e19549a5c3117f7307e1c1d92bab7eead6d6bf4afcd536e1b4fc88a83c7fff7527f19c89eb4f14b13daebaf83736db79f29006b5505f8977a639c50969ef50e71a8ece27234a76a72d4b524b6d5fef5cbb73e41f8a4b8c5b50aadc4b8bf84501ef96d1a6f46a13d72c2d1f8a2a79f3ca0d0349f0b066cf4b3d7ba6988ab7b12947daef639553ba52c1e1a19d33afdeb307438646b978133cad205b6cfcb1bbc41a5a6dfc66361840443f20d10aede925522373710bf266d0d9a3fa2ca4a473274a4500953674da572e8c45b23543caaad811c3b6b38a96c058a6f0f498bd3df2824a8992b090ccd72662b0c0524c534294d5f3191bda1e1497f9b675a63ec1bc140317999bee0f4724a19e4845b2cb2649dc5bf81df43a03ac6e2afbfe55f6a2c2c81d98bd2a48a2c2b05121cc4e4f3f4b1f2b6786a152d99f23c98a4d5c88310f66b5b3d26d96237fe86438baa8910ec805c1415fe535a2aaa565c5e206c2d5ae0fc3c11db24377247a1d7b5d8c1f421dd26af53a1ba1284d34cffa759418da443d1489d892b97065a12eddeb64986ca27bf240e51da29b64247dd51d3d0411d909e5d85acd58921289fc006ed2c7af04497c333716ec9f9b026ba40629d04d67f30dbefd13dcd58e9aab3a386e351fdd931a1f0299771ce7b7aafe16eeee7555c7080ad68d493722aa56a8e004cc9729a7ceca0ab5e3c1af36f71652a5006867308c0fb95ffeb3e9e7b919c7c96127e924cb4d8026b0d72fd35b0cb3692139a4ef40962cba8881a66c37d2fd84b91c2b99236a67869461a097a40451386b4b21e7cedcd969cf772717336c899148f60096a02fdeaafcfd31279d1fc7afcfebc8b1d7ec0c1a21072aa1ebbc88172b01b17d8f0dae4df1e549f8f7afccae2a7b029da99916f25034dfb73da37683e871d9402d3f18c4165bfc31304b997c9eb75635d84d1a2c3e306abaf3412dd62ec2d704e503eff7e36e752dc9c4e6f842c93b3f2174b17d38d3b134ccfe1932642a19d9ba7c17346ca47145690203131260fc56f0da40d17ff725e525f242dd89326db5df01e2797e5453e1e3fef88a4bf7a319f2752c548be72624dd683efb4061f4d0a8f7a3e35b79b3db482f09ebb2fbb9fb7ad416004e20f7ff41b7c4fbe0cf8d15c7cc5b91e5267f024af4136249a4a4646ba133464bf729a7147936a427bfab7e20cd43255fff55c8d2831fdfc7587c9eef891c09ff4711eb30de88aead2dab02a868cf8b2a9b23b7675325f90160a28c67a24c3985b349a37067b8e2b17acb94900334f8b8461ba85f9df5fa41100688d65704012567231f2ac81965211ada47fb2c4eb36a030c7c90aa0b36faf88fb1fbeb240a4e272948b9f515ed697c0b7e59df91c1cfa1a3f0bca00d74d8cdd731176b5328bc972f61582b37e75a0c994ce5c0bbfb96a69a2c885f6fc4f2e7be0f9042b35c2ba72e5d8cc5e280340deb7de1c9b4928def2033f17d71c8443a26be0e15452bd117249a21e8b3f4b1e2779333549b6a68f129d017ddb7e28641dc15853ea2378c0463f5d646e327c86085103b50c6b70b75db89cdf80562b213b2f99cd90baa3da7243a334b39baf5c2276774eb69a47bb6db5f77d833582759b368e50004b8d2d3845de989b56398b066c5e44ea02dd81acb85327b0ad4de19776e8283ab86a164b5aaa3bd7b6ad4421a0bd2256ba7b0a330ddf31e68c38a11a19f22272b8622a72e214b5062916274092ddc4a8adac708d24154eee70d71409f2c4cd7a6065d07261a3d663eb0550746fe89e2fe19b943eec7aa8c510fdc045853a16caea2b5067aadb7b1fae1765e6ccebe1bfbaf72195ced814bf245f98b59b176ae25f37063b04eec7ecad198e371462afde883ac635b0dcd11bf4e4753c50fa70285ea6c31b6feacdd5090094b208a4ece9c49384805161151400870eba75e681dab301d5725a84cb39de772205000f2b5562a889753979a7f1166f0ef73efda9bf876e6a7265a873aadc5a16d5f20a07e08fdad731528a1996d7eef07b8bee2fd3250156728c7e96503cf45d106bef9f8964008025ad0cf34425f6b7cf4ceac661ef1c3325c97547968ce54aa9de00954a217513585a9f8d2f1246fab23698ece99f415f72045a197a494ee71ca78323c111d01df271ae6c6b89a9f1ca239d698401552f72f2fea549e4aec4874a42ddf80d0cce5d4a08892ab321d2803b3ca41bbaf13d72bc2775247255d6b5fa36df3094143de18c4d20389f372c6d073c092649576b4eb787b7221ea78a65fcb0ddfedf3aba3db4d999b666ee8a74b2f5674c6a0aa91067d0cb8a3d74476f4374aede43b39411fa7b4c1648f0c23b0f98022d47194072c0981971acfd63bb76920b35ba92922ae05ff8961ed418c61fa7d90e23bcf172e7fc4ba0105ab7572d12986be1e36cae08dab87dfd755d89ecd0f0faf215d95d4ed89f5b8494ca8c7f36bd56bbb5cb27ae95a251c6da577d388c442a573249720eeb5a7c896313714fa90105ef134106e71dbbb29a43c3a665acc4f103cba264e0c4e0a8db789dd73e4da14fbb5cffc113d5ca4c7968d177c5f4a693399a537249aa3f4d30c9e08b5f27315cbbd136e5c6f73c6208c82f7b9061c60194ce91725f45b2d52c4aef8b4567f116fa4d025340bdc32a4ce81febc6512581da8bc8726da51885fd26471b4ca1d350127b161b083b21baa2afa3be0b8c1fdf1d0a2772b2bf4194b27c45eab0ee58e035213a5f5f7d8a96cddc39fd8ed5e930f0de705f7c4d8392176961a9bf644d81d94b2b2635a8a00aec6dce8d2db020cad02df944ea67bcd6b1fb9db43d0883e89138331a604a9e46bca2cda229fc0ba15478f3724d1b39526e3c7dd0ca5f19e7a1b1fe800daef2f84e6910d90f5b657ee057ff7275c18d0a9d4d607768326b165d8074469482e86a5567ce37ec3ef1a6d2e18f124ec56f6590bde08e9daea55b2846c343b277fca4b7e1cb6a75d938bbe75a52723bf70576ed1f7a1954d65aa9ba29fd5d8221294c9294961b29ba3f47126cf500bb62f4f139d90bf4eb6d2689606ad3b709fc144010b878db56809722c10142725c123e463ddbf698781b92e33c71d33be83228dc3f50f15e8f0fa8a9d2dbc663c3a611e8782767097d5098ea56ee19bdcea08d714b5c2fc8aea2634940ba1a72cd5aa79a79046ab698bb3b16274d375fae1519b1247d2740a39fcd0fe4055c37d0bb1839eecfdb37a39e2dae785117f0030dd4ce1050698898d008f335f28712943d68ac19bbdcae4e36bdc3ccafe0327dbf401d988faec664f8cbffa97d547256a4e1646070ad6be62bacdab9966b4f4c77f39db00cb320db5b34403721d41c08f4a64b57252a92c67205d3681d16e0de9f7c18836aa0802012bd58769e4915b620f01b4878ef58b98727576413153d7b0b79eecebf7f58141c20a02934e4729deac1f680ccd8822021ef52fdb3a10174443537da0d2c15ed1a0c9a7f12d8636a0031de63fd8070fc79e387eb5584b03ba888936f7f1b17320c13657b17fe72138ed6e5f63c854d4dfaff9db889911f25e4fd137b009317f82c461befa0c8726b50d6a554073b3164afd08096a5f5bd44f37c1b1a875e9a410880e40a99767273ae4c72712e3d57d71ae9fbeb47e08d3dfc55cec058e9ca597b58f3bebba5729e2792317e706ba1d6c19b657b716fb7c8e5cff990e9fba905ef1b9244899618e6eb439aa6f3bec54c0c919b9eae632ad02964a3de2f2a932ef25d72ebf32451cee1dc3dc4b78af7ab22882eb7d921c6a50949c57ec25f9c97c126939755970a7bf1b9a55d5be0d3222229f9d71a569e5de7a800c45856283cd68d21be776c7280b179ee527180251c50cf64d5384b944c315ae57841f1cc522128c3be326372cbe2465fa3086cb4d629e53b59854eca6e0e378dd7aedb7e93b60ed83ddabb48ffb91de97fcb771c29aa44aeace1540215d7656d11ea86d2592fe2047f67953798544cdbf3dfe4f5595642d51a8fd722a0e909bbc78f25e44bd1763a96f4484c570ce92067be5e90b4693822a2ab6be0be368ebd6abb22d0639748b3f721d772747727c84449e06c064f7cda595b45d81ef6548c60f61894d2978044febd9c723a377fa474a631577f50b2ce9ad76af34dd7720792e0bb4dd3d16820de94536b3576f794d9b62616e754c0fcaba44aa4e24b6f0a81f799957909f46e98661830ea369d2ae6a36b55ae656a58fb4c731064258869c6b9f988a3fe57029c7a68725c2e9bbfb42ab0506889e046468b19ca88119619227ca4e70b3db7db8cf0af72dbf8d81187c1970e788d1b2039d16a5f5946f65912191d20312eef2f28f7f93152b11062a21c23619be1529791621bcc40f0a466dd021bd02e7484265776446a6e88e41e0a91f0a1101d738b1848086c99af2a46a718b9c7fd57a92bca7f1372f49e94bf6b1ea455e130b3cda71b5ed2eadb1f26742d7c86479487098960461558c6997115c68030b1c1d451e5b23c66bd5479b81701877e020c1694349e7672665be9d4676944a81ca3cb7f2b88f2575784eac11dfb149eff54b329c4657372833cba607dde6d96ebd820c628c84e9f844ed86a43bba8ef13dcf5a92cc29172396937c4f76656256bff0db825bd3af44dacb84a93eeda88598245b44b06fe286513a08fd7c644a789bb3dfe55d1e55e5c1a2fd2c86e43bdefcaba13103fe972f0e66fc09b6dc00db07343c5bdf8d4530900560722e3a3ba156874ab2a29f31f567abfdac46c7577aca7163e2250ed48522d6f08affe1dbbb37529163f9f9109cd38e821836ade26138ce1f2bcdc782faa486103ca3fb4f03411924bb8fb151e6c7761a5280a66b82f7518f2e4e91943198e677a1fadb4a97dae0fcbf5fe780c09f0b1388d70cabfd6d35a996c1b8082963d557b75bca6f48116f209bf24a53361f4bae200d8489510de1485eacc494847d77cd0323b0f6895e48499da361c72dd1e6b2bdb6e3f09a58a865d76670707795c16fbe92fc9751e1d5133a8d8b32162d3d9cda10434d70c9269731a25e2deac29c067a8f4f89922dc370f3a0b152a4386ee719c8d3daf41fcd1dc040f1f05287cb272594c435924b37c8f6a88bd2e03d06ba3bbb4a99b22d206eafc877d4500574252e2d77bf42ca4a30219d1f372cd2ed886941d7f6e8c46c4e3cbde1f4162af673257726c0f50ee91f60a54d220d44403af0fe4bc9c4819a0c9f95b415f327c3bfbe4f53458803253e55d99ed148163869e9ecfdeb633f54ba0a07c917abd9c8781e220adc96af7d1c20a2a04727e7ae112b98a4a9398c78da722c936f0d179c0f16c2cb0baf50864800cea717275cedf5ec356240056a75c789c353af405cab9efc290de4cc21adb7b56db424b58b4a6d75f7fa33a8d73e442fbc6dbca3c8bef3ff7830c58e1cd4103e6dff643a60a921cab821db863d2ab4f8cedb62019fe67bdc69bc9bb14a2f9b2504f19723ea8995d4f4c7c514ff20bf378747f2d29d10f2d569c4a68b6e8b7950d26d672e0313588d568f3f5551266778d8341f05c2ded8b4b4a1476f39da4728ad11551023346d788e0b05d9118f0d134426763a5675c7527311b420469841d82a4771d2749e8945766dc91fd82a0ba0ce8245e52426682aa21e80e2ec1337b4df4c072115c3a57467334b5513d4db908753e07918b629c8d9bf6b06004435fd8512d1b84c990d18452eab8c47294a0355c25aefc5b815514a0c32bb03b1003343e2a72b2d79599534e69b08d4cb690efb1fb9673c4fdac149f61b7c5b71f31bbf6150dc6c0fcd29301bf3338693d85744796da955eb742f1555380ed1cf8abc08f8b722ebb8f3504049c15d963e17758d7147a1c09d462c078c488022579a700fe471cc2673d920f43c7959a315799554e6cf027fec32c48b91e0b615feb07328f6a08d0d97017ce45ed2204316e2081195249b9c66191568b1cf8d03f100780b0597216232e6cf513c8823a2ef3f789bbe6aaab0303754a98ad4954dc7d08f9aaa672e208e0f9c5a071b561702a0c84b3cbcd2ce69cefedf683e3dfc68b3b1a33b272d94a01b561abd9d62a4764b9e86992eea0e8b95e21c4b0afed217f706f024d22e870beccd664433a9e6759592c528005cb2f731c4880a3c0d427d329e5705372239a6ecda2f9d1fd620a190f5e55926a053bd183a66d011bfe4c9305d5f53021233519625ce204a874e670f6a9beb740d3dc3465db9e9fa252ed74e122d117727f7e5244ac382be4b1399fac725910c93bdf81af281128aaae12b6b9baf10c1eaf17e4c6b08ea18d0561990d3fc602846ea37a5c362698b241e2f03ba0c4507255b79defaea1f2068a46d6cb86475b1399e1b88659fa2794453f087316ddce72919ffc6faf3acd7dbf2a84ca42bd1df4d9cff74f6e05f39fa8a8233a40a30172a0bf28b856be104775a7ab876615ee4055b92d487af022de8621b0e9d4cde3253bc235ed3962b23b4993cc800d6b0b7bdf130027cabd97d4dff9f69ba3fbd80b0159599253dadd431612b95592468c4597f017ce03972583cecceafbee244b200ea1249c8f444398968c729e59e5ace2f5ac2675dd14d765428e4cb173a946403dad4f73f7c4de067ed3ec70597632626ca45f44f7440e8f1f2e7fae954a2948e919b17e52480f7ca4f6ed99042d7be7bfc180c1a0b211a8be3a5d1d75dd035ba740272cedac4ca74befd38d4fb33228d681061c7465f0671f501310049fbe0c4b5924661b09438d9d50346235f6bd35e7e7ae831914e789df275d9c925177728bd4960efbfe874c94b16343d70d3441f379e3fae3d6974fbe36d05ca8b62872947d6e07a4a2cad269d1c83781af8e3ae8ab0c0ccf10d5b73b07c1d02398e146a7d4d3ba65c881fd470fe2c250b9a834ec73092b0297b7e0829a92c8e0e2920f07339b831458ebb5addaa1da7fa3cb0fd5ce13620add10eadeec3afe2af37609f7fcf7fee0e75bd11a90601ce1bbd3978eb5486c9a3a03033100f24413e03e72e2b7d85270e2a53e2ae71f65bce56ed6814da09286adfc60add7293f46d09c72d53ba78dba9ea7881a0b1c6b1f9e80c0c4c8ade68186b1aed1f975ff568a5d72e560a101b11477c833ee4d97b6c7bf768d88f0ef0a7e5b2804902b33932ea9725c59ae82d4b42966b61ff30eddc85fe76a5007ba5115153a3cfeaaa27f238a725df24a9885dcb4c5e91a1175de08a204e7d7ff9df14044acd48535ef5fb66f72e5cff35e119c31ee4e732b19ccd71ca51917c6395ca111736a4fb3a29eec4827aa22937658d99d57d96560970bc394d5dfebec1d8d3a503bed27fb05881a180b75153dd97e1ffd1dba5a2d8b03aa004481e9957c530acb517b02cc42008dac7222640aeab75d5f2d36d12c39f4c7075f48483bb054f6fe417a13f8cd39c5c872dd69ff5cf69b03dfb8515e605a186351dfb47fa03762d9a990924e3873f040173134a5b82f981b371961770c24b03baebb5abb0df1f86ccfba4aafed8b601e720eb5189470d2be68297ec18b8c37bb5a70336cc7ad33088cbe373092c033c672bedd7a23068f090e272a703ae42930fdfd8b454a711575d3b9b6b297cc5fcd7205391b95ac6f90ae52bba0ceb6a59a6863a4d84055fe2dd420baca18fe4c5a5ec8ab91f11239c3499084fe96d9c4160f83a2bfc89963ed2686e19825fcd9e727dcbb66dceaf70fae621a41564d2e8192151b716ef8f4a917610ebecde3cfcf72725c856f17c541b493f66250d77b75823fc5e56def483b2d5cba43a1b084fb322c8f335aca6af1dbde1f53c8feb61d87fedb6af9f0f10d46d120140283468472762a101aa96dd906f92dda31e275d6a3f4245f27aba4ec74ee686b14ea86ad7262332d9a307a1fe5430daa5c402d3063fc9516a9d95cd70e6279e58bd0f4b85317619f7686df5991ee461cb74887f9ce5006ef1d4f39e9b4f44dd38ffa785672451d683782c0c5a179347360beef77071c70768f3b091fec4501b7c4f9a7077262112215d37c8c4734782ba54d22556e5624beaa557b78fe55875355e9dfbb6ee82a53379ce7873d48d0a372532fa914e07210c12cdcba94047a026160aec072aa5f266d8aa6e67a7e4e773b13bb2846d9cb6881270ba825cc7e604a5d704d727f69d5e2cba899806ed20e2fcc3d4ddb7539c40b3481eb0eb67b6d89d5510972def6205bf223e589e4224e2f9bf18558a20c26379f8f6af9d2e6ca7d60df9c72c566e13a9760743ee6b1f80b2ad773c13f1e2a2d4d69a817d08c6c07546cd649c4064f73c6e44db3b5b3783122685c98deaca772ed1c2838c7ef23ad2ce148720385e4094e77e0ba788b71a234867045130c3d15ec0a3286ecd1671383498b72699b1be1d2f2a2c4b03808024a1134559823b521a50c32fb95d04eb1b27d2972a5c989908a18b55b425b98344c69b89ad964b20c7e018676ed60b6133db4280c638bcf5882121754be681c7204a89abe463bc82832d4fe8b864be560d2ca5c43e5de3fed5ace818aaac63c97835b3ad189c78138b44cd0f8224919447cd45e729add8813d07afb8f31abfc57dc0385730ef0bc80195dac90e9260db812347b72d20e5c3110de5ecc7cc5c18b1727ab799996b655faf6d485497333174a2f4d72e071fd80af78fcd7bdb4f7765e1a7481bd3c569d4edce15cc5d0cae00c903e5107013ca5e775f88e0799720fc8825ab22b3b6b677ffcd5f60d00cf6bc7e3cb72eb1548907b733c0a9645adb43fccc448db3dac591ae2fab76e624cbde81506725a7e451d883fd446c9f553c4a1cfea07ab29cf1209336a0d84d2d7ca9ac94c726a78c5933ff0878ca1380daa3b297ff97cd003495586b566f68922929d3e6972a085c8a13f3141862daf39c6ddafc03fc9cbe586c3a4b4172e118469f72ea0728bfe8de2904e9d724a611feba061c06b0cfb3df87610a2e816a5ca2058e69972b9c150780df5e7be4d722f21ce803bc64091fb00283b8825ab3a3aeecb1e297291a8e69f4e47a31b864c3df09f32fb84afe7bc17ada49efca1f5251bf16e9072a14c6e4f48d9baa8ea89423e5011c04bf2d4f12ef85cbb507c7740923166727224b7f8573e5f9d2adb9e84bb38ee3acdfd9b649c45a5fd2b1213c1f5ee43fd678a3b0d193d8b961550c02d15b26b75d1bb08506492395406aff08e5e6380fb7259510d821b20f66e2f8cecff9b3f587b549261d6b4618a0efb77ef23c0d4b8643fe9514276dcca64664909cd579d30c8266762a995d861897a76425c7f975f72ee2960e26253cacde1c9692fb3055f24ce042a6761161ee02d6e25e18fd4c9721291a88c1c6db9f8d208da79b0b91b2e68b1606ce8756343694e056abc143a72dfdb41771aadd3d401e9c016b941495ef55f076bf93eeab9cf9364d4c6e80e001efbaf2b23401d5f56cd261467aa46c482c23d31e74e3f24c01c3f2240d6c072cd355724fa62f1705e3169a682fa37ec42b874b31b2b1989fcd68e773bef913bbe4bf87326c6f710ebac71dd5b4466c033ffce31ee8119e448813e894923b0728e2ec3fe54e441784bd64709a8cdc5ea8d0cbc22da6a3f5cd5df6c7404848d20560d82d578085895e364da854749e08e8c1b5cfbafb555fac7e0618a001244726b89eea285f28608354e5a3a1d8146641ca01328ccd5f6269db2fd0d46448548f46f39c3b323323c2b4ed1190482179ec516b2c08e5a56f192bbd78b9aae7f72410290ffab252de847e36b1044e664f489ab667a191190d283f2442ec53aa27228e449290ba33a2fcfb40d701f92d46a784d7e2ac6d8e11fa3448b7ef8e65572a339ff340112e5f8a23c711a213fecda2a17c1f04a5037c778e79f9865c808729ea5ed940b9209c8734db6a9ecf3ecddfeed1ad5ec2ac344dc8a19ab3ae61c45e4b8a27e8b5793f82fd47dd2a3e17aa0b51f7ddd43a78abec118af547b314c50ce60e56caa8ba2f6366ea9be95b180512dad93644bf294329ee1ca024f899747ceda2dbc96a89d713688e7555c29b64956321259cb366e7f4c6f7b04904c6a207efbcad027ec400ae1b94af3d36deeed445ae8042b8fccf8f030fb82c967e272ad7244b512265c7030d5c0f1274976fac98f795789b75b22fec769554c81847278eca5e7247ec7ccc6e2a8d327336334c5c8e1ebb07bb35ae3eea677943b8e72ca8e3703deb754eb65f228609be0ccdc00179611b6fbb27fcc471926eab2d072b2e860230ac3ccac5bfbdf34dc39e542ad56f6ae96fe8f267e290c40a644762c1308e1228d00c7fffc367e64a0ede29ddddf33a222859fa0e349ed1c2aaf183fb48f59d0d8fedce353d320e29a4878ebc2f7632dbd00ef8ce84f82a6a55aa1726d29eef5c7bd40975a052ee86e29f7afaeab010a8ae4ca85bd28fe3c0000860f4b0e0190f4720e15829dcc6eb688b6044bfb6245ec2c8c4254eca94f1c5aef7281daf37da2fb9928fe4b631915fd58ec3a38c69500563b9030f4c73a2452e4724d2b9f02305aa47a512873f5c07b45dfce2b8b9f73fd5bfa3c86989b10a0d872007b1114186873034b6f372ec4733279829adaf61ed4f467b7cff0276cc89734674b709b39bc8944adeb4f18d3c24c2fcc504c4ac29ed6de944fedb291b17b7261460018a359c007e346ca9014ee33b215c4cdfe45d4051d726456c752fed772380c14ad35c541f6335b9e4cce51b03ddc7dd8644bcc7bab0b5ae7ed694a9872b655c19a2d040b3b7f359c9e56e1a56cdb7f78377dfd62f75fee718989d09f72d6364f2679323582a1330e4f242cb25a7570db422d8d867291f13d430173c90e0b7f50af983aac70ac3a8452334a3810ebabcf9dc7912d865c7ad51824239072c68610cdb4b4a18626d9071a0af388916c2b821fd041fc23121d1a333b7f1c72759fd4522a1441706f9e0234149bf9bc69dd36aefff66a982fa73198be26c3544cf142e5fb7645f44b34928f96680712d5702d131ba3e58b8a0bf430bed634724a144f5eb58a0e63b2bd5432865c057aae17d9ce0e50bfdb3c09c160b179ac7277d975e1825422af1ce160940e347824d5c4aabd25c8b09187b5b3cc9c25c056fe79e3a2d8daca4b17888aa866968c320db6fc7f99c16e3fec35b7f52839312268fd1ccedf953c57c35f367c6dbbeba33b4f4e6441cd28fa54eaf2b7ed77c814d1a12a180d8ddea76497b227690b0095f38aebfb202fd6e6ff8fa9bcf780ed728e9a787f8da99dd1713711b62fc35759494c404164083fbd8131b705fbc52372f732e048153687ab8044958b800b6b111ae7355427f7ecbeddf3bf13bc4ec072ec28f7557bead6771ad6f9b41814d64aaecd39a464dd4c70f300ff5fe1049b6aced38705e6fca0107f8a2aafab107c4f03815d90747c58fa27fe800d5ce91e72fd41030c0f81be630bc3d9983d4d90a2b72319d2f35bcdf1844793c89ca2e71ea6f4186198ab2c24ace625f588dd68eca406fd0e7ad356529bd98f795c16de0d417c953503f6f3bcdaa573dc5039495de342eda98325140552181867b26460726b81184866bc4700ddde68cf64a4be862902519b08321764e344fcf4460e2450cf709ac18f065bea5b6badd6538cf305e6ec94dd5c9a11caa126a459597021724e1187605e30d1f9e8e93aee02d03161b5b87b1fd8619bdea213b6251b381a723cc3fdc104e7e603bcb37475450116a716fece95aba632193d1f3520c55f087297911291fae1b031b1c6cf1e1bef33de6085d93a3b68b42749c681548503567297f6276a9af1b7b05e9bb2ad9f83193ec9e9933bf1309c9176c3eaf3aa48e47220d7b755216f98fa31cf003d96e64d1399cf1cd3b6783160d8d41eb178293b623f434c8da28167405b2f41233fc36396026d7c4a33f6b0a13e5ddb0462e83072de16bf7d4744d620fd2bea31183e5d21ab1805ac9898e23974a00145814adb721de258899f80a99c767bbf4e3dd182693f06461e359ab0dbecde8f47e71e42725093a772ca7eea1cad3b2f59a6f3d5efc263ea20dceae0dcf68ec08c9837297217f91435e2b767707be744f4bb28230427a2fa864d65efcdb739aaff05a146264264cc7abe5eab3205176d263a23cbf5a468410a3f01e15194d6bf6965c70f59b55e172a84ba1946421909a36ef513ef40088062f3f861f5c2703f01bb080162ad2800526cbbcdfe5798163e517a569a167d0f3c635e92c7e98e2f9d451f027201402450395d48c1936893a79f7a07b7cd0d1c0e5952e309e42af3be2558a62e3a6171071db4548cdbe9c605e42060446e59f98bdebd168c482ef43e7e35fb2222278a235a78ffe29a125ca77d226bc2797d0117e2b5266c0ef630ff57fdf21e44c014760906a1d955b657abc5f7a99ec2b5d3aa1c3916f36ee52c4a87e4df729e7b92272571cdbaf3999827852e5a905bae336a2c89bed2de012bc7b56c8669ce3084349edc25281ce6e4649a4998853d1207e4a95dfb038ee09847b6a9e172f895a0c2918ef54438c21349f7a6062bea1f7eaa7dc738107bbdde795a31e83f2a5774c163c8566db272cf7642ce83689db896515d095e453638f59d0e15ed72520bf4579fd01e848d0ad64b8ac5f99cb20de3970669055fd7af8691ad646372d824505bac9222fce9ea1c9dc905b76d7ffcdc295c361b15fc457bd484437d498034c7491d2bbbc22f90841f861d0b57cff756fff2e479beb6b56f259b3a9b72dc4c9a97c78d473ac877084abaa48e6432ad946bd99cc14c64136f1fa8ec4c72b0ef138e5ebd9c8c5822e108e539717294a6ae8d95e6620036ae1d2c8711d97250a2f27b57c604c36ff277c17fb290dc54f657b5bf098a1fc3363cf50a0c897251e46a4895b6bbbf40c4ee209937c5fa7ffa3c60166df0116ce5fb57f8ed047214b81776ad5020f1b6c4f7a5db031268ae8c74025c3805adfecc7e79900ffc47b3b7657343bdf9edaf6af9966c77185cfe814952a6367f5622c973d464d5d44bdee80af26ac464df76669479735816276073aa75a02db5a2f0360ad0c0c83c727523c107a712739815bb0fef04d4e7d4516a94382e2f1a5f88f41b4df488d37222e91baaa902cc5311cdbeec5cef018594fdc4c36b30b316cfedf04f210171314392eb29899d6abc151d78371e9b10af019260d691d1892569a2cb78a505380480494df900fc51546d0987e0be8d4a48b372fce815b84fd5173b6b9e3c3e2e4e1e9f17089c3e609a25e928d9b2d26501d680198850fd4764a7ae17bf7481c0726ad885bde93b856df8d06805c10c69994c0cf8c7d3ede2018522fbe7555cb90f6475b211ce406eb8d38dec728af37733e39d6e6641cc5b9b3e33357b1a6c8972869e0472f7b2e60180ea7849af5a1efbafd120799e6c994dfd44ed210c3f607265ae79d6bdabf755c12050f1445ada24833c56eff2129360eecf6f9592d5ce7212eb69c41ba86df94082e1d256b7257623b79eee08e91a65de445a2c77776a7222c5793c6ff65977f7980eef2ed9d0bc2e5a372161a984779378dd8a568e587273120be9a8bc737099d2305ef77ee32e9f1d0b4f937c84138296002227c1b7077e4c720d458626948fb54311f560f24a92cde66d97f275e9bcb94960ffea6a72994ed281a1f71236ffdc9284e48bfe55c33261a96d2b213c508580c26e606b62778369137a1a1245aa9a3f040e6b01ed114ec76149bb73baea2841ab15a17872e05e2f6763945a3fbab3ac91c0490a38464a9a50fb3302c995cf2aebe243f9725e1c6eaf7541f2dc9effddd879a2cc095a8527a669b283e08315a1cb0941bd3da42b87fe55d512ee84ed6f0a1602cfbe76f1d1008b15e4e97a442a7e1da9ab7233313b62c444a352b15ce5548371a1ac03f71438daee5e2c24aee9e555d4dd26998835d8a65c6ebf5beaa2abbdfb20c7754f69092c6724cdc048ef50499a67726d5e0969370955af1414f0915f8fde55e73ee0ed6019b1833bbbe1f37c771f720efc5f5679d84dd9c0040f4b020eed323e2e107626713f3dd817530ee3db837241f82a2c4c8136e1e20cc4d46468ce92a387a2470fadf7eef97451ea28595136d96cf7f2c64ca6781e8add586ea67b07b81d07c6e0def67f11ddcc0592821f72506ab6ac51ad2edb08584a127e26f2dd5828b90023b27fd87ffedc74edf5b42a979960d2e1da25d4315818dd6f09505bca8eab96c12b5e0849120e5cc8d53119dc36dd1034e2fec74a5320a28e344deb82df133b5784552e39c8992d9095d3724a46873df6989bae57299b2af14e13b76b6f8a9ba6276881fcba3e26b592ce7247722f965836de5eed5825a1d06f3fbd799dcf2f1e7bf0f47f40e71dbcb39372b2d4ff11dc3ca6c90cb8681094904911566983ab23dc6668e3fbbd4be0effd72767c2344d84737c6b172a81087aaf980fec43fb193d6191382eaa5f59b6a2c7223b0691fdc2e861a11d369372179640b920e010ee411367b4e228dd1c4df99725e83758f24c560aa3a5f7c1f801a673211c4281e7474a0d8879d9229abe77217acba9158f6059a116f82fba14665b0b5a97f1519918df6de6d8f9fc6f407a52a23006b02f075329fc056820cc46bd7febdb5abab0382b1b2205cc6d0fe9bde00348d42840b6064b03a7a235b432dda47f5bdcdb27957818ac6f1e2a72192da72f8cc41da3523fa13650cf96db8226e1f963f154ca0f7c80f61e287cd4c092516aa324f1aace96f8e7dc77b7e6a29448cbe1c0fdc27f529380476cf9ad10269720c0ec0b44352e66db2cf048835048a88a0e2f2c8d48a25bebe53c949e8701e1687ffb6d03bc0eaf6ee4558c8162d9223933e74289943ee0e74818c06762de572c03d10a2fb2416f08512e18135d66ef41692baf314b37fb61ec4acd738a51d72792cfc9076d808aca0f6a38aee25f23fd1f68d5935a85fae588d5c08db6fbf72ccb3de4c8c05eb59d49fab9b1cdf16a2c1a7ae118858d34fdb1eca58f85123442bfb0a9fb2dce4913a5499e379b9e245a37997b562875b489c6654294e7c731cfd0c6c35ddf7dae452c4151e400d95622dc36decc27a6e57372364f4c3c09f64309f70cde7c18957c301859528ab81854f4f9b54d8eaea4a1b5b8d651ec1bb5546de0bfbd7d2a1e7dbf9f809aff233e744e7f8a335f5e736b5a2ff1a008e42720088bdcd2a8c0416b1ef346932e7a99933cabae8c703dab201367dacde70b8723b0cd69a7b7275ac00c74c565d75649aa5adb949a357b548b860f5b73855b772591d8df20d539f0ce2f5bd4afc43747f1fcc921465d6a7384b3b3f5200dc9a7255f6b113968735ce0b3cd6fdadca512ddda5bc8837497649b98326d1ccd928725e2dbe7efa7436618c991dcaec08fc3017ea65ed158928beb425adeaa794fb721c769d4a0247eb32279b9b571b2330fec7d81beb6a09271944cd0808e4225c723cd72d05cd1114d0e69abf75b0d5879fd895e678398c796045a0a71263797772161430685b5a01b24efcd8d143611020f41cd5fe3f4b0d39a67a62e7e77bae10f87be0f0a6a0f716dd50afe6c16e1eb248307117a4f1d4621b3a75b584181672e2d83334be956feda25ea343c5366b23361ecc7ce8c7611fe83602bb0379e64511d3b590948f05041adc5e3dc408065172282452fae0bac930f98fef8e7b707264880554b4e86981106d9e13c0d047395b829d716890f794498fa4bebb518d721752e42e2547f85292bead132ed4ea72496d620861f7a443372e4d9c5e140c644ec3b6204d92984a9987495c457ff22a2253b93b9eb13bcdd3956f1d40ce096f253bf41ad41444a33d988b81c04a5c4610c7fc10e47e7c50f5a227ec1a3252722fb9334e308f610cee32621b8f62c1556306017816ce6c57167d980677681e72f1e2f44f31fa6a7ec8ada094bb4db9714b7b79c7e0c5a756c55130569c2245726413a8454965c7236ee0d753599efc11d698e880f9756996de66e8f7a3ee86725552a65e0754c2c5f54266848e461902e430cc5a973578c30281a42f7feee816e4379baed9efc49f6e6c6e54492a68d0331c2371aca5f4e24fd738b4e3b2422c821a1b181b2f75e0aac6f08d04ad997c86fc23356793134f64504f4cb6dc7e72aebb2d185b5dbdd6b9b84d76f973dbc6bd4bfadf073d0fc2272f2f64b4980d3134ce7860a9c19226013a79d579a0b1ccc0638dbb69bb28813710efabe14b4b72549ad6d65ec5bcb15d12995ad8536896e4005fa50dc12a467a54b8b0c6deeb7219a480319ff71166fb0a4c2c5176d47be99c982a522a8fabf6cb8bcbfadadd23aca4f9e3f8eae6053c3cdeafdb8194891c53ff59aea211dd1814e64003347d72b23260ae97abbdf2625dc6f2d4510df39efbbbc34143252f7026b280ccedac601eea0631148105defb5a37dc7834ae8834bcf9301ad3e486d3e3e05bed3c2f453805f04e1b1cad1cbb6a1049809194e505f8c1c6cb7eefa28902b459017933725d6c5c59e1325fd7b3b1e6aa3ba57773d6b47b106ffcd03465ec1fef3e4cdd72790792a38b3cb2edaafbd4b35286375a9b0c46dd361df6339ce60e5b435a7972eab681c64da5169703d0cdcb95fc4bfe8bdb2f0eaab9b2083164e9048a06461fe9ff02f68246249abe0a20222cdf7d86dc250434d0903fea70564e4894f2ce72a105aeaafb853e1e268e7942d689655c85ddc9f33146bd52cd682dbcac6a445e8edc1149a68663e1bdda2c3c8fbe2e5eba2f98121e07f9e2a62a2bd3c6bd95727b432408c9e4077abd23679404af7033cda91f62928809e89a879c641832e66fe748afebd368436eec539a56fd0571acd5f132843363f6748f0b8308fbd0e2725b4f9c716319e16986dd8866942a1b733887b5f7e30b9bfcac68905d05d5446b21b3c56a2f6b2d6f8be28f9b011601439868c6421037fa7c00104d665cd98772af4331556f81917cd56af25f7ca520c5eb01f391474270290e754932f3959272975e8579096e7b71dd0065a84918097a8d09c9669bf47fe5276fc8a67ed8f3725828bc10bdf3cbda0ba4bf416647b2f5db711134496dee6c846424bd6001ce7213d1433fa422412962b62a8e888a0ad4f0d82dec07df038c214965027946b172a2c05ea403a1f2e96afab680c261c90272fd99b9ec9e5e8da572cf97031490720afe5f6fc77b3aa3a64a5f4e2f400f0bceae09d296f787090e69c4e89cc8e972b51aef620235b325ca9b34ab85b4ba82ba37b3fefdda889aeaa7f94e6fe0805d53ee844e9009436f208537f0c338988c19f2266b100ee21e3cbc76aade33d056d95c63ec97b405eaa247a531a5e4fe9861ee2371a50e68f50bfd9039c0fa0872e2ea414d35e3fa1cd3db60070fbd311a5479b08a995e2beecc2de0626138e247e46ec2841452d346af0c64ec7a5bc7561d7120c49dd615457fa5992c119f8a4f86a03a527a9b7dada5276f0ebe480006d44fe85de8f9a8e863e30f2a7229882dc83241e35e9ab3753985c41ac9b24151a2c33f843690272fe43768cb1b641c5027ba1373c0ecc57f2f424a0229bb94590a03c5f91132908e9b545223ff09e8728e1f6d0ae725c07ca8253576a4feddf5111feb2d4812d0d98e861f594d4d7472dcf1e140fc21dcca455a68ad53c81dd88687989a75af279272dd3263493679155bb9d65b0c13f5dc6724bd8b80559603f7a4db8bcd83c3859990c3ec8c2da952340a603f59b352c09936bf903a0822da8af3522a80c32d41911a8dc470be6772e5ace9a055a09d41c3cb7e0d998be453612e1a536735e1e6494f3087226378720405472c185a8e6047c075838398fcd527047e5dafba7dd6595a00f3b05f3372f4ed5e8cfe2e05373a6c701acbc7551da9a2747f73c05df4f7e16285d9fa087239fd4041e0dd92102e606cb11c05ad12fbc923f83a2c4663607389be6aff157294fbf9c053b8fd5677dc972216da2d0dfafc33e02c4fa1a42db135035bac5572da0e7cdd865e28401f4d4f211a07894b074413cffb058f2e9892c3b12d852c725d0e5461a4c4f94d0294fd4f1c564c6b0045a99e82f86f0036d4651389fe6c65d2977af45c974d0a3509b7494912cb7c5ff236f58829a03eee6fdba3e579c8720c10fc278fbd2f62a5a3210a5de1e1c8a988e6b961e12b833a523bbd1f69ec72683695fda208cc17f0083638fee577392c32caecbc0ab77833c11eb3acc68872d1f00aba0318b05f8e7e4a222c3f09052826e50b18f3efa96aca2663bfc36d725db2f397b59339b05fb35af644271b594cbd20ecb5897f3b46322ac76d25d416b740119ec18ad6f12a6505bc01a05b23dd20822f5ac1678d4c433d8ff2f7d17252376e54f9e2e410fae33f54ad4edc183c35d0330b77e308552f9a664ff88c72ba1e4c5057d5b0eb967eb78fefcd859f123e8fb85aa9a1be8eeb9bc01cb597726fb33ddb5fb5b4bfbc9b8cac05597a1b1e0a77d6e1653ad663e20cd2944a3972d03d84dc1bb51f16d3963e68e71284f62d7914551712c75e81a018e427403e72692926a4ee22735a171818be2a4173477d25e285d1ff79c68bfda2f2d77a5b02946f976f1ff8bfcea7af670d7a1ab508237899bd919192c9741ec6cc8a2b9772bf2803dd4680cd0936c6c6e680228392c5555d6f52fbfff72523664e82267442925034f0f4062b61d7b41e3e5155aa7fb04681e24645043a2753de86511063728ff1731104540f823592072fd2a482c9c9140f65e136f1d6a25f89421bc7831935cade972a3fa9ec4dff3d3f65c39adbaf5fcae9892dec414e831667d7d91372c106ff27eba0c1df1edd93b63bbc52d768d5c76714cb564a2d1c2523db3eaa724f60abc52c461cc5116dd56929a80799b729c77fd8a45ee935364a3729abfe437f9d1aa4e0af4974d8ca610caaa1e4b9179cd0e8075766e0efa12b538fc4507284f0e6d953d598fae9c2d32efc0d45872229348d18604551de9039982010f05424a9702aa9614eeb66c72ea28c0560b64c043c0bdbde38e9bb0780540417647258bdb1c16c465d8e4b2a1944bba8b0244fe9b0d7237e21f630966076a31538188c3bba3ddcc6a0ddca14da9f84c2e1c7237feef074df7e665463c32fe3d321727d1b3a4956cb825bb4be1110ae870908e7a2258bb5a863e70ec058d52e564a720d4cf7a0abc32c9a498c740f78bfd85c5abf1068a6e3c4cea1516c772a74407236d56171b671c769f52296b9c49a8964ee3118ccd28f8dfca0fafa6150576820ef887b9e1d5ee17dcc936f4d43aa1c3941daee789da89d780d3734cd46ed657294cfbd28268da4f02fbe77dd7b6b879c4ebf22624ce7863e603063dcde032b3087ceaf6f0d2da78a753cc04ca3345b59478e2e2e6d647a58bc72721f39129b6f9a88025e524c8faa571438bfe893db73ecb5a4830c384b42bea7006776a53972bb1c07db50636e3658eb1ff66dff03259b0e69576e5e47e26eeec0d1733f77728b5fe03de9cf49b97c722c695907e63c9a036f1ba74b59c48fbd67969cb04d220d066762cb6fb4d1a98f6101c78e565adedb0effaf6eb4a06db3da16c8f63272db1b14a1c452805f54b3e866a8729decbab3df0b8249de804fe99a7b6ae85f24db79c003db417e18c1bf003c8e528ab74e4f12e50373a2024aee66d2a8d429721110e17cf10fd84679f39e12cf016bb60f7a91c4c1b541dc43bc44e888cfc56beacc41c53b516df4d55318dca5d7c3af91716cb4b988a0645a1d8277f1f627274e6b37521b5a22084878f6c845e9a66f655d6c2f0e6e26b40f46ea4a1053ad5dacae3841c0899865fcaffbd631e30c8c7435757d0c989ab92c151653c71dd9728086f53742a3eea87660bd68c3f70a37d9b39ba69fd792fd85305d2cf2e2da72e9a7bcf71f7c62062f37082f74c0708c9930a0b4c9fe93ca8ec23a1c4a3b6572ab1c3df1734b25237daea50acc5a796aba027cec04e9af14dd3cc6c8abd0b6721fe01f4e04a8e6e624016667b2e3ca16e5ca0c6ed6247bf598565888d936ba0021e30436b3df2fb654ca267069e1ad6f56320c809e48b623ea9bd206a50a5c720718d5d5fbf349bd16b4395ae36b696adb4a7e067b22d446474522770159d9682df0f89668ecaa147b4496d50d7f4f6a2b55599c5d619a2748af1a40f9d86e725e3ba8edc96d889b9271673aa2bc234b7ce7a82be529fa8202f4d2b5a3ed756ec31a8fdf7ad24d7d492abb75672dc0eedd4644bbe1f16dc17efee7a494be2b61d6e645be66f5c43c0ce4789505a556d687f7c77295efaa8f0f677044be3d31464dcb1c0f32419b22771afc1758495f9899b0ac5c7a37adee6733ea41dafe4935bd5905b98e5e27f7c3424bb1093926337bae8e4fb6d51f174d80a4ea37fe4c6c4aa257ca734df65e23329426d38258e13beb8e5a2ef9a0b6cf1be03994346d705087c771a3bdb106594309f87cce60060f5b5acabf138386edcf8df1152079728262246212779de0cda46d52c8e4b8abc8649c5c30983a6e726ada403ccd9f2c794182742ca6a05477b91919efdc127765d40a9dfa6e6828a8dc028fa4c70872974732d79af5b7a792b8f920611ff729bf2d56c4b52100fced22719b4680d77294eb8d233621716c03f430ef07c1efc262cb7b018ae1fa9e0e9bab19f80dce7258c763417a05b0f98e708515f8446d50b79c96a2772a3f06c7212828e821c77214ce6c0189347986b6cbad20cf6079d83b1b020df482dad28de8f8e8781a0572160bd38a2893d104cdd4d997b24e3756712662aca8bd62bfe75a7d8b2e59b672a026144ce65df19b099e91c89fcbd8ceacd0d51aec18dc77d81fb0c0e330fa7259dd5710f77b1adca08b6df03d6dc9079e37eb4acbfba1a79ef78391e838da309ce6c4c78ce8a1ffcefdba5aaab637bb855d202d8159c5cff5d4633a966cc724cb3c0f132e457a8b266d00a160a365b3ba17337f1ebc8a432151e0720629c845d253762dda3ca327511334aabd5b280b62f3888c56bc9817629a0ed994aa7c724ce024afb74c67cfb43cf3e539921ada8370e2b7cb2cf9ad9a22103e0f6b0a720e03d293043ca660a7abc66bf3b355d6f834ce60c2c775613f82d433791f8e72bdf0db735d4659de995b29481f6bbbae305c6e7e0f20ec3f315081c62581b872855aa6b8622159f2653aee94eb188d98bb80b4203b81ae3590ab5c28a2e4c41cb926673dc0d9fe90dd1ec872de21e98e020dbcd5df70a326e31fdd4971ff71725ea887f2d8ec215f364c88fc7f49f64916608e2415e8ac2ba99bce5c28918468e69e9986054f9973b7c5c963e37c11702ec0cf46da8652ccc167687171916b724484fc3c3c9a66df4feae6417b5608c43479593c4ad0913e91c8235e674ad96ec4a2526ed264d2c8d08c917d0ea3e1ef279a8875790e7828cbfcd6c88758fc53ef02ec70c0dfae9cf1a64dc65a2bd2922b72aa0512ff9f754bbd449154df94659c6ba2bec9d0e48d9087bc7d89bc124347a0b1a1be2b392b2f535af3d66f3b72975c6a32e15f7ae41d872755d9d882c70fae32680b825d92d05d2c4f386f3970e0d80947eddadb03b72b5a579dc872d3d9e58c8e9b9727e1a3305af5bfa6e2727db227b7c14d63547603e2a42c05fc26e3e7b018f505ae3c9054a39e80b66072f78bf0baf78bc47fc658ec8045ddbeffa6cfb7a94e5da5b759662aaf74deac7201b956bbac1c392500d149a8797e044fda6d97ebb18959613e88869a494bdb0c8b993467737b801b69b5de39a5ff0a2660276992d916494e4459fe401641911e8777b24f0f470c2e8942086fd17d91100609c9512500ab0cd38013008a105072a5aa3f6d67cfb7365c86b58f92e5266f93788715d0567856df2d748c85fe0b25abdb46c55a9cc37ab28d7d5ede4714db119bc01d06406fd72d02a341cf2f5a722205da2faa5eafae2bf26d4fe9436503b014a05abfeabe1ca4389ac538d0a572fcd15048a14502e6af838a208ab61d982571f58fb55274498544d320be8b7f45b86d7b65f712fe734955e82b07108e932c78623d4ed65eefe5cebe51b8d330727e0ef38cb7a02d2a8857196d6828ce2fabf06f9826c237778f6c06515681f4724e10b09acdc7b777d5097994370fb239c4bcb6bfddbc3c92e731cc806775a872578541d3c7ee3b55e176c51195cf0ac5441cfa0749b5c772e866e27328991472474dbb31d5c630d0e639fd54263130516067b33104387a4934ab2d9bf8073b72640f001d4aa6c473f8f3fe1966dec423519cc7d706ce65418dc3b641368b211af26f9821a8b21df6465450064baa869275e649d209fc24988203cd04ac67b924ed496c25a9c0172f0d784e1205e6787354cd55fd9200d51f976b8329bb900b25fc3061472e78a562adbb223027a60af2b73c1c020733d181d3a078e6d3011372cd214d0fbddf1360c440a069ddfcadc24251a582dd81ba62bdc11f9d4d2f280f2a0320ed4636c41671f0589b3e541e095ce166d474a3b1ed5201a5b0d8cc67722edd8037c26553aabe8df0db4797a6592b21b8c6d15c5aa981960b06b138ff7269b3c8b7a4907667f7745aa8c0400a5ba18cb4514cf723049508430a303e41261c7d6c8c93a88603d700f9f627ed6bc5e11bd4a290cbf59b364173afc0ecf92f7d1760fd3976a02a1b65fd02b0ca78cc94b4a6a37e26caa7c6c747f18bcabd7278231402de3357353dbdf9a553cfb3f64f276498d00d6188e127bd3033663312d431cbb66128d85ca279ca38d6b26c3cff5fe03592dd9d54b2d6aca12b4f0d7251cfdaa494b542c7eb1dac9c7d029d51043ff0aa8095c70f55ca126e5f280c3d2198753d8d54256d2031e9ae84f04965bdbf2b0209cc6d8ddd64dff8ff74ae283887242ba3aa6dc952aae3c175d5275122fdaac8229f900d91700bc7a62cbf722e08967cc07fd44adf494303980bb750ad86915a8195d45e424d6c8ce62c4e72587bf723a8e17e124ff0bd34efc18436be87db02ba7471ab7fa22809fc723c720ae0de84c923bf00cc32d2400aff530c384fc93a30b85c9e5acdc57fc57a2b7227ab33a332c52407cf9bd645916692bcba1bb185ccbb1c331ba399377a3b04725cb816835bfef6707866416ede0b96305d27a8aa805daff47528317b36903c72734c5f6ce328f4430b933e36f17e9d23369f4c3bca56d2d27f2bece5ce28c971ba6473e4164d30731669cff53f9f9638c84f0ff159264e1240ffd3445c67ea7240abad700b6f1e3a223a73063e64a495bda4e18d6380a203f25cf082bff3dc2d1f4f1ce89d56bfbadd8a2d4c9bf0adc0236069bf77c1c897b89f628531b20672e6a6d7e2701f3c667d34e2c05ba9e462b5b51f39992758cc34ceed167d28136c4d03d6210c59b0f9edb06abe56bbd0f1efe2b759b1f67644475c1dfe927ccb72b4c98cecdb406ff4f17d1f868e06080daf823fe935bfc5ae4d9ffd9eab0e6c5e12f7157b7452e9466f225b505175926f92da15a39553daeef53d90152d140a72c5730999000c72f3fb2065f6925de999699edba9e2205ee91f550449cdaa607280c169782d72a08d8682accae7a4a9afee92ab32d7acd1453fd1a3351dcf1c7246612bcefbbe98a0d4781c524524d99eab2c6276ba10d15db430d867423d265b7eb9b080878c8812f26241a424a30e1ab697d44fa3d45686c670059a0074b4721c010340a84c02a99f3bca6476551d4c0350c5044e81a785ba830b3fae32c172a7f24ec36488a9afad9d65e1227d2757124db9f117c404c4ffb6ecee09ebc972d566a8b358f655171901ad53f35bef654c1bbb837beed050f5f2a07e7b53ed7263f5bd6af99eb00d9768833882d4dbb5fdbb8dde25eed243aea1904bc70da229bd4de3194b7e75418f6505b2e2234b4ce56689b30c4f5ea31b243b1fcbab8772d863c68c560e0a63c0e3f7577f917a90f9e651997e44a843ea73b3ab337f51728cca19fc7508087c8e90aff5bcbc93ec989f35ec782590d3fb20a14958462772d3a009e0ade3f7342e84a610e0b4fdedb5e6a22d742631c1152de680a0edf4726a34f0d9e4cb33d51822185f5dcc64fdc712131a49253b1c87d4911b2f637e509ee85d296d83b7fa21d10b08b9c227a895448d21cdd7c0605abb8b57abcdb83bb718b6a4a22184a5dc5f5b585996cfd7d1df16fb33f8a2266907ec5163456372e0dadda36dbdf9ba32979a1b8633e20b7e403698d10d80cbb81fd9e276380f72e53e1c0569899f95bb9bb7c02f02bb75d0699ba151568d5b468cd5ca41174e7252b6508d2b0d8ce098e56b37f9c25e5e05e031bc31da55cb691253d7ad934004665f9f60a673655b17e5a69730217fe5eaee7a2e8775b456169dc8f35199aa0b54b84289871ebd814ee13cf9ec8b747fb9700969862082a5735b6963fc89643cc9d2fdecd839e33dfdb901d98adc853a49c2812a36a84abac1c615c6ea59d51d05e1ebc099f4b65fc061cff9bf6e94791debda9b0996f9680a1c82f31d701a148f5481bba30e660de8118e7f62c35ee29a62f58995208f2ac6b7855ff4c73511bb991ee3e47313330d3d9bf88d67e28f176502928ad9712c63b26c3ec4c15f725d669ee46699a1029da1ff1701ae88dfe557833640eda5af77255816e01265725bfa9e2959fe2ae606265b517e6638d41e8e8e92987e9367f179005aeea5ea037fdaca0e78a4f06dc7caa1e3d84d39ffe1a2edb150963da0d08a7a57308bff56b97f468d9561d4e67e81dd6970b67a8d30bff65684f8bde4870ccdf1967b4063e4484cbcf128375033aad6ded1e022d06cc9a4cb207b7a91fcfaa5112205637226e90aeef2b01c61f06e1001108fee063b96b52854a467b2450739d604b7005d9e9669574e50a7a9705b6efda3969010c0d007f6a786519d0517fd7371c24c08906bce4d7fd47ae1fcc78d4435283e94d28ee236a431053ff08973fbc5daa934a12eb317c88126b3f699c0df27e50e264dc8bb5af84696f49e82cea875f3583b510b30991ac14861acefa22e01b0024425cd96baf938148ccdeebede645c03725eacc961a8357261c5157a1727dcb26fc3d94207bb751183bd9135ca9076b264176394050d761a1c354be2ec68c0d2f88e0dc5383f5cb7afe12042822da0fd72d34ab924be00ad472ca803557d77059d926159a6b7bedb4e7e01d0d48fe2cf728950f3c17f96c4d185b57e16b63cd86ff4b4709b6bd5338ffab8cb5caaa0594489bae523f9e10019ce96efbec0e26a0cbda9c6644b386f7311c33f571a1962722311e9e9232f6eda39a1d4247c45cfe288daaf6ce641aa502126372a73772272417ba58833082481eb03b1d1d2d5501e75c7413ff73550ac873b3a5803846872dfe7407f701db4d459b0a0cc9b641ea15864c41369e07d734bb7a336d5732734b14a664f4a0d1c9390f1bf75ac0842efe46df6760775e18dbf65c772e1aeba03c8d31dc9440b5aa825d05a3fb3b414ac2e0f41e46f0d9e91b098066c9e78bf726a5c7207dba6f6b6964f66b4cd37db9592c06df3ebf7aedcb5e5c6fb93d6b44ba2d3a3c0fe4ea1e3fc3e77dd089716abafe99846b63093332f6ff30c283b8972ff438aa4c0876332639f6091d50dac8301f79b7b017198bcec7288334c8d063f97e887f64edb5c7a5752c8ca51bcd8172314a8ce4c40d197722d9b7e5b36cc036c50b86464a99459e41126213185bccf0c15bfa721ca83184bbb7a78bbb7f41970298c3586857b97d6cc1b9180dd0e8bb57a9a0bc63c0a4adc3db5c37a96eb723423dad2997c275a4a333afddb4a01de2c92dc11ec49608b0615685ab7ed317277d1b633c070868ff20cb567dce417c7fdb49fcc6c28cf36166ff4d6329a84722201e9b0c5829dc558e503ad62fa7352a26ba6e52bf435b07082c5b919cb6b01106d9fb0080d42ab5ff4095be1ebe7a81973b308541b318177e74a32367a9b7286af083ab92fe5e53df1038be5df793bfc7e0d6cc1a6b70e5c633ec4989aa60228518c963c82f1a1fe46558c74f292555f704e52767b2c5da023acd6a5d8095de1fc393182f6b846c90756a73cb84418343c1beed4f16f401b8f5c7f97a1e47253a4b94106aa3bdec60f22c9cf84c63dcf13882075fae34fb82bb28f784819728e4bb26411c782edb792f4889fa3c1da1685449121ddf03a275aa0d95d372e72b589d77087c98f4f5b4c529ae487dea2ee8ecf727cbc55f845afa17974c3cb640ad066be4d766dd796106b646b6b617e9c7f573219e166fab9ab705a53fa6772e051ac1e69be0802aa2b7db2e41e352fdfd1c57e40f96c284a11d630a5ecd372fdbc88867072152b15cc844eb484738548c41af6c9f50614c89b7aba4e4b4c7222c4ee7ae012d930dab578366d1ddda2a981151fb096bb11f49158b365e7ad729291abf3cc1180ef8b1486f1f02bf97665e0bf738aa36f07498ead1b37ac9b081c3d694bbc3881ce50e129a26d5056fb0a49d8ca114e29d51c57ebef03c42a720c2d1000581256d40b60ac1647816e772190722df636ae8b35cefbd669776172802f4aee8add33c202baa7b15321b903ae8ff5687e6fc4c0cbb19718c985aa154bb72a77c774651090e00b88c792fd837806784b0d5763ea9dcd5e6f3760d1269fc31aa2781d98b165b1dcf43094ac278824a6dc3a1370b258d8612baf7e832e9c43c66cf9303a86fec416b748c09d6cdebf7c40221f542a15ae522dd5d6542274e126eb68df344bbd6d340f4a6c625a847223a3b2ecf30f91d769cb5e0e7a7256d051b7590b6d61248a984e9c4b85ca9ad37a4ee73125bf794b29a927a00d72f3988cfefc424788165af7e74607a3c7859e631524a191f8786a0ad1ddeadd4cdb58ad9c2e42c9c9fbc03f5b66ac74b2e9806124b240998dcf745ed2ff9bb67279df973bb9daacd09b372965ac4af543c417b838c59f355df451bdba81d60572ebff64077a9e9b2af6c938a9aca0cf7a950f6306dc6afac36114f99763f5da52b140222f20d611dd39b901c5c70c9cda5efe5f42b115dcd185741d4d21add5728a9aea37ad8200bb82b8226b1256eb208577c0b5c78ba6382a34279dd1867572b89c779edc6c1e77f3edc6dcefc1939b808fe17eff14e2d35ba2d24bdf149502c92fb2ac7f1e3cf5b51f0a861c9f44e5cfb5746eea32fac84f63b5998dcac8625440fddf3f2fa5d8a273b7b6c95f5254f71951f27d14482a69f07db10ba40009c66b53c7e9e688d9e106de12409bee5970971c92ea9921bf14a79bf001602e000d7a2a9948849ef40cc03eee51d58347cb2ac8e2f8065c28260aa16a4523ab72358ae0b571d13f3a51d1c5a66977fbae6aa07c890004e271fe9545c928352e72e19fa0e041e9355228a24c8ff9ba21594d88baeba6bf959a40b89530949ddf727074d1862472415c13676bf1108e7803c563facdbd77edb39502a632ab6ab54508322eb7577425e6dd620b37d752aca47632b4a415f4dafa360503f1b86ece727f13cfbf15ca4659f307ac4ca3bbe172830b71d78b41b70ef4f1e25a2e10c672c19b18ca9db8c3f34fee754cfdc10462fc693deb0449ac71dfbecba8bc2e4f72b21d959f48328662da685e057bd76721cf134dd605dbada016f36dfc5afc270c9f853ec5ec839ac4806fb8940cf02afcd4d2da051069a4d056f85868f899f272d7ae5cbeb1f2e4f787db2296e3ff3352e69f7c606142d62b4e0285d7b62e7d7221856e35754eef97e3c6a0dcb0eaa458e1e84c224b9116a73d86679c1dd7f672706cb8d546260ab22ba965d342bbb7b5dc8dd191a5ad7b6dc09a5ba57eb9e062b884d8f520c123613fad9668193c3695146449ea0dadee1cd09be364630c2c7246032dbe0913053efd597677e90dad38de296d854abc8426298b124083fd221fb54d8ce9444162b688d9dec6c17e35cc3ade4a060763bd1b49fbd59a57fc7d3edf146113f044bfff7ca11f10bb59f1338ee3fbbc643b2eef7af9e3f31eee18423d8aa47410c1bf5aa5fcaf657d0563b0768ec922e6a04687ca910144ceb9d52eda8630dd60992add4f30dd1b4ce0b241250a418b09202e5b14ccada51523d37259c8b26270b6bdcee160f0d30e048b6a963a95b5b05e1ee503fc1cfc1f95f07240175c1177f73c594e7c996e8302e265d8dc5de317f8aaefd6414ab33733277270744320e95a97e589112c03187d3d5e408ee0170cd1f1917fb23710174efd7257914a0683e3aea00b49f89cd268fc9b77fe1bc08b4a3dda9b13a62e6d5592727fb2d1bdd0b1794ebf7f450a62e72dbcd7ca2adf1fb236683b7e6ad87797ba72f65d945eb952f73e48dc1991ee4078fb83eaeb9cf573a5088cc57bf94a1fdc131a8f5b7f638f5ec05b4e3821992aafa3003487b37ee79c2797bb0d856823c730fcc4179379e903e8c48b5700b36ff4ac23bef1ee90aab335d69336b7fa392649f4ae13ab050d77ad11fbc619884031253b376971fffcc8c52b5b409ad7d01c2c7547a88e45d8dfc454459cb49d0e8c79dd6eaa87d00a4f0db3de21d24cc3904ffc62a957262ae21628b509d7e840e692b0d06017ba1a37618445757dbc408415b0adabf53d5dff67ebb8453b432dbe3843215e7d403849f881446823dc8a63726559e8072aae0cc9bfca55f51827e967664f14305561db6746ac0073c31ebb72eee0c488fb2c4ccec4c43ac7945cc4792f4059c13e188be5c8262475b8f5d030b1d5f86dd46004a411f0462df03ccfeb397eb725ffb3663fc607dd2d0184e1723f34fdf85cc732fab1080ddfe9fb8d2e31281ad4a8b600f815a1ea4d0d823e72e8e6a1490a22c9de5b202b48fe75856b975727b1f7df87e2b7c435755c8a9072ef227df5f19ff8af9fc49d32a0be78e65735450efdedb5e6168a60336792612b3e565a48c9375138704f5bd78274b6804f9d9c6345431c5626ab70b9418e4072ed0c5ddf947715d2da1cec3d41a371fb3d35460817ab580adfc9353167eabf4dfe209b191903636f427a8c9868b0674181270deb26aa5f4c7a5637c10a5bbb7203874f9755bb127c00b1c7a885876ce31ad86c457bc60fdf5eac1afbdff47732b6a7805393588c12b9cbaab0fec4f260759ac3d200a348eebcf618e08dcd567222c1db8f64d28e78bf036d45a74f9371aad8e13e483b98722d3fd1c30f616072e2f43b843465d938b1fbf51be4ac4b097e87550ba2527924c3c862062e935f72e75c20ef1092fed31ef34566641cc12973b7bb2d6a8f05b66285f3de93c94372357f3ad53025151de5a9d17b7d4c6cdfa39b453c426741174d7967d777e8b226d09288e6005b474573836682d1d265bd30ef63a753e3b9a2a51621e7ea750a7202fbc5ede3dd53486530837e6499ce4874ea14f79a060fc9cc364b970c1e3172dd98c4151e3fde783c55537ab63d7a7503e580402c7435bcbea922f78188840e003db7b5aeaea8ab21a8b19e02c7dd8e2e70827bb298ac0b47cd2fa92a2f9b575ef466d2af470640beaf1b4bf1e038cb83da1d96010813e226610bd1f4a89437fc48431772f2e557180810f3e4658b3fa45a83efd5224c4f51034eaa967e117215a91e3350f9497b10c5eac925940129c4d81f3506481f1b3f567eba38f9c17292e2c73680a7f379fb9668233d5cfc1c210ba11baf09d147928265972356e94c033039e0640233b4bae77ab13ec473dc4316435e387e69f0e108b8f054cd87118d77d8d00fcfca79430fd3a393512f2c2123ccf02b8a373fabc522f16cfdeb72bd10a9cb0215eca118ff1e0434a1c14e101766611b027130bd5cdfa82e1067726070c4081a096dd5063f788f49813aa62f30159d0fd079b760edf5d41a92bb72a51fc81d4702393ff5bf97f983fefa0191cd3daf035af45bef4e955d3dffb372e97f7fb370722d150c783df277ce2761fb1f6a68b6a9bac3cc6b9495063673309e848905966cd05cddbce96d23493f694a147063629c59345c8daa2215109472fc8fd1c0d1464063cf1bd73af34b5156a5234129b065055b2e318f6c287f8a72e607d3697ccae5c50dfc0bd59d1dfa3953acd91076862fd5bb11dc0b853fe672357bfb95030299a6ee1d1b8dd61d3d8057272243d3777258ebd3304654158a725f7e56b45a98a5bc2ba269847dfcef6b7d9ea6b53a54110f775fdd9ff293f30f7f4c5260f29e26f6a20040f0dbffa04dd298793e7ed1b4f923ee00fb65547b7252f7a6d766545bfe4c1e94d483a19a937f8a19ed2fda9b53109368f2530c620055e7cca8439b6abcd705f4aea6e71c7e9c2eebf4ec9bfe6ccaf8fd6c429be272e7bc5e94058d96fdaa168628cf1e6ce07cac2783bc59ee7b60945496213c183b726377f497d10db116e050ac0c3e89974343b8803bf63e49fafc519a5f0e035778df7418574c689c2a39250f0a4bf7c6bef45a7e458f277e59b30afaeb3f8b0a5e3ef7abb92dab550a12cbb81f6ed4088b8ba60766feaf2c36149433f52d65483e24e64e77e49be4ff1077226ddcad6d1cfe640fa50971c95e8f92f30ae5e02055cd535fbd8285e6d7fdea06790f506143643877434475192f499c5722190828d12d67295347af524a3a14c5bdf3045a7e36656ce887f43795c19651a6653272d568d1b65172b0072f0e840875ffb5990f18e50a55de77d4fbcf130177a38b72fff4ce9c88715e0c90a4044680743ac601ac2006ed05bf26898be6c06b0a0938ac627ae238480b8793a8f2661e0c54ae2fabc47205c3ba549d67c0e774d6f46f26c7e2ab649b3c832fddad16c0454dcfb97211df902c0f095ee21eeac347b4720d678d6398c808da5ee66260ff310807c5660c4dbf4ef49cd5426b82d567f572735de0f7798da53fd4bed3f8fbf1f7900281e8b742dfce8eecda3a9104182168a382fba7f09484b8a98631d36a6dd7bfde635e7d0f6ec0de975e717dc125a822eb436d01e41032a6415eeb62faa4801471c9693e5cc46f87c9318af02f205572a41514d055f3e4178a2d29f21ab7e42d44c77c890b922a87087589e84991bd725198b40eae56a5d203bfeb7ec795cb13333440cd07336bd04105901a17d3f1724356a4a74a9abd5a177095c55bc52bad8e52e64bcbe7ca30c2d8f5969e8e6d72f388d6af19056bb11b9dc10f5c5ce2879fcd7ac306f45cfa884d55dc7779c872681310831f3cbceb37c044f46a0791b0a4628bf558f3a8eddccf6da58e031e5a6833eed539881c1734bb57202b8c57ccef6098f5593f029dce129e340b1bfe721fb40e8ce7f42d50b27010ce7abfd2e3c523ac80c847e430b2c8430bc0e8b0722d376b991153e94dbd686ec97fdf9b3b9d54b00f580ec0e075f59d4f7b50187242dcb9dae9a77f758b1efb99d6ddbd4f72358775c7bb818fc78f1411f20539723361096c8298c9d47151ead33ab52ca978d2357b554f1804e72f48f4c4009c26ad188afea8a7d28499624016047dd6d089a093b0bbaa61a368807d5321e97a102dff46a2aa2623da1a9c0278f4b2f18139d19db4e1f2627354f3291c2aecf9028b524b3d2c03d7eafd096f52d624cfbbfbbc11c3bc3e9b4fea2c65e76580aa7283b5ce5935090ea78ea9776ad2c61a054d80e66ee375ac29ee82e7a37226c5364f42413bfdbc84628594127bd4f886fa03174cf5447bb1f4d89cf8ab75446a7230e141ba12f8992d277a0e9a1df35a3ea7968c2c28fb6917d2017c0a18b0eb38fc987e38142ddc59d4c88b392b6532cc0f2acc6930b7300ae709feead36848266948a524d28b3187f974b9df4b85827b0d74da025051d8a86aa3d689e1ce005f32dc3042e61a39242af4ba3bd004ac98c5330c4d676b49fda6f5edbca0e4b21dfb6afe7823e0f228473e3539efde28e9acca893fc15421b6c8d1f9be8da9ec303a02fee43670a6d31a2a7b78e20bf578ac45ead97f5e9272b44a7eb29745a072680eda5f6617d30c0ea81a95c1076458edbaad0fc566eb31490ce821c45a277291dc5073cf08f398cc7403d4d48c7737d3c561cc37a0d27d16b87c10a77a5e723e6f2f3defc582f7b688c603d17ee03f376ace472d6da6865576be7ca8bb921131af0d24cbb2401172931fcb26d2810b29ee7d17ec25a14503a192a3fd34f9721e1def8290ab297c30a8ca55097faa8d02c6da1250c95094ff64c19944f0751fdaeed69411583ff219416ada3142fc666f5fecdb7c27dd6f4c2cce3fd8de6d7258fdbb539cee83a32e4866cf9d8cf926060b027c0b82e1e9a95fd5b37b6b5452856104a1a725286b8d2b0d70558e7460b96533e3d37f0c99c0eab61c7dcbaa72ec536b71db9fc4a982f804022b2516fd570662e273834143731775881173c002608eb3d41423c337c74e625cbef7583aea58d538013c83e1c5fcd0b13417093bb400397dc7aaa1ac6a9d169d8e1b78c11f024a296bddf3396d147bc167ae2c726bb22a8c3a1e8d02e5e54472010f99e3348a01d44ea771340d711a7c90b5b172e5727ae9129002633d05110ac98575b4e6bec94610be86ed0f1ec779ad6e6e0cc164ce58570377a398c615feeed5b458cbe19a55d4e1a074b567242840cb5c65118322f05e24df321503729e8db30f81038d26acbb3b7fa2ce76823812e8cc128874a596e5fb283a1c415e2e1ce0f0abfe4420b75a8dcc6d568728fe32d12a3ce97257c538218aaf6c7d5081dae8eaf7bd514cd7e0c7aad88c32b3ed6516a728e030e86ed29639dd1adab1357d8e1088d51df00354eee0d873084666d9ec173acec544ff59caf8069c2a49afa4232237a28c6f6e7c4d59dd8b8c4e54b62225286131cf62905d9ddb9712e7a4f4c3f4083433e2732ffb737287246308e2e7ce5b12eb9c0f20b349d944a307d9a93b48d788c83c834d2787417e5d7354c0336e5bddd225c93510724c14abee224c518828a2312f1a58cd3fcff2006b1b1aa3e60f73a0bfbc9c92887c8287ecf14316a25400928f064a5799e4e3f6e02f85cf17720955f9171aabf7a6ad1a692c1c96020df946477854ed83469f36e99ad63dec728a915b09189bc8a3c04a2c1bac65f10901420465a9ead781867909788744af72d69150ef68aeb5c9909ac2ec3d8ffa6616254f983f06e26059b496111858aa6ebff03245d80598a80ce6e8327b82f13665e964dd9c66eddbe969ca691b0fd472c628acca28e220027d4658d5c4ba9f24789effbe47a89bb07634d4d7c9ed8342ccdb13da19c348490670ed24581459be8549df373f1ac993b410b4ab129a3b1a0befb482cd4e580a46536f3c7e84b154d35f3d503825d653028c93cb0e841b00cbf7fb3548b3237ff7d7053666cc8ebf7234b61fbfa35b8edf8d5e93cbcfba5d2bf66a20354f818231cac16dbe62cc9620301f8152b459000cd450e1d55c4d4ca38de28639edcc96866f2d49cd88e5efd680ea5d8b5c7a89e023fbe566930b2f69ee76deda7449bc0de90f43e7afbb015894c6c1f149aec1c71ac3316a3e427218299a3a5bd0075fd3c4b1d9b2696761f91de7c1fc9b7100250bf228b4c7ac722c1fab0f81582d6eed55a333953c33d00523d25d935ba65231a2776aad9da1728a287e3a58694d0147c04efbf6620e1a9731379d2ba8284d6a3e0a9383815545b46368bf88aad47c3858c5d233273fa984a9cb500157f99ba5061c2fb7a26f726eade9ee907443c1844a03a018feaad946e27f1994d57d7706778adcfccf36722261bd1dd62deb678465ecdcb766a424c7634dc514c77faf5580573990f69572c6fd289a1f60b314c4c4ebfc3c98855e267e595b2215995787676278bbaf0b72942370c3e4d4f1f008cec59e8dc4220ebe5f5f3b7b94520f95110244e245a072be299f8931ba4d20c0f052dcdd00d278af260bd9f19b3074b2b8c0e3ef280672e50711069328d07c86284453bf98aa321954e07537e241f1668cad63c6db8e2003b4cedc224358942cd795c1755b6fbe1dea8387b11104ca26e71b8ce9e224728194a5601eb820001812ff14dc1b4d01d6161af10ca96aac9b591d6c4b5b4372cc957a02a71de9d15486827ed52805e5f1ae0538c5a317e272adda4532324172cfe10e263efe3d1690fa7efddff97a6f57ab543725df843481d069c97e09b02b06e41f000a8c2b0564c30820acdf1bbf841cd16f0b504ea02868f2d1607609725dae7095e1da4afd195f5fd378ce6a180cdfdce6438e40e092fbe3cb16b58e727dd1905eaf118c6e0ffc8495312b135e15901b41058f867a10f2db34bd210c252f5a0bd4d65f0201488bfd35d270f64aa5e33de3852addb1500fdf4948d0f472f1718062a02ecfaae99a68b3943b647953744cd3546c80f257da606da7a2d44fda90e4f60c5ddd849df5ef481b9ac70b2bca1023d72b15789d71ffedb753ae72fcd3b9e333bf73c519aa36139edd96469f500bdc89308dc2ec1082a723577c5a56e4f132050e402ae3b15e1e19a36a0e0ad8069dd2dc69f480b82d22682eb472d1585f644445fa8ba2bf97ea6b1dd6063c561cd2e9c31ed22a67156de3fc113bab89558efd9c9afb16fc7c2bb644846c4e5234db8722f0d97bd5586f94ef3263de2587bb10df354b6b81d82278ec562ec138ff8d6186680948f92b391d672472f757d8ec3a56a0fbe8c447b1b2069e3e1ba0bffb9c3302e71d7a9fe8646b025763447db898c70535fd25a87520c87372bfb395f401a6c521c90bd7173d6cce063d85230c56fe1c9c08bb0f9d70b4988c5528dde6ded8716d57e211e9a7cbb264b05f4d9081ec0be5e8129ccf9228b9053776f9a8c9460b2f77bbcf8000974672022e67bae2720f2c8d5f16db5da5847f2e56520f1c4c777bae1e62947fbe2372142ca74aace62b2d7a8687e0b22f699cc6b2553610569654dd800a462e295772aaae74c62ee0895e77c8149247d24fb940abbaa845ee4f95f78445583715b501728a2ca69ca1aca388f10f76a8190fe03e4cb7c23a4d637799cb5d44833627721f791f470febd9ef1496f252fd0a0e4338a40c53f55b80e4f81e2a0b4a9878727aada7040342e07bd620ee50cdb154d8de8accc8bb38143628b5720c98804b729c5405228906713429f121e85181aef4930d85380d411c7df32a8ab890386f727c1759e9525cba8d876c7d914d045536b803693b82b704cfc393c23ca22fa8728064781d4102a1075f8ec1cbfa0d1628736da1df4acece436e12bacff4c681728eb2bddfa6fce5e6e77ba93adfeb499234c1cc2a27175c52d0484e71c781fa0ee6c25d568cee511f35ee23e40d609324afcfaebc0b73299276e8aadd10207426d7f3609433fcbf2192ef1743f7b1c10164101be0e7ee2c213c8af9970e5c7c7273c7a61ccb280ce72e1457bc2cd80f1153e8be361c6fd03b6dd93b85ad6e2f3aa5e3ccbbb7208ac91e9b0a485802adc1fd75052b839a4e735842944e80927a7217404cd4f16775d818243cce20e83e84e9dc43efb70240e30b8d96dc02958b728922afaa6f93b42530a7fbff1b7cd3348bbeaf2ce55731be6ee2eb5b0151da72a9ebd93dd5dab06d055e448f93ecfd09e3e435370ca7111a23654c78e9bacc1a19fa8c6f0f98ff1e0b2eeb7a84225f050ac974db01daa96589a50aaf30ce5f72ddf994cc76bd696dde9827beb1040f203991c2d8c136409cc57dffdcaf6a751899eda98c43a9480821e8f83ebb1ae0675564ba913166ae406e0f4fee0b9ddc726dead881addc6cfe76e010a1775dfd080686a5817f0f9171129ece7988a7c9688423a3f2c51f25065fe5930547d5d5b02169b6da1e25a93039c08ab60042f31a94af3b491774b93118e409163d8072db89d492747416cc774aafdc494b288972018719701597cff876e63b588a3b983531b442da8cbbf15ef02dd32a3903bf70cab3c8a9e50cd58bcace3308936d9ac6600edb28275df83809d26d0823ff06724cef2a633b5d27bd17f538a2329c5c4485fd0d405d57638b9307d39fa14b132fc31799a4609535e6f50003907b7b7b87e94ce531ed99644e47fb608ad796f27235f287ad29c9f3ddb57abc0f8800fe5c634f8111da9baa71e28c894f16be971cdbf3e9becf1ad1ff0dbe715c58bff75d706e0fc9b8e6e5a7856670a991ceaf52e6d60a8d4f892d38cd84b441cc25d87fd129965726db0fe7816f6813de2d984ff5d0761c8cc98234bcea0845fda68eb4cc3e15eca2a9ed632eebdc6471642772d41caf2e78ee9741a228df2908df19f367acc2762e0bc5afa7516c37943a2d3d667ba0a34b56e3cf140d6bac8ea221d8c200edc7ac4c22fd700411e299ed85729341fddc5396b6384329ab492bea168e71aa750e1fe839c83330ea7ed8e9ca3788ded0ad1f1404f599eac55673a3272037da2b99bbd65d1a7a9f779c9f6c0933a0b3c8c5a458bab74c8923fe72bab98e92a26568126f236016635c7245c2ec572f6a8d82a6c96f86638dada922373df182fec8a6c9067ff52d7aaf33191e8e722b82d87280db7c124b0de38d7482ff45a1ad950a4c743326e1c63d772725547206770da6cebb5a658288fa26150f63b1940ac5b8ac73284542e3d12dcb22bf7241688e830fa66808cc76f6357bf859922be05cdd7ec2b85fae35d6356a4942674b58b40201d069d08d2adae82ee04b4b18855d72da971b3a7c6ca01b89eb6b7221e9ac4c3fd0265d06e42822c4ee84c3114765af1d5b4a152413a3e56155e5031af1b7717e00ec4c3c76666e3aed77e1636783722a399a35a90269bb7ba3dc7185b271e4c9a618fbc984c4be0654e79ee4f8906235598edafb21a01b5eef3f7202cb7ea76094005c9189c56eab4b287c0c28d40df4c2b9b46691548ab483767251d3ed594513596c8e1eafc962a980e0d8705274fdff0e88f00a82c1f48e170bb66b8b2a93bcc08e438027bd2764062d98473f1e96cc11d0bc26e19398339943bee537635f9182a9db860c67a9a53624621af7b85ee5fe787b9c91aa354ed15aedd9eb0676995e12cce8b450ccaddfabc9eca775510a5a086adb8bab76c7047243ce64459db20696d3ecfafaa890fb7d76eea5750feffcb6663f588fdd3c3e72d1338bad03556463c3a27c480d2b847ffc533664eb872b02e5db434df4628c72a8f16ba868a70e0801fb5b10603a5d30056b931acf84a6f42a95b9caeb9654721afd4341526831fc18bde4a4a76163c8ad3977e628a4182c5587b4123e61ef05fbbd8a9cc791808f4e9bfd8ea4fbc527ed17f993392249fa2016e3ab433f6928bb3b1c16a51897263ff3cd7754f8828776b9dbfd7fe2eab252852f13c46024727df3b93c7b56328d7e14801be2d77c262676c11190fd408dd9cfe99b272440728ea5b71f2e0abba3482916f8993679e15bd258b0b3bceee0c47ceec45653f4248553338d787d0e1490028f90b50be157a452bf8f1107d644a8d9b3a6375397148b0b78e86bfc757cd842b5f0eabb4b9f2ec8ec3f019a28625cb227ed7fadaf726c362335791c92e2e2feeb92d4bb57b90094da202deed4fb801e2b03f76279399b65cd5aae07e2d3e5c41a4ce151531f495803e92be93b2718468d6245591972173341246304727415a862f6f2d7e5b6e830d0769c49028830141b8c6799a972f0152f5201183a065c7fa8c28240efd6133fac1e39fc7b0eec826d8293241872f98fbc4fbeb005f1d84a0de18a3ab3e6ce1bbb50c1d59f6483ada01571418072826b841b37ae2e131a5435856b066f7be1f20d00c44ed52776132c6706bb92729b356238ea75f057e0d4901f5a571836bfb4209cbf5ee853c12a449cea19f3091a54429aa0e06b8f1d8b2bb2f23344b648fadc65b47133aca9310f3b1362cd1cc354bbac266ce1e726b12903e0f7269f96a4f4c0d5b5388ce03cf840c18c5d72baa37b5bf817203456826662f589cf24198c955e16385c8365775a274055ea5c8ef0e7c2be266070cb40e0f3f5ec2a197c89ba5d743ad75231129e05caca3f3571953356992c1a615aab20d874afc21432609f2090b4078e28c3de05c0ad2517325dda49e46da2d1a37c07d659e4a925d9fdbb55e3a60f6132f245de1b4d5e720da65a96b4a3730018e2d928cbc7a9b9ecdfc53fb133d279fa3955ccaeb39160a033597d0f10ba3548ffe7024f0832195e1b0fba2ec165291870a802dd6a62065e000f65e06e8d2307565dff989204bc330c9881b6f4cfb47d999388d432246ecfe5f7fae61d1ec8a80db979f70c0da0d23221c5d43aea3a36fa7e4d91deaf72bc2b02c0dd5919d88f712bf1cda39f94553af50fce943a01f01312226cbc8372014a069fb4339fe1522f23f17c3b3e1b2286af20d948d56d99bb48ab90ec8772f6f73d0b0080203e855e096eeaf8909d549af059d37cbb49ebfbfac0dda4e22719cd395cf89f6fc5434b232721d64865ab2af8cf4f56d6f244cc3c59c82f3a72a234c97cd2d0e109bc6726e31f8011bd1648e13239c51d1c8fbe14d21363917217c828c1556493aa5bddbdec47ab5f84ae04b16441cb4845b8831178cdb0e372825a15da2b8273406fd3a9a2e8c921aaf1ff6423466b06f47e97eb1f39e8dd1ed6d9b342462832e12ffe78a1c4ccdabe5620928994fee62a9de9fcbd8aced7725989af7fe7e61987b52f7feaefe90348e69eaec5adf37cb74127f5da1d0cfe721b901e700abaeb1594e5eb59fe236cf80f3797ac55d2475beb3376d67e53e726af737944e178422394d5597e4b93d31a2b97a14250dc390ea8abea97e8d2485cbd850e204d101a83649cd475df90b2879a231316b6a5366408bcd8bd0b4b3015b53ad5ab5063fcafcdd717075523a1062257fd8198c7d00ab3d74d96da291572773238d45e239d72aff026648c23361cc7fa868ae0c36762711af7459ebfa3722167451a7ac8dc145685bd364bba1cd6917e7b8d88043187abd8617751e77e0bd04ee73ecf6c9fb0f5d1bdc031ba2b208fdb706830a90b09fdae60acd5569072641f7803121c8fe566944bc90990246b8d8e8ddc2ebc7623d4e8a9a78bcdea72cfc929263327945c229f6d1fc808a28c10f681cbf47f1de74f6beb96040cdd226d4e5be56071cf6367fcb5a0d54935c22edebcb85ebd9416df5d406ff591003a9cb09a28e7af776a7c8cfecb9df4bcbfba4c828d8bafe384814c55624febef726f247125b16824c53df144c62bfc542b9521e459e1f53c77a4a22fd66163bf721e1115196205f5259df90706ba1249ff8bbdf763982fba97c4c392272aecf1724a396793b4854a42546da7bdfc7dd63f015fdbbd6433b70ccd43b3c1ae74c104ffcec3a2eb335073907d8f083997de509650ea670404d3e710f14f9d493e6a454d5e324eeb591378c220b9d19c89b84a03291879a7b2ac4d6c690e6213901a0da75bee78934121031f183aedf751dd53a614c81256a96b3a6a0b0d98582f4a72e7e93c17bac96f8f6442dce8be98e49b79cfde34bdf318620492041ef402871efc4fb1d3023c99907bc2f940a0d752effbb9833c72b5cebe4b01a4bbf1157d72f1f62151a8d3d4d10322cc2ad26999cd8f6d1dd69665209f0d16556da6b58d725cdd8bab2ca31e0a943afcdac462e836d20eb949d47adcf2e1f7ae8304763749d8aba3ba6cba9071a1d1afe25e855498dcf58edbe5c75fd2bcc01440538d39196a10d7de66ad232187a480e1254b15d734fe648c94523cb44df899f7778f55232983240dd43f5839ffd08327fa1ba42869bb400a5078bdfef6bee28f5797ee728320a811fef65e266d90f67693070fe7ba58c03be8386c3f055ec3a3088a1f72fe3abdd8163d85c365f4e1a20a49e848f45ff3f9c5435ee6f0df4f92f13503723fe4396345d294892aaf4acbc6ce6726afe218267319faebde17779cbd1b7a6d9449470c0135ce9e466e661431fcde90eeb46264352bcd476a6daa47382ff83f673bbc57a672a93d4fe582b4ce8ac3ee3b72798987eb91d60f12870839944d72e5aa925cfaf91a5748d7df0b0f8d5a4c65f368a9c466c045ef43a5e43ae309727ff452156cad8ca09d54e060a299e60ec3d9102c527bc236fa544b643f61d572c034d4148357e0a1da3b1cb0439b2325457bedc542d0a7bfe3b5863916c0c3721c43bbe8fa89a743df841f6b6457318508c4e906df0437707c6b75aba27e8f7283ce44473d833feb8796de3fa39d12154375aaaca656343bd5eeeb8a77a2bd22d9c84dc64e04434d7be8b202382128230e54ae842627cc21e4d60ff508b6f008498308db424c20541a83992f037b4cdd660c36f25a80d20cfc697ba1417c3f7203017427949644101b26d9daf49d2bd671cf978962b9d749d5f8d9d8057b5d72cd8e64b4fdc92d478d61aad8ee485a8944c03e62f5054d878b4300e4f7412172f0d7e6e1a4e1e934eac2ab9f74e423e54d5d0cc8126aeb1f70f029d18789df0bbc4bc93b58fcd690be48ae9dbcd6ded8f30c2920719d3a4908215c32415163725e694bcbd8a18c777f6e5ab7502d83ad4f5b88f47d27b66caff5c5583300243d6ce6e35cd47197293469d8a0e113501e98d9e9bd00ec5c9c851a57ffb3179572fa3c7e92628595d584eee70edb75ae5b33f8e526eacd77c3e69f53ed1a945f7277c161d7751bb2367f586912694c48f28d023da7f1bd9b0c4e8ffc85f25b8b728f135851b5a66893a5223daa62d758fe63860cfe260efee126a3d7279411204b47ac8486fb35e331abaa1068f5cbbc45b67469ec9b39904276b6ae154f5bfd7247364e1124078a4fde2fb64a207369c9227e1b00bc2ec2982fc1b49d3f6ad17266ea10f69395aef0cbcefe8bfdee2517e797f0547ba6507369138380b31dd4359605ac3f73646b287f5cfa403a7916cf7b819d9e35e7b3815291bcea0852607176caf4e08ffb4a294f9159f1b178c82d39744d7544a3327c1e429e3a36aa3d7296def4f43a20d6f25c823f129d052a2a3ccd1e7ed416dba22892d51338f0dc243ebc40ccf58d3bf1ff2ec6cdc655482053d3623161b22f441f08541dd583e872ad184d245b7c12d4056d05bf09b414439d0988282c048d53df42fda199c56816b453c86afbc58e5122b261ea491f2c68c5bc8b01c652ad4df7c5abc990c3870d1e3c6d748b836f852c1b901aed86d6d8d8938b775e3ec694710ce4b2fa26a672514ef636712340a054e4b7391627963f90fcdf8ee49cd11e1c50d645c70a1672d037dea58c1ac8d8219a4559b26146e91ffa89c99c9105bd0d959dcae632c372d58648f708dbf0a9afb92bf01adee3cd98964ab38810a12087c9daf0349f10723e5fc22d663321595881e43da6c7aeecb0b7185bd65715335a4be86b6ba9bc07e4126b6e4c3ab3da2afb9d8d0cdccbc27da2e846fd59cc2f7f2eff43f88a83720a9540eccf497cf79857f7a76ece81438beb51b1843118d7fce87fa9884dd76ae225f2c596be7cfa1cf4b91db4d3616fd2ab2d931ec268ec81d2674ead5b7c725140136722b851fc1956611d5c4c8b97bdc9d5969760038deba29990be07a83164aba2a498e0a7ecf1d81c50166c688db411406566cfa7616bac2697a1591772aa528c4cdf8a05ba793b86fe7aff4c8569c2ce8dcac4c8aea249f743166638722cc296a002b11ad3811e0e8702befec3584bd87771ed721a0a995a6937cda13d38f328a3b6c2b7982c6b2b59b8ad8c3f4cd6381eec689db2b73f1f73388c7e7207ed28063fa6b52251405d86842c37eb503b139539d950c460388770a266e03a45284c03f71aa2f923e628fa927ca5ad033a687b5b7ee489eaac5cc48da6a7721093d53d6cda05f9754881999bf3ce564493fc985af91664dbe0d852a9160372610862c9822a4c8d88be6807bae099b5c37015a9b167201f56a0c55abaee0a14b1c7b425d364532305485076b5ec9171ff794c45e55b2a820221279fc76d6a3dc11737f910a620bbd06f9756962baac434443630dd66b8a12033fa901d054f21322b24db0948c054892949de0336ef986edd2cd190225f34acd21b69e89c087275d8040f7a2fbf22c3ea8d2f90010b57cf7344e1010c6e22a1b0064c1abd5f72a26785e9e565f185a7a5f319cd653ea4e2778b22389f387c99ce926f78cb3a0054f9d33c297a6f86865d712e59f61379480c7d7aeeab94293f99d13810e96f72f1315ffc632bd8bdc336e1ef457d975fd8ab745e70cfedb9f62a3d1756f8084b0d826827cec579049088eb473906868bedf92e56440bf9f7791ac6ed6b58a872b7679b23ca0609e9ac22a68a1a433b6718fc9018624b16fe176c97edd304ac72e1995ce4a4a45a143d31942df3c0b834f175a1fd9a69baf5da9c84a510b58c72c0133e75340dc807b733b081915facb23a5037dde209836f9927e6e83156ca72e0021ebd125e9b9bd993994ddcd7adc2f1fe2f51c6a54f011c314cdf559d7b393b395e08807d8c42eeb98b62644c75e4cb95717afe979e39cf69f210dcb7f2286184473376d79e2be8bb6ecf61367df56a2a3e77cd30280f24a766a397a3f172bd7f83f1080a9932f2b673544d7c8c78ba3c11e328146612b4ec5035ae77fe47e58d34daafadbfd44509f48e81435187d8a7052bb345e0e2691d5e3abfe23d72264b178ec970ef07642b8d6d92d831571cc93911d1d9831a65e618b648517572b37da3f5df1108b3038bf40ec8a560336a6ff27395c80bf0b4fe8b19be5dc57296989c2d14f798b4387acc974f6545921a15d2c6efbc4dc0cc264420bb520f72e52ab7766fb64150d6db146d900b7b49aca72de3eead4f62f2b7348f915782727ea30ffbddee5f90a26868e0c3cc730ed49cfd96ab4e98fd7af8845de7df142d4773eacaae39d471c2a00bbb58c387e21ff1a0b6b3ef796b1e41e764d4d7080cb7eef1903849ef8372c61503a46f329f9c3229666134abebc66bdd96706e6972c8a9d5301ad38aa7644468f2b212bf392d0779064384e0c12732ff648aa8081d60da6f4c963c582b923412714cbc140845ebcaa997b286bef36763b9d888e37201b264341c3d0df5ea5303bfeb3543df4297c194f4585eca5d15bb987e806547c07de7d7b1d0fa75ea2a1e46679c9e71c4322a924a94f2c88b5492db529fcb72792cd10944d60b2679db1dbb70d617fa31579c4f8ab3690b8dd56114629de872865977b26653fbfbe3eb7abc2e17005ef20832ead53299c3fe6778ce0805524cf04fe4d2e52aef729a84a3db39f6706d36cd508fcb591e5e227d1a9aacaa7f729d16a46b06753a147bcab6f0dfe627501c46675c6c305f6bd68f5b325f3fa0723dc1ad3bf057463fe5e8c5a0dc2b8976f33d1b5ac4b3ad2fa13d9abc2959b97236973ef41d1b200ff623a3bcc328672d6f4ca9d89439a3ca7157cb26e111674146eacb3f0bf64a04fb9aa3247e4df5a7d336358c9aba8e147764f9bc30ebd9724b21403bb62b238e297e62abfbb3d8f5987414c985d34190dd63715161f2f272fd6a7785f997f3c86a21a6875c52811cc78bb438bde48b9be5a291663ef8a01b14e72b6c9640428721bc523d2ec896d407d797def279ffb20ab6558809c45a72a8c9f01e4f94ba454bac50705584dcc251224b618405aab11ecec6eadd2d8072b1ef8c1bda94ec1a2a9c15df7cde1161177682a0756993c785f453a113767a726c69d79996495f52e4f81c32712838e68d7cfa51c29cee74d76188882fdfba729d55e041b3366c23e4d7d182b536b8db6bc646fbaf7d2504adb112c2ccebf51ef979f2757d940b0684f5f0c6bd3a70bcf7a6c0a08d5bc245ce6830ad40e91761a4da32e515bf1bbf411ed99b1bd916ac79958ca13ec3fb2880f091479e421d3edcf4414e6ac6179cc7ea10fd5d17d6eba03a7e194619fa8bd954e947fcfd53243132bbde4b0124a7dbf407945b454903e3663a28f78993fa86a87eb5aba3e56e3973fb6e3ebe09fa1b92883bc1e806f9ac493530e3ac858a9715d0066101894a734f2a093197087fcb1b0958fcabc52621a544e3e9ff5eb467b529b301536b72a246f92b408b3931ee347b4571359b6cf458c1bca9b6adb6b7d1c3456a97a21080b79ca58834b98a9a642d7aa33eb2ba958925d1b8221d6cf5f0fc6802a27e1504566927d08959a24c14d01cf129626bf1490524a21abf51305e82c32142e1721f81297a639e8b0f0c9c4f21d6372bed8883aafb015e8a1872eeb1e7bc1d776012140187c011987472e5bebe8ca1dfc66b488e3880b87a3f950cc0333af81572ba1f481b84b369ca53949e4cdd8766659ece9919975c6b7bee4527fac4e307721f9e635f7232102c079a70312a93e5d8033db66b81b5aa320289119a865e4456c80123b355716b32660f144e28838e753781ee73a7adc9137134842c7cc3c772ca5f8d217947afe5f0320929c88352689549768400982af57dd38d28089af572472e5dcbc32064a8443ccb0a8d196b1c907de543eec404fe673b1e566a36f6729ebd7e00a4ef4eabf623eeab8864f83203ad576a1f36ed3d71bba753743bab7284392cfe0d1eee972ef0e2940f9b85a870026eac22f134ebf2ef6a24d352b772b02d1773370e2279110c6ccca0f0798380c299a3271111b5c2578d6156480a7206527c2898345bd70f93a4d12b45adca747928f66aaae2c187772f0a0539ac1ea72858cda949160cf05fa03cc67ae5bb396ad93685c8d9cbaa1b2b67aaa9426e0d4e265a135cccc6c10e09776fa9fa4d5aff2dcb50139d74de96a85d91da2e1b3ea9414f0d573a02298ed7e9fb07e3b08a0fcae95c18ea100252b27f794ead72f14325c79dae2b2b3c1b396be54d587207a4d38221ef07a9cfa8de932257161ab734e2ae42d9ee3fca6dc7335e1c83b12273ade0b696c99f410f3b401d3fb072de6e26954380c9d0264a1389864fc7990a8a4f9ae33d03646518b3dd8effb317ca03caa18de289340edc539a94e7cfd53b51aac84b5f8f772c588df8f6d975722b5c9b07b75b48ef69dd65516e91c4a5f7c2524ffd0bd64fa0046a6f2899db72ba6e62e8c44ca6fe9c7463bbb8a24f4a0624ca0e476b268d0cf22986e126145097578dec4dee42b865aceec6d8818cdeb1064ba214688299f40e9da7c1752466e14ae3bc89517638eaf8389a68c748f6b21b53c1614d27da5d9a899e2be47f11c1b867f9fb817c4734b305eea133edfc303a17102e2582eba3cfcdefbb4d5b725e98b5b6017d7a0d92f0cca6d6f22d1c5eedb20c72b4caf0fbb9f881cdea7e72b2a47782503e905c1e3991f6c6018fb1f0a16ba8836d1a6fda3367dd1820f372f325016da6b0667a36e6e5a2e41c111c8ef4ff3262cc44539238acb13c29d072ef50280991636165d80cffe0c88cd0354542e0098003ee5223096356f41ec972a779cbba1f91ad161340133a1b4060f6e0ab3e5904e4fdbc3ee44a1bd2572a72c8328275cb49bdcb771e1df430382291f59fa2953e6b0bda726f0d831d33e572c2776ee971f12644068ebe432e659d9be643de61d5eb15059f25432e2bf3dd7232110de174378a6c9982204ddee4833dd4a4a9591f866a1e3bcc5cb29c71b24804e503c162163101a9f5fea233334fb968aa74e3bc8f06ad25c8ffcd51c4d16ddbe0b9f69da6c35a2d86655adc9e203690438ae6c6b0ed2815433b7a69d7554b6aada6376df6c081f10951180fafd298989b167e1202dc06333a158dae3eff728e7313f08391ac7f7aa603867aded793ac454a8d14e72081d52be3a19e518c0ace9eefffded3c73d21461f53cc3d5977cd3b1063f750f27aad8f34dacbab6e72aed8e56221b821f39e3a727465fe6ddf36cb60e3d3db22e0ce6ce5d830d1234535c44cf88d82523e8c540500f2b123e57553793224dc06b79e1547a15a1b5050ebf4321628cfc5d2227dcf19d21c65a99be84382823b2e42114451e294da607252dd63eda7c1cfd8011113dadc69e6ed3c18175133e5560a08c0fe95098f492d16eab397c56b43f6338a1f5f7c664ac082b36dc572975e707f107d28bb085672bba41f066b32f96fc31687dea3d994ad75b23befc8a5991790abbab01f42fe72897b04eca8f6360388ecc3b23fd71092e6cb033147d8cf67ea0a33f31b1a1972905211a59330e6da1cb418b756150cdefeeb72f60d5107176936af4cde0a8b5d163137af20b20a87b89da32d15625496c81f2de61775f9bf298cddba1b2bfb620d2cea013eba9a166487505c82faa1338f991220f459acad35a7e62635e1a3720eebbc1f53df75c77a0125b22ea72205f4bcd02ba527917f802de5c3afdc29061e31311b112ad1c516b976aabc1e357f3464dc26a07e9a478b37a547dfdafe7228622c97654fbb995feeebece3f93e35a721269dbc1e3453afd7392c5491d5701ed115274e8ecadbe70f966d3b21b165567e0bf37151c3c4287604d1dfa8206f2ad1adf65433e6ab8057dbb20c254a4012de495ce0ce6ec5221518909ff3167286437bdc14b1c8fff62309b0f010dcda3c2aea26a89ecd00b6c552ed3b8fff72947c56c9e0f4a13dc70998f4a44c5d4390c9456b1aebff5a83cd743076270772063337ff5188553b64edd08332a672f0ddd8eecc4df2b8ad6e3cd043a3cb5217f1cd12a058790bc2d11f833891a5da71000da9ff2b86cb8d9d07435e15e73f40d0461667ace277f487b4c51cbbe5ec95d245f690a4974eed961976f1e1d4e157512342e894854389032df911c995a154748f85301be6c0aab0721a91bba603725ae76dbe6f555fca836a7b719ed2407a3f2d32baff3a6c46a1a14d5534d4c358962d5be62505e6bfebf38882d6e0adc9f93a1702c08bbb16983386070c87d672b9ff9fdf074f7e68c86cd63d95772083ca3df33a8cd5cced63a8705ce993e5728fa88dc97a9f260467434d30f2fc4937430bfcf43b5ae5efef76d7342c5ad91600644080d5c0188b1c00f605536a2240c452c42ba99fb323b5bd8ce2f64bbe640d035eb7dbf8824f8d5e11d16efd0186b17a65dc7bd4dece122837518f60cd72e1eda33504a157658f7f855a07e6e4a8f2209c70a56e0968ada07d3fd50dc53b264822f99a6555d5db36aec3fce7b8e75ff17670fa1d9ccc272c1b4df7925c7249b478ae157c0a4b5a48ae97106f05a773e66c0dd9388cb19f5ad1edaa173769a3c3a8d6b5bb95f5c347ac13a0e9b22d071a913c2eaf38e7255a2d83c04b9d726830595ba4c64cc056667c937716d893b0de35ae7d036fe61868917a276ec102632bef3e9026cf301b637643e27c1ae3385c7d44eda4373357b00512de83a67277ea4dfad54d336d80c97c45ac45626d2df4ebe4207b4b04e59554cff14a2e11c01754105070877874e2b90cc8a3ebafe973d8c7dd9948818a77b53eef8fa331e8b48b497d9ad36778c249f114502879d023f1f8b304a3aad8b50f5d19974b72827d544f900c8eeca124474d6436fb0dc265232daf78f7fb3088cbdf3e6f7c726b0d754fee78c89247866355c27659865783e2097c4e3f88d9b6e0be12bb4772270b9ca1a25adcf220ea4ecebaffb5f0407759a2e6dd5714c0a8dcafaa095d72a984fa956ea42ded987c339a54cf997abbae8bcf72077a1994ff7f04a5bfdf4e7ff2832878ecb4f608b1d8a7a42ac94c33b2085f8d89c532d31af11be0ec906578fc70448c546919d7d78688de279f0d9d5dd071d2048a881a06f5ca2c247772bcf852b1c20a1d3b28b6cdfed27e0fbf5899420731fb6475a0acbb3bc7627218b020d64dbd5f81502d174659667764789cf766325c70d45fd896fc5f73a01c72fd76d552c01f41cf1ffed14cbded709bba11aead9f87299542c82edb48f4d872d03a10d9905e6e3e275e5be9917204066604fd58d873e04bec374e8b38da3f2c280a3cde7622415cc9f6926616693c02b3883900cf80b46caf35c076e8c65e31f44d4418ea2a02d744896f2f52c8e953c4b92ac04d1de7d8836be6b7fdbb52720fd240aceb41bc53efd1718b9f19da42ef7ec914ef38b7ca6a35fd3e1e34aa6960f4f2bb230ce92b23a78e0ecb1d93dc899dec8c8a1368b66a66cc10033b507256a2ce6d2481fbd9f8da664e56f24de472371e3cdba55071662f87aa732d7f5baf086f89728799ec3b42172487ce477e8b7b83f7c100ab7144825c461e6cfb7213f0f9382a066cecf63d3cf4fb62683abb3c26877e32403634201eff28271d5e560e916333f7b4d89c6b62c630deef288513c221c991fb2b9f2fb086cde663042e8f7776fa1dc8a66292e57e3200bbfe7bb377c10d5aa4476de0b1c70f6e5b30ff62838c14df574d076697108d7cb895e5cbbdb7ec02d117a68c76db9bd54620576301bc3d824d3f62fdb8974bd75892a3c5955e924a41a2d4ffcfcdcd3ccc632ba575803355ab39db011a292aad3844a4c3c519794d896022a0e7aac953d52f14cd221be473eaa3d24254064c9b20ae0397cf1c35a17f6cb1fd5b5284b88b724d7df9509651ff463a3f8727c0d6a9445b19fb2b271c85c5926b7540333ce524dd3f8623d1db2c12c93fdd9e4c39fce728bbca7917130ac54284873fe2de0e72085801c3a326617c4bc4c6beaeeb5b8f37d226d6b61c3d964c13ce6ac55a79139c2a79fda85540457311ff1dc59e1945cd34a4eae10a650bede4e0fb37d73f446412e81185dca1bc8909c60d588b3a4de94e6b91f07713aabc8e53210ae6e272696a5ab84544449a79b63a10156d63d5a2db757c319a2fdb1b7cccbc6966ad7207810cbfe553d651fa67b0281105156e4d3535bf4b01a4ee6b541921cc884372852a60108728f2f0eb1eeb63e2e026000dd0060d9b1c55e46732434b6f4f097287f7ab273628892bb25d76dfaf8236985f7fdcc5d96e5269736b00a93adfc8720ff8c4ba5383794e58beb92c681b8cc019ac2b1787390efa59e6d739f3264972a64777194db5599f27e81af099a1b251482588612cc9a4766ea40949065cb3727584055e8b81b94481c3ba6a6332d063fc683c9313ffaf3962f530a4ac310b65b1c6f5c8b88fb6fe01521e5390caf89eade2fbc5eefed0ff59b06254a87db91a7e630869a32c3d6de512434509b60f673143505f6325ebad883025b844928a7278ea0022048e4b68800a8164b2a65b6eba19d2822cd34dcb5081aab0090a7a7282c8e23acd76fee9c06a9519772a5656d0e13b0b2bf8024c97f7d06e2df7ea72af8a43c1d492b693b9078fe15096b86cb59090b3f0ad1a1c360514dcc788fe7235d31d1920f6bd32b6147e18c48640a1945a1c00770cf09f7d374cbc16261718d22247cb250a6dc5ece15f88eeb7aadc62f28ed656daeb817144dc030568036de4ebf1a46444629c8b4df22a070a6ce95d0f74432cd36ecd5c5efec4d18a4672cc88895aff3adf3e4b4029dc4ecc27f05591d583aabd5deffcb2b92b8973a972c4949af439b651e06af300d557936d1f0979891ef03d49483bdf9b76e15f7a6871329bb0118768242e896f5b9bddb24ec303bfcaabcf631a2e87cc6ed9523609f32c1b862ac8a45c53c27c1d9f56240d61318b1894019489252e63d45a5c1a7216bc783e6ba7a6ab48a34b60ff25cd3bf612c95787b2e2ea5f7911ba51477d72947c707fdc6237ea01532e23fc7bccef7538d2e81aee83389f06f4c1e4759b5f43791374e5c7bc70bd081e9133fb9028bc4ec88186b00f9e164c32961b0278349251bc8ed231a4b9e3ea51c15bf9d29824eca1e7e59217a29c7ade55723b1572d77fb790ff8e9d34409868323c72f913af5fc1ee554afd1e7558681d684f4e728b5db736e00d2957e1b68ab1d7c2316dfdfd799d90bd74386268d7cab6ac3410cc6ae5db16ee54840ae36babfcb75572c0c798ac4c4139b4745329573586af0a44f7e8b025ceec5c9124566ec83c3e7704be92be018028ba5f3b183c6d802b72918b13afba26f4915af89d78150ff3df67c8263a148b9cb90be395f07bdeb23a8706b00cdbbf7aa73c5eacf38844b3691a1a2752deb23f21a3441151b1d8a372816a7d2fd490d87ccffb63a11786746bcc461da0ba6153ce0b78c0ecb02de61b8320f4b537489af83a3a993df9783f528e4bd04b5a27be9566600f466d0c47729fb83526f77f95394d1b52c036a753833ecf700c80e8b5317d03106f58932e725fda0e7b0d7702441367be7729832f6fd871f11cfaac932418abac92575a9e3b9bd03e1a12df0cb211b837ad2fbd97a0295d9bc009c3718a7e715117c41c070c455fef122ad62f36d7407de08a11a37d92abe7ebd8b1a471f36b000ac72ce572e2b108e911d0d90a91c3e3511fdd103a13565fca6bcdf49879020035bcf2c13ab8a8403422460ddd82eb9f7ebff4cf4ee3a2491fa1fd692648f7e850a3dd007245cb6d84327b2d4e8f32ad3349fd2bfd0ec3c9c1463a4513938b1f8a20685051ed9e8769b487763b20ac6abc763723f02f21f7dcc9c5c602861c132feb0e967245469fc29e540884e061ba02536d87c17228164873e4f571017821a49cf5984ad0fcb9c61e5f35bda16fe48732714f096bf4e5915cd8a282284033fb0ec34a7266d009ba11600e6b5f721227e6622f4d51b6f686b1d3c7f1e3bc20ec9c54a9ba020000725f440b865d705e30c4e50635ffb8880ca03b3c54f294deb577b800bbd96de95f492879ee264c6fa00e358dad70c929da367df2b077ff9bde383b198e95823d40086fc262e380a73fac7cdaf9f34c58bc9acad86c02d09eb005f0c9ab697e1072b63422abc926c770b1209cdc72269d707d55a5a2f33226283e92cafb5c73172e69fb932b9abd683a505d0d8885a9ddb4e605d99e60b2660a4310a491950a202c57835a1a36cdb456a15b195675e60d82dac195c90da8ad4564742b4aea4394233bffc26ea2823d4e73826beb449e24d6605be416f423e34e4ef6a7cada440d729be513d372f03fe55dcb5c5c5f4c4c15618fda87279c85f5e37d26e61a2a3839a360dd9438a069072abc74476ebb9a2cef90f8e9f02b2d409c5f74030be5577263503f79306373898b6932acee2fe66e170ae841aae1d9edd4aa2dc9ce004a14d7b26d83afe28f5a962160ce342cfb9c387be02ac06bdc551d189ee8a9699a0f9b79b3453dc8ee59d0204efbef3ad39d1578d19d5d2361bac0ef6e64ec288f720ecd24746c65d62471810cd43d908d56782ebeeaa7797897198aeb7a8c18156fa78ceaa3638b063efb5f0e6e89e57d08c9081a6df387b69c7c9eef87f2e48372683c0d174154e91f44e298ae35eb49091290d958fb44580c97b329e1fbc6452dd754e9a6fd4e9be589c70054439dbbbdcb0b439671d6cc467107125d7889fe0615797e2d2be38cc4d000bf03e76d8eb6847857f4a6b348035df0c1765c053f72a7c12aa912d2217ccbe77d884693c5cbe38e4ef2827f2bc064aa24c34aec1746bc4ae7c53362b7c721451eb910a531e11f38d67be47ea95852507816541a025ddef8ab1fbe47b4121a3f83b4ce03c2ada83f81b765f97b7057be74801b80e37237c7298f79c673eb267b67d5b86887d15d894ff97524054b02a446bc29f2aa7285aafee00cce6d2992435bf6e0d73acaa9ed251065fa767f83f63e7963631714d00eef5c578103c1dd4c503832ef2b93a640c719aa20d0c43c8554238d808660b744837111dd0bb85fc71362161d839872e87240645f28dce99d82334d185d08cec03685ad953b9a194c8185ddd04504e2aae5545b0f26d6afefb8c159e8cb720bb0c2effcc60de94ccc89713e943e31f449791cdce5788a223e968d003d8f5cdcd756a638db9c7af1b52d1a76822cbf0edb8664ce872f873ada8f5f99aeda72fb7fb360d4fccaa306aa9bdc2992407c8b9cb9e437e236c483d6b69523ce9b72ecd5837297aeef9c98579a99c1d874a5a5e2e635457a9d9a427fa88015686c1c8299fe7b8a9c4ea4932d8111c1932aa55e4a8e4bf57ffcf6b2d7bad85769323f827c62ce225200150b3456c691c6ccc660b1ee5634cb377b67d950be9b13db5e832783956828eee9ecc53f7a433bd90e851234ee0b6f730e4ac41db0004e7a046f0276d99aa8e8bd165bcd263922b80c8c6a1a0f09174f47fbf89015945bce198facae21b0998f3c27ca5748d4fb0cf886724fb458b4d30140c16efb26178672a730fc18aeb640762836ff5a794c90961d2e1b091a3f7d10998a2273742c2a727666ccff7dcde67250a9dbd068f115641f70c2d4a5754e001c75770733104772ff31c59e66c6b2da2b8bbf1e535df008f459a5d1681d2cbe3318db91d2ac31720c1d27e1c5d33b48d680f669af6eac1ad0457b6cec68b7c9e90dc72d6b9faf729bf9ecdabd4272b6f9738a66865ab746c6faafb5953b9217fff4b75ee5c75c72a03d532857a66e9195d551b0212780c3153148d272f3dd089c73fd1528350e72ea1d388e2c72540daa8d02cf57c59aa2dfbdf1c5b8ddc8bd5bac24f28a9428727c258cd5ed9975783712c91854c0be4895ed67dd08b7b23ad9e97bdfb5418472b49b8dec126416e6360045e12ea0f09cd0eb94dad9ba7152e3955ae9e698662b2a0aed5105f244d032a58ac664d4d111e9c1a5d7d57a8b4fa705d47dff66f472952536b09c8f0c012e6ad19b12683fa0b9fd65cf3771446acc65b95101dc48720798d1a0b83e84f20b2dfa85ef21c1fd6d4a4eb7ecd205b954db3defec577272483a202ed666b5399a28383daaff0fc2f27f2225ecaff4500600f9980c2bfe7207fe6da07c62558570a80b6bc075664f22f9c8d46debd39a8b0db37b06bb8172852f76723db98f38122b0ff1e2715ec10a08f0711921780c965d1b14f17d2d28544a5316e9fa58d0101e138b0928ebabdedf24379fed3bde2a96e79ed6005f727cd09fd1df8a0ea4c1dc55481a1e26e5ba36b7a811b9d1101c3b6b9e5a30997218fd50ca2ab3cfa5cb88518d0a73b9d461eaa3913953a0dad87adf04ce151f72c99b998f3f8dcb1de0d08b7018527283abe2aabbf45ceb72aefb526670ae0e720eced63e0bd2777f4554692cd976e6f06f907533b00ef5ae1e601408122a984668d3dd5c246304036dd70a92cb28b5199a357fe595a331f438509401d0e9917272b540960c2f3a065293ddc673c46080311bb846425c8883c918b02b336e4f22087c91d3cafc7ec793e0bf81e4f9e8bd6bb39241cac67cc3190ce93925377872066d9eed8c80f537c805d026e14b05f207c11e7f2869302e145cc40f62552a5dbe76cc1bdbb41297697b0591a03e56d45cfbfb3075871dd5185a3e25b167195a1de5ee045eaffd20fafa8a1a55d8f092afcfb701bcc129ae708b046883c6b927afa060a0f1ac2462d37cebe220289b9584c0a12561b4d662763ab1803f13b3183c3ad6868a1f60cd375ae2528f9dcf5dd33d15c1f15f32ae248cc60ae4c24972df2f4860efb52e86e7290dac54ccd84d5c06f3cb6716a15b4fd8330cc72c4f491bfa91ba06bcdb0b64e14d7697ffcc32410fbee67633d08ced2d258c59ed02723e9ece3dc164aa0306c92a5d3be0c9633b2ebcadf66fcc23d73ea3333c880972e5636c62783da2fc25b12c00670d44d7d986c091d5bc28d7ef360dbc0bac9461e8d73b28c2ff9d97903429a89160cc51b89a089b5bea4a12acb6ce3224c292523afc47c57474557fb12cdec264eaf1d50894ab0a4672af7a89161e01205b2672e87c59922be00d0f403b0e542234c1f6a9794fd31432537b363fe67448e97172de20c11078745944c0cfe7084de1c0413b8cd9a25730929675c0ab5a217f8a3cf49a49e0df6029786c72842708147c5c22d26b33010027ab23d724708e07d972f90b30f1891c51e6df084be64bb1a385d3c487c0ba0f49cf6c9549f056a62c497603f65663881f59a7a842a943a3e1ee9063ef230d633ab29c3408054b12ea427796ff83913f694eb4448882f5c756b0d91290bbebcedb85dfd3d5b698856972a2aa234f921451e2b80d887906256b5bd5819085079f8d35337c3ca850c579722bb724ff8c6dc1fbd638d43a85051725f79ce43b672f162ea29bf50bd17b95725fd5a07bd7508ce2a1344609e6f100ecc5b46f4dd3954dafa8739dab7866834a997da64c479cbd57009cf65207df98c75fc593dbb5872461ae2891f72fb88d727041062e8107ed9ca159066a89a80fc018e8b60013252a7fb13690bbbcc386457e306eed0ba1f030f1338be2471ba3cf49bf14279ada7656d792003d9213fc2cfae34c2c1bf818e0dbedb97240442aef6797e396d91e43713a151bcda1c88872d5ab707ec7453f527405bf4a901b3a90678b1842bc4774b10cfdfc616cc674727273728d9888fd368eac3e2656c66c9131581981eb16876f5c9684e4d17a914bcd224e6837e722ca6b08975a4f3c1ee658c35ee262d0931fe3ad7195fe7ad772225e0e402913d538d53a4adb07161fd34c19ce499aadf07f6a223455c1a4e3728d461bf5ffec0c1bf25564d85c3d014756c94e7a9d1943334f003a348ee4e414acbe410c6953c35dcf8e1181ab0d3b58fa144818d7dc636fcf4ba626f43ce672bc5edfd4c00591e0feaf1be13c1fb2822902dd0f474b65eb7e1e5832ebea3a7223dcf37b3cf2d6083660593416d298aa1853c053e317e660d95320a254d9d272980bb322a9b486030db3c5b1e8f8321dac3dddeeba7f5c879ccadd69c63a3472101ba46c54b6391d5f3771466704e869646d4a812a7156c426cd5aa7065351722dd13fc4f61f35bcbe9bcac47285de76ca817fc43fe7df61075aee4bb0199a7223a67d6303077b9af9d6c27cee34d8af0c612423a10aa5337bcc2a8432ae510bac7446d42aceac2658df664b9e8a0ab0f290b2a3110a226d8bcb51716072c77260cec9f176a23aea57b81b8b209edd0199db44d1c4c1ecf86fefecf83ead0f7243316a642b25a7515595f0dbb53a94d1466bdddfe580a51fb93f42a42f94ed6e46f22f2c7d64b893540cbd87bd89cce0588c5aa00e6c7ed301b9b75ac38e7572ddc28dcb83186851c875dab3d1364d057905b174665259540d29dab09879d872a54d05219c380baf962c588a21565ed854b79511512eb2b3c52195321a27a85d9b22ba039edaade727baa2663b1e8bbb8a3f1c610d48e6db99e8b8d57ef00564f4d5286f95b0fb268496b407186a59c439cc1d1c34b3217fd277e79d959a737278801d106d46172c3992cb0c7db0a8004d19c8d43271253e1256b39d1b7ca572fccdc51a2fd9ba53698f1c6ba27a26533d6ef0115252f75e100c1ca73059c2727de87ccf38a5d6a45b0e952a8752c16aeede35995ee3c0706e3349879f04f8723423376acdbadf415fba88b02d53adf03a3e4b9f73e88607155c6211456bcf333ad58e91758d42fd545eb8d004d4760025c9398617add907b4a14f0a4440c172efa7eeb2cc65c736d5acaeea62ca8c93ecd1b23000c051a03f39c026dcd5fe3ee0b986e04a82de9800d21fc4ba6a0f11c4f6155944fd44acc7af145c96b01e72b148841a4394349e60a8e997cd89248ff9f8a91e089918da7eb5704da08bb545744e0d7628140ef7050288970f758d039e4027e23e7728778d3d939785d2f971446ebf0c5d9d705ebaaea1c33f0c6005cb84851fbe15be5e8661e90c8404e86bd75c5f0082163c9912c53a2869c9c4e215be21e7b4723deaf830b31e55d4377237d1d9aca74f4c180bc94131c7586d0d6d9e381afc1e3091af858399f4c9f1725780b896783ecad4c0b28c9d51b471ce264f0c5637eeae15407b0f3af438bb495f552e20b3d08ff1b68cf601d0728d89d40d36ef3f729a0b783f7a7ca7a15172157d13deee4f0b5b2d47752bc234de799a66757877e8b7c9b4fb2c78f7a12f722e03ef7b4cab87e1d38c8a9a250581ebc75cce6fc688544e5310eacb29ee0b72d623e9821b75e8f08e7a6ef6ed0598adc434218b835471eca656504c28cc34722d9cc67fa0a237316cf29ebf4a4f17d7fb86bed47037dabaf5bbb08a687628727428573fbf18ae23d3776a7d5fff5dffcea2133e9408b3310884625e494bae72e8b00d01684598e88f76037d72cc628869805a1f9896b246868c88f997763e7210436b8e4ab2874cc5134c40f569c5f009d4f7340907e42098029b3d2773367260a78f0b3eb2574d95a9699f6e2dc9dd10bee8d80834b6fdba42126f0ee5e9375d01e7d5403a914687b344026afdbc015f1a235bb0e63a425a346786d9db247221864f6285e4b7402b26b0e5d7ca89ba2f0f2fb6f8330a9f03bbf03f51355c72751edb9f223ea22d7975950837763816c8b5a9bb67fe71074884e68cd4b7d14a66d5fedc28a7080318d59f053f037c8a7ef199c8565bde910f234504a4f8d807d30d0760d2d2a5f582e072eebdc4384650bfe69973b63deb2806271ba524632de9f7eb6e6657a9bfd6bb69b12a37ba453c4215f4338aba34f7104c21f457583f6ec03644cef3962ae2b4eb8dc1b2fdc55a6147e2ec61eaf7a0ca65026d1c71729ac1df1183dfd2ed5e28b4b1ec3336448b5704761583820ff4aa711d43ef9572ec08e92bf4bd6249876122debdfa0056547db8296d9952201951204ee39632235c6d2c4215578e4aec6e20ae21cbc96c8777ecf9246a43ab53d931b33f955d729594ab3be4bd8273baf27ca988a6d61fb521012fdd8574e6e0c3e21ca3ee8b72cc6669353ef4f2c93e1cd48ca9450fb78b0d25ae7338fa8ab479681a63230c6747f3a32ea1bdf85c483658e73a90b4ef73a655b606e006ff83144e3f4cf53926679c924efaf5618694d2297209f8c1e5257c90f963b2af8d1ebaf7b7ac42ee12964b8229ed65846dbeb6ce363fbb5421301698cd43540bab61967a21d45ba41fe242eae1da54d941e18956fcaad647e50a1d209f014da731e4d8a0d90ea79472302a4737af3b28f9ec3caa83bf3d1fb9c2b774f080aef4603e0756821aed3b022873308ba1309defbf293349f62f96f6b40b31904de8256c23edf4429060e37204c761c02b2a501def29bbbab74af4608d81f85079203551b9023cfceba7bc38c8c09e314b03aa050a875661a598c599d2c99d7b4f329ee0baca42d641ca425164d2e5cc2aba25ba605516cd2fbd08fa0165c874789ce34b59b3268bb7b1837296933e4c33c885a5c1cb7e2ff75710eb2dec135656cdeb97fe7910c04f161f7264d70288b33d57bc8f7fdb3ad854ad18dbd9ea19bfaf45526956cec857a8d872dd52bdd2c183ab0d04d5e3412f9d5f554fb62bb7429674cc2f4c9f4b3cde84728537f81577251b18229731712100903903debede4b3f20f0e844e3f8bd60b9720234c9fe93bb106f6a163b0a3315d5e28e685f4c23a3b393c0b53ea5507f2345ec338f834efdbf77397d592e852d9c1e24396286fc609dfbbbc9499bd6ad381faef9dc37e340ff8af5b5cc407de1837bf7b2138478b8353620ae06ef1142df722a696cfbe2eb8e45dffaef7dfa487f4a1527a1c732521f76339cb95f360b77145a58348e4d753db49af8ebab29dbc3a32b7a5e0bc9286b00e95b70189023de729817c7cd6f8bbb18541c5df960135780cd1d66ee41431a020388667c800b3372a5543f2de5a17bddac83d2033d01707f13d422c0e617736b908ab72651ad1d72a9b6c7d48b349ba54c76ad533fe595f3695788b2b146afb9519816f1b468e237aa8fa0131d6d24c9ba6b791a61b0021a9531458b8f92550d2d40a031a30ed7705f24b23bd6bb0ac0c754c82b69ad533fd8273b6ef91eddcfa52a2eb3f71cb472eb9975e609017b511085bf60b7bfba92be5ada5e67eb62d9ce1902b8e4d49829f6706a237c9a96ac0237e8938ea67fb5a48e8b788db6f69e55d2524db7db987211c2dd2e935bab6273cf96efe9ef93e409fcc2507bb55ff75bb68a5c0017556cfd28381f4dcd614454b1e5107c7e393f4511b1e2a548b5754002fd9fc2bb8972c3859be42c6774f3eec6c370609600f18ca5c03d14ea7771db6659b21c0d6e72c266204a01c7ad6ea1c7fe126b71a4bede400b465c31ff7789543fe7d9580539def3c97a35b6b058c0130e3d436fe5df21b6e0e6183fc7111ed518bd04b2234885bc51c5f62543dd1184e64415036a5ce20b67951b92bcd387bd0fb411b455721a1a6f92b4878304a0777a1fe33b5e4bab6e9361281ee3d28f082eed910ca972db0bb356e933e831087ddeef4fef67ee158e65078e07df62772e025570b35604aaf349b2eaa2e0bcae4bd4f4d0c735029cb2f4f597868feef337aeac05d63472996af9274fbdb1537df60b463e0dcf81bbc2a882154e957ce6bb2a1c21177a657b42e4a12533802953dec211152297742ed1627a8d2a45b40da0d08e0b4e1c60962f026114450eec1831ded51b07423de5c9736723f90fda451bf6e7cf9b7151b483dfac8008e8c78740d20c169513c2af69fa951f36ad0fb504c69125d99336a90dd4ccb42a300996998bee197a5d0582fd2096fd291b43aaa49dfbb6934c7272210139955417c7af6af6d37bfb16a415d208fcbbf150c747cf2dd52f91f03946b76609e7ffd265ee2133a37451da5607cde89ec023bc225424ef90d7ffd73a48fab4fce19e2114d63847c709337623e19e846528112401fb7a13c762222b3575323c99e7c4dab7200f78cea3267c24798f006478912e041e7475ea3037bf11c876eef8d3c0f37442fe1a61240a40a84cc8ed939e989e3401827acf1fe3401b343bc8262c2c737038d9a7feca75f569b6346f136fe86d0b24748dda1df1ff62e6f52466216c9a4a90ef848fa049f0b0167b2e56f3d34f928d8703a9850af06234c40b01af886c6a984315bde1b1569d439580badef49bdd0ad6364b48694272a06ff8a6f083b98d42d6c00f1dc81af40a7efa4963819ebef50edb8100a6ab4dc9c3b142919c4f374fbf181e3d7bf46cffb565020e9e188b3526a6f6d80b1972d7e1c9c7778210149baa9de05a0344394c85331a15f1b590515ba7942ed103727134e872561eb35112755fce57d6b2400ab900c7e405583ec6f617be35bcdd72e34554682e14af10f19e1dd3ddb2eaf80698188d622b090110e99e91a862e844a0c31cc9fbec637246b36b40d4858c2fa00de567a7f840cdbd34e517a897f772a934dcb0973e8e57382822bf38a3e3478a4c707c3e13ac0f62be2244d6a28c722a896cd03a60d8592d78839ad0c89680bc19703d4ebe79530e1466af4f2a9c2c54d17ed87c1379ea47bf0af2057a6b6995c076eee1f333d296c40fa2665710699136616bd4de866353d3d41b442336c3f0d78d9becc6166b97b454f8812e3f49c53fcb00a35b80d4db500b0e04ca98b81abf7d96a45356f3b966e0b35ddc4472331a34e6b4aeba4e5a1f87bfb21a65599e901ae209d392e63eee670bfeb06372445b843eeb309747e778c14d57fa3e0b82a86b9cb4f59315597ad8583e550b7222b59a650914b7da66c70da38a909572ca18eba4904da171b25f324a610552722d971c620ae96c54ee3c61a1dd1ffc83929ac5d3fd2418918e7061723dce9972ba2ef16437735065704602837b010ef4120b72949dd579927f8c6e0966959772639a38b463324e1331ec36e83c99cbe80222694ac98d2da963b665d9609842723d78351a91b2ad0e988f5436fd31000a2589006109f4736df1c0c071ae4fb04cf2af5d305d90d8ac12ab97c016a940d517608559944bf95f1ae4de418bf5e432e8bfd59001ddf1de3aad559895efcc9c9d43e58c7cf85c1798162255b9d40472c95270726100c72dfd68a422efd637565e4c708662017f9daad0f1c6d3321a726dbb4cd804eb415dc2e9b58c68091f408f30f9e8734bd49cb07eeae5f3de6c7208531044befcdafffcc0832034042863f8e620512e17f139c224ba991941f91a4967236d57a9c6d7f7e57b6af9d9dd665fcda07f1c575bd5cbcab48798420c03ddbd497cc672b14d20b37acf81bde1609c4328a612fc919ef61d89a8783af97230c349e56ab12d199e5e581d97fb834440211d46238d63b0a7bf820708f5c472d40b17a6289a6753295e1414b055b16e290cc6e2601e1d352189f029ec553c723a1022a3f61896508a91022a0ec685800586d887c1604921e3cecd6fbd81827228a84a222441da4104e89a54b9baf7b11847921008a7651d073b1346b9342d18fbfdf44375d43535a6d3abdd880a2d2a3dd9c65ab1c38d3d488438acd0a44b658447292d28c46cf82842d50ba24358119cdf1eeaa24150cba644dd1ae8b07172d21735e206d64859d61da52bcf6b913b5307e8efb60b367a5cd33445baf4290ca3b83a594d89660de7dc5abd2645b9703acc6352f7879e53c7709ad4bab85872c68bb8650bfd6495d7b022f922f4341a0caa1d3b384fc4da3e7065b33baca723e84c2377fd534e4bd61cc33e59868e5db4b22c46eca8fed625f052fdf1025172412758c224c1534acd56fc0ad770590fade262983265506282cc663b97dcce72aafa67254f2847fc429bb3b9fe1a7598c8a6d63293e599e0b60944b510a43627799c2a3f001c22dcd71b7bfe243ae84f3987863a629a1dc77cd4f6a27770004f95784d596e0ee15f1ed17280d5417191390c858235b8a2c6c89c968f9975f93114f906f266b59d0e609b83d402314aefc80b2db59fbb328c9a9c0d34ec4c0121a41cb04714dc0aaac5daba6469183a4b7d8a502c05bf58b22e357fe27ccc2e55d6c92c73c9df2f03e1e4a6d2eeb5ae779baa31fc79456a6c5c35e2ed1ad25c18cf6ac0eb973ef82f106e3c9f4811744a5c85d64e39f74ad09e7b76733f84897285eba144f83056c9ecd93f1320509602a1bb9b5705dd2b8428ccc8fb225bf015132e0489c56f25af334c46d1c5f2541d86baff9be0c41e80063f359e7a2857722b76a0a96f7f87efd3c5c69ee7e8302a71171fbeecd35509db71c5aa9e3bee042d414c7f26285c2f0574e39c2b88ca2e19f33b1d9e50684865fd1f02218372726b813c4cad41944ac43fd35064b98bd76d7a40aa1a741f9e8d8e7cceeb60a961b2e8bfcc6924a12de0169cc6a640c93a07d288e6729b56b67c45a33d8374617230395097046b829b3a9d742c80fb510db106c614df7f0bbfcb0acd153e1b3172b7ce5b800226ed7aa4417e88fea169481544535d4eac118d27ce23f0e359cf301f0e149a4a9294ad354152fa8c1b8a3ecccaa4a1629ae735fdea5b40440d89395c311b988af77cc516c3e285cabc5dfc1a425cd75e22dde458638643737a790260b33c4b91430996ae1042d07fd7ecb42ce9896be6e271d7136b29b9456619725fd763ca0569dbd45c56a9d57fe461c4a9e1524f17ff8cc67f7017ebd8af59724651e352f2f22d478c587ce1de5dfbf873944f4fbba3ba57f8b5200d1a1b2f728b958194cb9c2778a4d34dcbaaa2532daa0b932f335d19d10b23f4a7c9d14c683ba430d8b9a253f149d7296a5699aea785e912c45946317dc0446b64df065a4b2a4aa36375dc259e060c8f3bdfda4d0f5c8a05a1c8f2d38f420f5c4630771604f7a19b9dd02400a518b25ec332566cf04962ba146f30135d61bbaae0e7041d72969f6e0d03933e87b6e1c31034c7c4835d0b6e138da69ee531618e5ee1882d729abe8b3a4d625cdc6376e4560afb3ee2eac6a3b1ad4b0b4373767b6e95f50c7268447a968239fcb5f88d3393f08c0e7d3792222badac8198bdd834f05015227227acd8f916d3e32c71a757fdb5f932c7545836518ce654d0df8655ea701f3872c5374906291a10a81a3ea8d6c4f28ba8fec672ad1a9664e6aed432315e489572bb4cffc619dd9527f3242eccca94471a745f23c8c87adc2711e130c210236a50dd5206b1bf55c9a7e959b861cd6e3f6b88557c574ccca44fae747ac6f2e11e4ef3e1fe94721b54a526dcf7b134cb3cd96a0360b561366f5e0d4ba684262238720822caa036cfabe338581857526f239b9f1cb7da065740a77c1366b4cb6d987280b0677636257e770cf4ae09baf9a6248555606a163d88cd89ceb89a367cc17229bc3e2f4995096c9c27e2448cdab8fb46a8d94c4be9ab621fb1edcadab881374a3a79980e57507e94a0513410a32fbffc6827339772bdfcf21b998b1ff65772fc25f1db03079310a115260d5d48669c8218f6669a9515f272c7ad9007c24b7090d62ccda53b621b8d783e7ba869f5532ec5dff02370496c1cdb0f4aa3fa54720468bca1ab61fad9d9ac60ee8762a3790332b471974f49ed678652808145993f86428a95465bae3dddcf1e51a42775fbb80283e2069b765145b3252dfa3f147210c8aeb5cbc12589d73fa3cfe6d1905f34da8e05a3b42089cc143737cbcf0f726060669160a9b620ab33b0b53cfa0368df6f9b151707ff9255bb97c733ecc9727e9210611664b753016c2510aceb460625d178e74199bb8e5de08652eaab045a17c8fe785a50f57b0e9321700e3980f1e25d20cc4c49b96f1bc3a4a3a359e272b21f07474cb6ffbeb039b70c73e5595e52668b4a71c6a128961034a60497f20fdfa6c6b2a6e2bda725d39d5183d86c189e8b743174ada172ff6f07e283b04534862b88b5d6fa97e7d295e0b8788f7e3d7d18ce9f20463d252a8fe9a9699b84726d8a4f46db945454a670db44b365204fcbad73e646ddd48347e06766a103cd727b901876723afbbd05d43c9bf63489828069f45a39e7a9cf4c8b58787efdcd720e84215f3f2ffd7dc1bd9ef53f1eaecf188cac857e59f8ca3b538a3faea7164da1f5543f7065a5271174cdb9fed9f568918ea1109999b2c51b87dc544dacd22bc68412ff1279d9ea7f3d8480dd5141e304d3c42badb611e11d8fe6d84cea9e721738cf26c7a454efb07f6a5addd841d1d6ee43af45e2f434cbbb261667f70172e946857a69d79a21c4dd3d5e13a33e686ddcd8d99a1b8d05a2027df2dfb4a50f906d2ded80e658cf937b0e92842ee75001638d8dae3cb1a2ff1c1af62f39e672fb20660f584f6e0e0be0e2338dfb57b568193f039d2a7c997b8b2e4ceef0d57237004744a6bfb035837290b6432b675da8f7f4c8f4e10359197f192b43685a727e8925e6397ab2a271ed173502b9007a9c3196e6042f7f436d9fcd7127b67572848b7afe1f2ba5849620e29a59e4d2c27490b9f210b7ea5f0b89786a433c3772c8c90d0dae5c1fc6b9fe79dd7d8d100de9f0eccdd30338c160fd123884723428682c1fab71584491b17c2db267fd2a7345ee67655aabd2f7f69a14a606765772ee2951a0d5b35e3b561a0cc7c6f84461b0d1baa3b6b7634d585393ab5e12604604bf610224846c24612adce0c1b1c8d524c3d8d560da4e076ef7a6d6c0633f72c04bb156759c532f62dbd30231609402e9c68f7218b77196c2c97caf893e6972b5f5312fb1fcf5de036c0743338ed219f8ea080030ef5e836346f11ac7d63d7239af933564e88e3ce30b92498e8bca97e67d8483d7ad36f6c432d536854a697247976ed387a52006b64ab2b9a9fd702e3aa77f56b1bcf4f647dc59cac4bf457203ce855eadbe5bfe09050a779ffde16873d8a4d907e357bbb3a6ee48b0bb697200b3d35bd94c26d664f8648f65ac9e5df9c9062ea73e374e10019385ba434e72b02d94c3c89d0e18b80bfcfeb7b06a3ce368b8e30df648818760abb38a7ab8726e508091f6bd3420b812ec1106345b87877f60eab8d86f3e55c88ce92862e540bc351fb2d83fec8b51aeebf5bf4d61838dffdf2a6b0c2381b74ac478d29c56525c4ec466856bb939a3bb6b334f4b5324aeb23c86b3a5fbbdce1e23d223389c50fb93307df8226b30a88e22e3f8cce83f3a55416bbef7f496ea6c81fe5aa6fa726551a6713f2e5a4d06d7d1a8a8a5b8d585981587c8b49e540f2757bec084017274c63d8f56bd5d399c099dc3194053d7afe5637d9feecd8fc0d15bbcad21230ce8f3c9726971d8272f442e8a2244a247d83c5db20c6ec4da60f5bf1606049c72273fceaa714eb238e557d7154593fec1e84ca1ad8ce40dbe9d04e9662eca70720dbc8ba5c3fe055badf3c4167000f45ed46e0153afdc8cc89357e6d2bcec2e69d8afd42fd02c4f8030a95579afcf22ec6c1a124b4ac207cfdabd98c4861e9372f5ef4b0839aa25ce81f3c188614c907b94d6e2a7dc687d016b9a733d88dd8a72038b046bb5c7f4d37ef494072fc6530c51bed8fc6f152c705a36994ccb69be72e82abfad2e5ab94a4032082a24380d384de19c3d748193b55f07a147ffc10053223508dc9ef9bf69edadf308b8627260ad21fc429c43e1cac0a7836d0176577251a774aee56d6d9cd096aa83c606bbc5ed6efab2ed283fc47688298ba410c972c7c80317610afb2f7cd47b9c366992789bd9b74fee7502244d06158ff2f44c19c6aa42fe11d3353967b8f9f1a99c04e6e1233d4c16cade9d57edf9b12cf96b72dce582cc8cbd310c36342864ac260e794b7294cd301505629c27283a00760b72cda0d591e69cf55271ca1c5106375db24426b3b77d382e06b55719e2c4422f054cb170f01fde17e0f85c8b54881aa5a73fd409fc53091cfe778c1c3726a5f44971c8cdb2efaafc4b9c1dab887bc67cc7289c2b5b13eb94085a2fdaf381597a4ec49c42ba91bb63d51fa462ef5da7ab3a0a3ff64c96b3dd0c21c8ae9c5829423e380cf5e236c0c1435b8805e576fed02fdecae6bd78dde29582a7fa945b19ba7296793a2637801bf64b5f9e2015d846e8aa9618f0850be1df00720b3c054f1372a215764b16167e93faa589bffbc0c98b840ccab5f834653bf560d22897c0c205b0f9496edc7f3b9929c93c859cb1d94f8b3afec9e49d135ce0bacd01df1b765a191cfdaa8cce7c847229574b8340bd5e08c08fa1c6e453040e600f6b8c0244180e7bc3b934a7ffc076fb0ff7847c6c0545e8a297f622f15ec6228c74fd817e1b71a125218d945c57aa6378428192d3bb2b41c22eea024b909aca6aa3a3e4161fcab1f658ecad2b301bde6f458cf8804d66f0012fc13a34e533d66cd75b2b692ff576a48cb68f8c643e87fb5db2562c5bfc2feb89ca51a6be2d0296fb27ad6c60580f05ce145cabcf3d85a4aebbfb20908f5ae09bf3ea5f870c6877e4fefbda7252b53e3a43e4978de8a466dc2316598189be2f6a29c748db3636902b5c43d54ea0696b097745d066181e1fd280100b954e96d89cf84b545b2038b853380484723255d9fbd4080621d632440f2273326eb42e72df2df1223d5b5d3b996c25dc3b9b2555324828e4a0572e7fe859bddc3a15f311851a4f1f5a941046941eb2975999f5b28c26e31e8ee16cd86b62b64e05a5e0a425e194a73a8463203f63647972349c8a4c2f39344ab2d40a1cf4de336b4f16046752d20e1ca96f77dbcc3edd72d541f657a30cdc60dd40513a5346d78c438fa381806dd583dbeaddc604dcc07206283566124a4adc1feba268c68b9c82bdd24bd0de6876a99c4ddc7170bda416bf1f4c197f8e10b0be89969deb765ee659a2ff26740f258437dcbc710aab957258426feb618f55003c2668f5e25afdd85d2998a5acb56333534adf1ed665157208149ac6c8a8142c52494d9faa0fc937101ed79516eeef0cd23d445146b77862e865c0f9cdc8cdaaab435e430c76b90f27fee48f6afdb7f8c6489dcc70cf8672fa9f85e32c9d7557d74b672c6125ae2ac2e6fa0174fcfe149a334078e35c3572897f6edd5b9f9217cc2f8c90360343b6878b04683e7cf9aa0ae44cb6784ede61882ba89a9495c4eb370d1174ea18292046b15f1ba124baa35dffbefa75f7dc7234ea72ff48da95e4ffb389c90cfc97fc16c2fdf0ee9eec5cf3790d3536afe922d724c59cb76f30c2b06653ee2e7e7b44968a029702f784dbbe39ce1b58f664724289d449247a8f4b828234327d4530acc61b9e76d8d40d6eced7337d8e7a7f4d50433fe553c213b49f4d44f3c9a3ae526ce5442966ca03cd50bcdb636c205014acafad449ac3674373906e3caebe45394b91678cd04431c1453420e3e49c766babe397677c7849fcb76de9be218355c4f56a7dfab1eacb4a68253eca09554d3181d71f19fc7ebcb73b86a847659f3b544835c2024b78bfbdbaa4914ca2ab1618fd818ba54dbac85a7399fc189b3021e6f9e2c3194674ac8c4d0c21fb0df5ab466f783caebf518e6b4fdf1bda434f6201590ae7bb048e1be63fe09d5f2c25380f28d5017f901d1ed2e44d627aef2b7d77857c43ef40f82043bea6af063f109047886b5c183534e25c99f92c6448d32653241586ff948183dc4ce09bfa83a2531a93dca3291042e8cc2d8bb15544183b9028f7eec39a6b28149d23bff5a35749723d759dff48de9cec1a1f47f225e8beaff86f3601b7c7d563e7cf932be7e8e92f3e1645f747a96f2c68ae4bd9eda44ade584b76c9b72e442a3786cff82d281572c29348bc2b4c0b89a11ff5c828e47b098bbf0cdbe78fb79ec77eaca5019bbb72a2ca5251a542e051a2594e945827d29c2c79a989ab72ce7c2704cb72957047722f1b34362b9ce6f1b0d356fa250c58dc14ff6cff52b039b5b8fa31cbf3e31b726a4d8a19a1ff8f4df7bf09b3cca3fd2381dae142f36532582ef24819a5ed6f1c6d03e76a23954b1f3d3dd03242e4a36409e5d760c2f2a58feb4f8f196918e22ec87a7459d323a1f34aa72cb8f61e4ed43c1189c629d019079f374b90d0409c726e719bdaf65c22cf2bd9b07b8ebce8b09cd494a3538c08542afd94624f84f9727d0a9bf7c096bd336865ff83f3d981597a4cef4c11800a58398e3693bf9c7372f0b986a5169ac0527584e35b6f2b117a0ec62db1132f97e42e5d8be5a8dfe72e11aff8f4b1b800f625067380a9e88278388a24f9a1e41f1644174b30debe0a10f5400820720be388813282edbb8ff6260d6d86f05a370d25512e8984cdbc5a117df350be6f86f97114bcc9f91b9ef0d1b7d4c269b534ea2cf5253eb4975fc372e50d8eaf85860a277a1c8a22deb7ddc3ece2818aecb747c1da1c1cd79c7e5319e01932f2b4a5a766d25bc55a6bc96ea1cf5c54d8e45fe1f3c760f2fcbeec8372eb8acb70c86c2af1b91be4ebbc3475ad9395e42e2c24f2a596c957fc3ca8c472628d489d88cdf262fd4c481b94ccf47050a390b01e4d02906686f1633fc3fa72e8733f64163454405069adae283e1eca54e9fa624842b29cee0b53f8e271563a1d6aeb77ae8378dd1cfae92d600980e1cc59cefc875994912e557d14c7d468070c93ab90ad75b3424f722eaf8cf926695e57a50ba026c23c27dc1b0fe66e4672d16862e4c5f6035573a63e4607dfc28979affaa3411aab9ff69a36746017cf727f1db1f0a2a6c91447ddc0d954f39a93a5de16a326914e648912f3b889505172c6af6bf8add873ae83442a4774c0133252aaab8b3da82ccd3c171ebae99ae61fdcffb296679ed2185a0da1f91b9e6145d8700dc67c76a446232cb5391c03512844c73613caf7111a4f93bcc26e67a298ee61bd5ce794a3980d4e5f334d860160d2a5d7325cc5eb32c30efc9a7acc232f5f9121efb4f88144055b16b67f0b1472c4178c4a8c9a81b19e8b1a44309872101fb06ff137ba241cf4de1a8b6f30192c6a4d2cf678a4f7b44de3b4c951d6a2f3e2103d26d74cf8490ea6c1e8a451a63aaee8506b5b3adb1f09419345dbb3a234838a581c894239feca75cc6424508e727a339c2d39207a862e2660e46e6ff479a114514c5b4cad5d70d9a5cb7bc5615ab3e67157f0aa7d305c09814424db0466a8c6666bf8e677a66a55bb292d077f724c5d5cd923e9f8570e35669278973ec357af81a5e55ada055a1eb825d814406319fcb64b5f32ef488ced207ba5a9c01b454e97931a3af20b66d3ff65d112b072ebd0c31588a7ce9265ad8ff1d0acfcd72c4e0c9dead9822c9bb309feafca2d720fc84f8e8b9d6c02f33d23bd19a0eaced178140eefc8a44169e8334b331a807205644e8a22bcd5be3d5bf0562152e1342cc8e752ac47fd2322fe17c1d16f2072642c894fbc046cced755614a9a11023cc8bf844f80506ed4c312065d8742725012b46271184c0c93e3545aaf915dced087326642971a684d4071d017dd0bb4727de6ea25240a667f52187aa4937893bb06e7023afd9bd64ec2a4758b742bad4bfa8ebfb3493b8552d1709dd5df5454ae9a180a91990f5a996c226a650aa63e72068cb21d266c4f40a035e1a275dd7203e9ca89a4897b60424a2eda322d57a5721d3c41a2b670bad22d9160ccd76a2ce22641cce570755214150840e1926e2e162c1eabd27c2f27d320cf48b33f26c2d0e19c5a6d70841b03f119c34dd4c10c728a5c9ce98b37f9e1b9c7ae42ab9759df743e301e06f891fe437070957dda2472691a00485d984f8887ed80d76d6fe3c1d71b413718870eb6fd89f72caf68ec72725647feaee52fa905a1fd5adb4fb417f8f3cadb26553a85b35d296e20c1697231f5789381c906167d89406818b90f3179ec486ae83a8b131e5e7a679a6e3d72bf3e0fc61b4c218650c69cdcd4ff225369e5476ea50a08748379eabc5518705604bd48646fe962b965880c2e5e78fa20c6af0cb62f5727bfbdded28e403bbe68f15dc0810445faf0b5d93a3d58190c683fe957bd9590446b63c088d20c0fe8720f774ea0db2e9cc76a68b86a97de04a574883a951b522f22a94124d33990967233bb0cf51ef94f9a935b71519392b21789a8c4bc2df1912cea8730a240b43f72a6a4f17f28f504adf2befcf9c1d7640e1fce606c28cfb7a5e81f651198373a72b7ca751c74bcb8a541264af689c94174862f97273e9947b6bfab935540f97772907efbf2dafbf05573b63fc14a355c1b944ac434fdb84482322f3469aeffec72f2395ae174fdfff9eb5c55acf32a475b692443686cdc5529abcd8c159fe44b729354bff820cd6271361c99a9b05bf625e14338bbe31ed460fb279692f0327d091df82b3148cd525b37ea9c4ac8b24ab19e77cf5c32b046d29fce133f8b6c5072cd001aae8bf9cc45cb8667198d74cec5cc190e567b5ae60e392d8f46b351ac729a3a63405132a5675fb505f2ab4215dc0885ccf050e4096217986699b8a7792644e70ed50f8e4097d2622eade50c0e6a81ad3438b70301f3359d873f169091302d9c90471f3f1255524a99c8a359dc871132573533903c43fddd0f5c6dfed272ed6bc6ff71367b649e9e998eafbf94527e18755f8fc38b54c4de94f7e7dc1372cf99c2d7b723cb10ed87b8f82bfc59aed82232af228acb90099ea2014c260e724c4470458ffe667dea7be13617a00bd8909912dafce88dd876814c0f86820f72caba1a5b7cdef923a5df5424ccfd11e364eb11545ef0295609ef945c7ffd4343f06f285545d8dd63bb1521d6210df864e01d0d7ca874bcd0f8fd9d22b4acff724c558d17966bd98224345d3d1eb8194d0303b787979ba1cc3dbb1138b0b4c36bea6cf5550b59dccda990a29c98432f92376dad2947c2698f18f194192a2e3672d49f9c72ab267ebade542a9bfcb0b4a926887cbd5287de3f240ccc76d4a7b672c8b57da84fa394c50a99f65958f4043b7e038b0d400ff4c363fa858e8c605705cdcc70736c16d747539833e8c82087083b06b70e08ee6b2eef2327e9d598c4135d30941117b20b3b69aab3e26dbc8d0192b6bc55ba90dfeb8acf4380e96f944a41094a11a9d8d1accd0768c0f91bde19699563d98ed4de518dd6e017d14fa95ee8b0017fca281b75e26b1d1f6ce434b6478df5231cca8db535d6a6146abb545c946775d5e357e55ff0a81977318e7bac6973f5fbe518f7b7f593191c2f72b0728e64de7ad65e82db570f889c248dedaecf13b1be5470ca6d0b177d3fa3d57107f1d3e1dc34292e2cc4e932b36f4d5a4317e39aff65b166a754ff62455ea2c5722f1a2380cbd7aed7b96f7d7a456fc712b54f2c9d73b5c1dbb3ab9c5424bbc22544c7c597e132ad1f2c01867a3c46146850df1386cfd6a9790694ddae0c572b72641050a3c65be20d1145354b295188b8c4ccc4e89816332ead09aafae6239a722a107764eac3605ae892a50076aa6396882e1cdb8d4a3e6dda5acefe7615a672ff63a240afafb27da83f0864d3d84151815bceab4fc2931d4b491b5ef3c6ab72414ff8ead8907f62dd45cf236c74c527daeb369f73ba8ef4299363a9b918f672c575466482e493b14aa5fa9d095aa9b4bdd5ca772284d5064a05c765d053d772778300be3179636fa53e66742233ff80b9e74eb70000411a1e8f237e84b56e724c0ea712d768c3e8ef2a6ac533f0c9ead00f22aa91ee39f1d89a27bbbea3ed44f6ba0aa5325cd3a18eedb4b1e671e8e34bf2a3cade43a05d3899ceb22af79872eb348217d8ab6718e0dde20ffe37546135045faa37f2c39a375655e01ca80d3d9cbac22e003e2932c6427a1e603658d5b95f5958216ccc94e7a72beb9da4a43a5f36505b3e3713ca162260d5dcb0cc81d563804f34aa2a62b3597055a349cf2e63c41d481b29dc46bb1bd824a214f8a9666d9f26ad39b4043988b6827780117278072ce11e196a4f3eaf900971c4a5870f3fc90944f44797ca3662096bf72d72cf8647cc86757e599e6a7be45541a7fe5996e1e987a72fa18afab16741819772eec5f28a72d7406fd456e6f299ee69dffca5b766cffa6271c087539cc3f72d7248748cfbb1961cbbfef5a5f36e870504c2849605d02780c10b6301efd1fae872222dfc3a5f810f33562f478ed2402fd37476c7ffbc6da32fdbdb78dd8de3a572047c752791181295bdb8c3b88b15b04f37fb0201d4c93ee5dd05db5328ffd17272a8a49c96a6d16f6ccd373410d83e4df95b6b37c67d924f5353145c0594c57200accb2071cdaecf996b5b3577e1768fa3a62848a6d86b9fcf5c5e41b495ba47eb9e72a5789f2f2869c268d3f4923fa2abeb23ee6c5d3ea298b1eb66ce01c540c0473d6b31849279bc101f00d70a226ac3c2bdcd3ec8dae5a1cc54f3daf1fc729038a21deafdd3f4b99c64382caac839212fda5cd959b3a647869db3b72bfa72133a281a64ffa150a7adb5653b4d02b0c11b5046aa1cb08d54d90aaa564a2307fb64feaf0d3497bdcf4f697be37f85f92302617466448a71791d8981f1eb3167840172bd35e21734b945153e61d5f4342a442356763fd36afdefff5c1464b6720b27dd928e8625f213fd100200e1d37cf0bec1b112953be5cc574eeb93e3c972df6324474b8256ac3ddb3785355f50b4b8bf5ae1f826c59d6e1a8df498c951726a1c2a16b465a865c8efd34afb0673b9769fe58cae7c934963248fd8e34c9b42730ae3ee9db4fde4b42d190bdc031c704bac130e99ac5be7d95e81c19016d956553d7773567ba58aad358abdf4131d465e7f003486feadb908d2e3ee18e912727aaa93bbcf20a952a8474a9948b9da16ef78401488ea011298102eff29753f20af5ab0d1d4f6dbff4bbcb79897e591862c9c4678ae74ddb7b0827761e0544b722a645a14cb6e45c54f08669e17dcb897fe490a876b86f843b7dc3398b3ec0645698165214adf6ca62728416827fb0a7377d4ef6e1d74f463858d23946a123072e9d2558b7e56ea45aecd87f75b4daeb1f9f1cf3b86d08f40242fffc637b61c725dbaf8ed7019951d89705431b87ff9025aa46634db6e6c0aa4c13c841f40623849bfefcff8a604b8268662edb22db9759dec7ea901294dfadc167aa0c5020c0be68501bc1876d794ba542c9f4aa607c77c0b0fd5676857d856a9407b1444ca721bc60ec75ba7a073026b3eb9e1df7a6f3387af1e79978aaac51d1d0f2c8dda72dec36e20f2609a17525afd1cac00475c776da6b33a158a2358091a1c11c07172bb2263c60050e711e2ca7974696ee2adb502f5a8f1737974d4ea673cbf8421720f1d22f6aa10041dbc87291f1fa7a81a8acb16488434da893b1424e424584772df17cc45ffb8625fada23d24e0d560ffc977b588516ac5da8013e2bf3787e855e2deeff2ccce459e06d91d2636632d9254c34de2b21bfcaf70fa22423a802b720af98a6ed4235d7bdb28bd9e2f76f1a7ccd087234b7b7d8ba68075f2e3e2de725690e1fe6d0391e1330fc2c1d2e5d806c8e50ac2629f3b284ffbbc708656a372af82dbec6678b1b7d21ec20ca466fa454c41f9ece87c25c9ee4831860fcdf07066b707862d6b4155ca17f64af5ddbc0d5decb21bacebfad34bccb8af213050516086c1fb097d4e9af5a33f70a64078f034b939dfbca88475342385e49f39e772039206d9c02470bcd7cd3b40db13afdb17f3ba0abab4a604e5f6f689d0cb234103c5064bb7da588cea362e24eef8b3dce39a6b0f2a1bd8f8ff995c98e38fac7234240ce069db4cecb20afe99e432e237b1ed2556969a45007ad56179ca53a66920da59f191276248403e08aa16eece8d8209a1a7c30eefa338417d60b45f602a994bdb2d52b98a4298e50bc59bc7d4b336eabdb78b58bc8f77b33782074fbf72eea4823906a915245ba227ce21050c43de9cd1e5d7052671ce9c656c170ef672c4953ee5c8bd94c5b6d611d2430124768a08682f9e982e1ec9c9c78bef1e345db443387deb0b04afeefb54fd6c29edb5fbb9eefd29cc807a2ba7ee799a29062a340b8fe8222ae4b05f5b259d3a525c6ac237b079836cd091ff18a043bb63c472ba0b54ac017c6c1c2746b01e9a8f9dfb1e059bf6111e6f6cb3938b6af24a28620451d4d1279555183f01430ae5b4cf2a08f68888b9a4fe31c903ab28940c582285516c9c0328442932f33cce5f7059751f994a65fe473bc90b71ea034503fe648e2aced5c6086c148dd32e202e703759608f3c70e117a1292bc1d97d8005395934b1c7e6e66b8696cda702a0c4d333b9ecdeafcc589567b02f38add161d98d72f0b4beebc84c2abf608b4949e302932c26cdce0e6571b247dd2e9a3b34c5ff08e540da47d3fd0f40247376abc6f942b1fa8c2f8caebacfdaa9b870d25a482c1da2b17e866b1c0ecfea6b84dd0b2dddaf852af66a0ad64884d9495eca112e97722db003551b61c47c3a773209ac8458b407cb3584a92abc8fe50e147543c33972a6f8d80f0c4063af6075e6f91d05cbe5e41a13269b49917beefda95f9f1d4272675e29ca9b47a3b8994c28a9dfa3e25fec4fa8442ed771d87946fecf6edcc5727285aee856e661341a4a5b87624df5ea2519acb7e2182dd16872756562aba75f05397a64ad1fb1ccbcef5a630eda35e93e2fc4ab5e730cef95bd86cf851a9072da00c15dd2f47738d2359b825e8f1a1c430b24110645412a6b72189f4f539610431a2d0ec5dc62bdc8dcd3bb4f71511de0383e55240c5d754fae239a98e0997245f7eb033f7cfd0ebd3cf854844826fe6e281a90e219865426d0c4749d12193277becda3cebe9c144ceffd4e3767346e3999bb00d693ff198cca2943a8f912723083e5f5cadca84da54580971f1218550676b1c96cf3f203113167b59f721672a456721b43edd56a72ab19f6df780b3d49faf1ba1b9ca9d6be295215f46d0466ad1aef96688febf42436e3c554d75b146259b26a066860fc1a0f9769bba212723f7686517a8be3337ae2f62e272adb74dc7c4a30fbee23c749c5b79ffebcdf72623e41b9ef3222791634e89feebc55f06c4f9f143b9fb26ccd98314412014a7216966554cc39865bc26f1ac037419f505e2dca216a4bb4f12f27ede3b19919570a11c96a06941e1ceee07e746eb2f71dd8c8085973d6412ea814538de59ec92bcd71572f85b5faf3caefac89227ff8a3d9070527318c0d72855ba59ca627e072502288e8ed4ca940e15293417b314834fc27e14054a73abf5f3c89362cec037229135aba9e1a39a7c2fa14d52144f117768d8c81811d62cd6aaa52e1ad8c225d7f205cdff17d48ef7d0936156ed200f4f5e522597eda373c77261c80a2391072f7f9f2215a46eca16dca439cb4d34faf3766683e7e074b61e7c44ffc05f31972bae706278e2101891c24945d0eb26a8acb7762ce0ccf3e5ccb0aeb3df3ea3b198afc1d3305230391ecb90c582604857c50c747a8c91adfec3df0ff80b9112372d64bdc24d661cc7b1e725155d0ae21ac6a0a8c87bd9bc9cb98284668dbcd3c72cec9d2aead529ff853f17d87029b824c8b22792518c825536b74e94c28b5e9021973426570345ecbc6afaeb2711edef2584c80c3f42164ea9e021f8cb442f42b3a24a51f01381da8ca7f83aef4cbbe14219a63c62c3b5080ad68a860db337c72b5724cb3d600867fade08b257e57528c14366e9c494668a138da899c86c675668b2fc2bd3e6a3d5c4630d10a519fcb9cb68405e1b4b063a58c0af36793663972ef084d41bb8388bfe41688fa5f7eea756e31d956ead50afe83c5b37e479bcc72dce4e029e4c4d9eeaf99f21fdb859d8c24381cedaddbafcb26ede34f7707d021818c7bf81cb778cb263f55290a0218c75261df81ae1d657042c3bc643700d3722284cdf8781c65618834fa5cc541c57888df2933af88e904bf69c5e7de436b72defcb44ee5f24f1105514c01c61b2b8c20b5126a3e77971764164caa33fd116fb492235491bc17da3270a6efbd14aaffa4b715988d7dc88b41632771d1ef5e72831557ea3572cf80975f850c580dedcc449bc1b07c4fda8898f25390fe174743731a3ed8b8dcc311f4e653af80afa7a079191105b10d3935acff4006d9b7ae1ddaae35dd1a10c673574a07773e3b9477ce3d81460c969e9d9bb706cc59967c7288af8117bf484b3eb2c742f2489d9a9d7292d3638d96c4aa565d4c84164cb051054e709926690d9fe1e2fc85dc3effa68adcbab35f09f7a120ce125b7691d7728d1897880eb67f34c0470c199d10da171597b2b7a073d10ab58d3dc47a57051823b620e716cf292914f9083767a2b1f7efdba044f16aa9fe95a06518fc78c347221b814cd35ce9f5899032294faf1523b4721ea348a934e90f1038053b061872032a5da8b507215806807b4e68d8d258365960ce98071290fb18eeae95650a725d3c1f995a952b4de9a7a8e7c39f00509c09ca67501de1075e9d9b1cef73570fcafe9ed32ed05b616cbc3735d627b9312a057858ce38bc1bcbc00e4555170b6d6065535d86cfa1c7dc05b69e33827530607d7d3cd341cd268319f25074f0fb72c1c17d04c37f141c5de965ff6ae296612ce4bcdbb2e9099e430b6c7b006a5e727d2f276939b93fe661eacc507ecbd7f170e6540a92f8430f899ccb4ec57ef4723dd57ec3993b844464eb816823cbf75787632b84145c18bc253d7052b6228e722143a2f1e2da33d554691fc49f26bc7d86b9ad4bd3b87d6a155403f952a8d6724a30732d5f166008ea89c0b4743263bd6ac16b19fc649593eb464744335f5572d0fcdaf85324b33522817facff5d9bccbb0e0857aee206785d5cd342cbaf9572da37b834ef81824cb82a1fc517026b669ebece0fbc1a0e47d774e4de5b16ad727120d0736e1c5e1ec7286f0469bf3f521a2c8b9fb6dbeafd8530389bcce753723e19b22f61af02b69f3c49dc4e4462f1fe3e11ff593ce51a0c9fd90dd0123c079e47ca0d0efb8982b4e79332e9c989ef062b00699da8074c66fc7651085e4863f61b59c391e5090e3ebffd67e778a93576e3db2e00edd710aacb2aed96cf0e6a7cccf0805521cfec2c401e15d7863fc235411b4aec9d58fe706491daeb425c5af45edb832f11128b70f654e2c59d1ca2e772ef8049e912da0dabf1c092db4a727a4bf3b894a1323eec4ed20454da6562d8e8f7ae72dedf41bd4ffeeed96e0e01f6b8c275845b44224f0976fb2a70d0380efdaef09bfa0c6fe27faca6d09c3267ef57492149e7e11ce12e25675633d6e1eb6f6cca8e85be6809d18ae4aa3ef6729a36295be5740285a07e2c2b71e7abccafba84f86604e3238cbabcaad66144720d33f0f1ff3353cbe521c86594ee35a21473283ff115807bf7a284263eaf5e15360ab34ecc03e8bd625ddb50014e7caa37582b69bc2d70afd18252161d47f472bb1c0f8478e1c3f79cafa86f77449f8c4bc936ec999aae2b08832a1a79c47672af06bc79591ee6e50d27b01210988c1bf23eb9426baaf517281812c702045346bbbfe0deaee78a6439857ee08a752b5907ae0b7f7d9bc08a330d613d933ae7645840a6e4399590f189e817e84b9a9bbc3dcd8413e62c7c8ac89cfcc5a0b2b372d1e29fa5367f6149adfeaad1a38cedac6c3286a90fef6349e87b5df4d90103724b9a727b85d07f0053f1648785d08417d954dc9f3fbecbcd0181c27a3f58d2720c4e7c0d017ab9fac0634f0aaf115f17ee5bead39b6630ed2cf0090230ee2072d7cae0dc1f36e42dc23664d46e35ff87746bdb9fc4e29d65677e29f051f06c72bcc86292e5aa8026ab878b82941d4e43921fd75206ecad01ad79bb1dda6aa57290e95a9d9810febb6a2e9846e194f60bd124d2fa05a39cb5506a09ab4755087234fe2d372da3dc02c149658a61fcd680e35dbdb14069deb015be3656016cc7729e81bda48ec5bcd319301e57df9ef673e5d416d534ab49a650789f3db6596a7277a7a3c3cb8efdee6d7967316517886771060fa10b1a76d5ea50c24388299572fa8c85e0c37998c2020ca6424d1b8d2d2ae1fe07b56acf5ae2f959c0f8422f0b9d0c846012fdb2617705f2b41ee700645286c53b83e4993cea958133647af95a7c120a7c6b873138645e46346cecc2ac233daabc1e1c47279e76d622b7411a723af54aaa96900c8ac766590059bd22dc6d996d5ce20e60a4fc633b998d760b157e7d73c2e05a49daffe6a06df57970471a55a22feef3381b31bb6a47bcd9387239141aca1545ccafeea238f240b52f0cd0d8f36cf7bdee70f9fd35590fc25272bd20c6edfc129b72705c9ba475061145a09e07b39f5801df6b13f973e0d03e720e78df95b934088ed0cef2d0726c217e8d1438c30f3bea486453224c100dc848fc14d46e590aa1510713a321712eb716fd27d9c39214d3e80aa73302bed577726dfb89652dadc67e4491189bd2f60f8d6c144648f4ee5e5748a71e16f895797294e10c4e43e1563465b15878d3028a358f8b999e506a8772885596219cd58b7296366f7348ff8125bea54a1ef1f28f15ad30e21c2e6c1f9d54f769a697e4d372d00bee5bab684974a0cc39f607fd0b6f3deea911d2ecf5f6fb168ae0d0142461650e0d27dc7cebd6a490238f0e8aaf99b455036bf77e91de7d8a88811142597299615d833667f691ecf6c0dfd80afd7e880b3a38d4453337d7c6c09ac62cb672a4f00bfa2d99f90319b4f87ea73b87b8e8234da3eb7a816706d845e4af34f272963fd020933ecf33dc477e5e404e24e090afef0e0c5b3cf675dea2cd258b5572b939e0522a07883c1ac720bc5294442852c3540ca8500995ca19a4b8729b3f5405f0a28b04f3a0316e70d7b86ff67d299ed6f17121a93388b2c39dc7b9e0a30d3ba504743646c0702c66c48c4a0ee132d5887cf971f3f6cf7800ca8cee5c087209551376b00b7ea6125a25fdf15927c4066729966960553f5e97c09e5f58a7724f0c796d29d032764668c483d799170cba7be3d80bcd0afc8b6b101c7f919b72450f8b7484e5bfe8c4dd2417b88de221fe9ee04c0bac334568d113d5b9122472a551aa79a980ef3f656ce80bcb74611b970bad0f742f1c9fc8dae2be4ad1d97200e7d14819776e0e6e7ebf2c7901af94d722006d2c4b117305de24140b1f8972b812332049e71534195d91d2428710a687dd004deb941cb5d9a92e1e588e4372afe2a217c827d44dcf9ea9a40fc8cc33cb2b6139fe465dd1915ba3ebb388d641ee227d969e2da4da1970184be74809671d8d53d8c7f69d5a0a588dfc90e2087230b8bb3e5b2ea4461fd62b1900c0be2a8b6021a7d2e25def67704bb421cfd06eb3fc87ef28bce4e92dfba02abcab8e4812e89f2ad86eb16662e44964e43b7262458a316c897636a4a13ebb7e21874bbe4295cbb6221232db4f32287f44c3d40baa3787c67f5033f00c410836b747759183edaf636572bfeb56268911295c877248c6ef00cdd3491717243496ee6ac07989179ef8ddffba618619f7917dda923734260fdf52422a4a833756128a92c2634452c68ececb856618b5ce8d57ff9672797064f81d65407057ef1f9edd3c4efd065da151764a387bcaf04ebeb0d77772ef35dc5b48a84f50199fc88adec474e1a7863a7a2e7d391f186ab330a4aed9722dc7ed15d66966d2a53fb3213c0eaa2aa4f8539c83a7b5978485acff79a1ee72f65de0cb4a9445fcb93c0c1cbc7483ec721c48f2bde00383a259c1f192f114433bbe6dcf17f6cfa638dc175aef50998dab11de67d4996ea7a08e8106fa657411f7b6f1e293c9fa1f75687c0ab5d34de78fada966aa7a9f3463e539eb9aded2726261111586e0a6ad6afc80fe09fba20f4e5015d65e78b82ec22c1b6fba1148722f9277e881281deaba5fc74a5166663b81c3213407ee6c2a226f09cb3d094b64a997d45b166aa389d9a5e8bfd337a22f0057e4d3b6698164b467b79e14974e72a5c932f8faa72a28ed545839842a48352afdab0af9ff034fb10db8853046f872846009c3c3efb969902c7a3fcd2fabfb8c37a56a074116d6524c8e6b1a01ac36ee8f89dc0c02c00d6a08908b853380bc2f6b5e7804c7c9452a9f3c84fcbb405bf7207fbc3521566443461292e6b3e12c87cca294cedbc0361d9cb14187d6b47289eea488bbd83e428f5d9e28fa394df87f89757670db9d1f2cf573a6cf4cdc72166c17108aadbe22a8658dad3e93264f513ea812d1f1b1350574e2975aecd8319366d1622c51d2055cc284189d8404c55e6031b87b21dbbebf7793c5dc815d22dc95f2dc5b09e2237a703e6a89fe016e17495adb603f43a7bbab8e1599985d1a7157d03ec736751c365ed547b08b1bd5621014ca75a664853d0f8f3e08391972d1ca8278a7fe416e95baff20f6ddd1ba812ed9427506d0c3fed6988bae163309d75907c43faad560b353159c0f6418dd432d0c119c70e46240437d781e6e9d72b0fe2840e839199daa7dca5fd8129656d2f9343b4e1937bac61c24183e221126a806266a2c6de1c389e9e4b940a2990e93b331eea4e55a2b1efa09786330f438fdde09cb8210ee07cca69a45876bed220b607f492ee10f7c71208f3cc9af5029530ec25031056372a28a0346b2270dcd17edeaaadaa6112f2225953e45f5781354468047d2c3b79103051c86637f570e8016e0dd7dc7d2cb577725429d010d721a1640a7d807dfcdb4008dc0c7c4ab0fe292689b0562bd9ad8913e112611e772dad8f4a83519d91912d6462961191e31ebf9ae9b343e44d41db450bb7e37d2729545372f0f558c7487bc900fbe223593118a8a51ed53e40a014c784181b2c0443c207c5b62b83bc236f96540dec0a383a5ed3c42c1d9ec01ba45f58a2faa9d723cc51e756834944805f0520681c14d9c94b8c66474c4f010c2f1f30b59533d7293fa40b63a2b77732256083a7da4c28f12fe24bebb80243f739b7e9a0480e03e5ecd05fc19e14271f9087b949292dc660d3161ae5555e576a0f2f40570cfa172d306af932bae4b202e5d5de30381083a0cf3c3b68c83f8a05451528a92891915a57590c36c625add55772060dd4834d96b8881cecf62b1652e410c38cd086a72fba71c356f6be5881c5257d2339972a0ae4808a0bbe862386f2d4b12671bde38f9b680217dc97d9e05d3ee097c3ebe35cd71e1c47d5cb1041e7352449435245db2c6cacad01ce78d51a4a5503c6d2759c8a8f2f013f12635af6aa2c0df50bc21aec2fabdfaefbe9a4ad1299b7ecf27c8ecb1472e6651ad365826d3a80736ff721bb8b0bca09644c969e819dea34bba6936a6175617e0229007d05c51ad5cb81c8182d1c656256e810859c23ef3ee3340bd5fc01255bd09aecb3c6ce06a9d27729d85d34fd691f6bd18ab9f1d5b011e75752e9b5dba4f3487a6546e3e306f125a941c02fc87c75105fd10625b5ac8701ca479ccd1ab512af709f5a8f22a5b6d725d25f11ca7e03cf0c5396f3651de652cd7b6566875245577cd6714f08f39e272a2c79acd5a3ee9c5f665f3048be6bf1f23294e9ba7a77cf4ce6d7cb9e52de572b3daab5d290eee0625464d5dff117baa23285160ec36e30187248b4f7a0cd93de04641e0164073035b8276fc82f86c67356afea8232b284247b02c0a3fab1b72efce48f1d190a212ebeaac3f93e1b350906a932ac3e7c4fcff09e8668d49686fa35d339a34f81a8541a5e65f07fcc60898ed2f5cf072263bb1a586d25504010d17a6130e8c2cdc6e441bee20cd0f56e9c9a88e5724db8128be834cc153e08a5d3c21a9c9b9d64646be3df946baa45cb1e907f23c7523de928ab4661fe733df44f83ec60026caff6f0c5fd090822a557cc2caabfab367685f5f1f9218ba8f0c725c387a0c4f41013b6c9f85f7fba4b86a843b34d9b2030b8ba293348012f92910dca0702f349302ee0e1cd9736e1f452049fe04442dd909582d13a0ef64981a354584100c2f6c3753ca48b2654cafb4c50cceb73ba08c2660fcce25aae5a69b72b11e9b832951bc0665b7b2fee35ab15f26a04020c106f8f3790078e1a657c27286f6fb2cb927fdd50edd08a10224cbf805d5e03dbeb836540bc9ea7381814b7289e826ab9a5b9945b2daf1a872135600ca4012e40bf18179249a9a756e26a772f2d8dc32454ced39d2def59959f2b96169ad93e05e042d534f20286879134672cf8a9605b19c937d8e55aa53a233f4c89f581abb48322685bccd6c1fab03f4727bddd027986b6bc6445aa67696249e288267a701195405bf19aebe3bc47286023ff37210a7cd3e6487b2ca3ddfaca08c12bace64216ad5ef55f4b03c16497d56d173e162e33386cf19fced27face6c449c781398a192f62d2dd02cbf9b0aea72a6cd1362019910f3608e87942a2e47e0ff6bc946f878e6eecc92e2a99e211e729074662e56ae07ca5af1675863cf39d9f6ace4b2908e0e4c421c32a04df1d07008b067c7630e83b0bb2e0fea9c657b58e672babeb67db69572cafe5f7e3f952a27db1230f673af00461cc3048a9920798c05f67f22fb86e511a8315e603cdb728abafe4ee527cf6a67e8ab200e98f4dcc3e1408d729742c04a4c0a9f3d5d4272493abf21c48e0868d2c5fbcbc5feb64e1aad65c0a8ae2a51f231ee5639f61f0bbcbe6048c2d32f45e0c9843581d706c9d67f14ba74b18bf2a43fd2fceb94487285b7c3c0c3b7fe422300fe6dc644b87e831b67e6dd7a83c4b91e5d05c0691e7252b2d92af825c8eb30cb2e2410e9c075fcd767520debed14da91cd12cea4402336489c8891a9b741128b2d176507fa852752dcbdafa1ede713e63a97e863a272627109b9abf2770af23b41963db6a941e3b8e663640163118fe4c0a3433ec53b73c07e8cd2b11e66fce2e62089db69364d4c3d9249626eb5e4195f980b4f5172a5225e81fbca73d1be16a849ae21864f5bde72078adfd4fe197cedc7362ffc72394433d1c920aad519a63c99ce89f9883c20cd4ee85ce1497ac6728f469cd03a22956d2f13fd9943267f5a3e6c7e049d7f57dbb8f53c8a8ff3fb7b92b78f137204d3b0b9226939c0242ac035f4cb44b5ee0f4426d56b9199b3f6805381618b7212ca9055dc80163ceaa58585e164fb786d92c7a38c3f81d6049eb61d3176947227206466c8f9e84261bc2d64ff5772d28290da2da141f2071b7eff09b32ef246615f33810cf1d3c1bd10e1f58d81d3a7f4405a545bdb47852d1cd508273fcb418c4bee56ebd17ce57b71ba5f244a6718975347d58f2bf24041262fb3282fce065657e73e48cea2ca55bfe288b628f2c132af9f1cafbf5e6831a1c63729ba505510763939d1ab0b5c953bf211e72b45ae0cc263eb0cc7ff0910210205443a5b4670fef94b182ef48ccb9a9221ffeec51140aaaacbf4e384594414e8c86a6b5c72899051976d72682bea7b1fcd81d31bcc83640afdc1672895c9bb32915421f202f2904c41c5d4a002d341744f1a2ea388f0eded928cf431ca867a6cd65cce6f725d0e835951cc50f6179ed2187bdd5cd8673f7f065432260332e0d78ca8ad590cacfefecb633677f28247c796097424b22a38ee1fddc9a0a8c3d6a1ba9c0feb724e7f20b48eb024209419f4153ae1ca41acba76aa5bc46e614d8bb28a6b881e72db86766c05ca56414b49a04ee2c2638a6bb906de672592a2b406217db993ca418f0073e01201b92775ed7480f70841868be2d5651161f7194bb48bc864869a72149726f65c9a7b35f10f2036f6aed4ccdb1f9e5eb4d98181f20f378385b832727965ca4337f2ffeb62935c768e60ecb6772a3ad1cd00986746e5b7ce4621df722552a2cc4a3bf85184413d4296682ef748196733e958d64f47ddf37c7ba0713fd5bb1c31522fe7b5fda805469b6ab0e08f92fdddaa9eb56ab07616ced7065e72b9f9b6103a764bef34a88f4d8b4163f6b230650444cf9dfa92b164792a294a2d5d6655f975ffd881804f1a50182b597221d1986d49c582132ea2dce3356d4b7223076c1d06a0ba18bc683d46e71fb486263b9686e0494ee3f38dbab8b9dece7267449d9d8c3b7cc1b279b3fc59cf1a7703b0c03f5162c8505805231e83592e50391c9e2cf1e62545d45431653423cada1effeb5aa55fe30f0cd3e50b20839172934b548abd46e1e402de5cbbebec8d51c9b99b46aaa2d356a96caae6670312726d384d2173fba28d96579d92e490f21a38edde77d05146e8720b3bfb65983f44338e4271c08698812d24299e48f0173d0dcd24f24b3ccaa4feccd7fe18889c7269d05a8b4d139055a25d87571bad13dd56d05560b817e562049af0d3370c1d728c2955f6603ff473bb2eb399bac95993983d9d6ab13ca2d45a0f7209555aa468efc654ecccfc5015c44c890ddf9600784714378525ae4cfc1860e6bae7df5c616611747c43184c152e68814da4765e618d110a1b21438efada324e96d2cf2f7254668c36b492fb1749090bcbf4d96e7fe87e7a098f34d505a84cb34fb0b55316fa3c1a20188e6bef1092cb9b03eaac3c6c5356f8dd2a639d3c7176796697e061e2fc0a9b3b09fb558e61ad6dac467d8eb03c9a9041cdf86bf7b899b8417fe47231559174b8d8cd3d42f643fe6c3233f3803ed061aa68ec5f70d0677576166172ac387e10ecefa9bc3cdf1d3b21f63dd4ed2f369bdc4e990fe04e1331f1e66e5783450eb496760019415ec663c4a8e8cfe8fce195b8c31836cc71bfbcc15b691d49899b463a318e2913749eb8bfdc9c746f9a584cdd4fff51597533fe8768b5729162b45fa16fa0aca5ab0267454551238f418c8173907232a2f3d031331ff67256fd6b26b0c27fa219c717916eca248257cc664ac8e5f4aaf0a9c6fa2068b472afb8a481a31b14ede3abef5591d343fcfb472c35f5d39c3253df57ba0d06fe21170e656e088fa5b57268ce81f34ac3e6b46fe1abadf3b5a6e90343734e1a6f6c829874689da5abc3c3e6eea3bfc0a4fe4f0f9a688fe497831ff581508a20d072d5c55403fe2c65636d0330ac546fbeefc7a37065e42137f5b99ff0576beed0728c6ca68a9d71d21079ffb8d1224d3b52b06442c7f7b49e055a5d983bd7494969c6f0ec74ef79ae99ce021f926537467bce267b56b6af617b1c71020f4aa64570633478086743921aee2180842de65dd85b21b4f23be49d0713db8d5a0c6ffe26ad0e302561512f987380b3e0240eaac15cdf49993451545fb59af493bc459a58f5d12ac0c0bd9f8c35ecb76f42ff02da92e17ab992a8a9b6fb00bc9e40e7b55412c99b97a2dba43ce02b9d5c99f87da6c3e62fe37575c336fa3368acc2ee727256781da3dbf7d02ecf6f5e97e47f85e7bb3585a6e5327ca3fdff3c8d50ca0f72487c982f908a5c05b5cd86a179e546883adb3ef70e2335852da7d82cfbfcdc72425d28809b116cbc1c75f0e5b3a224bfe9a2149cf5b753945a4a8621b01221720e218cecf217e11d085df8d32240abeaaac43cdc2770c09cca26a6cb725b92729fff45a01f003eecf2febc0c81345d7ee78403620e1906e7397fae8151af9325f3da0368e97e3e548e7aa1c9f80cfd953cc455259dcc3f3f3534516e1452f772a9011d36aeed7f294f5d2511e8f540397ae0c36f56286c85eb00d446a7a6ca72664df83de4bf46b23d3c45bed0523db2dafcdbce3b59cca7445403172670c572d2ece209c2762dc31acdc0740f455c9fa9fb6c865ee8180daa3b386c90960a728e54f27bdd3acde95fa2659fd18942c7f96753955532c1c103eb72f9ceb8c6397718b184236707cba956765e6a28baadb2e0da72f57aa33ed033b677c144cb3fd66a4c43810ed10a1a25e804c753de43874ff1c3add97fccafd79ca55c3d57247f6d988fb07418e30738845c19473d7066bf8810ba58c52ef75600719cc1d2728badb1b64d2d3a8eeaef7c9facddf4997a6d30cd8842f0f31543bc826690b772552b5e470f7b1cb59e13c5138afea8787664027e8237989f936560af01b98c72141eea09b0642214c911d804adee5032e7457ce5034ff3cd9e327988b7bb6e722d3733bbb43f9722eae132bdb636fec05553e262d25573525e9f022debfa163f5c02ad7a50c041b6513d08c5b02c908ceaf2951d455a7bd46cea112f569f7f72d0be5c11dc664be2f7cb7ab00d87b2265a7f32ed76acfc5ebf1740ddfdd7b509b0d71486e55c03b7441dc991fefb0b7319312133c00e0a9599e4e4b83928013d5c6828125ec16b7e29c115329c13b8f347209f94afc1dfcced4729d154fa9e64ce7f7b121dfa85c31d85548e9456146c603d18687da79cf36fbafe4719788b4f96d520de594eb9693a5201442da2766ebcdf77cc608955eaa76bcca50384a84a8140b831d425e225d0d74b23a1392dc9d749752a41d29b7f55047094a7ae4e7214a56789b01f76b963861fc612dd6afbc21ff45fd728fa831e06c9f113eb94723e9a06f34029b1bc92385c933821d152571a743598234730575c286362588f3535706b0eaacefabb3a4e99da742cd607f9b53f6aabef52e81b0bda5b0ccce90dd3fd0d5a0bdaa8d6ff558c20179da0c7b3d27e9db813f6e4370ebc5b8853a57216426962fed01b0ad60304825f54310af7c86724d4923406990f67286952807293f68d8aeacfd325d27542e2785cb806f09b74059219a9df5c8e1983b7135a482f9f8030362931bfd44509d0275d635e3ed79e3bd1cb62499d98ccb611aeba72c4940ae22974c35f66e02ee1b94897413db6d2d10b981b94815d8d8dff076e728218232f586c0166de1f633ef7a183546e20e715a757d5320d323e9011f30672a5ed1139ee53bac7c44a3f9e17b5f50c2c76d4fb4ae9fe3008670e93cfb1fe72de47b6b2177e71541716acdb3168510ae90621b34dfbc00f656c757c9b2d73721f8d57669aba99762999e58dc4de0b9f96412f8b1b0bfb02c800cadab58141721dd3b1ed12be3eafb9c8ef575789d4c643192d41233daf7c4d1d24a27f1e6e48d208bb29d00942623ae60b705d924fec35e7c87036a4ffa9b47370c171d31d52e1518995b47d7c887df5f0622c1dcedc953318cf4b577b019b2f9f1ec9d8537266ca8367dd78ac66e9172c267691fadb4e552f306611abf5f2886655e131ef2343f612813e35fce2b5ce780624d235c7d3c5c082789f4c50ddf12ea38729a2724a10c2bdd97b931f0bd75015ef926da7f76b607a2c4e977a13651ff9f91f0f6b74da05280d1803a36dc685ffc9a5cdffa3099649373fce928f8b36d4955b9b0fbad9c812293b62c51b73eea2086ca4f7b421364987ed14c460dae0b38d6b9672877b8deed58aeb29d329a2ccf6405a50eea164eb0b6bc270fed29fce1f15d646f4ce4f77dbd19726dc51501b4c2169424ffa49d1b0952c42552963838f1d0972287bb1d507a44f11ac6d745bbf025a977dde4949f2c618af6343df6c9f08866393e78508ad31a19faf7158a80c511da41e71fd550fc86dffeaccfa4325525d72f81c51741d2390a1c7b615bfb80f8aa00038c10864195d8c8026d3cae3f0b42740f172ac5a38bc8817bc2d6f96f6aa2934993b0a26c08d6555734715c869b6329cadb23e058524febb3601b42b2e825b92724224d045928d4d7e3e088172a0728d6b0170ad209dc6a24a320e654311347012fa006bf75408470ea2c9beac40726bfe8dacfb8097d8f0fd78f8dbf6680cbf919a0dadc9b94410a23ed3faabf47288f5d39c7d46ab7493906d98d50063a97d370457616d328f0019eecb11964554a6d2d833b29c2a665f1492d5f5a2a44853a1b954311a5fa79ac6749149bd8b687d0664d9c680bcd4bcdec671dee5247d58171e14e4d60ffe824040f35a76840e0b0f987f66f5e5770683105e917c0582f9e586dec26470926e96c8af1160f90313aa7907c9cbd1ed560a1985e52ee11dd0cd83a0907579637c75e0538f59a902298e67414d173aad668af0be34a6eab4f7ba1fac32d673c35d1f13d12e89ff2961d719d30bae1b76b39362ec7dfba1d84bb04de7075859ba05c2ca2bd6107e268792b378b3ed1bd987b5205a797ee81a4466977cfe435f0816583de8d0a32f72fc3be2eee30c9e72b3b1668d0cbb5d578766f4839939e108cbc87b4e0a144c721b9e40036f2e07b2f689b7fae997ab591566bcab6fcdc16521fc16d167cf8172b4b97bbd71ff469638aa3cf7f33f2d3c4aa29ce9e99ce22a5b7f6685d2f40c35acf61d3be8f0c0eb5eef802eb010cc4c7dff567c51780e1e5c71d7ad8b41187282a211548e7cfcc9131673537279370ddd38dea250b016f23670f3cef20517535a2c474a7058dec6052972835e65b642533bc01ffac865799e0fef11b29de7724e462e43546d15795d8c491a5e75591a9c7b783b687addc0e7e3169e8b801d72d0381b780496536df6daef53c514e85bf999216b0e1690b07618d336a3671e0725ac5040d5c9c5be752e4e337fb9fb5cea2d8a4ffac68a960bf99e4f672af67237afa00a01b1e1aa0ca9fb1c06c3ac59f97ae1e89f11031b44873d3b57089172da8d0cb9bd56d797d1b1f9cdd8d901f464ca56442268bccb6f0690f79db46872716f59165e29d283cfa17d45c3e98e31b40522528cf922c3bfc53c4f2786de3597187a45c56df95e581a18046ff32e8686f1a6934d1d45538156f3cc5857e372c7c90cb2c2aa4527779fc18f1ea7a7a6565bec010e72a2395754c00b411ff444efca0b999540f52cf97b0484ab5f8b0e0e7eac236aef7713ab51e02daef690726aad5086c55e08b9f755e6a9e89da91773f6be7f7d8b88fb2703a5a37eaf89262e484dd51b879eccf3a2caa586695716f86bdbf449d42daaacf4b6cbb955447274b9b0caa3c5fefce82a92cdccb2cc438e9ff079ba2525e5cd6be413a40c217269a0bfa6829d89ca586d83ac54e2eda3b26ffd6c5e0ba82ca21a3cfe7354387262a6bb6a83c70117f8f9d1fce0ceda22326952998a5f5219f4ee86d47cd94272a56d184e5dae945efba389516f5b1f85fb864fd81c98f4f8284a1ef1888218593bd9d997cbb72967931093e31502bff32ee0b7a6fb829153cd0223ebc9bfc7157fd4a4264278e52268b85b958a5500ecfd14107e2d66559230e40958fe7c2672ec4b99c53ea77db1490db15a9b0d167aa15988c7be989078612a1486f98d4a72aeb86a42e4a9af26b3b71f3c18661f8c62b4a58c0996a0f45f30397877944f72643e1e0a7719ccf7fb8118964aecb9f58c78fce1c631834b76f873e68f84a2370e9a4c3b786fc9b767a13ba28573fb134bc744109b4e9f1bcda35e8b1d69395ae8273e9d162ce0b0e92921c0fec960086a7afb1ec025d2203d34ef0c012f6972222a18996f88456aad34c546a259339f742e1d95f0e10322af70076861bf7372cdbcb2bbf341f041c9f09a2fa9dde029526f0e1d28ce0f362380a88896a55670467fea553df8a6fa619e56cea23b1b6fc9b128be553d70b1caa23d3fc084c708be1d8d5ee55dca20d61763ca13d11f6d14dca335edccaab5ea3c00654d46d172431deee61db1b25848f8663e4f0e80be367653fe83eca33e05a5f46261093d724a99b5f05b4a06ee3a53a452a172ef1ebb97e2e2d7fed18639b6f2295cb6247284e8693ce4de0a7e994ad557c6eb7331f200d7f7538d1cf01f948b90cf5a0a6f9db0d07255726c2b5aa292a426b9dfa71592f24f5aa7cc1b70e7b8420462ee19cb14bab26b72a9081bdd471486d44cd56260d461d5a026a219878e8c2bc93b729dd1962ef6e1c13f704ff235e6153526dd6f88a12e3fa2bc17c6d3297b967e72fc7782a448f40963d1b8f5539fc13a41a02790e015d3746f27cad7ba15b7cc7226e3fa5f6c99b60b5e6dda1c7153991807d9d6eff47f054c9b756f8f293dfb4bd8e85e9e112fe6a99cbc58a26897529c3ed16e04f0711b2dfae673569b1fee238a07ea9fb3da9148b84e432b7256a0f2fe11bd547ded5880b29de1c3afe57b72cb258bfcfcbc5e0200d6c899861ec4391258fa0701173ee2e00a378b8b727e0e42018d38aa7b3690250a2fa1f2c7bf6f82c83724b23c0584204766d4fcdca54baff395f83487971150c76db13eb551a83cee9552c3400f6044342a30eb8d6372c47a291ae81e7dc8e3705ad62aa8282fa19c4b23292e553a40351fad1dccb34153105a92a6cb5ecde0972c30bc42204effc5d5d6aff2bcc49fa0f41e7a2f8733280326fff005ea409b2c7c22136ace2a2cebe742dfd90a9c421474120f549172268d48eae7a08c924e395f991ecff795095033b20baf015e7be5564b8711863b493eb08632445f30dee60909c3dc7b28158179d3a4868bb74585e58ce3dd24721342a97bffbe22230d82a5a21a3992fda8d7b1e61ea6c8c7eeac28c4cea94272437dde592d250e4540cb8efe044616d3433b757f64d3e3ffadfc0ad23273d372742caebb4fc147a374bc75b7a87509650ffd8bf06d51f37fef2c1070857249722587a20770a1e0a07bc85755ec09cb5fb1196c782c2f209888a80fa145b72672b28dc329eaed9f4342c370afba872d69a2e8478faf044440c6480c736fc16d3c6d4452a4e8c75788ebbbcde6935be1750c0fa2c0cb71256da8d62325485f617259eb7d763864d9bb8df4568aa332301315b8a091ca65f5872ba335d3c626185949392c8e6912c7322fb4e9c7b356ba38b20c1710fa4cd73c6cb55e496da3b04dcb425e8f46c5c60e3365c00bdb585a6cd17b5d732d8975ca50fbd62c14654c72a089f063bdd7f6b469456ef71cc0ec78b10ae9a6abf62c54c2020eeba413fa720d2d02136a4164d0b621dd7a1a0eaa4096ff495572fe3eb285fff0c126a5eb32987f75de04bed8a4de252c8054b8f2174ee017d6578d3c3db8fb0d4fdcfea872a20fe76b8dcd3c97f440f4af9c22981dc949a451b52524d995835860ffaf9c327b45de2195337fe1fc3f9bcfe664f5bd25343ed54b8321384c332b5ecba5b072341d569e12559052dd18b843958d4fe60beda176ebf3dbbd16ca70259cd4e672676bdb37090bc95f0f2ebd19e19e5cca53ef38b460a6170e595c7052e68f6572dd398d305ead77df315508b6ff48b26ff15d536275b0d4f08a0ab5873082ea72d2bb13817f1a9b653e2ea369d9e84804679857145e39d8c6c7ce07d747702319a24b5cb4f0af0f73cc72bf41755220a1d0ab0fecf2c4fc9ff31bfb9dc94d31724220a5879984277f1c7221fc9d1b1f6bd758740f723935635e87ba5cabe14b48a446789e9bb7b255273b4792f35d837d2dbc25dfebdfee4a5757236bb5d68972dd352a4efdf3b0330df3995de9f17f88218258e2d8ea23b3fadf23c3ed0c3e726228595463e94d1762e4e913c75776edc44ff7906bf0f92f2cefe088b8235f284e166793becc2d2d9e400e1e0d3fac747e3f9d99ebdeffab8ecc2b63acf25b0dd8f9c0ab01afbee6968c67332b1277932026741688a2c02afb4f6d3ac0e9596472d3867c8d2433cab54ac06245ac3dcd18139a42ca91f3ae75338085e17d9672825fa02aeea8f973e2850666ce8b28966fd32975c0c1b8f299add82b4b6d745cb825da97d7e104284d2cf456945a2b4037c365a15ca163fb311d0d9422075d72e2a72255c0028953f87e617fc1d77739f822a73762d7131b5fa2cc36e6df53239d6a394f8d9970c87933c9f2aa125c43c43e396cd026823515a87ff868885c72f8a5077ebd1f77e6370972900d06979dca6a752cbf54883e926cd0075a541e2b6203a87c5151fc71d70e924834107c87271441f21992b47bc6a56adf76baa8261fa235a215f6fda5134db4c0d19e92435d421da0cdc9e4857b445a47c60e8557ec9f53d0899e3c254e2a93a0e46d935f47c4d169bd0537abb2531dc79f569c7272da68f7957e9f83680c950a2bc21afe105f300ca7a56610f92da278a6dedc7285ab17f9532c0afc986d4073396e7fb44276067710b7e97adb998e0987047f72201f99e2d9cd36c19273c57b4e282d7605c6d83bf2c650139b6e765e2f06c372bfb72d0f51184ba69b9c52c62db774a7ae1a7f527a72f28dd398b57546c7432824f20f4a75debe83983ac66c4f0d3e94a1ea62c2f3d7939cb08bef20d8fb1272e762514d153a74afbe3fdb22e75c322892b90c66c711ff6409233c047008fc72f0027da430545dae164b6a96c0b8dc7a95943b394c19af274c804a5dea5e0229879937c3e9c4b334b5b22fa46bb1d15484b314d6161137b2d7969855053dc2704976bade1e991917202218943876dcf44396331003c8fcd0ed1a74c12c3bb0723c9a7cd9260869204bacde6bbd2569c6074334df10562925f2857e7eb3316f72f7f94e83a55f03383b3ea351e2a1dd36f16d50a35db3e43eee9b05d3391a066ba7e3e75e3fa8d9a98d4c895ebe895b1b511524ffd2d36d0a18c8dce1b40b2c728f38a4bab141542e064ec231d7e48c380fb4610851eddf2cafab6fd81921a272f5a54061d232a35e4f87ddb2b0d6d082c64e5923cb88e936e7418c667fcafc2b796c5c943a20429ee2298d9ffe21812712f2f3995fb6fafda4632f85e8ecc4727423b24af64eade93ce3fca363b4793181d2aef5d481f5b80bf1b1dceb600469d206d0bbd3fde8f0f3660ceb58c3d554c946b2b3129d5a772830639aeb8fac72809315a98612b0bf6bb9ddbf93f515e7652c538cc9ced03c7d376cc53004ce72d167c83eaf1d546d8157ba8bd7fed5d6bf2b6885571e94cc553f4813b2b697722233178334805460d564dd82ba8a2a76976de6daf00fedc6ad7c081526f8a272fef52e2fdb75b86fa0f3e523fbd8ad9d3301bf2eb440e14ba3af28582d1177727c601ef948c6dda4d4ea08b1a3cef4a784e00298f7375f6e7cd3820891e8cd1d00ff3812e44bfe8449f690769d781af1d785663580401d611184af8e56b40772e967cbe8b5a97938cbcb705de28d13a7b48a19d54018c430c6bfa16c565adf721b4ec0482407843ced4a90fc5577dfa6b3d8fe9f42245179595a02ac1a23097254001e4d036a8962837ff9a977ca6cc15d5c6159579dac0d2f0c8da0565fa40231e6579083628531fc3c2aefd18aae631caa6bbc19d0c1ce6fa5ead952cd2b72bc33aeb0ff641f3774949a440a8b6531608341509661d5edd118745c02b29d3dc62f8ba0c56c506949929d2072d4a392793e1c940b302289a7e751daf3b8674ce4bbaa64057deb0e454f55c9ad0957470b5117ffa99bdc0f1d56ec6eddb04e50651aabf9efa1ac3d01bcd18cd801feb0c7349d87e41662ac8588c27fae38d5499f8ccaf90eea96b6c7d3c406f3ccf9fff627a71e28d1ff7475f9561c1d999839d109ae195d5d8f332e8d4c590c5bacc0435eb443bba9dedd4a7180706703e772e790bc77b7319d296971c0438f5158373f63a5029fe0e24073cfb6fd32ddbc7289dd2c9d2f4fe1e9170a16bb02434a6c47156cca6bb88f3598c017d958ee43727bdbeb31439e73eccc3bfbbb6bdecde95ba16a547b633214d0528095c708eb42a1ad819855284ed5a4095184dc84915ae5a70b8e0a41e80e204abd57db46e046a9c699402b6c48e90e73647414273e373dd11368d775d0aaceecf7311bec3c725bc592ade94f67d3d107ac287a3d60abf2030750d77ea1f192e4518d78a01a72845c4c1dac6d3cd4a12073608476dfdf28b3d2f3d5ed09fc7b2dcc823a7fb04b9555c2045654a493e1526bb8f08ad5a02905f6cf58de44508cc77f4231fd697222dbda1368aceeadd9cc1a8cef343d852b4d54becbaa340fbb49ef2b897a9c10385cad78cc37898d70d2a96cf231d72b1ebb782045c45575312833f46d64d458dabf7476203bdf8f64f184b5ee3a786cd4da07b94e140efa4dbd2e3bb501ab309e84b901f4899cd0c00b8f663bab27f72457e6761ecd19e63a1b023f0817db72abdead95b21ac3150305a1dc59bfcbff52c4c4a185834d930d22679a6b26d4721f03f6a92a2c132b9e0bfa53bbbbb8fe45a9580ca290018360bd99a5db3b6a72c8454ba610a7f012aa5d03837f67227c77a4f4c46101471a77add93b45980872efa94af1a93dcab971b5e5f80509dc0128508a5a214e1277049863b7e230e5728c7638356bb4a8bcd4633fe8cc2bc47d7be97c91ff5d331c105e5d806f12ed58633457c4e653fa24534d123ff665e34a263e254d2e8f6285320d95421047396882448f1504f144180dc1873075f5ef73e6727f9b325f5df63e70aaab94353f727b835a7d2c6d137fb9b02a4dabafba3f2407cb7e41fc0a6cca514bd852a9e072df3ee3dbb76d668ab28530a8a16af422c7ffee0f7464c0b8eb733eff86e0027258d9fb595b58d76e9bc2dd9d131b8ea711658b1f98410cc0b9e6b8f30e84bb728ac12aeeeea88d803617d5bfbb17c91d9bf3449f2c005fb7ec4f6b0e5869e713f659e92535dc5e868e1bb80c32bc3bdfebe14dfd0c66f9535ee11fdc42d39072d4d200f7a8a7198d7f3787529b4f4ef50cbfc47dbc60c78fa6e7140bc894a66699472914c91e41f3f94921598e013ed1f39c015570d5a545da5d43a687868a0350729460b5fc49802fb6bdc82a2c6c2043b1562db9fe0626a91c21502d4a735cf3dd3e7860e10a6514f64cb21bc369a6da3d4c7905749c515e9f0c21f595b172404691e84b87a2b97adafeaba76b7432342d130f301ae06eea29a6b93eb199722c40c72389ec908fdce5c22cd175ae4352113b0204ef0ad37cdeb81ae8736b7220eb47578a71404930c792291759d771dcaca329e65a27581d4e161c2b06ac729a2495e99153fd9bd5d640d214b9e7e7e21b55ecfa54a2e94d869dc09919675240367ab5530344707a148e7e96ad493bd903a09a23f773c7c0fe1abae8f5882789ca3785c370968759b7c18ef07cd2913026f0c1f5531a2a95ff92fb80901a72e7f9d5da844deb196b2d5a3b955cf1d34c75addda432c470461bbfdd9a7dcf279e9466c2924288325389d6604fb1d3e9d49b1d0b7dd52859c42d5cd35b678b38172e8457c2d5fb60ff66cf4126f17c406e12041c5d2db8da83c1e472ac72f74f43e3921f04765ef1c3c44a5115804456d0a6be18317d93c8359e48cc343cb572590f8f5ae85cbfc3a41cd55a0cb6ca9d297c0312c76123392928b151fc10847229691099d964bb1a640ef67a52da09644d9344b821cf42c2b274d026dee70309a51e00df248c07e4e07bcd330cb475da444976bb1b6b22f2fa9d1a6e43512e724ffd5d847e2ca9a8c8d55762a9ad6f238812699cd8b7bccfe7f0c430e598684a6ed9e1280ce4c326beb1f5e3d5deef8865920f0a7308e7b547d52ccfbd40c3620d4727f84b77aeabcc587f16cff96ef7acd7f8b024d092d726ae1d5e1627c664e9afb83a3b0ae45c008f011d2ddae56e5888d6ad21c8ee8602350d0a102144177f10b598992d2aabfe3a819301105459a5ca48206403f333cdbea66f2b4ee1335b54e6a9b82acc962868452a9247fb7585cc0ac94397dcbc9d278d0d1b64fe728ba715219521a540ca0b1bf3372cc9cb43352d1112efbbac9072a9017fe412570db9da69fa23541056eecf2ac09052f7fbf967caa6b252cd3c7eed022d57b0725139a22c66e8a30718704f1d49f1d3de7e8fe7cea3f2a7ce6547504ba465bd1a260464836c3331979165d7b2d4f636ec1d360d36089890d9ea903417d30e2372f888f0ef25412f36b015310a5ce37d9890cf84cf7ef0223bcdcff89dc15d9d72d185ae9aaf02c26ab9d3566c82c9e197723375fc148540897b745f7d66cf8072396448112ed724222f179617d779eea57e2e05bb277d5480aa547648a4160a5ecaf2779c8a7f5e58c2abe0164433ab3e44bb92fd30218c246ffe3a74bc0b73717482cf75a1dae3f2205530838c44813a33a7ceadc2b1bada506316079aac0972771097c305f06b9baa46cd79d8a0e798f698d78ec3f20e6742985b893bf53e7218affa577faf40890022fb201e0bed72d856114c6fddd5262d7936f94afed7722d9796000ee3d6020f29b035d9ae528e4284d7fbb3b90fdee0eade8a2e45e7140f489fc7f40f18e6347381f9807c20b0cb36af4e6f7b5a403aad5509ae685572fd64b612ea22514d547f85c84d447f090e6bb0afe578bd0f5601a7f3177867728681f34dfd510717b14b812cf4e6c4f5200566e0eb863ed480f129cf86f564727350178a01467e7f3ea04b8d7bdf91bfb41a19779533dc5f146541cea8026372f4e53d55a2e9124100b80324140e671113917ad00cca2f49a2ee44f35dab947218d01ce043ff3be75c2151a77e55f3389afd267766dd965b8f291706dde603574323ff72f2fde0ad2ef1ced21b0ecce8e85562cda48d39cd9f60556d28c43972e1875ae895d6362ae015c9c6f8d8ba73c34c37d0c0807fca4c2eb0baf98d2c7226257dfec72ba07058a5b6e88cb6446ec89316bda55b074c171518e45036f1643e5e2816bf210d60de885b9d44190499032b803297e22f1002b1322aa620944cb6ae1c1e471579d8399a14ed607a51f1da561670f1d5ea67e957aaca325a9c72fcaf36a6230035b15e2d24c301d1e88af39e4b38f18eaa687e6c8d535c5d905efc3dbd00f2112d1fd7692fb7f6677d13b314c614a83f8d905706476aecb273720c993b08e952fdc6e080c34296be4aa5e0dc7c4d1d24e516c5261c3a8a109b72fd23c751455258d97c2b9ba9f2f07e75a4988de3c84541fef10d8c2d3f022a3387f3a272fd8b7659201c68410ac5c858c77a489acf248bcb746d30cea1377472f2d50571220de07cf511dda2bd4945b301a2e820fe53db4575634bb7c48f2b6de8fb132d3e08aa127121b19f53a76ea2c5100ffbbc131a8272c1961a0d8adf72b333fd6120fc526ec888e5d86a04f9337003ddf5406346e70b1b5f824d510772e55bc617bdf4ee3d7f2ce4973127e2bab2fd48267d03945e5bc1b72edac79272ce6e4fabc9580aa0a29b08958a775389230f181f244ec86174cb376e96a0d85effe7e5fd73ed99b9fd1ccc0ae5d75f2600235fe23ddb674f10a52b32a119716ba52837fdf570bf7806ba10128db69ab09cf5d3aafe018085b6e86bf02e8a90725401e495a9de01f7c3820b23cf711aba1ab6515c7358799c8a5ade1568ddfd72e8ce273ef38c774290a281428bf80fefd2aceefeec6eb32652b9182a42f47652c21eb8596c1314536924182f45a75fb154270ffe417a66970b4252befc98b97260c2bb8e1976464571e69de825cbee8bdaa7fc27c9f5ece4832aff5d29ff14302789c0b96d3710b44eb7887226ae9afa8331b5b24da4d566eadfb0d4a0932472daba52a928a1980eabc8ad9d4870586677ffc3fb840d81579dd0e55fc0b672727c32a210b91ab76499f7d2161f34f26b4e7a52379bcfde808d5cd3f0fd60223c6bcc4d8f93e49032bc20d2713bc7204124f61c1fad396b6dcc8ff3cb97c01e72f9037a9245aacced94cfc21941ea4012a1726162943a25989793512f3426c0227660ac6e4c161ab6715fdaf922fbd591fe5a0d4f4855642319e9078d99550272bef00e40302f06cc063daa27e54f636489d63eec66016a4b169902e8d2dd897298d8f23aa92924f7a041ad523be9bd63bb7bbae3cea5cfef4e5fcfe7aa39935d65da07bcdafd6014baeee769a01cc5d162331e73798a60d95c4094bd5826b71fafdbabada4be0aaaa3b115588f5b19eedbad6e5872918d09cbe7ca3da43d527211ce36efbf96f99f474953c321ecac5c7d0fd3013163b8ebf185b2378ec1477272af99dd41e370d2c4a86a1fca7a92ee70f67794d011f1eabbf55fab1270ab722e2a492988fc1c389b79df5cf9f870c9e56896300de26f8e4ef6e40a55bcff1a8de7cfbff97623e6721f6ebdc7b9536276a5521f27361e3f030baa700ade2a09a0312d31f506101afe9cdb4213f0db46b1da96bb1697bf191ee1530858efa8726a52572bba004fd1d495ed85e2ad58b9ee5073a1d8964a6e0d9892d43d245a72122767acb4b2b228f94cc4e8340d221d3593702b8946ae272ed15c2cfefb533269f780c8ec4de80c34dee77e4cbe37019c310edf1d55f3f3ab057342ee18d452ff361d0a81f711babe426d11318f03298771ef1c4483fae5156b41ed6d672c292c2cc0fbbf35456246998fe76d20cdbfbade389911ea85527d094bdddb6b250323cc032531ddf03a170fc911962fa77ae4a2f0579c3ed38e072ddec39044327244a6219fb0fd99b9b08594203a2b471b7f3b8fbce31b8a2c08fe5e0ae51cd2418c547e15b086b9e5f676bb09b261152c1da433b5a880155878af4a41e1778e72d4ee4a53d898234fe35e2bc853d965108864335833206c8b6a56a2f00dca5d611f9e4088e6ceaaf0157352507954f64ffa8050480943b103f7e0fce7f8941272102a86ccd2c629de0bee81dc9383d4b2f7e994e517e48978336397d1dffd671b57bb10ac11cd31bdcc6adbbdd7f378137a43771bb3bc9263f4080e0311cebc33dbf8361021383ec99deff83e6b92cf19ebfc77f4d3e25bb3fc0b68ec16f36c2d97e3825c9aa7ec3c78bec8b33e442522da3c20f5ef35f607072a831f0fbef8198a36b57f0562691b83b8e0891dfe41225edc4fc598483b4bd31957b4656bf27285a7de4ca1f94002c2ebc5399f44608ed626e540d005e0a9e61609e327c5921053bf42602cf75425ee29d7093787eae51adea1b37067ec68314107f05026cb4e890301cdbe04162b6ab6579d3aa2b823d93f00b239bf9b1ac17acdce618bb2723df160a4fdc9afa75d02faf1cad7eee0850fad2cae98a1a3b3f9886db107ea42bff617d57bcd740a4f750289eee88102c0421535c0388adb3d3a00895771bb1dfb1783823ff0bacaba0d9992fa1153f2e4695df603e5d4fcd1cf34bfff9cd17292efeb2464b898fe95547d65bd69407d96be824b1455e952ba8c8052326c9163628b0c8d474815600c486840abd867d317953a7b30f0a2e8acd50ef343d7956531e34e56d43b7815402c6db7fc9c0eaea41b82f44348ffd50add2aa2b35b377275658d8930f66ec3d927399722ad7fe9cc200debd0645437a3c8684588fac2724eab6218aff8ec01ab1e035573c66ddbe1e1e8a7818bf95feaf07ad42f75c972dbd930b9281b32d80df0cb5078a2d4929cb3484d011a5cc07228314ac43fd30ec74abfc8b9473bf3f1f3a4c3cbe601931140629d50cb9de3e13b33ed5df1172864cb6581b9b560f0cadc8df35f25ecb6e9d7bf3ec0d1256adfa8fe79588220723fbb05de6b29bc283063dbe98ecd6e39573b096bf90278c39b52fdf551789572c81b4f3a9e3aae844e062a45d806a438d0aaf51268232f1774d81b9799354c720d1864453cc92ce1554b8b5b38fdcc0e909835cf1866fbee17702a224c185172bf6a6cc253015677e22a71ea81c36c0cd5423c18b35ccb4fd31b7f8b02e19f72f8be994d241ce09f2829344e634f77d50806d2e5197f3746b43f3e9a5ab09b72e30175e80993d13732d35015eb3cd880724876cbb12f4050d38d5b0a7a00cf72db7ecf0cda5a8c8d31e0b8d103cb408f654ee9c4a7f388f27f8339f9f79df4722aadf29b1ebdb019081f7ad8df3b1518a8f4a46da9b13c8050839f76da0f1e551ad1669ad2ce9b4af6a01f63bce3938bea87c7c6a67d954b5894ae7c67f32472fd0a01ce2ef69fed3e34bcb69e8a87c60bf2ce3836dab886b1135d9432d7c40b138e5beddd24fc49d109322e03b6181300d26fd5df01ad46b76e7ec7103fc226634cf2bea1df0da3701acc1898134781227940aaa31209b8dbed896f76a9e172650929d1792f80b4f438b669d9a4993a7369d8358f311ac56f8efcd11b5fa17221ecc4cd9c01853d7246799ab620f37af7d1967297983ae0c2bd38011f5f5172b80758f9d6433f0cf69c4ed0dfdd7ce5eb0587f39fae6eb6b9de80c7b05903388a995200593d9f990878cf42ff517bcaecfdf865585e00cf273f2b6bb1ad4a72f9f89b91f059a6600b84f371de317f2be368acdec1ee8095c054d141af86194a42a706cbc898e9ef06558c83b2fef2fd6634ae2a5d1031b05926fdba7d0aff3274cc4d443e00547490faa967563b9ccfb4d18c490690ed557d7531531fd5ad37fa489e78776e6b71d5387bba6b327eb5a962024008273d8c7ea144f3002837721b680bc65275d04460995cf3918739a78228979dc1eeecabf44b61b0e8299828225969548b4d9b3effd41a19d39cdf4219eefb23ff3c9118329e3a5ada342f6fe865580a33ad665fe3103ccb15b07ca75c883e7ba7985e0af83d390ba511ab1d3bed1d7061076bdf7f1c5dc89d5d448c0b4d4175c45275412655684d0f0f4c01354d68225d100a908bc01d33eb790cc98ca3304fb83a1fe08adfeec4c730c7727c4567d8296c0d156461b30cc7d99443a1e81360d92efddfcb3377532efa62721e782914ff98948058c3acd704f52d1ce07020477b6ec3d94fdb40f8ab90df72243f6c58d7b086baf84da4e69bf1fa07c72e7bd64fd5dfb7ce40a2ef40db777232e833010b8d9b6682f9a0922db7670f1d2875a5048784cd56651de84b98a57276b39315689ba2d1057aaf4f5485d2f3ad852a345cf51f31555ea468031e4572a2fe107164fcdac28c42a120797d3f58e36b9d267a0825b3dd97fdd4f460a2628917e7831855fd9529df48cb36def6954a2e41387f812d024860746367943c72a57a3b46830a754e496e6421b841af0be7df28e81622f56e18544143b85b16721a6b305f087cd77d67a79e860fd8432c9e718a1f36b5d7f7799ad19717c5b64bc64147e7880a2b876f936ac1f187be9a91dd98a978ea575360ef2112a6a61e18ccf4e5e8abe4f666b7d08eb14efc220520fb4e0d9d329a09a65cb03435c2e9472ea3773a8d170c983d2f8c0599348b2007cfe359d0034e12d973f9d0bff41a72e095dff9d22749fcf3ef0d63ee28a2c3090ac5d183f1cb5355cb40e4a83f7672af3b6f5d1ae28e46d3d987970677df2c7fc1dae2b0c4b3ef93a260f2011a723e9e752bd5b9de13917609f1c0fdac3c06db16151d03bb669f17d3384c8ab541724c633cf3bea4096c42c20bbb3b0b8a9e705ae89bb9360be075539225e642484fda136c9f278ca90b9ae0aba06fb962966955ae2f9aa3b0e62c4f0ba66328fb2668af512dad70d564b80bf62d51ebb1b7698d361f5280adc3ee065c2cfc5ec572c13ee1c038c822535d19addd512713d66a93e6940977101f9ca61cb420a38b31c657057ab89afe0dac9abbce07117bed69c305a82037a17e7e99b978a144911f00384f2b9b22aeb03ee7a4b7b1d06a400544ad3d3e17cc118f8aa469c3adf0690c6d1217f71c2839fe0d342bb6fc62fd0e417dffd4a2f76376dffd95ed55026321a29ab8c929c90a9064881dde00ab3734e43ff10d383e85a5366af95cda7d02bcdcc3a1d8e64192462628a979f9f5d4e416914c56b1c976e05b371834c1e7720d0ad2d4899ac59619dfc37fce7d39f444444139a72516c5092da4fe712cf23673eca431e8f4f01f5c9f47ba3a51d106f030176dc44c280541dae4b6791db0312f1ad98cf0d339149fd195e93faa18dc4a7df687b45d1365f746cf6c49e55072921b17f899599ebe975de903a552a2f815e1e3206b467581808944423bf3bf20e027d52aabd5236726e4bbe36ae7a15ab51cb60a34cd56e10bb1d168165a4f6a4e8bf6323b7f4044369c9409bc5b53cf7e20e242ea7943fe11f824e17bb56372f9812ce9a14dc0f87d353456eaf9e67c3b3b20c424c85ea9daa21c269393131975bb149e381d6b9d14afeeb909bb5ecbb544ea254f2f88e679022e2cbfa15472f948a5503310d85ae178254151607ae4fc9489fe667ab4c3debab79792d50b578b7461ce71644d616ebebe189cd053f53e4a04699189d5b8f0894a2b94d6f34be1b949ca2bf7e7f4a925ed99f74a9055771f75a0ab5dcf2fc2bff2b22e28d972a38df31d6e3e1fabc614f4f676352ae412cd97211c0ad22068d9bc65f85383720dcd2694bd565d201988fae40574613bab13277195885f3c6716ebb141450a6fe95fbda4592bbd0a3b045d9562b68e705e1470c9f7d655d269f021329907ce728026adf2da5886e0af6a811be273c011a788b19fc22a98d21e2f42f9e3a2eb192e69e395d2049abbbf58e4a52b0ad5ce6c4ba9c84eaaad2900c6ca9184f1687289bb32b5a44a14d186953b1e1a3e1e16ae2d056e5a4c21d48e3a8789e8f4f15a64cf00bda8454d5d44548c75d43b0b46c9974a734026408925aa3a224dcdba5ae6ac829e78ce7ce8ffc5f5a0b1ec99ccdff907d94cc4a14f2664c91d545c7a722ef6fcd58eca785d8f8105c7eb46b80e13596b68d62c0d542756579de006324930d412acf93fb57a22c2b8f213419ba10e194843ceaeac162526c4cf16fca50fcf7f28be04b79ed53cbb7d6c91db57265f8a33e989b19f47e9ebecb8bd930e728c8adc4ffefa3abe2fde7cc870adbebb22bd43c130c49aa99e94f0154838a172ac0037ed12e3ab3b19bf0bdf2cab095f6be1f8bcb7486e9677c5aad2d62d8f72b23e54a5881cdd012ec5f950a40ff7f224ff4c1f613a9f1f635bfadc3ee5f0725b8e77ca1885cf535acfee80ecaac48322d30b2d1bbd0a05617d418642757d720046a7c9aa7895e800d15a2cd443c6d1df2f2e6651c0990ddae68012aefe935a4c73c7dcc90f7f754b9b55deb40183f95596b5d8cb4eda048497e68160e8bb72276991ac73750c52a7fe892aafce7547880e98f94451a7d2d0cc783a5fb13d13ac970ca251d191c5a16bb3e3897377b53eacdee08336b1cba9082d8c03773d0193039afbde1ea82bfe70e2a89cc6565204eb83bfbc5f5c736e7ba3f75bd9d772950e9f0e4e8e40f919bbc9602422344bfe5a9360b59a60a90c4164ad256cb7722909523e2f8043be3beb40e470ec34a7726173366799827bb54bbc0b3243e0534b743732dd5c51a97f30ea99342c93d59766010cc44d644635a33b1c38916c2892a22aea2d51a4c9f6064b7c741530850ad43d512a64a9d6856cfaf13f8f9872050eab67d8516de6d9ea73dc60e8756d5cbcd963d4ba60814cd7c40660c32572473554dace4b8685bad1bfef41c5529080dfe0a0d1d64349551ae031442b714190b9fe4d39c0704d8efc09ba418e6c14884cd8566c8f607ff7d3e23a09b1a972b66036c0ff5ca5dfe809f4c33b9076dc1d38f179bba615d4581fd5a5131668724f2068192c930ff61cf51ef19cae6d2da5baac313507ddd8f90e139eed671372409bea40544bace9f4476aabf480fbb36b1a00301112caa9c0f50b1c44ec0572585749275e58f56b48d5e9f9835b622f16ed7486b25c16f421672c0caa4395723edc95142118a38e1ca888b298ea6c083d2ffccc11ae4b1460c26546c22a5072f7c9885011584d6418e27e31042ad2083e6f74d25db3586b5a5faac754ec75724dec2ee21239cf8ec1435363968e47cdbda201733bbe4364e9db2d7d86390b727846c366f28f95e4b5faa1f4b58331900191eda40bfb26057a54bda7060985721f370f24933b6e131ad0ccb56e7b4acbadb86188de47ff7b0348797eb199787222033ee3a62bea0a6c52042346b01111dbcca5316d918a6e536804be5305c767bc3df3fee9efb8452e5e1fb9701784804f53527fea8a256868b4a7389f1ba5722f5e8704f39bc60cb47d1f4b868f97f2b95dfcaf84ac07ff61ba198d611212728fcb85bdd86b63fc91cecaaeca8c6f7211fa402bf7c7e47787087591d8033a72ae94acdd904f29ed7b0d910ae574598214c81c55f68c522adf4ea76a0d110572a8ad25cb938902c9f0d3ebefd26adbbf460d238c514d1f08b9e74f9c055903728aa1ab59b9122be5396427c6a1dc8bb4fc869ae579fc67791c9845ff1e0c1772df60529cae0b9c1d85fb2ee17c3c7a14667b88c165404c1de735f2cf85a4d048fd4927cdadaa9342084463d413261ad6f135f7b88229582dfbf6d3a9aa84782d6fa418507610dad51db9bc71af6ff7544c121d08ba881b43f16287015d806472eec58fafe69e9683f0702bf7e3a77a2e7e18d6d495d892d48a379a94cdb04772a5cd4a8e1a149fa8eb9219d61e9765ce99a4bdfcab9f834cf4d3a4df14802a727f38a6a5d8f604a548b8c46dbd42fbc266964145c91c4cf8192aea07871c8835f952e524231ac28ba333ed9e1827287781c7c7cddfea08b90d2dfeceae77e05a3a7649473ec6156b43bd36b817489f2b51dd72724523f4d8c3f29786196fd9721086378eda158f6b6811d7711896c399de043c6285e71746e3af71c3a238ec72bcad3aba158c015172ca0b6258be98c29c833b95f36413edee1d9a8936a731521e09c4122583f4044c9c3b3210299c659e3ee9fb893aa2703f912eecfd7f3e4b5b97f0a99ced4f5f494c9df52d0d8f121cf40afa29a9ba838bfbe7d67fb8e572d6bce9c390f65d86c44b0507c3b038fd5d8e0bc1db51eec6b982a93a0748a805eba82bbcd58e1374756ac46b4a1f6d9c04bda2df80f6c0f0cc542ea77576b41b5d7cef59d43a20f4f4901b0794a315f2741feccf98b49fd896193a7fe6bc3a0dfd998e97498118d025a2c023c53260988925d2a390255fcb48977fc117bc31720b74eb645d3ca299ce583e692d6a04f3378e2ad4b566eabdceee4b95fffaca4587f21600f4be851ac2822b878659087097289ac8f21ecb63241118ecc28547722a36f5b05214b4d351e6b9f611b36a9f844ed574fea4213e14b7b2d761b67a721613d3dc9f4ab367c0d5b62dfbf656b9fceca190ce2be6d94939c629d1df603e280f6dbd53d848b33cd9192652bdf61fb9a77e7dc401ee7823577b48b8f5c203412c6c0c3328ad502c04f4a481a69395557480437df0cfc51d599977de71ce7260ba89cd96d77d69e6ebefac5f0e15def55e8e64a9e3e0167b5fea0652d27d096cb4c527546cec13fb2130eed3c2dcbc19f14a19726407b9d9371be1d6d4b2193f5a8a627c9c18bea643e0810f38821e87525626e637c2ce2e498348029ef739c707e2db5fa3695c409420c7cdc38c2b206399ddc52b77abb636e43885514360c97305eef0fff15a182d8fc9df7cb1f293c0aee0b0f62421fe9f9a57d32bc7726f00309d08f0fc020ab01343950d8d726447b5191349dada4aa7f5ff7e2910673207dd46e7addd67b83bd9e1d432573519c9f67111cef41bd296facceb0b640ccdd14217684342b1f9f1689abbc289befbdaf51011ae50cbd846f5c723a3c9723c7832d1da0aae42b1eff95d63fd4f5e3341895a63833a473f0d214a6b247e72bdf80defe4a628a718d957155e3e06378176c19a0b299fe43e3a746ebff3ee7294483925de676d14287a26e5145067538ec89b26e0b6d9337812e2185ba8640ca4503a9b474f8dfe1ec9a493bb78d25e52d8730cb0936171e4605ac0307db5724f36a51191eff6efd76386e5b1cee9dc6f91246ac906bfa3f2009acf0583fb16b1f6dcf75039d471f861e030e653807b6db4728c50bf8952ad49ba04017b1672c4d857eefb869e51fb46d284872fe05c36be9d67e0361fad4efbc326d169286058b69fbc41ce2958390b1ca68b4edacd1a8c26c8f3446d051401e9949eab1872d10549e4f5c9a625354258fd453255e3759e5d54c992737a570bed9d30757b45895ab9bce4409b836c507738d1074af6b005ae07acbe747089f7d8d6931923131fb25a1f800624c773c5b513a2ab2d7d4ef6231cedfc966db0fd8f0ea2417f5a63902bb024a9274711acdaec129e66b2525562ad0012c9daf9d1fa7ea383bd72ee8c94acd05bed5b37f08bfc1eabeb36546ecd2ec694d75a0d19345130da6505ac08ef6269c35a306d7f73aaf02d107ebea138ed1fed77a2d13472cb5bfaaf27d80d44da747f86f6e37429b3ccd0e04a346dfd5515359c1c59d5991882e25772427b97583c535e66c60b619e0a2950b4af43de3a556d10701ea86594b1c6e970f6ffc5bd41d32f85bad864de0370ee6764c51e23bdb29487bcb6c89513aa0872e0eeb2ca8e1ddd05c74f190c1cb0d2f2d63a727039c73036bdee3ed972e7d272d346cf12a503d41bd49e40de92d7d0d12862003cca732757e2a0061a68d816728d56765f7975bcb40405bd3075a3aeb99b03bff77b92f2398e2e50a4c5e63152044f7f7506aedc484d9b18173058cbcc352289f25ebc41f13d7f4e894866e17223ca9e718acf15904361f58675ba91bb3b55696e1d0dfb1f0894081f12fc696c4e9826142957b881f6b97a1234e64bea27db617c066f448b2b16f32738394272c40a8d88a782bb099b5c3cb1d0400aa8feee2335ff10f982b319d19d3151474971574ecc3a594266cf7fabb7bdf3f1d1e0ddd71bc9536d9620990f357cb21f72872f7956d885eead1ce57e37295f80617177d8592bd300a93e6bf0aada287837f25b2fab94e07ba79a010870eb4424f9d02d2706bbb989ab772b034e79e10b390db71fa5174249577619b8732b477fec077f167755eb4b833cef494ab15b5d722f73d6d077534c091497b5723685c908570b8d52f9812450d78ccb7ea48205724e2763e19db5e84cc9f0069c856f7b1a7d78d3fc3f5dd37e4cfbd875e045f772aa97ef0647122c9723f72d467c749bb9eaa27710de8131c40c658dec96e87f662ea0d69b8a060eb4cea912f34bfc5adbc2d41561e13206273043becd35f2a272c3e08600cb323e47ec42978cdc53e772d399a16ff293d77ec471007c793d774fc73dd420e1f7ace169df20555f439aa4311e540d83a625634b2ee4bd51fe381377d1405545f1870f3d7b1c16e825190a06b8855ae961b2c6414c14a49e01cf16bce7b03efaf623b97471d5d4b2ca65c51e97f1bdfa0ef326d823ce3488e684725cdf013b6b9bc2dc1d67ae8e100485bd6c06782c87f9068df35b850cda99d372cd09906bf6abd26a6f3728f0a471fcaed672157d37b5ca8ae5b74772956e9a70e5cc6f05de83593c7228754ee4ce18657711bdae4c39ad4238c8f12e3c531272de3f0cd487d35bf25ec37522f43c56b480ce7d2cdcb9d474b8054d1c51a8716bbfbf1c00d087162700b194ea29d2d673fdc50acd2e636dc324e612c48b574d3a6e775a0db997859c89359b456f79a442ab55ebdccf413850f5dea5ccf62873723df9b80e255138bf971db65e16f130031e5dacef1f329244b0093e76a71b780bf187dfa2581eca9a790d18a2518458ee73a98a0f37acfc822d45a714f4125f722a8807dec25407e3815a0da729077de1cebd9d0eacd48e8c5dad86f6185e972c0ad5fc43c8ab83c2f235b73ccf8fd4607fcd4641bedf0a03772ef8936d2bba62fdc051716bddb3a6367f09f8010344180b3668c6169e3df89005a53b4581b572f29394787e2c6f1292cac9b69bc364b8595e709d4e4bc0658ffef00833386f72e66631ba43a46568aeb112be4820fd69ba3371a2cd358ce79505286693790c7241460495da114f96392c586360d524ce701a1902f475a9fd40b94a99eb2e2d6bb41a8c68fe54edf16a18159d5d905197e3ca2113a4669c5cc2d0de95cc829272d321bddf565c801d9af31e2989d6493fc137329104ead0c29350ec7bb7318e0fd2d868245f85147ecbd22f861f6f879f61b6affb2523622772dc7eb43e25b8726274e516c7f7872a9be06afa63cac0f9e6e7489ad53ffe69f8bbeb92d39bcc619d73166ec27267ca3a669cc825ace8f5019989aa4abb431341b1d7330f493456c493c16efbdeee7c7642aec0569d111af14a8e8bc3442c1c85c8d7bf9360b37229ba3983d294d4f7b8fd66c52c16a54e9f4c1c55c85232df8084ccc01cff0c7272c2e03a8654050630c88c6eb1aa100a237b1e31e156c5ac8b7f6790b50fea72ff1e6a1a0d5f86dd5a30422b2c9619e275acea1cb16b267eeba928d986237b7256fddca5c33bd3ba5ba656d25595044dcc0f4e30e5973273789b7c44445826725e25e3fa0f523ce87a649446f6595e7df7868d2a84ea045f0acc7bca39e6d572f235773308476ec7b703aa81656080bef3712bc72d163058dc58a312944dac30363410b05caf645f386addf6f881c7b97d6bb7037c382e927d84a999c69867726528f0383ca31f09fbc0f9fafa406908b35cd47a78f9a799973487d34e90b47247bfcbd0db31ef089d0d8ee7bdd0f34ec7db5126a31e82c965bbf937e8d6c37233cfe8e1830985e90fd24373a4365359bfadf40516904ce5b4431645c1761d66a137c4512ce96d8522069e6418a3deedc7bd11b2c92b3c7c5659bcba29135b729f366fa2a916e1531696742e731226cd9badb767650d9bba5b8f241811e7cd72075d90cf1170814ad45f7e349333f6aa4eec77cd22be854d60505d57df822a5fb53ad7668100769e63ca6298b14ff254c25840a657e41c1150a44c88750bc2728832c3c14ada4b0387efb3142446bb1c337308d1fc998418301690284ec13072830dc242875b3c8785405ef02320deffa2367988179fff02d54d965f19f54f725634b342737ad955e50a2d9f31b865c3239da74db040b57c6572a54d3e8fd9069a35400eb9a00535b1a454da13df89e5e55165246359b64ebbd8af3298123172d44fd622183cfbdc5cefb8110f8a2e6ce1d9b86453cde3cf59afb2c6046d327283da2fb8690feb56c8f32dae112bccfede1c0da3b835f15cb5af0ec48686df727ce5daa9c7f1fd5728061b5bc113757832036dd28760db0a462d2b114c25bd59a22bacf879738e1cfcf1823f5be02764ee33f5dbbce1945ed3f5c97cef68e7443bd76b64436dff43375038ffc7db559bc9ce402dd2b23919527ade1e163f7972e6d7dd3b1d0bc826cc7d2f53196d70469c3a2c94df130bbacb303812929d5972d08da292fb563876111c7998890e7c9875666f6c0690da17217ac2d2bae8433cedf9563925aebf80e25252df01203f37fa0c8bf1258d6d455abf97519f116272c55ac89effcdc8bb80c92be8502c96243c7fdaf21de068639224ef0687e1f172fc1531922e6d60b6a66ff820ac32f1bd3bf560bb83fb2c97b3b09fca80a3346852e5a75853fa96151032f15acff30507246419db82184beaa2b4448379b5c1728e31a08ce7e26271b1280e789df2805adc13cbc7f517f9ceeab8ef282f6ca8325ab484501b77c5d732203066f68727641bbcdf5a1be7886baa9d00e71119b17272bd1a4f6c49b369a5a1a589ca232cd5a763e060f53c0835724139f1a885dd3ccf388b1704d31e2414dc236ed12e74852dfa158d87823a22a8d43a4b7118da72a7c0fc0aedc9ab5c2971ea53b0d1dc942516a329ca760eb28cf08a6a4a8a78608768a4a44c620e6dde7133bdd8c87aa5154263549882a506fb08349659c3a31e0e2f5e0732618fe91e6af9bdd5bac98fec60b517711a67e0556b05b6935974722b366acd7d9f9f65a34eea991539283cf881e72ee4c490601ddfab1a2f655d724918255f341e92067dbca1177ecb2243964239c61941151a3e588d6477a1097273cee7ab2806dd085d0830b4d6fd2b0a7c5d912d6fb23f869b05dd1dd5a80772b94482fbe9b443bd185a2eb06b81a263bc7ac52df5e1d9f60df7c49141a77059dcd11b6dfe42541e85030300f028bb602420c8a003ef1f6ab7ff9e395c4cf8726ccc4dfc0fc231b7e756bec8bc2de7923582f1a19a656dbcceecfd0737f4aa445932ef02edf7647f1767e26b540927c478bd66989a7ca9d99c98728a94133d7208f9cd13d295e978c4fab40fcba9d9e5c282511684e0f38b3c25b0244e962c16e32241875782e04f3c70ac203f5baf212cdf1aa3816cced6dc04580e94b4d672b50e3f924565c0c33f464a3bf464169a67395701bc6caf9926cbc018455e772fe78fb40075db8138fdef1a75aa3edf1a291ab788c08130566a253d10f6eb9572f414b01baa62966134663bced04bbdf498ee1aae6af6869b6c31f266af6ed9612e253f5d01f4b3091fc3a0160795e9cb0cbb0e7a6074e6e7653190d7de189972d0c422dca2a3f9a55ec13510bafd3f34b12ce3862e47f76fc6bc7850f2064a72526d03afe57f5a86a8ee9e00f868fda737a4f11565c4e42b02a071ffb3298b72c3cb15942e261a491117a603f73fca9e98b24649f5038a1ea83757028f4baa29e803a21218d77c212f3ab730ec07ddf30c1bd4c9ff5e52e0cea837e23a9b1d7285da6c14d97ed1a50477f5071ffb876d6067cf2045632dcb85b3384729945f725930b5105836891e5cf252e2a26d9c72f0a78c3549e8dfdc8bf4294bfaa52d72af70b4f0786fa848749a526ee1901ad7112cbd8944006426e876300d97306f72b05efd8460eafbda87c6239313cc7850078ff76fbd73db819192ace8e8e29d72ce4778da0c6d0c1978d1bdbb93ca45ce076447ea1fd20c0c3817191182d194721eb21967aa65f23648da156ed6c350b2a4157b3edd5241a6a1f8b18c3797c072612e8039341f0dfcb095e7cb9236e06308f4b624bf60fa2fd82954a512c78a7270478d4175b270d45765965109d8dbc218d60704f37f97e2c99ffd4014028b725e645a7f56fe63bb51409c67fa48cba7dd64701f148b0a23a5dfb1b7b5c39e7245f6b49245cd9642f944f4978bd24b63e4fb692c5b398283035d25eaf310ac2baefc14f0573f3e9a5a7423c15227a6199cae71e0dd7cecfa562686b72f10af1049708d48adaaa7ee6856ef457b9f51581f75aa58b02e67b557e0fcf00901147272680979b27d246ca965c8946d10efa8061cc0321180c4833e39dad98940ef72cc95714dff618dc1571d3255a01cc8c1a21790582f68a505e6a5a0c4548b5367e355bc3d1832479f6dfe32f0809a572d135fa80f8db9c38b2a0b68451e373f2e834b7b5d0da965f70b178e08cd11a3ca69df10e0ffd36b199387059c3f6f09297782ee017d87d7c7817bd0dd544dc0dde5704aee0d56bc811a57d3f3983af50557772a94a2e43e8d8eea3185886005a60168a07264c8275d615e5b47a4482272eb27f861289e034d3870657975340fdffe7b3dc2ebcb9d2c2f198e2567a57d72fd88f183a53523d0a3d2dd5f31a3245c510b57c09cb1b11f8eafdbc617a712720c45a1332c7c0a86b1a76cab40bc880ad8c9feb4119ddf3c6e92dde5a3316022a16eb07e97c9789e20f7504fc195fc3de2bb660ed7588866b16b41fcc7c4c4721efa30561d71a74c17db8e8c9e4d991f1dbc274c4f6d7041418203ca2916b037e1cd3727e361072be5928901ce08b090b4faa0c42702a9a7a47c2944e9cac63c5416eb2a79987873a82b749bf64e33795141e3e8a1e7657f22f1077811b6457219707e38532ddc7a2aa848e4d6b1435969b846d25163a0b3a9491a1201acac72e9ad7d64d28c8b722bef8d03af9b8403b56bd3e83572eb0b051e4cf31104737242057857f5d0c8c8e7d1de3a96cdd5e64e69d5c7be0010712dd8cb9cccefc972ea6f441f168f883bdfa96fcc0e619e5d45daf4d2d39dd705b034f5318855575bb716352544420ffc8aeeaf96c031632d47f97ed6c0d072852a04cfd9ea4b22676e872b8b22bd724a10f00e236c8ba1cfd829e97a87d7fc1d9bb187985993b7448cb400c6792be126b04f9d127ba0b72079607c4a8e7acf5c24762068a987da7235ab417117ac3f6412b1641ca875690af5f8f884d6acdb391eba92ed3db5691f377da3c2904ec2b6b0737d1a98374ceb4ea036258bf934dda60a516f7af0444da07274f4caa66afeb3708e5abc25573b9248b573593eecb4afa42f2fe4b41c7207f5c93d2b39fa0d84ac67d05df5630d3ee6e9238079d3504f924d78c505e5723c74c5f85a8be68c6030c1003010c25a25bd374fc4f0134645442aec4bd902726c991aaae3e2e0fc269c16a1ca789a1cbc9567df496a31311245233be97c92725a0951f01c2babb599895e84e05d69a9e00be66da11ecc11807a5276b935f733ebcb8e0aade4cd133637cdf1ff352a3bddd63d71774f8f2921dce1acd4967c60ce8d3a8a144625fce6f301b9cf4e5e421fa56ae649d33b19e7e9665d5e194b72aa6a7884aabb116001a9165ecba510f58509c928d271233f7d6e470feb77cb72d509b0c95f238b82fedd0235211cbb312aa22736aedb39a2abe0c62cab501472f547d1df0eca5849bd227d01ae8a49e063bf382391e277baa1a69acdc339707281b2521f6a44e6465b9dcaff9acb6babb33deb28426e030555c1a4481816634090be849a1127099f21cf291a5a5d91c3b3a0e7b5fce703e860cc3f6b159e1a7277e9f7369bf311f9d3294fd30916d71c8fbf632804d964d649c3ebaf876ad17237f7730a65f1705028bc07079d05e1b60e8fafb10d67b3c2dbd357761c924172d85c2fb2620f06a4d981a7dee74101059d330893720d850aa9118b0936a8854dba8ce06eb5b40e533a6d41a179c6f2efc34501be2e6e26bf29b41a89acd57d58c4956e1c738a268d5e9023928d8d78132f12ce9a36db06644bdf2a1706b0037239148d782e363e0da2c7eb453f531f9a2643b8e21da8c0178be16fcca314127229ae387a4f9005c7aed118ed837dcb376b8bc8ad734a77431c8f73b6e2f1af72bdca649a4e8cb743d8dcdd136cac4744ead5f14caa4ccfe82770b783cb4e8d67aac8e195fc8629b975acd2dc10999c944f828be3c729cc761cdf7e6667a1ef721f3c079802a5eae9b5234e2e56fe8ce028e39792c5b98b0557a415a91fc4db72dc8a5a1ed1d31cc2a124f07bacd753a8deb0bd4201c928cfc26f23680c717772ea399eaf8ef7d3f3439f0985bc2de29025ca1578207ba6e44271f58eeb48e372c007edd33213db66986185781b0fbe224332baef33ac86096094a6be311ad86de8545738d1f1cf960d8a38db0cebd9ea32691cab771a1d348e2589919728b43e4a917a0b3fc785ce94bdcc0bbb2f9b19465badcf3fa91f9e30405284c2915c725608ef8e4f5c98b5b881923e3b130aeba43e2db01ae79012e152e8febb742172e2d8a5c566310b81da34ba4485bfd72c9c6e46c70151dcb10c486c13b01fc07200b6b332bf425edbaa88538077ad2d525816d5eceb00056cf6889fd96845c853807dae5bbee065dc5bb6e78971190c93729c1ab2e4bd821afe41ce1c3e52796e4c31fd6961e3dec7a57ee06a8258f4c9081e61b9063f1f24f8da4f868b5bf3720385c52948fe8391e6e2d8a321f1197bab9c223c1a70358556cbde2d1747823615660b1a4f13969ac1d0abbb9a4dfe4850564b2235086186cec57bca9e0bc455dfb7cdf55512c28d8f8897a35de92103b5cac97cc78e2c9310cf30c34e1371510b36961ea9b29a0895e5fc26c483a7ca61d4c436990c1ed77bce154850390b7229c78eb503f3b57da4b85cb61425efd4c98a423d89d0f9c3a5ccb7fd342cc572457d4613f558b4bbf131bdb8515057c971c4b8ec674a9c3e47da3f1eb2864072fcce473e6762160f5607ecb524aadc077a9c934a2070f7ff28b6f616387729722240a04698b0a75d9491a6009784621f1ea64aa2d7410cc72ba3c69e4d0507653452e1391844d75a466855d19402630b695afaca85d202f13a4c05b48a6c0761c533e274e2a53dd7558a440030cc15a8edc60506d9e33bf970f06bb800613d2b0b4d89f2b8c3eaf75a54fdc1fae13fd9488082c95057f9ab800f438ed084162ca18c2d6c4ee3296e0510252a9e5e47150094d95790288445ae596f275dd47072dfe931901febd766215f9104d26cae5dd92d57d80c70925b5beeec2c5e21055d33c51673914b0a651fe0384135f6ad5646f0a761ab11a08011417bca89e68172bef3679b2d44cd65e648a60620525cddf065d061daf6d9a3ace86336ca294072121dc39974106d4d0eb7607cc5058a766e25e6583bcce12b8a73493c1dd75c6abd1b7a31fa17536d55db57bc55a455cf17e1e890dbe0ef4df3c62daa5069064e78203e5bb999b15bbf7b803b7168a75fd2c92185e3d2971558b34973cea1d14d434117a4c412293fe17e94adb00090a4b78cbf774c2255171ff0ca9d3bd041720755ca5814d2452f487d517816f59ce00e2224f3cd2799870fe8dbe6338dfe72b39baff1d5f86a64593be8cb587db53d39b3acd309626fadc7afb5398c53f672650071342115210beff5dad54bc298d4af57cc23527e22f9fbe2ae258ba4587295a9e0dfcb4a0ce40fb91584484846023c0eefa0170c3a453dcc260a90d45615426c3ba7538da4f129a9fa881b838db5ea93bbded6ca6a3d4a6c77b70deb744d5451ac989d3ae92febb112fd272c7a9e444b4ddd1f06fcb6937e974774167b3e8279237df51bc04c1e567d184eb1a75be821e18c68220744d9483feef39aac3dced36e15124c16d6d36b7ef2f4cad890bc7278ff0981a1867923e5b0e0c8af72fbd340308372ed781951c38f8ca35487309e3b8e303b478374883998d75522724d16ad309b6429c9194e07f142680d2901d4020d26af74d33141e974bc8c873c24443778964596d8724aa02cde77e691f15b2d054357470778aefac204e7cc72616b6c65361bb39db9d1bf681eb3b6b58c7b90c1885fd4094903f65444662d72dcc9618f20aea20ab87b46963f8819f99e2da530d580fa637b2c5e3ac27928299f96226cdebcd85703ceaff00bc0dbb5b8793a37af6577b320a3375334000772393315480d84555ec18454b243c86405aa6b55dbf55742bc1aa0d3609898564990e5e28ae60e55e899790e5336c1fff29e73d000eca63fcc1225877b77f43772f7e9c55963e714c72faa8f3fcc3d7553a394400227463acfd9b437b1050c8e724803ce967501cea9b5342c070265130190509a4168d4d474bc3a12dd337245259d40160539327f0f6186ad854df6e1541b81cfbf8906faa78c548f440a91c672ba2c5fe178b17997b91aa29aa0d4ac64797c375ba17be58b34a86959d5376e3c2d7cccc4280c2e7743b91910e10bb52c7446ba745fd7f6d36c82033dd7af0572cd2fece548005e251014fe08cec9cafb1b52722788b571bd340e4e7e1709440d3d8dc16c2889505cefe6182cf9e894ff87bea618d989fa4d60bb4e8f022f3e63880825f9a0334ae4898bb125ef02a273bf16787389802d2eec5deca974b7477261da98a8cb1be4b9564a2805df6b33e753b678e16e66d690c7fd69758194b86f6805e91b3aacd7c2cf63b503f6f2227e325dd707891ee6e412b63c3e6ba02772de2753afdbc732f286a3d513d69c165d2a35cfc20c00e259a5b4fbb819899d02b5f39d2c3498755d0d7e31fd51e779418b6bcc91a20c86d7717d5b7e08e3d172db0644b7a7c503a52899a721aa18ef333ed2c66876a1896a668aa8f6d767fc72a7d6a16a5b19a746c615221992d09c70293d8dfc941b51f76cea1c8a5cbf8d25e72a624efe1ac79b7e586efb9f50a07f2838649c0b74d7a7254d6028685d9872c30c091a11f58e282a77b5b0f9f85b8176abfc04e1804e0a93ee7b3046aa0412424e4f8b2ed492cbcce2a98e1847e868aed40b4ff6f8c6ea9ac10044e76fc77287875b5deda795088ec9efc6562df2281e4943c548596607b0dd2ae1d3eef90876237e5302c660bba4fefd1b322e56fecb155d2f8ba419c3a6210523cbb4151c77125bd247fa01b348e5bc1b7977c4e30fb37ade76573fbcad4ec3e08011632c9874541c9bfa44bbbe5e4d7787d7d686c58b094450e02c5cc5b5c4f3220bb50ae353e38cfe2359c01534948789d251ce15dacea64686e12015a66a51978f337210f7d9e8b751924867d87711e9aa8f489aaf14c16251ec3f57dde1ec9a43b951ecfafed3ce435ed06594bc1c7a538672b2f29c49ccc45fd13f84e4a6199cfc723caa60fd6144d06c0f2e8dabaecb0c964906159b003eed9e034ff903c093e811bca36ab6ab512f91c48c8c2539fc46fa591dae252373050a617d9ce3e27c9a726722b50d26076c6df448e393ff3af46c813f1532604192a72f0bce0da818031e9ec051f1e33e5856877178686926cf67345c90fbdd82734ce38a1ab71347190a2a2e54793394cecf411f3adcce4f1e8ab4aa1d5b1464d01bee4e59bfa4e00872069b8a353a0fa6cb0f6674314e7668921718a58182f686a09e03899f51cc5172eaa1d5946bad7b826b002e5dd9759918a9a56ca5e62f36c6b20220964653e372086ea0ca3d8ad5d30b4194c285ee02ce1979d185eec84e4e1aaaae55fb64023acb6dd64541f7e82c07a95407a2edc5452c41c1ffd8d1f28a92e4c0fb412105171a2bcdee5365c825f541d9df55da005cdf4514fea4ef6f8dacf83075869faa726b7e87ef839eef35dfa4ee86abc9b89839bc4487fdd4a12af0c01cec04abdd29dd2439c0ef81005c4c2f4879b73ed301fc7c17744d66f2e5125e052e7a16db5f3030abf23f88a14e902819083776383e7d2564b925aa1990179641947bd3ef68bff6a287106be7da6fe3857ffc77b8f1cb02d782454b41064e3c236ea8ae2969966c8281fff7d1ca6d30415ef8f085e14a80f16ab60ac26e8ed5a0291e485772a1036a9e055f79222384c95d8966158685c84f227fe1f7eac2a1ed4de074705193f4d30782cb125bdcd8c087632702bf0f312df2250c0b1b652e629b99fecc592cb0d115def68d71211fad1e0b6177b20436aceddff6e971c9675c9ad21f8272e66eb203d8298697d1476245a9e087c8c19794bd1d2155b0ac337e05b3266972242b2771acbff018b95361dd318e17be553f68049f5cd6c65c182b708554e5723caeb1528e937368f76d07b2b39591c3e1c3e1a0068dd7332c7216500686be5cf2c5bb3f93612ef923844d5feafd386dff726200b6e4c4c22fb3400ee9e2d372ec653ee772aa3160b6766e470173ef7fe434a2efee9ad0fd243f4ffb81d53972e2a26935640fe4437052f27b4626e475d928e7d30b6c1e67ece4082f4b3aa772ddc2676eb4bd3cdbee691b172aa19311aaa3ed364fec650be8ab7a70d8d18a72795e4524ba2f7c872e7005d0d899626c4651f920c26d7851f863fb103aad712e157c91c993c5a536fa7055437fffb8dc8123b8baf91d85a1bf4146597e8d3c72fcfcb2daf0cc48262384c6fa8f73a74ff82adf6f0c4be09afbd6ae687bcfc772e07d5b5b60866fd34c2c8f490a110c4f42b2731367bf4cce2b05d0937222b21ba8a7af3b65036f05f0206fdcc650b0673dc6fd8dbf490e7b08659f2492ce5f72a7db5d17e96247bbf76e4fbfd7345d052c16e9542ff3f425dac1efd4f166e67242933453a971ce18b0501f563f1de99d6f2e498af2cad9ad5379dd6c2ed98e0b67725fb125034d8b7817767312739163aafa16d78e0c1c95f2787cd5d0a6a11f1868f792d316fe9d97af020bd85bf5ca5b71f97c04476143e53773222a68b172106696f22db131d4194a8bddecb60be2fc2824a1fea15df6f4ab6a779f4d1472252345fda3bbbb9c3fd43c1fb514ddd1c8ce906fb88237c9d25c79cb1fd9fc722f40ac98b04f2dac65e7862755c35fa8b00973de3f379180757bfe8e8e1c71723d9d20e7b39515cd1bc49b0017ee1b1c0ec5ceebd9ba86c5ff2051b7584cc725d9774340b597e0bc5f7f61afa8b275e8144f1286cc246353e649c8f4cf386f72a240b9b5d70f71d980447ab922c0da9243afaa37929b994db2a53b04e688b61b46aeb540d942f821ceb32394f5f670e61b57b4b0c2ab7a26c83b1ef0c9465a720a7853fdde3947db7b8129b545a9b5608e26be610d0ea8f7e1ef11534d8473728178874856718e1e4a1bce5e3508b55e08f9690acea48449296f1c954a1a1f084a6caed5151c87c43c3cb0a57876c1124b52474504ceb4846a2872496acc1c0deef9c60ad10c3523e01f6d5c00edf8491cad95d96dea80c7e72533305c07435de0ddba2de8434da2e4439daed82f5de4616e516eefe0fd2b254f8dc5c4e8db2d9ba32b67f94be9d3f9844f8a4d5b04da01f790a674e39e121aa51134da07d2066f5b2528d0ef651b0cfbb2d9f8a35baa338c0aa8c2c7aa866a9f1b8903b66e1b019a64fee1127446917fb68480fdd641885891af5dde37933a9b2c0916fe924f0bcef47dc2ae2feba36862d608d12c811e634c2c2656de3fa78effa9295919609da79bed032672d10cda8a9f8962e4e85d8b74a540eebe1822ea9b2ded7e6a13bd1ee961ebd27740de3f50713b6c347980fd1f0f508848d05c6024dc19a0295953cb2d5cbe18295b7f8087ce31c2fd8aba42ad670074c64fc08c610d2647ed72737b2dbe16050173e206ac9364aa72c8daa148077d3f4188d16820ffb1747072fb6ec54441ee10415851137314cf8121ea834d0a1cd0c29ceaf76d310a43ad727bce4854ef53b04d2bc56a9c16106e90dc21e19cd6d020787901d4cb582a6a72759a5b0fc226c555fedc30ad439777f0baf4a838536095da582f7669cf216e714b9414632575f0b3810d2002d6a03a511476e3d1b465f7a3020402b640a88215f1c00073f1c46a267648d6403d41631c865c203cafe7001ac2b5166e6bb7df72f72464758becde5c7d89821fa60b18df2232ebc77d7a080c24800ebee1c459565247d7b07a4eb8584d325dfe4cedc79f75443a449f8ea6d7e5f779610709d260472f5ed353cd05d9a24d52da9bec76c866549b3de19ef07924eb7da1c3ff517241245a26f8ef91880ffd0fefb5b300ab21feb9574af5cbcafe1e73cb59df3b66b959eb04498704fd38c491ae5cb333ee8ac4be9dbd8f857736e8fd77df931572d59141c88ea3adcdb146d6ec1109286a2f8ce63aea6fd4969ec018fc87ea7535a5f0dc114ccd679e74bed79e419acdbde479957ce428343341aa7b25573f79507d99ad371ed4ec645439679b8b5879662b8fd7a0a79b521452a482faccd1be723335a6489fb88e7df659563e98b7f4e968576a5c2226593567f9c75460ff4f0d88d105355815b5d804f64bd44e830d7f6d85bdf2d6582b464bcb4d6688cef12930126974697da60f168d7e71dfcf6cbfddba8d5af9451c20d6bcb742d093f07231d948b4ef25fb18f8c26e3deb38904ebdb045c6aba1c2c66fb5aad8f4adc072295406d7911b00873023d1a857f16b2f66af04e1ca3d1bf223c79194d1b187728010637a652ecdb8f8675316bf3d31b75406e71e47c46448b9a86fdf4dc43272fe8716e0d6e67771feef952011cbc2059c1ce734fced89443eb6ac7cbf0859289adec4fe9fb292ff0f695b211e23de214d164c237fcfe7ed4742c3eeb3c00972e476d9dd883d217bba837959eeb1cd6db2e9c07b4a518c520bc9f0cfa4b2a972417341d2c25410bc08ecddb1d7bfd82911f8cf06b16dd0e474ad96e102d3c2580b360363a3dabb653b84668b1609057354abd0cee5b254201d2d0a0d2c229672c831f4d6bbe8d1b750ee15b59ac7dd9819e45b535f4b7c20d21f760e87398172a518cee03a026152ee8b7f6b01f462f41a82871a915373c36a8c98c47002c772415bf4c902bedaed4e754c7a58221afa45652f530e201c5030fc64703e59b3721b322f31171492cb15cd98a39254e4f730fc0c45b0dbc57947bfb685043564690faeb102658654af2858cbe12e0733947134d2f289a20e097c9adc45027698724d545b2a21b872aa3aa1759d91928201d073a329bb947f2544ad3c297a1426725353fe9d920956c906f5eaf234f91503955ddfa72b02e0fb2b0dec49c1ce3c630d49aa107afd2fb733f2c0ffbf135f71d83c3acfddd5d9ba40f67fe2f720ef61acd4752584213a2d97a4760f700d114a7f63ee46655d1eaf8e1a58555bb8d15a2cd0b84067ed8c123d5d2fe43c75341beeb0031b475ff72c6a73c6c9ca0a6c72f0b4dc8db886ce6fa7092cd30402dceb70bffeec054ab64aa628b9290d180072ed2d9fc767befb96529fae8e68aa1dbcc78ccfa2f0d8e4185539e1efd03f9b38d5ddfde84a81fe24119dcdfff399b5134b3e54ff9d41303493fe80c757c86d6e375ab8dc6bd6c5de093ce708085e4b2049ea109e24917d6ce18466afe65c2c7274aecdd14d9a96a239a62079cfcd501055c648ab6e4d86d0de348ec82f44047283c1b148fde83191713548f1653ba58b13657184e91a4c2709b20292616caa72f0ad4944d60851c7c7f02770885dafca57cfa1765c078fd1d9b46068cb7a9710afde7a6d22bb42b8f7dfbfd4e04095568e4962cb98bf6638dc2d1cb96676f1725accf552ef21f7fb42bd069750f863ac589ed6c6e7fb2dcadd068c3a8f53755d69c02d6ab991d29d1ed54cf3d0d1bb8d0d05434e5c46b9bd0b14bb03954a1c720d5c9c68596b254f91a3ba12b956094904f90aff378163cbbe0f7fc2c287d4728ee4e72fc469065d807326b6e400133af427c80f2ac2a6791f451cbe31f1130e5fb3e970832ce4ce2156814d72a09bd0054ea701be04f45f833abfc47a080e721a706be138f2ff747f4814843a95368ee5f9841928854f5df5a63dbaa2a6e67280b3d480e811f9d8f45dc8dacf0a6c9fba0d93460d24bde23bb482fa941f2a63928eb3be165c608a334efa4a5d0bf136b4bbd5eae2e7215d434fd3ed0deca772beb5e4a8d0310dbd000f01ceb59edc165b1a7005edff2561f1a271744409281e43f165cbd9a8f5af27850d76e3d5c6e1a5fc6d4238a72b7cd6c47347b025b0723f517bc145b7526e53bd1939535f5bfe13216fa028ffc622749427cdc08d7863f3244bdfa126ffb67b4d1e656f95c370e57fb3feab04abda08fa0fc6174b332f2daada26b0125ca43f220cb07e285a92f2af38ed5291cfc07ac282f089da9c7292d0e2319610b33d200ea3d389b6b279c7d586f523aca8212b85f4c149303772c561d21bb9ac74d479feca60147f3f5ee6c362c9c106ee76be7bec865fc19172606b42a3ba27547bd812a82473bec19f922f24d678caaed0f3a793a3fc358d72c20ce2cc0c46ae92fb9864deb69ebb3895c6dad1ef47100b60134024446178724b4d8a1527c2c48deca1a1ebbedaece30a2b4357b7c2146eb8844b063ba3b3721ac081f696a2d657b204e96f2463f477beab455824e256160666afb25033b6727f4b0696a42b0ba205cf6a5165e9ddbc69a75d2f77a09c9ef06fdf5ecc28ce728ba6f2eb07ab552290c33e83d3851ad71bcfbb9b1d0b5528828bb1f7f848845a6c6f7cabe729b84e63094e8f2e79adc68ef58fac3ee5ab9715c3194ef1f0ea725700d3d5ce744b41e89f693c9f2ad1bceb1ecdcba86bd782dee57437431aa7614dff12da26a05ff15c4e661471a8e35ce70fe17332e3eea8543e604c28392d72627b195a9977ac59644884df8e6b99589a32c9bde548b6932244b564afeba4282cac9f4e76e435881b8652e7c5df430dfe36cb5bbc222a4393964a86cf918a5d106a06be24b66b48b37e4729b789e54e8e5ebe19a7cc3da15f3b2e68d04f4b30ca0de1cbeddb3f99673bc1ed45e95d3a504a7adb86ffb28519640b68fe22ba72447ac1ec58601a45b0b815b0beb276b9be4112da91feb3787ae9e35cae791513cee766911dadd6f5ed2a4b606c2be86d84b764bd323d677be7e70639bc8bc9161f508429187b9af8f18cade69f3f62e0f40f7d151e262e3bc4ecc28991b56d551892cab554017c60e370855e69874d12c7c62bb35489f9a9213971743a382b40951ddf01b4f3265ed7599e25d7d4840fd271ff39bf44240a38c8521e72990a52e97a4796b69f60d1d032919671db01405d483b0d93945dc8da0a4e830f452d6b2c27af2839eb7909e7f130d86aed9dd1cc82fc9ed1c56d0ed3216bec5ca6a9728287069b41dee20ec74caffd57c9eb882ecced6c2e8348864ac4f86ab7912a7209f7d48821d7160f5e489f02d04dcd9b542c1ea1ba63f4f3a4ba28c8ea4f327253dee1e3ab7bf304f82c582e72e975d6d8e09b7cfa1f87714d860c91f8b2d372d3a5a14dca5daf0cd3876653cdcfd9b4babce598658508bcf79dd03f2665c7727fc81b06dc79c9d6ca0a9926dbdef25ec4489f67f4cf1bf0530ba125cf8257720b0c7416649c864ee136228543e007d247dba2b74536fe58e96ffa107b15d2203b1a753aa74081bb45755e1432da741fed38e722ad6f3b028ca543f47ec1c66f8bcb9c21a701cb08580d0002aeb9600884691d078bea17b7193c1d9c7f4add518c184dd6b3e266c13ae643ca3fed198d55803aa21d6ca1ad519e74f0fe486d721288aeb2835d89707441e957e8cecf91a284a54bd2368ea37ddbcd56ed929f1ce1a76e4d7d191dee3bcedef54b2b86cfdc9cf782146234f8c28536b38e1b2f7228048c9576f264f11888e31e30ecb9726891722f41d42ee0083c3b35a6602172dfd5e87d6d421690baefd4a1b1888246b5eb70bba319f10906b3178cf2d59f7277b669b4f7ae6b5436d62e78abf3c94907bb7a2b0027528ea56715b2d2a9467219eaf9a56401d73a6ca20cd4f7695360d6c40c02a8f1c89ffcf2a962843da61dd0e4d97801b0d47b9447d6f428375f4dab7806cddd73849a59d969d451e8c54bd6ab6d7bc0b787b5e85d10e057e5166b80cf61e27fe36008ce4923960327ff726253f16c5fa6e4da7aa91f4ff4d44f5c3e454b97f9fc2d3e0b5dcbb2114ab65b931af968ec60a770342589ab95d774dc22894fc592e541d1213efe20308a053c2c9577aded827e67d8378eea597911d621e859fa3e278b238ecc8b6f2e7fbb29de148a7c791d9440c3c761ea1bbed00c83cedf4ed9edcc8b94d81c8cc5e93f4fdf7d66195a0b1a59d940e255130329d185cc1be31c895ba58717563b9d201e722890cd91a8231266a5fe3006e43cb08b115960ed5c7ea75dab47ea5aa34ce77271c3abe4d246747a6af2a2548aefba041c07ccb2f73301486835928fd4d83d7281b3c6018efc74845e11b8662565b20e025e9702d534de1dff907ce61999e60359a404ff4b1707e34c3253c5d3c75cbe85d29dcd854f17efd911f10db4f70572db76d144bbae29e951e6b86bc28883487b1c9a512c507480ed023e65c01aa3723f0c62e6df85fd5e77dc8772693e4fad13127fe4fa33857b9b461f3accd6b5581999a25e6b0198793ae6ff5b02529423e537b974a266fd84f697874582c6456bababf3a480523eb47d8bd46a919a3bd8d01153573acc7d148f7f83927ccb25333b44b335a40492cd4d19c8522b151a48a8192b0838d020a863c1aa672ce20a725c18b470416fe1ddf39eed6f41024c1b2c1885fb1d19c057aba2b43e8f21f856df12fb604e2f10a6b0880cf29b592715d531071ce712aa176d6116e2c9ec971b21e986ce045e0d462ffed62076c24adfe4404789fc0edd89002306ef17b3e7727686244835fbb76a5fe99df366c533c92099701cdcc7415fec3285fc50e84f72176c4ed64e542e283340882086abfc6897c4eed2cbda98b645d0216c156f527247c412b0ad5c9dc4448347ab6d440c2bbeafefb8765c433b8cea1f3a1df747725db238c1a25bd50c42aabb58338484341429cd5ebfc86ebdad0369813b5b3647679f6c019ae7b78931a1e75cb2b5a9976cce092301935f0b529d547aae1b7172a64072f358b506286aea99651ae11e6730a14e22121358e9c78a2e97bb9f1b72c8110bfcd0e4c9d2709e401f874bb440f29df2a009fcb78d03df329d64f5254f12b0995a9c4c2fe60fc507148526f8a26c4c595c6106f4a94aa188be96e7a94787e0a6e1e1f0ee37cf439e9b067979156446f74fba6f97b4de24d5004d3cb75ce940d0f634ddbaccf765c143ae0186d39174d2c15ab7262c7ca0ea5a7080ad72d3ffac317406d07d55c735f1d7ec04ce36c4d34f3770cb7eec9b428f0f3032728c485115dbad1f558893fbf84c5d0f55946ac35c4710a028a77aeb6bab0ad172be0e228158adfc9a2e1df45ea00db5c95fcb6e7097509514491167473e840d5ebe68311e1349c8e2baf393857b9c9030a2937b8229bce3032c62acc5cd29e47268cd2948e93041d175f1dff623d9561b6cc662fd7792982860392c919b72602d4d4494046d96f5fe1500b609f3879cfba276a2803e98d0cfa76d8aba2e8d2a72587ace92d2bbb630f774e5dfa17275eb6eb423f71fdd2df49c7b8e62e76b6e3d3230e0412be31067b4c97cd05240c9ce58a0fd8bef2b116389ea794bc0d57b7279300f975a09ba88cc247abf0d76358aba81916cf3b9d48aa38dc0d1f54f9b05a1bd6f3d6a11fd83e2e9a702e1c147fbef01851235492ce0132a1008264a781adc0e883ee405afff8ec2c1523aa89264c0c7f501289af55fbf58bd58eaa024724f3ad3f4c751a624ade0c33b7f0204a74568c591f087e0c764461e4960112b5634683819dd9d4bfe76eab12775da169ecd8a6ab1f7e6c1abf4de7c9026245672b382f3bc4bf6f923cfc3f75a74c52960709754b91286a3a0252cbafdad8589726ef26def4a5571eefe51556ad9283faf511353219b863cad772ede287640fc1a57785225b93ceb0a8c3bc7e9dab23749c961b564a0f4e83cdeb37ebe1b13842e9aadf7806f1c52361243aca336b2c45dedc562ba661b691fce5e1f7d8db7a27278e98ccfe72b02962294a28449086c4b1491c45e1ce4249d8bd17e579fdae246311128538a7b61e00e3ba9f9c8b974aa767ec41a19ad0d09bff673d5ced3397241d654c4710ca66e856d84a17cc8576396e7aacd353988cf26389a853841a43ec890db1ece5b568656da921d40af538870275007161011c7cb5eacfd899fc1723b71be37ad5574b93203e6a9746050ab139b123ceeb7f3aaef0f6c1efcea26712da12aa85c87342df60326d42c5a877f6be2b2240fdfbe07f1858f6e1266a3725be212e9e5edcf035416bc9cbc51e97cc82c76dc1e196d754c5be546990f0172479a90b7ca98d0f25625ed4ea5d09a0de39cb0b4c4f0593b579467780325ec72fd4ab9460c6310680c95b184f82a8c020105d9778b795a468e440766b980dd1a97b0fe1469c0c55277843d8e3b13a9dbce5809770a894c2e38b47022ecf60d72167586fc2a7890a9c74a402a8b9081dbf18d620d8237d2c5b68fc73e0605ca41eadfc56f049f8cd83b6aa9dac225d9ed95e2a3012e6bd129351bdd6a17203472c0713e7cb11e80c756252e38c03a62ddcbfdeabcb33c38138f124192b574e5350ce8222c880fe87d0e2dc49b4f74909d0641aecd1e1587ad1f018fe6e360127277cf0446ee31c91865b8161c2b3d2c28f6fb6f5fa9fc907492c71805e1164472fd771a88bd8a0bf8cc22ae6c9d92a2219b50e0275040d6fea6031650cd449072d924b1a223bc98f5bb3e26015fee68f97a379015f1c777fb9191af02be1a0217d4fc92231e5cb71c1a672fe119ee46009e681f6fec88c1dd1781de87722bc172bdf487c45cedfb44a3a879662b79e0bf3cc1ec49e56abd12d8c675c8b5160972cec4970a445a24f0ba12d1fcbf8e93902b6b3a4ef7c984d91de36e8f38e60e207146c33b3bca878247bbbe179c7989b0f4d571d119141475a448f9062969ae72e13d15ca69005f95dc8c6ff039001f1cb1429570d430f7b5094a3f03f6592d027393662950be018a408cb48f62e66408f0554fa639a9c5d3cb3cd3af4799e033fe4177371274149ab18291bb9e0eca6a0b3d75b5b6e23a287323c4f8ad3aaa72ed49e64c4dd12217f9784b902b8835450274474626818c85c53d5df923a4f772a0c763e83c447265e2b8544b363decd872ef7e1e3e439bf27342ba8df290e235c2def0badcc66fdb55242c2e37bd14906e350f8d7dca2ddd4ad02706b37504033ddc3b5546734843598bfd638a6d865ee8a81bd9feb16179cc0a0faa0361c4360ee136ae1df7fc7bd20a14530e09bf4ed99fcf99f9249031b18cbdee1344590b3a0f0e45ca7386dfb130046f58a6338642f29b68c8066e02478f3f574012fd72e8fbbf2663ec4d4e8964d9d6d6774524b9c6417f3c6142c533efabedaad749300c250ea33d63cd92789fd96e167fc1026823faf380449b8181bcd9590f2a4e042accd5d9775c756841573a20524df2b7180a17df976ecd047aabe3bab1f64072333d9268a9daf65c85a70f1fcb4fafa9cdf32ff2bfbc8f44057cb20c07a3f87258bff421c91b1fc6e503e21507b7eacdbbf94bc841aa4fb2813c5dae15ab7f724e837d480f8ec4abf3352d1f7be56402843fe6e9b248eb891088913d0ae7cf72a06c6f9455d683d6bb3f2248fa19d0bb89328f038d12c43a8ccafe311550147215b02e0c7a4f2e6c8c67241096fc762c38a7a12e068b1131a9d10905ec696006ef297b85eef7ec95625dae430b3373087ddde983eb57951272452eb7168c082fc3d69c637b30e7563dd2d17a6ad1b93ece14a83463e9edca40df15e13239cd64a9489f92e37ec18705420be98bc8f1808d7ac8ab9aef131f4869867ea6f6da72e016a0128a2402a0c8f98050daa613961dad7e494aa2af6347bbd056fedc8d723dcc363e330ae2a68504be581f624832e082364a00b47a1adf300ad2dfdc05727151b85b1494f86183d9c93452035a0189040a8f66beb05b0e597e05a6501531fc1fd7f7592bb0386b9384c2781848aea2194ca2af8d311859739ccad682b617e1614c14bf5f8971316531242a66cab319e02ae365cbe7d8de7cc4e39d24a2460bdbb5cb06b9bf4ece8e5a40fa7760e466a4c02aace507b18b5743da2a558a6824f184d1ccf40ca7556756bd8a6aca249730c3e5596670e65a2dc8c14b24f74e201f62099c686f68fc947fde13d5bba5a499782a41fabf7cc94e7697827bab72a57f2d6762b3e30ba67bda936ccfd019546773589c14c0bcc78d775b2cb122720e7262be1f69743be2ca46064d93c7af69a43b8b8ad995ee99bc2ec194d896237dfc4147ae9cb64c39e336ce8ff1343a254343117808348c1c2e4b990a7654071960b5ef0e5cef8d656679c7bb3e294c07d83391849ecd0052c99fc87e510e72de06c2eb8e2f28a9a8b3a92ed59de6c9120f471104a78ac3f252ecb6f7c54272cdf2343dd1d535defcd5b3fb079dd632c83bab7d7368bcae4f5c6fc1f499405344f9681b8c92088bac43c3f3076ec4422e0429578665acde010af728f6269472a58c7737f2a0a45d62502a9d359c2bd1156f2126d60e4cb80306b501665ae64cf3ef929ef94b5a0a7fee56c7e725fed725f9e7ef4119845100eccddea39fe0720e65f6b3e4d9e2e393d84715104fee829038bd620f534d1d660eff6b361907728467528a79aaf643948ded3031c87b766d89ccc3f1564041568cea5ad0af0b72c09867ff5f1b54e53d37ba124a8921bc34b288549d118adbaf11f7d8c51fd241757b9ded29bd415d21f20ab7787ef11eeb3d6c55ed8a9762d23e221aad7ab7729f7f4218ee3250d5a27af0653a01881071fb07706e478a2ad6fe0d9464a01749c6c9874163a01c81c96c8ac9057a82b0354fcbe303731c003d9fa1d9a4c7a572acd9daa25146e0ee4505e8e7d4cbc4095b58c2ba266f60834f2f5e77e575f33a684a17b8c3c284fcb81e88f5b28ebd4e1d80a155ac2f87ccf4e3c17c0c5e6572e0abc6265f9e3e31d1b1926357c6724b3cfa00cad26f21c3b2f8e378d7730572c28de1d3570f0d757b7dedb990197ce164e2a12f357e7cea2f5ecd776914c17243a187538de3bbce4a14933fa7abcdf67a9b77bd12c0129c86a7d488bf646f6621f57ef135d90ff08f28c7fe7045ed4293d288766d4ca5907c7e65e6d1d6a07229a1ad32587efafb6f2df04569fe4c51148a628c68697abb993e76edeaffd228e28ae95bcc7ce81f2b78812c1b4d2c9a1f6b5dd0622ad3460cf581113567ac138a037ba3a24b89f92d85166ff9fd442d39ee725cdee0431b75d4cce5a8b2d24f71c821e663bf78ceeb35ef975762dec1ec71f8b2d9acbe30343600e43c0b3572ae04e15916c77103b75be29aee9849f1c3f94b62aa9e7499c7ebb91d81d38f08a69f89ac21e4e1c152b004ab00c41bfeec2951b14845e83bc1a945fe46f8c966aa6d1d919a8a6170221257fa1cf2b5e38a69fab5b7f4aab94176cd805c288772bccea3e2592ed60bf3947ffb1266fea64e742f4cd2d01042ee96f5e99278fb72b25e40d771177f78ccccf7764c07ba86e44e33867aa957cf175f23c3a7411e72e30d86b2125961b7fe328c7a620b3ab93db36c9321417e3c0131f095bfd2be7207203e97d6e72a736677a8127769c2eb46fd31989ccba76b7c1d537af81128726537300fc602f3e63308c812f8173942ca7b2f7c9bfc6adbd67fc473142d20531f96a8d0c7741e4e00da306c6c2262d6eae3f280dee714957f6f98079033b4720d61839a52c958fab558a0ee6bc06f28365d0ba93ef07577c859d342d3f20c7233a0f1334f407a6a12f6078b339e71041da21f97bf80dfddd2a635122ded3a727a836be4eb07b2b36d723b0905b0841ce8c981331031fecb49c957ca24d4e9724df3b4e9937a0aabd24c68945829930e4b4653a68809fa663eaa2e861baa1b04824122ef5fa1e28604d922ac65188a3cf1cc7e38b37704dc8e907ca81fe33d60569975ff23c96b8c8150f25cdea06749593e5404b5651cfb49ba125f3c8d2372b3d4f91de678646fa92b75ec9ac499c7bcedf93ff67661a60cc48b9366fe7e722fca928bb29e017a33665b3949db063629d281d9442c5f7ebe8fe2d609dfa96913803f168d7a7d0e245a93252f6f7e6ed543b64ef1378bddf4f3e16a41303a5541c551c6e6b0a85be1bcad0be29544bc72d86bcb49ffabc413acf923279d7972ba96e087e764fa025537998be90d3cc5943c8ed9fc6162959a7fb65385803150f971577eb5f95995be0e2a9e149fe1bd0d14ecbd87e788e3d6546d527d035772f52298c16b0eace2cba6f4be3945aa56bac2e41044d8a28104699177ca051c53e79fd6fd139ec7ea2da086b41489f51874440a85dbf4ee553af48ea84362ef02cc285f892519dfd8c57649e7d9fdff4d39e4ac1345d818c174a07ff0f071c772e60c838874684c106f636f377ef8e107cf215da014d4b637339fb390c7edb77274a6418ab53f680afd89cdc1f1b670b076f09cca22e472d3ae72bfd4f0c64972575c24600a5bc2adbe37dfdcdc571e103b99652e10953a944c203492ba3650721dfde2b59c7bc821180ecdfd9b71ba45d5719b8e4d2b11e931f1913774d59472b9ab7ff0f3e8aa55bb5eb9edb006c2e4fa1f9db600c4d2f64096a3cce224361b04f1d944ecfe1115a94ba2f4a2b79f68906a62de8a77435474f96c25b3d89f725fa1016cb822ec0c34d13ad61c7fa78a1018ec20e0eda46c3cea7b4e453f565ca6bf4e38c8c492b02d4d0995833aa0dbfa5d20603b83bb2a127b48d65dfd6f46c13e4306a2b13056e682c725f94e1f91425d920f4608c8e0837289e2c1b619723447711576e1e95cbe8784710a12a1f56233d2744649211705e137291a487d2b46604b637b6072ae3d8b0488fd0e5b687cd9169899eff1358885ec5dd9b80d72ddfe22b1ca97e565621e4ff9d1bbed7e33b87c7c9fdef62952db6390f39d6b514eacde30a6cfcdba53f187ecde67dc46c22217cf195194dfbbe5cf5ef2a5f642b623601898ce231f9b81b047ee6ed5f8c91b0dfd9523958584f5b042256d8f72be1d13f81f234eb426080140806c7600fbb7fd2b5093069afd901324dc2e54723fd4fe0de27fc786595589465bb0864d43c902f9d1e16afe90667e649ceb7137216b36df41c0e6ea57e4bac0e237c8d2cc3a9de0d06808d927e3fcb9faf128721046dbfd62a92316cb8e5393660839997231abab58e4cd413779bc3b1ed5213ee63ad8ece30191c89924c0230a63f2636233b12b7a6f9a4ccfdcd94018dc465a5677c1e6d56bee5a0bf02bbd15d37215fc31b39f3f7c0ab0fc6bb3a570309672260ab8cd11e48e6ffc25fb1583b759befa6e48daa89516f035bf6961b64a8272a4d8497f9f01beb88ba7a6e2431cd616ac5ef65671e51798953974b503a1b963c28217626fa834e9be3c711e86ef4a4c3898f93bf8e93dacb1bab51abf86887275350d3cb799aff93b24a3d7b61b2f2ac60449ff2575e1d45dce01697965ae72b443b507079d5aa76dd2a75ee2e58d52e4f61fb897c8c864423876de9a5338720340934e728042bed65704cb026c23384840b5c21bfc3b09d68687b629eae2341e204ec2b0cbe05b0c945adc6d6e83de57789dfb358ee526c41f71cc18fe3067663a4d80d66ea1f2eba3418f7b930f799a284cca8dd4003beec706afbe3863727fd3718461db229f989384f94b27d5abdfc14b444313dd1400d9340782eef372d778f9dea12688a3ab4181a035435bf52ee22613a9600d0e53836aba533eca3230db9f94ec4a8b0a2d823efac641ab10d5e8a4a1ecf53ca5659a26fa53f3f70a76baf7d11c3ea78a0127661eb4f023725f2c741fe4c7ec853615a1b7f3ea9e2663d9c0e0e0d6a99e55aaaf30148391b3a94283d95a896fa25c83f33f29458511c5134c76fd33990cd199060903b5afd575a36f4839ebf0ec790184f7ed58c772bff085949c0f5aeeee649a9e9f4e568e77b088ba829b64f9e37beda0b895875374dca0c8cf5c82b9005291f90807044518bea9c81539bd889e8e79a3394599512687ce0177a37855b0c058172e63fb71edff27bc9f33cd83cdbeed8edc0fe4720b8ccbdf6dfe4888157bea2605795a984ac86e4006064067f4abdf747646fa72e74d4b9c47a4786e070d2ecad30de923793a67b9f2097a89e73dea24b3696909bb3bbc30514f393d7b8ac638be54a5ff58869e1d1d6ba8dff8563d932cb3d97205f8503b4c6d1827434af84f040176c7767d215c954be65209c34e7a96a45458da8ff659411343d8a0cf6ee46ebfc721c5ad9a72caf6d1d61f0092407595722577b803dacb3aaaf19972b8e341bbf2bfc625aea4fc244eaf3094409b2faa497255dd63d1f480fdaa23d8523b74df8671b22783f6a2a70cec87e9ea221c484672b1a618332a1781c5eadbb3dc103a3f80a5ebc63beaae52bf72245caad77f41026a76db25168482771b12a72ddeccbd7c84563b0cbc13e242692fa96f960b557253efe8f0f097b1e3fd8d47c0586b9389f168f47de3d9ca7e1cd012b2fc1ed11a6a4394a0a9a48fd283372dcbd7b9a881e4ecfb2549568e1a89209d68606eb272e9b88d72cbd1eae6abe97e0e6873700478a77af0e4f0dd20e1a96ec9d851173168dc086d44320755e361ab87fb3db4195414feee9d670757553a5b07a2578a1b4e5c8adbb929966fc3af754d0636e5f65009b115cae1893740731958b6b8ab168953cacf30e2edd1bbe2dbdf40654ee60cf7cd94a0ddba8ac290e8807d1d7f72815533c1a912086cb39f3953d2703db0c983ea2ea24b3cb482cbfc494a058c54fec8088e075ed700cab88047b290a25b81f44ccb3ca91fddbf68b73f50af1472199bf764d9fef4740d88d556e65d2c7194e6b60cec6d21a1088d52aa47c8d07274a21b7d67c451aefe63432a083ff84af78f334a1ab5543b0cdfa0850c3fbf7261bb845d510f772f51ef4dee33fdd10c72f2353469653de3de053eddc9a2eb7292866d65b83ed47ac5c0aee4aa86c78d69ad21f8b29262c48d1ec7acf8999a728114df531356975b012137c6312c7b387389efb2c6802a872a3151ef062a53721db82268b7cfcb3ab4b0e062c65f4a94b14da3711814f2abcc90151654ac52726ab773efe2bc993bdee1d36b9085c2bbf81bcfa51d1f80e2764e91787ae23172222ec4a236a55da53b5019476be9adc220dc697cb3d0d7178ca24dab97eed072331f5f4d1e8f0fc7eb2aef35b42b4a1581e59db77c2a05bb68a437141303a1729b50e48e2df89c70274261e3a09491c9e5598ac20a807c95faaab765254050725c0bd95169f20d504d2903f3c132fe692a03e66f2bdf7616286903a0f2aff0728693b01d5f3739853729832f11cb97de60e3d5c2ad773e12e5bb28297e239872ef696a7f713de7c293e1a5c78622455b293a20371657c59c9146bfaaa83207727971c5803b6015b04014b7f29cf62f8132a76da9b5615ae69ba233615c367b725545f50660feff3bcd53b5cd5c00317b584225df64b3c704d449c872a349ec3da4323f9150e58f66dffb3ecbb73240e922a8010be0d906a9d33c3e86c2ddb1199a1cc3f4c9fba6e8fed4cfbe86b375159497620ff77993b3facf830794893e58feae4681b2d5c87248c3b58eaaf6bdf395602a7658c739dfa97c4e9594580972cc165bb16764ac9f15f351c68b799877ce62b2ec77a58e85d3d774b868433a72459f1812fab6319b2f09ac18f0411bb73bd4b62fb9487852dadeafb140cc6349e7510f51ab9e1bbef86387a33127fe75ecacef4cc47662fdd7b815488428fb533593f73f6b1954ddfd10f05ab387733f5c79807b3de483e888541e4ebfa6007259e3b5431ad18ef08e9dc06c30d753f4073572d85f76e7c21070f0fef3dbb972394ae327b60dbb6c2b9d361bea3b0848861e06dcd3e76c3a009768ec34e3c572d84453cbcd964edfc65166b7eebe96efa0e2dd58b39a60b36d7bac16c70efc29f466266ad9cc904587d935ccbf194adb2e210848c86843c076354a27880cf47207be3431fc4b222aabcec8b54b4ef9ea638e5360b1420c082970af2b24c8407227bde392904fd1523334bed58ca3f3729093fddb4a23afe922af59575442200eed1a1ab13023db3eeece62c53580c24b753a9b8039b581c684b3352484f9c4721a6ad9442c617dea145561b5c23b22695bea45af58c182e49df102becce96470bdc46dbb004feeb800145f43fa616e727749956010bab4e9f3ee81dbd3ab90729c13f73b991b96bd49eb135a9cd50ed38638aac03067f6ee3cf1172825004d72f36c6490fc3221ad852dc6f786abfbbb7f04262919f527f5b068c4fb2b6a1f72edf28315e1aee400726bfb19c57eff81082488b3ebf7274f0d5ff67bd11d1972346e9f25c760a91fbc00ca66b74bc4e5445cc49337dc8b8452452533c4ae1e72065384ccd0168cca235b0c22913e32580aa9bc81dca4b57dcd6be3f47d624e72a5d738518981c97ec96dd93c544fd9bcd116f1795689d4635f19abc7a1c3d841e43767f5bde731e013ba78256c1f131b7618704618994de3619349b0df1c2d72a666ec77a6dd7d0c411c723dde43e5204f0b7b9dc628d6a88f323e9a414b6f726b38645cdd856c31bc6393d62628f1ffcb491f1df40ff8e745811adfa75a6d72ef023e40c45033777815b38ce1c2a70a86cc30d58571ff7c3061cd8e02d16d2056f4af26bae5095b95782098b412b1de7ff6dc0b4d1dfd3baeabaeeec0ea8452493c8e4597307ff7e86a8b932e2e2e57f48c6dee0cc8fe26cbe4075a959e067245a107eafe16a916727a09f2fb26bdfa1f6c78b6e5475622bdd3af550ead50720650e57e758d57832a2f31797e63112bb7cbfb3b671ea3325fbdbcd9244f7339745d5c04d1fcc0ea0af962c84f0a0456e99d19470e44e9b2bf86a973be0c9d59c6a2afe4a92ffd1e38858fb551ecf8bc1ed958b652ac0433bb5cba2fb91ee372f469b95642493e25043168ed71cc0dcc9b48b35b8c9237606f7848bfbd5e0b724e9c1866c220f16672999b3810a8c89832d459ef80819830f80e94a35cf0d372d54b90b5afdfa831ae6f096fe049c48f291c8c21235689a8353f87c73b317d724d1f5e3a62c325fa9345c1a2cb936c3dd166bbdf1c6c36011ddd86f13f0ff072a2d8e48f34f476ad874fe53559cda202ff0ad264efa0ee35dea5ee2e0fb03072af3144da9e92011ddb01920bb0e928e04bfce6b91d0d0cf0e2f8a0835838505c4836361619fca1700da6866031e1b1b81dd82981e9f898bb8f877b544fce4c049915e9325ab49278f773b8d3732c0f3fbe84409c86ded180527dea020d596801990707e4fd8282038feb6d395e7838841c92b06ba0e74cfe9b5579bce5e06f72b164fc767ae72df1a8dde1fae27343b3ecccc8dc1cdefc05ba5a720de183e772620e0e3bc88fd4d016ad31fd201102fc4a62c47fee6095d28f32d575785aff220e0b26564d8fda9273229b93f6af5f886351bb5de09d66f086b682d1b261ec08ae233769798876fb02e4f2744ba0fe290c97ffb5d4ae178b89e0f4e7c07ec4724cf2e7bc833d06beb915652a1dc875152c3748866cb08b483527c0f27470c37230e274cb511c7dd39773791830fad9dbc197e073ebcae2e3d26e554017d0c5725a9d9c2eb781c0a7f3ccd94b50a20f7e2af42a94c3d626b470b6ce4e62b4254a4f682d755ab9265c2f1fdc9cf40f8730e3d7a6e7926f1838b280d8c302ee8f726310de4e7e2b9fc060dc9a689d0f7915eca7e78ed7425cf3cecd43227bf01869c72e3275b8dda365d7fdc4e2735ed5fe79d1c0a2ec58fc2506f515f31d2482102f53ce502724b9419b1c30b4c7240e588b4a1a04b6e23398cf52b67a6bb67e72a3ec367a1955f3933e1a48af28d1e1eebf73318516f2adc1cf0494927e4f25727023ca987f7f7d64b62a675f0cc87cb7f530668d92269a2e3a552bebcdcbea65c8f931a7e4f31a4e7cddcd08c028e539a2dc3ef7c25766e579523c25ce825a7250733df1d33b94e2132781a537d4a19fed5d616ac28073cded4246bcf3296755d47ea222520f3af130e993721df8c52fc0611ef3a173d8efe7beb87ce940f0509398301133afeb5f1cf85b5ee0daa0828030fcef453f571625c3e35055d65c2cb38712ec28ec811e2b1acb30a84453bd4b506854e06c49abfde9e25a098cc37200813cfd128833c705d5891d09df0760a3ad26ad7683b903dec7b7d2e985706c9705faff3bc6accbb7aa008f9cfa7914a76bd9599bfe40c6fe32e26bc0320f1e7ac713284d9845319c556e36db1f21f867dd834d5c244438f776b091c1b460722b9d45c583591c456632518a2b7d6aa3dadd1ebfa00e07af16fe4407a2f6c5390f62893dd2bf0922a73bf18541a4a56021ff610be50e7fcd367e9c731eb1814dd17e947e6583241080c0d7eeb82c6f00d64e00f2228d02853b4a3e01b943bf13da0822f3327760450edaaf19d3ab773b9dc013ea5c718a187f94a923fa454d3130b22a215de23b90c510867cdcfaa14e0d8e4f4f14c333c41c16d48bc0f8e94943b8f9213a96f149dbb93c98ad9a0aca8800470e2f8bc5dfe67b3e8db1f33e109923225d1e2c3a5d647fc884eb23e60e9468d5f2a6b03fe76c6d40be04bff672132aa3c855cf1eef070dd05c720636759f1dcad8cb1b470bcc98cc6d52aaa51c22c23c330ceb1ab0f6d45c5ad6ab2138c8b6c9ceaebef74458923b138d1434723a34866c9bfc3000907c9baebc9192ae0ed5794bc206fc9c958747a8a9543872648d1c24f93417cb03021f02f7250ac846c0df27e3ed22e7ccb2215c3f4bad72ab65e8a46963127db34b3a131e58e7bd5f08146f2ff199a2c5584441f7517c727c5d17be272c86ffeda95fb75abbbc907b551534e3103b93cd84af1ccdd1215cae756b22a050da1fe0f99cfa313d7de30c9b80a2edb103a4f095da8ee4bc38721f65e684967d77129f9560bebeabcd920070df2945859321152fa28d1291716e0af1c5685721c919be3b433903c2b69aaefa209c9a95434762c4eb61faf8015d8e0cc886b0378f852f4f53d78c5fa33a6b240de4efeadccb4acf81ea0cf3c972901a482c222e3a7d00c48465c647790d2661c2c4418c42e24d207873e450c1616472f2771c60b0649d54a6cccd54cc6ce6f38427bbf83e5a0bb145d6dc89db72e19782ebd65c205d2356a313e86bb626371723373a572bd9b567ec376921aa7265343ae7e1b236712417e779a3fd888ba0caf21ef96b8686d754444dc196d572ff084d203ade36acccbbe52ebfaa0201d77ec31fa536ce79005b51505bb193051cb447801c2210432b32545e43e625722531723f9c23a266141c7fb04f22067216bc2b8d4d1cf53a77872abc2d372c7eaaf9e606f8fcfdd3c26006522e0ad823d602f9f5241a4831d933c102584721117a6a400575d7212cf30e616f92854c54bb23b892a629fa4517b2accc05ad5a941a4fd9d5f2a917a8786ded4b61997672c15981a6f7d120f6a909f4fbc2a78e55da7fd5ff364a22ed2897fb15af5396140ef6d7e86142ac97a821dbf4d22f89d390dd8cd9ca2da67ddf04ea0be15c26697a0a12b71c8a913036865fc59bc7fbc423f5b970f93af9790d4c9dd9eeb5446debbeaac47580c0d5cbc40b5329a3c21f9e2244fca7c2a5d0d9eee6a40dc8e552f61c79d51610613596b15153a956aecbcb28b23e49082ee63e802372b8bb4572ea878bee7adc52e96a8d5388a9e2ec88080b331de7ba77b76a97cb3975eaa35886801d7a940c3ebb793e7522c06b3409575c3aad13b32e4180481c239df1fe727b8a0d546a7326d5153e2c83058bc67a01b132d45e6567e0c602f14803e2577236a075bd09bdee5d0b26df10c765b3623cb6255d5a301e86ae48a04e0671ec7266cfac6112b2c5c8a40e85224bf79bc188fb62186f1bde3d6222fd533bd8375a7c82281f49a4ab1c8e2815c18208610b234f943b6a8960f4007d675cdd0bb73c96c6dcddf4fd356e5632cf73bfa68c2a71c6894be5000dd149830d3aea06e553b97e8d02a123ff258add0e3c2ec2de428dfeb57f8c9cfde4f080d6f6c513ac7203ac3d6c386fdf034c79d7d710802d64fb892e3e307ca349ee6e9454ce2057145c6ef84f7dfe1588553e954eb96944759ef1541845bc9a6571352b30ac451672afb6724911b1a229c8640e2f4eb87668c8205dbbafd7cb242e9bebd5debf4072d38e0f0ea3ad8038e3bd81ba4ffcbb31fde02f2c69c74f6939b39626350880461404964f71f7e922d896888ed8a4ae5a0dc44379181523055bd3ea37796b221d1e935aaaa8a34bc830b0445753f6a49aa88bb998752df1ed0f41cffdb1381c53c5091971d613578d65a656444cb4422074f102c00ab91ae4b4f376d45f7fa243020d710092a57ef8dc6f120a49171e27d4fc0a7e71b9c1a83fd3b5abe3f37f724a83ea8f40bf89239cfe51356b5994866f57f86756b7517e35d69c06c6db07726c5ff54eb202bdde721b3ba7518e99e15d44a4fb6040590f1e32075fe7a1cd6a37eb36495bffccd172be7cb2e4d3e5e72d19e70a0e19a03beb84cf75399d1301995529ee4c79b77fd8bbbbbada2ca851fc3fb395bd9568df00649e25e9409a723f33bfefa45dafd85f381c597e36cee46a4b1548d4739a777e1e04eb7d6b8272555efcbf2e6c30f0123aabfa2958cdacf45b5a59a10fe2c23331ec1c17d44d602841b772ef703185f2d02b99d2ca813fa9ab73354c1cf6074c7790c12c5791722eaf02b20b5e7c38e2fc20ff7a49dee162da8093c5b87bd3592f5ce3a9bbb072002fe7e235d72ed4eb34b1f619e1cef11e9134cfb9cb62e27c4aabe79aec1b7266a435414f2661462dc9d1f42df99de9e407faf1644f819ba71fc5f0988b847206457dfd39ef9497c92aa13d815cf8fe5249a272863c610ffc1f5b1e6e1b113979b78a7f5fa3113a392fe47c5ebeb72b6ae516877e76f1653c211cb4bc4be67200b6925c79a3f99ce0477339c87299b8142500431b70d5b7ee16a2724952517255dd087e8ce4a64b687d9baec5ffba9ef86b0f62dd6d7b577087aa9538d54272ae86490c24a9ecb2f92793b20580337411cdcb4df79e55273da8679af9239e1ccb316a16a671dbb2995dce004bd3d0b354aa45d7a1d7420cbe1dc19f39d51f3c8e013ebf4b69f6dc78d2630c31491c2302b4f359328f4e6af6c8572acd22f40d1716fe75c69f594ce155198d8418433de577204d7d1b98d9437c28d2958f3b10f9f635221403d8fa6984270d4422dbe4e3ba1a36eb0685fe71b62123bbfe153376bc7ec8a5f1471a38ba5962747ec44ed447b71f65cce98339b53273d19ca15b2bdea37c94f50fb9aeb19a4da46b87a6fcc21c0fb38a0033334e2692c6dfe5726c989a16ce13e4bec888ef51bd426cf2263453c562df8dfa6f9feb2ff9a90d48129a487d54e1c297c6fac9e86dce1787a2476b072eaee2c2bd33d7b0613b424c4e7abc2f59dba911b1d4e8fedf0175dd296ad28a31b423f98ca584cd5fa0a972eaab641641c5ba04039edd70af983092fdc927ccd05af7408ab2474247a5bf52f4e886ce24762e80f3436548d7234471ec9277f5880d70c04f4073e2ea705f723b7771ff3b30d8b9fa7d7c8025067e1d29e62fdb33b5956ae0944674e0b9ee7251ba342d65bf0f8eeaf6e9aa82f65547abe16b17757f00a807254b25eb2a056e473522bc915b3b6bc201645ff703066286618bef3b1ce00c80cb14014033676b64a7fed700b1d8f404d73fde564f1668f569b2e2a9f5d89164fcf52843d61f721bd62cfba1e68945afc6d0e6a41014d2f8a30afb442a922f28a14f48ac04d07264531776bda4a41bcb75971aff99221f189ad32078c1f1b309a1f35c57fd2972d2f16325cbc9396f86b2507680554556125f8d4cfecf2a1c95123544f8a1c66ea894a5655c3f76ae1e2c6e43f941c98b2b67f8055b6629d0afb3b48bf4bdb95204b12c21893547fea01f53c8c51203f28f0f84ec3bbed696b43934acfc5ac8729fac003db457afac1de699d300c4b7a4ac648053688f11b667de79388e38886c15728227626689b7da9092439718fbfc1cba90e9d53052b7625f7873ebc770609dbf5f1d52138391b61d1667aadba0307db45b7adc296137e81a86149d2b8c4556f817b1db651d32cd51477ed35cdecf65f2d9e7622152b22b4e1a2a34cb0c23580d7c8319e2d4e3e33bb952f364aebb40c84d529dbd6c7cb6e1677bfe14fa7224bd9dae01e39c3b6b310695c721f581d51190964d346cd1f54f922d37b7066d03133f32cbaf1a8a0123a83377a161f780b2d7d7cab3f62b0189aea0620e6e08a05077d72899bf30b1c9e398d7ebc5d9bebbf4ee4397cd3011a502ddf7e89e0c5d819fae7965041d9fabb48b1acb12d6c02bb99c9f9cfad58625b97557d4855954f36e628852c95ff77f8faeecc191174558d7b7836cded07386956f77f3f7715831d599396d211aa10a7a7a2a796c10457521e3f3cc484df1c14a7464052e0681c8a8962e82eaf20c6657e66d97bc4bb2bc9c8bc63c44daaffb83eb08f12c721d574d995d23478ed601ca8422c939d783defa6b0c75b24774e8f7cf0d3d0e724aa4dc2fe012028705f97e6a2f8adf66dc848cecfe8dc3cf63dc7cd90cfd3a72d0e4c65c4a85984dfb43fe6f3f1a033d79ee2e9fd1c90c8307fa1133d532c803c280e1188f3013ab3d181c5002e560697f30385b39599f095a40fe92b6ea90721971932ce436faa9c7a5cdde58af12305098c6398f1b1e5a3787f89a19b81f72310e2474e9a957add1e4ca8ade82718e8c0f0b45b896f8e14f5522e978069a724b2ce06b499fff3effa0869ea943fbbfd1e2003f1cf34ef3c458fc854876ad6d0f4a526e7c79350882184b5c9c6ac33deab2106bb28fbdca87b5af1c1a8ca772c7b4a3c990d064d97b68a0f32b94cb606b2d32a840644c71ca1d3a10b15a227274f65fd1595a5510673ceb23b609eda2022c7b4349ade590b674aea111cb89724f2e81ae85e61ed4e1fbcab51fd76774d87d2a360c24c493570f7c9095b336724713a09e798abf79b695ce6ead40881727a1642c5c4667d105015927e7f37872de22716a76921290591933b03c2868a22a3a3fb2bbd7a76c0e8f7995a63ee8724d82fddde8bd5fc068a458db61f1058d3efbb4872e2772901f99c5f7d9db3a1a2ebf8625093823e049641e59b0f9095283df158dfb13d4fbe01ecd801923db72d8e1e7159fb647a15137ef46b4adc7b2eaae58bf8a67be62da51df16d196bd72c491994a8f9af6dce1468e25fa3f343ba9cebc24ff73ebb4cf107badb1e0dd72df3af9404b073867d6a035ec96570826c8969df1553122d815ad18597d157f23f00aea61924294e6dd9f400044c5bb603d4fdb3e6e993eb25f1405492dd68347935323e20a1e94eb7520f02b16fc2a578c6587d3a6ce6da450199daeadab5b72fc2af6eed17c5f64c309ddd299b142de15729f891b862c439cea9312a652076b28cfb44bf791670b907e1b2c053b6dfd37deaad1fe18f181743efddd9b6cb67276f1bf840e53cab5fafa3644850a5a9386495a1b3be437899b13a14f8c6bdd7261ca8d19a2fd5a299b1099814f4ee23dd0799851e682e9da9a8bc3f23dc13a727bb5664b1b519d68b0cecab53dd624d3c0dc3f0e4b9c9037bc7e697e28298d627adac39eb45e0ab575387ac75d39164390de80b9fa18951b374ec49fe43d7827751eb6e0c8d36bbd3535658bb8e29db433f8e9eafe9460d042b1600d99b851720a3cac72bf8300eefa7e6f7ea51150f784f964950a1b7318bf8cadea04daad72a61fa8df6a22206973b15eb3e313f58c5a16c5ec0ddc53c71fa9b3a7a356bb72467e643fd790313026cb52c90456128dd789996e474b830aa3b7c5be2bad8b72a8454eb7fba8a7dee5c86e44442a5e10082b97604ad950769fa4d5cd7f9a86519acaef378659bcc28249fdb86d750964f38d1837963cd8b574f57eaf8cff333dcf0f91482e8dc463c5c97bddaca25c0179a3f02f5fedaaa5fefee1ee4ffaa072c1d4b2e3afdc739d9cc4e796a075faecf53d4ce99d19e76ff8cb24258fa2d5563fbdec1913a116d4698b71b6a558f6c40896e41b5456c48ae42345defde64b72755881bc18c233abf52d469b9d8429c47bf07c6651957da6c29d00a5b10b27727de15d91d34151ea221963dc4da7086ecf96c497932f63918f22fa14bdc4d872496f182bc1d2126f34fc857e781ce7a8ec6f4221151a1f61998a283aa8965b728fe66bc78bbaa96fe5b64974cc877315575c43c3df96ae84fd214a1dd9c32f7287c6bf8ddaba88b2d69b5e6b548b2dfa9be8b0876ec5b4fdf76ec3cad7518572ba94c5b000745407d135546f1dfa04fc79455ef09a1ccc825e8e538341d8013508994ce069bd3a1e8234dc3562801e76a6d5ceb748cc93c3c5296a00eee4706f87c54ffcfcccc43c6816172873c39129e664bf644b466d5b121e0debe3d19e5264507969e82d5711759d85202b7d3c62351fec44ef4b5dffefe85a0365ed3172f1dda1a8dd82661a351ec3a96d9a1878b661165d837aeda5d7c72125163fcf4be07a221dc8dacb077e56f7cec17785dfede232a2e6f084344742474ce43490722e371d747778c246c614c1382705af66a4358b2a2de5b9b137125b09c022d5728f9787318f65c9a2cdfb0a1a2af5de9f42e0de74f0631c07e7a680a013f1685b3d51d0a3a1e7ce4488c2f8f8bc7e9656110b1b2b4354e109c297ad426af9b83a45bccdf253d5d2bb9b1c1bcaa262b67bff5bb512584af4b1361b66cc4ee0ae7206e7a40bc029a72db6269e14f38681dfb41c6b5a53b84335d5f73fda89bf4a5767eca8db95426ce69d24517b589b81d503719e676f2626443094b1d1a42048725de7a30d9c32c6bf67ed81e9c85a06754da9ec54b36d5424affce369d33b6572d8c4ea719613e0872a42fb9e3d66768ac66299401cb4bd8797cb9c181fc46672addb000036e7889320971c64f4a783758fba9087a82af610b14e3cac3f588f724edbc45548929ea5b27871dfe4db17fc7982bc1541422606c519ca5e96781d00dc5b76bd69a61102c12fceef1969ee2f12e7340eba41f3debd34fc359a6de146f28525ecec8fd9977bc2d85900caf52fcd5c9cb434fd776356219bd529427972a4cc430d045eb702aa80c80fe9a748adc901823602c5806876b943370a536a6e26b7892038ea7656d41b2afe5ede7776daa774d1922abc47dab3cb60604a9e723e3482a699b96b439f1201a2c7356b2ceed36c6ebe002b366fa97bea5decf040cd43eedcdd2bda3f1fd9d274caa55340980e7e78b7463bf62492f6f4b698b372d9727710082bb55aee143a7cb5caa47dc18f49040587ac2eb2c59154bb20cf34fe37c6d3a89c5368bf0d2c29fc05407e5879aebce5a5cdf5433e87c6c6197772512e7d8beb018d5a94ccbedf4210c3b663c960f0c6638300bc9239115805334771f85b89a50258409cf25a043352a75383e5fec72770e1d5bc5c83c76ec3a8723a855594e600af10029c03ee5ed8d6fa50c3bb6db4d55a4d88fcf89df2915172bd53a02fa70f97e6df380ce365016592d835d06364bf4e7a2550a4589737fe27875fcc60e45aab2977c9e95a84999ac299661aeda731132ab45188d346877972a888aa653e09d51f976b1ae4734d2c68c7f1a971eac9c717cb2fbd896f406b71a0909660d8fc76a7ece47bf87647bc18aba590b7b03dd290a04e154577638472469652321808dbbab7decae348c250284626550817ae05155e1caa34abe4335f43596af42c29625a16d521246a1228cec118c0855218f8bf1984ad80620c0c72373200172722b041cd3eaa6382348beeadea1d3e632f608512b61c431bc649725891e2ed84295b8fb6eaf285302f3e4e739dc3604b2d13dee20fcff5991886548a211f071365775e18a6ee35ae96875b47ba229ca8292fd1a667f06790fc92725507995c92526f2af6ea7c93a09541cb7489185e0054b2d95888dfe4c6699b262cef0a83f8ca4013feaa1be59dcae29d67cedd24ccd341c60659c438ec5251494a1b0e9d6acfa4f6abb6484c0e34bfa38f9042e7938335b1b67b74819b31ed724c8b82d70ef50fd8951ea59513102f09f2e2c8d0d0d6307c2380e959dac8f82e14ea2f6322487b5e41a8ceb3b18eef45a2b960ef4e237001a4358e64c37df6726fff2aff25d5d9fa7efd60e0394e5abb30600d10f04b00b5aa21dd4299332f725095b750204f8c6af962fc1844883a682420cd258d1733d86fd070a68dbc51727a3041fe209244a96c4618e2ad9b970f7846d1ec1d83a1ec327682e443688858390f9f8277389f028f5c38f395f24de2aac57b9127cd3f8fee19436084ce673ed346dd4bd599a0997172a2c7f2ac026297ce0c22493f8153dec83b4326cc71729b18259e0cccdd064f7ed36a8c7c96c3725ff9e744923f23737c5a30eaffcb4f4959742054bbcdc5c2b93a2da8d3ecf3346c70e9e7975d8a3e321c4baed504727daad350fbddf59058d264722008002d0d01b33ff0aa13e67f03a92132cd5736ca2ed144a22f0c6de1500dcb0d0615d06d1e8f8a746740b4f849a79ef78a9e60482af888704c3f42798851aff3cdd0e780148cfff45ec8ea50c981461b2ef572c94cdc9d0c13a0f1917bcf0b7ab0f2432eca675bacc37055540a0a107d52fd696357c265d1aff977629d55e667e05ec54ab2b41186a097e6de9ccd8f9166c838b33033d97f11a04efe4a8ba06dcb5316af078341bf327663ed8423ab7bcda272c9bd7bdf32917e9f301f59ad4555831c1fa1aef7ffd14b78908639429f67d6722d0975c3af983a27b4b7c724b13b21de6c45cfd8694a491e1d4a1b2093f4e472066ad5dd0b593dcebb1b6ee691778a9da323c5b405dedf72c3d4b2c7b00fb864fa9a0c9ce505716e5002c90bdf8c9ef887b55080be6b8602bcd1e804268bb661241a804f6ce090ce1de2448caa24b5be6a9aec08208a519a13fb502687c02c727b50de47c78c94a923f2fc4defa4f845634b716d4d0192068b81ae1df267f57263607905ac48b7e1cc4986dc022fa7ae3131c1831938a8de17a3f3dc54ad211dc845b67631b9543b5954e0915613cefa2723005c5600a767ba3b33d45c93dd3922912d6468088e0a1dd00885b98719afb535219f455472378ba082ab89405f544e5f489d672cfd9b4352900373976bbd773b9b17cefd0d14911c6854bbdb6b2daaea3334a1b08ff0e2740ac79b0a57c5fd9c29ecaf4a34d5657eb9bdc20f1f7230a1f8cbe9e142687c2985ba183fad0ad3a9521e251e5ce6aed03d6c95b22327231d9b73d3b2b9afe8c7ec2b53f5f2f89f8cf1a42e4f1b1f62164e8cdd5fb972ccc597ba4e290dd1f3140c325c53d111b2c39d1dacb77e024796973b6d741172c327e5a5feef53bf07e9d8fd7efcd6b24fc67665046cd4eb5289a98bc6d7b9727a4331e10945789f3abeb114ade473972f6b5185a1b0e5deae90f454119edc72e0d8cbc01d855fe8bd093c9d60846dbfcec7c16c755dc12e493d7a1935685b15f4ea9e01f7f45c460f78a7424cc628c6b7457967d303bed35c309e8dcb4bbf18ca9d690dfbabaac36295bab2f0faece5ee871c0c6131a5e303d9394e2b698272672c9a07a52770ee195bc7081d5bfbffaec9b1152945d7abc47330c90adcfc72558f7e4ff37343aaab6661772729bfcfa48e5b2ce517b9e78bfbb0567840f87250e0a6557611103227f15acc2d1b93756d0c9993bd8303b875531671527ad672f676d3fcbbed85c6cd5beb35a1f883ac7bebd563666479843fa83f3eda908572be453a2740e693a0d65656e6040395f76cc9d50769cfe3b26ea7a8b3356c7547a103d0abe0ed3fe4155fcc0cba2df3b203762b1a7af0ccf6f657b2a5ab10d8555627a41e792ee1c334f737a7fc1f9844992db8274ce1592fc1715e7f1e1ea572d48d55a5dbb7bb8f0354394ce954701a52f83814d0c0f50c11c83d7e86ec2d72ed551fb781894f7be6aea3ff4a5db497b9bf9bababb1cb63dbe1f5cc22cbf7726b91acfb74f99c8b4971ab0c737a1322be0a7552df7487a154d8aa1a7b03dd72f9b1125f582be11e385f3a0992c5d6f464ac4b3f99e78e3ada452713f7db00721da688c22932b25c67be24848c10aef729279c394d7391fa5f2a125af2e294721fd51bcaedc4cccfc15d3e08e4e9b9bc82d8a51015267d0d0ed8bd254a25ab501c9cc1a4d31e0fd8b7299cb897601061b646f292a92b77a9362b2523f979d870682e2562fd316af61a7947c517fc48987376093fba9745378810e6ebf15f31718ef976c38aaf374259004ae825e110b77e937f834220d1ae6c43391a1d9bab720378272bd0f7bbb917f0883780de1397d3cecb275a9eaeef527046d93a2db94ae4ba0154cf972b0c1be55dcd82ecedc9fa9d47310bebb0652e4f7640d77b47024a529620aecedee1c91641b3f6371376bf44b0a68c40b9f0088f5e83d4f390729ed173510ffdeeb9d1a4480cb1aa4375c8f545488fd175163e542fab0fa9ff72ba412e300e3e1f542555f6aff53911009c1651f8ac9938b00785e75d14244c7207aaaea445863a726c926507a1810b3e62a374f5f4866a84d94040c54dc2a872f690fa3aae21bb233be84ad8fbdfc15481a4f72948636f7c07fb6fc83b45db72a6af5a4a9b0862cd20709089a83a6dad7bf76758537a840373597e36423fc1729f905e898f92f234b0d9cb6e24a9e7a3dff4f7a5c3be981ea6c255be69ee3a480c33849afe0ae4482985c155193ef932ba85833685a9686c8e463c543c7f007280aa10577e19f4e10d86dde3e2577ea23b3bbd6137ad8a8ab75cc581f72718272cb4c58b76b43dfe1557666b919917bf164172dc9df63c87ce05068905bda900ee5bb7970da4528252ba7ee8eabd4b37f82597a77b6ee51fae1b7d24c4f4777285f177a5ef35d51046a67993ec589a3017bc164b2e55759451579de0c101831a0097e6838f10458b4e2e97ba636731d08de305bdbbd7b917cc2cf1d6e9f85a72aad0ba97ad6cd6ebe92e680d7b9584f8531eff2ec39e05c5bad1ac1af909f97296eaa7dfeaf495acea7d0cc7cb74af5468a35ef230d6b39a784fa9c5abc2787273296cec5464a0b452fd6085ad1ae5839bc468b4e2cac1f0344675b78702ce32e992407cdff2de848cf1a283131ad2507908b25f5a3f7c113456deb20588d402604d9c84bc3d48a95cc616a398d6e82aaf79207d9a5036231acc1d197a5b0f72e7651dcb16f779cb06520d5ba8d9804c7974419a74dba2c0c364126dcf22bc3f8f596b39c0955a20080641ceffb507346112f84927ec3119a30393940d3b823cee2a621e4caf5a2ec7c6683aaf0396b7f88d9032372b5c8688fcbecdee03af6802b1fa9330e47a9dcd837d366e7e1ad2d22f27cf3c80c11e4d7a3f6ce5febf72ebbc8780275c946f139060780effa8a2f546705b6e4ab0f8d927523b4bc4945b3caaab6f8bfbadb5bf5ccf0e839b4e4f9d6742c3498229606524a1756987d8142b2b8349555fefbfbbb1ea60d282dabee0a8aed71505d3e4279dee634458bc726e29f51079e31ec3c51979265fed974cf8b0f2ced64df3346890db86f4a05a106034d724861d8f4b5fd2bea7984aae84fbcdf94d683b62bdb7490c1610cdce67d6517357f9480302fca7e9e305e7230a0a8adc62d17348bc0d386b3c38262b4fe895bbb25956d84d0b632d9a99d357e58ef2f910f1426b6d67dfbeafa464b461f650b2d515061aeb3baf4a2accf70fff29838d4cbafc1fd2fc92c0dd171f2c72951b024d6a21a1a7ba845f689c02eed8478b2377d2f74efb0cdbe43351a0b4356c80576b6c407a59e3c1bcc8ed48d1aa68f56fa3ac9a370122e2130dd2cd7b721befd0133853b61d27c62731a70133c82e192b049ef89ce8c814dacdb71db9122137cb854ae29966304f4515117cd1f450ccd693929f594c01e16af534774472590700f940a9ef24f120d4343cdebbc4596e6eb9fd8b82cc17f30e409bd81972ac2e3a5baadde8efaca8c524f702ffb695236c873925304f351e427066fc8322453b2ac77e63911085b0e19bf9fe6d0f1685d73e0e23d4e1d795a1966cbcae7250abb2bf952a66943ae1d5858a5baa124491a07fe558e26fb9af44230635916e08144160663e95905e6ef41f7f0f530e2969a7a129e95e9481c71b40ba41b072532e2053e5a86400a2ead990d25406525a30180fca064c3a2a8e652d75ed2a5e4c38cde779b5056938e90467122349e38936476ef26b0329b2ee2f81ae2b5772aabdea7077f45caa89def7c69ea9adf74d0cf7828a24ce314463376f3392dc7264b41c8f216980bc51c7f8fd40df4c0d02df5e84b4cc6ddefaaeac6a5fc47f7202a7f8bf852239e204e9c81e0b6af9f4254b7d77ed7c113bf4634d2013b8492291b55e25d7c6f2a36b211b649f86dc6a88732b302f568a27ce072add5557cb0fcd2f1a0eb73855668299248b64256ad52be771f0f889f79bba695b7ff14c54265243a01bde48b0aba470e589e0629e973017dd983ec52d0d054c0a1f140e0230af07c3fa5ddd657214f437b45f83ea7ab34bedde4e6215c12b549b77a0207e7237f5b4c02e14c99c5dec810377ef9a8b5dddb164f49c1844ddf1e1dbc0c3cd5725c4e95daeed3823acafa9e73c255b1fb526ce89c0ec2f2cce8794c3fb1962722f66a796042032a0b4acb46fe38f0d6945f38731300d9dd0e3f6973412ff1860eb68840531fbe6a00408914ea73db3da3af480cf54995cf26f5855696a5fb472a4aa68bde4b33e3524da0d031d64e3c8d0929e8fc22e40897545b8f47cdc0a301b2803089d3e9ccb33a82bed1105dcc7aba16ea6f50373182434f5f2d04a697231b946739f3cb30e4b0d8de27392fb06155aecd670c454eafde4f229a56367727ce1a82c1d712d31cda7b26f2197cecf181435bbad58e4b6d424657811a551725bf1ba736ae875b371b9d6cd7361e0f343be0d088223a006555e6d704b284e40016d8d0e8284bb6685e1a577bba20d6e21cbee7e7f52c7695243e90af02d0a724645c8f6379bc24037f4937a88d1908c616ebfaa5012f69ff6a01e7828021254ae0a1954803520b44f67ab231ee149352169ff0f6e221c7027e4d39dca34c8727b048a291b445a79c1c47209c5d85eae6cd50038fd71708b3b1f8cfefa4f814a2a51ac48c024e5f840cdaf5435c26159b65085c88330761ae8976f07bb5ece3f221e2d6b8bc38ca68c07140a8350c483377bed243651d4dae7ef79ff69ccad725616fa7c4f24f84c07d55ac20ebcf8de1ef1d81c66e82df35c5746c9d9904d72b6ee30bf1ee2e0def9e86ca5ad5c9d42508b3d05a822730c7af8c1cc79f76b723ac1e8e02d991062fb91cb2a9c67ca3947393f56a299e14d39d2af523a37b07299044253491dd6c5102bccec9bea6b1f919af0b9f5e0c0ca782d4feab60465723027ecb036e8c13d4ad6e35a15cb39a99b185f2d8e748b5440667658c82bd5382fd500f9abbb823c9b14d0ce2bd142ed4fab5803951c5b8142df7816bf93f456cd207be8861e21d90dc3e36cc461b824556d5c85d7ca469eac65ea1950faf772d26e5e5ce8441afcf1a0035ed667c0f20c839a9dd50731325b4baafcd0270f7279e11321beef0b02ba954c7f176302e1db609f2ba3e0e386fcefdce21bd4f524989532ccc7104e5837efa064a2e57c0fb8d34dd436481b5fe256757f6b47947215a44574d3597b6d60ef41e6ae8fe0af3f23c7d0aa80c6074a1223367d73955c6062562c757109a82ad89077319c5cd828396e44c2256f55033398d0e4036172020c00cd1231c7772ff8745cf8f7709255918b32cfa0a07cec47c2e8c9bf32210c82537dbfd452d676a0609ec06a1897babe3f64238fa25a8b60344d417dca72223fca6300d49c44e30f12f71e34d8eb8b3b0d3a37680325b2fb4710fb31f3721f15fc9323bc208b7b8c5ce572192a89d2fe52e0ff1ca577cd1dee09ee678451ff53ce78be2e5a1d18b95ffa819497dce117986329d99e975d9da5d9d72c4b557617fb4b86e17dd56a162a21cdcb0198f50af0aacefbaa41c14b6b5f14c4c372b053226625d0a96d76d765808aae2bcff6e223b34eb9ad9df414ae4515487972fd2ee688eebda93f71fd5340e94da94fe15fdc8e4d741b310e8d322f0716ab7211b8c3e6aabc5588be7705c76b62d87db061d838ac7adf8f13d52edb257ca172e01ef539f5d5cbb6a8cb57f4cc95450842058b75276b50e0b08a5b55206155116bdb248f1b9dd2a08027ad6a940a2e42f03109ff9ada00560fbf796ce3426320013c6cf10c50a1b5d6dd45acc22feb27ab813c62e7fa1a5d4256d0293aede4725cc01d342867fdc9581f981f83cffadfa7b3368006e8b5e19f98d41da9912372d53b49c5c92c6091f7c86327cd3f4bba7a765bd1bc26495c90afeba1cf65ed19af6e1e8601ce479dcd2443e423430c56c5ddbe19ddd34bf29487a7cfd5ece972c497361a112389ce3d7c78d096dea863cb2987a066ba83ad32f73eca34de7c013f4dc5983ff1c8a31fb4da524e2c8b81f5f633f6da4a26511d1f66f7d28ef77296484879a9205f87242b8022668ef19ac674b985b5f5716587f462122b73bf72d8225188236d0edc822d5decc3e79663d7d48b9e5ca15084c42524b7d2d0c972d4c34bb51da9498a17222de7df8d22ab287a8ec99fbd8654e0ed4d6498bc9d57e65f31f1be699cf181ce0f221305fe6491e6fa28cf08b19634c92db057657f729fdfbc39aa29722ca67e4191b7d94b97a42151bcc1009d7037fb30a9303ed4615cbfcddb75285e7ef584bbde039815cb6ff77a7478d0078b454e6f48a35f5e721f010538382e1e8f299ff19b9daf08d1611f1371c0ae8bea2352ad7837495772ebf3b270418cfaa276d932cd41222b81b40b7c551ca616aedc2a26976088a0727f12f3d749baa1408e92f88f79090323b6540089cebfdee4143221576d108172c8d4b85ada48c9ce92cec674a0bb2539d3a5bf15c304d2949a4f569c5f64e3141f8f1d7e2bf99f70bfbf6433711e73c10e1b8d68bce8013ec0d173768fc8fc2a4317411da69fb08d302fbf706fb5cdf9a2debb6cab50a1ec46654274bd7dad101745eebee460f204854d48697659ee33226c2e71b41575691f327fd90f34b1720dd9b1f7e0ee2cbfe74d6dd1c968ea0d1f87ad1adb16fc3ad296e2fdf447a557605c4a6b4ec75ff3e64734e3b3f998e1fbd06023950978523da4d86aede3f772d1f8e0edba777877e3414514be8cdc520fb14e039408b70708531adacd483b2c97ae7566fb9a472df0c82d72aa592679f3e13ef37414d495531495d7673f5f37b1b8e47600e2d09ed388c7fdc246c2ddd38175466ffd50b8f81d0d12d578b33a94a6d8d8018e58cd57565bbd7960cdc9c02a4957574cb31898b26cd66560e272b3fdf2e0bde49170293bd43103fbdd1952cb51dc4d69d2ac93b0afa9fca11f72b404c32fba4992c1b46ca911517969768b4977305d48a9ee6381345ad60e195afa9ae0e3d5bb7e00297e2a96a617d384170bbd2c03f6f91012923f83f7bd5d7210d98bcb612bd5cdd5bff107adcd4208c5c61978c91a325ddadc960f1b3957029f6d958003950617bdd2e7b7f7b87b68969c9700da84e12bd0a5a2abfa692d720f6178669a7910c3d874d49156545cfc34c8b47c0966441dc979d77515deef72b9fa8d9466eb196cf82f72640531ece70276f578916c601a36126f911faaa74f3035b2b4d8eb8ae5f71a9c8588fb0a667ef7c689ec4fcdcbbee68218fe42fd1181413b032cab8d65bf33b9ed35baa845feba82207653e8130766994acbe9ee4e6208e9395d07f4a2b0b7df638725e8c95f408077d2b0eff7f77261337ab79b7267cba34717a7fb24e9273b11aa9d1a65a349a3b570ba83abc21b15fdbb297172834896f4ce7cd4b9763075b7c841e1d9b0102d59d29887deaf06fa51ad7fad72d1121a5e3747d2dfa3964696a037501a879b862482394e50d7a1081e9682626a09ab86f4bb33244c9c6cde1a1c712ba6479231102cda70e0075fc20cabd67e6ce40dd062868ed5bdcf2afcc0dd5fe58307cc701f7a79fd5756b22c99fec1f0728619352af31accb4c80d215f09ea5452bf67ae660b208502c486c065c6f13656033e1ffdcdfbd73db45531a6cfdd8bd1ad24f4accdd98a029b3181c6da301917a4dac0baaf502cd53a14699d90c065eb3e79786fcad38baa38d52fca69f0c8729376fef8b82a491d202c759e4425088eca4e730066cfbae8e61b9f3928d847721a2e14ee47d81110d5221469627c25844541b0a5290c074369de424c46f88e7241719963b751745999da14cfe9ee9f4bb1a1ba3717cda93bef1edd6933d0497265506edf8eba5709a10b18191fa825c97b6294f0a7b4cfb5c10073a25570c672a10ca96a6287dd4846661327564eb16274c199b776e785db992d183def058c724640d8d2fc49c9151d3c6405de4dd42cb7f059373f177c6bf73a4f161a9bfb7257bcc49c85bde420f033278338b1da44fb77829f22fc9ebc19320492f2dca6299659316e98c68d481b3256ecb31013a090fd6c0b5430f7378a43d1ed5bf3d1383518e4a7a427523665e9cf5e65dd8e0f286f9e8d615ea7043ca1309f70200772b2c542356857baeb62565cc5f800704d16ad6e75a9587973e94aaf8189fbba7270ea0d390be773074ab365b21dacff995204947e47a150f9d9ef728f0940e5725a28b8b444d5bf8094a0c3a8034185457ce278112dbe79aed21c03058e19345197683ae454c70ee14f4ca3d950cb687c8daf8cb81157cadf922017eda7862572a0156ebc9f840e42b5cdf52de496163253c908ee09c728f4b65e755039fce772e6b6204f9aaf3d13940cef30d16ebff6bf04cf4151e24a971d388f9da63b083e5c22b6f167d98bbd6cf9ba7257eebd732ff5eabd96780ba7be2ac6b9fd946f7251be791864e58d54433094d2f6c888cc5cb41ae470c6b3d15a22352e1cedf3536fe022d3eb007e5d121e569ea4d60aa5f7b2578f0089aa98c434f07fc9116d7271814ec12af58bfa93a090d4da084c16d1cdddb0a152454b5172ed1bd133487231814b89c48f3112234a03e10524166d1b26d905bca966a3a659c9a62982e75804efe740763a7fc3e9130a13e5d28eab5252f2719f43f916f38e7f569fbeb272268c4d1c4c6c3bced602929af6c083de23d0287254c77910adebf309f756c6722bbc9c45d533f9d4881d4e20b17832016531bd2fecc9f0064371d1f849038b72a800e3e70986a5c17e100b9cdb40f775bedb9240a30bef8ff8ba2853c498760e98c3eec1fc6d341cd3ed6acae1236ee661d331ad319003c2a4a3b542a5330030819d2a97a1c0cac4c7c8bf2b3226c657fa23e75ce7c2f58e14629a784c59eb72c9ad471b3712a08e2b59759f94866a04f63b0f40d96108f39243815f3023833d2997ba74b2150bd5e3e445fa906d7e5e73c01840669dfe9e2503ab8b46059a72e42773c9a11ba8a4e072ce51509546dd4a1cfe1ed6f9165d24c1d2d3c6f57a723aa736243d037f25332e057f12072a010113c41c63c80cef7a307e5f75c9677256768e063787ce3b3760584c5f34500424d1796a721a349238fd6b2b1e92b56eee5ee02a6c9f48e35dfc99cf0458670779eb209316102f739a44d8ea93b62d7254a594d40b8db0f58891292013c7ba1878978af8e1f10653a770b229820b1d7219a263090a07852cc244b38c4eb53ec8fcc75bc3b22be2b5a276585b5dcfc25d58b25e080155747d102d4d1dc4ab886fdbb4f8cf9a8db65f7cf75fb66b1b1172eeab874e855dc8acb90133b2143dbaf8e96057f3009d87b017ac0d831b0f8d626dc6619eacfe2262a1b7f93e34461162c3c15441a5c0f20a5423a5cfe7d2bf4f42d8be82b39009efae7fbe4d1acd8a133b8f635c6aad0265ddfbdbb09549077215899acbe1096b76475bc2e4ed5421a305515badb72cceb1bbaccc986c61a572e3c11163e75a4b00a5d64da78239fb6f2e1d0fd2068365853055763563f1837203f4f12e99adb8173b6c8dedd3d26715dfb3a3e5b66521aa1e372f2fb2521c72cb0e680a7b4eb3fee9a35e7135a02a11ce9b0688af3414634046f6cb1878e01b852655ba245833fb99372eb84845cce33b0209b3746918e5178cb97a6c05ab72db9a101d539a95ad29ebefc637df59d7d0218e4353e5964baa673c9504137f72bf12d1c6e4d2348b898ff11effb46dd7eecf8a385b9ed6bc95aa9304943b39723c8f6400fa56133581fd08e808ea660850d892048cf4923d04e004a7f348f272db71c12229c738b117b77710a8bc472130e865162b0274b91511f51230515b052b2ab1b635fea84f18ecafddce9462021c72012fafe5bd845a8dcf2edcd00072f838e8cb059d04ee3d580edc6665836e293bc39726b5aa587c03b1f603cb2b0e6307637f16375606eca50bebb7c7a03f5410d8eb685e3e2a181321bd83588d0b1a32f9e69713c91ad3788d376fc5f9c41b0a34ef2bd80739dde489f9397f8738f380914881de8399a9c00f0d501ab3f4b1c5c056a31d3773c6e31ebc845b897238b7cb3b10b127ad030199c4a6aa9d76db7701b05c025a9ad04ae3f0057f337263f8c7236642f721842e2744e6c690b49033cbd92503991b942ad01389fbf70b5a84750f25c83ee3d1684c2f83402ffeb547f3366c8aa42e51210f808507b3729a207ba87e040677e33050862dca2ac2189ac702348fa8af2120cb6e69c038722610b87164f4b28d0b10aded6a13a6d3a8818083fcdccf08bea96e3602b2eb404452268fd3906436cb651ef2f4ab85b0123974617ed21ae98f0d6a1c08013849402ded329b1fd948dbdc099edf7dbad3c4a007555d782d99d0276bd1389b9f72f0ab62e77a9eae52461229216b231e9bfb8c44c3897c36f69edd50a45a81e372cdbf8c2808ea71a44d5db0019f8d6851c948aa9b7f61c6e4c1055bbf826fdf7268976deaea442f2780ddc2e58c373f14fefb6c247fa4b85b7b81dee13946d92f26334f40ad4597ad9806d629ac4cc38e6a2b6a3620249b3b0998878d5b0981727350c28b3790e9e07a49061409d64730490c4511e8e0a1ca683c6b6de7ce5b72f7143db8ba9a3a1d86cf6b9d78841b8f049594f890f9117f158a58fcad669472a23d646f51c9414445ab3af575ff2cafdd8629c8a56b3979771c6504b9bc56722022e8d691cc6698d21a927293d64d63db3fda6d506e88f2a053fc6ef1f170592b1b5a7db0a964f94d720a5be3934420f3923508526c39dafcaf1ccc076d9e72ad9eb3e33247efe2e5aae73d143e67ebd084ee808e398858664bc11a286cda72360862a2621df987440af3cf7651312a222286645ae456c9e1d6abf24141f872bc50099e3de2bb336f0913952d2244b605cbc5470a1610717c56e1c2410d271839bae78804632a486b077d623a6fab6e510c20d54c427987e44a759552a1b96c10d23fbd56a4915c96008849dbf481d711e86ec16a626a76737b230e1b5b1f72d3afaf96a09eff79a1814aef99a82b40c88dee154761956a8d85ae561f18227274e3540cfab6d8986b0f07651ce4389bed1fe51d9e382204610a33d5ea64683f9c13066deea242511d0c9842c72325dabac9b4a5b7a4086f226b54cc08b8987249f8d401169883857b08bed6af1a2c48fd08610533dbc94a4f4cb3b01342a07207498c75625a1ec37b64552c60042e14927ff20e6dd1d2bafab0bd11b0d1ab727e70746640b17b4aa240fbaf12e3d9f1e1341ec63d240c7d3c316ef7b68f69156515238a877f858d595a4b95fc8f79799a6100aad6cd603fca8d6c1eafdf3c078fdc282773af4fcea180628121e04ad17856aa0c1676931c9b50f737f763c940c52f019acf1293aec9f59c15820649bbc8f557d4719ce37754032e5ce6a550665e4353f19015dc71b959543a14d74b1f98c30074a88e6f1ea6ae4afed7b139727a9325482478f06d5f464b38b3602901df73daf803f36f6747dee3fdb67282006f5681cb402bb0dd9f243fce7f5a3185e248a810c11211312b804781d45b02559d87e1b07a1a512d18e7e683c29046e448b78e78a6950596b4e293d6e27439729fe0159e07b022dd67d4490034077be164660d4f0dfe297af5302f8db6baca7201917de070bee610414b0ee007e0a7060f481fb0dcfec3418bbc375316f7eb08578e5933f59a140141712ec238a28d854a4b1fc915ab38005009cebe58e31d1bde2bfa052f2993720a1fdd3898f0217ebd7a8ea7624e42f8a74f5713f4099808d99f20f7200e9648410721f5241666e6b68b44610ba5f4843a9f94600025403204d50d0a68a1717bac89873c941cbc52ea6206c5f9e0946a19f6a82b2695a972e6705f6bca2ca72ead70792f003a14e0290f03ba4a9773b0f966f7b09b7f121725b06e33584f9823aceb7288d867f75ac2c68225d71926574ba4ccc6be6fdf15503b888ba989a5adddc5a5cd2ee9acfcbc4e9a016fd3ed5ff6df2818313fd2076e6f4bd3e63ed407b4da9e60db7207f7a658fb0aad633bab1c406ecea8a2fa72362dcac7319b04b4b625398ae313413fda5864963473a6f9a850d30a3da790683598e1dc0249b625d1fc6995497982b257bd97682bb0fa297124f14380264372e8885434f05b8773d68a53b738dfa764b1e914cbf4cb4a076183b6f176c32a72b3b30f01ae142257cf885a643905b5c48dd6f1d9ed101174e46ef20db19d8772d9b90bcc93db300f9c57a8e8b777119652bb42f84508b5c6124a7c1b416a8a72eea3c12e771af0dd208617a848d86563e1006955cf5f895eeec355f97c7911101aba992e29604f4fb23a34ad21a878e5201f142fa8621af0c9a62a4a273dc572114664a13a0597a74cc264407f70e65fd327130707b24ac13ae6f8bd2d706c7293780e7af63ade2c50f6db233c3e4ce0070b8066ad19a48d247169729c267a1b28d5062430ae04c44006d7fcf0249611e408518ae5f2cd371509b4d8487c6e2e412f5aa19ecdcacdcb23979445604b0d4fd8876823890f1c9600d95ec694557293df6685b9ee56560151aac4588525002ff2c3bd8fffa4db9fb1d21ad3525b72ef85fe73886c5386b1da5c07c7fdf4ee9879bbf9a381eb8dde49fead1d167872b408482b369a421d96ecd01a0259faf815e64ffb6027947813d1fbad9a2f32722097d2d1e5a97ec30f6acd5cee6587c4413ee7d978bce67b17f612d4bf9d777229907c128159ed29a4f6cd3f8b8e4477bb76bfc4b3817370a899213bb32a117294e21089d86ebd196e550074f1cf4d47e69f1e7430a5edddc2713e3cc451d0712b6c3cfc46cf2f6b3807ac88be77f0b1509dc3115d575a7a2df27880b321f1723671c60c736c984cd14cc8095def48d3d693447723797581aa63296552f7c072ce713171e239492feb3f9051434dfdcdd67b8b6ff56108997bab1fc9ef2859587f65b73fb11d63a57c9988679e4a723b3cc44366580ce16f169ea11e735f6072ee1566cff8a41da45031a1856e7fa59ee97075425bc9668ca57c944db8ebe84ea15b27a092fe914d78d1e661b92af03f0508d4836382e3c5eb080b633d121e6b259c19e1b4709df42d61b85439189829ee0e69825c83a7401e343e587e468d343254468cbfec7cda0a7687f6c909a94e92f935ca7ac8c0ece9e4f5174e3599724d9a875043b314daaf7118510cdc5e4b10a72c9e98fffaad1032dde531fef67121744fe49358af81199e36289123535e250693a624f8491146f98a2644113430565035534f00052c5976eb6ffa2915b3d89978fcff97fd7711100003d62069656df0940254adaccd614e4312b685e344a5f333b5653fb50a6383e3cb589446720f8dee9f50c762dc34d2d1f8c4bf630c9cf70770fabcc525284739cdbce1e261f78293b49a73f574208772acc0bdcfe34c6a2fd17a044161ba00a31a8a2e45727468cc165961cb756255fa8733e786b834b03de8d78ba49d91c2bdf82be918727a1d9f5f1ebbe0bb2a19be4660ff03a71f5d4e2d885fc55af6702b9dab5f6532c3a4adb25798475b3817bbfaa52e7dfdb880b457eea26ed2ea4980ea608ee872af1082516361cbc6f44a3026adc8bdb869ee0d0b86a3e2612bfcf8ee4b796e5cc64d13a410926c90c6a1e04ab273d2cf7769ea8dbf91c371bb3531f7fb1140728fdbb3a8d9cdf73a4e73e2ab881a46d106c89e66662a98d88ceadca6b6188572ce9dbd9919220982b339615fcb8666e720142e2aebda2efc67fefe599fe52572a150b7687edab0e3016995bb5dfcde17c8e20d57f743628837505e5a64577f72733d7cf8697c20e30f0fabbdf73ef04a0282217f88cfb8707495d05a7fc44f724b366a65f95cab324ce922c1be1fdcd9165f91009026e16cbcacc3bb8d70535abc8054de26dd26cbff27dc6f593b5b24bf5e2a5f312f2de05287caa63ce5c872fda3ba78b8c595a718ea7491b31c0283ac606650d013426cc87ff3c86fb0b17279070af85d17ab1bb4e4a57277072ada65879ee752fe2aa436295e5b3a88965a1d2122fc293cbf69593685aaca8e2d25bcec95bc7f794ae098fe3322405d4872c62dcb6362b03434cde4259f151d0a8c2804d0ea36279602e463dccb37eb28049b28b39a37fa42e16e12b14e1cee6fb03ec1f006656d5284cab75703395e33721f29765aee9f01757fd70c550281c918b441943144360740f855e41f7d7a7f72ff2b9c91ee4f068af7c3cfb14c8b599c256caedb9bc91e76321261316c26786f67394e688ae2eeb2a09e096fa50b6a76093f0b6c494d1109837f64ebf9bb5c7213751e7e9f1c36385c4dabc646ed15201846062b758afe70015af51306729d728e8258d624bb2e777dbf68073d3a1b9f39aa5f83b35222f2fdb1f5e63e302d720b1d59068717c0bc841b21f6cfc10e34eacb5ce1e281df43c05100cbfa5905728457393fc632912ddebc31ac10d1c1f3c9c1c657771fbc41cad3df7d18c93872101502743bc1144ac4233639d650ac6db1494967f5a0f1c06478c44b18d2c330e09b0f3721819f442a7328b29acc62fcf333de34ebff81de55302bb3f4d5e072f6866b5f2c0d6f46ddfe365028c87adb8948a0f2d8aea3a54344a9945b90dc04085ee0ef9fd33c5f8336146a14e83629eb548ac7cd5451f2b26d17ef9a7ff372c57c11f283a6d29458d689c2e8be705b946de706615e224cf77bed5f6cde8e7274f42905c3473ccd039e614d2d7b286def600d73fb493267d9e35d5128570a541c143a930a79914555822f125869bc15a2a494d20af2b1da524b3468f80dd81f0783b2cdb8391e4b58bf87e9056cc6e32375c0fe53153e21e1980b2f76b2ab52b6784fcd8fb936efaf43358e5d2d4267cb507978b782af0c8f034faf72c63432bdd79012137a26242d906644638300dc5d84527c211e52b5a20e84fb61fcc0721ec2246c6bf0eb09a3c4c62f1789f01fa8cd301e463b1dffaa406a7097242b0e4c27abb36875117ccf8cde8e5d1f75581a135126dc13b60ddba897bf59271d50e29c354aa268ffb6d14a05696d99c0fcc0c81ade5fa2f95757188e1ab958591af901051217e2deb3795072138389e3205599871b3de708231af2cd842f51cc7264f0cd761a456532021c8bb15c9b617e11f99e1d8685a01a8afee372a50db8728f414b83586ee025abf01cdba0e48454213324df51861d7f31f2194fe95e2772a76c52ccab06b639c386ec9ca9df2f092ca1803336a97023a07660e4d1d4bc725bcd429355b263176f01754d85c75f173be9b876990fb06a469b2c40ac8e662bce909de7a9f2d53c1e184e0c99e9b2cecc927a926a09b8e8072419d82337b356695a85fb6a1298488732d40a9e7ffef03e613fa7829d68ecd34cf28687b85872ba6b916f3a321d365da2ea6d7a6a33f6db97d76653d7c13a6d7fef2aeb003a6a397b29e56f1a26b06f9bf9a965aec27e4d33aae0fdf317b089ba245eb155947250f5bfd238f1424b5e08bb1879ccf2b69ac1d69c4e3698789f24aa4a75c17f5430eda004e91c7e2d21c842c0ad61e1532008e80dbc2d4e2e3d2bee28e1e36a72538e1dc73149f3667d4e537c136da3b6a804a29fd46ee933a7019cff98325b72b21da7e3b5181b6601adc11038160993c3e39d96a88169e8ee11c9692fc2eb5273b5a648dfb555ff9488873ab29650a772bd5c27139e4bb9e45fddcd5a60a1729dd1b06186db659828f3a79eb3aa6c4edc52d10de24e8c8fde60baad9a578f5dfa3365997584a762bd9ba90bc5b840a602c7325ce1e55160104f493ee0fdef6e28bd2b2fbea2b4af041270e7c58731ff5f9c926434f485cb0fdd357b7d4a42288c64562ce9b78377611443acbb99f84ac8853aa9d7f6aa47bc952a5eaa630a41ea98de651de8271432232534f50b322c716418a718ce9962858e2d7b5768cd21d7e0156a964f4bc7fbf03533c5550517e7ab47b722e883c2c4bce6da9bc1740c2f87fbf77184d1c0369a8a1980941acb8bd81e8a1fb9c4fc8631cddf935e5d05bd915131c6d47082a4e9e3193856b8be3b6e17b4adee5c346c69387a1e32bb72e35fc28d09a3eae8ec96c46cb3879481d033aeb9f5d50b393a4408d315bf323fd3696ffe6989618b906d8719ea33848d275b92671ccbdfb439c7bf89610a9572b059ea3a19b082be0a1362cedd67f651e4b168479be459e92803b46b81d2e472a1e0308a574b876df0d38a999c7cbb3aac1b363ddf2725323c037c28ece52e72e091ab3a9e3ac1d99e8de926c87482dca13b8af4bfc856b067f6824b48d0be4e0d88da63bba56a12bfb54921364e0838a9c070ff8b5dcb39bc052986413cc31877267c129d7303cc85f501b076fae5f8c82de9af5e3bb2f9a1e9c10eb8da230df01756cb0ffb528db8a310e3ed6d50cd5f425e8c55ae080fe338182a7565cb72dd8d10a1bc2ed051ca5554a717e76794785df0bf93dd5490af62e614a84bf872f0344a9c8194eba885b230351baa7378a5607dbaaadbabcad981bcdaa214cd72634f2520e5856b843845785bd9ab2266baca84ae82e34e6dd58e06294b3bfe72730ced82d04e512fa235773d58c26d9c626962893e0e9c515ff688d1ecd6db0e79f8ce1a4166ac7493e64ed61ddee367df5e3ce91c755597d97a02cf1fe04672a42668fdcfece3727d523e3fc249aef044ae0a352d24e68aa9e5123640ff6a72c23ec5626167384d551167ea5bdaa9a7455f0e392ec9881722f63032b2433a45c156c98571f7365e21d262d33da047f6b88352c41f6db8cf6c981e669db8bc35343556ac81672db2e4a0b4a962e2ce7e3bb8f4763dfad3a9cb95f77a6dd90d3b96f7c06440d7916ea9e9a4559ac1fb81d74904eb37836401b091463067851172e7cd88b316e26db9a94e19fbffbd576044aa15423ddac11c2a408cb42d343c6d03e1f7a595422ac7dff78c516f81bd245052413448a6cb5c320a960c0d5b387230c647f595604e0be7530f298cdafd961eea2ec61682db87997e9a8938df622d98fbbd6f828690d8297d9a3a2f8c949ffb3b16e14164a02df3df4b70d50d927287fe5b262a674d5ad988694e5b4d6a84fb29277231e163789823f618b9068972428d21d0d5899bb9e77aa5a0c05423963d5a1c875656168156a0502e1679d1721ec937d529c09a4cbe2347ff15ff07960c410883952b606d6d34fc89f4833b72c857bee7014d2fb125585a339db3bf1813f88ceb55e6dc61b9123b9e4ac7b472247b649aae1edf57e0d4ab4cde60d1071340260f95531fd4f4dc12a92012f012e4e9e3b40ad0f9efe3967f7a4176d97417823ba50f990cc5c84fc5b453989c1a476aafb1dbdae47b6ee5fed6fbe2e600dfa2fef306918b13d52bd9ea8d8b404f5726bf784040d2ff1750b03af0773566614b77c8a5354b70244d16383066fa3389b7c2293ae7704f7dbdd37899c31a1f3bc3624fd0f8e950b2ff9cb68b080227aed3e7ef76d02c3cee3adb817472cd61c51270c22a08b9332f1b22563819d672bad35e2d80272bca41d4b95bf3aa1a45fc4e73cdab7659d4f8a33759b29a2472ce60eb8529712ca1286a2b763eb021f4e59055ceddcd53e470e744ce298077725ee52c1761a386c07be387fa0db6c2463cfbac52884eb862006c42ced05c4c72b75ee832916ca373e0cae811fe4ec750666e81c55a03df90544154112d645d03805ef1aa2605c7300d526950c5f6ad71e3af983d0ebcd6c25caf04b56ddae8726d0c6cdfb2a2db719a2a5de7da4e5b96d97f1400ede3129aa8911373185a3072649fb32bd92856a6110f84700bffff562c74ee0f57dbc42b7f30f8dad7733172f9c51fe5add76bdf3aa501059f2422744e5b347b76e10eba955c8769977bd95b3a03bfce44c292f5a174841bbb50066f69b662207987861c73cb384746715648f49098b18c7f49e2f9d6c61decc42faf6f85cf9cc402ddfb0f5fdd3c578247348f429c74f3aeac1e4ac43730b38f1e1105f6a61cdd970ea29dead9d5ed62fc519b08729413be323814db1cbac29e3d1ae562fb425a8a56309f164759429dbc720eaba78ba4709abf9e792f154115faf81b50f1a33b0ac4f80b4f44a4381de172e66189349f36ccc37e08a487a092c29d3917880962e54140974a209051271572aa404ae3961945f1ffc44bab647c751818620ac1930b17a1f045d20b6dc82a72a4b34ae20d76a034d1323e3292e68d6734d5af434b5ed4a1b419205b1341e634141feae444efcf9da7394c103be0010d2fc8a3aab00d610c2f8218d5fedcd07291adb4e7ce33b6372f277b32dc484d11b7986a149d4d20a7e0f50bd268611372629ac560017a519741ad466e670a7a8150373a080c6d97e1c4387f897a64397253b490227090e26eea1017481cdfcb7c621bdfd88d3f3a1af9aad42cfeacb83b838a78c996bdb4a62f9b488b89ac8b0ea71b8d9f26c36d127950e7a7aa3fe5646baba12622424b6b08a5c81010ab17eb0b1fd64eadd6a6b138c1e9e9ff83560f77f3ca85c6bc10614199c0ce98305b9a5ddb87c9991638805e9ada838d9c327268d0b480f7241c708ee76bf5325b19bbe2f96ff420aa94d920aa94e6d78d653b8bf2e23a5a67c602f8d31bb1b4a428231196c3bc6c2ad2c2b281563a41ad8e72fa8f0c29f41b3bca0046cf7fd7ed75ff7f7cd597198725bbdb23a67786db3372078d34674b29cac9477f272ed6615de5fdf4ff47744f2ded0edc10d6d9078c1d570305e9a99f643caeac87396a1cb3af21ebc51e196f43fdde526cf3bd995b721436a0f4453b1c68a27e2dfd96900f5d2faa79e895906bd11dff07c91ff97f5b3e1e0737d9ccbac13062f0b039d819cb357fa6ba7aa37415a2e0926d6182d04d6250182df6f19d69bac0e18d30b6f37c0f4a73e17d99d7846ddad7a498743a2963c0b739bffc406d5d062dd0740168b1aff241ff10fee6cee71d89b36e3e0e72cce1577f0af77e06cb58b1ad304ba1a7f15d3825a37f693d36677e4768a4e0092ccea1ce2a0c0952769b8e73ba7f7d45b1e1c137b7928274f79f53a05a659e27250e4ee744d69cbe9b997e6ee3704f7e96c60f92d9785962c61a52f3cb4f43664568356bc8240604233c021afce5c51fddbd981e3b68d264f5deb09f06d79172aa85cda7bdb4f8c1522e5abf21a388e06deb714d3e86e5b2007989fea56e0e723e3d100a9057e29074911b7000a6f2ab7139f03e88c2e90648815cfb8e7d0c726f170616c54cc5d456c2a02a139880b546e4beb7194464f2e50e277f17dc1d52cdf55638102e7b4f108ee40489f25c4d922caa124c035b812d14385a023b2172e31337dae6fee5d8a0f5758a8af661454bcacc8cca5c91111ad71a189d4eb35e43e31b0d1b1afee0afad7a3dd306c01ac1dcd15c5c7f9f3eaeb986b0ecbf3e62690b2a444ee2d5ffd4c7e46807e3ea25e46c146b210fe801cf94b1ef3e991b50f7952172bcc9684fa02b665e206063885efc97efb9530af7791b82def35cb2682b46bd2ab6df9d96bec0dd6e0900cef83f21bc0a6dc4dae17124d9d9683d6a72e9af83e3292d0bcbca3b9738ecf309fbe4c3441097c7a41fdd3938af3ac1c46fd5054814a23fa5e7d72b479a423026a96c8dea752058bc14f78ae5ce6e5a4972a592c2cecd3dac4fb390d98a14ae6748c65e7e2e09c38828d5f704eaed0d9a7236b97aaf99f5edac8829dd63e03075efb1a10bbb79af3f99aaf701140fdd7c72fae52d0b830a7950b01d2150cbb04c69fcf38571eecc7f5a6c246dcf51a56d7251e23ab73f937c2d1bc89c8be3794de1ac2df1c570cdd23cb80d4a5705e65a021c8fcc4c94ce08ba1793e408242b5a904f90f6ba7124b219c8cd9be2fa0a1672f55e43393fa86edf0cf39deb3097581b9254870d7995ebd68e4bf531644eac723a3e9eee9fb59143210ea71f2cc9889b3435d76ad096ca15e4a6569fb14c3f724a3b4c3f9598adc45137e99e9794d74316d05705c29072848782f009ca9a32724be45328408f87236d5d724b86df81842cc8f6d8325d8175dd9f2d747e213a720d3e0900ba9fa5ad9b634ca00ca1c594c9907618d5e3a70ef4e0e8d8fadfe472181358cb29fe21e6318d92e0435c7faef8257a7eb50ae2f65e1fec15855e47103524e1ab072ad5abaadb33cbc3a32c1f250df01af52b38e1eac5f5ccb6d0f12e28012ab0e81655ea6b7b3453d1e163bf74f2743082f18cf1683b2e89868e2d72b836ad729ae02e5d4acc1ddb4f2b9b5afddccab8d3898da44c333a84b2f66f72d2328195423d651e4c7660179c57de683945c30e728d2c24dedafef410cdfd1905cfbc8619acfa49bc14da3fe2c06409f7beebc59adc0e448aa9cbe1b0578372a65f3393acd7e6736d9921f5bd8706fa66146e990ab42413729ed0cfece84072b9b1dd4889b889817652b8d39cc4f3e40dbfa382f24c4d7c298262e78d49e53acd04bc231ee5c7fc87d99116227672e09c7e1c8a9b0a2495372f10f70ee2ae48da7c1672a9e4cb96dbd9ebf58c2711ac7171e4d4f39279e6662672ce8f8cf5721ccb4754dc956efab37819e924d41a7ab5f2fc65f92237703a6c33bf6ddb2c72a6d79f2c56cbdf66a3d4cb3f7e1f8e1e640d6253e04069aebdc96620d30bd2721823c54d91e75b196dc4a7a1e1820d17075f11a08de0c661c41f08921252a92eb158bd98d43a089c358745d459e56e14b901a4ba855f9f8c5048fd084e21eb5e321832893e97384ad1989f27403482cc6de5d647b6687504013ca3dbfb5bdc727743585eedfbe19e94a4fb77433a7a2d25343cb7a3aeee0b1680c4e05c769e016ccd5e398159db364f15a7366ed577320b3e7123fb8f0022febd41fad15ad07262dcbaa0790d11fae6285681368b7b9f22a431e933a28a4912adcce0436de072158c528090c3aba93c2df58069a66f0bf23bb7ca09165f61083b869c51d50e720920e6242d6ea0d40ad658922edeec29133b10a72e828bedc84da3f99270aa5839c8fe4cbe56e28ee2a19ba352882c61003b897e1c63ce9dd43b8264b6120a72d1f44f1cdcba2aee0be2476bcafdb0e91e26337d56483aea66dd8e964868686ca2bb142f9a136ff92664342fb17321e45b6265d8aab33f041bf54632e28468729aa6d6eda221ba1a611dc1801cc0c759296e25706eec2cb95b19868be418ed4dd7130024443c5d2771dc4469fda13a57cc61eef86370743cbe956948b276fa723d45b2658408ff31143954cb9aff8b083c1d363b9f77b1bd3bd4b6714946cd729af4de5dbb2223e4ed1aed4a0ab7496252d0a92e553a6834668c2d3478f6697003ff58ef550ed52d7a9b837c6657d8e135b4f3106e7acf46d5a42041aa28ae72a7a1778fa1558c79d25d362646d661da949169688d71514110865d5e0394cd439c304bec9450ae09a7e0be2e4408fd18c3fc6f9e62b5932dab3dc41aa5da2d4ff8bab358de506546482808b2a438afee61c692d07cc3e675568906a4856bb472ca1014e33ec10d9dea7ed8c84ed690e7704fe50c948891c6be49068f6f47ef72b78f33edf573f79f62e35c96f2a426eb21cf8d66ecefd15d4bd9265679e9686fb2826a9a84e27f67c273920fa414ac4de0159f294602e66ab5941cf5e2b61c7217950fa0837eabc4e8d7d54d4449b5453b8fea4b5035c8ff4f15986c8c6b8617cea984fee7a7a806a0c10fc8f7c52dda1ad695d6c343330d6f2aed34a79e563f6bd829dc880b10e4b7fc08e9b6130d58ff48a163bb21788d6f4bf32a5a6edf72bb6c7d4a92b3d2b623d60d9910efc60ece22c3f6caf15adc55e67b81ae54033c848aee5be5170bf59b6a33e4abfc7de6117cfec2d47ce4f5b9cd283c097fae1ca2a8e395b3e0e9f581e7acc8797d0be225ea3846e4d3f733a563f1de6879ca72ae014487126f733bd1deb3d696675affb17800caa87415e6d828ad498542a5726ae612f278d295199f50cc47046249ee55120b46e3a0a8239e613edee3b0be4e60875dd1a9b22eb912350208231be25dfbbf7f38e3cc8c2c1f6930726b1d0272fc8036685df46c04fd6f7ff9d99ad379e28cc4feb5775385ceccf541d8b6ba7241848b77276af7bfb40ac549458933dd4ce5ed724632918408dee9730560af7215d976af333f4cb3506fce47957f7cb2300252c5b2c813cbd14dfc68aa8202729dbe41eaa207207ca5da3d3810114ea6baea935d352754fd8c28f81380f8a101489be1631bebd0a042af436fa39766a484a3bf26eb9657da8ddf47252f89e8721f93c2ee0689ede9f8c7e865c3e1b269a2e84ff9ad00677bde08df6bdbf3f0523961f51cfe1eb29a508f48e9944e630741670c1d229584ee903b872f81631172c4d495b8b408bb363e634333987c7e6145c980c1c2f678863e64f6e79f5bb272c2ec8e5a569d56f43567c4b5c13b52dea6469d5403d1f9cf2fc9943cf5e668723ccb8d2aea32e32609f790ec138894e4c2c26eaa00c6e8b23fe433ad541cf7722a553df0cab28a91410b8dc0585a4501f54d6b6c694de9c8bccee3bbe840b87283088b1fdfe6e7d3092261d66e7f1035e9357bc7cc737c7eb37a4df698f27a328557597c4d7c44f27bc273f07dc05651eec4f6b0de7e9e20fe32d0bc54b8dc72382bf3a715f11c1770505d2977be59bf35bf59b51ee951f573f7350741c63f0153a236c5f32b044defbfcab4bbcf3a926c8f627a708ae3e4a004eef3ee65917253bbec2e7c064638abdbb6821454db07167fbf74817d7f84184d7f5aa12cd240a4b8ca58b108e78fd532e841b3487efca5adea2b434d6ef99d7563c81dd014722f2dd1c7d836a37da8b7abb66f364a8311615f380cd7f2061f827ff455fd7e726c1a42edd853f50c23cc3a5bfa4a2454df24c89e225a27b62762a9ff12f23272d5028caff02479f5dbcdb7cf68fabe542d36adbfdb76d6a1bd6ca1a68bc05e72ee42335bc3332b083628b38e07928e9565f9c3f6fb5c33a0303d9bfddd554619b3982c556cfb98a9deca63cb104ead41080c96522e0c153fbee83ddc1e8f157286e21e1e948c5c15e46e76a429150d93d560f809b782f8bed72121bd7946d37283e127d110d00ff37c5088ce01b13541f4bd71454ae6cf5650353ef5b66dd6722f54dc07704758c384436a57175dcba5e4627d252196dc60af3aeefcb2ffc072559d0768fe479daaf8a5667012d3768f96585ec8a7f86965281d559e7b558a72e0e151d8b1d55ad938e51dda59fd42043d0dd912f37d0fbfe54134311082bb0c021042563e481ad798d996ceb7a84f964ced758faf1434231e36e88e16a9666a03dffdfc75b050744ef6a8b62ef4219fddb7f872fb0064e25f8454931952543fbe836af76103518115bda7cf743974964b0d61d9c5fc8d40c970a97f44f8c772229c0ea7a7860c4dcb8e8329066ffd0446fab94785783f0117f21225eeb59e725bdd2d5a0afe17c9f158a56eefae8332b3e84843fc46bdaaf94069fcb57d83727695041acfc63935bbde071a8993d80a636d7ac9ca83e9e0eec523d93e3c5d440e9f91d5023e674d20d6d120ad009dfce2d59d70e9276135420a72680f81e93e3e377e973a5fa3ed26f44f458238f85bd31ff32a36a1a8bcbdc66bdb3b60955353d4b09722018eab30e7f279e2dcce9234bbd4d0140e864db9016f5dc50a1634d1ffebc6ab179ad72ce26e4cb2121cb295e646ad21625d8c99324dfaf57f1b2eb9ff41e2526df771d2f12b5493e3e2f22330af57b903180059074874eabb1072ba9833c7c24590a36c61977c2668346c05a871457f81c2a36b92366678455e723d495412179f0acd1fd694e5892b96446eebdd3f9f023d703cb01695e7372f018b19f86e362ad3011d8b0973f28fe68b069bb7eb5a9733755e6baa5338f21e63cec4015c22a7851b49c117004856a285b744d5d04e41c8d1b1d64119615b754d27190a59a525e3f4e946fd5497f7e0708a9dad5b2aeffb7cb929e570080f0c4beb60dca39eddc64cc2d6bd423fcf2c4a4d4a7c155e7214feba8ac54f9ab54e7270b2e8822c024384a43c66fae3912ed8431624a73d4df9fe35c77c2e46f2ed72fcd15109f1f940ab9f3a5aa69d27eb9c8ada148fe01ce332515c097e061b0d71e2afc7efd64357129bce9725cb76ccb02ae2addcb63bd901b066205396d31f3677aa1d081e3c7a145ead23747f6c2d92a0c13d69cec0d431c441d718946bc511be09fd1b4358485c2ee00ddb2a83b8f1b2b11ccc7b832736cba7a2c11a835172f376cd929eed350653257a3ad5d5c71931f190a49d4da2baaaba23f62f577772f225ba73606f8dffc44c9882bc3e6ddb95f53a6d8862b18dfca23683dc95f74dd0259035f4d8af827e5f76173eca511fcbd433f4c93cb3a091eb797678caab26a714881206e93a6a6debd044cc21342a81af131461b371118fe1eb1804ea082ab59775e4c141fd2f56b5a713e14f50e38e99cc93c69cf814c7cf19f9c9f53f59b469f8aac474787bb9300d10cebf6c38b5d143eaef81232165b016c8c8b0c32f3c0f74f523d75d18372e6fc50d341b6da0cada397b52772ad8d2a86f718e2c6b3743a3ed4fa886a9fdc9fe7076aa9c92b12b03fa3ff6f6e02abc9bd6f9463b2ee1bba71c248eb53f4134695a39098440a478beee70fc0a586688956578bacc72db095768557064eb599d7a76615a6fe9640e2dc8bf4a90d6326175c15a6717723b11cdacd5810fab72206deb80a2950ed080a613fb3b880f9733e5a4d7d00272a4d96307af4426b9b090e7974d641f0a24647237c43120eb0e486e8108d1e1222d586bfb405dccc9173075ed31556e8c2b0814c92cae7541183fd8d987ee5872a9579f92591f9b565a26348f75da4db31cea842683c6d2fedba798237c184c72cecd02659a342f2acef44ecf6b92af671e86ed73232b8ab079dfdbd99b2669721dbf08f6b508d268cd8e75850b0b03f77254d2bf7b9f423210eff428591d0a7254724dea22884da1281004f827d0851fe38347a6d202eb3d4f076f4b5712eb7282c82d2c1d482ac450d1248f9be04ac6ee8ac9f7ca0fcb41c1f3e40358fcef687996dc6265633418097a5ab4098017f6f1d9a080bdc5d66a300824d02068a4723caca79fd94754f81cae056d63b223569fd23b6a1f42ee008725a9029c45651f5a6d2f56d3a4a531883860563ee97d6cd390b808c0a78ded55e98b6a1fd82172c68ae7679674666255ae64164627bdff829b98eb1082651757f487373ce97739ca7525d299158e4038a1f9964b92d0462b068a364fbd3f3c36a3cc9bb836dc31f417711e053e2ded6cf59443cf4555e2af56359dbc3f82e4c22432012e32871746a1e3fdbf19a10005b66f4ffaa15a5711bd113473ee2d38b8fc3f3e97aa1a008a7654bb512c05660f1752084c49489633f6896cfc88bb66d05b3cabc934e769aa0a628da7910ff928d45d85dec793dd86e99da066cf06f044de59f95e401d0adc7855af550c87c0ed2e0e364083c2a907bdf14d95870deddd0ea3f0bc5225408541f2806e4a669be47358dda430113fc2a35a38ff3b558280c088c6d57393673c7b9331ab9912e351077c06ac9555e33c764b2692938dcf64f8109d8517ad723292c8c3802e8c7612049558e86360fd87b421adb20620a3ef174326c1d07958541b74acf4f48f375f37f798dcff618d79a8042832c6db60fbd2801ba7fdd9728107f9dba6d5fd94934e0aea6f12ee578d1c337b0fc26cd56944e482a0c8a6032156bce237747a477bd51c7a4702f4f5a8c83d166f7075aa4a9979096661d97296622a32f99a62d8b9f5ed22fc64bae1e06712fd527e3997e255bdfe14a21e72738d45a725cae2c0d493390fd8c15651744c31c7797c4e15c0e576ea0a16c872b406d8354bdeff6f43c27134da5ccecd78d0518aba11a3cdbd39f1a00a2d3c72fdc46c4a59512ba33ef616097e23027a6a6eca22ddef7b06fbb49b4eb86f5772e67ddf282d44aaae8983168f952dd3d9a1054d3a7b77e221dedfb58eee914d72d0a37173a488a325ae715f9faacab101ec9729068876ebfa211320bfd07ed463e0e5b2a41cdb276ed3d27319f4533c559e5210b9fa28f8d2743a0982d9074b72201685cb3ac9464f0c00af394439a51a3be416421960c2fda4479273aa8bc370d5250cd380ec8f869ccf38679b2ae2e8cbfeb2d81bb1db42707f8dca176e4d72708dbea6c16907c9008e0aca8650c844e0db9a0e66239c099ee7f2e7e74f873bb508de0bb90df1dc54078f905d01f78c49a4dcfc876f771a0c0a0f321c85ae72e75a1f268e9f2e14a27962d1c723f555d23d36b08ae667951ac4b6b454c95f02e946d422d234fd72eda32b844e3bf786e7fce648b8890c4d67d99b6992be3072d4c30e43a59b36f6021ea8c1ad24d1dc75b84db1e763cfc83cdbebfb9fa7e8727c01147a364d1d2f55d7fede268ffe5fe1029bab33c00aef915db773afc30d7269ef131f436c7636f790b3fbf1b5f87c85fe0319b3a230df14a9c8457c428072a2fa18d5f06c6d3a156ca11471447c693302bb61b8f306eea8be6d5717fd327299c71e3072a7684a850b6a2bbee103b39a648ae7af48d1a9a8dea930a33cf323928f17fd07a6ab0cdadc63740422d572ef566fc0a6a8972ce5f9b1b5171c516d1375302d76fa3967f66549135e819eab0a5806b6c487b7c6b65f86ffe3f82220b5c32d2f9c725cbcf18c3c3c20bf34cd599ab3af2b42f8f5390019df052d962287ca2dd15b3e61e4170ffd67bbd72ca512e5c08b4d6dd9cc019fa634c70f522f14cceefd203d5c148426a65e87aaefea1571b1ae22a48488818bd2390fcc5c1d57798175fa59e20ac58fd49e96ae73f43eb8a4969e13c0b6ce279263c43ce8727322b998949676fc3c9bfae750c13db1d664be8e7cce6799999fd96a70082628b51d85b11208a8cbc32b61eced4d59ca911b5098ae69e4b6f0991be07304ae72ee4c4e24ac8de566bd95f57b29a7792c267625b75d85c21d3604034c6f0cd0722cbb18dcffc47ac84f3facb397929c163ab499494c7c0bc9d1b48e2e5778c46974971fe64425ca37dd259d2af7d9a43578aabae44d370defc3fb7d0e66281c7212d6bc9f394cff7036176bb4a8e226019a874ffb16118d728f80098cdd11004a32ba1d3eddfee39f0e598643528d237ffb00d7f43744a8ed5fdd672a56c94335ef142ce586cf4f3e9bd912c66e4aeb9d99acd2137460d1184d2c3a1a48dc1072e4799ec2775281e079ee320ad5684b21026cae95b3d3854756704e68e12b4e723ef8e2ba58b70d1eb55be56f6aaa3486dc89aa6d24b2e228e39ab6a4b6654307315a997212e7aa9545964eb9e4a0ac08b040e4620095d54ea15cb46a36c2dd608de6950627c797a90c1b586934c1d03ba9573e3456f45cab58d553b54b027854537bcf27781088bc6ef44e5b7432f8e2897aac4804214ba6d493c9e9bea1c67285076c40a75106a803eb4660c8084efde81e9b77e8e027f2feabe5565b5ed17211d1b1d78ddfeccad7f88c3dc8cfd45397ca3fa3564fd900dc1b83e8d3ddb672b17bd81f7bc84f76317f81834745dc9111c80770b0f5c5474a3d24ffa5803f72af4a11157eb8aa792bb1f99f87455d334842d9500f88fe33e4a6527f5eaaca21e459a38cebc713118d09cbb326469b13d207ec8247554d7af0490b3a11c25372b8b1b00759e6cf33eaa9ce55135c3d45b860b147e71d05e20b0d42c02aae927222019e4bd362eefc49c90221307894a21bf6b9f7daaf05e6c551a1b621f29c727b9d46ff165f9d543acb1f3735a9e59b9b32bad4cbba403a4693465b694df558a41cf1ff30b29d4cf6ba3fc3142b5b609a34ebe71842b9d0bc187c484504aa67dd6d61c23f92d8cb1396ba7c76cd02a0a0af0b9aea971acc64ac89912e704d150139a9d5793847308aa725a04476055b2ca159fe5af29c052d9280f62ae20a61c898602ef4049bf5e214eb8d2e4f5f93244761f184e7d2e2b39442b480fb0235943bf865bdde9f1c8d1af507abc63441136b710801ee7c3ae022a7e91309093a898ae73417462daca0757658beaddbd8ba313c9286dca86d919c369f4ac5f3727ff4b47007857d6a4834d422a50a6b503ffacfd2186c70aed891648bd23aac72f13717eab1a97d94e0ad90f615eac1048ef3b519dc9961ae95ebdcce4c36f172a65855927d31a5e617029931be974f4355ef27d5084143dd9fbaa939e822df7201b7e406aa5809b604f43b65616d44101834b5cb8f56b4ef03e7d008690b2872d125b7695c6a2a52d18c5bebe2ea6ac74dbe1929527c0b8ed0ae2730bbe48e72f4c6843d344e61bfadd5dae5110bd93fb0d18ebcf93de8e12af44d5e069c1970dfe8b5bc6208bd2419e6958c8990a07f2ed54ca8adc88b243e7c67f641468b72a3b43613a07454693ac865687c5841accefb272b88527db0d1a37bdc645ae07208a4a08c36cc80bf9e3f6206ebff1f7946d9ca07b2882120733f0af13caa1465ec2f95fc807ae1fd615f72c16832dc41ea21164dd37acacb6578d1e6665e4671ce9083ee706262a650b27599852c4030c01185bcc8fdf1cd5ec03c7b6ae71b21505fdb45e236db1f06cb5b25e5256e6ed00198718056e1cc694429c45b550b1602d9c40b8fcfe7098dc28f4242b484088c9a41bc488f43416bcbdcedddf8e84b65c24f9986a347cc2de2293fcc8330f01e3d9f647fbb19ee7a3b1322eea4b572e4fd4902c4c173de70e5641943c14ae356a1767f9bd4ea2a39bfe1f1bbe59672f8b01bfe2740c29199c536d7a363c6f35914eb24190073611947418302458b4f0db1bc877ae20dac22a8fb36cdea2e625ada03384311cbaa4d1d557860e2d40a0be74349402d6c87f7869b2a8ba858348038418f3949ff1317bbbae0cc46f1720740ef1266c9452634a2880e39124c8244c2ed64976b933e6e494d0196beca2f38327a771be38121a53ca272c3b0cb69ee1447d234afd1b2696ca89a76eeb57243f984ed859b72d5358a0d1b98de8ad3467b948b3cd87c11c66b3365b4f956729c56ab19760f1e9752d2d1af242e92022c143a8feb6d86c7884d436418043972c1875b7053b1ed6813ae1ad5a18902370dba733620044a5ac064931c3552307240707a611da1f0d1d088109694d7ee28333926278b588a857b64c1f1a491916c664c152243e816402aedeca21beba80ef1a9e9101424ae92eadc62bc77714a4f7b50d182e409264b1f5ffbe50361fa6c8116dfdce132108d41e5feda47839a72a57654abbbbd876b7af3225b432a244ab6f2b219bd33cad0539ce1fcf9002f5348b93398a1b40daf5e8d7a44ac80aa3ea7899670dc65bb18651055c5b9fbab72e0e14f7d683dfb0d0f90148988c3d4b26d6d51513514a2e055aa169b8211e756ab66f6d074b32f7d0051e231032fb78df1d0976083bf1b84cedf7282e3631e0c426deabae39c8067339f5c7dc121b1e548ecf46b0cd6df11b4eb4a8b72a56f72637368e32d53b7eef675df6751de721bfbcfbc4e2a6535886d6caa4f9b0ce43b40b59dcac0405c3d1c8ea1b625a8bc5a3d2e6973df726c11efdd26ca9b8e9635327c063c5ce34eec704777324b8487d45ae5f2f411776fd35e49acb09987df1f227a7a58e7a06db08d271a48c0a3c97248b091d21aa93f9f32789e44e067d621563478b61aa50a06907b83a1adf51ce068f8ae3923ebc228ceb22b6062557f728fe5c73360577ff8f020d975601a2b050f703dc49a7eead001f730f842438472cd6da81575c1ed4e9cd9d03847631c5fa0617e44be4f2fe736de6b4310a81672549288ccfa5a5b8e5650da99d1b85892884d10efe1ec429c4af9c5d51c53875bc11f5e7935a34b861a7f4f7931932112d95ce44d388832ac57d2fdd1a702c83d49682290e506f1e3afb240d974f8b8645451dcd099bb20bee47cb69759a43372cfc8b532671ff1e3412e666067f0b030469b7350a3306e29e7bc30a41069dc72baa19aedccb17862019a706a2b336be401adf75bd0bbcf334ec12a7da2e2c97290b28692748172ad0cf5f1c07a79725deba61f72e409afefc8c8f8abd0c91158f30c27119f2feef2fda26e511c9af092602539dd3eda487b33a3816bcd07682c021773dcb217ced42941e27d80e4d4f577449ad9392c973ef417c4cd79204872a35b55413dc04f92cb5e6f80aca5a936220f30fbe4cdca6e6fbaa95c273d5c6c26d378eb83b61db568e91154aceb4b6f8f6bb2ea5ae9a081f68efe66f9d5be381bf2b681979b3a75cadf77eb431b11cd226b2f2121f5b56d0927842c566f9c72fdf27908eae0b47d7306522a0b41b47e3d7b41a393e51fa29dedb3b5b2deab651c4c1e6b4ea20a7eabf518897aec3a7eefce511921c4deae6aa2f90c0a6d72442ea594d615d466b13deda8b8e9cbdcbfada4f3a686516333868d62d4660ffc720cc894ebd86aa537870495510780dce51ed292c03444bedb08881597069b3e72b70bf65b28ac4f5dd34dd057242643ca9b86bcc3c68c3c8606a69d48fc3f8d72c3bad3e2634874445896e429ce21b64991a2dd0182ccb14d0d6235e9616f5d723a53bd757875ca40212c7583f1f9c5a02d1c500f2c03406c7e7a6af27ff28672ebbdf0e9ca89b2c566abf5ad0534e2f9a74b16c6a46ee70afe9ddbf9d2b43472faddbbc325eac53b2a9a90cdecf0120ad0f872ce8ef0d4fbd214effa0c368872bf04e0a507e82a427333e1c695ada383172efc2f73caf21b3c95fc467fcf3572606b04fde23b13d622bc94acbe8559e95a972fb193a5f7188e07bbbb1c349e72d7b04d4c7047cbb45bfeb75400ae7854bdb121bf868a1eb2752901325ff48b72bb92e45f9186a99a67beb493f6f458ea07c5d2fba942e2b36657953a827835720ebcd544375f004fb60076510f0fb20c499673f5ed7a4b7ddd3841ee357b64724c9f96e5505c7d298b671f59d0cde58b06f68c77f8a86969d4745fc054dce2723a4f55b6f1ca5e7623ff8e24ea23af83b0aa2c009fc4782bce6de8855cc5ca0d9327c7ffea00e83a9c1b9e2bf115f1adb2ed2f3a8108b81bcd21ffcf1aeebe729ddf49d76585036f658babf02a356e00ca83dee5ee4cc3e693b464847f0e8672ee06b144aa4b0ef3cc725c77316e54b580aee0781b2f239192e721892b6e0f7287d62c18d6c02fe365f4977941c06ee66ddb52292d52b256b9d95cd96cf2a872a515c45aa3a0308200a996cbb057c62ddc4aa231c3cbaefe042527ac34c09a2b64741c6b429f99711fa5cd232bd874afaef89ca5fc812db41a776ed3c59a5042b7be2f0046391f10bd397aa1dc399bb677bf3fc2f415648909846c26a456da726d889dfab186ec0cfb1916c5d8509bf2d10d9fa292ac6d202982805908a3bd4cc90edf26dfebf6b502b62fd951a9cc98b1d8a8d32f9b16f14a4af2fdf806e272465496a3317fdbecdc82ae27081ec937ed2b8ec3d79446a3ee6e791c4a69a672c8d3a94d6594d561acd8667209c764325db17139c3a94a88d7ad782177a50972ff93bb9cfd4c10e698e5499c622f2230133b4df6b5de596d15104f54bd18c451e644856fd34f50930e13ae44057952575d052c0405d3ad97f862ae2a9fd226365d90915f1133e231ad4b04d4e87cb7a47058afe1d030218bfa253f499ee0ef254850f5de1f505698c78768fb2b4f5fdce139d219c1de12e35b509ad35ebd147268e79a32739c985200a4bb0f367bfb9d90b76b58403ef64f524711919c703d2c550f786996ac3bd62b1aebb420c861d9b4f079705bc6055535f15e62141f9356c6130c457db2fea28d65c22e3a152189a5e36206e94d1ffc4b722382b9624272d67ad656055139ea21c460a675cf7e2653c7b09f727d8fd70343cb58da7bd67243e46d4788a3fcdee2b5c3ae30b46b8e28674344f568560574b3eb1b2ba476115f745e31e4e6f4ea3442fc7fc4f86337edce9f7a74ed6237f39cf06c9c51e5726e73e4f60947e9a91b77f6ff95f890b0c5da2e64242591e33472471b1775eb7292759937d2a747ced24c3674788409a06350e776ea448e69e018c3339a163258073d52bed253a5bb791b2a752941b82764eda874d646427af30b7b79b8fb6c2dfce9bfe9fdfe0d15931dc23b6b1c416a93d96f4fe000bcb75d610178f11dbe1af6655206f1e6398624b1a0a89bdb0b935175777ed44e28220ef1ff5571e2b7111580eb647f2d4abc22c4a727bfcee7d4072c21dab3f93ab88342209a9f68e0727e11bf02bd74c5fd7fd4a8e13dadc115b28c684c0bbb9c2db68ead6928fb1c69e4a47338cab79c427f031bf517233b331485a197b57c1cd227e1f2bc7a695072340adfda015f6430ec2d5f265b967cf7b6fbda77bca36c3297ccdc1dc0aa8672ef3d8604aff772d903de687d01ac98e2621e7c0d883b0199e99075ecd27c994501a42af8534b2d4833fd92f78ef532ab014bc0253924b5036f7033c61117ff725c73148243c274e0f6234ae220971c056f88cfc1280dd7e31f5228b4c5f2f50e5c86d117b904c39c880b42d5bbe0755b52e0ee64aa68b31b90c63f0564ae6d72ecd9aafb318996efdac35db16aa6e3aa343c36cbcab6b3551a083b24a79b864c69e5cea5b35bfe18de17adfebe85eca84f248d86f67a174719c97ca6c779cd72f2952b7843f8ee1cc8399acd2710f36c7ace35e4bffbac2b9b701d57888bf7723ad805e77f5bf6789676da99546a22589e8a80a7088cccb0eef79eb262daa96a194cbf6d28a165b77e746fba3e38b38dbdcb2b01fc688c69cc8f15b7b2fa1d46193e59f3d2c889a0608a0d8c73b0a56073273d40584d11542022573105cc4172581cb54d3d340418785e36f2704446089f751d0407241e390b83c59644cef272ef1735b1f012881736a6194e978e770d31b3bdeb1c378a22b56c083b7a468d55a1561538eba1c7106daa6403526fe754847ee9a72857e5ebb8a26c37b263ee130bb9bc2983a714bd9ad71f01d0f3d246ea3e7971aad6b265be4884379cdf8172093cd51ceff62d96c4888b166a4d70329e9a4017cfc125ee4cdf82f7a38f0f72342eecbaa273a1973356c209f3db9df3ecd50e5aa0daa8d52e1e7fbd8356b31a953c060dc702b369b20c1fd7dc24ede21f20a1fbc901429f6941f5cb846b2d6e8530e83169659aacca5ec9fd82a7a21138da047ba5e4357ba971ff2829811a7275a0cc755860afe8ab92931757eee44cd32a4dac28baddcae575fd44a48d064f5af686620f2deadd68c08e92680c376eb799b21c88cdc12455b956b0359ddf7093b792c370463f3880c1e3729458c323093cfe33b2a5d701f41b0c119f793c466ae6955f81d9614072475aa9b07551f64a67c1dfd21731504d464273f60e8e2ba4a48aff7fd72cecff5cc23ba847888cf7b039538063fb537b5551baeb767572f0dba7b27d82c5389021ed210a1eb019d060262ed70e0439b8b41d518f3f89729ae8176bf15625bd45f76e658c343ae0a8dc59f2ad00e78bc437a7485ef1f872110c0cf0c9e224c805d4a7e91aa241a256945b51e5c6bb3b77f4f62522a33d4af256e0361e944156cf75b4ab9c06b6cb327449e9f185a3910b411c6e14dc59429660f3c83bd5c9deca930b668036f398f538b14d84034f3c9958708a7a5f4272934ac814e3189f3de98d8ee4d6c0ab7590502f63c8666b821b3525d9d9cf0d2d1abde5097ca14ae80321ed37eee94ce6863194fda478c7a937691e4b0ffddd726757e854541eec48186e9f7af4f5029b37a0845d3a5364264e4328218129a47251aed98ab6a6888b2f51f93e1f2f96a3eaa28d2f063210e7cb7e05261d30de0555fd5a30e5720bbb06eeeb1eb305e9ff0353f0b31e195fb76fcc10e6e4d28a72f077667abfd2c4750165c384579fb34f18b432b060e38eeb5bafefbc5e4259026a0e826d6031d201c210172a922b621598c4bd5ca8f4c38137f375dd424003721c87340c7080d41806f85ecb8c0934ff658ef59b5c9ace8e4a829d06f77c6b38e18e8df5596c0fee4b8c0c1efb7409ca79e161596673d0ce9f81b2354d1b9272202139b13c7e898e863f79f06fea149da3db983dec89815d9578d1908976b128c08a519e77e81a8cd6fe4f6cc27fcbebb4df2e40bd38edd9f95457b811a91f72da7758e2c99eb0438b41ae9d2c7fe4c64d523070f49b78516a7860b661088961c3ed7c36c05fbce84c2611ed10e1b075653f3741ae795c1204c1aa1b5a3854720edde0954f84224a7c29c76692d93240a474cd78198b5797817648b8353a211a5f68195fc580e39eb25a1ca8e82896c3582faf59982344f2344d7cb6952420720b2e770dcf22534b05b049e80f29a11f0551f135ad346ce8ed812aba209208725cbba4a6191b6e171744805bc47ef21788b416102c76cb5d5cf6e2d44f66d472a8f9169a5dead37a495edf11c44b07887bc84b02ee2c612fa76448e71c1538068dce5da171e08d9e2a1c7a214770be2ce3844e92e66fa9ef508dbcfa20d11a30d07688996a1717f0941d42023f8ad41c7bc414c27552b307e47497b0cacc6b72f2636805f07d4a3058f69eb1b33a4d71807e10da0c075c49385093a32f8803729ebc63789b1bc455d47b72b88eed4bae56e89767f0f433cd0b49e2f2b8ffd5534dd2d764b474340f95129580270d188a12cd9b6d21a85276fda20b01b497816c9e2a3a6d99c0d6619ad5dfad98af0dbc4c0542e4501dc64478464f806692867292d016e1815b74a46686f62881d1032b05a87208ec4a21b475609311cc4785547743c43bbae07dfff1003a484600701a0b1b4febc062121c5dea3735655e2d45f8158b0ccb15ddeb6997d89439d7282de3c64ebd63c3f5ee932623cb1bf00d010239783f4ef9e423725927b7de27bc0da470de32217e50b431135e2618dbe80cab9ea16680dc3b7dd8307a3b882326492170511fe195c3b92e60719b5af3e9728f20f10a34fd6d5cba750d1600768280c0303daec31a2835b655a4cc561c1872dbcbf1033e377e00c5f1c89ac75413f0c2d68084da3727b13a32ca30cfb5ed645b39f0efcf4ecc469ab34c8d875fb62a5743715a31b3dcdec9cb8a943fa98d7203660766871076e64ca11739c138506a6513c4fe56bed831d266281ca4449d64de597e1eb53c09e1bc1bf90dae0dda8bca3a84e4962b1b9e11d44afe049b8b7236a33e6ca117676c1ae6b27e08ca932b22b304681e9792b156ab92905b6d61083c4f9e7e71018abe0507015289265b0ec17c4e48b15f9a4e44bc6d3fa02eca7226aa8b28c11e9d3409b54350ff984d737082275edb41e8e209492ad4b48b52726e0979a6847daefe170eb1d7b727d4355604c3bd9bafd1c9cac4470eaf8dd60f8aaa2f897da42033c8a37dbebeb5292e508d41d635a955bdc482a3f5042ed631773bb61e15af7cc784b0651248a454ab3490c4d2756454548d1de8bfbaecb572194b7c4352a27fe92c1a099f354b16ca387e45b9faee0fa9eef991534b319c2670e79036115207e0109e4d27ccc002178226376c3962693511db20f491929e725971cf507e6b82d560c01e976f512ce56a827cc1da42457c5235cc1197cacf60af12c62f37a16c728a71fc5ef75a556e61bb835e1c704a73ee68de2a73b9f3544746b98095408b5cf9432ca7d6ff81fa6963d88bcf14325fe4a215a4ce491272c3211df395591b2a696879dd7e557b7fd82616e17464afb8cc08502c9113c27274bdd4e7b367717f23dd65109b620780191c6a0fe759a110f1d538b03a104b72765def480bfbe67d315e77f658f9aed0b11cd3f102d8121459a048d61ad6d8678dcff8fd8f49ce6ca0ae20a730ca1d47e1d76815b7d7ededba1b5617dd25cf72bb566220c3be517ef2fedb00f15d379685468f08285656f548c75aa56c1448191d1d3b297d86c6a5864c0a363b1dc39b6d340aa738e59693f1737c6fd6d21a490d4c56bcecc9de93e5152087357b0978fd100f5c0a24c875dd68e0097b638c713126e96e087feccb76f696a957f65a0123d05bc65dcd6637fa4dc4c1c1956a409b4c39f612760af8a005669aea384481abdf5552e1e8aff6818be54056fa547277bc73da58fd531fff0faef95ca06e90d5ead3060dd6c3ac5c0b45f6224b7856de80bb82da924abb88ebf22a455aa2614917835296e8d529841386fb5c3d800a4fc8e756c6faa45fe727492e00d8342114259fe0701a6b077879ace8c63eb372ca477dbf549ccebec767c745a11b1abeadc769362a020beadd4e6591b4fb406ffdf67e515fddedfd95e5ff61ad75d09dbf46a0fb07394b5433850e0093e00b72c523b99ac8c7888398c1209aaef048a3028ddcfd85b86831178a010da7d10a722e923e4eea6fe8d7fe1f9a53cd08e9a0bd4ca6462959eddfe757b1432c94b27273ee18f3d41cacc6ea2572bb5ddd694e7634760de66726151ae467c598a2a072e2f49e2d29ecd320ed8a10da50225f80e7362790aacefc99c828b8ecbbae59285fd43787ef16810e927eb2d6859c931a3e456377338e4765792a6f7dde1da84697c26f363c0906b8ae64d028a16c14b804497ed9943ff9d692f5d8ca08722c693d73bf00e12a8249386f938263ee5d7e1d5e1886091171948af7b8cf444bfd473de0c7755ae034ed69ee3126ebe520c3de24be8875bf275ffe6133c610b08572678fbebaeb73a36a1f4c98e21ec46e1da096a734bc9e514051f96ecb6debbd5701a42432a69cda2960146ed4cde822803ddd6ff8789e3fc3ce5827b1f9fa9408ff829d11823f4e6d96e0b9213c7f84e8d04f9272183f21b06596783da2a0a03aecb8be54d29e3a0480daa345c6a74a0543c215e7f7ee154f299bc869f521c238a793a4307d290b930fa47b27afc10a624803dfd77025249fc85814f2e51a522d5ea7323026ea0e19a4b92293a3c8267ed46f55d0a575c59bd40d7555fbe28672af9bd06fa74365cf6aa0b565007b74261049d944160da1f8eedf7f3f1b1e236490427dac413e6867809bd2087bf1dbb5eb3719ba25eca5a654a9cca1711e6a53f1bfeb935025e40811521a88c190eac787dcf92a6c0cab79523cd122a53f5f72251d7c4d4ea42969cf343f70bcf51196ab10235ba63df8edee53a8810146da1b10dd9d5101d34f0759d40045197140750ec383fe8d17bc459fb1ef3312644a72043ba7d87cd9bce2ea989d9e682f9a8d543abe8cd8aac2b614f36d6504e47072f02c06df67b8daf183df0c49e4529a7eced0a4742e73a8145d1cb670442c9f67bb4c73d7f07143dacd886709391d1a80f2be2b5e49bd6c029712053c57d8984844fc697fc881b7d8d55cc9c02f7198806f202d26854c8635c41011ad56f45a72fb00e794961bd1108a020c7136c1cac073d2704055637ecfea258ce4487f4817b32ea5c16afbd8c20aadfca190236f11611238c85e89f2d31df96d7318c8a0455eadb78a71c774e8d10c87d8db0f099befdfbfb55e179d36ab16c97a13c7cf72d2a2ac4934e1cdaba3a20cd98822fd2de565fa9673834b0933d1e170afc65932456d266bd4155bc480967e1a53d7a5e6a54a9f04d1ce70391a67cc8c1b30071fec41ac37db351239feff462768699b3b94287b4c3ed6cda2533e0714ac8925318ae77756a16db823b7eec67d1d7229e395f19eb9b1962f438107d3e6c1326916d019720b2e0196a9f434ebde40192288a46491312728330526db73473d390b0a6889aebfd8ed8cede8ce47b763ced801c0018b506afabcfec1415e28a73620117d3e2b4a5c37404f68df9f4ab03a268280277a515e35fc408e014f053f91bd694a94631323876fd85d6a7b6fe6c2977be9cfdbde70fa14673637c2d46aafc3122c33c55fb946b3bac1ed94b92dc9fc71f4f251a09f9badbef8d749c743ccbf724793c9c4da05973c0e86ebfdc90f9bb9397c62f40b2b71a2bde005a9d4ea7d7053aa36608b4b63aaa729021230683287890d1dbf6a8af203c36ce158793f794131312253a817c983a965168dde775626a7b46d257576bb40cb3da4e6951231726f74ccd73299c98d9e214dc37ef5ad4b73d5df3ecf13b57efe561d76245a36039ca57db8f22cbe2062ae7c470008bd14eb58a2d9c60da070d077f0ed5c3ecf725144df1e6516548f070ce53707a90b6fb665159d28e9a48bfa61bb09a7a2a3683a6ed6678018c47848aed6e1a8a4357963d19a3fd871f12897e326ec3d267624d32cadb155e5721d30560cc9f952ee2c4ec8ef994bcfa622c8ccff63fc69606a63bb1025fdc0bc7e2feb55ba862d889fc5a36c602d0bc6fba3d1259e79dfa75c44a5aabb1a9bfe0369b8d9ef9d92902ec4c55444f71e7f4aab61294a985fa6098791b81184c7aa6f52f7139ed7baf7adf641b1ee6cded3f730afb8f07d691403ce0b970c1e3c584a25093c408a78093ff5c344b669bcbb335b95c6be401186723982eff769e7d9e980a47808315e086030c0ec9e9c5d3198411e976d12bfab2a9b4edbb9aa065f794d4a8a944343bd4009f07010d4affb1a7ece99fe5b37f5729bb275a3784b5352a79cfc4114eb8b5bb108313cbe24306fbe4b337b12ee7371b8f81c836fd75f1556d3584d8ae9915de694da9fb6b1d7ae8633c1693428ff7259527944d293f18d64249f2b0755a93f77c560dcf6ac172b5f7475690055db72e2df20fdf13fee03bd4e6b4ed69891c780a8f49b62af7a764893eaa86ede37665fdb99cf81d84a426f0d427465a63af652773dbc6fa331e656c5e12246537e72560940a8122d353ed7343d26de8dbba2eb1a962c3216194eb5c3051c3466cd720daa033c4ef934a5590dd09fc7fde7a7f44d2ae3d0cc6f8c0fde0908634c93727df9733b09ea09de29bd62257a5f7ab8882db8c6ba36ce497492737deeba163a65010f39b1d1c86120d0050023d5d1684a0a8a9f98a619ea8902016f45428e09dc89cbf223e76f2d5e7d50a98b700d886923b4292a4da31753312bbe37cfc020982a34894655f962336e8b3910af1c05d0af3a178cac94be170b0c1aec23f27276ada63dc7204463e017bf0c232f77b49a4690fd00040c2ede2ea6796075706ceea3696b711327fa0bd4c81fbb7f19247b2034cd2ad06f436a51daf100d72e7217123c5e7ff5c68516951f1fac489edb6bd264655ca45507cdcffa3275f86e4dcd4a6a25850f3e1ef56123345d3f60315a9169682aca41d8cc09dac9b50ca6727e152b17ea85ea32e8276e09a8e2d8a92a17407e281e02b312f28647f1940d4e3deb440df301129e1a681df33a071acd13c0058ac28ff94709f2276ec543b369e5a28e1443fc8713051c08aba50c87743a5dc68735d3e4510477a21f216dc5546fa553e04825fbf8bbef900e7075818dbe251b3d6ec90e82d5db56cabf93040603190c8d80a4ef818f0891243f7fff2ff396c483277a82f2fa7c837a0bf8f325b031ee75a856831649d3f0c0cc7bf881329a205287ad8d57e0acba5453ac642d7048668924835a34d11aba8a0117f60c673927be0c416ff7f508c97c6a996d722d7c320a0a71bf0e3a496d58a72bce1208a4a216ca8f5b5f31d7ce788983147097c5699ca47605841d06b85d9261f176ed10a50b1af5a65659bd1754c99ef472e396a99f09f4a5ab9d3c29fb8da4f4b893d4094e6ff773c4d621d9c4f4ebaa2211e955f0a1fbae854a4bea1c7a34b335f960ac8e80ad5eca5b5bae2a4ae4a05e9c7e65dc4b1680ef8e347e96b821e2d38613cdb2072465cd313b527f1c72a472cd210e43ea3b3e173043ac17ec5a648d8dff7370b490188a1ba304d69b715a097d7c0359d2532b6369267e24b700b63c3c1ce8625a7b4e37feb97293e5903c72278979049918510cc46e9eef4938c10344405496d168289c6537af1ea778be72a96b6d3319502e71719f4abe161c07887699fd4aeb802b4bb279dbaaefd8bc723dc4769c7e8dcb90ab34331ca53c8a11f7b6a34e5a80feea730fbc28a62f3f72bac779f158184e4c25f102dd3b9fd39029f496f8c568e37768f99004b9682f72aeb7755f0695eb8ac722fef7ddb432f5071c186a5cd2a77ad04681b36fd8cb48e0063709941aecf2df274d20e08f7922ef68d76faba2e76be72183e629d5c6371253937b86a609090aeb808d991d9103581d32558f3d8600a0111e92a54307727a654216fcfec98440a1a08970e8a06a08235f975b09e9a87e61ff190ee5e372e026a66e910b7f8de309fe0c0071a76aefa6b50c3600166d2ed52c3d17e0ee7213f8ff746f5d20c4421ccb43ccb4e75ba5fd81db6e11c7ab9e3a4053a74fca723acf77fd231bb4ca7f874e5055af915e9fd9dda8c973b21d12a499e1d33f6b330c3eb161e37980c5dad50468448d85cf8af48030a9625f60eb119f36c3bf3b721f84e76eabd24883394dd12da1c3a2713f364b862d34c24427274f17529c6d721ca44da8e64486f5d690540346c7ecd0846cb1da97fc37e3fd14ec4f8f05c072afd2f5ada889002f633cf0276e6dfbbd651db3bbe27ba77dba66d291fc71ea1148a4cea54e7b426bb3aa54731da9fc6c3d23a7d07548fb92fc7edbcfa511001faa406c7693e764aa1f4eb342ceca078d55e116dea35319097976a4c46c4746728524a52029087e83200b31bd901e37aa9fb206508cb9e297139882f805da2772f81019639a6611c963c9713a5efc055abd31cbdcd450810cd0ab1cbcd143a01f0eca7622bfcb270eee49ce91e1089378c5098a0195f3807575052c901b063742989ad6f95a40fc08c2fef6af726229c7381b7e1a87f99f509b2e915af5d9837209a2a591ce0bf29e78bc28dbd5adf932f1777e7e74244b708dd00568362f8972aeb2e373a5fd17096b56eff4e8cf75f807d7b542d7cb8f4e363cd6a48a01b372f13bf48c8e4af501a97a40a6b5036ece124050cd3da4011754df17a9d75d1e54d5d22ac3865142a9a885750af08471ee1e0726eae506658bf68ab5bcc62fef723d1e2228d1a985e789d84573e27980ef1e4d9d8d158d28cbb0cec672186cd472c89cfdf1d079db964f42a09726fa23177755f5b0eecab05879ffb33e8223114957cead2ebd2ce2e9975bcad786bfdab9d27d402cd9513d5f50dd1f3a4c9c7f6bbb7fbb18e9403fcb3e60736cf862327a768f6d764c339ef0a1e35f2e4a8a0472608fe84519b0085e06562d73a81633b8b3674fe7c2737e55c2cd7cdd26721a725692180b709d8cc805e2c9f9faa701e6abb4ee64d7d8b96fc62dd393fb0aef7256d79a4f67660363320534b418ddb5076a1e786cd87ac2124d73e3bebf97a448b6c113e12667a99527a769c5d5c69a41c94b115631dc1eb618173cab584d2c7252a4c70768f6bbcef53a79429b92eb68ab1a980c98c24062cde65c082a7eec721c49eaf7f1e445237b5771e04bc0a4588c328ff530398ce268e728bace48e672599da7d95af5235309562be7a089aa589ce8fb9f0569ec6befc1fe825be1827222fefcaa617376d5180b834ce65205a4f5d4a8a4f8832c4ee1f5388371a0767201570fe2fb4187933ba5c92ddf5474826da06af6c44ef9888384d49435783d3e07a3561af188effa3e60e6c33e261b51b6fd9c357ea484b3b512bbf8f2b02f7215c857fec0d0f58875d056f04b26269e38293c3e6bbe2030e949233d7be6ba16a7d9a45540780b5cd09c5df89e3bef6e60f82b5edfdb5139f5bb032b1dd00e722c44a59a06fa3f4eff37ac72d912b65c744bd9b1a485bbaa12742c3381b712721206364c9c4895ada622af1e44d079c9e352a64daeef67f17c20b16fa582c103a09623cd54b80c388f2499dada8c6c85a6acb4d8f62f68bb0e24b00e6dd0a1725cbf2e66e6eeb22fa07bfbb30b9ab205f1c7644dd062d5df040946826e556f72aa9f72bd014f63af445fefbed9e8dd62f76b5c763d98008797b8db9604bd910b3da0c5f4f49691ccd852a7f6c14780a1888f99e242381fc3762b8ebcf720240d97543030432843bd8e88f3dc2d4900c5fcbd2dc7f5d68fb48c05d20fb7334c3b858ba7bd911064ba84faa7b13b0e7b95620f603c02dbbe9dfa03b35dc7611272e8f0df1136dddbfa8d2a40801ec198bc8201a897437c4758abe1bb2c20e64672712335a8bf68fdeabb5db655e9b2d6456a0ededbb466d038f889fac8a6be0872bfb8c31a03fee3da87e8227f7ea48b9e97141bd7b169cdc750d74dd6a2f2bf4a577686a896e97b41b1f2343a371a82948a6f48f7540ddc97c844cff6a66c22721d1a7a088559d77b653c8d53a2af00f1de540420b7cf8ee3caa110b51aa19a3c5debbbde88182b8d2c8f51ae4947843805828a12910619db26197ab099028e7245a476d59dc860419b604c6fdc8e9843164cf29973dcf3efbd448eebb4227d723d3fec6cf572a09139b65c77fc8874485b8f3557a4c6c6e2c30f0e795ad8491464cf754310e9139a09e442a26acd708515e3724e9414b0ebc65a90ed871c3572225008674ad426f58f0cfa79f0514263a33dd05e738f407c77721544b37b5f72e89e5a1ef2624dabd6b73bd68a593a3d380588c3cd969edb1fb43f6bc3944946b3e38349c1bfe1f1cbb6aceaaf6ae3802924709398761d5ccf82682771ba461dd115ffdb77da0174dec01c584e283ae5af56a668319f00eb103666c68fd77f72b037411417469bed43e5cec2045b964135d7596ea4fce901644fbf83e21d5f699dc7bb97b283e30f8803ff0d1749a4c67ef21a615f7f8a798702c1e1efddcd15ca6e73cdb1930525ec75aec785b8bd5c75de1ceb4bac61b2cd4ac9f61e0f1372c26c93433013243dd689863d69eefdf3790d167660076ef87f22fdafe6a2b9681d764e4716cdfd16ef29054e126f14dc26dceafad68f729943eada22c6ab21721371472511b555207e9cf72d58d1f0b4b9d16c7f9a417014647231cbeb76733adfc1b38663b006458adf884d5430864ea255580fdbd285d51ded5d7604a9790a970844d64b6fe32852d8c3637d35ae9452133fcf9bdb313f7df62928cf610d72718da8902671ecc6c5f237cc2d27f59c4bdfe81a9a4370eecc6412e496402115a90154e49954d4814278c944978aeff551dc2575c82d6c8486c66fd098b89672f59218e9937e2ff1fed714b1714184eb55ddd09b2152be469bbacf584e7e8672b0a8604732ceaa86979d6e7edf4057280950fcd84608e3d18523427cb0a64072208a927c0c0350d92a40a472f5a80794ef5b8c315c38ea482d35c45272d03b7243f2058400cc487b481bf572deea6140d391d55b58d208c6d8971e3547e54b72d0b2d0fb142edaf512643168ad4b0cc7231cfc67cb2ac259a52911c558f8897217cea542a10a89b9252a3e893489ae0abf14fd9c462fe900182b4918fae68d1a73f4ae996dc60cd8ca0aeebfbfb7dcbb98a51e4f132646ead68dde35374b505dbd644d92df84af4e45f17f05440fe0f20793ce04e0e2c9cbed80675f3b16db10838875e56ee291f14d45d93f7c7c4d24e5f10724811fabc150e5073b20416139f0dc3254c6cc032ddf68cfc72ac5461691183fa05895fc097d559f78c0d3de72045b949704acf81ca6781d351985ddf6097b4ff88b1f01fe8d258566dd6d5b72c801c842d436a3d02dcd2326dd1fcc975a543f795717daad9e4060fb48d7ea4caa0cc6478d211fa20ef2d1ce02ccd043d8e4add49b7818558571528ce06b2372ae74d178e00b80d691c59aa58b8cf5e3c4ccc25077e6770c7b9378914bca2072c0e82e24c85dd7b19e523f986e292afd6a18b24c1580edb174a8873b43c17918a24c842a04aff8ef0e20ca53f8ef707da80058567b57d908d09b8f311c684556c963cc386e1e7bf9089283b5d6b53c513742181c588ce6c2d71ea05008d8f272fcd7951a94953f284cc36d8c9357536176c493522d58b6ef5bd0f309a5e895515171a8229c072172924264188908df0ca987c41bcb1ac96d25ab02c2a15ec672a0643bb1021c836a367b57b0d08050591e731cf4767fca76d8eadb3036809b72a07c4eb48ccca91c359b809804070204c3fa487fa9e1eb4835398a0b00267c12df9f77284ffb7e859705f472f175d4d719a1823a68f8fcbadc51fb679d810472cefb1caccedeb6fc2224092434e67f0186eac9d4c5c7dab58aa9d8a8648cb44be4b6d3c12e39f087191eae9b5dadc37681d16c80664262733c7b244be2b63d725fbde0bc42b7a9a0432c5f108cd55676ab53d07bb4195eaec4f15ca26260564632e3a07aed6fc6d77b4b0a3313027e785db4177bf3b8429296f47a7439eff372a7cab0ecba1e2e70dcf91ce45692ed77c153655ccfc8833bfd5672df76b2bb72f768bd7f298082a34bddbc692247448aec6365bd417c625f469dfe1bd1ba4a72f4ca31c2004e19c7b7fde8ac08085c563c007e8140f5de0b4f5b27afd8c34c72587be8defd7a3fb2b3ff043dbfe6aed9ac3e6f585989eb0fc894a592d89c56726bf87e7f26af533e5d780c12d6e369b188e59d7087009f679c8b78dfc186187266d575589a8cd51df70ef026759364284b85a8d14fcd617533cd4c11607bd049cd772b53143843baa538b7f2ec218bd2395865cfc9dbba9e4c875fbe8b42d67240491b45497568960fc75854cbfbfc0c4737bcfcf9aee4219644228b48f3cd6910a5b606204d9146e349306d512ba49f38bced52f4d90f1028f62b8a5652355aae2647db9dcbf1046744f32b2510386351930b604f4c7536446333411e62107201f4a1ba4755c1f65f4b9cfedc10c74fcca9e46dd52c488e2efd689b3a926972d4f856b91d3f1ac9656ed85e1353428fb5443ad47159eef72f96ea51fa3f8f725acca73be99a0cf5f5ed8689219c5d631c227f071e44d7272391adb30b76bc144d7ff2a8118171ba1542a4d2f98c7547c748ec13e61b86d278b216dd055b2272aaef35a39148f120e18bb3e0ef71c294f12f26c184da925d115d86f116ea3147e39e4065b04aef2059e704b309f6cfd936cfe18a2117936c238b9dfe8c25b972605128500f5a78037a811a7e4113b58079f2cafb59e1c6aafd2cd6fa7ea26f1d04f0bcc192a79a1af8bd548dc57c5500cced2831fbad65632987d5a2d0c5c94edde415763273e0fe265165d1491fb716fa7427dd03aa2293f56d933777a7a41247b11abff7927375ba7f5ca7ac01b308ba771337bef9444e796be88fe419c47267fe5b8267b9a12abe2c4cdfe396b2a2965c5f1e69eae5cc4dc51f6a059f9a72f540004a5de48538377f227a0afbd0442900a11db1cba570b735cb87d123d408bdf45a0d8691041f6cce87eea0baaf4462542fced19416b61f82dbd50f59ea7242a67b4f194e8f53ccdbda79daf6a4d89a25e8d86df79604e5ab2dd9847c6600df19efd8e9201c3f21e2e775da63148b81f84d603aa10b55d7387f83d48417720febcdf146a85ad6d01b9b810d7dcc29e4122cc48fd84315c8a44f27d74c84188c0ba8dec62f4dd48b48464065a2d13a7418daa9c47672c99206777716e4c15fceea433df7dc6da0c7e0d52a7eb9e9dffa7fc4c3f7c36617c0d36d2ae7ceba72e0e214af15f2e52a6f09ca07e954a1b04ea61e6c02b67f2be241b66d18adac0e91a60820c8ed27108f2da625531d263cc5be9460c52b5022bb41febf74e725344e9c45bf897a9809fe3ec2d46e45f35c53c5e8dd191456b33e7ed48f03fb05724152417b9a8698a944536b39d35e52fdbfffbdcb01b6b61357981ee1a0ac1272e39c16e55a9769af2ae69c507655d55a26d0492b03a333df3de52c1be038ec486ddd18350fa2e40a0c278fdcd67013a93e78d74611f1e3b94b514b443e2a6f4881c34edd8f35ad66cc1dca021dca7ee804d0b2151948207e273e952c81e7710d9cbc0eee81f6eac260a5020b3875f7853d6bf728cceae9791250b68613fad62e2a4fddd3ee622b868560adcbae17b5daa385bfedc75fc2c1a04aa4a08f10030bc95f35af5b66fa5ba7d3707886c82bc60e2d70b638126e0ad39ddce738fbae3ab6ef3dbae58f91a667574c32bc4a8669e6ddcac0eb5edc129dbb3aa6577e3c72b9a61619d4d6a02052570a9eadd4bf388096d69ae721e7957b6c334d2711323afe7d7a6e82724ded929ed66af6b1f0b48775d783c931faf0e9a851c5d21a2147f1e7d401780b81107113deec15d8d716c9e9e4c32070709bdbe6fe6b6c519d72dd1ac661c9e1b08f7bafb76a7875b61e38080d6094ba8fa69a760d7450e62e6bf920eb79513f3df763aa675b3f9c46bc09e6254856ab95098385d8a0546b83723da479e4e33eb38871e6965a76cca004fb59893ebc7f81304525ed535eef597269e3769ff9a1b7fec57074d84fd6670d3a2578ee723c2c99c3a916c0b52173116c94e02aa24948515af32b02cf8cb1f8b73c47fedb82c596658a98b28b920672ca2e8b49ada18d119b774641b0b3672341dc10a28e8d362873381587469a103bc807fb6381610e28a0806b07da5e2ef5e3a9b21f9cf2c6c0757a615fb7c3547271a8c21c0eaa80b0b6967fd336715fb78346d46637e117490e4b776d72ea9472041f658e8ba20d97052090adc1b2ff831a885c8d3ad6036f54c72fa243cba05f9274632b6f3ab7c0bbc0b38c6edd4adfb59f824dc12ecbb338338cec0b4896571d6271feaed2a959db0295c7e2909348a6e6afd8d744bc7da97120adb861a4306a0b4866e801b2beee3ba9134a700f7c96ad69b4334a96de201777e15f4a7772bc8667933e853dfc33bda087e7aba1aa2fa51b84332a773f5baa5642cdc0d7548ba0ebbdd597c1687577ee1d6a69aa839c357726f760ea165bed6f85babfce1fca9dadaaa2e5b0e2e01595e5ca68bacc405899eaf9980e8fd53472bb1557400f86faaf8609a2db5443dd159db5ec82539daff0ae3207a02f140c40bf54294172b7a44dc042c2112f2816810d2f590c44377a8804d66acebcf8dbbd72d2175b729131704fc0a28abe1a15c6542ef35968b0d207972a9b78ec73bffb888d482d72705f370d6619f2bb9a06da5f7a8c2a1b375d5b8bcc672dec6fbb8eba81dfeb72da29a7ad81649375cfe09704b03989a43caeee82b6b58685079c8b5ba084226bdc4f0c25d7b658ad7948a718384acd0bfa36eb0e2eab2e4e4170723f20334f7284cd76e03d03dbfe7929a0dc8e523be644ba2948e12ec7fdc18c538e18aa9b72fdfeb3bacebc2a452d1c40645739bc432103860ddd367a745910f21e9fbd2d72eb95188476eb72f8e100ad30a336d7c8040db6621d0dd8fe0d17c8f395d31672bdec103c84189955edf896e2b04199717ca28af2937b483952f398c06dd2ea72abba6e4d3df4eaf5bc1957b3ff09eb266be7a38102d73be5bb5051b01bb32239153fca11868f9b1065d75cc560d98ac93f0514788152017c57d3516c507f5072bc5e9a8a8e8de06e9d48a7008f06af0fb2b0dec7d84296091e4772263c7fe472826ee998a8ff369d08aa8b6850616efca82c2459e8ada9fff476a8701e75f60ed15d8e2cafe99682f911f1c4e48217681ab62dacbfaeb7d77a38a8842ba8475b8757fc67dd4dc35908aad60cc234d03ba1e0fb8943119c806b8a4c5c03ddd172ade7d8ab0466e3fd6812f09677b74f2593b5a9596da6c1f4e8f62068c81895727f49d37135697273d94e70ba7e252806773d23c30cf9dad18577ed61292f5772394af3a9ccd6a8feb3a698bfc8155cdd66edf70f9f29a66c4fbb2ca085759572a244164db72ac89cc8a19b64cff91c08e25c3a6824b34400f2d8608bcca8d8634ecd61c8241c7d5fabeeeb3984e160884900bde6807bb2bb06e2555c344997726ae36c6668c7655c9774c65aab2e106e306617eb9d9a471958df4eda80e30b72c7848627a8a249dad85c5de7406e7bb8ebaf74e73932ecc1d120d7a31cbaed2e5b67e8b0944d1586f89dfc3fcbb08e67e9e95da606c52824c98a0b1d73b1990465c966cdcd0f39d51e2f7d469395d89530ba3e712335aea25f5243259ad08472a17e896438f1d7586e136b4d4c8ee48b107de5d01d318ace86013f1f67deb972a48c9e528c54d7d59fa761b74782d7fea3362e2c3de9f34d5290572da153cf72c6be0b0fd6e64e369d51550f6cd79ee6cb1703779ed4e9cca3eb393afdaaf7729af8497530f67b1d288187a8242deaff8b0a5dce38017b2796d725a1d319633528fb6c40daab1ae686370120aa70ded42a92ff5d12beea6dce54061d4bff44727dbd2d5e5768054a34a374dcf07354a32f5e708d2fbabeaa1d5593b2aaca97728de667b66d82251949db5fab984e98aa70556b8444ae5f477c3a72c55ba275723578788c1112e698adb463e5348f72a38f7645247933269e4c94f995c1722149bc89cc91743184b0f8c2f68a1251c66851e544406f0578428bef92caf4335c724c1ddbccd0fe2a1c4ba7b499f73acce71e45f195941f48bc24931e1c3916cc6c59f136f06eff5c34d70887452a474ee016c742a16259566affc00259248160438e31a9e62924f09a473032a430bd278988accad9960911774097a29cf390097202d4428a9753534b314908f55db2266244d4e053a86cf23090f6f2de1a6b9d142f657a617f468a4b2049e6b70e6e8c250c883119998a23b2931bd26403ed9872d8525d8f11cead9e91fd551601f4df43c60055db2c6def7941c44fe57d03636d61827f1efe162eb3dfe1dafe18638ed7d8a732dfea947958637738c09820cc72bb0f90dc6a64fddc9f0c97d932a726aac303282c5fce2ee9633fb274c692472714605e572335f0daaaecb7b79cd530f0fd9932f97245c96b420b9aa6b55e926261a2947a4d9244dd6c8f55afc081f61499941620639ab54fa3b0ef95a9f35672d77a4b98592c5a1b9aed77d5700730cba392e3381313e3c20c13bc8b13af567252c86483fd171668ed13694ed3b90453a56d837ced52f2430f509dae4eba7b72f9f7bb123451f11642479e32e9af18cd06ecdb08691af4d80ebd47dc72640d666530b6916c2277ed9cd74ac6fef48a2f7d83f0a56ae1ab8700f3da8f78ce78722095094141b8e247c2b5ed394fdbdececd6b2da6a7f91e91dd97b66bf65d543987e111d671b80b3c6474ce933b287ebf1d1a609e3680fe01c9ca5cf6e2976266cd229440721f105953260cf52d3a595475ede4fc407d4bb93b844737aedf4072abbf9e1e3ab88fd07a32e031c47294f40948f56996b3f8a9c4b087bab0ec8f57b724a508d990cf5b37cd8a3b7a85dc75acaec9dea59d664c45a441e6f75cae72eb9f6d2f6081c5476a375c192e1cb1943070520a4073ad3c5c76379e67f96e72725a1ef9e1221ca2c8324cba3b5fa0a1190e6d170df1c7b542e841157060f972ed90ea2af2634939db817da0b0cd838d5296fcb9e07fa7378b423a18a89f5751ae0e3e897eef0c5dfa79b7bda207e50a5a2ea2c522160e2471ba4eabac775d728b358e17f57471c2b63bd2d75467eb92a82865aa821d179921aeaf7289db3e72703c9e75b0c0e9491e13699db8d9d67b5521bb130c4cdbadf159ce46fa3df16c7722a375678fbcb9c6cdcac23a280ee97cbbbd16f9ac7d175183feb6cefa31725c9328dc24c13f1364588fd105fff2145caf419a07d6ed13967e2cd92ad5da52e994630b2c1dfe230c09c3658617010a702b560cd1bdb5ee573841a1f7c07b7215a99dbddaacf94b52acad340f7675e143327ff50f98db610c9b829299283d28b29e721f247fee14f222b0729a2ef6e6c7a981a8084300a46a282ef6aaf7f03c5a2c42c4eb214de181a61c99ec7dda3d99c7db4fcc4d065af8cb7c74dd8a4f02b67544acdfdd807f97863145f0b1f1dab8c05695194b26975e8516d89d5f737291c2bc682460509859a9a86d3537a0b230b401264d2eaefa13a7b9eaeead6d7266f54c12ca2f3c09bc7c9a39dd47c878543848fa581635fe3467a530e19ddb72293a10c934ea654bd107451a1456aaab8f73d51f0e5e0431ba56bda2aa752c3265eaa1160d16da0ffdcb69d348c31e2f68a684a39721264a8118252f95a56e605660babe1c799c190e96e21756d8a8b17ab5d46c63c742a99538553704b5e15619ca93257e07c0eb2c7efe341739ec8ad4daa6f47c0d3b2b7a2f269a74d809486fdfd7deed231c65c176b386b57e05027de2719cccc6f612e8e2b4d06c56d067b8a1b297afef5604d6b7d7a3842deac5207aecee9f9bd31cbbc2079b3288b87298d6f145f3342d3a674856e44164bbd361eb72bffccacdc738d8b33e3bbdb07241a4f63d1617a37a1623f9fb8611ad122a8ffc052cfb2b2bcb00941cffff94728f3c976b3c38fd60f094fdd9e73d8f1dfbc746ec308f1a88b8ad8ab1923a06727b618d5a518de753134a929927914932f6e06c8e50eeebebec4311d5601b266fa2b5279ba961eaf87547f6affca36de5c5993603b691b3b1ac8f52ec9cc23c248881c4ee913d0b4678af026dd91b64641992333a1c02b3c5414604a4e31e5e1f2142023c58a6dcd698bf32d0dcc75b0243e975a764475892549de69a32b1bb334b7ae83d3b1e87e6fd69d13cb5b9b34c9e82925b99895806aefac3abc57668657b17326468541c815a55e20dd1c707343442b300b725bbdc533f25396519c73392d99cdd979af1944e9efdf996e1ab094ac8a7b3d311980717268c9c72524b720708472e6f103736e8a59925acfd36b3fdfff3823cbdbff83279268a14355a72e85efacb661020cb218a61ddf1268605eb533818f47ae3c6afb725d3f39cf5723f6b50e37f0770b30f455d46c202d7bed5e75030abdeacba9a3a7f30e2a67f47d733da46c4fd1302fe9c4d95afb1d838236c652eb40fa72fd43f1a4d2368d9720d028e912d0f07f6501f1b764216bf495c7d233a2c73fdfb12a677de3e743672c5d902822922dc703a94034cc05a7e2229f1b90b7e3147216879b734e22e4b219d497b2692ca6852e00847540e473dc5cef4a8c18ad9ae1d5b43a2c2c96f0e725a25880f46e9195d88886bd8f5a17541d3beba1e76970aa19535c7e12e4a065fb35e985159dc2fdfc4a3e67fa6e70f46076a1d736f68ae1de9bb235336a0bd724577c1f0db83ea2c9675e6aa31080769aa82d489842cb1f4a9ec75d345c97e2d1acefe1a8abd88175bb2c77a5bd29a431cc0457001432666de0e1cd2ba7410612b26a91e944a9616a0af90c5a69cbf6e09c6f133311e50550db6395d4c8c412bf5471d00d275813501899061af57cc10435352e692c0a512cb51ad989e52a1728ce53769cc7d3fea79c8fe45888a51858ef26093d0808f7c4a156ca26860d834dfe7c8cea463d4411479a3b7a45f7d4076788b33a85bf2d2c4b76b0bb9c64d72cdd2f921b0aea0f7a9d423f9bb51bd84c51503c47015a0c6b4e29b047abea126d893939ab73003f0b1647669615e294bd003ab65d62d993ff4133bb2c6637d722ae965f3c1eb77ddf0bbea0f9b73cdfbe51413daa868127f946cc7a4e686d972bc0c9808faf9ecc5354a555498e1a3c4b45cd0a9979f39837e2ff9c98b7ca2720056887a90523e12067069b43af10314671048e18b1db1a9933281ccdd072c246d505b5d246ad1d63b2c2b6a5792e51c0a87c6ab9dda7f65e0be9782df734a087c4e5c73643291725a26158c9894f3b41496e98b6af4d894043a739b16a60472d7c478fe820c12e11f678cb3599155c7522602717591f7a619b10010b5d6517262d9a6f4f7bb90f9b3dcc339585eeb1d1ed8c1ec43328e2fc71ecd41de6f2772d719476cf44f75168b85a2da052ced6af5b638eac04fa4411fed9a0ec46c7a5b5f0235c260af3bc7ad6212ed092e68f0cfef2a83b6e3111055044a09f4888b7213c52d8db74aebf8dbfdf5d7c7120c1b841eb7f389079a1e81077fcd0da21772417f8246567c708d7b9214705775ab3f3a1bee950dd4cfc212716c122f10f032c631f3b16857caebea4719234a469930af35d420fbd3c46b423934dbb084dd43e5a9eb1488ad0594dfb90d4bcd50086664a459948ae9fc3710a58f33112bd272ea3837d31e8400576893e681eadc3a553647b261786d4d5e32db1392036a15725c06f5162aef22a8165c463dd168b671135c4e98f39cd4782706819a4f30fd72db2b007f98f91f7325a8aa9e60a41b0eeee4e8025a2b8122975541dab67cd3720e859fe297aa0e5413e8e22d01ce1033d2b6ab68891d3ee15eb8295b748b187288870d897309060c1a3d35e15b2e9864ad915bf36a9faeef7267126230f55872fa6b25f77b3568d784e585c0eeb3f07921f08fcd884c3a380e885be584d4132cb5129ce6588e55b1743db248d189704049aa4be53ac88fd8199f2a71e8ac44727c08d6c792cacaaaf7b842c9b599dec0a3643bf655cb53d3749ccf4f140bd97269083e32f4c4adab0efe2472c54ec3f10aa805501ad01916151361e2a36f244ab00f949e113c40186069405190eb9e3f7354d0a2e8dde5513b054fc5f6f8296ac4467acc936a52a8fc11de60f48d9b76340c547c3e149d1d70b4292d15af3e72f8261e444dbf84ca97b9619ba313a5f157f184aa6ad389c4c736983a1ed82d729e077b7a00e8b543fc65090387f2b85afe2b1586c2989cd8104a2fb054620572444dc987d1828f393f6a1d3a63b2d659eac4ea0568f5a9c8d3f2290da409592be8a341f5a0000de6a513325996d1cb80d3e90b57e7bdc62463fab85507219c5b82bccfda3a6933bb2db0d354db9b70e4503e0146aaa70e4b6913cc2b62a53540af20fec2780e54113566f5439930ab0b28d43a58912aa017e6bb2a3dd496fa66a5cc14a7aeae74e2a7ad4a11436bf7d084f488aaca3736fa1ef1a782c53e82006c560f697371647f0094d7c6e3b1f2f1270b812292efea39ae4ac8d9fa395f72d1352dd02b2c7e91eeec4976a5b339759c08363ea2afd7a2f1fceb9f4549135e2e8b2f3b702170d3c8de69b64264fe5a403b02b9880724e5b395934869bdb8726f4b396c0537fdd4927fae11bbccc15855b502d956e628b70219bfc6852c4d3fed42cfb3fe1fdd08650326422599a36355d5eed60b9af360ab1c006913d8197226af2ce0b2c46133e242556e21f1d6ecb5c64595b7e939215b9e09cbe8c028728dd832a48c64c9fe4f9bbaa19493c2704a213edcd50621dcc978453e1c663a12da747f7f8518bec68dcbd1b4dc025a024225f7b2604d688dc88eb25ecf0e9e20c50c121b372a6777c9e5cc4ecfa54ca721b5584a5d66af2b7b6aa7d60d1fae2143fbce1b69389141cdf8a169f02680c1c06bd3712b14e2f574282d2738a61672e25130612962b7eb61edbe7c58a28b9ccf81aa504b3cb3704fe76966b214ad1d60cbadaff5de20965b8f4140ed48197289f0fef543766ac9ffa79bc010bf26728cd878bc4109af81bf2bb3c209efbb8ad3769d8db271fa01b995cf5d3b20887229b44b8a02f126c117d39187295ec29c206ffb6d724f80aa2bb1f2931160de3f256cb4e7ff419f9f85b22a544c3ddc527e8f379318d45cf8b7220edb25f8c2053b75b2881b26f0cafadd4be99c2242b8f97d6011bebdbe44c1aaff2b69bae4729230d1c625f6dd30ed360edee413be9b8b956e9b13aadaf8832350c6c0077572ee74082a2b69f6ec0840f5b39839f7beaeaf2a7f99b97f63f190d641f321046523553a456a80ecc45724115a34702e378ebd2bcf218ab0d27cd78725cbb595447a1187ee33dee128bbd03c48893f03e33115fd17c2033d6334bde1f927680e489b4f2a46d85ede81d88fc560ff0c024d053852d5b8ae1e7b7753dc8b5a7d9b4873b64503e62104b14be5c38ecde669b72eeb88bd812a2dad5cde4b7adf230f72da22fc5669b42efb80a4c54439bfc588111843bd480d3c887a999de660ecb97237df30f3a11bded166ec8fa5c90a39666715fcd678ed7aabdf8908140173be7294898b38ee06a4401d43e1a73671927cfa5b376c3043cf97bf20620b5aabff6c8f65b34d9941d576209d79d98f561a2a7c29413093db971de5c0f1c5029a546fe1cbd0519c7c5c96b10f3e0c68dfe3fc528934c1cebd16cb558fa28bd8997d725f2a07ee8934b377b553114beb98c9a843bdf8ecbe0b2331f88aa6016e2ebd72de10839e74fcb0d8717a5d93050baa047a7915a3b2f78c664dd1cc0c01694a72d10f150ce3484090e94bd65ed3f3cce78412f8d69429030cdb6a86846365df019245524b34ba093c02e6304d8a52c7f8ee6cd6fd8533c25aad4552c24e3aa772d515e397f9a2cdd86407f49178848e7ef81c33d6b15f753de408b5f7f6c8db1b695ab88daddeac9374c5a633fb45ad2af4c9a6f0f657f40815ec86af12ab7872844a5c49757c403dea91bdcc0a7be5a269358209fd67e3cfc7f4799099dd9a1d07fc469ec7ed64f9d1b25fec921d3b670c03068e898d02d5f087143631a3c56ed88ff7d88db356ec9bae5ce747e718f78c3e6bab2548a48dff6231d09954602637409dd027731e416916429fc0dd31e4563fe9c40d7c5aef7e5936f3fa992f250701fe8a11705ebea2bc3d0f56961b1e4828509cb709d9a65d12642b76d1e571d8d547d4eedba5d16caa4c45fe6d39db3c61d3567b6cc8bf9871bbf224cc5112533c8a25104c66a130e490f431f0b54a30af3b4694062dddbcca055688483438795a57fdda811e806a09f8d59d1ea68526fae45555a7925fee462e0f9704bd38be90d42b7fd07468af992930daa9b7454d0844444c0ad6a6d5b52246f1295672bdd68664342d497de56e2b45b9a1070db63d2caf2dddb3845344396d60997d54a9208d25122f5de8b21bce6b2ce7161c214aa27bd29af37c4ccc3a221846bb7255a8fce2b190761f28eff8c4cc4cf874f5c1d39a98c86ef0d2930688d59b54721120d689373d2d8ca9cc7479c3e5f2955332c17b7d8f245febe1c5a873d22337198483b0b01bf03d2e96bebbb5aebd2288c5a0a984a72641278fbfd0e5bb3e51ca98c54411f9d8f1bc5b4adbacb34ec9e1c613809e7c15b42a9b3e1127eb967226a30e2232e58c76d8dec39e1987056ac58add60984bbc2a10a41dfefdc78072f441436da01a8af05ee5745703d8b38b244ac553a9921299259622f38a52f71ebe636527f2c8256b636fccd5d7778aeb724bc224c9e2265d7eaaaf400655be6d44ee3fafef452bb45b7372ae1385c620490913cceee9e16e942647ec76201c728fc84742c5aed24288a66613b3495790bf2db507120629f47aced760a0442a729760e066e6a38f5c49276863600a445ea257f79a6d8e81400a614b74d005671df287ca2571db3f755b0821db04177448a350c22a01b0fc94fc7b78dd32d4a719b7f81c4dc02ad2beafa097245c41d66d64d12780cefac9c829340234d2b86372af86b828cbcdf47e53e07804bced57483760fbde886561f41550d1cc7e37e17209f72e39b3f478d018d64521c8707c7246687f2b3510381215906472c47871627ea0f5ff4831180a74ea7eeb1ebc550ca8d30e910542261a28c44acc4c533172f4594c85f2d4a2490020b8e5036d2802fc8b885fd8ed33048b0b76560a0bd97204e93007e9ef0e6483462f50eee87312f19a0ec2ee2e0261bf5e4c969464041dea318e72ce827ea0a84a599221b980a1a6754cd1e4d499287d13a96a727f1216ac1e468e15db8bd3357b6869611b235e37842f9fc2adfe3d64426bc259b36972b12be116554f5839b4b10fe809b92d5ca73d1560610f38b6d78680420999204c6fdb033e3931ee142c114fc784918ab61f4f08937161647418571bbc00197e72b6c4ec0c863dd5a86f23e9791f1fdf778937c3a3aac8e197d9039f4cd247ac2199b02c01b326078e32abc24a947881c29a4b41e9c748331e1fc74e11b5f6137272d7b3954de20be5e431557484c0da77c043172ccd1d42b289ba8167c204a0723350aaec1d3f33e2e251088b463fefc7ac2eb6e57d6a594d0be212cb96109a3fdae07090f6a85d19f95e6f674d23fde107a2066c99200329782ee05c120192328ffba163925a3ff56c65977b425afcaac1f640ddc75a80524586af2b21aa2e7274ccbf282a3746bc853959848af69809cfa68cf985c7413667b5f6770367e0459e94c8c33cbc3aa2b8aeff41701e01fa5a90fdfa8e234db53911a400967782729b58f8ec0afe078a21ae12f1185a72baded4f4afd1439f55f46f20b2ccf6ba720a0fb254d945c242428fbcb2a2de0db6dab327dab3e78b04dd2945c2c7b019007fa21e0b93efb97bb85ec5e57408d4188b676ced60830d95d279df90f31d9401f087ea7c17aaaa89350a5536fd4913731b6389da336268e60215a5e647ab3f72428ce9a2ba56a2b3d55d0c774b1930e15a85e406ba3a5eed086f0618529f9c72a1413c4db016293b9060bf65aa346ccf40cc2f7a9957cc2a5572266b864c8c50448468190fee0856219f346f9db7462b357ee2db0eb32a5734198580c8cdbe3f9bc07cd53dd9e017c20eebc7131f09b12c5b4779352ca6360e75913b0ae4f502f1cf0fbcb866b27256fb472af7c9b8c900aad77d90da18298d6c0d707dbce7240407518757077177999e910657a49415b1d5e68d3a2aad0bf9f06615870e9e72afb5a0f7cdc408e7728641bcbeaa01523ec1654d040445a9e78ba0e980b4042d5249889935620c589a143f329543370175aac26c8caa54c14681dac5501d7e442db930db8c2dd75799653c82c040c9d9a3b7e96484b00d275aac283972068959b35b2d652899ab6859cdf260df745d9662fd74dac0dc260a781d98c0bb5a9c5f14aade7c0f5895701a66d018d7eba7ab0da36c6e2b602819bc8a78d2c57190718093a0d8879f64aff1948d74b963b6ba349fabbf0b56e732b7e14a96af7d9e4da965299db548f8b1a018d9617d8e8024917b25850fd80d1d1ab75e09d61d9d72f10c5e1018c82027e70b5e714ffd2922413a9c4fe2ad1f5645270a9da084e3244b6a8978f2c073ce2f34fe0fe8e1734b36e375a5b0fdbc91fa2e09af0d39ab72cb99564abe16c94a5af9da8d8971df17ca90ea7277c7873f5d6ea500d48b1c72e1afcd39fdee23000ba6c42c1c5c82333ef3bfcdc1958e3f3a96bc76fcbceb7217414cabbaff8ba8d48004f6e26778e78b53c5dec3d5167ce94557376f889a72f2a1e970b2f8cc4a87ff58c9d35445e2b3f339a727af6f4bb49665fcdcfacc45b6d5b435aacbb1165c90e4390589fb731329240a7464d807ebd9dadbbcdf7a726b3ceeca209c1c7a07697d740155ae2c5b93e81641ca507dbb9ca3d3d2843c7265e589256e245f89652e8fa831ee6a61553061b1fc231450cd33183e3a28281f663a6f103bd6e9d40973845ab6ed39188a7991705715063ca7082c917594ba5762591bd9aa371ff64cbd57014d459adf59f941d9338bb64a6e6d65f644b2e024fcfeffa55194c78bf976c41f88b180ae40bdf856852129891028109d4a5746034eb2e75364d0432830eb81f9255561d0fcce0759cc549b9185ceb1045bbfa972db3ddcf215af05c3f2849397ca49716ccbc78bdab9e13c9ce4098642c39e2d095676f1504200788ccdd92a8496fcb83460430e59a0ff85742babae6baf27ef3936af693d258a9485e6e9fbbe3a68369b8b39224c988ef1937f80ea8554fac47252643861d6566b9274ef1f6c7ea01c84a7c1e53b42278afb4a5f4a9080498c2814fa02575b881b39bce8c36f91318728f2d3474837c5728a6cf1525b1cf431720e019de6ce4379fa78c5d7686ae8e06b6ff50cd47b3b9a5aa7fe9e510363257236ab9be05216438c717dad4e97ea4e5f820f389204d5f11aff7d264f164ff4720c4962b6a51e62ae8bb33ea3f87115e96a7a0ec2e405160c6bcf3bd6283be624539d85b3256b276b252fa2d3e64fd3e9b22876a9c3ea94f84ccb117438c938725aeca381b65d5c3cfc4f53ebc633000440c428286d2ed3b2220ab0404b406f2bd5d67d61c7dcc56c47dfed17b3c9d6b550e4d905d699b9e2dc9e09c3f3f1bb125e4f740926d6c57d58908f692963bf4041d0b86872f182e5cebf5928f47ec00d2edcb101b616485f62597e76e867b73e97d09a1bc0bf0852518b13bf9645c4721636bae686491a07740d418aabfe5d4636ccdfd17af675d65fe75484e0e74d4253c39ac858607cccd971d7ae45a5e4dd2f3f3ee15941015834a7b7cc784b155016181608707ce63710669b522ae8efb0545c97a2621ffb57c20b13c4c5a1955df4dfe8b04b96bfb44a5477cf4d51fc23c05b42799d4f14542b69d06f611b3472e88f37fbc51e92ac6939b0eb6b4f3c0f864e063df8b5652a9b8192f4d7f86226e359772c9ee8bce3a07d9326cc26f3c8b2222cc208b719564b8adf2db27fd045ed67366d1d356af38a67ae5e36ef40f501f6ef3c88529549c3945d007c6bd8726310a276a0a82226d26ab478a026916cd56674dc717186c2ec9a5106244f7372320269599d66670d9bbd7ab777c94f54e0557f421ff172b1979a7774fe1ec072cac55986e478b62e20e2c6f96b1850846ca0749c6c1495c07e38c18cfa495b2ccd536af563d813b26e9bdeb658a9c92920e9f813d82deacd21070c42a9dd146b8d78f6916cf3b40a1f59c8caab5e7cd0b191860703ed4d3be1bef7dcb40f5a6a562e818f1e8b15e4d8e44f6ba97a6243796879b7faa9bb5cddee6a015edc4c3277817ca9ed4aec9fb50b036c2d3e6974eb7953f86926dfcaa924c12d827e7b4ebd4610473fa30819aad2b5d90ceb948cae5ecc1ce1e7df43b692da0f2e086372a1127eb8d03a721780f321ac020b0363e80f1639bf92718ffe4c9720ad07bc72521f31e7547e74a6e4058c273d72f84e615c4d8aeccdf902892dc15cf1cd7b72885e1dd68198b04f968f2ff9cff4ae877bd31fe0630f6765262f86fa8945d972e1be538b1b28c5f4e97e3fc31c1d08211652b1f8479b3e95a2523b8e5e5bbc725dd093ecd9ab795fb06fd38cfca9970a559b9bdd4bc449fbb3f0ce4c3e8f8e72f4364f961535a3cd1ca4f00b13e7bf2a2a993f93b64b49ab7233a4877c9daf7226fb4f409e62cb4b00782a50aa427a7daf90aad78bdff3f0f7e905f96c1aaa72409c3cea28057243b262dfe8622013580a518266b2dd5059ff389bab43dbd072f5c0885bfa35ae353aabd8d4d2018b94a84a8c164cbf5be0ecbb3748d081e8722525ac6d74c2b3254fb2b1475fb405053f83614c237d3d525b63551275547c6275620d949a73e89b0f701a8378e227e92836e993da2fae847a29c3480a4e5b535cd360ca796a3c54b28330d8ea75db0ddbaac3ecb0b0522c693e3457bc08c558bd1bb9e229aa8908c4800e3397704e413c3c845ee33842b88b6b4367deb1ff72d1b2dbbf12a54594b8f0a22e00207367691a15df423c28fa445f798794bdd542ac23c80ddb4b6a59b073bbc2ff21e855d64e8bbebb49f8a169753f16dc1360724c027ddcf21ce983b035735940c45dd51c661f340267ed0a2c6ff260917f1772162ee5d3b55473fa6c2fd290791d5aa5826f8e49094d2e1468f401bc0fa93e724cee245f6539c72fa4d8b683a9038ef4847b3726148cd0f9c93f71dc23d1e972eef3ce49c4611ff56d3163ad24a87d8bf84f88b39dc8ee5d25cf6b1395224317bb2910f5245f40774d001385cee0855ca2040bf6b8c3033a18999754ced40470f5923a7393fcf416204a1a534903ebb07fd0698a5ad7d35c62ca5ac72a66fe66bb888a2f9c0a9a956476e80d51ce6563d67355668f4078cda558c5f149b171387a2ff4c21e252c2d46a1df9981473d337cd5984b107c63c998c7f926cf5cca7229ec14815082317044e3f31f5c2ce03db6209d2cc5d5797ce4312dd53efbbf466d933cb90990a2952b7be3096e256524ea09c0f1fa8a1a157328a97bf6e68f2ddb2b8a88151bb31869ddb1c247e53afc1e77bf645c7b59eb0e1dc6c8c30427334139bea1ed6165b599a77704d5edbefd0cd7dbe27bb405062759ac061ace362a5c8c2c3b47f0a447b1a564b97f0b28b583707e2e5944a338235bde01bff9c0727eb50a00e2eb70ba0e16363030650b82ff3f1408c0f57c49b95d5edb563ca17220489aab2af4dd399a5894fc5d87cdd72139e88bfc172111b4048ce57f300b7219757308f205877b8fd29444c914258c5ec4360fb11a70953a0093005c21a972a722b606077d165c9b04d963ea2c26d263ecc9d2e8614d29bbe89f33f408e319c4499965961c1036395ac344d3e0e2075178a4020d61bb89afc85c048696593eefcc982f84b924814c6833be0ca5297f8b052de3b2b7c13922d6f8edeb66130eda16383c68995feab2ddee1e37890580376590f9b8e0fd8514137ecb46abed235aab9bcd5e32dfe1107c7e6acc6e3a463d0d2726faef24fe4b1ae1adaf72a272afc7f746e273e09bbf8317fe8746d780d00b560e600884b85e4f4e67f1f7f3318fb66840393ab95ed099196b16ca64a5f68d8480e533ef46ef842aca0df32e3af26f9ca82f6d01b774f2c8bdf4172bfb762994eb72e5ac227bb377304ba558728af2454a1ca3757d5717f2334a1fb3af338586358339e4d27868d055d8d1ab721ac40c3812f20eb1449cde6a152ef47f834d7ec1dce01da1cfcef787761401728dc6ccfb342b7eddc66cb9a39d63165c30d1430b7cb1a1f8d3dc9b2b957c9d5a971e0da0e29f18f8abf40207940ca92e6154ece26aa2b1bdadb41c02cfd8580ba417fc8954dd91cad407bbb799f81f8f49ce4574d31175f33ccc85798fb46672aa1c9bf42f339a1ea51d6d4f5938f9b11d599cdaccd71226a6d3887ef64f0f723ceea4d09bc14f14dc659cba94e3b7bfe5fa6c9ae9efda816aa13764db81057277ff76f7a8c8490456d1848065f8b3f3e68e1912de2073618cf85a448ef05a72b0e79a23e3b16ef59bea59085458635a5d31e505ed2c9544250a1fc54a442d5c80c1ea161c1edc0bb3dae1e9ef170de5759f5dda2566fdb3f4a72518442fa94a04ab0a2e55c56b6ddb4237e157ef5bf24bddc806e486982e832c8f448ce69272ec256d834b8e5638a575c592fccec98b10804058ac9e4cc0abb69160b1b62901ab40a2991b5125c7221ac14009e6f1b5c6de97ff36584667bef302992f5b4b3ee1deb06b6b12eb2e8c06f0f9faa5e8b8575bce978bc69e4a33ad5bad1a89ca720debfd2bc8fc958be54a7825ae0ab357f9895bf27cff818fa106d0b13a089872d80818e2980854f1eeb806182a52de21a28487a67e9c05f07d1c38a1f2fccb72beee8703f254a9fa4e7ea5a5f9674ae0acc512b5b9ab002e2eb9cda408099c28cb5a3a6464dd64dd09d37d76cfb879bfa317cb3a91b86b008697d62603084d195f447bbabfe443364a7d239db9c30cd226d22c2600175c78c222f6c4991da3728ec8b3796f7c735091ab85b1a2276b6c1354f713ccce27da8719d784d3d60a161e78c238788eb20d74dbbbf8df77636b85c3d0bd713bec16d316ccc60171f672765795fc4f84fa5c25e493af8f1b94045cb02e0afd916d5baed5ddd64e9fb94dc1d4eaec1c931f0d53faf3c4a5a588e7ea72461043f4e3ce3a291b29f1bb75728b8457685715c8623051ccc062fe3269da9b4dfb0dec1d621e63f69da70d5472b1a984ac1694e5f59d48839d1b5d13b9ded79e93de483fa4b378f57cb1bf6572be7b188f1bf7f3494b5e1a0d1b144c16ad67da27bd56e64311299a6e8c9108720c185b3353dd7a8b29f66488b3db75b95be2af945d806c486e6496ebc55781721547c326f1b3d4fde381dae114f8af94b45c647a292c0d677682556af0cab5723966d0af16b4cd8ec76ac1cd228a210e004610c74bfca88dccf12cacd9e1460c5fa25a3437c37e9785f659019601de4fdf1417123caa9caa5121c0c52b0edd72a24e52630a14a9221e25da833efa81b3b9db61d415712c2b935065d0a2f87b5e9d68b4e2d76c83d84d17d6f14e8a6c61a894e941ca99d2ac7d4f35b7982a3e72134e2b46c3a0b6ebe0541cc25521b6674f37f02fed52cf08014f491142de9a72c85d0d80a1a640d941bea5e97d7440f44968991010445e8d6f8ddd536afe2f72b797fcc4d5a2596f58835062d8f0e8a24d0ed5ee4678cf0b829e0276b2fbc7725fd9d3f0814bb86bb5e495673387e3e4f9088d023ebe44f05161fc68b4a679186e3d388b4c031ee788676c0f6995fa90cb688b429611fbdde0356e97ddadfd7224337ba2871a5502bb6fd90d6957c25ab71ae33d3d3e15410da772b6a0dd8507636cde1a894178baafe94902bedb1665cfcfeb64b02c460f66008ee2360abf46cae3be33fde80ab5505d7d9d812d2d4d9247157be54019ff6497ab31215b9e72387ae58e11124e040eb6a3ca0cb00d47366e83332da3ffd2acdc43bc91713f039b1886feb87a88f50a6a8010f168a369372d1427783f29eab4b2b55a19807072d7cef7747bb9a6d002450ade007e7a8a4cbeab1e5d84dc7cec8c4cc2221c2a10b8c270a84009dc175899a169e225c4ba5409169c6e48508defdd509afb15cb72ba925043a5dd097d23cdc03f4056b78b1da3a5bb62d431550bf22582b5780872f89a317b12696de7166b2d9e7f8f11629f8f66b3b3cd7f9daba946c88504db7205c7cc61a78640cdcbe13d8d51a14ed8df6234e25dd833739e5201be155426156d998dedce18851d26629d74e348272116a9b016db940e5c96223abd1a95d4721aa557f3af84ae8e5dea5402e2a26d65fd734725c390a68f38de0e3e69cf362c1146d011c86d585106ea2a325f45fcd35f2dcbdf0cf39c5dc430bc6fa0ed357220cbb6b8043a16ab712641aa876275a56cece878023bd13f70efc33a47e7fc7282ef59b49b65f033ddd127098cd844c5aabb06d82bf639b75570e44073d8785bdc4d6483eef45590efa5b6396568b9464d675b7db11699f8b4a97a4b2898f9727a11dc1258ee8a00914d0de5ca0a15ff0dfcebb33340c346f90fff26c9184d72d36c5258f7eba2fc8df2c1f5026338636d913602f28cfe4088d58e0acf2078721e3f5788bcf32f877ec1ae88c38a1bb2273e58cb12008f6cefcbb94318e18c721e4040205c7c3aeb68987f3a5821b20232455367e607c491ff901023553c876c43a0802a24f8e77466f5735e05a2e792675be1f11ef1f1dcb491948a2286d772cd39a290f36ad92d6e6f5a83f9125c95b881a326323c84165518520d553e6572d7a58fb7b68ef3a46ee6ee3231078da463c7af71e6dac6305a543033e7d04372fbe19125453fa1ea0e9b9fb7e7e56393b298994e2a59f7c04bd19c6fd446dc2c596482ade159fba4043d1317aadd1e679035c0666825014cd835c9942b912b720e6538d93a57226aa6153668d61e752e33f7f8ec9d32f128dd054e06c91faa724593a023b8aaf38a66650612b8bbd2f0893125162617f112efdd6cea667e5972005827a337c3749afbb9a5fb66a416fc65f3fde76daaed3b076fefb78ce472246e2facebf0b1d5f245e0c6205b29c0441ed068a56423b8a07b1da1854e0f1772a21bc764e2963d4f72cc2b68c1fee341c1ac37bc4ba2aea63b5309c854df8e7215b7f624230453bbf3dadd02eaa539cdc366b0ed7e64d982e3636e537c3a7a72a3b9019496745aa785c8a52874ce9eeeb3d9a4fb26ebb81276b8941731827855b087fb4b967ca24648f67385677d27e812827e2b3932d0171e97bfab155e0372af6cc0a38a913e6075cc0be665bce8749ee87b48e99497220c52750c48a2e47233aacef1d4f63e15b9ab1e33286a6973355aba253c2c9a4e7a1b450e2c563372ec9b9e735c3b52e2cd0eca7178c92ac51bc85a3ee692e7aa7a4575bd027de872f70f407f6e08ab83503c023bd039e64862d0a3234668a8e2022b9aa7b4b95b72c5edc3658b908aab77de2fb231c871bb34e59b1eb5f80f8e35aff11f01549b72059325d9d1a173e59968b11363163ca5751c314c819ac93435390dedcff4042553f697bb49d5a85c4ce0208b126e88a3f84c55b2d1c54ab538483870f227073ba42e54456e3b4caef2d47805611439c791c02a77ada6a07f83de959ffc81e8433842324c5420b9fe10520c9382299ad0b9deba5dd3c92e63bec96a916b10ce7227bec2bb3713c1f9355bc637d570b1c4220777c653b3ba71ec8be72351553872ec090b5f6e253863c287f5f3a683c1c33dd0a5100c1288bf5cc40c2ff4b07d729f2d66779d2c480e3d402cf881d99e59623d70fa0d35acf709f75b8c9b29622b2a109a3e72084488ee1e1840b50a63c16db1ce9dd8b13b0ee8d24e3615381a724bbcbd1db1ed3d7ab6a3e537590e794a409cb02e3ece3e8b85b2664741aff041214e22c85b74dc9f35ac7e662697b7fd5780b742760b443829cfef70737db40c7807df425d6e456c35f572fa3fafa8edab220bb5f14068436841214af8be1d466d44da01d5e52cbe6b2714a83bca27f65d233bd60e178658262bccd71ad5b372437e256ac79ee2b70be09fc419cc7860c3e4176f5fec73426d807c08e119696a35263d3312449812743a3fc3c296b845dbc798e04c6f8a8141e2d772412624726b949e8855091897689fc83e54ebbc4d9e999f4cd96c58e5620998c24bb1b7728dc0c3d38f0de08cbc732ba5af6f4b59db3b83fb97b87e98f59894316f56ca00096b1fda506c7526722b21bac2a3a7e7bd9247a9570f17126b67cd044a94a072a8d1698e692cfc4ab593882e007565312918b57b3a738663a81543d964814372513e5a249833f634801c8aa6304d1eb0bf176ab12b8a947368a50f50030d9972e524573c808913cc49716950fefebdf8486976fb10d4ba427a334deeac328372df4be656c68274f70ddcdbf8f4c63867a4ab40c4e727e420e32a0721aaa2143eab64f217b12b7dc27aea82af233d16de0ac321a9269f5d9eed317127fecdef68683952fec5c45c531b677e2dcfbe058b7bf9bc0b0ffcfb7b7afc03fc3fa251721aff3fe40281493fb6a78140ab7433eae6611c5af3f6ee9528dda431694f6872ca93840845cb04d9148b56eafd23243ed73441641938930e5f8a4afcfb20373645ae0b1dc6f22eba33b7e48df04d9b10d97e1e01f81b51746ee86c2609eb317257574149cf9a805739c480c3fb087a3aa8fe79c13fa37d84cd1d94ce0e78a3720685a266604b6f0ca3287f6de1a558e7d45014d6e6d51e6d4ab65e9ba9493172eebbf15cc8c7bc2d7a57ba2afdd19c7cfc6e138c709ad5feb5528ebda539c272f3785ce361d67c99bcf1653d2fde46d196b27159e64cf4c5e441152fc0ac7372283bd84df04c9026cd70dc246406143cc7c559cd77cb6d2bfdad60dd4a503272d0f3f001134592bc671584e89dbc7d900d9ee01dfde998606097986df37c9e72fb602313f355bdd3fe48c23c153551f77e4c3022d9c4301db1c29e80b331875f113de5da9af3971491b33e63f9f8df4f23c5c693f5f02fd495dafb6995259c72557b18b988ce6d087becd293abf1fe675cb99642f471f4824f950cecf3881172ec8fb4246e9b51fddb2a8feba492c210b455de4b9f5fb02532263a7f510ca83ae0833d90e10bf5de5bec0762674f414ef72e50dc7a05c4a8012a28b2b22fd9721f3b4ad602cb8dd9526c726ff82b77b606813e684feedfc5842f1508788e4372e30c7f2391c72f13c2830609db429c0cb70e16df307b18b827fde7a8157f1e7285f436f419c38a986f13e64e517c5f9ee010939a396c3302af90aff444112514feebb06cdc11562d77636fed3f29d61ae16e54e9426650762c24322c6cedbf724e4918d2b1af6207fd3830b0720e9dd3ceddbef2edae0870159eded9ae96b17210e834049f1c867b36d15bf10e508ac28e23bee487d591af068ca0c70f3b2415a54e619184784e1ebad7f4ebf23b03bc4892bf0de6c27cb4fbdd567c10eab6408a59d735887c2f1390f380ec04b7611ec75020723a30641e902880fea3a8117211ff2b87a6291b9cdb89b45955cf694dea5aaac6f29514d6a5707a8dcadfff72fab9585e7ab5c582dc10c23704156b4b6a65cbd87daf1b4b156493db74cf30722647c6fcb4b3f0b3f5943ec62f9bc9d605ba1e58efccb93aea84100a13aa5172c38866b51cb83181999343be7c11fc69baf392a129d4df7177549c1969afef5acbc5489b35f79ad5d47c97e5a4746198f6a71ca6b407d4ada7c293501c593f4acf2743f1e586cbcabb784d2745e70574257295ccdd165c6687a2b6286bda8972fc45f210da36ad52bee221f793abaa92f7a75233f30ee05acbc6ec1b8191320c273bb8a5b4cdea378370b12d7ea2729be299bffde84a93d3bc844d0c967ea90e1b38dc7cac5c4564c2cc7bcfabc0370eee828a7c62250e656a7d2b4fd6d2c57263232ed2f3a365045374d24ace568f0778bfd12ade531ea5d86bdebe7875af72d134353d5a08bab47fe83cacd6b70acc1e63697d45a99a2375ae82c0be248c26c5896524c384ce65bf3189ae799899284f15a496a2387db3ac091118ae496a66fb188e3d76f594d5decf5a2291ca952cfb263c5e56fc98626b1192d302a23672124f13babb8d88e1078945afbe3a9c9e879fdccbf27ee3b39cd6220301b277117e38c1173964784078baf9c4d9c739c56c9a8c788feb5e9359822873fb72cc1106bdfb4a0a93290c6449fad45212ce40cbd5b8cf4ac91adc1752d1a0be6378129613b00a18c8888870a7819604c9f2b742a0a38e6e50157b0b280f6d7c15434ae32a2972fa2f7aea7e5d69e4f948e9360414f700a53b1fd2515978acecf94942949d5c8dee887c0d5faa5a44333e3acfe37a6b43467a1e5357a7645fef32c4728da208805982488b495077193fcfa32cca4e472dfbf061aa8cb4146384c1b272fa5207976993906f19ff5924a9fd68138e624e0d743c24b6138d788a5af66d722a06c937ac7e3b3e995c7d74b499055842dcdf5860f8b92847622e01d8e6ee01c1c79175ba45d272ecbd74761ef719c511a042fa4c34fdf341db9e10e4a6037229b1601facff55188bfad010f2b76aab9a72d716b990d29fcb231a43668e885edbced38e624f55e361ec00040d383f37ba3ace7e08bbabd9ed303b27bfc02572a54f730fdd5465b355f30542ecd0d6d0445f16c3a41ef101a416bce56881587250a09a39d232a4d49416c63dd14288d1eec68ff86b60f5097ce5a2132e6d9c72d2978ae3ce0fbb454a8b65700272e12749f2374894ec68442178cf4636eddd6f4aa1ab301113027c3387084caa022b3f0fff0eac8187fea8ada6945cda4d577258779bc0e8a3b358fe1ad53493ba8cd82a43d5a78d6bf5be7b501c3b54d922727cf878c0324ae9136e2b41131ebbe9a54526933e5618775bbbdf4b6435b78c72f02db1d829364fce804aff14b8b989f1326582621798f71482feb7640324722a7ae6a70b7dfd530006fec68111e446e5f98b8c951528c7dc6188304e660dcf7297f419f02a65d545e8b37d1008f720b3c37df22c3cc645a14ea112d7b8b0cc727e41d1aa41b0e5bb774778dad403e8a0abc4f554cc8af2bb94f256275d78fb7217520db85876bff528141e21a1e143a1f2ec58d697f03e3da2c470aa5bdf3552f47abce8f7858aadc9b2ccf2a5e727017668d1f5f5441d9b0ed1ef478afad70eb57b95020a94d6876edc69cf9783b024c68cba6812fc324a8c7cfd9add007772d59539988de80174bfc459ab61610cdc27da193b3e699ded8d428a74d769bd39b4d039a30c9ba5c5d24b26c177967760bd3df7fa232d51b4a7a58ebb1a6a60725d9609d9986add29331d5d17ca44ad1a108029f7ed83e437df69c644a732b572e3f3fb99369aaf7aafb959d49e306957b20d0785e0e975fd7fb7941ad51f4f3b9f5efe360aaca048a451bc86b683ad9c0ba51fd93b9557d9f3d4d56ae8e75c61d3296ebb1da74f576c1b9abebbb732352f93295a56cc6edf34df1eee92231f72bc6b47be7d7964be35a0ca29d54d04b260ce63ae8e99d93f62f299efd452e672f63693442462799cf4ccd38c081a9ebb629866cf774b3afc5e8ecb3eb905ef72ba0da85a9000084fe1dcd314b745a929dd011af9211d4ea19f8e11e22563080fda2782177606348bcf188251d96c93989d5793fda3fdf0eccb25a92ef5c7d90a5ac854daf9c41105a07d52cd641883c4dbcafc1ceb4a7af64d889b8a281b1f2f852a8edbf01e7458314bd460363c42a40ffddd55eb1035754f5707251f91f372135f459bb1927cd0ceae76f702c26289ff18a4be4c06c176df4dd99454aea132767e2cccd1537c276905386c374bffe06f1994e9b18a99f84050c83dfdcf0972be70f97c4cb063f7c2fe8fe2b16efbfaca511ec6958b4aefa1f33e27c381b9723589299e8177e5603561b57f6d1e5d9b777fa79224be9cc26de676b357c96472e1c1fcf94e7254e98fe39314dc8c4293b78f5e7df5d8dda49b6928e28649ac7296bc2465d9b2d946b3c2e59a8b6acd59f164e3a261354233563fba40d34d55729b44100990ec8f3aa910b3206b8dc5b5ed4d4abdef0736e2c067056970d317281eb91113d14d7ce343f6b6f22b7eb2fcc77354082343961db621db156bf3b172f5cc8d26e070029bfc4fa97d11175e89b27fbe9b0164cc2211a97fe569900763343e1472e6340163004afe1a95b2b1320d2571c49cb3fc79b959d4ce80f18c64956cf412d823cbc782f22daf88e7608d8649dc359458e0e53871c81d9f98c82ca91c2a465c679f35929b55d04856c73bf4e3bbedc74973128aae269bc770015fe95555f304f0a2b166351cf1aa87c829ef3f489c7ef3cc676627fb342d292e5e3b3a9742aba40e75a9a85fe6c3755fd21c91fdc745f2b536b0baf78d8cb0866f1563fce08929f45002391e31aed97d684bd8bba10677835d4bae75c973a12172a6960543523e5b1010f726a31c6038146dea229dda7fb2789770e0f2e929f525491b17309b918d407c7b4faf8a72169523b5f01c61db096ac799536d6c46fd72b0f0395ec1d24612211a300adc390dd3fc4a68f4e2621e972b1ffe085e3e0e7235cd009af8fc96a87d2234fca3dbfbfecb6829daf7e6c682944e4d8141010772ab6d1411bc85e410b93dc2df879638a1ae74f80925a5aac20abb813d94a11772d215f441fd443867d54e2e822bc247ebfe7a17751316ae965dc7ab308c305c72a2259674c637a03b6ae515870901241463a2aafcd4da90b3c2af030e88036f72295be975a8dbde8f8ecd0553dd24f66c6eeb79c4237d1d54469bc95946bd287296ee2ead7af60ecc13cbc77169ccb1153e43671f485891b07196f81445d1d8720137e3fc7494f3223674d0171fd80e88777b079555c59fef210e56a57c548b712c8a7d4b1dae748fb485436d704d6d8f3854216835775ffb5e2481fd7bf18b725da5a10b6f66c3717dfe090c5651799728c43b984888d6b74a5d245aff9e803cd962fb6a187b7d1f5a1e8474aa253507e9d34acf583101fb27c1adb31a8b40725b862675fac40679d1a3c136786f7b312c2621d5870d6156067f7bfd685285721e582e74686bfeb402ac4cde07ba4d9e340505adac90293d96111eacff9b60564a021835a11e726e5231ea9fee1def7ac2ba22054be4d30d34e4f74b75dca03b9b3bebf32c39db9f0098f25ae399e93170a61a471da87e7c2f46c92e0060fb3839b56325b2dc67159536f359bec26197ad3b817376cbdb68ad1e590913e42772d78cd121ba3f956411eb107ddc36c0a7d8aab25e61ab7ba68b4a1ec861933272c1574d015bd82017809194f19d2305f7b81897a0272ad6392e48c78cb748557200a62896a403561fed014232618a670202f54c8e007bc0285c453a98bb8cb672d4df4b10c463c158131db09fb714cc59f59452e8013308f79aafeeffb3f27172aab70236409eec27dc98749194641412c57b6fb88ccccb849eec4d459f42da231871af8de60cc7bc6e8ed3628cced02421ca9f20897f72692a8d4fd356824311870a7c7015555ee5fe494ad5731f44d33a3f35afb6b5c59d45bf66ef9de23c0a43ed4acdcf26001da474651a2739558a54cc587f43f02fe6d881c4635ddfdf34d5be4ca5063346160116883df5562ce49aa507ee5e300d0ac632e13677ebb972f370a90eea14d53ae735632ef15c1865b05421781fa8287ab2cd225a9365cc1284e9f2126fb7989a711066b5521b3904c6edbef08f24f91eaac1863c9d605e57a62c3a5dae2f769347c6d63eb0d38fac89f3461931bc6e95f591c1b0b4b15e72b2d2fc1308d57d9f9f97daab048601fff7d9c0c852b67648d8b991d906769f6529e95875a60f8eab6104a8256ace64ccdb15f306b394db68c7af16ea60eccf725b29ca2465d2767835dda57993d0abfb34f3d6db65469578e69c556ab517df720ede69ba0d608fac4aff7c6a5aed0246368ab4edd54959c660a801191631cf20938964e29c085b078f49f24b4faf8e8112fa546954ed535acaa435a18d4ba1724960bb9bba76d280efd64432abf254ddc5398b58a63f728eb7d013649166835695398c3d24b3468866035dde7c10445e013dae41f54de31c28dcd6871c0be072eff42561dd463de3265251a433e9ca641e3eb7792c673d4b091072fc9e48e95a1da547d093d3e0340d51d459e0e75947850639e3e73dc2870a62c2651550b0494e8d25818d3fac903972e1d22a36a28e280b0d339bb7aeeab98781c562401272a7dcf49384b0ca8a71b5aea526200ad42eefcce7687cd0b549a6427abc641a724a0748be50d25dba981d2a5de1e7d2311a11b623b5a6d16066b38ba269c45d438b39bdff0ee6e5766ecd34ad22793fb4d759249ff4e9a5b4161052c1ada58272ca932a468772057fc10dd6ac40154c0a0fbe91f55c64b1afd3df6ddefd8dad7284c20dd3dc78fd3b865ab6d97d9bedd9d244e5f62cb779618496a7fa9f303e3cbed40d1a0cf3e63304e7ea2b8e3c684b729fdd6811989a1e82889c65cecb7072ec19e2edaca715fbc4232b4245318fc09770c8faf58158ac6e9f6ca7f432610fcc3273019af40b28b97431f2ead0d0fc58243b89eb3597b003a471b231372d723244b0afb637e03bc4e2c904a0b0ab03fd3a6437487dbc5142e8847734fb462c7cc8a4e230f1ce9187817928ddb79625ca844b0822a8caa3b6962c1d4355e67227d19376df0b63aa1676bc6d651a40703af7ee804cdbd8d84ce7ccc693fcdc72708911d383c4bf7d3508dfe4a522d2480fa2ebaa63ce3769ce760e692f5072721428be7972b29c6f3b482f94d34f7341d627a7f1651a5cb3037449b6e06ec972718bda450795597de566ca8f0fea1a6a40daf69b68be1ec12de8816bee06ae31c7946989409370f74e375875966c655ac86e38519df9a272d715343acbac637278c70b6c165861d6d85d81ef2004a4f8be47645c873e512b07a1cadbec8e4c72042323ed054df22334ad3c0a6b618afc4e2bb5abe7b6d50d7f3af6011a23b2720db9e3f0185ac2f7911a77ec790849da9ae96b280dc8d5f26431df035318747233840cdab03ed9e89758bf4c87536c477165e352e959c7cce6ab253d0bbb51269b1e174ea3ff6cdefe61d5904ba46d99c83e00b35303a883e0c8cc0856e45c585ef6960d898fdd3ad74e4a5059577c6f63624cde4528208789c7459bcaa829673b2585ba9d1420160c4c47160a8cb3841176f73010d088f931a342d45de2247237df0b90ffd750c20fb2434d0a2ab0374027b6acabfc2adcb69482308f0936720b73cd2dc93ff147123aca7da3d2b6ac145c9b938780baa6a77ef1cb5838086b18fea6b6659d72ce5a5ceb91db59cb751f17bb30aca0511acf696310d031bf72d71d60fa7de81d23ffcc1648429ca3fb30610fa5b62fad234fa7fe7f84210c5350410193f046e87e2b40e51afa165b67172511bdb0a73f97f56873dd69ca8972ec246abac8c5a1d3437a0e3c57dbd2a22772f8e1cc37c6380d334aec3c6bcd726e15df00620f39dff928b2c0b07c858cd74e8a674764b9fa3bb9ded7edf715027813aef67feed06db665b2e102b336a573894981512c6f1b31f26751ac6fae7274b7c193243ad70e6c10a10b1d9c25f447d74a205503672524ed0b0f546c1762ed97f55fefa9cd12a376fa6b9625964e40a77c6093b11ce89882c4e65c516814d64ea7eb638c07a613dd3750477a02e971af4ed2cc4e5ef8df745f2b7a7bf272c3d17a0def7bde7def4650a2067b44e8fa3ab5a1e17c06fd76882be8394e9172003e8ef6a01681a5ea80de170e3fcb4f29615bdf47ed5b30716b315796575172fcd24dc0349eb132a7b02d2c7d0e90e22991d9f0fc8ec15ff9f5232c94b50572d495fd860e4f7f869e33a301f180594cd0965a5b3d382844297d8e6c38cd2b3e1e71ccb02418f6865c1e32f9f4ad5a721bb765a5be3516f2139b92376d1bad6e8bc8bde4fe0bf58e85524e3dc8edcf99c8be97bd09bfe02ea3b8e8ad310cc37205ae28041e77acf03b232c27fcaf9a187e19f2939a5b1c0ae0a1b92a50003b72cd964f1de29feeb725ff9f13e6ad7e92688ce7bf7b9d620c5c23d442c98d6072014784de421434efdd14da4d34adcd9195d423fa71fb409ef4fff213d42e53174fbf6e39dc50a52c72a60eadd9ed4464fca6a04c5e64a28600f3845811933c08c6920de7d865298c8bad9b9cbc2b225050f8e09d38dadba9e8ef4cc870117472933fe6321dd24377a449a0ff393a9839ed25043bdf56cf6f3c6f01263702103005d8e94e0bdfe73580bdf467cc196d79d2ea930eda2298644dcd5334638d6719f64d8e659baf6a31f940b652cf022c5b99b73f2e394ae95e70de8b9993223d1f678a14abe402000c3107773847f6c812e93ea7b3546b5d8f559ba5e3e58374726bdd5789306175f5bc266524e7d2f72c651d014afb3fe812569205e4b343d872f07f816f7342f341818b5f427ca324d4e89e36aff479c83fe9e5292559c00472bddbc7bdc033e7761b28a587c8d554777e0620236da5ae275256b88e5b2be772340336a6696a990da17fe7b4ca8f3c6a2151539bc46ebdbc2357b3b51d14d57216cfdf941345e1efe6d6cd7180e3aa25e01f629c25b8d857f1c4c641401b2072235acc43001ac55bca0e26795d59cf1aef4ff84de7e56e39213750f0a11056726a6e4792d450d0744407e0624a50469192f930fcda87b7a552647c2c7a073f00723448a71ce1c8fb174daa8457d113b6b5bea8e521e3f7c9da56e1728daaaf16f447ff8bddd63467144028f61a36a87dc57245269d10116382d22f68811b217295909d0696eacc714914a45615a7663f248b2bb3a4800f2679e03285e3ccbd72ad7602f59821aca41a5b1cb3f1ccba2409688b26bb01cbdf980f94d067e54336e6fc73f42ecf10166393373d8b1cb8bf5da7b8da6c0a35a6517b517e86cc18722d475866da9288c1dc1fe01fa735a8a060199448034dc9c840c530dc658444343ba223d2bca2c008ce16a29b118d3948cc5d7e8f1fe971b0998bede260ac3172889b1886415fd2cf9d994dd55cc43b5fe57e5fbaca0645ad52ceb98ec565de52722241eeaad80315c3ee69a063ae5cdff39e729d21db17bc3fe9bc4f156afc358b88fae73652918966287182a317d0e75889cbb78fe4f0007a86217d1c43de7243ff40e12c17d5caa538bea8b630b09f16fc4e17b75290f5be98352ead2bc07202a83b8b37e0fb7e9be32f26802ade86f6cbfae52ad51f194a80d1e5b959fc5fd544fc2db0c8bda2bcc589fbde5548a0ab054bd13647750604a9025436e4b772fa2077cb976d570ab3354a3f9c4bac9e0dc70eba52bdb9ced5aa24b10ff7957230045956b2055cec9aad6fb565918a1313be9903a2ac32e49282b8371639fc689341f546191caa9f592508c3bbfcdd10d5ad3c9b4a6acd8c8d51b3a231051e72fcd611d65ffc262769b44e013d610a47fa6aced38a07336fc06d910f1eb11c724062191f18a15ff253e3c1a751f4170be7833ce50001638701d9e86f0881b34022707c15030ffb63a01c426647dca6ebf05c8462c1a2b764c6cbcf0c72e6d972a609ae889c47704f5f2e8b2f25d2e452040bed6add8062fdcb96d23359245e13326c38e0dac360c7d69776da752fe88e316c9d22f9477288c54db52743a173681f069e17819f2f9159e88cca4ba2989e449d2e7d15d9efdfaff53377b2af35729001b48c715d002600b71b13999717dc88b7fa51f0948916ab02ec3ae6c78d3db9612ba49983d7d557111745d88027ba3815d6454763c224f2ffee9e160b2772345e77150728550eb360c728b7b79cf3f20f1488a3d7d811e1e5adeaa5fd8e72b92b49ce87bd91c9ef62d5dec24efc9e96463f1bd559a34ef68cb9f257888e540c45572eb1d790dd0805e4825035afe58d05a1f3e722c8d41b8b81c70a278d3e6b98d5414397b46b8a1c744316c142cae5025951687a42494c41b0ba396e39728f01b80ceac4e0b6f84eb204afff9cd04be0147c98b494f7284611c16df9517260473aa5a9f3a717b9bece445a41dfb53da96ff42ed618a87155910d7cc0b37211e085d443900c4fe1fcafe0c6710df1653eabd6f1a622089d9e0fc0d6417e0b3273db5df6e93c4f47bb1c90468429776cbfe67fadeced348491a89018cd637258a4cf8f2d34abe3694d6e36b7677624b7a07cf25de957eef7423b287793f160dd2cb0d4c6f1e90c57b536e8b645590a56bd3b079d08c46ecda60b8bb9b3eb107a0a5d5dcbdb9b8c45046d8a0814cc86605ed6f1c6017efaec8811b44d59db0b20c0979b781c0452766fb421a53529ff717cfcfc54e75bad4873c1f16cf87c72e112aa1a13adf4542dd3b738a5d31c4fd7996aaff72c0ded2ca8a65b4e6ee372509db1b9af96551ed72f350bd0070f3bb5bcb525c93ff55113c0e28c5b0a8872d02a0fd96c9a8464fa08aef26f3497c5f8669224db6aa011f2d00398d952fe7283b66b94ae96d0658cc4f79d0fa5c724a6bc48f15eb48ade2f767670dfdf9672abaa4349da4b3a327e81aa64275cd54d5751004c16a3cf8d06b46452f6830e3b72c80a9bb601012fb97e6c9c2c3e12ce7072f232ff903f938a48ffe3aa6d1772ef83045601f093eb88b7edd19ac28d4791d016a698fa481171c317d25b5d7605e39dde19427d557299f331372639090848bf549951d8fd867fc70500248b7e728518ce75d5df58c564240c58031319099af0425afad2c48ad69b350de1dfa614088a4612c50250b28d83121c0f3eda45ca2ef31d5c1f66788c203b6a3788a71f7f00ab3ec28d3a58a44c2c79ab0ebd985ad17407c657d13baf1920f9b32e9e34a863c71e7f00b8df7fe141d96ae660e6dc84e9a357ed09ac684d03e4f3440c725b531f9b4d6d5b6e0e473ebb6fdafe98fa16fd479db70aad28752f96f452d972e21313a451dae0fc047ebd7ca7f5ac707803057a23a1d445796df0751afdb729a4b8667ff631cfa436474679941564a463a953a563c61bde6d5d3d1512d39672dd4ed069c9773ce26a4eab10df10e763fdaabfcbb30950cbd27da6f8f92ab86df9e6fbb12c727d43c75efac788df4c29c39a289787ed3f87e96d19571a25e54bf083cccc2c3d548737620063a761baaad58e75c9f2a319c5e315dbe348fd7c0b3e53958d1c098ffaea4a014a5279575d1e66af6c8c7b2bc66f3ce5f0623b1d7248dfe95f42709b43d14e7f04889ec7356122bf0565b1e3a432e0c0ad1605bb72096601126e3818b8d89f4653a7a8b98ddc1ee04f7b6e37bf9288b32a7e5a917264c4057c2b5d0747bf8711c4a2f6b0ace24ca15931d46b289e4ba2e891169472db316dc9b477d7bacf26adf48899de1d2d798e3d29feef38712541a1edfff70a4ef78fb14f20ec5cd1b72e6bb1f6af6b9c2d1e658b0fa4cbe872ccf9cf4d62176fb979710498caf4be11f5f9179f3cdca63589150274df9fea8d8532f53632720cc2849d8f6e5be4cfd93878c723d97517a8e6f74b0bd1e9eb5b9f01682d9c727904dc70c063817b8feac58b408d2fc4f81a9cb2c95366122c7459029ce96f72cc3038c68f1173f87193e7e6041341a4feaceb9b0ea6b574d607a036b294d6724f75c38c70a30c2a7ca76aeefd954c6c63b91ca0496a2b9d45553a5482729972d31276839df06105267820ecaadb6543076d541a60d2c84e940661f721a9b05b04ecdd8e2d897717c9037a2507d8a7020f16c1064da45cbe3b0b90f8dbc7f472f9fab2de1b202fbf9f106e0609c305ab78d381c4fc82ff6480f1661cdf4402725fa2cf5ad33fccd90977cdf7a9ad79f33f84913ee338da9391406f202f56485eef144a31f4a414d64cde5d71b1e746d3e43c64b78a00e89d425e4ffc878dd9712394ed524bf5d051812aa45a12568bdc1b3cb2749447075a2bfb84d8e43ac72ea3594ab9983e092709c12a75d1b326c74dc211de8c2199d8bc41a47184916572beac8d227b2a61bc20132f4361f152bba4030ef36c66b89760d3828c91db6272294b65ed9978bcd245a1d56f43cb8e243adb9ebbabbde299888043e50acaa372e11e5d72c1b8e8b3c058e043daa25a6945bfe9970bedb8521bf5ca1d7abf0b683666ef6674f93b848786c2897e9e983c17004d7a8137f3a9a159ec82fd899d724cb00a8a521981edead8cb768cd3f951e3472d8f91bf9afb6523837557f4c8726dd9bc70afa4b6aff7ed0c91c0dc6a3988f0a56d8332a352da6540e36fde1d726e0c31e5e8ace5c45673717821994c03f52911cf91b32c22688de20cd94e62573a4be1671a093d9657bf31e186406c3c50df76856a9e3de0e9268dda7e41ff72cf0b6b39abadcb33b2244b2b5520f4be248d4508d1eece9b620570ed01fe756a6193dddf2105417791acaedd0aa7e8100806a142c19d2ad58442619ceed63672523e06fc2940c7948ca57ecced663d6d84a828ef9ae94c757034412d91124c72591cf007aeb9a081acb6f37e1d819a42594fd8a7222f0151ec89b6e2a9a1627297c56cf068c2387b857cb292a81c8c8d9e885f8c5e0bc85eb09023edd692c8153424d3d06e606c9ccac22cb5ccd7b789d237820011d0a154ce71cb1d3ccf46725ace28e91cb46a3ba28f9545e6fe4d6b723cbfc6e101818ebed544e32428542b5e64043a52b2b6011e935abdf1fc678ff9fc3ef579da8db540be82a74d20c11b73126922cd92d4807ecb3ca7d13402f8449e22d665a72d67969c2525081b197272cbe15d62a86db03d5fe999b3f7fabaf38d44016daedb2f9124a7466ab9597263b4d709976c3e6530aa4b1504c02d822d964a2694e34d4d6308cae37df5874d3d9d49e49d9bf8b1ff882dfb2f13c6d3f1d63b9767d68af245f6ecce0feb147278e3d513bb8ac23ccdb9490dd5c0ad86a75f439dcd2304f4163ac55ba4a42572992c48f54a5387bfc886e03c28a4bcb8c7996cb28f239b756e1d4fdc72da9b61fe71edba6524ad18778cbbe949609ed153a6d4f80638e2f863e2c50b52ab39304f5acc4669c8cce4aedf4e738e66714a73d4969413e64c4de0fde5a2bdf51872353ccf6417b48df5efd45c70103ecddb6faddc114e4ea50ac5ec97b943ee5772e9010749551d63229bcba85452f355986fd6370509e5dbcd58b7cd55284f4872a371a1bd2eb0348cd25a302a1d06a9d6d04357436fe38901c25f3709acf8de72cfbeacb9454cdfe897c3fad9c9eda10ebb5d39125b33cc7fb549ec08a9893372e2dc24ea8d45f2240ed0c546a783f9e1cb07f9d455df4c696c4003c5a488bf537a4581da231780ba34a4263be81065997c861f6f56c0815d52f2c6e68f1bc172e480dfdf5481fa12eb8f42af3cf6a6dbf346d81f7840390cd40cd39079b783727d1449c59e2cb309c4d9a81e5055f2fdb3e88db1290be68bc02a5d11c2d17572e59e869fb69178dcb62ab994cb1758b55e456f93f4ae700f47d15c03f6eb86721557243b825131823b21c4fd21cbe8fa9b5ab72c5065775d1b74f2d2a78abf28b4b6c1e9f64550441b919b0f063cb3862ea61a2c715246629ed4092a7fcdfe325b2100d663ec4d15229487bb52e67cecfe020916c5daf7ef4c298a4783414006244775b0e8c60d279fe07f1c7c76786623216ea45ab99e4b064c33fbdad66a72b22237de9bb1956bf1a25b0cfc8c637a938f166dc393c2a8bc28020fdc3a47725e54a3b42e3cf520647d595edabe8bdeac94154cade94644a5479f526e6455469741a0465550f9fa026e35955472c64dcad103df22228c5cb59f724b5cc3a872460cff57b8cee2cc4bc35ad4c111350d92745727e93b12051970a2bdfc4f8a218e9fbdeda542684318403c2ec49d57f7c12edc612a3b15b1b4cd2d69ef413e7235fc47c58d7b6ac38dd9adb2c28f24a05e510bdaa24f7397da36318fd31a8c7216ae10c98e4590d810431dd03bfbdcbd9f4bfa17f2b117418be61ae184151858bb0be7962a59d75c0b21e697c1c121bac48ffbaa40fb0a32fc3771d298c64509676a39d722a609270f93f6864d726e6031107495092be1cc27320558be98d472974c6e2c3d965d2fc8a25e59c76be2796bedf728a8608527e3fb8c5f9ec1d35a966dbbc50a6f3c44ee292fb8a9cf9aff242e5ab47f29127c32896bb0112f8665844bee7fca729dfacf1e07876718b0a47f9f0cf61e53ba4e5dc0a52f7c824e7262201341eef504e2f8643689f3b9f5a137fb9ea028f93d0f950013051fb6e34cbb0c5e4140f94d7400d3ec8d3ecccb4c6a552c9ecd86eb3dca85000b901e862c6aee8da8825d5db95f0f56486af4af0ac32c77ca99d50713255e730b19d6304717cc1495f0ad4a34774ebce82efa76c502fe0567e67a44eb7b4a7d6316542a72caa333074d8140669a3c866ad224253b85a875fdc9747dccccf838b4bbed6c723bb68268ff0dd101e4a51310f1e26e73345e4ce9d16b3e5bba44b74aa6bbf8297bdc6d7ecd853db94cc37967daa4fdc257c04d540a7dac705c7ed901618f193f9b7fbf1a5184b8bc55fc6f317a7d17646c6d6482483c69be770e9070f383747292816d2af4f234b64a999dd1bbf3b957eee075958b0b3b39e2a5ef417c8eb5292937206b0ed76060da4d1959071986c088cb5b1ed9d33e15a0d2dade9a8a66726b5d26bb61045bb1237b818b3a8f9168b174fa430868847cb0e0a44767ff0b723cdc8f8a7ca49b105d64e44415ebbd1e9f6efce9f5000209a163681259aa8160c9f40b32755ae93d23d57661c88a6ea192fbeca1e262abeffd6561ec3f3e4172b2b36365e0aee56956ba98877b523c1009db319460e2cd7fde41fa900fd92372ee061f9c78b2f5374329a3116c786a145ba581a7035b6a0824d57031d31c0772d2d29299a3afc6ac7b967961d91f2f29679e9ddc404f31838661e7a527bd8a72b609458b0c7a307d1ca6779e0fac42b9ef2d43ceaa24574f21621148e7fed8721faa0d46d5e146ac258dc047f6b33943fa16335bca3de5aa6739e996908fb931ace8ddef36bb55165d7d0214560e4209d21c8de92844767e9cda0cf62e58ad721eb1d4421a027f648971d5e5b06235a1ab18ad27941109d3f3a0cd6b03080772e416ba51aabf7d7756da735c59f7e7ea97fbfd92193c7e221331b58abd76ac479cdfb3e59e0d2ccd01c27269714109009e9db71ea4767f8bf5d69c33ea8da870972e01d8a4e6558c709167a05d7f120202e89cb44844d645c792b73fea3b827203c21e94ab0207440297a1d66997a5527bb1378ea3bfa2e0693a6651cd67ec18f529fb778bf2e6d695a2c7522337f20ec878daea9215d6f0f898acf69e137f3426db29929e92229aa21983a8b781d9e05ebe2dfd33c7051ab5f01330d3d3582ef82201145e7d864e51593614726d6bc0133b3ada940abf34229111391770f07228efdf3db7ae1377ecb73f684de78954c37a3881b05cad57e432b9f8ab27ef7234aa378b9a7ab964451842d04791acc0c108e06846fc46c6284ee26f36ccbf72a734ad99f96cd94b9106ff5e5ef389a3afa1871bc68809a7d09a0d5be55bee726e6444761de3f02804012edd05ff75dc90f66053b242c86a3a491c8282bf5e72821c8e8917f13e7a3390f8c6f54fb5e1f75eed4d7e159acd4caea98f3fa58672298f4f424f63e57ef7e76685e4c1a34806b3f65691c61f72300479f3bfeabb507f64edf4c07d100a660da284d73c52bce7761d5f61ed66bdf08639271e8b5516241f639490dc67a6f96c291a3682ff085a2cd27bed435a19aa87316e739678726d17be75c14076e9880d1b6ccc9ab948c9669bfeec36cd1c523a5c7e12db687273a752a4f6da7968f9c78583038854bd5851176fd20d8dd584cf981895fe3b72ec8816805f95f9aaebfec0f417fc03d4e23c41c6677a52312bd439099c07f803bef9623e1145abbde749a8fdd71d26c59097944959ac5a3e86631bad7e19817242eb8e47ef93b6783376fb9c9a52685295e2205fc172182a5c18b1daed76bc458c39362e882299b89ae2829f563cc6dcc2978fd00a0860abfbd2b5c71638d3726a0d2dbc94fcefa2049dd5ba37be233d8b46588ab3478faaac3fda162bad5672c26dbd73da62db732c2135b9c094f83643a6664712f5d3acc26fda1a5f6b5e72df9b62e654ae83aa518cb5a9ebb39d1043208e00d487cbdc1c1ee5d0c552f072cfed92359b6b8a6b7c82c3cbd5c1bb86f671eccdf5ab0af8cd1c4c10cbbff8727246f13dd0098ed7bba203b1f63701366d724b76cc3a40d637700b95699f59377228ea920365b24991099f69006a2d8b20ed87a81979bfddd8bb644cdb644a37f337d618e901636ca94baaecc14eb54edc388efe377d7e8899b18cc6fd3418307d120461261ba2347ba6645c7f73a509455d6d0839d8cb46ffc45db0c511c672418b88e7d71573a62f5f060e155c7cadeadc65eb96d816936761d6fa023dda7206a2d3d6ad89fddefe506e852e28c01b509f3b6030c7e5d643ed9b9f7f6f687261202c6ac7de2899f143e491d2383af97fdf747f52f1b74bbe1aea794b73116c9ad0f7623e17cedcc2a43cb44a77594b20ab23b83bdff21305e861c140debd1ab29a27d948295e1a2615795fda307eeb45164d5f7aa3a9748e48d5443c06bc0e97a591dc01385c4d74da6586971334d236cf8669ffc7c5d91c954f22c9b9e447c9a72f265a6cebd41532f7c6afb286fee75824ed42a685576fa170ce68f388651b7f1c78159e1678a7617e612a3859a8e136a9099fea0f1c420fd5e24ac9396231337c8ea14a28b6f2f1a22077bcff3b167417c3163bd5567ca8d51112af7572a6b1858040e1c9d89c4d9f2deef90cadc67c97734b82674be3320308d2ca5e72f6d7458b9424adedc4fae836317f111ac6330cb4c21a221ac875b7af8760787293616df291d13bd31fb471c0e5bce9d7feb06575ec8f5f09d55ecd4148ed1b1739d2c6acaddf161bd880680bff377da334828dd43c2116965fae201581e04372c32932406a83d23fdb70c7fd536e9cddaa6e565bbbe05212851df3f2b677bb55366a52e72141b45060111fcd17ea0f97367454bccb7cd12fdc07f51f2751376a4c97ef17408a60075d66ac3955f76a544b00d95878110e8179ed0d1154bcb5724bae611efe7d578d500f083f39a54cd77feb24a254dcde7ffc036c8290591d28c4ff41194eeae47a147cb9e96abe0a99951a53cf304f209a9a8d076bf937b6722743c90026a087352da22ce9c9efeb7d9acc472d1ff797c0cfa1473158bd2172030b7dbc810b14d18d19e0bc3d0e2d9eb37a49ac6ce5138c029d6ef82b1fba175d9e5568f8fc330be6a53d9a501f93a22d169c4207cbe668797484d1b312e7723baf6de82f9fdbdcf664b0a208a1dabc6f7b919da1aa7c0a441f0040846ffd72be4c6af6024882d18cd2a5f6a5be8578697dcf76003b0d53f2160238b99e5b05bd7fea0780ec2b6564e2ef64a9056aceb73ba51a674d3c1af1880ebc3507144efbcb605f23b9a12f5ac970e8145ca63e9a047f8e7f5dd446b79bca6417f55072e6895da9163892c4c62e5dc65b13890d72c2e576d724cdaaf93ada128f76e268630af7d53362a2731e2a6581e63966f60122d5aab4272c28b2a7361221a90d7201797c61f794fd26d90279a387cd9bbe0bb1cc6535cc4af69ed0d1aa119cd428336850a9149ec5c139a60b9301c5219c343df8177c5a02537f84c772a209c164f2327e0a68302e35735168a563fe9784d864f5d21f9b75ad80fb2671fc85d854fe01e04c325b98bde4077bb21dbbf8622a7012230ab3fd27bcff80cd1b126d2a977fc6962baf62d825306248b1356e6a61e467955f39c869ebbd2cc89968c512c8c78465493b1dab58a2c7d66d1b6135d0bc4b3c4c386752baa0a392a6d65a72ef02b51c014b6ef05cf22cd8412962f1ab70cfca3eb1875521eb20f608675172024e02c54e8869e663e4422abde56081f405c802700b6991d9e1bdb3b910d1729fa30122ca445d3b67d9e06316835e8258ac3fa57a16fcac15a18b616dc5875e18c1a40fbd68fba936687fdbf30893522106277af921030833decebcc8c721011203b67530c5462412bdf3c2590a7799fd6f8e8c856b2222b49b61175949637299f2a75817816dd1c82d3b83767f10b3841f7912c2a18668525b106d5bdbfb721fedf699d687eac1c7fa4f5c569821af970422c510b3bd4d2c63e0c775926c4b5c143f9decc5549929046889124ba0cd71fbf94c4c09c35a6d7471c6352b6c7241ba85e98d6aebb763af9f34189ade8c79d9bd8651156eebab9134d1a3e5f572c652251614b6aa257d61adbd2bab096e2f468af5b4515d0cfdf69653f01fc03b20a959b779b23802a3e04c0463de68a415658f1a3760e0c32d27ae27de75f32cc3ba916e3b0de9a5d583b0ee7348760348d46138d40f65c137a2ad08e6edfb50605858fa5e3486a6f862ddf47c24f47abf86e891e03241f5d81fea0d27056a72bb1bc4a4cddca3d027bbf695e2c4e88a19b0e7f723060c408134e60252c1545b8f0de51d439627d82fd475b075f4fb797b2c39e8ee3cb507ffa6c35e0625c51d24383d94025abd924dc856832164f54940f2a0b8b3898d3be0d0f3c78d974a682dd1db2146c23bd2e8f1bb54bcbeee72e6df3beb903ef7c8ae1aa01cd38d383ee2c62b20c8fc3c94ec2d5479a29c4fd6ff42f6c4bfedd588e10c7c9f9a53037236875102fe89ac2eba5e678ba9f76932a5bf9be168df5cce35efd9002812cc72eecc07eb94c000aaf73e518121e65138012826b7391c42b2761a0771c1674f0ecd9460a02c0ce1792ef5279ac0408f0e01848504233712cae36a458713f59072b3522da8d52e26a3a5903043707d0f21196d00aa811e33c10e1891ae71d15672d5b67c4a870bed42d096a7c5fc7d931548da586613f13a363cb1eb4e631afd0e5d1f60827c3d1f9a16de791861b98f50bf5f63c13e7ed47ef0338be34f201f5798d9a1bdb9d078e11b9bbfdf816d6321f12e1b0ce4a3516822ea0df3716c993cca6671b16a5ceb5093531f33835bd0d002e96808e9dfa9b3c810217a0ff14e5c17a7f45f83e8f2495139a3d626df8e9c2e31ed16c5ba422def0ab50eab27e3727464ba6708ea209c5e039e37bcde2102e535dcdc7803ab4c62d6a49d90dd4072a7323a4c137facf967c66499e0cfe6099f432222596a784ae30c7b861cbb7272b52f1c99966403543dc0f82a7c917fdfd7608b6fe715b2df4a14aebcce9d4e70bccb0529d0b0bb97f8c5f2badc546eb2d8369d4e21d5ba14a7a06a677a8aae697a1721372d16d3bad5043753eeebd186ca7db928327eef4de1ed7fcea499bf72a585fc6f6dfcf97083a271325925058b600e483a8ab68d99106bb863a0bda51c671c1504ec5ae4e6f5f4f427ba3424992b8d336bbe91be08efe10d95843e51703dea4af9b0a4484ea3ebeaae8b3ffb545132889e4ccadf411221eb3b575d1f721b88a5d24e3803e0b68bf09bba0c963971ce0dc92981f24e5e0712fb84ade71d4418c382648ee1a5bbca1debb7f452291a4244e5ab4b945f3834fd762e355a72469bc7cac8268384bb31e5f7ae71d917dd4503063b2a825bde757f699701c739375b75cdcab23447e1e6e63b1ad94dfbd1758ae493a51a2dafe3337e5cd75e18db333a1b2f02c72293f289685d8cb5c986c80058c67afce945a5d65f61483407a80e71fd0b59ce8093c0ee442fb9b2c4866a11b86b626ff9fc4c05b4a676551fe48741af3e4e20dd8bdb71c0063f4e5acc6e56e75473289c1fefca72a7404c72258656f3da26a7582935fdc32cba8933b47aae5f7e319c213061fcd94cb59f727097e825f72dae65e4e7612d7f0bbb98f1d0059b676df02bed786e307a763d727c72652fae4c1f2894a4934a4667f5dcaf44678cccfc5c615cc334bc73bebf5c83e512dbbc73597a136375ab625f0bb2b96d2273e91c9005339fd91abdcb5a312b14894091843ec66997424e68761f81bd6acec26125b357341e98f9768ede72c0e80877d5ee64caad293fbcdbc1090eab201fe3b6504edd4beccd0d565f3f72af8a1d0026191d6572123de275467918bd8f81b57eeec35aa61aaf6c377f297288998e23b38d13ade31dc74e7acb617bfaad63abfaa2166f45303de929a905727066f6f480d859af70e445e9b8892424c4fd28062328dc87a5edc99412aa8e7230b8813d935f3bb67f1d7a17635001e9551561fa514950ccd0b76acea60cab4ff333ac08fc5f2639c9e51adbe537eb1b89fe86cc7bfa67cc8da36c970781695ecc011ca73ed5d8889faddccf6df039fd1d4e3f4d9bea48aab28b6751952a9672d31f9241812e5d460a85fe5294578ce4f67147e0d8cd397953a5a977028c6b72a12abd8c5532c693e1c0d266d59e71a5d7bb970ec5a1344a4befba081952583a7a539ddd0821ff58d628cd63fdd51dc54b5b04346d8380ee3be4da691e76983472f26e7ac8ad55515c7afc7601c1021b0d43dc33de3cd12f3a71e641c12516727ffd26e64171dc23a05ba2b9222ed9f5067dbbbca6aa00fdd7710b321835b04f3116c982bc8b50fef239272b6bf825f6c1e3cc6cee30ce721e3dd4f3555696007ffe814456b0dfa3e84e81476fbb2e6c3822840aae9d7137ce42d0fe9f8f9272975fa212b3b651382be02ff48918e2aba9224c7af179114b061589589bd6d56524c3b6c8b70012a1e126de0dfdecd0b481dbfba7866a019330f9f97b8ce38d726e257d4771e9fb413851ac83aa615294305c44ab481496c70496bf6b280b6072b2d144f220c915bdfefbd4b6a84e7be3f16eaf22176756c59f9b36854b6a640aed8be9830a052e5829caa086dc0e75ee45498d0b8e4a73ac4eb3735f43729d72ef14b64d71b86efd2721283f1ab3c89fa2a457a6801e11eb0da3b9526017867271ff1725b381bfd1031cc0b9a9b5606f6c29894364cc8a321655e01c8b3225039454d2aaa596be897add4a2f5b3d5c558e6a64dacfd6fdaf1e28d3943ef8c1725f6777c45c0033481ab3bbdd15520c36ef7aaedf3cbcb8aabf362ba70cce777267937d6a4c12e81feba6a16d685a22a9fe178aba037cc6d5196bd696512de31234a4ea375a6e93c2131267a0063e45dc1c35a9874110f8bdffcb3d25de63016fa6d585da88ad2a5de904dbb21905f6f28163bc9edabd12aa2f1be2150b463e723c683c958c59a4fe6838ec4f005643037b95c18384701bbb023e5c8573aee06641ac2aa2665d1ab9767ab7c915839bac83822da676fb5dd26256da648b4fe272eb05a4f94c13b8e97d84ae7dc3a2eccb958d68dbbb5a440936469f6ac9316072ec7be50fe0282ef77413dfa3d5f3b835462012c16b49e85a9d013e895f4d7e6dccc1261e8849972c4bcace4a04ce769abf52b061e6a77082225748a7e8ac0f4759cf04bcab7337afa0f2c361de7a2283d4a308dbdd495227704597d2cbd652447ff6a7a2c4a0c36f65d781853080f23002ca10aaadb077382a582f2c4468d7035ec906ab8ee9c96dab87c86e8f7f0a00c1227ffb024185a80e6d3d7c799969729e7e0f706abc4d5625632cda4d47dad085021b2831d3d9c74a59e00980130658d18a9780f2ba4152b25ea5040693b7d7e1400473317925098926164371c663725fe1f69b410ddf06aa9792e99767f1b6a623d1873ea891c4d70d684112cf9572319a682fcce74c0b521decf919fd14a9ad27bc5d178f3f0b7d556f5a374dce72f0aba1018d4e6ffc49057d6d0f55e80d9c962fa1bdafe71eb2295dfc43532d722ba6bb7a31a7ee6ed3e4668c97fcded38b1d46f90e4d18cb37a643612628af72832f0ea5d7f507e5c2f972599eb18360df56dd7bbda07569842d4ec7c7ebb07214284fc9a340dbf90d3a4a30bb6e88030ae77c05c30623e0c76d7090ce86185e077b4d46c0d42158335a0e37035a4c9e19e8b310f2b09b544ee9d9b5d59f766c88e485f8bc1905858725b94a9b988bde3705f0923e49c02e59bbda8d6d50ea5c52fcafa1758d8756c3d22373830f33b3fe15ae1ff68fd87db5f777cef888bf0afa7061722600036ec623f5c21d6026b4b2b5a18065570fe9f1af249709b8561ab47e3a738ef1a680640295d810076fb5f05cb1e5495de3873e8ff53d4d890200cfdaabb794b5905d215e510b42399a6abaab1d60f5e7568c8ab0ad8aeee5ca729fa61fe441e899dcd510da9e038f32cd5cbf0298385b409a88de9f3718a40f7254e9bf44a64064da43dd0b56622eee856aee60b47c2b1c3fe17deaebd44e436eb5a1eb07b066ff788ce4f89adfbc2b44877943006e7eadb13c91772a257b9472de66cfe689cb23642b1ae7c60fb8dbd9f8aabc16c3318fef0f1e69d705ced61277548973241a7630c81ecc97ae3effcf0c775755f5299af33cee2bfd99f4650483cf99d8eaff79e99ba289278c2509e9d8cda1ff6a2d762efc49e4953714e842b9b1e930ac9e25abe871406fa84a461bd69aeab1b67f4404664f12e195615a4e6e388f55c9a9de369fafe86172aa3cdae66bbe41dada7c08ddd50ba47756ba72f2f659069337bf4b1a18f731a9adf7ddafaf91f50e5fecc3667d68ee7df7867291427bed75d8e52e9c6bea08424fa6d43a3da8d5c9df14db680c4a717417d948fbb762ea47b0a5505efc7641434ca93ed684b1817b2c693ecd0c41046770d372312978d53a8eda91486c1c440eaf895b78a6b8fe19da073ebd64dee163300f48f9dba3313c72af3a8cd2a10be875eb0e5b49ad5f1c8d639c347d2d08aeb2452e4605fc593abacaed041ed20eb35206ab7e83976f16dec39002b5e8ea4b60b62630ccd64f169bfd907738efa2db53dedb6770f8c3c43500881227d3dc38a5b672984cf43418569226d50ed81230fc4dcb0f4ae5d5b3bb4686721a17ddf8058272bb23284cf744b56c422a641843ba6ad4ef73206b10733ed9cb8b9e4d02ab6a728335ff132fd4affaf77ea1227720e6dfd0a3dd2b4089b8d2ca5b7fb51cea9172631d0c5fe8b221af066b1d76e98a4ca22169cde5700f3fde3adf68a07d2ded727564dd4d77d60918fd367d60b4f9d5cce87c56ed63199a75fab87449a2edb77289b0d7c2805805383a339fd0276a76bb5bd2f87470abe5090d7a0c4a76ef7572f12d098ad9c9a517672ca49897a632722982df073b6b60012c15160f3eec7672e14b4eafbc136a880ff3ad8583b05f9d7112b6fe3170fe4319e478fc7d414c59c8337fd0875847889db12089164dd267328fe3a7a53bf00dce2ad010578fd87298503a7d8d2c595b2be15a58a7a4603e89febf4942f9d673a7add1b54c10f6588b1c180c5065a47c83cab28a6a80fb0a7fe66c7430f59d9eb2982c1a6374cf7240f486bd59976b61439890ab86015809f5c18a9b7c9ddd18b18cefa7d8286d45cc7d1188ff3ad5d6d35d66cf788dc0e6e2684ec781ce6d9d86a607aa99f03f5aec260338c3eb19f8370a429d7d963730e72b9c72fa083b4cb7f5d42d2519ac52bc4d538712732a4ac429a1b3a304a2ad86c23de403fff9e13edfd3261b929651daff60c1db2cbef5c2fc4cedb95ec41004f1616556363fcd7a01bba5ead1645d8e43de6d6ac36ccc3ec199d73aa75274ca487be9e7d812e66726f4f13ef1a9724a00dcb3ed50e47f3562734a335dadaf7c21a90dfbeaa75f30209a59c30637721d25d627a9ac8651af8459bc12cdf649ae110e1e4dc2a1d0a5cbc304298d02720d751a02afb90397a541e8476f8d03d215a578efa1443a50aaa9e1abb99b9a3dd92b2494d1ce87330d4d01704466d393a0d8e42648fe3db3aceb74a6c6f8f3727238f5ba7fe7eae93f588959893d5e7368623b903dcb97e77e61807044621c727e39a0a3cf67b6768a0266db2f89ef0ea7e87b680f16ba0de57e3e4cc2062872e667f69abfaf684bfa2a3032588f192590291d9c7c7ac792528571df8c473e70f0ec8f2c048607595c8f87be654ddd20ccfd4a1ee01fff1898d91695f3572872e79be77b25eb3e0e95eade1065be78dd437ae31b6ad23222a73628242b3cd6720524f0104248aa31922eccbe8287a4dd66b48cc7ec858ab98b94e4227dc66254e11479d7a876486ee7920298e83ba1ba6d11be93bd846f94f962d664c6bc1872121ea3d42be8f8fa8361ac751fffea32f0a4754b75ffcfb704ce676d91f4247262ea556d5518c289ce25dcbb9f742053313e6fcd1cef6bb66727192ef865b072bb1b3ee4e8281aa6d07cbb39e9a0beaabf454bbe7b05229f78e256b8ab28bc09833936ac94a94ed207c0494db3efffb8015b9aaf11d71ad5b05490dc2a5bcf19d2befc7b8cc9619dcede995689468c3d542eee3c5e5f00675a8ed8782a828830a49a784591d5fd2d3e77ea314d7a3d1afdc4f172dd6b1e50c2fb1100742ebd729e52d02cd378cdd9ef7ae7639904cd9a71b9ee6065c138430dc878d6db7813721cc4a2e135b28490ec472c0d018cb61870e175d0af73acb1f674b55db9536b72805c5de33adddeaa9347bce9c7a5dac5afd33a5bc32eded33f121b6a98f6021a851ace623e8c224a49abfbeb48672c232f628ff13a128f17de43dd9cd495e27225287ebafd3def2aa17f4bbe753e2622e092a9185dfa5a0985ecb81c93a9c705e1dfddafc92d07acae281a07c20a8c1548f7fe40f19e8fd1941125e7d0d2627210f948e6947fdb1cfadeb4bd19815121156343758e642f09d1ff4503385bd672cefd104a3b262ce5130610e5d3acf72fc5c3132513077f528c22a0506d7ce5727975b97fcda54b4119670551734fa0d1918313012a9c36c05186035c06644e72d3bb53dd06b7c339bb4d706b69900d66768b7b92ff821b84dcc8cd77004ee21917100e72218008a3a9bc94b87f8e64274f905070ba0875cb56a66a8b8681ab72f2224163512f0ccb7930d75a5cdd4035e1230cee6d8b0438cb55e52695777450b7bc5f0fadf0b0d0513419a595e7ba83260379e50a50208dc6a07df3852a4f31af4f578a05c452ba209cc7125c5b46ae48c3626eb70f4f2815b6409cc0e52d72d71b5f58e1ffbd2c7edb050ec8b689d430510d354dd28abdf6e23aa43eff6d61d38ae73af2d4285b959ad84aafd9e6dd13163c8190e2b40cf513f021c2b8d9722da593ddd6e1b98784d05db1b8f6fc5f734b1771eb4d9450a827145dd5c46d5b9ab595c2babdec77436b09a755f949e04f20033e26877c197b57135a8ba71f7221da7cad4fadb4f570c35e37f6c62b2fcdfc1228927d003cf4c6e33cc8ed8372c9b6a65601220ae08232e6aaec1614dcdc84ed538027c37da5f6945dd666f472d0d48582ab673845d4c1e08b2a3ad4d8f13fe0ef42384f328da0b5289b362a724fe84e65449f588f6d77e4eb721503bcafbdda030f41178641bbe01c51f86f7234c7e80d9f6d79e6a07b92e58e58e7688dcb51d64928236a4c77a43dd594be1cea25e9fe0d110ecef324512f7682f706f19168007d0b1989e490b602cc32934b94ed207966031da0f1ebea0014c450562edc4beb709e3841e50782b27e7f487250bba7d2ff2186d8d6c92f22feebdda3192872a9e6bd8d25da390c10b455bc72086916fdbb6ddc8253c4b06c9fa5d67350c1befed2bdec71347b177b324b816831b5c78fc4af973c22da5034700e4b57f3133c18bcab87fba840688f0249435afe44473dca5207dff5dbcaf461f4ab8143bc9239166f77f5b0effbc7a9738b4067dc6eda920502a971c36e41147de3d1df89796679067683337767050db67660caeb59198121dd907b2f11602fef322eaa8de5fbcf26b8acd53caff00cd24f6945d1e7da7cd4f929e1caa7c6c5f7dff36f3cc723d6a93312b082ad488c3fe77288a1728e026ccb7c13c87c9d1d9b3498f5f0bca49be4584371ccf6c4d2351272532f89a8cf0964734cfda10e6eb8513e4315fcd106a92d4ee0ef6c2c0606ee7255598f462776d5edd0594406dc3416d536680ce82f44b55f1d8795c985450872f04e2bc878a746d6ebf2d2f81fa1aa50d927735d33e368e7a6f05778a425e310e5dd6aec80500522cb1d96e9b735bf106464a41fe7f9dd3701572f01451e9025c7060e08eb33abf515bdf05f1e770b9c250c47019f9083c198b213536dadad72ce2fee40efc000269ac4a55d8cea052a33f1d030b67ac44bbfcc3a224956660e17969cf47a2b3e4dd74ae2db4685d6cb9960227b42f9de56fcb66afdff67337275ab99c38ae340d23b9caf992d09dec8907fc30c993910701894c27794efa872653e04d2b2e466fe851a3ea29911aad64b6f2e30124774abc97bf13814b3457222904d1e1e618fbe49c5d2e78db25c3ac1d6510d7de7c333d74874750613330fe52c3dd82ad893cbca22ca9b737b51c12a31aa783f498259eba99277f9a9b772ae7b79c33a98b8b82b75cfe1c8a8a2687d567106848d0a1affd6bd020c0b4a722194c78efb3d62a315a7ce7c9db652c55bab3cfaf515ed897549de9db7c7fe721c8f86b6cc795a152465bb42915a4fb918e554a5f90c1ea1b537d20fa519cc729d7d2eb6cc21117159a6a97e211f941dec0e1e369c80187de7af80a9a8e79b722a875c84c4a388bb653677a6b85d6a817daf6a6f7d7cc18ccfb83482847fe27201a3d59de921d17709fa015c28745eeeb6540322191366e2ea0114b698e4cb72e6ebcdbac0063cd74f1102a40602fbe6c4a0a51be55c65e91eb893ef29d2a5297607c63b721b5282d78c9b274eb59144acbe190c98b4a671119a7e560af2be2d35a464b2bd961fd1ab947be671367f038aa9179817229fc1af3a709321d10b7234837050b9a8b200bd0923f7f097332148ace13ce2433f4a9966a651ef9aca531a3c6ef70de4ba0fc6fff9c1cf93389da373df8b0883249100294d5e94b4d95b3c0d31c98f7cb2cd03dc3d464a1119e6743b7904d62f2ada980001510ceccc417e5a37a3116bf78084677c230cdb174e1d396661a6ef859e485ae8d4afff1a72b47c7fd0beb7f8631600adf25b5230d017202defbc75f6c89dd3d3badc2c0f3c9f33caca286e32614ff377af827aa63ef29fc21c10012441c211693925a7db0d1d2ae4dd3621b0f89da661cb8bf14d234deca7771158e644e279201b39bc2b322be055ed5a40ae0f5175cc674d950f94cefea543ddb0207e159cc4aaca955e509cf96e5167663a169d953cac623d562efb4d007ae07457ed1284e427a7a28c72e18869374aa260c3d957a0e47a2ea97e32a3b0bf205a850836a7d6ee1a53dd5859b7fabfb450629b86f9431d0eb6842e6f603d73b5c80609543cfa05e7be817215ef41f3d7d3db796e7b60f7c6e2f88ef31cdff06f4fac1ca21f2a03d4d1215013e412fa3cf90544e0e029f21dd7ded40a1011aa54427125dc4a5a12ea27ea0970a2387806bbd69a24c802a215acdeec3ec1be06b38f45680002c1642e4461722370311167e4ee0872520e3bf6bb6c55576b492e2abe45770e3c725f893174722ae704a1b5db64f050ab88082c908a08daee7e1b31eb0a98a68c29974a6be472a50f8187694f02262020724c6fa5dd5845d4e613929e5bc343e6fc719386af72d4cf14a3b6b4fd1635ce0ecc0bd8d3afebc490d38196f335e5de4923462e6b72224ed22916010a9399c0607a84ce4ee78292d15bba616421ba39ea88a2462510e43c3c33affbeb6d3450df0ab2ec0417bb0d4de4655cfed32b84d5250e4df2725cd831f11cabf5a02a8d31d70f0e9e01b9869c0938d9190523f760ab982fa472e46c0d8b591eae380662613c46f86d6c389f771dae062df67dbf82bcd22aa072ae3c618de5d1a478dc96fb229814688342d4a8df931d5bf99f7b33dc2c0ce652ada9f85b382f6c790eb96d58dfad27e60d44b4790a46249ccefb93e28b010072408c321bb158532c195ef7471a530dde1d089f0fe97b92118171ba4e7b66ee72907851f100ef8e5b0da6be4564a21d8b80f82b3af59d228d47c0309999891818cd0167f0a35bde29de637fdf892564b3e6a5609ea6fabe89b87cd8f77573ac23dc7e6f0186e5bf529f69eb6894fa8c625184cbe05cec2f7903b787127a8c92229f0765ae08462d611127f122e28956e0698e6b9b3e5cabc9f4dfd5c47fcea70887bcff7ba6b9775d6df573d329adc20eb560fda854df059304ccdcf9cca96249f7dc597fe4d40aa4f84b2b9e4266dd4da633faa8f0fcf387e23a657663a36372e0d9faaa61d34092b3f5888b3a64fd352012d97e02cee96f158f3062f0e5ef071c8dceda7e837c74b040722f7e25700255e99b89a239e4829c17c3b8d94a8a506d2edd93d5c1e4bf8f6e3a38a4ecd14a5554cb1a8caba98708ac249365f67b7245e18c5e62696cd2a0bd1bfa7ec2c8ead082b8a83ce26d07dc9460829fc4c2721f5838c346f14629dc1a422b1b082eb202e2eb4c63cd884637d7d41825649372e108c69b2f1f08660cc133e52993b9979136ff433c583314a0107e862b6b6e72a92508aa49821972fcbd2d10725824a7a40e435f6b0cdb94d2776429878ddd72e26040dabc5c52d8e4519704ed7e56e68fadc56ba63bf60b0115eaf9e3fac272be7525768310fddb44b1043b814d07e5dec70537f9e4ea4b258e54dd2670857227265fa1a0b8a2e621a933b1b69c69cf6d7a3fcda9da8aa011a8d2298c5c8672889ea3e13bdcf05ebaca11efff9ec4c813b486a4e4ebfa95bfcccbd0efc0c2616b92c6254935584d212ed213fd9d427b6ccd2bb3214807ba2bf42e608684b77222e1f5c27460be08a4d754c612efa3a9393d0a71ad438da949bff2bf0ce1af72a34cc4986a39311f1e31b76bb24971b77049d7c0fcc15975a7f866663bd17751fc9651a1abbedf7e36861871c2f70236bc2d8047e5020fd7a9f8f5872d205e72357dbeda8f9de3547b20a8b34005abeb40dc0970ed7ecc18b39563f66e3c4e72df7ae5f6c37d0d9f4f29288858adca3cd16792e67b3e1083930b74132e064f68558d4e85fdc3db4547a9023ebe6209622e1e508352be8ae49c2b16a95093a25724c2bada464a47f55f2e4db07a987a777e48cc654330b716f15ae9e580932a72d85684766d29f501615cea564f1f20866fa45fdba6694ac0840d5577c20b2d7204ad01af7a9d17b32422bee3b836d2976207c81aa55ae2fdcbe070b313c525725bc96e409631aa4730e496ad3eabe07b4487def1b9a8956cf5a8d11d96d7af726881f5f5777a6bcaeb1deb37b2ea8a539db2732f9bcad2284d668f924164f2725cc9114a0de896da0f0e0ec4ba6dbcfaa86364ce364bd263a0c7722243e1b73ec23fc24e27c0c4c33b0c2a6210488ad63b0af87e7dfde557222b77e7750fe872422bf235e51efd33a6c7b1992dbdd002ffa7112c37c9f3676d0010d7e29a1b722d0a8ed8fe4b1e35adfa92a0b7b254f9f181ec7c2c8c2b98b62bd014c740b9226a3dbb09fa6074ad82479c8333c7dda9b2e5ff5b3e390e0996de5feb41c28c492cb3b342174f389ad3e7c0556074f58232b1976b9146553ccd579a2fbd26ec721034f32e305d3a4e0c485e3220304884cc9902c2b718d3ea98c09ef9b0b1f0722b6171ba025e4a04fb1d079a3fc7e74e910f2836afed5a863d6c6dfe0a3846726c6671bc602229d9131ee2b8f28c8b4bf5836d2937b3599b06bc24467fb394ba0200007242e3892368f826928202014a6ca95a3d8d846df25088da80018663edf96b1c7276e91cdf9bf442d606e69563e989b7d9d4abc0c9ae17da8ade6d1e70ed0cd33b21138fcb5809d732da2d14fb3bf6a2e61d7ec240341c1e6990ebfa18a370bf70bf4b3e06c0288dcade8c8fc5d26020e6b36389f686cf88e7dec1161041cf3a27f39f4a065e3f059cb83ca4692e4a74d11b630ca76d8f3caee951d65c6130b9720e3ee46720a02f750eaf36e2fcf8ac25ff0fb829fd88b93243b398b31e7ce872ad1fff6138b11113782f3ee9899658dd6557e83e3faf8b5fe7d5f7bbf63f6b04b7efd170d577d46a46ef92a25a3e0e4b7b7e69d1ac69baa8e3fc186f5bcbe572c909cc9a695e0893505108385578385e3b80526c2615136d6e63038c7eb60b72d69639417ba1f95c2a222821b180eb007ea8468063fa1e5bb12ccffa64e79f04dacd048455e477384c8854e847775231b950ed41fcbc40f357887a41429c353d80bb07ef97b1a6ea7510b2376862bce58783502da9911c1a54537741dbaf221d1fff30f74c34d2c75f2946dcc8cd1d9a6eb7ddd465375e173e9b521a57cf92723ad30110f88209e9cf177758ab88b962f71da66942b16ece10929d12d7989822f623ab41e13cccc08b55dffdf1784e9433e85dbd7e128bb0af81a660ad184f466ff80253a771904dfb7dabc143d38611633d767a4ef55f54aac9592146142f1c59a40235c97750ee134bcf121409255be4f98ef0a7d74b4d06e874ad3426127254508844a248323631d9ae0e33b2efa532748b0ca6caef5de51abf8a10be9a58cf519aebccd45fcc0475d3307a470aef6e7e0ca7c1327dc080f10df1786a607255f8d69c206c3a4a5b45f7c555abd9db79abe794b4573a2d5309c4e67ce6497206a221d236cf2ca847b926159421654e580e8a9a15c9970f2a71932f678d3472a9c87088a3d7e2812e8cb94a94dd3821880c6cb832b7239478478cd714c1e9726957ed2181db6a869b115ddfdd954c92b26855caf30dccf9ff14e8d9f0839832b1de311391ad29a41f36d6aaf49b0c3efef4f21207fd616e7370dbb4e3d1581fcffe3ef1010deaeda36b12912098b5f0a1a9ffb31bd8aa32b45f29370eb78a72dfac286f99bb1389b7ea02835670ef529087a69295fbf44d2adba280c9222172b544d09d38bab8b6fee3d9b34c8038e66236b2f8db3ced12619e870d515fc45b582452178693e474af8ac47e3ff8240672e5866bb29d9c9d53dcd3783c7aff7265ecece0273f3633483ff29c00a7a844d5d66121a7fa20955b1f4f105c990272e733062a6583e2258d76ca466376653b8a8211b129d8ca3cbb2c3f0714e36f72f6a542445299ef5c8b788a8d7ee167d961694d21420391eb0376d123c7d7747224ee19fc835b56d7708c4ed5ef53894b8d7eb6393db0144160f5f2f3d083f55322e1c28db8705f318eeb02fe2be6e64c50aa7e865d9c5a5047c4b5976cce2f1e27cc738fa1191c3b4d792e7398804c4e986ac5740f8255d1b332bebd440bcc0ebdf813af704b0e9cb894a3456e311962a02037510ff56967ae029b72da7c7b2865b99f4fd034c5b3e646da0ca6d857b68af3bab4962677d53334c9fc81067172432651c566784d3fe87c42abff00ffbfa459933ef1b069bcbd1e0b656e09687231e28be276a28089d2313f59a38989d2f6bb5b5752d9d892a5d8841c7ad7127274e2686db5264ecf2cddcdeae3f5f16e8405bd2c200bfa2bf16ddbd34761ab0a2b22dd9f1d83ab5e5c5daf0252facdeef186fbe42b686d0a4f200e0af3453b187c89f1df5aed280339a6729976ba2a815a2457352fc19c7ccb1237f23dc9c072badb4a52614f18ee71b4cd99bdfe6a60e8b7d7645f0b02cd5ee73bad3876c73b62fd605038df663bfc34e49bf05246bdb09c2a57ae463ab995dcaa38668a8d4c526244fd36cc15fb5fd65a9c4e1fadb5a5729b5aaeb126846505127b7cec39725d0ef28cf34ea35e5d69f75f9ad68a26776d6a259c777367c8bf67e503b9d0293bb03f5b5f149365496746cd72a613b106d4370582a3ef7ba206444dc3ca13384fb2c221cf49c7dc77c83cc8bfc301e266ada6ae202ed2840cfc18cf88661272d55b81236f70af38a1cc93765c3c96d90b4d55422826255eafc9617c588e84722fc90e98571908fee32be1f6b2d061bb1f8252d745a2aa954e74b364eff4073a48697578cafbf91c251d9dbdee56dd5465a4ef4bd076c4d0b2c8d69427dedc720f2755c5f2a94a78d85de8e282cea48ed2128ddad2ac0167c85f3cabd8fb007215a6de78a0c2fe0186e1e59de04db0ef1b3580d24aff1ef6c268ceb0975d527243f99c85910c1b0476682cc5ddbe77fdaaa871bcba2516093cdbc510d7195c7219ef0c2b6dd3be1a49c0b1a53e9de50b95552055d22eadcc74605599f5008072c403391499ca7fe8c2a732e75e35aa163c08c122b0f451dfe52264381eb3ba72b928d1ddf6df22f67da5564ede1715fc6eeac968203892fd66e8fbfc979400724c6aceedca13b0bb81d088f2674976c1ce109a00e0b649ad063b0a8848c23272dd97c07c9e404640d1e4cb22bda294c8896b1fc7540b0d0b8f53f9b9c0d81572e90661cd22e1c020987734eade74aa9c2b88c3ffbaa181e0098294f2bf994e7268abed9d639213f1820c8b18994b0e8bd0144b20fcc5c7c8cc39748fda1a5e72eb164553b1808ea714bc8379bbc9c79d11f30406e8d6f3d6bd2237e54d95884d1de03f2790e2a5c19f2de57f0a9f0b40fbe181ef74dbe8ee247359f10c29f872579012383c5564be5024859c29c76ad1fec41d3ca436b512e0e8c24fab336c727d137d97367795b96e55b48e452305c8ec5db64f637ddcdd78a4d21a34a19f72e5b84ab50daa1ff6cc741f5ff2784d2f951495a0ec72684e88e6bd3e32675a72526777f9fa37c73b49e95a10a631d6858d96a68b2cd2b8540d23cfd7bd91a172594df9f724d7cb891b61ae29c242ce51d1eadaf1d2f3ce705e03de20469f4172cd952a29be0963f6e51436c37701cecdfbbca10ea19a5c6efa2a37f659f14804471d93744b05fd63949bb9c092a6357b0ee25ddd6d4d130db0257647fed5a572227518f2edfb456248f00d4439fabe0319136fb56e38ceb38b6be17102d65e3c65684edfde5681989e53c373ae88352fd7678d8bcbaf0b581a4b8f1c7a90d023b1ce365ec3fa36e057fa9890f9dc0465f04ac394e7244e5a23a425fadd94e313cab02d53c347884b7323f0ff1c5ac3f5368c3eaf14a0d1269b65fef25e30f968b5023d69f3145d5a43dc63002c0f44e4fe7a16f21a0d94463f400ff660e77c7263b632569e4f8f3173b05193b89d452aac07ef853e879b5ef4fe9b2b1d085772c7b41ede4d66cc02dc0f36c2322f36466cccd17e8805da3293b277b6547dbb5feff7c1b0fb8c99ebbb757ea524e9bf674e4b69ef0d8cca4380c8cbe6c2d41a72ee97c9912f5ed4d8cce4249e7e0113c3c081c47a7ba1d3a154fa5eee5867d563766390fa135c97777ad1e8cc36b6fe7fee01887a806cec45cdba6805a7b3113694ae8a9a79e210ded07899555ed1d5e181efabd3f5849d9162461175e9cfde5e275f2677f39560d7a5c20cb3b7602f6e37ab63be90fd0c57f68df10e5c48fc7223db15f379dad6b260143b936492d3a53f7f6b4d5995e79715432ef2a616f03b9ffedc45e6215fcb197275b911c3df99ded4f331433c252ffc3261c3a798a0497284f49bf97d855b3075ac327008b931c0fae68e60b61d2bf96188576e7c39721108c1a5e7a38b57f9d5af89161880028f640cc0453f91c7e40f04be3916782f1fc8a466c694e007e21b881cc04c4cc98422b41777695b7226f33b22c5ffd825e5812a141cf1cd4c97cf6720ef592dfc7a2caf25eefe9b6aedcc01e6d9ede072fdb80b5bdc84e147abcc4d5470f5b3fe049b49cc69cff43f6e64f423e5e89472aa88a7563095db659dcf9766b13fa1706495eaadb8e1517aac2313d4133636722e9ca61023eaa5d33086f24b515d6f13d89590bcf0762bd211bfe75f0d36d5724362242b2c33a458c18f6438ee89945de6513b3a98267c9939ecf4605a770945854c4528ee5a000715eacd84795da5bc0390d9fc625240f137a4e9525bfaf972e48d1efa4f88f4298a76cbdb7d5d038e1dc6dd37727d89f4a50a2b19a2b69772d45037bf8a000dce747e9d503155822f84a2bdc3531068d0fbc0f3c81dacab501d9a6b1ea0be95220c15a3bc4bf9e1e5d68d82b52817a8de7befdab98f72e3729874352f6f7c79bc14aedc2615bd71776f10ecab912e983c0c32f53c46c51b720e5ad27c5441c488996d1cda1a792ceeae05a394129c1d2cb89c6c0df696717289eb7173f1db00ae378346fc461103dfb836b387858000d76294dde1b6ab30627d9c7a783e39ef003200f608ee30739cb956e5a200f43eb710ba988148ed45146753cc8b9122f78e5e665bed5788727df58c18c1b411cd1f1c10da271a569172b27f269f6af132fa642db0b137000b96eb55ce908f52e27e5c8cad801a024869643db022e65eb71e73d984dcee3e8db1b5331ca24cd99b994bbb9d63e9204972a0e0b2e2fd73b10eacb2934dd8f249e634a2ad7ed42ed1dee783f2a0663c4872ef846762519d0511386c6ceaf3c291ad358ecdce8b9d0c20ac84eab07cb50a726811cce6b60f0f64e048cc9246db89d3c45ed01d2d99cd7ffe62e8a0c54c4f7279499ebdb632e2a5ef588a98fe11785801fa8a554cd69a494962255ad8d2cb72e4c2dffe4d2143c80ec0d984a749a9ae596133352b1d82ad46b95f31a962d272de1175b796a9114dc7809229d88096d1211f283f56620e21b50cd5f7749fc2723f43f33e87b95dd7b8d3692abf13a5bb5597373f11d589d9f203ac4f877ef272c259bcd5e788c73258672bcfaaf362b77444f4a73697881a948323738c793d7235c16a0a533bde6a856b7d60e548cb347f99704e832c3f574a56d46eadb36772f754421cab33bf9cb7049eea4bbf9ba06bcf008c5e2407e92aa05a84038e95727af69c989c870ae597f67575aa7aa1895e02625f3f41eb501b85ba07488d694dc2f8aa044a20c7d15699871bde18c13d8b2e680e95cc131cd00bd714ada31f72633921a3e1fc79938f5faef8575985e512aa6d8f3c3207870ca3fae099683972c0897ef1753f90a9e5ac29d120eda9f7801716f9dfd553b4b2db94bb87954f384d13ab0eb516b1cb08bd7e5d6b9e8276843751676334afe7388d19e24d000e7292a05b5bbdd4308e02c41ffe91a03cce18840583908e67623eeaae6d51318d7210ef4b69d593977a8813a7307b29b1b57922ceb1f8aceb3ce16d4ec306bf1872418c3997a2457b5657c0797ebc9640f07c2d6cb78469914c9e7ba0ba0e21323a9c4984aaccd7e249453cfdb462b6278abe48086efd79b803a94c695c6960eb55a29ba24af0572cad14cba15e63e20c7d23667f923f5507e31f4e3a0b81a08c3a96b1b7a60fd7c91dad77e633e062d9b87fd9c86f52c5699c0ebb9349b05dd472591950c268d22074809cb18c7602751d01d85dca05e1199ded81ff5e5c48e208792f6eb17bb6ef6c70d2e501185b840498b54b36c3c77d95b5f1d6fef6925913b77eeb868d7e2e8176a8ded07aac977759af18fc1feb5dae8c6f732e12b033725f35ebbb8605fb0b7f065cf11972ee5d644a4ee0271beb9fa56231d97954964643a7ee77189ada562856006b069c6055c59075d144f29ac1f190faf35e7444414ae7428a9ea467f13454195db2c256fd2ae2c6f4c1cd6fdbd95caec5ba09bb7200208a64d58abed9531b1b0294006fd4537fb04c298eddc282cfafe0c1da2e7237269d1b1be0b2d69e69e665c27537b67e231231904f5417a31a453458e56b393e46e0ef60346bd4976c28758dd2aeff995cd814825e5edb41ea3f700c2f5c72a705bab95c361014e1a9f740a0b846c333a8992b815caeb6ee23d2e6d3a6cd729573f2ddf58286d890a9025965b7a2a567a7e6837ed5c0ec85cd792bb0baec5031e0f4fc4b75ccf5988be1265954f545179cc6ad574db1ee8d5ae59f6aa90a72f89d95b4ec5b77be99b2d96181cb32d9f7040149c113197d63a1b06bd4d0f9160358206fd3509d8236383aadba1a9d39695d2f6ae25a26e86b8e48cfe5b8d172c6455293d87d58da098be94768af4e7cd27e24249a53cca0c33036bf87d2223db6e9f6905fad608ed33bb536e0bd64b913b3be2aed75925f76758ca6e16ed472988b7f79ed0a83be4eb945e5409dbaf17cb75b9b40764b1db60c47da46ccec700607ce0802738f10d0ea300c27d9352f10bfa283d22d81671a9ee3a47def0e727ecad455f38bd0e7b6d8d1bca3ef5d9ea2e26ac15f55fdb8cbfa572b608ec272e4fdb005e1e6424e9958a5446ccf6b8061efc731952b5eed74526c9b04ce7319497064c0f68664e41f22eda3b4ffd5ffb2bcb55ea1136ea756e39b5c24797672ff44c3f90e965f1d87e7e99396393926a3ca65c1d054f4ce63462ad239f9ea7295a0b096718854909765412bf7ff64f1e21828826e4abf5d5936c4dd5ed6cc72d9433ce3f7be1eb2e90f95912bd7557fd470a70e81f389d902d3483e0e95e572f01257b6443e5a2bd01016fc89591ae0385502f83b809d1f3b99323ba81a1572dfe872ac4abe2b7117f1414f768df162ae46a6bafaa03e4c2d7eb2c083ed3e7208528eabac4cdbc896699db1f389bc9b5fcda446c50fc31d2b0280ebcdbc6512b9da5c3741d86d2fc57023d3c422a69282df1ac93032cd2a5bf9ed83a153c728eb4703e8cae877e523e17d02e5192ecf42490cc482ce874c9582c05e5782c972a5b1f460c9f1642dc5a6e0a550630645d2301633db0c49dea4fa3963729a6b726bd2c9fd1356d07a75723f6810dfee70885a1f193c972caafeeaeb680f31a816a6e458cce56b3a988329828512ab96d4252d1ff5e8f1fc26a175788296521d604d5d2ba7554d641de9bd8f56214f99bd5ff7270ff9d1d077c8c4af20adf1b96cf143a6058a6be6f59f526fa6063398fb3167c18ec76cb187511d96b74d557a72279b52fe53326c005be8657311d7f61284933e60d2d87790142471f62ff13a079ebda5b518f1a45283c4e6fd527b7b089324b04b972e101650bdf18fb205064c8f6e5bd5317a6378bf66f833020df16f4b3c59b448e8364724da18eba515b5720cadff3330a15c896e4da2219a3f342eadc9c41d7626725b9e84f2889e54dc011b42d5b25a4f54c710d23bf6f5e429bab46be93187347f6bc3b7c0afae1a48280bb96333e513f1c6f535d2d48939ff4bdce89609eeaf988b89ede7db1e06c572e233444bbacdd443e4e8bd1307f9a998b507fab80011ef2daea199b2138406722674486e7b61885e8f4bee9d627fdf447dce307867373bf4e37b1edededd847203e71b1dc0c1909554c59f5fa61894332624afa5c9223845bcdd6926f3d65121d5735c378f6597ad602ea5e0c7c96d8160b898abd1d55dfc5148f2908b9f6f72f4e870bac75157e2243ceeed71119f4600db0714159d57807d226d5b06001d72a2d82c0d699bad12f1bae8197af91269ad2aea6439714f17a224e86001c8531b004bd8a0ed624eca6fd365d0add5b981f2816b9f1e7e8f90f49b3db6f9396751e1b6b8d48d764d14ec5eee61340eca11a02f3a7662604e6d837786f2832d4418a90180db5f0e65fcfa416e6df2c94b82e9be401728d7eeab75013bcaaa14e6725441fa66fcba7b901994e53c42fb9e856f9b9db516be192ff7a45c0ff118e972fd2c98c650eb755c305a069045ed8151214905b4dbf727618c95e879def3696df16289f05eeb45535a8da0f34ff8c41b0291c211f0a1786ec44bc43496e3ae53b341274b69b96025f69fe10554c94fde5df53b721a38790e4e072888c9096872cda221260cc5ade83c3cf1b603f674ef820a798a3c21c07b6f646f78c04ba1726a7367b726cbb636a66cd4bc720f2d417f3bca148c7c0af5b3164b11b529f872670b5c844da17a01a90632ce3db6174bfea2f707fbe86d21d10db8a9ee6e9f728966560b6a368960c98bee471499959987e1bce0f62f54c2dac27a461e2bc372ce4e00b699ed56d6d955dc5a97f9a282d2af0787cfa89865f000377eedfb31728c05a70a857633175944e24c5a28d90d1ea74963abec56837faa03d6d75de97267630d28824104d16a8682cbdd3d1373a2c96a2c1d995a62ceea6adb26d3727283b2beabce1a680791ad7703306dbfcdc6e6a89bbd58fb9dad60f58078cd7562692c45de661eeddf94ea220857dcbaed31026aac45a4833ce2ed173fe90ed472afd38bfc1f45dc4b569acaded3047365ff85882abff3d46686f090c69f55ad721516d628842d64b31f9d0c9b220a776dd9ea67bb59510e390761ce1deaf4e77071078e4958d97d77c69df5ded202996197f87322a4935c6696b08807d4e09572905e1c146ec6ff99a2304ce12e6a52e166454b139e3350fdcaf23350cf0f4f6af1fd364dceb4a29fd54f26895ba51981f0f404fbfa86b770805a521fa3862d72483d828fdd0cfd151a6d1223b291aa1641bbeb3fa0026555798439390dd82172825628aabd23bdf688465a475158751b5986779208ae49f0645ab6bbd1be3770b3db10c05be4c87926b60bb5ffb7d6f89dd7b38e030cdd039dfd919c4ec26a72dd7008f4623ad3984cb2a67acebd023fff0e8bfa5c1ef3a44b0b6ad3f9de3d722ed03b32c1eb7600a87bd861e10563c1be613d02e234e49801dbcb2def09fd0088327a119e43d0b6aee57848ffb2a220ff5b77d2920555bb50955f7d8f29b444b39eca1b3e18407c89f014ad65c116434739c3694d88b0c17eb55e1b8856eb72e81c5854469d7bccdba6c71d99025fd0169ab9789a816ae42a42f2ba1c19966d8bb08c5f4a417d2ecdc63aae651753a242233fc91ce1887b103c3ca60622c572799a3058f566db73a2a748ffcff9cb60f50ecf7f4140099f870bb4830d2bbd721623a96e8d3f1adc16bd4030b912a99a725bb55ed32ae9276fc7afdbc0211972f8afb3243e11aba13d7f08f1955d9fbc192169a41a76a1d81291628047bb961c6f6ab32d4258159d17df8589f485dfc784a9a0810b01d11299844d023cbe763d9f0f593711ad563ca6c6f06e06804e8ecc60d0f68c57498a30bc888f3940ac128f7bb0721a42a0a2e2e0a9c776c99e27745e0124c19681836fdf0364db2e3072b99d4b9a51e2411f1d4c0970afeff7c0e89cefcbd52a5dd75c75ba61599d59543270599d88edf5258964f8dbdfd4eff4a8fb6ae8ceccd3b7e8599f79285c6b3149e8ba3843e632a6d1d29c2efaff73ea7d695509eb57981a95b3c7392a9b930fbf30971d8c9c9a4557ffdf4148655e975fc5df35a2158637909124a0cf1132725a1e2a915505a7188fb554eae928fad569498994242793b03858136ffc223f6dea754b8cb16a060302db1f332f3975cad964d74110f186f53acc8f7bdc0631726244b6481f869901dabcc0d4c3e58a07a8b0c6e32267038a72b07ee2b6498972541d83dc174909b6142214c349e31c423d22ac2e7860e61804e475b1e5a0a408779c40524880a7fe150a7ed57974006883afb971bc2d872dff85c34270374b3a784dc0ed292bdf430d3f265b1a968830ace10921be1a52ace5c93b204d7fdd7257d5f20b15bd6116b17472ce44b8a7c7a5b5e21006328a8360d3050cdd656661d4e5ba481545a52358e0dc968ec6a8321aeb4a512face567a2e3f210e3522072eacfc961a95152ca6cfaaae1b804f12158ccd1df424751df329998d7bbb98f321c2a124703639a6b876c9cb90dc108f96f0a3122ccb3bde9d44091459f37f46df1ca9b99202e531f32e69a0deab605812152cccac674b8f96caf6a0467f8da72d487a50c9bf2f21f98376c11c4b8195f75c504b017e0db1f21041c7536fce072282a19fcbeb1da5e0187b39b648d5da8b568b1a0dfefb14becbb2171215d5724dab4d6f757e6189395c0b79eb8e054450ac6f7ba82c0563bb6e1b530e97d1958689f423bde43ab1fd06d8d736cb37c2cce110425ea9f5ad2c25d843fdaed2972fd392aceff4a388db75e2930e84faa767136560e9908ec02c6718fa2b704c5720b85f64bed8d6bc82146d4351424855e86bdf0fcbbee9a378a5f02c2584d8a5035f2ee9bb78869af720f5ee9a3cf66db40a372ff8dec05d400427b669f05fa723e53865440e2346792626499a189fe467daf2e7dcfb95edc27ef75afd3ed5d724e8fcec4d78b7e2d501ce70f973c752e97543940f547686a6372dd83e51e6b3f725e561e3e6652838f6962bec6c88dfaef187727492ec9c10b5bfcd8c93edb72092f253a44e48305282d777281453a849acab04b30d8cacb64968d985017cb0d59fbd75f08ab50b6db7c0964758e763c7f6039cf5f3f8501e653a3d76b04da71eb2c4b33e2813cdc496e48f2f609c68d1967bed16af5dcc7f70fcd37e3de4d6246aa4b8898c98d184120aba0cd710d1ba338233588807328548b54be9968346e73caa78b111079f3e3ce002232355c73e12390ff0738c73cbe7bd92ce91e8c7248c27f4302c2c7407a86053eb8e4398a8f557cc5d59eb74e8357997075034756dd1e07c4ffec22ac7077c1de51349ddecc7dfe6dd96810324d92fc7f1eac91154bfa91888ec2cbe97b57314cc075c9d6133bce00f5ff34f53918629b8d6f52726baecf02051385e1b5846840d0036a6dffc430b88b3ff5c02260b939c240f42ea2a11b6691b286eb3f7825a8327b6399ef01bd5ec372879766686c1bc30b647295390e9762828fc1df1f69f5f83ae232d659201c51952c98d27835cbd6f562720681ba9c82fb9b19dfd7b65c376ef82f465a2fb75ead29dc67a1f6b45fabb572534ff85042aca9f74813c6e43b36ec50f4676f66277e377032be4c201de44172cdacb6328d6fddef550ebdfe5488cfc6575094e129ed97e25cf903171b25b90da7b3db612f5a964283e27060e1015ab3fe8faf1ecbeac7cdaf117ae0b793d272bac5e03590845ba7bfa3a0c276ad610a646b2d60ac6dfdab6e2edeab6be548725feae4fbdd222a057fa7ef21840079f2c63a3d8849be2f458f9c9c28ff66d37203c914164b8fa4af5268e8ef868c406ec18137ef5b450bb229c686e376813249a77eb5cae9a458eea5c190b367eca61b08145ee87e65cbf9f19d4cb1723f1b721fe1ca204093377218f825317217bc8aaed68b2bb68ac274510c1f06f90604665f8cd71d3fc731f09a59e9c575407f30d8bc44d8970de2ca26213f13c2575f724f088eb3a2f937efc4cfcb4f4e21889a99ab584fd4fa9de3b001a1db5243935c09037f3a751e927443a2ab59eaf7d73bbf9312e07579f6d95ec07dad793dd07243108ae96ab87a19b1c040008eb09daf7a8a81e7101593d10fa2a6dc65d4ba3645156b18fa853d96d46dd8c23492d1a57b038b94751ccae747d9a12d2d67d41c0c70f11e47f56b4edf445a69c456dd41bf96ffe7e7ca74700f1b183264bc06720f2ea5fb936d6264464c3951c6c962a6bce1940bad89c28bed2259006d1ea23354ede276810c7e1967b992ae365275099a15b220138cdb975e0ac700812a81723392e8ebf7a69613c5fd33596cdfa481b723f7845a0ec199f7e5d93630a4cf7297e3d9c1fa3dd80e590ce70192ef6b708361d0538994081a42ff39367384d072314eb980557f9c3c72b0d2072375cdc8b85be86222b9eb8ba568606e39404e7238c8e93b8eab78de9e8e080d793d54ddae81b8b00b4ddb1049300b7915d5f872db1c1066528e61d3bf7d3c348eaf618ce63660f3ae50ff5208c6aaf08164df0fb882681335f3b7a798e6208b68baafb73149afb27267f6be198877c29689c672bbff27982628f6fd002b99c42c32b14eb9d3c963cdcac7cd10ad6498c5e3dd48ee0ba31a2881791af0a025c1f83a0616418929ba75e74a1bb47cf1978430a058dbfd077095ed2431741f8e7dbaba00dcd32aa5ee781fe8b6e2cc2340c1c4ec4bda50e3ce12ea5cf69e65e6c7d74037af511931e65e70bcead2f9399b5aa3ce72ab565996c520710a12dd8677aba8a88471ee2a8a063aab7b5c87e1c78684175652afdae18f01584f978985fd883e3853783a385a581a9d774f725576a23ebe2bf316b16aebf2b127127c119461c937a4da4bd1117c49f225014183d55b659b47cfc21e1dd1b5d9cc71be188afd93988f524f3c1e17d50f47264f465158ad8241e4fce66e470cd97f9069dcf77b56e4c0c59bb06e567b15ffd38ea2aeda874c4226410aa555a37bb605ef8031143c82aa5decf8197add96024d7db0fe5aabc972d86e5d5808829b597c46958ae6f950299e254131ba31202e5672b5bbf49ba372970743373e161a65b35362961693890b9ea42e97e7562ccc881374736d6528723e1cb5cbbd3a26901fe1c77f8e4509b7c69132a392aebf5db7402af49a5d13692d0307328e20c9f82b75dfed10a1386514cc015fc77882c6426582e806b3157256aa299c1401cecf97c1ff08354d91bf8b85aa4128b1c25ac8a02a1ddbae2072a7143cadb54006701b27f0ae87bb8a70c4dcbee423e3ed732355ab1da56c03722e26ba6bd598acc67ef361224f60b6ce4adbfbd22b18e30e0c50cd4e47609572cabf105e8487761c4096e7180c915dfb0ff15cbd55e1e95fabbd63cf796b7d1a3735b03552c638e18fdef7ca52fdd0e5ac878fa3e6fb5c86ced83f02b8eedc72ad26912021e6bc81df3c0179d0c0e02a723bdf626a0cd5a732972bdd5bc6c372ce370be8e42cd0b2e443efe49e2f768aeedcdb431ac849eca552b86e2e682772f2f9768e422775ac50baf0ec35164becdccc7e2349704f6b03d9b9b02a49fe724029fea3b7df2f17623029166c7be8b8809897b26ff7a3fb45eef792ed4d9160b861e600a63574cb77ca32aab7289c39b4879430010313271e08e5a76a23dc72bca75e4f4a17f71e3468813ef06e71ab6a87d43cd5642b3bcb0e21eb1cc0fa721eb301937b826a0c381874ced3a2c60a00b94fe426e9cf23d0d771a7f800db72829ee7182ec63b6bee12226e5d5ec8b4a1c55e204ba23d08c0e94faa24b69872ae7f862bf63a77678c464c9cc39bf95a7d6951dbe696be9215ba0a8b3b8e8b2a007cb33cedf91da3d99d4bf252619b8f9b1ddf70054d3ca7a87db511f4beac4939c86a8219ba9758a91db466b1193ad9a5ea17f497597d3eb2f69f2cee474e20199161ac4499f502cff18b617b0b4cf1f2a4a5a1e577f76183137ed253e0c47220a63047222d0e84d51e57d4b7b069ff9f36ffc2295c788490c0fd288d69486b11da742f4ca5ae143cb21d5b01f14bee79675d6223cef794e920b4bf62646044c401b97f57ebe4e88e316e6689716e5e8874993deb0eace9a0a4c55f1d0e0372aeaf0b2c6dcbe63bc9aadefd235d0a714a683fd3a5826c08e3f860e0146c3672f88b32ab01373de7a77c4a625368b963d24514bfea8fcd0b9c6f68b48fd29c72905111d290b2b46da8c5d4839e6ad878b0a149d324da60a090d2ba7c4eb9027294845ef0fa1ebe9f739153ee519d9187a4245c105376476694f5539a35556a5eb5df2ef6ac28db1afa3fe3d890eb6e89fd090bf4dceee7f7d399492c944c3372e55a77c1bbc0b19997c4a12ccd9e625ad28e319e3531cfbea947c38807166a7233df4bd7805697dae0a720c0e58aebc4123956a02221669a1eb5bf3f25437b72c338932bea59d26cb54b20a8da0c03d7ef86dbfc7229838a81ea99477042a372f6760742229646768fc5c8914dd0b88b25f4094a28cd52244c3251fae8939e039f0de84f991bef50d520386c58625b3d6e29fcbd3d89a90b016d2f941dba5772fbbb003dc4d75a719f12d0536c96edfa0a79a00be5fcd871653091b8b2a98f724c0d460c708ad6671b2742e57c422096fe0ee43a67b372cd40db947eacb14f4ca77545241bcedeca8d5fd8c2899fca83f7a73088ab1588fca3c912bca7a5cf5faa4172f2f44c34c7b4c27cf1ccdd52552fbae4fa26d31c12da4a3b2b9a97e5125a0a2b9a0367f3b8d9392612ce8892aded2dad1e37b215f2495ff971b25396720578d91cadd2f93f46c596cca9c752bf7a236d22a3fe3598b332bd708d73fd6c174d731fcccbf3fba89b6d4f5491dbb4f10cb20b4bf9b0dd0545d866c4992239f6150209b77312388561d247ce2352e96604b9c3188797a9d7455455e60dcd60c5eecb634c28c92d5d03b8f71bda67bc16ebbfbebe1d1861c9e4cbee86916572e3c318a150fbc8582824717b6cc5ee2775a4663c7957362b887895dcfb5fe072f5a9a24b2241be0d668eb05b40d174a39558ec80738befd84b0f5d443b9bbd3682e60ecde0b01ced0558f5475428fa6e454baf1592e48e722fe24d9c39c3ea4d1bd72726b13fa839df19e9d2bb33890e713aa8404ca105f323caeca322434972b2345a9f00d05f7265baa68e6e3c2d4db1c5e7c3f7a521ddae302f979c16d77233c93e2b0350e5b8d17ef5b38079b526bfdea0262009ad42d8d81bef88dfe872e1d57ade8062da3dda4b3516170ef7d6e7f48351404f7b6b1bdb6c3973a87d726fc2b99a4dde5eb684f36447abe32553c04400ecf327f796863fabbbeee6a642890b589cabf3394c05a655d59c258f52a6e9116f0921bb44da7c3778eecf3b3e0ce73cbc274517b3a10532c2135ca54ce0161a4cf383bd63065dfaef64621072281732f576e011669d6ca8e504b9ee68f7cddbbfed1386f2d9233fa9138e927219432bf5177bf1ddf6c291b01093f0b4ad832da4497f63e1e49ffd5678d9706284788d89cb450e687b1b8822161949143ad4feff48146106f9c4e16ec26baf5d1080d8a292cea7b08a1e14d2dcd59286810dcb36e00e8dccd31087e3c47d0004c4fb1c76815e7fc0382ba1565d430982d6993b0076a0ac8410d40f4c77949a5de6d371f08ab5466e3af1d705d57db335937c69348e58b754f7e312c9c8dd8172bcd6d58f075ab8543ae68f9c1fa3ae6423152d7232dff52cbcf2c0165ce0eb35090a8fef7f7f21c0ffd4dfa3642260cf91a6d5841fd9aa6338cff572486ee972a17909bb56b5a6fc1b0c4f7a4d3e9af9ce573fa836d2a532da3e3806c45df572c9906043cf205ebeba27b656986bbdc8b1be416efc7e70f2f2d0d4add06cc172354176a59c82ea86ba2da48224d31f970bc907f44e389bc74b596f515cbb31721577c57298c0835c6a151564216ef7c124651bfdb67b237ad6cac8e7f2c7ea19d91725a2c07ad78d26d6c1cd7a4ea1696a3d2d41ec582d42c1fc5a78fce9d5727441bf9df1493515b401ffb1a1616e957f1a00ab7e45cebb52e0fc3d2abee2725e09f02a66a0c01f4782a7ed298ce5e70f5b03a282a5956c10195724e6a1a248f18a9df7de4b1af7a273cda6a2e3cbdf18e07b304b90500cea612d3571ddbd7213e6afb2a62fafbee61ea87e41ceb18d6636cb7ea5a4327507e4ece54ef5067257283bf0dc3b11054da378775321055534242f8c116fe81913c0cf47fea7786a6f608f58c74c84021dd6686fac7f913e1c47620fb448df8a474aba3147aff539947161029629691ef6252870738b7d4796c0bc78498c8ee7088ceaaf2da61d7278e1330f5b2996184cbb3a55d9a7a0cf1eed70a1ee52f6932820c1ed65a2c472f080869ae58257e71a7270e6891d18a9fa28a138a7131a97cc78eef84739ef722678ad86f2af3dd44e0e07fe129afcc31a8eb26157ed6df3b7364848a9c27319d07efc40f4d8418062f48da86a309be9577410d19c867fa8dee6410a570585720d54224446c3b7e9621959ebe95afc59663f71947f2210ccfda78662ed85e4271e7be568f91a47b6c7a4c7de9790a0292962c9628130cbb768dbfd9236626f373e4b26a00f53e0c5680e954f1ab4a87753368c3068bc0da633d2f53b4fe33372267551a283109c717cc40073d248de93ef478f43f6114c70d6aa3c1ff1f3127295390de7687bebdf1b9aa71f27476d41378df9065d06f1d6a4a4083406879333d82c90c46b6eb8902625e01228ae8dcf128010d6ac5b0791b570c78d3c1d687277e42c4de0ad3a4526a2c673c4c063ebb42adf4b0c3c5ac24bd281c510de6b723a8ed683fdbff483c1ea3e74f4deba23cf1d35a6d1b036d9e6949178c2296a7254ff422e5414a885c2c1e859def9b94fe82f83a69e69412e710963a78bdbe0645e47be8cd9e24e54d48365da67898fc7265730ff5ed4a57214f24d05bdd09d727d6b80a38a84c29644e027ef51ae10fb7775496e08998fa866772d0ea8b45672361806b38d0c561940cdae408d9f537756bae31513020c7993c95b8730a7ef726b8431ce43a3efecdff34715f82609cd8f29911083931bda11df3f348246a5726cb7c6ec8f7ed6a1fe17634b8309c76e312484314ce025189970020d9a5b44725e4d0824a7ed0f366e6305f668d2ca09f052f22728ea729707147992b339e272ef2d4bfb5b0f48970cb72ddd395fe2dbb52246c85a8eae7bef01c9189f95a26dd16cba841cac9e5ff5059c4f79126c0e5d4d8edb869b8d5cfdfa6f6d7d84c03f7fdb4e57f576b856bce91f53f0320848c4c15bede726fff96bb0486f4be1ec72e9e73882736c761fcbbe7c361d47c258cdedd03669b6735a78fc2896d2b26f3619456abf982e113757a4bec7f9a6a145776bda7978627cbc478b5d0b5bb90444d53660f0dcdadb22a7d8ce1336a62bcdd4d69727f1f534e7bf57b0baee1e4d38edde03b7203961ced0fefe3e7b1f3f19f85ebb4e7f55050326215c2d8752647245276f2c9933ef98aa3ac27724d9c688266b58683b04a3dc2e4ce3212af8a372662814d34637e634daa7af87c9521890983b3153eec3d9a978deb8af6e3cce725269706120fc2cba665af80788887f241100262fded0b1e9b2545e3cc6f74a72d4ee9fe330e63d9c778973daecc017d06151448d579dd23e9129fc474cd3b172890fa08d6903dfcdc0cfa60e3be3b2b507b549046696520d8fae1e745a29321f4552cc4bde8aa116f35a51d29706ca045dd578dfb149f9e0acdaec205a928c726f1568954490c106f4d9eb566fcf098882f54502be9848f797d0b8be6338f769b897a02c4746a23aea96fb63e980fbe6e59aa7f8501479c4e26f9ef8f0e51272b7453e2b8f72b879c494b6926f7645b3d42079fd43cd036ae9ca3444ff347d72b9f406f04f3fa4a9f11432872ce17872b818de258d1d9a2f4f6a47cf4f8d1972b9984ca8bc0b5b38451681471fb654f2082381f69c44a67cea26d99cc22c7e5cb1014d6803c653edde4437d4ba9416706c25d98dab62d99325536071ad7e876ff54e7e53b509d91bee67f6d8e25fcbae975f6cfbe1eaac2b04de15a426a9cb18204b73dbeffdf980a9250d71ade58b88a227736b9454a365f62074f4bdab8b7270e8f47ab22bfae8a527b76521ac115359c32e08e9a6761f75d8812ea328ae72e83eed14a7408afe6053cf6a21a011d6cc02345a0218ccc43135e1068cef7d503b2fb8a058ff679f63c547686b2d417126bd61b8a0e47440a7e5cebaa1f15f72a44977a198b21b9f9c4cf659cd3b9edded369d4b239141dd984e817a55b6b672b98e21ea1c95971a4d69eda53fafc3e61432ed99a8f90f56cbbb7ccef8dbf0310a0bca5083b56b9b954b94dd173223362e9ec88bf50036136302eadcfa6c0e7276adb79182e63cb4b59208c938df2545da4c66acfcdc7f2951528b27b3626b109b6c85c6a7e871e20caf2b2efc7a652d0b6b7802151add9069d2143fb8ed9672f01b91551fc1c1ea82864b1f1a68d0d4e5e391745b1ce5cfadcb13f90a035105f0683fcae08a8a8dcdff6ddd65a682176caa644918a12fe70f22448734264e72cc04ea7ac904e4264631edbb6fa6c82bfaf891d7d1f96af7d9b9b0f1383a26727a9cfd7eca1a763fea7f9e1fb2ee6ac5597706c0c5536a3293f5fccebea5f44f46632d1c45eb7302bfdfcdecd3947828905a333c3eba678e04bc039e22d56672375192e19021bce81d73c4a3cfac80b50555f17190cdf7413346ab019464ad267280686d5b7d2166c9046958027c0eb1fb16cf556a4c64cef03f838c2d7bce5ca77797e1a3dc6bbf0c329cbcb9058305bf3c4ca6d15c90bf05205e92c6809272e776b2a8ea344d046a539070eda63045c9226bb47757b78fafaa7405b8abba72ff8e43397e7c410153a4b7e48171faf29bddfaacc04901fc67e58e91a308d124941c1d792435b1294ef428b8f63969e14e328c9902218152b102db43d6a5f2210b8dac079cc0a4abfa91259f0325bc79af25d7f6e1e862981c2f7d73cf0ae17259afa4d6a505ac54dbf01353b4c02c549b98366363327de63f3b81ae58951c60666fa29dbce88aeb7fab51d220331440bd632a3b5fd5fbe2681cf972f3ac014cfe5f6fdec6120126e2b94122938db926bf5dfd48201a3a5cd0858b4b033b0c72d2e8716d31ded9024d594d3c853aa851aa67915d4d6c81d970549419e58e6b438207e781522d7d8ce9b8709692c340f9f231b3fd310a80902ae15eebdba1a665663755c6f28c3cd3eb143302913839caa49301a6d9dd4538450c166f9f7068726ce06f53c330aaab29cdaa6d86f5db38959fd93636b59fe7ee02ff912f20c17208d3f394ac930b5084f963d666aed1be3ed3b20e1247bb4ecd7099e8fed11f728b435e524b32c3f6a2a589665bfa4c7e60baa2109901cfcc8cf4ce47b927c4375ea4f21b3f4c2d3b7e3332ab9e5944b63153457f89df1bde096a74c321cedc720064b403277ad522a503cf9c54ebf491cd44ecfee2f108af35e03bbc877d5f5a80bd16496c476bb600f2c97c2488304f5a2f303bd28bc251becfae9c1f466f44bf40d96329ba8755040929be75fa130c7aad3d33c6dc01824cd3b0d9eeb22f726b3b9f72618a0d9d2d38136b119fcf0f369d743b72be37eaeca74e198be117723af9ceb6ff6bae90c1d14d8c64ad7d5036218d8183f2f4fd5a76fdf8480256728149e318910d39dd7cb500a778ddef4a8cf0a2bef8494bf3be2cd6a737650072548fd5424b17689bfb1256ca01bbd0b0459f2cbe952301b6db06ad7d59fe8572ae884cb7c98b5cfd3a611d230744254e504336ebe10d84afc64f5357e7fa7772660c00917bf493a945d04e8f51cd87c0bfc25fd7fc00d63eadc6d022abd0a772b9a4556909ef73259f4446c64015d51c3c3c05e58753d539277ebf561a91df721b2e2c5f4d9f014c2b1430c08d8f3c656823b1a7e62af7f9d404b06785d5091fc6679529c758062678b4b1a658b262a945c336b7bc4aa6f32239f53a1f09086f74bb8c5a7440dcb1a9291fcd1503f99f1f5cd734a814d998e09f8910682a057222144c4eab7860cde45d347d8f9bb10ce3129e8533b5559d0ee8d8b3cb8c6072b4922086f3e07bd4430ccd08650d915315a2da0205f90afba0ba9e62e745c0528dfc496e69c40f33ab63e52f8c981f2c9f66881fe4c93cd7b0665bc95ebcce72c057d935a98fe1e34abf80162cc6af77c3c0886dbd43fa217b96bf491d30dd72a05f604ce0401488300187544c243f3b81b6c98618919c8c24b6c79027f1df601882a83f9ec2f861a96b15dc0be5da0a48a5015bea6c418c144d907037be4f720c80b1dd9883663548861e481783dce95f2fbeacb6bcad797935404db8163b729574d08e522ce42a2d60360362112066a68f78e3e1e67baecffe2534dde3ae72d81b7f45c71a499703e249772997c595b9c0236b3db15f511597d338459daa729588a1b45f21ced894d934b8e95385f9a3408051afd95d2756e7a486749e8f725df96d57d250a11ef3880720ab9240ade1ecb8f0df7cc98fd2734d4343b832722056de81bb81926d28df4af666dd3e6247a69035c741502a7b737647ac682b096660b7c583df527656c5a4e29c4f0d91b1b559a5d14b4ec66af4a478d1570f314520c842ca77c6ffccc54d8613f266735cf9db6f3627c4f1f9d294333dd4ae72ee68709e360c1a26d6d32d77d3f051b1ade7c662d20bbf5e18796681f19ce643b94d8f5645e9f4d23865f660e7a613082d71220deb3cf2e0d2a97b886bbf5072897e547cb592fcc76ef66489e9c5c10e8206c8dca922be20236f7007ccefd61ac0b918d7f9693bab6ca0c39a23185e9434ff7a60392002f55ecbae9779c907720968fe79d432663f363784940fa8e7fd3dc7bdd92e1bfa949cfcdd6d149d09725d6b3bed09bd2593f798e02beee02271ea714adf7610e966ef39ac0a18853572fdd320fd9213a82bf87f076c1613b1a3945d0476d489ff330fb1a31b9e9b3f7215b35460456d464f28cd4da03c641d51265b1f26adddd02c7e43a8662dfd303fa745c99917e10827961c1cfbc9bf64a676fa6a217e15f6d89e11b2f52b87a0236ed4c1ee6ef0399e7c7d13659b6a97a3ce6f30863019ede231d9a4eba133fe72e440f9e1131ee000bbc602fa660a42f9e143605f7aa24bf508289737964e7e72f46d5b805442d4d9c90b2a22f67018c072ab86f1155bd9d06094ac79fdd55f6cf9dda15c29f02d1d2561083ab649cbea404f5dfe7fd44463c22c77ccd9163d7269df28c0d29696ecf9fc50a9b2cff34a19a7bb51f8fdc67e1741b12c5a9db372a733179d6606c0b6c927287480592a72b24b48bc50fa3d216118131cdd2221724260b0fd2cd391e3131bc267a3ae6384a8cf802936691c1ad2030e1e33a6c630a695b1fef2d99d2fede941e20cac9767cfec4fddfbb5a804f94032880012d57244a28673807defb93af0d3210371d68a70c5c9c73d865acc5eb11b72bf91d77284a7d952901852a67dc361080605ba63708ce25774a4211e658ce5d1f266d772b705d5ea80c895ccf063aa28742603c7762c359fa9fc638fca9eb767398dad6cd83a55a5f5f6be2056d5c9e353bfb0b099cecfa83bfe74a8af30b93f0e2f8572ca2f50606845cc36b70aa1661780e32c02266294415f6bb2c4eb541d18a9b7107d6531e782a41eab99956857d3f297870dbe7ad427467297129e92b211ef09728939b49039fc6c72227870b3ef27e8c6e22cd3af2f0685cd1fa2c8005c852f5eee9eed938ee133a2e985d099eeb48650633f0d0c41dcc5eb107d2786afd0b11840f8a7319c9d4ab43fffa88746165a0f73f561a264f611bfc771ffffdf812c36d2726bad6e80a23f59b38b0d938190dfcd78ed77b85128315c829137fc6104576611b8fac59d5ebcb7b43fc8d7dbdd06632675b38f50e8007e43917020eb064d1fc4be9e47550f9d0252574029657f1b9c90bfacca58b8bf8bae7e8ca8f065723740cafe8fbd5d2c9ac93e3bb4b95b829481cbdddf7a34fcf96aaeb6df9de11ca4e77a54d768fabfaae1b472a993d9a97d7b6ea67339d84ef7c18c4f17d65572b5f17fed4e06a76c28389571e5dcfb74ac783ae0207b342dc4e983514fa3f972635dfac1eb6445225362461d49940e07086535c503838c95fae5fc43fa7fb171f7c52501dae702695c73cdde2cdb643ea09f56268feffd3ee3fabd3919f8e3723d50ef76bdf733307659d8e02505dd8d5f6edcc60cd236f12ea2b63f7b3010728108a130dc8092d5db906acbdd95ea2a70693e2aac78d00a6752ece4430bd5725956ca6d55c9ed0633121c6c4e4255d6bf18a6cadc17bd9f544b0558f16e2f722007ac52f57315b03dbdf78ac16775f787894b00612bab8fc024e1f21c4cd93f84eff6d4193c5aeb4fdb33d66fea9447d6008173d3928c6314b540c6c92bba722b7b82961aa6fc36623b4a057aa19d0fd62d93785188f44a37e731a2183f3372e0b96041f4f45b52938502e5c793f4b7c47d17b82baf1bd84c2893bb292b2a0d2646d7a9041ec87c079d3c8d1ff02e584d2d812cc69220a07a0287a2a9afa072948a46a0adddd636dc68409a9b03975abcc02e75282b2405d108a932cb044172e5d8dc5cf024ab8a29c2559418743284311607b747053e53337d375ce746d3385ff5bad0d82a125c6ea6a84673e448dc554834af87615b3ae113bdd97b5a267212744d3e2d88fc50dd5bcf67e97d957cde434a90f4671fc6d8b083a81bf0947212ac79d297d92def46af1316b4b9531faf0efebf9ca2a3a013383fcbdc0aef4e7f526b1ee49439667603f0c448a5dccd36d7bc80b37805caef21bcc0ee2bdd5b781a5da378799e4fdb3f889bf0d433cca48912378103dc9b26cdce58e7f1751fa78b11ea3a18562d4de06cbe5835b1e2f48944269785fe32f402dd7ab4f4c65f26e2fc270d275217a1ca30b39df58d3d325ac48c5fc0800c3d21375239f2ea7213392008c40a1960239292f51f9e13ca88625ee9d88a6b83b2e0a21156de1772ce23e1fdb9c684c0949032ead213720d54d199d60488b71adde4d7b9a8b6f772762b78fa86f93dfe9c8d3f469012b57cd7b221d823baf23c09b414b412733572294de6d75f5077fe7fbf0e7463e44b2b4becd8e4ebb565d5e26f9bd62054e852ee1d660df4f9b29688c4bd456bed5dcceb26a2c68e9822c06a129b78836aef72deb865c4fb542e0c96ded87fc7621302645c0553210e697dfd8afadb3b9db70696425034eed35d57ca7ea3a061cac38ed5a6ab44a530fc24e367214e151a4e2bb8827ead57c08c23960bb9e6aef783482bf492faa29cdeee9fabafd09f856572d36771fbe5d6c06463cea930171f66806a98e3ef5ca2416acea32c8af713d6729a53e7de9a991d1d3b186085db1b657afa94ccd4c67ee589a22ee27ba412234f90dee13578fcb651201e873d72b6a20525dca1475f3ecf5a96d1da4b623cb97284416d6429e36d6c849877b352c221495e8b385e7602ca5a292d41e6ef9f2344bc3e3cbba261171bb25ddf88e3122d3c72e3a3718fd21325b3f345832c39ad60d1d694585bedfd30a383126479546d56a157053412526ce43998ff2a2b16bb729b99ef8389b7ccdf46a0a7a1ec547e338cb0099a47cb6087b0dfe4b665828e72c87523608cfc9b3af2bf65a8cfe426df40e766bb021aeb1bf262b5fda7177872fa72e7b711df1767e2faff935e3569db9914b3b190b2cbf837152b1f04059f729831e59d9a0ae95b8a8dcfe96a78fb786f42607f46f1e3f861a4aa3e9dae6810d43be16dbd6983a232eb251a1fed532ec0c91597aa2975786297c55d5dd18e7234970ee5ddffb241fbc5514fe7d76c593b53a410472282795ae7a7b5ce1f7f4bcffa270663e719eaa1fad80749f7dba61fa15586a7d0e145d9b3272ff288db72ced254f37386b81fd2bfafc84c15508031b33527d767cce0802e305b8f31cd55aa326c2bb5232f8f3d1e626b97ef695cc0f865272b0a701c64293b9f816bae72ae7eb76460a7bef5a8a65954b247e102b25911a75c61cb3aeba8b6c65587502db77db259fd446f799ad009e373e0845935e4ceabc0bb17a021d4fa6137a976115cfb901bf93009acb9b50c48723f4bf2a6650379a534edc6f5f4338db6c8d57236a75837370958a6e492d668e41ba1b9a87d4e9edcd7bfe28de0c166a1e2d072ddef430866686f10f296cdf270a52711dd4e2c362fb133c7aacccb5de9e1ab72f9fb5f0735917b5e2bedb72cdc87d8d083884a1bbba46614ae054d29adcd0972ecd4a098e576a31f433d357fdb418bc35a7967ce2bc5450fc98546aef179aa72f96c51b6394e8a114c134540c0e30bc5fe978b1e3ff52cc54898c851b0abfa72d4f9739bb3f84ea9b2dfe56e4e80ed6360dba71961e43f3eae16d184630aeb2f36fd595d2cec322606a0e2062d1500321a3909b9085108055c431dbe78679072439eac7aee7fc12ad30f2d949b9af9a65005c17c113c04baddb5dfb017a8f972fe21e1910dab80de695f18922a0c5d1f880227d9070188fddccecbb79b5f3e073398a32647bad537d82ec48c0847af0cb5e5dfd1367f3e1337709061d56fae0e9f5663359205123bf10351de4e2ea94f9e3ab4c8d70a8a7adb46f5a641f5f9034d53c2c779d391fda69c987af94d6728d3437b23ddd3768ebce9e208eb886b7230eb9d05798d187cb67b5a654b33aeccdc1c386aa3ef8db0e007b949693d4c726635f4125aaceb553d39abf1283341ef21b57de7c8c1732de4b8d9971d5b3e35bdabc485f0b3c69ce310bcf54e2eb1e52f5e696e7c93db03c178eb9620a0f36d2aeb1c5c31e2329a31c2e931eeadc9ac0c333d2490c137d4553254737dbc3172c2d1bbc6361e08d45bd8fce378b7400c477c28d4b39a0031928f7f1be3139214ac28d889f495af00d7f94333f3c645124856cb4fa4dcaf1019aa7683ae57b53424ada5ce0cf83aeb082a546e7205c5f07443ff81a91e554d67c02db56a42fb01581de4657a4585a069ab9003ba6952c6737235335a95264a3c673c85a3577772d391a1039a2ff626980d702af48a04472a772dfa7405521684c16cded83285729f513a331376ac5a99d34c9cd3c83fa35a2a96be645f1a88f5ef8e22125a761a87b3d3129fabd6fc4242bf71715dda2240cd21ffb0bf6f53297d6ebe2c92b112bbee37dadc30fd6226998e1fe77e681140a762628909215c6dbc3fac3c49ef727b450650694619701b965077bc92179da2b310b6c4a7e38aff58dff9e8fbce72707fde030073e431b2d5877ed2e7cc66a122d71698fc925a5456861bb4581a71f3f4e68076a95767ffb8ca123036d083ba6151b4445364a376882c0111ce3119f7182f58d6c84e1d4b4c0bfadef369cb66f1ba3da68e2d573e1fa3f928613572a9f2c67a0e911d4191cb604c6d42519f0c44fbeb4d407e5d9a9bdec61393c9720fb26bd924268ff22d87fafac73b0d80974be6e91be2fe078208973e904db14c5de36540a770f415f805489b4d1414385895b048872d3fd8935cb100098de03eb342a494c1927f7777035a3125052dca6b5ca0324588f06389fc1d0db3d0660c8b34575d8770504175ca5561a73064df03986c3728b6ed0312d4b27b4d62b2725247acf7452dd465054b23cd4f3f4f35371936e50342aa25122314e98f8205720e076bed380f028f194224baa2cd643af8e042d2c99b778dd8d43d7678a8092dfe4216e6a7e821d56fdb929475dcfe68c4afb2933320b89f3b8ab538d69104726629e88b4314557f5ecf8d0877f2557a291ed67090e09cede10638820e96c1723df01dcada86b2e5fad7ae3edc74b770a244d1da7c81cfda60a35be3981af272c042c42ea67f3ab1534ee1a6f3e442e4a56fabee70545aef39d377fbad61597225bac4c4d2700cebad5d373e43080092ced9621b316f1aac5e9a2b8f5b78a05c8efec61abb0a07260541cc18ef8161f5d33c589093504a76b3f93264654fe617b4942db299efd912dd21d73cc4e662618bd7e0217c55d83698b521553d8123574988db6b866424d4cb07f3fa857561f63373f7e8d7385ca4112a1cc932f8a77293598e991a29e146bbaefd0650ef2b3cbf6e588af5ad4923e34c354b156695287e8226c6e2820aaaa2dd446aa7e60c5f5aefe2f6c2c62e44f144e89bec6ca55e07fa58fce63801f3fe9babfa7058b7a10527e7d2722d631ddf9d9c2ea8a87962d84a5616b1b3cb705750f08f842328092298380f2a510c7fae273f4879fd1a7221750e0d6d7b7b31a3d8fc99e9581b76fbc5ee62d2a1224f5faab5e025beb17276785990bef99ba28751918552eb77ee28a995d6e7fbeadbd44b4293afab6345d8d28ad3ea06e4328d9561693a39b0e1e9cb8b79a4f4775cad621b613e469e237b2f67c31ae7153823146bea76d16b09223c4b457626a6704dd6a55fde94ff0b8d8805f219b602403b1a7e5a9135c50d1218007399861da764fd04aa4fd1b728e6152810c7bcc2bebefc0744a0a27b9d221bd208e998bd6561eb8fa4458eac720f6ec7a24d9ba54449d62a2a1668749afa4a1db091cee2a7ad8feb5ff94248246713e37e1ba3fc98d5e0468b2d0921ece02142b5d66297a54120a82c7c9f8c2dc5683ca3b5e0eb0a583b73757a3f4309c7faa565b520d3c48f91ae37ab87be72971bc59cab6f134940a3807d909b97dff5d4e1075125e1c136aa055411314b72f7f412285708f2b033d8822ee0752d209c0a4ff733ffde4f789884ec59ec2272e9ed275e9d6dc97faebedd3802ddb708abd04d3db8823894bcad55a1d7b3272cbf4e37e04fd5dad81d9b9da6d6c96a1d2f9a77fa052a18245787a72bdf244e725f4b10f705ccfd8aaaf0f77479db887640761accd12e5f1322e23928fc5b5a72e0a73a2ade5319516e38037dc4576857bfde6ba59e7d0ef14cf0117529e06812c7caf9ced17063969b55a2fc1965879fe53a80e34989af91cfcf5d4cdb454e72307af5ecb2960ddc9c74d125dd41142518b35b3bcd9f4c54e0ff9d9f36627102f316705b36c0005c6a5c12936037f3951e49e5514e708746c7fa721455f06b7239b2e332d1260a9071ca20d797e646258fce7c12c8f702297d8c086741ad54522963e7445b957109ef278cd71cbcb588c38b81ae71098dffaff6e6c81445790673f86fd6950f700ba30e4150276477ba5ce58096a8f2ac55194b3d5782fcaf723795dcf0fce82d08bfa51c2110b50f48258798c534c86ab1fd3dc10a999e3172caf87960267f1eef2853dc05668f4ee84288e163e1f7418aef38017649c63103667d31741549840d440b95a1277c9d8fbb8d4607f18d452f667cdf234b3389722761df757ea0d4da4e630f32a68f15e3db4558aeefaf1569e3c3490abc346151d9eb220c05054ae916865ab22240fa1ce04eafa2b5ed09cb05aa3eafd7fb50722b3ccf4ef615bfa646a9057aa30bb72edb17c7136dbadf7fa3fd85e573b37072a33a375c7089ac4d2519fbcc4d7304dc2655ab98866045a8a4e5b5210199104df98962f381c0acbb4619c8adca36ab55a7706e7911822f7a33d6f3954cd29a3d867e1c7a750c8f46629a6487ffe38b2f2fb99cbb94877b516f159e28d714597264c4a12223a39d254827f349120a26a60de9393e7b8d6b66809d35319d972c7290e7f04e10031c3a19578395185c5a1bc383b08528905e85b8f7a93cad564d69f57e97d2af4405bee9a45d09ad1f359f0a2a91d898d0e7cd6098b9b0942b8c72fe88f330d4beb0413024c1e8aedac27490afef24fbe9054db1d8355a90328272f4e8a20023e84b7619619fb58c99694ce8225c885cf638af5299725109288d7287e4faab0cd1d36b92b84be142aba586e346b6df18336873592ad6be27382c722ff663f14d0238c1da3c5bc82633d5e4d310ffc5a717d966c53656b749d5cf33f741003262704eac21e059ae11417e409d21888f832fe7059bd512d547638b72581c92b3372321b5e82b1b7785c31a1b5b65c6af265448a913a7f5b471ca350a72526d902e2a0822b7c11180bfc2b9379e5b94bd4f39ee83cbcc75da0c165572bd5d17bde42554965ed6a1ffc43b9b4f9a9d69d5b9528f817ff9e45e995bb2344bbec6b33a718295b1a38812fd2878523f124cda253710ee70e5c57b60e98268a01198289005a85319485937725b245ce605ad0a86a355666d24a25c8af6fc18ff97a6baf63150a4cec7d8742fe9653ab900565be1be80c6e896d7112f59ba720f02373ddfe1b1086f96369270deacd499433c30ab462d5c082ba9a983ab7417084d675771e62130b62334c63bb4db31129e8ac85a46d22e32ff60e09871c726d83a92f59cbbb4f94031cd6f1df6561ee5e8503d5ef0f360bc9a69d93e62a51185fdc14247a2e3ba6ff96e2291c5a92e6c34f02be16e725d1b83dd768590b140a1a72e90511f98c19aadf36d310bcbc493ad19d9765d568fdbb1269b96b4e272b010e4d1dfce254cc230ffadf8d1f295e406368e0fea7119b0f120d85ff4c47258671cd4534ed9d32fcaffc55b54f2ab5293072949bdc3f7913663abaaa58a51ef6b5b6da324a9f1eb3e618fe355a696b493ee6a9b156de4ab5eb7e8a8df7e72796e0f3705fd075f943e9e4e77aa0ae32526a1cb1dba55e8452428a25b987972ca46a60f4bc858c03299aad82fc2a60cd092e27c87e09164db87d0a097a28667e107519a3fa44c50d705af19b3a0b6344886c750e2714c555045d06e21d8fe455b28c385d4f82f7bd216ef0e3f97ee0ecd3a12dd1bf8069e2eba4aac32a566727693e0976283f67a117299f3c3b0b52c4d48bf6f8ac3580e277c2aa5071f9b72a85e3344b01eedc35a85abfdf4bcccd2b6a1dea3603a7f98c9ae823c5d351c72d46ca1513e65adb97fd72b681a22744a64a60fa76aa1871a96072da05aee8869e21ae419c6b51752a8d6fb45dd3a5d33d41e1da60196a6c500ce84687bdcfe720f0fc253dabb8286d72eb45719dd95245abefa82cbdd720f10e174328df2034b131eae8ec669c94000aebfba723f00a803d126491fc5134c145b2d144e925f7282e1545bf93e2323a1543821a97bdd9ffd31d5006753d9da30988548e973cb25946a33eaf6c261ca4c9aafd9b32e9e3ae8d23927ea046e178e6ea52d63de3b72a9853c3452692caa1e3a97c500a01eb1ed199000469f0a3fea7070b9f8bf44726363c831e59163995fcb1731ab45c8351318e90bd6b730dfca79ffe3f5288572d3eecde5fcb9bcf5037de6ceb34d8c96e8567d2c34887496664b741988ff3e25b3ca110dd97b7ae86690ef2441b20e87c0aac6b17ad05d6ad20a6032d3528c7291155a31b7242a8f05ab761065df0e2c92e61a874d8981f898d271448e3e773a8a2309f29b3f3fcdc7389261f5198ba07a4bb0e7f4d45caa7ccf14bca29f180a80d471a4af25611c7f3f02657c5095c9fcaf4e1b53a1ce1edf497e37078fad4f780bc00ebc1237ccf29b3bd33f6a62a52844c3d862d9eb84acf9b401fb9ae26cd76fa70203621978176f7764d98e0dc676e39c76034e3d09d14bf066c379c67209476b569aabe8569e1a1b8a1f895fb83607489b4c58262efc703a09fcb89b7253da152bfd93cb1dd316d3663d7cb44b64969545531d270a23057cf15cf7e572c1015f12bbbbf2c7e518309d75765a88b0a6c79695f5f6006e1525a401f6f27245a218c80b836ab342c4e5f7715b813f3a55a6c2c27f1c3d26e3177b348acf725e906aa1fafa86c31b8732b959253e6b84b1550e5bb276be3b8f7e971302cb2ffb14fb53ad976d3a3347e8d43d0b62a0a1e942b30e20208bc3f7e142e9a94572c7d560b460aa287899c68ca969492710586b22d42ff1791425fa0a2260da705260235462f6fa1013c2960981d2055b0d11eb6e0012ff20bac9d0b45c9e3ad50b5d6b7459db7acb80c817433e8129b39f679ccbe8c1f875817d415267e64c5072a46977479d3f811bdb09e33b65441b99a2e28d911d13c21837f8846602e17a725a3665b74c91c1edf30bc9ca599b412aa60f1a011bebbd9fcda65b4778550e4cb60683059e3a717d30a868d52de7bee977bf7a7a90a7d27b40204251a1cdc3726c07ee2d92b0459c8f1759c1f3a805cdb317d53013091ee2109283c5bea1df72650d2d23fc643e6ec2a909388b0fe2f4c6ee18f93f6624553ce2aa67f7ef037287b0aaacc9e1422522869831540c69951ff42fa625220126a1a85d217872ba69dc81b122742275099366cc90c11b91584e7a33badc0891c344af5be8a81ea02e88727881247c16307b14045ce212da024a83e27564d046276f24267d5144194c8f596c0d9d58936a2469abb15af04f57f5c2397a2774bba972e0387a628df972a6b161eafda22a8175b5c05584a170e5f685301099e41925a3ddc269bb58197223d87f119bac62634d91d1d10c426c59ed460b0928aa03684400c1db7fcafe72896906fd71c691c468b4f903efdddaa21e0b354a5bcdc47f4ffd060dac4b46723c6363b56c58037badaa07548c6352ad26390b3773286f8233310617fa784e2398dfce469fd485cef3f323b0fb4a38a82f89db12a16499093fc697df02f9077203957bb21a6ccdb9bfcbd65fd4fc91725a57c3f12071d94872e1d17a86916272ed418c6b56d38fff0afafb5712407904f2d829913d96c1c9e5060eff125f7b656523e1b4813a058b8d64c721ce5e3ccd837232b8f06886a9003066525a9d8272dc62a88fd11b65d34d89a062304f3d8454dd309dfd678292892fe8d2742f3f72a7c135f3c3f5f025e82817441dd9f23ec265fba923a210b3a0ac05c14b14fe725bea2d8c0317672e14539158475410fbb806ad127d4b7a09ef47a310094e04720aa252919348e0fc8a0dc81d9ef06be84cbaf028d1eab0fb22f89426c8e64d63066248efb4ccea0851d25fedadb61ad4ad5fa94ed058c4e1c4736ed20aa42572727feaeef90f90c98b9bfea1dad735e9e0680d16b189284aa930aa82dbb0a00a9d45a363f7fe449ae793ec70515fa9df15ed96d84abe2fbd9b793b498754ba7274ee889e79f3cd6da50c35f9fb0fcc282228533c5ea6f82c19cc293d2dc33c22495397e77386e7d63c39d1028bb9af7de22e3067606ae3e707fed99a764a8e7203fd8db28330415b8cb981705117d065b9e04dbb91b86f4d8f5d83799e50ef721b11cab05a79d019622eb7c5cede881568f0051680c77dbfeb8053fb8b3c1072a755cb0c1a7328681a37c14d811e415fb3efb9c8f08cedb246b0f4e8072ca12656ff1e3343fc52df760e8a523f3b3b2d8ea6f8f180a0f890ce65e12bea38e972f68b470948f9011bf46338e66b67f0882d60dfa89b265e1d7c01123663e8c9483edccac32a3c654a29b820854cd2597e3fa910cd80e2ac010ef86e5bb97e92720eb5a2268e79425abddc48338f76d2097397bf92654679ba4b91460aab00f772cebc45dba355e5ea6a61d1d5687e75762d1a9a8d4900f6f71fb9e70bbcc707722448f46a703c969f0315d96a3dcfdd9c269e930b3fe874eadf55250934eb217231ae60c3920ee0ffc68fb9d5f336d93017fa9735bc1bd279999648f6e90f5d72d9fd5d8951c725980b57e691ae10b72b2e547197b9c045d89f0474f19724ea72c0edf805806e371a7c02c6ccdc322b89d6fc828a537e35470dc1043124bd4b05f0c8de1f36568dd13d0e496a5f89220e439c67c35bd2a7b2b4f7f2cc315636726faf25b98653fc0d17a8d010e4dd132e4172402d7e34c6eb9788675a108eba72b3e7f28d15904acff7f192568de95556869423d7a4d9bbe9d4b30fe613952568474330b4d4fa7ffad5a6f3398b01a04c05658274cf2c9821e23e91395005f0363177ca6b10d7bf3114d1a4754abae0ef4b94582af37b5503f9e5b3c82295dd720c74dd3f782b98738c23855f70037413f46dc7bc7e477d0c03db252b875e65720194ce246f713972beaeef0c90c4803aaf40a738a6750ba2c4f2fe9479d2b9729ff9e7f62a8742754ad251b8ded10db5227cec7045eb25704de6f4493aded272e812a2f6ea2447acb5a1835d8145e688d43f70180d51c5557f425c9e8653873c0b36b7025d54e6856bd3cd34f0ab2e8e5482f16af8c7cb411b16beb3cbc61e3917b636c3a11f660bedfb41103d573e4b508c5a0f7f51d4ca3cfe9b844c5b9872af70e5d4381fa1a0cdfb8719b1d138e8d52981df000e8b0c27e211e5b8846272980a1c3dd5699d470510bf594ac1a086e099a1cacd8920a14c1ac11462d9aa3a9735cdc409a9562fdb42b312d8531a9cc73f0bee5ccdf254b804372a79b87472ce36f697357e0cd045fe9be059d4aa579b29eaf508df78fdbf6259c81f83fc72926a4f74ba0a1c59beca0c200cefec4cb9fffbf4c03b97eee7b6cb2519a4251dfc5064d982da5d66549eff941fb9593feaa3563e8eda72894c5b4a39d20ac47200857a679b9b5795ca9649443ea51ace2650021918b30628dfeaa3c6fc3acc728d32439d0121a2407379bbf630c25d50e3d053885a7f25a0e8353b005b2d92728dcfbb7f980f097bce86ee08faabdf9ed4da19e1a7194a5ca786d6ac663baf612703e19fc02b26deb28791179990a211d68feaea5cc65b1ef8d06a221cabc254346f7f98d7644b0be81f702a19d14aa0cad6d467d7f7a97a261edaa7ce822a20d91b92a58ba11c6cfac4d55762843fed7a9a0746e6200b0417d2e351132d682fc989e87844dd4b790a580900c32806a63502b5600763718ed6eef288741e537211fb976ec601deaa9a38db132d369a055f5b28fc274883ee792a4637a49c2110cd39156e15af0a59ff909d6acba352bca12d48218e4fb5bed4a2738bf887a872dbb6fa51d0b1d55d8a7af0a69177f6130505616ba13d64a6cca65a88ae54502a8f7de5f84a7d526ef138dcda6d15eca4e44d15d56b07f80f1014a7459c686158345dfa177ca473fb01858947e475ac5b3b6a9290c5bb1cdc1ac8de586f37a869c67ebe41c15db18d02c049e2d70e3d3e1123f85264a03ce50b9afb6492590455b9fc82639ca425b649cc7584d029e211c70e26ac68865b8a16afe3fa7a337513e9e0082d68eb6696280adcc43e7325c4633bb10206f6fc4556c1919d2d04d072f70d69b6cabaa2da25ebea440c7b7899df0d94499052a9037215ced6091a13725a2c78a4b4f238dbc2d41994dad7663d3fa8bf2710c27b9d917ecc437361f972db4c23c91205ec4189fd43e33dbecbc2d02c456aaafc7e89f193182bf3ef4472780f10917cd87d03e25938498a4106ee3f0ab91bd1acb4627969d081793eae724cb00c36668e599ba703aa0fbd4385ee06b244a51e05d9a40851002681ea3a72a5fd7db90880a11283cd48d56597b43bd70e3c62c1a096050a611601c21e5d72cc84a98f7c2a5dbcc0fb5a41b882a0dceb5421c1bb34f6585a8b813b75576d1cb6646635a930b3441615fde42bee8aed543acf90d12870c67da8b596bee7fa44ab1b8daf17aa9dc0269019586f3aae7db8bdd010585f878208a1d427b31cb372abfcec7878f703960cd5a830352cc1de6f2226be2a29f3bf26bdcf4cf2480d01c2360f5eac61a838e4226c1fded3f971fe49570c8ac04700bc7bca1797837872158fb1e1017b3c2a83529ab745dee839449c6f57acd004b388dc12a9f4d83e23f9a80637771fd294235b5dd9ba2132350038facfeb83eae19c46a0ff9f3a2672435ecc272eb95763ab09fe8cdad5786b0c59ad5d118e8df182dabf15e9ce36729e82fc8eaed057158a1f4ee4acb4019c29090c2879fc722932d82de821e3aa06ed2db3322b02c493c137e627e6f6af027bfc51af8dca1729b6f1d328b2c0f87289d97f9601a491671fe4f7368fb788e81e57b00a92027b8db29b1a39d76b2d09fe18de56634a8bef507ed26fefcefd956afa7c3319d16d0f7937614f71a558729ffbc745f92fa9bd929411320523284b39b80ce9c8aca17b9da9a27a73785c7203dbd885533c422991ee5038fcf2ee5ec463c7efcde61bd760dccd8932f01672a9fbbd2d356c1ecbc15c83673601d699a326f2591f4cd065df548a6cbbee8372f12794de31112c2cb8a3fe110c1711efe7fb4785da4af5d30ea4acf131c4a27205262376a4f8a7aa154a76d65265c75b0accda9a55f0fd6843c5dc73c0120472261af7805a7f91e481855df470aad2a0ce69a97ca5d2f391e3d29c2ac787567252a08304c09475df8afb5d1762d5035dc388e0f6f4d5c2f59f9acb860d2162728b028c8f7d8903be4f4a29e0ddd0139bc79d936c35f93a657297273a45baef1f581cf26d394aa226e958f16f1c6756c84f6cc28dd59418f62619853a9487b44f17b92ec77b254ca5494d5974c92958a08d36b05f36e090c711fb1243dfc1eb72cbab7aad2e85989294981edec23b6f15723c06ff04a84960c7a0007b0491e23d80c9f330e142ceea3f90d749ad839602e03bfa519928c93f1994453260f29172cd75303e81c3e939925128abc31ba2d5fe335bfd3ac1712ea07c06930731c1350c89e9f99d8840af1a19c2cd5bb151da8ae99e01250b49dca9bc3b8e34d00838b1ed139b76d997d4efb13be041fc31b9dd2302941bba6496378e30464d4e9272a2a4ad67bbaa3a13b521405dcd4bc27c867c462bb1befa416c592e5ca68a3e72204224f0e28addd79af1ae5ea35ff9bf29dc4a33659e480d8b2da43b7c3056552b7f4d7f1a966cfadaad6f2c463fdcd5d58b059b447a907127e57673237b0272e9506c557778061e0e4ba6574e690efa3ed97031473d44854c7eec10c996d350961840f6c9714bfc76f30280eac50bc02c954a38c0a775e8a6a2f685f9395b72359c39e439ceae8af6d578e6e33a6b5d18756b9512a93aa0fc14362f8f60ff004dbd091d1379e78926937333661105086f7b070f4809fa34da2c538146540006fba0333bcd9ba893de7866e89b0892ad0535eee2e74f8a5bc3e6d4a6ef919744a1e89c89f9266d90282e0e8d5ce7e8071befd32b9b7dafdf16d969114522ce72e31e3c95820407af7e949d16db536b6add2148af9e85822544db69c10181df72fd718a3bd52add7c2e822d7c3c3fdd7fa34b42ca51dafd0b40867f062cdb6972ae47e025c75d1e0c4f9876ced24624fc5a5b4c724cb0e3a451c0d58042ea1c7298cea5e72f79d1709b0e10aae2bdbc3c3f1dc9168288756dfb86c5aacc614738f35a4520c8d91ed5a1503e573080274bdeaf69d13f8eef12a302e376687cee11ce4c87ed4cae0e61187d852fd24392ac0018665c6bfa46e6d53d12acefc62f72d6a494e591c60985deafa19c229f5e4bcc0181f52db35e071f47c6a1ef87246de97a3e9394f20d5570f2436369ed5b0070e4a7473ea205ad4ebe1ff8fbfcf91772f9482bef444bfc1e20df547df211132f1e27f02fb83f52a30371b3cab97d721b7fb640594481319c0ddc69b1c16cbca5945bd0c612d1d738e337bfcb98313717b10d5073638a4f50531c7ae8a7b97a06552eb4bb24134f25b84c765ebb5772a7593acbe4871700de68632c419c7147bb10209b378fa5a5353273946e648d728c24052d2fab71119c88affd8ed9ec4f7eb150efc4eebaa101c1ae32e6317d72c4456cca78df61c336469f8aab1c19c1b27ce34d87499f55f7f10a1d51f74b1f378930698df95b48d33ab4195a42672673aa7b2dd526ae9056e59efafbc15b72a890d6cdfb616cb688e6881a27303b2bde8c69f85d8cfd32de370fc070f91c40db77f4d7a6cada93df310299d8c120c3852f3e62199ae9af79c41fa41eda6f72438ec68ec23e22dfb0cbcfcab835eafce6ad250d2762615d6cc8552b21d0997263273f655f19127818bfc2274c1616c33efa774723b7b79045b2b0e279a3dc723260f31c1533928333ff207ee544bc93a9f460c0f0335f7d5771a84f61a6b472504f9cfe4dcbb38c9aeb5f6a30762d106d605e15f98dfbb8aa92f86076b79a724dfa0c3c649ca7c1360f5c41b7ed98f715b7e6d6e927d98a7c96c35aeb150b7231e38091113e8707444611129fbcfd997b39ddbb1f14a33a6201b0bc395ed1721280e25d5043334319c3a4fb729f94e467b05c45f3e22e681a1dd00223c65b722aee2a8ac4d52286633711cbe4f8eb29b34825977dcd485412de1848bd6c1d72eb5167d18fddda0260d35b393b72ae5edc6108a3678286060b0a710f5a860d5cb7295a45fa89f61ab336e4560c8f938030e53ccd2eb2351effe5bc5ab1155c33fb6c134c202947e6a05c539efcc381e888a9e6fe4a71f4cfb2e3a3058709ee72fd4cf181cb7dbcb73ef694fd0f89cf7e5c733b73e3eef28b7e447bec13934872549fa55da12db0ac29286548b50a3cc21d47e77583e6e85cfd1d3d5605b37e7282e886722064105b4c6beb635706880e09b1bb2c1362d5a540f0e229784ef77280989f1a969da4f3da1cfbcfda16b8f39066b1de21106b947bc9320bc31c7d725cc2ddb9f4d25ec6457763bd606cd18ae70db5333eef91da41d179ee37de7272f83db049a62b9b84e827998b9c0762c6f9c833ff046663357eea059dbbf2c7722bdf004e1abf6b981688f9e4ef042713c421525292a97f27861076f553be7572a28b84f1f5fc1a06e6aef5f477bb372799413a38be0e1d20e4ebeec3511ed87208013a8408e0fba77a8d7d27dfbbefd6c79e52d212da34110578e2fc3718f97237a1331fbf4c82846923c428eefbf68a955d0ce5461cd98145bb2c1492b1bc72b6c24c706b5b9edf2f3e8a88911e82779bac649828f33d4523995c207e851d7210a9d07d879d706cb39004523a86c664cb285aaf6889ba6a413e7d9a3c8696729b9e16ae30878d0fc054345b985eb71e44647c97c752d28dc0547c4cf1d36c725f25e40333a4069f17747f91f41522d1dfbd3fbae7ffff3bb9916d938d18381619da9ff462d03849fa66ff14c10d13dc15c801dc5dae5651f5f791d967bc6437d0f79faff41540f6bf8bce4b113d61d250d7fbba783c008c6055e34d6dd9b41c0b1caccbcd466355d7d6bea3c13818e6c06067dc40e819e4da52792d04bb10728118038a6e82fc2e906ee5766bafeaa2b151f4bd9524ba7a6564356f76ca0f51f35af038a36c29fa86853cd985f3f65c8d206859e1fd3cdf3f9ed040972ba3629b4d22f44c8e35dbe4be95081fbc446bf818de4f4f03e2503bd418ce366957729b40197be621a268e5b87da78f7243001c4c9c7789aea57da605a5e8114d0a72839c8b977ce2d0f474bd04f750c139aaadd6c372d57c66a507f1d2afdd741572ea6a23ba77ef740a8d694962a895447402383509bcf0d5fad117df40179b4c57a01b9195d15e0a068e27e1fe2291b0fa2ffa9c4588bec4c6e191c23176bfc372e686f0e1a595a1c2638642873d955572807c1f3375a6640f3f677604cfaba872bcf503d2b056f9c7658eb2590086b07802c83e4890ee24565d95a40f5ca38e727a996f1653ef1a14fdd5025e2d2ebcfb9cd0a7cb01d65e8303c01e3c740fad72cee5f551ad8eab4a5f70c5e262948669aa61dd66d70f6de81425411a64ffa0438d97ac2dbb6634dbcacbd6f0716a9e0425a8d51bea3e333cd3f1a6dc0ff5f072496e9fcb5e95e2084034f0702dfe8706f81f5b6ce820861eabd7ebf1320d93183f26fba8c4cd94d2ecb06e04e0617c06abb004bb27e53ba9639acc1514332600c6383b931704a8517e030af6539ec1fbd9395c48053fdd91b28e93ca04b770117d6636f8ee69aef7cee57e447d1aab69ada5607c30dfd3d00bf5a19ca9286272d8cdc64576aaea72af882f3008bf4f1dd782e6d3025ea7459b5a96449ef90d466a09113d0c547cbcf9ee92e332f09821b9e8ed2f8e8a0b54f4245f1a6338dc37aa253695ab4521ec8153e6cdd17215456beec4dd64cf3ce767f03c1442df95626be28b092f046743af4369feb8ddb194912fcb488d32a372de27cfaf6f8316115f3b5df812bac0a7a1cb343b81354c71b42835de379718e6e7769720841bf97208ebc824d0de76eac22fb746f24c07f3ddc0534230f3207b9d4b659de92014233f5ce54cda1fd8b2ec7fbad3c40c86c8495c3175f5a311574cb2ebc629ce9119b8bf5f13d79a6438a418e24b9a4d648dab370c79bba33ade431696780e70d572c6853152176f87a20e0be727a5b5f8fef6007f5dbbcf98c47f8b4c05b173c77232276f8391feb2e11d228a7097eb77662177e8a13ca0265ebad65397d0a18d47c4df0b34aa8441233ce58370d30da585170fc0eb3b3ca64b0a8a1f03d343e57264c4b953d3348c51e3a2fbbba04f2fe3d1be0e9ef91055cc51570a403ea75c0a62068dae4af22b0444fb2c196535cc55687a61c187606bb5cf65c020c1689a72c59b2bbfb36b1e78fd53c4a4cde0c66ab0fac56cddf4a1f950010cdd34e3b45e04c2517eb4570d995e4d8f99494c50d42c68641055d8ab6cc8ec892c979cd372f25ef0f8242bbeed50c56039c04f49504d654aa0ff13c405dd2c0cc04c224972bece42d9029b60f0dec88238d34e1aa6a881359db527426696df3407e19cca722d4914efec49aae63355c0a2e84bf04e80aa7e80c7ede0e42fb091623b09cd00e9d6088771b4defde8b90271753ae461661e91d25662e340e9bdb2aa5ef91a72a50b573bc8bff7fab2bb88946dd141ff9676d45940ece901c051c8538c4c9772690c33773eb770f4644a3992a72e34e6b537aeeb68f3e08595c68e12793328018cefc0f0d8ea040f440dabfff39c9c1e975d36ec940103ec0b6ac5733186fb72f1aaf5f1ad70c03eaf24ece8cabab51def8e2bee0efbe0a331e2bc65bb871c428acc2bd07ffd8b26a6e59aa3e0641f037f4413af971556fe5a13c19bb58e82728f7ad633e541d198d6c3076ad1a17bb5419e9c82c2848391d91f42f836e42d72cdb2d8f20019f2afa526a255993b39057853a5e76a3edae069aef20b574ce24147f6002c88457a72b269576c2e0363e0c34b62d210ab98b0dc87c438e9af08288a79c835ce7134bd8534148cb6915b356853d33553254930201a284a697d7872985310a81d0b45c41bfb5b88d0a12821506215bba23f3a7c61f9f3c10e9e601ecab41487f743272e1d93fcba7ee839d93804237db2ea47fa3f3dee2beeb80f72095e2c5cb9103453c4b09e503c52801c920fd5fd607178375159004ab4e87272f0aaa00e104c29685372686cd4164587f7cf80187f709cbfea8bfe863e3c5972802eba5adf13a993222516cdb88edd0550b4c67f8e4d07489381d7307bdf357280f7664633a7fe86a373c5f0d05b9e96f228b78d6f5489b4e0d222c514920172c6b13d57ab0badecb74bac67130484aa3d1e8df3bf29c9adbe5f1c32470a4431bda7623a02ed4b0bd0a6c6f19619f5b62d63fbfb336ebf73c138fbb18f8887726384fec1efdec7c1a016a83f5b341338bc69d6a70367580774a0960b946a250bb9eaa5174171d130d8dd52a7e198f3f785b19d93f9987afdc4589d08bd64195bde7cf09b93061a5df3f0509c01ffc217a98d35feca4348fd40aad2eb51b57272b7991f3219a460105093c095cae4c035ac7bb597aff6f8db0cf40a129be93f72066aa9b52b97865d6dfd69bebf3869e2d1e8e3ea27d56d17f43c82adce7c6241fd9870437b2a0a327b83dbb94d0b23fc005857aadfdf5af418d48903da7b47025e88e809687ec90044bcebcbd77096c056e7f34e94fdaa83f1f2b8964e26f14d288e712bea427fda1f2277ef002f57515d0b4bf6aa5225e28ad7459a2721aa6fd4b4fb870e6e085cdba99226e0625ac9833572f234048e6db3745f7b4d6e2d122b99bdd04c8143502de8026b918240b55fd0675f81c2aa49298dabf40495af340d0f685f77f763d2dc243ce8e38da4733dcb244575eb87159f5e87445e858a722cc8dec1a064e16350bf22a8669883557fcc85ad26c132b8676212b296b1b43968b1890ce39b308b88950848e7d01bd488fa8f439fc3a60b2a3f6106a517c666631800e7363668cf1ca5dc9353207bf5631817393407b69161c4289b95cfb472661105340e0e71117466a99b724ca2682ccb3e3086e8db77db998d8171ca35724eecc8e43d22dbaddb9278f52f6b719edc5052732137858794a98171d9f53272b8b215f2dbb82d010bd634a1f8a3e615b9effa296c0c1da69805ff954b30bf7240fb51bd898ec74bb5caa2184ff92eae484decd67f56fa3bb5f8e0375647cc48890f43eb4ae1c0bcc79ec4e41373bdb598eec87e662f924bc205a48ea1bdc843157344a9cf6a4563f1e695c6d5c3d62cc864ad0d5f0bc892f96ef1f7a05fed15976bfb8d57806b8b01307ed0b60c480ff93e58399bf1d3ce4fb7855cfd18936e8a4070f310474e824f127ef6adc4a44aaabe8741d9414d7547cb4438b16f50724372c450cc4f4b6147923530b1fe7143f3c6affb9a3b98a52a12c5cfbc9d931dd1316f2f6a3202e404b20b805896cc46c28589c221d86198d43b3e91214c4c515534691d2820e8d48c14f4baf13ccb54e3f524622a5917639e87eefc8bec1172affd80bdf10d1123a19c56216995463b2ed2af38b1e9f05b9a99c499afeca61d15e491297e0762165f4e6e723a9d420942c552664811ae378defd440ef35fe29cd3bfd55403bf00125e25a556a0a3eabda4e0b22998e6f5573a487903f93ec72e583057923d178f6aa4ab3650ea7af76b3389bcc9d4a1b0ed187c775630b2372a6f65a1c8d21732f2b2768b303ca345875372e930222dd3bbd627b7e4cd9a95c74a71e6f23eeca8a7e000da2a2adfb1165266dfbcd0027e9c8a3983c4bb0f4184035b0bb43347f4bfafedd21466fda9b1d366fc9b5bafce93c5632565a4d2972a84b9556b57dd70ef3060e359a671adda2fc22eb4b1869f37527b91742f11572433731d3e68cac8fc138536666e83ce4a5f89288df7d531e2a5957d3106bac5f63cbe81a80aed2198a995ab9e692d0a08b011aebacd8cc38a9f196f9ec8558600c2bc5ce73b86483f89884a8837fca15ae44980c296af3ba9f4c7be679307f72214aa45688c094c42afeb0c1dacaac84ce50d18dc7a73f649f5f90a6bc5f1335210319d2604abc05720b9a102f9d4ec7719f138a27c615d2ad2fbef94b5afd047ae0db6c14025b17c5376336ce7805a6b5f71cf97eb4401d7e36337d081fc572a88e5a989bde0d1fcb86bda8c93c39d5545436b3d0dd2de0f08ce0b965df7d72f644974c0305f8916e1275488f590253c6ca7fcc16cac16a2cc552055cef575c86b0768c3318cf1527c692eeab7418cc1e4a336ddae7c957843f6814c40ae21207cbcba565211307725e5399206c51c2e2f7153f6a6542296d262f0a5ecf3b72e32880714df4c8e19ad2005b71b5ed83340b7dd332051c337ce1cfd5f3d2c615b4ceb85b1f6f776fa5265dff57cfbf563ff745482f03ca9789cc189c540568729b877376ed93f8245b5b0b7701d24b4bfd86b48581e6a09dbba11c1ed94f6372ddd5f7532cb1a1caaaec98a8888000cda60dbf3cc70ce4159ec03c0be1f52f726ca02adc60b6f9125d5a29e5b94fdbfd9177cd51cbb52c1a89883ce093fffd72eab5e03aaf169a066056554293164192a0e3f393817453862e49a987358b7372b16d275858712db1325630208d139843b7e55dece0b6e62a58554ca6488b5f2c5e721f7ee996107bc2c8ac854bc04d9543da64c86d26d1b2dd57c645a56f5041b19426f51491946c76a81b240ccdd11516d773159a9171d7eedbc0bcf8a7f972007c02c5747c170300465f0fbe7a7fdef4e98c71278855a69cdfa9851a88d264eb568115823b31e9eb4a835010d8daa330c0be23acb121a6e9a51cb61951387279d66394320a9e40b9079059eb21b10821d12d451592cef0342b580ed0100548d0ce9a126e1a3f025a0107dfe3994f4f57d7217b63dd3edf05188ef395437b72edb13f23578ea2a3a6f1c7cf323f99d299a68a2677e622363d28e80a167a1826178012c60eb7a33e1afee62a6f12114f0cb2fe18e5fadc91eff4d8a140921525256cb7707fd9b89ddf2c811047b469a010609d7bdcc4b9fe45c27aa2e416db72e199a6f016f40a9405ef4b45d8d02ea288a14438e80f0fdce3bff739cce7a272fa2e0dcfa5d7fed5cc7c32ddd4199cf4240c3e6ef5eb4c986204b49cfb0ac04a08d056fc5ea621285dfdd2478d098eb346ee39263e60a547d215ce24932c896f215c54b6497e04e9439f537c2c30bd0be24b1f0a66a2414cba15f0d30a481f72755869fcf206bd044f2a3cc0d3eb2a8617dfdc59f97df14c9c6ac70849783172fb3832799a6e796a44b8e281594cb7b223fb596175917d6399f985aca78fe10c5907e03c363c1ef2d76b373a5a37785bde8d994754bbc4100da82656ba6c8872948014b37dfd81352c436dcb438cbfd81649ea059b7d3fd0e487d9c72edfa672ff3d8449022b6073635d1f013f60473603c8e049b4e3f1f2c12486211cfe343f9473643f84de21ce0325d794e39b8174da17f1428f576557ed32593f4216da11ff04d670b1249aeec694b4b24fc044c27deb19475f055c3f9bbafb7902ecc57295eed22805e7dc5d5e724084dfccc2e248843b6c05df80be575ebbbfe4a6ee722259ff89f9176bb2b78868d58281b01a275e7181e270edd7d95370d5340835727556fc228101c6b9b0464589d6dbbe894e3106e2f250e7d302448a4c167f9e7284b8f72688a1a1770e0e340bea078da5b12ad7240376d44c4f58efcbad879372d623ef2dc724674c6dcc4bcf2d3acd1147554a3458366bafc6be5717a9574372383538a0c5c6a3745878da3c93c9f01cb524e08bbe49435cb7e4bc0591bcab72def1374406459907fa67a27c67276deb7b00ec027c45765ca0d89b9edf05b71d0d2444ec444e526de63d949be3838c826c7b6282a24b747afa86328cbc631104362b36ddc4a24653d4727b7c50145a521ccd6b57d5e2e8f8eefd584f3737786c0a43d67722e74775334aa1034b962332d7c68515285e40a9cfda8f52b35a79373bb53c29a58d7735d5f9f0a96ac772d5eef1299204def2ced73ffbb2117c0772536bd81c044f03c7cbe044c8aeae341b5187ec4c2866c3f8222e7969b951361f58bb9bdbb2baa2c0bd566f53213968037608ef666884eb8cd8e87ed4ee9ca2724990e7a865511c7ecb8c4910af857a602d01eb2466caf7a5b2621d0660ff796c0b92d2e9db8ed0ca3e334a9961b1f75db507b1dc9bfb1d9f4472a7b518150732605b3591bbf31e45ae4adde73193d2ff429ea29240806cc6a4d785e6d58f1072909a5bd80635c42f17574956f60f168d31f573a93448fecfa459f5746563b3727619970d6a171d0e78f55912b1b6ddbed7acd514c70e7c6faf0bb912455fdb727f6f01712c1752c8861e72b026fa9c25c74f6d4b494dc3c578cb114973f00f721f435787f1330a7b78196ce9fa19a7fee69073ab2b337918c3c73aba57b7096a5b2ca10eeecbb504633f7aadf83469fce006699714c3c7dbdfdd4446f049d15eb839035e33ba8edef9a3bd56ab38340017a8b209fb32c872f39b060f06cdf45b58b8243d915664752434110df1251fd80c24b21c2916ac6775596c30455d75288c215916833423ddc2bbf4b304aa4b08a15b53b35ef17c67a5029a54f4d3a035e95a9c10a1f46ef9b2049d4b8361bf45990bfd5f00ebf5eef57a56fbbbc3af724340be6408119effa26d83ddf5f04cb2b053f5311f93c4b6fd2b8b5361ebbd72fe596e31eaf269c6415418010020e5657b7cf708aefd45e3f95a232b78c1ec72f8985059b7398dfb6ee506f0eb1e58f1ed825fb2656a95613e5d9bd0cba1555a8aefb11fd3674fdb8489a57a9f8bb1e765376d30a034e8378e6fdb0783302c5857f7f586f6ddd5addd7911976c4bca25bb9c00528813cdab75c8b9ae81cbd47275be35db446400ef2f55319f0c6d4a5d4d79bd6c1903606d0e1b233c077f2872739f256a2f6ff828d8194103004fef6055ea8f871d4a4d803065ee012242b072f69ed20a6714051b1727959e156d1fa3eeed37b5c4335c587f171caacdad2072ace9552980bf8b5c42b72f02b283db49387858fe5d6466e7ececd727ec3cda72c36d55911361f13c5c751058239c38b787c0ba2d16bf1286ddd5f0a955b10972200c0d853c3b727cda7ce3561b9cc5ed33257f809ab29e3b50453b5e31ea6372473837b3bdf3e3f78c0bb93a7ffd6eda62e2f1da1916a819ebfe84a5c56ba9722ea35a6cbbb2e4aa688b7be73018584cb2bff9f7ff0a430d05b4abe13a010f720c96d7603ae6db55b577cad7fd4d4762ae53164459ad8e5087adc55244e4bc72508225ca61a811743252f52177141022dcebd9ecfac91ecc8377539862133c72c682428cbc4348fc60702ceb76b73bc8237f1eba8e30e3d3a34460d34af45b539596a17eadcf36e7c67bebec2b64150756acc67198d3433d7654cfa0be822272f20d7db3de4bba4649c378e69c94d1d907e200abaee3c28435ed4509c2ee217269f3aaef3c96beedfab9dd9c78966336bafebe2acc247dc60b4352223d2f101bf71ae8485833c39757ba117ca456cff8f178fde2720ad9284c63a783aa363c15f6618b72be973f7b36bbddc70fa41d0afe22621715044309da60446edbd32a4c86d56613a7cac27a4bcc7f8bccce800b62da16c8c4d69708089c3b7950d99c72ae3086770327917d889b0340e1849de5b8bafd130864ebc70370295e67584872bdef7517991ed85065f797cd7e852a25ab2e0ca5a8e999f3c893ec9fbebae345120dd55f2767d10f6f23d96273dfc14ba80cb6afb767b2718345b6001a6f32215467f91142c5d50a4e8d5da9bd0e8ba7eb8468d7968471349bb003e154cf7472fb9dfcf5a733fb5ba5ec38540b8b01d940c7287702f87572888cab204850c17249852322c190ede0f57993ecddc3d16e60bdce083877dbefa872c0b2dc86d8728020ca6a2cbc19d3f0715ebf3ef9df4b3e01844a8c885af4c0e9f186c6817372aeef240301eaf68490a302db45340ca66d7546319892124a5eb02c819d1f4d7210c27ea6c04eefe4161f24b0ff48a8ce1bec3fce3dc89301183a53c8fc0f13729a8732f565d0daf7e4b2572228643cf76973ec17dde25a204417c097ded74e6b1892d1f99adf819affdd58ab2d24077b080166f9b75de6620d3c24f31511a47251ead5c29738fee8e389fe90f486305145b08d10c4444ae4136a6243c8fc0072f61bddaa217acaa1f4b80d2821927e5c28dfffc9ecb0e1abb8c7f9e6137b977219db5624de7874ada77865ea5a1b886837f94fb8b8c6612665cab9fbecc2aa72d9fc86999bcbf9ac2b107a53284a19e4a2497a9bd1ace430cb2ab79fd9232a54dc5c7e236e32fea98ae6dc4266cbb8f1bc2e86e9a4d01ed17b347fd35e513169d6601af3af4a56d30e435e2edf1992e7c0628e439cd082e4c00e72bd141279159f578f9cae052356c36dc3631fe95f510b4962a71d9a123441e9555997e6c7722315f250ee5ab963447db72822879ffda2ccd44c6c17a19d7bf9d18434c775377a6b240df0848f54e4c27a25a6de0581eff6c4076f7c56434bc1103b087eed6e3f4d1f78d953884ae0173eab1504b530a6a56ae5e606eb8e5e78bff58702e41e9fd4b7c92137e202045c2d3d34b2b97c2ae53a80cc831f84d11fcb2c4bb6f8303a8da5b8891b7a233ac52f49cc5a268b65a6d2bd916067c43c8453be40fbeb3b81fb5576f20e327b8d7d8ff4600c16eb5be2869bfc1a325447069280a3e22f72afa200521c27afd5d957ba93c11ef20dcbfabbc3acbd798e98a5c719f0c1c672a92e2bc0dfc566d34f0e3bbf81cd95457daf5d956d5312cde3aa0084972793722e78980a4243426b57477aaf670ca49247774e424b33a4ee2e0942252986e9729e36c4bc40106eec94ef35aec4f75e2084fce0ecc9ca856d783bf57f39df2c72e3e26274d5925d583064dd87268ae9aa84ed9ceabf138452c843c6aaa746367264e918890199121951f80166745233602faecd99bd89b2b6da28356761a529723649df67ebfd43d18bcfd78937cc6cbcb89e93571302969ec941d062f181e42241cc40c15909be33e99f2a43d995af258cb79cd9830215a8cc9d69df7d6fd3260bfa66957f6f961b96879b76cbb37334ae8ce305f2194bad6df82d5499c6a41215475fb9d56fb9da7c4bc24e9b9f158697b67a3d9c9682e53df42a63e30777722da470aa5104d08ed7637c4d1d5adc6af886356eba82e79b88922fa52deef7641b1a21ebc425ab1a9e92ece7d36d87ca42d0027bf3558f40b453adf655bcfe728e45a7902320f4c2601f18cf1de34a5b5956c2028570d272df7af6cf6e91504864190db395ede7ad9e60814e588d715520f21b87b335c4e8b9666f2c3e155d0b609bf172c1c696443943de1efbb2b8552a16d057122799282152279ca618eb4b9d3ff5d4f0a7835c7b44949bcc2d9592d2f00a85352ccbaeb970479939e175723aed6792800824446276eae23fd33bd1f6550b298cf70e684af4cd004873c616e4bbaed7e18f99fb2bf64851158d4a8bf6944a1b81ba8b45f6abae049601e27274aeb06924d80099c48abbd54c44ae4ba1e2654fb0d80713c4e35f522ae2a0541e0240d0ee6f6e3ab80f346821055b6eca1320fc967bdfecbb2c623ff666d62c713454d7a9a8a90294a56c5ad70c3053fd823f6cc7248de609200be4b730d22f91c57e5c808e5dab4fa0feaf065b7b241f8eaa3735f40a9cbd916814cf7061728c65ae7cfb600e24acf458077b04c3582e48820efc2216f9064e2eb94dba2f1b0f37a12f27d7bffdb548aa18740b41fefd8356d3275b478163b029dc09d4ea372b9d436cdd3308968d0224dc91f285e032421d5b5fcc95e97b6c247b818c38038e0e915fa03a651a5795acb8e06923d0498e5d6b5302a049588a696f76692821eab8183b8b93137e2d0a89df15cc01c2dea70beb58d5d5809e1a50d42840671aaef25331ffc3cb39ac4e7c841e319b18e1d7340adef8675bde895a8f77abb841a5b3fbcccfdb27094a62b826a6b30be29ed6f0f995f879b5de8786c6a6aa9a2933f0bb77c4d59d78153fc3b9725dbbd56f8306a6d60b75ea79337f0cc75aec72593f5c9a9162e0d3fac63c55e78337592f1ae7d7ab6871403a7e48bc28e874648a534be4030e04000dbedd0c698044f42f8ce9e1aea094afc1b5ac370d832172bdf7b5ec17a9d1c4efd54705ca7aebdaa8b1b1bd7729b3fd769683c6302ec52f4df71dde019f43a14e18f652d7a45d89ba5dd0b79c8f16691427022f1a9c955fb6ae04b6fa89841f2ed7e8643bb75aa65cca16586b94680d8ec715989c66242f4f4c8c678240a4ee1ddaf76ac865a1f2adc8fda19cd0918e9763d15490c21e72e8d613a671baaf4eeddc6e58548e09b21188855e49eda351b96e483659771c72aefa8bd697cfb7c5f720d0185dbfa8011a54b9f1e863b094975adfa2eba72972f23d116290929c28ee64a9fbd9bbbfc9d0cab1d52f6e3a4ad248b4bc08f738312bd3d2d25178b7511c9b6cd2c2d8efcb0db656086be59cdb06dd222cb78e6d72f509baf0664ee8c1f010a15d4184829138fe50982a17eafa2c9ace8334fc73723841978be01b0cc57dc9f12d3949b75539ced2a8d531808bd249e27542f667722b62fcec4a79291d7fa46e2dd06d55653b32e6b9659b5a586b389dc62530b2728851151efaab874d7e8be2cb9b06a92b4be5741bd5d7a9da7854df9c78fbbb33686165cd8acd45c880176eae8b68beecd9cfde064f2de4abba8c3e3635460d6aadceeba545929d0895d49ad03ca8d2f43ef4b9a35c95c2d07b639b6c254a8672b7bff3ca5fdcc720f48e915e8c682a476730da9d54a8b3c95e0a295a679736728d8eb81f7010d0e3235c2e4c1725fa752ff8d2640d28b1db11f3add41ca54b18af471a1aa03020d473e4d7f8cc69663b613d26fc21178c57b94a6da9b3842e72420577583d3bc5e28001ebb1d2d63b591f4e0e0bf06ed69315a81e9b86c8652f59f3217a6a5f42e8fcb5b4bb3d3f7c9674a7351aa22fd2872ec876d03acee6726e1eabeb8675a08dcfdd30a0661adbb4dcf0870534d79f1849d578b107e0e8685dbc92ff7f79529f0170bb6d931ba4538e400cf1d86af1b3c176f3a0221f57170c94d55d4ae1dac4cd7be196f52d59c0ea8554c61fd643c04a082b52500b083b37ca4bd588a63b1e015ca49ca69325f2a65e373c5db2398e75f133718e3b0072cecc590b1e9831b9e3ab47d1ca388ccca4a104fba8b589c31178f608002dac277058966d682f6237501a41ecdda0bfa3759622cbde44953ac3cb4b421d8130722d50949b5fb2878361c891b35a71f1ace26be8bac22dea34f13ed80dbd198e7246beff0573118c65a661104f5f1b052d3b61a011cff9458f02fcb62b7574e351b1cb8298d49eb0999e0cd59376e398034b5135629e042654c556b6a8bee00772496560555a956c2d5ad154f0ca91fda8987a5ab28f5a3b802372a8778afe32723c5b1895b6b850b414baec991b352b251bc243fad7fce33f2a1f4976f5641d48c66b9b54f0f595bf577e1d669a786dee3d740d2637f21d8cbb3e7dfd97d6ec333f72ed0c9063f2f7103f59f87bd7e53c4528fbea89466f1ff0a6b1269e524e4b5dadbf0dd8562ad8bdf81f469b04ec23e4bfef9404341fade0ba63bca21277722ef9a53ea2196e58b7fb353406f6faedb1b047f955e1eb518589ca9f09ddb172081f73545ab4b375094a2c19c10d70e987753d20ca52cac9dd93a5926ebc504be9928bf59ff7f1dc006d81844765b0e4ce9d43c6b54d90d873d370353afbd47230884d9ca322fd3fedf17cde77fef62b1307f10dac92923207cb0350caff85720284bee889a51b0b11a51e3ef7a2e5f3ea41652e7ac2117dfe50c759fbef51725af4b4e5ab0a8a42edc10127c766c977acacb6bde217cd3f48ab64656835e340647121b61fbae6dff328f7ec0e2eea1712ca73a96b518088e9041b0cd66ad272b846253453513f2beb58ec3b62f81fde553799d1b3ad94e9905d3e34aa70f9720dfc30ca1a4aa2c3c9fb81ef5b0813df40d099c8bc790faec7cfdeef41743a50d4bf760d25d8be64a8ccd584bb569d00f990dfd2be4bd904aa9a659bfb4a160ce89f58a4ce46a383b728896e8b0ea8901f3f055cca00df09b55e87c7f58b5b1ddcf85372ecf35a1009f03cc1299f69f4407b59623dce357dd8bd6d458c9f0f3f719f308f7a595e102d06f25c45498e6bae323ed0a8d052d125963a4ee44149726a0930be62271493e6063439e756c064f5acf41f923efb57c18ee7d64c1fcb14f2e86c7111f1fb88cfe4f514bda1af28f9bae13a6007f5be106770b2b83e4b193366456fa774997519af9f54e6b989a86bc62c8ee0b0529b8b221387a018a360aa11d7763bd97243a1a3c7993f621bb19df6fa509dea947d8af48725beaa2072cb7fd385d4a182d978194555092fd496beb7f9888507598d589e416175f56b6097eed55f04adc6dd11636ee221c027c810dec094759519d50ea210ce24fdf71f43427531933740f9c9235a18abf9fc66cc4f36c99fd25268cd3f9329058cf1723a76542b3a65497f52fc73746b33e2baa8d9e792afe46ff39f3699c61c22c5159d68ca24fe91a8b79d9f132475b3df77ba392b57aa91054decc15d737fcb7872612b3e21ac62278fb170d604946f634e0e89454da34971492952e68a4d6dea725a3b14f82138379b58a4566438a2ac81f11756815d24166842f691e5ec7b905f03b1af70b80b4325da803018a56220738b4eae140c581a3d720ced385028f272b7c5c87b3c3dfaccef647b78ac9685b174fa2df4afb31d96a42492b33a295f723d0ea00380fa4821fea6be7376477ad7ced856971219aee1abfd40c9e68320072a95d4aa34f490b980d6262484d475959807f653174d9a1a944ed72fb3038909621d8059f4103a2eac4ccf550528017d033ec32c1d89574f24db76fc570f12720710d5fdbffd48d04f921e33eaee450d0fc5439ed08a1f3d3f02800d95a9dc3538a70e9be4a6539b8370e25c0eb7040284331e9e0df8a436b0447adf494ced0d848878dc68b0ab57d9e426b1e3d4aee14bbf4a572a0e6975fbb0446464032e7264c5a794f35b4ec4b58e2034ce1468ef55a660b7573c8f5b8fab5b70512fb772b4c6907cc32635c6dc8f5fbbc29d3d96bb5c5138e5f405039f4de9dd1662ce725b1eee95069fcf9f4c4afc0f728c40a9df89994ff093d4c05cee5393bc8ee4720ebbb23dfa3ee71b4b2c40afd274b068d2d27640bf2e9aa32b5c01bdab04f472661ba72a76455da8cf1024f2f72c8c3f61350b63eed5d2c783b7903c3f9b483a304609ef677d876f9b13b192c00bb41236cc0679a1b8ca84e67ea1b08c1da1190826aa75ae83ba0870667a65c3601002c7d6e75318a198e02d0cfa1d7b2a7a726dfb4bf3845555c57e57e13f3afea7ddfb26d5676d13660a707f1ea38db01b08880a2530d42043ee4e3afd7f5c6497b5c6020876df1fd8cdc242c0addf79f172cb30be271ab8b494f8b2519dc67d16158a47830c681b7cadd4ad8307ae7db711d16b5a55068b715ac5535135893f46571e670cf63596ec7db681d1f037ffa172c828dcb800faf3520633873d5b46e9ca11c41f9edfe34754bfae2482097ae47221eb7d70f32a82efb962a0acf58411d7ee033a38bba6ed473bfdf95f758c685836f0ea2540e318085ba974bd6eedc5ea3b7c39be859ed080fc6826fa02b1c2318a8d762f36c9a3b75e425ff2630eda2d3f6da31c76e9dd6f9bbe5ea9d1cc6c315046b58433cf4fdc897ff8f06b428ec208110fca742cd8d54c5d1878ec7664483d0bce71c3252112f1bae756128947b0024eb48ab0f34053530a4eb3d77bf07204743389360c2b1487452b6789caba5963da035ae5d060f0bc737e1f6d660772813b25c8624a9fb9e0bca6897423f92684249552a8e6a173c8ca3cbd38b4a41fc253ccbc099da1bd5701a21e16415c723d6f009c4a9463f7cd7ebb9bd17f40721726f88a57d56534fa147029f011e22e8e84f26722c87592e5c2b908fa4e22727030ca33a55b2bbd142bcfdedfa8779fce346ea4b369a15ff7b255e73b51126bb745f3c6d975aaedb510ca47163fe83ca09fdf1f2fce42af372fb3ed78593f724d378a322e6c241f487cc07a2a91e70bb7a04d09d6b206a56e017aa5d1102b32dbe50f5528a06740c4e59c0f9026d592d6fd3f26090151509a3fc82699a1662e8fb85c4961d07c11c73370a582a63c8c1b20b5c0f495636221fa556752eba8215809934f3c0353b7c6140dcc3e49f73c75a8678d74562b5114430b9903e6a135df97eef1e65c9bb46afccd60efa197194048e3d4ac2ad712a1dc4609412aa572aaa204a30bc175ccc33b60e147629778b9fc5ec6b055e318a662caab398507725bb51d0cea4e188c6ff829b0dad30a9046745a9746a1d11830cfe2528b9ed9726ea50afc37b7535452f6433f5d876a557188f7ac1732a861dc15984f33877472d825b84ecc7e15d2f829f2f3da974e88e0c177209acdb2e84dc95382668f4832260160ab1252265ecf33f7dd77e0eb97a8f56e882dc4644ca127f899423c43221cab27686ed17b2eb05756b61c105cb40b26958639a94aab0250e319ba838a6af916487ba1f2496dce9f6c3edf5af6da0efc9c8a0bb3153a5832cdfe904eda3f968972a8577a59daa2697636de82953d82c08c132d6a3aaed32fe234de9abe23229d5e687bc415b83129d40b6645e86e268c2fe0b1d1e1b4ec6776268f55ab71b4251888f0a8312b8167afbaecb178fd8527ecf7cb44430173e6dc7c8f066a6cf385ff2204ad474d9c04ff02aa96bf6a2cfa3eca227dc83375fee335151c033bd49cd805e9ebd21c0f1dec6129261a021300c4bb0656a4e8ce22ba4d27584d1905d737807cc3bb85d0fe37f41241b76319517706bea2b100ba7fabebbc1cdb728be89c1cdce4752498b903e7cf86109124e9662dafb9b6d97c023ffafdef6d4387a1e6449da662ada630f3c128ebd6b35c3c04f26ae34f5c47a113eaacded77218f1cbf732c6d18a4a2cd423a9a4cf489c05770bd448d1cca68c2e9b88264857ff0e2f5c9f27df8ba966c7086b582c25e6824a28f64c4c7ca3fa69d1d06946721b00e161fe2ad7715428f64252a7ffe745bdc7e259dfffc47c2bbd3678251643663f0e197982d3ef52e16e69e2cafcb6eabbfedf0dd342fa832da7d3512f71692deaa5cfea3ae3abcc2be630e91c78bfda4d33a8f86055d8de0f6d14772c7a72bdb8fc263e6b1bbd9bf4720cc357d7d53efb0d275e439cbfe6425206b3e7003fa722e47046c7f8c7bc8acf0d35249b89039049469e790c818fca1c1b1c7ce272d9c3082e89c526a3da98f7ffdfbe7e6831c2096210b0e9af77c2d0c59f9cac721b584ae02e047dd8245f79be772dc95bd067b5b82a037df952b7c8f1e922d96e88d0b749855eed4cf2593837d433ddf4a1b217aabb8db859c869fd257cdd837267930d6f7848d705e446e1ec6076c7a9f5477f099393a49ea4a73f89fd7a8b7209491d2ac3703fd9f72f55ab364f212fc8b74cfbe381eb66cdc1d53bb978355f9b5ccb452f09d37936d61a5994ecca5b4b7db178ae58e8d5b06bf30df0213c0277ccf913b56e82482afc4cd6b787c69529c978cf03515f6d51a70cd46f75927209f48b8f1cfcf3266ff09d147e785fb94ac72e90bdbabe5a73f05472f8316a464e27e74e93b5c0d6cb533415c567fdc9c39e37640eb598dfd1f44dbf1955cf726949370770086f68f2326161a69c17a809ea506bac71448adde76a0118ca8b7259d26e802ad3935429cd052d93b5d75ec6a33333acf52f0981b6036b4e53ff7214a717ad7ba937ac1dec4c5fec03ebfea28a7a99c67277f924fbcb9a8f8bb372d14003fbaea7c31a21491890cc2a597f8e65496ac3ef89f24cbdc3afa386cc727035f418f6bbc9c7d60190900b6e49f1ee2473dc97bec9d8edcaa776cc689b726d3a8efd83dd11b294b251b17d20e46627162f648a421b1462464b8c3353a75c809e217d9628d505bac2537eed88556f16b2562a643d8c94334c4cc5b3c299723ccae56a3c98947a4d6a4e48a660503215beed2910dab82a802a232361f8ae72abd6da509f0a1e9155e7d0dbe21e732b4fabe19d467d5ee003ed695823e296725b059a8e31264a9a0eade3c0df3bf0d9cd96c7de7729350bf3ff3ac2f7d3785c92af4a7121b0f4a41ab0a60c09b9a267c360fcb75ce3373fe53cde634b2f4672d005f02c353cbb617d8977886bd47180493002baf52c65e61f206c7739a10972c604c9b4b0326da95bcda669f1859df86d83a089e442d87a9273bc118a802f15cb454cfe03d11c817d80316e686ae598f15c71efa9ad20a48495f0f7e203c334a29159cc260833ce76df75f93fa90b1b95ac20e1da2ef37428c3375437fb9a72c7eda8044333359a5bd696505dd3f23d55152f4f227ea82189323119d91fab7215e4c8f09931c40c9e9173a974f6792dfb0f2ba8d7afcce484307196d1fb0e724f87ac5f535a1144131df55020ecd1b4aec11efb97bcc59424269e3d55a487728cd186aecc7434d0033d968d1aba671af86b98ddd5b4f8e10529186a29f56762c4c31cdeec9a983707a44b3cc1cd1539bf22b81ff2aef8a14282273c01bfc17203c7d720a62fec8cb6615500731ee5bb7bfcb81724f26f14d97dbc8aace5be7236be8f3d03c66587830795fe99911db972641e6bc4a4a1b8eeabfc3cff22e4039a24c95102901f04028f682ede866593fd5187590616ee7b269baa4472fc7d409b68df7183d21f78daa127c17978ff62818e0d0e7339711ac08bbc6a9f4177725c8c02e4487add6a7b397043d7f31dcb77899a3ca29eedff5322283ac982df690c62fa8f549e83a1b8c26708f3eccfea880dec0f424046672a210c24ddc6ae0f2a14fe4b822a5f8ee29a2004085d5390f792a321e04f597b4d9d0f0327271c72fa4d0d1279857e5e0b73dff26dedbdac6015cb5a893fedfadcdaa8235a9e3b3598112005fa26257a84a349ffa3f19676d296ef39d04972d306fd0b7dd3ba0f72e85c691616fdc6373c29e05a2613ebfd06d0c46c653906dfbd689e50d010457248cab5ef49334fdbdc6d9804d1743e39e9e191e2e6c37750cd62dff6aa480c18e92dd5bacf65bb15c2bc6b147905910ad5cf84116dcfba2cd3598ddbd5407672093eebe19f0d524a6ff93fd153d7437a09a4cffc6e4924baa9648aaf6daa8372eecd2dd192240269ac51d122324d942d8c45b6e72cc024aa0c9758b7f3ba7472544a2ba647d1985f8ccefd523d07e48d92b845733d9356a4a83e7a1372cbca72963499533b899eebc6e4fd890cf1194063bbe47d1edb2cebecc524efcba6eb72b38beaf0dc6b1e1b96c630e14933370bb08c306026435d00eba8162273bfe3723dc2fd8ffbcf4c1d16aba37ff4856bf1a65aae2b5724211e4af6dd5a661a18678df32c080fe6a06ba2c521d48d79d166bd636d91f13b1d1be6286a4b5c583872f4a393b19fe9860ffa7af721a883bd8483ed2e36c014b973605027a757d8ba6c1f5a011bb1183578adca21bc337f229e49de119f8963227eaada8ac1b34890724f5112f092674cb6777b9519f90d8edb31b3d1da43b8ffb3ca22b5986e3df254689000ffe8544b4839e4c4a3655471bc76bc6d05fac276959ede00708fc94c46767b497a04bb36a6700cc67d1ab91fe93dd733643e9f2e717d051898d328523a47b31beffa6953492812e06f69f312f79328c5fb209c421e2a1b367219add472ae5637a330411585d6da7494a6b34952bf4709e301616c63a7f0fef618c42461b3d4d3cf37814a79f8df7fc0d191d74ba11f841e96926be8f89d90b92dc0c76acda5028b5a04443005be9c067fe9de948601c3caeaeb10a21eff06e6079861714a35b11530b1eef78e7494a3fc4688a5e4238a2eba6f7d7aa6b832062de8c472efbc20a4483ca764ec34913457cd27772e513ff17afdad196e5232ad34529f509bfd0eaaa87db1917846cd2c0b4cd6315a0165845a10ee05e38c89b8d72ccd72323e7d7170e2727335ee0333431852034085d5196ffd6b68e03fc56e5d481803302af3f20a2927025a75b42fef372467113e6115ebb4bb2144ffb19a0a556b724d5134706bbf319daeabee468d832475ea5dbbd990d7e7c805372b0fa75fe4720516a6c37740287480ecc2e9de7b6e815b27bba57dafe94d117d3f3ac34d8172c7fbc1ec647d98a64a22af661cbbc1cd8ed6f9becdb030741196b15212ad81729f509ce46b25c683609d04ae78973a6a3d9d7d554c6f09a82cb8e0ecccacb5720a1afe2dfc1930d00535ed29a74f91c56c0bbf91777b6591158e1bda5f32dd0fa126c2dd5c2a38faf76bc162faf810417d565131d5b53ad5efd5830614c7e35379b47da170281360aee6a66f46a03b7628fbf855efe89976d7127beb26911772bf5fc87983d270a06feaafdb5739c16dfe6d48893e2e7f9d1484efdc5e97374f4a7601824ec3e82fe7c63051cca3c0a0cdc8a90930231bd486ca69a29a766772113cc305d76a0b137c84f0199dbc4f2d1b6fc5c8bc499646b5cfee7a0162a0388da3110cced8eb774d9da3ddacaa5f3a326cf70d769b8402ae19bd489311bf72857ac460a24fd123635b0445c3afbf3127ab66501fc109604996f1d3dfab7c729724747c7a2eea74c11d488fa515f4f1d228885af38bbe996fc09f856e5d1c3beb494b6f22d1cc5cb2c81adc141581f65baf78a7c3df6865cfb36b2c338b9072d481990c5323bddff3141e9d5f3d2e6917fccf5317bf287eb4663ebf3bbef67216213ef21be80f03d2a9e181d1601889b5abf6fb829f6b164de7648e4f7c4172281ad508200992c39ec1020abcd5223fe1296fae7d2d31620fd35360d35b084fdc9e50969f38d0048f04c48f26a1513ad3fe50993e3a0de7781d439cac593f1f3c9234fee7301fa8fffa9817986da109db3ac00a92409e8ef89cacc9b15a8872c5dbb21d7a0328b47a3fb0454de86c08aedc17650c54d1de751856196bc309723ec82bc629c1a6f98e8ed5cc276e90ecee8da1312e39dbfba9f4ee991d25877242caf2ebd5e24855be817756688e0a7392a4afebbc6ff0b880a2936ee8cc1872b160bc3a24fc8da2745c408353088d1c390a14f38e520f3e631b4f2e360c9d72c150f585c0d06bd33623c0868237dc933150ab5ad0c58974052ca39b6deffa7278c4d6077d1a85ec2b61f375b69ccc1593ad1ff88a188a34faa59dbd4927457209767bafda636039664ec753dea231bad3dcc359fd2fc3a61007c3381b8c52725a1f66513115d1b2bb38f9f612d092bf4aeae00c8e81c6e17dae3e4411789f729acc89b678fc1c7cb7d02a621e8a55f41cd7fded57cde4fec54e6195fadcee7278b1c7c0777ac95134fee21be3591072bda61fe120efdf81f21ebcb0df445072c00d8e9a520234972028ee7328a99334c2ba5223f2fd9f07aed61468ec139172d1171f33a607be28f728826cdd05b0d2aee2577f5bc3f31004936338fa1f4072de6f757afd856bfdd7be899230167064851eb1726fd6b6921567951e40b883722fde2a0d03c3da2cc70719a0d07524e6affb8b8c20ddc6889112c6777da51072b98536bf6e98221e191c97d1d12d23f7fd64005920b34da8a2445fa01488124389e03c7624e927bf23d09c4c3fa57c455b68fb7b2586a67ee26a5aff0b862672d830d4bf1a7b3c1dc0638203de9ebb1d414d6d9bd7d39ee1233e407fbfe63b5756ba0ae70e63c8ecca0fb37cc7b0e67c51745dd404ae5a860d121314533ca466079e4aa618a0486f3371322c70606f0831536077d6cdbaae922a019e5e31da7253942d26c4481cb2dbaca5b0b27fb58c416d7a1ec83d700771de402e6835c372db7c036509ce753e5733c80dd151695f2afc26e8f97cde04016deb51f319b5722d491011a3f11d6c1a7fab28cfad1b887767032d70149ba19988084762967872ff02633f1e3e2703728426d4a3c3fd1bfe6cc6366d8dd7f942d52dc320edff72dcda6b4806214b5bb0c2430e3be446ee34b91300e4992c74b5cbd70023880b5e8ed021502bafe940c18309544b39cb9ef3723325764021be9e1260551e7de648f14fa6e937693043d98f4ab75baa31f8582c291b7bd685e10776bfe91a42a472b1de16511c5d5c565064b48151fd9299725289ddd62f69e03843b27b95669e256aa11825074a745e2926ef8fb647f7c70ecd2608244852fa150d4c9de9726772fc0d2273745e78823d80f689efd7a14db80e7f1f3f2d23a6c5d9fb38479b773410910d42720cf767bee840186a8bceb74b7453264977f101c016fadae4084560c0ec8403f6bd61d9eb539d1a0dc92e7654bb4794d5aa94eaaada3f27bf8bc672857041fb3565d7ee58e9893c614eb52e7d76210a6f84149dfcc3c1b498861972967ac09db251dd0725796fe9d6d0db9d8bb71bfdb4881685023993bb5fbcd472c543fa4e8932b3896d68d7a28741ce3032d4e64139583c3fdbf8db9b5a45fe2d274785b4b42e384dc8949a579ac02d863c68d20a34786046c7b8001d661b0f72053d33745d36bd7211371b26129b347da7602aae80e42144c7110638d185a972749188d61645936a944003a72ddd1fd839a529abaa82a6495cfab286a6b42832a3a97469d46f667f5f22cbf07298f94271d7f07c8834dbc6c570bd86a4cfa751f67d1c1203b56d6f63232362977d443e823499d7b3d12011d68ef739c2bd0c72f84929d1faa7b24c501d69068a68235232f4296ad42bb02d4d6e7ef265e915298ddf95cd6d4f5c969e7f4d085856f53dd6412081ed2b3efbc5f34cc905843672b005f0d6f6e3d1a7dd9187b252c2c452a5ae6b532b679789b5671280c882f843138712bf5954ab56f6d3d131a84af12485e0b8ff210888cbd863684fb68baf723946e7a058f165f5d1459b17c38194be8c9db16a909c9469d23814e9731b1b49f765c11ace56d8a58d0d496954ddb025afca589149fe37f6f1007214ff257c72ce11039ea2b8b81f118ee7d19f50bc236cd9752c9c07ee823632dfd3f113f261d6efd57e8e30faafd10d8a939f093b5e4986c39e6089d49ff587fcdcf3d05010d22ae3de1988b038771347836e21f3b647c4a7b4df89b5eba263e323c4d55547c747b3d8cb3f1ebbc338c548799798c86f7d25b359e2c5e91ffba7d272a45d02e3c176fc1ea6172649e84896ae4de7f0824ec8a78292a0ce6671265aa71da07248c4cdec0e89b043b1a7c2a21242cf564de5e94882133305ac2a561f6d3ce6723bca9c0e7e419fbbe0c8ca07e85beb2f5f0c8f797de271d63b7e92fb4feb00167777dcbcae50654c385e4849c1d01586d3982244d79208a26cae5e740b54fb724fac0bf882603af6a5686157184e0e339478469a2b3dcf91818a9718fa2939729f71f29bc4ea7fd82d38a3791b0d12901316b17eee10580c2b6b814995ba027232e75833b159fc8ddf93d7c240025cec46bd9bdc6a7a394bbec56f5607c9717260485430f3cff672f62df60c14aa38ec8ce8e2897c5c7637e57693f3cae72b37a6dda5d588a746fe6e770cf8297c61159e12cfe8775c45a639c963be0dfde77208888307e8fbf65d3b83646cfa93ce8a9ffc85064242a95371b7be126088ca3fdb2cbccc80f47561994645d90d2246110f7834b7ee14748e8c17a40437b4aa724ad831e86605851a95eabfe9bd5c505cef159fa97e3db8656b2fa55be96b512a63202ef148137e19d198ec3a83a2714da4dc4b2894ed247ace3caf1ae980c9723cb49637d3eac4d33e1f1c251350010b245b0b4fa970736033995a856ac99253502f58c1693e5811568ce981347ee853fe72493092099f22ee51c80876d4b6514d55e493b5bec51596c25c1d0c58323a49897e49d29ec31aee13d88afac59472def8c7868acdaab8b2b4ecd274c6cf894607e9af2d44b1f2ba715d08cd40745902ed7ef9b68e8bdbc8e485ddd37e8f4ab434cc40f355b937574a22f448710072045e7fa5d921a002d2a1c81bc7271f7abfb697a15ce97338a7229bfdc5f31b720bced3d59e137c8e8c6cbce7f37807d63edffbe6668ee23a0d8e01714bd7cb724c3f0d5b23e8882ff51cc69b0e9ef126a7e4c7f374ae528e5f5d658169a3a37222a08c1355d015ecbf73f981df7548edc2cf4f36d96f8a2d8228ce305c35124f33f4b0a1f10b995dc67c3412b98b423074606cf885976a8a6af326248bcbde24323e41d42edab2bedd04d1fcd24cc6e78280398878f6ae4779bd42bc178334066bcbed75e8c8e13695f0264b1a8892c6cd47f254d5e1231dfedb73ee1013b629e339cdc9646d9731b19ab658d2d9ddc865a55646c0af56bc533a8a8bb09ec72e127686479d7ccfe637ad67ba5b73c2a1626f5d3ebd6923b76522cb99b7f932722ba5bee29663031c823f879e6773629c9c40e5d2ba875a9f57a1b3e525a2db723e3959fa2939c9ccac89bf3035f316defea2c511bc12bf69d85b3b3de36649723c57e81de3cf0b310a268aaf8240809924f0722df329ffd60fdd4c10bcd07f72e4f52afc5e536367736ff1670558cb70bf1a58ed23f8041cea2919f811362572c4a669b5536a8fd94988c2e38aaa254c5d7529ac444467257896eeba2503077288351d3a342fd232602c1a3e91ce416c17c49c9ebb7cf25f08ae7f166f08a672833adfa7595c8be8bb610d49259b7aaf79a9736ee12d049907f626c1edf60f7236f44c564a8a68bb760297fb678f109f27ef36d69ac5c0b5a59374ab89f72a729d3384b5c43c4a99b91922604f3fea66f0955d6eaa66a735d6ec7e96412c9b17608e43835f4a1d234bcdf5195f0b29910109fba756ec59f7bfaf30cdaefb8972278d75543b099353816fedb15b6f33f4695d5295a8e40524cab84c4cca8151728e4c44fc086b4bfd789bf593f82aad8f671b94a0dfd4fdea33ca1a7b5df451432862082b30ac947f8946b0c4abafd744978107e986f1216ec575932cf2752246647c84e1b896ae038383fa5d361391d6a3a72fbba9e6e8ad5b89463ea1854a72ce019a2430ea5b1146b21d11e02725290f6902ee86cd5326195a32728bb8e36e057074c2fee6967c932dd9dcb76984a3c45306ac797e08c70c852d570239b472069ed72db5779e44f48a27542c0b3a7a0783934cf170e2c3efc41a33096f821a64472f2309939b611325017cff4823a4ff673b95d2a6cf7e55564dc03b3e7a5c24c5b0ad2e746ca169fc9ce7ec28fe172a0229adbeffd6d250e80188dc60aa724c4949280de6fb8477a990deeaf63aa8ec59aee793fe0a9dd969ac0678285d3c501a5c7f832490025d8aeda636d5825de69db936ac7b40cae3643628018bc87276cc20cd5063fdab38e67862b55c8f47a960aa0146e53a141521ed52143b616f414efcc841dee201c2bf5d8a7363693625c471a6ee5930bb3fb875748756c2499a8efe3c349cbccedcd22f849eb33bf5fb68006448fcbcd871d9ff2fa691775a351849a5f8c7b489cc7612e5983f95ab176042c3c5867202ad8b3c0458cf1e0bfa434ca7f539a387c342771598d7b3ade2bba06fd5b65e0115b44524cff233725538b3dfc8cc7723c13eb96a529db270ab5e76b3c82ba367e21eb7ae3045db72b2421b0c4229c97c8a78c70bd2a6ee8217ad08a6c2bf5714d8ff69455b34a0722228ed627d0864babedc5cf59725540763f162c87baf2ad5004b8cf31879a972be6339a63fad12af8aee6b0018273dcf09b50b9de4af5da7a39f8d46d4d4d3729ef93e3536d4d4d035313a3b507a77c96d3a7d47a845a6540f387aec057b6372eaa5799f1287ea06957d8e38c8a67094a7c86a3d48c8bb43a66884ba2bf86d72056a245b6bc7610e191562a1d932819ec584c5886b9727890f399245c7f7f5720e84090b7bc79b0dc5bb75d937c6de9da04ac12101f8905d15ab43fb398d1000e347865c539141fcff6119cdef262a295b0f1877332707ecdef9adaefc3bcc72a99e18ba25b18db0c5ebaa4bee056248501c72060fb4476631c03708ec254f216e6d8f17565a6f3ad20fa8d5ac27ba1e5263dfa8a15f6a85fdd61fa6326547262259b35d506d384299bc79c55eb2717e8fdb1527100543585bbf26dcf969d34d5fa1ed268a28636edba1203630f37418c810770d555a8f5a74876cee8bbdd072f6fadad3682c9d6f0ff3763d619b44774f4fe9c7a49c1bcea673b3f9449a4e3acbf6840587a3083621c567cf91878e068908783ce4676f7b008420a59d935872b8dc01130eaae2e324e183162275df7a2745027d30192b3e35fa8056bed0887286bf2f9b84e0ba2e35947c73eb8fb6db2ff1dc3b49774f66e152068a7e5d9e5de06b03b8e31ac7c76628c42b96a7ea8d93cf238a559451186e2d0c9fe6af9e6de72c976bc74de62ee18ede8f8ecc180ba77b0de5ab76e529a1224879609e7b6d4a4ab1ad847b81bd677a9fb4b98e5fee42f3555fa95059e2048817ce6d53b072835cba3b9146c25535b77b06e41a56eabb6dffc9632a36dd8d386b2abac9187283f6a828be55d9368f4f70c708d901a1fec54d1ff4ad9c83c38f3b9cc3e54e7248e98e39d5e6948feea8ccc421bfa11a563b5ea6e2bad2099139c2515cbf9772c9ba342598019ae096984965ed47ea811e6907d5181082657ae3dbd267c41f5a11d98e40a34c1c69b4f4efeb4680bb1085b104461d7a9567eb5177d37bb70d7298707f4be84bc9e58a24017ed0df94f855fa284fb2d81ab739cb7c93f4cc6e72859b992e04f48d624597c2b159a04d6bfe45057f347ba413cfd80656e33c367226d448b47541055cfde160bb38711fd5e54d69620a68dde70b1c7b1c3df95872958573494c83ef05e029b0d35f55f54b575157c295d7c33f41b9cd115fe6cd2dcb054a5d7ee2e8331ae6a3c20af4f668b8a21314d3b9770296afbb957bb1753f42919454b6befc53f039c1ae8beb142a80d39baacb8dc26c74d2f578511fe3469e8803c3ae0916808d03bc0d1512b400849021220a7a629e47ca1c2737785d05c326b55ada1dbaa40d1285d842f4ff41a6605d85b00c6f126954f249be880c07d8741e3fd90063178f6848609d7352932aeffd6d8a210d5af59679da69fb5772c4ffc6b436af8d258540139092f7a965686183b4430db28298a9013906cc4e7263fa34a34c9f4a914e0603028a0a2d9bd081c3b9928e42807f9c8d5d1025200e98d873e9e1f29abad4a4ac54126c73bf77db758c55b8a81ae0b2c0874e64c31abb4e7956b348743c544f2b131f19aee0d9172a749d6c8ebd5e3299a0f262c1000f9e8148f324648989e6a77acdb5ec64cc40873784097c94a97d883738ae47727874d44ff995ed3528213fbf568269a134a117ba047f5f0e6f97a37aa1a3587207cd5b9d45b35279456f58cc6bed336604f922bcbefab5104442c867d6e0a67230aec8f905eb408561ad20c9bcda13bb8fc723850fb5ca57dc16b87a3c8464721c31815701f06f7005e90be1b54946681f136a84e0dc3b67643e7977993c6372cdc2a1e90c2e4b786d649842b2806bff4ecbe30ff12217c2eb43630100eb654ed0300f53b0272858f339f4d5870c9a64399a034ddadd89c1578c9ea5edd8ff72b6f94b06cd5849518d96aaf9d0f63c3fe0a2a7212a7fbee73068dfcf8a28cd72b981b48c748affd05b247a73015817c6d3a6af12ca7c9793a6e0d1c559970c5b4f77ea0884677d07ad751d39d1ddd241bb9ec7c0dde2df2e5f3e7cd13951dd72bfa6f4c2efaa74b84acc43a38d417e96ac59f1cbf23bca7deecb871dfc88d07244cf32eb152ba822f8d6c6f180ab89912c002954a47287a8d95b48428ffb7972bf919a880367ec7d2f22406614b2093da24389f5c8e41025724f7619d64625448f1cad7c766c45e7f5e5bad011549647bb42bf0a67473207b5c878eaeee2c971318644ccd5f032cabadbce569129d80f506bc1d53920b21118505fd6805a3f2d41c8bc673f2cb1e1d5a229cfa612fef986f77b3089aa39bfd13711742bced472394efc74fd3187f8c2a04c394f332336000d73954f28411aea4167c725ab5c729b744b5791348440bbe68fa3875d56138648481d7ec5006b225633d714eda16139553bd68a1eba12862a073176bf2749bbdecca77e6360bfa290819d138ebf291c439efc9e066fa169b8ee496acc39d021c83499ab22e7c22e410599c5621572487b3b0dedb43c572500bbcccfdb00aaae511efa19983a72ee09d85e7311f7723b1b64f1f809e713dbd520b4148bbdba75f9d45ff99018c7323d39c685c8470407fa39327e2a5f9e44a37d301a8441593a17bb6b48b01f087cc3163c87975d2f0bfdab3cc811be155836349cb3251d313a37065fe4873f11fad8b1efbf42e846b5fab3f94c100160d8199d279ee6e3da10b2d056c8f39a01107dcc27bbe53f3d58279f8300a4f06fb1f7bad49622c90be2916d4d0c0931642a7d74fed81a5b72f3a09ed4529523c040e4468c5699016955f68abaf197f6bcc409a73e0255d072787ea4ac0d3ba4d24945d4aca163090cbdc68ada80958cb0e604f8a4b39bcd0f074673fe5ffed6ec07abf3b88afed092665a23f5350a4dcec17d07dc36c0a0721230f549a44c16cb7142be30dafe02d2fde4af1eb9795b6f784271ebef3d6d7219fcaa9687d10bf6a403f18338394377b4bdc49f1f5f0889dfcb8414875c681e2fc8d987b12ce59f34de63a449537c651248a7f41a500fee28c50d3fcffed5728bdb9a9798ee50281c138a0a65e348b22113af926fc7377505e9084eec2692725986f56e25b7ae5239687fad3dcd1010a7da370cfa989b75552230738414072c1f88f110ca1557ea8fb9b7de75d22cf356861a5024d2af19eb2525c3ec100972d0532e72dde562d36feaeee79d93212fd9b5007adc2917ebf4885ca4ff816572406891cb3ace32d850b45e77ca8c6937f9ccdf45f11a7b4c30d48505d50e4a723fc07cef97f240e12e1324b3ae19c01e3cb69cab242bcedd6952ca7134fee272796ff9bc2514c06a53adcce89b4dcb9b1b1eefc114ebe7483d28f1eb863e842433e70518f10a8f2080da0527c0bf1b73ce5fec3167ecde288d20a0a1d6dce472316d2b67b083f886484a0297fb3bd7068ead6731b8ec5639f162e1315c50d67215b27914381fba5806f8a213fd216800548403777fea2114701b9ed1e8fbae24b3cd651a6898827c269cf8fbf8ca75eebec10c3a66e8161aaa5b6bd6dfbf472c48b1c1c01db1ca839a120880bea3cc4f2c2c169d93f2dd57dd730ac6a81f3f43fed139c8f2edd8cd9b392485f5577c9ecf3a618a600bf0746b17444c99e96e1cd383add6026228a5cee153303e8552c625af2dbd312a4c066a5f0c0872e7b372cc7bbe9807591d76c9a2e42d07d40ada03996de305621a2a204f52bb739a0872477a31bf31755e03c21a1699e849b645bb91ba5406eced049174b775cad41b72f3b9acd12cf7f5fa01be8e3514a22112d1c5da70070aca9a2795b012f5087f7288037bba2f1e49d629d1e9451a00aec2aa4b7c23113c2cc324b44cd84117b02ccd28496019c521a83b68d19ce81a691a28bddb14e149f1b435fcb08ce332da2b8558bec925a8bec560cbcd854ee324c43a647972a0eec670c00feb8ba369e77255227ca0fbaa752aa3333ccf6367e4d799dd793ea8d66d7e0f6fca1f7db223723756e25c1fbe4e97d77d81fa606e329bb34f8bef6d205648818e356750739672f3e7d85c3254115735c176cae0bdcd5558344b23d3a01a756b0ea3b761f0fe15fcd0f3631b72ee4a88c3162b5e924dc730e7b337b690c99271cd166081e29f723cb93c7eee6f0f5062a1cab09c0b215d377404b34af86fffbc8670d1cd651e7283c1ebec7ba2444840cd09912082e13adf5d24841f9fd582e3c5856da43a7a729caa657fc1a6fab72b99b347659263c1ddfc7c179c2cb8e14f5815f9b3c1ed725a0621aa2ece77546508819ac9e1c513c17e9490abfbdb42ed6ebc70de541b7288ac7620d24240466198a812aafebcf30b8e1b562b890cdd7f0e754922d8d52af6fe42d238d565a0732a2419eca63ad55dd55814f472111e053d3a163d789272e60c31c18daf56a2381cf16493fb8763c808d21c5983b247109f0e1374c9b0447809c359b0ab7f95a786d0b943ca97772f63733329fc221002ce41850d749372ccfc1b759401368cfd96f7978d9dacb51e458e84886512fc48311159a9db672e23afb233a3acce51bcb37220af3575c0d57b791b726d7e801e86cb803d1f84721f0b656885269e085dcab2f03ac23351e472ed878b49e13f6b6803a640438052572371433251f7046bbc2a28a6bd50b350bd84a7f04496c031eda1ab9f72532a5cbd14632896d7720c06e8c996eb51349f07c2112fe7a6989f6bf2a4a3b14172116c0a9d4d1037048b0d32645e9bf5eead99f496b4fa422cfdafa5ed29d44564c3d808a5f972875b1ea34640df59274646d2182c2f0c15830d4ac21dc74865677906d04a1c4f469cfabc017b9111af8afcfbac6724b4edd72d90465c1802025467927b148898f5cc999bec6d5cd42bb8a7d648e77b0d52163d74234a8d0bcf391457aa6c0e303f7d6a151479b4001931c71d1e088015f071cb80e1745351d536477ebe269e34cc1a2e4d651fd80bc276cc13283390085ba20b189b52c890b172d9606742a33f74874ed063ed61dc14c40e5cec106dc4380b72e05cf4fb4dd17235d68571c44a95564a6766802eba2724fb35185e1b2a13d3efa07d9017b349321fe6b519b5be4d5cbdd8c6ef1fe3b7b7435e41d0ccdda86bc41dc4e8451b85728331f7395d1f86622183bc8498cebfbf9eedb956dc179991cc2e7c67fec7a456dbce88cc9526ac3a4a34b5d18d6747e09390b8c634098ffde45da5cc0e155072a3ab78e5749866194b5d015289b2124c8dee666a9d7133150d6d9e56de0c7372b0306878d34c526c647c14f6239445b72a6ac6fc76ecd88afd781576fb495f727be6ac061dea2563763a196a8e43d6467cf164f0ce9824f9a89f1514651f42724ca49ac3911b08fe02e4e9336bf629b9abfb9c89f9a52e226f7e07acaba86a72ead0a264a52cc8bd476c283036c534c14e9d2d36afadd336a4cc495f6997c172e8edf34b94d8764cab380336c54490c13305a0c970b5b68b34e6e51c4c8b656bcd1c8df0e67c38f5c94c3bcfc7562ac0e5be7df5745f4e7ab3629f73b8688001c81abb42de3edf4fcb159be5f8c7de2692824f7ef8928da3f295ab92325524463c4c6010f76cb41d8704519a4256d4348c2edb923f57118352a49f3d81937d7223466710803a173425779bbd276dd0eb8984ce0fdaad017f20a139be23e2d8081fcead784422d4876d239514c4ce484d096603ab3afa98134d763401057b07728c95214c72b87fc5522b65bd997e7e0067095689c87822110641cfff2677283ce49636c8fbcf7fa1d87e2cc85f7617c3bf0417bacb23eb5e7ccc03c5408cce3dd2119fcb39355aeee4ef438c8859638feee8a568a4f5108424e4929706473f728b61244c6359b91cf0f4bda115533b37c67c8ceff83c7ceee67cb1e97549b572f4f08538550b263ba7797e664d63405459e2827c657c37ee122088a227c1ca72e6d81d6f1b596a0cdcb152229c642a5909679dbfb3e0b55218767127415d14721ae49b6d6b52816250c94a11e838b491b260e751423453dbb3af499434e153722fb2da95eb302df5bb152395d5e96b25419d075d5250ae5a7fcead010e397a42548ca0b6145e20c270f4d2eb40d40ebea70745d93faff710bd28e28a489daa72a58004b40a8eb04d6ce0a91bb55df10da066afc080e5b906ce47b94a3d66d948c9c689e3e5ad08013f17eb628b93813514f9ee8b44154312e54cb9a8b3c15d6105b675e6b8729f0580517e7f486b9dd89a8ce748bf00aa651e9eada38f7e7372f4c0d3c52e4a88a049c1d851ddf9825e77e96d1700fdde33841a0f982727b20311ef9cc1c0607897fa5c4e55d7aa745d50685c23a247b6d8d0e4fc2f6797c224434a8ee5533b10d00d9fdcb6f544c5fc4bd0356e250363a374ab9836dd6cca5a563f04f602fa627ef5792da42d6c09cfb7ae70ba4e1cb4341b58ecb096bf1b72bfa0b64976f1d09173f514fe1299af90c1b65f99fad380c2b6f8962d84e721332d729fe59ca7cbfedb1bbbc525b5f87e07dede169f6ae95f2252b2d7737adf7264ac08d5be8be04320e691a91e83088ac8a0793df0ed697582a8717508532d722c5654620fef2e8b5d4ef139f55e90c4ee0fc67920b32679af5e3a4bb86459721e11c175c90066851973167aa13b920065c111c3a05d01724a04436c6f8351728bf7b2593f074d2623a1604fae65cd5d4bd8982ce582abf98c9b437301a1806925e40ebf639b9b2008ce7015675be3e2a80b1b8674032249bdc5ded6ffa2f43b62737d589016fc7b3a3162f7500e94655a448dd4ef59878abcefceaa6267d472de88f4398d275ec824374d2de11c7f029885e78922a0cd3189fab9637a2e017276d9269433f77f3c5b35d953bb2d1132b4ec7ba99b8719ffdc95c88e9c80f618a12fc434d86cc8cf01601e868ee4cad65587741b221521b37fa9c374bf9a8f72cae5284f304bf0bc2d5e5ff3e517010a840f9d7fd074842f04ef823439eb0401a031a79f612085d378cdcaa04f78399c21fdb68cc602ce1ce0d6e071dc02a272034970e861900cdbf3af2a4890ae9f73ccdc31b0d6323f2012bb2fe73fda9172199962aa45996f7565eb3316910e84b3922fa08cc00c38600e1963db4800af72942e920f3d442dca10d3c16e8c816efa258c011666e787b7d4bcd006a6354831a0030005965caaaa7cfee058719a618c6c8ecccb8d2c6c691baa16475eb02972e49e8d7cb0e2d8bb604350700289a13e584ca0f34a485ca416f4ea84c23afe72cffb9a0d81cbee0fd1d1f5dfb66f059867a8c50e5a474fcaa8f121a8f79f7a1d6deedaff35a8fe6af34d3fd1261fcf913280901aa2e3e1be87523939216c3a396461a501395a6aab3169244ae1f6ef90b196ea066f92f62111e5fd19835d5f72f11619e00726cf5d1348ba924ff50124d59ea1fa621ebfd65b7a61b7b53e037265b665d4920d74842de9d520d5d1ddff93e4c30e78bb1e3e3f68e9ecb7081472621d213e6241b9e2bb7b4f61332e57854083fa43ca01f45167012f17e76dd372fd2093b0c517a7cdbdd6834cfcff4c9bc9e1e40eefa525d22df31806d7c9523c93fdec4d2afee2f2e1c7952157e58f6de4679e1695204e5f6552e40af2977a63ae11ba976b579cafa29a817f7c124856779e451c182dd13225269266c21bff72c527fce0a0f0b2e8fc1a698a2979e48986d8335a6e68aa7456d4a3147c77c73caec36366eeb1d8a1f7d63bfd1ce35cb4097b19044058fce4b3a2715b1fcc1872fbca3e7b1eb70ceb84544d552305210f6ab824de79fa40b39c1de4c4d22c317229be8efe0877cd9b22f1358c87e347824269bccdf89c4a011b141b82230213720d6bb9338d4945d09af7e408b456397d0e93272c747e19714e29774ee62c5b22451846e6a7956d637552d14bc581592d0e7d7c38aaa286ce461ff28949689a1ce6b12d8545bc845f0d0b56f43d9ffc6e9a83f3812d115df47fd5a70e48f204726965e3a4849f4f4056f214df50ebbe87f784a4ab3216081f859dbb606ad0d2725cfc9108ed1f3d8aad6f43294fa2123ec18f1ead8b6fa52680254575f426817253aa117716579d130d7db68d6e7f0cc099c36c6d503c430a166a6679944d65204b6f44400c99417b2a8253631c3c1c141eabd1a96565eefe896569a8d51a171a21ad4fc20f76ea4756fad1da1f36252da6e39c7b0057987c4c0336166121cb3448d02abf083db158a97aa7a33ca5f10bc94a1adc3fdbe667d815528a95508072183d3d0a4a8d5780a33fb353caa67608fe2cce0707f7ff9f80ca95b9d44eec592779465162c3466e2b04ec8651e9a35ad76dc31b6a06fb48724774feb34e0e2d3d927a69c179927a3c195070809c29bc4dc6d7a2fd120873273acf3adb0bba05b4f7f62efc463c14dd92ff620318cb8fd0d00346953899c820bfcc53e5cc0172c98297856cd4ead3cc2259c3d6e867e9fa442480748b38ca4b344bccc865e348da23c790e5206bad5f135bbb1ae4bd3ff6f0a1d5821b626cc84b1eeed7b3542c7c79b4c666b107d5839e879876a9796d957c20ff42afcf49106735873e1b7472ede237f6799ebf4f76d9c4e9e3fb22d9c0b8b59c8ed7a6ad57abb15462df9e2f6ac937fc3137885ac8e3855e6561576250475d1287e3085f8d8ab25b09eec4720ec90cd22e35923fa1e807d0b6410efdd12efda70b4cc2929887975cf9c709329ebd6cbc8690cfda040b78c43c7da8f850e633762a1a2765321070faaa60f172b1e7312721800e20d6c59659b408d697eec67d3ffb06b7187940f0446dd90d72dc786117e976134c59d398c20273d5fac1fc479ae07e92bb079db89ef5e6b272f583da3b99fe007cd608c3925f976abf7ec8c1b1f87d2957a27010da7da7d06f1b763acb7be3f380b8e29efa9ab271d13e0d6d49d7f689138ccd7ef4fb73d972b6392bf6cea1a656c39459f306aec1267eb1ecd98ed79b7759c0ce41f2548a7284e6bf2c534f4aa136484591d43549680a01cf7166abfb21084e395258a0920cc9ff829998a8feaf320f0075a89133f764c2337e69f06aad15719a9855a09172f5418cafa7298aad27f563f9c01062686fd889253e14ef7ae40faeeeafaea87287a8f010bbe02f01f5e3e3f4b47dd42e1d938caadeb21f89feee47844b883772eb5d63ed99fa2d59a10a8d93e0402f30d4054f8272ee88c709c25a17dbf84c7273fcf115958d9c7e481c736a939c06387d8669708bb5b4f00b623727d46a85722c2e0acd6501af579a473ff814c61d68703d1cbca7520eb29fbd7642d2e62772f75a365a22982fde72deac4622f5554c785fa5dc8d6b86afadf8573873926372ed19abca8539305b51b2c6203e5ccb15942ec40b026f47b56e70b1ef3761bc72aee506e6d38c8066a0ed559b54c04a6146c39aff4e67ef92782a0ff6fb6a010ac6e091db1a00bcc16c5e32d47cafe5ea49db8bce4a393335a430390e470d7c72cb3924ce930c7d1c8071661a2aaff1e966e9cc612ba0737324a6bf293fc15c72509d13a0c87d7bb3d30ae10c7f284ed0c55002b7901e5b362ac0b411476a3f722377c43d2e992adc7c462ce14a5f29698f5ccadfb6e2ea17c5fe5e72713165615afced26cdc84a9b590234f762aab63eb45f5ab369f246f03f003d75382f1114b020b95e702f856c10fa5b0d7d147c2c4f2509d9f12e3813d34a733d02675072fcd9c970014d90de0e4bb6181a7d858dfa5a93592cd4c699375c051d706eaf0e27296f3dbafdad42f6a6a610a0d2caa47bbc221c3ef16bf9fe2d54860be83d3985a4672dd47286300f0e1f776b04f27b24501a5b9db3ef9e9b3bb3b85f25637219fa7dff49aaf8c263c9b3a7d5393038617e316830cd5a9c230eb9fe7bacc4374b4a0473fd688e36bd42658d31c594e2cd892f93fad2b36d09bb5c54a88b424ea26e493e532d353831e69becd134745e753ca4583682859d46a898b16fd3d572d5630ebde86321b8f13412c66b6505a71df22027f03e65ad2ed5e15ef3789b3a4bff15003c8a8672e3e732dd79eb7cb3e9bffdeb0bcd31ac09e7842cef5fe272174171418133d2117aef81ffcf5c59829f7909fc22831684ef3661be88b53572391c0e159915d48b67923778e85b2d6909aa2b083705577e031315ea4a99d73cf50102daf4005a93c5479d789cead8abbf4653de5265e62deaf5380d7e10786846cf8e0470bb8f8a365e960d17b15b1d3a6189b1e11305e1a7227ea2ef1cf672d8b94880def85d1723d51f87775e3d50ecb4049280d9dc3989fb2ab71cf31272bd81901042f62110d57691dcfcf364a15b1fda648b51a2199a21b1caac3fad6c0aa411d936330364dd96375b26c88c1cdbe36e8e480d93f5067ed151699f1272c8c8c335f1c06b6aa1752c6f5a86bde1f5d6eb62ad7fe36953962f81146dc972ad5b1cef4479572856e5e97ee71838df5d2dc391b4cf72507347b58ad311876c81d77657450bca5eaf97a54ea9fd06857cf59e659229088c42859572d5f18172f83d8cbfa69809039788736f25e6eb578cc3a98a909ca1dcf6e85b7423b67a722277816f8aab41baac19ffc023b4cf0961fe930693b9b71f7596b85838d8316a5a5c823c1d1e569d2cd0983b26f4591fd3a32fdbab35ff0edbd9acb92af439641f24b08a2f1f0afb5c1c990cd1b555f1e17e6c3cd1aa7a8d5fcda059a2e7365b698cab31e080e2403aa35f1c6074905e1c7f7b6a633f046fc0cb6e724f9e4e720a8e15d2c3091d2802aeb57657bbbde4211ff2438ea685088f36c288a4e95e3007591c1899d9cef3877934e66e342cbcc4a12eb95abd834cc70fde81892504722a187240966b680a14750b7ddc8613744edcfbdd09199d79a2f2da225a61cb3a862832121e820dea897020262902ca574514795edef982b4d88e6f165fc6f9293bc8cbce72b72f20eaed568cb5c049d64a0f7993dc3d90218bbeb1ce095a40726702ab4e8b60e64e3de58ea8b7856af655c2327ac1fddff4962e06222b78581b8e3d44ac9b71e55c63f3243de68faa1ceb6a9c607c2fc56ba39426aed3bc4572f41da4110f43f0151447cb0ca00a64c3fe9ad0303abd6299dcf12597a39c1e72b1d44a8e6b44ffeb610ac4e91f4548e0e4f7bb7d28f976ad03871e8d8335ca5520c19ed24d94bd1a8554b4ba42e46f65a1f2113a5dc1b553d07dfe6d7013aa009559281d25185d4057b2e8de3519a5f635c32f9b81d31d27d3d4602b68f5827217a300eb71c3d6d0b1d03416f5fd80c9bc6c3fd8c7e6d12f2cd14f7e48366a72c0fffbaa662ec9cfbeaef4f69cb3e27e6542ab5cd344b0538d61d12f08527d72ce73053acea103a7a9be4192b714c8a26e055235c945b78bc6abeb22a87d541f7a8f383579736d94d252e17b36374ef8c7793860fb8c21eb596721164606f4720ff8f527003c18875a7b16ef82f1efebd75270f8939932317ec130a002c84172b5e4b7e17eaacf19f4d1ac8cbd9a6f45da04ef66e6a71adf9e05bf06e1bf7e72d88afe58ac85344433026af332cbc67016b3915798362f160f04668d6e3eed08029b2e4975ed8089256367cbd9602a3ca0ca08b45c9a50f6cb7279d79b2e0f58cd420efc15d57a0851557828b64d66c91171b0ad153db8dee27fb6b09e2ef0464154a65f99e4e52a7b2d4b01fb84ca21849960af514e1ec7071f9039cbdcd67279c29155ccdc46363378072f731994edd85015cb002e9cebcdb88b60446ca15321b3ecf13037bf0adacb9b32af288a8f03d4f5d303747d0305e7bfd29436ff72c7d8c75975fba9c4e91d81227ef6719e6ba3e4c5c4d682b3eb4a87a9c73d40429cb2c16721e6d0f396bb3bc1911d6dc5e2fb4f8ed5580f651aea405362e19572bbf1a2c8d3966cc20b1c1aaa3a9fd7772cf23ffaa43f84e8046159ca222c427241dfe98baf85dc45198e1524c190bc3f8332fafe2b5e3661bae5e1192d77b172c90e4959d5ce78dbf8bb14979dcb91190417821f3084c2d79f84ecc3b1367d725d32abda2f3a65b61ae04ec4b82d2f2dd4acf513240c76194b43470d271f9121d7b01859753b37d5dbd319b27f26e71693cb1b94e46406ca7e1533c42f66355b238a34bda93d9f2e7edb270153187fb1231e1ee87cbaff7a1313801d6b6f60723e56f9ee075de744135f970cd0390b485f49e308a48b9efdb5aef2ff2bbf3e725c82e503c03553e3e81ca1fc4d43009ef57d99e4706622bd4e77a31a6ccb24330e7a7c0d57bcc9226548cb84ff62a224cb370d35d78586e8265b3e09284fb67249993944d4883feaeaa62bf6cf776c2a3448b78641cb9af068430e7ca65559720c0b49e4335cde0375ad641cc48291a5deb7b6d8f027e11fbbbb16064962667228a0005adfc87ddd409229b49361ffa560908f6308b8d38643c83a1f01963e1bf16b5712b030e4cf59b7a49d177fba14b3d08ed4ea31859d9935a4b30668a672bd2a21b47c3e963756b9b31f674e57e25bfd15e73dda010b0efe25dc17c3f5720d605e7f5342b92ed413554e2e2539ccd4ae488212abde456ea08535eba381720533f49e43e6ddcb8f504f63691abb1cb516387eebedfb59f230a03bb006da7280f986c54a89c668ad2d88d85bae1d278d05ac65908a6cfc7480f572c7e4a72a27accf81765471f24c6c9c35d9923087ed2896484d605df80e50344e5cc56a469208537bff8ddf79bde76d602d6ebe562b6213c24dbd6156a06b613b4b81d67261fc44b08777901060878da5c4a0d7e78b9184b739183d069483bd64db2bc8723dedda09a313e3e69bd08c6db4a53d3bae3ebe8ac0ca4e8257bc06ca8bb9ef72761332973abd069cfdc7d66fab9d3e8b4667fa9560fd22239374481bb7ce7972bc9dcd1277f3394bd22fa755ab7a6395a8d36631c0cd504cab90796d961e3341a559e3724c354c04c6b04a167e51f2f6e8e9c05d22d85954fbae37a772de2d72d69e57165f4bec08e3f8ab0cb93aa85dedfb87ef16b5860ac6183bce6ec08c72cd66e2cda7a6c6a8020a96cd99b4a962c16b38f368340318176b069e5e482272a859f16bce2499e2feb9cc856fa5e004c00e7b138acbfacf6f3c738ba20f46729df02ea967a7f70a5ee86c1acf1faa064fbdf9d45fc7d822864ba64cae84827222662900c17fc086fa631a508f7e380bb53fd8ffcccfb71462a7de700b2b8e72db3ebac75c4173463412ce40b483e832f90e53bd456109553dff4fdc63a4b729e3c8e7e24ce39fb0236c9e974dcf3a07956748b0d5a10f6bc7c81e27fba61472ddd3364ed56aa180ded29a277de486b9b2180fb0f75e5c27acd54314d0a2930d51ca81e5bd102027e7758ebbeddd3488b6e81c714a5db99225a14b3022f6402f42df680ebc386ae74a6cf0f8ba58c268f5038c3d2efabb2b07601519064cfe690aaa3856fbf7938f783670bcc54128a725d21c00a1de72966ce8c57ee7ec8b7204ca87db51ac2ea5670fcd89ff41a2de35abccc6510d30b82d53c56ef3377a62db828b1409ce7d46e2e34a1227e6269fc2a112faf5b17fe08a864dcb9d5e166d6224a1be354c23bd2257c72712a3ac9b6e55e3154c593ead451752872835c6721dff2b638a1c09f8f8ebae0bc748954ac4091032f8e95d89353bf54149ef1f7281e0d26df6ccca461fdbe4cb17e38b60e8d4abebb039161b7244f94331a948417a188c0fb3b00f29587da079bfb0264073ee5d3eb46849695092b2d38d0cb572cfe6b67e4402a268c8b7bd263fa81daec5d50b30bfb13ddfe44a47dcf43a79085b9fb550c6ffe8afa28f30b66d9b6e1f66132395a8347e87495b0f73a90d27559df49afd378ab611f862539b52e9b68fad7dfc1fc2aa874cbb34e45794c83d72abd45cb28ba80407bcc1844ebcf2108f9ff432ce420efda10542af81eae4d060811f3faa0a558e7f9d494dd44852c56c24b89e9248be8f9d1259f213035cd11a5f8213e6720820e640e50411cda753ee7d0407c09063b280ecd67e8d3a184a6ae9a804867b403502dacd2971fff6ecf01f2199550b6863b9699c6f35b240e7439de24ce3749276bb96e0034fe2a99e73329f5901261faf2a02b0f87495e0557225382a8746dd0c28ddb250b154cb6994925f253a9cebca65249cc14d76db72721b09f1707dc5a3744c7f87324997ed9a2efbaec28056cefd69798357fc95ba72777670f2f5a3109328f4aa94a00eab652e125e8299b2adc2114c327da8a12e3c76129b6e68caadc4b4950d288904c3349cc15d3c5f87a0e4516d794cd68e6272e48d9e1d83006656b488ac0af8404971f1a8dd3621661682d554014907159346cf5377283be5626c7cf10cfcdab47d6f02103a28513ad6af9d66a0f67b86393eee05d95cfd3aacd74227a4e8604c94ed14d12905dbad36013a42b79f89ab5b6183b953dc4a8101658e1cf6b310628b83865dfe3bae8004783d0502d2221db755ffde1b8dc9f903662d545ea95be528fb1020236b0501e97ed5fa3d5871153d3f64560a52aa990f4bbbe8917a32b998fbe84088ce60daf366e2ebf4757c69212c8bca983980cb964d575990841714344041d1690066307535eb0031d47be48e727e645d6eb1767e0963dfaa9f35505beff4eab20a19fad9b5e03178e97e3a1572778a0491f2e7996da31e177dd186255a694305fc69bdc8f32b13d568fa17f57278e8fee6f37980811cc0b317b31db5a4cfdd536d84c52ba5546c12297592fc72f69542825463c99e0a9da2ab4fef10616318ab869d90d0271ba629dffe57633306b4cfe60c8d57ba37d88071e6e5ebfa4600952014e7dab694439abeecd93a720d70b0b560e0febe4e211e2fd17100c915cfe785f5e546b56266d8aba7f534723bb89c0a25b489bb41ebe1052b134aea0e2403d87fc02e6e0a93afdb938f9272679b335b59917b2db52f583b892a8284dd5c2aec27f35b49a3ce64bb1271e47214941ed7d8c84d71f2ff56dc287534ac61a2cae634caba384facc78975fb081930b646b74590d7996f949b09cc9a99d9a7af0c069c03779efb1505ec0ae8a67262d82d0a8e08ff9ccf99bf6b8bb7c7c902cd727be5a70210c088af61967b08721f3c3402940dd1d66be364fbaad0f32bbead6130873b7b6d41f3f0a0d7271c11b8e39d57fa9221c82be1d2ebe53adc692ad42b2266c9250cbc59468541c0823b7ab8db911ab10762594db5378f2a7bdd6fe6a850e909d5aa29aa5efe3c3f5c72450fd43e4cb763602380f92048a41bc4ec5d302d691fe2c42160af864a22a9722712597c01f01c7f5afad82d55d31d45be3e2bed6d271a54fae088bb6850277231a9e77c9c396edab04ff735894fd487ec8cd3fb8662552062a975a787a6b7456d396381e23523037e149bd2b242f3c0c05c7a0631a3c3313983d104d867762a0edd53b405f9e51b2384d3e1e065db064e9869e0c64909d31ce048b1a72956728da867d532cd493e804b84b806880d1fde3033a5027aae4cdd3dc2f56147c9728013cf3e3c38d638e0ef12479a790e079317dbed90daf0d5cfc89dd13f528164742fb1febeb5c85501e71ae933d85f81554bf6df35d0e5ac9e6a2d3162342c724cc00e6698ae8199775957d6c5e2dc3d67120a5b90e959797b4d4e5561b9764a3c8b10cefb48a27b67f308721920232682be8f7d370c7c10a50950cf33e78472024318933fbee08bd2811257f17086eaefceaac024f02dc0c27536cdc7fca972a694d495d40f7e4d9e4c8ee212721a33b3101d6af472c9d2c53de7ff502b567278821c8f53098d1a0e33efe017471082fcbcbd6f0e8339629af9257118d13572b502acf1baf018d78f9a6dfa68b75f8f0f3ebf337f973e4c824ffae695451b033b69edd0039345fc28fb5500c36ad12e051ecb211f9bee845483495250ea7971f59264804dcd78e0d869f50f305ca3d248786042b714da5ba7001468be9cfb7205787a51092b258e0fde058ccff17e76a2e17dc7f35595024976d1174ba7a87238ab85fea8d5be6175a096f00d5fe203d128cda49550aeb24efec5792c24b3724bb678e98e917ad1cebe431fcbcbfd9d0c525d34d46d7009a0ae54a51819d448feea668ed0270a06ea18cb9d3d93f10b9151a2979e0ee0693737d2fc0e762d249fdf11fe08db1d86d4ebf59c9a145f8d77c25f8340b6cb01470d5b8e7c21af03343bfac3e12b01b41bc93bdce4149ab5954b4761d2e645d6e13aad170accff0f36a3a25544d58009a5827d57a5a8c7efb790cab9ffe1f55d78621ed818c43f578c35bbe906a2425813d514bcb4aedbbec42dde4646bc3f3eab0482ae219b145335b992b5bf25ea5408a85673dddb1b4189c1487bfbb6ab4685fc6ed27c94c757ddbbf4bd42e9ed8a00b044b88b5fafbd7f95073f10ba311d78398e0a9636177298e5434c517defde46804edda3cdada99ab1f6d89da10a43bb3abb57c1d10e72b69a5ab047dfa56a8fb368f5dea919bb01e7f16cc04e25c001f299e949b61c4027d396ba24a3bd178eb27ad76c4260d2738a8c908fafe97f072a750768920372e2259ecc3fa6f198684ed62a797156879494bcd1d17cc3cc4733e44b93412572bfbf861f27ace7b11712a9f8f7be0940391ebfb8a26396fee9d03c5d130b647283748a80faebbfb204dba844daa4564b2a2209264f9e51553b1cbb72b857794de505883a8e8c1ab6a30b2f0e4dbc3f4504354801e2d9c750a127c567687f151aca989d51915c7ace08f217237ad929f8502b57a28ca633c631e6e9838623e072644abaf7c7aade621df84d41a8c7e8adca85694bfde5ee716eff978c0b80ac72bd34830f3a15e090e5282322417cb5284ea4dd9330fd395b790190dc1c769a726c46fb97b9cd75a03821c842a9b3ae953b3ca60559f4c8337a5b9504a385a328f0f35ead9c6b0dd563713ae79b85b4331a503d50e11aa0d514ef26327655297266583f67bd82e9aa9aa6a04e7edc8bc097d85578752a9e4ede8f3918cb3aac72303fb66c53c78f6a3f39c027d9e1f19d9685208405b0e851fdd12ddaaff16e2ff7fccaee890c08d8e31f6fedcb8d0ec164966944b4c7f0937e0d755ec5749c476d8e3f9b482854d5b10ca32f1b8ff8af85e67cbf886daf0e2c02568a11b1d9724c8975b5e15171bf74f05160002000265974c7e03695484d8728d785db7c774305876a1c8a916c62ca27e7081c56819dec8207bccfbc9f13c703b3600796ff72835181f6e2bfd63b2d2efadeab022bae668f400278a0c995799887c250d1087248f8cc3dda8abb792b9be36d17091e4ba55678ac02becddabba4ea0f3b055772028bc2ecd650f1e6897d0f57e49f0e55021ff5f145812b80a6a522cb53eb0e5663a2b8ed1c41efe3bc7846320b9dfd2d0698bc1e358c21ed303ec267cbcc1372b64f668f241f53e079956dbd0bdf23d52efa951b477290e87c86028dc91e3c60e04dcf2f1f25feb455b5d75d8e436ea9604ce446d64b1728340d05814db91272333c40882788ebc3ac17fe5879b776e3b9d04979cd4df514a9cf6d52f4eb2172c6d56d48572b87294f8d07f6bb71e0da612e03f62faf7aeb67d6cceab0c71c6cae9808bfa5d649a0934424669ef0d6291847ee49eb4540bca2150b32834459319b01d5cf47b22ad1a9d13a9a4a67c5fadbd6ecf9da590b763fd5a813ce12a01358f943edd6c7b55830287e4559a0d3b563b0c99ac8bc3c2250c9b41a467ac9727e6337895628bd485082cf2111d4f93656c19288471944166a4590224332467227fbff335411fe14e3fb2409bfa4d58459929fef0cfd7936dc59abb6010ec0723123159175a68f389ebdf03ae8c1dff5285c7a9950885935ef9dc44068880f72c9eca4764dd0090c2b09b5e19df07b9ac45241ab5410a48683f7a592674c277234753739175edfd785346038d6780d3698aa1d8c68b4a8e94d1a74c54e731a4a6666491f486a76cd774d99ceb4862914aa7d238fc10e072c3dc8ba0d75d5ea7229ff4242d07c08ce2d9db0508d1a7b9d1ee3f46d963d0a81b96276525293665568722d2cb44c6fcbba57d40f581efa90f85097e3a028874542e0a04e03838272ed0165fd58749e0ca8d47d0a80328b1dad5e3b3b8e2eff5bf0fa97ebe51edf729501b9a24f13691961860afbb8910de0ee25d9e15e184f7bc25d51fd61aa801fe6480c9a4c9dc6164c62a9aeed314892d89b61374253d8f4d14df6df9a8c7f729e455456ef6794ce4f171532d99c4cd87c1232ba86fde591385046bab7bab40d79182d6f70767c750d43dd4594e25041f5890d6dcb67cdce353f723f146e65436073c3880a5a6aac39a72e6f07e7c7b94249eed45b0dadc81f53f38e12307f72a785e07355d80746456aec39ede7c1586f220e5c81368422070f4adba523ae72ac3ff6834ceec9434d2dea4b17964fa50463bb8fea0c956703e300790c396c5cd89d064c2191dafdf3cdf90daa8a70eb6187bee340851797f254fc671b8bd5728b947b036f5137c3476edada53278a291376a0a8105793f0f42d1ae0133c3300d95aec35849fd14af14a987f90061f466c72d5894c2903d30b24d9777f50b5726dfe3826f44033337c7b8d4c2655c270da0ea52b86694edcaace05621db24b50e06966a10b96bb268068aff9f6bc6f706dca1a7bf2762e8e31806601ebb13e3b3e51b9b7157a97e6ebbbb53db32d5dac4d544b3814d8c5a8a823cc62d1203d72b97f5361ee60a0f70735654c3e09938bfb7c44f008ae9b7e98efc7270d3f2541d234503a90e99f9f0ebb4209ebc88e19012cb24001bdf63d804e233b578f893075986fa31f180ad1aee27267bdf9a95514af43eeebe39e2c1462891ac76fb85af597139003e507f7ece1284346d5ad5b942d24ca85851ad5f2a882c7557df772d747a1c03b808245d2aad73a9039b642a9ec895694d834c38abf5d820f10a0285403a951a0b239e81f0f8bf6edc97b201d74cb285592e3de33ff312c911ac7724050a883f675f781bb4ec8e3532c5cdc077b3fb1b19ac17b536f607f7ed9321203f985a1c7818db81be906858a5ecd0addef58224e6208c6e764e206e1a52c2f76af1afc7ffb8b0549d5b491f483fb3301f1972ec2a887eed669289da36801728f8aaf9bf40750789bb57cfd8693281f5c81e391f4749357c875cc9e645ba072b2cd7e60cc7bf414e8bc901076a8e8da4eca1f88ab99ad0c96089497e12ec3727d91b1a126a080d0ba8b81e145bcafc036124047d8dfe304c5d8961c992cc772ee852e93343a0ca18daf9f979fe7564a8f02f4f8663e1085b640319e00423a70a2c9cbbfc81e3bb8f2e852ea0ddb419acdfc1fb526d30290b48aa037bf32123084ebd386137da7c594f35d2c1aebfaebc8e91de7d4c1b7f4f1a5eea1cf2d9d687386fa10f1a8c87514aa3a2173fad848da26d629fde1560b0de898e6ba751218aa906cfb4d528ae94380202575ce2cf9692e67cd7d0644ca66d17056b0e1cd224a4915d08723b672a1f68791c4c8ebc515edd6ceaf9df820a38baf776dd3ba7258f44961b95d7204205ba72feb5cd301dd1414ddf4a3f368ad742f8e27f66263f784f1ed54fddf28076634c3f0d930fdc7efebf7c23cd6b225eca61103fecd72b4b0e65faf0d48f0c28db51ae8f568b2bc21e68a2d1678eea977b7f7f5047072f6570d5407e4782739ca745fca8271e5bc75e79f8c41f508bd1f1e8e9156894d24d7f491acf113820cc1416a2b2ce2447e5ae27a73f02448414c55bfb5309972c8e0592eaac62dc654ce124de7061fc19f096b7ea2fad1724e75a3b628888b72de509900c039efe455244fd1a4bd1ae0235577354dfa43af102c31a7d8e9ec72825d8e3b33205864e85fb8387975719686c8dc7e037cc9b169927638a0bcca2a285ae1cc8af0c183588bcfccf650283a8ba662e375aab21261061f7fcfdd64722a81e219281fe91e11046e4d1cd59a7834023a8a34e434ed804147c1c3110740a49523c33db8861de07e1d660b2837663a94a31294cd6b7229ccc44e2050220814a3338beee9214567dd034f7b7f80f774dc10bdb781e5409b8cad40fb0c9a2e6adf0dbba35538a7bbd403ef95d8f8173a9df98d167bd63ebf7c3eda5a390d69e2cc24f84f6ce46161e36b942e92473b9a65a35d70c3bf69cea758e8242cd07238fdf540edd532ac038a9153ee6a9c6613262efa9c220a8c56050a3fcbff07195d6e61d87d0ef1dedebd3690ddbb9b607642b1b0cec3080da86ff8a2a815ab728147571f77997860e2359ccd612f25b70a90e7e8ac4a51cbc09b4e9a51bfa5720df5afd181da7d190276470758c66b74db61ab165192458e64eee18af77dcd681b0a45c4958fa11b113c9b7682ee2439465dd70a63598dcf5e79a32ab8df855e5a43dc0d466daf4bb986638d2664dd32b78076fabf5372e330c480252108c909aa0b9fee989f788c3be98f1b8fc91c0dba856b19c110c1cae06f7e177000424d54907d2446a36cc9df093d567fd116f1c3b8b90c017f593614e40b83477a2972f611cd8b60a19105f99eb96e0e7f3e3262e20e165f01063988acd251a5be1a2752c298ddc9ffb2050702a31d9021a767ac0986324fc46d47822b798803e0a67291d1389b661a515b3e9c501723ed319e9e6d4be01bc84802fead234bb554e2728db8db55e652e710e8f19acea74d456f33342c432c4befd2acc02d1897a16f3c7e6edc83d27522abbc295858e9fbf785f9bbf40dbf856ef3af207b9d13d58c723d1d45d17dd31cc46e252a618cc62c79f793f276619a5ac67d1434f54c1e536885694e6fc1e77f0fabee3df521ce6d947eaf8f35fe8a342eeddef1965dd65e64f2292fd1c5c2c6f62baa4354b9e44949e03bfa3f0542779e79ea0480bf658159ce60aa7fb23c696780de704501a3b4025c4de1d46c1d9e3a3fc3009df2e4cb30d7ed1e217a454baced30b02c5a4b5586eb012d2f772444dd64d6a34f1d807131894c502ae7bccdd4031af3441716bd1fbe9fa8612618ef630986ca07bcc7605bd7f3d3583be464ccaa9625396a5af5a9f4f1ffcc64d7e33aa538c9428a513e7237bdf1382ad04b4585e9c18e48154cf6b90bfe9834548eb3e8d4d3e9f566a712965fc6d891c543909d353879d8535333ac997cdcd331d5b0cd33d536fcf65a729f1a4e2d3f99b1ea7b57d432ce3609538de52f625ad41ff60686fd0919566f727cedda2e30e622b0d173a4c5794182e03f508c6af46caec822c274648ee5c8726bed96eefa115fcd06e11cb4b2b82e7e3adfd7a9c7c586238c9413cd01e0e372f71dbcfdbaee98510fa36bab4ab7a9dc94c6fc4314b590399bda8b04e756f24f86b0ff1fdcc25a0a4abf1530f3c5665e7bfc483a3bca19ff14a857cb22761b3bcdb6457b6c4c7ade580643ec40a40f57c0eed6857085eb8c16f89e551f99d8721016aa284e6729e7eecce0f1fa2a4bdda1021dbabf49c84825fa41e64da5c972176763e4cc70234551728b67376f292e7c0425878f017c6e25c0f5fe54a61b40301fc81ecd694bea06982b9033b8c70e87b7cad7134da76faf8b2c159361d340a22731d55331feb699264c96de753663c7cd3aa836909dcbdfcd1a659d869072f7b9330b1008d8934d8b8723ed55de324376710a696b986cc1244650d3a5461aef4d77f32d0eeb62f818daa6f059e7199e9969dd95c81a0e3918a3616fac3672a2a5138f0d18ac7956be9150eb5a306d0ed22f16e1da69ba13c61bc21067ce720c41fdb22b1a1ef8ac91863c67190916f50a409a89f09964fad6d5a2a939f7726539fdc4f10af22ae377d4e8220f5ddbb2a94aa7564e54756b71a129b4ac0572a17848cf25457f73de901932d23598bb5b57cf5ff9d75927152ea587bc439072d30d9f881958a95e60314be77c6ab1c97f6cca5f7eab70785be9cc3e46afbb7200d278e9c97593c2396746c97817a6fce7038db3132a4434a3ed1f2745dab314388dac2c0713c7c1836b9105b1aae046d56cbb315b384a105df6853d13173672d31b841109a2ed3e0ddb63e9053fa14ee741ed783a20e8f1f5d97da250a90072f23c3935dd9bb5c042ed17a5c9f1d759d7412ea1d046bdf2d244fd3256505e014e9dbc8ee76c821524720790a0af6ccad9a4e2d96f49971aae0f5b88288fa45a9257f37e9a65e0619c7408c5a10a5313636cb4c21d8017a71ee136c53cc6161365fa519f04f8a624fd4b52811b55d757c8604a8260d66e970ab1dd4fa302a61508e0c49942777aad35e5d78ecea8dd4e31e5708ad6e27f6bf7d385d6f445cd5c28e3f2733350e2c6ad4c65e7876a22bf243b762133cbf114eb3df1403d5bc7724dc4832675cd04d4a958505c6d809e5d8074481ba5c7f75da5d28b077b417f725e8528d71edb84d117717f11ad3482ee26a2207c97a95334395f17198988296fd2adc7e2097b28079a7ca830969be957ba05624f308e8451f1b94cad4dd65b189617666554fad704bcdf4ddf0ad1364f7ca979532f8533eb89c1d183c8076f72752886fc08750ba23a657a0b203b9d9af4415228e87c1f22c6768e7dc661b672e51fe9a04e4934308ece0a51b0cb014c098492e4bbcbfdcee7f678206f216b0b87ff2b1307a3c50393a4f59c8dfab87a2c22aca5ab8286906b514c82557d9872eea64514d27f9cf1568648fd67434d315e44501753f403ec7cfd158341c2e55979c5a32f0c07f12d7ed14c76c933e38f055b838d215c9f0199cd16d660a646725def2decb09e78a4136da47e8e6915be096403c30b84ea5f2387500621f954633d31c3fac15155e4a3fa6d47e6b25bab6bd98b95db50ad9dcf29bd4243e57a0204dc4bb03ec055653c2ffdd93e2322eb42555f20c02d21c390520b3582400b4efb3c3a9a48d079b683c2ee3c32b01cc357ef51ab926dab04bc850b403b5eb77254b1f5cade41e15b117875ee366b398f555f1ddc4ab376f539b3494be1f72033c046e7616de313e569b8cd7f8ea324ad9e6c54e7ae3a5c78304e2b9f55779d3ec31d96cfa3d0d8d967dc871fcab6880eaec3e38aef1735b9d38ed1126ccb1b64991930520bfb0bcc7fd43499493696e6e3e88b3b4d3e31a048be163faee2c561b28e9c19af7507f598cb2a568d20c9fc2d5c1db8b2660ef50de0d1ab3dc10d72d1715f6779d70c7d4249dd6d187d528b56ee7fbfd7a54fa4591753d13dad92727ab6df9414876d17f1bcde83cf0953d06ee495a6befa5a0d55b4a5c13a142f72fcb92f5d7d4226490d475e5d1607a5711cecf351ff82bea4d4cd58464c66552f3075f7842ee4b6e54bf3174913a7587663a4f7f3e74f5222160f7d201ba9c84205233c9043ee7994e796cb706c2a706892ae0a6c231478b38b28fbdddebd94722155ce74ba17fd571aff35a18ae6d1eb143d3506342053aa0077a6824df10e72a243d4d62eff7877fb880139b3c60bbc40888a5d76246d69ce51cb5b4ece6c50bb342d1872d173ad09989b7dc8f68938ba15dd216ec54d42d37d965923f3494a1c20b37eb8d502c82835d15f4d86dcf482dab811b6f7e2cc5664a70ec533bb72bfee0ba408e2ef1eba5728e936a42fbcd331d9d9a578a3b32de3bc2a06e225720d19bf7c7d289657fe4bdda5a909f4d6a7bab357dc5e8cbc7181c07ca559c1728bce670358b50c1942b5295525b424870948ff99824ea6790ac24b42049c561e76bf84d55ebdcd8b39a55ea635a90c2290bc69670798a9b03566873cf9574a720154dea552eecf64a692a6d60b185f7474decc668d9455664888273d98ebce4eda12203e5b9d241ec419323e3fc2daea74d939c66fe170b091a66e7dcceb8b082f3d56d971bf7829decee05b8e41eb2ae12b8be4f27881ac25756bd314375757f9afed7abf186ba44f4555df442b5b439010dd798bbbcae6780e84f01d4b1a52648797a52476ddc3fcc285eac30cf7f106a3d72a1a6f5bb540ed3b7e6bbd843d977ef08069611dce95efbaaac3bd963fdbd1b5d5df17ccb0d1e9243cbf0b5a721d1436fe59051179f47913f7da3365dc84e4152389f1b7213791fd47ed44a14323c5129956fe2f3b26a8e371d3be9dc9ef2042a7b7fe00b23d76ec29c0082202bf87eabf1531c1b34a36fa2fd85aa701e11a8e64d0772d80bbc578f00ffee919482202c40abbb4983b4eac6367d349e1c179b7b8f05346a8d4ee7948df68f37241ad5eb5a44db2c1263eacefdf65e902724375bd77e3555ae2e4f9e0bc9f98726113f58c47adc6dfa45c3b6a8fa7dc481d74203cbf716f3c60defef0805efb01c1571764fc382e06e0c92eb62128b2dcdcd2a0b6e12897d30c537b20b4eda571e91a5da23648973cf475a16a2d62ab3708944b1f342dd052fe62a415788700727e199b1c7f5ba2b829c3db8c72cd1159d315f37b02dbf4ba32ebf47e51ae7d726dc7e9a975c313b7ebec86842d27df3afd4627b8a3a59f0c630c52b609f5b172833f6a0573f49e2dc5504205d2a23c3cb475c15eb061a02fea208368dd572972c8dc0c3ee581ead34adbd3e1fd717bdb8cf85b35973794482713cdf4fcd7e7675a7ede91fc89157efc7011a3d7109e52fe315e447187262c8dd4abe420616972d2c8156ea5cf090b44db5b06d889a5fbbbec4b1382b23c55960c3bd636038f725b1e6352075a18d8aef79b3af00d49ccbae54e59a08f7fc056c6db97d3053572e7ce4390e757b031c212221cd52c36c3f8b442bf82070a7d962a47df7e1d36722385c55175e1bb48c95e00f5c845e5fededc22525e27bd579e3a7ad46bd6ee576b6e6f84b76e3671195d100ffae09314b253a7a2341c7e7cb79c2924e638845dbb3cab1feb5319e5037633af898c1e08e189f3ab5800f7f145a435e360bf9d14476e9e1150b33907013823bb15fe988132c5e9d3494d1cd616197124e0f22e724057129013f64d832c994b31b73b28ec8a6be39f90985e26333df3d8d59f67721f8b431bcb9d2529d774ae45308932b157db6c068906e886b84b954e551e2e2676ce59804cde33e9b9684a99c92fd8a3ac1adf71e917d7d6847dc0c430b6d6722f82920c6f60efd111c14545d08cf25e11cf2b8745385bbb01d6c399fc69b372829566b59e6792e8c9c59b4a34a2dd9045deb9ca0533161ed355cd0526a842724a918e2183d8c914473c0fd966146a20bf071126907ff5998bd518bde356c47225d857a07c6606d5d7d12b4408f668c56356e76fefcac00a03af3097ff913a72dff4d2ac95e907539b7da03457cbca56bed34c2e3d45fef8f8d919aba9eff4027b0754c6a7ca7c78e4530c087c9540d95a6c8e82b01bbcdca22b9454a1ed4a726c6e46a2214471840ff6190c2d91db0d5426f9a0808e3a9418d04e6e1743c4728a2a32f2d134789bcbdfb6381956e2a1f07d6545a130b5e8fd9a5224bedaa64eefcfce09ae383667669660a4cfb01a70a313053c8b85cd1a0de542fe5d79de7218aae7d6b3505c759ebff07283f98fc46df1f58baa5f014ea5d801dce225967213e6711027cffd685053493cca6b4d989099e35f8a1297d5d61f190fccec2672ec8368b0b2551a9b89bd26eb0b228cfbfdbe69110e9eccf36af2933de7bba9721d625cd52748e7fdda6545ab6288aaf6148c0dce201bf43968f3ead67ea77408b68d0a5671f00af060eb973e77b1b435eb47af4f540f71f6a734c41138748a724cd8a06a4e13b577ebf7d60d377fb9a6789b450cff1acb4853f3fcec68313372f466d95bb86a02f8783f74938640d6d12aa8fb56dfb292d19e6faf9f90bccd725d68ed634e34a2ed28261687b7864c6a88fdf46a0ad94153b7bcc3a160da58246558b529b01577414e63dfeb3f886b6669af6d9eb7399bbbac88a7c781c3464af8585a7661e6ecc3a03ee3eba22443bafb3dedc58fd921166b04226918eae672be47774afceeeb49ffff009b7feb383cdb78174f5098525a73b860af0a58e04887b49c6135c2517056c4e298c0845fecc34b89f7b63cb5b1d44a8dcffd63183ad58a27c8706de36ef40b22565aec778a854e1297eb4d8fe5f549de99ad8ac0729694c4fde88bbe78b744520e18c3e50a7ecbf2a9a6434009737ea334aeccb4726cc87d55e3ab325441b8c200c2641f83af8c36349dfb5f94c92422b730a69a4079dafda3363faa1a31a76298b3ea47c7162d47b131e51f6e196aed81c2476372386f3c7c3b22e9b9345756a38051c527bffce39789aa1c5545b37c488e169f7223cbd2dd2e4d231d9a5f0033a4f4630fb83d3a08dbef71865d89c82bbff7a672295c8d96146e5bd022342ac93751cecaf15474282c3ee32fd76cf3b7547d8e72485c39e068f786c41f4bd4cfa131d3dacb4c6dddad05637a1d179bad1b517d72e98d2caea76467b02cc9ba3e58eacb948f7aa7f9663ecfdd7ed8dae525dcb3562dac05494e754f2c5a4b370c4759e0423c08eb4118a36f57099e9d7d770ec472a252e9e10d1e3e100b08826f3614e697ad9242f1a0f31836b036c4b946ff0c72ee7317bf3a419535995f2b64f941da6dab9beca7631cf52ee014cd3a58e8d625c4c98e7f2b28b6aa30b744a98148cf03787dfa5f2a185ace59e3fc7045e93072c2cbc8c77fceb7dc76ee2ae4522367345bf863b9f8d5507227f241f26d09d5195c8490976ee3e63f16de493c9d9a52bd6883457c88a4fce36f4d0211bfc84d6f5cc4d6441532d403490dfa66dc4a5776f6df9edf9138d247be31ec1fdce55b72631b32f2147aaf4992fb4ca0f1a1402106785ae471d88b1feb6a29d254140b7278e13ef1ca6af5b603932d7304304c51897f9867086854088fef9abb3a48a449b322ec048ee88c30b59faadb543b4ee66e10672e8d567429bca1e4a6350ae3318bab50b0e44d5da54dfb771c5c9074b4859486d314c37e2d468cde6f93a5f8524bb3e26e5d51a0972e20294ded17a9723098bb45b43f25b93e9443e6d1a04f1bde6d0b1cf9817a1c03cd4fbfeb62e0fe340c27dfa46ef1dbea067cde9dd75372b2230a4959bc3b4ba16545d95a21a761c6f21add346a41ab070d70ba4f10b07228bb68e499bba03df667f658eceb02092bf4ac0d0079b56be689c7a229f81172660d54f981afd6f272bb3c26dd61aac08ec30f61c8ce00125b52435bde9192720ac84bf4e8d3a65b5a4bf5aaf2c1d45f9509f969d5c5563e5bcbd4cdb639ae72165732929832f4ef97fbf915f19d0b9d93175d0c5d53a912aaeeb956a94c3672e7ad30a7107f56e125d8b675e85b36ae30f6e974455b301167a9c214d3015e2d7519a91eda46cdc3c38c6ad777bd325ab12b4588fa753762e550dad9098fb0723b53dbc1436b8be0b6ab3c06582b2a88be1041c9f1ee0b8887970af0224eaa724ba853441e8f8e5b7749030ab93ee418cffbd5c0ffcff1f48a889bb071d01972dd0f66a849b200a79c0f24845821d1bc1761c926e8f45d97d1e83edff2bde572605cec5cef7f235b94d297d62049ca1260f52f826664f9eb83b9cae50a9fdf7257bf68abb31bfc0dc39f4073c2e87b5f60f3c48c70915237c3b30bb86e6b0f722edf19ff35c64b5149d46045b64349c9b67d88b3f4e92f5768b556817c148f721a2496170deeddec8ee30ba2b842ff313cc65fde54c3edd4f8267aee6fbbf74ebd862b870010cf82c3e0ef1ac7742f0d5be4a980b62e4c500674a3fe21ca2f72e3be5e0a4a2d669dffd9f49fa73eb44733b7a4425f7014255d3daae5500f39722306dcc914ae63aab8495264ef620d0b13b6818fdfacae862a7043affb1f01440104d1969fb27b72547eea76fe70805f6fc3bed7eb5e899e5dd1a2ad7d8dee52825d5d2daf0854d61507c0d887f969b94c94518885cc92e33933e30ada848d2d1ba32f36d0992b6c1d0291e8e4d77f252645d99da9625c987608aa990bda266b2993850309c9900a444b48d27a6b0008c9a7d75abfbae699cf5b9a8f84d361725c05cba0f98e8fb9ff92d5084918b6300273c36bbb76052c8ad83b1fada5f772abc2310afbe14320a5ff85a4c5aca13018602910b06b26bad520799d9f58e77272d8522f5449636e25c8a9cbc359ce42e7458df4ded50d4206e8345b90223972ae9f2fe3778ced2b2a5bb6c8a1acad62258af079dbf3bff87420d7b25cdfc5728158c499e33169a296acfc8724e49013ff5fed96c866c0e9a0434752da3ec5728f8280978205db4325a7f13428a01135bd6f931861fa8a59eb38b74dc0390d72ead002a61845428c80cf482f11ee627f2b762d2abf480e4757671494d54fd5325da58a7ccf8576490d73e64440440f59a75c0ffb7923e5ca917f9285c0fe5c7242d1df394ae4a106ab68693f31d3acdbf9c7affa103c287c15af681ce4e4f50377d5106fbe23c0a1098246bce2e2c8f0d20d7068687475dcf0e4a680e8715932d80baa55e37f43b717db57c156e9bd755367ca1f2f29168a88a2624b82adfc6ac933f35470169a100188c232f7f4a4b1bd06f08491ee46c17e4cedf441a6d9727ad66b4c281d6cf7e5f284ac2ce72d18e7f7f22694183b8877315c44c6cd9e727b8d3ab998a10b973c95fc72b856ff1714a9370927a4aa4c85ea6150be330f2616fb87409826c3a753e3a297f4940291bed3feb7a674c13136f9a802454ff572a66799b7bd3b8b7561340a711094f3e424f28a3ec0792415a1f6e9b5ffab0b195bdc4460640606a350ead7164ad09c52c16507c3f9192d4a46946bdb909517404ff834399fad36a197cf944c0189313d2b1e797dd0c59a99ba4b14c84128324434cb911d6286278805ce421b8e074cc62dd62211ff6c9a33b1828d463275ae726c956db3b9b85548ea132e9b9285609018a01c8a7e64d86e367b33616016587213a2df1a9a45bed9521d6f1610a1e7a4094ad9ebcba18788179bd13f71fc43232639dba40fa8755a161f5ca63c439efc11a4af30734febd3ff3aa6d0204271421fb9f68a5f33a00a50dd4061a44235e8b6d606e227bf2add00ff6318d2a0004055ab325c6bb69621b7835eb91cebbb2de3f9a3fe29fa71b2c6a7295a751ba772f423906c8941da800828248912e1ab08b1f4a5b319953258be5889206c2c3372e59f6ffa1dca4b790e18f6eb15d7d4803825a505b105c8107ae11d139322c972dc8857370bc7c2647effbf15c395f3a894f8cc6dbe5deab7462c92a2ca1ddc72a7041552822d4a4121814f2bfa09b7f35e2f2a28e60819222565d55ab2ba5c340c35bafb59ad91d729b7e47cfd66b540fc44cc3e7dd939956e3fcd871470d0489f80e52badc9d985f6475cc4d87abc338d2597fc3e13dedd55b71a684d4d4155a31411f573600e4061094d473c3530f3e83e009f59d3fb88962b478c97c6ca49bb11976e2780a6277e80243d2ebbb946593f1d30a9d7417b72c01e5b23d52272e139acd92183b67f76d5fbf9f514ba38bd6b5a01e39e134d660e0814541b607222c46acddeff3f8c234b6414ee05842f9aa7fc6b12b7a6d6a9240592ba62844aa5b3c261785b18aeae8dd7b1b44e3618fc0944dc3cd44340ca32470d9f79d9720afbaaded841348f2dde90cad106edcf03e51acbc20f840f25ae163edbb7ae49cc6b9c343c2df032af334c25b4203039e97a1c5f7ec6af311d86367c225f02726ae7b968a8000139a81f7e8569255c37a50a739f2c11c87044b5c9d6e7194b6a518753683baf46ef622fc7f9866204ad8716f84fb766b0f8a61ca7e5bb1de172d09e942b5b57ce4e3bed9d01f4c6c3ba03ec1e70fc6b74bb68fa5d432e457972afe7e3f2750496bf42bbf3a398f73ab8b59c0e5793858233307764bfe611ef72e49eed0a0a3cadc076b72aff9f5726ca1c5665f8942520e0d2a3e62ce9e469011987db93870eb316ff2f1eda02df47bad7f1923c00af5a8ba18fb4b4a4060c72f0e00cdf67d38372bb1f29d4c15e1b67389f715b5269e6215aeb5c5ebd540772387d5d3b32ebee548eb17e8b45aa525e36e6e25b48a142b8023c740f2163152f101216419a5366e3b36372791636708b5638f7b686e0c1e337355136b2cd6f72c5f0f88ee5e86110edb71bd5931de0805dfbbf6ba4c1c04832d0964b0893a268c5a7e52e16708aac5afeef4864d8418d959bfa6f2a5ae8b07e0487094d25ec13ebfdbbdd40e58a32cb8e7d59192732aef129023f88d7cd90febbea86bf0826377306f8791db4a7f41299e4bfb584d17aab0117787b3e3dc476277057d51e1572e1fe25d77fc2a0b1686225826becc4aa0804c17561c456f18cc58bbcb7977c45d865e23bec323c43ee9bf0e5afc0165e2fd1c07d268418395740fc14b3cc4b5b88385fc189727bbb6712e7b427c6ce436740f2dd462892c40a73a34aaa4be772430ae1e8cfab035bb8d1ef2b305aa532b9adc0769107f4060df69c29688fb572110471647bc6d18eee8eec3394c88decac3b9a32a00b3fd0c212823ff59fbc7226da56111c0ea46b5168bfaaf43e5c18e9066425de9900b71726a28282bffd69dff16e019e1c443c357da140d8aaa79c5b7ee0b7993e488533c28d0772ba210333bc432c29f4f290adbc9ff4e15e59e61234132698ce1cae93af2069cee59c1dc0c4582eb8d945604149cfc685d339e71c920d75cfc48cfe67ac3874848c4472c0f3bd08e551cdcbc6581226a4416d7b408cf9650f2db23176c561216a521b727bc6abf7a3c001c3c3c67c12136908e83b9480a73b7d955ce6186c472dcb3872048f824d698e927017ec390aa46e08aa556a36ed0a7f7cfbaa3b5374971f6972db0ce20d1fc5bc7c91900d762eaf8b27f84d85e1cfbc63d922132a829e5af8139d8618aa06661a0a01e5edd4eb2f01df4eb2f64e2a633809c119c64d13ce5e2f09cd6fe7c39d2b0ade917b4c9b9d653b8c5794715a4f6f6f530626ebb3161e72f343b9ac4ce47cc6412d523ef7ace218ac7b1ba11d5b630ae917fd3f19beb34357dab1b7380a1835681b02105c3a6d8f64bd4c80aa26b579843ef00f35bdcf72313c9be74f01d95966dafaeb409b2355042771eb5b6e60e3572bff0388a0a7038fe2fc4704f587a1771877d05b7ffd056ab08fcc82ad4042e44279d5bbcfe772f120afeca9437217f32caf8bd9c9ea450ac72ead80f18e8f8fa61aba81c57b720a04ef2b8b69a8504d8d9bea82069b6441c3943af5822779589ceae772a1464857b438af5fea809be22e52c3bef6a36dee813c7f38477b26427ea0d3ec6bb3724b2a0d49194783a9581aa25196dfa1def0a535a26c7bea98fcb8af693d0e68722a1c563b3b37d443f425e31869727ca722c69fee72fd962201e92e0430fd55723e5e71f2c6b70a70132ca1420f7b7c4fa5caa552accf4c80e2332d8e0d0b022bcd533177fd48e1288b6669e278d0edbd0e7e2c779da8eefa0dbd936ee8a42901bbc606a9158859b3b4c880c10c9cb9e5efc0d57a61fcc7a0f50f0c01f6414b72e27805a55a10b3c09ea9e339209edfc2335f04019257bbeff8ff78f37c53ec72913e8dc723176a29036ac02906b9dec94efb38fda918e5adf8228bad9ce02d4af9c2a931443bda6730d1e6fa914bef5f2a0dd30762cfff8c048beb29c95fd272f73b14c8d58e0a1ad8c14c386c103d8926294a971ce3ad2f13acac2e0bd1fb2fb04b71a9a7411cf5eb2f50e9d7a0a928380531cb6e56a99ed4a4a84742cfd7261d8415d90971737ac2249f512f1386156f3062a8c1a18b0961d1eda24057a8473dfeb29856c3eccefbb97d6283ee53a9d1c6c8cca890ed62d3a754c29f0ae1722271c92fa7fcc45ce5c2d69e53c0371ecf7ac1dc0d292c513766598fef12f6728a301cf2b2366ff7bd7220eac8410658c4cb3697595434af405eda3fbbba3972aaca91c34bb7985787784681c0ee2558f75d49670f42400644ef14d92c2eb300e8c76581d533f5f0723189b242179c476c5f4acb6898dc72ca1e05fd9a50d52aff9be2923237a046a6d8654399fe2f85786d54b146a23f7abbd773dc086c6f413f8115d4cc0a1091104251f2948e03293825341be6035b9f7f27867fa8ecf772e95e5e27a4a43dec22f2f81745505a8372cbb1c9bccea0df1172102f9c6edc0f21f6c7380962359d277a357348e74e5027b2671f5871789fa9594021585d2e168a543fa5dfdceb465574e3b5abc9922fae4a729f3e7d142a21ab41657df784316a0c3c8996f869f240f17fcc5be76d8691bca4a14f3a2e10af2957b69c6ef31c30577d2ecec24926fd8a8cdb4a782819eb8ed0e56c8cc9bcaa26a35737d8357280c6fae899174d4f32f94c6530eea24b13dc75a410e01994fd9065ea317af30957ab9a1333ccd327bf0e336269eaced49cecbfd5a42e9f1cbad33f8c07e5c82133cea26ad1889d5d8d4f850c883ae8c988d4ba78e501ac3d0fb0781baddbef646cb2ab9ab58180f2e6500c63f370cfbb222ae87708e5a7b9eb5037487d6b2d720cc3899fe6d311c3276730e9b979e89c22d156dc6c4d3535c40e701bdb7dac72497486148aa6011ea3e5ee944020ad862b3beffac85b5f08e0443d377647792542b63ddab0d4c18b7ae0472a27a19b56d44c4ad03b4b57fbd60f9861802531720c48ec6a853f3afa6ebf2ac16086a40c4c252d29a001d5e4c6f8a2bf46175407b87fb8844ced7be89713c4665d260314147a3c014f442b7006640d961505ae7229fd143ddc67219f437221c7c7c0a1b00324aa7d6538a8d9283fa1495fcd1e72a7ac63fdb98e507147bd517b332b1ddb0ca9d64c55bd4d58390d7721176cd96091e833548a12ebdd46b829b79a5d3326b1486d38febd4598b42a4a4f29631772544ea8bc1b34a0247d23a95475a6fe2bd3cc9f30579e636bad38ad5792e4b072a1ec672fd2ecb757be42a4b5c1178d54d7c1fcf7d3fe63eea24b40ae577cd772fdc646d761880715a5f0e3e8922db2e98201032bd08e60cc006d877199ab48728f6b361325b42b8bef9fbd4077acd2b2b61d2eb1e953e7f0bd1fec647555a224527cf24f34727a91c843b402ea493f982207cf69218080a4e9f841f0615da06fc04baa7a87c5f41784fb10970d434e9a7c1d7971c924784875ffe0944122254b49c0d5f9ac7f35ab2d5f44bbec14a59040c40ae7d97e472092de7c4a7ea70c4e48c8f397e702645906d66eb94fe6498075ed09c5b78dcaa16f5f79b67ce17d72972010aaac52b3baac343d8d9aebbc45987e8bfec19a974396f494c589882c72ac58ff08bb656a79b1417af5230dcd425db367e620ea17678ce4a41589f9077273c16ef2b7d15dc4a6d6bb3ada48e6d5ed44865232a10bcc54d7e435ed1ea57094776bdd6bb5838c5542717c675a79749f27d4e9bbf883146d75e141f327e972f3a17a711f3d0023042a7b76a26f9888861b76304400b68bc540427948a1c972cc9923e3b2e117b8c836484c142e75c8aa6057d67623e8edf925327597a997721f8ee2b210276874844e6a90eaa2fffd2306a6b4fab13c7a40aabcc3cf69bf1024fa967f24f63fc6c9bc2a060624b2ae4d22dea499a6734a4e0e3d179b144f7208db04fc6c75f6ade823075b4516f199629258df0568ca82c065a1b95ec7c701306fa3a7740365c03b26bf0f3e7b5a309959c5cf7ea48f20aedd68c2ba5f1c165ed2d7a3fd3ea689f4d7a5462b2aaed73b0a79842e9a902676414219f05ead72a29c5813dce292be666f73506c61a7cd001186313d2476022768d3befba13b39fdf25a4303ba4eb09c485007fa9a6476464571cd3fccd0350c73686b5c61bd1443a6efc2f0137a350f8f1c3c9a54750fa7d4bb720c209dd3ddc160446ad0a8729ea3483846db7832e052cff8aef02a5d04437566a1692bc1e8cd10f71447604e529fbf77718c2bc35518d4f0fdcae7fb9c6cf255a555c0ff6558865eaa6f5835448a1230448547a522447e1014bfbf54870438af91b25ee4c1d68c615ceb5772e6f7039576d2a0ea5ce176997d8be1883b41371420a69c068574f0a3afedbb7269260edb430ba72aaa13f945f4d9cdc5ec61c15ca55077a0df167adab2ab131172896ddcd6f614e5d34e32f39149db96a06ce72ee2e93b7a8aa4bff39d363b723838385ee230dbe0051a2d583d9e0e73a26e2856de4e40ce3449ee79580cb61d3377315b03f501be117c51b03c66eb7cd0ae00e8e83ef23527c5a6fd970d0a72b19861e2121dd93d1c0b7afa19d908255897fadaa698d0d502de5853a1e7e61d499e85040ded7b4c2b3a621404f9190673af78904dcc7e9ee111809a2a50e14209659681076936ea9ee84968cf03536a9199849cb8aa8bb0eef3c7d52791590c1ba09bec02cbcb861d969e0db08e93ddd63722e4bf35e45844d98377521f7c7249ddf78647d74d676edc8a3197c71446837a3009c0db8fc94eac8c33191f80722c881697130e1a1915afd2404ad34f76643db0debd7711507cd80aec925f0a2b788feda3bac9d24054c17997331d242eced64ea5dadb843b70d7cd68ac5c70034f19f6171802e4b8033ca196e0ce77aa17accc75fd399bf7c279ba6ad241ad72626d19d8bcfc2bd59568e4fc2d27a4a37d38c3c3ec70a78afb1480946789bc724c3951055e9c4f6ad245d77975ada89d5ef89e33fce86516947061f2983f12722b9c1a5c3ec7f0da94a4f12396c64ade4f87817c9966b2f1111a85be5fe6fb724bda676f191aa2370f204f3e3620ce7dba61cc26584f73ee3a7c74ca394010723273ddd9e36f9870ca3515c5150168f476341250ebea98e0d64d6fdcf68cc6720dec99989514fbc2013a6ae0b8bddf131d2663830beea2d96c79dfeeb07e591303bed24cd81b85b9623be1a3faba24cb6bc363da159ed0f861c9a23b0819ef7267f1525a26dc01319128da5bbfc14b7fde1895b97c7cf4b8d61d896dd0d32472c1c2c3ec153da5459c8d39c861a922b573a3982fcf903f032df89f9f10cead72d6c371e19eccbfdd01e8d92554fae4d3e92f45603c6901de1ed9ed952ce56672bf16d93a67cdd551523a24132ec050b60555efdfe917a614b3403081417cbd02019b54899fb83f8f39a70935115288f92676af221d91de5c0a70a9c2f9900572316e19bfc6ffdf3ec677b95c16f3db4185412736a5633c35e57b7857022247720b3ee34d534f0c05e19a19a38f08181bac779c7390fce3ded79c4bfe6dbce37207e5fa3b62351554ae14f5986853170c32a330e67907ff578454a1b6aa2774720cbebc3b7220948eaae7fca8c09c5c277ee38ca4e6357d32376350d815ca3848727ddff6438876f3ca8508573dc4360c8302172cf7f37d40d25421bf1df6b672ea065bae40f782a85a117c14d061182882ff1cdff4f371aaae95abb017c09d72d89809726a18ad4dd776adb7c41da9968511a6c4d0db4b3d56ba64f31592806ebf7a77f520c761bb469d22f28f803345585b098ac458d3cf43846c3d57ca4c7290e5d5ff681fd4264aa838f2b34e4b91599af6abc8ce918cd45dd97f6887516a9855173893f5146638aba8e996099b273a69e9df4fb3395fd85b9d42ed06f253f213a792fa5de955fc2eca3773bd5e3977861c5027b53b90a6299e8626d92e72dd37bd24c00d19ed31a23a7619874ffd152667e400fae05fa4cfaf2efe8bf07292811dae14ce29853b7c8c67ea7c13bc127cb957e7390367ab1a9ba177d51a3d2e7b7cfecbd43c3cc46a45aa9c07be913ecc65d745dc8b71caa7e0fc1473a3676a291568a64332b83d11b5cd6dda24d0d19961db4da1df1a7a257a3702acf572470208e65fd694d611a333c0118f73923c8abf50511a273210d25f64d0abf8721b5458fa61595338acb78fb5f789a126ba95e3b0133192e00e640dfdceb48472fe73967851054cf7e7982836693cfeb8c28aa3eb2addf06fc65f3fddfc6a7b7297697cf01ccb053f2aa213b5ee7aaa014e024ce97184adebe336c79d503aeb72cf178aac066d1e74ec95945cb728a4a36207ec112d773c309691a6b00fd89572dfa93065085eee15672be738645b90d1abe9f4b4e82622a8051981eb5fbf501b8d0ecef847fdedb1abd8048fb50928bbb37abf885620bf16547155d28dfa7d72c5c4b074e732ba91ee856146daba878a6734711af8ca334e55b341071aec1372df9ce30cee818e7e67feff21f4c7acb8ded0578247564381f17bdd170f1eba723e2170fb56bb1c715c13cda3dd9a50907a47f6548fad08828d0bcb5ffce77c54e61ac2286ae2a556f4e98d9b5f3a629e20b804455dbf580139fca6d5d7a31472c23f89ca7f33225a246e7ae3ffe36267cc6639a3cde528dab5eff7f3ae0f167253e634b9baa6df253c4dc21a4cdde8358ca6d8c522f021c13013b36f233a995216fb2a958738a57c37d7f47fcb0608a7d8fb1288330f852445bca6077efb73720d8b9b892e121f894ac8403b90c4d84dd0b61c032a08e78970abb5df0082a372514d63e92ab093c3d0a9a7be1ee512f87abc3f303aac71c35851501d570a217246d13bea19fd20dfac47de50a2d7c6e0e5ad4e6d0d7269ca23097361e7628972d9c05c0f113b7718e1b84a24539773c04eb7869d5853a5d125757fc328db1a728b8594ff0cb7ed7619d1df6cf124131b2666f5fc03d5ba07e48c7b2367235a14ce768f6219efc58da9a2981c63573bb25510a2affa8d12eaed7da7d864250672ebb30b27ce949ba3486df47b5db2497c655b49e7f984047b8ca50d5b96c0ef3a59e12e4a624d9f009978b02f71128726171e7d48cbe6b128f508aea3710d7972d46cc0cd68270d1ba7ad695b92d542c0f9c7168f65aad74564a7a2bb4c331f5cb8130b2554ebf0fe4fdf6c8b9638517286fd505adaab7d991a511d2497146072307f8937a41f2f8e220ae59a635a0694c66c20875a3aa96a12adbf30fc85e472495a13a7b42c477f425d26dd1f31ceac2ca4f1b854223b7cc988a347770ead4f58c08203a48639ff5b30582605f56fc834560464ffa309a1bda5f2f0a0f8555c8ddfdca69ba84a95d4f8abad6556572ba341ff430b5c263989497eff79f23472a70631eaf979ccf922c2223743c2292995305e08433db53a7565115c5fde3772984464629c9f3c52fa27581f024c7f79cccfbb503efce8a279899483a17b7126b56e78cca398db5c31fa87808048335e23bcaf34ee06f61d76bd5749f2928b141954e48d40b851f775a51d0b19ab34974ee6aa7ad15182159ea5149d8e1b8b399cfa542a4c1d210c63e10060a4407ba213b151b8760b21935049f7ee00446a72a39e9e4bc876410b8595c8bc5a25f518051389c865007a57e27c55548e88fe7287525520ef586208756db8e78f67a62630c860955f9acb06c1e6917d8ab6504cfaf3335511d4e9b36e4f80c1f085aad6e6e9cab2e237f6fab7f53ffeb8dc15154ec81ccc89b1c37c18adfe960ddc5dc64fdc2fdfeae28fcd291b2a6e0f4db3726fe125400e1a0960729e08d8713d3ba82ff6d44d53088b966817163ffc2fdb7244c10b4a732b1cc5c881ff2197d0e198daab03b676ad6281a8e2318d21e633729be57e032907adc1acec62efc198d85407278190eeb76d6c335c511d964a9c4e6d87a7e5a5cb3ab342defc6c898887e23d73e496d2c7f463333e108742a7cf72407d73d82340ae0cda24165a211259c50ebe6d36caf1534f9ff130127b082052116c82c61f31033e87b8e9a9af7dcddff1166387ebdbc2b222f24f1905307b72d78637f8e7b5bcc22ce12133b7e402d9d19fbd094006c4ca286d64d9a819c922b1b7db162b5255b89d050a8d76ac0f2a9d4a3dcf6e1654cb8c7e3feb59d2007202df0a5a38f3431e6652b85ba8be446ce89167365acdce2c4a939877263107459ad8790d9d40dbafa20fc4d7eddf69744683bbeed8330913a3c33635ca4d575f30ece6d94039f007ef8ac2055ecd92b7c0d5c0caf216f5ba02b47d2ab3f1ec729146afbd696f178ced90d57b16407fb1a49098a8e2c6eb33d30027ad2d00c5486149cf7620b06a772f24dc86f2bc9fc76a7cd470be8382d80ea6bd0742124c15e062547e84e051c28cff9e5104fbd5c0c4f3c0a94f4a1a4adacc34a825e8620236eeacc133e91a34b28a2fdee93e7c28536be71237a7b7e1bf16d1ec3b6ddb1e3d88408730354e2370ac399840c2aae599715d394611a0bae2341c84831cb672e00e232dd0f8b9533d7a061040c07caf9e40358396c56e87105692be134b1272117910d47e37c00e332b6321fb646c8913756a99444ad1378441d8d69afbe053184106f59ac05f63135a4410d6b9ee2062527ba559bf5aa61ae4f55a79807d721943fa8cb793d78b41352144727c9d6c3176f8c191bfc39b083b1c45ea70df72ea19bf24fc76c8a057330b9c408f5694eec1f3500b49b57ea11f62b85288eb72648ee56fa392dcb7fefda6ff983cf7f1e02b4ce0be3b9d2ad2a450c341b6e972cfa8b62c6b276ad5323e3ea0d9468d81b114ec829f1b3bc65d10a9d828fecd334f0fae03770950e199832321c54d97fc1fdc2cca2ca2465569c0a75870265d723d97ec62feaa71a9b49ff6543e32cb2137ef2b18a5898bcf83a739ee274c92720bec6e59e0ae409c53570e6d4eee5162e7b0e6d7d53ffdda79154cabe0994564413ed15b48b45422f045ecdf19f327e6381f3be3138f45892352f13c7591a75b5ca809285c3ea03ae5ba615b4f44379b91a626e52fc73ff76bec35e6ee919f72001b67015178b08c261b4f3dab71526681b3b20e0264737933e5b3306f080f366a35c083f9ce4d555b644897106b518d55d907d5b5e926dc6f4ddd0c0c280d72375f343b6bcd1e4b6e59daedb20ab52d9303d340393788be4f7c4712a7e9e272b3dcff360e540c3f6297b385662078821cf6f4eac580a248117c52f19a50313febfa32e8bf2705fb23e406d4ea1a6fe18b5201e130257beeb00133ae845a1d72ca28d885fc56ee563c15692d1ddab6e02ff6218746142e3390cfe3b5d6c9c313209b882bde2a2d4bb4ab9bb656d256ef482fcfbff938c2b8a42edcf27badf753d5ad04b25857545915bca90886da28e3f616cb973291ecc121ceb0dbdcc0b072ea6b05dd141a2a61aba6af8d12526290d1d61cfa8b60ee211c3f8d06b64c0109119cd60101f0fc2d596ea001c64a40e24f7c4f0effe55a8ee91cf5014507da308550347115c0021d79ed012deddea7543a5efdb065472a6fb4846aeacaed29723fc07c18d70c9f8f9cb25838a3e77634ed155467960bcdeaa1296c4307c36f2817ea8fcd26f3eb00b84fa01b1268e919fd3e9f7f3ef61baa6f9714faef8c3c72d6acbe59d38de355f3d89cb9979e14fc61579fa89bd39a203e62966c6316b372a2fbed832e12ca278fc8dbc37d4a0f3efcae5e20d8433935a33f6053caa23d36da7487231bd874b007992daa643d0cd0c704b9231ad5f60d9c43695a4118b10ba181e01fedce976c0a2e42d2fd4c8359bf199ddc3286ba043816f9af46c98b721aca48442da1a5c5ea09b5173ba4e55c559af7e3e58bccc638a29b8e00d2e57253401e6af3fc42c2771b7f34b6f12afb14b3d116850eff1447609c46cd5a4772440ac59eb2b4fdc8e676fb0a42550d9f133a071b04f17e8303ea3a7d8327b072e83d4836bbcd8f06058a7b5501fa8be7c23155ec95b2aaf3ce1a6c40ffbfac725d64fd00d60854257e8363dba7d234e43312493d841fcc81a023c32bb9461d7235171dc6364b045ff9734fcfff781765fb595e94792bac8a05d1b03bb2adaa0340496eeb05dc15925c3c80bfbb978e1b4593f17ffe46d8eb0d28126e8e29f2430af178d6b9bde6cdb9fb1e4a119be8516c1da8e983a5165ae66c3edcf1356a72e00e3d26d82e491cb750b84d6d602ad71b529747c26a7454b9de483ca4dd7572371d82f0c8e20697a3c4bbb95ee3d55f1f839d8ed7752ffac7d9095362aec572a6011a5b6ac6ecab5250b6594c4e3c32dd0164ae46b34eca49f30da6c0be6d726a9dfd86686cd510cd600ca23e767f69f9a400ea7ea0e17f8f8e31bffcc44b3dec773e4add4983dcc6cc1ef4cbd83eed6fd7158bf7a50ebf2752844b7bb8783e25fd122fdc984c7de27fa83b20c48b8deb6635b47b76b853631e132365559e59e2be14f74a5e30b861ed6ea0af88e44d69d78ca082dc2c7886f047336f1cde1d48e9cd002ed38a069322d21ed19de5f5b8407ff0fcaa9e167f0557a68ccbf04fb79497304ef63bdcf646a70c300b547a286a3fe765c4bd192cf7363e588d8500cd05f0ca8d6166504c324fcb112105b8d99a294073bd18d7073cb2985d425f631d78da838d274bbc7733eb0eaa3e75779c8531a9f3fe5bf75ebfa69c35f19372202c797ebfa9a57f25bb8b014145f591acdaaff183d75f3c707eda7747486a721337e13ad474854c0d9d7c7988bac2a9cfe78ab450550052193f36bed9be086bf9105b36c65f12a0be59a95547a0093d597af1c6abfcf33d40178b9b05a590727525472d3a81e4e6256b2fe17e11480527599ae35279f33a75fb2f4284cd4272eef5c8295b4e1db11ef7cd64fa30a54f52ca7cc1dd2bdb59ce7c30244c75f872c7de11075af16ccdacad4e3fe74970e7d01f90542e4ff74b799f4a23c4255e72e695270d4a8c460e5c8af9ccfb9aa6d58e0486cfeb96204a5934aad09eade41127b394143e740524c715cabd7276fad9f5b8facbdedb04a100002b82bed03a72ac3a89dde430a65e0f5cd4682731ac91d31638c3a63c729af1bbe55123a7740b7fbeb81dddeb85e5721822badd401aba86a76f5d577d137ae3466eb603711c7255a92f732199bfd45bb668d88f067f0e773ce50fff983e135058126ab9241872c73bc72bdfc1c29af5397a4eefafd33be08a87787c2d0b50b878158fc3b8426f4ebb665f6f97f589d9336903cd12511e93a4e15377d2d576e14e081272ccbb7284b58b4d2d1e361541eb9e03d67b4e0ca90f51b1cc47a01fa61cbf1c8a02e43dadb2666d40a084c7a516cda677a85210b303782de264665c96987e270b7c88721afc5b1ee1f37b9defbcd77f5d1a759d94e6b02e5c33b3984662b4dc9fb2ed7243619055aa9df4203bed8b3f08bfed307e3490a2059e57734e2856cc4dfb0f7277fbc63d50dd61f6a07e1653c86d07abcce480af34d470292fe9fc7e0781f372e850d04d411dc2b118f78ccc0ed5b2a40d78288902e99c72305afff7fca7a7729ee56abf8d10c6deb791c1ef757ae0ee7eaf7631d43417c1ffd2c529e211cb3650bda4118260d7e5b4f4b7a7de2876bb404c35b27e75efe20a6e165ccd2048723e084878a16699a46799050956504c28f378ccea36826fcc8f46c10e9a3cf07235eedfb0f4e3b3a1f4a49bca362c054217221d21a41b7fb78b56f6357927c67225f1b20d25c91a4e7eaeffd24724555b11e838b18d533080e053a86fcb940c72379050201431638e35603f0247a7a138f5cd0b245844044bf73de4470e521272d5d5d4f860a9ddbeb7dabca17ddc7645bc5b8c87f3b5bb5065e541af75f7dc727aa3ef5b2543d89a1d122631c744e79f30595c6f48a8255ffbcc87e93a000007aa089f7d0388275c41db37bc1f79f76c18507c378b671b430fa7459ee9fea97275837cced136bb0d739fb994950630de996b295f49e9e50f734b20e9ceaa0435d98d25c2cd518494ff04dadffd170f1b4712899178ed9135ea4071693c98d9727c85bfc9bff7100944a21e1e2867dac4cea3a7e412f2749570a8a0e0d7f1f73810d8755a9c688cf611760047288566f1997c37b2255e3989dfc9f7c4b628ee6c6ff10a32ceefe6c83487fd4241d1eac98c4ff2d4b98452181e87a904fb7b8c6fcd551f58b22c705a1f878e649cb3a8da4cfae7858c163700c40c42f8bfadfc22c5e50b556b87e6674900216eeebfcaf0879de53dab5b69b667941f1d0b251c241826c48ffbc1a7f57b57dabed7582ae503bf35827494a9522e02b4e6899a11722fca37c773d421a620da20beeb7afc95bfe7b82d3f326e1a3e9f59b219f50872da15bc4c2a1446113de79acbae39e3172cb59c46853612536d3235eb47ec1b37612d5a8c38389b468684ee9fee205869973c29ad68f791b0403f07094811094aebf3850b73ff0631d825723880b13d5b265d5f5cae6bcbd4f66ed4d0d1ab7072702cbae948fb86616e33942e3551ca70ef5a7a1af845604fde8da22e441a6a53f0501d808cc7f5d190e55127cf15516c4568aa2a727817f0e5fa44186bec745392eb166407378e6443d084aa7107a2de3d9a6f6c93c198c6885dc9df79974552def8e3f5a9935b2c5f7ff943f61435698ffc46d3749e2853b18a76d981f33e08a189f2d9f8fb2cc08e64002458d5251d507944e93b521aeb830fecb5ba370472e792cc543b2b094a4d7eb34953b26273188b58b5c712a3c9fffb59fca3e3d31db0535f58398c4ff24d18b45d505449561fbd36f702f9e5a1a79e64e8e20dfb49a13ab1e7f0d38ba94ca4397f9133780a6f29812d596d0c17fca757ac1ea3d472f892ed0279c3c6eee9cb404dbf379d3d6e12ae77b7bbaca8256aad66270de45cdb1bb76b8849eabb53a60e34976da92fc5a2b4f38540e5fdcde6fe6509451672bf522b9781ff90f45defcbc344b69bf557b14b1cfc14adc7fca412e877f6be30280e87cd93904c2f4d5392f4d3a59ee4205e03ebbf70910fd0b32b8d9dd67b7222b5a1941f8158f274f97eac1cbd03b387386d4754581c9dbb4bb4c141ebbc7219b184bbb5b8f7f6d5bf2142a33c91085b5bfec911e44a0b990b18439dd0e472e9566a6bd7cf4fc1bcb7b367fb7f9fcb4bd01d2c2d0bcdf0fc17785e9216747218173147c35668a0f63695178d6f5e99f28f585c04c9ff3776a404f18d0025367bd176dc50da4514dbc169d1d989b6292362a93bf302739cfd210d6543768972b4c3867866d1d6c131d79fd6b3efa503a62ccbc29a9860c872c704ae23dab02df637d496801d706a9a68a1e428294035c6ed49304e5adac835506b6316d9f47224ecafb03c55141b8b81cf6b3495466faa1093ccf3e5bee6b16faacae40ac74eb80f6f56409e1c9db69e577ecc65c5c1a4dd6eb0546d1062ffb0fe2b1d572c19e0ae2b4ae5f98400dc504c3536f6df98e4174ef523832d259095768c91081c72e5dfc3b5b55ce528a85b11876b5eb6e1ac9237b9f9b0a6f25b26c4f9e274104d68eaf2a0bf7f4475e394e794fdfa296fd79e13a048b1dabe936372b548db3e721e6f70187e08f5b4b44b2fb5fb800b27fff8496259d1c2876620ad808f889372055a7c5d51c55c0af314fdae7fc5400032abab0852ff09d85b36a1c0c8d5b772ac05da26dee0c2935f8636caa238d872a7f7bf7eb24a834f76d56988d28b36726bfe33fbe7a007c8042be3006eec08106d5c7c39bd585052fdff41fe56ffed72c585eda6fb73e1734cfd97a8ea76a8eac69bd5609cb7ff346fefd1257dd3e04dcf61103fc08fafa1bad75c5df67ca8bdb90cdfe13366ea943eb7ea6a1ad99c729ae9a2a42a10c93f713a09f0d1617214a5dbdf2f158be023bb8c58b70551d268073965567943d6bf843507afc491daa9fcfd9d1435834a64beda485d28dafe2c2cf361989b27efdbd29c938772c4f721e02791f0da9ab089eb5c171e819ba460df22c20a5242dc01ad8b563ce29d3ddcf4de2a59539929c6caf04d8929a8233c278f9b2a38234a26914420c183528bd7b30bccbfca15afa0bc7468363b540872e789046a890091fdc0148a5d2cbb0753ac11f0a2194876dd504d2e14a63e16722def74a6f56d6a1cdbbe6e0a7d05102853cebaca046965df12d35189799e9672827883d97bb6b30747c2e685af4ff50fa0cc3ca26b357e8d99a434d4092dec0c52fcb1505cf0550600abea384f52574b043ffe587bb5f8bb6a209c12c39c520682b3e719942b951c15b0f29b9f88d09196188648deb6834937f0540c4491f872a7ea87ae54810ab91ad1c164dd68e82433a18951474c3723ba75e5f410bffc72964ce53779eaab60b1d046b86cb942b3d7e9a8cf5a892445ceb4ec8c523b9872caf194901e2c7af0856028dd71ad6d536418725cd3672e91ff8254c4dea78a72143a703118203e95bf21bf352879e349469d6f9c84051b2a199fdebd934d3666318ae1944b9b71985e8bf97f534f1d1b05a83910f04ac564513a355427900a44d3090a5bd39fbb5ec113685707c157d53441a208caeeac8e1a42af2a9c03bc7288d678acfbb3466b63af00d1271d1b5f40c2c34bb416d68cec4f3c6141ed1572b4c2a920a6d1a0d54afcc20c4bd7012b347350b55c09c42d1da6b6144ef1c33cbf0f6edf6fc10e1c8ca02c652ac4cdb1a1a17ec47f9f86fde2da9c4f37c21868bd53d0f3c17204559f33984c4c3dbb9df1ecdfd0640651192f1d980d9cb83b2c55d4c4eb1ebdcb5da5dc770e66c92a8ca66212231cf0178f0448b24e6b848172df8383d2c543c34c2ecabb6ab1b1d9f9b5bd8cabe59755df3b9a95f885d20b7232d3520cd8e8709d915d1d98032aa5e868a738488fa878eacd5c0c7796d95238d46d176de3e7b63b5cc7be15cf4042f624260c89ffd2003e9b5694bf19fa097288a1470950e3c79343e3eee8cd031fc3022cc37dc805d3a74931a554b93d042251ab71ecc39da87e66c1fde5a06ca0610b5a97f721e587f9eea64dc014de0772ee267b80b7cddfb3e20aaf93aee6b0b22e48128052fb0e08442b15f6a5ee3566f5a857e4c1d677c6446ca44ae03fdca17ba9bc9d2194edda00ae088b8f2b351de4a051291c766d4386c486e919842005bd37b0aba30c2183653d928dcab5b70b5308585c8d23fced446e4057c3ba86262a582a4fb754d7654959bdd41dc7c472f258c2a3afa6d772927fd6b7303038531e6cc128ba971f5d258ba4262684ab0a9cbc5b4f191032bfff60afdc83dc1067567bdfbf6eb8e7aae076193d57223972cfedf6d38b989cb52f27cb8dd7cb88b97f573427fb8d6335046dba37736add7270a03470ebeb7fa5a3f7d7af70fc16275237f5b33a0f9ad1bfcfbbd3138406723c3f1a79fc22032bec3cdd49da880ed2f126239181e27a2328567d295844c47238c295464cb3e55802733a04ab5cb57e8b79f7d31c602a249b5244c9e9a9314e9efef651ebd2943940ec0db4472c8e853f8b2f9cb8b40096d7caaa9d16ee4172ced025732fc63c37dec0a29a911553e743764815ae482c0defcf8ef8c5546d72215a01681af72ed80df5c3cac7580b697e5dcfdc7ae878828cfed42eafee10040a008c7574f39c1f775bb06e5860444b61ed14f6b3d977e4f7f9e61063a2cb72b68f8e0020af4d4ab4e48f275019102360e42b993bafe1e9ee8fab327afeec4c3e0307fcf6fcdd10da19e0245439b4bfa2cebeba330caca74a4ea21ed4622372002b5e7f8aec2218799df4b2e360fcbfeab50d2c69f67f78c4326afa85f31772f796f4bbf9ea69b349789873cdfa43aa632472fa79da6b8c0e2db59bd1f696728fbac5218dac79e205415b548f9035ae9052235a0ab43f0648a232daa555896835ef773895b0ca9110df310256c0d82edf9887d6bb94e7641f5237a0c0ef42721ee8ccc3e6712e689bd283c320ee87ca0f298bd035fa07f32623dbf438d19272e35c36dc9b901be0f6429ff8ca20111d40eb37b91f14af13337e9921ea5d4e724f9a730d34be51d5d45252b6f7c19451ea2b65f91b50c9dfdc43fd8176903a0d88a8af17876be5c3ed4702758e37573d20e7175cd4e3ffe7235e3c7da7e6a372e6c148600c4cffff0b9fbaa0d5ba98ef79c84e06738f2f51ec2e872638ca9b7291e911ef6d7b713e50da189c3db6a26e62cae4e13a4db3da7431800576b48d72199207e208200a585877b22adb7e7c64320042f995e7480a2c1de0c95807e2085b3540e8bcea91e670d69680487f7cccc2bc5a47b1f879060fed4c5b4a5b375baee503c68920927ca3b9cfff89e21d2d5dc1471e0b77402492475b8e637834727dfc854d30b0c730e0eead4988173ecbab51fceac1eeda220e35b401378b63722e3a61b926062c6027df78c8530cec870063b36d87cc31d157e2adf298c49b72f44a578a218e1dea51e66a0c28dd217a710e36e59eeb0d52ec4cd2029c519d6ef573477166e29d3a8ff7b69d07dbe0a60277acf8c7e33941e1d6a9df09588a723323d0086eb107a243440c66d3370ab5e57fabdc955b3006d1f4f7adeaf705729672385f6d6ae0755af18aef6bf588fe75f7daeb0c5d30bb41e0b8a5dd38344ef4f72f8359cfbda1ae58c55aee3d0785d51886bdf187cf9be787e9325db7f80db5c9ee01c09214f911086dce3ae2f0c941922872c1af9666015bba4c677839724e81403f337b318c06d5e26cf946db8bffd03975ef7158b2b2e277cdf9ddbd5e098ed07d55ced50b8bf8135fdb67f227e52c17f67cef106605c188637819592604dc8b93f755232bb34cd98a2dcc5ebcbcfeba2b7aeff30e5d9bc39f3d9199576092227b0c747f4f2c1e0379273c228c8295ac58af431cd577e8d5b421ab6d72d0ae1fdbf8660f615cdfcf3b9ab96e900e4b4899c15e3bdc4c89b03ebe81eb723eb0d6d4c929f674e82d67d9b704ebbcbbd99b45a471721a41abaf11eb1263724a186313b3d5c7a68bf9b9889eb539d0a5bbedd824e11c95c71b19b9e12305424e867e007ad04762aa2db10e4f81a3af12a32ce2211cb2c0eac1a987a0d654724607992414cc97516e81a099c5c06edf09a259b050269199fa5763e1676ab24f752cf3b1e061cb16f327ed819a5373565a1214fedcef723a1bcbc5a8e17fab57339afdebfda1927bfd6ba95affc4ef4fba4ca3ac705e0687ed1c30e0726e0e72052c1fa5008a6ddd977d76ec2cabea8f3f97f467901eda489292597297b9ef254c41a4ae352734a5fb8ba731485c04b02db3bbcd45cdea641a47d7cac9c7ac7208500c66101a843263d84e1e1fd1d95244499eb87bc826321bb0ef7ad113c272167d7ea4a65cba2bf3fea9c9874adcada9c4818562304aae6eda87167c1296725918708d64121e55c4e36af402e6ca39cf945d99ecca036c364de2c3ebfbf91b455a92d671c735a73b2fdb901bbc6a619fe101fd476577ac7c0d3cb853771e72889a6740d84c5ff88a4cdf1338c11a9c79d70cf4346b1c59a0a0cff129a10172d9b31cfdce301c7ff5fd2369d7e58c2b5a908169cd93d55ebf61b1f756f3127252aa4c2fffae90fe2635cd3094e00264fc90d8652ec1946d9b97d3d55c7382553e47607cdf6a164c41a3e0e3008e594b92dee290ed43df5430c5b8fb4989ba13002b9f356063624793f50c6cab99df8944ece8c9fe56636e938a88c017f4c42543248e540176070a81e19262a8cf1fd0417cbb8c0dab7a493f35ae09afd1db728e6c076bbe45ec60ffd3018fa8b396e37aeba7bc99b25c3604dcbbf760441d56a07a54cf56015f362675688589c186149d0873b1a2386b419b3961e7e57a5d0df9f81e5fa396b8d13c4d5b95984ea25007f55cc35bbf77a1a5cf669845ce5572f1517687f061d4997dfca4f45fafacd35a33f444554b017d9f3be8a3638fa1728caa0e06013fc9142c9186f6693734e8dea96f2b68933ee1c47b55ca45c9532b639f988dfd15459cab67f8b3240c66d2cdf860a38ffabc6efe7b35934aeece72d82d5d72be8666c6a9df65f2586ed2c2e2bff6ba2bfbacd42f8e312d9f42d572f5c34904da8abb411dab66e43e1dd64e967f6417e0f12c594b920a069177fa5e89696ed6d3374da0cd05eec43ef4d02b40d3192f4d96b76d045a0b0dd825d54ef1a923c81fdc0422888bb1d81ea4d070eaadb06c08d76994d514d57ec853c82e93be8ec553dbfa20f4f26fe2bd610ab5cd4fe324c2347ea850e8ac87a27e8457004a7a34b836e284d3b56c703ef098d0bff468141393abf876eed50de2552872d10a5ca18088fb4532acff3d6964b80f42537fd5d1faff67fcaa7f4799cc7772a2d48ebb92599bd4b9629f794e256b567806bd244646c6ee8c05ed5b674860720efbd0a0c56f1864a02190883c211d60d50fbf116868eadabf1c5e78ff86f372451d1c0aa16c0735b4b66c8be5e32a66e7a25bc6a5e676c552b9fc98cfe84d727542b85557c1d8e5c6e45e891d178d0835634df01fbe96f3e5ac291cace64572b18438b1ea5f24ddade2dd335645626336af92594d3307e2f316c94b4df5cb726b0578d90e00a519cbe5ec34b597ab50a548d07463db4d0ae54fc23334be562209665023f804cca8ee424a7ea4aa514009404a9118e255d41d48059054515b72ed00c6037591944049a42cb0eab9f507e7847780180af306760c1364e107657252f3c43cc7a9f7607d81e805ed36425e3bb4c8fd7d0e782b520f4f771d1b2f7276f87f4094e18505a100d31e975db640f4cfaf0bf944c758f4bca9d4a95b1269c0d545dc9ef3a334a944d65cb8c5aa63ae413e567c87bcfefcc570134a2c305a65cb9f05568928cc222f019ac562bc7b5175f59cb1c085db408601b7d3a62d72e214fbdb16d3f2049322d8df7759b13b042d381179917a4f59ad753198a76e5c16324f04dd0310a79e259855af8963245cc9109e9c730138eeceef90fb39593eedcc16805ccb0ec3b588962eb1a4bfe38ec95812ecceadcbd2e83a97b6b48972014ff47d5b06d9d88f0776ce16d1491d792c9105d22c0c15d730e2395039e672a71b44171b37e155efbfcd6b286d69d995dbafadf912ae04845f303f2187574de5ac91a26763e2832a0fe5a97f66334a6bf8503636ede7d1b2e6c1080ec656367f2d36fa9a5d4a5205cf8c919c11c47a1fa0662bf987e7352bf5af271de25a722b0ab49b154d709939f039c3f6ef1aa5e0fe63fc7c1cc92b41d9398d2d842d7229e829ba043c664f0b09d826aa9f697b7e51116b0c271d2e618e65b6d48ce2208251f4fcf893277b6fd8aa2bbffdd1cb8b4efbb50e8ac685ce6442472024b17247c0e57f1e2637eb85c4e3774c2c298054fb0022c26f39c4eae91f23f611863524274af3eabbf2ca25f5df241efc94671cff373a32ff0bd6953bed82069f84274d3d1a5d0197226d67084036d9f788c47d5cfff7b32241ba513206af4d6a09237773e068cc25e980d818e50cec3b8c52d66cafee327240a4933804ef53017972e458251e6c7cf444c849781646871c36311a8dc3146f6b48a30bb338d07b523dff97113e525be29a8055688c2c03da6b10e3295b9406e00c43921e41a8d54a724da883aaf249c10a0c78572a7bd7e004721e405a677f89be82af8be3de5a6e72e338500aed32f163929be1b16d464a67bd76a1583352d36c461c62e134148c7246d8e0396ee62c5e14e43859a4e243a45e669dfb19e5429f3d2d2beacee1877271df0d55427268a6f3def5a38018299308ce279b6e01e81e6a6fa6d4d53fec72b49c83e7ba0d83ba12c16d8a33004f3c21a0af20efdda3c2281a16ba02fdbc13bccb039165dd21edf29269b3591a243102df5713947ae05707447ec43986651260f810ac39ee0b7c7646b4c3fe275b585b27853f0ab549efc4b862e801d10064d779a76c72a94cc0ca2ff6af7a7418a29776d29d95e5caebdb115238cf426072c4649d8b0dfd67c9aace0e8adf43ea485221abecf85e55c6573333d242a22a72daa864893caccd6ee16cfa1fcb5ee63de7b045f601ace72c2f609bcd030923724e3bd9e12fcc29950536f5b17b10a939f62a29b89340bdf21f65476636d3513540d00cd816fc48d81b040403aeb963e6d2bfd88aebffb899ff502b85825d38727d49bcaf53f705817f293de08b542b5172e5482f1ead5a207579329f97a952727f4d0530027f8e45aeeec2af5139675e824b0e3d918435872477bfff5f3b253fa139e70f668e5b49b365660a7af210adebb4d96ad167a2d6bbf440d61565e302b62573bb5626a9f59b52cb512ff2dcaaa7e269ef1f44edb2841e24b2668eb938eee459ee119a3f965bb44e296d549c86780ee4d3c9d3b0936b93b5da41c4cd69156c698187e46d5e74db3772b022d2757608e9777b0c52b58bcb53874ee5ae09a8de3fe556f2442c4195fca41217eb6a219d3b886b3e791626ee551030f6130451ece31a8cde00cdf7b5d60b8ffd17adb0408aeae10e58a0234869db6380ce2ff191b890cd60e031eec710bd269b888f1843771016ae8e171dc90c62edd47208bd8602b897cce94923229359e03e5e66dcbdae1971964baa0edff17888a38b4edbe9b36b12cca0776048000387ed4634d50eec738e09d396bb4815758a749872425bd66a7df50b945165b26c1fdd448d4e552564bfc2d4dc0afa43754a27de72555d133fc8075828113c67af53ad259827c81d345d614e842ec48954ef0847435323da426f79399385fc0629edffeb2eb91f83e6edc3ca9e6e36bd1834150972de7358295b61f6bf3d9ede8b565ec7df750d68091ec50e3332d7bfd627b96272d5072fc19a33d31bee52a53dfb9ca02cf9dd7eb30791d5f0a872b767a95f675d683757919eea2801a01afe358c85ca7a0ed3d8320e90aa7b2eca049d6450e352b2833958a86d2e3958c219338118dff097d9ec2f4ee91cbc3b5dfd15e6b34331543439517b2cc324a00507be425c9440e8320d9c6be9b49b3158d3a5f57a9472bf5b8005ee3c44d81687c7898cf07c696f77555b7808381e59e5b35e39ab680cea04c15e23759a3c52e79ee14bca7de15531e404918bad548166af48adc955671839788d0b58b1dda31f5552729a65b7f11cd278c4056689ad7b664dd030be7254ebde052a6fd259ecd8f959d7afa483b14227196ddc6d8b3f9a915ddb3d825f39515164c0a3c9c6feb06ec466d443dfa7708001b81292be2b64cc69b8f78f48a5805faa7b56ff73a0eb9e43c80c47ac31983a4fdd69ff3dadf21414ae52c572d6f9fa42092b14ef7be28229616523beac50575b74041c518598a3537c756a72252b478153af8cdf0a9dd19497a397310860a73f0cf4fab204a476f26e4c05720a5bb312cd6737ba35ecaaedb761091a3395e6b026a04b2f0c6eea13e4dc0a2d0ab2ad041f938985a0c6e83f1b6deed8926d5faefaa27b13a1618c6f28ce9667ad4ebdb02e3dbb82feb71c701c75bdd64ff967d4b1e837177057419d9cc5b672e8ce09f5c5d13778a4dba5655ff3df3d32b3c5d5cb73df8a7787e7b78af6c807ffd6f2f47a7bd9ab30bb9f5d54ec630d8d854918b26aeb9c68f838aac02e8a72eed6d6a044a67a774bb45788b250b4ff6e513f55aa86085120ef39dcdb84fd729ce7e6946634df6684b3edaedc9e88db30d7cb1e9211e58c858ba7089a0494724278273b989ae9a049b779ca6cca17f6b8d5dc06310c97b6b97ef93ccdcf7e72b8d8b3ddb4cdbf412823b654dde33a2caabf7427feced43bc0680bb94567c7519759f26e38e09aa58d0b0a4664d4dad952c599f000a1385ac54261d9093752720edd6b747968ff4d7ea8436bcdf23827bc38e1780dc20d51549391df38244e3879a597cfe871b43558ac801eb7a606b131acba0fa15cec804c23ca62cf50af729c385ee356490f6c823bd39c8b2349be228d93cd79b26d5811b2e47719f33101fa3f9a56c2600c045180c62ddc87b006215f7eb066e0656f5723825a0e035e6b46f647790cdfcbef7db200ed3ee6e5eb8a0cc4f2c5ab481ed82d2ce9028f3972e9bce8f9a4987664f37868c633243715ce56302148b68b07e0ee8fe9b0cbc440936f3ef88f799362ea31cfc6e3ccaaa699d15d05bfa32e3c14d8cc2a5842fd5e8c44ab8de3343720fd865c50406be52b70f1eea5495b228f8b3813329eb5ec217de2f297e06152fb0982aa91c24ab52b83798f6a5a2ec58e7f3b0e7fbee68572931f7d6c22b26848ee8c27c91f1d2aa20807150b6a7de9998d253b0e4cdb5572978701c09115deab4d0ab379fa3a0f25f6c2a5d41a091e0054ac44c7b664c572be05ffcb62e85c97fbe76800f60b358d199120670a5906f4003b67c18db84919b67971bc44c978cab9620a3f317129ea516e65bbcd1850f839aa87f3447e76727019c27400e16c5c58b56eacfe2e106b29c970a2031e177ce18e9f5d6624a972fbcd02b3d778515a2fb705a130e680b421d4197176c1264e118ea9e979ec1772c6bd2941be0fdb8f5037c728480dc729ec755b4ec0c1facb1f9f4386ada0d172810ad106cef247ebdaa1c9b3605afee41dadae4256fc07ce609341e6d6ddc372e78ea1e1ab9d83b2462a0c09c17e8e65a66ac14be05fe67c0c77cd21ada0cd2171242ab49ea744445fdf34bb11182e17e3e7ce5811b4cf2b203c182cd86e7b72b95b98ec98fa5d2e72ca146d7d18caffebef80462268f10b538affc39d69b36d08edbdd943717db414c07c841abf101828967cd5c2e8dd201d597c28fc793b5c3da75398518c23950cbf48acb2351c9a6910ebd6129d14e125daa281b6db9c7222df02c7c3c50375974762b00c3ecc29a50e783154161c44ca6e3cfd926c707238b2a9dfd19cc6ab2ef328ae3bd9e20cec537480f3f5bc5c688d246f6e11ab720c7b93059056580fc01724259eab1c545effcc7f40635a57d81eb94f08ddf85123725de9da2c02289d5e05ee36e8db971bb359340be6931035e568ba2cbf9d522baf3ba070d73bacb0ae4907db6eea2dea0754a519274e001bff5051f8748c72c89c782159b90067457bbafe5227282c3f25e311fa2c2eb693d9fe08034ea97294ee877d0e890faa094537c1cee342ea4460d2ad1aa3ee8d1de9e7234deecf09dfa7877ebb5522c8b45cb70f8e581512751d56bd1860a96047a93a17faf670724f1b897e5f272b7c917976614b7b415f8fa0e205b617cafadb2bb246850e6572c718d3cd04ae7f54c483d0f6804ea7073e43f188dd40b419058b49fef1fe1a15c3c313f1f92fa6004086b7ec5668675a3e89939fd4517dd8f5ed0247536c3d5a617a67e5fa4413fdecdaa3a54257b1df88ea5b87161b357b6b7ff1b80ad90d72af5a8baf98678eaa9ac8e878f71e2b1a81707b6af19bb616fe48a629e4f22e72b06469e9c4973962984bed6468d7b73e01068dfefb13a2e9621382a37652d8720da7e16c7ee9f791383cc2ca1dddca01df53b1e22a9c539c81db4a03558fd9721e1f86a0584cb30bbb62254ac558554c62a9542b91974991f7d91d1ee090631a0f68e733bd0ecea2c4b8eb5844d58727d752e3dfe8d039cd0458ece3ae60dc28781ae75660acbcd96a3e3352b290947b28f75523f37ab13db003cd595427df3f9328a97c529f51908236977a2f71822eb2b22e6d9935c78737c78e9d45b3300dee681a6847d62c33b591911958cee43144606cf150b5de5f1f4016c246df2072e45865b3abf37ae540a3a86b1ece00077434b847c1b95daf3cf907c46dea1c72b02b109385066a17a8397bb8e546a34f26159020d6a29e9e450dda86df176372d2adedbea1786831dd992916a497f3611c0e0de7d84e510fd716d80cf9b87072629d66510d33bd766dd331fd297c570671b74b24f3449ff2c811909a198b1b1c0aefcea4e7c236a8b520f996c0aad88d58a92a8693d6c112a7e87fa365028372b1c380b2837771d64f2192ccf67f99850ad88c3bd13d68f1bae3522841c41a2b70558c63a83c17f3fc34fbf72b844b6f4a5ce5f26ec8bfb799a178091d501172ed5a651a0648e0c102933feb4711cdd94a5f51f9232e8464ee9172e023b715724c60e75587b4279a3406ce3ff945d7cf62312b44ac0165d282ff89cc1785d1729be442ea1b2c48c9c4edde1c87c59be7b467b18779aaf10964e9c69ef1ee2e72bd89a240afd590d5702fd66a0810b7379e2fb87ce8ff45025879690e436ecb72fdb6f518b5df534fdf56349bab00d4abebc836ac82aa7f24f4855075e3d847243960d031f7365df40fdc10a9a9268be573eb665ede72745a128fb9a204e9a351e61c561fcd7bba07166d4dd2f702250600335698e0d8ac854527b73fb139327243da72e6c2536373d66b415f19b20ec3447c2ae56f182ad3447943318bf59f2ffcf010d5c6075c2d650db50ce8daeaa5479092b51cf34afcafc1a1eb8831be72df80eb2ba04c83c6358ff16f1bdfd02e10c61125ec5c6cbc96a356adf9d7dc72ef7648936afa7d7b4b00a6c0a3e64918b1385b3a791bf1f97d9408d3f0e13e1bf79a59f924adf738be042e82dd15561e0ae47182114fdcc10e9ae4bd3167907299147b7cb14e148da3ceb50281831309049a7ed372f11b5c3e13cc0daa1200729b517f3cc07043ab29fa510379b3db910dabdcafaad4ef03822c3d1cf6b10c7282156c49cf7f7239785f6592cf5c2f28fa21fd665b5fbbc6bf92b255b3d2c30fcbbdc44b1b8c8452d1b320868861d6114dcc96e62bb6af84a90dabd8e4df01724e4bfb4a18c0a64a6d4cd8b5e68443b3178dd92c070435963b797e32c8de701f5c06513cc7b4b1701b7ed48051410c3f9141cfb31aa8caa01a80284aa0e6205dd15cc48d2ad3a4f0740910d4b16b3ee464b11d375f3d964c41ad79586be38118342f26ed16466a2c604e800ee3d133f831a28f14f6e2d0be17f0d64e7fdd9a70afa4cc06e778cdc28482f2d9846d00cbe57524ed8b47fd21720f1c8251fc4a7237ae3058324d21d9d836bff3798f16bc82d62b6d8c2931bfc28f4b6c86799772e1de2b2b265bf9e6b2d2af9f6c05a9b431994c267300b8843c9d15d03a98a372dba456cdf1268b0a2b2066737d7a430c3c17fe225bfbbe2f14e8b5da6e97ba3c1e6ae120bef63f2bec8442414471118c9bc069d61b4103062a96682f703c1572d5055c515eb83e76b12af48384ba3d0b7772baa5f3e8e70bc9c031fd6b3fd719a04673aaeccd1df28c7291979471fda34d20cc974fa4331b4861cbd07698645bfab0253a9ac7233512abb34324a29807ca179470e32fe17bbd10d6ccf67e4072002e753ac6301895a55e40e5614f30377449d358f4c86df1933041272c3f0700f829bdb34b5796cf20fc262e8a575a472d379f881a20213c7e396fe075873b20c2d1c7ba09a11804b48cad67e9c3b35f245a4f22d5b532ef25fc48a7a22bc765a617e4376e02d2920158af4a761ade6c1f73a7691680e201abd26a21596725457865e25b5d5d1774370f71091d08a291b558c1664309cfa15f89bd9cf08a4609429d7dcccd73d8e854759d9705ca3ae049f0fd7dcabca83860f6353151a2d1729f741c7825bc13eb38a85efee86cfaaf1d4ac7c1eec1c71525bc2573f5ad9d72c1652cec2921aac191d98452f30977769a83eae069640d02288bb9a95b170b318296eb21b87f7050fb44b08f7a653ec57140b868f7ed636110153d1097b9db7200b2c5c1a5b9dd07486c783ca50eeb06a496f8ac33c536ee9f623d548ed0d350149aa439d5e668486bcc27fdf3fc5f5b823ca7f210997914102026c4bdd17a72d54a26eb134142d8162f5198fbdc5c65dad7d88d51c5b3b513369d930f0a4172e753332c44b78ec67bb1c30064c666fe921df8b7a3dbd50a892a0781171af4728c2a0d8831d48c7e78bc9a97dbf3a5b37abaa8172acbed2954fbab02718ca24cc615c9ada0a83bd4eefcbace4fd08ae0c4390ac95a9f103e4f8fd76a2418df027f8a4546f7085d7114f9848fa855211b581c71edf75c0ab1ae09c8011990050a03d21cb4d4fcae875ef79335f13536f5e92980d293b04a667d2a2373ac71de72fd2630f0549578cb08ccd4f5c0751ee00ef3a54bf5e2b9f5ea49b43a56967b72703218201fea41066c341ec148d85ec5764b7bb76c7efa5b3abb12d884cc1a727d0c184723025471196c9e4fcf3dd3b3f8d09098fe1ef2ad8009ce06ef910e720e6a8fe358d3e475125f373076880ccfb2e26895c976a93189d7c1e2d34d133d92e9f662fde5cbfed9c6a3dfaa21d8bbba20969f128dd56ac8f500f1b1ca092a346a5ca9ee8b7b503bd669ad42ca7d5c8b03e4d0cb6ef54705697fb5794bf472086506b7d9744c42248b0571150884908c9a34e07b4a2a91bbb103481a7866722a2e6dd7e6312db84facd3edb57c4357953d693207b3f3a2fa9aab73d336da2743901cabb506c0218c69e852106c282a88f3f34737d76cbd7ea5382f3d638a72e0c23afa7111afd10905ef52005f643e7545735da54ab0444044fd3d5a3d6e7240b2d3606a99481b9127a1d6cf3cf0572da62182adfba4a5f4b0144da79f25726a00a9541a54753239b588dc233f2aeaebe07ca644ff33f285b62a3b37f47f725f5ca3db8c9ce0930f1b33f803689661bf3b94d3dde9eccbc59173c78ced7e3283b3a6f6b49822fd4e99193ed18a64addeddc29e5f030d7511d6b4f139ba63721446e10609b00cec8b448a4b20636c583c34cdef6894d68fe913bda910ced272d6761189e4ba59d70143cefb1a1ddc0e73c36fcf758841725c2fc97501cc2c5bb7cb2c2838783f4b46c5d17f7c51e0ae03fd1ca8f696b31d5835edb58271304214aaecefe821dde3ddce54490ea74bdce606c9a17e7ed2adb245740e6246df31c69ee17a58bbcb1c3abd76ee382027c314e67be7409a8fd94f13aa2d36c884253a966b51767f02b5fccaaec211bad66f422b97afd60477ae2c34ac4bc925a072ad1d15f741be9bb2a655400ed99e4dba9891edb425662ca0be40245ae1115372ec4beafcd778430e410881598f6b984f4ebe38157a2f881f3adb64e79e5cc672e58d3db949faedf827e1051659546aedbbf18fee150876efe1db7f4856b259557573446c25fefacd36e02d52d7fc025f38adf5e917631132095831e8eb63b97215ae79ee9839620bddd5c72aa652288e78b90b8008106acedce223517876911f5a9a6eaeff54aaa4fbe433c29e9d71f1b11517520beb8af9cf6382e91a06b5721bd5de3af68e505e1c817c89fc2d6328004822864f9fd00db5bd9d61ebb9360490e83beba3699d8931d7c8e5a4f19c7df47bf257d445fe7787fbf50806754e3632d6784e82dc3d3be4b0b143e61e99aa9a4784c25ffb7f4a224e83ec2df42326b24aa06781b8233f88d622fac2acaa837d060c7d78b0069b48a4cc55dbc7fd722e237ee12a7a733f3eafbaa72f13782b2d43e401f3fa8f728e76d23151dc9b725c1b2d6ddba3e730a2f954cfb1b21ef309d42f8616a84b47bcad1656ff47eb129b1f50f4fe58f64000b6547610fedac7d079f46b6cf2324365ca828c197bda72becd4eb77778cdecbe26b0a15edc5194ac4551962c4c3042fae3e8af4cae9c7203845a2aacdc9c03997e1420a24be08e9024d4fceec68e41caa9337580e59c72dba6105829a0f91e50fd99a83792558208965fd7db09df4b319b76bfdd2550708d208edcac0188690fd5b0806cea8e94d59bf8b422edbe94f513fcbc8bca5413a7506e82fba2e2e74fea2d75cd2a5a63c26e7db2cdac6ef7748d64664e1973725e493a5e48217dcb20db9515616cc92e2556885265aaa00dcbbfe5b34244a172c4c608bcb1ac871c604faf5c251b50bcc2e636982d1276347c9991756a09a569737f83b4b67e5141c911508c0daf0a243ad44e99a3a9edb2d1f7728a6208364986ad24fd375ce902452295a36d6d879dab67b6d8c23e6566827e686677a79572dc7d971be3f3ce9af7d1ecb9d5db5ae627e9d0ef8c2cc4a65b283a801ff8ff729dc30ab87fd2b8109b34e8fb409651394efdce12274e32f49ce18976246c05199a891a3adf3ac856be8d0ee4952bd638e3976190b6ac01c7a46b0ff2d45eb4725eafcd8c38ee824b701a025bf99c07625c832b9dfe525abba7934fafc1a76a726b8a03953eed5f31d3064d21fe11068ddb63ba81c73f320df3d88643e6e09a0d97747539dd3251c21c0897b51447083f19ee4359a5106813c061420bbbe89a72690b5b193a4ea595883252249b3822eb3925db4ac23961295f1ac00713583772cc2e8e9b1a9b4f09b42c227caffcfcd444a77094d284e179af631298ca03862474149cfc9e460f7966ce12e4a3779ac0190c3b85a5e3ca3b1b7f16fd37717d3f6c99b556d9a87678be44052c4c864494f772795631f42342f35a202b6d7cb572783136b27876968c97b6a48e9ad21af66965e13b287ce2ebc0d5829663ee407269561be9af0d9ef2ca36c0ff7bc2b6fb05c6f928393d4f008170c1ef53e3fc72f15973f1410f8945c6f7f8f97ecc06454b9eb4dfdd7d88de8afddba565837a72603a20fd9d2b473f031d8f0659324dee14405ffceb50615cb2fe5aca1b94aa725044989a9fe5c1bfb478d5e17119d923880b3a6561acac8db90e74930bb8e2729028f14253eafdba6ddaff59a4b46192a169ed2349cfa137f47c93ea970c33726616a2317ce38e8a88e720d6a96e3fc4245e0321d30c0a74bbbcc77b3720bb148a17c3b0ce37f7ad83d110d6f5e6d656f68c4a1697c90dde8ccf8c1e89df17726f454c6daa1102e3a794ccd31cf03d1b28ea9a849d807fbffdf84afa717890151c3d6aae12ff803a45d3e75a274a147b176004f23b2599f02df4203983e06972204be720850a0ed140ab97a04fc9e1f403d47a1c70fbd3de5c43b433be7c9b4639f6b138848f045bf04301b63c304b457f5209a375606dd3da0a4b17109b7672d49f4f41732b890098025a44afa6de40642995e4ecad1fad34d1e56f2b0087727d206abd33661ec2e10e7bce62cac87d155f4b236051944144bf6e0bbb98a71eac4e0cace4fdd14ec4c419bc888b19a5c5d900f875872ff9510f16e6e245137233cdec536f6630a5013fc1477663643abd6fd6338c12024ff849f7b2e8231672a82cb5f9b8e93b8d020c9ad294806a57a8cc74e14c5640a16e01802b74ce627216d11c3c82ae0cff39e25dce6b8ccde483e272084260139ce8237f56fc4a9172b68ad67e3025f8867c11c203307c8b02bce28b68531711ab9d819d72590586727d003e8c967b83e3a6f75e0019b4e7ff953842f54188bc1bc91b3d308e5e1b2e3aa11c9764bc4b86b9bccd707448b9c516fadfc9456bb52550f0f5c42a69b83af0f310e863bd4921117aa520f3f1563ed3e001b01e0008cccc62f56b2bc30f723838ba1d8a076b96504d06e52e365d6a5141476c6dd9973d2b2127a647e5c972b4d0d990e41379c0f4259194874f7d40e9468989508a077fbdabce4480f2c605c0252b73a6b07d7f9e9fec429b1ff7e92daa97a787e52ffc3722e7a5be3cb76b03860a657316560674b42e29f24c12b642c1d72cd2fb37b2aa5464b4ba9b99725aa18ca1fa4a18765a86b386979b608298246a6d50f6d2681c5605540e1380723b094565dc202e2c940ae4f9eeb234ba5036dc826f00b67f7e1401bfc2a6c2727f406bdc6e52b44b3810cc886a289046342776819e36737a7c65ad26b35e0172be6a0d80227d9d407f461f977658783badd872c7ec199c7f3792ec486d80084442de02eee53bfd8ba9b6ad1de720e9a9ee5b462e83357c0204fce220ceffd0154f16365879df1d8bcb6febc8d7c2036505c2e5c267661e36f35ff7f3f982ec20b09b9c3e8e0f50e42ae552c0cc85ed2f47e19a9c92f559eb57ac0639e833ac3f66c0e70e87cb222eae1a937d95a06a8543e66b24291b341062f49ea61704717272b53807922b664f670ecd1292b047cc02e9352aa7aa0e9c88da50355b6eba555aa19bb26531c867370278ed9d2448156be6e3550d91f326725b3b43716a8e40867837c79263a82fe958418796ba8009fb32abcb6fb404be1124828574680572fb4b19b504f65753772a5049ef53a70579210a0f04c65ea6a51e18e7ee841172deb890e30a49547065eb431ec53014ed3e0c9efdb7c10ec1df8ce2f0b7b7f6721362e095953bccb2ba54ea6dc83df354ade35be5b9e839bf1188fc58eed31a7203538e5d76c8192fc4347cc8cbf93752ff6972a03c14b80378a34420ca7fcf23cfe22207f2545a8508af68ebc940fbe034f9897936feec8c6f335c656410fd4e19ec3a5db1c291d65a7f59af83bfb68c7cc2eaab27bea03e9e530ff7d95c9172a3d97c5abe04f0a13ccdd451587071435011dc2100da529433a9aa373b66e208b857476247a1d8aaf466fe4c8a00dc2a312c210540e921027714fdd76c5be363f9e9b9e44fbc2d1354150bca7469ef58720e51119e98c8a6cd0425e6d8bc2355fbc03953fd51501d12a51e934bad483e64b135d749062440cbfdc12d33a40b72424b7aa97343bc62d97cf735054578d36ec9565c96ed75554aa9c8276315f728958810bf33dab5f6177aad2a5ba4cd06d691d83a11ab57063687bf8b1b6aba728474e41d9d517b5a3929f24bd34fa79fed5f656eddd0b1a1f1446d0ca0b8af027ae373ea420f0c6a6c27bac217c104a1251b310d84a4b465316197b79b91bd72b16dce81e7677c13d79f505542d6f7f66475ca6da9b8d3598bc361e3e49fa34ddec3848b64550edb0ca952e44ef116d7eb519f2708d345ec04c1e7faa0986772d97f5cad195b8c79be9eac84f0d655c176a141b24723a3ff869df4c053c6103749f4ddd0584c7f4551a44a80a84bd99696e4342921556313179668385e228a550844d5f907c4e51e124041274aea50da8e16ce7ce819d8a84e4d15a84daa407271db46086bfadd92a26cd613052d89683c853aa3889d135203f3f7c46676af720a73880c3a94abbcd923f021eeed797aebee25f240138f5daea5988f4d6bf73ee15eb6e07064f71749ffacb2fa23cc7ef8553de3ad00714afe0b9444fa75d772271a05ac740d2f998e14d443d3deb5f405845484b8292a3b154a263b26b06472dc168866c5e22c78c2c4b392fce78a60b3b2b48885c6abadf0ac53b1b4c1bf72358a66427525402d486fc3741b839657b11d5fde04c7edcac518e4a0a48c1c7296d12cb9c6b2df2298d19f8612556cb5315c5159142454a437ae3e4e15bd5663d56bb726439a56791ef7f904c1d20dc26ca4aba6124aa6e9b291ca1fc0d42872976771b84f72cfaec8c1344adbc22754443502d910a667e0032ef5b31ae0f27227a94228a2c36efd2ee0476be69414afade02c0430d797f1d41669f5c014066106bfafbc23c0f388d7dfe1aec2fd913fa694f4440b9eca924bc4cea3290047727a7e46171519889a242b592aa4cdfd4c67bf06419717cc1dc40887208f2f995d1ef3bb75a8a31a52356d14c3020b12b5ace4a6055595c9ce754d3b7310d4c8720fe90933e18d54a36a05f2ab051b5393c506e5f3dedf2cd5c1063f67424d353a4d4bba25978234a303b512a98e4eade851879a920338dc3f72006f1b02611172e8ca56da1456f353c34926b700b06adf5954f61a6aa03406e3b38b5f02050c0b7c54b08d6a645f89afc5f1ebe7b5abe0a1faf7524d73365ed39386bc76674f72ba09b8cd1cd092d498ca9c9c626dc66da7a54bf9a6dddf8b158dfa801d0afc54ba6a73abdf92d118bb7ba8875c19cc2944850ba080b410d0e49723db225a5b729847d4192a20c9a34a87b2211cc726be58024e105d0f4c9cfbe525c3dc791072bed739edeab705d999481a923a7babca2a96bac3c777201ec8741bad63991e727a9cc1d31a01427b193eb3f451f813fb96077fb48ff62fa8784bf6b80fff847250d1c4b91cc0a08338f435f2aeae6bf6b65d348af255442692a8a7704f02dd720f3b260a2f74c8e4bb90e65f7f563931b814165bedb3b57a3a43f5d745baae0f0232a7861341b43b9a20286a0f8522ed595cd42756dc127d87def12d0bf7a329aff048631a56525442d78c78dc58217f8018be8fec43e131c9277eff840ddb724e8ce1b7e853795d4bf17d67825012a2ac0dec95f216f552ac4dd483ce99ed7254264ce4c8b4c64fd186a18421562ab984bc9c0ce56145bda7a0220589085e4033f9f89ca4faa4448e4f9fc6b9b017c94a8ce7767f453252d82bc21389de53728be3eb88bc5d948405135f5714ce1f6191a5554c247411fe5c9f17c275d33d72d1a7d2ca0e2be5c6ee62f0fe5c49ccdfd1dcd8424089e3d2f6bfa5bc2026a672e73cdd96bbbc920e5146eb001304ab95d92cc73af5f16d1b9ab3695ddc47c07293615450e3dba27f88a9758c3d453244ba274cda6ea335929152239a4f299d72555f23158aa00ef1954a227436881686e32bdb25a4b7c13cd7a21ec826d79c721a55a9dcda245f5bba3707b8d4cb579c355489b7ae9dba79ce29edfebe66513026d16943e198a1b18917abcdd66a6078536933f3f74f704554f3cb80d4a8f772ffe4116efa87a0fb17417a077d34b727c7cea5b5ef0914f870faa96882e2e372dfe9bba05e85993c972fea86b462d306b56b91126048ad881d8ac73e990492728bc9d1580e204076515b9a0db77a1f56c08df9350971195d9512b5a6e01ce51d0471a2920673e5922f14cfc6719e7fc92780d6799f9a23aa5911acbed35c2972e1723e06e903be200581032dc13dd51201c568d3dac408bbcff62668f411bf176420750622765cedbd81d08e524f36d35f4bcabe724a82bdc8a814244c56d572a88741afc27bb8b2af246e78e0ae25b959bcb08ea20cf6eba8a5227d63e07e722086a9da75f40edc3f02b38d10e0c99752a213e03fde58a3002cfb82a5693019b177c76457744ece91c9cfb6c078022cc8288f4284f0e260619edaea25450372f7e00643e75824d456be7bad8f277b154bda8b991fbd60685f57a0a2379321721bb5405827b397c30ca7eb93be7d2b01fd261e60a42dd18e810e6a17d4574c030bd8ca8f21acfe1fd8b38a99598e5145e8868b422f18e1e1a29e4273b310ff72e9a6e4818675e5a706a7097ddeda5a133d13aea4236ad8401e8039fc2514a6530d10166f8d91737505ec253ea5196d9d20199ff3affa7d4d987df09816a39c72b8a0f75909e1babc13e40ca75ae1fc6af0008bc55af2f67c94f99ebbea7acb72feed4c0d5583ad629aa19b4b29ad943cc9ec7f0ef9d3a11c96c7dc31b49674720ac9d48d385a2da3e3de6f6eae53ab3c01d9e5abc53d0acb818ec60a469afe15cbe5f2c7c6b090046466c30ed9bc04c84879db7239c474cb28694e54ba0b4c41689cf62d73986b173c1f35143ecdf2fdb68afa897247b30b296173228e69047258ce1adc815b266a6f9b26b24941273044fc352acd4f8b4d3edd983c1a35cc7271be9abc7a807077051cad3df3b93812d0746e10b035311301bd79a034e1b73eb852a534897a8f5e285c2b59e4ff291f95655958606b749014c09342d6bed372ea0d2d7935c32eeef5561e853f5acfd06cfda85d721ed9895ee4346afad054690e2e869e00ef69b6a2eb6c7e9268fd0f504f0104fe240958c945c4c728598072ce1426ef1bebec5f8bf4c7cb0c97b81ad5bc5d836a6e353fa34909559a678172c0265432c9270de3e5c226c4b76bf2d30d6705473ecdc192f06933b79e60a1475897e7c2c7814006aa16b3ad390e8710f810a6979ffb9a367a5ad23309f0e57225ea94ef3f6ee9159ed56b88f9226072e7d9493179372c8b4f80ed518266217207bf26fe7402cf03c09789c6028064d1e9b9a9c76f731a8e62637a9262d8542a6b4a304aa32ead07d5226760ea8d3b9829929eda4cfb516f26d4ab6abc12667254d5e4fb875f33df3748c68238893ed99e07a6ae1104fdb5da3df494e987ec72374dfe7b6c06d87891d1de606ab7a6e4ddd719ff221ba29c25dccbc3aa74fd48cbccd89a2a5180e4b734a4436d7cc4b3c91a5c402e45dd1eca00c6fb3739e844919fc35dcfbf0cd25cc8e5f00cae7681f92110a405fbc354177bffe70b2b7972e9b3eeec1b55681575da4505d62127df11c838376908e57539445a1f6380ec21b87172a60e5219b400e438ba8e1ae5ef80e2389a5ace08d2968dc7401120db1ce28eda14f814fb83ed80cd54d44b2e5105f4d1d772f0156c7ccb64df8945487279ccb95cabc154e99568948faf1dbf86732fdb48a2d8c4742502c9c4cef23d726518055e78cec4b2b7d38746328dfa4272c498fa716b1a7258020861f09fd37243ba109e77bb9d776ddf001fb65302caf819ed7b92a48ebc1625af1beedc19728821a2270fbe203fb95c52d22d05a87f80d67396e67566f6caa4c303b2c67a72042c50e424b5de959e7cf63f8e3cf1448b2810e7c198db8770355ff546f6fc72ed4e1f522e07becd2d64169567a646bff1415a5343b410f8f9dfea7d1f0462722c1e9a9af59a00af2e434c45f10e5419718610f0d6698d2a2b54e4341c5077728c289b1c30383093afe110bdf26198433b7809ed9818b413c4f6e729a8725c7297e55d403a6321dc3ddf39580231004e44f1d39f9799b7f47600bae017ee2372a7fe5c57c720fbe5818fc01e4e75c4e6ad5ee8ac55e66370a845899c46344f25187c6f252224bdd3fb4c81a304ccd02c97496ebc7faf0f13f5edbfa640e0417217fc5ae109ba280b1ce66a9941004174cc0c68decf6f401d0afa94f8c975c259a143daee3d4db14cdd90dcbb2d4084dfe6e3b1228e11a743d9e7128c980d6f72d27f83379d00dfae353a39fc84411531b31a94aab004b16500b1a2165f83f172821a0a324b8af8eb1a96f00c8c81db9db0428b328afd6ba3b58f7a58857be1110c075cc6875dd171b8a03c38919c3acf3a8d8112309d9f37ea81227a71a4b172d6dfebde5e61aedc3bdd7aa71cfa3033c9dec40b702d9270dcfae4a1cfc2f16309645614185ac8aef4c5511def162fe529dbad5a4c1eadec52f86cd8f729ad722ca58985d457e38ced833a0b5dc13a22ac6da59a3d09e68b7840d352d2c32f262a91a7bf3e51b6cef9464482129bb2b0f9e7ec189282b6d3e73f312b14019572e9633ae8ca999a7873c4a2412beb228d15f323f6ae60b7bf3ea777daca5f7d72425676b2886656edc44db9f49acc99e149c8885dc5d5320fb73c51ac34c85e7280ec44696dee4c43b6f48dd60cd8a60a9608300b34c2151efe2dedcd10e8f472651ba733e2c398c1f1ae7d1d9f93a23e81e5aa48bf5566f1cbf3072600c78336601d4359956773da5e7ba214722ddf5db68878fc81d3a752224dcb6635c35b72f33d6bc8d28a7e3d73118c7a14cf2bfc1aaac29838d268647023fac1be86835a84e84afda9cad3dd15587c09c0b7bb84d52fddeea0d0fb33758f3887f653f972d101c210635900c0eced024f3a9ff616b231e28670f2d49820bce3741f409752a60398bd3d27011cc732d0aebc136d611440ffb9dff9a3776cef0169f2dcb1359c3d6988a19a7388327c60845e676c3e05a6c6245d4c46e6ff1ea853d7f5f7723b965b765d7eb87c1d4537fc6a7eddf375d5d54b889b75316264e4bf7a26680474f329815acab88a8b1b6627d3db85cef2608254082bd0c95bd135868663ef0b78d87879342a195a467a58e9ed1cd805ad13b5df2ed783c61b2b98346abc4a4b726717091742bb05f1f80624ef9918b6df71020cca0cf994e420cb6d12fd5351ed0bcf464929938a27066856d39deab8a152fc8205705872a8f6cc873a421c728ca94df33b3d00fd3a56856abd002307bc24a93092aed73ae1ebbd35f7abc0165effb292a6f841b1df9ca8260e414028af7e90c615062bd6dc31e9983d8d436ad5fe09e485fcf4f4ffcdf557feeffa45dfbd3be798fff98f8114ec22a6d59f72becbb1f56f34b2594e40c16561ef1542a2af5e9a96aa04268414393b02b3d8726b8bcedcb8e2909b61fec8e94afb349b20378c974be901e0c4d111ffd2488b72f0ff8eeaf109d8381dd06003b8224198ff277c83eea08857a4820452841db57226c4d78c5b5147fb75c6e4932a82aa4fda8002fc0cdb5f5a42454d07ca19f54ccf3401f6fe0892c0480de684915f967361d956c66efc3c9c29598004f7cf6072861744f05e587b6f9bd4bc189724867ff0422b0f1a09622568019cc9d3052272e6a62f16e9241a603d460dbdfe9979804c9611f7a537f9c13b5f45db1ebcc4720c3e05f3c37ed001ff30ab2b3e9ca2a68c635a439509fc8a9eca035858474872e8b3f21489b51d2e35a5d613103d2da8f0c9e43e9fe5243b9c86f5a2d3fe9d72eb14771b5fe9f848d2459b3545e9ceb638cbb7633259b00d42e2bb3cefef71720dd58a273b657ba45ff65a29a24e709378ac24d4f0da354ec1df8bdda3f4782ad8f6594db476c59d1860694c84e2ae3d631f9e37797ddcf40a60a4988ab984724f107b122c7d0bf3b2b31145cc02cd6ff50afa0f2f0d7a5c74b8b22673592014a7a2259b8c607f3ea5cc3347bf909106d5804326cb0bb50ae286b0aae624d27259d427e777158a982bb46bfd66f775dc32acf45318ac9a443875fd381c2f65721b02a751ce06f79deaa03737d05ec82a183295d828de0e583ea7dfa09b7b8907afb3a9f2bfc8b996d1766893bfeca96262cd8eeeb0dc3b0939d4af667bc211723b907657a73b74fa738107c840fafb326a7827147dad7d2fb3354c30b5f59072b776cb2ab93a4eb9dfbe6ac23fd905cfc7a3a81603f50eea49b310eb9a18bc1e133cc393a36ea69514c3b88ae59f2fc8fd46105883ead6ddd875a00b0bd20c083cce12c07d84c64725ab63619044bd180d1eed0c9b829c6e62010c4bebcbbc723ba745cdfa5e6a39019b4f1da2c75bd5cb6e6a404545ef7272d1dcd8926f5168e370158a9979c5fc323a8e505c47db83f7fbae003a2ac4f1491bd9f780f0c4308956aacf393f088fd61d0ceb3c1763cb10ed1b8b389c24e4a7ba8939f88222049692808f19849b4de65c5e4a5374cdcdda5e0cd5aad0860f64f8d1e489ded13fa834fa051128af3cd09eadad37b96fcb59719a23246a84a4a10b8476d2697c720c8c5cdeaf3beddcb97a538a09217f72c34a048b6a1971d68eb0fa68f54cb67279cc2b9bab936ad33470761039c1da1bbeb1dee853aba0d23c14bc9b319d5972ca820230878d2436863b6d3aec5c0224d952896eaee754248e9bdfcdd6a9de7299faf67d8ce97a4d2e7da7f73832329417bd81d31d297a3dd85e2c2dd0247e721b65ddb62ec5536e99f2b6235dc6369d8bd2d5b62c47592f889dc1b33db8d75fdc46be92914ec9bf2981e35461f4e6512bb6f0ffae046737397a1a21f2f354722a67452cb977e770b1e54b30452880da6c9020420eee70ac23e87b2ca454d13b76a151762f023173817c6b386af17ed8e957c28ab5fc79be8b2106932652d23c7e4b730fe595c5648b8f0ce4073a48ae39276fa577c7360292b41a85baa33472e03f2b92c59f0ca3064932e6dc20bb660a0c60015b00eed8a1fe2c1b87f3dd50d15be26e30b8a5698d2d6d457b1ce832019e5689f701349fcaef0d8b539b4872da65ffc41cb7316263883c99e416fe314eddf1f8e39f0148322bd2365108da729dcbb3ae75418eacf4aea95b202046547af6c7c138a284cde126b741e3e63972b905112f0d7c7db57207e551e2874548d821b42bbf9b849463bd2bcca3f0ab4b227b51aa8443f502215b617c9d984e66d7c783506bf0e2c269d6de7e6d514a3de9fafdea00cda33d416a805c213dc233b85c59677652647dc2fe679f832337721d84e4fec399b6e88181d2b3c853a7f2eb6cb689a395b7ee728cdccca7309672ebcc0381b1df3b97155d92f49ef4fc8d83e1aff7e0366bf2c7534a3559f5ae2bda28a4e3cbd5681338c93c1c515346d1f6be1c44e359d3a9f9ac702bcd6458727788b03b810660a417c4acf7066a07233d377f776ccc037eade177aa54431c019c12388a06939ed8045cad33ffde21be8869aa1161948fe139ab6de7e3ba76437ac393e0039f15ae023f8ac35ff7fecdbff22600ffc2af27b63360a8dd1cb769ecaf931cf6ec0ee4469572a193ee30ebc404ba11f3da4c25129153ff0612810a9b489c69fcfa5fbef6318272f0bb0369bba32fc0a4ece827aba1f6b714867e7296c0735b5ccf647461f6efc72ff62e6577410c5bb23befb6738c543777b83372763dcf2ff88b7779c1d2a22389088e39494081dd68e482204ed54b0959983e7212fc6fc5dce355241cac2ea42a2ce633e5a540456089d0742f7f436b1d1c375a107c94ec82ffbf89c96d91dd9a1e63fdcec8f57d8569146cd4747c61b1096872beb5a4cec2ea99383cabeefea601878290c029a1c4c330e4ca28947c76850072224955f4de4403d6d296fe0867675654efbf53b983e3d962ed00df24cf0334244a7f633fdf6cbecce9c6df55a5a5e8b50f8881caf95b1b2e2fa8dfae62a3d672ddd0f2d619add3c3db50c9cdb819662effa7ea1efb8d968df2d40e3ed14dc772df12bcaf19e5add64a87e9df0737cf81ca99bda12ec44a4f663d6dcea3acca7221852d39051c51e106d2e8990f90a2b00a33a0e0aa0cd566bbcf7738303107636fbf28178197e102a9ad50ac912e7a80d895697e24c92e542af969bbdac7676e23c0c657a3a8a7744c3b729d13fe3335f5f36d2e48e349a5f300a9d86ec2ef67449a74626ffd2c536c953dbd9dddadc3f0815ce503e5ad57570034fb1e7ed672b1ab5d7ab149ba9af86f6d48c2abe5373a9c102d4a1d33334be7dcbfeaac175d055b7e2429cb5d2b9cb331d684c30e8e9c07d67cb2bc05d5aa749a72981d2c72a2c9d016436bc745d771f7f65ceeeb4ff568cebe5cc15ef1d3724b38204ebd72cfe7df0dae7e9dabf7db9b3431c09a6b022a2465ef0636e806c53c20e8e3c072bd2ae0f4159b270f92851adbd71133f50f4704667699029fc9041022d341812eb626d06cee08a16aa5f8af8e2a5de6f93e23c50cc1f304e37d3a47f21d088e6ed76d640dc62148cc4f72f622502c37ff641d6caee822a58fde024f8898ab11723bf59d73a3e2985d0448862dc7094af54bd111a41eefac8f55c77a9c39bfd95829865222a6f4514aaaded5279d9854aeba92eacc190860ccb80d9a5c739ea35ca8ce6f4d58438fadac09d7e23c08f62e362aaec86411fc070ab1e7be7164b9722c61db8e4ef0b0b4c898a19a1c1c269d4d9d2f9958744669c30f6b4616b88c6e71b1e14dc246c4665737c1e5d88a1fa7348c3bf581ae0ca95e2ae6489369e8503de9bfe6e31b1a232c832a9ab4dd39588787df362a9e8883b08c06ddb2918d72405ea759518bcadaf230c0c4f5bb0a4a4d94e78f04024cdbd01bd9bb4cd0d372bf99452dc7d37b7c5ff112d47885e568f30b8ab0e6bd735c8df3de09cc31bf72eb550c4a4ff84e3d8b302ca40b0f45298e19bfa94f2d299a293d9d8106a78c72407c9f6e49adeecb3f8b436cd7cc4d979cc59d6f641bd87df1e5d45ac7b453725baf6d142ccff5655bc8bc5adfc2e5cd762531af2ca1fa0066432d58ebdd83559a35bfaeda5767c0d79939f01e64fb74dea6de2f0b7ea2b9a0ce9d41407c4372dca93433ab67463139b78e222e1574a169518ce785e44488c30496170280b47280ff25e1d86f6c5d05e8f11cbd6b95fc77859f5866e177bb89695d83b0588c10457fe76fba770a35794d179b2de2231ca45a215bbecea2aeeb579f0d1fcfc4725a00b4eb11c50f66c58395d5acd145821af24beafcc3ae8926e1dbcd011c5d72853501aa9f0bb29b39f51fdb27304f97af641c84d66d846318ab14d4787d89722c94eaec64de1f461152f2a0163ce305af49ab82428b792dcc06aa464c5a551ebe5678129936b45eb14e6043deca27a2096003f8c70191a18534c09c5ff67f49a17c893a83db0113db17b441a831c5f4fa20c1d78ce1d4a852f474b141b09872e8988bfa5d620eccca64f3386879f977c6045dbda1af70493f7a5453050331720dc2b905ee6ee23e68b0d8221ded82abd23e928d954c2edca93bb1d5b7c8d62f9aa933f07ec58c0eb97df1f409671b6d95c14698bc459fffddb631f79db03772d077eb82862cd99e5d29989c17920b074b19202c28a14647144ab4d581d87648b233e2cff18bd7f0c94599976956318af263e394accb877ea128c6ff57678407729c45866759e417452190aea05d263bbe43a1b2ada8b3606a8c0ca7f5c9e7457edca7a0d5d9e75d6597a3522840e25630d8aef04927792061752b786e03714f93dce745ef935226cf9fe38b0924742ec152a7fc581fe468ca01b4d6d58ce031207eafd784f1c4c1aeb6e5d356cbb5f7de1d349781e9b007abaf4fbe8a4c9372dd8b1b748a1723c79c17ccdff0c683b9066547d4fef479d74610fea17fdcb0724622bb221beeb56e16e80967f3d9596fbca6c5eab9c55a08f2343be2da622e7292ee4f1fdcc679f983592df3b23ff7b4ef807bb7042741f138674284e50e9172f9cd91edffff479929c34ce5acbca4f5db64c172d32399e11903a8ebba8d922703da5ea94758ae475229a552174f60d998f0630d138f6d023fc22316ea37377296420b991fbbaa1e02683ee32e427f63213d3c9b66727b64a733af0105a0557244ff5e5ca2543a2c4f057e70e16cd66cf9494ed3ab9b7f69ca4929006f2b805e151cfdc697eafddc6284459aaad66ac37fad50c678946f65318377e84748f51fa8c8d5087b2af68c728353cfc97175cac10e1322b50e03efb571a4bb4e520b72e9e9c1e575c540b8cd0c24df14ab5b4537752abc3832a11006f8c31967b83706cce548fb79bf05cf82a6bcad2adcfe45a740356066daf1037b1322d2940f8d7290c182329eb1c3701a470dddf330eca8db071aa69242ddb60f206908a9affa561a2ec62160a07274237faa58b67dc3b182ade21223497b9fee61c3987f6d865b5b513b92b2b6b8e50fd05810e74e387ffdf106b11e5712b3f14ced1774398147574f98bb627af210499f126fe36db24a0d248f967871ae64914ec2c8d87f1072d228bac0839afbb147cf5ce96eb258ee6bf63c673189a13078d0399cea83f76e78709ac6e3276f1fd3f8fe2e2921a5d44faf8d50a6e6073bec4099289b8ca9727da67f54411178f1d44e68a37bf78f988468f983d3250c05e03fe68b4e092d7210925a917d768bc4fe61f2f9c988090f5d79cafb30fd7e37e7f1d4af5015e24f00996b53b6f5ebd7f53b0926acfbafb54775017281cc97301739afbf86c8d43d90576e59f633441d76bb9b12d143c0c2c430e179d8fbf278d5ca423d07bd43575a37911dd3b430369b06a09784153429bd5150aff811b0a24f06cdcc38b7b3723e0e1f0bcba69b778c86bd49b7bbeb2519f68d18083fdda8da0eb352b67d6e502cf26d2eb02cec70c0c96e1e5f97ba6fe1738f73d876e4ddf2d9481a5d769a422503abb8bd89bee1e90961efb00c2309f9466fab3fd1d04b9f2f04227c00d57207b5b481b26ecdb62e0fca7426d1f64287a61f5890546ba7a2451e6de6395f72d9f786394601dbba267486f5fcbad39d3843694ad4f7dffa6bd7954dc31f0a7233490073d19957b1152ba224af8ac9440fcc1f71b5037081d533cc1d193f293a894e143cfa7a6f9ee38f8f891b66ce375cd760fd4c83ad4bd0542449cf0d2c72eeb32341ad1ba9bcb71eac8bb986d2a104357e76924db602b0a2c14af766de72584194fac50aa6d2872c46c931d0c6459a899473b531f6dead4960778aadaa00f51eca9b7ab963f7a4998c6d9b1f2500d5b8274ab4e4dd84b384135cb9ff1f72d90dfefca3784299f994db72a8d9dd7a701342e8dfd73ddc3417554861e13902068ef91756a4d5ee49895777a95758760eac736c73dea4a846cc80e45108dc17ce4b1fa631587eca0f0879c29afc4b649d016aecbcadfc84434a29328246217243164a4c836e7d17bd43d6937ee04bb454264242168a72ef879a0dd9591a817291816b3f3bfef5215b63fba8380fb0c178b6b8eff42e5701df851aeb63d3f072a0214a55ab03a8ce7fa90d2a038bc0fa6a61b60850ac1bbcb534e1cb4d4cb821720131d0b93a29649cd171f0dec5d5f16d12a5e449a460978d0b465dca3eb554f3e1f0b6247b329ce765ef1636a04ec54d27caffca8cb1c416f8c60c5cf71472599fffec4b8371161474b3a467af191f686bd9521972a826105fd0ab2e2604007bbdf7497c0754a12cd7a681f4ea3d420b218e84a884cdcf2aa9f4f334544072ec5a10d3d0d404dc1e25bdf081682c9a9ab45baaeb54f549ea4a7f2e46d06a1f7ac1349cff72f9362d70de14a77fb88421dc57070a958d7f8f1ae022aa9df772c06a3ef5933ad44fc98f1f37a91c098274a42d36bd48891aee765ff5bbeb46725e60587e2d9a15952eaf24c59fb9f3b91044616588568bf6d5b5bfb688cacb721e23fb0720ec5c72f77afc40b53248fbe1e2341e45737983285a31c27c108972c3946c2b413b48b41ec6e41dbd7ecd06f1c9d2657af3d364aeec2d456057f422f56b21652f7dcd1ed60fe4e7a5f53f7c02c8f213a0beeb30a4569932fe269706045aa5b99004e1243204e6538dce9fbc85b9b9b8f5c9ad741e3e265d1a96e97274cde69860ea67f4e4eb7ca3fcbe550536c7a3866d1c034256f20895da80f47282f3cbca5e56fb71e8bab5bbab85fb4eb91eca56ba296e85e1620df744b1a3724f71a31c27a761b4807634135ce85f5d727208ad14943412bec27229d5de2507b5acecb36eea1cacb538b61fc16656204ceeac2d6208948e644c38faac6f6069b8b7de12459a7af47ee024fdaa03cfb3aa7bdaed095ed8ba02a770a8d169a372c4fd8f6d8eadf5db2c2d2dabbbbb62f0d786bc366ba0402e686708670d9a1d726ab765ca7e376880fb4aa5f46d9dccab79961f00f012cdc4622f6cb28c2c946b7e57567d646aa5074d9472392b80639f557c60735c8838b185c0a40370c0b2001dd03039d17d999ed6b9723aea4b5eec0f67597150afeef996c172b9ce8e5d7270bf24e81c6d900c4693654ed3b697acb2ec3d213039dbeeef8b184802b1e0694a96495fb2a5d236c42e4bc816ffd8edf7e827162698cc1d21e36e2310de9172b83b802680738cd1c4f4f50f0f4a19e5ec3150354dccacebd3176a537acbbf0b03b944a195241a2c07eb1da0e144e032ec7a4e081fee2898dbb7e1e694045072ff56ac06e6590cc13921c1132acb9ee7b4b8f92738be9e2f92593f7143656d2666919008b5d8aedc682d2fb7b3bae2d0dffe5e8527ea717b089d77aecee7a361b3ec8a89994c9da24cd9a20ed3e98535e5278a5f0296f2ac84fe3751d28227720f3296f2f21d34268a1dd7f5417f885562cafd09c6d93db9b8dc19efc20a0a7216b7090b3c480ebb371e5dcc1ce7130df6e79a0f08f551fc6e301a25b0eca3133a2d3b1b09ac863f2885f56b420931827fdab4bec0088e53008c011b41db9a6b221d15d7eb59b14013451e6557dbb4a8203800899916b0b74c2a2939b6eb04267b90501cbf33e70058d18f61118ff783c64e7a997d73e126d79ab626266335729bd81107c4037e655472fd122e451dda7e2868984dc13f1ef201ae782ea901722cf8ae8b052edfb5a166c6a78c829b78264d962ac61d7cd7e2454ac0b19275723e4a3d41ca661a22051aeadf6b23dca0ea4b1ca5bb35599c18d7876db924201557d8771c72cb53b0676dc1537afde97969c0d9f4ab20b1f261d9fbe3e084cb356dbc172f9cb612e513cfd168e54bc1d0edd3fda5a9fdf4f145bcc2acbb9aa372b115abffcf727fc957d56415aa8162d1b7e85c0f96b5a2b0a8d6dd85f0c9382ad59a13164ae3709dc54bc4ccabf8825035acd1f9585df1027179e405966b990f269798c9571018e1ba687a5cca4b02cf44567b76fb8d28fae8914b2c9442d21f9d8f246f8fdeb3db0a0547b8d38a3f240ec35020d6c181df2792d550eb1e8772cf23f16786638d4804d7f6172cec98ba7140501d5d5a975cda5ebfaa6d61a226222f095f26086096734c3b39ea203ad70e35ae6e49b46492c9a6116be456082f93c35f04a697ba128143ef4113703d5d50228f10efe2613b9bbb140a5d2732706192c94ff63cb0666b32080c53a145b797afd94d2aff2b3d5f9b0aace065af72600bdcd0fced10286cf89a5921b5eb5be59d8c27343e23015fddaeb0fcb9c416977e1d17c36d510074f130ff9349b5c3be1bd55ae718cbc959bb058f4022af7279f2ed8eb14b07186d89a96613a7b7e09920294bb5fda526febe5f7beb81ea7234489c65cc4d215a2b33407cf89c23d1b09402e5c55852f4d5044e42dbf76d724ca024ea579e9abf312d2526f64563e92a5e56a55316aa34f7d3a26a49c0ab19e21f5d657dd9ce372365612cf76829c3067d7d5d823330bde19f91d69d0d2000a395f1819b31b3175535630829f204f5a644ffa558c1a6721931ebfc03db3159028c0c3aab4466047fe596d90a7750795bc08a47d9e6a56b0a871788724bca3b7199467f515d3adfa549d000f922f74e4181f85ab53cbd59dcb6063fa366d83bbef939b1a07a30840365ded95a8f4452deeabdff0b1e03d72cb5f4eb3a8b17727ed767965bce6370ed2fbb594346b8e4e78c1c62ea012eb92ca7492a7b8e47330239edca8129b61c869ad473cc1b498c8b50c44311fa3db8134dc015d4320f63c40cc40c5fb819d3da84c629cbe095a6fb4238232b7923d324df397a1836dd720a3b840a566f2e58d21aaadb3367c1ad470ac00e153ad330af01d4948126a17290b65264b869d474a47ebf00d86c6cf91a96820f76ad264ce0884e681849e77274d9d24e0ad6b94b9d972a4e36c8241588b26939c7c2c3a5e10ef49cda91f45b46ea398da0255086d33135a843b3658b8a2723061efb4e8118971595c46c3972a79063147b881ccd42a03e1c88f3c89d5a5ad89f7319fe6fdf6d88257bcffc723f1ecb10ea001948a76e2915a17973979db40c3c8162df491e868adb6f56ff710e124c29662c283b2126595dc77f903b53f7c1fb796a71a9eba1aeae5897d27280dae1e9feb90f0fa3b2a04e9bd6c74963ccad09660c2fae4d13ed40d28d6360f864fdf564181af4baa3549dd3a81f10b41d31b63dc101aa80085f1143459b72ef3a179f48c83b487859f6ac9e52bfe9c82178560eb7241f038365a7d1234a72547f2ddc53f927d8be85a622bd6079aa7590bc81af12f3d94f311f50538be67235db29ecb512a25eed134b8e26b447d59056d8f833a875cd144ea8d3449ba172d964526fea439e439ab51c65a7a16891e620d0777905b20316a94f938f1f415158983e475160e1c82b3577245a51302b278498130a67beffccd9da18fe9c2c6689b5030730eeaa725231b4eb38478bbb7193f113be7d9d06520af430ef2da21602620b638d631e33433e7dff483728f03c28c0fce9ca62f0e3fd6e211a36fe72d97e3070c5d11aa789ce2e7679dbe9a70738de11dcd9c624c4fd05a0ebbc77727f8a818f923c7bb9c6896ab3bcb05879606eed66a794f536c1d422537ce6aa7251f6fd0ce5eee28b98ae4fbd9f6f82932eb3ab4732b9b75bef3ba184f9fc73272f2a85c58da1d42f790cc89225f6235ce4196f24d3aa57f6caeb87abf3533516e2d3822672719586037aadd1d166afefdd3679cb9c9488610689417c08bd7072285d8bbf2c3e14a2fb8b6db8093a61a044009a9d10bc6121856798148b47f7727e375c01fde2225325a84b1b91c7457388c65555be0b2a8e762fad4705f84e720928708df7526a6a95af38d9fc5f79b1fefa25d0a851844f85582f0fdb54ce1d236039958a3f0359941a8eaed957854bfeeb2e624956547d7ec2c56f8b929572b515e5510d73056f0908c168c2f3297aaf88e6b5680fc579d0c625f025c75863eaa01253d78c19ece64ae6c44ddd1089e6bca800ed92113e48f4661d1e84f97234e26e6b17cfda5a8afd583ce7ecf1462699735fb9058e334eee5d68b731000f80c82c4f06e26673da4a8b5fbb7bfaee7bef2de2e27da60d0d3d3227b5cca26d26742a04271d050101d2864987e840a36d598a26f2e50e0e78700bd0740dd3725b42e053d40a17b86a91e60f0acbc01e666afe9685ad8b10f3ba4e5f02aca02325aa4a3de426428b55776004d221fde26a3483336ee7ff7257b89e3a43f8db72fb3924cdca742d85e8f9ca6f0fe8de55fccfdd468d2550c9ca805fd4d5a1dd3144fe845f212df888f49ace9cb0cf4c89401f38ed6f58baf92328f12afec5e429b8ad6baf39056336f7ba41c14d3d88d954a5861ea2d5fce10ec6b82d040ab31d79a17e42de36cd2d8f312c03fab4715d45c7ca5324ae23e91fa6350625700472f69c3c893c0e07b1ea408ce10466dd4e30e4047ddf4d2f54db0db99933b73a23974e5f976c5d03a36c43ad489da5f6ca117df295b449f534ff6c1dabe43e173b8d8d4f109aa073828f31d72408773584fd71efa94cd85262e08f89692c5d7d3e1ec87dd50d27fb5cb7c5692d0a84a183e893c51a208d6a51c66ae78163e0ab49bbcdc39dece1b4ede5b6f58f9ae299a386c567215e55a3d81568107276f1df7219663f94ef6670a159e9c00427c7bb9fb838acb867b9d5ad93c37a070dc97c7213c702fb07e41648ec47ea8415c141bee291388c98053355b38fbf0f81c00265e3d1ad2fc99f44b14ca9fc0c8324f8b00b97b01eabd8a7fed99e2eb7a07e7e5229c33756b31f350c9a96fab7327daaa40c08a7f9b4f0ce31c614f230e816bd72521192b4950fc5f52672de87d8ea6ae2479c932fa724af6aff5338376eca592663377af49a0c3a1c9539ce21a4865ce8131b20e4dd11443538faa2b10e196b7271bf734f46d76253e8ccb0ffe4680af12d3312728e740e4a01657f0df6ac8672bbb80b5493933dc1836810d977607764240eb52d4d2d1cc5b941a06e32fcae43489cc1c144d5efc2a519c5d176303a64757e200d5f64375b0fe86512c3afc47277d9d4a0b45e6bf7165966afbd785b6145f53e1c0613f7ab2115566c57a72d26ced8c95a8b75d1b86fba95e093802b89cc1e6404db820eb19aaadfcb7ad2265ecafbd1b66bcf7328f19b3127fe3997732a27deb478f6e569b35cb66f6354387224186435f42cc7d6f1cba0fbc0ebe14f5f3215334482ad86a8e127102b1ff37237d972dff73d74b4a435ca5a4a9ec766647283811fe3f5ed21a5effef36ce672d4adb18fb09687dc5d6dc33d512139dc12c9af3f8aa35118e1fca1f05fface59f5d35538bef5260f88576a263a337f94e93ff7fab5adb3441b71cfdafb64a8725893d73abf54cd8af7dfc17ab65e1d6a16bbbf4ea7ebed0734d42b242cdfb407c7c124cf88b9a35f5fa7054b1a227f3a8031d3dc3f482bfb0b603575b5de7a51a9b50874813684187255f1c7682e69588de6d0aa0518ec7ee70f37270b1ff30c343a7db569aa209058e1dfc3fb28c506ad404b91a0047207a570e3505e5d8e09f35941d969f00ad43b07c55a80a580c0e40479d4cae3b9ba6c5cd2a28abc62724d3c994eb8ee109e20dc0d13cb287f0f4b543c9b62e5b932410791592f9ae37223761d9f677f117098590790581688e9bcba867a05413ff336c23424bb6f9e7291264071ca4fd4461e9e95ff8bcc6032e62ba092d75437a5d28b7568c594987246430fd209011a342a184a9529e162888b173e661c7b427f94fea9a527dc1f72d6045dc5eb17e693e542eca2117cbee106c850744ad89097ce08bbced6f8bb2d7c8f24574bb48052f15254c7b2b1b4153cc0fac7727c3bd3bb8e44a1d5f96a5f34af6889c44a2506dc52b32782a7d6440d0afdaf9183b12587ccf59721b0820745f161ab1ffb193e6ccf92408fde8120b2345c436ae6bb9b374cc84c1f94c47264c09917e71f8ccfc1e81266d0c407e3dd73631b522d50eed39da842f0cbcc19bd0570f1293dec4ddd07d0c46be5c2298567f65d8477cb3bc93fe9edb97b36727726185baf0179455fe7feb0080361c737c46154f7a9335dfa470b4ad39ec04c5092f511d4df61c623e4eb5af6f4eccc2660e7aba0993e24cc3289001d535b724b65289331fa5dbe354f8af6cc11386358517a1809e3a0bc0823643b30ed9c4605e3349361b8e8833b7fa5f562e54bbf805660415e8662d29c73189c9bd4ac724a242ed72f74c0928b57adbc581260c49d8c2983cf6c9b6efac639443812847254ddb2956a70e12c66076853152bded58a6753d33c5444d6c5a451ff22710d720e2a5fb666b0cedf522f099816e6ef3a3f3c54ef4f08c38f77a6e1a3b959e47260d946b4db25cbaafc074c8697a5dc62b5f0f517ac28904c9773f51fdf3801728b9af9ee732757df754454b6b9565ea7d4ecbae067f2772e444c508640ac0e71c338b46e4a1b0bab4ede66c1427756cea988275824a4383c2572eff3b92dc0728913bd08a2706965cfd12ca925573889b7014e7ffaa047418678e819fd0752729b99727e10fa4907b196ef4e10b380e9bb650876d116f8588950c4e37ce33c724769c182fd0c8f5cd7b52570f0559bbeba2ecac0247a1f82d5b2f2f5e5efe12cd46e7ff783e7792d41a52b753467b5a8549316c6c58096b711ccf41b5fbe564097091709d0ebc4983e58263ff6522cfd60ea46d42f85e47d7a93d3de4259e244a236be08585d7d4e11a214d0d14511c3a9f6c2b0fbd58837103c2da401a884056aeee39dec72bd0c7e4f12655a80073dee9d00b3200d54720056be010f213e6d96237733679d8bda0dc2c4781c062c351916773d9e1ae5887fd9e0a9a5d71d604ee956c7da18a1219e1c558b91f1d85452d02f76c612bd12c11fe2cefce74e724f8826daa6b134705a265580503ded4e519f1a5665757ad2b5a0c7f6bf7751723796c02c9794d5f8df23abc4709beebb094fba12d34582634a154ccaf513c60a6e25cadccf6af70f9c91e74ef9b9a6622b8d9c4da6f98d9b5e4e960cfeaca00170e6b0da14017ac14ef37194483b1dc4d688b61a49527ef121755e3af756580f65857b89327b3e4b67e7290b8fe66f96717ead1201b5b548dea7cdbf923ce305812e9881567d4260b2ea09cdb002cec395b75c89c7a23f611eefee10ad0d253d9710f1721868c3ed2b682d287e3e1e455f7cdb2df3dfcbfab6115cff22b9567244df62c58e45f2b7ab9d0594f50ca2e1e177ee566f15cad5ff8d3d776cff697276e8134073e70fa21f5735ad757223288be2907137ae4240dafe70dae7e95872981609c2f27b6b7884564575594bcd7a74b43b86d6c86725803e4213503b1872c564f810936ec29fab176cc4ffcda131b8af02cc224596b961e3f4c2a6240a72dc8acd4c74f5817ce835c5ae57631430b20f1e07f86aa42e8eda5858312c4549e9445424cc405c6d2e4f3af2fe8e4950820a028247d67da0f9a82ffd506fd972ca75c57bf3e8d47f920d8211fd4ba7d426b702440ab2c5a1b1f0a010d6108e21f606d19cc3d2e7c439cd41dae7219cd6a5cf7820005cf57460be6dbd3d082a6e33c72556f3af0d8dad699f733d77bae107850510dc903a6f9780045629d48a724f82fc7f6e5dad546d1762edbad4380e813df90c0a8af066cecb55acd4af89321daa5f3d01f912905207941afb758bb14ab2fffdb21df8bcdd20c20158f21a72b51f0232b6e23b39aaf5dc64d9101e5e91ea967bfd80539f009da72934233a58b038ecad520a97cd93ac8f6766a57d85f47a4572c254c1bb859fdabe9b0d5072ccdad04f561b84454a970066761f917633c6a7c2fa1aff87aaba94846c269d5d290b644b30afb15229504a30bd64ff3ef5fcb90a5f2dc61a9ee80d950bf07420211a7ed047a4a94e019a68587fb85a25b306b500e288f22eb777263d8269ee7271a1aebb794c81b90ceda784e4b2ec21018868a84a1627b6c7f063da9016ea041f00a58bac86adf5d5fc31207f93b054aeb00f17e11c0f49a1acc33d6c51db23abfb9bbfe8e04cb0ef4d6be54ba25103776bee77b7c3f2986f9bba6c2bb608729cdeb2772af2b38c388fb52a090f88eae5e18eacf888ca6fd7609d14d6a93a727e88964b1c3b306e644bbe5a2092578afed6200681828e0377f2e7cdaad36631244b481ef13496e9970d3d5b81043dff7dd0181f971428d89c1cfd5086409b3b730949999372cfc12ac7694fbc6f25e3a687e4a1aad7992d1dc97e2e53a6d9473e1062d43285bc5e4f8a5247cc7775c8d5d31e4a208a3037a61959421df32d1c66be805f0265756e0c5f76477745ae6d5cd25f76fb5bf31134877905a544cc72e1198c261f1b44e37b3a5900606fcd7b2ab04ac7e15f8792fd355c08fea0e972c565df61da4379ee2cff3f548f9f0c0846e42a67b0fd242cd0b6e8f8e3b8925d691a9723ee7f7747fc7d85c7896d85ea4756fd3278c0d96c34ef68e54a04ce722b3da7c74838f207a1b14a13a9766b2ab69d4fb66af4952d4e35104e05467772720a316a82d4c12f7c0539a40527a77d5e67b926cf64e1b20ccd99a1e37bda21773b801be5dc440ca84e75843c6a2764bb920c6ba477a412535b95fac9dd5c52212839c08b0812742a129c93646b10762ab14a26c243c1bb65955e83db09a072b49e4760e39cbd3c7282b68cb73c5b9cdb48b7c670ca56f3e7c41a528cf57f02079f61fca258fa8849822dfed85a57cd130a15994d4771d38e9cd9fa59c11e72e00b8090a67ddbab5963e509f581ad65156c036465867f78056a189c829b1a052c59e3ebd040391e931e570021020451aa02746a0a3998913728fe81066d9f11ad5e8daa69e9f172d46b63deed96e303db709c08767ab235b8b552e27c37d33377b3a994381f25004bb9d2acb8d3c5169d13d11d88db1b1c649dfb982c669672d71e1a0bbc77389b0a548327519424cf64dfd4479ce30f4bceb026ed1cfd510b0fbc1841c16b261d11e481691a72bdf4006133e9ff8967b23eefc6c254f45d722a1edc73451dd94f0e1277cd68096dae43ccfc194f94db8bbf625c764184f94034e9b5b8e0d4e7967781b5585447fb1ad7ad8206f4bb1fd51b8d2dbbf7a01c4485ae2ec3e63962d13218550436f8244432a30309a829e56b6936d82287e04b097c1bb01ca629c318fe0cb5e098573137e664dd6a1b00458d8b316f3ac488bd508aa6d940f9f6c54cbf20a0100df51bef687155152212f6bf40d3ef7514b7a84bf014dc9bd788f7f18f642c6f4f8995eb40cda9f59f645916e3df9c3502fa210c5e250f1592b97a98b3e090eeff3e43d42806d59642d8c8bb6ea7efee0e2db472692218b0cfcd6d7d35e17ab35213726cc3222660990131fe4b3ce909dcfb9d72c1e54cd64bc39ad5e73e08648da08ac0a0a2575b4eb45c075def73158f349272bdeefbf85c0d3bef2c04ae46a9458b29c4df72095f9ae58ab5e47efc855b7e72d998377227102fe06ad7faaf8184a1c430f5bf06657dfb7e591ec6a59725a672124ce0cf4618b9340abd85dd80d663bc4b149ddd919b1fb0f8da568c10374660b1be3b8c44c2ed371f87d3a003c43e17fecb75bb2338a4643741c6c636c2c63c62ef4e9178f3762b958717512e6dae2ff4ec563a2175d360cc727eb6a9b5df28a4b9d3d1715811651f84755c3955a46c1c5a7dcad36fb4b6b50e0d70f1c5e8724519663dcb5a6a6ce01c8bb9d8809994802eb6eb6783ccbdb4635261c9e866728a20e821ec8f30313b468ccf28ce7ff3816cf5473b8cf4ad7a3ab71e077e1472780bd72b5e780d4162e47aa0051647fb83380e0fdf1294c7df4e43350f49677262402a6d1e0aab144374523ce8c560bdf0ad829697d5894f01b1897eaddf9472b9b2ee2980a0f0d277874ac51885812bc6a3c2abe0021c39a2cf0882426bdf3f5c84c574ab800b58cc3d6d5d64306f0ffbd09c588c7a7f1fa14f92bf252a0172ac3f93524894ce4051622353e5508fcf627a2db8e7540f2378122f66a288ae475b481db3cf2bd27193dad6effa31d5b3977a32464bb64baefa4ee88c5104e61a129f0ba3390f03496462b3dba89bff4a8dfbe3d3453cc6b817526890a48d0f15497c1be31b6d27306047c6f4649be3fec2da1327b37053acbfdce9d2fad57172ae3c754e73fcb3f1fecc5ed3df58b72dfedcf47c29de5022c4b43784dcd0ec726b1d7f342e47125ff6fc5206da4f4414331959ee899d402f126642a792105b722d8deb1d1d281dd8e95af2c6acbc696c43384d37a1a6492bce815ac3d1ba9d7218f2f5d27682e41cce24dc14238111f9acdde2b4945f4673b083a572ad130672b78a43bf4e7ed7a11cae455404aded2e22b21ae84247ac176f9b62c758c21172467e6606b641325d58e62c29ad35e606a725e3f426a3cd34864e0db600a51a72a3d9a52d93ab109665543bccdbf66493631d2e0d1b1d650195c89238902c3d0d39455e8b5026b25eb6315fcf5812b20fe7d181c249119a1ee40da99e870bac72716251410bd6a42f08127083b3eace861097ba80a33dd4532eaee6389c2aca72283869c17e812e724b68fedb70c925dec13c3ce56cce415c631005d3b816a2720ad63e4657e68647bf81659b2e56b0e310feea88db228847442ee12bb7cb0372c3402a849884ae55c72b7fa6cd82f6745fdca579c84e3d35eab84f08d9f3c672a7c7acc42fd96526c99b49ba51dc5f91a417888e624da2fdb7eca8a5a5d2991e11088a4ab3659898fd667cf4bd3c0c72049b8bd97dd30f531a7d593a13eb6e1fb3832e1f906cbb1df33322e08307db722dd10ff71b95caf4c87b35e7adc23341f2f422ea86a97bcdc207d1f7b9d68b3aadba07d6c85ee9cf3ed164e2b4340d72002e753d23f450aec816ddb733273028a5b47fe6367a9ec3e7f709fd4bfd7048e257e11ea44825181a757e1377f4c999467917bd1e8407314bffb8909fcaf7093b55a4a71095ab7e41a80fd4533a285ac76c74970aa1ebae5968f75b93846c7231b9a3ea1c1023ad481182ea528644e089e77c25e16d9d5722ac6c79d5712b72658e8b348a1ffb4fe4ef65742ceef9a55f7dc45eb78230594161618aca5c2772715ce6a64d778e738c474d612c002edec1e9ba552017614d939d25132d5c3c72078e1780fa80a2836e272fdafab7ef00bb23aa5d6607f22bfe4a5057e1104072f23f757a9ad4df065c71ff2d0a4d3603f9493d665523782b4c5edc0955fa75727a4ff56e84d40de009498c07963efafa3525333deda4d8be381c106e2b3fc719daab5e943aa3cfbf060044134d721bc08670a19a0db4e8e1d2ed49ab05cc0238d2d96d0877c8eedae5e361362d247debe3c82cd3d3112d49f49ccf7c88cbc16cf5fb408017ebacd6c3b24e0b76f5dfc0a2faf62d99405d099f082bdd3ca9385dde6e9429053b172f567afa93fa4a5e0d31de975d4a11d6f7b18169c0c58d9972680e4fc7694a3fd7c089dbb98fd759d8f418674520bbc7185a4da975e0f9c14b34f9165bc634cce1489049027b178b047c66501ab384301824840a38cbf9ec4940f521b0103ae2fbb09e94a6df1aa3fe09e36e9cadd58da00cb81ed6b40b6b7251f5de015b39191862bc5810b93bee481a940561a35306e3dee052a2d74b0072cf93b3d2e15ee2bd9f53ff87a5d3bc56c7b71d8da50e06016f38e330866c4e725cdbce8b9c0ebc1b96bf1b29332e8444dab8d0d02363992315069febe129d7274d43e16e1703d3cb2713c2b04636161e3984d5b780c0adc75a6adebe09550941c76fbdf958e10127809a716f426d9c7415ebae2efb601fa31689c15b929f4c72e0800d1b560963464ead7532bbcb86df2b0f8b145cc92ee67bf06d62524326724374a204a00a9460c597a4ca9da573a3b14123f0c882d8fc522e9cdd5109f0684d1a1c4a19b9084dae107271728ff8a8eaf061e214e941d8b00500160d0b5b6f362004be027cd2adde63c937b274b32821ab83ce526271bb12694fdb2b326c72002df6a5b1cca61d41e5e104ade4f15b4d8465469bb5b6f3c05212e4461c441bc2172bfafb7a3af6043f3e58ec5ac68722c945c2c7a154cf710302a6e5d1f46ffb777521806ed6181bb133aea83a59e8941fc6cd881093dfa1d07695826c4a729afc5e2e6bdda22b4a72f680c0f81fe16e56ac92c3f9ab3fa5e64d69c1d877721255efe0c2cb6b6a857f266ee62a376e547ff94d23dea435c369808520ef306f1ca6d8159897e4a99a49f6123724f519307af9e4920dee51497a72b8718249585b07cba2df75413321753825e412a159359735bf6de96d16e127fb8988d55a725e74705da4739302bed3da9707a5c3ed126b922b6bf64259104449360d8b22235050a0bc4140d44702b3d8ba5d7f6905438e3b802dbc13d7f8b22d0f89093472c05f0fc122a6bcc36156a6970e5f17b3143a10cbeb0adf97ac888850723f92723b8ccc80a1148aeba6d1f1060c2e13fcb7177c3ecb3794687c96dbfe04d07c72e618fdbb743b99c338061f7c414f89bf5a40a22f65598993e4ea303d7062c86713df6d6d332d9ab2d769e49cdaf4a133f563e75cc189ab55f3945eb7e2e2d9180249b82224e2aaea865a926c2e8046f0dddd3d72fe50e5c734f846cc129a1772f717d6ed5a3e9ba6752ec10698949ca94dac00304927071c134981c12be45109732f65a3fbbfa6175c846201fcc24cb86dd1af5cf40b4179d10e6193e7aa3d24a0462812f85819b057b3636f3fde993e6a482d9e150d609270a05468ba05722d1b0c0bbfd95decdfac61ab61d61f327486c6ea156d22d68944ffe7f26395b372759ef6f65ede3df5045ca8991942491928095109a397187e8a659f0d9a9f8011dc622c066da309791d843a2a8bcb3831598c980a21c1fc0e5f4d2fe2696c197266283869dda56630fa22ea7022c32f83b127dab938fdf3f5c42357b2bdb82e7280b443b04e26f104438780a231c11b3b2c25c3367bf54eb11d772787644c4072f3201920dfb74010cf410daa951e841375e1857ef1e390bcc18cdaa05fc1855ae92acc3c9b711cdfa3d9bb397097f49a3b6dbc07933873a44954f19f1ab66817677edf9e43370c3ee5e93a0fbac4f9b5ed52061f225fcf57c45eef8e938be54ec938ffebcdc11a9ebda0b48f3b647920b1c12887b991e0c1cfac9a021e889b3305ae69e3d898dd3a4f674ab6a160a7a7549a116a8a2244552bfeffe7431d3c72c5cf0490d3b7ba56aba6149ac681b32513c75e79d3e18f349c747e5adaca9965e3818afc57ec1cc3e5247701dfb3619f8267622d7f3d9d19e9c9a507bc79542caa74898b58d2441e55f0d24efd35e0c8002798104f8e7b09d8e9f657fe13d872abbb6d41864c5d8ad5687266d48ac4f120d46ed0d7af95f27ce81a4c2c6d73722cf23be57a0239e3992733b465452f06d4fe4a32e0b7cfda0d14169e50b8737252938c1ae9e1a4b65861adb954735cb5beb170337176c63f1abb75729105b67214690d874ce17d16b35a7423d2240dac7cdefa5269a366875e44765e3c1e2c0c6ebaa99e4208f9560e12674d88922154a78486627252720880fb8757a1317205c831ec92abecb54cb65af375b6a90b0d7760bbed58662410260084b63cd3c3723b9906f8a0e4373cd15f1b43e9bb3f734228164b01a1da134d2d9766bf13ca72b4fedfd6937dc330557055a5ed009d9dbe15de56e28de2fed85f2d0b0c9978726b5d0590f22c410d1a7ace3806be7bac500c334c2ff5979f2d0291bfeb3b9472699b21fa80dfa079f1aa72225a62c8bcb7dc9fc32fa03390fb60a1f8ea70a6728a3b7cdc8dbfe53b3c0b6f0795b193268a4e85a60c6cf6676d1d6e63947a943a16756a36d1694fb908263689dfc25b8c7f7763aa3987ac205d4d20be6b1b9472c70fb40932107899f1893ac26a9de9a0fbffb3a95a140951354358b4dd4231728eff2c16205a08a72631544e257cf9050b83794b692f8baa0ecfad76745db6724b9438a421f3417389174b960a5e3669cfc054bfd17d108d5b912d19bdd73a72da2404c3cec69b06ddc0ee6cf588bba7f847649e9b1b8feb5064c3bbd57838725661a5b4360ffff0ad327f41df6c07cb512944208fde5d9db7e40bed20ce6953c9a64bb8998c2fbeea54a0bff657fe9fafbd595453854595a07fa2d4f5300953b7d66b1c02cf851b4b1fc10c82eab748e01edffad79b58f80709c5deca91fd09c3111e8bc5e70ff05697eb44a7d6fc0d83483551a887fce4f950d2cdc4a219240a1d77d2100ddf4c0b2335b1435f8b4228562eba078b5bcbcfd56b9b9d35d40063c2cd9fa80dc89daae90b825f29471e4f8b8906301493baedf5491ab3458272fe58a52bf17d8955a2090dbd0f93ab5684a85f37262df7148735a436d1da3d722403c45fad3e249704343cf8f645019221000c9663de3ca952f1bf1543e5e572aa961213e6f948a70d6f7292cf999ddb830a1e3ee46a82f26e35c7bd94af013b142eef4d0cda1f4ed15793e5bf4d46617dbf8b6916c32ab57d5c76e3eb3e321574baa68048a9ac34773241a342c0f5db31b351af0814203a5cbc141104e60815b278cd8c5cddf6a98aa9c2be1ad5db3ba297c8f8696c9af217af14795b073172b246b20bd6fde5faa3a49be13cff8d1ee404717153a1a2481890f67257fd30726f251d4c4235260a6d6c875673f6cc54143cb54ee378d9e72f2ef23173e087722f8b0cf1858ddc4e794d5f5b96d49396a2b99aa9c68752d5f05334954a8ad613765c67463c66983ea06fb7a8297af0eae6b5f0867d6de176dc4707d566b4804f2c444fab918e2beaae81a45f61ae730a3a5bc3878afcd1efab978847122f6272dd6e02485e142206f54201506fb2be57c8a816918fd49e7eb52100eb97ad12726996e5120258205a5c222f2091e0cd0de6bae246d5530bbb549109d7449aed72a17beff797c15f669b02949f72b77c21be1a845138f2263444b74989d7f961724e92df3b57e4e877e53a12a17eeedda27f73dfc7db727eacde58b062bbbb2a721236c28fff74a68a68d8d262fe17e859c8ed2c7eee1ea38f00f0110b9c83a124ee393733753fd858558ad75072fb38de1bd03386b1191f1b99cdb470c4a21f7295a74336cae76a9dc345e92b06fd23e06480b5526821987b1ebfb5215a03ab72fa13dfc5329605d0baab01f6c2fe2151f79c7e471f8e4592408a60fae4c7236b79edb667b608f76e0a7ab31eea76fb3ebbb1f3401ceb2e05e6e088ab7a5c0e72be7b5cc2c546c551e1a8200a531cce542369923611f03af75af997f2f5945d72de8dbcb6f227c85f63ee95a2db7860cf2e18cd85148f9a80c352180e49f1d272151b26f073e9f7a5f707a14f8ae68857d338db82265337a01666a74beb7fa02d79d77e462ed16f3b390f2c5d186751fd2c521c61b2cf1b32336438f477bb6f4a9fbda28c9a2e3f3b2466494585b79549989e8d911baa284d49883af21917457215135d85fafa3e8eb5b406cb2bc5ec666825a091e92cb5622776a89dd55a5772adf5cede1724ee4f541d459e4b4572b6a5077077f396ed45c8d4319aa0662654d3c8d84de51178f6bb2712bbb635e580c2525648cf7c5dab242390d839bb9a728a481d74e0f6ee37274aa4bfffcc4d3ac67d886b3bea4c9799abbed19fa76772387f48eb63c25beaf5b8522e3a935ac1c905d5f99ea6aa8e389bde71a42a3672be8eac95b2a415c5e35ba37464b3f53ea95807c696ffc0bbf246cd04f807c0720b09021e3252a7eee3e30bcf5ef37534b32b479ae89619ddfdba86214bbbc2127ba183317a4b390f10a5e50c845a739ef51dbf1ef90a06da463ce8c3c52021511b1b4bdb699968809af64a83e96596efc802360fc5d2afc54cad9d8d3dffa972a738e9d5f49a7cb32b9f02cc354a97d1533f8191b674493c405478125b23b06bc8899221526a583f413b3f95ee6ef6dcd63f0a1d0443c7dc3b2ed4064b33d57244c16a09e981ab7fe6ed2e33cf8f62f797773396287dcf49b5fb8476be8cc3721db83c410a2a7274096bd2c641042d2eaff704f6acfafbcceb78f3d56c3b96445a8e36caaae0eba153d04388a925e6025e21fea947e60c299faee3b469ac977291f07362f4c2e2c5a3f36418d038daa15a283342ed3e3903e78ca2f3779d6d72ac17ae7c5d3ce4f67325117e89cd88201da66a12fcd948d0fcc5cbafdd353a72491e39827ab1d3e8a218629833c58b9fe62d983f85f0dd5f77b2e0a2472f0a4db6c540c23320a19c5150e1088c0d4bc8896ca9dabfac2d5dc72c55e2834ac10ea685c0f5dde240b6af1022accbfd59715283b7d80b0928611e9326bd2fb06e21ba98584753b9b6f02c20f072992f94ef4c42516279d6418e8b148f76b556f20257bd31701b615f2c0eb1af51cdfac4c69582fd29bc423f6581c5020694abb272501f89300be43153c20da8f110d2a8bd8cc7adc9f2303db5e458aed9dc52f072aa04a71bf46ed231ad01ecccb7599dffbb8a1dbfbeb9378fc79f64795b676e513537f38efcc533c2cfd9370d731778035a01186b9c1bb461ff16b49477b78972efa3e9e29b4736e4ff3aed1ce1da67c483ba12a0dcb7d6175765be12f6ac1b72c193e58d5222c273ed95ee0219a4226dceb79811f1599210a99cdefd066baf721912b9e9753c89380b7739fad2204730d8f4963191b5927b011f326d5c930048b7e420deef77f565dc9c7d2cb27d3360e0d3fce233b68dc2ae1e3d26a0822b246f3dd4cf112d64d90bc3d2b5ab52fd567f922222ecbeaafe3f428742e809f97250015e062785960947df74e6eb5e4d60b1c0d5910a5f0909caeb02457ac6ce72a883a7175dca660b029b894dd0d3510331098b22a1e73cfe43490364c71e27666ca582dc78378a6e7e7b2294c4d8175f0f0710fe1a498759db0fd75d58903f72576b827592304305c3d2807ec273c7b0d5e283f7e4ea2dcd593c2ca4a473282e0164641ce28b7187421c9c0f5755f3775c5f4fab80aa3c9b54a977b1f4efc83556a804783dfd26f26e9d77d10aa64e7e018a22697d68e59272e03a5eb5a6e46af0670d1892db9e15606af767e8b8e9573ca61fda66bb35d6c7aab989acf9637289fe5c77dc42760da338463a40a24888c96343bbce9be8b9d23af8be5cf3b7729d0318d3cd2b72747aecf68340ac4ac4dec3a4665138ef7952b7426f11e59972514b34f138515596c6e81cf6679b94be9bacd30b76f1b49689b8bd88a9507572276e57d1dd349ed1db2811607d090c10a216c49c4c800205d57cf60d3a18ec4df62fa888bbf305bb8142b9918555b699e15d9ee8aea97beba81502c09d99a172485b87eb7700ab35a278db7d293ff889cecde0f1933f8e5fff53896d04bb0b5c4f0149da5bacae92f1266bf9527c13f5f698ce60e479cce79383d79938f05009ebcd22d2ea4f373566d532225b6e57de23f183893cf890efa54f80e235fd3063e9b80a50908e76382e7ce622a5a7d6d2d3aff74bb82d19d70cd30517e5b7c6727f359514a7b5bd0b7c09c1dd9b9bed34ef5f1a81931127ef0164ed831037292f9df8449747a3dd696a580c5c2c35e8118d92b84661c8816a8779f3ba1452bb728ac9436af7680cff112ad311e4dea4c0d892d78ec159a7d6be5140b83cc6e27230d23cf82c7f50f93ed1ba15cedfb10139132f03de1afaadbe957f6b5642ec727f9dd9b5fc29290b3bb75a14143bbe230cce6169095db971a9321df9c31cc072ae592e2cdf7dddba63559465e4186bf5ee48e4c920caac6fe1a83d09b1b06872c56052bc6d23b5ab5ccaaa0dc5c403ef123ab1a0617657c35e954d763390dc72496b3d40e8747d81774250440a9bb3f0328c5d8ca1b6edbdd2c763cd968bc763661f0f422b5d9e740662108841d1b360d2fe267972ccf11602a7ca3823013721c487ae18b1ed9cbd9752e921dc6d73c33f6d16809aff140c2ac3b9c70353ec581b0e5cec83e2cef9853f119ae9d35bac4473955223bc460ae9539dab79b4cd721c77d67c81c801b27d59b56274d8d4f5f8fe54247aab0131a6baa5661161a17250b6fa555fc04e53fd5277e168572c8f01cf03b4c7c70e12486099ee13a1697278c7d1a44a0554e357281b6ef8e9a2f983412df5a2090867a9a7665bd7d40e72aa7c76679af52a0e37cf48f3b18a19eac01bd78671a31266878e424a4904fa51687b8b3c1c24bbd731c6d62a4e1ae806f1c732d11bbfde3e98a2707b30cdde724aa7c4961ee49b4f8bbd39431583bd474930b090b3d0a2cea875c16698462f725a9f87893cd2ca2602f03b96d4101539d5885d3864b3487841f68ec34a9903041644e20333e7e598ede6806fc2d9a734fe542af6bfb0646e49c66b7c69706172d42ae912b98203a5ecaf7ca3c6354e296d057907bfaac12b73ed6a6945541e72110bbcd44ff0be0b42898ae706367f3c5f041eda0fefca103a4be88c20261b2a3556a1e986d7fa0ef21693e15baaaabf22e5c0b97a1c4f55d6c147f88a5afd3261c23e3ee111cc6fccf9406fd36b64b6136d034f1130c12fb789357a3f785d72d7c291bbb9c700f7c12204ec86b2a1abe2d1212644ed43544e35a5e6415af972b390792dbd7947ae76706b6f5df7b6e009509821084d9fa630ad86b1bb979c7244bc8891ab2438d35dddb1242f5965ff5c00c07dc9af8b1009c1486ceca6bd2de023d3eeb24c4d6003024144aef53df462f909b9269fd86fcf7750eb2c1dfa722e54534866a32e32a673d1c0bcdea0726b13714e377c59057065515c7eb9ba3ccffc66842c54b4fc2b44b76bef5837f0c035f53ecd2cb89e580dd971220ce3728a48c7fa5330f223341375b0b2cbf413319441622f6795b343a251e8c0820b7204be726f6e38ed6d26d05098670ddba73f649a3f1e458972cd7b7c6798196172b92adab7d5dc401956b65752519bf73036f564eae7da8e8999ad068912a6d9654d96635fed89ab1c0061eb07674b7efd8287d6dd6ffbe5d4a6f432b6c3bd1e72b3a0b2d093933210b86b6e5731178806fa0d8107e953cb04fe953f07f048f60db4a6ac7166775190c1baa828fc99ce6eed83b8bd681f73f4299e8f90b8610b6c60ff0f93857287f639c1aeae68445d9dbb1b473f8e066ed8864bbd3d95d81f729c0acd4675b51986d67181653602dd33fc621d66cba916e6463be89fd2651a72d8c2ea96bd54c8fd555fce194a3089820a5cc452a448e9c77518068ed1c78463823f09103ebff795d3c6f5f84b940368597b180068928a7a03fe60859e7cff2d34f8c5159a8880e1b4dc2d6110db7b869aaa62eafe15e41a5283b81d68ff933b8a180cde137ba2b545e31ba903ebfc28840887cbbe70045ed3f0f4cd5a3bc84ca45d5fc6a1323c12b7c1516513df103133c70ec1fafcc6e431b60ec4e9c2dd72ef49706c4f2c2b42c67fc59a0c44ef6dd9140a5c89242a9198977fc2ec21913c9f730efb7f729a64a03934e74c888bbc869495f8fee142d489b2fd714742e1110ed5a5b3c6de13b7e05d4366d98c30683f2fedf33057361729a51c3226e557727f3f3066a4befb3c0bd6672bead4f4815762a7c1e51d8354c8776666666b4f5c497e1117a80380d0de8a7aa400c53effd82c4e63b72291a80bc7321dacd6687215093126d59ea9eb16b61e0799e752b2cb54eda1a61eacafbaf5676c03a65d721582965780d50751746174b2ece5fe3be1f6a293f41a45a562f69ae001485c7258286ab2db66a060ab954ad5833b571a7538d31c4bf78bd5e74fa6257601372a7378525cb2e00a750d20c1a0caba1059eb3bbaad965b17c9def3c2199eccc972b6a99fb5d13d56f370a9aa5c4784fcd09edaa15c3c23665b2121823e0e54f272e689e5d48a6624bd63b59b60652924081ee73a78267948c3ce7f3b26073b8643f31eeacd962ced47fd78edeed05ac72b18e9c971227feff2a6c174fcd95eb372888b99ec83ec05616ec4f46ec28949475055ed08a6db8608fada8c72cb23c472aef6b9b75c289448fa4fff605ecd850417cb7923215c2bad7e75573a645c3e72d0ff0de07b48c6d56d15e2b28ac4041bd839f647e03e374174fcd3ac4f6afa7207c9b9531a01967062e2545508fbe12b57195441acec2bb05b8cab55b991bb5f52887bd40d804ef196315b78d74c8d62a175a3a28fc428f100358989b5fd855488b3d13c339031cbf0e7ac65cc25582a246251ca95b535ae42ae2d2781efc94cdc24db969f5e2fafc1824b3270b0439f4cd79226281a75c1ee63fa482af0a37287f509f33d0ba5c7a4549950cdb57d427bb163945d47d95dd37f3501cb1bf83d236acf040d56c4a724ab0fdd469b0d27a9c00258104f9a4906db5ea751484c720415ad6657f6299b6b2540ae6f4adf1fe102db7cb761fbc89e1f7f12bf0cfb2d5dc8a6e76c904ceaa6b5eb51cd08913c3ac8dd568d3a0399b9e8d6886aefc5385ae041a5b405f12d0a68e6cc6efe2a0a5a9b286b2f380bb019826f5ae96ebe7298a85e9d37f968fc5def3caeb02f225dc24e7f2c45b9d5173a50b02f67c4d77285960d303cc327bd034b7a22ceca7d71a47cb37601d5bafeb6d54282b40b207212bc69a7defdee4ceedf7af57fc805168285c053fb9156795a99ce2b95becf72ad959de6495f94c9b6c0dbd4dcc2cb5787ba4bac6c908f2a51984637f3acab722590df7b8cb404e0e7174e547e5f57d288b934ac67c7852c2e27352c562c2f2f3cf7e9b1a8ee756ed2477b1fe930dfcfda465dc03a8f3024295bb9a63825c1722e9a2b157df5a005f90a310ce621e7b8073dd741dd6299c18e77985d994fa972854ab9eb1f921fc03554bc276cb33cb7c1fe4531094a17c9bca33a17a13a4b30663a3d44aa1c898a04b68c5d99003f0a92a3678b52bdf40bad855b07ccf33635ad96870075cb69388ca4693ffd078523eb31bf20e8ae1ac2d60198d25636cb72a7f04b83ff5d3e2aa5dfa0512e75802d674be3d9fbb1928122de79161bf4c872096288f0a3a4ae5fd8fd0ce615952f7d17971fb42dc51eac4e35e7a181c72c70fdf87dec12bf267af99eb0a3c88027dd32a87cdcc38c14d3c8255fc1f42a7561d01d2c1173ac92e9e36842e361101ad5aa541cef14e26af8d1481309b72cee725c700763efb6bcbff56516d4bfdc9d374420da8fb698ceb0ff70f2cbad216426b2c3bfed642858c393d98b6a9b85de06c5ff06b5fe3ac026dbed75bbe1863870ddd06f83f385325f848028d0eaf2437a33784e2ce8016ea40f5feb5db248507247499fca284cce1f59462d8c85b14609f87917702f16d68bdc6c2c5f4163ef5ada2d446fdf95476340a5e5cef2f1fca1dacc91575d94755c5a2c76f02207033abd4b9d30529375c3e3c3b675a90e8f463373c062a751e1b5b2dfa6352093dc72eee045485bf0090b0840941998ffdd0c55afcc8776a922c5e28b29e5cc31722791acd87c19de28ea70fa4b768a008c3b3f267c37d7f1cc37577a3cdbd28e1f7286595ad707158bb98eebdb3d659bb8fff362af9586bebbf7a778daed21582b7212bfabedbe069dd59c2ff50379b2132b8cc2e4ce6ae5c9d54c5273d1e0cc954d0abfa13d9962526dcd8a3789294d6372e187d7be78f1f9a7ec19425f0c8f7a72fa4ad35fca056a6a28500bc0c579b63fc393b14b6708b4ea5830a0839b1a6c724063f30b3ef96c764fd67c6f2040470e3c4666021db167a032a826b3266faa72b1e91ca7cc9969bf4551c97ef854b429bb75cbcd3b3e4e1fc7aa6e073eba2a02c80f31a0a3356e8c870a9e7e0db977b47f3ff0275aa802b4edb6b0356378d1721c994eb27bf814b93697a39c6331bc705988ead945c2370b26de9e71c3ee23726d12f91780188a594ea7d430c2bf20eaf6566b4441cc5e15ac17a7da316cdd725c0551d9b116e9706f5e5dc22f1f8038b9d35b001e1bed5ece3c059ab50a07727e8648d71eca3844a85a1f88b74124552ee96353590eb87bc4cd7dcad75ef3724d636c380da720848028141e397a01136aa433de29eb2e9260dcd0d13f20267232c4c0f031da5b64ced89ac237f67d113c3f43c88473d19e883a2ea45a2af8723ca0f5a0ce979bb6e6b1f4bd731b3eb763a98aa17e9e4681f67035b410c146385013db6c6d90b79133cbe6f9ca582336d9931e68a61b7f2602a658525a6362247d8f4dade6794e556219e49a81fe6a3944d8f8671823b30b5ccc15d96e8a2a6734029f5acb0e8929581fbf45d4779d3df37fa1bb2d1adfac44b0e16524de397288ba398433433f225ccb95e20ce65d5b01b377da4f6288004fa5524214a1095bb1e97389abddc63ddfe15bda41029d2c3f384c28791ab7d37db381739a67ad727761ce254d829504fc654c2b6be82f91228ef55637923b3894b58c25aa4fdf725332d877a85e455b9e9cfb98bbced1022653eb7d7c4dadbc5e8b3652b9b9cf267199bb13be242ae6580d50ff7f24be7e60293750991e9efccbd2f150f2ad5642adc35d873fb15028c34b2d350d70c5115757f58acea4792cef672d88b44887325a1a4ad93609dd1f7961e9f685b168bf430cb8ad25cbc51719588aa395afc972ca0abbfa3fa53980a03ff832256a98be0414d322737c2779844aab4dbc9e09362cc7d194aa5993fae6982ff90a919f20b6278cb61b1e27ad1960471519e4aa72ef9eabd03ac7174923603b71355c8bc010fca027a35d3ba9bea7871cda718c0bb6692c6c9681542fc52269658a1df48d38f309724a6d313114f473cf49e1c0123c69d4745743672459e1fbc87110e08927f82b6505eb6458fd54b6f39a36cf72bc1c4177c2914009f2057fb18553066bb54f40ef29b90e27ea3b994160bfd072025a865eac5b670a650150ac278153a401e445e839e5e0779fa4e24dded2a37216641288b92993761bc971f078f998aa57d00e925dfb0d34e976e6415b1382296c979753ff59d5c5311ee756bb1525822ee2049d10bad52be8b5faaa89e29372683775c3fa1a435765b234e3432094bfc53b1a8d72bce458613120b6aec3af705a27228c987f20b6f58acc698f4dbc0cb10a53c7543e4f718fbc788c1d3436105f80d223b2dcbcbb10be4e73e66ac4689f616feb2f76b66c6cfde8b03a804c5c5724f0cfbbbe0b26882fd883c61e24561fce57e52a29eeaf463e62fa0ded446d79f7e18aee7587219373f650707d2b4c24ffcb936b69b42b5e255d91aa9a9948b16f84cf4ad4ab53dc114aad561b55acdf0281a1e1e6e9508f4f38d1279c925dcf9cfd745ddeb021ff2d5435e0a4b8f6d45588c638dc25c413ad870e8559e868872273dd6928c3391e070cb6ead3acd2ef47badd4222f197e8c60791827329720f7b9847dfb933e32b5dd753156d01b1ce1bab0e42e155fdbe643bbac87f981bd2d27e106fea8fe670875ae83879fb60f378497943345a5a83b3935a52ad7572cf633989332adc35f019545e0e6e9ff7abdc2bfea98af30880d66ddad1876372aa16e3f746f86c8fd51d8af16a150f7e65c009a629ce5f48742782dda8e45646cc9897b37e7ad35e23b86a12c2cf46a5ccd822d7ede2eb4389e61d48e051d05ce7683d1f401e961b9a9bf204b9a8bc4fb87da40b5df508627437da2c8f964f37629a4304218c01cf4f2c108e3d913c90e517b8e252cc365303bb02c3618da3728070c3cb5f89daae8fb1c6f94faade5d2b8f9b054c1fcc6f2af75bd93f7578724f42fca1908fccc2f4497d906c0fdbcdaaf713b826734100ec71a56caffabf72fc35105ec014c589b714971a91e59ccb014a87fed7be9333669bf82ee8599d728fb1e1c64e45ce7bdb02a54dd3e1ce969c2d9c5119bf4795d29f4b1d2482af72d272aa437c4f9ace5204a65879355bdf332f907ba08dd276729db28d8b83b7720e5f931af535bfb08321f0d727b81c5d61feba6f9898543fcd743a1cc26697171c475fc02a5da3b622c738ae8eec061b8b96786f3b4a9225ad3a7c2cd8218e721514c3e77931eede0777aa389b8bfb1c094c4da31cc96badf3c6fff10dc7897251e541366f8bcae7c0e076f462a16307ec88290e0beb0fb1559abfa160e3865aa758effc9340cc11960daa00c038a74752f2dccb0b136c701f80131a75690c728070c6ae42e2e91d5ca3899e7a53e2eb794530de6afc0c7ab73277ca59567272f267a45963f8fc72f64649d1088c32ce720523ecbdc90736d114492452cc3072c1fbd43e7e6ca6f7b73fd1fb2dd307accb94003d43adf17695197e658718782c3c6c849d0dd34b248a621a3e7c12820ab85cb7932ac3272c4c57186dafe7e572b49a033c0ef3476cd551993912afe351be49bc2e15243ff4cfce897c0b551152e15e783fdab0c5709fe3b63d9b6b53f55c2e7a7b93f07c012d5c390ea0c382722d8e5d20e6b57c93300534a57edaa3f5f67c4f3f418f9962e8686db646886630ac75b8d09bdebc3750f54137e9bd4773e71ddcf22071c6881f9a0a58da51f025919a964c971b635274845aacc0a2e81d8148eb7c2499d4126cad450d83b550722d2370fccff01dfad49e4cf8b2f410023f72e42ece1bb348f23057adbf96a472ea67caa793072df790f754b2ede3bd4edb5d70dd246565180963094b0229002141f5f563f50b0b4f0241d6281f75a2d02f0ca1ef96638a4112671426ca320f1675292c0826827cbd7eb76aee952b88e327391c3c5518fd1647adbdf7a020217205c2111571df66b6d19a967c09ec40d5e27b8f54d1041b645548af4f0ccb726990e941b64a2a5341ba8c76ae7bc514f18eb64855fb220d2a28e40e8d9eb5c16eba22e010fcccbd6944d63bdc76602387fb74f52015ca5c8229d6862c78c92370426c1b79b9a12bea18d6b4349c658c536cd7933b89dbb6fde81c47835c4c8a7230466f1599214203f05b174295bcd103accfc0aaee86822cd0f7f2a15991a7032949e415a6d47cc82623decef3c9c1a5842a5f6ab337d1948d00984705dc3072c667f2105433d84c7cea54bc8abb8f3750c538ceefbdf65716bd18337c8eed668f8bc0cb3f2b73702a298e1dc133632965973aa7d2d0dde581f73f33902f23207eec32b67fbccb9351815f011eaefcafa7034f8297da24720d707d82f34e9d7210abbd0e96be6bee274bb7a27432935b1d722409c29e3549fadc93671a54aa724b9e807a86db6398a00e32f6e2fba5b762f031324820b77cbaadb2436ed60b721122902718c60b5db0e70ce58d1825eb1f8ca719d9d1f3181543349dbfa3cd72acc5ccc7a87d6a5e0a0f10f04c8bbea4e11143562e69d54257c794e8f5ee5f17bf9916d1cd868d8c836ecdc7af8fdcb23b228d7daa56318e278854b7c155994008149275765b7a59b0e1e688fab8b6e01b9aaf44e9b1f8c842fb7a19e73894269e8b209f54812879178d7ea420c7f0387a942eb89d72e4e6895ac77d6b08e10524b520eef71e88964d3c2cfd6231ff4276762b902ec704b3ec15d3bf256afb0841bdf190a1b5fbd6424d2bcb7c9ade172e35dd9d0155a8c091ad1a0286be5338b6a084d41fad199f518a3076af97cd247f0310fe17b2940cfd81c9335d7689621cbec2f787278cd5d147bd17203620f5b7562b901bf2888f834575b3855a3f7274143bfde6d4ca1d86db4c3979748647ffdec48ccc50b5b46a4518c5fad3cf72ccc4f6c4d976234723b58a659250c4d06a7808d0373043dae86217da82d58a722173002fcc22c4f6e5c720f8a09ae6b4e04dfa79dfdc02288c6ebf0dc8678e724195b7b3a8effe0635655b39bd2f423ab014b47355fb04605e79219bbfbd07653a57ecbff29feb272c5c67dc83092d602a4facfeab42812452adb6d2038d040a5a54180d1f747e0a0dad23efb511b5072c171af76d126282e2e1e9ebf1217f3114aba0a3d26f3455e73c835450b1e48618d31e9e8b85603661e1439aaf6639396d50957d39f104c08ca949ad13eabd04222275b6b1f150b7f3d04468b2a81572fac2ae567b60d892aeeff0761ee7e744dd66b0c336fe9c56e19fc6fab43db672c26a3a16aefc5aed9516deb8983b21c8db6c7381907620b5fbc38fb7add491722df88faa9868f606ffd2bb1f1a88f65cbaa632127e46fad67d88bd83e3c7f66bc0e2e8fa7fcf8f36912ed4e11459d016046934769414885e85ba8544643f5a7244c44cfb3cc71dc178b535849303b0799e8433c9fca722cdf8d2281c9fa5f002ca136e812cdb49b6cee203a247a5dad3f358e27527b642f65bb13c970abe0443c9a650deb9c8bd2f47aaa0fb5710eb7d6362c5c6476ef44a3a067e201dafee72ffa22141bad6b33875910d8bc61c065dd216947d0ed29a88bd2fcf246a06f307124d4dcb4ef717faef8253044ed6af7373419d6b2c81d6c0886b7d728c21085928e3ac4dba5393acada9d396acd783e597c793e03594436be7a253a856e97d1ecf27762fad320396b42fe25edaa6263d444ad7472e7fcf06b41e22e7ea6f813647369e3ceb1bc6f062ed6fcb3c135261a7cc55c9e39407ba41b85c83016aba7204c5ccef9f3b336abceabc6100c9ac1398153e8b803cf9d8c15d80bfacb43e0838ecd59b39976a7abd2bc18ad2f05a8c5a86cbe4dd029ac853af899ec06952201327c7fbb7fb6eb7dfd0b8d2838d46cb2314e60f1c02d46dd8d5594f34dee967d2b2c7380824ead2b898eca59fc5c3660e02c8f9d83cf8bad2ed6abe03c355594997e189d3d2222bc7395be180033a515a1535a70751c0cc43bf14118482950288558c9298f6419c4e85eb574623892a1eb6a6a3c9a49685fab1530354693172c81b09e007a76b4469c5711c2d9d4312db3ba87501353b63dd8db4b324fe2c24568f71b5d27a795c37937c2599708806029cfabdb4c017bd1b2f701317ae3e72b8c35a7b467ff1abd87d72802ef3a3e70d5d11c0ea7e35fa93871cb23e13945858bdefe7ba98b7b4def89e11eee988079df385c3cbcbc2b958ecbc36241cc272537adf7522e3ded4310fffef72cd753dc06c1af69b0e91c4362ca63526e7e94ff22b34784953ffc2c70528c717718a66ff8d8f18073bd761f37131094a1df50fd87463cbca7b834da6b01431f329d63fb102ba9ed04ffdeef154121feebdb9534c3bb382dd7199a7c9416a0a39442ae424bf1d622c125f73ec22ae00e6fd9f69c85fa5b5795e1bba0f4da6ce5977b929c248321a8bbf735706ca14522a5e9d5cd42aeae376f0e296fbd2eaf3078ccdbd7e2854795a8659335ec649af9f122901a61ec9728a14449ca8a9eee417f79e0979656c5d4ba168f32953e6b83b0ec172cc0f006aebf119cdfb05860cbfc5ae7e1aea26a46d54da91b27346ef3735e770bb74d16795d0ed734113b0886dc83786b4d999f812ce872eedef38c43900e950e2f5f4f61db2c17ab7f0bcfa750a3f67b36c10ec224c914379d3c27c99117a72782407dd90b4f0624d6da91a08216f5b3417af5d05c36676a6fadd044ed91954bd2c748ec0526c7f08a35150c4feee2a9013304e6226f8b0c863ace5b3e475722248c916e87ca79708c9badf3422c91f730c11ddef8aa2810737a46f43ec0072b0023936b43ab858cedf2aaa3d733154cdb507f3068079bd45ee5b3d5a86bf23bdf20fea1975dcb51f4570d39abdc4cab821ef569ed6b461b8c9e2da877afc7202daf29379bc748a06d1d97c5bdc1cb1773902a50d12d428e9b83561618d9c7228566aa761b71f14758c0f9ee131e9daa34ac4b5a8c81639765029ea3edbc3724118f7f48a8134370a0504e6799d4ca9f072be14720baa0a575d42dde6cd9a54fa085ac125e56846da48401fd18fe0396b964835810e665ef43059370e472f4b62af335c052959f99cc2a2f7bea2cc09199fcff373efccb7c6dd148c2f77f14e58423b066d5cee62b6716cd55433b6f5be1ef555480e2305b5882dbf9ff33c72582e47ca1f4e522d9e11aba69b2a50bf4b8fea245977d22859c385c376e64e72b89c9bec9b86ab3e18c97ff55b99dfe48d2b4b70299a29853594bf8138731a726cdd3b4d2e2ab6030cd63b2b61399821e6278a85c02d8978ff0f6e47b2b996724f9238a1eb465a529bb8d3d5e13da40d1de964b17292a38964c2e041e42bcd46576fbf67a8717d41eec4433d6f6f8cf1a4a59d42220146138c58a5bf3f05a56c7d2109e6b085ec97086dfa3e89899612e16074f1b6b5cdec0be9bd7a8e48691a6ad59c840f72009828482ff30a5ebdb5ba1c064a53aac85e330337f5de5fd372ad9044730d3ad07c97ae0c8187dee07abb315e182ebf0cf1d6cde0c66a790572b7ba2ee163a33e77690b9f4b5d70b14df79238fd0fb8062510634f6d0293be72c9956d387f808fdffcbe3a0d2f174a28a9ea1058fcf18f5060798137aa0a1672c02aef870e1c972092809be8de7e95e9dba2eb913585dede46aba18a6aeea0444982d9d2bb8f67bccc46594eb1c41d297baf1ef1c6d14458a2ab46dab47c3572537e8a7a8ab6eec0bfb73c64b7aadb7e33064118fb347ff2c6c819091beba8727db71d6e132470c696ec6191087666fb16dfab62f4dfe42366d10632ae7de872b70c534f16b62258fa4eaa2a4e4f37eae7020e556e02ac6fcf7232a4d8d743722b3f84b4068851f0723b2936ef58d635c2cec250e5fe278594ba22442ea30d6d14e09459501e5de20bdd214c1be440796e8f3f97cb66372aea88e4670ffb7272eb25806b62e24cc77712d390829f04cda21c4e04eec34b45003edb6b3112f6675f95f09734a9144e052d5267eb9b56864c0986b5c6d5e5c462d6a6ddb0921172cd06917df6f6e95c4d10a67c941a640c00dd921132765825ec4baddbb161b4726b67fba8884acab02bc2814c7adda679acf3661583b057cb302adf5e5a2b25724670052f080ae52d08d2765eb81a274146babb39aebd89a493f4f6fa87d35b208ec431c16af197c9d81ff11393ae5fef184b93452895296d017db0ad926416604ae73523a083b10b216696176460dc0c8f439f306b461e731f962ee84cdd5f7229790def812020a600deeab5d522b45796e2193967671d1b050fdcc4c9032d721d4c286f11244d1490095094882a3b01c7c2bae78aa08a8f7fc80996daacf4726c3ed749119bc59a49642af884e8a45eade60e755f95175943fe41ee91aa0d72ec79a2d538d044c720015e4fc7c4128ce6481a573d7203166a5c8aedbe142c5a3a6b2992168c43588eeb62e834210a5e371f593ad070d6d0ccc99e4af20a95725e3a0b107e48236915b326245c2a44a646143593a61b23b9ac5df5c5040cac1feed5755a83964fb1e6a84a605f3138370743d2818d0c51c5f8d68de6045a6a24cbe17bf9eb8abe5ee7655f31c1838e702e44898596d655431542ff321ee84e72863f7765d9c6c92fda27d503172d9d0aa32e86ea861f5f18b87e849db4cb6d72ea60b11ae13babe79c2aa4fb0ae0603ff6b7bec06f71a3c14d9c8e01d079c1726349e7f9e52acb16b2f577b86b1b03acc54ce7bd6d40d6a8e5f633524a89b049bbdb1b7e6b21336965b543f6a218283da18a0ec426990c6c6cb8fb56cdf39f72722edbc714c77d32f5ece92581b857149dbbf6da6e8f871b340fe793e474c308ed92652031e70ed6134186a33a1df728f8a05828451757cfde53f1bc56cf277263a182c78a34379ea0f0b830e39b18ffa742d34d90b6ee84154f9bfba376837258c6ef78ba882370085e00988d3ba2db2b86b404ce549b8ba9dbd87837192472511e1e4bca6bbe8c0747fdfd0183048384a1063ccc26f9aa1bdf82da2f38d67294cb8a802a00951fb109c64e6a084907635d8aab52c970c47f235b7ad79796721b7a42571bc8a9a32ce32402daade5bf88dc536b7b9c4153e501563a88b48f41420022577aa139e34253eabf2205ea779f12d946b9fdde43a7adf65ac196635ecab5458507dab91e340fd07013177faffb63007b93d2d349d33646771bc9747261a5436547411fd17e92f41129ba419b7a3ac1554647c1706e758025dc24a8728efbc46e6f8e2345998ea7e75df77f6b4f65b38fae504cb6c2d10337ac882a72d394b6124e9d212df919d09985f2f41e91293889ef60a83a3ce08def2cc849729882b0ec27fbe09d68a3acb38b9fefd9f3b91c8b6c473e09c60545805d8d2572cd32be2344b7a297dad8e533838bc9e49a00d03279c6f621429d0392b35ca172d005b86860402b61cf4f6d7bc5cab9dc29179d4cc4822c1fa6a5d5c8b11c8d7209876ce6022b27d959884cbd88c9024a180db2fca00be55870556fdc7802747208f706ba9de504772f364b1b1c815fa99eaa62ce756b752f01abcfdc534ef53a132abb1fa138011769757c738b8760e611be4aea37349d5f1f8b7659496afb5af88655a2618f6ace9ff2f737edb9549c403ddfa2616dc974b0b6e601d0fb370076ebd875e1d3c3b9173778088f4e8ae69cb6e97c928d6eee91ebd6773dbfe8724ba8afc08ee13b180c09c38aac2a86e8f9684aaa032d9cf1f7b4fc27b753941ecd19be822266cf8a8df80e13fd90553b64381a4e0525b417833d8d02b129f07240b1e3bc53468babe5b55d323fd230c447ef9228f50cf55579ae6e8d539abe7284efad52317c1dca1af67278a29ce7008c9bf58ac5479aaaabd210cfb1d3a972c586edc8b78f490a0f3fe3b635ba88fa2a2aeeadaa61a2602d5359fde9fca2724e1706f82c60c630797e0a98341b9d16f883da9a7ba3059b5fc4ca8a76efd0667a0ec14ab5130d5a499a67979cb0ecf3cab24a6884bda1681b4771fc52836f6425d5ed9f1984bf43f1cfd3b462560977069b0a03caa5f19e4f19b33041365c2705f96e811c823565a82c18c3647b77dda4b54801ce2ecfcc9f6e211dc6952b72a5d05673ed02865ae68ac54a4a87fe3b1adedb23742f274c24548942131480623e1706ae69f0548f4df86cdd2979a3840075115bd0a2831652f9fcf27840047217fa414bfe652d0cc51871fc8da269a408b7d4d420bce6399889271454690b72822aef986d770ff7ae5d3135e229c42ca58192898d4cdf05ea5e45c440f3db12be4291efbd4427c7bc6419cee7b307b67aca6c6756f74a14e0ae5869c947f272e535b5db7f96819b7954c733b821a31d0e73f9805cf289929d376ad1a158f972470286e6acfa48c61a68b984f0232ea95098c37e5ed3e54e9233e044c7043a52e461732aa62fedd7c744499b419166e5ac17ba8fd2a45ad3327026a0bdef9650a7786c5b3e2c667b07afd07795b7a89d6e0c703c3d4c29bea2b41c5cf51e1829cf1bdd7485e0e83ed50411998b368a00d406fcaf80dcf5603b89419a5bfc6e3960d6b30b38b9bedec0576e4a50be734284bc85c3ccc9f12973577ce18d2d6272827dcb86c498aa78f0077b1058e35d6f337841a59d460caddd3def7749f9255837caeda74d6c8f1320c719aea88044aea242e64d51b37ae37f4b902764579272961ff982329aba2b5784143e82624dc26731d3cd3975cf40032332ac65116f726ccdcc3394b95359395c96dd6018b2864295ad77564e08dade2843aec027db72cb1d34110e4455e981e1ee96ba19f79c1750423f3c8dbfc6b91ee81be8d19a0a3451dc18458e56d484109f7f4c245853773bfa2b788530cb17118b2a90c72d722eb4dbaff3bcf4fc5f18e5d90d8da06df58160d3473a65e9b48cc2bd80246d48df6b1f27b989ba669336385ecef2cf7c9abc0bbc2ef531ac8a381d1fe00ae3466033c09a4759e3b5bc74d626593d917c3c26b29ce6eeda2eb4cdf23641df656459989f75967c701a1f6afec494d0caf7fa0dd4a32e75284cac5e170d6a274f62b0852ca71f8cfd8cd227c3f855ca28f7437d88090ded47dedbf5711084ba16124fe0a85f6dcfee2df41d17396425bb4923e29af334c0ff029664c01c9c983c72c28f986813099df0ca97d19e4e7d810b80b16a406a82aa20ae5b18b658c9e772bccd4ecbba1afd84f55ebe3dec3fd19418e9aa705b58eb6941f85ae825818f72be7791fcc8ee12be053c91fcb0b119c713495e600a46d992e9505c21a9adcc13fe93bd75e6c565b11c7860454a83d5963d51a146f32f038c773aff7e88100f7250cec9a6afbaaf3885950dfb96b191ad044ae159ee40943ee8b54bf1cb917b7285618a0681edb8ec1dbc1e3e4c3c77ae5c78f96dbd3db7a1615f8aa220725955f999ae96f951f4cdc3973a364af8aef2244e05b3e2a60be391115852fe86587262300c6f4574da644a15eb64296e394268971aaa39f7a94460d6ccc386d71a72665416c5d4125bf7d660b3ad1de57ecc1259fccf569b1c6c5ad561ce453b2a72f0cca4af0335f351a5433238e0f74365cd84526895e1a611036c408677b266238739c900922aa37d045a136568b8eeddaea7577e159762a648e4a2126caea76605b84a1010fc501b74dcde6d2e02762228c4ff3a022681eacb4bd2e2966b8072d9097a7bdc2172d3bd75aeb6a94bf9a78d5616f7b3aaf8569530c2f986f97d725f7ad855ffbb24e3ce0fcd8861cd96b7da470d2e6ed6718b25c26f9b255a6972bcf38fcbb306f8231ef6a22b9798b43057ea3ecfa95c6e1c3a9bf21ea45917725779a935a836388620059e57ee2d0410e64950a6de5b49bfd70a38183ecdd05194479dfe98c949199bcec5db9093ae17e7843bae08781a23e62abf2dd0418a076d79e30e0f1ff69364158c4fe990fdbfa486860bd6c1b47c7457b023267c4c72acea79bdb0427f2d59e328ca7f97f76d66573c0890974e5c5c9bfc74c3526f5071af1aaa4dbe36f1def9890d7534ce756454b2b1290e0a918f2e73f4ef9b4772ca5348220c15c4db8048a5b10b334eb190b3713bf9902badd578ae950275e872cfe3286cf6ccfecdfd64f3d715c9742a0be5658fc502fef6775be32736e74e726a9875448600e0eae2eab74a7bc00fe4e82df7599ce62ac1607447d4d63b34725221ce26d22cc217f15f53ef13c13a6d3fe6565bfdad3132c5728a7a2c5ea072f4ca61be3aa4173f425ccba0c172294af32b538b819e055003b521465fb68e2a1cee3171efbcfcd0df095b5c72a0b3e06927de096e129effe47470047e591135aee919a52ae0de46c772b9d7aad222dea497b69c85c8067b5024509acca05072a71bf0d0170613a70902d9857bd108041bb2a26a780ce85517d4ac43b52aa472fbc58549bba131da6f7f4b02148cbb3982cb2d9dfbaf5fc6b3ecf6f6c46f917206a35c6262d72ea7409eb4f021a182ed0a5d46d69d04584db585b8b685ea2443571911586a0497a8a120f8b2d2e0f5ac7b5cdedf94ce1b50a4934a21d2c477727dafacdca82e7099238cec499b759c313c2d0f8a493116f9d882f49b48ebeb7220a30a96238cd65b10e23a43cbe8b41ee3e025de879728771cf4f214e55d9c6e966695bbbe179d07b11695c9d5b3d3d416e0171dbf1a5c69537f27d93fba0e72e634bcaecc30d77225ff9c48d83a2ff656d1da5e5859fc0e999865b81cb42072df73c50bc3b343bf3a306112093bf36664e0e2f37917e1527955b1c89969047266cf67f426ac4236e99aaaeb0c5391d02305ed5572b68edf225a21961b2ec93318fea9fe16012ff47c8a4b8db6fa3b7b6937536e678c38daa71f098f22a3483e4b27e804845942c5ff4dd159c00e08c59bf635b33ed3e5a7c28406387f17463a5b4c57b665774118278cff7d0530973ce82e68d27ea8ad96329e0904747c645b3865dc25ded586fdc37d4d454345673bf5598acdca9010400275d18cf93e9f22eb38d11aec2bfc6d238a1c4bfe36bcfe0e6f918285c669dd3c9fcbbe05582b25bce388e269b6a7ce4d01f615c404af56715b77c723a2cb11d9b579e299854a35bc4ba25ce95913f8ac2dae96785355568fe9b2cb440d13e88df07510afc92a723b011b13ed27a1878e262c1a550e75bbd8170db7ffbfcef833d640c172e2411e36dff47e42be8257bbbb979ef4f512722c3588af5fae2810d12d754f954229321a0a9f02ec62e7a10e5e31c5ca13009110192176bdf3595f593e330f25fa6b721da0cf68b48f6c7e3253c4e5b2f49db43a0733c0fe5feeb64efc34149a4ab172ae3dd14673a700ae921dc1de50e72db77ea997f6486e71e42e2fdb570f18c25f871d94c72ed588cda3a60e600f438b241671f0f4685f429eeaca36cab4fc522ed68c59387771c4ad2391e7d46ee86632f8becedfdaaf5ef7b1e5f793fe566572dad7d88bc1e0dc3b8c1ff34427183e53c13eae2979b920d842986ece9789a5726f8e1ec8d53546021d7c1497e2b821aee04b665aceaa2e8333b4d5f67ee46c6c4a34f062df1cdb6af1b6f2ff7dc2170171436a37899e4af169fdc1779e943e728904b845d11daf421ea9fccc87eff69112b8448b247bb5694bef46f14eb77f7217ec8f8de30e8bff147cd2719d6e8bf4e535b8822b4d51d58799923c892dcd72df206338a5c06570440dc928ad8c80a3ea39016f4f4de252e2f441f933a17d7146c4757d57ef58890214add2c2293185ea3d3b045f8f96800fd8c16615110e4348c3a4035e408a6bb7b76fa0b2ae5dc5349392ec445046e2dcf13af382d62712c682a8cb7e1f14dd147d225ef5679a9e28fb07f444b66ea2a1bb7a2d3d002d728097ce81c70bbe7fa6ecf4e7f421230c8f882f1c32e99464e2823ccabbf8ce30f711608ea5a49d1d26ea2aa5f6ae3238585ea12d8dcb239cf185556a065f7972a44fd7d77499b11b09b7c95e524bced8348f884b68da03c710ae2e33e16979726f80aac5e5a55ae1ac5e161d9ceecd1025f415b0a1bba36cc4719e4447961351fa8284c3acce2dd60c18a916bb80dcc138f01ab55de106b4ff02d73c72a08372989f73a0977ee8e25a5d726923700f29ff78578e8c89545302ddfd6b41943c7221fdcd906bf13aa50d24a3dd8a31bd1427cf63fc8cee3930508500f08e2ec2724f05919f39c89da4b59e1534fd309ba0708e78ae36a4eed5aadc54b6a5bce54cd05938f5d25ffb9ae999fd584d1b29e81ac82d8d690da54e2c7e30bef81ae7728829b6163bc338518b5263d10689f7b3e6926c653b9cacfa1f11de006c5a56724b36e60cfb37ef977af443df1d2b7c31e18efc45268ec8b83180c6d5fcbeef011b4bc026f337859f9e0394b8af085be16d1359a758df3f9b9f2419fc09819d720694f448b7db36090fc6b76fff0cf6fdd103e5290ce3d5c17f506ce7ec6ce072f44df06156ff53981631fd2bb0a2246be5d41e9c33c7f5c0dc416bcc82bbe772c2b787b06b46eeeaf4b8bdd84879e3c0167d807b0f64dbc3d0bbe0f0ac14bc10b9dc1eab8f46da3c6cd2085cd88b6dfa591beaaaff3c8858a11935ead7ac8e2f79168002f8c33a9359accb8e1ba69dfba221dc28b04762f8bd2c9c271a8f2a729bf98d3221bb2d3fee0d911a0f6b3a55315347f4224edfd40ff2fac40db63a721a84c2cd000ecd3fbc2852974912e5290234ff3f1ad8d2e2823f3d683da83d7239ee964d2df8331b0b02813ff4cd9cf00e7498914015744dddc1857e36d2ad727c1d813243bcd7c203acd73f79ddbc886050c02af954cbd5d3ef35c510ec55125a10c4dd90dcc3e143a1bcd3a351f3837d6d26a75fadb656da4b36e7e740fc29bca3f8a9bc2f53262d422fac94f84685cb6773cc7b209f3add7e4307f62358722707170b991f61603445f2623461215f3e69800fe77848e2e08257b292147c72342cd1e683a422c3a7172b926cc73df94823b34532fb50f8b7d675616a5c0f729879cbf68f0caac478658ed8e419fcf8183cf6e82d8f4d21419fd30cad2e657248fdaa9be57b4ccba688cc1fd81e5d06c6265d78ec98edfac913506431aaa4229d124cd1222376760bd87a6810640448b3b2afe3f897164f3b3ebeb2d287d425746cd45653e82a18e30c04d08fb75d4ad61b37fd8b2bc7b0fd59206a1834be7279dd84526fb5996e194b5defbd4bcdff0193192f9224cd767bfa8c1dc8b25f72826b1246272ad592632a5b2e2260048b4c3f683cb074e76add634f838ca25f722dcb0ce9f62e3b54ef37e35e6e7355a9b0636656eeb5964a4f9524035bd9d91e38e0204fc423a7e7f9db005edc840e00765637f28507468573426f2ec173cf728da7eb35befedbf9a15bfaa0135859868dcf3ac87dadfe9858795d67d0e8e73a0270833643765699a5484a82e104b3ee166134a22feaddac6852f7b29f51351cfe5c5c9fd43e4e5492ba1ee28a84cac72528268ded1eaa2dc643676db55db072319c7db21258a1c25de2b4c93b1213f320631bb66627aeef3f2dbef51333d672dd281ff3d906aca805c78b12ca1e9c6c7adf094eede29fc9573c05ef3a445a69093b9873eaffb14e29abb6f0c7501dbff66688c7c0a6d732f5e7119dfc830c72deff9233f87b977ceb04133f1ca4d5442622d1076980bae28551e92a54a6487293d6a0763a9a65e9d86be3563a012b7202684171eaf7846b11dc2a83db9a6972fdc52b67ef4dd6c3f1a28550c9c2f7d833d097215b91108c7a2ece1d79016672beecc279bb820c9b73457eb2567a3d290ae7594c8b7946a1b956e953999124553d2874cb31f391e2ffe2194c347a236cd6f17620fc5f7f793dab49327af51872d6dc88bf59ebf25130413b5bb2c86b36199fc7d19f6e1905b4dcee54483490379dec98465686b07281967458d18d9a536842560f385abcba6cfe342f1e876772a3f17384e35394a9af90034208dd54257260b2c1d49fa1502360d7ce5579ea725dbbb9b0f54a431759d4440a2df9f9e35497dbff6dc67264167778c5145540642b86d6815fff51b835f9dba9e1bcd428c139f6cdb5a0b0a6d574d8a8af75e45c439b7572a7bf5c4fc8bf98106d5150907dae5dcb7d6cd106f6573ee5f3b498048fdddc3e56f47d075a34e19171e7ee106daa04a91faac1d1da5912365ccec17183eab0d8fcbee76a7bba7d87cdd93db0d82f597ca7daeb4f7a41d8bb34ed3f729a1fe94128635cb2ec5ed352f6752469b5fbba9fc5342342ddc8db259e045a462b2c7864ff31c707ab5aa4ab475e5c6e407577cf8b358827549f40e4a645b872197fa3e5911978e9b6e2604e9eb92c831bec349891204c041f617681585c3a61afa6a5e9b991b23489c1bfd62cffde5a7bdea3c1710d1f5a546fc193f06e3214674b1c2ca0f6322e7558ddbcda87eadf595df804b0c04fc7ec86c46ed9434467c0e36d4dc08aae622acad804a4f135d71354487845aac1ee0efac477534f9a721cec291f72f2492634edc0a4eeffc7e12d1aeb5596d7c5c379e5d72057dd4172b4761873bc69512be6cb306775a04743c9cd77fdfac2349348ba40dc0763aa72af3d9895804d9318eb60ea1f968203f31ff2c357a768a54e6043d7ffbab5f41c34b85ef4c3b3ba4c8f38797e1d37a97a9a9e27f989cac6266587d1511e73b522b7db093271e0910c036019d71cfdfe43e6f5707e30a23fff470c56522831015eec75eec88f4d567de21a924f323acaf6e140a17dad1aa35555aa1f5de64df86e44c30cddd71b76a3ce1b6eba25fcdb0354dd333bc39009f854b0f6a6b307c46919ba762b9c264e7e16ee1c910e5608cd9306b5de7c40ef57f66a7ccc08ea557267508dab634bab04d27138f1f31c9d0dea9f45246fae46f7b24228e01af14d72608632752dd7a17df89f1ce163483341f2670150a8ccec385fdcacdfed72a54931e4e986d6fa16953a235102b04088a9846e11456a70f6b763775da235541272e351ffdc64439e6c821229fa3fb7cedd67eec4c6a5334231b357b5a6d4f6cd724718487dabb9e3285d9cc6f246d0f428715d0710157cca086046ea3488f7664cdd07d4492725b02b778e705e3e85e5e9b8c8f8d9d7d5405c241b819d68a53d4939cf49b1a980b6b882190e1a7e8eb30957242be098982189f67b41293ccfb572018fe40879ad54d94dd965ae71cc2828195cc21dd96fdbdd34a8b1b0ea1683720e3724edcb2b5efec6e6d472841083301e58f95b9a8cd4851e4765b6a1e9b872c7de39c2422c16484938cee92d353659eecbefabc88549d470f76a26467cb67294a5e78bbde26cd3994bea867708c5ceccd3fd0c05a4ee6bdcf82fa769b034725321d950fbd1dd7a1e7cb004ebcdcb45b1af682eee719b6096ea905e9725bd2333888945aabf12723e826f9db7fd8221fa552b274117b870670117d7d9d85d72d85f809ca3d93e09d34611585cabea98bfd22213f05110478cb927ae8a1f1c3366b8f7a38e80d27432c2a38b4b34e5399d4b7f1afc4a5919ec94516dedda9f5cb5dfa2003d2c67a62c646dad4b8a2602a04a55dfd0b79c7df2a47406032de57228903eda59fa6e4430c2bddc2d1d239f563e1f729b30559f2f11eb61f5574072325a83d68808795edae83f9a28cf301bd083a77ed31c1457e7d1eb7537020a593dda17ab958889ca2a67ee41358be1b8cfdb5f76dc3fc1b6014a26c41f71af7232000949f049a3b26567f437f230e659047f9f3a15c869735544f5f9b5cfab728d0e3094e888cdd6b98613b97033fa1a8ab236d40ee83d61c661e56caa175a4e1b6cd3775441a61a9c93d82e306bb3d3f58489fb9667b0bd33a94c1169c6d4606708ae1ee90fc400809ec5ae6885089f527b52b695b5e1f0039c4dcd1752044c88597b5bc4691856c2aaa5527cf369012a8646944950cea7b620b55b88018611f714760a4afbc8278693f6bcd30fc49bfe30c142c083bc28b92333e921393932bb344fdad7297589c7e4547c2161f84fe8e09582e57fb7bac7b1b7f8bc686d0411fe9bdbcc1dcdf49b92b01e23a2533f33ce59276c597940babc874964f07972e67a3fab4fb1107bd1c75e530e048e5a365a7cb55e8ededd482ef974e1568272629cba77cb19f5723b2f3269df9b3176a55924d405212bc5c0cf35f2b1638072f489e54666f4a15b61e2cc5955226813294bb4fb35fd8c7e063843832c423357779f88bc3ffeeb06d61205b2aa3c672b17a256022f481c79a7ddd92c58819972a4c75c6aa449c3014656f478b9bb65596950c2da53119619d061fcaa1e4d8172954aa303e05e1eecd3f81419a68c9a64d541c5da82bbb3c43410746deb6d3672b33eae40e3dc75bcad3354004309da7ee3ddfb7d51bbf2ac12591a9bb8a1953f483b59ea10ea8906ed091fd9e39bbc53b8f65e99e2c106c8755a5434beb17d7271b1e44d81d2d7239cb7f3c855373971a1eb9d543dcf3ff72ab8ad86da44bb72dfd53660c41bc9fe8259e9dc7a0964384f19aabe5ad6087728a9539e07cd6e729ff66fc64ce0ac440fc5e1574f1177513e6c4cfc679d103b4e5c1e8618fa68728494e01207fabdbbdc7158c17b4aa892fe513b80c93f3c3de1dbdc5e97f988267971f61d89bb27894ca3f162a00beb0dd8ed7de782fe8507ded76e96750488467e410cc5c15620ce74389c0e653bd7d2d0952f5dec65cc43030cef13d4a1e472afb6394f8ab5bf916db047f71f8752baf73e667c12e62a2a52044374458d42723f1efa4846b5f47013522d5af09dc3d7bc324908a4f0732161ac85b53ac983726c21a140d89cafca9fe23cf34cb3d2ac9a8df82f2bc6e804c09c8b0668f7517210bef05480af5934f5e1af0dfc1a6de455db3c3695f485f030824b5abd522372e65db71a41d69db024a385bf641fe1c11494b6675f1c59810567c5e64e0a91572de329aa04de07d71dfc7e2e134331c3e7a58c0d2df45eb03cb8ec5a533a201bed34c9dc13bdf86da007e0ae1ee71c1f76d61353fc9f77e4331c3a11680c2372d2b386006f8dce0b985ae0f374b54dc70540de9421dbae0a1fb8b65011eb2a725e0bb410b3037af17508fe35ad87a77c25521bb8eb4da6b902ebea1e0d3a1f605b2ff3c99d352be624338e185c593aabb7f7f328809af648be2f841e7b2e027274e282fe7cfd83be11392e364cb1e39b478767e60db470b2ad2f8040df7ad91f12bc9ac0556e5b60781458b93b030d63f23460c77e02d981f4b1a2a62fc13272e1aed203d72ce5719aeb5186155bdee11ae0d48f10c1a64595428bf8ea9f8f729f277c303eac84c3b966dbcce01a768a137e390579f2d8ef99a0494022c8e7672dba3fad29fe8cd646422bcd67d304c2bb2c1afdedb901f172cbf33e4f716f6ffd3c06fff3afba315b7801cf6924ddba3240d037d7cefa7b4e892c0f16669c075f97ccf786de94968935dd8b4c1d8495fbe312e1447a188b33da61eca7b99946169f9b2e83ce6000bc35310f3de0484c13378f5eda83a1e4ce519c5e3092a147ab51f2bcc4e4ab7837938890c03f7cf01815aff0155fbc52560ec925bdb7e772a36fbd61f36ca524353c2a1bf5a37aa24eeb12d19f5ee33a3dd5933adb9bf5728d3653833ea561b0ec1e6806a26a810e340a9db08d20a9d7dd32421ad8830a6059e8809e11170e2ef48f89c7cbeb61e317277553724095f7d1db1f717aa627722389b5a022529a3c283f13d7bbedc48bafcbfdbb824837100e82551a0b21364553602d94b3833fd7297fe40ada31770d59e1ee8ee8137ca5765067507c800b728c605042bb24b735926d59be00f1188cf47496121d9b63b55df79e99e5fd2c723abe2a9eda8b3ad34c93dc6ffda2d97e4a108d3c63dc6c541c35dbeeedd51372fcfa4fd6968e5fc15b1d7386e4250601ee34aa6359b5902a8841b0a6b01c1f54aba878a923fb1f25ff9c07345142d04d7de2a7fa1563daa7bc2fc1fd9527d5722e3e7393ba252049811c73f13e3fc508c92835e52d146bd488af6e561fcef672da184ab46289348a582a83ae6df763f856d39a8138723257770a68657c134f2c33297d37412d07fc2c12df3ab4281e9f087923c3c0c156a07ab600ac623736720999035827d7cbe3b42e54db6950b7a80a459451273f75e779cd9da845c526725b2c1001add112879aff859f7ff54b62faed4fec849c01bd7507215bcf222e2627bea517105e2d7b8e6508580b581b082a6785b54eea226cdb0767a57dee5e72c4efad756db505e5597ab2691f973b20b2d41b10772ff8736dc0c6fd055dd4728700d430945d9d62cb045877a62abf1ce5919da53210620108725c1e05c2543212b951b897f29eafe6976c5c64b3ba4704b7d647a4dd1145a35a756f810f6e7217043a252412a56980e2a23b6b69d7ab966fd91beb63a462f7122ee02218e872a36433c82d25976b4d05ae2d8cdec9ac006027cfec50356d558ec800e2d54372623f63953faa44591ea132945067975477c1cd4e7116b3f32fa5ea544394821dabb1f57ad9eaf1060292e16d7128180b25971a418d08733ac9349a2f98606e72368f31fbdb9e72c51d496f209867fd8fcb8faaa7f708f944646c4f3727536959cb08b952c62df9d73fc027d299481d38468050207da5903db8776e454dc8e42e4eb45e56ebef4b7ff3d10da11acfc9418d6188145f39069e3ffda18edf06b853274d5973c88137a47e5a9d34dc8632559e2f1b9fc788e04569a9c9fb298fd119f1bf1d1faa0195babc50eb4f2c854deac9cc96389e31ec662460c3961cbd582e431cfa889ba10dbdd51cc4f29dfa8e29310aee87814107d9b378bd67122951726a37c23c237587ad8ed819575432399868ffeae5697eddd47dda93fc85979172cc74a46fceada4fea00fa74d73b168d9bf904287304bea51d1b5f5657c55ba72d43fca686a48a1aa45895a3e6d08d38afeeeb3009f77f870c4ca1c925ea2797227691c3e5060e7e0dde329d49a7fbe18a17d250f9b3abf7a6838bab1feced24a1ff42fc45e0bcb8bbc62328cb4da36b53a35e8e18745520274979f64b10f9872bfad257930c3ceec4bae1d220b178564b8e706dd421be969afbcdb30a003aa0f9ee0e3c5b7fa8214b8f6006b09008bdd4796af886765bf5550e2e3f7e3a0a372f0e026834b14829539689404f8857124796905b917cfd0eb303635f4dbf24d1f14411042b10eab1896e875f74832761651f2ff5cfbc67663a3c7f5d7b1f7f67000cd9c5f9068a6ac29bedcb5d4a48a378d2fb691b13d1f0ab2d7d4a81c028472af7847a2f8b5439273a606e53cd90ebd515d0a146276ff5f99ed8686a5cc7c494985c00d94ff3126ba3bcb9c93cfd0904e838d99c92ec78a0baa964f974fd147e916366d2d5fa5e832452577cc810640cba43f89394b57ad643ba1e6217a2f213cc7031b9e4682e92f2495edf36030b4eb9d76830dc241773501558c74fc74195ca2cad66c6837747abc2f8a19e2c41ca5a62de562ab8551e1703422377c8c2278fbc9e4fc962ae95ab18d1c7b0dfd6c7a864afa702e18c526de770850cec97271e5b6632af1b69ed36ce1a418262df80e91432be7b4474ad24a7c2567c1f7724d57f8b0f21fea7646c14cac62b79045eff0d1906000136bcbc8fc98afc32459bee80c5f6c80cf31657bcf0dd704fb0cec4646deb0adbc13e141a438e2558233e77d0e29e0fb43c82e41593a063beaa9bcaed5e3b56d10333caed41d9123856ad05942245a94f136394e8f16a0baab2ffcea41c0c5ae4e72cb537e6459403b2d74ebbbe39ad4a96857961a034dfec7553ae9a42f059d14ccfe46e1efc2d42972bc0021b56738a1b54858af0c61c2c258862efdcb1fd660648dc98fd5a2ad4f728168eb305308944cc1e43e6fce48ddc30dfd8c412e8508043f28e675b2331d12c38f1fbb5ed30c176ecd329e6204d0543e7bbbb9391a68530773d5269904a9728541c39397fbd8dc8f278ffa67b7c515feaee7fb306877f027ae6e57082ef145a4ced7620128565a0c7dd767e6ad49ce9da024e98d78288b564c348f372fc6723320f4707d6b5767e5ca1ccd53181551cb624b0205d66c526a985ead24f672085c2327ff3009e3b7860f1fa259400d74a399a2f9381ebb830050bdd1e0805f30c9b90544533eef68d4c3f9e1b33fe379d25ee78e537296e26879d441aa0820721b7a2e6069764e3551ade8f389750013cacbe570f663c4f2f242e035f988794692317fc11d60a92bc2a3a6802e2b6e966e0f8b171bfa6baacfa802f045af43722f4324d785e27c3576ab46ddd772cfdbf96404ae695c85ef0ba3a339fb559f7210049879e2faebe868dfc9d1ce07f906f0838394d5d646017a4e20dbd5cdb47254d26a6c506a039431e9fc531382c13101f93af3bd9e7b1badff95574e06835c05354dcbb17472563ddfcb8554a8a7f4614c57cf44d6d4a8fdcd5b9d578e5b72fbc75ddd93a9c6b68247b337fa5a191fa0a81c9b0619ceaa4bfa25e56a2073289315a92676b10ffa2b0f9b7ab91637b9a3ca1c55b899b7964c44fbe9c556b848c7078c1b8984f7888652b87f583fd2b92d49857c5ad7e3e9756925a429473472f62f80fcf968f8b8df0817a702d1c7dfdd5cafd78b76e1e13d5e365a5f467b7263187ea7cdac3ebdf8f8dcd63383968e54cc6470bcf8754f23e47c5cc73b17724471617659c480edcb4080125124fb15ec0a3f5b14c8722d3c21d92af9f4d910d94307f45209c6bea46c347446aa98dccdc8915064d920e9638d6cd504027e27e26b749d2d7bea5e26a59226adc5d3d42c1bd4ad7715e1be73ebcc26b2697c724f08cbebecdd3c7b77d64b972649b1296c048445fa9f56e4cffb4e1348517e15bf5bfb367d17c410b2c2198f09cef2b4428d9779e0b22f412a3f04d94e93597283f877796dab8e7f318ccc4d668d85bac04ec17b0973d26b0a4cc7968dda7e46da1999d041025f0bb20dd9b90c4f46260a5f9a978c9cf43bbab17bc239c169727e77d67cadf391e84233876b95d7bae1a9e401cf1187b1a0cf5b09cc882c7172902090b7065f1d8251e5b71fb9aa2661ad491d368815e473e868cd6f97bb3b5ad5e933cbf031d1782eeac7507acffee1413c5cb547f6196623330851f3a01c452d351f724fb60519942591d270442624b71be962696420530b6c5e37e21af072aa74b309aadcc723740ea90ad22588a68a30bdc5c93e8b3a7d947dc3b53c0f43c0b98c87d1de0e4af44d3a86274507abe74d7658c1cf0397f4a0ecc7db13f11b293f68eb0df9f62eb4d0732171bb5588d737f688a2e3058e2ce4309fad29fa7237ddb837ef0fc47b27edc73d0c06cf7ff799caabf30309cf657e2489c785a3725790afce5947c8cd738c9534bb937043fb0e4b6e83a4243a13b8118872be5472d90d7fedd4d433afa94cdaa6bdc1af4c0b86660e2e173d480f96e450baa3c572bd6abbd587e1576e37d9cb52140439642e11a143123d1794417f6e36029e9d720719a9ef40d49d38ba4b0d6df8852b9f1fa02539aeaa8a53e69df9f379a4dd058c377dac4076cb0965c0e27636cc7d6db7deab5eb491850b8bc227ee6fd5c372374af43bdf3f3a1145be4859171a0b7e0d319d16be6d579e3f89c9df41d1965684cb42343f72ef9e40561de8f53651c62d5f85c33f88d3e09f473e43e7fdac726d8431e77340b9b0ec671e8a46e0911ea7753237cca1b9d15483f966a6b5c54f87b35afd6bc7d197bb729441826d550806b8b4c4ac91356d8a9948aa7c7aa6725b36e3d3c9d0d2c418d778a1cb428ff83f9f093d0d2f6794618a7d0e7258ae72ead5a1befebcdfe9832032693377e387bcfb35b9ca72a9278825ee32a91d1c72f4ab5caff8c6c67f10dd33641255ab3bfa048a1535119c151df6cc41c47c9372f1cdd026d9f28f5c60e74c5c46452e799983f3f032fb6d1d27b88516a53a94727255cb2b64e8fd8414790bf8bff0233ab3b8e2576bc2950023ac947b728f96724edb73c2cda27baf0fc3be4b94b64dbd164ff008e186813e678a60f8581aa872bdfd3e43b770da882e838d0408831db31f5758d1706ef4bc79984df9795f826452f8ba101a66eeacde0313b89625cc2d6b5d396acd847c8b065cb39cd510c820b87b244122f95e8e4d9ed125e6b44d548549bc589fcdc3856b2d909e809c3a724ecc40c0c3b79189ceb19b08b53372d74c17a93c024de8158fb493d5af756f7206ef62c2023ba6732772968d801a7ccc908ee4f4c464ebc30a3ca9d51b2558671b6317e55dc6b2369a608b075783577b8557f780feb86abef20853bdf347864438218be1ead7b9450558b59a290542d8b30135d7e63ff6eab7b8c0dfa852b7727531a4291eca9e579a1cb4c8637ec5dda0936fde5dd4b3709d601eb9501d312e3797da695b8edcbb22877d507ae2a62f5bfca4c590f1664c7f0091b509d0ee72143c3cc7616b8606f629c0aab8ea8cc354696493b205d996eb3da8a1c1ea9c2c47725b12a340293beb231218ba241875c9af9403b17f6e6bad602e6e336b433d6ee1a3c6c8631c191057d32cef21bab35338459a17d3c4b7f8f1c3b811edcc7219bd3d389d8bf4c7a4997535e38fc07b0c244ecd0af3f3bdb94ce3c713893f726647ea38f4c6e9fe14025b2da73c45278682ab28bc16719c0cfdb7b79e4c00728ba2375a311ec0499eac766a77fb8dfa1ef6b6217687336ad67f866732cd680e9fc1a0080b82a922844e91ae09611fd29d862d49df3ca16563eebd5870ffcc0b25f1acaa24d8c652e0e1b79dd1f0a3665f563155b72e06b2d1335a131d4c837255bbbabbfb16fc82ed2fcab3d9a75ddd836e27ebad45dc4f0bf1717c5f5be672b33399361d63ccc1427e5c5a7d7ac6c10a38274be3fbbfd33f5e4ad3aed12372bd99734dea53c1c8c1ee759a968a20eed99d635dac7ce3a9ea687973d16d6b72aa7a45d70069c20d5666ca7c0ad54ab75281f11c1102f8d542ad24df90950e1a1d8a256c73ec4036d941dd0c8c098c3a91535242c1eb23ab427455183298e872651ed95d62ac9824f284f7d60328ac24ec9c188ee1471681ad9809a5c57db23b07f8074055601d14be99841be5186d03cc2e50b1e958c1fb601b732e6f063d72d4c43963f9862691f3b30221f08e74662d8cff07def795a39df69282943f0521a48bff5297f37ab0219ba3233140054713ca7041244e122f85bedf5b56b94a62afbfe0cfea602438f63b435d336eb6c2c403125480deb00a5bb7205df1e3dd72c6e101b7e470869be38ab80e399fc0e14c35d8c63ecaecce18e09121dcb1bf727182cfb074c3b907d9c8fffbedfb56f54c78922860a5e017ff604217402c8072ed06c5f31db61bbf2a89964f77d7474783585ee21b16044fa89fbb2a5fcbd22f3d3354bf1b89b7a82694eaf3d75238612695d18e845724a04b8268d80e96d3201ed9285a9210859623f8be9ce4eeb37a11da82c19aeaf6233ec739580938db1d7292e7bb9e415cbe858b754a7bb2679ffdf680f1c6119d10a8cb08cb238e6b721d6004c964f8d83234d01f8035e5c63f75f8989015a7f346c8fbee65e1ce21722f14b5c0ebe8e55edd3ec782c7ca091899bca0b90d05dde50ba75b324df5c2728a12ee11295a2ea359e68103d1cbbb8778dbece913d5dfa9b333cc12552dcd089adf9e6699fbb99a77562f9618afc080f46110449e9506c949e7b5b673791718260eac3da6c8a6ac9899ad7f930acf056b20bfd10ef97fa84708dba8840b4472aa0bb0e5da5121c218cf4ce709394e343955d3129b8e9510cb97350e66c33d6d801d39fe0282e62a9f4f5d993c75f529ef623f69816d3d6e73fab02350baaa3c6048265a16aed0ff288fef4b11c213d7b3634a77baffdd02a8a43d8f1aa3a26068f9ec64913ae97057b5232dc469a43ec820968bb3c174a2628bb6caa524de2b5be7222b9fad8c79e876346659dc60194e1012398e211a72e817c32e0cd51b7256b6a7d8dfb04e48b7e0a894391a8b4f73497e96affe5fdf719c4038c34df626fdeceaf8b92e9e5279d4c95355d4c2b48e737da3edb652465c18b96f62e4693220f60ea3905a81e715e2d5f0b2f7bb0b3bc92d9a1c1664710eec73162690242cc89dde3bb9077b706adeb25a918a8b9e687fc3f4c6a9dac116e143b5f6b97772ed740fe8a3597a943414bc69238408166ae02d5cd20ee28a7d3f37e50344252cbc268023af6d79775488c9c48beb10c019ddcf1b4282ffb8d8d5754105c60222de5a9aa51cdd0437908e506ab80043972a4e71d5b5ac8b08271df3765e847472419e1fb354d7ee4a6d3a61f01adcbeec817aa8576bd11cbc942b177a26a13c7261b574b4ff4f36cf5b6732137da7b7ef7d5e5c30268e9742c1d5f9c3d0cbbe7229af3619b35c2e04c659492baae288de39b8b713dd9aedd88b1dfc5578cf9a5225b019b26995ee5b851f9c663d35132bda0bd95d434e237c8103ddca99b6311072b6800e091029658be59fbd316525dd4d06ba00378c08b045f4df73e04d4a720fd6eada20df606dc05177d23d787d5d8945b9befbd5ae724e0405800ddfc4568a82bfdab525a27d113da495d6b8fc5be8e75b6de1fb65d03a96df403e9105725acb9f1f6fa8183a39c60c910af5c8053b2be4068929acea36e92bd38626c27208a7d3012b3ad1c47bca7c056d76056d14965c54d021b439b59438f9e9e0eb721e4ba3ff303dbd0e2c7ee6b9707ef46821ec95f302333c8d6cd139c17a3ad772aa990d657cede3eaa534ed9a8438018692c1688ff919d481e12e42722bbca8728f9344f21c03236c89695012a416f7490fcce4f7794a69a29f89c9a48ccbc3723a2025045f2670a1e73b13bec05da9de293e1df905cadacfe425f5fee668de6cf6cd7f340061777b429b450adcff0ceb62e3e6762b4645b13dc2defeea46c75aeb11cac29276f62266b80cb12dd6cdca18a04efc4838074197cb91127fa06b7255e41cc445bd252899cb7126ef225d4f0429026eb736004b0a5bd029a9404472944aa5591553bf76d99fc57e8820f6d03d043f0e39235abbed3fb5ed9572b072459873e4f50a8c50cf0267e15729cf5c66a6ae373adbe897deacb1051af71858b296809a4624039724eff8bef7a6c1dc696bda664fd1318cdb2c3e2e5f44ea72721d8dd80ddf56b464ebc0b36fd5f96a305e4e58947d58c5c614c9b9c3e31c720ec87f22a1b47c73a819b72325c9a09ba102b492d0f0a1d7a7adb982ec8f9a0e7ec7277819cd0b7c34e8a095a18297fa675f98161907054dade337a25d0903118f20dba3c3bc673f9c226d3180cde6b38a4722c0b0734914462d09f7f0a56a724736ee63257adb5986f33185075f71188d7bedb7c84b6b7c93f5e995497f3e5d480caffa44a335a364006386ca6ca2a1b675e8dd1705496c00efea2ccb3982240d9b581958ce3f4645aae9b07da135d1232fe21d50a7461b5657e2189892627213ea6e7b4f71d00eeb6800689605f012d5fd5cb1360584206af51e2e21a90772cb2e8bead6d1a73c24b93d31e526d2fb5ccd425cb6e248e7e93f510399c6ab664cff93a215598cfa7c83473278ab284686ace4f6a3fc08e2a6524428ea3f9072cdbb2dfe6b50a1994bff6b3f43049328f1e4cb39d9f72d2550131dcee1e44e72aff444e8aa513e219732ee19417f2fb17e534266489786e51159cd317ce5cc721ed815eafe3b4886cfc5f8fc656acd7fe704d91b266aa0d5390e0b9dd72acd726e506636765c6c7f527c77b72b3d61e92c8a896daf0476503ce56ed41fae4722a5cc037ab7ab2a7256d67cc56b13c0b9ccdc3ecece38e6d5cd7bdb32bb71ec72b71827843f1bb40494c84c11f77a3beaab2b963cbd8d1595a03607dd0ee3d572f069a2b8d448d4f95c02e7142e61935005865236150d4db7891f4f4d93766b2bfa2aa20271d9cfc37c0c95ae0441eb499aef3906a2ee12ed2570518149365c7268d1094f525403330f2d65f3710f7446fa4309f145f5925ff8f443ae5fd05d3f828d73332c663a8a01bdafa495c99735cfdc6b7959d802f183649513c93e397280962277dc609dea5182e0ba7efd00cec2f0a7b2b61a21aaabb0bf729cbab6721ddfeab2bb0f45f2320572359f2587cdcbb81979af08823026df3f53134ea47284e551479b4984078d531becc879f9fb1dc63d74b4f18e341beec8c1d66de47264b9bf06fa5d1396cac32b61226f2e79c612dbf7168a7d8533785d2048d16627a0e4f65b98b444ebd87c4fa8674436eb5c8bb7f369d631274fb5957b1b8c7c1ec0fb7ba40c5539b8b76403e291453c2b25913f02aa374c0eb6c190ec39f35872ec7bccf7d58c8cecb4b8b28c0a291b1fdd6d3be425382636e343a9f4f7f0d9724a8b97357c6f46c8eea68b129ad61977bf2d739c5358eb83fd9865e9e22d4072fccdd77b513c44d6f42d63df832a20255ab54da8b8eb0bd1adaf88336f6ea033325630adeb2b2ae9f3982144f7eb7e1fc2cc1e743bcdbe64506223473d86477274ee486f69038725687e16e6ae334d5d3c335bb9c3d1234b2d2f9a07e44faa72838702e8c44c079477d5d27c5574126b7db77ca6e1c2f26645624afd13e0c572c3a5dc954e04ac3ee268e0f1259471a0935ec9d4a0c6fe4954a891718de1536df8673987a33dbe8b9585035d025106678e7a821c5ceb25608cd563250acc35334f5215835785a8aaad0c5f66f7091cc4bddf18eb38a96567083cae800707b472b62a1092cdd7b347af71d7a4024db299bf799faa372be3a2257c824b764c721fa527976bdf642fd1799f70b04e44dd84e7dffb084f11851983fb3fe71338e752d56a10e7d68dae5a729b0f91f35ba7d13015cc5968fe5084a243698ff8d24672439fcd04cb47051ccbfa5018f8d46626f6af9ba47be326f67fc9d82f18c7da72edae8325d55238870b5281cc9db988927e027312d0d81251226018d4527b3772e727621d74b464459e2ecca1ed8cca151ed368a1dff9a1168c565341c98ff93c34602bbcf21b88e2bffd3d86da20a528e362ae9bad29229a88b2f84992d69872c9490c6aab3725f10dad286945dab91c474d2dc56e19705bbcf5cfb54f51ea47fe34be20f36d8330a5653c339140e06b06cda63d624bc0d040bbe2267d0f945785759d93cc2086985065c587bc0da16335d44bfb66c836e676d8d528b5ef0072c5a88e778e93fee2f72580ed4e9781b9f9547a073e88b5c19dd996e786f756210dbc684ae21f5bd97f61d59b645233f2964ded88bbc3c9406ef7f857991a59002f9606d1421e69d694cde8625ab4e4dc99afcabb9f80dd478edc399a699db810c79010f978c9720429633c474ccaf394debf2a084727df537b87164cbb592b4789cffe855c4c7b2b03696e33be678f9f522004ea8ac7520b916ca9246ba607259008f3738e31f64101f854393d47b1653fe848fb026b772334d2854f751ddb72c0e5505aaabaf6eeab15d46489867bf6f72a13281e2d4cb6cff7cdc77899cb2fc537cae87d5f1f9634716c8093e51963f5c8bd799f8797dc61ae81d792a4413f09c2f118f77464e220e4ae8f6ae5a934d6cbc3bcd4095ab51930f211dfab2a725a2ff31aad724338f89ef65b1192b4d8425357e9a274c7f3f313185928e7b51f4a44a527b91ecfafe5e5277fdaa702fe4801ea3d281387b0ee9a480d5e2d12724e1162cfd1a35cf14db7e01a213a851ba287644080618e2ca4a48be1e4307b636d9fd5dd007f2f11492479bda6555bb4a2c5f301158370b82d941cb526702d7251faa4ab36f96ad084287a1f1097e1138b315470e3f0b4701407a0ea861fea3ad2e13e818b3a7d9f2f44f448fe48e89b44af1b64dda55dd0f66c1c0f4b1ec1726df1af5e6a1a5026d665ca1e4b80181cafd416de85c6ee5209fcdd811e220a725ead2f87a0147d479d5586e4e808c062b0ecefd165fd2c14cc9b970d4de541725d34c0d95c61daed92933d6aab44d055092c0d7f6e4e04bba3870df71898fb12563d55b1ea7412e1ab6d5e6c90ad5b4015bd441eae05da3baeddf62d370c5a72171df66424cc6455e0fff8aac3a4aa6bfc017e7dd028efcbfae8d13176edab72350545bb64b65d8c8a0ff0828e384f3fbff04e272d7f8482bc9927d4e9ab995abadb93673a26b148e51cd1d96cb1e17e653cc6f1fa4b6ea438d13da447f2221a6573289be62c0b53847de6aa9cee81ebc4a18ef7b8a4e6ce7bd0cf9aa70710721aabc220d7e532e9b82d5218a95f1e2e1e315eaabeaa717aa4f5816de5ff4f5c0d063a8c210bdacdf847d1ae3c16e1d4a630f29ff41fa96e0e3a82127d6e1372eea6a70d2196c0d654e2b5c8bdb049fc338e4c370337e2ab89e0e7e37e51eb726fef19b0aaaf36eb2aa399fef97989ab984ee529ad93b568f0d55d68ec3f9f4edc7b0f18b4f6b88f5d8403d708f51d86b5aecf48d9044f16fda0414d34d6517266a0a8932e1e63d2f052cd2ba1d4fc26ae08bcfb88d949e4c1847f9754d47b72fbdb9037a11d72f206418650088857cfb926b5ef0ba481f9e5971600ac3142089fdd4ba99e93713d313581b61945da11bf1768722756e9671c9807c9c498e4728df2401b5c5159f205995851e13d69163fbdfac4f51af2e0c8880801418cde6ef6b355a74232a9542d02b635c8969702188af54ee2510ce231d1785bcbf40c724cc0045f6de5f063a8b29c88f68e1ec0955b8fdedec1b80220059bf348f5cb16522df05abac763b639630b1a47ccb3286d44e71a54b228259dc4e421bf36ee72f15da5e0126655f2ceedf728b84e9c96aa6a9f1c8fe6e347ba8d9a8479bd25720409456ebd157e4f6173a17e41194017cf8983dec26e51f7dc56c2fa7b545c3102e73b3516fea5ef875e694be06b1a93d5480e75bf4b17cfcdb16ced996127727c7da5c3d4a6e42b7db485abdac7453a7600e7b0f530c22d46f716f79425ff4d4352acee2a791db4f63bcfbd8c391d4f0049c6176e01a0629e4c1fb36e96aa7273e3adcbccca72d86455282548b5c5409935c1431523a53a7d742dd12d79a8721c67dbd1b0b4fefc17f7e9d273baa0895ee42fbcb4aafb6c04e14195deeb5572f667310abfab6bb958639282eca7ffbc50bdf0341fff759949a281f48ed3a9615b9382bceb3aed458d6be3627f1d67328d24dffc99504ffdaa3c3a63e0d94c111f080a7e46561d525a05fd7c6d8256afccd68f19b1a100c6a80d282f004b3a348b3652fba89a26be615832c5130cc055f88a4a426ec5b43ffb337fdbf0d22d2b876de937cff0cae10a4e6c9261ad9413529c5b4f1d6bc5fb0f8c3e7dc030f320191a123eadd44b4fc9506805faf817d69e824f7c2449e5ac7eb315432205f20b464719872c680aa016e2e2c9c4b2559b7597e0b05b6b3728ca3d6b1d0f07ac6824b6e5b693830dd755fc688d33641a89edba790265c8328dc504d98616885f726d79ea1cb20cd8c9b479e76930fc70b7184f4e21e9eeb2a0a763d2aa6acd0a2956ace93e1576ca17db8cb3d47e797c64caf2323a9858afb4ea08ab7859172272fd5bfba03d8df6257a91fd5c23f361ba3f5ff75f08228dc77734b637a2611e0670fff09039fdf5964fe3ae5ec756cd77297070e3797fe01869c73e39d5d92f729de6a13df3b50aaec8bf50c3e4334189856e14db10b55b53d3ccc3d92e6bc8725a5d16bcb557d9bf2db1ee102436da7cb00dbfc0504de8fd6ddde928122ccb726271e7b1db8dbfb2bd17597c6a76d3daa5ea4be5aefea04e941a924614db8e211cf9fe86f89ac0691d56beaf6af6c77e5ad9d743881b0b8ab130eedb800ab8708945bb409fc66fbcb639275d5b2380270c56f14872d4d395ac6d0108d1bb4c268ef25de5d2be8cc8a795c44fbf1ce068179b6a2014fbcd09d620540a3c16ee72f29e41d30f6fc5f4c6a6f3a5aeab23687e82ab919bf060bec4a7cedf564a2872dd11b3335d80e855c3964520b39243e14736039dd140f251365eb36543586572cf8b51ee374591f7ed476c9c63403e5fcb556dfe1d2d7a596ac0f96e17f8104324c9d0e661d85bdf4891103646696f91d020e0246da6424c0e8a908036600172b9e75f14e47e2d2e145aa12e85728bf88a095757be29b5c0d49dadb52925f372ffd3942304cd365334e31f0d7aae662d9f2d2b6c5ef6bbce19c987d7d6e62972406a9a8eb08608304845b5f5cf8b615b6143706e5864632e9e2ce3ec9ff80d722a7a03b49cf0bf74dbc15d146defaea6e3a0b4fa1f91bfc6dc03ec3cb6bb0d72b4d7c387eeaca961d9a947e72ba3dc6b8df904e9906bc2f289f9940ada7b227223b717c14d836aca9deb4dc760092505162d5357b7625e5e21495bf9ad379e528bdc920aef98bcfc9469a1feea9631059b3c5f612e0a3786c16d12f80bfd52277bcd1010595e110495f1308d5ea3d96cd4ea8c50b0bad1d87313c3fda4abc22e665e0eda4b4f39dc2c2409ffabf90f926ab232f5334079e12b8ae28bd8713272022ee5c291f0e411660b5fcf0f1c5ec82ca1ae3361c38c9974891b4daf2cfb72e5c314004fa91aea6f229a1ae1c1ed1a66e00d88d34bc1e151211044920eb8ba02000072d2b8245fdc8acc45eda51abc7d07e612c25f05cadd1579f3474f0bf1f6bdc672edc84233b9e64cf4576a250ba20f9e046f649923f4bca138366f8a6a950049057134d0d1c5e69bf44aae29927363f82496a930072ce078e4336cb9cfb1bafc39c5769ad0e6e0b8eba00055889232e7e5772adeebee58325683b0d74fe8ce26728ea564508f5995d65f8679791dd49d98003c9d434c4ece4896dc48434dd85f2b51c65bb81cc383accbb1ebb40cda1d6994f125b8860675915514561a593f0e08d0ecd0057c165099d9a1ad604f210e0376abbc05231021338b624b7e16aea272706b3c7d9e2ec0cc0aeaf53cabb103c0db77ae83466ab5823450824e1a643c6839131dddb986ea2398950b4aa1fcf83f06785534a5b130c11fa3569177735772692d8aa2e408a9bc48b19b95740a816c47de56840e45599a078f2f742cdf727265c26a6ff7d642de2d88d4517dd85e79234c6f3760e870ac3a8335c05ce90672f1f46e203cd79f43b2b4c693edba46c0e12adbb1612b51620e455bc828775346000ade24736b637510b6a5cb76c83a987798c9bfd2e214eb5ba7dce579378772505602d7960c2f67bd3889c87a55c197b6df8adf5e32f9d2ece1c3db4658643202307d055f1d52102aba8aea7518d82503d03748b2eba91d477266fa9d2ebd72955d3051ea318b0826171c86d837246cd47f9181fd063c26cf8b3c3805b4a07222db01aaff87afbda029cab138c956e3585586408369ace1e60537956892e96e365d46d4afc660206407403414fe56b67e1a22b989ae5dc68d286e4f4d3d1b72e4bc4a0c19c361aab8d9c62e876496eef4a65ab962425e129c4fc89667558136e927ba5a1732a1dd6a6d6bae42bebda4fd6dd541b8912c84524da063da7ed2724ef2223e796ac6408966806ede932621dbd6fbd6ca479d59a42c40ca84ae4d09987d8f3a7430ebce7d247b91888106df823e27b646fa69bcef254da9916cf27288fd75a8a6c2335f48a2e9bbfa378606ba499096331d32f8df5545f9aff55072c4954d58b430828b6ad76a1b10e7efa75704c9d3d3d98e980c52152fe4146972ed2987e8d6088e7624c1bcccb0a1a71eb1c62495cebe22a2be7025dd0ac53116048922484cfb7bbe649125c4961d79fbef30dd8aa1ea8b4373ff95ef42155f72f5e68bbba2bfbc30549496037fff6705901ab98580ec6e5301306978ee5d2572629a2c618ab194659ff688a691c06e2753487cfc1364d139c4fa153c2bca7a437a027c11e4a78af52600d75d34fc94b04d0a1b05c111398cee3dc50f5eacec721c6e433e6bf0806fc677da4c1eff796b8836773cb421aebb1d15dfaa7e74260dce491052b211962779e86ac68100c27e7045132870627fb51d76e240b18933723349d7775cc25c70e2619ed8db98613274fe47dbf815fb8af9d70cc3767e8e729c42c8d496cded61287967699aabaf5028eacdc013ba7f4ffa24558eb54d9172e1c0a812bb0acf74a9e1bb3d00f703864f6dcfe959026338684a373b8bc07332720e6f0b3aab05530ad136a6bd766eab07281f5613a1fb4cda7b198098692372215d2ec859fda8911075f18bd34700ac1d7cb2c9e7e2b42932bd619be3e71f1d209ff627c5a8c44f682b847bfbb57bed5eafd12d19ff43443d2edaf30280b1720730e5bf76a95345081660e34f9c0b439a99b33a74a0edb948738d27c5db09724bdf1080722deaf2eb8440a9babe7c12d9ce2468e8e62a1c7c61c51677d14737510a1bd68259ac059059ef10b51692e9c28fc09705f1a9103fadd99a39145e66eb9ab0515c02e1921f76c03100171d4aa630ddaa2273cb9eb1dd5ab3628a6d72a66dd0091bf48203d06e111fab66b7f89cada34b8c5dd947ba86b860b9e1b272d8516602b2b7945c7b620a2b486b633f4163ebe29ce5a050bea135a67504e7729594e01063b30bdd22cead0d57e90e2fdf936535f790cf70898e1b643e5fca0ca3bf6c0c12e7448934689b11ed0e74ece8a892513c779ae242da33b0b2debf7202e74f53367e30bcc23934d20859827e2bbb4253760141226ddb318f5ae15972de5716372fc995a7db97da7cd3f1a72cab7eebc1dcb2f3795e86fabde7d283096dbbe2f170be7ba36ea825221a6cfb0883c0123a391ddbef5eac8eecfac737151eddb7342835fa8f1169a9703877da54fd1dbb2ef09ec88251de86366619ca723b99b9027d74935825b0a19c3ef63db41a3a0dbd23e6ff251f055911783718723786f9998e9779399cdad7ef905137010968f6f6287c71fb58219339dd9fe672f23280c8b2140c405779b29176c6c63578c6023cafe0259614da27c9e578ee727f07140ffd14c8553a8050769f27f4e2b0a274ec2b4f85e9f490245341fd0f72803e17acebf56f026637227228b9bed6443f69bcbd63d16581736a26ed510c72f8afa5cff4ccd224d998b8d6c129b2847cf7da842f9599c9a09e86123818bc727a3a9a9a16eaa1d9742fdeb742f7057cf5b58a2fb2ba845971f6a6d0ca444c72e68e76c02da71effffe672307fb55fecf4ffa7eb65382023ca7e82951187f5720d2d773dd641b7231c2b7937058f90884aef5a393f6537e47f16e2a71379f41e886aa0675c71fd93918a8cb1e043ca84ad217628747550c60f428da3210871723ff1c1cff65fa9d949002b99ee2a93eb7931ab7c21e31362f3aa7296e115c16046b29a8155ca15f6d5b9a2bf2fa7181f10fa4eca084c874b725b9b61f5223c72c47b7fd2cacc706f21de46d2ec06db7c0dfbda28dd3b1a0666b3905378fa9e72ac1201eb36e1ef9f51b4f640abc6ad65768427f2c644576f9ca23977268a1a729130de8c15a1a3c77e18826de1b62dbca7d22eac88c9e36b5eb52d60d4dc96644dc9768fcbdfa327f0a3867912b9cf5f635e858567627ef682551061c7b38a22ef84277d43a66a7ec32d8e16647b28d9abe052f9fb0e43ad869095d58642eb6d762ec36c0f41a9b7cf5c2f806ee667db90c639ab2188d7095d19a4970dfef3728247ec3ebf1c213e562f8391ff2e9739c3839e2b136844c937df44637a0a3e4fe65f6cc26abd9e6dcd34ddae67d209b71935d1597f80f615bbbbca0bb0d1807238c2b9536bd7c28f0eecbb5d28faf63da114122d2fda9a8c4e98f4a9b7a98f4d57bde32ce41658e6f83eda4b65752b6ee198e0ebb76cc7fea3f0883855b5b01a4039e224641a3a85685a8ae193135681deef31ab86017be0264001e71f5a5e2b8d4e1a83616c79e44c2b64b12de1658dc91b296091ff62bcf93275700ead1642178bccdcbe9a53a1b5d4b290a4daf6348ad43492310ffb781f8233e2cbfdac07c98a12c6bec66fd1a0ef23ea67209499f1a22f0049b1acfb1000f0c44eac9872aaf60d9adfd48d5f7f3192c17fcb1796afc64ab836fd7a5158a77969cf887154ad87ee0be77078f1108bc22720b15550a40ce83d189989feaa438fd1bf99c072543344c7ab337ca771771dd5d2a331146268f13f5cf13598c2c0d754809d06723e09a1c1ae7381a69a84184584a9d40ce92d189fc1574cf24d17769cb802fc288f965b227b0b9cd3bb68e59436bd6af988dc73e01dabe08cb990e4918adb3f5eb5453a282872984f3d1e5b39870fc51689450c3d48542816355f31c9cd756a727d6fe080dc3cf2a7c85e5188b84e4541db0b5b6e8a6323d12210b70f76b33a581d8a604a8456e1adb36b23e4c41f10443cc96bc926bc4ae864b97628bc309072f9f9f5068b13f0834faa92cae14373125869df4102119ce1fed5d9d16efa7c142e03e3c2bea2ce2d145b5db5ee58e7b6d6e0f42d4a5b01416a2d9684ed5b987298a73c544537221e330cabc456d023d9efba0ff7f8de0e3a7969f8e0592424729b7646b1cbf2f3411ed898a494713947978594d16bb22808fbcdddc4d561e334179433722ffce0f28abbd12e2468bf08f3a7cc5835bcbf314cb0751ed092bb323658cbf42f1ca55c81b5cb707e529cc3018eae81cccf8f67598caeaf789af772c32f1efeb911ab723ff0a75e8c2140681d8082d7230ed8318d3f4279c179e8029de9479b2b35b281c5f22103a0ae4642f41473d4f5d890db345b6563c6dfb10798c0395314043a9f274e0a51bed92e3f71690c0d2ac8c2bf56ac0fd929e19672c4d9c7f8188c79e62a03e5af36c7b227fd1242b33d03a8244dfa578c1829f27203e9fa38ecb41ece49b34789c40ad362e580c3a1f593c3026497e591a957f1722e25e9548c2ec0ec8e4731c1e7f6255bb9f96dede3401a631fcfa836fdd67a7221e247e97601d49e2e5a2d623e2f2cabe916d7cea457e259e7beec073cddb345dd835fab3b23f0bd56d6dc54c058c71ddc27a599d91ed68558c3af181f9b65610a4409dddb2a85577ff7149056cfa01a2809b87a85c197f9adcfa81c47ea26726f1a72fdf3009273f25d3c5e60637c8fc248ac08126f3d8ce4c157446928fe729fdad7bedc18793b67e0b02be5f3f48fd0c3bfc9270e2f852cef952caff7e5090817979ab5a4d2bda38431ac8bb6a8a757cae21a2461d79d96131f6a7aa809428470d2c66a9897131d196f8a427dd033331877d7aad77a6246c7d3121418fd72fbf2388079624734a18cfd974bf3ad32d00cdf349d67ee424d05d17034607f7294c3a68937ecc14134a85b141ed588e9cb712eb520a677f1008a5f2a9ed364722a123479bafc017e90a03250fbe7d821f4a822306b60dd393243630edeb60b72996942dae2afe3f988556bfae63568ff73248cff7a35e03e019635e1b072dc72d357b41253b36450501170a9712d2674c7a8d346b18a70cefac367a468bfe8725784f10065f3c9afa090fd62d089bc759abcded38328a7c96938b7310dbc0972efd7f46079423eb57ebe2d3215a74ba3b7a7bd88de77b02613a40df31752de72530a790935c8b5ed7033808f25e5934cbb770e42e68781aff65ace2c434ca9727e0f7eef79b5fc62f4d6fe70cebd18ec62c8176e5d2d76ea2a02a870801e29601b0707689d7d3c87d1f524162a27deefdbde02cdaeab21561e27b8394eb63d7228182f3650b53edf2c38be442da42808484b17e0743640aa4633a96bdababf7284255d627572be8d8f94d0e6a4f0a698c0bbf8c9304bf0f77c0c059b63a9dc7227a41df64400caf179d7f946e560381625c644f5333e0577763181aded7ffe6ae3bb8cd44d15a3513925ed32a18255093cce4ff6da5b03e29c462d6730089272cd3ce41570464765b180cf9a89eade40ec11c6962cd5c86b587c0f517d2ba4667b21c95646690353a3e1484e6c490ddfe7de86103b7ee332984a3be9862b02729d46e508329741f7b208d8003d01aae4385e58f5b9af681650df4c03b0c8f372fca35a01f6738beca9541da33c27624ddf70294d386e748e724375ff64372d7250a5ce72760f1148c7c4c63703089570b8d958b582c9cec3235ade49912c617278cf1cdda94db44cfc21e2621178a28d58eac6b3c597fe3f07d10d979d3171721705bb3c796268283cee1d91f80cbaa9691e6dc9573011125f605bbbc806fe721d47acce4e38b0b90adaa5bdcd3cca6aae0fed3aa90bad9ee0fff119d883303d67f3f82e28958fb102c0bffc8b303e8b4b60466b92330ec613902aac2376697247c367a20dc76b2d4888968fc845dff5922b6bfe728c30aec6bcd8adc7218a72c65fd20c9f9d5f22d1b79a8c11f7383400389c1d6b3e3ab36924c01b56110469cf01b0d279867531ef2cd1f3e027b17d9cbfee6c9d364e5875a6decb83474e72bd416d2a37f9a27394f13c0d5e749a4554676301f2f1cc906f777f04df04b8722b7658c548a3556bfb31b451e3d005c01dad0805d3dfccd74379f03ac86ac872c33587d42d7bb8d43ff0b06233e667e559db3d78e8d9787461279c8dc1edc072ff108f8e7234cd035eb8dc48c6b3971a14baf8bd402da72c93b51afb9fb39c725a7420b1de93c067a4d84d91682cc084bbdd1c07315bf2daeb5f70cda2e8941e706a76c4231a41214ac5697ee34b7b14bd15c8652205e86714b507cf0a8196605506549c46c5de216d7fb9ee6d261e80c87b3bb1ac6d4c40d90bb5f93eb10716503cd513a67457d6b8c0678e6bc9f2b3f9f217ea54a1c0e6701bfd24e0611b72e7d77a80feb4fa1e7f632fd7e8cea9b35a6f377ea55f652d3544fe7ddabd2a6b8bf9c9438f4cfa31d1e953c88f6fdd67bfef6b33114c53c22998483aab2ca9729b4415e8f71f897f8f625a65397789e0e79a2e60ec2b041eac85943a607a2954e4d2d41d529051744317ce073febd7ef5cee004063951d131e537942bacdd022e9723526ee88c0a7e66a1071187ccd0cf032a17363e2d5df2bed7e35f3aceb3631f7a5d4533adbf7a7c245ad70bca3c6bbe97803c4bb3a5195bdcdcceec12872d46701c61f3d015dd94d01410d4113f004c4980ea4e401be282a511564466415e1fb196058d8a7e0b18d236c12c5685167eaa5cbe6f3c5351cdbe85bbf1d9f72f07994c0c982337deab6fc8c6bfb1e66ed276f0beb600f6b4cce1a91c62d1d721d6a1822379af03b5b9e44db963e1bf8400e1c67ae4f428aaa961cde9213a1729e3d0b7db86d65e05d1a53d1033e410fbd72493e3365cf790095eff091153572d1b6d5a848062bfb25bc25129ad5779dedce73e2114c1d9a8eb890fd7879fa708cf6826ffc72e1088f66a42b17a6c7e417120e5a2b9a1745590a997c0397aa05f34cea2137ffe9492d12c88e372b535eaf348db837e223a7adf8b6324e610146e39e9b682730f74bc34a7870d00515423919fbcace52475aa7c4a634a3746c036f586ac6e10bfba46b14609df2109fbcaae937e2d20f8cdd711b5dc83ff09d2a2a39030e4d38ea567d55f95ce832263d1ad085280814114fc121624a044be87247209ca5849ac8402f2012cf4c542582cfb5cbaf5416589d412568e17be131725bcac33cec2e3877d80702e7544244ede15686f17d8666d52036dabe8e683c638062d2d9255cab44523b4103d4c44934f0a4606f4d216d58470d17e60200846c3c49e3fe6875e64def7e6d1df8338d6312f4d6e0dbf9b95c19f776dbe87a4b5b780eeb9d9914e6c925c7e4482cb18b37ae8a6a43ab518e0f31efefbddcdfa02cfd561200a1db9fbfcbd3501a6f04eb49f02c5a60c20f807f533fbc47acbdfe728dbc939dc08f598ef597b35ddd84032ea403ee2d2c51086039bbd274c1b80072f62080082158723fe7b532086549cbe889247a27c7ecfaaa545a8ed52e1008729603c8e0c887f30897a82734211ea7ce9c565a04d0bf2d37eb5353bf91ef4e722b00fbad210305f3a33bd4507442d16de6c1b35531a3a24d5444a91c5e262a61407b69756d2b7424ffa6a2df838e5c0e54e05e7be58ffc359f7b6e379a25ba54e27d6ef89024eb294b681e92a988a2d77aa6e2e12430b88454d56cb7a1a8753798f4b51e73537d8024be5d7445b85febbcb712024b5cae7982830de14fc1dc726605a1254f359915982ed7285c6102bfde542522914930263d3cdd1101d9737289da5f6cd64168591481bc80014309eca44eb479beebea2ebaf569cdbeca4972bccffdcfd43b97fbde3e99952e718954f0052db001d5b40cb8c7f54eeb708413d64a269ebad377c50a3e735c31df01da2d74585dbe45eb3e2ab9423c2bc09272fc07cc5c0b5ba2512d21e4c52ada8ac2313ca9653945aafb52088c97d4179d72e6963255e69bc0fbceeaf575b9beb1b3c4ce7a92038b7191f67a78863fa9d572568420b70cf6a6598cf7b3af99be42c11c32ef0d58d802f673fa24df07d020480f152a768cbbb91f3c46f0156bfd42bfa44a1dde43aea77cf7d44aadccb2426ea551cdcba090691f53e344fcec543d8f8ad683244459ae2dd8246cdc98fbc0384679745ae6d5db7c7fabb7cfe738cafa5dfd3fc46289a2547f74b22e5c4988664ec2b71e5a800d950ac879953e70dab0aa64f3c260f0651b51ca43989b1a6a41f00b6fe0c0d623c1a65c61e03f7cf840fee668531f5cfd0ad67de58ccf8c7b7234eb7f4fff9340f38b6562f89137ba7fe460b75300c4bc592bf90cee02d5b4727aff090a386c0aedf7c88559b9a75b988fca073f3a8ad4e3db0b8be5f29c55725bd20204621dfa75b91c257b21ceda90d706e61b164f255ff8aa1db3b9cc4172bb83abf8dee622077ade779d6e1472f86288a5da3ab1dd1a63a96919cb3f0e56216ffaccd0a087fddd285d4504a605a915201b4dbde52677b602c8299a549e2f381edc3a6730df225eab17e6455f3295c60ca764221ef7379103f4d3a4bd5c1ce9cc9326ba1aa3858791f5d756e2d5f276f1a28d351f9f379960e4102f9ef85b8ba08703241abfe969723ddb975543f3d033607cf9168ab8418f8cbf60a80c366b9bb659202a0dc06b38b8cbffdade73b56530b0e16c264abb74ef4219cced729c7cb06ecf82f761b245468228c5862c485429aab0ff591ed9d8759401844872262168bc5d8bba09598f962a1d6f53c943b1fca24309db843e77e238f69bf572d1c8d68303cd7c923e0e74df13726140ed6de5c27dd83fbb7ee09e252b4cfc72c7e087043a17535e651eb1484ed65414c8e711f5667f96c1f3f41aebc7b8c5579b6f639f41b71403a5497104d419502243a491646c08ba2740ab15888c6a5e7203f01277ce77e90793efdc985d2a5904f7334c78703b0ce1c7c48691ff5358244d49296828f6d9fb2cc4f19fb7821c22e927e7d333e0ef9a7d9aafa4be4c4717ee6a911c405102b1a719d7b7c4e40cd3c426316a1d60ec27d2a97f656f2747721b9c13f257b5766852eb25fc209919ee0bdb63e0572d659ddcb53c143de8a45d50d3528ca3df28ac29cfb09751bddcb3a92d82438aaeeb6fdfaaaae1f19f6972895fa4f897e799b5090d40aaa3fc4e468385fe48e8dfa4b0775ab197c03a9e45b9b2bde7c15080a13279be1393728fc29faa70bc1fa3a4f239c5bf63b4f9af72778a0b71a5a46368c9726cea7e54c79dad9a258089bdab2285987a7cfd92460301bc24ee94ce709f0eed053864313ca0a3e08251a43dd1caf5011354c820d67200af4f117f6aeeba47221998750733c159f78dc1bfee4d672288639498616c6885ce88f3ebf7fe582fd11946af0bd48ec11ba57380ac83552155aa7e33229b389727447d2420b2974814ebebc05042bd6ce85e6bfa508e88bfeadb5462ef06729e4dd54a97ea3e21c47d422ad0ed24c6393f309762c87a788a61b72315a90d49453500192022b2e5f8b55328cc2ede845e78890116bf0861f782334e62b84372e6fe46b6e6eca2c108a276457ca3da5a80141a3ab4894e8a7dda45641ceb2e0042c77a1ff1a2c964f07333d6485f1688d4236057b709e0fb18759290119d3b72498aa1a3f1cacb0d36a492ab464ea9500e41a8f8365c1730032425693e0237726291cd1de5b4395a9940dbd00edb1190029bd321d59dc6bd6767248770a0e6725ff80f22d603017b08a3c93b857dc461a4af88d4fafd56587050b79bd99bac725c79bb1a42a22f8c823f57d85d69b427956e51c75dacc02b32871c457850d772061c90ce44bbf5307785baf11f66ac26b268ae31e94d757796e24b2cbff7f472419b949d826aa59d96cf2117c0ae18ec53e63c05ba839e9d0f55bcb0d30deb7238582264214acc2b8e8a13224f72910bac3a26f47c91ff6a1ac82c3fe332222947fc14a8c0267a2c4c579943c1954b097af493f0e52d7c8893547d5cffc32a6e5a6b457a068dc65597ea4d5fe43afbe001488423d0a523b22b7f7596e5647c720fb36f0841c7db87f04dbfcd1101bbef8c67aa7a2bfa39a036d848e9877db52353391dfb109a1bfa9a616349d1bef4c65aab9691d3dd6a9106008a76d1f129726a5e2eebe176686650ee28a88ce0b79dd7e92ff99915bc3a8146ad9d5193167230cd001838763b98827c1563d4869a22814d00328bb59d73ac05efba25ce9e4edb34553de85e9f012740827e94242829483f63e9c7fcda0a0d3b6983e37de0722f8dbab90a84fd7fa03ecc545021a1f27e90acc2bd5214ceda012e3c509525729fc1354ac574db7e3b681e270236e3d84e4372626f7421ecabd56ee9fe417f724075b57d12749239d7948041d9ef7a016d1c2ef89b7282166212206fd333812624d88a191d36ea85545d86272a028ce4c56a93efe943d467e08e36af66fddc7070ce0614e0c9e047926a6115faec48fe513761c9c7fee12746187d2b8010622c2f83ae6a52402ce96a346aa5d1a79ab68ed3dd916910fc42e3e373e796f5bc7230c975abc8413f09251b6577e512fd88b9e611bc5d5258884325ed73ac4f9439a45d05b4bd57b42ff2e7bc753c3a808c19bd225e3c57c908dde064b01e2e6d7216823c770feda4f18706b1951d2d19618a4064837e6d771334e91cb7068add4faf1a1e992f84fd231291a72688f804d4773226c14ff1cfd464837a5d8bdbaf7278f49dde3876ab21c49d62a831be567c9bacf8db20700d6cdf0eedeb7d7485723eb5e2ed96deed54c407fad8c7f22164eb8ae78fb6449e08d878585a91b979720f18c6f3159b7f27db712f514084c4b6aa626b2258361196abacb426f546347210f4da81d0620fe16a090f5ce9ad89eaea3d41ccff65801b5899ea331f6e473e83ba65b557254f9b77617393ba962d54754393379f1d24cb3a4d5970f157f672925b52b7373cc06ea3a67c5dcc44f466ac9af7d7d154a8118029d6ff00d1d9370472a79fe7b21c157e13e6da2c7abd39f9c601637999ab743bf6f97b9dc0dd216377082ef2f2323cb51efe4110a2bb73a0e763d72ff59bd58d3cfd4f62a99672a0ecfb2416485c9a472d605ad01fd6acccd8e02b8c984b636527d574fc495639dbed9d5b21310c3a87f555b204f9749bf1cab47be65dfef9d1ae0c3d8e164e72ca9bae520dcd44d9ec97eab787ac8e853f286d4829c58c28445957866807c627f7fa84f623dc27e2ef0816ce591f7102d66b41a9652a0e91804f537861774572da1f8a4a43da636d6f5f1113e21f4c6a35c151c17193f4809958d94e44fdcd72d5d582036f609f092be36f6452e3f358b3223d586624e63f188b46a841cf1e4a3906400ac6bd0c87184c8524c14eae101613d736621751a85dcb49b6e90cdc720161127a5a53b3269a601877a1f519e7b247cb92b0ac9ad87b0452d29df28872ca1ed7e1e75aee8b5b8eb6ab82f2cffbd6e2321640baafc1928b13194bcc457299b7ce71c75a98e32d6c9978c2155875ed53eb7fb55637ef650b3c7c59e2cf59f3cc7a2a13f215cb5b3d93b86f7a5e281c29251f3b78050ff0c744899be58072c3f9b9a7a2a37731249c401cb50da8440f5fd91702f8b1215be22a5c5e87da09f4521b449f215dd82b2512b7d04b9f915f36d564314ba639979e00d584ffc46d22809fa0dd1ac0a84061d37af13c31755732103f2718245af95ebdcf0a38c4729b5742f8765e9df2902bcc76ab19abc521788efacc6fb09c4a97c62bbd382372e5fd202b90bb9bbc468acd61b061417ee89f06b72643d4b51dc50159b4e0101c9d97329fbca90849a2d1efff8b96089443cda7e578b7e11c2029af7eec13d872b14da239ce3610456c626737c5b51f5fd44035473e3fb2a5f61aa457ddc406725e9361f32992cacb4f94298335313c5d47bba2d3936308b8b95238b4f3c9eb5dc6fc8185e50c77eef0e112cc2e925ff445dc6926eb1f7f84a2324cf7f1fc0f001c6281efe61d95fa4063b0aefc597e52a6ed12b3b8359b5ecbd39e6cdb3e6d430aa1de4382303e64a37cb12ea14dbea06180661feb8d00331fd6d2d3083186725515a4c87f47ca9bbf81e78429c419269be8a0812b19d11fd91753cceb9dbf725bdee925772426470a4f5ee914b15e4cef74c8299e056d36e0c3b338f039f85e3360bd6669c52544acc0907795a5f4267a1aefa4426caab83db6350a5461d45a9acdbc8f53d5e87aee624268329bb46f3bb38ae81c1b8cd7d676a77cd49ba772c5f772096910ffe769d12bf457cbd2599cce2b01955475f44fdc3387106ce1727eb42486d8d3db96107251ba167a8910b437734dc69be74b09aa62233ce1a92a29dfc33f3cfd647086e55aa1ccdb7f699bcecc6b9d5d459151e8c2950d7e1f725119beff503f45573037917091e6bcf36b1024758582ea4f08de21bf39a4da727648c3826ca0272ef54b654ba2e67b48ee0a04ee95f6c5b1e459b9223af3d2191e20dfb13363b05f152e4e1a883348a6854c4cf7b50cb798848d545d56e14572c74660327a0c10088d2f9f7c1ea96ba2f9e0c5df33332cda46d207f6cfe9db1f67c045348f78de9d1c752a039de74ed31a017f13677530b1d23a55caa0b7cb72089b58676169fca378a963ca246b07ceb518600facf0fc606996af8cef68990043968c55762cb1b2ff5714a5707f90843f6517810b28e9fc2135e02b4f90687268a10deeb28ffa9ad22aae627af1889ab39f889b9d32a8b15f3eda3e6f646172b79d298d38ff2839b360f10173c5c2051e7007a7b9d42340b35067d641240072d8ca986d9cc88fa418f500a8b01304f5943f2ec51a879a52640c82c7c9bdba726dda828c684a26112b6135a57df1f428fa096a6aac3e3c8e2de7cafefbde1b72ba6ab12694a92b0bf34d529a925496339128cbd65f17d760abcfdca731a2402d15179d9bce151eb06485215da89647d43442ae7ad25607927b440780dbbc357292cc4a7d0def9ea1b01e22e4f84ab36b89c2e71b0e9579d41fb38e84c1928272a785dcb1cd5d7a8faf220889ffcfbde05f5e8af4600a3cd322f67016cbfd7c435c624f020f5b6b516f8ae3a4085713811b05f9bf67174fdc2793010879d3b072c42d4703aec787e46725ff5b5f1f7c39e0f870f50799af3f6e34a905452cba55e1c13cd2a30cc17f5f743c095fd940467de87a8f9f61ab438ce78524c39b217297a043088bbaaba78a7b928683de7ac8208a23774d9dae42d7d2cb915d20c87254a659560419b0ffc308ed606765a45002c8840da153eb0e9b4424d44035a572c93c946a749a27bc69ed11078c6a4cec42a8ac50524998cfa657514b13705072f5d9065fe83cf10389f7495e1bf7bbe0ee11ce0ac8d220e5de04d0478e2dc472e1b0fd5ad9a1fe2b3de5985f7e4e5bf5d96a7865bf513d13c7ad9fba6006ee26da7c8ca93e42ba8d5a586190eed695cd5b4b4fd48f758b4b47428eb56caff219dd7deba8b9875a04a6273ece363f9f22f3025ade2fd3e5555da83c660e20587246181dcaf25384d9ea75207bc1188e19e1376d611169a000c719978a7ca0057272c911c94fea215f642e85542026726db155203c4ddaedbbc8c7cca01f5ffa7266e042d3fd85d68b96f430a34bb20faf734229bb643b60e4f131d1ab6ef0ac724bd8e8e6ec0440eae1be5e6c93c9013cd3f9d91123bf1751b5cbc2d08d459a0bec1e82a8a8269b68a683d18345df40cf88cb4b5f4e8f19d669712172fb8da308e2e3d1eabfb28ed2d36fa6bc6b8a39e89042a4d8fbcc55b624753433a9e49f724356fb16588315cca85fa1763ebd920cedf1a310460251fc4bd35b1d8929c972fa7d0a94ef97086754cfe88a6724ec583ddaeccdcba5b8a60e79edbd6f57d3726c0c11c3f0699eeadea9c385901d0efacd5fe4c9ec640002981f18d5b33b857295217e0bda838a9deb0ec044f4ba809138d827a27be16e7763ed2a8924277372583718d81373656a783a334a2fc88dd1ce2d4054ab072fa17141742abdc2db72a582745896073deea519fc634f24674b72a2020995b60d31ba709a4bdbef821fdc7b3563ff2801da71a6234d2778a7890222d24bf76db9d59eed70d5afe09552b648ff98f0ec6a692f1ff9da617dc6119c3dc02511659479c8f4a2a54fb9f9722eca7d4e6ec9ce9d4dfb1d64b29b710a6aa3d1eb390361a7fef66fcf60b5b62887a6851550f5118bffec22cd545a0e14210f5ab59852963921bb3e6459585c7298444a7bd2c4bb6695b3de3435f7c1991d9c51e1c77194dc45f95ccbdd68ae728984d699313bb8984a64634337a97d70dddb0b8e05761d35f751de7444f9337203d871993128f03b9d7e1f3686c92269a38af4030e5990ef198602ba9b791a727762d1471729b087a99b8828ded342f56520c1ce983c7fe12b22a514a774873330298571fcd7f6bb384518de099aa8a6fdc6878276dca39c72cc9a938e253772d727fb1b81da1761190fbe6c7ab17c81e650038f21fc31339a5f49c4fa9a2f503b1d90f36d9f96d4f6f38f35ecf555ee50a34aa8b8dc21848c90505354e7500c083c7d3224897b5c48fb85ffc364dc13c2e7458a448688951dd1d5efed28ed57053486abec96bb3d65dd2e84d110f579f1b920a0ba7a6195631342360f27b10bab88e5006d0b955ee5417fe864bf3e29f335a3be411378ad198cae7a91b8e172f52748d0834b5f368fca7d7d9773a078ada368d0d4deb592a3c2216893456772b0396f269feff1a6767fafe204ef6389cb874782e48cb2f7ce5e13af2ac4b90c0631cf59ea75575f82e6f81780a4c8d8f4e65dbabb3c54b09aa3a442f4b59172fb486933a77689b57705b90eec70e90280a7d79c73d8e1300b705344c020454b0b98d45b07e63c1cd1a95e0b0b0c9d052d759d3ac94a02e55123b98f3d865f4c1db977af44df2e32f0739cdc2752ad6fc71130d5498d489b6d98d53d4e28c42c43bbe548e3f545fbf69ccaf1beaacc226a82bd34422a9981e78d6eb32704374eafe16bb27743959cd710102869a59f1011b7699629b82495de993a6cc41dd8371cff449eb9c8342bd0aef812e91b3f64448244727bb35eac12b208d4e058be0bb047397f09c6db26381834fca87bc75a4cfe41d6ac823c1bb1ab3b7262058e72e0071c3cd921d951d02e910ec3889b3c16b3771c0257c3eaa134059dd5f3b1311c34881cd31ea599dc2236ce2718f9fbb943cf3f305c7570eda0916cbd51f7099ab972d606a837ed274e3bef82a7e2deba41f0202dae69538a73ab198bfddc0b2d2e5cd21f736ffff94e1fbb79723f386d42a046df0e182dceaa66dd3dea47410ddeb60dbe9c3e68bea6e51f68f178dc275367f96de0a49c4a97d1fd7c240d72facb679314b6129e7d8717f83ec151543c3dbcb42526b9c552c6bbc8709c57685cb02cf4a2ea4bb50e8d5deef53abfb37ffa75107017a9c0a1a247d5ab243c4d43401ec59bab93afa5ebe7f58e247e720f382be4d29488b7f421745d07c3156ba85dc96754784889ab17ae8556f58f755ca2bdd0732e6fd42aedd368ecf63872e1bb7b04c2f1ebb89d539b98bbe6f583116473426ff8f57b749934ab2b8ebe726fe52caefe168ff2d057d7a140410166d37415e6e0e4d6464d4592b4eba1ab7247c0d09982ca02bba132ef99db97e88b99f414f13621711c888c96df526a0c68002f76dff21652b9e0120961e13021741c01381f9f937f1105d26b6e3b77a2573f20ca54f6313c97db52b6a817b55d2b5e47d54718c1149ddc117087c6c4d872efd56b56991925e6e73bf1ce3dd7228419c2f35ae944eb48b6bff0b66eb46872b120a214823c63789cfdf18b6c521df774e875299e709f642c8bb089bb9e4672befb17d404c0cd657c36ae14daa1ee8e4455d9d9ab2228cbca33d2930c3de30d5b3608e55b881a898288e5a59772654ff893499f5c55e331ae12b882fdaac872d50c8b0bc90770ace1e1bd4f7dc6590ff37d80091dfced1aea9dc7854c9b40367e2201c6c6a6031dc512a39cb767cbf7579639842aaf34ef10c32cafba4c32722d7bcc7d473074c71993ac218fa81ee94258ba7c60b545a8d3bcbbb9e74ca8242eb46f288a1bf6d6b95e29cafea78f34a671e3996cbe79eacbe26891dca80172606fc22e6bead675132a345dce2d9abbe76d2e70ebe9230c532538123ec3ea26b292888c581bda62b8fea4c3940b80cba2b9a2117d7f9d0492023599170f0172e47a37c00005b3e8772f41fddccfaf6bfb85e1188fcbd8ad267e0f0255929c5bba4f5b885eb9996f9df2718ac846a8a2616b42ca1030906804c1eb1a4e0e1b1c4bec5c4609170057973298f51c4b3b43d3eb20a2f23c7a2b3508d36e09aa5d7205275556ed016d6b3c381e1f9a00fdfe19dfeb2d82b610de2de804896b581a728aa3674f74d6b3bacf75a32feab193372ea0479e9dbf34b48108d6cce6c65f72a2e7e833115e9d28c6f9bca3e7d84470b7b25d55c9878664679fc8b5ce4ac37248f6bcb60856c8f59261a0e51f930d770bdafb98daeed8b345c64170f98d9d7219ed7d3a2527deef6b9691021fc9681e0423a7e7a5dc89658114d41dea2f4772f9a2a37f0f8452380d5c0e629f35d39018029067e33753617874bdb864050d35ef4c50a225bef67a96e2e597d7f41e0a4c8fdfaae380d287ae95cc911fdc7972c703351b5a131fa37ae3673dd26e4c22da23dede8568faf546546c7dc1c4c5716ac94aee8d5311733d086e398e8595bf7ecbf95a757726a2a2a9540abb9ccc726bc59e0760099478c6ff2120ffb73a75daf1f9bd7d4b76d0f312c0dd46a7b11147974ed305772628b6953b2daf93356a72c6fcadb8abf48a0140b177d4bf102da20a041b5f95defd7c46ad7e3c6168b46aced8974d615f5f739235cf240819726dedf720a869870123ec71080c5b2bbfc75211a7b155b3eb9f34a181fbfdfa4b880480345d6e905a7c728b103f6be05ee50ddb01772518758389f94f70df8b7265ccd8441aadaa4a5f3c104f7c6a1fac533e8ed1415b80c6c66bdaace11f9a725d17d82ae10e2b30cfa91095a85660242e44e6fdcca5af47f3e4e06906ca8f30e81bf0ec37a454e55acddca34e6dbfdc334608e6ae4459140d26525dd051763bdc065a6608baec8cf244ff9162f40d598460c1ca2c0eae49457c4fc6da1c1b720a9abb016ff625f570305bdbfd0fd14fa703d0e7aa60288012018bcb78ef6872b4a2686c0dfe11d854a44d10728696ba45d33f6d383328d63a86d8822470827248a2a3c927ab762195f76ed2e7f48ea5f8e19601e039cbda7ccfb7e2aedee12098635e6731e1a4f48c6ec0a0ccc60728a9b8226b5e5dd138215076fdcb6c8a003e1086888fe903607d22af1dfe204b325be1c920842fb8c703ce58a21f116372d0ca2d2e9a5570832bd7e24358c4ee76bae425ef3a94b180838e445d53d9ef2555dd1fffd1eef37ebcc8b630b5f0944b3e0d19c077b3e17d88276ad2ffc4db72d06449e05837e65ccdb1b1b9c264256b182ff40b7b8b055973adff2dcf8dc872a06c713b4108dd16bfc68003a599b50f3eb949a6f0d1fc0f1bc06ce66a484272741dc284ff857f8241893ecbbb1bb7c771211ccc7cae9149575b6c3323509c72a9c95933cc694ca1c7a7f225ee0643794cbc25c6e63d9daae7e2948d523af2722942f1b194070154f975473775d9fb4c543ed547944e1fb396e4d62b8d1c2972483897aede68a8db6b56adea89b730a10a82936a0395ca2e47ffa4c85e14660b2409219f9a17b5d53baa7fe733159b1cd95113fe7090d52961521dfcba68df72031df191959a4ab41a6b51b237f37b2836db6a7980dba2bfe8fd5b60f54b1e72b51a011c75c375f2b99c9f2947a91613d8bcdbf4a23de5d0f5896124c4ef7e35a046db5bd91300755120d6f5b482ba669fc0ab27b5f432aef8d0c0c71e986a729ea0146d2bd29074342e71cac841d899175981e50e3ffe7d7c9134c93a9e01261067c54afbf5e7db5cefb865a67bad1377082c6993713fb5878dc0f0c566420e6295651b8ff7a348aa1911ff0d4ecd0269ceefe95f23ff32ba6a1dfd9ebf1a722e5a5cf33329318b246f4978a3dc58802c8dcee6861b91a038f84502e5009f410596279b356d0cff98459509dcf7cb3ccc1e9ff75a772e7929115e0a31438772a7ace703160ba3f03cedced49d6ab381a9ed8764ec502c8e771c8ebcbc5a2972827bd49626e732c97a7e8f05a2b7ac0082a96ad11252262753b89b9874878f72f9f6e66b01799511e470b98a500b394908df737f28f3fd93278f0941be8e6f31d1e5334c845b038d5eba3d88c13b29bc408e38aa16c5682184cdc805e43c8a416937318b7c39e52c57cab67aef6b25790c2c0f78197e7e2098a5c1c1f6627a58be19dbc55a3827f01212fe9d17f17629741905b7ecf931db77daf194dec0f97208fe2b5a9cdacd458cd7a8445d8d99267d6f4adbca2ffd5f0310d1e4db90c06761aac2794f9174b11815ab75735ee4034a6e923eb4573d44ec9eba944096fb2e451b906e4a8c6197b7a181ee3e819ba64ce79071439b0ec42059a01ee561c65a3c6d4f465c7b22d3e0c2ecaf13c74d308964e0874e93d0a9d72be5b63bf017724abcc07a0b37be0f3f693cf16046e001711bdb846d7a6ef7c1d1d3e5dfc560413f9f59894cf2de3774087be2ec30acb8d270f7f1ee9470686a04678b8721bb72a2f69f47962dff913c8e78155d85164d50450498d7e746acf2236888be818708de14b68db0cfb899ae85413f7190d2d152348d833ee3a93370ada899e9cfba1016289d89057d15ff8216a973afbf76cbe815f75c63dc177b2fe6cb9cde6097296f58ed67aa8879bd340c2a88ddbf046bbb7bc225902a68c3a8bb31bcbc718872b61e30e5205c80c66578af782d8d1e18c595ca0e85b8d3bf1bb69fbb47d50a72ac02fb42ba1c710cd174ae1d965e33d15547c2c341bbd0eca71aa863d9caf0722338965026c80b31040d4a1cf3accb98125ef3ab30eb808d1969d7afb1a9cd72400bec3a7fd37e81832b4bea66a219920280eeab09b0be361e0f3d3e17a18b36c73d9462dfe6beb8945ef32d992a89fac6f875698c0989d796229a0cfc0806673b176dc3135fb693639e05f39530d22ba351fb6e8160c1963a3b01e4fd511c72cf5950da5f9191fb99716d4eee74289a7caad31e0ae8629a2e797577f40f4f722cafc853beb7bda7c730828e9611ac42bd4a020ab8bed2404067d2925fa2e63cb4d19cdad00995b2cb42ed9f199a82720adb224762cde2056f219a381e5515721e3c4d3cdaf038df43eb6f3ba6c5294f53b40be4a25697b458adc5f166a5847238ce91ae8ccbbdd726a5cfa36402bc3706d73e3701ff879bbc9d0ec42bfdd81d1967c6437f8d9d0df46e26827184716a920e932a692cabc227b9c6aee5f34711576293435d24db3f209083890fa946fec56c68d5a19cc084e283d72a506fb002f0e9a1afa7e06a1bf2efc6f2de475aab23e179bb01695ed0a680d9ca47a26a72cc848f1471b11cb127384467c50a4b4bfe4f52d4b0f81b1b5472310ffc8697722a281ffbdf852f27a679387eee343fbf786a35c14909317696aa48381f38297273072b64b8128372c426caade68da4e8e25380bac40dec8fe060b426cc15754ace65aefca019a1011f4a21baad0ebbc5bbeac510a4a796f9712c5c2cb14b3972d2b45b54b4ba5f39bcaa803a3a4fc90a4c6afbe77711652af5c833cf3101ee2f61dbfbc887a9da2826ef5595e5ea77fa51f2c9b11cbecbe22b9d6eb11178872bbcd80013df88388d96704209100982d8a12ced14169ff2ae184a42cde76d63724b4a1487b62dce0a3fc079e31bf0feb689b10c53702f6fab7b82857dd8c32172dcce749d07f3722cbc89882a8606ea9b5f37619ada71a0fb5f91e7d8969e96723faa4baa857bda8b9be04b5f135499227476cfc63c4f93573b42b6caf4168b72493f1b4cc37d09c5028ba62e58a40ff0cdff39769508f22486c4976b15b269590724b4a00c4939c61cad9f0da508202a04a587328b52729b737d2bd963967a481738dce6bcef80dcdefc3465083a93e955061fb3ee6d1594ef53fa3a2b620f7201ea513bc46a7d9fe1485638101af6463bd74cce1ea87b1324c2dc5a1dca0c6ed86f4ad0bb2b2ddb95343947c3ec5eac97886995bb4db71f694f22fab95f253948dc1ea2fc2e77c0950b5543009022a901033a48b32f0c3520dc4dd6e41a117253018fe1f464e8e668cdc3871a8e9601e28fb7c089121aeac57766d945fdda0e9c60dbf078b76ea39635f0b5e648b61de86068d18f87a87ec13cbc4758b2e072bb35fc44aa196627ecb22f8144299c2675aff58da7eef00beecb8e2b0f404c6d6f5757ea93f63740010c34eded08222f690864f1adc5ee31c016abb1b7732d72df9658357f0314ca4b7935a66e2b55869223a8a4355f5c018e371b90c8fe7f70384bd26bf8985a13546c8519e1fd1b30456e9a5379cbbf5e96917ea6121d4d3d4a15da8d34a12cbcbea392ed41368954fab86ef4c0d143114a5c1f845ae77b727a68fcefae07999454bc46c841efaa4eb7f62b08fdc0182e46ffe3705f17cf72844ef8bc282a38f872e373e1c3a811da06f47618bc04bae48da7d38c4874bb72e8a40b9e6da59bb57927a20bca54819f55334dff0d0e1b0986668c65b5ad0b0172a301c2b7c331648ff466fb85fc061f39c10857ebb6a3f8da9bb84213f11972bb7fe58cc53c124258508f3ed72cd8bab3f68c3ca59b7f0389d0ed4c2a8fa7722c15d2f9fd5423a214aa3cca6eaba0b2acbe520cb4b3812a62c4f18406d96572683ff0fb2b2e8827b1fc17f407a1a25672194fa0a38f5d5b8f746ebe66b61615a2e160a9f0b4906e542dc9f0b2e578e42fbac241bef646edd806e024b24da12b5b2060aa0a6b7fac08ca1dbef94dd2d5559e48b62384afcdd781871cb76243721372041b667c81793e03b40f255d8aa97a513635e2e166662503ef96a3e954372982eb8b3e52f12dca142c489de1fe9c24f644a61ae34c60e5235aa3f89f7e72baaa6bf930d5bea357b44ae4093e2ab32fecafc69bc0979c5d16b102ec6ddf7242bcb90e97987a9f4f9a7056d103edc1c209f2307a40fcf8648edcdca547b10266ca50ba1f82fc1545711dc8147016437d752b26b9e1206c5ae917bbbcbfd87270dff14b1853658deedf3e8ec6cef278095a827be2cdb08499700d6c478183725069b5f77b95f3fe9f33c90ced3ddaf2d3bc7f0349134dafe66cb5b2be37d872de2c49ddcde37a36024577aa2c7b70a959e7ca09da307b7ab5bf70a862e106724c58deafe0ed4eb0200875d90d295b58c0467c11a45c8e6cbc107daa93f63d72bc18eedcdc75632295f77d60f96ed6b25f643aa3a1bc674b63b36c1f98a796722799e514d1b8a13f290bfcc3b2b5ab24405d2958127682da0923c0c4f04384729f460f03b881ef264dcedaa38d1ae2cd24a227dd0e5b796de17c54e33f7d0f358d95bd8a10fdc586bc6b91089d654da700eb4998f14e1efeaebdf647a44c88465b358b863ed9c414f1b7ccb3bbd6f02f0c5abe89be3d3b3ca1808c44707fbf7279baa00fe2dc574b268b675e23040e74356a6377297158266622e1e71918ac72f6499226018b2972d6a78bd3e57364bc2c6184d0566ce2dddfb57fafc2405b722c4e19db2b28a36f871642054cbd63169d4843b782aa2c9a62c0c6ad28629d721456cc38939f5185f4aae952d77c4cf5bda9ead02a77c2af1b9bdd22d6ab09071ef54d864d6a5a15e348e1df409393573f0203947626bec5efd460972aed796fbf5a6d7a1fde1377842c2a43e9462a3d27643eaa23267345e883f528fbc1d972abd653adcf95f0826d53b477b487073df9819c4882ba537e5b224d7ce903eb0b8809e527aac787769857bd05e48cd2ca4423249fd48aec89733cb551846f3b7265d69418875ee8060286458e0cec894dd925f56e85022f365b1bd85f2d045d72f82a9577f54e3458fb60ced7eb99186a5fd70258de05471b86cddac6265ab57297c0dd420325f53669fd4d2a890e2f57f5f8f26b905d863858bb0aee7ffdbf72d295ce700bef3639a562b9c842af4090f888d787caa8ab0d38e7a15e94465a6f2d31aaff1c3e95777851fb6b5f8762d895c2427c7a5891a8516e1eae1c5917720c02a1e9ebde6c2a03a3009c02db2c890de663df270dea61790f92898ec89672f8726847d43b2c9deae88431a3962a0e45c15e7d94950baeef11ee8683b69572a620df6543a488685d2ed1959c1d94d3ddf6c79b31540a7de7d161cea99b5172261d4bdaf212bb56101f0ba60db378c4f59bf883cfcb0d50df73a234a3371772efd31f100ed2f31497523b6c5854d73e7d4f4e2aebe8585ecdd5c77b3a1d3372458874a5ac22a74753e9181f0846d05019b21a604bf38d000a6322487c00f0721f595ea37c2a9af651b564ff47a85beeb2e6446a43f582ce600c53204758d6560d32abadb388f7a178a13cdb9c9bf882662b0020f09383e9834b412a1555c525cca01c33824bd0e37a455cd2b0a51f40f044555fcef9349c1c348c02f1c5d37238b9dd23a9cd5fbda0b9e298eedca255a54d97e6cd463d2faf7c1c035b377702754e0504adc7c3ef228b4b0f5f88c2449137ff408e9bd6b89ac25cf7a07137727220df0b2eaebdc58b20c83233f97517e955a59cc283e7608d988d2f95c4b3729ebe6f19dcf4dbc93a7649e11b37eb23230372cae2129166731ef647af739469fc1fe1a86430640faa95836d853a30aab5773c2e26bca8d2787940ab125bf87256c2640eb4196125d9a4ac217f449ca67bb70937f089d74ceb560a9ab4adc5723db474a7e534f1efc232cb77051ea9da8c70a6722c70fc348336cf2b5201e34fc8b9b2d297d06c60b6953c5e255f6c0301605b1165988d22161ddf500f142a723fcae622dc28da981d6b01aaa2de736b62c72a2a8812caeec444964278ea416c59c720e7eaa03e1ea73281918bd6b4cd843adb19b8bce34d1697d8d881b20c10bbd7c68a0771da31164b8a614c1b2f27c02099c8a5f39e28dac4f619cadc4d724df36793a913d058d37382eb6228a113704bcc1d25cd09721c5d3ab9b26cb94a79bfe43d867a7d21cf122297999c0b1e75e7c8ba3109b5e5c8b49dbb69c03a72d0846f48c01453c0d52c42a939f778fb163c721db700f34a25cf8fe46e65bf7209399e9ac5e436982b056d8b000028e9687988f0907fde292dff6c86872e532a02fc47144249f057de5dfdd35859553f13a90789b60c3448799f95efe982f76ad007889f3b667593f286e3c292c740e7f7e703e64ba0501028eb099ed9440972cfc4d426f1bded17b63c4039fe1e2b2cd04e0250b483cffd7d0ba20c4573977264370967b753b544d7c6a21625121ae0acd9c8e2ad6c84038bfe0d20ab836b3c63ef73a488531540c7e8e6e8e1afc39c4e35f936abdf492ae070b56888f695728120dd8870ecd1a9588e09f7ecbf8d23e491cfd7e321d9fe93eaa7a38d020237833681359b33cb234b98143a86257e31771edf916722872927d43e4b8e6e221199941d93d7b17bddd228a232920b0f96f3b637f003d15f663484325fa7c5cb72646ac9e020fe0f0e7b86160015989bb04f5c49efbaa1cf25497d945b88196b53563320727b4ef2907f6d4c9c3a10c9fac7f3161a11d18285b2dcd6c731f2da276c624051437c9dfef8392226de3da45939c618f36efc998e44b71cd32342fb6b146e1c10ace691158c205e63977814252f0f0566b12faca600e8b78583b4ec720c915124da0ab507523261b03177f69753616dad0da3888e66bb1d7ce337fc0bf5c32b8d4c80f64b153d086feeb01abc8741749ed1ff03907df42f0bd5ba4c72b35008ece0ad896bdacfbd4a99525903a39bd20371dc099934a06729d95e2172d84d265c44bb57047cc9f9c185040f61c875f90bf39143aedf3a6f930b1a5329e8b2e10c90decdc55d4c10361da996cfa72bebc5f8d9baf4c5951fcb419066722eeabbf8aa0c6d1aa1eec261fd2f9c54a213685b2a896120aa0620184ca7ee72b257c7c8d9feb89b12d97ab849ea9bcf9619a6055e9bc6ebb33f42036de29e4d5caf2af2e41cad59db452791f6647f16f9e2f21398834cc5be33b92ecb60110fa85af139c3ef6a6a640b4863bd0452129a2dc271a8e017cf4a879ad902186e72327542ea05ba0efedcb8df917f78cea06517583780eac24cf8b9a978b2e5b772b0cf87d0cf811bc7a9e224ad10b04ce037589e41c31ab6c9454c3a292d9a0a72a43de3c961251bf3b89243526a387412e4639de9fdba57e4355c3944b01c7a726c603ba035fb19d7e5cfa6e36b88499908976c549e923a11367018cf7642fd224dba7d786e7d6eae79ddf55f0d2ad5fe4e89e6f188dfe7116b311f278c146072d1294f5cb3a42758db5d7dc1f2a1621db7d445889ec735270ede1b72b281fe723ef10c27bbeaee8da89e94406704cc65d831548af9776b7430ecd0c99101530906f4f2d1ad14f20943cf24e846493a2953c708cc6a25f37a79f8d9b17d945c72c58c399c3c92c923db06ed652b5643ebba6e1309246b12c5413d71e3f0721c72f5b9fa6e6fadb8f8685b46a3ac54818f3934b56063b367203a637b27864e2e72edbd70deb8aa2bc83a83f14e9dabf42a46463337ddfd86bccb75b3e564989772f0bdc3ed48f6789487948db82eb9619bc284427750324196826c33f68440ed724cc2746a765d73b9ff5b14cb4c42136d1d08776b87191ba899693f0cb5dba6720fa1c9d652c06fb58744ad746e026e8f124f88553084bf641269b67cf1ddf772a35d0331fde1707be395563c701e4ef6dc491b7f94732f9007b32f21cdba83721a2ad19b19cd3d279226d5a47d2184a6ba4fd30caa7a70eaf2b0efb654b4e756fe200608920900e275e42be77670c86b1d8b6dedaaf096eeaef749aa5aabd372964410809247619868a164df5b0d5f422a83e09dac1e3b608431ff82552d8c72c547a1ed2a6a18ed194b389011f3b9e0c8c853d950906d3e2f1e0ec998064c72b31bc2dd0ac7628bddd8c089c15ed6ce9424b229a069bc971ec3a9392aaa6b0633efeccd959ae322a96d28758b052ebca9080e5cae0226e793cad04e2ee11b725c65acff3065d4d8ef4f8a5515ba55aac5e07a96c55d1fe03a39ad6c77919772be1a74947af0e5e1dba00f4dac48fde216e5fbdd78db5e37d11107a64b418a72ed7573a11777943e259cc6c5d42d98c5948e8ce3bbe2364a5e9542cc03a2c1688caf192803d2c73955369b97f5b53260d9866761d287692a6c51f8c565e10872183748b0679b6042f92f6b0b255c71bf9ecc7bbff8ebaa43b3990654330d887252ba63585457a849a785dfd4ddfcd1916f9eba560bdaaaf7ecc117fc83b9137223c54c9026371477bcc1d766f5ad2740d1c57ffcd4204bac6045e75cabd66d50c06a483f1a27d688110ff84ae5936dafe0668cd8e3b38d01432b3fde96d8c73af22486ea364e409a24bce173c4b82945bf9bbc81d21fe91df1154b4c1379720fb75bc4c28a8df77f6bc846809e5c192945fb75de0942d470f5a6b1bd7298b304d8f93f740c9a7b04dd8c59ec7217f24ea6fd4cdda10896dd6709f5d3dea1863657bf06b17ce3776e314a98f2bb1b09b0e2d98b5ca3b6bbc5e39593aad6ea53722e0f926c0c5b22e05d80dff9b78670f923b4a1a70329fdfbdb1542f954d42472af9075d3ca64f274e9c822f217b4a668aea0f44ecde717a1c292866024544a7292cec5323f7853ec85f0c5b045c2301871cd60831365572d0d6a66586494a772d8a8ecc6240dd0343613dcc567dcc6ff21f5e23771086d56e1e2315163c89b5dbad41ee7746e927ad690fc5851344d4b5c9184a7d55c2e81a40b06a2ed9227721f66d6dc3d79f2e0b3b0cb40507a6398fac02c01df5a6420c682d040c85c1a48f26ccf0a29c68d9fcc626d30cddd6442bf39057e49701537297769e302fee772f0a57f5edbf6b3a0aafdbd1f1b5fc952054a31b4b7741b3f0127a92b4e1d977244d0de20983c70d6eeb98367eb7fa5b9c18613622d0ebb65e368c884c7ca7972cc732e4b73ae6b3fdeaa84484a0f60bdd6031ff9383c9ebe8dd2e4c7612fae72987812246bf8a3909b443364fe54f3dd93c1ee72d5c402481a07fc33ba8b2b610b564f44eb88b0dc9cf133b7d03753cb93d5a3eac127929a2c31fd0b32097e689b2a7639022329c0481de197397f0ce4a1cbdc5fbb5a54abeebbe9360e198872c8369a26ac0f50846838425267844591079120ccc8e91dd9503bf3252d5832669a80440469501b639bfcbd8cc53422f8802d69ec67ea072485ef3a91feac800ac4e40ae03ff0a50e7be512d076bb4899e88d2bc9468b2e0a2d66733291d0de72da8189204cd5863cbfcc715c4a72a4a9495706a2a1604b3ccdc4a1c37cb6d472feefe7159237c63fd72ff508f12d0aebefac90712ba32fe24142943f780bd02ae98fe9f76a26dc0bf8495d07482c8628bc03067a74a4d4e5a73ed11b2542a7107a3509464211b50baf331b004b8015a13ca40c9784ca8485b1e8f16d994a6d72d625152663535fd6c965fa304d534a4e1dec5b6a61ed19e7bc564ebe2ee5c9105ea430f733ccf7438539f67df04a65a3abfed69753513ce76ec4e83255cfd914dec0251544b40644e1808e84e9362a0589d950e566893cdfdf03e23b494338723deca758772382546a6435bfa43bb6311d34549032e93ab766040d26ef534772ab9c187d0c516db26615f489d64791bbe73f3bf1047b39e53f0838fe4e6d0b0446fe46aa528abf7bb96b49cff13a1620dce0bd41c4667e9d1eaa5f7a3aa22b72fe5e34ec0aeffc7ff496e73b423ca585749ab8d763291f976b5b2b4308604002947b2c8e3d7a4dca3ecf998495da70794e1a0a1142537551dbfa17ed53619c72f7eba740c399635209b22d0632748e78881e8dd4c5f6b4e3b0a28262c9465772003dd79cc4feaebf8c543280ea33c2409110582bbcb26eb04d2b7e683c52394a4852a4df3b9579e49671f52d0bcd2538dc7e8121c67c65d97c6e00f605a2ad72e89777873403330b5a8542e649fa671aac3ec49f982c3fd7a74c4bae5fc35f72c3ce3025abe4784fa9d149ef69907dd29fbe84e78fc800627c70256e293f392e50cc3bcbfe032b59abc80b9784d04f2e32de99d518107e8ea50a643d2cf2005f5797e84fbda3d7813d9c67c12f7c5f9aba6f25e8880c6311b29ba8bb89628b721e346105c8d1fb6fe22322e0a0e4108b5015c8523842bd7879eace0b6f162a1bca409954cce664d8b2ffa4775bdd3534f163df309a7b37a6ec4518f3045e7e2a1c788bf36efb9d035c1cb18fcbbbf11e09ae4ea7fda158a15b24850764bbd109c1a286f5b5fc9595755543a3a0da0ed4b68e20dfb3453872612802e22e552b7233cf944b52e3d8598ddee7f186077a88dbbc16e51745e5b2a8f097e9a3b25c7273437704d11e02ddbb630b8d4f68af2be06f8dab9a7f128af4d49e683dd5450613b1854cfd734884bb71d409ac86f65e74a87f5d8f20576e4f5fbb47158fcb432b0b2010002780da0e6def3b42e823076518850067cc5e85649a02b5d10b1072ed7698ebbed78bc7e111339611c6466bffdb2baca0116a4d4458f6179879e1727287881c1c15c3331dd71971f438c11519f3a86c64fffc9df46b81218c69da3b9abe3e8fc47e9ea8b5fd9ef870ed35d601658fc6c3cffd8523d5e2dee46a404b79b6a9d5e0bc01e7d20e1bc46405b2b80a9d1e71e41e8af5708e28f3efa6e872ae8b852736d9b32dfe1e974065745b9f83e2b391179963c1104ba236c1a17a2eba76d5c483b40a0a4bb431da009cc5d3de190fc9d5562cdab651abca73d26c70eaf1649db334d0e55d7e5f003f316485ebfdaffeb1cc99ebc024a7c3bf9c8c29cacbf6ba03e76976747fb91b208b9bdb2e8b4d9a17d7837f99e1780efdb1444c2b56a5d3a7beea3e6d04919a7a643ffc134e627b2cba7aa66584a90929f73b7262fcea90379d596a5c104929f03770613719497dd16e99d28f8f57c0d6a33d7299455d5985729393b81120cd598b7bfb4b264de41f40b923101260241fc65072cbadf1245c029c22192fade19fe8c40d610ed17a74f440cc502357a1f0be9b722e8a4b997832be1aa7ef0fe2e5277d39c5928e3e9f10e90fedd2b2be2757530ad1784623d160139e8d98822124c9abad021a42fcd3ac66cf130313b3c0446c0a0296271a42588a0200320771ddfe36827109fd7ac4d2b6ae869d1ed81a246849e0772b0bbb67595ca31df9f56ac94d1ba10e51bc35547bd0adfa643ccb2fe52efdd22a3b4b5eef39f1b4404ce7e6ef66b195514d93ed59eab103521416c4237215238acfe6a0becf99f5ed135a5916dc8618a0fb460db8718373d141dc56d663bd6715042eaf8b683d0754f797a6ea90897be18c827d3bf8fdf1833d739cce72cf2d13a4798987e8744e92775eef6753e0b30bd3690c2f030f5647e18063e5722c3f350c719843efadea45bfbc582b93ca6dbe8cf30624895abb2262dc58310960a3e64659edbc9f7fb023a46ef4140ae0fb491cb2e5e75ec541086a93672a6b7c420e7a50dcbc42559461478c1025944a05186d3913e510eefa2d9f99dd9c72019ddf6649e8f26da0cfb50652a1fbf35aea045bd5a4c114c4e1b96f0cebab67875308a249d79c9410998cdf327b24de585111d29507dece30fe84dbbe464e727cb364b5ca2b692cc5523068bfeac12c7ce6c9ef6899d03a61deba1a5f4162500fcf5f70d8c62398a4357b4999cc4136758459fb1c3fc886803926a082c05a7246b15716cf9558674cb4894088204e4379018251701c15a34489b609d0c09b72c460eb43a862c0729883d427c0de51f03b0880224d33b67ec39e0b0939a9de723907eb69380336055122d47d82b366938bf99a29ba15f88b7d624597c8dd54725aff3ac6674f98e2d7271b50f24b656f978f8236de3cfba6fd01f7fb85b5eb1c445afdc7d83d95f8d182ec377c439d6f4d268b1f63a0d9047edcbe9801bb3f7266c75d9688fad175ffc3dd888e92fcc4fe5f27428cffa43e7a002965d68bf672b92798c33c60b7333ac379014c6adbdbc3f01dcad2f335de13ed61917920437295ee3ad5a6fbaa23b4556e0530b0d696980d752e98d4e1660377e07ae76dc372a2845f8cdae92a8331a48ff30b1f9ff396cf742c72bbb2642632f9c440340351cfebf43e16b661fdd5b3225d45d5682c2386fde5212f12c2227323e51f761d722b7266d985835d34e4e4ddc0036cb048228321b1219885decfd06115ad75eb377c355189cd94f4fe80f1fc8e87d30058c37d4881e2c216d60a45ef62e9cc40599d0789310bcaa84d4f40000b576181c47c51dd83de3978ce641f9074c85dea2c54cf2923c1346325f82cb01d20f0280771f0506a62a0e23c1fab0beccd7c2b728b36ddbfe9624414e7692fcf04c13121c2f707bcb50f3175606231101d376772e5fb034f597956f93887cc8ecd6e90463a9460dca41ff51d93b6b8866e9494725e6383c7e9ff3aa883ca81011f89d04f1fdae154e96e6a4973ef54fd7c429a72a0e541825810b0de0dcfb6684e6d2d6255a3396ca6fbc1345426e014d1d04449d92c946af67f3e2a2c4a623f9f9c9e6520a0e8959fd7e2c39456c458d88f9372a0b5c57cd8fc7d6a84550204730d17bedeca504b577cafe8804d303eb83eb4728662cc391efc7fa3000409f9807439bb26523b2c4036a62ef4fdb7b1cd0f937272729f76db97b1d3d58220933ed8ebcd5ddef2b018743fb74fa3348568c69b13f5073ce68d101cf0f661d069365fde46e4a8ddcfd3a3760311a6932f3c166c72ad1133e263479e60fb329aa014673eb059fce71f769540da0a7024735209a172974756cb154f4b706753fcb170cf48c92efcc8f073c835ea4353871252343a6bbf432684c42cc6acbf528293ee2a44d3714b97399271539fe5484da8b106e07211ab7a3ef0bbb649e1fcccfc22854fbd7d858ee9230b01375bdc2e527b7abe12e5907f344a04f42d474820d77fb0f40de2f754e7daca375b41d29144ec6ed44179f20ae6cc3bd682b2e9983d670c7e80aed5fd2324fbefe0d7a39937c2328372cfa2c0e8f051d159479d1e1f1a7d3dc9ed5a22e0d7e90d58f4d53b907591773e6c44d8f9567d84453468f36fe9c1cf9d9fea3d53b2c81210f689fa1a1acc6a4f174044887d829a63a618aa9983f7759f306f56343f8ff974736d669114b7337247b1039ad7d3ccb936f8ac1aa9e1d2aff4f4db130d794cb3e03c32c6834ed2405fce4ba7d1016dfefe0dd06f003f6b267ad016f92c46ba8cd88ad18f56df43724ebf50b7c5363489249942a56cc4bc25e39550047531c12468d98de9a70836553a877d6298a978f69f2825fc73541ac539335e6afc1939ce02cd4851f66e49722b64a3c42c53ccb5e75353f56d4334491e78f1db64fb9addf5ce525edc276972e9aa6c16225cc7555429bac345663dc65e60327d0524f590b5a3e26f598df17285cb86d56cf131bc1c5c87714f64a801a1a91a4c843c7af8d883224ef64e347291b7dd345017d413d15cd6d2cb121075d2e79c922e74e447474c65fa95cf174051d7a6898bb64864df3ed6b30235eb40e4289c3c40467240553cda4017b48472d74a75b68c587bcea890d710d24800570690be76788d599b52e5f65c208ea170f8ee6cfccac6c3a8526b82121eebd0f7da3e470109863fa958461deffdae1372a0b62315fd9a90683958694a4ea3392138d598babaf589c75282fa62115721727e8faaeb848a4ea68893befd42f3e0b22a7f1a10469050f4818c4b265cd13572a8b2960cbd1f04fe3060614e097212950bb43f0f9cf6926c4c5ef36e325edf1bcd4313bf68bafbcf51bfdaeb596f23e29eb95b8f4fc2e00096df756aab09291b9437c294f27ddd64f22d575273472336b8b862144760ef9b2e810bc3ef6f45722bc975f2342b380cb7c0ed96839e059064bcf85c8399167bb5236403594f9d726e63caa1b0cb44f8e3853b48df9c94bb0bad5ba50058d9dd35a43ddda363d4726e244223fb4266dc7dc2eed871fcc4763f3fb771821c0a718278b963e365927231decfd52d51600984de1ec376d24fc38db0fd4eb1b1eec1039c8afc69a69e721b6b02c4234b1fe9349e0cdfc03a00e0280955e9ac43b55fe9fd3739ccff217271f483392ab66f8f331eb4bb278c2fb8973671640689fae32a24a939dcc51172b393d2a281a947bea0c0d735741cc96e79c0861a3bfe78fee40f8569b1ea4b0bbd828582c380b98ef9324c5aea31d65c86e8a43fa0b74e1d29e544ccd8e8997076fe82d9cbd47ba7a5116c4b43bbfddffdb743aa4a7a6723ff6164a2aaddb8729326cd572f248f3ce4c0d806912773619028202cfdf6df3235d3841ccac24e4a450b6216b7658d2511d630386fccf372fe5089629c3defc40f73abe2ba61b772ced131b6eee06a3ff819d1e33adb73c528508678285f4f7c9b238964ca9c2172ff4bd2757e4919b7fe12119092695530b9df4751d4c643956dd4966d393404555b6e4af900c482273260dbb788e2ba4e54ac9ef8850b61c79763c5d4e6239a243ad1306142eada43ef223d72e5069ecd0be6d27886c6f4b640fa06d76eee7771c627aa299e022fb0574932c79d001fc6603b96d569df281095ca7cf5198cda72c70a347907cf0f81ada8730aa9c1ab102c620ce1fe8dec35c2e7c0bf1e8199043eb77bc55df56ec0fc4c711ec94d0cbbef66f58584247fa5f081cf262417c50d91fc29030f531bd8006a70134edfd9d1cd496a29150b6091ec6b48332d69f80085bc4bf2a943f1d51acea2e5ec87297d13c7a8af9e849b271c9741182e5b017231070161a85eb3f2b95ddd292003769021141ecb4aebd792cd5518e9b3f21e72497cbf41d4e40a12585018424a025e795f08d82fbc92be1b01c325f9183e652e77e67b32ed38feac518eb6323105d6af604b75a568e0fb1cf5bde1efc0be8d729ea88e52325514d90d40304073daeb749d7f0856d9483b2312ce309ce050573032017dd71ec96b27b59158a855771f4f80b04f66c6ea5f325a142c1b9ccdde27fb8c848864a2de156d3de19931945ec75018e90c6ecd1713b7da834abbe86072522b8603c7b86f9e9c8cb207927d8e395b67e9800d5b978629cea376ec3d1c72ab40cf24bd21f25dea5e554d8b13c9b7d1c1ff8dc94c67aff600af9f6ec0157298bdfba340ee7abf2b0179fef4a4e5b9a59fe4f21d5b997a4be03c40a08fdd71e4ed1fdc228a2fe8dd1a5bdd91e71ba7d0f64582349133998fa9492683c65372c8bea7df819d1bb7ff5ddaca72d1eb908c4928865c9ea268c77f880f17189372eeb7fcd25bc07117c8aaff68d3586ef116c8a0127f91257010c05dad5a17c1722ac2d8679c703d0c395b207d26c37f79e3bdac9487425822b7348b4d2755c61536b641c6ee943632c908082dec9025d2cd7da5cee5f75100859cf4631512c36c08314482726a6cc7b69d24cda9293640855bc766ac8ebdedd8a618afae913f72b25fc1843efba984d03193dd7e40cafbcfab6390f7ed5abe9dd7b75341a32a72ab21c1ee3b66a6465cd5d1e17732ddaaadd0c1ef2d41aeddcf8d0119f314e972e33e40187bedcb30f20d025811daa06d6b3067843e9ebdcc3be0a8bcc74a183dbc338425d8b1b77af16678d569bca598ffdf5673cdd546d907346ef997749c7232511774f2af121d58300c102f858bc2c9b2af0a50137693379b0214320c47728e631483e480dc4ad179e2e76063aed3a30be9d782d2b9d79cccfa31a7a3f4720eba3ca17aae183456c9187fb8a734bfd8a0f5551eaff0d5f9895dbb754028729c99cfcd56050fd5221dc12e2477c9f7f99e3439ad4ccab0dac48f116b2763727d56f34e34858a193dc6cdcea59043046863903a0d0ba870e7507c9a3869b672d6f7f050aa77ab92339213e37714e7b0d53cdefec3e62b22687ca0a55ded4372afe5d0980600a86a9d728285153bd21ca9957d7520bc77f76a227dd535ae4f11cd1331c1cfb8ed0019fab18e2356ae06a76d95a9d98661dbb3b1b089fed1370d226c543c15949f4b4d0875a4009ea82a45c12530ad7a23ab7cc41de617e63a722157912e34ea28fe9e8b3821fe2b8d4a6170acbf46392197d09a125def9003724630a0f728f13a71b036daf98440041d4666730849e88ed5d8aca16ff7972a72dd419773828c21593b9db94bcd0b25f7a9956a485005ff218831530275c9042e2ad105b2fdfbaa9aed4d8ec064f4ea7e8e1399c0f06710e04cda3e7e8ead44726edbd4187b261fc10317770bb4deac7094e59b4dc41054aac7deabe8ba34c072bd13d62c0e5a20e0cd15d2203b023d0bd6c8f70dd463f224c3307287cf41855f62bce29cb0cde628bb7b06e50aa5b6ba8bcbc28b3faecf51aa0be752cf446053cf9d46c900243cee84d4ac794c484bdf439e379c3131199d3f0179097c9124723208c733dc751e022bee6598c3a5f3d9735d7b2e4bd31c5a75a6a93781239b721e3c2aa0c399a6ca0829d1182d44db4d7761ef4e8675f282b7110e90c45c1e72f8f8d4911ad368c92fe86bd780dfc5a424e3bd1df6c9606af3ce1b468d86994a843f1b9f84a539b3e75531e94da35ececa598ef7f969d240ff263b38c5bf0d72de95beae02c5c8a4c6662c7c879dcaae867c603157cd2f243b579d1c1abe7a72228644b77e5854c457d99671bab9b2b9c41c0a9431f63b8cbc966056523c83723594123344cc22407f08fbd2b6a91ce7e6c6e212205992985fca298b1da6786c8ba9e9bbd971f75144eba54e2b5e11a6c5cbd9b1ae3084ae62a8a2e7742f8c2053b885679ef9614e795835dd181bda51a7916daf82c476f5740f130ffea3d57268d26e46f3e212ef7aa17513bf7840aa55c72e0959dc840649380829df59302fea2d5b87bab3ceb47affd0b8e71acf27c55bfccc2245ad36ed122c688ff40d047eb9ae9e37a2af091abf2f4edffc61742164e5f4b9f8a8f481f1846be83df4556700d77c7b0dca4e775187479041a4b0933ecbc9fc62e46b73b27f00960ea51b81b1b414d0b25e77d554ba29e52afd95ce867ece76c653530fd32b2828a2ff72ec8943b4f3d1eb3fb59d0419364b0e37de25d0e7a0b6876f7556dd01b09545726f2dc3682585e115c38ea5466fb3b888aaa4dc46355f8823d5b87ec348eb78725c1f640266ad0535cee892ced2ebd0bd9c4183039564eec7107d93ef48e00072a3a10d558ab9ea792a9acdce313894064b9a0ffcd3da7f34e8820e6b6fb2742981264663852eff5e054546c3457e97e2fb95638b3f92d2d32fbb62adae9a33114b901816dfc7d7664692de37acf8b5243838bf344de0432790ad25fc57e886187feb794d102701f943a335d0a5dcd339f92ccc6aef7fa888a287a161fa61a172fcf0ce4488615555151901066eb5c33b8612893a4f9e4f5e101230511dbfd37284fb52801cfad16c5cd5a1a03846e061d2441808519934af07889dfee3fd184cbc1346a84efb7df4cd9f8edc076b0a9d8e722fdaa9eb0d446510d2d5ceb9ad5383baa4ffedca14f153275532b2a2e9859ec48f66e49fd27943c0db45c764ab727e8c7fbd7edd09c26432939b6c899f41d7137aabe3345b8069759a6b9301a93ec2f2c938934188952101e284aee30962f0b8fc277836bd89a8d223594f1cea729167c28601ad63251b7156b2a8b7e0f1ee8b5fedfaf19c247a9d73febd751e245ab0e17536f1b673494113b1885405288a2e1b9a7a03f2e47bcb1cb8648615724d08fe7479a6d5ea33d797cfe80a5fe070e7bc499fe3064d3e5ef3759f7cf12f0031bb30cfccf4c097818458b1757abd859e1c0c2747798b6ea160abdab45a0d43215b7584fb8750845a69227021437be1a16f467c1ee5385bc0fcbc63fe351de0d1ed691fafe88e7e4f86fc3531f63df103e91a79ac3920b9fae166421ebf72a1f588b7c1504f873a99cb19c603216ce307dd7173a61dac8d019dc372e6501a48e52e03f19afdfa4a47f56ba38f8f5166f3becb0c27014118495c0e29c99c72b7185c4a3f23744dac3f85b3974dd01480a566deb7486a7ee1a2bc719c290b72efcd9475502960099ea305948c5cf84ee89055504b398b5b860ee00cd28e91638fbcba3f6de48210c2a3f1333360a2d497254202785442b4b80d6322a9330b72e8abd216b034bd71132bca62e4ef9b5b858e2d21d9cffed5075194c7089646729593690b82be632aeb3e7727b902bb34fb31721fe87c72957ce9b06f0fd99500a6cfe1a3bce3c8203ed92ec2486de3035f05d9b94ee422c009848db253add972214d8499363c33d311fad0e21d4bd7d3753a0a3c466246d2ab88e07556395e0840856fe7a5454859ae8db1404f4da75f48e9b7df43e937c37683425a0397614140620be6af69c0f3519e49f2517e0bf383693072fce7f698f3e2c4d5d0adba72fc26820769e7d7a26b4c9aae793f5d162ff832db2477c64164fd40486db10b7212959663265c184ac1a59e338383e33bf26f3c8ba45e9a706b39c8c32c92ff38791b43a38f76188fc313d6e4561ab9eabc387c58cc16611c173bf76a5774dd2977564f4acf1fdb38731e4dfdc51f7c9b7ad04602bd34a39a7abd821133f4f172df9dc91f93b44b47633e2d99849122063237de5d665436e58da2f2ce8740e92011f5f29c60d4a94f27fe11f055e20f00b3a3a3e4385e785d5cd403dbcc13f40dbbee0c109d2b7998cb06869a1fe9290285a8fc041413b013b8340e3936579c6e2efd52c938579829d75097031b10f4dd3ad2f5e607b0d21a1b3f935832564772c048a8311f21c7e2dc3c6e101728e0ba5f1fb17c5f5934a368dc56bf6625c5314ebf7b649ed3fff782991f220a0c0e9c1b064ab684e8e52e57d360f9c1da1a72379a3948ebef833d071b669317fad7c4f0bfba3f0698d21eb3ccd0fc958bd457f2e76ee2a1f9d0da2bce4c809ad6562ca0e0a46db498dd5cf41afd42d92d04721773dc560dbab4eea80d5ca68c39f9b25ff13d956a6397a8f18b1371fee8ce2ba92cdaa67557ee71a1a8b4054a45f4433e615c134b50fd337d274e741664c63902a31243d1d6d398b19c17ad137e0c434dfcc4423bc42bed1cd0761226fdeb7214c0027a74b43f7612e07b5501c9fd01819873780c4b13d6cc4aa305930722721a33cbf05f02f7996a235ffa1c8e7062647e8e2690afb990cf8d646f6c34f63ce837bec4f6e1e12c70e50aae5f0c4e6aaa594d377e8812b0484de399df22711657b17c624897e747594db00b975c71f28890ee266acb1c10644ae2d4b9a7c072a16d6441f35aa0d71b8f6dd9f225cb139ae2b0be06354caccb84d9a29717d07249e3153e6f8995fc60c30dbd3a87c94eb8db92d1d87affba86f61f91c628b17203387508c6e8a6dd74f1bc37ab06d602a8549b648e523c1af963efbfb0564341e497d903b71f046ab37a418b18ce5a645fc8ac305c653f1abb82d86c679ceb725dd16a99f6c64074b6783b5e8b272d345e5bdde4bfd16fb9a7ce7eff4f1b757224a2cc8c96f01746e5d3350891068b0d1307832002a51f45c9df2145291232570a4438ddd7601bd769dd9e20db5b658dcde2ea995e6e7d456b0806fc66b6185f09a84df67787adb0747ea058fa00324e3e7e72e3316031600025ed1d8af3f072926554ab9060b4204b46f65b6adc4302b7b3e3b2fa1343195d1c7f99c4314e368644c3ef4d4228e55d104825c2280d708adc76e3d83657e8a44fd9cd257a2f72154b2bc3813647ed3e0adb528fffb340caa79b9c59ed3ab4ca94602592fc17726fddac155c3a75fbc72f7814c8f01422ed965fe3c09108239d1eab28ad3e756d7469824f7b000a613d1866ceb55cc76203939163bf67134e99474bbd97861472ad2589b3cb7d9232cd84442dcb115b84e29c65e491359a30313965f4cee3da6ead658af305f973b2eaec273ae128db320ef0e984e81931f9b0a669c92d4c0d3bd4c4e6d8403eec252b632724fa7bbe7815544b969469e066dcb4dbd1de2fa45e50b10a8e5d3c9799fab96fcd486875886ba83164ff16070087c6840c6399d65eb7a3a357e37234a181f8456d008c92f4196b73c79d9d8e39a0b5a3922c9e4606fe4aa78245b981982794c5e8921400238f9761ab969340435104b35ccae79a6a624d0f677149d9d6c6e6be9812fca2a22402e39f25bf997ea7afb45bc77cb3720eb263899de9eca8958c3a5f604b0f810950e0f73f96b1994f78fd6d0e8b720896d184e64e1459906321c662a16320720ba8d416735c97decbbadae3d58183726633ce0ab46a036bbe58e1d5fecd2aabf92c1124f880e3a7be329d76e67cd47260f4ad62fc5e84e0edb87c86c9611f5d60efc15d3a398e9c342fd606d55b350215f387d62e4ab0d45910bf713752d5061ad4c91c4a46643c63e217ea74b5df385452a31ea34ee4fa8a64d416fb5377e1cc4b4be3b1fa65fc772f96c628380a72783f4f61c3a70cf03ae6ac91ab3506623edecefb3656d923ad89e7e3d658d83d03340b0a6a8a8b09ec043acbe0678fc4b75ee296b5a1c34d7740b1534c4b7572f6e6a70c8568dbf257e3a22ea105a823d736edac2404cb76c7e401b42fd2aa724d7625c40c985501a3102fdff28673b2ca138e251f778546bb5e552e3bbcce36a448120e0a2be2f77063110c6ac407c3fa5a9adda7199b12faad265f5017aa3d80a82d73abe78b5c61955a0418cb4893b838681ed2d8c187865477e67cc5b7425b3db09b4206e0b0f06f0c08924169632959e013c70104740e23a0ade93a2472dca5392292ba470d9de9e834ccf23c1df41daaee31e21bcacbcaaf3c19ac66441add940373f385f14cb64b0b82f8a37a22f3841187ed3e0d92bfbe6c64111b7251265e088a3d9cc2d969a8809c90843a843932ef9be8bbe1525d6a4e2daca817694107767a83958578631794a671c46d6e458fa2b05ceec88233ca477ac39272bbc7e908379d6d299f71bf0e6f2bb4003ef823330275ad0b37d27eb8e1d4d872b0b4e032c0748516dd924ca465975fd3f82741804314cf779e22f8a9e1d41b3e06f1f59be244be65865f39cd45148f764ed7ecdc6270246bd3db9ce73668f91f0fe0d5e30730beb01c58641c58abc6aebb1a8c2e26a89adc8ac3788260708334eb2bfc348a4e01aaf239dd4271ea0214e6fe1b8b7967f6ac103985cc2f3c9f72863d1e0b2da38b53f4d4cd8c533321c2b0cd6cafeba7216c57d09ae312f1ed72cc773104f79bdeff274610bdea9e4123f90d5ce5bee40315f0fab3f5cee3ba72744088adfb5a94964d4ea4a70bbd029d706e2e616ae441e7ba4a858fb12e0872faf30efd6da4cbecd49b2549f6b7a0586b6b903db7ff6b06dd5e0280eb03ae7219dee35c5374f591bbe9e0866e78f53933df15988fd2693c1f0cb9606fff54720e582d766a7f5ec4e62d01afef6a3bd07724412d939687759fadcb681f069b35e6400e221986714a074a5ee815a7a637ae44627ad5c83754b510a1f9fa185572c1dc37f7dc01a1bbe95ba99454518ee1bd2f63df7d5833cefd52335c8994727274da3f2ddd21398420cc2a5d4e57a6102bd86249f5f2fef6a66b732d389f1172a25aec6da4457d79cd66a42a36ceee1fb550442cc2f22cb631404d71fc039162ba028164d14c8f1fcfa84e5813fe09f15692c722d559339619a0c996efda650671428af553d9198732018cc8902c2ee9a4e093174b150f2345e555b906553b70237c9c0fb566f022f190d0f626851f432ac399d617cde9ae7d00286f86d61a7238eca3c6d282ab0258d75515b0f6592054084a2c076863d5800e740d1dfe7d2f008fc1d883ce48fe1561ff2b3c00ad5ba33f2a979101ab8278b357c88ae1377210870b0a727decbd84019f7ea7a28ff82235e9f506da35797a249333a24e412f397aaa1e9d58e142dc621dbe396e8ac938a6ef80ddb1e6f31ce0497bf689601957ef49aec9481343bbaedb8e919488242365ceb9c6d0d15384e2497c08173f1dddeef555e86ae7c06383a94fe3b46c04003c89e6b72316cbc62f05ed79e82b7283f9cc7e008497f6948e18ad7e258073921acbbd7c6ffb387c4736091855064c884424703068152b0ef4bc0cb3ce936d9de7dece455341d99b084b2bf1f0b472e12b33fd5cd5ea80e5ef4f82b31a340753c3b0abe238bc07d71790249b0ee47240133406ffbe38c4f26fb7ccd2b729230918ba6356df628cbef429e1eba1914cb5a2a6feb964b704c7dcd3b82d059e311fcd19f5b929ca0c0428599e6ab9df72b003ccb7aa0cb7470576eac6131eaf49df89e5738d00069fce98844e5605947232ad5b48d33f19968cf6b001178ac270fe0a94a14d864bc16704e5eb2a1577722e58364c7ec68c42c2d5f8baccc22ec7c1f60f9f18b33dcb0fe47e4328834772bd1a86d3c357152fc0693deb8ddf931aef13c0f327abbac531816555265b6a535da51d57a157784b359425fee152634128c76d38613a808afd0adb7becc7184cc961d17a42a15404132a09b6593517eab9ee18a6d5a6551b2ba13ffd31a82972b46a4b5765137e15145ba7d77d848360cf08a2c1daa5bd2f9191bb2a1c5ff47257f650f5d47d82f471d4bc490ee994b1c6fda364a0e9a00287efeb16d21bf8162d8aa5ab14236c979b3b45412c64e33d156bc6d9a8deaa58247441575314c872b49cadd248c7a20b02cbd59001e376c47e596c332e084bb42efb940385e32b512d06b5b0e730f925afab6d4c8d56b7b82a85d79fb7f86c977ec7963fc31ff622460d86f1debba435bacefc80f56cbc2add6a6ea5711c6690430e171e8ba1747271b5307b0062c2ea717d9ce652fd494691a251b59949ce45202a8aa1244a1372eee9d3546827cd6e9664824a12bb6e2d65d9ab2a31c79fda3938e071938f12729a127089c8c6eb00ddf2fb74715a2d459ec487eb057b0cf82cf3c96e19eda6724b72a77a285d182f54850f6fbf80b52c8300c1afce67afe5aee8e232c053c672bdd3905dcfc6f6f2a83b89d00d13a2176df56e82c47db2edb85fa030eb52485e3994edd9c0fe2a2b43b01877c6b2fa3d2ad130491a7259b9dd6342d64d8e9a72aa0475c7e25b1444bc7078e11fd60eee900f3cae0cdc43ca25cc6fca1cf12672c941e53eea58096da1757faad787ddd7ce17fa89e84359eef295e283808f8f2aebc20c25c6f31180291d0cbe53051fe31aea7e856b9577cb292e5ff516600b42d801834fce2522f26a0fccaf445febe363a9236c5ace3bd31bc2784b0236c04a0aaa14dd2f68a4ef531f71c1116c6d25430be3a3c60183eaeffee2324cf34537b765085229a2dc1ca56773c82d3551ab7d9d6ed5a6c8df84cbecd325bcc6ea7295e2e58f8e207e4075cf5cdc42d8efd26d8a3801c4e2caa4df5798af62547f3e1d1cf9af9449dc26c66c077743915dd53f6a4c23574b4d0626ad363f3e942c0db42492a56f9a46563b61b6c2e4db25941fac3428719c9965df28ec2d7d8b64720581627a956f31516ed3846e05c4d0185e361211b9dd2876ca648132a86c997261f395493dc06f7b2f3dafc888444bb86af5d9b52a98166a0a19739152f6c22e257cfc42a5e4766cd5d7ea82b02fa4f1b58c4812e399ed85bccb9f52647dc1721211528aec9345a94666b99dfc32e8ae7d0c82ce579c60a6d76dc7cb9bc38c67364a986e3454a19d867d6f4dcd88c156e877a5037609da2b4232f60b82f61f727dea51157f25bb26a2f1807d53f76fa139410ca931c485722f27b65fda5ef6727c73974ab412e249d3aefff5bccfeb02bb22072f8315ab590dbee7fbc394cc6aba9f419a267adc1599b144a3e75313baa7ea28eff37f3018777b48b93b9f3072086e13dc9d1f8a74c53a7e8a171776671f521a4dade6829fd2a9a324ecea960cd47da4ec44e7cf3b331880a50bc6b103425ef2caa04707069437ebd29786f12447f6a147b086dfc1534844e8315aece150bc1ea3d05bc9b39430940897d8c572da9a76679239345663c7285aa6c4eefca9e8da068ee22b727c4536b4d0305f7289421e9869884f9299593fe5027e1396dbc4f4a1a4cc86e747327f99e7769218f60341165adfa924b69e4e238f69950688641bdce891c133cc7d1780a3f17572dde734e2783061d800c3c2fbb1861771c8ff9c0e45a1004928a4fd14724a200acd31fec3bebcf7b47e1570dafb7af08e1deb374eb62e5f901d22ba9ac1fa4172f567bf17e13dffb4f870f2e149f057f64c9744a45819b3a5af463c068973251bc59910b992d6d4a18494590a2fa32ddfdbba255728d1a50af7c9c244c7c7da0fbc3fed9643c5cebccde730636838a36945ec7d0e4a1ae875b73960e7c3664e725ee9d2fc523540319b63ead0d1067c1ec2e8f41503767396e6cc451fa997cd72d8f2e71dc0461165e34ef6688e4092748d8f4c4619af928232cfc2f4e28b866140803046927ff4a3d56979950d3dc069514dd8ab3573b61f7fb8fba1ccfb0472f6b7c7bc6fd396e9f7e59292492f525cb27fba237fa39e77d073198a866c2e1920eec7c774a2feee3b9d3763bd54c039f25dca8f362e8d8cdca8015dff0c84321fae4cfe43c5fbc1e7d6df15f8b109154492a7d215c83fbf5b2a8b78649df37231c3cf5761351b5bbeeca400e63073cf062391d37d6e4c6943eb644bd68b09720957473c1388d5b6a041620657d1cfed45a3cb126f64f228912c632802d53272833f9701d113514996cba477028ec0bac525ca4e41c94d002d329e4a9e06e172429e713697b1d4109a0e003bb20a3df14ed731b1cf2d15aa013edbfd3cc4cf13d4dfe1ee0e53c7be1798f528d678ddf3b8f459841fb644cd3429bb012aea00721f1ca79be943e932319f45123c5b9fc92f4ff28b2f13021f7b452966e7138972914b17f9a4588c5388550ab39d857a19473f160b3d528277eee0e52588f4922cc5094f627a1e66dc8ba0320895338f4ab3d8867399cca6843529349efb0dc9727ae00d437bc290f35bc13c969554b845834bb327bc7dfc913c4b525eae107d72fc3b96d1449b3871a7fde5ff34ac8b7649bf35ea76f38e5605a778939e652e72913b678cb8392483fde18cc1e955e2a1933f979fd6f143d4bb86378ff6365d44ff01744bac2645fea22fcd184f75511f5f22245f53b1733391d0a683ca86bc0ef3da7df6318b30c59acafc64badf4486e36c450448e452cf94ddb957f285476b088c3aac7f6206f93209c6249c1ce507d8e728d681bc253d52dc330d3d255f724fdedfb15593be037059698cd91d512d0c49ddd69e74f01019bdb5f37cc9c30df3e68d3cbef3834272d2d1d800d10ef3a48d3183d5bb1fb8605f03d85ee66172199c31c28d750ce04ee018dd6d17c27bdc47c18d67c275b063e949dde886220054757ef7a78915d08c9e50b8b096a001647d94d6646721b2c3ecbcdc75db362ef6fb9ac7435b54c2bb7f3af65ac91c72e912a8baeeaf594543a1b9cc79987b58e01d05dd48e016a6d4f2f60f40580361c47100913253e486d31c9f38c5c16e7279ff860814fafab74ff2ee95ad33a535fe4c72ed1a60d4b91796ec9cd64377728b84ad6df6fd6d6f380dfce4ac5956e1824b065d847c015c94d608b97d12db722cd7c104d2bf6acade13c33b00325f86d03385e7453ac8faaa91f16936696172d823b93ed44ced1dce1878c44246ee0cbc910543b0e3c2d55fdef2d8b4d925728ea01c654d2226e6027a3eb7254db70bd5c9bb6b12c95283d3d23568db550872f17a6530eaaa2540990538b12d638119bc2635118cb61b6a720d6053614424726af27faa1ac9ae3b2dd067d101c2bed103cb2afc8f98d8d34046ca777f095d722b14a595605abe6e8c045905549c3f7ccd8a87d07ec64a846caad49940a02f72baa903c4f6f6060de5d2e86d8d1db7e1a783582d59af4e59b577ad2b7788197254cd9ae42674102e9affb8cf197aad97eeab8671aec9e323897814a06dd6b8727663801768342ccccf9ae9e87bbdb351a10042148db2746fc1943623030884729a0b8b01b5250de6d8b1f1cc69f5a727fcd04853cc432c652d9fe60211ef0472da50e5f151f37259a70f8ff7503f801f65e1a48aaf83ef093953c92ee3b1b9725c2ce2786362483a1d8d650f1f5b94702993922950e6ef2f56199b630a4d293e8f85806a73b79a09e19c4fc9a2ecc7aa4f792557ddc1d3eae61f15f5a9afbb72efef5d03c1cba4a68695b9eb184e93fa747513118153b8cb64af6f3157d22539527e9721d362e3118f44e1672811a8a37d649305dfd34128830da22969def57297711c4741a77e79188522797b6b2ba7cc0370e9fce1a69038bc089389436972686ab8777acde5dcb759f1f9be0f0895254fc0a88db412ece8cbbd9e8e3573722217476b56459998533f5ab39e27e80dcd6041ce05dfafaec9fb164e695ede721bcae6f4f4c4e00e75a15d4185b4370cbcf22f04f4c704cbf61dadaad1296e37714b906ebf1df0d4fecbdd87d9ff8b710b40918f29fbe1c78474b4146192a572510ba0198cb057aaec6a7c45121178ae40ae275585b4fdb930f3ccd686095e72f46b90b3f1ac630386854085e5c848ccfa2dd8d773d67c5ac0144dbdd80af372ecde6f31e93325a1e3c99b4eb08fdbc1a8d014e3b8c90f925016ea542231855b17a7499c0367ed451a779ed0284d84dafecd03ea4adc5e975c4f27bbea8023214c6e586c59a6529003e783aecdd26d46b9361c84d8c017b9a438178129d979723a88c6abf6f56d6d64bdc8828f91383ebb0ebed2d1b0fb0df606809c3ce222722780ae6ffbf333bfd75a92f909ef7ae850ae9ae201093561142521f941b87272eead1cfd0a620e8448202006179e1786deaa95238b7aa896f1447fc8dd44a1728ced5f676b2900a7e1a366e348fda3754a8489378f943028da759a83592f4e72795da5b50eac6748603bc2f1af71d8c0c12e03f76c259e0985829dd4f4a069062c375c0fc36eda7f25951db98fb098dc77f1bea19e690eb007be8fac4e8d9a722799e322f1e4db7fa53398d4a1de5516108678f2a3ca26bd592847d3375f0872345ae596211afc9f24ec5855a7025811c040c889455259e9e168f9bd8a4d0e726ec9cb0234d4443acc4087c4c61f19fbf333d3d64f89c06cc80d43129ef18654c8027b8514299346ea2195ae146ce1b0099914777870e1a5c4c8d00f121d8a16c46ee6edc690433f530cc161e1a8cd049a1f53f29bc0f124c1ca86535715025bebbe4e2295afee2df0c2f64ad7ee0caec3cfd155be81eaa79ba538f5599db2721c2fdd02dfa8441eb18c4ccbe723bb638e070ae1c03e5036a9e0d8e0cb9d3c22067b2aad27a04959f25a685f35667b57c9031a2f2fd5c3fe0ad0af0c1f367f27ae33c6562a77cb32fc231b647eee796f49c796dcd383c0464d2c3a6376e8c95c5d87f41c24d4ea21e72828af2154a94f11ff1cbb5fe3a0150f3912a3af561372f08a59e4ec8b2fbf55421a40486011de40e3d97b7ab64fe9dafe99efba26b17226bf8a2ebea1ee80ad8dc60c60b147b5428e775bbf44eecbaa8e9d2d2474ea72935fd83f7ddd224ca3748b99e4cb7da9afd2ec0102861236ccf8171ddfe5c463eb4dbb380137341043baac47f2887dd18c98f7fe6bb1a3a93aaca71482b44072730c619d7476328ae2d8e5a0fe455cf646a216a97233063c25dfccbbc301df72bd1fe9f5805fc5ba9015399e7e7a7c249e94491990618d43872868161950bf038b14af2c1bd2c2734113f2d0c4593016c659cb12f78f8e629e9cbf8d896a837241e762bad82d343b8c484168121355a8405f4620b9f69fcdeb2f3239836ad472d1a0da2afbe29ff5edb1ce01c57c5a5cc2e5ca40a92447480323603ebc146f14a626e4bb89c7628400a20bab6a0452a616c542e77900bd1d5fb5313f5ab2be724bf1b9f960998817e07b677b7eae0f80617eaf2aed13573e525b326832408c72e45404fc153765ecc03f3561bf7ca857e49d2bf7629918536c18286dab5b564fb518ea2e2d70d929812cc6dd0c208a69ea8ba2b3939706cce8259194013ce728e30a9fc5436c5cb625fe1ff51902c604da11228b58dc4270b050d5e8063043723ed9ccc672f23c78d10c9ef172f86f79b9216187697985adde1c274a4c7f1a721ef91b601b10e3851b637290cb566f7341b31ac93a53dc3888629c0eb443a2728f5c0d785363cb3bca09df29d8a12464e79e63df6df0da9241a4535c55a036119fb13ff5d422a19b43ab161e674e87895bbcd2482e62e2e31304b26265a5ff4c1c3a9fbad7361936b2f36935c1dac981097e385c2643dd10867f9dd042e96a3857496e6b90b785035eb730b20cfda871947243f6987849134b0249e533d32972c35494615e5fd3c17ae3a3dedbef03ead58527592c328dd326a89244ca00dc72d0c6b5403ddb45b7f1bcf0facdfb7a03cb96a884c73337ba0333c9e423cf9172ce336ce8d63e59b589bb889b8436f79c948d56e9461753526c7b74e9ca29e660dc91acac5461b41bf999206c2e8cd2afb9015c8883be704bb691e74f273e9972704edb4a1533e9ae18cf9859537b7071910225beb7c2da0a63db620a04cd5f1adba1c7fc7cad7bcd100d1c51b3fee849f60d886e7131835fd6f23b3e82c3fa7204831a48f6522c69e0899da86b0c62d59141350e79e7cffb64b54615d47f7d5572d2dd84362ea6e9eb3a75e0ecce6b831a211ad9630177a125c7fd4de57db7342b47df39ff94263484ce16268ba4da92250277c106bb330b434dda4280a95440cad35d7f9f11fcbb57efd048096f5c545b8e5ac238f5225a9bf299ed928ee572b8c864e34e738d6e48cfa4585ba65166c16fcb7030640a1925fa8bc5dddb8b429698514b9b9d33ede7082cdaeadd391629cda4cd6214b709d7da48d05d24e22d08e57fbae9616ab4e94fd31711013b9621ac77d171cf81eab8642839f422b47215340a549dc68c9b714a43579dbb6b722673fe3b44674cd532dc59c09305eb72970d788b903f4620d9143617674b8740be9a23e9dd2eb575b8a1e50d47093d1616206560335fbc3fa8c013eff1598600c52cfd8f95ce9cae1ba6ea2e9737de4efe3f7382a888ac51c79e5600f16e8565d8139b635bfeae34fbc2a810588ea058449d46e261f79e1dfdf1122e5498f11a7f87cabe7e86fdaafe5b47b09a09d77296666de2caa46069f81adf1e1f4200e571c7411577e958d81ce43f4e0389d372575307230fa46aa6600c54e559687d1a3cb5950fa87489da85a9f1fb0573a506a802e289abb922e7f5a8811aeb4ecfddaec522959a2053ef5234838dd504dc72839e2132d2d210e0d1fc93edd7edaefee3a806ecdd44e70f63324d784e8d376565194592be53596d241cf4d36aca3096a1473a8f4cb299f7f12e9cc8baea6372d0eb1022207d742e7f5f862bcd1abe31cddd8a057d87da611d8f2a0dbfe37172de546beb8dbe72586ad8ad0d61861c350e96c87cf304f5a051e78492c1cf2d59bc0728a0c8c50e19b5ed76ed13c5b2b3f3b5e1c02f553ea8081c194fa58af30b53cf58b361bbc80e21de6b937a0ffd53f553594ac1d49761ec7454e20b70da72d472bad53a6d737d896112252c7d0217ec639afb08eb923fdb1c2f4fac1e684416579bc0c2f2dacf6119051fe727b4bef5e2735e9aae89f5e2f2f6876e55b972c99e1009fcc365ad81ae06f0364084ce470dc0f6d5b255a120cd23f43c346e5d1156e8177e1adfaacfee4971ac8868c6ce985a5cb340043a40743d5dfcf3d857926ddd94f6ccb5a4760dfd9f5c4d3ebd9252ef73757ebbd59465e202dc938335f71362d15c7fc58cc8156727c58f5af1f4cc8d5ac2ac40ccfffc4e6da5cd4f4cbb721a3eb7c78762d970d1b7264d03f060738b33a1a05bf597c7ffdcf71e0a72c6bea37f8343eef70b2a6b1f43ece480affe63e9dc8157372f736b708496aa28e8266c97c47b788cc57b2397c5ce625f6d6d2a0edb8e10b50738f83e68e7913e3a903d3d5c06cbf2b9582def67d640bb84df918d67bab6a840de6efca71a6e15a22600c4a68e8358ce7ba53e5c38421c8a3cc2e55de997955b3bdbbe4f6788441591396f42a0e139eb9eb8184f06835f9a3bbe55ede995bee85be22f6347ff528e7f657eba9d2518cd7e8f5f4bcbfbdbd8310b959db2c978606fed8299368a7274aeb0e8ca281004de684b788c7e0832f7164140bf26f0cdc1320d8421eac54af92f71a30623894109882c722557dfe177b676859bcca09308da02e6a4ad1968b48be7fd84ae2b4ca0f479772f1749a69eca0782f97d00a69fe74c1b11e20c3e3b5dd52312ab8d6f96ab5559ed4b1f966c92531f6224a400835584d46d8e6c6365687bbdea8248e6139f00145de1f107e9674e2ad5d3ae4b409cb9aa66138b4dbc0daccc969b575edb6f68d72f259a4779eaef1ee2002f1603234ec2394caf5feeb2ed8206c1a5f999f3d897b571ebf2322c36050589ee6bf1c54633ae41b24031a377c0c3ba69dd757ee6caf1df8e306d190d7d59910cd9fbc1787c9e6e3d452cb764c0f947f330e8dcf4edefc22c249a261ff858033786898ca26c7e9ef40a245071063f977f31de1da38aa4cdc1ac93594e7b60252d519ae2a2bc05a863722a5cfb6176d5e281dedc608ab7ce4cae8f5c9a6742749371fabd89041e5560725b8e3ac28b9f77612c3f555a1ca4b45caec3de59c4a8353bc92cf9d05bac487217e066b9094600b354e39a114c4e451081c56f9a185b650f9325cbb465fec3724d48e9ac47dfc6f0c0c718bdf7cc8062892ef238cbcae1c6d3e966bff0945c727a9edb2fdb2547d0ea4ff4b5b750c2c7552e7c1b92ee192e2d288657162a1c2dd1d3f6d4e9a20d462d6d506fd6592ae77377da699acd08ddf96575ffbd745e72a45551b9b5a2c45c976896a02d866a48cdf597c911dd1e172af6388aab7d9872db9881ea1e1764a184da0d9d4f31e4967470914c9df7f69b8904cf44095d9572ecfd0b7d26c5c4d68340a732e482f43747d5d8a165464f118d845159ede9d1298a6cdb65136d2a8854b6a4fdb0b4b86705a98b0b56b93c081b2068c2a5733572ab696eb12e523cb46d81f9ab497ca68f5cc484c16d0ca3830ace1db72ee0832f7c2ebaa9f1ac8365f4df0fb34778835fd048ddaec73973c6c4ce684208cba1210ae8120f08a9088f0632de2d8f1d3c46c0eac1ad92e4c232bb574bc89cc59e729bb5bbb6b3a1ed22b1f8055db057859ef09abcee110e267d3285e733f7c44f72ec6e547014593656c36192392eecfe274e729263d85a78124388773b5b123e72d82119b1158127d61aea7ac42fc09790301af661e31a3abf220df90241e2c17227c5ab2c13cdc8bd9934376b036030c9e7dfd5c1923b8b04e89ca6e79813bb2778eb3fb46d0362755dbf0919851993a1c17701824322563f7bdd8bf658ed4f7282597bdc00753da70cc2323083f19fd3edc1876da2d10ae14149a44306c8a600cbf1b3c67c80479d12b66a02de42bd60b6a737e8e987fc33112fbc1632904a481fafc3484036ea139f99d4f74a726b26857e6132a6f49dac9a8d2bd06da0c972e46316a9ff4f81ca3ed7d60889b573fce82e8261c8f294572d98d4fdb00ec0455fdae00aa3ebf734ee12bf17c2bf50c0241477a55095bb1881fdfb1eb1390d39db09663bd7c4c78b8dab86e0deba5520e65b45c8410b91f870c231fef51f361d2dbcb6caca4df4af5e730bb47619dec826b995ad31a595631421a91db287b726c910e21ba027ff4ace60a8d8cd3123720fc813f952c6093d37f4f60c9d5e7127150de57af69e2423fc6d2e6a2959829f381758000cd80552dba03312460fce72c282ffd79622643376d246e868b7e77a5bb152e5840017fc606e82f3df09782aa807890e9d0a29c4d99d34996366c2ce21e130995641ec4470cc1ccf46b0c32971970de629107a9cce077b0bb45adba7a05da1a4a834b3f71761e166df6f4b7292b92837bfe95e1b7d11648d24f21c0475589ab590ffc903b9436af2089a0972d1dd7e265ea0266982b9ebdbdf0488c375b12d366421d57d3d8c4966fef2a2637a8a38e64f56f46111b62bfda32de2f098cb88d166925da9f657f3b4c7f638135930af8a119ea0930ad2a798e4c068e7c57025ea76e188c75c6bc725065591729b86f59768de493c34f104098784459189ed9eae180cf1edf60fc09e2d6f0b7242f05c9d813a9b8d51970357209b20a14dccc8fc217a20936f0701a2956e70722b6e52b6f996dd441fae8ba44f626c0991aedcb5ef7e5e3102423f923ae77e1b3ebb7164234cabd081ea05d885e8b7d732dcfe3411cb1ae617fb377e81aeb572019367261cd948a8d4d59b9009d53e7d59eb02c896e8cd86bd013809da26740bfcd6d395584452f476db28828b63de302818bf598cd9a9325d21bb377e338272c248151f86f1fee37fc3de93e522d4c8102c8f2462a80c7467e82536d2b236484b88e9d164d8dcdf82cd8f74ba6c9001035923e48586fce410cd66e77f5ca072391e532acfc3611a6c83b57872329b7a9d7da41a9ba4f25640f3cfc10413db72298f65d409854cc0eef300ebe9952297e906207fa8db2c23205bb6f071b65a72b94d18c2681a8799b9c34586ddf2e1b6801989b5297e856c68c1c50c8a52ef7205ee806da241ed75c9c4f7660d6b83aa110111b63e91efe38207d9a1dcb9e34f00091d75c303cf08d0055a6b09e6c70b50c38a004dc6f02198b13ed69b554f72c68ca70208c9a8d3cbe725c88c159b666a0dc88dbf607dea370ad27f5f294123e2c85a11c65c95678a68455e3f1601baacf5c6faa242dc5b879e8b1364cd025fba7378cc0396bdafd176396045e30174e33720f18bee1e5d0e5bf15bb1c6ee370e612d59cd130d98659955640fb7701decad7f3ca8716047e50ca9d70fe6e568750969aedc0f2b718f92cf50cef961dac52cf4dd82d6c033170cc5dff0a393725a9f9b107e4878d0d055562bdc118066d5851b6e6d8704b59ce38f24492807436a71d8d1b94c925dbfc0163eeb3b286911a1e07573406e8623c32e26e1de3872f1bb0c13e6e2f27ce0a0ef2c794073c4cdd78464c824353156b19f60f5bbc0725806a6585b88509ba6f299e45602a03a484b168d42e6358796f4718680792d1a8ef6b2f46719612e698cc163c3105c356e97cd0705c88f8e94bff1e907e7b1721cfc677c6278b72e20a150e5c14734dd675fe3cd58c7392a7b4e8603d474a87222b67ec37b30bf0fec0105426a2148d300eb8118bd90a552d89bd686a5de6a728d559e0851a2bbf33c2c864dce8c495f1dac1166c59055f1e98e4d1a4eea370b39aad08973bf7075ed400126afa785d0111d4bc002073b205355f64e1f050872c2b008e4b4a3879d12da596f5b2e1210616b6a8c6844ffd566b2206f2600332099470a73e350c27a0dc75d170d1929ce998c98a4b50b746334f4381904a5c272930a59df62b8e0b2e7aff7ae515459a5f5c88ef0fc4b2473c8dae0c6afb97e72e3a3d0f5ad8a232821d1390ace56f6d7b116fbc724b110df442b276d1d3191726db7a5a3e33d0bbe36aa3b37a6a45113aac3ee7af7632f42ec7255d7563145665af68190bb3aeb79de47d39651cd8c9a0c5cb519e223c316bfb96e0f5e522972d4d950d3ed726b7e56baa5d2a7572adea6830d4b0973a59b39fe7dca56e7ca721c71b57d7d317132b16d187e658d075f018ecad86300547616c0642e1e1ef021a6c3101c88e08c34c430dd2f35c3ae0f660a4f245bb5aa425ee7925278d9cd723f1c0fd72ec3753b430374d0bfaf372c2f64a8cbb6751e210ced915a7d6c6c7226470e2d4c3784ee2a1243389d631d6499ab6da33459252c949288faec5cea65526a18af74f73d900ff208e536d5c9d2c6a5ecffb1f0b7b0a53faca12e57e55cde68f5848dceb4b72bace20bb79b0044b28744f177c8f1147ae10d07740d0a72864d33f7b846d619ddb5b24a90500ccafa12ab75033d9b9f003327cafdaae4724d1aacd7fb101435a8603c2a4e620162ffc25f6335eb530fcf552b345f108e728d767cf4fe7b79f2bc85e88016f2e01531d0d5bf8f658581944e4a42936b9b721136dc1524840c8fe13ef639acb5c65c04e2e42067d7e1291874563a31c04272c784ac2c5520c99756bc24d169ed8d856a791b0dad63cb43af8c1909149db9722c2880624cee7004c03369901825fc860b44f347f16326a1c2786d1804692872a1b055dcbb4080d76e5d055745933a7915cf4679c8308cc43fb68330ee278526891a775db3b9f68dedab17a668af5a040f5268f1e35e68180305abc0120b527200aa35accab730b82193945b5fc2715ce521735b3661e2daa83c0421e6a42972589a66b99b0df8a1485ac9cfce77c518f927fceac7412d9b7f27d872e5572a0061f5f337da74c9f321dd3f835a764b100c25517ccb3bddd727e3702fe1ac8c7255d7daa0e4d68d6107c1f7fbdf1449906cf0f970ff02bf784bf9debe71144572925bd6f7789743346ae11893fe6ae36d80f643984e79ef779b7ce648216c78723b8fa3247b00302c88d84e35ed9488cbe925b81b770138555b324f4f8b08753d3ce6178a4106f84add4e61f52cbda3acb5d19897ec5d708323690a7ae68a041eb596d39c9ecf546e5e5edf03200be3e2556aa829ac507988be9dddfbb8afea72e6a0111d64fbc1f26cac6dd1a5fee09468869d458c679b278c086162fce1181a12b079def6909febea2009581cfb1f135d2d04b3cf08a75f6ff13529b153fb54ebfc35e37d4d0a77fca9d02c1933ead4408458c006f53e36b3fb95c00f0da319802f528b662f8a2edf5746d5642e60754daaf9782c30d2c900c66f5645cafa7298f21be6f6de754ef224a81bb15eb13bcf4cc81a8e88aa955a6532fa69ec6955dc8557cbf914d4cfdd56bd64576c4ad64922f1b98bd35ba86e60f27911af36036818d112985c297a09d742d070a03c1ac3b48b92e2a2d5e13042595aa204145f166f48bd6601de88011926334444b7a34b6ba4fc3f8905f664044167a1f37d486d81add6b76ae05be10d7bbe7d4f583edb3961509683dd23a2a0a017b66f5236b1bc6e0f974c2f85f85935d34701c30f016585881a3b2d39713a8b98813401722bcec1e5cb3e772ce4d12959b46776c7023740afe134d55d22f45bd80a5e33053243e8de4b6dc8924732f0a0a2357a8d3cbce018bd1d0da1196bb5a4c47100721f74c2346035624875892c08424db78e952aa3c85901d38a821aca41505a7d72fb5bf946daf57f821b4a4ab9ba34af4273d1437c2a9b788246b05b68afd83415aabe00cf88b27fcf2428605681f677ec4b1dbe881fc41b5abe3f331c36aab200ab6769f83ad0a8df6cf0d464e57cf1865f3693b85ae794ad415f61c063ea23209d8bb05613e2c88dc9c316b26e85d240470ec3e7ca82714c9941f11d85ae8a7245d59dfede323346b5c42e7d69283fb8b380695bb698019d250ac1a4de7c7c6720cb1505565e6ee8ce88389a7474fe5465304ab2ce8d8beae4036da776eee672f1b6cd1410f1cf68a513fba1e2bbcbec7488af66d2cf2db9c35bce960f27d572b0a9f5d437cd2164ceb990b303c6bd332352149284924315fce694e583466b724530d47da1d6183cd76760794d85e6ca63a777fb101b7c4c083220f601b4de721601f7e8bbd6107ce25606cb74150445c4c6f91349a2f2715606cc95205a3d728390a17473949208ecb8102ed23142c182d0ef3dfbbff55bfcdcfb08bb0b8e6ab00b67d20c0c8ea1e5dc564fe6eb257ae6a202fce36e316fa678e694d367987207124a53f63c1292482d3782eb3526e5bebfee75e762b33a76bf3c4e0326ff72d2864950fc612e1c8d90338d1ad0ea5e1ff9eef46c1adc8432f1b25c970d3e3d129865f9aeed8ff162975104047af82e7f36d38feb9698ea7439636f638ec64e729971ddef6c72389b0cb2893a2a706588014a617d0e6cc455e084aed194107236733ab861db2e7f87576451631868f3da9e2d2318f23004ef63eaa9811c4c72e2b4679ea07048d684fde9aa22777058924a2d445344e3c46943bcc169acae72b875dd1d86944a4178b82cf0d7b664ed07b42061010eef247faf4ffd10e67912d44334b5bc30cd36c39caec3a64ac0098650e53b70046f63f8adf11a8e4ac963bc849d8f5b2652ba556e45f320fc01514c4700f472d600433bbaf7d13d1736097f5c71d2c278f781f20593cc9b3286cdbc27741993a358c80cfd50ca70b88a6a050306abb35a8f4e5e8c1b265efdd9391b83b6f8a6d3705d097f1e4aa034ce72f84bb853ad377ea7085ec5805ef5ac9b2f8645b4c764d9ff75108239d84e1e72f7a8b05a661e9edfae9e12a7c1bcd3dacec8fc3e0b8eab11456651e3d369d572609c393a3a170f4c0ece6331ad4c0aed50a8c09a9d3e0e2adb632336b96b5b724570183ef7246a3f95e7e779a2729ced6ef1e5af8f37883a94ddbfe8e6b4f47231256890f9e5f7aede63f569d3957be54685076e12f92415fe6d8d7608956772ac521075a23fedc014444a79a86d40a62d82e305e0e5e4ae3917343985a28f726ca6176ac02acb507cd492e98d3b9f252cfddbe4b9eee9e65c05d59a55e05872a23a538162f4cecca6b94b621b01bda4b7cb1d41dd4d6b9952ff7c3ac27f8372a8cfa09e4d722a2ff5a79ee494e261b2e33747e6b057a45f649846c787c83572f08813088311bff55f62e5f1558f7082d95c16b92334f00b155801f6e9a258728517445a31144ac3f4cb1cdbedac0e86e499bcc6d1f670ae64c3f607d42b180d0f217b9eda3814883cf9320e349be695957bb9e5db877989ffd1e4c03f57f5727ec797aa0cae88e8b6c1844ba2326a5025e7a53f084e4d5b6825b1d7a7a2d472fe869977209c80c5c9bfbd6f0e08a59edaf67d64e44d5c20b49a1b2cc7672b72826b4061006da2c00b01f410b3cdd7471ae689a740706fe380c620666a010600d32103477b6ca1e26fd225d7f75e80e8a632af804e1a20009353215e2a13b463365bc85b8bfb4c3a0391973e1abf77aaf9ff2595877b2b70ca70d4275a31366e5f45e6e78a12d631e173d6f398133cec7441211b98666ab7c1c82f5825ed19723dfef3a6b6fe0af2d4c98c46d51060da0ad42c567f1812116ea35a75f04b8531df5ed81db606779058316dc8bfab2b1d6e9ede8efacf22c9cdaa1d3e07cd706e223a72f4be651fb26a1bf136784f277f98ee4e4672235f6f1e090b7bb53bd8724ee2f1181a8a2f126aecd79d20985eae8f2eaa674e3413d73d720e48a1cf007234557774e1278d5b88e5853cfdd8c70e492cde50e2d44d082c103e1b7db726727081cb4f1b911641775326ba3d42d55a8b52c178a5babfd78ab79291f1bc5f1b1e721bb6ce4c00590b5fbe667845ea98b556520cc9a5d1459d2c84ba400341723a8e725c14d1314c40387f5e95960a0d16d47db7e4636cbdb97fbe446d06ae2d48b8f7362269894abc974177cd42079353ab3c8363e55e88c6eb95103180ac72548f00fd7cfcf3a6637942a55a5823c8afe5070e12c16aca40137ee655995a72c84df49a5af54ef061748335d9928b1fb6e657307b71e26d222495994a3084077130df8b60c914829f3adedb1e69cd31142d9e212b484bcc0d383662bf24b67275caf93ff350993dadb657756fe46595d123a29bb44d2f3014b957905aefec72ebed51bb62a652a4601ac34c062c1852f019c922d1d5b5d5022b61d390ec282d3b288fd4992abfee3771b87844f9f7ed930fe53f2fe10063527082cde25f8c7241a66e5057190f69865ea9ab0891d85c2cfa701d8d813e5bb6ec3db67c634c72a754a919755b7142f624e8bc6d668bf2f9cd0bd7801f49e09c609c2025894b7263b4b9ea6d618d272f102bd7f0359ee5665b9865a9a1836a503a19a45b693641c644b93daa5631ec2a25b4703db094d6928be9d1db6f15f50260ff9658dba6480081a100aead83146809c852be3e72cd7320b11e0bf6ca1b86704af7dc4aac72c942ba5b5e04db81918f50873c9071d0f8a101301cab4658323641bd1beed172988c53ef39d5c217246a08959d92347f6047eb12b83b57d0df1ed0c9839cfe727112d2739e0424a43c035902a7c7bddcddcb289a4fa3dcef0283ae427f061172ab3ef080f6feef0dd4be611d1de3f6e51c49f7a2c07c73a788e109b95d0d3d72c6f873eb4fc910d81e038593125f8c13c65a50d7fea12a100e43b8898bfd6572a9bd5e1a2d27a30ee192a7ccb7ea6b271d9ed0f2997659656a9dbc865c84d20a6e1ae2a12b10ee5a0629aa83037fa8774ff8bfa8c4cea417ec535af2e9f5b872b9c93c4dfba6042f034a03ab3477a42ac9a6e604bbe3a1b00d33a7f3ab89ac725dd747741ab89e946cce4385550d7c3e92ea23ecfbf272d434d6743014984d72729c7cc9b389d454838936ff301296a67a449da6a693a70bb9d45517b52f18423b572d16d111260a6703d099914b2ad82524f0232e12e565f92c4c3ac1e45d5c0c2c202819382fc1256d35bc059af2edbc9cd12830a57d16e8a774a830daa372fe21288342e000379932834280fbdb3806a82ef5fc0afa30010ee2c29e7b857215ce7d992ad5623b7411a12d1731cd51fb46ba45d93778b165bb4ee7671cb772514b248a3a14b83288f87ba7daf56195d0c766b806469cbacb24e0c41eb7b37294f8fbd1ada63d388ed407b2e40c23a21a3433994d22c73c0ace89910627054751ac33c42c889dfdd0eca247ba953a180f033c8bfe526a1ef63f4d152d51037223fc8a153c8f39d23f623e74e4b9f8bfb5b335a00cfae392a21df8f61984b5722a0ed9a2898867396d2ee723787a2353e5cac95708350eb66107839c9ae71529ec6ee064abd41e4596424de866f8a6aebd0c1934a608ff48933aaadae09aee72502956d48ada8782fd99e0a32be4ad2a10f34d05ea991bd09ff88dff087e877277ddc6b0bd4d70fc9da12fdebf67bed25a072501b72791e9c0c4d9deaa20cc25fc0c28c20bb81621121856745dbb6a383a20ea4efd83a775a5f0297ed80fac72cb2de1b6080868156b2fed46ca41d624dd07d78487d5f671bb3d626091f8c57291436ba9cdde8f35138dd993ed2efcdf5163c3004405f614d7d054f6b0ec9c723aef60c5418a9f82cfb9b2cbbcc83f6981795797d2065599310e19ee09e395728b1a6414993188b4ae3b3a732b29e76c354f239a509c068449cac4315f2eed6a5c66318554deab51a9aedafc37ac6c47273e81ed6a7b8dd7d6a06f0c5592df326e44ad63fc4c2defd542635e36abc6ed0345d189bf6e349b8768bf4babf6c13268460048b35e271a912b11395cd38953c35abbc0cb1264ae76163fd6ed39346bf70db9bceb60e3f8bc200c2559af2dfb0a240f3ef31d1d770b007eaa4eb79e2c4ae9d27c31210065b23b664f9a70f21fade0344f47b25cca62ee01d7cc0c1b72c4b55514a64d260245ffee2903afb3459cf2a7621dfd96a2b711f628058549720be1611af8013c3afccd66efe2828b8b424cbf5f163eaaae6cd5052853bacf72ff7b5c487ec617f02b377ba694b30f4842e7f87e0c38c112a188052608972c72c147e9ce1961e3ee7d9859da591ebf475f397324d26946a7d70da46d5e65cc72c60b3c9d14ac37bbec64a3637d59ccde5542e99c7bd495a3a71c25a92a502c726f39718c80ee6c8d58ee28adb16453674f0ba8b95c3ad3bbab572cefcf599d5da74d2d28353e1073484ba0ab95f15f2e358f115cbf10476a34d774aab88a2572a2a56b000a14cfc70151c4640303128cfc3e380b6b69866d5d056f4f4a3e7672e22ca90e6ab8cbc1c7148f6007d04cdebf79b1cb9ca732976b4a0abb32990b72de58d962eb614dfbc4838026a9a8edc06171b750852b2a8e0883585d4c3fcd72ede01ec55acac7d52ddc5884e658636a9e9222b462b98224bc629a9824d015137dcf18f416d173f9c85f50b6a87dabe34bc4b118d361e83f46c671923272e1724e756830420f8c72e23e3540bae8ba9a93c28b6a67b5621ff777efc90b7a6f72c19a8ba1e6d97cef07d82008bbe75280c6426f79429d0dc77d4d71cf4d1b766b1e1584f4475285fc4d64fa8b6d49223d60bc2c5e422a83fa666a90ee49cf3f15e1dcbe6edf6204e5b11f4e772e19d8e1df69d52046b1d78fa04ca320f2987c72fca035d12265ee779c2d531aa8c3329464847169d2878612d222daf9fc97184b6d98143fc45c55e7b9c59db7128cc562abb56da834410353cf8893114b148e725a185c1f9b98b5365fc7ecf45736310f853693aebef6210c8f0e005bc7dbcc72ebececa70702484ffc7f45bd1436e16345d87387055e37130a01dc7763a5901cf6e81aaed5189f803d859d298ab4a7103088de4d15da9d968e561152f0ccf7453f5a5f17a23181cc005d34bd6bd132a6aaa646ecdd7ab2a56601454bc2194672f09949d8ee60f6b5d910a7985dbeffa1b226ad1abf4e5a28355f2c7a90dc20726a54b27e3758aa9df5e2c2dc65938b66dd2da7da69568abc1ec286d2886fba72c8db8c9c8004459c8179a74340a9296a81945f3c06d5376f484b250cb5cb3f72c2e1d8cded068b947b05bee8d3ea5d4fa3123466d65f832061b6d16ba92d3b7215bd2cfddbd895c91f714c85b207aa6e204617aa7b66ae0738c0deab52ad132bb9db5bd03d6af4274278553912724234663cc16c650785c0a72bd3e5fc1f9072f0b7734a5921992021db8c191b13521566497b5d16ee34ce6f4e9573122ba232a80bc4ffb853ac34ce48fcebf3521c9fea8dc2df0e9f234a6bd56c51d5c91a4bd384feaf5df7a9d9d2ae9494a683ab258709f2c73a9afcd4f540937f1916cd37b7b257508fdd2bef1573ad54a450de9473f62cddb2466e50ec389d86a2356b720f8ae6aac8f5aca04e57e38a962b8f28e26acafb6100dbe3e095b283e0fa937205427f7cf68a91615935c5105eaa5d685843f4694cd4f3b604178a4069e50272ec846ff89676c485cd26981dc28d3e5625cf1f1e4a47c5128a50fe90c80e1856a368b1bbe98f4feb50b75ca15b8ed1b5af0d968b93c1abbdb7c1ab69c29e3036d136cc7d9e4030c3292ebf3d53cefb7d5334ac1b6b18a3907dbea1fbdb941e72f06991922c682006da5e542b1b550fcd5c0c84305a2fbb6fef5f78f82fd5a172a0955b7b6a7aa01f4feb8e62e93fbcde1ef5572a0c002eb4683e8da548b3c21413e361decca1c23f9577208fee01d64c48ca91886087d5b98bc11cea83c7b6698aad7c5b47d3e87ec24f4a7f2b6997a14752f16490ee8282357cae892e28b238b2bf945ff455b27ebdd6f83ec2a49b2d9acceb047886ac0f77112e7c7acf6c720381d806eed8204f0fddbafb6abe263c939271eaa864ddb85a01d6e58e78687224464660dff53f918661c9e31b0af70d4a2c7d5dca431099fcea32174c13557265591df16890e1a31bbee703a5633cc6b0535d234469f51a2d5fcf2e20fca11b6283bcb02e878d7c01c3d621877a5890e91a691bda668ba2521a1538ff031b3b94dda95c1fe6c79f0d0506818d754f1e766806e85fddc77d4662d46a9dfad2722f0e36c09cc554eb25f4103a37e9ef942a3d705e8b1af4ec2dba6cfecb6c4f727d79cea26b8d137cee8551cadc2de413af4e6297170d785b901a408ce1a399283a056c24cc9c1f07375a016ed599b0b4d771a145082c4eb3bd5515b9cb300272684997df15990eadaa43fdee0f90055ade02556bf664a345c5ea42e9fe180172675834f5fe5bb520b8b9ea91037398c2b3d5901c908abb8bc6d7543cfb22f356f3df72585fa9bdc31a4f314954cb1b982ecaa7a863d2ebaf6ee29f813341a14f2ae08895668f06902525af83eea0331384724262bc2b6a910deb62e1de2fcc58d02ca651a77897fb6b5c699bbb7ec23f3b3d7823c2ed171c35f01cf1f9a782728ce88f4e1cd836f6ab818c0662788c9f53beec2593f8f977d68d72ceb7a01f72ec614852ac06b8cc8f9f014fe2385587cf2f35433ba4089348dbe6b1e05321252b67295ab41b890a5e0bd8640717b28c5e5b91915a7a40d91d9275c380d098729ae75474bb1555dd35401af621d4385692a45c067f6d1f716817c81172d95e126afb2337e04dafa6ba8623a0f4240df06ebbac1fd82b1ed93d48857042aa1272db4890e772cc0823b72cb7c6a9dedc75b8487913f2591c1f0e5b440f12af5272c79d64702497013433c27e4419bda82368565e5b29a65f1b2a656e1610e23e093188b469aebf9bc7319a7d3bde0d35f7302bcbdcf79a84f3a556acdf354b11723fa13f7766f2c39f5d715bd5f8c8a3835b097fabac13376a313f1ac1279bfe72ffa89fd45f8169a07c9b1eb34fe10ffe948ea8a7e6ffba17e432f12c56248472bf794fd60b29aff53ea15ac9b12ea96c025478cf67238c573b1f8fc563f680477c46690bb7d41e667a2957e1136d0293dfbda76b5176e786c8514d190bec7b729c9015491471d854a926ee7d896f1f019d0349ff9decd0929384ab16b25a92728877161330b4870c8b49abffb6ff4b9a97e7965015d4f097137f4453caa23372805da75bdd88b4b013e4d9e2623ff9583fe268e5fc26de016df1caa45d669572e0ab82cbf8760d776b302532295005cae403e86f0ea294f4b9c38af3d31ddd4f461c320b093fe95cac7f7d0c4b5fa04b86d26451f95b6022d12ec9224e1a4f72c32d2bc888d35b2a3bf7dda0d0b718bd018ad7b2e45b282c7fc7b8169355b372ce6da99c524824576a93f9f9d7f2a21cb45cb4f78b02116110f19d10a4c48d72ec79fa979e2b9af791e25b49d9a343ca81a3569f71526df6f09a8f52bec36e72767b9e67844d37ca0dba6a191101a1e983afbdf9aa7ac00b724fd9edadf29729305f6fe55b60e6fab6f8e5f13cecbd4fea51761a535082515e7830f4a3bb0772a0a4816f15ef7b0788830b45a0a39120def50b2f2e39a53b8b3c323bd929170d2afd841d162f161ff2321888ea10dc834cdf43b35443b681a099988705d4ea72ac4a4d1c4fc81e1470c81ccad1aa2dcde88802c1bcc87eb6fc815c9bdc6d676c51fb60f7c46aaaa0a8de9d53009970d2b93968bfc3093c37a1d0c1ac5445a248d182bf8795e0bdee7cb17344c30d0d589bab9ffc9e2609219624aebd9035247242d37104847096f43c1edbbfd32cd2bcd7443c074aa73c7c418c4f8f9f5e0948f7a7b15cd7ddbaff6f6880f6ed000fb87b70dbb79e89f3a273aa3d9628c65b72cfc5ac912201456e198a4660d5c526cda037ef18c97ae16794c2816317a0da7295874b332f3820c67a147ba77c4e3f0bee6e60a0d89835bc6b7cad2d0a8e2e1a1e5a28ff563704a99203316a0bc4bff1dff036df0096b0759e9ff1e28c347970e6c36c46a4903dc97c5f9fe43fb065bdcc47527146e8c0333ab4be8e54519d72f8f345c48e55230216b59ccf6c58f5f393d3810845955d40e19496afb85cfd7295f62455608c975aea7aadf0718ff31c93f3751b9c0f684bf42e7456a91c0d03a14b94ea7e9bdb3d8c16e77638a17d8e12ba125f94e16703d947503a7083d8722df2d6adeee6ee3e68d7de7c69079b2cf0b19ab8e7081f755eb3a0295cce7272846f527b4c192804b39c0b998036cd72c91df8885f5da90f7ac72dd3c86ec972f7e5ce29f1b9082ed9197dd0ffe0507d5f6e14bc4029831e7f174d2b9c23ac62ce1c252ecb80ddeedb07c28e8049c462659e449cf0ed9ff0c677e00942f1b27225486a453cf48c7caf8f6b6ffb1721c4c9059adf3da590b1831bbdbb127f8923a31921c9c4fc1b5e16fad46c3f23b9b43d5808e5be4145eb52a3baac25b89a4f9dc2b67085a95b0a0baa2f95245a1f39d8d93b447bcabf09310ab6dd0074c57270c9e5c575bc0d9612021211ca36b245b40fa0ef4fdd48a84a912d20cb5bc66626ee128653bb0807a4d48d00472240c5f28dad840486a0af63d9477ba80039725464030790c127718411ea169ea4ea5d900b40d13eb136c532f046be19491e7213b803a7ff253614c077394a267c3b9420cf5ed349fe040f6921683ebcd35f72451884b270cf981ca09dcb416617be3e066c0415d7d91c024f5e4c1de044e972edc13eaab2ae7d0f20b1b9de15964539736f6d840538370b22d72826bc58774befad9bed127a5e81b45abcb82683ef449c1805040b6230f3c7866aa6d312dd7289a26257f1a58d788534fe44965a70bafc89b6965e4b9f93975775e701a3cc1c9c0243606b124ef9cf0dfc8c71eaf9d970c7d9bfd258a96922fdd606fd677172d62e42a7985e93522dea8fd9b80401096ed6430e0c3d411dd4ff76623aabdc0003250e89a6e3418801d1a3826470b8206657a7ac3fd0e6cef1ed5f4ae2cda47297dd6d51b2106b6cbbed8e1d28b536f563564baa0b38d9bd75d9579cc4adbc23f10819daaa7d79f0518f98ae9cbb7af0d7b28812563c0df0a2b9c682d5f3081ff9d611325e937cdbae03351242060aed08484a26c4103d68c319938f6e7a3700954dc47cfb4bf49d8433571e17b9935c613c35aaff94ad4d98b20896327ac9728f0cdc3f85b7754fe5317267237b90688b274d9dc221c1be66e18dcce49f9a01c03ebe6cfa61858e3477daa172d31f18696f2bacebe9b522060ead174cd2a87290261aa7194e08d96403206dfb04c630df8e18386d9ee6009c5cc520bf91fe6f354f48f1752e6eb39f435157febd4d618b0b37e9895258392b64002954c7022a05cacd484f85f6cd0be62b88e030ea6a504e0bd36ad86de758a8dd1133e8951a7c2b06423541f66cd6968fb844ae4202ffec2931a58af2f699492ca460e67c72ba0f8943e9ffb4a59e9f2e47ba72c2408c483d46c6f50a18a0baf155ebf18047ad97f8b7c0635bca78b0eedc8b1798e63e1ede8fcb4ad7e5a9d710ef8485b372f12e789e8f4af2a80384f71cdb65180568a72aff804e8547ad64b2042bface72a443a5fe288bfa6c652eba203e8f9155be672b82c99ecd4ce0445b6707620c72a2cec8488a92b6a98360f61b6af999b6716a30bb384e996e8efccc3ed2afe76710467e8c1aff14ccba9ecad583766a3d73dcafef4ed496d7cca9ec8f1388f9369e77e6f3d0f84c89059041d4ca26c5cab477e405da5ad132d93fc46c36ad2b72450833836fc17051b66834f4de57a6ee60bf6fc1458c20dc3d54e691d79f3a727d3d0fea609e861798183fd871784530fc838180d320782c2eef6fc4ff25f772fde75090a711b3af23ef898657faab015b2f2670e8ffc10155facec84f237a72bb0cbc61ff42705dba08742b7fc907b5e1987f2195076f2453c0c5d2e51e2572eeb8a9b77c286597ba95d8169644c52782ef8ac969b8c0a7d816b7702623404f4d63f3f40f16fbca3d41ae7d477f602379047a4ed628931b143cba3ade7f5c72fea5cf11f927fa2f3158b9c1770b58c3491c922e5c590a7e1a4082927defa172e4515724f82ed857c70a517ab3f957dbef512a6bf91bee7ccc4940eca0c89b72dcdcaeb8b1ce25ed8aee507c414c2b0838c9151a019d0cb7f6bf96254544624f4aee763132eee16e9054ef0f4c3eecc3d4ac04e9c23ecd6cea5f0971c1f0bf1656242b83fda85e26431b58f7c86b75327e6fbccab836eeb4f3f99ccc8e6430100a593973e2800921c6de965fc3ca70f8c37a76776b356f7d4d862da52c3622726c5f0ed322bc488fcb86871ae0197156c89852150477512fd55bc14f4ec4d761b739709eca4e8e50761e7177b70ea0e153bf6a68a4af1f45708e208292ac8572481b55c4aacdc4578fe1ae4088205410b7326b5b11892dd90d2ff0a7a90edb3efc321e45cb76d91b4e304617285532c8af86e1095adab2fe16782917dda9ef721f3cbabe1129fdf40dbd89a6e8712a89cece5e8d494ec1b62054badb8239de72bccc590eb468626bb00a9394c75a183231c26a308b976039cbef4efd51a29b1d1c7cb0b0299a442586b89e72dfce60016c20415346bbfbf280a4c9336606a8725af951adf5deb50122442a7c33d9df7a05b3fb4d66e53eb1d34b3919d33f5472cb49a1753593b0f82083e3c5ffa9b16a34387464b44a423abc9e86794efddb72586dc4454aec3446a74e3577516988a6a9977523305b45109578ec92e6d70172875796a8c6d127007227d1ba097700f4c4ecd3de6c09a0ecff608550e716ee72f551a3ed774b89aa4c5467d1ccc24f457f77bc13cbc660463f5118547334cc1d97fa229fadf7450c109508c117de12aad84415700ca0181a8d0e2ca673982772bb055b1e096ca8ce72a4b6d29ac709e9bd4b969e92326c1301d4ec1e509341723651b32990a9f64195bb3808b76135576b4891ac4dfdbe6472512b4e0b99c369a1bc07a7f0b4e06a578a3ad39cf5f95bbb95e48452b623919ea9a3c3fb75f331e9a8861eb9d8ba28ac9fc4a9e94b2a1f11a9e8cc2bccb0b47beea3f83519907295dce752ea6dcf6137d1eb6feb4f7cab8b5e51c5139d16f55f6788100064bd7269cb8e8b336afe8952f20d2bf3fffa46544552a5924bc936795079b98bd4b0508b79d3c4603196a6982306843b79deb50b9f4d665d786cc76ac43cc159a65345c9f376358ca87624ebc097e389e2f1256601dc530151dff48fbffda9f6ecab38241871e8af686d784c8c20a932f8941cb13c300b45290b2fc8bc7ef88f51c272a3b8582c20f7ae3fcbc6aba5288d9c73559be654aa9bba581714d2bb1538dc72b181d0c704618cff25917ea7b3ff1ec1e8c02e545d246cae50dcf7afa3757c1d975a382853afb18e049b1499931ad3189f9b46af6804e25e647ad83045aa6f72d45c708039df5ea85ad56446de72a963928a436bef62a7300dbe2ebd75979e6632c06ae3fd4adc9dfb6e9950f043bea7d34f84a26d8bc6590c8736f85d6ba06463036338a3ae05f93e76ce08e1315515ef8d59cf0b265f8a3484c419097176722f87bc9ed658e75672900d88600e1ada3fd5f9759a86997c60b212cfcaf8f972aba0af6ac1725ec4709d4c0c10c2cde49a50e5c21482b0ebd6b4c8635d919d7234c60f30b74866041224f686dcf9e7e41436dbf9bb8bfbdedcb4dd8f4298ca725bf4df851d52b6c746e758ae5f834951102941a2e4e89ee07534658a20612e294304623095338a16e696c580083ebcaae4b30f0c60935403d9e33d8671657172f699dd2da66abd64a15ed55edb4e46c92a2bc8abe14b21385b0b1b59528eb572c1a4b68b09b63d8d00187379cf924872423a8b9fcef38ba0db8f5beb013e9a5be39b48875328c9ec0edd984d68c38f6900e8b72c41eb7160c035dd7e106709728ea8b7c7ffe58c7326c047d6cecb550c517705b45f0180d419b93e3155d7d660fe020396b82919d843de3717ce551c7c359491c20f131e5dfa475a8b2c0caa720f189835f7a23ff74ff11f519d8c333de098fe4ce0981af4eee7a9180d8855441ff9c31762378bd731eca90b2cb8c88c62e0591a147b9b7d51a5979a2230bd5c5f5430542eb0d20c4935bbd305376b888a17ae21f7b8c339ebeb664a0a10001071438b818345f313dd8f2e8ab01c99d8c7fa35647d1e53ec593c886f68406a03754fa758aacb8a0f95326b815b64999a986172368264f4a521c40989c3c4c172d4bc97a469f132fd79dc6ca4d0d4d83816a64f9616a5bb6279b0d85260b69672e88685840117eebf2385433377f4247bccbbcd814dac5eceb3eb9bc9470fa2722779f8dfa4ae5271e708910f0ac318733f91bb4e98c7923e610c3e91c1f3cc72ef452a4ca142715ccb6b847abdf08bc29fc7482b88eceac1100a7a2704e4fe729d6b283bef714bc19a1b1346414c256970d0f43b21f03a40d70911c5ec8cd85125d7c005057b017f8ae11f7f622a45e6947dd76cec8103394541edcf5459e2108dd429008d97b013f35a71a706c7701a5c3bbd67c457d84c6ccc0f2eb8994e72edc4c2b02abef9a37afba47888d865742d24d086ad98cc64b1acd76387faa833d20c4248dc55788426fa7084beda191e9ce8b82feb3a0ec9c451744425fd90721d6af7ce086ac0ba1569e51aa46b13183804ada1c9dac909ae7c3db27a91cf7289294f045bd5d4265dd63c38c65f8b111680fb695afd3d651abd5b2f40f10f574f762f663446288b74b312d9b2db336035491eb927120bd1f05c6d6c9fd402239921dc8a97a0487b84b3b5a10970b48390c50daefef8c02ad202dce14e164072051cb93fe3f0e09e535c9db537fc9577a7cbc59598f5d1199be95d440b3f7e72bb35bf4684e83450c4776bc72cc34a5fdf7109f6ff45eeb4fbeed91cf8b72b62569a1632739e93d2ca80d428e966f5521a4f1f9747a4f39df90efb2601beff23cce25b03de736ef9ada939e39a109cbb603d881ddb6950d590049fad1a1c62723dd18d35d2d67947dd3b29ddeac6c084c979f43ec831e478f0f03602719fdc5b075ee11189a1a191552df8b22bddc741d0a8362d5073332a9bea70338ac87772f94e2595644082f9061977961d393d0b080516bd3771cd834c3aad82e0c56b72bb2af58b5300db2a7d499841683ebe97a98a0250a2282219a280a03f2aac2a0118018168d9f4ae22f9440ba04d9cb6c63c3a0ddb6e8c9cdf0aa1b3559745105ce4c2cf66909dcad21015e94c1855d5327e6f7ad432de18d46d092e6b30675c60a2aa0a64624b02bbec234f3f2c0ca229ebcb883eb34e9c050629990a30a023722c1366ec568161a89a7b0b44517b48ba45d5936e62389dbd5f0f9272e619db72d78a3722457972e1904eac5e2d875292f0e05c06f2207150064f5a54bd972572aac1ca645b11e3abfcc49e63604ad402188fe6be968f774df16eb484c1db5f725a14798f809c670131739bd5b7420a9efc5986cba89a9115eb0b80f92f721e72e448fafbe9aaa0ca7de14c02bd512423de209aa9a6879bae1b6e979e65fa6a45f18a011a4312179bca4e4da3d0bd7d2030839c87183b2e711a4f29b99b6eb7723ea3163909de2adb7af7374e0ea1c2e11bbff30945b8a38126d81547dd58696cdbbc51ac0bcce9908a0808c346302e2524111ededcc75fa0b5d7ff9027b1cd5dcb84ccafa9a2b7694c141c9822dd466b4875029be0887361f10decdf43c10858137afac9b3703bdee3b7d0c8da84f02bce013ea42829784b5de4a4e0d6217e5c23b49daeeb1bed77e196b8be3727e212074863f23a667b3cfa6342f18ad8fd726d97b59c4c2e05e71b9aa56c49aae2a1b0829417afdb8f3173393d53e8e8b172871e0c2b2e1611611c3272234e731eb00c0d1f96113892f93f9947a772684a2f6a8a63b53dd568f48a57a9c59ed777916823748c8ec6a8518e2ed03bce0cef1d1eab1fd319faed20882b5278bbad43593d53d29ff990c20eaba589d5340e690d5fae8aa0991fe8f9196f5c1b4e55dcd2ea1ef4c1682e6237248950fdab766a72dce4f29108a1a856b7bccb377bef3d1336cc9841e3929ff4346eb25d195a5e726c9dbc097f12a40279237f52876e6ebdade8d35450f751c3cceb0fafd6079e3540317341c7558ff4c6a9ad9d3266df89632d44c7421e3474576a578b234a13527ab952b7686a055404084b3b7a3de77c368c5020edf2c9a4b2485a58c1674472ed68c6b8f016342763403d9ba0fb5ac6b7d7ffd52db71fa83f078f5f4a2db772a4c7b57e31b714133adb70bc8fd9ddac8f14979a77db3c1a4b1cbd00a15c9972b031f8cbce94b9dc1cead57797023bff6fa9b8b26f565686d1aa0f24891b2f720c9998b8c6d877703ff91d8617f2ffe2f8f5cd17985dc8aa22f03dde302321348a3e65c0b88f412f73d89f134171c3c949f3a235218624befc90f85c7e891f0c8d0c2045aa23e8cc0d62ab14852d84b5e300d70094d86c680268362aaae1bc72d840ea8661291b8c0fdf373dad36c0247e21f3cc381ab456fe83ec41b483e97265fd451f7cb979c8b723454c611ae47248ea725d1eef7329a4c0e71ca802691983260e8969d24262c75082be281d0ed24ef92e3c2ea0eb91ebaeeb053c445372b72f8eaf69c6af7712b55a4b616ea063666b033f946f7b35dc927b42732a6b721a4934db71770f8837fe98dac1791609da59c6f9cbd11b12003060762fe22f72f0cba7d27d595a8535e0a619f94a6eff2c74d915d8c3f15f9e3f030a7a2e1a5f76e19aff0854fd83f921fda7493273f418399603f3a025b35678818c7965c5720148f65e74799a8e83179e7c4ba623b7a2798954be2a22bb863a7a7145f892729cc4e240ec3af856349a5b559cc66f0724d194816bc9e2fa7c65ba9cab9aa17283c500656f659e615a74de39cadc0451cf7eb3916ffc12ae068ad02e105b3a72f8e6b7d9aa1e0d5f9de5aad4b31cc2f6634e58020b8029fda2d1f7643e3d3f72c49926e73d2b1fb9459c36101b2cf77a5c7337d103fce14e11ef830f904b63551c176954b3f327d1449bd0c2af96f91293ec68d53c24509f7bcc08dd66df057299f3b7c5833d72a6d6449baf9bd9e84c7300d719431e49dfebf515cc422fb93e317714d524ce24350bea0a4f7713b10d26d160b1250412d4c9a27a8ac0f1a15add0234e0d5e24f8ce549f125860300ba50f4249f69e5da69df9c8e4d3826014b41574c9273e97b893ac96e1be00c5b48a80097480239f75524b1e2cb6477a27221f79efc6421f096be0f0d09c8ca126e4fda540872b564feeb63941314277412adfb1d71528eab7e0de5a5d4b4e734edc8a9bb457893ed03cd0b71296245480e0de06c0d84afff68710acd8b7d9f44cd5fcc436b3024f7c2b6e493640b65d4725753c91811bc38e27eb3af4630d2005111106d2fdb62dc1a9a7194faa81de7722c76309f1301884fdb5a17a91922f8fc24b8e982bda308485ebda5d13659aa726044d4cba129b1e3b5c4ecfbddf66f0a9a7df487e1bd5b537c57a861a246680dbe7bdb2baf2691ab6c1c282565c0220029875abaf79356bf25e2c54351d434528ac252cd8f38e80f3c9a2bfdcb9848566b723c1b873060c348ee83cee780df4833abad7b0b4b53dc24e09a67dcf5c49e0ff274d451356632fbd0eabc762e5a724d09ad6f68634968d6dcd938575d3075153a06b56cd1aa68a121d1c11debb872aa041b1c966a28afcb2a8a9ef30e9b56ae2525b9b7570be9f3caef4489f8fc5d2f653c30e0722e1c29b58fcd5ca55e42dbf4c072ef06c53b19d5026dd9c6b0721786c52aa5c2f692116aa9b5f379383806f0c91a0a667748672f7dde0cf5a665a4e9ba4d82db7beeeda9370c094ac16adfd0988b194afb00cc02c929d75ed011f85eb9d70ae3a06085b9e729856c775a6df6052d2c566f8b7bf90467771a4b722e940a5e7ec36ad1e4fbc2f6676812c6adbf7ef3777a6a296b74f94afcc32656def5c2116e57efbddbc3dea67d36889c511541653fa472e7430b5859bc025d4c5c745b070eb7d57b11f843d45d83c68addb6988a8f47ffd7f3f321dcae292172a6191a767286f926dffff20c27c81ffc7c52e9c8a28bf9b15b7d64e9ed8a3072f9699b394d817331c5d2e7f6c594d3332ebd56e99c49e41dfb87311db58b680924dd28c5a4eae21134c133a540f267fc673fd7a54235bec55adb10a10e769b03ca60cdf3a21f22ade25159f9be6cc1547aa6412c074188fc6b0574f1e829351123f15c1d88b8fe6cb724aa19bcaebf108299a46ed57d36e254c0b7d9a3fa85720b13794747cba338063945965b53c6712b4ceb8baa74ad606bd9795b6bd99a72917d27fd9ead05a27dc5e8a5ae5a5cd6e159ac17296001840895b1bbd13ef80c588bcfb37169dae6f01a05a4039b81661f554a434d247cc2dcc776171070237298a8a03c153df979ed4a87d20ebfd3f9fe9ba05d67f7738ffdedfc6ca4d7e17249726313d075129561a411765f8357e1be88f2c1d8ab2efd838893cc12bef5720a63c23c6888d020b2572e137f5831dbab455d3215ea6cc99d62640830914e39b4436dd38ac0eadf93ddd2bd1e7c10746a31e73fab6b2c7a923daf6479362820c45df175dd5474d93ab1b707d1c5d35a0aed7779bfbd6377cf795af68df5c772a8d4360ff8dd1f18c8aed795b867d6d775f1e716d9e214a5beded012a430a972536a15b1c8c24d6041710aa7338cddd98eedda81dc2e52f56e559e6661ac84729da2206b40b359a8ea8b42c523ca335f84d4df66e39b8667d4cf943bd57c3e7269bae984e4283713361412e9693ec997545f0d78f12f317278c21755c7ef8972d620a7dcbaf7277718ad15078ae3c2e8927d13558ab422311765e75401309672260e373b78636b07d6823a470fd45993b9aeedba3f37210f2bb85f4d91f8c4109810a1345645a019f40dea8744d22b9d6aeab698d73eac31bf6a5b88255a7f7294df454181ffad526aa3fbc538e4323c0535358d7fcbd556dbad3db17618d672a01d19ccdedfbf7f9a60ba7067dcd7628a6f91c6cc89b5777d67b138e4867c722636c630275a3840a3fbe61d8ccc410c6c6972879ea2ccade7ddaeea1e0e14164650820e2ffc205526aed4538371acb394b6ca606d7b8be1ca6dc75d731ea672fe2e4efada2b812364a2214d49ad5cc4e996c6393abf7cecc6b35a6276da80541f95b59244edc78d59868b7fd2649e75e3e02c9bced295aaedb7cf6032d8392ca1d7b4103aeb428521912531a050cfbc35022e6a1584e9b8113486f5beb608529a92bd28f40450d7a1f5da68fd7ba0c4efc1420075d89c1af73bb2496e06d672e4f7cc1bbfec9c3382d069e06e02769a30ec9052cc1ec915f11ff4c05b0cee72474282a5ddf9c59a8ac5df7f27ccc88fc5fbe4ec35ab517a4bff775dae5f105da9c210b679ab86b04477c2ad36447a09e3d1d1801c09f5eeddd6fde2333b8d72bc6c6afd647861ee9d2fa403949af885234d1b1be5519a59a7950c18f9afc46f461a717fd611849b5a95279871015de30a023139d8e4edd85ea14f31c712bb59195ed7412e82490d589bc82702955843d1fe264e9b497779b2cbc005963121720380c5435ae6dbeea25150b001901466866b9807fefab9e435152beb466ff7729fd03ff4ab9ae7b2c5d6d93b54f1ec459023bf6992127ded0d4a092a0c18da72202eab6d2047215b377e61c0189a10d74825dfb44d9713fba7bfd15626967f720eee91b992678d77fddbcd87fa594daa110e4dc55515bc4273435685dd01512fe6df99ac7990204896dc27de8037314b7e7fc969b6b9ac4f9107ac204d7ec87256f810bab7ac1307ae37d481cfa29bd07a3f4aec9e1e22192868bc76a37aa9726d1cc22bd6018613f48949728d8dda855fe00637c84ba34a1c704cc9be85c37203bed1630222db93660d669d17462321c429aa857a2a92a8b30dd2f481db6f726ac60375162943f3eeec1d64d96bb208a81046c4b1d80b6218917ae9d843eb7205c0e245ddc176f68041baaac9297f11b5fb645390d809bea7deeda6fe8ee334ff1cc96fdaa1aaa826d4b8b807005124496e7340ae426dbb328fe532f0c6e864c8374528590f0de168ca73691d0e3ce615786daebe3f45ceb44681ffdbd85772660ab84865985ffc93b3f9e79faee739fc772d62878bf9e87dcbafaad3c4e3722e8e88b4f9c2d7b7b1cecb54c29c7c78541d067a7a44b5cb598ab0b007b9a9728ae77179bd88ae24cde21e9662a0cc6a0c9385bdf8e4f991279367ccccf37e67459d5a2c3eb92af5a37d93206a950fb01ae9e53451e115474c7df0849c858427019e21d5377451c0f6e7e15564f39501c84a4b1f70307031ac63a9cf3d15ed234f9fec121fdc69db8a6e44f96a382a2f3d8ec6865a4cabbf8bfdde23eaae757237ddbd5197c5427c532eb0304d787a70876b6def4cffb4c44f3a8081f3f0d83c58ff201a557f8c42137e9ecf357512f59d3296bc500fb90834c0edf740f5d63cf567793e94a1b12d93ad0f78fb937956d3e9e17754ad983e2dc79ec658d7e16bf7c3a7277de9207f72724527ee134fafbfccfa02bbd5983e4c51ae521c2c3355b686ccf302e68f7a22c52adad0d7e7b1c1340f975e1ac843e0e97077d337be72960a87a6928f6c5edca10460dcf3589d75ab8a7229431f9def3edae6f4535172a447ba4f1ee3154623b85a849b66c39da34f9b2b16928a80a0b314fd76db8972e07b04516cbc70f7e4d3221249ab64851f516546377750cc9b07ca05c6200a7292017ec84dfe8f213080ea7d93a1ca0a7f030506935df159a63f1720dd32765aa7130ee829069ac4ae9ab0c8b859382969010568f064822497131a3aaa8c045df1d018e3ba6edd2714a0fbd493be1bc7c59697db1b986579613233735463cb400973cc1c99fc5179d58ceab835a3b5b3e761114127ea6345915a9c1201af5d725e3835376b001ebf27601cdef3bfdc21a1b8a3fb36083520f064d173dc625972f03a712380d9896b24c2d60d218a5c7534a4bd249abbcfb445935b03a21cb572f28fb25121a96e2f4e9707b45203cf4d749fa2f061c1b6e4188a8b72fcc17953dce722e4851fba64fb2e99b74e06e32ad6c0dcd720da1f4b89e35d491b83411c25d88815cd929a955f2965edefe226071ee34656ee018d4841c91795334ff80a3ec234596521e8afcb9cb687058c8fc2c266318d3e67d1145be35521444bba22883fbf72bb9e89ee90d09a9ffe03f8a66995730032dca7b48708aae015f637728be68425a8c17f132678e5229ec9a8dff4412cff6ec1e3f87f277c8535c9c772384f208f66a9faac3c4070b1f437f8ef2d9028dd0bbc6901de8a371eda37af72f521f1ed2f101c9414c95b649c8992659f2cb2a9810ee88860889a7c8683c23d26e0a02a034f1790f6bbc70c8a738a9598ca16810935b110cb732961b8ce106aa8c8e0d63c0fee559d529fb31ec19438c1b38d90041a61ad348c6a64f9c1411dc14ace2034820c89b7bb267994ad503ceb17f2983d0f2a6c7f3ae50e4047e75a3da47cac88d8fc96e91a7304cb54ffb30b8e733c3c6285c87867e83cd5f538721ec3e1ec2057de09049d8162747bde2ec3c6d6410bfa6e330f99da403bac4e7264b706f1a1a3fb260072ac397a28dd816e390244ae4f9530d60ad938c4c54b72a6b97e85188ed5db7d797d1dce71d5e0b83a1961e8d3104d02eb8a9b8b6d097263e333e76ffb7ed3673fe2899d9b3d7b404f44944d488d63cdaf0b6e1a4119726a219c6bd6ef244e40c7444a99765204621d56528fa3f35f870991d96d39f3186722ea68eba9668d7f819ab9c739b6aa426ca270d219b3ac3ad3ad42395bf17250ae9ad29188b406a8aa044eb51bcf6172219e1d0fffe5b645373a9d6ac7b13c551d7d749843dd041a97f6006966cb1ed91bc6b67827902e2a4ed0fb7c05bf7219b0641e5f2619287b74838455dc91e0da12932e0800cc4d7bae2db1ed78947276ee1c09475976961b5e3e0fe246d62f64bbdd3536beab32de517e8a2f126672d0c7e3fe77c88aeb1444817bc3111a9ef6d0b3b0264d62f7859ac8694e262972a5ec0f5bc3ece6b95b546c15773af24591e3c76129c1214954abb801bd76f672ba887c89b9a0dd8a73fa60ec4f78630a793f006f182b6d73512e5eaf81aa2872782d6a3b28c438b615dc7d84ba371d0c0b79bcfdab406d8085903b98b7466f72c93ae378c428353f91b65372eecc8107b60c03e610e25680267177ca9dc60c7200d0a9eb3701cac18984ea25e0b08f54e0384986bdc5c091a17cad5136a53c1c9db5f2c67700de32bec14ef80fee512c3154a7c31278293598ed44e03193c8295cc356a5d8b22771c6ef4c88cc4c1301993e43ca3c9a2f12f143152e4407635463ad2e7d91ad4c9c444869b622d6e30134a870aaec64d96fa1f6c6261380a57270f31ce8ca21993f708a374097eccc3066e7105744fc66e8d24bdb623d58a172066e36ae24238e2ae7a22aaa900fbf0f8697d4d660b195e7fec4195c31a06b72a1c3de2703dce70d64e75e278f4fe100e97ef65c1b35e1b67e5540f73ec7f4726ec142d3f13ae923e0e8bacd6b13b8c4cd7e9d8666f4150b9d6a9288563e7072f77f7f43031843d3228939da03f77d4e5510d690ec0c52ddaada3e08968b9a72a7360f0d289c5e27745bd7bf2db0f47ddb199e80e6f62d256f285589d44d9d4414ff9b9e6abb43c11a34c620affb11a39e1e43eaf0099f9ad866de296bd6c2722ecee20cce0ec6d525ee2f260183431dd9a5bde106d81e31074e707522bd0929b3fc53a897197a77e5af448cab90c533574ede41f22df2e16d55390149687b72bcf37fd20fe7eec624cf8364a7e19076f1fe39282d87331e9e56292cc3b51b3f3d7f8d29f7d4881e8cd618fc579e7c97446cf3c8cb32f6bcb4263e3eb1b8b95dd7f09da67197a16691c15337938c228596f1511c46340a6babc0e911f06c1f359a8eabc8262e86a6585e4bf69973d0ba72c0247a7aa55a77111185ecdbcbf95b6271343637bb8f3cf2902fc5a07fb17d372f6c9994d0a2c670efb1351661307263abd0135c44c3cbc37251a9bb44c5d421e88a2583324832938d253ca7b2a7066f0fb9378c14d1165282bb50399ef875a9f60768a4924b0917bf1b2eccb7254106d0f4bbd5f2d39a2fb4ab202e5a5d4f99d7e5243cb32522e796835419263d72f034ec1d5568c32f28e90451209cfbaa40f8c85be62b4dc5e2a91f2f01e9e355cad6760527bf1ad431bf4c1ae11fc74ab0c008de322c720c89aa7dd3476249729f701db0260042cac56273721dd5bd75d2b6fb746f2474ba2e32cf8ca57bcb1de54f664da73a66ff1f2ac7f5f19e70eca3dc4bc83adadfb2cf961b4c9bbfbd72cd43e082230678a0f67ef82a96bcf8cbe7fc4bee2fe4cdd065b437e60edf1c72e1cd4542ca1c205e5dc525d62332bb4dfea30417f170a548c6c4673049813b72eab84a97ab2de666c1e5bed35a413835dc8991691fa22423e19df7787ab08e72c7d9a383bd6448aab3a97e440429826c7ff874451a3b9650c5515b7b5a30940553bcd7fb252994c3ae08f652c053cd72a8fdb4f8acecc384b8d0b62090ee456982392bb5ff23a52d35377c96f55968c3ee37e0a3a4ff3bdd2f7f6492bd6ee615ee41f576476d21e17691ef4acdb8f16b808260cfe9eb6e0c019831a17e1bec7225db56bcd1db4c0fb1377c7b023c98feac94c2008bd0c64ebe258ed6c4c210720d4dae4fac40f987632948cd7d530000da8deba74b80876789771fb1c7361b72b210f2e8fa5f2d95ad46f584bcdbe35d33785ab634213964d8d4ca31aabc671d6ddec5cc2891e8def54934fdd98166d51ec815288c891838ca99e4208b5ab67215fc25f58117c9865f0b5d7b2742476a53a83af8948d4bea59b1a88f43acc7726becd9e378175d8b4d17d48fc2049fc553cb492b99923db1ccf2aab50c8ef20cebf2cd082dd4799de69ee63438c07cd0e284d1117d98445c84ed633412a2cb72da5d33abba471c0b1e2fd412c2b14a0ec1d4d9d6eaea48afdeda897d337a263e1d020ef23be041ca3574a94bc798ef3284c645f5af8204188d871cce586c3b7213eb13940857d8fe5e9001aae08e592db3181c1ef3384de30f4a5fb6672e90721e4ff47bb060c463954307c7635a408b4cb55b37b0469919d837045a44862045659f40267c2b27fc4dd539eea50f843eaa8dffbc8dcc0d734a834b7a17643672706b16788571581e9f91faec823741014fd8440d1a4cfb38cd08683faaa50b7205690f975796043e0cd67802076c369b131429ca07e0c79c2784d0421bd07372822e4ce3c6e76e68bbdb252c9994bb66012dcad45aee3d45c77ddbeb07479172c66a7648dbf3c7ae88c3bd187fcfbaa2b71c193cc752b15b8fcd9b77cad36e0720c9e575091d9455d43f32de792f88a417748473dc49aa1a666fa2d352453a3ccdf6cba519aaf7b24cde55f24d8b8ff8d6cd78bddd16faa18d5506a2ef176321bbe1bc1a85deb2c869226cd385885853a92177515abbcfe9788b1352b1ffcb721ffef0bc0e7218f4628b81b5eec0a23dfdfc27a3dd6360a99267e73dbd1d2426305897b339bd5149528bfefdbfd65144ebfb74c65a92f4dea7e24b5ce861c86dfb09ee810c96aad397677c82291e98651d85255c0c4b0a67aa6265a3a89ee45f90f8f2b897b9d51c4bd02114bfcb9ef69a77f39df7737995586be56daaf3b70064fe47d6f75b4d46e065d407e1ded067839866e674280a4473c9c2dfad94f74c633911fa3627dac9ee3177c601f8d41ce9abfe8a35c800f37a69556cb5ff10472ba71438e5e23c86538b91b8de5c3f8ae668bc52cb1e58754d4050186e0059720c29b1fb5ffd45e7fe05ed9e12dfad8f9c2b5aea4f80c44437be7daaead1aa725564ecd3c4819559e79f90109e773b7eade55279fd0bf9e0dbea90e2d8eb9e72c5e7c05993820a33fc447edbf5e66e9649379c973efeba6e8b95a11c5d7d3f0afce69e5a003c8125341845f34b27ffe56ff1d86b6f3b9719656478b5ba20730e069a5a3dfe33f0bf033e3c171b766e41ec2853254b80df1bf112a9552a4d8872e07b6aa195dd1231f54977c30266503c967eacf4a79e27e42459dc1debef693fbce1fc4c39aca389558ee0ce631177e9b0ac4becfa437ec452fb28218606cd4d079ad848c5575897e11ac2d68389f5970146f407e030eb609256d6c14a047b1ba0731566a084dae0a6b5e0d22d3f54f63cff56ce6a29408c213fdc3a009c2f7244074f6b26dd4e2385bf13b0323515f5391ffe926e881d25862bb37bccfd4f427bb266edb97d973933a9f2614b7d8ca8235dbfdb365bd3b7ffda4940c1412f2e00058f27d658d50fc5a9c83d2039d5c3ea6086eb9582aae02967f9bc8bc0487282433a2b93597af4a43d9325bdbe85715e425bf57090b34193b4f5fee1fd3772128157794a6447acd03423f9b72496a46c16f5b8ab74cb01494d95e7ba9ce622609d7a6122e8f225248656c93784b99560b1a5c3e2c282a753d6b7a3e977aa5fded15b5c9754bf879623811921d1cc416cff6277d1ee54591c2adfab45d0aa009ff6f3c438c5cdbef7e0c24249a3f2036cc99310eaf62e4fcb4af3a44ee3387234aaa0d750cb9551f7dc81a365cd989087cd2da2465112dbea1afecd4f8163489b39086074a46a750677204ef284551a12343a0fcf0938ab8d38e4517905a3302d9cb23bf7b081cfd9ce93f8b3355b803ebb1ac1596541dd7dbba3d820773572d5e3be5b2d0a28678b05eb16fe054cdd6df61e2ede1e51ccad2b0a2cff646872f7ee7dd3a30f238a5409677f08bb4e5265a894d8ec41d1ec2f92cf64070cf5720257dfd9f7c24ab4fa8a14261426b6dd4b2c308f5965b9f34a7bf5e63a3f023674ea007a5f5bbccfab340cc4924b25368e9d95ef8ae6347a905b99d4360381729ace0377ee25a79cea5a4803649df6f286e391a9f2929421f831d0e3efeec83a501714034bb7d1a1647bb4acc1bda7d6683f35edc334d2aceeafb4d538f6c272d0171999a82fdfbfec44911120ee3898ed74a0dfc679a0f3165f1150cf7c60725a1ebb22ea450668f860fa8c855724222cb202f65386c648aa675693e3e08f72f0faba455546ce13f5e881debe7011946010904fe3b4c7466711fed337a03472f4929bf50412150ca90a7570d3d7a31b01cc323f0af1b721a221c366ef7d915437e3e02be6246ea3ae71ff1831e57243b5cd33e62a736fc77bc72391f91ff272d097d049665f9ec8e75792ade1dc9ef0e0c64d1fab212213cd1ec43ef43ef572a2b77fdd43134c634029330d3da98b034a99a95f67a6497145cf627743114a72e202a3105da28bb88af342ea2768d980151108b4eb3c4c03945861975cab8554da3e1cd6ddcd4da702beb863afab7a8cd32e9404fad06a194b1a7f8d7c739272231f6a8f54fbbf2c4fa91117f78b703e5ce29c558592b30b425403dbf4590a72b1e93817d40ba35b491748cfdcdcb379d58be1ffd542093e235060532dd22d3c526749e9aa29a185e1e5c065590b2ea7914d32d3a795ee766ca4d571ce1b5143024e2162cb804ab9a869cfc690e6df2580e388b1016f58817409e52ddee8e515bef3eb18abd848b5956b24662690e93a976c6299e5b20952727d5b8231ceae72cce22ee805f81cef4bf22b4e9f56ac2d29b05d7486bc8be2b610f0e1597464681108f9098966ea8a4541e5d4b4f5d5a8fe4734d3fe5fe63d7777374f8bbfff7237e909a252ea63ad99d8292e452eabb782dd23f3737f328e8a3ea819cc70ce72e4765424c38bffd422c55f68b598493344f8044702c1af5a52c084d49802683bf6862a2240c93fa0d9f8844a6b1bc3428bb1ad7165880bf3987cfa2c502297728da9c1ee52c197e807fb773b7dc53796354dcd373b91104c275170ce5e3bfa0bccd4f532f4ce3029fc7958c3ecea59df14c2db3e4a93425bb99a14c425406516756b6009e69f1557cb03aeb014b4d95b595fe4c12062c53a0692b52836d1646795942508725f12f303a1cd40a896fd3ebc042e7eaa22bca9ae5f5e43ff0b6c69e8e512c7b33b783f089e14968cda0e7b4bad5a5a1294fefc1faf1676d292af444f12c88c7250f83a24b3a19dc54431f70c62f8be065a91c51b2292851e9334057331032d129e89ae532d6e0af282b16f8c1fafdb3b91eaa871bdebe3fdb5a57268b8ba2ce637743b6ff013d56a5d81a84360fedea1c8ad3e191e49ecca186a72659036867223fb6c31d4c12b602f2e8dff48a7207eb77dfc7775a5a97882b372aa237a0b6c691c4bea68176a860059d78f2ede1ac398b33b90eaca2a3fe1fa02ffd1f11067f6b8e1d6aeea655b0fbb606442cb5d3270389746da239bb8b453724efbe76ab3df973081e6c02baf3f6b1686a7bbee6567e2dc471c2c95891a503d67936906871d2f7a03667a34d7b1f42cf93553110c01bffcb97e16b5bcc4113138996c07a6ced448c973f6ce874c05b0a9abf7fa73ee5689b9ea6a9ec2f03249d59cb0057e0240f95b11590f7eb17958ecf6146f8e4eae034543ca14eb2f044d51a03ae17487547bee0d7d3819809dd243c6eaac8e34e5d37cc6366f6c2821320793db379e9d2a2a2024863e03fb3cbc2118b77969e852f251a97c6487baa6720feeff07479a2de45a8aac9c4b8fb438c55cf968bb5c357a276360f230fcd172ba4c9ffdee5dcf5b8d793db1cbbbdd7372e8548aa44736e164e2058e29e1c6723825d5d3f7089be79aae07e70902febd3bb310ca67d0507caf489c0bd1515d72bf345fa822b8dabf4c32636792977c96e6e7e95d7c3d08a5f5d7fae05976ae72436a8930cde3355ec3f5459ffbb307ce1eb9e443ff096591401d1d98d927a472402126a4917ef0ae2f02785321e0ed1c324e40379924ec1979e60738a834e472c25ab986e40929347d5334ff5ecc94593dad13e98aa53922d6fb4ed75224327219d3517289062fc1f3764e70355ddad5af9cad0a7e52f08a64d9293e2f1a4b721e2c347d6f37a856d781aa0a0f1a6da93c946c6719e24a4ce2d705b8dd4c9c37eea22c400efb9f0cbb952a329527833eab6a42f16ed612e0754addcf0436ec2e40fd5e543919b9b8bdb5b50f257cea8a7040861a77b1543b5a8492a62306323002e1912bd1ed6e8d2678fae998fce9f22e3495f5c4273a4e0eaafa5fbb2782459b82e883038abdfa9e3859a0b95db105550540c47a74a21f7acf3a7597270e72a2b4011727f19a77f45737f92ea68e9b64f1fb98a905ef2d273e4c0e727f8a7227c6c635e1076fe117e4ad3bd6b49a38762a3500b8ed9ac038f9085bf6e8df728b17c2164a2a94a97a68c80b804f6daab58c5b92377a5990789e886e6ffa657162baf443c756b3ca21cd4acbe5f8bade5d63df22784db1503e4e8c0457d6c4724f6377084dc533c7d85521442fa14b18a14c90a02e901901a5fefb9271944672847131f38c426d53217591e36574cae1a796e614b49777aa364fd5372abac8729c90ff9999b00b83ad11aab27a3e8f22cec2f25ff92e354da3442795ecb96c7225ba483048fd69a80bff567f79a4e82472775bbb88d991d81b89138c1922222aa5196f4e844632d2e5df1b625b54fbbb85a27bdc01609687ea5cb7e99706f16557447546cd5c3ec2b56026aff61ea170c5ddcaad04bb3f8f600c412c27c7af2eb1c52344803558b5a225e13f754d1a2794699d1a6cf12e5518637a8d3fa62a72efb70d8dce8c81b46d2c7bd85c5a8bb12e1a835915b34e811f1c6fe5f350c41ea223889ce2d20b353b0b129fa221c703478de1a454435b3ff13b1bd0c5761d47fe9f9212ea6fcd3104ae1125093417d3e008e02d1339ad08dab71f655da8ed38fb5918e0c4286ef07a3dbe3a1b44e681beec8df268e07857c69c7bfa00304672c5664435b6ac2bac3fc5aa7af6e9e7a66189b7f50cfa74fdfd4b5fbb4491e01f4b180fa223659c75477fec1a7898d2466d8568c594b00d88f91f617afe0ca64c0f1c1ff47b24d5e91f8eadace87a2cc9768786213963babbcf917852afd370729e0233c0f9e181bf268bf64e9ab926b26d657a92df5b9218cb440099a1bb14728b0f6bc9baf1c3b1dd662e0f854f83b2de3a3824b653d8b40fdfb25b03bb1b721c14302bbcd875acaa43316bc3bd43d85b9842e473ea1b6c129c20281eb16e72fe3404bc161de651401923ab7b5272b98d537bc1e20f5ca424f84b1ea45756610b2ea49a037849a6fb32e6e082cbcb8023249dcee9bb8616dfc45e5f1e016725d256944f79f980d57939ad6fb537985f3c04df25638dab46fe9b63d9c0832772724fc832b79b7cc8665c72671df52f825dc1ad2d8f14e1744b424c55d4c4f5720c4950a1944715106a9a1680e25ba3e0311bbb2e38aed850cbd4a5f85614a97210f2ddde966e8fb595372055033f37c71e16dc5a72891e01d6adb3e37733dc6a134950336f4eb3b61e1327e82997cff2053620917701071995fedd7370ba684f249bc7cd371e6b4e3ab2d53a7db38aaa33a7f8d3f93dcba9f0edce18d1d4da72f047d22f3ceeef70c9a28eda336350feb9fd470641cc64fcd6437cbb74f801722639fb09d0ac2f0a173233145d94ce6febc51abf80af2bf0e0c6c539115ba54d33ef169646f2e245f4bcb586e1979d7d96673cefabda4bf8798c4965164b4572a423348ac349a721e0e9e48894dfe9d2ef2ab0f103fc824baf0f588c53d124725dcf60609b441167846e8bf569028f3307dae6b0cdd4b42d3c748ab63ae40902cc2ce3da997bbc3a35adca28b7877a5e37d6798784f7e047565f83dce0e22d7206251ff9acf407f129afbe552d3f0a0a3e1ce134da1bb3b18805a1a7cb22e57284f2db863ea7a5a14e1e9792aef41deed4bb5f208ceeb2f7017b357b69f852726057acf3083ed1efeafaae72f223739c7bf7f4ebc0571be366031d299eef6f724796667bdc10ff7fa8a04b5aca743843dae280a30ab4858f726eed420500f572dd4957b307256d39f47a21da79513c05e9d99a630bdb7ea5a4d43543b3e6c272501535edbd69c87b8e34e74075c17c1a47c50efdf35b4ea8cfc53bb3e0e15c51103efb3e1a1a5630bd0dc9c8abc149464e9eef70219f48522f6b63cef6f7d972c6769c58b99c377a22548f97d9f4e9836bc19cee5cf8c418ca3628f18af75e0d36e3ef52f6696ed4b79e2f26b2bb326a42516a7a69faa3195d5a50af59a4cd7230a7772677f7bff9cc8c3a8336638eda74071bb074387912598aea26bdb53e26263691f706159df5d4cbcb12815c97a868b50e0fdff5c0df23c198fe004f44418497e0b5639adcd9b1adce25447b27d0525825b6ab9f98e9e81d5e49ff7de372473fb1ade6c646508c2714a0f71484f54cb5d70b2728fa471cc46b8f7a5fae0e1794e8030d1ecbb7a5c79082480511d22ec138bf5ee808bd4f704abdfc048c55d012bb5e43ba39de2e3d91c74337c525c8821fa19f422fb292793fe9bc26ec7291cae084082c54ee70bb78ab5e45616c273e56cd1047c505928f02f3dcc5b208b7725a8c939d3afb3ece86731cda1ff504a9391a12b7e2f260bb8f24591a997220851afaa3bd4009155e2ff4aed573588d1646279dd2331590ac63830da4447250420d0da522977c19fff98a8d48b05745d60728eafedc27218ccc2d3f228e722699715d25e0256f0f4344de54a8014f8c451707a9fd3c5fdde2d19bb0261957c2120841c6012f32670e74c289811c672f39c3c202e2b753edab087c2956961bf3285b2ac531f13e3e9bf6ec1d8d29d622c6b27a73bb38010a6a52e9d4d30372f6919ec0c7bcbafbc8b1a83e9666f9e5419ee63bf52dbd5fa6f909eb110b9372d83cbfc639dfeba9cdb5ccb81cf92d37675d1efa46c86a7eabf490baf975cb5408cdf3d368449dc1e4a3818c9bbcfc61605864a1e8bccff4248d0aa635ea9f12976e5401e686ba6782b97b086f5ca927763557076c08184d08689154e19277725bfee95f42b29382645767ba7c69e49f330b3e037e0cf4f348d77121926351246cd325052017b992d4f40d9862669f1e4730e29080c861de4d34d092d8db56728aaba3678162ab306f407591fd068964e7378fbceb224f5b99ab4de8ebd443726a64b084fc4e8804743d9fb17fbd6140d06bbc4cbc0e100ac2e938de976f42723129b260f1b053e6f419a660a806922d690853bcf29132a0b27208b392338e6764c0daf93b5131ce061cd3947c4849da7fac09d727d9862c36d54dcd439a261bab678f3bfe7060fd126080e11699730b963131b7f42bcacd1fced997924aa23133bd3ab9ffbf358c8390908f49ff1ac45dda7bb8c7c7234c54a80132595e6072e9b505ed477fd5ace0cfe8edc4d35e4dc806246ab8c949f1339c2ce540139572c844f0bb7ca9c42ce3335cb705853825e15dd65ce23c91731d3549ad1ec3752b1ec8c9051d647f20422ef07c9e4a416ad2a2624fc8cd0a2dbd172f30ed0cdb19926578c5626d8831d6b36a3e75f3c55ad522ac1c28de3005d8fed20f719a521dc4944393e953711bd51fd4ceb0535a9b229962200547824b99698c0159d24e384da9cc67d5d263686f35199fc2da7a9e1a97e63b8336658debacd1ff29b25172aa8d777ad2f07f2169a5c48f574b23dd9587912138135a6a80362770877d5c724cf10221fc3bef79e8b9fe37e9f3ba9605665a4583d0a6743f616645fe7fd272f1f3db5bd3f95bd5df3df986f36e99042aae0871fe38e4f8214b506b83e210728a8a3c686f482af0d2f74220bc6c3d48cf6a194bfa33362767c20e622919d5721945c763f27e148fc3b3c891ed92b3f172b3252d150d9acf3d5d38b26feebc72d80b4164f8f1a458a8a3db90dfd0234320def74a12d41a9137f45988dbeaee7276a7dd78d3bd3027b23e6f9ef83f27d6a48e17059660f848ce0d904697c2b772c201409a6fcddbd7384f174981fbbcbaced154ed23a87f39643508a7ca8b5372b8cc8d61c5a738e46f570975216c48f636c79d7c206c29a80fcd084de90c943e2b393355654511fd7b07063903fe5107bc9d4ac87a48a5a09bb3864a42380e49261385f6ffa2a1e71735fe6e95a3aa0d81996ba6ec303869bb9382eb9daee754e9c71a7cba7061a89498b1feb6ce4fd49336589302010096519076ad2ddefb72fdece8b4e3e4d460ecec2650b9c7960626d5c1127089341d3fcc77c336be41276970312cf2e19f407e4ad83d22518d000c32c886c57494680370809732ad39722a444fc1284ad5acc0c8b2932d16629d494db625aed6b1aba224bc247d7b7260e784705628792ff0164355dba53a705981cade5effb6b4ef77bb0c57978a636c512ea7eb205dd96dc229464d3b3837a50ab015cf011b9900667659730d4b7572fee7ccffc5e8d533da605955dafd0033dc53ca43b1d33fe4e5d7a611be02561760754c208e5eef56630bec19b087bb6995656557c5b89a395143500cd41a10721ee028b9705ed98e3d84286cbfc11a33eba194ecaec6c08f039667f2b1b672460d956e28f6c9fc87b5410e0ef664c20c55ba1a57a34eb5cfa61ba97c3e2f3972898db06cea311b090f85ee67a6dd288e3be434cd1ecbbae46e70aa07a6a6b372b9d7218da7f7d9871966de36ae8444f9c15fe666096baa6626b953f8883a7e72571d86ea2634340a66ea73c2a92b8b6241f474558e2bc96979f20cc037d1714f0fc392c92bb7f3b94ed1c0094ca98f127a79720c1238d58204d36baa7f121672a3204e19664ee517519c93cb96cc28bb8ae0d8374c4ab4ae4a1aba4fc4990072a25eb69b6fd00a88136a7baf92e7511ca6a726f2ecb050b32d3870c384274d72e798e5502d5c81e630560589f1c3dee8d1db58eb736ebbe9fad1fa44412c3f726a28cc7b1a0484634b6a87e448c66232ad9cb1a5947324a7366c37674aabc972e800b90bbb4467c7f41faff50bf30af808a5d9f69d75433b7055ccf83784bc3288ea268b1b32c0388592ca3a90ec059c84fb1ced7d520fc4602cf7ad62a8351023b7411ea19cb873c49c4eaebaba20134ee62ea0d9c9957af71a5af240e0b7726680fdd55cbddb143ef9f872b13e29737bf61a105b773b1cd6993ad531f3207274b697b605df24f08c082562fba25b3eaf55b69d0f3d9c5ed8804a94eaa9da72d1295fc12f7b412c0672405487bfee11d7a6f7c7f9ec663ba91424136bef6772a785590f9bc4faf9fbc09c0ac71f1e9b70b54cbb24efe800d1a0e46d30de197261743900c1033bf05d5e422bf55002b8c4b2e7c3543b2f9dc87f98eb44eaf324f28dc99d2ebcfbd6c1ed0f3836060ae35cebbb4c25ddf4d864e6763a83fcce7299b7d0916d0463df68bba36c13e3a6798980f62dc092f2bef338b87e679948514b012971449785f4390d95f316ad9ca94b97174d741bfdec898b2f7bc4f74f3b69814d0fb3dbe1110d9e2069a8d485019d15b433a167a13c856b224bac58252d7c4877b41a232f447401d135536ffe40e4b6ed09a135cdc23263071f6d705a2d0bf8bba9729955f10a4682555d64774e3a25b4de50dce360c748b1ce59296e7241b02b0d5e4e9ad428a88a5df221595a0a50357c1dafa829520ed2a4cd8c5072d94e0c5420ecd0ac1cb9399e0dfefab7c1b996263d634cecf2cb9d0ab0a75428a0e1b89e58d47fb0614307e0eb0b6c9b6fa6e4d62610be6b78da1188f94da372119c65bf2f0b573586e6ade657754c5cc1f412f0024f081e17f1c4893b7f80720656f078f827217e5cae764045b2587910a73fbea9e41591d2a0281351f68772e69440bf03ec9c33d1f0f0d185f317631f1d9bb4530348618bb4632558c1e40b9aad5a3020fed74e519a135b435898f2c4c3cfe3d82a58ebfbf5f9f4e0302537ad663cb3abc50716c0b4ab0bcd53cc595bf7305f6ffeb31155bd9223e6ff9972949ce0a61a396df83751e941f89a81c68cf419d8d9d1871293308f349ce4177208bb18c6b4b77dd13ed1d16bc2bd5bd219eeb9c66e2f6d6081b41e3a3601137236e2e805bceedf6ddd4399fc9c82b3b93d93a2e20e487c806e1e070500bf91570a285955b88f276635a5e18dc7ec8328fcf3e7f0abe3d3372eaa3f4ab4a76772c2020030ed1846eede7a514bfc16669660430148e1398f02f7ffe986225510726dfa5bc4ef69ffa2ec8ca87077295625ea274f33427573224ceea2cff694f072f6f6cff4352d220c0e07ae76fe310730966c1ebed7ca433ca9836f63c7883d42642a88d86bc213cca18f0f46908820663f4b655a02e19b196eae6621205fc872c1c0ef0493ca584300ba4a715360cdeab582ddf2cc90761974a9b9faef2f821fc95f31c6ec27aeb6e60d035535ee77288b3e1c3cf0b84cab36aa977904a1bd720e35465eadc582d5a84a39fdfe596412f224bb1fa072e960684246cae02dcd2c458dc169e4e41cce1aa9245f33f6891bba7d2a0ae0bc56f73240b4e9c7a6782c6d579fce2cbb98a6edd03c9657ec096e0fb7d81304897bed464e5124762c7608d71c99a00a3d457f6dcdc99f2f8af3415b27366a48e0bf0ae3181756d7dcf172b0816b3af2f1fea9826adc1c7cded8036fbc2157226f2c951699a322b30f13600bd3ad388b31cce3d50634b6d6a620314d8e4a662aeb56fb2fe73ba1bc2f2872b15333d8f63148a0fc485a4a54c546cc66e9c8c6ac91f0509e3932b33d351a5106755d06259ae5e79b29517647bf2f60fcab264c7a998c47dc143a1f0d26fd078fa12beccc78b5f34e2cc9c43b7890707fae1ad55b625e65bd4b2736087b8a72d2c1877d5ac35e578f495d1062fb7dfb2ad1ac3b0ca59f308ffe5f3ea59e145cff743a430303a2c539b4e5fc6a51a3e770965391a733e5292411cabb8d25aa72d078bc49c34147d426c8cce80f5e287a7da8385d5c03f11e643cfb61245fdd723435a5d2237d44496670e197008191ddcc070e10b0538967fcbc22e8072ceb726b946effa5bf540c9e0691534e05ca85fe5e5b071454b6b922ef24c16a44f70aaa82ac201048375b9bc58829c0d4cdefb1d46ec34991d9fbc667a3113b438572f11f3a7a2ce364451c91cda101144c9afcd1680d90081873dc2206886650c91c2213976d72f111a26b9b8599ac12493e52abdd4f5780e0f5b570f29c4cbe427256a2119da18308154f45b67fd66540f33125475226f7181fb7f7cf90c08e7e7207a0f97cac0cc335fc8701018e060dac70ca64f7466279fbe1c846ddef2b1b68e04bbb69f9fd879c97da61dc784dd3e894c1acdb4f5a504dffd14e8942b92272d8b32cd925b0e2c1e8519237ed0d75b4c9d78aa716cbc6a864c3afabe7b466728c7979905b9685d9ae52932f947bf29df3bfc2dfbcdc6fa51677b6f41ac5d57273d684630d86ea665b080fb3cebe9adb595d1e62d8d987ed2512ff66afe8847217a3e58c1902f469d59c566b9419c0783ff09f439a006de3f692442993fcba724f6541fe77e43ea53a91d5187d0f8a4eddb6df6375f582d44f55b33f59194c72baf18910c8f485f01659d47f394ab0d29f05d244aa7c912b97cec43e486fcf5cb4491899fb345c68c7f81b119d7e4e336459c080d89471f4d67ec9a2af6d773f11af2e7c17c4cbefa53372d24aeb9c0fd8955d78410c0e45f11840ef8d1bd55a00efb6ddb94d31051b6d0aa2020ec2f735c7d86f1691f3a462592f83b5e65872468833184050a060dae480fbaa97734cd02a6638a7119ab1fd02334e2a0a0a5fd2dbbbf7f1783aece845880245abd7e3435a70a5eac44f35bdb8a028bee39b72f140b1d5016d4bf4338e125fc7f538f7d81faaca1d782ad60bd4d5f77c07bb7237c7d3635a8c8c516c29c7872f5ac758454761a3a08fba122aee3b202e97d75f3259c2ea5dc5a96f47deb879cd5dc38ef1717d88ea5da4df6bc9b1a88e0c1d72ef34171a1e67b303bd20e185f5190ac5219360263f334794ac657e1ca06199721c471d30f24ff0b388117ef532d3ddf5d77eac2bb735d8562a46dc7fdbb800722aa4557ffcb0f90ae01ca31d51c48d59728515711e7d8761fea140d069536402f66ed7608e2f80a03e7c0315c30231384bf7ac35ed25a92f8de77f07248c130e62a09582cd6ffaa498945e56a803a7c9f8c3f44cf774ebac28e9eb59c2c6f172f3c30674fec5bcd153c6d3977085af1298984ee4e2d0009875b469c98bbebb72755378cf665582d73fa7888975795d7b55591506b90b63b7c9f7e6eb9eca2772b48679cb9ee9699a5485851cefd214547bae6307b2181850eaf675765b942772ba789b21598812e6f4bf3afe18c88d0046f7cb52b1cd8d02078b27e5f2c38472a04cf47c35e45156bd34ad04020d537ef92fa47986b0091cd836f44f999a995f997bdbd8f003ec793a0422c2292717027404f0a66c398e73df857e983d748e72c5774b97b2a387d2f4366bcaaa6f98663c90004c3882eedbf78bf91c060bed72033838f133124b4d34df97432ad8b89c5379cd13206dc1100af95f1385471672a887914e230f25c5eb73124437b925c152d14766885e362ef2857f5fe41932728453585de0edc812cb7ce78c06b466e464edbc54651cb7eeb8b41a8e9f6bbf1046f97627521325e26305d89c89dd51683447347689b5d5475913020a2a0ea5726463d9095488c9dbb4e264f07f900257136e0436ade773e4a8767400ccb1697242b377ec2035e3bdbcdd372eb9ada090317fcde4dc235c39d1d6936e9b46c8727665b3714ee7ef2442bf00c1099458ebefa3cc3cc785c2ca3fc25c1515f3d60603312b3c5054a98bc95b3878dc812a367636298047a5d4950031940321d5e0720f6500cd1bee989383b14c8577f7579e09785277d234516f8cca4cbc12861644aef3408b5745afb3048f89824d0f08e2470f932d1cae759784ef507999788072002659c07769bcf0901659263478c485764e66cd8be8503550a9fc2b9208ed7273fa92ae99ae42805654e684c64551941bf7e950adef8d19e0f5685270608172e1bb0d8de85d83e78b0751ed80e3687d0022271d7baeb50a17ac6b0d4b5f11413b00fc35080c1cfb8d8d5e51c63338cd4a2fe2e1dd252f63037dbf5b8e824e3484a1396fab8cc9eee8c1b5b8ebc97a5ef985a0728446434152f27bc5ee8f0614e20b349a45ac9b6c4535014db679e043f7781086504e536971a08b663aa8de727d1103301a02061391dedb3d0c3b5dd54b445604293d85569121549f1e7de93555a9b9fff5aecc79339425400254059b0ce7e91e0e7f2290bda2d9eec8549b723d3df7f83539d26800394b22462a75f8c6516f0c392bbd80fbf615833d1ac9726779a957547ef445471a5d524042c44feb9fdac2f654e026730eb6ca938c00729341bc9f7df5dda6f43f3b0f6233c8d52bafcab1812264ad7bc6167e33a58272e0706d42dbbb489b7046d8f160be2f791914ca53444b773f4ee609743d35e2088abb05242a11569b6e9b0c0bdf04705d4956f67b1a66c81918d749155f0b9872cba9e8c5e1e3e150ef07e57bfa26b27ce103046065edb407a7f103311de59472b5c2e2708835cd92d08d3a824643865a112bcc2d4bd966fd2ce85a7a053dc5720beefbaf92eea0bfd7a4e1d9cc08c6c6867bb52a1f7d8b381a1f2afbd61a12724048ec9b2b63e66b42e0f790a2c1a9e06f984317d56f21ea8e143394943735545becdc9ca0849ce49390693cc187fb563c4b93816d9c4af02f754a9e402402171157c0a34a90921d00515126973917f8fc83c7da14073742613a5292fd55875cffccad62b23bf663bc5fbe9f620387f016279f549b4b3b815540e15efd05fe60aa0d2af8fda1e9e6727160fadb334862219b732f98ea61223f2d8bc8fb4b1172202b7e1acf22f692994670261280baf18e705ebbe2d2cffbb0afdc1337cef872d34b2668fe212cc2373af5f91fab6f33bc67defc4d37929d93f38e45777a5d117a3f55c7e94c8c246c9681b30e899ad3b29622def460cb1960b2e3f304576f72277cac5ab357944694bc471d002cd6e843470e10b077da68a98114a4ce0ab3626598c1e2416fd0fa0f1bdc912ebad361cf8f641dd0aff4b908d6664e2a721e721d030ccbd3220c4a6567d476ca67b12d613687b8beb133f45b211e36e2c4ac05d063e29be41dbdb8b5e1fd3b16476729184f8a2f7aab7d82464abba312494f49158e17d446a36d2c35855ff3ca2a97f57a0ff700d271ea9873a47d3117039b72619887f60537cb2f62f1ef75bc7a2309682b5ea8493fe2e3409663abb1a12472f852b2fd05eecc967ddb858166431509be4bb3ffe50e8dc0e1535f82efa09350f1e8a53a0997c76fe0f4ef8e4b09f06eb6fde9286662146490e180df5f7e737249816c2264b4d633cc9a2e9feb7523799798a89fd486c6a075e0bf944c0afe722152f145d4f0de15f0240b982f5007bc31435105eb4e1f65aed51f232dc44a11feac75b7a636e3c8d02d8c3aaf5dea4358af32506009c8297a81f681a72b1f5405b5883eae9eeca36f39dc5db69d39c09f7672304ce6a0c6f6e842c7c56488714b6c70ab1e9fb940b048c8aaa0ac31c4084d275b8d0160596c6c153f3a808872e144fb7549dd948e10399b12e783811ae1ef118c957d92d950d151b88b5eb7728586299b3c0e89804a89ff5e4e81c5f6ce04e8dbf361d9a612b43d00ac2b1522debf1b5403302c35e1249424b21f0d154c53854cfc9b114eeed1409c463b4b72724af02c5d46d0a3f75234bf096e80ef065117ea16662d555e68d2750d2fce050106b1ba87185979c03535911bc288b831825a97f4b655c54966cafadd92d249a5c14f34a42d323e0b77d492e9793bd543215f84ce9095d328fc906d33539272e94884808ac58adb9e82291050e7fcac8bc8d2514c2a0172508e641bc25ac6266330ea12e358abf29afff863374f35f52d3451550218d281a692dbd37c3a4472549285d367445b358ba0e4f56523c834ed3f9395070a31dba68beabce86ed146dd22a8697be55cfc2ca2705dc1576baf0ff3fda43e4b030409a13ca90c7d155937c319eaca75f0b490cc9d78a0bf25362774b0bd2015dac2a464fcbe66d54f726f8dcfa88bbb0af4e7309298887d551a56211c91005c8c581e1289dc9d41901bb545981aef3aac03c83150ac6764b3e85dec70fbf651f0d6a13216e687b616721a344f1913e7826e3b13cacd73583b571fa828c1e203c02985f67613251e657280b7280688c93fd99c5323968b542f97fd6beb323a0cffaa5ffbe5f3b460cc7283fdbfabff2ec58d702c3cff33673a91f2e75e7b6ad4a0c20bbce27f5dd72c72c30d91c1e4d0bddab41724b43ebfd2b73b7761149bae1a16100e0a2810f40172348fa7091db53a87103b1f87d3a4372b3669db985d3d03edff6a9640f8c06d7234cc9681df37e40cba8adbc710f5fcc16f577a33fb8a427ed446a4f0507f7a31cd89dba2182cc461ccbaa8ffc5c70e792e01369bfc9fbeb55030fe8938a22139007a07ee4f44722daae1f16d62ee8d8c501c69730bd0bfeb8c8b5651f1e5034c7a0e616f7554319d4616e7c7828a89201b8bbe3aca3c3de3fe92d99d4fcae872d7a32dcaf3e68850a6d6a84d9e8533bc6d575dcfb0003dcc92b5d3f04d379572d28369ab56fb5134225984a9b5e23a43443443dd0d1e4a52b2be2d6ae28d023ca61b24ffda0992355865f0d3cd59e09f39e0aefb08c00c8f7fe780cc1f2f1e727a47d3835c9a23f9a338b19d4d836e58ca0b1b26a0def7fdd8f254dba08b5c145fb909c343743c36447cf7c2842af180accf6fdbc2ad74b78fb9fff9278ec71da9d150b014b7b9f84bdbee975438f22eecedb478c28a0fc220b7dfc995bcb372ed4b8387b597965d202d75fd7200fd9e93ad04c6e468e6875956e033f52916727dc04df0c5930338b403773eb568215ed1d0df3e9a30537fd7ecd796c64b1c727c3fff0d8fe92200120c82e18b49e12e61a2199ef6ba4f615234e4a11023541139933eb1cbbf698976ee383815069c8beb7a5105bbc4af683093cd73c83b536994a888cf6c5da694f72fa4f71aa04a8f9dd6fb369bab54fa31ff07f697a9545c5a352f26825d6eb8fb1522c799f2a22442af58afbf07d8cae0dd5f9956ee0e72bfbbacfda8befabfcda4207ec897d7baa6cee86fe8e402fe61a124ee62c7923a30649301634b007a690bfe4324dc8a1f2525ad584c3171aa5c2bc40ea961d072c408d54f67a3be9b3f5a132904fc936708b1cb208013c74f8f1e2fc97efd7a72cca8b78735f9009d29de19a4746ebe9b4b23b0679dadac2c1c591af42e5b6c358d593a6e3dd50736c153ec5df4884993077e20875811d294c5993cd4af4d240541d3abf83b4771bf3ceee04a127638166771733901c81acb434a797214b53b21d6fac20aec2b709d26fd895a1e5f98097ce3fcadce38ce8b03a5f1eef54dd372b997d35c2257a876df5efcaca0dcb8b25b6671885aaf7acc1355b07870d8be38e76825c2b8828688e4fa32ec75ff9816c5a7b68ab71f9d7909cb38fd86832567c01e115a1756811aa9e63917cd933b27cf87e70016688bddc0a6b1e1c0e51e724f0c42295689abf5d67cbc4df12f1b4d49e43399b7e3cf53a84328cfbe3c1a7298f64fe028386e9422bacff27d321764ac3a7a54c49fff22094dfb7c0ae8fc72a39e6e9dbc9f45181f50f6fffcadfa52c57ce0cb24edca36156cb616a205eb72f2e9249046a1ab1f54a0f1a841cd2a51748d43724f08f1e21b347e75cf65a467f2d988be9a5ff40990c68a54791dfb3f5728f1f203319659050d3d2f6bf67c723390eab00dc0186823956574a1854f04111cd7b9925bbc53120011d60a2af972f4031658f876035f465593a402e58f21b2b98bffc0a1bef8a3186420dfaac072cc919fe59c65950b9dde27eeb1a42cd721f16db0f66cf41b58ae9ce2299638722ba767bf52ecbb4849d1e1e52402bb02a17b11ab730af53aef44bb76adb3fc5d55c087cb0876d25aa0cbcff8ca9a286a1baeafe7e48b0bfd75c0d8104b109412c7e68da8344111fa22e7f96f467f2d1e7655b1b3645432b90b72333e37f0fa72578ad49308982e85e2ddd791c2b630b45026ae2517e472d65a72ad9047d23c5dc0cf0d2bdd37b4b38cda7195ac621e49fd6bdcb04f6b66107b31524214e06c5a1973f51ab2bcd6d859504c8e0f3a6d606d11d70f371f9d2179e4faaaba3704260c24d2825808664f20c26436a8ccad11fab2894ea09a2da1aba779f0ccc63243275d1f6f588509e5a93a1fc92a322b152e86270d3a84368b442e3ac0772f9f00e3a54c1879abe619d0ca7be5f76132b2c61785c7290e8b9d74ec783be769791dbb02076137860c2faa0e4772f42015b542127cd512220acfd6adaa8d76261c193567e3974c2cf1b0c91fff53db5e33535d132e17812be6ebffc0d791c238f272eed649b50c1f41901298e323d2f9a6d1ccd492cbe5ebd4c6334801d0bb03d75b807ace36ab02029250b09633dc4b01ee88592a3dd118773a8377eca362a65872ccbe8160178d85066bd9a3741695d9dd10dd9d388780c7db9547ee7b3dd4857227f1a601ed0cb21f691eade52a5b4d2d0866afdfa643576fce7daba21d62eb72606fb912f29cd8e04bda8e68b93dd0a76931f44c513b64774dcbb51d6f41b872838fd75de534ede37c387e4a417e2be6306ba017795ebf61d6f5a1ac2dd4ea725abea740677290cc53c1b41fb70f60c2bd6afb645c50088869107fb2a78bb9729917ef0d007b8c224ae87eae597d61f98f3f8913406284da73edd47943b13d72e94f3b8d72a7e05609a6b005ceacbb91de22d5b641db0528441f310aa308c13d906419a37722248d6883e98c2409cd3102b448405b50576d941fd5ae6dcf8562d727120c0e8fc9483f6b941ee2e0de2a35dd91ed4b85fc38f9297cb724e8c529997e2447289465b3b40dc7e35bb74f9e9ec4fc46e46ca5223bcba820ff434272cb953e987dfac0855885b7cd6a2c748e168977a4fc9f5c688b9208605f174b723a5523dc6e1c595c7d5074560ad4a195aeed3b91bd8f8772f7c03d34e214bd725f7fc592a196d2d7834ca96da8666ca5dd3d2fc7953f542f66a949830f36626389df0e58fc887602834ea4455c0d023cfbb94b6a6374123bab2079efadcbfa271325290b7b9ffb5c28d22b77edfc5ee9e0f5028c517ba1edd426e29e9c844b722dcd32febaa7a2b4144639be3644afac006b3c6e4495e40505c7f24e2bd5435420866fd7af1ed3dbe588b71fd1bc202211743f0eeefca10c765878d766656272f27fa90934fb3c41b37efe10ba7ace244b00040d62f2b42abe2225b7ce5ee061b630d8a78641cb0d2a72a744fbf8111ca61b82fa0606f0a80fe6de74e11ec4367d62dd6d60dd9944d78823d9aec53717c3a03644c5093f5ccf2ce40bf557254df6b2469a6d19a28ede6485971bb298d5f3691662abb53da548e56d3221b68821b0b672f7037fa2f60a00a041a7e790d9f52225c869f1e1ef17dc70cdc990252bbdd2454e16e10a15094685c649f6141ad573baecb6ea524a757761ae276f6e725c345520cbb74e229bacb0df653f7f4e40cbf8e850c6ab6a26be3095cb69d872003d7b9fba7d02285238df00ddcde89c6e023b08d78035d6223b8a9bd03e6b0a6eabcf4a3cc394ef552bddfdc1d0b2b2a26e2c25e53c81bba8c67e40350ddb720bbaf13245d0f0d379411244b0bbacca8a18a5366bfd7db7a8341118eb2e0472dbfe86b0310082f91b04e404dd9d1fa7c88ecf6e094a88b6222a5bafe2d82872b0aa17ca7de4c44ead2c1a7cbb05b23958f6f5072d07f5aff2b89c7eef84f1327ec7cf05ab53b9f61dc7ea77a4228a5d364b93abe4b616e0839bdd1ff1a718603a53980a1fe5644dc20fe38f64220eda51c71e61a0f09f80e42547dc4b063f720422c4060fa67bf071d2ac0e3a946fbe40bd6d1078c88d226266b86a6cdefc200c4bd7550338ed58c2492a4c67aa0c653d51b1282c38d6c1f48b82313dd5764318c39df5c133f9fca6e7ae6912e1f37960e84a336be5ba991cdee5bd05903127d3d39e5a8243367c0e469d1d8ca3e15d4d463d43737f3028d669240747a22c72da027dbdceb60486b2da489382a7c60b6c90fa0da881c7b62baa936614a0d5728d058e6114b11cc8f6ff584a2afd03d8d23605890121d62e37d9e12027da0d725e120eb1f14e79bd2b1f212d4d608340eb91d1bde2cc53c0a4008e489e175302d422368757d82364264677f45dc6bc7170c75536ca348261f985aae5b64eb60d30564c6ad0309f8c41ac843e1934ece07bd468957e50e9c22863a66d1c7c5b2ee9b5ce7e9037d2dcbde0f8ec8bd47b6a40c0835e9bb2685e57b97f87dac3a17294c5f081079b21989ac132ab63001d412ebf41e894268ef75264a95c6b07e76ff34bc917051276c21f69b9469e666d4d6bc9cf847603ea57462d25ec4f81d71e17e40248bf8e3aa59f54842712ccbce5da0cea99c3ed8b7095f39ce01aff2136b57de67bd7aef7c8fcca489aa12946f714237fd33d762c5003aab0f39e3be82b7504cf4a29610e89b8385b958d3802ed43313c3f96f8c711b16bb63e5fc5ac72b6280f1c65e7ac7e13aa746d91e4a60d526681be028fb6503bbfbb241f67fe72ce4cc4145418f210701350fef081cbe16bfb3ecc9bbcf1ccbe13d5966aa6e8720a0c9f4e61362eac33c7bb2aa796c6cdbde86ff329f371afaefbac3a138de024af4086fbf176f4bef18bf687d91b2d8ae28d079a82b6d6e6d3c8ab04189e6362bfc3bc4348ed61a0f2f5c45c36de2dbc47719c0e5f42811c4b88a97fcbe63e725148560e27290dd873f43dd2ca8056f5bbb796996e30d3b70147a2a1faf9fd63bd72172c4d8a589c3262382dc9553a0b86507053502ee2596e30f42698451f72b7d3066bcf0a5ffb1871ca6398cae4053b4134f062c89d545b5617d5ac86d07207240f622a41c465c6359885e8d7dcfa0a9599959bf4993ddc9ee0ce71e98c4666d982a46480faf589f196ed63388e94ee6461dc81afc8602440fb69260b6372155595c397e802f5461c73104a77c634767fd6fedef641a528226d74dac9df72310df0914f8a83d9f5a307167a1a04679bb8fe51aed6499d582607388c242872d7df0e76958316b588357f19b132581bab919aec9c4299e7f53fab1e7b9866662d6651a7aa8168127b1b90c5e9d65cbab9215972d9c0368032adb704a29be332a5e5c7dbc38c60c3d6cf3e2eb49528aff161472fdb5a4e7be44c4079ff5aac09de27a54af3a78fd4a13b04bbb338868d1517b653b093811058a2dade2d8dd000bffe5bef4d109599b0dea9220642914f06b8e04df088663e6d0a6fb16baf7172ec3ba1dd046a1feb0ae8ded665fa8619cf3818c40507259a16a7259872825872e1e9d99f3652597c5378fa0d4692b3ebc45ffffb354cfce525ab474209bf977271dc1e4405f24979555a206b91ffd57b9de8afe9e12dea4c79af95d07dc5b21e622cbfa17d7c56e4aeffeba52a84adf370991b776d59c2f57aae80e75d8d717253cf21cdbf9352ef3180c6f459ae3134308f9e8ffb37a06c5f5b130a023c06726bb366abd83b07decc8eb548f6f76bac6c657f8c036052499bbad52f44d1614fdcfa9af11a952c1a643f8a1d1854b8fedf8d2187eae103bcf84ab2c78ef70072c65fa285bf808284ab9a9dce3cc35437487301e561e6ece6f9af0093eec2da7234ba2ae62bcfbb5b989c4a9f76407d1d8457e6f2b555213355a15e7341c14772046bff6f8aed754d0d126a2c2c447ac937715780b82577e5b1b3cfabe0710f72a17bba96e0a4d1260f483916f5c19066a74644d49d0b03b549700aeecf4d4a72661fcd0f46a0ce3eb0edb95820abb22d2dd3e3bb101f57cc9435204626781156e4459a0b6d38d156320a45d269fb8d9d5f3df1f8b7e679a7754133fda874827272dbd9f2362d129cebe2f6aeabbc703134726bc91b4e98adf9a7282e8c2648724696ecabab5f6ebaa1bc88c5165297ae0a4b9664de232142cebfbaf880fe7c0b900f0cf57bbc8dbfca48aebb616b85cd5878a1131b346efa91b6e76dc8315172e8c456865351baea4010bb89b3230b7339ee43522264216eb6aa074e4f48e65d02b5773e884fb4740050ee349abc3beb97c51cdee4faade75be767a03dc1d63f30a8bd2039ad592042446310eef8e01bbf5fb49a8245503920ddbaf7beb9fe7271f72a1c35d6f9cd511db5299389c5f36ab192d57c868fa0e63029514341b61a359b695eeccf0ece3f471c00507d00c75fef2b0ddc84a2fea50bd3c88f31bb726273393ea54f491a33c0c9bceea51bdd3766088617e454b6ca62d7492d33b119c33d98eff44bfcf563532a0bace636458a0c1a4d38cbe6bbb04ffb63e1984572227ac363e196d251271bdcf05135fac5fb773f9146aee93e6e4f04d903d6227218aa715d749f4864ababe2dcc5e7d34b06c99ccbce967eec14c8199c0948f12fe32bd31dff8988b71cd2700367cc740971271136df4652d69b9dc05bf3ada972524b77290a1d001b650fcd1d14cd733e92a1828ea73993a402400e6c62602e72e3c761e0518db8558652ba1b6d027b1ee9b81c650fcb63033f71ba19f95a595a11cc6628fae30cca69795904bc2ad455e1f14b8825a9ee446bdcfc0098b1da3999fbb38149c0dda921008d9650dbe6738410bc3e39bc8ba25b4b8c9d70c6c7729c2e4016c75f5de8bb6a64558b162c318f7cf1fd8a7214af67701f8c1f427972965df81028006deb52128519c3a9f52d750d83a68d4ac78bb62f07129db944720dc17648164f6424c804a8e32e51a3d8f51f700feb7ec62c74f6b75aa4ba5b72225b6a8c6e0ea46a9d599571741542d5dc07e07d7eaa904e50c722d1819740375f71686e6f04a838f176d13d2703ce56704fd55d54c9fe7eec4d29dffbe2987236dfe2337531c40e8cf4b4219dc78f492ec61ae6a898f19c76c6d1c47857a73adc842830d244d39459882556927575c52cf2932e1cff235a6165362aee3b04030be7711be66c9385844db18b1175ade94aaf1cc2f43d6d99519428daafe6c7728f63baef3d7b840f16eb4aab01e3055233968af70f3fd224a81bc86489ccb0721a51158ee8b766fc2eb31773e727d0ce64c8a73ceab4161b969338e61c1abb727c8dabb5c81fd1ad47ed1ae7fdb116f26086d5bddf3f6cc669f79bd52d8b7f726b82604b8897b9405ced84f9a92d9641420ef18ae82aed3fa1881befbd9f6f722034c97950aa6c11b48b732c595b2d347f3b34a11d7a6900c281d913b6a5d435800645495801981c0709e44392e245b103def98bc7d8f26ecd45961827bf9772300a6a96c883ed969e374f98a4893042cd701ff1798877120e18174a52be470def84a77f9d81a8c0b7a9440439d2d5eaa80b80e6b3babdbe5becaa79a86d7a2ab1cdd70371b3fa697dd3cdbc6dae469a98ec4e35b4c5de8c1287119d331379325f271400eb8116f975bff48efce76de75c42b1bfa38d46f914c16a4c843ec32bc1183fad77d7b376add6798588bf1ea42b1c1317caac8554e12550577c6bf3728308b4a5028c56937eec0b37d36344d4756b8b1f8e1a2cb2f34480fa96bb797222696c46d0ade48d2a1a36616fd8ff3c6d4e5d429e1436c84e521b64a3c53908b34e7faee7e91b4ab569b9f70c1262a7d39b36b705848c5fac96c611fd16ec724842dd929231b9d297f7609a4059b32f293785e6a6f6b3565061d8758b863f073902d7081647a2221952df69a584ec3f9d0d7dc4abf42befcb0e38317f1b4e7210c963647cea20fc02264fdeef68ff757139d6593af9a55e9f5c814a7fbd5f686f902ea703d24c021ae582dc597175ee59bfde5b3c498fa1c72f86fc1f07ac11389f304fbcef8d4e40b00ec153cc8e5b571c5eb6e7bf918628ff7aab8a71841fa0fa62af610d3d99c6418f1473d44ea2ee7aca00609958891de3c3960c8c5472e8b039158b19b31e7736b41ba667d7248aff1bbbd4fda630bfbf521f507b075aefbd322d099ea25e26d7634d3d6c947f3003a4ad72ed369efad7f344bc8ca172fd66fe32b77bc19bff9c0570cda234b8d1ef4a35579d42cba1ae26d7e74d4b72b81a4bf92032a53053b686151adf1568ad2d992d4ee7a04cf5e0cad186ffa64bf2cb5b19023e10245730c5e0976bfb510a59794702ee60605b3368c68bd927661575bf1eac695fe08cd62bd15e543a96810fc5b6fe031f664646e3866cd81066bf58338eb86908af526bbc346f3d3c46535a2233915455f73fa42aeed5ef285401113f9c863f0ac008b74063d1130edf1c0d9c7d9d5dfa9c09a88335d65fe97263cc6fe4cb013e61425fd43358e1dff0449ce59da4220f248c8b91bffd73ad35fad7e1c7d155bce1094d44fe613a1eb4875d306fc97c63228a45b0404f5dde724463b8358c092453b4424a5df77c68f2f6fc08315ffb458055e62e6450bc3572a3e593f8a039a8d9b89fb24d33818a88edc33b98442804b4693336a6a1d4ae042ac66b5ae9c43e530f254158cc4a414157a961cb3c29c0a86aab1101da011250f26815d3a85ddf70374aa142dbf93382e169cf192fdb6df1ebd8ca7b21a6cb727f179f48af72449788f8d950bad95ca73dac0a86ac87a9a7d4c4ad1f7d8dbc2620aa8abfad6576161fc29a6ce1cc5a94f921a4ac953dcb5a18a83dd71c3062370c0bd8c50772998dd04cfa611683fbfc2dd0c951c32c86b585e23d2b8a6c3272a795ad62c4d5709b75724f911f03a2319edb7214ecac64c5c839b9bb70df7020950bb599532808351804041a8ef04023b03e9e646155ea92cdb8e642cb54252147e1ae55e49396ecf4b15f6546de8be28c090d50d52acd299551effd8a402672bad4e249b6f651ed25cc890e11b7e4c8eb15e854a98db1379cbb808e6dcad8727518d02a4afb3d43d7a41281a25e36c2701b7a9470cb6a7abc08437ef287ab72212e38ca2b87bcd23bb3dcd036f5cf0d339abcce5ddd3a2830516ed18794c3728a8ef1b8a123515cdbeee37e916b64efd1fbcee077c89a91947c4c4575e5643110ec194f3cdee754cdc29694497c24265dc3364b07286a00a31843af169794120c2d2d320df98a43238f5506b1190eed72c01fe1e091d7dee9b849f0f937ac725e8cd3731e8b0725413ee26a6149be9f1b7d259615409f7351d2545a9395b672a0b69cab64f85bdcbed9933eecff7472057cc5d23a0c44bd8b65a81dd9329572d4bd54e9928c73308858082ac9be1c4218d0747ced910204f804265b84affd72cee1b2e62235b64dc00d11096888dca964d48d181c0ab160b4947ee8b6e1422836713c4c86dcb9109bf4ada969a37bfd66c4dfcf8a4816202c5599009fc5e0008e2a248d980372fd46c8192cefd855a73318c79b883ff9fad9de59f88c9aae72148660b154e0b8c9097fed9a1d6c8da3d50a700d13b0bf3be788460f0d043072864fc72f4b3477915fa1a9ae17feb24812cee41486c168d274ad4019632bc6727416d53e746277a9246b1d53d0e4adcb166bb0fb9cfbe3d35599765f08202172e9b074893b282e8ef44b4637505e5f5ddac381df9e6bbffeb42603d4bd0d4e5cc73a9bb8ebfcf8bfc26b2bacef9075215c3b7778ba6f5f1a6640349d06f57a72ba26da150c61f8b2dcbb4cc9454c7c46b3148f9a43a9e2146ff71ab1fc77545a18449b57ae6df6c2187fec1819a704b8ba58b64760a4e46b3cd0697136c59e42f1ec022aa78fb439afe8c76ce96d4b29f42441468d86cec6bcc2fa7d510c712b1945f87a3b7f2fac017fa1ea456b00fec01b81e69aef780dedc4f8ca21654344d81cca07818d058d041aa158f0f712c2b381152c6beffc2991d5135e5705ce3e7c4c06f815d07f57e7c5c4b99584506cac889b700c87c66f4b32d60a53dc5f6d99b580572bd49dbff2ab5f778ecdfae687d8dcc7e7ff3fcf0a52b7a56a324570d3cce59a0607555dcaa9510361254cdd9e8ecc96497bba0600fb2d9b91d3d8726fc81aea83f5b4bb30b520fa86ca8e111b0152747941f3f179fbb53e18b27872124fc85248f34884a2d057408041ecc0cf129265b3d16c1a4688257dbd4e2f44a7177de74e2b9371edc3671a3655e00571b1e5748f928c15217537817841f33d257c6aab8620863c879acef32dc885783fce9fcea877c3b91773bf46d2e7881c6dc0945c5acc3dd14f410111652b5ac59580389c82ff779f1fe219865f6e5072581eb6de291256eb94a75e8cd98806b4d238d6b7437d420e5596e2beeb6d4672e5b59771c62b4c31537b7b7632d0819ef9c2284e25429c2eadc74124718d9013e18158fdc8ea7f50bed9c5dd7113fa73e564b5be4fdd0730507699f7d9ecdc36d97d935888109b892170d251436de4a73c957ae58e8a89eed066b1addf07fb72587d353e3346f51f9d0460a92055a7a535a31bc23525b227e05b17abc726e372d048500f101bd36d47f4a87d01b912a0bc982ee96f474544e390a6580218e87255cea13e3ace2bf18aface061f0c49e0c2cb8d9bac2e0f14743b2264819d2672e80ae31d956dece484a66d372e127c6feda52e183bf63837c341ea088abd8072f57a1f78c6b070eba91f305f4e1a75bd964756a8ac0b8697f4b463487f56a17245b408a5083aa330e236416ec44e0a33ad42285dfac9df6da2ef1659c691853ccd4b3fc7367bcf6d8303d1c0860531b0271a4cf3e70e83bf9e1030c36708d0723cabfa8a788bebe80f910a82c88abdfce6b6505247883b99a6e52e5edf76b272a2212c4b2294ffcac19a8ca323692378dff66530b214520e9f2ff2a79528377203ca0e0b41186311016105cc47dc4b8287dd257af2fb5f17a17c834e97d59e1987a8bfe1ae79cc010621b95c571d0de3d14009ea100351045a2bc18dcd871a7287159191b80d3c5efc96163e68cc182ce286a0ff8602f8cfe816a12b011f1d22d465f20670ff9bd24d5436010c80f334e86e346e9d7fe21059bb791e8b4b067252e4bfef75000cb23e5305e065be3a7737e39b48d427dea73e1740d009cf1e72f168b1cdfba98c1cc3d8dc68d80ee1b53ff6b146245d285d73a1283fc065de06e1733d17af01b5704f30d697c901b465b7ab2f35bfe73f5a9dbd6ec5acc85f723f0786bca9fde0d96ffce50a9a06b2e0543671148a7409f60c1f18239ad2b472ae35734acc99577a5876b48cd39f6de19c7273417b2735db54601b7585aa4f72daf2c5dbb80f92bd6cb6e26601a51a9ab1360f3cdbf09a7ab07e68297b59e47247162552c75b705eca24e426acb6bb7b528b57921b9c07c4b8fc5dddad98cb7205b1bb7178a1259cdccec314d30d18edb33f5c5681b3d4b0b8a34e36e8d5267208ebaddc3b0dae74ee7e81f7a20384bdd39f9e0e73468fc5a8345a84beb02c696dac30eb96c508403398d7b8245eaf2929040c28f30c80d2ad41146ea43cf372bb016046921012130fa33a896398071f1a8462a470ced6083ea1e0eebc1c4a6713d8b5c5284139b9e401446f487752494aacdf85492b6ef36b23c0e25fab7c28c6afca529991018605fe550bfafaf5ae4936fe98d885d2d56f3e90dde822107270f9c015f98d7dbde9d632fb5b162d59d53fee772bbb337d47e464682567993292484ce9729dec725cc33f93849c9d8436773b0c0dfbb03c87d03556159bf72c794b8ebfba63799c85b7c224e3f31a2360a3d01c3719076039964b2d7f04d94b8bfdc40db793934aa754c436ce1de3acc372e411814549674878b78929a9a27298346c508f2e97a371a31cee8f7bf566d9ebe93594dc61e229a434f55720d272625c54dbf11f7f6825083c18a9073a6b48d15470220ae15cecd49b9ebdc8240288104b8d3a537da762a8430aa0b1d969d2455e44ff436b1fd6329a52bb4cc3726e5b130867279ad64e7d3f77c04516877ae89778608ca3bc3ca37c05d9cc6a61ad67aaaf4e30cdf14d6a01909b6255b2c415dae096b414f21ff3f0b5c38cc13e3833bd4eff7db5934889ff95b968e9753d67a414f882b38abd70e8db0420b6041d6e6eff0ebf0aea38148a65e709ea56b21cf7fd0fa309f1bdc0922ce6e146720d31809b110e6aac6e2901a8580390fb626b6242fad2302468ee77fd4d129b1dcf700f07549fa64782ecceea3d2f29a41c245751933fe01dd4c3c841903290333cfc41fcb8b2e11afb3976e6896bad1e49817d737a4b657d6f9536d7132194729b75fd5f4d98fc9be5aa6267663b84efa2dcc28c70fe0776ac6f0d4df114c07268433a4f696f2e17421dba9d088cdaa85d124b49dda3669b9d359e833dd493139fde6b962413136d4e1f31f5fdc77727361723cecaae0509df90dc50f9806f43374e20007c1beddd96b0597ad367c8bd3fb95e51caf158029b63ecd15d087172196a7fff37afd921e194a28563075c10d3e545f642b967ac4cfe3e4d7fb0aa54c37c93a970279dfb3097db8791678aa30ea250b9bdd2881b319bbd6d38cb6272497d5c5119f01481f12a4fb53a11afa8d46507abaad2f2ea91026c861e57305babf52ecf14b26a2d58a001050d0619f34814d5b01348b6d4126db629d8247c0a8842ffe89977e9a11beb417432cd403e7bb7e233998ed97ec7eb6d69006071722fc219a42ab2f3a30800ee58c1728c158ec23539028bf4b591818c90165253720f90357775fa2c167746f611bb54d0f3c0098ee27610bc408bdcddf5b32bb73201a0678277f5873dad56ccfa3d9327c07cdf73d7ecb1957a0450ed555d67bf1215a3017f3e139f527a2a22adda8a518364446cade62a9f3a32c1f03bd5d8de722060e9b522f3ce639a341704086ca7cfcb4b0c68487d4e253410f8d648b473722893799918f7c8294789f34178fe9e4c2e7c4db102f87a46fca859b407687936362acbd3c6bf785518cdaa1845dbab7dac68677d75dc7e01c8feb58d2d18b672ec70ea0c3816589e9be1cf41847f309dff6b5daafe5baedeb0621994c208387280f328da5211067ef44b4cc8ac249bcd3396a3a0f737cb94106f6c09f974e772de53c33c4af6df26015ed7ec7e6ad5232f9bb93d98351b21aae90baabf7a7c7219c3ffd643135271b26472d8e1d13db21bbcce528c4960da08cd6ac4433e9f7289d97eea9f16d0604e3a4bb0767080aec7ea21de6e0feee307aa78e0b3136d20a1c09a0f700c861e54089e6ce807365537645f6c23a20935ab82816691e4297223341ede40b9f3a90d6d0edc19f21198ef73a519cd567d0a8c82742fcdc04a72ed36344b7290003dfa694b962e8ac5ebac9569ddfca238f96b41c125a0c49d7292d99305726278fc473fe5be1fc959550a654e0221c7212efd6a2f50050da9726b9ea1f2e69454850a71ce74be29664c81f1c8e58abfe74016601da94729cf494e4a2c1f8b99c2ec619f33fc668c535456019b9a90a075d4d74517688c134b5ae4247efa231802e96204d2bf590b501ee480fafbd524c5291e0bf8ec5892fd5cb253cd87fd75a9dd8554baa61a9439f0e3bc9c1495e6e26ab450eb63e6e6237226a4d0ef626929299bc2953c719281b85450ec36305dedf6b54e3988c7af7d570ceb1d11613058e708ca782d3f9a2f2d61a6c70497dacf9086345f0bcfdacf721114f9018e124cd3ea82f25ca9ea03059c7db3101adc7aa59a491e6ea193ef726dfdb9a3bad3ecb1bdd30c5ea45eff5a8a424216736b21b21bfe21de3e174e72d9dd902827d82d16f01ef80da0d11717068c8e4c4619ab97a32ff2caff6a54438f2124555b27fe0429c8afa9b264218ac2f6e083992a281b206a01bb133ec427fefd536d63fc710e8128088e228f00aaa02907ef1373844fb4cf9f155c20560da38131e082ce0c96e8e02dffcdc779e87535f6892227909e6bea9781cb116b72d9c731addc7c6914bbeba1766324ec1ec780b9a674d76f748c6da73220998b0f7af4e1c4fc682742e9067334a09093cceb92557dbe84f6264a7c9a35d902cf5916793f3425fb2548578bb30d3e40adbbe428a607ecf71e583d4c03818cee38660945d62f0e3c400bd9cc658900eaef7ab6b3c61b793082bf2bc2972c11c5bf724efdbf347b89db445e0e54882bafb12955958abf121eff7c6a25541269b8b772460f4d9a65499f91a71c7c62f3bc193e0031d8e42462d02fbc69f5b0fa05b4600b9a5d1684ef24db607c67249da742bdf0aa16aed1937dde50e86f1a0a03867296b9b2a4127c18595f4b1e117cd578a21a77bb1d9523762b20afea2388c7487234be247f57b3282b5d71e0edb4de8a54a8f119b5b714c4fc93d18106f861b9721d620c147de04f4af992178adaa0f15be0d96cb285d763e2059dfeddc96a0c0417a37669510143e6638417a2b99e66ec9de26e84d7e74796f1c2f4357e22b072603573a5005ab7a54d9ad6adce0926539c5e5055c0a8e4788a52926e796e241e6680153150d92d8565ddd5857c037c32fb3fa1e34eeb60b2b4c0da9d13f6ea7230c34f1e27cc3e6437dd4311a1e8acb5c20c137ece3e7af65b1e8743d3feea2b309124c934f191a5dc4b9d1e02899283b372ea380203f40d161bab5f57e7f3488fd592142d8cc69db293ce23ba9248b42b6ac24b0e06299446824dd1ef020872e6317ee4e85dd9879fd907a1a5c457bff949b8296360b4ecf7ae2a835a371b1e166e5025db27ad8b3cc8a6bc1a504d7132c65cfa2377af4930cffdaec045a47221ad2af58a91e07fe9b00151ecfeb2b48c5437e52537f48927d0413a17aef67249864fe28c6d15ec11d1c7a57900f2729035abdcd1fd3244ff27a0fbd2316b728f14de512b13b34b61d37abe0358bbb70f59b08a87af8e91047975fc16c0b0729a10bc2fd922effd947a27e14a61eb73a72aa3f902d183f06cecf844a92d8e726753b89927fad72eba83e6a19f49f1c334ebadb50f0aff723c16a2f7617e8315de153ae29ea5ce90f418f7307d9d9b0c8063f77621ebcfc9b6e6302aaeea5a728c4b1a854642d06f70f04198cdfdcdf7ca626c061a15cab68da54146b2be7772150998d3e77f025d461488a1a0b9a3ddc6cc9e2729e45911a5fa84af04e983721256dffd5e8386a640da0cbbcb06f282e0faa05ed4801f14b7d4c1259987ce72f91ce73c8cf774e7ff986b0bfe6e766f84373aa63c3ff78d3e27ddd9b45a6538d55bfb2cbdb05235111923499e334d9c125861462be1a1425427145d89e82d72964a256a23aab9448c8b3c6f9f512df5c819e8edb7d49af7182484de53453c147ec7934b0d5c0e7fcfc1f436786938a4b9bb904180538db709799b34ea97ff72e0a798c5731fa0b5782bcbed967a3185cbf0d0c6cb91888ea22ad63c46a0d219d5bfc6341645fe3a0d7aa32644ff33f0810d7c67e669970173da92427ee8b6724c67394b3b6de40e4a7d18b89032c5e474986946b43daac9a3136ab7708f807271226b6c88c5fbc58643099e36a5649da0b1845dcb1f2469cc894726d80950721af1687fe35f85356b1f565ec3076b13c71219ad2bfe1811464dc07aed99b601b7a70c183b530d6d0607b2ff633d76e57f83f92052c2838067d1c9c23b25c819a04f2abe7aec2276633dd01d163992ddd9059a1fd8d2efc99fa0571a380fcd721dccba318305206295d8753a08eace0e013924ab94512e0a14c7e331eaf8d272a3850b74924c48e3ca8f307f21bab2609f930732bd75e1abb28cf437575df4729bf1ff658d1097e76071daa89adbfd36c26ea20e24d3f0c17c512bc1a81f64725af6404bc60df25b22fa4de06e3b68dee3a0bc59e1377fe43328154825ec3c7250a8586df28cbbde65f7b3960bbe08bd11a6982ee3fdf1cee3637ec50dd8cf08b5196c6ac0c7e5217336c0254d4431d9dfd2ad95d3295b2cbe51d26ea3319b7294b5442027ee4e5c9975b49867f89b138880da8792ea7a255d7e8aa5ae31294cef85c73c0e81a6663833efbd02df4efcc2699b062c25b61cf7560e073aab277212c3cb0447028eb8ae19a3f88faeb18183a2f0b10c1a475c82dce64dba7efa69263923d1cceee0f7504ccf4f2308049a0a880a29768717422d1ac84939d4d0724e62ebc6f14dcc1aa0ce65d88df6f4fbd459f2c3c416c25d604df23179509d1d95c69cba9c590317a34e4c379e3386d32b5243afbba600a0d3b1154e0ddebe20c9c5825a1b6728748737813b0dc6f022a261159e01ca650910442f41ec7c8e727093657a463d451e6598eee274a3262689ef5c11a149a59ca7c9ed1fb0e017729dc246d9e24e8ae5a9af81298dc05c240cfd8e76c9d51fb570dc2d61ef876572cca8d11a0e506a845ca279b46b7f4285461aa7b9ff053b1f5a39dd4840403c18d36c2575b7062265aae756970b7b4a16168bcc908445af96917f2852af1fc94b36a8c52fe41da011cde7927a3365953736e65e4b746c2aa2e1d1374e919d277281f97e1431675ab126fa6b1357661fd4d10604484782dd4ba89001fd380b6872662663355727e71ce25a06902c86ca193edb02443f3ba1b032887d2336821d0393b536344a0e8ecfe64cb495d8cfb081ff780ad31a04a630e8ec5210f46a2f4c0c95f173a2495c8004124bde6e5312158d31cc24fb2c9157746e66e1c3e86a13d0b604876adf64c2ebb1c51058bc0f9e81bbbb200f9fcf370325dbbe4ccfc1353504b5477dabe9a24ab5870b2749c93ac51a3ec8eb4606fd42bd3d0db3ec183d92676dd2a8015b35fa0deafab1ead376efaa79bb8625fdfe01f22e3d48a64f1bc86f85d57a03a1cc347255d115e1ca8fea574bbab08b9a93fbd0c6136186213f4229b9fd38bd77a1e5e1ecf2873d6477454f9bd5257c1abed6ceb0d0aff4d33379c8e24647e9b5fa29977898568c911e50f615d593e17c394d11b05d5f3a4520f26383cf9a5b3645ee59e16481b24a5f03f8545f2ecba434edbae30a73e9e872b831913a868bc0fd999b79b6dd74e2a83ac7bcf143dfb19ae100fe5b44cfe572bda2686a6cd8b9d85748627a152d8215282c34bec2e4daa73a34775e06826518cb680b0aced2cda1c312a42503b753aa6b6347b7b9ad435aad4f6fbfc7a44d4f7ad0279a6d4fb1d2c3b02dd7a21a9df40e74820fb6f7240e661bca722907b572cafcedee2e3150734b382c8ad0e75fc88f7ed1c42703ab6d454365d41e0a5e7247dea0cb32f709da51d159542c7830ffdfdaccc46b7b7e19479a52d8f7abde72372f38a108041ec5e0a5aec3044606e4a026d5c44e8247b880ef2c0b6b14c67296205d1d602f934b50596d4f31eebd90874e8bd59018bd5bbedaa5a0f6d94c634a075097e8953744e4d944dc5169384615a2d698c6dc0951756be791da78127262df97cb13d9b69830b8d2b8f349a94561a3071cae779ba242e11daaf9b527516077de25d033557d35e877915d43fff249c994727a4885a241f2f313799b4a7291f47c8b833dd050b54ca881d22135fa7b6502b5e36234d8feabc5e6ac66d0720e8d0f1153a7bca75cf245bb99aee96b6b5a5c9ed942a52747563e090e10f1724483bb68c897fcdcd14808884b3ea8cbd3e60c00e5c2d8fc6d7a152943354b7200cd0b9355ec52499458fd0469972e69b8d7b7e683a3f2f441a707b7564b1a01c13a9bcaa4b051cac5f05c4d0326b80921a0cdba86caca01495ea117ca79b510c2d613bd4ec1393ba295a68356cbd6f1a5680b0fa889753bea34733ee6d4360e2f3febb63055723d78415b52f52a91264999415379c8ab19b8ae601cd8897572692179b6136e70063d0cd79f1878333805346ffa012ad994c8d1499db3ebcb30968af271de5183d37c6240fff8bea6d44c1353a0fd265b994b4323a2fd24b57216ee0267f11d21e5aeef2c960780e969d937e24a190fa5bf5691585a2ff4ed29a4ba33cb26de34a5f4f4c98435a25c63f0c921092d6c9c9900306eccbef8dc723c0db32a736771712480d0ddd08d25157742f2326f8972d51791b20ebc612772bdc5869707af73cfc9be9e821971a9588f6d4afd13eef5e4c46d16e0f8c78c638f782251b6cdc51301c994ec9cefacbb4d62b2595cebeb33dead0523c084297271bd8ac8d124084f97d2fd77730f536249446fa06cc2d63c3a1c746661f7a0726c86f49082a261e880955306736d0c94884e1326e5a3bc501420b1d6a76a3172ad51f921d35e07823b452fe26de1ce2b62f6f84438d58ce2f29c0b82ffda5372dcfbb313993cbe6fe019d3972840a59755357fbda35ef588e90920a8c8a242315b1d07da29b4e8ad92e3b50a268d3d9ebad86988ce824c8e063e9839b71ed31df83b31d3ed2ef665fc196c179c4779830de677b1b212644aeb8300b2fbaaf072fe6610582044805080049072ef719b896f41956fecd86448330c4626d6afbf570bf8a472c9b886fd11aac5b8181f749ee8d5fc4b0fa9613ad29f6bb6f490d7723e7ffd1a7a1b9881762b5db9ede82f25d2d6abc1183f26219b7106bdd47b3472ccc3971bc5b4b76ba83dba41277d74e95bc8d9106b8b0edc57a609fa854f427291a564efcb9391094c3841db6c0f3a3b8f843e34681ecb282ed60e3f00999472542ae76ffa3773f8a46cb141d4fea4c8edadfc6038dd3b389bdedacf74124a722ff9f5a6e676322962dc55a6ff08e01b49558e18c1add4307ee01af3bd04884287ca087f8f5dff4e04f80b8c7435226ee423cd16a0d42283e4ee4c5d57415c72bc694ed4b1e7cba4bf1d5c85823542f9760d15d5dcde41f914d765e8475476681e617cf572d64b1a6c1718616d30bb9fde287a07ecbacfab39a9254fc94f5e72fcbe4950cff177fcaec94d8d02ceaf887a5dc7312786d3b6de5447ae53811a725b197c0fc84b52f1d4cf6ba3e81a8592f4ec85c670ad482f41056843c6809d5b63d3f7e52336ceb4436fdae789304b42db4d6a6a7570afa3d4558aff0eef8d728c29f7c2648d577ef7038a980c13840672a39109e499991471ebaf9d3dc06711c7c08f3004bdf00a6f62da068e3149a2d42662f8f797a360885946577337cd72a54a1db092adff9f6aabd444c6098b8ce10ca47c4fc4bf8672d32dc2b4acd7725b2659ddf81f44ea93f0c402b3c7dafb7a546c70583855196d4e8502188e06726c337c69f2e1e1594f37ad907cf751264c922c227d1516fdeef6cd6220cd041ca8acebbe0fcf47b2428c8a9b1afa66c662737110cbcd8e7a7b64699ce44de810d640cdcac7bde4c2b3aa931e376dd9b3a8572d3058fb05e08cbd471f05ec3972f537ae8fe15fef9363f97a7cd84919e2adea038a22220de9fe3187034359c772209de0199930f436ae486a62963dfbf3ce0aaabfc53dfe024f838d018f484772db3fcbaa1931d473a5ac6f7f6b41b1bf18d3e94a0ed97c410a9a74071a567372525eb19e9abfa26f46e59b5570a927affd09d80ed7c2d79ea909bc3cc7a55a72fdd7dd06c5241da290653564c2ea77277e425cf3d470f85081f6a4668128dc7287fbef609ab041b92978ac2eb4dd2044cf48b25b4ecf40baa3775764b29c5e720bac9ab544db76fec7de0b6756d21d34869688ea7b57ba4e8b0d2f7c5c9a2c16c5d0627a40648439900811f4d9f45a408bf7eb433608f854f3eb413b26a89423b23d57a72f7d5949d8d76ed5b90edf10f4c46b2ad996593be329ea9054c48e726bb826e3507cfe3e282a7292a6926bf76eefece4fd5fcd2446d0f86010686572df317241b7b10e67a83ff3b3a2796477f5f5f1cdde40096b483029382e2e0f4c244409098a0a5f682469fbb0a6d778ae42cb906134c34d645ef7103d7ace171252644644eb40741c3655e5db82d9d9a5de222cf06de36d3cdc3d98e988ca8f5cecadc67c0ce336b75a5b6d9f60eac11bfd946b2e8ef2f7ef5bc445f77c94f13847fdd3728d186d9d746cad92809301af047b1a0b247e1ed07b36230c237ac92cde6cb415815fccb3d04d8d4fa197a6864178c7ec06d3fffc2cf9d1612b43d8725efe1b84b1e9f6f3744a855761a39e1fc835e69deaf406822c0e3d818b1d7472ad176696f6555f584b0eb4d35b755da6b6498007acdcecb0d05e2578c56f21463911bb7d2826498b56a1776456ac310f9b0e944ed551105365b632dbc044b67282303206a674012d49e933c1f71f37f14337a6bec6a6e3bfe43a7232e7760572a6a5f9268e43cf647e1f1b6a1c4929c79331d4fbbf9a8768688c80a3583e7b1000b5251c75252ad10971629d1d53122607f66895042bff830b9614ae168d8b72caeaa046ca97f517269265cc3234227358fa7902ceefce3ce5ed7ccfe7c9fe720be7f8b19473d997b305821f337ff9902deeeb5ef97036150b6a3e15b745e919fbccf5e82c6b26119508a61c5be5194a97063dd3f61687ba9d0298d9e0d27272364f02de5a76de718d98f00ab782f14d6e3bcea03d22b7d939e4f2c8f4b4f072ecb23080501483620a86de60ae7d5c202c6d3e0505585b1415986988d9f6724143fc0c983a7d07266940b83b2a3d2998bd968e37476f1a2a781c6060f6380a3b7696f598e8ea1e25884bffb41580e6604c7e54d87a543668908e39f61791fc727df48a521af9689738087b469b648731a95b6e52b6eeec9894212df7f7f59072add56b70a81efc640ae6a8ba159f4722e5fed0ad0b47bdd0aed0597cfb78fc72c27d784fe9d564ac7f7dbd6702aa5c4fd649b4658a88552d1d71f83961a9c232b9bc17e2063c50f9f512c6e4182db2f16093813f8058fef73c0399956ec3df2392fb555289dbb18047a79ec8e1a57e332071b496d34fea9c547c0dcf1c8a1b35d209e7948ff3eda11239f660942b7819d96b2611a3fbfa2359761d6a528a0e72e7afb2cacc2b1cbf7a907a0f9e49ddd603e495c484029be5e4c171cf3dea6a72ffd7da80a7430c452317e057fdb687d7f4d727f3421f5798302520b8f0747e7287c52818d942d150409b7459138d2cb6da603f5089abbf6e960769de97d78172eaf083b0812e3bd5bfc4b86e63dabe0caa807a0499b0fb935e9addac93962c72885eea1a77f4724fd34826de1b85600fe2ddb80f1f3a668440291ff8fc57237237af3ae93832bbf17d0f741b4287a053bd6543d1ae8d0affe2b19338a0b05c7217a5fcbe621fa728ee8c7cef0d5c8bbd35be3609bc094803aab44f10018e9c72264f0bf0d39c7166f98cda6f2c89a442a6aa953ca4aab2b008536993c1b2dd1ca6819a00099490e565dd6a372b8466d5190cd3ece362e66aa463a830cb031528baa7b84d373526e998ef7d52e02058979399e0549ca5d643f86f8dfebfcf727232e2c54e02c98c47fde8f0c59eb0731814896f4a1b5581b8b41048c81d5d6a721b2d45313295437e4b3b2411ca58f039c5767556173d84a9053996d5d234eb722d54b16f13813dd59f9fcc7cb52281601778f9e2da391136908f2f897bf7160055645b08db44ba55f990b266036f084139e382e04954217a382b64337d3b297257db8d66dd230f90f12adead217cce01c37a6e214615273a055fa8dc5b851572dc23c44c5bcd0dcc2bd692f8d813c06a5d1fb1f7a81088320632cc3859641d725f0e275afe132ed4729994b3c4840e56959dbbb067400b6f1d8db099f40b957292ce27c4d5b1ad2300121081ff140615d141a1065e9ee17b5a94a6452d00db72d3a5a93ed1a0e53714530946e37809bd771fe85434b9309cca5072c793049d1f46852998b0bc424c5ff4660be15625d6a36cb696e6f860129db6a2ee52a41d72ef2ac29d50e5b055a686796cc96b573d69d63860fd1e07c00657893758c3f53e7bc905bd8d4fa1bd9d1df12ae64752d8dfad75d62aedfa612ad65603074fc425cc23a024c48a763b29eac2cb4e030a42511e077759eb4e5147a879b04e4a8a721e654b062eea35b7f59a68532b048e3141a1e29465f523be1cc753094df1aa03e0bf8529d88a053af590f65c410c7efda091fefc1423b4d25c172251aca5891da6943b2d860ea663715ef58bd55a9a9f151784a0f464e395e2343e1b41d9d2584bdd2dcde2ffe050157ab9a121584bc0b6fc3723cff79ea7fd05289d08c34772fe7b564bf2c642df0fcba01a388daf05e3e78db7dc01142e5ec72decaf936e2ea3947469e6d5734ce292ab7bf5d337bd0eac960d168e8852393579ffe4c01c727518f8d33b3a2284eff1dda93f10de406b2e6bfb9519cfcde121b65bff8ce07288c2cbed73458ddb7459cb15991423d938f46214b317b8677ee7abaf4e5cef7223606126a1b9cab16d26a9e66a18b91d9ea2697fb02ebe00e8a872f41bb71272fa12d272c4d29e4d2259aefa5f9ae1ef59868a344dfc7b3b02a8a53c9bd34c723366e561311f5795e4b37b0f65505ea1f3a3acdc761caeee5bcebdb84c4c2904a18fb6632699d21171c59b01c71d3bc3083d1d5387d441f3c647ef4858caf0727a1234909e9b261c7f5fcc39b696cf140418f3908bc0f60876aa372af379d219f2499f200d0cb4061c33064fdd5b55a57dc37db04e05d2481ac1039927ec30725f32725a75824ee177ba6ce84428efe6363dae6615a51e3c576c005ac6275b72eb83270533e4ae05b80a61cdea9f135d1a5ab3ee9628c58e34bc5a4047d46b4ae32a49b6c5fe57a83793c77c749831150b8ebe4f831488020ec8b93c9d02415bc1446ccf06633993c56a00dcb349476711d9191b35ab00e4a3f6bf163d27667292adf367194d3d7fd3673efd784182df1cc207b0c34340caf0222df036a9e272c7fde155c026ddfc66f08daf63ccd8ef25e57c625b88d9fd9dae11aba732b03a48eb6544646fe354409ffe78506fbc953adf0617c50ee441fe019c08a6b76621e78a61e8d8e118608a1137847d974ec5532d1186227d2121d69fa5f1b2bcb92565fa50a8840051a322b556a0e459b29de64dd2300e8803bdb1ffd30a41597272dc04658f347b9cd9096d05a86b1d4b78e025f56943bd76b26677f266fafb8f72cffd6c0a3398302b6a2dc1c079c2998de3cfd3e48f3205055e1e01d2953b361ab8658d62d74020874fa7f49f76f4beef61453c3c53a28dfc724ae3318ca61a6eb8e34bcb6a00fd4638b9681718278b2d281812e9c3cb603c7127ad06586e57723e9196f8d5994f6b5853b2c8eaf7094a74b2680c21b969459497ef30a76799726cdd931afe5195c0e2896d798bbce59a0885d1ffc50e2cb6587e2b717a22c34cd52946df875ed599c678e9aab1a2a82d7b460b91f2103647a8aaab9cb1e06472c74af4cd2d96ad827c79e1cc471e81bb33cc58e9fa18368b3963a215ff9bb272a4d3ff6318804764e5d2916c5caa450c5a355dd3575fd0adaadb087f869a2172ac7b67b87fbed3d026b1e09d51a0b9bf2361dee9915a655d4b8269359c08004b23fdd57eee24152e5f7b87c769cd9ebe8769b887195d8a6198c077a4aca92b72e942e012b178cd10f982449cc724725060e202b16f45d24ff6a7c672fa2bcc17c2fe3c9933d3a1674cd1c1b03b808c527c5040885ec40c54fc5d3cf55badb4726865f37bffd341e7d7cd7c97a428edfbf9dafeb36df73055d4d73b7e6e96ce729953ce77b84a6c0e3c45e1677c2bd9535df49cf5c7a1e2d310fbaf1b8652a0728fdd15a027437d175f59e26631609025b3238f96b0e0141237fb704201487b30d1844d8f4b2c365f3238e3db95398515c619d3d23ed03abedab073a2716a2d72c1c8849f2d2d7d3dc76305fddd431da2ace81a4de437d02d81072da7e96e9066f03e7ff8334f2769710e3f63aa051eab3f277ead6f62263bcf8d1bce5d1e5072538d8e070f39198140425637a1c9d5acba921715055a817cc285a71ffebda9496a53f5add2f8005dd0a5ab035324af63b5b3955bf81d347390d866d25e7b7e725c79139d8e79e7200aa7d1430d1d5908d62699dc7d9c8ed644fa3971b33c58723fc452c146cefc652b27c8327c84421d8c3221b3a9ba75003ea5d6803f153072ab8d23953f79afbc5ffc6c65205f84c172f20b402f0ddf776194abd721bc5b567115c61ec16739ef3d05af770f092dec257c0fcda1289328805419125d985c72b70477b7537c52c362bbaaeb54511d69171b09b6b0374d7e4ad13b113640ec5e052e2b2d8b5c363ab725609f3136718291358768e620cdf7106798df33e0b772efeccff70e2e0e1515f2005c572954a201483e34244763d94c6fe555427f0d72d20b15be8208c69f1369d1a9b1d7ee26fb23af6433131435a2db8e9841c94c4072eff895e7346c0a105d67825e79eb9f32afa5123db17cb49828d849e05da561695f6a9c15cea67a4bc3ce9e26fa95a342ce815c55d8f157456eaf4712cf31231e2761591f3fa92394e1692f21e72f307eead6d308f7f476248938569f47a015e52216a0bdbe0f2242bbe9b52889eb0ad9e571fa3e3dfc6b6605f6fc1e6d7c729fd7577b28fc8f65411bad1756492272769a7d96d177b193857dec4f31f0ea127cb58a0ba778b8a1416139554e3eda5c5663b00f6b2eca86f0408fa9afcf7a7224d5ef9d88f9e1e14ab13bcc979289a5ee044ed8f712910f98641478d0a471729842d7fdded8db4927268b9935ba55c3ad9c1dbe51b24e318483b44b96b85107a9450fea23dbdbdf77ef7003dc02bd774db682f7d69dade41c485f841e03b17267a6b42a8ab2c81aba6365aa1db1cfbcce4b939ff325c6c70e80cdfed16e7872828bec62130903aaf0eb8f6139279ccf2b6d6473705379872387f7a873333c72727cf84f938c968768f284650aee31c3db1351b3f1fd3c5e8601c66ebf945f729699ddf4c4e22a671554e60eeb8c68b87b82a93930ba3f0ad4e85439fa7ffb72a010b79703868d48165df07ad44f62969f72ac0083d4b2a448c04af810eb6148dd7e6ea421c70e539235c3ebcd5428585aa571341968ef8b765114c84e7928722508739056e814c4abac4749b1f242e128e267628e68bd45e4c3c7c0a16cb6515cb49c0bb2501e901a3ffe5427733411a06c1ee108de09a80764bfe3db651343160ea5fbe385342ac12728173d1b556b67cc490cc43ce4dc584f97b11f86a061277c587932e55267a6fc1498441343864de41082b65ec3bff06537d5320312728be6783e5a35b82e6c4060c2c9ea3dd00aa9d71aadeb028df426a28737bef0421a3cc2b4ad16cf695d04553a89fea84a79e73e54ee0dbe44b23354e9bde1f0727a5ee2501ae1c55983bbf7b1b145d0e9379cfee77f18688724afa84aa5ea1b3d1b03ca43748237d06836d627e38c538c2406cc3e9e746d538e0bab765bc48372d9f58f723ed61f8e7e989990f4e28e2d74eeff5021076e8bb0233343b80186097070056e0fb4a782c4d23c8cfbe816157fd029dfbf04aff3a1ececc1c6a86d72e4452e405e911df15303924ca0063dce408e022513a64a4246a1b3f3e56843040b72c105939da57eafab8212fcbfe03232a6c1443d5e70cd607f7c47032d5b7246e94f3e887f741c85758f5b15853e6606f7d91cec91f8db7a1e10239d760a7206651930ca7a196aff1eab7d925fa7070cd36bbf55d48332a0a4a58ce75cd04c9e96c32099d65a73c06135c609765948ef969228d6a031aa1810bde4e639e272600eaec52c01ad52497875dc4e38047e832a23e9cd8bc22cd4c35803c47e1d72440a42625a2be9b1936940b1f771f3b36783ca9be6115fd2746eb47fd540177249d1ebac48d5e14e198ba00223cfae8a5e6ac57b3f759f3d764509cb7d1f66561de98e8ee989dc118e1b926570fb49041718a55531ba3866e87f50bea9382e1c68969f453b140528c290868d50655d9c04bbca0b0674fbc8de5a3c2f1bd395436121c7629eafcc6442f1b0d1783a75bba6021eb348d00970fcca99d49e85d8350015dafc0f2b66659ac5a293c3d7a40a914259e4cc28409aa7b9a2b0beb7f93bca26eeb3b1cdc68a00e73144f2e5913ec4423c2dadc334194035d70a97b4e8722fc5f0ea87b867903af3c288a830e1401daef3ea7c09a019e41e16123dc1a00bc2177569b6411d5c61d9deed44300db3d4901be094b948c8d31261c18e0b900be4d1a7160469ff754e303044d4f13b7781259f4026572ec20e7f595ca28e2072e9bce9a6bc175897ae01fed89eecd1a3df3ae911ea9f1b791ff13ad20d7ae0729b22e8082d7d5ea6803388f75f85ef06def8a48c66cf60f4b657e89634cb0f72946b15791ab41e20985510eb640518b93dd144d617ad6eee610b2d2dc3160f3bde6b7d5b872413c29a674f6dc58c32610136671d9710a9ba02081307186bf67205f3a07098161649a4ec986482a48d5ea8f62afc9553e3da63279899c8482a72d20d8325d79ad72c4d2f8323f4a3465a47b3d5abc7635d20c4ac2a807e47b85cfcc5e1002630f0f3cf56a41218b6be23ee3634ad09d3118df81744fa7f6abb3a8473c7dab1ef204b8a628a91b9fcc0278f9c29f34cbf9e7a4916a4f1a541596023784a345367554d2859878b07b0931823bf3f60468e86e4bd9da586270ef872c43ee62f6545baf22ca0f6d91ad066373f8b6dc01927e277c50ee50f2d461d6f16aacf0d246402bd775057d1fbc213a6a46ae9f7ca158db9eaf54f9604cc994a6f28c71670581d7c4a33009440ba2148ed8d69b5888fa36578892635739ffa72dedec3763ffbeece969362403ddf3e44a137f374d08e9aa0c21dc8b6b4664272a19d060048d634d21d7c680b50792545963c0e18a3bed33ec191b92d33de21721a01e0957934b0e2ae3fc6594fd2ef1130145552e72e1b6741c893c63d30dc7202d21b4aa3566dbd29afd1352c43c3c776c30f7f17afe7eb463a24bc8bc69b727f7f4dff745556cb09014c31311212f8efda581514a71d46f2d5ecd4eb6fdf72bacbe8f2bfd93bf6fe2f5d581f0249005d00a3d751381cc4b5cae34318ceba2a515dcd3e84e7fbb3316f8b14e9eb502ce8b330e44ff1311a033c8087fee52b51804ac0a7441f01bb6067f91ebd61e7fdc5a413de24eefb3f122092b9556eb04f70414a60f1e2a420541b3ba8458b866c4afd9125bebed599f219fff7670103720b6131c558e9b4e2b5a924eb739249a9199baa77f6ef5724f657ddbbbd14cd7225605c77980cd98f69c20177e08ed70b555770e4f8466a20a24276d49606136be664f4454ed6efdb2f427bf2346c2e9fe225f28aa007e985ddbda7b37e2d95726960de6f2f4871e28c479fb82bac3e9e673b0d0a9e6096c5d2f47161aa07a172be1ad1ad8c6a47fca8fd6e54d5b9353210dc1db58f6aa24a61d4f56966b372406507bbefa162483db023f74e9afd45dcc788ddbaa620fd3df8f1a831fc40fc72f61b34b7ca0066b26d78e27d720aaf596bde6ca8cc3402cfd9ff3f6a73fd2e72769ff5d94a13ccf8d1e2da641559cdcc241ad4e0f2977c6407c5d647b9252a5f0495f62802473b273c8447afb198de7f1407bfc5e64edef41705c0af60b17d1ef0324de72170125048af835c251d7f27ba26fcba6640dd30fd7f9bde0ba9bb5ad466cb80e0bac3ac80526b1fb9c916f5d2d2b8721a2cc0210eea6a2c6df1510f914ebce51960faca4c7fd55cd47689dee9c423a50b0a31ebb685b5a995da7272cbf68b1184a0c2f8ed6c9ce8b13d2c3bc99a503c886a5e4ade0d34cb62f6717297602d6262ca33d88e01e399184cb89be4cce09867b489d5348a24752f31ac7207414bf12538a1c37b550033d921e8b2af19ad2c0a3493d1c2bc20e987285a728fd9cf3ad40e97b99541be472b80caea7535c41216281d0ef688628436d9a532ac91f64d661c130601adf9dc9c2eaf7ecf24b2e52c7c2e333d730e864385e615fd44182e1b990b4f2f98cbb73f652755eea357bfc64143711469983fd843b272495c55bce4a4e0ddf7dee65768962008d4532f805cf23d25187709b22f9ceb7214902b9c435994c49e1e8a6224df55603da57f0a39ec3de5fe079ebbf2ba207279f4a05e8b20973c4c470857597d46ba88b4ff9fee9a27b1c812310c6820bf72a0efdf9c42c7a1cd55808726af4c430e6c0821b3bf52fc9dcb7f563d45e3d547c7be16c887dd27811ca0824a20d56256e8dc08d96c196f66bcb8e6b237b9f27263e09b644cc44ee1a4ac45e21131a2be92305d084d6fa61bc0c4e23bda69787264750bef99187593ab565dd6d8edb697f3e9185cedb5ae35ab7c435d99c05e726a02081093e507aa63db54a605777a97e193d57410bf74241cd5e88d6e3171725fdc3a4dc0c7225fabc0caa28272639decd0ecf36c494d917a396fc941256c72a8270cb717b45f42e89c9a5b0c21bccef077e9089a6150125aa9664747cbdf72f4bf0d5761cf390601946c7e049d782bb7acc60c1dbcbd3a9b356b0576274772de801c827c2c2d3b3f96425e5f9801ed02986b3682ea7124d19aa7c41dc039729a099b81ba09c62f131921cbee491d44126b44021fd4d7b5fb12ab6b16dc2a7200acaf2e078b77319cad62810e5e95501e21096e679d31c1d4e5064ad6e5e972f4b6c083ada1c2f236e845a6ad06c842f74a27072577b131e4de71d98602e04bd4301d60751331fe8b92278dbc3f91a2741d74aff252e9373349c3528c382756274a5c5db5c429710406d139097000d7ded66879447f8144210357a0d2462372d460a7d068eb262c722d9569f5ca66d7c3bd751213e363f367abbaee309c7f72b9383ea8f24f17bf730c81c118e5ba258ef4986c9620d673ddfe11415b25b172abab6362bc4152f4927ac643b424014fb827bfcaab38640abdcd046097167b47657e3e6dab3137bedd8f770e1a9d2cf1facd2b59a56d759a2f5661e21112cc35a59f316a75ff31c260cb7a5093eb2062a8623672084b9fb862405677fcb802723bb9d61f3944f85656ae42059fb92d2a8c448f545b0dcf0f7976afa13225d442f575f058c676101cf1d4ca78fa24a8a629ebcb81cbd37dd2d890f17d8910da72e7b649c7da8a175d3e5ab50f91fb21589c0c581f1c30edd2799faa63cc7a300e0acce9403fa3995103151aa8452942f022e221f33745e16796d4df30c89bf672506b5abebb08072b4ae718864230aab48cef03608b1cb675e8ee0425cc8ce07285986ecc7c6306571cb4c3ecb22cc4d75459dd11584e6f3d7a3decba2db541084b1a53b07443b825cbd157efc120ca0a6f9e16aee7c139e6fc88315a2011a903820a186f5136f81bc4fda9afb87ea3762026d1e9ec8cbc175d41aa32ddb6a772a4a0b40ce04a400b213cd7cc4eed5ae0022095f1018f7f78366d74a916832972613333e1d7d2f1b940228308e39a16264d95decd2dc4d42e4183aa8055fc1057dc5cf1f4114dc15609f551a8e0cd8e3046241d8002fd65443d4dba01262e7272159aff7374c42b73116867c88055187f446dc3eaa6a2e68bfe4e427a3a125f722b02fc0bcb4c423d2d51af88b8cdbab455174f38de14ae2a1af666d1a9d138728cb775b1379fe3f010b1349478f310a347fdc290173b8138ac444170c617bb67006dc2a2a37bafa109b3dd5cde25d8c21e8d419a80cf1009e73e27c69ae0ab72ab00f3bdc5024dd600bdff1dc754e89aa705ebec95e139724bb9c8054e59bb721097e57889b321df41b863bec825c7ca549b3247527ebe0c4022631b5d63742865c37f22718096313d8971b93f4901e71b9d6acd14d264fc6a576a8b2a39937267cc30c2771706f30cad13a481cc4e670d4ad08ef45faeb14a96722f0bdc6272faf2e96aadf3e9ce723b43803283f7cd1f78d33ce9017ca1c8b9287fd0871f01b37ac9eafda3502d993b7f5c8e0ea60367a6873b82f07315f88eb89b559174727b1e46c9e94dd403a6d492289db26a2fae3c495f9541361c74e0a80114038a2ebf09cb928c6abcc8d83c7f94b16f6ebc6c61d4731cf471f610ab26350f63d6729cf769247d676f609c7286f87a11995fbf6dcda08baa1494b4879e36b6ebc572e8ae550b98001a0de1a75666b28e1ba8828e5caa217385a2bd5cd93bde8f197231ac5c42ba0a6e12255acd6088fefed85a755f4af4d9af253555863d25e7d772a84a7796fb653f126b7d3d6bc5db602e7f7b9bf7dd4dc3b9033b50709e2d6872f05a28aa613b182f290e469a950d82177999ba11f09794a3ac49adfd25c3c34b93138703022d0b86a52fe1c8c544f61bff3df33e3240f198b9f0619e7a9eba722bcdb9bd257cd92065e47b3945669e79279ec0bc0995b8264d1de5336eb5ed7223dfafb74009524f0d58124d50d244e21485f6d9488c4142c6cd4de430a50e6635e0b6ba93cdd3ac4292ee26a52fce27dfad1d091c653834a117d0744793fc72b0310d9ed84253d3bbc056e142cf14b33083a21f9687c6fb05e5d6f24e3cfe72d0404a182b2d9011cdceb4e477ce71e2918116c2d44929284d7f46bbf18416394178bcd1ebce09819c58598b873beaac5cbbd0182d7081247bb0438a60c82972694b9675b8ece2274b06e0a01dbc2146634b3d097d2358b0a36a108ff8b7bd7284c76a795d83db1e0c4b9489361e4a05124203f8054ef3b769c1cc2598a631728c416a9ae2a303f353f224d9f9e8c8ab5a428f42833632fe6f73516039dc0e47e3aa00061036cd27903268cf9bd9f114b032abd004ebee0ca94cb4553403ad72ba6269c4fc2af52a79e0a0ef1e994d7711f2f019fff08327bd8f0444ed1e4172bb8f1dfe06391778f13439ad2f64a9ad5198ba6ce1c5ffebfcaa2458bac62e1dbd4c8a803b117f59cd45b64d3500021441f59a2a7b40a4c66b64bcf9a6ce8a726367393887dc7b776b7225dbdb56aeef3d382ab82527e492359c63834db87d5990f8423e3a5bbd28a0e735a9ccf1e1cf4d21fda09820363d44c479b2dbf50c72bdbb23e8ffb0a4beeb9f4da5d9bb47a45c25e1ab71c1488bd3124b6b67712f7229c6c5bb9a3d6aa810bb0dcaa76b114fe0458612f33efdfbc9f581e39dc9a07208a89416fb0289c8ff0039d486a1a8da0b256407da62542528ca1a9d8c3a3756e6758f30065b3fff5699d59331f5be4bb409ceea52ab3cd9d268ed3398732972e1463296ab38c2b42adef1671eaeeedb73e46880f2dac6f6400619b693fb2f5f91a3901b32d18e0954a557c3b6cd9533ae0c85b79b9f249bc6a1ef4f5f797b0676836244997598544b5404dd1c6899ccb0d92ad9eb967535212822acb3c67c7224a78a49f1739d7fbfc784a39db8a468e9fd6e6c31acc4947085ab0cead061418857ef14ded750a02c4f97649692c257f92ff918aa8e257846300c05d96dc0725eaa6c4ba2c45319f45794027fd9dc65c35f2507ffb2ff0f6b1b4af440030172e003d14d0e854759f6159a0c549a86fb3f6a5cb8655a60a719d9a3b8eff95f3a420f1a89ebc8874f1cbf4f076e3e8ad982e40f0d8eceb4a57fb816150d16690906958ba59a02f1ab8cb0fd31d55b676fc9aa959b6769a20f051b5594b6b0ae7205148c8c199cf8840987880815180debaaab1dc46508a4f3873748489b676f722639343b427c275ff4a750b8e8e6a7196944d6f1e258e93d1d72f4a842f21628b26bc867d86addc5595e009dcb368ae93a7c20c51014ab66122bcb31af039772f975204b2706173aac5826f0e741a528e8b18d458663c33295ab0f9a4b2c7872e984fa8e72bfeccddd91007e1107a068f12e7d618313412a792ba1915ccfe472b1caf44a1d1042d46421a16890043a6342934eef2df08c414b0e4e2cde83107261923cc3f59ae0776ad70c4dd12c388422eab4fe51c3d7d97feee2444bd4f772c323c3f351551d5833159cdfaf244c1dfc2a74b681fe9310964331caaf5dc372406841d58fab54a4c0c7403a7cedec219ff5b3afab4aa5edaf83011c7961f6728516ff40643f3627baa176d0a6df290a9109ce448c3b9599364ee5d91b4f195ab03e79f700b77589b343444df74f8a5ea7fabf9ff7b6ff9ecee7eb174bbb5370d1a254e03d9f1c7e12e3a350639026dc96536a664c7d93c86bbb7ea9cb02df72bd360431b168775703341783b0fcdfa1fa16ae103f2084c0646ad03523c8a0512fc47363ca0ffd23ec8ef1086244cdbf61a3399459a121321f27515f4452236e6ad41d558970af8e1711d5877b2b9bebfdec1d6ecc5560be5885bbae15e24a728792d03a7282965ab5117ba52cf70d395e1bb9ff7a766131a917935450a6c069af3963fa09f8889a73c31520379b1fe942ed9ccabd738c94485d59a47cd4f072aad8810e064e7e2ed86faceea66d0bdb48e5bcd7032681b459914b09adc0db72a1ab63c39ce49ad0a26b29c6c7fb3675464c6ffdc007fae9686435066dbf6772d165d9a4e5090b72c254fecceec65a43cdc354621e1242b33305a2e66172db72af55d9097ae53fe4b8e20de3e89dce4d3bc30bec00700e6d8d14caf069ca8c0fc938a8efed355572d2634a07bfba37774b6076fc5827cb57a6d2092b565f1872dd38285ad24af2e0f6b9d0b4a1dcf66bbf9f873d2cc2e605a4220651c3ae8972a40a22b2738030ec18d0771172434750cf85907a4748fa602bf1f14c43343255ac4b74f21e6d3358165eb9f1a79249deb2b86bd6b61f85965445e528b23bef72bf878728fed481d263eb950ea531030a1ab4885b4fb540a301526841aea5db121dbdbc19b50b8c409610a3b2adadde01640ce93541c723958a97e6ca5cbbd659f22c10322724fcffd9f63393fb813563c5e89db310062d7401f15db6f040a972c366c5d7014c32b5019359e7fc5a6748f359bd1c581ffd1ccd49b3ed030d9f720315ae53ad3d8b73a5e7b472655dbf683193ea629c5f4457c214ebcd9c0fb120d6da3c4eefd1335816ea7447fc9db4cb29c5a0a1cac408cc0e3e8d973ac76c72eedc55d97097dd2c80533fd4aae5f28566aeed273a70a58e8df926cf835f753060e2d5300e4e68cbf4d31dfd1ef75b99daa87967887da45cdad65fb2d2ecf322db592103aa42745b608c11a21bdd8476d88568fd303b46b5b45062b154d8f372a0459e5c498350fcaf55ac9ad5c2d9fc9ef773ce4d6d9b4e3a26c5405a7201412c89c4628500e98a1de9dbeb88903758be4ca327af82aea86b8283a45b572f72279b4f0ef97999b3319d7a7a3b1edbd83a084582d46cae69e70c73fcdd87765de1f8d0e6cb1dfa437161c0b1e551adfe3899408a03fa4bc9991d3e32fa330f72295e5afde6d0ab63b3d41554d685bfd1a2fbbdb0903e8c740b7ac4301c14450902ccee1690815508f8ae52ab21b49bd21c5659bc3da2a38bc89c6670a1bb9772270637817d375e24bcad8aeecd0459860fca00f8f067238c4be98036a45a627215afefa2e72a4fdd4f4149b999903f48db40d68087b8682df7cd319e240174723a31cc11248d8176b46fa407f25cd38521d09f905b9f266fc69838f151624d72056e8fa7bfd39f79d20183d12e88ff5b0ead214b8881221bf85d45513ca05872d7395f6cd2976579fb5b585f87b2477c47a35d2f8235714d8ed9721bd6b019723b149475964b3a1b5922317cc07471bd5c0096395d3cd109274e767134e34a5619978578cd21ae22fd2c7a9489e270fc7a6778d651431c35b01208580d837072ef1caeb1a7a6ff2eb88a9bcb98ff2767618aea7ac4ba9fd697a04bdafb78984a51a5cc87342347f651c90e2d6539a0c196b2736d84ce93c385ac5a5005831c72c6cc5fce1ae9bdcb8fe07cecc08f6ed9387a9c88557199c3150cac843e29bf244b918a23ae5baf31845b9c83fadef69a467ed69cfb7741245c738b64a396437251bd3be6268057592108a09e6c34b50e4dc15040de9335daa128f6d61d17774265fadc3222c6b57154f0b00002fcea4c2efe35215e67ec6f912828b646a1af6efc8c26533d71d9daf3779b647898bd26f3eb98d98741f6ed5414a4ec1a9e822ec7ce1c9122e30b1262612c2c6b6819d3e02b4870baa7dc943548e132dbb87860027cb65c2f854f72875ee4148be0efd2b8238179088e9bda17a6b3f2314a591c205762cab325945b45129530b6ea023ffe93699e3bd996230a28d17219f0b0726357fc880b7713ad8c855e6cbf477fa2f910f8ed315b2bb4e7ddff48150c370af43aa07ec821c760bf37af865111c08fea888d1cc59b0b5912b02a23a523907298f0443cf68e57189065998c5be9564059870b7f6dcdc54f7ef431a41e22f972470669170a47ff5280aeda47c8309b3fd7ac90c25f6df3d11b3310310b57e45c1c97a7029741d6a57187c203b8af9d7474d736aaca585203f016a876927b743bf4aaac44e8d9c4ef524ff368b2043afe35d030eb7d268dfcd5d935deba7ca4726938b8f563ae30793399919a3915d4b86da5aba0316be15132f29cca64f7b31dbb2ae277f22ac8245856077214065c00a572e7cff5589d8b429a5f59b48a5572ab47ed754f3b6c7e45ff8e272016f807000f6df9598a04a44c40f8de69ce9f729b7038ee4442084a89b44a470bd3fd87c15dd6dad2a7747e780b36ed7fef61352f61d2f782c95bd5804d3a10572440a5e6d9ae496583b6ab059542a1d58ae0729e5932ddbf7d2d790c41d70c8d6f2aed50bf4d57c9df40b06fcd2fa8ae6c5f722e2d49b51b9cee35c31aba30c457b560faf290ac56b8b64f2c24291bcac4e3343a6a4c1ce7e97a8b92e66fe8711631a7af669c0af077490464c57a5ede65c1017aee728fd85234d178beeb51fd2b8b7b55bb5bc3dff708cabd34b0ae0b2599411419c7efddf39164d3b5dfea21e8728b067d9ef551608c7961fdade46ad58328cb8371b2396e53d2b5f5360d70f1ef5b86cfe2bec1e915c58aaa7904e53c4241adbb890fde5f7ec8e7bf925fc3b7995085855f32fffa20b0f09d422866340728614f45df818aebc92c945b43ada7801bd5bc2ced39b67fe496697098b00ae27255ac3ecc0d01273099af6d1c86e535b139e6c9fd8c76f29eb5db7f84263f33098d96774abdca47582fbbfd7ae021a947a0c36ac4311f264423f0c6115d511b727de8787da682bbef193b52d6e6b19bca038c19679509326a276c3c04441afd120ac9eb5c4494ab337c145c68ddbf659e519e52cbfc121107e28ad338ed53e37236323bd13338715aa5879f18f8637db0c1b867adcc8f73a8843baf775be9197235583952b1a54092396116102feb33a05479ba37d7605e08ba07a1e1809a58598fc9f935c698ac44fe37d4067d2ef8e5ec42802f60f7499eadacde675340003cb06b557a30acb740a6f01db61506ba960df4890b5fd28016159293980285e872e21e76324bc54afddfb5db397225c8edf4a9c4ebf4d8e6b1d0a718d01695763039336afd777980a78b4554ee9001276fc5af21c216e7cf76ee894d3fa6fefd727553eb0429cca9e970e5cdba145830be82fc3f554e1e49e1d8ac06df85cfa072405dd6987247e00465eb93a1e46f75e7043874c9f1d0a5ce29e5e22d3f87f67207aea37915105cd7b64cae4281a5a0c9ec925d721dc0f139cff561ee1dfc05723600ae647ff9984f2c1301342e9c3df73cb162b2ac9fc14a30b7fc61a7a0a3723334b52b92b1aaf304e4eaada967897ea12898d45a6882919c4f2f000568d372b1db3c55230268ee8e18c7d54ba03b29387c17868acdc8c6e725710f91aa2d720946a0ced349f18f881e80c05b23e99b6f2b498ada48960c8735d9cd3e1ce672bf83e4be2789cca5ac66d3d2b91211bf2c6af01b03ee74821b56a07503c05d512ee0951a1a796717272ff06ddd67c81ce895f11255abc9baf5a5a1f05b2c5935225a838849982c6ef75d149ea4eac17dcabdad2fef47daf85e3558616430af1781e34aaed3309607257b02db01671615ec01617478a1603bf241d9ea8ac3d07267389fda30e314d4c4e3ea37d2c661078b51dfd597b2428d3b2ae64a8d95b6724d6e58d882fc93fd17059f0c64d969f539883fd986121d595d7ada8006a2a641daf7cc789762a662ebc806bbf070c42e1293bfd261d890eaaa8eb285df3e67723704aeeaf7b61c3d7ebb2819ca4a94d5edc7790ecd39c46ca43dc0c238a0203a6e45f302db85326b92c0e7a857776536c8be5113df3d4db9ffb90a68688298567dc576ff0c8a1995a769aee41333a2bb57fc9976debcf5d7b352f5a74784f9728ffbc1685df02f6b0e60b546b54e817db43920361a60b90809372e06d127f5729c8084db52671647edebe54812ea8686da4f01ef20fc0316cf82c487452c59664546829315978c99daa8787b26a714474a18c71d3fa39e4d701550520d08f4610b79ac04b8545199a6399a758956e821a236531bc378620f05331d078921ef72fbdf128e37a0844ad74f974ce0ba38afbaaabf4900c25187b54013fb50262b72d66b6f5c563a3f646b8c1892abd2d15509687f8a14481954ea48dc05a2419b2378a3563fe4ef768fdf426b001eaa9667cafd5f778dc6a200d0e765980b08897261b430369b915fed1755a5f3f858d5c03960546798526441ba4e1bf814231b72d976345e6512e16ecec8e3d482832e393e99624e986d349885e76ed0183c1372248ebe07c859df886707f4c4c6c73bac4e0b07eb7a4d7d5c7187ec176fb42e0e6b26af644c700217e90c89366f97875c66ee18cc9efd5ffb472e8551d42c18721c35549a910166089afcc426b36ca6a79190342d25cd32eb8515360ce491c57167efe0a68744fcdafc22afa7a787e178dea5761872e7889b61355b3b8f81aa728beed9d9fba75cfdd9b6eecfc549b588962127015e3896800494e9442de69431fccccf982c8c7e39c003a83aabdf8217bf38ceca5b9b2b5c3eee6d203d67dd134d6bd92abebdeb65b5bd13c0762f0090be24943b9af3edab5b026844ea3ead56f66f6d215826218af814a9f113a91e225290af1edb121db0014a709be6176a726aa9283d910facd45697e9657515c7c79ec236145169d0a49c4c0f3ced1123727f6edc594b17421b15c6890aae5ab99d0c279ca408a0b2d403667d34ebba9872a06655bf7610e165aef1c5d17dea7351dafb541fbb315f8f5d85298a8440637214c9d29aa6b05f6a6a8c52bc36171f381eb836977c68dc6dda4874fc18a0c14df48e47b94cd934344a5d6ead0807a48e937a15713e00768c70010e5773371c7207d44a4db130c2babcad25406065382543a6150e376924231928e637fb5233720081e9f815cf714f0b5558d5987fcc8c06280295070c08a9c2f14bc4da728d72ccab6280acc12ee6d63f0679f3346e86e061d6cb8ee9c7dc43ee30b2c9d00a16b09d1072b1a3d6293825758c7433b99c1fe4e3226ace62d29e94d56f0e0c4204e221c3db0fb1c1c6a3e112e8d04cc4ee25e3b0cc9f82d7694babb25627d7c37277132e0b3a9e8fa1f05f2ef616436d24aa0e2afde3efb1b14b87c1118e2b3c1cff1029cc62032067e0ded17ce6edf76df78366a9b9cb8851c60a0e3bf43e9107d0e2aa48004c64b70780f0bc25ce91df38e25a3f467271334e41f0ddbd20d872c1930aecd2daeb4c0f8488972cb7b12096d9a9e2d4e3e44385e0a17df23dd931030b1d847a1cc1df015838d7efe4e31959b5819027af3f933fc7dd7c197323728e00fe18dd76da4316a1a4f11994c1ecfa5813eca75e223790808165d8c89272000043a9d9341fc8157a67f2110ebe52ea76216cd056dee1d7fc52550942f472148d12b9e44572911be907dea29ef7133b78fbc23d890a7ae03df5b032f622720315f81eb22ddd39324f9c279b7c1b81d8ea3767de3d4b93b56f7bfc031bf4034a2b756cbe0e912a0f243c2fc185038a6cafa74a9aaa3b87dd256a2474dce11ee61e060a46a60064acd982f51f32295b9fbe94b0d12c58adab771d57b58cbd29ed2d358b0e8a9375f2f7e36d24a69f3308cfdf1b1e517f7c79081ae39762d211023c38efbe02e44b879e508c212d17817706941215eda46cba4a93c5c9e86e23af6100c935a911e669fb7cb00cb890cc8e2ec4c95cc7dc56cbf4fc8ce2da2872dc4e0936e37b859fec5f71d6a7e9658dba51def00debf7e1344d19d8d6258372203330d99ba7440db97cc3603708ab3370937132255b1024abd91524ce77ae72a7d2f09a640ffd30ef2e97c437cc93825a143d883809ec67e1837b376a62fd722e6fadc1a6e71d93b241ab377cfaaac7e20ea758d2ccf2a76d4be1dacd066a5d4de05e013693384529bbe79160b9a659ba0cdf2527f38e766e3c5131d79b90728ec22dfd6a404c168a4c8b57b8674324ed82c5a070dad9d59311e600b35f2638a8811234cbe337517161b421992d54d0871415c7b0d2fd427d57ec425444037276c067e9bd79a4a21b791617d57e0ed09b346a42de8f849e13918d0e11dd4372bff1e939998b33a4d76b8a2b84fc2ecf6a78444b2b78cbeedea4fae4acde2e72f256f0773864e45b3b30f214e8b0361d97b2be0fee44f96161e7aba2dcefdb729e0c4aec242d4e53b571973462c6df3eca08e2e7a748a9eb119f68b50b51a4721b293e1bc9c60fe8eb25a0bbd32d73ae94f9d8c589dee8035b80e31059bc1072fc4d621e1c10880f9f01269e311e37d5d0fbe80c5b5d98956e13ae06176d0972ac4d878b814a74225d635c39f61225433955452265d26a244abf4709dbd03a320da32188559d699547499020775b402b8242fbb983e4c5742dee433ac1445072b7ba7366701ac73dc64f54bcfe37e73de3fe3ccab2679234b0efce7addc087440976cf7115d6f4b33f5fafe1abb97c8db0573a1d0aab1edd062ae78f81c8a916f5fab9678c090f474c1cd774fec7e7bdb3859092a7250a43ce22b68a5706bf3130b72e6ac254f209ed84c1e779e67dd12aff6be4d61d2ddc99ee9aefd54d5172584049d845f9903e245c45b347633ebd77d922b2727f1f2b9c88c38a5999cf72c3039f736664855291b07a26a48feb94347dc29a06d3f70141f05f63e605b450f747a8ef4db294b63879668b7cf340887004bcba2ecfe95620f7b286d780322487b224a728663186f82cd5d4329e0783201ca5438b5a61aca7c6fa6d116df27208a80b0116665f15d72acb10140774aa1619e99eb380888eb0a636a7de06ec727dc4a8ac8c9bad49dd3852caf1897b19569df903c4cb8076558051cbdd41f87263acabe5a8e976bba6d499d7e0dc652b3a4e342153bf259a2e646422aea3d52ef05dc3bb28395cb981826fc0d0ef5b3f28d10c7f2c0e66b1108e42307397c86c554e1dbf32c068af7747cf114535757222f7183595e55b9ab65729182db6fc31d31b8a623d1686bf733a8bff93ae2d869dd1c3edb7a7822e761ac298a713eb728319d72faf5093888dd0bd8377f7866e9a04c27d4dc1d81c4ba660d60da72843262f159b32a0ab048c9192efaa8b1ee6ac031eb504fc6cf43fb39d32789239346ae6fdf0826fb32ff60f821ce6f8c7e49ac34c959820c16ffcbf00d1f4bd9f3c1370805940032503a2456137eae73abf268aac4b3005897427b0c34c680cd072e2167e3c4a105506624ba3a0663d273cb2d80e1ed15435529a56a73f02e5f2721175450ccdc3168ed48189e0619dad1b3b40575142d93c09b756a3f5f34f771342d196c73bfdbdaa0c7b97805c01ffe3c2e304096102b0c09939322951607c726be4e08fd42ea20496da0c3395a02f8e235f2c85ff4dc0d4714eb7f17a64550a8ca85a78c906660f823bf14b1bc8dc1f376e01d4b316849f418e4ff89327695a0a4ea4bfadeb838b787f3e448bcd57f801e9a34eaaef9c47fbe0b306e0c6a76539fb087c093436d5497bc9ca9b9075006cdf908712e3c96b91f9acb492aac457c037779662204bf8e94474825884ebc20d44fea491a80becba209717057ace14a762abf72f07caecfef6dd5593c069c523e37ed129be6b1ffa7385a76034e10a13d4de60f49f254cd7896c2b805312f7f4c6a853d2100c1e5d995fcb57b8c214a2d2dadca707f6edc275def9ce9cea6f2219170a40180ddfceff5e346b31dc723c47798e2b7951b721b50f86de8cdf89e59f59ad7187e18d0aa748abf1415772496c773bb346a26b6107e441a585e89065bd06881c2049b093f2284f38572308c6edf374d43dc8e2b1e4cf3eb3d65623e84fc49ef1a5e7a5696840a5882f241e81415ad6bf0daa0fc6574b429b6253067a82018804a21b52ed7c4396940a417252180e2bbbe2a3b79404fe59b10e8f05f498416724006147246e195531870730fe02b4f2c4f339745bc5f32a92dd07eca45ad95957fa86e0a48990101721a772b1a849103371aa69abecadfe70e1828d141c2acff3d33e821e55829e36dac62794246cc5ded11dd4de57f2955b62099e64a7e62f9b9fccf144839c4f82b8f50a09b9b470eb3eccd71e3ce80278800e0f91c5b26e6a65d362ac31a815e2bf8c72f1fa21990753f0dbbcb4b5948566ba21cebdc6aed43dbdf3280c849dda991172dbaa310682a415b2552140665aa1fd4ab02b435a7f2a005e6399a0010e5cdf0de921c0139b401b08a9badd96118892f352d05f5709f2324a4dd21af54e432272441feb97aaa0cf54987e66059e1cb02b9c3e0184e5122d0dac2f1cbbd66c0d7238c8c5e4baedf64dd01def912ace3ab6ae1edfde60501ed387858d7c29661e720701e5633bb7ffb9809dbf0039f562bc9ad4c8c80da804b6881c58e4bfea1639bd428521515fdedf23511cdb015545109e8103ab0b09de964959dd06197f1e2eee3b37263b7164ddbb28bc8da19b2523ab2f44d2bd808e0f61aeaa14d1737f721183a06a0e77943ea42644cadd713eaef7b09dbc6197336d2244a0877d6e437230c3569fa2744e75988f3d60ee1d7c601af7aa5cd3db21630041ad8da2e1ad72edaef3d9744081ddd8a7ed088ac372d2c58183f8151a50331cf885fa6d78e172e687a86f4bbd3da87813d6cedb317056c83311609f557929b58b58b25cd6d93af9268a4489f56ee4194763617e8cefc4c9e02c70f2774f80307208ccd581057283419cf0a11fdda09373809c0d12885cf3c2557387747a998be7ef377bb5dd7235f17a748d06440131dc26a643b10852b668d2f8f4bdc7dc3c90d7850a9781726c1308519c085cda69ce9771720e6d37446aab04f1850ad671326241e000bd72041a04a7405a10ac06339c04c077822e18cfccf86ba7d3278c59cf8823b315722e0aec9b01dac241e859291823adc32d73b308f5b29ff489ab90a628ee1cd85e437d3acb89245195660714623871d0401e038b44343dfcb9af661edd54252372a1635e2e0f84d3148abbbbdeebe8374281fc5db1677086c6c965b0ecfb11b1346da2f53f0a57a5b2e39609bd5085ee37d96cba62094893f5fb8e3f4681d1bb2f29071914459048a0b987b5c5135448b7ac6af4b905d17a8b5627abe54b8e6f72d1bac118b9782418672d6f916c457813dacb3ca80c9b42a8c32eead428659672bf4a28155bf37de79129298368380a8cd6c8a406d73d2bb38b5e281ad4641572445bd77da6f2fe4da5d54b94fc888c442c72849b62e7dfbae14e031e10b5f468db03bbf53c410e7b8966b67ad267006547c35c4d5ca6402e7f8eca29d2bdfc0adf7743fa66b8399a2acb60d384b65eabbecc3425e7a7e763fc78632dc0375072f255e48480311d378302fede3cb024035a67ce69e2b917438195f49e238fa772114869882cbf6a618d5aa67697cc0688764a3ba2074ce1fd30c8a7d4e206e372e14e0d35ee4ceb775c8cf6971bff8aabe197bafca414c23cde7614303e661f72e95732c5e2045469dae3508a4fe5a46d0e8ee1de2a38e4199851a2f5545a7a7290acacb4b2f5d81040e1a9a9687c72a70b845968824c7b702b6c26e6df957c72797397ef5720f6186b253cab1be8b16a2965565a0c9be4c58244b7534a3c662109186852dd3994162aab5f5b86725a5b72516fd7bfb525d65a41d5dd37fcc92d318e4608caeb29764e859fecee3a86af10ff428df8820f0ad4825f1313bac0721e04e7b6ca416a30b483039fcda32fbd0ab3a22bf0244ec09a3cda2804a3b603cdaa668bef4b7639b3d62dbad475226032330f746d56b530dcfcde3b9d158872a3f39d33eb96d84f24a6ffcb51376c51d092d051653affe2d90b599d6d4b5b72db3a1ad1b9ac1e3e7a9a58d3b8720c627fb581e54fc9bfe73c99d694faea1f20f86e302bed875bab77b413c8aad6c93e96883df0cdcf73011532bc7d1da10272c9620a5bebaa2686f47bd31668e5bf0df3839da9b9c661f793d54450e54703723751521df97fe8fef78658a849ad5358ca9e34535f724d98d2cbe4f0339c55722e6b7ed1a11496332414e42e0c9c6606bc4070727787bf32e68ce3a9b4e84472193fc51cc7c3225c9e4c97cda550a4f2ebc3069ddfd39d1bbdb55999e5582310905ab15fef670dea909b7fe379af4a3bacd50dad1743bb6818e0dabea5bd5a72bb7596b811b781e0cdd0b2717640aa9ac19914d095bd9ae5bcca61df189cb409552b1e5832b4608db91e4d2a9b987cfeec5d1420c8055efb6396b6b09770044bbbd2add5c5f38a8fdc5ab0953d96fd9cbee0f3b1a97a4413e9f76a6596d2e9726fdfaf268b001cf667154259a5557a70bf9b6d3d2c4c7bd966eac5c65627a1721eb73f543f3d81f5f85c4fb5e77d517dcc115d9a64352306525e705eb5a92c54ffd3b3fc9401a0c94c725c58e9d4bcb706b09973d0c9a9f42e2a4ef149047c7254323163ec90b0fe428c7b4dd60c1171c09929b50f5ea2684e95f322068a6372bb01c80e352a966574213eb1d00cac4a896dcf70759bc7faac36833db714c772ba52c7c0a83bdc57007683f57a175a481bdd859c78ff68487ae7ce3e4f37e75b1ead110d6f18f18c3a3e8eab9c0c54cd3526a0bd19ff52e4727d330ca93b887213b7b929db57595f0e5e05fece56b8df5d6f5fae91d12023aa371e3d7a1ac9728aeeb9786b6b2033b9004082c4903e5b97481b52a4054e1edf58d4ea2b181772eca08960c5fd82afb4f6da4ddd91796f20a6132b46de73fcc16d0134c8ce0d2eced26111d6234a6b5f4fcb15690b31796bf46bf96a1e1aaacf813cbbb97d264debfff780ef274df325f45df3079d9cd426c27242438a453922f0bcec27cd776b6927c72ef43a65a65f59bbcad4cee1f1b6de7a9f4632b0cec2bbf1ecfe1b674aa7add171553d874c347afe8b28b9f46b702a1c1b8b61e1f384279565c8e20806125234acfca833848c43f66b68cdb27fdece0f52c68d413d9abe4c795dc7cd573bd179bc160d218847307c9d8956c1213d09848ab8c63bdea3f85028732b95119c84dace417281092ed26d7dc17d0d886ef384600566187c689d558bd45fc6728a22ad5f8979b4b22003e9c176f6acbba503ee4c59e4babc1f947418edce2c03bc820fa41d31f93ceab200f5e8432fab6ac5e5f306ef57808154f8f6d6d867369d21b4936ea6ee43e284dc7e21e0aae768571422a78397fb80a9f553fc2ae13f9c30719f621b000a0faa080a568b35df6fea10580e5f51487b908da40f75b2512f9c78e96bd60c7d8c53b5c577142bad5f112425dfcd57c1cfb50b351d3d4072ef462d760421266c4917abb71a7d9bb3bc800cd61ac0c1ac3ec0883f71565a3d68411680d7bb21252b049502e4812d2a9ad81fff99182c15ff22ea0da9605272f8d9b4902dff1e1b0054c2fde12ef8faa7cae02d6ae0cb5a628e38c25df7ea72c96ae46cb4e71aa33e2d28681e16a96a6d4d4e0495544c4a738713e5ecc4da726a56a0461a2d0c72c711b223bc9ca78f11cb04bc00f2903d90df733dafa444579e76a7974a405fd4dfb985c3f2fc1ab719a8c00f969ca8fdedb27d9afcc03800fb5951b708470d54a3a485784215ee1524f8842f723ae4fed18a588642153e264f79206acf5a2c07900c5530ec58d2815e1fbb9719575d43ce292591bf250721a64f7772f1e08143b3359be79576a5a27abd98480ec8692db9b591bd4112e872099f231b4c5ff2e9866a1981688feff3cdc44b161e7b1b3897e4d1315b486734598e50690518c5fcaa7f75756f5910b46b97f19c4bf72616ac80846565c279724ce9e0eea681be33ca1dc3e1382d154499d508761a7d7f67aad923298afadc5fbecc404a57a8c1ebaa6b7dd2eb4ba5fd88696d2a5b94552e4ba386e9e55f736a2fabec440551c13419446592c55401903d46aa865b3a10b8375f7e6214d7d5721e1fd2944bc121b47c2d32c08681762473673fda1de8beaaf15b13a3cbfaef3e5c6fbe9ca592822dbb174ae77f883305af59a8b70e2a2dfd0405bf5aec2043722de227c194caa6987dc0f020dd0eedd65a9b9373a593034f0a1eab6d7aa343729df39762d7195f593b1cf021597325e613abb808a1ed5a00f8b40a39ec59a53f18985a8147218971fc6acc5efda4da7310d03bfe63ef584eacfc6ba3472be707349b5fd0846d66fbc0543ed71a87899d440ce2c10843aa2e8f96b5a976db337230c8a0ea90a9b061230607258b9db33fcd995c048dbd94a86ad600664247b92f793ca061f9b883f7390afb90d6c0d44001bd9de93787ed48e237266a91d5770b27294463375b43b91a70b12fa8515a74cd33f65835bdc260e0fef678d3576d72f09676607c7e388f821122ef143e1fe11982f9fa774936ec60a0a89a490d4212595dbe28c8ac41902a12ae71fc64ce22d7c1299ae3d4ac3e95c1821decd7147279a02e03de5c576849703b8f5d73aadd0ee9dae3788ccf7a90bc59f27a4e0407972d860adb34a52813ad457d5e1d815f7625bba1e23306879ef95e64daa82f727bca565062478a99d082a2fdd6c3ebba070b0c2dfc970483dad8f68e8e286772a538bd4634b91762a37f529c7f7b003572044f0ac86b2e7e44d2815d9aba3772216d2a040f02093044f65454810f8b8a41381fb934035798f770c00faf4da17207b8ad0191042d085951cbb40cbd80bab6fce8b90f953d993e9be23f57d74f72d806df0a933c9e8364da4032d9a4456892af8208d1fd57379615e67c32a4a07266e695548332bdec21437419957736e24a84edbf00f266dc776c3b9443e1a372aaa99ce54c3b8fae9b75311a73c947436a0ee85dec42ee57a25244842a1f9c723aa9c3f415002cbee1be06db1f53ca953f85063603f5ca6ea07bc1d258ad29726f3acb2a07e6f26eac4d67e5e0f1c138e1df0af1e5729ee3dcc7c674afd5f017ec2b6cac5414ef91f63ebfc20a098b696ead2bab0020a941b8b28adf213ce87207552e16eed764d96565eb68ee6d6c8607bdf1a865a97f1f6e426f2e3f62934022d33023bdc8ebedc05e8b19c16ef7ef23c766039eb5ddc96c48f92809ba3239e941f0c5e6f1ccff87264b7983b17e7b9777ea23b4af144469ba2da060372743ffeccca2a0fe56fe7452bed81300227c8ea175a831fbb8c107dded2aee4cf72cf89809f2e4e9ec9773a02dfa91e672bdd89491343ee1535035e11cb888e57672c7d48fc4d1ee1c262d77950b5a8fcc0e0cde033e6b2999a622455f29cdbc9d22c1840b3ab27695aaa9e7413c31e4b30f4100eac1a8132a59cde1b981e28a83721f3cfbd96f6095f2c235bf545b5f9afaae4cfcadea898a16b1824798bb7bac5e0ec6dff03f16097b842ba1efd95e175e89fd9b446854315cd53f6298c1681472e09c7739e0bc1fe1eaee49e7f1d8c2565f7d437774b1f769b2bb2c4146879172ad2ccf56ad2f1bd098c24e6f69760a940a5ed6a2901fe60b23950bb4198a2f0a7bfc6b76e819d2cb9cc38619ad40e6daea59cad6dafb130ccc58b644c129511c94c798212cbba9b6bcc15a6ca6e9be9963d8a51e183d4934e4a34f6b4e898172723da883862c83fcd6bc8408ccd8b3ac35169a398a16bfade6fdf2034cadaf72dd68741f615e576770eeb5cf6c344b1e6165cfa69dc39ff01e061f25ab032572f0216df278b26080f6919ce362ec2027e4180940181c87ca73053bcfccda0e72927b9c837b0fccd270298c9b6a94e03c76594a458c55648583b7ab1bf86f1e023df369e140443ef88f20f1870da6ff0f2a82234d831bf41964d076b75bca40439f4648b17b4120fc6f8cb480146163aeb1546158146b8bd2e3d126561a669b7221595b30b58a2aa5f35caf56bdc42d0a9b76265fb5fa4842a27082afefca0001ce535eebc902e9a909dc1b943f62c28eee9fb056c0ce8d0b90c707d185310f72bf06f311c35741a1a0af1d915b06c579178e9efc05fc46f8d827b184c8c0f0723f1899f8f7ae276702c0d50ff53c73c4a85af850dc007b98d17fc4fff3c10472cebf4399b0f70cf87cffe5359080663c52bb4628f4be648fb440ecb39eb431724d94ddb69c1ed4fe64b68ceb250c62add19725eab0aa7f3c585087881525d672715ad3b0a8d70af735f394b4160dfbef19cfc4a4e5efab480784f2604f6d8872abbe946a6ff414eb18ad1b9d6638ac7b200503b036def411a170d6dfaceef223efaec06c7fb951cc577481c71cdc266331bd77de2be3806e5330d4f9d4ca693aa9c6a264fe44061703e808e329b128f81740ee31acf8707f515ac93159772464c8e1900f962ab49a7fbcc7dbc416d6dd0e16c490b08dbabfc015ec37f55b8772c36268fd410f97294b42234c67afa62eff3532515da5f4a03af1d061b097bf02708d729a10682f223fae8e29028bb7a520700d607f38f23eea5c7ce6fd9a967226fdc7df55a731e0a19dceb3d3ee4a35aea7722d8a35e1156b3ebbd5434431707af678703e852c3739cbaca2cc510bba67363aad213160e7f572e1d24ebd38278116b67c725ade9facfdb4a131572de7c6284bd59e4fab64e3c1284bc45fed72105d2b5a973dcc33bad405d39b5f354301bc178f9d061be3b598b6bcb654bb0bac8ac8e0ed0d8bab65799ffc3eb0a3158bd366b052c65b7ae5dd776c986b700275f910f2cb189850bc1474690c31a4b1963b3c5bc2d62b61bdcfdb02f2b50e37cb62f8a04c21c85d10135160b4e24597f028b681177e162fe079c332f7f4663beaa7506d9f5e1e717e94d731411dee8b3cb047c220bd1a931e6e36ad67c42725bce6c1943da4c611113f67eddb35ae954848f2ccb00b1ebe3cafab51bdf855729c0a11e551455f4160f1ced74a9ec98cc515b217c7d0db17af8bcd34b1dfc07294f2b7f8cd0d7384bad93b9b4277da6a668dd3ce13aaa0a561e1af58dd7bac4dec106539a6d81f87034c5c981752d91f80b712e7c49ab48e0b9469d3483fb97262b0dec364d454c0b623cccdc407bf2f700350b972c3e32a08c0f984e07c8132009a3fd89c1c47960a7522d28209782cc92355651e3959ecd27662058ccd6650b1ff3b621010942da8b115727af45bc433d6fed2ef4f7717ea2c32f0993c3b722c21855aeb2164f7b48e9331096a580afd945cbfa40c4ba2fc3b66e2edd7df72bfbb862f9b41a7b30d1d4c96d9a2f7660cee6bd246bfd73a14d6ea5b64dddb726c35a67b1fe29f292c567ded93d8287d6f7409c489a651ec021d0103b6441d72b12194c8a5d565f31da2d5c8b4cdd259e992e08a231e72dc846f8b556287d55d9d12c3af1d68435dd3a7967a250aff71ac2f22275f20a288f4cf3c1f7b2eff72c80a6628fe17972ef05cbaea936d3a493af54a6487fd77354e2ea36e9689a77234cead278414ff873fe01b888a870864371631960f58515f644c31a9f929e572b2c17331093a548818273c8bca30bee05fb62abd3500690c3229761d080712720de8341164269c31635fc9fe1ad0cd36cef98d2f1101b0a7e254750af8034319d044c1a8ea8d505a1f959e239896d83802966b9d889efb6b176ac5578bf3ed72d86a99215c67b380a8c5e83f92922c176c56ee8935279dee98057a653193eb727738c56a552c611be391b3bfd217002a67172b0d1853e637ae3db865ac5fc4024d24cd289f1bd6e44680e314981d3a5827aa5e336ba065b9705251f90688f155ea58910846d5b42cd192e3caf877d79537e07e6c2c92d262b72b0be93a6eff72b1b60cb2229d53abe39d44c80b1cccbe108a0956c3fe344f3667415ced7b87725d5f0389c502b3aff1bd0cb7d8707d13576c1034e035f89a16ea364ddd4e6d722e2ca303e3f4f00f3f2bf9f20e2615dfa61093f0d60a38dc35485c31b08504720d0f932d4f7fbba5393d9b046f9eb7dee453b29c60559582f1543d902df8244408a08cec9e0b4b26a2adebb1bc886a61c37a30f9bbf3ce9ce0323bc2447bf90ec73a6a87b235d656ab37d1b76f813c1874725fb8b983356fce4aae2069c04435557b2ffa8a8eaefe01a3c8478d7718eb95d6e74c75b852ff0c37bb240d7c954a2aad636aad7cc4e17e9fc7298861a41fe9540adfac0e53c03bd6308b34cbfa2315f164c0e7bde2318fc95f1ff031d79e19360eb7fe89e1de720eae767ca5e14253932425880f030e6b5c0fe1f619b6f3a48b06944c3b8f423c631c9819d65a4714738009ecc5a90038364df578da3e51166e4312e9b2bb96d72dae81764cde72d1b7548351177cdaf1405c4df7820e2e6d992aa37de8f35c7c165cdd22af20720dfa6ee5e2c9d7c3530f436e6317b01392be85fa84e56afdfd85a89af7407a2e2412804586bc7ac876687366e866bc328c7ed8cc7ecf8b19ccb80aa39655b972f634205ed1ea970d8f7dae41667fc4bed3c8391558a1b21da8668864752e7272ac1de54f9ea62e119d8297e6ee9b53c8cf1e4ae9cd0aea3d5d480a29c0ed1c02a0a699dd704a126de0afa64cfff734b091310c38a3ebd5cf920c45bdd86afb2304c320901b9bd01988aa92863e6a432de767905fc762d5d2f3cd724d133f3f7203fb9c23ccace1ec2f1fed2ffe93fdc7f696d621afe4e6094f75d6fb407b2972007e62b9a0958d4dd3363b013532805ecb0f057c2d196c4cf4d3523d0482571eff3f6e64be4a4b77a577121dade23d3b2ee9deeb5e2885206a29cf601ca4e972725c914bbab3d696242ef84f825c164f2b4dcc9efa883ab55b889516600bd07246fea267a5b72e124006dc6a9f1116b04a96d2cddeccfc4d94da1a4c6ac9716c582213f096dbb4ecb024ffcef23a0e8150c4d5cb450839d215a12d93e2f0b00d9815b8b41628c4eaccb6996334ce3ecd1d1afb28349b7b3717c9129a526d563d325d43aa1311e9b5c96e9fcdadf2f542046f636478458ccbd14e21598d3bd072432bae907feecc7dfda16c6eaa05ba3d6f4f8109940025529ac06b9b1eaedf72bafa8c093fe70b7bba69794dd1862e70d4a45b690c5b59bd29f28e5655ca697221a4aaf5670ac89e4deb049ce4ae2fe57e82d9777e02b8f93ed09557bca64772ed4100fb250005e8e23a15816ce4f94135ef8a68b78b7c2fc6d5d8779fd94e723d7b6aeaf98a4747d8d874df526ab384c175ebce1215a139ae7fdd503c77a9724900edc5323c686fb7cc830393523c1cc7fad8de3c00c53cecb969571b765a57e4e7bf4709ddbadfc68fbbbd2c9e3f0c4a3ebeeea645274a06416e2373c6de725ef1d709d9e010d883d1cf4f377da68ce0629a0d1dd6140e564e47f61436747236c05ef8fb66a02813fd1bd684de29a85f73405e56905e67febaef78004f1633fbeb6577d4b77000134f36082badb7fd6aa898bd4772fdb9e2a671b6fdbefa72c5d34129745feb9849448c69c015c32ad9d0ad7f816dffe1e48ee53154b7da72bfb7aa730b33cdc77ab12ab17d7412d10a15239a034ea4f5db43fa6006532b72961dfa39f2e5475e97a8289d6f066166493e1da3173ad606706a944132f6247231b0de88c566d9a69246603cd468fe338de7dab0b90f9cebdcd15752ab99cb7230da2790927ca05fc082f3385737870200d3f38b087808aa286f5337d4d36772ca0a8da32e5832edf3a0a1386cf6e3e989e7c368e61c5e6d04ed135070072772d2d9d2b8483aa88e9b445471769211388e57883f9c82be46c89256376d547e72548369399a6d1cb760fd029b93273b506713931f79145e03175d83fa92bea1720784f042df68040e418f51b315cc38a3f6c3586e65fc43e509af2c93673ccd72570dd2767a723a976d6d3c20dd8c310d0c5b416dde7601af4d71622ff06a6a6ef79f0ba1b9fc7ae422c48123d1669c99d54cc2faf22d9b84996e99790ae67360aaaa56bcc954e4bc5713df4a773df6eec291e75ea9a5b3be9c8157a8e988d822e095833e8efbebd39efd77b51e15543e1e4755f3e3b5db1f78a7e47e0c6905575459dcfb44bf4eb06dc7fe96e12429f7c9f2da943f839219d8738bbe9b19d47247209a7d3a0a04190629f4ddcf907aaf7602be706e4a74e2619bbcf6f32b0872f2331e920516fee491c360bc7feea18c659865e43a8e6b6b11dc325fdef41472609202a8147f43fff7b67e6cad5e9de35bdacfdfec21210b4820ba9c4c0efe7241c3bc5b792a6a8f63991df943740755e475024a534cafc49466f13f9c6b865ed62c444068b6bdd85fd7b88622d8bd7323d91a3b9846241cc3712b4da6adb272b0a58bb55aaa31466138856b298aafa9b7f7efb6817209f9572243c9c10e0569dcc02ecdc4a01852cff79f63d334cc1e622931f85b0473e94c2d0ec687a12e72e8c473d2697a2fd21f0829cc6cd9e316e732a9f215164b50a415b3b401ad3c72db8c3b304d7c40557da9f2beccbe8a6f6bf62339745a7c18e44e41a5718a3b7253de20baf92f4a6940c27313716163f9d0c789916b8067b2b9bd33ec40d7ed689adae7994c484399c28962c6a05a08b3758b4ef7edc5d4cae49930287534ab319a951a0ed3b6eae5b612eb940edaa6692fc96481873f503a706404cfd756d363ba6192d6f87f6e1ad6661acca5e7cb8e3292122e3b3013b8c59fe27b7e0d9e2ab030bc1a80592770289beb21d4fed7c7f909897222096e681fa008442395bb72de62f459009159bcb714c0745fc17ec824b5874758a03232e4016b3cfef41a72ba33c35f709aec4a1c0657ac39f4f7cc0e57a6e473865027274c3484c14ee337a6133d04eb567b96d7a96a1dffe490644cc8f46011176ee51c206df2c3037826e25f25a06569de22616e8b55cc34d70322c7d1f571f74b19d82757965164f472f670fe1d5e47189d2c5f678d3870be6a79faeb5fec33240a0246e72198ad5a720edec262bfd1efb50c88e045055544876b66d94a70b60cfa5d54bdc94696a772ef9b98c6616195cad813bb86345c98bf8af88524d57991621ed35c462da31f7236eebf579ab40bc987029610a45547a49c0cda1832c8091a901e74c6f2e5c77271e4885e3fcaed4f7eec1b9e0f48ebcbadbbc8c25f1ac366244384b9fc0a320a13cefb3d9bc3cf8aa3297b04e5fae2c3ddb95edf440c44e9af67cad3a2f185722c28fd2e38de3a00ef9b83888c369c8ab3d44b6ce8648be681e98d078e606d470b6160b6d80abd56fc7d82687b780bbe59033e8ebc919e725a3e333a113e2672410d7eb42af67f924d9245a0c964d42ea36920c270916397cede9e8efdeea572054040147055bc79e9a9ca18e58512ef09c6f79644d43cfea4a768039fa96b723de6a54f5a8c0d5243649eca9e79990dd298cc60f5a372440ab35817237a9072f7b67dea2a484847091a618e943a89f9eb3beef50f6387de6f903280e51c7a0229d9cdd2551df7df35a3c19e11d3b7922af57c10db08f76e128bd200a89f6272b81afb5d486a0a032c2575ee8c3490f3db6a146403afe290c5f29215a727a6729f3a14438402aef2bc893e16e633b117707226f6a0a59efab6553e1acadf4770c8828b4bcc0115753b420a164da4f775846ca93ad77bd91a077c61a1719b3c3f3c74a830ebdd95a5142d9bcd9df80104078fbdd889d9e551d7ebbfa3fa6de9726ba3c6812134c855158e80b84d4eeaf2377181ff6a2fb26ef89fb14e37068872d388919dfc47e3690afdb0a17ee6eca0ede8f1cb81ace3a5c59a7fc2b8a0df72fc03854a30aa606b5f8d280a4c47a81bdf3580c4df18a005122a4e97515fc67268576d71dc6bcd46d7401ecc5b8271c274000008598bf3a56c606c9fba9c374471ff25682b312618cd67158a3a7cc4e06e8f0d22e3ea54d1046c363e618943724541f109df672c9551361c045b708092bd8fd3ff052d068e045929b72ac70872620c3402758d4f85db34d32c686fae82c8152cd35ed52f369f709c9226aeda729c61bbc468eb7078290258a19deae0a62250601e220f634e828b746d96ea6572cea59a51a7f9efc9483d4cd3c54026d1146421b7a5de073a7211da67d0d1ef725825b08e1c15e35a93d35ef48fa2f4a97d0f8bc7f2a8de80a51b416fa09c9472bc6f77a31a36b6a5973a2885b615cf49bc6a5b02d69a743fb22cc2f12afaae72e07195e647f0deae356371a6f71a984d0960f2735adc5434c1a40b5df6896072b78af7be9b184eb1b0390bfc6ed8339245c8e93367a312552afcf80e4070fc561d7e80425aae1f92ea3cdfc3f90318960da53b01bc8895da0973b6c8ddc2c372e6c16be4ae05f0b6720774f30e7ed8142e1d33572c2177747b4af7a9b52c6d695910abe29b2b2fa54607f87fcb91ec5bc0777e44a72143baa1a4033296350c72b967f3e3e1e50e6640c31fec052453df38c875ca29b2242620b9a03e06323613deaefe18cde4044c220357e41e48f540af9e1e06efccfe3ed77e0a619a311572faef4a464df13c7585e272369f04977a45fcab783fc9415bb2258a17316501722b4669a1f65391eb5a2ed9127d62ad27c33b584fa0c7648074c46d76dc57a6727acb5ff081e3402ebb146ec98df869581887d3a328abe04d4bf6274eb6444072b1fabf20b82e511fad565cc478c1f1723535d9220136735f247d91abd6369f72421a9e7a894472e0b5b3af79cd894c01af1f985fec4b6a8ce51e62d724933e720b4b9bf45dc68e8df3758658beca692718e48f0640be377766b216706d84e372fb6041c2df8816ef7a54a088dcb667e17382ecbbfd613f20e51bcd4914db120a2ca81f3290269a7eff0a95f39cd0bfb3bde1f58590d079fb0e167f53bc2e310be20811d37c1f2e005b583b72f3a8c50d9bcb120a3db03649b0cf48b22971625511106a39a8973db85a3dface5dfe86aed801ebd8889011ed57dbc4203902563ce139af27073d8eaab7512bdc6cab42d385e9af09bc5fbaea57a4bb5607eaef15aa60fa94ea40c6e74351e87966d70a8d6ca31946a0ba1a9939ca4b6730913572c17382a82f5682979c80bbbe4c5eec51e22a7117affbf1db9d23855423ec1e356cdd53bd76d0181bcb505dd8fde9073e8afcedc6a1d96525101dba1d0d5b5a72128240fe686ffafd386dead4db5963cb6b0c46c7cd1859813da649435b064172a7cc2fdf4e7e4a6015d28cb9bc6dbdf118099c279543b1ad407a7a018452b672ebbdf302c03aaaace7727350603c45a986d57bb581d9850d0d0a13b38553b572b76df65f28938a2bd52d38240732373aa62cd165594801d75bfd11b6b736293f24b271a6cec991c428189c10e43a3490e746f5034659ede3b4c0b0c7fd1a69627e800379f95c48e117157ac6a18d86b2ec844efdefb24508d422b2ccf4759b72ebce874cd07f2b245cb4edbeb8b713b7f297b6c0fe33c6687291ffc1dd0f1e27b254698c9a5750320bd8e84072c25b97ee793b13e8ffec17cfb293c6bbccba726f207f867e9d0879266238c4716d125fa4e5ae9acdc1866a0306489de5ca3c1a3c51e85501711dd82e5f4d7368753c9c5fabf3904472c6e19cd3523551cdb81691edcdbe0139a463e97d412d50a790d5baa303eb11ef93891ea0c5ede1b0e26bf79b91ed59002d539c08b8bfa54fb0dff218217f525db45a0c1b9154047fbe726cd5c4a7c8b0b4aa10a64a0266caac5c7af5bce6a1d6e461f5bb34031c37e572a875b8f2b7870322fbf0af70482eb69ef488788978a9e9bed24829ff209c7c72c69906017667a9f86bee1bd6f30872bbf3fa54661a5c995eb243a357fc684572509ad8463baa4fc442bfc7a5f73a6e6d1826ce713a8f3fbd813261626e86a572a965cd9a80e5ac6a0f34742433b0412b8d2bfd5e552a8fd7d7d9f1d0dde24f72fab033db33ae3091e64f2f71d83a5e5bbc99cac0c24ed2338e47c814f6b5265abd744f88063ad8607f5d6a0bd6529e9516e1fbcb3238bb6db21a774f3b08a8721ec2a227f843e3cf9affd5982c8003112c12d0860cfd0cbd2c44f4f8445e026711659ee7f071e5156b6f1397b2f877add98a3ac7080c7555ff99927725d6ca41235a5833f6a45ff16f26baf07f9a609a5a760d0c6c0d9f0cff63977f0bd43d7256b3d2410d4951207be5cf358a4def9519d9469a8c313cc2358a16de897d981a0ab19b9c18f379f8c3db0a5a2ba0e2a6d0560a525087681176f0283543232a723fd28d119cf965f9216b561715dc98f930d62ed792b1562c26d5c3d4ed99692cb4b47aabd28f7c696726c38d525341a7ed0e32cd3364e15dd9605f7b4604b415838e1ba6dd4b74a234a773658ec04490d4ee06585f2d9de3419ab4808998787248748613f5c31f64cb56230c5959c9bc560f1016b20c53dd5b85ab676b98be72b8c46f1fd32c7a711518920a4d02bbda59169640b51e20dda97f0ed0103a537284230a892c77064d7547cfb7726d03b49134ac28a989891fcfea492d2937fc72612e9d8cdbab930cefe9d9e70dce7b255e082dd1b9565ac86491381941834572ed3213718edcbc662d96c6d4b6a818421ea06966752850f74fd72cf3b323c472bf78364334baa610511d004bab0ab94477560c7412be7b2332ab955a64d77772349047074f61d942abac590b27af1bd0c1c22358ee3ff2cd99eb368466460e14fa70f7064bbc9e878be45d25f707d0eb569dc96c41597f6fbb1adf4c37594b72fcfdb897ce610f4ae000b036e770542842e584452a517498925ccc617b9011248ee1aee0554a033b284c21366c22fbdf6c2abf3695837f3c964e862bff7a8172337f29c2898201788bf413e3b2efe3a16b1d3b428c711dc3ce9b60bd75626d3ebdca9295d017b4f159b7dfad5569746c07071a0966a410181b644fbc8806ab284b1951a20e6820aadcd02e2277a404ae34d6759bdbb5543d7a69b8b00ad43b0fdf2b549641fe989ecbade204c0a17c446534372e2b682b42ffbc3e38445eac7204bece9e5e00a45b89adf4ad56aa770e94a1ebea68385c8b6fee976b53b4e3089a6db07bd89b66da182204007b92b227cea5937b0cf84ad19f078138af574015892d1156df7d3e24007701caef66b9c91249ad4e1043ed147b4df7b9e3b9ab1f841b12bfe0b7339d09abf6f333878945b4a050feaff6465dacc1469d1d4af57228a0b465855dbecdb865e6f748d32e4a660f9f0e4266b5dc8630c2fce727c843d1a8d3ab8503fc81dd81e84d92226ee325b528ca2313150c88867da5dc00373ffb1144814049a8ac632fdf28e0725b215b9c5ed2a3824c3b6adca68b3409c072b74a3353602b7f9532bbab756bd232a1911794cbcb91057b82129da85a7f16708a26189b90aeee230dc89ec4ba54c8ac32f76893d2e9310def8c74b5e4d2a421651cc22011e7c21cde62fa0f82a8b09be6ce721a5165d33e58aaa6860632d1729e037ce7997d2c34991c15746355dc3632bac4a0ec4b02fd2f19e0809df4ec723735725af1b2112a53e5ef8df11dd201969d0a9238d56ba825b8fd4a1c4e525d08599341ab803639c6943eba1b568d3cc5be59b7720c0b83b63db5b895371472c8502f0c112616e0622d804c620e76e39eccf5427b81671ecd0c7eb4141092725c3bc057f02d527493a61ab6cd35274d71cc38fde6888efb20c562506894947233539b70f0fc25ecda1bd400984cfee071501f366412d141e79da9198c01b243c0619fe57fbe3e8edcb4d4f4e98535c9d50457417a64019641d2151d05d340720bd0592b7667cfc3b4ec197206c434d468c0b5903b9f1ab435bfea6601b7db72afa8161253308f07dd99c0993bb452c5aed503e92a4532dead99709dbea4e47293d6337fbd55823a9146916f7cfd0ce80babceb63397ac1928f3accf593e20020631dfa182a0a5a233d36d804b35ff13589e3de2ed3d7a0011608fc77761614aa4632ca19f1cb672183feb6d1587834dab21901dda4554b4663f445696228f72481c673e66856901233a4ab1078c3d72a56de2c819dd7ba49aa58358b1b50572e7eef424f81bbbba527e19a4ea4410ebd7d83275143fee89d3f05feece6c6b3c2f3f41ca9ad89e2ba64df001e81f6d3dcafc2ca6968f61d5aa50a534537c897299f46ec472f97763d21e844858cd7207010300f65cd95b3ee17fe61d37b16c72e6ca5915d06dfc68c17314d8dab9216eee2b4fd25fe830e880a0e031c87c047221d2e9d20324dc30b66dd0c2a275f09fb7be273a2c718a02764bb0edaaa9c77276de0bcb65d2b899999c7d19b1bec82e08fdea608c28bf5442095ab2ff824f6439ff7d47ce7cb9b797b6c486b0fbf40a0289d3268c8a0c83a6ce07c43fd58772464834762a81d533c8a8194f889feb803d45ec9926a230d34c9e991504b5cc6c3302b58d74fb9dc0bf94772540bb27ce1cb5daa7c19d389c5dde2412ecd70b7284a29d72b86d7a327178754034b20e1bd6390dc00d8b1f252f055aa2a3343f72fd4f3fcc06563de2db31c2a9f0bdb644710578069aed2202e64949c37a92a42cf447d479982775b6ab4b7db4bdc75912fbf97dfc7245b1abbfaec17c80dc04727081aae95e5383f247559dd85beb096048b39fca041e8c5913e1a7268f8e996df5cb3b6c5c217b32196f6b30da14823b325b0eae9ace3a5cc97b9831ea648e72fc372bfee2ddfc11e42c0fa91362d026ec4a2312bb67b6372a4d950959a9d47276f584aec19b46394287a1b6463cc35607183ada9f494fa03a82d27aba950b72b5b58d39bc060b602775d0e620596f55315331ca25e3feb5e812da0982c86572d9da6a179446a16e2ff0012f22d37ad8039f855b5a1b3bc6a8b5f8669ebd5572c9885c5b7591ef9d742dc8e7127a0017f783f79e7c98e4589587b4df0cd8bd609022f81a398cd2cb204c4ac9beff564d3f8f1be9bad26d262181267bd0c31372adadc0f101f24e9e8a76fc6205998f9a61a69eb943ef5d9511881996d6e6b15b55f1fa1d722aab2116e02a655484b65204d23061f4601deb1d06978e8ce91c49e1ccb210ba992bb41383cbeb74a24dc889d188162401a015637b3f09ffc5cf70fcdffce71317bdd66a0d95e039a627904fc93bcec34ca87b7c64678c427eb1722f246261759cd1aa63237849d388d593841da108a9779db714a5a32c1ced8f7206fb2851cd5f8ec972635f5e8020fe9fdcbe186b7116e8129a87bb946774ff72b776a304979e9008ba67df7062abdcf6a0ab3b19e98e962ce918ef36ae77ed1e9de19b1637d623ee567b15732b7b33280d5af8fe69bcb7aa24eea4aa7532167239df0c8210a5a4ec439b7d8929ee38b91ed05d61ce15d00c314721f7c68b3a6e44ffe191d4e9d5bba7dbccdb263bb7badd310a92052630f07cb3f47d609ab272c4ec3613119bb71a949ef03b1aee1dd53a8da0ca97c3c7267196e1a82386157252a9d0b0dc4f222d1919fb9ede65c81df0009fc94cd8359afdd681c3c6afa659ae99b317dbf3bc1bd22fbfdc525c8e075cfabd023a202d79f932875dec83db72f7b2bafdd23bdd29f5e9f69602801a32d1610e8fdd3bad5069ad5eb7a04fd94ecfa3b94fd92ab52c880579a9315fe7fdd5c3f8ea9913a9e537f28c2c4034fb72ed3187968df3bd2a5ad6a5ff7da5b63e7f773e66af2ba8277c1dde6d2f699072f3309bdba5573f4350b70580a9fcd67766614b41ab5aba52b317b767784e9035d01fb49cd3853f29869785158a20dfec7e2d9dd0c8b2699c1c54f4f014b8790d149e1c201bda907b622fd275c7685e25c29f68cec8236343b0fcc69fb113d172213912edb4e5db43671d634d5becabc0459016e0eb397cabf240e9675211fa50c8b578d9456f7d0a68d59fdf9aa65c31dfda4ac065ffb797ec503149f62ced728cb0ccddf85d53edd9d5ad96c5ca37b118b5ab63fd665aeb163caa6d0e8106561e705624da6e6327495539fd35b6126f030674799b155334413a01f44be8af592f5e4ee645d7b6b7f11c41249128567cf19555f5523b6211c54690d7ee77a73794e6f0d53f48c40c38dc189e67ace125c8af3a4f653f1e2e963fd684ff87213d5b842da6da7496527e7e15292afc6030089bef90b12ee7d6adb67e6f2a9bc0729133574ea15ed245cf57f4b9e558fe18de13bd39ec0e264d020ae6b08d46bc720ffff90ef2489e71cbee74f3fdbb099b3e6533da4954c32844e04896aa38c072fb5a9551d5f0ba7632eeb42352c5c372c177336250adf6b1012dce1470e8f715e3e754af85afddc2d834ba1dd85ff09f8dd9334e1f81b8bcdd9a267ec760717298b3c38097a204c7122f733645e27d48e16abcec9694b3ba915f4aa4c5f42242df986a9325442af3cb9d6b2820d6ec655f79f92e90c30e9339da1ae65b7cf247e648e90b8cec43fad1feb6c7527ab3b3ec03429a80bc198fd2a2eea8b07d3572c59afd503575f038d483f3a16ad1032eb64ffcd925d58440d767e2f70d4a7d7292d83d03e772235e02cf679d83a6a7b9b20cbc04a8d0c0622620ddc58d2280728c557cceb83196fe01b8b2918fb462de0eefbb6a1298ac5099a5ee883ee5d9722d838d6615747aba865e16a022f22c021635500164e2674613b9fc62bda2df00e8326434160cd1f1dcbcaff31f368bb9125141b1dc03897c06fe98155b7e7a0e1c60fc223633e9703e2783588d9375cc39a2ebc89d71bf301f347702493fc7678b02c8d787366049176e13fd70a76bb0316d77691ca339127b69052cd1b5f9726b1ba0431e1e64c3b1fc65c001126e50aa4913d99cba3c5d2a14dfb74680ea57338a94da328289f4eddc5b839145a25318f00082668181d84f37ef7da797db72243322b95fb70fcd087e833c5968292252ac5921fd6bef58d1014b61b70f1c11ec85c86f1700936d8fa7e4a9fc576da8a210d94d16750d3bb2567bc85bb20272ee3eed04cb402a8c39dba3a84d39e0928832578f5903cea77eae941151581072a493785ee9cec98fa78617200dc67c12d160c8631772032d8a107b6b4634f87248a98bae8635559202a01735eaa3a4c891432aa6e37def70273cbf13ece1df726998135d55bbc1642955d6148a5eda9f27ac35c2b59a3b64214fc8b264172a72bd906cb9b4db961a1538de36341334a3aaa627079041f42f92b3c034a09f315b0f45e6e4060c9201389da3409f974699569b498c56c24b2f8dad51fa90859e018cadf55e0e065cf753387ffd2e55a87dbd780880440f04c5d5e79e46b3285372521c906d616768584d77675d34e0ef152d9ea29a6e579a45fe7a27ccef6621723e1ad956abc2bf1e64fb6a4d3c0439ab01c72414e7a6a2da83b4fbe3a8a5262f9ae7b0430de735d8120ce67ce00b19e70ce733167cb5ff03e9549673b55e9a151ee34c4575a63f689423995550ffc3219d70bc12597537c87027096755d33e726925ea6c300ff97132474343d3e1cc2734e8aee66c4fa1f50cbef92a13e8fa36a0445169f7330902ad3cea35d08ce03fef37b8d7dd108049177a7f78ec527172117f9fdfb60f96a1d05e54d5d89d2c87daac444900eb5a4dd5489b2d840eb55f968eb356f4adce5b5bb44d1d819bffa84c622ed6b52aac17d634a6cb166f0d7292636756f9acbbc68863d1e332c08f67c33de078fb74198c356ad9f0d35a4d4282f3d2345844c48277ec4f80970d9d69511d0f592ba39698db7625ad9290481bfe248b3fe2990ad0cb496c27e141d3e8aa6a0d6c1b8eeb221bca8f9dfb99221e3a9965a3a9dcff823a0366e6b0abcca0a0fedde097f57dde716d009958ebb81e2a2fcc8a6edbd686490da40773d77fea7d8793ae258a1f0f974ced0554008714fbbccc3065fcfa0f830b7696657dce23fe42dda55f861780c978bcd014403f72778a515d6b4b6f86fb5271a9ab37aecc464cff16344eba162e409db37399767239b7ad99f8adf8005598bfbab005db7b8d6854aaf85a769b7818ccb9869f5c7227b0a1f11cdc30b78c667553b9583777e68016741aa0a79158272e1e8c68c25d207504f91b8afeef556af59d133a6457d6d5e44f9b05819a2c1f906287a90172844ddffb3fcb6b63df9d8397f469359a9954077c43b4cd6ed8ce6e039d0d9f159fdbb3c7a01aa5afcc55f111a21d39eaee8a470a5f13d021b0c163a137ce0b27c5ae50a296dddc2e9abf4eae09ebf433f49533fda5695017c43bc8dde842585d91389e55524b161fa25eb70772d146db126a731865504df88bae347c41a0112a9ce492f683a69342704c3d6271db8488934862c92f463d6cc979151534e871374a60c907b0b2d63064a40663664b15f6dba523af0bff52ef3feab99257a13d5b4011c38da7f97ee83e5d7bc924a3e892513eb03713f32f2739df6c8fb1bdda725c835d18e8cc187f64d353b2fcbeee13664841df5dbba34566db6ca7a0fa276e2bacfc334a24d743acf80d5d57cfafe6162cedafef8a750d8a8b890d1bf91f7247aff76fd0d55af675922b0dd4c2b33109e82b894356ea80ca4f1a065b88774696fcf643399bc44b9e13189ad6296ce94ac62338ca4dc94f7260b7bf1b869364b0dbbd4662eda791c65f6de40212b146353f61fbfeb746a611f65e1679ef8072e53c13ca1467b23518ad0c6acf6473a1d29289ee743fda8dab20ecfe6da6f522ee16c05a1ee1c93968156026998d551ac51022875f6b4a9fce286c45169eff4a705e6ee2a43ccfef6b89bccd8393de663e33d75341ffe974101eea82e964c172dce9b27120c6d9d8e7b8325d108695883d54445e3e7277d86cc15916d4026745cbf14c89aa56f7e4452306bce843477a3e59fbe02ab77fa5dff94c8fdb055772b0544048d849fd1024eb18e868b98930c3277b8125c6c15211bcd73dae0d0372fe6da645f46c4d40262258e4f73429729cdcfb33a195f697fd98da58350799722cbc3a12111a72784a354a837956ec903b68d941bcd05059699bcc0027787b0da73b6c40a778ee169cf0761463c0c19c0dc44dad31305c640c52f2abb2daff72ab602b52360607c594add83eee71423d33ba7083bc710d068bb3fd963fd5257209dcc21c905314fdc548f61627921360bee25fcfb03f0fee31174d1ed9c3a91512b4ba10ce014726bcee6610b5fe7ca6f2fa27d4819b40506262ef08e686e57255a116f24b2317c14b6ac9982198a807e06dca0ead50a9cc0b4bae81c96f15289d45c8273eb23b26b52e03546b3378023c4937a1eb62b6af36155166d8bc015fd463c1066db38536ad5045937487ecbcc1c20468b161d7ed08eaa99f64f074569b87dfeb52f8c83af782914d0f47f3b9e54c09ab0424165fd5850775c3913451d6c7c09aae349a03745a1cbe502acb5c4b85ac626f033a225d58c4e10b6f9e09da281b1ada2e5c978f9d0b4f4447ca6c925c08ad93255ddab038bda5b2bc600e12db56944b5e742f95144c43869bb39fa6e2e610aa9a5270b55e6833a4a6f85d1457dcbe483a47e345c7709c066b6cbaeefea0f8b4e8ac7ecc189243b3e7167209d80b18da96a4fcbd5c1bac3006e67a7ee566af5e9e2652264c0b93256e11727bf7bb6b3c175c609f6351bdf82c6a8bd3482742ac96403d331835167fbe9d72de26e9e1c30a23f41953a8c9d305cc4df90d42199da7c352a981265f60a2924fd8202942da1ba6da42671bb5ae2b9ff62eb0ebfb495b0990d2963034f483b4553db23d59080a1bc1dcbd6fd95e4980ae860237e4406a85bc305123865b079672748ee9e0e047e35934601953318cdfa71b84525ac131b2a1348296c58066f672eaf2ab25f6dfa662161d53610a3a81710eb486938df1bb26ae81729f79db9a72cfcbdbc1d5f8ccf928d58fe6e1138174c7b7229e34deeafc8a207d1e8b79ff721d6f1ff3ad43b8aab8c20227fd78d854831ab9ab34007d96a338fe2445ae7972b1f575767064dcc1095a6d8f8073a08bb4b4dec3f53d4ab957f3dfe0ea0a1f72764d968045e6fd7e5aa5b172f46cb0972e30f7db10dd4981895592faf3e8cf0b2f4524bcb44a66b0a516b9f847227d0158430f4930756738c6d018516aca8b72caf88b5a35d6e00817ad3c39127fac139e0b32204ecfb6b7df7e5405225d6c252c49b8f1e5b8ceb7033f1af239e6ba78e41f2bf0e0fe259bb620a6468653ea0d482851d8f3271271ecd3168b98f2d69a6c770a174f121d700a07681a73b552725f407f14cff94f633fbea5622f2ca3912d31a8cd8888e753c2a83b722e543c17157b312dffdd75882b54671572768b7c61f17ecd1e214b0e790aa01745fd1a07a39a53ca7c79d9e1f6d34d8cdb334ea559c2dceb8f95de6afb727ac3085b6f72046c0060cfb355502a49123b66563a8d0db883d7cc6c1640374eb88c3fb51c72c9798e849df9b777ff06070bb03cb330f7a4f879cd048f5062902fd48162e572a1ad1b4c55995c592bd2467822c0d72549f960557d10d5877bcdd00f0f7d6f69d8bd0e77e91db2ab608e0abbdb6bc5a331bec48a3873d798852e1f4817a9f119b02bc0a8c701a0dc636929366e4507588bbc9859a8b2beb8f1852e6d79f01b215169cdda332dff368a86be3dab798843468b829ea3a1f4d3adc0993cfc8b4972a9a656d35f46e05c5aaa0678344ff310c94a8d189c2621f77e407e054cc7b8728012980d434e5e367a1a31045932741045f19b377633acd47b00ecf971a97f72b4080643061bb48fb0e789ddd3484d419a98f14a08d257a864ec70a9c2e01e7235565812303fad648b41420a042e1ce243fea6506bb84f34ae1fec6e1422be72249637812329e31db8266e5d5d5b77b188aa1ba052fd914e38ff2ef45fdaff5c39ca1dc6dbcdc151514e3cf97fdcf7d47755f0a6ab22902760beb5fb4df9d372b50df5988c4a885698181f207c4ed287f930a37e3ac626fc0700a578aed98e36fb487e7d3ccda073d4a3b89a9ec21ea8423d1ab528d235a3c32ce21fe387527278da9d4c4f8688c4bfecef3bca0fffc1c8944e58c67769695ad8fafe5a847272c209e5c3085bf7c0d041257c01a1eead9eb44ad44f6c2133e94f1fdf06935606893d467980e51bb7fb31b69bb0be3ecae24362f25a366b2d3b66cc655efae22d0b2160ddf82e64f9db47927d203c426498dcedb9d38ae3101cc6744dc70b61679e3f3998ff0b0579390a395ca808bb8b92251bae375fd5e52973d88eecad1b72ac57c42c7a637c15a66969be662dc52b84c7e0cf25e8b632aa6cf211181bd27271129966ae0cc4d726f62e742a0f8320db9082efbc31c17d4151dcd410696772aeb6feb53fb66d9151316efd10e21313f9b56a9d7238c01252cbaea4b1dfe26770230a2708cdf73126215c84e34371191f113b9e51ac0685fb6fe6affdd2057274c5528517a1fb5da4e2b2d7710d8f25ef1b4165552a40b175c54ce84a886572c3410006ec26e1ccaa28fc70164fe661645d4fdc657bc4f2926be164e46f707298604cbea88803dacc5fcb905dd3b6f77b5965f0b62b464ec7ae4c042a7a162f11eca5a2fbc6800615ab9f2b1ebf0879c9c991436e5446ee93e8f12b4efe0206b5e1b5ae320b68b0cb4531a71a2755e7f59034a0ef01a26601424edaffc35302a5d039f5749108e6517261e5ee5d2ebaf895dc0e5308a5d928bbf3edefe38534b55d5ca567654cd6f0d66e5331a556de5d2c72061fe26a77d3b9253b1e3cfc414f320d391f4a016aa6600de79cf186cad582320db7d68892391ada2d890c2c72ebafe8ec61e47cbebbe7d2ed3c34c8bc4bb8bab4c718021884b9dddc43f07945d405a192a7cc38fd66f3aa4e540b59a509dd7f03afe51547a90e9ad04ea1953cf9e71818140a44d360a8b8525be04b5192ba898d73c457e785e59ca6109586728d8a5258e7846d9e2571bfca5d52609149d5d8c08cc6e57ac3dff8cd7684167227a188b6c9c258f4ca8a02f40293386aec957779498f17ccb5e13c418157f5722461a1ecc93b0f0ff3956cf5de24fd7203909652f05a4ffb5904bcde4942ac725ddaf8753ed0e8c110b6a9f1af22e8a63779e56e7e68de53d14086799cee7f726ed46ee9f518e8ca4fe5606d4a3520a9e70bbecf78d1f6537a81c8008b99dd1e7f341dd840a3560a6ef1d90f98240d3e24c961465b922d403e70cc9cfcbc5c7235f0e6154218e6f489483f53264c07fe220862f6ec0470d7468e14cc73af65362f9ba500d39e88909b6414d089af432008357dc984dc67d5f6165c510653c62997b1fd2a3b036f73e90fb9e7f5c8e4d13aa547e48a539962845fc8e6e55bb6726cbc224048f2b257fd278e3014b6edbc2b1f84f281e0b7e532bac5afa2ff8c0510cb5a770210d2329a618d29eee9f6386d80d6b10926ee07dee0f6af5dc06351d766404b5b77bfac121758494bca2ef9337ffaa7faa1f3da13b78194b465fb269959259e68b74b99f51d56b71a104de38a48200c3d57be632372b117f8604c6c91828c940a700070d56726403098d07373aca57c6cc1662d3ff9117328c86672f83bfcdc176f5d0dd5b56f80a135f8d50d928c08008611449b349f126128f572cc9efed5187443bc3c0fe3387296fa3f9c97068bce0544eebf0e70702037f74af8be14f6e6826b737de1bd9495a3696a2d889a094f7fd6471607752d0f38f6721f137d42d65fa334fe1680490ba6aacfa86b8944fc0305c63bec424855647b72bf89bfaeecc2b96fc4b485a7f518deb960acbabcd65a237e29ac0a448cee3d3ff789a01f645896d8a9a2f6710a2a7f2b7826b01d60572aa9bb663a4e704f126249377478ea7455e29f6876b5661b085081ef08351ddd9841fdcd077da0e1ad2e4602980e7d892b40e4fac2145d54c3d6eae5d307a913c2f9c8efe60dd292fc13a860d7add6091af2835f1af2cc3e502879e72714d9eb036dba89bfcf2eddd472295a3560e92cb121200e416e55b7c7daf6220ef4aae84aae2b1ff13325133d720c200d2c1749a88d71c0e908bf0a73daad98e52976da09588fddeccf8ae640724c2a6a4e5e149902d09767b56f0d0239e847baadbe531d12c9ba3ce328565672861ec5dca64297cd8ac74bfd11980025bb7380d04646c18d6f43e6accd4b4755ae0de38bdeb550679295d238617e69c1e03427d5b92f8eac3a91451426613472ce7cedaa3584391b586bc5832f7048744f03c220e1d0ad865285ed5b6f742772d606f84eac976fa19d763d710823d6162238372e1e4b59947058847bbe5134375315bba9042e5e6588bed4ee2628f0c6911a27be98db2de3c2614b14864a92723873f347fbe1f5cb55ccb84f564138329ea8ac38502766abfe444d9768202672cd64795503a4245ded5460595a2686696ea1abb1e7b7c16452e9b27c0d133a72cc64980193ec57879febd22257d5171f7699729fa88314403b12b04907f2b472e6744ebbe6e66bb2fc4006c5d871e7014af594160113bf6d797eb529e625d172aa382d53e16dc8ab2fc6087f843558f6d940cd994247ca2ed0b5d4e56beddd72d64f0b09f89e82a2766c0d37151f0346f7a0757360ac2c9049d599eec5d7fc728ea982030c969cb3c55f52301585b2b1e4cc0ed3d72725f7ee625746a9c66672fa3ebd1bc2c178ef4dc80a8537caf5ff73cc3681794411a62989da96e6e2aa14b96551d3a69b5982fd90d24f4552dbe24cd715530f558913e7217772dfa42b728b9f7b69b54bcfe086970e94672232c5060a0af5de75cf7b2fd85ee4fbbafc722c24b4bdcaa6b2a9312ba64221b3056cea7d7435bde5c0a405101d8656961272f32ca8efcc1261763c2bd83e48d88891c990fa70747835b2731255ac74a1d2726b346c549ed5ba9c165016a2b4d3b24b157043c71edeaf84b92118bb6fa3d817dd17b2bff7a0a66fed9a7687b3b1b9e58ed7ec33d1124ae8838e55d70aada072e4b410d11bc8d48bfd7eaefee0a69316b400b9de0bb642301379c890cada25724bf236eb4a4d94cf3b318fcdeb8786c675642743d61cff2b9853824b30b74d72355645fd4d3594baed53fe2b5d40c1a72a800c608cb17bcf4d933aa06f461772766e4fc056aae0cd10d9cc55e8184357f7aaefd3c300ad85e3144d50516860726f5cf981f295dcb5621f65eec23ed5349557c0903ac48f8696864cc6c3e8d57241831c9fe6a50453bbffa5fd8d49f8108b732bf03f30eab932e843895d127372cbec756d44d916e3441a98307d1d1eace6d501c48ce3a0f08a229221f107f972fa20924a23722f6586df1059491cb8708f93b5dc31a39b657cbd9789612b5b341f0399f6d4054ee8819a109bfb7eb65acdaabf4c5d35a678bdb9b2598ab57b033b37be41f7a80e025db5141db5236fe6a55fc983e62db4db712dc028b7574f56464e1e6496e258855e1c556b30c40b1db318163f6a601ae2c87e75506a7bbd723f2bd36b416845a9eaf4668c758a7d3b7fb85b73930413a68ccd6314d3fb7e5091c1383a35d57853953e48eeeb1482e8cf618274693c8b35dea57f125f4c40639ed1886557ee48cd043e76d8b6ad5ca2a1249d8e0dce23a727ccd2436aa4aa725ca2cf46ba9c7ab30cfef6860b2c515ee04af91446f949c64aa49b9901ab57728bb4cb87744af86b411fae9330f9f53bf468d79c43d2607257db1a2aceb0c168615e4f87e46258dd6fb3cd7d92337871c8de1de7c52c1dadb0256b2dcc720672e2fcffbe01b669feba4b4cd19cc1aa4f644d3798ab731054a422a5499596a82661f4b25b82f680e1171ad896b93c8dcd6a5253d576c7889f9a5fdf1436c17e232b972464cdcb7638a57ed81cc01c203d7837df7503646c0afaea0027ff5e5c7234ce618da410ceed89fc1045033ada056489707a2cb49a1f8ce50e800b4f3772578a6e852be0efdf17b8a22d687bff9b753b25ad27750d53926bedeb34648562cda951dfc0a915d93f802acd0e3518248157e66bdd105229e9448c49cde33067eeebabc183919ef88c55a488f4f3ff07680b5bca35dd04075a75e0e1ff18bd72dca055aab34d9fc5b6ab42137dc56616a7c6092753c9be19eaed04cc10213219292f1b2bb0c009e91c66c5f6509beb7c064bdd58c40cf269d72e64556232957242ef3c4824cbb59686a16fe94c07f5b4cfd9a3a6996d6a6971c8ecdbe17c3a726ebb3c7101c04da9b2c53de4e3e19c75626788416972b376a0810bcab093c6729eb1fd43383def472647c56c455d88a4993b68ba1f70de017662867e3c4cf970e2ab08438131e5b61c91266c400aeaf8e6f3c816ecc74c3684141e7ed3140972788d4cdde26134f964dfc6eaa09d70b980288ac497f6daa9e358f8bb8720f272f55b310fbba4fe96f788ea8f3d83d11726c30f1708e2e14607141393d5f7917220b325e96b2ae6a979802cd4dd598dedb6c5a330d07537b5cade4ce5a3320a7278a6c3a2cd3689ad125715f8aa526e355ed0894478652725ab6c74d39f805b7203f2aeacee0cd72908fb65e5dd39ce3eb80efbf0705ef0b2a444144c0dc3a57237346ec028bdac83a2a12471003de34ea8277ae67c17e7b08550c687d3da2d0d56f70bca18710e66ea23b2d048df180f40d048192bf515c088cc0518b5e5f87248840bada80db90f48d48c8706d501fd36c0ff744730b2fc6515e352388a6d72809e0311ce4d28069184466d73a6f9fb4344994deb5220fa79c27f300ecfef6692fb2ff1fdd898b72cc8538fa6c0580231d260517c6ce2695b5c82a541ed2272937d6d077750befb6f4b0c0b9172993e0ae57e188d9bd8675b1ece852c820c629e523833389804579e63f6102a26f72ad3d5bf0e114417d99c49cb1d2dd09572c6360aac5dc53b50f1b2fcf9bf3c36b56d798d8b5fbdfe94199df5f94bdaf26f957fe1251ac7900ccd7531f868c5ed4f9656bb58a319c29de2ddbf2966f81b72fa8735cdc943f9ddf6f9db735dd7bf022fec765dfde44ead202adfd71543f672a2f282229072eb61704271aec6cbb585837a31aa1016c35351e7f80a840c9172ab5f289b3f021541497ac67543a4d45d09f3468f852655907ccf1573192bb672fdcefd5a748700dc7712eb07ebf6c6d4cd6f7d96ec10ecbd3476554d76f42372a8713f41d93f9c7f44235641930d33a09c8cde8e5397276bb3b6e409c6c4de2c243d18513a59bc5b540ce668e5b2e2a61ad2abd128f75e1ad15b24e43f04be723d21d322f2e7a1ef06b8531a4594968346012dbc9786c5a791a991f5ecac7c72abcd30ac95be9db75e2ca72d92b739a8fde952d04f15667f1aa1bc483b0419725eefa28e6d9e342bbe1490b94df28df052d4c3e811c0cd15d78cbac7ffc7ac474c4885ff3fd80263a284621976055d4ecbc70b55e6da483d5b0c3c3d6e2d887075486e97145dab178942cc7f4c612d05de7e967223def3d9304a214fe9fdae72bc2d52e9f8ff080fec88c9d5eed5bc25870ff59f815f5230b0299c0bd8f8a6017c1a8e6c0ee0c6e9c1e0f3425613a502fbca918bdecebe4aa288353968adf10cec9f4cc939659b7305dc9877442c600bbca9f15060e0dfa12367c65c0bb50b11d6653dc864933b19661168dbaaefe414f5d7a7524e97e8b06bd73d0ca60756722aa8ad53196123307de5542271de02d7b54d5af7e47d1d72cb5b82524318771129c835d74b228fd9cda7b9d5e9afab2d6a55e3e7ba6ca14b26eec53c4b51d272bc672a0f888daf8d872a7a39bb5d17975c9169cb4fd66b1b38ab9e57e32849196e76dffb368a041ca064cf8163ca2fc251be9d6c32ec8a88d477dc0d1320101236dc603e6f259a735aa4c39143f94e3800f69a5b6540251b1666e1a79cc9cd720a9cfba0eabf4b85e1f4f0c72c9e4ec00b4f0b8c30d4eaadc4249eb4ee7f4172a1574860b850f16b327a75cf6f7865a981fcf09d61c4b010d2f3cc22349c8e72d8102d948f737378d27a3e6268bb411622aaa117029e2dd5b8f27e9fce7a4e724ae787c475eef82e3e2ca48f1a68a22de7fe9e53e675e661d480ee3a9d487e39a5475d4b6d6cb70cc10efdd143ecfe7c2a373c2c15d862d41497e4fb0a7fba7243a8ed8d7f633ab006b1528d6a9ae53b248f60231eadb56eb00917c6490bdf723e487c02805a2b1b7ee8895abccb5a973774445ebae4086ef2c380c53c95c206ee7a910633187c8d0303782ec8bf0d568895309ee60eae9d3f1787b80a83177236d0c6c0fd91e853e23ad99bd32010e0d342242ea5249f537a56391f47e137721ee3f2e53ec0f29dc922401535a1bde04e07c27040e1b343a2972fd4797b3a729579ce802547d4550d2d49a9dc32168552e56bde9dd71f41db25aa62fb6c2e528f484bfbf19a2e5467eddae6bbb2b62a24524554815381cac5e38fb5ec01e57221d1d5cdd7dae5211a5cdfe8fffac7de1ff6cf5fa70eff31aebd3d70151c587240f62fbb21d1a0ed613cea4a5a351abaeef71aae4a37c087c854f017971bb872003358bfb41a64f18a41bd45adf9b0c8c4a501ccd1e2463264c2066f242d84284a713d9bf845fd5a438600fc7b8effae2c5f19caf2a564f194eb69395d942e11a531354bf2c5dfd0bf5af887561829f9a00851481c4389fcd2e884b8c328c472c4d552bbbc257ee899c5a8b55333b119d1ce873840f003a38a85041ded5d3e721470416e6792fb75dfd32b69a1788287ab6537f0ba1c43b324c44af06c7dc03c7196eb8ffd82db8d65377c3ed1da5d347ef4409d00051c56da7129415ee23b13fef1d645db57da3094f2283665423476262098d9ee732ae31ec0276ebf63b0729ce71b7fa38163bac253c7d3abd8f72db8bb8b245d7d5c7c64a1520b11a4b572f54c519b8a75f7c45284d3c61bd897df82938a2e89a013c3ed033b1cdc939720c14d38cb5c2b06143578f19259f0f18c6b53fd7496c4db896b6c43d83971b472777ceeec33993965c5fb5f46814d418c678cfe53bd4618dbefca9b5befc8247272d9b75c256a0a1525c19918127bc4b70be2433703083d5ad8e110917b3f14727dd9b79092c03f10d415136d7f79af4bf2912364df6a87931156d92987fd8a72ac794fe94315253daf1ba253a4840470c440f26b573d8945c361f3682ecc1c40483d2658c4564b8bbaccda027634369f86ac7dae53617f5538071829b333903fb5963e13481da59abc3a2a7d571cf267bbc1e4ab3ffa82f516cb380963b7ee72ac6f11d079a4cf2d89a3cad9587c8696054027095403573d271cafd4c4f4290ac0f4d13f2790701319e42a75e7b5b0059a0d58eabae39789dde6feb1ee0d99073cdbf162b60f83edc3d96cc858eb99546a3a566dc7a86ecf881b473b30aa624255125f37c8dc6d550b79643766e7535c02b3bacbf0cafa40e3150a3b5fa8352d14fd85dfd8bae94cea1102cc7ecbf4a21957195976c0d001854598317b2ba5722a7138d178871b4792bb8077f46358d72f5f87ff3bb54e32b5e10d2ae3a55b720b3b3efab63af642d00c19bdc220610d9b275aabfbf986dd835e2ee85dcbd67202c1a3a1291f994ef56452ef748e5fe223e4ae2a44d40090b463c1ec72b6487220ec7f96379450c99df630a9f38a0c876ce47009c27d8a66dbcec2cb209b5a02b09c814a0e54b2eaacfa6741891821616fd0a6b1889df7039ad0685099076172467bf16dc32cf1fbba39eb92d30182b98ec7fc9648052b15ee8afaf0f4b0de713b38ab9e912b7e8e3cbed5785c8903c3ee97f1f24f376cb10bb45a15dc7aa3724a1d56a5061619104b4cd844d3ceefc78d4ceb0c7dae624ac205d40c74fdb26307069335014a5b0c4d24916c90087ffea2d2cdbe5d7b10905ad096a84181cf72d8801307e40d70e8be936ed17d810da20c2ffa553a67e90a496aa29086db4e2d0eb1b59e5436eaf5d31189ada441c7612026fcd4509b8c73e4b61520ad62dd05659aacc6084be0f2436f12d5e03c5b52296320474d8a04e730ab47be33fd6672a82d8f92540b10500ba5c534dadd4db972e403ab06ccde770038137ef80b8e72d2b8db4cdbaee8b9fa27d7d272403bbf2995fa24e66fb5cb8abbca7c79ddfc1078330ce4a43036460cef6a251bb253c929dc3f937999aabe31c444739c2dad7227e50cfdb05708a98cde04b4e67fcdea42f8c4b75d01a9908c91d446777c88721d070a638e99586ec196ada31da0432b7bff26267f5f7bb5f471ae4961289d724c844357b4d49cecbc13c5687ec1b4ef54d94a0034009fc239152cf7c287b009f7022c82a209b2548733060032afe9ae5ff0a5f12fe11473023fa62a82bf7f492cf097a2d4628186f4522ed78cc11fdb7d96f59a34ccb0bbca00622f3fbe09726a9727143441cdbcdf01f90db00eadd70a7a40967861374b25dcb71a48963f72674d62f57d438854380f43f038481cb9e06d29041106504f5eef1d44b16002010646c15bd1655894395de7139b686391c6f2d1c4349abde6e02d6084d8166a724dc49c9363eb10c22479f55ed2a56f65ee95bd94e45918c2aeabd2d8fbad03725d2989c9f786dba6f9704f0e3783957f7a57f8f6c19dd5713942bfddadb7cb728e2978163583dcc819a7b1b9f117ecf6a44ee12d596bcd2b9bca928147ef9072a8361dabb454d95838270bffc4cfeca8d16dd9bf3492ef9a76d91f1ccaf90a72858dc8127881fdc78a353b9eb8e4f36a151b794e860b942767f54ab9da0ed872a94a87c9ee8ac786c68747bb9d3397d8fb1fc7355aefc3d361c0752ba1ee5f726c5f006b471427404ba71994118350c0b9ba2997f6be479dbe9c131d3c5ff95eae29aff5872d8eb28096e0bf247362c07ba71e13c5d8f9cd150a585cb85e1772625293c3ded0f49053af11fd2458b670b943a497ce6242e516fabc9689f7436a097aeaa759390c52e2d139e2cdedcdc032d3903778820b1550e2f6c02c583c6d6cd2027ea65d17c2c7e3c57fcb37b2ed5f81f7907e193174d7d7871f23e91362a6ca614f11c9fd19f2e052f828fbf65e3814589029989b67f8382314dbaf5572a47cd5329974a7ae8c47c7dceacc144573bffd72f7b6a516c30f90e4f5993a725ec599ca3fc42dc28a09067fc31f56e5879f2b4aca2587dcd885384d391aca14e724077f6edd41c94e19c93a93c7cdaf6b923b876f849c8a0814776232fc61720f5bfd2655c4102594d2df23c79c3ba21f4a0361894ae493094f22e8f3397c40312490aa5bb3a2bee079813ca90195823d13cde82349d03f6d6412263e2e0e72b07eebca18bd99257993e49d6e6eb471c2460317f563d23bb23d9c483faf261529a0d6dbec47504f20cd7bd03dc89726dc58e2de1161cc42ca665a10cfb97b5af7ee4a484a65fac032993c3c4c6684d453c8254b8e8d6b1c011fe972c87da672147c666d74dd308a0a4b4e28baedf2fc2135d4b963cecb0f86f927f311dcc572b08ac4b89b1287a2bd1659e3f19970c388c1275d88e1edbe1dc63284ccbc83726c6a8712f9272573ebf586a5f1b9ab674b9fd3a82589c45ddc327e57e39bd17276d760b8a73b7c37c67d080b31fd9d778b08a327f7691371249c1faaae186a725338dce84673fdb5d802a6547bdf800d12f4e03ed695629799471e281e7338721daf82b98d6b82f9b5e87518403746c00470308e5331c5efaec1cd88bc759272e92c0998d1c61036aecbd52d0ffc0815c4ce38adb6e18623b00c74e7dd4a1508a72dcd9f256631086d497596fcae1b1cc9c2a03451dee02ac357b4cb34a35252913b0eb64328268f0d96d70fadab1da875f482e63e2239d2b03550a093c42b72d6ca7fc89f1d7b978c7f45cd4ceb9f36dc0a727288a2bea805c0e9defa2a3a7262c4390f47394f2a12820f0e3a27ece3695810cdf5f557512c8700a358d7e80b398930123478f2b1941481118c6dacfadcea71738c1831953137a36c476205031bad3d9cc4ef0fc40338989c98fa6063ceb146e9dab830c60ea8041a32525e7250acccb9b47949b83354ea46b0baaa1f0725a417818fd1c85248d156ce3da108cb284e59e8b0061112bc96da43a56e9ef069c836026784aeb61fbe0dadc05072b03b56156bbeeeaa819b2767382a1506423fa3c4ba246f8798e3c3bfccbd4a398ccb2062ba948e193c8411d10df66ae117d03f94e6c099629eb2e0a3637b9a72d085f3881692b0d62d2b06843f375af1ccd33006b6820223d6dd15d54a713572dde111b81ebbc16ece43843318608d992edd06f0c8398ed3811ea705b0e863726beb6305698af073da1faf2110131b66551d9273aa8536db6fc8cac61f0a4356821e6801b77d2cf20e3f799efc9ff5151dd4cd33251c40841a7bcf7e0434ce72c4a68fe052008940302d400a63eb67ac8b3a6cc533bbca5fa2f4cf30e1559e72a7e944db4c6cc05f286769a0ce78b9de45554cc9e5936ce6fcf6ede2c1d8ff725b4dd30c750bcf7824ff36a9802f14497b1a38ac8271190cd6ee46b80c88b572fe9b0dc771a8ef3f2154ea5c4fb6d7c2cf7261af1d503ba843b343807b07b972eeeb5364d6b600afc7818e255002a175d4a71af484c32ea4af1281ea089a2872a2c63b8bea615a9f5110de15b6bbfb4eeefc3549d141ffa93af0cb35461d85724d0bd1f4da2bbe3d4876afd3fc64457bbec7fe202ec7737d70b668399a9d9b723fd1c532771203fcff4857560028f6312b741a4a54b4c7c66ccca3a32f9e2672e43e87e9b7cfeb95d80486a16ea51102d3854710691a97048a369df6639d546d7da162b40b6727189f8694e36e59ecfcf43190f639124f2278b9e955cbdba64034878df1328233231c6eff4a2b82586c65285bda881f48390eb503a96d5ce9728cefffa4b12a49ed14447a36af39a588a563f1f71d3df85500784f0a5f38f260264fc8eef3db1c6272ca86522aaa0bf72af656759f8f8407994c641d1d62a672b593c02747de38f61ec88fc75b89e703fc5917270c9328715458f50509ffe37245a54b0aab7271302393bf1082b9f9c64423a8db63363f8513d5f3b450c7c972ef2764ef60bad64f3741dfc14471ee94914c6d0e5c26b0e4ef865b4d268f6c238e8016f79f1dbb1b39b9985cf2d47cd926d6edfb5002a8edd242bd5fe4fee3727d4c14762b7689dc4ad46490f184cc3ea0c47979f78a39375320e760ac284428412ffce4ced7af4c16194c336ec87da473bf1d07672d1dc32bff9e93af0c2e29022be706eb02dad2272f3d85868b4bd4d9ae147f51d1a0ccd199d2c9320e79723f3c122bd90760562fab5889a266c0024aeefd6db52358f3677f91153faa602af7b9b2767cc0afd22751d469410711584a1004f46537df638cf6e823e17ea172268698c74dc859b0a0b590ce29ba9e6e96d36926e985c81fc03a9ba211fffc7279dccd1f54b7e75ba0068a49d705ba642a928c34b1aded4d0f68cc427d25b57251721c813aa9e8bb6cb6297962f883b1ccc24e16283661f10bc308f68377e619f6f9682c0eb2bd3d0d6b1e9a0c62b564c091edd682295e16619016480b7c8667946bf54b1cd28182d34a30b7d07f79790adf7d48c76ebd8d8d64dbdbdf5d1c72b29690fe6dffd3b6c0d031b3c7ad4e8ed08d15db2397575d08b8ef215340d57210af18abaa658db5cefc25f7bdb9cd1e05568f5f30295f99b97fa0d0b3456167ec294c12e70e29dcf397d572e338ad601cab64e3eac8187e2b6722338f120d7228c422c133cec7a8a26be551266bf086ecbf6df6e77b14d390a0ca06c5b07d72a6a7c20f85fdfc2068c3052fdc14a6f98e8ba085ba9acc609cb759bb22f65a6fdaa38dde9cd16df08f584ea69a8b8cee6dfd57db11f26e15d5e33b3277a2da40e2a53f91f3e387b12fff6850d370a1435a22a14452bc2cd5e7488c795b73e01e94a094bb72774b63b16213864f3f661d448b98ab5b6846a9344fb014653cd0014384ab0d473e261b2e20df59e8c40bc1c5eb66aa2d966e0cec3924332ccfda53a402a906f055d43c7a97ff67d0086f743eb6b2588ff544d5987fe8e7c1f9687289ea0f54232288be969710d858348412d94a15fa22df811e39f632d34dff2d5d0775dd824c8ff61955fcbe1b2718e3b7579c8b507694a1adb989ac7631f8fb38d0cbfb82ecd201b67538cfdb5caf5ab03b7bd870911ce81aa54fe96cad8676724f3db3117d56904a3b6d83d9f21456b6cd6f1fe55afb4e870f9ed34d018fac034f42addbf422f6378306bd49992a8046b852f1b0cdd11c7b77711c7c9fcb69721d61d17377e28ea1a3dd641079dddf5bdd6b7b3e1ff7d5f818de34be754d22723c8db8f3608785d08f036a7f4b0fc9242060f0c9286382ea9a0120e65bd7b660703ac7cf7673bb055cdfc50b7ab57964d133ad022aa8e52d1c47fb6a175e4072b67ab0e68a9c679de145f255076c4e67a06c3c1e3448c5fbb4cd89f1c24a3e1e4310bb76da6307c529f7c7fdda5d2d5c74a9348f69d99930615b09ddcf304d722f3ada93df0aa925d8be514eb8bee727557ba86286c87a34bd7e2e393a5b5f72881263840c426ba0c50f084d71f6107ed564827ada91bbb49c5ea6b410e6d472d7b7a17c279619f0a4b1d69e410102e6293db280c6219472c4114513bc20ef720e57d6eac9ce52445961c34ad211f8d27a3109b207bcfa149bba58e15d1554729f1511c76e91295e73f69b05061e442e52b0c298e351dbea0171477b5ecbcb31fb79c3fbfcebc15dfd570f0d1a2d569183f9dd59f9af61dad12ba907a2bc6410fca0684896cee5aadea94c814eb49548c93a457b8e9da48df0da8df44a4a577212d1930640a64fffbe3f5c60f8c88d067c964413277223a019fd6d155a4049728f839554f59b369eaebf7a52ae8e179ff445566361067d300f01bc786f58f97247074749800234f0d86505a2e35ac11b12ea535a7432e50816aa922010bf6d72c95df5491d427197716d60e8bef2fff46ce7aac5ef4d47178272830c756ef31435ead97a3a86fc9dbbd30c168790a3109981241064c9630d47d6d9ba1393257243edef94cc897d681d0bebcd696a1bc42f7d2b8b085ecb87c389769db95d1e725d2c2f5eb15bacf47896399937640a4b944196a2f1f9ceadca5c06df15829b726554c1c2958d68dda1cb066fd7aa6b83cc1f9236cfe58a9a291f5b28338f150460c04a588e7c794159f46a2a403290af87ad10d3260a85f4fc203cc1ec386e728a78fbf1bcbbacc83667b93d5c333324611b2f057dea6303ad0e42387a073e1f92a5b8bc6d380861a5d568f07f783fd7d9bcd354cef56e2683ce18dccdb10b38932d2d604a180eb018b1cd6e3c8d7aa77e2422d8a6beb3b9a71c69195ddf6572de428e384d13a7c8c81c9264cd81d1ca1c162ba13512de118e67567a77cc0d728a13d0937933c3f87d181f8258978a054b503cdfae117a48bbcd8a620146257270c42dc0f261e3922ebb3f1ac68a86030fc930b3731617b48ed1ec4a96a4f172c66275ef3c75a9e20516114ae31e5d36292c9fb9b50e4ce3aadfc61bec3310724e5c74ee446b172ea3e9902990ee55173c37e8ad19cd31bff832d4001d7eb52018884c919167a0c9906bb64e04e693f88531c54603d6bad29b84b4208c7e5972e9553cbae2b1d3921d4eab3f4cd463b5670a9b5f86e8c0fe131d3852fd8f945676b3ced5044568f20be320c0f26b08394eb8b947f4bfa65ba3433a2e63002a72dbdff49b1605d4b3efe01617943bc28c280e0c8a2eae5044b5e2352c76284563ccae69113b5c62916afd679470e29fa89caad65a294fd48af9e1e8129683a772811bf2da8b88e45b416169be3681ea4bcb1db7d4f9ed158142b5688d33141d227c2be6ce22771e66f77c85ac3d8294764f0ee82bd3b94ca46e5bec7f3875f145a0365d16f6f451c19e129df81ff2fd09f97fcf4338b74ea8c58516a375a42f3cd386cdd2457f0e5b488b4ff8cb6cbb7d619729fc2ec6dab7a52d7a7addf1f62849863ab26c003829a86974082ceb058b52f982f3821bd6aa3c7c905e6087e872f44c28a78b45c93948a774778493abf5c7f4ed9537d914dfd3d3faee081a1e7214aff71543337d452e43639c2b6542bfa4de1af1114b0e13a6b3b4c1b3490d3168ce7363a2854f65633ac6e77f5212e80519fab3de999ca5c4ffefe4570f3601eac32b653f17b8b9bffba9ab994e16c0fb49991c781b4fdcb41b992cee41c7267ede4a814fc3cad3c60461eb358308b7bf1d6c23076335429f23b679036f6a72e6eef806941f9be9ca03454c692a45df71bdfe3ca501b3c718d8be67efe1c50bf31b8e839538141f0b324a744ca59ed89338b9a7d1fe459baf6c6f2f07d16e1ad3fa8169d18b15920c8b225017ec3bb2624b7fa4c16e0a181295ac9f949e3a72284db86dc0442a56e34561a48765163dfe8d275cb0be396f0503441774213c727fb68ee4bc5a2cc2e6d7f362b9dd60b4be756e1e0faca5a60a65fe56da13a4722b6e9519511415f57c5ee0122bd1f05b230322b8f35ec693cc23a1802a9aa072ed7a0c76fe0f10f28a49cc57d2f499b7bacecaa7c7f8d5548aeccbf954bc1c558f95ee0eee5f6b426bd0dbf03e798b39be5ff5f5e9af0dab2543fa4566a1aa725c4b87772c304ebdaa5da06efb0c230dc16e6ef08e977396bb26fa79e0007a72e38674300330b53cd20c29b1e05706546efe0234dba2398c7ff20ad529f59172e7b5e7f403abbad26038fb39bc08e07bfaedd8b4c182c46f65239e55c790345b1787254b8da10e0f4d595cd2656152257c580afd157c872bce7df9e7bab024721a6b33398c357767940b00714f98bc19430fcc69a0596df8bd03498e7de03154cc3f6550e4b93c49af7fa4aa282ca42621297b600c182eadfbe29b9ae6028b3a7395b9c6d8b60c9454a45fcbbc3af384aa4cdaaabc49a8c7b11b0800f4cb4472f9e783002ee25f3902810f7f7f0d3725a11800e769a21a6eb13865f7736eaa72e73fc1eb82431241fe1b21ed1493bb323f966898ab3dc713e7b9ce2068f7d255c303aa4eb2abe658423f89c2a0d16c5b01600e69aa687579c353cc59c7d1237227202af7d699962bb3c1d5559e6db7ebafeaf417e811d6f9bd48f4bc1270a732ccbefd52153414960dcea2ec245a44a52733a711052db8b1cc5334d0804441722fd46ed21db60c7850267384f808a603726dc85c9ea73544eb2988cfbae94572d60314d0d3c4e5dae7b83d6e1eedbe113c5a226220b300fec11833127c1c1c729d0b493a36820f3cda32b94e65bc7ee67b3e0c87cf93e48e979cbdac4a3ec5729b87fe3b0d25461cfd0d819defb838f7b9365da71f604b6e492d5e8189a71064e61bdb25729a670264bdbb176d5290704dde4ff2b5595a73cb344056c181bd7244a0c1ab6f72a764da0b0a192521c4dcdb2d0485de449306b48dc0d2a0a0f57219192820afbf1bc0121aaea5b63d2baef1f6633176cda8fb3ba87f1285721f729e7ca064f7e44cc5c48020ff4d02112d74a38f3175ae8bd414bc7c7b2c47f772086023014bf4348f6d90cf42cb41757f631bbdc98bb5a0dacebee4ba44d66f382c557893feaf55aa2b4f29656fdb24238d3f23615229f6c06860b879ce008d72b9bd06ca98e00cd9bc8c5f330a23954994f4420dceafd24764bf01a4268bfa7251d25169093f7ae1620d25cb4454388cbfbc5eb024d821211129d29a42145f18abe97a9e3ca55a33fbddd17ca910200b9ff444ae3164cf9474c746a89336740dce3059b82b9ee0f0b8bcaf5a1f0442f3592ba900908130cc224338a3a959ad691192888d7a2b246c26345bfdefff5558f5c1e2333022eab53b8af86de3cd9004264f725b2b66fcc885ffe8cd53a91bb9f4ad51f1ba66af97b6121fb490618554dc366fea50e08d2b273dc611e31d56527319dfd29f0ada4aab1091d82a9e263b0df6034b2a45c87106afef47c50739b1b935e745121218db5992bea39bf9b87244d518028800deeefa598d7d33e51c795c603294d40cd93efa851da68a8fd4723a0b3ebfe308b86bf7880673c9865ac925f12ee5cf59eed124ed23ce11d7107216e4ceb9c1e90536778646bb44567ff72d08851d3472291b231dff44accd383ac9a824b075a1ce2e506b838c488e91d5daa52c40947cf720f296982768b707728e74493a6b461d98ec9b22a6e5413175aa9ae10d3e6614abfd3dceadf2c255726ca5c2ff7949841d2b26a4297ad1787948cc5dbafdf8124860ade48ff597393f2bb2ea1134c38d8a7364ff69945cd602b291c91a219686439741df79a2718e725a35bda61e336cf91490a321cd7dbf483398152cd1b0045a71a24fd3a416e87207cabeb04bfdcdc39400dc9393bf21a5561012ef7fdf0d9329521bb5475a5872562577f7fa970e24f51130c8a91117e4e2e88082fec6d8306c1ae0f6df8b9d728645420e9122a27ebc6ee9a4d2d582783205821d724b8bc53ad23fb654aa372246385b43d7175f4cdf07480633a19a0a6bf766b527d94ffb9d993ac61425e772d88ca00e7c74b3d70693b9e8d5a22c129d9f7893bbefe63cd69caf2a3591d1721d41fcf5a582bfde58673c62e45fca9676b3d45c304bb4289fec72e2ecab373840ac8ddff035a80660074275154081aa6060268ec886beaca1e9eedf3cba5872194333add296068efa834723c71e3980b5868116bb30883e6b29f9fcdeaa3f6ecd3d4f7ba97feffc7ea9360116bebba57e786c6a97302d3c44e5788407cdf872ecd93eaf1da5181d1a002a17831b67a57d3f7b9a2df0a45b42f465fe35278a726b9c85b7ad4720759b65fae2423a0786afe0f5668c0ca9f853018eb401c83e10de97f781e5403768af411e981b939cd885f589ca0bf3dd418211152b9ba7ac27d6ad7d09d456783b5b3c309afe8067b0a9a8b9b2853920fcb54e9c6115b8b80d6b5cab64d66e78c2c1293d6a52f2644c14d3e981d24a1ea6dc13bd6bbe0a2e720e5199c1049d6e9480d5facd044617dd5197be6552efb82a4f9fbee9922df072083d11a57e7d9e880509699313c6dce8e672e8a9ff756fe803e5e0aa6ecfaf722ebe6f6089deb286a12b35b91c6f1b1c060fa41b05d4dd08550121627d4a7c72443e853d1393b81eff389163ea83d4333ddb2a8eb81856fc85d4c3c0c23cba3d671ac6807da831a02a338e25df6af6264635d3eb32d57444e207580abfc30a72434de4dd7072ef377e1a75590a43ab2191b46fb7ecb20ac8ed699239ad10986b47ba39c069cc3ad81914c2af20f7a2ee3b848888413eb143de76aeb08b566450bd14723f1f74cda3a2c3b1e4696274608fbc5834a8912e95ea2716d296e32272655c5635d5b2f848d200c5b38eff3ccc2e0a328c1b687e6335d8281a373c05482b94cdf1fbd79a16bae2b8688009cb5734a998a038c13aee8d8c10a5744c0738927eec2c0f7550ee274f4b9cecd9ef2aea361cc5fc8f82a6ed76a20d8f8d5e725f83bb256e7c4b1974998486c79c809036256f87649a691d9b14d55f1302ca723da2b9b20ca4dc7c5c23c7a8fbeeeafad09cc6602377d915665f995f65529272475363cf4a8f10593d56ef18c9bd7812942e21399b2ced00ab9555c633310c33fd72b5af9eb45cb98f2ae0ecf544a3a13c80908ec9fe1de5fc982711dd2a5972a72aed1082a5d0a341fea3f63413b01d1b240c126dc03344af14d8658dc7103df2341bcbdb548d566f60b0487e89277cf7c1be0c46a14c119ab9047b079d114a13e09d3505fbbd7b6f16a760d8ba703651d619cbc6185ec8ce25141ce4cebc0480f8e52b84891927360729307f4dabd0aed5e0a921f6831c8eda06fdb640f7726d10eb9d694f20c2cdea029e329cf5bfea6cb16447f110e63ea542c275627772c487a4baf54454818788b3b461f3d09a93d1f95de6a2ef057ff6a94a59f1ad7248fe1403eb5ee7c4690241b6b397d5ceb8b01eafee368717813d3012a7a4e51a96cf3e872c42e117108c49579a65597636d6f904f9ea085501e13b29aced6f68765c8933b65dcbf7f7a987e2ed6fb1311368df629bba0752f1b3b94767890f0ba53f4731f80b80f7029e4880640835d3984cedbbabc47239da743976e8e9934915c80cfb62e5f01d6e89bf475269a1a615000c72f06ebdde903fb72c0de9ed7240fdf5bc877c0e2f99d4c697f47a2165e5cb67316efb01bac0e653232fab9972747e81ef7edacad74841f12818f2a8b3a209c1b770787d13050cd03271445c71faaac5aa6378d898c092163c4fc8fc05a6e01c5958e64de0428c18c341f792515bcf3a11f5d6f47399c15463ea6b65c209721ec4aca12c49ac329bd2c369cc72227145619aec9d03fe62c7c794f6b250d329febf72fa1f0a4e964ea97c120b721d99a98c5c3ab1753c7dcdda36ad42efe60e903fdb69656b43f13ad8d46e4c72933b084c8039adb481411a216c3afffb0edb23c407297ee55c66d0e7d6f2597271f7ddb7144739400214ad7aae11dd877cf87461cf1a3e9a6966fe144b03c5725f408b2001b30c4a2e366f77f52bf00d7e1b5a4f2e4d528fa857e444b4139064f5faf138cdced731aecdf908df00228c256bcc5e8e9ce30837464cdcafddb01b10789991031cf9e54ab342b0809f548617d640a9a2a7aa1c8308c0bf402865722859ef3635d764c34c71d5b6052c27e0340262b4622a4c489775b3406ea0cf1717419f88460bd16344b6f9e811aa690972c8a48288d89baa839435a24e17ee724115258cda26828281c93fb0002269c6f3ab73ff8ad1059019851b1c1c417c43d1354ad305e3da2b2bcee40307df40a751c5f62e3bf5d14369b3e3b8171b411ca5eba856d69f9582c8a3ad27868970a3986d4e84caedb1fb693d8ac010b995720cef216e827014af8498da19f77fef3ec7f82a50b5a28ea074bfecf13fc3e12fa4faa66eb2efd6a2805162b32dccf667b96b59637545f48198e6bfae42174972be39c34469882ba9076c60ea010cadcd0b86cb3ee31e6b3931c70b2e7d712972660e50dc6d0c0e7863311d0d940265ee910ea7ef6df951db0ead0ff71d9afc160c58f2fc936be95658f096c984fa8ae8e64dc3f69c5a1d330b8de2261ab2a172435ede87c1ec40ae988838266862bd7fd3b445296bc86e7c31fe8cd96c4f235d96dde09f58ae8f6da1fd155a5aa7dcd91e03dd88f927c75a3c548bf8b662187244e5b418ba4433f953645d26d0c6a24510ab3631cc2075f127b967ce27a76d72db97c21a2935591714fe14804a2ff582c623eb103486befa54443ce9daf0f25f6822f5832e97f5d29de57fed13b05452f190c4e7b8d8c886bd5318c489279272933f7cb8497f6de4dd1d3b652107b0cd3af0bd5298f80c536865f9f38f16e97236c3e6ce8521727e529c73a2a6d7d3f8dbe30c22903b96e9914bb8e5fb219672b47b482592e86d258087543e49a08a4cb80a0b9eb4155e4a85c83100acbef768ade6a7b733499d79905ecbd34a3a4958ff2c342bf40d444f813c75f44dd9d918f474f524f68e224e1d9d6fe4b5c05820fb8b2459a3b4fbe9e7a05f8a42123f722d31da7057971b9dce0528e74aecb1a75b2329b330f3ce582066b47a96a8b172f5270a6647b888e735bfe3ca3a3d8764cc1709b5cddccf55417bc05a840e4f46c1b3ecdf9ed50760caf05f0f7baa1817b114d0b78935577886b199fc50a426621268cc45ec3eb7f369aec6ca53384616d6f32b34a0d9ad9e5a2e18487aaa8d438c096a708a40c82e70acccc668c3bea48744c22fcc820efc70783372fa833372b3df5c39fe8047a26d46f86a83fe99a7f423763f002896058cfa231aff5c411135a4f0a6eadd575416a6d835b15afccf0ede14597e3340eb51eb5feeddc848728bc48dc5da0a99abd9d00d3abe3be56d2bb39228e3bf85e3a82dbe11e4dec846fa2fd2133a7bc130f3a6163d27c3f69eb4065e65dc00d195aced14e020760b721fa2f713ae69278ec30bba53c05d4c42d3bd2d24fb44bd72484f7f894b43da690887b15869da5ac22f7833505074895f66882159dfe8c18f7e3ccfc73afb1572a20cb32024bcfc0795e1aa78d1d71d9eed9f42afe8620285a5f7acbc2b84921879541fd12cf62295d604f17887ed5916f75045e0601edf597fdc18c17091263c5a76233ddfe3c8fa2fbefe24d932569ee102daf3f31a9584d9a5bd4ba0ae617216138b27087f16acc6a9c8bacea937ab9913182d77033654ee40df18519f7966642414cb78f6bdac7d48007d735a73c61cb6f2be5807dd55ed753c6a97a1c135af0bfb80f42b169a93b48f982b381b22390d866783b16e54400a1267b8c70972bb62640d219cc0022812ebd4d4a61249a32d37ae292183147d89e083940c1e723cdd6bdf6460fbe027577225482ef5fafd8b3787965bc43a2165949a0bf65c726b68a3f87b6c6eb632c4c159e715f14914a2331604560fb002773006552a555d4e6628830f2109f03589da85eca74ce1cfacb13a794bebb683f1159f2c0934037d7f4b2eddcb9cf4cc657eb1b37e6919c748505346089bc35248d98fa67dc8722febc3c41b5fac34b6db3f011590e01dcaae34daf24940963c0b9a9892942e72e1b0af9f2b44d47e650e007ca78a9bbed6f7b946ae3c7ee2cfdf19e39e22ff275d4035269f87a8170584bf2f98fa70db287b7e3857836ffa90735dde71c92472a27319af67d93e04892741f1e59f3693c666b9f84ac81efa7f50bc07f6589c3f0dda2b4ed88a4c8873b6134c5b3364980c0de3d97831d8e56805694fe248aa72a9c7fe61e21a0f6bc2f736dbf491efbdf7796ec283a2c784c22a1757f8a5b472abf15ddf58e8852f8faef258698c66ece4fb369a58e715b4b0932a5c6b8c6e725bcb4659d73d2e778d1facb87daa342f748d0c5f0b6ad533da73e014c0542472c37511720cbd4506e444b4597f888f72ec729497f4fbbfebc1f16c2fe315ea6ad61437d209cd38621d3cf639c8d080f25d99ce3f675ccd42c21ee2b41c2ba272dd81932b02206e73204e6df9da89b9642b9fc9e6005fa5d101cd7fdd727a5d72b21afa5f25dc6a13e1023a416cc8215b65f627960d5c19f58e75f6f6a4a1e96671cc784b2df7c2463392794690f15bf62185adbebf3884f4cec4abc2ebde465bd3d180f0d6f75c3894067b423ee91a8938418cd1a561eed8a2c4c332a27a4752d4b10aef37eadc2d22f0262e05b07e91734a60892e88af85886a0ec36d2361724deae3cf2eb38b97f99e5d590000fb49ecc9351034d4373e0c6063dd78c1fc7213222717bc6d5ca7070a0ca289092392827ffe1ec5fb13fcb3cdb622c5799c727f576ccc7e7756a2f708912984dd5d9bda1a7e89ce7c22e694c1a26fff45e9723f9d4f5f02b0bfbe781053025f0a4ad2c410a0b0fbed5e313b72ce958dddaa72b817a2a438f3ecef2f874add84c33a67b2c1b2455a848b01cf3f95c7ee95b26d679d07463695c149619e0e71dfdd133149b0fadc9d808e0db32637bed9b834098a79bf2b4756b7be1445e1831413c9329e3e48b6bb4f86ab404f1aaf064af6722995e93fed8b33c791382a3fc03e9c0047d6ad0e58d4a5f76e290899daa2594f2333f85a26a9866bc7be2895d7862770d3da94ddab8c22736d8bc2aeaf04fe723d54702d1b45d3621e02f4d4f85377485ae46a4f6870775a6ed36c48341503721584dbdd14e0438d9c1a39dae1d49e99a660ca918f4323aa293cb1033915a739e497506e2647f2e1cee63989265634ec9e71e853b119f5189df77b25d51aa472d260419051ebc19ab4173527e104fc8f62ebefe9829188f773d9eab101a2201b114eaae86e3735c7b0e02e0f4680e9c07c587452b022b4d8102646cfc736f0722328b1777b25de87833fcd8b927182befad8a15477f9c1a10a2e15f2e31c9207da2d995fcc8f9972f520e3ebd4f57909862489340a76c86215443f518c53e972c1afb6dea7f9f14fff18a1e757bf708e3f3e0b86a7e0118d991f815e5429523ee21d0225b7c6c8e2a96d181885cba92eda913ac92f1d339769349023578f4a72d25a63773abc191583b717a02e5127866274c93439b62dccf48878232371db72ed968ef84c7fcff8141b8ff8bb319b34e03f23b7e6b3c1f22ce8d698161b9f7228fdea0a8476d6444e66e6af0f35be13ebc19d24070315ca1b7b88de6b080d722cd0ea6424fbeb58defd8091e10e66cf6fe5aaba2fec1adb8159ac47aa232072c96c32d5de08f57597caf087883e27c300aeff8e3a13fbc88aa94d0cdf68e852679f79a81fab4de6afed42af28b0001943b382a39261a1f52efb4e62560cb86fba38b9a63b37a85427f83aa62faeba0652e82cb5d23f573bad54509b408ebd044f9fd0e8c13d73ed5c1412a494060a9866bb66204c6138c65e4554b67dc18257b293ee59727a5984e906e6c37895b56cf3840e0af3f5d11a845a1a90c47444310e70014e07d35771cef0977659c1f37c646d243d8de9c72452f056f72d859472bd9385d64474774f8e4d083c0516b72c7494fe1b8c00b252e2271b2735296b723ad60f3d82089d2e4fa8174dde5499925971d8b390345eef226f749deae6297292853bd44f8e830dbe361ad751750f8824ec9fde07cd25a15f3b452433df2f5618143320ff155dc697242fc0687927d37c736a97321de6587b243d9a8be95f5de4aaaa77d92efcd90589ecb6c3d82e26f31e7a516396b6d680904b9dc68b3d72f5a7d7a33c686e31fc023e09956aff0e3bc9b8d4eddc6ca100f39f0eead55941eca88c7bd0641d3049180768406984922279cace9787f103b1eee954ef4bb172de91873a24bd3e961f5424263152d66a32823ab55736d401addf18118d435872d2ddabdb1a3aab936fc573ab8143ea86488b2f68b5eb545adeea31587e111a0d09c8f27addb5961a280463f978665a044a9c491480a8eaab8dc54246d3899c682f6fd16ad624f6846b15b21e1866b615b03479a3b4840511c2c70d5abc80f072f4c4e31589a9356f73f74ce807e37fd97bbbbe7ec5ba0a2715c6184058e92f254869ed5972bbdb01b77d53ba73da870ee4ef0db6c0fc4f3847739dafb078017236a0795c5dfede9adf536d728cebd4825b7ae58e4cbd612b96e9ca83be4a9a3d18801ce812f074168b978400fd9ebcf749d1d1f218bc389493cbdd572da10b700605d860939ba2917ddf518da3d3f762ab0cd56a955ef3dcbf02c8179815ff0c086a996c7947dcc57b4d28b126abd8c80d4010244226dd76785e30fb693e05562cfb48857e19b4c63533016470af7c8ea0dffd953d62d1468eead8d616620c04f02dabbe066342203fe02f19a92575b1db7bdd62da64f621d86c34241e380835115191da9123b8007d658922d9b83a1f171532b323d7c02816aee8f93485a972fc45ff96eab5231c7140dffb03eaf3e05b89d34c50f450295e8a456c51b174729104b9c748d76e2763998046eaac753b4690ff0a2d6f97c16792578c64561e72d5f269c2afa584d9448cfdb8058f9f0cd33a60184d885e7fc4368f9bb69636469e3bb77fbd649e6d5a8b8bc8d0c2863bbecb9d46c50d3d5505e107d71044cd3c247cf0a76c974554b362e23466a7a1c1e9fcddc7a3fbe72a4be93499b9d7a87208a8972e82fe7882e8d362c4773560de37083cc25543b354aef4880b933022691f36ce00d1883801d9cb6e3d2f39872f90f255cd811d50aacb99eb4e683e13723c25c3d4a4a7ef7f312b85f92a71a643b5a1be159357f6313df1965fad9d67600592692195fe2b2ce20e4d706ede7b17f3bfa43d93d699e8aabc27ffd6514805ae106b7617e825e8def06d1184bf2f98890df799486ede05f5d54790e8d7e64623740193fdcc66c768bbfa4cdaecaa1dc5b7de32f5f9e3c5d4dbe2f6a4d817721aa0b08d50df984554f86a40a44cc8da0f2f0fadb045a305912238b2724991106b8393f4e7ad7a492c3365df706d28b2f2669936ff3e7ab27f432b38f8e0682d05428bcc810f07a4eaabeee4ca73c696a3af8b1ad6e09e3b282417d2877a74561d890941b2d17c168612306dea55a0efaca8044104c01894385162306b56d17281af17d1477f91700df4e21fdcbb33492b5d637ed5f87b6dbc49d92aae1a5125432d194a997f222a23be59801b4254891511a94259242e1a9cef185a318b3422273891d85abeb8492be0cdfef75e2d8502f8c98816b640ce57555ce309adf80bf37e16bc3cc72285c6aad1f3e4dc4bc98ae996fad5124a3da3e9f092c52362647afe52aee72337bbf5c03d5741b8e0a635cbd451328745aa41552ac8d50113723fe4f59971d7b36ab188aa75d8870e9ee2357b4f68249cbfb6d0f00445509a076b2d350825d2db57ebe939dac43c7e3eb4828d6c3941399e03a5e1c77c6ad65caf887d2306d70381ef4ba462d81179f03c4c1a393cc3a18474661231cc215b72aa1a7391c6e6f33c72dadbd8ea424398165d4c210f968ed277b719d76e12171293ee4c83aa962eb911f120c67e7929d26fb12e5dcc76bde07bc9017f55e595368babdba3989cd58e19c118902127c73201b307aeebebbe36354b5a2fb77ebd727b177294b51da2679cf5a2b25f3e973c9893ace7cd0d5fb1c3a08aa1ecd114727acdce8b2f4f80544d77c7ed44e808c76b633bf757e119cd4cc7143a97cd8055861d7d30065c8abd17bc73d16ece3bbf0511442bd89dfd8681cb46645d3335727902aa4dc19fa091579244da2a6d6f5effdaf92542cc4937b215464550bc35355e0d93940596eee3e9173bd8da60af5d230c4bb32b6090dd2bed43676146c87246ff03963cbdb4764fde0dd6ab29064f69eb8d41e1439c8a51af97e169fdfb7237fdd19bec84fc734c525859a6f31378891b326d8c82b4f5782a67a246305300a27be61c3019a425c21d2debef4652a25ab27536088550b7ab692e0e853d714b9a225517e65a8b6628206bf3eaed4bdcb13258a44f8233ef12e78a2296f9d87262e3c60cea29e48136908f4c0ea6ecbf176d4893faff2838c959ce281eb18072a1a7b090ff7ca5c49896e8549e472cb1f503f8373e9645b6dc3782d17ade857215950d1951ffc3cc8efa78868e6a68c57157e015c0b65b2e196eba554717ae0c822044506abe28c76b715c730ba389b0429107ce5ace7d48950333660ad7054e613a69d375a3f9f432afac9ac009bfa88d354fa06d9d4a63f11add96ca1bcb7204cc2284b9c771c812fcf2c489458ee9e89783e3ba7173d179754163a9839272f35c3c53073e0b4fae4629a400a6cff8f53b31494d3d8ad4913fd5e62a114a58928b6352968c61c4b5da9d260071af0a1fce56dd52aa0ff1c52d9f74506aa33304bf236c486ffc7d426dfd8581ad7870fa46fcc57ce959dce7e45830e5fb6672185f55d1e376525c9282491bb841854f9f1cd427d5bba316ffb1c46d281d8a7203bba8ac6172489fe320055661061328e6cbc4c0b0a2f196f18047cff1e9ab5d07eb16332cbaf705f43479b755fe3c8daab0217f5ec6b14b367b029498a2a372c30586841530fddaca06f0a53eaf0422be6b425b82ffd21c7608f548d9a0cb72466a84d7764701316823fc29fb1ece943a34292cdaded4b10d1703a0ca8e62720c1594e6839c24784c99b443eb41622a1e8bd98ef87c5ad3cb78254fd7427e72d7e595462c18a4e61c6deb6cf15e9f910504b554cd5dee3b7b336c08a60f6b2f78ed5ddd6800c26b1bf0dd87aecbc5614953fde64ddc4c69fbc952240e44b7727795fff2042d96490e04ec92d7c925cf535938569361eb1e1571aece5d07127290e74f6f03f963a31613d60c073ca770afb0a5f30c86f4b5a2e39be2331ba57268295d35fb7467e79b031d92029ba1c7e8cc4a9a82b64b6231eec3acf762da300138d978fb4a804eb1efe9cccc4ba325b7c370c9e8235aed8fdd47132fc7fd2b0686e7aebd9052674a8d1188fb876d7cd1634349c8202905fc913a12f99cf0169fbc67d0f38ffa65e4a715fc351a8400464b21dde1d2283f281ee0165d2c6c28ed8e666d314844cfe8b7107d650ea4014b00567d587c2a9b2cb36ef683f3cc72512b061b4beb4ef3f795f5fa4627c69ce92df6f35f9bf7f5e00224881357a9720627be12a0039c10fc4aef983777608104c2562c885898714ea434ed9e9eb77208b29f0642666e5a25b9cffde167b5147e71ff5c2e0c73759344e6dbaf39ed2a66f4e19536e824dba038ae7a6eaacefcc3b1e2dd465404c5277bfcd150645f724798ee7e9afb6e5abe2c6a886fb7c718d4ae6e074bb0e6b0258fede76ef94e72a135035296d8d41851e0fde58fcd183a4a9b3c9e09954ca2263dea0629610c72c5ac4315085c393f9c8c5f0b00ce5cfe555993aa6771a7861d38c6b5c109564419b2af8da81abae28efac7351270754eff9c4beb0dea297dfae3087ed4ae96685cd43227aea80588903b82c9c2fe653dc95c4818dcdcb69cd518959a90abce72477292343571488d017dde2a88345a5f458aba6575049eab656388736c68196ef6875cc9e071d071ec6b54b7e6490873c24ba90b7218557176af8f2ef41e6e0029e4a154de60e61128366929380957f5be055251055f8d74329708b56ce2f7720da787b1d05378c15651a4ca4f5335467b295f780a886843bc047555ab7582722378233976dab775c089b0022e6c3c82705f646e375efa12ea7a26bdfb5b16724ecd1afb3b36d6c2dce458e94ec3f19c862d9c7acd5745c53c2c25356192de2f192aa447a22aaa303f42b1429d9829a6c98117f3559c64a6c40b5452d81aa20dd183b781cf6144bc0970a766f6a82215ece2d7f9b776ef2cd472dbfc523a5e4152e7576b4c6f44bb7ddd89ca30a1b0f41c6f34aa524501bd24c32abc7c37c8591a239edf57ad519a36caf5dd24d9b57525bca3339c17edf11f64a4d3552d4072cf8380a214fdcf96a702f4fb458c1217357f794d2b5901828b2a8c8f67423472fcd8aba44a882e78953e080b70620f1dcf2907c2237368f5bfc5ea6a235dad725be3a57863366e59c488e235818e7f8f098d2f30373c7521e74861f9b2d2081a1f518f23a7649ce01b66e1c7c07d280d5cd6523d664585912f99990df879ae6596fc41a86f03a6490e6e3bdb9c9adf35a9066ea4c449a2e6120d2f55002b0672112f7639ffd3e6699ff12e884499ac8862d9b260cae6cdec1daa363f36715a7271111276caeb4d617dadd87a7693b9f88acff37214cec2c4f3f8bcfd0b7a96726fc067426f3f7c0ce89080d007f09f34e4c9f7aad58c8142b65e32f695193a72d86634f848d1036c7eaf57d6441d0483fbb169e1dc8274485f9f1ff7dcde470b76a6d2f84d9dac0dc9770ba56794dc6ab92faff2aec26e7fb7dce209958fe004eb9128c03249a7c5d6cbbf64615db6c2467ca7f9ef04dce1e80f6de10c3ed872bf6fc5602cbead4fd4d80420418ec8a3de386b7c537ea2c697a60475c9fed572703d0a5f1df3ecd57a51d41ab64e910d2d533f6b6ea0e59219d8bf7d8b8c6a1951efbc0f36706cf4077463cea2e5ad785d529634d0337db4917e6489dd96c47282bfac091778a1eb30e5316798ee55444e60fb5ce40b7a67a60e8781f6578c72154807d50bab9592c5b2e8fe52518b164b84786779d7146fa1d594685599491d36797d426a7f62923214f836ab72fbc51c836ac6629656ca49cd4bae1413bb7294aafcf4738178c88a29d59c8e99c335a097baf1055c0e8973464609fe62a072791aa71fe33a166213d5babb9cf6f3dd7432f8b1173114806468d4c99f36337292f323ca935b3385f2c85e32e6b70206e65beb5ec4f959e57042c17054b6b55a834128e71184378c2faa81282d4bc3ffa6cc6c1e53325711c638cf3b525379721b3e673e55e53a5daf99f37bf749d74e05ee3d5642f9673fa4feabeedca51072b034392005f716385d831cb7d14a9b63facbc2a10aaa2c6924c1eab51715f663f03043e58938555e2dd29b6a59cc12ab41b6f63253aee8361464ab2212dc4c7251c8ed75038c54d9844b4e922b0209a1c63ffabaea2b6425ce7d4b2126c60f72b6116d457f7ace3b17e9f057d83ad01027b87f77933e6acb37e716229742483134a8dcd3a20feb22175a42ecd9ace5c6a74f9fd8e0e88f9a295c748b2dbbdc722977bbda1cc7da182201dec99c77d7b0fdd3f0ba68035c2f23e832e0b5c8652fcc79033c026c235624f7b766b7f92664f0c922e6346e06247ba7d7064a0a4a202949dfe10385b69a508254f04a8577962d7987576dd922c1ef9edb3b75cabb72469dc6b6b0b306f50a6562738937379f0914edc6a44a6bf7e74328b0382b42725795397641247e24ba634f247e728c1c84b95847e3d09845d845dd979b9107725001e49f9d804f800fa960bdbf8de4d901ad4e1733ddb4aab8957bf61a0f23723da38f3139f60d926178aa0412526a37387d6fc0da1467a22042fb1029ebde72ebec734d4214a2e1e2a61cad3442afd5ab39bab9f0088069b7c61c9471577572d91825d70d9e3f7b5647d8c8990609c99388eaf77954b9c7bf042e655cdfb0472bcd90f15f3d3338046e58ace79d1e29df4918afe01f0318e99139391192bb72d6c642a5b2ca6743ffe1dd775632b33b487a10be27d58587190bfb25fc6cbb72b2d0c220f51c2952f8519af90aa24b5c825653c44ef6f12b9d39f4db87b23637f2c0650287c898582895dd2743f4f21bfd12f7a14d3a91e9ced492ca6e08817204793a6b2f31ffc307fe50b05d9d69a8a695f0b86939d86e1396746a6934c57206ce8783ae6ba2bee3da8a9b46ef73f47b99d03af819492f746f8cd2e98f2a576d6fb2177d9b67218fe8708360121bf9c86fc412798ad48cdccaacea8c99c25dc6b299e910fda9485eecae2155b9ffe4bdcdec5a0f1360ae608c35e1a3d65a7257d7f8967326fa53e8d5e182cdeebd90a8d844cf4f9d1a48c67f8132399bcb723d115812b8dd0cad506282665dab060b3cb7daca2dd6a6c3a44fe337b4896472e08ce026767ea4f567d493560ef126e30bbcac65de066bd10202064e5c31b25586dc02bfd02449435ffba704c14545c7b55c71e36defb6db0549bb98a270e17241fc26399be36673b10e6f4229641220e997d1aaf9d486e9e70729e57d03e85605080335aae055fc8b028ab1591be6bab3cf408fef7e02c3343f6ab119bb274280ba681837475a33b0ce5857516872834f233c6408db1b4df0437ba275a66c722ffafd8a096a77eff713478510f1a600fb3d76ce95e5d49fa2351c760907e24eea69961b4ebdba78a9106f4007fbff8f74b95573d822e841714a16ae453fb67269fbf25208ab7d86e26d97a963113eb195cb30b50501ab268372efbefe0ef3724833b0178cc420443afd83ec53929c666062ba4af500b49f2a112768f96c467287e957b39d21029e320f5916c7a879ac0e56f502b9ee7093f0b4dbb2da98bb311904ee63cf58d6f558a957d7fb7ef29573f7e9861ecd95a10fe6d665d8423172d201066d7b27ea5c5a9895a682e60380bd724398dd308541fba7569c74448a727a782bf783e5c049afca74e6c4e46035e20d9a21175972aab3749c1b6e51bc72fcacde1f95d36846eda390ba7716274db4193d5a37b879e3d36a84e8a668bf1c7edf7b88093b5bb09e78657a4491b0e0e1ce38f1e805146803e38c1c1862cc72a037802fd9e70c50027e752d9f97c4aca5cdebfc24b602e30a1c03939a36347201fddf607ba58d40a5e6619f0eede2134e6e7369b04d9f9445dc93053eafca72f37c198575fa755114132a1dcf93754d3909226acbc2cc4a018714b210aaac0ffb44d77687477c962a6e9d14a87fcf2b5eb905e0f93f7bf8a679d443daf711729edfb03eb23b155e197782ebb277f95990a2662ee9d8dd2b38bae5aad9964c7295de313bf8fee6198ed6993643a21fcdfbe1c5334e2f74107633b97ebe098972458ea24c2ee2f449944dd7ffe34d80965e5be6271fb2fd10cc4e21113d07b72889881c8bacc3fd4d1886b0366d066d9bcb52e06e41d6a67958652b1cf02071582481f5522ec8a9532d39da921c9bc01c338cfb7f68076ed7a49a388386ab7472ad62c4cbd0cf46af5e795f653175d5aa54feb3ddaacd5b32bf80cd336dad47198a4cef8700ce46ce6cca34c03eedd0d7a83a33603c38fd8ad61ed9df328697728d48e6758ade1b7bc00d95a3d5b8ec81eac2f194e2abd35a6bc72f33206a307248b3c858612bff20def86ef2b93bda35af588bc8b59d5d3430dc54199d0c4c2f421d2618f6c3dcfce763bf20773518da1ee1913d4cafbf3b94644482fe4aba7202b90b1248c9d4029f8086b79253bfba3b8f9e24d2017f60d39d0ef270cf4f496ab7f90b96cddb6d3716f642803b8bc313cacafb65c940fb8c4702e3267b8372796ace9712d7c90d3220d3b8e61a90c31bf0e81ad6a476032e2e1d235316652286c57e540109f52491bef8a82d12d48a04c34fbf86f62a5c354c14f45779ec3cfe8c59e517e834faf576a59c050f49780b347acfe6cf9bd0178d56c9b75b1d72062dc7972eab2c4e0f6864482e5c2afb68bd39c7a2abd2415aa59e1c4225c02fc8ba7dd19b7ea87e7dda667a780918799cadac743000fc96e4bd11be8c7d4a314f23487a58267316c2ce3d82ea0d6fa02900ef6d26585ec20783f037c0bb965dc2ac6a95a45127d270f35daf44fd6873a4e94eaffad780dd72568d5f97fb1753fb470eb158775739495bfa184fa382c2d2cb7ff5f7983a66678672483af2805c16bc606ae883580bff6667d761d85d03aab0e709b8796aae18e0fae862c2207256830d9112c5c7ffabd043f54998056ac6049c7891bb3c8cae8025ea277212514db308a88f8395deb7043ceae6ac2e9397e6de0e11ad166701e5f4af12439672c1a5699ad3ad57faddd7158f3300560449fb3aa00296653856b08daf02b1a6725e5f0be7e31a661edbb3125d892940440af0ff9a6ce492a21a5f4d37b45c4272c2792477cf6e8c0e20fe18edbb9b983fc9171aa855876b7e14b3c05491a1441339da73dc6e97a023fe8bc7baf5328b76810350c4e6f5e948658dfe63ba2c917235f810c66eeb0f1c1dfc405ae5617c1bddace5c405006a32ac02e6878e61867284d89634a20c975f66c5cf5065c14570ca373f89a7711ec39c43178c4b3465726c0c6177a9cf5cd9f074dcab4e8946d8c4fe112e197c5b763c7ebf808f4249445dd791b7e1768b03719abea86fc34562bf60ad95eebfa7fbffa45c50dba4c2723f8a2e0b70caa997fc40ad517503d171a2932304b4ac09618990301f98fe953c94ecc8042c2e572635aba0c7a6103232c451d0f903e239f4c6dd22b0ad891320063971a025047046107992d61ad72ca5d624c95cf5a6155228782f484d49c91146bcd44252816489cbc33f29b49a069fe70ee956b31efff1e5d1abd5d95f43729dee963b2a3cadcf1b407d43d1b01eda503f057fb9cd0e00bbaaf25771af84537530097c971316f9659748bb03110c5e993e60db26e91cf58870fc9406d01d72faaa79e023e8d9a962b67d93bf56da01b6b7ce585c885de3b0b583a86fc0430af6918d9aa9b0e50cf35397178add734cd84c232f4b3edd6539ddbad7152441601b33b22b14eda82de6cceed03ea42e2ed70788d014abc80c13c5aa5f716ae91a8160b30f571df22f0dd63b6b5d799c417cc1ace627f47aa39b97c1f1d03f7d1cc7364578441d324c4dacab9292868d5796a0c97b815a8eb5cdc916a076888e72747ad051fad1e958c0240ab8fd51f8dd5ded8e5ef673a188a7673625fe16193725f2537a153b645f7886d32ca08c4b07c1bd93a97f27e0c24b95373ba152c672e581779fe4d8fce51fcffe07ab6dcb3df532b9982c35ecd59d3e22a915f050727e112ec81d838c75a7fb50ef5079bf491976031871a7ccd512bc432b7732e672266d65b71721c50254879b413f6f481ccb1c9114eb5134a931ead2ca55bb12729d659b5d7f5354190c5275b056da764f55485833fa8db512db3c15ddff396972918953ce00fb7c2bf290d6d28a1d90d478181163da98db70be4cf17482e1be72db3ab943c8d40dffea5bb24317644b229822e2cd967e86e791151158223fe0722d8dbde626044de95cf8f555612d21683acafbb3837b5190fc88ecb945c17772fcc01ed91958257a5b7a6361aacddd1ef4a04d47bfcc4ef9b422579d88a44e72f6015e2586dfe0189d16dc42b7aa104f3c6a588a3a5c069c3624e802419d6572e80f38a89de33cfe5a5793cde7df2c3ea2b631f75c5654daec419331668e1272b6f9a1bda4632846da03b412cd91466e99e667d329ac2492cf4933a1cf906125acb4d8656b1924c82e877dc8fff5aad65b7d63f27d51ae2a6d31bac7c7a4df725e05fdd21ee45d70bc706d1ebe606c5b51c8ba9f3cb664a8ef452fe19e4f20721d67df7c06e70c6f01dc9af8380b7f263e879d9383ad2bb4eb9cc0ad5a6f2252df5e9a3fa6c3976e4175bb6ceb4906db5b74ef522fab9088ba24613afb890672a38c988aa4f60aa0bb6f1ce896e697822a9c599ab25c7431233510936e89502bb8b5451e46e7bf1e17c1561b4c4b04c5ee116a2f7b8be70c2c04133cb3196372d68c5838f6f29e77efadaeba1c4a4e4417614675e19fa790999ec85bfe83187211cbf60564f4e24ac9b3160e6ce3beec3c955c1e18b23c380643e0904648f572d41a46c66d932c558f7d7fb6f580dc65b1e5e73e2df713c55df7d7d3a18c7872ae4c2222e26036e6c65907a0a13739e9210aaceb457c0a0c43921fd6d945c6ba020000726efe34e810d8f791443efa2519fea699857cb8bcbf93f69f6eea4163753333722d90c34263c1fa01d295f3b1d131883229863352f8fda92c8ed91fa7acefe7283d42b262995608197bd581eadc7e816f05c523e3af5268805d988d6d1b5624530ac993abadd6c58bb6016c4b64be6c49c96f6f72d4a8345914ccf5ebddf1e64fafc7f321031ebe893ab9ade89cc61b1cbf5699cfed12dbf2f578867c1257ba720e32feead6bf23e744f0dad8814e27c0ed3b9ab307093f3d43ff7c201d9b6833c94c4289876342e7bc6f78af0e51202f807d2a9d06d2f775cafc287ae520c73730a640fee6105980158d114200945cdf9ac52e84bd0e44a728f47dd2e768fb72eed8961f59036100f578689d044f1e22f53aa06e08eb2faf07e5b42775b6957256d5117dfb1f5d657ddfbeae2b1a5c471764056f1faf82524dae09363e367f49d0d9cfb6b02e9e990f6e41ba4f85ce98c897ac05f0a5a726af8b6916433fd972d592a1f8f12db42f80355d2873bd4b848d44141fd0dcf0d4f4fdab85abaef30d5511b1e41ba3bbfc082867f247d3e4db01a85244e4d7e69ff98c14de2ca20d72aa255353d5a52ba21d815ee6c69b677055858ad18e02a4b92c7e82c001751d72b8320ba07fea9be9a30d1880ce9f8abdeebcdb2f5c4f90489d4e561813528572292d002d659c84cdb5e451b3e61e7c09c1b8195d7f91dc2a2fff325a7ab0ac7222baed39e6c7b90041b28a424bdc9efaaa49fabfdfcc5393bdb49d3dacdd114e1d81adc020cfe78f7b851c03bb868d5613ec397d1975c54a49a8b5aa21745b727d673f0f510f818baef31ad1e0a3a0317ed86a437a9b62fc415c93d74449980f691427f94152e824f6acdf79a9723b51c6686e3e9e0dec9d69b9c7bf45d58a0f31f573c44f6148c75f5ec5962bbcb99ce5f890d86aed597e205a0f47228056720882d97fa041a554148ecc04f91613ebbfac34cb093a59550897bc2489dda57273d77e9a86944992c30c9fd7732991129a4064bd3f6622e7b866b74fffadea46693d7526277bd75ae74f1d7594eb95dc57d393f53c9ab2edabdbd89c8c42d91f003b8b7baf2350354218177b3103fd3cf9bf7ddb156624d8f11bc9f9cfb3f5726d27956da0f95d071ae0feec9d88e4862243846eadd7a114b4f604225798ce72a82611fe05054577fe3fbfb6231ffa772db4f17f9c7ca28b7090282dd37ab7723d2c26c9fb2db63a035276abe640c7de2114ae01e154d8736587ef54596ede72e5913a1089b859fb8347ffab3284b5c6312a3622d8f398e2a829004b3392ba725946e482702ab6d7b3992afc2810e38e86487c9c21006014a3b9253cde963072e6b2d13656235a5dc2c8b0557a49720126a9d00d93457d047aa9e3265d4dff7295a1aa431eeaf14d5afa086c276400ffa2ec3b1b819a605667a01b89d64f2a0c2c6e3abe8154e65760c6eb3af352f0f59d2b689564db855bb2e4100c6d0ddc7283a70363c96c2a4fc205fd3557a905874f002816f2e439ca48a103b6904b893d959e84bcec542292372fbbd1d13988848f3077fb8d7a67aa3bd173e8883df172d69599d3611f38e13b119ceca68a4be4bdd0012717183d120b74ab3c0a3af70d69c469a301d953843a440d24c678146c5069dd2bac15500190c308b440482b728c64a8bf27d120ce739f16910cf6c6225bd2ba801ecd9e8d27f205aca01efa72295b7aa5f52ed04c0b5e4e59a4bfd7a50c58797441cbf0deda069f3dd6925c72b1adff32c22e3452f86644910d6402a80e802c721a168b18d56182d7ab9ff84c06bb4155c16d99743a2fae84c2f3616736d90bcea1c35f62a8a9574deea727725309756f9c9d57d3d0feed333490e6246a1ed5a492407bfae041ec70aaaf1b72294c84261e6bcdcac9b1131e0c537ebe041767bd2039e3a1108cde8520437872be172e4a909813fd3c7fe34481ef4faa647cdf2f60c607c27dd06452b4a550729bfc32023ae3fe18b6195d4d8c75df6f941f1366f3fe13c0dce9d5f47ce976720afab531936c3b8ba9cd04fddf6c91fbd33c994916a933ee59adb54a6622875ce7f55997e353ab2522b227c915a3e740fba9b2deb656e68c24cf72fba543950e48e00c787516c8a26a52101ad989f870724083c6929543fac2beedaabd35f81c9d2c3b833d58943789181622bbe87e50329b67e775f26cbd561aa5f501c481729b59ef5fb914dd28941d98a8a443cebda699c9b7d0036ecc955b598a885edc69440b03593fb13061fcc68e19e9f364387087aa1ff3b83f57abb78360a434e61974a4c70717ee69b4646f0d0a16fdcade6554422739410e434d8aafebb2807d446de981dc8f83c51c37c120df91c424cbcb701c5b627cabb84dcdb0978e310532d0c210ecb4199e7b7540bb362222e077b9d93abab71fc26d18fa462a7c680d72281b3e7f605af0b998c748c0a48867a2076053a6a9e5d44d850df4f356ede0721875c1ab2c77826410357fd59da4ea2b35a39e574f0bccb9773ad7e684acb44f857f672a2fa6bc2815d1c5c3653139af29cdd602e03c9df8bfda580370355d72de1540f5443f3705aa3e8a51e38319caf8b789d57983b3f2ddb6f1dad9fc877228799850c9934954c3161e9e4877d41366ed86a3e1123e522d6c30853626cc7292d55668b57f00771e64208ebe104b9d31f4cf7b104be1fc1692858cc135d172bb8fabc5d08a61faaf7e44d01ff60e69445c0b349f2674f152a872a5f02cc414fe547b0001ab8b8af798bbd683c6dd6ccbf1fe29448312cca894af5a2617ae72951d94cfb821a8a1dd67fe0f2d0c687eada36ca9d961d6c8ac25054e148b367278c5fc79ec3d7c0c40afad8781119d353dfc163937fef613d664b5bf9bef57720bcdd55a66d844bb18217e83e0f68b58ac7ebb1b67a332a03e021cd1f8ade31e6319b2ca1cdcdd2a855ddcd5a8ef7acbe20816657ff08861fa3a1b3966de5072c31f3e4752e9cdf5177dc4e50b270b0b87139c07185e3cb9b5822ee8657ba6722a233669db0c8107bfa1e0c4853e7f1e2d9eac3cc66d56be8f080027f9c86939211b1a156a5e4b4eff4aeb42987a5f463b72834c17d0021e49bc30fba3443e4c87dcd4787b5e958d74a9918e93654c0ed632f0069bbd18b0598f2ecd8e2f897208e6deb56de96d55f61e1c1bcd67a0d9d4b3d507a09a0217457b90937eb101725f0f3d296f879102982c329565664a75c75a90d929144c0bc5a7c6edc6404e729c7723cf36bbe95c8ce138a3488189c83dda921752b54dbff73c2d026b088372fff588e0b26efde75586d2aa86e311a4b624ea2361e3f80090d304bedc6c4321831cb17609b93ece1bbb30e61f397dda36cfb9cf847d7334dfb2ca1090fb3d724211faa45dbf5135b292b4f2129092992733dbf2836348a26ceea3c401b82c72d153900e86976bc2c855579bdec3092abc62dd1d0764fb7a6604e4e1b743137214406eaf9fcfbfb6706d51e4001614557d864196c6658edcb28bb15916552b3d7c9b7a642546d91ae164316fb88e8c9d91aef1d7def4f9dab22e0faa9779d80e61c97825ec9f28683f51e885526d9e80073f87e5914acce4944eb3ab834dad7273bd6971656865ca220b26b5dabbf8aedf39a8ad1f4976a16ab08abc93543b720ef3da0ff55c85493b9f40e39c38750c8ec7a5e7f1c9d8f3dd205a492bf8a309dc839bd7c9240143fdef794c6d871ebd3a653bd88d892e870fea73ddf07bfb16ec20085c74237e933a31d1a4757cfc6fef1413e7b04c85bfc9f64cc0d14d0228400a927fdf5b9278e014da27b359bc8565c922115c40c3c1a4b91a97700db772751e996a34fdad544c01235148eddfbce4289077a28126c162867c7bad7252174cb8b518830958ee03d2231e8726c8217d563c4e794dfb9335e7b311c7c82f720af4a15e605d1b5f7d73aed5ddc0dfe90e6bb04498e255799770710bc9306772721e081e8ad4d1952958bc7cc66ce8f7761135c5432fa342a8aa4c910c40c672182ef4361324c2f509ec095a0b4ad12d76790d5c71493095d7d1ffdd4d30ef2e997b5c01ec1716b2208c5d1e63ecffb5106c3ce65c054c4a35d687a17af7ba72a7212bc6a6358284b7f26bd99b8f38c5b576ed24d5e9970c878cefbb83abbe72aee298cf361ba494cd67dad1df6855f8f0ce9ca2f6615b495f8b8e34aca0aa728466fb0ebfff58e716999c8dd3d7d0c3e9ae3223705efaa1c73e019cf6711472c2526d6cbe19fc0b1ff07188ec170370fa1cab511cd491c2542a8f8f1a354734e649a2be8f0797ff8dc9d5744ab048d5edcad57c5ec8240f023f0fc1d652cb7245a76bd2c14aa939a9bbbdc1d0fcdc15f717bfd17468e751f6ba767bd024fd72ca29ee8fa6f4b84676f434052be8a2f260bafcb3a120b07a7032b286e116de72049e98f3809f3ec13604e0245b1b4c121c18a81b0af490c8946b54bcfbff6a72f96abf7e3e701fb2957f9d0148437f55583ee4beb7c9ab637793277182c17e7209348aebc292c2751940578f642891293e36eef37a147a95e1d72b89d926b072fd2109caece606c3d0bbe4074bd8cef6002c2ada085c9139dd12b324eb9f13727cafe52b7661098eb136e4233035aca7e39228d07a20d2b10fad5d97b0b49a66487f4d970dfe9712b7a8f913e8162bb7c52cf8667fabfdbebe572a35cb5b5b4b9642437a78632ca5309b29fd96cb9253ca15ded2044cf200d79bbb77951f884b993014d3168482234f55cb72f9efdd87a47374b64848ca4046c1533d90c083725682b16eb8bb857b774690ab09ff0bbb21f458c7a8d5dc8f168215acfe06b03fd8e85fb1fefea38167e18e1c942f3879f7563e484c87b7388450a438bf127b72b8f2e7356cd9b7d268779d82983cfc4d3e8d221273bbcc40c5413ce64a750d72d8d67a69fcd088f00e694f31f86bd5b9491358df72c6734e8f80988e5c6fe4722fd33bf2f87f63d71483651435e2d98cc283f6c2ebfcf693074daa4d3fd579726774e96da2f6ae4f7a67a5c4c29c9e86ce4bc12a1984c7e2f637ef6c4dc2f27251bfbd20485f9cdd5319869095f92adaa7dbc7041bfd1d5c6942a288ae4d475b9270b8d786ce583768d789ec270d1366fe721450d18ceaa6ec160616366b3c72006e19f6e57a4a7b0811583457997d41ff1e6c60a2a86e0f3f2f1d5ef8148944f3c7ade5c5a69c4968068e30f29ee2eb734739f6656ae6d1224c70c80d266f72ed2acc35ebd5c9f1ca3725ebf8c128cde8404e4d9a7aee6d867e538f8330535ac43e62736ecc03412c50be271153705bc55b4932f93b19e97625d8f7ace5cc72c64087c2fa1c9cb0221384df79b14d14d1c70775264b0f5c01447211735dcf725fa3b2201b18ba5b98f9c2a6da309eb8a5761442f8e1f47c2b4fd820c21f572f6d83e9d1d8d8e99d24e1f99d019aa64d22933f4164de175a17ce00a9c6ee047206fe1c051aa7a4f2ae262b8060510c3affe16de2644b72524e950d9a87f3cb726f2aeb11f3f8f09db4fd83e7a978b260a961063defa7e7ccc66ad91eebac5526f6e9aa0c68d0328710b3092d51f2ec663fc5c47b7754fb35ccd25efe4bd1bb7290dc58e76d2f88b8875af416b343e73125c7e60f13388e156eba36e63fe8355002a4c1ddd1119523c4c92cd5f91c72c3613d312c7ba9948f010c217c936a7872bfd4d0ac6b2e7ca0cdbf600e3382b0bb459b69c0aa04f163d655a92f72178a729876672321ccbe4764454d18467829320ebce9256cebd47936ace90aac0dd072e81675d102c74a6f88dcefdce5df4f03c14a1b9003d193764f8e358d35b74972fbb5ae2d3937a8dd0a4018a8231829af184e49846b3541f96e37878de8e01a724006076d1bf1f68a22f6abe286c0f86358374dc7b7f1409fffbdd5c592d17956430c8cf2897860dd8a82349a89d247cd235a55593bfb718406f8130933578972fb7af0134ee90161cb26c3e8a62dee55fec9201e94d7e4157273e59017f02d323f835fb9eb5696ed924449c8c00ba1a54f66980bad4c5590df19f1b7bdc52d72b837f57c1bee1b60b122ffff24a8ab4ffb2779424a4d8e7a2ac137105d812c5f80806f34048eaf058f8a86a97b2e42aa7b1470b79d526cca4457872b547a807278c3a942a2b3fdae256e75bcfca5e9bec7d1e0227b28b48e1d5e1bd5e3895e7248e76627e91fca9a83f1388eebc567e3796ebce6ab2db02a653eb5f01c0ed87295c6da5134485e8f75727b8e51d4b45971791b1c3df7ffdf640c83df27373a72964507bff2ce7fe49cb9b344e65147fec60c05004781056b0e9c93475970a572f0371ca2d3401521e89c0ad1f5c8daaa6e4b97c2f2c96b62c4bd373f232dfb72d0cca5d875d78a2e22e58ac929c35f5e82be9c9724dafec77e18941f0fffc872fdde0cdb378341696890e87142897b0b7fa45a08057193e6f61de97826b3d55c6c404c9ae48e01e4443345b88dcd265c0d3ac8bf667196da02d1c8d07a9f297279bea37fc559fa842a07a4aef1cf3b98fd1a5e807ec9b6e9f651bbe417331b3abc8c352ccc7915d414eb9a57e68202f76e21d0e728ce00d4c7ce0165603960721ef1d8fd80b3e2d0f9b86ffefbeaab34005ff94fc6dc1e5974fe4e9acc7a9f724d54e81dfbfeba1d83701d2ddba944658b3c8c7eda94b68936d24e3bc5961372b2ed6ea5a0a195bdfc61b207ca1772bc70201874fc8588608725e645770c264d506493307453159f5965d383dbf76e9df99b73b121976c1aea3abd2fa3be4f6584670bfe831cc8566b5bd29e53baef8853c7ae6be4e344debebb49eaf387c046e9c8bf6c06fbb1ccb38e2bf244e16468c5f4a900496b6c5910125a65486848728f07d8519f967ef03df966d81e15eeb230dd811c9967daacbeadcd2084881872d5a89ac83163daa8450a545b80acdafbb080699355c0d815db185c05d84e3272485c224a8063cd03f42c669b7d81d1f1d0ac4a27b32f15a8547ec7cdfb4628621a5afb8ff8abc290909f72e0000823731fdf390da6b3b85cc12bf3c94769f93450bd3b8853af75c7f01a8e5e949656327dc79c78adcd1e3966c5738906b7085aa295ec0e62c10be08c7b9eaf7b710851031c1d341509ac68320a5f70b090327276c88f4e11678cf320a1ec67f9e4695b2f99d22dfeda73e7d59be37ca34a927271348f1dd5ac087a593157c216460eadf0b532f0f880f8ce2d40205cb5f65472a74a22aab2d1b511a91d3f4998365a2d09dc57f13fc2e6b4081134a4a1f2567200ffa7368d04ea0301222652ac4ae60624ab132ba31234335ec6cc484750b37281d991a65440369063412fc2cd03c067167e46a1546909b6b8a688a9067d197009fbe5fcbd5f430c91c076a7dde0cfea1d7351eaa4488f4d32da99da79797362ae3d51fb46eef25feff7be5f46aed58ec5001af53128f4d69f85f7626adda33e028ad67581bd94b487815bc674bc0b01f3762a292f01a0f2475c4953963ee537f76d7c604ac3ac9c1d01fd25b89c5956ebbb50db271269a86c906ce5ff8af372f4461fe22485bfff7b3ed30e4a09246ebc1d7610afcacdcfa8a21c87c3c79c7235170571b41aad6be1688fab2fad47ea09aeb3809c9a896a4800c99ab2a76f481ca11b0df8dab492087871c13187ba6c3c074a6afd9d7803b871aca31fdcbe72ffc43d35e2adc71aba62d0d3013abf275e22d6fe192f60a6639b7146e0b2fb7218081b07000bf57a90de24763bbbcadf60e1afd9c4ea91dbc0f28e6bd03e04435e85df66ca342a3efacd466350d15d783f9d2c9bd291474a64e81e637a0a621022784706164f6a9466904fa56904f5bd1d9bea53a9a685910c5e462078cca872387c4a2246c315b64cd2c485099ed279309675135701097f079050af0ab3ab025c2135b2b7269e31e5a6349b2beb3efff62ca3471a85d62ac028804baa2f327276227a5533ad4f954abc59cf651ba7ff7dc18d854bd04b71e2b0674a1e858c35a62124aafd5f4b36e9dd1c8e1a2a79eded1ea6eadb39c512df6493f060ae9d2dd84262ab3ac33d66a69b2145d7d89f1ff8fc42a421da739f7eb81b2aa749bb72ac360661cf4b1622a24d3d09999e9f4135f3633d2f5358d0cb79f4a4d846d203fb1eb93dbcadfda0b086d38a7104e4de15227609573f813d325c3a3630229312ee30bd04d614b1505bb93924d4ca0ec0c24458e8abe4b94049f27a32e5bf97721b7a1d39347cb0d130502c5e15dfb0e5b27d74c2b6f36637e8605c1c0965c0725c109a5ae2297c0fc5865b89212e19b9329f7889067b14b3f0a9c6f1605bc472f401fd1914e09aaafe5df6b2ae6b9c7e82f1dba6e7b8f837fb635b01db69965176014c559e6b29c2975f88b7c828079c0367f255a1c1f0a677113adf8455782e2dcdc1924f9800c0986d1a65a4cd132d3c2f31431007c60897e8c04cfd4f7272cc9b0340f2907e67a81034b0a3f0d443d8670ab8f135d8e54d209136e3280172d8b126ad6f4d99b738a96beda08810eb732d459482dbccd79338596dcd5be572bc8ca350c1c31bc9524f09b814052029b113b537d744612b8f82deb84de86612bf57102979bc52b50bbb5a30dd9d66532c290d2675c224b5671b664bc1f1e872b486d4adc7f9f292cece0ad5c6cb3ef84ab6c00f1c0e753071d041086363d638bbe679bca363a9d96444a5b49579598104f4ad134bf116b8f6ffe1fd7453be72f7549bcb59fd5d326d2d1ce670d4470ba35e904108f5e430d16d7c2911355672f3d1b0fddd77f0d555afa24bf12bebcdbfd0258e3708a3a086b0d2963679943db39ed4a1385ad76bf234d38ef73e2081b8a5aeadfbb604b91389bcb01f7879066a1db9643c256377b320947314e9ebf89734ffacab55e0d6fe6e443ef13dee6608ea3da8337c16cb52d3404da1f2f11b1c5455b2d03da16a6e685d70071e6072431c4e1dcfdc34ade27a27fc100b76bff9060761046d198ad9fa234fdfc70245283e9b6ca8f22461991217f62e4f6257c90490b631daec5f50df641cbeb53f425837a57cee43a1ab609b4ff0bc40355dc40fe31831110a5b5c05ae70c1241372a23412c4793159d0939c24e80c91a4e60ba2fd629cc05dbc9ac8611164ecc6017c64db8293e60a8e3bc6c19560d5eab0bc38705f77b1b4c28b24bc60f268ec540ded4b0dde35c5a3db8a62f496379dbb57ab7df83b000b994425c1bcf9ef6263b6de7a074fe8e168e6fd309156be188b00d8aaf76ce47fadf6283368bdb3f55118fad36c61a0f0ecfe3eb2208e7c1486b6877f2f9190b5473dd7256bd9d78c5e548546c0fc2cb50ea139d490b8aece57e0217b70d53d45c59aa174239119a23ffb15496a6b1403eeb1edab5a66eea21e530665058c9c5814506d6a5f7476fe35cd3ad6c9b9ed6e570bf6e8a19c2a666ee081d5cf1cd42c9ee4742f9e8db188723505561e036b4e1f9c881edb78126a450e3280f3bab2dfb87c9148390d31a024662ac2a3fccb00b9e0f0d7b80db43e690a16d2ef892a09f2082b03b26f0f4568868d539568f943a12056498befe614ab519e97b181d20e5d725cbed5bcef9d62f6811d0b465ecbfe876c8d2bc0534d461cb5e9bf964984c1da63716b05ea8b7277fd250e8d665ac0f7dc9c367eea224f918250582acf3ac2810c8c739e5d3c720d3cdef42c351ec82de8147c19e73349be7942c9f835773a7e016283ab234e72d50a9a7dce2ff1740025f738a40ad004c790f83ee81b018b35c5e490894eb272aa96eee686a9fbf7f50eddc4dd0a00a21e6a3d500ccfd2786d5410768ce36872a57bc66fd8c9c95dc6c2632ab07b03b1319ab5bdab678f108ee532cc1d468c7230659798f79fce6c73258070d3d97077c869fa7f7c22dcb2959a3dde1f447572c6d52c516ee573c56cec02507668f539cfbce0be5ce7c7b03e4ee5121d61cd728887b1a999409f7ffc14e0046c4561c7c8cc56796f5721565eacb116e9f9cb008b4e8254b0378a9d41d3d77ed813af576f39d4de238229563b4fe4cbe8e76d7231156f46837cdfdcb6fab825df5f9236f9c057c3fe24bd3d61737d7874ff6870ceef562bc042c1d15069ad5182fb07756cd61c52674631293d16cad38a05c472d8bd107775fd1557868f202dc8ac293604e12a9cd79d372ad549df1c5e3ed14d1a419b39552f35305ed5da55d5a2bd1afc3b064522fd1f81649b41a670f12343200f5eb9ce393dea8d9df30d0ddd39a3d798e4ffab8c8958ab56faf0b7a21772c34b993d0b0b271b694ec347863c3f06dafc4863eafcbd878da735fbc645a517a9fc9c76f8e118e53d36014bba61b155a195dcd23c6e544c02c44ab052c6c421f715f82d12bb781515d711064724d5dbeb49c28453ab0327c086d573bbeda97246af374bfc0971f3208b9bdeba0d53b550e1413bb325753c93e44d543f1b753fbd3b0049df19a2d5aaa108b7572d10fb6a08872bebe4911bf596008b899f52721f03444a0b0e69b1a98cf48b06843195175e488c5945bf8d502f54ecddec5e243254fe583856ffad0c970c08ed8f33ec3d2d31397800a59e542f5d2d533a88152686c184b37a423e0938ca498ab07c6d0a09ad04ff107a8cb3e81102055cca72cabc6032531f9d4ff4b25e6a4c4b00478d8c1795f42bcd068b261e7e71f988285186cdd29df27eedde19cbff8ca85fa840be35cd192e09e616d19997144aaf729a1bffd1b9202e3f866cf51436fabaa26598594832d751698898d3121cdf707253c949792dec717c7072887c2475d34ca8ce7881a2438e12b8b957d94165f6725a4bd5bd563bcc1c8090394f115fff869f857189151caf057f912e191a7aca1df7ea3a38d50326e9e278bd4200be403b59f4a994743506fbdd783a24a7d02e3eb10155db08cb5a619fe9539a500fe85ac6f7b66e46e0acb28a00f7156b47aa724c97a572606e6594df1ef7188071931c23ef827db3d011eaeb8652fc78beb7720e4a6531ebdc900c931c680d7b92fec5b60837de631579972094985795056e6cf3841b333f68018d4e81c53681aa8fae1be21577281ac070b96b197d4115cb54b532d049e68aecb43c306de67ca89375b2e45fad2d2e3d16a4fdaf7c5c651872952d8ba40b06df05401d5dd4da2e6299998d56c44a1fec7af0f706970b73bc7237012b22fe1de22e3d5b2008d4f8e675b65f1addea0fb5533a5a27160d3a0572c67d433f57be8d9255c66e1f8152fb5cbf2aabd1f17f5ff7fd6c1660947d5672f4f8a11a921f2bb9fa960bf9d157e27111f643e1e6f67eb135cb38a4a36aa272a9b7b54796c8a304dfab279c029f99d623ada97cdc852d8b73a907640e4ceb72680a3eb234b1bdd85f4171f4d96b9273662cb25cc23bf3a0b0597cade8e8ee72cc3a404f8991ccb9748986a5107d20d570ad29891c27acd2730a2bfe22aa6c489dc875cc5bf48e8fb29178eaef040484866433dcfb73e092482de86527c25a3f79f63aa716714328e72024998f08585901d62e8e911f1a171c2a8ab1edcb8e196a8b40c9125d498e9eceaab65ea315631ba7f5c6e6ece3294b78b737e9d2cf72de804822aada9e11642bf461fa9c424082ac7ff79472157fb9aafc61b5bf2615b10a87f025317b3f5075b249fe54d82e4754a1d1fd0c30d7ac98342332f1be72f066e3be8e7df6fef2a522399bbcef193f4c656513e1be4fc2b7e9262b6c3b727529afd06b68ec9549ef70b2bc0b6025255418b3965e1981155749602d357a721b2a816ff3642f44206bf98dd242e630a7fca74084adf365b39e1fbe9a62a97261de2b491891943f683380fbd8bf5f5675072a81573498d822039ff2139e8d721fcedaa849a621805e9eb4a7aa179fdb9077a5afe331414fff6fdeaf51b9c16a070aa87d914730443b60e531d1bb4bf2d473382781abc8a052a4846db35f427203fbd68dc0a33af4912b21c8f882e0e68f967c0b41a0b051a7d68cc5c8728b72da97cd9ce579f159eff64a1abd6413f68e9cb00f282100e51c855ed7448ab67234ff9cb48416347660a58df1af70057e7b3b3fc036c3862360bb267ee191ac5d07f007b811f21b5751df84618a0b008d52042a66aad6fceff15bf33b9222977271fbd12c6c55fa0a74024575e8511c37a8e255e7040d19fb07e41363238529720fd53b95842f3fe5196cfa59c9d245d8076d718d893ef2d0a80c1cf7a67f7c723281b6ed8e9ff2341a84675193ac0edd47b39b1cfe85370262a682e70bc87f393a484e99094d02280475159f254fa957198e74f744b59edbe31d07f94310a02c544174d934df6b788643308b62bf3db7aa840e3808e7823866891a4e467f3d4f4c0a558de8a450786b59d62302576616a837b4908e78b33d5bbeeaded788c072b2e49c2bb0aa52592bdb2b57a5fe07a821483400c14348fcc9940c3fa8172972430a282aa5aa51e42b69c1538ea2e425a38c7e3d9065f4517c36e4ef30e84872d2e07833380e3525206742f616deb95b9090c26e5aa4b8f39c87f5c5c7bd5e72a3433d71e8ca76de31a02f20da43227a63b0916eebfe21125078172501bd9572d9793d4467dca44b26315fc30d4526357eed6b01f8bebd7c852810aa09778e0faed807cbcf8cf3a2ebd4b0d57e5ff75dcafa3ce4e8b8f1c95288c41c512397725d5c2ae2d601f9080c033dca01e0b45ea1a9486cc8e5260c9285378bf62c2a3f7c9c5fd5e61d3dacb964f903ecdacf81dd98ed34a82abf55f03e170ca9bbea6dba9c311e5006ad0271cf193a64b94ed6432086bb90c7f68a224fa7a7a32a6a72854ef7b8c3e2136f91e1e1a0ac8e0535bd1b7fa2fa1d4d840ec655ac15538b7262a71e21bc7648355730b9b72a13873368ff666b612cafc04db6dd1c09ca006f994b364a0392e99aea2181d28b9b6c14f1190df3a82ee24b6baab1913869c7720903af299ba787fc6f105e7152c2ca423e1d46a1a8d21f0ab3adec2af9a88972cf84960b123cc02e86366637718e29b430091fd80195b8fb63d4a680e7214d721b581ce6765a0da1f501a83ab7b5e0d1d86ab4f9821843bbaa9a3e0b145be37209f224f8065790a180f34198621e02e7d960b78e99dbc71a85fe74a3aae5620b3cbebcb3b660d7ad4c9d7e759853fdd75277d19492fc6ccf3a161b07b5a0d4452168a2ffa6d5a1b3cefe356e5dd72ecb8e29a9c421f57e78ec01ac0677d92072d3c72276fb8fe13fbea3a806339293b125a5e7926b7d4409a2cd669962a990726e72a4899224b198d3a9a10403998197231497f8723192e5c82533029e72ed72f6baff7b1b378ca708605ca1888e49fe2bc559ad04ad630dd0a21377ad3ed51e7904768335f64ffec182b0bc2f464e6ebaedc75a96d42232a280ba87a37ce572fd60d642733b2187eef2e1a5ac70c84b45b327a6157ba76f047b71c8ea00ff72b26eaef6839128dbc7d5bfbd42adeb9a95f97b957fdfc5677003fd12011f14720a85cfb42e9f7cd04509f61640a9113405e534e84a532a684b092d93134cca12cb26bb2e5d3cd20b794c7812872e9a0cc8420aa1bc38228a75c9b72e9157a5263e6f434a4589e5a78a5d7befacf894071b7fcbd5a2c68eed3576c458ce284f72eb1003e2f5d1961e2eba92d693f2baeb3ad35975cb25a1681c81c355cda51d4794df73fcc098a494fb6875b691a235fd37805ce8a45ef7096f810519fc1f2d72ba9310d761a6c4a47f78e2211fe5531dec4d559240f708833d4de5f75aa4f8375ba2949296a6d5bf1fe948cbf8ff1f39074701918e3224e1bf77753ac369b77240e9b35b3d850a3b6cdb17ea37ce163e72c64b4f3ff95d2202c2e014a8ef967288e706d6d767d11c276612a445ba6d63c3e591e08e104a03dda571505b8540726f77ccd597e72680de3664a6d65ad37a14d1fa6738a86548d7f6f264ce1efa7210cda2ac1c56dab10db68daef7c043f6a86214b94006fc695912141b249c045aca2f2dccadfa443505929fc4184c89e20b90b23316f7e9b5978befce9d55410c624be0d9c56e63229c58a7a8dcc8728f7043d70a5d1ecc49c7c4bb36948f794a21a459c9755e65f2d3edbada30b126637eceeaf8b7df70d203c7bc6cc7284b5a01c9ae8d2dd81ef150910ec7099524034a213cfbd14de84643edbfb872e7e1727e0aa1da264d24dfba16b7455c165d52005e65fde46eca026acea9c3e246e3603c9643900d7ac106d8df5307197cf4b36a267747d92ea029c1303d80db4da97208a53f040011ad6908d3c0371f6658e3cd92ffb3b5729a2073e5aabf5f33710099feda8e6fca16534b34c14763cfd41660ed4809902033975ba8f0b1d08f6672b942313789d4356e92a5390cd6b8980d8b47db9585bb094776a67dbd81aad27227b07b771afa4c92418f23a1785c129c28b6dcd0f5e2416fef9cb341d3d91f242ef4328ef48d3b96f904ab0ab48c7d2d0b7630d7ec3119b7c9b55f81ce5d5d5611d9905d7162fdc714300adb43f207a09771bc66b93645b1a097dc4d30662a72f23afe38cd79e7ea297b54f589939d4537f806286bae4870b0d2c3e4f81e42725c07d6ca5b0a3747328893c5c8834995e06529c0e8cf882dc4a8618067a5ad3371d61913d03189d386012e290dba6a5ee2a574a768bfde11c8d48c001e7e9a3ce49dac49ba67e1ae64991fa78852b71d476a2665df62acab76c94fcd965a2b72ddc630006d15d0389c9d69c4b2bbea1ad18755f8b81e87603f4ea7aea7bc007248385f513821f4fcc4f99b7c359c48c5096d88440fe5691ca2259a0fe92c2272cec1db660aeedd3e282942636e76759d2780b76e560e61fd9e8e40c2fc260172d0fe0a549bdc082546d29ffa71d9b2223116593fd0c931f1e5e83c1cf4f5c272d0b30496464dfbf8675cf9e34c1b2df84c1be0441b1db4f156046b6fa2b45f72270ac014deaca8bba7a675d86631a4ab0222ecac8c9dfb15aee6f6951bb63772cb2fdacd4524564a7e7960b9819d21e1255624fee4dfbd0bf3da8f398ea55c72843bb33a62ba84eb0e64fa2aee9b6a72e0d65b7d7757ad334c7c32798a980717e6528070236bb30f8eef5ce45e178b19bec6cbd281a835ad6f40917cc040e87226b05cadbae1fea182336ae85e1520a911aa0ab8b1dcf7bca7bfcf12110ec872e6446d30972bd8456745e6b29cf0d3a53adb153837ee302a224f084af53a0972c16b5b972fbc484b16fb2e9efbcf33da97779a4f020cb3588347978146399b3f48b2999d7a1f3dd4758d9bff6774c049b6bb043dd50830a8200fe342cb13071961ff55864e23c311aa3c94d58a9da4ff7ba695df2c12e54bc6a206d09d0bfb0ef08d76bb273c046ea6848379b6ffbc9b72b84ed460780051bfd1766f3a2d69721efaee70134172cc7ae35d769a876afcef6f100c082c8a922c6dc2aee85b4c5f4d721f9edfb9b545ab4195b1b85e03d60d88f6e26c7269499c25699e68da907293cf84af91bb406d97559ae67b2c579c8ee7399be7d5113a7b108bdc8584463f89667ae40cdbbd772942aca5362ea2f7ce00f3d2fd0503ea65a1c75d1952fb57d3d3449b07637ce10bac4b09f7252f2a22de32fea8e709aa5e365315e3fcf872433853beb83767375334c1e6cc67ea8fc62ed47c4871c3d0879f979c34b1a67208c0661750864f50b89d8069ae865be2548a4f8a5ea513d19c834d3810b18b728a4fcba6626ed0236f2513651b99d3220bf5517a36cd341368df20476ab41d46bce356ff6cdf0de7df45041714c2fc2c7e18e57f14f9a5c921809edac03f4d500170f649f4036c41b980355f99cc6816ad2137de242acd989805e749a675dc724be7cd9898d2a27022a39e9552a5d98b0ba61ae0020081e37d5955627b187d72d83ed87b312fc07c1da800877888d3c2cbd6fdc3637ec9015f351d3ab06ad41d4b7074f0b07c4f24f304ea6acc857a093c9366784aa78b5cdde829e9928fb83733c5c51e02859f36075870300d1b8bdf335b47b3a54806d4aca6a1053b7cff72cbbfc173d0d79487af7a07ba223d529972a0aa56c0a05ea5d21460e556cc1f22c44598e3b30f1f1b9e3c5a853260ba7eeeba3068b992af0839c34f2fd30cf0081e3947c13b06dfb7d9ba0e8d036744e311f6cde810e3352ae9842e26b01a6950c1ed17536a392d292dfc97b34fc0fd7c61dc900f1c56207bdf0f352f1f7fdb70d5abb13a8854c7f95136b84d48dbce8815bcf99ffefb0fb23a3b3262d8195e54c7b665755e3250226c32016376fc9837e846fe74016043ddba1901038da13e65ac3e6c8f3e01600a7ff02b4da89f6f4efabf4f8c68087297ed9311d37045e35a17d66f6c6791262b39fa8809065a15c6cb4790c93a7ed89f4f15ade13cc685726fbc47f9b7c1a207efbe4f4fe8470b2b1ba4d4750e576e08adeecb1f35ff0b493b9b9512b6af17a76e29b40dc15228a5efe0973fe12fe424c0b358ec773d3f3c2b9bd5b816bda6b292279886c68649fadb32607870b13afd8531ee6f62135272e904b083d6aa195d9448a73ff0e6708cd4970b1bc0a0365719b2229de2c59b18a4b9a3801899cc1b94a35006bcd2833b8311a7901fb39e6feb63bf8239daba591e8d0c2c02312adb6d362838e577c5a3f28a59e83da4c7bc476e6b98f1316172b2b36a1984aa0d5553f4f78fae133924e501c9aea459cd643a0b7bca873fb172fc8a39e0d6551ae600c5e6ada5b1f09d51a21cac0021cff25c1d3cdac7aa9b72937e521eed734ad6dfcb8398026903da13c7c73d1ac5d49b8caceae9b5642e72065604127f50119b17cad9cf16603633a55944c5d67a9d80ee6a8c80be07cc72cb0e1ebd4ced12ebe4e21f1b1566a81d18d21baef30b8668ff0b25535badb61dc674cef23a17db8bb05f19b3433e3a4c6385de29086e6770d531e0898c0f022b960071e3113f724ac36518fd50d4d1469161089a9ee3cb1e5f1fc21dd2c591728137b08ac8f2ac32ee8dec06bc1efb961923c02fed3c11b0495c9af44a35897258be0a1cb5bfa9eeec211edcb51c15a606706a5d1f61d7011db98aaa25250672ee723ea46d7e0b25d41b19fea2547ed201f6e35cc246f1e85d677cff8199ee24e79daf28aef71bb7161a0a44f378c29e1092ae7fb64f31e9314694b16631e867f618e571304fdd1e57e1720506e9dad9e77931b8847e57be4a25a5face54197234543fca233871ce89665a5825bf8fb2da18ddc48abc271d8e3bc45c087c0a4fd085ff48eba549b2d657ca64b8e8ee1e1b610a3a4dd9403e63f9d91384feba7216f2fb1f7a1ffba10e5f245b11d7776b07b8b467d984be98eaf36c75a203eb7247977bda256dc68bc552aad1e5fb966eaee4113c1adb4e3bd62278024946b246034e67735357cdd7afcf8f704f7f9db8b946e5983543d83b34b5d8887b731072e4d5c85962a24cfb44e90d214592973318289856a1bb2a7c8737fda536f4f3598ca98de1c39b97f02d130ce764b905beee309aa1f223de03b3a774c7e86342456935207586d7b53147cdf485df3105b7e236dea7de52dcb3e2c3e9afaf72b57299fd0cb4ab3bd6059f8452cd3701ce6c19b502197f1bb14ccd87b1b6ba9bb717e827d682c2e38c3fd68636d3c88f8b7bf339229f314bc47312e4e509c6a28772e125f20c8376434894e821930d27364c33299e1b26c336a55281810352b3b35cb78e039c063125090a0a41a698ede18b067921a9f4b2a7b6cf9e9c2ad0d59c723223a471080eeec3e53cf1866000c477f3c4d6d60e1a5da7d171f3bda9d3ce72157fc9d58a740abeb427aeb8e0b0ccfeba99d6fa6302ff9beaa724901d72bb67e5f595af729922b91809c5a1df76ddc160867d6dc310f65b6a67e58fb4299f7219a67efaefa3c6768fca0274d9877efab6619efb8c413df6f31fa0b42c93787214c6e76bb0c6170d5099e9e431bdfa4d943daa4fb98fb80ac1d1dd7b85303e72a67ae89d1f41a803fe7693cfa17fa5a7cc2c460b48bbede9b862d9e65639272dcdc013d0d2f67534e491e7e45f1035b69d5f21f0444e3b1b8597e6a0790355727291fde1ceaf7f73bd20cc1eaee8fea472ce1772de853684bce42ec14e24fe1b17509482135e4e2b57f705d4b943d73581325ced7596e54d4a1090d144985c339047a2fac87b50d5d4ee6c37d841dd5b28afa0f89fed29843e718781e4ade672d1eb46c02725fadb88968c6e852a794ce88eec42eaa18fc6dc88452d8269c97244fbda60c6ab8b618b39a3685e2b0c47f45523fb087207a892762b3496b2b5721f8643307aff96526dbbf2c0acd330207e87480bfa6856ab74028f8d262d976c3c457d856c06a614cb4e36e7ec41d43272cf0dcd221ad3d302981cd596ea10728452771173009fa03dde8622b44f3238fe71c561331d6e0b5a6c83dfb273457242442adc98a2fa8ab68fc21a2cea82415295aa433a0f07b7142f5e3ffaf6d772e0ae20381f988ff72232f52eeeaf0074626f3d1a8d91446e3052cb0037c42172c5a54c8248387e17febc05f679afa7f6934e8880c821d8dd4fd6fbbdc5d20a35213e3af1ec2b588fae3c048f8f34b40d832ad6077344e2656976e23e98137d57801f0c90b24bf88532fbd20e183056d33642c529fc1d2af3706988c11111a64e6c4d05b093ae2583d767f82434fed8d536775868d5e03dcc64daf039dd216172bbc0416f6c1caaa61bc5e93c0e4cc159cf235eb72fe6f1a77fa9cb4fc0124c2dc2f0ed974ab9ec68a998131e24c36da69af77c08d11468f5a29f3e166be59c294bb826fc2bf22e26cc741cdc964ae8e6f68414b1f6885349121266d821372772bf15a11b68914477fb95d34297b976559bee59d65d3395a68583901063930972fc98e6594ec7ce970d9d5feb7e83b08ba5bce57069d9ec324fe0d364c707de726608ac96f37afe5e9e32a58f7c32c38ba0f68eef009b203b4d0a41b1f63ee1724bbf17d810bef604444c6010f14a99ae91f18cc2597881d74e0e87967afb7072fe6660668afb8960d67faa87ab0764dd8fe2d41a9d0324c3823c91260137f3417400673f2f5012e2bbec512e1dfdd96a3c57802b2f245dab370cbb7227785d720c4e3411039044472a2772ba7d15623a05fc44f2edcdb7f7e6f45a54b53bf572df1130330eeecae3a45b7db38e50b820416c9c16e20a66ade975740524c3d072c4a9a5e3ba8d187fd6fa67d0baf0cd65dcede7c5f69a7bcac33cc8fbde1fe372b85550b6b3867f25dba8503ce2099dc468dd1cc4337aaf7b3a3367efea390a72d7c28428a85cdf7a89cebdda5c2044770cdcc129780e48750c5160b78a7153721090d79304b9c2407d7d14cde0e6ed4b7996bac2a67fcbbac749da4bbf19ed7299b20f427f481f12976cafb329bc9138566c3d92b694f4dd54800dde541f4c72d9fe0f1a642f3a62c2512e592ae0d1ef70e7f167da4663af05b679f4a3ebff723df481fa7fcdcb640d8da3c1c0ae9ef057f4d75a55d27b0a2c7772101b7eb3726227f3bcf72f8debeb96602e031df364d7b15ab33b31a6847ec3d30a51158e72824a93a0b01ec34a1c14f321e7852d24a68b91a5d4ed0228bb2ca8a5427938720258434de254c421e1a7a39ff5916418a7efed25dee569e3e6944f8e65a4fd6557f68cd745f599ae3a48027f35f3f12594db6f64980e55b2de470052eaaef066e89c4524ebc9cecedb6c8bf6e6ecc1edd57388c2010473128e43548c9d1a2872cf9bb8979cd3110e1579683f2ad264c1877158eb8d8142c4ccaeb07cb7bdda72e4604624138e5615eb1d21ca0f45d29069f2802d3c4604c9aaaeb5584c10804d97ee12e99d80503a88caa8aa8f488327d939f3ebacb0d8b18169afeb81f3c372d468796076c90fe2acf57cf340c4532b5190be9acac03cfe96f3c30ff6c03d72c57b00f8a8601c661a2d0b176417ea621e7a45c1f6f3448271b324dbb7bc812ededff64dffbee241f8bb78ae6700701b3a2d99d704f683a3c1672948684d05726f4abc094bfb6b42e864b64e6c44e8765d874169f8bf162a9c4f58c6cd3cfc7285864d7cdf62e0aad1620e24518d50ceb3bd4d8a3f21cba921e1443131743672125a6962f5f10de3f18a487ac675f9feca3d3bd27d8b67a31ff601609ffbef08e8339353d92755d3a1da1d80ecd2ad0f0c05ca3d69bf47cfb7cdb2ae4b07dc37874cd741d044dd84763d37d2e61e61cbe856ca7ab21cedbc548ca9b2c1b8b3577b1938610582c926328530e8c9b97fb112d909429ebb5fa6b3310394b3828121365bf19c3fcdc9a466a117bc82e583095461b0def807e6b948e48628f772537267a026d110901f3239720291c7bb065f57d306588a4bcab8b80e5b29fd0ffd3c4e49582f031c13ec77f7ffb2aa06460ecdebbd25c4cb15c9bd2becf34ab8854c59376c1435c2033dfc461644975c917ce1761238b43e2bc639c789ce532ac85631c305df2fd6654c96654698cab0f68e340cb341b76003f5c5486bf114eec2721685c8763e635d75233d1cab35079aa64051450be5b439dec54dc531e7380861e240c2e053c894c7209e6d54076985bd29c40dea9453f49a39f34b1f157df572a366c1bb8d79873cf0e5972b901dd54626cd3663c8b5eb87996c40c729808a3fe90c4558c54997ea63a223295ddc4f489bcb1eb82b5f433d508cbdd675110672aaad5656488530d6205c34f81d36d96ac2e9ea3111a866ec02b94db4f85a731fb4cd1cee0c27ba136451b84237d865eaec1363d187d5bbe2c0429debdbfa63665d4de4c3d2405f6a356a7fde8327747fa258fdf5a64905d5d88f6682684d23076a9c6e28a064d865263efed4f5c0f844ed558bf41af0401f60de2de8e4633f1c60f02fe0a2831b80f6267568df8cea20c82b2a61c10b41a61078ba6c34c43372309264cbf2b015ac54795be7050dab015dbbe982a3c9ffca6ec5451266aae64f2d06121ee6c83f3fa1f5096577acb6123240db35d9ebfff51959196810bee372d45e1cbd0b776d24fe40400a5018414e71df203bbf7c63b1b50aa7c11e1fad72d1ae717aa28524f45a00e0ad7ea7d33ac0dd68c157e09f2685cad529b378415a066743ede630141664fd72c41b16b1bcbee3d13cbca5c01950d946e7d007894eba789999741d349981d38eda73398a96bd7ae852bc2a0c7cf1ce21e294ad222328f15f5f6cd7f6915a0e279ad72bf75c54eaa4e8dd8ee9fd3bafd208d0ce20452a244d1430ffab96a1f1a3920afd8bcd8bd766c8dc042533fedc15dfa443807278d6c604ec7d08883d3728b6e1edd31bcefe45635d1178e0fc25919a6fc14e0e471fa8142192dcd0f3811ef1a8267d44587ace3e12ab054e0e7e1a417e502e723baed9afa5859dabf4ece95fbc304def34d078d7c1445bb8804b83ca3b9b2472003c6fb16f867e8e02d5ac0acf512b19c0b7466530477d87c61dfd75d27a70417d79580595480d7cd78badf88a4ea0610518f5dcf3a8cf9499453f6c7a37d2061049d92b23c381671e8cdc283fa9dead962b537c3b6ec0bee738dae87a25ba69a5a07023d7d9c503c9b475676d8135c600edbafe91cc4a7dc8fc25ea4c9bb611bce4c9eb7e459c825d98ed04682fdf05d4af5233ac51f7783c5d0bf990ef0d72ba630c021143beec2226f2f6f496c4108f78b5ffe7ae355ecba77a0821bd7572151e5693d9693677b461f5c6abe458927014189cd431f64e025e7d4d3cdb40568f234399b26b73e55d428c31458b238f9332e6c8365104b5e09d3b3cbb0c2872f73b419707751c476fd9d55389dfabc0a4043ee53a05b557667478b49001133d61b6196f8915277d1fcb0f5d704dd1190a60378c4a3236d202a0bd310d25934bd84f62093764199131430c3bcf04446e9929991ce6316fe61a7c95bdfa32fa722a89e751ba10a652d365d268f0d792efb23ba7a0b39437abff8cbe58ff62a57266c022afedf037fe2279e63e9c23c73a580035495991df87c0b47507936c337201c9a1950d81d0bd401fcf7b02ff0b0a97b49869e028b92e0d856f6ab4d56172db3ccb2017bdcd6860c673de6a59da6f3d1959086b45eed7ab2b97d860adad245bc6147d74e3bb1bef685cc649bce019897639ca62fe2000059b1fefd1d68772cc22d850b51d3d2c41b87b1f40e86a0a32ffd86884f7c7757e1872dacede7f72349ef0242f9e754cc5ca7970c26d6958a07c2d477ae55f0f960c3f3e883b227205483ba25b39cd0d0563cb4e917d84d98bbb89ccbad122aa367ef932fe1c86726d211404dea1459ad269332949345b8e2168c729e329228dc3ca25401c9dd3721528e5d13b9e5762e9a166b10a4013dcb6ebf446c7fde21c576c98f203ad0f72d1f8fdd92e5d4ff3b29ee60d9b78e30dc930286b723e9fff7af174e6bf055f3b3c4d291ec013cba3c01d90c9c8b70aeff14d028d280efaed836cadf8d9003072378ca0c8dc43bcaa67cd6a10966584874c640c85d397c49817b4806b85896672f33e067123f362dd0303cb82bbf7aafdfa6d2344c355857347ac048f20d23e726d8be6dfd350f090160c4174f80eea907d39f6d938467fd7bd7fd0a9f161677207d3cdbf0e55f840f62f31b7dc2f1b75add95bc5053ded261857afdc1bb040727558fbdb47b1fac7019ebef9b2c914b72ed4b296a792d2b8bdd2a86ded233c72a2f1b43f4dd8e3fcb9c25bb6d3f6325170cdca455baa70dcb011b046c4eabe64c3676b009a54bd0bc43cbc41da97168d827317a55808ab064e6d7d3a6a54df722ac20464f19d1a9d4c6a438c8f252c4d3be3457040ae2a9414b1bb5b020e556beba7203359b6ef1de49fc5ab6401aa9c24dafb379f28c4f224d115aedfeab75544a18c6184d4e952d090428f1e617ca17555777ef9d86e9fe32594ae4c49175a87c27d354ff2953bb33d814ccfaf851a2faa751325ef97406fa998863ff2986e576d765fe921c9eb11845fdaba72e746e9ab984045bbcb8c6ae4ffca7d8aa93d1631b2b7e99d755922296f641bcf4981e055309f06f6739d9fdc2086e5ec0b6d9b23c4bb86eaa730ab6f41829066a5b2c0db5bf70b289b2e68051f00cc41816282b05709511b59e4baa5cc394ee335a3e3c537366b825d96df2158fec7a0cb42581a18cdf0e7119f2891ed5cf501a95abc19fc135b24c5dc58091dc1705bb107370b8226dea4f5e87aba53b3d8ade518f7f1716685736121c0ece63ed7f13972b600651296c5824e970e1d1a11342f60a54039077ed4d3822b564cf29ab4f4728b087003676079dae6cba2a12af0fcc0e891e6caa2f7c68d3852989312330c69a2f83894fc9d4608eb3c9922533388bc457e6ba4815198234ad3840501c35272f77b13bd9b797ca7fec161898997a70f3de666800e3e1e8532fa5ad8d3c11172f515f329a456e9809ae615720585ed771384be2e164f912db4b6786d8e30f272afd71d0c453819bc572a5d96bf323d058737b2d5c753b793ccef1aa1f0829f4bc3b0b2e720eba0639e8e13e2a166e5d217f1cc4cefbabe0a6cc6bb8f08b44272bdf16853bd44c4be48d7fe6afc360e10a5ec5adcbfc6b7224ed206b3e6645772352d9defa73bc2ee1f642b4347f60d4fe9eebb6ce25c33ead904f63fe3fb2e4387fd7b315a9606386644823ea1a2bc7d66c13c85a17ec2745680715a294b0d72e9b55d52cfc62e3b016bcd23ff6bb31a5c8529a583f37855c945f3e599de013c5aa51cc4654d7f3b542c6f51967bb14cea9b68f161658fc853ee23ce04b64e10872309f1ecbb50b3e5b8ae5a373f1ca6e56b88df3094d923e24a632e5b77434567707e9fb83f5c811b02bd84e3e82aa84137774ed39563352e1af9005005bd72b4c6bd01bf46c5029c8951c936a64f14421062032e6d96365e31de601c61bb6b8adde41b564f596aa882ca1919f7e0776b4b7ea4659a7c9ac14eec710554f30ee36078096d3062180bdbc6d7bcbddb74beb6ed7a182c824e09ed711655f132728ea42ce4d834a7807c7f42d605653cce6fe30b4fcd345f5e7fd3db4e2ba7a61f2738e51ef877b2047abd84b59f5df93e358601be37892aad704e69d20545fb72f2503e459ce761f59014a5e772593e4c7410e80210ff3c25b637f4f7a8cde14df9ccb4d3afb8f929ad49bcd565f6bc84a4c98c2d82b7be8c365603080593f71b67006b30c12562b2088e64568b603a83b05ea6be0b3d27bada20b9de922c0672be727dfe79d22d52e3f34a879946f711ae93416eced3cdc23feca4761c05947268f8ae151e76ea156b35a52372ed3a313f3e1ed29c01d39318434f73871c336c7109b5d5b51facb8a80d8f844724a4e3dde4f917cca2dcb518e429aa7ca21a724da150c323eabf2bc290674b32b2d41d6284d2debe244ce104799933732ca272289c27c12378dd4cd8507bec93087869114586e7986e57368323d7020fa9963ecdbd1f98f2760bcb6591bee0bff294f1a8532463f202f51dcbb6ac3c82b34f41c5f5b23c0a90320d1a7ac7cf83fa29511407ccfe4e47c4625373ab1f607503720ef8f4e10a4d672b6556ad89f4afaac1eb2668b34a9167b9553a67bdec3eb6720711a540acd8d2a74f420105ce2766505398111bf8d64ee4446dd3fa87c63e085eca13b8eb521ac309316ad2e7654596abb4a8b9bc7e20c7d0e8257c2ea2dd4126dcbe0044fd00afb7d9a37f30a00031478416b5fa5eaf85f7f1069af1f9ef7232aefba3aebaf67a45fc95c2e465372054fccc178dd208b2c65264469433f672206e6a088a318bc47988ab73d35459d55fc92cf06f008a6f1324fde49d242902fa02f8303bd40bef2199eafc76b3497babedecad3604ba6769146df7e6418b729203dc63ef6d11ad441d2e61b93ca19c8392609de275231983ba3bb61aa2e372d2956c105556edc0bd2c318963e82cf03fd422f961e696ce3886b8aba2fcd0323dd2a21ecdd16cb4c5f87d2ed0a91c41817dbbe076cdd73a5741035bf919cf727155befedd5d094fcdb847f09b3351cadd2246286a28bb3e047259eea9223d72a4c18f23788a2d7015cddc81db404ae9cec26fc18a3ae585edeeaa55565efa4c1168a5188b9904047a99f1fa0eee068bdb7aeb8fbe61a0905bdea8cd1b8d927232e3253f4b14c3cde1b3b4ecb1f5b0f94ca5735f7e7f2716ca268dcea4c83072f385a4b0590e037afc0d59c5feb3a53bef2557dd0615f4c1d6d351617bae5d3a74caed56dde4f729a907183d2bb4d35fc2f30f93efdb1179b9463ccac9a56772c3b2a0bf76bccc692403c988084600b9f1ff8e388398c64a51325efa2576f5723d3840f4328e4a1396494dccc3a0232c3d2f9d70d2ab13c548fdfacfd79b3d007e278c5ede55490945cd374e9c86fae06b1ef76f1e52335e6fbcf54ff28418542c4eb1b6906c274fe9af98dba401e275296830d85cd6853d75e36ca6829c7e7212c2cd913ad4649412b3ae1a175a45fc04ffab48451bf3a6fa56dbc87aaf0b725594632ee8420d93e0fea90997616a06d2d5aa3e3dd1b226754ed0a004ef8d7251c21a19f80460b6208fda75fb29a5c32b19088c252fa5d165cfd415e3a3d47220a14273767f96b2a26f912051e69147ec472c019c29909f3b7e202f083d31728689237470b46787df92058774202ee0fcd15f6171ee307a3e5ef9e83e58842a32fe3854914abb61f16be4501ac9d71277868ea3c8ea040a5e413400b0746b2b08ba42a5d5e63931020771d2c153a20a356cf4a14dc999db1930c864e9fbf5727e6319ddd9e2af75ecdafbc69daea0ab3b18d37f78af96fa04c3673b850a31006a15cf22b5605e311d61d8354da56848a0f5d9691ec4b345f02e2d4be5dff4728fc093d1ffcd8c795e9382098cebf299b68ef7a56b0c3394378584d975ed8872d5e7cff58eb469896a6deb3eeca51a98e8990cbff04d4d45064a87b7ce7a09529f465f90ed600386d57c23976c92b08a8cd151f5da1771dba4d4826d9e26da727ddb25583c6064509b5245e2f0899b5d4117b74a3ba22cfb9d87fad70b129f0bcf3fe8360b6d32b5b427ba8bc0d9402892f51b8e999141200ae3076aab6964140ad3011a873f79b3b72bd2c38be2288b07cc9bf960c337c1cc7d5df10c60ad282f84e8bbb47a6093b71b9f6e1f864be622b074a783cba700d149745e2fc1f372f702ac57334edef210603eedb2049e07bc821829f9a7194c812a7c63269e346e3afb083dbe365b395fa0096aa97729fff2b0ed1be875bdb634ef596098527f728d3707a7821e1b75d70b872ddf1a1f5164173789fe4585e60c53474a10d3c466216755f0099b862c8706448590654434fae88e8bad0cb77c6a01fe6da269e611e06bc0d880c174cf89e5a6391471f51ae2029f931f01272652a761513f58a772d36a165e6d23b62a286cb574a91e4ab8b95fe791dee6ae238249d06a5398cb72fe05dd11f64dea009a78578a2ec1e175c4d18cc8434b81a6bcbc732a2a68ff729ba0cd29f7dae9dda13bcd7b61d90fc967c7d12a37489d86b1f0c2ce10f92972ccd0df103df98a0619dec974359b91a34404842ec331f590f8b00cbc214291720db42856e8e4dcc2cb5da8eba8d12b114e27c2b7b631e735960083bc2fcb1e7239ac2b146d40604d5404b506eba7f05287cc2f8ccf50ea181850806894df745046f9fbc40b00e6ff033134404a0733c9433ffaf0328b6936e567f7aff49df4726f80a5a29535b41a9c0227102378b82650f792aff01bde3963b5be042e661b72be662dd93e72bdae1e20bb7b6369da34150db6382599c5abba40a3575c5789726daa4947c6bca274d71b5ed64183d367a2514eb42d92f05679faeffe7499d35b061c62f9398b3525a304545eb2e91d52ac94738ed8a4902f7a7417b3569212726c44827f8b44633958db8db2f754862f00ddf9f7d4b3212eee32afb18791c0721ce56d259457bcc7e2650e16084b5433060d3813dcaa79484d868681e397802006cd3247297094a0ed539a27d2dfbc4fc58a5d168347aa9926f18432ca9db714b8a8ec59dd70198a252d9c846b78cb41cd424df391891c3a8786ec71a50ff1703991448b49d2ebd0cc12a840ca710404a2ebdc21c1653769787e9f3812373014f77af321fecf30d340071f929e57de7a40b4013a60f7192704a3bf38d411aa315e764e7c82f692b616fc1b09f2a17be005bdb0b46ccaca67f06142950949374525e7f57c3fd22bb26a6126f67ab0adcc65351b0f69bb945f45bcfcd35d99d64a75832007fe44d9257cd63a1679b023a4caf04ec364043179dc877b1b6181847289c72a216c7c39ed5cbff3d62b9a13a66f8217731f7f2e2c95a29fcef8beb4724c51910c695da5f76db68f61c28d2990cfbe6a809f913fadc61d50beb61fe040d54109bbbb8f6803154d0ab7aae6fd6f3c25dea5574bc6cd494ea7629cd6e13221d71ce6de4d320c492b99cc7f140592478fb97ceb21f7d0ea07b0c2295bb47200b446c827a98224a30beb8beec23415e50e1a9466f0719b6f9822b1752d5672ec45d26ae09ce0bd2661d1c6d28cdb7df543554989a660f353b451b39f85044c284a9f32ab478b84a1b7167aedf6c38e483b7efb0278501dd268e7ec88455b725fdfceab0488fd79e704c7f1dc0390600777e9485ac14c37ccf63974f7c475643476a4c924b723b2d0df32e394dea398edcae2d2005075aaa6b49bb0a99ef2724a4fcca8999a20b3c4ac09a22737d8151383424ab5973001a4e06e56c6423928db6d332a84910e9abc470fed59ff42d6a0280ebd96ddf2e559e1b22566776b370236afef01c3205f09df429ac59d813fc9adef6850f1003e5e709847e07c2e36fdef41de817f701884c3b34d839417ce8331bd2784fefaa1c1236c0ef67e9645d37da0016d9ab38fb944cbe5964392b51b411ab1e2fb4349f4874e749f0d5c0a9740b85e0a40cc3dd39192bf8dea0502f620661d905fcdf12903859ce3c03306a0645fc50da5ca32b1542f963d70d7f04585d1cc3d0f5e56657250ec4da8d1034a0090299a10928704a17c1de5d3bdebd7397cc9ffaac2ed5f324f4e05655172727477cb4ef6e4f1685d8f511616b4b270f8ff229d3e43e2b6d14fbe536078723e74162eaf365d095daafa7765a29780093bf24faf6063e04f73acc1a43c1204ea8a067d195360b67968cdef43c348b3ae9361e8ab2e7772ee281be52bda375d840bb1aeb199a492e4a4818ce5c669735798a18156f1a0450b14e9f6048e68134e940a6e6c604c798931ac2f67fb2c7f153dc81c7fd81dec6b75a3def19f0872b6589b307b77870cbd0140ccb01e85d556e5d9db9bc5546a05e5e13cbc595b0841c9e6fb2807d988c0620dd3020a90478fdad3f356f6700999b993e207153872db1a7f671f3af1714fa566893f41c98cc5fbc25f1a7ac760abea60ed93bd9b7248f4d2355964fb097e065b82144655d32a5cfa5b405894fb1ec12be96163d972509845b369ca73ed639cca5ba6ea8bb0ee477194af8bd28279a3e6583817b44e09c50899a55800488d3fbd4c3e4a43f07cb2aed2afded9ab14be9297eec92c72889550e8370c1e6a0f5fa304bf33f810a46ba66f825dbfa5870956cb3d207e72dd5ef3be3e6c707ca3da425d4f8713b8932c328b01864d1a9f4ee8b2bc47594d8a10490974c5f50ce428e56df46832aeea6f8b8b9106c3a00cc3665c67de0e5495f88d819e7d993a29e49f24b830f187d11535005386cb9a2fb58d300d30ea3fab83b87c083ec15fb416985d00a2a85cbdf4f60772bf2495b2c7060dc54a2972dc100d56a84a3eefcf6ced0d75e0b691e2d09be067190aa003b470aa7722ec5c77dd640f57a61e5d400d33227047484a9a90fa4269559fad5f30f471dc0f0a4de8927c3346ef92c90fd5509382142bf5c468a628475776f6055a51f14094dd5eeef256e3bcc06aabe264a8030f5237fd74555ee0f59085217c9912b86dab52723fa2c573883f1fe9ed4ff693627137b6f937f518178985ac6fdb7f66388bce72ebe03e527069b6f86c2f3e497cb75ee526b72c56a00eae57a4e4107f17bb3472e741732b19608c1a54f75a1b85e8084d68ce684e28a1682e66d3562b39f27672c45592a0d034abda0a8cb17892175ae5c8ee4f494e0124b771f5d470312fae7242e569132db0e3cc77730af6653e0cf0cdc1facef462dbbb170c1b8de693ea21ecf9f2ef71ec616d37b4d39faf3bb5b32747ec2be188dc9b3a39e69c0d68227270daeda6e6d6f54d8d48f89e5e4f4dca8d3537127f1a705df3fcdbf453a7e2724c4ea60cc2ee1aa97f7829f61b73fd883d2dc3cadb6e416fb98696f337080c2c82c23614427fa18b9734b81f44abae525c22b7dc10ea5fcd6b22e9dbe36e0f246242898878d7f852aefcd00e14c2c69e9e64396ab175eac19afd3171f3384e727c8ab599aeab55a1784341ed92b9329de840c1b6329cd031a44b9e372421d3721ae8563c293b268f17f86a5f23ebf121223efdf2147f64111454d6a94be5097258194a97cd5dfae87e7555d013821d3e3128aa73fb0c97a8605fea278a6f3a72062a5acfc0221a900cfab30f639790e49bd285f9e03ea754d7a2ded51a826f2b08520a4b2a9dbfefbcd76798af5a7029b0bcbf0877771fc73901528380f62d72f15c7a9bfc89d988818a794dbfbef7814a103ed77ef639d06361acf158244b7281daea2d8d3a1d888b36de70ecc4545df881d8d8481a9af93b6b5fa8b9da1548b9bb2f7edf0c61a77026fe6b002d41ea95c10931e7888527b7ad8c3fcae7b93fa3ca8bb764de191e80f6df805a0024d60f1f0a4a80c018880260d217fc844f7293d6c59ec5eeb712d991f9ae6a9405ce1e815c509d42c5f75bd6771b97f76a6e448ede96475b058bc2f7302deaa3689ef33e477406e5b79c003f2555ab56e3729ca1928deeb68d3ee08c61cd9852796fae1fe0654b3205ff405e8347484808721976f217dc4a67fc193e7ee7d414c8a09016a707ce79ab17c7e4ff637fbf4614458ccec4d4dfc94717e140b903facaec246a348fe1da41b68c4d824cec15e672f815040bf78bebd9294771ee5032f039bfdecd24d096ad5b4800c52ea34c41480eecb78364ceba437ee07f7826654e4cecc7d7896fbc251bee950c7b700239047da4e0c5ecbf9b894c1664ea75ff51ff97f70b382b28966f000229120db94661fcb143f11bd5818c13838b85bbfd652fb0c9aacffc6092b482e3272b9a1fca72f7cba807468551c29bc3349762199fceea2a9da53684ad69e7ce4e87db535a6a26483da5213279b73eb0a99c8ba57b8b03394fc984708252f8c3a188509bc4541b6e93864175a10234bff4e7c46f7522028952b6a871a8f424fd1b6bcd63f2729f925ee06c9e87a00157c51dce70e6eb448cd726978084dff1e3b7c144ad5d5834a61859f267458fbfa8479824c1db8b831cd61c4f922e789a9d8ecc3079bd726c34e5383c1b16c6d224346b2b575985723d24c31ab1d3be2eb0b516421b2a41f7067c250cafe72fe69a05e3e5c53231e4e8ae19ee29a4a8b6dbbf3c20a051233681db386e9bdf06c46e45dbb4bc724b96f887584aac87e62eb24530a5fe291f715960073971d56b6f94771902a7c15427e5dd86f038a815b02eb8d2fc604e1ad2e92ebea6ff870945f28d09f8fad68525e5abb5c21c9ad74c29aed9262236721525aadcc0a266ff6d198de1ee2d64754381e2d2c0646623957669726eb25872a40183b00818daa4e974ff30ba6aef2632e37580ab046da2ed526eca9b55621ecb30d4b172c14f2f7eed88cf1c34265412b247393ce0804da493bb5b793d0a7262605424c456f502cd7561e536d2eea0c4f68088e206713272d85162c316742fcfd75e0818d5404146eb83b3c4d607b5becefa671332c32091b7fb3c5d32e272d1606d283178d3102ab65f66a39e35f1e2e1617f3960d839fc4fc9042ae40572a022b90c400235f3ef28a7677ecc0019c6199f28bff3f7aa2279e1ce24111072a8e2c8a1d1f45730a711ca0b470ff2de8eb3d0f053dd2305b46eb1240615ff724945628a02c774db90a40120f74788e1a26a4c68f9674a8925d1b8975a436e2539c262d6b22a528609b38e1e0e7ef707c9042bdf056b3fbc08022fe560ea6372c37b59159e4b7ad46291063a290d20f79f40e0559cd54686601cc5c26c2846727d93b814c6e809657a771f3af9be9288ee5eab0b5c4a0ef99b1dfe9a523be01a7f1cfcb1db2d4fc3c292d1994fbbeecd8488a150baea632e0b8d651818808c4d04c29561615f87844db71d2f8c03b90c5d2c092ce920c0d4bb73e35d63fdcf72ffbf510d01da09d1f0d7e867e605f7876828c6e451d6cbf3f50e3ad1d95bd933906d40842d5aa5c1131b9a6df6d905f74d07870d574cae26043d656bae95e9729ac66c411b301a0a1f4490ba824700e1e4c5428e731f1edb4063e792a3e96f40a5cac6910c20f4327f48369de3f7f7f942d9839c80bd2e15afb03b6c4a029172a60dbb628b48a4c7a43d1112127d8fe42aa7959a06c8feae2209d0c41fd676728c0f37090992d76ac3fe2c61a5320e1de4efecb3610f527a52e20e56655448575338bbe6faef72a31fc2e50387cd85112eeed7b830ca3ceba0cc2b5f6bd7532419609b77779de3b0b709e799ea1f21dcc366b465afc3caa67b34a756d076787296d622f0ddf6231ce811fa72493d23dab5fc9b45aff53e924ff786f5bb370a1266298a3add22579db977b2f1fd4236e9c72f98da50f39f8a985ba41cb4b47e721b4c60a337a59a76ce81e427aa04378827fdfa6431b90d495af024e48f5abe72d3ccb628d0afa7e9b3911ae1b212ccf67ee488c6b5ca0adb591ce9d01a3e3f7221c728c27e196d44816d066553abb87f948aa802210832e3489653dddbcf18720f4cd56747d297812d708f669bb241bd858d51372e2a1c152b0d4d78cd3cb844ff4d356fd9217622d41495b1cb92092c5d54f981fbc50844c5f3f9c73235c1374bdb2fe18cea42b68758f1f16d37a2db734ef54550de3562c72c3d6a55712c72ff24ae43d99684381e7f11444530507428044e32a0b9a7292ba0389e1052da1bc307ee3e9fc48749b4d40e42064d9917b873689bdabeb2d15a256662a0d33f72212702d2226f6f9ac0808dfb8a679f64654f3f1e6bd0af06ad0ac8b18c46d1720627fe3e7d3147e5a88f8848e44c8185f9efdc4a320d3c82c49a0b0fca8744722b7609f1ad20d10cf39cca404f8fe0a15c4db04f2c2979dfbe6c1e032aecc372968365e9e5f9fa72ef1d019f7bbb41d1890e82279c8536be9432bf9762b07472ae500ebc4aa0b9a4ea0a800690717b0139e0fff1bec972d6759162b0d653727274c75fb85fc9a48e34921c5837b5eaee6dc97cde3929b732f82f18567ca8e90bfb8529102ea632771b9a3062e7c62f9d25530a672b5b07655b94a74e4a1f7427133cec0d25c8888314d4b49ea8b8cb6c3a9c0724312f890b9b66abd28435fe72f00fe544c4bb9b54d7ff959debd829690b785919a377b79e9231cce3cb5c8c729be6d455d32b2ec502dac5467e8b97bb14721a686e717bfa067dd709896ee772342e85e770307fd509b81a674adb8ae5e8df44a1d23c835cf19ab46c0c1b7d725ce6ce9c60c61ace7dd2127f34277d6568e30d4329ef3e73dd6faba2fe765544f449eed1d5896a9b8914cefc40fda49a1ad99e883bd3cfbad5df59f3fcf858728c8982f49183e86238267620232a70dd00143101f93e6abb60ae56e43f0b19552461e97a350c99fea8750aef2fe25ec833fc5406cc40ceba959810e48c7a88108f4d12f5dc4359e5b4a805831e30a6f619f03180693af444c3eac7b71c1dba72f23c3c23f3f827f5808b347cabbc03a594f15c36a17282f2dccb9a163439695296ce2bcea5de5a62bdd344cdb418000687b8341e1759c378fb2fa47496e84d359cdd82b373c627c6dca1a031bcf52673afbf3187984f1a9d9a16b3f8d4837d7206bfb01c106e3bd7f60c975c38cb5d31edccb80587fe6980b6be9eb6bf46e54d1c75cd8e767975abebb92a81dab41463de672528b02830b74293a9fdc3eec94bea0d551d5d483c3567307f943821fa7ba2589aad8799dd230f1ffb87de120f326d3d9539a2701da86fc03933e80c696a5b7af9325892172b560344cfcea0f272b99f0db038174d95edef1bbaf47bb8065dff56f57dfe65bbb239f81097fdc9725dae8813cc0ee130759429ff82134f7b2494dc3c1a5e406659053a1580c81872d4b39d1867abbeb8f42165e5e7925615366812f368b60aeed560761728add872494c78931a53d325a82d15660b919834d4737fc7bdde0805561c68bd23ff9a415ae696ab186cfa9afe355da4b2750ddcdc2fccc6228f49c19f8b7402a371f60529d5de321b70034cb783cd27e540795fa9a178f6fd8ca5de08f167e2f6f7e172df06e607db12894ce7657a0fadc92025b2e2c352a7883f2f2551738fdc7b6772499ed458c65da929ed796f9ceba260bb5b9cbf91754054112f0506d4fd585372210a796317d37e4774c8ce4b204b878812196e81790e1719a69c05aec8a953728f8a6fa771bdcdee1dbb878962da5904821bcf4a7e903f5fc8c705c22c6bcb7235ec6466f71bdcf57130969a92aa392207817c9245a77156a586cc0f6bea292a308ca057d946708cc984139e0438996892759edcbe38c3755e3f8770bc3a4972cdf0d9af2f8e48177810aa03c8b25c254610ba26fe4f20c684c348d933c7e61b4534cbef313947d81ac009d70df293a270c603279e636281a5951f27be7c091145ab792248f529474d642fa8335bae1aa4a8b4fff19932241270b5f86ddff572fdbfec44acd69af64469bd78dba0c38914db0ad6824f2304e7c9dd3797e5d372cfe829191bdc0600ce0a25ff8ab850fb7e0d33cd30533a050c59f7ec540422724fb3db4fea9e5e5d54cfd5035b0d1d4b2cf4878d3e3a9b51f7439b41a18b1a59a5432cea48f310880b827848beb4792dff12dd846e93fc3622b7074846b29c72c94b296864ad9de78e219def7cd77a982f82a2081277e562a95f479ad0f9b672d494baa55b21a039ce6d8b3ebb16e46c822165141ad8685414544ddc8ea45a4920514c2c4655c8cba9581e06e719799fa95ce156200036358fa10eb6750ca33582ce311e2c2efddd2d3def4361e673d48f29e2191a1f1ed8f12487b71a5e784a0f4eff1bb1a7ce5442fc0ef893eba36a52526acca4a0927b9d4ad976b2acf22cf280ca38da7c6e9a4b6c69de9dfe01e9258f9243ab5c2d6824abcee0ee8e540d0fe132f98144dbdc4058629a9136521cd81a67970f4eb2a841a5531313546372032c2dad813367604ae4bc4033fbc1b2d90b9b253eb86ec51ff75b7483343e72baea396c01a7f113f0d1fcdd8f1b81a618df53c862267d95b904c9ed710e11485eda0a796ec0c58c803410027534f051b0f928b1419f0c8ec60bfe3ad809f172a02278cf82870450631c2e241d7d11528ed72e690aac588a567cdb88a0bac071193b5ec69e1cd15e97a594cd2a812a97da5b43a6de6d06b7b6a9d672f2387972d873a5291186c3cddf477d7ff24ee5ca1c058bb1e0c8f9b2af0a54354ad6d372843c9bd350ffbb857bedf570635425ba53e2e7f764eed633d48c152228aca27208068647ca971e044fcce38e8ae6f1dd74ebf68aee5cfea253fce5ddda85757266d281c367e33f3a0a40b6b36cf54317ec0646eed659902893a62321ba01e47205747f51cf45813d0ead51d0e45383ec6c60aa457481bce5736684733b753434c458483688426816774e40f022b28116e870d6f7b19c9158cb4f64dcc002c31eeac37631154100696b4313460d062a68f2b2033b422e1481fdee2ad138854e23dbaf129cac5987b03af252a9a5c9537170e7ab7df6104808f3ae23db754a2d151fd96e32cea96b7304b07aaa4e11253e7644d71d4596275687e103e0f143cf724842e2d758410d30412ce660ad5313b7d8aac3bcdda1a4edf7c82948baf23072fd9d946edfe61cbab35e93a9d6275da9eb7b296f0d2f1ec137c28b8c699c44722b425ba257fa456020eb4e65eb79b6ad74cced644b6c5d2997789c9c41dd366e70fb18b15d40d9ac7cf17323260f462545fbbcc67989967e644dce3d7b4ab37245947d6efa159af94f1356197c0b9a373c90fcda3457844758377fc984d4db72899c8bfdb6c5838fe99a82400d78f770ded4ccd873f3e89eeb8cfb3c225f557290c26f4fea873f5c481f8f5faecdd379aa1a1e5aab868ceda1ed41e0e8a085726edd31c252d365bdd347458e5a88f23cf9a3ef81cd63ddcd5d0a8c2cf8ea2c6063fb74164acfb27de3e177861a1e947c78503cbc98ff5f77bc93b869bee6917217d1b2cb2cf4e8a744619487869f40f0989a07cfaebff3cc97144cab76b27f3bd5110154b083442fb532a3c3c80034f22e3f387784e165d40ed65287da66d65456f11540b19f450fc6c53606588ac6a5e57a85fd6de6463c138d682acc02ca72bb33feaef2e186cd905a1b67106e118d6eb6abbe9839740556860e7d2afb257264073f75d4fe779d4bb0b3c01a9471663437ff97fdddc439bd5296794b9a296aaf2f6e42f601d3f01e7ca3becfc335ea92cdfac5952463dee2186eefba6bea722a4e8e9a9510756b11891ab086d50d56f06bc6018af61d677f1afc7af91898722f64b02a346bd178f0713d04c651fc2908c7c6ac743e8fe8d7907105aaf41e7234f48c38d1a550de8ee45abbc896676f2034b7dd63068f1ffd455ef27c16e672cbde120fd906d05dcddf4c4604ad4c7a975b9eefc65eddbe8a1ae92f85591f37a3ac36964e03445b2a935a4ee1ed70d7f50403c1451fce06b9b7118b25836b72e0a7cbe37eaa937b70862e9094c9c9c2b371bf41f1b7f4c1bfd8d6614626b97229cdfc80ec0489d76bc8ee644c80163d39d5ab41ad107d92493f41ae72c2c41a63c027529f3615c38afe63c94c76f100a1e5fbceb7e44f35fd5ce4732850f902aab16bb1dd7339463a3a4edb2b574683d200d4eccebd0c5dba112c00c0bf5c0add5727a9c76792bfb0dae1a9c082d4b5f0804124b09f4326a52c8c9af928b772b8a764eb908d3adaa9085d98006119b9daec95de69f729612170cf4a1bb36972ca2434215a146afda1f6d6d72f7394071203cade827f5fb6c1dae9ec6494c9487b597b87f1258ac8ce6f50f67f4c640b06fafc65c64e8a66766391657d7fde72c5d752682e752e5c7fe9cbb5a0e963bbbdb4e048df2de6309169c71be4a9f5567444b6d6af0fd036e51dbe517581f831ad46b9ef164efc5b9d17c23679d1d208b5143a69189ece47adedbd5d48ea1ba09897914584d4e7aceac6cbe130bb7b06b700eb4fd30850ae7350df023f4f7045fef1287cd2b646c16642b63244d75a72cd9c0235f74b28d5f562d41758345a4f4e59056f6a1dd6d5d75fd8bdf2e99e1fdaed470b38abfcdd6ffeb6ebee5d67da8ab2cf3b164fffb79fc739a0915df872b16456be18c9b5d2f9c6e0d77f0c25cc4c9dbdfaa258b113b13c3a88ebb8660a8909cb996106a4ecf8192515acc34f16c0c76cd26eac3ce2e79b2cd557c261642b8ba963a5dbc0d1a32a9fc613feeba12e142e4a66a97b5836d521bb93033f3d45692f309da7a6dc61b91188afb5ea7e4ccc292df73ccfb387937e39e4112572ca28f0fcd8c03e52462aec52ddae70bf17b12fc7c23fbacabe1a2c355e257410749174fe8370419d2b1e69b04790b941a6578d9047ffeafcb75a463fe4053a48ab35149100f698b734de6ca64748d63b18923a619073dd475671980860c12f724c103def94514d566f0908dde0834d73f08f578fd33989696dd0f1dcc664f3722ce45abf305d9b5e58f3044cfcded657757fb39e73d62a9650ab75e494814372ae8696fa6a703a1f0866343d139c3790c9e144e282c6686d1a3be49e4a8e475918d9656817bc56362aba9350395c0e53156215680325c150cbd8453a527eb8727b79d56a122758e589adfec5aabc17a7cbeaa9024396572ceb0b71181cde57722d8327fbdd3982b8070ec61865542187ee4f5138f018de720a24948a51b2a87200a264a09525b365f12890a3be15e5ecac52715c2bac1c756bcef73478846272fef84a7b1f070541d1794e3b9b2ba1a698a3b611960bf206dfb1182e02159e7286886a2f292e33cb6aed01caf35259c6db0846512a50dac612a0c81782d30272aa8236545c8b58910af2f44c5142776fd0a2c112dd179ff546517e065df31e56c4a54b3d71f8ae3f628b18388a6d0a386eb8de7e2877dd8ed12fd22498a0f172f5240737c4d7f71354020d9fb570d8f18c8f355aca52b55b081d7173c8eccc457b271e070c93269e6215770a31c119f7eeb79de3bf2b83d7858d3ed9357ee9725eb4c6df7897407335f12b4779397129902141def0b74437debc541bf6a5ff72dbd03342bd8ff02a975a70b0a1fb2783174792fb2504e431809c48d59622767212cf374dffe05375e08f970f2c4e3e15e886c5319ae26e9b7cb53bc40c0e79725877a7174108e0f147549f4a85fbe625d7401c75a423af46a0ecf105dca7b77210520aa604d1f9f6fe7fbce36352bc4e4c55cef6f7e12f36245d268f2f284e4b204984c83573dc33bec699f17ff2724ab719450047289c90a48e5862318c5832c7a78ad0cf37532593522a938dd17d9725529bf9fe4eea8b94d45102d3f9b372baf82ad199ff61f5ed50e78c3b24e5a5a4976e4717e7214ddeb41af16d760c72f53655acddb908e2c002e40f47630e675046c5e6992a072f30ee8b20c608610a79807ddd7695f7a265c708e03ac5d72419f4808165d7021feca4f01c652c627209faddabdde78271d19de2539c7800abcf1fb29662af74d7efb96fe22fe0bf72bbb047275d2b36086467858476b3291096a45a67b76339933b99339fbf73e872424e54bdb1abb3d502a95062c122417803d553605ff2fcd4306c1c0af56b5718593d5e7455e1cb67ad970b02628a98b879266b843db1f9fffe5fc1c4b7586172a29222f010f3fdffb01c378f9b55d5860ba8d1b7c4a939204c9805c7b3eb09373832dcc62c619c381d15f6b97423784f8a5a9e0513d01194d6b0fd56c4a6112ff09541fec113552036535c32f109d0507c386c29a16df228bd5cdc4379411a0c22814ca3ffa129317494f9aa16abdd0108b600f1e73fb90623fc9589af703f16fa8431d608c2649605a77167fb58138d23577685f83ef6ffd91f9bb405fbce72c74d420775378baec8be01da973eaa112f3f940162ee27a186c40aabafe80b7264cc8d250d59abaa6ecb63cef151699c17b87e327dbadea7c7e439d5b6c79f1ea7e1c4eb05276c603b8bcb4ff2413848744687a5d577c0ba3bae6033d5433d721361136f55ec6761ae6874c3c0aed3106820da1f7abf4edf7248b2ae68b127720822d59dfe2d849dcedc6488e917b219fce7fd8c5ac2c2233803746851d07072f74bb95c5839fa08a5161930de46b4412e8adb3e66392ded46d2454e03e0e802441efd0d47b515b4610951eea6403714cd5960f0ef030432a889cf6a9b62126a52ebc5a5290ea992486dab543c87a1805d0f5ae914ef4966b39e451a2abaec7209081286ef0cebddab4d2bcc7ebd33262f211cc4182d4202caefc6be9ebf213886f2e11ef389189a7db3749af02cfd269bfed230af47a882840949cce385701df6aade411fc941dcb35719129e347a26c754263ab09a8cbacd3a060901af4772e02237b486ad3823edcdfa59eda7868b2e1ea05de062794b1b5fbaee53d3a1720496ae54977f2294aff8b6a5536700a30157180b7548278e245b9941f98aa84612ac7a99a5f0c2bacecc209aae5dddbe8a87fe5543e0c7e3d3f84ada9ec2db602cece366308d8b05a8e3ca07a2f3b1a4a8c0af5f8f84c2dc9ff00b6991eb7d72a237178153b6ee641e86d2a9b40193632bd356b72c0367d0591c90c7e04d595ea4ddc7bde21a14bdc885894f35542f25340f03c31c8f25f54eacdeb1c8940c61d1c13f363b2fc0092546a8cc722d6c4744118cd9d6c691464c315488d74648726fdbf2278368a81bcc91aa90dfec3be4cdb8cc8ce3fef3864b060bc2ba7a64725859fcc38efd0017f27a2956cac60ef5fb531e42a7c39d63c97bb77316bce32bf56bb41bc6bc249d28e45b865d31666e0cdd4b6c6465f015df793d955dcbe17255319e0d368b69901359b765b144478a231dd3083e5688f63ee2ae9f675f800da9d899d8306391dfc25e1a49fd548b00af59540925879e99345239ce0b2d0001690d07a2b8e23daa99878f9432738e10e3fffa45e9aa29054a5c663baffef9194f7cc80f721b6d6b04a492d4357ba66e388da961a17227218b6ce0eff825cb72181539c91be847ef1e20d59dc05f9181d0b3191e1dd4ab74232319a4177add729424790b39411b3a21a7fe68602997afc10a61e47cab5a7154dae40865685b63692e1bb4a530e432566d1fce8b20f9e0447c53e18401a54268a6e5f765fd7372d6b2aebdc537608834aea51bf05db6abdfe6f8a8b836cdbfc9228a89e67f9772740eea92fd203eae0eb02834f7bd72f84a731d9262b60b269b0d5d67e8f3f22ce3c17a47b897c8fbcbe10917915bdde716cf19617f7ddd67fafafdb596ba5a6d9808986a00d38f90ea5a6168b9a4fb34724bc674f7b3d07d6435dd7a373699462c3b389c3e67bc877948a0650168aae234707e93a114133d4998da779511ee32847dfaf737049f6db320240f80b48f1dd8690af0dbb4c48e38728ab0b487bf725b6157405a53086abf478078eade329dbc16bd203a6e59b18c01aeb6a0f4242cf7d1566a3d23a79e19fd04fa923c8e1932d88f6b7135926e2d45dd963d44a710f26b8bb60cb2e95c4d16952f2ad2f16cf746b6bdbe1a9c3da21e8754a9725572b3ee3d9d5512b69d9219e19b367001b2132ffc91a38b06c15581418d0a4a1448e06fbb7fdab12dee58b930118f6008027b76eed60bb6105c06b81a3486634572bd7c528c3439a916db228bef2c9c1a5825966cfaf1d78bed9f84bd6adb71b472526019f1d8618f3710e70b533db3c63b245458d57da246c1a5ae6481ef68d87239caf3eb9af5bc858baaf61cb4ad3f0f12f8b40450f8ec6219e14f7a31d86b72332e41ac1f36b74df5c1e6f47de199efda5ca8a7e80e7860505c9c430f383f1eb94c830ea1d00022896ca278bbbf318e899d1afb31150e02336960ca753d6472f6ca9e39d81f1b804dcf91fdfb7d68331b8e5feb9e0329e03668ca76889ab158cdb4853ef1cf46690e5457798db08f549a3559f62342f4d1a3622a6eb7bc2d72ac0115d86d0349944ea5161ee2b513815f786efa3d617c88624ab5e5b4d0f44bfd113505c3914ca0b0b05c4232bbd1bfa0712651c7ccba28616357503b1d154ff8cdf6e747246031023b298f85136d7d8d46c80895c3d11374fdf291628108726818acf6cfb8b7884ee41c41dc2a34eb9e20daed91cdd8c4218b61a9192e1b72b25a8c3c64a8fffc24a3e40a694eeae8f435b1b14cc84b5f1bc9c7da6588e67274a3e4f6b54659ba4dd872c9ea733efbed87a354b89055de8f3174f81859fc7245498a61fa2f226dea749c661866f309741e46e53ea8029a2ba4736922c04072ecbf85b56c07ad0a0086fe4dd441ed389873a43b4d642d46302d5367bd91451c6b84a2f3a1489dcdee8aeeed4a5126d71739d87df097ed86346a32b36d9cfd72e73c860b91b3199e2a2eb2169f47ec165475f4e03af5743da1ad01c0f128ad72699517be55168746ce6f0facb3b71a13ecc216086acff8ff103791498c37ac36b2ade79ac85b387a89620f78697095e3ff97e19cee616022ad536097965b94729a5f73aabcbc829695a77bc8a4bb2ea1f9e886bba3065beef7ec5dad5854f472f3558561b0601250dcd582abe41fed07f4bf3da4c58fd8e181a9c3553f408a1af8ee83a53261ced3336e7520b416fa30fbc2478ec4282fa51ca770fcd7a61d0aceec857044b3fc870b3381d474614dcdf194fef064fcfd14ed70d753a4ad555c280c2b5728e79df829a117d819e0609bd76cabc945a745a64965f18f8f87ca726384f5a78d88c1c430cfdb88a9044e63e0594e013942f1f851ae03fdf0918572d35ccccdd93b8d07c74541de8781b4f4fdcb2cd085d9404af6b9fb58d13aea72cde3d40044fe27177bf0fb0ee19737bbb3819c425577841afd4d2dbf704d9772866dcf8e77f9b99ef4574b576ab6084580cddb3908e2aa000f3114f8d5b7d31b0c26337db47859762579b454a4a5f4da40743135130f06a046b9bb6d190e6d722c3614ca1a980762eaa6410f79a0ec78d4ca44f92843b713f5aab850461a273201b110967df5cfd80b42152105ba48c9a6e321656306ad0943ae2d1875dab20275b04a75e0174619451a29e9f0d3f898933e656f73856017f6ddb82ff003be72d02df4772270cbdee700ef7e65c3a8fb9f947f8e51e442255b9ee0849a8f3b72b3689fdedfdcbe92f1f69a014edcb46d48155b1a59c0997a5d957ac6ded11007aba848926c75c6636eb81e3f7e68506f385ec8c1a9988b772219032706634f72eb75057f20ae0aa87011bd7651bfd6c8ecd0b4a0f8d013dcc37a102763a47e5bbb40c9f225fcdb938cc57251bdd984f635303edeedcd5b637995e9aaf25fa7725fb45cd41ad803553e8a88e15e95ce5269c5b3e63bac4d9ce144906afb568e2cc759f8d04a79493c7e74b2f43dee935366999c0c789c14e6a357bb3d4981a3722d9280c860f9db6649f9c143190fa6f8f22455e69c6906447d5d21fe956993727bf4ec458dca456be897374855190ea6f12d1c9dded70b080e6c199930165a72a6416adcb46090440047e3e6d5b2e9592f92e90a88e234dc1b68e5c5f2b6ab722178d4a545612a6b625b7a25c996bbccf1c749092036e112cc9a30bf8409bf65b5525588811b19e9c22ce95b4e870399cb9db788281a5bb704e96ae4b06d65724a6dde458fb1c085496cb7997298d49b6e6bfad6f64adccfc8238cf1f9c9a414b51e985f651e05c4220126852a521a15d476978e7048f484e06186e934d927722c7438f54797caf3eb119124e5cac0045faf42df8983972a7dd218f2dab77e72f57fe961a78703c32cbbee8b4a604172bbee00c943f2eda3180398da664957729fcec6ea7db73e4a2f6712890021d9b15ee7fc005905c035755c9f3490c5550dfccf24c6cf344001cb47c1be29efcddf45f56a53ee16be67342d5ea96ea5027254aaab1672539d32d4e7c2da01624fd0ddcbe970f9e7394e83d15a13dee1f572d21b6aa8c057f70ee72deff0e7a64adf0bd3a8d89b3e8264d4af9f75385be658c2d5d5ee8b829f0b5af28df4cc5fd5c4fbe290d024daad8ddeba9160b8314c7208dd3c8c782e899c67ee50dcf6455aabd383e52d0cb4a64d055f6dd85a545f4bd3f20eac449c8f78ee8aa5ccfed549943339a1853546e9dcd43cb56eca296c7210bce9814ac8816ee2d199885bb4487bdc5e118ec9cf14c12d4db177955b2a7280dbef4fb9165ebfda4568d000e972d0d24d5f50623524112bd20e5638bd5f72cbda6ac8a9a8bcd7f37e253d75cc4308eb7bdca7e60b3295ef65bd1e20f30162cb31aa3d906b7337913dbbbb9502fae1e0e6fe80d94f407fd7c6ae81cc205135a73367a592700d649b22e29992a16bef5126223d759a5cc4fe4c2965820acc729b80ad1659bfbc4c57b9e24c29025e87bf6839d3384c2614bace42b431d62f671c4677be153c875e7a488dd0289dfa1ca3c70f4bbb43030cb4e104dd99b8e408de956892bd6f8501d827085ecf57593022211bdfbf8b0ef3f02bd9072848d334bdcc22e37dce09a2b9c517d451499a32eb6304cc91eb42ab9ffcf3500d2e5c1817ad4316afde48e6b0520d20484817c198db7d2f3864a00a3287e7dc3278e261689369e0f4889432d7c4a12c246a9aa6b6a07ed96bca11a726a3ff54f80f45471a25548f6ef55af850d8085d6e0de8b7cc361ea9cd62732bcff107369452b87281ea3108c3a5226bfc9f679fe54a33cdd552e58e5ae6d8febbd12796a588ae72a1d5e93bbe794e43d5b4fe4b8e63ff06706ccba05441fb17d88671b171ea76726ccfe7a120aa7af6576befea5a276a005e27e23f6e58ea645a4eebeb294aff72e8febd603216317d2cbd36b1ef3c3d6d3e496e23b646575b84605f01491d0d729c5a8a5b845e7edada25a6ec004abd2fc745e8ae141f29074049aa17ea05bd72dbb531c69de9fdb7d8c965a495d6aaccaed34e9a8e5d4ca36bcd5d2e53e5d811e3d5a64c471da44df5fac1c139cec424c2d3cd2e84f73fc5e15bda0f92c1702c39cd3209b7d956fd099ad7fc084d677c869569863ca9a7626bce06e1b9eb3072d42eadf854b0c699428e80d91a1310cbe25f1540381f95d2d17ba36fb0c7c3721d03fb11506a0d56ff6ef3e0af10be2549870aef679038efe988ee85e206ed72dd7f2330191ce190f2eedbd4fc7b33c172887fd3a016a1c805bf6fcb9d3a97722e18f7891ec7b9418257228ab333dd84744b8c8cdc2e1d136190736892adcd72ae3f35b63569657b1c368f7cf4c7c3bbe38e300900d507c77111ddd6d1c195186c3d9beb362fa3afcd6a3a032a998da459df5849e34076872f7feb9752d655722fed3fe2120765ca9001901065e7bed83980ae0c067c34863ffd36e8fb7b5a72cef55835de2b6d4d3e2ba7e1b0db2b11db3e20f0eb2f3625bd03372d28c03e725708193a5383b0ba7cc75fb5141c3accb02cbf2e53aa453c6d80923779aeb372914028545a4d2206a9c9e19b7fe3ec77604f1576fc38fc2a94ab4b221064e25e8d0e211ac57ca3ce58ba9d870d9e85fed7e097c57346c4c5bb60a8f169d29f72749fe5e1df8391a3bb0832c516e9a5d0f93b7c6e55d34314732efc4b2576b45faaccc30be87f8cf44bbaed9f5403a96c318a8899ee11f97080432695ad3f577236e118fc01986d08306c0c49c7ff1a2e107041203c4e8282b70a895fd357e353054b0a49a8210c403d77c2a1d23b4cae4dad8bcfab55b6aefa133e60c3f0405279a563fa3bf4840be898b62338ac68384c2771d0044976791be0e7847ae5bd05c2dff838795fd5cb8d169944f8d7d54b338d52d6b31a75ad747079521a389d72e6f799e6bc398e76cde3fe1ce9837a4c3d3071b63bbeaf6b72695c961e64020d6a47aff8db93da3ced4102d888c80475ce31a8a5c4fdefb7b4f09f5a946f17724ead62f21b01e5710c6f177b95bf2437025ab76ffeaea28887c27dd4b6e8b8726959144ba5f56b89b549ec829ce13549b6832b399cb266f19c80c5c7adc9367291fc3cfa910017268d0c48d0210c45e3b4c7db3e30f29d3bb64119e3513c2f72d9bf220bbe129d9706161d69481c34bd72e237f08f3a392cb67d3a830dae8b6923903df8d19807c808dbeddaceb89745cb14de17a15a2d43dfed7fbad067652b3836b8a739359c9426f3c72b9682d2cbfb685c41303dc45e24dc93d5b4295a72cb794e45ddd8a008880649c1c47382c556dbc9c5bdbfe94fdf662fa2f89a41626eb39268329c2ca6c5d7d6c72043ed6ec16c281bca31becb8bf0a5bcf7f17931d1233636a01e884168e1f142918bd85d533cb6a41120630f0ff2aee730d8ad5dcc5f36c239c75d67952176f7e6d492cc1b835ba4a807d115e9074c0868a3df6ee774b00b2378a5db8558d98510a92ddcba5275cfd90de43f0f38654497fa3335b881185574a2f2ea72101d83f718d273f735fb3f94c616e0d10adf680274fa582fee37d3fdca28ba0ec9ae467610483dc6cc49b6178d177fae44d4f0899f5f722f77589390974f9a9d46dd5b537abfaf3925fd984df73d3d09c0a33a1ed05c7205da4161e69ad6b747ac0a9608fec3dd0eb0558450ba06aa881c56606688580babed15f75079e46d358a94057b8973e1d832ad00c2f2f5e1d7ff266405e22d72d9ad1821ddaca859a481a6eb47572ffab8b4451d6658632f81a20ab01b9cbd72b4e8292a61bd864368fe62af69d0ce6dbc4f0eb2159aac30ba1f0340f9bb5a0c38198b874b1775985f7e7ded52430772251da12f362d72f6464bd5daf833911635733fdaa99a387fe5e316d74c8347f828afc25719cb13b70e82a427d7c4d9725514a92a3ceec0d59d3fafaad6a8f13e77b3363aedf04fb144bfdf5f9db4dc72130a3cb72940e4234377640ea0084ec0a11fd15238886e1b12c17bcd08633372971785632b22f6ae83f6d4f43b0da9990947c4f5cf791b4c1a2537ae026c374694c3af5de3f2d78e4a012e4b4dfff81594611c7b8afb06f7023c959c98986c72e3a44a0efcc6b45ab6bcceb1e13a29659110e2b956713996ece1f9c0e7ce574c133fc83d952f8be87d07c002cd74ecf1430a49b91fb9dfdb2cc4d8b0a0151f72552a4267963497daa85e61e661e95e947d9daa945eb740931f86f75293270f6f4284603e579090f64702408c89aabb14762c6179502f16ffb82afbfec82c24728507ea11c626a3f9271cf0de173e4ced8d4ec464d03f5dfd72da8b371fb7e672b8152924a8d341aa6346cacccf563fd85370eb5cb0bda729898950f703b5ae4e162866b5601a06c59bc4bf6d9075bd858ec4e435d99978bc108ef92dfe1d4f72a34f2776797f18498ade978c71a74f9bc80025c4f4d4b3686600bc26684f0e72ea74dca9878d6edac409683be5255953f1205ee67a438ffb987630ed0737a372eec401a41d66e58947efb329b0940039eac14d7c9b545a7791cfd14b956d0d72829b48211017c55b9131cb017b7bda3feb7e0fb6d862de9d0d5a0498a13bde7246996959d73150ed0ec289d61f47b3b044f8d19f4070ceedfa07d7cf241755721f18a4ff4135e5dbd667d84377b308438745cc5120b29948c1b1ea80ca4eae7266d2444e2bee96b0e654c5c2f239e201aac11ce319a33c5b05d0f94c81bbaa7275bde4ff58ffcbc53b35409b91d65d8def3d66a1ebe52292d19bd7042106587225f0b6982f18397b8b8d86c2afcb2ad52411af171e0c6f7c63b9773f91680a723f5587d2756f1a0f100ed317475ed1f6cb499cac0461ec930669c1aa7005465ddc8af04527ac0dd8aeb49514bcbeb9fc0333e3f22ccd79f48406fb923740df726b7d2eaad5ae98fca331dd9cdbc234aede8cfb70cc79ade102c8ab2be9324772dbf5ece884b8ec7a175d230234cf2e75e7bbb1b6c30c7c083bbe0c9b542adb28d5cc05aadfdd9e7c6fe59f1cf92b38b80dd6b2e0b13acb86555e81eb7b2cff72dd4b99c34206954627c61132c50de6a7e207a4ed6a48851f3d9bae4aa69ee02da803ab9a8c620552461819ed52c3e87a505f5299dc0b04cdcb4a43751c40d272db6bddbff9fe81902154e11faac13ec7bb29711ea988219e4a663b7b09d99c5bf44ebbf4b52356697f33be03b1fc243f227d56be56294ca82c0dcd2c169e7872710ef80c80c8a49c9f444990aca379c34b0fdce1c887dd2b73d88460c0190e29635b031761bf809bb253af9f22d9e053b0cdafdad16ba81cada09ee7e48d397248b4055e26885365bfc3f1d674db894f6b00b2f669af1c5889ff4872c8a11b72311ada6857e3e3cbd0c351ad46454609870266e13c698a3217e6965e61c95372f463dde5545e6e54b31be63a800479656c41df1a1f0a2513af166e8e28211b72d380b5d16bfbc30231380df29e78295219dd46ec951b6ac908d0bb3ceaa5f972e6d24d72d8a17746d3aa0ff3f326046e9d1362e0e3743e155559e56ed0337172f9a273c7132b60a52ff1be5b357aca06e5b11c88b52bac7fa9324d27ade5e1721029c9aa1bd52580330f31cdd3294771f26cb241d528de6963a8a3056271fa72b6d8e75f2b62324f3fdeaa6f8f4c9447eb7b10b88f99e001df081751b9337e72665793402195eb1f6845121b308a65c4582d6ab5579bdde2bd6aa91a4ce9c6726999b32ec8a01ff2cb213b262f50bdf6b36c8bf80fb44350275dceeb03a391335df6b76b0d688a3d8f10185392c2b35e723e43eab52ee99abec6eda97bfa6a122cb807f0d89caa6b556d3d227c3e85dc7b852676a5fca429c5fdb9413e77de72d8f864c7c32777f49357a446b1f531164bd76841bed817d9f0ed9a55813a6572c1315d5e242a9e51c5860a32778837d5cbfe273743d9e4d88408c004d3da90722bdb0d4a8c8c0e6a1c4554ac63cc774a5bcc3bb0c364faa3a761d0ab99b87f602f2caa5179e1f4d126539a51ae647fa6bf0f87cdd44f699b4723eb1251da7d72095eeb78bc43139436cff9c9a4cba30e0dbe3550263ad3f059316f42339e6f4d6d7c80e2acb0878fcb6e0e28f7ce0d3186b0f02b4f36877f31e830c2236de502a3a8cf9e094c1a3329adc070c81d7c0e18f53b7db3b0aafb2f7ca4368402f77209675b9234308fea5090c37dabb23bd6718b2a839ab4e1dd2fe5ddaac7b583729827b384db2d75c38f22f3edc9f1cbec092313f1ab69e7c3ca4ca975a270c072cffca366bdd0f568fbb65330aea46dd30ae294a6ca839089876f9a358ab1f6325524d87162cdf4c3b2c67c1764bcecf7439136e49db723021b59e665c81959728bd853983f3888cd966d6a02bf026258b55eefa873ed92a8f5c2ca06b3e2af72ab5fae26ad4946a6f1eddc807fe9c29a24bab45c9a634baba32e926c09cfce5b275e9758d8779179a5aa19e714d127a7c5c7d0e4ee5c1d8044d2d2563edbcb0755c0a2164944d9791d00c9ba1f6f8dd5c29782def4bde25e250f1c3c00a7660d8362c0fadded9eda1cf5e955885bf6b3024e443a795eae9f4310e3d6d3eff572cab8e3e9e4e197e6f7642a7a5cce8b5af3f603f5c6bf38208d45f7c45ac79b6c8648deb7e987305911f9ede5fe05169919e821bb4e9212bbea6438edbbd6007283ce5bd796ebe9d062ab66dbc885f7536d31cd0de7ec0359d7f87b24142e13411455a7e5916b83d163a04788eb97da272c143b6b3189cbdaa8f32659f841a00028e87d3da3caf950237c365c46ce8ec93a26e5bb6c6af8791a053b0f49c01872b4b10235c09cdd8bf20ff68da4f8ccc8987db07cbf01ae6655643ab0fdbc263ddf645b34f8711e4b627e55e04b2c30e4fadd865ecc4867f3b8abceccee8cc072757a43d015be028dc3bb6de23337a68ca935d5883b1daefe94360f03f895bf3efebfdece69deec56feae19632f32ca2ff5c314c56f2674e0f21941d992d21372277a313643dc43a364266cfe5a902eef1a35ad62ebb85c434ad73627055e4c3ef525ea2aecca0fe357bd5bd949a64ce9ce1797f57206b91142da5b3dca352f0d2036cb26357203112858ddccb79d96dd0f1beaf1df1bef500270cfa7c9dcab726a9e967cf2875b7ed8d103470c4697ff6f9ad3066100219ea4383584f1d9f412eb0317a1eeea0e67d17cc8d0ea3d7c1e023d8e28507bf286905ae7f44ea7c372fcdd8ee32007c48ecf71e3051f15f1d86305a499de43561edadfc887efdd5972388ef00846edfc53ccca5e7bea1ed76b6eda2352359bf1cfb036b78c02697c315689c2fdc76b54ae29fc3f773f1e7739a8137df64b5c081876f4421afb78ed721b462d372f668a49bb9acbd3e2334fbef56a6642e48ad96bd2a71ec97bda627239dabfff5bb8a33cbc4ab75b5c4ec01d5ccca2f161af0a33887a106063cb50723521d38e42f9fc75a03eafd5851460ef2834055346e8bdc3d1564763055bf772d1b47706828486be799e1b6f327a004f8fedac4e51f845e2c4d7cdffc3b3d04b6a277d6dce007f8bb754eff9fd39cad6d050856a2c9ffd949579e52115b01c126c0108a9ad463a552f2fd4a03019e11ae7786b30f3f2f1fe1170ae43611216721d76e896e208d6df0a7de5516a8fc1e1b2987c7f965fe740d1c897a0a426903bc4010b23b09473f45fc8b6ef90fe02493685e7698600fc22f9745555e0103535b53a4db24b2cefe2fce4e7d9cf84662a135d1e1689102bff76763383354e225f868e4025d246def32b0013f1b1b5f7b5044d40b0094d2dc0ed45e70008760072545e8b4449eaef7004d25f1e7dbdf41ff06e7ba9551aa4301d1d7d56f978e67286a6de289e007eaf948656365c154dbd58ecc270d1113d0bfc2295df3f2af172443de1e2676c3bccc6a20c2e3b8e0cc7f1acddd5c7e37ff3103ba30a9813e6720d7fa1f4287f214177a55b7cc152efa9e6e969a3b2589aedf8cdafc11da4447285eb5716b292bf10cf7d4e2206137b7f918b47f7a89a6912019eed1926425a1b7bbb6b23b3b8e68a7a8a42a32a3581b6d0ac25eff3a9af630f92231a39c62e6fbef787c8342affd0be84fe8f914e433e2b783adcc28231f23d3dc4f45bc97a72e4e83448ff08d575b14f1a9b0ceb0bcf577d95f4b89e7a567176544663d2d815d4b04a8c116a443fbcf0fe9556834d46f283204dbb86a1a1e9955a7ec6129d72752387e5efd8b3d0c21be1b56e1842b847b17d041e830aff314de047338dec4b2ce5c6997ec0ce2e21b9658729318547042978f7864706ef43343090083bbb34a052b4f9051fe1034c5b6d23efaf16c4a170b16c7f8b039fac6488765657880575b8ba56d262a9e50e2d9f19f1c658c9ad7a8a885361993ebd47b3855168595f8684630686b4a2f29407cd2178dc34bbe4f2e41c41ff307f55daddc62a5ac534114146225ba63b3ebb292b8b65f239991897a2d5fbfc6cb014ca7ff2a69c14720565021327cd79b0a8a8a10ef3e3455a75b06263a2810a22f7b90d36f411a372c27d1b7449c2fceb382170c7e86d1eb2d3208f3a68f0d752fdbb273919d614726db71aacdd6b236d02f2e1a55ef44c0f6bfea618a2919a3179e142f94bd99f08b78e29e0f5df4311f44d981885ee34603e120566c18ed8b73219a50c58fd5f724b61b51a971b7e4ab0ba9725cee3ec7c0c2d3f8c58597feb8cec5060d0d90172a76760b031ba889d26f3539d0312401bf51b302d56512cbfd37bda6c4c0fa472cdcdeb3e5349105a67691befa82f7d53c86642629c7351b5a880fcc359e74e72b22bef73f7e1d09f8ba096b5d4ed369d47142192f3a3eeb608c76268d437d472e0f4c3aecf0807d9e907aaabcf1409e06cf163bc9197ff808f58b8d4868c6672caffbf71a2884ff2aaa10f2a0b6a730cbab456f8cc1c6bf13000f30e163b8515bff68a2b40a49bdacabe5fd5917e39c38be4e2317a8c2d3080082ae89552346a299a413354bff11743d531a38c75e85e198005e662ca5fd6261a975ae3adaa31e11533112f406a4ec6ce3956e3e14f9f5ff4c352214ce33754be3e09fa5ac5726b3b37f6e642fa74b824c82de3d838d731de9752c733b368a454cae447efab0ad8c79f66dd329b1b9f904686f1f6ad97c587aee067936bb378dc0f9c0273fb72656da4102ba74745c43b60a7b480b90c856e4dfd90cdf9d9fa694b90a55bec727bb1d5738803886f52824def1a75a7bfa662f844feb73b18ec5d66d2d7ac6a72f63d1847a26ad2a3922d6a669a22bf2537b82ba23e08e38c1f37341e93c7b9729ff002897ad599cdf6262bb596c18460f4b53230bf1623fbc3d29a8ca526665eac064dfd6f6d3ad34dfa911aa40d980339ceb001c68d8c6744f5c260db40f20e5fc49b7a2fa6958b61ce0b34f799219edf01755c679bc59dd21bcc75b530f62ae55d228998e615e328524de4594fd9817ee746e6789fccd7703ac61ee7543372698264a5acfbf9d521563fb3d75459f3ce408c79809db4a1d8ebda018111a302888908cadece1b90ff3d7f0377f0a538a044fb6f5adc9f06811876322e91da72dab0373bca2b4a4f5fb2175363ec0751a2616d7de14ad0a66bfd6a72abf9df724d810590ba82a50da65ebf598c17a8640102ee76a07d000b88eba041ddc2dd215a3c40ba8d94fee0de48245716b00f6920de7f3278fac89d7a8df818437dd4722c0df82f2714d8ac850ad41334e86b60428d085d80539517994f5e9edaa4b427ce8988f45ce26c0be44e0b0cb7f6a5666d93cf366ca924f2bd5eb241660c65531958666cbf6b27ed07efc00b52ed6ba96d814129be480471c4c3b2b2c8852072f173f9d613fae360559051d345d1f485e755065625216db50490087e74b60f72977525353a80533aa4a20674be552b0d3c3897c8e600c7e9cb63b6a483a4b9261b0da2d580c92543d110647028303a69520c2ae6a9c7b751d98b852f457d256bb43c95f43ca36ac35310d6afa2d46b6beec43c5ab4d9163230f0b943b34607725285eaf4d7eed6cdb2a1ed7b6a91da9b230bc199c5f284603ae5f3179ea9a10ee5b109918e4a2905e7b362f65fea1bf32a2f69576ccfbabab9ce64c1046fb572922be0c026e1c931845496df1679f80a191b4fa89f241cacab07d2ec5d0bbf3afae59526d81a806560d70d30928d3d9e6dbdb3de1b144e13f7e09bf314ecca000748f665773113e3f49056514389e5cc5b22b98ef2a80bc89860a8bacace4c724a6b98927d421793a95551b94ce818cb2ce344e972e4024979533f29ed910014404b0bf73fcc31c97fcad5867bdeb212f7538fa32087f0210e566328c8ad12722ebc622a43fa9448ee53fc6ce078d5b3b7f4b6a79ec8bd8bd08572b4bd716c72346ad900d973fe10bc9cbb5058d2dfc0ae8a3c85737123c3a1565ceade8b58464f94e8bbf8113749fae423e0514fead33fa6c97856b0926226a8e245ad292c72109924c4b6225bb49727a74d7d4cfda73b3a2c7268ca78f526a3a89f4cdcce72bb830248c5324bee7c294c46872222dbfc8f5265bbce3448ac4732eb87993972bcd35d2cdc0c985b2917168eb9adcb658d70b06b90d488c9e2bb1e3c34910738a26077a42514aca3a2f0e8e8390d9b39452a2fbf927f78244cf34087299f464745d1fe11e13372abcc31fb755d6cbc8dbe7d4525b91d2f75cd760835b2c621727790faf76e5a03b6260fa47fed637a84d2a6771026e1360ee35e80c5971c3a7266ccddc7515d64b1e165251852bbd6b3ada99f880ded7938d42b6dd84fdee4720dc2d422855e9f63d485322f622a350fc25420a217ff7c819293952169f32b7231303dee3b055fc0a72c5d5664061013e798618ecd26d618b9dc3f2e94d6f2553bf38b7945d653817ef74d2f2f40fbc4516abc55236ac5b3b8138e9501e06c72fec5fcb79183df22c15947d0a0a39fd24b09b19d53a95f6aad0754ee53d57572ac7512e3a4338d04137c8d29a7e4d9b3111124220433eef0c26b12dc60fc1172b4b050c7de293a18b529bba8415ce72fd9f1c69cd83fbadcbc6e4444c442a443ad5c40a67c32e178f9d8988c34e9b7694382cefd00d993860f8ef8ddd685cd4fcf16a45bd55650f93a07490abc2b0de3b0a16da1a7c32bc67690210638e7e21ad84abb4afbe8f82735e07fd1f692e5d212b6866d970ee1defabaf7ac2fc3a067c942f496e58f6b8275ff74be683dcfd4c1ffc680aa32cb17c28a1c7aeea4e3724aad0885521c7aaf4bff7943d79fbe191baf4c89f4494af0b99962d0353953724c07b0cedd6075e80cbafdb9282c03d4d66b4a4232d4c4a8633ac903a168ac2b23c10e349f308bbc60a020a6ed135e6f916298b77eaecd7747195790b802fa29535a713d6a3a325156d7702c43aa08a966c4c3c52011efe52fb4dd02a307e9600dc5310deb73c887faf993207acef1a0282696aa9233ed7467e0dcc5aabe1772753f11aaad2fc8c5344486810da66d21b5a833cc377455975374b2f50728486ff648ca237f9a40640a40481cd65b088a87c58b79778cc69be6417e406cbfaa00c17610f793c73f25dc7133b36328c9e0dcdbbe9a4dfc94ff941c081b54f4567284d3570abe09d816daf4612602d73d4f553ac6beb539ff9dd66539bb5e6b7a7221a889ccb81fb71d9ecbe270b5c9ef3a1189654ab7456368258f3e576963f67273e2c2daa70486acde6690b362a4b11b4b68745ed54a082925898c76ab22bd03db315268cf8ea4852693c71fa4064d3823fac63168912532d6a20f7030aa3172c853c7d5d7b0d508b7f49c23264ca24b71fc4078cf0b8753d62935dc46197f724382a23925b24362a435eff7ce43b2685ba341d602e681ef6558aec0d1a754727688cd8b240b1108511c303d640db3c2468754ac665705d8c5a0bac0bd434972cd3b6b01ba885b522a09b88fdcb89091bf322e029e60aac6edc80d0f0daf5e523196768a4ace91609da5345fc7e0977a78faad2fbb8db19415a2cb379ef50c2dc7730e28b595d495f847f2a88d077c753fbd44baeed53d848ca14ff79bc90e72b53040fbc8f8a6b0c73a979788babd7fd5573ff1cd3f3de8f7416c3e2b41db72084a36d0d6a7f612f26f4e45e343900c93a9c77947725caea65139d6db886e725cab03f08a838dded25575d7fad446075553638c55b61d24df4c3142e24afe7208af478c53b11e0952fc3da0fefeb4ae044d74fa1bae1281cca9ad7f0b74ea72092aff84689946ef0ac1b37196ff45cd8590b40573a08174c4c6f91590ec9d72a41b388ef8420b13330ca26a2c3642a8878bf28effeb1cfd0f146ce71f9c0b148225f98d55e2b37b66f31ef5bc480361cb6843045d235abb7f4093127670257242cd7ed7f448590fbd461088141b59098ad520a05b3f558e3aa84274450b14724812b0a383feffab6ecdd68a9b56d67d524e3fe0e9cb73aa208331d1cb1d2072ea06d3b69c7b1eacde74755b041c55e07cef5173ecea0f82b76618073d58ca6f1e3f69f62b3ba59b55ee571aaafb748a181570d508deee1576efb8b8f4f1497252609db28518bf3f799aee00cb9f4a02a87f563cf0419fdc95607fecc4da6872f40560cb139572d98600b50020554b3922b8ab8ad1cf8b19795bf9c5b2437a724143ed7f45cec6dbe9312ae7dc0dfb88ae97f608d6565ceebdee26c7a0fab372b2e0e65083d2be102b930056d6220a616c68f1c58570ef624497138042fcdb6ae2edcae468ab6ca0862891f9e4cea33473692154e8ad7e9883a881f3bddadd72108478cf302b47cb8ada6f58dd0269054e5b9d6f79ab4e42f627123133574b723c4c1c433dea3caa88fdf1891954e2a47001e120fba2a37f93c19c6bbfd7c2723483ffab9bd413f43944609cf6186486a371ad4f9d4b6f9e98a21c6442ddd972ba1ea064673b4cbfca25433458d3d81b37c708d78d54b0bcecde7337f4cd0d72197266b2ed8ba6a6af0dc796648f13f77bdf7554afaf8ef57e232d146cb11c08c7e28cd861680d54cf701d399954ce5a84948578baf8869957434ccad7cfca72b82b85dce65866d7f49c7e7edbeab0062b790727fb3e7b1031bb8e61fea41772c48057c2c11470526d01f2c7b03d81e7e5844da487028189b6d45dd303040c1d0201122be7c5770177c1878a5728ef2c2248dca18ef0ce7392480f6ea5d0b172d5e45c0d0062284506b9dfb612acf3c62b8496a549b0229939fb11b64cfe66061e82a8531d4d52a917074f405bbacf458b66c0a9a4af177c60f398a50094197233df93d6a8a599369e5eb90be5665b6d1b056b452bd1b67987a69ebb16924b72e0d326b8eec74b4a82ef02f4e2b0e0ca88b7865a539ae57a691c03de3d157d1c5aaaa613777df3137d03e2f9ca742b0e24901f205c3eeca0037b025a6f625f72fc3ee11a24be8a0c0e320f8b6b19e189ea5af84291e1d0f3d724dfb9e3446e72a743a91b46bc674db99bfa0f7b6783c1602e965212c031075cedf684c1a5f2350ba5ec7f833173d7b74ae7a99beb8d8ca0f7fc0293df840f0d9c0cea43d99072eecc8d1160cea52390cf0e82445db0fb4235b3b88951d641dc24d7f4af2f926c2b11cf59f6f248a8f19855ef7e12266fa35717b3658807736f2cb6a7df916b2755388a5cab96e4bbeb4a1604dd6438341355e94afecc8f5a34e201dc9de4f04ffb9063afa6d53560cd64df82ec65561042acd72612958b930daf76aa43188b72573e0ed2d00d2316d7b49cda926ee4b35a8fbb57714239cd5f6c4287cf7823729d1e6701cffc669c701c8ec03eba423f09294209d7d0a600208502ce02ff562fd455c6418ba61bc9cc83af038ed4031e1ff09a4097369a21784df62faf687b0ea46a9596a021a7c7f106d98f5c3903d3d7661134ae1973b08f7bbb1bdae3d63512ee6efc225d12f5e807d72b53f36e111e99b21124cdcc3a6c383a6e42551e72310a2f40104bfbff6aeecdc5de98016ead26b370e72d60972cb683feee1e457244ea830d4463732ddaa41bc57b2d7e3921fd7b8dc185a891aee0076f31f131721b1c437e243b21098e4597997276b40034095d4f65d81bba65b430bdd3da8925e806ce83a095a81a2a497c8640e8b39398c11aca9819775e93401149cbd64b7241c561287d27f576fd3466fc6d1b7cf7fefaa011b38bd9390b1cfde54f65ed72987fb476ec61d61b475a8086d7a4f63b49a5157344ed61f1f0d27097aa9d363320f74b1ccbcbd7d9d7f50859922db7b2c7159b9881e7ded304d7f3fe92fdd272184271e2007ff9e65384fb24521cf73f2e5f1071b6027084ddc4edae73fc2372878783c9062b6a10d48e7d7e128814985e15c057da4b0704afbff8441e4f533fdc7d2bb4760d96694b91cf79196a3e9bb520da06aea34e6140b76b5c7071363c303f371e4dfa230ffa62e87b81deca87e2110fee9d6a85b2cf2ebf64c109d872f6121f4ed7c1d5414fa179d0b8ee0d63b332d0e734bc9899d5583153bc4f887288579e4b084fbb12c884f79d74e73fe2098c4ddb401d117d819157e3aaf6f563ce837ddd76391268051c32d04917b3b2f47946e95106efda8224c9427014aa72c3a4669566639457ac1be9787453b274a9c875a65e99e9ea81e3ead29f05b3424d00d19c6e6050771b197168af42d2020919a25135d6349ab2485268ab91f014eacb6099b4a00c7bcca13bda1a989c2709a719cb94b3d818f0be255916a4cf723cedefe095cc77625e40dca65dce63a77a41f8c3931c234de1f4aa69abc69e72d162c82ab36cac62326f00139a34d3e59692ce35064def8e3f28388a99861f6d9794db4fc17332de79034dea8ac6e3dc3ed308cbd5dfe541186809fb431d94722f1fced39cff07cbe24f68c93f083d22d59134f7bf310df2686a0915abe35f5d6d627339ec35dc52ba2bbc06a00df38d8067bc4f2dbac6093c41cae70ccd090d1609e5e59a377925e8d87af428ce5ecbdab37c0f278e7a246ae77753a1fe6713b1f846a09ab6dbafa0a3dc67cd0cafbcaf4a742680379ec6bd8b333fe00f7b7294224bd997d0a85da4af8e27010e037958c480e5a24f5fb43f27512a53fa8c21c14e63beec2e7791a794216ac278df5ed3263bffe75fb0dc80e45f0782ae8572271122bab2c87ecb0d309b433f30b91392a1ceca55b04c367883564fd7521272ee5af301a50a0d52fdd8dfa4d06687119a27c3ec56c3b89a4de6707c5841fe2ebd1dfe024efc946874b34f92bce200b4afac7d03e08092b3e3776cb02272a60d6fe61407cb61c644066fb9888dec6ec22d8244f8b864a4eb0d97b73e4f837872a9c47154e0b71b8d7f97ce476a5f64a8a74d56c3c983dab6eb5fc59955ff4572bbc60cddbdc7a609133658ef8067faf1d857b59a941ba37f8b954a70b01867725279c8e0dfeb46338a7a559f062031cc8aa4fe72a3829895d84ef07cb7f01b550421e81ff08e520cbad3678374f150e93230bf32f82861d20bd060dc1d7aec4f3163e47a11a9053010aa621be98352be875025d78fd54675cdca2f16eb23e872949ea28fdc14cca7f8d3194b3f55f895139723bb5a9e48e87d6c7798e48c6e727585ce423ef9821a335c452d56153b23de18caa290b4c1088421feb704f05a39e7ed75b10f4109acc22dc8fd5bc6fb62707020f95295011ec8403e2bb8f1f55a54e32bdc8a5b9ed8d3d0eb0125804c780cd491b207c41f18dc25c323733a8b6f4f22835026417621cc87224e8eafb9fd344c000702cd310a2fa7fc2b16b653720ea0b0aeaf6651a9ddaf4b059be02119b4f0a63ad19e473fc659ed8c27e4b4721fce399e9193ec14a681c44b03348c7e719de37832775345e2f08c37bb9ec5728ed2042bb80f56d7a399f441f67bb7451953e29dcf97e2bc198a03fc9ebb7d724092cbad6c7927de99bae61befd3dfe18e3982e936a6f009bd22ab55628b33564d2cb1e03e5dfdb25abc3074b78cf7b93b2c7277d99a1f2d8d0e1a7fc2956072982ab28d0f595f61d2423d179099896ce432f81a612bb56b77a029ee915c790261577ad4baf39616660222c761de44be0fce8b8a38f5e7327a45c68ed658126e667a41a38b24477ad2b3815ce9601ad75e24c043a20e946596fecc2c77fce072ac9c31d3c4bced6da780c5a28aa8341e261e80df2749161e72c943aa27d9101e10c02982ea129735edd853d93308275bdb9d257c20a2568f4e9af70cba58c071d5addc509f3969cc8b0d80743f8dc56ee0802135418f351be56490219c4af3178e35a2616789f369166c4f0f3747a795c72cc0a63cee6193297393934eba30724fa1cf90ee9969715a943dc615a6c2e14c9c94fdf3626d57b759ec7d1a542172b8b6b7d302d4fe9eef6d54834a6af00b527dee1f2eb7935d5c83e4648b77e522cb96b5ac6ae946c953d9d2852258b06de2ba1c00918abbdecca591f444946d72af7cc03ef6cf8e4496f385f9e8e5d97c59ea12dfa35e6c387ceddf5fa24fcf37bbb2a929d44a83758620b5bb45bd741506114b460a3909b6bb61373b4fbda872e00cfadf6c971188b475b128085b71fc3ac7bb850547d01f46c9d3f4bf3b8d7263d3d7863bcb293b6f2d6feadd13b9612d9b17b6964d86791edf3a44bcc4b14f7b41e5851012e7949126b5e58713de1d1a4e875614a8f6dbb346d395fdc6717209c171c0fa72ece346b2bbd77e0ebdc3c0537616a0791d8301d1a86624e6201f6eb2f9a4303b8d5e1965b8742474d21ec4e6ecfc529a5dae08c9bd0652aee772edca93e81319ba782537cf3ec263611796d6e8af8a8d31793b28842b1e227d72445875e29045a189268aba6f7bc083c4be8a9a83d3a60ceb55ea7d26f10ace72c419bf12f9f194f8c4f4c17b7748e4943dd9152c3e0359675a4f96fc3e043f696c90e6bc8ea9048aee279787d08dab66a98dc2ada4510ab8819f35b85effc32cc95fbeb05a2ab33e2e550b6ab0008303c7f6cb9bca668367cecee3b7cddea472a7a38a8f1dcd75a1089c87990246e37f08c940da88a79e21f6a7a401c4a6a9722c649137466780817755cfbcb86efe194572f2584feb096efcd3ec99059aff5d27d3839a5c15140ea731dcc67d31ccb82d5ac401147f7bd63bb01dd1a6fb477298e386389a7338618a15d366a4ce5b1b0ce10b77ef49bd4bea732686ebf277724dc5e9c53b08739fa3b35a5ef6db69cce370d3a9400c364e469608e8394a2772496f6c68cdd7e6ad44c7cb2afdc2b911b00ded27946c97e4e7ec65cc6cfaf04395ac9f654f939d607043823317180b5dc2de943944947e711d6b6737eed8905a1a491487791f3e96fa9a249f5e72cfb80c489c207a4e35ad703d4dd12bc277191281260e2623aa410c439144fb920d8bb1a5a939fa6312113848e0423bee1c72319434b3036f4cf0da406cf1274428bc104f212d7a6c4733bde98073d3595372121191a84e4d29c776adaea3a4ffa9b52add326659e8aa91e1008d8e3436220d5f6ae042cca884c20d9a9be014e7be13c4b5f7b527b365455282682f597d9d7236a8e528995f51d331bceae5431132de236baa97ced53ee94da8954eafbd7a0211e001e8848903a4d1ed17ac59529720146e99adf3903a76ce8503882a03f56d958c07f29bcd287067a7b1ab16877c4b04129c9a090b738f67f3c48241f73c47812f07eeaa03438dd74574f2c66845cfcd08194b0832c0b89af6ceef6b5296614dfb94b22671a43bd9dfcf92f68e39da326fcde68ee0a29084d616b67e31aa72d9b1b54fcfe12da3cbee8df6e688962f7b5c3f55cb0b0293fb3f56678f6bd3720dd19e1c528a0bdb78fa800f3f8b2dbd154b656b76116e0ba5007fc56fe69028e6a64a16b2bc230e1ea6a657ed51901df39600fa3c2403e3f2fba1d3c7c3fc36c08b9c0fc5a55bbd99155a387c65b5c6457c482489abbc88c93961c11a949920c7444cfd5b964fc4438c23e361ff3fdf2c5a2f8220217fae4d04e5698dfe00721a184ecb1802f95925e7770d0b770c8f88984a7afbdb328b08daa4ce2e42c172dc548de119f7992d72c23c0ff687f8f1f6a53932fd58a0467bf50ddec609351b72147515831d6036ab1583a6e13a5ce28a419d76e2ea909b89bce367f1550d125e238679ecadcafcf6dfd5956a9ef60fd9bd7c5f19832ab1cf79f3f029e23772210dcf8642641e9a2de0cb61d09faf727411a337c33374c73cf0e75698e8e33a0435690303457d4f51cf78d899d4d7b05ed40238893925b988b54f23f0049270b462c5e2a5c51783c78a27a31f6dc46580c5be866ba74dffafdd3ee38cc7a972becff8c457a58d14de42337e7bd9544950ec888d35b3efae04e4fc93657b8772e14e69d9df7a4dc39ac06a71cdcf1f67a17aac1b76767d4759cd6ab376f82562752a73654efe255c44d3d07a43a99e2fdbf42d21c7196b95aba4769bfcd68f5489e464e1fa94f246015fe0acd434afdff9219ae149f1f6914941fe57b3066226b99da07714d072528e7f87d639628af56c6d245552ea8ed56683f9bb4ac0503c648df580ab13de110f079fc6f0585e8a621c9ea9f9afb0af433c1e055873b70a6b525a61ae00b7904dfb2985edb63fcdfae23f2ebf70dfab4ee30589ba66286ca9cb84a0fdc4b9a3657c7871b7e2f1af6a9c0cf168f7450e42f6f4bd180a56489f6268b86a8571f0be5f1d46cc2b4dd77d86bcfea380a33cb5d375224e06c27232e700f5d6cd863e2d149dd4078ae1a6459ab8a6cbbd1960aa46d2f315e9d7349e2c5a604317a6b6c4cd0c263dab212064d3b2485f44b47d35bf36818fe99f7207d427c3c31ed1c71d4ce4d81ac8e6028f0d0e8c3c3be8a3e08830280cdf4c3a49162a25377bbdf8ff1d606ed1219c76246cf4d9d995df926c3ca6f918377d1c1d1a022c0f531fd7b3891dd6b2c2c8a40a96b350e9534f3ca97f158bb61195287dbc79cc33e545b40fd6dbd7e5e9b1cdfae031972f263530240cea1a9753b75e010445252acd73fc7b46fdb737daa1698478fb537f16b545183f7de5e95adc723c8421e2da3bdae85200964bed4b2c17f2a9ced6599081198c4336976b87861ec24017dc65f8ed593ddc50fe71e12aadc98f46c264a92ee63badaa19b17a9972ef314b04974b891adb743ac799204bef23bc95501d889cd4c3af806d0081cd721d1b3f435e5873aae355cb51d788fb94672070983808fd44784848782d2deb63a919e70fc02f1583858acafb89c4003e74edee603d9a6436addea2fee08f3e678a9daed07d94d95ff69dd7b08489a7036c40280be99ab5b61d6c28150e35e54b079d16cded8ddfc404af8673eb50bf370ae6becdc92d985e7f878f821ad2e16803990deefde1d959bcc9b5ce5dd87d600e3c2384ca633b4a95a5ca9705121e16a755a04d28862e8ee063e0640567550c7e65009fe5f28fc253d3b8f22def8467b62e2bf85779798e2017deb9a18c3862ec590636d25d05c553294779007a68185a7b669e26cc5aa6d446f44bd1994f88e45290babffb65ed44ad380fa3ffb2729ee46b65a997e0133131c66d124fd18a4d5e2d76d7e07e111662d3c412bee672c3eee2d5f5e6157225b5315e0235f8967446441dca9227f198654be9ad3f9c08cc7ad215f4efc8c474367b585638ccee03cbcf50d48cedb252f8f79de56c8672568acc450ce70252985d22d796b01e78d5d869e56ec1d3bb491f055d3601fc724799b7b7d805403316cdc8f970492c5b98c2a56f9edbf3b16e00e27360d41272a53836e2c44f3acd7235f7179b6c3f1aad2423533d26890f2dbe03d31523d700f5902634a0b0ee40cb62f41dd6aec689764c20432a66966fe7b304396240017203c8cb8c868fdca19d1350c604cf540b4eb70d989ce83ef95ae55fa21ebc580f8d6da8178bcde1d100e54cd935d70e8e21c40101a2b3f37d34b9c7f4d4f9b272bfdf1f421a8225237d3751686735e7c477eae1e8465d061928e03c9490fc1a72a6291629223e5a3194e1e6d3ac43ca1eba1d56163850715d25e4ec5917a9ac443d6adcfdc34fdabd5be23601b73c69e53542b602399c7ba122ed6b0806cd09727048f7d2abaf61a2abaf89a81a15b3a71dcc2cd0cbe78996b0745b3ff2d2da723ba6262fbe57ee32d054796bf99afe9c6b4ea0825ad815b1be19f0d3940ee7179d5206d5418295ebf8f13507a4eca1216f9d53c80f7c9640fe2862b9a0701c42d52cb850beb488211e317f6669208912c74805d1920b8c6dc7ce6aacf5622e7233caf681593f6ecdef876fc114939a706654d424276333da474905d1ae5472418f6d21cfe5778d4380988aa4190ad3e6dc83ecd353132a23dbf0487cd5ea290d05938af7adc9d478c95d170f07b993bf503cc60e8ee0ca5633062b8af3e63d1a1ab7637aac3ab908ec2f37a2c579dccb8995584b6679df0da5fd8b67e2ee8f21edb073644025a62cf0b42fa3014f66606b6cea839b34af5a08ebce7f4f94946c335c3b4b40be752c3b58cf3564bd0faa6036293486845bc28c0ce290926caa2b8ad7ea96559c37078c9d48236ace8704571aca1507a4e07ed0f8029aacba353007d267ef09615920068a0cd8e0a12ce21dc6aa5df0d753b0ea4f4800a02e8d066a784e8c5a653ca68cb627098f925e67cf333d13c2e6c2e232b46d7bc5594f21c07b7a4ce81b509e3dd8cc33b710133b6c33d58e6331d391d15008388a218272393a38fccc61960618389601ddbdfe2749aa69d0d5994db6c76f0e897e044972e450c10f8b69ce27c16a65b171120011ed0ecef5039eb5429ced65892899df52d3a8ab6a0c0aede050e077d8d4820d3e7557a9de8a7c2356b3593fbb006e225ca2babda016e20e6150fc545bea30ecb2a2f80c3b49805e47bb3d013518cffd14056342be10bcbcd2d7168695a29059519b7ccc3df06c15c4e0340e1b62afa655ff8f208ae1a09fbf888d1392217a5e021142d74c75bc6b341f9e322e1cc9fb064e8669bfedcf522a854c1bb554d89773ff1dca2bad2ec0d5418385d7300da5720a3d31fecf1e9e296994fa96abc6d076c012d08f229802825cb34ab4aed35f726f9c92d7f729ebecc8480d031b912cd228515d9d953910ba708ead24f3e12d72774259ba6e9cf4dce6df96cdd73ec8f40bcfff1be35d7fb3b3ee9d0e187404392f54d6ed04e28fda97637c6b56cde76d5dd5fb4670ab24bf313711806e8267044ce974564cf9854e943f9c113b71ee771a523d3bbe1dc8cbf3ef2ee864dc4a41bbcffb180ca414cdfa2331a70aa4bd1be63bf09a42a2283c6b2990ccb991a15c5ce8d85d76456e3dfee5755c30ce7c2f2915dccbb3a3fe7ae9b65964c2dea672cf80d1ada0ada0c17905324cd242fb898084b24b641ce886311e93a008a70d43b60537ab9de22c9e7434d4119316d97d1f705b98eddec9d72716a72d72937072332d5678da91291d8a1e5805988d2162e3c9c48f058efb506b72480610540272eeb7505ad92b0a788d18f39f8e172b0a0215261f0bb79683706f5e46c9cce972f329ae769dfc969049260be941f216ab1c6ccd8edae105225b4ed0f6a8dd5172af0b44fb1b535c5970c8085a9a8b03f1db861d06b3083d9cdb0fc7cee6b6067280b422ea829c220423aedccd068a04b9473900914e4149030b646d21809dc53ddc5e2e5375f9cd4a2e18344c23449b70cd6b0e20b45176a4eae43760a7a69c02d9b6257e005993fab02defc25422673ffd4685358334b6a79246cecfd67e9772b7a96f35d27d6bdad5e52790de00394a638ddd4cc07eeed2ee027c2090f151720e93cf91ca041113d9592da4a8d46f50206c5acd0c638a150818314a4814272cd7ab5de3432887413af91972ab27be38187122bcf0f68b6b3e747ac1127f102701f8da292a55756dcd7944d8f29592851c65ae53107ad9543773dd8a95525a7264efa5f7c951e906cae79d14e93527e040676355ab0883a222836c0f0a279502c55a92ca3e8e116b54e36ec96533ec5e0bfe28cac3f68f86cf7c7ba1778e7d6c464f01187aac042fcce76be9dadec6f125159dc93f078b4d89bf13b9a925917253e3d73590dfa260c201793f0f488bd6083155d0daa1d1f466ac832808414a72c924be6b3179bf723b575b0b0314cb03530ed0a96a6196707aff6fdb2974527217267743254fc5fd169f9228723e87fdf771a73b147a3cdfabbc86b40c2d1872e795339371f52f142f5c96650eb0f8f411e912c6d2a5e43a493abcfbe8299c7244f2ed7ba3c6ff736dc30581d367834485328d88dc1bb65b60a2e8820465d97263ad11a8323dbf58dcc3c95a01e86c59adedc1e5c3ff979e1deb134b7b82b221020db9378bc413ca8d702f15a14046c30f1a4e87ac51ebaf0fbf8dd97b46e7728ca40987e95f227143707427432e263fecd2c1aff0f3735de89ee161be3d397200ece0236625a1027b7f9518aa95e1af61df75572a46a602deceac8a98bf2472a609e583d748a9c0ae26f0afe1b38b7f8ccaf6672f69eb285ea35181622a16723993aeed56879b033a334f25a277f397f0f756800a4c575292547d7be31be62c186296aa1a68a39683da33f0814fd01f65c2667e1457d5011a5313a0281d6e1edaf5acdbb8ce8d1c3afb07580323f963dac840f3d998973e60974226e41631438948863f1e693bfc87079bcec7d60dc2e0f6087ae3718f69b3b5dc8f72471e727c88b07630e2f0ec19e52d1bb2ce29b93a5279e043ae3302e4ba33af590215720290f39f128adc0038b6348ab751986a2bbf874b51584e3b97a579214acd73720d7d03ccbe9fd81fafaef4b6ede19f7b4889cbc040237effa6f78ce6442650348edf771ce9e496182f4a7b7dd4bbbafc4eb47f3cd1ec7aad91c170431a887b72df3f3bc0382effc55439406f80cf4df0e1c8fad56c0ac428d5cdab0c381d122b6280c54526effb8e0334e7c4aa914d9a64462846b981698ac0a55969ed9a8272e9e8bf4acae5f0cef47f99cf18ed1d2518549319f3d3471704b2fb7c4e5d24723432ed86ce36d774ab1293eb8bb015fb83cb0bd6710490b53d69c468ebfe4b3f261eedabc2b288a93fa0a5b669ba8cde6a238ed45da4209cb4bf66639dfdd71f27b642b6a44940248a5d529ae62dc170194a57a9f42ef90f2e644628be83a816866d79ed78421caa23173320c29a433df38de37e43a3418cb0915d976ce6af72f60500d46f153ebaf9ce1e8da77261e00f42eecbefc6c67f6e4952b28e0433726ddf4e7b259c6ebedab9b194466960995c7541dc8d417fa6e00a90b1f350a4722623c4cd000089077ecf285d1414d5f14bb62684cc34adf828d231f7e18b1a72c0e3460661e2f973cfa6da97dccc1e923020dbee524ba7a05eb7e881078491726cbb7cda25f7dd39831f1800b8ce30c63e02f1fa8e998357d92f936010b14f72d091867e2a49118384188400fe4934abe456c10fdb30038cc862005131bd5d20abf712b8ad18580d6ccb8e3cc8e1e9c8a73dc70d9cb6ef69a39230d422fe9b72894086f060ac904407a9ae294e8d0412a8c479cca9e59452fc99617fa0b0601d4cd317140b6fa1681f2be1ac197bf779d5d86f3e7b72810d7f36e85d610ceb5bf5592f8cd3ea8c8bf444d99368b3fdae6c2a75e15e6b4d60b7dcce475098c3075c3727fe022c1827c7ed4557e12de98a078cd0985a3924b98adf53a4a51d3872b0cebdebebea1c720d5c9769c62930738c4721e796c06c47a4bfb1bdf58f6f23bb3c452fbc7c568c0bd860049bc1fefcfa9b344c2502dd4e69717a50f55f7d0bde30ef37d5b3d0af19710647804161499e3c342436be7cdf28e21f708597d772050329c623b5e872bdbce20a2372582cc9cc3b9290b6656e518f4feb0c9be172f4270a6722970930518b2f9bc28cc4e01ccda1197a19fd7f513cd7e654b00572cefdbabbcdaae4eeff2de035507a66cb579691e0d2fb74814bd96a44e2385668ae283848539cf64f682724ee0e24d4fed94fcccbd00a9def5037102983cee16bfd5f88ad4da2a95d494f930ed7e225cda9bfeddabd7e151ab61516a8fa368b658b93b099ce526639a0dba6336eff8d843e8fc6fbf611237525b4234d47c7dc72aae7425460d53c524072f9c62cb70518c37b863715ca170f3305a6594f16a8720cfa375c3c08f1298ffa2451aa6430c63520a263a7ad2bea1c95f5d1069b4072830c54d571462e80630836baf65608f5ed26e9e40a9349e28cbf47103266637231db4077414c46dfe6da85f14b09ecf7556b7364da17873aa3cabaca8ad03e722ba28a75d0ca3607bd38713d71c5b87fa0422fe65c46469fbeed4382ebf7c825879858f5b31b0022b82cd7beec70f5e0dbd9cb56dd4d6525fd7f8763eede4e54509a0d2d5c2e2ed2e78df02e53fb8b7ac80538a7a962e42cfd731a663bdc98728699765bf902ede869b47505ab2571c99aba278758270f839cae69744b8a2c3fc3712ceae2b89e14eded3b56a08462b1fca840b98695ee4c214a5e01f5ecb85ca04443f71050e0e9252c312b9f4a32f2c727d7ad19104bc69f85e722858f4e2517e905eb74f0c7d8fb89ce3b17ccfd1a7bce6ce4713e3bec9ae6cb3752966a719c04c91b5b34d05d46cded36104cc59da6d39665d9c24497231e868f29fbea72bcfc8c8feff22c7aa8371f7ea9e4ecfad2e2db82b33f8f690c87ca94f194bf7280945ca0c28bbba1d0c65192d9bff8007d9f8adfb17b0785b12feca2cc55bd1ef2cb4597f71ff99f5f17047d2cad19af448f0eaa948d9c527aa3e873b6473a72b74cd310a88429c7eb097bb33f51270fda81112b6d11fe08ea76414bee3f0911e86d33cb6b9d26643e7e6b13049c1243207b79504497a8b3a9d95c8545edc262259c7fa65e98ad070dca9bd28c3e4aa9a3a7fe4371ffeda07c12eaa17421f07211cf2f433806814fab2d4be551f252ec0cb55350cbf7efab36ecb905422cb07217a3a96ae1105c2c5c4e62d1e94d430ad72438aeb08fd80c299980faf4a1291725fa7179b4c61b4803ee6b2d5099fbe297ea1c28583afc04e470b6adc9e52a05997b4665823acaaaf7e45b774dd9e259b352dde97fb18b694ec84584b71048727eef8cf05277b7238faf21062098322ef5ef210b707f79c080d85274705ae872f3e810277a48bc198a021ed00d8bbee649e3dd835a9eeda4084e4a5524adf567cf0d7b89f8f68edb572f50f77880f5c0ad3f802bbbbee22e33d228481a689439b785d0c387ff833f29fbab430da5fc7c55590ea7012fe6a5438096502b32525cbee15cbb63a957ca8e4914181df50e56b9c2769b1faea989742866e67690e25b9a26e97910cbbf7b2314f5cb9f1913c4b55b0b4a21ddc30395f289c5768b367203cf37b809171ea5ca4983ef6a1b295d752766718348da7a122dff095106981a396035cc63f8a08677c68883866d41e761a9897c51e3c078ac8116fd0da2344196dea5b3bc88ca74752597eda81249d9a951d15e225af0db7e46a1a1f95a5472ae7a4164a4c757f83b0cf864d4ce67b7752513108f6738c3244b486785222372553872a1a474f510331bf4a22068265ad75a27ec6fd2cc61740a2762f58f3d72a8ed5607431580d23f57eb6d9c7304bc3a986928addd379f0e7cb79b96ff127205baa8d0273a98754247cdd12b708a850c7e10d3c462a132faa2d69ae7b7bf47d9094d1b5c994a0127e0da0d6b6627bf6e95c87932fc2f9ee30d172e86a00e72bda9004a205095c04448b2347f261e6287d257557c8a41e9e5b727d9aaa37e7222e05ee4e7bfecf2b5cf8d525c148a0a567df3dc6e83dd42a4353edaa0fa3a7256cfec52107a99d6bbaed5c5ce0153cb0d26763d9496b306c4664904fa201c1abd0d958756d259aa6e04336249efd55c1f722dcdcab46e0200c101d9ddcd9072e6a9db2e646ad4a0a68ec1b199d594ef706125fe1d937f5077692a3c7316702e4b63b6d4b67d326d530a41dffc32e05f1d695eeef2bdf6341bf43736f900fd72a079171ee91cf4ca9e77230b1d07411185bc790c1097a4c17fede614e5e9d87280325b4c7d2d75dcbd602e1a286d852cc6ca8e1e3e6c61718d7f7a0c63614e7246acc18cadaa1556b77569b3c052e0d31fd1614e8846fa3fbf34b511d214342cb76ce4fa2d7abaee480d3af988f0473bc942650dbc8c5761be6f1c887223b22a5652048ab4c74aebb1fa1dbb8bc05b50ad40c68ca33aaa0990b4946fad67bc2003d117a182a120dd8e5cafd0877b3d80389d36168068dfd2851bb48ad555937239c169c2c5b18a701d36360fefc0b4222160db5464dae83fd0a2bbbb0c7ac4729f5771180f245f7f1333bd275b3ee2f4e4d7e9a132231ec0980e26954dddb2728df9c674ba41bf333a905000425ca5f54e6498aeefea162e8a3259519c25557268865a645e96eecdec6e08401229b44efb9a76db28e1a1aedbc32712f5755672c4a9a598cc941d4f5f90237d123af2fc7591ca5dbec4b5c2584141f691e6a872ba8f7924b1b601c3767bc690a39378e63031d50a29ae586d83d1ad49ff508b3dff2e636bff43c7df0530eedb643613a5557e510bcd6b357ec22d8a3ece9a1f7218035d4ff559b92e11c906c6ab854b6f9e81ff28e3ba6ea75453804b3caa9e723f0172c40c468604c73bf11bf523ec9a6b6683fe98efda9a7c2a953d246a09722e7ab72d6b9cbbcd0e4afd68feb5a27309eda4cb703c39eb13299bfc98a039723e736c0bb01378d192015c11c046606ddd290313f5eb18adf4e48a4e561f0572dc42e802de90e5d8de6104b4efdb7a68463b33182ffa2bb194efaa595faae1729a799d6e74a19ebf3ec8bf5de5ce6b18e32aae829278f179ec64ca70a8bfd37278861751e065109c8605f91d3945dac33cb0af4840888503e381331998830a0254ebad27ab89c063907d38fb4d575c063b8be91e15dfd4bfad2d2a6a10ab0b727650989cee4418253fae43f829c700e00df3b51ead535fc6e5a3355290e5246a0b3e6b60fdcba5af7d0cebb5f156e55c15873cbd01e6e65def21557dc7d12c72bedcb8d6052992e57320d46dda3965ee925c5bb90fca2679894a5745b97a12726becfa1af5fdf0384d5ce9630c6f0605de1f94c85076250eb13f25e703703b720359b27318327f82822fb3003d1ade8fe4dafd78e69dc3d9c44dc9b45c499d14899f42b13f588b16e4244b6358282172584a140b17d63f339862e44a8104ed0adc1b025185fcde523c86eb96fb42050149dd289d421b64369900ec9dd23d4972dde63997bfc6e6cbbc9fc323e5d253d79c2c5c8ed73f91113b80c149fb86563945ffe5f1c11a1314c76a7c5e74942d041237add952918d4b02e9790c62e41f46a356d786ffbeba645cad56936c8bcac4d82437d41b89750c7143513641221072e7305f298e4f874f70afdcaa4545c27f0b2af208729656adf2f1fd14bc43af72c79a9a3bedde365ccf1fd4f72f049d8f90c909300b09b84caa68f5e7dee051088d433efbab35ed9a0ff4d8722af1d5fca1ae2349ea7f30916b532c80a39f0672924847d533cf2be48bccea6b8ac710055bb7de3e5a092280628530e9282f5872931a29ec90300f108e4c98da3a2c1a9728f0523863cdd9da53f18e05178e1e727aa55cf99de6e96fe1ff7c5c56dfb868532a723e5d2a9851f43f22e356d1f64d201a9a85b0c9b2cd1f97f8c1927820665c54e5175586195788d0f47e1b13f55dd505d568a0e483572bea5d90afbc3a3a8ba04496ab14d699df2d73f79e1eb35d36f1c3e9d4eafb40732384396f0afb4ec57c8c0b2dba50e968422fff9af22572ae2c375ba7988991acb201857a92e3ffe6bcfe95d1013ef65da529f377372a5ee078eb2366f1a798771d1456b5d7e4ad6e1a50f7c548cc294c99b168c45191534809701ccfa3b6681b539c25e37145607e9bf26546d316e3164713479650f572afd251002e15e37c2cf0426affd27cc53b367525b05258690d6a4ac8af578b72f005ee18dfef78f9144e3eb4e4be0d174320977cec522ff846e9f2854a206e7285ee5e8149dbc99ed115a88dcea180a84233ec249f6f98e61aedc89e600cda42e79bc5f251377effb477332def1c643e14b1b96733deb5a4cd69d55cde90f0523c640be111e0ee45d4f51483f8fad827c94fa671b1c4fef2fa12c504531c94722ffe75e7e3a1bd62d1805908d7bd0ff64052889c6754da039cb65e14e2dc7d7260ad439f2fbf92f49b38b6199b7e74f17cdc4b5a128ae15da3649b30b7e30c14841cd3fb1c0cbb98f36d9230b29a059048af5219e6064eb0cb7d582106661572b502bd7f648eb806f790ffe5f22aeb47bd5b01c033e1792bd1fc6b4d84347c25115f29306de28a86981006ebe3c59bfce16398eedb5ae866f64920a7cbeb93491a57d7306a88e96f8b6fe9b43dbca53b1948eb14754e19632a22b2220ed10f1257521fdb5bb9f43c3fd92e9fd8c265d80b4ed33968db4c9ad909d1d2c0d40c1625b551adc04873c28d98ec884ae49bccaf7ef0ed7a957fa07e0139cd8fa4a772c627af8c0447401200bd3835d0ce0632ef557b3a8702e205edf6b19a138c9f4675fa33f84e313d31df000a56b22445061f7c2c4ce0ebe49c7e82e144cc02e07292d8f1533a50bd1352b862d65012caf2e65dc693f4537eeb45feb0e56de70a72e93ddc6b1933fee8ed79eae86911ca3d6fe917f53bb6ea322d7146b12d53c472d19dac7c60b7292d6f1e7211e185e64f264d2e92ecffb9eb17de53889c438926d4f45ec59690adede270891d69f4b87b2b85605e13ba1f52af903cdace8e7f3ad19b770fce515913b3fe9578dc25fa8c5c9b90a5acd6f420cbf472a0792cfd2a5adadb791f63911d0e1b296092e5a725b805bd339dfeca5baf8cc3c236cd7072b668810466b707d81038f315ea2de14b6d60095975d11383b15f47426a803272e88b0df9746f1f1c7d77e4124bf3e1aa975d38794da716945974b46e2ae89e65b833ea743af125a554eaf9c8b8b3df1ca28cac83bae739a9e843b9aea099135f10b7a515b4a45454d50da461234cd632433f2429ae3cae5b3f68a0502221a072fadbf2342bcef8bc010e1b29266c8b277c9317df8c35aa0fe0eba201352513728f2f6581d723c31a2934e6fac64685f804a98b20289709f6d7bfd00d5892117293420f6fce22f8872518bc0b1fb1838c90bba8180d5ec4a4e5c41a338dbf4f297be51e55f65ce748e6d0c47746c7de2f5f904be49ee4cd1c41ddff6f58d6757260b165dd91b6c3859ce1f36ea9b83d7e19111f5a95465b8f5ab75676b5d550723bede4c65c9553da9d189567d1c588b904a413954ffd29bd9410142420dfeb72b4dceb7db73cd5a6356f09059fb5156dc998b325cea7c4bd0d2baf4f2c643e72961cfb82959cf89c40ccfca02fa4be66c25a96d561b9fd57525671e5714ac8720c27c11b8bc87938080c899a2652f06b42080d7a2c8d3beb75a31b01005b7c72193a612e9dfe5083618d81e7dab66f538d930b08ed9ed86d75bac6b20298e3421711fba171146d6cb14b11594f6ecc2727f0ee4f2b0ba7830dc9d9932796fd20c3df5096e3ab3f7d5de97b5c61b0e9cfd6bc7b99a0b231e2a31db7788b418b23a826e15dad129e885b17e84612f103df26742eb3d2d1d9ede65c58290dba0f346888cda165c8a2d182944c6ee81104431275cd488c672e07f7fa059eea7d1e36bd53feeac20efbaf571a50dcb3ad973e812ae70717b315337d3c8612e80d8e2cdc8f17dc1fe67fef5f722fa360bd7592c3a728f234271e3eed434deb1faac272729364443eec64a16f5d79de2b792a5df2cffb4e155805dee8e8b32e9af75472da744d0f7754912b24065c4ba8eb2bc0875f85ebcd25a643d7d5919d740b6b22747f44d71b8076d0196a8acf21225f12d81b81a15a9ccf809243e6d8b09f417293ad52c2e124871375579ca4f091a3d474cf8f7b14ca0058df187b3f4d599d72294bf0ff4fdb9ef84973b3067dccd7499a316d9a158bc17c42c4e62caddf2b72fc9928881e6584fa1aaa1cb6ef4cdc97228c0c83a641d4742238616fc8bcd26728b3194f6d7dbc01e2ad3c784bd79e387af289966b15655d46db566e91e20b721baccab52d1975ad69c6b2d28fdfc38652ce559fffe47240eb86cc2b0fb2275dbebe6e99d220848c709b93168a652c972e817e772f293f0fc8d32c78f59655047fa34ed8712011e6d8ef57399819284f6755d402304172640c6701768fd40d0eb4f843848019ae6edc269225fda280bc9917bef898170a3423891a860b12c938ba43c93a0cedbb93e3bc1d74269ae869368b31b5ad414c469285ce757199e972bec43eea55d45ce26ab00b685c4ad8afa3eb6f823d022e1a910472289904101e2abd2e05afd11be9a6ea5dbf98581b85cd02280207940c13ada125da9c17b772da10b51b3849c1c5e283ad18796d064cf516727ed4ca321458c1473bf6853b72c57168892ece04ab9128997babd85a8b33c584ee00f2dc3cf12eb260ce021d564e480f0e5e6e628b9b3428df07a8ae253ddc3de60fd41152082f76c9544ab4726172111eef30e5b864625a295f5c8bf9493e9d27c890d1f43b066ca225adf2003dde7f58dd5400588a95b6810056b9fa34e458b44c330e28c4f0f550476f3a59483bd8adc1e3b358eccb565ee6b847a7342d9480c26d6346a435587e069fa7359850630dc530283bae749dacca56d561d78c5645754c831cee0144f8144fbc5e7f143f6e4efd4480097c769e98c5eb3f8f63b8a02658b2cbd08e6a076665062e91b9120907002d32c06390bb6f096aca73989dd33267e165d113fff33ea99838f10507bc03c49c9c4e922323354eef0864d78718f099f1df42de29a5a17dc0644639588be6abc6b2df491be8f354297c9e100b4e7b7f19f5772d6d8bf0e49d4a144d23f438414ab3e9c096ec55c8c44f3907656dbc731570e2c7bbc1f975cf72f15a315dc875daccfe4553bc4d7b9b38215ad86531cabafe6e9f7c725d06737250af8919067ea3ff4d62d9c7fb3f30871a70d4bb4e427cea991ec8f74d91b50c08719520930b2782f5cd86719d81f8fcf8232bb13ff98e361c5484c8837ffc72853b39f253216c148436d128da82426808808bfdf281d784c428a53985d60032593c54cbf16834eaff3f7595f0cc768de808015332835214e9a1e5448e56db720edf83ba9f600f6d31045f286880ba30c0fe1f8ce3582088948e7d45a865e1062f287425545c891560944fd93e6fedf8ef5a387894c5723572680fd5387c0d69cf6cf55882a9d7d4bcff22ebc52edd9c1b46fed355d8850b5fc264e9decb6672f6827ebbe676c6b4be7a9ae79b1fc4fbb9fc48e5d8f837af57bc5a7cfba6c272fb53befb96388f88f002e55ef05da432ec797a4fc224a826e938c8e3201aeb724eeb9f7d67b93abf4f233d1e43a01b518ff7988cf326cb209e21041ede0c63727782f49102081a8f3d322197ea0656d8accf478e751bf6646289cb07722e55727b6e5e49ebea62865af5a25dbe52eb9523c01a3d884c34aa06266d0f8d77fc5f2839e83329f7b15436e960207d045d4b55b326d045ce67d8f66405af4b2fdb3645688494bebece2ef5f3a8913bd6747ed6c0eced1b1a9a3f1c3f13e77aaea93e834eb75814ed267fc5a5fab2828f360065d480ab532867d00dd1f7b1e88f0e721ead794787290d86cb24008cf3eee5de9ae8165e06c77fa867bb83422d17513b3798df91fd5ea80ed356b713612f95af21477a1d25293a3596ccb85a51837e720cd3d4aebf9b3ade44f1ab6240cbc1503c95e1d5eda06c120c71f388daf9ca0df78971a38a98320939b2ec6ecf62499f97fa29f824ec6e1985a1d6ca57032a2dfe3e345e0531b4cc577cf6daf209dea6eb433ba5557d0bbcd6375d3036f36472b0cf26d8472adecef2b7ffc02bd40abd5890b20e2e5727c573d646f2867e2f72204b27ce3eec85386d5ace50121e4fa832aa518de415a75ad007f49835b4cd1d38c9e755b549c2a6400355b4321162295dc0d3b1f2a3e943bdf709aecaa33e528cffa705423addca0f63218ad44da4632c01e7ee0039913718c66deb0be43e44e1c6cd90f26cf27b2e10857b9f94658af9e845cfddafde61476bc615e5ebd472411a58600879b7aae0804c2c7fed03d42b54e88fb72a3a7fd2bc4522609a8772bb227737f4b7338b6bc9c7eea9cea3510cf636f865e04f4b927aa55d296beb7218a0e8b324899d1cfd65895468d988bc41a27e32bf79bbf8569842ac382b3406565d0650c78a35aedb809f33d4833fd7bc8f7f663cd8db7896e24557ca8a5d72b4cef14866c923389644670c7e6816407f137e70caa03a28b4a4c50b42cc4d72656a1878888d2f656af6fe4c4f26a3f24f6d7fb2d863e359e858eb3cc9c53f721ca7bccc7018d84bf9476b0672634f5b63c4f1be99d4efb03696377902f907723958ad26aaef0ee2cf11da1e769acb80460613c14f70cd952f711749ffe79c7284c86bece7e373cbe1db05bf13fd9509d1746319f16f03be884b38647d4b797274d56632e2e32e8b46f1bfc58956936ed1ebb81ae9affba787cbc72cec009630ca325dab0f5122b4f0225de87db25e34cd585062fa9dac00fdeb5fbdc042a77294618a26b70e3c964a94ae4a3c5b24d8b8422f3fbccb0ec66278d880bfd82272392fdbf1d21ca64fa4d5517ac3555b5c7d8c16af3e7cc74b98d9f396013c01723c225190bfe8c2dbaa2ae1790513f4ea344ecdef8a601d99708f73cc261f0272f6461b69dad403a7aa360a1d3efb6217966afdb745ce697e8dc61eda8d7cef7299734e0d01b87f6b0cff3c726d777ba9276667fbcd7c36db943f3cfbe3888072e2254b7541a539f0e09a49f39a832a2df83102417d83eb9849a820e10fdae4129bfa4059730b2eb00b0bf25b181d07e2f8f3e4b499758d036af9297b99f3b3727ce6de1fa8ba82cf36d9a2dd38fad4167a53516ad3df53b1c44c0c67b1167b72c85ffbe7f3cbf69a1c33322c64b2eb1d1edd26788b41ac4d4ecc052341c3ac0d6f9e2fd4efd27b7546ff9c1217118171ea407bdddba8ad683e56cd2b844bfa7243b354b05cb70c6e2a284a244c53b53dc84ebcc37489a3a98d9f5b1561fb2e7286e92e3fe54b9d06d03f8772a1c09af09835496b1baa6f8d8fe352288dce5a7174d2d3502434d6cbe07116b3ac320a2e69d5290deea396a48849541b5cf9406f9f3d24ac45cb1574a5484f953a41170dfdfb1ff0d52507235ec645d484c1da6a2f6fdfd9f57a42624b174c80542b132040938a617f40942ba45bd4915e8c934bb4fe693022617782c98d6b52721ba3b1c2e85239de33120b2199c3e5c275772090e295e45cafbb1d74ceca36511e9223faee6bbc12872c2036d5e07f69216d72e22f4602ab5ea914ebe22c398bb0da8f03ea92ab7245752b2668724e60396a182f31d0e9fe787704db68e76f98056a9327d81acfea454a670fe7e6b52b06d40b3b3c1b0456317600a802f699d64b60e5f52432f7834add61415f162b609c7c7212624645406e1b7970899539a1065ebdf7197794d0045209d45983cfd998f572499141d1dae23f1710a6c61126427ecbb8b523cd869e8cf6ada075f8b4bd8c72ff3c4500cfb7c4a1b9f75a3dd567588b684e125e9a97fd6d004336491b5e842370f7bbcced8c95765117834c904bf1cb570596f47c9f71641c71d83d048dd5439a88bd97eb98620a615290793bd0cbd30549fb7f1bf7b2e210425bb229bcfd72295999cd87e8f7f9b33d49735e9bd00c2974a20035bf80f0747e3afc663a1e3cf3c55868967e15eaee7f2d43a0b98bea4b18aa666a71e67efa3e1aa90ff31d729a0cab21ab925f3a05418b03ff5c953bbb33b02294ce60e46d54810ae4f2c272834b3d27b49ab3119b65094338fd84866a93f0383f78c0db50288dcbaf6b6872bd9be5d4d89c9fcb0a9c8b73ad0527c3ff0d05c4c43a581cb28c2c70f54bf249083d8b26b6cf901a26aeef07b3788936065a8bc6376b9b709ba6f363e0d90572f2d9f5364ee2ef1a361e619ef28ae2fdfae9483a521c771725d7d0d287e45711744b8b8820b2854d626abd0400ff2eeac65414abc1f552c442eca0267ec479729d2f87ced3544450a6ea4b4461d6d5f160d477f42c872bd5d41f487ee7e188325d2bb070ca73a81b9a5a7c06f5bd665bc35cb3c2bcf507c27f433e39843ea672f2a986050b18569b7fb71eaaeb476d0114abc8d3de3bd0bd01e8a07477a03c7225c41f7d4c725048b710797f6491dacaa70cf240535bbff6f44b41c58c5daf5b75de392fc8e60cd1e8f38cc5e87189c5bb8cd57b0d74e8bb302c1fce5d735e2cb5d704cfcd75864170839d404f00633b9fa25949bcb13a1870058bf3af76d35ffc5dead3c3e4a8dda18cda6523bacdcf0c4b43ea0180e1e1b8229da7bbecd2725636b1e7d7c1b2ced1db951708c7b4ada9d412fb9ded839560fadd38f29df672a56cb23b8e9252dc456a209619ddf855c5c70e713845b18591401b28d8dc6b725a86be4b2fc4453f86f3cbd5dfceeb75aa6d1898328f3308b4082bfdbb2b6b72bde9ff0e937bc4d4fdc938f72a5b73a0d78fba7f77449c7e5a7e8dd0cf6c5f601255baaba450bae300f708d6f40591058ce6db1ba00ba65702cbd8eb7aa5f172cd68580264ed340c520fb1f62d8e778db952bd8e42e3e8da047c8d0d19148458f2ebdf38cd6ed7680028f1e11e702999efb8bd14c9c831869dd2d194c626d7724edbb5bcdb94a4ad11ea351ad06246873a993676ad538711114c49c0ae6bcc724af996a11a83fb3babfc0caccc09f53c3e75a3402e1cfb415256b0bd1556134e69fcda44bdff64755e74a965d5acc7aa3c97c541808d1619fe56ef35a00d632a45b33c0d91b692a56cc34810a92a0bd1d3e9540c9ba75fdfb03430332cd397727fa6319306d8ea428095825848f1a7ab1ecd2466f0500b0cdc9e043c02a76b726fd642b004aaea468fa35528bb3090ffba41aefeb40751f3ceb4beef0fc70b720928549ef730a81a90902e23de1e7226be8376896640812dfca75a56387a0472efeb3a17214ffcd0201f7d6d2d462a0ead26813c80941db0623d84bee35dc9726af3c421ac279443ce0cfc846760945e79f8ed8787226c667021f429cfc00071e5b081264c0aae562fe99c47f09d2b79e6c8487749fd2f8e6ed59b2dabe8447252c98aa5f4eeedbf088a67717919883cf2f3e1e4c1192b7e4cc17e1829151872719fd80a35aba7d2a663aa88aab25ed519eb40f2d27294fc7235907c31e42612420f83c112251490583ec35d8a5d807d5e5a4e8b3a667fd6ec31eb5053759d72a26c33ebc578d3c8818749cf75b472814e4ced691178add6a1dd1cee16aa8610df77df62eb3b143019b0e29be7bf59439e0a721b7bc08d9317ec9deb2beb770ba189d3eb7463a2e4e41d866f477000972589b5af22c35ccfc6355e287a8c08096effdb79c0678a33a1c065a3029a67f83b5c442caa1f6f06317d29225685b472ce45d0865dd91e603b9c458d0b9a0a777559e2be1443a8a0b39c441398b19272c7f719de765f2ef9c65977926ae9705d54bfeba7c7d1dc0fa9a8007caae67e727ab778eeb9aaa8171844563d08802be367ebea7a13fea57a07fcfb1740dca27234f46e3fc1406ca0c120a01488610ec52c1d0af0f23875e6bc025e64dfbd7872b343c9c110acbf29bc4b5a173998579be82d9f99c509c29ddcc99828d297d57224ee699206c3d86a44a2d02c99a5f4c16985867db89c815ab3c6f35153a9451b8d290259f9a47fae2361a989ba23a2bcd049c07bd398e7f675b364a8fcd687729865bca5ee5d24e32eb8a9b7dd0d6495245d0559f911ddb0fa6ec0b18568cb6a6730768bb5ece7a3b7b00205edd6afba66d54491a77a99e804d3a1775f7439107b20c611c18312fc315a04b665127885ead7e0c7b97e54111a362942aaf1c266d920e95c6cadec792d970930dcd2b3b5b96578d0e533fd07076fd882b72f4572b9736a7dd3587233269fdfe82102c4eaa032b65512f38f91c7d0a435bcf7077267b639042429196c6cf2323565188570ce77c1fd8a176ccc92d26249faff54506053e1c90c0d7818710aaa950f54ecf28fccc50baf74f3f1f42e61b7f41afb727fda8163c4e2983310f5b0c3e3e0029ec7796c0ef2b5e1392ea63c27ec7a6f72a7fb528f384b5dc15a8b598f939ecb7f598c6d12ad25378795c5907d3432450a727d83a47f249608c12063c4dcff54a31562381596ceed9a239e76c59582af72ed7291dde041ac7f6a8e801a9cca34a06b535fddc8494e8329bd184ffeaafd7276d25372c603c18d6f7cbd69f1bbc3f88f442604cb06d39787527c9ce1c8137295880c4de04331f5ab5c43f1567d13f603ff9d6ee56a8ecf4b2a84c7048cf9342f29dc45351b30398e1860c13288bafc4729e35342afccef85458773894a083d4f5e0ceb949b4ad80db51b1b30f94418367ba1cfb38a122484efff69e39d2d006e4561f23dba7c774526208e84b8cb0e48ad63f1e2912629c47c0457be76d444fd70e04608e638a20f4b0514e9f105d419ca5c248db4dbdee5db8d8db963dc72c9b9ea83420662698dfe719aaa6c17ca0e652a184a9a6cb5f5212a36a6df3972b430911279cc73146b865943b5c6dc9a242e4b965dfd538932d4c5faed16ea2ae9404a0f0020c3f3b3da0861aa16b10bebdb87dc243f730c845ec5757e667f4209cbce740b5f82e6f9f0051215ca892f30765982d1ae560406d21c11221d6772f83d1fd441e1328252fb492a5bd2cc10eca8403dc766f6391745cacd396e8e22edb97afa24f5626ecb37cd536f6817cc1e8738967038aed14cd95d1b1d2b2d722d1bf30ece818101ded499e5b35d64075bb5a46f8b0bfea1361096597c919172eba3c34bda6aa36d8f23b0128e24920f4209ef8a0ce2b7a95c1b3f3cc46f9b72130d8d8c2e6fee23af41172e68c2955c1b87b9f504ef61dcbbca56a0a6b7e37264b49e808e7810a5ba8e9962ca93e427356709187a92b743303d854a1927c60e819af1cb8770e372db3e998cbd74a04b25b17371d27ef22a644d3309785a3b72bd0ba77cde5943fcc2c7ecdcb198aad310285c79e3dc6d4ef0217044d8f0cb72eef8c4e82039b674c6b0e66307be774b8766b78f0abf6fdcb7d70556677b9b56a4293f88200618a21f64287b883ff104dfac0d216fe3eb64fc6901665f72732b2441e7dfd24e7c292915f77b9184d64820187c1af3129af00572474f4f5a5772ee6a4ab1ec1c2c3e972c0470b0610863241a11e50cd9e1756a4e1a77bc70617253da801d70f69b22fc36563c39e540eda2eb3f58a097ea401ef5d3c47a6b29189e8f43c77275544e83acf99aaa503880b1bae625264b4c0fd81a7687bb909f23fd3b85f2e1af67a09241e231d7f1018732f6ad257ecbd9aca74768fa261b6b720efc77b953c805484fa823ab4e82dc6c9d26f80a3e220a1aff71531fc3bbb47234ec0efa2f0a04c45dff65e2490d84c19afcefcee164b5634f2714f40f030a726a453890b36d978f0f2cd663ac2cc315a090b3fc213932d35bdf5e885f25ed2f9c5dc7e846d96b09f23a75e31594e1e966c92e67366234774dbf7c3de9206e10dfecbf9b203bacaf222120b1ff4d8bbfe8dfc0cc0caa9ca43138a06056632172f9343efb6b68bea9fb64d75401822187cb41c459eecdf8811528a570653b95728cf3965d7075e9c1a4193869369a1fa5e12b2eac405d359dfc0cc046a6c29869ea71bfd6b8a489bf12e48672eb5e92c872f1e964ac62a9bb6eb54b9bf0a59c322de6c07d3d892c3adafc73c6c97082846a6f8b94b97a9590434b77beaea79e40caa75634d813c98172b2fd3b857b1a40023b18e26d564aeb8861385564f3a572f9e33e06e58ab22559ec72a1b944365958043f7d198f3b781e4d2b4b449ee2727f282c815068b79c01df1fc4bd4211b1dbcd6102abfeee8e329cc96e0fdd912c050c1250d14bbd72a5b1edbf1a785afdf00aae73d39a395a86e8f279533c98274d7e7c22b90c88182c2498cae7073c97ebfc829e4048982bf6dcd2cdc939412c9ee69437e5ca0e00f183a602b70ae13beefe3291fc0ab5a23707afc615c6af2d6a63f53e39cae1a16bc38046cfea6cb50dff390f03230ff86751714d448611120d4d310aa4c5762beeb701d6d3bed6ae4a0689675bb2ab88fc4607de64544d722f90fd4802e289f1d1ed0195a8c304ef0dffdaca4756b99dcaf2ad64c5c08672d9aff049bd0dfaf5f88870bd242ce3349130466cb4541eb7a2d7e1cf529f54728f852d327dc1fb3ef192d356705c7603f6eefdd0399eb2e482b6b6d2ebe99f72cdd79ee9e45368e120080458da01ee0d32da5a4fbae55c0188bf6a5efb21ad72e1982c0968524dad64c5e2e7b5c230600a045bb4d8fea60c11c92642429a7d72044322ddfd2cdb150661992904ae767f45458dadcf6c6e2b6b530645dc2dea35dc9874d3fd607da38f9372b75c1b9b404f32936b747e3b7a3a068aa0defba272bd8c0ec819adc55aeabe9d18b96f4ae33f405e72c46ac723d7a7180a1c62a20b0c8fc795eefcc96a9ce291d56caa12c51c2509ac301260d646b7cac9977e84620d5dbcca7c0d8064e9d55d1dc888c9638aa3723aa89971ce91e7f9d4328219729c79f105cdfbd8c70e2b9c1405f84999ffa0304b84acc8594abad4d36e9f5a727f2300136664a35721886525ee9575f0b8ee3914843a9b6a050e3f34aa8ec87263aab7d5cbd6a42dd8e14ab94d43893e89caa8d00956b9cf01792286b2f33d72d05a841245fab6391db59b7584abb30b48b3455478bfedec263636c09298570d50b1e0b3d0eed7ac09d3eca1496876ea61b8617c96321c9b2c75471463fec7723402eeef4b8b0ed7609a5781c88d07e603f418ded705344f797f9e499957d672b9a7f31705ff7f84732d27fdc1c0a93031bbf85fa3c3c6603f2a6d8f4116df3766a11efcfae860dd5b1759b50d2adeed5d61ddf6ea219f1d971c0efa6e34b26ce65fc0111c50b1d035a92e3b6bb565b26ca6c299ddeede639598c2af5f963c1d0a47c1723bed9d4a62e184fa103185bca1229d21106522264355a29220344e72cc3012671c0c6838305b34e9b3fa583775ed6482b0da14ec763982c5c879a41025547c3a960d31c451726bbd5b487a00dab50df49f4db8b9c62cad006f551317285b153ba3ef261bf851242516a82d04d55c866f3e30822fa4a2342ab6969472619a1822a48ac962a20eb764820a33c201269b91e07d66abf9f5d7d884715d72362619f46e7b2b304a2deff20bf3154395cafbeccd3fe2494d9b7cb597cf5072d26d6dddef8a270fca4cbc2bc36337fee16b73c35d3987d77ffa47a8699d53727bf1ef5a4a8d67979ba7769e4a6b241f49b907b5b9c2c0088378b4194f6eeb723ab855255705d6204e92e2f76b41179bb7a90a71ca6104ed48fac4266263d5721ea38f5bd7e2cff5dfbc877a1890b389a7602316724fbf65eab998f6c9a79808499f23674f7a69c9ea58baba1cc74baa6d7f90f303aa3dd41368bb6cc7179308d1bdf252dcb9d009592cae3b6c69f9a71a410598f2fe5461c9b6822f136c444629d894e476811872c0799e50a28568b4cafee21a88c653e463bcb0f79b6711722b8328e870d656aac6438171e7327d56cd2cfbbe0f17beade78aec145c04de1b70219d5c4d8e359db4541cbe6c0e37f8c88b4b896c703087d859c1b5a24fe472a817add0d30a4d6d6aa58d37b81709cbfc3a574f05365049496a43d227f92772bac76ad03f0667f6949a798536c3412e35b57b3a684bf7df46b1ea95333f344d6fe5d842ba480a0ed48fd003ebf173f91204e72146a6d55ad413389c24520d484bec733ce80867d484ef571d600dccd59bfc83114548d1995a3dbf68b6d7013b697149beb03b860a517327520e9c2972460949a888c2372c30e5397da013c321b56d4281058827f09a9646317f37e4270941fb07a9fcd54f30adeb3b54c1e515fcb428b6cd5518540374145c9542fe20d329edcc3137843b2ec2d12cc944e87282af761537c93116972ee0ddbce69bc1f368c881d6c195dbd608b0708f077572b039f064c40ed000e258e6769e7c0c8988426ae9e98b110d7470e3b4eb4abd3c0c30c0b22254d50aaf3023e8d2e8123601216482365d77e9ee44b503dd3ca17251e33f4f52c1f4f8559bae24d9eba638d59db15b1584c4247f42257e291325547c9c4dd0e460f74d46ead2ca5536cc07c51fb7b1ae2884e611ab14f649557972c95d644c2fc1318d56b36a6030fb6f9653a0abdbfcdf196151d3fd1b25c6857247d7e230ecc8a2ae8c7970d27bcc4844c65a876cc6256684ee89c272fe683d70bec22b022ae15a2a08582a2f5aa477fe16445fd85bff838ddba0fa9170a3577292eeef517e236a8e51bc576ac909c0c7abc686471988a313478e4b6dafc5e14a4b4f0f9c02872dd57a5c95a0c368cc451d570c5215080a5969fa7733b3680c011227162b4ad30e024a20d1423b8d1ce6f81b4041a91669cb528e400f4b211e7272c1fe2ddeb8480b73cda353fb27d8ac5fd5ca91b0534df05d057bf539f6720ee22b9f2c818fade2371291cd5a0fd93362caf3bde7d64bbb002d89d24788b14ae1ad2a87eab34f34869ca78272294223cd28f7791599e2d9511af6a495219e7224a1c51fd4845fffed0953e2ef346d6abaefc716f885433f646c51a9cc1e2e5a9ba53414ef2d533d8e28f2eeb66c13034b528291eb40b1b768429d562a36b043d9508e3ed853d5451ae8da9d67e8666c7ae5340340dd54057c9bbf76d2ae7872d368dc8fab5fe755ff06ea7ac918d9c070f4906faaf66da4b9b050126d7abc4520d0c7343af315b9012388399c4bdfd13fab0d3915db3ae3a1a5749f99e2737215792abb656295c194e2c9720dec60506b9c84cfd578f60e7b454c3fe5617817fb1fbdc9937957d56bdecfea5b088448f16f140199f64f0010bdb1ed1cba0b729d365712123fe6fa329b027d0103d1dbc081468bba804fda19163031860bbf5b436409be56ea68968f68320a68809aded7f4f6f2d27ea263fefdcbc7f089577212e574e23e08ad6866cbb73cb7076e8b705f8933ea0e38fca86823b6731551721e3684b818a927a24602f3f29b694d99d0786de7b767532cb27a63a2ce2f1f61e09a8af00d3e6c6b956aab1ca5c1a2b7f7bbcea38825984a1e4961e7cebfed0d1db9f486b448f4d875082aca402e432fd23b838436255a2e391e50a17342e3725c73542062a673ce218a2ffb88b43bc9e2695f33776a1fec34c9e3b5d14dd77224df9cd39fe4b5d3cc1d79156448f5c2c9bdacb42a81884647f29a95e1458072696d757ae99d6c31dc0c769be9a69802a7b1c390d39090259d5ca10ccb08ea722f19459ecdbea0b8647f1e282a206a19086229e96e4edda31fe603fc1e72f34d6a11d3c91a240345da439ec65ce895193a9edf0efa542c311d053586fb08057265b3205db03228215faeff73f12fa690a8f1a145297737421387a70155c92711ec5ed4debb0bfebe8a1a4369261325a5830f3edbf981786d7335dc9c6ec9921304c2567a0edd875cea4abf6c521ab3f2d73c5b3f756e6d4d69c5748ce211db72906119593bded58dc2da8e4830d4069977f9fdedd1f48ad2c9a9350f2920063e9f210c73c671b3dc45bd5097fff7565f79c2a8aaeb0dc701f93323166124246baed164e339dfbf3acbb2f072d48e0675dea7d5427f4b39ec97a959e19f3661722c06b34534cdf17c03ccf6f6dcc4ed64ec78c3d28b08b0aaeff400c4303b5d72d084f182bdee3cebec2c38177a73f8cfc6e6cce14f30ed53bafa0c0a7ff659350488bdec2492ef6626ba530346c290b666083dce781688aed95663b3795d5c726a34483ba2b6c06222bfa726f95ecf0e46a9fe7b6374791770d7013634fe7e72d224f79cf8cbf512a20011fff4bfff5fc4c35b9d405c8ea4c4a7eaf6bafd7372c91dc619e36ac7ff62ac868f731a5dd8bc14801d3aee3c10b0135f2c4afeba72f3613918c7f6994e9ca448c2a62342e34b8d1196f3b0bf769b26f28332a92558f453417af701e55d1ee73afb4c5819453aa14dd1911dc3ab5c448091401da32d3c67b48916bad707d49b9cfca4d041f2f3c27598b984e20ca0210f43850f1456bdc31c4391e99882ca4f725912b67dd97d916958645d1f5c53719f1e552ef24244791ad3f63bfa8d67b94c32a176ff4e3df8c19c4a19dfde048425736fdbad72baabbc0f100eb4cef6dff2493eeacdd0e5288bfac9c8f763c3d5881ce5c60e0dce69f816723fff07f3b5eec2978937c1bf3466d2dacab7199244d4299928ca7267532d222315c09c3be296cbd04cf31371365470bdd4e0a20336cdd52dc1d572213ebaa115911b50f3cbf91661792780230a1f6cdcfd563863d852578b0cd672e306fa5a2e376944d57408200c3dece1d3e5268144ab2c3ab8268b2424917e721588e236311d3b27cf50c60540b1c6003fb350c3470476242620190539638e4417ad69e807dcd404d92a2c868fe794afa69554c9ac3d127dd6254a0ef2d4d60a505f08b636eda96127accdcf2fda3b1e4742b012dc7651cc7a3d5e6a2d230a5f9c68b9af788931cfd9abe124f0428f967d4415d22043f71f9e5398328f69ce72356723a1118b1bb657304fb1712cf7106ba1cdd8a8b2ad6728583ddfe5e32772cddda43c1aed04c6c9ab8fac434cf1eb9351e3703f661bc1470397c05b6a5272a0e31555afea0758dc9298d95c24af665cea2a5d8f588a82e2cd0af2a72f9a108977957ec30c87717514e395c22351cc1f6032742c42b7e18104189a10b38f72b538e68cf5923b2f89dbabdb30e115df1f5a076bf02462da07c9bddd57672743a14158f01b86ddb69dfa1ffd76a229373767bea32eac4d67c451024e7557b272f4a60d34d5d679c6a0f99845744e1e21f833ba0c69e5f2a7bb16b53161b28521286a8daf404a33fcaa0616d15047b6f6bb0e178eb95b93b6c45dc40b3aa01b72cb89c0f75be6fcef0c0dfe8f0d3d445d117c9561f50dfeb17400cf879f6a0772d9c3f5062dd09feb3fdc678342add332e9e5aac49bba567ef30a18368ca42772c2b3d4852bde1f674d6b9ff39299e0ec78ba23f79b2d88a604143d08e2308272bf01d5c1a5f9b2bb6ab74acf8fb033317d1430983c223d205fed822fd4c44072dccf8ab33396891b3a945700e6fae6f93ec4cf708bd37c79a69dd477de93b25bca6043eb1d5696199ac9b9d4edfc109514b884094c52d886ea3eee4af882a1099038544852a07a58c51c7f969a54a406ef22b13b2d13c95c811b937472ba937243f8a124cb969968b0d2f9840123e958e54b67637bd452a7d1ff3ef811d7795f2ad984dd62fbc6c503abe35f0deda87e7e1c1fd9da31ab463f0c7fdf6516b072473f9f593ffac95ca49267af242e5ed7e8f226a06a59efd62f9dd9a27af30d2752c2ff09c86b9e5f3db953e81f1d415dec96953e43f22890bf9db6442408da727d842dc81af9f7d5c973f7bfda67aca398bb6c0a58c10857dd84957c0553d25e343f6f290a4c275758890396e09f9f19b802ffb7a479e75ae41c86d5b3e7814898f53a616b9208e1cf83fe11fff154008e8b551c19e6d287da1dda7a1d35e57245ea8f270f3f1752cded861ef2568c9f258cc704890ba652b67d40eb67360c2ce453bb0caa8fbd96011df380042d4175205c7a847227bb03ab273541ba92d254c9072618e3ab226db5e191247bdd43ae0d1a12b5033664f6591ebad5a064aa30f0149daf3ab2fb86c0565dcef76c8c068d3a02df56bd81c913b736ae4d6050724d6fb6b301bde5008c8d31e0ad0d6ffeadef286d7627db9d76c718513876433edfed049a263592c2bd9c7e57bcb140de1aa281eb7433086f067350fbb86995721b48330f097418a5c97e07d299f5a3bbda06bf47f287a00b6b6075b864f360726bda4c6bda47cd5676ddfee0fbc1a58843f7b8d83527da5f353c46c1ebfbda72ff75e77af1e1645344d07555dc7e5af02fc5bb882e60ea7fc9e873902e5164675bcc5e0fc409e31547a149351b5c9a03fce73f3bf05be96103545d7db1325c50e5a41eb41d49fff185a32b76f3259f57860fd636f6ff0f02a201f91db20d6d68a1dd1d1efd846f194a506ba0172fca012c89d1cc33ca1d4a2296565bd642e772fe5361e66c6464aa3bf1be25d6527e5fa8e7c63fa92b9fc438f31240155aa7729f970b9c330bda0ee2dff20666728f2f7473bc0e0f81ee82ae2c0f7569c6eb728857eef925a7907b83300ffc2a157db8d701700695f17d0b990c7f19f95f8f720fa091cbcd602160ecbd8e5daa3eb160f628a9cd31a3ebbda9288479507275724bd004694a32047473fe6be246119d4ad8569af1d00ce2dd209c3ab1b5afe87210f973e6c5a7046b5a62ae5524ada871d8be402ad2802e85ff47b3bf74b5be095b41f5a144a28a3d4e4be9fe35a247d76b454dc289958c165ac74ceca40e41728901eeb6e5b9f49dafd368af2e05a0f8f59498a328e6a5a6f3243e2c505f9962fbe6f2bc8ddd2b4c79ec37a4df1dab14d5b048d6469dbcdb5d3eda8027a669720df2ac9ba5f888ec0555e9a4433b4935dede44c0be3b6388849f670e4a5d455bd01e79c34f75e1aac0e8067caf8dccd75c3e1033d1357d9fbf178ae3611f5a729fc355454b979190ed78c3bfb9bc81dd1f0586c3975a6bdc6ee2ed5fe8fbef69ed6f7a615dc028196dfc1e21e37137b0853ed7058a2d055caff483c77261712c1f1a23d3e71c44e416904ce4420729567e41ed5557c015fa2e28562a5d55e05b1a393d0e6ca1bce9360363da9d7934e1900a49d4550a7038afa5596113db655f310e5aca98ae8326f5d30bc484865e63bfca5a4ae3aeca4cd00dc0e183c2f172e6caf897211ab6a2510e7a928394994c79ee3cac1e1766ae5a56c241bd0b564a7362abb901858e67e4ad1f36a78beeace12ddb81591ddba6738b5cd0ca5685264fa6a23b099044cc214b9379b9eb4424992e1b080e78a1a8a89f8b069c71f870fff92beaa6d8612ed9dee8407dd331a523d50b8482445049f68389b6e110871f518ca0b37833b6092616a2a6f7192bacda285e2eec9d5d6728072b1b54d88d72a8566bbb44a8771ea6d4e67ab9fc00bc47668373e98a672c55dadcb38ee1b272b9806a765fa1ba0f21df6c5995358d807c6b34bf36f0ccfd724191e6b3892d035958b5fd9b45d478e7115123ab01f4ccec2e1d9f62920b56e15efe6ee371685013bafc30d50a2ee4903ed60e0f46ee8da809cfa6523a6ac2f5a1b5c368741e7220a09004f50db827ac5b0aa39b0ebfd92ea0d9c7d6bb26643da94fd0254f6f6666311c205f0c0089eeb06a831460eb081a4f4da54755f33cb835d664fd7765726062b6eb046d14aaa5ee4a95137f2adc3ced7db4c8e0c05e0a175ecba0d04307abff5aa7d8a4e507b00c747e8ce6ce399eb843fef0185c2baee9752945ee3217ac0cf5369d6253d40a94c9732a323394b4dd608fa6965cc7c1eb2b1a9521d858e71201cdd3b618b5c5f7f559f82655ed8e9dba5e28dd4e05179a09b0a39f5c54db0626d04ee4333e1bcb587b87f7b7f0bde7a3af855df3cb88dfe3908a96cd729109a7826bd238a400d97d2b555926b45a714edb77c466279da75489cf0b524b7c5c6717fb5088a2dbf5886443f36d21d114d22276ac944960536d64ef1d02721cafa068c031d2018db320b72a752d3f6fa0e393982ea7f7ba87a1e0d5c90a726a23c627ce1d825148a7d22abd8427a08528ecf82ec31463066b13acd3ab2872e18def4fc2807c9e25d19627489e7da858a4aa3664022a60602a7a474161c42752b1d96ee3ef44a8f7477564b1e644b482487293cfb4416abe5e029ce0122b2c24d20986493eabf19506576d256f75a23ff6eb46d1da0d0d6e565881a15d0d72b4512b54d281e81b6ed47942b8bb5b25915f444bfaa44c4945dc4ef7f0bf947266c45d38a1a43205732c5aca71915866d1e3991eea1df66dc3960751acaa0b53e2b5dfb882bb28bd2f95944865469f4972aad462d998103320bbb1e4296aed72e4cb3ab5d35866b26f59a0a442bc03f45bc7b0ce0faad9d3c9e58df0c82eb96b9ea05a8f94570c4a1293131a9ccc47b1dc4f15703b5e1ced200d1fb2e1759771a94314697116089386fd8fb9d8d36aec4175ae49bdd2559733bb17bac26b24722651acde2a15a151ce53630d19f744bbd5cb01866b58b439cb61f2df700b3472acf06d749a31a1f14836bbb3f9967aa28d1e6844c0a0c318f29a98241e677e725c10462651865cd34b8063eadbdefb40a9158851371f77ebce97f5476007f50c8733b582332da5d75645e13df9a26adbabdbbe627ad6b9fe88fbc88eb3952b728a9a41f39369c0f8bd38e097d8fbca389b3326f1e7a2b93ccec473b6f36f2972312f578be4508d79e289458fad7b9947b5e87d30eeec0c7720fb45c35cbe841b7495db00f3541bce79dbe3ab54a723f0ec58d153b41c7811369506083ffc70239d0d63726ff34f74d6c034324f420ad97ed608fa193850cc9e35d9a69530257285c79d52a4a00afde311b150b2043b2e1ed3c79018cd08b99f66b789ce2fe872b9153a2c4bcf725755b8716a6dd2bc42cd5d421a8191c11b46ab4fa61be2cc724946d7de08cc3e626496dd25eab6f7e0ea5890d69e2eaad9b5770504dc764f72ade321e4f1e347f4c731e8f3a4ba7edf79b7b80c81874ef986e3cbdbb0aaff1a741d76e34a5378fc5762cbc6c233c313cb8893211321cefbf02907ed412097724d03eb8fd1a3cc20532845a5440b1da291cb37d74e1c088ab456c70322454872a45fb3e8c81c7b3a5c0886a2ca8e33a365849c92aaa026eea178d8865eac9772720fe991007bddeef2d1b8e5cbef141305dffbed9b896318430188f4716c8a3bfa7a2bb26cebeacd902d7703ba6836c6ef605cd057ab13ecf0a7342fbcfc3372720322f2e43e7ee43c8263939cdc20c38d186ed4530169351c0268fefd150b3a697e5a92f90ab66867e5ffe4e25a73efe140675cac3609a99614aa92de555972998180c093265185732ef9af36c9ebdf08213b92a8cadfe9c1d004cfc988d572ec8f532480aef075d900263b9a6f69b5a812241ecc44cdd9184900d59e7f5a7269c321df9fc86388f18feeba067a98eb67fe3b3d4429e515027d39b12f0bc372cfa66353c28e8deb7a4ecbd375ffcf35a6c406489ac84dfaafd60174716bcc721541186225ef9fcc1a748e777ded0c27debb65d10a7fefadaaf8b259fb44ed55a4c352ec667148c4a507dfd595a1c08b31ae705a2c945b3e8a3bc3cf5cc97472f1922135cd7de0c7b5024f9ca1da39f7ad7ab5198bd82136d217794381a90068f4d64a0f7e0300152a1fd2e25da375d2e9e436a87bab670b59f180b2931dd37245bd6231c2eb00076b443e32a67b8eadb9b80bb4801deeb21f945d0c1a6cb172b1a314a47ffc8f1fe8267a1124196a33a76ed7647cbee7e1d8d3626f8aae42727a2996245f67d4fe6bc4641a383cab4ba535ec5aba5c44bd61ed1aed9b4e4272afbe1968e279fedc29f563ff107f15ba27a4a2efcb5b4f6580e03a4ae2c3cd60f4029409b416c7bfb26aa3d08143b4f97dc181c9ef5dc7de0c32a144d9e0650f531262d90f7bfb6f190860d5be30f0ab6b79a858692a51a86614823cbc366e699c91533c55dbf13213d9412afd9db867b68868191a949873662d33c495316772cfaac4f9f912e7b981a3b326bd3897e9cbb51e15c32f8b17963b851f028d4a61cc300c97ea095be5a4c9d822a99c9bb262cfb14f229ee0ea339dde3f2f3c8a5b82c96f44dc9e76f10c5d0971ec00af1ccc2677dc36ddc4abca663de665ccfa325920a4b4dc43254c5083d1027fbea8e0ed2465ab6d82d4aa1e7d14328a238c7283b02320767a8c9136eaf0a062c9479539842193774e0ac76dedfcf5fd7c047202088921e19fd939c97dfb17d18b926b7fb0e31762abaca485b42a8bb4569b72ef1c6506a6b7a01655d5da80cecb5233c167437b644d791f8190c28f748282038bdbcf3b96956970d9d0cb5a950b10e58485261155ba5e3b929864241605757261597253323d026da0e3d954fbabf223d1ae39a4b6d60936546bd6daea56e764485ede64fcc01bea54c44f4fd01c85bdb2b9c12c9ac2fb77c645aac89df4ad729ccbf8eefe4beee69aba6cedabb05f73fa2168d3908214c5f895b1c7afd3dd26348f465ec9b75904f55c9ceeddd0232fd416cafe983ade8aac5fadbdb3e87472ca0dd7fd31e2c87146ab4effc153df24e702b3692729a3246cbd2fc62af15d728642108caa48bbfea5afa06ba6577462303d658ea2cf3c7cad4020a49dc1be31edfdac65749176af6964c969a292f09ff76944ab4ec9435078c02642eeb19d121385dfae91bd768cce121afeff84f618aaba65e85a44b254c8f7624feaf8b072cce6edc8c63d3b2418b55e3d9ac03f107f540e7cca67a0c0b4fdf3000bf73d7250ded2820696b532870530536638000c5c96c1916185fccbbe71087169d82e59e024db2bcf173601242dd25aa52e42c92179e4fa4a4505c04b5460a261ce1135ebb2ebb1b8990f1f000a5bddfa386c1b4e40b443ffee2200cb04fee2a6894e0b3b20c684a385b3e031089a688334d9b2eb1c6a9c2e2847b0277572da1cc8a7723ea89330c94c2e2e641461af60f1822e5a21cc69b5e73f72b451b308090c3e72fb05e6ba913cc9bfb721ae30b9f44e14a41b2e626e2d04ec09a6f1bcaa0b437225d729e987165bbef111f332ee1fcbf1583da7db4144f75ddf109f63d01eba60cc37586c344b4a5bbb7e64408a392aa6d903b4c7547823c507f6a17a3b4ca1728c9d3508982592dc9f8ceaffd7edc8787bd65201b946e31191b1c18c18b24372f887769611d15b24b0cd6311e04ec6aec4f3e5ff464c1200bd50293b4afbaf36612ba6832380ba9177c84d22a443c907cbc15a470e4eb6d4fb650e11a2dd637230132b5a2ae1caa213832f6ff1fb3bdee81977dec95a44841aeb8c50dbd7cf20c5b5e3d316f6836fddffa68efd0fb807165190cb9b2578c4763bcb8171b8ae720542d7ba454c4b9c5459e3605e6ba879805859a0ef40928750efbb8ab2fe54727b58549b2ecd5ef963c8f295a1fde07b942dc24ab367068d70a653c0c4e81872e1c720de229d4030879435de592a5681e8f507d2327d31bd168921efddc7457205652f32376c9fd2439657b6b5f5ca2b89f7fa17738ab785453a7eb95358131c773adf3ed8e97e8b8c12b9c6bc439e3edfa0440a74df1b08814fe39701f0857282ccbafd6c808e65821075d6a8757be12a48127659a389a7f20c0ea4d7001c726c5219a5f3ad4ee6122d0b85c1a326e8a48fdd1b56f0a51917b30c990f18712ee249ec3d0bf0ca3ab4ec67f0e3ec98e67f2f2d5bb28d379afa66ef888e8f63516771c33e433f548981ee7036265dc308d7baa89669f416867c4d19e7889ece7267448a94aac0e2e5e057a981258a38862c01536650eea80ca760350c8b292972a4e234dd0cd96c682fa6efc128336fd45965c63bde50f8ce907b8c9024d1974281023d40a075fb91c2587b12e4d9b82b0c6436ce3fe724fc63cd886837ecdc2955ce8c81a157dba0f8895493f948488613d475b7c94ad6577c7a4116e567997205aba903908a899a52baf09ff62e2bea3cc00ec597353331ab7636444cce93729a151b841b9115874a8db362967915095718f8ff7d00c3a3abfe719332d6e76c95c266fb990c9fcfb560efebac72d522d770431c24c78fcfb4a4047a9cc013729af55488320e8e93ad995afb13e6498a7b8da2c08de445c169e1d54dbda7a272c144e12ee73ef547c26c9757b8a4d80b34a64962227f0de23887b398da650c27396be5c4bbef7e1dec6c594570b3a413f37246c451666d695e2a0ad7c9b45830e2efce71d787cdf0f086bf71cbca3288fc5021302e572c461340fe623f9279729cafeb9c3ad5faa6b426b183c5f2f9c3f6da391c64b627f346cf8039be454972a022240a0cd4b8cf2798c2650b32629306daf805289d16bdfebf243081cbb6724f73b1c2214782d38139af444e8186d2e3e271f5bf50a5fa5e544e118b72dc72ad45fd445b390339b06153d2b0ac871e9b512c3559e81d2ba889fc693dd1133dda17381b81f4643325bfe22c2e50ef8baf4801b7dfacba5440fcde183c6d091c5105db0e96b49d2a5345eb8511b5c2173d887ae33df4cbc4ea006de7bdd2ac4492767ed408cb9f3720a6ced58aa430b5abf9a973e054e1652e5d13196c51f672eeb7899f40f76ea08a79f1812a825cd80e6f83c29de2d6d8f220d3fab63d9c72e0fea9fb5039dbcb241997e0653cea2297a1a486b1a9622c172a1ddfc5cd1372599598fe1c33671da266f3cf91ec9a2a69870e44d7b48a404612f161272e10671ad31d5ae1877f89d181f7ed449888259d405de12226b5a6340224dc804fd61a19992357c114b19ebcebd0f28b1aeace4a38502d6d6fd74ca7d130024ed2bb45407d3e80137059051f0b7079c9940d9185d1a06e4bde9aa59606a727d31e19727be83160fe7162604bb6318cc56725578d4242c66e8a21fe1dfd6ef72310634c5cc87eb43dc15fa415614dc8d883813f7132d48e0fd15b10822bc97aaa050b72e255ea943c394ea90660ed63061e39b7820d8770ddffd4c8e5d1fc944a957f726260394d0704ef272adfbb7fabf7db9df4a9b2fbf0b376253104a42b2f1436725a80c15407d40b21b9c5461bd453388c737623ad79abd92803113796b5f673656a2e30ff5d8bd137b00679d76b5dd0d0dc6c7c7ddafa37fd0f7838c50cc824727fd3db9052d47824ad7628b0a483d2287c627fc244308173487e7a86ab143b72e475b2296aaad3a7d668eef6e4fe1bb51bce6e45ec47c68b55d63fef8b0a5024d36c7b7d0f466699245698c1c0b0b39aa9e2d67deb04e846f5a1431c53687e72ddc15448d7f134af5bf44d931d2cecc7e35cb586ec41e15edecbaa6387ffbb699488747acb1f9e45359d72d9ca64165f30a2c313b52fcb37896792cdd90e4633a1d9f3a0b97dad913eee2374bc4af0b3ebd25c3dfc87b92c7dcb41a24c86087204739c8fb9ab6ce0b8963069f1fdf2c468d3e46ae8062f348ef0e87dd2e87372e12918b92cada06a0dcce70d3f7745a3051c6ded02e083f8f54a69a23b8e6258419a651e64946b4ed8d1eb0b3549ffb14cb65e56dd725b6e9080ef288f7d64721dce9b61afac7963410af977588a0859da379c7b616503a424bb2bbb781c277282b82e673ff393a9af62cde396fd87b5261655a9cc34c7a828a824f42aeb5030590f73f51dd9c71ec5ccdc53e9e9af058645ed803e8dd9d25715892a04837d7273b2717777b8ea8c1c956adde4204a92c88fee66e06c54c41208ea816db20f724e0b1c768445d51e72eab467d0e646817b4ab508d87e75c26d082bdd693926463ac200b5ef0dab8f92af1886059b5b39c7a837fc8efc98d1d3716644db4883726c2cfbefec838cd25955cc24a1cd787e8b64981df1b9a3f05ad78868d3bb0800b984c86548ae3d5db9f4ae78b48ee4c36d7359e5c24d08b8a9ddc531d2d5d97201e0aa3c15714f0a99bd88cd4362b4d0e74986a0b0de7c1ca49b203f60cf5172f2aa8baa8a657564011b1d949656f75df5554561ed7778b353f342eb3b68796ff5f3be5be2f3faa6be59bb09ad337c5d1aed5c6f028c4f3f54c40e407dee64725b65672efd778ce1da6aca3dc98c0e0c585ddc859f91bfd8af831b5f5bbff772619920d08bf512d2df3c003f0f89a22af31354fd8b4708d7cc60fdd70ee94b728392bacc57fcbedacf78e7b4f3f6c13ea7d493d523d526af89cef5edf9d44b72967ed1152c1192dc16c461faddf27406f78234df9a9d71d2b6fad39b9764162bea0dbb6167d97c38f47354b0bb611932b23f2a3d6ed09fdf17cae7bcd5cbe632c7eb21e5e1419aa9c1eaea23348ae35f65950723516d6c6519fa4c29d0269172a3e058f8514e9f2f434966d1791bbcfe80d14fc30ab9ac100b6caacd85a64272994898c0f0c0278a3e68c524f606e2945a09771aa5febbaa6679dc9338d9523653f2c11c883480c162635a65783a7f21f52936c8b2fe04319b995f9813c3315d737dd4b9d89671ab949215d4e7c3128b9070c1ba4de440c5048d9534b4e48b722e4effc56205162bb0b435a82b6a42938dc8c4e3379b4ec4f07e89bf70d7cd72c84deee290a8d74c8f0576abe57c40e29bbd9a583c23c4c237dc7129235cdb72c873441e95a2ae67854a6297e18758b587a036cfb679effc8cda523865dda17287670796134dc7f96709c6636b4a805cd2c63e332908b03fdb799acb4365dd7298a72c7195868d7fc6e2e45ef9f9c6ef475c977b2259fd41fc514bc8ad51e4729e6dd44ce060c39f9584c1f6834d9e8734eb055cd4b515d1fc3661637ac3dc1fa2c66b4e8825b1affba21c4c97d9b845832dcabd50f894674415bfec79be07727d56136cb3a9650b1d69cb1367129261175afb0ce90a05e2dad75c489a145a549f19a063226a972cc0bcba6240dea987df0aac6e0a81aecf860772e35cbafb72b46a52f7aa0bbf19e7affee543896f03a0b838f8a99702b0b4c6cd82642302728fda9a29c64da2c604edd05699e6e9213ac514fddfef37c9ff2395c401059e653d0a1c937fb9fff0f870baed8834bc83d5a5af7a2775efc63a2d522db090a372fcf3238a0ff29017157ff01d0e37811c5f71eb8f26f9aa34ec71561bde4814727220caf0b02553c6fc2b4086bbe3608ad6d4f0222e4a65624664573fff01a9720630994fa37b1f54103c946d17a22434074d322a812ac91d879790f008bdcc64e976b7d8ba72649323ce0d99f4fe4a891d62dac53bc3e41f51764eac9c78a6129732f0b566b81cbedf4a44010380ac6e780ba29190c68bd81c3b7611a3bf401480da7c186c6e3828bc2b75dd5a1089a896484589e4f140c52d2216e9ddc60a72ca51c36cfc6715bbb80e0af7131dd6c317f09c34a8ea5cd2875ab78233451972496a00c124eb9bbf81ecb283ddb1da8927cc1246818d6b2d97756d1682969b3f3f401bc97ad343db4bd5e4a630b3a0ea532e6a0556e35126ba1e96185f83f772fe557219141985cecccfbd60c4aea121b0e3a5310885be9efd9ec5efa0a35072503f1992d410ab2159fde1176884977fc7555113f313a38e54ff2220a278f672e2cdd1d36fd2bfe0ad8e92ec20c0d9d57f346855c4dcbe93805d9c39d5e88852a8e3e311a0138f23072bbf457431f533935f09f8e7a1cf2384e87bfbc04ff072743e2cb2ba3d7fe73ce03345f4d8667de00b9d27b1dae7e2ec371c8bc02e47720871dce6750d7dfea8f5283a20ff0f9385b8963f6192796d0876b76503b8a4727f638085fc58ae378c072ca81ba9aa489dde6ee5d616ddf26ce93568e2bfa3630e8ef5c5e10a4f7068573cd82438aba3944ed33220b8f75af39cb8f83dfa28670652d653081f81401e10793baa539bbb75b5988d6d8014084e7acfeadaab5172eb0c79e068bb8d8741729315897d023e1b66ff2e6a3ccf770012724c544f047234b394a4a15811bf3f3f45d0a2a2fc2abd4e4c533ec67ebd872e0cb42c601e725f8215c64a7578b9fe0dc8e08c095a4d7f1927718adabd42859d0504604af86056c6ef8fdf78f5567ce68ce237676d5e258592b687e0ed187854d6975ef61472020b296cc1f5a5883bcf4c8d0ac7b95a0a3df24c8b036fbe0bdb5ff08235c372e0c7b8dd144b578647873936f710a095c217788a4de20c76988bea43cc52ea146b0ebdcc39c3d50b7d54e3ed278936c7156064241efb722d4c7cdcc49fd64572c1c09150d79c504fd9ea1ec8d93921fb6406d8fcfad611d6ff9ac4ca21b56572a23d7035826e81bdf64de14e97300ffb0ef390d8a2edd80ab0ddfe20dafa8f25723333e0b084515c914bcc119b2da97c9881edabd8721f3cededf47f7abfc538e08b8d32acabf808078ea33275be2232721f15965f2cbf6357d24ed764d3d6662d2e6cea91b446d76889bfd838761918b1f599db1864158fcfa1b94fc7c7262161852fe8fd72bacdadebc752d9d116fd191fddc7afbff078117a0a19f47b6972c978f340ffe607606053e6d7513c09192224436f2c4404aaafa68ddcacd724724aa0c7764b35ad2d2e3260668bd994c8b9e3ca7681a11bd8459ffdabe8496d7234280b61a1316899bb941405ebe139a4cbb0d564dfe2b2983cc7472af77bad727e15e736c8d21f666e9f179e86a528e82f86b7c83bbd761cd7ffb5d9518ce05651d9618bcd2a226f391ca88ff661598412d357dabfb77bd20fb6534167f0b20b1ca3278c85862196aaf455452dd43e78ed9f8ef8e6cae7bebca342b9bf8161508841cba4d44447a61f668ea5923aada136a69b419fca8c676f518b779ba035721bef8000f03b2189e75619179d10aa8879cd0b6aa6007926ef25350ba3ed050a5697ea9e3b5ff99f9eaf02ffeef1b50d512342cced82dca2d4e4ee49e9976272e9ffeb75be81e5dfbaa1b1e577e2b4e08f50f79bbbd85ade49fe6ab2d9e9f7573d7a08c72afc637c7cdf94e984603a36dab5ad748e7921b356097d8d097f9b13148ff2391cf642e362e3b7d2c8f1de3688df7ce74fb6069a8c059ec409596572ae3bd345f052f6a0dd067186b95295cbc4306a308c7f3be506fdde8dadf9a97251927a6f5628ae92c02cc9e54d8a56c224268f6811bcd82eeeb1dcc75dd34771db3cd79f004acce0b918672e584513c046aa3da0070a0129d46fab6bcf4508330176d438d69a757193417c721504c46f2c459ef62785bacef4f01e109653cc3a2b43131d575b278f18a677ea871bf9fc948f2ab97bd8e09c582ee49645defd72cc4b1dbe6f49368ee50f353211549db04fe3344542fb23b13c4929873d4edc7226f4f9076c12839d7b9745aaba86758242f5b775b06a0f36db5cfdd9518d0972e90c9ea991bd53e5c7d4ca0b27e6d08ef4431f9a0eaff6215365060e770bdd3c07f36d2cf00a7bc1197337e546e361c4ab01644f408121488911a040b4f0103d7980a625d83cbddd058968cc7243671c53e1fe347aaa398f73604643a9f6651a985f10a96a6e341a6f85f810f6b39d4bfb096217c339e6b8ed56b2f212d1ed721b0832a581d619cf62cdfa1248f9588c88412c8294f957cb7513df9004b7365ddd88cf1a8094dc83e747c0eb1903eed02bca8b1ed7e55e1ca336cfe13f637b7281a3cad0f778eb35cde583a59b437cebb20ad3ed3c38abf693d518e864c36f344f4317f39b622224de63990eb67d88536314b63216ea87dff4edf459ad34dd12f38cb1fb06f8830b0abb9997bf889ec3bc1c2d811187b1a0e51a728d08cad10cf1822de05aa76deeaf3dd45ff38e47b35f1e8fcc55571bc7e89f57370bf7f56ab23c3e4ada701919f9d6995836c27552738615c34ac56b29aacda10bbb5da132af4b8a0bc832e32b37bb8f3cb5bb667c104eb0f845fdd084ef8922888e7b1e727631068b96220a81280001abdcf86d4fa717416ede99712721198e7aed4c51723267dd1c92516910aa2ddc66bda0cd46e3f701f4962c49190302b6d34053c10ab7980507f7edc9f521a2be61d01f221adda94ae0b8f4541bb533a03a8b036472acac083e1bc7e8bd65e6039dce341d975ef31f404e3a74eab62918635f0ff772f6818add0c6de88b309c3dcda01d820c4a81cac06257738d5552c99975337972b7f5d123f4a42954458bdbd685b3a862d3d9a3a1dd1cc898dd1a6cfa096af97209ab7f13bed03e5d7fabe606fc7bd9db79e4c55e174bb634e3c243db398be808ed1447475085cf1be227fe413b06e367e08e0c8369aa8d9792f54337340a33727d566d7ae8a8505ed3e4413532e8881a47cbb0d0167c4fde96d2e0ffd597997207ee06b74e7157d4aa53a4ac9b35005857506c327ce230f84219e4b2d84d83729c6e65d8819bcd39e24ca745768ad697667321fdb008642969facac50ba0b0615dce714dfb39b1b930278912b3869e1f37e79035aafd71d1fb6e5afccb7cf609cc179b2d37e43e551e96ca6b20daf4b924229002e8953739d0a1c4f03da52565505baeebba916ab444548c75bb5800d2bedddda5b9baccbd50bbee7860073d164bd3bbd3c4f451177047c25cd55b3c9735e13284867ed5be88e01832d1c0a04b3a450b990194398d218a8feb054b6adb0d424fee7c076ced60383e4efa079b7200cc3e60e75ee72c257c268ebce11d0bba14e01201617542f8b324bb7b13c31823b813f518f969cbeeac5d35595e2d2668747b263d8c3e14a4257eb28009266a6d78def687a0828ed636c920c7afbbdbf4575e437f8ef2e7fe17b3f3353ccc7281a738400b439a19a0048d6689d98bf0024c0839872fa74bc60f651fa13a6b728204cff2d63aa349858dbe9929ae5fee3dace9638c2c339b21ce72b244a26172fbd0c72dab37d1eb0a1e16e3857f8a27df162a2e10b255b003030c7913630172cd2fd994844da1536f0396d4d1e95ddc917b36b9bb39261b8d9da2e10c9d687285eafa810811cea40288f0191dd8654411d1a19748b5b1d7f965944d6802e565544018a04947ec9d935c400884a01453a688537e4d6c5dc4186ca46b87a132722186063c5e78bd28fb13eef8ea084a911ca62b94dd9134875037f36069ddb87283d14d81d9235306b222b903602253e64a56735c0f70fb049df6b1b9cdff9a723b5cd2480cf80e594c8ba640540e24e2bff320b7c3b4d56e2fbd231cf8fe1d726f078eee5afcdd54eaa1022492409241f7d2b9ebc2ee9efd0d34da591029847228f6bfc41099ace1066ce6fcff0a11ca3aeae34155877d56f05687984f35fc7250feed43902eea0e25b0442a4d7bb4f8ed9e8cf8839c2c9fe4142872ed1978653d08ad2004e55d31c1373bf681c075b3540d752186ec4d90b0d39183dfe22c279439e4c7f4211da50bc91a632959ed7112c8dfc5479dedb2cd2df291c9aefb7242dc1ccd16f230d01578951c12b430921329f4b2bad330564cb9a39316b4617223c6ee1c03d1de5f8374e56f23686380bf4b0ed2aa43c65636ad0f23c05fd9642cfad7f61d2feb1e6244442e86d86fb827fac6ba00271543993bf0eb1e2445665514df7f31e0c01e9c6958b8233cc44ef379785e3ae0997ff638f1dd00b7f372138bb87d192a6fa60a18285c07c4d5066c568bd06d1cf5658cb184a413e63372df4061536f22eb6f7cdee55d6b9c851fd5f90028dcfca277a0e276898846ed15cc129e56b3f15eb354c62ae86144ff7d8277423b54e05e0aaecb6718fbc45a725a6eaf5c2238fb90b0479d2e29b2f314c8f61fb03a047efc3db59c9110a8251db74f561b66165cb34c91933bda9508016dfdb4b4221c8b262f466066defa1a35a7b965a5a5339226029dba68d0fd0d9cda67cae35ecd193a05579559d8964a72304828b5a64d2438acfe931a14f1d1b3fbeedad1b7808f1dd86be03e7209cb6580ad66e2ef9d419db05e201ffae32834dc00648b16147eb94bd0325a09514b72802f69979c9cc013472174b757926ea8772a8fe063dec4c64f147d166b7cb872f5231a6889f9c1d5c82aa0b8615c121917f0e14aa264e2e8655f2bc034e1af72b73cc698b01ded0dd68fac21970917eb7e923c5602c165610c1923098f28d872e6ecc9138a038f7a1a492979a720739f423e69724b97f89e41f1bfe516dddf3b71da47aa4eb20ec4dfcce1c2013d9ad7515181ca76d97c185a1cc6589a2bfd31de71285f344b98745c835db38e7994b254d0ce850293fb885f9eca108d517c2f6b25c114a1678a97913da5a105a3a76f06bfd4a19ce8ba5a854536776b797f09314bf58fa84fdf89d51e8fa787e685d6240e86180621bd36195b13744daeb872d8bea6ec11e43552a792fda3d434eb116749aa37d1395ac741c4975582d9a9728d3503afc23bad6b1f777e31e644d684fd2c61c3bbd4f1d1ca61dc250867cc720234fbda804da13e1ab86f04b9c2474a3788e026a862b9d36b01d398a4a35f728f775db170a516a4d5f446106b62a9f89a4c5e5a54a156086971c0c887505b37466300b4385954c5a34ee1f08a155f6166c905f9378d71df454341ba7ec5b645a32b69c81d5931ef14d15c439a9cce55654870988f21116ba8a392bc58a8fa72a5aca27528e2a4ff63ed6a41bf200e3f188efa90276560acd632ff4da8486c05e60926b002314f3e728478a10c1e56d2128c032929de12d2ef72f4a900b41f313cf72349f1618a62a27f4a691006d600a81f39f061d905f9f8cf105d9665bf72de91f8fe5dfda955932ee980fdd7df174524d647cfe4f87f310b886c867864729594d1a372a68521d016c862f99226b5905f71764c84362b140d38892aa6e4724a9e37659584f074bccbc0316abf98d8dce18a55cfe885fae896c796b438b55da030df9509e54bfc0b40dc88f1b979da8e6a548b29f27632cfde8d5d85e09305809b008746356283a0271b84eba826f2758010e5b78e7b517fb9f0e6a77b4544605a3bdc49ac4a2ba789cbda2a07e5267c6927c1dba1944d8ed01846b2aafa727c0939c8518f20786c4934b65f6cafdeb01cda2cd6c1cb3edd68d27fd669a70b2b404e557783bc122156945d9c619c1f8489df33c4c64d254b03457fb4f406723c28af2e8482a6641fbba588bab1cbbcb0e7ae2abc9857710192807cea6b647282322b2845cf36bb341835f35cdb5bd5a80d22b8dde30ff28957fb5820530172755f38c8d739053f56dd50cf396ee6af4f77169f87476ab75393ce68a5f87b72fd1a5909fc2e2e7286a823f25276ce7efd0fcf1a18e298afe213caacaff89972e516826411f1c2f94484479583e08b00c5fdbe858c49aa5716621cb83ba32a72a10a5bd6b208d22835e72c784a1ce81161ca461d3725daf87517b4b96884e52649b251c56beb8434c6cbe8bda7b2baa3590d75ad530a65e73ac2dd3f7dd7b43fd86e473740a100aa4592dbac8e04ef79de8302f73586b067cb56eaa8d84764021c909d3c33dbd3bdc2aec0d4883222dfecf2bef7b5ef0819f6124cc39ac98d7204d3800228b20bff04eb70ca51bf9833369d5d019e6fc100e58f66214d86833033dd2922276d021e5d05ed3d4fed35b1232b00af7181b1f078e5362eb6171872b300a8a8e4c7870c6374a2e0452e5c6b3611c8de5f67981b4765b21f1b059d72eff49c87d6857222f2047f28e723034ab7de36886a37832a774f53dacb874f4a5f01462ead7a107aa94a24708bd27a017476accb7f8ea16c539d4fbf5466172ba85a2963250e1d9c16ed34d4a2a27286bb5acdb7909fa7c8adb9768233f2ce724be4a58320692f71f400a767ca1f69f345e0f66409586e9d09231feae30cc91a867c84341e54a587f5bc3fd50cdde74f6444ad65a2a4777ad8af48ab575c30475b40b1ee18b0f3e647efaec381715695ffc1e3c8e8cf01d84e10fda8c6832272495fda1285e8bd8f22d67a4e8ea3ee8c318f0784eee6b4289e1dc25757adc17295abac8d60e3f1ae1bc001cacc9310ca7b6d1d8efa84d80563a4c7bf9819397207f1fbc2d0b257aeaf1ccd524e8d6a1bb4a02bd8e16595f83599b63f22bbe114653930d782c64ffa3d22598f01645ed4dde574e2c93b3f1ccb3cd7640e1de27285818b7f4fa418090ba7ceaa58d45c7aeef4b24cd08eb708b9199e71ac1f5e7269d7ae2bbc18cc932d8482de6e6037d1655e562691b155645c3126c7e450bd720ad089b605c206c10756d6345bfbddd0ede44255cfbd2b303ecfd301f23fd60c9fa0a53384e4a117b7efadda5afe7360a36e990c9deb4e88a3fa4e3d0650617220260ed9dcb35a9a64e50698d7d426f6657252771f409d7a0c72c2cff0695a72bb1d36aeca09b386f53a1c19ae66509153e45a9866fa5b11c4e6481d987e733477342a0e8fae8370bcbb488c64a384750276e9b33a3612105d0f4878dbc08272f1bf3701f92da5b77b8e0d1d8017c105d84000366784870fe257bf71be6c0972c96e3ba6de11d2eeffe85728e903e76c464d0e5f0a5ab1467ff109d89958f072747f0f7327304510e4ace3e0c5b53c8965b10b2a161cd9465d8d77195bbc5672056f47cf5800285ee6131efd0f3c85db86b8e36d3d3b459c44cf8fec6179c57227e32ad206fb10dc3c6c2a4a95d3a28976a57843274c887665be7e61a07ef918b1bade8d643ec6083c016d5df6d59404ac8b6ad7fedc4b48ba75fe1f06d2020c5fb23d9772d7e9794108ccc999a70cc7814b6150336dd4e6682fd5ff52f0eb72cb01f64fd35196932f626848641fab6e814a4daf9a2d8d8078510c8789d68272a4709b0a5dedd7634d36db6022ab7cf801be33d7494b06c89239bace70246751ce88bd0b30a23e54d68b727e16ba7a8229bc25072e95ede8fd1ad1651da66b4f4253bdff3e7191cd84e58622ecfe33c5106d164dc1125d3ffe9c79fbda525972f5e6297c0e0b953f31be702f63c937158b018b99f51ceebd9ea0485a2087c90812b11a64a3a3375b8e9b963dfa9a0ec9a25a98cc026b080f3834e43cd344140e90fdace84cf0a0e66d95985f6827e0c44bf07e676b2350087783b666074f5d720614858dc42eb7ed3a30f794dbb74a6563403d635ebda40a22eb2f31b227d872e06fab5377768297144c5c0168a9ec749b3feffd50335c7305665c1ce6119749b06bbd34da2fcd3fa95dda313262bfb506e53ce3bd361425a63c97bd14996072660f5a5b9b58d7ddac820e4129107e13dbba821d761323efb40d5a3d21ecfc5851fa17492fd3fb53e3e9d1cc56375bd95e5b2d59d633adf7107111cc8fcf435dadd11f00c06ff1ae4e3db686aef7e80aca1a725e8358e624627926d70956647206c22ddc9b1857246881ad676acbcdcec971b75578048605c93bef670d3bd87208526c249a48a0b0f16cf78febf6e55af0638eac1b1775fa42484d1e14e0c545221edaa5fd7d31bbadcc5233473065ca845e1702df155d9dc06fd18785a2e67228a43b32c035556a466db44e57a3f523665be418c60545132740fcb594e77c7205cc76d97d11d84e026f058e5c3c75925eb0f91e73f79a3ff60698d515e56d72b07ade68309d3b0c398b8c77e9018ed3beb2e90f696c0df25a172653bdf36172c3f037a1598bba105822495f07fec7cf621b24d02c792fe1daa154b679d87d7265ea81affe0de28e80f98db473d70485c6f715a1143429e9911be5c59cfdc14d94a35b8bfb8169300f496802b837c29f6827dd41eac9e868a1ea00cb0b091e43697d7cd77f08b7f72cf0b19a964d3d221f4bb10f325cf430352d69a1af1cf272153fab461cebb1c5cb7109391e90f12e07410671c3a0654067ed2c3e56a6534ddb9495017dd06430c357f0f49959db5445b327f0e8bb132f58f5d59f74436950080272a3f9389198bc8b59f9f4760fb13c1cd9637c93fbcb57c330ccb72b835c3b5c3f149b190c984e19f4280707ca9bf63a6c5b0ece1f815b550015ba7db67231a25633b6b621d99438b85cf3d5594e890c0b66dba817674afe2f1b369cd73a4cdfab6e08fca91c92885fb1a8f70e56417bbb55dcfd6a63f76655d26505f92cf7bada7f65c48ea720e4ac36063d939e1ba7baf0c416be54fb51aa5396fb92551d38159d1568f298e1102cc7a7100d46eb0903712b071d4c4904c72dbaedb572f5a683cb34417bd5f55eeefeeceb9962d127697dbdf0fd2b4710624f1302171e95187ab00615c7d1df9a02a165ba5405c80b95e30f15db7920108cc8cc7ffd52f9cf6f42dae71c6834a40d7c193bbd1007db2dc7bc8e03313b908fe42b1abd0eeab9788e8c8020f229b784a6a4e1f25714885115564b691fdf5b2795d396417271a996d2060033f9e3efa36d0619a41fac1ddb668cde5f8d0c2bf08891431e72e99b851e5a266d781b348b354e460bb59200b6dcb212b01c49954337863213725f81f2851edae43fd162e16cc8f7438c0eb7087305763e3986afa35109b39e5bb5ac31a7b04418ec77d54e4420e2ede6019556330f7a364a3f1732c4d1c2134c23e2ae111e9c68d4d332b8ae752ea8021be04b4b1900d58b402202d3521f377217b1086a3d9910799063bc1bab05e17e3dd28246d8ce6e9c2f7a6d72e2840472abf4d746019a6a307bd9ad4cc15156ecccac72f1c059be805cb636d35f63354cfd9345e81d877bde03b07b94bdc7a89be8dbe03821a699bbcd98c86201ee9172935384e14674bf4a8fe52408afd20ef36997bc84f5e0a3981cc9d5966699c172d3dee86f86967a41dca23e45def8d2f45ec15d9c8a6af40447dad2dfff565d72b112da38248373af95cbf802506b5cb528bf3f6c4a0fd7a4c7474fe632f80c72bd0df6a9ddf4287b172c312943b54d7fdc8b73ee4b7e8bcbf8f8b52d5796d3600e0d0af6fd7aded2a5cf761c687c782e07de77bcedc4178abc21ddf0d612d67259997fb63d86434c8bacbdf15fd383487afe25e82fc5f4bf3188d82f415dd512501ac66fb15fa40973e2d3689c72c37d6eae606b363f916a3b247106b311e572db37f633ae52de1a9bba3449bcaac6257e068611cdf62fe3a9681992e8b3672433fe5e395ea6fefc6622eaa5d5137dd0c025770fabe51b4fca0935a65621b933581233bbdea35e60808a36ed441a8213f9955938f9879d8044f4fbb3abcc1c72bb17ab87e7afa3f831eddf1a3e6b4a9406e17524be7a2ed3d8e31c288fec6e306d981bc79faeffa84ee6ed86702da4cf81037761d4b2684779ec4b9d8b95f772310f6059d6ea568e8217c85ef468bfcb8eaf751d76efda29c745673dd1350672e1addcfec5c4d834dd419c2556fe106b71857873bc6438053a573852450cb472abe0f1d32c091c4939ad5066fb833c3b293794f859d164a1c210e85bf7989e7271c604089999672acf1f417aa1d3bb8056d15ffc05d521b9c12fca09b1cde026667e5dce56ba7fa8a4ffe505225ffbf8bd7f4fc801a889fc585395dd07b14672205c1a4d390184a2728f17d3d7e4d8c6271b1920b0827eb5250b48b6e4bb6b724ed6df6e19be9cce4b088fdcccea0f399165e505b8c756a7e9effbd91454225f3e48fbd2c8141a4daec1b3fd548a354495b0f555bb53d4b02a1ec883c45eac72c2583325d3fe07ce936770af807916094208dbc5e7e07109dd163cf7ee8b6e723dd83c4f528b2240a6371f2bf5a387dd75138cce7515a9e1f73331cd9f0925726914f24bac50fd5f36c383dff8544dc3b6be91bb3c8118baeaf8dcfcd144db7248050b722b431ba8cca5e68147b631f5aef9164ecb69a17e35ef4c9975af87722a3dedced530b76eadfc3ebff3b12993501b619e9274887d4a585600498ec67289e3ccb06056dd7fdbc842cd04a6a3f8de61427d90eb54fcadaf0cbd54891a1c541d2a30e2ef7c6b42af41c0a7b1660be6b5d6f391938ae7fe8729eb1f5fda0c3317c2e4dcb87a1d08edecdb22befb99da6aefc565c0ac3c961f9e016b1d6d725054c80ed8f829edf4070653b91a36f4157cdad5cc90a33718ae5a96bbda87722d0e1fbd45745344955dde6238e0f311b502a277c3957f3e2d8197313e3c7f5533b1866abe3c42cbaa0a6c71d4976ef7769b43a9a84722efa1d4276363f9cb43c0ec22dec6998ace0e3034a6189fc4fc533d138640b70b834b18a3f3337cda724bbed809bb3041d98d57f1a1adabb4b7eed3bcae4328492752bae11e4c14b97223488481b10fa18e6db35d0eb103aea5298e93302fa0c7d96f1263795df2d47271ff57fd3fde0f5bd5be007aeff94a287cccbaed9335096544312ed21f87b17241b0c9f1b051f2949ab093af222ffa90c93612fdd7865818e2050ab220b0015aadb375ab1bf1ae380d03c7af4fbb199681d84ded4e920072bb2fc66d9b6cc8728ed6707d9a493ec5c3f7367cba9940df33c9060adb571e7a8bad60909959f514974ec04600bf5742588f97c58fe9bb9f41acca2c3e323061ff769c0d804e1a724e64ba6e6bf5e5fffe6eb6fe92b4958f8905058ea561343ef48358885f5f0e1b7201aa94bc0d627489d9e700f3444d454aa99e7c1fe22307402fd652a56a11729011b4f427631b95c0cc53df6bbe491a13affbbda19f463a2b4d3861fd230b72422ef6c80db74df3df08f5ea1b322d66aa242b5349e4a2b595ee98a1bcbd070766292548b865fa6816e122ce95790513c6509feed3b5a3d392a0b32301824e312213a4e1e903d543cf66bf5ff719fdb25d1661d8ca31f0537c10da2ae4f5765871e14d0bcaab43dd4f94e6098bebfbde01e34e5df47f8f2c6f17ff6993057e521e1c1614940ccacac6f34a61146303b8aa5cef7269eb800c5654cac6811aee517cb5e53765c73bf2766d390c6136c8f1af2fc66aff0b3f5e4fefa1bfc60eda7213154f9474ea275ea5772a90bcbd4058045e560f29526b5eba6dd2697c829f3b9e62690a0e1013d68c2553f0a80b5958187e684a1752805a9da5e8c86b9e695f22b77b4619eaaa079838a3af228e59b9f2f61334ddc93b16cf99b58c3846b7083396209bdddbb100216828a841d0a178c9dce6cfc59464ece0f7a859455b8c3270e6426155f653a5830ee626423f952c336ad33ae0566d6ee0ba47489d3c5537ee03f769a4a392da82c5daa6a5a1e61155df440bac5e3a3704f04a2fdc87464a9c61a011f2c12b050e969433f8b8a2ea9f71f76a85d7a287538536d24270bc22a08a570296618200e072adce2dc4f30c58cdbba87b1ad1210936f8f28af67a72a6b20386298e521bd497511bbd5faa8950b99389397e3c071583db7f08726c724cd0453b6965f86f9fa6fede5bf2aa710ff31dea55340588330fd5924138ef5edfb4181298b5aa58a9f378432591b2a8923b49671a1cca462509d090125c567217475efd0ebf09a93fda324ced30d8067d17ebdf2b182a0bd400702eec601a5965ff0a1209062530a78d4c5daa29f2006ded1667c6aed25d3f477b99ca691c72306ff00587bb7ba991258305729c099e996707aa98e7fcfa43749bcafe0a0572b015a05916c8dd0c913b2928cb6e7ba1ced50d85c4b0d75efc291deaf7f3407259ecdf1ca81a284de4d1e268711b0428e8cd0eaa6966411d1b15e6aa583e74722c96bc258727a028765485a11f41bb440470382f50849f3b55915a421249d372032de316bf731f6269a8a8fa58fe7032d2da3fd2776396c59afa4238e94c662312de46a49db9bf9393a086b9758b94a046c4e9afa721a5c9bab461cd9d6e7c7260f0a751257c863784175330764453dda0009f09f573a4399687d9296adac372fe4dc5f4202d421bac6e214d5227c692062bb3f66b0068fd94d0185ab9ac6c72d3f44f0e47e1ac605afe5474db77bd28cb3880143f7bd2a992f30dda0dff955bf016276cb837224d6dc787956eb8172013525b7da53dcd7f50cb5b636fa470059a6dda11218a0f66d61164fc9c48f8b80ed508bb537ff353bf43facafd93516c205046efa4a492f5cebb7255b6095933be3e76234064b1770c79fbc6e8792b7283d398529c751810737a93bc1cc90eb9a6479fff0228b387462270ecb62b935484d4770a29c4cc1f58cde6836b69f7c3b426b12a807b164755099b45abd46c0434dd4a1e7addd8ba92a23c2bfead8572619c523352a5afb9feeecffd3ff15f72ef37062e70445239d0f28783ea9909bb8dca1ec88fa9524a77336bc6035161728181aabf77a7ff83a33bb44c5d9a7e8f082b3b0e823af1326cb0635a7253d172877419f771e56001d84d39956e1859452e4ac3094cf1c383f4a141a705edf1727c42021ef0fc533ad67634966f8ba9e16d47b76cbdb1364af92b8c477625f70c9621e54e9373fa13660d877ea028af31a7a02f6610682a96930461115528d54b72c1e4e92d7588e76221ed4c789e64493a934b60de789973b63e1086b3cb1f36d908773234f520995dec17f165995e4e8948201c4e096de0fbc7c3333d506b7267daddea0f1acd352e51d82208feda68ff939d8938a7df0c6c52b732da89bb724b01b0d4dab92bc411ceb78bfed35be4e0fea5adbe5dfe7f95233fb78b3b8336a734ad102098865f4df42535150b00f84fd35dada1f4e480d7274f0948ceb60c4ff196f3ed96085ca5c4c318f41a97511b8c6f573febb73f31057a3370f51f4bb89febf9de435c98f5d2893ad6d372b6406059c0de4f0fe34c3070162e9bea44b7d9f7df974856097d2378fb4d26242787e443a9d069848bcde011fbbd31bd3cf782e288124e878b4368d57e80221d95d700cb376af2c2800e01b617a51e9900bac1483b3dc2c131a9fea2d54dcfb9958737780eda995dc73bc69d14ca972140d71a4438e4e3e42689cf12358618a58412eb7195e713557c3b6000c04dcc7c72026c045574bf7e525639a606f2edca081449835829f80c444ffc2355ad6cc9326a7e9171fa9a5d7a464fc2e1b75f5c50c0b09aeaf721a7e26083de9a10d46532486c9b5c41e3c56b6a3d83c1cc1f445bed0b32de9c3c522132cd59692371721c0ca4a678a8b60174a229c6fa644076ec2ab2c4e5a41e013219b44ff23b490d72d2d05b4efb17c9a87517ba9f822462df9e8134c416cd44bd6082e57090ab4b7288095bc01d56dd1ef80930d26763bcae2f972da003a8b32e40e84fe086606c32ae9e4d613eccfcb4692b5311a33738ab49d93cc689c196d5bedf4e03608cb272c71d2aad8e4f5386ff937b38748da061b9ef7ae5095f1a09e93b00d9d2d1a6444bd4d62d5089de1da92c5c53f2e1232f149c199ddd7ba02b6af00cb8ee6efa7245b2de635e77ff0a519e0003da69749ead5d3a25e1e3d2f3e9778a25b353732f424d31dec027907b7dbcc25641abcb524d70a480d7405f9b36f79dbe895cdb72ef8988486abede1d2997e4dbfa609088a386de938884eb681de7aabb0d893a72946308452fe02f679190460c36d31bce7a7f9c7c88c8ba661daf035e7e560350c02cb1c1e85e0f5f34a95fc0f542200403c44788e24bcaaa68372795f4f422722a32fae6ec45c1829f68844561f26f7fdf69b332c7e738402e747c1f855f9572e57831f8b1c7c31adb452daf2f458cda206fffd35d214efb7e7f0b177b26b1015e913d378d2db49ad366235f767521505bc607fe4408b00cbbd19efc42a53202b9d8b0fe1c0dc3ef76055c4272902e441198ea3714b5d8c56b30b63c5cef807273a4c6e123e6d2ea06f7caac9bf4411ce8342e61a5a4da4b999d5e2e00b23872eb86d6b8845127fa42dc0d6b24935068b65c3532cc8b7e08f20f3505839276235b24f22606ef0fdd01672c62a1356fbf42dbc76b3bea74108eef9deba36513727b5c0a35f57443c126b8fb65dfdd97d217964f90f1282e20195924f5d4b6b4722979fa784bee0bdcba22c63f465081e2608661cf53a7c66d97cd033f70d1823d52719ca0cef1091e45554e7b3955136d85569c301568eb0395fd461518db5c0c01d61a23111084d0524ab1439cb6fd6ed0dd689412ace7e48ceaf52852dd45720d485099124ff1f2bb35b3f9305ff0188b112ace7c6efa9d71367a014fab9372f703c34cd8826e231599a23887aac903dbd89b033ec99f20d318ba8edf036c5a5050ab0dbbc8ec15d3386f239d96b89a5e24678080e3475588839d5ea6f4771596522ca721052674e4b3d2e0bf034924ebd35ea9351c1fe111d0c0f7d55fef727223631cb1468bc09a1de920dca1b15eb27a47cd17b0b4f7d3f15ee8a863af662ac6dbc0b09d2056f7a0a221e2b92adf727fa0f55dc36d0561bbe6f3fb793172c33a71fe7b922a326b3ea457ccff4b4cecfb9f64a77b89406a8bf4e51b0c7d72cfc2a53813020594fb768f8234658180cad15e1ff5471d7e270448840d7abe7277933976dfe30ea569df7c6fcaeb6ec47433004c61e6855cfbe92b76c1971918bc39561c1c2d78403d977e054dc38c7e8e763871b634c2d6ccd58b83c8067466946596bd9910fe9a9c1aca3bc25f755277172750b23df9bee001deae88166a72bf1ae308f7de2b84733d1adf84f8d743b8eb3716a5558e6abd893a9c1fb85a38980c5243503e6d2cb12d6851effca5a06531b9bf7656298aeac2dff98ca16f724d2b67e9e8a00efade0a403c2497be2f4ce1be53cad20b1ce051a0abdbd63015d462e777df1402fd4c7483b389fb478efa998344e9717d24b3e6f247d95560727c5a6466cecaddef77644a6145355afec5f1b06db8be4781a17a39cefaeb4372a4eb3b7241a74364c823a190f235192dce8b6c1f2bc1e1ea5f656f58cce1b6726d6f3f48db9cd11fe4899de46988b32d61bf1dcd3b3f9bdbca634112582fbf68ac18fd1efed01911a0c37688fdeea15edcf69d33574f262e7fbd528549c10672f4783d375fab2c235378234f635f098b46527386d856b069cd8c48c2fc477247aeca745eb15b19d93881932ae85128b3f2bbcfb0742ba95042eacbc0d40c5118f8762a9355b41039402a2d871eebf1f0134e6ea06d9ffb94a673a3901dc45a1f105416a89ac3e68e9102c074eba5155c3cf0c7c5e236b24138c020e4b46d32128d11863595905e787c245700a04f9c7df59c1636072465896a59557afa153c6a2029b99206fcdb83ca340f36ba9b10fcc6aadadb6eda2c71b9ddd87709f0652eb27a17d580984ad216674a8c0f67e9379771ae87df3b05070fb57a109c64e272874facb9c93f12778d9d89b0c1deee488b297626a7a0cef72ab740686881ec72009dff138150159d731800420c10991aad05510e923ebfd74662efe9dcfbbf728e12f119a11cc05a564fc0429531f6ac084df7f8a8dad01e64f66c7c6dd85139085325978d65e78ce252ade46c9c995a7a81d603e89c9d75f20c12f513766472512a428881276db9519fbdaaf9abf63b2ff60da9c51ec3c9ff428e60423b6b72a87e156271a60d94320239e039e5cf146990c64dd5597b2140b9ad6d3cd90b720335dcbfb990db08ef7845866a376c88f677aaba0803aa4390f80fb7e836f11ddbf4ef8c672b2a876a3cb4c06612d1ba4dde8017a4d178e41b1c23b7ed51f028ee9665d7e89715c7a4d531ebc62f8d83f2d11351324d2e127637e67caf88c772b87f59534ff40753ae1e9ee4f5cc874a9feb57c3e4935212be3abcf805aa93723c14dd732af193afc233db0cd0886252bffb8cc321ef67db495527395338a370d2a01b92682dedc7183e4641049d3fe11214b2ac9824db49169d38ccc99470721a6d781b58fa1dba9102cf7e509d8d641f39468ab4db776549cce8e1e8d2e772b621cb22d2ac25f824c6f69177a5ea1797aae8907c4820baf5b782ed078942677c62fdc0fade5db2d9e75753c8fb2e8d3bdcd16d052138cb0cab0b6fa2334d0516cb22cb215d731237f89cb97edf732df9df4965a28460f9fe85261cf962c0148bb73fc2932423ff4215434fe588b09f2ae2b7e16f00167ba9db067c0c96587278f0efbfc8971675abf90dd54a70224426fff62116b2e295d11c56c709f00748effbe9a03468a4b04e881e13765807c1a8a32566ab4e205aaf427d1fec79684c4fc573b3dc4011ea3acf9ceaa10a9b9e5817134e97a771ff4087a4e163c09272b39e682aec34329736080a524d4bcc1585831570412f6081c0b619532872df72ac297acde89e3fbda62649c248ad487f21042afced58fd58c542f6af6e04b2726d2203b62f6787912bc941cad78f948bc2f73bb3acd5f1798eef71f5ba1fbd6d84d3824a0c8b9cd05e92baded87a10d8d7a9424a0b07c0adca1fbdcea5ff4a72768f4a401ff293d023cbff10419351e954e6696efbe86728e2d8703c8dcad272d4e17fb2140c78e62354c916156d29e7863e7ff63f3d1857639136afd55d0d72d26c1674e32ad53c34e8953c3b06e30c4252da99efb4315da9a417a7ff6c7472bdadb1d53928e7aca408922d6b1b7f7fa91331c7ce73f6072d2ce1426f3dcd21bfda2021c901258176be61ce7717a6716af4f6993759eff1479299a6f5b6cc7218dc96981b44500a00d32b7f35b51195ce0649a829d9ae4ce810f9b2fdbeb4728797bd3f5d072e968623e046c729d3a39fbbd0a3f98a586a0e97db8b11d0176795564f94e7f3de480cb30fa675bce9c6f963763254596dee5deaa30db5230972c1c42b5b2eed297b9970d93518a376932a93639b3fe67d3eb7e999129f36403421239e97f3bbbc58c85850e8aff4f9bd104a64cf2c588a5c714dcddd4899157284920db5e219c1959e8a2236cf12f8172cfe55dfb4b026bc6a9f0b081c567772d60f510b63e87f9f4c5dde4e2d3808012ea0a2fcecc0d9348261ed089f3f48729d509cc7ad4a9e0643f8d3dc9c3b856d89471228c4df084e99d6e878a3997321e06f712aee441c0f97b04fd74047da68361561ad2ca33da5bb487025497b7e72f5ad040886350fd77f93b3b723d327078a5c5563aaebabdc8abc635dd4ba4169d34e81be2779fd6faa4606a1436492321e6ae526dfc7c88a961470b6942d7f2fcef0cc8bd9e39e965ea740bab3aef49a71da1fff820c10523a431a1fb2e78c72e59937b846469a7c5441a311740b549ac15ea1a9ed08f2e756dc5da1f819d072b04c21c69a927d47cdae51ca435bfa492cc8f5bdc2d08e8e50fa214df8a0295dac9a8158c4e015dc7c3392136861357ab29026089166bb0b04a13d7172389b72092b4198dd481a85fa3a3945542873507f8a5c6210c2300d20e6e933f9843472ed7a1a71fe2e2e2d0ba1ab667f348c5016845b266eae772ebf4df05c0dc461377ca0145aa97531ccb4f1ce318e090d6a663c174b22cfec3661bbb309ab29507273b99d5ca51bc94bd71aee2b12c41cc5ed03a7b81bdd62b562380404a197657267e5f024439d1cbd57588f8cdd0a2cd04565ea42fa6554b45a6c2afdc54e762700a259f629a10ed6e95ce502d53dd89a7b39cc13f9d8ef1f748d5bf27ef7e8209fe1479e104ebea7b4a596057a775614762da5319f08ffd96905fd18e53bae0feac8e66bef22092ebabd642e41813d3ac9c562b5c2733f156d09021854f1d02f667c22681c91df97797ac10e2120b40d4ee142b385df5ade2f4b5533cdeffd7211bed3074d729c48d20b84e695bbea81ca832712137b203329b9a95db457b70abdbd71906fb84a49dd043d6d44d701c7f5e9d9afb8bba694b512f75da9599c1854b3c80cfd5fc163ddbd200e3dd2cfef3c9a95a763694d27d8cf73bbfcdc6f72104b67bc5b625f4854c500663936c71ff2078665350cf0543845c15a426a4c711994ff53a559fd68ca8de81d8b7cab40061f3f18593805b65bb0d51155a1755a2e64b5764ff8d851cc8cfd1059410df05b13bcd978d0b98cb99b95b61af9d972bfbdfc67cbb001853d09025feffff4852341446fa66a27aa24a7d2a2aff44572793f34bab590d02a33d0c033b42f1781940fffcadcf9b5889638d80910146949e02a89fd53477ad8228ae844a8b5a3722bc85b4463e3dd5c65c0f6d9a6595772bb761b881b52d532ec33f320cddd8bc73252242d329f79c1d7aa6efdad59747212f2ba8b4db127c0b94ec5574e5bb647fcbce6332c875621ad4e78a622abd272dd91b241f75be1d2986c210745d7310bb592bbba60cd044da5e343dce3685372af76fe0353ec703176cbc713f78f04894408a14aab3d606af77d0a4fc9bdce726ca382b287862e2d908013b39832eeeef3188ae4c7856ca5faf35e34137e3a0df5a44314f4d4040c660f69c4545d2b28f16af676f13d3ee7d53d8312b8469a72cd86335a1704339948ddf9d4d79ada3d277009ceda034463bfcdd1b50ce82372e589500558ca5da659c608c127e737c643717c8e5b6472ffc0c456fa14599872aeb28b07d88a7b342bf5b46c26aeabc746a7597b339b1c94d7a9d21d1ec0da37e49099c4c15d0cc1d82e7d4dd60b31a39ceb0e7be94733d8e69829fa28740272ff8494dffa721a147580a6c417eb1acb57f5eed22f7ad7aea17b50705cc48e5bec2cc8c7732ad31d04fd51f2f9ef1bed0a800f384902071241e99c5fb0967e72f43fc39507779aa04145610252c3e5318f617faf78ce2f584571f5f7a616d0209826255911442d1185b924eaace6a0b8ab73381fa20a8816a75fe24a89ddb3722c3a72cbca30294ff98e47c8c31562e29080c3f5dd3574f73e890d0d0a829d72126b1b0924974949ee969a207551e83ba08fad3d94201e6f9586fcdefef275590ab4d49c396c7af9f2cc6ebe2ba8e5e706aa42ef669ae4c307e6df9f33251d49e03f9e6ca407869f030cd2cc96079eb4bc2d746f6c8bcb740e27800d7b2005562a692ef54722123228d93f162af1ac49c926ea61aaefa7eb405ff69650e04872c0b659cd6e10be3fd112e05524bd277fd70ebb3f1c3d015557f329f183eaec676e08bcc75463a64740e91beaf6caba9c2a6cb632cfb9f8282011a668ab93a972216ad87833980fb00a3e9d8d5d35ad0e8feca71471f463e415c72ca622e36331ee1f928dcfb925dc58d72f0b87fee9a65fe01253d335cff03dcb22ccff9e4d276b69ed4beaa66e1ed45b242ba9d1c9fc8170142d88e9ba5e372c11aacd12456d4f7a3a05fb81980f00931d6333637de7db2d290365da3ea6aa28de62a2af25721567ceb7f5d255a19b2e83a5a962b48e959ad41f71b01f68906089f98e33ab3ce709add32abd21bd2bb29e6b339e9e821f3e01b05efda619477fa3e35e53fa72f26e442977458807ca7451bc0b6bbe63734df01ba4e781531831afa987b5217234ebf378f3b9e507fc3cc6d3856b2039bbd676cefd694af30de18a803eb46572c1f6ea0695ee470a724ef3596d4cb2b9c41549689b4ba4cd73838c497feb4a5951a4166e1f71339b282d7671f264e9ab222077bc4fb90ea9eff420d5f8f4076e0f9d15839ab7d1a57b0874e0989c4528258d7dcd7b95574c3342409f07b3e04db674011ddab3a91d17e87f27467609ec8ff07cebed6c1dee3665706280297831447caa48f23432f398780b5f994ffa4d4b1c0e37143e6c0b135a89229a3061727446ae7c564a9ae5cb09e1963ebd5955eaa1297df2472b087227ac091dd31872ecb1151f5e3dcd756108f370b556b50afa608799d855eb764c478e49916141727919c04828762b84b4c91f940fe0862fb9515e7dd48702f5ccb0fd3a0744512da92943efa31bde81708a83239493577df0690343e79c70abf723eb3250ed1b72915c5f69cf612fa0a876a16f536f85b5cc928b810302fe060548f5c1e3646a01dc24bdbdac62f8d7a5cb60b82b3c92c078104582dd40cfebe29a240d3997d872bec43fbb68484d845e4e6449ecab31ef2f3382e406e4d392d5d15004058e51727971b167154c0ee3383a62611399f2640728f57d7aab60ef03df28428bfd8a72d60d01bb1e551a7ee45a86b7a10748a8d1a324abbcd04b9d55fcfe9ced05d04dbfd384a44215bd56404b295bb65f1824a9ae877c493cab974d2167ffe03aac72bb18240f926dcca32711dfa6f3f874f95c73fe79bb948ae33482dde9ba9d7a7249abc78c661f07ff0a80680655386eec3741ba6dc910bb3bb6f8842569335f7270759512f32d3a4e9bf23686bd7df4d554059fd61cb99ee0d966693a75009b72ac23111a6d75e5eebae5b9edd8635df7470bb08f0ff479a9deeb0b72df2a353f9b46c2c0de232cf70ccbf161514d84045ebf59d1e454c74d067fef9a5a884661f4f337df0c6fe87879a6b1316fddc5514fd231820e293f116d95b52fe80f65679a4a8e7569367737d8702b57ae7389b7d64e2c291601957b2f332f5b5010dc722b0e0b5181cf8e13957d85a79171b25d10d6b549112bf33a93459b04ab931327c1ca3057028c0d06715b21f98dfc195c6d5f0c8550e7b116e1233accb83108465622d716b74a10a104b42cb6e32db5fb11d2ccff2924f3203741163089bc5c72e63d97a5b8a8ed533ed8ceb59365b829e7eef3c490877ca5375acd6151e84c72d890c495cdc2b1e0ce7da4492599dfdf7bb2c3c5eadeaf9fc9a71f5624693772fd752a388aae6d5b398e9b6cf1bf0aeb655658480aa25a5feeb8e9b7f494ab2bead3aebd577910f448b5c89e83a18de09d8326fee814965e4f35afe2c6794c1740ad585d64f9bd7925d3604cf1040c09d61146f023764eb49ce14bcd2a49a156b460ac0ece0c94f74a1d0e49aa2275f22b3b726f0a5adfccd79b1498d10042721c05a63975219c05d39926cd0eabe6c11955807e9989d10d866401d313eaef7295455e99d59fb0227207932a8c699337aa389d2ef6c5f498312774a580751c7266ae4d22cca8b6c52900fd676b36563be1137d251bebd5c8bd69b05f5ddadb7281f5349c4b4f978fe9d9a1f0f23a1ebaafd0d0fce984970ecbd4be082d958e72e654f1681f6a9acb374d1610b2614d9161db1155f1836d9b02d32b8aef408a72837a7cc5a8860ba7be468c3b52abb10505a0abde4c20702768b4a935be14107283891fd5391a5c07e0e108b8976516ef483428804d481a20e8588ac2f3f0a30b7db8402787b1f5a16e285d43abb07d0242b5938d97b08bcc1405472e703a6c027d469209a923ad6e0e2c66c4433b95dabd50d1d95f6770ae58458b498ea4a15039e5ce271ee5a0d006ec750eba7bc030050b317a09ea1035cc822a0329609072a7ef9f330de0b463da3d0c6356425b22c295ba0faa2aef1baccd5f930a364645377775b86264f77431155b70eeeefbf35161d9a6bc325ee3ab867df4ea119569b331ce9a2016ca03302d170c827579190aa9694a7e2df43fdba40298adf5734ca1af0380b0fb9b8c8f5eaf1779b81c3335f4083e8020a9af690dd111c7c69c180505f78f2557b572064f4c6906b9f462762693682e0f99bd2f296b4efdbcdd6d8c0ab2229e79f209c0db78ba5709f73b3db456232ebda92648cfe180a38478728aa110f17346c14483cae709cb0d984f4e7b89e8d37944b44d29ff7e16fe897245492e78c89d8e20cd0145b5be309d0c700a416513d56f9c905419d670ec2d72eea333b3e215561f7406e55bd6386eb3e4aa7f1eb33f0880cd07eadd953fb87271bdf385d3f760c91dbefeeefdb0a6eb6d4443cda63d72eb2719b15d7f065972f4b7c042ec6b7cc14cd2b18fce5ba6a830b10cd3ad536eca14222d9f5282ec7241fa2c2c89cbe7782d69b96817957b2e8785275703a31020d063caa18accc6724f10a65107f9145088effb225bb71826491ebe59a827d9deae7f45b1348eb57284999ba68bf5fe4fbf82017934044b38d13f796383767beb073c254320d4dd034cdc144717dfcff0e14dca136dc497091803498a0ed269faf10f980e008bd572038d7fd9aaf99115ae3932d4e73a32748e7cf6cd9b1a63862cc7e365b50582727051e87f6859cc0fc575099ebe91eb57450b54e773bda06445e3da74887a6b30eb105fe9be221f718206b08a2363a90ad6cf76491aa694d182dd43810d3ba07231561505f7681755dd5903754ff6cc2b918a9a3b7902342f11038f690035117246f1c302ffc23a7d581c9ad248aee0a1fdffbbf8df6d30e094d934c8a0ffc572aeeee6055918bba0caf493f5a2f4e7181ea2e9ac897891ad39473f82be60e225dc4a7465f00920a784304df1ce526c8a0d6f331d379cd5116e43737a038bb90d0ee9d610a18dc634473b86eec24f700b71850c09532542f144605a5104c3364d5244abd458748313a8d2c7460dcaf7fedafbe80ee042a78349464740b4786172144c77d72a4556cc6e05ec757c81e082402ac212a3ce321babd2e5b404573116939d31f55badbc4b620692078ce78c168646a359113d421e95af9cc3eddc890e1d85190de80d0e5b14a5d698680cc7bc71bcf28312fca7dc77e0c287252c5372df9768d159717e2b1566348ce0320c80c5cfa66426fd6c8e284ef6858551a972ab8db6be0e9760b3787c4b9ecbf773b2bfb6171f740952244c041f74a7da49721aa78ae95782c63ccf57a34440a9c01de64dbb7afc5996bf8ec7f5ccc3b5ce72fc5a4dd77511d349f0c1ff2affa43144eb9e1af8e590e835eb45552ef090ba0b4563a9118015cd187867cd1d7cd8b0bdb95fc7a4b53fb957d1787937173c337288ac7ba082fe5bd557a490715568b4535770743b9804cbde38e92e2be3d01d34ef5fcc4b54b3f3b452a50519281275b88ea6beb87a45306dd346edbf9b66237226b7866e274c632ede2bdc7b8eeaf0b4e5d5726f113247115e07d06bb4cdb66fef2af22bce7dbb4c07f9a487fa3a53a7ff7245aec15421fd520ccfb4bd20021e7cf5f85301e4e59dd123277e264885dc5eeca8deee2a61ed95fabfd6026c2b45863443ef584961b075003392ce8c40f93b8b8269975a0d491033f9ca2d2ace506fe3aa6c6f0acf7f48c791b88c7577a597e9cdec16a19b1c9f1c50cca77cf961b21d2524d35ae56f14974a77a685a2b545bfeb4a14461d724bed14f60f467672b377396560372ee3d126bbb0fdf33e78418b2a043254606bb53c56952c836a72a4cd0a7679f3304bcbbe4d130db96a64a55c92e35f707d834bfffaaaca52067275da9cd2bdde0729726884343ba590264a0cc1e82253e768e18f5924eb271672180d437652e4f5358753321436c2782eafcd7986caebdb8f267623273cbcec72d6f2a1a711d75e9cb6ea551942c80449c9a1becaa0b832e06f732a13101b4772947c4b3782002b96ebc4ca6e858c292d042d40b3dd284085aa1d01b5b5f036729a1d067f4d1dfbace455a2b9272a0c607e6c4fa2bf0406bb7a4d158f5c08a80b373c07ae5f539feb3881d297e60304d00541148ccbde5c1c4ed058c6ac09a355531e8aaabba184434b77412b90b17ae55c17f5303d9e2e88c4eb2ef72cc78c41210fbb56fcf9ceca4412e5de42b5934f58b1547c441d95b2c45e56a17ce51172cdf60d158ce001df4516e049258b1d4ca07a59dbc16557c4c1ffbcfa87511a72bc510e2721431134dfb7c07d9af1f37628c502019a2994deac0ba71d3820f472117f8fddd1bec629c7b698e9f86cf2d87301cb1138306765cad09fbf9906d74d113b136969dc9de31224dfae875377583777187e596f72e26f5b98f8c6e56072f660512bedf70e94f8642cffe72bf1f235b644648322c007a4d56ee836f18272ad47e6a267ca078a6ed245929ad6f5437377c9d2d36a39fd597801e868870d1b13c42bdb3101479ca530a40ffd3cee8c6df8f666af104076f7f3b26329f10372da03c19dc2f082ea9438af8d9e272c6328fb81911733bb103512d803b0c23c7251be7819e901725e576c3b1d80295d6684fa9cd682e6ae5217aabacf6cd1e74e01a940c98739b02674d5f5e1d8e2c0230f8caac2cb4ae93f9a96edc65534f672ce26940c72f392d56b26be152d8feed3b1360f9dacaec525b3d2014323f5cb16fa845bfa1dd9e52986e1f76fc7ec8d68fc0b4b680810252c14336f095c023e409e6e8d8f0d0beda6b278ab1a35d0a23f93d8d64e348823282a8ca9a49d23f11f42d4efafe87284fe46f73ce5ab151d557cf9a5ed1b11eb6903dbbcaac3354772a76f2c9b3505b21639779b4da7b30460a239223e8504bf49057b12b0d4b6840b9eb5c7a0dec8839fc821f280663f94f30560f36086c9c9155982169aed480972e781ee70a656fdbedbe5ad783d2b42d6073a376b288106f4203b2ff578d6d94301b9c972d14c37a1793c8a562fe3b187f07e4e0d41f776caa232ff42f5312909c194e05cf5e7aba08194e0f3ab8f8a90d2c47cfab494cfa4bf04ab80679b17723fde0806698a6a30a21b89587fe3e1795ffc4594742ef9f1068b7b34c79cea6ea94644f11a5671209f14a61a32b988efc5cbb5f5ae8b9fce7764332b10f457143aca4aa8c0bebf40be2833eb066af32bd2d70e7568ffab795188da5a8f3ab372200f757cfd32c63bc24bcbfcbcc97847ff3a591686e515ce80e14b8913bfe8720db72545db618527f81bc5c40459db861be0eee079c56a5aaf3b2da774205f72b89bf61557b1a76c185b05e6f62eeab515b27b01c48436a08ed3632984d45d7209ca78084a569fb679758529a5347e178062471708501348fe0089033db02d33028ef601e2c22bd5fd18957c222dcb1d1e6540834d3f467f0da33272b80d6872a5c26a1cf1b82fdcf3df21d4d79b444fbce92afd90752aa0d837b8ccfc293f39bfc547babe6167bdb85516d6d2fc0cb7da3feabcd491ef6d98c22bd97566426439df594c6566d64d63687e4caa0a8d65377f629ed864b2e611b4e7a4886526725f8b7e89a8dabfa5855cc2d048feaf08165617a292953b7f0655de2dce194772a62414ec205e3499c24ad5b0c4227ca3a9d82ce2da64259909ec08c4ab66a00c383a3645c9d681b961655e2f2e9147ff33de36fb76b5d4059b9746830fa8a7726825a1b57c4eefebbb40838b9f234f506001917c40669380172db9de83a0bb12974a356aea54bac75ee1b7a687dfdf284456f5dbefb77f88dfeab28c2be674309f3afedc017dcce2b11cca2525550463cc18eb1537780e2c2a6f630256f0f372fe1dffbc319fd9f5f5a762a2e6c41cb6d3d94132d9b235ce7f06483520ca8a3ac5ea53f7bb22cd89c6675d04c007cab82a7406e877d7b8550a4676e3c9529139cfe53ae0b2a50b7b8b8383e0d766620db26d13ba7a584eb4edbe0a1b43cc0c04cbeee5a83f68aa10d954ead3ae8fd7d0087f431cb499822f28df318cf08f887211e6bccfd6445a161dce85b4b58d3b18c068af57ad23ce00d1ed5e5365a6347255ad25294b443a4d25f9409edc9f3f89652060de2cf347616cd56643952288723beaa7febd60f928dba2c35fc1612e07fb6892b76f61b6e49d0275cfa57614057e64b74c6ee4c82e072a558166559ff5d75a326edc246dfe9650bd89bc47897297f01ab219d56171624917ecd7291f352fb278a997cf292fc72e7588ed1a9c72f49ae72f55cdf5123093d94b188c1d13aa4496d2bf39ec83a3b21ff0f6cd5a647244a56c36d40cb981fc990ee207017e3a238737a92a3c5036abb3ae1496020e5a123c772f982dafe1cce0f114a0f17da9aec1ef6fd0432fe1ff0d7e2587e37229a956513b75841154ddf172ce87e9be17af1d7125dcad2fda902eca836ac472aba68c2f4cbb954cd5ebc925d72514802498ff539fba8de2160f186bb941187240feb1b9f41e8618a607fb391a737e3ef8dc8d50ddfeb5fdd71ddc91b58f7c7296c3d5175181d65d266489c8d2d77839d36f2627e6d3586792fba0cacea5e82a399551c5c8126302ee3a44876da5d75cff24fcb7e58e17796f3fc5bcfbe4563f5f8eec3ce9c139fdc7289a79577f2fdc25a19c9708f61286f2689b18158c09727cb87f7aebd96b31d9b0ac0d8d2487efbfbed15528a9b0d2fe75c54207b037721dbe23f16f9d98e1b0aa73573e858ecb1e298357d1685bc7c830a56cfd50bd389e1da200acd3c1a3e83fa0351723a71e51bc8fdf0a84b9675345c607e2f30e526e0cf1a5da17b7af1c7ded4f20ee22f1ad0b03c34e71cc26ff62f8e4261d254e73f6c83525ed396da38fcec93032e2980c0bed7001760b906a3d109bad0aa57299e090bf2459b870ce2db7cba04fb52e5bd8207b0e38d3704bfa51dd87762972ae8c1c95affe0d557887ccf25b27416cf02dcbece82b25eb95404118e1240172651ffcb90485e7920626d13c8144d6c2f7ce256474d83451b7a8adae33db532d3d4875d1d2db8624a55a26c4b7a4689c4abbca5bfe47d4149e7801d0c4570572f09f734a31c9804829e0597b45d89244e4a976c941c1a1a98df20dc4b6f80759cd23d3b9b8eacab59138f0a0e9208281d0bf41ce5e08d41b8443ad89714b4e727ff2b6ec72ec561d8844f7481a1759bc51f567612d8e66ba40d6bb2045d69c72ddd3106f8a2067a1ac9cae10aeee8191682c3cba66b0451c5bf9841beaeb837214034071fdafbb6b6aa27206ef7a84e79925711648f86b7eab030748e684e072be4a786ff18f416e48155ae96f8945d020ff95facf96395121a3b7a127f3981d1419d7b9b4c5465d3ccbab7b8ce54648447862118e5708f863814e9853e65b26268e1f7cb2f71f1e81a22e33254473e9019ab05abb0518f181e2e54d2a75fd72b4b4b3a4829ab96ba4cfc76e06bf4a96e1824addfd7a2f13550bb2972959bd0cf87caa0d6cae797af4d62131724a507c574af1f68a7caa584495dc2b2b304c2f659f23d8eff2e4285ecb0757872892d2abcc94985c36d7d30479d0c4615e50721845169e493e4b71c258750fd9dac62035815844c41bf2c0d30a61571fb9467269af2b3037f0712baa4c7ef15a5c5b3599ef392370dd5be2213bd93c3448153ddcfe1418f368354402283767d6715549bd18dde624149dea86431c2a292722460c2179c377a79b7a3a5b9b42df408fd9d3a19b16f9ccfbd55db4fafcb9bbb772bb28e948119c1e07d50bfbd72e8f9aa265a41c94ec88e65d23b6e093216076721eb7ebd93c19564f27d9886566706c1afdeff7d91d99f848f048ed179cd72c15e574d761085b7fb7c04ad1b20615e1bc06919ed84e0a3d7fa8110de8b9f0677275f5626329053e4a9e60f073066d0d5bc8a61a733eae649dafd0f377bdad2672e8e7359ed3d0532b976f4fb761daa5d6071a5f3b108c00526f1f317b9b64fa72e0f580bcb5974fe69d2121b8362e8d2d8247789232c7708bf19f6879631d527279e8ce7425b3539ffeafda8b236037f31691a10a5281c64d58e1446384eaac728639ab6e8c278486ac00085e71b275fd5fa4b86086676c803dcf7487f7226a421dbba5abb831dfc9228d79095c419b191171b4aad36ea339906dc014a00e8a22edb3429259b292c77a4351c8df351e4c98a92d16977d09f819a1ca275cebb1246b27aa13c69def059db8819e49ea1eecc9b1e0b616bdf77a74f765c52b41bf7275dc98515859ecaa96ad41676add6cbde5eebfe7a67d75f28d4a1021a9806072ea914a23d0cb472d3cb6d35e315f0f3a8ec5a26fc8041a672a533870803f2b5c331a9ef0909f41687254a324d856eb490a3b0c1d556cefdce1c0590a261a457282813ddc6d1845d267d6582f118db12d7bf74b1696f3f989ecbd39272dbbca44199b11a0833fcfba2aef5ccb397fe836a5426528edae7dd31f7c7abbeb9a0e4abc3f820d311bf23a5d5e3edf5e11136400156bd343a35fb46987da148d434e72ed009ddac15e501cc8db44066d10ce829d37c75d5ba83b01d88e24e3597c9c72af4d3637d85c39cb70d2b37f168c717e2f53adad865bb74f06f80233fbfbeb727dea2ea0c12efb5da3805123024d8e15e7bb302d623f6f22bde9bb7ba8989934aa43189656ec17d94106a95d15b92ba390fe9dd694eff3a23fa2bbb86c4be77229b9803c1aed5019ca69a811f11980981761fce4e1e1afbff0d068d3a2e491728d6f0c27f1d40ca21787d30fdca46a30fcd66cb503221510f78e13fd20f389725ec60338bbf3d454b858f3900139c872bdf0f8759c095cb9f393ce9722952739a41240745d5afba12c398b0d0fd3de642cd0d2b2dd26d4352f639e9e54eadc72371a4abb12ae69b3ec21a358e2982fcb061e05997104e10bc58dcda9d1f92c1860e1eec85bab4070fbe4bddec280588781a90005b0e92441e5a8a9886bcf7b4d35fa6f33220d33dbe7e5072a8d46409b8d786f677148a0e2fbb26ad98ef0fc72fd4f55754664aba4ea488f16a73e684b73663ad34a9affc2e34e6b7272c06c7268a998148243b38039fc895d830f498a963d6c27968625e4508f4fb5c00bbe72ede6ebbb35f535db70f440e7e241b287fa9692c44c102f198ebfb4cc897e3b5f010c2c505fa493e1f5e1df59df53de5a86f0a7e407150772b2a3e86f4ea7ea723c27c8ed1607b2303fb99b1a2374756d8237b49a86db87afcdc4ace2c28c3772dabdb3eb2482aadd3907f7a6a2a797d75c75b0d9315f3ae026c1988cf2fb400a277f3104a03d388ad6e2ba0ec8fccde5e8348b475cbc2a99fa531893528e2172d5a23d82c56f18ffc637e3f30808806faca37dd8f440f12f789c565e90787172ef8964876c9e7ee89542a285f82683c23d59ae1c6f0f3b720bcb53c29e59a8729c6803827f30000f06f8c383f84870a8f5e84aca85da5a750846bfd24b4d675b10615e7dc72f99a685aa51bb607930c5f68d12b6de0526716e88e5824dccbe4fa309cf6be18ec2d096c7f4b96abf4c2c0627333a16d2b51758f1765c4b452b7297424e6b33769010a443b10af6a3df8f445e9207ae4dc904d166de2cd13fd6728a037ad4008f6d0444e5c15e4a8ea86555943cdfc70e2c9a4f8ffa32b8c66e721fcf8726380394b74b1978763aa906ec812df29dd3587a35a0024567b6ad63724a87b01631d872ddaae90cb651694749d867dd5a0a219bda3093754044460571ffc0cc515f546e2cbe7fa2b16bdced24c83cd539938daaebf92b393bcd2601723671eb5e729289feecbb1e007534d61c4b687c05114ab322609fe664d43f0c5c2d5c25d8ab78a70fb3acb4d73c75b647cdfae867fb8df28db4c48900f0336472e18c360fc409fe3ad024a8c132adcc8518b75afc71ec10f92783a01b62b0dd72641270f0d5d76277ae949254107ea456eae70c69ef112236d90214e11ee6e672a0f6fc4ea5f381beac1e53a78d52d7bb5f16a54a102d54c626966ec858fdd371e8c3abce2af722a349ab7dd2ca7741e2589e80d9ab3efbcc93be6b1605dbe9729c793287da75f54c5f3077a0f17de9daa065fca7515c23ea78935bdaa9cfe16910a327fdf9120f3ca5676b4a5d91c70b81a19099a5a90a6773caefb8758cd02cc6c952ef0cc80df3ec4353a9f899671a32b54f1ba58c4a32cc93f78635563872dfb3ad7c478046e01e88406311182b430c1c72e9c18bcce6394e26f420e8422f50e8a111c441453a9f75e3f017a68db5a73c6f159298f32627aee6af960fc272e26cb5f6c653441f926e4af052616fa114dcf22fdf588be93131743809d72072ec663d5b85cfe07f1957c9700bf36426e6348200feff2072bc4b5f0c2b00dd725d8e28b9ee6096c37bc8087187edda01c65eb156a227e58e68f4c2b5f2931638a5112059b9d796803ccef695ba2a5c87642eb641a131482d87fdbba38806d006a8e628e28505dae2913a505d25d1035359319fbaa9de229a72203d650d63973581ab6de207858f845445654e10d86d8dfce31c7ae7ed615125a9713bbbf7e972dfabe93fe946e229493b931c96313ebcc99fb05baf4d9200b5692443df231a29577e1401395b21136262f2b44f04589aacf924063474de5dec0a9c2e37c73a1f719658a780eae9db6d031fca40c331f973cd1caee37c833e5e9c787ed13a617229522e873563d21d98770d0ca5f287e4ba13ff985b643f12048a21b42cdf5a13c5039d36e40399954b9276d06ffcdc8adc2a50140798048059096d79d610e61b71773693c967b5c2f95ba37c276c23cafb6a0e0abc3944b0810935e5863f294a5189b5f59cf282009dabd9376663e012b7859a2af45c21858fcbf5fbf1790f265a88ca07d317618f3fde6e0588a33329c6ed79e5bea10ca49bbd82915492572ce12dddebeb5e6f2bd43f2af5be013bbb83fcb5515363584fe44da7eb5b4fb344f841e7331f05083b6f24a26aeff52337fb6be1551a9044e3ea78ecab92819d30983352e507d240dfed9440b6228adc3f847b8c178d955d3c430aeff81ad2347292e5ec27b61a5663b67dbf711fa91747fa9dae9bc2b95068d71add5d16e09772e884e5eea8d081a797138e1eb5ba2f16df909164110d93daaeaaa749c613c5078c17a23c4bcc61d8a824199801c930f3c280abe188821f68640b03163488f5192a8aa737955e743d617cc90117027db6f08637a7157259601c350b7402e7f472bf6b02b8fcf4095b9345deef690f5ecb4fa1760f396d7df86288ee428e5fe06b34c4aae53ff83471ba2207b8d8d9050ab3c5c127350dbc5515b816dae698c3442da588188ebb532d75570b1561ed64e06d13ea1755eba8b83084c3d187e2f172fbfd5fb79440f80f36d00e5a1ccb3c526c7db929ac181bb7060990052cdca36375419f5bf94b14faca9c5401c2d7bb017de065a7833dfbe18d78e9986bcaac1574a737330f7e913497fef4320711c148d9931183e16b3b50627b7ca385fba0728c0bd4b64ba9002c3d586be9ac1544897390c065bb4e819b5f24fb2eeb1524215ee18a26220d96fa44bb82e39236facee33b089c00e27c4a17909a9e65b92029cd59eb1d909ee80789d373de41f6941bc39ea930fafb3ce6debc20d0235c26049f67cf272464e6be184b7d99277da1b5ac07bf5787aeea5240607ea75c04f272cc2efed12c191d15ccdffa05515ce484c0dcb83193319e2a51751687f9d33d725ce6c883d12c1f6e6f4fd57e66c73605267021e5adca0d90b51316ddde5c2a1deffd0dea3ab2d586d775fc9a9e7fa7d8b42d7b9433ef24736523270c58c98911549cd6d9650834d174552abaacf793163670078f2c94ecef6acc5c873e81e77249e79667b6fc0dcd34efb6864601b9fb3b8397564bd15290c1b90be58f3b65724df59bc194745e94374b11be5fffca359805c856a9fb459de85fc33aab476d727a75eb5adcf1d22552027c1d6a20421439ce2e0a5a61bd3bee980dd2cb16ab722b3a2dca5d3e40ad3fe5002b87315d054e0a13807daac8fd3ee19b7d2e12717218ab1285ea8dd0d1d416b12224749e22b729de806cebff70743a03cb0f596d724c980acdf57151fe05664daba8a872c184055d62e0474843e1135737665ab772483c847770f03691c14bd9d65c0e975f0c9254eb84738c6d27880bea32a75c60b821d79a4d745445a86096b78cd92edaacebd0e113fb77d645e7229b2529fe67c07cfb124f010e5eb356608e9829f211297d27e2c9524813ad16e93878fe1672e31d3b7748a797a3268832ff81793ac4f5371e7e4c217cbc3c6dfe081f50250ca75de7809c8f4a31ecb7e56aca749862564525e0efdd3fd92a987dd1cc5c4472238383f9f3330edb8233d527ca13a926e64b2c16fa89ae82f42696fff84bab72f9e39d36259a03e0e53c8eafa5bf38a03ab27f14a88cd06a438393ed222adc72baeaf468aea7b275dd54ed527d37abd6402918aab3d640502aefa83f1c9398722ea285dc97e5714fd1afe6aa0cd0b1d51b3df2ac42919d427dfdd25e9160074f60c23cf44e6b816ac0f49b89e58ffc0c876c1ef7994e290691b09f5c03a62b728c8d34af3b08c1f676da0276d0c604cbb0eb6b3612efcf614339c2aacb50a44d04c7b4aecd7ae4eedc8dfaa6d1e3366d8152bde7d03440b536df7a5ce35b17727ad39f387d530ad3d5827e8d3978c1e69714837eab589f2cb4e36f9dcd4398276011a78b784bb97eaeadf19b2897f60ae5a912938b117d830bda8164328830705664f43ea3f893761aa2259aef9d5b0aa371994b6da1e23cd3fb302d57a689729273c789595d1c61d0754a99ca4d2bec6ed41ad31d22e1c1fa5d9bbfe0d0a032305176900a26b69a71ee5ae864a61d349db649fd40cff20feaa9ef647ea39126b0a490ca127f74d8ff0b88bcddc51ca4b456b5873f287d8c65fb90baea3594588bed034c201bf60b1e871cf8bcaa0cb2d3d6326795afb4ad508aa6d2e0eb3a15fb0f85697074cea7904488a5cd3367947ebc84b768666787ca838eda10830672e749d24fc67eb83e2f318085bfba8773f91182a01bce43cba5d1eeea4e06b430981de31cb66ee26118d610171d820653826cb705709d2c851ca3ab626c2eb930a1f71b815e5502ec350d5089744150f05b59a90340c4631af4987b0f01190e7276186a3fe961f433d52e491968fd0e29f8df058fad4760057a468613dc10ce005c2a59817c76ef60d1e0425054745d8b78dfe340aaa9992f4b81984662c7426932fa68bd812f96b08f05f8b2f496efce49c8f5c20d754ffbf63812c337971a28c63c1547974c0c8e1062a782a18457b6d679b336aaa1005f4bb15c11a4ace1724e853bfd8f5f14df7ea1cd82d25d274a36e3de9b92d67b90d427c34b3cb1607271f78e645d1af798ab4f93b343e05afadd26de1aeeaf04682a6b7598eecee772c4bda007443d190728d8e3086f8b2b7ab1b504ea02712ff64e85a76fe198d950a987414f24282999d19d60ba6a7906161447f01a5cba63b4ca2d8d8579127c72d4e0f6201f2465a0e3a49c056538e8604fd2b3c2500b1cded7f338f41abbaa72ce831b9306103e5ebe0a4f5950b1b44ad3a41ddadaadc9d457b9cab5f06d5a3a4cde078414462d0b528520edb4df2f7e4f4f4b813d23215a183ee25d0aed8372a52bb4fd80d6b67b9af78ee513e04c2a8c18ea23ab020da9f662ba70beb7cb4be36c801f910e60c763eb1622f45a3875ef2c642d9f258b4c1953ccd414f363728f214e2cbd9069e890fa1678a73ba1e6746426a4a221cf19dfa52b0ec12103727e3029a936b1d9010d8b49ad6cf7dee7c43df39e38508438025349517b6314724d8a8d36e16355841ec6d1b6e23d38576a15926f94b56e27e63070c264602d72d0ade38c7da8c100652f859a8faf48a6aed86aa5036795c2fc21b946f773517293010aa43c1dd7c9ed9d516aa6a9dc4364e96c49193d83939acaac2267723c723094e3fb84ae0aba92893720891183e598d77dbd11ce388865a6fe124b4ed3723e23a5f09c4531e0462b960da48cbf7eacc4c5172faee4a44064925f3c80fe72f5eac5e89bf97c29c2acd693dce2473a1a5d7834089cc3cc6592853075049572099e3b864e558aa2e87c2ad137e4f23f559b99caf25dcfd4d10af37ee5c2a972ab7495351d984ad5c2cd9117e616939255eddc7fec5711aa6393cfcd248e13192900742af7661c74bb58428851a5ef08c6d6b64a2d3339b562fd0473d3190772f02d260c9f3c3b046eaf30ddc3efb3243bbdc220389f9d00c1e1ccfd396cb27245dd8c4ac574208e525c4ef280b06d920ae25b8f27222036e0eba4c4499b867219c41745719e3ee7c716be106b125d41da58422949d378b850f9d1ed147b9524f55846226a1ccbf56a86a42d20de0960d9faf8792e3f3a8dd575c2b82a57f15692550ccce2606bfc1d63d4a1b29066b8845bfc79f78b6e66ed9eebcd70cb8d72021c3e2b44bb905ae5df11dad5f178c275adc9083f341d366f332b069f096e373b987e966f7e107f87178f7848eb83d5fc8d0a916947699f8a3dcb6f5c9d437243e27b1241bc8a508da0efd29b6251d7f0260ca843a61b96f7749e08eeb9c572dfd4a93a92c4c4eb7a754d45619b5ae618661cd208ddff75945962381483891e40f4bce72a09e0965ce7fb132669a00dbe9df7f9f32e9d74ef658153cab986119fcd60d41787a027cbe8143ab17548d873d0c2cfae5829d588c93f80f5af626ce288b3ff22066864f9619673bba33bb9395a11c27965485f771cf4f2ee78705d49ef63e1cf7cd55cc019f19d009baa4559cf51c07a9cbd34bd1818b4aa67d635eaee6c04859f5b6b40f8ab76c3e000bf37a1058dd2a84583c179bf5a4b5cbd72b4a56f73edb5dfea3c17222d7fce4b5475ae27386919ab52a074e3cd4ebc3a72b00fde5afa5dfae11bf8516659c63acc376b29758a563ec87f11574f0ed66172da95c9a0cf0290401e4b19c0ee4c31b7e033dd8cd22b84825a4977089828fc72c5701cc7024e27f2f51254808d2f2c4768b7aa5f644a5d28b9d7000271657d72826e7672c29d0b7ad4fee008ef4816a478dfb9057ee8ad65c9ba369795e31a729f7861586b588858252424e34643f971404358d011582581f8d44bdfe0dec3729242ba94662612e0fdda408e3c89c58f7bb1276169dc708cebd3c176a30bb2721ec7fe50e3251ec74d45d12a26b96e088dec5305eff8d13c0d15076286de07360e0d934bd9185b578fe6d9c310d2ef23ff3652cae5a77ce27f24b742b1891972c448a74d80a07d7dc904ce60dc7852383f9fe91950993668b3b4a08d3bd21672447a6e69265fd96bb75cefb914db986020f194a8af9ae32a98e4e02bf6e22b6d74912d723b398bc3346a03fda943f268a896db01862c5a2ef5ac33c27f361b7255c557fb81a997d99b1b937e695e87b193caeaca949f55b9e54aedcf80c537226410ce1a7f8255d964ca1710725bbf6925ae20881eb6daaf846c2a1037a40b15c150408bb71870973a89e6bf7b419de88c50f2bcb33fee6564b98595385530725e005fc1891161710c71659114ebcd9bc32c10f349b796e523f20238868635582f0e5d4a5d6850f26021c41b8b6f441e812f8d285cfee4b482ecac889b84f70e07347148ac4ad388693bc8d8df812429c6327ebcf6ffa56c420542fdff3dff30b93a196e3224feca8b0d7de63e84dede2e17f9ac7eca08e20f7ed9d5998d9915a0f37e0e0190fcd5899a2c6ec0184d30bef05b0a62ba4d825213c65d39b32c72999ecbeadcae41520a11b8c2487194090eabb46ea805661da63a29c3d98db472140b8d3382855ce7bae5fd667bcee66d2d1d48b45a807ababef623361391f96fb5b55f38c70060ec651b66e752f88add10e6a3bc4bef75eb839ab66f87ca292b225404c78ac73c2af057fc5b3d43ffa3b98c6ba1fa4e2391556c5b83d78d502b9d42893aad3681bc3d41e6868aa317137e5bc50db8becf75c318b6be135c0c72034c0927b43dfe8d30ee6b5137d161429a0c3bec1d510e356d5da304dece706cb64f45dbc07c9e7f969c96ec129e71e7ad49ce0eedc218f8fbd2d98b1d8b8c7299668aa0e0f21e60f4a4c55f3fefbcdb6f8649485ae1c99c6c1d4b56adef35726987379550a45b5f4e2914aae26e0e5008dee85a3a1ec87fb86abc6a4cfe1c72bc67fba0515b38644108fd9eb960482e9d04896c252ec5d5c6116a3c3f5373343788d37731264f6f58f905c858193cea6a1ff6391dd290ea54a153450a03d37220bd69639155af8271325e7942af0b046eaca4c11f34989e8a25712b3fc8ca0ada9a1cca8c546f90839eb6f1169c92c4f8280d30970a773821382933a76195707cf028364f3a222ddb220c45ca10a6e494ecef1e624a9ee9388c8e5e02c7a1722b5c857aecde5cfde3cf89644a30064026e07e013801e32a2bf46003e5d4a772b61bd5a1acd37da564fb31403b1315b60d44ab86749823f96aaa55659c1f81728c7558afbf5c974aca1e339419086a8fdcf246ffa2de08fb14f92b72b0f6c872faeadf5bfce26981e61df91d93d1c7d98b5fff29cb90051082bf07250eb1f0729d00a043ff5fd5c73e74f9b34986966c245e64b8f4eaed71d7bbf17c21f2383decba2185152adb0ca9d8d277a0a4bc6ad7dbfa5b65fba8f5a6081acdcc426572eb9ca173e16bcaf52b23ebb7ce2c48c51aabfd5de6c417be7365589b664a9772894e4fc8c7935d6e6ef74d8b025da2c88a8a1ba77c3a2b9ebeadf23e052d0e725d78c87a2f65741df57e4ee2e5d4cc05c1771a3c6099b8f63bd89970714f5d038d5dbd26eb8427056d9bc0991e7722aa1bc2156438267239dbf647349b4fdd2a7027ae3ac55ecfcbc40289e816a1303e5110aa58662566efd4bf26438d273b5cd529269b5caa382304d5c308e066c5e216d6fe0300509165fcf60fc06e16d17252cf6d7506f1d6a31601bd529bfbc85951f8dae5a4c30b538a04cde22c8a0572610317d9b87d78823177b9a51cf717fdca9db840d0acb838c2af684e98a94a72071002055529ceea6ea9ac92a4040b4a5f8ca98287d371bd4f9af366ca583872ab224001f69e4e8c47ce757d437f718e053adb35d2744ba25a56b3dc65d62e72ff783fd3336b998be3fa6d405bfb88fb88e331b663399f014c7dd1d53948f038429c76a6fbdfef62fd8a5546b44733964000f5b62a59962d8b06fc436a4bf03bfdb91a03dc0a703d099584989dd6682f11ea247e485a0876fef47afcb6364b72a676876c391ba3a1f170f1138ee2c6adf47fe3369a9a86e190c93865b9186972afcc795b78b501974571712cc912c24217cf3ec287726ed4555cef714c1911724fcc1b86225fd41e69e39e3c4b7c5f619197755ce5bb0c2c5f8a7ba59aba8972bf29d164788f0ab58e75d9d645bd23e375a875bbc1d58663334491f5f7d14e72e405e588ec3d6c4e411485a3315bf8e69a9e4d13b254572eec74d65182d52e72590ba780f70635a8fbef57171babef409c93ade35e1be3d8f4140d50a4ca2172c9943d12d4e3a6674e29d3b6d7aa2e5751d2d7963304efc844fc2bf23ce9a07299e3a3416e7987e2bdea09ac227fc5496425643223ed6ea6909a79a014ae794acf8f13017d6a906c3cc386db67f3a48bb3362d27d84955c988cc6fd3b5ae3d36faa82b6f4ff941289ecd28ed254612f756750c9b9cb81d06b34b5ecde1289c13437cc24d0e122aaed30464bb3f519d88fb8f247112c1d0c459c66915c252325a1be4a28d0a33faeeffc84c8b856164a3ba1248692b37bfe0f49938bfed702b528560f3e8c1ea59f09385854760e6ba3cc22ee67abae84ba56ddb8bf1a67f7f019d00fb8e4d102ed927dfadfa7bc376765c9e76b11597cf2d9af97a04814f023e822a88e1bc13887adc8162a1934a1154f9aca1c271b2303850d075a7c7884e0bc9583e0df5ca835cd901d7cc0a872e714dbaae98ee0db84d12515fe74f048972194521c42fb902c715f52e0fa5d17771d0fbc8543278687f2b6244e2359bd359d9a2239be89c97dbeb46bbe55a838c524600d9252f19a6734dbc022b60d3a836f41623cdcdf60162691f8c8992b4a8973c25a1480b1065ef5ce8cdc352f35572fc63f8bd2881e5509ff685b651739e38e9faf65c654cba6e0cd3c2f7e3132f725e1ed3689db754d60f78786ad41772080a7352fb148ac6544015d8adc8b4837205adc010d1e09705d0ce7188f5a9bf4b3242b9688beffdae3c0cbac2dfb5b772b83db3fe6e0e8697dd210294c79ffe201096cd260f6d7ea2c6127c0f020a8d0db6e0d5ceed941192b2f9d4f4fe8961b663b18d6cefecc67656608025069457589bc025f4c0fe0e82fdb82d5b1100d791e713ed318a925a64102324756ffe7c722f4d4b987e31f277d306ebd0e5ba3ab0d8ff4baec664282a75ae44dcaa6a5512e50539a049f7880f7c48ababc32a07806f636bf61c511ada999079c17d845972f8d141c1278c4ad34081da42b5aa6cdf504c65a775e08ec90957e2c205305072a1c0d4acd98b0c6429ec55d33f6d0a9c94737f75b58c1e1fdc8e8052967ec166f2da1489e1a35d967b11b9f82b54326c2252bff415358291f6d963da3c29b5728fb7a9318ca60673b70465493a8a1cd9389367257ce8e6b64e281f649a56ba725adfe7d94fea415628f79df9eeeedd282f92218a6e68d6f87c55408ef5a79772b765676dcc34752769554f42bdafb7f7b90150b0068e73311e5b4b827ee64b2b057e75681d1b02810b6bf7ee7628704ae093f5e0caca2ee6abde03eef432b02f25e0ef69993acc8b1523b8e7ef2620ffc314d5cce289f33cb6b9e425cfe7a272d80a6da4c034cc21e3291b230770fabc82488f7620e76686635588126a98c40c60c50021b9a775b8462660d0a51d1fa8dd8b655746c64a6d9e517bf9a3ddf27269ae39ba3aa12f157e7920064c1ec424184df7a6a84a780fafcf43218d4c61725c75e1cc6f62354ece3ab2e9b3a7c2912c5faa218e2b6ee1210af6f09da3ea0230165884bd7b9db1427c7e0ae1822be9be11f33dfa5de8c7cd58bdfd11c187341a767a6a43c71a47623b8ec97e58c32eaa2cb6e673980da8f7f5250245ac197285cca8b061c951fac7519ed5b0eaecb7795664fd96128273bf4b8d3f501f937284c5dc226d1b53b2ecb1380b74e6e1bdaaf75bfae2f0db4ee6d76205489d425d55f6759d584531e3f0ea190170ade879e5b7431bf76ff89893bf8e6491b31f59d3ec8f247b58dbb537dc9632bee4bc06d223470f1cbe1f663b7b87fed64fd17203ddd1a55b4a193439a05f067e2cc2336a6761fffd8494160616dcc40fd694255cd9ebd61df723ab418b4e1b072fa9c2ef0df2690e3cfe810d0a38b4210ec3103b09d4e9cb5e0f2686e3f2f797f4ef56be4934ca63c9cde9f847e587c2860572c8bd5969036af61515ff682b790b6f533166c5b55427124fb21964ac5a5e76720af3641d0a3aec7f455a798eff3f9df9ff61edd9d0761f9b0e176c1b1b6f925d648f8157e74a37292938a176fe496645135c69a675d5d8e09832633c1c103a579b7ba73545b1effec3f0326ccafa118b3a28c15b832a8e90b08c405ec595a2298dd9f8ffed10a579e6a6d0cff5093d54312ff179f21a12fb28f59f6f80621b7271cef357122c7beef015f75aeeaca8869c17d9ff679d0a0937ec3d7a6066cd66d6f8e9424a80a1bd20d4c1bd4b9d49df48865e7c25f49e86df9caf1aeb4b22726f79064a50850a90a1c72f9cef066967dda4e20046541e7be0e59eeefcc10d3d8519eb5c45e9d3f7312add81bf52eed127378cbacefbdae0fc1631775ccac87233ddef4b97783891ec4a84626f5025aa359b68aa5f5a969c556ef85649a80a243541e7ae591b9dde76e029bb4514fd7d8dfa0f7f360c865dff522cc465cc9f72730691f00896b628d1580729f318a8ac6c410a068caaff7a72da9ae6852271455153e59ce01651a3871835de5b6fa0edf2ef0d23911bc4cca0191dcbf03cc460722d13370c85f2b59a962e9ad2b64557f7113513e71e412162c26918e6c75806a97598bd8f0825a9fdbc1695a5b122dc63178dff872d52b65fe93e9279904e5e76ff9358bea06129419710cb3b2d775e4cc0442c741afe09ab159578190a6628b8feaba8a7fbf69e5e768dc843c4637abe050585d97edb9277696cfa6768cb43af0aea7e1f445923a43c715e5d5b701a603798ca2a7736beae514f050fb7957223cb85c0432a906dac43b03033b3a4d7af6d12f8fd2d8700843be786af0ae91c670f2d3e261ef4678e1a32eebb27909e5b5db529fd6bee2fc35078705e363172cb1b90b1d70876fdbe2db50ef429269313829fb328ddb1d6322dab2673ae3d16e6ac42d02a6d51abdc43f5f075c8925ee0c95df0517b837a112b171bb11d0768c21a8e2ff2aaaa533499372b49c8a8516148981c333af3031fa5c5ea842ea616d629d422de0b0dbb4aa93bfafa22d2d8a18aa95b91ff4d3e2469481ed6a3b501bfcee5005e3cbb3200fec7e62a321edd54b3cfff07f6f49b5ba7abbccf532b0a76c7a165dcf9ee99e5241eac8901f8698fc8a4f9a597f10a89ef7129dd612a59fac5aa5138a5939a082549cec858900f0b373eaa471f05e39382dcebbfb03e0e6b4ddafc0a3c2ce4d6f2446654918e50049c0adc8896ad91cf9c61713dc2f572cd7334ca7560630b45b960ad94c887ea53479b32b74423677ffa7939ebfb946127ae09c923e0c19a4906a69ea905f397f9fae1a8afbdae2b6880ae6806649c311073c1ee77172f8d2b35fdee7b987d615964483f1062396aadc6a8a254c794726c1dac3768f6d87fe79893e9d5df09e8e47a17d684ca06afdd4fae35aa0b01725357b2f9fe9c04bcbd30c854d5b6e739c3952460d2f1b765d74cbf30b607c472b95d3ff2dd91403ab79dd80b4bce1159baae34dcc2c93d31b37e2231a7a8d7409245e61f33c9f2bffec915fcd3ebfdf49ff8bfe20c59885ea257227b5485513d8b4834395e8e0b49250c6a868aa3908d3be95254ee4610586bdedca4b39b5b652bf2143abaa392c50afbdb43d3502fef094ac7479456eb9f4f4e842ecbcf5c72ac303c7eb0d4b67cd22a7ab1192799507950054a4d74db558fb87144ae438a7229d5026634915aff2a11d84f36523924da4c919362520f17f9d716ed105ce17241a9270e8c2f78d46ce9ba7b3d868018dca5d6a097eeeb307d420d59cc3778729c7cbf397c0ff3b987e08568853f572cbfd56dc673cdda9f7a14b991d66d0d72d6fd9126ff9813246ae65d77d0ea15f4400d726b8af386415abc505295d4061487f08b5b6dd502c41d9f1a067f97b57e881f44735c6e23b2992250a396a667338fcb67f799a6b05b8c6d21b489e729f51c5b3d4ad6d4ab4fcfd944256b4e84727ff24bded1bfd97df2553819cecd85d103ad16fedd036600c0eacb89accafe72aad39be3b2652980489acf0633cc7c912915c6f1f72fd5424cd677baed445a7297a233d6244b78f55c4949236a38925275064d136f998a0ebbdf445f9fee5d70530fffd2590db5ac8c805c81c46d30a6732ee1601aa1d319b3d2659a0d490067123a2c06baaec485e98a23a4c2138a2a7da761102cb9582cf4f91243b6233e72043e2d8a05c1a2812cc18e1062a123f795cfbe19b90674c6a54082d141976a72869e94d4a4dced6b1bdbf332b5bce0c87d84b5e9cde19f11e678e9c7f9e1ff002e35af729ba48b9d97f304ec19276c2885043d44120fa2ed47c00278fdb93872fe86307ab187e6250d7f7201354c3de01118c0ed1d6415c1f7e4818f318c6051ae7c8cdfae02dfac859fb6b3dce29f21c3d7c349d99f9705887847b01ef8fb725bdbb949994986f8546990200287f11810f8384e82590d0153b031085994481f98e4c518a2913376f22dc61064ebf4f2cc3327dbd8ced0e42181aa41e5791c724f001d5e6b4285514f0904ad041110452fa1604852b1a3943ba84b024597ea58858c4ad03bca11a63682a33299b6b40a18cf1c32335028ec31822ee7a364341434ac4b4291315421743687ea5d7ba12593568d63799051f84c75957eaed0a3725634bea271116ba7783ba167468499e9c3991b6a326ec1eb1356c961cefdb47222a579dd871a919bf8b52c2808aef04c2ab231282d52004e5bcc8f7edef23772b9c946ec464c6f935fe853e9f6a11c0b5cde804fe4b250725f55de4dac208772f5c9ff96814405b5117dde7ddedfc1388d3c7eaa39e4add0007194332c0d1d72c294815433add7f2875b53ef70372be61f62ee4841a78178080d13ba2381a072137d19f44defc1d256fe75a96d31927e4b6b754d267394fba34937d8d179a67292fa58a8fd83e75188010cf5b7a755ebea8f9beedfabbe0064b144a7a4bcfe72b1881caaa990197dba1f165bf5868899824ac61a9a039764febfe60580458972554290490cb9812a939c71a08f86d746c1760a5871e0bdc588cf6fd588d4bb72d084dae6551dd407f69980d4e675f3fe3e2213bd1b5f9c2649acc7166bab924148ba8dcc7262d2d5a7302f64ff5b24867ce72efc766f41b8a95797460a98b872fc9e756d13c1cb1ecf4facf1946995cbca51bf1856c86811b5b3c7515976b268b7fbefbfbcdb21dcd16b157901d6a2cde7788d7fe1bbf2f089ac5798e9968e495bba99762bb37538aed209f723191ad4a00427949d5d1ae4f249146e2099873ebb6b768eb48df5471031edb69cb9d16651422b6c9c0fcfe83913ce03610cca28e929a73bc5b77132114f3252d8aaffe0ead270f9b87ed9e0dfc8a64462588a726c37360bee544a44e995b7cb57b1927ae132ad4eee7809355a875da40c6589131c7eadb7cccff5fec14b553b85c6b4353a483be6529554fc4e6555295517bc722afb3848ab193c040bac64b329e09a3d500a6bf408bfb2497d49a82a140c061288e4d3999868b4e614a45f2edf85c0d1c869c925525e65d583b791aa08783e7234e125b8aa28c15029af12a007105af4557a498cc3f82167c01dccd1bd5234233bb2cfda8cd92b03e475a6be5dbca2091bcf9b28334f2193ecb4b47d194fc85fb42dde49197af4c2e5387ec62c1c0aec6b1ed2bd934bf71309f07ac016630134f0c9850ed58003cd3e970c721d7804789409da55bac772872a2421361d42893abccb9c81158ed36491a52a97b979c85acc055c4e586131765e4d3a588da6ed2490129c724c7be8a8a8662fb716c46d07147ccd7ef3e097b1d891279d3f681f721b5657e4984330d24a8fb5efbbae6056c4a7f801779c53ab1d257543d9924b15c79ae070f023dda51f4438ab22cd62807d4b55e59f65412a6067cfb14d00d81253cb2d294a05550955fe71f89f4afa0b0d0a883a36ddfb967c6e2747f3010372effd645c85ad35843badadbab412505866b0bfc996dd0168254a86a58c4e8572b8450ab2da67aff6dfbab8f570eb28e36be50e5604f9d44fb316061b595c3a7216cfdb0985027bd5919825a033ec99dd5a8b0e73a26761a7a8396dbb15e16553202e66266b9c9676758331a071b625058556cb44d71e22df17cc022c8ce461727b7c37604379d3ffeab0cc2c5547696fa947324d5ae96a1b81b60a4a2799d372d6599554f59b6a15963faeeb3c4a58703b701632461c06f05755d96e06253272fb76215abe5987cb151b6499cba6bf80877d935d652fce88a157f84a10bf2472214a003738a654057c0a03abb366543d60d58eeb58dc6806cbfd0196ecc79972b113cba9f161b12b4a6908a5d0fe50cb3f52b36472d1acb65c8551c2afa516423eb9afd1a440ca8857c9aa2d598cf82dff6f970fe2d59f06726d474c49b5ce34983b97aa34264569a7040e79ed23f29e79ace3b59accbc42b397080680a4f22a1c20d9127003e189a864b5f2238b1f7dbda1dba8846eea205ce356fd18a6d7041c72ce7a903a9be30e5b9db7e7a6ce72196973754c2889c31fa0acf6127377729e45f7106da7700587cd29337031eb05753a53096ac12631741e235a4c8ad7729ad6dd2b2bd81500ce9d0ace2f1ebb187c6c5bc69768c1420b04344c2cc21b48e42b018224bbc3ba6ae07da07aca370d965e00bdff9d6b13c75fbc23956b2d4bd769bc22d43fadd998ed57d023a82adfaa2d15250f9eb41b85286bf0603c9572b0510fc3982638ded6b8fcd4d7e5fb9a0f42b85d75214f581430df7ef173b42a1e972f30ff24ec8658bc84e61aa093791c90c2d4edc48ccb743cae04342aae727b52fb7e3635d9cf409c75cfd7fe5a4eb78ffb58822d9dc8220f3d3f0fdc177283c16495c3726ff476eba1100ad764a2a7f018651b0a972afde0c05919848823f34e9ec5e49f5224ca3eaf945796ef31e18bf4c0c5a3bb6f376369427745fc51d78535ef923adcd66d07e012c9e0f7805259b11af01f090da3ea59c03bb3826c795d1970cff0a2d9c6ca9c8c12a15ba62a3754396e3d5af44e05eac8a9dead726bf8b2b44ad55bf893357e3ff63a256e287eea047ef90c8dfb236e18650c0104db36a67673b28da8d0b64a3c976aeb144581c1dcdeef2b8412b4e9bffc8a8672136c245e5708864941816d3496b482ca937fd2fdc78a2eddd98334b04bf073722089c3f4abaad3b7714cca346fe9b8908e0b8cf9bca0cdb08cbb16096f67307222ab41bc29bac4818f95cc17887280c7af7b2576f97a3e37000d84ce87a21b7242c5af8803b01e208e46c66bf849597ee06b2f5e4c24039d64218e7f39119872a4da00734d8d2712e4095dedd8ed44e450ac163700edaa115f63c9bd58cd8972088c5763bea359650cc37b5b1ecc380d61d5849891fddbdb6e777dd45bbc6d72fc35cd8b6f269282881ac3cefc73ab5d8e1b0f1a2ad7ddfd93cbe7a1f511c672d04a7a9ecb7860a8c3207b85c1e703ff748fe315bc608f7b2c0924df4a76f446d930e8d947121f34cb17715caf95548e3021821ca9383a08a37d4e835b188d57fd04a02d511874efa5a87d2210bacb90755eb34852d59d95a97cf57810ebbd5b3f07dca80858537cb7b5c50d47792042770398e8005e411c45a0c6302ceb5b724477a11e2e72039c49e51a97c152ed5579db078b4dc8346efd40bc7cbaf2eb725494c8facded47a4ccc1ed00e28901caca8915d7c6b9836b469ecc7010b29755dd3db9c4cd60722907243ff02eee60d924120c711cc5cceceb83acf6f33b5372bb413ca3bc58745be95fff9bdf193b7bc2335e212cae3250c6728ffe09287f72cb01cd63866af51544ada739f68c0124f9df2c8724652721066471866b513a1eb3dc8fedf2db1bc03bde939799bdeff14e2401af94d742007afb4a84708ce80863649728cfbb35e71b2761c4c14e3b7be94b20126cd8ccd9c187abf603c02972837377d92407d973e66a63590364cdfd0ac6b38627cdd4129e326bdd1f50cc03199c51de2fd82585eaec659a6ccadd423b5a9e5f6f34a706cf417094486ddd28fc7477ba269c2071fb6c7cc11885cd2b77ec12ae2e96537fdd8cb5e6d4cbc347aac5b80b0be9ee20ddfbf6d849d42b787cee27b51a8cf0bba631548f5e0fbe723e739325a03f346c803e8c3cb449bcd0908643d6ec8348581f84db61712c0a157a3b33ba5ea84a03804c97a4a98e0fd75d10414cc93d8fcde3bd4797d62e3d72658f2fd5f7c1dfe477d760eb245bc199d46b9fad8e33057c7bd2e263cafeea4fdf65aef3a87591999466abc3647fef365ee767cfe62f8bdb6110d767fc833a72b7ae83dd832e5f1b7fcb9e5ef5c49520669c3d77bec6ec901426e90b8c929a726a2bd5d267e9d5ec805722449e4737b287da1967378a27fb394034b9c2ea8472df85ad1ae4366f1dcaa72ea96c1fe3c0f521404d84f148529d4487b8385590726609feb9ac0ae91fe03e2196a736dc65a746ed87827ba85c630ae7ad1c1ef272818ea99c3d5a4f5e34e9c32f1b45a7c19f28f3f159f0e4031b9957bf5de5fe546e89484861c1020748ac80e57f8378beae80bb64516cf16dc18c9c0e35b1e26a4018c3367076dffa636213c6de93b816e884802a0fffad9a606f9f311ec02f72fc9994d63f1ffa32e7949b8efb7f79fb3aeaa9f00db3648fe507099f4070fe435737e7a76e3db89ddc2e33c0800e9b6e2cc212e93f0bc5b4f472ad47a25ca672cebd557c9048372e42d4f162b08ca656bc55c9528b362c154368aa6dfa36877266c49deb03d543b139d7d3c04dbe08bcc95f14da3578680345411d9a092fa672f150d6a6d4e181be904e5c767ea8aa5a1c9bc865a02373db532c764a5f7f9872d5f20b908a5decea9d7110b412e82726ef7fdebee43221058ba5dc7ddb82fe3ea648991bdfa76e483f1796603fd50b7f91f37d56401f42f1824cd42d1c242172734ab97ee959eead1f0bf6dc698d852de8c519413c744813506a125148197c485e084f0bc7f428081a8cfb6bba0a2d6c2133a8acc0a833815decaad690693e169169d6169b36a2b27ef8d0df861e23cae74505ada5171bdff5b091497e5cd7152fcff44293ff6ccd1eff770c0b905da801eac26416e5a9420b30b0c73344747258d9db188746f4552f45532ca8b692df059d776c279be5552eaee95d961ef4004b44036b6ddea346b12ff4618a197a27f823f30f493c784185a8767e72b0ff72559043c0237244b84fd3197d6269c2459e9cc337e0f2481239738d5d9e2e0672ae890a3087c4ad56db9d32dbe5692f593e96ecefafe80c4792f6bf750312ec72ae3b618fe76227b8bb8084ebc1f1e6cc2927de3053835ffbf95e7f3824fe9b5d83e640892f8389fcda613e1a23cdc9e3222a503d547cd55174b0210397fa85720328e16117bbe6dca3767e06bb6d715d5d577871d231f9278b2ed6b077cdae72ba4d40e589238c549bef2646cfa9cb3b675cb137c3e6218947c89bf59fbd481b8fa021afa6831259bf3da8120a2a845cee19b41f7ed5d1bb3abc4eacf7a22b72d599d5eb4eafe8a3b0713b8410ae9efba9e42da750abe2cdd3a7c2ec0081087262e8cd349ce4307932ca6734dbd78c77c14222dbd5b8af5af95d756fba56c772e6ceef2ab1bd0a853e9d889141fdcfdc4af4f97935a3e900bdbb046ce6f876398b1c1138a7a5e8fdffebf9a54da793846b3ad2f3d9b1a490fdb4060e05109a505c219e481b9883467cdcdf42265bc3bcce2fb861afbb0c51a436a65b5c399d72bfdfe3469968ece33f6cde790b628d6fe23e91576889c36418eb5838ceaff5536940ae10f801b52b936aa9bdee8c012f833aa2e3c6a1f27f6280b23d338ae3726239329567f7c894c3b9e70e951974c5141fba477c22e8a01384171c53a12a10e8009d1e35aa87a76a6af894986ab17d3593eaf8da5b98d435b672caecc99c723e92357d90a2c8db25d7694717b8a7616bf7b5df59c6727c911b19c7ae0cbc3033464d5be7aaf934d8bab6c7dcc5654f1242a7169c7b01e7d33c644d31613e25762810f5d94e44be8f93dbf05a18ac62077f50155a8dbae98dcf0db79b6c1772efc88a3b75f04e20101ad01f99f4062b1c90e8c343c9238ffce45ff47b47a34a53e9fc0f4ebb02c7aa9638345c6f88387d0204d4119d3e2a708b3cba79aa7072ad281fe6afdffc08d368067231ee3b2487180046048231153df34565807a5872c4630020ba7e720114358b45fa14940fd3992a0da5c5581eb03da4aa3d91e7721a88f299cf3bcadfd4e2efa29c10db58398fe30b2f94270352940f9b782a0b701f8702325c616e26659349bb2045f3fe17923d82669bdc4917b0c1ac4a988e56b7c9d2baf002e57773249780f2f2e5f84da2094d69dcfcdb24f057dbd83b75728d638463dc55333f30bd8357a29d198e58fe186704af9bd24f269d61d390924c9b6928d2097430265da4fe0226d46590a6012be2d29f5abc29d7bf2ea889f47294743f9af2e9a1ff62275015c23f9f8121b5f84a376c428dbf323da7a437de7246d868138af02ca45f1c1de79e1d12517a0c3c6ebd4f126fc679472cd0ebea6100b241092e52288b5cfe6e23a227654a6e6fb58929e14c73aa01ac383ac35072639d9e3879f697df77cc76eefa9d990e656042b6559807e0cff3bf4efb1b62006a4c697a09c1a28c302449cca844e6dd646a5b10fc2940d37ff04cd0efbe2f23f465206c2da8b87c3d673abf45daf6b21d2bbf3406e8e3792d61a4f848d9a772edf6a3c0524f586b0ee3096c225a27e5b9763cc00acbc560592d4e8ca1c5f0191e8548c452697e39f88c50a5ba3abd0bbded738fddb198fe95d504a0f60d9472db2c21aa2fff85fa0abdf45b902599bc6e837d6b39b94b6433be71138e2acf5cd7740d2a6f16f3ae9b4761fd16ab8f29b49250aab248b7106356ee16a28df972078b68b8b5c4d13274d514faf58732938c8ddb212eea8ee309088e8bda189d722dac28a8cd76300e3f2bb5d69f5ef6196261cac26666e4e1eacad7e5507e4704f6a7c6905311b1ab7b13b94e138025daaaa7c259ff280223c9b671c22f303d18d271cb24155f24a4dfc2f72ed50351b83b1498d13501691f133986275cd2a33df80dcd5cdf3fba1eb9a9a6b3a467ae52f2071652e9d5ea092f326739a06f8d09239f7c6d2554f058beda546bd8bfe0b576f987be48d720c0af84713ee1b96d722021853ce40b572080624c897d00de4c72da2824ce5eb87c87a7453d16535465d82714bda877007a2955202f84118f16555d401cdeda9cd914023a6741b7ef72ed50e58815a7ac90c78f57512f70860b4a328438eb3c4ece013489caaa5fd035078e11af8007b4ef8307da798a57d873014cc921656315958db04a305fbbab68e6c2154b224e8d16c1d6d13562f8a18b8bbec28abe209a97eedc3952f9f180043393e5721e777d5c5a26c246e346e2b681afcdd5dc6ddf86c2735f3cbee1ba6773ad019bc30f6a2c0bd88f3669166fc1ab4996a6eb600802d891cc4a38284e1f1d537d9391166cbf15971ebf6978c60a7ef3a6330b152c0cbc0220fafb14f22cce24e4e0732175085b999aee1ac0925a7277ab15c20155c9ed7b9e65dde3907214762d5c872e8a1afbfd120859675c8b0e2632c4f6a9804352ed06515976d04b8b60189b83688563fdc174c24c60e2caa1953e9638d917529e72030877441c65bf877b95fda37b560c332904bf2b100c4c2b49c7b1c2a13c73dc81266d254911378f6f40cda536ca67b76abbae48767c0fe1bec5145fdc31c17aaedec7688572fb258e4aab51cef09212bfb53bc5c11d1b6d3f67edd23825d625ecb8954f290e76f76372a392cbf1fe044a0abf4f2d19d4f28235e8915b5aa5a04c1512025b4e29fb9694c58fe1d96f6b287b172a17ab435cb26e865ff9064aebc03e4e9bfb67a2c3c72f029d33c1be1cfa863e22596339348436637dfc4a89ebc187da938c156a607cbb468bcd69130daa53f81924ba09a943f8f6d6bde364f12269233a32725b436e7e47a473b417f2b871257985ed6c2ef3bea77157bbca1681f822368b72c0c567bf7525b8146f6bbdf96c2750a8793a1e8b18bed7384bed13067c7df672bcba82f381ef854c36d21746e2ef43d6545da0b6c998dfbb532c5913f8001c72fe40b9f721305c17c8146d360258cdc00173386f5616791fecc62aa23d56765f4b2ead49a1e086a366282445473b4760d339497323900587394dd4519684ac724b40a449908074272e07e483b43747eda4b476923868610f13d07b1fc01df972b9f9ec65b96fc173340e1fa7afb522cd7badf6a6fe4e2f7158ab5488a8c72b72f458504e4eb6c820a18ea7a892242f3674f35a0e729bbebb4d9fc0b343368e72ac7b164466b5dd7408188054fe1b0ed41fe62cdb751988296197552276193272cf5a5c3acdc79e0eaa3566fe5432213674ec7b0961967314855e582e124c3d5d217c21f720f1774bc599dffc69be47892725ba6ab93f76576b2a133472fc3572f151cfca6d5e291edb66b0b2aba12fdb0bc2b4e684fb1afd085f937cb3d19d0411468b5b24fdf4989924ec7278f651819695cf9cc7242356e1bfb393653ba672634b266a9478ecbfb16768a47bd04cc139a0a6a0b83b7752217ce113ac465f72c78a0d9626ff5bc709835ec5e6cc6ead81666aa712de10de83a7817eec084e26cffda78b1518dfe3a6b69113d44f61eab61d384050019f8bff8b869b4f35c77268b33279b3824180b488a98352471f58b6a66dfe417e64b510c93fc47341bc540fa8b9a53f7bf8a5656f06ec60a2863d8e3936faa65afc925b8a5e21ecd4d9720f91b7a8ded7a6476083a6e2544ddd93d54c0888f81d29b7b37710bcf0c1620627072b3648aca69c295710eb92d470266a4ad8fd1509b789a71a0bf6636b8f720131f803523598efb653b3835dd549d571589190b0a2e73a71f4e64083967f728143179533c842a7bb170832b926c99653138bbc45146671d986ee3ba927d53a3926867b184883dc35db7d353a9b78a0e4d05baa02af72a867777cb4a3b0147144d3f41a292cefa9e3b2cd8f1489351f2010175cd4d4f35b4c2e8a61f301fa72d9a64971613bdeceff1aeaa7a3d7b9d59105416ac01f34725653fe8251147372c4a3ba8453c2e2629d9fefd7a9b817244d29e763ff5411bae74b356f0253a07261198b472bc81f80ac6c4a10cf06d11252f29a7dcbf1fb60bce1ce409e7b3c72ace7eeef6203a66f4c36a6c9c609e8b3063f366b16667b0c716cdc2aa0e03f72a55145fa29bf6c78ee35e9579db87eb71638cd98354e3f2525969aa1254db17274e470065522b94d021a480888181117b1b345ff3b42203db5e089e6a725d250393a3702f9c24e6e854abd4eb28244fa044da9cbf9612d83ec135c3d06b78772e5ff0a8be29d1cf0422620d49dac0eb27f00d3845ab9718b7b43ba91751f9d72daf9e84a8ef4a0609038d8b55578ca51232a064e07ef086adba38f6856ca7d4e49f17b23605a1f0a653f6910753d7980574e413022e5f02bf992bfd8a334870e3bdb96ccc3ef0ea76361f6616eacdb7746eaffc8dfbba741b34a8715ad00277288e413f463af4f46b211db32bc6d15845d57fe2cd048420251cc86b89656eb72443918e7e8cd72cbd7e863bdb9580266b05adc474a0a6306f56da156b079ba5b147ecbe6549bfbf8f049648ca2abccbcac498b9a8edcd6060a7c19902ce2ce6409dc4904f764e431b51f73b993f2219bd27e299b0f3b48b7f0cf3e1080885c72614bfe251f1f7f2d9356e741b2e074382313a3cc0c31e4720def0e8348d89772bd566f6454137e4670bd492d7f76e13cfcd26c59b2be8185a64d5dbd044fce2b51fb3420cc4bd4eb64695ecd86869cfc3d923492f06e4e45bd6a89f15e447f72db480258518c05eb8f90c2aea26ef791051c3c417a57b236bf48fbfbce6474721eb5249719ed6f8bb21a23352a9290fe2a73c5ac3323b5ddfdaf5a4c8050ae72ea876d97375a1f5ae77be7cbbcd3387ce7cb544dffd94de38325b4b3485537727857c3a6c33ad478c33dac8f8e45c2aecf5c86ef5c50742f2b1e57d17e4d007267de423723ab79ca8ed463cbe3e3f4d1b1e1858253a248a813242cbb9acd46002e504ac9293d2e396ac98d0044da9672c023d0b4f37d169dd6a52bd618b7a072780f53ffa6934227ac5a3c93bf1540860ac12247f886c013f411e6be1cc9b772bf52b51a804fb4971a32548d21f8fce959db0897778dfe7831d3e03ff5c70072b9796f6f88634bc268e7087db5f02d1628ab74c1c6bc30cb3589844210822772dc75cc9d97e4933b70b8389841241c932207ed10fee537769e1a28f465f5cd55b30ba318cbd55921e045fcecb248e3a3a0a98516114b559b5524fa170f437572d85a895c7d953e7cd58dda37921688b921d733f16036ed45f3aef3f4762d8e72ba23c1261e01e0e3909f038a286d80ad6c982fa428daf989aafa356ffa703a72433c3913abe86d7c6c9bb98b1334876e651e2b389b033bb7156a32a0f471f1724536dd460cde835393fa90f1759451fff65c5cbf78389c9a278debd9fbf3c372b9692df8fccc2ce8a04659a7d3b9109549f16911671fa08da9e8a01308b6150411792dcf93b91e27411e75b442bddc7530beb355cd723aebdcff1be742719472f488e980dc6346abc87e54acec93007a8f726abb6e589a402203849b78a90315a31e3a27b2034501dffc5b5d10fe85012b5888204dede77282315d555f95a97297d78f05f1624fb51fef3ff0accc0203d48eac1407798cad568097857fad3972b4bcda2748398c6b3c9cc98fa904202ae2d850ad9128a5399cae408364010b7209674f20fe7343a8b471eafa395dc7b45fd4a888dca8f697ada6ee84c09ee84c00b977a606b9d65725e13cced6c5961ee715efc928b334a8ad8c9f3e084122729542210a3b0ca92e6c634b0ab2bca0aa8dbfe1ae8c8678da181812630beecb724c52f39f87bd2742afbf185c7e9b29b0c553cf0368c0cbfc93d0aa120a765172ef93c79d6305869ef717250f9a4ff2b0fe916a4c03123195b112d4462a5dd9723905b1682788f9d3e310335d172fae7952362cccf4c15d4bb99f0dbe5b2325721d9016ec703ac0c9cdfc0c4d18fbd6f9bae1f83038b770faee41c52515e83f58dc0a0bb5dc0799e9705c3c6d3cbfbe9fd2c60295a0617854621dbed7cde22a723a81ca8f956bfb7beb7ab57bf6d8a1818832329bc9803d7174847d9daffe860577a4eb724fcbbf595424c987ceaa348d01465dc130ce90168002d86d72164f723b3558c5577923d8314968eb73b4e9072ad53aa4e4eebc92926e8515e123d072f0ea4a8f39830ef9a13dabdaf069480e50fcfac9ec8760f8fb934ff7dafb4572e1960050b1facff0cc7a45d312635023f692684fecf9323f0a752ac4106cf3715b56179a8ec85b971ec7fb760c89aa5d2c86e40370394a7526ee6d274fba01180bd60eab0794c4dbd5043b7ef984c4146b3f3a43e4606d250ceb08550ceee55ac0ae48fd6789b1d9dd920de7581bbd24fb2b632605a60a3166db8f574ea1bf721e035fa9581baf46ca064d9f94250708dd0473dc2817ced3dacb1498fe0ecd31e51ea9698b0e46ee89ae4cb1c4b5b1751256538bfb7f50b2b0e52d34faa00715de4125a6d3870869ef2ee6c655e8cf58f0584921a381346abc3634c612ea3f091e206f3d79531fc4247434858f0e548e241c369d37c99a093d96f46f094f32138fdc9a41e16fb35de6e29ce70b83ca472b11b163036366c3a60cbcc16606bc72111300455048d62dfa0e2ab1a44ebfd19de540d27e79393011844b66c2455c7263e558aee3962776bab167eaea5f562ad9c6056badb735d4642e4ab0d88f325169eaaaa108de832a91ced8fb8c6c5903a649742e83529b0e1c3d979ef97f6d729cf2e87cccc83c7791f83f3a7d05e91673a4ed3efe625607805012058b454c729a777a2b27c2651ac999b000f76d78bd70f9cd1875b86f43f96ba5fef349d46cf4c16a7a2c465f684b8064a148e939381f3d0c6fda0a91bc29a471e07c67b172ac592a04478d1745db367113404d248fc1f7ca68ccccc8eb1c185f4537244f5811893a38fffbb95109256c2ee1a335e329bfdc70c9a954d40ecf8a01440dd872b55acbfb235f131cf09acfb30b9cbb5c7fdc3a8644b528875bcf8baea5b01332deb4d740960b00cc6106f9edcf83307e2f5b077107614c9267054e6fc45fb7721a385b4b57951c91eba12f5b6a79547c59ff6a47b43a19d68fc4b679947d08723f026deb356a8983cc0a00bcfa05460bf23be3ef305be701fd8406b77b9a917210f5454b51995216e9dabe72e9259ed32ccdd4621432ccf95615fa71780fe4727e4e7b8d64f64f35b239a5fed78f0806a1094385a07a47a47bbaed70dc826b60656783162dec474c1f3d2f6a0946d6b24ce168e6ca42a3a65c7d817a058e16728c281fa42f73aba477dacb009e8c0e99f63db5f578060cf4f4d5eea5cbd033720504e203d8ce62770d9e26e568b6347b4586e057a12a4868361806824b738d661536f9a9973bd57fe2068c56e105cb2e2bf0570f4bcf6bf2b9c50df6a4820035bee9248383849be1c7daddf616a6ed0d9a32ee6b7742e084c0e0856f7c73172d462cdc618188248e8fd261df457603ae4cd4f4fe820273c9d35894cd783a3072dd14df71ad7d53fe5d685a53433d5bbf62a0ead0b592cbc88f787f3576e8fa4fb1d8244f5468649a435d036a461bb8886e717b8d8ba8448279867e1b75e1682903ea5a3266258e21b8a0a9116ec8c7174a965dc9a758af588ab6f327edc55c72b6b0a90b875136126a7365fed685411a91f9d9a75888682c2c7b65998ca6dc72b21b38a308ec454f4acb57441c946a271e82cc0a801d16edaf2a45295e644872dddd0005c8451ebe8dca4dc70925f05a99f6ef2f9925af6d917170f704177572222a7b623254b22cff532d18400ac3c5aeaac1a03c2cc910cf3609152f3205130bf72bf05133a1dc3adcb505a5b47b6d2adbc0afe6b3c002f99fca75fdc97772fc4fedd17c0da80530bb0c1ccf071aa740530035901059ecd52e64c929e8086e7056656f89c286622da79fd29df43f9f450ca1680f0027b7f16cdb4f809cef72d4950ecf1f85bf1fe8411ddd9e769f4d0015904b061b98bbfbed5a3553625656bacc1170ffc91a57779804a68172895188954a25e968535c2cc186924e219f726dd0a75aee6d8f85a1818d6fcfe31322f00b3a9dcd18972239ee295367af7d7205cd40eb5d7d768227212c5d8c24a8ae1c5f0d507987c50e28904b79e482853aca7a2abb9a1c0208dbfb94194dea8393007162d668a74fb1ee08250942bb645a28d178d77d3b0afb86541951e1eeab09787cabf9fe344e646ac59b23818fef72f5a72c304942e2132f455770f6449b0ba2e2a4f60b92b256f9450bd5ee3a0572f9a76ec0d22da6af7fc203dcf3f5377bf7f5b8d1bc3472dbd1075228ad86d5720a6792d9df6c6cbf7b2ddbd31119afd8ce3d0f7b512b2f93e84bd755a7269672c12cc3ffd22cf79160bccb54dcc326b3af18e9473280287d7accf23f805e3a72a3f6c6aecebdd375fba090d105e86e4dd36920d788112aff990994134ece7d2b87c9c095ba673762d2132cacf8287ebbed501a8539585116d878caa66ff1007219e09c0ec3e26544355fb4d0bbb1c8d23fe6062599032da064719fe49d9603121f9af9be9aee632dd7ddbc02d743a09187e343fed85d42f49898aeac46048072732d344d0eb20d8436c33c8ee2fcb415b6d1cb47e5c182c95ee8e6166ef363726df620576d0296a64accef5e0cc42f5f19c52cdedbf7b35205a2387ee6ae8d72a4888569645a59722f1e7044aa6eff75b7d977431fec7eac6ffa7d5075ff1872b53673357dca8cf666dbcbd804e85c460f6c468868a2c694cb3b068fb1841572b735b3ce800a02bef6b6931f20e93dd45fdd29713d890a81a7c7470d31c6ca72881172c805990bd6ff3a8b9c42900be4b1d26bdf2148b16117d05b5db018df5975cf828aa3244265de5b415e3c1b248a2600778f90532b40868cde3f6525685690562a16d746f75eb765fceb014bfdd684cfb2ecc080fb0acc5895fed2ac382fcab31ec6e16795a7c2699a005b5bc205d7abcc11dafcdd8b9d194265019e9841b861537375cd4c700c4a9fe045d7922bc856f61e44d614e8c81856981924d772aee0ddec4ef9f9b2eaaea89c8e8cfe3c6bc74742640fc95888af58aff6ff95720de934f80561ad71a36f41fc213c0693a4a59c8dc115e4123eb6e696296b9772ad646763ae0da816a27ff43f3636fb9640310d8fedd3afbfbf7250861fc88f0259d0dfaed97b68fc0c9a5f82f8a7ef23d6700f3091ec17f0b9eaacd1e74df8477bc43287926447d4f9dc03627317abb0fde39c7278fa62a86fcc2e277d4eb27284165c92855037d0b4f9bc151e99aa7f421985290a62a205f2b9cef890bba37276db0b828dea9663d6f839db2c02999a334787053dfac78a138674487fd95e31da1400887c2a1b5cbe36767b15853f955e02fb61d9da8f3fa77e9dbf79418f72b4f49da4e0f17557a097c05c910e036e0f507197f8f25acec0c39bba1459f372a4fafc195b4464be6f9da7221d794a031e64502de0aba331d0e86db6946a88722b9d1684e4e5e6b4e0804dfe4125f5701bef9c599fd52be89b68f25c018f2413ca6b40fa717732ab4b48faace26403bcd8a1f7df1b4f31d13bc82f91a7729a72b59263be7120dee55133d905ae1d44f887c701ccf849e76bb735e87604c9f872f39b04babc1c5d3e9030207c29e03ca8f6a0c05e10d98980ffad0f3e439c5a726590ffde85741f3829eec6b4d51db1672a424014e2ebb6078ab07279aedf7a231e58768d942ec1dc92b37eaf76b5cf417da6878d191ef1b00c66e5c37f43df1855fbe980f6d2bf46fe5221aee6e475386a614804e3fee487d0e2128f95edd12aa1845c7145fd44ac75feec2f2ea53002bd20174ee11f0ffd17445b9126cdc87244b48fad9b16a397abe6df0d141a298b81a066ad12ef04544fb4642f23f33422c76c44de26f37d25366d2d5f4ffc09c916e3779d1478a666b577b4d89bca8d65ae9a15725da65ce164d4743a6d7cf16b025dfc8acd1b4331a481544b9d840872c6bf2c04fc1dc1708b21b0b1c60759bc7aa5fe18ea737c64c5f936298e5bca359f3a7ebece493c279e733f09291de8f26bb2d28275587a5c869a31a3e7e156726b6a168f5b44aea55ae6d27c9541890819697618dcda54296aba2bdcab011772da99eca3ee158fae458c9508ae8be2943b631e5f4bc906b772b45facc4732f7225705f48e9907e89aa4bc362d3c793aa383fb911789039e67b17ed824ed8b5726ab946524e27fac30bfbba88cf4ba4837e9a8098117b14e12775d3372f85b738800952202f7e9d0d7a93b0695a953e4b8a523f01a644293449584c7374acfc0151bb51382ec697d3d945ac81df2b2cbe722e99d4b625bcb3c88dea42bc6aff72534628207ab030a05a13e9ebf0e1864296af6dbe204046a131536e47dda63872608cd3d3eb69cca77061be25aef441a14cc513e2ee8f7362ea747b4708a11e0cd67a2a92a98ebbc65f782aa2c94580c182105502533d27f2b7af89e04f6da0724005df09871f7ec0c1ca34d8f0901bea9d9997c43c96b834aaaa8c01d367e072aeaef66dfd07c005f9faea9fda5285b363aaf20c3518c9f835b395c4b401627254a99cb74853fb5472760b3cb173077c92c7edc31899d1141e1152dc06d31872e89d75316f2f7b28b2a54afb9134d7e6c508eac88cf02302dc9695a1578913725ce7c680f669289ec4540711674afc90f87376c73566132a9739a8b79956c7722fa1dfd34184809e821f73c3f54cace6599ad98f1b69bd991d7e1c9d26555d72400ed9d0733a37ec87cfee2c23539a66efb56a8518eedfa1cce1d4f9d16bce568e40cd5eae0fe77adb2d5c4cfa5986bbe73f8132bbbe0036f32071a8543c016123efa5e9fbae1402ce15400d895c7da4b387f2b6305bc939d59e3d882c25f5727132c9328d30e4f43d7c6ad73a410845d84640068963f0de936432a1927b377206d02a1ec92a7ea190de7e2251db73bea836f7e0338fbf5a63a0a7fa0957070468d6c2847e729600848e49adad66fe5172d007123c2bcbd5de5ee79b1382737234a03c15b85302ea0c46ed637bc0056151d91921573160ad944942c04968935382b92841e65b06c38a6c83891cd9666004ac143fce042581bd15d93c30736272a2455416a935d0154b65ccf1b38a0962e1409de2df992a9543c81d56a22308725b5fae80fb45b5ce82b18dfdeceafb6091ba6ccf97430833a2a72d10996c9672f11cefd81ebf89e7081aad8cad2509b2fcb74dfd1d3281acfe8ba798230a2f729257ab6416e08ff891dfcf9abc488be5d91a1f2df2c693e7491c93dad4fa846177bd7f6648b0f417501a0022183f27e8378c7dd2afb30dbc0703e5c331ac913b95a6242140f4ff03d9bc84173c67d6e2f44a74b83c5c1a2e12627742c08b23728aa4a43c392834cf399142d22140b3b00e3d5c8ec1272c3262f11f194bb6437201a1c3db3de2067269c97aa20ad8da730292fad1c4ea584589e26c80a7c3fd72c3f00ccdd9790f23eae355b5f88cbe35ea3a48a2b3f530eb5f728427db36e2721704ec392a3ed067fdc9bb122b5d9fa0b7c4e3e08be026f178f5405d67c60e4dd6e3eac6f1aeb265b54db787e24b348c4f1a2552ef2525a2e0e97f13ff4401720fff02d47f63dc3d57f1180b079d7734dd68d59cf4d95f7ced1c7d90544668729163e40bd820399ea399f2e256a0cd13dab24b8e08ee3dbd012a8759fb9cd0723eef96769fd16bff4c7686548fcf7c4339af08a46e4ad20b99b39fcd1d88fe72d0da9d6daf14343ad80c0a764d3042211cbf75be18e1aff4a1a236258935a072619ca5947f905d4b6d89224a6ce7035ab4c9a6d9a1faac9f7c86c9989d75793b890a9820d3923e019e91ee9b882efdb383a911cf8c63dfda4000aa4a6dd5d2725886984b0f0ea7ca4e5bf8eea5c14a1eba2232baef65302f51e8bde2774781220e82ab80f067034294a63be4de46da044306886300f9e82171753ee5b1806572fada80cc513fddb6d47e0d812aa1275b2f0d3800c9ef2a610ec39b78e409e972aceff22b8ee08afafcf5fdfb3b90c97a7a02bb8acd1de21be128cc77ed73ba4c8fd57513844733321bad7bdd1c250f80a8c8a6edbc7f1205eb5d0caf0771d830c5246bf48896f6117396cb7dd0a1bfe0c71617ae4959d8dd12ce8b316949cb72e096ebf64ff96f875b61b2c918a810374458da6633b4c4578c29343280c7dc3222931786c51061ba926517876a35a0a541e1262a674d2fda1f263bede9810267509013f51e8390596839f1d3e27f737635bad1b0b3d781cb6a97417793ffb37254a8125f6f5f9fb245211dd2be3e090b501e3feef7209fae1897883e38124b720e2fb1f2769bc0151e376bd8b112a3eeb8e5eb01fb6b77e147d0aaf6854998728b59facac1ebd038da2543cea7c60cd8cc08fc7f8c100a2d96eb29cb8c85f5728f455283de5f0285ea8edf3632bda9bcc20df882506890526204f2f8fe6df03dd0ba6605a9d950c90b645f345a72105524bfe40e024e6430bd2e102be0bc7e724a25e2f398d70c9a161c4b890064106a877a02cdbcdd20c3caa0287819e1537286f595f5f2f06dc8dbc830f09b8381d054fcd80569298297cd7411708a543972fce38de8d336915b1d3086f0aaa2b55972bfd72a70be1cab36737aa1ad5b2e729d6234fb7b42fdec3b9a8d9e93cf8cb71114af118e1e78a8f9f2a052c5a4f772530490c9c5c2824ac96b18ce9631af8666ad473bfd84b2ad06f41edffacc03723c7815e3954d60b8ba36a42b4af829951c551b5fbc6d3df595055ec860049f60f8fbb433de2549fe6c3f7729806995fd1a221476b7e5586743aa8a66135c8d6be85254706c350257f4e7ad75dcb008c89dc2119ef350c1a205dcc18d0f941372b7e73011cb9e61149f879b756959c79729a20891a04e85604662b65c8fc3811767dc25b5f243a04a8e9bd3c3c401cda222e2ed3a0dbd2ee0d23529d54a2bc172039067b6c823f7e871cfa4004b0ed4a6460fe34d1d187aa5aeaf11fc640db73e4cc95f100a2809332b76bcb402a9a9b314fa34dcbc1607f08a227a5242d9e37277a48e1024007a7ea2e5b6682870027b3a9353db79de7554066336a256beb22c6aa6672f25998ec1c541e3df157fefa56c9c68d1d782badf3169af5398a9e372f605bb86c703ae27f39ca84fb1b5a3906280932d09358443faefe656bcb2e572c68a7785d5bb0ecca86e380f45316dac7a6fba1a31b67b3667c6e15809a7f97227ce54e1955bede88a4d3a0c523e3e545afd0b0b4360435bb3ed8460e8a80e7233b2f981565dd165285194c99827db039a716ff1cd7bac20ae91aa079437bc72446c905c227f1ec2e4194905b7e3cf72d9bb6d7921d56ca92c5d526302d33357952daa09c4309a44cd9c02b192498452fbb0ac47ea3612b91f64c4cc6b2845725ecb1c2276ca9aaa15035e7b7981fad4cff4713e1b5a235f184b1ddd1a8f662838cccf42c8cf33931b7a8a9e7f7532d5798fa01a4bfec0ad277192db73328c7231f4d9d6da7f0fed73594fa85297657b223e3dda587723bb5d6f4dbbba77b830a33c8ad12395116c185d27753648be6b7cd25b3cce007223c30781883af2d64406220060baa5e9522f14c7853768bd820663fe52879a4504fde9da2fb8a828726779207418c4db57e3d80e26991ab7e8afc647e3a25dc5c175887139d6a6bd7286df64d07c21f26f9ba8007a42fb75979fa6f4a8513bd228e8cc89f565375170e2a4530978976d38eb18fbfa4ef74bbe8cbdc3cd2998c883183d467c324fd660767298fba5fed820db0f4b196df4d511b51beffea3d5ca0f19c55b82f0da9b72f478e62567385fbc8e1b2ecafb15bbda5a075c191a01fba5dc2376347fa24d29e44f997190276b91fa5c4fb9ff3c252466f0b3ae1bbe002346375d0f12c4dd1eedbe0c1aa4364a36d990542b48d8d482bf512fcb21d3b27dbabe9bd278e75921516d1fc30065aa06121f7c7a503db2669497fe93da82dedcbe1df85869ea8472fb63c612730042e4c6769dacd15fa1f7d798d0816c2da774444e2babc3e2b272fb887377d6a7a90abc89cb2d85b7cfd3a27a28511121d69cb6c727b8224c4f7293b1c9ad5e763e9317f097f96dc5f8a75ef901f023a1f9999f11deec28f8e672fc64aabcad284cf243559589f21c59fb2a786e436009a8d718ef60b803fdd30a56c303e6f1a5b90f8223aa288b1232ad0f4c98a6f9164bdc43a081544896d067a309523101c68b151ef5693033207ed18d36b36b68698fadefbfdd61821c7c72ede75359e5839c1802b7095ff8e6a5df50207cdc33d3c8f9061230d8d6c95e7252b9a1a4c86fdd965e5c076e838cac159cda788c63dcce78946b52a4f720ac01cb820f1b770d3f70740179af515b18e137135a464619d8b9cfd322c210fc605695f001f4ea406934f82ea284bebfd4c1be2bd22f0b9b58b0082e55b4cb354c7207efe83ce836aea8503bf6176ee4d9a14905ef77e696020642ee8d0a7d8dc572a66c246398f46f27b0dcf0700336229861315de67a6fba0ced51107ef58b8d30ceee84276dcc1b419aa5c597b635d8d269928c475b355a0a2df223170cfa2b4075b4bcc846fd91917ef375de11f1b37a4a7e63cd860f17b16f3b4e9491af6772ef9265b11c8faaf01bff462bf4c98ba44de07c9844efb145e5075fa976478b72ed9af038fc82d6e8c879e3ef109d3d903e8787ac21919827cb4f962c23672729c4c3a303f0348fa6bf45e5e1d95de2f1dd9c9db243b5260d25f9dede6b91c772ebdc8afbc8dc02f38f343f5cdb946d66c47267bde0accd4616f00d8d8264d272fabc03a22f906abcda0af849b6ca54251a4a08070160ae415abe8fe8e01cee13c85642bb0e6baf03a3e116f8deaa6950d24fde8f00d2bef8c9a230e58f315622e3ccb53806e674ebc6cc9aeadbbd00da8d724cadafc65f0890612f2b8796d67297b459010a8de45497de7038393b1934c52c18916d54455b481f7bab128302726b7d12b7ca3f106c8e27d4311322af22e583ba414ba8fa109d910c29b372a726f9463a311bb9758f121617132dee240d5e453a68cd54fec25981ad0f8d639a72687675373ab7535e51153e5ff79f6c2192d8d7856519c011814a06641f910e0979f12f0dbf850a1fef43c03f4ba9ef50e3278cbe039fb15473306827ca524172ea7f81b4a5ccae92ae3ab8a63fc67f364f3fdf9d0587db23b62a0e4a4dfbee720c4869c8a7353c2b2b3dc88b8d7099040373a470f1c6d0fe1b5117a90ad1fe721d33277f51459e57252ca03348171b6a605cb964e31a03b38a1a0e7c878eeb720b209312e2c06317dc2b350e8239d04cb1cc7305e51f9ae9f545c1a56d43a2405fb9c201c6da53240cd5d36bde439478a8e7b50fc25c433dcdffdb3027d5a3726f2bc1904ecebb929d6c15196a8af23ee02fddd6353078cf4fd484376de7ab1094d078b2d4e0f6db197118ff12676e22db53dba375e1ba3aaa9f737e2a516e0cbcef3023205e91cafc998b577a3537b8e6ecdb920ca59e3d42c0018ade94d73149883fa2ff14b231e6c9bbe7d756149cd8f7932549fc3b5c1a818f56f9fb2272153168db9346a427e248e4595d861a9f3df8bfdb7f067663ee2f81b0961e95728dab4bbb352cfd3c1ff0f392fbe71d29d2dc0194c3907e065d4e1d90ce33ec01a918516b73c890f91463b536971c3e71bc3d19f7361bdfccb53a17a752231072411c3806a156258a0bf9f92ada120f9e91b5b480082b8c3589e61f331cff2f5afcb54da0a1e9438897637a4eb9099d14a775affda454b990b2e54abecd9e5e72d161995796fc1decf8cc26449ab042f0141c8a731828247598c06e8daa4ecf72777262e9dc04870f79eb17b2c40f9a36b6782dcb8ff226a4db1cc128e4e92972147ac351432aa12b7f676c103afb15bdc4ade97f484bd11cccb0f38c0ae5c735190f40788ad4490975952dec7382403de69cef6eab42e10f29ba0ea00f229f723670f88242a429340d5ea22abb8f025d2215c383bf6291c60390649523ff96727693576c86859dbf47881b495e0242d55a5daedaefe802102d08f6c45c9ff77247b231de2dde4cb4d52be8adefcc8feb3992fc6aec9d13e3da929e5a41d8c02fbc4d715db1b6a4f1a54c7f52bedcc52f9388e47121753029854d56519f1edb2f60aa1fdd0bd388980579dad3a79e84c13abac3bfd740fa0721976f001dfd87720ce97f3a03c0fddda7e8f9f12547d1302bb6df1f68b37ab720fd2ec02e77a772b17573154cd4c4a46aefb38f5f555f917b2dc215c81e44f7de27dbd7fd104e7246d51092b9fc8c7efeafd767d25a5c2ed538dc75f8a415b682e0bfd4715baf72cdd094b97725263c662dd990bec1b06d82f1a006de8eba6efd57e7b21ebbf5016b4beb3fff9677df6202f99fb5511f691931c59b762ac27fa93a9de081490357547ed5a02d9cba33050006f1a64976f1e3ae28ea2b85b0938157a1e14a9a4272b847c906836bacebb31dfb80f4be1251a80b25627cf4fa44d9dc946fc959df724294500c384864016cd3b17a579139929c8e80e4f6939d843445bbe6d9fb1972cdcac3a4e137facbf64357ef469fe10657fe8e775230b04bde4e2cef783c4a72654a06da35626496823bd0b18c7e8a7c13594e44a9d0623d4abf2937575277072c306aaed937244feb2f22d0d73c8425e32b57ee42b1b1d73964224b238b4153581c11a5ada5829e1363b83fb4768e0ce12101106b7653709eec44919718b237d3d66fc44c7e27e8151c6143ab2525d7877ba56a0d310d3acb173a70679c927268be8fb2860085873618eaf8f51c025d46d9b3c8941f8639c47130891103ca4fece8af3b8300845e4da9e548cf83cbe43a1c29844da5986dd7127f0b2de5926ab6d03a00ff980d3633de9970ab7db9ed2a86933eeb6fd3471b5f06121484ae72ac6ae6a8fa471fa4ac97b9564f34ea4fb194a94f0c5f0e21641eae4c75bb9433bb9c780aa87856672256415b92fc2cab42e6ae211585c73406bbf538cd72fc46dc5eab85ad3a7cf3caf8de2adf35345c5eee557cfc2470d36ed52bb5fce16458bdb1568f0f7a4e83d4ddcb31a17af0e7663a0f2a938ddc23f4fadd6f93357472381b8c1ddf6959bc8e717b675b4690946d2e098b5a36645b0d60303d9b1161373cc99cdd6ed5ac73a7e0694d5b50e2b256c4c10b10de6ca4ae112f6cd2551b72380eaff36085cfefd8c980bef0e1642a868469c68e054c9c6da6dfa90f7a737293c9d25cc2cdc446793f59dc4bb6431fcf04f631357d75446d402d7ab2bbfe72b0c42fc0d03b465b89717e6b8254a12cee337e94ba6ef1e1449df905a6e26e727a94ba682d62b18558b3341a20ee934bd250a74cdd01034425b297c811678e72c5af82cc62b1c92dbc11ae17979a9f01c3145dd4a8410ff3575022fd5405c8721d459879d830e8816a044b04d87bdd59d06f85add9d0a78bf1cd94e4fd4cb96c28c569955bfcad2b9389c8f7078e0dac449d2b23df7b11ad2666c99a0cbac51f50e57261f5d4d3c04a2397310a7579c3f5048203b7f10cb71e069e40d80b5b72fe163807c7cf8bc5fe6de1ef2e29d2e017ba277c24a37146fe81e9eb186e543d6442c78afc5be8eb077f91bbeb0d42bbddc628978db6d0ae8482f23437997c3f77fe70e8e542e32e40fce3a3f07178b8d23e8c57da91e980e329e9d465d1297239bec29cee8ea6a1d65447ba86003a96f2f5d0bd6e96e88619e83cb415a15e72b5fc893d07f3b2373ec16bacf1edd41b9ce95162927590c0193e965ca942ba723db8785043cc8f773a5b10ba8472062aa5e47dbe65b9fbc18b9961c3e9fab30513b4c65af0430abbf7c0ca76e63fe6dd067f08024e60c0d60d5a845f28d0097200a3603cde356c19dd89923ff9c1cb72ea8390e3415759f35dd1841a04fe43642c4ad2b96c7b85192fbef4cf0c41d7c736dfd2bb01dd1740c994d027e3ae247249d0a55f0795e8b67534cb15c30728e21ea36548b7b13be8eeacf59608d414721c537d115b14590086a37518b350e5bc84a6cc59c99cb53a55e5590b9492d46a7d3779958757af1e62542778382d18b8f8ff49f73a7716ae143740774d654a05e288d5ace6ebc00ef923150dfbdb394e09745597744034df7e0152453599df41e36a88e9f23ded12e8ce6b1b062170e9b1d74247c8d4c798d1a23105d27af706b04d9d6c0699a612d680e9584adb22d23d7fce0e2bfff7bfd1dcf2913885c172517f6f3f26caef96dc863b5a5e898002382e0d602aea9edc9f7fd8297e080f7235a09b2ae91b4a735c00350dacfc9c13c649e94b89f263790b4f5f13bd4a144aa239d01f3c79782731d2f994e410ecac964ed88745468a77928e016e862dd8723a6d5fe2c915706290e4369577d1275d382770103c0493bd94c80acf30d5477215bfa71729cea9fa3685e467b42373a12f8b018af966d4d37575678babd68e3308726e0256e5f7df67aab5537a6f02cb1b1e4ece932aeec878daec1efa8f520cb5686caec537dd7977159cbafce31f44121c78c7f8a22b2011e49136915a9957ee2fb246ed64e22e0fbae50d119fcdc8360ec3f8d86c5dd0e07e765cf7c7af72777bc7345d26db56ff0f29b7e3fb1495dbe45d847a89afdc885d916ac30fec721e25e104f8941ede2be297e26ba10a4ca30b7f16954ff1912dacb11f1f9ede59dcc4c0d999ff7f81580165174094f60a0ab9a73d1b6993e75c767dc7e9fccb72017d34ad9674b83b604d17c9555e68b30398db4c0aec9cb78897fbfd8abd780134d2e3bc939d47743299d639edc6affdced0c1ac0eda24c92f4dfb34b824457295f1ae238fad46cc7f154e09d60d42adf3bdb47d6ca107e5a5fa911470376f1431fb457b04f7727426dd31915a499a1d751847f46c5e2808edcac71295cee27230f05dc644729248d0918688c4d497252226415cd43c5e03d675223c5837a4304ac266bbfbcf1709ec864008cee75e9721c1bd75705e4ac1c22926a4a1324c72829e25e206b6f451f21404c7a9f6489ca58883eff65827e1c187bb1c7a57e772f810b9f82db9458862136b604c0290109da4472f34fc12314d6b14e2b47d0372a7b1f29c7af3d47a02400b18e2ebaa8809ac7d84ad66abddf7b2015409647b0d355f502ad139fe61680e357351874fa5715b4722fb7a3b0854dd1efae1921a0bbbb0b4c81f59afed64e3ee5078c0c6ebd4883222fd4da3a3c85810bd1d3b5b7256430de7b2db39fe08cd2735cb2212debe73e63aaf9047c31266d03786a1ea7231be3e0b1cc31a335bae2ae6849d335a310a8391eeb1bc5245c335a5f43b9d02aabd6d47126711df3a62d065cef4e95a37cd7b64264a324859647881615e4f721891e53e8684d36a65aec58ff8d3070012fc84c61b417123962d3a6686957129ecaa636571b3a7ff308ea148fdddfb62b4c746a46b702c9e517ed7615e3b4d390a70e6d4847819fd48f05c8b5fb5cc787c2c2b3b22c67179270371db78ad646136f3a1ff6a03e1a7034f88decb13275cef499c305a9d4996e135b05cde390f72a57cebd78048170a998b28e10d5ab008ffb75689b0eb65965dff8795e76d9b729cabbbe2137d10b1c7984c757ca7c131237a87e6715ddbec004354f168e42b72a8873b41941af36d7f996aa33ea5308621c472eae205a9d421dee1ee1aaf3a1ee20c350b784d5abee87344bef769b643e548f8402f47c183727478ce95964518a43d613997ecf49ced3166299ac1cac92203818fa68e998608db837228ce43724f9c539da3d05999621fcd89fe495931890a02ca65089085501f5d9b50c9bf72bcb5cbfe134ca32dacbb20a20aa143846f57a20f0ae71ed3ab95014567b48852662f29fb530b0eadace696568ca2dfe648a5f3eca306c55e1229118582cbd6721a4d7fed14772db5538b715a4403d7b78c4866cd8b7d11bbe870d93c11c88472eddf0944803a0b43b2e3b78d6357fb987372cda30a666b8e078ddfed1e326e7252cb0046dfa6e191b56e07b349b710413b50ffef061488d5dda8c4a01da2e3728ee5b08be61651aee441d383ce4dd37184b237953a78c89732629c918072817293a53e477ba7faf60793c77f0ada039d0a24090129c5df46f4c883416e43f0726f73a6eec1ef1915e0ad8b5d43cde2bcb0a3a1fb3dec215cc3e0b93e7f9ac717c01445ab483237accc016e4c81f7cc97ab75b6573446c1d5a1382085d6ac60724189d305ee54b50c2af27549762c3606ecbd9df34b3748d578f666e2eca02a72d8a844249337dd34e115a260a7ddaa1ded092ef28684df35a9114d1b3e81c872034a119d301b22f1da6df948a1f7bf473a902ac0509d9b66900e858849f21e727dad191a08cb85ebd6945f908bff7de00a363d56062e7ba9952e017f175b757231f94bcc09919e238155bfec45916e477fc971af5cedfbf14888771dc3927472b404c0d33b976e2f00ee5775e28ac6d2529222e64eb4e527edb10b7b5f7c2e72182432d8320fa78f8ca9710f6d9baee2deab7603e32948acaab66aed0d4fee7295cdce70dee2a173b2c6eb8d0b6fd7550e4fa09e6413f6862c07bde51f6cb272b5f5c2fc43becf065098a35a3e997cf5254dae022fbec3e7376afe1a86601e4fde028f8a2b0d501e91fb199ccc74505b561fa15f387930855ca2aae82ac80f72b7648b2257cd4f8e496adaf085c1eeccb28656b60dda8c5c6daffa57fba34f72d2bf80dc47d6dd7240f598e74436769408c11b66f841a0d119767bf49a24b97224a9388df0e69a33f7a3f73a611565a0ad6b241633ec94a069c42b8a3b18c56e6c21899654301fa5b327360ffa6d97af025fd14c2872cba9882c4332a76ea46bd8d03d1b8e55765b1a881205dd6582aff4e70a1619a0042d5bab61e810496772a09d469c6e7353fab53f716522e1da1058297322673327c8384a45af62028b18da040e22915ae34842d7b302abf4d7fd23bfa53927dcb17745eb31834c7c9272dcb42d3b1960343ed6fa3c88812201a9487097c0da0f330ab5b4d83dad7e3672ced745cee0e1ff8a3591e6ee13b87c46977e9f85f6ca36a2a561ab99d8b34272affdb81a194f59b390a973efe3e27166a0622d0dc3e3a7c93e4cbc838b3edf712bc73d763d0ae45e4664bd73530c91f06cadfbb334bf36fc3c9b7f0c3fcea40a2fe8aea4a1b95fb4a575e3f0a575afe56e1b51e50cda5bdba48ef9d5c666b0729c62c7378cab9e3efa9a7dad69f133526a1ca805cffbb2c01f0bca43d1059622b2aa7ec34ca32a8e6813f7bb3e92fdcb53f0b8d3e14cd010ccc6eabdb0c42f72d98bd5a5eb45f7d1363245e6e6f1b6f5bb7de8aba0340a702a0469a58453025f34d1eb45c26173705a1d8e1ef043a7a4faa45dc17a5dcd2d2209f553c9451145512d5547f38527dd5109649c2728dab3619476931cc88a61c52e335190b899721f9e889597a42515eb6c4eb874f47e1e9a61ae9c47566de7ef1a62f7e8d1353d27d28a2bf6049727f652bff16624e9046d169b9c1e559c20ae45c03454791362d0890bedd57cf8fd6fc8245e17aa669657664f9f89abc63aec475999b8e1f661a1008383d344cd8cc815e107df5cbfbd6f7c0e3cd57187e6209253c58db5a451098788c54afbdc8b2c4a95f3e74a0f0e61c705986de745ea586964c76e8c31464163e4de535512b60e79db6baed3be2652d5d54a4ee03925e7416de0493ef472f4e284a489fb36cccb8b62a4e7342cc011a092cc63eeeaf497eb67eb24cb457287c418d43b822ec8e75b025ec8aac78ec5b629ad5fe990998ff82358ec5a3c723f5ae99683b0cfbe546d806a2df1aa0ad6875d0b59b9ea460d901fcfaf18911d297daf5c442ffbe3ec853063e3c46a6a17221b989dff0cbad4c70a1b1417ec263cbe9a07ed96fae82069503d7bf7cab1497204a289da3ff64ce056f03fe0a21ff787f8cc268c77bcea8a263c18a9b8d27e945cb7a1b3c0c75e29a713fcd8b017aa9518ee4a8f62550fde6ae8dbb363add3779c01193f2550dc0afd30e4293a2ca111a56c9fc3c322820de5a96ec55a5e35d66ccc7f036a0a8958e68686d25604dc5c10f960cd9ec40c18ac2a7b8c54709d07bc09ff6330a4948e619785da663b90d3c74f4b9f4c70c47508daaee2ea33b2119452074225a50d786c581dc99272102cf5efbfcdb14620bb777a4ee7d7d63c85fb41c9b93860d344b027e21363728df839aa0a1c15b532789ed33eea3218478cdb64155db3715c2713bb2480fb170ba6a01f6828056e209d3f78c556fcd6c6cafb4a099f33fd3dedc3da3c3f9e6e0798f1888e0db26c1746584c3a5232425610bc76aca10bb45413ce6f10e26672b8ddd069968c0bf191eab1ad6189865bcc365cb5c89619ab785ff90e720dab6df6d7299945a63fce25b299ebeec2038f340b292b74e57b091588138fb598837286b0218dff6bd03a6cd137e861d38d411f5e43a80264bc1e0df9b58cdda7d236487c40a96638933396232bc2fd5cd6334f15e59566eacda4175379eb2e8eb168b74b176d0564381a4c4bc5ca2de504ff105c812f248fbcc9f18114a032016b7208f3c4742d88adba5579af6409f57a156e4f1c7fcf4d01bc02774cb44ca9447255562a2fbd50c531e9baf1ee7589ce2e428464a46e96d3fc74ba09901712bd72e1de9443b146384d37b6ee7b78b9c40b12c5b9becc2f02bb17499f49cf7d073a55e088ba53162e8def949a54ab5ac84166f56ca43f0a240a35744ead7e912733abd954c8e15ab5ea87f2707a7ca08c0ede09f339ff14f5a36e1956b2997d8b07a366a60d4fd601be4e7e29ef2ef37b0b5c69aacba2d0f719ca21ab6bf1ae517251ecf2f17f2458195602608e4a87821f27ab902f0bec03bf54ec914ba8e9bf54dabaf6b3925ed5d1c913c9c84e67d32668208e58f6a7fd2dc709ff063f5c8d09ee2d99b34c507f2a5c027ed81fd42188bbcb086c0244e30362d7133d4adbf707157b57d8ca128b2cb876d1f3cd6739a0ad4877743b4a987ccfa75fee96ee7472815e284fdb3c22b7905998abdad5081ce2b64ca1f88017b139a4e4a032cbc272097a21b3e38a5077bf6e158e569e32a901036cbec3a0d1aa785a4f696116510121cb2d3c43b06f77813b51ef4d3d88f646a666603464c368fdc18407c2168a7265ae72c56766057ab854833259695156f6cccd996d10ceecec5f3527cf9a171b3a16d5f8e3f392a2d624a7a21035152bbc43b9ef93feaebab0eca86a1fa3ef72ff17a1d5e89809d47054ddf10b8b10a47e28988564625cd375921cc5eb68e5690cb84c1998608af57d3471d1cd35375d930907070aadd18bb72face88cc43e1e0e8f97b7ab6c5b229b913c826b0b1d80d1bf43c7acdafa9ed7b83a73932d3f727510ce6a1a94a9ca51ae199fdeae97634ddee8c49f98e70661a342188507f772a5454177d5c276de03c31f515e815ed7a7570521e6f52d8dbccc999c9e30c472b12e1d6c4f058b0298f1c130edaca88ec752a8e669a964e112c594243e783d5ada714350982e221770bd2591eb4536d6bee42de2dda20940de4fcc6544459c23bf83667f8daf2ed7d4fd820a63a5a29058b7a81197585e26bd030ae23e45f91fba8b0298da64bb79070cead4e896a8ecfd87faaf336a4511b01289c1adf2ff723ae2dae67dbc0bc3c11c25808bfa06d60f757455a31b6c330a91121a00ef4b2427223d107e71f4903516e59016032ba295c09de91bfb07b6c91a13a781c5c4519463a4cdaea8ad97bc33d40fd98f87002fc1afeec65221f381089abcb3025233d28fcfa391d6c2ebc457581e0e96f919b972a7a4e9d00c374ec9a96490653372d66dabd7eb71c6a04fa80785a4f8ae3206412204d696f894ffd4167bc9598768dfba91d775b7a5b48a87159957e3a8d55f761595888f54abea70edf86c8ac32653ad2699deb92c093a8484deaf4e4803863d32dc6b4299cd6d8367821a641714c4308c0c0f66c1eebb4ff5bc730daf149693c482c1d67a3486245a76318fe8726b0f63100ee1fce8d7b876728ee5c74fb33b44f0924f6c9f8cea0a0283cbb7597b6a126eb766a877214b86a4fea51d830c690a5573400aaba9ab6f6fbe3a1572f5c86c9eee2318ffacf62434b1a09b8e8d8b81d510f5bd79a805befe87f60572fa0d6a15e342ae19799c79843ae0024e3a35da55e4928d85bc916f6b96543072817671056546c47f25f0b7fff1e5d496115dadace44ae7e2a3c9a3bb569b060980141a764a0f37889aa41d030ac7e5a594429226a16bba7750671a04e531a04c5d415ff8e0570da96545022fc8fa6b6cea5d5f12d0b7e7252077cd50f0598321265190bbc742ab9631383426e3dab9717de13e31bb238b492b4842c27f464b018f767bbbac6b479cb49bd91b380721871e4d7af2c6486154e8adf4ab51e8792258831e64e01d17533fb4be796132edbbe75a021a09eceb6da3bc42f27342d272a266826a4e06c3ae82ab9ab41bb1bb78a9c57cf085ac0ca15d8e4806aa9f717204fa8f4db7a40fc9588c04407a7c44c3749dd776ca8bcb94cc6d8f851bac0672793b7c9e237c6e6f232184b930f7591e21a88b24b47e82e28a2e44d26f1aab7278fd5e6539e9efd7538f710dd6ea7d95a8f7a1d02f2fa9e13e536fb58612e472dc02c0f382f54937c57f5ca40065c6850ae97511da48c9efaf9da68c2c32196e5369cbc0ebcdbb7f80b55779c0f17c7bb3e3a2ba0a97fa9e392165e955254472040dfa85e03077f0d10c837ae58d5b4da3bb4b596cd4fb39d332140282860823d270ec4a69e57bb791743e6718cb28f5981d32ea319425535f258eb7fb54de6a4dcd43fc51604ba97442165433ae0824b190a463b3ced6548bc3175c92904672302e7283821af1b923e01eec5ec24edca9d354c81a89a327952b3edd2071e972d46dbd6612b31fc8ae37d8db67d4b33d67327a796de2561d30364bb3fd9b494fe3195a58a410d559c0c387039d79019d78128a079fc8009fbb126204b41e80723929b27b92ef2ec0c9bb4a6b10eef321ba8313233a5fff0a1f8947b43e4daa1e0790fa584ecacae445400d348b32cde75f6bd56b999ccdfeebfad743448e5a7203bb0922addc8253fb57e46f2fb56dfeb7235459fdf45bca4bc1c234f327ac450c7bcf0f96671d9544a449b0231415f5a96a0261e780553c36f799f149123f7281b0c8b2fd09ae41dde73e68fcec2d7eef70e08eac064bf43b3370a5e45a95724d15272a51d3d66bdc7b610359407f44cf971378093c98772f0e804990301072dc6f97079080fde6e0d35af2701d50ff861a57e77f5d9115c572d42a9648787240c90bd6ef3d4255d2009275757c30017434dd617b13e355becb711166cfc33cc87d747abd0595ca61d1bbbd91d4410950d6f6037275ad3188b6d46a1ecc5963d3ef7ad4d8b70833b9e04208ad40cb67cd2a2ac3c0928257b4dd7ddef6feec72e1359e20f7a85f2a61481e3606a30ae7adc0c0b46e41769462842fc1408970510f6d6ac2655160419bda836e7a9dd9f1b89fcb0163fb88f776abe67c8c2af956e89f527a71e9ccc0900b94759e6a4f9fb88a19af1a972f8879800658ea641e72f2ad3f5db5d1ad8d2a81f013df09b2c9cda157ee5bfbc6070bb0e2207c069e729efe35eecc2d2f9224da1b874af46f18ddccd2c9160baf1ca352fd84a90790699bc512aebd5fc09a6579206802258ce633dbc651e2aec8329a2910ca73fb075099b4a0efd255944de9e1b80e704f14dd8da19924f6d8da189b3a4fe524ff51535e8903e4ab90fdc5a6088068ef196afc796b3c1a5ad7a1a278fbb52a36f0a165882778ad4bd6ae603e20309b999a1af5df368d3fc89c9ab55aa602d915fbcd7230296819963b3b95e38ad645bcb843ec4207c6720d10cb5f8fe48ee73b078072dc85f064173a2d4cf66b1afd9d5e71747410a8237ed30ced9c2a0a8a9c597222925a8f896c2f506ea3976052d1e8e02d8fcf04c11537754e3cc4c385e9bb7410bda5f31ac30a98b9213bb0dbdeb213506a555cb56e9ece839e63f8d9fd1305726add0225ffef0482a1381810851e1f887fa97b9d6da8a4c4048ae0924fdd487288d6838ae4490c5da06fec52ee38074c1daa6b0cdd944bae07abbd4055f08751fc357254223d3d2381fd6655c1ca21aa0e996881ffbd36d622f4037442fa20020deef65a748c4df615abaf30d51dc093d19cbe0fd4fdda2f6be8512f30727272d5132859884700a5aa529b1fd3f1c9ee3899a8faf7245d7a5baa04c25aae9472a5a778e6e6b917a9fb82cf59de4268616e7550c3061d81b62d0fda9e192a1f7297dcffcf6070706a07f77c8f51f5449775ba615cedf327035960c1cb2e9989726b4c930bfaea626347943a7647ad51729e2b92868f8342dc56b1a2bd8931387269c9eba9590db8a8ad21ed56a621209be7bf9cdef1ff33064e6f5695ce94374d362319fc231fa133c943a37dfc2779ac6d03b212fac82a3bc192cf2f0092e76b4aad752973787d4fa971c9f3a7a5a7d09c76daca90ae15dc060a2416435d003ce56448b972f83de54251217360989d4e30163f64166e308bf2eb34ed191d926d435e1b182717a763bc375cc5974205763aafc00d9302ab4d9f47e9dcefa93e0a84690f9370b97110f71a3dd57b03ea8457ee752fa302a5cd668871e6cd3e95726631303b00d43ec9f37d50ca05673772186522b6fb37f44c03b5f324bdb4bc72b3711bc18a726b74569c92969a687ac8bbec73aad0b8eba792d9ed3c9570e972161f7b10f7b66b88a36437546a64a7cdb020036441fd40a6fda7a7131176b618f83a257cbbd3278529491d76965bcbfd6184941a093c68e2511cbfbda5e96372ca8aa35ca6ab142f95d33c771be26b42177ec33596a8484d5f755b67be101e723c88ee7c4d00217a9c8722b8bac8a357b1f803459be08d555c7e6dd5d349fa72f6874f4203b8ad01a9bad8db1360d4e20fdf0f6cc064c61678043dce7c501f07e994c0841892e6fb10608e37fac3c2c4c2911e568915376beec652f19afb2905cf00ee076786dcc6f10c621cb2a643d8a93c900b5682966895840381f85b7772a8b7998676453b76bec627b6cb28e312c676ffe69de5af9c36d5009ca14de8725589c0ab3b401740e85880bf9a7376390bcf6bace1f49e6661e2e9cdbfa5f149a17be6252a616d50156c0b56c0904beab842d5c5a34a9999065583a997b0050abff32de3cfdd24de6b9622c3824230a200334aa73fcff61a470cdf5f0b916b72a0b1355c5b849162bd7ec4d56d07f64ede2c20bc4b7865fe88ca5258c8d5d01961cb78dcf10ac454f6a81a58b191aaef32d54a63216d41c685b437cc33d1c07216cd0f67f1472e9f13248e1a7df3f714b5e17749baf7084e6d4a90c49e66ea381a1daac3a5000dd8aa9fee3c4b750e4e8a9edfd4961b1ece03bcdc01d68a8526e5ec809b1ed88fe32aa8344e7c0b4636f568f14e1b55334715adb29231910c5ab71b53698f5875706d387f71884ea1e707df956050f4cf921681a39c0c38582db7dba27a162fd4d013be7022a6a8cb94fa8d1e4ef0e2fafd8c513fbb1017a622c70fadbbc6fe656d55ee8b38046f8560fe91cb91fa472d8b64375103d2b6a16eac9263014c08fefd334cb937820b3e9149a96cc78dd2ae921caaf0f4e237ea2e03920e87fa1c9a898c973217b616f38f754f9e2e18dc9f10a0376c7d191602652be6290e49932f0b9aab738bba819eec1aea1340bcc9dc906654b3ae20f7d608ef2ed9bb9728d5043adcdb4ee12142c3832461c3a762b75f3b4c6a81bf124a25847d4a91bd6e66f84436ea49bf6771fd8339b09a10024d3f8c082fdeeab8ec72a94a1bc11fb7370337add610b377672b2d7f8c5fee00fcec21067b20b9a98b72dc5b84240378d21221d5fce38a6ac2526a3fd6a062c14a97d2d5ce019046ca62b59ad2bc4d8b94dce471633012e55d3712538fccf67aa4f214e5bc95baa12c72edda9406c9310420fc40b99ae4d8ef6e590c4e57281c22153094f4b9d594a75dd6642b1e4751f055ccd08040c586e98764080c56cc299bcf0b98eae72c93a572623648876b07f621703b6cb680f74cb2605a47318959c3036694a3a67617b91a2a5c028655c624b6acdbd4dd60ecbb5d91a5fba3d6c0f8b7c321afbfef206a614e4d232fd703a786e67d97a8e2797b3c4a27813e22199be22a2d4e5b1e28c172f1e50d23195f6ad64714fe5e3ba068c5d770c8087d7e5cd1307fa79ba2bb03135c49ef1d36d71bd15a2def684f695d7807cf767f415159ba459b1f424289607250942387e92ea8e3ad5c75e41ecf822a875a6aa315e1d8441b3c1a96ce31a0720732e825dc229e00afa5126beaf5d62fe6daa9439a36f75af69043c7e090de6364128a86ef446d8befd6e0f10870fe6122d17fef83a2e39850b06a27d659c8725ec94c8a12fcda819853133b6f6fbe607d593ee1602a62655eaa1c1e4a405a4a78fcc02967c2d2b83b6447fffe2ec81a682e50909e3d0b5482877d985cb4d0722245da967393fc72f849b76914869c6cc2362bd1678ff3513b40c622d3773572cbe9ce2c997e539cb4aa5d36f2764162a6b52e57d6ec0a5770c6e93460aefb72aa85dab5af4575972162d01a052ab238468e481f831a70b328630490de844272374a588a13fb405535bf0717caf77c6b40642469680760e7ae7eca4ca5d31772bc602df1907c62ebe035ccd2a86519e9556c11ab332bce800783ddc2fe914b72377bfc78de7c01aa750fecc5a1eb2afc1de669418d9ebc4eed644cc83477544e41ffe40871dc50ed1a111cb22d6d29010d1a579fa653a45a850c2c82b395012457c5768b61d850a0d6ab12a83f2c8205b29478964e71da78bc53f51655cbd5728d303eafa46563a578bc6f6dbb16576ba58f05370f56e3136302e8240055d872ff0209bd2f32517e704f0def3213b82020dc937e12e69360c171558d971e84720b11e72024f1fecb5cb838d5792abb20c0ecf840fbcaca5aa3381fd133e1440eb7da42ec424eee268e10ebbe3a3522621faecc1bfc266a29b30e808f34946f33f1efa79b2ad66a31511f3f3f4965e67e5fa78e838c2e73c2e4626678d60ece72f1db3dac82c4ad22f2d6fa4d507445418b0e8fa4b4277728088c98e5b6ecf21cc14cbb4b1a5bcbdb5818f31736fcc01414b7a6849b4bab431cdf75ff658bed0b3f0792091bbf5697f6cba1da9094abf439278ffb47b64758e6067d771085bc726a319a0d52cd3164707a4e01aef63c5802bc263105a68f60e4376996df5ac6720988d4d62b3b7d702ebe318a36082d38bc83f3e3356768bd51d788efc76bb1720688bdd62fdde42361506f3ba80e2052b9578e4b9a92695bc0dc701002894772e370e0ab53bd28e5e1a5925195306f64678ce5f36ab4c59547e3581b53b3f86b7980ed756ac297e16864e005612bca2246de84bdf55cc57ed78eda8bd7cb0772c5f064aa654332e6a8b3c850c58aa5c572b376b8d4edc8d3471df1a4c1495b0c334912425819df2d6c52452d27e009741ce15503f30912380772783f7b1501531b800c2659b7a0c6c6d1b37ef61654dce83c4156ff56fd132a354e6de8218041f5c99d352ad4c6a84c7d88993b0deceb2dc9f0cd749a51c29c0d0a3c4301c9553add66bf76591d87cc753d388aaccc7d3b37241a00fa4c0203493c6059a2da721dabfdbbaf0894273946598d5bc8d7783ab5b2752ee65a9db1418e51a8995e46def224c01e90b11c7d67ca3ff686f96095b08b1a608bbe24c22e0e13367550359049901666e404137eb64226209fd5c272f271e120cad11a97e3c21409e184726d2a6a7d75a795e140431c5906b1fa2d37c82543f528810005b342682a64087278a4ce9768b9e35802210deaa1f942263c5acb11001c114ef3c919b2d8a70572c4e4eaa30ceb3fd1ca1fa516ba7094e42ed7716f40536ed2cb8ae28ad0c3a472db7a39d7b295e8df908f76c2c904ea8a6c7ebc3396afca22f4609b3190f6cb72330bc7cc198949350da0439d3bd57d44cee525b995b41c79c6fb0087df1f3018c4eefc86fedae9747de75fb4db9fe700d17c8091e824d1566509c3459d800372ae5e5895234263130eeb07f27b025406591e86ba2ab9060c6b6a2d270c2ff872c15b4f2ac5d5f8362c00b4b2daf9834ede010fff77aec6b20272a86b2ddbbd725f08b8b3122e69f4ed632c67327f24a38c15afffbfb0274bbc31813e5f294b72fa8cace66717e675ae374d26208d355cc53553f443325430fcb42206bf09e84d1df2e74d9194df67611b9249fe1d412c712083eea173c20868940ff53ac3cb72a148049eb8cb3b5a5744c6c7ae73c56dbc5e6fde3ab2e4d892ffa74fb648e0722995b092893115fc2a85cb6bb9e7ab388a136b0c4aea075024afe7771a3dc27264ff67067d9054d08fede5ce7ea78ffc2ad589dd1f1fc51ec5971cd9e0321672971f820577923b52af4525249d5c000d14169eeeba46b37fcab8de414e112256dda4a8ea63f549d8b77bc7da591e2b7c7d1a1edf011a1fe682d197bd9116a110b62351d8a73dc971d5ed828664bc07a522a71b28477f969b2214dc5a5278a136ad73878a9bf94f42fa268c6cd3820033e9ea93ad1d14ca3d689b8fc5cc9a1b72ff1011da00c773c726dacea1582ad8365ba10511efbb641dd5e541ab474ec272b76d4541a669c266d6d29f283586bbea411cedbb1fac89b7c6db34bbfde8817227a23090e7f2fa4028f0459539b916e914719d54e36430457849f9478605a4728bbdb033bd60aa04c50ed9fe026a4cf0916886cc56fe0f088a01123f9d5a4135b713ea35d73a7306ef2dff6af58077b1197af8a3211294b458e3a3fd7f451c72fdd328bdefe6e4dcc31b34770085c0405f2b4f00a4cd0bc4988abf936ff11543c1f700f379fed8250187335b39a58a98f6cd4016bd3eac18be052dc36943095fbce3582051a8b893b17340e5e968c8faf368d7915fe58fdfbe8b3abe5291b0024d7301ab40caf5031d11b79aa4d4580a6fa96d3566c1333951d750ff1d9a035b4940059516082ce09f4b9e7c6bee292c7393e464f717a34984f9e6b0f40e367221cec48216e2f21c9cf65d66249727ed8c8d4ca7bbf6e8ee36471ababec8c27294957d870fcee874302d67366d4d34a3de61f7ef789165764c0b7e869c374272737e00f9f95ab7da97d3b050878dbd8d7bdc8bd0f73925c2b2b76cd610e04b725e29f9115a7c2958bbc3fe57dff4ccbc4aded10d58801fc2060187b3569d8b727e392af32fe5aadcafcfe73292ce08b4968a3d0aee95d863bdded571da03d372c673e60832605816dc93ffd3c151ab0c222bf44a347dbb25edd2852ba9897272591157f85eb6811983a39cc45f91e4642240ee75089e6c8cb24ec4ba83dae172d22bd566fec48d32029ef5a344f7c21a07023a062b968b57fbee712ddb3da01b17627ae8062100e3c15df3471626c51232faf4cc3de87ad21204fafac6944b7253c231a005c74343d9562a583316b2585bed8171ce9595aca34da9ba62263007f1021ac7e189984b46b03993979fb4c0a6aa5c1e96f30e101ca871088368a47248f1f0566fc29422f475dc544b7dc251521a185b511f05c065ffec6a6e94f8460b52d6069f226154c71b32b3a183086a6779398ba22fcddf6f7231949b23097273a2c8edf08380462bd812dd01e80a1a25e0af9f6ad956919ca9109caba2031c44ffab2d2a4ca910bc58de1c15e0746f2f16f547076f347aaf7bd6e44a1feb5ecec6eae2b585f7cd8371b5ff947e4c26a2744d5a60694cb03c5af8c239498e4e74fdf74f7a2c9196147ff84cd28c87fafa99281695b300ac1a867ac30e5db0725b14b9d79a588873e22ce01ec45e977c7599b32ccd450b8fb737b374845ce8722d91d8a79b9f93df9c0e36d002166e2513102e0f6f8916921cc86e24a692f7724f04b3a0a04d31e8f636cc2de508bc97d612e052f2d4bfe19b5ac697da713c72244db35f2e62609812da19f22e7bf62ce56de6e6680d46e431605a443801a6611f8a5fa2c6c439899a5f60e4e9a4a51dee88dfa0600293171850c25647c79c72dff107b563cd205794609258dedb56f6f86f75d40fbc2fc81443522f2927fc534b253028aca58bfa7fa50d24f735767eb688a8a45d4bc0b79f0fb9744753270f3b0806f8b6fe3a06cdbf3c6390991be8d80257d77ba9e52202982e82b85944720eda5d2e7f563cf0a1d8448f3ce4284391e38ff50da8621669f41a72fa631a7233411d24ca414c50d361e0953d88b9fb72d2f5634ffef7342fff4ac6ecba497216ce8021b750a7afc40d435a116628e94e51a10a639270980369db8158d1d57202a157ad5d2de08464ad1bf232caad53e035ae05ee986468c1c38fa43200ad72bbe41bb4b01945a5b8a5c19273a7b498987fc0400535c817d2d8771dd6395d0365a4c0ef850edb0f77b71c61b1fcb38521cd9e4a994528a494cf6928125663541aefa1cbf2da4e453d2c2ee58d6eaa60f286e6ef0b8ab70c08a7a495c947887266efea9ef4a0e6a236b27e380bf4679df4c188d69471810f4b3e31aaf1b5716f9dddcf003f493ddd1bd867e147c0cd62f2431fe929ac284b60d7e805e022724a53d7260a55a7d308bf3dfb8d656f28a19728f4286863f8c4c9d1db773a0d08696cc773eb2bf2971d4777363dcb40f41f5bf52751c24c5a95388a88330487bf727b94dfa2ff8094d94883973366ebe5d1efb25e3e45213de5b5d3a603026cc272e9604a0e82cff023507c59ce336a0a542541b9f8d52c3ed8d6559a0b196af45ddc19c993c390f3c21ae9dc968856817d86aba4addbcc962b4c87565f969c89728ee88bd2e14e3fe8de6e781f02cc3e52f58923b2797fe4780c70f83386c183725801f505ca8209ab13ac394f384202464a7010f2a5f4e505c1300d32843cad72454e0772f971df59639c96510772120a8bcd76f802893d5699bd9ef758967e72aa990d2ba44d25c70127a6d6639c3f81fe7ad157fe637e35b6ada8b0f452297264e1f8992b012be12802ab3e45c0e5ae6417a79cd013ace6113fa140fd46d53289280cc7ba99c572645f965449a31c38d516476363c5d43dcaf3f3b174fb5272b44cbfea358d3784175f2f7e1d038acc1182ac692f7b9cec89d153a657d62146aae3fded12f09770c2e267624fa3c0f8353584def83d000e8ac89c1ac90dff6fe2d57d23ae2bfa3ae78a074c469d6ac1c86113b5bd467bee8bfcd87cf3dea755e5d0f5c8d96bc607f97b48c5fce65b93b69c0c4663080c036f4fdc8b5644760ac3bed8ae44f8685be736b68979aa1599a36539b2504d75dd136e8a30802cc1723dae8799a1e39f6aa3a92de63726f1aeec63e33b875f5b39dcf54911a99f3e72eedfed5b05056366b1afc2d700c3a9a3b18ddd07aedd1f90aa7df417bd1ad6728711c5486866251c70b0fac037f64a44f1f840b6d40eb3ec7f5fb27d0c34eb7247b41e3a6cac9b5e71d75d18f72b3c0756a013176001f6c16d331891dca4a172919662feb35a4699c98ba340706d1ba9446ee0c9cdf0797ae64121e21f4e14729be0494e21ee7c982943b8ef661ebb6439d656a40b758e0efab416276d1520724c6066956eeb9c5f59ceb54a72cda589567ca42bc466c5d9368053f69a16c172fa4dda8be88f47407d816386abae24085807bb127e988ef9a7ef82504c1c414d90f0750dbbdc728801cd40cd583809a08a6a14354769e352800d50508d7536722d30f6703e78e19782f78ef00b9c8832e3f483bafd66961b780442a007123e0083763a549a1bf9491bb11dd47a12fbb42ca904a0b3f019a6247eacd2ae3f937295d4e1d3c1a10de69ee08ede2f25846fab80aae05717ff3a5ac262593652aa462f94ade3cff0ac95bf49d79720154d481afe41ce6be75b04ebe4515c33e866723e90e78c107e41cd84057acfa7a2d00de64b6f303ca5b4cedc875549b511106ac0d74cd938935a7abcedc4c8713f877d08092f621da5adb88d2f0e43cda2c372979ffa88ededdafe24d640f025d75b0abf4bed045d5fe208196c4ea9cd1e0a3a6060f0f0f045951cf4df27999ee77a1069d8fcc6e24332b6adfb4e48a611921b9a81471a159172c26e31748871e5a442acb704db25af4df41f66a84e04899f32c211cc363185198f5a2b2aae6dc68e097af3338ecd5032b9e9b2daff9722b96e06abefeb17ccf0a31223d96b686cd68177e20859f00cc1ec42c97ba8dd575272ac6e521efe9ed6152490024617587026216d0bfffa273b66aea50e1f3cb30c7229bbc1e45095ddfb0ed1338b0424ea5418983ba7c75082abc9a26bf9ec666e40f51990ca1d658ce4a42ff4f52baeda88d1971c529169bae394a71aa111afc40ae2a56842e3e352b467726a3ff4719037c78cc5bdbc4531fe7f7352f76c7db872f79421aaedccea80869c4fe7ff4ca4f0a9f1c6354be2f5b024ebdb15842c7c72c347b88718e43e4574f07d38c399766eec066363f9126c990675f3efecb6bf7238c18689de0c4d8d0ae162958a4eb3e08d7fe7594eb6579b516cd3a73bdd5566fbcece87eccc35b13a505ff8745bd8b9aa570fa92bae8d84928a11fd4c02153590ff24c120b9c4e300b51e21c6f0196ab6fbbea27b6ecae3cbfdb95b37f77f720f5597c43881a3d373b96f37ca67be5fe7cc40342705f848500b3150d2cfed72621393dc73f4bde77197e94066570aa42da090ec8392f1f9893504f29c4e761d6c1b0f142ae50a12d4cd78b1a0cd67fa41642867552a0e2da909cf5c6db61472724360fda683256e65f5626f412702017fc92577d3df37d51e552467b923082f69f3fbb974b22f76edbeb90fb1534a5a989ca51af345212c5f037a07db9bad725c21237a3959fc013efcb5bacad59e4d4a1c4f95e83464bc5d1756f81a4cc65f4dd54adb61e63db7ecd9b3ffa974d0257ff026d4322fa5a53f5c82437e25a35390996a1e22fa6c73fdc1a919d2df2af7a1911752a5d67ddb2a6aad74d22f0a2267017bbee85da656dd9e2c53376ad0db2f2bc99820fac55ccd9a0526cdd1f432fd0b102e7bb95b7ea54fad981e07953929a11abb964c9da192969128a034fc5e688f8b65e24b4a658d0b63afa8384d833739959eb4cba57d92c45e235782117279e0b8c72f3b31cc2eb1ca6fe89004227ff2431507fe4cef315ffb75db03c772c1bb3cc74c045a8ea07dfd163a11028d18a48b93237930b31429d4a7352cb66ba43a716ff2e6400701595d08778a686ec43f41e79d3636393e58a118653bfc62ea233d7c8e7184d2f12ef40cb2219c497740f884972c5a14688b06c269b5f02aaba005797ed0abba50fcd1c33ad409837274ac909b44301ced797d07a9bad27203ce00625642fcf2a6b930d0b9327dfcf93aaf8bcf7256e05b869edd782b632a42d8eb6844c1053da2a27745a3e593df98837091706b5cae59d2345de5d05210bd83129d70c93d5f63df904fc49f52ab85c22d6e40c70a674f91005198836d3f13cd45faa715f9f5d40ae8e6fc6a8d91d1b7976f70a9bfc651b0c8d6f0c065720710ab228f557a6124ed0fca12a459d4ee3f8924cc9ec9b98f82d6ccdd2b2138985c3332ae477dd4dcde9875ae6cb1d74b8413cea5d6fe373ae86a246f8cb272fe894ae3d78b194f74d54cd1e7ae8519ce26a0e4b03c46e47c8be8e8342f92220f2fdd04e42c547cdff584c2f4cde8d033ec6c9223287e244f7c9aab99f100721358f3a907baae37350cb0ae4da13a23af6430db64066496c591a6f37ebea5555cedfa8f815426e36fc533e50ca9e44d3a28cca45cb4f87ec2b8d3ce89289b1da00b44a8702c2669b0fcaaeffc1162ed1b01a8d92af80d657df0b192976c3472e6f073a2925eb499fd280d0400e733bf4475cad17909d70525558dd993383f446634e85c5bd4993127f2272deb7e0f0dc91201ff7d8828d27fb77d7e6a139360cff16b29c6b28e412eb5059c6bec39f6c55c55c44506f75cdeb07162ecf34056e964bcb9c63b25996527b557a26d991b4bedf6528129ba581f68cccf788a9e7256d5364756db3890527e9bd036255961baee0ea4b1ece8d40278191344bd3a724f9d09ef59bf329b101e40de2cd4035fc0f3f1172ffebb1bacd34ffb70526c553c30cbc916718c999bd5f36f7a2fea63902b20e9899df1eba286af0dd5d4bf729318406b1e2e0cea935fc9d43fa6614cd8b98204cd63025985441e7a75c0a972b8660218b4c07a534ce7ce33d164a2efb627d3fccd1df94980725363d5e83b722887c2dcc51efa88ac69313b2525f1ceb6f54f4e0fe72f4ba6ef5a1bccdf4741cf91a51d92de5513c7ec50586d05bae1719162d9bf7c557f5b575502f2ca387261b2aa28b99bacca5088823828a53c91b0b062fb0e66a63c7a4d8f4efc46ec4e30de2b11c3a20828b459a172dd7009f486a16fb7de8395800017a2485d38827225aa7dbf87fa9baa42599528d7ad4930aeed62a2c32887477510d36995f57b397034bb6c0e5c8bbf66118df61dc61e1adc93ed70caa1eedad5083b145553e972a48d35e448da961b0bf1c07d3f1d0b008a7c67ff55a90fcff71031271a048172af931f0c8602a430256d85d68f452b61c348f27c75f2fbbb697100f5c2a8ba72399a5e507d8de2c9d153bc5b338f81324b2a48a21bb3e2ae23f4d704c1cdcc725ba58f6db577f1cca6e20f220f4cfdb48f6f21979117d501cad0fa2f0231917240e96ff790f6e2260104a7a93d66c14d779e1a388137864ba01279767cf9ee72fc102bfa336b92f3738812db12373d3a0354717dc912a7f1d58f457f163bdc72e530dea63cdef1b2420152710221c53d1cde5da2bba4570781f71eebca009d068365b5602d6fde925abf08dced8e53d1218c482938395d8f24e7d817cb97d828db683f761b678486d28455597eeca857261000b31f4acafa735e26d7a1e00972f0f200ec164abccb9d949e5bc97591f362e433159d5beafd064aaf7f300acb18a510397a1273640e75bc4552c143ff2e6472191cb55522ede71aa18d54ba2c32bb91a95f8003d8c72a8d845cfbae2c1b5bf6540b1a32e00eebe704bd74013172cebdcc6ae858fed50532a32840b5302dcca8016b56e8b589ab3aeabecf6c567281e9c53bcfa66a5468bf77a2eb3017b9b7f651ffbce585d6aebcb0f320e14b48c7d1705adc34afafb510905fa65404ff7f60d35fd4f928fbc878404a3fbae069602b2bcb0245126f39ef1aaff8c4d2a270a15e9681cad33be5d193143e92d5723a8d141661ad2c210c6bff299a6df86bcc71d509dcd9cbb4d514016a1c18452480b91abf351862f72c17e0f5dc0f65d00bd52a5220dc8a4498500bf73356e372edcfa584f3dce377620533599ca12360eb9a4ee6cca6369721c153da3fec50217d2d96819e94b11feac9e72fd798ad6e0d8677c8756cc05c3c0be7a96541ae69ba64e64cfc3d19f58a3cd9231b11d832559a4a3ea20e1ff8dd8c5fbe22b1bb72bc5f55193acd375670209bba19604864e06eb2c6b5363b185ab69b7c0abde07249a236bd7b661f3a08e92a63e7dc93707f5dc21b0f84145dcc77486fe308c87207364e3804960c3c8415a64e762f27b1833be4c98d34e1124ba009518c27fe2d26691f046254d63f9a33c71b9a8628994ec248b8297e9052c0cbe163db93347287d2e64564abeaa7cc1395477f5ebbbdf57eea15cb3f317eb635256c0fd7d072ee57dd23cfb4f7e723bcb12043bc1c5282440fc2660003b02583051caf33b372999c9a6e542c970676de18dd90420343487f5916ccd7a67f46d6d8f6d72f2d724b1ed65d9ac290a93388250d524f1e93c0e057eeb2ba447ef1b97f65bcf28e72849551e8856cef9bf2fe4e750fb1b745493c141d85b0e777466a9c6339f75d2dbddf522ed2eb6fb4e2446b6d5c0dc086b40baf030f827884b71fc8027d95bd7258f14683817bb5978c4f557aa293bde091fc875226b404cce5c4f58c89e84d7262bf3005f7e2d342f60c9484450f0991823aaf51e118a27651d379d61941bd728b964f67e8bfbcbc5ed4a32e9771e0b8600a7f1d6929e3f1a498dc5d3353c972cb2c56b683e572b3a471b731d5d6428ff3cd5f0676a99bb3b3dbaebcb5082d72b91235a510351e0830a559f3fdb1c8281619b7ed722a469322c272fc31bb12723514a5b8224ebbdcbb9f5ba0fa2fe90e7d61e8cb73504bce5c4c894627f59172560f895650068d74812e7db1a51ec32a6f7d571efe66486371a40d22433680484662c71939ab02610c93a238fd23b56b9c6c41d5bcdcabf7a689eae26b579966f1aa47f7573ca2b12062cb2b7ed217f82847ec26273d967eacfdad4229a57d72dbd94ba649f37fe802b06b911afde3304971bd6eabd0b50f891811a6b959f772de94e3b1d7bfcb6165cf379458d248daec030773e16287bce2910592e53d567212badbfd61c85007603a528db75e66f242a5cb459872da730b5fae006e26cd722e2a77c53857ba18d4ff0034459f54a29463718499cded0dfbd255e52320d772016a41eb7d09cab951c590a29ac74b29b27d9d0d0fa0fb8614df45154275940f215052380c75b7c3942efb9f598210d0345c18724ad5d79e86cf3d624c422163296e952344d0fd396f6f701731b55fe757eae7098bfcfeaf7f5002e762247c2668b2409c1a6a6f80aabd4d30defd7f408eebe23ba0089a04991e6ca34b518635d8c3c59485f75120ee6d532890d75784149d01f7b9cb86a2da811eb21a9fba7201d5d6e764b2f11611100bb378bb877074c92b5fff172b1a0d7d53cb40f43d7201507dcd923dc0a16c42b89aa1a658c433ffa8c9b782205bcfb7a42989050e72ad0826708d5dd244d4171a8883fc33b2462769c3facfe70b2b8a032d664f5f440a89aef3e1e69bfd6e81d230f2157c6fbf113058c167f7b1a0643f6f9b67e472ff782412170620b06fbdc86ef834358fbfc39784d14e50c97c94747c40ff515a8305d7bcb223cd3e4b10a475f54b59b5d475112dbaff41699937f71d989406721d8ae5b796d96a5880d4b8b51412ee0670d9222cf8aad51c157c2dba53bf46723b89e210fe9c1ab4f9af8082ee03d58c3469368d4871b6ea926487a4f7848c67d0ef89071d6ad8201264526252c42d1fa3b81cb1f92ece7dbdeae8d651923272605820a3a648ac2b85bbded1d8bb73503969c285cacb453574cac1dba83e9472664b775e41e2544d298366a00c617b25f665631ee2145d9906fbfec706577a72951d3fd8843974d93e57c165f108a4c74127d9767a7719cf564a0e6c3431e072d952dd5b9cf366a3651a74ee40c6e2b6403315ff9db8bbfb7301dafb7a4b1925e9cf6f544943af997b3d0cdbd228e222ba3a617dd30ab075a29001505c9190723d6eb6d68a9fb72a9601ffb4e058ddd9e80d7304f01a3a035f34717e7911e6720ac76b9fab50fb7dd92f112b3055e813d1b7766afc94fea7a0b40fc2650b9a5046c83d3701750326d9399a9958b56c60f0066833357e670851fd6df64cc458594c22cbcb869651913c2903ad4aa28589d118739a84d280372cf00f7a14e0b9722bc2a8e9806937a34ea115f2948e2534e3157576bdd3f2f07041857d7c212d7201cc3cad41b1aefe8fd5f23f7c8b15059c9bcb81d9c4b5655aa969daea2ba972b635a4fa31abc8d70c8992cc50db9512e562ea40f1b9dbaaa524fba40d4e7c104517de97f88ef72e33a31aedcd1ad577172fabfe8d3e375800b864ef17605a08081fb038e863e6e1623223b7e6c88bfc9975748a0d50e601be6dea334cc37e40698203ea3847ed14c17327809435a8cb1175b2bdfffb563a982b6ab2017b9772946a5189c65d7588ff560b8ee22ffa8d55ae38f1b41215711e971a3035921272eed50ab495af32f1e621ebd651f845d9bc989e9116ddfa01f478faed4e743b6b635273212795d1df93042f612dfa1304e9499c1c961ceffd8bb745db222c1f2555c531c3f29c2128327f307a34e0136f442aaeb4c992f4d1fa8711c68c9053725774114ba21ec9bd2b322c35d72f04595523955bdd10128dd799b2a32b63b872143ae2d23a8c38cd02e4deb1a8ee809f7f88cc739b56f0465db042db004cfc72632a575940cdd9f62852ec97d04e21c3564092f0f6c25bc44712c6c91d34457278dce84f69477dd4fe45e8bb7c399c02ba8d34b6597830a98aaca80d7ac47d53f8ff347799e83f6f4131d74ead619be3da25210f794c1003fe667f2084f25d2ab5b9635ca9f88f3461e4ebed4473c22f6cce19418d58d5247c64e15516ad4c7238b8f64917c8dc053529828a2a260b27239feb9254686cbe77bcbc6104e02072bb4e851bd2c7db2c3c50b61e3451d45bbb8e54c054c8628d7c01771344543b72e00d1dfc3a5d363ca01692c6f1f9f2c110a6d0a95e8a1c95d9fc5751b6aae829bd62015b79ebce6de2be6ee96b4ed4037241e961bfde94799c6b723d5c27fc7269bb591ca6b7c54d35de3a02a18fb9ad0e9d91e8ba1b9d751c04eccef047d472d6feb8c2c563325729c2f9fe658e20a9676e54d3de313c88122d289c3b68d00f668166293db40ca764f9f94cec9504f01678b92e66c09aaca06d2f003846f472fa9cae2c5fa980d5a5f0d38f534624f3ad55fea539de9cb396380736ff45a94e027389b44a8e9caac20df0511ef2a3a930590e5d93bb01972e7e4105e4b7bf72208e27b86f20b646c35f1d251566717c10e94e10fbe182aeee1bfcf578bd0e72fe7b0de6243dbd96901072220f13179cbf5c8601449b8cbd7c1340bbf4be0772ba1e87bc9c1fabc6741af0e8bd67b60af4be169699e10daa85b74cd372f07b720c197f6b525a5596bca938d7a61eb06182cc6709194f019658bf65ed81fa981df15a91737e2179de0603feb98c48652f310e761a08036f464159d6575d3fc672edff8f4f20df73cabcb752614dfac4b64ca0e8e0526a86f3009a23d40c53ec720ae234c4480d784e6b50cb0a274c9f1d2d238ebeaeb1fd6e4230cd083f8bb643b0f9777c42e9c27db96b833e58dd23a507edd2f60744a0925a74f9b7ed2f3072bcaac5608ccaf4ae1964b8b570523660def16e723886eae7b6fadb3b8b4ed37232002ff321a979395553642aabddff71b64f4dd006b441f1788365a6e4b7775d12a42da2df5b1fd6511dc16af2c39f70f410983aa254ebaa782ade1bafebb56e27581522e895616c19509fda0771bc822e3a860b017d8843df1cab9924b2f772cbd595759b103d0ece6821b1091655c1afb7f8a24373cc04e34b4d2ddb27c972e5e2dc22d6900bdfcec4991dd5411b00fdfd9440099ff77a3ad8b0a6d133cb700dc640217ae3191473d4fe8217abe60b750d90502ee08383f8c412485979bd726f38ff20137e17032727dc3a6824423b1b89088a680fa3044f6dfb6a8264223c9d31784458c26bfee43c7967e9131c455bc3c285f7394f8c3a10f595e173af0229e15aa6ea5fcdaa270c9f7e1cb07b0e948c48164f9275e4ee2e42d2682831390c2ef585b54c752e838e338090100317db5c194c313cb721dc2f055b8a42f472709128778705d1f98d23458bb266016a6d36c8480dd881bdc19334e27e78dd2b6686da624ec1d2c8f7186b3a37a3ac9094a425db93e03fa69a84c76abcbdf07274c6b0432ea7b10ac49c3b02441852a10927d19ee7f8c0124526a784e6aa5e72fb95c4d026a57050c6d0b48a4b1a875d685fe50ad4ad292be5799b835a77cd259bb1def95f4fc4970ce663d515e84db8ed472d9159caed0ea6a5357e8c8e74370cb615d20fb777d5d2eb00ab3b3ec90c98c6e39cf7fd70f44801c367460fe5728fda8b0a2b887089199b80d211a8809116f44b2c5704932cfaa9b7335bc52f727bfe5538dc1a4417677c8362697e48ae45e63a256dde12a14b46dfe050b2f772ba29ffe4d09e8aa2552498c621ffaf5857df746a4a50b3841f6234f6d4744e725a42639b059202e06495400f2943e0d7c3cb64625a43a505844d8f08c79e8f0483b4f0c14581b924e18744c704eeaadd7f8bd140c5954b7990c7b9a47340b47213681a311acf7d947fae1789c509080b0a0aed461af216c49f0c0df8b2390a15ae6778d9026ed5043fd27074d46807c819535808c2185d008914e484e35f2072c79ba8cb377ddc090151de67ff9b480a1ff2b7f04ade0e02ee0e0aa5f05fce076103cae4a424ed3ddaf1176f22edbaccc8eda51e97e8919f0a540c7fa4d33808ab9e132ce84a58aa6b63a9392d31ac9d81573d2fbf1230f717bec27e0df3bb6611607f6baf74016f3a08d3008ada1d30307648235e31a16bfb6257c9c345fc72c662a48744b73e36b68ceccdf8dcba9250d61214148aa31cc6c150f305ab9430351821cdede3073e3ef8f6d48c20c10f28c2c9b787a2c6e42be49f3aff6cf07200031cba832032f2c8a3a02caf11e6ad319e307e34cab212b3476024a6b9cc72d7bd296dfb3d81282ddf758d06adab0a33c2c5b73b8a3143b37250d1d28d8a47075e1251eabed7601720cccf9ebbb327ff995974a477693ce1ddbe8854611428c05cb26fdd823c6124f290c4f44de1f9d1ada5d5e2f87d3c3d755e7cb4fc1a72eb1148202c0142417928e813ed74a05433757977980fb1430c7231cacd51f772645c33ef35590a24f2a7cb4daf166096cc33c833a900ec1ff816d82de3638a7226061b74a695f5b83ebf54d53fbe6a08e07a11bca19d91a0fd24bc1c9d1e756a071347f7d8a63907bb565d9712643c56d8ac007caa89f83228d0b79fb93db0139a074ad1cd56d0994f14e6165d068a50c4cf60e3dc2b8a148304b99ffdc83d51b941d52ac020b4af15a06b0cd7939fcbfbdd871d96864a91384cb8865beefd0b38cc05fa30271f8ac5525737d34b2acdf27b78fd14912b39b709feff032ba872df7d55f6b04ee2d3dd437a8318708cd3240958c67b8e91a2797f802586d14072f0c4b63713de7e2cd8ce54ec6e8031ea19249062c9240d858c5f053afe867a72a19d2c5b25d9532374cebd9a9d1cc15d8e1c93eaf137f31513d786fb7c3b7072f1f6d1604f9983ff628715709e2a29175d4ddcaf9aa63a60edcb3d0b7187eb1da0f8e3fe34fc83f514dd15a073a5fd8d5a5c1cf8fce33903d33e4e68ee28877204f5ea3341652b07bc15e47a91965e8d8d3fde89ee8ed3c2f707d5d967613472377671c60e383296fccdcce577be296e7c9193f3c36f642ced8ace0c05437210046c6e67b323e0603a4fadf4eae1a39934b5937711322a37f33a1cb5676b7772f95953ce252915bd5f5f38d3da8e9f36c29221005ebae37cf574aeafc7e21f726c60e158cd2559ba252c4f78f08c55c41ffab3db61865c8b3b35c34dfa591872d9b019762e8e2cdfca5b12e69fef95d2f1be4315bba9752897a650e7ad052c7279bc5f4074636a6a30831de94de1b56ab1ae431f9d1d1637df82b7ff823a5e5919f5d7f11bbb91860b86f2743650a7eaac6b3c800e385b6cdb406adf58ded445b40f8087376b67cff6be5640ab4ad13b4b45f199a1acbfedfd5d36e7c24ba013b1c6741a88451df10a81b4c7bed3083a03ad27d91705f12ec1552c1b2fd02d72096a4deb00ad893c0d337f0829d91b7da8f241e4187dce1953851c3f2dbf83721dad1158de153e52bfe0d816a9049bad6ca08189006dac15821824b53a350044383d4a7d6a62d9e00d052435cd6eda25981839856f384b951d767ceeeecb0572f344fdb71a95cb57439ea7d5b88565875ecc52e67c95653648903c656f729d189e064276eb960bff78c6d495c72b12c7f2d4eaf1ec7a68c758dfbab9dafa2b72ca00bbddad357c3c5a72edca767400a3b4fce9f0f3a4f6ef23214115eb81077210a0daa92f1541720b11d3bc02e5f24f74af1b40d99ffade6b882e2d5620e772635e363bc470d621d2e5c2ff695f9c1ab065c2f3bc817cdb9fa22dfd832b2950fa61193bc5b5ddd423bf4158faaa1ff934f427dd474d2814ea90d43f2613c972fb41c84317ed2df7066290fa108b70b5d9117315262badad2e6fa8d55bc16572677705957ca859c14687020ab324b51d37520f1efcbe575de61f6cac22a96d720f4d9e47602fbffe3cfe7637667227fa9e78dda1572c41d69d08af963d62f472e780e7d6c3efdd51846c23d60a3849c6a777250da2d257a5f2b62df6245c2872e6898ffb755943f80f86ccd404fa39c03a993234e4dd2902b9f9b61337589f72040824be3ba7200f21f340c35bd8b8e95256dbbdcb946ea593d8c6a3233f773760e185657e7f54f93cd3cee2a76d521504d415a606b635bb8ee3554269dc7af8f5b0818ba5378ccc022a298b0e4c815a06ca5cf9d477d6d572226ca43d0d0b3c25c47709f96e5466d30beb67bd8e2bdab276b0a1e4ddec46def3ffa7b37182553a03aadc837fbfe5a42a25ab104354b4c1ebcaae7dff9b214f2b3c4b881eb54b3131f4b0a43e2e4b7018748b725217429880eb8e541e534ac3304ae12e74541ce390a41b9a2410f05d5c21b2122d391785dd6121b08b5976da3d3be5f3e069db0c95b81c5009537acb8ec35bf54aebf541dcb231fd0d9fc353107830e38052c9d2d2b932eab08ba1c578af1a8ee00ff423923f4603f443c96a68c2e80dff6e01aa79a2c0428472805243fe3785be2f67d36ce056b97bf8f5b0ac7d7422e1c31679809a1249469e7c7d7c05f526db724b08104548977bbe6fef81c257cfc237bba17b1a931c6492850bb08251d56e9c49be57d611de95fc3854c868fb7237a88a4e781f785d24a2c4e343f091f9a273e1b0f4b750449c2ab10174b091efe93c1c898c36fccb45ec0d4f2fbe947d5f41fe13e8b243fd46381ed37f03d7e9760b1e621e979efe5f31cef0c712b09053f4b26a6ea1e588e0c882f522036f2a3cb59bb0872e29f0317a059c207f4691279ba2a190e132ddeedb82300229b9b0b1a985f8b5ce73879ed4852afa2f740ead907818fed23d952251f0f2e75d7c8312f77267000624d76c6d1e36724aa319"]}, + "response" : {"jsonrpc":"2.0","id":17,"result":"0xeeef3b727be19b91bff220a3b0d256829173069a5b6efac463a897874089d049"}, + "statusCode" : 200 +} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/07_cancun_send_blob_tx.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/07_cancun_send_blob_tx.json new file mode 100644 index 00000000000..1f86ad65a0a --- /dev/null +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/07_cancun_send_blob_tx.json @@ -0,0 +1,5 @@ +{ + "request" : {"jsonrpc":"2.0","id":20,"method":"eth_sendRawTransaction","params":["0x03fa0200fdf88f0780843b9aca008506fc23ac00830186a09400000000000000000000000000000000000200008080c064e1a001bec47c8062b40930ff772e34c704698aa7d7b522eac621c6cbf3a47da99e6680a0f2f2f588ce24448b951b6f9814699a4a9dee2b415cde0221668c4ec273d21e82a03ab53a8cf09ae4f3a962bd9bf407c4fb2e489af923b0ef3f7187de81582e4e1dfa020004ba020000561f627b4213258dc8863498bb9b07c904c3c65a78c1a36bca329154d1ded2135b1171b4d2b42ae53bdb53971702b42a5e600385813266114b48ee0f05629223000c4f0d4f0732346a20cf5ae3f288d3a870a4aeeb858528886f6a2af05d8034724e38e017d6e8c5a35c71b64c4127a87a742cc8c4c047a39f45345e6849c321586049d6073122de1c621abf4fd8d016cdea9397bc9c1efacebcb394fe958de07251bdd42456332644126c1f028f4bbfeeb7820ca0f425ce0a9f356a7c01e07a2ce41da605e183dca7e749a245c89c546caf1c8ddf5167aa9b8a9c4254248e69683419a82eca57c995044c9060564efb672e97a855459c83a3b21681570d8a35151f7d651963268f0ad6fdcfaa68c0e910f435dc14cbfa77906e7949c19f34a65e14e92bdfbb92ce3dae5e16274379ee4edf2cc4c2cc4d6aaddb2ffba0460b4c72431621e3126fe7b89ca46fcdba3b9fb6e8e96716e12d082f80925cace08ba566ceaadb9eadffb89f2b5966d48b5d47fd1c804a6a1b4bc78bb1a1725f313b346f04dba8dcb942e255fe2bb1b6b24cbab2a15c059ddaf0ee0e1da4210d350fdc246436bf066e47396af196e38b4bb906b3e87835bf8e5a17702d8e55e48c3c8b481564f09c93e7ad41f75078f0599d2da1debe143ba93eee08424eeb0eadb5b32eb0c1013147d549708d537fdab403716024c876aaa3ff9ea2478b46d33b1f63720074f3195b0802814f043d5f1cdbd7c2c8bff6f751a1c2b06e15f7ff74caed72da3e0f9689003f98ac8bc9154e1c26deed11ee087f2389463bac8fd6d9b9c17273f6ac5297a3a8e71bab61f0ded7621c102b810d3160f7e296454b495f7a217202a774a6b3976bb689466e30846d8b76fedef39cb5b8b5ed89239b337fbea435ea8b40f6f817f2a8115e5d06c069df0c8e3eae0e814fed711dd641794f058d16f94ee7c223c7160114f7b59db4db37567f1479ff115d9c479aa4d4db59120c2105f0b1aa93d5dbc70c702c8630e0614cac063a2cdba4f6570a9366a268f1dc5f37e074a3b1d72bd43562cf3c3518bb4993994114e8b6ecc58af4c4d45f21c3729dc304099d693f280156cfaa675c27373b00539ae0eb6163e7e112f3f723fd6a449f741adcb5438e59c72116ce9785a1995a1ea094d7ce0af8366b2686d08b723783afeb1325098c0a8a15b676690a67c97467485de63b91d749fa29fd2bb47283f102c9c3b6cf69193798349d3190493ab5acd8745d8f5af4cf17b4793f08725dbe218275444fffadcd918d59b0f5d3e8d75d74decca3321ecf5d98e80bc00f18941b36c54c9fbb2e31e193f551fb20aff14125e38915a52caf49cb5cdcc172aa2371944df803e9d3a172e3c9cba97aaa2568b51c18cc4965732a400cd315724bc8fba3a05428bc3ac5f0d6353b5ca1149eda7567c3dafc9598d98fe53fd1722dcbf770dbe9700831a9825b33a441efd16c7c4afb4e2d72813c17004a5bc57202f97d267c29fc36ab54ff982523038912a8f70c4c946cc44c19dad3a6dda072cee0846af5f4a2960f4e5a90065b1a2135b500e5bb00aef73564b8fb2dd5d5726c3ebf05c31a987f4f0714c510af2773b0edf415591b23a66a2a2ba56501a072387aa10e099fd28c6b7c97f2644a15e13b2dc0e675e8f8851ea96474d8ab9472e2576530df86c8f83e5b8382d5ffb6897b4bb1487bac01667040c9c96339ea36550599d684e9605c59c376462fcb7dfe838a2463f4e54be27120bb8e9ec65b722fde4e8cb38979ebabd76c217fccdbfce837a1d35937348e7e18ac3c032b1272402db6fc185e4b6077b74936f08d7705e384f1517d5b7ab3cba0a74badccb5010d5c51ccdb436c2c4aa91bd16c151af51c65757ba25ef7c21788eec00449e9720ef4488d386afb7c3151a71007f0adedb440557ff5e639816bd11bf62ef62c72f2d1192e730b21575f65b5b5928f370480635d4ff53965decd585f8beccaae72ac3bbf35948a0d78dcca695559688c470855835c098f70ab54c8afbab6691826118cb4e075963fa60fb82583affc3e6629cde2bad22813e53bbb2a16a50dcf729bafa775f09c02fa4bfcd39ae67f1a115bf485512ec4ec9f73d5c1c814ad2c724f13faf294606a1708ead373643e9bbe1f6218e0f8a44b2f6deecde10a4af97094e50d0b1a2ff88f9c8004d7cea18ad4f4708cd7fef7024d1290b1e61ff3424d4230ef3d24874d93b77d7b662bcb45665ca91601b9a4da3cf9e3294cab06f34d6deb9002d496aa7a90d89075fdf9b1025c7f9904e761c6460862bc6bf2ddc05223df5d58cae39e2b2bc8bad23579027b745b2b8236bdf132ddd666a9fa1af80b832cf597dfe6e355c42358e0c1c6c281c644aafe3c88cc25b53b4b5fe8fdc316e313764aefd86962a4938081de90876d44bfc15e8c9c32dae3b8fdc55cae4072e221766607f2e86487b18bb03bad30ec8681672ce16c9221daea892677fcef72c330570a3815e14b389f429157550dc627113a1cdae4f7c4688d9498b9353536a2a655ce15c3b7dc999c100b0be04a3370098a39d9bcb55858ffdce692d9ab72f4a40d169214ca20be0d18e43c70b31d393dcd3b7428c3ceddae76593563ed08dd6badc695d72bb5c3e705b15be30e7761500e42519854a46ec618ea1dc87472bfe6a4bb6691c7010ab3da21d1a41223d1246e3ba9cd8af155ca6cfa0159691212adfd7f0301e7342cf7b6a9f88bbf327fd133d5796fc8c4484b25859038367291f701bd72ce361cb6ebf619f2e06bf5b0a1de9d805e786cb1c47894a299ef0c33ee038016112f33b9c2d4a7fb8289a438f4feb4ed005312581dc3c0ce738a6aabdcc5aa46e887d313cf8526fc2372dce2f4a3aceec0d99875818f131bd70c725ae476fa7c3fda4752ead8dc0714a551d1818a334ef46f522e131d5cf57a7f28be96c0672d518884474ff606a6285877d9c103ea3bf75319e50dbea40d0b0e729d2cf885f271c5cbd7b0459c59bd8a8df12f4a8582a4f00733f94b3d7190fd24ee4f4861264d88d54d9370eb2d57203cb9dc4e295579ba7cd0ae56580c52a64e108d4947cd9bac7b0691451536ead5e2693930b1627ee8739f135d531ecb3b72fdf70d62d9345e8f927bc9d62423bbdb0c82242c124c180a8c4b02e578679f5e33d2aa88c05682f9cbf321e400a8f22d799c4f5072852d43f21388b1f8861266bb2d42aafed0bbccc16c510326bca837b59ce76d301596466cef94198c70e66666e32642bc606f6784bd8d7603b2a14a6298bab9b1aa57893862176f2754b772bd4966d2a53f0b2d6a51cdb6feb02365683bd4ee4cec281539abc6609bcf207299900af6b4a1b51fe9bfd4a7f564b1cc0fdd5a346ddf550323df135bfd2c9805341360da440bb30316230d856d5b5b85dbac69eaa430ba8d667f18b464e2381709e3205865d68b9bae9ecf0bb53be77e70feceb000c1b51d2264e9600a3c5d08a1053860f382746cb4d37078d0310e8b50f6f80c1512f5d7bb537f07663e4172a61484487082841033bfa233d7980bf0757ca26e4bf8f6b6356cee90094176727a6bff251e970448197077e9d3c4ec559fe2cb5b08a25952a1ab03c9e33fb2118a8e1deeb7b7a1c4bf93576f408b6ca2d03b58af21f23ddc01295cfc4828a37260b5b6c8d83d7a329b34af0b8ba280dcbf40b0f5769cb4caef44404269e1b11d0854ce4fa63b827e39b1fcfc9332ee1170cd4bfb394908f12c9371d9d7c52b72bf8b8bd9b096f015eb4bc6ee2e71f75dc47d59bbb7251b2768c7bdd00d4ba8725c9c32178485f5cd18a4314c726ae9e864a876d2d008e5e44cf5b39fbcd7f87285fbbdac5a99d384c6ba96181e5d5ad5284c97d8e8e5755b29dfdd324da3a54eed667e730898890624dd9642c97cb4d3e2dd961252578cb5ac0c2d922ec1d372c9686ecad5dd6b29e8844d527d402a0f254594308e53182a450472980788c224b296a89ee86104156f52b4d06974893cb9e414b1f88298187edaa610e19aad72e1ce755943113f542c1fdd637bde2234953bc2df789f62d4be6722b255079272d1b57d3cef5b4abc3f64938b0e4db9ef04a05d83461bd982f18669cf48243017d2b89317b648da4864d4143d9bf0fae636529129b9faede8af82f36110cfe672d797e322f3c652351ce16bdd0a72cfaaba334f195c21aaf80d301246ba792f7287107bd70161b2d8336c5ca5b45d9273650439ea56b044e3b4f45f4d1e191c72d7d6e6f06d1086bd8c9948642ebdec0470958bac03ac580d8c93d995f7008d72b36a9afe638a4deb0160f4fe10c8a180392b45b34408c790ef022f2ccf7b9d19a13c670c1491db76edfa2dd3f76128b2eb6de3fab2d7fbd33e49af2cc3b9a36d5e9fceb6d0acfbf864afd65ceffb631330768840ff9a96365b120d0be44c7872fa0655f6284a716f0f6e0d5429996c41d221508f56c6cdb6f24b5a162489f872a09cd5eba7b1bfb11f3b99ec677dffe2b9c71662f0efeeb764363948439edb726e8208921aed66c38ea89d1b535465e5eb9076fa5dd11fa05341707d2027c125ddb722b61c604bcf5da4b5a4f6266562887e03de1df2cf3cbde790db67c2780f0eed912a4dea90926441ac358f025874f01e97896ef56c9abd6cc978425327727a59d3f6958e1824da54ce7eebd3ab3ebad9e87788b241b8a59113a7c0174b0da088d9b9f25424f32f5ecfe463c651de6561a0c0fb4624023ca89f1941f80e2e3a196a9c5ca14d27171f2fbd2d7e712c16f618d2213a14d2a891f17b7523c51f2ef8296cf927a26dfa3e2e6b822966e257d621acf2324a105ffcd98df63d323e46162e5a7a6bc3ec7efe16e27d5365c2400d201533c9372757f5d4295aa2931ad05878eebc8ecf680ac15b1e52f07d55f697aa79af7347d459a1dcdd42f0e772ac9dcc0a2b2737530dc70d8b138248e919febd86088f8897b1eabc28932af1664a9c824dcd97aabd8ae1fc14c258d9498effc1abc637c90f3e4e1fd8dfc23a72f7e5f1ba34ad5ad463c0f6c2fbe9cf2d7faeaf97b158c7232838b2e3c7017b72b81461b62138fb1fc35723ff0e82d116550e1267fafefbce26e53510560ed172d1f7aaacdc8a89060d95cdd0feab0bcf7cb742dd613693282fb07fd99437ec68315fa371afdc25f8880ea4069e1e97af5f8160fc218d843a5aa8343be44e7e7280b506da9a7b897375191482c2f298be2f57aaabe07f594bdff939eaed272e72a04b1497983d6e0d68d3f5fb3c3aaa5fd8f55d2f44303bc53ef1b81b22181e3e85f82764b7741bc82d1aafeafc50b75944a38966b48a2f05772d8ed02a7c374118f3e6e5b8f45b6233c8335e1b2b810220256f318301a0af520873603a274272ec39531e86eed2d448269d552fbd49bc485a6f1e8d948a0aea1487cd7521a272839953b7850781af2a26870ba08dc327533f06405972f9abc7f1b3a972747151a9b55874fcda4217f4aea3c2cc0a70cdb9d6700fb2d31dcda5e687857da22e2913070a2d04bf73dd32e6c7a1ded85242ae7cc49bcdcf51015172fd564eb24072b61d3b5cdda77a566c97eda645134b01c4522407d2ca37e7f845d855efc92472ad90bdfa80be96943c98d2826a25b2afa6edf500a53c73dff0a12a444bc4e95cec7a8f1f6b5a637a6f335a8ea2f23c5c9e62af2dad5c5ae2cc33cb8093b69672d27b815e52de27da36a623c5f1d143de9b1518bd7b2f3718e20249cd1f596872dc62542b531171384956a4de7c7b89714108102311dacbc8ab040c03a31dcc669f5534840260b0954dded631b2f6cfef04a2c89b967bf4bcfed5c7f1a3c5800d4c541318a624fe6153251b7b62d9302befe3df50e341fd0c34defc06a85e846b33bd09dd005a5b670b63087e61635e3366af12e0d7533ed212a0b34eabc95a3ed52c2722baff0beb5697de356761fd62dbf77c3627b8e70ab99ca3f7bd2f6a2e11f4c0c2a1ae027681158cd1dcaf92f8a1e82c50ba31f9ba9d7e9bd2571df172de8ade39fe1526e3810c521548220ab01d6957056fbe2e05ebcb34ea55fe101ca1a6f6d3a75d7053111bbcb061058dfbcc658a9238674db223bccfc22949d072bca2df1165fbe49d184a2c6964dde61594ea0e14ec06d54487a33e2c84ad442c1b86d9618da21731345e3ce83523b71b6405546110145510cc97e0b86385d47219c0633a781d597f2cd1e687438cf3faa07e68a45d02b80ee8a85d6a6238a91de78fb3dd3ec3656c7512f34bba2e53ece9cdabe5d6b981cd21b3d2e1d7467a7219910703d25bd7d676fe04419e3e709f171c19db700f9a9f66d3c716ef842049a08a41f4b79303e2274479e6c7c359e382a86a8d04160891af89ace3851b1244abcf5a808d516653adf111e3879c7a9b2bd56f9b85cbf8c0e1335844e491d5723bc11aeeb9cd244af8171188f06d5bee86f7ce8eda42602992743ee3cc131c14bfe860de7b2a56d25648b6edf811d275a446ce3e08d37d15f6fc6889503036727665d23cee5321791e593be75a54243dd9ab5276dbefb4207c2acf6914139272f00259ecea887e198bc305d259fba3f7af65cba92b23fd6ca328f7af009cdd72566be955a1d265378e1b84c881b0864e3d5de846575b722393349c5e520db0331946b0886e2c49b0e76a229c7d65c67468203a48a7242942e6d32d097aaa1d11d8a2dedd3ce1b186484919266528be95ea2877298ee05caf8c8963250fb44372ccc82750633927805f7a03155cf0dea4cb78c2f27ff07494def0a5269aa0c272afdfece4b67af39d8485f94b7059be39cfaa723237e27048d6532142969daa72f1da9a7087c657a70c2dbb8d8fac791ff990ed282cc8667ea169c2638032f272529b70d0100ecd3010d8a5fa2d2512c2a85775776800cfc08fdffd71d734f17173e6e49d363968a4c328bebf1f860a7fdef9cdc4ee04ac8017ea530c3d38fa72bd6fdc5df0eb0ddfb93830ac7383cf3dde0b2aada45e87e634e6fb5466e2847279beaf2ee1b1a958b4c4f0fc2759960a347e9b932473eba2b17e83103d34ce72fb7e231613e88d8739c203d7a324f97b0070dca08310f68354d8cc30dafc7e19ba14ee10f9e2e17d624022046d18a57fc6cd5c33258c2e5c5edc8ace749a044286444228376062ae52d116f9a556497ca73e5142ab25e0680acccc952e310b6d5637aafde10c92a9baecf44354cd786d524cba67f7971c4e21920ea4a9298772af7e015a5a50f8babdb52250c55d2682a3d52cdac5ff1e84042eea2fa22aef72910173795c18981ff15f37e72235a2ed8e88e4a11e2efc06da6d910da0ebd4614e08343104c4e995291f4296d7cf650932308658ea44a54ef46db8cc269f73728b4f0d0efa4f19866846e5cbfbcd62fd09d177ddcfea519ec260f98f1ac628133c915e0f6ebc9dc6e4322fd790ade9dd4c243892e10afbd097fb4d95b685f27247c470d29a29bd31587ae46110a4ed40069b250e3c7db1701fe7ee075067d9727e42b20765a4347f4817be029433277a577ac25dc34542ae5bf8eecc09f634729e6ca108fe1bfa555272c8a3e62e8f5b87246bfdcd6ed75eb3551a14d80a12726ab1ae7f8076a0252c70392d4689baaf07caa9641552471d5bd62fc94a02ae18093b27c4778f7483bc8998a050b1e4f38334836efd74a733b9b2256d4400fc22d8b5ae6c0ef8ab6773151a877486b547e446e184f4ce6da729ea1eb5aed6c65a2e2c3b7e7af31315048b7e1484df96f6a25367ff14f58619a95851b28b581c0d93ec02de8b765148a4ba365628915d6e5ad96fd0b9a822b13a709e6b4f25ee72bb4eff1ad7011d8869ce7aec048cd77bc09f85619352ff45bf636915993cd1729c5a5d8cc9148aa93286252df52c6d436ada6494cc37e4f95e8ef1fb2085f01526145d0266742a596b8e0200460e6f3af043c5b6ee71bc731cde101a6862900889af54f2f6f09e0d7c91faaf5bc317bf2def7718b1213db2b6482837cdfa0172dcfcae53b55e8990b306a261b8cafa5335ffb5170fbd100141a966e1492c83721a1a7b3a388506c51d4a663c903698c9b96a56ba9d9b160571b1c0a2d5f6ae72c60ab03fc1ce2eb21439513e0a937b543174c1ce28f2f0d7412cbf13ed9730729d57afbcb7047bb20010f6bb5201fabd19c8799186e334cbb275babe5b60cc461f810b007e9cadf039df1514b4fb6455ecdcb44bbf19dc7e849ee4bcd499d17238648707fa39d29ae55da45a8d9113bd4988a3bd8b8650a6315f9ae77f3f957238217aa8b768a70621a284bcaf5b51b0368c460dc8eb2dc0e58fcc01d1886372301ddfa1d4b777781aeea1d3be2efa799edf4f145cb90c415f2517cb8186c438906ca97037690d5a51d6cb29497a5391c6a2be1bbb98f367679332b2bc4379291551db153bb2269938657334d5918440f787324a21d04e615b6906503d1b567248e0227a6d71fabc3c7abb9599385686745066c5aec37cce2fb0b9167d169c500cac095399cbc6bd14420e063eea483876d920a06dcd0d6812972196a5f0124ec28c5ba241c37be98bd6c115279ee5ca7cf79d66854e3478a086e9b3cdee3f1050f6b75f46df6d6217d2f05a34316888afdf837e1373cdab8077bd05e1152b72a3c538f40cd976f65e25b8c9ed3aa213119029474fc6c1d6c9bfdd99796d7124d2222310f183f8697b3df6db1487bf7081c6380db57b3bb69a7cee47107f3d72f0179be9feef2fb16b8ef5a7d314a93eaf789ec24e9a625246241179802fd9724f342f28d3971b9c389aa54e7be928daf2851948c289c27ebaf6e1212abd6f72e13f310f924a8d8a8b8ffd2351c3eebf26b5a4ae607585ff3f3e35c26359b15dcea240589538d3d89c77d359d3559d7040374dea61a0faa9c960a6df38dc615350ebbc802315dedcd26b52c1e47629e83aa36909aec6f0526d116d04c8934f721faf56fd82fbda3b3fa87026f1bad9a7404826ab00168fc2b8d783c36587196e2efceaa7b01e3d8522268401940eb4681eb8db205bffc2dba2f87d31a7e39e6b8864ebb102940cf0271681c9685508d81b9c1461f06aa9ca60ef17d69741f07267eba18fcb8de99fb02f486a0fe54fa34ec75739001ee2a34bb51ee2afee0772183f7e9fb4b08f80639404145e6f07c92b4bf2cdba29bbfbd59c4d418024427260da6a723040114d9f77eac5cb41f2c3309404f5840be24adfb9061818fda472add77d2153b1eedbeb4c86839f4b4ec097f5caf357473cbd8d17f37b06ecfb7297778d5cdba021ebdbff29d41ddd7e17ef2da214485ceae74eea642df769d772e8dd77e566ec6d3a5e4a6e6e11964e4746d76930133326ebd32958c3a2dff860d0e7b4dc23776838bfec7e2eed65d397c78c1751779b7482d677406447338b72500cd3876398a08a36fd940ccfe832897bfe3add8130782cbb56d04ef8b47a72d0826034a85759b08f305a2c1bf22ea52777a1dacbe260a3389496e18a921f7219563283b9d6c663437e888d76d752f89c4f3eeaf347f674ad3913adb2117f0eba742b3c464da4508412416f0473f8ad197efb00bdcf60c815b53e7461a075667574b5fe52e9c80481a373ab41d38f13dd50282faaf970e0a60d624b9da53336bb952e4ff2200348d33d530aea82feb277c857eb954536cc97fc32141f6f7e5973fe1e0f5d97f65cb1851247b639d39c6ff18de878cfd958109cbbcec3285e72ad3f0d2356cf8fd57510a22d6c8bd45584eab4bc566b418599ac461ae75d275028db54cbcb9cbef1c00257e336290ebb132a9e6a2fb374bb2468591d6d24c072442e87c3138910533fc1406e47d5a2ed12aa3b5deaa62c48057cc979ea5d04182478631f4e9162cadc3009dbc8d062c8cee2741b013c65aa19da10e06571dc2b247a3677cb217bab523c4ddb1e8c3b597c097598175b93139c37391758b2ed364c98316f459d5c858c3fed2f9f9da98b8858f4de16f7cff21e963bd37611b3355decb6080a7699076df07c87280b876979cf8f364c40217b2c4d3101c33c3e25216afa602b7c6700179934130edb7534e9e88777f62e795391626178483a901b9e1d90f40b7094924471a4a4d3dec028e76000c5f42a03f64a6774d2f85a226dc9c83ce14c31f77c42e33a4f3a82df6ef43a7345042e699d53e8fed67923c13f8b946d328f9a08b47a449117e136f5ac39a559b5d31c04a48c836689c77c1772531183b9489c1cd4a3dff8514e03f10763ad53e4acd352c04d5331f7913f68723a818042f94282462c8a301cbe4c3db777acc2a932de13eb88b6e4c8a1df5d564e60edf670f51e9ddf6a1ba81382100ffb61572d9a0368084b90ad6beb97781224218cb63c798276ba2ef5f468ad9bd65951b09dfe7e1b3f48338c28f207310e11c499c045d9cd73e166b19efbd23256cc7bd4ab6333cc834559e5f44a2aab07273c950b6b9513d4ae3ffd34d2a17c061eea354d7bafb4560964e508832add34c6d9520574df3758f49050d4b6b5a2fc76096c6286f4ebf142d7b123ffd3bf28ad1f485d023a80119e55baeb6d3aec91a2ee9571fd50dfadb4efdf0ca9dcf96d6a426bce81dc7cf55de11baff48699243afb68f54b3fb5bbdc0f4b743f481e72de0e3b4e3720e7b10aa659c21e5b6c2e0237dd0645fe80bb152aa6aaa49a283dfc58d35ed07b861edd0a380d9eccc45f29e74098fa0e1d83bf77756b3426f55cd897f45d528e3ac6aad7803dfb63797b58af4f63053e798b765954eab0a40d0a468d42e9b7ffba30fd54ffa210b6b56fe3b1a6eb734bc2b3d64f5e2622b9181a140b899303afce3086fcce873676286e53919ca20e263d6d4553cc4faf24f872d2166e4665386a478fe633ce1fe0b47d16f6ef67528d63f7c061da6fc6161e3241d39d6b80a4603a26b0e49f5b1a764f3a9185b3b9f7e2d2670eee077c895072809a49ed14508358fc2de505ce2574630515c26486a2dcd2ad0c5e4c88128b63f8ed992f74ce2662a10265c42f35cdc57501f4d33d78f5bfd7bee76eeabac04764f1cc60984cd8415fdacbda9f329fdd8d647435e6d78c7e0e46800715a6fe72e933a53b21b40c1413bd9990985418a09852b27e79d443c74f46632931485f6bcc5f1de1f97fae13f6742763502d36b3e16d1d42874002196dcc3864886f415141c4c739e38496cfae112afbb17331bf4c3a6b7dc5e97fe796331037eb726772266047d1ff5c4a59b3d0fa5b921f014b8a1931b87aa1dc8ed47d495ce4da360a6dee530d254356b348688a382800b18c3f778d126c201d407b676a07969b077296b6f93096394b1ba290fa2fa59373f96b8743fe3b4494b30e33ba20498f29637936dcccba0ce63394acd96cb8f14150ab6c6179ae69650ce501d690f0204a72da9937f584435a08a2b2795ba31510839a2f57ffd198439c48d12d51a9bab97228dd385555ade287085ab63645efeeea128b901b58763ec43b4e9ac92f87c472e2d11a87e95d792c207c7afaca30dda26bb2f64ae5a5d3016ffee09bc8af6f7288926866881392a87f715736e74987d26cab4d9519e683013801f61c6aabee26ebf37630c2a0a9774b73e17608f8b07f3fe37be71e712e4a57d4b0878463f172be2ac0f209dd2c4503a7ddf755c9cbf404fff848efd1fe4b3c49ac1ae85d4b7273cb0aff49efc5c1d3797b08126c184ca36859608ee683e21993d13418bcab34101da8083f5893cc52ada23d7e12133a608d2a77d915e90dda86202fe28e9b0e0b7872f18669b9472207388df27fbde2f67eb8209e40f9727d30f7753568005ce253063116536f9d15cdd6dbf7148917e593f2833d2380a3c0b215473363557265fe79c57c6d76bee11c633d55d8cf26d2e759301cd80f7b78a306064f8dfb72f2e5a96e5da7d402418ca101cc27220566c3db1462bc42a1d9d953a108894735267ec940c29bfa1b23f53ac4684075f41859bd5be9772527fb3ec0de32d09536243a2ee832f96dee67bda40f957a5dd12c08960e1f69428e09d50bfea694c73938ebf54a609bb44e186b0fbffc43cc42cbffa931ddaf80b34de671be4e66ba5dc4fddb2ca3a09969bc57e71ea1c15df2eed561370c288d61bb8cec25b80afb60546ee9878849b0bbecd1ed0523973b7b5851ee8833060f7734e20d59a978ea7276eec0c4406add3ccc416c7fe5c85340f118477c380915503a1ef36d8179a02b930a43fbad75028b1bd4ade599a8efc33962c1bd76cd6c719b42a6f6b8373f2fa5b160273b809bd136b0bd045d22d8d83c6fdddd7ca04bd08d792a8bb4efa958974cca077664964b80783c32e3658032b1c6f7eff4363832b1b6c9ba19ded672ec1f23cc57f5f872b995559178381140dbd8f500dd15206e98aff2470d4ef81aeb1b50f123314e8eedd3448b0890aa1bf582891250dbeba0dc217c759e6ae6726f0c6b99862fdbcde75a27a45f862e010cc9a394b1edcfa1dcfc7f160311103388c44625ce4727f6bcd555b332e1427397e6c42fc69d478eb953fffdd1b6001860eb1b9f3e449c4913d027809c6c73e569f3721be822d9223d471610ed427e69960e1afa4046a678876b1892d07bba584a4c4ac55f39d97bdf1d65377ad4c772d4a35f7793310ec0d851c61ba2f627ce962262d03ed40ccb00391671d280c63e6324a61d6ff9738b3fd24c2fc5f094ea439b6f2dfb87e0c4f2821f94fcce9172888abf7b40c339be7f6d4a0fcfdbfd713ca6586b2b4230ec3b17c2ff0702520718b01f40ac9214f53bcec74063124d1f05847acdd3fd1c9a38410724d53f577250dc99b6f214afb37cfaeb7f4af41e068fba1e8e9dd2526c0ab1493f8a6295727fcdeb62c083771d065416d58984c30de03445126278228bd557fef192792709f6fae00202262bbeec3c5c11dde2b31caab1cfdbf50b561ae87ff9f83e6b0613ef4ea7f062ac553fa5f1be1e91019adbad8317928443615b58f999df7e4bb64cb704b0db855f0972eaadf4dac8d8c662bd85a12f6bf2767623fdd032f2476e72ac01d79871aa77c77c47a43c79e41a86c9f1e8c4434ebb58faaff1545a94fa72aafb1bba79c1a9e8bfa422e675e5c2c1edfe767a02f02ffe70b7ca0670b55a72f41cbda0249332f5765c10bc5b7d657b952a1740f7693970d6ce2b2bc6e6232926647e8125c8f7af12e8c0873a1a617eb3b4bc61fab6f67ebddd754b094ab55d31f93b2e3fe5b2750f0cc75723a515061c77bf7763928015d9e3127f5c808943c33a3a7ca1726b48f55cb49f083ef0fe17536bd86a10ad41c05ea2ed31e63072ecc81923f94960d9e1a7b1ec58b45341e053c218839aeabc7c0e69a7301e842d4d76f1c2e352c4e49c0c1f33dc9da61260e21045d87bb8710f0a061600b937721dc2538c830c159780deb512c4b48a1a371d68bff66e732c8bf664cb1785c97226d2f41a1d7b7e88d0affc85cea886400d1dd8015b5cfe1757b7c02ab3d21c2334beb142a8bfbd54969d3da71bb17a4a949c9bf742f54a197941cc10c2cdb572463856e53973ca655f78229d84c3c2b5df7b585fe9fa1510f36adbc87969441361d2d4500d129ad8c5533dd1aa2766cfc0aa019143d8ea648f377c5b572be7036c4b88ecd94197229af12087917681380867643551756c88ee3afe7e4a2c5672dd94ff72fbb02aca7bed1413f14408b8d17e30a8deafeda40aaf9dffb98fa6729b896c27f4de3dc3fba6c40654c97723043b78bb9b70ce5234dadd41eb1b2f16a4650143d1b653bd6e3d0a3514c4c901854a3a7adc2f3b54125e876acc279f724ef5963b8dbcfc4c8e5efd77be1c1edc8c5d78d6ae176c339f1ad47817e5025bc7201a16c79692e95d298654dfa5af821a4de69655b71c9e3e59fbeca9def51f8400abde975a493a47a1528d90b5ae18c9c2f134b4a85d6cae3f1517cd162207486a5a1b73e42dd0cdc2077146c8b0eca5c6153f46799dfe85d457e783bc5144ad2476917d020bae6bf78657f0eabcb23b2a1f4f48b20440e20f56abe944545c186e9e123099772c8e8b0a7c03d34f57313f71faa562b5392f58e21b469f971119a4d249994b4560693872a12d7e3214d49ff84e1859520a63fb5d628a6ad246d5615610bfddd7730ad89637006d455a67ae78fb9df2a49c6dc7cf9188d76c0b39869dabb63c384bd0738578992aeb75a8ee2ec946f2d12941b3c97ced745d72014efc6e85d1f64b84a617cec8afe48604525b0eac764156627c6cc0d6376909b11e1f19b8375f0a712e9d7bb06673333905b118bda7b242adb2c2817e999e72eef7ecc01ddf1f3fed7e278fdd5559dad9f4754cc35304f3936d780bf0a3c160a5161770274372a72dfd9b1979b860586003b61adf20a0d049c590f0b13db12048f7ffcd84b6ff1840543c50facc8eb29eaa5f7ebf5363780abc4d703dcec21ed8c7b94ef85816d6757384138d6663b543b41e6cb8cfd7376b466bbe11045444a692ae371292b4704138925c6f36afe72c9bad9f525ea8a8f3c29afaa9e32072dac74fd753ce8d7b3f228dc463dcbb8c7b8c3978d7f027ced5eaef7e97d03772030c3af9b6a46abcd808880e34c5d61ddeaa02f54b46e1dbbede980eed26bc72dd2ca4f58c4868d2142233d2f6779733e34c3e75d7c016a80cb279c6115172531055f7b0eb2d5f50a7b4b431cf4d9cc3b20fc305b722cf11a410bd0528020f450b7dc89dde724b05e2c73b7fe9d434dd4f21b9ec31f088126c21a21f7ac8637246a1723a1a7980e48139f1e6f6bf11442515d02bd0aa989305351e2ab046d0066620b95b55a08f2276815ecb34af344a9bc29690bf3aed91a374e5b4372d0e72d24ae696209324a0a0e754ecda623991d19c83044c4d4b011f2d9b81a11aa472125e5e0bbb9446a6592b083649336fcfef679a1e7c00cd28c845098d9096543c275b51aefd9b24e75f959da3367cfc6ce9a66a204632f27b17d4b66a40a2456a822641c1bd76b5414fb591f882d7ede9c46603ef36952fe3b0db1ef35bdd241d68cfd75ba1027b84a6b45f92d13422ed40e2063a8540153602598367d6f8e5726d7c65906ef159e436fd92a4a0a2ed05d1f1fa9eaad1e443525bc5ebe8da0b7237ad01fbe83a4b465e8e4797ba0d505d442b8db81eb337768bfb4a62ac84304da37c7b47606a932a3a2faf300423e58167993ab9120c9a9d79eaafd61459417293b8537a901a6fbb2cee05b5ee188b33010a2162ea4d6829bbfbe8626f66ff0ac5c26ca3b0febe97df5d5e3d2137f95da3ddf513bdce7440a43acfbf4487033d62017380f9c5f74fb8b40de31e32aa741213df36659b90e427e3c733858d07727cd89b064d3067c1bf104381246c4c0b2ce5565bc81a21065c36a6884423d3726a0ae2c46d364e6ba73bc1ace5d2ee19d63a4f8b8c0466df495bd6eb49e68c7200e442c562b9b96ebc41aeae1898b08e271145c3ce47de1abd48e940fce5cc72c85a320b1be91a35d07b39d8c477b572d23601d6294d2ef69b2dc73a0ae8bb724871969ee6a600a67f91153203ad931bf3662fa8802566fb6a06df48805965725c7b99f7b0ed248a16f1038d101f86f4516bbc56b3052b9ce73f19f732c8721d0f1a6917c13404c78055d45b44dbdc9f64347e011a7ff0a19daea8ae0905aa5d4d711fab1c781af0bb62c5c4eab09713f143dec67e386ce8d37dda75d940c472999e7b0f4152b19244f31d78fa0f96c74ab7bb94693a663d5e3b4e581f87a07215b9b77c93e3dcdb366e319c9c4194fe70ecb1df0bb75b461cec35492287ac64b0ee70fb214aa4fc1a859671dbf0d34bc87303706ea99dd8172054bc5bc80662e54bfb41a4160aca30f6380b1dee0844c45890a81afb1506df037906c10656724a8e141780f5ce97e906684de333b4a53ad0d3aca27bb5b5a973dfbfadb857722147f1d5fc74802221c9ab234ca162d52c3b0b1532eb345ff6d9560a858d6b497eda8a15ebfed0225aacf0b1b750bc468ae36a6f6a062352b046025068259f7292770d362e229301ddfff9e15c6c1327ccde3efcd0fe23d393de6035f94873455e499ac82840130f7c8c57be1f6d3b47da0cf73441d2f1160ec0f0a0e7d147357ea54ea42397815f56167ae7dd2d4cefd5cf94f653f2eb2f6414d2d7e41de972b28a4a658313126faeaa8505627a3c60ec3a5b08c01aa9c7a86fb6d526e41b725be0a8ffe88e5de5b60060e918d4c9983c34bf25add4553ef665f07cc9034272b5ddb2f140bb736a0f2e581af2cff2d5c87034fb2f56165327f4279af31b2e3289b54a02cfd3a90f71d01a44ae449e2bdecdac68a9851dad1ee5747033cf2972f1d55f858ffac7ebf2563c5a36edf84b2e51f36c2a5efbae2c16300af1ee23729240384420afa095b18ca2fb3454f71852135b9f15c87f1d1ec6c9abf0d06b47f4d43d3a1416f705f877757f826f10e0fd83b9eb2f290e08e84c7c8cfaeb87414995e4f506cbed1fcd67ca2898a042f17c13d7b49fa80e42e70a6062610baf5dd680597a0e1f2013be3df51945ab2a63c181aa11558986184af6dc4f66c04d2b953d92cdf3d275be28f84183c81c0222e71fe19f63c46d78a46da9a64a4633721996a5c244485d583e45191b39b28b2c4f175eafa719c2da1a5d7784455e7a4253928a37a129008213477892974417abee057af03fb158fc4d7b41070c690172f903cfb835d687197d16bdc7b0fa093b7864fa151e36658350699185f69ab572681c3fd262367f05eaf98b75140a9eb91cdc62a63e36a5b8cdb0e641015c2c726b35cd4a26421b973e8d3020f81ee44d7e55d9468c6459311258b208217547727bdf5c61d6ed4fd6d6e5ed700d7e1fc7e89b05ba038f0640c10f3c4f5622af7222d2fc42514ec5a833bd1d218055c6c1ada41a202bb5224190fb14e94fe58972920615ff1c36d5a96e78c80a213d88f37d8129df8d23018fbbbc4e5c4cb35a72c1d09d5f7b85d4c3a5ad5e145fd6bd8b21905ae10f3c353abbcfe268e1b66f72ee37cbc51a653eaa943372fa0d25477d4a51f1d277e9333b46096f1a9fc77b726e69bf235d91cdae59f873265bf066b60a1f3326bab8e5fa52e7d5e49c63337211076f3244973dec3a8d1210538ae4ea5171b17c962c9b3abd0af668547b83726e7c9a3a162875b1e5605a16a06afe2043889e64af075282dfc7cde9aea79872d3b653526e847a2f046ddd95a3f646f25a5d81ce57b4de62ebd42ab7d29a527278d41b680487febb76c978754201488007273fc56b66c9fbb4fdd83389f52872b096c0e19ce992f73a8e2631dbd48546b5dda9372fcbaee2f3aa0a6388df342db83a42a4c0f43d3a1c0049be049cdf8f3ecc27341c07245bf687a46b3be4e272432ab5d6e96f65765bc92fb07f3fcdd337c956381d8ec59f74786a5e8a579f67508c4c74318f96aa98992dde55d3590cbda1ccc5f9d6db653fe219fa12737e262157bdf2587b9500ab34d1cb7dbfb324a6695507ab7d58e4ec58e901cfdf877298015ba92aada7bded5bd22dfc698a059a49ac6c8524ad830cf972f4dd925a720bc37322dfc7137af65d66b406e162d14aee9d076854863d7a6777a7b6fb3e0e165d38ff03f053c58ed0ac9624938058bdc1a92d856bf11908d7ea14c8ed7b723277307398edf1e8c47593817363445e9c50513bee28aa5d26083a8991acdf725a40b9f0d20306e714475ac065af4b60323705eb95d05d1dd307e47faa5e1a72414ffc4157a8ca45bba28f463c4256fe6784588aeef1b12096344b9f0979fe16fa54b01fd1661f38f4935077eb878cb5efe57a03febfcda17f370945d6c133727b9fb343cd0f520e0d4cc38762be317101345f0b02d2e9b7674880868152340239819222069ccf6b15969fccd65e069e93773c1a21c582b8f14a431d80402d70b3d73720d6996faffd41d4d4e9c9e2724632719d3e2e6a18eb4d5d61150b367274ca9b2a973d2a390472c68dea981ea79ed9eaafb07f6c1eb60bb226e572d67202f4b74bc8381a7b48b0b6e4b770d2ac7414fa86c7a0edd96cb093884f08d2722691cd90e35fdcd8c062de1361ac6d5187465be0b3a27add423ca8ed6e507866531fbf6a20e45136edcafc89f427ceb3024decc3709c7cada86310a501f3e272c61b2c65c2f870e880e7e132a12f31ae61a62b4413f2cc1d93db02cddeb6d3724abc44c7158db7f30940571ac21e06122e57a4cfb9861a3e91029482f0edc0722ce6b834bc12d4968d7756cee5cdb113387cf763a993a25bbb46e18fe5063e0564789c3acdb967a8d8d0333af30102f10fc7ec873bb677933772174df66d8e7272fd0424c314f864308a79cbb53272d56aa504269df22bf792ba37624d5b165de64e11e457456915742a5615b45b0ca89f6421bb0478a4c97d0c499ce8f864725a8a5c42b3ddbf6abacc3edf687d31951de8a24e327f6562e8bf5188eaf05e72e1e9db08c11277f296a8476d5142411a4f96d4002ac5904f8319525af75efe44eb75fb1d871c242a61d9173824a9916bc9b89b5541b4f98a48a42dd3ab9f0272245c688b515cde3f865c22576d18481cb3d112873842761f84b6a86592b67772dc3952fc2d33d046fca2fc5fe2e23f40534e2ccd01dc6afa22193e55d5fbfc4047d02f523b1dfdd6748515f0203ffa3b1f5115762eefe235ca50fc1111a49f7277c3bfef179f18085c3fbfb7aa3fcca14dafd8d8452a62c9ff625ea1df90b9723bd9bb8129991dfa1d658d0fc1089e860a5d094be529abe362dbae8564af627281e928213ef3de38a6d2efd83df8d2840e392237fe3a05f706ae674312095756deeda923d5d43e10e10062497ce946b6c3062e3a147167cdc0ea37862e4c8a728df1bcb4c47a88192d24e4ba04fbef524ba1889b2002baf9605f8591a9139272ed711de9d567240518059419cff18a17e5eb1a2dca6da90bf3b8cba19ac85d72871b32a1aeb12bda352fe8b1d14e3c582d2e3ea0309ad437121e7a94d1f390721068361295f76ce6e11db231ab6065acf23680d9afa806a826abe157c9c627723984b79af138673e6f747216c6353ab383ff692eb2cb21bea8b64c27d30c8c3076a0de968c00d7510982d07416d4024fec9d23e8532f379fa12303ef3bbebf66bd651a9c2fd75d81a915bba0a2823824d57cc322b09db68e6ca102fff9f77148b694cdc1e7b8b3693cf77dd72c7710fbd5b435a54ca8818ecae7775b4cc6ef723e971830fccf6bf44a61d9647ca1e68355cdbcee351c6d61fdecda238f40a22ac1775e4666a0b91653f00ac96da7cb154fcf633efd358e29213b568775837919bc98c5adfa9437f9baed00fe753368ceaa515a3ffaab0728f65ebda01ac18172a0e8290d9302ef089e738b2bbea973b493634e52f536117308012c0f1f539b72c6b85ec70c9c12f0869236798035e1a5a170df65bc8436045081b4b21e8be572c2031cab20e7a264ccc802e56ac5d1386e2accb9e9f232a1acee2bdc0eec3172021e1d856b4d0577b0ad0ed9811f5a7851dd31b1b405ef6038f5a5fbd9357a72010b6164ef738d0b755a555b50eddc55e13ecc0bd4ed4e9caef2aa5820a6a3414db079c273d44656cb3990dfd8a56772054828e6049ed537c7aa9c8aaf870136b4883e942aa1048bfa8ac63ae1cc73bbd22033499df520f50335ff6d8f072500eb2052b15f8f27335d0008ceb326e6c8dc68b2e645795da44c237141b0e7e22878188dd14847cd50f872d1dee154cdb7d05008c1847ce3b58c185cf62da16a104d53687ab8f60985e9e3ff3815538b6d0bfb2a366fb75f7abee78e58050719729fcdcf3fa160a65c8db876c9f6805679565a4fda1babb44f678b7e04c5348f72ef6784b4a3d9dc6c5fd65efab89ace2e19fe1f63eae604191cb86d958928d572fd07f55248118b5811a3a3d9f88909f8efa040c38c7010daee672d75b3a26172a870ec280ca367eee30f84ceed160ceac47e49f9fb25dd7351f9c17c071fc1583aca97b85ec27663b80f31dc618c9c2d529eecf8366dcb30ea7610659e9828486af0af55e62e7cc0d77bfbc39a44dabcefdc4504ed59b876922e94c247076772ed1e1ec3f846a250c3f8c6ce25e73d11dc5a88686062d2b625f2860bfd6c3072a4addedc539899b7b88281042c40b56485236bb39ce6572a5eae720a56f4ab1786b715e2c4c24f13cfd47cddb291d3adacab8390c97ee8579fcb2de09d7c2138df7d2cac0f1dfbd2f6d4a80f1c41f06cacca5d34eaec74e8782af10d6acaaa53bbd23447500c82fb30f09d296e01b517ff02cd3d40ad530a683e57da188a2c7295ba595591b3f4d8300703266d734cd043856a5ba194962312b0f551ced2d05731bd4ddf04b6b78644bcba4d9870d8a290731ab0f2a4eb83829997eca74f9e720663e57fd21f39e2185e30931ff93eeaa47bc2e1e8226a8a3af51f03a8d5356ba2c77ae16738770c022e22d032cbffec3aa4278f77dba6a3b445adcc2bdd44729cb2a5cb702d7a9d68d8edf63932529617f328ce6738baebd89c786bec7bc10f03b2810883490bc1219fce85027ad71df8bdff78b831553254bc16f51450a1725253ad2cdee96f055353303d8672a0d719611e03641f070b21f866ddd112b461a46c41c16dc8f7e4ed39a450e226de91bf8d44a847bf65780cb3fc33bf05cc1818bd0dfeb2c26b620eca5a9040f8757cb9e5cea9611115e393edf4186f8a0072cd39db7c49b1d107af98ffba02cbd893c6904822e3b4413e213b8d88545ce9726ecceab385cb218b27bb65020aba6bffffbb4f665a5e86eaf53655535129811c840e6f2d221666c7990c1251b02adda2981a057a038446c5a8ec6a9500189372385a49298b93f9b505e9f7b698d485375485bd6a782b5c8aa595cb29dba2ea72f22605434b7de6209eb7c91b0242af33303da9690c2ae074435b03df2818d572037c3d0d8c60e09af0c2df8dbb730dea60c397fdd2070adc180051855f0ae072bd66d8a2122e6f75107007a26df9d39aa3a9bf3744a4fc1db2d56084ee7b5e72ca65ebf4adfc53912f6200992f4c7c804f7f84d1c8af4d6ea672db571fa32b6e824faa00fd2429665fcfae75703efb097a424d30aadcdfd851a297205ff69672be43aaa13a7db96e0c39e942b2e20639338f2fc0f6df6bebd833748281394472cf28f3caf1b4d9eb3f4ce96494efde18356320c4c4e10917ea661d28b602e611744fee2e61d2563dfb94b62ed711e60b19dcef26b97e9a6be7cd04d09e840e72b071f86b5e7df7e43eeea009dbc4b209aa35f743c89e9dacb89b6943043756078b7c1202dde9a9a8be2231c85f7b2f185d00fef4ea580a9a03ce8825dd36f972aa35711049ec3a23793c8f1fc235e49262042f13619cfe9f3299bd729667b06c97ca96cc53b140a313acab86eaae76538e471fb9d2f5d2ced3b357a2a2e96d722bef4fdafadbab1113d1f76ea53bb3d9449cc8e18c0316a5c75b7014744063665f0a269b4e9c5687527adf7f08e1c78c79a9ae6968de3d4485a17e6dcc104721a33e69e460fb8d6cd5a3aaf91b7a057c6467b4b03f38e53b934870747d620d233d8dc336d53c99acfb627e49d000961a73cbfc399bc3fd845baf8fce53f91672184f7284128624e31085020ac6c66a2dc388ddb7c28059bf68eb84614bd4a2728289cf4c210177b2715b80aa7568b450aad5c81f5b797e4d3675295c1d6263119ee98beaaac769dface66e61ed4a2bebd3659ac4101bba31d74cb0d6669b771fef709b4588c530b14567d2d602ed8c7e5d74ba4a0a8bde1ddb5355d2049f4f5826c9a64ab6708f3c842a824f9479f3f5e0a3503abd8604795e87c46789f2726cee3b04dd05e1e920e706c3760c532fea21f29ef0803e3ddd772c02141c0bca72aa009a9d5d2cd711435281c864880eaac682e8839f8dd5db53d11f6c4c1f8e72c345b7529bfe88ca1ba96d34fdf0682acf6a376556325fc4dd5779d4aaa7a955e06fa4380d6349c825e66e4748e34a92c29180df382af082b035b00d82fc9e7285bd74e5b829b343a47023d82313ec94a18dc7b17eab91a6a70389cc956b32683a965b7607ca1036f7dbd43a77d2daea6d082e75b54d1bac1b5843a13c0797724ff330d5f6df2f40d251a283adfdf821bbc37c97bba36c824f4b285ca0353c72e09b1bdb89cb71844ddfc3fb28f057efa3154431428f61e5b21be5cc9b99f272ab0140abea47ae17e09d9add023bb65bd70fc017848dcad3a622b5990b30be72c93e2773027b61e866a489a5a40a34dfbe87671ce9149bb76765a191db44547234fb9df8bedf8679908d0c7134c2303480eaa30a1ac0d2850d7283516855134ec1429fd9787851c05417f9398448afaeeea53c177dbea6483d7a68678d08387239bbf41e53fc6369700dcfe88eaf63c73fe6cf48007ccd8aa590046afbbfbd0d2952742aedbab63d3dc3095d05128c70e1aaf2efa625ec329fd973ed22671272b1c4bb33f81183df3ad822b26f9374c2338728377c09d0d591a5b179b41d3072fc18bdb023875be348409b28082083156eef7d68a86dc78d8526b115ccd0a2720494f2c3e52604579086899550e4cee5a211bac6cd7175bec11086b63d297e72d701cc5ea1b075c17506bdf31edfa38a8dc020474d9cb774f5ad25a81c6de758e8657bd9c2e2ea77b901aef65416b07db84f19adf4dea03ea6bb98a0f6393b1fc61a5f77c59c47f79930ea4661886a3fbb0d60cd16d0b0532ddd02d77026db2dfbec212f85513007efe39263500ff134dff04da8f02f1c0c5a0c3ebb56ee737261eea847d96597fa5c867ca9cd7e1763135fad43eec5369d5bced943556ac4725a86196a3e8f2367426d02169a8d0c320e04433c7c31091e17ed95fb88692c72577ac7e73dcbe57f31d5e48d725e0d10e55c1ea91c492cfa7c627f27fa4fd172ffedbf6012fa53f089ed67179160892f24d35f2e2b6c3e076cf2a8922dee0c0f7dd28c27a0fe11fc8a8606c286b18a023ea16bb8f6b57de7dfa964c822e78172e12772941cf4708f6e2d3397365590fe2d6b9ea26e797f474b792faba251f1270274545ba1612ae623bce58b0380a8457f4f84d94985fda67863066477b6d372153d4671f850faa179d0216cf3ef102bc9d94698ef8ab8536884b71fc89b2b1d8d96b03a20cd19fb65b1b3ac1e1728331bb65a25ed00cc8d0cb83717057c144d76ec12f527583032a98036221e61ffb54f41ca88e3a8b56a736b7a9ebe2de41cd92c06574ed8474e461f58bdf5e383c8879860aff632130d1a9ad20062e97f181701b5f72329bfa162e94dcbb0ee2bcff0e9835b766e24edf81a7b7d1c3dda72ffebcc0c1e5d74ecfa873243542fb3ebadc8ae740f643b08f9bea433fb788772e4f5e554da08e1565a31dafca15f43ab299d9f35e10c7871640f6939a244fc52dcb44f318c6c98478199bd64c39680f42234756d21a68949fe70771293f07034d4a3d4c17a9963225f7eaf33d191e3966a6d5e7416f96ada9a83f70b0b713f726970d77e7d1245e5633a863e89f104494b410297631d37b5fc06cac76d1a3640ee64615869430be1cd8e58418bd9c737f40dcd7032e223c30e88764d76d62372ffb84032f27b2a237252cc12fa2feecacd39d4db886277a365788dd2a1b87872f0df9046d0041fd1124d8365ca6d200fb2336d9591f643422c5e7a20ff908f1421aaa7708cb4f0cb863a1e77735ff191a8db1d66baaa1b2e931ba954333e5b51078ee0f51d1169ede73864a0dc6f4754b3e4546a07dbf74413cae5e7c84ef57272af2cb9b541fe3d2bffc68a6c01b1f9dcee86d095cdf49508ef292df549d41f1371fff56fcf5fecc11178beefed1ff875bb70df18742159aabf069b0629e3720f59adab7d20c9243f6d4d27504cdf5c9e753d35e65e32c525306b2018815a722ec6471cd069e2afdcc3f6516fc43762e01181c7d909623e3e0a3d068d15712596d3db75e98376680e4a976060a230d7eef288fdc85846ad35ce3a6ea61a0172ea23b4f81c793f322b1c20cb0a7d39e5dd6290d2e2f91e1c9ecfd195f7d79c72db35ea9cb65a5a048f08171c0525857123e9d6b2ecb15a328959425473d588724a21dd6e6321c04c273e3f16f23a9eede17bf8af56fdb3da3616937af640f41da3fbb04c1ce5482c046a2d87fcee427bb305e3e07b133005d906a2cac937e472e91eb9ccabdf546fee33e335b803f54fed57598dfc201b996ac72dea5cf22272f88cd3b8fc7856e7db38748323279f701a19465da7707cd04695f10aa3fa5772ed3d4a537f509074412509f573400288c49e00e3f29fcf5c5e2f2f2022f8f94b3fa7d4741010125881919988fe633d52fbbc7265f0ac0d2004061c7f616bd4727a576729f4d4f881cc5f67af8fcb60360c24094f573cd6a3b2a3fec8cb02aa727d802bae434a9351bd73c83bd15e5a2701e944d8b6ab5b72ba9c52c15e1d9017c558b41d5e6182cfb51cde9fe98ccb4b3e9dce85cde0367482bcd56e52ac7372b3930a275050ec5a80566e5bb7714a977283b8edfe0c2f20d0747b259cee6b48cee86fe8a8689566632a5735c94ac888feecc580acabac43eccac2d289adf3235633a1d6149db3c0bb1ecd901937bbfae754ea480e330431b07254565730ab72133993d60713661c85302f2c69fd064db7f29f4d44d0886f55e8f2e97abe7772500a7a705c82fc0d46d64d5ae3229aa8d2aa5adbd7476749b104032c37ef16720d1cfe67949e9603e0a0f0c161d0814ce998c434a96e27746883f7ffbde9f472a5eaecf140a35ca697b60736d18a394b554e74760b82a48a20f632c3eab0197215e836c0582eadc4d6255c089201e65b0a772919e82ef98f49799cd2d6a33a517a65c6fec61453f0d02909a46838b253a9058d04bb990f6cb35fc7bfb9f37872adbe75563e6eb5784e74db22b7282e14f2dab62857113a685cabc4aecc53a65d7617df992eee77dd0bbc05fcd74fe369e222c74a9fc6e515960b6315699ad254137bb2f996483ceab3b86406419bfef4248e2dd1d26b95ad5b73df6cec576a72184bb0ce3bdfae8060d715ae78483f958518b18cd40b81f1773e645c3c3d0e0f1d7115824fbbcdb3aec4a49eaba3b048e36bc747c649b00f0bb52c03c6ddc2235b43cb265920e7daadf83d3c9236759aa3fa429af08979b2682c60eb9f09907260f4aa339240df6b97e375a3d6a9ec893b9193712ef6b4ac0662c4c85479283b9f3b980b25c218c8e30028390aa3c09c4a31194b452fd3ade5ec74a9c686d1277f1b66ecef11a5adc3f41099c22ff509f7617374d741fef038f1055677b4d97208990a704d0d76cdb2fc44ce83381164465c98b9facb23a844c268caaea1055a919c91ea8e55f07b8070c3a8cee1ea2d677e4c7473524b848e9d4bbcb29a1e3584412611da824c791a14868e28ed4b218be7e009e3453dec652bb16e94c3fc26e6de535fb73461ffc73c59ccb5ba12aca17dd76b555c12930b97c29ce9289672a95a31bd0e93d01575aa8be660cf05edada9f6fc597e0fd415304fd06abb1b11d0fd09b5259149a61213f656fd01beebbd6cfbb2b09d6989cd6cd47e38019e7212b224584216a66fe03713bfd24355b750215058bdf128cdefbc125cff461e72b31dbd6f56bd4310093d1c8ae821ab09492f7914040bc39ff6c49ba42f61c4729c81cc4cb912b1a9383656a8c7c2bfc0d4165717c824b440f460478fce8e0072d39717e1d5d793e4aaa31d4cf3788b4f59a4267082c958753ee3a53a7ef3115fd97552f49f31f1542e193629a14854ccedfaebfe2856d1f15f3ab76e0c8cb31dd056ea8df09651a63657d4e04d674bd0807e794bc7a84bb99142bd2ecfdea172eb9897dc918de4984f1741604e3aaa3d9148e386b3b959a283d8e9fff8ffab723bd9e045b24284efe2787af355a10bf1724975267dfea69c54e34afae6735f727d53699e41277e31d0e6b67e311ab53adfeeb8e642aa7ebb0a8d8dfe75393844900319543a8006a962bd226900f696d9986bebe9a5668242924c8649f42d2e24cf2449d6568fe340f56c2d6b36770258fdf659e85ca46d9f88a452e8fd4a0f72d82a744032fec26db1d26ae05cd9adf5b0d89989239bf3876a9d58d9204c2b4e3a84a7e9ee0d9e0c1fe6f64eb869a0055f0a0767ec6c8e58227e3b9ed49fbb07617aef5e747ce03f924cf3f33c37019dac6e03d24601a29fcee9c163569ccb456b238c43e4a282c2ad251b89d4034444daec063d1460bd9d1149e5cb66983a72f28ad68622c18df17a6c2bb7ed1b826c821a8b8d526d24746c8a5e1f166bf5722c8b8214d5351c6e926fd6e5dfdcc16461a61ae7be7e9d25e2cb514e4b35057273b354d11427d15b71a12223e9bb894c302e45d1b7ed1211ada138d76a4b377203095a031786c2930c07fccb12a24dc666576e2f4b9056bd3d687bde24abb4723fcd0dcfbb3fdf3db9b92f8446f425be628f86ab7a967c11d2dd2a6cb1a07d727f6a9cf91a84633c7c56986831d9695577d81c927ebd43631582ba403aa6ac1615853990e8cab020d852f4757fa2b20c75717a0c058b7df9c3650955acb01572fb8e5376708ac783e1b81de330d975a7d8528f98bd430f4859b5ac3853eb763b7ced1ec27ca95bc844147ac816fef4f759a88a35e79a8c31bf829c9dfa655572c9976eeab1f04d45c880bfe3a410be36fcc111eb5ea54e9ed45ba57e5d300146e489168b8222e27ba0653207238eed7ded1ee1007fe0bd02dc8b89828dfe7c72529ea30a6956e6697c343e76cfca44266d684c58519d0432dd5f453f9b9a4472b35d825c360eed0a9df5fed1bb2d3c8b2afba74f9c65d9b95510994383b4c71ca33d844c4f0a3d7d1d417640eee9846472ee3fb4d2612568eac4fa2041ac0f72a3bcda3fa722b2ce3c2eb4bfafc151d47fc7f40f8b808d3c2fdd839408bb3116a0178cbe3dceaca4f453b1d80e10723d9f3dde3ffebc1ee5bee48cd9f423d8540211df292281b9089e0476ac240978eed3000e5d237601eb6733ea412cb93b72ce1f2907220303569e9ee22e15d68e708a5d591a11922810e25cee5d1e15857255122006ec360869b5ac26837a4100f01de6d4cf1cbd3975858fcc2a5029cf1b3606d2a1d87dcf81bfb0a4891000d06ae3702b7bd9a8a9854f0013582af86f19f09f7c59380903131c96cac554f36191167c3092b71fd43c505009268e6c280a467823694cdf391c5630450dc448433f338fd14e63d7c8e00b835e8896139172b1f06126416238017e38986d4559108d9ebe49eeee060d2293fb4809d66df469627a4dc3028e6a591a24f9b8b051e2d96f3753e6cf83d5296ef8c7f09cca9a7231ca494198f8e03ba12358b3660ac920b907e4490f40a1530eddee725b75e072410d42a6a6bbf1c63074250fe6b9c2251e8b791298b079060e0f4342f279257283f526e0621934dbd4b05dd8714fd7537cf624acc0a8369fc35d2fa516d99672a36442eeecdf8fd0d9360cdc3c4718bd81309b8be4fb2ac30c92e0a968ae416f3aa31dd49f696d3b549444bb573bb52f98ff6664a6c1b1ef1e2d73cc276e4b72e39be2489686c4022ef4601a5268ede24a240a782dde134f56f9cbb5ce744924aa1ba7815686111040ff874a84c77b1e341b21ce29a633ade18b60fea20164725c0cacb156c111cd5f4521d9df32a1958b650b08eb27058a356c0194b75a1572d9a22addb092887bc01d7bc7a86b08fd4771b5ff52f7d23b54b86e77ba98d85a4174b6e9a9b65c7979ffd0eb18a0a01cec4dcf3a947bb54c543726f146e31c72afec6f27bf258110ff55d9bfe9c786a006ee55ed8d8542dc655d29c198d06f72b874650fe2e5d97c0812750e70e1a886a078261f7f7dffe31f84e93b49dbe00553e3ca517ad87b0205a87d279b7f4615038ecb1129acdca7d0ed5a1802ab6d72f6119edd1f8009d6da4732212471b975d32732c798bb98d605da76723174d072ca6aed0e75ae06a57f8cade83f268eea81ad8e50a105d932c0b8e3ddc60a3c723ad69c3ed6bcaaf36fa8a403d64f6cc38e519e30dd40f952debc7fc15699f57287deb4425c03e8df8152e79a1cebfb80bedb1aec1486215a44f7ae23d56bb94f2b50d54226c6089a730d7b66d0c0c89b9926bb74a6d147873aefd3ad975e9b4517768050b0fd7505b252dc9c8c2f21b4d0015a846b201c73bd80d9a879661a728795522b375622ae03574242dd4eb06865ae8bd282d73eddf6001640bcba1272ada8cd161bbc0787665efe19c1ae847c65bca810542b27376795d35ed93f447252debfff50152faa9fe45996d0a9b31137e80b2f167ac2fd9315176ec26efa722b0c6fabeec8101c66994a1df2fdecb915e4cfa4e9d85576be849a5d1cccdb1131c4447cbf7d1a620e13d7326f4d77558643e22dee1e427863a5fbbcbf6ba716010c35f43b2c6c6bc67c1d33ce6eec1d1171dc192f6c80f9ba2a4226e8f1fa72a5da97703dc1253b38ec5d98912a716fe1d7f592be315e060d8b5d9ef3a16571d9d388b5371b5be8e6bb71de9c48b9a1ec0b3f8460447d5519b1343935e7c372c04d7623961cb842c8ed522e6b5920508bfaeff5e1ba8e53a18e64d7c6931b5d9f7816d9cda594fe7a2efe68863a534d7f743ee3001966235ed43d96481c401222c2438d0918cf0e915bb2ca7e9944af84eff757b2cac3b4141ec239fdef3f22c30c0847b61fa54c88abbcc3eb744b58f8e944fdebedd1e2d30138c7df096a726e109fef03bb5da1c93aafcd8de2ff6e25a7126abdfc87431b74d0e7dbd3d072588b1494fa396396db225631b3ff321bf3ee7adb081ab019f6aba2ddfbceba72add62c51951450edeb63c1a692b7e765cc6839f0c77e6b293b361290bc170d7227dc002d74838eb763287254768ff42a0d16cd9a1090710baa7b618a49051b72304020954a524512a8635f19622e6ce524581ef5472a06ab4ac7e07799663f72ca644a6efdd140996d1ab503c1aa7e9194a0513f29b647e7782baeb974aff97215c71c60d4e23c958da25bac246be51bdcdac9f7af8641c819b56151863de87296b99be35c524a82b5063fa8ca166dec415eeb4cb27964bfa2b1528be34dd972f46f102594b982a822740191dba2131d0a125261d395b05dc95ceef8f460cb3a7457fa257c09067cc9cd4f9885404f4741f2228f1a97244b0fc5247296157b7212b0c5fd2453261839a0de9a8f26845dab2bf7398996a2a033642f3cca968b01375976569e617c6866577526560cfe330f92abd7fe9edbd507df9a189327de72f4e3a6accf58a143251cbaa422653ecaa6a5d9e7dd5b7a2b36161989c52fbb72865a8f05e00c78914d7b1b1ded12fcda63d7afeb4e857fd3a5493ceb900432091e6b76183f6172c01e2211efc0724997b2e2547dc1f7ed8e2af3cfad6803c872929175edefb3b46e91fda122d6d86a53519976026d1c7eb6048dede3be34e438ea09e07788187474b247b23f3db7cf3b03cc611b6e088376ac24eb450ccb0b720cd5f25c7ad422d6bec79ada1a6521659dd3b002689ee02dd27e78c044091e720b755194ab823dd745b7ec358e70153868f88c39ef59520bc86ba1a6a8316c21a04aef3c5f95528b70e44d9587cb227333286514825aef8747eca76bd8d7a5420acb75e971bfa12ec41778d449bd2d4f0a722289f7c69f447fbbd9eb7afbe70cbbdfe481a15748df80f27e459131a3e52a534e6f5a26f8b291c2d01e9d255f724f97cee138015302ccbb8a61ced3d67454c48ffe2f8453dd3f73a271c76d7872a5696c3fb609fce67294c3d4038ded50aa61c679232161529a0dac0845ef3372cfde26f3e41c9260e55915530fe0fa312fe2a5bc40d958870aaae447c9b7a050a768594a79f0bba3e353936f8170286e8572a5499c79fe2e6adcbe1e690811067123c7ff22ca2bbe929f1d1ea27b1a1ea90095a873058f46f8bee8cef9dddd72b70ed5e34a544b59c99d568f6c98d853dc1d207c2c2df32260d7977ac8bb0372aeb07018e7e9d9d6d4cd159af7c6c4b990f51a356aa605d5ee5c31a1832dce72969b75de4c710df879eb725f7024941b9efd31f01a8bd3a53a88a1b1e87fe21d19ce35f30e2cfce4d05041efcae45d32fd2c0e37758884fdcd0d43212bd70472b4b8dcee2b8ce74b85631b468773c28a297297566ca60716764a1c7efa1d447240f2f259aa804ff6d8ed81fac7ad98d4c02aa9214ba7cd0baf7764e85c2e6016d0d3b0158f62dc3276c37d7a409f586aaa9169c43572ab78e96dc1ade4701a5a370bf9c11890f507c3f0a3f75e70388fa5bcf03d07e474974ca65750eca88c72ca01579b8a1a3c5871a73708ec911a8963fd76fb27cb3ff36a7a4201a48ff22f12612b3829393b72df8376d356c900a01c5dbf867834bb04398c0ff110efec08f6a52b4dffa6eb2f177f5daeb9c500ae8d8c0d9062d5dc7c91206f41e6f288723dd0e9689bdbc9c14363d1e37ee150049bd26e767bea2ddd5cb06268191668052fd7ce2a9810309ba71ea91b1f97cd515cef878ea33d14c88a321f22fc809e3e59407842995fe95cf796fce1d21c6bdbb73e24b5b87579567d19b86a83bd3a391b21322e384cd96f463c829fdc6d91ce7eb6d466d1d5712437785316a4a97972e8f0ea63e8b2c235dc4946235f14a23afa7fac1bd92e435c000e94590bc21a141c7c2890ad1ddf76b0c1a8ec48f17f76c56391d1ae25722fe3501a2389d85772961026d6aed9019ff854659ada75a7418fd5512b238f4a4b48d611f9dd09817278d8fce38f25afc92f750960a2455b645ef4ebcde67351dd6e539c0d336d9572527903dae1ae6b34e3a8b50b8506840a94c09948cf22c4071a24e93fe6f21e6094d94bc05a4c6c61e067ba28217346f67f15c4b9f3f28221e896f5a0f0cc2b5b3ce503cd69642746d7e175b4906c3de21c6b8c0fda6ba4d9586778265099a76f0b122ae779fadf09907de2de13b6670330cb5748bcd24984eea32619dd626634217d342a4b4b70b8ecb5be25ef63c2f10e6aeaec9375060dd184b11c1c44b050695a7085472c237a23bc397cb2fede156e72f4c46b52e44151a7b14244b7fe6028f1959ed986e98efd0f1aee84c9bb5497a950305b6fb4abad72b86f174e785ef7f0c2848262d6512f3a05e06bc4031c074531727c7b530ae06cb677c82d4572638000e0a306dc963be70ab0455a10a5011957a24da63bc87975edcee86fc372eafe4e7afed4d1c0799d85e956420c95be48a03c9021a1d7229118d2c49b337282feec35a6fd1e36d5b30f5586a9d0c02f85da908559eda86cf083a66e415e725171fba02a2a3993d8407562a13a1e0665632affd34b1e69b55f5b97b213a96c04e84a6602d5a0e5651ef586ed46c0e3ae6190d06dc0e08217719cdabf592772176cb4c799bd312a1366639d0bd8ff9c3ada4c368369858561613676495a7c72c387d7020726c2fdf118d2d5a0693176fc9a2ac514aa3fef28e1eb979b49d4727aea84d18fb75749c1e40eb452f6b8dceb33192d247d79128b47bf6e31e995504d05188b8fc37ef3577d5323d1199bbe05d797989c669e0ffe02e9ba412b3372e7e7f66d69a3ea131c06930a9e077b9f378d25247098b9c4f766f78507b445725fcc12c636f92d57e7f96302d2d20884cd7a61eed4419a1560b2138e88924d41c7d7c95fc49c11d30cfd3206baa7495ce1ff89c8a88f43dc5a12c07ad3b9f46f2e0d9c345241240a94a2b7eb714db116d0eb34b632790ab27705017dafb71e7294e026693c7ae30e140d3daf47b2b70cb99c62fd20175c4c19401723b270541cc9a5ac42a7e34e504cffef24c8d55efd58cb0155356e7d9caa59561c40d77716ed25d9d708074dd793e168072d8e6b4fd675046d64d3266efb1e553bc3b3cc72ca1c8a0b821346f2a50963f929c4215d5c4211f8eededf21b4e1fffb4c7d0c1fd3c9765c22aadafc0c3a52ed26735f98fd6670556fe25f157cce4e4ca66769724c00c3972cb87cd846f96878b639a2ff96d9b9dde28842fcec755e1e5e6f271828b1f33978a4904f1c313299c8488263d5171c53e34835d71cbc5a000d63e81b1793e6911d101f7de27a4855eb7c5996a84424444178acf2871be80772920708f26f2c31961bd61a495eb4cadebf26583559c387475b6d59644b929ae6751f3b74a10eef97f0d0af81eeba22e0da7e79327ca57676f6e072e170273eff41486da0e978094a88e273a58701a35b5a1afad6aa769896a2f99c812febc734af1572c21aedda1266ffb8d8da64f49e866d76b8d442b27d7967353c99d516eb319e729e046bc42d2397eb031b5fe7bee2c52be3604758ba4ad698dee0f47285d7836673f6c935a34fb97caa2251260c979debe8d960775dac6d1e60cbd8d777ad79538598fc96586f5fb36b49bd80b8ec7793702d687289a7bf7aa0a23c01936dbe70a307c71751e86f078924a25135e22b645c9856ffba3a9e3e0ebcd26874229672d9dba48a83560f3f7995d354999c537c2ed298992226dccc1d87094cb63e4e72ae6f7c80b25f4429bc3656916691f04f3310849fb2df121c5cfead7abe694a0e3b826d896868596fd564d05746c295a88eca07eed7f6be6fcf1ab8b68dfb8872a182bb716547fceacdcc54058a09aeb9d52ff3658e2bd56e210e522456c9f105d7642e1dad763724174df50a653378110928783275d168424f0b68b8f0954872a3a045fed7e281f10ed1ffd64c1c1079f68718d8236d3a804a20fb89a9414e2443f16c6b3b82d1c700c4cd3fe2ef8eaf25420e9de78e8d2ec36e8d3622200738b72ce19744ebc4f6032bb69ec9c2146b1712318226916a1cc6b4247e6104487267ffb7bef7eeaacd459f2328ab673d1fb1b06f5c60de51e22672ccafb63d14264e2ef4dd2390c341b274028617ee709ac0acd3dcc636639604bfed9384dabd72bc87d1fd7722cdd99c8a6b1c1e93b165654acbc54158e1a4e4e6b7af2818f37279046ad9fe7cac3f3c7b381e4371d0e193483bbac67aa94a687b40ba64e42872fa9d9a8de50529d495f3f2a8277de4c311ea159952dabd3fac9de8352cbacb1251ff8235e193a413232c4ae4dd861dcb2400dff247fdc9327d9a7487d9cb0e70ab536cf31235316156423db14635af7bf7cb52e4bcba3faae284ad28d6467c6e87f1c873ebde618da78bd3431c8c0faaec681ecec13d3dee45dd791f48d55772fd603c340316249633da194f24758f549e30f376798b1f441f8a9ce7fb0e2119b0816d1cf2cba50ff383e46f62e8a9b8040e599abb3bea6866fd21208d051e722512f30cfb5ac8f5d7bc68d8db7f0c580691a3108b6f4bcc536b893afbb3ec72d8bb6ed4309a68635dff02b4cf11b6d06e10550d8a728564b9adeb8313c14a723b8a29e41f1cbe9b4d25492c3e4099a3cdd59836000f82e53a92c8346808a97245208ff5694385aa0884bf5f390825836ffe25fef8102922b43af67204a925724a08435ac3441c8a296ee2bc5c2b8e716a75171843ac6a2847a7676e8ef73725db9a56c13cc8c316f5e9e3f16c155ab303dd10ffead0407af8fd3b9a2d4bbd052a3d201031a88d9fcb37d53d40b22565b248b4462b9103ee22d1d683a7ce13720ff6bd5b4ce6146b8d402020c1bba6f712257313d682eb27c26227ce1d490d3c4f56905219adea7115a9b99724fe52ab81d6f743eab9abb56373b88765cdd64f7c2bbb1052be908594d2f0145572441b7a9f54e0dd35391b2b7f5745e67dc472752d1dbd51a60ce2c06767344f2126ab20fe51248751a9c3812495d76ce2ce72719b2a9d45eee4ca81745457fdbaeb2be9af73598d95ed63b6179a89179ac365970b41422047e35e1e01d5f9becf259c28b1b992bccbe41a037a7048c65a863dc4683a040439299971ffc0996999f8d534b2227eeb6b2893d2b2ace9fd64e472d0be22a2878db71634a5eca080ae89d17415542b43082890f48f0c92c26a860cd7316072e02c0476516e86d0054e12800d702f58d6649862be68ff1d89a6b272e492013a2e3391540d36a9b7d0b909ecdb3d6c2ade040d39bc35ce992d204c72e8c1a1bcdf1f8d3ff295bb9c5f42a1c8299ca20c75bef7f2241b20de3bb7a569526d5ab3aff358de9889b0ec8802ff240c286e5b0fea17562e7e533e8bdebc729494475bfd06b654ac0e6be161a38ab501768e60bd97106a35d2274279a7ff72be7edd321dceec8ee40bf36502d82816e6f508ac797fc26485587b2743b726729c22e7f4fbc84857ddba77ba0eef2bb18f1f1f1e5a7bdd26def05942f0813a321615b3a73edf7d3bfd78dc0b4df04aab88f3ac693542ad9726eb769841335272b59da52e702479e447b06d2f80723527d5e276dd508f53c7a7466bc757da5b03064c7ad1922c0b7c59c878896a2158303dc17a04d0ba8d0cfec59eec3b88053c466973ac5c4745ce7970a9b920fc42146c70c5ecdee720f82ddceea346525e72faacb47b7a0608555430676d7cc22102231d5124d838d45c6fe833ce4f78e069b90fd2ccc5912da6210a125ec1bcaa059796ed5898e017acbcce193de6df5d1a767a9eb1af226e0d863821142eb472532ef727a007d0569118108ba409c9d972a9a0be929b8473b9db4b87e4d754cb0121e9f2dd487fe708b64b39458bbe2e72aea8ea6a6c9b92d3dd30832186777cbf8d2d61cb80d6f2f07a052d9f76be087209e78e48d39ffe3145a193b3c33258322b425307acc185c099b3030378d8467244fa20e2d33723b1caaebaefdcdfa87e1a4651afb212726486cb9b153448de191831e76d1e4adcecaa77668b2b687f0503bfe3dab00f79bb224c723706ddfb4d662727d32227aa396b0a5defffe3c2965951b195de471daaddbfb0fc79bc6572c3591d988350d5e7dd0d8accb23b2c21bc35cf66da2955b259152f0548252a72fed3c2e9b0182539f34d28933e88c01ca4e680cb3be7378462348d53dfe0df7281db1f2e22478f86af6ba797d50da24dad0a61c950e761a8ae761c28057f67000ce693135167c8783c2d2a105e57a2e20c018c008bd6d4ece3cb7c1a090844234f87a761cd144373deb2aa621e586e77ae0e5146ecad6c125ed9c9c4b6353844cf701d3d95271e99e13b82e084c776867b82516bdf6b4e819cdfd2c7ba3f2b729d09c2832c90a54ffa8443eadcf9c853e0c3c8f953b00cb2b20e862b4149dd54e541141ed628a498d9833aa8453480d36787581f81a52d02b23424c32e3090309e800177442d1d31f519807d5b2e11ffba530c6620945b73f3f216f08bec4072dd403550466836eb484d9b08d96e10a97ca30c7dd1c28f60566a1fcb80d00e72249fc72c6b18a4b7419170fe1ba64ab7394a2c7ec0b25ba345eaf5254cdd3472d60a31a61825dbcc93324470e89e9e11b6a5483ca8fefe47e80b662691b97c6bbacfc9d8a2cdef64469f79d5a8fc04f1bc3c8b7e2a23cdb22969cf5bd55b91721485e48266fb6b08c950ebc49b01710cb4b5e95fe3f4c8863fecc97b32de1072962453f22e01c8b60de7bd6fba90f150215e01ff521203735723f3615c4eff72c835117913c42aa03a4a33c1d7e5466ef030d0370a48ed55c2c46d9b0c3efa72ceea2cf73afc83816aa24a3aac4fa3c27e8ca0c8ddbab7b7dd1c5525fdc508618b0bf2f9480c86042a980df0c7246103b661682c668017a5b8b950182ccf9f72f0e653f5115a0c87ef352db8cf21ff01c39f1220c26d550c3bff48a4af1cce5e54ed673c02da98fa97d9727e2fa217f78947f0c9775573d91c9318ae281b5f72a2127ab66b6fd99033dc069cbdf7bbc4647dab5cc3b81f4fc03e464e96a10172206a6d580dd19b9ecb320c8b9e1071340cb0528ccd9963bc7bb4b794bd85fd7245b15f6cc576891ea36af0f329813ee2710380d71b804082980b63e627d587407954cc5a0d8420d58432d719f7c01703d833fdfe7900a7c6aeb76e6f6dc07172d23d219fd9049163888e03acf685926e76620e94620b94dae3442d2a7a2b892d68cd8ea06f0a70838cc21f5a8dcb2a38ba4864806afdc1611ea0ceb9a7b38366d3211f005bc6092148d7282f96bf35e3acbfdc1c23e47bfebc1d50c27910cd149be3884b53c7c8e83cbaf2b11b6c739ef3b4f5786f37fd62f2fe5fa6009f27723190e2f5f93c454b17873e8df6c5dbc3df40bd9b482e0f7852fe0d22ff1e03726f552e3f41b4dbc24ee8bf5fa4bd2bafc2f81b70a722dd011e03adca60fb7d728d246599486add62062cdaa51d394625b6b54d9d8cc3913b5861a62e17901272cd29b657b83bac1bcd42ce9ceb553f862f29f14e17b2b07f8ca3a2ca5c262472b82af28f47e730762e54255270cb6608462140e4f52d5d61d3acf3a08f3416358abcec3ae4e730196d339d24d2dc32692fe09a67d3ce50cf87a125bb4212db727bbaba56d098ab86f21bd96fe563eb5a46f093caa9a53be0098b6b67b7ff447216a26af84d636d05b68e0c645898e5267a78ee80b94bb2315f61cddc0fed745f82b63b203e72611d023b84593d7683edff0568da4eceb2c2e6663e0eb5c10872b45770d59ec740162dd2b6895ce3745d71fa61e0cc55869654fe67ee1df57572064ca61177ef9afab45c6c520928fff18f1328b4c7f4057bb0386b7165cb642c6bf6031f0acc2ca1e219de6cee76f2d2aa6135d70aa76deb6a0a3dc0a09f144a158869851f58ab3b23d42b05f99a9e6968ced459d2978498ecb4eb97706fb14bb315940f0c064c33aa1edb49e5363606d583f14fbb1c024e3f5d0cf056f20237110c814e673c7ec1117cff82529a136bdf801afd76406473c1810852be0aab3afd499f8421f1e465b586a79b02542ddb55dc066d3c6b120146f93ae694eeb2175a97b3d7ab8c0f187b98f85bf89dea464d28774377051726adb29d023c496a72842fc25c0157c7a18ec4f1641b4e1fd1da029992fc603f5850d6d58f64864572e638cc2368c1d04e59846f089c3678f50c1d88faef09cd612244ccd1eb6ce072cae4d456bfad692ea66c4765003d4a395200477a3e39799326b6268254f0f072810ec30450050984c8cf890c013d563815edbdb67a3516b97a05d215aa83d8725205af599cb37d2218c12dbc888046b580be2fdbc16e11ecf2bef202a9cc853564a3dd6a5459b4fc7029c17926ee757b87d15746e49c94e9b5635e6d94f4896b9a02ea67e4cd6e785008b80cbd3fe056ca1d03dd85b7d529d1ca67851521c2726f759036b883c5322f17e718675693dbfddc50a6175e7ba5431ab803120abe2978cd900e5915b95cc6cf3fb75de25feb89c5e3379e6d87694bd6707bbfe01e72f4b791c25731d79012d36549a13f3d445875f1b27802aee211200f0e9c514f0087bb1aff6433e656f12125aba7dfb81947eef43169b07d4a97c6600ae14e1672afb58bedbe6621ebae5dff8ee8a71d45be901272a2003373724f4e0c2976c6727416f38279d4d42aa1fc9f2c21941dbea0b3c4d3bfb3088fa98bea2c291e093b27d5fb04b677156b303288550870e86b8d5b67be7e13d699872fe63193710a725542daad9ad4651ead893c76b9921562b1c4ca589236f189506ecd7446548272dc4f6f845dc171135c9fe617a5ce218b4c428dca95d9ec720d035468a272e93ab00f9a4eac6797f5c987a0c36798f443074ffaa8405ac05fad292da4d4c94372840e04b2246450475ceaf1fb6e3faadc1d33bb9cd7476f24cd6919c1977f54722fd79a3a01986bb48f21ee9289e378a8106121c69058aeb491cd7eaae8aaab72412d12bf4a51c2148a1ef9f8e3ec5de6feb479a81bffd0c42c464b781b030560ba75a45513ff4f13e820df2c7dbc105b09fa471dfefee1622773049d8359197236f02361eb89ff2211cd0615f5cfc1853b9d50bb20ddb20b0c749fc25e0d5972e10e347e86dc83daf49c9296ee81831af0060688ec2dadaae55bea20a461c872d0522ab63b2034d811569393c15b5692bdf05909efdf1ca3ee20a3c455274472063ffbb17434401263618cbd967027e0777e47db796d63e3efad4a7dc4a18b086a219b26b4d06b9af27764d8652ec98b2d715fdbf5f3a58ce26554912e507572699355eeb1486bad4c572276f92d8fa8721f9f8bba058970de0edbe7ca5c516fb55e316e8fe8122f254259c37e105c71d4928fc3367dfcbd4d84700f12e27b72014de1c69831aa94ce437fbab84f51f6895598160bfc68249b38f25a239d1921ef8bcdeb4bca5706d932ac5886b2997c738df68c218c7b305ecd6a5c30b82c7219968381724bb8cc260ec0bd72942655449b59d4a6b7e271b2a1bb5aab7915332cbe0eabfd85b4c39cf50c7562655cb06891144ab77debaa9d569371c3aec0728d4ddf5b14fe066a7fcf39327ee8b12bb05940df4f69785b86b6aa43ace46e411e9d64568db50da152d804c957b4f32551fec4a61ddaca30a11f0955dc403672d797a0638e0766a9393d80a576afa9ce876d7af997a8bace2ea82d3ac9ad8c727746e7d6fbd6edf967ea924afca4e231629aa700e45b8742ca62fb78503b547284aaa17c75585614cbc2cf7c98e60e984f544a1a74dd26a20d1466a92b7ad572cfc9a5f049d97b85c892f78c99564cd713468be93ee160d7a260211951642010b07ca8e0d7b6a69cc86a4838cfd24ad509ef80c7221cdc89fa1cb4a966e46729758fdda5a784fc43f183f2cb175068b61d5bbf921bfa726fe8633b8ea554237252a88120d2aece89f93871f086ca160671b5e6a8ecb4346e06bc414c21d9a6728c702bd2a56c193daf61f1e24fdc50dddea2e4931b5356c7a1c7d4b85aa9b70b51504495c232263e4955857a14769d70532932edae748bd8789efaac9e54a80556338314a1d453a43efe89ec58be0e6e0d7d3c2ef08cb11561684a3e5270b372a3e4844fae6d1b7c7d8c350005e4417ef31a773f02f8610e4148441d7b4cb56b9f417ea56fc112fe301933bfd2b1a531833bf7bd9b4bb92af2e380b8a5337972808194a7100f86b429d486a8c9bc1e80bc83611a57882388bc2b4776e9c9447223c2df432d807860b6a12b09974042a24c4b2d3413745b33e7f6add28fdc4e724e0f8824ce71777cce4021e56f64eea1d992859893f353607d9c22d4f7712a72c5473e88204e7e8b1063189a92b9c0b259c2ce6847b277bedd9c5586350f8d72502abf0c05d381016abccce8c9814e3252973ed1a90172f3396357f0d248190f25f2aeeddac84c72e057043c67404c88121f00ab462ab69f65c11d54fde6f272fca0d764f911678a56768cdc129806c02ce322d02793220f654a039a567dcf7228ded8d6c1d4cc9c933748eac9967dfeff97632c8b8e2fd6fc8932b016b00d2507b62aa57d70862bbfd8bfe3f01e25cab18bef29c4995055c1cc594c913c7a0f9ee0bd6e5d5df0e0eb96bc53ca8290c61c4a33190b7e16a7baf65133509ac5635427bb71b24c1fe19bd8dc08397765b384a04de15c1835634787c9281b351b5bffdbbc45e02913c638b521810cb5418fb840dc3fa9ec46f418398d329cb84972b10a8530943573e031f31d597e3ecc4cc76a0a998123a07b914aa74d336b776f61848845a1505497f0ad471edf7a268ed05d3b6769912225c2ed075e3d63ac72de522e4f02e2acde514ed62f7488238d9bf63af87071f219f4f6fba9f530787236b8cc3d4110e32cea00480c7cf6e49506f01230853db0d6f2cfb7d5ac37b472d99114e5a3849011ae6f9240783f015c749eb9cc4109bd1db578e84f8e60902a509102d43175c72af185557e7d1e07abe5f549715f7f98e00699e557b41b04727a076403ce0209b2ad611f67ffbe2fd12de08fb0be6292112e1c432e77f235682bf5b3d4dfd3be32214fe4d954b77a022a241e812b4922d4957f43f0f43e4172119677c4b5bed85f8f5768358cbb2b1f247d83e88caffc49f653842f52f0e6316f442f04a2ec26350f0cffd9e71ef0a22d3e7d22f44cc348d838e9d8f96f2e72874e52a543499e711fad11a68d6f73cb40b6955326cb8df35d64051b1da8c67250e9d2f57e27da79eaf8d6bd450cb3c275e4bc73372f50f41f59714bdd6ca672c1a08b91002f1a25537c1db4254c9ec2f90b35d6f98ffe1cd20ea7ecdc8de0723b3186ced6398ed4ad2debb60c2c7aa6d9071c9f87cdcd3fa30a449aaaf07872a3b770652405a7dcd7029f44a70a28693d21500e721a47de73835c4090acf37269ecfe1a9c8e4d58d92befafd0c28387b9e0dadda4e27ea38d8ab9c99e90a872a65b71c6198b8451d668e0e4e3fb1da7d4f723ffbe0ca3ded1926e12cf6e7b683a47f2d7596e4e27b93393daa597554d9686b9cb57bb9cba35a9abd69b851a324522d515a86120f4a77cd24e7067e1c870cee5c1a77dca346aefecacf3b60164495ccaa1b4da6b4f6b3bf6d9119f96e2c9a06c6a5fcb5a34d29eef31846dac11bf5ac5cc762081ebf57c9e70d235a7299a49caaec7b150860a42d0eeb970715872ddcf3f9b646dc055c5a2223d98ef78a682e9f45e0cd4885de5bdab70f304723bb9b08bf47be8a97f57489388223e2302446cb9a90d8b76990267d9ef9c5c7238797376e4001960f667f90cfba5b0e65e6d126c15fd6fe26b868461cef15572f1989edf8a4330567f16a21833a81b26413dd888a40d49cfea3d9f22c081a5729f7b6d16d7a1fcef33e0758fe3483c35fbb7ce4c3369f94f6546c570101d97090cf229e76405ac974b918a60edce636d97abab42153a8e9f20896d35fc392b72715c7347d8cf111d01e0397dc659f2362930693eb5e3704ba152d37337da30031164b60dadd8d1aa10d275f39bfca0b636e75a613688a33a411199dd56e6db5c4e47fc79a375cfd628d8e9458ab8e96d4d538a185ab86b01f1dff582caab507231167fae9b9a3cc322b13226f959ddbdabc22817af6c9551dc3e2f46cf67a02ca1456a06cff0b9ee63e24391386902b14fba2edeb1201d2497e14b3df171b318fc5b7a1d76c0896a48f7d5ea5287d2dc9d69c67a09878687e604ad6af3d972430fa37e4d4a91df4a9fe6099a773748ab460c2cc6a5bc2f6deeba7244d2471a6b6efbb7955bb762f86afb8ef909a07db8b45582f270b6cae230c4f51e29af5851e1ca76883fd5455c1c96cb56206365e5f754f849a3cced2bb6655c3195eee472e88cd98a2af3e452a1d0e8de153e0cdebac26e72d5be9ef381eec93e5afabc72bac87d48e4064b2a887a9e03707b2332524a8a527d71428fd1698d06cc13d672bae0dd743c8dcffc60f45fa9f60102af541bbb1c6549bf08f9c6961d70837172f3289948333dfe0cde3ac6b3b025d18c2387fd10e2660eebd0b33c78ced72e725c76e3979b7fc4297235640abf2e12182e78edaea5f41edcd5731ab60216e272e901201adb6517a4afa4dee78f980cafc7c5d78566857fb5d531af9a80bcfe729c77807cac1fce07fff6ec6254318be8c27c90a240c573e2383d29e9820ebb335eee3d554f21f3034dac0ccc119e8367eb3e1abf55158ddaf32e04b743667a724f59f27c0f670bb0657b02533fded5044fca8c14eface273a99d933fea62580b8d4d17fd68d1d04d59ce94dca81534e6339dc5ea7b4ae3db5cf37d7b384ff6722d6f0e4bf8e2c1acb50123f29afe48ef4cf669baff32dcf4a35f3134ee6ce672f7622deb3a209934ff83eea456e4f23f8bbe01eeaa952b9f02c50ad1842dbc028b3f1ad5a19808a66a29e6d65e30b7c50a2c2ac4fd46d6a0431d419fa4132b2b0425ee17764afb6de81da5b267205bc87782155a915cfdb4449a328a7bb08272daac3a668d190bf2a7d6f611f630a48a222d173d04dce70e90fadf3194509341c320e3297c5b787d1b4f02760ba7eb7403ea4dbb2a3fd9dcc81c19a92d1ede2804801b6cba0e507587f45dff599334a3ae068462192a0d1d5e4cf77bda3d001f194afc1c528cf514bd226958b18953766793741a5f798d750ddd117c535dac72d5c20d459a1050e3ad2f3678997ed54817773fc27e0e3ea501ae212c1eebbb7253c5b5199cb5982016aea7b4ec961c4292c5f446ab4c7f605a7038c5edb11372027bb1b8b733b59230b500210d0c71b5dca19cbf39bcb50211161101585f3d72bd5815bd5b0c49aa234cd681f4873234f27ca19aa6d65cba8a5d04c42526b8427c4b3ae5cf62e767c64f50804bca6a634bfe62f9e6949246981c4691dcb60e724d51a18a4635f443129392530d56ac25565fa8e63a6556e9ad3fbfe9b7dd5272c6f6aab88377977cd47ba245aaff3d68042838762e9f0816c7e047eb32562c723a14ea1f1c2225d89a4a14635ee44818d5f0e8383fc341d87bc230db7886e9729fc7ffa80b63303b4a7c6a10a85a05a69414aa7685cc4f64c847f4b562047e0e75e8dfaa45010bdc6dfbd7eea001ac18737933441357e4588528e0b64f1eba26db46459b008d2ed3c7b35aeabd1bfad9bce558dd86412aeb779bc7e1e082483f0e5383c948de723b716af795b377ff2e9d0a5bf7e3c26871035cda70684c46606d5d48544213150e24bfaec343946fe2e6c677cf251c09a7b6d1914db41f4803fe1265a25f6771943f4af5bbe818097505bf2928795695ba824ee3ea53939d1db569df8aaf9ef770e4d93ca59a253f1815370ed83693e87ed0e0c6b5d8a7f97245b044e4b22f395da55b4fec24a701441566ad5f641647e76c4ab477c58eb77265290a283c14d9d56f2b094ec6997e7bf33b46c85169ab4afc5ec32120f8c072ee04c02acf4553924535cd89b0bf0e0bdedd28e735a1df964a718d45c1e1dd3d024b22114d778b454f7d0a1bf0f7ee0e3d5e634eafce6a385997a09abeed2468acf3844875c79d16b2ad3c194adab9a29d57c64d253a7b52db170eab61129e18c2589023d7ee99ad4f00329396a3aea76633bd19ec0f3091a150f1e06661ac72f283ea9d3561ec8b85b910b8f6902338a356709af834b4ab77030c7d1e8e1b726d94ddf065129eb7f2b1aaedf5dabfcaa6054307cfdf2ddc5916d42f340ca8702fbf89b5c718c244a6b58dc2716073132907bbbec0770f5a13db6d0155073e723294cf5498e6ac8ebb33ded164d0b58de8a1fe0b8b015f33d67a13c04bd0d22e5e43fbb13db943ef865ec8502700a93c714249ec592557b3d5044e20682f89488def1c9ff2d9199cdcb35504db376648798b29a14b7df7755635470b2dc992728d747827ed3068f2d07ee504a9cf1b75b20bb73bb68edb18e0e617baf03dd472e65766fb00f621e93f6e9a237bb9247bea332b493791cbc961430459fc28112ce95dcbc94937d70cc712d83a28ce6691f4aa7e824f683de329399721e5c8305aba54164672b8bd293ed2f4b12317e1ae8202f2977cb766f1c30bc05f42b4fa47ab9ee883aff1be970ff69e3a8cc1e8ec2b828aa7ca41f3d95b38e0999dd68a4d2cff82c0500b39e53a363f3e28540e5dee085b5257292644120cd9891f1bd5685f49fbb9798b8f2df2ef91706e2de471631ac9d9be551b23ced02d03ed8fa2723818b2a5c616017f65d68a9d67b16b7472915420bbf10d18707946bde8eb75723036360b3143a922ae70777c69b91b1f07849cfa38580a0c3c7b5726141c51725bdcefcca6f62903e8bd367c6feff4fa2e4d2789796c98dd6474162a950c7c724f59e8f2d3d14fb53c2f1569b4bb20dcb6f969ce2abc692cab710022670cd56a801495ff40b3a1fd9b04401bb52df359b889c31a03472c0e3ce9caba048cfc69d806f71792bc35e0db378004eb5370e2316f56d184ca8ad0d1c26b1d8d6a03723d0af6723e76e090eefc438ddcd5b4f2614229a247dbcc8a7e5e00031707987229e15cb871975733bfbe63305f1628f5ec3fbbb5329e29aa26ba40c6d4783924c583a4b58f0cfb45bd9bf5ff0058a0712c15bbd5db831715165ee675386b7a3f61e6d7eedf3a2088bcaae6cc27e518314aa07739068509529fe9ccdf1a77e772ca1805f80f8ae3224884a10fa815572ae019a0f7bfe88e3ddb71aadc09226c72c36629a2991f68669791d7ad47c62cf45c7ee09271a084d5b94d4deda5d89972f7eb48053be41273a906d1767152b33e69e94e0f5a9babdf3db89283c9578272236478b04c41cb7f21aec94d8bc3e9c832ffddf4e83ce4ab33ff3f483b13f472a25f121b54cca9fef498af4066fdcf4dea679632bfc06d33f510c490f1682472cb7fbabd653985dde4ec704774fb8ccb3bc3362aaf788f88383b50a7a3dd34721c6966a5e1493ad34aff0d2acdb584ae571ca2cbdace8fd39eec8d9a4c5337721d59b3cdfaefe8c64e6b7081ddf87690f15c97a307c7c778fed0f0039835b8729c8098a5638375c1a46f17ed9098efadd548d34ff17f17d4ceae2e3a04e0810017d22a7bf77ceac815d229682c01409b5eddc9a49550e013f553c26b1c7ba72c4119f6d2d0411184ef30226419ab1f228343a6d61b981a22206cdf440627b0723c6857ac7e9ebab564396f0fa86f387afee772883d63873b00c654555d406f72746582bf53e201867152c6485ab3181ef5761370e089c3a93d37c410457deb72142cadfa223a143c9f4e19beaeba4d4936442a4645f077569d6a150cf364825d5e88a02e689c658c41396f933f538025bfea54cc837637ad28353f002a5c0f724e4f1d3e815da506fd994e47b1ef1601212919b7b63a0b68b85a25704c09967254f31b5cf6476439311ecd5873c962364edddf7191e383cae3dfa33c88e6ef7219425878103fa12f609468d837c59a03344dc8ed34715de07040d88cc037e028c91a0dc521b42953c4cee9914634681e8168b54fe7e60cd5e03d503abed6fa72804bb599d4308c34ba4c013d54737dd7c34e71a564bcf3df0d38343712285160360e52402564055b634d070d08e7cd7a408d47b4e96b8a0d4017c63dbaf01919d8c73166134ebf237d7bcdbbb6ac115f4b92b3dced7f2b348b0796279a23543f1bbb06019be4290bd2b55b67e9f8d0d0dfb370f6a95f8dfa8557a4ab7bfef9720b700761b845541bfb278148d97bfcde9ee4cad890c3d4319913a2cec9923a72765ae9b383228e9694e48bf83777bc0d5e125bed50c83885923279fa11dc0272e4e7bdaffb5bacd3e62e7072fbe59493e31ebb7721eed5827f4240f01a3e7265b38271eb699cef7c6e83d3860c2ec3e32f4d836becbaec643c38eab1f9fc5c72b61a57a82904ef8117cbac3ce6364a16e7455d48ad3718f288dfc568b3d92a486acd97c79b19d42f2b61b0fd893a8849210899aee57da1abedc6ac86b189547231be230b2b980f041e311cf5f544925032ffce4dca2e9ebc99c2b5c42d6263728b7e3fd8faa91bb77c806dda8cacd9251b70742152cb95a94f19f162e068b472d3010a7f5727e4fbf8bca080c67360775faf3aa4343249ddb7d3e296ca35b672de8d5b21d719be4343ef09a38a7f9968825f64643d7a652792776de555643e722e82ea2c11b84f244ff27d06169b330e68b057d80a8bb38223531318c4a4374060b181e4f1cf389b067d8deb9611e58bc2b3733a410e7e7ee0eda57ad29a04728183972bd5358a030f95d4311949989b68f718450e213dea925c06c72158f372f9d595c6b5305500855da040d51e2668c674f1d83dafc48163a32b204bae8b72a69299c1e8b71a934a01c00aca5543eeb569972bc43f1e393b35e68bb47a0536ed8e60e719594be3f2b0d65ebcf8d1b47d9bca1a97027d6497a945e05e17b272c9a9de5762aa3ee473810fce408553190db21da01b1d548a118b12254934236dc6ab80303f50515e59f188f887ac2f9874374db68d07e40eb14016f0eb4f0172bd92a79c27cbb19642271742678c6be508455db6c414561943fd3970f09181722620d9d992ccb1de004d37a964b7df709d95dfd3098eb9be2daea7baca094d727953032a8dd935b77759c014ef423f55322a9ec4c46a808a9a2c8fffaa00fc724cae716557371131198447cb9a17c744d8946dc766763087af038c501cfb4672b53ee9175558631d1303afefdadaded2292cb8b5c1eefd83cbe9d9f9bd2f3e7221b8507b35f0f2cbf969113a1d462c86be5f08053041c6cf97e79a3666bcfb1745a19f0a21bc9c0630f222d95beebd1a348862d19e496458e8990bfe4e23377200df741efc9b6b8c9770b4bd11941ade15f8da55c0802a1e66af60236d982f729f5926aed3755c1da87e710ad2b070d97c01e27689911eaaf961167e767f6072c49a7eab349c638718b7217ae22e864823e2b12157b9dd49342c81fab5c9227215700b1104b7764caec8b9b82b98051b7d7bc4cf2199ba0da7812859bdef66723ed119657449b5d8141528d995badd618d66c5087f9ae09ad11b9afba225be25ff4693536ba72156d28cffeaedd656eb65130ce00ec327855bc11f16ac25a21163132bd0800e566945304d7c565b66aa661ba96f5f8e94bb449d9b8497fa0f72e6376ad177d59386df8b41e66a617c1fa367752c52a3e0e560d1ef3a37efb3727fb4e28e97accf3fad6e812dd045c61fbb9e76f36a0309ddaebdc0996e3acf56aeda61a996e3c8cbd648d7e1db0a3bf043afbcd9a29c97f9e85bd94f1845cb724d75ebf333139c27a5fe03daa6d996fc3cc35e479f1ca459bdadba6b3fd32c725ef32729ad631a9113cf87a4d670508361fe1cab8f4c2d46aab57ae54ef7ed722a08f749c61d3c2454830ed8ada2cf30fe041b57debb1f556e6c5dfeb5e019076befef4fec2b26dea76ad5e799e8f152da96380ddedb990a625c8c8c9d8233722cfc7835d6126f6ec7dd77dce982c3c9b700d6b631152076e9e8400b7df39d3c6ec3fb8909700c86783365b37a358d6d6a67d5ab66ea106115c617708d6e2a72f77a8796091c34438cf01108eb88d6dd063dc33716f4afdd9b4da3aef2ae1772d5169388f927535019e28cea6d1393b9a9dbf1a74bd4f4e8e61ac16113958214d6d11a87a7e989ba925907d255370ec93b0254aab22bc4642475008f45e5e372eae02306eb12a87acaa1462f14cb30b3c5aeaaa726215e702bbe1825f964c17265b3a09a1e53de58cf100262138eac7c9e50dbb6608a480a5ec52070d6786e72305a6471034b28c4a3d481a436020b11612ff1acb84e075e09a58676134b8443448ad8b5e64e8115065b2a2e888450416b7acb445b3f13374d7d406712af5472b9279d3f66ed53924fc4d7d6bf575651b7a0084beccdafaaa2245cf2d469b5723a8167a471955f372de69c342225c6b799642472327c44a4e8f732ca71ca57086967d22ec814f416b091bec3ac9a7e6be66ff600831669f3a9542824df2f68144182642cbc7cf465609ea7473e82f928c5d940ca55be09595bc1e37077165f72f49fb2ef3bee59fb0b877e5b8885b180dc9b55325d2759d7396939e7d75e1b72561e713383fea5458c6b6217eef05894f9c70dcc4649341d62785a8be482627217faa2ab50d9659050a575f88a95362173054dd34cec16e4afd14deae8bb4c725748a85eab590223adccf5db4f3fb4fc82787d23bda1e2565f9ff1f9a9414f727f99f2bdd7da8c273f484fbff48cf4d1f3acda3ea7c60c11d32d120c67b09872152e420ee60fb6d4447963a7edc77fd2654a6b52a0269fb57688fcb926e7657251a6b992676b07fd3cf4290d98c99a7cc8c57460f704962c25ae3f88693d61725fc949c86b0be8d7dd219dbb803fa58f43c8945c1a553d2c9dbf45960d7aa0720f0bf9436a259aada7db26cea94ac8c930dab75af1e2f0c7a95b17dfeab5d7019c6e92a1f065c67e8578829a47bb852cdd342acda0c270cef972b1730de78e2ee8c9bf57226df324635e7728ff0be4736bc75cdc24361da87d8432c8ed565f4417dac9c370668eebd2d49d7dfb3529c84de10cb0fd67b4e0dc4f0d410baa46722f5f5716fa3b1b9f5bd70d3d2b969ae967af91f1705a61076373b814b52c797280cdeb991ea36e3a309b78c1f9c38af45278d55218769c6d57796e81ca58be72f35b86c575985945b9c5c361d46f37c405b4aee880b8abf18cf0fe2b805c9f725e71b124f7fbf0c517a556472b129b0c6dda2c5c3c4576fdc01159135173904d2446ea86cd68198dfb89b3116079f3d9af23921670eef8170fb4ff5afee19372ae196bcb0f3fb51571d58c3eda76b83658a8eba54f2df6d05f4f715ed6a7bd44aa684111a3e65f26e8177a9d1fad239e8cd0404de9a3e2c56e7317284b98f17217a84fae477d2d5ffd2cbe80491fe1eae5d5d18aafec5ddcdac4a8bd4f76ef72092dd3595463b146c851f3c57a1bd896bea1918f8905907f14bec7b8995771165dd556512fc68c41ff3f670c2fe9282a135719f3d937cf3094ff5a080c94317269d663298f8f81239aa6865588cf429d2bc50d8553f02675a8bfd5ac755d401f58271c951796df89dfef1826da455640fdf42668534259173253d34fcf81f41474e9a020e55d74a0ad183e65c35d89686e9e851a53281c990267ff28c234df29fb93d946f0393c27481956e8f6dfbdcf8cacd3bd4f1ad107ac59f4d9354e26729b93dbb46797b083b0d2676911f3c1b0b70bfbe3de18c1a9eeb6c0a3221ff9600b6c6637b71c909e0747f17b7490a28e441f20129fbb55cf5293e6c58a6ab872f4560ae29abcf6cea2392d7af3bfe7a6823dc25be18d7143748578706a0da372d3411d4950e375a5b4144daf4c9eb2016121850da2bf2bce897c9d8b283a11133b1ba2ec969a2280961ae40d34348491ebefe6a206cdba601d5c2613adbe867261bc57fa02cd8da069029ea6343b6a49fdf17791a864ee90d41a3b152f3eea26561856d8be3428820c85a7fa33e053d01d0bc21b693bff4a4135bff724c4a114f443d7d16415764787a511c8433207d9d12d3806f1d7843e70c70dbc721f76729162f883ee64690099f4ffced1733aaa067a16b9583e9c92332f1901badbeb72b852644d61a0d8faf79067d416c4658af39ad3ddd14c71421de1738271cbc1723360d9466958213e4b0112a58a1951098b63a872e61144df39bc6b753c67c1720b27bc2ee534ef47a89e42e0c23b2c55c9db1a3c8ad9d733c210655981da7b6b9401ef898cfb49cca6f1faa5a94fcec2fbb3f9dd3d75b666d5ea26672a010f43d5acb9d233952d48288f8d9d44f0c4f545dfe32decd643f8e84811c33e77454111f3d88cc43a1671944263cff7fc74488eea708932d5d6f36e0577f5840807726b256ddc8973b48a38af40eeeff68552d23ba3bb086d40124fbc1df7c809fc06dea627fbeaf475524123415af8fe9c1ddc38cb5080af9f61c7b25982db9ba37278f28c13f93ce1af3a9b88148682d2725cf8bb0a8212daef04b9ab6cecb49355496656752e3e0640a7a48b68ac7a3002578a18fbb622bfffb17697754d9f167168e250b0114df5273f162c8c2f487f9ba47de1e08d1fefcf5568448972d04d72d537bf5ffea1040637f43ea08b3b2479a9ec35cb077fd5cc1ab915f5d845132aaaf957dae793216b6da8312a8a829aa0911393d28dc45498dbf2befe6331e472bc39b962c796a0d951e94638f91b61ead29c41a9b81ec38dd34d8b39f2ac1972030dd880a0f44d000330488d140ac4de65aaabe282a8da6fc252cb1177f0a77298a16e76d54eafacdc89a0e4865fc505673ebbdfd27c8f34e87443f527306a521027b8c44a85c84e213acd9a00ed777be9329ef0c159edd7facb1db4fb724c5368e3d9ddd39904b5de7fac093dfb52df3c4fabf5b2b053a41a0a0cba736fa9721f30190feb53beed54eb20115422dff21c5d13174d1da89a0670648dae439372a8b749e2a6634b51b3bd9c0f5f72983603e7e02f7d7fb01979660f136dd4ee72b6e669cdda915d3366c81f1840dceed8796811754ff83e8ad88112269c8a3d72f9e00180546c1ad3ea43f843f9e05940b6f2d8f778a72067b8945ef60604a81945cd557fdc0f67d4210563f6691b68c2909c2e88d7cdbd0392827b9fcc4df672f48623dc7cef9426d3ffff5118e6bc6f83144456d82d5d809a22fc7f2be4004ac16c702fbe6598194b12649f8c3c0341ab7a5c6516d678361f3a9a67e0086930f460c8a21149e734bd6a85617d26e15f74d602e30b7f4b717ad4729a1c359740effcc5c1f3339453f2d5587fc20ffe88f50f91d14be961e1f1680cbb8c7edc726b56c491d12d957a38b797fbe97e482f93fe2ebdad65fcd5593266d2f6838d7263485eca2d202abdac5ddaee4ee4ecb03dc2aa2088e822bf0678d602e33ab272d1662ea3da4270fe2fd3de404fb48615b7d6dd75e36c61fc81142d3212646d316003deb01918cefa8d9c05783e1c4509d370cba35887b222afe7700bc893592057e592e080619c06d6c1b8e4f0bc60a03814dd289690d4240f72a6a4dd4d606274737456f6a7a7ad6ca5b8eeae8e92854ca41585af3d8a394582d5567d76eb7280176d0b564c2659c0ba008e2fd7b0969e021096e850c22fa4a2a63e564c512a495fa507687236d950ff33facf07c2022d65ec26b6f41c1042c175f193ff2332cc5cd9fc73cbb91e41bae459e844415399fbdafac2a0b83f831e0a76cf3846728888e02e4e3bc639c2725fedfb5a6d31a0a161daa57bb6eaa686b0fe897c3436502a2d1bbf190808fd5ae23873751f770e2fe993b7f9ded197e3c8d9aa501272d7be7356d6d2f810f66536cc6810df945f1fa5c2526834e770a63a003011e77289d62e8cfcc035fef33b80485b4c43043c9da622f407f72a3cb285c3d116390baca82a74d35f9930e76ea4066117b88a7ca6eb85203bc6b3dbff4ae04116e572348c347a6033528f1fa87b8e054d0007e92c0b868cb10f7a527c62ab338cd771c7511b8ef64e427daf37b3aa32eaac981ad1faefe1062d47e089f6e9906d127217bc0ca45fc74f256573c0680f963e6cd12f4ed8e5ffb456737158b5ba9a7a725f9d7befe86559d28c7789d62c7334ef6643ccc739e9f83cf891db99fcf1f672b62d90b47457ed48df69cfe1a4757c1600710406de2028a31dee42edcf18ea727dbbbee307f277ffcdfa5736abd3e1279545447054cfe073f4d9e6358d5a7272069f4f0b5ff3d8d3bb9d4f1fae0205e161472923e2de27b5e58b74169d2d8e72b8abb7574711053215e24d02a31d0a1e9ea30fd2d039b0927f023c9b30943072c81daf4a70bf50aac09807b8cd524c6e46954188d203de2956ea2b45f69f456412705016cdd8f95699d8db54abf2327521fd454f504d0329c81ddeb0b1c71a370361af3573504abb16ac862d80a9f795964327de2cc3fc83df9992185fe5213c74719e63046b3d36ed3237f9ff9152981a15cbab51a3c2d78f2f711e188eb17230cd9edd40fe47f3543578afe3bc83f336c472ab6f75d6079c34bb5ffee8a072b7dda1bf2834112f5390116e60dee18a2b37949a6248d1a5a38c37c16a36d2725abd706504ea49313842f34c39768b50ed72335512a858ad9a76fbb6cd437e724a0bc03bea262ce718260f5206858b9ceecad43b8a3d863c0a8587d0a64bee72c9c17535b13669306174a1ed829d1f416f67b984348860efa67f46edad5ae45f7e162d27c2c2774cff5be7ae407a07377e5df0226448cbbd14ad3d4a640fe07204dc6dd4a7f2bc94fe42b705505155d931048b7c5b124b8b61b30bd22764255a79ad79a7f48d91b8390675661397463b89799efe569d5bccd14d91157947090c123cd2e0ca51807e03fe78b7c9cd14abb7d032cebdca35158948ba805d06617237f85ceb0f8f398ec0a39b508669e2a386e6e35fe5910447f8869370b01811450fb8467275c1c175ffe69b4e5abe1cc7334667a2d6ab168739725f433364173bb069efe795b55abbe4b277232dbedb5e8400d3b336bf59377ea5fd7b4ccd03728a5ace4b731cbceeeb12be4367469fd96a2f6bfb36f7d541836edbdf37d02c724f4776dc4fa127df811a2a48d1f271ca5bd4aa7c2dd0463168d49dc1de399c723ae841e369f7095404675ab65a2c3caf3d1f1d30d24e73b6336da4f0ec08b9729dabcafd511c38e828440060d1869c44881169e95ded8b9c5e0270db1e642b720e8d7907fa7648f4193dc95f86f6da229b4031d1d7955b529c3abff47fcbe572237d4560c05ea126284bd95830593a6ee649d165046b10fa411cddbdce9e960375e84a34f099d8e19705b40e7144340afdb51dab548a40e828f80686dde333365167e78eb67f09b85b0aab36c10f28a27fd2f63fa581385adcfcc41ab63b9772baa849fd062dabd4e15e33d074795b1d73ce82a9a8044d25b7d228a7651a28657e675abb409d9c17b4cc762fbadbef15152a3f103185d86059692e460492cf72b22286e728af13a65458f71fb7e3881b887bb6721e95984d0152d9445e04704a6f8d1cb83b5f389f786f8865099ba96fdb1732d6b3cc8ca9cf3aafc00a06eb26815437d96be3f86a1b2ef604b7d5a4e9864afdb4f7150303f4ce7c7a5e8bed72974ca2401b0ba6634ce7fa0e85d9e738c95c2e9e21310ac9f64f3efb7e199672c0f9465c86212ee09a081e0bb03d4c9c09b75b7f738e649f23a824f9815d85727cbd0e419ac35205e8abd47848ebfdb5deeace352beb78dff530a33ed8f64b72908ce6b44dea74b882ea68525d4bf97328f0db6ccf215eb3fa8c2c0a89163d72fd2f271dfb0f4ec8368aac199751441db17f1cae961d0502dbab82d4c3721572865032475006ce91fb657a7e000810b23a5b2ce2db73d5033b6fdd8025e3df72023658ef44b933cdf78db586bbb8f3ae8175b2a6937acc441e6ff75005ba1e121f951bb32d960226e1e4a6c6bbbccdca3ae68408cfef27365a17e0d0e79e1f530106d84a71588b3df465003770e6d0b0be155fcbc016bfe1685e75ddd020db60d576188002f15a3babbed6f0430b6df046955aa0900c5954166c7b14100ec74019022bde620eb404bfb14f3fd9a073e378cfc842e7856c547e91f05b467b1b45d9e66a971e6d67d736d7883a1a2aa85136641b732c14b061fe174d5a3a62fe004faf6692d3b88b2dc72ab16b72522be0a5642dda1bc7b5ee38e788445cd1d849ba38a2c7ea5cab7b6cb2bd0e0f4ae2bfdc6c98edc5bc36098e7d1c11a5a45f5ed667480d56a8ff1fca1130de23a5d0c2727627467d07f98cc58915fb00c6982ef7823fd644a9f2f755d28162c8551192c2bcd899878f86160b64de5a7b7aa4729164740802bb014e0f4e4bc956af7465550104c2a0918ea5397b03abfa838e72c58209e296a2324b0731e3f2f8e7144b9689b8e123b6d2622c1eda550d9adc1ebee5ac2a915221c82875910b8ec39a31407292565a04965dcdd50aaabb75f6720a6057f49f960456dedc0ea2abdf499c6520b59d6586f669a5ae4c03fd73896626d521dc8c22da0abab0b42a0a828399baa4eb3471e37254740d242f55d9a572fc60f5c40e4e0aff61c6ddc3fbfe47cd811b657d0d698c5788d7f76780c0fb724150959a31f479c573533c7bc88921bc2e0ae7c66c8f34574828a6aec529744b2b9c1e7119c6210b1f82d5eac0ab08763af8dd60b9ff40bfbb33494dae94d21dc6720c5e20fdeb7e6f2ed1bcaa804bf9b5b92ab044768e462b2306e907f85116ebf1dbc584fd528bb2ff3bdc21a3156a582d1d2d73898aac1fbbde67adec0642b5d14860657a19992a9f11bbac90e3aeb2b0c88f68819282752ac356362aa36f72f5ec4bf80249dd9f5569463f39781f80575377762b70385d839bb486877872ed0bc06f00cdd2177608c8ffc54fb6c307f07780b5bae9fc953628a13afb1b04c84e441ea6134f7de4106e6ae8e872c382e8cc2bbfd7cca24262dfb5400cdc72b2b0a4236c580227943d02c0abea567046aff9a550049daf5f08aba76424ff72255b04e287f90522a4621d022a1890ea120586c17df7023a24d915f23280391c945533100bc8fd5c6a71283775e36cf90f2a1d4eeba8a5ff8fcf8d1cf7c4f912dec606b21ad6542f741038e48ae8457f45137b3350205a5949be47a2d5cb7e4303850150334d9eac6125c953ab56a062e35f662dda30429aa6abd0d361ff3613a85988793f156fbcedfed26059df3ac22b8c1d089d79dcb31e339962a31bd23eb030636888c742c55c92b6f80745bb247493e1273ead727b444946704912cc3ff2f8ee3d424babf487e2f7e95a0f9a5ac6b0a682dc68d49769de29679bb0186a938d0765a29216176e3f6507629d5791143ae8aae007d161e80ddcd2abb324720a002a2f4253d4023a8de8ddd4484fc2c88874912d4caae99071aaef1e5c071caba0097c848b21a020bfb08bbc24956db18dbfbd79b19033ab9df5daaa5709720d854cc97628a16254889360e919681571076987e2ee802b4863c72cdacb613a31681acf50e8b17fdbab95bab14c4e39adc3dd04491bb6f85dd8bd6714b85402c0b7e1f85d2478e6d239866378f052ae30094435fb97f0af6e7499874af1997200fd2cce375b2fbd38eecd5e8a8fd9f8c9399039457131e9742a2a62edf04d7268e4bc53d2740e8caae029cafa0b1109f0cbc5b1dec7ff71a1331cc94eeabb7242b4f8536eb2dea275b0e4c3248a0231dd9c34f0a909735c6d68145f6c887f543b21cb64092604c03b2bf9ec8f292d2cee22a32ffcce291762a219e2cf0d14724da089b092869bd6f696f2d2d3f6d99b8894ca631eb2987e294b2781359bb71aa028a5534ec00f4c7cf4ea9629e15d2c5d17b23a197c4c2c4389ce62eab28842fd4dfb7d78208273531a5c46c9dad60dcacc31f3ef8c94159614be50b550fc336e95a08a68635307375e7b29996aa2b46d767fbb0694f110ee231162e7919872aa958cac6303c2eb3c34b7318d61693be7a1a1a4ad5a6d11885b5202594df872fec95d8a65e7d7da3e90bf26fe36253baa9d09957de4fee9a74703702cdf3e013d87321c47b46f25dfad07634a209a227a174f67ae3153ef4008d49acd66050d48b4527aee34aa0d5dc77bc9857b5c97e62bfa4ed73e10ff7f97bea6eb3c2570bddf2e3b87e2872830ca4b3e64afee79ce015a3bfc7e14ae54e6732b848b5a4e1bcef6c0fe8221f64b4c3aeb089b70b257acf4b04a18de5b013030e271b399018eb31a0ae5fffe4e627b9897086fbd735f63e2fbdbeeb5fffb3ede17f1f5de71e11e7feacee982f3b626ef4a2d549bf439db71c95e40747d08c46f2765f52a6e837e67f8cf0c818761dcabdc1deec90b84b5f7c295efcb95da13ada7d46cd67226d35ccdadf3a06edebf8226eb7eef73b455a49ac05d3feb0f30cbfbe3dae272e63bba3bf7b1ae2f2c1ab418c57edb4695defa25b05e8922e53774a42b700e38bf571b22b29033aee8e42bbef6f6b4d3db1e45a72ac91815f7f0a91d8b6c1e724790ab719b1722db158ce0c3a2b11a899a9dd7c0c4d7478bb6837fada9ff6272e6b6ed8bb87a474a51da269ab2641b586c62f7bff1ddea2bd4fca1a414a34272f306a06d800cca79d2420b1fbbf8a6580335b6ef023143705d3826181dac1472aa1579318a784da574a853e529e4228b81cca5719d78b53091c02d533322e072182d6581607be1fc2e143edd1dd245351e49e9949cb6b32f90b8e93ee37f1f1e34da34113af253b9a3217704abf6e6258cc4bc1a70e7f2ded85bb6f678bfba0203a3be41d0aeb24103aa58f6a94b0b4f187904dfab3b299ab07ffa5283c265528cbab7d65780812b6398f4ecdcebf9a0fddae3a9cf09b722fd2fcac05e1c9a51c3611af2f58b4a907b5dc3f5f6bd7fc794cd7a85dbe17634e0a2f2d34451632b105a5b5b5bde5b4a34b03acbb77e0ef0aef68c69fedc447b9b1ea13b524c4172bd037cab3327092a34e44476a12196d75e7af1d966922c20728084e6a88b6d725d6f3f04027fedb4313aabbf65eb47ec8cab589144b0ee0f48f1d7b92a266872e1227206beafea1c49c9974e734250f87d0968e603b453111ec782d3f4609c722303e12cceb6d0398a8dda28baa25aa72101348d251a4664dcf5e17efd4b3372d52ff9c2689812beb8c8e54a849e3c15f75b557c2b542ed99cbeeb40934951426ff96342a1f8f08c229cb6b769b0efa13409a4797587b4f96d640c93eb837f72019b13484ec67ce5f254b3ac837f328df14825728abb0020d821f61e616681726a3609f33250fb17fdcf2eabfd2322d401f614545fa191667f79915277af657244f62ff2b4b9ff8329beae3fa2450ba86c7c1931555bb4e853216186fd63275ee63103a918c9fd2206ec77d5b4be088327f24d091f25bd41af82f402f43f265423b53b2b9795715eb64506e33471c1f2afb150324126c4e52abbf663609802721da1464f400c520f27665e9597a776228128dce732e5c69405f0f2bfdfc1197250251c041b6a1b5f1756da7d51aa0023b71fb5772c06909559c8c75cddc3881f5cee926b16543115d674a184fa61b3f313f7f2cfc787c3acbe5b7ed7cabb5f722057d890e9ad6d504ab39493a76e56ed5a699b77eb434030c1626d3df32e6272830afcc0c321fd3418d384bad4fd11042217fb7111082460dee7dc90d69a3a3cbe7cb30e037577e85a1b4c47b0ae43a91e789b0dbe079bb61053e59bd5f23925e5810b705ee0527529d46231b5d592c32506e8564df2da59e9db751281a41172f51b6ad8eea3295fc8d2b619080682631a1b2bad496d9ad5958b0ff99674877273b0c0ef7167c4d51cc0c2eb68c4c4653a7b423843f3dea8f7a4a55fa1a0f572f970ab45e5052aa83407dfd70e67aae4e86aea0a70aeb01cf1522dd47e2ec872bffce77de00fd258162c05775c81a748d16d3a9284e1b85dcc62b56b478f6a72f8a8b3ee895e464380d5b1cbbb6791f733ad454956e7ca9ff7cb6041b256d672c1278d4a93b0c88f912126718840db2b464ed05d9629ec5c36005ae3f7e2442c917477fcf18c2aeacc1727375ee9adf9df8e5aee973a412eeaffe4f3be484e061677f983971be766f28f31508d26043d428fb7087b5c79c88d680a2c86691c32040a3424e57ebec084772eb643ed3c4e28b8473e12a3e7460ab330614391b211bcf139e7fee04f6fecb68901a6cd1284061ca2ec1dd56fe1d08f3b31b6f9fd729cf5b243032f2f6baab449879c2448e3033e1045e90fa17320c051574b903872e675ac99d43ec16fb3cd93b3115737456910453a4a04647764309e2a9a39a2729310304ac3ae5341af781ab7d1dbffac1dcdf2168f51dbc3c3e4f25738897872cafb6b2ee3b0fab04a687d8de54b36470d758f867e7498bba4aaf6d51bddc072d7fc422612b01e1c81c01751286f26c3be0a68eddc4d8a50a6b4de2fa2d5c4381871dd00a29b64312680dc2c45b11cd917ed90adb7fb28b0c4f6140577f7ea5bd89c78ac29c8a93ef7769d008a7bec30ae3350e80b5f8420e04134c551a66d72e74a062e22ec620eacf619764b7dd3b24bca6d1d7c347316100d52bb4146b254afa89099a3303579086252eb7e7bb8d1cd4b16a85fd90d375e26a3b172f8ba468d4fefcc63b8f8770e1ea947847e8e50f918e1d598786ecb6b561283373fa572725f895d92311ab75f5307cffbb02919be76c6b67ac4e52e804a407312dd257283642644ffddb1d2e02ca34d0c467b192f005489ddb56f8b023629c8e483a172a7a393f7647564c1d375702e61db53e3e6ab32c228a4d936046b78fd3e702b2da856c358803712392f99a41f6aaf7f09800fb17c8519f34ad232211d7221863d8546e6a2cd26e7fbe1e3e51aa01c9cdde198b46b8d87ca4305c86451daa17472c26f1b44cdfe280ca0f10a0e300313287cc5ae33b9391da1783f7733c4ae741fdf6f60fcd5bf883c78097a03813cd6b9965205e4c4649181ec5604855d33e7595303578cd91a9bedb49dc1bfb6df52ce2632bc8eca277b44a71bf152e86606723680143c9c9b97f81aef74cc4d000dd36298ba54726977e8c3841379c026f54b85756b2c1ce18d7f7ca826dd718ee0ff3ec0ed9ceb98d83c6fd9fdd105122572d3e5a578ba0946ccf86ddea710f451727f522d0bce5e7646bcf8feabceb93b5b59eb2843937cc34a3ae670199f71b652f2a5cb4595b9e582733a62145841f5724bb449ef7cd409e9e7d3cfae297b17ab135d5dd5b01d6ce00238cbd3fee0ee6453fe0f55c8789b775d2b3ab6cdc166d1e5a36b258a39914931f38618b3c1cf5e9338282e87ed53fb101db35ecfbe09e8e4a07b681bda7f8166cf46a343e542196ced4cb69b0bcef26886a32711e1c33331ba318dae8beec643bd4c7976a42e723f503b98548ca2747cd2024af4f43089645276e4c72520eda0c2f830fd14557220164b9fc43c75e05e9b902c78f8d406210846a4c4ab1132c9f360f10deb99430b871c696082b67c30361f9fcd418df1ac34d700696e941fc5d4b9023be20d7217d5758fb18d5f07949b9fedb094e195c2e9650fdb9cc83bba5920c61a433272dafb39871e3585a68dbb45c18da25fd2b50f56b8f48d036f04cdbeb721d6417211b6fdfaf66657069096efae23091b7ee4498fd78051911a055d15f92a39f04eb8c1d16b8e5658775b0107213eee720e80e05de5a8703a2e9c5bf903da7ad2721c631459b17d1d6458e2d95fac242ed83c7fad1bb44c037ac969b738209e29384be0898ba67774bc46c30526af6a9c6b7ac905473de5e4ad2d756fcad0eaf872821b8f8b85ebb8c3172694450011f021757b9424f9723332ca18317ad490e038ce160ac6c84a02f961dd63e9b462104da0436ca6225e1bdf9dfa070819687d4058c35bf052c52129e53ebc9d2895e300a0ed328ab7d28b9e2571e26b07aab37287655187e2aedc329be8c55e5460e7d6c1b49f490dba6698d86115cac1b782684bdddf406d8adf81734ef4bd7c8764fd340be2c6a7f7fbbc0e3237e4b3ea95666fcdef076396622271bab1e1401bb76de60024b4c56c464abb8cd55b89c0ba12f8083903b995bdc7e5caf61a0366d6abcd95f56f3d159a9b329a031d7b65a772a9981a95eef6bcd41b7298b26feb308bfe4f9630cd160d9468dbb9dd47517572be9352c3501905a75220897a328ce4fd991c4263c797e2ca5cdad4e7506d970ee9d779802d0c7d7f6dca641520b7a2d61f84e0630b457b3e17b1560ed3eb5c727538133ddc8ccceadf61a6becc8633f2f2d5596f51aed2d436ee94fa50c95351d9477fe889064cc36590cddb5326cfab348cc96892e83bb0ade6cfd4c9026c722e47edc387331ac9fb7558a6eeffdd6c1d64766019df6837926041736a1a767238bb7aa080f408c509026b801e0fc6ddebcdfbe878d238ec3d163c45f181a34f0fbc6d676b8fc83a23060bab6fc956bc3f506f913f44c92109cc4756b0f4e6725fc8bcf263ac442b793ca0fe45fd7bc2c38fb14421b7450545cbf89e6553d272f5a5ff9b067871d2e137a5623d787086bcbf36502e65dc81f690f5aa5fc2a738d60bacab7b9f7454e7389feaf3e6dc21febba0e2acd35ece5e37c80e2749b61a8b33090828d4c2465dc5f05d538f61ac70f4c4aa00d2192ff93facc2c37f88725ec30375b0cae952fe776c5dce08b93960792a29f991093756cd802495a7fb7296cb7d0d72a218435749d71ecf722b901655e9a79d6e89e94f3d7756523b907205682e68d2583bc09f4fe003f8bf2a8a1fe6861c5ef184814393f988a714c0728347be644409f0c390d698ebcce064f9300a8672ad943f353311e6452b315672850de11f361318b41b8dcd741b7377fd9fdf3a55a66cf894313420c12ad47872e094c8f25d34c6dbe4eeca01b38183b2319e8c603b394f806b579b218408d072a60a90c862b2bc7a2faddd633277cd63a2e2eb0f6822c93a317410fa0fde1a72cc3b4f8e6b79ca9408bd810ca90859906d6e4fe3c050d748e8ac3352044cc472d10ee171cd7a26f005066408ccc4739ad7c5a47d886889d1e8ac2a6bea6308721de9f6037220c0dcff869f4eca75908a89a30977684f0562253f5277d75f810052c44a2dc2ea622d0cfa25858004c21cbf01aa352cd26c1731d9c51c6b065e48a981f08526c7f45a6f49b0fc13b8b5bf7688deb22e8e4818284ad75321791572dc215a18a29c06b8462cfe7bd5e68dcef67261c1be094414617f41a46785081ce9eda33df59565af72194fa0a4ffb35f081c0e69f6203653d109e4845155b76d622c8021756b32a55e9680aef3fec84a58a604ee085ea9ca7c8c7cc907202a7296a2d7e1bbac1c0ffa9f5f43c7ac169281a0805527e750938d78f57b0eb6cd424433498cc0428c310f462491cbaf9373418fd78128141bf2431f28134075d072f2da6aae56dc81ef7027b56be50f0eaac41d1241d319d551d219f9915668ec72eb5f378aacd677f8a12339a0f9a83b6aaf1094b3928f7ce026008c7d4e20a87276eb5cd87f1918b8d4a3e81a405f29f2e7f4244858953c254414237f50e73e724484a36c2ab6d1dfbdcb4d0fc6897c5e74f4371a4ee8d712f022d85777d4386285d60756bb260146fa575331c9b69028e3e3942bc557ace8dec985b953c4ef72b19fc445751348846cdb86e9b59cc3a9fe2c4dd07dd3d06918c1c78f246bcb7255521b90a189ca72e4fc4c4e557bad5f6b2a82763bca69f719fd38efa3c4e14903f7f7a31b15eb3e5c43b88807f30511a720f61f5db93f0e2ac0dc3b51c0c5723e601230d16b230c62b9e5719962604232191168c60cf9776270283118d98a727331ac2c96c40810cdd1ed08539964c0aaf3e3414c20ba2830b40755f585eb72f429e74b5d32e2919e8c6599f1d4d6010c501608f2fcd785a5642e1842fe630c0b06d8f5e83dde7af02f3e4727badfd132a25ccbb184d3656ee5bfae96632737d7d4e35151e1b81a4f52ac620a8dffa0c095b53184bbbcbe1ee4bdeef0c4763ee55ff22ef9cbba052ec2b37539a3fc97c984169c3ea9fee871e68c92b3bfb1720697e6225aa6edb9fe817402504ee22d05004bf8b62ff1bac88de997834373725f17636f1e8295c76e005caff5aff55906fb2283d6b582bac5cff55a17253e72bf9234a3ee8a927fd6d71e09b48c0c9881633b27ef9c2499f277cbeb69ed0772c532d20c94a905b782714bc0d2d62f084b6462e6e445eb5f6184698904920312abdf0ac9cffea1860ef2fdfdf7862b985dd20e0e5049c643f7ddddf6661fc2727cedafe1d51e1daef29ae085674c0b89cf00ec73fb2b7c37242f488344a53d72fe17f47b7a1f906249a2d55ae88c59ef246a3b0469c3201617efb9c7d5a81d726ce6b84f3b16835cd26ccde91ad6682fbe065b3d1e34a43bc38bd3bf8071b7729e525d698a7d5a93ba83cd267e20d065d4da1aec19b7557da2251fb842aea372f623833d0129786127307bf196eadb143efa87ad78d122ddb1402acac18e9e562304f175902ad1f8745c5a964ac0db06877c5320c2e8ded447e17898f086e45420ebbfbba8853525547a3763c04a05ac48e7be46de169474144ed65eb451f67247cd0aedd357ae019138951ef10a789fe3621eb8d07eaeb3412daf743d3e80728c8dd323c6ba5a2706700d1dafa54dc93c03d5bf637eeb37afdd02a10b959972dec371be1f1820cee3373aacaaad51b6af69aca5964c615ec0bd75944907130fa34c1d86f766d42a8462949a793c8042a72b7960c02c6fc2eb9e0691fe8ff9281a4f0eaf7adf64ee073fbd8b0be78bc1a936b910403acf31f23e9839c1402d72e585bf5ee2dfdf3808ac4832437241040fd4779e0aff31a58d294ccd0023a52810d1473883819b9848fd28f56b4870540196be1de6bb05d6fa857d7110d06e7279caf9e9903ca2da2b848ab3f60758b9dffa764e9d3423e9b03b3fb76833127245fb6565e428679f79db1e33cc0c1d559378de8a3b323c4beeab74e6fc83aa229ca854701d6fd9a6b0aa3451cdcd397b8f692ffc76c8ab1a6fa9e1036d67740a3e17a1d8299a4c100e56a5a2a788c6b3bd01b56d8013a458303a98901e20ac725378b2171f05dc3d32d8768a8a044ecce36f3ad0a71ba1ff9f4b9b9f1ad0bd23b4b32521ef780891693705a147f772efafcb3ec9665a889e750d565585af7572c20e29b41ca6c1cbc3f402438f5f598f9398bcf997a9917eecd3d2b9244c71415f67f04b8a33a2565d27762d7259c61c97b152475dc15e0144c65d926ab99d729388ec72c9747e87b0a52e43c71d471bfb7615a6d60e24c03fae0338f98bf66a3cea833617634b298e5f11992f65e335abc2a093bf945919a24b2703a71566725761d1562242e166c1f7d7975b2a834b8e195c1fc0c6df819d1c3fb7a8ff2b722dddcb7c4936c8b2678a451ea0a10eebaa500e967f76f148594d5336afe9ed72f6ac425e6b44f13cd715c19cdb0e92afca3ff3861c3b17f9f2967e4f06507d725c10c71665d38884f687de8de6a0d121cc064a54128c3f20923e77aa1f77e372e30acde1e6d94d08dc36bc23701c7f211665a02ae2172728656a63eb1236696e9bb11402b2a0021e09ee8c7899e4a5236e332e15814bcdf4331410a8ef046d5d6b9cd89c273a8d3c0f01269b30642696a2a921f63cd309b3640d112baf9fe03d8d4c98371befb6a8100268fedc59c916224a3db68f259163a737c6036a63f37287d89b8ae924c0022082f137c8da05c20e8d8b8837bf5f3f0d032b8e3e800772d2e186ac33fb13a345390b0351c0cbabb30e098377ca48cc8ac508440f7e76723f3d36a47c376317b4fe0faff5024581880a62da6861ca639bb740ce79af5f499a1b1f8a278ce4a304e1f6fe4ef392ca44210059942ea99907e969783ae496725843b4c07ccb10cb408442a3044ae2df756bc127337754393b914bdf61eddc7222ab08c9e4f8f2a670e4f71ba0f3c8a2ddc5eaabf104c91355855523bfe48d72334ed72dddedd4882e9e4251bf296b968185dfccc8e7577d75a80d9b7415a324c2718570ca19d0c9b14c0c5f602f4fd129bffb3289503832e8e8bf164b431772f2e0822e46550c8a28a76f37f029cab72f024750c1c96540dc1293a0132dce422edf6f2208be272c3499c4180157dea7ad63b5ed362b4c14b87c86292b18065b7a87a28bc0404c0befa2848340250edeb5fb4efc71234c7de12c6ba192e78335b760240ddb8d20de2fb65d26e44b3d80d38fbab4c9f8179b2e57044c756abf72a185bae2e7794c96aef9041afcb701b7e601bd70a30a3906b9524aaee652bb680da27cd959bf615789e68e70df2e78720bd37e2447d65bf69dbe2e62a3bafb728b39c002b5ab40b0502bd5a9f171e5d14e714ae44142187bca1a6ac9d511f234bc2b6dbc90b3792a14d71e319c88e24d776d10475e0e9d60c21c22e8e1e2ef5009762263037e44f0f8aa3b68312cc4284c0182aa32b2c370a298f6853d89d472f9be3ac16878c45eff6f37b953106f8e68eaef935515e41b8177f9f00dd27406e07d660905e9f8dbd4d17203a8d3ce50262380807202ae9105b2c8b3c68c7f296224c8649332107b74618188ff9518d41a3847c99337c48f02a9e314137c0929f3dc02cfd67b7a39655e9c0ce1e93948ef3dd1764b49e4d371dd0126cd81c8505b86be76432fb59a4e963504d220524dd2da93eb710217530ae4669ed7d3457244ece087ed9b4f27d94304d51a50a02eb331de30f5f3cf1988e9be51f990895fd9cc0daf8ad6c391604adb9aa5172e79d7b8e5b6d188f456028dd48db89b8372f29174d198b29028cde908e9d566570e4078c97c81fc28130800c93e62b46e725a80a9cba48d392b2485acf00ff74eb1cc1da070c1f3e860e5c66068269cbe726f36a56f35456950c13414dc7d7b6cbaa38bb597d84d50fb4422c1bf6b90243444c7b561e37fcd7fea65389a8f16d15c2c4d1892735cdda99af83af48eb9e82e1e7d200bf7f31f65f696514db8fe8faadbc4b45e783a00d40558ab336bd15505e29313d3eae139d9e02f01aaa1a3cf2bc5085f2a286c8062ab25a68163baa472bc13d8945f0df2b68029594f84503e6174dcc0944a4286ca0389514b1ef35d2c4e57013a597b67104b4c78138da32f0bddff3b55f3b4f575b1bffb0e83ec21729bf490fbe0d8230900b6ef1ff62520800aaac38c208c196e16ab7dde75e2a972467a6a48f4e8c050ca42f0e63f62e43cc9bccdcd9c4259ec9e0940a9bbba3e34a7719382d62526cbf6d3b33445bb3cb2ff398ccc08e6acfc37a1169b94e2876ee113c58167f649446c1dcba9854a387f128386c88502434f8f37a73fc9471206f5cbabc0d9d6785e7f8fd32a333ee4df29f1889d54a7228cc8af541b8441fd72dba210ea1bfc80015e8e495290a7f73eb861c897f42d171d67694ca7bfdf7c7243da7b8682c3173b3ecf576cea75d0398d4134ee36c12189f41d081f4eabd62caba543766ab5a88fdaab6703aa91588b53357175469bcc893df251cb54211172617ab3431cd7ee9ba1e42bd66036f7dc5389f6467f5d5121589960f7196435725af105fb7889630ba2b49e05276ec29a28e91595fd32a2ee32ae2ad758f903720f5b875170a37a6385d121cd89c49c05057ae687bd2bd772ee380e8252676f72ac2b82ab5c649abd8de72513d4bce1b547a63ed4e2273c3156a89ce32a6ba9728753bfcf8f8c8c95e03b6ed4ff665ee6b9f9283b880ecd981322db381bd0de72c5f2ea9ad7bb3555d987159c0e4ed585272d6e3b8e2650bf808d70f222399b720109a5bfc9f0c86074596ad54ea57bf0cf16dc2fdbd381e233e28066b3a13b7292d486e29fcfb9c5ffc69ba1b77e33441dce51c3692f90c9cc1978fb4f452440cdb325c6ab72aff95683d419af45c1e6993cbc641bf1664ba60600c05c1cc66147e71aef11be7965736a5c22578cc0953925ddd4273fabd1284206d1637569712d56bc9f6c3adbb13f9c907be2627df3d3ec23ea9681990a04bd3322c3205c2b82ac2d7544e5af5859822b5cea35c363def69e88ed0e47055138935a67295b729d0f35e1c7c6910db7991e65f86eb9ab24990871d7b29c0e4b47d1c6e20abc2b108cb2fc8d3b4fd53b0678ab34cbd0d1b589583e2b49eda09508ed6f2297ec7236f2ccb06d78266eac65d8231081a38e90c3f047b655208dd4bd551c26af04727be04267b17ea848e3d15ba41e522d5a0c0414f5963e0e90178454f5c6ca3e72d7e99f8312d9a9d94fcb0d9bfc119ae7f1fc0b161f050a8e083a3b1d9cefb972ed35f8ec22e35ef7c24f59e2e6f234c087bc6491a3d5e65a7fca7b2ce5758e728bf791659cf5afdea3bea44216f525f87cf0b6becfbf82afd275aed828d07f3987a5733163ef9c4c37eccfd2971f4b69fe828393e9e6669826e69a71b7a01272394ae0eb2def2aca42b89e196e62c18f228fb51d6851cc513b00edac59195672c724fb01b72493778978d336833f0c333241ee0baf36eb87555f1a2a83591d5dcd6e0adad12bbd6750203f4e75c3b408bb5979ed0f68fb47579a917f88c141727ce6652939d00705941d8ff8c864b6bc5c9607250a0b0bb4847928a9cae7430128164175b93816b1b1fc4ac12e4598db4b96f2b167e35a5a0452885e02ec2c721b8e1725b03ef3b6132a48b6c1f2c4bbade3dbe90026ebadcc2a8819f38a961dcbeedf9ee4f8a8a0a40a04a79cae628beab25f44b911c7b473ca5fb16505d772caced0c9dce686091daa569985c2f90bddb74664be5e0d5c03522f03d70de532eaa5679e3c2bb15b70364a16cfe9e5822ef42035837d2aa83f93988324c6c47268315b9e23d96fe8bea8e01aa603a4664b81158159dd1dcd2b0601e906797772b1b7913e333d2fd42723416177adc6762f48e6dd33023698da8736f0dcc31872338093ab1244deccaec7b67d40e93f231f48b28d26326a5d9a5ac8c397f18972a50bce5ff8192298bffcfa3ba958111a4e9210da98bee95b3237cab80d07917203e61569c7238da5f2c040dd444ca78fa92bf86320c6e218959835250c89ed723746f2f7f682ecbbbd937deb84f153a22816455b7fb404c7fb4facbc149752389a94815bc1e53691003f3a6bdc0f7aae22ce70ee9f9ebdde4ba72dbf6745b8726547f9f526b30b8631492c90fb2272f786726ac1500284398a75825fc32ab972b467b70285d29d77398e713973062e06975f10026bfb9f747e5601afcd29f172e88d0601b691b1ba1132b98fa4628e5276d9fd45ccc5bbbb4a379d62ac64717271d1f12f5a7f4086b6d68c2f180ac20cd005b9a683039fa1ba3555cfb194af726fb5922ea8005294c72bcad588bd37b16eacf7b5a4c4398ca444f198d9c7ed57b1137c9d18939639fcc0671517d167d71dea7733eba2569a1143ec670dd139197b41cfb13a4939629741d0f860917d0e56313031e08939f1a511faa59ae2805d15212b6d8cf2fb518397f97859c4ba10715ab0364f2af73737f5e4dc257d74651ac29c1f265e908ce9f1793a42985dbd8520e22c1cad97b382bc62f416ed0f727db2a44e50407caee8aa5dd73fd1d3be90e85fdf6b3973d32ba74cc1d340c04d369c46f475bbc8e7fe41c5c8143fa36356d45acebd19970624ab4c97b0e5d8728f6eba7c4d3539c0412ae836e1aec6e1c7208c1160097bb65b3374040faa19118ae707f438359e7ee32f0dc8d1d3254d337a82e51d4f3740e3950713e04fb022c331a1e067105bd75fbac41bfe3522566dddc85a671fb2803736ac74d9e6e027efdd1a29af1a81bac7356dc2eb4ddf972881f517f6c72d9fb62447d04a20ca7279a75cdfdb6864a75cf18bc5cb4ba289147b037cbd94447d1e231baa972e79728bb8e0d2786a8b0b6c32f335fe80fd61fe663affa8dbaed7e0894a5a38da876f1c8dcb2c790138a08918d54bafd9dfff10cea9fbfc77cd3e6d647dbe67c24e51a9298def63c5cbb3114e509a7a42fc7c0963c52999dc187ed8830996b171c3720d4e062d96b8e08fc1077905e8c6a91cd090649c345a725d83adc6c1069f1272186f40d1ebfdb4a701a0ba3179052bf9bc42dc26aa994feff14a1415cb52c55c10b37821f19ab3868989d3b4ca3860e066cdb47f12b4f788f33f81f848a78a72db67a4d7c92eea67857537e07819a57ff5bb0c0883e3fa048a8369aeb23d62728c20f0de6285781a1cc1559334240d085fe89653f3b65a9694b9cf1fb4f5052ee2b137ebcb9d708256d11158f52e4c4ec527faf0941b9523e7f9c274c1097556a68e928b8dc7aa322c88426f03942f3bbef6c8d8633d59582dfaaa82b6dcc972b6ae73c0b0304783f225e67e7bafcf1681dd52403fe089a4ef73fade556d1d72892d0cfc7985d9398aaa227e135f4e7413438225196c93897d7717e0dd179f72e5b48a9d24a174aa2d88aa4e934b4272b45070e37009bd2057ab9e5a208793728228e1f52e58eecb172543f9155a1b9e44abd8393f2a392c6465773d0bef6e72b868c078b5deee700fa41b7f614569b22eff951648182767c79db90648a812166aaaaa5938def59a8701ff07a22ddd5a702cce1107a61a72950fa7998e75933e9f070e4ec04167dbf12b09ef7a534965397f7b6561b26e24569fcdcdd4d442723d99e69a856384a3146969d05d00c2c019bcc3489316a6a40aa2893ef39adb61eecf6153eccb4285f67570a49e59458e0a41797bb9622cd5b619b202079d400ad9067997b0bb7bb14ee89f692917aa208372a5ccf0401c97f5de41c3b86a6772f3b9acfa997bf736af56639d84c72ef9fb7da0eeec524b3685b5ce1f768da072a882f15eeadc7d82f17288cc149943bc0e8e268ca908b67937ebd85b0ba14702c1481b2730c2c7ae8d94ab46d4a90a3d8fa98cacf43940445dac74ae9db62c638d35195594dd8f3885cd839ece806bae470c0a67e1816a5f777452af206c0b72573cb69cacc0d460ec45e171f7c84510f48beade13ae0c106c4034fc3f7d5f40332994da98f70c593c2fbfc0e19552b697dcee1049d77c4c301dd741cf704c72508dd1b677eb70bd4096aad4e49357dba734fc03b36a3562fdb7d3c7fb14af72c73d47ffd10183fa2494dc51df395f1ba0461f2952295e666368647b32592472c422a42c45a5bb4b0d90385a33d19e7adf57a97f27f692c71b465aee37a5fc39bdfeac5d819c719928f13f4b1d5c688a056aa843862ddad827e5c024adddb827ba6e304fde98e41cd143737e179e7a0773eae5e6543feeab6827143bf740867256d1d714894852f3ba8c17ab464b2045e6c02b0eee0e84ad7f11ac41d48b4b72e1de94b34546484ea1a09b08c4e1db863248c3a0c0c39b21796714d97a50c75d8c09d1568ceff0f2882ba94f5f775ac46e7debaebf3f83ba1d74f7295dd3c2410ebf9d87eccf22d0f62e22dd0d022eddb420d4a84e5b6f2986869579bd34307215ac1b0694e356d876224addff046e407d79f1121161bc66048d1134ab94b100fe6687fe1d56fd6078f4630db5e96867c4dd115dea62acdc726c665c939c1265339fab65f563f46d2637a564e1501991889a01db8a8404aa193241d5322aa239871a394518370cf7fd1dba92f7222a3de49eeaca9ec39d100d859842a923f2624b3304b43d1ab7278afffe8ea6ea350ea8eba16291c3e3fe1bd88b630c3a461127f92137f3a671fdcf89128b936b3591fd184b5f350a68122c40cc1c452fdd2afb90a0b091be41da0453b8839ce35e0b5b6ac5e931707796aadded4d47442d233cbfb061f19ef84506b9c1948cdc49cc7984cdea233a65fb71d211ee0188fb728bc15a0d07a81509c0fe290121c60a7bdda08c93993b99d4f0c6e55eb461ed36c2a17a3e01bab7d78da9249883584ceb00d5fa45abb9e0751a624bb0e06efb72c2eb60f4ac507687a7086cebb7b7171e0a25e631825826efe1478bd08cc0c536b1ea4abe1f6cd7d64c787819a1b19a4a0b6a11eb1d89b8eb6e4e41131b98b16da452be601370c4136fff2d9880b05c47da1c362c20b32fcb5a9e0e11378b3a6a272ba247f400fa69b590b5e47f6ec4eea516986871fdd782a848481f08af3572e241535a80b1eda2d60634664d1132a2dcf336f4f263b2608114cc9f99bc0e72f21c6ad4ec786e2ea4468d82648705fc3ee433db03d39e95bfbd483131274014a035b149f114768a3418e02ab7df331e48d70ec0d9788d19d005eae207a29a723d4b39596a3a9b357e4de4f5861178d0e8ead9ae13006538a890f7d7c9079472bc9f4045111f186d3856aad6a4d864a2268621d2b9c0f768f98bc703959c9772cd29598e5620f1f2305ba7dce30e136a72b06178334baf2057f46ffa8d373b7240d2855345c025224cb696893c6084a006220964a7bd1aa1ae78907f77190f721e5085625f7a766c098b1e0cacff0233c025bbe850da33ce3817a4852efccf724e8cf84b40fa7c8d02ca25e147e9568260b61bb09dc2d55324e1230c8737744a4de75ce87c94339f7e82da0cd66378ff0091358faff973b7f07a496235afe75ae52bc061213a108657f1f86a2584b7e5e31ed0b4234772c9712dee5e6c279f72ef65527681caeede7908176c657c0e76df05558713513960f52c4c07a9578e72e25b2622f2f70e72f9ff8280db89d878cdc714949559ab845ee94a69a8e12472d1c77b83526313b96621fb8c6d77578cb9c15346e2825a4dfd1ef5c38460ea7266a50438ba27ce61a585a08d7f15b7230ca4325970fa598543a00ee1977ba372b104096999facc60ff7a55e8f277348a8980f0b7c9ef83d6133ee51f1033b05b769f74e9632830e601e5c6690080f3a4d32649d602f0806da696fa60a28cf37202bdaa3582f5565152c1a6e4e1b097b766133a43d8acce40439c1560a6738d21d823e98f14e76f59f8cb8d609e2eb73c252987076f54e5efc00d5eca67757572bf689043b059ebd5b0920b38d3282d0793c2f26b0ede173fb7ed1595f1113b1750bd16fabf1f2b4b31fdcf55cb5bb8ab8a7606ae0f5aa24bd4485b62992763721c5187f92c025854759577da5bbdc19d0a63a02aa0d06840196504f430610b3ac9abe0aa0e6a3d0b811fc67e1dd2d6cd6dcf6eb0db9922c8be3256210aff3b724eb9a371f98592d4decfa0ca64e1dfa27045235cde67b9d49d6f85342f7e24082fa43037feac74cd12158240a45a794474dafb72aed9b2181b9813212d94ea72fe89efe2121ca35305c59a81cffa07478d2fc3a0c4f4645315ddfa624e626c72ff1f9f9c71a9101600d931572f21a5ab48d437f519547ed97135a640c1e01b722f1dbb7a4eee853757aae0ddeb043fe2ae3bbec6bf3cdaac59e8909457a9f372dd14cea09eb0f74cfe4f74a30fc7cabe092fc32e4c97f4d6a551db7369a78c7228b7e2e9c97e4def54783c4a4b2a8e1cb6003b8be03d149d521628873ed47872e33c45fafeb461f532fba1479d8e5bfe01fc61e6f5a57346a3371b0591e5ab6884c5ebb91ee68b434f9f87a256bb21176023b53d66b5bebc4f99e6b66023be72cb8e1a11f02f88dfdaef29874189b8fa93014b4251c17f5b3e0fddf822f62172a0402176871178afa1fd403d6324930be445ff0a080a40f03f89386820024f0e6c44a7f5d7b94da87672ac275318cf4f672977bc11ab5c8f777d9e4387a4ca398fcf566ff31f769ee8202d63374c53baf5bf98ac758d594c667c48bf58a057720f3accc5dd9bd512ea24c78b98f53b3a4bb0a4a873739c6b0877ce82a5891d4664532fb9636fbffb8d3eb4947e0b4af32db86d5afa851192251ef96c6d9f4c3e11176c9e270e700c2214dc2897cea9af89440ce4d5a65ca15787a7acd7a64b724eb015b2fb2dbe94d5551f84f3b18604e3d48667598dcb4933e7984b3300382cb51e1dc593988a98b8ed30b7784930c6d7a8833bdd0a8cdaf9ac2a0677553a52b070298a494f6cfae684b82334259b13fbead0856ae4cfdfcfe40b5579b29d72771de0507738a4c20c45738475045ff6e94e99ac917cf01d95bab7b35db60b245f92ca8581dc12a33b916ba434e6fea7c3123961ebb0f584e14de87ba4cfc9723c335b2fd13e7a4d01dd1be0caaa18ad8f87de1098b5fe2bb1aef794a7feb972618d00bd1bf0f5fd6524ae75267b54e2ede302b00adf7c1ba23295efcfab6172884e596908214425fda57838be88041a4d84c18512622e8c83cd367d92738572a110c331a53c2e82813ac70b252d31de1af3ed4046107478a21cc7dfb79d6a72a0d79737ffc50303287dbc0ecb381ad50ffbf7a04e88470a90e047860db63372c667d675b21a4aa356f77ba5fcc095e8fa96ee2a23a83718bce2f65a4491e74494a91c10a575c777f0883d1325a8507236d458b85707afb4631fe608ccb55d3f8704a7fcc22e9c01d6d1cdd44bf13eb6cd0f17fc00ca2595c40893d2db3763578af65b89c66c18d63d0dfe9e519b909d532a8c27507dbe90e678f07a1018fe72b69054334f5574525eeb67c431ff54bfc1116f30b4fc978a8120581114152572f87aa7c182e80df41d3b9a1d835b8b1bf23c3e6a35ba712d1946e03c93b5fd72c3b16c75d0ff35bf33fe72bbf6bef04f199a572e7889939f698900840b1d6c7208d281146584e106b5e29051d7838793a26b3823237e797dcdb3ccf9f5202d72a68952b031164acf934e36f614c339dbfab88e8e1bf5d99c710ffa2fd11b8a2f76f4b61024327801418299ef6d9b3c68fc07f4ec02c939a78868c9927b487e727c87f2d322cf193883b5f7f119d0a1d4818916561ffc696589d7e3aecc0ae54379be38fd22ad8dbd22752b6f23f53bc7010f72b6f7c8986002c15ff39194197228418f66c0f8a6cf0708c59253f58e47cc86c2490114d5d6d60f5c93864257729907507e86f05510b221a2b3bf8b7b64b6ac8533bfb05507d37f4e7255d25302463b5aca2ffa7b87c1961295fa7214de8ea0ba243ee7b152ff626b5a8f55c72729d400d369ac1802a263210274f5d9fb1236c02a0759908ed18679d55390e1404dc53c6ea7bcfddf852c120c94176203778d11649fd525824697318ef2159c726cb2eca2ec0e42a0c870a0f1c172af2094f5541120d0c3af6879f8cef69ad4728d1aaae2b7b29d752829ac7eb37d6fa762dbb63f0ddc5575d75ff304d0dab07286b6f048f3fb4198dbd03d0047b6979697dac143bf630ff008c1b1651a95c50e9bd16acfedf4b70bd07923bb25b606b30f26c64e1db7f41cb1d0e5242d23d272123f506ab6e4d1568a8c43f4769ca3782e6a57ff1b689af4651c95873667321e2dcc4bc6129e4c4fca44fe9d6f3ee7bf9ebf329e1002aaeb4bfbf1d7d0a1a172fe22c726b9421ee923cfd268c2afb89b6a98e476d97d44eac3893aa8db1740727b9888d070dc66288353308b6cc6216e0ac90c0309ef3c6f857edd3845e0ba726d61cb58af151a7d445ee4f9f4166a1d5987340d3dac1e905ab36d70b7175072618e5a77dfa7f9b3a6dc16519cfe26cde6a7badeaf735a63a04dca50bab0461f2069d3b7033df9fb2dc160f5c02953e7460d30abf7e34ff6d21aee116eff2b55d588545638239972d3b20f09e1b317fdae141821e1471304e740cc014f69924b3eacd2d5e79d4e3e24e24960b7bafc8c968f116172e2550370392c288fc7d369f802d503d91d95a69f5615ad6134264b0218545bb2be5cc97cf86e68b7592a72a40564e4188cfd2bf996bf589916a1f2f8e314a06162de476a6bb5afcc93942510266581e7729ca68a0ae5e5b20c78e7be8fb481e2571673f30ae09e3f099372f833ef95c2cfeda8c69af8d34d237ebb43a6eac6360e598392796ef421eb326436b55f0ddcfecf5d8f281bbd4854be1f3109c8c06552d669b8d2befcae7178381a21774cb8f186b184e25dde3b76f6e166329a20f3270dd85de0dec1adfadd7218d8b3844583584a671beca672205c2bfdb7bf941e725522d3df5e726db6cb51feeacb2ff820fe491fd5dfda440c1d102e15494c72f702d39512750d1cbaf372a241bde69f81f10decfc66284d0d159b9c43cdc6eb45cf590ac44d29cae601532e11a869217d56170d4e194c94605a0d1359069c115c1df5d87e1da314149f72c45828f8ac0b4b693545957f0e673c2efcc1586600853a2b802f285ef22b807232660b8c692876e26f4e9ca3f4a8085c5de5df02f7ee6448d67f05e5d66d3971610990cd6fe99b265157fe9d28629cde9a01878aae2d11d835ed5afcdac3ba0c4816ad402308daf40d9b19baa0842e072be8ee8b1297213b157365408645a372bc9c1f4bfd84255dd06969eabe9d1e3333271a941446fb73e104f8942ee04f649ffc4c8ecc2e6a7912184f2fb0705c47d1143ab9fcf0ee9b605de4625c954a720a2c77efc385ef3035fca06ace482bcdb1b75d6d017f1c1c4e8a935a58d433041bd7f8f269d3f297efadac9639a72d92f7376e8e276f93fad2f7da99fa959b67c0182ed28318f3a002f26eb16c803416683cbf944aa78a202bd5f9e5c339dd7290637835ac8deb3acae89321b55bb48367322aef5c3daff98f695006b278267281dd05eaeb1c2096d1f89e3fa9a6fa7868bba9b56db129e1adce59c5af5b5f0e99712882975ef0ff9ee2806eb48bbb1bba1cef5bd13ec87d431ac8c3986e3e72381b1d14d4bb148a348e4df2e6e13cfd6827d7bac9153621190717250ba03917637392657a3496902b2f2502551c63e286b19525ac03344d8eb0e4c11878f8720a53b526ddcf3ebeac7b8c8582fa3a45369ced5409a1ff2e5955522e0b2b75723aece578e2cb0820f3dabe6ed6a076af193d2bccb76168792cb20553bc505b72185a9103efcc5eb2b4fd748eb14d0acc087210e6ad5ff09bce526f6bf305a430c11037438de3c0af56d2950abddc56b6b3db64b5659543cb22697aaceed933725010cc56a5133785ddb2452803ea7338fb2036a4c96c172bf92322a0c3f42a7230be5cf299c3a4b021fc8abc20b8418957a90c4c45b16664706254db895c3c7262306c69f628ede81c6639a3b7cdf4be712a59f7e05713cf30a1b22e187e8e72bd906180b5c780b9c8b2a4580e5a4fbf4a17205680fcd95c61395f3b1d97d772ffd2b8450f7c8722dd790d990f091629c59f5427f958dbc44e0aaa9ef3e72f724e1a429d9c4ea3471f1fd10b2e2b1e565f2a947a6099cbe7ae0c0f6472f2c47259c58d03765c207f55ad3b6b7939399008d250a94a90c9082a8483e04e92607256c0a8861888f8906c9f5f5d0ae4cdc7d02666f26044b24ea16e29c97b85637238874223aa14fe7b1b9fb674e40aaa9d6e7ad5cfe5e373052e370b677d91457282920dac6756d2cd1728cd369591436ba5ffa83ac3b7c0bcfe18394c360cd672fae675a768ded6d12140d9fcc449c50ff26e57c933b7c7ac95372b007e7c663eb7c4fe3e5d7dd9e11137f9e30178109faee7dae916cbac8c57bd53a7efcbb47298401995aa29528f6f6764cdfff8eb6877b292a0feeeaf7f65f80a87eb882d7232f6a0b9eb682debf702a86fde274932a9e308cebd792cc599efeb4dba8f1a090794d4cee3272dab5a0cbee55409c3e895f6a5dbcc6cbdba4065d88784482753c48680c49e36c461fdd9f1f10aa52f7706f946d5e59da53c8886477381ea8223941de8b9538c9a184ab1053e137dc3187c0c73f19fa2a93a4a1cfcecc95e15720361866c2991748b58be795e1ea2fe6f88f4d6c2131c9ecdb81c3e30ac5a48722baf3d88dbbccc93795a56ec0fed0e98c3e730ff93e409c7b84a58ee40010c35503d86ac26f83f787d952604cdaff7d2e28ac1d3b0fb38da501e72486bf8a7720775fb148f3821765642dec647addad13a83249d7d7f01705d6e03640a4eac4d7952c72b7f782e5f13096cff12632480f0c0cdaf2e6a92b418d2c7a812aa2772e9c9be013ab2815e690e02b0a01f73a9b09e9b90cf2950cb453245d5b6f915720204fa6bf21732dd89d311428ff69c2ee7adbf86095f5f72fed0ff8a6c736c729e6de41ad63d7d6859ce693414f612c69472d848275ad799b47118fb6720247224231f4c28b232b4949a2c04713897c41ead96a0090f5e4f9362d10eecea0672248090bcfb7ce86e3740a0b6fdf125124d3c6c527715a71d1ad16d0f5484cd7265969555b19049393ff3c4c049e9c57903207f00887f0dedde28e9c1ad683e25d02f55498fd01d7067359449cef39f99ccca94f03b8365a8dd4c3bdaf010be71f59e283e93c8faf702237f2d3fbdd6cac23db74a99aa5a94efd1fe10ccd10d7231e55b4c43d1dd80171e8fda04df6074bd99641ef1351b3f985c1aeb5c5e8872cddad955fc45a7ff3a0e9cf5a8739b43e135fb93acd690f42a5a5e4d9a11fa699c3993a362a1de9c5b494f854a2d89edbed6f1171956910e10046edeb5fb6972633a5fa58a0a727ffc7369bdf1dd4b179012646993a1b5ce3e2a97a0cbe8891cf7a0c7c4e7765f96f2c426725ddbbd3df1da6ef7ede9946fdf4aa9c721836f729fa2653a07403f23ef1ea3ec10023a421ce754805216a34135bc16eec218c96bffdc1a20abbd10983991b6e6a806af67bc16701036a0f672086bd7b53cb32f1e6a433b6bcd4df3e046c7cffeea37f6d672496272401d7ef4265235367a0540373b3af389bda40cc589ad08fc9ec01505a955b2cbadd553a054c08b47d0aa325f7ddb8b5ec7af33a6dd5d8fa48a19a9041ecf88b0622a550cf5523fc596477372fcf14a15b99a2feea7d081a742bab93b7d08dc4a1767410e57f640b577db8972bc9604cc130be03a7cb510e6ca252fc856b303d5916c7d3c4d3aab8de645f0326ea676956ecb57bc4d8918f3cb7cca24e27ae984582f26a29057ef024fc82c1909109ae559acbc187cc5dfc8297ca4373c26a40eb4e778799747ed571f2bdf721c2afd61d9ac4a3a739d5d7adb6661c00ffdb913c89b907bf4ba1b63e2e0a9724c9e5358965f0d720c1924f028cfd7ab748f03c4ed9e4a9731e46d577951764bc5fe5387540ffaf2b9c3f37eb23294e6c83d8d7912ddc732f97f274f55035372f3589941b9a14ac471791952fefae52c92318e7161cb41239a6512ab14a95638df815aac2459c9247f7c2f9206f03a6e4cbf1cf8ccd92d76569698081e5d0f72a0310c4ac2192e046eae69336d32b9642868574ad9a62d347b8b335099ef7849ca6c663b24b24b8eb7555f0270bf9969febf1b61ab4c61b80f296c630e624672f799d2cd351249c68411178d71459652fec50468f9d86ad485e6a3a4deb8db07b69eef578e0fb10aca7d830a45f3f0ad56ded87cd54383ef44839c5655516a0c611b86395ab57cf71c909c9bdfe54ce163c11b279fe6f57116794b837bfb9a594e497978b62c1bafbd36d72ae1e97b2e72b6c1793389de07eeeab0f753d6e113e86b4ccd89fc82fd85840e7076d4487bb0302894a30fef4b1a0ee9c05f421c7200d7ac246cce1ad32287690548d2e11ec7203af78b36a1b52cc879eaba814b72f17d6a6d77f9794cf3b9f1f828f4f3cd53b43a531b0322898f5fa1803bcd8e72502d466a0df84a8adaa4d7b496635cf5bd132a7700c98999f783a8d583ac7d72a8df7d49dc3670e905224a89a95fdb2651b568972b28e1bf3d45affdb0fdd80db94eb4681fcfbbef32359296eb36e629e6c4071bf830835aca29889f7868217247d8ec1a47d19050fe9313aee1b2a5e0e1c9eec9a765ed6d895af5c803825d6ec2114636d53eca26afb3525d9b1fc5d1791fcf0c2c3279a48651fbb8e6b7e43f8391643b23e0fc7c565c0506b3f11887c95817e76d4d0cc385fec1a41aae416661c8bc2940e09ff465ebbfd25fc318e3c9a21cc0740938bd341839ed85b0ca560b83b4d54ce22e45d6b546c27414b9ddfc4c8769c580fb556da8aa0dca7808408e94fbad2efac233310029cfc236603aba2b6b2a67daa01a4de8dcb12640256005465c7c2ec068000cfbf6e4df207781e2640effc1b6e65ab3760ab0ad108a72203240b804878229db5c9c0e8e55a61c956e4517cca2407c626da9aeab5a5e2223b341f0d7db6d1e0eaabf149c7feef53db7bcabcd968b87d761ad92fc827e7262c0e71984ae67c18f64dc1395ab89f425a54ca1c50d8d4c3a4e63869b6af044be07b7ce559227399aab39aab1189c30e5aec93f95fcc81fc8f7e405b2cf5c212be8edb663ec3cf667f257ba6f2816f10b976b8019e8957ebda1982a3a33707240cc0c53919a38decc9bbaf3434b5a1182c8b53e8fd0b738017aaf8dd7e54072912939f78e0bbb82edc15bd3b5295073c1366064f80548ef42f0e04770fa9d0b20776703126ced3891d0997a537b9b74f42d4afceffa01c74c86c66595cb3272e5e80abcf1b6ae2c0dc8ae7c0a3ac92483a2a97127409c0c8a313af2ea38ef729ceb44ebffc1f5717233e4f44131ef7d411ae873270ed37b137591133112c6722ff6f9c6b2141fe6befe6f7b4df274826846a140f7742ef9679ea4519b8bfe72e570ad52be95c378da62f9d689d95dbb5ed711c000bc152d4dfb0a417de68b72ce23b3ceaa7ee48f76fb2079e4c1820d778360566b7eec22802a75c71019a772e26d4df397425b3d34b62f71164266d878aae1c966afcbc9e72f87594b8ee75629cdc0a5d8873b85a4b04407450b1f8c955cf1268647b016f8f02eb749acf64c855cdf7b2de927fa177d32e9f16d146870ed47c9f6366e2944b4efc471a5c2727ad9fd67f33014956cd2d27662b7d5b162aa82bf526dce092c7503f72002e216b18f774f2973a054fb6678815d825c70a4884d4d97556fa89f7922301e89fa7248b5da772ce670e7a3d3e659dcb6aca7055f637eecf96a41a52372b085d13c72ec8cbba07a930bd2471ca1200f1e8175b2ea074e51b89b56132572501b0aa772205cbfa4d1c958c7a14d8283e1e3c1ddd92bf91e355d21a51b57c7b2f56ffa729bc98f032d806ac741bcfbb9b1ddc3db9665d7d1b7ba4986137c2236f09c415c11856e2ebea24a9b631f6a897ea05b25b2a24a131e31f98fd14930b16d4c0011d98e6da41128b9675afb6cada8c0869687bdeaa5992ea1f998c20a1c0006a4722ef4adf7e0431aed11ba9f907498db6414699785ae546316462878ab391b9072ad4b58505e29fac643c1aa21b1f44c5834dff31ef3ac870f7519b34b4101f57265da2754a6e134d9402a877a01e0872324cf2e71b8a1d381979a4bf24b40f8397ec2ac9cde5cf9e4ff835a63a296b8432b34e1db5d757121f13c325dd7a2d772b2f99192b9c2245889591e59c4e42eb3f2dfd5a470ef6aaa668fa770f0140127fa28ae240a5764f6ee1f7c28a7d208eebf82fb9559c3002cadd539bb7eaf2272ab9997a293aa43f841c172e71426147815d4acba829ed13d29f1b83ef0b34b72283f0cb84c367af444ea3c408f70df4942a741e5cce8b44f7673f08250d97872ab18ba753d68005cd775079cb1dfa1105c8036649962e04e692d3b43e62ed66324bb0ddd8533199db0f6b5a47029d495c410ccf012d83a95f1381c27adb55731e3811278d9970ce1dcf363d03823fd7ca3b45b686cbf747932c7dd5e3523107211214849f4926efc687e4c0c8f348633c89580d76d3e58165a4463bda05f1f72207ac208202a2496af4a47828e108468a17c3097c3c40dc42be30f767567a6613d3a4b875e8b308858dc6b3dbbe919564c71b12f958e1b66e2177339c039fb11def090c4186289fe6b60aa89d8864d67077022e7e01e8468b71666bad30b2d45b1219496cd8f9fd9e29384bfdad0257d77098855f6b229ec9162dc02c9065a722be873f39e8ca77ca69315343a009e5262e2dcdc41ed8aea8cd82f9b77fdc77247c33032c6df553231940172935ebb27eddfbc9fc3a75147fc801dde9455781971a7dcb8a9071a199e8585f1a556b0b1262df635a5293c44b7076804d9545136c96ab3a1f0f381117b2aa88ee6feba61db80587ce9b0ca47f04a3da4b42e527273a3543a3148605f2c166322749c9ec438f362431108617b06be950174a23872a16b19a8dd0d22adc948636badf62b3140fce00d809d8d38f7453d667a092e72a76c32003594939d67585b3467ac10857bfa90cecf4af0c3f63e880a942a3b72ec9baaaf5cf95a95f182e7e325b1864245f27e431838107749e9b96581517272a50a2d829d7ffb8f55825d38aed1a6bfd1bf64ac4f8c40c9de8649e25fa14272a8d5b5c01e5097fb286747784e0baefd86e11b493ceb3404490111a4d52ce172d8c57d29f09af65a7a5128ec32226ec5fba3a9e28ceac90d185ae39425db6a7295e564a7fc5d4de0f27493bdd2b08a31348274c42fcee753bec560370b589354f6cd5a9f30b3de9cc276248a203e8527e5a7ca3eb1993f0b98e5f1922349c51dfacff713b390e1199f531fe5a355b309d8fdc3087b254876fb254a5e4ae7415ff712a60b01cc185e25fa1066e2791f1b30db65cfb02b989a863151241881b772197df523f8699d9c6393e768424214d0fcbbf3e96af0bbef252bb2f396b1c672180f57fd877f70f182a4135c1f94959bfb1213adc27c3e1137cfb6d59770cb38b91f883c5f6dea4bc1a4ad8df50a5d5b41145ac490772bf16f0e4ddcdc76be7267a424cb78f07190f72f435e1aad52b154f704684000ae1878c841e43d4d4b72b1e9c93791a1b846e0725a6216ca1d5257b6c6f856ab4ae8f0248b150a83d134c96090ed2045d389038114e43b63c6de871445b0ce5943efff0b7d1ec85445687d616344c7920ca927a5f646dfbc4817279904bbc58e882c353efdc6810722728530676b6086534e80b50bea78d68e09edefd27d4b95748c9db797537ed09c72b7b2024067c2fd268a26bd002274c819a5f850d578fbfa87a505cd81e69a9b72cc5e03b80a5f8556e0c1b02840ef6442e6c5ca241acfb1d3b1ecf18cbc5c222d3d7e59023f75a2e865d28cef059e6cb5392b4653424e8336cda5c42c718e9f27ba60428683eb9a644d237083b2308f53b07be188fd7987e272cbbabec26e071b55ed016aa34156d9f5c645e08fa923f8050e723e1fbfc42fb3c3e0454c17e26ba00f369b79a007c4a9eaa407bb389645b0760846fbdf668a037a8edececaff2e560e7d852dde37d2fce2d7cc258ed4f46531451fbbf25cf5420da7445da34c2160149a3da81589982c2b720804a2b6bc8834d1a0769b5f9d8090e789f2fd0672f0752e63f425c6fd5233abd705b951c85d16ad25de412bf73e79f526133df255287f4f6f977ddca89abdc7325c1ad0edca3c8e8cff36256bf9b0c8de730da3230f06c602b1f411e706f8275194eb0b172ac9c77be07c9df9fac260aea04e63729a33baac5850c13c870242ae5786e8b3f86b61a81d08239a61d0a666da78797216789edc14fe1f3839765d3050c2269f4ab0c2efd0d6838070cf9932fcf61a7273b2591a10b155b452257e05c3d5035d0a520ed659cfb0379fbcaa3584183f729e1c4e768c5e188904e0182876364a353e7c98da4f13f201fe8a4ca024ac4772fa00e67ca924a44eb8b39b595bfaa4cd88cfb2aab9f53604a9028053d243ad02bbc28425c1f7a688bc7743baf87357b78ec9ccaf790ba807aecc6d63c28ae34e78558df36e0acd2e03d5cd60519fd31c2ce37e6028a0d438eb5ba0a4a4be7b728fec5e239df13b25462d82f8e7ab5afa7e5ecdf99f170b4facfb22cea4c0860c4ee61ef09f26a63bf1b0e8719bb94938d8c96a8e70bdb125d2b44e945c8e96727de1c76290502ee602c0a20309512bea253c886e114b0bec1af7381bbf3bc729a3ca9a254e805b8fe429064c61bcf982a379005bbbbab57f2dab8679668fbd64535218b9d002090a45866c859c1d87a430aa6e61b7117e53621580b6729d5972442a8af108d5ab71d045c2b722ae8669f8aba0a3cd51e32a4515350322457a72bac70f539c5ecd7ef5004f8cd75a5d4a34114a4cecdee5e9e4a252af4c02b872104626a860f5fc9fa38cf40b2d2ee76fae610b7d0622da5ce71b108e85b64672ba73b5f741734fdc4318998bda8739c10a5b21db58913da308f1cf8de00a2e3496782fda90ab1abcd35e74a0db3f21ab744d5cb775341aec21332dc50069177240e2cda68fbb957277ad64dcfdd58237312dfc1c9dd625c1f4f0f3f78ca07972131cb2d19bae5c3aa351ad191474902baf535b8963146b3d581f9ba4ea8c1e72c13cc047bb260dac054c28032c933e0c3fcd6cd8aed03212ddb545d4946f031dbfd663fcde79109a258ff89b92532f740d3c719048c18e268ced827b16ff1f729baeefc420ebad3c8ede06177331deaf6894a4f461290759f866191d042f7b72fd7259bdcf434bdd394b5e4ad535961e6efb9a373cd9ed3edf0ea858d7392c72b81ebc257ddd8fffbf7378b5a59923ca70e0ca5e185010c83c94957dc9388302cec208f11644099cdbc79783f49edab1cb2d0acb12ef968b8f861723458d457224f6353b0eb7e7dbac587f095b1c31ecdf7161722ca38a61a8317b5f3bba9560d1e8645a1916c8fe923be98890b1e5e427c6088c52219cab9ca02a539a1fc672f4e322c107b2e56acb48f15d77e6bf96748d2569eaa5f70e27bab84d18115e728044e275662bbb57924c1865798d5c50c86938ec10d0c0e6256ffc8d30be6a72f91e7293803ed9788f362b0e3c0a5dfa5d0bb46647ece54473fb53a55ac65672bb525f2a57d9bca32cce4b2dabe767a3800f71951681c4e749b0f691d13d9672fb3597d573c34eb04d1c55cbf0b6a8d3b26094003a6fb84a89dc5d54bbf37172cd436826b9bdd55c14647a41c82300fbc4e979c2cb937547d76d364780e82f721b4ec2d56160b19daf417bd157ffdc34c2591691ef17a88fca98f806e1cad9245e3032f986297d1dd3cfd08cd44ef38f59d7b9607aac9a579fe1737e5bcc0a3c7af9cf16394afc280ae327fc6dbfc79c86a03f7e68f50ba288318939dcba717238481f7876986a48111845e2ced5a1a56b183649ab1c92a81b0685552b77067220a014cfa9116f9e13cc44f5b6d49deb865d67c274219fbda2b7ef3512d4c538c2e91f8c74d466c6b23f259f0d417a9e2a4d7835d8936378d7ad018e049d16720cf64acc906db43b76792e828889ae46c0379247d4fc2ebb66de13369139e77224e9cd3891b802cc750867919cb04665d58ae0d0dc8abf92e8a7281cbacd9a72a1bdd6f5b14c801b9fb72348ac779687b03e90ebe7b52648c3eede008217712d3ec4a55e805af1082a2fff5a699d0d23e68b1463592a51a98f1ecba2e3969911a69a831ca7a7d69b8200c762d9d7712675b5dff1557f102c98a9fe3fa06d6772573ceff915f403e780def12b987d7deda4a3dd56889e8dbc74a9ba773b789c72e837b39b873832b9dff752fe9d53aa64f639440123e5405b6e819e531d0b4865fc009f5c23e06b164e8440f1a55ff7c31231c682742dc42eb312474293ef36729b99f63ff5fc9f258e09ba47ee8c7f346a1f991a0aa58749d3c1c38b7ffe8e4ba586c80a8c91231c29c7937b343d828cb7b9f6ee249195453821bd0937f0184a7c6d8eb53ac3e6ee2183b02b80c0c1af8dd60017cd2150be8f939812dcf3f54a70a889396c37e60fc17fb6bd78e8afaa723a1ced329b616e5dd9ba6155d99d72df06ae4e7becf3777c105b5e99265bec315f5775ab4a4a4854e8d3b114151a72e144b3ebaa63701af0230499a87e29e14760674ab60ecfd1af0b94fba8b5fa72109663f69e0ea0a126166b348115926e9fbe5864ecf76025d1aaeab414e8d772d1313e5536d86fe38b5e58d6fd217815ea05f1c648f45e9ffb7008b0af97df41ed657ffe266021cc3dac4e7e40adbd51f9f0c1e238385bacb9151ad51a08601fb40c4576a8e10584b325531462edabd998447a2adcc1e52c744eea0b0753ec721f328a761b662463441565cf7eac149d0d61e98c23a5ace517f48d6ae5b0bc14345e35e61dcf2ae2cf745a1fd7a72e49f1accad1745044bb313a4021c06f9119120fabc407a8e2a63ad8f33481fa5fed1cb008932dc09c3ea1cd456dbade6572ae0634792f7019d4c996f948d62feea3136d7db3de4fe5c9b48292c438130552b3930c5def53f3d2c445d471bd9de069b314c622e865742c07e25a97914e720fd863047e1e50aef57e5999f4b35c39355d03c47aa01dac3135ed7038ccfa8472b51352557575015aa86316199f7418a4fa5a85781df2a7ab86dd17e1c6fa92727827f8907cb536a3dcae25159b28a2996ea2849ec9a3a4a3194054d09a22047236aed38bdd20eacf1adef1fad83839f168568f152af4247d82e31eeca1a0a6059108854120c4fff12b5ca7f196248b4971fb3247669d1f74208577003cede56bce7d85235523c444290309d5823d114adfea754ad9961852f35f7dcc1e433e0244b05fd04d07fdb3093c1fb6ef7b771b7fd9114758533122287aa9ce1ce12d720b5d2a009f12cdf25047f16735c47815f12584f6a78d906ba133877006d8537230f469cc5587c771be8458b3f2eac1707ace328ed20695d3a4956b83a8c3912dd26f84f3a46881fc09be0ec001c4487e174a0c0559a6d32fd81735c111ae1d5b86907554127189e68cc9b8f203e811aff5fecbdc0338fb39796ec96a91a65e729523eca0e30155615220d07b889590d1b01ba5cd37cfbc0fc16c711a447abc724f091c29fd1bd99b28bd7d88177e7da03732258c937b2fb04a4b0980ff13892c42d24a0ab15479ad92eade681ae5fc0509b7755b3d7fd857a7d83daa60579825aaa923bbcd035a59d3bb5b0838e2d032344f3b2a821b172a81dc91da351b91724612dd871a56bd045ef4b762602295c2a4a36390d76fd87cf42c1dd45f85cf72a798100694ee3dc3055bfb13413b14e98eca1ab48b08b4506c74e8950cb28c7239ac44f8f36c863651a932841af26ca99be998a20d5bcdbfda0ea53482002d72fd4ace699ec9a606e9f7c6afb67cba27638e474023de6907abd408be6cf33d72b33c048481a2a198b53c1008217fd58b302b46fbe777182f1e0e74690c79bf3c8cb2ca118de1405c687fdaaef5627c2649a7c322daa61c4e6d94d6b1a7966c7234d8331aad0105f714d2d20a357b8577573d92e15fbcf127fc4b824477ef6b45e5c0fb6370a8ad853751f2e01a500c7e525ca04a1ccf69c34bd75725fee68a37dff697c3b2a0ea1aa5761a0cae060eaf4775ccaa2f2253325fcc9d3a595aa5462141695e1252079923888128645f571b249090b03491872cb8484894556ec7665d986ab83a9b27fb514213c681490c83f08aec8fe2524779f94c4d79176c6072a6133aed99235bd1ebc848f494c4fb9cd2acfba6abda892092034bcf4c79757281f9e75cf781bdf803f275e0d8e7f18b8bba310bd172b2b4ed2a0c85062e772b927c43a0d8c0611c9994bb3dccc708a9b505cadd15482a7c08a0fd0dee057e72ecaf768e28b0cba1b3735ffdd7154486a81de087ccbacc9d1f4483d8e838e9729892453a1be5cf3979c1a3f7d6978b4707df1482f83ad7999c71de0cb707e42719cdf9062da06cd65875242974cc7ca58b81be32f67db1d49b1f1ca4eb9ac556f9c2af4661da532402d823cc3c385d59632776b67d228fbae04c0ad234385037bded9742274fd2f318efaf7b1addd33f2df1831810dafa76e136907525897472449b9426017c5c6aab9b9b208a51ee22d125c7c082dca8ea0417e6ce328b90728952880346f21446c6e0c9bdb3b6287aa13a455cd2d0960c03c063cffb7f231a8b370f42ac3b78484416c4bb993a237c7dbf27248e4600e26070134f5de4d072736b5211bb447507eff787aef32743cf1e9799f510e37e52a98bf4226eef4672381f465f71ee86623d7656939c242893f84b63a37b2b8ef268175be4b8cf8b726c3623f6bbabf57181e474e225c7e7001dd6b68ef5f6f270b3a414d50efcd84e9edb99ec3c9230c0a92227f23fb399c05555ddead2429f80d510b59ed40c567299042ed60c8ada96679b91e3fae3f7ad2e05eca939d10344a2c8ec789931f472ff4f91484266d6b444ae76b8f4b9fa339fb2c953d62cae2b3d6998e84d841f724e7e993f2f32b1b6d7f77ee15f234e7716453662728a2b50b71c37eeb1123053ecec2ce6e5dad3e1023d9a22d3920edb929e121f0de5a347b86c0f39bbe0c35d6f144e565c6bb8f9a0e468545781ceae50911a6ae672959d802f26ddecb04637c1a38bb989c3a9655033fa70ae7d15f4c4f85371c4297304a83f81c61d7ce22b2b13d4eecf817fadf576962255deeabe33c5eb2589ea7f2ecf040b62ef7f7a7225bb84a62b80262befe68c9c9a9664b6b9929fcac770a8b63f03db7a0c506672ea6d7744a04eadbbb5e7bdf8bae113f47dd07871a03aedf901eec7423e90387292514960a7e54f16959efbab7d40f97c2ed6ca25d8e7571b13237d23edee2c12daf74e8a13376420e0e3d93151d508007cd6c37fc2ad5c1413d78aeccfbedd726b0db04d5ca985eb1db5f8f597c1157b6c45d3ce4ced18ad999f6cf1258bc67273c6608f7a595fbd383c50dbb57801eff97aa8cdef6dfd9dd3ada5670b703072f6077ff0bc18dd4d961edfdc93ed759cbac7a3f208db491352c2b26e3b2cb30608e7031515c124d752781bdfe8635b37fdd3612aca658c3ca85affa49a479a72945c0061f7552f2fc8f1d41abb4830e8ab03e86f05cbfb13f02bef7f6d18061b933a8f0548567c6a47f6ecb50710d4e22de37918fb8af87515c62a0fbff58372f230f1c1a821f122eca341a39918f2ba383ba0a51d7cc0471b83b943bc8f21728c92073d23e86330a11c12b232c39ab80751b4f67f36da8ca278b777cb010b72bb6d1725cbcfa5455e1f3cb0f3f2e76ac56d0fe4d51b798d8b21aa8791b99e729702193d879ea10c674a5c331d739ef2d8d6b2a7f9bfee7fc52516f7bfa7f5721d70dbaaae7fedb2432d7c7c1e7d42972c96fc68d5a44fae07a246088beeee72c084ae40522ae60e599e10ffc0c844c3c91b5e443cb89c4d2da4293250089a674b04c1916f891e1dd5ad24ede91f4f1166d19c051e1f810fbd075bebe33935468eca83ad767dbe95f1cae6cfbc45cc2a89390aec845cac5d3106ef1ff6aa0472025aa1f9fa006729c295714288168df6ff0e7017fc4354b684d3899fc307b3720a24b035b809ecb37e6e83d8fa0c6f4bafdd6f4585ce1967eb660a29499fbf727d08380dbc14368fc6c53ef7d8d25f94b1f355d7657b30f527debb7daa69a919c990304aa0f995c664cb6a908a93aba706682fcd610918bca77f2145e60714703c9c90cbcfc015b52712ca6356fba468235d81f84d89fbff4e5238aa62b39e0750d8e3ab2995fb7de43415bd1aaeb2a17641c665aa1fbebfd8e027e8bea869476a3dbf094e5203b4385127f99d4aa68e6538f81230d4d78bd9e573ad9d302372fafe6cf86a010641a5ee079b13e8340045bc01bd8006dbb9086b0cee8f4390531462391643e42577a8fa6a6cc9fc04c78e56fa0366a29c8af8837ccec211b716c50fd7197f052295251556b95851ff29364eaf09c8afae59eb60539d4b20157211dfc3eab4525ddded09cdbb536c2d4f0c6fee74d9ab42079d9206465f72fb7252f633c357480295de8ad656066515fa108e5141b0e432b6eb0be45a9fc7a32661dc6257be15abb9549ad2392c6c61c61a5ec9dca722e156fb022357b09d8d0d9707b51880155133022cf98c54f03d09d92036d5a0ec952adc5db731f45ce942005596de48e6308640c6549d1aa1bdbf0b4da13e7af69bf28cf6494fb7a96c72ae0cd714f3bbe37373bf9ea21dffe17c3bb1c3c511f24bb20aef5e0c5d44a9722320f6aa1d2750c43d2239afbd6584b62d23fa2b11ba7d2b08a7dd47fbcbb6725303c8daf1b1cb55d36cb4326294c486836cf73ae1086357a39dcafe863a8f69a6cfc4aad2c9f92563232fbf1e3b9e28d7a3f330e2e8fdc0ce4b19c560134572273ad866f3c3c3eba386976cb94bca580b625ba4b55d135973bbd94fcebdc472528afa625d8b0530894b16cd0a55900eeee3f72a218ad725947d1b2db5fbf235152e7d7d4f160367793e916b9510cb9e94402edb1e190b6d28ce57c0a3cbfa7212670e9678abc3b6b5492c4f7f42bb2bc17938120b78686156e05d24a85ba372cae07e3383900d5b7353e4b709f1c0587013f9e3b7ebd6a2e841bce2968f9672214fada9959bc63d7bd48417e5affd906dda43425b330720cf22e99b6a1d8072e3ea30dbb3cd9c8c2913408a643a35c19ddff9f9f417606a26d904e7ad249c0ea52a1662c87210de75bdd4929c812dc56fe1375062cd1000e9a9453aec9a7c60b39218292b7a245681791f0a1dc4450f9ceb54b8ebcd766fbf983c97ef9d107207f4f7a21b890d3667787e20a2820c5999ae16f5704df4ff65ceaf262308a26d617f0ca49ca0a80588b5a38b6800aafacddb11df8c04fa912f4320cb280a0472b492030a7c8eb71cafd7b8b479ca931f2c46f0b539e9dc6c1637f45697e2af722f3af3c77f19e1258befcdf850c97da0090ad548d6febefd4526247c687730722c42d7c6f39b12a01e26919d8fb31eb95877f9ef87e81c39112da7975fa4ca7277c0a31cfff4f76478f37fea39795eb9561d64d8136487f2a4be98c957f78c72305c680f730b7b66f8f5c0daf5af76925d7006bb753dde70cd36e6f82a1d5c626144c12edf814fb5428c9dc57253492cd44c23db7a0b8eb64c5017208d7fd80ce2a75bdab82ab386686d64fe38edab1bf0c4840fc8fe666e61a0f4e08351ca6854238a74eee1876239df72aabf10622fdf82760c0ecada74d897111814811f4c79da22870e9b825b69bc1a6ea8924ce2cf86dc6bf3d05dc9e3e93c6b74bd4f473461268a328a4bcea2413035febece64acdec72fea8cf798e8d6973262ccf672fa595fd0289b48eab44a499f71010208d659bab1ae45b2a5425cc6980cd64c14f1a8c386a255501cb504bc0feedcab19b09c9605058488e97eb0594cb463a172fc47c5458944e4fee8c961926d5a891f831d2cc52707a48862dce263921925721c85e2541de7ca5b6c5350475c3f5e61c21eb3c1eb173155430e12839073a172fc3f1e131a877eafd676b996c34537b00734eaa5c2c0d47a1410415c011586726c32a9a3347a8c98cdd18b8811c7906ef85e301620681bb106f16af460101d270c034bf30d0852ea81006d33a2e786386930a1b2b30c8ca2abfa5ad9c7d09772804fc98f40b7389f7f6226c4264dcee557a65cd0a93e66073d8cec18ca4d0c72420846e35bdbe1440ea9bf2488308585f991a5ed673c5fbb698574466324be72eb4c6221995793dc76bdd1029ea34e371ccfb45ef807e1e0f89c6583b157964ec90e67c67b9e0f477eacb3a0b719f463b992f461158cac2b3c681a30c243ff115aecf98ae45be4751c937f7d12d5dbff22febb98a4a6b344b022430c5be7297269ea87aeee45b284b83d955052f2efe3055889513d1ff5f5366696576f2e3272e374defdee8a99777c9fc293ed3d02f6a4294b8513bd1ad5df7e22b2a31419727d18de2e3fd5732e4fbe5ba3f17c75ab9a741f3c708a197dd2ada2ac96ddaa726d65d3389d8bf6c759f5c8b5643526fcc2e937bcdbb8d4b83ad1b2f369323921041d01ba29ef10344d7c6fe1e29d67c501d03ccd8fb3f2e2ac690afd5dbb577223a690e6b1868dd61a143fbcd2b203d0d0e210d56f2e03cb94ae9057c0532e72c33ccd4e7cfb6f07d7393124722360b55fd23121a72a3ede3d17be195b3f7c7215e27dfbfb89eaccbd88151ea807e7780789496211be28f409e22fb0a1957c4ec29e49f8e0ebdf2ae002cc780f33aeb75195d5c942b8c1d37caa68c0b61e1072464f36e14606376b7d8f3418f5ea4b941638c9cda164255e24a0690e95886e7258442661e2b1c0f7e62f16fbc72c402c59c17517e84043d291ce1e6040b5f73293e445d4f04fd5cd01911712b723b82b75804b4b6ec65073a16f99386bac2e72ff4d1f69187200646e2ec571ead21eececcc9b7b7cae39f8b1e8f2c305a4d6721bebf9a63640a2df8dc21b477b563788ddfa0b25df3befd4b85f1aa19080b172a8ff44a648aaa13f5dc2b6ef2b57e59e1878498f6cb864ebdad14a1ea1affe3a0802da9f8f5697cff954ba5a6e4cf397684af1b83348b90cd38cb78b627e596da0a20911b7116beb7b0f94af8ca5594ae8fd90b81ff2dfa89b514d3bdf400e72eaa021a17bc40ff16cb55a90556bf5f9ce87bb43f431b6327064573c8d6eff1c8a8410870e8ad2a544d930023d993507ef1d0bca8d401224227f445cd1390572036cfea696650f6ebeac67ee062e5832f4a9d987399207d07351d365871f5b30653726c7968889b200989e9eb587e2e455492fc0fcc0a6f4540920edaef6d972578d37c651d2196ab79f305d84e4474720c6e6e30da59ba595503274c1fd5e2bcf900f42794bbf0bf28cc11e45072e521012e5af9c01d3c576195e9a40d9bf72aebdf0cceaa067eacc85b3f457ad2752f5ed71d74d26560c40d0f9a13d02a472d206029cb12de1e6991483d2b11ccac6d5dd3e4cfb321777a9d80ed7529cb057057a90fb071bffc5bc8ad1bd348bb7d927e3ab97266e72028d1eb59e3f854d729c58a1d14651f8c873984de45f81c0eb25cc8c22dd1649b64f32b3575f1d1e23ad18d1f8f68e364ab5a3f681a5e745686ad4cf1f386e121fbd61cba1792923439db4d958d63322624bc0b5d6888178e25799f94dfe4fd6329991854fa6c1bc72a305144f7c662a91a0794a44db18f72aa15b1e0ae25ec79a4079bb5fb29632595244e797c4d8b029d04eb43bcd2f86d249298f7b80e4c3da0d832c174db69d7204a18befb53f5bd32852fcab427d455ec99e88e62d878007d831f6408a58a9727cb2681483a0307262696ba9bcd993c3253f120b184cddaf3a69b0991a863072022be267970f536db8bd34a2b95c54c0d4e98340da295ca715b9c22940893e36f30795668b14180b24985b2b13fb46426f67a14611b00d2fe4a8a8797de9bf72e8dc4e0f34d4c6cf8e098657a2bec05e3c92e7883e598a42ae23360d5ff5e972326b78fbdb4c5a12f5f87d13acb679124791c94392985b6921699acf29cbd56e88e5a39a0adb28ed4192118e09ab2f8eabe31395fdffc212fc88ca917f7b183b09bb14cd06aa461da6571fb7f1b6a69fc01741238f75243012aed2061ef74d729c21beba65d897ad1b36d43ce9c9219d08d9ded7e91ea8a052ccc7fb56ea9d72b169fe30cc310c83ed0d9819423f70cdae313e84b9e0b5e773a2187f01666e4fa9be499e691f58ab69f9aa0ea07a99a58141acfa7d733a9c3d00a6792b51324a7f3189f8214dd2a24dd0ce31ae0e00b67898b31a1f409e4f97365eeaeb3449726237e9d149e8b8b1e55a48ea0f145188bc3de86a54c262bb0acb758ba49aab72b23ddd1519abf6c7437e3a31d08a42e9c1ff0a685bc342032a9557a8648d8d45ab6e34a2f1d3d81176c6966b5c1a35d9bc68b818a40468fc2503608790edf972d6fb946269410d20d6151ce4fcd8dd0ead9977e670081811ddeb9932e99be1725385a8ad05276cfc446a7283aafb58ad8d9af17b7b332ca4ab2d63f86b6dba7250b1094bc540804dfe0f1004d06a35aa0658b46284eb4bbbab59ffb02707f914a10e8721b27827c48d94f8d355ea0607ff8e68ae9596f861412d97d5ce178e72068002c8ccaf2a9907d8d9a4d6ab6c2605e3832e33ded7c31857b523c5c6497225eb21a365be710e3748bcf39d04a5ab3b2a8cd03dbbd80ffe3deb4cc1b9ac5399a27fb054307d7409a91c1e32d3e4fe2be23817bff8bef4188e5bb549b37e72ed7b19230a061f83b6d168694d0de4eed28d4c6e1fc2c31c7997ba5bed859322e28ae9252088c6706984dac15ff56bf94e4f2e82d903d530b276b625945b182e234480d9771096ca65888c33e6f35f724ceb60278603c38751056f780af8432f7e351fcfe14fd9cbfbb45115840494710215d539f2003ce69b2bdad1299b2a72712507c918f0d4fd70380b0649962db909e6d52d633c4c3fb57d8a010590b572eb750962aa22d68baf58eb77f9502a332f02c1bf938bb5404458d9a6d83daf2a4d11e3e28d4087951999baafaae6b7451f341f8f2d1176de7dd91e54a7dd012f695286e41eae4373b87f2e1c865b36e783176f998e6fb59da6655cca5914a572cae9d69054e208fbf25221d7baa195dbd7e64db2a07e9f98c09ca8005233e072f1053c72932bb6d10a078d661a319159dd5c2f0456efb2a72f6aad546df47c1852616ea431325c926bfca623e764052d0c6b48b38454b446716aa433d9fbbb723b94a0bb54dfd9bdbffca6c37e1ed4631c83a832c4e8172ca1f6e471182ca772a01d224df3ed4e4ffd1e944a9c6acb08ea9f42a162f0bac7bedc209dff5534729824ed439be6e735cb46f3c06511088bf4e7e58dac990993b3930780905d264597d5364d61d46fb235481180cc8f9b4b9ddac523187ee1069776396d3a5d38724c4ecddc96601275a694ec3613da37c8fccb191fa4a661da90812bf8cfa914728931f9398d9b740e03fd34725a77a48dd4d04d66725795de8db7c0d3e05f101b5db7e499a7c04dbf30d06a5d9cd9c3e37b81ca350ce860c4f23a539b6f511772a126a031874c70408640213032fdf44af0d96907ba51ba1a2b2334fc6a50da462fb71848da5d922746c10757a3c03ebc9c62a725dd4ffd565e636ac3049cdd724d365f9f48fb631b802b1f1c32ce3d26abc120802f96471b66789168122132729fe6df10a94676fc4d05d37dbbc22f663cc81508da9381fe0379c35e9efe2372ca023575b085407bc0938a3e6d45a94d2a8408d22e5119a4d99557e81dfa297209263d02a0db4c4dcac282afdca381dc96444e42b2c6617abe89ad188c41e36758779165201e37a631f25a8b147dc382fffd5b6513157df5ab459f49e2923867ff616d2883a25bce956ea712739ff73baf5f8a59a73fd952a3718a48f416b772676805e68466ed7ad61b00779b1d940d62cb86f59b94effe68b61eec9912565bd7ba4a938cd7d82844db5a0a6ca4155359f707ff69a71375711594bbc0a5c53f06b29b3347eae441ac45d87908ec756d52212b06e00e549c18979d603e8121729a8fd42d4a5795fc787b0cf26c8e43d2d052a25f5b83244bd462ba70b46a851744b921cf16963f8e30df43f8d67d96ccd6c2faf54c5d363803acca0f6ea46a72fa19334316d860ffa59e4496efc6d54bc9a765283cd0854f2a5b0072fe91bc7225e9afb81eff0bea30cb127a0089a5d364891d71808247daaefe459175b44072353102a3056d3739cb8fe8fa466e4bd4726164871ad1f9d27732c8fbc66bf106db05723891aceca5b5eea4409782bb2da17c3ed64e2b72eadc0350086acd82727b217acd775fe9c9d7992c611e0fcf58a5f1d9a945c93ba0b9393e4a67816f595e12cabd548e730732c866010d7c82b57718671df20766699958a548cc2e5272bcaeb78fb9ab628cb90b025bf783be2ea4da778b5fa17fdef6f11cb65a6d990a5ff0dd9e3500dbe7c413abcf4ad475f4a50b2c8717d29eb47cd9473082185406b3c579a5ad2759b9c07345427e0f9a5a372f9af46a0592ae66697c75ef8a7c59144966c3561b0835c4ea6306c52a4ba26eebaac41317cf048fcd63a678f8cc72f7b65a15120965b7c2d4728d9394ab107407a3f26ca12554bdf8a50efee21d23b372b7304fc4fe2f56b828ff6db10368d40bd57e0caebe8051faacd58eabfa37fd66e77f58a201031595f4154052f7fb874e273bec1696cef755c9cea6a867071fd927e34649f6d953c0967eff548b625a4c4ed7fef5ea3fb40dd8343137db02a9c6e0b7280eec116ffa242ef0628187682f47cce5c84ebe05d4b05dff483a0c419f8bbbf529612fed98569292c19e480f2ebdfd6a907c40a6f8918d7dd7ff7212a58c5e1d3a8eae0f92e4349c2f6f0587eb94c8ed08b42563319d568c167d72a41360b84e3d740d50e26d451e378afdb674c96a01ff329d4887a5f71963c51abf4111c5bd8520009b44f729d622d038b05fa3773385707e64bfc4512581e50dc7f113ca3feab0c321998abb91578bc1ff7dbff1d3b3a1606b5e1bfda1b64901201317929661727ed66a3518dadea85c2da23a4e218d01e933297570a3b090577b8f3a5e9fa075e2cbec0eb1952bfa39e49812b027ea46efa4ac460f8cffc57220b65191c2a297642ba4327ed933cf5e7c49b1bb4789cf2f5d87782462cd7c7211f9c40a2f6d91bafcd5df0039b398080070fe2454351ca67aee79c6c7b1ad728005c21d7ce2658af12386299df8fecde3456c9b2a0c06e1e270fb71911c68623f19d611d1759156adf92362513c09d331c7c282e8ed453aaae0912e68276e729a3a0083651f3c183ce1cd4092c7111465713a89d7ea02f2e0ab1d42f84efe723bc6e07b8220f64fa805310d8499e09d9bcc37acecc5b27bc49c6584b84612727149d27a7958a6755ee9bec6e4b91fa173033eaae70523e581814b50a5bf66723fd9ee4668f12b51fe66d092eb6b8009d03cfef32ec6bba5108bcf003aff8f7298b9b71ad4e1a9d928a1b3f2f795bbe4ccf5c6496dfbb63293e4d30835846972137d5cfaf453ace7c3a3c1077ff7a8f55d65e5ce793b87127f706138102c4d132040bc38421f0385f0c44aa9d61430ef5aa80375ab1f1df29ce278f7d26a29726cc9bf610bc352a78055c9ceba332b182bcde56f5580cd2f671c27ecb4045c7253180ccf7cde363aa0f281f2c635708cd4c2ed078763b0dc6266336557e676721b4953860ff3cee58a5703975bb0f8056576263876976ceb2c1dcaafa20c5472b2845c571065b10b55d7ad38bf72627dd7fa8671588a2017cf29601005e7a004d0ab16852ded34e65dd984b8bd74f2db09159b8682df50fa8aff42cd38e9e07258e8f6e2be008a548b695f72d61c68515b6d72f373642c30be85cf9a07095b72fae5371c50aeec59f06f89015710c828f157e8fc7446022f7b65465e81a0e0245c5784418591fdea74d0885fc7cc1baee58fee6bb149ac6087ea3f435a9e56724259705441b2c8248623e3f065f876bbfdf862ef37a39007b2340196cd780d0cab1b2fa008100c72534b5a522cef8ed900415aff852020ddd188949016130e0e7389fb2646befcf7bfabca10ab5e2f59880ad8dd891ea72a457d01492b8dac7212103465865d186c44739d0cbd07538cda13b68fda9568948e1e66f2f0f6ea72ea941bacb330fe27af0931d03501054be0271e3b3f7246f18b84b8611a0cb2721db77dfbc245ed784c879e18b67e418e70c67143eab4dd4fd63d6c101de6927261c2c1bbe47fa788cabe34a2a0c199f51af422b2e934c37afe411c8cac069a724d19fb2948b32b7ea9e3328fd3008bb4d82adec147d6446bace6314ceca50c442458b2d0223b6c30b87d4e560e487d78976d619dc709bfe123bfb34125c75f726d2f0c0cbe89e0ad9524547efd2e002a831424ff6b337d1c9d207beb7e08c972603d4570a04793e8907c9f672ea29374e6d89c3467cb360c8d507288eb40a943145e1195b0bf34c5799c24fd5ceb440705fdb24300d8b9ea2f111433afc7317261fe46916be2946cbf5a61e65598160a7c372e641e10312eaa2ff875002059725bc5b63f38e6f96e10ac94e793177fee7ec36d90e7220b15f3cd1c8b9d7f0f16221c772241fc8d43d378df8096fa00a9b50efcb0e078819031a56df42c873e72528f66c102cac47097143725ba0d0bb8ab3c7ec7c612d3a40d9ce4f470cfdf55d52d55be21a5826e433d2552f1bd35d9817a31dc324d405582dfba180008175fea4337515be874e9cb42c04ae51831e5464888dcaf22d97a33671ed540036172b2c5c5af85619d2d4d95fff0bacef8d6c4b50727c101066c40c16d4edb4fef72f954a39f1054dd9317cd81f3877310b33c2afe73a6d8ad7c7e56ece40470b21841c65608a3fc579762a5cbcfa6aa1d357ab0f3ebc5a2b7fd4b06142ac03c394985898c2428b92beeddaf2944b3ec099515df8d45ac8a217a42b2808c155a7b2e576c0b6822b4b44ae8037b2d21581ff8904d1990400d0f11d515bf8387cb2a70c0cf5ff9b5e46c18070ad9af0d91ab1a16a9e4adc4fcaba67d617180e0b293622c58b6b6ec522082eaab2582d238443329b3ee32ca307efde1f51e6ef6ead63026e5765853f6870f7c2e31dc619270f55c8a0b70706eca12eb2f531619b0d4600859827e71fc3c738fc837ba450f3e096b950ceb888b5198874d23265634377237b09e7589404a45f402c0b3be5b48c866a14121f8804dd64fa9cb0e5f92ea0d3b6ffd35f82d9185495cc8ddb32ea35b8ae85d877cca6761b0bda17abf027472768f2b008007cbb4b439406c2631a719fb62bc3de5e425009a293a5fd93a84725179fc1f60ba6e5fc0945e8e48166fec2737f71dabfd4639e024db86787245727903e5871e869492e22b7fa5c493a44ec75fbc66380c13c5c18b164cb92c0b2f3403f39a3caa025211d8d445ff73c8f9628fd3ff154d9f15070ae223fa727d72d635daa7f6569face37d11749628dc5bf2d23e5248b28ae647c1bc4a7b364472b8c07b4b1b52f477dba6bfb0803a0e0cd4735534d5f270860cf0f683ad6b2f72405f00d874aa2ca38bc86b2bdc770274cdd3e2e20c61c44c9ad5cd8c5caa2872902c37b1e9de3c8603884e989dfa6ec8b209142415b9a46b11387bc43a5932432be419117b240a32f457734fbe56b044718062b703b3c06642c2e8794efeab72107059aaef259a2a997f39f1028db98e4ff1b2c0f7c8783bc1c88b3aec182a72648e075feb7e4bf3b58b9340e8ff8768c342a1bfc33ca67286689a564682eb1e24e22ed0927a41c29b14a8387e6a210b4be0f7066a5d49e064cd4b267ffa104a1abfbdf3b64ed5e066c6d811a4219650a5b06ca77665e75201476b38d3c89d720b1736208edb108a81efbbd05f4d9a5ff64e55596a754f7977b309f7087bec25c9449e02dd336567ba5a15af1a7b1750222f7618e8c91807ba309f2b8fab5f72dd8eed526c459ecfe18f7a2b8a2b365dc775ba9f5f335026c5d2385ee2cc7e1208a15a6b7bc20fe5c8e33dc2333ca57d70a5ac8a0a779004029e39012d9f7b1795070cac567928621721a78baaa765add41f851b9512dca1281d68eb4598c772aecf104c59f2f3d6df5190e3f388ec41a60982e969ac104db0d23b4166def272be87be54d4e872c4f8517efe429a926c16d8917a9c71b0ebe92d03923662557213f543aa7acc8b0354c9353d0a91b9b9d1a21a891f62b767c3be681dcb039672b67ad55ca0c9e904247cf824543faf7d266900e7c275c3a92c117730c3626222e864271d121a3a780868a0c8eaa9f86c6cb71860766b4e1c800f296a1138497287efd4fa45bbb8a8446416e6e7fe2f8943ffc3af0e09844020f79b0ba0ade86fc6eafc0c1d05b7504c7d14464fb806268de17090852a5e2af3dcc5dd67ef6c016cae81234f0ed458895e68ebccd467547084e6a4dddb1f32d35caf10b0db19723f43d30361044f1c1af42d7d545be974dd1177b8fa44210da5eb60d04218f239854660327ec5a3335291d5ef638be435653b06b2d6eab1e8c929239291643a72c1019e7d2adfe8bee86278cd1baa56265f77853e87aafab7a65be0446256445ae8960f097802ea5924e099b4023c4fc5f1e10dd7c826debedeb3aee1c90af97274f842a7700aa1b8849626652a18e22124169a9b58eee9287348f646e58f087243b7fa964a5271ce8d68f720c18102f7f6fca26a472a5ca5cff804a10a79fa72540e9d9c70e9e84d894353611dfb1c17c5ce21803e3536c01b5271b488f22d72a4e75de5fc054dc27a835fa36c8b520b393237cac2770227d0813f99ab612a4bd3695b180f42bed1c405e5eef90ab07efd231773cb4bbaa455095305b0c89572bf4b3838f587c1c0fba6b306eb60fc8898e1535053c32c97886f066ab66df672569cda6ead542bae72974af2609ca475a96770d01eebb8edfac087c84114fe72b10ed0183716c7dc7604ec0c30a6162765c5042847ae88acbeae960a224e401319f303b913c6d599c6d7afb54b195c9945d3fb346b174141f63d397a4cd33172cc27cf429186b0d5b4b5ab103acf34eb33fe3acd27a4b1df7e6b66fc1696985b6e13f510b893f9d635dec630c002167e26f86ff04d4eeedf7fe3d4f3322ed2725b9cd5c9e031243c821d658746a4e35c5ed55f590b1d4d6889742a14dc7729626f85cfcc14e4024aa18524157bc7a4eefcbf48cb4c53c1641be860c2f891d80e9071fb54f1a422404435654c6ca95d6338a696c1be3de7becb8831dc72cf9858f3cbaa6d4051cbf72aecd43bd125426de06b205c907c9af4f104f78c27578d72b3b31822abbeb6fea59fd2b7b74543be4e89e37dfcdb9b3a0c72416f531c60703dc8bdda0ecc6b33a8db7eba3fd134ceeeb7856fbb9a1618d4ac311bd08f0072f3f53f0df7652b026db568b14cc4605605739a51e1f9829c6fe1342680b9df726f1091344736bff60eafd05e0eded1c7830e1a07f84af77e1362ad703cac2b72f399ddb8d3ed74d5413912f9f1add05c8f26e557c3bf8c9a7a4f8c356e0da8723c04c4be3f0571f9985eabdc54ad8e5885da961883747e3f553e9dbed642347283548077b9406e335117bb82a960cbb45c74cbc4e3423934f894f8c42d2c247290f7c7ad273f51557aeb62b04b8b14c0418fb832671a444274338275a489ca72c1948d56f73a4668aef524b3fc9463ae4d41346e2181296e93d846460cab167262bdd490eaa1bbb3a05b950afdebefaa504295e017292ad7dbdb6f04f538a1728b929a40e2fa8abea6c86194f1b4620702df4b74339585417c45da5544424772ac1a168d2c9c97af407f7d1e74ef427b5cb76d2e847d733c4dd036962a73376dce42e2c3e6b2d4d18399cecb0dee55626b6e3d6984366a183e329150befcf672514f9f720571326a343b8a5a8a47a1fb6862892ee12d128517266301c65354472530debfd35b9d710b356ffed4f9a21a67dc72b2ebcf960e3d17f1976a04986dbe68c5d6cd2534ec2b8cfae550c4b5b887848ad6c65f4fcf2a85eeade221ec519e8ff291090bd658c2848886c121b536adbb93e3bd70cb7817e60ea49add6a01cbed82bd3bbccdcdd9d283cf73f125da2d850d5349e96a91a4cebf35c794255349cfe66e61ec9b82a6d42ea37d54f4fcc2e2b9e842024b42460728023fd17772996ee467e7bba64e0c623c5eca8c668e748e13e301e940b1a2aa29581938b072e511bf8798d988d1bf422298493c5d6eb01f8d8df89f8d86f7e29ac47dde9072c254303c00ced9bf67cba77b99a0e3096846a087465d4464dab8778cdf2a100b00b926d9f06b4bdee9acd3ad7a90012881a011d4c2672d5168918bf36e3a08724588fb568b1b41344f029c1361ac4ec8f9f2307ad34d8916f1b7b02eacb62f72173a3a90715741bf1a72500bb2d935078c57f1a651771ba87149cfc8b14f7c728d377a20676c60f13b5848a7e98bb4c8dfd3750964010c0de9b049324a581372f5209e1afeeb2bdafdedf02419e5d67bb57fcf112c03c6f371570cea3b4c7547d9e4b56ad7a59478f6bfba5ce2ae91754fdf8f1581f620b4dae37aed644d8d3b5f3248c364916431a515a24e3ee3636941c5070ef4eb99bb01cff70c05874e72b2fcfed4492bc6d01d2be4c42c1281125eb3e123325e4251d0befc1e74148a721975fd2f5e1adb1a3b6fc7e2ded38eb0c4552c09c801bacec1550663d37a5872e81f52488d1930fcc7698f2ba882e76d4023e1e9c2058eb8b2899142cf52d572d7f597fff075205f0fd837beb21be3baccc1d101646921effd7d8559b1aba0223a403e601855b8e0c4f1aaa4ecbf99847a2f6e3368b5b0ce8c3f77d8d9229672e45892eaba987cc0f704b250ebb295301fee3b8be46faa7613fb5b376e1bf211d29c80fe36aa7424dc93cece2fafba818389ee7275a7b9cb9dcbbe8e07654d259b80cc5508637d33b4055b563f9e487e372c60e5bf1d32e6ecf8cd086f8db126d0e71df2ce2fa51a3ead968979de0b19e74b160ccb1dc066c258c7b96a1a0672379f7910870055da67757d6d7cbc461bcb8d99e46c50780c5d78e48bc6ee2a72b4111fe20e77f1dac2807091c1e9a9ea7dbbd41a36e6582d8185da744b8790722c167ee1e655b48e5a1db233b8f949a1d51aedefc1d61f7b9950e4a9c72a887204a1afc9a996b0dcf6b1b53be99b7ae5809a00dff684651ff4211d06a4d43c1064d1d6310dc6fe83688dcb961fbed47fd71ab7337be4fa84574ab4bfbeb34672c8962652d3445ddd1e616fd507e27c2dfd20e7f1137ff70a5bf36599295a62720e4600ce131857304715ff62fcd4d4ba218e598a7d2f844c45f636210782857291c5556d357257058586c2083f4d202935352679d115defeba6398ce9ca269346311d9203a0fad08ea62095a94df6cad97b631fb25ff32fd7e9ae9d81f39d8728f78d22c328f236cc9395d79d55b73225999b111a33b3c4758d3ef0eff171d72e366494c59b58de48b878c8e77deeea98fdf77eefe7c48d20e300f5a38aced723e6c9773b4e502f1a7515d064b48d1fa7da4a2d3509831a4e2e2da82ef9efa7226419bc81c83b30ccecda592ff53228dbb19bf92ff231b06001f3370ba4a3e503e3f6ab9d7a79b6c551d60ba5c69cf661bb46fd558463405a1734771a3248172444ba12bc08bdfd47fe7d02dcf1241d9d71a1f88b3b8f99cc786647c17ee785b5003179bfff01d4576de17eba8f79af3abab915f3f2f1a21d05fea784d29423dc2257de467eb944a75d5c56cc0df6d6c3d53f16e3e1429309a2326664784e26a9d66e710fa5471966b18637781361098ef8c9d908ac3187e5137573280f62472fc851ecc2ede58fbd2f946d896bae0f3e89f2c79005f4f28394e3f1361e9107214196a30dc279b49de9337bb9b82b2ce0554070e33c6d8dd3c8e00adcfff46729b1aa160af1081c6fb8f0f09218842835c3962d779f4659b6eb02de87fd353720c9aa57d563276e8dce1efbcf1ea3655f0499c90b3541090ed43d4758666f3415ad4b35f58df0901d1d6952fc2e187e57ad025f0207a70f1e3bb4e73b970b2723e98417b6c1ff34032a85cd92d6290366af8d669fea14ac446ffccdd941bb739b2e09dd3df1fb9da22c692e0754b565243458aea50cf17c3070ebda1c7da2572836bd447f0985a0bebc6e6cef19280a23faa2b247a37f3be4145423fd8456072c6969496d3d202a748fcae929e34822c214afbc7d1444603fe65c89de036da72018beadd60c2d3734c948554f4dde32d81583c344cbfe8af21b21dcb3e597a7224c99b83818f5d46b32ad5f78bd92371aef477758ad9ba1088758cdfba06f23cd070825dd95bb2e9c4f9701a40a15550ea1a7d936791465b6d3ac8125392ad7297b2937a0483da5e30d19b08bcf76bdf8257af2f5d180d2c1d1a88b2dc017472be76e08add68760ee176456f3968b03f1752a9e9c13a1671b28b08679c6fe77241868108de605de58878d3f633e20e2ee1295b33bbb7051e4efcdf6143991203ef54848b6a4f130bcff034fef135eefbaa6f28bbc18a722f4ad0173475451236a8923fbe41bea11067f735dd05bb5d51b3fd31d041cb2f56dae85e94bd4e87687188440287521f7e9b0637d43c743135ca2ebf4742086daf5805c344d0fb0a724e1481fe74a654d0c62b4f9ff8ee8f1b5e5dd82d5166a46b07d178ff85cef332265bd30f17979fc2d075ca9ebb1c266b20521e42658a72c28747181fafc26d361cdb4e0002ae26fb046a960eef5f4db520162cae180e3976c920533d46523b0ea80df66cd6d8dfcd736e5392460f9f70e68b0a8d005ad0ece676497b97639e7215f1f92c927db144b685c761d51376b67f900c20c0bf6753cdac9df5752eb727e05c1701f37e85f0375bf8d9242c7c7cf9668a6895ca0bf1c4989df6d7ffc019ac006e0729e3e893e326e308fe8b0e1db0f7314b2035c208cbaa95e4f9442872202df0d291b5de76127577f583da40c6ab6a1eee44436827d2fb5b56c58f13723a9546596181cb60d24d46787beeb79f5dfe1d18b238f19593d531117a1aff7209f5c8d1769b4c188778311e55f5a540214ec3e73cc8d0c32d59fd2047166e4da4b5ea443d045db10072c6c51e3e4320bee7a578a79f568e3a4d295498380872cd3d002bdb5a402cc3368abb430be6b0912facbb0e70f8187cb924d55459340f3f8934cd479e5455a55e0e2acacd1c746e46dba15ea1a82205b2d1e3ade1f072607ddc0569faf5b607eea2839aa5799cb49cb4114725063b455adfb1d1f001624af6b314d99a53a5537b16e833470aaa813d18bf870efe24d729d8d02c3782727bf4629c827a9bfcc1b0af24de3d976038eedc9ff892b594fa3a85c89854734394eb85f154d1bb4f76680e4afef3273b4591e7a382d484da90dec4fbe3104e72b764947e2d3969d3b7b887367a9ccea990720fff8322fad87c6e182619b0417213e42efa8787311332052a11adf4645b24d7e671f8884c219b833729923770725a5caf7494937b57b281695618a1c37c098e65bd0eb9f16e8fbe77c70d1bcd16f66eb994fa7de54161c75fbae7eb7ca4ec485250d57116dc2f1c531430d1b67225b651253fa5e1a7d7c31234c1fb2cd5ee71ce238b508ce5f58c425a589e5272427fd7623cb2e10dc19db2db3b8a3f3e117cffc234d581a314ad847f885ef16a537d851f017dce4640f3ba219b344877d5ecdbdfca31d16a32701fbd53a73f5e365abbec635dfce02c095d2d6cbf5456a2bcc63f1db9109773207e1396859660665792120ffdba48cb6acd2c20968454de815112598dc501c7a29905fc08b872b535506ddf4e784f7715b3cbd56c939418a683eb6b307fc9bd06434d809e4172236575a393761f1825bbff74452e49cf8674f048eb059a803b49f1786e48a072529ed33d7594bb0d354b0d71cb5bf8aace8cf0478efc3e7b1796236aee12db725754623a061e5381d7b7942a4c6eec3b91c82ef5364483173b7c6f6c937dd0568b89c995ba84248cb49c1a8e0df7d5295051276538c9300f326ce05b00d64c7201d853c0956ba7a33f52ec6f125ee503659a7393379463fe39ce41284e4dfd72849e50850ed8fc4685c7f8b87799b27cc365f971fda6d1f35218f373b225d115c56ca3f03692f5ab0f6550f86e56ee6565bfa70314ef573ccbb58e52d91b0172cd9e7230184bfbadd1cd3b64dcd02086ef88af1cf4d30d12491ca7aa61cea972c8580abaab12015741cb0be886c734e79d50beeea974e5855a44cdfc79f3b37236c260c921bfe057f292d9b4149c18e7521e770f6d36def10a33784d1732450a03bbf8aae31710d74304d886cb3a2d14ce72eba5a34a2642371165f11e054e728859102cec0638ff84d299f1f17af9a897beeeb99600eeb64340d5c6272b45721c290e76621b20d1871c1711c4eac1199802b5614cd0fb2e94d8529790acb120a4ff064b46951ca4766fd37de4b28d089a0949070dd166975d3fb477e40d972c7726c685ffb994da5961dbaca18c9630436d62b8923069e3f53d1ae1eaf7be040af5cdad16dfde16175abdd3fadd65331722e411b296bd9bab3937e9bf2f5372f370edb0eb8c2f8d73755f3bf072413aba8a1ad9aab6c3154861e9d43e1a0d50d810b278b6db998439e06fa8b1285f8c832eb90da87b87ea458777504c768272a37c27788160b48279d3fe94eda8f5de74e7d2afd919b7d1996c30e60a217972cb25206f53e669959e7089ce864e73cc1857378596b72601ce96dcd3b09a2972bbc9903e4fb94b7e53fed422037b85395de675a5968c3f12b0e94e9abd433810c5306801641058beb89cd0e8b7733d70f8281a0382ada516853ed10a5c67da722a90cfc49179cb339c2ec83d569cec8786677289d2d837e427a5d57af954937273aafd44c78e9e5764105c5d9abd45275afaeffb08f496aaeddb937db71de85d6463cc6de108d904aa44e0f848cefa4d7f5c0b2c1f5ad751c9efa1e46fcc6d724a72a3151da7a55505af3aacac881a90b2e63d56bb7b310eef308220b7fedb2290dbdcc9477c9691d63a7fe4a93ea5a5eaedd419e47b1f4d29dfcbc2cbf67572a6d829ac6db79e63370cad5f2d01f49346794fcc8ef9d31b07d71d197f3bf517692878d946f0084ec0b1fb9343688ad33ecbca9804c3d5a46eb17869a3ffbe22f37afc080a6c6309f6323900ea6a42ca2a264853943317a46b1ad1667405c024c0d521d1b7f1344916d81edc3e59410178bfa001a9de897f870d1c760f728351af41fc4bc5a72d9fadce01a5af64652b32e2bd7d3ff0924fef5872db14d38e72962ea4939b4927e18ef62c6eaeed8338dc4354c5852f11280380183a5b5c2272ae30a239201b83b6ba5744748fd1541917ce553056779ed03d33e550ac53a9433c5c6003cd4346492284dba5bb6b8088b876fa7d59d5cd99fcc73e09c8557272ea8b1770de87d565918390a34f152392a6003fa8ca506dc662e0355b5fd985727773880225c9bdc25e0d8e30a9b7b4fbf372da5913fdcc2dadd268ee148c72694a7cd5bae0098fd8813092510fecec3d397ca4398719bd99fd06de5c9b79871368d3bb53e8608cae9ee9d4f9d2a1fae1522baf4a69b73b514465f823feb3907200f56678b936b5c426591ed3b162faaefd342d007068dd02c77c7e13aa741d59873954dbc32aed6951f4baa164336e1fdf24201f198de6731e74ad08b9a5ff72f27629ccd0c39dada964741cabdc5f361d891d7213767d9ffdebde94a49f70030c38117b09f40881e4f457675874080eeb8e36eaf2c7886916d21b3c2d397b72aded3dda039a35ed7b6facdb9bfc4e3bab9d0739c44aa28bb2e4f84302c95844c2f8aebb61e1acf5cf7c0289b3a9dbf257f6740225af6bdbb89bc14d7b21ea724cef143726cdd994988850f32e4b8a217a094991d9b72920440cf243bdfe87728628b6d0c5cb15d4803bcbcbf0feb3682877421cff4813e409445dae5e0d7272a901d64a7e173c829fea97546f4101cb64db30e0a8ed9fff1aef9ac435feed72d2a4dc316dab5247debda95c1ed79b2a315363d68a3da931cff6a2f9e5df944687ed90037b0d0a258fb0e0a8cd886ae8045e8be055a114a99124962fa543ff71420d2089c0f046423c5f1bd8acf32a5afae1a3251e259c952a9004b87059b3727fab118071d47cf079cd6bf32950bd29bfbdf81dce7bdbde2896fdfb71217f72b65e6010954c547a09ec99a98cf698827ab82ef5a163fe30dc93154effbf5229df3fb65adc034e06f417bee2e9c540b4a2351ebc427c92d4b6e8c6050e1e554281a6c8676e0a772989fa4424ac8c138626701b5fff0305f5697a0175773297727db955c8438b05d27fcff1a4a039177510dc2f2e195abf85d587faf4e62825723632164c83879535a5df7f088fab83c702a14cf2e27c96f29d5e102994592a72a1282a22d48d8e2eb66b5414c95a5d483dd10280dbb4abc5473b105a84e2f85cff5f671fb5a491b00ce99aea6306730ffcfe0f2c619e7735c021147a0e3f217255af792dc059918b34dd252854006c25076fe12cc3c159747e5d46bd8ea4c17216c35e7f477289b7fa5cf38d0c0fff9967e0c8f197a2137fa4bfb98fd9bd747212df0dd39d9e96ce94299c1a202575066f9fec96e21d0f1f27631bd05a72e872b526385c624a2c74ee6a5b7ba75acd7e1ea60db66da360577c6fa5bdca547b70ef4c950d3ea7542d1fb7265ca8d97bc14037b4f7bb3ad7e27a7659f09336c500faccfc329200f9e69841a59935f65b45d4a2cdf9343ccbbe8b9beb5b8edda4729e0661dd4278288334cab4a61523646cf048b799cabdf9e9be9314a8c8a24f72613f7afc9a9fa7ff896db1cdcf99eb37fb378cd631b578d0a8b8fee99dcc4272c2d645115f487024a9ceb8144703bda732bc90a163a4e80b0e6ecca4b0b5e40a49c9ba56093d32d5c66a3dc79419aafce7f5c7e6eb1136fc13909a6493cb54729ec7b9e2b32da92abce37be852e02cf36c7269ad36e7522968664d925b6538720e5a20959e051d94d11eefe9a757127025dccdf7571d66ceab82e13588a82f72844bf69ffad26ddd1b9dc107e049757d784f62f5085d65ed2b5790685ae22d5060b9abd9b316b950b54910926e20a844067a89fbcee00f67343720b66a49fe72e41993c55dc0d4ba13fcde61c14ff25630d9e4368936cd2aa0580c59cf5f5072eb51c14c2acf92c264d5d26c1e8aacdc7aa5bf25c995c2a81171a8aeca989972df2f0c37b94ccacef6ca6cc1329d12d13856b4be1668dbd4584b3460fb61af720d4a592997c10652a3466d0382a5d388fd09db03cc51ff04c41be06a10c3de72bea53848e7a0ed669244904f076ab901f80272cb7bc58a28543e9c8b4948e23b17d8533f69956ed9a0fefef16e4ae76e6a8f1207b9b73c9efc6de11487868172ee9c0eb2cdd07cecaadede0679cece4caebb606c8c9b67ca9f1d84ad7b652572fc555bdf04d7f84d84146068c8e3beff59b7681e9caf98ca9f34f479829ee77239688721e59a548d3925d832ef0f4c85c67d5e852d32addaa38cf3fea3d992728ad18967d465955e6e4ceee22807eaa703b41c219cbef8f692cca3cd040cce72ca46023af849bf866cc003ca2e5b9aba700ade082a651ee7aab25347ce44ea726d282db533c5eeaac63eeadde6c5f211c1e146d7156c991108b1a37218117472c41636e766afdc680b65266ece48b814943f2987332b49bca0d25b9ef667b4720b56880463c36eb9aebf9be470f99efbb7ca7bfa126294a836d9cf932c440c728975bf2e66b4187701eb212c39d2290963cb0c4bea4989542fcec43056dd56708fdc7237a68cc7a9c632080e3ef5096cc6ed12ac1d7897ea6e74776fd3e8aa68587f525275fc1ad869172f35bdbf22dd3605f23ab07003eb47afe58d1f3dc41d8fdea50e0eabd6fa2f97a303b3d2667ab4bf8695719cae23a53a5124ec3dad6231990200ce36713bb0d715ae1d6da53721fa1c392b734ed609f4297f9160393ce2db25213bc00e5f992c9e6842b735a3d7d228f4da2b7feb69de8a4e39facf7285ba89813660745c31e428b98837f3f25e248c8cec0c4ccb3fe9fe4eb289877222241a08c49e65e2ed5e708f9772602b6bfb3ee1d97f8c4826d0563d1cfb36441e15f940837f68d7df028fd91e4d98c4a695196a28e468f3f2a8580d4892c07267efda541c2c9a87be1cce90d84a4579a6ea424cce6643966ac87cefc80dd268a43525836299961b12ac2f94716f655ffbeea390043dd509d86600ac22cd8e729e9d5319ae22a31f85f22622099ee0290012b3e5cf3e2fff0655990603ad6a7241aee101dca0b5b33e91ba3dddd00fe67371ff06d531e3243523a093d22459724aeb3cbf69af9403e4e08a51a9c339961938677e9e993a4db7ccba11e1e4c9723fabb6d17bc0b65b3e5097149f0093d63fe55562b4bde4a268b0fe7a0266c772c3d7657d56c5f6fba704311d9e9ce73919405b5378cf96243478fd18e4a545727d10cf6a232c8ff9369f9ead55113ae40fd8239cba32f7cd60649e45df6dbe4fa9b4024417637825ae4dd6f55887c0ad80c87934796fd036a8bd80e1b0aff672079a73a97e3e4058138c6665a6b0f3f8dfd727bd05756648847ee8231f3e5f5495309223381f33dfd9ecab67b58e2f1bf0a328d84211f6f0d0081e9d4579f84bae56357192528a665ed51d5315828909b900cb31a4545da106b25ae79d59eb68f16ba9c4182709f9dcaaed75be3f231ef2e380266696fe9736d2dda1e330a7720aeb5edf65201448c3188a4883f8743a3cd0c28dbb207e78d84aa0b0e7b5b47202c904e2667417b53e93a2664dc713cbf1258b6dde6dacdda683e8107d47b51c5854d0a60bbbbc3acff8cfeaa8052031441d9d770ec6832cbe0f16e62cc95d59564e4192e868f7c42bfae22fbf43e4cbec844272f05e81c470d21023f75b983989690ea844756312816c3a6af0c6ee1e9ef67aa07f45c20e36c3fa1e6983e33fb0fdf4dd5a4471f1e7b5fb90d89e2c78415b0900eb7ae7e54916531f6cd90c72f7d29f8f3f6994b3056f783394a1a1a3f0eb221b530c5b25682b10f71106f42591e8918ea304645b439123d0476f7824f5563af65e24625ab35c5196415a5d7288eb3b0b8fb63f4944409ac99d52510effe1a2b518e1c687a358f07c726d2f725d0dd874781ef22ca6663c760495f85195febb65c07850cac18369c856ad1f36435713e21136508d6ef62707d1d158e0c96307504750b9ae24ea474f69c93b72e89318c5def2a5a74888680e24432d250cb3195f2f2a169026d831bef70e927201adcb77e3ac74624b4e3f0679cbd5ef10724287bff9b21b6096870b3a36a327ad4f8ddee5eb72e233f49cfa2002f957c427b95c5035abaf67db92358170431f1b75af2cf2d6fd8dfa286f37b6b9d24dce14c01de465e53bcf4b50eb506b9b07f0e1fa16cfbb0301e421d86bdf9249375edffbdab220b27c38f5ac2962de1f727fd8c01fe2325ec70f369da02666abd6ba5bc9c6a1bf07e6075d9dce5401f67261109fde7aabfb22a61f8047e4296cee16e0d0345418a9c94e1fa5e4dfe78a722589e774a414997bfaa4664f08af253c8fc451adabd7eb0420dfe78f527c9c72cf0350f440b6aa7b7c370e9f5fc45a993cc657891ed21e03e77ca8708357570c373335fca203ef9ace1b99f7f4f14459defd98bb02680c0c79fe57fae552f02f670dfffd9945cf9e8d4a10e9a691226d40621ba7f46b0ad0ffaba61af3f3217236351e6aae5a818b116f525598d91d527986aaa6413bf552e8976b5effd9cb29b1e8b1f5784975d524ed9d3e4e0197afeb36828db6635fed35ac6340629a20728d84642a6a4877e802c4c48db0b684604d23944642f7973e107dc4fa21009272d0ad1259a732a4af75c18a95324b4784c08724ce791c2fd05a7eabb19491dc000e218e5756d0c010febee55b46a7f722514c91457156eaea48570c42b551ed72ee910315056d3ad382d332daf0aa517dc9ece8b1edc41daaa3821426b18e687200d9af24df7c317d8c4f2a69b82187e1805c8a6e932393b3ed7634cbcb0cbc0f4b880fe39651490dce8178bfe184ea08ffbb60b68e73a897ef4d68da9a928c2a7438ab2051b699c9d30c60a52423b06e81e0bb2d81d03f497b5d01c1ed0316726b5577a2f98f142caa9ba55742fa36b4ec7b91f9ef776bcc27e5d0c878f62e72088da7cf624708fc93d8bc869af88fe3e025ca6359b0b5aa2e568b3d8d9cb22185249beb007a086c625519df41bb0f00eb9c95c5b556c21cfd1a7128e4094572e83db2c4643e388f4cd8c165a0e243b7ccc0f537deb657f3837f4c2ca9fc6d035724b05042c44cd11da8aaa44c285351069b514ba8783c5a77c49f72a10e707252bf4217ac5ac7a095ac6d2200b239118ce3e83680eeb70f7cd5ab67dc3b5e32ae80461f68f9e8df278d1224506aa9e6e0558a4672ff159111997b4bf13bfd72c4876df7ab663155a591e2733fb8851b805ee07da820e60de26324e9f4344072cbf711a56908991ff1b16b0e7010f03d1378ec42f54d0cbd9f1ae7a59d0ce067c9342b40bf0a3a726869b205a7a5d1818b0570ef4f3956896e9d5206c4e20500971aabe5f4d396de35e018a6604fb6b86060300497f0394a90a7a6fe4df7f330a54bb1694f70da389fb10547ad6d268a49df05e85bf57ba5d32dad5d5ba645119ebdb9ef30cd8729f8cb45cf22c3a8c7115a76292e63ebe325100d70d0770f258be27ff631cf9dca4131d849aca59304f6ae68d2a35ccd83590efc44a0b30f13f94db6a4f7a7d6692c068c46f8fc4025d1091636ae34e1f47374406292e1c672f0106861c8dd3f30dc5c2ae768128c52cba8d2a2613f907231d45c9075d02a7292b0bc081312ef7a4b0fe142f87c15db8632fbddcad94d0c52a435170bd5dd729879abfe808885d3025c8594fe78a0176912027dafb298748b57f7072bc1c8720c0bcbcc0fca2ac00fe83714e29f7e21d8a837c1d2e3eea0e779db000c0db71ad3072eac7d395c6200cd365d391a61f02459e017a40c1e69a81a82fb743a7f72dafd1d30fc7d2e3b318ff0a7b4e6fdfdaafb3d396bd5eccbfc6a3c57fea76672ed473004fbf3db75ee0805f06e6cb1b6362a72b43f05e1fe13f0f6dce6cb5c1321a0a35290d5fc204d741e8b4d28d4cd1f102436f5b1fb5815f21a1441ec5639d04e1bff8fc193482219a7b4b2fab8833fbd3529742543d39b71f8a58b9dd4028291a0d68d60c5ec91bad88e0da6b812d06f3d76815bc699272dbb3baa740a7290afde4abb927e48f97d05ca3db2765e3c5d51088b7aa4afa03772085baff93fdad59aefceedad80211fe9fa121c0eb81c8781c22aacc9395d29623c4999484f3d81eeef5b944e9bc75a3dda7270e6b5f11603199a5933bfabeff31f266f9272c3e4df33aa92eef925fdc126fdc3a13b9919728cf6cf23d950469e677cf5a472dc7ad3e825944828d7741a78204aba993cdf34143c51aa19f58aa1e02fa13a724a4a1e65f95065c9bd9f1689f57510a3d6f07a13014dfe218a8087a65441e81198d17f5ab8e04ea9ec99bb9538463d74159195e763a3c4a4567aadb3c07c6d72a296336b5820fbc7509c5f8cf661c61c3d2820b74272180ac3a1db9d478611721718167aaaa878250871cce19239db0ac0144ebef03e3ea5e53a852e1fcedb720a25c50a954dd7125991f44b887c99c8b59e900a31253193566d7914a0dca372ba44cd79089157a81030c8beb72752ab3d5950c74691b4684bc0b07d5cdf7c1afad267b268ffecb253e77859357f97cce0c5fd905b6e5e7993884e05ce0de972ac702236d90e06804dfb7a8c5c356eb69ce41aeb0c6ddadb4368b7b065350413bf19246dbaa694572a0c219f22e83f8d552ab2d62f8834cd85ed856442982e725c9f707d98da41e73a2d0d7a9276d2ae9a25f1af3f39eb3c18e1b2086896af72f16bab25e0302af1e27f1fa9db50c1f4e6db6b2864a4acede93b17cd97f60a56ac858f3e8ee9e700a856e296e8c04488ccbd26b09ccb0917d3393475d199c77276ef848b6ac4ccbb0afa2f9ccebb720ac79617773157c3fa8602da6ac07901721fc56ed01a60b4cca27850bb4c3ee82193bf5831af1ffb3747d98817ae9c666bff1cc675a1ce945fd2742e99acc771eafa247646daa669965b76b10656fe237216100d446c73eb8de2f232c277c20429b66c5acac03fcf8061903aa88662ca5dc0334c7c93c536e8be18f2efcafd8000eb48927957b18d11b33f37b355f82f728ade024277d16e52c4caa4b5f177dc8a7a6fdd7ce28284427e6ed2f6f01460729704c9fc623682d044be3397c1509889ba2545d565dd0f2094d4c01bd1cb7372541ec582da3e3a869e79a3c6fbae80d056cc98d10726168a9ef1e164c43d7b721fefe2b3798cab7fc267d2353fe9fc4a0fb8822df1c310e5eb2e3a129383e05b27cc88fdb484e47b47c1c995e6b8349f6647022b7ab692e3a7a869a6a5655a6c8d4e8a82f414d9d5768ab6ad9c364b29108cfebd3410b075926355021a5dd069e6f57eae232801b4b554c745f7177f28f658e7480360b13e7e798af0234a217282d23dd38e1d8a3b6ab34686e62ecce15995fbb1da9ba22238321280ca90a372d8eaf3e9a0ad8f2305e44f5315825ffb91deaea3381795761bd9508ba280af72c35ec8b3347cd2f19ef1c691efc27942160ef7b0fed83773a0b48054ade9c2588353dd47ecd14f0407cb0d3da52ccdc6926dc4445fce04bcb5f42efbbd62e67280305dd166549787c172c61a071ecc65e2071101c96124f29b22730146fdea433d4e3000b0f7be92d2c44590248d41387a6f44d64d6759286b0b0f276db18172110a8d90de78c100f77b67e019167603248f71614b3a99d0ad21a275651022261839453aeda5e21e41e7bdcd32b3d3e460ff8971e2e13126799b3076f8b12f7265bf4ed43efadff16d7d79b70f41abffb00cd37ecf219e11f36d7e08288253722a4fc40272efc2f31183a6cde16859661add94cbd75431d4e62e501896decd72f49e97232f3802c3725f749e4c1c4b22402358a3a2c8994706d4d24a8d9c0772d017463bec51f636c0bf404ff9237b4c92761b7dd650a3190b86fb3a9788ec236ddad4450d3ad951b4f928c93590943ebace098ae0d8fc6f62dff2c109c8e53ee290faf1a12e1b2871be3ccb6f9f20653bf50daa7ce4408bdaaefdec7e46e6725cb0335844b38162cba1b5685bdea8ad92500e9fd66efc72a40394a643051b729ddaa5d0d441b7d5fd25aeb9025064a35faff06753d75a575ab345be0d4f66728990657363a084b6c84b8098285ad2ab1008a35eb12d0057bc3b051e9a69d10b07719bc4ad6b33646f5949a4e83e7e4edf7484c40243b1fa6432703c8bf3ed72117789a33a95bc6791c09c1cb2934f21af97f0d672055d13e2887144982f5533b784225af71acda060ebe6a596990c10f9bc2fa998bd526d7cd011d2bfb1b957191a9518eee94971476d1415df6208c768a8e097761519e20cbfaf292e6b64728cf717d09022058b6511f9346f87223369d65841f0889dda989fb7a338579a72147a8c48661354f155ee261ae7cfda0d12b290e1213b7458613b310b5171957263247193197da2d12b14c93e3295fe1889ed3ce9d24ca85914fe94cbbe437f2d9c38d28ba107d4c75d0183d20fd684288bbee8d139028c231458382c2c4f7737d8be77a0b84bfc42aa4496267de84ec54d7088368162579cdf8d9baa27aa2c725ca1509c559db25a8ea2f9a8dbc80dd40562fb7dde56a3344bbcb445681e7672abdb4bcc7c043d1bb962ffe3d3c3063cee8b722e3bd3d1025400db86636b1b72d0c7c05d96e70794b937e0cf4e07d4ebdcb7c5d0f4fcd8cd4eb472e2172c9e15502aab5459d1b45e6592f5aa2eff94da9667dd069faa13803cd0a23c7b723e72e4b349593634444b8d170419abce118030799f3308009df2cb601aad90796372781e3801a5c986faa0c5a4691aa9511bff18a7da2ccce7c3c1b44f4f3c9606727f0c6d7b90f76b8deacfd9a410c785cd197f00abf5d54e7eeb17fd9927a5fe0254aae962af1b0bf5b9756a1d4c6e1d02c04c0ed1e5523dbee8e52df8515cd64869d0f8c6919c602a30a24db5c69bb8379e31dc37ffb6842c1ffe437278a2fc72843b7b871cea25e6926d2f8e3c0399bdf92e8d06c0d9235f83348288f6ddbe0290fc0020ab1fe5d630a1638003cdf860b302418ac295880c8134041a58a7573e55aebe4df5c4516ae35f9e6351d77cc07a8463f09de5e0db67624a329a72b472a27142b293b06d431d5c6d8c65a8c2b7caf641571469452c4daaa18c00f7524eb625c5e8cf23919f78f4bb62a1eedc1617ce0501550bb1badf13398b23c78f724620f91a34275a3a7f2a0477296d786306e233bdeba98fd5cbd95feb8ea52b60e658776cfeef77ebf16e63d3519cfd244253c06a90744a63a266e43ef7623e3a071a8caed12530e71e64673c6d127937afc62a1a633619017cb95c882421d919a242f15f1a84be9002212c42a3b717141b28debc8f08bc2d2d94067bc9a8427221b26f2704a2eff758ade41d395d962286a31b5c0d5e2949be89fbbff62fa102c30c63d93ff39bb1708722f73e580176790a9bba09428b0ee11a68765f84e872c9e757871f0342ab2d70fff31a6624adc05f92154ea7545def2a4b8faf1bd52ffb15bede8a5fdd1aba500c1b3cb7e59af68eacc1fa2c29156598027084244b410f78f460660a193a742e9e1a4223c9e04ba5f37dbeeece4b9336e7e90d5b70071f1dbecb1cac45f0c376305ce6d0e1d499628101975fb08874a6556701cc4572a94bc5fb7234e24861525dfae7aaa782d4f4fcbd8e48c8551d7c1b8dd3149e331f00b3560d0df23b0262cbdff72a09a1e7abb0b65b47276d669f647d72d3205309a07aafb926aad9936aef2bb49cb8b7885146d991b1d9037f8db5c849bc1672c290e1453fdd008b04c4be3cca31c9a4299c2ad3cce21a281b2d271cbeba2d54a28c932e5722f4b780a0efa41139178a9122a639b085b36161d54b0764054439525fc0495430ed8212ba577d6ec7769d061e18639bcb99dfcc1925db1c4fd5729baf59730c4ffa4ca5bcfc294254dbb70ff18215b05c30b4e96f01c3a0c54d7235aeaa3440d7bcc39592d9d64ebf27f93e44f331367ea57d3776c2240e602d4d7adacec0f8ab2b06e2e28336364768314427012ad2b4e7089c462da8cad6d909822b55a842e013b26590f9c637de94d6ae17c401af4d83a8834be6e6032a7e47a739362ebfb21b8ed3345ce9792f4caa3d0bfaeafd1ab28e8ef25fe010e2530049a5f138c48cfcf0fd6b849af2293ae3d8047d391f2807763e62a33c2d17bb7211e4fbe9e5ec3e8db817bb6ec361ad0c5a922caaf05583e67632f40eccccbb72c35c1c8200ba5cd3c64d8f005b1b7ddc3b4dc9ffa67a90f418a8f28f3f737e2a208ff407f6de90f025b49a22691c5b3e75c34cdbf3265b30358f5acc9ef8e60bc9eb9a111b5307beb741b095937bbdf327bdb6bb1abc10800b6a89e5da4a7d222c679ae5344272c6ab88a7a90d7cbd4eaa3db52db8540ed23b2b087980bb3b72cf49ed26e94fc777a81ef5163b8b378565f7c77d351af7879a8094c7067b136a1fd84f92b4f7b3582e25bb316f92ee918151efeda253d5aae5e962350dd4767290903f58476c00acb7ed663d1246938b8072db76709ff84c069d3af16622c555ec2f7a904e6e3aa11b707de3128b8921a8a1fa03427d95d9d980cc31615ca172eb92c84b3d37336f9dd95038818b0a959d1cb986616991195522b0c776fd381b7c1a74b11a7d261b7734c3fa32350406713508e924c018b4a81b9d4c57df0d724e1c5ecce261f7a583664bd9b27dcea0cb9f36f0ab1ebd79f4cc8434b3a4c5729d14121e4d0ea5c3aaaa9f085905ed9ecd3ecd7d29e11be987049401d5edc47239d9209ccc2c6ab240b57a9624138e33b971b8dd0980ca367593e2d47b166672fc790d5a430ed70a90be589a71ecaff6e3c4e2ab23d64309062b8c2f219b32389817b150ec526eeb6cec7d8be6aa96c8190417243041464e675f9079c390a97270d544ad1e78d78127e01f2b625da734da409c0c8e119d2e3e17b379e0d33a72154a537844e51a03239e6ec639d5445ae07d5610b850faa84875e9534a8cf5724da2fe2bdb44005f45235169670854fb3b2d5bba793e4f8d814b0b41df046931cdb2cfb1c5ad1c935259bb2d100d166facf54641d70b62e14659deef1257103cb40b70aee49da04b2042fed286b827714e23b8640e8046bde0305a8b7f98de2724cb2aa5aed851e23cbe16c97742e55e990f3a71446c154b42479dea86354872d17b33ebca86079423c94301d9ff5fdb4e977d7312c3726e467eef9218667772c7d589de4c41a76c2d7b3cfa74864367a8500bd152c8823a1ad501ee5bc53e509fff32f6a1668ef0ef42bcbb196da38d8d97a372f7d3778fc5d4ed5c99053a18c7d818f12da99c2a009ab15451087a57600c278e9848825d4c41d436da9fef722d00f51737a8b6017c64609508c4cf0cad8437a2a2d73b69453c89c55a27c8722ad540665af48156609f2a4032f619922ba11a62a4f2b9184e53d38760dffc72f06691e0a0510deb032dcd80e81fe871c83fa85c8d9bc928664ddd65cc3a0f1993cf17a512eb69b46f613fad903ddffd2d5b1f64634c265b3d2c1dcc7821c872932cbb97b0f4f4b4374c1769af50aac7cd313a9a226383a9d1267e5681cabe2f906e05b75abbadb97e804dcafccf15b5548e62279a8932b60c34cf1db7df454b67db66e5cd7b8dd4c2c9b01c967c1480ae8c0419bcd09956cea34a0c9fcefc0b3f25175e2ac8fcbb4b066d439ac2bf3f2fd6316b61e3ef661b766b7386379672b8e00b4c54bad9bebdab8e04559f1435580ce1050043a3018aae0eaf1a227832c59cdc4d10750495f65e37874dff42c8ac32e64f9a4d995950a9fb1074652272e1cebe5dde8e5f890d68e0ce919b2336b77310e403f2e02d8e02de729940f0510c75edbf89d40bcc31560c87fd183639659f9e758e5636e1f388838edd2fe611c1ae1ff16b0cc51d05a2be7269c2bc2ba605a2a48780090310db40177140c221469ae3056f56c95a2da7c9e4f04aa79743d06931aa7122988aca9cbb3cb723722b4444a25eb31934f5f5635bb8a2eac7db4f1e81c704b85d26c7ed7027760c5ad5a3aa39ff03601a73d6f6213b3ef3674ce7f2a8340512b3d3e91e23c00a8672174fc683efdad67441fd8e085a16363c7d29a10a26323fa97e60e23319553d398f1751fb842dab434493c72a33fc7afafdb13c9c2dbbef6d308e731885190b72700d721208ea2f59323628e13301bd844a2df1213bbafe8d2b7637b01d8788724f527ff16a639a217617a06ae3e3bbdb7118a4ab2ef7d42e43703509cda69872266b4d163529f061a6c8b4d3d29a970d73bd63d641d96461803ec91ef65f2172b8a3c36e446ccf646afc915711fe23ad6eee421cbb6db02732bb399b5d89b1729c208e947dfc65e823960d6079a31b12424edaafb90062fba1b0391eda34a672d191601419db1976f9fef783cb68bb760b721c9937f440731118c85e9639d85709f69be9bd6250742dd3b367320693b4f417165593d70ac7f987352f7097bb72a579e3b9caf7fb410fb53e9a11660d734dbb026fc9b8524711563b03746dc57247df0efbed4179e6707deff56cc82fe6aad984819e9680c7fbaecd9893aee521aff7a0abebd00776dfb09c1e77fcdd8f294973a4c7c348a7da0bccb9e37a386be932d558473e909b851f43f8d82310f6599760900655d9451c1ee0f4f3962e13f2522993f138de5b5beffd7d676be5119c310dcc682732691e1ee3be9b2add724d085791eb9901a50f07894025a69ff861294f8eb3f95c629842de0d28b82572670c4af755cd2c02c680c84cd7a28531946c99e31fb0b8415527eefc83248139eec41facbb6c9ed6b572e21e0a88b94425ae76f005144d83659a8e5add7b10241e017a04d5916974d7288d916a6c80f4c794b09500c9a3ab95bd6f3373969f72e11792f6d2a8a72fa20ae92259545a6ed439db9a9fbb04d5d566021274380072422a23713fac68459c0f228cbf893d2b1b5108eb6105f898ae8c0a8d6d8d3372426dcdf09620b147da986c170fa07233e3b817eb4033b05e7c10c403feee33721d41bdf0470704e3fbbb6429e841f77b159ba54de5f8a4e9bf20be10834b9a7273c4616478e17ab21f5a7274fc4f83c75ea0a97782ef84f5624af58f3a78de04af333e914ff7c44ab0bcfb70e4146670ff569fd83b8d99df34f2da8b546d380c06e59bd19dbd68c8432c5b38a099d1c0f5856d01eb1f0ee41e7634a28db46f561e47b6ce4262d39045e34c772033a72aff002da943ab8c2f59d895119ab17b723b7116516b34babe72607076378d3b0deb657eaa2fe29b42c8e567269b44bc29c7878f6535a378bb8aa68ef8f40e71928bd78368f7cb482d16aac01c1a7ea37285fabf87b0195b7035aa482ade67736a636fcfeb0803cde817cae2757d37dd72fb2bb13543bf4ef5b76b8dace4fec64a9609f6b40ea1ca8c627b6651312910618c68590af01a2bc5c2972ea5a9228c997097cece54891e87c2bceb83fce18e6ab00e202606bddd4d064d7446ef01e8622595fbe2800e784fc2150164c9320772611bb2518df55840d6ffb0d4349d11fb7c740fe003e3179e366675e4e02a9c72b391307ca292ef678caacc8ced79a9580927f4a91043d1f95b7bca80a9df98725f7b7897a375860fa06c9b477b9d24be1c40ac5a25c7f59fdae9b0e9423d64045caf8fced76c5b62e98c5ac4f8247aff8e6c13edbb5bc9627877269ffea75e72c1e29efef63855995f2f25c55e7e443b3e1cc9921eefcf49d49178477ffe59161aaec28084305ecfd26992bd290f35b51c647d8880af461278cb128b09798123b39017e4a4dee09119da191a29841670aa0ed538d55d1fae94c9d78bc8d0677248c9b098f9aa93c471f3a05a6b242c6f48b181218d0e5071e21c04bad731465a7deb925e76c769708d462854e653bbc948555d2a3742ab129bcf2cf6d39b8230a5a3ec435b60e6e7bd013945e07a9286fa7b968a6e1205c12820a1820c1c8445f8ef4df8f03e8fd56d6cb5a51bb6c99787ccbd455f7164e822f142959f52cf1b67935a7cf66d606384215592b1b4ebfe9b7dee21aa4f3805ae2099a96d9af819c5b596516d495881e8178a23e9c27a60b831e75fdb06ae64c45573e7710278728dc4767b78a091abc9de8d3ed1c180d46104a30160c1e75361165221856bf671975e6ef4a8c740c102cd437615eeb96b984e0c1b7e65038e23514806be951b3fabdfc4c2386b95e2c3e11cca37f6c343eb20c761a9456aecbfda763f24a6cb614fe14f90e2f28d1d7d0e6c1eeb0effcab91926a5397bda75efc0266764406572948a21bde3ad010d5945bf7bb744edaffd55bc407f0671c1a9d41f7d3d717d723b59560c39cf4c6cab80d6c836e9657de1f2577e68e31d27db42a27c52518272813895d67cba8d4a6794db7f6a643cf02828c2ae52fa974d888ece2d39319d72e217e777669612e51140b1dcb6ecf1a4e29493b1fc73b373e4e00cc08b7e2b2ba4cd17377d8d493e98c20bf69e0dd83e1ce73c40e3b59676e9c56afc0c8213723a904547b0a1c73e5c4f6b3961dd63362ab5b03426b84c4e1365b872fbf7c572a68eae6872462c95f6bd10397d8fea69374b88c1e172fd2c3952a4453eb376726e5060e946461c8991af64102f3ae814e371d832d40eefaffc6261f544789037ccfb41263787057bc7163d60d123fe9db43c2515dc4f913f3d7424ed09bf67027ba2ed09b7e743f6e42d86c99cfbf9d4eab557f8484f822367e684a7533fb66a6442bd26819ec9e173e4a6b84f336de041cb4bfe71883be57a52b0a19c471c722d001d3eb632ef7d9a2cf40670e12ca2f29a3351129c999d3902de8ca8fd0d72b9cf0e950a9b2bb9dc3a315c1fd63e383aeca93e45ee93fa8ca4cdd919b095725cb7ba8e68143e92355a16be60c959d5cc8a17d7203c0fb18887ce5b5cc63872f1ac1e2d5d082f7c50e9d28fb3a223a42eb6b59130bd2260799e9d64f50d2613b4ec678a380af2791de1ca3ec4ef9e9ed8e68f4b04cb4cdb493f0e7d18a75e72e0afdda760469ebd1ce6b2783d4fc74acbb88ec160b689885230231455b0f859f59e05b073d9045769ed0c9b14c39ea1b0322d1b9fb84ed16dfe4e5c4069a023e81af7c208d4618493740598d4a3e54b266668c7a7a743073869c9efd14be572a65b06aa5d3040363009d63e98f68abd1fe5c3a5b15ba183dd1135cc1942ea720f09ac9a5e9b27957c688f803aae0261c5b8b3b5ab017e00a804068be5c76527bf52d75f959fe60a8aa2aaa77eebcfe6fa8d1970232fd62229908201bf58fc727e3545c1592ff1882f052a7e204564405b408940ecfae59fe5239469e9da373424b7d328fe71ca3197f10f0e5e78abd90e50591df876f2e5bdd6a9e0c1c9a5058aa9774cb58107b0a0392b8c8bda555a993a6c8306fc83ef48e19f85b95f0e7269b6d237ef9bc93d9e716c1b246d9a62491b0caed91e8435279f64fe0167b672810c52c078eccb2d9d71288a8028bf8edb338ac02fd841fb36ae123be514c21a9587f9ea9537c33ea92222965e0e21d56c4cd494b68302bd085a5671ff34250bb068b96e495558bd22f6e159c588d4ff53c5d7362e4201b43bb7e597f1cf8672a31eecedea7e52e2bb8dfdbc2c2d0e4542595bec60dedb38f725eafb0a53bf61abf807065fe3eaa88eab6a3b8418d62c558c3dd5de16768e54100a2232924f4a75d2b7fa416abeca1ba287d2765c3fcfa54c9ef033febf899696f714767ed81a7ae6880bb604f0a761e6eac0ec0d09edc4a48f50f5568c44f50edce9d5826272ed27ba3188a703bd88dee4581b49019cb05623691a8d5cfdbc56c598a907d300a32e7d8ad980421b07c05bbcae6a4a0b76f0ebc3dd3e45ec08df4d5b47ff7649a6958bd8b596f461336fc400ccf357f4a402319a49eae416c15e4dd384c2ec379c8cf058002040a09f1cd72020e0d12ddff41a41b356c571ecd8080e28119e305e91725ecdccd511ba3bf79e78499b3e97df51d22ddfc29f58d64c671d44df727a7acbba0af7d67eaea938ec82aff9abe91137c137bbbeb313055c2922bef664ee0e6143b510596c00c59dd5a92cb2730e3716f5c27c6b966f7c1518a065297252bfc427c664f487bdf704f468747fcee011c98e3b5e5a1b3e1cac875cc1c2728d9aa10647d744e87adcaf33dc8bf3cb2cb784f68ac3abfb66f37e3eef268172cd280bbe9dae92a18eb6e92632ea4b03f1041d621189b7d9cc64d8f4981203460914edd1b0c007b026cfe7aee22054e87496ea2658fc8f424ad39c1813cbf50c1ee1bb2d0ccc944dda6475f8e1184646335d769132a69d37ebf74daf833462660357c3a3bdcc90b7d816424ad88b42c79dfcb3caf739b4b9f9bddf542988211ac752fb64df0bf78146c06292af391f432d5a0601833feb75df8c62e5bd83ce726ada5a7fcf0b91b414e92a63aa2a5731b33accf4c8899cfa1ba0800df96b3f729305e0acf70f2e6d76c99e3059d59fceec74ba9ca0c2992e07ebc8010e87277274a544fdcd94567d3f3bad95374872d1d2a63bfe4e2668353810dd4eff6fa6724fb10bc4458c3da3a8294b8f081ca149098f844fa9503a83db14eef598f1f872cac5a67f7e6a97cda80703e133aef7cee04d438babafc0b1305bfc744074dc7299d616c662074e38255c04cb2f78304531f64c243507c3e3bb8e13528c414f5f1c3b2855da46986d6a1fdf1365c27e2626f068a593658d890cb4fa23a9683f72df86c5e454da7322f38a484941a02897bd3d674c29381854274050aa0e7f9d721b144bce747dff4c520884a5059bc3072529f48719e0733a4a853a0579be6058faf2e05b72da607936606e206d78afe07698e337e72f9bafb34a405c645598720b5c1e8241db52b84af5e1bcba8dcde6bab2275302f07a744175a68c5379e4725bc44e5600b07f326491310c2bc77da924928eb6c81a7910c3227cd79223df577f78445fb111c626f8ff1831b6fc360f456ec1f7301c3dc32468a665776ba52d61437cc8c663e8bbaaa328806e29744e1b32b34f2b4102aefdfb742d3f11b0228723de2e93120d14f7653c8f1066c1001b61a66d99e74a4af9ab01fb6c1cf572c2e15dd5db195d2d94a74f8078124d204345a114e8024e36654f1a26285c0b72ad21d761032f75a948a80313a8efaf2ee7c39819df84cc43ac003270a6be2d4dd9053d1bac1e7c35079757f981b1dca85a76ecd7a5340d90e4d2ff784618d172b8d640bb4ce92a33d96553eac5cd88fbafd3d054fdee849ba0c66a9db277db729cd298e6691b04de68db3782a681308234254f1fb98f362558595d05efbba67203abd2e3e854ded68640c58cea4d8b3b3d685a85ec58a0a119a0a8053ce450222b46861a91b3bc525770483a15b81ba301b5db04bdc0ed82c1a60172eb8b9e30b2d481da7a1a45a47b75dc6c2873a55d858479515c60fb8c05117bfe8ba13b369362d87338caa142fc88660393609b915b79f47eafeb1d330b4e91e0e9809272339a56c20bd0963bd8920db1de1b1eeead8e7ff2a960604dea4a292ca1251e66191fa52d9e34247f36a91dbe3aca504a3a4cfede08146b1b7a072265cfd7ad7265998fc61e8a5dc2a3db5219b0bfe2f17f66798e73852726dbcfc083f0fb74727510a827981464bc4f7bc21e8897746555129e9d5f25f6af86976facb2dfe1729dbc86ed2e5556bf346798e0ca009d66bc7da85360379bf71ee2e8415fd10b0331289141efbdb4d2c46b692417fb5b0209f0759200c4569aa19c533d9ee1a565e0d012f5bc4b060da6fd6bf1d8cd9e23accf4d99d21336d0a301e7a2fe4c4872d8c2bb4f2367188eafa5d253d0f7421de6292cf3452dc48b776b967bd4826c722bedd5bd62237ccd395b3e05a318ef77892f205162a08f7a74750641cd18ca7216a352b79c87f0b05c7e22b0dfb5fd39e845c97e47652c77812ab4c7717d5f72bf15463da2addd262c400b579585a05a6c7e03ab823b2e946a09ad26966ebc721eed9abfbd5c46cb7f747b2f85b7a8caebb27529cdd4a28917a7557127177c469bd00df2852f16c2162ce3c49900c9795b58548f542f2fe428b02c5cf00ff1724824c4f83f9d7b83754192c745c46906f75e8bb9e1beeaa44df882ff6d6eed72c987a3b1a893fcf784440c0c31c54e4db86136fef1a45227f2dbb53f2b3eb21010be96ff5d479d573c782e19375b96de7245c89d28ca55a80c34b170de262872b387757dfa98af81b641641327dd95739a31770847a72bddacf032db77c7785b13fcdeb26000c297f747e1a53c82ee28d8eb647246d88a1633a6ee2b2384a32b6fd7eb39a5c79211e6b126e5c089041f874d5968df1a36048ca91d5249e1826feb2dff2f0125dd39be082fde8e7588f9ee60cdef06262bcfbcb14daacfc25f458ebc47610fdfe3f19d4c7cd280c64399cd5e90630489c0025d5ba12748e94d344e045abfb2d366f88433b52bce174857f6e15e462dfef2ac45da1449737c1072229c9f2790a7f03b8f05a982a1bb7350f8849de933b1d6d6cbbeda01bdd542616c6363fc25f69bbe8376e1542de00bbbd002f8c0fa2316f9151d57e12e55ab64b0b004b78093145f9a9b02055ff1cbfff9af22bd9f7a1d4e9b830b57987d0c721332f86d2d97e8df667923750a6920a4a7c7d195bff3760e19bbee6c5b70771eb24539cab030b2a0cc8fa35309377ce6a4e5cbe9af5e7a7da631fab7ecf45868e4df93453f5009f912a4edb676f0688898a3f965ef501be5b776a1de0ff975503799074940d2171615753e94a0b8478d71fd9635d7dd7522da6ba3dc76eb4d4a0a36613337c691002df7f50f176ef136a985b195132e5f1dbbfb26f6085bfa72f7fb5fa8f3addade199192673a6c8179c29e7f360f291c5b559a8ea4251c7672ab96c1242628b0a012b2f6c49e0f98b135e561ed5ea4d1cf37f5a84fa326d072e77f5283bc68f174271a712e1e19aa638801159955369c7557472dfb72097e7296a491918be62bf3740cd9d6895714c2651a5b0c377b9077b507dee040d0b7236598b75f409643524168bba4e87e0d05ee7c7c476cca90d426f97990a66d475e523e0553e35bf4e4f23be556cd02446ab479722407fbfa5dcd3e29f61ac216724b0820f6935baaa3774c1d8e0f2732f94bfd0ff2027cadfe290ba31fc6c11a724166c82dd7c4f95e367d8457b0bb9b892ea195bdac9b82cf5b44168af6c6d272080d03e19fe4286f7d45ae755e45b4f8ff5164158050c913f53115732a7726725449012c2e0fe459c3397d8b418f871acf941a4423eb7e85dbd03b4df36c3172492b082e5ad467a69e6a72ed11d4a2549c07564b7fd0ea2486c04717e790aa49a87e41f430132a7d22492ebb79071d920cf15cefefec850f32cad036ecffa472cd1d09def1b6aa72cbe095a14294748590eb1f1d4fcadb2d572455344eeb1b72f937dc79a88223281ae7f5b7a913504360ab726f962b2484f761fa9263b00769b178b9f88c2c1650faf0d607b3e3f98e0ef8ec8e5149f0d5f43d3e7aefe6713edf26e4fff3b9f20f11be32b970d24aa45fac67a8970a3dc9d70f157384b7ce4d78ae56b0da79c4a118b4e2a74ce080106e213119f4e2c5cff91cde205aa9db7269a34c83115fc115c197c8b2849ff660a07b313e6dacbf80cdb72e901bc3d35fc0fc7f376a15a8c3106e9af78a22f73d68507df0a361c713dcee714410e74672fb077ba220370213c6d23c82053cd657bfa9efe3f53e87527b87858552e2a572d8707a384bfa72ab9831d1cf89c13a3576a6c37ed698851b7b319e5e2862914b4cc9e87600034dfde7efc54db06fedb038f7e9ada5c588134436c332acf196231737afe1bfa2d20bdb1760b602ea3fa3fb00e027bea3c72368f25ab631f271697798e3402c064198ba5bceb3c19190924fbe989085c4bcc95250a27fe45b0a3f94ae15921aabda45ed29e69e28e9fc6d8840b6d0299399c6327454f04e9e6e654013a358895c4d92d37406d2b98bbf08a45b0944f5be687494fc20abb5b8ca721da78df9577bf5e6798881102ade3c050cd962faf4bc9b1772fad90cf795113429aad648cc94aa206c69712984ab2f6afa7064d64b27f2a9c652162c89f70e0874dc6c8b99d6b42808534cfdccc6fde199c6a0a6c8ba8575e86342a0bd707e6cc5d801b982e40478436bfc334d2a5e54e9d4c2af62a539ef76a0369ac665e047028af43ebf4988d8951cbe02da14b86e154ef42e4abf6f8b9080ffa51a071272ecc76bfdcf3a257cbe0c8b84516055b965049a5d3fbc21168b9c4a6b167a6630a240df6011f5e9cd06e5f4e64eb728989e5f0cb5882859417be705c5c61d7172ce603528e6086575d009e5403a88a1cf6e48ea91bb2b79c7bcf2730e8f4a1750327f5421969a1fdfe128ed8aff82050e55f240f188a0902d4567670fd5e2c6724c181f658dddf58cbb59c9daf2846720f8f1c5ead8a6867effa17b384d23fe4677dd5befcffc5144eb33b94830a8545897f3f256221670efcb97c66327a79c305cf26d8a602ec5f8a12113abfb0aa8c6865fbb233b21db87a2030af6c87ebb1223d47cb95c6b8372e95ce61b685e818ac3425ed80ed2c5cbb82245bd8b98191d0b7e833232ff9817a64ae0af6fc1c1326467800735820b8da25ab5a5eeb53f4f08d39cf19c7eecf59fd036ce206664ed3fab37d2263fddb4da2c9429b52e32729b91bf15d0289d64bf4056d38e710f56863cc6a3679f099e97ba3b6442ee804d6dd20425257ec5dd5ec4b2f0e48dabbbb228658c4415635cca2d4be08d478a723f8383fbe879a53ed00d3d1ca410755f4d5ae4590cda75628ca5ca9b0d066d10b3c204e78093d995bb0b17db05306be818cd51d51e4ab4ac88bee4eeea45347262c004104c94ad7db6ee961d62c4cffc8bf5729e326ba45df95ecc6e2a31d13708a1b15c2e92f55a6b9351d6f7bd905c5c992a3684b77e7f7950d39347418e72856d356c9c6becf1e34dc752fe45ec706f37dc78aee9be8fe039956803f476498b83c110deee4dd1fbed412c000646507706d5a94596e2f714e95694d89c97188b4369e8471215699cf8d7ed2af59aeb237a0c4a90cd6087b34d836af069fa72c74e8e9053c4d2c38991c0290bff0c231bb0a1b334c750930f93995a25ac906b49907c4949050c74500649d62cfe93cffa112792cf29e7373b4d76a5b7ac0172ea39d24cce131111008345ed1cd58087e1d621b2ed9ec7a263bf67ee53ea7751092e953b0a5abac8b5d05938da9be52cde2d7305db3c54a6c94933d0e8b8e272c0708b424b9da52c600949b3303eff4bad37691bd27a08973e1f499afee759725b9bfaadf26d5e55a6246c9dada3605a4d39bf2e63d9f62d6356f1879415d7725a30e73e30a855f13da7e5348f19e64364c73fed8d49c70d53dd89ebd9e01414425bdb5fd38627a336916cee62f42cdfd4578e1d207eb5c945db4f1f7ef68a72ff7e42e8717faa0892c6441be5612589929e7cc466fe2a8aa4fd951be5348f27bb621275cdea587a0d8d88eead8c52797fc9dbda8a181c92ef76cd3a09b1d372b5e5d6dd1f1f7165220ab7a779cf5220decebdf89d4dfe96e0e6a9d40c962a6d8164588c9e7ff6af26cb86ddf73c7c7c32eb7f9172ff40990028ac1ac33b1672baca4093cebf1602ed5078feb4df58fc24feef3a0f788946c1eb9874d323b216125c316e85340344a44521611ac9fbfbee8c58f7b5d46f0d4d44ac0e8ca5c372cd33c943cb2166c3dabbd111b18b96820873f14e049d0bc53ff23683acaa4872e7c1a0274e25a57ea6afebe314e876491507dcfbc76a0472f0fcc6fdda6c2c4b259925eff272ed34187b7c4793d2d910c875664db49efd75083949f9e14b85726ecdd056334c4f6e64dc67aa11e016fc42566b24ec45535df2d6eae2137b6072ad2eab82bb359cebecb63911b82ecebc301cec3185cfcdb927610545f2fd3f7207289df448a84f549c9459a9c12ca3e458f3aaf219dfe05a0214bccf254c0e64a6e4205de3ab476966d184824829c7b9aa4a88a50b84bc484aacb0a4e7ebe964873307bac69255d26e9792d8cd2c34c8122443e75ba52839ae063e393ff9ae72fa5b667a0732eda6e9cddeb3bf6cc8203d666c3f7014578b3244d290eecf631094a8916b2e43362ab563968c01342a1550ede620eb5bda6c435599b473dcea72e46fd297fcb0b9ff18b56429a9d231f95ebfa786130a27fd145393cc534dce3b5a36a521ba672f60fa95cf549ef91f39d5f68842793eebaaa542fc70f70a95066a61acde34d1a0d80549dea9202e9f74fad9f9b3cab5b2992a2af69a59d74c72d7622fe4fff61627b5696351112b63c6e26ccb92a04a7eb774ec3531fe4541720c768d73d69fc78972b994aa649b2da8fe1e5f74f8a14435cf29a2157ee5875b57eab269a65df96085ff3a5d9c066cbfded331ad0b98dd59f167406e4b4be819147b2fea053c2f1916a076c56304094c6b27c890cfc182115477424e91f6c5113adb094e9725480d9f1ec257a47d13407c204f5089073ad2bef8a5a8602bb06bcf3b56cd484ba9196c00df7ed8600492e6be787c04a9d37ea653b53fd8c46e72e3d0dc3ece64321059df3e4c16292cef5ee85e29d04ba0b53b2028da6326b9725772f87f91ac38c1b220c17413bc77a830f537a8297971bf3465b9f374128872c2ad9348d29018876463e053d0b0aa83fd92c4f3290c8f0bb65b73ce9d4c9a1e1eece71f1a5cc1ba016de79365e2f3a79c12368ac05a7c7d8ad82ce27115b672e234fbf3cd184b5116c3062e720964c11e17e55be980b6e7cc1a2bb9811e62724e5594a9fc09ded73d3cd69bec9943176348ae8280900bd5eaea8b30dc6ebe26508a8c412adcb05e2ee93195d216ec3100153ad8c5e7fd73e345362f3a6ca5726277f9ed7b600484de16188634ede7a39bb22165e27bcd264817ecf13e482c631072b51fd87c8e3627d0146dc940324c39a544857730ae940f65632b4d15f17224a74f773454e69f46c00b3e4890d5cdd0dbe9621387f1e2e5b7def048929a695c1b4c90c6bb0268fc7457f2e6788f51d2a801e8d8fad6fdcfabdbf209b8541af24a940be62aa79b0188c1df40e57bb06f02d017fb37cdd29e572c9803ad3c72d6f6e7759584ff353b7364c6903ff96b1f1df3363672fba803760a08a2d3dc57d90e3fb99d681e1116909b604cee91cfae58ddf05ce1a846403d7568d70d335bf9a5d18673109b1974febf6a31d87646bda101152de5dd0aaaa0fd5736c770363da9829610250de119748dc2bc07ec3e5a36155258f1107ac24e89f9d8de8872941adaa585d1fc345b57f824b6d97c97f2287800cd67e98dfcb800aaea1fe0344150697213fd1d9b7b846dec7520d8b77317e0011a0b1f356840766e94476d72d9fc10dd5d9607e0b8528b0969c57f9d96d17a417943033aa605c9ffdff20b72e8f3a5fe947f1bfcdf1a548017f947dd19d1f25592167740df4a59b1941f6172ac18607cf3d0b814f47fdd088434c4a8c3f0c68a04495666fd65ec0d6967e0330616dd54b470a89304929ca3e65b4c7602017f1f38fe5a77faf287b33ed0d411133c0d66aa307ba151a6655777a1de34bd4e134439c448733ab6917d1fad7a2ed88027e40f2f93d524a2dc8eeafc59789f49bae76acfac85b34ee60cdf42543867e6a7f794cd2e674b87f6315a26a22a5c34c6e94d3e886e22fd70edb590bd72ad19c62a305ac5218ea911db2fa26a3e1482fcb5932af9b656ab66bf37cb04727b01ba45c7bb9eade2629da87fbf13a8c2cdb6761711f16e186b49dc9152a3729a36184e231ca3d64302e1b69ccbbd85bc00b0bb6e38c0ea8fc2dc44f0d6d272a443b18af204328a5d775d3cc9eeb9a2591aca18e64663d5de5dc7d10688350417ea06437a3f1456c2de4193f59a7e32091a30daf2d092b697c0456363f7f572d5668706844b43e42f266d992f4ce3c08d4911f0e34995e89683feccd53bdc0c51e419271e7d80ce2fbeaa6a7efe9787deeb4145631406d868aa0ca170cc56713c6d6ad38ee095f089419d3ac5e6af9662cf72c9f707a6a1f34f6b3a7dfbb2198c7825f050d03545df4903cb86e719921a716ddc282757e994bc1f8bca85da18f65357baf0357263d74752f38b88e8b4179d07616c586a6c80141fd968bb81725375547f47dbe2752ad1b6801514d9fda8551713b9c1818534f3875f4d9d210cede08e91ecc166285711b0126448e4221fd7a00299732dbc62c7624cc9719f72ad9d315fa447ccfa441e614ac35d65f91b04ace97d01b7f6af538ae7c1d96225abaefce71be7c382414a1f4a725eff0d96e25db4454d93cfa4e5313235ede972a2cab9cdb7cbf55e94c8526fe5c36c76be1f8d6d6b83b2a3f2dc0d00b35e75721e481de7a2867b9e599ba680ebab021957bbb205966be8aaab7080bd9ec2d072023108fabacb2f807bd95f0d4fb8174ad488cf1cfc1fc5764ab03abd361f8272e418263180b290ab0a3a5fc2b4ecae5f2089d486f5f7162effcd16c4b6539472bdb71e1f24dd1209cbc278b0dced94693328e1e87f191bdfb5e3b59bbaaf7821be44c0a8eff72d7b7c21ca773f413fb0b5325c5a5630190845227d9a03df0913c98f2b4f266c6c76f2d1a9473b0ec3927f2e7b85dafb6d6f0d5dc2674ae28c729000d7a61dfa7ca3b6f932b36f82d94d9255cccb6cc816f06f78f559f987c172d441f36e066569a423e2272f0921dab51f4cfd840d8d3387f8f128206cdf92725179aae09af42667165b4e9d9b5f1829d466ae99f68367da6ae52f013d4fd572c74c9754b898464f48f452e993474964b83d5197f9fe80168182fa3d549e4d720c7a2dc32c193d193e34579035949cbefe4c13e4ff790c81d215cacc7bfc4e72dcc0fd67788f59df723249775f316eb89c242b1633e9c83fb32ae29506e7cd1169a67b443affb0511389c3c919fcfb928110b90aef4d28bbf2ad7f04f59a875caf8d87eec82ca2b1f3cd50f1e7ecc96e82748a06fc8b0c0e5e36bdd796fd1a221694b33377685309180bdcabf0b5b6d08430c3a0a4a4c2650d14f116eff6091ce2306be69635df76465040392bcbff816117069b620abaa8e261ce39742a22728c61b979d3ad4b023c67830c3b2a267103523f229552790fffdf7e72013a5b7209d157eeb82d75b089b63884acc7ede4bfab15d2b7db0426778bcf3e25edc67235988eaed2be0a5473abf5b9c2e17e2cea928e549de787bb613627db366b8b4ce3175dff1877048ef4aab74849a99d6bb547054ef1133600f4ef3ceb530acf6a532cf3b693ec4ffb318fea06eff2c82b76d64bb01819003f551cc9502f0ad61197c0469f213de81deefcf11523121814acb6cbcf5d0ad5e8b86e62a27f9db668aa318675b927020d2e3a33158bc43a2ef990e6350f0e0a84fb88e53dae534b72d3962912ef558b5c9107c61c6ef3a380c31ff1ad8e713949f2387d56d63c5a72f92a88efe5f1d099c1f05521f97162f3e2600ad1010011e42059c6f23bfe7d72aef27744848d109a8a906e02b273af5aff43a4ee8f368643a2e3debd78ff497250ca83adaeea49af0a7ee12467979bb1330b89a0c1ae6b4ad6b603131494cc16e69e95fb17ace9978e076f6ea60b63fd21b3a310b57fcfd0c7ea50607e89fe68f30f54e6eff76cbc77d9030d14c09985ba807dcba92011ec4485e72134bcbc72c4b506a0d18939397bda36cde6231d78038cdae94c55a8b802274cba1a684d72518c5ff5606f89f6b86f6e304aa03255908c7582ad5f74b58c088126589699508d539fbbdc393b6a3ec3abe75fce6200ba91b7aedf279f3ecdbdcc2e4d1f740c1d3b73eb6fd8cfa838a0a006ad000fecee5dc05d5ef88ca95de9fc7cade0e71adcdcb903a3f59dd57c6ea1c7c21dae6b8adbed0a570a4a391c4d7127423af6722913b3ae11f460baf61d6356cb17377ba88b90aab80e8e6d0d3e18826dc045724487206b33b68fc343035b9463cbc85e3483a51b35ffd2885911f5a91f4762727b864d82dae3d73bc980783c9fcc444e534c8f429d8aed9b1b371ff1b896372386d92587f45e7795a0822725eefe6285db2fa723798f746ec7d6c897a44b46720bc20c290a7249a66c09092ede6035e54b1611f8db4e7f5a2876caadfddf806a399b34c17386a061e6a8f807bbe19338fde3818a9324076f164dfda3b4beac7294d65c477199ba9cbf84a035cd26513c7a31f54025f9cd0f954af562904d0d727b9fd6e3daa60b9e7829a8e8938913f9f64e0df0cb46d22efe086728acda51721e2c0d286717d50f29cf48d713d97f44993cd04e8e6101ee3722d151b7384a265702cac899e2cde2fbd5d747f6dad997f8266b694475a9ae5d2a33c12df2240b24cdda3f63699a70c458ebcf37048032e0dfde863a4e48531d2f7a13cef0ce47369797e7c274868cdd61e36d5a896caff951e46674a552f2c1d13e62ac95cd72fbe8655b5b70714eaa6f3a02836ce8cdf91843e27dc4cd76397c609a2290877206c5a6cb426c4ec5fcb704ad9f91614135a65d115ec89da87139892f75930972cb4c5cba8f8839319ed6f5b4f29aa492054450b143de4d4e163f2ec1cf6dd5725122dc6639223d87dc1bb95ec3b3559e2e24f945fbc7b5d726e5740fca3ca9443d1c470a73b373b84014bae0e11012beea0be31ad9aa9ebff2352cf0fcaa733a935b6b0f5e6032a5a59b04fb7915b54edfacb44d5ed7947d08598485f589297292408351cd0602de17fed53825be8b3c5aacb542d5dca3bc3e60efebf13517725d954382e82fb05fcebe942a9829e9708fd2e31a8efa0d926e4268a01588c33eda7e3dfdfd2876aa4cfea2fafd9463da83bceb90dd431476cab5de0404efab722081ab2efc6fc201b29cb7820575d392fbca3fbb56e8c9f7cbb68b0d3ba4aa16ea13c40b79e4e4b0b6762d3ddd3adb67f569c2e43052ce91139543064ef3ce59fc78257c7d7163f4521da3afdde0b9914d3b0bcef2c8ce8dc1f35d3f043a60725f5eb3a32693a8bd7c11bc56e61ba57bac528bf0b1a97b2d5f3bed8fbc951d4bfd4fe436be478863a072a9be24a8566f1259251dc1de520c8320268474076d72f7f715d66c9cfe83e229776946758d1e3064c6f486b470f28ec62215caa1d0729c25419c58ed05ddbfee23707ec835d2d3819466bf8fa4c0aa9aac60b87c2f2788a617287f7f2b11e9f3642610e0c741239104f3881bd4b49ad600b6d1afc47231bbf30f94394491c3d6091523fcd710d8d60665325a0d88840499efb993fc72e4fc7fcb7e3733ff24ae173eae9d111d8e66910fe91101031414c59dfef9317209d7fc975408ea192650f8a0f6cc6e7e9b7af7682f86a809a1239ccd37a6f1726ae1996bd79cf4033bca66f7c51a75ebd35aa1e85da5145bc7cd305f78197072188fff61e3bb5ab3fc496917f232d7b8899df398ed96aec968cdd54f16ad1107645ee0bef47f730f614927f8d78717ff9387856d5bf6d6137a960a42d0f43a72c9f5f096e872a681cc86bd275f9f0d9d164cbe70b4922928d3f1ef61d61fcd72e249f98ba6ce10467a7d743804c72cf70bf597272663b323d67906e6d9c3c0727ea0559f85a79312e79d4c48429088e40c42b28c4ad3ff8f948dfe742bc5e950d042ee9e48b201c8c1d1fb5d743e54a52d85e6ad3a8bdee39ed4b6ef7cda962716301ac1ecc94ebd2406fccf29a9ad4d35ec8703b6e59c1eb7afb8ee0e24414389d872bff433f58ac215217e05632c7541eae192af5be29acbaa5b7655e1cf0510fb68f64b84454fa66dfad47e136297b00fade28d3dd21c50a4dba2d993a672be57b654e47f99208fdc2011ae9ea475507f3f0e5de60f013ff79e2f01709672b5ad688fc603deadfe283e130cee13a623fc10c7772624b0ec91926caf36ed5fcadda180e71e8cd94a2772cb768249137eb9542da91f047af174aa22266b4a722c466e16444d90f34f0792346451afc6294565c36af3187b5a99f5e606a849723b885f116e832c27c64b44b346e397fa9660c92ed1f5ce6e32591ad4e562236b708882d7d86c71437bfc7d609820a3e3a235f82c49ebbfea99a47ece994a050a9cfa86e5b53a80ac0b0a6d22223f1f5e2bd0d9a0523c794f436161a7784d99721dc8be7da939e7ebc293a9ec24a0009009f2461dbf2ab3213772efd12dd428725505164378479326c4ec0482f66676176c6e956a57556ad00d874b45b85cac2e50cdb06bfb41c7e3a09fab519b11c647cae6f7d3683bec84f21a2f8fa389ca72eea134ca34347816792f4a4ee252538fd934b79b54ffbb6a0330117b2821ca49e88cee3ce90c538d620a236b75d805509f58e663f4d1fbf77fc879583ba55f72ccb15b895d63367069d5d7fd3c475ee2d468f012ad2644601feeb78088649472543795c039e9410dc3aa2e63573df6ac4610437b3237203dd3c23f20414588540481e4ea66c4bc397144b410777a289458c0c287642ae9ff2695da43bba2b82fdb90510427aceba8545bf1b4070e0458c6277c1607cdbcd7685bf6a7c627411fe1e6f25406cec9e4a45cd9c7fd1c02170bc631998ee37d7ca03af595d8b38e16bee6c8c462f426ff3d203254c6803715a45e75f06793873a65e0344570961d695e5bb7c3d48795875b1fbb4400c41ed9d669d3cb14e1617e15e50cb579e37872bd3de42a04ac7f3c6bc316bd2f5bf159f73db1123bb8e621692139bf625fb133407ac715215c528d205dde95a4bba7970fae7baebea4daaf52b127de5734575e82630da6a7a9cce6fa6627dae48882ad087e870b12865557b6f6d670fdb55b3c67d0b6197dcae6831603c96477ae2b9cce413ac57e72d226c167dc2c4f5def69288c4395b17af2174a5c4cf4de3f912f8b91565e5862489b98fde29cfc4aaf72355de84ff5b3535cc589938e3831ff0fd37e581b52b0ece9151900cee1d32672ed64f3468567c67e35eebd895c52ce48ac73bc37a1dab488ce4afd55ab21897294920b32dad294267d1120fc5a5de22c38c424ddca0b3e37fc97ec48cae0b872fe35f005625480f0536d3767ea929ae2c6d80e1973a540712de30b7e73d8a86d10d8a2a5f51411f758c28158d2c57675c8a3f59ed819769c09d7c9d2370e8529c2824bbf5fdaf60dc5dc79e83e1b7b270f8db010b00580a4110dd8818fe185727c402b722deca81f664b1924385824ca5b9493177b6b038e167a23f4770e9314b31f9d65fb1e0c83c486ef1fc6721717951d7b5ce5b28e7ad62abff387d59b1e82c0a3662f343c294ceb9afcacc84e4e377ee9253fb53f756cd879918c1ad672f8499a08f16646c9e44e6a4e56d038b203d965fe28012f281d113e9e1b77277298e1df02a561fb687a44fcda509e1c1a35380605a308027f3d80ec9feec14872081e827b8f651e003be0cffb7f7d3b8b42fb2e34b18db0be9feb24297c9eb67291549273b9c40d2cf7fd987d633ac2d412f79984d3585a3ce47bedc83532197281bee3020f8ea77ca66111b1b914f0fd82cb3efb4dbc1ff0999c2e837ff4dc729c66583931f39876f55444d957d55a46a21c397f154f02b9cee9089c9fef762d14e95a282da6f6ebc6ba893983be992da3ef770a521cce9717228c20b79a2f72a076cd7270c58a27f67eb5d64e5f2969619824c16fc97164ff46c965e640f072b1feaa2a413fbd5b39b0b8b909336f488e089bcee8ffd9c1e54b06631f910b6f05827a3837508bb437b635896b6d7755d021ef0de382e1aadac385d728a814723c8691bac9b5b490075c74e9cfb83ccf70df448e5d764872ecac8c811187b63e19bdb679d5b90f583605375964a40cbeaa93c8da0fe02ccd8a6161807a3e7c72621edd52c282a09b3b6f60250abeaeb92b1238bd9607befd7ceeb779c95fd755449f810058b5f98629581c77fb17be0813531372ab441a0c1fd5ee78c703932f7ff3b428df72b6696d7a5baba370474787ffa0804def98896eb068884c821d61cb15183e5234502bc0a99bf2da9ac1f045186d50547ac87ef8d272d7d1594d0429f45af459c7a90feec4f9cea07de548ff4c747e85072a2d896ba985d4c07049057f08127dc8d5a5ee462d36a42a2373ee7b45f6aecbef7e992df3aa30d6bc2d0ba78be46dc619ef415629ff08f55700913cfeca688cf74196f26a24c689867218a579c3a0907d4b1366b8a072628af5ac38a39c857f20b53102b63227b1417261dd74e4cfa30ed58bbdfebb486243ac3422712656306a40f71cfad096490f72511961be456190991785fe8aafbec01940fdfc9033288aae64f46c3030d30572a3b1eff600582afe036a0dc0af69f2861206a24f88d0db019a9ac2d40ecc884997cfa0514a4bf063c658943ad3cf524d34a8d54be737d92d348729ada0c9a90e22e0403f549d0d527aae123ceb3b9bcf0c669ba484a5ccee3dd4ab5f1a002672bb202d82f37f06a2c1b444de3f01923b5ffc356fb8721864335cd06b4ce18d72f86454383ff248aedb3f82945ff0aede03f3ef6811e52a57033751051ac8b772157c0c851d936b736b2de1c143c73b8875854ac0add624f0f30439e22bba4a3817f183ced1255c053746ab154184018c8e742a2ba8e7dba85a1f4cfbd357ae16dcddf1c1d459ee7507c9e275a9a76743c517858e486bcbc8dc8f91e667a1477298fe49b2eeed4c88f16a9249e8c5a3f33403c06bc8a3e937a7213941fe12cd72011a17163bb68513a31165bf66803838f4366179a453b241ea435847af08901a71e18a509f03807a076d7eba8c73891ce551c1d38e5357e7d72da4bcbadbc50b683ffcef308e28cd03a2d6814864fe4db7cace9876496e1d20d8a8835dde4b7207b608dfaeb024fbfceeb59a21ec273fccfb8afd21926c2ee8b95b84d00f9e5f2c5367fbb2804cb0b976e93150f5a5d2ff8698ea98edcdd75c527df6509afd40ccb0a9d5206faf0a2fbffb393af9b70846e6c522e7d1dcd90adb485ad996770b9f1c6c7203ca0096a5320cd21e1ab4074cd3b645067ef9c57dc1445348fa6d72aaebafa5b60feed7afae08d0e8e56713ecae68ee32f7af6b7d277d6dfc1f64725881e853d7def9face7b1abbd8c44a2f933d438083c73a0edcadb26ecfc33172e98575a4a18cc99eac7afd5b0b5f4b288cea1f3acb7b1f30b3bbf55f5f1e9972e5c2adec5aca2cc36fb421bdd255fa0b65b803ee22df6d23aa431c8a58d7e672a4c5d6213b7bbc51321a121655de405970ef394e11dc86f3432b0eab39bab21c17ac9f37e73ac5f78fc0663a40ab54e5c67795a6974c1e64f2c43fbb670c9f72bbf3deef3003835792cbd6414b98b8e3b0b6462b3d0ad398ebf44911fd2b9e728e9074bea05bdadf6a1fac503d7a30109e8caf366e71ab9a3259b2e289835a13bd19b6c19b068154e35b177d587b739f0c887e4c1ba4cd10760b78a58ad9c972ac3623cf5a0cf3c4bba84ba5ff3cadba3118c7fd3f44a4de524dceae869f416a621dbe1bfcb712c5ca75bb2448dbd5f64a491dd25771b0f653f95ef280b947725031f00c8cc24244b5336a79e12ed2fd1fc7e09460cb7706c83b350e19f41572cdf097243e660bd98a239d80b33fa679a54814b22d5969cf99252a872ee2de10e24dbba4ed2de4e68ff09a04d25ef9a2d65b4835e3ffc7b036ebe8bb7f157a123af21e9e7d41709bb6a41624609fdc2c8aeae2f7552d90536e83296f59891872414aa5cf474989ddb2eafb9e2247bdc70057557486e4e5bf4297e0403ec30525b7ac0bfdea9e1074dc30f5dcf29db1e4ffcea31723fc94a8624177f53108797240b11459fe3d474692c450c7f09108d9c7d470f0448e74fb11aca6009cd92e7289cbd5bbd9abdbc212636184cd78b50928677b74b9992784c5b74f90bcbcef05a27b2760736c1fc832756050dd587e4213ffe4f4d0929514820230e81acf165cdd8c44a41708b4d94e7718bc2afc88f5b1d5ee882f9a5e54659f30de9db94c3993020b1ee96a420fc6644b2d60bd81344504b48373cd43b71040726d6b3000721b98002f50018ee5823e8a4f44f4384e95d3e20744631cf5610db7b7c0a9a34f9dba9d6c694d1bb21f1b86705f76980bb119f8af24819a7efab40817f6e5d5296ccfdbc27d9eb1c6d7c373f26bb21154178aafb85da91ac0fe61aa1c55969a7239312d1e732a0cedec03bb610cb9c0bac630200ed181d7e6c432790fdeb378206a92b7963820463bfd5831d657b61f8e808d3402399a675f2a7600dd70d99672e13ed1dd38902666f9ecbdea608066480b382fa9aae2ebe7afd558dcb6f6a071b106ecdff1d841bc21b89a98b3ac32bf4ef84957726a591bd9dbdf0bde17ec11ddd497ebcddac695cc62289e7e2f56efa8a3dfaf866a747492a3492ca2d2110dbddc12b08a447b201b0bc164cc61191907a8e39554255c367a9ad178fda93f53e6eed504f2af2a4f0fef1a8dfb49a75f9a2c17933d4a3e8191d4849d28a910729092d0b88ea2ab506e9af50e68fcd2872966476ddac6286685b917a77a7199460377b92001db880326d796137d391b00a2efd880deff10a1acedd3d4aa588e354a82b900d97409d78f80d69d6b24868504824e2a71c3aab116314d5d4ee5ce2c9585955e8d5f9a21b6d220d2c93ce162fe7d2e6f76ba5202c2ca0245402f0f723321e3eb239dfc00358e63fb375d2e8469c58cda4a1d53486b97bcaf8a3eab1d7dd5f9657c2a8cb7d5b4816b5dd32288e413dbf995c59eeb9d67cdd49715bb416251c0623bed7d9c29e9bbae4bb460d3d43f53178c762c80be9e69d2542b6672d20bcfd298439ac22ce0a8e4fb03e319246553904a55784d83c8513b7de32c2517913f515968f520cdddfa2c03ab499df47ba2565229e0385f2550a519c09472bdeff02da8965ffadb210e9f57fa51a888936fe0b3c44ac82ffd52c815e6902d8761f40108cca1894a75e895f3067c3be8a6855f096a96903e41946ae2c4db28b2d962e9eb688a51050047fc8db5cccb825dfa5aca14076dd6916e6c9bebdd5cab99e9ae645917a8a9b3f1ede14fb634b553b8cd020bcd43c2004179500ee47287253aa9ebf7b00da3dd032295ee0abe00dffceffc38d875b75d9555df80787270beddd47b37c7790aae3d6e436311c815f67483cd5bdd5d90a8fdaa6c908630feb9be894882758ada0a46370cb23252718c357e3284e751af4ad0524fa648447f14270bcd5d8136a7f3a848d9b231b5a3a625f339b3396be5e8842d9012b2317a53416092240fb8578ef972666cc78f601fcf68149ac92385a3ff6461ec4d1ad98f7321df0a3cb0ea93a9f67251c86addc9b83129794b9ad6ff590da080417210b7d70e9539a888e541d68f33da6559008c8ddf55689e9fc92ad6f527d4e21687554026076c1a84f5595d4f291f6b78f39a82dbefb903bee21617a12332a5720a83c24d45d09bde3d5b66c863c72adbd6cccb3ffc472d5b6ae6c53b72c77c4fc85b2ad35ae60fb180012e7c8c5d20e956ddc98707417fbcde9299d6ec057c0346edb266093c7c8b5abba8f8e40fcf59a814e7e4fe9951d1feacc799dc38c072048fcf07558575efd6b429d12615f1a28c7b3582b85abc5dd6d36ede4d0d5906818ab8cc57b097cb2a043756b4feccce95ca18b3ec6bc5c2c17b60f188d032501572fa29c7fe6d6ad2d3b47a7d38f0fe22043f9503c2b5693406e0cd10dbe572716dddaf2b5e4f93b35a996730946ce8c57f67050aefe67a26f8b31f46278e726498ec4dcde87f7f4c2bd680e512156977a6f37bdc9b10c220a8c861399c4c3daeca0a551ae505779ed58aa99c538632945a308ed74b071becb28dadf6035072d27f50cd47ba411d799e79f9e1062873c127fa59d4ff1ce502b775a4bdb243724bc154decd9ca65fd83a6e5c61af6c5922b7e2da7d8e56a809d9b40bf19ddb72adb727afdab3128ac37b97474d45c0fd466d2c69087b88702c772b687629967204cfff9ef0b7138329abc9a0818cfaa9fd1c66f0a211d198a562acdb3e16f572f8eb22975bf9ea6d6fc53c8f0b8e9ab8e09636b9c973d0d7657f1e397990f472cfa4224feb3a22a511af693cc95acecbed9d877e5c97a9e16f578c70f8c83b72ad2ec07366a88b606a6d4443f45e299eada3c83415e85aa8da0903cb97f568722bb2bc90bc99c5e56bcc8d4367d1b8d127196c64e08e1d713b09fdafccd5ee6ee0aad4fbdf6b909836ab10a085a3bb4eb097989ec88feabb4878c5b187221972e6a3272003e250c1ee02581589807cd2ea07e0ba3a8a635a80294a72c81d5c72c6b1f169591d286ac90becddae57c1a790aaaa1e65c3903a67b72062d310bd72d8ae9d60a939c5b79f15f64bc65fa3f9b0f95ec58098396736e5ca7c71b8b872e045598cc146014d8585f387c14cdc2400549279660d8bbd51d88da86ec09d72a8c5f39dcd340d8e6d1feb6412926ec61b3c089df9e6989b8532f336e46c0a01e59edeea18b0c174029614a164cb3ca09e30c1e5d99aa765193cb512b0a2b0671bcf2e85b54ca53027aed38dcb9a2472c8e8c427009c86227b247836971d756405f083de96540b6e6181eb3ef52355f0dcad73319c94d74ca2b67207783cd57209868ef9ece1a4c674107208e547fb9e7880c463a353de281c79ed9616baa01df34860251c08aabad6e40df11c2a880a4d590dec2cb8d529027657913126490f1b6caf3001abd8c565eef91d78b9e8580ad1055bdc61c69d03d43ad0cb4bf82f6ffe86f9e7bbb70ebae20b498096073f3c941878af534b4c3290a236dcc274493e739a350ddb1027faba19655c5b078cb1eaf752fb8d1ed12c3630e3f6f5d872250e6ed6136beb7982f70d2d7157b4bdc01c4ec7217a94dd81f37ffb7e4d6172d4b1dc1691b105d4464c8bdbdcd6a98fdae034914a616b59abc8400b28ea7972e8f5d323dbc8d1c15d43c2d90010de4c113de2b4d10a082c5099ef71ec5a0d72d46656602bda366c531609d59a254d8bd0aa00ef367942e317e2b9863b710d3cbc19c7dcf0d851c6a9e62cc808e3216b49c264f6ef058b2cbb2be5500bf2ec2e2980f24a0355643235106a56bea6a099915fd96a5c67962a58d4722dc66b487250e841e5af9e7812e260d376ea23c16e1de871cf757a61a3e07d6a15cb071c6bcb1bba3a03a0f3997c5f263516d336b859eb18ae65843fbc180c92d0449e61438dd74072f164b39a502dd21645a80b687dcab0f9d71c0905984ebcf94e14e3352ccf3b2f6c7598e2a7e9e78ec2bfbfc405283420af503e0b917e21ee6b9bcc7298f9cf2775fd62e688b0c8d3ea5ebcb4e96dc0355db2dbd1bb99a0bb0d53ac72cabed8a76e90f56701430dc2de622eaa17879bb74e9ce3a526c26766b95d561f040a9479bf44ec74f97b73d79f7b0325d3b393d027013e75369fa8ecaa799f7241898a4c24b435b914b5f807d7e6ccdfffe7028f9463ad6430f0803b545d8e72b482bd486cb242a286f9915725b3d9bf81a14ebde7206469e19424119d4da004c53c97e5e03678047b8552a43a7c9407064a8e4f12bfd05f82e273e2947b0530c2f76b27520b2d6dd9d4c624d650a86ad81ce3f6af84e5cc6f506b601abd01729853f20c2f127f37c591e54181aa6c5d33ea504c4ae689089c1511106f09817224af150eb5f92b6a6e1ddab8f8933fe30dabad5d2685437c3fa7de80f569c8726b866596306c6bd6f1053185b4a2f8fcddd0752ea9d655b0ab6932e1cd9e70726b9f9a95cc9f84a43f3a1e9c5d42423c1ba1b505a6892b39424e14fdcdf8466f1306c6d059946ff4bf22aa9236f3205e68a31a337fc675675e3f3ea8401a3272c69a1dd5ddd2b0be1c3b5ced5afea4823443715b353b26a68ad46982042c4c5067c1ffa391ea4eda12bde761d5b8c6df7767346fba26cd5f4ff54196b91b5972a5b2ec94c9f613d5fb768d73f09c879793d483f66f7da5074c87b6eddf71d972b10c15d46a56248a94a8caff6eb12d888621ade09ba62eab03dbb11dad687d72284a50f1170a40329aef24b5660781680e0a1e7c5a42148c78736e52efbacb7228170abf22e43a4ed8a51ba5bef17f7ca5e438d7b10bcd94974375f23a3b3872003585f46fcab5dec3523fd2b88ca12ac4d69351278fb1bf578cf8c7d567965df8ddb68d536bedf3a104f88ad4c443f6616c8ffda01dc34fe1890d48d87b3f6d45db42bb71b0a723c4a3d592d55e730ed6e937ed97a3816d46d3fd947c303172eeecd99c32b85ec93b9a2bea7641f48002f46c7eb48078010e9297a01c4e1d72abd7f13eb47046149f1c403f6e389ea350a788c30d449b84d3fc555c9be5a77282dd03cfa698049d608427574ad71874b5c14259beb0618eb299028b89b4504403b9d57a6eda6cbd86bc8e348f723479a895d14e4b81159a0e876f23070e722b43293327443ab3e5369a2c997143943e950486e00ac763a13a0277ea567b02724ae816f133d9a78f591366a1af381473b63bd3d0c714035b07427141d59c9a029992d1d39c932fef3f1b767dd3cd8b3bba34782cc45f06a6c6058e5b618ee70d9fc161ac1c68343934275374ab50996ce9b6f270573dfaa658b401bea829404ddc5679703cfdc0fbfb3ed66351768137fca49f3420558afd526ff4a4653ce130303b28bb83bb85449865960b75e0d0c49d045a5dff579f60a5fa54739edbba72a29e4b4e787e8461c90b13c60d6c7c9e456a873e778432b8a22468da2e158372252bc104301fdc140f51511a12ffd09d204bb0634df8fcaad4522449989d8926849b743e59c749ed798fa1635f489818635b5f3f8f08ecbc55c3c2f133a05472c761658ca5ef42695a3bc4c652f6eb4bcec72beb87babec31c9340f744e76b7295402371d3e1a8546065aa71587eedb51380073804e77f6281d3b1269afc2332553a25421a580de333eb0d45331294255f9d26603f469eddc89807458f6438682323ad9f79253b4113f4e51a5e8a64a370fe13c91a3fd10160f15068e71d19725158fba9d70c549f6c298611451073988a97da8241f063126a10e126e3f7b57255a9da1a3ac5998885b203d38cfdef082537850dcc966f438f3fbe1eaf6f117282764b720c4eca73c06afe7db014f8b8e3af2097fa6fb50910ad252ea6407a3cb9b110e48ae1a5e7120d84dbc7b5a6b9851d0d8a74117beaf20c5fb323cf8272574c41cf8d35ae1340e4ef0cb1b02bfcf10efeaa0318a8a69408ff2010d04d72586d4e0c4500c71afd2729c24021c986dc40d04ea4c797324fcb179446b55471f3b1ac7384aecf982d5253ec256f6b8dd89fceb37b5252bb56dd7132bcc0237279a9ae65679b0993b3a2c70e9c070fa8c872e3bc6fd69a6120e9b3e3c168765a776542411d320407579e0a9bf41b37035aa7cb3c1b30092fdab7db448cce93729f43e54449e972161fd9c1f529c85b55edb298bb35d005e360bef68ee008ab7249af4ebea6e9410078f9f015ceb998d7438e35d9b3634f147c7234e0e6017616ca4e378561019127adce63595a0f2b352a0a4603248bb4f1c5075d03a957e17216527ef90d8ab672fa61765b66435d4339175947c247ea6fb947719cdc27a71912489d90ca8a4450f7eb6d767115554c67ad19e0fd9d6c7ccebfe7c1e0a4b3724f7fc43d52ed8104e78e4756b3ac49ea76a7d82eb43601bdce066ac362a9e6001349ddc5f0fa89e95d160c116915e26e20f5f61575203e6979519c6bf4151a08ec4ab81a3a2ca9958e9ccd0ee46e2670bc7ff477ea2de280d45a6fa43f9ba93a6b55caf41b7bd2754eb789d95c69a799094abfc5401e403406696180e163f772e62123862823571a135560d617862ec5246266bb05cf6310751102429cbdad3adc3cef52c2c932df4e9e15947211ef75b2fc9333c33d03a544e2dd80f1a3e8725d6f0fce844393f0be2dbf1fa8b2f9db2a3a61a92253aaedfd839f3ece2f3b72ff6b8d61afc7ab422f3e43b86d95cd07e6d11accdde7720b7bf0ebb14d0e7a72fbdd0818b34834e92f697394b0866642afbdc5f60c9e79edc1daa0b9e5b6ae7206903d6ac59b62096be8f27c5b1662fdbef1fe417e265604bf55cbf15a5a79724600e430dae749fb4d4280431f64ba53c8baf201fd52ccbe5df9f30f22e8f0728e9d16fa83cf692502e79869762198f0e65920996af6be8137a0115d64ad6e3094b0c1bf62a7121816b80c72485bb00779aae042e0e69c132ea542108df7e472d44a4dde36552f07148cafa6c65ab92b08d3b8a876750bba600d9593d49876724c678fdae057934ef06eb3f5a31812d6af1d8c8df98f47632331438cb4b03834e03adede9d65823af260e2a76102e6b142e0a647c3ff4f6f975f374e846f3e72beed60bcf56cea5386e5c7b86c02152d5e1b108537ee1a98d47757705408277208fb658c450a04b8b7e80bfdb82981ee522b9c56b372208a69200c664d398342eb62b29037f3bcf4ca8f8ae99c57cade977fa06f8c7300195bc906eb48383d722583579097c8916925b94150476720dda0bf1c9ce958c2702d57016f12235626bc354ec28d003723c4800ab15233308e6a262b6d294948167a6f9ec9c03a3147d037e6f906f16f1c48c3b2719111b1d59d0879f77d3d205a20c1b80998aad1139905379d67579f90117e1bf0491dd6f9febcc1daf4c584077da25e6dd303ef72ffe64e967a62f613d359888526f54aeebc71821f665e52d84d1b0d0f1eed973b491c81223ed7446bd1bcaf7ce9686fcc4300057c4ae1f5c8820d0341d7f64d72632596f4a99a516d18a77d42ce94c5ad1fa26bb027a4b1f7e4e6155b154e867284acd54e77e7e3cde63966a38b90d3cdd25a8452538ce7ead8701aebc05db072e407c4ca7a4e5db44a62fbf447d8d6307dca4875726753f242d521c98b395f7253936093c16f710da1d2c95cb95489eba3e8c32033ccd1bd48613a46310a8970f475f91ea28d83a4ea923532eedcfe2bc72bd2e81e2749001bbf65c97e1ca07237627fd01e7a35d913b1c75768d97ebb7762afb83f9fef7b3e6db28f42ff2572e91dd791eb6dc3a2292f97ceb260b0d903712a7c7508cab2c0d8e75b0f8ae6724b54ccc04314e28fa2e58ce9c119ade979ff341e11eddf8df0b24305e7d6605ef1d0b893cee719bf3bab878ed3b6ff72e59a8c0d4676cdff41b5de6eed697321b8fe0958245336f233558bd99a1b6b0ef4f21fad3380fb443f3482fac65d0f18566bcf54417348872ac4bc4b729d2649d066a076e8fad15b83c6a3b38a3130555471fd7f6a2dda4043f8b3419efebc27ac0add6519ea596be1a6e9836273f47220ba5085798d3017a511824fc9f1b201d99e65fc36e6c27d5f5f842b8466b772029061034d3e5cb2b4eedab4b75dd5c39a059b681833d64daaf42cb7c56f5c725651691044cc3dc029572283153c4b1616c88a1c9d340e199cbabb3b52482c7286bf6f5c4e29333d6195daed90bdf5836a574a31c61f90fac9a628355616aa21e7745bab63b3c2c5266e577117fddb96d47bb0916591c79580eaa5463f775d2500fe9bf9f3ff8b356c5d39e18aaf8f04ff829e75bc1b6054aa795ed273846b7244ad7f35d4bb41e6bd445ec6cefff42adff821df285c2ee4bc3073064e586672102a09adb94bf6a4bd8a07731f98a6bfb91f8c8a82d2cb6d8ec6a93addb0be72dd15db7f7a95cc108922bc98a1c60694a1e7fbd879c9fc7555f758e7f6554a71cc40c8ab77dff1851987cc8dc2d2ab09685d7d86e4cfda1d813a4ab035008769fa2a0d01841417e0bad65b23682dcc394d82fd322b141498e71ea81b7581385ee63e47dbb3313e33debcb51d6577c8145eca969226ecf60ad2de4ec67ec657724627d27ac579731512a3114ab73fb3c8b8a0a412c2ef2a6bb544cfb30a727653e4226396db86bd7b6823859c3c662f3df9f8483fe89680824e77f0ee680a2440a6e37e89ba8234cc59dd0350a4d2bb800563a9accd4a47d4840de26d51720772e8bed6aac0399c0d64e567fa66c54ec826ebae5b169ff7afbde1776456b0d048ab1624a0b3f2f13ff516a9f3a8e50f9695f8a71f82c21b9e45fc99cb8bce3072dc22944cf4f90f913319e8e4111147079401614b417f5b15618c0a7960b424565229a32dc4147b724f9c01ca91d8ef7b5f4177ef9029f19c09b5e2a19b711c72844632575d9caca0fc23091d9e5910761f6dc675713ea1ff95a144d4f3133972e4c61f1d042f76b5406fa39659e14f3150f766b7df6e615c236054b547c965342c03cd0939dcc6a4fa91683e49f44ba2d84d156c4bef46568285052a0a3add658130d07299ae7a5422f74d8be4def547a5d46e8ee38845e5cdaadb59d23d9068ddee21d61d6727359bf6079023c85ca920c608a763da344a80fd951bdfdda4723fa49ec0ab70f3ed01bc6435de849016a9e1be00d83790eb24214fbbe0f75772a3d1acfceb0217330ae401d86bb829de77c7730713b17e4767602a834bfe5c7254586755ebbc40fa32d871813ace3a7ab996ac05a9cc630a228bdf8d1af8847201c9e5532aaea667db443edd3f698555b809c5925172ca846159564ddf69e772107f4eb085055584c448cc55a1325c4f1dada803cfeea366b44eeac59891f9722620d92d4a16948583bdb654964220bb4dcdcd4426264bcebf1067db4e294672fbf3056aee2e88a2654583bb14f042435e61c8edb3c76c0c701664d461620d17a6a80cc1743bb34db135ed1c82986f88eeff2ed04c9582fa8f67632a3117df72b3879fb668893b52293e1f18e7417f8d48cc087f63ae3e6010bfdd577ab31172183fccf1f57c2e9fd1953fe0e3a0549ed78f80cb4eec803caac6b271e223147217cce6db9e8cc1b93f3698fb2a82db29d97a9b4759e6777b385ab4ca58e64a72fd3821fb438c4c05e4987fb119cc4c436cc0f0a0c5a0f68dde531fa2559cdd7256437878d0300b73031147798b274f2a3ce5519d7fc776d95e139e0ee5c08272bb39155d365608d439f86f594ed0deb7f97b60890a4bc1dc7c67665bfd5d0672b78a29ff7eee6a45e793903b7dd2fa82610797dab228ef553bd2b7ffc311dd22dc5772778c5d7b09a93eae16886e907beafca3b19b774621e862373c261f613446d019dbd2060d1f9f9dfbff4d92e89ca85c22eeab1923dc0a19add7be18a572ae910a96fd3448d4b3f691d62d6a3db9e4a38aad5278082b433888f9327511330d3276b3b2539eefd7e265baf20d35844420dba64cbd845229c8659ad218c872d24603bdfb3ebc255a6c2c1da64fc0253fd4ea9cea5bf0d95fcd5d31990be4723ae476646ba6414353dec8a3e84e432bd9878c42060585f5d0bf792267c4ec72d5ee33e8ae2a00c1a7fe14912d325650c05e437f31ed9e1503b21d6a25a04e1577d4305afd93730770d755ca98b273f1f4d05f1c7ed4a70e60d9652ee9284b72de838cd18779457a02b37fef5f9372c5fdd790c2d5ca1fc90291309e8d0d0e061c4cb28059cdf046af98c55eca215dcd25dbd43fd04dc27325a39301c21ffc0be9645e666885afd529e4184354c53b59d596b5c171681056f1c99634f8ea6267358cf42f7c238929b15c4ae6a71f19af358b24d1c0a9829d311a4755be1a1572f59efbd1b439f69359d5806ea63c34797c25dc9ac1d88926151b3bd76b077972ad49335079003e7739df5d062c032c8ae0554816b7ffb6cdb811117ad78eb0689cb3b596127a1178eabb7e96f1dd5d26ff295dbd8bdafa57d7591a2d58096772b9e1427f26f2e86b67df01d87697d6eac943d08b8e76f961a5136afd6be44427cf384c77d9b0d20d697695d8240b8badb6fb3271a85a591b4e7072ae91a6ea014655eb16b268a9eefd02e67fe72a9987ea4fde74d4f30e529ab867c8d7fa2f25c0cdb6f33d565023c6a3599ad157dc319c598261275e2c8df0af25af433c641b68c6ae46fcabb9e4f52c5acc5409772b1b3742cf48f0dcf016f19fd42cc985726008bbcffac0bafda3ce38a5977a3abcac63ccb03584a83eadc082005ded0972739c0c5263bf80be72b25e35a433b9713886dedfa06f64bb802208382f11fa1c0740cf9ba87f307fc5c57c9cf99c71e185715d307bdfb0ae516a048a07d54372dd3be5fc62c2116920fb17972deb6549a2750f3ce4f408d0ed633f526f67b7720b69c76e88872a45cdc2151069a75a4e40eb7abe02e5ed962fcd01c52a613539964097d28951b9c9d920a7a7c98db8902e655a387b754597e3e991c8d870136324462c6165b46bf25f8a7d824205af477bbc5213ad020829fda124812f2f572b56b420fd4f9431f6f5d4d335e3dbd0f18eff6f39ca058c929b09198a9513a93b8cc4be45b393700cd7faa9133df78692b1d3bdf45957f9e74f4d01841999f657f3f09742aeb30d59b3274e9e345fb092346bf971cdc772233bc0b812d964e772dd90f4c733bc7b1d6de0f9cee9fe8d5f4a4e9e589b4177a0657708b7b60b4672d1ca2b06e8a32709031d5d5c14bf18e18183742a9fa22b9f23d596bee0783068ad3da4b0091ffa2c4f32400473a6ec65c4f3857c343dce56f979b22b32f6454312ff167d9dd15396df0f170703b9a818656c6b8ce0b4e927e396e9013b030772107dc824e3fee0ab4c2eaf87fe6260a2b8e0c1ba2179c90ea5eac7ea7f144353869e40cdb1809386fddf48650ded3b9794bf99b8ad9a6a76cd9fa809d7b7ab4996f4f92848b171d272f65b40afc2fbf822b165f5b66452c6537d8dddcd35ef21e7df31c34b21a4b6429188ae62f051204c10b400d2e5c1d4bf0bf0f748fafd5edc1a743a2c0200d8bddd12b680b9185d9782dd3b71413e4f8de4f545187b936e602de0d462cf80c0bea843e47f06f266106c5e85202ed57d875fcb7930a13f204f1056bae56842ea7c59571a9357fa561690bbe78b8f063a749960c2d6f45e46bcebe2fcd748e1320ecc4e7bed8fccbc6f6aa14147f88ea094e5af50ea75e4623f044f1c53ad278e3b06127ec2c2976b5f310ba69f55bc925baabfdcc72507727b72b90b3e1cc14bbb4d56c318a18f3ecb24f8c61b66a6b42893894edac96172fad869f587a1b39943df5e8447eb6124ad81730e9e74067b97599c89c627444c50e786363b0d9b6cb49c755f707816dfc9216b1dc572f7cbd325d08a9001ec72d7cc3466d68a1e2f0b3b8ded7a07bd3a0c853f91ef6e4b8364699b34969ed72440e25f649ffdeb6a0c3418ef71f8f33fd1568b7b493d0307b971099c9504c8721a7a36abe4e142b44fcbcbe6b3b604f631aefb7fb16af7c6603716ba2dfa4b729f699768cb15da499418f9f0df725f0fcf8ac7b5f7e8e432d7bad0b997a6b36d91154f8093c32fd039cf2d76a4c4412638b71d84ac8cbac1efe1cdfc8f33992fabf04f4ff4d23f77197da8ea44bc133122af7f4726d3ea01ae8c7487d07ff272f4f2f76ee728d42e0789df0c369bd212fbd0d4d51b629eda5ec9abe0e66a177200de646b613852f24cadfceb8ab8fd8e30bd299a57b6471de9dd931dbc3bc82532586bdae36e468cf784d5f2283c37e76f967e5088800aaa3ec0764be142635407ab17b11460423ddbebb26c52be6ba611a663ec0341ad11c9a351f09534a272f7d7b09452ebfc18b364cbc930fd2505f1385d2b03f53931db426265789b587290e8de6e656355b13a8fd88882689c6244afbc572f421f885944a0df49a80632754d9b59dc5a3c0796324cbeb5e84ca90f4f06fd0bda690e0eb05a219b79c1295e88a33762d2f1e74b042fcf679b02111b59bedd8c44833be4afc61eaac9e01335b3d47c5d80824034d32790edabf13922e7488a435e60ea67ca68bf9ef4871cad092cd5fbaed79e6f7cff7536ed046af92c9c4be83a9a9a30b8652c6ad0c7720cefa724a937722aa904eb51a1978af6fb285927e25563ac59f5f448ab3ab857bcbe8bd052b84cf7b7ffc4938ec80c959a6542998b477e8e5a177b12a76dea724ce25c7ddc8b56df056310fa53709381dc6cc32ee57dadf4a2112d3e029c2617fbe674cfce61bc60bfc7bb0860d627a2ad8777a9fc5bb09dd6c0a22de9288472a5e598d413361ea960cba61e33828a8c55b0c329f4e52aa0b4dfe57990651c0a8ab8df9b0618a3d8c748eb16cd0a94fbb98e4f739329d994e992d7305dc2f072fe08447de683de35dad995482780898e2e7521f0ea23b9c1adb728a3524dc6726a40ac8955a3e7f3ba48298ad807d45f054dffb7d15f6327f274c2408ce66272097ce9408ade2c6551c556dc6b58fb1f1fa9241104984d95ede5c9ed18017e7210da8d3fc4d27416070bf97fe785e00077bbe67ddcbaeb118c959cf1b77bfe07452e8694ace12d50e83b7008cee96b2dcb912968abb78cc5c5b4390771a19a67675e67d6b9f6f21130d9a9254183b27325d50d94efe018c8902e65045b9b1e453348fbc4d80fcc2bd5b861bbab7ae926bdbb489aa454abdb4dd843ff6e1de458236882152f871a578c8d60d4ed7fbc6dc03de9090fc6c5e26e79e356304915722f91e28bd27af71795c71ae6d22b614f1d9523996d267fdb07f10101435a5a704c64e1c5be22e10f92016a796d05a729ed9416a581a89cfb63fa10d40e48ad1b720b9c8a8a8493c88c5dfbf8389f066508dfd819eb05e198b49ebaa184f19d1f22294f349ef9e5eca965949a863b54986d35cc32ee92935660f950d4511b096e422dc1ef7c692d152d3d8b7bf775e03134fa891b81cfbda96dd1203a27688d35b6a9c043cf0f65ced654606cd90e9f84a9fde32f4047bbee13d9fe8046dd943c6bbe2913a3e9136f534989fdfb3f9ec05e5453989887d5bbe0a7c9b87ca557435e21f21869fbf06101030e61a01c2693e85f1582a6a0a6c86287288f8b6aab72f1c8f0cb04a3779ca0b3171fd2899f41f9d2538ca34957a9ea3147f7f5661b6f6ef6170e723bcc0ea6884f79a0ff1304c8c756b96bf846b39518bf39808c5a72a3633c5007287c8e0f901b317ef761d875e0d020af068f41ae0d5cb84ae10672c646a8a35a33b41989f1a67d03fcf95365bee45dc55167db5a687c96b418e172a0753d93307e07e073c3e75a86f8d7a901fe986c5cb575047aa954f66c71e9162aea425119f1caeeeadc74e4cb530b5503551475b3686565f521e89153f56a60e16f4ca3d84b7328912781e75402e7f0ba0f6febcf4c9d92e18de1d36c11b82b808023ec1d914d5c75119b115d604406405de7900f149547a30fd104bab4db2f0b715b4febf8b5a99723e743387ea9c045293e577331e74abe249d8d44452d3df6477ab98a6a99cc5aa67caf3338c9e0fc9af8048c5ab83dbb9c1aa4dad85e5ec23e65435cd830a1a181afe793776f3f7d6501f4ed344f20999a138ac84c03724b7d6451d5edb11394f691fe0a21b2de47f69089946a362f2ebe39ba9a93ae7268bec3ead9c05f3bfc7122a180404680cfe62dec6633dd9aefdfc1dcfb87df5cf83b3242781fe06d0e874f1680233bf1b32a999313ff9dbdef53152bfb41bc7246566d63ba612c9e0bc2a6e753028f079da25285b3b040d1a4cbb98bf50a6c72d86647b5cc8c91f903e30470d5d1486498106b38c46926fdc808d4cd3d640812ebaaa1b97f9f90e0dbe9755f35d40e375328e9259509311096ad553055754a39353d7d8a0d01d71e5348080428d036785beeec15cced256050918a4e47e57f7205276ed078e3ecdebc4333c1ab9b75750dea1d68044c06f58c0f10aed0b6b3729bf6002298e1b0e43b31237f2534db64622fe864dd3b89bcfb0999eba2aae642c030d16bc22a5e98c6c797226249aba31c92723c1d1137fd9105b238aa145072ca0199dce9a819a14778d7e5ff13d99a569f96cc0aa45445c44439791b9ecd72419e06bcd179a31c7943ac2a3257d8f7579d59ba02505edfaa49f491e70d6d25a67d9c43efb280e25310ccc42f2b698b3666ab2bf1df8d4f860c8f61ececae4b84d746bdf40096521df270bef80d503aae85776d75fa090a64cb83af5aacc872b89bcd81524b427b45fbba8ff51155e382533ce2ab13e521b72599b02dee2a7251657490c755afdea6ae49c18e73cb1fd47abbf795a61f17956bc817b843827241fda4c13d40c70e3aced4ae09858e18664f867d6d46a12b0143f136bc34930143d78363766d8e707369a42f9d6be15fc839598975c43947ff7289baadcf065af03fda97e71b8baba8cc4bdeec711aa27a5d904242ea16333ef8797b9336c6727130d5494906ba01115e405375abc78f0124a615716dea190657cc8193fdfa575d4e2a0a71145d9fdb2e3e3b7c0111bab0029d6a566430d9e5341cf605d7a372c805a535a5fefe85c012cb91bd152a5bf90473983d80ae6474f6006e628f834779f32b51f7b1577efc51e7c3b0445af2831151c4883966323e72cefc1f73271d89bdeb8b21dfc3a0b78d9c881e4c34faaa3b91da8b0b2170dc01efc43a3bdf4e1f75994bff3d925dad3c5cbb1e564b8d0787b1982e8da34bf09d83ba64fa8c457ba432be706407ba77a5e41aeb421c55e4ece2d3f03aa5a8d3dec62bbb04d15a19aa165bf5934f17c5736574b5680d9d899e4671583c5953f29542ca8d526472fc940b2218e3284027965fc7577ffe353b3b966ab9e1dc310520cb68248862643f1135853844c1359b253c6c118f09aa9a6bc11c34c9817d526e11c0dfdbe972fcee0bd584560744b9d47ef68d533b1dced027629a5400b36dcc77766e849230bcd5870e2464315f9efad619a24a9d12eeb00342b287e6ebe00a5695b0eacb7279bc128caa215f67a14005628fb1f8afa190a47ddfe481c394a07c4df2e6b872f1e1bb95e3377c13767ec7f8dead7102e8f6a077994ba477bf4efb8ccc3754727704d0e5e52a130efb7cc1aa0b3549eef018d248ce52bb9c9c8318ca5245cd72b79bd81a38b9845c655e7fbc960f90d92d3b3d6bea3e058bb8b68104f8396b6c8265dbab0948dfe4b1d3dbe8552d9c688450624419ecee9ec0c6fbf52b17bc5271e6ac618c0d6880d6cdff31a7b8b039bc403b221d564bb7cc45f30926e13072791982f34ae5dd777ef9c58953fea25edd113ae6eefc806336c4dd5007a3db7231958074495501e4321924116be8610cb780f823d8e74916607ed3336026b972c067c335014850e952b686c03579660bd21e55584af653d27dcb3cde6b4d1772cfe0a4592a7d8b34bd03b136f2839a91ce13b9384e117488c3f201ebbf51f27264ff01db2bfafcd9169f18a7001e18853e6801f815c22eeca14a62bb086203728d43be92aeab98e885d0204e25f6e419db1e2802bcff20f527d3323e4863f236ff20900237e75a32bfdc1b0da3c628f18ccad5d32e3b5fc0dad7bffed252637216b3d1d9cc74dfa329eea1e9c332ffd5ee27f787fd135388009e8805f1841b465a1e081f5b6a9d5d05ed9cf0e543174fb2fb65e13f15e6fb740a9ac0a6b11872a57315c73ec4dad3cb6a953b6f5c4005be20a9ba1a3895e740c10f0dc1e15902a850bca7dd6de985b41c663462dcee6b8298101b12d16e5813e8b07d32b90972a26bdd80076a0b3c836553fcfd93513a7bb0a917eafb8b33aae586c02425341155922d836c7275274e2b11dad5c21a17a45eee9637524862d706bbf5112a79720d83606c8c64e5b4cf7cc1ffbff94571a413ce0dd728f70813a10b119450b35aceca13283d98ae6c7b08ac8c73c06a7035699342e5db6ede1cece48622366c72052081e4d2f16ef5a3438fbcc78651c8960a847e942aa04a1711f50f7d4dd772f3e286f4ee80addde8d266e342627c2bd5664a724f11b03db1cd2aeb0c63867235cb276a786c67897c4071e8b390a86bf38ffe20582e8aef0d2487569eefbd49be3f09db23e2ef85168496c2346b869e814759712d88fed8a4103b080083fb1dcf551b4f3c36c53579748d729d9aa833bf2fa5ef00efff66c5490127b2bbe42b14c5ae811803d09471fa714d517ed26f91947cfd4c8a80e611fc806e783436728ddb6b62e799ba71837ae8610c1a854dbedd4b2a31c56229711c6c3f8430f572792524a9fd0970443a6b7831b53647fff9d0cafef1c23a40b966323bda548872a751d8ffc574e6ef7b40901f2234b7f0a12ed0dd7005ad71fa7c69f52c1dc172c893fbada53e20bb433d34d7aa0d31a4739f4440393f6407515557fdae1aea72b760410b43241d427a846781dde8689bc807a2803ba9667da98eede8deadd6722dc19bd5bd078f7f055683068f2f81ba86d031c3bd8160044b090ca4eddbec72170ff434a0c78e949d53511d649e165ce0f91a702e2767fc42744466afa6573b9179561b01bfeaddca5ea8e3137409e4849533df271e5762f0d8d838406fe21a37cbf3d71074ee240ab8f21e45de3275d6dbe90f2e2c83b9b53ffda32b3cfb551ce44fd932aae74eb7c57da599f9c03afc3dbc272cb8d5fa8f748ff51851e3720a3735c737c7b5b60f0e1354549510e6fd3f55c4da33573143875d42889c991517c043e27432a3fb3998b759f3e35d5d1709356d1b22f8dab20d17d3b806214f69c06d244eb9266dc967e1e7763bdf81141886f604f882908cd72a5523cf3572dfef0a3b42689ba69b5f491fd3fbfbb93f4729f491af92da928f3867d7ea7d72843ca8f84a2232f479249536bc7afb48b1da7c8182f6e2029f021c1b56ea3d3a49c06cd396b03c534c602fa6fa1cbed6a59c6160080eb20ceb1a4aa665b38d6ea50f021835a1819d74e08080d4256f5dbb91dd922ebd7e090dd9af90b08fea07bb20176328ce2683e37e1713b89a945927f5fe5db7831c40c881757d31e2c372e9f36bae410b9976b5637a7ffaf9e0f991e31e421faf481e6b73508799811972cf507eea53d09e2285f5932b74e617f1c3b5f21e569fb7093a47830cba5f5904a069934b1c170af8209b617cb7b7cab03e60db15b3642bc6ec0a42717df62c7240020ffcdad4929a8848cf16a1341c248c95b5c4b965927c4e7d476db0101c725ea97c6f75f2ae94682ae85694e173a783174f1106ac0aa8034ddb9cd1238921751f2b12b8c9833a0890d78dfcfeb084430af2b366fd5d14a751499f5770cc726d98fe2efcd020ee19a0c2e6647b81b537e1cbf660465416bd345c6bb705865e0d4294e2a4076f25e863f9a5fe0fb82e685587eff2e9960a35e0b2a534986e729d1306e320b5d6bfd4615c43029aa4beaf7e3f007c583df3eb3bfa68a4e8430a4593f65da5a9af80939b9804780651064f8a58ee68923eb64c2643d7e16f5472270f37c66a25a5c002b2a24e5edd5fe6ba166583535dc082687899ed6cb61851342b6103a4e30d1fa1f0e3b92873ef2712e814ecce2cb1aa262ba9c3615e2372aa1b6a4a25f837d8ed239a099c8429da6430b3828d7f0a0775b004a1709fbf22c61690049728fe6464d224ea23f753c9b2055e405bea3e6e0a8c163b323b8f72eeb99cb33c9f2ebea2955308b0d26c8fdb75cf8daf4f3ce339253b0f8df232377b86bdf80dde6acc2b5f11afcce8e1865a03353c7b9b494a8ecc43c990e6ec7257e66a8328823456b6b04fe93708cf92ef55851ab8eebb4065614a06824461339ea7e24a6fcd96a98cfc6b7d6d24d10e62ee1285dbad424df25fcc2b9e65182df0efcfeba8822203fa06cbde6642bd0a5576706591124f42957e31ace1279d72106b89478f7fbf3afd346b1cbb53c92fb45874d230c56cde195fc36bfa3d31727c604df72a93687375b6403eed63a70b02e4e6b7f7270b73b222b988db14127210a4dd8890dc94a4b7f835257da1009ba305a23a874df399ad4bd9735a0a1a7240ffceb4e840e8ceeee3c438bf24d283a7ddcf1198352384ba9fed5c8c4f9872ceca0a9ad75faa2b4e5917b482bb7b0effaa2c366805a157aa55288533929f7258c62852ee08fc062d17ec44ca62fc5bab2091d52536d87339efc46dd3fbfa4d27dfbaad4df4aab4b250391173168c414fce38c33ca89a845f6fb97e58c8a07287fe5209ef83e96794c94b0aa6edddc2419de109ae68a9da9277122927dad2727a1e3f061f190bc5f7f1550e623749ca4f0d0d2f8f3476289602a4ddb9ef9a103840ee57bef23142a45b29aa6b1c0172ca9a16afec624f0db5292cb0c4228222d1e22f4ba86917d8b2ffdf247b63ec4a206108bddfe9f720557fa281a4bc6c72882f82af69f1a2d740c83dc3fb6a13690bbfc2f2be4d91010eb304c2445c6e72fe8bf265090f4b6beaa95bf7d4e1aae4cfea35ceed6a8878b78a4ae2e159e872eba6dacd6b5f0a6f85f236e0f0cc7d2622d3ac608907257c3eb7bfed4353f772f146b1eabcac02a33704aad29e2d49d48bf221b483216434b48c17f927850472f68d20bf7dc9fd3c27b626ee0423dafc3817b7d1b1761becb8aa57184897b866d9533f48baa5a7e83c560658dae50d15ec47f941900a7423015f7ca97fbc4969ffa64061d2b397096f2a58301c165b5785991f36bcbf3494355bc93a034fe83865ed55bdbe2d6394ba66ba8f9f969ed16ccd0474068267153953460a69cd5a27027f37aaefb80d1f3db658092cae09d754587a4083bd81e1e071eee5a389ff72bee65b5ce53bc70f8f072e75cd9af86b1395e51dd44da301e37d5930135c597252231a5cf14dc5e96a44eddfe51bd3bd3494b9e538643b40cd61330f47ab4c72dec55edd042230c54379b49e25cece55a5416763b012ec478982cef96594e272a1e4234af40339227da67e9bf62dcefc694dcbda103333f992f2dd8aa62be57257295450631d0a73c1c020a6e095c06c609feee7b34c2ec62122047493cbe072013502d606d6e6423fdc5ab0fc2a98bdfe2109d6b1067fd865688246febe0c72e37e263477dab6f97e1e0efb4ebd0409b280ff53692152a57fc6136193b1f04bd23d2bbc31928f221559ebf4bdef8ff394bb2ff0246f04906c06e395f5a71672ab67770b318ded7312d9f61c1d58d78a8800aea3696b6df77eafb4cb9ed1637201a15d4f252dad073037c428bba8f50dbd97ea1e086ecd61cbe482869b9dd22ab05b12127627f88866130792337e27b90afb7897491822359bfdcf0a805cab11a59b8b96bcd613414bc7296c1dadf93107481e90f180c5232289451dd5b21e4476dc355498b61997d88c30286f89478c3bf800810435b5133888bc9e4bdef072046ede12e5aedebe4a9df83f54efdde2da669a33a392dbfd7870afc8dfb82d72bf1b31a23dcbcee66a312d5bc809d610ee532b3819e6610c5c66761abc796d17d38ad0833b37d67d6548817d40b4262c1119747bb51dfe991885990c577db672b84f963bea55b495eda14e55f9adede5a3ebf70abaf634f5b1f09d2ab3bd16482460d046ce1bd60ebaf25fa05ca5ffbd7516a550fb4acde402e5dc1e5a542972c1cb184f561c42f95fe55cb4c6bd733c97c77fe51df375a9d9731c21c80a4604bf5a9c4fcb6e09dfd7ebc7f7c0ae671dd14c09af98504a16df7e735384d61b72b22d6fdf46b77fc051f327099bb7ecfd90f16b47dd07f1b9dca3f064ac8a74633aa82eab6b1e2a38cb257c0a87b979c48ec0739a04ca9a651e0950fe8992551c105d3428164c35dae5cad30648c2689095b1be25b5156b696f4bc764e69efe4490e8fb56f76373c4c12342d7333c9923eda1f938ff501b2e68ef4c4fec854b7205446837114812b357fd535fc0597c63984c88a5ef9202a7fa1285dbc89b5121dfc34cd7aa393a28ad851566adff83f4e92c4a9173b301ac4e43f576d4699f305455cb2b49b07e21d96189134f23db69551c2d5cbd8dcadaf7f6e686774c9b3b40404a54c393134c311189f36be9a13a6bfee1de0c0f6da7c0ee1601d3d0901f1592bd99c623dd52438ff34e0a8e9c4cb17d8b80464ecb132c2b6700e4409c007cd9adf70249628f07db4fa078bfe878431aec579448592682ef632b53ba8b728e8411ca18486eba1aae1facd155dedd209cdc9fdc7ad4b7eade68af77db503fcbebb0b32fd32df6662ffeaa4362cf38484e5fd4d066df18fdcaca32e22c9c72000f69dfe1144be0850aa6a1d7e0bc54b14b87010df465f67285d585d9dc3b72084d6500da3053b384a71c903172de36f46f8750a3d0971b6ac055fbecbf68729c94c704da9d776119c08845636aafb22dd027b097353893650062f8d2c5d3723d7448c22db1209d9c7807b8bd8f4f8101319f59556483efeb545aa59509bd32574049fc0b5593ee11d838ed149f5d175b86ecb8aaa69531b57585261bc6b672a5501f443988c1447ceb1d437b4f57b10baf18560ca8bdd3f2b67217aa8ba5722869dde1cb234b239981731b1aeffea46fcc831a30dcbe08384afe6846c9bd5830c5b0e6f341c5c2c5c64881a311958665ac26b94678d197f376e41ff6f243728dabf40a66a244968cf3f9bcf3a90cf6f2ca362db3c67df7b9cc39f0f7beb11a78787164da9d89dfcb00664edd3290a779e692633e8d8ecd804c43f171ed250b1e033da2b09311cb073a0f98940fb443c104486f25203ca7d0a7348ae6335e30a0c43067da514aabfaa73f088f8e4e388a93acd10e2c169be862880f386e967202b79e434b7213bf22318ed7e660894a6dc7fe5cedc6792b8dfa2a44b280da4a523391b584f375b7af954f958e9f47f950c2045aa7bf879ae88f565584b6b4722ea59378b902014a3efc6ca73f7cd84b28ded263c0665ef5ee890825213fee72294cda1d086a7db978c46faec29874668e5a82fc4ce79ba21460f37f8c384f4ce92aeba34b70504aaf414af35ca016ef56ca3f3f1208dcc60536b85c2164ec72240c047dd529edfae02c1ff3db731c546f5368edd3ddcabb3bf6980617112972faa73068c811ca671cc003908b0d4fa453e0c8f3c952c2aca8f973b9c9cb92723f2c03bf931329a86131a681439d0c37574593f318e71d2dc14997bc7d16a00696306c08b383279b0ebbe9e8bf97e4a109ec4f239662f9b3decf5f7b80b8681b53711c44e323139973b4f074960e98030dc0e9425a27ec1013bd7f77da86b772e75028b89819161fe715279b62bdf928cb69c6b84ecc1e66bf53442116c66b6d0a01513e0201a8030078233dcde3dfb69d749715c5a796605ee582ec0a170772b014ca45f314df662366c14c4d121630726b2a41f45d922d03f7fa788064957249093199b3b74c490877026b4757a6e9c662de75bdb93b0302d6f8907e926672f663a55b47d1b724fa5a36cc31a101e3490f0600b21fc21e0b18decf50f011380ba23a5748c84c44a695ed3f9522836f5ea66de486aebe8a52314959492be4255f2f38788a4010145f6b31357f2a6e6326ed4f5acd055ca48c7a4720f14bc05657b9b4560a109f9f2d7359785586a8382b3c35a8da3ff73b4f1385473614f17229db53590803f3c873f37b306d1bc0dfdb30dacfab57e880d2c672f522348472cb021251081de92552ae5ded4e989c6ac6e40761f1ebca49f64c71b081689e723d997311fc9bababe37eb0cd2ad57122723eab8d6b012150682a744499683a3e72c66508cfd2f41f556348f609a08e22434d791c2f2c1105facea5aa91946e72079d3c27505340c6975cd314d8cf869291884431fe506dcddcc4a1cfe49cf4497847f82519c62804fb03580fde544be3c143036f932c6f92909053b7fb66cf72cc2d72d6d4c34f01f8deedc2b0afcdf9501e71b283dab9b615e74eacb0ef3072f15de8923566b3b74cc05a8410467a4ec309179b03cd1709838f98a793e1a11cc9ea8aef70c9b38f39e8841284f8cb6fc1d9d085ad2a2d08a8060cef2bd46c7203b7c596af85d0476984ec91fe6e8336f626a864f65817194e03ef860bd9ff725a7db7a804ce2d26a1a61cbdc89cedbc5a4ba0ef8882f84a045d622e90b0c2413e014df1bc11a071dd555ed44b839ab2f0b1cce6d7101340abb7ca4dd3481472028c73c6843cdc719ff86e7e832e5c8bec325a1fafdc138a69df0a2cde8372724feac6569eb1d228f0fd9417e60563e6b003d311bde4840e7943c4722f21b17294a59b60fd362b2fab7e902adae269e3f4fc3566aee4302b395dee8faf330372a956910535a596b9cfdb57881c56443c58429bb2801f8a0dee25fd6151ab1129f63757f1aa591d6f62c8bed55f26fe7c62d785fae73f704dcff942c8b0159a0232e66f1ab92e491ab4cd93b81408aa40b3fc652401279e0d05f010c3ec21d13e667d17bbdd69a87e2e35340867ab6b626cf5675994095ee3931bf3feafeae07244f69a88ef34d9b6647b9d2a812cea39ae3a1411cb1a910bfddfb62cee242b03acbd3f7b07e8a8c4f5adec3b343adca525c6f63d4aca1c1cae79a30930df4d6433f9d439d738723c2b1dc20a970c5cb65c0ac3072d1a0570693380f7f935b428b7db2e2d2c3526cc162c5ff371b27b365cb179cf61c232f4c0d24731460f0524dc0435ea0bc8bff94bea18c6a187233912ce014dbc6d7728dc836d465722f21e57d5a407a00a108f7412558202a3f60e7b74a9059072fdfd628fb73c8ed3b172692d69a1eb1378f1db8479bf7c54371f69b6a8a8666fe594ac30c0541b570e1dac25d904d510393abdac6aa20568be3c21ae013bc043475c4df047fbf93657181b6a89ea37defa1886e728610b1d891ed92458bb0997953745d3a021fc8c28228440300bf45ed3ea0c8ff02569579c4cfaad84baef46137b27ebf1326f1f3b7250358b55d1145b976ae89e8cbd7c617a29067961ce45d6097bec7c2e0a02bf31f8573b834ee7019569b3b9b9d22470501e0f2bc35d24d06ba405f495ce3a8872153893721ca0c55051603ea52414cf85dc853eb96694633fc6826f0515920329705f052fe68deb8f625363d39fb7045666fcf1367fff20617a4eec147b8fc8720e91736bb329a6f55a7a3b101fdbecaa703c00539779d3bb27bc1587aaf1ac56924a34de153ef2c5b79d44dd7d819a8dc1ce48aa4c872606f51266708faacc02e3eea0270980d87cc1a5e54a5339739413b793ca91726c8df71a5d36d72111720662687dd698324ec0c3471c6d4aa1632b11c0ee0bb8c683c27601a3f0ab9c7233e17926eadaf8fa0db225910cd1a33df0f97835315e2478536b6220574b5f72753bab4eec53d936d35062db35a9ea9a343b38e4fd7081f8cd2ca06da41bcd1432177b83693d348b9ae4d62078c4ebceaa0573dbe854a1f87e7e4c621a2055187deecd173219c9a14ea3970e0088e3ef65eedce13035355790693e744efa4f729637cb0e851ee529f07de9fdf29f864585629a201d3723a8ad74eac3973d6903f9a0e66dc2c9fcc5b7556ab53bec50bfad9bb961245bf9e45c0c0ea068814172228234b0f18ccfe789a4cdf5747dc16f5e150f1c522b13de94d55a85d99e88720859ed468cd5461b78db182e85c1e074bf0e39fd57dc2949944c8df5a7dff170d14986e314842724df5ab6b7c327ca4439e9669fb218272032170b426e154a72a8f1e631dca2db85fd17cfc3e6c2f24fe0d15dd997a03d348ca1d712295f20055db5188e0205ceab7fbe92974003db6d942b34e0a6420ffd9f5f59bd5a4ea07292facde548c750fd2fe5e7bcf7bd995bce05aec9d945538ae1989f3de55d1e7282425ac4b13d969ca8af25e9f29ded329d931b27ff3b2c0feb2c488a0f0a5372f4f054faef0994adf7da70ee11528f41e117ec34387a1de0d54a10b7a976777226b91b036b820a6bc8951183c8d37abb3ac0350f683de0dcd7c0d9787415dc23eecca1770348a67c8f49ab0b228137ffd52d3bc5b20a1cef2040d58b151cc672162ce330937319174bbf4bf960f5b6a6db2fdb48db21a9f46459803e63cc1772999203b49f5cb0ae350bde2b97775d080dd8a68d9aa3668b7b36bac7013bd471d680ba0850ef1f67764098bf08395b9ae171d63be4f71d35bbc11791909ab872e60bdba6de84a44d05e6d34822006c7d7575decc823e72264b47c46da744c972f24a175eb28742c6c1bdc1f22f3257952c7720d7025354fc48ad44f2b038ab7272e690e032418f5e5366687220c122152f5c9a9ca4e20b1ae303b542079c2b68c616e118158e6afdd19e39b12ac5f841f9c34de08d3b55821bdab294267ac8666dcab9dc7a4d116e927f2d5f9c9789ca0e139472f4f5de9caf992d26890dce7209fead379b2372979e0545f188ef735c397d09cf6645aebe7c4a7c43a9e6e3721702196eea0c9335a3d65c347cb034e02fb729d642ba94814c0903b922e02372a3449256577e26dccc0fd40fb8a43ae3cfbc7a2b745c9fc1ab7b120532bfe672a46e4f5bd9474ce93102acafc021a87d87550f769dd66139e047dc9d0bdd0835819070fcc97636744e7c62cadd849f79691fc36851d94257dbd61cad88635f0d63e2784fa75e8e5ea1be1e115f5947a2cc33a9b67c9abe61d32798897dcf7f721f416a64fb081211f909c5af9810191e93fafcb6c4d7978dadf670a3cfdeaa570c6e1bc9bce843a14d82c1fe3e9cdfabfef63adc23805f5110c007981ffca95adbe67d956bba5c7f812fa84b3104ab6189dc9fb8252199f792c00e4c8f06fc7211512ea286274e3d09b839d5e7e6d5717d904d769ecd5e33e55efcd7f02021626d21877f4bf731bdbe1423ecaae13d262b69827b8134d39903a321ee5861f472e9e083074f7ebb713f3e81a7b588ac2d0575ccba28ded7ab72dcb22ce288d64e3271e1bf2be86322aa592ca06d115dda3e950d089c67da1c654d3860f627dc72d7130b5175ec249e0eacddc5cda04548840866315e7796b5342ca3d4d785d77297a1fe66b33427fe2bff7f1088400eb2784d9fc183933a3b14aae6a8d11ed43728635db1b8ef2c46133c6c6dbedb4e8479e59bb601959493f1f41630a52bd5094c54c0ffa3d39ad119e703736085b17e23b6b9c73d4ae8abb9ddd853d9d5f57294672e66f2e5dbd0677873a1e9d9f55006cf90a5c1cb23b77a7493d359dabc72b47f6abff360c7e1e481efac06a7401f5faee73af0888038d644428b5a782f01f87a01f1e95f9e56b1e205f56cae7baf811256a39c78ad4a7346a6cd5d4641259155ba31170bd350264df1585da361b97a03a4cec24a4b3cf337c37e620a447298a4c77d7e3e524551aef7c392fbc2e1dc2f721b27771194b060b24584af037255a21715f50a439c84fd5f5ab8b53797624ad19b99b37ff90ff458eb01c2a46a359faf37e92d70b125d9b1802e9931742b272feb8fc846c003ebcfcbaf532e725e9484afef89b9f697f1c671991720ec16e9bb1e32b9525026befe07238efe409839a9ccda50c7477b8a0ac75a5f9cf8603e8df4cba523467babddda895fc8722b13e98d41e184b18fb4a2c546df4112a2a8be3d8f6126305da07cb0ea5f7b72556ac2952e8f563b45bd6d7c2a6807381a1f40aa0f0e47fa0003908b19139a59ac4df4959afc8c8c96bb6b58d6dd16105c0951cb262f43fbd879291740fd9b72aead1f0a8077394480ee753dd20ea52b635d52ebc2b5b4661fad48d42909351cfd7797a31a36fb09f644b328079d0c874ef326724d9ae6248545977dced026725dd2c7689012b86a21e610b20ff89c1e9ac90faaa80ef49d2c832f628163be59291d5c3e5460ad19bac2f379036394b0048f89550e890487f569e9ff65a383722e8719d0d4c19fb891c75e5dd72ad45df0e62b246f6f7b70791b4512aafdeb4b8c29045024268d534325d80c9a2db9308b44c035c589560c56c1164718ba3f078809e648e3e50d1e5bbace22ad75474918cc44356c564ab269d62d716b23ee724550a5ceaf32a25e472a09aaaa062bf166cef3c7d2733a1a1cbdce422617cb722856637e4c08588fb92c159188125381671fa9352c34c7ec6ea90c196a23df5b1b7997c1b89f820441271a3b0d29b263f0181594dfbe73384c4e0c0496bcbf7230219685649343ece79e6a6825b7e7f2bc7b13d220e24d423080413dd8364652127ce4f814ceeee6bf0634a7a20c09afddc0e474a14e95bf6f5d18d51cf7a072f80836af04db1bf14854059868849f17a74b186c9cf17dbd25af9151e84e443d9b052eb9e5aae89cea7b0beb34ba84b639cedd84f209f1b354e0149e49313f0288163b524b4814b9b7e30fc1a1051db9784d1abd1b29f594b35c242689f09272c0760ecdc5051682d1bbdfc2283bd8becea3674c224c05293deac3b81feea172b72a0e3ba2f71893290a2b477868790c9856fe271585c44ba5feadb8038551727a1cb1cb2d2a178dee8aea50d1c9b94843144cf51b965c18267ee60d011c810a5b31882df594ba9247f6cbd46f5be5d78bd6cbcb7fbd2a50f009258ade972672a710bf6fc3bc233fda359e0c4f3cb388d34bad75a13813bcbd10d4b787ae3c6492502c1ccac50b33c160e5d53564a73071d9999b13de153bd3af2ad84354951cb1bb6a21972293efd5aa6e8d58d5d1103dbccd140cb80ed98c90991242c77372bea8c638357f2d3e9dd000a9347b4102df98a991e39ac37852cf9ed1275b7a72d6d6e7896c13778c386decacbffb81c8d5b49760d0a4bf3a2f0522c18d8d304bf9011442e87c68009f9bc2b95ae401eafd729c2326d59491ac3b1cae39e28072fab4f8225d2eab90889d9f9872a92c542119c9cb0e9e388cc5012c0ae47961720e66486c7017fb7f044a838b2ab16ba4b9bb3c6c970d36c7df12e9696f46ea7265e0ce06197e6ee197e4e3e17a7d2ceac9b50764c3090e34dac9ade7e0ffbc72d6316aadbc7c87b93de097d5a6a66a74900f18d2616d46f84ee4351eff9bd372397e685bc2cb6e220e9b5f935e9ba96cd32ab5a850a3261d69e94ce155ab8372c82f904816d265028357cf7571ec2f8d9a1487b0e3f39dc676c1e83047f45172855120c96a9bf55f129e375f249f30355fec8ec6064870b944ed0c8f09a8c96b679def12426b533127b1f1bf59c59091e251011f5d859fc71607cdd96b754e4f8742723c5eac10489b267b0de9a74d0c21d547f2fa2e720ae3cd99373567d34419ee8edd279f3548ee7f869988dcef92f4b284224b47292657e784df80b15a72d4cf99cae9ea6eb90d2d8da96a2853225504d70b4868c49c9e580adedb8b0b72d7819edb2629d525da922cbdf0632c961c8f17861601f9166f9773a573e884722d547bbd237ae86672ce412ffbdf8d7a26017197f4ea0c3184debe76cc91c87283621178210c35583f9557ee0629fa967f7a4e2042fd6e4227c55817aa9d2d1ebd03bf97aa392faa9502851b82f41e2a03c6ae7e19f1cf67be24ce8c9734aa72bfc9b73c43e0d5ca862805b3b3d40743a20aa70e886d7fac8bf0b12e38cc637240915f4bc7f8d855651faa75a0aa7825a67d000f85c299e76956820c52c01c15b5b657af260251ddb1b24d681730743d85ae04054169b023deaba9814ba3c2726862f1fc43252dada984fc4cfbc79b65dfeb38c38141aebe7073dd52771b8c14aa253c32f6ba23ad719cc689a9bfd4934623802ac854490fc77e593993ef5935b93a4516482349b3ac98b55ff98796f38523fc4ead9113d8e17d0fbead184f2429d20da948c7eeece58ee4dab4ced596d111c66b810b9b0ff44a94d8538041185dc30a441ccd4e62846d0073f892993aa429fb3d51682801cfbc63dd0350e172b187c89bf9f7bd74b132aa2868e78a5383a87de7794b1ff989359cdd85bd510b3344d8ad9ad58c8e48509625956ab558329b5791153acc5ceb53a7d15ae82e720cb4ef09618d4f4d43cbe7f43a41c15c3086d10afc0496c717910dcb94b266049b6bcdfe659a22d8f0515fb1f8aec3d221873413f03d8f28c909bbb89659777224c8e773b30cb549bc417df72d7162711a38ac06ca11b6b6db08c06b052eb972bf57baf61b1c195d2f9993207acb9f0c80683f5fa0d1f11a6bcd6e16db4e4b7250b3ca681f913f2d4fad8f74178788a7380aa60bc8c3b551fcc7008caf4e407116bedce06ea8d752d1fb8f80c374d946d26811461e921e77e62966f5c87fd35348407e8f02c6d333855c9a08f0a03422d849b526af5f6f0cc4bcad4045c9a77226e91b65673dafcab63c608dd5a90ef1f3c929da302666a6cd8c12f880f2c81893d0ff85e40d26b6db0ab9c99e10951153bc5c7956bde7652a40125ea85ccd72d00bac371614754e1b977b661aff4ce438b1c37c1f9133f07500ee53e6659c53f5420cf986f8aba424b769d614f63354fb3b5a33cc218c92f67f80abec90627250c3bef65e7a7752e720bd986228494f2ea11c0bcd2b0eb378dbe13a1b11452ced33d92e622a12045766e6517f666a16250b23f4fde8a0a08795447757262172b9c1b09b4070e36355fa3c98d9f360efb65c2a98f0abb3e3d8aafee9fb60ff72d2d87e6e6f936b411f61114acc767b94345d8878e6fcb4549d79e487e097571222acc82a18ec118096eed57ed7f70fa9bde118d1d02700df455c58d32b3b5c726bf6cfd8dc00bd75d0d69a5096f57b71033ad16c450bec8f22b940b5f75a0a725f7b5279067e2a8b4a295f563dd5b4c06b8bf7d7a330ba1d85a7b42237adf9722a80088b13fa4c677b36057482d2952c67d485ba8cc187949088177fdeff8f1754cb547caecb371e91bcc20033d32e4520ed94dd4c5900d40fabb666f415f272239c28b33321f674c79e3beb9e95af7f78cebd3a7798f866487610f1263fd24378f4287efff93667853d3bef711b104fa0401719c2b78d7986f520cbdf53717258abd1d41035f19ae93730543994d13eb933553bbdca723b592c9b3d35bd8372c468f1b3a39f95c0273f6c0abf9f817948fc03398fb5d3fbae58b7ad60ca8769d6b1cc01a49a65793a71fc692941b9487afdf5adff38a7ff866a62c2b8be9872d5d48ef5637866925abf47ddbdb0df5d23ffb39447d491c523bf7649882790528d46f6de5b2e6dcb44d933d39376a99271d23191e9d74e7bda2e89377e719672ff3ed89b0838e0d323e83c46025145c3f3bc6cb1fd5abb2658a39d3bfcaf447239be1f9bfbe5873f06b7b6436314a5fc6ab184eb76c54c77af3517a28d27aa7266380624b7a919bcab8b43b08750a4f69a4e28456957e4fee2549102e74b7072ea6a735dd88bc9a12096a51a6ce9a76cdd0ed6ecd6e158dd5e92d3c440205872f1535c9ae77e41d761ce0660d697277106e12c3566c9fe7e3c3a9fe96a8ce5720ad70cea76eeec9f8f7389bd43349b5f796e55b9c9d14656c2ec4605ff762836e31014655756d82f51f76a8c98b1096b9e5a7974cae7eb7f3cfc86cf8f9b8f3e00782412b8993450771d490156e680babe43213abfb5cd661a84b21b3e1b1f7222a4bbefdb5bc1e732b09bd0470530044a2dcd1c124b16878ddb93e68aa7a4516bc36cd6eb160e8f2d49c44e7518f5056df1720f1fdd6d713522538972fbd45a28e465048ff30e8796cdf8da7a7e00c6e3307b8fb1d042a129bcc0f494d112720a7dc94fd02b2a6f975f5ef595544867eee151e8acab655f9452f15753a515725d156e362ce4c0a7b524362cfae1c164247850b8a470829c2b830f6b64e476205159bf888928bcf3dfb0e81e1742c4623cf5158c6b417fe17c5fb84a9d3c0d7292a30d3628cd1cd21433677cf58f17c8449f15b96bd9e7e88d68391b79699c7295c75de1761c595ca97d1eabbace7da7d98defe328a212af0ec5689b83b08f72fc0a46913be58a3708e2d3fc02fb7f5f9d3b3977c0f005cc1d41086cf25c0b269673646beb899043c4272df47e199df69e9d08e16e7cae5beff4cc112a33f641ef49b5571d0c62f817f2fc44e0d65a8eebd13fa50dfbc6e652613dc012c43071ee4071ba948ed43ce5e1eb74c0bbc15433e13c51466c144b072d1c9567b1b315792ec28b53e88c385edccb77d07c896339186dc5b661a9558960bc1dfd2d4922e677c0917804017445b7ddad4db9d78f40a7ca62b0ca76a0f1276204ca63bc7272bcf389224cca7a84c07ab45b83f593d9a155510f2c80595f8c9317f477a87239dd0fffc8547abf0a83356341fbe9ad43663cbc1f1e3ffc80433e3b558b4d723dd98b1241ca95bc8bb699f76de082382e40acb68038804136c0fabc2172ba6039c61dd2ed9ca5829d4e680f5eda2905a7e5fa26c96405d5d0b578db3c422b722574936b06efea3787e9977afcfd4b2fc708a59f7299e600e7de176ffa05747224227fc71334398a3d764e43077469154c2e28e552d83b54ff5b2bebe8d91d72427d5ae02c1df61ce37cc753eb0f86ede126458b7b87d9c2386f335172f17072dc5ece7d122a1e0c83fe163ad2e7efa63cb49efd7949b266ed657980713df772051724c8057074d70db4445338d645756379b4a3ada5e32721e0406d83130e2756c5d7b15cdf6966283930c55f22dd43a7d2a2b28315e2da3c585ae9e1aa6d72dad4923779ca37c8d2d91ce82ce4e0f53a2941bd678f32ac3f50309c7f0f9d1555e034d160d144081eff6ce14ffe4ce17160e01b494be23e3ccceccc6d0c1772150b87ff46a50559db5d2c3876614974846821d6343c357fe21c6ba95d05967298c95321cb2bb095b4521262d284133de75f52da0525d19361a17008d11e667272efed05c734eaaee7751680d212643ca7e8e18d15d1d5c7fc69db53b73e0430c84fe715b8228b5a4dafd1386d01371d7a702a5b11d9afb820f7130cce8928724fb9f96602c7782fc323b8ffa20caf48b52e400d4aaa7d7f574352ec1973b805989feeb696ac7ddea7b2ba1e8bf0b1b28c4c0cddb80fbf42dcdf6445f5b5f5727ccba712964543e48d06aba17d611896d34fa5a443fd9b2adfc9ea8e5e64f772f52cd3ea30107a5fb0893b0270b8afcc58f5f1e4d55c722be7ae92ca26c44f721b13a205449b08d522875121eda04ba84943e65ab517869e424fcdab781edc3e2010d609ce53e9f3a7f840e08625cf49124ddcd2480b29ef7a581dde47577072a12d296fc512c5402fc23aa04673bfa4e00fd0fca9085522e3b169a0df03ef72dd8adaff7ba51e21250a79c777bad2182754017a9c118e8e21a0a0e3ddf5b972ed56d14136ce253a670c929c699ea1e7a4d109666b3f2135aa39da4d49388672c6fca817e775d5bb55c7e82d6bba36e7d5a0f03ab3926bc830d44584d66c8672936e2a4ed4058d712e4e2dea0bdf57dbebd1f6a472277e5a232cade5ed5a3f7230e841e38c0bda1e217c72955d852cd74bb95e49c3dac3494f9d0cf3abedf57283b3479d00fa8b95b172e8e79a51286e0408e46a4640050cc66c55af5c8aa67205632ad37c851dffaf215de87e2221167859dbd74904928d90fed68c07030e727ac9cec37c6ad97b799ac2466e7711223f6a84132aa486bd84a85737c5b7b93de833c5adc72f1e9c8fddfb23007267a76d75ad3af88f9f59d53c656bcf358372dc6f3a72060173274a44449cb1d191c5219d05c7283f20017bc142841f4f517223c3a2ec2526541ef12cc0d4625b81b992de2a4bff3c28ab354ef0204f6fba4db94eb3898120c6a3c7f0cb00419b229c0e63a5a9230672bdeccdbb49f09cc942d85b1c4980dc6c76f8b7b03b6fa48151c4ed065ad46ce8b975c00da20fe43c7252f1596150829e0d094c8776d1c93acc6f754fd12cd8393ffffb0490b9ddfb5a7895482aecff762fa4de7fb19c8219c59e94b2551815c49a58cb6c9761103948b720b489e7bd391ff6f0d157e65901a42a9ca13769f19251871fabdbf60a0f72a9806fb08d0101393bc5470e5116a4446e2fe49828a8afcc54a92a9909f3825ec56733bef12c9745fae510323a921b619f154e4c175e5d613270f1deb761ea7213261b9ef42851aff6fc5a511c93e787b96e2d05d9dada1d5f901ccf6f776072d89af53359ea5a69e483fcc30aa67bd7620cf4a6227616388edd5fa9ed68cf72a57e152110dc09a05098cc895eb1e4b29340877e8104cccfc5db0fa74636e872fa0630060d236013514b2b4e9750cdc162d9af909eb7a671ac10005c4c07727296a72631ce589874831817ba8c3580d60ac9e545eff4cd05158a984e0b251d42243e8b6a13a147d4ddf1471982535cd984b46439e24cac1d77eb031212efff7257b61ea5b5869936317a9a3a32e0055d25737749c133f881dcaa6d37e225f67236a59fae8d0660e9f13a440bbb0408d8e5bef09410e24bb5dbf86c443ad4473bcc7b67bb772eb631f908da3e8e2e91560673259ccd5b795b4023bbabc44fbd4590b24c1e62cee32b9783b76fbafb0b41d5b72ce84332481ee383cd74372776722cb2f4152b8672f68cab0a2bb9821574d54740dd47c43aad749884944dd8d9195ee80a4f2969a3e1e5699d1caae5288892037b32f756043911a87654ebb2b472c6e387922de03f1cb299dd29dd358786d309e59c5820704542b798966aedf672927ebd5b2332af949e3bce6e4303a0b39c3aeb1c56fbeb5a71bc89b3faa24172cd41b6596c0628972eb457fdf0b802eb7e5350aca86d1a2bdb14c3155ea54d72d086021ae07450de9f8331133b36145fc56fc4d632c9f7ca8a4154f27cb39072b91f6e1396a2c7999e4beb1d09feace10da42f6cf1f46bad9b9c0734a74a0b7252beae540586ca4a31445d5d6dcce50d6cc7104539081d9adb6172bd247a3e49e3df85c4fa3bc886036bab1b91a338bbfde0b774c5e0dead58b509baac92e172414321400ab8e268dc935267cdfb5788f6dbf7cafcf89b0d64c553ac2aacd472ad32563c43c36e22d31f39fb0296da3b4e39dec51d0611b86bb0645c98fe0372f6f56295e58adf3fb827b077ca46472e35cedc546447d2458600e6001aeafe72fc1804c6fe950ec18f040ec197292b8865cfd77aa4a857380f8ab164107113727d3188613e09397aae8eac01cfc4917b6677a201f1d2eafc64b67bb85beae572d0008ec03172184ca388c74f7fb60f81e4e386705f1428a1c2e0e518f8a76c1f84b8ab948559df055ba65e6037a0cb7711525c64a1f5cb4e3b37c1183e34501fae4b7c16953c10b0b1412e467e63f643082fbce36ff3e21a9a32a51a3dc31f387d95e3c7f26bc2379b4375eff07e2bbc7d4ae4eb68c1d2d8b680566070086172bc8e6ad8c2b951699123dfd8e3a25650aa3cdb710d30077f603fa40d0194b57232c5b8accebf27dbfdd842267af5979e6f1793acb355a445ca14217dfe62790c3e11a7a5b9405416e7729fd785b58de14d8c827a945d2eff1b57f58b4480f96ed36fd8dee650943ac969606f972c567748c2273012ba4bb2141a214a2d485972f5ca5717e89e4491f7fe3f14652aa3e85e22488614689ca2f1dd07303190ca72762ef699a87449ca545c7230008084f64f588c5f929d2de940b080d8fad1f9574f492b7b047a358086eb9fa8e8eae495860ab8536b02d95bd5f589a97881b027a61e22da21c6a7ce913e126857c6734b669b3ac9dc9618ac3a371a7c1c713a4cd5ae6c09226b8ed67dfd5686937e7f6fb238870ed1b8680eff2afa9c1e55e572792f62426fb08b2eeb7aa9dd31703dbf2561a3a921ba1b46ee80008299e1ec72ffbcdda329e7bb6f3bce1636dc3c3cebf6c8c7f88ea9454ba23f7194f7a27354bd1410491a68c0a6f4d7a3abb05ab4fc382dbc835df66b04a4df21eea6774a721c19a729b7eb9b39cf639afa246ae850c16be6222253d5225584a17a5e5ecf72da585aeb516f8e74059895bfe1c6695cdcf26cfe528c6cea0c4ccdbf596c5b72d1ca3e3ea05b3c0ec49fb7ceaa2b80ced1fde82c6631a22099842ea0d4b97272a16c0ba2ae093fbe126231deb1ed1ee254bd4768754eeb28338a5ea6f58e0a726b19ec73c029f0ffba244a397bf5306268b2d4df9d88b64893a184bb1725f46e8674d182f3cfcde7b038df72ee3fbfffbc4911662d9ef0da378f380b10721772234a12bbc1f8d709cf531dffc69894ffe2150f7e710598d8a89e78db1db36c5dfd85a1ea5f31350be9e1a17115fea882eb36e38551e7f473f2850403b0374d29ad9318fff928364eefcae96fc2f32efe90395914216e45a32e07b872e1a29872eede17752629c6892a60498dd502972baa4c6fdd8bfe16a12185100a0b5b94372868925eba1b60e5819fe1fac79c117c2c939e236eaafe555bcec0378becb306b0195a7e739f58a124fe0939a8d4aee821a9efa93b9e2ee1cf78fb074afa6643a64b46f13c060901bc6274a9238d9fbcba2240a02177f295b2f0aba8d125f166be53b5e3f1af98e759f578eba8719937c03c42dac3a160b2585bc5e7b186a272924fa7a5e89457ea8821ff8ba741e98731bf55e1068e98361ca7ae8b942f067287990b1853916ec133674290ff7034c7507b8ea3d00bc0a21f8c92f5529aeb1f522e8186ed72fd295ef72d9da052b93b40ec66e83d4b286d6bcb419efbd64a72fd7fd2aa9511e9ef9a250b7d930251e25419acf408ce69b73d0b172566adfb72d9854d49f7f909c9ca648d69ff3b1ce98c54fa3b542499c36fc1db8509a3d95ac72f3bbef19884d07f852e4180b72590e294baa3c2c1c66da29e69dda900a62b9298175bd0fe7574d4977838b17090c5288bc65c4baf390fdebc9503be5a51725e596e06177207071cf46a29cea6997e184933ac88f968a72a0b31925dae0f7297f3b9ef225eeedce07f39d4e6537538355a959bde4ae85195113cea057386724671ec5085618d6d2b6c8418020a621a692688ea49e4cc17df9dc6d1114ef30c10386cc09430a96688ee15641927acfca128bd06b6f1245e6fd75b4ceb8b516caebb4aacc5ade81fbf10a9387b25a2110e3483b163454cf68f9e9c33333502725b12b1ced83577d3b543a9829446ee65b7e3d2bc1bf8513aa01dc421f5725635f3f1656407850d8009ee5fd890dd639017be6cfd29e80be7d8977443d69d8635529ac308367034c704378b4ededf4b6e6ed36920404decc168ecf2551d22f7725e52e83c89a25018098da84f6b89b0a13830c1d0ff30f7bd64738191a013b472671070380f129d05d27063b07b10734daa544154faf641aca4d276030efeae7289a1d6f74b6ea5ee5e496a9106054aeebeded2d04fc97e6600a34ce2130438019148b17726979f26adcb0ef49975c273ee771775f109b0d91b970faeb81a4c72b666dd903b9fd10deff6ec9295a0c4204653c9cef056ef1b0a29fb40c05eca721725ac300eee04a5e0065fa0b8c655ee00673a48df598d9f777b797e51463c6f858a0948637a4ab0c9cd6e3abcb51fe16f1521e715611abec39a8a4867020e72f7ac1e02760f535097d6b00c957d87f599eeeade6e41aebe7297ba2af17a1072edc6e6f84868f36b9090eacd0d5b6be684d1462ded61a96215251855949958720ebc9ce60fa3c42251cc1e3592b13441bc9719bd5c449f51c8b7059f5c6ddc0f59c82a2bf6727de36dd5978063203265f7be7b242f1c6de9811ea0955c2b800ef6e246e59ea5ef07fcf585da89d34d1dccfc9921545b345f6a00c861e306cd72a642ecf4a633ea1dd0768179e9e939d295f4e55bcf1c0d566950cd13e9e6d411903bec12dad56847e689fd3d97c3bb9aa8d8aa78ebda6a60943b9c0331b15172ba4a6e6600e525678ca6d0e2f72ed5dd90d47c85cee15bff14a57e41cb7f9a72ec81c9406ca4bf25b318fcdd917ed2a8b891f700d034869b07c4b6c7f8783772226301fd5ca062878ec29b4ea428760921891e61050b617ba6674c4059d3177284f68327e71bffeae074a94c0596746ec120134b9781b653021638115aea96721bbdd9b2b7e331473dacbb3ac5ad1e2692a97d248d76f968a6ab702063360206bf857bdde31c437b8b6dd1ceb7eb6d075e936335b448944ddfd02660f83dcf548fddddcbc1857b245cf05c8dad6b0515cbba61b2f6c9a44be753ed81cddeb8728044790f4e1b29cb82c728c111be9a399a8c1b1575770b388b13ae6331b031726c02ec95f80c63b2d9287690b363fa82bd4bc15e10c1e1800c438b738e880922348e5ab4a0472381d2230455ef54cb1830234ae9d210603398cc947359c52072633e63a02830ca25b4cd896389d67023a2458cb4144faee2c500fe21a110c45990f179d2fcf97dae9f6ceab9a2c3422b5d4a2e0b0240d8d25c913b18e6f0a87279ef45965e58cb03936aa4482a230ffcb1ef3c3d17aa3e14dac5077d41e07c728a1531fa64edd699a0981fde944bc725f159d2bfe5baa021a96eebd179565c72a7c11fd16a0dbf4f37f46d96878e56bbb0dca7a2a0cd5d7e5f949404a852f272a51946e66640a640118cea10a1ed8a022f7715dea95d336e48932c4cfc1bab1e9060cf5aa624cab0dcc76aada3474cccefc255bf275f9d18e2539adc568aed72712c56f6004b3365ec0b0a1b6cf1541c6402dc7a036107e4d6de68bc67cd1072505003ceed242407aa335da1c3df3a993993d03ab82fe4c2ed0b506baf824b3ca13b92dc1e61e8d627b42798af3f352fb429034903ffcf5e339a94642170ef72604a3b66b8392f6ec451baa479ee2434a17b59060165daae96ee3dbd4678d372fbebe6143bda185b61bc35b26987a3f54ba30527b0e712f9bf11fb4dc9bd3845c9dbcb91fb5b0e986f243f58d7fd73c242b3c83ada208f016669606f4e24a1728882367e14d794988f53bb367085c4e5db452cc3469d448692aed03d3e3a6472609298cc67d6af3b4c361e86bcc99b2b5f3dc3b74051b834c366f44d98681a72de75eeb4f74f22677e483bd94e3f43ac3c012d65ec29850147554862b30f21727864cb10760263d7817dce15d2c6d37bc0fe1ca64940d265dcc8695dafdce3727658daf3bc5aceab4ac41d6d809589fc39ad252e88d46dc2245a83aacfe51372ed617b82de061b2c07f0f3f02be9dd8dc86e97468eaf1e4c26c0b6c0ed002b5686e7a0d6d7a2afc161d2dfae3648874841dacf39b3d9b304161402fa054cf272c3da2c298b8d1b24eb7d8580cf0e0e46b7944613cee4bdf8023265546fe4f472061a3d467bd0b6d6e630fa768efb0421a32c8ccf6abe201c7a88d8948d41b0729fb1e67cf57d461d929883a4f248c0dd0ae4168bed14598bad564dcc023795153ec6b2c4794832ccd39096ea84228ea320840fa325b6b776d5d6cdb178081172767887f40f7921a1cf316edb6389687d6f09df8b52179424dae9b53b97cd8a33d6a76d3028f58f486f14ecc0b50518dee5b30636c4e4252bbc8fcd9cde90bb723a3b2a9a63ace4ee06dc911d18ecbba0227057474e1329c57f5d909afa1abd481e1487ecab14699c34de8e054a919ae99e880fcf8b3b6f409ae6600ebd92d9030ecd52d7e97ac60185ffb6f6df74e2d7e76b9511363a9e6c6e20e396093bdd726612be789c88bdaf8e9004bd4d57c94a3dcf8dd850fe392196d665465a0336351cb452d3fd3e0995d946eeffc8ef8c7a88db796fb68ad68fbdf3a51bafa1ad724e7334fafd9baa0bd3837f5b490af85b8ef0fbcdda6e3ef4a1641f605b60d62124856bd3fed7708a5c00f116fb1cd6f433a811b7f5d6a6118f7cba0ac0ce11547346e940d19706a9630aa8770bbe9b9b2e7f653c75373feab85c5ad640635e72496f138e96e60203675e351b4dacdd009b409bac1a788f2f2937f88bfd0e4972622b0c23062fee75c954904e618340f0a10c9583e4d14bee9ee882f30803bb162325bc2c59034f9f1152f8ef96bcca9d1a30a7b84668baaeeb6d4f4faa648b72a6f34d0f2256df82d220c1a214310413c40f4cf28c78f69399f8ca08ce150d49ecd7e3ba5fdb02eb9208f250a50d32f1fc97cb28529b6b18ce5b4b0023bde056847d6beadc8d7bb986086fe229a4d7113e8a3aaf547dcdc81ab3e28ad611ab32c5ed6334731a20e2e0bedb15ee7682c7f34570eccc2884e89d4cb97d35023972d1d65694ff3641ea7649030924ef405dc52aa97f6cba29ce82987c8662f17f72d452d52189f24ba54122d521a28b91790a1d839d40c375c83e305678655d3d723506d039b47e5704fdd78a308eb9d4ac482d31c444bced4e0682a2b2dc7091721b6c644b64a309f05ae4f2f385a97618db35a6e0f50d33a9b3a4d7348d34a872c7f779b14a6915d6eb267596b966a062561cf84cc60d44489cedda48d7e1ae72d6a78cbfedb8809999a09432f36309ce01b0164dbf13e35a470c8036cafc76637f1cc8bb60916afe6375508da14bba29575d4cfb6021e97e521e16fb79730f3d4406e71877b3d25ee2d6404446d3d2e0a4512f3022150f644108b80a6d3f3c23d3827bdf6023926a37b75036dbcd7fe73677a4057b335d8a34483355785c3c467af97d6821e10c5f75141d7ab509f70778c650fedf40674f9fdde5b384cd69688166418ea8b35039632246b9d855e6cbae215c0420177061d36fa69c89906c720c4842cf2ece5fad99232af46823c0fba5e4d1facb41f6f5ea0db7112d815b0fb244a4448b2fd7e04656472c2357c0f687b4828db55c6caec7d2d5c0c1677d72e51453d9ee3408ecb4fd862aa2ba91869ae1ec41741d312c003672b4c0ab4d7235aa40671e9e8d01a46109555ed31e96a0babeb3b1d0cbb1267b56d6c5321472f895680bdf4d64b1d9bf6a311661e1c1da303bc1025f8f3f6b33db00bf71393e15f3faca96a598532b7bcb84e8851841bff718cd96f6fe8d0c77218b64cb1d72f10533124c46a15d0122167e0453723591e0a16ff9faf44c210b23d2835bba72351e5b6a2b7a996fa616777f96cdb1be3c9e08b854bf0954179792482730e372a769e77ea88930156c4072eb8bcc08d8ab9d40f1d0ec5c447fb8288813ac1372de4bd5b7f5365286fc1e378d92688304f9d808f87ab95556f2e19787e1a542561949488cefad9a0b619534699ce6ac741c0f031cc9f6312ef8c6308d1a3ab22153e3607060e1c067232df3fe926f32f0ab11ea851998696d68310625566a5606a85275f57c8275e2fa9907d47bc0c3ee19310c6e954a544df32bc5737f46da724a633177546284db78b0a9c854ae061ed1b6d0ece470011f79740cb8ca5f7772eea4670b5cd2a36d6a00db1e1509d0489a6c45d951ddffa43999a9135e7e5269f7c4842355bfde1fca8f2b424a754d37c209ee694680296fbd2f217af70e017206b68fef124fd465b7b9e3c2d6c9a5ae652f0ace32de9ddb1a06623766ec6d5b778cf5d1281de4cb3f6a44dffcdb99db9980cc4339163aa93b6e4480b6d407725e4c180e10ef1c22f2f6dec667c054c3580ae3cc243a22af4842ede6c044b1723e7b21e00f82b40def21803472dee1b8c951749d8769ffbd16ece6974a8cf6399ecc80a3da83c66735c6f9ff19f9c4000b69427e819ea17e51daf949f2aafa0a7e0e4f32ccf0cb2a4c46d43bde8a68be3caf801513531d819e0e6b7692a6a17243b0dee9b51a3f3f5e270a7ef1af49bb01cc12c6ab138d081bc0c798349de872c3ee11b1ea132cf5897f36e5624888482b695dbf4891bfdb338184d961a1c048627047cb5a2c20f83fe8bfbb4f054fbc41733328d5ade0200f3923b6eb0775722a649442d72d4716bbdb684ca0af62ce1a8b9cc2046d54b0c68a197e872629721d324e208f74e6f619f5853ac8c82045389c976b1fb5b484b2222d3425ceb93e48324a4b33e7a79873c619362feb67a613d4676d89d076900e42f17877bffe377a14bbc41ca4e8e4a1f487393b3f22c0734cd387e423a52c1c49b7e84227c8725413ad770a7c358ee0bf5cf8b9af8ccd659f0edd79bb6f10303deaec66803a5df51b55a6e6de0de2cd91d53264c82c027b45c66eb71d695f9c51bbf4394e5672eb3cc8b7c41c8c2d340c352e0b5a39417f1c0d43159cd6cb87db7ddb1cf54840b37bdd9b4537a1759bbcf77ba3e5dc59b50714f17d50a5d3cc577028173aee640968e759b9031988121dfb25c7ff8596453d82b0384ec5c5fb3fe7efb4dd55579fac805c06c246f8763773b1af2d19cdd7b712258b49bc362c3fe49f84e4e95302eb695ba8d3cf6b6e257e1c7f53004670d8f21db9c13f507dade7c33308a646c98fde048969ff64a382c4bd9bd5c62dd3ddcb4bf6ae40f471ee0d4112a8a272aa4a5175da22c4df09b54f5ba4e2adeed1edcb3ab50d6cc5ec031540e06f6572f34f7b1379b3ba15ee24a873ba7954e4519815706cd96131d4f0f6cd3f90b94b33745d40b28fea268e5dc3c23ccecd34fbd928174fbaae7856791a8ad15949722a66555a13566a132e80cdcbb32c6de51fffbcc31bbea82a7c7b11c655269d72d3c91335657f03bf002dd6b15c3590a9ff7cc9326c771aa92817593f3ad62e721004288f4bcab0f2c8e9d0d61b11eac6d1cdc8269b86b8929ed4dfc038c0150bef97b3df69cb53dd00a4f9c870f3e885c796d066f5bdd49d839f1e93b1193072fd96044221eccfae9ff30480847bd7e57ebb9cfa31804283cf317fe81b7d7b72dd0b16545651f17cb516ee3e1f4254fd56bb9b04676197d67b432d36c02c4b724a3817f87ca0388a01613939e653c1f08d24bdcea600279bddf2e9a7a20304723c3b3a90a60fc2eac09658f2421f8fef18332b089f34157778411746aa6fd3721e155b23b508903e1783e5c9b1edea4e2041363fc786b8bd7075b09c3205f672b0f343adf6cfd3de7b7e77a8c278ce5291dd5fd0e753c88132891e2bdae5a7725f4f64878c4c425c9b72590f552795be311eec5bea2cb6987b0489c5d5ea57725c13f383ef375c497e191a2a89971ca5b957ba3b55475b1f608a171089a84e724552e0e64a28da043f4a804399481afe7ae69277e86cf0d92490cf3e6a90d84743d570bce2efc79f5e3a34b5d5a1cebfd9a2c4fc04123e6916c4aa97bd5eab414c7b5dac27ef1bfe2b1597b7f448030282f2b499d1ad442c74762a3173d60e4d91ac49aa9001811f6265ddec555a4001d7034d65e969f7e47925cdbabb7e2372d561137076b690edf85667695a95cfe2b1e9cec21b2088e9f84c6dc287033c72b8578023a3d5f5401d974f56671b0800e987ed5af59fbf34d1e1d7da89a94f72bb1ea225e27912d92f7ddfae8ce9e8ca451a271083d0a0b859c3f8e1056400033b1eee3da932a102e56f523f347c7139f293ee42c01597817176bb3d30963072f675c091dfe22793d134dc7455905d00586e29c594beddd7b11d059623513d63e9be8b06bc7b0c6a4c50f3475a2bd03fb2ffa2895fb907771a0f5625d74c693426bf3c335103d40efbf1d38a4f35db82d79964055ee5c8246f3341f2b49a4472059ddcfaa51d556cbd0223e8bc9fc5c9440fa6b8b43342eab05f291fcce59d2d5149d47d9e3737698891af14aaa5ace3010145f114d1d20ba3008f40f5768372ea285f6d0abdd5d1a954f93d947d6d836d8dfcccf00b466746052e82cccfd172406cc7a3a62d18289dbe2371b6fab01ffba074ee3bb0f5366340c1fccfc26872a7c69e99a2d2b26b8c37736372622a64d96018eea8caf6b9a9bdaa694620255d5d75e2e7eae8e8ffbda15ebf85e980cd924363107207291f303c0d743b613d184bc2e4c73df3b617515cbd595b909773de5916e81172625ccecae223fdbff7611c940039fb73ea85c24f104a639bfc5911bb7a70454fc09af39c71c29b568472c0649e9e1e9cb86dc09b044e43fdc138a1c8d8b565f30b31eab2d4d82366c072fbfcff6c333e194e5ff08b90b632492b8b889211512e3a47dfa0c97c8d9b47728c8d71cdb84509f711139b36e87ac0002ac4827569ecc5f85aa425a1d28ec818f1ca27ffa602de35f5cb09da365690aff7717335260bcc5cef5a731585f3c9724e97da5827f8b051fa8ca0cb5c2d203b35be9756ab09e708781bf1791e44277223889568081f66ed11fd92581e020ff7aad4f116f6c52468fccfd213b2ca7d0689368a0c44ed8361d35413ad0cb18ea37cadb3cb9220933d791a7225de50ce725804d15ff33b23399f5b93db499904e78fccf74652182ea8155b2f88792e7c72ef3507074bca906308f939a9318c73b7482c1e5d9b3408a88b9114af5818c57237ff8fe627f209c5d3257e9433f3ee287f9b597ddb71577aff3b10c12e9bbb72d12fda167081e763be1aad4046b6140c04c7f9df7c8977e40aadad6d65b4c672d7ea822ee7b58a7d141557a5983c4c8946cc5d0bf0d9efb94f1f99bac772742795cb20b3c78c29269499312205bc9f50b3cfe68afd4f10e9d845f626a08dda723e50e97ca281d39e915e09a64c23ab381c701abbac3ab4d2d891c0dc4e0dc05a8568047826800c6ad9eee730495db70579dd0cd83c118026ba019d045061d92f2b68a74d23601c5a552636742fd0f52de87246ccb8f481f3c449090cce3d4272b53e22eb9502c52181d991178f72d621830bdb36161f3da391222390618bf6728e97713a853acbacf56ccfb98fa3d3b743bba2112d3fbb9f50a7b9de520add50110478e131799f827176a95636cede84b16dad411143f01dbe4dbc65c586bc72832138d0adf16604cc94d71c064af1222e658cece439d3d6b74d0adee5ce9f727beb0c4f94de81e123e56d6fdae48093e1691a53dccb194e08776aa0a3075e724db9474f6a3970d2fd62d6dbbded79bfa7d15e76c9201207bf331732b94f240d1c28f7d1c0d93da18fee461ccf398e8d40270308532da38ac2f2d80ede506463c9e61b852258cebdc7941c67b64bc0a2c7557ee1b44a9d83b33cd4e2b7e296726bd3cc7b6d49ba4d10e0798d95cf6c5f9241794d9955953010cbce766cc02416704ad06f0b80252422c09405c2ff12ac2dac486fba395435ac70b0019022c236a84c4036931255261c132d690e7b54d0c86abfea093680751e9e76060d70c956862d09a2e0f6566d266b1661e8d377536d6f8f978a4c13cb771ca08c7962fe7228985fca1ddcfe9fdfc84f1305f233196f4d9f4eccbe64d0ad76e713e05a2d5b096406425052019786fd91ba9a340ba76ebe3177f80d1a86b51159057c884a4dfbac6ce36ab04d122ba6c1bc4325db026dda41e0e84f2b93f1f404528a42e849a65efaccdfed140743165362de07a988ea080dd2dd2f31f789344610ae481472d64d98b736d0116651cdc309f2e9c32e017777c6b3b37d54e9d8c2f99644d172ff46fcce341a88bf6a5ff7f4122628e95ddd835d60240ba0475c43aa204b962a7e5dbbf2d729c12840043d01d4c801841ec52fb9a4d158f75974362f36f25c72f908e1c7ff52b14e1395d2347cdf58ac12ea67880ffdba0bb704c983d2a3787294d49d386ee9afc6519d88f2f7c8522c88304296aadda5f56014443a70326140d341c50df4fc9e7c8f72f4d2d0f5d4b290acea924ae1ffa3bf717eb149f4a81605057d0e0a3023bbe3573180d223b4734320a9b4cc67f0bf0740c59bd86a2172ff8be938d52ab6203ead556b3d92bd10f9476f446e71bee797423e5468fea45f7102cba6ad1e07c6766258712054a75e5de249f273247fb2a8a40724147e4a2a951a0d5c00d8208b3a93b49400c5c8b8b30d910f26f3eb696f9a1def7c90ea72b484a434b13184508210091a0b820b559e7291b889528607ceaf1e1a47320e72ba184815d4f954daf7c72fea50205bcb5af6a113edf0c5947dd8514aba8e514b4fbe11b60776ab5eb2921769b27d22ef19063e9984b61f14d5dd104a2796d5607fb1729f653a3f34c813349d88855c9e9ff88181d68e1810137bbe43be03674bcb04bdee7c87ff43f77503547f7c198f88b1358a4259e7f193df2dbe29ec6472cb04e6155824746ee604618ba1eb691eea45e01c99552a495c20dc0bd440da7205ec60781e68097e5eadaf775e31164a01dba09ac6369f4d1cf5f5e99b538957b29621ddd573e06d59f256c14e3c8ca83dd9c55f775ce2b1766a7a3b4ea16b7256c6f0555aa7405b34531662f518818f85988b8d7dfe1de2494baf5c81d3b1722ea02db9cc3eed1fe25d72265795f4430a7c1b5f1d92780c09df21a0976aa9724525f1c9edc59c21e7967506c8d498a67bf3da9fb5a794643d53a9ecd8cc895914bb4328084f355109b6af824326918f492a214ec4ecf0dc80a1565197371c566d0edd53312760087f7d4a652d4e40df1eef96fb32f8fd7d38233a646f038c38830faaed37968b62a07e348253de747558eeb248f11e8f63fa6b24ce6f7e37724935b4b7ffc577b26eea7b152c304c6ee7a3843a3255da5dc12ad2e190228a41e02454f6d6ff16a1628aac3bc4e2bb404f48bb77e6632c7339069dda51bf92723346ad1c55fd6aba16f4199a162772e50029c23d12e85567d8d8d7c3a280ac2874715251ae0819f185f9c7aa311c2b51a49fb0bbe942c6ac26986be710c47813cbcb46f4957bf468e2ebfcf7cd7c2c180a01ee1fcd453805651a5fd08493767287b549bb618c2a7728bc79cfb6b16aa9f7894de45cbc0acd829fd249e2ca1024ed5ea04b2d65fd64124285b4267dc7abae16ab50b1ba0a8ad39ea8171c7c7f7237c61e34433b7fe68a9034031a332c4c58a579b67ffc4aea09bebd3ba715fa2871da17ebf3acff779214611f9b1fa72b96273e9a3e83743c4f6623018457c6368a8a46c9588e3249760002d18d9079ca495235a674cf8c24c41d933a469b6a3ecee50df540edc96c55f344422d6a01fe37aca2a5dda74edaeab8d538bb8c6b7286d1fc53dcd7e7db8fd0c164276e8508be52025afecd3cfc671019cdcb38b258223fd870bf089a4bd56dce78abc9bd127ddb8952fe09e6f9292a05fcd39f9472325e95bb07e3088ba8261f06a049215e2dac29220d7688e492522a14daddda6a45855f7c1c8f149ce17fe466dec3e7e85251c4e13d5ea4e2790197b0007a15722271e68a883b50eac77b5e04b94560cccc41f49feb737297951024083a7832271bd169ae12d5692ffe5269f400bb68eee09591fa2c5e899aaa80d195755b822eff720c0748ab0e4cc3b92b29e6539d164d020119f588b1d0c59edbbf8a007672d39357820ced1ecd25fd921d88c6f5c2e0de0b31dcf2ba1ad85f682fdf96e872f25b86149c06e8a320d451ac039c213b2ca28c08bc691df56d0ae8154b944a5a798a8832e4ce0e1ca1b783b82ab38e29e889527dcf1a9525a58187b4dbec5f05332b105d6c37832a283ad5cd08eb8050eb412795d22de06d00a886d4a310812b9176aa78b6bff8757e02bbf21f61c1c31dfc2a061b5032eb8a769aadeb5d5b41e862fe6251869863e674c632cb3cc811f120b03d3770148d695977fae2721772a2c23c6152be5e729941dd63da19dc1f3ecf864f91f48ea43c89c94cd7524c52c5887759255a11963d197c492c7dd2f8594c80f1c56dac26bdb8aa1b3abcb372975bde2a423f64c09b1b14af5f13706f3b5ffbcaaba285f61075ccbe247bdf6f66105d8ace5e7de83832a9af1fbf8d2a6de918998f25a7e886ce388df51c1272080c88d4b6e4d439338244df827f28576485eb42a3c6e18f7a7b7ced85e587728c1869771aed1f246751f1b559a7e11318ac031fc0f9eba87c276e58cdf3ac72204bc3013ef711542d1bfc6c5f0dc5a753925dc437e3ff3cd8dd192daf41633016650cbef30ad9cf4edd5635022627653663af45fc8a51e0ed84d26cf911c75535b7780ea72809573dd381b805eaca778777fcf82527f8d1638f55d990c2dc72a25f2cd3e9850acfea179eafe85467cca0bc0fd90edd18df1f3bfdf4b335a30fe4f7b22a99f1b300831b418217d6fe56c69ab9bce1c3b85cd02a21730cbaef726fe6d9fbd72816132a99bcdb86788d34cb27ab718e3e40ecb8f1af8b9668b55370f838b78a939fb6d05471bb4511c524a9042db5921161acf5737c1e7ad7027268cbd56e7d4f2485919a2caccf2870a08df9970843f4d26ab573afa8acbef2113d51826c0eff3fcd9e7cb6b6c272e4b977256c439e40eeef5f699a742ef5b772427d716e171a483eb6d5e5b82bed1c9947a57547b9c8c140cf92fc0ebc865a4774f0a329c2c2b042793c4a449f8f6f5356090c8bcc3aae1500821006b1af2405baf27e951b2b22c515255848a2205831eb9b9eefa92c90e015462fe3f52ea634e1cda18a29e48d7bfdfa94d26a9277e63160ca3058f377d120fc07da2ba4e772c93e8c8f84eea7e90479f13b142ab82723cb2b903f177bbdd3ed88d082f48f290ddca0a03c3974262d45938aff85ad6328d728074f9ca8f94f303981d2666a72e6f7154dbac0595b233dffe9b4b2d91f8bc1f31d80a05ea41f485bc363372144767602c3d9086e584897c2cd8e084306e94d6890d7975609f075838d51ffe127a0b743576a9cbab323f68297a4c1d24011fcdcfe2022bab0968bde432b3eec72aca6104050a28ae5d04199d02a8ed93a86f35111dda55eb21852dce461f33716a930b4b32918f9767b956adac9ff4913ccfe6a2a4bfe0cde015b582039cd7c5e17aabf4fc1c1f26b9f2a595727e3d99b07749bd0de0cfe4115ac326befa4a910ed6400a241a7770951279f5a53d51f90c46aee2d8901728969c457fcfe15e8554097fb1ac71eae4ce04a8122380af6204cad7e7ade55a117f81f5337c34c4472f09e015323b940cd0517cde05be2e5f158c3eca3b61cbf628f606ad232d42172a7009f53f2dc85cc60b390d08e640c4504f956efc367537d5f5bde2000164238811886be1beb0325972453092dfd1bed159783214717b4ef7583c6d2b0b366612690a1d62e58809a556873a3a034fba7945d1551d0eba533ed538f5b951adf2d6fb9d6ca858fe21de567d5d39be6da5895224a15a6966fdbe95100ce327ac4727731dd4764c0028c99733182d3740bcc09d3133bdc9cffd0df5534d351ba8f0f9791cf58d20ac94317bdf7205e4f1a9b3aeb06c6e18e8f34f4a08b7209f99a6c968d4b430436d59b9fe3e42ed7add76eeaf1cd96e9dc77694c97701debb6c472de37aebdc133e392fbc777599f5210ee488824dc24e2ee480bd8fc990548bb728d1e0316475dc55df84a38eb23f6c886fb9765b10096677d82a11c3674d12e72a4a373056edd401230442ad393aa37a487b216bc9ca0c007aab2df951ddb1072754f9c52e2c40b12d45d1511f2db1c9e46fb7b6d2920eab1d7e856dbf8b36847e8862d8ac030df867924bb87bdedec824f75c9d2a482d2b931e7273a5f5c8455f6edc647693a4d32447c3a882564fbf7111ab7ac9dac2174b544ce484005007266d0577c3a120e15227236cca2c9fb73e1e80137cc7dc3100947b4c48d2fa17239bfece51e17b1c76905cf921883bfa0de7285d92207e0eb7d1bd2248a883913c94bd8b41ee1a0181a4dfef4e0684e9c9693a6390ca76bebcce764d377a5d925a1384d6ca8d44cd7dab1191ce33be8a7664bf7fcf450583660cf5c9ec17565157c86b8d2ecb05e07659dd5fd4f7eb4cc8e643d3d0847016d780f34768ad0921c74793bdc3a5d763ef0c30166d17c96e3591bfdf42b054f5158dea19d6030a348bad332a8d015789b614464d632dac83efca5a50bf0c2679d67930b84e7768572ed31714c50b023f74f5df9f73ed8f06bed214e2acaf5de3c418ce62064142c728f5a78f76c4250be9cf441d1791ab2165c3cfeee62b7fd923a10e0d0d6bed272be10f0f59d4407b77ca631f4ca4b766f7db2118378b63c38f9c1bb1cecba3636f53e76f8313729fa06e887207549fc4f860cef9c1d0ce5993c18335dc43dd356db239b3d409b07f6bb9b73395ad7377379d6883e4c691bed6f74f1335f3253729640b3e6fecab4ff6030422b347fbda5bb2ecbb61e5cf5a89ebe4ee79a625d72f9b72894e2bfdf3f9046c172fbe62c90788bf30cd6f5bd66bc5b2c7eb8b31e1c558c6aeb799f7dc45f1d8ec798729d166234756a5d578825490a349b5749b7722496a926b440f5d76f70729edf32114f290cb99d9c0ba8276943e90353740b727d81e903198ea1b2b519aec1c575b0b8799e3eafc73259791d2797d7c7992511764ec7fc8b6892005554bd811ca6c9e5873a69c1a301d50e85d49b039a953472afc1f76c4e94bceb6301c0250a0143ed861c8ed098d1c5e87aed8a84ac07397075d9cbe9f8d2d820b5cac00021a4025317fd7566b25f222045bee468aa3a827214b5c19295cb9c7cc929b4019a678fbdc68c54d109698a28ef3c68653f59390934e100c342369c4765d99715dad12c6bf977c21ed3ec8b0da6abe504a00227104d9d542aeadcc2fa82ea9f8e457727cd52ddee311409a9e94990b29949e051287cb300f67e8b3f4cdeae095c8d915b1875dba995b6f47412b1b4179bd832ed72f1a57b0e725da610ab1d09eb83411a55296a1f19468e11af8b6893efd62e94724595603068ee2301b33f4402ed6b30caf5bd9ad033f5dc263e1cf10163a0120df7094db7d2c9494683726b59856d597c2dd8773671df8f630fea5fe4ee41dd72a57a593ec982345597600382224651687ae1a7706cc224ff549e208099c8f472f86ce4d57998d63ddff37538d31b62453541979bbbb96ca62cd8ad3a6968ec72c79ef8dd1fc747d1642532b72419a8105e21c0570c7a8dfe323b36256f855372e62765eac0fd3e8d7026251954c2fad8593437ff3ab8b9c4237b2ea2b416a2722a0524ef5956d81fac1beb37eb0e599807dc889507a9a9c4940a180a7fd08b7225772472f0ac749dfb33967d3739aacf77dbed10806c24e8a9094f8517817e729989d5646d9ce573b016af1533810fdfbe2054aa0f2f536afdd0c4ca402a6524f103adf7fc8451347bf818a33437bd4b63d97f5f9cb51976ab0bfa57e3e1ad7257c42b885e7af032e9cb9f19385c46cf9c5e0f8b5e96d58c8fe8e32f88ceb916d5dda96d312f12fa0d4bb02f71e0991ceed23a949aef72c6554824c031751b72252c371ee120529d92bc2c81a82275a7a6145e5eddcb44bdfeb6e36f04e4eb342fda2f5eaebc2922e45820b7377f5588ab65ac9b1865e4fca990e73aa430ef728a1e72ab6a12d998de2902998ef7974eb88b01778158dc0462467bcc63dd914f16ccec1b17839682d21aa52e5457c0bfbcf8d8e93bce63f5927ffbba6b56337257d6cfce125a0f10ec69bf44d6878b62b538d4eb92964a3512c38aac467f8872ca70f179c58d1c9069f5e4babe8493c50c94c2137828263af7a35f48807d7072cbd8a150d1d3aa3fcec309bca175c826057e8b15c5bab7d539683a6b2a51db72e141a9ce3acb6732ea4572ec09ec31b35ea05f6c6b104c5342fa57e977c99f24cc46f1200e8c21432a3200a49fa3e3b604c51ee2d7202c35912d487f7dcdc024b20fa87dd1ec5cc432b6fc6bd6deec7932622ee7922beea80120d7c05f07b572c35ff7ca3f4ecd7fa64a9e603a687574605be32d3e2813b27b92aa85b0568c72c794a9cbfd4372aedc280d6d7a3e2fd0ca75b604b8cf9b242612422d40f9db36917772fdf8ca2ba5dd676e95d920b0c01f27f1fe5b8b655a3f0bbd3088ff76200781f2ca2891414c63ea33d93598ac63d384f1fde82cd12883ecc8e3ab5e5803c229dabdb355832b56913b4067c399cd79404470ff9456e0736e9a8fbe111b72ba8504b0e0ab0166a019ff6a9b81ee98a38731931a235e5bbece09e3a87dda6cd5d808fd8b7356a280839994c18a633a209fbdb6ae4807adcf583f587288b2725ce9bf172102982f5018d1f85bdd71dd7d88c227736f7ee0a2f8cfbe54188a72fa82167ff84c13444a4f201031c78e4186a11c23b8d39de2a4934f4ef194563519e850293966bb8f69ba816728120055c2bb79e6e49d48e78f2c31f88a63627269ad971583c59d18c121e22c0f58f5455cb72b60a88cf2de78cc412e3842605d2494cfea53b7f33e9a668ce0f698227fded0112053774a31df40cdafe6ba872dbbe43d140b87506806b8866484762d0df2a3ca523511b3d22f226c09591f2bf1b089fad25d2bee81ecffa04b59975c9bccaacfe6b5a09422d74282cfd4f7faf0caecf25d70b2e3e9af849701def8f24246f1b0892e78ee8090c2e43bd7ee44572672f35fd7c0e9e2981376da939c492efacb838f9204e8201a44282f2235d0b5c42eb9"]}, + "response" : {"jsonrpc":"2.0","id":20,"result":"0x97f5e44da0c73316b93a32cd2af0567bceb60b1fbb329fdd5d7aa770ab55dda6"}, + "statusCode" : 200 +} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/08_cancun_send_blob_tx.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/08_cancun_send_blob_tx.json new file mode 100644 index 00000000000..d0ea0bd3134 --- /dev/null +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/08_cancun_send_blob_tx.json @@ -0,0 +1,5 @@ +{ + "request" : {"jsonrpc":"2.0","id":23,"method":"eth_sendRawTransaction","params":["0x03fa0200fdf88f0701843b9aca008506fc23ac00830186a09400000000000000000000000000000000000200008080c064e1a001935294c3bac382287c160ed2f68a75c1e0a7c14eb07c6551253d48f400657301a0b3077eafbcf0b45758f6a3a6e30331cd9f5aec05146fbcf5af66f7e6d768fefba02d6e630e3590b2a6251b8b61f3988f7716ae42c041191ad008f7b620eb218985fa020004ba0200001209fe3bc3497e47376dfbd9df0600a17c63384c85f859671956d8289e5a0be80165f23be715d4b7ad90d95e574e12982e22f0e7a48d2547a9bb1b3118c94388720b2e8793fcd5eb9df0e355cc330bc2d6542cd61c4730460129b0655ec0b1017265e5c82224054ea507a038b9a33449c6c4e15b4d1d99ac9a43802946eae53a72138900241618b8eee144e62245d02aa402b2cfb874dd12cfa4e3fd7052c3ed727bc779cad35cb518995d2a24dfbe2ebeadbcbf40ade7f0155e7ecab39c3a6572e139a376c8c131f557c867116c6d8fbfa3689c884464a10d481575157e89c726706d821d8be4389a32539f455864e95f8135f6285a8c729d8c1593a2fb907772a8ca004e0b272e27d76d45753e5bc940129142a200c573e15c72c5546172da72cb1d1e37424e268c53fb8f1b5e79b882f9dc2ba87e29287ac703a30a3382cd0c842d517c9311c681d551999cdd55be8c884b69a70868970f1fc51d1e03aa9e2b2d5b440dc0d61ded70692231f7e5a951acf542b14829ce69c06553acf22c03724a9b936144037e178666df3d1688ddde6fef4791e947348457b932acf83a9763668e521335acb1db3c0f8b219409b659d2e430bab1d384c40aeeab13b0e6ff70e6b15b486e339003c0ef810a022dbad68003d95722a47b73b92e68d55d9a25539d4ccba2a51ff628f7a4eb0ce6ebe064700c03ce81ed03916134a1a08a258a72e61f46507602af70d626c61d32c4202b8105d294b3ba5c8e1b379a994013877235ab80d1fa2cf9805461e298c501c14bf6b66b5f744d358983de2d87308fbd725c7b331bc30e577017a60d01f39234fe3e7538b6dbdbf3c4bc1fc82b0fed6672c7ad86c5273ebb0a14b16a518d773d84f28dbd3698010cd9ef3aee2fd9477a708e7071df8d3dad4a12c6722980b2118d8c6df249eb2a7585b785b766b4a3e7720e36e2b5664ae4ffcd8eb00a02f688bc38a83361b9dcbd3b1b5ccbd52cfaee2a656163679e585f019e479dbdabf649549d50d9044c8f43408008467c0a4a79728278cbd181fcaf3d9667cbe1b3a7e836820308ea6a1e39d9a8aaa86cbc064a721a0209ad7eccd0fae54a2259c76200b02953fc359b56bf4d681d0d66af5a2446f6fe624dfdbbccc541a4290831e7aafc8b7504b3e82af2e5ef6131f9a4a2904e4beba752accc653ca042e18ae06e8166d749365ce4edf8d1a851cdef030d7b72b9be3bde19f7cd6dd4f68af8b20248ce43f40fd1afb6676cc60f3ba1f2ee10729855eadc9d02d779adb52cdb3e03fe4b503fb2591ded2c0f57c6342b5f682b72445ad4b46ad6f5a7b39de1555e9be5acbfd31ff4f80047a9baaf3625d88cf0723760d74ad2f91c3be610ccee6e41a7363c2b7f1be9902c60c412cd0b8de7be1f7791d567eddf1f01edfa9d56830b87545fa942fe55198b676eaebc18c2d5ec530b9a1d73b29b03a2a6799e7b662c8198fab22f5f666f7e6f7899285aa298c3576a566f7fff477ac432efdce21a861bf4df6bbaa3dee085e01da7bb4ed9ec7b44cb330f33f48e1cff3e2316976e4e6087af3c770e46f68ef3582733aa769e7d398bc65f5bddeae7a4bb69d9749d149127f8033e77e4f661279c56960438428429a1ad2c97b6acf5e7a3763a6b86ee1f5d4cc3c7ef2a2736fdf01ee3ba01099a72b8f0cdc8610d10a26b03791b05d6f6657aa5ebc7e84bf8a20b8265e4cbb86b725d290e91f927013780ef147b982f3b44fc6d66377f7c1614f77df57b134aff7232ab43cfc1d02aa5fe060c7d31c71f1d1141781e31f0e15c8f9d29c79b1c7e72f68d04bc41a781c56f1175a966e9fcbce6b2e254884d9cc6d980892f52a0e872b6ad2e17e55b1f411ede0da02ffbf4c726e4847e3ddc98485dd664873f4481726c3529907c6953f80f3d41b85941f5c81bc550a8eb6f14cf4fadf610be9146724d5e7612282d6ecc4d6ba8d91308584d0df677bee9a04723e30e0bdc53db560031748d03d8caff8abb7257ba6f16a4b9247995d0de482a4438bf1ab145cd095ea05d42dda2465d5f2a79baf3079df8972662bf54de0bc088513924122faf9f72926695f901f519e27c6ff73018d14a87417d15fcf50cb9fe99f2b9a521e455724e8be4cb536155916f6445a4c9cecb8356ef10f716b2664c9ce2c553c5732c3dd6e34ed0e52d8ffe2baf34ed23f56cfe229f2a00ac30ba6abaf802c74e8090158a61de91536bf521c726fde1779188ed8a132a72ecd090fcc2f554a8cdd04972a6b5c4eb2f22487f23c5e777c420b99a3ca328b17fea2acab99ac0513947ef67a3fee97dee05a0ee5c03e61f42978a2add9397860906b86d8eb3ec8321421c7285e5d1f47732c85f1c17007c3502dcd75d274cc2bb2c721ce959550bf827e36d8c23df6ef538a35f24d8d52ac8339714f8c27446c47f03bbdd8db2d821bc7072c444042317fec13019be66449355cf8a3467d0f47439cace429d153388b4821469777bbf00a6cd82199655c0b952f8d671f6378c1f879e5e3f80870bae99f972804a3db407806cd8c3ab05955bcb67075b18bda7934c5329764e9d39155d5332480cf15e2629937da9a12485425089d90917e596b8fe2fe5dbd4a3e6b297b372422bdbc0c96a4353b189a4d1f84ed8d5b79dd10dd3452f8ec5f29b20d0c72b1aae06bd97f6119bfb3e5aab44f81063852e6f98359dae1d6b1ac507e2507f3d7294def685c732d08f9532e4acebbf46f730d0ef8a61060797520fca7d88f20939b7e79be8085f496692817caa3d127351c40dd1c92d15bf33a73fcdd7061b66722fd325dda102cca68ef52d8c4a6c5429e1a9549c69602b9411c12981ebf4b60cc929416ce28a4051e1d07a547309a485101ca93834a8c32e420baa4fcd36697225c394a30c41a7c98587624c3faa21852bada5b191b23027a78a2ff7e0d3fa726bcabd85cd8925c8f5df4ea095f04a549ba95f3f4f441570262fb8325ed83572e919242663315eda0025ac398119acb81e92aeaea25989f5859e42ac4c98bb2a77a4ea172399a2f04ee68738c9ac24bbdb65e77362357a33ed8ac6db2a29905704a063716f0ea6135a45405647252af3431d9e5a93e6cd9a43a71e75d8c06a72b4198ef3ab1f34b8cd50f45db8d1d125f72dc2759f426471e3df5a3a3bd8374782803326c120fe0eb6316ba3bd2fd81413e4d6cd05d664ea8ac0432b85d18672438964fbf6399069247ded89132ab2d4325da3b3ae510ab8ed585ce7b795d16e1e4f85265e1336aabdede51e4d9aa1780bb72a06e78e9e32906de87a5818f62316a7fcc2d8bd0738165953161005ae04a53dfcc6c4694e5eac68b5b65d443402541e74722e547eda6173f17b0f513d05ffc988960a61bac772b1289e5cd2d17203884becbad6700569de63033e9ab87e127ea05137119421ca847f082f398f2d12e744178706518f2add3542fe1927a0c2d3563616222a9dd457393586919853fd0115b4cdda31656daee729581e83f8eb55d5f666ad12a0d03c28cefa80a172551f6ccfe3602f48ec26fcfd1cd214ee98a676caf6136ed13139a8da78a1801ca30cfed4f51ee0c5dccbf03c722103789fc55be49631615c289b0f32ed8f667252dcb62955550e5cd8acb0a7d40a9b12ad5e7b7d50d8cb0bdecb983bce1bde51e75275c32eb04f1f209dd13bebb79c700ad2bcbdc0c5d4548f4b01737935c259d173c638887b957dc81a98b4adb8418134bdb961fae4ff6472b97c228d385f57a6263a52055e87fe5858819504777ce6055fdd4f2690cd5875eb368e3ba4ec72e438e955aa8bab59487cc1bb0652fd87e688f5aefa8420f278a94275870c9a72a45a8ec90c67485e1c9b02cbb2dea9265d4458c2237f4f476550f01529152933043adda7b593982bf5e9bd03603c9c098a37585a3cfa9b93a3c5d13f4719bf725ccd6bed17eadbaeb7327cb21dedb3d5b50119b0739eb4c99f1d1144e9c8d75669c1f93aef057750d56c39df4b482c16c314e66bcbe1cb250c09677436faea43b12f5e5b30b495040e34154dd5fe68120bde69a53a27aa59a8aeae17b9ecfe7282bf4e1f375c8c7d05b3c182d3f19dd55f8bbb0126886e1fc68e4928a7075e721aab491ab90c9de8654ebffe3bf6aaf7b2c55496fd3c96f6a23c0d135ea6a26c06735af30b085000c48a4c2d9bee1ad931776cc09dd4a2ff9ade8ff7dff516721d3aa06bf13cc5130c923ef1a6c6db7687082d7791209576b0d229076dd5b6724c5f01bbba686cb7fb91b3ff09b2c2070454ab02d10567a4d3408610818717576d04c2c144918ace11b651ebe0b87645a57e741e7b65e8730c82f27304a50672402f09f550195008efbaa746e79398ea32b7701a25c529eca9ba1947d08a4a7224bed753eb84a59255939a6b848e20187e3b2408bb258a55df14f6654e41d2721ab0e5aaa115c3464ff2802b219c7ad7cbef6abc67746282b528ad1ca218e2729ed05dc66d4f09c119277df7cb9541fa71a82cf9609db5a86a7f65d7cc7e1902d108b159a441cfb6652f39d77f903a18d4eb3016254dc9a6934f2adaaee3b37205cc924957543e0d6c2e991f91d83c9754240814f1057c47b04468f87426231d32586d2992a289e8c1ca4fb1180ecde733eeeba296bfb8b4c97861164f8ca9725d325834c0c7a6141e0fce91159e1f122b94e59135f464a928cdfc91f6a3e972e6e7f5a1e20df6460bd54868b3dc28ddfaaff02b7cd11a56992e7af4070d9b72bb8cc2ea114c26cc791094abcebbe3d4b20f23f6d91aa9e5555567420be9a4728649f5d647f6d8d08ead0280746da854c6cf475d2d3a009b82432eb21fd94727f11ddf4df8384ac80ffee273ace7055d855096ae2942c6e58a923bcb46630308b31c8e7458850c8d272171b49faf7abe5c6dddc3e9e3c41821bcd8419135c7122da7b0b9a7fcefc28a9c5f30b39d680f1aac916ad8fb7b06237cd7ad9ec1e93f4aa461ba660d66a3cfd6b9634003030de20eca2b7ce905cd9625a32c9f175e72ddec9f20a0bac70dfaaf31ee63893b939433284f668eaea14c0b0d11fdbb1872d5c3462539d489c9e4b69f02bdc3f39edd61db387d05f3a4c6b6cac2ff87350f421de21b1cb6b3ab46bbd83d90fe1bfe18ead3b7adcca1b202e7aa08afb93312bc463e66dadc57e15d5c405c43106b11f4a685c725fa0b11565c6ee4b35a49315090bd208058dfde2ac1786a05c38706779af261c62a2519a4576ca20c48821c7183cf9b962724f997613549a95b4e7293faf033694d7603e97478a1a4040c72e0b79885642d2bf65281f2d30095bfbc65e8547db6edcf91a268146e0359c559bf5b9ca031c693bd0750da9af3632b295f5cf9ec262077d3dc30536359e07012a4cfdc7f5370017532c0e0fe8f2f29df243efd846420c488b07331f06fe12872042cf95af3be3da9dcb6f997f1bcccf27073cb118178a1a952a480c59aff29723cccac3ac69af82e9442e087a32042d176ebda5e00cc89ad9e8ec68d6cebf8725d70ad643853533348df5fc364cb9ee5881c764e729aedeaa05bb584f2a230726975283675f3eba6e3f6775f765e9d6914b1f3532820ff89453c46075b306c044866b84879d1e3acc33f667839d9b2d55f932ff026f7ebcab133b84c7c59607217e86c3351ad341577eb9673a90898fa268826b5eb82465ab7f7cae408e3f372895794816ac2bdde15f0423e953a0ed05cf3fc6a731b8d12b73a0b193f99e433ae2e1b6cbdfa46f8d320b56beda869e533e8c4d2659a03ea5905dce9c675d072d23939edbf63f9bab51de1372af014ee8e9704c67532b304190c975c26e57f72eb210158bcfed5df58314e7e4bf53ebf3a188ace753fe8d0ad534286645d5c7231df6aabd7e46f46505ebc9cbaf66f0360bcf0f22d31e65192549179b1e4a57288203583928a082863d80abb827c0783f18efd56d4fd4ca3ea3da271a6f5ad7213e32e1cc739b91619ebc109225484adfd4a9bbed63109089ce78c57219ca4722d78a272c9b3cf68836b9c51a1ddaa06f4124509cc5eeec2fe9304f41624d25b629076ae01ca962110948250cc1dfdb12ea394bf5d81ec99965e7f430ca3db4e7a9b043071a6e4d7ffb4bc2d2c6193e20be23dbc8345518ae0c770fc144cf81421b915bff480c70a6b686d9be3c0da86284ef6c2e65baac3ad0625687d81ce7255a478f80a182ab8fd42a3af534166099fa78a7117854d319d5aebaecd6f830cafd5e3f5b0ea5c550d8445a9245e768fed7530a009289460e8f6bd30b782ec723649cce035d7a723ad6dc853e8fcb7a8f4b7fd68c9daa342de82e8f2c182820107148f29feac2c04d22cda08459754035a149866530ee44f85c37cd6833ec27288c7b98ddd25c725ae1c37a589556e783a9f4b5bdf6ca6de8a49f671b467357260fdb9a106302652eb7ee58f1d64d672dbe80790c64340a87437e8b2785ddd728c8186665229dd4de8158b852ed4537c0664a7e03350c68e547d3ad02bf157727575591ded7345c20ef63ff7495f9a236fcecd837b8a45add0dcafd5ca312f4a572b91464ceed9912d3ab5fa0d67e4a1e6f93b41bcf8c919ac25ea3254c3132e8562861e0e69121de04f95b542a78818ebe3c3a1cd43f7032dcf91b2fbccf87235949e13b56d528be26f7cf4a8e252ab22ab607b9b328c1e445f99ca5841b168f256946c50ed4a1e1e67fc1843d305c947d72de4de2b80df1d5d3c58b7093772311e1daac745f1dc2fc883d4caadfce57c2689a65d4464b1ab853528d4bb8e727d67f0c0025215c32aea8d011d8dfe9c8d42f04b66113cd201740646a756404f6b55144abc5b43fa4acb80a9df9346d6f8cfa605e9fded397fb40e78b919c44b6cf42dbca602972774ae2fa7df90ccf8100ccf33a71f7e7e0af80c0419ca3c7013998e7498a472d5822aeb200dce9767e691414dec834633b27ebd9b88ca9372b788c3ab6ecdc5c074fdfd6a4fad6fcc8c295483f8c9b94ef5c4548c26369a72bcd89b5fae419378dab47e950fa945faf907d072ce02d2761b0781395e92780353ddb55dfe557d167560075c2bc11b54e18d122bc51e1d2089158357a0eed4726f1af52a7c733d0043cfc84e0835dae62c60fb51e56bf0ebca898a0e6e554b3a731bfb2fbd4b9f5502ce4c572ceb2503fa1a5900e36e760c1480985f1b039c723f49e6b86163faa6ad30628bd2deb6da224203c9a0a1013dc91545a8997ba57231714d672b9413d6a513abdd38e3eff2eef8fc1169649ac84a13fda6d8a80d587c812288ccec52fc8fb3726c7bb63c10e662010a739cebc85a75d7cedaab0d724ab5ef0fad5c3c1aa36722fffce27e11a14514c9924da09e222376181ffb7b7230024adbb2c06e71e460dbbf1bd10ed1eb60562f03df329eeea9e5b9fd24cd723c9200bc6ef9278783baad3cc6f27b2c56721fa592434eaac98f3f9922230c72a05d7a67174045c0ac752f6e300b5a3c13cc375c2ac5f93cc4fcfc10ef33170f4465320181757251e34d55441222e62ed9924c65553b6f153267f6cebdacce6ddddc246ff523ce8fc272358906f78a960c6f3e2eb8a42535c9ef87c9ed2e0172ede315cbd5788ca6ba681587076e17f3a8c1e48cd3b09b5a00b1ae4b1161195848e559e0d0dbe5656e3a14e64a562e33ded3f3b27583186f3e80534222c7ea72bcf206f8e6ef41b12177540530a13a2af62215fa575a4d3e72cf0b97ccfffe71999386f4c6c5962c920a0ad6b9e024890f019861d6455ffcf2254938a5f67b14b077c5e1b48a2abb3109d24ec3ca46f27112034d2eb755b07c0382f02e07cc7256dcab77e0a047f589fca7b2576c98afd937927249861c6c995fcb8f8f703e4962ef660c672b213f863412cd4af340cc46a491f6c399e34f21fabe7820aa4b727458b89bc761831724d4332bce17d084b71b1af09936d0b27365b2190255927239a2ef07cd2852b15d9c6e473e93cb98ed31d89e82eed8698d014007f289964cdbc294168a8acced5f67d8056cd300d2e887c55431de4ff5a7a636a3639f8c72e4f6f3562cfc05346ad00f3215653db7d8f68feff912a114952e7ebd2c1e09725516c8c7bedbba4c570ee73d36af5d2a8be31a71e50e4b5c84acd082f2c5884c452f28e6f902c2abede9715122a07ca3a0300e7d2060a93f9f2e950fc0639372c8aaafb4d8296e92c53ec432046ff29c89b3ede58b270097bf7970afa2e54f3f07a5767aad2ef0b2a1deb0464e4f387e012a683a5a9fd650bf8fc5db773d1d72342cdab5e449f16a6cb54f21c425cc7e4f28471afa980f6eb06ef747af51275b85d44b90f75a042fddd38216a6676c1ee332a1dd9b7702612425fdd1ad521472a7ba05ae5c6bc29f5070d2808d67b08d206a2e1770a0dafc65a575440916c70d6be9962a23ebe86bf11de22e64a4c485475a83dcb091491c965b007d3d055e72ad3b4975ab689521ce54274e98b95f1f9c3dabd3318a082ee19e13573a2f5a3cdf2447a6f03db7eef4bcd9955a66339bd0b194cb1b903fe5e250de19eb5cfa4720f8fb014b0fa95861cfa96dc6c5d0a400d477921ac463042ab3a9998ed1a872a4ff6637ade104db20b23f7c3a3a177f46a61512361b99631fa30e15bde93d7259fd9b18d1c43ff4c949b9782e0526c5d7ac0af59ac8482b79c3c2cf2b85eb69f2251666f8cf2f18a1f9b2164489bc418ada50ec23128c8e54d58152a6a5c32466031c8854a9d27c51c43ee29ed8ebf9936f9c09174743681dde15abcd46e5726728fd83aa116d6cc9674c15a8570f79429c35bc676583d3df169b35c5a7de04dbd074c0d5fb24af9c6c6ae9bfe122b388db872382352800b8140aff928a79722f9fac657d316e75b260339fc58df890053a075801af279de8d16e6a64648001c129f02b4bc308d7d5ba85be01fe6d5211067d13d5750f65505a218583963e7238eb0e20511794a65cb35f3ebb78ab5fb22e2373bcbfb6bbd75ab206612ec272bc51ccd1be23303a9b2f7e140e4025e9fbc1d8bc44a699d93d008ca6b27dcc7227bae19ec583090c9f205f6d3c19cc0418cd2e4b520c4a39503d6e7117f0f872845c72929e7f19012178951105518ab16f2acad65e74525e459328049bba047223cb67b7bcb5aa72f374331dbbdfe0f18923d867727b1866392c6a918f8b1372cb4dfc94ab1952c0fe4ffc49049c9c86b1aea3bcd0e0b7417be9104dfa23ec72aca5d6fa61371a592c88a2dc94246d371e30e50e32d926ca36b54cc7d069f85387a6b8ca7bd8db7545ccecba37ffe252572e819220f670ba5164a06ae59a1752e0fbabab864f6542d82f09dfd821eba05689c729a9e24bf7fa7ab04de8d1e27207251b2c2b3b2e5ca390f4005bc3d1e9373dd546733caf8adfee321784aa11375e0ce917c7094a13bfa346ecfe8cfb5504246551fce773c7ff2e37704d30a50e217f15bc330ebbb802c0dd9414cd2f9c3dd1b1a5f67cab41e3ded009a3849072ee46298cc6b7f110716268cd169da709b98d8b28a68a5348da0bff180a1da40db1f8420df16b0264687779a38177ad0639d84efd05f19faa0ee7d84b9dfc29725d029e543c3c2e1efc61753cdbfbaaf2d4a5154b09c5b932937b620878a2af256f3e3dde13182c0631fa4583f3cd6949dcd72bc3244df7ec9de4a919846cc0071635ce50974029feff01d1f31927e617431171b6b21878c52207f756c3c4f23260ce51b7bd4643da465bf792c46ad080d5ed9f367826117291f8a65d4c601172dc877b37715bcbc3de7ae5e5d87bcd8ee835692e1fdd3a0243e92ff307394e545db22c32833fae2862a32d03ca7f3eb4b5126fc1d681bc05c0d0c7fdbe617d7237656d830f04ddf1fdc88bf93307133baf684ed68c52a31d6360ebe05efdbe72bbe7221c5aa9119575d8ac70338b4492928487c22d85e5117e8549523dff43726f377e26fbc9bd94e116903382c38baed7b5a686282e0442429becda1d2ca7721962b647661ece4798294519b486204f92a4f04e3dca32fac286304b1ee75654e8832234d5b691f7944098dd0eddd0c948fea8b430f60426c502303dcf30810f9154c41bf2adc8f9eaed1e0aa6f266a59babe3495afa68760154c41500909a31ba758c1f9f5d1a99d00aa22a38caa31f83114b3e897fcf8a6545283caafcb17219acc064349809415809834acb3fd6337dea2e1c382c50a925f42ebe9cec6572cb46aa08e0f42397042fe9cdcf976dccbf36a6d5d347cf72a03b1799971892726eb6423c3ff26551dfc92e14ff59d8cc9aa83358253c2c436ec894923216ad7201da14250a620c8f5380318eb83398fd3c05eeb7ae8e961e6cfd740fbdbd52721efaa8b91f0985e392210ebbef58644fb51c4eb56fdd06875e6fcfaa901d30059e0ba9429f78590ffbd33326bafadece9485c7e508a05a5e7b47fcdbf0519c68e900bbd8806474ded42f24535c7d9ba183255e18f563f5ed1ea1bd139b859e7257c868480354df2303875f553e415f499de22201539d63941c2986154d1a0b723822c03f2b7a849931c5ad29de9f0237310b3ff85232652ac9f253caebc6b0729401fc3354835679c673591818e37468bb2fe93653dc8ce33a84d95d0c79742629e612f31a170c3868144a7b442197e9f9ad88c3f8eaefb0a37ebdb3ada705074390effb1a42debc96423789f474d2fa7a08c47e9300a1659e6e6a2cff70de40f6b55e0bb16b1140203ba7f90e65078d11f47b7555d5a1ba7f60e9cb5ac4e0726d353904d17c71e29d726947bb7f58f19bf282370d865af1266bfbd03e64470415db086707b7e8fe9a0bbfe7527494fed5646429535f504d3f893e2c88aec972cc792a61903b6a2fa5d7546e111e8bbe32720b84392de25a60fbf80a5144656829fb544b8840746039c9fb9fddf7cc354e439c30255705d0fe25637f7cc178427c308933954d102509fe3d2ab3deabf46b8d6db9abac7619bdb01fa175534d7272b0f9bb07087b7736de4febbebd45d135163f7d4d2de1530673417a2799567287eeb944ed2d52c1ff2cdb35e0b1af107332d355c60f56c84287cad37abace372de3393e0b84413e0b96889385aafb41ee29d7dd697cb16d80d96ca294918c1282605251aa4fc7cb33d5b63e1bbd6edb547f087d91400a2deca6f968d754de36fa57f5d9170485bd43f347fa18aaec82028daed757c9d732b297da5ec14de23223c1b322b6a34e449f6592b66780ab28cfd293fc179bcfe1df515f1433a5d409dff46a9e17acaf89ad684ef4a10456b0b1d6a9f4def3579b93bea552b7849e72cf067cffa686c3560f975ec350a8b93cd095afda3403f14a5391b8aa7fdd3372aec535c0fc9f9484e18517dad5d219ffa61cf567f2ced6b3979f24a7460e0c21b93b641d34c04cb9f928444e30e90a2be4fff2085f069793e2a0571f176a4146621b4bba68d7305cd98c01cac95db2c45eb53ea7c548100a97e96e754bea2e7276d6c79440e3d4a106bea8e12baabca919d5677076fc963d1051bd636cadb2138764939d52fb4780680f84f8c68d95b4e749547569041f96ebe42813229dbc72981a4f2c859206d5692bf46edf4c803908197f4081a33a1a4d464bcfca2c217256182f293c2c9af92511c74f31bb8cd4cef2ddf8da39be5e6a3c367e39361d72cb1ee61cceef6c35b094fae1fd5b3c3436f473143f0a08e8cc453d06e28b5b72672e9c1082579cd668ede40464d208dca036f15562289a60227297db4f0a26720d61651097a1c215a78295149b1b36ba30dc42946d0d1aacde59a292b19f0a107ee7447827b992805130992c6a250e5d5400fd5d61cf814d2043d1ae326c7772ef7ac4e4d58c01dfb756c274dd82736add4da95e4e9ce74e4a13a4b413139272b9ee994914f4e11387b880fcd980255dec849919bb643fcf07313988bd66ad292addc8870657cb559e7fc07edb90ae93bf8cb0c36adf6840e0ea7ecc460d0b72c7c3e49815d652c9de4c42fb079a16668727fa3a7cefc51f6822a0cbbdf4674092750f7f46efe24905bf1311694205e8fd44d96937d1473f116142e592196a64cec97ae17960cc6f21c4ee08005c0826bbddeeb70c54b315e1d480bbf813377224f73d4cda568ca6ba75d6bcc0ef319e287eb2926d95d8bf7745312cecb0a57230262523de49ed81446c7128037125d262da1155477f298863409c6cf6c130512913120acc39d48007b32e345478fec159faa362bf47e885cc592523d1a3f05244c3a41cad4067bbafbefeac64c851224d92e3d62561f69132a44b888d2e3372d14c4ec267cbd1c2489ee731ebf02188a6412a95bdcee6896b127a69e6bb3a72816034d9f7d39ddf13e2d38703ae1930364835e08aac65e597d2d5a2cb9c2960c21506db32811e0bb9a65b77e283e022b13b807b552505711ae11a31ed31902e69f5fe95d7c2c64e52ea6d98a652acb5ed14b967284cb19297ebf4280dc674721d5aaa62956f4511f89ef6138fd5e04e68d75bfbfc925e11da18d52cfd1f4172a53ba616a97fec254c6e4943ed2c0d4c65f436e1ba1bc2e1481fa4db7e73f972f462b60ff63064cd9f982442761164c30abad1b05caf2a09b0739e785ec3f072913f86564af7393b03719089a800b7d0262c1a05d7d4e29477fb55ce0cfdb172bb4f281e4ecad90f241743bbbf5d9706235f58fa91456773cee350a07ce3a52650efb27781dc242f19c662825ab53149ee90a1eacc74ddf08e1e40da4c8952725bde1876e1d4baeb25ae81aa3c0a6abda3ab2e02b293d446afdfe583dab4f35ad78cda0a3cbeb752ca2bdbfa609d0b4e5a2149db1b4bd901ffeeae6baec2742bbf07c8b8d6269183bc9dce0e8754f508aadc3aa04c7ff034ba6bb5e0bd0fa51bb83f75f41f68bbd9c671347db7b10e8bdcd9376f41ca408b3ba9c13718ef6072705c8e7a9ece84c15a8bdc7bc1648cab5f7804869b29c315372f7adebb119c722bfab1100fbb2ba5e6a853b66fae84311d1cdd8d4598a22c882df28a3dcc19720667613e27a2c1ee55ef92e3c6bbf2e05f12366f0f9c1d4f19dc8c1ce88db808862e6aad847f12d7dd53f4926a7b446d460955ac0836b3ea0a3bce9a39255f72906d723d7f1168082677c82a3a9a1e1e8908ff5dce78106613503207cd19a118fa4522a30e70103ed91c947fdabb080097d6f68b268936a86158a1ecab9edc728b382b64c2835525d887147dd78cc2b2740bc82dff4eb7bb42a2f68977839f725096ef3da08badd3293e7bcb18f3640a80f0f81bd1db39972ce76a0dd17e83724d28faae5bc5eea72385ae7d9f0e95b6eada40e4b55722e5d668afdf9275e66fc8cd424ef7e41ac2355fb8cb37a609f72728671a4a18b51a2815bad01f863572f3d4943f90a62972538b684440754498e9ec97e2b67dfb021ece5078d292b07270d528bed9570a0b0ca68f0efe8aa036502a390dc5ba072f762b3708fcfd380489dbc7b8b985623a681e325362a861f20a1a73cff9f990c9445f8d1d958f111331b5b19176927dca18fd5fdc658a2e5b46678341c7fc4a05505762e2a11aef72a39207bda1b7904bc5ffa101eefa73b22133244a49e27817e7e053509ba65f2bdf7d6f2588cf02d3e49b3bea9af22d9c6a05fc31fe594dcc640de29980e6026cc580b088c1b1f85ed6be9682202f54a11203afd70b7da21158bf740439635470b24f9dad16f77475e3e439741a2f2087ae7715606ad330bd7284e800b6bdb572c0cbfcdefb307449ce378a896bd928be467d1e18d3372279e9d975bb49de1866424cf31bf7c97d696aea0485018f638525cce7c031b7498d6b6ab38efc553e723851c5a70eb1f3eb89749767e136a4dc4b493cf08f48ce593cf71b3c09b4ae54d5a4599204512dc293fe7e3d2db931c2fe8ba25d933a1a62dbbced6d5333bd6bb095d58327b2abf35484ae610ddd32d04b29d5325998a0bcf2c5470340862f4315f2732fbd7abfb46c54841b618719aadc51a218ef2ddbedcc35e5e0bb9ddd72ed80db7255d534490bd9288136dc37e01072806faf5a8d1b6eeee75a97cadb697d4879e047d5912fdfc7be32a0b0ca1e9a5fa1e2091a4ff17a0e04d74ade175e0230d4df8f0badf8c416516d8921f09eed716ae0b71696a379b4172b570c3531a1160bca7f5a7646a4b2369e4574b68bb89a0b884f927091f782e5710b2a3e486a50860ef649ccd5e33c8d9f4e8add137e9d075a0aecf00ac63bdce902176c729d2c263dacc5fa7cdf187ea337e198337403ecec7c247e04fb8527e8b625c372b3d3a37defe8a3fbfe6b59c6b2e03d5c3a4b0c27640fcc935e9714c4d22c59352f3fd8691e011dd0d44136d94a6550d10abfe4d4607b96becc49cf0ffd5562724bbc8eeab48beff523bc687d44d8e3cd006490e1afef0e3da179dee2a7468a46d89ab28fe026382b7d775817fd83157a77b35de396774a2730ac6e5e9f79fa72d6edaa5a7f3957b36554fb2d01dafa7039af72d7de699e22392bd4a8bc4bf9506c4c2f83e79c98a889a265d19efd173a2a529f47e0c8392eb9deb109f4eb4372a3b864c8f6fa39d068cbf4a7e6b2aff599f40e9aa646d24c997a9c104923587238eff52953d1be374928a362c4d1b2df999361836d88b4214bba72787a780c723853be92f43450b921aa8d7257ef0f4521804cf7437ef222be8e033e74a1e1721f3fae331ee7297bd7cd0e6f9487565dc70fa295e78ce5c5a2719c9de03af2722a2f67a22512c00a209c7b37cae0f2cf40b954efc7af5ccae2dc527b05af935dc60d333ccac7a7b9766cbe7610f3bed5175ff861659c3e3bf6f82ab979270c4e4978735868440372e6d017b468cc23126cb8d2d45fe5135e902412ab595dd403f5bf486af2bffc01deecb5092f186414a7c2791d67094442b04cbab6be9a8e5796a19adfdc2c22e966f34a210e3c33bc7302212d93f01f6047f3334b613a8772889005f3f901f227de7f8ad38f33c956f4322b2bc1611d159d1c8990771f252321ee7417727db0ffb78d28c0b5bd7e1deca4b5b7a06aa9085f1d77a6fdcbe121e78fb3246332f74b4c337e35bc2b029a1008f81c654de68962a2010014823d0476627c53d09eaed53ef5f9c63ceed319c496958fcfbafe7693ba60e82de95372adec0aa6fe6d0b347aac5bddf1f8bc6d977bfb9a82a8ad4fd69f45da86af1a72413e99bf34da83cf05fad645bd938e88fd5b12110d75f95fc1f9aa40d4af3d72c09f486804f69f1f93f6b1bba6240af651fd3e468608c49f7684fc834342be724248377a8f90380078c6871d6f1d5d8f352fffb59badb1afb1e6c0d952845c4abdd5ca7296789631e3cc23588780c4440a78cd862d0362037a0ce576575085721244935245fe6c4a4a5594f2faedcd48cc85cb06e9965f94df43a4fa99dd2d72ea71809929907682551cd4846216f07b3d04b3772565da5b0edc6a60a5803d7259ea35a59d03a230a637637380a40d2236e2a81934b08bcb5c8ba3525397e17271f70503eed2a713788fb9183979c2e98f0102882b668a98f534236478c7782b1b3ef4d6f1f8dba0cbdecba3444127e413ab38c813639bce8e696379171b1a726df83ee000070cec9ef438053c2770d297b30f051070ff75d0b33b433c6bcb725785191dd998ebe8a3890252965bb42f75b7f04ce07ab7f697a173127687756fa83c99a252e922caa0785976d281acf8a5f0f49943de245f05c617d606178b7246e9f073c75477356c89ab6a50218f1d5040b9dab2ec7a0da00d7ab9993fff65f10cdf11c3f457d5534f2850588f6d6bc4d8919dbda56a491b7d9002c6a8c00d73d216d45e0cb4cfdb1bb09d3099bcadc573b6722e111ce92229ea0d250c3866a607523af6e79d3235a4aee0774c584a4a4ed567f7adfe03265e8765694f2a72e47578c1f0eb0d941750f9d92e72b71f41ee266d4ba0bed80bc85644d462ca0bfdae6df5f96ffb19dd04772845f58ee5cd54d660a0d86a32bc2ada59f52a7b065369f7bb8da345c32b8eb2e543cf94522d609974db9ce978edeab95efd0fcf7266e44dfa113c4b179ce489eaf7873e499d12c5ad5550d3fa21e8fbd3f3ea2a4d8dd671f0d7f4633c2803f43f5673eb1e0b2dffba822854052cc848824f6bf115331dabac1f95b79b38e293be06cd2833babcdd18c68fd71c258f279b1e14c116667dd1828465983b18681714b3cd12bf84bc68ba8e07d04787cd47c2921b397243304df1fe77146d480b7c5c870b9ac5a09e7b8851aff5a8ae833f9c128b1a725fd7a13ebbb04b081b5e81a3359915c572c593a5fcdcbfcdce4efdf970b445721324f265f9aa30e6faea23dd449c623aae6ece5695d0149237e5e3f575737f7291ee2db3ea04e9af70ab3d83d7d4300a5d22b57b6896f8540e8e463497221a26b0e9f8c07ceb9b7525bf64135713e8e2534706ce22bb289b750dee303c2b1a72514bdfc92f4c3f69317c39f0459e9d141158e3aaaaf0b626017ee656dad815727bbb458305d3d5445089fb2fd7137eed651630bc0a31b771e65a385466be57726c03ff8f40cc449a032db350cb9996f5d7be6e44c3f7381e14c80f44e4a34e726cf28c5a1ec384d1b6d7bc85b3701d505229d4224a5dd0e8179243c1233b14729971f3475439360e86eb1dd8a07896115f9245bc1d2346f38172749b1fafbc0334aff0bdc14fe3d1df905f92f8d6869a7e25538a3408b514375684214f386b3a268d12a900072bb1ceb81bf7be1a388f32a05b72d7fcd05a7ba06df5d7b8d07260f8e8fd0e60c8b957895ba71392f623ec99b9423a632edc8dbeb3b6eb7fed7202ff556063e17426243e8c80932111dfa9d951762f626bae7ed46c7fa1856372434d3b30faa15328d0fd33807e9711b4573d3483a0f36b36983a71e6345c7172ded0a76e9e0af0df1f0d3c9ec1f382106ef8b85d36fd39c1532acc788e4beb0de3fd8618b05c24df81148dfbb05d81141f7ddfb5a4e41bec0e300aaa78579f72ea9abb6b8041cd0f7b94cfd1b77d9722ee697f661940c9e8e76cc3b437178372a2f72d217cebe5ed4d73ff7f6cef0eb3012bdafcc4a96c72b8f0d851d35b802a5567cad6a9b6e9ed5920e3489b21fc3289071b0d654d9e871b8407fb09d5c872342a30d1155c3132250477a70e7af8d16d2d5a6dfc496fb2190f561c6c591a724e7bf5e4026286e36f39e6243588fc46b50761943c43750e7f7497e109e889726bf3323c3ecc67917ce04110d9306a9229063407811491bc2217af842c979b72feee03ee33e9ad2a7110b56422e5418af308f16d6fc8e32685895456674a3921b5343d48f97e4e0aea4aaa14b68f69af0c3601c4db194236f3b9bb36730b120f4dc7ef0d8c7ec323e3cedaef5b256637e865e7cb1e3e8b8c5b79144da60a0b72d6ce0720a6451391f78dba878ba7dbe166f35a480b9a67b27e0ead3269296b298d7d63b3fb215b8b9b031f5b7af5fb5cd837cd36c5593cd5ad8347119c98a37270bfb2714aba37b8757a7798e9950d8e24aff304e44bac462ecfa792ed2063727b59b18d642c1e464a7bba0b8c2a33c499ef8b24fb80063af71919ad5563f4543c88d19241378235142c48bc2fe20cf696fbcbf8788ee1b00959ff70e4f12372aa9edf6c4531f92c7d41ea4001ad26cfb0aaeeb318b01a7001747a3d1b05d76ff24d0cd0fde7d68d0fd0b665337debebb10f7b2b667c6227a41380fe4d50dd729c0b5ba301e941c19e4e98637a5c583c892cfd06fc83f7128cb9d26064560872ba81f691009b16dfda774d1010213c446ed62261a2757ab0dba014ed565e1219accd1f0381fed203dd0e6c3fd763174f7309a9b934f40d7a8e4073158123b4244e4fe8f79214f77c6df9e8faf178b35394d0044d2e4726d435f2a674cf3d7a72811d498aa981b8ca0082e66a0945fab7b35c121dcaccac9993cc38c01aeee67254323efdaa4d70f92e36c569303695b2bf8e66b2421708aa328bdb6b56a66b6d580c35d4dc8243b4e0b3c955500bf513b81430d624e1d32ee3ec922eb1b21072c1103fa4bbce2b2b56e4372192a0c27b0fab50c9fca156ec639d4b13f5554772b3195943e1b4241fcdac244896c2e61f85a3ecda7ffac0bba8efe0fcf17edf72bbe19bfd24b420d2e26a1ccd8533195facd1e82cd8d3f48aaa1770ba11d7c072c504da9dd802fdd40c40b545fd9281c6dca764b9c98ee0a1cc8dfc121845c97259fbfc512c577280d3adff9e94b3641f280c874294741d76503a5b80d5f8ab727570a6fef48d37f91dac58a6bb38ba6d4805dcf81c1961522b452b19732cd734ba8d84766c61c5a62c1358b74622d9958dac481600283c3b8c57becbc5d6e003f6d16ca398c3eb68d70d38bcd40b36f0197cee38b50d2c29a5371185d39b0672d79ced7bc0996c305498177add7fe738c38ffeb16a082c0591b55134acdd3c4ed5f9bcbe46e6b47e83f4f8b5fce0d8b7cdc3516d3853b6be2db6901cb4b48f72a9f40208cf4a702e671c02d2af9725e8bca2436086a26df226dd195f53894772473119bcccdcc1c7b6f25744339436946f897b8aeeafea23728a609f6eb1397294ee6dddb7061d54b6c46dea869c46135d8c2063e9dd4bb58e871f0daa841115d239e770d3bf6791d015b107eaa6cd4494f619dc745876498778a4add4db9f50e9bb44221ee0f8ed36d1a5532a536206fd4daccae8a392f1d95b5576a409e0725f060f67b99852ccc1428e9b2938c28866abb8e91e8380065f95ce3d5a2aba72e568faab1797b0cd67a055cf59eef6138815cd341dc12c2655bc034a54d48b5dfd9505f7361600cdae5d8c90b7a6de968caa00c9ebdf9e6877d2439ebe580d722d9e4c2ed2c0e78cb1924f0dd198a3a274c5b6fd49e6bdff8104635da2bb6172d22cb163c6f4681ef85b0da76a7264d6aeb124ca6d87cb8daedeab82eedcf072d404b5efdbf8a1d195d4c1fe71fe019a7ba63fcced0ad8ce15fb2d95b0187201486b2076ca2bdfddb809587c725f4b43dfae1b533b5704722a5bc9c046bfda72048d0edb5d9250a2a64fb66231b6c07315c99ab29cf9a15928af404adcba0472f96b8132f3fa346f4c1f201a2dcf8bb4c335f8149098a1a2ffdf8778ecf4b8729727909bee47fe0ee70ba3fee13f6592b626a07cc9f334378a8668b856782b72f91331058dca4a017360e7e404ccc7df936dfbe1b5be47d1e19bd0f376be7772204eb0267d010784755b2ac63c9792d5dd26dd6171c1f5907087bc69c2c02c08e0c23c0fd6b535b3b4e5205d00bc39b9fed1c5d0298f0cbd345b4302f44a65722d2a02c989f386a418871b8725c4b6200290f9e071a9a6f12a43f7214f28a22a100ed4942eb82c2d54de9410e0457c081c96185f4594a6cdbc4760509799822d5d3cea3a802877e9cceb672cf329ac553eaee589ebc1d28899f73153cce2066c2428a978e9f568b5da1203913a2fa25deaea5698a055d9162977d43ef784d0722b72d42b34258a1e8107900f96a23dff096f08ba8e553bddc3ab97084e9a9c3a764a1b5c828b72b6287d03f307d5e259507931015218954fe62ed6db41d8a772484aac866fcf487b74c3999a96343e67255dab5b8b26145b117fde66fd8a531dafd2bd23502aee6e7883201d4c7511d2680caee28134f72a805d2fa09978fc70cebd6c943de5a34ae6a8aaf232d9187138fed084d4d66a63b8f52d3af08aa83811b76e7551ec2cb0ee3f476ea8faa8dca12c3288c034283b0aff9abf6f9e7a3e14e63e7bac572334e180555b414eedc5e53f4b69d903d2fcfc6a88e596a9022d55ab201071f5a08372dd495f1afe94b978f6710030097e2d114ca307a6e54672cba2d300a2ee8fd8709581e55082271b8e46cd773e7257b2ebaaa5f588316e72a5060741e774f001ec8e357178f8648c25be88739364d5d143ab4faaf46954729a67fda4d9a2fd750e1d39acbd480dad0c5925f6cfc98ad8dd95de548dfd3c72065a1933a8e94c29a9f4f3194568a1e103d3d498e391b188266effe884aa34723436679d85111c28ff33f54b742253c88ac4ed5c98f7497d4ac52b65370e4f3d8ea67bd441007e62084bb9b988e52cec1f4fa6536cbf953436a44cf1e3f049728099ec700099ca0b0bcca9be9945e70f758d840696badf3a9cadfc2fb098576e33db3a6f9b109ef3a0c97847e2abe2dadf3622bd71678c6068142a340286b57244dadba04e7f2f640c06066efcf5d4a12ed705dbceacba3545ac872ee2d06c720dc7c9be065fa8b2f266906223f154289d8f94d16fca153c4222afb7992fcc692255e65e95db81ce88ecc83b437ec9aea49f77fbd85aadc7c78cc0a25bc3e2729f233648dec1cd853eea515a390347ad60ce32d6dc4661b079989b57d9db45648dbb001a055c9c1f858499279bbc2021aa9ca86abef6298f45c7dae4ea4a8e7252e5d00af8564375ee02c2d4ade217da5d61199749337bbed2837bfb0a648b724862ddc3dae75574ac363777a6dbdfb12b19c0cb892b95edc75a879c2847776444aa0e0f027bcb029553f128006c1053beaefcd0220fe2389843ae684a90a072ffc6b4414f66e855294524349df496a374b44130d4bfa104f3deea4322840f72bfda441f52ddcf56751b75d267479e809452b61da92825b79973f9fa41f9f70ff5218d8e1f665deb61962160c0b75e0866d2468c63f98a7dff23e71779c11d31fdca7616d824dced6c5254f06d5c321d29badceb4fe05ac7acb92beb102d4472ed76b8f846fd58af021d802744bfe4cf2d485e182c0973af46b1409dda560e7233d1bab15871be8df7b8c86d12f4934779f54b0e9f08a4a50972777bd7b4767271185b48d4c6c44eeb3500ec67a89af229889bcb892d655a445d061b29f40c65d49fc05719a26eb2232e762947b6c92e6f030e440054c2ffba5250b16d0dbe72571aff0b5a4ce96b961c75853eb7242b98887122f0ac75de9f6742d72a717d415178b37fac03a6f8e0cdde1ccee6f4fbb88ae152ce489bc8216b8ec8e81a634651668599848c346d80cc14c347a691ba43e586c289cf6a4c4620aa3b56919d72caeef1edf84173b5c2bbc9fe5cb6e649b0297ab4b95359b9239d0e144426f77281b3a8404a71f371512eb6d8497fc6c4bdda0af882479c43195b1a627cdb1b1f892d50319324d3e63bb396d78065ca43e8c6deb6d7023219aa6dcecf563967729da25f3ea41e98212fa4dd507b8f82963be37bb913789363e429fe400afff4727edd3fe6baa179853f04ee53679e6ffb70cffb6ac6c799c27eb509d5d3453724e141e83e6a15c5f3f0bbf702891ce4a2d054b5be34e3587b71fbb45ad2bb680785246e6a7cfe33febbd1a73900090ea827c7881bdb7b4020aceb9378ec00da3765320898186aedfa75b07ac542ecf5a8020ca8bb5f25be026543a9aa6040763e478ca44bc94d1ec4a5f1cdc76dcbcd2eb5be4666ae4aead2b4d25de659de2d14ae2d4e6f47eae85511fa89c234872cd5124abc7247a9ae53a04ae8d886983d729e3928063ed01910e095f0736b3537dae79f7787377103042d0e52ea5c87314e0bdfe77d10c43e2a86c24f89b84913fbc86b0874a1b81ebae12fbee1adc65716b8487486bfa24db920bc4a516cb55c2a33feb351963f954a244dc7556d14034ea76b804ff887088108b96753527bf95fbe44f7509a6cc63d26f4e66bea9a1a72389637de6c5bdf2f27417b7343355e18c1b1daff6bfa4ff74f8cd7e4d44ff47288eee1179cd2ee863a748c8cf9c7e7a47515437f54d72e4148b05604e64f5f72212af67d4ac769d86ef83979bdc3fee323025d0b999f7a5ec12ee461ef134d725829a5f0a0e5b997a03572ea1a4ffb147ecff205fe97da96e40257f5f7e9bd1a025cf0f36041932a4d5e8a3d72012fcc9d0853b33bfdce8711e41c92e6e00e72f2960b33bfd451bcbd6e80c8e3d324cf29c00a61678070a9f339e00822570672d68c3557d98dbbbcddac4d8fb3f3b650e7e1a387945a75bd1ae69df0070cdd7276a37b0db1462de60e4ad94022be70ac354cfd0da3945911e3a8d2d255e57872e90fdcd19a60a8e03232a7288316b4e80f36fc3f476562b5058843d0963172045bf0c7cc9e71d334b87de1aee4c0baae0a43b784e15cb9fb985adddc37a25c6b955212629f2625b34ac613e3c6dd9268f99e1a5b8af0147c8a5893798668c7724a432274a71523590adeede7d1b9a106e0627710d00a47288db6b714ac430117e5b1d70680f60f23f1ad8d1e32ab04c064ee385f81c6483ec488fa14e58bff72503725a80cb51d4cc10710dc501510409987b6e18dcfc11d8777dfb2d35edd72d72d1a0b9db928edd1116d65a31af778fb58ea69c21f154b3fbd6a0c18fcb62172afe641bc6b85777f7be2545932cee85a090c84fcb1adce49d95017a1ee296e192a54815ab3fca591110c1dc84ca2dd3e6c683ffa9433ab82c31364bf1a730345a0093887aa84d39ecdadffa64d87230dc5a537a3ddd0ffae52c226dbb41b726f9faac98474e01b374e90e39a19dc8f5dadee0439e66d3dabc8b75219854466e382eb869ff90e7338213bbb3de2ad10f7bce1340f6eae95be4d3aaca6f38253b9080def0d38af6da2eb804137091e0fcd036980d6c26eab0b239a5b39177d725288e3cf1080c505f4beeea38bb74dccc6d0408404dab74e54e6e738e71b4a4df51f10d4a02eccf16d072d1b31b0d1e75edf5402aba452f591e36adc05b0bf7220b49cea181410a443d7cd0f440bccdd4b426d20ff06d8a129c125996c563972850ba2239a9a24fabc316ed7f9361affa15fee45cfa64d45bd71f1995ed4433137070c0a21cb4ce93e780f63be7a0c5f2124e835214113cdcc1d8b6a68c5281d47210fb58cfbb4e795c8402ded25d83147a568267be9b9f034d4039bc9742572a04c793617607235250dad057e7514bb09461290521cb4fe369211ea5a6c53557f184f7ece8c1f0ed0d4f6fd88309bc0e10dbdb65f81b698f66f4c4d7652d1720b5edf512d362825b01e266ec90bfd06e7b9b9971b58de055977cf9bb5726f72adbf2eb1b9932264a1fbae237ee7be0dd94b534daaba81304320714aff719072d498dbd9101fdab848bcd3e8dee4991ed66f4fa31d70ab2204db84025207617240ea0038c93e5ca5a1952a9f486c35becc1cbc94c64391ee6317dac3fedf286ac69be4d6e98b414e2927557f3da08678db47b3e0858d42eb9cb4c7ed643a8d7260b0deb1e14d40e94b1988ee29b856e4d91dc24277f7e2fdcbb04741dc2fad729fa1a3e04a594c59f9aaa52d28abbb2b1b91d2b26f7e8ea916422b81fbf33e2d53f1a30128c37bd6f4eb81716b8d3630d72127c290d70d1e5c6193fbd532227254079d91e0f24758ef202f97b758eee8021faf6d9b8b63364c03f6a1814f2c728fbe4fa1cef56d0ebf6c1ea4898fd38c879a5d180d040278ea3082b2c777983fae7dfe0f74e9c629fc9ce4244d5da21479c963ac365d4326f1d9547b04ddf0037d8c0ef5a3a88ace92d7e71a8b79874160bbedfb44896c2ca09f2988f5d1fd72d28ea87ab35ced4232ed2b8c5b9b5eabb53bdce6e44b728ef9a27475894a2a72538c16d175b8f2161d73cf78a2456c895a31495d642d23e7b928932c7ec21f725c05c3edaf4b2b2ca22d618eee84666846d87f113faf8c0afb21bb9ce3d7d472dc24b952836d8150f75165556e9c4e149576192a5587ecedaaf436c37a133c7266c35f46ae26e5337c91cd13ff7326c8cae7c65eb2861ee6dffd0902ba6d40727951ea452f0f9e38e1150e015de9e08eee9f38e23a22ffc98f3bf34926f434720fb321de8825faa9f8e4f7cb47c56668d16ef4cf13cbf5fca1e21ab23fcec472fa693c7b1981bc77614dc602e25153a22530e2dc299823d02ca9b36b3dfea972d9b06e7bb28d9c76f74c9ba686de16b99f3a69552f7655bf54cc0b207fdece69c0473ec87b0929dabd43733045e123b76c247e4935640b8f89295deace3af80202e484879aaf14a256d865fb05077847d118f395c90cc79e3edb8a48d39c7e722e0fdfbfc985804a21253f57de8227166af46ae7a025ed647419e956538f8316e67d2a98376bac56497c97ccc85d1c0bd86c2e3e30d2b18ad7a74022448b231d497ff727389c8788f4ac37ad6f03489ed628453642e7a9cda931ba24657c99722ae34735ce362186fe118a8f7c608c5a0a92e8d4fe28b9974894bd729e6b796132e698d84bbb1a767831c39b7fe6f07a360e64302cd4dc903229b216c9bab77289f88b997d9c70374fd6e80ee395f042c180f40eda7d23405bf13cf6fb92a2721d9c7ea71726c1ba32ce3f93d2db19e97220819f9041513190f6c8bf15b6df723587d6a93612239c155a30bbd58700db24821d018c4b13630d5847d408d79f0f4152cc32f8ec2f3a5f9b238caee809c283510237732a026e00723400c5b4547229966577fcf4e2ca97e4e082ee361f8c0237674ca49c3ada6e178ba03a0c96724be194d05acb20f62dccc31f6c6f5c8b34a96f228cac4f99a51bec5bd17b8e4e955403b25052578bbda19bf8bd86015f4f134c4b711ae7dbeca5ce1cecf88c72438502e1879ac0ac9ff17588127e11415bd5a5e5c272d8125a0db8c931ae1d0f4041a5dbed693cc2e341836d183b86121813b7d2dc1806dcb8e9811e2d7226728856228d482a8fef96f7873dea2b50063e8b858f94fbf28140a8311c2ece1e2f2f7a801c4129de953b6b58c9b837db80bf073515b7b8a6a7b919858f7b62e9563bc00eb1456f94730d3366a26510e3a882f30e34075212aa5e58a96a50de7531cb7bfc70e6d2b80129917c1baa9446f1fc680014d17e021c6dabe23e3d35bc72d4cc2f1957db58dd4e0d37a3bdbd3a861f274380896473e76b6fffffe8661f293f74386cb11421250dce28edaafaa8ac5d6620f2a43711d3e88c8a49655b4772b9c2169e76a0aca370f852a0a5a7d269e672d77fc9286d7d87abc08d3040fb0829979720ee9c785d1739d71a7f59f9177685af24727766d18f23f29db6559a0684dc4d008691739dd003bfb0e480e923e5bf0ba27e4b84e393f9cafaae727b729d55b2ff5543022bbf7d0425a1aef259adc898647df0f05528e47f4f915ff86bb71908ca716367f18dae352d947d7bb4820599e67a1ad5b56f901abebbd743728c481484a37ffc837094ed3711cd439f72d89e5f0db921e212357974076d3372e236ec4fb739167d8807edc75adc519e61b3b8033e7abf24cf51d44f2879f2728c2d8334178bd551604144f460a86cc8f66625bf7da3708a83ded8b61bd5dc305e2be94e5da0059211e13e3e0bd95f15bd4782367b31dc89b8cc25b68ddea13db9ce116ab3666a8e5892f65bdaf126c9453b6bd666e3756c034c199815093e72f337d6970f2dcfbe56ff436cd90fca92af4aae06a06e810a62be8e159cfc3b72f5e1c9d80091791d53dd884bfe85b3e37130c468f350865f4006249505967c7256f893149d3c6060c3526362276eb736f7ad62a1aec919b5e6db3c6b03a05a721b1ba00a5aaa13aee5fd16a63aeefc136e631e372dca3348ba2137252159697206c2f9948ea7949095e9ffd9837904abfd61f8025dfbbfa52fc062fc158d2b6d7597ff4f59fce8f2baecd71a667a7237c6e7a5b1c4909919abac4b5c0f0cae72b9795772e916942d8b6bdd9ca8af9715edb99659845b1f4e37095279e10a02725a355acefae0c338b70bc930e1b5ae646fef538841836164a3e684ce01180b7237568568bcc6fedae63d2353e2d8e0bcf4358cfe36a01f41a3a56e1622067c2d21514ef906ada7b0499cdba4b178de40edbe9171f361772e84e68e7e12986072d039b6acfea97e206ae8401a3196fef843c18bcb09f6e3a1ed04ab6962c39c7288f1c5014e810e333997239a245bb899b7eda08f307eafd279299657c19fce2b4573008cdf121ff0693f995721e129f5fec43b62ee47b3ef0571dbfbfffe4408226d652b44f6912e90acf3d8e5563b271f83a518f4a720f1a3fe768c4d98f4722f3d49aae3b670c1d213ff03c692536e2d3f180e6036d2158798429e179e4c72de89395185c1f09f88e3aa21f4d3f7990e245749db873706961e3c1b2a26bf4f68aa1583c9d4770b525012a7f9c1aeae584370aaae282cc51cdb59b74684a5727a8248416dec9092a363c0dbaef9f1f5ebe9861a12565a52a1dd9a930bb98d723e485f1c07f14b23a1ae1d3abe5bd49636f3b60f46c738f1f48c2575c7337f6f8e6dcc4c1a3c0136bfa92ed93f80feef7282c4bd37bd25282cae053fa346c672247a6869a4c75329f479e13c66f62b982e313bdd72f11b5ea340200628d6b569d5c44f07ea834f54049c38408b4f255d5202b0f55c667d73292592f72b678a6473c1d4a69af5c81200d92dc1cb53a8893133c1734ea2f181d87f4b7e88e6973aab5472e6454a1bb92bcc9a5b6d8208668e5c905762422c651c96f9e3c013cb6eb26898b5c4bbbbf41665ab9ddbc4e5253e4fa8809d25b58a302ac6cfcff7c1267fae59ae97a5825587f1f0188c6138de4590ba6511232f89054549738e234872b8f08b6b9571359536d4ea2e753c25418fe3c68ccf73a85344175b5d9755177215f6c809b882dc2d3fb4ed7bb6f4cca4209b431540dd240eb08b7fd2c5d05372b7738a9e51b10589c5920f920da4d2b4e0f309b267ec2c70a69e077379aaed717df63d4f446de3b697024ba6d3786573dfb8d6764bd4e94e736b16e82b213c7289f93fab09c568c3b77962a617ff99ee4d3b08d8552fedfc90865d4279bc870980ec7a88c54a8706babd1c50577d9643aebfb562f91d01ea3ea1c473b0ca2b7280cf78bf416f1e9b22ee7893d62fb1405c22bcd48d927375c6290d342d8f173f6f53215e2c704a130a2043833dddfd1eb581c62c4b2e2fde3716da1bffbb537260f71b045e26f1aac824f095346384c87bcac0d69c6fa2625a010d6393095e728eb48e1409ac416f405e7e7ddbdcb9db0f9d3b3774ce81acd67e7a84fcbada72b6abc67e8d7247567ac6f34407b5e38e128b8da4a8dccff751d3974fed7c2b3a29fa5e100c09837ef58280f022b02c74c9592fdc7b0ce9fb9752090fa6f798727494ea1f88be70d44ba4c5a2ccc6f24db878072b87377e77e1ad6dfd3604bf44272fc56f360482e39b8efc8c631ed2237c68cf3fc0003030e0f8850989892829af36d83ad5dec23c70b10a738194bd3a240c3aad72db260a922b6fd774de582f7f46f28df6cce10bd55fcfe7ac7af76ccb1e018b049a31484e151c5de1f5193f31e5a37fee9ae01b7b2ab665abb4eb6aaa9b28c691fedda555c2caca68b16840bc41a35e8537681f095ac13365e00217de8d902ead5834d5aac84d3f1a7d0f72b9fe2cffb46ba7a44520f2b19f62ffbe4534a75cd70da6c76fa423d8015e1572a31e8afdf2ad916ef17f5e3f4d0a3c2d19539242e515fa5b0736b90cfd9ce172105330ca89d94d92e7d4bf804c292d7e52129d0f0262940eaacad003946e142646f50adbd5269bf83ac501ba2339a9214dae5825855826dd1e7a2ab7c9f12e724fb19e69cf5786e04712e9dc9c4922b4ca1a43afa38d3f50c3871eec5736057292a97886d2f5831f28417a7ce08aaa21c42f9f90c4461b76fe688f31846e563a7ccba87eb0d0ad82459a1c035de34bffaa79f4ee072014b6f9e3f29af19f3504537e62a89fa3de54355a088eb1c6c5d044b54a871c2b44a29bdd2fcbf3257146db3f96fe7e754b9586979d4e3121014a2cf5c32fe2f6f6a28371a64d86ffc4726f5174d84ff281e1eee4c90c4b2abf9111b38516c605cdf49cc711b1be2a03723defa7010114c16dca2f74f8039fbcb2f07f0eba7e4bcec8a6da06bab13e1841ebfc6241f25f77b87a16656acfef0b5458e6dbf8a651b4a2a20dd86ffffe8572338e97d7b67229e85e5c54e7f3f6af4e4a03f702da9a10b3bc3ad63b4c4999729bb064eb6b1031ad0eccae694871256ba4c98a8355666f9c1ff55e6cf0f62447aaba7f00d416e93d75180d42f713da040e42445cbba3cefea4ee697b1048d072750b93dc95cce617d237b1058af87d00ece0fe5227089e757cb5c5a80daf723b2612fc4490d8fc2b66174c49eb5ef4096413aaa9a55c55f11f9b06f9f2f74c3f30705bb31ce834708c525b4c1a8d30a2601cff37b5f7f00f264d3833f614997249ff9e0d33d9bb0226e7e8d5af2b842c1e3906f5f439dca040a8264b4578d572d03eb8c97bd6d4d23d53b79a75c8601f1bee0617b0ba95bc13b51e2a9ffa97724379620fd499380881ce19ba20d7ee1e94c0d931555c1d84901802c6f2b620320f4adb37150c90ba7c6a692dd0a8aa10313338f6d0ffa8163ed676fc1cf610104d40efbd370e71176d053161fedb0d56799d9a64729855afb89d4feb063d594fa3833aab2062d15c439314e96b18ea4f6f44001e57ea8bc3716937c2ac7c1362dbe38cea0d539e312c8448c6229153aa89be11a5229c52a9c59c1ef7d7316772bdd220d717b9bc946fa2343b414937382d0bd2bae0f34ab9e6bc4e5d465c42485a44a0c1a09de6070349d049e65a2dd5cfeb2ea5a5e010511a5152a57ea0a43efd0b638792f3ea79fd862656fdb5519b26246ea58ff41b9e8329fc46e9dcf25f195400c68be177dbda61fac4fdc71ccbf1d0095542494a67ecdf4299061d7c5f7f6576af80501de5991dd12cd34e099c32f84e10e35f7ec0d64acfdd84d65872ee74a4aa51b1baa1e393cfc6c57d49494b62b3ca30c8de0ce2edf7fc61523a3089a5c36098020ad0591ae7c9d1338387adf086e72def31c6fe7afe2fbb1fe421c015504bdfc0b30e61b555016e011eaa5ce5770b2e10ff10150641e39ac62f72f882c1e91e98fe9f89a4db167c8d4a3e2b489a680fef0d65d3803f426f6bb76fe34f26bd5027ee12f663ac09d35537e60ee3c6a902faa82a8aee7819471322722ae290a2055b18586ea882075460096a86dd9038f12a56ab85a65fee18341f0a5e9bece22a85995feef13a6363e0de24a5869d00a2952271def2ef0b9e1c27726ad11c4f19f8de6b0786ae6092159903d5dd1f67705af59f917897acf9239c72bb4a92d090aa2d628c8631d074f0cd40f2d8e1640ed3d4cc0bd2c795b3a046303dd6a28853503e2eb5798a5603ccbfe180476aaf649f962e40e32b816bd03472a28faba9b4a1b67079726e7b05f2aaae77ee876c2b8170a7182db6f87ab42d72b27af1e741f953b4ac27bf4ea68a4dc2641e168401a15a8502fb68b66249b77222dfd02685dd9a28131d1d119984446d8444689ed995cabb0946cce2fd80952d83bd6c8ab05a0752414460df8405856f96f7e486d1bfa748444c8a951b077272195cc9c7be3c29d02dd489624aea9b1d54c2cfbf5b5417bd6896c28201de5206d9dd70ef676a1ba84eab46222ebd01166e3298b0c7d4a8b166b30362e8c64808978f81f0e967240fee736848b66ce99ffab42c6253228bde1eb596b521f76e0056e4d8ecc49a54663a5c30bb850d1db07c892738aae7a0813ac36118029a9b6212f41972d62828ed94741c1019684b30510876d1c850ba8d75a1d347f93cf9728c0f89b20addb1bcadd8ea2ceb46dfa6a9d45f0ec3edc48e15427c74f8fe3b34b56d24d0e8169abbf10f3ef819c83f39285fe2819ccc039e5a1d849d48396c119269958785ca231bd19fa0809ff72f37ba822fa96cc3c93e026476b309286728cc611d878334b077533c6b49a96fc504c77ba71387a21927c65f03f8c100ba0e32668cd2bf4f36fb0e338614eb2ee9fa17c0fe2e359851a87cb500bd0485177209d1fba39e5a6f26410b8db24e6c82908738e705ad064c2384cb23a2d7940a72d51d965ba0fff08ec872391caf2150e5d7fc283e6a5b56ee881f358347406d72851448593cedd75cd44f36ba2a3a9202391861bba10546bbbeeb9f7809eda76109d1b17585f3927213e4682ea987d503773077a310ea53fcb52eb5b461b78e0e8859e6cd3793b0bea6f66cfa1544bf8bfc04aeba267bf63fb8ed1edaae0c4a5a1dff19c494052b56cb0397334fde265ad3563394df7ca130c6044ebac2e0f01d01aaed90c8560b9ef1ebaa0399095f5a5773c6266b5d7b871ab8a8e8a9eee92f11b2e4447b08117b0323d97d8069b307980a5a2ff2b7b33d58e356f01c70c47298b97c9be4f50a43156529b64446171c25eced19fa818357afd865aa6ff43c34b187c50abb487f08f7939bbc655826a92320b55fe04a0e4c8dec75b6e2cbb172c1a4aff1458db13165dc1279f148a7b92d2f5a9ed6bc5d0e421c9902acd7f82f5beb24b61a66db84af3363fa4678903f41919172973512dace994dc1ac0aa77275155f019bb22d8c564ea885349377a556fc981406a49d7cae7ab6be66d169254ef855ea388d710c110c5964a40fb88c37520605ca3037f83fd75f0000b5284f52d3e5d2614480378d9fb7f046916fcfee4a1bdb2dfba8b749770a87532fc37203d31f2baea5597c3bf431591b1046abe791d1a4001d4b486cfa5a11080fea1d01a76abd440ffbf2f0a5d6f481db39375061668df6f13912b8f214531c7c227276a41dff13dd00d1b0cbedec83e1abbaf3c94b93bcc864deb13d0e37290cd42892bf6491cf0bb28c8e6b0f4765fcbcb1ee1cc325bab598b1caf1f62d41445e72022552159a696c673568102bf721fc8b45e58041795cdcc317a4fd9de97b266990ba16abf64cf2a8a10dd851812c1382d32c94b933b519fcf98ad480ab887b7293726b92ec48afe5ff279e960d78d87bb31d16cec691ee063985f389eb87d272cb1b43eb715de18cd0addae0b8e8eee045510e5605544a42a8729238be02cd72d5d4d3b1358f848ccc6350c2a51f593d14e6d32b68644f6ed1ba702e3483be728112b9ccf0bdbcdb33d620cbb7ba4e2ddfd1fe1b1309b0919ff30ad912eb82721ee4d03dac6e5513e07d9300412d84e854a1029cf0a5eb49a1564155bf00fc6aedd99d3842bd7c70dd545d2bee1a31a6d75137731cb9bed2bbb1fe89cd686872043a8495755dd0174bea4c639c6023320fab50b92e09d753b40b38276ab7e772b5b6bce7aa757e6e86feb3af7cd3852cfeb10e0e7cb6e781b19a2e1e8ccc19728ff6ffd4fe2be21cf23294b898485cab848e8ba0dc6c59d9ef9104e765731672c8a4a36a9885dc9b21a7c0de6909b8696f3ff23d7842ffde1d40877503519c72e7ec3f284687fa5b7f9134e142032f4cd9cca4faa0b30c07540d5062b7a8a9727d9478f52b96252381948da7d2537a44608c99f0119974e7b9015da2b0155072e66dfb0bffe3eeefd930bee054b0cc7f7bc370b1e1e0642340030101c9b6fd04aefbe5d400abecc135f24fba912a63884b2441e27009c1f9530cf7fecde70e3039c550aa074a1af195b268646d33c09e4f1a550973a48bf23c9f3c72310961726d301e5f60739a7d73364439692d8d337e65ee1cbbd9430882144c7eb45d3272146ef64ff2d571e3bb263f67404637cf830feae9e8de13145ed71814a303b272c61a583993aee2264709cc3ed1c845e256282ea780b5bbd496ead554213c2f7257eac938f2ad39421b9e6c2c70762ca53ddcba001771e4564b0001c9844a0f72e06f2b9724b6346ccc7dad5ca5d6d718404bb49e61df05e1e8fa84d65e4db9640e9dde2db9694d4ce7b355c6b291474f3f34bc46d86130f7ab69a030f3924b3be279add16fb3d4b09c58d87e784d0b5a86b6630563c10193aa01319a30e4e31a1feddadb1f020a430b262af1bf65cb5d9e436a61cab608c458f1405b5c10930bf8899286142f42372a7345921ca4dda2c16a5bcadc1e8fd0b67b0a4c5c29907250ae20842fe94afcd5ec3c19de8765d6707e621ef9de3afff6315b2bebf63f728ad6446415d945c68549b7a5634ddbf7e089c829daee5af2c60f6bd06a870e12a6565999c31c45dfbb00caf95602711172495bb1a32ecccddb578d19b350f172571d007d4cd9a072d8cd36ec89cb4cdf5701c2abebb5383acd7155c1882f2f367cc436b8185a09148422207a804ff7dacd9a944831f83623e4e48019d10a6e725b10d66ee2ce9610509f1f967c2e42f63129b64abeb2ee32311aad60aec34f4f867aeab704c245f1a1920dfba7366717cff02394b9a391a6aa5706f7681b6520231e4ed7cd016720c18d38c74b48985fee918dbe258858f54e0c7c39b6123c72ec4d964e1419295fae911ac513b71b7122e724e7bf7dc610a55b714f7d72a4726b0c5def28d5d7ec4d5a9850b798d0223d7fc5f241dd3821b1025e1a8d2f1d6218031fd1cec5d9d825c32bfd2027522e75dd8491680852faa9fc7d08d09ed76d8b2d3e71df73b26f0d866c354cc5ad307a48d71cb81f62e531bf9152b4821772f8310527e6b0f6628375f222b3decce0d33d2822700dfe914dd6526e09f2e5725d6fb8e5eab15380affdd8013beb09d392f078d43f562fe5374878c1f61361197eff5799bfa98cc93d1f2f14792cf532eae59f45a9109e0c253f503fa45587191f1de64662bd60ed896ff77ea0dd421f948e224931ae817383413de1153a50721c0810e6759b072381ec1eca2e614278469be9192fa6fe33996565850bc4f6013ebb54d56870c3d2c19fa0585ab2ff9754fc4aac81ba35b4de36458765a93e2754623e11e0feb5764a127c58faf839d2aac84250bdb08c7b0bb3b4c850a07772e4e4c11cc6b124ffa35e3c70e12783bbe462d98724e1fb4da7b2c93cbc23577260b30be72426a5f4ffc63670ecc08d1bbbeae8aad9a8942f092f6030fdae337270d3b2db18729cc9297b66202b6210e7951cc9142e97239f01e494f6872394724671decbb3db9aecce9c6524b44a524021be5adb49df1276b97c96128613fc582f6a1466869390f1584648ea1a491516b6109cdb07ae7ebdb69fa2b1cd2b746a55309dd7732e1746c18f2fd725dcfc65d65ec9609db3a91f32a6b6d6fe8e6e699226a8fd9738fa7123c8f07bec186729df97430fe70a755de8bcbae241c94572b9a9c4d546a0f31397c4934e57f17f49c0b844e4a90bd57105664ef7b2c7aa724e2f939531f645ab115fb3016132a57444fe5e5f9ac01b676b7abeb44ae50e720e54f69e12d6ecd376167f7c61824d7446f3653875a066a652fa4986b76a9c7232a735d09fc6c44c9596f9a87d2abefbaf5f82b162bd4f86e06b09d736e013725b4e6422afef09ee8a9e208e801bb52356ac846a94311e14c42229829c3bf26e358e50f81ee59092451b5f3f8eb8f187c3abad7deaef55489f018ea1a88b9101e1f63f3c9c33843349a4f7b56be879c96bb153a0d3b9bb73842f1b6476a9a52aa8e6d50723ac34a5f0d91534b307caf5173d78164352467a8bd52055b2cc63724444ca2cb0edb8c40b2e5f17f2a834edf294d5b4a77c1f6780ed552af0824f72605ce04743bb18643afdbe702df140c974a820f1d8d87373f53b48392de9f472ab7e63fa1092d159895581f74a572c0004ec73d6ba13804c559d7bb14d14e27238ed319b37a6f6b79c3cdccf933b8a213fc8823bd9047ba71facea8563df2c0c901902d6d44dc61602b28cfb8284c7a82e38f3128b5436b09d9d4ef6cc8bbc72b09624bf405b7e6171f9a4c4c2fd1a61da6a4bd7a599dca98e2bb510f0d57b39168a941d323734621cec73bcb98ebaada12464e3bf9ffb7f37fd773c6cc17e728620278b90883f1556b3c1f8dea9af522351c3436f5e49cc4c68817bd94f9372cb10a69a0b9ec326727a18025051e0e79d9fa44c634fa52267f80015d000cb07717348eabc5c45c04775971b0366ac3210137a8cb64b14e6d2211b208b5ea1721cca973b2f2d8c3f9bc078f65b348ebc9911002a041338f085792d8f7e987172a8a2d67f3156f42c7ff98ff0e374d2f74f2875e686d15c36b4f265f943b311051cfd50bf73d528458897504061961008975410ebdf6c40ff47685d8a52da10726cb07cb5bdbe841753a4b9858e864a2ad487ea76b2a1cb29b3bd344f92adb52997ba78227869fcb19a8d4a7d16fc29f1a484d9c9a8ec1bc5bd6bb70ef68e8072570d5ed4bcf816667b82b5a445f50591ce60b1b9e36b7aeb4f27f0759929c07233076283c81b6424912b7b3594e2b824c4ce30d198c3bef0a7a0b1e7d9e0d872a14d1d8e6322019c934a8bff2e2078ef0db6b14f4b0affe197c55613ae513e7247e5f9806959f9ae036e20d5f1adc831d3bfc6d94ce11131df2c5f522c5fa572157731af8df40fa980003fad3fe4e8b725ada3d807dc92362552c87ae043a6728ef122a9d9f1835e52d9c9fca63c156a29abd7dbbead3ceff7842180bfb48353966ee15b7b39de44fc38ad9dc2c2a881460cb88c8a834ccd0b75489e504f9e4ec5b2d2d3a0e6e815624b10bf5f797a4995bc8d028c8276774c9d54a9e23c797265c2b5ef25b18cc756b5d35d0ddb0423f0c43bd64c9fdb7634612eac3a409c72b9c456cbd5a733326576965142f88f9625a0f2b23b3f915cefd7be2e3cbb7572a83142e27913a84d87d0c9c1113f793ba07ab9d45ad33959f84c186cdbcfe4727de11d0b20a791ff47d75a3af4a130a30abd0703fbb9aeb8842c5a72996df00833f688e9553ada1332286ffec4c1b817616d2dcb6c3ffa72b5667768d27d0e4077d6fe2276aa4b743e53be3b22645242d04125f02687646ac74d2f1550dab9725fb4978d801f45212564924b7345a6f515363cf52e8ff54f4aee5aa864788572af31e907b237df6231417a5aee11ec4d24723413585e0ae4c8ab19ab6cafd332b13d36c5d951591812d616de3bf71cba224f9f0c5d51992359d9b1d745e76945ddfe18a57338e875052c20916d2e670949dc788cb51167cfbd0ff33b7c94320f3704c4f2a9f11b0db05b6d84cdde90af03a02f325712fcafd3dead160d2b267251f072d6e950049a5427a7fda7f70aed6554b38b62415d9977ea599e643afc72554423cb3cca5dcc03f3ca836118b2ec32b3cb5adaba7ce175a4e7e63a994f7230f41f6faf2a96bc2aa4ee041bb94a04154d6e1a0476aa7af3e7e95bad320a0410d01379b2166ca9fc3f86ae8f3f5b8ff992cfb84d5404d0ad70db3df7389b72f30f3a9607452eb4b3d91fc2ba35d8fffedca73297c6753567e3e5f9dcfc90724366a5c9d5394c3234ba157e2f618970a4e9d2eb2c54c5508319e4891cc7a172ef292c813a205cf8a86a48359850e8d2dcd4de28939e110db821b7c1528ce32f149231ce0439075000faa9e23c82203df4108378229c1685ba865f0bb90a5d649bd675cc851681c2dd592fa83dbabbc07ce5d01160564134b5cf3f81de93c0002db30298f3331bd6fb1503e2ea6c95de023b13fe5175a2d650f3bc295af7c1727a8e09591f073e351928de895462247cfabaaeab7e8511d7aeaf08a265bb4472dd40efedc487b255a65b9b99f7810e7e23d84b827549500a43150d0901c93d72efb9ba4dcdf7164619b763fe2094befb0dfec839608c8bca285fce793652ec166e5b561aea67555f7881f5ea2126229803a05d5c502646d80d740338c51924722b998e1960bec11b2400028d538bc733cc999dc9f33b5dd90182c5c3b1b173726a01d599369826be0e41dc12342b6b3916c5c85612aa3eaaa80990775faacb7246c0a42e8cf672e058aecc387923750a3ff26f2345e11d86a7999f6e37b11402f31976ae8a8969d96ce76a9d0debbe7bc3a8bb5210f380477ef92b2202a3f6540d608307515b9d434ac934a5c418ee9b3d8918d87ee7ab58adb3fb3f933d9572f43ffad1ce3607dfa3f9b382576d3e2d71fc6f80e257bc671eaf204677a5cf14d37246cf59618679d4055f7241317bc1c6afa577255532ec33ae3e6641b208574aa10b47f9c9767ad01b54934c152fd8d5a92275ecb51471079350a33f779772fca77a44404d23e195e3fef739e27124850472c468575a17d70d8d604df53c22c104bac78df31d2466e098ef40a863e69cfd0a9599efce8927a825dd0152437209b6df58604cd4ce95f1143ce0ad15ab20c987952dfac0e499ca1bde7e5bea721267167abdd58f4b0ad040197ce138c5de402548ab43901f68df47dbcbb5bc72faaec3be713cf703f64345765d06b5bb554a94c7b2c3ee175f19ee3430a1852ff70191bb80a1a3303dd81e4e80948f3e8892121874950bbfb71690ad39d7c14f0027e9395fff2802d5e664b976e57a45ef0a217f743c84eed025fb8d6a70c90b3e2c9c299e4796aa9cf73489e708e9e0ed2612d59b168b8e59ff7593036e71723711aa7e03143668e16b93d89b5ed51cf7c783d12d8716af35f7504f41534914d2a69ef902a172fe2192eadac4a6f0efdafc38468b76ba7b003f752c3631bd081dceeb1687de1175bac9a60fbdafe49196cc4bdfe97cd74fa76e36f2a2b280025d74b0292baf92c0a1a419cdeeee23336f9b84408740bca2233a1c9440107e27a50e89fac4b9236366c9ba1246ceeedecb3ed8b589e34ca77b047276fdd72d723eb763ace885c401a4ebd0371bb9883a892ac87d15e6acba636612c45467e0720ea473d96f5172209d22269833e86da55fc4adea8ba7dbb126ae02a82c06422e58806cfc277c6ee19607ae4df7b229e8f63d96b61f4c973424c31b6c6c03af72d5ca878ecc9ea1404e6fef3ebd3847ffff6860334f14fa878d8b939ad236a172185a4d62901b3fd15196c168f209b78b957fdb769ebbe45ee6e9c40c7dfccc72cf239509dec3a09e3460927f1b786c17138a6a43a000dc287724fe76a80b7754a69b55c1040e913b9c7b68771fbae4bfb3f985c34daa91b107d6e4baf85bcc720d33b97f44efed789b8ca6320f1f256ef11c4ddea8afadbefb3d6167b0ae0e720a734656a0bd2bbcd056d513c7990855475b87e8d82956efc9ed76a8da857e1424346d3d7463b3b67ba2c440bf99318a8054885f8ddc1497421f613b73169b7255a5b4c83aba04f78e0b9fb892e0d598cd251ce1c9d8feec301b3f2694910b4fb5c082f0b3455f85ffb3a40976d52237df11d9225fd02a9b82240d8672ed0372895d839f8b76ca4f5b121f8a8ea8c8fb6f0f3a702253b59691459c96e52f22279aaba6acf9cc1ae3d9a70641a188cb0ba416c8f656ee47081f50a10bf8f8f63c6527ea3e2e667dd296c60d64f0ef2f928498e3d1f9a8625705b715d92653fc371b0c3987df61b386b2c53726cd2fe79f198fdd55e38250b731c939093b507e0e729dd86e1504ea63882c601f9adbf28feadb4909307e8ca0012f8f089beee7722b8a2525fac6201c7de5608477dedefe6312c25e353ae638251398cb159757723e9d15e729f8a6dabdb9cff4f765dda5194ab5f9ef2635a4d53d2f2ef49dff725005dffb2c1a0d8698b3baf85d6331343283ffc514f53f1134780f9898155e23ac0cf22001c6cf6ea714cb961b01982a3a694f6a4ea167d2cf55fb55c2c301435273d8f16686a4c6b874c581e3a5dfd39c414d005c858ada112eac7e4d390c72959d97d8c038483f5f89092b55034f4e3f636757442452d5c1b483e91345af725e8ae7d331acf1def6063560186e8ab7c74df84033de0f6e73fe3fdd27e300727b1bf7241b83dc1ae5bc7080cade2fe85d15c4e154f9575b115e1474c9e2431158f9394a949e37d151e69e23bd2698f110e95186d8292a5cd6fd85eb31363a72035b776a31ebaeb63c079b63232e90266c5c738d78aee342161684a6afbc7946ef042ab5893440ed653fca13c6e0b5791383199a71afc2ef7ba67fd274754972d533effc30d5786479adb521ffa5ceab5565d86a320aabd3002bd99065bdd2375c77ad705e819d1944ede10ee2854d320154e39971842e4b65783830f1cec5720fde5813a42120324509d8219a498e5c708f59a820551c30685be903938ac3727d2451df9a28e768324ef2e4ca0d7bd5e48ac31ab3237efc98a54bee123c5449327691d9148a5c99e56520bca32d80b1e50cec99657e29d7325cfe4172695411b53cee3cd320cbb446dea3df185fdcf626644321998cf9965637236c0104c15a6bfa50a329bdd92523bf1f7b11f4664dd75a32dad02948e61331152dbd942e7225f650d1028fb09c1b4f68e9e866670aef52f90f303a01969bc600161dff782f2b191ad53d59483fd56bb90fbe360c11c65d42f20227f506d94547383161787276a7dbfd5aaced28fcfae0b4ed6b921332b78720bcbe1cc2f94025781baecf5e15c41fb9efd1713b950f8b304628902ae2e608c33445cb307636a19d6479f3729695a434cb23d29231a72bd8afd3ecef48e54dacb71ef6dcfcd8f44e8757016397fb14395ce831a0b0d6534754753b6141e3e7d4e254d0a46d8064e7dec47b720ac73cca887fb6cc66244b7fce61750026c19cba71d954da8fc075265233a8265e7a854ec785f550781370cec1aaf268e13f9a1d71cbb2f6d05ef161b5b08a72d06d50b4e6dbc66c9981d90ecd7fa0ae3ecd81631b1533d840432c765902e733b84ac1ae3a32d0213ed3bd891e010cc0f09fe641aa0dd23e83f31fec268930729644527ef354640a0122673cd29ba9678122ef6558b226c873dacf6840c02a72c1428f3383bed3a61efb57e67f22933a385ba38c911b2bc77a1033151a9c1172bc5359ecceebfb33665ceafd6f185d085dddfdd42545e7c60b6e4d0ed8eb0572c5e4574076ccdd82848e8655a1a284ecf9b86100373bd8f9a2d9fdfe9cd79850242f46d607ed38bd04b2f6457055a896d16ec95902997a025eba582148b61a72da4281ccb9a72dc6777219e6681ad618a2434c099aacdce50b6741f46ad697725572fdab791944b523e54cfd7e29331c3ea560dc77b6450fd3d4d6872342db3cd5c21dbff9411bda424d264d80960dc2dc72849a0ba4d7a0a5f338d17e38ec722de2fd4a02996b64add3665080edbaef88a4a4e1bf6b1b2606e950da8354d40a011e772fa3a3dcd7ac8d6f3db368e6928910921e23e751cb3a6e0df5c2c6d63ac0108dcf7ff0a2877e0157c3559d673005e1ea7bb3d30be26ff7b4028134be729dadb46bdd128bc68e5e05722be2528a8f2c432b798a63d92d91e07e326e2372ad68cef10b5ba10ac0d7fd63f8ad707d0dd2457be9e38e57c2366e8db0a683728d06f285d80c046224da71be4c9f1b5b3006acc424be1435736525a4c73c5b7227e58f8f4e954e5d0c7f87ff794d5dc053c3edc8ac9b4bdbeb3fb66f7fea70059dbf63c834e09f8b340c59873e0a8fae581c86f387f320b9e67f5dce08296172734c331695791d77b4f97c60c41e8842b20da1fc882b9a8b341d4016e45b793e056e9eb56af773980f56adaccf6af4e4ad1c6ebf801b8723f71c25264b325372d6fc97b2cd4d1cc8520c476d5348ef9efcdcc1d6d2e7838208c8acdfbc0ecb60a2bf3a1c592f91b8732322bae7345c66ab3f6fcd89453aa2c9e3e2d006586472beaeacc3e6fe3a29949b98752a5333ce0f3f6122bf2154cdb57c6f47d3dfc972746ec45fc8619a82d3c540eeec95766b9a4681b148ef3f1ebcf20baa11909f72e159a6c4f4443b5d1f8afc2f229f05bafa2df6329e2bd807e8e6d6754fdbf20256e446e3e19d1dd3dbac853a434893c0a6d695468553510991bdbb02660b53722b8d7fd4859be761cddd382726efebfc9d783d02c41ffa89b27ad99d34a6627203a5faf195b80074141bb0c00b7acb53ec7303013b4817ec798c83611e26eb1fc331f081e96176d69b7eb7679bb810d5c3710cfc982ded6d684802322eb975722a349e8acc4dec4c94c58b67238d7c8093519178ec78dd17ef175dd035b62d72394fd8191ad714324dc466230192c327f070248e054ec9599833b8819f10346d9322c1ff3c62761f58cd28fca65e18b10ef8e20d9a589351b14b3af1d526207238c2a10f7970b0910de2a6631694e1a2d68ac0269fc5fbc4b85c1d63f201b672bb018ab37a7e48ff593fab1d5d9f7ebdfc18262ae9fe770e3091f699bbf89d7252bcade98534188c96ce2dbd8f54fccef887c5f168ed9c500cc940e05da8bc728f04229919df9cc33514279f14cc942915fab1822b391322eb837a723c7502724d18b896b894d66694dfc576caa963b73d904051826561fd106a3258a03a1772cd6cfe7a7bd7b6df0dd8466840f4c47c68972a98428e8629844281d71a67ab72d661ce234bc262010d44f3b31285a6e48bc729fc935ee3a026652b7faf33636e0c73c9a774edb81ca101b64becd30fa6154bdb714d1042b78dcc3e7868cc8864fd832c02a2997d98e8f5948759752bc925659e2b6723b28e148d5ead84609619ef4dd915cff9f61cb3bfbc82e691bbf4d517709d8485f0e9b649f9731a6fba2341367f4942dd7a8f297cb74e57690af9ca308daf78b71d3463083acf3d9be67261818b6767c3267946f1549ba2a3de00f38ff954a38f9061554c306f47ddc442d597abbfc2bcd6953b582d27817c261855281df58cfb45426e1261448acba4721b0fc8bfee5ec575daeecc0e1812ae0623cbfba74a760256607f85f55de3e8536dee4224a219284c101cf3dae5a715d9260a9a28660124f951945635c5cbda4179ede6d8238df2932373e032754338855bf6a0432d3f849e01e91af579b754722c80494ceaac96ffad5fc9a7985a0acb339a3bca81360fd79e9221fdbc86ca51ffa8c1a2580ed95ec13a46d920869e0fad0b0bc3e051975363a07fa393d1d9729213e14bf9d8be384f1675e49d07bad25d80bb02d50d28e1c71cd6ebfb87e05e2dd02aea43afce53622d6e80b419c9f16420cbd3c64353f420b9abb68b4371722e08f18d980abbd29759c0c3d34fb5a0e99565dbb3f1df07cf3cd434915cab3b461295c2874b4d750dd35024a35518eb3188cbdc903bc7c7004b6cc0c2356d72ce012adcb4c9f7deb7781e30f195878d8b7b0aa643d6dc5f18a1cce519399f00499d5487bd1749ebd8318c04aa92bdf6ea02a9d04f2f6969a6336d073de69272065ccf07e6f4c129cebf5614dd8a331e7abae64b180f12757344141e0c139049e1eb6bdb1215755c17b0a0a918a858bce6fc6d1b2c3daba60d99284b9384b6297afedcb06bf744ecc6311e0ae3711d76f9e7b34759030eb2e67cef5fb3df7572cc60e43ff46890e014128c2b0e6012ce81c1773ac4499e470c6263262bddf55c00c82ba7e0dfecfe700b86d305ca5eb47077d1d44cee5ad2a707acc48f06817248009c013718dc80dcc291fbfa9969742dec938a094c871cb1be9e06bb34ee1f75ae9e5e76686961d32275097b93a5dffa0577a48af66b0c10d781b89679ce2f3864a8e73b4b0a76341521a37c754c06574323a69d69d8f6ce5b7ecf3cad4842661f93ae4c6920683101f192e70a3c2b582c256d3a8dde0327bb52bd1dfa9972495fa0240f69c0402ab08c11ed8d32b0e9b262fb00b55376e75547d97290a6722d84763ec13711dfa300f687846c93c69e8c825b60a803d2570f702430746a1a62a384a87c416d7a8887299c2244f1c93345228cffdb1b2c356d5fe782e5672da5543b6f196b902bc15adc757f4a230c4f9a1834a12f04459ba8f069d830cc72a028d32cba51ab239e1e3820cbb305da32fa73f0ae2427203d9dd28c5d623d729575f77a84d0030acbc235cd05214d484aec7346a7b5887883d84456c9b25d72ce2592bb242602d11d9eef1adb0093a7c962b7c2513e6031c8feda9e08b2cb00d9ef7c7dd8052a7af649c51b6a012002d19f287620263546cb66c7d85e116f35617fe89b190507ba9dc7938b69665c17cbf0ef4c2982e8b5be14c6f59ff5117236f97b8d32afadff60fc2153cdcfa1a04b703f8397ca75b18a89db4c8b886872ec95ab3a207b9a871eed5cc7fb5793fbceafd5a6748822f812d38d4eacf184727ff10cfaf2fd7a484cb51d2cb79fc907b35c1c416ee682e133ee7a14095bfb72782cac62ae958fffe701ca41adc8d76628118a334c66cf8e219c7c9677fac749a12b4e31a3fd92237df76e7cd6ba2f468dcff8f0e872357dd4ac84e2f409394af72b54bc4bcb710e2f3e8b8194b5aa81c9182404b2981ae6d6a64e4480816d72e6f5844b4a270692cc2f5d941a34778c929c5b7649137ac352d0fbb254182b72a878b060d77beb5326ee6de9ed839ba43635abbb936dbcce38e8c3cb0e38b86badc427aa0a3018e7a27c0652f6e86515a1cb4a8b41574ee87dcf9fbff22a4f1b6b8f315927584907dbf86135c89d880330f555066e3558310719d536bf07dc72001b3726418d0a59aa00194fe7773556b45ccc902fc0e9db998a0cab241f3d37520b25da276d25f8226db1b4521f07e75260bda06de4f323cfcf89c32e45224a507c1d84ae4fd932142684245f4afd73f846bb49b38421438f5750d52602bb7291b4afd28fede545ac1008a9430a8f8ed56010d08f16a75a22b92f028c5fe772747dad26dbeea65c1de621bf91495abba969aa417254fb3a5a67e38ad33ac72905ba411aa0cfc0a13e05eb6c55026982683a85fd072aff12a066d8aa1379bd3c94d402f7aea7d297982b5d909c93fff8b81a444c7d9544a34507d4604513bc0881ce28dd22fb1d0fb3dc64d69eb35299421e18eaa608f483937b5dae8b39ca72610299a1f47a666e5d4a98eecd27fca92c3af3c42a4ca9b55bd4868a1ec15702e040131354f8836de05e7eda89bc645cfac8d486c415f2d1bfda0391c95401726aa8f5e8c14702d844056371cc8db23eb6cf20420553a4b2cc8359cdd4b6a024bd5364d73f3fdf7312cd12698d7d297a6fa1fa20d68d5da44affa713d563da7202aa368483676b2401dcb03365a1dac61bd432a37273b255ea551e5fe4428c723000c31f0f02f21472f25c79020e06246ba11082e9d02042469a4f50ab0e74221886bd50bf22c8bacf546160cae6313e114587faf4f88a7a110e1f6c89091772a35e53a33ca02328b514206e40c958639ebf67af392d8599e651601e8bbc387073d2f44eb47df597cef3ca364fa708c9edd62d68df84e5e33fd46ca098148a7220e6f13ead3496d73c7947bf3368986fd31bf1877741803135f556c3a0404d11eb27086b4d35dc09111d4d509e2fe127a4f21835b1f679c1a91abdbff39e2a72a6f246378fc0da3904c79d64e560a8caf9080822b923c3de64470af53f38a043d48aac286b3d802e52a41c1c2f5722cca2dd3307e52484e5acc9ef81d6610059308a1c558784aeb013073389186ad9d250ad1fa2034031644ebf64769252717251c47ffbe7051f05feb83d8ad805d785b3e9e054fd2e55c840e495c799e00f728cb3299833625b4935a61650a3f3eadbbce85d7e00c832c413fec9e923bd7a72952cf89f7373eb8f6ecabeba2a6660222d3804b1da30befa18e5fdbbb88b395150f7445e9868f018b90d82cfd2e3d9111ad260bdf1f705ab5fce17fd4985f73f66161a52fa7dad40f1b83dd744deb561055ed955e955764e35b41a6460617323c9aa9b542c70c2139933252a880a7ee49948ce5dd02b83941d62b69c39c99572c60533a009a84c6c264728dcccb0fe1e2850f5fefa281439b2a2d1250d6867726af60bfa32c80ef79a94a425b66314e36a949a7551e249440b0b46d79438752cbffa714617efa671040707fd254aabfa67e58134d7dae9fbb3b2905cd7e5dc433fdb5e1aab0c7210b6db8dbd2cac524b450c91a5d8062b333ba788c674fc9472817b572fee30b931d1f8dd1e49d01c04a573a5c2e64ec1b1e48d796c0a23c772377a5ab3a2442e39b93a935b28d3e5e0043b6662689e918aff3d145fe30df809962a522c783a4dbf5d7f430d12cdf09efcd0145b6eb87d36857c1824145be90a7b0e5bfbae1db07cc07dd4978de3283ff279f709f3331d70698401f1c4fc6265de67925c857040e5df823e0b5069ab46e6f53a66702696e0255d85a6aec4c7724e740e9f3fb2a40c515ce9ad614405b19bcff4981e30017c5609c6c98480b850a446960fecf0d392608fc6e837beb13d4db00e2fe336bc07457c31e1c1e5c24da1fe8ffbc33a4dbca036e71f0a0a3694493819f93cbaa36844fab34e9d19dc7255b12008d3288cd059cf2214a6b527534e7b4325252ac9606b3e83e5691f7f3bbe8b3e07e88c08972296ced75da328e79cc0c8d819d6248cdad934968d73194363c668b71f89521e46397b4ad4b7f48a962d5cbf398ebfcb40e662474eb600174f2d54ed33427f1928b38f16e7761680182ab6748837099eaaf861154b31307252c9249a6aa1bb437c26e375e44916496d28e9990422615b547f3d5a840a1c2318554d34d0a6f35cfe0f12aeab1bd73c4a7f920d8881b6e0410fe8be4584ac727fb3305a0a136dd249e8940fe9f455c885d7dff0dc3dcc9c56246f2e26cffa5d98c4a405e772c2fbf6a8d88275b8fbc44e71839ee543b5c319c229875e9e1f3601730bd81e0a799c19c7e80bba0bacc52a94bd6cd866432a90326d90bc011672b5572f15e89e2aa507f49b29295819a695399f09ca0359c5ceab2a8178ae39723b8477300cc3204f95d4d2c000d47cabaac9d934717d06ac3d95bfa93a4c9e72aac92228c28218fa7afea94d97f3bd41238be2f0950149b433ce26a0f0432a72b400e78ffa1f941d75d8f92e51d4bea43c9942c5f72d286cb01755653398242c7d88626d0037c2238e32697d0c38ad294569cb68bb8b1aaef22fc31a8c9f82721e05a0a4ed5b90ec4695efb95e8ee245106813ebc016bd4bbad6651fc0602272f0b9c71cb846c026a95394932746f3d2a9172fee719f2942bc7a77b19760da720ed52a3d53c68335a4d0d6472fc7f1329728c627b62b35776143edbef173e172428dfaba52938d2c280f2ec36c0d3c92dc4c05b2457b76b8f6f10b935c1bc772e212f54e3a943fbc5d7a67ae12e4cc3e451b07efc6dc7c3c157d2786cc3f617298b8e340074f6d2912e1c18fa9704d310710062c062d751f794e478d78aab5048a103b42d686fb3dcb8965664b9dcc34acae5d34376d2a13af064217c461a16820b5551aaa74d790fa0a619c763ff1fd9faace1cd2f1d4a0a9255a0999d0ec7259cac8d842cbd5ab15a63b869e6c873a3f4382f0b4b2ceb922c1d0c106719472fb4e7aebb2c6b888021f37f09e2de33a3ada942243c0fe7684759306a8c11058e0a0f27120ffe9ad465ad696effa4fb3293c92afcb7f878a10ee1ca8ce19e355e745d5d0a5f2bd6d0eac8880cd6a2b5720d82c184851af73ceee34391177817265219ca013228450549d273cc2020a8670eee8ab477a65eac0b8b1dedc8ec87222ab887803ce3e9f5bae1a4b59fae5d53434a53af3ffa00ba09f5883a77ce138d7bb7d413d4a7348f95b883ceaec26b3524fc2be30bef74f51e2d9cdc3e4822ac9cdd220f0bb2612c02ce57ffdb196d498a13e53625d7ef0a9a6c9094f2c2d675fcc4606d72ded082216402ba3a40d6428c6f254e1b121a7cdbf7fc9d6ff66729937f75e110ea4ca06a9cfab0d1182c348ee6736aef6b3c37f48e7ff2a1c3b5ace1cf46825efcf62f3e5c940c56ce41e017565248aef3068657b237366546d72f34f814df3fcf253d39d192f81ac45a918effc00904c6ba0b8e132260aed2607f19f1603dfd3ae1a5e5d7c27f64c14c5ad6b40f11e7fad5881e27e00504bad2292f6055acca691280861d47b808322fdad23be6e8d9b0e7d8184ee760932d872406616bfab24b7b43d5299b5dba218288bc7341cae1a5ea813dd5405b8387d0424a1dc47cea76e0a0b45ef8e1f9b102d34b546445395c38077a673b7fcbe7a4d7055f614c2a7796876ac618d46efea983ee370de83a9a4cab6ff2685e35a7459718134da3b7f9e0958e9d2cdee41863a44f1b8fad02fb0c8710e12e2314cf72b5dd954037cfdf75d6272ffdbdab614eaf2a2338c27a7f27367ad05b039f3dd72b4f4027defbb935ea0d4bb1fd088e3e5ab9ca33d3f8d97e4b75b6d13b204bf4f8255648a8c43d60f0902a82e25e87465f7f53e98acda943206b526207c560e723d46a0cbd363cdc32d585c7f9c34dcbf16744d668dc1863d11c8e48a6153e672fd9008e7407d592678752301747349e9cf91696d02b497cb1b80590353833f72a0b55251217bb09029e901f0ecd9a0c4bad913a77793362b62f5a5a9610ebf58c53a916bde854b6fb9e73c3e375b2c561a567e587eac449c299cca2b065f8e72635496a93f0ee8ebb2654e5ad04c656accf13b5820a7142e682b31da49f56f196e683eeb5b130bcf4517102476f9dcee7024d8563108f96f8b62102f4f686257500fe71388986ef918ed8b95a62bfe8219d3bd325fb138ba0a426672dfc1f1728c30b73fbb80a7d1706e04746b39883991c89b160ddd7c96759ea1da5111b739216ba98f8daa11f2f2ad3c56b0806def181d9a72b8bbf78cc90b2c30d6fda51efdda7625d219a60b23b2e6d789457701b2a3dac698c561b43c6c3df8a9dca63522a47058ac296f8ca0da800755f80d353d6c394bc421e81f3ec046113dc93d221e169e8f9da05dd47d2fcf88028f2a1fe475951a0df920dc9040c0fbdede1772ab13a392e6066d176aafc6187ffa28fd658a62a85a387dfc3817539fe40a160a72240ec6c0624a98c8d649f880c730664f6321a514c100b191f692615181077226c84615150e57d78d6e0117a8afac3b04663a8e1c3029eaa23a7d7310a5ab46367c025be6a502b6ca0bf0a2569d78862db5da2b50d8b850d57a97d51ec886724642799a6f064941044d7b19685fdf276ea4a64ac40e8be3940eea055bb93f72f3b436fb3727667cdc2e4cf6052a9ba9831ede003e58092ac7b5471d012402729a4b496a877603f25abec8f6716b6c61ef5fd01faa5ae1b6dc34cbda3c42a5723d8312119662247d7ba543a78e39e6a892ddbb24def7505cf7388eaf8d57ea2107be5fcd09800d3fa41cf2eb074e50adbb9bf2c9986b690efcee82368eb7f16e208d4bc1e98a9b17e229d016bcf71cdd722db6af76fd49ee6532066720bbad53921d9e034c27a2554312211dfaa2c0d4593b496584171733266e4a0a03888839804041933a7693380e33ebae255f8486360e049b0ff59321654dc561f12c5e4818b4d699b9c200aec1dd22bbb79e94eedd605d7fbb375728c4a53da45a93f772d0622880a26f61333be4f5541cb274cb1e7fae1330b475307678784a7319a717fb0d3ac8d78296a5f30b5083180284bab8915ed3ecfc9f4cbb97c24dca9f90093a674090b0ac7154a0df5782b0ecc4264b134047e7534467f627c20daeeb3f72f0874ed0aa167d884d0fff8c4b8a92e401eb5205035fd9f63bac91168b9c4a720e49523966e90dbb67ba77eae5c738e5052c5ff7c9f4b864e37ae449e0d23f729035cdf85c54ad8f0bcb587de48610cc256537e9c8ca51ce4f2fac8c695d3b277fa3b3d4f3380055ba3cab8f27e44dbf76109e4710058c3d0ebcce0f121c8d724ffa0757e067459d9b800973445dcbc1cadc77fc00f65cc60c22d1583fd9a951c97d87593660c0034570b13cc2d5f3e9a0c2c07be96170634e7261e4aacc8645ace63aee6398eed93e314bd99d39a4423f3cf74bfe8d7e460f01ec60bf57c15842ded1686971eae20b781a2a451624ba40d5ff1c9dca04e115ff062604f54a2607c054350d16805243dd751b2d2aea419261834446c647f1570a4c9c7288e90a6a9238f4b84815bc13d77a6e9c1f5f47b4b55293a75f4b7d9b93b4d1a65fca15e60672cf8411215d841cbecf2e13fcfff47705e1ded7b50cef3a0043402de172c7df8db986a9cdd1f74ec11b173f52c1c0330d1dd735a10472a943dc0b8d1d7238ce6c91f903101fd3113b8d908e4c39fb17afc3b89c64ba819a51b37e52734dd9437efee91a3306dce337acc083929e7fa145815284bc52d83c529b80c75d422c58c1c04ebdd2ace0bafd46b7d14243d856922f5af748dcd545f7caf69e2b7267275f4f0a15f13c590d4f0ef4b2ec86ba453af9c88793b06576c0dccb3ebc724e0a3e15e453d0c082b3eb79b404644720f6f1e84805d5dfd1196755a363d2729eb2de3e6c51cdba4e96018fc319e189823809921d8a7adedb6053cdcbe45872d02da2eaa5121c24c967cad96393e578105e5abae0b6e0bf74e5d874ef59ca07a5692fe94909d2b1a1b2e420a264fc2839460998382a0ab14c07153d345eae52731b89cda40d957edc09d25db1a50b0829db80b96c5d82bcdcd55d9d7fae1026b61567190a2acfd0e3a378fb84f64c211f46ff5e6270498f147fef41b359d00964a2ff6aa9f503d2fd790806ef1ddff722b9d23bf9fbc06f091259bbd77d90626bb8ede50176e311fd100328a102fe914dbac82d3ed65ce952d8052d5421de6de9c8d99428b130594e450396e3377397499a42722c326074068d1dcded3f81720d5957b5f5f58676cf46ae4c4e9b739521cce527585780b3e08a15332e96b07247b1d23db7690074b43f65ca6fdec74d24723241f30ae357b6962432f920e472a1e076c41e94ce39986d9b62485faee985ab5c6c49d701aabdc258144bd2f272afe63e00164525d6e468b0b31f483a65785c9bb842f4e7f3cb41788af2ac61728fd7d323ee9c1260017754dddf0c94d55b74be88d7b6ac31f5801c56052a21726631a34cdecfe87ec0060b99c7a6de267709c4ab0096b7d0e2702a5d5ced9b69647694955506315546299ab821570141de7f0ebbad74b1c1a262f34d859d813a4b3bb98b600c7aa9c1e35812e0b9089c290480b2dc988101eb5197feb260a25fe326890ed06a7e345ee098b497b61723a848f1cde5eda0d86d7899266e6a7f16080c67a02e81f985599dcfc8771c1cefdc66defd9b325752553d2d2bca188272fe173ad4fd01a6abd99ded21f30610ee787d87d58c6e19e44216b89d6eda3172cb0c24c7420734d4a2558688855a9dafa4ebf6b233d6bf27241e869e0ffc583941d448108e228dab9c2b092331ebe1632ca32f21fadf96fe60a34b0258e217727aaa0adff181f52f93fd96634f810af666b305aa1b39672950fce8014a4fce726c5b7503551d8cccef5ca5790a0eead568ca70ad51dd72afdfdbc6f094ea280ae77c12fda97d52269d73838a7107963c42767d93aaa1a6c6bba3fea6a80336724ad7bdf10abaaf70809d704fd9b4c8362778ba2b422de34933c08c1b084f0a721e72892e2303a8dc2273554c281c7930b32cfbd19641c1f807f591d952c8184af80e916d1eb8a6bdad49ae8c4976e4df9431dca4d4b96519d99e2e38bc4daf7211fd2ff07fcfac81fc5311d5bf024e901449c8fcc54d98e1099232aad276543ea23f7f071874d499ef5b7c7c58502fe4cf7068dc4d91e0abe4604af65113cf39bbf05bb0cd1fdde1ae4834947f1185ab3822f669164b7226b96d7597a474ee725b17fb2a1bbde0293744eb8d5a8cb54c4af76336bc2a0aca3c30588c2a2fcc729c63419456f8753d7afeba4d03046085f52f32cc82440b4b03552c9ab013e63435dcb7da8636f80fe046ccbef091ff51a3a0f49734870f38cf2107b1711746720139109cb051455463c199319253f22a78a8dd11b9d1c8f9446176f63977fe0de290a2a0e2cc88ee36c67a931aa4fe97dbe561ee158f00fab0a8209be2d9fa7262d12d34ba25e778300bfa924ad0c7354559cde984b959541508a1f46f89c453bd4f51939ef2551e911f04ee137bea83a24bbebcf9e4ff22677179fb4129f572114f940f29a1d9b407bf0dcb657d8f57ef3829760f371f6a0d879d1effc92400e50daba8c994b65c6504c4f3b3a6d3815a0936cce32bb2849f85db1b33e42c637fe3fccfba5427d9f95309578365bf1cd208218ed307c237eca97e61a1d43672c423038971e7984b0f2f361eed7b2f28ff11456f78f4b21be674365779141672464085cf7d3fa4b734740b42b88409d7608b968af9e6e3c13a13143d0854781f6cde79af573745bfd29d5f1b8f32f85cd3e788c5c34cc001a6d8171b274ed05dd07bf174627ced6b14611d9193f092d6a822a2018ae6159190863c23e1b7b7725f3c7832c7db6908632d054cbc1621a2e95022bfe57af3f87088b31cf8c01672f731b4d27083809cd3eb9a176ab5828a81b499312ce3292e9057e8b8d20da35c8645b346ee01d021e556c01decbe7f52b2d9767abc0b958c87c1fedd4d80ec5f6eae9ee2ca12926ee2c4a3036c9b5567bbf7fb3adc01bdcbf174df79d1f4f572eba012e4bee87eac3a7f422f00628448e9c2c3bf118dfbc91378f29ee7539772d359472b419e96eb07731e92ed1177a0b5c291d784874e3a50900cedb96ee672167b551d543bfb3211ce135a2a23bf734234e1bcd0757b9d35d491e5acd6dc725ef4b4e39f1c03ec0e043b2dc9638b104cef227f25142b3af6d4f50af0188a72b57445ca2d2cddb27209b236bd1a93ef5a254d71d937ad2b1b34626c37b10c72427b6f9dc984c4aa8d15ec6cef921195fc6e4dac0d207809106313983c2db010788917d3367fe26a230ea95b7fe516dba0d1da576d094546fe01abdd7f2a3372340e31f6c5dc2fd52b1ca9f6290d620e08d0635d8fde27a749bc0361be29af7202418c384cd87d69aefc065e34bef03f56765f09bc7b2ef8393955f5ad155972a60f65f9b61630b5e036873622f3fad6e12c6feb246f5692eac8bb9dd6880d72b05c8fa0cdc120ac8fb26dc132b87fc68a8b1b31d31845e6056ce1b32bfa914e9ec1a60ea7675315efd93ef29165a255d7d0fae0018a4b87afbdb9057732852f6abaa2bbc43d1e022bf22f3fb644be616ab65d258f2b262f3c2a32330d511e72265ab02200a6cb1c7a6a9e7bce94e70f6150af6933214dea5506a46d64666d18bdb6c11e116a7d19ed1f37c5431f9aec61799087af8e7f5f584cc94f6d2eee72cb72f7b9515e3d02330bfcfbfef116c2452cdec2fdd5c5b5f29d413f8180ce72fd4c2f7ed4260bb355381a05797266bbfd82f3fcbefe6edb4f1d622e2b6e2629ef66549567ce19c41bd750bbe0bed8a4b0674bf9e96f65de8852785d0d26ad728eed000c97754f03837709c9d926723d06ae9529b9d6fc0c3539e3ca0ed7ef72a77090770d43fb650e288ba1fde1a77620bef1ecc0b4efeb0649e1c02387dd35c54f96d52839c7d5830f06d055773598f985137adc69a92ee602c168470ade72ef44fe50e6ed5a83f13bc46ab35b797f5a1279b45f7c1d8db3d6637b8f03f172fd58933ee5f90491b837862ab59110e3369ab66538840c1b342da2aeaa8cd73cb99a1e0fd2f964ddc4176cb24a890dc14b4d84554874698e36f76c6419057900bf12d4706dca3bf4ed339f04337eef9d9ff2c0245ef338c8a516200006f09d72d9a25162a3e261284f5a51d74518b189791fdb6bca77edf91f8bc5037864fd724b5b35be252318782a2ffda5195ea29abb6ae513957bfa1a0c876dc52be13e24a3ebab0a0457522555334f6b3e71821ed15c8c8980b254e02508adb7f415b129d71891c0fceae0b7d05f4ded435b7df120a4e1203e7ed247e4b88c813c80070b68215787fa9e97d1a49725350666895270d85bd2d6ea0ff262ff969a696ba35c41c206ddaab4a3e21f96e91eff12d14b2d611e04ef6542b32b60a0da0e864172df406b369fa62e9969f93179688f639666ed87c275a120dd76f44b467619b4728b95018c69e85baa3b3d4c723611b9c33ad8972e6aee0845cbc6996a14248b6529e00453ecd776a5d25aa4c26778a655c26abe3149b37e5d6491421b6eff21724ea503c523d998a8134540699d8f8f4037c706702e660c1b51c829b7e2dc476b740b964c344751df0e19654ca04c050b8fa4769f3688fcb2adbc32fc6e38187268bf857138a0040010dc1f124f19dbd9350beae332c70e2733f063a726c48d658bb72eda171a32f721314d80eaef3e19b9e050a1542fe7f5fdaef0d72bd77f588b80dd6dd90ed07d8a04126526533a3de9b88b168115d76ed23e0046c77cda7230a9378fd7f7337c4cc04fa017312431652aff73c8a3da1f69f46af6f2b702728f4549b5d48697eb7c6a19ed9e84ddeefc13a0755bf352954a95f2517726ea7244c3e1a2cbbb7635b70c31a5984eacd2a792c97c555bb5042a2db7a21829870fd6b02586e564f5d90f87bf41bf8e5de72b48e6b3caf6b93e0ffde58072c8ed726b4f246f0c539068d39111dfd2418bc52783a88fb628b102fde6bab26da62829c93a2565f84dfd2ea81e6682da126ba481f8be0368bf9ba93a7dad28cca3e572fa564c860f543e91250ea13ac5957d94b69631db0dd8214ccf75015a9d129a72b2448e783c3919023b36d24043b8738e21ae1f97fb8cb53fff573935bb3ebf720c50c34567ee54511ca749c0a4b033782e0db284583aac2c12f23bb6e9e12472ea4c49ab6f424bc307a44d40648abec942839a10be3cfa34b3ce22c95375e472cf9da0644d809c72bf70901bccdb3f7c827399ae6506f44e660403fabcc1b42695f329fe9d25c6802356848cce51be581c0e83f0dabccdb355c7f3dc634f6e2b4fe79580c0e5f5e1ce47b8d5cfe6e5288a1e60ebe521d71b62072f7f14e47e5b7fad5f505ca667f008d8dec2edd4e3325ca097d28872629f02a9632d188676471a0ef01b6446e70201ceb2573f0321589542efa41da523a81e49401b46d68872686df43dfb951df6688313918a89c8fceeecd47bd2c578b5d48d88a031ac68072307d9c4acef770435e925e7b415ca3cb94711a38cebaaf849c37f15a6328e72e50f9e088ec35ce7842bd70caf8e7c5b45d5b830a680be5b7af76cabc7ca1a72c54745c9eef8436a2e1ec2e4b0572ad85b877a9650606e8f8cd8fd4b2bc16f72381a0a1ea9f08886db362e1ff727854e9d52e071f744877fb0a2ff7e465c717237a410fe781e212ebf77d932b1a8fd2a5fa884f1b65fe19a8c8ee57d1d0e1872f5e2f65cbb4f03a89544ae43f4d0636e888ed33add968d6d466d16b5227ccd727214e541ba3d1491a12fb72b36f6374a14370cd34a742ff317392a21d1a3903d5d4c9336905b059c886debfea586055a7358ca7651f09355fcd51ca89de01772b172624b1bd7e9fdc74ad189c1cd511a39eb1143c2e2992b6a0efb1cedb7307273e80ac961952a493e7faff3fff00a63e0ffa611ab962babf6ed23fdcb45d837691487a6772f39bb7e86c22e97a8ad8430abd6fb9f18bff6565e3cfea9ebcb722ff389052879d706d1fa2f847dd33c628a381cc87ecf03429cc9eda3e2c7a272ba4b677c5422613b0d533f183e86fca20c27780cd143e5a367ad4fcee5adef72ceef7b30654c072271bbb8fa256b920490cf2413d516be843d6ef8166049563bd7f6775eb1e1fe8f1f18968b83301bca86245abe85cdd976aa38f64f2ce2a1722f1dd0b8aef7ac3ebce69db9350595cd0d8c5639ad0360c4f9b366e15c2c0672e7700dfb63b098afa9fcb5144f2e2dac03f2610509e14fbcac93ec59a319237232dc57c18b5a51f66d1c525018aa076675f81dbccf42144312221cc128250572341c4085e1e8486b72ec8049eda9959d0065f84d2b7b726ad251e2a4889aaa359bb6c6e918d20904ea11625f4cd1d3113d7a517c66cbd69dcc160b525215ec3fa21cae7878c822ccd282298af673a353e48eb968a5b92f54bd8f33080f6be17223c96c0d14ab798c835ec731da0060793ac7e22fa7777cb9e8140869b857ec72d0d0ae26ffb18009903cbe10728259082957cad460de456e3998aa66c9f1620cc6f3057b14625c2c51c374e4c6c48fd2c268f19d75af550d72d30e24c61d341861768c2c3a4f78dc713eeff04f7465fd1e5265d6b1e0e9ee16355e2bc0fa06127c9122af65530f28fc910fa8e052735bd54888247823b62b473e167be362a34a940e2ff601c71322cf289c5b6e942166a5eb7b757618aab8dba9fc19a3a784480eed74f9a117af4752888366777645d9e3a04100da504269c441f6e6cbf88e614ebfc4bf851d64380807dc94fea793eb5052dd28dd728f0cb5e3b4a0297def3b8fcf5e73496d569f3639890beee7be387382d0024fc39bbf3352f7031ecb4172b77a589294d80372a7158923ec4cda334ae61db71eb27e7e4e56d4e42a2efc72b77cc67c580587fcb282d81843aafaacb603ed6fbe53b201545be90e7b041f72988e63e29ce42bed08935dc76ab01f2cb3b8f35159b45a65df86940520a6a26c3c71e104515a046cbb9ccca7b5c92cc51e2b945b6d7f97ae02aacead4a861628f19d8460749d7f5a9d5f29ac5168888d1a9eccc8f33f50d6a5678e2405e4ad72012e332f29af0a15cd5b9e8fba0ad546006f7cae75d3ff1fa2b30d8389469c58acbf99dc2ee982f78ca767e9d3aeb368f2f9fd3d5ebdc66caf97c2c82067be72f1c14e68d2a57625e90be6077de6c6cb7190eeab382fad83eb7a359f844b1a720a74b6138faffa4eb0f59706746dc76b1689e00e8e4194c39c1b83c14cc19b29eaa15703c47ce59899af5a8f18bb15e910b1df4a48c60068ece866945a223b723b289a9c844020d32762aa9bc3781848eac73b78e92aef9a3af3cd364ec59672eb42062b186310cabecff04d0e5f29b63e40e4ea5f9faad72dedf14991ccc872418d4bc5e758b6520aa4d6123038596a6983867608441101a18de0210b3e0372d243abee8566af6a193676ea1b21b8e2af53913b3812a91d0f8869af75013857d0ca2482aef0ff8181795c877079b71a5e92372918f891c352a9494ee97c7d66b5c7cd8c4f5577d13a159b333a2126a5fc7f05054d57ed6a32ca36c2b90656721ddc23a0f73eef09a3b3bfee871e562037eca7acbe7ece2fa3b14fcc06cecc7226c33f6b0e698ba37041e4fca8f78ce0ef49c91f9bc5414fdc846ce1335887723c08ac0eaedde604a02f92f49b4f97c24822ddadc8e40aec0f14c8b5d01bb172813fbb29a6f302fa9cd6311fc9b53e0e24f0de7719849e904983ac339c53d815522671a48f48956e0304084883a586d61da64920a5b9e8fffb612f86a8aa8f6e735d2afa44e793a05cd8c4ff5c653639710f9a1f213d7e729a4f6b85b14bbf72e38f0b976673bc40f3bb10ca7aec16ac21844635db05ca3da445af338c7a44725f5ec39a05780319722b349b5b486c479384178c47737935ff7a30701ee5af318afde3939bc8803cc5ce4267791d309ee1d6877347d3a97c760751024a7c07725de7853c813345ab138e5c4b72c7ebe5a5263de142017d8463307c0b91ee816a180725625e3c7ce57d09ef6b1471cdb0ae45e8f4f7468f7d251fb5f59b55f872d7a624fa510bcc56998eab5a83e105aedbf283388fcc5cc7eae31246edfe5f7271171f890f02da0de355806490029687e3ad3afdb3d9cbdee78697e9bfeb8d6bcd18fc5234f0562883cb86471c084c84138d5628eb3ce8efc41b650ff2edf072e4f468c3e4fe3f3671e1b8e5ac51593d607491705df572e6fa91b255860e87552d6350b12a1c7fe1220b0b2d2381a9d78a72b37b79839a9ec0625a4d5db4c242c1b8d873b43c6147252b9cccf3f7add0d9ebfd7f55d10306363c3ca5ae50fc72b407e8308a48135254e76b807b29a722d1183d40be93a301f343f7a902e0763ec8e159ed6b70cea86c427d1f4652c1c3d262d01e30be85e9016b9e83bf66bb72df19c1c9e1d4289c5f92442181ad586ff58027219fc8830125525feea3ff1972660a79e310d9f5b635c7c59492ecb3882823b75f9e6d8fe9ca792ebfb267487239f417f2e0a2c96dd33fc8d95ba329d7aebca74dbb3dbb68a62b273aa12ad23817a602860666a1746084cca8ee84395820acbbbbf023077872a470a0654c312aa90633d220db94a88b3ffb268eb20f0caffa167168a9dc5176ef0874c40fd84fd7bf6eaf72f57202888ab71808203835e543d4a7ed409430c98c52a3b9bfb809b2724e0cc980e19d42cd45256bf21dfbd8f4648a88fecfd5bdac67c08e30ba72d6231a55dd992750d6e8325569bc7bb9a45931bef854c6beaae15c77980cbe1ff1904d50bd180cf85f0f8869700d77b4f0236717b6d21e601ca7b95b0ca20672006c0f1a228275d655c0be60832879b613460b32386caa273459f7763666ee7294864b79d9d0eb565b4bf9c3bebafd0eee309b427f3ee10efbbb0ed1db591c7273cb0a4642f94bc4e6e1b948502dcbeadff10427fe6220085ef33db60077f37288e7b0125b3a2a11085149d3f2830ac85979b55a524d5a6360ba84f688b745728e7e1a4b97bede2e11cae3991c9bc7bc24c7427b5bc896fddf93935f5d66a0054ec4989514a2a71371d2ac3cd9e0ad3b18f0556d3506b0dcf993a47c8fb2fd05a94793462f514d51952a51b8f790f7b9c4d17e2c961784d757e0362dce34ec72581e229887ce60c8985c745c94e5e6cfe0ed752f2fdbaa888b5762388a7c3929eeac0453ec59ca3ac2ce2060ddb4936a212d064905db4199da5ae1fc496327729ef3486bac570142f6b30946780b710f809101474e6fe5dbcf0b0a473ac2c572f26e4d58d1fd8f000c52bcfeda53ad83d29143c664738eecb51f68ea076c680acb532c715ab2c1d233000d3bbec8c8d5f92661c65845c71c3c19dca49bc1c834bda47eb4c5028dc6d06215eaf1a0f9f4ed81674b3a288a3f6b45ebf73f10a07202a6e48a9e85b411038e63be70919fff571d4b179353bf9546c1685ab4ed1d35b633e88e39959e3e89d40c632a720dda3545a2c4f86159189c61f85d60293265c2329c2cfdd5067cf524b23496ba32ed091fc4b17984d98df8fda12cabd05a6acf7ce9ded2e4c83f58539c36797219768ceeb43fd63023016e68485dcf2904447c4e9309bc2589f2acff64bcbadaaa0c9969293771a0c35b4f66e7bd11840945ddc9abac072f58ea9ccdff3f52085b0adc61576039d8a16aa20149a976606b40e7f6f23fd8c1a7fd748122a83baf74a194e20864790977bbb1b1a1458f0fb85ce0f6254e5ec98bfafa71e0456793716c2c7f68953a25f95cc322e8a7294bcf72e0be03bd57da6f57d3e0bfad7a50b2687f651d7a3be61acb1e70201a99de00317a6b0150eb00503ecbe586547b5b21a79cd781a4180b2c498b8f3e7494272766036b6182981bf3a367fe9025044c540f1c4bc64cfcdb6ff8943ea1576c0947253e086dc33e7decac314eac31e34ebfe8c7fa298022ae94b15a379f37b8c597725faa40c35cc8aa7868c271675a39596fa477d5f243f7b7331e71253fb2c86b2cf6c6eff5b8b529bb6b2e288bb1d1d17a926e0695d16be526588eb997aef695723d0efe1d2e5a62b40b255d7d128249526439b16c794a80777761b53c8a3c2e7270c7d6c0506d40d30998a861a26c6079d1dea58401f435256c420e28cc83d172e5ff190f7f61a2fbae7473930c69b17a0bbdfebbfff98f4f7caf1b104b05bf6dc221ed6c3beeefa2151b9989133f9d196ceec100b1d2ee068efb44d2b8248270f972dc44eb38fcfbf1ae3569d7dc1f193182447728d723a85b24107d1e557d2df090a296f05c6ce5ac8f4c1654cb1b0a63cf795a63b84facc9c2d27c61ce8855521b9dd5517d5a9f97ea0fd9af81c4b395518c6469e9372c1beae20f68722672291d2327ed07e56f7444d633395cf813360efd0f88edd4ba8c61ee4f1e506a464e842cfbe2727422b11d3fd49e20fd829945b971d29eae24e1088174e0bc9472b36a6885ac73d2563551165c0d925edff5de8a3c0e4dd67757615d00cdd9be7240f7823d7a9021708670bdbfdc6da774547ba48b063177de502d24ac241ec97256bc910573e14912db1e11f7e55fae4f46d1822d76d63f685dc1c187ea6f9c1b4aa9db4e76911932cf15b9bc412bcdd14541c88e3c37426a8454b057bb60e8726216dc17f3f82e2e44ccdca188089c2a329886377a09548fb087ee017b975d3982a892c8f6362f0127b5e143e5b216e095b05594d72a4f21854a6d2790141072929f04c7d47824ec175c16c8afc9f2028e09fb68c00b6163ab83dc51955d823ec58012c6dd2f21178769f7addc4a568d52671f4ffc68eda3ec5bf4a367a84f56ff66e83d44cc6703a8a44cbe21cee5cd5d93ae57edca7148911d57bfa1abdc09113ea4b2bde63429747bad975c658acad74af362111b8ae88492270b45408e4691def264c4a46d5c237bfc836dc4f70411ebdd9eeac0ffeee229daac97e2c972d8fdbe440203f41ee374bfd25f681cd42a8732a1d21eaabc10203869196e6a3d0fbfa203bc360f93b91394124bdd81c69758563b23207ccda09f966167e4ca72c15181f8291fb5a4529ece4900a740a54a4b28a18d301769ab373b0563b82e7206d86831555c2e514ea0d6f8d668c30dcd6d3dc22697fe033f4c22c6dfdfe207939c5abab4ffa41297572689ff0e0465c31b148fa66785b0685bbbf3555cee72a8c80e66adb866b6935434cc9a28ac5c82f40ea8b7405d577815c978f5fdcf27a444bb4db3354f10d41fa83d469748c95cd2363e38f73056516eece313cad3720bb0d19b4b539d9491059bf8ac87cdf2b1d74e4163635164e79777fdd289b73f2194168181943d4435ac61716e103b56bd7e0f742a2b7c0461f5796636f51b36d587dade07c9555314c69b15009675514ebb802c21698fddd0e9abe7b2377749f89954080c967263ba8926c0d8421ceaed2b577f14b46fb1a77bb2794b3f9972b85117a538c4e61fd3cfdaa41aafc202d8134af86283f8eafe6564b0fe2f7272599992622df8f051460bac2dcd0ef2c27f2710f23877cc9a4ae5b2751bd825721ccfeaf465535d0bb66c6b7216bd267129416abda020f2c7b2935bb2ebca0b7263d26af2f2b8dd92e827b2fa4b23847dc784868ba9b83dcd594403501ad1740825010d89158f2030753cd5013a84e3b2f9242b02846031dcbd4337ffbd4d07729119e107639403f7c601bd1a61d5cd59c23e18986ce6183ed9d6852396e7c6726e0a56ee8ebecde3cc4e4a383cad7d933d377948c8a006ffd9b31ad530a532365a8b10cfbe2f098168ebc1ea37e8610563277d570ea9853c53db444503b9507205f4ee3358a0842e5185d0a3d3d5c01fd2b34b2fb739a05ab468656d7585b44d063c2274b7cee4d4cf5447b3627e41242d656480b97cac659f2856eff5cd477253ccaba5c253dd450615ef1db986ff2645d1d147fe1ea639786bd8e49f612d72ee483fe4289aeb9afb31a674b0cd07996be2fb7be4431cfe939f039c853b24726bee30e3094506b9fa206b3ad388f0ef5a22fe6b7899a24192d3a2d0325a2463744130563b633d2aba17a0521fefdbeefebb6ac197ee93a0be39022d8f630514641c5c456de22ea8ea0d00b39d273107f7f3a401d7c1853cc3225dacd0d4547273a886f6322afdeb40d96259dc0f944f4b39c7a79a68ff13d1a2b6c5dfcbdb729538d520669b5348fd6219a94c1836c47a9ebd43d3d7c3370e78e36db2e5d972a75bfa8f72313894c7bb7522c6b16c1ab5960216e39c22bb0b8695c6e989d84328827b2af44abc22569ea65b54b0748ea5b11ef3ea43131d4eb603cceb9d15370cdb2433ff66f73aef52e8bc671b982e15cd99edc33b3a5590432fe8effa78725e85aae74c227bfbb1bd223654349ed816c6e13141dd6cdf41534cc475f81c7234672cfda9ebd0c5fac98b91fb827ed60671b398625aa2780dda0b55ba77fa2021250dcf8140d77aaef0be8f60156c065eb303842c29251618d7a0f8cd1bb472d0414bc6fac2f273006e95d8df87dc4fddf8bc219dc1eefe43a0894e691cda72ed11863c9845501af1940ce6c21c708cd01c59cabb0637a95c685a0ee096f27245c097a0b9cfdc44bc1d1aba3e0b45bc0819d9c3688fb53d79a0469a562ded4904792f823cb0462c08b6f11b2c9b45e3d012477e6e31472f6c5b979403e5406981d21d07e7aedd480e734de2b77de31805f0690161fd9ac81254f4681992fd72a6f8967a896aacc2a6e587a50eb5b660a5e5852c25a74c107c1424c813fce1723758f165fc23826a569397865373948f2466883a932c13aea7c262f3fea028729fdaf3692653e97b9f4e960edbd539a8e8ca9934f5abed5ae89e4650c60d9d52e0fe2978aeeeb32f5c2365343e572e27449c935e4ccde7adffa61b9fa1e1b6326d0e3bd97f4cc6e16192b1528a13c48d1e74c077e3351b7a4b775ef1c9b9b1728061e3e7d8ae62dcea07091d3041f529af6b0ad41153c0aeb51a02c418c6d26f1e9f8bb19f556a0c3f55143ac50fddb960118a5c29eb9600f62d4708a557db72df9703cdfe8a70fb32dc9fd395bf5e365f0c2bdef8ec53a76f8644258ade2d72bedc5a920b262542d0696a15558f9858a88df6a57faec1077ca47f27d800a1724e3ed4fab038b15d0dd5e1cccf6bcb4e7337cc3e198b92a4e3618cbdbc8d6472e8706cdb1e7a1c46130e92cba74e4be330d4e46537c31f18f5b5da963546c77292f2a92799689b4e1677cfb1e7117b46a89984e4c36bb85c2b4af5e40636b272eff55836b987b60b3b485e1cb633c39e19144e21b96d822d42e26c24a334f31ba4e6a8e8787143c18e7174c37286ec49370081f051a138ee4668766e8c3fc272aeaf4eb2e8ef8b65d620c3dc51345b6fabcd4c39f1e405de9715b57577b134533f325c463e0bbfacec6e85a8cdc59a672a9088e35382a05a7451275cc39e32691c032cd4a08681d1347de1a8c6a69395ab579c39b4f530dfd6748fbdff006b726f7e5019e6da9cc99eddb3dcbdaa220160a54ec23677a467b79c26c844144a27a5639eb523b8bf783ce383527fdb1fc5e8cbaf9fbbbdda8ddcbc31f990697872bd71007854566717791b81f5d4713310ead9a8cc7800de2779ddca43d61a5d48e3302ceca121faf17c0dd2d65c066cf97e6e8f5e56d3c53e39f6ee6f7660c6119d1c37c112aec13d199c279c81da1988bcfff6ffd5f975ea82c5801255a9ad725e20e4e368131bf89cdf2df15baa2b468e5d8081a4cd85223308a9a93980b96617769c94d7a04c7d0221dcd73bef6ea4549a02646b0587a6e1ab40ae79ab22726a237ae7b31253a517cdfcabf14cb7ce8391cd4bc5e34bff2535a290ac8a6972287ba0019d343cae7ca2d0f25880f951bb997d754c10d81424f338744d664672893f88e2a5afa20988151e0aa8c9612956b44b3a126300ae05090f8efc454d7273dd1f467702b0be2b84e885c10a40965dca6d0cababf5a605b554464240f61e237ccbe6bf3423883a67fd1b7d20434701f5c1440996da4017aad6cadb162672751a5851b440a66fb212b7ba693f8eb86fa106c87a53ef7d8fd2e6c14fadb65cbb20f419dec61906a7772efdcf7bec9cd5bb67fa516cdc9bf5e5702fd7106472413301d6c4cac24861bec1110b951cd3331a8e8805014d71f57ae6226baa397220f436fe8e53da6a871c252de8b2810d799f98043524c792c6b37b8da4975b7236fc3e88c8510c834ef79cde18df92725bc4f2269143a4680d7fc549430011729e2674ebcb18a76801a7146b2215de75ca3dc3ec649f2490bfc904d242ae7072b01e74392aa7610a48d22061e71ad0596c6827180714293fe02b2a8feb367572c6df18432174f9228b08f3ab586bdf7dc2066942bf37bd3531f528522bf00f3bbd529973a6472a93fd2cc7721e2c95a701726d07cde878906b1ceb65225daa7275092f2df6c342c7864c2f22d12cdf27323096c5f67126ddce9617b94392373ae82ac52bf3440d77eeff6accc3bc5045e625414705598e4aff0719d589c8c3721adb94006bd23dacb602091d2590720d77cf7fb6cf0abe88d6e057caade17672d304dd1e024307152c015ce0a2259f9f2766b2bbd4b64319dad5479dc414c972aa986c4672e8b379e2eb9642102ba90d47a7c89fc02b7444764831928dd09772e750a93fb02470593524dd2da355a239c11c3d3802c0f365f7100eadfc58007290ad01fa17eb5c3fa6d3d5e43ff7f674158c1cf3b376a40e0815325a5297c472bac8460cb08cf84042a770a9424df630c206c7cf17a51934bd6adb49114ce7307d77033abaeaf115292eb0b804e0d2316f19ede3f39eac0a0220672c1c0bf047166049ce66361006a346b7887d4e9039367f87bdfcc9b2c0e1cb99b074a465727c4ffbb2d06e416438759d1b6b22049dc4ba361dcde93d2395338169ff35e172e5f7d94c8d2ee131b0bbcea788b8d69275b812874ff05da2d355acc838302972700fc3dbf3d8586c84379b323d2d2d2f26705cf6d81cd83994c1e9c12c14517269d9004a5bd37734a4df0fc5fab596b93bcd6c590ed35f23130ee7a0b3c5c4173ab33da57b992c4604715c975505d4279206a28e568da14ab8fd34b2b769ec7246d3aefffa513682074aaa847db4307d55129f04eb25f53ede7ea30b5b472e350453abdb9f52a66e8a381b2d54e32b2c9e595493ccfce40de41da3ffec7ba57270daa57057514115c3ce264db413d42d18bed3de3bc998f80b2a8710b2c17472cfc39d8e04795846c5a3851551cb7561e099eb3932dc4c595795225264c42d7209e75d1e4807c2cb5342918e0552e2879988f378ef06b5bbc6bccf9f3bc72872785fbef4845f5de15b5d3abf99e51a572851ee2380b3e3aa2b0864a9c26ee70f932ade70eccc9a0e9f630f4b50b0eb88e5aac3345b86f5ac6227421cbd8ef20cd2495f92f2481eae6c1e206ab55af1a594827807302be07ee908cc37d34f2f7217278225303f6c230a95c5ffdfb3894ef51d3a1947394f4dc761b71e81ae0f2b91949c8dd3239ff08cabf771ba2c8ae829b233c0bf64676df9901ee7d032223f35b24b6170a112c15a6790ef06e9dd9941a11f72645c0f59014e536768920b72796907b16205f7ddbfa895345a84cde26465d95702e3c0b009bc779be9c37a57cdaa3f086f8f078584580f38b5141793bc87e302ea7d58c291fc6396a960080d3fca88fa46071e6a3b2935bd38aeda7358a94bc3895497063e7cb45d01b9a3727e2571d40f1957129871dcda93db29633bd11ed350bdd1b3bd302e54b0dd29728e43cd5523b0b7a445d410ef8f4cd3c60c16e21d892848aadc1e681ab34e87724d8e19fb31a3b2cb8037e3b0bea93da88955a2c202451fed39c5b5cf9ac5737240bfd8a32b3cbdd7447446a26398b2d4ad3d09fbe47b80fb0ceba954ecec0a720a2c0f6854b60eb9342dfd80baf821e7003c276e5e0efaede8a738ac50138606a4a3c4ee0406043f3561e5d10a8e410aad0a95634a37ad0a6ec7133c8f22f9040fea2c683363e8466be7a9fb8341ac1d7fdabaefa43fb461ecc36020cb80c27212c451dae987a1f917987c150de85e49d4e5a575cac54c09c417db8cb204f32b211c0d0d74f4aaf4876d1afb4bbcd3d26679f17fade5883f5b13b1c203ee477256fbaf76ba1cb2c418213a4fbe6c89499300908cc804b13a282d09e0c027102c4bdd14a81688b73ca65e0db9d4662a081d43bfa18aa18c4ac057ae868a4161723a7e83d904b11417d60d521ab60d53660031d3e5fe80e567855fae0c4296da728015f5d968fefe4bda38da03064bdd7f93965d27d4eb3d172772bef5b4245272f4ad0813d40848405c2172d9c722b2a1a6470a8ab220f916814f3566ecb5ae72f1f41582313ed064427eb2d7b21f7d658e619a9d5b2c67a8e73c4a6c828b95729b9e42d1862d5bf782df0177915db96add489aaa0d795ccafb6785a966f1a072ea5097b91460866c80637529e402228b18bbf0dbcc44fffc153eef3fa80a7472605859f6e3de765401ef1eb726ae9d1534af0473d76943aa7b14f2c03cf55f18ff71899ac9771f81041e67b6d9d576055773539504e05677859daae9d49540720fe3e80a4893ee4fa9895accac1dd8350f98ea48855a48fd5c6e01079d8684000ad6ee51a585bf7da9fe13a67a6dc2d1af2a9e3330a7353d9ea8db8c27ed5d144682acf36c00c58845f0946b0500bd6080d516bae46021d93f2586c011dbc67224cffb95be8c8d20bb02d55cca9ae18dca7dc4c908775ac6953e64b59a5f9072d2d745f8d7f8ecb23af6a01f41f72ed9153d5da887112c039887b5b04a378e711b12e9194feb6e4f96413fb7c8d358ce95dc9d698cbef87dbbf0105b7ff9fa298f86d237a00006f5ba2cfdf8f08a1d348953a35693add2f23b03a62845697e72bb56262d36cc2c603a0d9bad1b24949aa858d0577629a88c5b8761816856d972c34c3b1afbd36bd0be4f306c42b64b0e7114d534d09c283dba611f84b06965722fc738b68f5fbcb8e1a5aabd08b3040b29d4be775ad085f335c3e086875e750a9cea3e40952cf9152e696e437f45165887eb0165164955324a5cac562815be102199ea1fe99a987e953daec611486c313e195858e84146f065ebb0858d579672c8c1f59fe0db5befff6f543bfaea11c4ef4fa44b17f21dfa0abc450a89f213145bbe0ced603904813a9192cb75a28174a3dcc0fb1f25ecc5ccb1f0dbf2c01d72d4141c3b8bf712769d4a86a44ba96e5cff6eeb74aaca034e13e7523f2f929672fb243284ac70660446bed3e46d08fd7cf32e7e9e694fba2c696d145cb5ff27725aeb13c7a48963f40d323d4c9668fe5f16949c65ac30c6650f62929cb83858724b4afee451940e4612ba74c82d63e7c868a729e635e6ea2454a35a23da6eeb72a96114c878038c7ca72472dd9a92d69053e47f8b061a2d7154887dcd86dcb8722004a2e11e9ba00e802b18f1c34de714ffda7a373df448cc1d04c6c1d1fe3c72e5ec5d34a5bf9acd95043c31d6a318d95fe8b0bfd6f8d325a084512e596dc672ae0301b36496f6723b01e9fbcfd1ce7d55bca48f187563417c3be8879cffde3178252b48cd95df4d141ae7bceb93c0279ea643924dd19c52c557e2ede7e21d7210ac8fbbef1af9b335944c69ad06a50fa64bcaca7a9645b2f5d3bef1c6583072364e4fbb4c4f21fdff35519762526d275c3984e0dc722b7f6c7b66d7f00f4172c9eece1e311db26303a65f3d659b4b5be082aa1697762d27f5c2ccc83e876f7281c9ecd9ace83615664ebf973f1d5d4c2d547c71155746917743ac4e2fdc6972cae87df9b28d9e7e075162664f6ec9a0f350c3ff96ed87a09bda08051ae54370cc2fcee456575bd516b3e15aaa449d3ee869c5c11048cb874130f4589af9b972b81dfdb5b76b2e75b71ae23b15be5a61e589445ff182111452caf9135878ca61eb906beef5b55e39911da8c06dcc68c84f5c1c5838441fad02bd832592c13272c7453eb2146e0a419354851290b3776143dab1f6d8e6f89f05cc3a0e489f7d25875b7ceb66f54144838981d37a1f40f395a0038689a7fe84cdee5066d10e8a4f57fb21817afa4526bf5bdcca6cb1e230ff776d9225ba5c2f1a7f0ad2cc8889198e02491d96790cb6a5b762c3bb1e25bb8c72a8fd95f4c52d05798318f37daf193c8dc919801daacde981e7472848a26dce979394b9e6674b4921cffa9b11cc4ffcea3d13dea26afce3a02c5719c40d945f55a94209a8c8517259438408f0320f7d37c15ac59d4af1a023779f139e074d311a77919a9733e75e2cd3f915cf037235fa5bb1ca34d5af278b54404ebed32a67be4676c8cc634f375d2fb198ac0072abaec0d583b66dd247ed47007ac18272ee3bf7d7c5f0ae46a0e4c16648f03e724ea525fcd9d524c415163311b7b25dd22ba0aec2e889e88acbc7a81fc65d980c62cafee8e27bf119c373422f92cbf49ffd82019db290514f9b1fc4362e11ce7204c137f6ff27713580e2c85c409a0006f7580c7145093fbf36bb44695ff9d30b571b16995ddef2ad215bc75c77a51ed6c7fbae1361bd4211ea526afe5f03e97270ce3c7213e0ed9058d8351d3ae71cf35e5d2512836ec45e4c94f67faaf16e47d32b2371670dc9f9e7a3d2e7ae4cdca2abfcc2d617ec56b27805e717df59831694e4c889bbcb9f64c1575e46c5097d8aaef390b6199bc8eb0fda6478707bc772d4c7c752039fd7ced02deec970b94a76c6dd2832f23d5d61c6415c9e86f9397250df657838da36f04d44a071c28afacd9fbd3fa03502e55467ec07c061575472c8b79500a8159dc79bb3b57b5fa9ffd4e339a0ee0ba65e046186798d350e2f38ed03efe56674f731815a2c7110374364c2fdb0493f5be77fcca1525745584972c0a69ddae2292b5f71f8bf7e5b430d41162cc47a8c4d9642bdced988e8cbdb7277d2d88b7e215031afe86dad2e7d0f056042090f1964d718eee3ff08d4fb09721fd52b5062c425c65b298cf43150a55d26e40e07290df1b5a01e151cf2e1d7723a9e5c0e0b698adbaba4d20c8c2ca627d07aca72d65a06e62ef07b83b1702738281994cd60bc894ce69b7347970d822724c23bf9f5a97ab6ee1055d3ffbf6c72aa8cf939bc312917090f7e53cdbd6acfedfda495450b0e63bb9f3a20f7b22650adbf9124869ddd83354682c3d16c363437c094f5966b7cbbac95ad1fca46836b7110f5e2f8222233cf556decb8d37a6c3ebeff5be1822f7557d5edc87a133e72d73523128d2254aa92b5468ae4e35a2fd6d4b98f91274102452c7e705272d272dd0444e1e3691ca241cafc7d334bc78cf53ba80599baa38a1492d2e1d7d4fb36485d1e850775454c116be3e1da5576799d3c9c71d2c9242ddf84f37be664f00b7a5bd27fcf6f545cecdf2e48329f805650b6c84830aeae532fe71289e5451b394165935e1831817214bb6a21a4310e6c88daea078400ee05e3abe10ab8b6f95ce091d53695c6e614df3c81296a7525033a3f09509700cc6957e9fb8d69b0d6725015bdbd9c685174837ae3c00431da9c59cd79f80396ee4153d118fbf44c4a728a33cd70c0f09007432ee42f2b588da52fbc70005ec3de14202c16e692136d72862db8755a56d0618594cc1d0fa2267593e3bf411ca9bc11710602d33dbca9451c660cd5e41682760b89e073e5ff1f55bc2b1d2fd5e3ce8ccf0a04b2f55bc372b582e23f97611c04a287d8f73d3c35fa252c4470160c9203d9811eaa4d4b877291ffdd38668fe45611a9651a2fc32d2693cda2a8ae6b8c45acfcf2ba3c99f1428c4e128ab065d774e1c423fd4e072e34bdb2b991a68d607ee62f05cb087e74057ef7fcf1a73f066cc4d2b8b64e6ee1d8b2215eb85933e2cad28952bf74f31c678e89cc1fe8e8ee95c31c56823499ed226b3718418d1d8360576d6d867f52327279122b63cc2421be5537749dedbefac8b1d724722823b6c04cf319fe1f4fc316d4abd09c220d1a332443bc6672f690ba288c67b32b252b65aa3b13745192f56f182f8624cb580039762bb4e799c92ba11e1186a27991157225a239017d9c8072b7f7f1df17f80ce60c3560c6f1b93e7c2d201d95f4a589be1375de1535412a72a45345cf1b7bec87e4d1b403c6cba96849d9cc26833b0e3a977799406e60a8725f718d4f86ff25e754ee2302f6745ba354ae586f550d5ed7ce5548610389a97258fd23a7fa407661b1da724a4e167d5c6bc31c948b2f85134f2c452fbdf8f572f83573f3d16447efa10b4e50dd2b908b207e0100603acb3b862279dbecd3471af9780752a64f656a8cfd76b266b7b61e6016bcd6e8c7135eb4e25196a81b7472c6a9bf96e18720de7c715a2ec7b3f00cde183bfcdf02afae8b8dd3e27b9edb728706718744d71155780d8a1cd158808d378984919412a549b4bdf6c568bc18697e03e6d6035e013ba57c18f7048959575e30667fa82cfe58168476ebdec48772f822108ab8a7ace8bfda770cbbfa3b673f0bf91fd930f3226f812ff4155f1c723ca40fa336c44230f5f4a6deab30d72d5a345002fabd81be28dee26e167fc87237f453d2a1e12413d2a551f1179b2846aa8992409cd953258b775fd65f17de3528322e8d9f3557efb87318a532729209ae866c53ac514531d6fcf2322d241315aa9c7757d24b5fb6db787f57c97ba7cc43d2bc0c79a1d77330b65376ac727b72624a908b715161bb3d8838146592b833a6b6814766acac08356099e9928e0a6ab2afd806d60bff2dfdf09959b7a35483c90d878d08eb133d824d9e4daf5c5a726c6e4781a3fc7e095f780f885a9309912aa0576c281d927eb0d1be9b89b74a45e5ea09e273d6cc9e9e4fb1bc4125d3f1db928814f5a65d46c1231f0f18d75e722403e90c09fac6c6cc173538e29602fc8d80dcb0ea6338b5f4d9a2d11ec8d07270b393ee4ec9413440097701ffa296cde16dfab4387636871860023de96012725b276dc0d9bf8b98419e54b58308fd6f1b05380da15edfa8df10ca79b49aae724e78d1d619a81135b092c7f15bea555acc1e25586c3d7f19d640bd69f54c9b14c5c8a553ffe2cddb583ac7e562b7e50d740289b8ba4b365ac2cf3789971c3536a9c6c7a92963db4336933a815c4d777c78c3a527d77e47a2a1dc75551c9b5123ab27238a40cbf5616b44699c5cc7c37a2847a265d6bebdae10a38e0c7e8f8072d7def0af31bcca3de0dfe81bcf47c5d25dfc7eb8b15f757a6dbb4a2ae5a6a972f921b8984f89b76b8f340123beb982df2118eb6c208a0ca52599bcddf9eb6e7221d7e7ad8b37a47390adccb83cc9d47754c5ad95e9b47032e8869b93a27724728bf8f51b7839c20c14cd0a62f97930502c0e55ed8a51837026b103425ae9f97273d93ebd5748f88f7398dd83716e22b57888f00716ffcee960803e959f0fb3558cd599a9b96b2a8541fb16eb07c63222e5b9a9d944052a6ec630426db924be727c4d3f10ca1060067b40afa5df46aa61419961718de869fd0507cec448eb4132bd5050e33cee71ab703182dbe3bc4a74d7c34dec6dcd10e07592846d18fc82725f4c364a5dd0a2437ea71efa00c13b7e3f2a42f7bce2e904fcc182783eac5724270cdaf14af9280621640e1408192b9a7063decea85dae23c2fd743ad9552151d2f2a3d73b907294e9f60ce10b27edd78ad2067a036b9fc4cefbbf02baaa9f6f520c22c45787b3cef0059d2f023869be05923339cf908d2a9476e4d607112f72190e3a2091ba345eba52ebe9d7fb2153d9305ef0adce0389ef22f0d2c1d4f25e9f316f0c717eb5309b793f4b8d9ddd19c06caca111f6a74a76348a9cbfb6fd7224e52dec3aaf068dccd85348a557c8c7401f81b7db7d158eb69db96ad73f931abd9c2a4cc47853df8d8f470440b8addc00c44dbb997f14efb01c0940787f9139d51a8da1b54955c2d1ec9d757336a1903f609407e7e333efcaef21605f1ffa6b57671d2d96b1c7d8fb382debd6b8324f6b3b84bbfdbe1b3bf75e52826c140b729bc70ac74316f07697506639120dea8bedbcf4950866d89335a825062424a57210ce5a7dc828df8fbfff945be4ff4e1ccfce5a1a61d418a7fb1d7cb9756d9a72a07a362e137aff1587e293297d375913390f57e2c0a862d64c6ca64c8b483e2608db64a8bc13e42577b7299c5d80a8d9f05a2378a6c68b31ee63d0bd44308d11427289df2b10fe2697ee43d565e0ccb3afc30563cafc62e39e2cf34517c26e723a677b91bef970afcd9484b550d5a3b2141188a390d120127c5ea0e56fb4982ac61d5e92d6198efc8db9826d74da7202f3fbd3e39dabb03956965c3d43f6553aed5578b21d9d66e2194c8dff84b2ddb95dd03ae570d74d107f8cb91e51bbf0726b2136e3d24b3d8223769f6a00917361d66ef35ca05fab4e1b7dd044e0e0750c743fd393bae9e96f742d584120d17b3d8e32f7da317471074c2159b6249b8272dde50905404f530ba8cda74b1d8e08a7be2e733e713a7f2c784ebd4ca7634710f17abdeda5aaeed30ede5b48d846d5722ffa0b8bfbc6895062c7d041e7189d72e85426e79c638fab44fbc3357cc32051020fdfa393648e75b44e33921254ab72d972133976d8143f7a5867993e2474b42c89fafc881701f0a0f5a1b227b46f72f1f74b998314f2a2d001fa4f06273c92cc5617c1c8812a855df94568d0ea45119ceb308cdfa480c6bfed8efd16d49849dff8be380cda46f4ad7c3be9596f05423d3b4d96a0a1a6129c68be9cb859bc366be806a791e7ea3742700ba32dfc343e0fc232f351b4f518cf2eb42366e500474f999bcea4eeb5bcce9f0bee180780722c88c8343680d1e118b65c04f38dffd3865b6f1654da53804deaacf40d7ed40244d60105b72d4d52923fd49d50fadce850d578597dc844733c00b09ced0bcf72b243bd3cb2c4dc0e0b7e93a7a9bd9be610c6e0e71e109338909b4cb3c4d89f33d38f500b529e4136859a6bcd9eb233b4e29489909aaee2fd4d566b7ee86fb972908dbbae10d25ff81070ef08461edf63d199fcf0a6d688ee7ad75045343d492f90ec668e44b55e5de1930976c83896f16513ec517e890e70120cbdb796004572ef0e63b1f592f9bedf3264d5411588c530389492d55c4b6515633c1f82655c4ed96dc4b9b18e82c62cea1d0f54edf627c9a1fe92865b226bcf20bbeb5fe305722bfd94ffa0cac1df6f8c0365dcf82adf3666dc5f3cf70b0567e14499e25b59721d87a2464f6f67c31fa63070352277a957eba977c5148ed00cfdb6abea2a1872cd945a339d783deaaceade9347c23957dd49ea4ef1696d80b919ad4aefe7337200e176d54c2daf7298871fa8749a90157d508a43cad15110175c392af3093e72b69106d18dd6880d3fcf94679547288721d85b1180429df46670d7e052b0d0723322cd7225634118dad93f48f38c264620d03a30428a24a4a002573b9036e472622f550a421120ee5f6faafc89d54aed89e81cf10b9e39ac3007bb068e8920089feccabcc38cb2a79a3f3a9364d8412615ae5a035bfe37ede14c273c29351f08f6f90c369910f99dc42ce10508c61a7a7428ab70f643ba7e332083e00278cc72704f93d1e503f24bb737f518212137c9c9f75a2e7ba1d80b0a228d575080e4239e3bf2c051fc25bbb7689e5aa5bf2fc974e286671273f0fc327d1934a78ea60f46255aa6d571f153edf51999a3baf0518189fb3e853c8d8ff9e09549841c8872ef4242b4878aec1c1d2e717fe2a1f5c46cd0b0f2a21811326f95e7f1bf525e537b42db1bfafba1969edb6051b98b549e2d8be49afbccc28b960585b7c59052726f9eec8a532c07c23e945fff6c515e33cc71f4ff42655041184c6690e1e52a5f524790a8270a5038b9e3204e559e74ffb454cc9aedbe583df870af87bff75164d8ba0676aca39223781101c72af4eed746dcdb7c9aa27e96de37515709227e3fce6826425035aa0311c1e00fa0a0f2ab1090beb919af8f1686fe4a26df7c937238d88b755e61c58470e98fd89920b4d6667feeec2e87c54ee492289d3c1fb77261b27100399c27e6e7e083b25817054a86cb8642eb436539db18af54a0c4db72a071cafcbeb2863e51d87c122718ac2e1d102fd127b7d7c4f4f3d65ed7759b2e520be22e98e9ee43cc7cf9642b3f46e22ee86cb9e500c15340d3960d22090d72205c7d2cd6b135b1ab6614dee39b749da7d5d86912f5a755e1e15aaf6b4ff41a12605bcbcf52bb28621d2fb769667f8533ad06a0c38be3ed1556df5447de2b7280e73d3a07586ea8af435337c3c11d2c5adb8eeb3f2db40dcdefcbbdf0a5e972b323efd8fc87a9325d2697ef4b7ce4da8889936323853f62abf830f41f93a014b957bc937dc97b563006f11d7fac0ade68be387a200c198146ddace4817c8b72eeb6293394bf3680e539e6a413240edcb90020ed1fb0c1d8cd9f07e599174272bfaccc69ae1a057d849eec9a56f091241496dd378892a010786531a623ff194ee6d5b0815dccce946a7fb6a6590de86ebe476dcd9f86cde0e826b4cd42d9b272af9643c6fd0306296dc04717962074f3658c91144811099c8e989dd68699a41c37651eb02783d19be5f5c7b444e48d5e97f44ceb66d8a001ef315d1a5e0f48722f83b99fec0a5ac61c44c9b2d138219fb95bf5f81ea6a6b88e9972f6d402bc723550f3fa119d37cf1145537dfeb7ec4c8802ac550240fb599e676f3af90683720e7afde1329189b5d3716ef2c7c747fb115d1584149babc03a10b14833007a721f77eb28400c6458d11ba851012968b7774a2b83235c57d76856c098f116437261080c92cfcc06bfe62904935e9c92bb3bab70712be25f970925f72fdd2258251e529c7068e0e9cfcbab9c8fe7f07815ce79172198064992ea7a33dbe239e67251a4bd67102031a4c84f8bcca2b0159036ace5a9f06b4496cbf5b32e804b9164f63b4722ee6c249fa773cf8df2c313e9822ea26b066728a4d83ac10adb548056396d56cee04a9e6db74aa97b5cf5397c3ad3b7bbc2345703f724e55193083972c31f9e37d07606c6f94b3078ec93cd7f358f4d372e62073a5915e3e6cfacc84fb5ddc0d53a7c0b79a7c6455cf88b73d2737a1bc279f8118b0df766f39d949b72b8d11ee0e8700dc3fb78c45d0c2acf513766b1fd4896909d5e888a9f6213f572403ed39cc71b77a8d040ab6780b80fa2d64b614499cbd1e5b6da0e4fbc879b65095e48fb9bf0434a310778af8cb30c56491419e27fe6018d8278892c61262d5844d14437a342bb830632c7c64511026a86c1604d17260a14a97d61a26176b54bebfae6ef02cfe19e100970349465f51ffbc199f644ffd99f24609901994fc0720559f84c4e75cfc47a87a765430c66aeca107a94ceb1a51225d9044d04815b61e211e4db961beb378def2d3b9676bae7a47c6f2bb70615f51686f42b23c12e72dd1fcb26088e43e8bd1a5f13c870fb93d7d2abcab45b5177e39432183ecf75722c0239d668e45ad96e432ce6f4c7d5961b3050bf82b662bbd48fd5dd295cb501c24a97c7c9f8823bf79c328aa832bf6bd7a48cd2ce98e437d289d5245e53f1504dbcfb2092ac4b6a6295fd090ea1b6d29809f98a75f0ba95626431c478f23a72dc24d63d5d2cd5592fb9f093cf1047313602605aca1f7570e058362892d47472c181a3e7b961c3c44d35706a9c909a67e11b01e4150dfa889543ce42ea30bb72a257e1a91654c27fa90b70e07023b3511170ae3f8dd1bd0634b68c5b419687111d82f7219070e217a5185f42c4503d7e1f2d527ed965bda6680616580bd2c0293c92cd2698640c5a698d0e846b71fba8dbc5dc558b638ad467197b49bd54905650b1590fd7e668f9543d23e72edd837047b7dd1e253467b81371dcffb855d922a89ff39d627d84b0cc15417b1c13cfbf7c51ac82b4a3df7b70cbb2788d6e4072786b0cf1c96cf4e26bdcf92edffc1016490c29ea732ed88e78651e91f62d5e17a3b2a85cfe98f7cacf4b09494e58c700b60050ade24b197da68ce37c90a08872e8840deba2ac1279da44035447c21b9b9994abf25f7a874abc0fdcc89395fe7213fed2a8efae59d4a3422a86152840c498600c547648094efc0caecec18dda721c46d4b58eccea13cb122c68ee734cb75af315cf713e9c58557ac8d55123943d05fe5afe17033bbbcf417e5c0929ac26c88a3e30e49a28f10d1acaaed71799020245b56e52c5e6d4ec2f3c00cf4589665f423bb7e8fa2eda826ef3492ea4fb7299e0362ac41df61638605026e6a7ab52c85361ccaea46a6907d41115f09dd8296f087a91f331565f371586f2576b51bb55f5eb6ae03073ab2e781828ed52e472c9ccb75bea53f76cce8912068f34373a53ae1cab939cbdac666de6e3c1f9fa729c079fc990fe2c45d2bd38cfe000a8c01d1aad6fd9b9166e8f2ebbccdff841720fe5a2ea1e24fe09fddd1feec0b8a5a65537b5b1e6bee2cdcaf55364a9eb2372cc95418380ab6dcd3bcdc22a882d3a51b539c9b184973e845721fad26be6cf136f1df1f7c635ad29b715aaff35dce05c73d233eefb7278255afed0a1d08089723272c5076d182531393d43d6afa81df7e822d035d08c91d1a798fe6e3b72da44e629d5d32f22d46807684f22d8901ee3491ef14f92dd5b67f4f88f92bf2c0a7284201a3cd9aa00159289a38d68999a5b032460db50bdefab203330dbcf173f3f13b0c9c1ddfef3ce01377fce5e04621ba7c384264bdcf9feedb8b55a830d1c39ec452a35db01e5425cf88a15cac061dcf2222770e4c8be7fdd409d055146274a11dac5851738e6f77681c21078ff0cf3f754ea49ab4fd67bec6bf8316a79e472a59d551d05da3dc74df4522abf8c3e0b1ee961ec3366f18678ad39615b955f2cb61eb1afb331aa060b972e8b7a03f5d594693d766f01a9b8a3bd0008de292509a34ab49c4bbec73e5bf935d2cbd8543856f27c44243787d57153be8753b0cc2dfc197cfdadd06c89c1711e5ff02df58160ea07cafcb80881b8fd119fcb57a67280cb10aada3ea0f85eeb3e4a0e18655c82efd06b2c14f7803925697f1a497b72dc7947cb1b8fdb39b02b280c8f1ff0589264d0572080a77078c115e5ee985672e1df498bc948f1ce8548ea390e32cbc5f86d2677876c5d5f89fe2b4bcdf84772053ddbbeb68c7b0fb5929466e3ba23bc13feabe1bef1739cc12c9a39f3860c726d18dba37773a38c32abded62ab7d320fa92f89334a63287e2a416cc462cdf72492c1d0c0d6b397506d8b51fa2e66e6c511aba542906da0399dcbcbba65c6e66446adc03acdcd0f9bbbae9d0cc712186f861c0e0275e3e8c4e4942f0c3660f39dc945bc59fa38e15ed6fdedea335520c8b48fd96c7de70b1a08a110b9073b44ec11b64bb62cf507a5b4dd2547726ef3d6dcc1172a11dd3767b2e54b49e90017221f07f0690b48921cec159712885d3137d2d59bca7e2d96c5d8ed5c3ef20b7720495d2f18e23ff33dd18caebaff2a1a6f061f00113dae99f1391a7a34f9a474ac03dccc516aa856a118e7d5d1872de77f8ccb261d0aaba935bbfc837ac7e3643f74e97981ed26a9955eafa1408f41d5a7026de08510990c2f192e1c696f3f068182cffd15f5e7981a765194d97bd57e89f0a9a17db2d7ed72ceb70e4f906d634ce7b7b7f9f64866fc79f535981786d8b04ec978876aa884b19097bd92ef435376ce2d271b3241cf8a93593cceb612a81e6d553bca9209ecf616dd3deaa04c7728be7c86143d4be2e48ca4514e8b51e90bf2235d702a6618cd4cf223c0f01bc72a7dc8c377e8658e63f512671f44f076b781f580eb5191e854cb9292fbe569b12a684a47b58db779c32bff47e28479c033b8f8c19f20e8e47cd841662c70d22724d386fc5c2a7d982dbb654192933c8596d94226656178d9dddf31d9acfab1f403709ce061b37e3f25fb7ef5a9b3d7700a7b2ec65e468bc209e90b53f64da9d31c8a454a5278b22ae9a884f1b1e23b58d3e61944e8d6bb803f2c0f126581e28729efce8e68631496daa5e1cc88065324d4ca5eaffa34449d2204314849c936872b33036f369244dcaf544244767a6db5c49328ab253cea734a117efe33efaa96c307e47ab9b11a6c1c1fa422e7fea612ec7eb81b6aed4c2ad5bb26f23c7d174729c578ebe22f4ba0532fd0ace7903fec1b4434fb2b14b4144e050ff499b4758722f6218c04bb689fc4095c824b38e52dd74c6b5c923c35a254c939a8309284d72e60a25470955ce9961a6e71b967dbe3fe1b677243a30e6e16ca60a51136ac934563560c61752b1713f88310e2c50027d916788d13004199c815fe7cd468f5b726f269d739d9caccfe5407e41f4a39bbe27b73695a5e583e2899b167286aef530ffcf77a4687cfdaff1c26ae78d5b89cbfbedba850cf8b8713ed4a9d4339085034846fd10ce1b0078bd092351a0a77d1e7e21556d97dfc53d81f17c5a44eb021c430e793a96257d6f1c5691682794b12333e74892e7936950aba110930462ec722abbd18d911bdb38cf1cd88d1ee9ea1661e7dfcef525f2d543e804226cf97a722137a1a7b6e65981863f7a4d6841998804d079d091b63cf577adc8a1d3617e21427164b88a2fa2cbff6989ee9684d9f50482663ec1c1926dd29837d6d48981722d007bc7243e2a58d50a80d804479e1335388c1b22b51bcdda20545483e3194b7da27d729301c465f8e640c1d047a9182b86a662ceb2d9d5506a4761cd514c720f5deae91667c76901760c7d29ba5e2111967f7deb3f49e55c179393b44d7c72d9ca2981e5a353514cf2065522da063e3454d257e11ea91d4627e20511010672a509fa60f800c5b6f844f0c095bbce8f68f9616da365f2b6631bef4c207f50721e1794c932792caeae3b4500fd208ae5d763f1c6187fcea67313d95da3490c6679699177705e2fcf98634204f7849bea1f0f50b706e40fd6985a5d79a7150f72cd0e261882c0929d29da3e6bf8ff4836101feeb0783e7211d111c3d4884fc066fbe968abc383cd7a5717b4b409da1caed2a523d5382c3a0435a96de85d621f728fe3ef143192cc4b749762eb03b7ca8a728e997aa4d90a4c371be7d12f4bcf72439e207d3be6507807481c1af9955c595669eae2847db098b182b229513ad772307e46b4c5422b152f8a4098fd4d90af77df8bd9ad400fe97189ba93fb7827720dac74974aa5d3146f6c00b2cc9a4cedb111d8ac6c1cf712cc015999b19826729e73a485a7aa85b75d6d8b98557f0e0775b01b37ab64ee7654b746ff01060b094b9e9d3fc270605e4f9cc4d2f1e664e5e949e00d760eff86f99a0970d15fb47218f42c85785da34c7be563d242da35dbd930dce0b77c81e8efc53031215ecc7265059b59d7bdac725129aa4b672edfecd26832979ca87d7773466fb6e3d7706ff8d66fb7a5dea693b817f8280d0d2a04f167747e67b10b31590067b0c688a129b16ef8830c40c17d2fbd0b38dd6ed6220c37141ba7f0044fa33b7853ad33ee31a686056ab7a5f10e0e93f9cf2dab6ec07dd40ade91bd396549d8f5783143c54703b6444e52bef635ab653f920a9d974858a9d1ae96e9310132179bb48371ca2512e8985b9eda524eaba6a2e82709bca16f956de5b65d75c969008f8ed846c0722301ac4afd78b6b1813c43a4c52da0b0b93b30099ea052e2d8a8a1bd2b68c944aeafcddf36e6a947817ca53bf088ffafb12446fa94203248fe3d94f665637d72b11a068d51dd4b4e04009b7e20b36d369695e21d75458ba44bb3192d6bb62d724110c937ef9bb33b66635467206c63ec26df85400628f64c5fd5995a7bb5213035f9be63a654fe151b5039b319cbb2a55af5c48ba6c3a75443bb2b4dba8c977290ae2d5efe6a536ee0b20a2c9e460406c7c9629743773740109ef9ce0f1ab4311d47037f4e88f49f6754fe20b89b4a526239202f573d0604b6a657b6cfe134723f50022469710f623518e4d6a32aadfe4180ba1c8831ca2546064c9d8dfef772cce66aeca9322aa2d1a02b9f2950b8b8d157b4cd3e86fd2b9070203b22bb47384dc4126ab05b2447d2545a1bbe058af3458422139e0243840d76f96187b09c6174224a6874d6a0601224b34ea0630507454736a54c0f1a119a85430e869bca72c27c857333735bd9641fe38c8fd943632c624cbbb8ee0c0de31e49d078586472c1a1a875795ac085f62b0caf2fa865f162c31c153b1989f69f7cc8ef0b8723728ea997b39de5322131b289694b5d477635193a7b9be8d17b30cd22a91f10fe25965d52b0a8a531baeef4d0984b7488cf6ba929152783c4197566bbd774a7a535ce2341daba32c03a29f7970bf776f3f1fc0cbc52ef2153f59c528c094a40cb720c5ae2f12167333b702ee0a793a95244367e604796711bf1c5065fa2f49a9a33052188a6ae5ffd4c3737d5aacb637e6474905da6d7a9d399fc67b090d4cfe068166b1cae2d97c2916f4baba610bf0983290b8a8fa2524dbd8cbb223db7d31c723da79a23e2fd2157d96106fc6382b87d9ff58592703130c1f10ed6fb03cf632ba6096a61466157026877228b6077815852ad79c7694efcd32dd5883d9d7210729b5ccbb8308016863b9ceb3a72e8b91123208f913f6a45cead5da608b256d953c448bba3ab09a00f431ae8bef196103e2d5cb4b38ea2e02f1fcd409fd8fee872ffb551231a3ac24531c25e92b88598e9bc2aa07459b877417b2bc62dac414b47f7853bd9aef612bcaa6a17f774a4510aa98425c23baa2e36dee41117230ade7208c9d3aba6f7eea5474795d4882fa7e0b1b33821dae86061c7c10bd0dfa37a72a6a7ef15a97787af2a2078964e2b80c3342a15e3636560898500eb0953566b1eee4317415651c78318c85f152ab498b8e705638b15c43c570c6b08f781c5d9534faf974a00946f929127c3f61bc45b7b3e08cb986b676066d3f6749dac3ddc65d89c7b8038fd4402cc2e714895ad20eae1f83d7e6b387eeeb61df4fb150d8a72b6d1a398c08f5ee124a9233a047260348b2e6184f98c500df2b8f24bcbf37c729b3ebf0ae6e065a3af6b516fa206c68cecc6e5546c74ab461c45c682421e402294ca636eaa3a824e04563466f577310187f1952795d7ed5c49cc2814dcd4ee474ad28d12cac68ed5c6491b383f488b2037af5d77f9039c45dd4f9e6fcafbe8509224c2839ec70fcd89fbbdbbe271e8be28fd15ac92d06693b66c89df6b38b57249a6ba7bb8711147586363c39786a707d06b6bdebfe01f3cc40c0162b385390686fbe7da33e8c1bf1e6ad55c3e5226777ac6ddf1fbe1164f8b01848294fccc700bfadbedcf209dc9a570e18e2726708e8d66adf9b4a435f800894ecc07578625ab67edc8e2aa1e62cf8ffbdcb126a486e99de817145596dea86ba049ad192c7243f3a71da8d82fdd85ec400eb69460d522db80fc0a4f37b1bd9cf58e603cea643f5cf1683b7a598cb3a3b2a73b717e156b24dfa454a14d8b1770d170f07b365491149b9c49df457c6731964d7acf29f283cccab40d7ca9ae725a5222b1988c721568c3c8a63adce248df18192ad6384cfa248e143458ee11fa33ec1f4f1ae272c4dbf11a8cf50b2ab1735af5bc4fd276a8f55ee4161812ca956f994a78972672486c387e97279fac5c345e153ebbfcc28fee4b39727d5e31b3a196f491fe3566677e91b0527aec137b63f70bca9ceaa05f18f4f297aeab8afa3d13508d3bec7211d9679a7edf663a3a4fabb8859d95ad130834a01b0241642e89cafc623c830583202c7072981ac2950e8f6f5d6e0ccccd593e65fb26f82bb569cc3dc73d20725b63773d2e70a14457ecbdb6405fe794c74d868fc628dde554157bda8676ee72764ecb0da528bd8ebffb2955088b8379e66f37b860ff167a98fbea3399da0372a85ec67a96c38e20c9be87bfadb038852d995c7b4985a0de1ae95cb1b4379c728246d32fa6b2a3908592f3f5eaba276e137e161a3c26325b43a9838a361989721051476e7e3e1ac46336d022c7499f26d562e6d8fbb75c337aeaa78eeb97ad7241670307d6f3ac18455a7f71391c63a7cee7b7279ead4ba4c9976623ce75f6727d0b8f378018834ebee9e098680ba9c26a54468066d5ab3c51d5cbe194a51f72bf79036443982d244c17c416615596909fba6351ebe6eb99bbdcc9a52c98fd72b0869d99f220c3825372584ac470b3944d698d0798c83724797b5de015354072088610d7a78dbe4f025b40988c31f32ecbb20cd77ef484db45e4f08f3ed477720dbcaf0975e1856dadb3debd1ab0c1916add903f64c5eadcf69e785307b6fa72df4d94799e401ff4410aaffc9d67c29c3334e34c7e5cb47d2bc99cf0ad29de2ef5a0b101f6bccdb29b76fe248e614750701e97d830b6d0383d920714efc805727aebcf96ff8cc8076b110959b1ab633fc8489f6f138cc310cff1634e98dffe72a719bdb9c615dbf3001e7b3dd587577840005ac9d6a608c41d5730c3db8cba72e4f2e20ecdb8a6f53f80ccace45dbaf7fc38603f9e908937d94462b0b0f1ba314040a4cf1b6606579c7bef440ae46b55ca566f7dcf699445619ea6e69f83b2726d33ef07159504db32b58c2ede4151de2a2cc9254cf1afd30a7eee6b5c4e1b727a8d5e1c4ab45ad183eb000f40f07684556a7abd8f2206f3569aa4e7b62299522e93a5462eec600961be30362b2446e516f21ec00b790af4ea6ec848ea8cb025e15baa93e40a10ef951627858909c8b822d851d4d3e9ebc183de631b8b8ee072fc7d6a3e21e3d2ec082df420b4278aa8bdeff1a35a39614f2a2260c7d977927278d32e0093fc3ce486da15efc2443c20f394b4441123de79baaee2ff6537b1345c1af69dc9232041157dd06d54912b6fb96cc9c01c9087a5d35cec0a714e8b72d31f9687905c65435e3531c2a65fe489e6a6f144c46659b6dd331c3691d6ce72f8b28a08a5192143de1234ce2daa064044e9db5e756d4bb0fc68cf1836859517f2b0c68bdd75e1b882bcd5edc546f4a54866365a166e9ba338c735420acca11534c392174ae60c92e22cdc78fb728383c7225a2ad77a4fdb7afdb61952f33b72fb9cf8701b3a96c835b6d9e9eae176bab04885ca10efb1334db6440801b42c7230803f0668b906c765e225fdcfda340718ae5840ec97dc3aa55f59639df5021e814bc183ce9b168c50a7f1ee6ee20595babfc4e6244f69fbf244357b1de9f272766b6486e7b972805142f03e160cd51a66c2bc7fccbc19565eb9aea352d06072aefb404eca65e6904fe73ca8638a0f2427b29ae7538ed5148ac4f4f36246b87202be2fdbd0f2b3d39781dd78409ad7d68926060b3b33a080e2d5a63459ecca13399712503e44993fee65604789ebdb90b8c73ac34091bd94da84b7c74905f411826f489af6831d24c11d736aebd607d9bd25c72ae4278740d080befb8bd4f172e0efd29ea35d40628c1e42c297058f47176ef25336384055fae50fb317220062592441963f22fdbb537550c5595f0f338fc8c903e8d1d413691088827b581072950609cd8796e7dbf10dc9e15ce898edcbe193461429fcf394fe5dde2010f5729144e903046f5a2368b312af945e114ca2aaeca73952f58d7dbc2542eecea9317e6f3ae68c35b48baa0bd4d652438ad565ccdb3d3f9fb61062ee2fd8052bb372f810b4ec460d45d95ce571cbc1e97fedb81bcb8ac8de3f628bbadba9d500d3728ab8e641d2b61f2ec6090e5632f5dace1566d39366dde6c1516c8cedb30cc572733da11f6d5df0932b71ccd2737c35fb55038fd24a6b0935ac95a768062edf6cf34d4a1087031033a77fcae22fcc40a84fd2d843d95e6f932757fe900d8ee772eda238ff3fee8881bc7ec9b7b83e15d66012712423a74a993ad7730817154472d0e1239772a73522d3451d25f6918c4e08ebb82033c553a77eae199f01a0320b6732cf1a4b9bb204264b6332601a648d9546787392225f8157937ddd44467a42333d70cc16a0a9afab18dafbadb9a3388deef3e4dfa4ed00dbdcb23c21e98e72954f1e37acb8b6a9bf07a83f9342cce72c772786bd17ff66bf09a38502170f72aa19542540d71472677baedf454d3b782fd84c24517502718dabbc53090d2e72bfab666bfde16968e3c52fd73c276b77334a7fae05e19b7829c741678be5d472c4144cbb5b97a1b119980c98baf03a56137d7826a52811c6ceafd128678f247292fa8cc339af6f2b10ea780dcf15dbe6cd255b19113a6ffe9163e5e269291572203188e07704552eca771704948af7f4e991a2911c37c8d9a28126df13cd817283c9b44dd0bf2b9098bd7b11fdc34d23a1f9f75aaef843d0e7cb9ea5da10c9728cb83e30f42e76c3cbffc555383355be1292499c0be660a662fd1a6b3d548f1eeafd11089e8dc5907e558107cb6d6ccb9306e9ca4a3d2eef77d8544199e39a72f15c0a8b516a85d28007fa5ddedc37e663c6390919165fb75009a78e837c237246dd5d069962e5d51b5b41cf6a903bde7bba18aa4cceb6f8eff1b8826570c67239400fcb4346b1795d5ecb52f3d3dfc805da9c3e5b72d5206846df5322252f72f251fc747a5bd822716ab5d500ba8b5486dc9a8a08d7d1cf99ea84209db57a72e95742ce1ad1f0a1b013f89e11d353c2508c4f377eea492bf0ac4c3823d24817ce7ddcd3a49074fe3a43bde4c8703cb6029c3c19253d38881b31eb02c249a472674427ec6a48c6a4c7c8395dda23321b1e850261cada4e0db990428259c5196b2a8c49d914955817baee730db9292a3d8c322513d465f520ad7b5613c8812c72630c21c365919e6a3145b37ff5bb4dae04afc761435b3416ab69cd66a0432c7292a76ce8a6f5d778347f8b85f6cbac06763441270df67c5cc2c8295d6818ce2e2fb04d509afe0d38cfe75d549ea3ff85756290b2169fca2aaa753de0fd2b2072f0419f1d8cf7a4bee94f8ddd9901764f5d4c92d3872fefc659877f3d6389b0039a43009d446db9754aa3e138c9b81a68286292a71e852944bda8d9471d3d2372d69a458dcb2f42dd48f7eadf785ab0e0985570a97f5d86cb47b2aa59fa9b307230bc1151965ec07c94bc3da6d12c309c107c0bd326800496fe922b53ce2724431552020eba84e8922f8277ca1204242fde201357eec6f4a7a654307e87709572589b8901710227b6d8a20305d3994587d8630bd8aceb258605c58be0839b50698e24a6d51c885457b26b3d909a5234aa6e78c86aef67d1edd3292f35efb1847274c3e7a6a306707187decc38c41cd3ea888f006bd0935e1ca2062e51dcb7e56d433613c953084856c3b97893493be913787ae92c242d463fb931166642162a728c2462c790c41ac0480170e6cff025458da72571d0778c98f4a8811d73c08a728ac39637d61ffc722d4868cba8e5ba0b3ef187ca6539a1f8d478ad1bd6ab295a5b8b711087d99082523b14a305b6b72d06540c6c96fb41ec655bf13bba619211e3570a644ca8c6fe0d83d195090a3a4236a0e7dd2cffa6aa76ddcc9eb52ca9726a7218b024d46ca8bd98292e94d433a239907995e120bce202b017eaef27dc7258e70d5d8af70938df7a8d6d5366ad79a847d21e53e4d7344d9b6fd693e0746a28e8f863fcc733ae94b89b170fbf26530477f2be6cef96d4f9491debf8689d346e2c867a26f3c56e10955425a481a9f4d9d190516eea829b7e80c72419d5fc2b77cbcd187d2899929d319941c4df0e455edb0c58c599666d63d781c605964772d1ea36dec1586d5f5907088587390f289091cd6eefab633daff893be63396772e0b43a91868bbaee891e8b842c4d8d419104fdc5aed57cb65be4c0a1bc897572aa6d6f8c0582e52934acf1437aa1142b9ee3070f0811594801e6fc8052ee55729e8786b9efcaab79fec61ff346bde50952b06e758852a84c319421e2ec9eb83c87969461143dcd1ff233a11622c794075821702369b9065552a97a29f41f3172a103bb53d075fbeaaa7cac7708259bdd5eb61a9ef224fa0d29f10effb28b9c3090c3bf8218734809dd772ffcc5a023b649d10e6086be5969a31b8664434c6d5deeb07bf105ca37a94239531af5a7cd0b2a978cdeb65d02bee703e7a3e414d86aaa1efc9b8f946012614d80b500a169258a90962e71fb57820b5ded8b41aada72c63f689c5bc5bcae50b7294cbb561d178ba9e6ec1fe1c312198e740f1f095872fa84bee1a41ad310c043b4272800dce78ffc634104bf785fdeaa775211590665fd91e9a548320a4e7ef30e384abbf0158907226e7bda97dd23f1ecd4a7055d6ef0f8b89fce035d63c7e2c8908d987baa359b43de2d20b853bade57e3654bad722c5012a9b356f602440ed7f8c1465cb0e3fbb7072288b93e9f9f540dc10ca83db0ace07ac546051e9bb6fe4a3e7588da4b5150421d582b5b2ee2abaf321fb9726950a217a7d6224c23b0cf061b4fc74b19a2ebff222c6a4c0854a9b1cba666720feb2710ca576b02b8f2b8af44ad98a7c3ec0bdf1449e3294c3da77703639a7207534c4982415c4d32151f2dea29abfdd092dd7a924c6f4b4cf58750f468820b3d90812bb712cb816b395842a39dfed41dc7816ebd70a35725a702728a2572723e9284df0a2a10adab8d8eb0d580d13033bb645879e6ca461fc09fe564d76c72aea8f19f6c625b1384b651ec31bbadf8feaefc3acc8ea4417ec917d6724e6b513c32eb5c0f34242b90649c7608bdbd45114b88d247a5754c41c290ec9a4bdf727d71424222b5611d2933db1e71e775a9739e5a6dcc9f8b9be8921e1436c13a5e7fd8d0c287f305fdf879e48160821a4609250d540cf3a04df131bf051f3c6c729fd98e8f2b1520196c75005702507a53cd5d76a0c412b26aa2f871b307b8637236b95a06970ce0fb1fe9c880037ce5807857ae604762be36521ae0b5932b78123a90c4da96530ad782dc73fc334c9e1561501612142a6377acddcc2885c03e722f0e35a4b9a0b6121eab0c288c1bc4f34761df6a90f590771c033c939094ce11a1484cd1cb1dbfc03267030555359f952c552a312e92f3e5205d26a988a74f11e2cb4c533fcbcd3dc923e6bc86e55fe521a77e9b200f3a151b0c8d8d83dcdb727b21524ef406640089d7fe3e62b3dfef5807119a8e40137c57b70d2f3d9a091b11aedb781ce01b612f160960a0b4642bc56d4dafee4309ed1b1f2eaa6468ea727b2032a112ae65ffa35d0c7c1b259aeaee7e5dcaa3b262085d61b7f87251e672ecc4c12a0679afdd0f4eb417c24611c222ea66ca100e14142ce5d192d288e05bfc768cd59981b4ab7de2735208536a599e4ea5a027223dbc222af2f4f52ebd169ff84f702a8f1e10e30e5ea917e9a484a20c4d38e623df11b9f79e6520fc1272be330f1f709be40bc3186a88c8a906932cd6d579fcad9d179122fc2f242400726af8b9e3071bf9be999c865e56fd1f5dcc3caef749d7da5c8de9e41e4669eb02f1d7bdfaeef764a30f7248100aaa106b7c25abf71efe270fad7d440acf5a6e72b0a89f3f51be51c68864e6ccd015031ef99012ff89c9b565bfc6d47e25ab2d72077ca1c4582b105db1635f63ccb986bc4b6370560741e3bb982f3f47a62dd972e988b82f8d6a8bdea96f6e4f6328df2731109892475332429a14ee882c22b64f1387ef108aa11ef3028af4790a6a0eeb2c902dd50cf95bb810e0f048c88a427204cb93661699d09ac68b4f0212d0280b45bac53e4f65c42373739e24b7b7817237f5997904bef5032be4d77f7073a4db07ca1361b8bd0ac0b4224b10f159ee63f59fc49f7c6e439d5b211d195ebd2e9c66e1794e723c12f4d93511c7fe177954fc19a705b7fbab43d697af1624e735c80f3e2a4daace0292a0286b87e9da3f72aaaf3e7c3454f34e6f7b01562dd8cf831e5556186331e12a32ada8c36a0899721c11c0be754b1b978782eb5f03c573fa530adfe2f60a0d68acbd0f9954b52f41efd63a0c183bcb6e39ed624e23b75b3c805b35280762bfe53ba68811235fe5720e22591eb0b295b08a310ff58176675f382c78b65ed96873c5e09822d8e24b72ea766a494b54a3b9bc2925b52fe85c6cce842a6b982526a4ad9eecc76341ce722615719ccee6577cb0100b04ec904154cc68a8997ee833d1236eb2dd0bc3b572fd09daa1499edde939abaa5665499083ac4b33a2ae1e0726f6eeb0979eb73564c54c246702ab7162ed3751a480f08ed36581f95769ee2f72d4f989225a333e6b1b31fe3183ee113984c050566bb52106076e70bd3b7449e0c60db8886c847f6b5fc9dd4ae474ed6a47288835633bd9f8db199f2aa8dd438e91951dcdbb3ffe619b5d2404536b1980e8ada339261a37f5a36a38464178c3944dbccee28b19e6722e6dd9c015b1506a67419c9efd519800ec03307e1dc7616d8007e12d0f0ff813bc765e16a1f7c6fd08352a59f7de4b356e877df24765243d150b2f7efcbc4972794648506b65d34edab81b4821d75816496d82f7308e2b60b2f6bf90c891ca72a2b9a6d36bee72cff35c3a5f448d5eafed7bd897bc922faa2e4dc27604030437d54226e0dd1044db624236bf807bfa9fb930c174fd7fa9f9e6986f3f482d9f72f362e3f1525a3f5183fc828a26221b4114a2287f89f6e834be1f2a9d85a56c01459863b3e89675ca73d24c9a39e84ff2806a841f3de2924e1e676e45548118728291eacab1c9b3a452998ca3ebf8bf28912015257bbb58c468584ee724332a72dac87f8716589e1ce1b73fabd3d6780f87629261e3e6d2c491f54cc5850c7a728f54fc178efc64df40cc1a576ddaac9953900ee1cd855a1d311a3d980048552669e9f1543f638ac3accb37699c62a9e75110cb72e437c31f8be98686f1503c722fa1894a13a63de24d90548e2ba4efd63b13e150c390b99856655e20d771157264752b0e58be69091016b11dda23c604d575e3488bc185cc9386fa206c66697273119a096cbcc9614b9ec976ab1c9baeede7e66c428adf9caa292919ed3432620bf72dfb66e085ec9e7bc4e69ddaab43bb03dcf88ecbe5758d3c9d348b51c7158fabfa67bc498166bc501fe2cb321f22b61fd5f20dfb6aeccc61e87ba9d9fd72feba75714b77470454e6f45314b46a6b415a76867f1a7fa7c23e9e89b378821525df8766c5c9e0c5c8e8c65bd9dae1052e5d2462c5c28b9559c80b6164550e7217308fdbcad1ac0f0e5654c3560192c74f9a9296e4b57f2a44f20da62196ec72f1fc76708a519e1d186ad11f5d80a26d0ed253bd19722b694c516e626441a24746e00f5dcfcb50973eb53bac6f1c4b5b3c5d12a46db9fa8bcd464d1e3416820f59814dcbbde9f25659abbb2b1b99afe4238277e1ea0a42836ad073c0ae669172fe4619e5d695b40c4759bbb6f59eb52716dbfccad5f26ba386ca749a767d9872a7c19e9041decbcf7ceb39d05278ebc9a84eeda0ea1903eb7c32d2e612adc472955d53314178b30cf56553c2d6c9f3a71a45c12e2b0c5316f9665cb468bc16721d95c77f59ab2e311b6a6e38b1020fc029f2e92be94a025323a855c3acc1557243942bbe5a9b99802a33a8d12493ae45f50c4454c10a0f653fff5142db545372b9310336b309b2b3369eb74f8d4e8e92124106d8d620be8b048f557faf487c72f426442afe92936e77efe623a4206c4d66caa3316708bc36dac7199a43a79472d173f4d4a19c4886b4414e87a043f32e6f8b32c4dfbe06962300e13385147d727ed67407aacee94430792a841a5aae32ee25aa44f1bf4d8027cb6fafd111f2725677a52199ffe48cb63af1d138a8b1aa6b1d63b3f20717079fcb5b85597a517237b55d51f6a54ccaacf7ac14016d2c03e5aadd4f775e14f9f0a3b35d8ba54472c9373e66b8fad384a29c8d236deed6b824ed27dd60ccdffdd1ed053af20c261ed0776a0fb9602f57a3e6ff12846698774c62f14a1c7740ef505c7addf16f3a4653ffdc8c0c8b37b70d69e2e64b4117ecf3df61edb7547b7b5832d046a18953014149295cd69a353d0bd1b48dd0f3da3590bb544d82180ee417abe6ec18d46372b8c96790a02ec257429b7293eb1832d4813f05587001ad07e0c4eb3791c672185cc93b3ddd01dbe4b86a9361dcbb46a1db765d89bbceaa5449c4ca02dd2fab1cb77493c386c09da16682fc6b7416ed0761f7ed8dfc5778c892d0224758035e4f4452c55ce09ed6de5539c6860b5d4623182200fedd2c451ae631f3375817e6725d8a2073d07c0a88c17cfa7721dbdfb10fc7de93ecff54f98456e5cf246e57443997de366f9bd33b7b4600671a044582ef060d5dd2f4ae254c1e29fd0eb4257204f16aa0f5f3e1c72eb0d0551d6cf6c2c5970ac17e1593d2f6357a00ff45dd72313712b4c0992af59f0c3c264013f6fbb271f6133489255708e309bc3988bb322dd97acf3cce6b3eac89b17564c00c5bc5e695b1bddc997dea000c67b57d051eab9e24cbbc8cb98721754a6202ff4ac9bdef6bb3aea98b96b8bfecb023b110321eac8be8948a325b0d0c147e0c3b3cebf1eefc845c5e77ddfbdd503006867372a70ca7010b805e96ad7e04b041d06409920879001c5f2899bcd0bea5d01362728f2dd7ff7cbd71cc9b97193a0de0bba35cc72377c1553603891e868596a9051e3de57090f11fd1f9734ec84e6580028ab6015508c9d0237fa14cf576ce3c196724c0dc1542c0c881a3fe8723cff9272496a33128cca3808560294cccab7a525fc00c3fc44a1ab9a98f61a10c25a9057d5115804acc7cd6359ebcaa860b8ce3724336d2cddd94024b06a1fd99e8248170fcf14bb46a43459f5ffbcdf05b632f72a8c1883bc0bdc5008df585ee4e6fc88f622db12124f98fbaee32dbbc937d5572e935514d54a09da746079afd282a7eb85219b4f1af34f9fb4905d3434ff00372021438ffb6b8918d40362275b9326af35f3b73c51ee259730af593d443e4a40bbccc89dacc426cd43060bbdf961e293d2d01ddbab6ba873b501d942786a770101d83bab0c228fa03525e08b7d236b091206ec063e62aade730c3c54167902303281f6a6a5003f712341e674bdf330b814d8bd708aa39247ca1131bd29541a472811c8b113dc86b7c533c8cfdf93756b78c6d0c2fe73b6080bcd09fe47749b17269ed1811ffc2c4486b81fcf5f525cdb4915c8650e7ef9f9344dbdb281098c30271db7001e75c1dd26fa95acc7bda9bea052c2e817f329af7d4f92c359cc2c21add40f36104613658f999ed9df39e9f30d7783cbccb93b07c7d3d0ddd5caddd72fdb7b85bac8c7f297d4df6a302ef365aae44d3fae5e5ff9350549f6bc193761b039a35392d0bd08d60817254023fceae823760f47d127702391147288bd900728c37e130d3ecf5599a5fc819d441da619b8d9cdc66995953d287df82eefaed72e3d9efb73147b3db9a402eb38a2fce2376601c2be3bb8feb5dc05f4bf8a9277258fd78a70ca79e4c0580d4d55d6e5f78b3155a1635e9aeeb9c732afebe025172b52bd619026efa9ccc5b8a7eaea69a13fe60c30d0c0ce6effcd9e6c0f6c0c74c14fcb379ff4c2020da89c130172d9e5dbfb66d27cf57e0ba7b7a8a58ce57357219086a9543b38cf98f1b238c0f061541fbb4879ba1db709e4d4329dfc4c75c4574242102bc663c4b28a64fba98e2c5e41a6ea8fbc0f88fd173c821e4195bd27295b860fa439d85c565b7caf699b4bed72f5b4ef22f0c9fdaccbde75f63e3ba7274069729f29cb2d86433e281e7064c354a88c7a5f84708ddf3924716ab185411b3793509961f6a2017af3238883fb7abb50fe873bf13bdc958697e153c224f15a00e9eb0ecfbbe730ae4a65b2590c8e7790702decf9c77367cd3fd6cd43dbb721f6a984f891aa7207c8f358530bff102ea654a8d7040d6cce678d381ca659b723fd08d95d553c4e22a84034e65bfd3909095cc2aed63fbec1e3d1da471bf5d72a0bddbb93c6ab5148256de1cc4d4b96c73fa8d50ee4a91dbaae48ede34fadf72f1b6ac523bf47b2184bc4a298df89d0aaf76ede091da03fb4d6a1ce85b284c07e6880d1ed99440ae7b2c2701a9ccd854ce17b3c9fb02f12768b457fe5885de723ab0798c368d7827e2541bcd79ac20e910c663bbce7226004d5db1c4eec881371ef8a3c22606f145a5350c421bdef7e1a88f5ee9b5f51a4d65a9cd4da401610d2cbf681a436da7530d95226dcc0f97bb89bf8428acc3331d0cb59fd9f8b717728e94cec36dc9bcb7b26b6ca56f8156762967604ad8104d165553b820f617651fb6ffff0c82ba17d66bef413db15843dc7a557f874fb064ae79800bd560cb127211269ecbbc95db4125ab03686e94be54c4b1ebbc1e2db1c51ac3fba2484517728df7b3aa5741f86f8f5266fb95dcf29bb35221e558d6bb8052586eb5dc6d5772380a173035b7992f3cbbaa14bdeb4d46c9664c06157d5ed4ca9862310c48817274968aca270d2b0807c4aae9547da3d9a788787dd492ae6a4aaf7551f65f5019f4bbfd355c7eaecc3d369bb8dea2e921ddf257160bb9fd8a8c0e07057a989e724adf2fb456020b30143e15f85f5c8510724cdb790e5b68aab0423b03c9d0a25590765b771b9489b836e280775f9a2e5280fb1cf64067c778560e8a5377f1180631527f409b313305df7abafa89bd74bae1766afe34d2f5864890504f4694930b335b0d70b2dca71c1fe3edb047cad0a9e92afcbe4bc3fca0a98a469e1b330f72f4c17c360cf8e97cb75895a835acd57a24428eecc13b0b64b2ea834796daf9722ae35d35a37928435e7331fe939f5f2387bd481eecf7eb9ec52f0c0368220902331f16ed127a5952c626164d58a5088d2c84216385d5fb7337814c48258733723bd47584b069065f37a506d97e0109bd40248104d3fe37b332cc9ee47b4bb23f30d15e1a8b35dcf17c5df6e6433cc4ea9cb9fcea9efdf1b3375d4636c259e37248398346440f44d4100afcc4fe831f0abfcd67703a9e4992a11faa8237c71f72126723050853bac27db1fe0eec525416c01d6388396e1746edcff2d0391853723df7c82cb1d6699ffe391624b5f42afcf6ce9385c749af97598bfa7bbc4429199e1cf887fc331a39c22edfe6e2f5b94701ae5b2d8da7824111e59cc2ebe0987275217ee02f4953777b89247bdf27321814e1d3eb2d7f46f8e779d654cedca62c37ae28a25e6a0d80e794718d54a332cdffdf00895f08e9b30e95897c25ed3c725818fe11c06602dd4c9251ff9b2e05c616f093c2e79db7509e4ea66304fd8907d902367c2c229e93ef331bf23d60b39f4bd91afb805514f64674e3595e69632c2e9e2ce0269999164d2dce4d7982a94bc1ab79ec8a2e35508d26d15c98b4d972b9516715023593919339d71e7ed9379736db02ee31dcdf5ecb7ac60fd25dea6591ce37aa704658f943c3e51fe26e1c5bd61ff110a847e161d7b16021e281b472964df026edfec24718ba117af7211d0e4cee655cf728aad42653164eede26972997e408d81618950c2ec1e392406b3c934a56beba4362afe7374a687591d372910a7263bb4ee24fe00d292df76a0c24d7170702580b0ef5cf9ea806ef14ff1728e91305e3619057719ab21042b087bd4f8328b1f2b5366bb31732298b607de38b6dd215b1ee512f40d04b6c8c55d6a5ae3561fda9ed9077af71aa1ab53abd6727c55634d9b0f32cf87778dcc08b919b49ffa95aa6d68428eac297ec951c67662882f73973a275f29fef2fe0fb87afbbfd07eb3a8a51e098d9b1514d244045036bde77fd134834b0d666946bf8c39085ad25feec5fe280418fca2ec5aa1dcf3727954d5e8ee33a2dd2779188de870bd8afe17a3ea4e7702bcc35c7419d00bc435472e553542f707bd4811feceec517239f5eb97cbae5099624b65be31f1ba0b72294091c731b901d61e0bf24565cfb27b8fbfe6fc61f1607d7828346052ec8672d8fd12a34b9260d7b3fd2231f0d8beb835c2523c0c20af3cfaa5ce5a039714723498928dbb2084e778fdc02484e5364bcab314d9dd006f4ff693364294e97772c7cb7b68efcf9014b7363d35f266acb43205ff4c4291021e05714cca13069d72effdee103311db6ef6bcc7cb4b42a6ae9ec27e0bfb9d38283f660827e40693580c2388e260f152531d7290375d2078878ad3bac424817eaced25b3550402ce72c63ddb92a1077db414eacd2a54c70b75d61edc0986327a17ea8d69e427312b72f2e153ca906538611f47aac29ec464c53ee04c63b8077d505aa7597650854172df32bb79b971ac9cbe2417c07ccd7e09e2a6af7fd4eedd0eb642d9a1aa4fec72d8ae7ebf3dff873b8b3ffa1a9486edd2121a37293fdae13390cee82d12c340721af8fdd7c45848c40fb69b64362529f6d0c677a3ac2bb9a89e2d14976ccd0372600070adf2306a8a8aa428e0ded69ee391d6bde151e4a5009a8b2d4f2707996939688065ac90455e50cbbf6ca24bde563320562c7ea2f300797bb847fe996e599390d29f81d766d044ecc6055201d82535c4b11e635a3d54ed99fe3b96f962726226029ab4cc6aff56f5a00b3358291b20568028acfddf42d3dde958c2fb02725a41bd17843c851c89fb86d3e992c8ca8585f8c8b7e1333d763152cec55d71003d61bf4d76c37eedcb405e2ec03e7eb8e1cc722107d57ad7e62a1a0481d74d62001ed00651d8a92957df2817d973d505722337d96c92b0166efe88e22d32c9504699c81859e2d55f2a0866a4e8c38d40388526a3db6f7ad1b515f118f99a567295d8472ac059752c294fdc28ef12cfeec39291a8f32a5533ecacd5af5b39de72bd1310a91968819b5c8826f271a043a0e83fa545c2a267c1d167b72649c46a7287fce212ff191a14c073d327b1c72ab06124f7cf577982a45de3e8fd09b0567272bf51f8b5c73acc46085a4f81ca10f2101046f0e63abeaca54a2aab2e588c726a82be5d8415d500a2f77b8a6651ad9ba83db3ec55aee06cf308bd9bede58c1cd327e7fccf9d58fbd1bae41b0a5cc62adbe62b2de91d627ebe0a1291b2a050723bb7873c39b6c343d2265b16b687c2662c5427342d2ed87842071f5585fb98722c0f2f685802f75aefc54bb9f65471432c8c4d3f96b9341cbb127dcfd0c27e13e79656cf536709a9f3b3e16f9e2782625ba57aa1202d1c9d1bb6b297d0707a7253f29e10b8c632ba67713c8a148fdca4a975ebe0b30bff2589fdb6697543f472d380cde2f58c976a39b8a4cd413730f2a7206eb0d84df76690b2cae950bdb772dcf13b42b850a7675d735c090cae4baa92f540ed0bdeb7a979439199efb82839b46cf7191d211fa6ddd52c288a64abd6f36604fa77615a4c84f04f223bd49c6fd89cc4db388fc4ea09c4845ed866a9526ca29cfe2d8d8d903d5204e352f63472b6ad85b37464c529b5c7284d15d5fb9e26f0b475b510e65a3640092d0ff762729dae411f35035d3bfcbcf65684cf13007a7264fd4153dd6f9353a97232bca67207758c32db41f36b0f6eb0c0e302e0ab0ba9afa02d93ff00d8e62ae9a276ac7249f42710a2f7c508ae64f6f67058195d38948e79b13fd2eecd87dd5a22644c720c4908b089a8ef3f1847e3b5ce729211a364f9440dc8a250c0ed88ead4f8ca1fffa9b828c9cafe6c00c4168fb7c839b42cda47a48d38e447dbe692fbde01145dcc4e36959e2b7070363b152ff7190d268f8fdc437027ab9bae36bed99ce294277706dcc19057e0a909a4c96b7dcfe155db566741c156d16bfbc975ebe2ec3672afae9e4aa6b1b367b1bd9938e6e7986875b282b2806b652efb47e4d8c7bc1d72d8ffe26bec4d70fdaa747bcfe14dc973650c4ffacc9cff3823cfca207177f43fdc63edc503070924cd52e97472043410118427ae7432e5021d023694b2ea4272ed3a98043e794822260f3e7ce315199c65d52c27f274b0339fbaad679f1c9a703298c0b40b1b9d1dbfb41790a17078b179aa81b85e067964a05e2c9cb236b87288f8fb2f0795ffd107b8833a07034962a609e51ab2f408c5bae0bc950a9f6d6e9a9162fe237a433ef9ea38915afd46a828a4a95cb5b0d953edd5e01a4467d55b42abe7bcbbe872113589de8c99e3428f292c861346a9335874dae88e76a45c72f86245c672b877725e3349c917a16a5e50ae0d4a16d3a279054fbd1e4a45ca720603e703f349a4a93c0ffe8322e58c9435a56a76d200701cb7a0b9de1a12ec72800d23d2cacf1f648d68bc6052ca7ac6b69db4fe1bb904dcab578e8ed3624872662b8d29db1474b6799139c8758f08497e9768aae0bb9d78eb6eb7f32b3060720b0221f892587f977050aa48eab856b63b0030afe51af13334af103197b5e4729cd441576e1e9f66d5ffad11a50cfc40336ab61d29e29daf5f11482245974c0868c210e28d3fb2ae54d780f13734c11a3b54f7273ea74461bd70f57de6048072b7bc904a7cbc59f16cf8a5a900ecbc47240e23448741b159b7559a4f28865346e8c7f29932bc1af055f0fdde0fa40ab9d4c484a030d9595d882ad7277c72d8204e684edcf85886783d7e276116b8ce3d0f70f7e13fe5be23d4d87730848e10728a99e9a01dd1bd9ba2ee50aa999999a975ee02b07fe1716197ac7b54d25e434fe0a10cefd1f6d101b5b74109492aadeb6f93c45f046c3e61cea73d2eb835d772f0cfbec86b1aa309fffc960f1b421fb556613d702044e0e8c2f01eba3451b734358d6b6b7ccb433411baee457e32f9eec4f397b5bdba4a604b21fc2ffdcb24724eebc84384c4fe43e2755b3d795a512ad2d34fa7846c01f0aa35bdfaf5fb3e72e0aa3f3c98454f217aef4f1c5514838e133a61fbe9fb6fcc5255667e5fbfc9728430eb6ed36264db5ad5e94b24355ee60e5c11c512566b865a2bdf7ae9bcfc72a098b1f5ba9bb967782bd73dcdee702a10dc22192fea56b4900370e30bc3d44358be9843933479c1c031dc90584177d9c3a6a674699536fb27054a94c7936619c963e0c4d66e9799d0519c6c97d4ed0c7f52ccf6c8fbb51b726ebc16453c9872be2df92a56b0eefc82f38622187178cd2a8378da5ba7bb3aa3bd3f2d6245c472e6f652a57b775c0cc7f6b11a94f425c7e640026b0ada5febd48d7dafc82d46722f0a088999b1712e5178d66ac3bc4f410c471a09147173b3f6cf82d134a8b672e7a4a601948e153b4b58446ee233312725fdcc0daae8ae98f6694338b29ca62c9e6e7a8c4b820017a02afe1775c0dff008e6ff9fb6eda3e83dd84c4a68021225dd524c5f781ed7880ee709960908cb30061166d5cd33f2b3abd4227e21cc126688ae9e450397b50b5d422e1219445f2c7307dd522caa1670af2b6a26a6de203bfa69fcb0cbd31315871b2c38eb73445a735dcd8af6b80341cf0c2f9e552a4572e2a440ce0794f26b9a61768673890a458bf4980617b9f3f69deb35a35ecf8172c3a841b18aada4e3ff22f30bfbc0e06de1389c3f1a515b9dab3d418ecd0cca72943acf2c0c86575bcd35a653925b33844f83fdeb6e2f895bd0fd8253d31db5721d2e282ebda26f518844a0c1c753b4835d2e6e3b184a12b51337c254a206c272618b43164efc42e979d8d8369639d95d68e225a6f34c7972a4bb9591440adc72521db3c8cce4e9858a91dfa2b9c62a9229702258fc19a0f7fb0d90c53f6f7872eee07f1c3ce8ed1c0733c8f521940d0008f727ae025e95d546aa20ea548a5d725cd6b33dae0e438a11726c600743e7a27862e80a75a462d08b2fd8c6ba4f5072b26c4543a9d15d17884219c435219928226047c8847c10351ca5d9c99a8ad2722e70f4434d2df85af497365f77983a3a10b1db4c225bab8d5eac1d0e4f7381727e684a30a1cb020608e064c87c10da1509d399af5cd3cc0482e007d4a0836b38d154ebc58cfc72ca9a5f226bb05d93d3663335ef3d360743dbd6e0013689c9724ab3562872e27f4094f226732d6ede592fab19a1269ab312f3e89d30018415724107ae4796348b21e8e33ef79d9b4da9aaa0adf9ee2ca772bc1bf6b180b014248d93cfc617ac24ebfe7d6e8205d398bdaaa08dbd01683452af281dccfda0a80fecd8e4dc5dc5187aead618fefd00c369d11b2c25f2d57c7c7f458a09597e395eaba36b686ca9d082c2ede2c95323953b2cd69a0dc8ab2e3e534e96bd3a8213285a5e3ed71954a6643c5838f4b7eb8c28dbc8ff7d97c9bce9c36b12f540db0b2895758510275e115446d48568f8184b2bf88194b85101a01a31442f83bf7b8b2ee7877f6da5d76778b8c86266123cf8ce8c2e5f41cb7d4702ccbb4d284efa132973232f7861896eb5d2f55eb1e9eb2db579a87345171109d3cc17cda1e036a772e3d619adb13f3ca9db739817addb15dd4c36a5b4c39733f5da19cfe6476995723af640f25caa2bdae30d49b4139884616a75a2d30bd579dfc9a7f3e0b47f9f72cfd232738cc0fbb2e819f92bf75e5de432b0be65e1909bcd118cf7cc0ffe6f727199368a3a355b39f3a6960a7676bfab364e187a0617300ee111bf38caefb02f68de27f1878a85cd416561d7ca523d6b68fb71acf56cba28d198935bf585956b87b52d8f4c646b80870b73cd832adcf50b84e37be4c9ee6817a4fcfe3a8e29725aa58d5c3d3c709d5e116ae213c8dc047f365dcd87c7f5faaf07bf8dd78c1372ffb5b00584e1b8bd6842b8add4b01de4f2d4c7d3bf4abafa3cb702cc95ecb472d997ffd27c62dae2f770c27b728be650ccf4eda16fdd301ccaf08ba6cab1c0721029d0d8d2cef27bca1c5ff4f5c1bbf04c2e082c10daae2dc0181268c3e7a0210754798e0b99f2c9ad83d8658c22ea0cbcfe324b3366c94b889c01318c02cc5b84d7ffd1a808db969478b1b2168c86d67968f228055bd98810f977fccc89b3720722edf84a4cac14874cf0c79e620a0e06cfa3637ba2608c19f5b577179eaf2a7476e86b2e091e0e8874a13da080fbaa67322a4714452f5787fdcf8e8f98c01e133a348fea03c02fb9a5065c12bffc3ec8f6e8011e38da41452801f3452e5872a95d44e84ead7a5eff03354e4eaa28074faf30643d3ba292b429f523cb73977239d803483bd58f4d422529edfb80adcbc90994fade1cdf8cc426824bee23fd724b5db8f29f55fef413eeff5a39d74d1e0934048f5bb2a270a05e6958f83e28673f7ca8539ca814835587341e820334eb79137ec5f5093236a04ab75c9f274572faa4d5154637e5d7072844ba1a5dfafe6ee3f0e4beab3c03c7aa998e0b38ea72bb40bb401026872cfb8783cd891e88b2e49e8066ef54ef766eef08ac938079724d17488ab4d489ec644284d6a3bd7d3c926d0f492b13ce4d2a48492b3e9352502080f6531a2f7898efb10c6f29e82d6c0764fd15d54c56f5f9ec171eb09cc070259d1a117c7102f20c76ef421ec54c61a44c02a8320d10c566c57a059fba776117c8783c7ae3a1a82ab323044a30ed05c793d0a424a29ab035e0a9d083aa4e72fe6a808dbee49a3d320e9b06d491647dc96c7895e96a627415829ad728460b728e11e4d0ba45d48d909859eee5ce82e67557512c784a5b81c8a6ff92c3a9ed2171df775da8dac4990064336afebbd3f90ab64326fe6a11f3f8cea0d10dd28c72ff04599141d5ec0221bf66adef99c7717833ce1a00a0083686558c636858ba37d42e16326127d7c0e97654427dc09f317302947707f9a453566d284db586cc547f3429dc2de1e4cdb22b45edf423d75ab823113ef0bbdad25a85abc1549cc65fca13d961432f7e64710897ab707af350c29357e90f0bdb2686774f0b2fbc11728ead6315d545d89e189f75ba895f5047e4a5ae01bbd7694554309f6ab9b56f45475c55ba442f05ea25f96af077dbe16e79242416dd2b59b8350a6ac9b84b860c6da8c42761cf61bbc3c3f8d86f20187fb7c2e1e29d37ca39dbe1d0068f2db772dd7d34559fe2bb2b42139bc05dd31dd510ba1ebca11ca08def10d648df0ebf55f7f952b979cce7373c9b1cd9c696f59fccc9be3a2cdf7a540eda547e76cbd9725b16ffe54e7f780252354ab090ab3264e5d1a95e62fb7763895097a6e19dcc23b9566cc6acae5c821bee6b7e4ad0102d899d26bb9a968c4cf52eb5ce729c7e507ed82e93959dafa2db1ce28d482297ea06a330f4840c14248c9583aec535c17205d756375650457577bac169dc7049911a8fd0533e655ef985e5cf53bc88125ce470c982d3bdbc3e68db25a9736231fdcbc09d30e90a3fcacd02e789439e8b6badc3900c8773504890087c93a6866bd546c94106f88ce6f73269125b15576d5d4aac236fc1e407f7c39e834fbb596dccd8b94be240bf6a8c1b53728b73e4c653af0771ccadaebbc4a44fad95b50b9a60aa58c3e9c1e15404ef8fc3fd6a588172b8e388f744b3976f7f108e46a517112239a2e0661f6e2e5d4ea87e33bd49bb09ab4c29b471e36dc3808dc405dcb1ef91d18f438e1b26249cfd41845d8de19623e7e90889c162c00f8cc6a2663ceae70f34de3176cb2a18b71b11c870597c987254358cdd4979db158d837d3671cd0f3d8280081c1fbca170941e84467d69b772c07dde87d3e248dc7048088363ff998ff66383c1dfe313301facd49c9e6de3722c3daf32fc516f6063fd37f7af31a241f650638c91caa60ee320deff09b70c721c62ce565bbd87dbf1688921098437f34f8da0ad543616f9b663fa82abf7d1722e1634621d77f4913ffac0b9674ec265237e4b8f9c4c221dd93bbe15f15b7872ceead92255273b2c0784c07f44eac654f2a5cfcfb716aebd82967e2a05cf41723ba4040ba4a3894702312425f3028ed932f426747780f4bdbc9f70c782db4e7232b9de78a470a448368ad87f9f0af3ed1a3ad159a7e881276a183b248a67f972db43d3ae6d0179c674bffbc031df1e4520ffa10c2057fa8fb39317bd8eaae372d7049750e7ea917ce95d21593527e00bd439676a3babe07796669fa93f922a6885dcf23e92d01ff9bd90757fde421cf58341e7830cb69e91337d86f8cacd677291a988c1727af3ba643ad220b2ce45195818f96fe30be803990b5dfb4012c172da038c53bea0f2a61dbe9e469dc7971660c41748222b4fedd8109a2ddae97272ab55d66ce16fe11ea56054640fb2031c8718ce73d10c43316f458134d26ff1725acd41654adfea85d247919d9bebf726f7437199f47806e81d3a9c1e8097871e04075815d29276a12342e40f67806a80f2e5b4c003ce3914a4f12087ee7f9241a83579cf77fbcfb04322338fa20368cd3ca06666d78a6952ba1b2232c63e252d5f4acd9e4a9153955d309c1b57f8beb9bfa75d3c63f5abff9cf4af4512e05b72fa3475c2277f4dbba1b4b161d9d1cb3236d185edfc6936f56f3090979c329c7253697b63ecd20d903af8e932c352779c38e7e35ed78f2755c68a9d36eec19f01a922f16791924a442aaa8b1825c9e90f95fcfdd87f84407539d4c8a740c843275a2ed1be49ef007c790f4c4c29c8cd3cd4354df4c266533bfdeb128e18e346722cb576e6d84b1b3e2bcd597425a33972be3f508006d38c0cf2c73e37c379c8720d4774f48e648a155e435b3557b7efb8ede8092d90b532963b6e27871e141756f450e9073a53355e66a554469fa489468180f1d95a6fef955970131f45056a72b4ce8da4a6bf0f0c8370fd626fd8b1cb9a4ab08b94c6da6988074d47502a7356eddc46faa965820b3f39dec747e5bee401439fa2ddc7554203f6efe1aeef5f72fe14d429100269a1f3c2f49b8ff66280a1d1388b8358d8d24b48813938f1077213005ec0ccf5320c593f128985ac8f7dcfc3e10c2464f081118c9e16eb804272d1ebb99385142bd2290b5ae25112a98af61042ee1365ed3c0e71c107419c8f70b78d4e38dc7987c6b62d7eedd548c71e5c1a7d61a4bce78d385c7582b0f54572f918f9c0792bd5103bad85e6c0a279cba6b1b2c19da0aa89fdb29de332b6747220a7f0cbbf9c24461cc76d88a96579ad25dec81193b4ea56be80b5f5cfb33072e076d16789560790234110c3baf9128290fb7f440e31583828d1bfdb936e0556509da34c487f47d56db8d71cea0c327aa2e6082d2fbe54a9dd08f8b5b23d367215abfa09096d4cb3599599f8b4426e9da088f00b4becd5876537680411db8f722c276e0d4711b0f10d71f0e5e19156015f42a8a920cac7d59f8ca32ebd821544b6f7b0086d0a9e336dbae6efe844e74c4ca9dd01685b48c8aca901d658d7b50733abf63f13007444d089e25cfc015fc96a465aef35997befcf67a9c9095f0972e90c327854cb195b3af4b0d31d1ff7658f8a3ffad19ba7f1890489a167a08772ad9f850d1babce206aabe69e86487a89fe4b217ce50b9aef2f8640e4468ae97271486e5a9a4c1191e94b62a18511ce3f79a01f4077620ef424a4559de1f4bb72b4128547bff336380131871215315a1a6a11b0ba85992d8fa744c2188fe08645ed325d147e0017780f50cdac238601a0e996857b04bd7ca612d7c72868693c72fa904f3f61fb930b87e9b063354a4dff77a4c82d5316420c8ff4984c9a320272187178c58b70784c796d1aa75e51ae90873fd822ac17b23db55a99f4a1a47c5f2e57538b29802c6572ce9974b8236a7a5b0ebe672f803294b61e0946facd2a6e6ec63a5e451a7904dfd2749d7c46adc8d472de6c411dc8243a8d5ebcea14547298bfc40a333cc6f2d5735910c4c6a845b45dc62c404384d82d3ec824fd3d8372425cc36a4c88770e2f313de6a6b708348a91242dede84113134d967d33894f3cf214aea0ff32fc35997d47e9501bab64ca4e41fdfb7691e664f61a043388e1725292e0118553f9e786f2a0dc1e6099e2a80d98d5f3731f5c10c136b3e3e3cb63beb47112c77e5139ee0ff7bfaa0dc5b856761f37c69e66ba20df0aa817f60c72b3c0f4d2d5f71e77380b91be3bb854c56f92a121f22d7456727b953b8a8a5b721ae188f7e0dfe9a04cd4770ead33c93b5c6e7a36ff858c368753f1e95431907214a767ffda2248d4e1723b396519cb01a6652d0f6553a8c05eb32ecf38435e72894eef67be523c7730b6ed2b5b6bd7a56ec3eee5e24b25a0251eb86eea2716721d53dcc899a8054a4a5161c18fae7f9577efe099b63f0d467c0beb1776a5c0726c27f4d8aa3a7ecb2e05f6079a57e7d60cbe69790a3a42031c741325029739292ea8f7eefaea367327238acc1ef2b509d1d68704b4f7c67c77613eafd875e00c7f088d75b8d70c2aafc199a147562955464a8588812c153cc2dfe67af5a81b728c92440ad8829951c869ab0e995d8c1813ad169b82d687b6527d1ec52c187925227760b5e9a88d82786d56ab2c31519b57067496c275277cbd4f2b909cd999721c259ca8d543b31f3876bc21b279abafb13f3650cab54adcd28f9df7ef23937255a740667c756940647df310d19ba9f804c7bb6fbe35d2125f407b00e90c5f7288ae69cd7c4eef711690a1782f847299c350baa087ef7ef1a6a5f0ad16de7e72b0cc6b19b6a992a4c2e2b222fa9a3de84d6ec6040950737e1813cd7d6259ae337a1f26242f8127efca6bb391aebd3c21a87929b3001305fff67efef2a5fb2e54aaf7b4a9e606d50d3ff20a03c2ff339fc9b93eece0e5d2253f71fc7c56abc501df2b474c1882fa94700987376df4425d929cac72bd6f8b6dcade9045ee40d22d646280a4f576cf46beefa25093f18790446acc0496c4770f8230370977fe6872d078aa5dff3d183ded7dd924e6da2d426d93efd5c4f025283c788a6dbffc34723a7d98e21536bb9d3b691b70a93f025b4134aaba8f20b60383a917627a41335f956de03a1f62b63fff8b00133ad2205beb55bfe497cc54a90b9c5e8555f704723aff3518b0759a3bc069af8736614d741d9f2c3d50f4713d19eb4986ef056a7200120c7087c09744f3ec0bd4f45ec954e2e5e5a7e4b76997fe6eaab692886c72f99729102135e3e7a45762bb23f290e3bbb7670eb031fa60f4b133e03e029822ad8b8f2e0e0028144da6339d132e62c50af3b0026bfb3749deb32ac80f064c72158d693bb1fd3e43eb60dd03deddb2fe1ec31b8ac2badafc0ea04bff5c546372c8acb76ca92b2203ef7ea17cbf7cb84510e0fa1f17891d00e2c4c815fb8c7c124fa6737cbebeb1b16db8e6f528f4e82bc69bf31a179df89d6a7131994b37830a62957d859518e99ed5a688147e85c09a61e7ef8dc371ef1b5cb4e146b8850972f503b2279539644ed99fdeb3b59ba83c29d9d31cd1a1d81c854cef925c380472d2d9d3ef4a8a02d63084fb6f0fb5f0510d8c2e24c9978658b192e66dd40bda45d7f9f696572ae84fd093851f814636aefb972059b979fb197f1a7df34a3f5672bbbe5331dad4092de1c1b959d09a7ee1fe0b42ed1cf9e0954e0eff0faaa329724cd463aca13ed73738dcfcdcfe820bdf8814a9002a0daaaf32af856d72167014fee0485fcf9102e8d4e03d94ee9083712634572c1dee88a9c7edbfe86fb39d0bf7075d1e94b7045609e5a57a9ecc300cabbc3a19e0d2fec71a9ab37e5e09320ce1bd75bd4382136bad50d3f117ea3f9a3d840e8e8a7108f292e4b3402715211c0d4b5e3b32a4602c99785fadb7b7e99e5cc9733967a44587c7d250d18bc608728bfb5ed587323da5b29a3de7d5c7eaa27892d337e0388385d69d13f780185a7214dbcdf9dd41608a5885d2e3e99981cc833fb13d7d3072461bf119e0a20cbf40fabf16517f252d6ab7d0656315576d19f87e16acad448dd44ba0dc6dd3d24164e8ebed6a5480489df4220749c40f3e787ddc9f556d6c7bfca9a2a613d312c272fb3d2c48ab339d66f5933bf9d0609245413e53f4bf48696c0b7c8944cf6c0867798787cd8bf17fe178e8c2ee1557630e456bb1cf91dd459f0d9b20337bbbec6521f68dde04912cab2b18388bcaafd82d8b6b1f6324b92857d52be387fec87b72bc5e09345260203f23349d30ec0d029a0537b97ba4b740c2c227c53cf6059f264b3ca97358bb0935bff22ac1869c0c4e4e0e0ed5c7778fa91fe6ff7205f81072a44f2c518c1494342bbab9fbb348ce1b2056b097da143188671ecd9d13a27b3469f2eda2fa6338c469285addb2f0585f27eb62a7e85cef177beb4af529ff8d728b03f2622e762583131dc30ba953ea7d83a58c0fc890c6054a3cd91cfe84d468a8d7c81b67702dcee0e30c5b7e7450ed803245eb6179886c8467126eb309046458c1a953cb3f4c25b95cf81f43425fb964850ab433db56597a6273d76d4762729bd59b5ccc4a8bfeaa5f6e2574f581fa1dba9fe06f7cc2a84503960249de7c3b9a48b7d318b9264bd97861701e69f73895a89cd5365903b785034df7e3ffae726fe1cd6beb6617cb999f37aa4ce18cdc2ed27a005229637ca624d831c4ce7d6ce276a0342f5efe431fdbdc6340877198b683fc40c4436435298bfdae26baff7208d41c47b577d8b969d6cedd717e6f8c33267d5d162d7a786f8b74247d147a1dd511ccdb2abd83272be7857fee6f20141ac36d23a1faec056f61296797e278725b1c50ba3755f6baf7b1080ba5ab6acdea40f77d5771ad57e6d40c1d673b6672957eafbd76d8742242a27489cdb85c434445c2c9286ec4e982fcebfe100ae07281f81a867deeb4efd456423b735b8da141c14e918a548504af74dd75d5640c7288b1662c3f3f37e95ff26d4c7bf673c807814cf95ba7f466d36db3e1b3f6bd5bd3ed6bfabfe2b2536c683829d66e1fde27e72cb0199621dcd47b037b48b897725bb7e02e58eeb4634a4abaa4dd5b61edb4057fd9d624b7d7d525562b28ac6e72ad089cb6f4d6b90f125780f116b1863451dfe15b28957698595e60a532c18a267cc299f4ca7db128789912044a686bc283d795956e50e7a28cf163a3b23ec03a16db29de92d7929759762c8863394e027e6326ea1ab7dd366649e2b927e3cf725f6e6e3580e3ed0ca8c2ccde88e0180acd65a3bdcb585b12c9cf1bf34638f022fbfd3c7e3384fa2a4706fea1f41b6634d2e758e8ddeed616e129c3cdc6189469a3c01605f675bbbe7b40446d1e4afbdd1604e38d23ebafc25f4ae4ad07eab22870351a62a83b25c068bb57e21912a8bfbc6fbc5c876e3fad676af3fce2039a723f85f03fbeb108c42022733781b3f9036ce95c60c0a0e1ea28d0beddfcf80666470d7d568310cbf817dcb6994c4bd1e0ce01500253df27bad36f4436a8348772c2443498781753a9b3a1afc7cf97fad46b4d4493b53abc69256966fa9acef87221b2f7cccd91bbd4272dc97bcd03e1c9c51a72d2f42c328257ac1bc6bf00ef3cecc46213530337f704f291fd8a86b6af63482393481bab3bee213f5061e2b5723c137d65a989b43785747fa9be549b8434d60e3a0e202455df8c69337e192c07bec8f688a4567249dcfa2d8b99c032d19ed0bf06ab3c731e84591a737370597201e72504d84ed8465f0809058d46f20310f2e2e3c902bddfce1d7e003c2c39275409cd8680362c94d5a77cbcf64099e8857fcbcb1368c39b074f4f647c522c728400c99852d602689bb1450129669744d9628877e868b3ec664cccddfeec2372189e1c2bea56ba78fdf6831ef19749290ed72859e663da5cd344578398d8c96870835b3f324a69e1a6199d9b68346dd84f3ede7502a9aa65777a4cf1d1c25b72cedb9b5adaf734a2f5e5a0380f5226f406144d07b00e66a1356e055d492dca72a0eeff2e92636ed31a911e8282da08ef5fff5e12b5572eb67f4c495781bfe667312b684bd4789acb744db01a6538150eb9dce382910d1598097bc1bd58afaf0d758e8c2395d338960b2625e27b4edb5e3e47a2d75c36aaadb1a629e9091a197298bbeaf192db0fab78b30d866b4d827c68fdbd82aad90c121582fef71f06167272695552e4b075777a3621cef933ecf0545e386e47fd9c2405154b4aa6d1ae72e5217adbf181c4b677e620a1e0fb1d3e9537839293e8976e46d71094c5a9994b95fe2dd2cb848880293482bccaba4ef690187d9dc7e3e4171f6d85a32714f37243632d5db30c30a6592f0abe7329d70a79502188157821b7df1701590e114729ce21649ff1d9c2f3b7d0c8352e8d1c936ff9c7260799f166c957261eca01da72e7f12aec4ec262b23289b2fd69e3f6ed84b7a172fefb969caf82b741547ed372dd0c0cdc9ba01069939727dbb70df157cfb1509c1ae01064302019cce99a49358bff3f16605beb2753a7a82c3c6141a5e6fc3450d3791beb8f6d5c0cd2a85e72f53be21dc77132917985ab0041c1a9f2b268fcdb2a18742c84caf24aa7199072c88cc2017db981797e0dd1b65a9d2757e2ecc3429219710c43816db529f9922e10aeb81697e9a84b762b8dd1b7b6cbccde36ac284efa72ea738f07c901ced91dc66991fd9c3d1995f7704fe689875a93dc7474df8808bd6b2570cdb09ad19f7211d4d81559fd7065c84787bc0a321ed2c9d2c106be30e3c698f5820d071a4a72c5ee094600779781ee2ee2ba980123a17a4bb40f4a91aac30d3694bf067a5e724df749dde853e87983149a2f18129cec2b4ab231089f0c5efffa07564fe5e616f18b97fed132750903622d26ab0cdba0e52e883cf2232fa7958218ee2adf1472fa023c9f8f72f919bd48ac3efeb6cf2806ee6ba1e304a95f2d2b6ca6083e72142d25388da7b7f3dc4d8d61c03102f40038154fa850c97da47b2efaf48979a853bbfb525b8d3f2ceb1c64962d7ce702a1c4b80ec1495602fe619d39872e50a712352c0f2727f2968dbea3ade7ddffa2c0e530626457aec9021c90046fb4167672ed009faca9278e40a65495c0135f4fe177f90d56195f4a8a5230a512ee9e8407708184cffcbc3f7e346215c6a25577656b7f0ca37ce4cea41d1d6df54d43ad445c2aa1ee696793e84119484704e488bff5544e327db6bee95cce6ebefb309672ed5a8190bf1030dab9472a370de2a42ae97a485258169cae827ecbf4a13d9b5c6759cd5614314180c176dbf40b8586d7c79ec4d9040f63f5970f25faac1449720e5a3ec8031d5cb685aac8d732b491bed159c43f6a584735de5fe3b05428b86705a7bad75a8f82b6376a1c482642c3b7c6002c7d3baaf2b2428f469dc2627465b5564ed5d6d88dd37dc440892091ce574c2516e2b8bddbb88fa9750cf517797275785c9377664cf1cf4d99d76e597136331556dae6ea65a459d7c0213372d172f9591219346b9fff7ac62f9bfd0894a99333cc89a707d7c07a87acd227f5f1728b2fd303d8d37e262bfdcc76ac412803d1ee334cd7069b1da4e40a6e7640556c7d4f58cf908f3978ddbcf1b7cf98c3bab5d7a7c8e68463be510691dcc1d8aa1d297bd46b6c65df8a0f607a93dc0b0d52992938e7484b207b40407fa069187c2950c235c17db424d6bbeafaf4c287a6bd414dfcc84aff9fb1b87638d7cdfb5d72b0ce4468a8a130b2c4e7b2a77c79c7f3b103c31e7940fa28f538950d03a03f1736b4566d5bff4e1178e68d899211515dcdf0d118c089fa8e439fa9de31eeae72b3fa1d59c17c8478ce084ac54630059499b1c7683bc62d196f3b687975b82f724f8fc6e4719ae99428ab9a3dbde8bc74e4ec434fd64ba772f8a7396a97978572c4c56c8db24173024d73be0daa6ea65e16e48a60edec7463f6c431d1a52fbb1ef3bd8a01ce6a9a6b48ab019060755e575958f99d02d5568504a30532ace89172fb75c30f5374e6f481c938aef5258833d7e8a6aeb3cecf573b7b40d39d923c61b1172564974d7760319383245219897472a05a8525653b2b964f41e866e2b325435865552b57830bf65127751d66c8703d3b764861732f2ca11a6b70c839b8644cb92967530cce0ce6e165fffbc7bedf44d6525231f346078a2bafe1be1876721030c9955760f360b7c75fa7b93cf4d80029053d5dad791d2ee1a79aca301b29a584c257670d38012a1f175370f5b65974e8f40679b3d373e4752dd7f66a012d60b6689082f30c9d725e8c5c5d928fc38184f6af836d54c0565479c7b5bbaf71728ec7fea1f832fbccd0fed3fda022fbf59521d9d4d22079bbab63320a4e863056a64c3eda785d83ab899cbbf91a908de8d29f2b2bd525a22ceb530f5e0a136ebde0a5430a92d9a375392bd29f5a7c08b9563d8d6201b3be31e35243e970967215a19be98d611945af2bea0626a95b680e88e0d41d2c2e74d095096b4985401aa7d189bd80ff885fe13b298cf95ea2cd727699bc92865187b714c8ac710787396a8c4a72c5c0cf28b244cbf3c25f075fe32547ba82021edcda62fed5bde1e072507f465ae86f9e075c3f26526b2ef3fea6fc446f645520182e8475dcf3044b725dfabeaf0441f18abafba9c11764461ec7f75ddfaef047130752cb30a1a2d3723600b82b3976eeedd50b64ba1aa69714525a94d52c82c8fc160b420b539d5a3151b8a114e2d44ab6b76e694685fb3ca824e4cf02b9e90bd1617406ca2ab1da4868a0eb7cfce47f43df6ff2ac640deac3cb8ce264a55396bfc66440c1fe2150720d083b863c70f16d2fc579c4a75c15ee7dbd55806e192aa4ebd1be40526e59729844449d66a97fd8397ff27470e9fd2336cc4dbd69c2274cf57a9fcb12489b6d7b9540a5a2f9d3e657d5fc0909f87c6c47160570c431741aeb74884a930b1872bcf77f64edd556b8fd48b88610169d664c916335aa5775e1d37c08ba90723d7277263998bbb0396730744dce4dc50e8d0e582153ce4488f446ec72d8aed7b572304a83acb7cb3371d9e7b4864388a1cc28b34e6e3a3d5ea98ec184f9351d36550b5e9dc1eeaebf2ea7d395a52cfb1a25e129a4980e59313d4c90c336f75bf955e4e509f1ce172ec49dec2108f9429daf8321ba430d70aa24e705a4ee02868f369b9041aa6992cc79179ddbfabd21bb3c094bd9a1a760b06e8e98e1cfdac2300bf6d1f31991d25f44376345f052e5ce961fd40b7e2b6ac761b84cb51c13463e0d55472ea7b26a272d788ca8bd54d57f6c764fd52ea198d61dba6a07e43f096d72cfeada806c94219c662d68b62a4edf31478d901f52208f0c2765be196c94e6728ed55862577646a2ad0c8c71d512629f7dc0fd95c8ff1dbca988485435237472dffdbc4cae5f3fc7fd6d18dc863bb117b6ee7a17590629ecdfa45ee0dd913b0c8df7f54519471e75cc95b1a3ea79295bfbdb3b7676e47eb16ab13c9352c68e72c38c3c62cefee4597b18060c435df66c52e3362d9dece47163299303b6ec2e72b02eb57cf7a7dd55ca9e9e421e4f2bb717b6b721c81714823e2c68dbd8d6d2728ca6efdca42590c5f830b257301098439477bd5ca3791688c3d12f89ea5ddd728c84173a7b6d0de82a6cb7b99a38d7a1c01047966394d13462982f0f24867138788977f70bd8dd929e55064f4c3279475e1a1a36809809a4323d65fd8d6300648e324e87572a07900b0c6ae5d20d28c0ed6cc29a1dc928dc0f10003f5f8b0569e4b2112515519ccbca9a3efdfceb329ce7e10011abdbab87420bab040e7f46725394bfe7d8223dcb3e1b85031b0f0a6d9439c1c14f7c35a1d525989b2b796f351e2b92bf1443bf83989986f00c7abb60dce24c712dc38b4288cdd6985d0944723536e6f7edcc7f508bcc43359e07de2e172707030e923c9c2fa1edc5c13c9472e88633e0ad8eef326b98ad2f4793b1757553e73c3434ea11d6f8361a580f561881d10d438e6213ff903d9b16abc5652fbfd435c9930892c22e06e40220ad9c729c0b361645471c7feaea8c1956dee22de6d751a1cf353d64c657339f5e47db5c5d2964a23f18af25505e52dfa8850719464287f3c293a678ddcbc27ef5d790722972eb2a2c5cf3ed038810e782e46e7219511b38e40cf7782a8f1ac20dcb8d71a1f939777701631f6c617f7e93cdafe2509be10350b6d2165cba345feb41fe6fd407996de7b3bcdc2bcea4c1d70462dd8ba96dec069f2381e530909c80934c72618a45545df94a88383e8e81b7fc114513f5c10916e37bb758edfb199cc491133bcc81cc10eec185803e53fa4812a235bdaebbcefca655b5c358b0dd0a13d472f6d85534eef202b3985d8e4e17edf0e2e482455f8ac1dee5c96fa9a9516eae250eca4d556e7ee5588eb5de37f28dfef8e647645a3addc4264535dbd09bd5737280c03e810d3795016e544b1967e501ce19ebfa521978f038fdd47cc9a40cdc726755bdd8863390b026a22374c08ab0542cb7248f99ac750a3dc208741e6bc609bad37aee48ef40a0b0488e9d3ea0ff9e73e1e51da9eb891f1cae9138a4408d72c1fe8de8408cd24f19380319b087a3db7428a4fefda0f88c682bda7e5faf8f72eb4cda60bc598ccd74209bc41b0da6e5d832028bf82f588a84f597053d9028703b685ea2d6599319d60a5f2b6da45718daeb6eec19521d62aa291bd596c53102f80452400fd8a4d40e41f6d238618974bf22666d034e72eb097ee952c0691646b28ed38aac9f5f4cc0b3ff6e12e0b2279431619af20239f3013853642db3ab00b7687cfadd633db1e8c6fb11771e98927e37ea0d5216df6797f191d05de3415ec1faf45739b9c88990bf3d479d46f7f9e93dfed3f9ca3d9574054e7ff42c00632222a82102219dfab4d6c7197a1d7ebbb2e22c531b2885aa0a0e03d781ec5466ccfa00d73097ad5215b9969d42272ca5245939819ae25e0e830f21c5917f4e6f122f795bfaf40af4b415f5074a4f2918fba1a24de1f2865c783a1ded24868438c4855d6ab86f5bdaab3c947f0fd0f0bf6dca388bb5142ed6c1c7e5ab50d0c851265bc636c0930f451413a0d1b32dda6e9a2a6a5ff1311c1b224bd91d78879b72246bbdac4a757b88acaa42710f36699d478bb1c7892fe91edaa3b3989f7f84553c000f7be940325d58bb2bc4ca676c6c5edfe9298b3c284425f29f4154eb8361e86812f887d5980b10d4e931540aa8233fe4f1ea2d8460c8c0de56d1e097817239bacd127f9bbe85794574a0e2dc9ee43dd8df9d098f4feb5ffe6343a42f6d72c77d6d1e8c524019a620382a9a597f1ab0996c86dab4e23c3f194f4c253aea3817010d22d494d3b70f4617652ae294783e0d2ee112597d4925074eddd34f36726a6e4cc23e822fff3307871876bcc0e45c0abe358dc6aeb0fafb910b77518372a10d03b9924ddbf0985f179ede7f8afa72125d6fd9dc7c520cfea34264826c728b5d0c57c25aa1784f11df1ea2c262b06db8e53ca23936fd0e1329cc32a4270872b7916dc90a324fb2a4b6773feafad6489bb3155b3c96b54fd8198cb2b59b683d28dafb303d03e344a4ee4f6bc8555f8c8da870d62b809340104b352a1ed57235c0480fd33deca1d855d4679613b88ac99d42d6fe0ddfe9e3669acdfb0b197278b1ec01149b47409190cce09ad373628e6d1b7e64509052ec6f8760f78f6472dfead3c711333cd198088256ce75b5bb100c9c4a187c9556c383bfeb317a6d721c9e0331e630f0acc23ce256109184c4c3a9debbede104510620e6f76b11ca72bb717f91901172558794f259590f42689cdb2715da101a48157e324eecfabf0263d71ca72cfdd8a4741e3d71e96615e99c0961cfd3c45fa9b4853242a4b41a72450645b06d6f1f9c412f1b4e510fcd13fc3bc9eee41d2361f7d3c0030d21f47269557e1e60c31ec333cbb3a1c32f02ab6565c25810338390a7874a75dae65c72808eac5e2a214773aaf8932a2fe1bb3da572c075b7eac667ef4652fc0c4d756256756de8e8a2162ebf89e8de3abbc1ded34ce71ff92278bf1063b557798f67724a8e57ec315b2f3a51c3cccf047054a84eb99c50a5ec8dc2529c089b7e94ec142ce08e6feef0ac3f915b10068452f72a13ffc18f1cb7b415ed567030e4d8a863099ae80cf9c73a5b8dbac9be09907c00dbdc86ea1bb1c6d15391dd9a48f5de72cb9bd0ff8009cccbceb61f8cda26532b8fa35065a3af3e085bff47659e88ce6e8cc1c9ad7ab9cf2c1e15114ff7c58bcddd5c55455b9fe68b4be8e3d2e6eade7232c7c17c9930babfde3669f55323e75a23b1c67f3c2e677b28dffbb8694be6723ef3044bcdc162464f07f34154cd4c1223f07537e87f6a9a60de157fa5f61b725ff9fcd4a71b070e932ea5a98bb9ec49418c8dc3ae64f2231843f7309948f630b64eb2c8734ae97c9719f472dd6e875eba3fe7ed8bbb3b0cc3711edadb0a270faf15b028944de55b3dc74fca671c8063ffc1a58fb000a5ca0ff0a4bb41d4f8144933e27d550d9c393efc1d29938539d9d9fe9888c205cec38973cc2392c85114a1a044115ae14b09b2d362039054660e13a88fb206688a7443bdd8080a99697276d0fdef256d504cc08101029e2a64f63e0c281a72d5a3c781989c4d06f9476a857f90b7d6fb958211a3537dd97274092160ffcd50526fc7b564d85cc08045659c68d9c2ea553d70b4002ac51b474bd6afab6d54454d438ef18d3fee455a7572adb7df8951a5ef4b07456d2f4ca376a57dc8801154589096cc957f72b1bb3c729b356be9db88429f263b84b10064c699030cbe025effebbaa20ef6fd64c8d93acc4a83e48432df551c349ca090719baa89f0b79f6ebebe87a6321a0a2381d43175baa03332afd28dfa0599fe18d4a02d4b6298d44dc327d86466336098d82c30a533a844e9ce0c531a7402cbce1ca37bf28f4e55729d1d61ac3ca37057b622163fc3254122a780ab4664993cd742ae485823a8da3586a76359f40dbd9e45103a236b06dc54ab94b823f5ae013bf9c5162841370da39db03b6e15ce5a6d6498726879761ea1c20aeab8a72d48cad14fa3032bfb0b8652a669a394fc2fdbc79f72ed928baf3a9f805a72c3a88de97c2622b4acbeedfbfb84ff38dadef55049440e948474c40f7e276b2c982f01d07b42e8610a970444170e53ed3e1d86cadfbe5a58bf23a755958dd2f6287372c8c5deeaf6ee5b50bb0ccdd7eaafd0eb3c6d1e06b0522afd6d11492e331d9c4a38f8a2f949fea98063b7b59e968f5af606f6b0527cdb3c55e5607496d13d489e8a7fecb620c3884442dd6e3fb26748b9bc66c0152200766616da06f040d47529741dc2bfac4524a251f604d1a23ae16e5239b9726995b0dce75c2011a5d43d9184c1f4fe5be40514396b811205898bc46625eb14520469da1cd190c36b8d2955185fe5b04f9add34dd2f07e04186036ec1d3f6723bd9a80ccf18bdcd058226c92cc2c8e98487dcf98e81201681e6f773a0633f72bac04ff04e15f85f942ce6ab90ec4b2af2e898f1c620304f642a3ed665eeb26f731fb5209b4b27a4128dbb5f4a1b307edf2bcb323074229aa0dae05aaba7f15f5f19811c84d215a2416347f7fc440a208d27570b65284d4c0649b718f8f9853c51da73ef4e0526adbecdc89a3f79728d1c2b269541bd3b56253ecd8e9e5add7261f115490aeb4d4e31379109c5c0c1ff8b27b2aefb90fb0997faa12b68d5b8307be91e309f8576af5c7449f6455214f97ad96b2fddbb443bb7839ef33dd3cb6d3dfb15dc918ab0c6748a964ce141afed9962749f1220a3b3d83c3441fbaddc72a986af530f1868c80cd883c414ece865b016e46bd2ca2973237a3dcd8e4a151a0438f4a742d160db01f28ef95986bc76b0e16b0f7283419e768d5d3f71cb7172443d0ca70defbbb3e3e2ebf8bf14e541f0e46aa392195d4891a04a35b05bff3c565f8cf2da693d9538489c54e6572056aaa4e5fff808c04a21e1551a03aca21038ab52e9ef84e98b41a1e6f2547b77d890b8a67b715297dbe8ca7df24454b7725157f7d25ba920d5a96fb80eba7d97c46af0693ca75f4dd26a5c5f77ac876452f316966daddc5ddbeab7fbea1cd1c4b0b5d2d2f9305d530f195f8abdf369824fc2270cb92c549de1facc6cc8f84b61810a7a60deb1b1034d4ca3d25f0345c872b809bbf70ae3fe0f81a5050685ee43b18606c6fad973f6b03640cfd7c109bb725c7426cd2d25e6b306a5b057e39f682d4fc659281241f05202bd9e1e249b3e72a725125725e17c83764e6cd18dfbdca812a8e40de3b332457679065dbcd29672619b2d990b5f2ef575d96136b0066e4c9cbb266cb6f57246549dacbdd6916b726791068fad6fd02f3f424ae73df46081f9321bb69755c1bf2905ae5c34f58c72a203ae003379623a532b7163cc8a14fe291211d5a7dd391d651a74ee27f24f724d3e5c290cc04c3e111b4a3b9e0c00ae4c6121c1ef9b0a4e873f551d3022cb72794bd50abe599cda71bd444af7c3b6e1f5a6fc48bd0566cb5c06f8e2c77dc76d18b901bb3040a600c131bdf19ff9d6f58142e12a24c89f1f85b9f0dd46684a723099b2e62ff23689ed7ad057c727c148f956aef4fea7e1a369558e264626e5726bb6abecc0e48c09e21779ee481670cfa69e6d77fb512fb8fe3358a6b43f14724a36cc8cf24b922da737b58838f5288e0aa5f56af030fd3e9925598ef5054272da4a0293a631f8bbf6eb5c0313e85ab554fc3fc87ed69507491a4a761a12012f5bc73d30cbf1159793beb5e436c5c3e745bb18ea9c2f1eea2cf6679c0e4e41724c5d29ef8fb2def0d94bc2bb0b457c2a26b835aaa52d92ce767d1b782dd65672a86d25cd546c2fbe2558093043b623193a14257d568d9549533d0fda7212583bf6fec820316c18c14323dbadf13cebc70123689f22ad1d12cc122ff943f06b1d8042a586a66550d85efc6a897eb203a8524738ac1f3e4a1261f8c3652a8a5d2cf0d7231645b37736a082257be6ea55339ddf241e4318e27ed6192642be9bcb72fb2d22abeb81f380f873a57fe908cd4d4b0785aad8d2eb111ea3838bd12c9e27fe5d2d19e2bad7118340561ad68b491c73df06fd4e97d0e3080292be7a96f272f406b90196b1ffcd7532616b2c66ac616a35fb8d689eca7d3f3ed79047067a65fd1c6c6e832b9493ded4597d0d69d6d969d0d870915920fa462bd85e9b5d3105d05d181a07beae487d79d354fb058245948a7ce210b23213597fa2465c7733548648f3f2b649396ad7e08a1a1556e428e80ca446c726340894ed04bbf4343158ebb65ae9cba411b7383fa1c43e94816cd5ca47a3d43138de33d1665bfb5d3444eeab310bbf570dd8e092d396631458d1e1e18b25c328ac1e66ec5b135dec563e27b916ee62a13590aaeae755fc17d4cda7dfb88c9a5838fc50978a6586eb93125c1e37e1c0103ab9b037d3d847eed278e3ea9e9991a76b34083404f5d791b84053b64caa38eae0efd241e88ba604e003f6aa2e03c4d2ed0eb936eb03b40ea81d8998f99116b073312c1bb1dd50e0321a58202f53ab0e8bc7508ba298c19f0c2be9b68083af6ccb388489bec8eca752b9a2c2d4c89c9734756da0babb8c8ca972fc6ae308b4d6ebb342cdd5abb5b65d1fe3c20686fe372023cdbde8ead3deb372347c76846f215dc1fb077a34ab30a6a1e471ea977382a911c5483ea8bc8085726376f2fe7deecd36819c681064a4ab71041b277dffb7d153cc6ddaf60ff608727201b5b4082944e90a3cb4ed8941dbb2306033a0ae06ffaae1ae32a383ac9367775a0f935dbae324d7cc64c513953ecd504091987460bf138193b59147b1c0670cce5c374282a4eb5fbb63ae465dcdc3adfd026fb3f034574389fb5736d63302837a97d6c61b294452d6263e9815f0eaf4eaf83cff77a0be9bcfd44bc0e27272722f9164dc0415154494acb04329142fb586adb0fa2de7822818e2e92144b772f5c65c7bfa86b1a95f326fb07a9433a1efd6c469ded7e8b79ef40c1027be5b72e0f746a79956550a94547fb54e78b11676b48fd52a06dd7bc710bdd5b30e77640196cf8b9207eeea935c30f8ecfaa2a66b74009194fcc28b79a22190e6c59443ef666f1acca55929375b979f6f4e70d20cd07cfa3da98696dd19da6dfdf109216c293b511e822a581b3e06fefbcdd0cbec3f2d7fc8dfbb7e936e4f274f3d9c3cca42867d86e14d68b8e7c78e30047fcd51a20a521aefa6f765e8ddb344d94b2a41fdcde5fac93e53a482a9a06712b2a3b8881eb53b1f226f5c88e049ecb66b72c775b7370f2fc11a41cc959741450d24046445e46c77212e774b9b8938eb280a193f2c8a38fcf24d2eb13dedf10fe5479b201b67bf4739c85d6630d19ceaa872b9a33c4572a98d42dee7b5fe147f59ad81d494bd2cfa13953f039455a811f302c2d93d155ee17bdfb456510cee4dc98f1e895c675a94d7a8685d6dc75faddc2bb8717064e771f987265bb38262758b130df2be9f06c95a6a005972667bae82722d035fd76f51d73a9eb86855c845a55b400cb7d85ffe3831ef4db06b888e6572b83ae10d1027e3d26488f2fb29e06798f08ed42e800879f1c53b2ce65ce14e5b108291740bcf9ff55985be8c84646f1321dd7fde8047034d85fe449ec4ba6b5243512b5e769a5410aecf712a6e1ff567368e8ae5fbf273f36fb977d5f07206728e6ce8d5b27e439999915229da3f9179728b502fcaf72a377d35b08b34a2f372d5334c8fb8f01c2436dca5034f040d1bc13081775cbd037777fabf0cfa5887726c0da9749fb59098560698d312437b81c8de8a41df985a58cc72380a8f68c1727087f48d38bc5106cf7535fad9afccf43158aca3de724116d3e269784502bd72120bc695c8933f3ce0966905198561a401838fa5f90cbc49f873f7a7b9a6dd4b31d61adfc5d215c0e556d6273af6e3c9a12a12f2521a3e231add16f9375cb162a21b0c1a753f170cb43302a5e1b0e5d6c2b296efbc5cf93ce8fc8dd8d614387228f7d16ce4b05368b9376319903993def96a41b46a9d66cc7ef2ce2edc20b672ea57305a6057935f5627b98dedfcf3a3ec67eaf4f5cd1f27a3f7b993b9664a72b3127b28a5e546bfbb885c8d8522d45acfc5400807b3c3c2edde434a68528972b53a5006cfa1367537903e929d4c67b5680eb4af3997b76791d03002107aa472b3b8787f564b53d14f629eb8aa89dcadb18c359def5e59641fc11bd47cafa77269500cdf1a73c5770c4ce2f281e58273bf753d445ebd04ea0b0864fabaafc4039d9a7246e3f3d2ec1051ae9c62c80eb72b70cbcce215d2b1a703b90674269f72d7379019f65c185e8797d386f28b0b21fad1a7e0d88229fe8a963ebae38895722364d8b5fca935e665ab8c9082049f50923c3e0044f278e63bcfb67af6081f42fb5ebbd49943a7b8d1b056720f8477e5a29f488a991240c5c616a206c2bf8254ed3e29aaf00659a0b9e0b0dc3778a1ba26d238bdf79cd29f19fb7a2f424d7b5dece9b8083b3856bf96341385d6133eca3b2663c6e26f293881bdf588897f6972ee0c4859566b628b23b9ed24953b80453e1d066ba632506ecd5b46343a7afd729c0962eaa716ac6e943f7a82839a0998597ee3e7553faf908f2d82631fe1cd722b167080803c05cc75fc2f303faa7fbf92292c645b94f90fddbcacbcb1e8e0729f8a3766897e3d9c6efe4a5413e725ffd879039350802b4965e8ba32fa9cee729bda49891953725bc43f20af741bfbadeab32fd8367bb9fd58d5ddd3a5c9271a33f1b40e5eb396d834e3b752eb9eb0af29f53e14a765f47905c2b32dd501684cdf2825caf854c1c190470479ccb3106f791adcf3bee5bd7a93fa4039bc819c71ddd62a55f68419244db2c8e10f1bb58ff8948428fb797f0dafef57d7bbe0f6475a1be96af50baa9b945f438ba6bfd213b3841e7a94280b4c6fee1ac46db3e27226dbbeff1417f7c0b257059a5f13b6891fc88fed82c3e5773163eae15f7fcf72bd96a9899693d0f5dde207960618cec828beb01c982a4cbe7224dd1e3f42c418a57c028377d5ad5cdb0120c0bd60095ae203c3917b65f49426c4860d72cf9b7274bef3059e4e7158eeaf2d6752bf8a9b650d8e60c32694c241e472a2a43ccf72e5efb8209d7365f684072217966c21757711e1ffbcf029deb57d998aa0f95c2cbdc69578461ae55f716c4bfb96d792dd38efc9747ec7901786f49e94db727229f07273026c1134dde52bcf30ce76810462c7168524d2b6fa736a9864972b6b54271fd7a3b281227dee5bdbc03cfb124974feb9f6b2207616d461b0d130687e419af9155efa489d34f604c127201b325d51e2a4648382c64c52833068af5b8a725b04b16c0f27e361682889b7f9aa6073ced7e654765830d80d46b87eea202d7269fa5be6ab92494c2f3531bee770ccf772afc51a0f4ad06997c6daade700d559a2933cc658dd5a9b36b9873abdeff32e857e254551f3e04dbe3570a4d97a0b72b47dea515905b653f6cf8fcd4948be42137d3b7c463b73cbbd8733b2189f0a72320a01daa039c31408631c7e880fb7aa1af9d6a59dd7807eb308324d66ad0f0e83b82e2eb227afd24ce546921804d97178d73b6c80f0ec42920ac1c16ee5b1729a0c604c9f3fa6d3c5c0ce1214f74a3af58aafd2344e487d016b2ea37ae217671f88dd50f45269bd6376bc71255292a21a19ec46ecee7f9852a4706058375272b0632aa077212179dec8507f6ed490f96c6a5944fe4dddb2db5f5b298092fa72bb8949977b586ca67aa3f3b0a1b2359596e9926b07114b7f8296e5a334d7064750d28551b82ed9715f5a808dec467c1633ee0eda0ba9728441fa38c96e9ec2728e0643120377e4a67ea8e248fa8159ed633b3b2e83d62aa9ffd6b0b8b7f4c80ad25f5a421073ad42c350b3f10e7ffbe7e67a0c9f96e125ff6105c51c1df4c072e2dca7fae4ddcd67784e8b426487f73b9846b59f8af2f43452dfc6a598c394721c97f1edc0e0891a6fc960978d34e28fc20acaa4f16cfa272a98bb0e3a721217a0b7e83c83c08d254fa6608a2e31af39bc80fbb743e0e109b2a0b1aa3edc7472751f780d0e0cbca4cd910d5dd07b3fc3255dbb3031641aa85d9135e55d4d1372ddfaa3ee50317d6e846270f76ffebe5f6f9dcfc39b3bc36101239746e3a23f728442fd602afe57b502e6207e6035abcbbdd11e164ae254cd02e2c1af705e8c06ef8d70828595e19cac228830a1e08dbe804916138d7e42cf17d67b49b815a63a5aae4e2b7f9aff0699bde08c5536e473f3a810e7381a8fc4e061cd1b976b7367aca998ea2a8b091d4cef40c5ae32222eae1de47771115e0801a248af921a8f34994d16333281e8657b7a6505708f0050c1880813161ac1cc7c7ed314a29b590c4d30c332d8eabdd90e552d31e1ede54ff88943bd3a2353022e7b77e1cb4b8c72a50c2f78fb2ce7a6493570e5bf6114232b1a7c1ed9815946f8d1ea431b6d280380b0240335a141c30a8cb973bd7063b55d7f697a274cffc96772d45987dca7729e42c02d384353fd9ba97b4ee2621e99c0e14a491b3ab237d306d857b6f77f72b514a1271a48ccbdda529d4975afaab536f7b637abc4df4fdf250b80ff9a72374abdc0b77c04290c95930ccede3811f29d9a3e470b32abf2cc9cadbdc3f9a072049588ec94f1251f70c638f76264669c953358b03fe5e69e6cd89593e913677220fbb4c7c3f0cc2ff23141efc97a73a45692d694f903ba903990a664c39aca7292d78e1fff0bb462dd2152abd782892eb59607c3603962ce90b8ae9ab9a8315498112812442fd5cb84a6bcd7ad4193601276227707de51fdd66c8d29f067fa0c87e679b5f125aefba3f323477f21410aee290692dd3fd85cb2a698fbeec1821716fcd6f9a3284716fe13450075c1593d6b7f4d97b15e357a6af3e3fa2a262972cfab6bf61a957ccbffa42bba4f9f2836cdd05c8ee627c957cd97a2aa51e6a44fbbd60b982d1a7a531acfd571508f9217ab4a587d8fd777ddabd8493ddfae9038ce05bf9b6b728d279ab00b8ebb621b4009be65a47076ffd32aeda71aaee28534d661e5c7e4b360d803a0d9c78832af82905a5dbdef5be10c57070059a9b0a07228a2e5420d9bc3f8f5da2ca72a7992a43b200b1968d604bf4fbcd93d1b83485ac47494919a7cdb35c12331fd6939581ad37300ed43418bf0fd659693a116f872df0e77ab1d456c299e760e7b8084c531c76ae6500572a54fb53bc8d8dc4abd72da5ea586fe6f43acb6b4dc2f30b51de94dc67f10ec901f8ab4740bfbb7308249b8155dc24eb70c94b3392fd3eb6fdb8a1bdf5027af1049474992d5e0f0b03c727819007615ecb1e50f1b148a6be13660e2a37c5612fb75cb7c11c486947a122e036136ce118d96e29731c2e8755467b8a8fbb5c2a1aed8b07ad70f2edbbc85724cd7875d021a233d6a25a2d40b2cd14e1fa8e45480ac1d12fa1f927422418153da3961c5d9b0aaaceb0d4556fba4004ddfee5e10312da2012adf21444408ee725caf525ca696c1c5f97da54964e098cf01d88ad82a866a63e4347c9bd38ba172dd63a47fc47912d091ef3d8b3c38a8b57f81263bd6d2b55aa0e9e6bd7cf9237289cd01b5df883e3b05cc631d7c784612dca3859418399bb04511f348cb55860608e46b1bb6b3775729ca60e63e3b975acf75276b4c5b6dc2903e39763dc922728bdf25cce5d88dfa27a850f06d57be36c3ac3cbcacd6880557328dc4ec7bfe726906779d81f6d48c0e07a1cee441e6b7793f3940d2222b4b63189e6722d18972e640a8b7ff65c09a68dba8e03f212835f0194e118c8043fc1ce600f0718df97213d5b5904bbd4735a3d944cd45e5f501fcb99a604a4802dbdad29d29d8a8e072ca1b838c893e13fb593bfacac34034784c7ee0ab4cf4062ee6ef9fc32489a5729e22cb1bfe043c395d0dc8fedd6cb132d97858657c30cc6c2eaf575dd2d1eb72fab90ceb49160e71737d3e22067fa8e2f38d341733ab8db30989771bc40bec4a7a34d4d88637e5e497d14fbbbbca05ebfdcdbf676972f3eb0f5ad31b54111b72519041e607eca366cc85a812588a143b829039abec0c5eba2f4e49a06b5bb36c32d1a3ad73ee4b72a7b584bec68d134391ef1c1230ee32c176583f87ef9a2b724295e6a9ca8cfb46c34665085e3462f0c44240e7f864613e89d2cb644dd6b8059895cf8ced0e391c3c73d04459333ba0529ca30e02a64c3b376f5498c20afe69209acb6058cdbe1d2debbd2704684b869503efc1f87705ae9fb0959ac97a254baf6648711bf49de0b18e969abd00ddbaf2a66de47a54bcbc85a1d9f1f2bb55279f4f976f003a306ffb2da5c4ec1369b13c0e1cf174cb299af8d87fb8bcbfb2127c73e0351ab142c2645f8a574f171354e8537b1a9b9a8fe22d105e10c539ff139d56679eda9989acbcaa88f7b6f85b9c018d4d9d68708ef364d47f525c6ae172892d51023cd507b85f47fa17abf8623c8ea7ab8029538d6638db4992050daf3380552ee91e7e0e03892452a7131f5adc4f9425cd9e1506c8db527a4780fafe7268017dbee1d276b35d55b394b8ee8e2dc543ccf7c6da213d9e3fc8532094920ce2166c5151b0e9210d9b035e6fdd103d80bed0b0179cee7703cbfdf7209a7b72fb34c6c4635894c313f4be856853c4e134734eafcda230a81d14b598c06ccc5e86cace60b67f8ab854a016fbb8ab5af06ce931c7aafd58c546919674050ad47268ab18146c089f5de2d73aa8751be2b87c82341c2b2f87f697852e8413189b7207dda151d07a2d06bfab47c57fb99c2b8486466ec8aa7a80a491b48173246262164d3252dc7720c79b9c695a74823cd5f6d49ef01f0950659a79e55783d2525f6a76ec3301ea0ec0c520d95e76e61dfc91649853155ee567b61ab1a4e9e10172f0b4d11d4ef2899440b76b82590643496e8cfab3cc606514762cdb7b0bce5d7200aba299551bf5741fbfe168b3bdd4cd61b74d585b4148ae58fd18905269af72003d41795aa0a9237f6b461c3425cc98bceeffdac13e30d5bb7c7ad1193dde7276721e5640b8a11c10faf37063d47e84696bc02b2fcd3296004c2f76ae572166a6697dde3bef9043d39913c3f9053f65492e54b6cf92fd5afb646a87b0825b02cbeabac89a5917b5e90bf26a967446cb2c540a553f3f289378449d70a1770427351c9064d8bc8289b9971a29748e6fb218bd6c85a177b90467a88306b3c55916dec576348686ef62f0d95b19c8f12ded6bfac87ffdc5a7892ff6599f16390c72ecd26f4a99a23df68c80c8e00a1416cadc82fce0c29b479151e3e037e66d457232a050984253a9858a65f1f83fb29ce770100c6f27abb5f69a32f547ecefe6458c697f4ce07e65f99809a38a01cbab8e836ffb2e0b38d119580fff054d08197249641dd800e7f6656c9ad40ccbc84bfa8ad5e92d7f568aba86f46e26562a4272a63792fb43e8ee73be2f8c24bb0e6c41d8c453b3d492aaad1c339a2cf0a3b67298ca2b821481be5c13bf4452d3213e76925ec6c836a76852cddfbe1cbe7fe8723573ba7207196474ce6186ae2634b8461214b0261f52c30b2ab5ad21ab6368721ad2975bca2b8bfab924641031e327b182b5533f2b5a925a8a859aed3cfc6d4adf361de53676e621e355d603929c4237ffb1e8453c1e1c6033535320be93137290a8530c821d3943e6aaac4dc0e1c8257b52747957100b5aeeb4ec9843709649e359e5c275e4d100e1e7b12927208b59cb4e0098b3e8d4aad5bdabc1c76f0c72049ebf52f264171eeb286edb6e8a7ba9c294612b2d7eec5cbefd20b42fdf6872f9bcbef0ff2f0537631fd527df32c4ea9c88f41423e834b851dc603c469fcd724e183bd49777d6b6fe9394e3a1c59c10aa882731c4b81c63b4e48f28ba608c0ba48be72866c387d307f69cc22c8af5a43332af3ab19aa42c4501142837f4ad722a83c6aced925a81ef0d49f6ed5599853cfe7723757186622d599270e51f832e4d790732fdc15a2cd9f563df5fdc2ceaded232d3fca7f3839fe406205210ea72a70152975aac6cb1828c1d09f8688cf2bfd6a4cf31ccf0d80c17dff005cb6f72ae2780e024790de43155965c859e668365fd249f0cdbd3d7088432c672c9dd721afe821bd518005c26aa9e020d8d78d60239b68720451c9095c3d24bacd11772f175adc613e6a273d2eae8e4b9281565a8fd31c7a80f54562fd014f3bedfb9522148802d71d6f701d7c3b2398edbdbeb5ccbdc9ee2cdfd156207d1147cec6972e51a68970500fb0a5c53f2ad6302015f683ef44487af0d296ca588c6a1d33f1efa89a483d1bb41b0b8bed27987472473677228ee2baac00222e3b5b6c2b1c320931b7ebf3c9a62d61c6a3460cf273f8ae028946a1490e65ac5cd8a10c4430e72d49cd9671155f5e5ba36af0a7446f5efbbedada8d60e32057f150dbc95d1664630850c9ff13e37d9fa1b65578b43276d5a406e51ccba558d9bf3ecf0e2841e159f7dd45ae38d30b552b1e87cdcd2958734a5024c0563b07c86e9540d59a86e6267dd727fa2722d5a7b10a293db1062096d706bb96f1a5105a71008cc119e677245dd911937d57dab7ee70411ee9358f192b91ad7f8089037cc037dd431511972fbef28d8e9fb129ffc8d3c000c38695e1db8fa34fc7bc51e800099a088ac87169fec95e44203e179b6b6716828710fbf4eb7bb9579f4fc67ce8483e24d88b9721be90ce005fd16e8bf74659d89599a6172c70d530b7664ab9884ef2802b9845dc4c74dec0cc6f62c27096f5a7ce86365eab68b58d1a021e9a931c195ec321428ecc31ac4db6814a148ee9fd08e2ce1620c4284b4a4fba23838084135e8baf2364dc9e68dff6b7a5c66bf23c5b3472342b775296ef15309cb37d76dea14ab6c31dfbe33b7f68b5e1099ea3825e5a90a51dd2acd04333ea30320fc5da70e66fa72c7246dcbe34962fb6955bf3cc26369efdc6140527874fe3db7653aaa62a98635436215ea3eee27a5d0f95cc61a06e95c71f91fcaae9724091b4b8aae6103d272d6844ca5e8b768c1549bf719b9ed400fbd9de50324c6f4425a8ee4cb19ad7a533846d42d2cd4d6e3ce8a971c2a125b1d0a794302ba90167e40794a46ee068c72994246fd4a7e94ef2efefa6f43626934976b5061cc2952ee0dce3c07ecc6ab39926bc2653c548cea58bea3d03121577b424dfb2933bbec12b7de323162250372999b3dc561f95435f3e49edc5e08513a7802c48620dfa17fe4c24e92006c9172072b09d4966bbb35cf0d6ca4cff9ddbaf37ebb93652363bf47f1af4ab06727625bdd25ff50712e57d96a104fa240af3526d843dd3412961fc77c02cc82878c53c7409e1533170ba06ebd1f4da7cace74263ea9e67d48f2ce6dbd62012b1f397228f99a9a8e8f42c22f276fac6c4c07f0f4709f4478273ce6a5d1b18fb3966e72578079e82d12855c401e09c0d024b286e22f1f82ceea639cff11bd3f5446bb6a08f51c02fd61a7f177450a035942ce065e3320a551749c27f06a4949873a6d72ba37c379c948b3526846c38a4e9982a5178c3b422167f5a590ce752b67b4307279d50990124d5c43c06a870a3c0a283fe31a1fbf9f9f93bf38fa97112a49ef720d9f850834ba80ea80a8396cf504cf661598d7bead5cb578b7a2f1d7db1cca724581edeb9c94376d3ae71e421e60f579736a76d109ee15ade533b3cb54ef5b72d0dcd72b17142ee219051f9e6a042d52769eed9e8a25dc68d5806c8fb8af7563194d957cf6eadf7d80301df2bee55450fcc3ff309a286357782bbe8159a05772a19ff0793f48f96d00e4f999488dc6d2022bca87e9c40881e80f67e74a7659721c391e3dced4e7620ceb9061dcc41db6d49460aea1509e873095b0a6ab2a6a72da21ba11f552ed1e120f311f6de225a26a0796fd0bb9d236561e0d3943f0d572e3def47227191c1b93ff29f36b3f2cc13ddf4ecaa3a65feb460d9f031f1b1c724e5cf3d51b5d78d3126f79b9e113cc5fc4718ca90d4910929f92cff548025e72827d9d7b9b3fcf2130a7d8e96180a9d31c0804807f0306037a601c9d8d0b7d1fa7a513312b7bc091e26a42730d62bfbb2b1c8b6b4a909cdc1e4da9fb7f7d6a6f19514401a79c1b92fe9737a78f1ef6ef66d68a97191392f0213d15a5c3d00f709c525d525437d7f6b7bdc6a9796b1b7e0f6c9b5d300fa19bc96feb8cafe4a72e09553eb7ce7f33c0c738337dad1b11fa2d09fa6ff835cd0005c1a97840b7c94fdc9bd0cf130f32b044c0bc774fcb4f10570865894a38fff8e14a342b61865c72d1d65351856d41b62b1326a345c26b9b36ce634387185e96a68c350d05da1a72e2499f498612c454edfc9a5ce7e1d9e08f6b48db1aecb63cbfa8ca355abb5c724ea7ad8faec25bc7f6a67beee5947c6e1cf38229471e3d6eddd01c7c247b514180636172a0536d302863978e672271d81dc9d5a9e986aed8c86ef0a2f5c9d13b819be684fc3bd70e23bee35932de78c8f3e19c776e0be4758ea14450ef3c654235987918a8dad3f097b19ad0269bce70a716a0681ee32069c7dad9f402a3cf33ef8a53d2e33c8f1dde77024b4ef07fec4b2284333bf08a363d0e41420bf488724cd7861b7f4e98c9140cdb07d597b27d3819d5cd95f75bbeb730b41b678c733027f060cbc5f2e7df9e93aceee27a54e1fc35f4d2809b69481a9de2d37880a972a925e44ea61f1a975679ca771db1273f6a970244e1ee14a6362ca5aebbf41738329f80262b9789dafcada2cab64b63088203f6f7e34d0ee5bd0553efa0e16172e05db63895c263c67a4803759276b41ac596918effd545d61d7a5ea5fec1397211c39d7b3d6934b555e9d5cfdc93c030384a2d2fa4af01ff8dbc6f78d0e19c72e8ddb17a6c4261da1b3a7bedc77b644656bfdf15f9b457d185ef150c654399727f32e5e8b551dc5861a689f75edf84883ef759972ee5c670c5118bc432a482056e5ce13e6ba8a7b4bb47416ccd92da749915ca704d4afbf59714bba122224e23f33cef63ec5e4ffaddffc5245acc52cf769ecc730e6cd758decd81fabe0d56471833af9fffa73d9579232ec145738c709bb09ac0f58147f2f24a8915316758128cbd128e57da79e7482075a4da4d22843ce977f59815cb0fd9f51b98aefc5672afc22de37cdd4b9b9742ee0406aa2ea50d2cb9a2f29178a21e167d936181ac7239e7ba468e01ff0d0112fd313fbd43ee02b1f4d86ee4df9b90877603f7412c72e9dc990b523069877210c37485f68c8155feef9c41e3c1dbd7b0190cff937727fb52ac67bc6fa8a828ddea52d8ae6802ea06f9c89dbdbd315865567f6b3ec472559c656d9e54aab6cae0b686029ff90bd6b7f0f85028adf256645c96977010723252dca080983f65a012db636393d1c5260f5703681746bddba9b1973e19b6519fc3d450cfd6316dab82c4d20e221e38f6e43748ca4c483e3851fb330d0e97725d04002370c59f481e36f366d8476c62e8c45cc036fa1fc535726cdc2b571f0041d3f6f6609bc8fa08ac616cc74e9c93b245887a18cb718e0912acf4fdfdbf721abccca18956def48a5807103623f529f7857781d8a9605f7b489d1b3d61f6285fd9f19344a3da0bae39274e5bbbf9118eb7b44f77027a55ec41eaeaa5ca884554ea9b8b22ebd7a7f65ccba9623211c60ecaeb72a99f615239bcf39f338e7472bd7f93f2278e3b53bee4f7adc33a7cc7c5b57b6a4e4f6637684848e8241add2748d851d81d060efbb00e42d123e709c6155b209986d5a12661d649467b5b1f23b43ab4390279c80a63bf3aa6f75a2f6c96a3bfab6e07b0b0ea1f75ae607955723d1c1c36dd2e47d80305e28b1e6818a72956e66af9d69d966f45ac4e8fc1417205ee49b17e1c373b89b8214edab69fbe51ed24de046fa3865b501a6c183bf072901e54e7927ad1e16fb0cd3868a46831c877f7c63e13550957336adbdf615772881143473a1a13808d84e69b1599560b7f61c5437b3aedebd68f961323d1377230447f279dcc25a3f0af05fbbeff02c9c7e7de1d4b0859320b60af4e1cfc0172ae7514892320d9cd19ffb5c4fae45135e2bfd890de6a4b21d3d14cd9b7304772187e65d4dc5f83a97a421acd9df0125d695241e3ebd3bcff7c5bb2156b73ad723f7c474f201ed3bd91b884e05136c01bd50851853fe7d85ac0e4652b0c91577216bb0464dd48f07db1a7a2aea6b4b69fff8030cf8d9d6d5d17339054d58fa9543b85aa105ff7ea0f9ff054e01bd82c1985724832dfeeca711fb9216d17df725c3b545cc486c2560e02583e25dc43e16fedebb38115b0263682830831941b4b6eddefefb69636bd82fb3bfc34d418e370b210610ea60d6ec0031b3b6a5b57d8726febc1503ebc11e5610a1c598738bf53a3f33fa8a82448a56415aed7f7ba700a3ba63e4890aa5e2fb98bf5690d6fc2fa88c1e8f83e9aa65308a9dca0ee24ff7224c9efaca1c1314a85796af64ebc844d88626b2e86132c3c793e538fc353a172de3fcaa5a2b81f11f1f9b338af65f577e109186c924bf9dbf28fae962b9c7372a1eb1de718543696281422b86225c395094d306d1ca7df947301217c00ef14720e6de5dd9c73366728c551e6220c5e4515600703b61c72bb93040e444ff12823fc29c080723ccd910b2d9bab8676f3840144d767c89b08d9f7354c33e3488131cb570efeaa87493414aea3f1df7b3efd1286536e256ed64ac519c8b790d644674d8bbcd48189455bb19651361b300681cde1443970fe1bdda6990f14f2651d72aa3030db2443e87fe7fb0cce6b48ede21994c4f3619fed5c12a285a7ad46fc6adc86d2b766ffc5b1546405902b2128f8c9a9ad032e8b62137502a02e0902a0722bb705af88ddfda0ffbc64402479c6440473c306bf9f48df6cd04db72e4465723374dfa9f38f1e1755453955af44a3a07da9e76ddf9dbc77408248c21bb3814f0dcf4beea90a6ba6624b50b1e58891141c4399254940e7a60f63520ad0c79d72acc20a93539f317637adf75710d977183cd5c04cc8e013c0d8bd8fd5278e087270beede27857e52800f9cc183a296700fc4f432f405f4a406c0486a3a03fa611e2e7d05a4b9254c4333e1f0467a55414ad7f75a1a429d106536a12f95a5e456bb13640e5ee2e7ae15ea2643bd3c366a609b685feb67bc9040fd718c1f579c072b18035ae419fe68727c8b5d52c316d6bb593b14346e50149380d31c1124bac626e989d1dc023bedba612484d72ca54a258aea5cf106bee3fcf095ae21108e444e7539c7483262402972c0156358333369e331bc05de18a917969a110ddee8b72b3a96f93bb5aebfa812a91f76a3cd47889fd7932c0996a64bf377f88edc31d4e0cfc95a6f51eb9a728c10c0df532cec6b6f9192ab8d26b1affa2e59383db5c72d7fc89ac5fcecdf5ccebe220d63e56e73dbb03678c44fb7a7f787f3c570c4a45605e5148f5a04f1f756bcc5a986b60359395fc1feac1b6aeb6d50c4927b20e0d029f2cc173f648bc3346f015d54b13f0a9153b737ebf6ab120908240bb65b814fbaaacd00dcaf68ffa6296d40f276a5b622ce42859a65ffa82f1748ce633767278defd4851e410cef6761853260e53df1cacbd00a069d2d33ba535c8af28d406b58cc65ff9508fdda1b242465a1c9e98c12b86c97a92c5247577520ae019912b00ef280456281a094c2b92725bab79822ce9d45e48a37a1c41da35654d649771ddba27c68a9466cfa0a51a36e9597dfb82a1a700536713ac4fda454ac823e872a098116c453d2a53c82b011812aaaf63ab64cb2c7453bcf45735946884df4e14c4b0c70ef256bd5ed5b38db5a971b3138e4d63133866efca6bc0e20ece265172710ce777e814c082de597305b63d557aa5fd4103846243311e8822ea2a207172279f8ebe62cbbcfe105e8be101d53933cb841df4aafecd2f9cd77291b0413a721c3e773e48f9946e1c09b499dc2d255ba719e530c66d9e077d7e20163e2f770064134dec4f9f16b3ba990b3076706ea65d87ec8bf4d4ec74a5c817d7ab4fdb38234069690086bbebe89ee01a4ecfbe341af6862a9fe1aa1c439411c86f94193aa65a36481fac3f6d45522800228c41bd63f3c745e455fb49ad9435ab7e31d152f7711dca9362aa27ba8851a0ca05176c2544199a201ae4f0d642060f087bff0a9aedae5209938cbb15e5178c381bd57a3d8255985df5426a3af05ff580f0d5728ffe65cef68f7cb386ac6acd1c05e7fb024ad856e138853dbb24f4dd3f0bd068a54ba78f6f9f5c208ab5e0ea188948d0912e4d610c309041f897c99eb17499720b1984a13838de3b355049ca99159e32ef677022a4c2a3b152ae7fb724ba3772352aaf95fa4e3707dd55ba04b02c21c21f2437eea8d7d12237ae77960a10e5725239652f704d7ae83cc2de2ecb160fbbf37e3c953e9e303ebf06cdcc38003172b736f6565c2d568a382c20a107239af329ee855cd843e27c1699be7e6d989c6f28f045a36a23ba125fe0c8e728eac2cbab67da8dc33f51acc1c034d728023d4b28a96aa89700004bf80945268e6a79dea7f51a1ae1e9427ae94f555f7e3b7c0efaf6bad6e60b5369a65e6db59da42dd77b12bcbb6d7d5f4f8fad481da6793672f33b8ddec96f9674af0b7754793aeec9e9180f948f09a25c5c7a991294c374725c8b0087fd50c6aade69d61a1b5b346b4c816a925895944ef3e42a215ed237032fa1b2d42a3413a635ba16b5107821ad996f66ebbc76a4636ae6e5ac3472df2ce9be381c32965c21cf685972233f095c150b7a8a711f9160d5f584924591ff728ea381a9ad392ca5d17d37f4b2ef1cc6f90184b2a8d85e4fc05356431bf492728af4f20d86074b5e1184b6b85acdf0f479486357e2679db8ac4fa6df0f656772fc04bcf9b4cd35f2d8992860c5936d0106f3a2797ea57e64db037c3071629c72a369d1d51f31930634cda00f36a962e123ddd65ef23ba7ce69c99c1103b6a3720770dc511a7e6d7f63b8c62168b30d89e19f77460b54ad5ec23934436d20e512387043a5f092b4d927a9b8004b4489913198fa1f2a9408ea663bea78bfa51967711b59a0645425beca4b9f930ad3471622e1fb320884929d16b4d0b4bc7dec60354645878e3d1e739149fd434425d2cb56de29c95aba129488dad44e3ec72c5d80250d7371f8dff3421d0bddd4fd3ccf5ecf305a3b92c234064264abd7389e722239e3b11a9b20a4c00e7d649ad81b64e5e3f29ada4a8f1a0ac84d610e636d7296d8ff45bc2e85458b143690a5973f239af792fa24c1ed73dbe0b4db8eaaf4379393b5f34c3c21c230829721c6e713029bf62547aeb4221df107afafad1e3825806480dce8cc727208de66f9307de3145b47a1240dd912a678bbc242a5284e696f052dde92d05f629f5142a88ff566690893563507ba60b0af956c8e0d99ab722cb3f45964c88fd228eaf676d386d68f319e4c342b2fd8e38027fd053fac3d7246618eee303cfe0da821a16d55f969cfb486ec8a01f7e12d5b27954ff0ae902427bdf6e5ea761ff68b6779b711aea626bad683d8f4d475b4783831fdfa960219009ccef7dd2b9a9db26400ea2ff3aa6829e8c14546ece3b83039fd35f446d964867e3d42ecec1bd4878a3a761959f1ae07191a4601c81b7f0fffbbad42cd1845254b16baf0f8e585ed490524ff69f4ce788221fae5edd7798d8e98740d442e17e6e42cc3aae1f5b7868bd4d4c8b446bf8d961f85a61f25a38cc9b95e22678172f88f7642c309a777172fad1d52fb5814e97dba2868f54729a6166f318e7ec0727c61dfb7e180b3f83fe08cf9902804ce4384559ca3195df1be22706110c50d72846296397325c2b2d837612051d1dae0a9344006e0e058b58af68268ecaa417219bb5310ae9215743b4a30fc9e7244dccd877a54a95e17a940d117c85edf34729d203de56f6fe0b5b8cd917d8bf3d2f63f10b4180cdffa500fb9915f8a42de72e63f2ace000f245f455441332a7ef35603de079ba35ddf932ec2d4a18431a272d4bcc54d3bc253dd121219d23f44cb84c69eeef4816456e7499d946603670472b9b90f61978e678fc5b0f46eceb3ae078c9f032bb98a7c215550416069efe472eff3d4a8221b956e3a2304716ffb08c91759541b77e4639fa13e8cfb692eca6ff3fbec2b6613300c770ff1b7acade4642236bf87f1a7cb33e62a3b071a3ac57256d687a5bd8b92c388172601ea4e887789f41b623725441f761df69fa4056472bf34c17f08ee3293ddb2c6d86aa42e8d9c88fa5d9652e63250ef5032ad54dd3b86df1a9dbfcde845c05f7da7ec62fa9535debf06f0531af5dae571456e80c972dc114f539d5c8461d71786bc0943e89a692cfb5846cb3fff6db21a6de3620143517d720ef8f031d3581972fece0855f304a3ab31b7f1145480ff7f29d83e3072c71583fda05c3be1a98e39b6ebab3009897678aaf04864e1ca3da32a403bfe3c1549d298b4aad1ad5cdd131d8722f85b543908527ac84f0b386fffa774a86e610fd315dab88800eae1c2731b76b8e237bfe9b8c7d45f5870c54613d1a9ae51725a8454d567524b633a134161c7c2fc7f587d6adbc6051f20ed978d7844d72272fcb8f7db37183dbc61b870d504818d3748772c25d04c6c47ca4384add437404872a2d68c3ac650863dca95f58a2ef540f58dacebe6618b131197251c724aa46ff8de3d70c3fcce43c4ff0aa08a61c3236d715062b7983bca45bf47488a7f0c72e03b2d73ac0dd0cfd25a8d8fd53939997d36efa41b921e7390e00abc6a6b4d5996ba8dd241268ef1ad6e5d29789116f0f8fd553e7bc341a882584db83f9c8a2cf573aa47c4b912b24cb6c70179aa0cf9bbb0fe25bdf496fde727305387ec47491db36f2182b4b030b57f92608ed69f2167e5693d24f9f11610917d5ed4262d72c217c812d58bfdd9cdc36a2686869514b465c1ae1211a13278049926ff962e2cce18fc73476bab98e1f08f8ed011a787ff0fb337054f08def0ea1666d4fa934440e2824ea1d1cb119e010928836dd603a2d3daec3a766a4b7a099f7e87c06f729573b6eef18854c622d4336308498e73acc39756c886ee97fbe1d6b21119392575c238cd9747698a5b09967e56cde8c3c9f46b101745d868f158b0001cc9b54ba7ff2dba1f64eda90d6c788f2c0cebe8227b274fb3bc52ca0cb8b70a0640a872303e5f86f2712e2bc43a398e1f77e7a7e1d5bbb10575a3616c4fd0f4f294f332ef430ca85d108664c08122285ab2a838a2b4666fc0474e14a6e4c8ceba4ab8722176666401d5d8083dde41917a7b273ee86cc3ce1e42f30fcbe1c86133cd0772d137d012321137a963e593127b255ea510274df832d5bfa4fbd833ccd17e3372c846d9161fd6628c01296ad66e7f3dccbc1acb4c42ada0c3194064c53cde892fda6d3a1862d74b8ff8f2fb65583d5d3b4b9b8a9b2084db8235ca5879c32f073311c8c9f0d017cf76f776fe97decc19bfe038bc7709dd90614811853dab985a7203a6de06ebcc35defaeb7afa0406c6ac2f8d566ea194a78caf23758557e1e2725d40d0fd712bacf42b0e2b325e4911b985c7c417a4fbe06dd873ca1b96f79750c74c7414938fb6349fe9256d098c28ef59020d6a61d2cfa7512e20fdd0a1a772ff565ccaeb064ac23ebab82197a2fb0d6638371c148083242a54cbd04624a414727f4cf9dd189a8d2c611065d4d6774aee37c8027783b3959c19c47d77e61272de8e5a1b29399add792aef9a6a245350f4f8734721252ab9a9c5e7b7ab170f72d4627a80640a2debc84b735773ee3379a4f30235b13a3e05fbde5a508ad70b72bba205b24b01c43f0e884b1cbb53eb02b5404739e7e3705dbc64d0134c14de63fbedf33c2449e93f7f3eaecc0480251d1eb6d20f33665b89667acf387cd95c7271a9b15b749e9b5d5e65b31a556e4433995532f4d34d287395651ede6255ba72e9df4a43c2aeafafec853a3a4ccbad849a1ba65ae154d0fab317d954e06e2e7252968bbe784796af4216b84442f7808e4d7288762cc1e1d2390c874316cf7972b844236217cf3d03511b286d07c7ea56ddccb21bf1f442035f0bca404b262b721f7eacf95db94a53c4d0e148906c87e038cff5c49e82c7dc4533f59413b0dc727a78980ebe6a5776e6839d01b33144a9968e4444623f960df9848c779b09ff2feb684021c7e2e96023999a0d58e882d4b408e6c1c7e30b948e479568e34df072f92cb0e470e0e41dd70fe5924948dd6b087158dbfd1c7ec39600f9ac83be1272c55a8763c143744b47b7eac2ff1816ace9883140a39e64cc3cae20f176a5f9724e7d2063cca742feb711b5e112a66e73999e64551d3bfb2284bd56d4a0a29152871955b942c1d12e8e9194b624be09b3961e4dc50c31b32637b3bf7c84bf487295a342361fbf3a7d04fc8213f69ddf17cce5970ce00940ca2c6034effd952272ce16fb0a6f64c7311c5abbecd879b190ce1cdcfe6f02688e25df39ee6ffc82726f74b47b8b74db4cd301ee55f9d448325340a689281c4517eaac4f2a3678fd722c3b548ad32fdd89e9de5a34b0f2facde671a9914588bca909fee959d7ed2b72e84a5b0f350503a732a9781c61a218954b95b2c33d4bf91cf014d47c3bfb5c7255eb94c1f7a421a035d6fcf9b1de5d1fdb78a8f99bf36e3216b28d747c410972df46d618e55ea9e392fc14bfef4ce1627ebeb31f16a18117c48ae2ef3bb21538717aa917fc87844b56e964a51c138facf6874b67a71c6a0d25ff6aff2b2b0450b6ae4c768d2ae410dba200e0578d5048757e9296e8b86f50606a5aa28b92e2722cedec4e9b884dbe67060cb56163121bc38f7a1dfb7427bee620851fbf891c31b75054a21c711f046c9cd2b68975e8f5d1ecc7786511167be0ea15e6892e847219b00b9fc29204a02417380c4f1a3e1245c17ae9fe74d4d7d9a621848331f6721e78cefa1ab3f718fd04aab2f35a9b8f33d46cd4a52f04754a9d3220708ba37226de1b451f1b19c5d02380dfc273c5a66492b36af001a22922ca0488ad80cb72f36c222e214cf80ff23fc70b28c08d73e197dae5598149bd92d13e5bb1a2b603b6ae05aa1f8c596d3f4b0ade440f1210f7ebbcd775297af73190e424bc127e72b68796b1ca50a402850527bbb47122c00aa74ca407092338f164c6b005fbce50ec08387459b4145d1cda8422589651d37e7a9b30512b2c9ec33cd50dc39e963bf610cc6953cab45bee21484f2488027f29b145f46c454e3ad1e40ba7e9ba5d72b2eadbbd62843943b5499b29f77cbcf192937e3c9e252b45452c9989612ebe0611603a0ee687b1595d96bfb0a57015e0fc854eac59cff9047f17ee7d7f667a073aa7d9dd50d00e21aad74ee5f8f6e7444f69d2b4c209f149c8eae4d4c15518355432c36a5fe3176e21c2fa3b622ab8ef9ce1d32ca4f371d6e50e09dc1fc6544aba30db3f42513a0c58ca765933aa366bb3020a7dd0fdab7e5261e99ffa75c352d47fb3f815dfa68971b396b0961cb018ba3722a29653a0008c11a90db7b0f9729c512784f6dad6607e094ea44815d2fa470013366ce6cec8856d45390badf472527f9764914ac2dd975dc048587ff3c9db2d10ba70fd501d28f25d06e02b345702dcc2d7bfb98c9c4a0efb94f7e9bd82e5500f15ae081e8f07018c135a209872809a09792d7864327e043167b73b7b7329744db45f93c1476de67e10d439ed7246e4ff4fc745a06ee5c0155351d8ff7d7fcbca8d54fcf0c36d368e8d3c433b18e14e589f13051c4d2991e2fa932c57e78e1ccd17f637a720c5e4e38fe23e7d72d66b25fc962bce6963015bb3ea37a1328d1546771db9a57d5693f5f0501c957285de18ad8330ce9050855978c64b937254af64f2bda4255db49c7ab09cc8ea723ef3fabecf08406d32f2860c479f78b69adf0c96da0ac8ed8a343a37bb535b72167bdf76a0eb9cc46d5a1d8efd47ca4ad5cb81794b78228de04186c71a82f00549d98e8ca41a89720fc5b7f494c5c4cfd64d836677f4204c49ef17a150e59772becf0f6132b0f9d22be24f5700053626a9d512ee89ee00ed27e0200f9284d272313a3a6e5788feb4b2932d4a3a278a6519cea3a1e1724790b9d1506c8b3bb472063def27029833fdbd08d0b1153b744ddfe8888f8b7664c07a917ee85d0dee6d3d8f1764491fafaf2bcc50f7a49708baa13e1653f6e3152a5ea7d289ff48705bebfd7d5e2e0b78a191289414c43a1f599b094eddb556dad40eaa8bcf9698c9721e08fd1852edb9f18c952ee59fa226575a5a70baf2bcbcd18b1173459a16ca0f4aa349d185ece779efe1629c0e933d7f30f6b08e5f6b564484f6ae089deeb3438f6bfb9083d02eff93e130f4941b9237b5913ad2a3313abcfb430aca78b622728df3ae6eda65b8f12d9753f5e65f81298b0a03f158eef566ec9991dcf3e27211f50777415612ef1bdb970250c39500a40800890f3411aa06e4c05e80a0e98d722cbbc4586dc7634ece211d3b822c21de427a1ef27d96ff8eb90cecb2b43e9809d4e442af24999d7a866067c00ee413872d10bd6188f39a4443dee6782de6f0723054e378667c37df309c737166a61da3b3d905bf7bbbcf2fe0c4b43958f4f5581db7382c70e3ca1404310e105586d496297e989f52844a774b54921f4b3be0729e08f28266719a6ebb168156a103946b0f5c3eb10c867696d7cef1660c3dab72cd99b0be189bdf5712ac87a5d90ad94ce6f2fa5c39727fea8d8c85f0e640f3724753cda102d5a24cc2a19cc3bde863c68f8db7ce5c67c983e7933c46b7602e58d04bd3d4747b266ff30532e28d13eca58cf40bea8b32ac161757994de40e3e01ffad9d4a9736efbf2b24ada8f39ebb873d05911dfb6a6d2f66b2a91d325f0c729d72d46a5f43bca3b3953367d2980d6a468ec4a8a0f29533193f71d4973a5172d12abd9201e6c945c0fbf01544eab0c564135280b139f68b99c0b9a243843572396a950f67ef271dcd7c6d80a60aa6b5d569397fdd3b62fd4c81886f1071471465c67e9c0555da570b61e3133feee107b329cea22019deb76009ef9a3fc52f5ef3f1dfcd14129e63d03a062d1fff830d4fa84682ac8800b4051de088cd544e729f55684e3878c4a30fe7d12dfee5f8c3ba68c0396fba92f0185502f0dea63c720c3f4303beaa0b793a04abbba82fd3d789d97f6940c3be16c5472bdee170b1721453e3c2fee45860e0f883db7213b111472544e64345eb82a44d6fad8f58cc58f1f860760dade5c35ed11bc5932e97272858fdd703669b904cf205382a7112023bedab604712b8a1fe3eb857617628d59513fd9f79243723be634897786ede0cf8282a47478f43b069cca96ecc709a693d2452b7cc489e953ab5064ea5ad8c7233dd86f162f4ace5bbb3ebcb25859450643ebe6b43dace5ee282baac6fe72218da1d20fd31c6b01d5bdc1958286e972673ced0d0f0f86f7403968ac579cb4f3acd7f5e31feba15e5c89e8f996f1bc36532e9ce4a5b4f918412b4658c4603a50b09c3baa0ddec6c887637b7465a1f198ed76800c32f27516050d7ba386e05da72b8ab93839c3306a447582483cef12f76e9021e62971b99f731a810aede95d05b833de364ff2a5536eede815677770968773ea346b197a745a6c5f76d639ee572b44faddf0c9f40d46623ae8c417c562ab1d43dd011eb7f24c82b53f887c6302e0fb380e20509cc771ddb940b9148db7aa5e27ce578678103721e30b08fdf391dbcebb6e39c5e978cfe33185ad5332c236480ded5902007e13bf01268415c32727d98936fa1aa01aaebfdbf45f7122f740910e8042c4bafa8cb63a0cb031f7a729bfc62c8b225ec0c0ff3992d350cec36884decfe952127801388dc7e19c5b70bcdc9bc0a1cff7cda22683599c75a35d57f85e3dacaa16011607af87b350a660dd80525aee2d900d48b94824289b1929afbabed4954b49c299236ae1ba412aa72ce1cc8749c38ec9a94dc932d20f424343bbeefb0571e74f2e3204fa6a1404343b42820890ea463d6187248967e2e75a19d0707a68936004a65b17a79a282297274aec2fb477eafc238ff6b6555439b5891c233b7a71ff1082473b1ab779dba72874f1fd72e62603a1c30db5856d6e670e7f2f36fbe406dacdad92d75188b68677a39ee26775016014fe9e73edfd9392b021c8c6d6e57c4f37e9a30d708db6c2ed40b61fc5b5fadf4a288eed9299a7b62ab7eae55b8d187a3683c1b006212e27226c1b5fd7d151ed95797f77f8ec87e8839f2d1784df63cf308fff9b7f2c11172b5895920f47874dfddcc43266d63ea691877663edd6aa996a7e7ec6a3723ac207b26f402c6a3d7b5ebee9976345ddb68bd3717992b4afc2cf47a3d6c1fea4572fac6679e40b82edc47751a023fc8a66335bba35466a4f55c30287054e23af5722cb11283bd56f44cecab20b05a2e1148d638ec598c548d1f5d6d37c8f2d61872866476cd4d26e49ae08d3e15f49a02d740002619515d55c564198327ad24c911b66f68b90b2a29b9d032424fd4606db6e0c9ec73f2ed7f40021586452e179501a54a1e7ba18eb75f954333fe27575a25127f4bde1f8026487e2f436ad6eac07266ad724ce982c5de5c57db427c562e7ce025df4f5d59634ded9c4c2c854cc6530acee76a99081e83a2975748711e706a850ef9813488f8cd5cf9fde9d6e2797068f297ca82f460a835435c038bccc697dd15fb172344074d3ddd1d72c994a272db6e106837e132e0dfd5a9c289e60fed70b647662fc3b899886222d532c931001c83a7274e8e40a340f8640aecb096fc31df08fd621af81c919ab4121badde4718154c48a3b3aaaa915ab20f51871cd53d9f962d476fb7b6737a68f3342ee972dd5d14be720390c2a569010d8ace6e06ac6a9a8964dd71447a2281256b14c57229c47db936229d882d79510d673f447c2fdcb7c22d77058b73b1312434b3bd475ac15068ce0f25cdfab13088033682c74e494d35581b34d83563f0b28c685139e6d228457569115a013535d2eb21cd8f1696a37582fd963a1e788e3a3ac6d9726d585416aa8ce73d8dcd319ab499731894932d615affb46c4977c4527b6fd172863dee37d5e481f1a0bd1107dfb5590de88fd60a480cd581b1ac93bf93b3037267f254bb54ee7d97fbae8fa504f9e2957687dc76fd8371f3e64f427cfddd263d8ff78adda540e3e3fd5a6217709c9e84aef754a23adac3b72d989ec82a00c072189335c604de738c4249e1d75c1c91e4163341d514404fe8d9706f0687e3cf72821169f9c6c8a2d0421e9ddf0981f275f3df5c9739e7956686f5c8b651113d729c4fa9c84ec98e1ca749d148ef168653d514caff00aef011beb83eb5756b1e12a4224eec83e408aaef70d659edce9821d744caaed3ebe371661520246c5b6172eb535ed3f74a33322ee18a713d7fdd7505b99ab1f79ab3186c603b7bd32ee5721a03aa7e10de0036f5c5c42039c546dbfa516f801b516e5cdce6815e33de734f0307cef688397e895486f63186e00c46aefd42e8483cd7ccd7ed54da92b77e45fc0e9feb9ca405ae26d43b1e1ee46fad75b98aab8f69c9ff0bd706d7c760e372b39fefcde05cca30e96abaab374686320fb4ed2bffdf1631282f1dd6985e96344fbaa0ba8a57860a0f98347b71ea339630d748d39e997382af74ffd8ebfbc2727aac53d97cbd046a083feb8ae8fa6d2d07ff6063a1f67e7a4c5c63f5c27b9c6dbc67518eae9894f04cb09a3dc0bc40b1f208c6c04e46d1280d0690c47e70a830aec050f1025cbccb50bb1714af2eb1f8e6aaddb327b3679d4ef20ce89338050818571be0d59b864a8c88b457ce7a033d68c0cd99ee9b9b6ff263344307baf77284959ee2b3d1deece7a80e9bd344d43cc4bbaec94534d15b428e09ace3d96e49b30b9f09f2e4de22960ef7934f2f7ff5b9ec76b203ca4eb422ae61919f9ae372d5e01b61808d68fbce032836f76ae6eadef210516bf63f6beeeb03bca05a00720b09c90bb200d65924b02b7899aae631018cf8b870ac7665f99fbbc010c8896ea2f3af0e2e719cba749e17aaaacabdc443463e3bfdde9ae50a6b96fc55c7ad5437d81666eb2677da963ff40cb4330beab96f66c5b6445877078099b705711b4d0dbb1707e0d2fd11a99d6097ecb3d115258439d162876b2c209bf5d3e3080571e1f2e65cf282899e5f7d598e256cb63de38793a299436bbcad6570822b9ab1724a34902cf72e82fd48237b532ace570162bb27cc8339427fe83f06374d72227241ec0fff68d6a79185d463f38670bba7a43a8b918adb233300e76499e70334422ecc7dd59f39c99322c321a08719d0c9e559ba6b645e23901bcb1f17fd7c787211877ceaee09a8d04d398473b89233493e1a55c3b24f83e04c01dc50a0f349726087446faebc0bbebd76a3de88cb4f5bf66c9e73e5ae7e8492f137cacb12481307535ccfb5141193e5e6bf0dd951383866b4483e5e9f79fb5ec2a4d21c78522bb79f84c0b8b42eae4ef3d281acde1377d1020eab7a933a3b96e9c08e3c4166720666f25dad5964ffd8f4b394683b2da39ed72050395171f52e08c558048d1872bfffc0ccb433e70bb4fd08d4786e384878dd3ed23cdbd630c0752e5ab3f3af7245cac2e9a56d631ed1f19916c4dc25a36425840ff734cc76de2d9a0e11493672140882181a22b6f99a2d5f2973be3f5132c149832d3b698df2d8a9c5755948720acb3fb65b4e8b7b999b8e6597ef54248496dac7d28fcfe9928744bcc2f0af58aa33d9d473d93c96803a411ea3fed2f829e448a04624cfccdbc7a9848c69c31b7e7d4b4866a638e55a36f973fccd4415ddcaf5356b33c8fcfb4e176e38e0b02379e566acb5708e9cbe337ea814be8655c66fa22e775d3078d0fc0201905e9327ed1f8154cf2688408c6c1c2120f967b53e0bc21066bf073d7acbcd4c2bb57f72c91e567e291d697cf793f03c2284f66989d173454eeb293cf3a946dad7e2ad3cc15dcd2baf3ac4912f80c72e12fdafeb32fb66844ba05fbfb584c411ca39a532df41a5f0b3b2abedc6093813ebf140ab56ab91381751261352d33376af291c72ae3f3cc0f96dd46419e1c2a4ee55bf461762c3907505ebc2c224b355ba17da7281a4a1b042717bc561710447cde407d8bedef71eae325640b152602021466172469180ab2d36e10b4b8f6db1d87eeb0d0223dbc1d0d9b94f477828dae0bcac72cc8d5cdc1f393d78b2ebd9b23173d5344ba473db6080483e06e485d8cf90f672b6d88822027a7fe36e341a0bca325bffbdadf43f33b49ea75ccf8582c4df1a72b55bfbd0f444687a064fed8369a6cf6432ccf5a54e73a8942700d486c9f696621b00d0f9da8532b21519c6f9394aa909cd360d1cc6fb0ddadeaf27047815490377818db2c441464aa3af6f8fd29b0fc55d86a5eabd53fbff46cb7c9d75257c72942878cf610257b1860560ca07f6cbd30f026ac5259d8ab9ed56d8248c09db6e9bdec077bd5de7fc94e15b6e7ec87b011b84f33b8ec0ca3fe9cb87a12eec22726a827c56115f8631b7fc13ba306c1698508b74252c20358582317de742c439726e903ddb3cd4a01a1e1954a9fa9a3e1402d3156fb8659b76a1359fadb2787f684627f0c1ae17945949457b84e9bedcbf954088c9020bcc058d344c9dc81698729d571e4eb6da7ba9d740cb2ff86282452839ed21fef500909a4df1787b1b2f726e5429c5265f19719bb47071e3ae9de52c703c65768c5e471e4af9b501510e114dd42b350a8aab0943cf309b494872384a1c002655ba9685513cd3974720b672f7649354c940f78331cdb96e05e449572adf921d30c54fe19106b51881996372db39b4b2cc494a27ada1d1a2c89342b1caba89e6f4401adbf2407d6bed538b0325ee6590911d52453f21b6d31066f252cb50cd5604722d014b335f8326932b72bf2cddafe6dfb924c0379827a35ba4191b8c0c4ac04324d8ea4b1a3304b12072d38ec01268eaa53d89e29565ab2b88166fe176c21e96dc193ace7d4dc7bdbd6eebb2c280fe87f30b39d6d4ae3384e817dbbdbc48a2998243610e29561078d17222c645b6f03c2586aca9cc8b8be1f2869379fca6b1934a68b5d7c0d15f4c2b6281a23201d33396ac593f28ea0a9384b2dc6f85729dda88c4aa75c877c53d467256b05aad3a24a2da76e70e9fd4446fc61666eca013f55c35a2bcbe3e23c50c72fd3118697cf70d7da7e446d1c416de8990859180fb7af5ff7072ba7b273daf11aed026e49dcdeb88aa3612e956fa01744a98e29f6344c200b4b11fd52edf6572cb569cb2579df3b60fcf48149912e3eca688b2909621c431c4342655cdf8d772c88f1267bef0e4b511039c098225fa90e64a675e18e0c3999debb2268212c0728e0bf2d0574e2c8b13886989f04ca3c15dc14fe2a901523ba2378b917cd7c272ce157a2cedf42dd97b3c787c97a6116ce6757c2b79409a7f2462e580840f3a72ac74159eb5edc2cbf9d8aaae61adb4ed1ceaf5db6564b1558ced9d8f681a9f72b6752af7fba28cb468b2c41c90a7a2eb16dd6a3eed441277f97adb8047fd3772a81ebb13c9191e3144b8db5be81ac8beaec9e9c297764bb59984f10913cb2e72782f418bdf7bb876737755da9980402e62cd4ad429081dd365b8a2f11f10134c0c07e772d53aaf4ec6fbf92b083426ab4d249233a49dba214e5521af82876d5f0b0ca0641c6784c3e22a49240b37cdb3de53000248abfa283d16e5814f86ec7235995a0c59696908766eabfecf8e8a73bb80a3c13e0fce5278baf06f46b56572ea39275bda20370286a421b486ded12a86193335934c2af32d72cbcfb301ef70cb918deba9f1658225a6463b3bbbdd1b5e8c9c496de472fb2c27cbfe0dc3dd7269f79e17d34cf08148932dc21856bf87425a871081761ece94420a3699416572f3e3fc0cc390001b858e1779d73c169bca94509938a92e4eef3940f99d2fb9724120713bfbb0d4b824457a684f6fde4024e9f277df42fc9b4acd341397fd1e05eaafefd5294def4c5ce38c09e73ef4d37a9d58cc69021f0fc30a47e7e50460728f25e2ca93f3f89b689e274d517d7d0eaecc37e94aaa3ccb5c44ba045c2fca3fee49f2878936faff32d59de59f6575e6b3b7d61322410e723a653100801a227200a50b525dd3b7b5094c7afe2c013047c10667fb0d98eade492221bd5b67e939f1c92364b4a0638c0a4c5280605ec401fff15f61d3d1ccd83101b80a1915cf2a1930968f184332c8178825720d55378f72bf9b83d4d1c48e7401459379c7f072a008f1e73ae8c0c461abdd911db411044f3da7075c851d6db8aaacec095bba7242e227b3ef47a14e9d118f544f3c6ce719fa99693e40407bbdc3dc8ab6c1411f745a4f400fd64f49f3ecf0ccbbc1ca637dfd9c85b377ea1c47d69b1dcbb7f572e3dabfdb3ecefb329de7593fe65ff6d08367b13ca041bf7e7bdd507af1bb3e5ccc13c5e3e0ca56e88893e9caba066ff4615412da2b7691f0e838a4ef5078ee721f9c31c91785ffeeecc5b439acefe31260d5008976f929c16623dbdec27b030c3037d774ef65dd9f2e1b650271184b1dc3c74cd718cd9f641d4862e18d45d672b15668fea8a22d629359cd58490305d31b8fd13cbb10cab76b9cdb4d716e8b72142a76702b5df5fbcf3ac6858eb5f313857e0193160babe12e5086e0a36de867a81777c63dff0943f5f2b04c7b28444beb346ca4ea30a9ab8c57d45dd3a67b728141bc2384593a91951d2072a857747420afadf68598d92842121fc3b64d337292077e461b1990c66989fc3310e4a5b0547b2d61a5b823fafeb5261b7e79a772cfc56c6511c753739f83d0832b0aee5b1980e368e3a68044b816dee01a198b69b2274447bd2c63924634d15674e53422d59ba3b51f598d8a6d681d063484987208be1ea07a6717245f0d899fcb560c04d73f72a09de8087520d94a4774f35944f49423b41d3b0a518c72c32cc0b455ff4bea04f258ae0767ec4d6c30f6bbc9362613f47918e424d741fffb7c30f521c493836b890e9c7fa1f41a2f6a7ebc8d2b05ed2e8e5ad5259025a738cf1f5efafecfd3e3ee9f4b2a75568e685127ad1a0ccadcc9740089070776880c667aa592e68fa673d98ec32229a455727b6ae8907274d153a06ea52187c508878e31123955c01f907238365896434371bff2aaf03d05f7329fe2a3d7a0f909198d5e51ebd63b45560eb4b079aafe9538a3a63237722503954f2d588e86aa8aae1f09c1f3a334d10281484b3577ad80e72f32b7f1254ec674db42e5ce1f5bfab44f0c388ef9669e849842f5ecf498e7b5fff628c82241a01c57fe18d8b54921c9d8f6ac78a8468a7357999d0bff4b07985035f5d87293bd43a1ccb8b3a9ef0b10bead7af72879931a759018020a0363abc06be757725cc80d21f5b11338ade61cd5d17d4d4774cdaa798ca223df9c3f172b2646d972da8a582fb46ce0b4710711d1ceea80114b52eb53bd20f425fc237949b8a79135a0edc2c5a77b830cd32512b461f8c209fa16ca04d7d490f9ed4c940a3d094729ac30ebf945b2d56e5c591f1ecf3e6127cc8229cee3a89498bff1ad98a35929729744f075e375a38e09aaaa10a40e3b467f9f4b132858e03d9f03777eab19ee7237513f0a1e354729b315fca710a0b3a60588895556cc279b3739c5e9bc887263b6e34cba6f536805c685385df4131af619b811d511ea14fead0fcf67eab6833a9efbf1c31682391b7e8bf1c862803c51395e3c263838679bea4a1750eeabe97295ebfc339b65d75e9f5e6a9ec052509d66bfca52ca6ac6b7dab8f530f81e18722c0444a340348275efd4e95274eb8f553b41333d7ae774f32eae0fceb121597285f16dc645e6dc4258abee87983aeccf052b47a3291777e10a001866fa6d8772a2b2925fbd05b5ffa41980809534eda349de0ed885210de4a8de7338f0d84c3b96d16fdfd344b0db8555f3b8504e8689e02a4c778b18cf307ad2ae96cc6fca72c50f5451a3e38b904c7287a1313298cb9cc2483d883cb739d73a597b3d1f127224dbe5da48031f4d7de6089a4ca0d0317a3dd732d91a2e8fa0f5d84d2252b1722016605033012b0ea194929192135b8a7edc603d379541011982a00dc10e7e70d243f69558e5760e5fe23dee51c1f1547d3c3059defff25ed5e6109e8026707252e6e0f321040e8a5f9bbe0b2e2cf28627a98c6f3955fbcd99b284c329d408726f4205cf8c67f647770120a6ab564957eab480328599b8c494f196e03a43097234667ae875176764612c3cafb0744bcc14cd26cfb8dbe98dfe17c389637e577220461964e16f86ca247e7600dd39c7f74ca4c884aab7a05dde32f99b7ad2557254a9f51017d47916bd518c7e72509dc1a5223b1a554bc61bfc54edaab3a481729e4fce48c330d884060253b4debc5fe706cfa8d7a04412f30278d8ead2bd316f207ad7f0659d3ac2fe8a85de03ba13a672925073242dd8752eaa8161aacaf37228cf937328d4440ff67b570ac7103acf1d09a3188f6c8f3c8e18f443fee6cc725d6abb7dcac363c63c2ed30eed8d13619378275e1a0165f1bb6a576c64e6647266cf95693a80d46e2fa9b7db634ebef895c375585b9273e973cc4c8ab9f751728b894222f7ee8cc0dd7922fef213598227a52dfc28ec720a749487764df7f324b2fbd97ffe9016bd44a06215041a32c2647475f6d01a98161faa12e595382a72818c60867d0ea67ff8df4eb89e23aea04f40cd8c02924d253f7a5aaa2003fe3fe948c148eb05ab0fd515d94a6c34cb9ececc3ea06e9e0d72a42984660b8d6472a3f78f678acfdc944898a5e2856cd850a23fc982c8ad62f50b62ff1e5bf9c6725c0134e53610186735222206bb3edba13dc48016691b5289238b496f29163d725c6f32c423ea0b7aaa5991655d32ad22acb7be65b2bb373b249d12d913b86f43309a931a451f067c41589899d53e22f0811001a228dc24b855ac08b7ad1bf57202bc24010539a4bcab7db0e8289b761518bbe36720bfdbe87aa0bac0af0fd872b3755826aa6b91411a7f0a2d765c0ae6266cd8755ca98e518f80b3907c51fc729ed1d12df150d7617e747de7d236387de0c5f7c98ccb37f4e175bdd506817e2624967d28181c8b67f178ebd5487434875f1e80d31bdb1cf7b40aaa359ab86472fe9d8b313215451b5d53edb78296e95b654107c6c811a78e30ffd9dc50833d725c0b2c84b91f08b2deb7588bef806520eaaca438a03e7dedcd5f3e0d4f34e433fccc40f790e09a5564c47c6fa564ac5ffc652bb289015bb24fe906bb8a0926725f1bddc04499f31b5f99a5dfb30eafff18974c82733f07f2d1706c5a0931c07251bc0d097948553d4367582c1dc2bcacd07a2b01f2c99f9fbbfdd8795d43a072b43e8ccba4b9f6019f8c97c6dd54ecfbc6e1da9ec95b7a73c35ca77b86be1d72054d613e691ff8bcacdeefbb42212878e14fbeed5f9958784aa1a240eaf0e172d629952118eb087fcce734643ce2b8fc1aa12d13e2fd9ed37c095f847611fa72f7fd737b5a169150590bf64385037b8bb7abb18c0d31ab6119bfd5db3fc42c192bb5c6ca97d89ba3c7fb3d368d6284fd2e5cc0e4294e35cc7ebf29c46457dc72747fcd4dfdf17556cc7bf06f6e86da8d64583996f37e98fe0cb7a14b6729142168777a5c1f52d2f2572a2eddfc370438c2660f5fe951e9f871c8b2e3cfe36a725b433997a67be99911645ced29610530ac550c60c0ea72652b1ca9070b68222b6670ebbd742931564a9489b86d09fff94f3cac5f40e8f6af4b0e9fd566da4a725721d47c0afa130a6e7a33520ec129dc9ae1a231e48a216f007401c36cc9c96d7d58e9de0dc19fdf7e99f38cce7d4192a2fa1183904cbdf7e152e28315948261adf3ee632c40bea47f3964a2c72bc03133530103faa0693969e1edfe7f5e9e2d4854795d632a254d014f1ad6c13a6b5510c323b499b51f5b138d8d9dce8b136b1af6d61249457b25cd38900806cdd824b2c182cf7be25b26e8b0ee75d17d180c1a010c59e5835c3534557edfbfe691d5c8b826b56f4d6bec61b0048c5930944663685f2e23d949a56f1a2cf0e8c1d698f076d84e432c0b45aac309b21f787e318a7b9f0997235ae5e8e87649ac46eea0e4c2c13c2e07f03b558bedbcdc7e53729523131d1fda0fffaf2892d7525a3652b4722f5a6cbb3b8627f1d5751091594ba6f7cadb5b10fed972d1e59083c23344246dab01fb23345f3d12ab778fd3be65d071cfc8763a3e778f3bfef0b99819398a85060f3e951f3b928b0808c666060852f6b0e0d310df11f0a55ca63562c0ef010caad69deb1ccec184bb26733836727f1fcdc9fbffdc93758e051693fd8e55558e8842682ed4f9ae413bf9946af3642f3cc3de7333a0ca0732b216691ddd2eb29fce7d1e1979b9accdeb025335c87294198d06d1e4d4a685c759c09fd3cdc3078828a74acbc3f5219bef94b4fa083df3482742df357439bdc8a301fc7a3008d7fcc29cdff8256fbe901bff102c077218e0e7e159245938b4653bdb6e5c6a374874df23790536d6af79944297f98f6a48e6f2a86b92fa8877220826563461b7683da34910e96797eec19f3abf3f512ed12bb0fb85401a48f228b6eb18f68039d376860e35d4973fc3129532ef9a0772b211cd3d26c7a5b7c4903c7fd491338dfc2dbb197582b407cce7f9561cc4634c73e1c29466d66b1a4ca1cab5da008bae84f83ad724df481f32ec0a566cee621d9acb0cca52a44bb4713a16d9bb13e5e1e2158de21d2da45111068d37865f155cfece4e7120660b8febba1cfa30ae4e9490df4bb9711f086d3220317c03b05d7257e5c6cd660d24380bf5d3e522c305a0a8af08cad9a4924f06bed776032f1272711022a37b17fa722e508d371a5893a2763b3f24e02ee70b474ee40229d87d091111c4783f610e23029b4b72855ae6e6de74f51b9599c06cc4b6c16f0413587249629e5cb6fc97b6c27849fc157058836175ca27a957be13833fa7ead2a4bf72b04091eac5dc5f292526c3384c0e8c35d3913f7db6957a761e3019bd25eaa07224d45c2f1758afaa4d73fe78983225935b1ee3d4068bbd7b104799563ae74709f240a39a23ab66b6b47ddaebd5e6a5cce628e3a73122c43ee1f9e0ed05093e723957c2b1d82aaebf79b078b7c2addd7aedd192fdb46352d64d4a5f08cd492b7233d83a5aff545bfaa74a00a7c1ebc93e99a48577b22a61a321c7af85ff03a00e392407e6ed4d55958d3810cb225e55a91e8ae80c971d0371ea05229f3dc1b472a94cf0533c24a82be9b5c6a92b602b2e46e1c29f1c759e3b59f038048c7272722bad27b7401a922881a3e761a37045567b6a64ccebd174382c67d6116bab543be8065ec09d5e20b2336f9f2631e78c7e0a6f65be792caa97684f3182c12adb72e7799d720d6596a201cdddbd0682fd3bd4c6ba464e8463464de6eb807d92c672ac8f2d530422929f9c7987e54d669959d83df23b9636c08ed586b3a686915d72b054be5d40474e0344047890067a7740eb0f570023682c09467e53f221db4f728b85e722fa0c989a63cfb5c7ecca24fad1bddfddbcd251a2aa08d662646db952ace313bb280192116610e96c846b3f88f9faba4f78f964352ceed1eee62c9872688a77799b9b47b8d2f666a7ddad518409b655c83ae4d079078bd5ec5effea72f39cfb793e7819cb5d1143ebcb9cdd43a0e6114176241918026b0f1b1ba41e7209edb863cb3e4a23fcb952ba5e2d9b2733bb697c8a6903f5bc04112ffdfd907224c6098b6607698f3e9b45d8c25953b14916e182f4936ce415d200b90b97ec5a83b702fc8e4d6847a9213b3fb39276754c44c53de4f86c4797cd42e0dec2654d3e54fed44015319bd6b22d8aad7851745bfc07fffb331a10c53240442ca1ea0385ef3730a968e8cbded75b6c82f4bd531008185bf9ab25984fb7917d11cf47566251da25fb4ec812ecfaa9a9d96f945eac38cdd36ba18f8d25294c7c83ee2d66337fd3443a99c1a8440ac2bffe540dcdf348522c88d002fdb210096ea8f71c6c4d9536ec0085b082643abcc737be43eae8c18941b37a6b4eab8c3f4df7b37e7258d4cd9a399a907573659e8fbd7cd93eadc0cbae716f6cdcdb18b4c5b1d49d28f8f86e3734ba15a917559a1009f04973779817994509ce93c385e3bd0130e6023899f57f5124398d161fbe63842fbeef958da46bbe2e4efae7ea84edd2da72729df64c79c8518bf34ec828c58f9b5e3c9caa78fda2c46cdd4442492b37a65809cf52f320e62e204b1c99734c37f04556080f6360c256f6e13531b0dec64595720e19e0c8785eb9263325417e7d6aa1983583415c33ff68d4ab7b0e32b70f762f03ee05ca322122f22e8e0c014ceaba9dc3b8d6e1634f28e23b0ab340d563bf72d2f39943c8384c961f47326a6bd5b5ab48e9424a6a57eed054d200da836f4f2e76819206dc2d5390f95b8d8ee6340bb8c0bca8bf6c2cce44ad7945a5796a3e72d796455c0a9cccbb1a0d0b34fa917e06d312f179cfaa1ab725d77bbe9af4a8345c49a8a19b553ec647db2b9e44ef0be8f15e1d9f9f1239f3a08016aeb7b4bd28b9f73b4ceedb267d1082f32806050cb7b25dcf8373f0779448b43c8225b2f103aea9eaaaff60c3d0d309e9278cd4a7fd8d98c0e9bdde99065481c005b826de72a8074f3588f1f615c61870f939c54cab94279c287848411752dac3f570ffef72797ff58c9c57b4528b7af145f888e0daab0bb9c755a416dc0b8c3a64df8b4f72adec2341a16a126eb89260829b892066e31c14ea0ba539ad0efa1b311588b072414c1bd7758790b8d4d87d5429f3f31f822431f5f5cc4ed1afb00c1fdb6330724bff9060f17a3e2ca16a638baeb5220906be7c8db4a424ff236ca01826dc3d722679e8613836cb17e4fd1d637b48d6ed5b229ebb454e447b5889baf12cedee46e91b234d1bcd5db211f39b88a3c205f191df6394ffeb065d65e577c414b5f4727d35321f6bff8fd8e482b0482c0883345b87156e94f29ae710396b97f1744e6b5a68611918d3f5d4232abcfcbf83180040b00d6dd5c46a327dab4f887e25355ca97cae8c0a10e9e95c08dd20a84338d41d6bbdbb9b7f579acffd8b5ef9ef6a72272ff85b9544763fba848b8d150bd124f7374984e429212dea7cce642ce5224d8c3ca684ed1a34a5b18568ae52230784581556bd4f848227545053d0a5c98b7298847c02295a4ff659972b9a088db1fe474e00db40c90c1d1d48a30837c73f72e2dca89a5a00cedb1f3442c819af99d40c2e03c5e5dcab38df908b4a7909dd72da7f14116fdab676e462b6e578d8739b16d4a763a60f84b07393a01a865c8172fb7707b1e7e0ceb320d3c2ee2a30d53746520a789fbe7d7eee9e9425255370729e78d702450d0e5e80f41c8a2f4f5e27702af2a8b2f6a768fe1f1c169aa8b27295b739cb2b6b62957b643ea245f646dfe3c830e2fcf84ce2e017a65fadd1d71966a78d7dff35f5e122c6494177c6a41b3a3606c7958b906c016b2d0621306e47f975e083dbce908ac538664f8f222630a35b4d47a92d35fbfe6c2f267a8554724e027d3d3273434ac602c4c1d3438acb9dfff85997715806939f50fdd8c7bc0bf63bfdef6b86c91e792d8a2d24ccd1d70a7d720133849a2b7b04b532d9968647dfbf55a68872dce8c51a0f78c626b56a919e64899aad3e2c26b9f9fad575ca489aa8f97f13b1a41a43c24837b50a4b896400c9dc5aeee01bcc8326af1b306272b1d26c6c845e4096fff55e2c553a31fc39ba3d41abba79cd8dcb0bc907e09c725d410ddd6c64fcb1a2925b75e65c23b2c352295d03de2e32440876cd25a2e572a2f013eac262ee8a4a67bcac4a2123e2cd17cf4c178c18ce68b0d37ad5873572f13489012de4e4866ce298363a9d522d38ae73840006548688da7f2753e1327260570efc16fd47616783d4e0175eae833f1516f9ab6562dfd8c85f88dd250d7279dece37991ba2a14a2e1e6ebd47cf3abdee7709f8aaa4acd6cb295c1720bb7205cf84ef1bc9a75276936bab445c734fa93c5329a8a624d79fbf65a98763ec727014109694012f6e8a8ddc72c89535b9af77df04e25dcc0a80ddd27015181f72ec311dadc08226cdb679e829a04b3584c30a2185e365b88b699b3bfd91b69e72f1440194f8e252d640eec9e33eea29536fbd158c7a362cc888dc485bde284172164ee7d5c1f78363dc6ab29d0364bd6000f5fd74c8823b0f1444ae969ad6627238cbae0846241c437c1622ea11715251cc5023ee071c2109c63cb68ddb9159721a46efb121012c55a3b854ee391928cadaf3dca5702b37096088b3437e46db726f9a1f4560c1c61e9442ea916b608dc1e413a4e650ad6803d58d62669cfac6723074d8b8a84b02cb865c08c96af5d1cb13b7cef564005ebec42925dd6ea9a372534a9d815e953411e5f20e9bc4b54b04805072a1c7d8f42833d773893cf5fb16e7d749f2757db2dbd1891a449c1742b137b4cc18a2549d76a6fda1abd200f3727b7eaefeb139e00672e19f48be7d67500f849ca2dd4c47c486cdee1ae3c7540fdbae1221457f27f959f040018abcbb821fd9ec19f3db452b8ef1f505dd269955cbe6d1ae1ad0e3cce4f98c24edb4b9f09b85ec4c79c2312918fb0bbe009682724c6d15128d2d2515bd09cfab1cdd2e0e7ef2c0543cba348031728ed23810c87233505984368229fbebc3b5be7c8b28d0684602948e1a4175087387abf5e10e726244dc750f7a2f72c6c89d3ff3af7ab8e9d152ae8cca5e08ed0eebf1a0e8d772a57b8cad7469cea189bdda83c03b2dc0adc112225dfc93da69612b334bbd1e727015898745e2102b3abb31ab9d559d6c1ac95a3643efc3b96337b2299e660f727c44ac824c8471c985c85289fe904a9d2789538aeb42befd5fb55b8a1b97c272313cfa25c4c26a89752212064db5616341238847c40da6a996edf64a5c6c7b72ef232d1d57ef04568f06567a76acd0c198406a0109d463ac8c1ecdb433815972699c00c2a40cffc3afc705b7fee16e5dfb67d5d3ffe673189964f2565882ee68a610343e798496bebbc3e0227492e87ae086614ccc48dc89682091f94a818d1ba23be28248c66a4c8570f53eb35841dcbcd8bb2015bfe95883e02879113f8372a2e5e8c3fe6d3a5904794da392a65556579385a880fe0250767e99b18aae440d840ca5ca353b05cd9721f376b1e3a707b4e15029c06d598e4184bc6dffe6fb1bb222cf9c399ed7793962187fe2a140e58dd02ea081be533d634f04a8ac08f659ac096f40ee738d594086d8f62a2a71497b18425e501c4729f8563f7ffe74a53e6a276f680b4b36a897a211b3823f65484133112e0304e084123b181d16b4395508a4565f2bd61e4c42ed65c9113d83d8807450adcec35bc84258a76125b192372dc7f5ffe0027f1400808bbb8073ae741d40d29e5e5dda12e3543553dcc98207791131431772013ba0ce5263c9268554316a36b07f935544d4c717147799ad7219904d8df01453e75338afc859c7f3c08b58983e0f54946ab0ea0820485c32440a0d399f6882c82ddc2cae0ff34ebb6eac25ac70838c2b1654551dee362488726b70441d71d5ccbbc45228abde07dac5fe4ef14aa14dcca57183ff3309c0a2262a74b9056eb49b753816aca76ff0c4feab89aa4d9969a00cf34184538402de55692788b5716e9b297003c5c184eef8bca7a91dfecac16db75fcf3808e53a7c720e84ebea79f150e10025055baca4d96ef420ba7ba560e54abdcfccef0d4879504d6590c4d5cc6331c9a723445e2edbfc2fd7300d92b525a633c14fa638ff5021f45fac9a3a45ad54891190a2e60eab2a994926cb90d305f3b1ea493bd3c3ca2236f64f14283bf40238b72f475d7949be7abeaa08b0438cc1dd4fb63c1e0d2872bbc49e0648f032a3b0f7baacb4596eca244117551a5110ef289e0c03146bb872d3a0b748555c114097d471442f79248e6df0e54f795a09791fc86b0a37597d20ac5e48ac042e1beb085d949461348dff35ec36a25ef26e49c309b995a3755556eacb1fe6ac888fa39c284b587a22268731f78ac0ff6292741c4b2fd6cf3d83728a3792e1d85df0457b56fac0178437b42c028c1b8a90e10d1b456ff4e68533722b33e41f84e40cfeb365badaa9d4d470aecc0b2b86e8a3a7aac2f90fb4f2307268527ae8614aa8226eb1a99a67392dd7e99f48d177d2a0cbd0f919b4059e4772eae238f344eff3824b024e86e3892ddddaae76ff7abdc6876f5df0d6d6820f72825d87b30fea2e4ab6e91a8d4de7510e7fd5d92c58b30ad64cbb4b6e43c0a513de2d6d4dbbf96ebae20d0ec3fe27b57526d3e3f75771045ddc0114904155a54ecba65e962912d7b14d1551066081f285fbe3a6f86a82e480e39c304a72c86d72d94f14466789646774f33d43f05668a02e48a750cd0713cc024d3340f23cca08951a0f6060c1ee8e07b7f1b8ea8b2aa88bc486d3940d43fa25308970478d34726e72891dbc514df7b5a9f6e89f9421a5c4389bb9cc1d661f81a0cc16f9cbdd59a2093e1f5d8e8e6ffc422f6f8a38fd3bb5fa9772f985edd496e2d64c2b5bcb448a8f07a123b13951413e8ed1de0ae6a4d1a636e0a32d06f42e73f3848cb8786137b6a0549d0a1a1faeb3e59940377daa98f2e9cf4de699a8ba66ba13a1182172efe050c421957f82f70e490f103857ed4000eb0f48539cee9709d822c22c220e141797b853781ba265052bfb88242976c82389f65b42a9c1493c9fbeac95347202dec8671ed49181305ec5dcf4302aefa9210a99f1dd433f24bb63e18785a56c5ba75a3a911952cc3ccbdaabeae5ac3e4d2213742f7ee8c428773104496cc171394ff28c4925f077dc6ba40a9bb5570d51d5c89675e13357b7bf9d5fa023aa5fe00c40859175c8dea56bb60e9f5246e1d95d40c45cdb938dd273ecb0a7d4027226b124850ef7ce667e597d54fa5a3ddbdbcced5b7bde2ea63a3671039fb9c27220dbcaf4851545ae53f51a67e4daa665f81211927d13747f475667fb01eaa9722c9955c5a7e260610de51a6d41b37dadeb2d514c63b5960de4491a53d70ffb72fec6cb8af8b5c695df3ac289379beee8bc079d00992cf6dfd984713103581f442dbf5965375f22459a43a349681200ae57344d74f7c2f1c28b81fbccd5b7637268b86403f2e5d94291c043c48074a6deac198630a5f6d6616f9c1ceae4af3e728b3d9e9aa62a71143fe587cda3f0bb256b1722dd6a7b3f5a8f16d2cddb85d71670543a52897c4c9c9b7eedc5de0ceb4e456d0b033f2c94b75fc2cd105f2d447265318d5c2c1ae585419c9d2cd327e861a1062b04d2a9f14c5603a0e5686f8d1b4621ae886143b488933e687c0cb2784687d35f2e239db6966e1124731c7f2c72e765b47d8f4b1fad9c0c7e3fc0e1872b7562d68ff052132ee131392a2be43b72b40f34ad1dd2207b825c976f655a17232eafc739fd8f73489788cdd1eb604d5f14d7a9300b6d2fd3af53d96fded5d38a546ff1c9351bf7b5a9e4ede8241e7f4407c876b7f78436b30f5375e17dddbec6dae9d79571e9ef4849decf95b6823c2f2ddbc6b6935cb85af6fd0836b85c659036bfaabd185ea916fc7e77ed079abb72b4d0156e940f914737df038185d4de17920d4a26dcb8279c7de5b40a2de9e90f7bf13a5826bb28adaf6ce96eb0c2fc6bf5366c5b99a1f892d210695166c4740861d7d7dd378f6ef9d24e5af9ed173fad766f3864f9f1274c6563e1e98d63f7724a56cbb1c225cddce36ac4ffec0711d3416003b87b5fa5e41398077a634ce872c7b0dd559e107925076bc78e24dcc1d65d928f879c2f3294d6a7f98b44b0a46f9af4d0f87e2538368532aac334f7c4a149ab463da8fd16429d5b0303f6b7f272e2990b024563da86505ad2ac5943fa480f4c5a4872d0a77ca1b7a46c48720b72a29701ec0681a6e26135dbd8e9604aafba0aa8d1d705db8cc7d8ffee4294a97232d8da92d0219df53888e77ed2a0191e9054c6374d6adc712f4e884fb780fa729cf10c84d326bf5961a35c39a4ee60ee149b5952baeffc595c2534d4d7bcea72ff82438907cbfd69adcf1e95c7c70d88926c4f00527294acf98d59ae879b182870138c60b3c78b38c5c8c82c085c6459123f3da10786816cd0e295f34a8166726104736e27445a97dbf46eb0f08f2a55e79d80de52a0b7dac2a12c306797f3723e3e71b50f85f5bcc6cba862f7610662f9c8a377238344156a9df5b9bc546c72cbb97220f712ae35ce6836a9af28a861d5d58b9a059bab396235a0d68e94841cdabcd9c1ce78987009bc2bbe9ae3d22b9be7be2b3649685b8731ee1e9a8d4572fb71b8ab277a37901245a8867231c0cdcdd562634c68fe72d09dbd19d50e50428d2c619318162fcafcf13b7eb2b25e615ae1b8dde626ad5242ff39fa10485427b44b963088e7d2dc6e28e8ecb03d4f6c3500969204bb98528aa70189a0c26b729736eae4b0856d39b9fd2336ff967ad5ee9e90a13796e9e633aedb48ffc8ff7274904511f02bacb386b6b67e7d867097ed82b1f047df38047f13974b2ab0c4724055e622f7d414e381fe1eb5b23fae0ed28e55d8f1a46a6e3fc4d62a8928472748b2f212448ad4aaddaa3736750db547975e8e4dd59e694be3e2b1f6f6aada72047f93d4ecdf253075247ae13170411c3735cb37bbab8adde6b1bda8a9fe66725e5c2a0b14064c6c3f0173ec2c870a10d85524305184bc20ae30acbc1c48502f12ac68991e60118ee0aca87ed1f579606fa0af97c3fde001f0c4af0ad17b6619f76e0ae414675be5ab508dd92e0f9b4d8df9d7f0c4aeb7c225ec327c26f13546fef62399e570c4507b76bd62360d9ef68bebab7c6fc3dd4d75b180d16fbb0f01f228d918bc51ed06f6a8ae109eb5763fea1048fecff5b3177a02a50d0ce6a371140320dd0959cb4a85fff87bdefc338e03a1f3e50ff8180fd67741d1d7fefd627b38c7294646931c38ba47cd2aa9204fe2e3373a5f4bd2da51666b1524e914311110f4d72ccbfb4f408b7b2fa248db2a29717733b22f75de35cf443e5e567939d4e943e1ed000f3266f61b4100858f0bc25d89212f16963df155657fcb5d501d1c3b56459442756d817d6ae43f4501eaf5073be701bfb8aa4f9fbedcc26ecf5975039f0909951786244d0ef08a5bec02ee2f4e6910bf280f9aa651063c89ad459c58f46efd5402470f869e1b3d9f11101461dc03dd02177b198a3067bed26f72b22c95953f6ab98ab6be88a6619f076997e8d4c9794dc4522d004242587e6e7245dfa6cae4e966c4c622acca8f044f135f1c333b1d7b2c7dfaa810b8eda6c25544290935555f44b0d56532491bd84b9b07fee1129c82a197f6f820fea11a3f6a8893371a09d15e90281ff8565b7f3359abd20a7c1a2b4894f4cf396162273b41f7db2e3485bec79b2b6700ab340f0c41e16e028ad2a7d492c2f890f264e7f642e49c6061066a51e8d177635eba5e072f6f4450ddddfe102107e14feae5eff9724a36fe66a52388edc1ef3379b95f419e8a7c91d79c976fcd81f6a3b823c9c772a184949fb49ff25de7439ac0d3943e58d324947ddb031e784674859b7e2b7c192485941b0460e59f9f3ee5ecf11bd5638637e66b45dc2d70f057529d088d031f4e4ebe31b7de47c8d92050cf8ce7febf9648e07f1ecfbe59e0681add80a56872ddf6c831954d8fac4fddfff6c610a1924254abc6c03374e1e3414dbf1f512272df3d6a0b67ac7837a5447253b58207abf580bc78eb4f1a613be10175be0b9672fc55792f7d094e837bf2ec5518c494eb3190da8ac383193b5b15ee4697f6a07210609e7ed35830af57974a21f3b0989026abba124c2b28f9795f07ca951b727223a7dcd6b87d02f050a80e4b8aa44422a3163457bdebbbe695341c4a068f1f2be5fd251dc59a04cc6936e5be8b6e20885520060ecb73133730fabc370258955d9751178f4c48b3f1d3ca5326ed418c530014ad02d9e6c333488191e1b451fc721f4163ab3f24fda8b0d48a4173303de212db07f89c7ca7ac3e9e55284544d662f902e08ede5eb911ae821849ba245efdb8bdf2e1bc729f6968fa7994447724722d2f60344cef8580ecb55e4d56e68cfe786da0a7a4e563b11664ead4a83cd772d1ab823ccd966c0c3a09fd52e6024547d2c6beff21371accb1cf7b74fd2c143a441d85e32b60a409b4a1caa9502d3b1c311e2d6eb7d15a9dd37c059a21397472eb1aa85134e8525a658a6ff10f712f3388e71c930c7d7a0d1bbb9b4b24dc7a71f6d84ceec73f4e183ebcc3b9b91ae225375b14d618d63f4dac3d0403b5982830f4a57decb36916c99246b445cd3887f2dd13c0662348323a6393ca3dfff766724a05a2edfc87f189bb66e827ea2047a81d2a74d11595a17bdaeaf67a12dc7e724431088516c60cc144dc8c4b8ed13ebc406512a9a5afa5850273a305f4d797725b13219ac6e619da86721dcf52772d23c06c550482af3ad2bc40aba13d601472227b720848d5eca7c6c713b3250f14cf7362104fba2d0611f2d634edceacce728914c982f015befb409f6450a0e6c835785ed533f6faa7f80071365cfd72b1728d1602d099d0ccd4d082a542d048f746efa6a9aad6c45a89c1a0edfa2035dc725b77fd43cd3abad0f5278917214a68f4bd2a5932898e47d1848868dc2ee049725161f15a629037b7facd2b1b076a98d4499d2bf91ff494f3c226a39c1fdd6958a96cbc8ec725ecfd903b8627e6e42f1b91115f2fd2bb4fe93403b84129562d490487a086162fc84615835a1a6eacbbddc988382ecbbbf7b8fbbe01a04c60a264be72595357376e9160731105352069996a14161ea6c98f68d6ccedad6b4e2e723a1ab774f2ca062eeaea54ecf1fb06beed11fab5fa2deb3e9410d4217c145d72657ec459ccac5ff5175a8af3148c409c8068028652e843bbd84aff56da9034162ff03dfa91c92d6cef69c80fbc7ad092b64469a4aac4d091c6971eb4ee5c8e729129c1f0694f202aa9e8dd393faa4b6d2caa87f25e3188e1766a11983673d440f5b3f8df65798a9dab2a4f746b7ce2dffa7024305cd6854b0236239e88427472d515dff42b1aeb3f55a307cd090843ccb1d8807b715b9a569f18c7014a488b31b5857e26bf5a1e9a3396856c5bf7608bc96501ed0ec189f273b7ac5da3805f2da3b136f542b4a018a648ed026d769f8f2f0f1361042a52291f28decda72d1f2db0052fdf4304ddd9d9d035ad88979c31da01e1fef480f568d14e6a4505626672be5bf2cfc980f9cdf5afa357c42fd19f05162696b81d2d9d59894d2e67ae4a72d7060aa05231c0d751034b554f99589341278392f16d9c99d4090e531013473d518ea4b581c88d6904936cc3ef9b18984b5cf59cbfa36eba57456e0d44da0b72dd9bab2e27511feaa27c934b845e494e91850a7399ae5381139b6a62c65b0a720bd3955e64d60e9322d21f143b0780fda95569faf6ae63688b66886ad961f772a515523c00f2d36f3b6355d473d36b1252bb9763d8113d1bb2eb260375f6ed44d3ae400a4a101687f15c25cdeef5dedc1f86556e66d5253747da765dfdcc822f7cdddf50334de11eabf2126b454296dd4068b53107127c56cf4556de1896e27272bd4ca09ff5da9a826a8619db9a11aecc8c6ee036b462d26d161db09f3cb520b3426aca4d178e49d1caaa05f69a405a735546e5a50c11c6dbbb5e66dbd50172973ad52378739902c2ef1477c5c04820816196c000630f6164fbc310c079f472ca41981cf6bc988f4204421b470fe77205a3f6460c82d5ce616ad71907ca4a72785bb0a5694e88b6dd6d8287e2194c7ba6b9e6e66be0501a522121774bc33f46163df364a07214799e8fcdca546dc747218b68af18b949508d6340e255f9f6729d4ff0cf7faaa66fe7fc9acae22af25d8f2b1cc70bc956f84237ff3985ff0820ddb67e54c647bb932c8eeb92fbb1af81ca4a3240d7729ebb3c535f889b347129675b941546f07224172791d4fb775b65116b07d5f87acf1a8ec80e57ae1e9f3dedfb1c8ed87f50ba8859b087cfe3e9c025f52f40d1c1b91dee0a3d45c908ac2452205250a2ef4ef019edc9d1df6fc6fd0f7c8d731bbcdb11acc7767bebfbb2728740fd47e47185a344e82f52a8716a7573999e9f85e34ff8ad627370c0d59d72d69be3a46b5777d13e5d9bc02c38ff0a5493bf55afdd2c250303cbae7b49ae723a138f8ba7b81f06fab292187f01ec768b3f38d4483fd27640a74def85476672c30391366f4a98777f1915e76e8ecdbcd1331fe43c865212c87836d66bf6c772b5193dee8205a7644a064ff18d1575e9332b5f2da89f232f084463f6e1686a729960518d0732baa27384dab57558ff1c1df828b57bb5c579c4bf82c3bb5ada043f8e1eb04410f7cdecb84992151e93441614e4edf9b04752b2e0c93d26f71627b869dba87bf9ca461d0d192f9ebae37b5015c8b691bc49f56bec51c37913c872a867a203d321fbea55619bbd1befdf94bd7677fe2fa452e9e286d94354ccd872df1c046258ba79bd2593f3f8a4a4ccb3b0424946b375bdcff4d5f0f0d8f6f2725e363c1204b52ce189ffab421495cb0e055ce1b79d348e1ebc2ae005d297b972a8417b2cb764287f5a036bc816bd015d52f02829fc0320b6d508eda4ad563c39ccc263fc07511bfa6329d831b68de1a187f5e15d56b5570a0108d8300540a272f9d0e54155a4e88f3a483fef517dddd32583cc6ac3477d9025d85b0350497e72809d69eb57a27ed1bc7c3bed2c522079688da26a5f10075f0abc95064e399c7254cdaa9c294798c4c3888d9ea72a82298cfede72170eecc30599932994de5d7245a060905b7e051d62dd5fe54218c4f6566a877ff7cf9bf05e3ad818af4e5f729665d927fe20b334b74a44531a5dbb12674d5414b925f0a589f6a8da8464050c5805dac88d6c91999b7788d474443d12df5ef6da2926c724d6146d3a61a2a60e3d3830bb17e1ba59f0470401a94287a2266911192dfcfe2b0419ca73bbc8f4314e811cc0dd01baefa2f7aaac2cf02cb15399cc9b4fa4c26ef5ffda25fbbebe729c65848c5b2da4f7648c1ff053bd1ca3a0ac9de46479f290ccb556725c4f347297bd5ccec52284f69de24b092f314b5c0eb0ca1897c9ed74b8dc27e7c9e00772eaf835ec71f3cd1c63a4ce37ef45e514be15edc9c0a28ba90aa56b81093ef847201b0e74a9084a0ec2e2aecf9c1648856b7ea02fcc29994de858927626eb0f1c2479601061af10cf47272938ef11b4ec1766bee123f36539250a660e428e9943e881b68016adf67fb93f81b157b0641371d5ccc07076bc41d989f20d30e25c356657d14ed0d1cbd499da70fbbb87f41a15282df2aea098283916a1a94d1d19538598cefa048d47687c8d4966eafa1b7e5852f2a393de19d19222e8a9609c2c3badc07e83e21bef13d43271512820cff5160b4da923a2fdd4a240f1723a2b0f6b95e5a3ef724b9981fa1392bf7f9138e99a1cdea8b1355b1ec13207e5df0d7559de7e27cb0b24a4d377b90667003cbe9be6c46b4c05a025bb503bc2120f610872a5a090a25880cc4f9a69ac0904e71515303c861a78b75f7b94aeee1a05d2a230d99d94f45e5d4f711bf72a6e1198e8ad2e90d2816c4c065df5da79cd10d3be6e2ea7c534ed1192a3df5bda0ed788fa84f493301c56f0f1f227c067a3ccd6c5720a2ea336dbe028cfdaab9c94f01559eb8ffcaa931436532b2f3f027a4243e0200875d4c7d4c9a83e8a1eddc03f1069c266d25170654b870413b9e116cf9dee729f1039894189f3d38cd972a1a75eee8e72acb83f49ec042e338debc60ff25c72f943b79a72bcfe90e7e5d81b192a11bdeee252186530c184fa64355ad4555f01a8acfc08efde4a4c0a872d59545e6982a3b2a7143b513d313c3067855d707b247d95842d56d86dbeffa632437e8061103144d8dccfd516558e9a397313b00072d4a591b7849184b5886ef26edbcf005726cec3c3b1659479766985155ed2e872c680f4ed6b2dbdfe1787a18754f21be102934229d2df73ed72427c541ab76c2d8ccd22f6b302c683f38e4b2694c6fb85672f30b87e1b5db34cea2b0c9eb3be0c28ee1290e0b039c3899605f0be13c5beb2ec4bb77654bf9c74716468c3da3072b54f4bb7d4528f5777d1b23fb4b4488005ec281182b99a5dfadd147cf3a7fa72e4d6bf8a1d7568ab40f848ee28b10a25352c5ad065fc7f6d81ebf0addc139b727ff68d4454d1650f73de417266116665005997934786cd5c01d6889153c95f1f3dc9b5d4baed4a94f38bce78a49196e206471cd38d1791bf4dd6fc6e61d4e872d8226117c74eca83397fb6c171c5cec62c58264ac4cd9932f6f6b3b365a5e02abe3c08405bc6ac2b81cdc9b3432be6d405d89253c5de369fa019c9f9f0b03c72d517e6a6cbb370eff59b9ce1b3a472226a3945572348024f324607f382821b724a48117ddbbb85559c29d126d7a028a197608ab6f73a3fbc3e9ab127d82c2772e8ca5e2648f9379936b4984414880d45ae5c9f87141e5648f2173e45d6f5733d55f7f0956843bda13fd2e3f2e32ee5adece95a2ce89f76247fcf41152d9b8972d60044a38450038f2791e64df9347f68871cfb607e0035774ab1c67a7739a4728fd584950ff9011ef70bf220d5cbfbc75ca3e35f4790f7fbdbab809480d5922c061de747ac00cbaa3441b6678158b22be88e1067e2a0340aeede462e2d8232214dbb2bd6135b1818764e3cbd4dceb444085c45b13749271d34e5796f705bb572db674c616473507b4f60c6685a2d3ebd31798ebd363963ad6fbb145672b78a333b1526a3ce6f12c566ba73d4ae8741a33e194f89f1b8877c5c123b3248c1ea0245922843549ace0a8ee356377673a06a0b85dcdf7a0475d0e1851f63e8393f72ed638570d26cfbf0698d0fae89d3357e8473130cd9ad0b11215add41c4e94f7273617b3613793d3ff933fc12fc94144e8c44b2700388112d991a8e16e04228720bbb46c3552c71337b48d4b4b5a6e273fa438b4f8753e5f224a519f07e4af272abad6f876d1cc988b2b3fdfacf468431a1cebf7310f1e4d8109d5a4f3d819a395f0beb63b33cc2285f071777510981868c88ecab02f9b70cc40ffcd1d99c1e725c244fe708b1d935508f48bc5c6ae6a385ca0f47a27dfbb6bf50a5b1b4ed5014e839cda6399da63594992d3456fc2a985949b4738a9d77043f9e96526627012186adc36f838c9415856fd508ea3401038bc90928d587f0bb37520d9c5bc0a272bcbdff063c474228ca2c4053c1133bf1c3db2a823db0a7597b6d415f5a4c20413a55d57864b39e7cf92c9ed62294be4edfd8216a6ceb89e7d6fcdf68c072fc6726e95e1959c05e2118fb0ed08676adcd5b0c0b9e3addb38ad34e82d00c8ad1724dbea41405d7768388d67fa2fc599dbadcbd5457d9b3e69d1b81dde02b1b514771ad334ea0cdb2ec7161352c0b8defd4f6f3ae8512c5a5aa6e5461b2ab44e77259675fb519c989fc36adad3f49d743c7fb6595ea8535c6d8a59f8284bd5d2672aa148a978a5997700efb6e7459d5f50c000922e424a4df4155d420a1ff0b01453f67d57f2b87540773fee6059bd805b2cd619a162bc96dc9b3faab2fed4d4758a14ecc707ec79e62421d7ff438dc3f8501d80c54803cd237d1c3b9f7dd58f44e9ffb601e4d3c0e555bf25c5fb274d17495373ab7fa563a4dd591aafbad3db372b88cebeb06da3290ddf62562b294032f7d4d3d0774bd599a5e93a8f8aeae9353a5b3ee26f8c2eb35aac17d5b4a573f5fa253ae796945cbe845dfb6023ad3ce6f05b9c406f5907dc38a6090caf5c7380c444dbe1f1dc2d01334f5f63d516fc84de47bfef2a7244550d7f32f9cab2ea51e6b1a392d12b56a971b0def4d8628327205387cefdbb36af6e9e2048ba1aa2ceef3ebb1765971418f555d92239c18fc49c96fbe2db3c3f3c93f6386826574e8d3160a6c1b7024d93ef17e85b035482546aa5feb7c69f38dfc1d1ed3d24847c205c0a698ea4a9442c61837e4be98285b72ed42aa48a5f634495257c9522022870c28d8cdf9e95bac1c1a8f5c75652b1d5e5e8c105d291584cbfcd941a2b7338b0461a102961826691c7cbbc78109b61a2096ef2930a4481d6e23f915770c681bb11e7676872acebfde5f7e2745457dcb6aabc66fb3ec31116d5cfc66ecc079a1894c84017ed6c7cd5cadd8898af0f6bd1f2b85c44a14c0267b42055117ceb4752a08b5cef63d9771c77fad1834c641d621069dddab37b710f3fcef796aa391ff87eefed9c271863eba818b01887f345872c199cf1c161a8adaddf823bbc35d30817da0e289bd8079029e878d2a6416910fb9337870e581ea9d97322da740549ace68e5cee77eaba9df5477b95ecb7b2a7244ac2c1c147bd60bed71bb3ae8af7c55c58a08092bb208f6ecd7b266ffc6b672d17cb14ef707b71beebea29f019a141d91813b2ede0e1ac6f596448c0e483f72c95e75f9c9d97497923542036b1432ff46d9e66517bac14af5989e697469aa71a2fdca385ae749c98c35f8703929533ccbf50e45f6575a8ecee159ea07a3734285fcf0f9d0b550141db1d76b3d5d34872c44665d1d0dae96ef5132682fa90d726c049c597197f77c35134b29960db0313eb62f874a86ac953063627fce593433aa6a6fbcf6d225b112a1d5afb7adf461cc436728370c39b8062543a5b177a972eb748a854af5f946afba3fd1d7b9f9f1ee6a861992e325a5dec75684d3027b728a568b0ab1225d8c653fcd0a33ce9a8d69e9b7f83d7d9b1e1ef489c4f99bba725475f01b3ad0f2932c766f3703dacd36c5f0e3d2887774ff1c5a75d775b1a8720ca8a5ca64eb1a79b1a7e42b0c26196bba2ed294bf0dc2bab265b8c2ec8bea72300811499edbd78a3032c1f564632d974a386ae469f434247fcbaa59fddb6b0df6ac04db2683a4799ba937f0ccd168fbcf36ad64801cfb287ebffce9600bd655e194ff048f43e24beb54fca60f3b5482499cc0a8bcc520ab3230b6df60d1c0180c942db38689a1f01b7c93e7fb7a273d45e0235d83956c07dc8493910cdf2b7218de42e061f71adbb6833fdcb818109e90347a8bec2d15be6e75fe66773d9672f99dce518bb969ea6e1140e334ec447ffff8d1e376dc86a91d5b20650c207872174ad0ea842e32f1627ba6bce8cc9e570a8b5830ec5f6f1cf7b2586e43595053d344e18edb9d8bb74e339c2e54ecfd65607a7225b38d3756ec36ccaa225ff93da0d6242b3b76497aaaef82492351f03b24e39dbebd5f5867bb9b7ed6ebb0cf72f6ecaf46b20e28afdd100bf8579fc43be9a4e4f9c92c333030bafc47e323a07256b7d5f73d93554e70f20394f060c1978d7d43ade98c09b7caf5a86be9aa3b7218ffc6519595741cc1da3a3cf53d699fa6db4f743e2dd43b4fabef2290cc9472b3e8d052851bddb9a5ea5474f3ffb11f10fef68f0f9d902dc98f0a91fb517f72542f9f17e0d07d2be9cb248a90434be18ab493635689c36ff0c2dce836499c6f2d0b49fcc70430627362adea6aa64baabc12282dbdcccaebf7a68c234e669e7290bfc6ffacf6f08d8db08f106fe9b4727579f88cf2524e55b18a9c22bd8808727070f793b6b649a17e8d9491ee8c6439681dd112857f880d150f482a14c48e72f5eab26c64ecb21d68c44965241575b32a10faf20efaee3fd9e7349c533a6a106371d543a495dba0c9335e8117cc8bd1166305ed410bd36d3a3af8481ef33d5c5a31aed240a1d04bac67f9ef524329ff594048111700715e335e546da51ec872b538c86ed329d57082a3848021065e68d52494254c005ca34890a8cb5d698432d2ec0e46799e9baf45591051e5652166b217cd17470a94ba1719953aa8bc7d2945437d29d88232370e7cb5952482551eb3accbc01c066a4e3da7fc2f098653476159979429b57ec5c4286b6cd493208c1084a256c3be313b9ad37513567e7272bf7b4365b2aa5b6adf1c8e7289f6e6e9e40a070ae476df4e7f83f2df69e94f72503007011987a05ac4b55a64becdb091e6b2d0a6e0c7ad09418a8048e8940272585b32d26cefdccab895646eb715a5877c4cf62f43fb4ce2a16e4ece1aec7772a09bdeef6debae92ca0264a8432d9b5f69a9104196efe640755b3ee04bcb3a573123ab60305f1047ec5c26e1eee3a728b12e28331a1fba839b91b04eb25bfa0fc3462c405b4d36b300f678fe4ddfc7e999cc14d8d26faae3d3bee62778a54c722f5f123d01e78469f71c22003d14f21cae1e4023e87a7f266c2bc87601999b72d8d2d8081c38410a1b725530e72df118c37be151f356279c0ef669e49a74e025d8068f46b4da6f6915f4c69927c6d4430c0bb832de487266671624f7c77f6c72897439483858112b10fb64096b801dce73932d6d28143f58ee131dfdbaca200312d3eacc45e42bf021e8491fa5e046cbb223dd53e2960039a1013321e6ed3801cf9a644c48c3883efd73c5017108255a1e16d6d0092ea7f3da33e9e04a9ba472864331c7a3f442a673ab8784449788536436a13427b569f9f0539158e784c96ba45418db0bf229f67d8960d780c669d0e39c378ce592a6bcfcf7e2c25d5f9972e8ec49afe3df36b5183acc0434e5b770b0ff342be9c1ff705e4c53429bebf741ca47be55172ecd5cce8f0e0c94fadac85f5f96824b8f145828bb04a873298b2dc794fb18fe92e28cec001a00c8cee8090d2ad59e749797612a3b96089346a972616d98c56a85465a4d9b39ffb250a7e013b999df184f674d389ca2412398555d3c55008924bec9f6b764fc7874ba894b4b6d8c8e48c79e4213885a0cdb3a0272ad483d5d228384db2a220fae6dd2cb325f842d42a7c715fb67093a92abcabd72685afd88084a1760476316fe8a0acfe3ae2dea2d43e04cdcdbfd6d4402e82f147c6abe514c546ec079c6c5d18ce7c6005435aff32c42df6b644e78096cc75c72025288726dd4d14834b017616985729342f0f84c59c9b8821835459187a8e9720959d1d435fc4c2fa10726c058c7295385c73f2bb994bac01bdb3c303113ee68ace61d1a0858c0a122d79ac3cdc6c8b8123cccbe56f15223afe70f11571fd1726a9ad8adb08af19d32e6f43b2723e47d3cd9d259f15cd9dcb2754764546d3a5c5372e69188ba7075a1de53a83840866961b0bbb7162ddbda83e3859ee1f99d727c47c937f9ca92e9f554accaf7871d696cc6dcdd59df691f793a694e58bef8725b0b2390b1cbff96534336ea1ebcd09150c4a2f7019fb11db8cf9439cfb2ef721349757651aba53e1a842281778ec2a77c893b5bbc741023e050717e3dfba31eb5b96c04f60dd2daaccc9c5878c832e52de2a403bd7ba75dd217970074e3b83151e5eb9de8d59a4cfc3ad8cf13f8f3ecfc2621d934f34f4dbafaa6c999191f7225aa620738f2deec7c452b68d9d2f67546d62fe59adb6883713c030018dfe572f3f2af1acd9619780de3c9dfa5091759fd3a758bdc8b14612f2df4800a5c4f72c35909dce396ab9d3ef2cd37c18797e0a487c0796310adc25cf41b65b8f1233282ce678aff49fb40cd14c68bd7e164c9fdf12f116086ed3222961b072056d072010edb8c126f45e5a414d7476a65170d27bb7864c62c65c767b92a11370d1f1f63ed462b25933f6bbfdff9831331f1f68f858f5d600e20812fa7904f76a0c900ab6a2de3ec270e61cddd88a9363a94c1c1745790e0bbf2395a05d51faba60c72d075a2e0c0588497dc93a47db3a57c1658145736dfe8addcbe7837b999e1bc15bd69f48754efa54e69dc61d3bacf768acce05745da4440834bb8cef80acecd729e51fcc01c982ad0bdbfce99c706715cb9d76d4c34b61867f0cbae2512b97f72f614ed55b9de1cf420f8aa8955ddf976c888f87cf28ed01f4fc662c369157d51f4f2542da3c861ab47a93f78d20004e7910e45ae07e971b255ceffde8648c572696fcce38959707ea2c907ec29890c3673f9b7fbeba12cb3b7a2e26e56e06b3b15b1f5fddaa0fc1100e40417781f5dd8e6389d4800efa2759bff4445fc27647237ad83e977e1e658e471f050e36c290e3980f1bbfbef2bc6e0c1d3598215f704dd03bd837b932a2fee16d2e77b774617abc747738784397274391d9b5a6a0772a610121694a18604bd13d3be1d867c223e9eed62837286a42c52a6dca0a8007209e07aec3a03840ceda1d42c4be4d22bb47172af5d5e2f093b6b33470d4dc572f758aa987321c8a1dd572559e5ff32589fdddb6f2b073cff450bc995d78e1f4015bcce6e552acd999ae54ba1dda3d28af2e4364d664b097e4befbb74df6905720b22522f5b3915f1d02990ea5f63d38878818de00ad1a5c03a97795fa94a9525b7ee9c505acc468835d31ccbcce7162a7476492f19c1213082c5accd19174c4359a5bcdc0997e3be50fc5ec671ef8b0a663efd8624a196f7ecd0ff91bee0de6359973ef6468e94c9fbed9b0a0c17aa229c2f134f431fed5834bdb75f0345a272d085185293d802f422b779c177749708d155d76477a214eb6020c01cb12a390959fafe6613c6a95427e4edf9ba60801d30f43d09859f1257e445931618d392298e7b62b405b6a293327f4cfcf7028a57f9f003f66edf7fed63fdb811fe708272f1ca52501a7059c44d1ebf9268412b4726e4988a4a3f96cc5c64b1ecbacf5c72cec09cd3ce4cc0111b7ecf20a278d35c333ec6e83cc00efd99da14c4dcf7ab7228b8e78f7a43131405caf517b6d465626d79208f9a3fab4aa084426b076c5172739812f5c2b443cccc89bd940114875c076728d342098b36235a8cccf84c176359c79670e18bc06c79c76681632837a4e7b3a785a67eb3992dd944b999ed1472d4ba5e263617832d31e9018ec138f9f99820d131667ff5db94178276717b52095f7a037b7b8ae5ea0a5eedd3510a018516da287c2f8f5d61309ca7fc19d106521df7b7f60ea59c14b0a659fb1a23fc55fa95fe5f683ff38ef8bc5e2b854cc8728a89e04e6e477690f8177080283ebac701abfbacfdaf052f1474c0fac540a7087d82cb10a9d0f582571bd771527955643b7ed45f3b0947badf276b8a8dcfdf72af3eb6c3f4f40ab03cb766e2c572cbeed16f3efb7957d574258de5e8af1bf827cd7c08d4e8d9f56d3f34094a30f9287c3442a72cbd1e45664e64d50998d13d1a80edbf5bb034257f19b8b073fa7f3690ac61727efd4de82fc84b1456b7e4e672e6f5c13d5d98821dd87670abe13bee24f770cb1daf095e38bc4cddf66d49034e413476e598a1061e902589e8634e642f7696bec79b88a3e4f797d9ce73a62d1af972a2efde139ae4c44457ab344921cf9475067f2da9dcd9f11964cee4b775722e5bd991656d2db193fd70a584774286cfa89f32e5de4b8b3ade54869b0c89726ca27176afcc2531eaa4b2641f4aaaf040ee6ca9f78948dcfc4e093f0b89e902779676e4540caa1b437be6268f03d625977afde6a3dc9b1373f7516a939dd27264b842541048fed77d67f451fa431adab383b972295adedf9d0c2fb13dbde17213e30b8522b8d36ff4ce0cfbccdb9fb6aec236633f587798c6bad180ee95a57229be9d64db143000fdf57be8e012372e7ca21a2d310de2a5cc60ecf2dd3c3972b3efec025390b6f8510c8442b9502c511c32ef37ed99f932ac888f596fd070725fcfb060f1f27a9333766e07a87e93e76a1bc60950d0bb00b2ddaeae298bca72bda883011e0bc188bec270ddbdfc196e598403f8ddc94a186e7662ccb8303a72d85d9f61a92fdc59ecdd1c43b9b6a218e9ef4e6b31f23fdd1640ee8147e43872757adf9b022f065551b28f432ac9df83ecca566681e6f3f9353b36af9e209c2edc2fd5a0abe6eb7942171808d362cbf02809e14368ccee34e4395ee5d22c3f7292f1e7a5fd9b38310427f301d2bf80accc2ac056894a74b0230762a976476224b2281c921515d70e4731300de4940c254d0633096e3c5c746f1f532dbac553721236f4bf26a9ef1798b215abd9d9556b2cc3857d7fb3d86aa4131301aa993072fd0f6402d47ce557e01362448dab32bbf9022bf4b32850e612d3abdda1909064e00c7a0dac4dbdf06b9c23db67895bfe5d06eecf2c70fca6257d21c6dc79077294cd249f5baaeec2fd92153e69c9b31121e075740d4f2f84c40509881766612b1d96f9457e2763d677fb7ce81e4a296b73f78366c7a345a011d9007b73651b72c30946f2519063a2f3f351fa1169d1bbc4ce6f342c62b5e429d5c2e6c295cb18b0b994b011df3ecd6c0aaa12f9177e37050ef288b678dd54504e2177d0e82b5129f151b847212a66b12b2a21c0c8e47c07bd2a2d14c40c2d5c7a4f3ca0130339cc47596c0756bb5b4348df95365030474fc5fc5a79ac23de37fdede9badb2772ca5a12fc25b312d9c9ba98bd5f96abb2501673738679de91679073fb969a7d720fbc9c9c900aeb4667632576ca9c27d15c3517a5e3077ab1c5d573371e6cc73926a7eb191b4dc56c1375b2e60a1051b55659265f74a3f929cec36582be12c872acc091392ad62996ea71f813f55655984573ff967893f75e4971943e5bf91e45f6cd676f49f8c25b9f9f1ce854bc98bd6fb1ca334e5999c81fa4bd5506bc4772bb2cc54019a63e07562847e360f44489da024933df761344581e1b8d18abc218c3e58623fc53ad837f60d4f04a949c1f9a6f4af01d1aa7571a666f31e1343a7287779da487b6da708fc6e122abbb39210363bde2468a98a8488abbe295452a32cc0543f6735246b2942fbe6c63f45fcaab3003f0742b78dc085c53b6b579592c1ef36c6fd3c7a24d7b7d2f38ec91cc090eca6dd15a602b639b35b5f53c5286722d38b538f8c9bbe5e081885ff15b18331d3abe7b51d8ae72a20eb54644c580720920ef83c3f27ab10cd6a1edb4a0eb231dd5616148250e512b4c6f0d41d06a1f3e50c20cb0335c38e071c466ead70c2a1721b17f96a362affca348974798e0725dbde7b6c412499e3eae6063916bfcea326eed5cf926edf038459e9cf84c647270998b056af1224a083b741bbb92d4e6473b66dece26c1192b153670be7a8b7217e18f8b4edda6be7f338a293cf5c9d9a96b6299fd131ed4c7300a50a2002572dfeea10c7a204e76fd1ed28a28c7b069420195b1988fa6c318fadbfd080bdf6235dbe93005d5a85c2a10322299d415e3dd662c1c76198fd79f21045d706e923cff5d7bb6e9ed19f5bf356f6511f829cd6fad2d0e232405ea907a6e11b4787f231cad5d81330a9b716b8eb73834c90bf4e19ffe504663f1b3652d85419b6ce9203bab507b12ddf06ce86d02546209e9af5487fd05641a69823fd277bbaafcd6728b638cf54ae50ae8c243d0666a8722cf54bb7b7c61ac4ffe4b1cf2ae4236c04dee51ecdd3b9df91306831c8c27e4aa41e2e50b08d68b30849c4a0d0336793c72cc26f6c7bbf553830aeead9d1e54dc807c2b4b090d17452e6904f059190da86a92d48472c35b7354b2aadeac99008ed54235c0735b58879a4e58cd5218073369dea36e517c750124daa7802c4629114e8fac4cf5c23d11f9cd70196d09db2b72980f3c9a32404100e23c69143553c2d46cfbd178ae9d0c7c80df47be2e597d08d93ed9fbf9b1bc4a4d427951402e9aa8413b824f07e8c5e14932dc8222e31f726e4cb6f2bfcb31c67a120971801045f162959e1ff2fd574d8b0b3a3274a44a72c253ece93b6a62e9a03cfa4540a82db5075328c64a8ee6314f70b6fd26e2b0044d972ea10b3314aedbbe1015a2e5e5a1340073bd053b60d77decdce5d2a3fd72e62c79bf45d78b1450ce83f6ccf82f13c12a7735a1030156b44bcac025ce6d7213e6ec2d02c69d873c4a1db612e1f20cd3a4775d377ab83952f8663a841ce6067d640c7e5a073e243f2b5bc12ede9e56ae3386ad85db8b9cf978a08488f1f64adfff3db1d0f4116d50db60dfa02b5d2810583d9d35050d2e3cb52841122b03722598bf8e4da2fb6a9ab3b0a90c37dbe825894ed2c64f5612d756c9a80ce87b472aa20b9dae1f9c5f19f65a0802007b0431dd9f78b876985b2773c7ed36147f1beb808d992fdf44087d20fa0e8633e6e19eae565e96f75a5c2d3cccf48c68d207e7a04a4586c72eef941d263f00463a643fc8ac0b3c6adea01622740a81b4f272756ed157ae312d19980fd7ad2b110fa78f6475ac50f693f675b731fea6a36020f3961180cefddc2c7bd13f6b3eab6ef1a126334cb3b19702d650dd127288f2729c179aefd2c7bccfddefd8dfe1b98f14c6e7d205cf5908f0528cd95692d5db728f3759ab83c4a2075daad183402de78e75f9d16171c2a5fe580ea350193c77722b42f89edd94a3d9cb475c2c46bcc5bcc2ff82b2b1b4123f489653fe1417b33699c0b66397ecd658d5e8bc33dab20036a8408f2132185d8fc407bfbdfd6f692a707f8532b53ba921a22e57e6bfa9f5f807ed1111c0ba3d1033bd61afcd9a1072072f9649ff8ed52aa77ce81b41404747831d0bcca4610370ebc5ed2ca213df72b37a2d31dadb4d7b71cf51b6bfbcd427f94c8a05e3b88e739ca38471b133de721996d82b87d2cc25bc246a53dc1e55be753786fa1c47d834230cc4931b73d372ec9ab877bcd5d07b501d303b366edd555a62fc25add55031e89c461cfb3f9472e801824825c77a582fabe33147797f4ba660ae96ac97b1494e34a84cf9ea3346b64979b0af6601d4e0ee5aadd8bb51082bb44dc77a8e63811d6a194adda68d7253beeec32b949c1ff727768780a58bcfe51e7d3f14a19fd09a449f35b4e10d04727d0cb25c10802484a2309f10b4183eef7d57508ec0cfa4948a337c9feccf2695c269a9137821865e907e85820352443190988ff445827e74da47f0bd60f072a81ed42ac84575782c10b1a67736eda2076e2635fa344917abfc38d667c93b72e7a3a3373d26efe43e13b3f81548bd23b90a71e08e98f90d6fbad6df898861660a3da1642f0eaab2cc7b0e5fb34d2eb5c209ad5c6f57b4f84e4e88bccdf1bc72fef25816e961a39f75ddd3f803cf4c0374bc9618c4849d9f447519eec8dc4f720e8d5f27e93154c0817e4c6f48d3fc03c00ec5e2bd886b3f0ed3edc8cf4f3e722d0d0a55335878e61ad51b282b484dc85c3143c9c871af84c67d19ad51c31646245b0bd2e506ea18662e0e737f00497a2374903b5c8c4fb69e5d485303be0072ba17cca7061f2d9f4d2d2f169b03daafeb7ec90af35978563b5821bd15e1da3cfd4709214124847c86b4c305e41ae88a0353531760cca9efda362da326e5562562838b6a2f8e979073c92888d4b3d562fb9a773cf420c4fcd06c2a1ea9219c72f2f9b34888c5720b47b47a2655c074bcd8d7ffe06a0bf9266d3b24e17599d072f885553db88791b76692a39a1059a9e81a847aae9fbacf8c1a7919e9e88a2072c4e3a781c2401726ca4d102882ecec8d962554b25d2f5e546c548bf6200f0c72afdafeb93170526e120cc21e040fbcecb98ce419e779ec69d597e8d177d55872e5dd491b2082239cb595607e6ab4ed4d179ee60f3777f1d5d92ccee434b38c720df789ea4f27ff4d41b06c73ff6530089bbe179cb5f753542e5d8eb41bbde8372af505764118981e3e3cbec2b106907d2b8f070461ecad7cf6329af2603317729ddc5b3cec5a014a83b4d9ad5f931fbd0b0879a5a3682e29b7079b0e5152df72c1cafad25fdf2533dd411d91e47779ca5f7fd3cdae6e096dcd790f72546ffd72a07310e7be75e2626767fbf33f748edf1e546774ac4aa6533e5014115c55e43db02d51815b4c95420318563a96fdcc7dc0b67309fd748e00365f824d6df23c724306578b68c48f89ba96f77d3ef0ad446b76a1518ff178b6d3b15133f3189a728b38e850081f22952c6e76528cafb4899666e851ef8b4cd7e302fb5fc628de72e6a566dfa7fffcc9d8af599f6239cd5eee7ceffdad7430a33eb18d4bf8c2e2724591a1877bd080460ff1cd5548b3ec863fdb2a5b1b29592e4702b96095319f1827e4549235672f3a7b7c0e9b9f8c390e48a35775fdf26b75a36179b7de0ad771755b12d226e9846154554b79effecef858e35447af33e9ad2a02026868b21e695beff65854157909709cdbdc5bffa314e89198e7573fdc73fdd6f568a05ce772ad67e17fbcfa54ecf73d051d1e1b6cd73ad326f236f3cd3f3753e6601d54a372c1b4f8bdba68af42987a768a3546c7dda77e1f20c956955551474603a2d9f47246f12176eb11098ce860c0c95257c11cf5638ebb52933afba337ef2aa3d1da425549fc3645a586388a2d5571772baf3228f9851ee14a01b3afb1f15643ce6e72ba42ffbed663cc764c99831854ec69653a8c0a168946460617e73a2db9c15f72148b75b486c88b79e4c76977a70d967a56b9c44da27f04a0be6776e7adf01a7284767ed3a850c28001395ef400786e52316d669d50746ee10a6d1eca189f1472782b83f9a8377e18cfda196359908c404b3585afa20fcd80817d439a8eb048043765e1df4ad26fa6ca2c9efca04c55fe0eb977a324374337cfd851d3fadfcb7299bc569080dff48584e84b155ece8fbd828e81465701158f9db344eafcf1fb723d98887710697fefe82954bffb2988f17bfb986db1e6d2d9c8b7e7946d64d87208f2a5b9e054ec1089c40c1eb64986f16561fca5eedaf113121bb25cce2747210a32173b9a94fa106b9ebf55232a606222f2c99e219637dd16498ef66b0db97274728cfdf160750da25f0ae58901461ede8c2f08f4bcfc81cad60843bdca4b0bfb61fde3366f24601d120f9fa9f1f86c66f3c98718778906100d4d1a05664e13a94c7c5fe06e771583d280705c4c55cfc30741121bd4e84107da942055c6815dcf2f6360d537bca3aee7277d546b6534954e7d407665f087549dae0473dd510b5a63b87d47fc953a009db891a42c03285bed17e885517632e5c472101f913972408bb2506a8a176dde86b898dfee171f6ff8412f0b1edfec519e72542bb2224f38a56f435b7d571a84f6659f01c048c0560372ffe7476e96a7af026a3f9e8e72b06d86d01cca0cdec65a6f62357dbccb541a5e7fab305051071c44f873345a72eb69ab5f532bb9ebfdef7659152baafb0bce4d7cd8c87a70be4f35269dc6bd72ae3e006fdd4fbbfffdbdb916cd06ba1bd3e9aad6c83c1198437ce08091dfa0637b4cd02c547c5c3724261593159ebbfee03511d5b2a6dcd353bbf64998c14b106dba669a82840719caad9c7bb42882ca990534f5e9361c7411bb015dbbb58572c3975df28d02ed8b148aefa14b66e8bccc08f6750b54f87b5b924948c0c9bd72111c97b752480c221f55e0d509c8a4215682eb8565a847aa6a5feed9ac31e554b8331a84f2e992d95216bd15309ef79bed9fcad6d73d245b0d408c9de6b83746d5d8bec9d55d960e3a51ba859fb11b34645a9c4e8af0ba43c2e5d5cff5534872bddb691473145361e5e6a3c03a4f568bcdabafabbda19722a4229acb67e7bf270a3073ac8815633a6c388380cdf43438649ff9a4a66f1c5b7b68cc9ab1298072bb6a63d629d27d9ea01c6c87d46375d6f71fa286d55c7aa1236e51b5fb475d729c05e455af93a8d827618aeb8788c77e2f262004c8c12eed8faff027d13a1272912d43f0271dd04eac5753a8138f15a0fc5f4ab7bae846068a0f2d24ec0b57504b21807b21b067327ac4dedbfef056f90f6ca28d5fcf5cae81254d15d4343672ba423395ed3d9c0d95d88d8450f86cea95f3efa7986a454c2dafb36061423470820e05b96cabeeab6dce46f57d997ec7e52a68d5e4fee355838ebaa461952f72fd2df8e70fba2ebe668c4eb88f9b464abdd8ddf9823c23c74dc7196cdd0be914e78ac4cf6872c5950f7461c3b917df6b2d72d2c6effe46d1acb59c5422d837724e5460ce805f4692e6cef698c2403ed7077437ad259525a07b62e42811a0a172eef0e972d5f6a99fdd6af2c8f27cca44ce729dc18a72602dc3deee1500a5260b94c25f2899407462e6ac7ae291e4b04bbea5fb32ec6ce2af7ae8a94801a5707276fb8facc08800564dcc7e5505b091a9c609b112c87cb3e38eadba2cc6c845055d1a26031a432a91c4dd58bfddcaf93baa725ddf8202fc915675607a452d8629a730f629f318fd41860006ded0bb28a70ab07b6b2a8c116f2615b37f00f53c720baa13bfa6a5483b2ae7407fc7f307b84cf96ae87810b57dc87e19da504a2f43bce83a4cc064f1c580cada107dac1e22134c9f0e8ea78a9f40d3948aa8aef4722371fbd780883ebd6743e8a3dad3746dcd565b4cc0f2c172770e7d19d2b8f94a912edb456385eb119cef63491939396a79b9fc44a79845b71008bfb085f0d0722b59cb8291f1bc758ca2872896ece3024392e74906eea8178ee45ca28e276a722596aa9ad4adbc39015fe424047c8e9bc1279ee59cb93e585f842dec164bd51e8a30dc98b92e0333fbea9e56fef743fafdf53f8b30ae963176ab2bfddcac616bd022af5612b4e837763f785ac12289224347c99f1a7ecf1f8620b5847b0a040bad1435a5c9ff71a963faff25b29e61847373e1c0f516e11229a50ee5c1f4b95febb824e174bc14e320e56db96fc933a2415c206443c853777fe9bfa702efc472662872ce9929d566771997d94d704d30d447869c6c42097a62a511e3b64783175aa8f162533c57207782d10fffd5e2a012266772e337121f0046a87bc5e32472107618d6b34477dcc10602e2f5a4485a5b07802f6e6064378ec1e5f0f5db20722df0dcfa4ac6d463bf522d91537a01fb97ceb04c935881881c2fd5301a42ba725eb87a59cff727975c5a584cf690eacc36649eaefa32930b0a434f45e38c6b7230f5d9a00a0b7021614ec7c9f04062f66e93f2cbf8ba86dc64e2c4cc2560f2722f014f49ffe6d9d0b5914b98bf1cb0cfdd770360e28fb940d82b244fad22ab120e55c8b6381ffb63db71bd2ec7225931a24ce420949833b0a80ea5cb49329872ccc86b2ecc5477a03272bab499ae060f9294bcdeb7a6adb56bfa2af8b1006d72f534ab962ff77610e3e4f1c47fffdf48f20b80f67c1326264e067043bf6c5c245ec91da78feaccfcb1cbf37b98a2d3391f6cae138174b62b809078779b3a1616c6834040f948bccdb4ebcc989f8cc48c34d9409636bcd76e2b9d1efc35b69b72471691f7761f3479b96611cd11327b0b708915a65afbfce178f2df7ac3d7f872f74a19c104ec4904c8378fb472374e9e77439df489b8b2bed915b90c297f9c454cf9119ef0da0a5c7115acd7031193d1681db1036edeaff27b6c5d0f1d26046643844a7aa4c5f44db3fc97bea155af7a22ea5118354ad1fda2c9640f2f86d5727ab1b53bbc03a50d9cdd5c31573ec1dd2497563bac3cae661dc5c7dae405fc7210e5e713f9daa8c8d7e510dc2795058a33ccae0b7bbea523eb9618c2b5b1101ea746a48d77ac384de9d732fc41b573f18d9dc6c4398c5471cb381a5b8d456614645517f11f39c6894ba6330b740a61516d33e176790338a98a5d31142155f86b98c2a12811108eb17964e4769fa1ae8d14f260f4075935a193f93cddfd5ccd3c6e6c588954e4c51ba79a47a95ce05a4ff9464dff004630ec860ca6ddbc889472946cbfbef4bee5114131bc2a0106ebfaba336a5bd80538f1bf61a3e657d5915628f5e47cb5971748f53fc83ee944b0e69aba598b0b2f14c4945ca4b17c134b72fe6bd4df38436e84e488fa4edb25142101f44d34cd0bb665c74e35b59ce2de576c8e753042a4072e03605152f62e1a003d8e1fde3316dfe0f4a511faaf88bb10ae34931214694165618a50571190b46d6508c3c0efb22371330594c85cf65172de68527d83ea8a79a202fab2d44e3ee98ddf997f87ea41b6e8ee3ba15cd9236f7a16dd6aa837aeca192d1d07c67568f404b97f6f923496247bbfc4274bcfb0727a58bce6f66729c4439ae9c93524fded33b984c2cb23add484f17bf56e42000d7f90368a251eaf34f72edac0be345954d047c2f0c764143ddd0dfc42fee03550d22344026a15501190a7dd893889787aadf94513a711f859ad5d22664c3a7a7215512a9b7e86ef34ef2457aa64bb229bade699183b3ab307c519987de6b2c5725607c5c372440b4a7b214ad8644220876d88b772dcc0c00160fd75de0f05c672a362ddd847bb301263ae3774bd0dae7d6e6411c84a6f92b25aaa9b7254b57653f9380eea87ddb455e95a88f0c8009e19fc867ddd8e24c8968c3798dbe8568c7260f39edd53b5f8c3aa188acb12be1890e51834d8941bffd850d7266cbc18e572b4ff43ec53dabe6db14ee7ee55cdd05a4e83f0c84f63fd860f2e6f070575b47217d43fc9c5d11b0902c570d70476ba45931b9b000f8b17e1697703219d22372278deea0d6edb306fc0846b86ea6807197b090d7f3dce67287cd65299d4c9d472187f59e792f5e7bd597508b9a88e32b44111a88277b46a167d918ba958d0f33218d435f355cdffb36ac87c4b79cf142269df4a9e03aa3cc90de3691f1831e572f5f58d43bed4bd3099c2b44e5bc5be6f7d9e0fc20c57697588609f048c20f50d944e69c39757c346f7b75ba6cedd8e1df393104ed658f9bac4c453050f25ea17045c7da948fbf5f86d4be43f8104fb0b0b60bd7b7a9be659eb3d3a23dfa0785762d0b8f154aef71e8a2d70dc705abb98e36c8cfd1c11f1f103fa616c26c0e8720d571f2eb11cde0ee0fbe434accf503bb01250466b2cc5bb513781a8229290729fc2c4f88cebcbe707ffde50d2611a15ecb589bafc0b625fada6a5f9f3c98872b205094a46ae845cf7d068df90d0bc8580978f437b60d1800c2112cc0f7b0d496b353685cc9f8e65697d6c9f3cfad7e556b6b1ea10b3eed431e2e0e3e0f1d83804bceeacf7813a95fddd17861ae8cb6dc247d3f5e745fd5884ea21bbb418f2728ed379a69e2281fd3974589a2309e2fb87942f843d523d997bf090a531a00949616c82229e1e08bb180a980fca28ada638d1f507239689275b6533bfdd6dd372e16607e28e0439a8f961e05b3e96e576b0e80347b7100f6ccb23b5b5f1c695729edce5b15e07e3cb98cc86c07ecef7bed211b9c50edb0025e186fae095a3bf72993e55b5c5ca21f895127bda4448f7eff770d466299f48c2ea3a0259f7b5be69d51a38ef2d42ea30704faf4f85570bd48c8bb3350bb3e6afac50234a2a8b7d72c594cf4b50f7206a8b975132ea8ff6f472b44cc69a61c350463010e25eef5272bab6d96cf2ea0f4ae48d3efd93416ef9bac9816fc8d13129aa7eba579afeaa7286c61e84186ab6fa87065e2b66c7ea7b690cc74f257696f4c9016c9f48cc141b866e5209924e53d2443265a13e48d367a2149e4bac830358da850876be0b5072734800ab57f75bec8d83caad854e0e04c36337d6031a04dfb4cf3347a691137210a507d8cadf0affeeaf6b34116e600dd8f70d370f56ca72c63c7142b1688e728f7b5d1138be6df034e2153e12c066be78af62f82ebfbee82dc23320d6ef3c722fd42eb3b85839faf9f45b2a7833ee8bd18c09016feea2e34555a2768df5e572f78edc4fc192d294b61f24030fad4c560b9169275b344ade25a26da01e7e4d64e06699851fad72bb783a048bcd68bbd02c14be987603682d3f4db07b06a98034fb3e4e489cd069ea3ae0047e9b27e2ca3179b0f4d8bd382d8f5027be99f733720b073564dcb30d10ea590deb2ca3869a066f11620391978c9eb587a1f9111d720363f613a6b93eb297fac967e862229213fe8bbcfcab5e997bf8239db5e27e7236d930fda8bbd87b0a1b19870831704f6a6756c52202a82db718fa384bb1d33893ed02fff0684ebe70694276422739a6c62447bdc71c82a574086def26629b1fc8c6c817ca6368e47cb9463b248bc31717c74234a4fdbb5fd3c63e3bc0cf0556c135254f3dc3781ec5e1475f519c77242dbd5dd66dd88d3b95c6bead7cd760720f766f400e5e6bb94e1525aec5c4ddbe90b4d4fe9748492d01c8146e355e1872fb8feb0b887db7a97d8d0a8242538e0e0158f6ca70e58ffed96f9bf56d15a04a8b51be24bba386d3d18834ea45f731afd528e47bfbcf7090e24b4a3cfcb77b0e71d67ca16504f3af2d445d9e7473b5b5a5542f1b382de3f91c255bab28f7bf2787aff9c643af60af47c49dec32f88c119cba5c10e52fcb0d985dc3e740648f72c6357db833654dedf6c98446f36b13d842a0d510d4330e24bb365f29c43331232173b2fe1e1957fb8be074c545aec72b60800563c941c97bb15c4930dcbc69720b356e71a2b4f64d4827659fced81319d0d1c9b08faee9bb5eabce36980a4872ba81e273dbd5ea400df9c13e18db2cd9d3f78ac251cdcba29d89671e5cc8bb72ae34f12c05d7ccd93df81d956d390f56c328231a2062f013173983e4dc89a03503dd42d3c20b51268e558e99c3d9a5d442066e459f72f79d2998c25ecd498d26ca6d546af8984293e300c801fe66f8690f632ba60a054dd8c91cdc9b4b39a627b9feb7aafebfaea87d8c78224f5d54492f63c19ce8993c3f01bd42a6b5e8933810dc3dc4d2183ef8cef1b4d8ef02da8302026c6a18fc9b1835b710d3984efd546502af5628bf99e2f30d63fcc743ffe8152e4d2259d97b579fb55c1e786b9e13cafa1e64b093bf1dbcfcc3e3e2c44bc94534f04259518a8977f228867c2978723a473a8fac367134886f9ebc39f6196d1cd74f241216d14bfeb5eaea8d234c7294affabea619e6c99f91e3875ce09fb78cff67f898eeef51e6a02ca8f530e372a374a7c91a6a4069881c111c24f1b7c718d11cf928658c6b2bab50554fa35672d93bc983cf1580c5e09db674a809261a472f276e4f8250bf30e24cde24027e33b8ccddf8826068ae1f5335a4791dfa19e3932e6c887a56ff5614d238f3d62a266bf796725e8b49ffc368bcbf823818c434564ed87481628f335452181163501f3dbbbff1fcc05cce797d5fcd940fd00e9aff98a7d12eecf662564569db6ae417024eee4faef92e81ce06f555a319e1d7933379d70281e457f685247d38e7a93925de068fad1af183a65237c6a5a00d4ff83a3efdfcab9930c076a228cedd69110c42635a22d2caf73fde9ff1e5f442b166dc5f65c808f518c99f4ae7fdcaf17254af394e6a43d1561467cdc4f9fbf9349802a128d41e9adc32ea9b7b02829172539e5c327d16f94f08616378dfa8a52bb395817765b167b523641f7befa19a72902e8d59188412a068db575b54b1e5c0c35ad8a269f52d48afb28902d8257e7278562ad57a5594af34dc75e04e503f63b0f52d331d38d23d8a0dafd19b6a04725f66c821c46c1c87371cc653ed8726064568a7a99cc304a1f0fb13959c0fcc5a863b19f44e59bfffb3cfb0bec3c797e7c13bbd86646cf3378a59598298f4cd72b2e4e452aa28a924bada5e57a7862ab24a11ac3fc5dac1ca5d6750c9c741f03ce45c0c4cb4319373530dc3b5152ad019c87c8ac00ce9c8d3b4b5a0a1dd518c721fde82318d996c3a7fab8e6b3e6019bb1cd17cbaf3eafaace44328fda9deb472aaba7f5bb9ce91cf7802d87523b1dda7be4f8398c7f834f70ded8143e10e1b72384c3b7706692364c87cb801b48114a744d8b0c9591136c3caf2e7cb57b84556672c964272adf7e096857baf252be58a3bbc1eda85b8cca925330115b24cfe36137587c9d22ff03fb101abf628c0c7e263ecf055463fd449e60d6036f4011272e82ffb35a39aff032f2aa863570aecb10750224eac69e1dbb17f685540d56572c5932eac3d4408fb1f5aee0c2027499f25a065e47e2d403ef7fc8d033caece4b801af6b4c36d6f05908f8b7a39f58cf00e800f13477fc680096e66941bf473028979381c6255df3983b781823b37199f1bfffac85f82763707f98e4fc83b507219f47c44d9fb210a18f8e5c6d3d41e19675005b2cdfc19b6af83fc9cfb57f1720862963192d106d8ca6e217a3421e1e5e23f41c28574b04bf1b8f9f679b47f4a94d4620a07817ac90f177d5e57b9899e6cffece4cfea4c0f6de912f2634610022e83243135434a641e1654ad9ada8b86fb987406cbf56a1db1d2661f09874e66c98ef36ffd12b8a90683cf89a1be68d606822c14eddb95839df3950b272eb672508ff91eed3e31d911a1e99c23fb285958e689ee6b580b35246544f5184b565c658ccd51666f4f2822fea041d88880106b262102cc2d6d30b8a6a56d6f18a5720c2184995b2f298ba31246d26a9571aa96c1afa02a57f48e321669bd9aed5672d86d95930fe38bc251d1205949bbfa235cfa72db2b823bf5122db2e12eba0172b0c9784b43fca44a87c325003496e5a30ee613db7842c9159ae1b8a8617b04366d019be08946b11cb53e783dbe716e535367dd80ec5c693c94e1acee4a0e7f724be91518a39a552aa2ba005a9bddb43b2097cd1d1c71ff064b96c4000de9d57296768d229c15389d8bcbb29c9a83c4f2738447ca2dc3e375d8f8ace8af9ece68817b1801032e352d2bcf7ddc016231377c62168af3f1dc5b41bf6bceea1939300acbf53cff391ad80d918f6a800fa0a61f4c85822e0df3d2f06f44dd7b1a5d26f4a59980e17a8336102d3d4a132363483e62155610396e8c7edcfd2391ec7772293a8f8a100972726b5343eebb80d4989a20588a93d4bb2b58bb9f402f17d6176991d0b6956f422f201aff7c89a0159e82b4ae65eac317dcaf6b97ed47a6f0269da615f8480a741cccb31e390af3ca5da08439b3168d863953125db05a938972388d0638a4be5632f3c9d7e689961383bbc5b2a5d076ee9370848d71b8032572fc7bdb1d87741b4b8e23395f9f2bfe09cec9171a7f3606cf32123dd548eca24aff69721c8cb45e108b7bbc9bd16f761f477a72f81693ddabfbd78f78e357287219a19f55d487bc44d7e1fd68b2ed30f781bba4b74084753086a2a1bd7fcb8e7261473c589a2b5402a238ed883f87f4fd903805b5aff4b5a3cacd6ad7e589c307ea34d533e21ce7425e5f36f8d20475ece9a1fdb5775841ee099096b09bb89372392777fe1f950ee19da8517de60b6d8b89b826ca33acfa13e28112bdaa92e27290f07b598a02ea23a49611265fb984fcd587e9e22eb48690a0179cabbbd0cb724c2f356a476692120453d21f05c6f565b6e0d1a9534cd086cb65ebb9cdbb98416b7d518dab362f0e80c2f377dfab07fbb54ce86b92c8745feeeb872a2589216c5f4ecef76138111fcc374863e375e666a5f1b5f037edb897464207ac6199ea72ece1959e62275448afcc437a975224d66d13c12625043f868eb9de463f201a72cc9159738d8210374edac3f7b708a234c824bc8beaf222213961124c035d1e41c5a1da2117b3807ddda22f489f5d51f199fde9554af1ec74aa21a3a47baff47263ce12b6de75135d3e18dd70b95c4f90b76144df21863b5797a965c35244a20dcab191c1cf6720d862025285c475e297dbc9254d658bdb2ebebf6613b9639e3e3ea69b4669089f2e6d858115d5a47a6c4c15112ede15d387790b17f77492220f23e74dec3a304d7947159bf788ce0bf375c3f03185651981e13d80e97478437255e54fc5f9f7a4afc88786ce2fc015740012df162f545312c0913999d65fd351863ba38d69d7baed342388f47eb077838927a11c300426093e9c4f80a845c372f1273544f253a4a98fe4af58224639387d7b89eae3067b291c725b1649cad73524dbc24247ee361b6f527e87bc11b1e77e9c03283fadb533d20ddf706994a65c26aa7fc6841cd61889ad6fac83a6b0a2938c6b398abca9955ed80c0d6ca55d34797b86dfedaefeb36c068eb363f19f3a36af3d851aecb7d86cb45ed0f372dd1d5206ef29f74977bfbeb66379f4a88c018a72f9d66e409d411a8011da089900729476aec024d8c362bc4239c91bc144ac84a024b29b0622e1bb063606a9ba1272bd8651b80e96988a506b92d41250013501696873cec8f376c3c8543ddb05cd72fc595335d954c169f2805c29d77e40758e5bdcfbd774780f02bfd3cbdc6247727c744c8acecfc64b18dc45576353f00ebe95e271a8be1be27dac13584c965a599544f1efb3d3b71fc0bb15dc37f2cc1a937908f46bac66e3e03e36b85bba907265f0066a53c7192aa0faeda686c115f9ce503bddcaf08045d592a7e950bfcf72f7fe2ae8a67abcfa8cef60d632f88cafff51afc3788704fb0631db9de81678046ff79d2dc86058d7d7780a735b3f61e1336f0366309649dbe98f02091ffcb255fe7809f62cd246f6345bb1694da9de805acab25617bfb463ca885818813d317208b658a713cf50f9e17eb7a72b073346842c4727eca27db9bb46f9ca9c6b97728d7a0a0fca980c4671a6c0a5e24b3db3ef395a2b2cf32fd9488eabb497f54e7234d88cd6a79d2ad502440de8eeb2d8b8d7e14306cd21e109824d7a80505005724a4395379368d9430ff0c722dc511f2611c4237ffb76eec2b5923620e009387270b15d23a80f1a909d4a0f910388cfe9a9bc10dc0f257ac5c6675ce4be6ad672033e453a6285efbd6977e767ec1af7dcd84699cddda739cfe9da9e3d4b4af02c4e431b42d20e418bfbee7f6bb628a0cd4b16feec387b641dc6e519e17e8a6472dac0b9d66d64d6f03563de0e667d89d362faff3126db43e0d73d41bc7c6dae72ef06e723e1a99c0c8d8ab59687701415f8a28706fe99a395fbb80233806692724fd03391a7d4cc5fbb4a9be5c573c51d261a33d85933361f1a8624fc104a4611602967957dbb25ca28ebf62f2a3eb7677225cd762124d16837a6e0f208c93a720a844389cc1ed6dcf4450e9653ebecd8dfd7085d283c2a0d0efce4e865d6aa15e296e76c2fe4d0122746847e8d7236cefd57a431a4146ec724dc2c2b18632b7252240fd21622b2cc1b320db88083344b9a5486536e3bd1feb78fbfb7767f7472f30a649a5d20c01da4f1b3ad2d8efbe59dbc2c30666e3b296e1bacb5eedef5723d68dde67342fa38b331a5c7e9c7bb3c359213499ebed21b0c92f515691e9472f815af6bd9476f91be39436f8298b0b6507692876a3d3f50bc8ad2a0a65cbc5c8dbcb97d2a14a10ad55fa6fec761112b1a585dd2bd189e8c8b5d0574ee7dc2074741a72f2d20befafae348588eee6634a38ee6c6ea6b9c0f95be585ac6251b72450810f445b3296b8e84b5d0e5aa0a61495190d3b55d217ff7c9047497f138688cf1096a5e8a837277e7a05c465f6335bb7acdd4f1adbff6e0c289e94265e548a4e72de7bcba627fc99136bb97e220bbdc3a181de73c82a96a69b8a06047517272a40e672dda7ad097485cee22014b6d528ff023facd4fb85eebd85df174042101f43bb2f34d5bcfb24f97d564d4c0528d8355d3a0c2ebaf85cfdf1b74b2c27252ac8b992e3d46c7d008ffc9cb65b7b417bee7ce0870919a05ad48efba496a72195de5598bf6b31415c9563f76f968d8f68de0e60b4acf317371e0ec2b63f272df57fe03d0fb0400619c78ebc2b186c82f369a04badd3ae71716a3d061c9ca1cae1387e0aa59adb58398245aa9eeefc5cfc95d2c7bb66bb902754f105a3a86408c734926ac610344dcd0b828e83b60c139a828c54ef713a7dc96b4a6ba291c72eae9d78e7c14fb8c0cbf0b56cb19b641c28321845579c3c0f68ee567de0c084faf3af7a59301f80e813e9fa2f6694c8cfe3a046da14ced42a538d7603fe71c2fc6b36af54de5c4118a55e8d09f174bbe9f5f7775df811b7bb75997578ea4a77296ab7caada89e9b06caf96271429f4ae83ef7e1e106d0d80f81c29a4d0e81a721f4fdeda8f6a893f3c7219c9123606d4abadd391538412e84d9346d59c85e6729d31ed3aaa4e7b1cca0d00b29ab4f781af504960449e08712e1a976bd38560725451566effe79f8154f266f2330a8511cd8cbfa583a5fc5b2935e2f7eece6072bdef2a9a7591661d9b263a760821dc443ab95d452d3c37466a3e10fbfedb5e0efdc86d1e201d81f44a2b3452bbdf1b1ded2e8f21e1496420d36c9709e309187247039223074a1314d8c8a81068ef993d5f79963235334c93afa581409e5a2256209d8863733f4928fac07f8b8e5f8d5e94005c31641ca9c94ad6a8a802676c352a1edb415810b8456148809530ab0916c1938a54401cfd0b39e74c57cd0492727fc05932e52ca26d9c7999e4109817ee547cfad5ace87076f90b6614355d4224c4e646c6320c1a0eb8b7b210aeb5a66df1ca5652eb7518cf7081e1a747cdcb647ec39f4aecdaa2eaf8361a7ecbbb8050a4dae53458df2f8b51009c915240387286554637ae4df137ab4c21ed2c7c9f91c809d6681834714abdea25a56a9917537f30b1cf855e2485a35868d9f95c37d48f8830aa970ce8e13822a0f171b9cd72eaa35e7023098ed08cb8ad12aef6868f01b76e7cfbf869c9a5a37a2332b1f572d1d4f338208001ba575ecbfe4c888d6c057e237e499b4bdf5c1511cdcb24fb727bf29c155b56cad88133724822bdb08a9d8add1cf9980e4fd1938624f1c4ec7207f10afa80087da49d9fa6ff874823c3cc42dbe0bea27d6918ea78b422c34b724eed8c8c85965784a41649b5cfab8e74b56b4c8988e22ca381f72d0899a94d72382424cc920d8dfd51e66f61d2243f269b3209171ec00a06a826e5f937260c72dd2659066f90bb23b2f30c21790a72352a0b8f91eea32528af843900051c5f7230d0c93ad5d588f5032586ae6680b9f6c0c1cb9a782a061e1b4e8de56b66f672ae06df511bc3361265e4a927f679cbeb940e948384489d06145996fcde4f167237c314dd5b1ac06820c70c02b59bc30a7ec3b6f31ab63e6e657d48e7a684f14b4c200c4867b81fb221aa5721e4946f4ec3ddaf37e418db982625ef91dea4a6720e072128791be59f53ab7a05a1e0392b11c54bf7da9d0cd0f14698b19d3a896fc58d866ee06db963cf0940e8ca1b5ed3acc2e726a46039253f275b46e2ab3d72fae3d9a0c96bf5720d8a09429c55a6555ceaf47581aa555a984d0ace15d45972545d8e6233d26ca07944f325eeb8fa29865d15c6d4a16899fe3b6f07db354a72abc5f1007e1452abc8cde655b8401b5418c33fbe5c37fb789de2e18808b752243605e4decd271eff50e5dc06d55bd895ea9e78f4ad6d1ecc25600f978dd6d643f1f1aa288ed6306691c4433dabbcafca68b5c856d236de16dafc5dc1f343a27215c54ca10ca6a7e4251ed93f89039090b7bb260606fefb79781993e30326a6726a03f2c96a17906bf8e03a2ab3cf1d4178be0561dda857baa2c036b2f73b4403db3393c30485168eaf2fffd6480a5b6bddc66a85c50f28ce98cc7707065ec5463b54047d5bc8bdba0883795a28bbbde4a1cecb5d3adae4a74dba1f8f64716272983a4fa79c8b2d3d44b76b995df6285f534bdcf89a79ec7d3822815c86ea4e02fdb1ddfdf36c9d3e2ece867a277194df2ddb7779c4469b7b870b033f7a3a555f0133ef44498a994ed71743cda6559d8014fd2a903a3c8b19dcb216744ea3a115e0ce675f65943c3eb6f7189c57ca92ab49441b5e4db247ed36d1101c5609a16e989c697874cd923526793d42b7b089a393f2a644adf2d84db936ee052b032372656b973c9c69ce73d12c0c74ed84a9a8d1a330d394a97378e112ccb2d14e0172b706fd5ea3ddaac7d2d284b4817eea2288693dbb155d32f903280dd1eafb40726f58a046c69c0a7f25fb3ce2c6d5a47b15d39798f2cd4efbffd339d166bc357218e17efdd96e5b32edd7ec033e54b384f40f930a5abf754a620719665dafdb7282951bb7ab3390c6046ddc20c7ab543b27fb75a2231402428f7cb76fd784426def804f777d949a625a0e49c8e926b604d1023bb3d09daf59427a2278abe6390b76330d71fea3bd3a1abc735d1b14e86c135f9937e61836ccb21ab6774f7fc372adcf2ac19e5a4be939838365433773de928de1d76acb8002c31bf497ae623d72391fec4337dbc1cee9777ac48acb15a9633debc5628f5d357f729feb2279410ad6e9bf744d48b6e32e9bff87ddd5e076225a9080bc8b19ed89fe2991f76259726ed80e42bbe2b682f4b8cd04aca174c74857a074f3a458e6f918264f51704b701f175d7545f8edb8855455c2385924c09279f818a151aee4105de4c898fa57729626655ed08a84337128b55701903e90ff0a8c5a38bb889f4c0f12fb5b8fda72b8c6789db3d067587b0d03a9836b7fcbf538232830d463f7b73492b37f758a584dab73d185150144b65a1d3f9714b0ee453dc0bc227941d4425441b10368913c5e35faed8603a892616fa6c44f4f79fba61c62386fb363c840c1238fde34a5722cf4e8292cba193960d46e638250f6d1b3c4e5cc69d95476c0e82ce68fc9af720a15fdbdca91a2fe3ba6077d2e92eb179bdfa1dcf360f8143a2c115d83032f226b641fb131c0143d6251f812f2c70845a39003c7234f3a1d9c28d09c310344721cb634f87fad5f2ad192ebba26b26f2d3aa81ad7509f759f7b49ca2a15a1ae49b8004b0adb42e13fbcec508163aafc18598b35eab87a087269fef17c8f0688120a4ab165a92b0f93820ef7b8174e6f9b5d9c2b8c8edbbe360664fc147ec27c0b7e28b7d39b5ceaac90b6c0ec61affeda8ff84a61c8b6a1e8e1f0fd1ea6da3872c694312238839e68ddb735aca3203f84db5751aa8cd3fb26083c62b32865825673bd100473720d4d6057b9067f1804ff73443e89d8c680174829f09e84911372685a27b34e869f5354dcdbd7104ba873fe4e7d4075439428108e1f55b4897472677a14028324d4db4ec66319d05c45345305806c48235828b9762d92f9eecc5200baf6307f48099280722c1beaab412aa50a0b83b556ef4b5609d2fa031d9c72203eda5a475a6d6a0a854a0f115ac6965f234928f12f43376083d7156bb2160ab8c9b0efec4962b1db6710082be7590823b8a58d4095ffb7be23d1ebb6f8637249cba83ad72294f143845178b07becdfc24cb1e39fd38d726a9d3a8ed5b447f1b0ad71b67e467407d19d5c0b7404129ccb72851e881a4b9a8d029a46bca0725be960a7ec1a338082b4fb68572d8df60781f1b0b36b1158e39c0b053ef6e20330c7bcadd38cf825544dcb570e4e46c0414d3de9ef9df5d028501ed176a995f6c975674d"]}, + "response" : {"jsonrpc":"2.0","id":23,"result":"0xec55e34dac949bea922e81ba66860a78fdf9f254b9ea267909f790e1329ac567"}, + "statusCode" : 200 +} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/09_cancun_get_chainhead.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/09_cancun_get_chainhead.json new file mode 100644 index 00000000000..d60c125543d --- /dev/null +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/09_cancun_get_chainhead.json @@ -0,0 +1,5 @@ +{ + "request" : {"jsonrpc":"2.0","id":34,"method":"eth_getBlockByNumber","params":["latest",false]}, + "response" : {"jsonrpc":"2.0","id":34,"result":{"number":"0x0","hash":"0x33235e7b7a78302cdb54e5ddba66c7ae49b01c1f5498bb00cd0c8ed5206784bf","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x0000000000000000","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","transactionsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","stateRoot":"0x11045a28efc7c00a52a201e55b8d4c312971a930432e2b5380c20d2ce217385e","receiptsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","miner":"0x0000000000000000000000000000000000000000","difficulty":"0x0","totalDifficulty":"0x0","extraData":"0x","baseFeePerGas":"0x3b9aca00","size":"0x244","gasLimit":"0x2fefd8","gasUsed":"0x0","timestamp":"0x1234","uncles":[],"transactions":[],"withdrawalsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","withdrawals":[],"blobGasUsed":"0x0","excessBlobGas":"0x0","parentBeaconBlockRoot":"0x0000000000000000000000000000000000000000000000000000000000000000"}}, + "statusCode" : 200 +} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/10_cancun_build_on_genesis.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/10_cancun_build_on_genesis.json new file mode 100644 index 00000000000..24116147e67 --- /dev/null +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/10_cancun_build_on_genesis.json @@ -0,0 +1,5 @@ +{ + "request" : {"jsonrpc":"2.0","id":1,"method":"engine_forkchoiceUpdatedV3","params":[{"headBlockHash":"0x33235e7b7a78302cdb54e5ddba66c7ae49b01c1f5498bb00cd0c8ed5206784bf","safeBlockHash":"0x0000000000000000000000000000000000000000000000000000000000000000","finalizedBlockHash":"0x0000000000000000000000000000000000000000000000000000000000000000"},{"timestamp":"0x1235","prevRandao":"0x31a3b9b03c64172b39b7fa7d35d86eaa0f9cbac30e2abbf9895a32b80ae1cd76","suggestedFeeRecipient":"0x0000000000000000000000000000000000000000","withdrawals":[{"index":"0x1","validatorIndex":"0x0","address":"0x0000000000000000000000000000000000000000","amount":"0x64"},{"index":"0x2","validatorIndex":"0x1","address":"0x0100000000000000000000000000000000000000","amount":"0x64"},{"index":"0x3","validatorIndex":"0x2","address":"0x0200000000000000000000000000000000000000","amount":"0x64"},{"index":"0x4","validatorIndex":"0x3","address":"0x0300000000000000000000000000000000000000","amount":"0x64"},{"index":"0x5","validatorIndex":"0x4","address":"0x0400000000000000000000000000000000000000","amount":"0x64"},{"index":"0x6","validatorIndex":"0x5","address":"0x0500000000000000000000000000000000000000","amount":"0x64"},{"index":"0x7","validatorIndex":"0x6","address":"0x0600000000000000000000000000000000000000","amount":"0x64"},{"index":"0x8","validatorIndex":"0x7","address":"0x0700000000000000000000000000000000000000","amount":"0x64"},{"index":"0x9","validatorIndex":"0x8","address":"0x0800000000000000000000000000000000000000","amount":"0x64"},{"index":"0xa","validatorIndex":"0x9","address":"0x0900000000000000000000000000000000000000","amount":"0x64"}],"parentBeaconBlockRoot":"0x169630f535b4a41330164c6e5c92b1224c0c407f582d407d0ac3d206cd32fd52"}]}, + "response" : {"jsonrpc":"2.0","id":1,"result":{"payloadStatus":{"status":"VALID","latestValidHash":"0x33235e7b7a78302cdb54e5ddba66c7ae49b01c1f5498bb00cd0c8ed5206784bf","validationError":null},"payloadId":"0x78d3b312ed5adeb5"}}, + "statusCode" : 200 +} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/11_cancun_tx_count.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/11_cancun_tx_count.json new file mode 100644 index 00000000000..8a438fd5fba --- /dev/null +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/11_cancun_tx_count.json @@ -0,0 +1,17 @@ +{ + "request" : { + "jsonrpc":"2.0","method":"txpool_besuStatistics","params":[],"id":1 + + +}, + "response" : { + "jsonrpc" : "2.0", + "id" : 1, + "result" : { + "maxSize" : -1, + "localCount" : 7, + "remoteCount" : 0 + } + }, + "statusCode" : 200 +} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/12_cancun_get_built_block.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/12_cancun_get_built_block.json new file mode 100644 index 00000000000..6a49966c87c --- /dev/null +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/cancun/test-cases/block-production/12_cancun_get_built_block.json @@ -0,0 +1,87 @@ +{ + "request" : {"jsonrpc":"2.0","id":2,"method":"engine_getPayloadV3","params":["0x78d3b312ed5adeb5"]}, + "response" : { + "jsonrpc" : "2.0", + "id" : 2, + "result" : { + "executionPayload" : { + "parentHash" : "0x33235e7b7a78302cdb54e5ddba66c7ae49b01c1f5498bb00cd0c8ed5206784bf", + "feeRecipient" : "0x0000000000000000000000000000000000000000", + "stateRoot" : "0xaf23c93c7be49be73fc9658bf4213d8e11fa0853c3df0ea287291e173de63f87", + "logsBloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "prevRandao" : "0x31a3b9b03c64172b39b7fa7d35d86eaa0f9cbac30e2abbf9895a32b80ae1cd76", + "gasLimit" : "0x2ff3d8", + "gasUsed" : "0xa410", + "timestamp" : "0x1235", + "extraData" : "0x", + "baseFeePerGas" : "0x342770c0", + "excessBlobGas" : "0x0", + "parentBeaconBlockRoot" : "0x169630f535b4a41330164c6e5c92b1224c0c407f582d407d0ac3d206cd32fd52", + "transactions" : [ "0x03f88f0780843b9aca008506fc23ac00830186a09400000000000000000000000000000000000200008080c064e1a001bec47c8062b40930ff772e34c704698aa7d7b522eac621c6cbf3a47da99e6680a0f2f2f588ce24448b951b6f9814699a4a9dee2b415cde0221668c4ec273d21e82a03ab53a8cf09ae4f3a962bd9bf407c4fb2e489af923b0ef3f7187de81582e4e1d", "0x03f901140780843b9aca008506fc23ac00830186a09400000000000000000000000000000000000200008080c064f8a5a0010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c444014a001521d528ad0c760354a4f0496776cf14a92fe1fb5d50e959dcea1a489c7c831a001453362c360fdd8832e3539d463e6d64b2ee320ac6a08885df6083644a063e7a001a8a4a49dcd1b91c376c87d7d6a6e73ee3792205864bf61781e8e3ad19d0092a001069693395fb9a698b257e6c25380f32393bc0cf17a290f9e7fcea3c4ae7b8b80a00996890b6031235741030f07cecca332273b25d334a750d1b8c7f5b0a772f875a0760e192f4768128235ba74b605e33ac6eea74f2fd0385e71df1f3185485e2e71" ], + "withdrawals" : [ { + "index" : "0x1", + "validatorIndex" : "0x0", + "address" : "0x0000000000000000000000000000000000000000", + "amount" : "0x64" + }, { + "index" : "0x2", + "validatorIndex" : "0x1", + "address" : "0x0100000000000000000000000000000000000000", + "amount" : "0x64" + }, { + "index" : "0x3", + "validatorIndex" : "0x2", + "address" : "0x0200000000000000000000000000000000000000", + "amount" : "0x64" + }, { + "index" : "0x4", + "validatorIndex" : "0x3", + "address" : "0x0300000000000000000000000000000000000000", + "amount" : "0x64" + }, { + "index" : "0x5", + "validatorIndex" : "0x4", + "address" : "0x0400000000000000000000000000000000000000", + "amount" : "0x64" + }, { + "index" : "0x6", + "validatorIndex" : "0x5", + "address" : "0x0500000000000000000000000000000000000000", + "amount" : "0x64" + }, { + "index" : "0x7", + "validatorIndex" : "0x6", + "address" : "0x0600000000000000000000000000000000000000", + "amount" : "0x64" + }, { + "index" : "0x8", + "validatorIndex" : "0x7", + "address" : "0x0700000000000000000000000000000000000000", + "amount" : "0x64" + }, { + "index" : "0x9", + "validatorIndex" : "0x8", + "address" : "0x0800000000000000000000000000000000000000", + "amount" : "0x64" + }, { + "index" : "0xa", + "validatorIndex" : "0x9", + "address" : "0x0900000000000000000000000000000000000000", + "amount" : "0x64" + } ], + "blockNumber" : "0x1", + "receiptsRoot" : "0x10457e39b8c68ced2071538b4c7034fe68f9c666187fd6b2d6ddcc21149f0d10", + "blobGasUsed" : "0xc0000", + "blockHash" : "0x6b827a46fab12449838ae569b38b2c7f8c3b14bad4aa74332b82a4d4a70d8277" + }, + "blockValue" : "0x2632e314a000", + "blobsBundle" : { + "commitments" : [ "0x89fad25d2bee81ecffa04b59975c9bccaacfe6b5a09422d74282cfd4f7faf0caecf25d70b2e3e9af849701def8f24246", "0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0x85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d0", "0xabc07739e8026f10eeb9a014f804934b7b8179be4d0cc36be461163862f6a575c564a3acd27de42dc50aaf4cf214ef7c", "0x822d2a5d346f1fbd8a182b7eb4db0d74710e1b2e241321e238e18c319bf56fb3f44f74fa0fc73de32ccfcb877a1c3c82", "0x934e95336c3c3b055ef8b77422d76bba4f5136472be7d4bb203cbd126b73fd869bd1c97015cc1a6b423d5de05afbd586" ], + "proofs" : [ "0x892e78ee8090c2e43bd7ee44572672f35fd7c0e9e2981376da939c492efacb838f9204e8201a44282f2235d0b5c42eb9", "0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0x80c5f2e1eb23939cf3600f61872e3e9964d0acafb440634e530d6139a193b889c56a0c07d737729dbe0626706fc9f25f", "0x98daeed734da114470da559bd4b4c7259e1f7952555241dcbc90cf194a2ef676fc6005f3672fada2a3645edb297a7553", "0x8a0acec060064f7b4d8afbcbff1590de931a07fd5d0ef602758a231efd8432b86b6980585b8befcfb8a423f823356dc8", "0xacfee4b69fcaef947e5457351d3b5eef9501a7b9c029f20650729d81877315a7ebd571154d063214f66069a4a80fd7a7" ], + "blobs" : [ "0x561f627b4213258dc8863498bb9b07c904c3c65a78c1a36bca329154d1ded2135b1171b4d2b42ae53bdb53971702b42a5e600385813266114b48ee0f05629223000c4f0d4f0732346a20cf5ae3f288d3a870a4aeeb858528886f6a2af05d8034724e38e017d6e8c5a35c71b64c4127a87a742cc8c4c047a39f45345e6849c321586049d6073122de1c621abf4fd8d016cdea9397bc9c1efacebcb394fe958de07251bdd42456332644126c1f028f4bbfeeb7820ca0f425ce0a9f356a7c01e07a2ce41da605e183dca7e749a245c89c546caf1c8ddf5167aa9b8a9c4254248e69683419a82eca57c995044c9060564efb672e97a855459c83a3b21681570d8a35151f7d651963268f0ad6fdcfaa68c0e910f435dc14cbfa77906e7949c19f34a65e14e92bdfbb92ce3dae5e16274379ee4edf2cc4c2cc4d6aaddb2ffba0460b4c72431621e3126fe7b89ca46fcdba3b9fb6e8e96716e12d082f80925cace08ba566ceaadb9eadffb89f2b5966d48b5d47fd1c804a6a1b4bc78bb1a1725f313b346f04dba8dcb942e255fe2bb1b6b24cbab2a15c059ddaf0ee0e1da4210d350fdc246436bf066e47396af196e38b4bb906b3e87835bf8e5a17702d8e55e48c3c8b481564f09c93e7ad41f75078f0599d2da1debe143ba93eee08424eeb0eadb5b32eb0c1013147d549708d537fdab403716024c876aaa3ff9ea2478b46d33b1f63720074f3195b0802814f043d5f1cdbd7c2c8bff6f751a1c2b06e15f7ff74caed72da3e0f9689003f98ac8bc9154e1c26deed11ee087f2389463bac8fd6d9b9c17273f6ac5297a3a8e71bab61f0ded7621c102b810d3160f7e296454b495f7a217202a774a6b3976bb689466e30846d8b76fedef39cb5b8b5ed89239b337fbea435ea8b40f6f817f2a8115e5d06c069df0c8e3eae0e814fed711dd641794f058d16f94ee7c223c7160114f7b59db4db37567f1479ff115d9c479aa4d4db59120c2105f0b1aa93d5dbc70c702c8630e0614cac063a2cdba4f6570a9366a268f1dc5f37e074a3b1d72bd43562cf3c3518bb4993994114e8b6ecc58af4c4d45f21c3729dc304099d693f280156cfaa675c27373b00539ae0eb6163e7e112f3f723fd6a449f741adcb5438e59c72116ce9785a1995a1ea094d7ce0af8366b2686d08b723783afeb1325098c0a8a15b676690a67c97467485de63b91d749fa29fd2bb47283f102c9c3b6cf69193798349d3190493ab5acd8745d8f5af4cf17b4793f08725dbe218275444fffadcd918d59b0f5d3e8d75d74decca3321ecf5d98e80bc00f18941b36c54c9fbb2e31e193f551fb20aff14125e38915a52caf49cb5cdcc172aa2371944df803e9d3a172e3c9cba97aaa2568b51c18cc4965732a400cd315724bc8fba3a05428bc3ac5f0d6353b5ca1149eda7567c3dafc9598d98fe53fd1722dcbf770dbe9700831a9825b33a441efd16c7c4afb4e2d72813c17004a5bc57202f97d267c29fc36ab54ff982523038912a8f70c4c946cc44c19dad3a6dda072cee0846af5f4a2960f4e5a90065b1a2135b500e5bb00aef73564b8fb2dd5d5726c3ebf05c31a987f4f0714c510af2773b0edf415591b23a66a2a2ba56501a072387aa10e099fd28c6b7c97f2644a15e13b2dc0e675e8f8851ea96474d8ab9472e2576530df86c8f83e5b8382d5ffb6897b4bb1487bac01667040c9c96339ea36550599d684e9605c59c376462fcb7dfe838a2463f4e54be27120bb8e9ec65b722fde4e8cb38979ebabd76c217fccdbfce837a1d35937348e7e18ac3c032b1272402db6fc185e4b6077b74936f08d7705e384f1517d5b7ab3cba0a74badccb5010d5c51ccdb436c2c4aa91bd16c151af51c65757ba25ef7c21788eec00449e9720ef4488d386afb7c3151a71007f0adedb440557ff5e639816bd11bf62ef62c72f2d1192e730b21575f65b5b5928f370480635d4ff53965decd585f8beccaae72ac3bbf35948a0d78dcca695559688c470855835c098f70ab54c8afbab6691826118cb4e075963fa60fb82583affc3e6629cde2bad22813e53bbb2a16a50dcf729bafa775f09c02fa4bfcd39ae67f1a115bf485512ec4ec9f73d5c1c814ad2c724f13faf294606a1708ead373643e9bbe1f6218e0f8a44b2f6deecde10a4af97094e50d0b1a2ff88f9c8004d7cea18ad4f4708cd7fef7024d1290b1e61ff3424d4230ef3d24874d93b77d7b662bcb45665ca91601b9a4da3cf9e3294cab06f34d6deb9002d496aa7a90d89075fdf9b1025c7f9904e761c6460862bc6bf2ddc05223df5d58cae39e2b2bc8bad23579027b745b2b8236bdf132ddd666a9fa1af80b832cf597dfe6e355c42358e0c1c6c281c644aafe3c88cc25b53b4b5fe8fdc316e313764aefd86962a4938081de90876d44bfc15e8c9c32dae3b8fdc55cae4072e221766607f2e86487b18bb03bad30ec8681672ce16c9221daea892677fcef72c330570a3815e14b389f429157550dc627113a1cdae4f7c4688d9498b9353536a2a655ce15c3b7dc999c100b0be04a3370098a39d9bcb55858ffdce692d9ab72f4a40d169214ca20be0d18e43c70b31d393dcd3b7428c3ceddae76593563ed08dd6badc695d72bb5c3e705b15be30e7761500e42519854a46ec618ea1dc87472bfe6a4bb6691c7010ab3da21d1a41223d1246e3ba9cd8af155ca6cfa0159691212adfd7f0301e7342cf7b6a9f88bbf327fd133d5796fc8c4484b25859038367291f701bd72ce361cb6ebf619f2e06bf5b0a1de9d805e786cb1c47894a299ef0c33ee038016112f33b9c2d4a7fb8289a438f4feb4ed005312581dc3c0ce738a6aabdcc5aa46e887d313cf8526fc2372dce2f4a3aceec0d99875818f131bd70c725ae476fa7c3fda4752ead8dc0714a551d1818a334ef46f522e131d5cf57a7f28be96c0672d518884474ff606a6285877d9c103ea3bf75319e50dbea40d0b0e729d2cf885f271c5cbd7b0459c59bd8a8df12f4a8582a4f00733f94b3d7190fd24ee4f4861264d88d54d9370eb2d57203cb9dc4e295579ba7cd0ae56580c52a64e108d4947cd9bac7b0691451536ead5e2693930b1627ee8739f135d531ecb3b72fdf70d62d9345e8f927bc9d62423bbdb0c82242c124c180a8c4b02e578679f5e33d2aa88c05682f9cbf321e400a8f22d799c4f5072852d43f21388b1f8861266bb2d42aafed0bbccc16c510326bca837b59ce76d301596466cef94198c70e66666e32642bc606f6784bd8d7603b2a14a6298bab9b1aa57893862176f2754b772bd4966d2a53f0b2d6a51cdb6feb02365683bd4ee4cec281539abc6609bcf207299900af6b4a1b51fe9bfd4a7f564b1cc0fdd5a346ddf550323df135bfd2c9805341360da440bb30316230d856d5b5b85dbac69eaa430ba8d667f18b464e2381709e3205865d68b9bae9ecf0bb53be77e70feceb000c1b51d2264e9600a3c5d08a1053860f382746cb4d37078d0310e8b50f6f80c1512f5d7bb537f07663e4172a61484487082841033bfa233d7980bf0757ca26e4bf8f6b6356cee90094176727a6bff251e970448197077e9d3c4ec559fe2cb5b08a25952a1ab03c9e33fb2118a8e1deeb7b7a1c4bf93576f408b6ca2d03b58af21f23ddc01295cfc4828a37260b5b6c8d83d7a329b34af0b8ba280dcbf40b0f5769cb4caef44404269e1b11d0854ce4fa63b827e39b1fcfc9332ee1170cd4bfb394908f12c9371d9d7c52b72bf8b8bd9b096f015eb4bc6ee2e71f75dc47d59bbb7251b2768c7bdd00d4ba8725c9c32178485f5cd18a4314c726ae9e864a876d2d008e5e44cf5b39fbcd7f87285fbbdac5a99d384c6ba96181e5d5ad5284c97d8e8e5755b29dfdd324da3a54eed667e730898890624dd9642c97cb4d3e2dd961252578cb5ac0c2d922ec1d372c9686ecad5dd6b29e8844d527d402a0f254594308e53182a450472980788c224b296a89ee86104156f52b4d06974893cb9e414b1f88298187edaa610e19aad72e1ce755943113f542c1fdd637bde2234953bc2df789f62d4be6722b255079272d1b57d3cef5b4abc3f64938b0e4db9ef04a05d83461bd982f18669cf48243017d2b89317b648da4864d4143d9bf0fae636529129b9faede8af82f36110cfe672d797e322f3c652351ce16bdd0a72cfaaba334f195c21aaf80d301246ba792f7287107bd70161b2d8336c5ca5b45d9273650439ea56b044e3b4f45f4d1e191c72d7d6e6f06d1086bd8c9948642ebdec0470958bac03ac580d8c93d995f7008d72b36a9afe638a4deb0160f4fe10c8a180392b45b34408c790ef022f2ccf7b9d19a13c670c1491db76edfa2dd3f76128b2eb6de3fab2d7fbd33e49af2cc3b9a36d5e9fceb6d0acfbf864afd65ceffb631330768840ff9a96365b120d0be44c7872fa0655f6284a716f0f6e0d5429996c41d221508f56c6cdb6f24b5a162489f872a09cd5eba7b1bfb11f3b99ec677dffe2b9c71662f0efeeb764363948439edb726e8208921aed66c38ea89d1b535465e5eb9076fa5dd11fa05341707d2027c125ddb722b61c604bcf5da4b5a4f6266562887e03de1df2cf3cbde790db67c2780f0eed912a4dea90926441ac358f025874f01e97896ef56c9abd6cc978425327727a59d3f6958e1824da54ce7eebd3ab3ebad9e87788b241b8a59113a7c0174b0da088d9b9f25424f32f5ecfe463c651de6561a0c0fb4624023ca89f1941f80e2e3a196a9c5ca14d27171f2fbd2d7e712c16f618d2213a14d2a891f17b7523c51f2ef8296cf927a26dfa3e2e6b822966e257d621acf2324a105ffcd98df63d323e46162e5a7a6bc3ec7efe16e27d5365c2400d201533c9372757f5d4295aa2931ad05878eebc8ecf680ac15b1e52f07d55f697aa79af7347d459a1dcdd42f0e772ac9dcc0a2b2737530dc70d8b138248e919febd86088f8897b1eabc28932af1664a9c824dcd97aabd8ae1fc14c258d9498effc1abc637c90f3e4e1fd8dfc23a72f7e5f1ba34ad5ad463c0f6c2fbe9cf2d7faeaf97b158c7232838b2e3c7017b72b81461b62138fb1fc35723ff0e82d116550e1267fafefbce26e53510560ed172d1f7aaacdc8a89060d95cdd0feab0bcf7cb742dd613693282fb07fd99437ec68315fa371afdc25f8880ea4069e1e97af5f8160fc218d843a5aa8343be44e7e7280b506da9a7b897375191482c2f298be2f57aaabe07f594bdff939eaed272e72a04b1497983d6e0d68d3f5fb3c3aaa5fd8f55d2f44303bc53ef1b81b22181e3e85f82764b7741bc82d1aafeafc50b75944a38966b48a2f05772d8ed02a7c374118f3e6e5b8f45b6233c8335e1b2b810220256f318301a0af520873603a274272ec39531e86eed2d448269d552fbd49bc485a6f1e8d948a0aea1487cd7521a272839953b7850781af2a26870ba08dc327533f06405972f9abc7f1b3a972747151a9b55874fcda4217f4aea3c2cc0a70cdb9d6700fb2d31dcda5e687857da22e2913070a2d04bf73dd32e6c7a1ded85242ae7cc49bcdcf51015172fd564eb24072b61d3b5cdda77a566c97eda645134b01c4522407d2ca37e7f845d855efc92472ad90bdfa80be96943c98d2826a25b2afa6edf500a53c73dff0a12a444bc4e95cec7a8f1f6b5a637a6f335a8ea2f23c5c9e62af2dad5c5ae2cc33cb8093b69672d27b815e52de27da36a623c5f1d143de9b1518bd7b2f3718e20249cd1f596872dc62542b531171384956a4de7c7b89714108102311dacbc8ab040c03a31dcc669f5534840260b0954dded631b2f6cfef04a2c89b967bf4bcfed5c7f1a3c5800d4c541318a624fe6153251b7b62d9302befe3df50e341fd0c34defc06a85e846b33bd09dd005a5b670b63087e61635e3366af12e0d7533ed212a0b34eabc95a3ed52c2722baff0beb5697de356761fd62dbf77c3627b8e70ab99ca3f7bd2f6a2e11f4c0c2a1ae027681158cd1dcaf92f8a1e82c50ba31f9ba9d7e9bd2571df172de8ade39fe1526e3810c521548220ab01d6957056fbe2e05ebcb34ea55fe101ca1a6f6d3a75d7053111bbcb061058dfbcc658a9238674db223bccfc22949d072bca2df1165fbe49d184a2c6964dde61594ea0e14ec06d54487a33e2c84ad442c1b86d9618da21731345e3ce83523b71b6405546110145510cc97e0b86385d47219c0633a781d597f2cd1e687438cf3faa07e68a45d02b80ee8a85d6a6238a91de78fb3dd3ec3656c7512f34bba2e53ece9cdabe5d6b981cd21b3d2e1d7467a7219910703d25bd7d676fe04419e3e709f171c19db700f9a9f66d3c716ef842049a08a41f4b79303e2274479e6c7c359e382a86a8d04160891af89ace3851b1244abcf5a808d516653adf111e3879c7a9b2bd56f9b85cbf8c0e1335844e491d5723bc11aeeb9cd244af8171188f06d5bee86f7ce8eda42602992743ee3cc131c14bfe860de7b2a56d25648b6edf811d275a446ce3e08d37d15f6fc6889503036727665d23cee5321791e593be75a54243dd9ab5276dbefb4207c2acf6914139272f00259ecea887e198bc305d259fba3f7af65cba92b23fd6ca328f7af009cdd72566be955a1d265378e1b84c881b0864e3d5de846575b722393349c5e520db0331946b0886e2c49b0e76a229c7d65c67468203a48a7242942e6d32d097aaa1d11d8a2dedd3ce1b186484919266528be95ea2877298ee05caf8c8963250fb44372ccc82750633927805f7a03155cf0dea4cb78c2f27ff07494def0a5269aa0c272afdfece4b67af39d8485f94b7059be39cfaa723237e27048d6532142969daa72f1da9a7087c657a70c2dbb8d8fac791ff990ed282cc8667ea169c2638032f272529b70d0100ecd3010d8a5fa2d2512c2a85775776800cfc08fdffd71d734f17173e6e49d363968a4c328bebf1f860a7fdef9cdc4ee04ac8017ea530c3d38fa72bd6fdc5df0eb0ddfb93830ac7383cf3dde0b2aada45e87e634e6fb5466e2847279beaf2ee1b1a958b4c4f0fc2759960a347e9b932473eba2b17e83103d34ce72fb7e231613e88d8739c203d7a324f97b0070dca08310f68354d8cc30dafc7e19ba14ee10f9e2e17d624022046d18a57fc6cd5c33258c2e5c5edc8ace749a044286444228376062ae52d116f9a556497ca73e5142ab25e0680acccc952e310b6d5637aafde10c92a9baecf44354cd786d524cba67f7971c4e21920ea4a9298772af7e015a5a50f8babdb52250c55d2682a3d52cdac5ff1e84042eea2fa22aef72910173795c18981ff15f37e72235a2ed8e88e4a11e2efc06da6d910da0ebd4614e08343104c4e995291f4296d7cf650932308658ea44a54ef46db8cc269f73728b4f0d0efa4f19866846e5cbfbcd62fd09d177ddcfea519ec260f98f1ac628133c915e0f6ebc9dc6e4322fd790ade9dd4c243892e10afbd097fb4d95b685f27247c470d29a29bd31587ae46110a4ed40069b250e3c7db1701fe7ee075067d9727e42b20765a4347f4817be029433277a577ac25dc34542ae5bf8eecc09f634729e6ca108fe1bfa555272c8a3e62e8f5b87246bfdcd6ed75eb3551a14d80a12726ab1ae7f8076a0252c70392d4689baaf07caa9641552471d5bd62fc94a02ae18093b27c4778f7483bc8998a050b1e4f38334836efd74a733b9b2256d4400fc22d8b5ae6c0ef8ab6773151a877486b547e446e184f4ce6da729ea1eb5aed6c65a2e2c3b7e7af31315048b7e1484df96f6a25367ff14f58619a95851b28b581c0d93ec02de8b765148a4ba365628915d6e5ad96fd0b9a822b13a709e6b4f25ee72bb4eff1ad7011d8869ce7aec048cd77bc09f85619352ff45bf636915993cd1729c5a5d8cc9148aa93286252df52c6d436ada6494cc37e4f95e8ef1fb2085f01526145d0266742a596b8e0200460e6f3af043c5b6ee71bc731cde101a6862900889af54f2f6f09e0d7c91faaf5bc317bf2def7718b1213db2b6482837cdfa0172dcfcae53b55e8990b306a261b8cafa5335ffb5170fbd100141a966e1492c83721a1a7b3a388506c51d4a663c903698c9b96a56ba9d9b160571b1c0a2d5f6ae72c60ab03fc1ce2eb21439513e0a937b543174c1ce28f2f0d7412cbf13ed9730729d57afbcb7047bb20010f6bb5201fabd19c8799186e334cbb275babe5b60cc461f810b007e9cadf039df1514b4fb6455ecdcb44bbf19dc7e849ee4bcd499d17238648707fa39d29ae55da45a8d9113bd4988a3bd8b8650a6315f9ae77f3f957238217aa8b768a70621a284bcaf5b51b0368c460dc8eb2dc0e58fcc01d1886372301ddfa1d4b777781aeea1d3be2efa799edf4f145cb90c415f2517cb8186c438906ca97037690d5a51d6cb29497a5391c6a2be1bbb98f367679332b2bc4379291551db153bb2269938657334d5918440f787324a21d04e615b6906503d1b567248e0227a6d71fabc3c7abb9599385686745066c5aec37cce2fb0b9167d169c500cac095399cbc6bd14420e063eea483876d920a06dcd0d6812972196a5f0124ec28c5ba241c37be98bd6c115279ee5ca7cf79d66854e3478a086e9b3cdee3f1050f6b75f46df6d6217d2f05a34316888afdf837e1373cdab8077bd05e1152b72a3c538f40cd976f65e25b8c9ed3aa213119029474fc6c1d6c9bfdd99796d7124d2222310f183f8697b3df6db1487bf7081c6380db57b3bb69a7cee47107f3d72f0179be9feef2fb16b8ef5a7d314a93eaf789ec24e9a625246241179802fd9724f342f28d3971b9c389aa54e7be928daf2851948c289c27ebaf6e1212abd6f72e13f310f924a8d8a8b8ffd2351c3eebf26b5a4ae607585ff3f3e35c26359b15dcea240589538d3d89c77d359d3559d7040374dea61a0faa9c960a6df38dc615350ebbc802315dedcd26b52c1e47629e83aa36909aec6f0526d116d04c8934f721faf56fd82fbda3b3fa87026f1bad9a7404826ab00168fc2b8d783c36587196e2efceaa7b01e3d8522268401940eb4681eb8db205bffc2dba2f87d31a7e39e6b8864ebb102940cf0271681c9685508d81b9c1461f06aa9ca60ef17d69741f07267eba18fcb8de99fb02f486a0fe54fa34ec75739001ee2a34bb51ee2afee0772183f7e9fb4b08f80639404145e6f07c92b4bf2cdba29bbfbd59c4d418024427260da6a723040114d9f77eac5cb41f2c3309404f5840be24adfb9061818fda472add77d2153b1eedbeb4c86839f4b4ec097f5caf357473cbd8d17f37b06ecfb7297778d5cdba021ebdbff29d41ddd7e17ef2da214485ceae74eea642df769d772e8dd77e566ec6d3a5e4a6e6e11964e4746d76930133326ebd32958c3a2dff860d0e7b4dc23776838bfec7e2eed65d397c78c1751779b7482d677406447338b72500cd3876398a08a36fd940ccfe832897bfe3add8130782cbb56d04ef8b47a72d0826034a85759b08f305a2c1bf22ea52777a1dacbe260a3389496e18a921f7219563283b9d6c663437e888d76d752f89c4f3eeaf347f674ad3913adb2117f0eba742b3c464da4508412416f0473f8ad197efb00bdcf60c815b53e7461a075667574b5fe52e9c80481a373ab41d38f13dd50282faaf970e0a60d624b9da53336bb952e4ff2200348d33d530aea82feb277c857eb954536cc97fc32141f6f7e5973fe1e0f5d97f65cb1851247b639d39c6ff18de878cfd958109cbbcec3285e72ad3f0d2356cf8fd57510a22d6c8bd45584eab4bc566b418599ac461ae75d275028db54cbcb9cbef1c00257e336290ebb132a9e6a2fb374bb2468591d6d24c072442e87c3138910533fc1406e47d5a2ed12aa3b5deaa62c48057cc979ea5d04182478631f4e9162cadc3009dbc8d062c8cee2741b013c65aa19da10e06571dc2b247a3677cb217bab523c4ddb1e8c3b597c097598175b93139c37391758b2ed364c98316f459d5c858c3fed2f9f9da98b8858f4de16f7cff21e963bd37611b3355decb6080a7699076df07c87280b876979cf8f364c40217b2c4d3101c33c3e25216afa602b7c6700179934130edb7534e9e88777f62e795391626178483a901b9e1d90f40b7094924471a4a4d3dec028e76000c5f42a03f64a6774d2f85a226dc9c83ce14c31f77c42e33a4f3a82df6ef43a7345042e699d53e8fed67923c13f8b946d328f9a08b47a449117e136f5ac39a559b5d31c04a48c836689c77c1772531183b9489c1cd4a3dff8514e03f10763ad53e4acd352c04d5331f7913f68723a818042f94282462c8a301cbe4c3db777acc2a932de13eb88b6e4c8a1df5d564e60edf670f51e9ddf6a1ba81382100ffb61572d9a0368084b90ad6beb97781224218cb63c798276ba2ef5f468ad9bd65951b09dfe7e1b3f48338c28f207310e11c499c045d9cd73e166b19efbd23256cc7bd4ab6333cc834559e5f44a2aab07273c950b6b9513d4ae3ffd34d2a17c061eea354d7bafb4560964e508832add34c6d9520574df3758f49050d4b6b5a2fc76096c6286f4ebf142d7b123ffd3bf28ad1f485d023a80119e55baeb6d3aec91a2ee9571fd50dfadb4efdf0ca9dcf96d6a426bce81dc7cf55de11baff48699243afb68f54b3fb5bbdc0f4b743f481e72de0e3b4e3720e7b10aa659c21e5b6c2e0237dd0645fe80bb152aa6aaa49a283dfc58d35ed07b861edd0a380d9eccc45f29e74098fa0e1d83bf77756b3426f55cd897f45d528e3ac6aad7803dfb63797b58af4f63053e798b765954eab0a40d0a468d42e9b7ffba30fd54ffa210b6b56fe3b1a6eb734bc2b3d64f5e2622b9181a140b899303afce3086fcce873676286e53919ca20e263d6d4553cc4faf24f872d2166e4665386a478fe633ce1fe0b47d16f6ef67528d63f7c061da6fc6161e3241d39d6b80a4603a26b0e49f5b1a764f3a9185b3b9f7e2d2670eee077c895072809a49ed14508358fc2de505ce2574630515c26486a2dcd2ad0c5e4c88128b63f8ed992f74ce2662a10265c42f35cdc57501f4d33d78f5bfd7bee76eeabac04764f1cc60984cd8415fdacbda9f329fdd8d647435e6d78c7e0e46800715a6fe72e933a53b21b40c1413bd9990985418a09852b27e79d443c74f46632931485f6bcc5f1de1f97fae13f6742763502d36b3e16d1d42874002196dcc3864886f415141c4c739e38496cfae112afbb17331bf4c3a6b7dc5e97fe796331037eb726772266047d1ff5c4a59b3d0fa5b921f014b8a1931b87aa1dc8ed47d495ce4da360a6dee530d254356b348688a382800b18c3f778d126c201d407b676a07969b077296b6f93096394b1ba290fa2fa59373f96b8743fe3b4494b30e33ba20498f29637936dcccba0ce63394acd96cb8f14150ab6c6179ae69650ce501d690f0204a72da9937f584435a08a2b2795ba31510839a2f57ffd198439c48d12d51a9bab97228dd385555ade287085ab63645efeeea128b901b58763ec43b4e9ac92f87c472e2d11a87e95d792c207c7afaca30dda26bb2f64ae5a5d3016ffee09bc8af6f7288926866881392a87f715736e74987d26cab4d9519e683013801f61c6aabee26ebf37630c2a0a9774b73e17608f8b07f3fe37be71e712e4a57d4b0878463f172be2ac0f209dd2c4503a7ddf755c9cbf404fff848efd1fe4b3c49ac1ae85d4b7273cb0aff49efc5c1d3797b08126c184ca36859608ee683e21993d13418bcab34101da8083f5893cc52ada23d7e12133a608d2a77d915e90dda86202fe28e9b0e0b7872f18669b9472207388df27fbde2f67eb8209e40f9727d30f7753568005ce253063116536f9d15cdd6dbf7148917e593f2833d2380a3c0b215473363557265fe79c57c6d76bee11c633d55d8cf26d2e759301cd80f7b78a306064f8dfb72f2e5a96e5da7d402418ca101cc27220566c3db1462bc42a1d9d953a108894735267ec940c29bfa1b23f53ac4684075f41859bd5be9772527fb3ec0de32d09536243a2ee832f96dee67bda40f957a5dd12c08960e1f69428e09d50bfea694c73938ebf54a609bb44e186b0fbffc43cc42cbffa931ddaf80b34de671be4e66ba5dc4fddb2ca3a09969bc57e71ea1c15df2eed561370c288d61bb8cec25b80afb60546ee9878849b0bbecd1ed0523973b7b5851ee8833060f7734e20d59a978ea7276eec0c4406add3ccc416c7fe5c85340f118477c380915503a1ef36d8179a02b930a43fbad75028b1bd4ade599a8efc33962c1bd76cd6c719b42a6f6b8373f2fa5b160273b809bd136b0bd045d22d8d83c6fdddd7ca04bd08d792a8bb4efa958974cca077664964b80783c32e3658032b1c6f7eff4363832b1b6c9ba19ded672ec1f23cc57f5f872b995559178381140dbd8f500dd15206e98aff2470d4ef81aeb1b50f123314e8eedd3448b0890aa1bf582891250dbeba0dc217c759e6ae6726f0c6b99862fdbcde75a27a45f862e010cc9a394b1edcfa1dcfc7f160311103388c44625ce4727f6bcd555b332e1427397e6c42fc69d478eb953fffdd1b6001860eb1b9f3e449c4913d027809c6c73e569f3721be822d9223d471610ed427e69960e1afa4046a678876b1892d07bba584a4c4ac55f39d97bdf1d65377ad4c772d4a35f7793310ec0d851c61ba2f627ce962262d03ed40ccb00391671d280c63e6324a61d6ff9738b3fd24c2fc5f094ea439b6f2dfb87e0c4f2821f94fcce9172888abf7b40c339be7f6d4a0fcfdbfd713ca6586b2b4230ec3b17c2ff0702520718b01f40ac9214f53bcec74063124d1f05847acdd3fd1c9a38410724d53f577250dc99b6f214afb37cfaeb7f4af41e068fba1e8e9dd2526c0ab1493f8a6295727fcdeb62c083771d065416d58984c30de03445126278228bd557fef192792709f6fae00202262bbeec3c5c11dde2b31caab1cfdbf50b561ae87ff9f83e6b0613ef4ea7f062ac553fa5f1be1e91019adbad8317928443615b58f999df7e4bb64cb704b0db855f0972eaadf4dac8d8c662bd85a12f6bf2767623fdd032f2476e72ac01d79871aa77c77c47a43c79e41a86c9f1e8c4434ebb58faaff1545a94fa72aafb1bba79c1a9e8bfa422e675e5c2c1edfe767a02f02ffe70b7ca0670b55a72f41cbda0249332f5765c10bc5b7d657b952a1740f7693970d6ce2b2bc6e6232926647e8125c8f7af12e8c0873a1a617eb3b4bc61fab6f67ebddd754b094ab55d31f93b2e3fe5b2750f0cc75723a515061c77bf7763928015d9e3127f5c808943c33a3a7ca1726b48f55cb49f083ef0fe17536bd86a10ad41c05ea2ed31e63072ecc81923f94960d9e1a7b1ec58b45341e053c218839aeabc7c0e69a7301e842d4d76f1c2e352c4e49c0c1f33dc9da61260e21045d87bb8710f0a061600b937721dc2538c830c159780deb512c4b48a1a371d68bff66e732c8bf664cb1785c97226d2f41a1d7b7e88d0affc85cea886400d1dd8015b5cfe1757b7c02ab3d21c2334beb142a8bfbd54969d3da71bb17a4a949c9bf742f54a197941cc10c2cdb572463856e53973ca655f78229d84c3c2b5df7b585fe9fa1510f36adbc87969441361d2d4500d129ad8c5533dd1aa2766cfc0aa019143d8ea648f377c5b572be7036c4b88ecd94197229af12087917681380867643551756c88ee3afe7e4a2c5672dd94ff72fbb02aca7bed1413f14408b8d17e30a8deafeda40aaf9dffb98fa6729b896c27f4de3dc3fba6c40654c97723043b78bb9b70ce5234dadd41eb1b2f16a4650143d1b653bd6e3d0a3514c4c901854a3a7adc2f3b54125e876acc279f724ef5963b8dbcfc4c8e5efd77be1c1edc8c5d78d6ae176c339f1ad47817e5025bc7201a16c79692e95d298654dfa5af821a4de69655b71c9e3e59fbeca9def51f8400abde975a493a47a1528d90b5ae18c9c2f134b4a85d6cae3f1517cd162207486a5a1b73e42dd0cdc2077146c8b0eca5c6153f46799dfe85d457e783bc5144ad2476917d020bae6bf78657f0eabcb23b2a1f4f48b20440e20f56abe944545c186e9e123099772c8e8b0a7c03d34f57313f71faa562b5392f58e21b469f971119a4d249994b4560693872a12d7e3214d49ff84e1859520a63fb5d628a6ad246d5615610bfddd7730ad89637006d455a67ae78fb9df2a49c6dc7cf9188d76c0b39869dabb63c384bd0738578992aeb75a8ee2ec946f2d12941b3c97ced745d72014efc6e85d1f64b84a617cec8afe48604525b0eac764156627c6cc0d6376909b11e1f19b8375f0a712e9d7bb06673333905b118bda7b242adb2c2817e999e72eef7ecc01ddf1f3fed7e278fdd5559dad9f4754cc35304f3936d780bf0a3c160a5161770274372a72dfd9b1979b860586003b61adf20a0d049c590f0b13db12048f7ffcd84b6ff1840543c50facc8eb29eaa5f7ebf5363780abc4d703dcec21ed8c7b94ef85816d6757384138d6663b543b41e6cb8cfd7376b466bbe11045444a692ae371292b4704138925c6f36afe72c9bad9f525ea8a8f3c29afaa9e32072dac74fd753ce8d7b3f228dc463dcbb8c7b8c3978d7f027ced5eaef7e97d03772030c3af9b6a46abcd808880e34c5d61ddeaa02f54b46e1dbbede980eed26bc72dd2ca4f58c4868d2142233d2f6779733e34c3e75d7c016a80cb279c6115172531055f7b0eb2d5f50a7b4b431cf4d9cc3b20fc305b722cf11a410bd0528020f450b7dc89dde724b05e2c73b7fe9d434dd4f21b9ec31f088126c21a21f7ac8637246a1723a1a7980e48139f1e6f6bf11442515d02bd0aa989305351e2ab046d0066620b95b55a08f2276815ecb34af344a9bc29690bf3aed91a374e5b4372d0e72d24ae696209324a0a0e754ecda623991d19c83044c4d4b011f2d9b81a11aa472125e5e0bbb9446a6592b083649336fcfef679a1e7c00cd28c845098d9096543c275b51aefd9b24e75f959da3367cfc6ce9a66a204632f27b17d4b66a40a2456a822641c1bd76b5414fb591f882d7ede9c46603ef36952fe3b0db1ef35bdd241d68cfd75ba1027b84a6b45f92d13422ed40e2063a8540153602598367d6f8e5726d7c65906ef159e436fd92a4a0a2ed05d1f1fa9eaad1e443525bc5ebe8da0b7237ad01fbe83a4b465e8e4797ba0d505d442b8db81eb337768bfb4a62ac84304da37c7b47606a932a3a2faf300423e58167993ab9120c9a9d79eaafd61459417293b8537a901a6fbb2cee05b5ee188b33010a2162ea4d6829bbfbe8626f66ff0ac5c26ca3b0febe97df5d5e3d2137f95da3ddf513bdce7440a43acfbf4487033d62017380f9c5f74fb8b40de31e32aa741213df36659b90e427e3c733858d07727cd89b064d3067c1bf104381246c4c0b2ce5565bc81a21065c36a6884423d3726a0ae2c46d364e6ba73bc1ace5d2ee19d63a4f8b8c0466df495bd6eb49e68c7200e442c562b9b96ebc41aeae1898b08e271145c3ce47de1abd48e940fce5cc72c85a320b1be91a35d07b39d8c477b572d23601d6294d2ef69b2dc73a0ae8bb724871969ee6a600a67f91153203ad931bf3662fa8802566fb6a06df48805965725c7b99f7b0ed248a16f1038d101f86f4516bbc56b3052b9ce73f19f732c8721d0f1a6917c13404c78055d45b44dbdc9f64347e011a7ff0a19daea8ae0905aa5d4d711fab1c781af0bb62c5c4eab09713f143dec67e386ce8d37dda75d940c472999e7b0f4152b19244f31d78fa0f96c74ab7bb94693a663d5e3b4e581f87a07215b9b77c93e3dcdb366e319c9c4194fe70ecb1df0bb75b461cec35492287ac64b0ee70fb214aa4fc1a859671dbf0d34bc87303706ea99dd8172054bc5bc80662e54bfb41a4160aca30f6380b1dee0844c45890a81afb1506df037906c10656724a8e141780f5ce97e906684de333b4a53ad0d3aca27bb5b5a973dfbfadb857722147f1d5fc74802221c9ab234ca162d52c3b0b1532eb345ff6d9560a858d6b497eda8a15ebfed0225aacf0b1b750bc468ae36a6f6a062352b046025068259f7292770d362e229301ddfff9e15c6c1327ccde3efcd0fe23d393de6035f94873455e499ac82840130f7c8c57be1f6d3b47da0cf73441d2f1160ec0f0a0e7d147357ea54ea42397815f56167ae7dd2d4cefd5cf94f653f2eb2f6414d2d7e41de972b28a4a658313126faeaa8505627a3c60ec3a5b08c01aa9c7a86fb6d526e41b725be0a8ffe88e5de5b60060e918d4c9983c34bf25add4553ef665f07cc9034272b5ddb2f140bb736a0f2e581af2cff2d5c87034fb2f56165327f4279af31b2e3289b54a02cfd3a90f71d01a44ae449e2bdecdac68a9851dad1ee5747033cf2972f1d55f858ffac7ebf2563c5a36edf84b2e51f36c2a5efbae2c16300af1ee23729240384420afa095b18ca2fb3454f71852135b9f15c87f1d1ec6c9abf0d06b47f4d43d3a1416f705f877757f826f10e0fd83b9eb2f290e08e84c7c8cfaeb87414995e4f506cbed1fcd67ca2898a042f17c13d7b49fa80e42e70a6062610baf5dd680597a0e1f2013be3df51945ab2a63c181aa11558986184af6dc4f66c04d2b953d92cdf3d275be28f84183c81c0222e71fe19f63c46d78a46da9a64a4633721996a5c244485d583e45191b39b28b2c4f175eafa719c2da1a5d7784455e7a4253928a37a129008213477892974417abee057af03fb158fc4d7b41070c690172f903cfb835d687197d16bdc7b0fa093b7864fa151e36658350699185f69ab572681c3fd262367f05eaf98b75140a9eb91cdc62a63e36a5b8cdb0e641015c2c726b35cd4a26421b973e8d3020f81ee44d7e55d9468c6459311258b208217547727bdf5c61d6ed4fd6d6e5ed700d7e1fc7e89b05ba038f0640c10f3c4f5622af7222d2fc42514ec5a833bd1d218055c6c1ada41a202bb5224190fb14e94fe58972920615ff1c36d5a96e78c80a213d88f37d8129df8d23018fbbbc4e5c4cb35a72c1d09d5f7b85d4c3a5ad5e145fd6bd8b21905ae10f3c353abbcfe268e1b66f72ee37cbc51a653eaa943372fa0d25477d4a51f1d277e9333b46096f1a9fc77b726e69bf235d91cdae59f873265bf066b60a1f3326bab8e5fa52e7d5e49c63337211076f3244973dec3a8d1210538ae4ea5171b17c962c9b3abd0af668547b83726e7c9a3a162875b1e5605a16a06afe2043889e64af075282dfc7cde9aea79872d3b653526e847a2f046ddd95a3f646f25a5d81ce57b4de62ebd42ab7d29a527278d41b680487febb76c978754201488007273fc56b66c9fbb4fdd83389f52872b096c0e19ce992f73a8e2631dbd48546b5dda9372fcbaee2f3aa0a6388df342db83a42a4c0f43d3a1c0049be049cdf8f3ecc27341c07245bf687a46b3be4e272432ab5d6e96f65765bc92fb07f3fcdd337c956381d8ec59f74786a5e8a579f67508c4c74318f96aa98992dde55d3590cbda1ccc5f9d6db653fe219fa12737e262157bdf2587b9500ab34d1cb7dbfb324a6695507ab7d58e4ec58e901cfdf877298015ba92aada7bded5bd22dfc698a059a49ac6c8524ad830cf972f4dd925a720bc37322dfc7137af65d66b406e162d14aee9d076854863d7a6777a7b6fb3e0e165d38ff03f053c58ed0ac9624938058bdc1a92d856bf11908d7ea14c8ed7b723277307398edf1e8c47593817363445e9c50513bee28aa5d26083a8991acdf725a40b9f0d20306e714475ac065af4b60323705eb95d05d1dd307e47faa5e1a72414ffc4157a8ca45bba28f463c4256fe6784588aeef1b12096344b9f0979fe16fa54b01fd1661f38f4935077eb878cb5efe57a03febfcda17f370945d6c133727b9fb343cd0f520e0d4cc38762be317101345f0b02d2e9b7674880868152340239819222069ccf6b15969fccd65e069e93773c1a21c582b8f14a431d80402d70b3d73720d6996faffd41d4d4e9c9e2724632719d3e2e6a18eb4d5d61150b367274ca9b2a973d2a390472c68dea981ea79ed9eaafb07f6c1eb60bb226e572d67202f4b74bc8381a7b48b0b6e4b770d2ac7414fa86c7a0edd96cb093884f08d2722691cd90e35fdcd8c062de1361ac6d5187465be0b3a27add423ca8ed6e507866531fbf6a20e45136edcafc89f427ceb3024decc3709c7cada86310a501f3e272c61b2c65c2f870e880e7e132a12f31ae61a62b4413f2cc1d93db02cddeb6d3724abc44c7158db7f30940571ac21e06122e57a4cfb9861a3e91029482f0edc0722ce6b834bc12d4968d7756cee5cdb113387cf763a993a25bbb46e18fe5063e0564789c3acdb967a8d8d0333af30102f10fc7ec873bb677933772174df66d8e7272fd0424c314f864308a79cbb53272d56aa504269df22bf792ba37624d5b165de64e11e457456915742a5615b45b0ca89f6421bb0478a4c97d0c499ce8f864725a8a5c42b3ddbf6abacc3edf687d31951de8a24e327f6562e8bf5188eaf05e72e1e9db08c11277f296a8476d5142411a4f96d4002ac5904f8319525af75efe44eb75fb1d871c242a61d9173824a9916bc9b89b5541b4f98a48a42dd3ab9f0272245c688b515cde3f865c22576d18481cb3d112873842761f84b6a86592b67772dc3952fc2d33d046fca2fc5fe2e23f40534e2ccd01dc6afa22193e55d5fbfc4047d02f523b1dfdd6748515f0203ffa3b1f5115762eefe235ca50fc1111a49f7277c3bfef179f18085c3fbfb7aa3fcca14dafd8d8452a62c9ff625ea1df90b9723bd9bb8129991dfa1d658d0fc1089e860a5d094be529abe362dbae8564af627281e928213ef3de38a6d2efd83df8d2840e392237fe3a05f706ae674312095756deeda923d5d43e10e10062497ce946b6c3062e3a147167cdc0ea37862e4c8a728df1bcb4c47a88192d24e4ba04fbef524ba1889b2002baf9605f8591a9139272ed711de9d567240518059419cff18a17e5eb1a2dca6da90bf3b8cba19ac85d72871b32a1aeb12bda352fe8b1d14e3c582d2e3ea0309ad437121e7a94d1f390721068361295f76ce6e11db231ab6065acf23680d9afa806a826abe157c9c627723984b79af138673e6f747216c6353ab383ff692eb2cb21bea8b64c27d30c8c3076a0de968c00d7510982d07416d4024fec9d23e8532f379fa12303ef3bbebf66bd651a9c2fd75d81a915bba0a2823824d57cc322b09db68e6ca102fff9f77148b694cdc1e7b8b3693cf77dd72c7710fbd5b435a54ca8818ecae7775b4cc6ef723e971830fccf6bf44a61d9647ca1e68355cdbcee351c6d61fdecda238f40a22ac1775e4666a0b91653f00ac96da7cb154fcf633efd358e29213b568775837919bc98c5adfa9437f9baed00fe753368ceaa515a3ffaab0728f65ebda01ac18172a0e8290d9302ef089e738b2bbea973b493634e52f536117308012c0f1f539b72c6b85ec70c9c12f0869236798035e1a5a170df65bc8436045081b4b21e8be572c2031cab20e7a264ccc802e56ac5d1386e2accb9e9f232a1acee2bdc0eec3172021e1d856b4d0577b0ad0ed9811f5a7851dd31b1b405ef6038f5a5fbd9357a72010b6164ef738d0b755a555b50eddc55e13ecc0bd4ed4e9caef2aa5820a6a3414db079c273d44656cb3990dfd8a56772054828e6049ed537c7aa9c8aaf870136b4883e942aa1048bfa8ac63ae1cc73bbd22033499df520f50335ff6d8f072500eb2052b15f8f27335d0008ceb326e6c8dc68b2e645795da44c237141b0e7e22878188dd14847cd50f872d1dee154cdb7d05008c1847ce3b58c185cf62da16a104d53687ab8f60985e9e3ff3815538b6d0bfb2a366fb75f7abee78e58050719729fcdcf3fa160a65c8db876c9f6805679565a4fda1babb44f678b7e04c5348f72ef6784b4a3d9dc6c5fd65efab89ace2e19fe1f63eae604191cb86d958928d572fd07f55248118b5811a3a3d9f88909f8efa040c38c7010daee672d75b3a26172a870ec280ca367eee30f84ceed160ceac47e49f9fb25dd7351f9c17c071fc1583aca97b85ec27663b80f31dc618c9c2d529eecf8366dcb30ea7610659e9828486af0af55e62e7cc0d77bfbc39a44dabcefdc4504ed59b876922e94c247076772ed1e1ec3f846a250c3f8c6ce25e73d11dc5a88686062d2b625f2860bfd6c3072a4addedc539899b7b88281042c40b56485236bb39ce6572a5eae720a56f4ab1786b715e2c4c24f13cfd47cddb291d3adacab8390c97ee8579fcb2de09d7c2138df7d2cac0f1dfbd2f6d4a80f1c41f06cacca5d34eaec74e8782af10d6acaaa53bbd23447500c82fb30f09d296e01b517ff02cd3d40ad530a683e57da188a2c7295ba595591b3f4d8300703266d734cd043856a5ba194962312b0f551ced2d05731bd4ddf04b6b78644bcba4d9870d8a290731ab0f2a4eb83829997eca74f9e720663e57fd21f39e2185e30931ff93eeaa47bc2e1e8226a8a3af51f03a8d5356ba2c77ae16738770c022e22d032cbffec3aa4278f77dba6a3b445adcc2bdd44729cb2a5cb702d7a9d68d8edf63932529617f328ce6738baebd89c786bec7bc10f03b2810883490bc1219fce85027ad71df8bdff78b831553254bc16f51450a1725253ad2cdee96f055353303d8672a0d719611e03641f070b21f866ddd112b461a46c41c16dc8f7e4ed39a450e226de91bf8d44a847bf65780cb3fc33bf05cc1818bd0dfeb2c26b620eca5a9040f8757cb9e5cea9611115e393edf4186f8a0072cd39db7c49b1d107af98ffba02cbd893c6904822e3b4413e213b8d88545ce9726ecceab385cb218b27bb65020aba6bffffbb4f665a5e86eaf53655535129811c840e6f2d221666c7990c1251b02adda2981a057a038446c5a8ec6a9500189372385a49298b93f9b505e9f7b698d485375485bd6a782b5c8aa595cb29dba2ea72f22605434b7de6209eb7c91b0242af33303da9690c2ae074435b03df2818d572037c3d0d8c60e09af0c2df8dbb730dea60c397fdd2070adc180051855f0ae072bd66d8a2122e6f75107007a26df9d39aa3a9bf3744a4fc1db2d56084ee7b5e72ca65ebf4adfc53912f6200992f4c7c804f7f84d1c8af4d6ea672db571fa32b6e824faa00fd2429665fcfae75703efb097a424d30aadcdfd851a297205ff69672be43aaa13a7db96e0c39e942b2e20639338f2fc0f6df6bebd833748281394472cf28f3caf1b4d9eb3f4ce96494efde18356320c4c4e10917ea661d28b602e611744fee2e61d2563dfb94b62ed711e60b19dcef26b97e9a6be7cd04d09e840e72b071f86b5e7df7e43eeea009dbc4b209aa35f743c89e9dacb89b6943043756078b7c1202dde9a9a8be2231c85f7b2f185d00fef4ea580a9a03ce8825dd36f972aa35711049ec3a23793c8f1fc235e49262042f13619cfe9f3299bd729667b06c97ca96cc53b140a313acab86eaae76538e471fb9d2f5d2ced3b357a2a2e96d722bef4fdafadbab1113d1f76ea53bb3d9449cc8e18c0316a5c75b7014744063665f0a269b4e9c5687527adf7f08e1c78c79a9ae6968de3d4485a17e6dcc104721a33e69e460fb8d6cd5a3aaf91b7a057c6467b4b03f38e53b934870747d620d233d8dc336d53c99acfb627e49d000961a73cbfc399bc3fd845baf8fce53f91672184f7284128624e31085020ac6c66a2dc388ddb7c28059bf68eb84614bd4a2728289cf4c210177b2715b80aa7568b450aad5c81f5b797e4d3675295c1d6263119ee98beaaac769dface66e61ed4a2bebd3659ac4101bba31d74cb0d6669b771fef709b4588c530b14567d2d602ed8c7e5d74ba4a0a8bde1ddb5355d2049f4f5826c9a64ab6708f3c842a824f9479f3f5e0a3503abd8604795e87c46789f2726cee3b04dd05e1e920e706c3760c532fea21f29ef0803e3ddd772c02141c0bca72aa009a9d5d2cd711435281c864880eaac682e8839f8dd5db53d11f6c4c1f8e72c345b7529bfe88ca1ba96d34fdf0682acf6a376556325fc4dd5779d4aaa7a955e06fa4380d6349c825e66e4748e34a92c29180df382af082b035b00d82fc9e7285bd74e5b829b343a47023d82313ec94a18dc7b17eab91a6a70389cc956b32683a965b7607ca1036f7dbd43a77d2daea6d082e75b54d1bac1b5843a13c0797724ff330d5f6df2f40d251a283adfdf821bbc37c97bba36c824f4b285ca0353c72e09b1bdb89cb71844ddfc3fb28f057efa3154431428f61e5b21be5cc9b99f272ab0140abea47ae17e09d9add023bb65bd70fc017848dcad3a622b5990b30be72c93e2773027b61e866a489a5a40a34dfbe87671ce9149bb76765a191db44547234fb9df8bedf8679908d0c7134c2303480eaa30a1ac0d2850d7283516855134ec1429fd9787851c05417f9398448afaeeea53c177dbea6483d7a68678d08387239bbf41e53fc6369700dcfe88eaf63c73fe6cf48007ccd8aa590046afbbfbd0d2952742aedbab63d3dc3095d05128c70e1aaf2efa625ec329fd973ed22671272b1c4bb33f81183df3ad822b26f9374c2338728377c09d0d591a5b179b41d3072fc18bdb023875be348409b28082083156eef7d68a86dc78d8526b115ccd0a2720494f2c3e52604579086899550e4cee5a211bac6cd7175bec11086b63d297e72d701cc5ea1b075c17506bdf31edfa38a8dc020474d9cb774f5ad25a81c6de758e8657bd9c2e2ea77b901aef65416b07db84f19adf4dea03ea6bb98a0f6393b1fc61a5f77c59c47f79930ea4661886a3fbb0d60cd16d0b0532ddd02d77026db2dfbec212f85513007efe39263500ff134dff04da8f02f1c0c5a0c3ebb56ee737261eea847d96597fa5c867ca9cd7e1763135fad43eec5369d5bced943556ac4725a86196a3e8f2367426d02169a8d0c320e04433c7c31091e17ed95fb88692c72577ac7e73dcbe57f31d5e48d725e0d10e55c1ea91c492cfa7c627f27fa4fd172ffedbf6012fa53f089ed67179160892f24d35f2e2b6c3e076cf2a8922dee0c0f7dd28c27a0fe11fc8a8606c286b18a023ea16bb8f6b57de7dfa964c822e78172e12772941cf4708f6e2d3397365590fe2d6b9ea26e797f474b792faba251f1270274545ba1612ae623bce58b0380a8457f4f84d94985fda67863066477b6d372153d4671f850faa179d0216cf3ef102bc9d94698ef8ab8536884b71fc89b2b1d8d96b03a20cd19fb65b1b3ac1e1728331bb65a25ed00cc8d0cb83717057c144d76ec12f527583032a98036221e61ffb54f41ca88e3a8b56a736b7a9ebe2de41cd92c06574ed8474e461f58bdf5e383c8879860aff632130d1a9ad20062e97f181701b5f72329bfa162e94dcbb0ee2bcff0e9835b766e24edf81a7b7d1c3dda72ffebcc0c1e5d74ecfa873243542fb3ebadc8ae740f643b08f9bea433fb788772e4f5e554da08e1565a31dafca15f43ab299d9f35e10c7871640f6939a244fc52dcb44f318c6c98478199bd64c39680f42234756d21a68949fe70771293f07034d4a3d4c17a9963225f7eaf33d191e3966a6d5e7416f96ada9a83f70b0b713f726970d77e7d1245e5633a863e89f104494b410297631d37b5fc06cac76d1a3640ee64615869430be1cd8e58418bd9c737f40dcd7032e223c30e88764d76d62372ffb84032f27b2a237252cc12fa2feecacd39d4db886277a365788dd2a1b87872f0df9046d0041fd1124d8365ca6d200fb2336d9591f643422c5e7a20ff908f1421aaa7708cb4f0cb863a1e77735ff191a8db1d66baaa1b2e931ba954333e5b51078ee0f51d1169ede73864a0dc6f4754b3e4546a07dbf74413cae5e7c84ef57272af2cb9b541fe3d2bffc68a6c01b1f9dcee86d095cdf49508ef292df549d41f1371fff56fcf5fecc11178beefed1ff875bb70df18742159aabf069b0629e3720f59adab7d20c9243f6d4d27504cdf5c9e753d35e65e32c525306b2018815a722ec6471cd069e2afdcc3f6516fc43762e01181c7d909623e3e0a3d068d15712596d3db75e98376680e4a976060a230d7eef288fdc85846ad35ce3a6ea61a0172ea23b4f81c793f322b1c20cb0a7d39e5dd6290d2e2f91e1c9ecfd195f7d79c72db35ea9cb65a5a048f08171c0525857123e9d6b2ecb15a328959425473d588724a21dd6e6321c04c273e3f16f23a9eede17bf8af56fdb3da3616937af640f41da3fbb04c1ce5482c046a2d87fcee427bb305e3e07b133005d906a2cac937e472e91eb9ccabdf546fee33e335b803f54fed57598dfc201b996ac72dea5cf22272f88cd3b8fc7856e7db38748323279f701a19465da7707cd04695f10aa3fa5772ed3d4a537f509074412509f573400288c49e00e3f29fcf5c5e2f2f2022f8f94b3fa7d4741010125881919988fe633d52fbbc7265f0ac0d2004061c7f616bd4727a576729f4d4f881cc5f67af8fcb60360c24094f573cd6a3b2a3fec8cb02aa727d802bae434a9351bd73c83bd15e5a2701e944d8b6ab5b72ba9c52c15e1d9017c558b41d5e6182cfb51cde9fe98ccb4b3e9dce85cde0367482bcd56e52ac7372b3930a275050ec5a80566e5bb7714a977283b8edfe0c2f20d0747b259cee6b48cee86fe8a8689566632a5735c94ac888feecc580acabac43eccac2d289adf3235633a1d6149db3c0bb1ecd901937bbfae754ea480e330431b07254565730ab72133993d60713661c85302f2c69fd064db7f29f4d44d0886f55e8f2e97abe7772500a7a705c82fc0d46d64d5ae3229aa8d2aa5adbd7476749b104032c37ef16720d1cfe67949e9603e0a0f0c161d0814ce998c434a96e27746883f7ffbde9f472a5eaecf140a35ca697b60736d18a394b554e74760b82a48a20f632c3eab0197215e836c0582eadc4d6255c089201e65b0a772919e82ef98f49799cd2d6a33a517a65c6fec61453f0d02909a46838b253a9058d04bb990f6cb35fc7bfb9f37872adbe75563e6eb5784e74db22b7282e14f2dab62857113a685cabc4aecc53a65d7617df992eee77dd0bbc05fcd74fe369e222c74a9fc6e515960b6315699ad254137bb2f996483ceab3b86406419bfef4248e2dd1d26b95ad5b73df6cec576a72184bb0ce3bdfae8060d715ae78483f958518b18cd40b81f1773e645c3c3d0e0f1d7115824fbbcdb3aec4a49eaba3b048e36bc747c649b00f0bb52c03c6ddc2235b43cb265920e7daadf83d3c9236759aa3fa429af08979b2682c60eb9f09907260f4aa339240df6b97e375a3d6a9ec893b9193712ef6b4ac0662c4c85479283b9f3b980b25c218c8e30028390aa3c09c4a31194b452fd3ade5ec74a9c686d1277f1b66ecef11a5adc3f41099c22ff509f7617374d741fef038f1055677b4d97208990a704d0d76cdb2fc44ce83381164465c98b9facb23a844c268caaea1055a919c91ea8e55f07b8070c3a8cee1ea2d677e4c7473524b848e9d4bbcb29a1e3584412611da824c791a14868e28ed4b218be7e009e3453dec652bb16e94c3fc26e6de535fb73461ffc73c59ccb5ba12aca17dd76b555c12930b97c29ce9289672a95a31bd0e93d01575aa8be660cf05edada9f6fc597e0fd415304fd06abb1b11d0fd09b5259149a61213f656fd01beebbd6cfbb2b09d6989cd6cd47e38019e7212b224584216a66fe03713bfd24355b750215058bdf128cdefbc125cff461e72b31dbd6f56bd4310093d1c8ae821ab09492f7914040bc39ff6c49ba42f61c4729c81cc4cb912b1a9383656a8c7c2bfc0d4165717c824b440f460478fce8e0072d39717e1d5d793e4aaa31d4cf3788b4f59a4267082c958753ee3a53a7ef3115fd97552f49f31f1542e193629a14854ccedfaebfe2856d1f15f3ab76e0c8cb31dd056ea8df09651a63657d4e04d674bd0807e794bc7a84bb99142bd2ecfdea172eb9897dc918de4984f1741604e3aaa3d9148e386b3b959a283d8e9fff8ffab723bd9e045b24284efe2787af355a10bf1724975267dfea69c54e34afae6735f727d53699e41277e31d0e6b67e311ab53adfeeb8e642aa7ebb0a8d8dfe75393844900319543a8006a962bd226900f696d9986bebe9a5668242924c8649f42d2e24cf2449d6568fe340f56c2d6b36770258fdf659e85ca46d9f88a452e8fd4a0f72d82a744032fec26db1d26ae05cd9adf5b0d89989239bf3876a9d58d9204c2b4e3a84a7e9ee0d9e0c1fe6f64eb869a0055f0a0767ec6c8e58227e3b9ed49fbb07617aef5e747ce03f924cf3f33c37019dac6e03d24601a29fcee9c163569ccb456b238c43e4a282c2ad251b89d4034444daec063d1460bd9d1149e5cb66983a72f28ad68622c18df17a6c2bb7ed1b826c821a8b8d526d24746c8a5e1f166bf5722c8b8214d5351c6e926fd6e5dfdcc16461a61ae7be7e9d25e2cb514e4b35057273b354d11427d15b71a12223e9bb894c302e45d1b7ed1211ada138d76a4b377203095a031786c2930c07fccb12a24dc666576e2f4b9056bd3d687bde24abb4723fcd0dcfbb3fdf3db9b92f8446f425be628f86ab7a967c11d2dd2a6cb1a07d727f6a9cf91a84633c7c56986831d9695577d81c927ebd43631582ba403aa6ac1615853990e8cab020d852f4757fa2b20c75717a0c058b7df9c3650955acb01572fb8e5376708ac783e1b81de330d975a7d8528f98bd430f4859b5ac3853eb763b7ced1ec27ca95bc844147ac816fef4f759a88a35e79a8c31bf829c9dfa655572c9976eeab1f04d45c880bfe3a410be36fcc111eb5ea54e9ed45ba57e5d300146e489168b8222e27ba0653207238eed7ded1ee1007fe0bd02dc8b89828dfe7c72529ea30a6956e6697c343e76cfca44266d684c58519d0432dd5f453f9b9a4472b35d825c360eed0a9df5fed1bb2d3c8b2afba74f9c65d9b95510994383b4c71ca33d844c4f0a3d7d1d417640eee9846472ee3fb4d2612568eac4fa2041ac0f72a3bcda3fa722b2ce3c2eb4bfafc151d47fc7f40f8b808d3c2fdd839408bb3116a0178cbe3dceaca4f453b1d80e10723d9f3dde3ffebc1ee5bee48cd9f423d8540211df292281b9089e0476ac240978eed3000e5d237601eb6733ea412cb93b72ce1f2907220303569e9ee22e15d68e708a5d591a11922810e25cee5d1e15857255122006ec360869b5ac26837a4100f01de6d4cf1cbd3975858fcc2a5029cf1b3606d2a1d87dcf81bfb0a4891000d06ae3702b7bd9a8a9854f0013582af86f19f09f7c59380903131c96cac554f36191167c3092b71fd43c505009268e6c280a467823694cdf391c5630450dc448433f338fd14e63d7c8e00b835e8896139172b1f06126416238017e38986d4559108d9ebe49eeee060d2293fb4809d66df469627a4dc3028e6a591a24f9b8b051e2d96f3753e6cf83d5296ef8c7f09cca9a7231ca494198f8e03ba12358b3660ac920b907e4490f40a1530eddee725b75e072410d42a6a6bbf1c63074250fe6b9c2251e8b791298b079060e0f4342f279257283f526e0621934dbd4b05dd8714fd7537cf624acc0a8369fc35d2fa516d99672a36442eeecdf8fd0d9360cdc3c4718bd81309b8be4fb2ac30c92e0a968ae416f3aa31dd49f696d3b549444bb573bb52f98ff6664a6c1b1ef1e2d73cc276e4b72e39be2489686c4022ef4601a5268ede24a240a782dde134f56f9cbb5ce744924aa1ba7815686111040ff874a84c77b1e341b21ce29a633ade18b60fea20164725c0cacb156c111cd5f4521d9df32a1958b650b08eb27058a356c0194b75a1572d9a22addb092887bc01d7bc7a86b08fd4771b5ff52f7d23b54b86e77ba98d85a4174b6e9a9b65c7979ffd0eb18a0a01cec4dcf3a947bb54c543726f146e31c72afec6f27bf258110ff55d9bfe9c786a006ee55ed8d8542dc655d29c198d06f72b874650fe2e5d97c0812750e70e1a886a078261f7f7dffe31f84e93b49dbe00553e3ca517ad87b0205a87d279b7f4615038ecb1129acdca7d0ed5a1802ab6d72f6119edd1f8009d6da4732212471b975d32732c798bb98d605da76723174d072ca6aed0e75ae06a57f8cade83f268eea81ad8e50a105d932c0b8e3ddc60a3c723ad69c3ed6bcaaf36fa8a403d64f6cc38e519e30dd40f952debc7fc15699f57287deb4425c03e8df8152e79a1cebfb80bedb1aec1486215a44f7ae23d56bb94f2b50d54226c6089a730d7b66d0c0c89b9926bb74a6d147873aefd3ad975e9b4517768050b0fd7505b252dc9c8c2f21b4d0015a846b201c73bd80d9a879661a728795522b375622ae03574242dd4eb06865ae8bd282d73eddf6001640bcba1272ada8cd161bbc0787665efe19c1ae847c65bca810542b27376795d35ed93f447252debfff50152faa9fe45996d0a9b31137e80b2f167ac2fd9315176ec26efa722b0c6fabeec8101c66994a1df2fdecb915e4cfa4e9d85576be849a5d1cccdb1131c4447cbf7d1a620e13d7326f4d77558643e22dee1e427863a5fbbcbf6ba716010c35f43b2c6c6bc67c1d33ce6eec1d1171dc192f6c80f9ba2a4226e8f1fa72a5da97703dc1253b38ec5d98912a716fe1d7f592be315e060d8b5d9ef3a16571d9d388b5371b5be8e6bb71de9c48b9a1ec0b3f8460447d5519b1343935e7c372c04d7623961cb842c8ed522e6b5920508bfaeff5e1ba8e53a18e64d7c6931b5d9f7816d9cda594fe7a2efe68863a534d7f743ee3001966235ed43d96481c401222c2438d0918cf0e915bb2ca7e9944af84eff757b2cac3b4141ec239fdef3f22c30c0847b61fa54c88abbcc3eb744b58f8e944fdebedd1e2d30138c7df096a726e109fef03bb5da1c93aafcd8de2ff6e25a7126abdfc87431b74d0e7dbd3d072588b1494fa396396db225631b3ff321bf3ee7adb081ab019f6aba2ddfbceba72add62c51951450edeb63c1a692b7e765cc6839f0c77e6b293b361290bc170d7227dc002d74838eb763287254768ff42a0d16cd9a1090710baa7b618a49051b72304020954a524512a8635f19622e6ce524581ef5472a06ab4ac7e07799663f72ca644a6efdd140996d1ab503c1aa7e9194a0513f29b647e7782baeb974aff97215c71c60d4e23c958da25bac246be51bdcdac9f7af8641c819b56151863de87296b99be35c524a82b5063fa8ca166dec415eeb4cb27964bfa2b1528be34dd972f46f102594b982a822740191dba2131d0a125261d395b05dc95ceef8f460cb3a7457fa257c09067cc9cd4f9885404f4741f2228f1a97244b0fc5247296157b7212b0c5fd2453261839a0de9a8f26845dab2bf7398996a2a033642f3cca968b01375976569e617c6866577526560cfe330f92abd7fe9edbd507df9a189327de72f4e3a6accf58a143251cbaa422653ecaa6a5d9e7dd5b7a2b36161989c52fbb72865a8f05e00c78914d7b1b1ded12fcda63d7afeb4e857fd3a5493ceb900432091e6b76183f6172c01e2211efc0724997b2e2547dc1f7ed8e2af3cfad6803c872929175edefb3b46e91fda122d6d86a53519976026d1c7eb6048dede3be34e438ea09e07788187474b247b23f3db7cf3b03cc611b6e088376ac24eb450ccb0b720cd5f25c7ad422d6bec79ada1a6521659dd3b002689ee02dd27e78c044091e720b755194ab823dd745b7ec358e70153868f88c39ef59520bc86ba1a6a8316c21a04aef3c5f95528b70e44d9587cb227333286514825aef8747eca76bd8d7a5420acb75e971bfa12ec41778d449bd2d4f0a722289f7c69f447fbbd9eb7afbe70cbbdfe481a15748df80f27e459131a3e52a534e6f5a26f8b291c2d01e9d255f724f97cee138015302ccbb8a61ced3d67454c48ffe2f8453dd3f73a271c76d7872a5696c3fb609fce67294c3d4038ded50aa61c679232161529a0dac0845ef3372cfde26f3e41c9260e55915530fe0fa312fe2a5bc40d958870aaae447c9b7a050a768594a79f0bba3e353936f8170286e8572a5499c79fe2e6adcbe1e690811067123c7ff22ca2bbe929f1d1ea27b1a1ea90095a873058f46f8bee8cef9dddd72b70ed5e34a544b59c99d568f6c98d853dc1d207c2c2df32260d7977ac8bb0372aeb07018e7e9d9d6d4cd159af7c6c4b990f51a356aa605d5ee5c31a1832dce72969b75de4c710df879eb725f7024941b9efd31f01a8bd3a53a88a1b1e87fe21d19ce35f30e2cfce4d05041efcae45d32fd2c0e37758884fdcd0d43212bd70472b4b8dcee2b8ce74b85631b468773c28a297297566ca60716764a1c7efa1d447240f2f259aa804ff6d8ed81fac7ad98d4c02aa9214ba7cd0baf7764e85c2e6016d0d3b0158f62dc3276c37d7a409f586aaa9169c43572ab78e96dc1ade4701a5a370bf9c11890f507c3f0a3f75e70388fa5bcf03d07e474974ca65750eca88c72ca01579b8a1a3c5871a73708ec911a8963fd76fb27cb3ff36a7a4201a48ff22f12612b3829393b72df8376d356c900a01c5dbf867834bb04398c0ff110efec08f6a52b4dffa6eb2f177f5daeb9c500ae8d8c0d9062d5dc7c91206f41e6f288723dd0e9689bdbc9c14363d1e37ee150049bd26e767bea2ddd5cb06268191668052fd7ce2a9810309ba71ea91b1f97cd515cef878ea33d14c88a321f22fc809e3e59407842995fe95cf796fce1d21c6bdbb73e24b5b87579567d19b86a83bd3a391b21322e384cd96f463c829fdc6d91ce7eb6d466d1d5712437785316a4a97972e8f0ea63e8b2c235dc4946235f14a23afa7fac1bd92e435c000e94590bc21a141c7c2890ad1ddf76b0c1a8ec48f17f76c56391d1ae25722fe3501a2389d85772961026d6aed9019ff854659ada75a7418fd5512b238f4a4b48d611f9dd09817278d8fce38f25afc92f750960a2455b645ef4ebcde67351dd6e539c0d336d9572527903dae1ae6b34e3a8b50b8506840a94c09948cf22c4071a24e93fe6f21e6094d94bc05a4c6c61e067ba28217346f67f15c4b9f3f28221e896f5a0f0cc2b5b3ce503cd69642746d7e175b4906c3de21c6b8c0fda6ba4d9586778265099a76f0b122ae779fadf09907de2de13b6670330cb5748bcd24984eea32619dd626634217d342a4b4b70b8ecb5be25ef63c2f10e6aeaec9375060dd184b11c1c44b050695a7085472c237a23bc397cb2fede156e72f4c46b52e44151a7b14244b7fe6028f1959ed986e98efd0f1aee84c9bb5497a950305b6fb4abad72b86f174e785ef7f0c2848262d6512f3a05e06bc4031c074531727c7b530ae06cb677c82d4572638000e0a306dc963be70ab0455a10a5011957a24da63bc87975edcee86fc372eafe4e7afed4d1c0799d85e956420c95be48a03c9021a1d7229118d2c49b337282feec35a6fd1e36d5b30f5586a9d0c02f85da908559eda86cf083a66e415e725171fba02a2a3993d8407562a13a1e0665632affd34b1e69b55f5b97b213a96c04e84a6602d5a0e5651ef586ed46c0e3ae6190d06dc0e08217719cdabf592772176cb4c799bd312a1366639d0bd8ff9c3ada4c368369858561613676495a7c72c387d7020726c2fdf118d2d5a0693176fc9a2ac514aa3fef28e1eb979b49d4727aea84d18fb75749c1e40eb452f6b8dceb33192d247d79128b47bf6e31e995504d05188b8fc37ef3577d5323d1199bbe05d797989c669e0ffe02e9ba412b3372e7e7f66d69a3ea131c06930a9e077b9f378d25247098b9c4f766f78507b445725fcc12c636f92d57e7f96302d2d20884cd7a61eed4419a1560b2138e88924d41c7d7c95fc49c11d30cfd3206baa7495ce1ff89c8a88f43dc5a12c07ad3b9f46f2e0d9c345241240a94a2b7eb714db116d0eb34b632790ab27705017dafb71e7294e026693c7ae30e140d3daf47b2b70cb99c62fd20175c4c19401723b270541cc9a5ac42a7e34e504cffef24c8d55efd58cb0155356e7d9caa59561c40d77716ed25d9d708074dd793e168072d8e6b4fd675046d64d3266efb1e553bc3b3cc72ca1c8a0b821346f2a50963f929c4215d5c4211f8eededf21b4e1fffb4c7d0c1fd3c9765c22aadafc0c3a52ed26735f98fd6670556fe25f157cce4e4ca66769724c00c3972cb87cd846f96878b639a2ff96d9b9dde28842fcec755e1e5e6f271828b1f33978a4904f1c313299c8488263d5171c53e34835d71cbc5a000d63e81b1793e6911d101f7de27a4855eb7c5996a84424444178acf2871be80772920708f26f2c31961bd61a495eb4cadebf26583559c387475b6d59644b929ae6751f3b74a10eef97f0d0af81eeba22e0da7e79327ca57676f6e072e170273eff41486da0e978094a88e273a58701a35b5a1afad6aa769896a2f99c812febc734af1572c21aedda1266ffb8d8da64f49e866d76b8d442b27d7967353c99d516eb319e729e046bc42d2397eb031b5fe7bee2c52be3604758ba4ad698dee0f47285d7836673f6c935a34fb97caa2251260c979debe8d960775dac6d1e60cbd8d777ad79538598fc96586f5fb36b49bd80b8ec7793702d687289a7bf7aa0a23c01936dbe70a307c71751e86f078924a25135e22b645c9856ffba3a9e3e0ebcd26874229672d9dba48a83560f3f7995d354999c537c2ed298992226dccc1d87094cb63e4e72ae6f7c80b25f4429bc3656916691f04f3310849fb2df121c5cfead7abe694a0e3b826d896868596fd564d05746c295a88eca07eed7f6be6fcf1ab8b68dfb8872a182bb716547fceacdcc54058a09aeb9d52ff3658e2bd56e210e522456c9f105d7642e1dad763724174df50a653378110928783275d168424f0b68b8f0954872a3a045fed7e281f10ed1ffd64c1c1079f68718d8236d3a804a20fb89a9414e2443f16c6b3b82d1c700c4cd3fe2ef8eaf25420e9de78e8d2ec36e8d3622200738b72ce19744ebc4f6032bb69ec9c2146b1712318226916a1cc6b4247e6104487267ffb7bef7eeaacd459f2328ab673d1fb1b06f5c60de51e22672ccafb63d14264e2ef4dd2390c341b274028617ee709ac0acd3dcc636639604bfed9384dabd72bc87d1fd7722cdd99c8a6b1c1e93b165654acbc54158e1a4e4e6b7af2818f37279046ad9fe7cac3f3c7b381e4371d0e193483bbac67aa94a687b40ba64e42872fa9d9a8de50529d495f3f2a8277de4c311ea159952dabd3fac9de8352cbacb1251ff8235e193a413232c4ae4dd861dcb2400dff247fdc9327d9a7487d9cb0e70ab536cf31235316156423db14635af7bf7cb52e4bcba3faae284ad28d6467c6e87f1c873ebde618da78bd3431c8c0faaec681ecec13d3dee45dd791f48d55772fd603c340316249633da194f24758f549e30f376798b1f441f8a9ce7fb0e2119b0816d1cf2cba50ff383e46f62e8a9b8040e599abb3bea6866fd21208d051e722512f30cfb5ac8f5d7bc68d8db7f0c580691a3108b6f4bcc536b893afbb3ec72d8bb6ed4309a68635dff02b4cf11b6d06e10550d8a728564b9adeb8313c14a723b8a29e41f1cbe9b4d25492c3e4099a3cdd59836000f82e53a92c8346808a97245208ff5694385aa0884bf5f390825836ffe25fef8102922b43af67204a925724a08435ac3441c8a296ee2bc5c2b8e716a75171843ac6a2847a7676e8ef73725db9a56c13cc8c316f5e9e3f16c155ab303dd10ffead0407af8fd3b9a2d4bbd052a3d201031a88d9fcb37d53d40b22565b248b4462b9103ee22d1d683a7ce13720ff6bd5b4ce6146b8d402020c1bba6f712257313d682eb27c26227ce1d490d3c4f56905219adea7115a9b99724fe52ab81d6f743eab9abb56373b88765cdd64f7c2bbb1052be908594d2f0145572441b7a9f54e0dd35391b2b7f5745e67dc472752d1dbd51a60ce2c06767344f2126ab20fe51248751a9c3812495d76ce2ce72719b2a9d45eee4ca81745457fdbaeb2be9af73598d95ed63b6179a89179ac365970b41422047e35e1e01d5f9becf259c28b1b992bccbe41a037a7048c65a863dc4683a040439299971ffc0996999f8d534b2227eeb6b2893d2b2ace9fd64e472d0be22a2878db71634a5eca080ae89d17415542b43082890f48f0c92c26a860cd7316072e02c0476516e86d0054e12800d702f58d6649862be68ff1d89a6b272e492013a2e3391540d36a9b7d0b909ecdb3d6c2ade040d39bc35ce992d204c72e8c1a1bcdf1f8d3ff295bb9c5f42a1c8299ca20c75bef7f2241b20de3bb7a569526d5ab3aff358de9889b0ec8802ff240c286e5b0fea17562e7e533e8bdebc729494475bfd06b654ac0e6be161a38ab501768e60bd97106a35d2274279a7ff72be7edd321dceec8ee40bf36502d82816e6f508ac797fc26485587b2743b726729c22e7f4fbc84857ddba77ba0eef2bb18f1f1f1e5a7bdd26def05942f0813a321615b3a73edf7d3bfd78dc0b4df04aab88f3ac693542ad9726eb769841335272b59da52e702479e447b06d2f80723527d5e276dd508f53c7a7466bc757da5b03064c7ad1922c0b7c59c878896a2158303dc17a04d0ba8d0cfec59eec3b88053c466973ac5c4745ce7970a9b920fc42146c70c5ecdee720f82ddceea346525e72faacb47b7a0608555430676d7cc22102231d5124d838d45c6fe833ce4f78e069b90fd2ccc5912da6210a125ec1bcaa059796ed5898e017acbcce193de6df5d1a767a9eb1af226e0d863821142eb472532ef727a007d0569118108ba409c9d972a9a0be929b8473b9db4b87e4d754cb0121e9f2dd487fe708b64b39458bbe2e72aea8ea6a6c9b92d3dd30832186777cbf8d2d61cb80d6f2f07a052d9f76be087209e78e48d39ffe3145a193b3c33258322b425307acc185c099b3030378d8467244fa20e2d33723b1caaebaefdcdfa87e1a4651afb212726486cb9b153448de191831e76d1e4adcecaa77668b2b687f0503bfe3dab00f79bb224c723706ddfb4d662727d32227aa396b0a5defffe3c2965951b195de471daaddbfb0fc79bc6572c3591d988350d5e7dd0d8accb23b2c21bc35cf66da2955b259152f0548252a72fed3c2e9b0182539f34d28933e88c01ca4e680cb3be7378462348d53dfe0df7281db1f2e22478f86af6ba797d50da24dad0a61c950e761a8ae761c28057f67000ce693135167c8783c2d2a105e57a2e20c018c008bd6d4ece3cb7c1a090844234f87a761cd144373deb2aa621e586e77ae0e5146ecad6c125ed9c9c4b6353844cf701d3d95271e99e13b82e084c776867b82516bdf6b4e819cdfd2c7ba3f2b729d09c2832c90a54ffa8443eadcf9c853e0c3c8f953b00cb2b20e862b4149dd54e541141ed628a498d9833aa8453480d36787581f81a52d02b23424c32e3090309e800177442d1d31f519807d5b2e11ffba530c6620945b73f3f216f08bec4072dd403550466836eb484d9b08d96e10a97ca30c7dd1c28f60566a1fcb80d00e72249fc72c6b18a4b7419170fe1ba64ab7394a2c7ec0b25ba345eaf5254cdd3472d60a31a61825dbcc93324470e89e9e11b6a5483ca8fefe47e80b662691b97c6bbacfc9d8a2cdef64469f79d5a8fc04f1bc3c8b7e2a23cdb22969cf5bd55b91721485e48266fb6b08c950ebc49b01710cb4b5e95fe3f4c8863fecc97b32de1072962453f22e01c8b60de7bd6fba90f150215e01ff521203735723f3615c4eff72c835117913c42aa03a4a33c1d7e5466ef030d0370a48ed55c2c46d9b0c3efa72ceea2cf73afc83816aa24a3aac4fa3c27e8ca0c8ddbab7b7dd1c5525fdc508618b0bf2f9480c86042a980df0c7246103b661682c668017a5b8b950182ccf9f72f0e653f5115a0c87ef352db8cf21ff01c39f1220c26d550c3bff48a4af1cce5e54ed673c02da98fa97d9727e2fa217f78947f0c9775573d91c9318ae281b5f72a2127ab66b6fd99033dc069cbdf7bbc4647dab5cc3b81f4fc03e464e96a10172206a6d580dd19b9ecb320c8b9e1071340cb0528ccd9963bc7bb4b794bd85fd7245b15f6cc576891ea36af0f329813ee2710380d71b804082980b63e627d587407954cc5a0d8420d58432d719f7c01703d833fdfe7900a7c6aeb76e6f6dc07172d23d219fd9049163888e03acf685926e76620e94620b94dae3442d2a7a2b892d68cd8ea06f0a70838cc21f5a8dcb2a38ba4864806afdc1611ea0ceb9a7b38366d3211f005bc6092148d7282f96bf35e3acbfdc1c23e47bfebc1d50c27910cd149be3884b53c7c8e83cbaf2b11b6c739ef3b4f5786f37fd62f2fe5fa6009f27723190e2f5f93c454b17873e8df6c5dbc3df40bd9b482e0f7852fe0d22ff1e03726f552e3f41b4dbc24ee8bf5fa4bd2bafc2f81b70a722dd011e03adca60fb7d728d246599486add62062cdaa51d394625b6b54d9d8cc3913b5861a62e17901272cd29b657b83bac1bcd42ce9ceb553f862f29f14e17b2b07f8ca3a2ca5c262472b82af28f47e730762e54255270cb6608462140e4f52d5d61d3acf3a08f3416358abcec3ae4e730196d339d24d2dc32692fe09a67d3ce50cf87a125bb4212db727bbaba56d098ab86f21bd96fe563eb5a46f093caa9a53be0098b6b67b7ff447216a26af84d636d05b68e0c645898e5267a78ee80b94bb2315f61cddc0fed745f82b63b203e72611d023b84593d7683edff0568da4eceb2c2e6663e0eb5c10872b45770d59ec740162dd2b6895ce3745d71fa61e0cc55869654fe67ee1df57572064ca61177ef9afab45c6c520928fff18f1328b4c7f4057bb0386b7165cb642c6bf6031f0acc2ca1e219de6cee76f2d2aa6135d70aa76deb6a0a3dc0a09f144a158869851f58ab3b23d42b05f99a9e6968ced459d2978498ecb4eb97706fb14bb315940f0c064c33aa1edb49e5363606d583f14fbb1c024e3f5d0cf056f20237110c814e673c7ec1117cff82529a136bdf801afd76406473c1810852be0aab3afd499f8421f1e465b586a79b02542ddb55dc066d3c6b120146f93ae694eeb2175a97b3d7ab8c0f187b98f85bf89dea464d28774377051726adb29d023c496a72842fc25c0157c7a18ec4f1641b4e1fd1da029992fc603f5850d6d58f64864572e638cc2368c1d04e59846f089c3678f50c1d88faef09cd612244ccd1eb6ce072cae4d456bfad692ea66c4765003d4a395200477a3e39799326b6268254f0f072810ec30450050984c8cf890c013d563815edbdb67a3516b97a05d215aa83d8725205af599cb37d2218c12dbc888046b580be2fdbc16e11ecf2bef202a9cc853564a3dd6a5459b4fc7029c17926ee757b87d15746e49c94e9b5635e6d94f4896b9a02ea67e4cd6e785008b80cbd3fe056ca1d03dd85b7d529d1ca67851521c2726f759036b883c5322f17e718675693dbfddc50a6175e7ba5431ab803120abe2978cd900e5915b95cc6cf3fb75de25feb89c5e3379e6d87694bd6707bbfe01e72f4b791c25731d79012d36549a13f3d445875f1b27802aee211200f0e9c514f0087bb1aff6433e656f12125aba7dfb81947eef43169b07d4a97c6600ae14e1672afb58bedbe6621ebae5dff8ee8a71d45be901272a2003373724f4e0c2976c6727416f38279d4d42aa1fc9f2c21941dbea0b3c4d3bfb3088fa98bea2c291e093b27d5fb04b677156b303288550870e86b8d5b67be7e13d699872fe63193710a725542daad9ad4651ead893c76b9921562b1c4ca589236f189506ecd7446548272dc4f6f845dc171135c9fe617a5ce218b4c428dca95d9ec720d035468a272e93ab00f9a4eac6797f5c987a0c36798f443074ffaa8405ac05fad292da4d4c94372840e04b2246450475ceaf1fb6e3faadc1d33bb9cd7476f24cd6919c1977f54722fd79a3a01986bb48f21ee9289e378a8106121c69058aeb491cd7eaae8aaab72412d12bf4a51c2148a1ef9f8e3ec5de6feb479a81bffd0c42c464b781b030560ba75a45513ff4f13e820df2c7dbc105b09fa471dfefee1622773049d8359197236f02361eb89ff2211cd0615f5cfc1853b9d50bb20ddb20b0c749fc25e0d5972e10e347e86dc83daf49c9296ee81831af0060688ec2dadaae55bea20a461c872d0522ab63b2034d811569393c15b5692bdf05909efdf1ca3ee20a3c455274472063ffbb17434401263618cbd967027e0777e47db796d63e3efad4a7dc4a18b086a219b26b4d06b9af27764d8652ec98b2d715fdbf5f3a58ce26554912e507572699355eeb1486bad4c572276f92d8fa8721f9f8bba058970de0edbe7ca5c516fb55e316e8fe8122f254259c37e105c71d4928fc3367dfcbd4d84700f12e27b72014de1c69831aa94ce437fbab84f51f6895598160bfc68249b38f25a239d1921ef8bcdeb4bca5706d932ac5886b2997c738df68c218c7b305ecd6a5c30b82c7219968381724bb8cc260ec0bd72942655449b59d4a6b7e271b2a1bb5aab7915332cbe0eabfd85b4c39cf50c7562655cb06891144ab77debaa9d569371c3aec0728d4ddf5b14fe066a7fcf39327ee8b12bb05940df4f69785b86b6aa43ace46e411e9d64568db50da152d804c957b4f32551fec4a61ddaca30a11f0955dc403672d797a0638e0766a9393d80a576afa9ce876d7af997a8bace2ea82d3ac9ad8c727746e7d6fbd6edf967ea924afca4e231629aa700e45b8742ca62fb78503b547284aaa17c75585614cbc2cf7c98e60e984f544a1a74dd26a20d1466a92b7ad572cfc9a5f049d97b85c892f78c99564cd713468be93ee160d7a260211951642010b07ca8e0d7b6a69cc86a4838cfd24ad509ef80c7221cdc89fa1cb4a966e46729758fdda5a784fc43f183f2cb175068b61d5bbf921bfa726fe8633b8ea554237252a88120d2aece89f93871f086ca160671b5e6a8ecb4346e06bc414c21d9a6728c702bd2a56c193daf61f1e24fdc50dddea2e4931b5356c7a1c7d4b85aa9b70b51504495c232263e4955857a14769d70532932edae748bd8789efaac9e54a80556338314a1d453a43efe89ec58be0e6e0d7d3c2ef08cb11561684a3e5270b372a3e4844fae6d1b7c7d8c350005e4417ef31a773f02f8610e4148441d7b4cb56b9f417ea56fc112fe301933bfd2b1a531833bf7bd9b4bb92af2e380b8a5337972808194a7100f86b429d486a8c9bc1e80bc83611a57882388bc2b4776e9c9447223c2df432d807860b6a12b09974042a24c4b2d3413745b33e7f6add28fdc4e724e0f8824ce71777cce4021e56f64eea1d992859893f353607d9c22d4f7712a72c5473e88204e7e8b1063189a92b9c0b259c2ce6847b277bedd9c5586350f8d72502abf0c05d381016abccce8c9814e3252973ed1a90172f3396357f0d248190f25f2aeeddac84c72e057043c67404c88121f00ab462ab69f65c11d54fde6f272fca0d764f911678a56768cdc129806c02ce322d02793220f654a039a567dcf7228ded8d6c1d4cc9c933748eac9967dfeff97632c8b8e2fd6fc8932b016b00d2507b62aa57d70862bbfd8bfe3f01e25cab18bef29c4995055c1cc594c913c7a0f9ee0bd6e5d5df0e0eb96bc53ca8290c61c4a33190b7e16a7baf65133509ac5635427bb71b24c1fe19bd8dc08397765b384a04de15c1835634787c9281b351b5bffdbbc45e02913c638b521810cb5418fb840dc3fa9ec46f418398d329cb84972b10a8530943573e031f31d597e3ecc4cc76a0a998123a07b914aa74d336b776f61848845a1505497f0ad471edf7a268ed05d3b6769912225c2ed075e3d63ac72de522e4f02e2acde514ed62f7488238d9bf63af87071f219f4f6fba9f530787236b8cc3d4110e32cea00480c7cf6e49506f01230853db0d6f2cfb7d5ac37b472d99114e5a3849011ae6f9240783f015c749eb9cc4109bd1db578e84f8e60902a509102d43175c72af185557e7d1e07abe5f549715f7f98e00699e557b41b04727a076403ce0209b2ad611f67ffbe2fd12de08fb0be6292112e1c432e77f235682bf5b3d4dfd3be32214fe4d954b77a022a241e812b4922d4957f43f0f43e4172119677c4b5bed85f8f5768358cbb2b1f247d83e88caffc49f653842f52f0e6316f442f04a2ec26350f0cffd9e71ef0a22d3e7d22f44cc348d838e9d8f96f2e72874e52a543499e711fad11a68d6f73cb40b6955326cb8df35d64051b1da8c67250e9d2f57e27da79eaf8d6bd450cb3c275e4bc73372f50f41f59714bdd6ca672c1a08b91002f1a25537c1db4254c9ec2f90b35d6f98ffe1cd20ea7ecdc8de0723b3186ced6398ed4ad2debb60c2c7aa6d9071c9f87cdcd3fa30a449aaaf07872a3b770652405a7dcd7029f44a70a28693d21500e721a47de73835c4090acf37269ecfe1a9c8e4d58d92befafd0c28387b9e0dadda4e27ea38d8ab9c99e90a872a65b71c6198b8451d668e0e4e3fb1da7d4f723ffbe0ca3ded1926e12cf6e7b683a47f2d7596e4e27b93393daa597554d9686b9cb57bb9cba35a9abd69b851a324522d515a86120f4a77cd24e7067e1c870cee5c1a77dca346aefecacf3b60164495ccaa1b4da6b4f6b3bf6d9119f96e2c9a06c6a5fcb5a34d29eef31846dac11bf5ac5cc762081ebf57c9e70d235a7299a49caaec7b150860a42d0eeb970715872ddcf3f9b646dc055c5a2223d98ef78a682e9f45e0cd4885de5bdab70f304723bb9b08bf47be8a97f57489388223e2302446cb9a90d8b76990267d9ef9c5c7238797376e4001960f667f90cfba5b0e65e6d126c15fd6fe26b868461cef15572f1989edf8a4330567f16a21833a81b26413dd888a40d49cfea3d9f22c081a5729f7b6d16d7a1fcef33e0758fe3483c35fbb7ce4c3369f94f6546c570101d97090cf229e76405ac974b918a60edce636d97abab42153a8e9f20896d35fc392b72715c7347d8cf111d01e0397dc659f2362930693eb5e3704ba152d37337da30031164b60dadd8d1aa10d275f39bfca0b636e75a613688a33a411199dd56e6db5c4e47fc79a375cfd628d8e9458ab8e96d4d538a185ab86b01f1dff582caab507231167fae9b9a3cc322b13226f959ddbdabc22817af6c9551dc3e2f46cf67a02ca1456a06cff0b9ee63e24391386902b14fba2edeb1201d2497e14b3df171b318fc5b7a1d76c0896a48f7d5ea5287d2dc9d69c67a09878687e604ad6af3d972430fa37e4d4a91df4a9fe6099a773748ab460c2cc6a5bc2f6deeba7244d2471a6b6efbb7955bb762f86afb8ef909a07db8b45582f270b6cae230c4f51e29af5851e1ca76883fd5455c1c96cb56206365e5f754f849a3cced2bb6655c3195eee472e88cd98a2af3e452a1d0e8de153e0cdebac26e72d5be9ef381eec93e5afabc72bac87d48e4064b2a887a9e03707b2332524a8a527d71428fd1698d06cc13d672bae0dd743c8dcffc60f45fa9f60102af541bbb1c6549bf08f9c6961d70837172f3289948333dfe0cde3ac6b3b025d18c2387fd10e2660eebd0b33c78ced72e725c76e3979b7fc4297235640abf2e12182e78edaea5f41edcd5731ab60216e272e901201adb6517a4afa4dee78f980cafc7c5d78566857fb5d531af9a80bcfe729c77807cac1fce07fff6ec6254318be8c27c90a240c573e2383d29e9820ebb335eee3d554f21f3034dac0ccc119e8367eb3e1abf55158ddaf32e04b743667a724f59f27c0f670bb0657b02533fded5044fca8c14eface273a99d933fea62580b8d4d17fd68d1d04d59ce94dca81534e6339dc5ea7b4ae3db5cf37d7b384ff6722d6f0e4bf8e2c1acb50123f29afe48ef4cf669baff32dcf4a35f3134ee6ce672f7622deb3a209934ff83eea456e4f23f8bbe01eeaa952b9f02c50ad1842dbc028b3f1ad5a19808a66a29e6d65e30b7c50a2c2ac4fd46d6a0431d419fa4132b2b0425ee17764afb6de81da5b267205bc87782155a915cfdb4449a328a7bb08272daac3a668d190bf2a7d6f611f630a48a222d173d04dce70e90fadf3194509341c320e3297c5b787d1b4f02760ba7eb7403ea4dbb2a3fd9dcc81c19a92d1ede2804801b6cba0e507587f45dff599334a3ae068462192a0d1d5e4cf77bda3d001f194afc1c528cf514bd226958b18953766793741a5f798d750ddd117c535dac72d5c20d459a1050e3ad2f3678997ed54817773fc27e0e3ea501ae212c1eebbb7253c5b5199cb5982016aea7b4ec961c4292c5f446ab4c7f605a7038c5edb11372027bb1b8b733b59230b500210d0c71b5dca19cbf39bcb50211161101585f3d72bd5815bd5b0c49aa234cd681f4873234f27ca19aa6d65cba8a5d04c42526b8427c4b3ae5cf62e767c64f50804bca6a634bfe62f9e6949246981c4691dcb60e724d51a18a4635f443129392530d56ac25565fa8e63a6556e9ad3fbfe9b7dd5272c6f6aab88377977cd47ba245aaff3d68042838762e9f0816c7e047eb32562c723a14ea1f1c2225d89a4a14635ee44818d5f0e8383fc341d87bc230db7886e9729fc7ffa80b63303b4a7c6a10a85a05a69414aa7685cc4f64c847f4b562047e0e75e8dfaa45010bdc6dfbd7eea001ac18737933441357e4588528e0b64f1eba26db46459b008d2ed3c7b35aeabd1bfad9bce558dd86412aeb779bc7e1e082483f0e5383c948de723b716af795b377ff2e9d0a5bf7e3c26871035cda70684c46606d5d48544213150e24bfaec343946fe2e6c677cf251c09a7b6d1914db41f4803fe1265a25f6771943f4af5bbe818097505bf2928795695ba824ee3ea53939d1db569df8aaf9ef770e4d93ca59a253f1815370ed83693e87ed0e0c6b5d8a7f97245b044e4b22f395da55b4fec24a701441566ad5f641647e76c4ab477c58eb77265290a283c14d9d56f2b094ec6997e7bf33b46c85169ab4afc5ec32120f8c072ee04c02acf4553924535cd89b0bf0e0bdedd28e735a1df964a718d45c1e1dd3d024b22114d778b454f7d0a1bf0f7ee0e3d5e634eafce6a385997a09abeed2468acf3844875c79d16b2ad3c194adab9a29d57c64d253a7b52db170eab61129e18c2589023d7ee99ad4f00329396a3aea76633bd19ec0f3091a150f1e06661ac72f283ea9d3561ec8b85b910b8f6902338a356709af834b4ab77030c7d1e8e1b726d94ddf065129eb7f2b1aaedf5dabfcaa6054307cfdf2ddc5916d42f340ca8702fbf89b5c718c244a6b58dc2716073132907bbbec0770f5a13db6d0155073e723294cf5498e6ac8ebb33ded164d0b58de8a1fe0b8b015f33d67a13c04bd0d22e5e43fbb13db943ef865ec8502700a93c714249ec592557b3d5044e20682f89488def1c9ff2d9199cdcb35504db376648798b29a14b7df7755635470b2dc992728d747827ed3068f2d07ee504a9cf1b75b20bb73bb68edb18e0e617baf03dd472e65766fb00f621e93f6e9a237bb9247bea332b493791cbc961430459fc28112ce95dcbc94937d70cc712d83a28ce6691f4aa7e824f683de329399721e5c8305aba54164672b8bd293ed2f4b12317e1ae8202f2977cb766f1c30bc05f42b4fa47ab9ee883aff1be970ff69e3a8cc1e8ec2b828aa7ca41f3d95b38e0999dd68a4d2cff82c0500b39e53a363f3e28540e5dee085b5257292644120cd9891f1bd5685f49fbb9798b8f2df2ef91706e2de471631ac9d9be551b23ced02d03ed8fa2723818b2a5c616017f65d68a9d67b16b7472915420bbf10d18707946bde8eb75723036360b3143a922ae70777c69b91b1f07849cfa38580a0c3c7b5726141c51725bdcefcca6f62903e8bd367c6feff4fa2e4d2789796c98dd6474162a950c7c724f59e8f2d3d14fb53c2f1569b4bb20dcb6f969ce2abc692cab710022670cd56a801495ff40b3a1fd9b04401bb52df359b889c31a03472c0e3ce9caba048cfc69d806f71792bc35e0db378004eb5370e2316f56d184ca8ad0d1c26b1d8d6a03723d0af6723e76e090eefc438ddcd5b4f2614229a247dbcc8a7e5e00031707987229e15cb871975733bfbe63305f1628f5ec3fbbb5329e29aa26ba40c6d4783924c583a4b58f0cfb45bd9bf5ff0058a0712c15bbd5db831715165ee675386b7a3f61e6d7eedf3a2088bcaae6cc27e518314aa07739068509529fe9ccdf1a77e772ca1805f80f8ae3224884a10fa815572ae019a0f7bfe88e3ddb71aadc09226c72c36629a2991f68669791d7ad47c62cf45c7ee09271a084d5b94d4deda5d89972f7eb48053be41273a906d1767152b33e69e94e0f5a9babdf3db89283c9578272236478b04c41cb7f21aec94d8bc3e9c832ffddf4e83ce4ab33ff3f483b13f472a25f121b54cca9fef498af4066fdcf4dea679632bfc06d33f510c490f1682472cb7fbabd653985dde4ec704774fb8ccb3bc3362aaf788f88383b50a7a3dd34721c6966a5e1493ad34aff0d2acdb584ae571ca2cbdace8fd39eec8d9a4c5337721d59b3cdfaefe8c64e6b7081ddf87690f15c97a307c7c778fed0f0039835b8729c8098a5638375c1a46f17ed9098efadd548d34ff17f17d4ceae2e3a04e0810017d22a7bf77ceac815d229682c01409b5eddc9a49550e013f553c26b1c7ba72c4119f6d2d0411184ef30226419ab1f228343a6d61b981a22206cdf440627b0723c6857ac7e9ebab564396f0fa86f387afee772883d63873b00c654555d406f72746582bf53e201867152c6485ab3181ef5761370e089c3a93d37c410457deb72142cadfa223a143c9f4e19beaeba4d4936442a4645f077569d6a150cf364825d5e88a02e689c658c41396f933f538025bfea54cc837637ad28353f002a5c0f724e4f1d3e815da506fd994e47b1ef1601212919b7b63a0b68b85a25704c09967254f31b5cf6476439311ecd5873c962364edddf7191e383cae3dfa33c88e6ef7219425878103fa12f609468d837c59a03344dc8ed34715de07040d88cc037e028c91a0dc521b42953c4cee9914634681e8168b54fe7e60cd5e03d503abed6fa72804bb599d4308c34ba4c013d54737dd7c34e71a564bcf3df0d38343712285160360e52402564055b634d070d08e7cd7a408d47b4e96b8a0d4017c63dbaf01919d8c73166134ebf237d7bcdbbb6ac115f4b92b3dced7f2b348b0796279a23543f1bbb06019be4290bd2b55b67e9f8d0d0dfb370f6a95f8dfa8557a4ab7bfef9720b700761b845541bfb278148d97bfcde9ee4cad890c3d4319913a2cec9923a72765ae9b383228e9694e48bf83777bc0d5e125bed50c83885923279fa11dc0272e4e7bdaffb5bacd3e62e7072fbe59493e31ebb7721eed5827f4240f01a3e7265b38271eb699cef7c6e83d3860c2ec3e32f4d836becbaec643c38eab1f9fc5c72b61a57a82904ef8117cbac3ce6364a16e7455d48ad3718f288dfc568b3d92a486acd97c79b19d42f2b61b0fd893a8849210899aee57da1abedc6ac86b189547231be230b2b980f041e311cf5f544925032ffce4dca2e9ebc99c2b5c42d6263728b7e3fd8faa91bb77c806dda8cacd9251b70742152cb95a94f19f162e068b472d3010a7f5727e4fbf8bca080c67360775faf3aa4343249ddb7d3e296ca35b672de8d5b21d719be4343ef09a38a7f9968825f64643d7a652792776de555643e722e82ea2c11b84f244ff27d06169b330e68b057d80a8bb38223531318c4a4374060b181e4f1cf389b067d8deb9611e58bc2b3733a410e7e7ee0eda57ad29a04728183972bd5358a030f95d4311949989b68f718450e213dea925c06c72158f372f9d595c6b5305500855da040d51e2668c674f1d83dafc48163a32b204bae8b72a69299c1e8b71a934a01c00aca5543eeb569972bc43f1e393b35e68bb47a0536ed8e60e719594be3f2b0d65ebcf8d1b47d9bca1a97027d6497a945e05e17b272c9a9de5762aa3ee473810fce408553190db21da01b1d548a118b12254934236dc6ab80303f50515e59f188f887ac2f9874374db68d07e40eb14016f0eb4f0172bd92a79c27cbb19642271742678c6be508455db6c414561943fd3970f09181722620d9d992ccb1de004d37a964b7df709d95dfd3098eb9be2daea7baca094d727953032a8dd935b77759c014ef423f55322a9ec4c46a808a9a2c8fffaa00fc724cae716557371131198447cb9a17c744d8946dc766763087af038c501cfb4672b53ee9175558631d1303afefdadaded2292cb8b5c1eefd83cbe9d9f9bd2f3e7221b8507b35f0f2cbf969113a1d462c86be5f08053041c6cf97e79a3666bcfb1745a19f0a21bc9c0630f222d95beebd1a348862d19e496458e8990bfe4e23377200df741efc9b6b8c9770b4bd11941ade15f8da55c0802a1e66af60236d982f729f5926aed3755c1da87e710ad2b070d97c01e27689911eaaf961167e767f6072c49a7eab349c638718b7217ae22e864823e2b12157b9dd49342c81fab5c9227215700b1104b7764caec8b9b82b98051b7d7bc4cf2199ba0da7812859bdef66723ed119657449b5d8141528d995badd618d66c5087f9ae09ad11b9afba225be25ff4693536ba72156d28cffeaedd656eb65130ce00ec327855bc11f16ac25a21163132bd0800e566945304d7c565b66aa661ba96f5f8e94bb449d9b8497fa0f72e6376ad177d59386df8b41e66a617c1fa367752c52a3e0e560d1ef3a37efb3727fb4e28e97accf3fad6e812dd045c61fbb9e76f36a0309ddaebdc0996e3acf56aeda61a996e3c8cbd648d7e1db0a3bf043afbcd9a29c97f9e85bd94f1845cb724d75ebf333139c27a5fe03daa6d996fc3cc35e479f1ca459bdadba6b3fd32c725ef32729ad631a9113cf87a4d670508361fe1cab8f4c2d46aab57ae54ef7ed722a08f749c61d3c2454830ed8ada2cf30fe041b57debb1f556e6c5dfeb5e019076befef4fec2b26dea76ad5e799e8f152da96380ddedb990a625c8c8c9d8233722cfc7835d6126f6ec7dd77dce982c3c9b700d6b631152076e9e8400b7df39d3c6ec3fb8909700c86783365b37a358d6d6a67d5ab66ea106115c617708d6e2a72f77a8796091c34438cf01108eb88d6dd063dc33716f4afdd9b4da3aef2ae1772d5169388f927535019e28cea6d1393b9a9dbf1a74bd4f4e8e61ac16113958214d6d11a87a7e989ba925907d255370ec93b0254aab22bc4642475008f45e5e372eae02306eb12a87acaa1462f14cb30b3c5aeaaa726215e702bbe1825f964c17265b3a09a1e53de58cf100262138eac7c9e50dbb6608a480a5ec52070d6786e72305a6471034b28c4a3d481a436020b11612ff1acb84e075e09a58676134b8443448ad8b5e64e8115065b2a2e888450416b7acb445b3f13374d7d406712af5472b9279d3f66ed53924fc4d7d6bf575651b7a0084beccdafaaa2245cf2d469b5723a8167a471955f372de69c342225c6b799642472327c44a4e8f732ca71ca57086967d22ec814f416b091bec3ac9a7e6be66ff600831669f3a9542824df2f68144182642cbc7cf465609ea7473e82f928c5d940ca55be09595bc1e37077165f72f49fb2ef3bee59fb0b877e5b8885b180dc9b55325d2759d7396939e7d75e1b72561e713383fea5458c6b6217eef05894f9c70dcc4649341d62785a8be482627217faa2ab50d9659050a575f88a95362173054dd34cec16e4afd14deae8bb4c725748a85eab590223adccf5db4f3fb4fc82787d23bda1e2565f9ff1f9a9414f727f99f2bdd7da8c273f484fbff48cf4d1f3acda3ea7c60c11d32d120c67b09872152e420ee60fb6d4447963a7edc77fd2654a6b52a0269fb57688fcb926e7657251a6b992676b07fd3cf4290d98c99a7cc8c57460f704962c25ae3f88693d61725fc949c86b0be8d7dd219dbb803fa58f43c8945c1a553d2c9dbf45960d7aa0720f0bf9436a259aada7db26cea94ac8c930dab75af1e2f0c7a95b17dfeab5d7019c6e92a1f065c67e8578829a47bb852cdd342acda0c270cef972b1730de78e2ee8c9bf57226df324635e7728ff0be4736bc75cdc24361da87d8432c8ed565f4417dac9c370668eebd2d49d7dfb3529c84de10cb0fd67b4e0dc4f0d410baa46722f5f5716fa3b1b9f5bd70d3d2b969ae967af91f1705a61076373b814b52c797280cdeb991ea36e3a309b78c1f9c38af45278d55218769c6d57796e81ca58be72f35b86c575985945b9c5c361d46f37c405b4aee880b8abf18cf0fe2b805c9f725e71b124f7fbf0c517a556472b129b0c6dda2c5c3c4576fdc01159135173904d2446ea86cd68198dfb89b3116079f3d9af23921670eef8170fb4ff5afee19372ae196bcb0f3fb51571d58c3eda76b83658a8eba54f2df6d05f4f715ed6a7bd44aa684111a3e65f26e8177a9d1fad239e8cd0404de9a3e2c56e7317284b98f17217a84fae477d2d5ffd2cbe80491fe1eae5d5d18aafec5ddcdac4a8bd4f76ef72092dd3595463b146c851f3c57a1bd896bea1918f8905907f14bec7b8995771165dd556512fc68c41ff3f670c2fe9282a135719f3d937cf3094ff5a080c94317269d663298f8f81239aa6865588cf429d2bc50d8553f02675a8bfd5ac755d401f58271c951796df89dfef1826da455640fdf42668534259173253d34fcf81f41474e9a020e55d74a0ad183e65c35d89686e9e851a53281c990267ff28c234df29fb93d946f0393c27481956e8f6dfbdcf8cacd3bd4f1ad107ac59f4d9354e26729b93dbb46797b083b0d2676911f3c1b0b70bfbe3de18c1a9eeb6c0a3221ff9600b6c6637b71c909e0747f17b7490a28e441f20129fbb55cf5293e6c58a6ab872f4560ae29abcf6cea2392d7af3bfe7a6823dc25be18d7143748578706a0da372d3411d4950e375a5b4144daf4c9eb2016121850da2bf2bce897c9d8b283a11133b1ba2ec969a2280961ae40d34348491ebefe6a206cdba601d5c2613adbe867261bc57fa02cd8da069029ea6343b6a49fdf17791a864ee90d41a3b152f3eea26561856d8be3428820c85a7fa33e053d01d0bc21b693bff4a4135bff724c4a114f443d7d16415764787a511c8433207d9d12d3806f1d7843e70c70dbc721f76729162f883ee64690099f4ffced1733aaa067a16b9583e9c92332f1901badbeb72b852644d61a0d8faf79067d416c4658af39ad3ddd14c71421de1738271cbc1723360d9466958213e4b0112a58a1951098b63a872e61144df39bc6b753c67c1720b27bc2ee534ef47a89e42e0c23b2c55c9db1a3c8ad9d733c210655981da7b6b9401ef898cfb49cca6f1faa5a94fcec2fbb3f9dd3d75b666d5ea26672a010f43d5acb9d233952d48288f8d9d44f0c4f545dfe32decd643f8e84811c33e77454111f3d88cc43a1671944263cff7fc74488eea708932d5d6f36e0577f5840807726b256ddc8973b48a38af40eeeff68552d23ba3bb086d40124fbc1df7c809fc06dea627fbeaf475524123415af8fe9c1ddc38cb5080af9f61c7b25982db9ba37278f28c13f93ce1af3a9b88148682d2725cf8bb0a8212daef04b9ab6cecb49355496656752e3e0640a7a48b68ac7a3002578a18fbb622bfffb17697754d9f167168e250b0114df5273f162c8c2f487f9ba47de1e08d1fefcf5568448972d04d72d537bf5ffea1040637f43ea08b3b2479a9ec35cb077fd5cc1ab915f5d845132aaaf957dae793216b6da8312a8a829aa0911393d28dc45498dbf2befe6331e472bc39b962c796a0d951e94638f91b61ead29c41a9b81ec38dd34d8b39f2ac1972030dd880a0f44d000330488d140ac4de65aaabe282a8da6fc252cb1177f0a77298a16e76d54eafacdc89a0e4865fc505673ebbdfd27c8f34e87443f527306a521027b8c44a85c84e213acd9a00ed777be9329ef0c159edd7facb1db4fb724c5368e3d9ddd39904b5de7fac093dfb52df3c4fabf5b2b053a41a0a0cba736fa9721f30190feb53beed54eb20115422dff21c5d13174d1da89a0670648dae439372a8b749e2a6634b51b3bd9c0f5f72983603e7e02f7d7fb01979660f136dd4ee72b6e669cdda915d3366c81f1840dceed8796811754ff83e8ad88112269c8a3d72f9e00180546c1ad3ea43f843f9e05940b6f2d8f778a72067b8945ef60604a81945cd557fdc0f67d4210563f6691b68c2909c2e88d7cdbd0392827b9fcc4df672f48623dc7cef9426d3ffff5118e6bc6f83144456d82d5d809a22fc7f2be4004ac16c702fbe6598194b12649f8c3c0341ab7a5c6516d678361f3a9a67e0086930f460c8a21149e734bd6a85617d26e15f74d602e30b7f4b717ad4729a1c359740effcc5c1f3339453f2d5587fc20ffe88f50f91d14be961e1f1680cbb8c7edc726b56c491d12d957a38b797fbe97e482f93fe2ebdad65fcd5593266d2f6838d7263485eca2d202abdac5ddaee4ee4ecb03dc2aa2088e822bf0678d602e33ab272d1662ea3da4270fe2fd3de404fb48615b7d6dd75e36c61fc81142d3212646d316003deb01918cefa8d9c05783e1c4509d370cba35887b222afe7700bc893592057e592e080619c06d6c1b8e4f0bc60a03814dd289690d4240f72a6a4dd4d606274737456f6a7a7ad6ca5b8eeae8e92854ca41585af3d8a394582d5567d76eb7280176d0b564c2659c0ba008e2fd7b0969e021096e850c22fa4a2a63e564c512a495fa507687236d950ff33facf07c2022d65ec26b6f41c1042c175f193ff2332cc5cd9fc73cbb91e41bae459e844415399fbdafac2a0b83f831e0a76cf3846728888e02e4e3bc639c2725fedfb5a6d31a0a161daa57bb6eaa686b0fe897c3436502a2d1bbf190808fd5ae23873751f770e2fe993b7f9ded197e3c8d9aa501272d7be7356d6d2f810f66536cc6810df945f1fa5c2526834e770a63a003011e77289d62e8cfcc035fef33b80485b4c43043c9da622f407f72a3cb285c3d116390baca82a74d35f9930e76ea4066117b88a7ca6eb85203bc6b3dbff4ae04116e572348c347a6033528f1fa87b8e054d0007e92c0b868cb10f7a527c62ab338cd771c7511b8ef64e427daf37b3aa32eaac981ad1faefe1062d47e089f6e9906d127217bc0ca45fc74f256573c0680f963e6cd12f4ed8e5ffb456737158b5ba9a7a725f9d7befe86559d28c7789d62c7334ef6643ccc739e9f83cf891db99fcf1f672b62d90b47457ed48df69cfe1a4757c1600710406de2028a31dee42edcf18ea727dbbbee307f277ffcdfa5736abd3e1279545447054cfe073f4d9e6358d5a7272069f4f0b5ff3d8d3bb9d4f1fae0205e161472923e2de27b5e58b74169d2d8e72b8abb7574711053215e24d02a31d0a1e9ea30fd2d039b0927f023c9b30943072c81daf4a70bf50aac09807b8cd524c6e46954188d203de2956ea2b45f69f456412705016cdd8f95699d8db54abf2327521fd454f504d0329c81ddeb0b1c71a370361af3573504abb16ac862d80a9f795964327de2cc3fc83df9992185fe5213c74719e63046b3d36ed3237f9ff9152981a15cbab51a3c2d78f2f711e188eb17230cd9edd40fe47f3543578afe3bc83f336c472ab6f75d6079c34bb5ffee8a072b7dda1bf2834112f5390116e60dee18a2b37949a6248d1a5a38c37c16a36d2725abd706504ea49313842f34c39768b50ed72335512a858ad9a76fbb6cd437e724a0bc03bea262ce718260f5206858b9ceecad43b8a3d863c0a8587d0a64bee72c9c17535b13669306174a1ed829d1f416f67b984348860efa67f46edad5ae45f7e162d27c2c2774cff5be7ae407a07377e5df0226448cbbd14ad3d4a640fe07204dc6dd4a7f2bc94fe42b705505155d931048b7c5b124b8b61b30bd22764255a79ad79a7f48d91b8390675661397463b89799efe569d5bccd14d91157947090c123cd2e0ca51807e03fe78b7c9cd14abb7d032cebdca35158948ba805d06617237f85ceb0f8f398ec0a39b508669e2a386e6e35fe5910447f8869370b01811450fb8467275c1c175ffe69b4e5abe1cc7334667a2d6ab168739725f433364173bb069efe795b55abbe4b277232dbedb5e8400d3b336bf59377ea5fd7b4ccd03728a5ace4b731cbceeeb12be4367469fd96a2f6bfb36f7d541836edbdf37d02c724f4776dc4fa127df811a2a48d1f271ca5bd4aa7c2dd0463168d49dc1de399c723ae841e369f7095404675ab65a2c3caf3d1f1d30d24e73b6336da4f0ec08b9729dabcafd511c38e828440060d1869c44881169e95ded8b9c5e0270db1e642b720e8d7907fa7648f4193dc95f86f6da229b4031d1d7955b529c3abff47fcbe572237d4560c05ea126284bd95830593a6ee649d165046b10fa411cddbdce9e960375e84a34f099d8e19705b40e7144340afdb51dab548a40e828f80686dde333365167e78eb67f09b85b0aab36c10f28a27fd2f63fa581385adcfcc41ab63b9772baa849fd062dabd4e15e33d074795b1d73ce82a9a8044d25b7d228a7651a28657e675abb409d9c17b4cc762fbadbef15152a3f103185d86059692e460492cf72b22286e728af13a65458f71fb7e3881b887bb6721e95984d0152d9445e04704a6f8d1cb83b5f389f786f8865099ba96fdb1732d6b3cc8ca9cf3aafc00a06eb26815437d96be3f86a1b2ef604b7d5a4e9864afdb4f7150303f4ce7c7a5e8bed72974ca2401b0ba6634ce7fa0e85d9e738c95c2e9e21310ac9f64f3efb7e199672c0f9465c86212ee09a081e0bb03d4c9c09b75b7f738e649f23a824f9815d85727cbd0e419ac35205e8abd47848ebfdb5deeace352beb78dff530a33ed8f64b72908ce6b44dea74b882ea68525d4bf97328f0db6ccf215eb3fa8c2c0a89163d72fd2f271dfb0f4ec8368aac199751441db17f1cae961d0502dbab82d4c3721572865032475006ce91fb657a7e000810b23a5b2ce2db73d5033b6fdd8025e3df72023658ef44b933cdf78db586bbb8f3ae8175b2a6937acc441e6ff75005ba1e121f951bb32d960226e1e4a6c6bbbccdca3ae68408cfef27365a17e0d0e79e1f530106d84a71588b3df465003770e6d0b0be155fcbc016bfe1685e75ddd020db60d576188002f15a3babbed6f0430b6df046955aa0900c5954166c7b14100ec74019022bde620eb404bfb14f3fd9a073e378cfc842e7856c547e91f05b467b1b45d9e66a971e6d67d736d7883a1a2aa85136641b732c14b061fe174d5a3a62fe004faf6692d3b88b2dc72ab16b72522be0a5642dda1bc7b5ee38e788445cd1d849ba38a2c7ea5cab7b6cb2bd0e0f4ae2bfdc6c98edc5bc36098e7d1c11a5a45f5ed667480d56a8ff1fca1130de23a5d0c2727627467d07f98cc58915fb00c6982ef7823fd644a9f2f755d28162c8551192c2bcd899878f86160b64de5a7b7aa4729164740802bb014e0f4e4bc956af7465550104c2a0918ea5397b03abfa838e72c58209e296a2324b0731e3f2f8e7144b9689b8e123b6d2622c1eda550d9adc1ebee5ac2a915221c82875910b8ec39a31407292565a04965dcdd50aaabb75f6720a6057f49f960456dedc0ea2abdf499c6520b59d6586f669a5ae4c03fd73896626d521dc8c22da0abab0b42a0a828399baa4eb3471e37254740d242f55d9a572fc60f5c40e4e0aff61c6ddc3fbfe47cd811b657d0d698c5788d7f76780c0fb724150959a31f479c573533c7bc88921bc2e0ae7c66c8f34574828a6aec529744b2b9c1e7119c6210b1f82d5eac0ab08763af8dd60b9ff40bfbb33494dae94d21dc6720c5e20fdeb7e6f2ed1bcaa804bf9b5b92ab044768e462b2306e907f85116ebf1dbc584fd528bb2ff3bdc21a3156a582d1d2d73898aac1fbbde67adec0642b5d14860657a19992a9f11bbac90e3aeb2b0c88f68819282752ac356362aa36f72f5ec4bf80249dd9f5569463f39781f80575377762b70385d839bb486877872ed0bc06f00cdd2177608c8ffc54fb6c307f07780b5bae9fc953628a13afb1b04c84e441ea6134f7de4106e6ae8e872c382e8cc2bbfd7cca24262dfb5400cdc72b2b0a4236c580227943d02c0abea567046aff9a550049daf5f08aba76424ff72255b04e287f90522a4621d022a1890ea120586c17df7023a24d915f23280391c945533100bc8fd5c6a71283775e36cf90f2a1d4eeba8a5ff8fcf8d1cf7c4f912dec606b21ad6542f741038e48ae8457f45137b3350205a5949be47a2d5cb7e4303850150334d9eac6125c953ab56a062e35f662dda30429aa6abd0d361ff3613a85988793f156fbcedfed26059df3ac22b8c1d089d79dcb31e339962a31bd23eb030636888c742c55c92b6f80745bb247493e1273ead727b444946704912cc3ff2f8ee3d424babf487e2f7e95a0f9a5ac6b0a682dc68d49769de29679bb0186a938d0765a29216176e3f6507629d5791143ae8aae007d161e80ddcd2abb324720a002a2f4253d4023a8de8ddd4484fc2c88874912d4caae99071aaef1e5c071caba0097c848b21a020bfb08bbc24956db18dbfbd79b19033ab9df5daaa5709720d854cc97628a16254889360e919681571076987e2ee802b4863c72cdacb613a31681acf50e8b17fdbab95bab14c4e39adc3dd04491bb6f85dd8bd6714b85402c0b7e1f85d2478e6d239866378f052ae30094435fb97f0af6e7499874af1997200fd2cce375b2fbd38eecd5e8a8fd9f8c9399039457131e9742a2a62edf04d7268e4bc53d2740e8caae029cafa0b1109f0cbc5b1dec7ff71a1331cc94eeabb7242b4f8536eb2dea275b0e4c3248a0231dd9c34f0a909735c6d68145f6c887f543b21cb64092604c03b2bf9ec8f292d2cee22a32ffcce291762a219e2cf0d14724da089b092869bd6f696f2d2d3f6d99b8894ca631eb2987e294b2781359bb71aa028a5534ec00f4c7cf4ea9629e15d2c5d17b23a197c4c2c4389ce62eab28842fd4dfb7d78208273531a5c46c9dad60dcacc31f3ef8c94159614be50b550fc336e95a08a68635307375e7b29996aa2b46d767fbb0694f110ee231162e7919872aa958cac6303c2eb3c34b7318d61693be7a1a1a4ad5a6d11885b5202594df872fec95d8a65e7d7da3e90bf26fe36253baa9d09957de4fee9a74703702cdf3e013d87321c47b46f25dfad07634a209a227a174f67ae3153ef4008d49acd66050d48b4527aee34aa0d5dc77bc9857b5c97e62bfa4ed73e10ff7f97bea6eb3c2570bddf2e3b87e2872830ca4b3e64afee79ce015a3bfc7e14ae54e6732b848b5a4e1bcef6c0fe8221f64b4c3aeb089b70b257acf4b04a18de5b013030e271b399018eb31a0ae5fffe4e627b9897086fbd735f63e2fbdbeeb5fffb3ede17f1f5de71e11e7feacee982f3b626ef4a2d549bf439db71c95e40747d08c46f2765f52a6e837e67f8cf0c818761dcabdc1deec90b84b5f7c295efcb95da13ada7d46cd67226d35ccdadf3a06edebf8226eb7eef73b455a49ac05d3feb0f30cbfbe3dae272e63bba3bf7b1ae2f2c1ab418c57edb4695defa25b05e8922e53774a42b700e38bf571b22b29033aee8e42bbef6f6b4d3db1e45a72ac91815f7f0a91d8b6c1e724790ab719b1722db158ce0c3a2b11a899a9dd7c0c4d7478bb6837fada9ff6272e6b6ed8bb87a474a51da269ab2641b586c62f7bff1ddea2bd4fca1a414a34272f306a06d800cca79d2420b1fbbf8a6580335b6ef023143705d3826181dac1472aa1579318a784da574a853e529e4228b81cca5719d78b53091c02d533322e072182d6581607be1fc2e143edd1dd245351e49e9949cb6b32f90b8e93ee37f1f1e34da34113af253b9a3217704abf6e6258cc4bc1a70e7f2ded85bb6f678bfba0203a3be41d0aeb24103aa58f6a94b0b4f187904dfab3b299ab07ffa5283c265528cbab7d65780812b6398f4ecdcebf9a0fddae3a9cf09b722fd2fcac05e1c9a51c3611af2f58b4a907b5dc3f5f6bd7fc794cd7a85dbe17634e0a2f2d34451632b105a5b5b5bde5b4a34b03acbb77e0ef0aef68c69fedc447b9b1ea13b524c4172bd037cab3327092a34e44476a12196d75e7af1d966922c20728084e6a88b6d725d6f3f04027fedb4313aabbf65eb47ec8cab589144b0ee0f48f1d7b92a266872e1227206beafea1c49c9974e734250f87d0968e603b453111ec782d3f4609c722303e12cceb6d0398a8dda28baa25aa72101348d251a4664dcf5e17efd4b3372d52ff9c2689812beb8c8e54a849e3c15f75b557c2b542ed99cbeeb40934951426ff96342a1f8f08c229cb6b769b0efa13409a4797587b4f96d640c93eb837f72019b13484ec67ce5f254b3ac837f328df14825728abb0020d821f61e616681726a3609f33250fb17fdcf2eabfd2322d401f614545fa191667f79915277af657244f62ff2b4b9ff8329beae3fa2450ba86c7c1931555bb4e853216186fd63275ee63103a918c9fd2206ec77d5b4be088327f24d091f25bd41af82f402f43f265423b53b2b9795715eb64506e33471c1f2afb150324126c4e52abbf663609802721da1464f400c520f27665e9597a776228128dce732e5c69405f0f2bfdfc1197250251c041b6a1b5f1756da7d51aa0023b71fb5772c06909559c8c75cddc3881f5cee926b16543115d674a184fa61b3f313f7f2cfc787c3acbe5b7ed7cabb5f722057d890e9ad6d504ab39493a76e56ed5a699b77eb434030c1626d3df32e6272830afcc0c321fd3418d384bad4fd11042217fb7111082460dee7dc90d69a3a3cbe7cb30e037577e85a1b4c47b0ae43a91e789b0dbe079bb61053e59bd5f23925e5810b705ee0527529d46231b5d592c32506e8564df2da59e9db751281a41172f51b6ad8eea3295fc8d2b619080682631a1b2bad496d9ad5958b0ff99674877273b0c0ef7167c4d51cc0c2eb68c4c4653a7b423843f3dea8f7a4a55fa1a0f572f970ab45e5052aa83407dfd70e67aae4e86aea0a70aeb01cf1522dd47e2ec872bffce77de00fd258162c05775c81a748d16d3a9284e1b85dcc62b56b478f6a72f8a8b3ee895e464380d5b1cbbb6791f733ad454956e7ca9ff7cb6041b256d672c1278d4a93b0c88f912126718840db2b464ed05d9629ec5c36005ae3f7e2442c917477fcf18c2aeacc1727375ee9adf9df8e5aee973a412eeaffe4f3be484e061677f983971be766f28f31508d26043d428fb7087b5c79c88d680a2c86691c32040a3424e57ebec084772eb643ed3c4e28b8473e12a3e7460ab330614391b211bcf139e7fee04f6fecb68901a6cd1284061ca2ec1dd56fe1d08f3b31b6f9fd729cf5b243032f2f6baab449879c2448e3033e1045e90fa17320c051574b903872e675ac99d43ec16fb3cd93b3115737456910453a4a04647764309e2a9a39a2729310304ac3ae5341af781ab7d1dbffac1dcdf2168f51dbc3c3e4f25738897872cafb6b2ee3b0fab04a687d8de54b36470d758f867e7498bba4aaf6d51bddc072d7fc422612b01e1c81c01751286f26c3be0a68eddc4d8a50a6b4de2fa2d5c4381871dd00a29b64312680dc2c45b11cd917ed90adb7fb28b0c4f6140577f7ea5bd89c78ac29c8a93ef7769d008a7bec30ae3350e80b5f8420e04134c551a66d72e74a062e22ec620eacf619764b7dd3b24bca6d1d7c347316100d52bb4146b254afa89099a3303579086252eb7e7bb8d1cd4b16a85fd90d375e26a3b172f8ba468d4fefcc63b8f8770e1ea947847e8e50f918e1d598786ecb6b561283373fa572725f895d92311ab75f5307cffbb02919be76c6b67ac4e52e804a407312dd257283642644ffddb1d2e02ca34d0c467b192f005489ddb56f8b023629c8e483a172a7a393f7647564c1d375702e61db53e3e6ab32c228a4d936046b78fd3e702b2da856c358803712392f99a41f6aaf7f09800fb17c8519f34ad232211d7221863d8546e6a2cd26e7fbe1e3e51aa01c9cdde198b46b8d87ca4305c86451daa17472c26f1b44cdfe280ca0f10a0e300313287cc5ae33b9391da1783f7733c4ae741fdf6f60fcd5bf883c78097a03813cd6b9965205e4c4649181ec5604855d33e7595303578cd91a9bedb49dc1bfb6df52ce2632bc8eca277b44a71bf152e86606723680143c9c9b97f81aef74cc4d000dd36298ba54726977e8c3841379c026f54b85756b2c1ce18d7f7ca826dd718ee0ff3ec0ed9ceb98d83c6fd9fdd105122572d3e5a578ba0946ccf86ddea710f451727f522d0bce5e7646bcf8feabceb93b5b59eb2843937cc34a3ae670199f71b652f2a5cb4595b9e582733a62145841f5724bb449ef7cd409e9e7d3cfae297b17ab135d5dd5b01d6ce00238cbd3fee0ee6453fe0f55c8789b775d2b3ab6cdc166d1e5a36b258a39914931f38618b3c1cf5e9338282e87ed53fb101db35ecfbe09e8e4a07b681bda7f8166cf46a343e542196ced4cb69b0bcef26886a32711e1c33331ba318dae8beec643bd4c7976a42e723f503b98548ca2747cd2024af4f43089645276e4c72520eda0c2f830fd14557220164b9fc43c75e05e9b902c78f8d406210846a4c4ab1132c9f360f10deb99430b871c696082b67c30361f9fcd418df1ac34d700696e941fc5d4b9023be20d7217d5758fb18d5f07949b9fedb094e195c2e9650fdb9cc83bba5920c61a433272dafb39871e3585a68dbb45c18da25fd2b50f56b8f48d036f04cdbeb721d6417211b6fdfaf66657069096efae23091b7ee4498fd78051911a055d15f92a39f04eb8c1d16b8e5658775b0107213eee720e80e05de5a8703a2e9c5bf903da7ad2721c631459b17d1d6458e2d95fac242ed83c7fad1bb44c037ac969b738209e29384be0898ba67774bc46c30526af6a9c6b7ac905473de5e4ad2d756fcad0eaf872821b8f8b85ebb8c3172694450011f021757b9424f9723332ca18317ad490e038ce160ac6c84a02f961dd63e9b462104da0436ca6225e1bdf9dfa070819687d4058c35bf052c52129e53ebc9d2895e300a0ed328ab7d28b9e2571e26b07aab37287655187e2aedc329be8c55e5460e7d6c1b49f490dba6698d86115cac1b782684bdddf406d8adf81734ef4bd7c8764fd340be2c6a7f7fbbc0e3237e4b3ea95666fcdef076396622271bab1e1401bb76de60024b4c56c464abb8cd55b89c0ba12f8083903b995bdc7e5caf61a0366d6abcd95f56f3d159a9b329a031d7b65a772a9981a95eef6bcd41b7298b26feb308bfe4f9630cd160d9468dbb9dd47517572be9352c3501905a75220897a328ce4fd991c4263c797e2ca5cdad4e7506d970ee9d779802d0c7d7f6dca641520b7a2d61f84e0630b457b3e17b1560ed3eb5c727538133ddc8ccceadf61a6becc8633f2f2d5596f51aed2d436ee94fa50c95351d9477fe889064cc36590cddb5326cfab348cc96892e83bb0ade6cfd4c9026c722e47edc387331ac9fb7558a6eeffdd6c1d64766019df6837926041736a1a767238bb7aa080f408c509026b801e0fc6ddebcdfbe878d238ec3d163c45f181a34f0fbc6d676b8fc83a23060bab6fc956bc3f506f913f44c92109cc4756b0f4e6725fc8bcf263ac442b793ca0fe45fd7bc2c38fb14421b7450545cbf89e6553d272f5a5ff9b067871d2e137a5623d787086bcbf36502e65dc81f690f5aa5fc2a738d60bacab7b9f7454e7389feaf3e6dc21febba0e2acd35ece5e37c80e2749b61a8b33090828d4c2465dc5f05d538f61ac70f4c4aa00d2192ff93facc2c37f88725ec30375b0cae952fe776c5dce08b93960792a29f991093756cd802495a7fb7296cb7d0d72a218435749d71ecf722b901655e9a79d6e89e94f3d7756523b907205682e68d2583bc09f4fe003f8bf2a8a1fe6861c5ef184814393f988a714c0728347be644409f0c390d698ebcce064f9300a8672ad943f353311e6452b315672850de11f361318b41b8dcd741b7377fd9fdf3a55a66cf894313420c12ad47872e094c8f25d34c6dbe4eeca01b38183b2319e8c603b394f806b579b218408d072a60a90c862b2bc7a2faddd633277cd63a2e2eb0f6822c93a317410fa0fde1a72cc3b4f8e6b79ca9408bd810ca90859906d6e4fe3c050d748e8ac3352044cc472d10ee171cd7a26f005066408ccc4739ad7c5a47d886889d1e8ac2a6bea6308721de9f6037220c0dcff869f4eca75908a89a30977684f0562253f5277d75f810052c44a2dc2ea622d0cfa25858004c21cbf01aa352cd26c1731d9c51c6b065e48a981f08526c7f45a6f49b0fc13b8b5bf7688deb22e8e4818284ad75321791572dc215a18a29c06b8462cfe7bd5e68dcef67261c1be094414617f41a46785081ce9eda33df59565af72194fa0a4ffb35f081c0e69f6203653d109e4845155b76d622c8021756b32a55e9680aef3fec84a58a604ee085ea9ca7c8c7cc907202a7296a2d7e1bbac1c0ffa9f5f43c7ac169281a0805527e750938d78f57b0eb6cd424433498cc0428c310f462491cbaf9373418fd78128141bf2431f28134075d072f2da6aae56dc81ef7027b56be50f0eaac41d1241d319d551d219f9915668ec72eb5f378aacd677f8a12339a0f9a83b6aaf1094b3928f7ce026008c7d4e20a87276eb5cd87f1918b8d4a3e81a405f29f2e7f4244858953c254414237f50e73e724484a36c2ab6d1dfbdcb4d0fc6897c5e74f4371a4ee8d712f022d85777d4386285d60756bb260146fa575331c9b69028e3e3942bc557ace8dec985b953c4ef72b19fc445751348846cdb86e9b59cc3a9fe2c4dd07dd3d06918c1c78f246bcb7255521b90a189ca72e4fc4c4e557bad5f6b2a82763bca69f719fd38efa3c4e14903f7f7a31b15eb3e5c43b88807f30511a720f61f5db93f0e2ac0dc3b51c0c5723e601230d16b230c62b9e5719962604232191168c60cf9776270283118d98a727331ac2c96c40810cdd1ed08539964c0aaf3e3414c20ba2830b40755f585eb72f429e74b5d32e2919e8c6599f1d4d6010c501608f2fcd785a5642e1842fe630c0b06d8f5e83dde7af02f3e4727badfd132a25ccbb184d3656ee5bfae96632737d7d4e35151e1b81a4f52ac620a8dffa0c095b53184bbbcbe1ee4bdeef0c4763ee55ff22ef9cbba052ec2b37539a3fc97c984169c3ea9fee871e68c92b3bfb1720697e6225aa6edb9fe817402504ee22d05004bf8b62ff1bac88de997834373725f17636f1e8295c76e005caff5aff55906fb2283d6b582bac5cff55a17253e72bf9234a3ee8a927fd6d71e09b48c0c9881633b27ef9c2499f277cbeb69ed0772c532d20c94a905b782714bc0d2d62f084b6462e6e445eb5f6184698904920312abdf0ac9cffea1860ef2fdfdf7862b985dd20e0e5049c643f7ddddf6661fc2727cedafe1d51e1daef29ae085674c0b89cf00ec73fb2b7c37242f488344a53d72fe17f47b7a1f906249a2d55ae88c59ef246a3b0469c3201617efb9c7d5a81d726ce6b84f3b16835cd26ccde91ad6682fbe065b3d1e34a43bc38bd3bf8071b7729e525d698a7d5a93ba83cd267e20d065d4da1aec19b7557da2251fb842aea372f623833d0129786127307bf196eadb143efa87ad78d122ddb1402acac18e9e562304f175902ad1f8745c5a964ac0db06877c5320c2e8ded447e17898f086e45420ebbfbba8853525547a3763c04a05ac48e7be46de169474144ed65eb451f67247cd0aedd357ae019138951ef10a789fe3621eb8d07eaeb3412daf743d3e80728c8dd323c6ba5a2706700d1dafa54dc93c03d5bf637eeb37afdd02a10b959972dec371be1f1820cee3373aacaaad51b6af69aca5964c615ec0bd75944907130fa34c1d86f766d42a8462949a793c8042a72b7960c02c6fc2eb9e0691fe8ff9281a4f0eaf7adf64ee073fbd8b0be78bc1a936b910403acf31f23e9839c1402d72e585bf5ee2dfdf3808ac4832437241040fd4779e0aff31a58d294ccd0023a52810d1473883819b9848fd28f56b4870540196be1de6bb05d6fa857d7110d06e7279caf9e9903ca2da2b848ab3f60758b9dffa764e9d3423e9b03b3fb76833127245fb6565e428679f79db1e33cc0c1d559378de8a3b323c4beeab74e6fc83aa229ca854701d6fd9a6b0aa3451cdcd397b8f692ffc76c8ab1a6fa9e1036d67740a3e17a1d8299a4c100e56a5a2a788c6b3bd01b56d8013a458303a98901e20ac725378b2171f05dc3d32d8768a8a044ecce36f3ad0a71ba1ff9f4b9b9f1ad0bd23b4b32521ef780891693705a147f772efafcb3ec9665a889e750d565585af7572c20e29b41ca6c1cbc3f402438f5f598f9398bcf997a9917eecd3d2b9244c71415f67f04b8a33a2565d27762d7259c61c97b152475dc15e0144c65d926ab99d729388ec72c9747e87b0a52e43c71d471bfb7615a6d60e24c03fae0338f98bf66a3cea833617634b298e5f11992f65e335abc2a093bf945919a24b2703a71566725761d1562242e166c1f7d7975b2a834b8e195c1fc0c6df819d1c3fb7a8ff2b722dddcb7c4936c8b2678a451ea0a10eebaa500e967f76f148594d5336afe9ed72f6ac425e6b44f13cd715c19cdb0e92afca3ff3861c3b17f9f2967e4f06507d725c10c71665d38884f687de8de6a0d121cc064a54128c3f20923e77aa1f77e372e30acde1e6d94d08dc36bc23701c7f211665a02ae2172728656a63eb1236696e9bb11402b2a0021e09ee8c7899e4a5236e332e15814bcdf4331410a8ef046d5d6b9cd89c273a8d3c0f01269b30642696a2a921f63cd309b3640d112baf9fe03d8d4c98371befb6a8100268fedc59c916224a3db68f259163a737c6036a63f37287d89b8ae924c0022082f137c8da05c20e8d8b8837bf5f3f0d032b8e3e800772d2e186ac33fb13a345390b0351c0cbabb30e098377ca48cc8ac508440f7e76723f3d36a47c376317b4fe0faff5024581880a62da6861ca639bb740ce79af5f499a1b1f8a278ce4a304e1f6fe4ef392ca44210059942ea99907e969783ae496725843b4c07ccb10cb408442a3044ae2df756bc127337754393b914bdf61eddc7222ab08c9e4f8f2a670e4f71ba0f3c8a2ddc5eaabf104c91355855523bfe48d72334ed72dddedd4882e9e4251bf296b968185dfccc8e7577d75a80d9b7415a324c2718570ca19d0c9b14c0c5f602f4fd129bffb3289503832e8e8bf164b431772f2e0822e46550c8a28a76f37f029cab72f024750c1c96540dc1293a0132dce422edf6f2208be272c3499c4180157dea7ad63b5ed362b4c14b87c86292b18065b7a87a28bc0404c0befa2848340250edeb5fb4efc71234c7de12c6ba192e78335b760240ddb8d20de2fb65d26e44b3d80d38fbab4c9f8179b2e57044c756abf72a185bae2e7794c96aef9041afcb701b7e601bd70a30a3906b9524aaee652bb680da27cd959bf615789e68e70df2e78720bd37e2447d65bf69dbe2e62a3bafb728b39c002b5ab40b0502bd5a9f171e5d14e714ae44142187bca1a6ac9d511f234bc2b6dbc90b3792a14d71e319c88e24d776d10475e0e9d60c21c22e8e1e2ef5009762263037e44f0f8aa3b68312cc4284c0182aa32b2c370a298f6853d89d472f9be3ac16878c45eff6f37b953106f8e68eaef935515e41b8177f9f00dd27406e07d660905e9f8dbd4d17203a8d3ce50262380807202ae9105b2c8b3c68c7f296224c8649332107b74618188ff9518d41a3847c99337c48f02a9e314137c0929f3dc02cfd67b7a39655e9c0ce1e93948ef3dd1764b49e4d371dd0126cd81c8505b86be76432fb59a4e963504d220524dd2da93eb710217530ae4669ed7d3457244ece087ed9b4f27d94304d51a50a02eb331de30f5f3cf1988e9be51f990895fd9cc0daf8ad6c391604adb9aa5172e79d7b8e5b6d188f456028dd48db89b8372f29174d198b29028cde908e9d566570e4078c97c81fc28130800c93e62b46e725a80a9cba48d392b2485acf00ff74eb1cc1da070c1f3e860e5c66068269cbe726f36a56f35456950c13414dc7d7b6cbaa38bb597d84d50fb4422c1bf6b90243444c7b561e37fcd7fea65389a8f16d15c2c4d1892735cdda99af83af48eb9e82e1e7d200bf7f31f65f696514db8fe8faadbc4b45e783a00d40558ab336bd15505e29313d3eae139d9e02f01aaa1a3cf2bc5085f2a286c8062ab25a68163baa472bc13d8945f0df2b68029594f84503e6174dcc0944a4286ca0389514b1ef35d2c4e57013a597b67104b4c78138da32f0bddff3b55f3b4f575b1bffb0e83ec21729bf490fbe0d8230900b6ef1ff62520800aaac38c208c196e16ab7dde75e2a972467a6a48f4e8c050ca42f0e63f62e43cc9bccdcd9c4259ec9e0940a9bbba3e34a7719382d62526cbf6d3b33445bb3cb2ff398ccc08e6acfc37a1169b94e2876ee113c58167f649446c1dcba9854a387f128386c88502434f8f37a73fc9471206f5cbabc0d9d6785e7f8fd32a333ee4df29f1889d54a7228cc8af541b8441fd72dba210ea1bfc80015e8e495290a7f73eb861c897f42d171d67694ca7bfdf7c7243da7b8682c3173b3ecf576cea75d0398d4134ee36c12189f41d081f4eabd62caba543766ab5a88fdaab6703aa91588b53357175469bcc893df251cb54211172617ab3431cd7ee9ba1e42bd66036f7dc5389f6467f5d5121589960f7196435725af105fb7889630ba2b49e05276ec29a28e91595fd32a2ee32ae2ad758f903720f5b875170a37a6385d121cd89c49c05057ae687bd2bd772ee380e8252676f72ac2b82ab5c649abd8de72513d4bce1b547a63ed4e2273c3156a89ce32a6ba9728753bfcf8f8c8c95e03b6ed4ff665ee6b9f9283b880ecd981322db381bd0de72c5f2ea9ad7bb3555d987159c0e4ed585272d6e3b8e2650bf808d70f222399b720109a5bfc9f0c86074596ad54ea57bf0cf16dc2fdbd381e233e28066b3a13b7292d486e29fcfb9c5ffc69ba1b77e33441dce51c3692f90c9cc1978fb4f452440cdb325c6ab72aff95683d419af45c1e6993cbc641bf1664ba60600c05c1cc66147e71aef11be7965736a5c22578cc0953925ddd4273fabd1284206d1637569712d56bc9f6c3adbb13f9c907be2627df3d3ec23ea9681990a04bd3322c3205c2b82ac2d7544e5af5859822b5cea35c363def69e88ed0e47055138935a67295b729d0f35e1c7c6910db7991e65f86eb9ab24990871d7b29c0e4b47d1c6e20abc2b108cb2fc8d3b4fd53b0678ab34cbd0d1b589583e2b49eda09508ed6f2297ec7236f2ccb06d78266eac65d8231081a38e90c3f047b655208dd4bd551c26af04727be04267b17ea848e3d15ba41e522d5a0c0414f5963e0e90178454f5c6ca3e72d7e99f8312d9a9d94fcb0d9bfc119ae7f1fc0b161f050a8e083a3b1d9cefb972ed35f8ec22e35ef7c24f59e2e6f234c087bc6491a3d5e65a7fca7b2ce5758e728bf791659cf5afdea3bea44216f525f87cf0b6becfbf82afd275aed828d07f3987a5733163ef9c4c37eccfd2971f4b69fe828393e9e6669826e69a71b7a01272394ae0eb2def2aca42b89e196e62c18f228fb51d6851cc513b00edac59195672c724fb01b72493778978d336833f0c333241ee0baf36eb87555f1a2a83591d5dcd6e0adad12bbd6750203f4e75c3b408bb5979ed0f68fb47579a917f88c141727ce6652939d00705941d8ff8c864b6bc5c9607250a0b0bb4847928a9cae7430128164175b93816b1b1fc4ac12e4598db4b96f2b167e35a5a0452885e02ec2c721b8e1725b03ef3b6132a48b6c1f2c4bbade3dbe90026ebadcc2a8819f38a961dcbeedf9ee4f8a8a0a40a04a79cae628beab25f44b911c7b473ca5fb16505d772caced0c9dce686091daa569985c2f90bddb74664be5e0d5c03522f03d70de532eaa5679e3c2bb15b70364a16cfe9e5822ef42035837d2aa83f93988324c6c47268315b9e23d96fe8bea8e01aa603a4664b81158159dd1dcd2b0601e906797772b1b7913e333d2fd42723416177adc6762f48e6dd33023698da8736f0dcc31872338093ab1244deccaec7b67d40e93f231f48b28d26326a5d9a5ac8c397f18972a50bce5ff8192298bffcfa3ba958111a4e9210da98bee95b3237cab80d07917203e61569c7238da5f2c040dd444ca78fa92bf86320c6e218959835250c89ed723746f2f7f682ecbbbd937deb84f153a22816455b7fb404c7fb4facbc149752389a94815bc1e53691003f3a6bdc0f7aae22ce70ee9f9ebdde4ba72dbf6745b8726547f9f526b30b8631492c90fb2272f786726ac1500284398a75825fc32ab972b467b70285d29d77398e713973062e06975f10026bfb9f747e5601afcd29f172e88d0601b691b1ba1132b98fa4628e5276d9fd45ccc5bbbb4a379d62ac64717271d1f12f5a7f4086b6d68c2f180ac20cd005b9a683039fa1ba3555cfb194af726fb5922ea8005294c72bcad588bd37b16eacf7b5a4c4398ca444f198d9c7ed57b1137c9d18939639fcc0671517d167d71dea7733eba2569a1143ec670dd139197b41cfb13a4939629741d0f860917d0e56313031e08939f1a511faa59ae2805d15212b6d8cf2fb518397f97859c4ba10715ab0364f2af73737f5e4dc257d74651ac29c1f265e908ce9f1793a42985dbd8520e22c1cad97b382bc62f416ed0f727db2a44e50407caee8aa5dd73fd1d3be90e85fdf6b3973d32ba74cc1d340c04d369c46f475bbc8e7fe41c5c8143fa36356d45acebd19970624ab4c97b0e5d8728f6eba7c4d3539c0412ae836e1aec6e1c7208c1160097bb65b3374040faa19118ae707f438359e7ee32f0dc8d1d3254d337a82e51d4f3740e3950713e04fb022c331a1e067105bd75fbac41bfe3522566dddc85a671fb2803736ac74d9e6e027efdd1a29af1a81bac7356dc2eb4ddf972881f517f6c72d9fb62447d04a20ca7279a75cdfdb6864a75cf18bc5cb4ba289147b037cbd94447d1e231baa972e79728bb8e0d2786a8b0b6c32f335fe80fd61fe663affa8dbaed7e0894a5a38da876f1c8dcb2c790138a08918d54bafd9dfff10cea9fbfc77cd3e6d647dbe67c24e51a9298def63c5cbb3114e509a7a42fc7c0963c52999dc187ed8830996b171c3720d4e062d96b8e08fc1077905e8c6a91cd090649c345a725d83adc6c1069f1272186f40d1ebfdb4a701a0ba3179052bf9bc42dc26aa994feff14a1415cb52c55c10b37821f19ab3868989d3b4ca3860e066cdb47f12b4f788f33f81f848a78a72db67a4d7c92eea67857537e07819a57ff5bb0c0883e3fa048a8369aeb23d62728c20f0de6285781a1cc1559334240d085fe89653f3b65a9694b9cf1fb4f5052ee2b137ebcb9d708256d11158f52e4c4ec527faf0941b9523e7f9c274c1097556a68e928b8dc7aa322c88426f03942f3bbef6c8d8633d59582dfaaa82b6dcc972b6ae73c0b0304783f225e67e7bafcf1681dd52403fe089a4ef73fade556d1d72892d0cfc7985d9398aaa227e135f4e7413438225196c93897d7717e0dd179f72e5b48a9d24a174aa2d88aa4e934b4272b45070e37009bd2057ab9e5a208793728228e1f52e58eecb172543f9155a1b9e44abd8393f2a392c6465773d0bef6e72b868c078b5deee700fa41b7f614569b22eff951648182767c79db90648a812166aaaaa5938def59a8701ff07a22ddd5a702cce1107a61a72950fa7998e75933e9f070e4ec04167dbf12b09ef7a534965397f7b6561b26e24569fcdcdd4d442723d99e69a856384a3146969d05d00c2c019bcc3489316a6a40aa2893ef39adb61eecf6153eccb4285f67570a49e59458e0a41797bb9622cd5b619b202079d400ad9067997b0bb7bb14ee89f692917aa208372a5ccf0401c97f5de41c3b86a6772f3b9acfa997bf736af56639d84c72ef9fb7da0eeec524b3685b5ce1f768da072a882f15eeadc7d82f17288cc149943bc0e8e268ca908b67937ebd85b0ba14702c1481b2730c2c7ae8d94ab46d4a90a3d8fa98cacf43940445dac74ae9db62c638d35195594dd8f3885cd839ece806bae470c0a67e1816a5f777452af206c0b72573cb69cacc0d460ec45e171f7c84510f48beade13ae0c106c4034fc3f7d5f40332994da98f70c593c2fbfc0e19552b697dcee1049d77c4c301dd741cf704c72508dd1b677eb70bd4096aad4e49357dba734fc03b36a3562fdb7d3c7fb14af72c73d47ffd10183fa2494dc51df395f1ba0461f2952295e666368647b32592472c422a42c45a5bb4b0d90385a33d19e7adf57a97f27f692c71b465aee37a5fc39bdfeac5d819c719928f13f4b1d5c688a056aa843862ddad827e5c024adddb827ba6e304fde98e41cd143737e179e7a0773eae5e6543feeab6827143bf740867256d1d714894852f3ba8c17ab464b2045e6c02b0eee0e84ad7f11ac41d48b4b72e1de94b34546484ea1a09b08c4e1db863248c3a0c0c39b21796714d97a50c75d8c09d1568ceff0f2882ba94f5f775ac46e7debaebf3f83ba1d74f7295dd3c2410ebf9d87eccf22d0f62e22dd0d022eddb420d4a84e5b6f2986869579bd34307215ac1b0694e356d876224addff046e407d79f1121161bc66048d1134ab94b100fe6687fe1d56fd6078f4630db5e96867c4dd115dea62acdc726c665c939c1265339fab65f563f46d2637a564e1501991889a01db8a8404aa193241d5322aa239871a394518370cf7fd1dba92f7222a3de49eeaca9ec39d100d859842a923f2624b3304b43d1ab7278afffe8ea6ea350ea8eba16291c3e3fe1bd88b630c3a461127f92137f3a671fdcf89128b936b3591fd184b5f350a68122c40cc1c452fdd2afb90a0b091be41da0453b8839ce35e0b5b6ac5e931707796aadded4d47442d233cbfb061f19ef84506b9c1948cdc49cc7984cdea233a65fb71d211ee0188fb728bc15a0d07a81509c0fe290121c60a7bdda08c93993b99d4f0c6e55eb461ed36c2a17a3e01bab7d78da9249883584ceb00d5fa45abb9e0751a624bb0e06efb72c2eb60f4ac507687a7086cebb7b7171e0a25e631825826efe1478bd08cc0c536b1ea4abe1f6cd7d64c787819a1b19a4a0b6a11eb1d89b8eb6e4e41131b98b16da452be601370c4136fff2d9880b05c47da1c362c20b32fcb5a9e0e11378b3a6a272ba247f400fa69b590b5e47f6ec4eea516986871fdd782a848481f08af3572e241535a80b1eda2d60634664d1132a2dcf336f4f263b2608114cc9f99bc0e72f21c6ad4ec786e2ea4468d82648705fc3ee433db03d39e95bfbd483131274014a035b149f114768a3418e02ab7df331e48d70ec0d9788d19d005eae207a29a723d4b39596a3a9b357e4de4f5861178d0e8ead9ae13006538a890f7d7c9079472bc9f4045111f186d3856aad6a4d864a2268621d2b9c0f768f98bc703959c9772cd29598e5620f1f2305ba7dce30e136a72b06178334baf2057f46ffa8d373b7240d2855345c025224cb696893c6084a006220964a7bd1aa1ae78907f77190f721e5085625f7a766c098b1e0cacff0233c025bbe850da33ce3817a4852efccf724e8cf84b40fa7c8d02ca25e147e9568260b61bb09dc2d55324e1230c8737744a4de75ce87c94339f7e82da0cd66378ff0091358faff973b7f07a496235afe75ae52bc061213a108657f1f86a2584b7e5e31ed0b4234772c9712dee5e6c279f72ef65527681caeede7908176c657c0e76df05558713513960f52c4c07a9578e72e25b2622f2f70e72f9ff8280db89d878cdc714949559ab845ee94a69a8e12472d1c77b83526313b96621fb8c6d77578cb9c15346e2825a4dfd1ef5c38460ea7266a50438ba27ce61a585a08d7f15b7230ca4325970fa598543a00ee1977ba372b104096999facc60ff7a55e8f277348a8980f0b7c9ef83d6133ee51f1033b05b769f74e9632830e601e5c6690080f3a4d32649d602f0806da696fa60a28cf37202bdaa3582f5565152c1a6e4e1b097b766133a43d8acce40439c1560a6738d21d823e98f14e76f59f8cb8d609e2eb73c252987076f54e5efc00d5eca67757572bf689043b059ebd5b0920b38d3282d0793c2f26b0ede173fb7ed1595f1113b1750bd16fabf1f2b4b31fdcf55cb5bb8ab8a7606ae0f5aa24bd4485b62992763721c5187f92c025854759577da5bbdc19d0a63a02aa0d06840196504f430610b3ac9abe0aa0e6a3d0b811fc67e1dd2d6cd6dcf6eb0db9922c8be3256210aff3b724eb9a371f98592d4decfa0ca64e1dfa27045235cde67b9d49d6f85342f7e24082fa43037feac74cd12158240a45a794474dafb72aed9b2181b9813212d94ea72fe89efe2121ca35305c59a81cffa07478d2fc3a0c4f4645315ddfa624e626c72ff1f9f9c71a9101600d931572f21a5ab48d437f519547ed97135a640c1e01b722f1dbb7a4eee853757aae0ddeb043fe2ae3bbec6bf3cdaac59e8909457a9f372dd14cea09eb0f74cfe4f74a30fc7cabe092fc32e4c97f4d6a551db7369a78c7228b7e2e9c97e4def54783c4a4b2a8e1cb6003b8be03d149d521628873ed47872e33c45fafeb461f532fba1479d8e5bfe01fc61e6f5a57346a3371b0591e5ab6884c5ebb91ee68b434f9f87a256bb21176023b53d66b5bebc4f99e6b66023be72cb8e1a11f02f88dfdaef29874189b8fa93014b4251c17f5b3e0fddf822f62172a0402176871178afa1fd403d6324930be445ff0a080a40f03f89386820024f0e6c44a7f5d7b94da87672ac275318cf4f672977bc11ab5c8f777d9e4387a4ca398fcf566ff31f769ee8202d63374c53baf5bf98ac758d594c667c48bf58a057720f3accc5dd9bd512ea24c78b98f53b3a4bb0a4a873739c6b0877ce82a5891d4664532fb9636fbffb8d3eb4947e0b4af32db86d5afa851192251ef96c6d9f4c3e11176c9e270e700c2214dc2897cea9af89440ce4d5a65ca15787a7acd7a64b724eb015b2fb2dbe94d5551f84f3b18604e3d48667598dcb4933e7984b3300382cb51e1dc593988a98b8ed30b7784930c6d7a8833bdd0a8cdaf9ac2a0677553a52b070298a494f6cfae684b82334259b13fbead0856ae4cfdfcfe40b5579b29d72771de0507738a4c20c45738475045ff6e94e99ac917cf01d95bab7b35db60b245f92ca8581dc12a33b916ba434e6fea7c3123961ebb0f584e14de87ba4cfc9723c335b2fd13e7a4d01dd1be0caaa18ad8f87de1098b5fe2bb1aef794a7feb972618d00bd1bf0f5fd6524ae75267b54e2ede302b00adf7c1ba23295efcfab6172884e596908214425fda57838be88041a4d84c18512622e8c83cd367d92738572a110c331a53c2e82813ac70b252d31de1af3ed4046107478a21cc7dfb79d6a72a0d79737ffc50303287dbc0ecb381ad50ffbf7a04e88470a90e047860db63372c667d675b21a4aa356f77ba5fcc095e8fa96ee2a23a83718bce2f65a4491e74494a91c10a575c777f0883d1325a8507236d458b85707afb4631fe608ccb55d3f8704a7fcc22e9c01d6d1cdd44bf13eb6cd0f17fc00ca2595c40893d2db3763578af65b89c66c18d63d0dfe9e519b909d532a8c27507dbe90e678f07a1018fe72b69054334f5574525eeb67c431ff54bfc1116f30b4fc978a8120581114152572f87aa7c182e80df41d3b9a1d835b8b1bf23c3e6a35ba712d1946e03c93b5fd72c3b16c75d0ff35bf33fe72bbf6bef04f199a572e7889939f698900840b1d6c7208d281146584e106b5e29051d7838793a26b3823237e797dcdb3ccf9f5202d72a68952b031164acf934e36f614c339dbfab88e8e1bf5d99c710ffa2fd11b8a2f76f4b61024327801418299ef6d9b3c68fc07f4ec02c939a78868c9927b487e727c87f2d322cf193883b5f7f119d0a1d4818916561ffc696589d7e3aecc0ae54379be38fd22ad8dbd22752b6f23f53bc7010f72b6f7c8986002c15ff39194197228418f66c0f8a6cf0708c59253f58e47cc86c2490114d5d6d60f5c93864257729907507e86f05510b221a2b3bf8b7b64b6ac8533bfb05507d37f4e7255d25302463b5aca2ffa7b87c1961295fa7214de8ea0ba243ee7b152ff626b5a8f55c72729d400d369ac1802a263210274f5d9fb1236c02a0759908ed18679d55390e1404dc53c6ea7bcfddf852c120c94176203778d11649fd525824697318ef2159c726cb2eca2ec0e42a0c870a0f1c172af2094f5541120d0c3af6879f8cef69ad4728d1aaae2b7b29d752829ac7eb37d6fa762dbb63f0ddc5575d75ff304d0dab07286b6f048f3fb4198dbd03d0047b6979697dac143bf630ff008c1b1651a95c50e9bd16acfedf4b70bd07923bb25b606b30f26c64e1db7f41cb1d0e5242d23d272123f506ab6e4d1568a8c43f4769ca3782e6a57ff1b689af4651c95873667321e2dcc4bc6129e4c4fca44fe9d6f3ee7bf9ebf329e1002aaeb4bfbf1d7d0a1a172fe22c726b9421ee923cfd268c2afb89b6a98e476d97d44eac3893aa8db1740727b9888d070dc66288353308b6cc6216e0ac90c0309ef3c6f857edd3845e0ba726d61cb58af151a7d445ee4f9f4166a1d5987340d3dac1e905ab36d70b7175072618e5a77dfa7f9b3a6dc16519cfe26cde6a7badeaf735a63a04dca50bab0461f2069d3b7033df9fb2dc160f5c02953e7460d30abf7e34ff6d21aee116eff2b55d588545638239972d3b20f09e1b317fdae141821e1471304e740cc014f69924b3eacd2d5e79d4e3e24e24960b7bafc8c968f116172e2550370392c288fc7d369f802d503d91d95a69f5615ad6134264b0218545bb2be5cc97cf86e68b7592a72a40564e4188cfd2bf996bf589916a1f2f8e314a06162de476a6bb5afcc93942510266581e7729ca68a0ae5e5b20c78e7be8fb481e2571673f30ae09e3f099372f833ef95c2cfeda8c69af8d34d237ebb43a6eac6360e598392796ef421eb326436b55f0ddcfecf5d8f281bbd4854be1f3109c8c06552d669b8d2befcae7178381a21774cb8f186b184e25dde3b76f6e166329a20f3270dd85de0dec1adfadd7218d8b3844583584a671beca672205c2bfdb7bf941e725522d3df5e726db6cb51feeacb2ff820fe491fd5dfda440c1d102e15494c72f702d39512750d1cbaf372a241bde69f81f10decfc66284d0d159b9c43cdc6eb45cf590ac44d29cae601532e11a869217d56170d4e194c94605a0d1359069c115c1df5d87e1da314149f72c45828f8ac0b4b693545957f0e673c2efcc1586600853a2b802f285ef22b807232660b8c692876e26f4e9ca3f4a8085c5de5df02f7ee6448d67f05e5d66d3971610990cd6fe99b265157fe9d28629cde9a01878aae2d11d835ed5afcdac3ba0c4816ad402308daf40d9b19baa0842e072be8ee8b1297213b157365408645a372bc9c1f4bfd84255dd06969eabe9d1e3333271a941446fb73e104f8942ee04f649ffc4c8ecc2e6a7912184f2fb0705c47d1143ab9fcf0ee9b605de4625c954a720a2c77efc385ef3035fca06ace482bcdb1b75d6d017f1c1c4e8a935a58d433041bd7f8f269d3f297efadac9639a72d92f7376e8e276f93fad2f7da99fa959b67c0182ed28318f3a002f26eb16c803416683cbf944aa78a202bd5f9e5c339dd7290637835ac8deb3acae89321b55bb48367322aef5c3daff98f695006b278267281dd05eaeb1c2096d1f89e3fa9a6fa7868bba9b56db129e1adce59c5af5b5f0e99712882975ef0ff9ee2806eb48bbb1bba1cef5bd13ec87d431ac8c3986e3e72381b1d14d4bb148a348e4df2e6e13cfd6827d7bac9153621190717250ba03917637392657a3496902b2f2502551c63e286b19525ac03344d8eb0e4c11878f8720a53b526ddcf3ebeac7b8c8582fa3a45369ced5409a1ff2e5955522e0b2b75723aece578e2cb0820f3dabe6ed6a076af193d2bccb76168792cb20553bc505b72185a9103efcc5eb2b4fd748eb14d0acc087210e6ad5ff09bce526f6bf305a430c11037438de3c0af56d2950abddc56b6b3db64b5659543cb22697aaceed933725010cc56a5133785ddb2452803ea7338fb2036a4c96c172bf92322a0c3f42a7230be5cf299c3a4b021fc8abc20b8418957a90c4c45b16664706254db895c3c7262306c69f628ede81c6639a3b7cdf4be712a59f7e05713cf30a1b22e187e8e72bd906180b5c780b9c8b2a4580e5a4fbf4a17205680fcd95c61395f3b1d97d772ffd2b8450f7c8722dd790d990f091629c59f5427f958dbc44e0aaa9ef3e72f724e1a429d9c4ea3471f1fd10b2e2b1e565f2a947a6099cbe7ae0c0f6472f2c47259c58d03765c207f55ad3b6b7939399008d250a94a90c9082a8483e04e92607256c0a8861888f8906c9f5f5d0ae4cdc7d02666f26044b24ea16e29c97b85637238874223aa14fe7b1b9fb674e40aaa9d6e7ad5cfe5e373052e370b677d91457282920dac6756d2cd1728cd369591436ba5ffa83ac3b7c0bcfe18394c360cd672fae675a768ded6d12140d9fcc449c50ff26e57c933b7c7ac95372b007e7c663eb7c4fe3e5d7dd9e11137f9e30178109faee7dae916cbac8c57bd53a7efcbb47298401995aa29528f6f6764cdfff8eb6877b292a0feeeaf7f65f80a87eb882d7232f6a0b9eb682debf702a86fde274932a9e308cebd792cc599efeb4dba8f1a090794d4cee3272dab5a0cbee55409c3e895f6a5dbcc6cbdba4065d88784482753c48680c49e36c461fdd9f1f10aa52f7706f946d5e59da53c8886477381ea8223941de8b9538c9a184ab1053e137dc3187c0c73f19fa2a93a4a1cfcecc95e15720361866c2991748b58be795e1ea2fe6f88f4d6c2131c9ecdb81c3e30ac5a48722baf3d88dbbccc93795a56ec0fed0e98c3e730ff93e409c7b84a58ee40010c35503d86ac26f83f787d952604cdaff7d2e28ac1d3b0fb38da501e72486bf8a7720775fb148f3821765642dec647addad13a83249d7d7f01705d6e03640a4eac4d7952c72b7f782e5f13096cff12632480f0c0cdaf2e6a92b418d2c7a812aa2772e9c9be013ab2815e690e02b0a01f73a9b09e9b90cf2950cb453245d5b6f915720204fa6bf21732dd89d311428ff69c2ee7adbf86095f5f72fed0ff8a6c736c729e6de41ad63d7d6859ce693414f612c69472d848275ad799b47118fb6720247224231f4c28b232b4949a2c04713897c41ead96a0090f5e4f9362d10eecea0672248090bcfb7ce86e3740a0b6fdf125124d3c6c527715a71d1ad16d0f5484cd7265969555b19049393ff3c4c049e9c57903207f00887f0dedde28e9c1ad683e25d02f55498fd01d7067359449cef39f99ccca94f03b8365a8dd4c3bdaf010be71f59e283e93c8faf702237f2d3fbdd6cac23db74a99aa5a94efd1fe10ccd10d7231e55b4c43d1dd80171e8fda04df6074bd99641ef1351b3f985c1aeb5c5e8872cddad955fc45a7ff3a0e9cf5a8739b43e135fb93acd690f42a5a5e4d9a11fa699c3993a362a1de9c5b494f854a2d89edbed6f1171956910e10046edeb5fb6972633a5fa58a0a727ffc7369bdf1dd4b179012646993a1b5ce3e2a97a0cbe8891cf7a0c7c4e7765f96f2c426725ddbbd3df1da6ef7ede9946fdf4aa9c721836f729fa2653a07403f23ef1ea3ec10023a421ce754805216a34135bc16eec218c96bffdc1a20abbd10983991b6e6a806af67bc16701036a0f672086bd7b53cb32f1e6a433b6bcd4df3e046c7cffeea37f6d672496272401d7ef4265235367a0540373b3af389bda40cc589ad08fc9ec01505a955b2cbadd553a054c08b47d0aa325f7ddb8b5ec7af33a6dd5d8fa48a19a9041ecf88b0622a550cf5523fc596477372fcf14a15b99a2feea7d081a742bab93b7d08dc4a1767410e57f640b577db8972bc9604cc130be03a7cb510e6ca252fc856b303d5916c7d3c4d3aab8de645f0326ea676956ecb57bc4d8918f3cb7cca24e27ae984582f26a29057ef024fc82c1909109ae559acbc187cc5dfc8297ca4373c26a40eb4e778799747ed571f2bdf721c2afd61d9ac4a3a739d5d7adb6661c00ffdb913c89b907bf4ba1b63e2e0a9724c9e5358965f0d720c1924f028cfd7ab748f03c4ed9e4a9731e46d577951764bc5fe5387540ffaf2b9c3f37eb23294e6c83d8d7912ddc732f97f274f55035372f3589941b9a14ac471791952fefae52c92318e7161cb41239a6512ab14a95638df815aac2459c9247f7c2f9206f03a6e4cbf1cf8ccd92d76569698081e5d0f72a0310c4ac2192e046eae69336d32b9642868574ad9a62d347b8b335099ef7849ca6c663b24b24b8eb7555f0270bf9969febf1b61ab4c61b80f296c630e624672f799d2cd351249c68411178d71459652fec50468f9d86ad485e6a3a4deb8db07b69eef578e0fb10aca7d830a45f3f0ad56ded87cd54383ef44839c5655516a0c611b86395ab57cf71c909c9bdfe54ce163c11b279fe6f57116794b837bfb9a594e497978b62c1bafbd36d72ae1e97b2e72b6c1793389de07eeeab0f753d6e113e86b4ccd89fc82fd85840e7076d4487bb0302894a30fef4b1a0ee9c05f421c7200d7ac246cce1ad32287690548d2e11ec7203af78b36a1b52cc879eaba814b72f17d6a6d77f9794cf3b9f1f828f4f3cd53b43a531b0322898f5fa1803bcd8e72502d466a0df84a8adaa4d7b496635cf5bd132a7700c98999f783a8d583ac7d72a8df7d49dc3670e905224a89a95fdb2651b568972b28e1bf3d45affdb0fdd80db94eb4681fcfbbef32359296eb36e629e6c4071bf830835aca29889f7868217247d8ec1a47d19050fe9313aee1b2a5e0e1c9eec9a765ed6d895af5c803825d6ec2114636d53eca26afb3525d9b1fc5d1791fcf0c2c3279a48651fbb8e6b7e43f8391643b23e0fc7c565c0506b3f11887c95817e76d4d0cc385fec1a41aae416661c8bc2940e09ff465ebbfd25fc318e3c9a21cc0740938bd341839ed85b0ca560b83b4d54ce22e45d6b546c27414b9ddfc4c8769c580fb556da8aa0dca7808408e94fbad2efac233310029cfc236603aba2b6b2a67daa01a4de8dcb12640256005465c7c2ec068000cfbf6e4df207781e2640effc1b6e65ab3760ab0ad108a72203240b804878229db5c9c0e8e55a61c956e4517cca2407c626da9aeab5a5e2223b341f0d7db6d1e0eaabf149c7feef53db7bcabcd968b87d761ad92fc827e7262c0e71984ae67c18f64dc1395ab89f425a54ca1c50d8d4c3a4e63869b6af044be07b7ce559227399aab39aab1189c30e5aec93f95fcc81fc8f7e405b2cf5c212be8edb663ec3cf667f257ba6f2816f10b976b8019e8957ebda1982a3a33707240cc0c53919a38decc9bbaf3434b5a1182c8b53e8fd0b738017aaf8dd7e54072912939f78e0bbb82edc15bd3b5295073c1366064f80548ef42f0e04770fa9d0b20776703126ced3891d0997a537b9b74f42d4afceffa01c74c86c66595cb3272e5e80abcf1b6ae2c0dc8ae7c0a3ac92483a2a97127409c0c8a313af2ea38ef729ceb44ebffc1f5717233e4f44131ef7d411ae873270ed37b137591133112c6722ff6f9c6b2141fe6befe6f7b4df274826846a140f7742ef9679ea4519b8bfe72e570ad52be95c378da62f9d689d95dbb5ed711c000bc152d4dfb0a417de68b72ce23b3ceaa7ee48f76fb2079e4c1820d778360566b7eec22802a75c71019a772e26d4df397425b3d34b62f71164266d878aae1c966afcbc9e72f87594b8ee75629cdc0a5d8873b85a4b04407450b1f8c955cf1268647b016f8f02eb749acf64c855cdf7b2de927fa177d32e9f16d146870ed47c9f6366e2944b4efc471a5c2727ad9fd67f33014956cd2d27662b7d5b162aa82bf526dce092c7503f72002e216b18f774f2973a054fb6678815d825c70a4884d4d97556fa89f7922301e89fa7248b5da772ce670e7a3d3e659dcb6aca7055f637eecf96a41a52372b085d13c72ec8cbba07a930bd2471ca1200f1e8175b2ea074e51b89b56132572501b0aa772205cbfa4d1c958c7a14d8283e1e3c1ddd92bf91e355d21a51b57c7b2f56ffa729bc98f032d806ac741bcfbb9b1ddc3db9665d7d1b7ba4986137c2236f09c415c11856e2ebea24a9b631f6a897ea05b25b2a24a131e31f98fd14930b16d4c0011d98e6da41128b9675afb6cada8c0869687bdeaa5992ea1f998c20a1c0006a4722ef4adf7e0431aed11ba9f907498db6414699785ae546316462878ab391b9072ad4b58505e29fac643c1aa21b1f44c5834dff31ef3ac870f7519b34b4101f57265da2754a6e134d9402a877a01e0872324cf2e71b8a1d381979a4bf24b40f8397ec2ac9cde5cf9e4ff835a63a296b8432b34e1db5d757121f13c325dd7a2d772b2f99192b9c2245889591e59c4e42eb3f2dfd5a470ef6aaa668fa770f0140127fa28ae240a5764f6ee1f7c28a7d208eebf82fb9559c3002cadd539bb7eaf2272ab9997a293aa43f841c172e71426147815d4acba829ed13d29f1b83ef0b34b72283f0cb84c367af444ea3c408f70df4942a741e5cce8b44f7673f08250d97872ab18ba753d68005cd775079cb1dfa1105c8036649962e04e692d3b43e62ed66324bb0ddd8533199db0f6b5a47029d495c410ccf012d83a95f1381c27adb55731e3811278d9970ce1dcf363d03823fd7ca3b45b686cbf747932c7dd5e3523107211214849f4926efc687e4c0c8f348633c89580d76d3e58165a4463bda05f1f72207ac208202a2496af4a47828e108468a17c3097c3c40dc42be30f767567a6613d3a4b875e8b308858dc6b3dbbe919564c71b12f958e1b66e2177339c039fb11def090c4186289fe6b60aa89d8864d67077022e7e01e8468b71666bad30b2d45b1219496cd8f9fd9e29384bfdad0257d77098855f6b229ec9162dc02c9065a722be873f39e8ca77ca69315343a009e5262e2dcdc41ed8aea8cd82f9b77fdc77247c33032c6df553231940172935ebb27eddfbc9fc3a75147fc801dde9455781971a7dcb8a9071a199e8585f1a556b0b1262df635a5293c44b7076804d9545136c96ab3a1f0f381117b2aa88ee6feba61db80587ce9b0ca47f04a3da4b42e527273a3543a3148605f2c166322749c9ec438f362431108617b06be950174a23872a16b19a8dd0d22adc948636badf62b3140fce00d809d8d38f7453d667a092e72a76c32003594939d67585b3467ac10857bfa90cecf4af0c3f63e880a942a3b72ec9baaaf5cf95a95f182e7e325b1864245f27e431838107749e9b96581517272a50a2d829d7ffb8f55825d38aed1a6bfd1bf64ac4f8c40c9de8649e25fa14272a8d5b5c01e5097fb286747784e0baefd86e11b493ceb3404490111a4d52ce172d8c57d29f09af65a7a5128ec32226ec5fba3a9e28ceac90d185ae39425db6a7295e564a7fc5d4de0f27493bdd2b08a31348274c42fcee753bec560370b589354f6cd5a9f30b3de9cc276248a203e8527e5a7ca3eb1993f0b98e5f1922349c51dfacff713b390e1199f531fe5a355b309d8fdc3087b254876fb254a5e4ae7415ff712a60b01cc185e25fa1066e2791f1b30db65cfb02b989a863151241881b772197df523f8699d9c6393e768424214d0fcbbf3e96af0bbef252bb2f396b1c672180f57fd877f70f182a4135c1f94959bfb1213adc27c3e1137cfb6d59770cb38b91f883c5f6dea4bc1a4ad8df50a5d5b41145ac490772bf16f0e4ddcdc76be7267a424cb78f07190f72f435e1aad52b154f704684000ae1878c841e43d4d4b72b1e9c93791a1b846e0725a6216ca1d5257b6c6f856ab4ae8f0248b150a83d134c96090ed2045d389038114e43b63c6de871445b0ce5943efff0b7d1ec85445687d616344c7920ca927a5f646dfbc4817279904bbc58e882c353efdc6810722728530676b6086534e80b50bea78d68e09edefd27d4b95748c9db797537ed09c72b7b2024067c2fd268a26bd002274c819a5f850d578fbfa87a505cd81e69a9b72cc5e03b80a5f8556e0c1b02840ef6442e6c5ca241acfb1d3b1ecf18cbc5c222d3d7e59023f75a2e865d28cef059e6cb5392b4653424e8336cda5c42c718e9f27ba60428683eb9a644d237083b2308f53b07be188fd7987e272cbbabec26e071b55ed016aa34156d9f5c645e08fa923f8050e723e1fbfc42fb3c3e0454c17e26ba00f369b79a007c4a9eaa407bb389645b0760846fbdf668a037a8edececaff2e560e7d852dde37d2fce2d7cc258ed4f46531451fbbf25cf5420da7445da34c2160149a3da81589982c2b720804a2b6bc8834d1a0769b5f9d8090e789f2fd0672f0752e63f425c6fd5233abd705b951c85d16ad25de412bf73e79f526133df255287f4f6f977ddca89abdc7325c1ad0edca3c8e8cff36256bf9b0c8de730da3230f06c602b1f411e706f8275194eb0b172ac9c77be07c9df9fac260aea04e63729a33baac5850c13c870242ae5786e8b3f86b61a81d08239a61d0a666da78797216789edc14fe1f3839765d3050c2269f4ab0c2efd0d6838070cf9932fcf61a7273b2591a10b155b452257e05c3d5035d0a520ed659cfb0379fbcaa3584183f729e1c4e768c5e188904e0182876364a353e7c98da4f13f201fe8a4ca024ac4772fa00e67ca924a44eb8b39b595bfaa4cd88cfb2aab9f53604a9028053d243ad02bbc28425c1f7a688bc7743baf87357b78ec9ccaf790ba807aecc6d63c28ae34e78558df36e0acd2e03d5cd60519fd31c2ce37e6028a0d438eb5ba0a4a4be7b728fec5e239df13b25462d82f8e7ab5afa7e5ecdf99f170b4facfb22cea4c0860c4ee61ef09f26a63bf1b0e8719bb94938d8c96a8e70bdb125d2b44e945c8e96727de1c76290502ee602c0a20309512bea253c886e114b0bec1af7381bbf3bc729a3ca9a254e805b8fe429064c61bcf982a379005bbbbab57f2dab8679668fbd64535218b9d002090a45866c859c1d87a430aa6e61b7117e53621580b6729d5972442a8af108d5ab71d045c2b722ae8669f8aba0a3cd51e32a4515350322457a72bac70f539c5ecd7ef5004f8cd75a5d4a34114a4cecdee5e9e4a252af4c02b872104626a860f5fc9fa38cf40b2d2ee76fae610b7d0622da5ce71b108e85b64672ba73b5f741734fdc4318998bda8739c10a5b21db58913da308f1cf8de00a2e3496782fda90ab1abcd35e74a0db3f21ab744d5cb775341aec21332dc50069177240e2cda68fbb957277ad64dcfdd58237312dfc1c9dd625c1f4f0f3f78ca07972131cb2d19bae5c3aa351ad191474902baf535b8963146b3d581f9ba4ea8c1e72c13cc047bb260dac054c28032c933e0c3fcd6cd8aed03212ddb545d4946f031dbfd663fcde79109a258ff89b92532f740d3c719048c18e268ced827b16ff1f729baeefc420ebad3c8ede06177331deaf6894a4f461290759f866191d042f7b72fd7259bdcf434bdd394b5e4ad535961e6efb9a373cd9ed3edf0ea858d7392c72b81ebc257ddd8fffbf7378b5a59923ca70e0ca5e185010c83c94957dc9388302cec208f11644099cdbc79783f49edab1cb2d0acb12ef968b8f861723458d457224f6353b0eb7e7dbac587f095b1c31ecdf7161722ca38a61a8317b5f3bba9560d1e8645a1916c8fe923be98890b1e5e427c6088c52219cab9ca02a539a1fc672f4e322c107b2e56acb48f15d77e6bf96748d2569eaa5f70e27bab84d18115e728044e275662bbb57924c1865798d5c50c86938ec10d0c0e6256ffc8d30be6a72f91e7293803ed9788f362b0e3c0a5dfa5d0bb46647ece54473fb53a55ac65672bb525f2a57d9bca32cce4b2dabe767a3800f71951681c4e749b0f691d13d9672fb3597d573c34eb04d1c55cbf0b6a8d3b26094003a6fb84a89dc5d54bbf37172cd436826b9bdd55c14647a41c82300fbc4e979c2cb937547d76d364780e82f721b4ec2d56160b19daf417bd157ffdc34c2591691ef17a88fca98f806e1cad9245e3032f986297d1dd3cfd08cd44ef38f59d7b9607aac9a579fe1737e5bcc0a3c7af9cf16394afc280ae327fc6dbfc79c86a03f7e68f50ba288318939dcba717238481f7876986a48111845e2ced5a1a56b183649ab1c92a81b0685552b77067220a014cfa9116f9e13cc44f5b6d49deb865d67c274219fbda2b7ef3512d4c538c2e91f8c74d466c6b23f259f0d417a9e2a4d7835d8936378d7ad018e049d16720cf64acc906db43b76792e828889ae46c0379247d4fc2ebb66de13369139e77224e9cd3891b802cc750867919cb04665d58ae0d0dc8abf92e8a7281cbacd9a72a1bdd6f5b14c801b9fb72348ac779687b03e90ebe7b52648c3eede008217712d3ec4a55e805af1082a2fff5a699d0d23e68b1463592a51a98f1ecba2e3969911a69a831ca7a7d69b8200c762d9d7712675b5dff1557f102c98a9fe3fa06d6772573ceff915f403e780def12b987d7deda4a3dd56889e8dbc74a9ba773b789c72e837b39b873832b9dff752fe9d53aa64f639440123e5405b6e819e531d0b4865fc009f5c23e06b164e8440f1a55ff7c31231c682742dc42eb312474293ef36729b99f63ff5fc9f258e09ba47ee8c7f346a1f991a0aa58749d3c1c38b7ffe8e4ba586c80a8c91231c29c7937b343d828cb7b9f6ee249195453821bd0937f0184a7c6d8eb53ac3e6ee2183b02b80c0c1af8dd60017cd2150be8f939812dcf3f54a70a889396c37e60fc17fb6bd78e8afaa723a1ced329b616e5dd9ba6155d99d72df06ae4e7becf3777c105b5e99265bec315f5775ab4a4a4854e8d3b114151a72e144b3ebaa63701af0230499a87e29e14760674ab60ecfd1af0b94fba8b5fa72109663f69e0ea0a126166b348115926e9fbe5864ecf76025d1aaeab414e8d772d1313e5536d86fe38b5e58d6fd217815ea05f1c648f45e9ffb7008b0af97df41ed657ffe266021cc3dac4e7e40adbd51f9f0c1e238385bacb9151ad51a08601fb40c4576a8e10584b325531462edabd998447a2adcc1e52c744eea0b0753ec721f328a761b662463441565cf7eac149d0d61e98c23a5ace517f48d6ae5b0bc14345e35e61dcf2ae2cf745a1fd7a72e49f1accad1745044bb313a4021c06f9119120fabc407a8e2a63ad8f33481fa5fed1cb008932dc09c3ea1cd456dbade6572ae0634792f7019d4c996f948d62feea3136d7db3de4fe5c9b48292c438130552b3930c5def53f3d2c445d471bd9de069b314c622e865742c07e25a97914e720fd863047e1e50aef57e5999f4b35c39355d03c47aa01dac3135ed7038ccfa8472b51352557575015aa86316199f7418a4fa5a85781df2a7ab86dd17e1c6fa92727827f8907cb536a3dcae25159b28a2996ea2849ec9a3a4a3194054d09a22047236aed38bdd20eacf1adef1fad83839f168568f152af4247d82e31eeca1a0a6059108854120c4fff12b5ca7f196248b4971fb3247669d1f74208577003cede56bce7d85235523c444290309d5823d114adfea754ad9961852f35f7dcc1e433e0244b05fd04d07fdb3093c1fb6ef7b771b7fd9114758533122287aa9ce1ce12d720b5d2a009f12cdf25047f16735c47815f12584f6a78d906ba133877006d8537230f469cc5587c771be8458b3f2eac1707ace328ed20695d3a4956b83a8c3912dd26f84f3a46881fc09be0ec001c4487e174a0c0559a6d32fd81735c111ae1d5b86907554127189e68cc9b8f203e811aff5fecbdc0338fb39796ec96a91a65e729523eca0e30155615220d07b889590d1b01ba5cd37cfbc0fc16c711a447abc724f091c29fd1bd99b28bd7d88177e7da03732258c937b2fb04a4b0980ff13892c42d24a0ab15479ad92eade681ae5fc0509b7755b3d7fd857a7d83daa60579825aaa923bbcd035a59d3bb5b0838e2d032344f3b2a821b172a81dc91da351b91724612dd871a56bd045ef4b762602295c2a4a36390d76fd87cf42c1dd45f85cf72a798100694ee3dc3055bfb13413b14e98eca1ab48b08b4506c74e8950cb28c7239ac44f8f36c863651a932841af26ca99be998a20d5bcdbfda0ea53482002d72fd4ace699ec9a606e9f7c6afb67cba27638e474023de6907abd408be6cf33d72b33c048481a2a198b53c1008217fd58b302b46fbe777182f1e0e74690c79bf3c8cb2ca118de1405c687fdaaef5627c2649a7c322daa61c4e6d94d6b1a7966c7234d8331aad0105f714d2d20a357b8577573d92e15fbcf127fc4b824477ef6b45e5c0fb6370a8ad853751f2e01a500c7e525ca04a1ccf69c34bd75725fee68a37dff697c3b2a0ea1aa5761a0cae060eaf4775ccaa2f2253325fcc9d3a595aa5462141695e1252079923888128645f571b249090b03491872cb8484894556ec7665d986ab83a9b27fb514213c681490c83f08aec8fe2524779f94c4d79176c6072a6133aed99235bd1ebc848f494c4fb9cd2acfba6abda892092034bcf4c79757281f9e75cf781bdf803f275e0d8e7f18b8bba310bd172b2b4ed2a0c85062e772b927c43a0d8c0611c9994bb3dccc708a9b505cadd15482a7c08a0fd0dee057e72ecaf768e28b0cba1b3735ffdd7154486a81de087ccbacc9d1f4483d8e838e9729892453a1be5cf3979c1a3f7d6978b4707df1482f83ad7999c71de0cb707e42719cdf9062da06cd65875242974cc7ca58b81be32f67db1d49b1f1ca4eb9ac556f9c2af4661da532402d823cc3c385d59632776b67d228fbae04c0ad234385037bded9742274fd2f318efaf7b1addd33f2df1831810dafa76e136907525897472449b9426017c5c6aab9b9b208a51ee22d125c7c082dca8ea0417e6ce328b90728952880346f21446c6e0c9bdb3b6287aa13a455cd2d0960c03c063cffb7f231a8b370f42ac3b78484416c4bb993a237c7dbf27248e4600e26070134f5de4d072736b5211bb447507eff787aef32743cf1e9799f510e37e52a98bf4226eef4672381f465f71ee86623d7656939c242893f84b63a37b2b8ef268175be4b8cf8b726c3623f6bbabf57181e474e225c7e7001dd6b68ef5f6f270b3a414d50efcd84e9edb99ec3c9230c0a92227f23fb399c05555ddead2429f80d510b59ed40c567299042ed60c8ada96679b91e3fae3f7ad2e05eca939d10344a2c8ec789931f472ff4f91484266d6b444ae76b8f4b9fa339fb2c953d62cae2b3d6998e84d841f724e7e993f2f32b1b6d7f77ee15f234e7716453662728a2b50b71c37eeb1123053ecec2ce6e5dad3e1023d9a22d3920edb929e121f0de5a347b86c0f39bbe0c35d6f144e565c6bb8f9a0e468545781ceae50911a6ae672959d802f26ddecb04637c1a38bb989c3a9655033fa70ae7d15f4c4f85371c4297304a83f81c61d7ce22b2b13d4eecf817fadf576962255deeabe33c5eb2589ea7f2ecf040b62ef7f7a7225bb84a62b80262befe68c9c9a9664b6b9929fcac770a8b63f03db7a0c506672ea6d7744a04eadbbb5e7bdf8bae113f47dd07871a03aedf901eec7423e90387292514960a7e54f16959efbab7d40f97c2ed6ca25d8e7571b13237d23edee2c12daf74e8a13376420e0e3d93151d508007cd6c37fc2ad5c1413d78aeccfbedd726b0db04d5ca985eb1db5f8f597c1157b6c45d3ce4ced18ad999f6cf1258bc67273c6608f7a595fbd383c50dbb57801eff97aa8cdef6dfd9dd3ada5670b703072f6077ff0bc18dd4d961edfdc93ed759cbac7a3f208db491352c2b26e3b2cb30608e7031515c124d752781bdfe8635b37fdd3612aca658c3ca85affa49a479a72945c0061f7552f2fc8f1d41abb4830e8ab03e86f05cbfb13f02bef7f6d18061b933a8f0548567c6a47f6ecb50710d4e22de37918fb8af87515c62a0fbff58372f230f1c1a821f122eca341a39918f2ba383ba0a51d7cc0471b83b943bc8f21728c92073d23e86330a11c12b232c39ab80751b4f67f36da8ca278b777cb010b72bb6d1725cbcfa5455e1f3cb0f3f2e76ac56d0fe4d51b798d8b21aa8791b99e729702193d879ea10c674a5c331d739ef2d8d6b2a7f9bfee7fc52516f7bfa7f5721d70dbaaae7fedb2432d7c7c1e7d42972c96fc68d5a44fae07a246088beeee72c084ae40522ae60e599e10ffc0c844c3c91b5e443cb89c4d2da4293250089a674b04c1916f891e1dd5ad24ede91f4f1166d19c051e1f810fbd075bebe33935468eca83ad767dbe95f1cae6cfbc45cc2a89390aec845cac5d3106ef1ff6aa0472025aa1f9fa006729c295714288168df6ff0e7017fc4354b684d3899fc307b3720a24b035b809ecb37e6e83d8fa0c6f4bafdd6f4585ce1967eb660a29499fbf727d08380dbc14368fc6c53ef7d8d25f94b1f355d7657b30f527debb7daa69a919c990304aa0f995c664cb6a908a93aba706682fcd610918bca77f2145e60714703c9c90cbcfc015b52712ca6356fba468235d81f84d89fbff4e5238aa62b39e0750d8e3ab2995fb7de43415bd1aaeb2a17641c665aa1fbebfd8e027e8bea869476a3dbf094e5203b4385127f99d4aa68e6538f81230d4d78bd9e573ad9d302372fafe6cf86a010641a5ee079b13e8340045bc01bd8006dbb9086b0cee8f4390531462391643e42577a8fa6a6cc9fc04c78e56fa0366a29c8af8837ccec211b716c50fd7197f052295251556b95851ff29364eaf09c8afae59eb60539d4b20157211dfc3eab4525ddded09cdbb536c2d4f0c6fee74d9ab42079d9206465f72fb7252f633c357480295de8ad656066515fa108e5141b0e432b6eb0be45a9fc7a32661dc6257be15abb9549ad2392c6c61c61a5ec9dca722e156fb022357b09d8d0d9707b51880155133022cf98c54f03d09d92036d5a0ec952adc5db731f45ce942005596de48e6308640c6549d1aa1bdbf0b4da13e7af69bf28cf6494fb7a96c72ae0cd714f3bbe37373bf9ea21dffe17c3bb1c3c511f24bb20aef5e0c5d44a9722320f6aa1d2750c43d2239afbd6584b62d23fa2b11ba7d2b08a7dd47fbcbb6725303c8daf1b1cb55d36cb4326294c486836cf73ae1086357a39dcafe863a8f69a6cfc4aad2c9f92563232fbf1e3b9e28d7a3f330e2e8fdc0ce4b19c560134572273ad866f3c3c3eba386976cb94bca580b625ba4b55d135973bbd94fcebdc472528afa625d8b0530894b16cd0a55900eeee3f72a218ad725947d1b2db5fbf235152e7d7d4f160367793e916b9510cb9e94402edb1e190b6d28ce57c0a3cbfa7212670e9678abc3b6b5492c4f7f42bb2bc17938120b78686156e05d24a85ba372cae07e3383900d5b7353e4b709f1c0587013f9e3b7ebd6a2e841bce2968f9672214fada9959bc63d7bd48417e5affd906dda43425b330720cf22e99b6a1d8072e3ea30dbb3cd9c8c2913408a643a35c19ddff9f9f417606a26d904e7ad249c0ea52a1662c87210de75bdd4929c812dc56fe1375062cd1000e9a9453aec9a7c60b39218292b7a245681791f0a1dc4450f9ceb54b8ebcd766fbf983c97ef9d107207f4f7a21b890d3667787e20a2820c5999ae16f5704df4ff65ceaf262308a26d617f0ca49ca0a80588b5a38b6800aafacddb11df8c04fa912f4320cb280a0472b492030a7c8eb71cafd7b8b479ca931f2c46f0b539e9dc6c1637f45697e2af722f3af3c77f19e1258befcdf850c97da0090ad548d6febefd4526247c687730722c42d7c6f39b12a01e26919d8fb31eb95877f9ef87e81c39112da7975fa4ca7277c0a31cfff4f76478f37fea39795eb9561d64d8136487f2a4be98c957f78c72305c680f730b7b66f8f5c0daf5af76925d7006bb753dde70cd36e6f82a1d5c626144c12edf814fb5428c9dc57253492cd44c23db7a0b8eb64c5017208d7fd80ce2a75bdab82ab386686d64fe38edab1bf0c4840fc8fe666e61a0f4e08351ca6854238a74eee1876239df72aabf10622fdf82760c0ecada74d897111814811f4c79da22870e9b825b69bc1a6ea8924ce2cf86dc6bf3d05dc9e3e93c6b74bd4f473461268a328a4bcea2413035febece64acdec72fea8cf798e8d6973262ccf672fa595fd0289b48eab44a499f71010208d659bab1ae45b2a5425cc6980cd64c14f1a8c386a255501cb504bc0feedcab19b09c9605058488e97eb0594cb463a172fc47c5458944e4fee8c961926d5a891f831d2cc52707a48862dce263921925721c85e2541de7ca5b6c5350475c3f5e61c21eb3c1eb173155430e12839073a172fc3f1e131a877eafd676b996c34537b00734eaa5c2c0d47a1410415c011586726c32a9a3347a8c98cdd18b8811c7906ef85e301620681bb106f16af460101d270c034bf30d0852ea81006d33a2e786386930a1b2b30c8ca2abfa5ad9c7d09772804fc98f40b7389f7f6226c4264dcee557a65cd0a93e66073d8cec18ca4d0c72420846e35bdbe1440ea9bf2488308585f991a5ed673c5fbb698574466324be72eb4c6221995793dc76bdd1029ea34e371ccfb45ef807e1e0f89c6583b157964ec90e67c67b9e0f477eacb3a0b719f463b992f461158cac2b3c681a30c243ff115aecf98ae45be4751c937f7d12d5dbff22febb98a4a6b344b022430c5be7297269ea87aeee45b284b83d955052f2efe3055889513d1ff5f5366696576f2e3272e374defdee8a99777c9fc293ed3d02f6a4294b8513bd1ad5df7e22b2a31419727d18de2e3fd5732e4fbe5ba3f17c75ab9a741f3c708a197dd2ada2ac96ddaa726d65d3389d8bf6c759f5c8b5643526fcc2e937bcdbb8d4b83ad1b2f369323921041d01ba29ef10344d7c6fe1e29d67c501d03ccd8fb3f2e2ac690afd5dbb577223a690e6b1868dd61a143fbcd2b203d0d0e210d56f2e03cb94ae9057c0532e72c33ccd4e7cfb6f07d7393124722360b55fd23121a72a3ede3d17be195b3f7c7215e27dfbfb89eaccbd88151ea807e7780789496211be28f409e22fb0a1957c4ec29e49f8e0ebdf2ae002cc780f33aeb75195d5c942b8c1d37caa68c0b61e1072464f36e14606376b7d8f3418f5ea4b941638c9cda164255e24a0690e95886e7258442661e2b1c0f7e62f16fbc72c402c59c17517e84043d291ce1e6040b5f73293e445d4f04fd5cd01911712b723b82b75804b4b6ec65073a16f99386bac2e72ff4d1f69187200646e2ec571ead21eececcc9b7b7cae39f8b1e8f2c305a4d6721bebf9a63640a2df8dc21b477b563788ddfa0b25df3befd4b85f1aa19080b172a8ff44a648aaa13f5dc2b6ef2b57e59e1878498f6cb864ebdad14a1ea1affe3a0802da9f8f5697cff954ba5a6e4cf397684af1b83348b90cd38cb78b627e596da0a20911b7116beb7b0f94af8ca5594ae8fd90b81ff2dfa89b514d3bdf400e72eaa021a17bc40ff16cb55a90556bf5f9ce87bb43f431b6327064573c8d6eff1c8a8410870e8ad2a544d930023d993507ef1d0bca8d401224227f445cd1390572036cfea696650f6ebeac67ee062e5832f4a9d987399207d07351d365871f5b30653726c7968889b200989e9eb587e2e455492fc0fcc0a6f4540920edaef6d972578d37c651d2196ab79f305d84e4474720c6e6e30da59ba595503274c1fd5e2bcf900f42794bbf0bf28cc11e45072e521012e5af9c01d3c576195e9a40d9bf72aebdf0cceaa067eacc85b3f457ad2752f5ed71d74d26560c40d0f9a13d02a472d206029cb12de1e6991483d2b11ccac6d5dd3e4cfb321777a9d80ed7529cb057057a90fb071bffc5bc8ad1bd348bb7d927e3ab97266e72028d1eb59e3f854d729c58a1d14651f8c873984de45f81c0eb25cc8c22dd1649b64f32b3575f1d1e23ad18d1f8f68e364ab5a3f681a5e745686ad4cf1f386e121fbd61cba1792923439db4d958d63322624bc0b5d6888178e25799f94dfe4fd6329991854fa6c1bc72a305144f7c662a91a0794a44db18f72aa15b1e0ae25ec79a4079bb5fb29632595244e797c4d8b029d04eb43bcd2f86d249298f7b80e4c3da0d832c174db69d7204a18befb53f5bd32852fcab427d455ec99e88e62d878007d831f6408a58a9727cb2681483a0307262696ba9bcd993c3253f120b184cddaf3a69b0991a863072022be267970f536db8bd34a2b95c54c0d4e98340da295ca715b9c22940893e36f30795668b14180b24985b2b13fb46426f67a14611b00d2fe4a8a8797de9bf72e8dc4e0f34d4c6cf8e098657a2bec05e3c92e7883e598a42ae23360d5ff5e972326b78fbdb4c5a12f5f87d13acb679124791c94392985b6921699acf29cbd56e88e5a39a0adb28ed4192118e09ab2f8eabe31395fdffc212fc88ca917f7b183b09bb14cd06aa461da6571fb7f1b6a69fc01741238f75243012aed2061ef74d729c21beba65d897ad1b36d43ce9c9219d08d9ded7e91ea8a052ccc7fb56ea9d72b169fe30cc310c83ed0d9819423f70cdae313e84b9e0b5e773a2187f01666e4fa9be499e691f58ab69f9aa0ea07a99a58141acfa7d733a9c3d00a6792b51324a7f3189f8214dd2a24dd0ce31ae0e00b67898b31a1f409e4f97365eeaeb3449726237e9d149e8b8b1e55a48ea0f145188bc3de86a54c262bb0acb758ba49aab72b23ddd1519abf6c7437e3a31d08a42e9c1ff0a685bc342032a9557a8648d8d45ab6e34a2f1d3d81176c6966b5c1a35d9bc68b818a40468fc2503608790edf972d6fb946269410d20d6151ce4fcd8dd0ead9977e670081811ddeb9932e99be1725385a8ad05276cfc446a7283aafb58ad8d9af17b7b332ca4ab2d63f86b6dba7250b1094bc540804dfe0f1004d06a35aa0658b46284eb4bbbab59ffb02707f914a10e8721b27827c48d94f8d355ea0607ff8e68ae9596f861412d97d5ce178e72068002c8ccaf2a9907d8d9a4d6ab6c2605e3832e33ded7c31857b523c5c6497225eb21a365be710e3748bcf39d04a5ab3b2a8cd03dbbd80ffe3deb4cc1b9ac5399a27fb054307d7409a91c1e32d3e4fe2be23817bff8bef4188e5bb549b37e72ed7b19230a061f83b6d168694d0de4eed28d4c6e1fc2c31c7997ba5bed859322e28ae9252088c6706984dac15ff56bf94e4f2e82d903d530b276b625945b182e234480d9771096ca65888c33e6f35f724ceb60278603c38751056f780af8432f7e351fcfe14fd9cbfbb45115840494710215d539f2003ce69b2bdad1299b2a72712507c918f0d4fd70380b0649962db909e6d52d633c4c3fb57d8a010590b572eb750962aa22d68baf58eb77f9502a332f02c1bf938bb5404458d9a6d83daf2a4d11e3e28d4087951999baafaae6b7451f341f8f2d1176de7dd91e54a7dd012f695286e41eae4373b87f2e1c865b36e783176f998e6fb59da6655cca5914a572cae9d69054e208fbf25221d7baa195dbd7e64db2a07e9f98c09ca8005233e072f1053c72932bb6d10a078d661a319159dd5c2f0456efb2a72f6aad546df47c1852616ea431325c926bfca623e764052d0c6b48b38454b446716aa433d9fbbb723b94a0bb54dfd9bdbffca6c37e1ed4631c83a832c4e8172ca1f6e471182ca772a01d224df3ed4e4ffd1e944a9c6acb08ea9f42a162f0bac7bedc209dff5534729824ed439be6e735cb46f3c06511088bf4e7e58dac990993b3930780905d264597d5364d61d46fb235481180cc8f9b4b9ddac523187ee1069776396d3a5d38724c4ecddc96601275a694ec3613da37c8fccb191fa4a661da90812bf8cfa914728931f9398d9b740e03fd34725a77a48dd4d04d66725795de8db7c0d3e05f101b5db7e499a7c04dbf30d06a5d9cd9c3e37b81ca350ce860c4f23a539b6f511772a126a031874c70408640213032fdf44af0d96907ba51ba1a2b2334fc6a50da462fb71848da5d922746c10757a3c03ebc9c62a725dd4ffd565e636ac3049cdd724d365f9f48fb631b802b1f1c32ce3d26abc120802f96471b66789168122132729fe6df10a94676fc4d05d37dbbc22f663cc81508da9381fe0379c35e9efe2372ca023575b085407bc0938a3e6d45a94d2a8408d22e5119a4d99557e81dfa297209263d02a0db4c4dcac282afdca381dc96444e42b2c6617abe89ad188c41e36758779165201e37a631f25a8b147dc382fffd5b6513157df5ab459f49e2923867ff616d2883a25bce956ea712739ff73baf5f8a59a73fd952a3718a48f416b772676805e68466ed7ad61b00779b1d940d62cb86f59b94effe68b61eec9912565bd7ba4a938cd7d82844db5a0a6ca4155359f707ff69a71375711594bbc0a5c53f06b29b3347eae441ac45d87908ec756d52212b06e00e549c18979d603e8121729a8fd42d4a5795fc787b0cf26c8e43d2d052a25f5b83244bd462ba70b46a851744b921cf16963f8e30df43f8d67d96ccd6c2faf54c5d363803acca0f6ea46a72fa19334316d860ffa59e4496efc6d54bc9a765283cd0854f2a5b0072fe91bc7225e9afb81eff0bea30cb127a0089a5d364891d71808247daaefe459175b44072353102a3056d3739cb8fe8fa466e4bd4726164871ad1f9d27732c8fbc66bf106db05723891aceca5b5eea4409782bb2da17c3ed64e2b72eadc0350086acd82727b217acd775fe9c9d7992c611e0fcf58a5f1d9a945c93ba0b9393e4a67816f595e12cabd548e730732c866010d7c82b57718671df20766699958a548cc2e5272bcaeb78fb9ab628cb90b025bf783be2ea4da778b5fa17fdef6f11cb65a6d990a5ff0dd9e3500dbe7c413abcf4ad475f4a50b2c8717d29eb47cd9473082185406b3c579a5ad2759b9c07345427e0f9a5a372f9af46a0592ae66697c75ef8a7c59144966c3561b0835c4ea6306c52a4ba26eebaac41317cf048fcd63a678f8cc72f7b65a15120965b7c2d4728d9394ab107407a3f26ca12554bdf8a50efee21d23b372b7304fc4fe2f56b828ff6db10368d40bd57e0caebe8051faacd58eabfa37fd66e77f58a201031595f4154052f7fb874e273bec1696cef755c9cea6a867071fd927e34649f6d953c0967eff548b625a4c4ed7fef5ea3fb40dd8343137db02a9c6e0b7280eec116ffa242ef0628187682f47cce5c84ebe05d4b05dff483a0c419f8bbbf529612fed98569292c19e480f2ebdfd6a907c40a6f8918d7dd7ff7212a58c5e1d3a8eae0f92e4349c2f6f0587eb94c8ed08b42563319d568c167d72a41360b84e3d740d50e26d451e378afdb674c96a01ff329d4887a5f71963c51abf4111c5bd8520009b44f729d622d038b05fa3773385707e64bfc4512581e50dc7f113ca3feab0c321998abb91578bc1ff7dbff1d3b3a1606b5e1bfda1b64901201317929661727ed66a3518dadea85c2da23a4e218d01e933297570a3b090577b8f3a5e9fa075e2cbec0eb1952bfa39e49812b027ea46efa4ac460f8cffc57220b65191c2a297642ba4327ed933cf5e7c49b1bb4789cf2f5d87782462cd7c7211f9c40a2f6d91bafcd5df0039b398080070fe2454351ca67aee79c6c7b1ad728005c21d7ce2658af12386299df8fecde3456c9b2a0c06e1e270fb71911c68623f19d611d1759156adf92362513c09d331c7c282e8ed453aaae0912e68276e729a3a0083651f3c183ce1cd4092c7111465713a89d7ea02f2e0ab1d42f84efe723bc6e07b8220f64fa805310d8499e09d9bcc37acecc5b27bc49c6584b84612727149d27a7958a6755ee9bec6e4b91fa173033eaae70523e581814b50a5bf66723fd9ee4668f12b51fe66d092eb6b8009d03cfef32ec6bba5108bcf003aff8f7298b9b71ad4e1a9d928a1b3f2f795bbe4ccf5c6496dfbb63293e4d30835846972137d5cfaf453ace7c3a3c1077ff7a8f55d65e5ce793b87127f706138102c4d132040bc38421f0385f0c44aa9d61430ef5aa80375ab1f1df29ce278f7d26a29726cc9bf610bc352a78055c9ceba332b182bcde56f5580cd2f671c27ecb4045c7253180ccf7cde363aa0f281f2c635708cd4c2ed078763b0dc6266336557e676721b4953860ff3cee58a5703975bb0f8056576263876976ceb2c1dcaafa20c5472b2845c571065b10b55d7ad38bf72627dd7fa8671588a2017cf29601005e7a004d0ab16852ded34e65dd984b8bd74f2db09159b8682df50fa8aff42cd38e9e07258e8f6e2be008a548b695f72d61c68515b6d72f373642c30be85cf9a07095b72fae5371c50aeec59f06f89015710c828f157e8fc7446022f7b65465e81a0e0245c5784418591fdea74d0885fc7cc1baee58fee6bb149ac6087ea3f435a9e56724259705441b2c8248623e3f065f876bbfdf862ef37a39007b2340196cd780d0cab1b2fa008100c72534b5a522cef8ed900415aff852020ddd188949016130e0e7389fb2646befcf7bfabca10ab5e2f59880ad8dd891ea72a457d01492b8dac7212103465865d186c44739d0cbd07538cda13b68fda9568948e1e66f2f0f6ea72ea941bacb330fe27af0931d03501054be0271e3b3f7246f18b84b8611a0cb2721db77dfbc245ed784c879e18b67e418e70c67143eab4dd4fd63d6c101de6927261c2c1bbe47fa788cabe34a2a0c199f51af422b2e934c37afe411c8cac069a724d19fb2948b32b7ea9e3328fd3008bb4d82adec147d6446bace6314ceca50c442458b2d0223b6c30b87d4e560e487d78976d619dc709bfe123bfb34125c75f726d2f0c0cbe89e0ad9524547efd2e002a831424ff6b337d1c9d207beb7e08c972603d4570a04793e8907c9f672ea29374e6d89c3467cb360c8d507288eb40a943145e1195b0bf34c5799c24fd5ceb440705fdb24300d8b9ea2f111433afc7317261fe46916be2946cbf5a61e65598160a7c372e641e10312eaa2ff875002059725bc5b63f38e6f96e10ac94e793177fee7ec36d90e7220b15f3cd1c8b9d7f0f16221c772241fc8d43d378df8096fa00a9b50efcb0e078819031a56df42c873e72528f66c102cac47097143725ba0d0bb8ab3c7ec7c612d3a40d9ce4f470cfdf55d52d55be21a5826e433d2552f1bd35d9817a31dc324d405582dfba180008175fea4337515be874e9cb42c04ae51831e5464888dcaf22d97a33671ed540036172b2c5c5af85619d2d4d95fff0bacef8d6c4b50727c101066c40c16d4edb4fef72f954a39f1054dd9317cd81f3877310b33c2afe73a6d8ad7c7e56ece40470b21841c65608a3fc579762a5cbcfa6aa1d357ab0f3ebc5a2b7fd4b06142ac03c394985898c2428b92beeddaf2944b3ec099515df8d45ac8a217a42b2808c155a7b2e576c0b6822b4b44ae8037b2d21581ff8904d1990400d0f11d515bf8387cb2a70c0cf5ff9b5e46c18070ad9af0d91ab1a16a9e4adc4fcaba67d617180e0b293622c58b6b6ec522082eaab2582d238443329b3ee32ca307efde1f51e6ef6ead63026e5765853f6870f7c2e31dc619270f55c8a0b70706eca12eb2f531619b0d4600859827e71fc3c738fc837ba450f3e096b950ceb888b5198874d23265634377237b09e7589404a45f402c0b3be5b48c866a14121f8804dd64fa9cb0e5f92ea0d3b6ffd35f82d9185495cc8ddb32ea35b8ae85d877cca6761b0bda17abf027472768f2b008007cbb4b439406c2631a719fb62bc3de5e425009a293a5fd93a84725179fc1f60ba6e5fc0945e8e48166fec2737f71dabfd4639e024db86787245727903e5871e869492e22b7fa5c493a44ec75fbc66380c13c5c18b164cb92c0b2f3403f39a3caa025211d8d445ff73c8f9628fd3ff154d9f15070ae223fa727d72d635daa7f6569face37d11749628dc5bf2d23e5248b28ae647c1bc4a7b364472b8c07b4b1b52f477dba6bfb0803a0e0cd4735534d5f270860cf0f683ad6b2f72405f00d874aa2ca38bc86b2bdc770274cdd3e2e20c61c44c9ad5cd8c5caa2872902c37b1e9de3c8603884e989dfa6ec8b209142415b9a46b11387bc43a5932432be419117b240a32f457734fbe56b044718062b703b3c06642c2e8794efeab72107059aaef259a2a997f39f1028db98e4ff1b2c0f7c8783bc1c88b3aec182a72648e075feb7e4bf3b58b9340e8ff8768c342a1bfc33ca67286689a564682eb1e24e22ed0927a41c29b14a8387e6a210b4be0f7066a5d49e064cd4b267ffa104a1abfbdf3b64ed5e066c6d811a4219650a5b06ca77665e75201476b38d3c89d720b1736208edb108a81efbbd05f4d9a5ff64e55596a754f7977b309f7087bec25c9449e02dd336567ba5a15af1a7b1750222f7618e8c91807ba309f2b8fab5f72dd8eed526c459ecfe18f7a2b8a2b365dc775ba9f5f335026c5d2385ee2cc7e1208a15a6b7bc20fe5c8e33dc2333ca57d70a5ac8a0a779004029e39012d9f7b1795070cac567928621721a78baaa765add41f851b9512dca1281d68eb4598c772aecf104c59f2f3d6df5190e3f388ec41a60982e969ac104db0d23b4166def272be87be54d4e872c4f8517efe429a926c16d8917a9c71b0ebe92d03923662557213f543aa7acc8b0354c9353d0a91b9b9d1a21a891f62b767c3be681dcb039672b67ad55ca0c9e904247cf824543faf7d266900e7c275c3a92c117730c3626222e864271d121a3a780868a0c8eaa9f86c6cb71860766b4e1c800f296a1138497287efd4fa45bbb8a8446416e6e7fe2f8943ffc3af0e09844020f79b0ba0ade86fc6eafc0c1d05b7504c7d14464fb806268de17090852a5e2af3dcc5dd67ef6c016cae81234f0ed458895e68ebccd467547084e6a4dddb1f32d35caf10b0db19723f43d30361044f1c1af42d7d545be974dd1177b8fa44210da5eb60d04218f239854660327ec5a3335291d5ef638be435653b06b2d6eab1e8c929239291643a72c1019e7d2adfe8bee86278cd1baa56265f77853e87aafab7a65be0446256445ae8960f097802ea5924e099b4023c4fc5f1e10dd7c826debedeb3aee1c90af97274f842a7700aa1b8849626652a18e22124169a9b58eee9287348f646e58f087243b7fa964a5271ce8d68f720c18102f7f6fca26a472a5ca5cff804a10a79fa72540e9d9c70e9e84d894353611dfb1c17c5ce21803e3536c01b5271b488f22d72a4e75de5fc054dc27a835fa36c8b520b393237cac2770227d0813f99ab612a4bd3695b180f42bed1c405e5eef90ab07efd231773cb4bbaa455095305b0c89572bf4b3838f587c1c0fba6b306eb60fc8898e1535053c32c97886f066ab66df672569cda6ead542bae72974af2609ca475a96770d01eebb8edfac087c84114fe72b10ed0183716c7dc7604ec0c30a6162765c5042847ae88acbeae960a224e401319f303b913c6d599c6d7afb54b195c9945d3fb346b174141f63d397a4cd33172cc27cf429186b0d5b4b5ab103acf34eb33fe3acd27a4b1df7e6b66fc1696985b6e13f510b893f9d635dec630c002167e26f86ff04d4eeedf7fe3d4f3322ed2725b9cd5c9e031243c821d658746a4e35c5ed55f590b1d4d6889742a14dc7729626f85cfcc14e4024aa18524157bc7a4eefcbf48cb4c53c1641be860c2f891d80e9071fb54f1a422404435654c6ca95d6338a696c1be3de7becb8831dc72cf9858f3cbaa6d4051cbf72aecd43bd125426de06b205c907c9af4f104f78c27578d72b3b31822abbeb6fea59fd2b7b74543be4e89e37dfcdb9b3a0c72416f531c60703dc8bdda0ecc6b33a8db7eba3fd134ceeeb7856fbb9a1618d4ac311bd08f0072f3f53f0df7652b026db568b14cc4605605739a51e1f9829c6fe1342680b9df726f1091344736bff60eafd05e0eded1c7830e1a07f84af77e1362ad703cac2b72f399ddb8d3ed74d5413912f9f1add05c8f26e557c3bf8c9a7a4f8c356e0da8723c04c4be3f0571f9985eabdc54ad8e5885da961883747e3f553e9dbed642347283548077b9406e335117bb82a960cbb45c74cbc4e3423934f894f8c42d2c247290f7c7ad273f51557aeb62b04b8b14c0418fb832671a444274338275a489ca72c1948d56f73a4668aef524b3fc9463ae4d41346e2181296e93d846460cab167262bdd490eaa1bbb3a05b950afdebefaa504295e017292ad7dbdb6f04f538a1728b929a40e2fa8abea6c86194f1b4620702df4b74339585417c45da5544424772ac1a168d2c9c97af407f7d1e74ef427b5cb76d2e847d733c4dd036962a73376dce42e2c3e6b2d4d18399cecb0dee55626b6e3d6984366a183e329150befcf672514f9f720571326a343b8a5a8a47a1fb6862892ee12d128517266301c65354472530debfd35b9d710b356ffed4f9a21a67dc72b2ebcf960e3d17f1976a04986dbe68c5d6cd2534ec2b8cfae550c4b5b887848ad6c65f4fcf2a85eeade221ec519e8ff291090bd658c2848886c121b536adbb93e3bd70cb7817e60ea49add6a01cbed82bd3bbccdcdd9d283cf73f125da2d850d5349e96a91a4cebf35c794255349cfe66e61ec9b82a6d42ea37d54f4fcc2e2b9e842024b42460728023fd17772996ee467e7bba64e0c623c5eca8c668e748e13e301e940b1a2aa29581938b072e511bf8798d988d1bf422298493c5d6eb01f8d8df89f8d86f7e29ac47dde9072c254303c00ced9bf67cba77b99a0e3096846a087465d4464dab8778cdf2a100b00b926d9f06b4bdee9acd3ad7a90012881a011d4c2672d5168918bf36e3a08724588fb568b1b41344f029c1361ac4ec8f9f2307ad34d8916f1b7b02eacb62f72173a3a90715741bf1a72500bb2d935078c57f1a651771ba87149cfc8b14f7c728d377a20676c60f13b5848a7e98bb4c8dfd3750964010c0de9b049324a581372f5209e1afeeb2bdafdedf02419e5d67bb57fcf112c03c6f371570cea3b4c7547d9e4b56ad7a59478f6bfba5ce2ae91754fdf8f1581f620b4dae37aed644d8d3b5f3248c364916431a515a24e3ee3636941c5070ef4eb99bb01cff70c05874e72b2fcfed4492bc6d01d2be4c42c1281125eb3e123325e4251d0befc1e74148a721975fd2f5e1adb1a3b6fc7e2ded38eb0c4552c09c801bacec1550663d37a5872e81f52488d1930fcc7698f2ba882e76d4023e1e9c2058eb8b2899142cf52d572d7f597fff075205f0fd837beb21be3baccc1d101646921effd7d8559b1aba0223a403e601855b8e0c4f1aaa4ecbf99847a2f6e3368b5b0ce8c3f77d8d9229672e45892eaba987cc0f704b250ebb295301fee3b8be46faa7613fb5b376e1bf211d29c80fe36aa7424dc93cece2fafba818389ee7275a7b9cb9dcbbe8e07654d259b80cc5508637d33b4055b563f9e487e372c60e5bf1d32e6ecf8cd086f8db126d0e71df2ce2fa51a3ead968979de0b19e74b160ccb1dc066c258c7b96a1a0672379f7910870055da67757d6d7cbc461bcb8d99e46c50780c5d78e48bc6ee2a72b4111fe20e77f1dac2807091c1e9a9ea7dbbd41a36e6582d8185da744b8790722c167ee1e655b48e5a1db233b8f949a1d51aedefc1d61f7b9950e4a9c72a887204a1afc9a996b0dcf6b1b53be99b7ae5809a00dff684651ff4211d06a4d43c1064d1d6310dc6fe83688dcb961fbed47fd71ab7337be4fa84574ab4bfbeb34672c8962652d3445ddd1e616fd507e27c2dfd20e7f1137ff70a5bf36599295a62720e4600ce131857304715ff62fcd4d4ba218e598a7d2f844c45f636210782857291c5556d357257058586c2083f4d202935352679d115defeba6398ce9ca269346311d9203a0fad08ea62095a94df6cad97b631fb25ff32fd7e9ae9d81f39d8728f78d22c328f236cc9395d79d55b73225999b111a33b3c4758d3ef0eff171d72e366494c59b58de48b878c8e77deeea98fdf77eefe7c48d20e300f5a38aced723e6c9773b4e502f1a7515d064b48d1fa7da4a2d3509831a4e2e2da82ef9efa7226419bc81c83b30ccecda592ff53228dbb19bf92ff231b06001f3370ba4a3e503e3f6ab9d7a79b6c551d60ba5c69cf661bb46fd558463405a1734771a3248172444ba12bc08bdfd47fe7d02dcf1241d9d71a1f88b3b8f99cc786647c17ee785b5003179bfff01d4576de17eba8f79af3abab915f3f2f1a21d05fea784d29423dc2257de467eb944a75d5c56cc0df6d6c3d53f16e3e1429309a2326664784e26a9d66e710fa5471966b18637781361098ef8c9d908ac3187e5137573280f62472fc851ecc2ede58fbd2f946d896bae0f3e89f2c79005f4f28394e3f1361e9107214196a30dc279b49de9337bb9b82b2ce0554070e33c6d8dd3c8e00adcfff46729b1aa160af1081c6fb8f0f09218842835c3962d779f4659b6eb02de87fd353720c9aa57d563276e8dce1efbcf1ea3655f0499c90b3541090ed43d4758666f3415ad4b35f58df0901d1d6952fc2e187e57ad025f0207a70f1e3bb4e73b970b2723e98417b6c1ff34032a85cd92d6290366af8d669fea14ac446ffccdd941bb739b2e09dd3df1fb9da22c692e0754b565243458aea50cf17c3070ebda1c7da2572836bd447f0985a0bebc6e6cef19280a23faa2b247a37f3be4145423fd8456072c6969496d3d202a748fcae929e34822c214afbc7d1444603fe65c89de036da72018beadd60c2d3734c948554f4dde32d81583c344cbfe8af21b21dcb3e597a7224c99b83818f5d46b32ad5f78bd92371aef477758ad9ba1088758cdfba06f23cd070825dd95bb2e9c4f9701a40a15550ea1a7d936791465b6d3ac8125392ad7297b2937a0483da5e30d19b08bcf76bdf8257af2f5d180d2c1d1a88b2dc017472be76e08add68760ee176456f3968b03f1752a9e9c13a1671b28b08679c6fe77241868108de605de58878d3f633e20e2ee1295b33bbb7051e4efcdf6143991203ef54848b6a4f130bcff034fef135eefbaa6f28bbc18a722f4ad0173475451236a8923fbe41bea11067f735dd05bb5d51b3fd31d041cb2f56dae85e94bd4e87687188440287521f7e9b0637d43c743135ca2ebf4742086daf5805c344d0fb0a724e1481fe74a654d0c62b4f9ff8ee8f1b5e5dd82d5166a46b07d178ff85cef332265bd30f17979fc2d075ca9ebb1c266b20521e42658a72c28747181fafc26d361cdb4e0002ae26fb046a960eef5f4db520162cae180e3976c920533d46523b0ea80df66cd6d8dfcd736e5392460f9f70e68b0a8d005ad0ece676497b97639e7215f1f92c927db144b685c761d51376b67f900c20c0bf6753cdac9df5752eb727e05c1701f37e85f0375bf8d9242c7c7cf9668a6895ca0bf1c4989df6d7ffc019ac006e0729e3e893e326e308fe8b0e1db0f7314b2035c208cbaa95e4f9442872202df0d291b5de76127577f583da40c6ab6a1eee44436827d2fb5b56c58f13723a9546596181cb60d24d46787beeb79f5dfe1d18b238f19593d531117a1aff7209f5c8d1769b4c188778311e55f5a540214ec3e73cc8d0c32d59fd2047166e4da4b5ea443d045db10072c6c51e3e4320bee7a578a79f568e3a4d295498380872cd3d002bdb5a402cc3368abb430be6b0912facbb0e70f8187cb924d55459340f3f8934cd479e5455a55e0e2acacd1c746e46dba15ea1a82205b2d1e3ade1f072607ddc0569faf5b607eea2839aa5799cb49cb4114725063b455adfb1d1f001624af6b314d99a53a5537b16e833470aaa813d18bf870efe24d729d8d02c3782727bf4629c827a9bfcc1b0af24de3d976038eedc9ff892b594fa3a85c89854734394eb85f154d1bb4f76680e4afef3273b4591e7a382d484da90dec4fbe3104e72b764947e2d3969d3b7b887367a9ccea990720fff8322fad87c6e182619b0417213e42efa8787311332052a11adf4645b24d7e671f8884c219b833729923770725a5caf7494937b57b281695618a1c37c098e65bd0eb9f16e8fbe77c70d1bcd16f66eb994fa7de54161c75fbae7eb7ca4ec485250d57116dc2f1c531430d1b67225b651253fa5e1a7d7c31234c1fb2cd5ee71ce238b508ce5f58c425a589e5272427fd7623cb2e10dc19db2db3b8a3f3e117cffc234d581a314ad847f885ef16a537d851f017dce4640f3ba219b344877d5ecdbdfca31d16a32701fbd53a73f5e365abbec635dfce02c095d2d6cbf5456a2bcc63f1db9109773207e1396859660665792120ffdba48cb6acd2c20968454de815112598dc501c7a29905fc08b872b535506ddf4e784f7715b3cbd56c939418a683eb6b307fc9bd06434d809e4172236575a393761f1825bbff74452e49cf8674f048eb059a803b49f1786e48a072529ed33d7594bb0d354b0d71cb5bf8aace8cf0478efc3e7b1796236aee12db725754623a061e5381d7b7942a4c6eec3b91c82ef5364483173b7c6f6c937dd0568b89c995ba84248cb49c1a8e0df7d5295051276538c9300f326ce05b00d64c7201d853c0956ba7a33f52ec6f125ee503659a7393379463fe39ce41284e4dfd72849e50850ed8fc4685c7f8b87799b27cc365f971fda6d1f35218f373b225d115c56ca3f03692f5ab0f6550f86e56ee6565bfa70314ef573ccbb58e52d91b0172cd9e7230184bfbadd1cd3b64dcd02086ef88af1cf4d30d12491ca7aa61cea972c8580abaab12015741cb0be886c734e79d50beeea974e5855a44cdfc79f3b37236c260c921bfe057f292d9b4149c18e7521e770f6d36def10a33784d1732450a03bbf8aae31710d74304d886cb3a2d14ce72eba5a34a2642371165f11e054e728859102cec0638ff84d299f1f17af9a897beeeb99600eeb64340d5c6272b45721c290e76621b20d1871c1711c4eac1199802b5614cd0fb2e94d8529790acb120a4ff064b46951ca4766fd37de4b28d089a0949070dd166975d3fb477e40d972c7726c685ffb994da5961dbaca18c9630436d62b8923069e3f53d1ae1eaf7be040af5cdad16dfde16175abdd3fadd65331722e411b296bd9bab3937e9bf2f5372f370edb0eb8c2f8d73755f3bf072413aba8a1ad9aab6c3154861e9d43e1a0d50d810b278b6db998439e06fa8b1285f8c832eb90da87b87ea458777504c768272a37c27788160b48279d3fe94eda8f5de74e7d2afd919b7d1996c30e60a217972cb25206f53e669959e7089ce864e73cc1857378596b72601ce96dcd3b09a2972bbc9903e4fb94b7e53fed422037b85395de675a5968c3f12b0e94e9abd433810c5306801641058beb89cd0e8b7733d70f8281a0382ada516853ed10a5c67da722a90cfc49179cb339c2ec83d569cec8786677289d2d837e427a5d57af954937273aafd44c78e9e5764105c5d9abd45275afaeffb08f496aaeddb937db71de85d6463cc6de108d904aa44e0f848cefa4d7f5c0b2c1f5ad751c9efa1e46fcc6d724a72a3151da7a55505af3aacac881a90b2e63d56bb7b310eef308220b7fedb2290dbdcc9477c9691d63a7fe4a93ea5a5eaedd419e47b1f4d29dfcbc2cbf67572a6d829ac6db79e63370cad5f2d01f49346794fcc8ef9d31b07d71d197f3bf517692878d946f0084ec0b1fb9343688ad33ecbca9804c3d5a46eb17869a3ffbe22f37afc080a6c6309f6323900ea6a42ca2a264853943317a46b1ad1667405c024c0d521d1b7f1344916d81edc3e59410178bfa001a9de897f870d1c760f728351af41fc4bc5a72d9fadce01a5af64652b32e2bd7d3ff0924fef5872db14d38e72962ea4939b4927e18ef62c6eaeed8338dc4354c5852f11280380183a5b5c2272ae30a239201b83b6ba5744748fd1541917ce553056779ed03d33e550ac53a9433c5c6003cd4346492284dba5bb6b8088b876fa7d59d5cd99fcc73e09c8557272ea8b1770de87d565918390a34f152392a6003fa8ca506dc662e0355b5fd985727773880225c9bdc25e0d8e30a9b7b4fbf372da5913fdcc2dadd268ee148c72694a7cd5bae0098fd8813092510fecec3d397ca4398719bd99fd06de5c9b79871368d3bb53e8608cae9ee9d4f9d2a1fae1522baf4a69b73b514465f823feb3907200f56678b936b5c426591ed3b162faaefd342d007068dd02c77c7e13aa741d59873954dbc32aed6951f4baa164336e1fdf24201f198de6731e74ad08b9a5ff72f27629ccd0c39dada964741cabdc5f361d891d7213767d9ffdebde94a49f70030c38117b09f40881e4f457675874080eeb8e36eaf2c7886916d21b3c2d397b72aded3dda039a35ed7b6facdb9bfc4e3bab9d0739c44aa28bb2e4f84302c95844c2f8aebb61e1acf5cf7c0289b3a9dbf257f6740225af6bdbb89bc14d7b21ea724cef143726cdd994988850f32e4b8a217a094991d9b72920440cf243bdfe87728628b6d0c5cb15d4803bcbcbf0feb3682877421cff4813e409445dae5e0d7272a901d64a7e173c829fea97546f4101cb64db30e0a8ed9fff1aef9ac435feed72d2a4dc316dab5247debda95c1ed79b2a315363d68a3da931cff6a2f9e5df944687ed90037b0d0a258fb0e0a8cd886ae8045e8be055a114a99124962fa543ff71420d2089c0f046423c5f1bd8acf32a5afae1a3251e259c952a9004b87059b3727fab118071d47cf079cd6bf32950bd29bfbdf81dce7bdbde2896fdfb71217f72b65e6010954c547a09ec99a98cf698827ab82ef5a163fe30dc93154effbf5229df3fb65adc034e06f417bee2e9c540b4a2351ebc427c92d4b6e8c6050e1e554281a6c8676e0a772989fa4424ac8c138626701b5fff0305f5697a0175773297727db955c8438b05d27fcff1a4a039177510dc2f2e195abf85d587faf4e62825723632164c83879535a5df7f088fab83c702a14cf2e27c96f29d5e102994592a72a1282a22d48d8e2eb66b5414c95a5d483dd10280dbb4abc5473b105a84e2f85cff5f671fb5a491b00ce99aea6306730ffcfe0f2c619e7735c021147a0e3f217255af792dc059918b34dd252854006c25076fe12cc3c159747e5d46bd8ea4c17216c35e7f477289b7fa5cf38d0c0fff9967e0c8f197a2137fa4bfb98fd9bd747212df0dd39d9e96ce94299c1a202575066f9fec96e21d0f1f27631bd05a72e872b526385c624a2c74ee6a5b7ba75acd7e1ea60db66da360577c6fa5bdca547b70ef4c950d3ea7542d1fb7265ca8d97bc14037b4f7bb3ad7e27a7659f09336c500faccfc329200f9e69841a59935f65b45d4a2cdf9343ccbbe8b9beb5b8edda4729e0661dd4278288334cab4a61523646cf048b799cabdf9e9be9314a8c8a24f72613f7afc9a9fa7ff896db1cdcf99eb37fb378cd631b578d0a8b8fee99dcc4272c2d645115f487024a9ceb8144703bda732bc90a163a4e80b0e6ecca4b0b5e40a49c9ba56093d32d5c66a3dc79419aafce7f5c7e6eb1136fc13909a6493cb54729ec7b9e2b32da92abce37be852e02cf36c7269ad36e7522968664d925b6538720e5a20959e051d94d11eefe9a757127025dccdf7571d66ceab82e13588a82f72844bf69ffad26ddd1b9dc107e049757d784f62f5085d65ed2b5790685ae22d5060b9abd9b316b950b54910926e20a844067a89fbcee00f67343720b66a49fe72e41993c55dc0d4ba13fcde61c14ff25630d9e4368936cd2aa0580c59cf5f5072eb51c14c2acf92c264d5d26c1e8aacdc7aa5bf25c995c2a81171a8aeca989972df2f0c37b94ccacef6ca6cc1329d12d13856b4be1668dbd4584b3460fb61af720d4a592997c10652a3466d0382a5d388fd09db03cc51ff04c41be06a10c3de72bea53848e7a0ed669244904f076ab901f80272cb7bc58a28543e9c8b4948e23b17d8533f69956ed9a0fefef16e4ae76e6a8f1207b9b73c9efc6de11487868172ee9c0eb2cdd07cecaadede0679cece4caebb606c8c9b67ca9f1d84ad7b652572fc555bdf04d7f84d84146068c8e3beff59b7681e9caf98ca9f34f479829ee77239688721e59a548d3925d832ef0f4c85c67d5e852d32addaa38cf3fea3d992728ad18967d465955e6e4ceee22807eaa703b41c219cbef8f692cca3cd040cce72ca46023af849bf866cc003ca2e5b9aba700ade082a651ee7aab25347ce44ea726d282db533c5eeaac63eeadde6c5f211c1e146d7156c991108b1a37218117472c41636e766afdc680b65266ece48b814943f2987332b49bca0d25b9ef667b4720b56880463c36eb9aebf9be470f99efbb7ca7bfa126294a836d9cf932c440c728975bf2e66b4187701eb212c39d2290963cb0c4bea4989542fcec43056dd56708fdc7237a68cc7a9c632080e3ef5096cc6ed12ac1d7897ea6e74776fd3e8aa68587f525275fc1ad869172f35bdbf22dd3605f23ab07003eb47afe58d1f3dc41d8fdea50e0eabd6fa2f97a303b3d2667ab4bf8695719cae23a53a5124ec3dad6231990200ce36713bb0d715ae1d6da53721fa1c392b734ed609f4297f9160393ce2db25213bc00e5f992c9e6842b735a3d7d228f4da2b7feb69de8a4e39facf7285ba89813660745c31e428b98837f3f25e248c8cec0c4ccb3fe9fe4eb289877222241a08c49e65e2ed5e708f9772602b6bfb3ee1d97f8c4826d0563d1cfb36441e15f940837f68d7df028fd91e4d98c4a695196a28e468f3f2a8580d4892c07267efda541c2c9a87be1cce90d84a4579a6ea424cce6643966ac87cefc80dd268a43525836299961b12ac2f94716f655ffbeea390043dd509d86600ac22cd8e729e9d5319ae22a31f85f22622099ee0290012b3e5cf3e2fff0655990603ad6a7241aee101dca0b5b33e91ba3dddd00fe67371ff06d531e3243523a093d22459724aeb3cbf69af9403e4e08a51a9c339961938677e9e993a4db7ccba11e1e4c9723fabb6d17bc0b65b3e5097149f0093d63fe55562b4bde4a268b0fe7a0266c772c3d7657d56c5f6fba704311d9e9ce73919405b5378cf96243478fd18e4a545727d10cf6a232c8ff9369f9ead55113ae40fd8239cba32f7cd60649e45df6dbe4fa9b4024417637825ae4dd6f55887c0ad80c87934796fd036a8bd80e1b0aff672079a73a97e3e4058138c6665a6b0f3f8dfd727bd05756648847ee8231f3e5f5495309223381f33dfd9ecab67b58e2f1bf0a328d84211f6f0d0081e9d4579f84bae56357192528a665ed51d5315828909b900cb31a4545da106b25ae79d59eb68f16ba9c4182709f9dcaaed75be3f231ef2e380266696fe9736d2dda1e330a7720aeb5edf65201448c3188a4883f8743a3cd0c28dbb207e78d84aa0b0e7b5b47202c904e2667417b53e93a2664dc713cbf1258b6dde6dacdda683e8107d47b51c5854d0a60bbbbc3acff8cfeaa8052031441d9d770ec6832cbe0f16e62cc95d59564e4192e868f7c42bfae22fbf43e4cbec844272f05e81c470d21023f75b983989690ea844756312816c3a6af0c6ee1e9ef67aa07f45c20e36c3fa1e6983e33fb0fdf4dd5a4471f1e7b5fb90d89e2c78415b0900eb7ae7e54916531f6cd90c72f7d29f8f3f6994b3056f783394a1a1a3f0eb221b530c5b25682b10f71106f42591e8918ea304645b439123d0476f7824f5563af65e24625ab35c5196415a5d7288eb3b0b8fb63f4944409ac99d52510effe1a2b518e1c687a358f07c726d2f725d0dd874781ef22ca6663c760495f85195febb65c07850cac18369c856ad1f36435713e21136508d6ef62707d1d158e0c96307504750b9ae24ea474f69c93b72e89318c5def2a5a74888680e24432d250cb3195f2f2a169026d831bef70e927201adcb77e3ac74624b4e3f0679cbd5ef10724287bff9b21b6096870b3a36a327ad4f8ddee5eb72e233f49cfa2002f957c427b95c5035abaf67db92358170431f1b75af2cf2d6fd8dfa286f37b6b9d24dce14c01de465e53bcf4b50eb506b9b07f0e1fa16cfbb0301e421d86bdf9249375edffbdab220b27c38f5ac2962de1f727fd8c01fe2325ec70f369da02666abd6ba5bc9c6a1bf07e6075d9dce5401f67261109fde7aabfb22a61f8047e4296cee16e0d0345418a9c94e1fa5e4dfe78a722589e774a414997bfaa4664f08af253c8fc451adabd7eb0420dfe78f527c9c72cf0350f440b6aa7b7c370e9f5fc45a993cc657891ed21e03e77ca8708357570c373335fca203ef9ace1b99f7f4f14459defd98bb02680c0c79fe57fae552f02f670dfffd9945cf9e8d4a10e9a691226d40621ba7f46b0ad0ffaba61af3f3217236351e6aae5a818b116f525598d91d527986aaa6413bf552e8976b5effd9cb29b1e8b1f5784975d524ed9d3e4e0197afeb36828db6635fed35ac6340629a20728d84642a6a4877e802c4c48db0b684604d23944642f7973e107dc4fa21009272d0ad1259a732a4af75c18a95324b4784c08724ce791c2fd05a7eabb19491dc000e218e5756d0c010febee55b46a7f722514c91457156eaea48570c42b551ed72ee910315056d3ad382d332daf0aa517dc9ece8b1edc41daaa3821426b18e687200d9af24df7c317d8c4f2a69b82187e1805c8a6e932393b3ed7634cbcb0cbc0f4b880fe39651490dce8178bfe184ea08ffbb60b68e73a897ef4d68da9a928c2a7438ab2051b699c9d30c60a52423b06e81e0bb2d81d03f497b5d01c1ed0316726b5577a2f98f142caa9ba55742fa36b4ec7b91f9ef776bcc27e5d0c878f62e72088da7cf624708fc93d8bc869af88fe3e025ca6359b0b5aa2e568b3d8d9cb22185249beb007a086c625519df41bb0f00eb9c95c5b556c21cfd1a7128e4094572e83db2c4643e388f4cd8c165a0e243b7ccc0f537deb657f3837f4c2ca9fc6d035724b05042c44cd11da8aaa44c285351069b514ba8783c5a77c49f72a10e707252bf4217ac5ac7a095ac6d2200b239118ce3e83680eeb70f7cd5ab67dc3b5e32ae80461f68f9e8df278d1224506aa9e6e0558a4672ff159111997b4bf13bfd72c4876df7ab663155a591e2733fb8851b805ee07da820e60de26324e9f4344072cbf711a56908991ff1b16b0e7010f03d1378ec42f54d0cbd9f1ae7a59d0ce067c9342b40bf0a3a726869b205a7a5d1818b0570ef4f3956896e9d5206c4e20500971aabe5f4d396de35e018a6604fb6b86060300497f0394a90a7a6fe4df7f330a54bb1694f70da389fb10547ad6d268a49df05e85bf57ba5d32dad5d5ba645119ebdb9ef30cd8729f8cb45cf22c3a8c7115a76292e63ebe325100d70d0770f258be27ff631cf9dca4131d849aca59304f6ae68d2a35ccd83590efc44a0b30f13f94db6a4f7a7d6692c068c46f8fc4025d1091636ae34e1f47374406292e1c672f0106861c8dd3f30dc5c2ae768128c52cba8d2a2613f907231d45c9075d02a7292b0bc081312ef7a4b0fe142f87c15db8632fbddcad94d0c52a435170bd5dd729879abfe808885d3025c8594fe78a0176912027dafb298748b57f7072bc1c8720c0bcbcc0fca2ac00fe83714e29f7e21d8a837c1d2e3eea0e779db000c0db71ad3072eac7d395c6200cd365d391a61f02459e017a40c1e69a81a82fb743a7f72dafd1d30fc7d2e3b318ff0a7b4e6fdfdaafb3d396bd5eccbfc6a3c57fea76672ed473004fbf3db75ee0805f06e6cb1b6362a72b43f05e1fe13f0f6dce6cb5c1321a0a35290d5fc204d741e8b4d28d4cd1f102436f5b1fb5815f21a1441ec5639d04e1bff8fc193482219a7b4b2fab8833fbd3529742543d39b71f8a58b9dd4028291a0d68d60c5ec91bad88e0da6b812d06f3d76815bc699272dbb3baa740a7290afde4abb927e48f97d05ca3db2765e3c5d51088b7aa4afa03772085baff93fdad59aefceedad80211fe9fa121c0eb81c8781c22aacc9395d29623c4999484f3d81eeef5b944e9bc75a3dda7270e6b5f11603199a5933bfabeff31f266f9272c3e4df33aa92eef925fdc126fdc3a13b9919728cf6cf23d950469e677cf5a472dc7ad3e825944828d7741a78204aba993cdf34143c51aa19f58aa1e02fa13a724a4a1e65f95065c9bd9f1689f57510a3d6f07a13014dfe218a8087a65441e81198d17f5ab8e04ea9ec99bb9538463d74159195e763a3c4a4567aadb3c07c6d72a296336b5820fbc7509c5f8cf661c61c3d2820b74272180ac3a1db9d478611721718167aaaa878250871cce19239db0ac0144ebef03e3ea5e53a852e1fcedb720a25c50a954dd7125991f44b887c99c8b59e900a31253193566d7914a0dca372ba44cd79089157a81030c8beb72752ab3d5950c74691b4684bc0b07d5cdf7c1afad267b268ffecb253e77859357f97cce0c5fd905b6e5e7993884e05ce0de972ac702236d90e06804dfb7a8c5c356eb69ce41aeb0c6ddadb4368b7b065350413bf19246dbaa694572a0c219f22e83f8d552ab2d62f8834cd85ed856442982e725c9f707d98da41e73a2d0d7a9276d2ae9a25f1af3f39eb3c18e1b2086896af72f16bab25e0302af1e27f1fa9db50c1f4e6db6b2864a4acede93b17cd97f60a56ac858f3e8ee9e700a856e296e8c04488ccbd26b09ccb0917d3393475d199c77276ef848b6ac4ccbb0afa2f9ccebb720ac79617773157c3fa8602da6ac07901721fc56ed01a60b4cca27850bb4c3ee82193bf5831af1ffb3747d98817ae9c666bff1cc675a1ce945fd2742e99acc771eafa247646daa669965b76b10656fe237216100d446c73eb8de2f232c277c20429b66c5acac03fcf8061903aa88662ca5dc0334c7c93c536e8be18f2efcafd8000eb48927957b18d11b33f37b355f82f728ade024277d16e52c4caa4b5f177dc8a7a6fdd7ce28284427e6ed2f6f01460729704c9fc623682d044be3397c1509889ba2545d565dd0f2094d4c01bd1cb7372541ec582da3e3a869e79a3c6fbae80d056cc98d10726168a9ef1e164c43d7b721fefe2b3798cab7fc267d2353fe9fc4a0fb8822df1c310e5eb2e3a129383e05b27cc88fdb484e47b47c1c995e6b8349f6647022b7ab692e3a7a869a6a5655a6c8d4e8a82f414d9d5768ab6ad9c364b29108cfebd3410b075926355021a5dd069e6f57eae232801b4b554c745f7177f28f658e7480360b13e7e798af0234a217282d23dd38e1d8a3b6ab34686e62ecce15995fbb1da9ba22238321280ca90a372d8eaf3e9a0ad8f2305e44f5315825ffb91deaea3381795761bd9508ba280af72c35ec8b3347cd2f19ef1c691efc27942160ef7b0fed83773a0b48054ade9c2588353dd47ecd14f0407cb0d3da52ccdc6926dc4445fce04bcb5f42efbbd62e67280305dd166549787c172c61a071ecc65e2071101c96124f29b22730146fdea433d4e3000b0f7be92d2c44590248d41387a6f44d64d6759286b0b0f276db18172110a8d90de78c100f77b67e019167603248f71614b3a99d0ad21a275651022261839453aeda5e21e41e7bdcd32b3d3e460ff8971e2e13126799b3076f8b12f7265bf4ed43efadff16d7d79b70f41abffb00cd37ecf219e11f36d7e08288253722a4fc40272efc2f31183a6cde16859661add94cbd75431d4e62e501896decd72f49e97232f3802c3725f749e4c1c4b22402358a3a2c8994706d4d24a8d9c0772d017463bec51f636c0bf404ff9237b4c92761b7dd650a3190b86fb3a9788ec236ddad4450d3ad951b4f928c93590943ebace098ae0d8fc6f62dff2c109c8e53ee290faf1a12e1b2871be3ccb6f9f20653bf50daa7ce4408bdaaefdec7e46e6725cb0335844b38162cba1b5685bdea8ad92500e9fd66efc72a40394a643051b729ddaa5d0d441b7d5fd25aeb9025064a35faff06753d75a575ab345be0d4f66728990657363a084b6c84b8098285ad2ab1008a35eb12d0057bc3b051e9a69d10b07719bc4ad6b33646f5949a4e83e7e4edf7484c40243b1fa6432703c8bf3ed72117789a33a95bc6791c09c1cb2934f21af97f0d672055d13e2887144982f5533b784225af71acda060ebe6a596990c10f9bc2fa998bd526d7cd011d2bfb1b957191a9518eee94971476d1415df6208c768a8e097761519e20cbfaf292e6b64728cf717d09022058b6511f9346f87223369d65841f0889dda989fb7a338579a72147a8c48661354f155ee261ae7cfda0d12b290e1213b7458613b310b5171957263247193197da2d12b14c93e3295fe1889ed3ce9d24ca85914fe94cbbe437f2d9c38d28ba107d4c75d0183d20fd684288bbee8d139028c231458382c2c4f7737d8be77a0b84bfc42aa4496267de84ec54d7088368162579cdf8d9baa27aa2c725ca1509c559db25a8ea2f9a8dbc80dd40562fb7dde56a3344bbcb445681e7672abdb4bcc7c043d1bb962ffe3d3c3063cee8b722e3bd3d1025400db86636b1b72d0c7c05d96e70794b937e0cf4e07d4ebdcb7c5d0f4fcd8cd4eb472e2172c9e15502aab5459d1b45e6592f5aa2eff94da9667dd069faa13803cd0a23c7b723e72e4b349593634444b8d170419abce118030799f3308009df2cb601aad90796372781e3801a5c986faa0c5a4691aa9511bff18a7da2ccce7c3c1b44f4f3c9606727f0c6d7b90f76b8deacfd9a410c785cd197f00abf5d54e7eeb17fd9927a5fe0254aae962af1b0bf5b9756a1d4c6e1d02c04c0ed1e5523dbee8e52df8515cd64869d0f8c6919c602a30a24db5c69bb8379e31dc37ffb6842c1ffe437278a2fc72843b7b871cea25e6926d2f8e3c0399bdf92e8d06c0d9235f83348288f6ddbe0290fc0020ab1fe5d630a1638003cdf860b302418ac295880c8134041a58a7573e55aebe4df5c4516ae35f9e6351d77cc07a8463f09de5e0db67624a329a72b472a27142b293b06d431d5c6d8c65a8c2b7caf641571469452c4daaa18c00f7524eb625c5e8cf23919f78f4bb62a1eedc1617ce0501550bb1badf13398b23c78f724620f91a34275a3a7f2a0477296d786306e233bdeba98fd5cbd95feb8ea52b60e658776cfeef77ebf16e63d3519cfd244253c06a90744a63a266e43ef7623e3a071a8caed12530e71e64673c6d127937afc62a1a633619017cb95c882421d919a242f15f1a84be9002212c42a3b717141b28debc8f08bc2d2d94067bc9a8427221b26f2704a2eff758ade41d395d962286a31b5c0d5e2949be89fbbff62fa102c30c63d93ff39bb1708722f73e580176790a9bba09428b0ee11a68765f84e872c9e757871f0342ab2d70fff31a6624adc05f92154ea7545def2a4b8faf1bd52ffb15bede8a5fdd1aba500c1b3cb7e59af68eacc1fa2c29156598027084244b410f78f460660a193a742e9e1a4223c9e04ba5f37dbeeece4b9336e7e90d5b70071f1dbecb1cac45f0c376305ce6d0e1d499628101975fb08874a6556701cc4572a94bc5fb7234e24861525dfae7aaa782d4f4fcbd8e48c8551d7c1b8dd3149e331f00b3560d0df23b0262cbdff72a09a1e7abb0b65b47276d669f647d72d3205309a07aafb926aad9936aef2bb49cb8b7885146d991b1d9037f8db5c849bc1672c290e1453fdd008b04c4be3cca31c9a4299c2ad3cce21a281b2d271cbeba2d54a28c932e5722f4b780a0efa41139178a9122a639b085b36161d54b0764054439525fc0495430ed8212ba577d6ec7769d061e18639bcb99dfcc1925db1c4fd5729baf59730c4ffa4ca5bcfc294254dbb70ff18215b05c30b4e96f01c3a0c54d7235aeaa3440d7bcc39592d9d64ebf27f93e44f331367ea57d3776c2240e602d4d7adacec0f8ab2b06e2e28336364768314427012ad2b4e7089c462da8cad6d909822b55a842e013b26590f9c637de94d6ae17c401af4d83a8834be6e6032a7e47a739362ebfb21b8ed3345ce9792f4caa3d0bfaeafd1ab28e8ef25fe010e2530049a5f138c48cfcf0fd6b849af2293ae3d8047d391f2807763e62a33c2d17bb7211e4fbe9e5ec3e8db817bb6ec361ad0c5a922caaf05583e67632f40eccccbb72c35c1c8200ba5cd3c64d8f005b1b7ddc3b4dc9ffa67a90f418a8f28f3f737e2a208ff407f6de90f025b49a22691c5b3e75c34cdbf3265b30358f5acc9ef8e60bc9eb9a111b5307beb741b095937bbdf327bdb6bb1abc10800b6a89e5da4a7d222c679ae5344272c6ab88a7a90d7cbd4eaa3db52db8540ed23b2b087980bb3b72cf49ed26e94fc777a81ef5163b8b378565f7c77d351af7879a8094c7067b136a1fd84f92b4f7b3582e25bb316f92ee918151efeda253d5aae5e962350dd4767290903f58476c00acb7ed663d1246938b8072db76709ff84c069d3af16622c555ec2f7a904e6e3aa11b707de3128b8921a8a1fa03427d95d9d980cc31615ca172eb92c84b3d37336f9dd95038818b0a959d1cb986616991195522b0c776fd381b7c1a74b11a7d261b7734c3fa32350406713508e924c018b4a81b9d4c57df0d724e1c5ecce261f7a583664bd9b27dcea0cb9f36f0ab1ebd79f4cc8434b3a4c5729d14121e4d0ea5c3aaaa9f085905ed9ecd3ecd7d29e11be987049401d5edc47239d9209ccc2c6ab240b57a9624138e33b971b8dd0980ca367593e2d47b166672fc790d5a430ed70a90be589a71ecaff6e3c4e2ab23d64309062b8c2f219b32389817b150ec526eeb6cec7d8be6aa96c8190417243041464e675f9079c390a97270d544ad1e78d78127e01f2b625da734da409c0c8e119d2e3e17b379e0d33a72154a537844e51a03239e6ec639d5445ae07d5610b850faa84875e9534a8cf5724da2fe2bdb44005f45235169670854fb3b2d5bba793e4f8d814b0b41df046931cdb2cfb1c5ad1c935259bb2d100d166facf54641d70b62e14659deef1257103cb40b70aee49da04b2042fed286b827714e23b8640e8046bde0305a8b7f98de2724cb2aa5aed851e23cbe16c97742e55e990f3a71446c154b42479dea86354872d17b33ebca86079423c94301d9ff5fdb4e977d7312c3726e467eef9218667772c7d589de4c41a76c2d7b3cfa74864367a8500bd152c8823a1ad501ee5bc53e509fff32f6a1668ef0ef42bcbb196da38d8d97a372f7d3778fc5d4ed5c99053a18c7d818f12da99c2a009ab15451087a57600c278e9848825d4c41d436da9fef722d00f51737a8b6017c64609508c4cf0cad8437a2a2d73b69453c89c55a27c8722ad540665af48156609f2a4032f619922ba11a62a4f2b9184e53d38760dffc72f06691e0a0510deb032dcd80e81fe871c83fa85c8d9bc928664ddd65cc3a0f1993cf17a512eb69b46f613fad903ddffd2d5b1f64634c265b3d2c1dcc7821c872932cbb97b0f4f4b4374c1769af50aac7cd313a9a226383a9d1267e5681cabe2f906e05b75abbadb97e804dcafccf15b5548e62279a8932b60c34cf1db7df454b67db66e5cd7b8dd4c2c9b01c967c1480ae8c0419bcd09956cea34a0c9fcefc0b3f25175e2ac8fcbb4b066d439ac2bf3f2fd6316b61e3ef661b766b7386379672b8e00b4c54bad9bebdab8e04559f1435580ce1050043a3018aae0eaf1a227832c59cdc4d10750495f65e37874dff42c8ac32e64f9a4d995950a9fb1074652272e1cebe5dde8e5f890d68e0ce919b2336b77310e403f2e02d8e02de729940f0510c75edbf89d40bcc31560c87fd183639659f9e758e5636e1f388838edd2fe611c1ae1ff16b0cc51d05a2be7269c2bc2ba605a2a48780090310db40177140c221469ae3056f56c95a2da7c9e4f04aa79743d06931aa7122988aca9cbb3cb723722b4444a25eb31934f5f5635bb8a2eac7db4f1e81c704b85d26c7ed7027760c5ad5a3aa39ff03601a73d6f6213b3ef3674ce7f2a8340512b3d3e91e23c00a8672174fc683efdad67441fd8e085a16363c7d29a10a26323fa97e60e23319553d398f1751fb842dab434493c72a33fc7afafdb13c9c2dbbef6d308e731885190b72700d721208ea2f59323628e13301bd844a2df1213bbafe8d2b7637b01d8788724f527ff16a639a217617a06ae3e3bbdb7118a4ab2ef7d42e43703509cda69872266b4d163529f061a6c8b4d3d29a970d73bd63d641d96461803ec91ef65f2172b8a3c36e446ccf646afc915711fe23ad6eee421cbb6db02732bb399b5d89b1729c208e947dfc65e823960d6079a31b12424edaafb90062fba1b0391eda34a672d191601419db1976f9fef783cb68bb760b721c9937f440731118c85e9639d85709f69be9bd6250742dd3b367320693b4f417165593d70ac7f987352f7097bb72a579e3b9caf7fb410fb53e9a11660d734dbb026fc9b8524711563b03746dc57247df0efbed4179e6707deff56cc82fe6aad984819e9680c7fbaecd9893aee521aff7a0abebd00776dfb09c1e77fcdd8f294973a4c7c348a7da0bccb9e37a386be932d558473e909b851f43f8d82310f6599760900655d9451c1ee0f4f3962e13f2522993f138de5b5beffd7d676be5119c310dcc682732691e1ee3be9b2add724d085791eb9901a50f07894025a69ff861294f8eb3f95c629842de0d28b82572670c4af755cd2c02c680c84cd7a28531946c99e31fb0b8415527eefc83248139eec41facbb6c9ed6b572e21e0a88b94425ae76f005144d83659a8e5add7b10241e017a04d5916974d7288d916a6c80f4c794b09500c9a3ab95bd6f3373969f72e11792f6d2a8a72fa20ae92259545a6ed439db9a9fbb04d5d566021274380072422a23713fac68459c0f228cbf893d2b1b5108eb6105f898ae8c0a8d6d8d3372426dcdf09620b147da986c170fa07233e3b817eb4033b05e7c10c403feee33721d41bdf0470704e3fbbb6429e841f77b159ba54de5f8a4e9bf20be10834b9a7273c4616478e17ab21f5a7274fc4f83c75ea0a97782ef84f5624af58f3a78de04af333e914ff7c44ab0bcfb70e4146670ff569fd83b8d99df34f2da8b546d380c06e59bd19dbd68c8432c5b38a099d1c0f5856d01eb1f0ee41e7634a28db46f561e47b6ce4262d39045e34c772033a72aff002da943ab8c2f59d895119ab17b723b7116516b34babe72607076378d3b0deb657eaa2fe29b42c8e567269b44bc29c7878f6535a378bb8aa68ef8f40e71928bd78368f7cb482d16aac01c1a7ea37285fabf87b0195b7035aa482ade67736a636fcfeb0803cde817cae2757d37dd72fb2bb13543bf4ef5b76b8dace4fec64a9609f6b40ea1ca8c627b6651312910618c68590af01a2bc5c2972ea5a9228c997097cece54891e87c2bceb83fce18e6ab00e202606bddd4d064d7446ef01e8622595fbe2800e784fc2150164c9320772611bb2518df55840d6ffb0d4349d11fb7c740fe003e3179e366675e4e02a9c72b391307ca292ef678caacc8ced79a9580927f4a91043d1f95b7bca80a9df98725f7b7897a375860fa06c9b477b9d24be1c40ac5a25c7f59fdae9b0e9423d64045caf8fced76c5b62e98c5ac4f8247aff8e6c13edbb5bc9627877269ffea75e72c1e29efef63855995f2f25c55e7e443b3e1cc9921eefcf49d49178477ffe59161aaec28084305ecfd26992bd290f35b51c647d8880af461278cb128b09798123b39017e4a4dee09119da191a29841670aa0ed538d55d1fae94c9d78bc8d0677248c9b098f9aa93c471f3a05a6b242c6f48b181218d0e5071e21c04bad731465a7deb925e76c769708d462854e653bbc948555d2a3742ab129bcf2cf6d39b8230a5a3ec435b60e6e7bd013945e07a9286fa7b968a6e1205c12820a1820c1c8445f8ef4df8f03e8fd56d6cb5a51bb6c99787ccbd455f7164e822f142959f52cf1b67935a7cf66d606384215592b1b4ebfe9b7dee21aa4f3805ae2099a96d9af819c5b596516d495881e8178a23e9c27a60b831e75fdb06ae64c45573e7710278728dc4767b78a091abc9de8d3ed1c180d46104a30160c1e75361165221856bf671975e6ef4a8c740c102cd437615eeb96b984e0c1b7e65038e23514806be951b3fabdfc4c2386b95e2c3e11cca37f6c343eb20c761a9456aecbfda763f24a6cb614fe14f90e2f28d1d7d0e6c1eeb0effcab91926a5397bda75efc0266764406572948a21bde3ad010d5945bf7bb744edaffd55bc407f0671c1a9d41f7d3d717d723b59560c39cf4c6cab80d6c836e9657de1f2577e68e31d27db42a27c52518272813895d67cba8d4a6794db7f6a643cf02828c2ae52fa974d888ece2d39319d72e217e777669612e51140b1dcb6ecf1a4e29493b1fc73b373e4e00cc08b7e2b2ba4cd17377d8d493e98c20bf69e0dd83e1ce73c40e3b59676e9c56afc0c8213723a904547b0a1c73e5c4f6b3961dd63362ab5b03426b84c4e1365b872fbf7c572a68eae6872462c95f6bd10397d8fea69374b88c1e172fd2c3952a4453eb376726e5060e946461c8991af64102f3ae814e371d832d40eefaffc6261f544789037ccfb41263787057bc7163d60d123fe9db43c2515dc4f913f3d7424ed09bf67027ba2ed09b7e743f6e42d86c99cfbf9d4eab557f8484f822367e684a7533fb66a6442bd26819ec9e173e4a6b84f336de041cb4bfe71883be57a52b0a19c471c722d001d3eb632ef7d9a2cf40670e12ca2f29a3351129c999d3902de8ca8fd0d72b9cf0e950a9b2bb9dc3a315c1fd63e383aeca93e45ee93fa8ca4cdd919b095725cb7ba8e68143e92355a16be60c959d5cc8a17d7203c0fb18887ce5b5cc63872f1ac1e2d5d082f7c50e9d28fb3a223a42eb6b59130bd2260799e9d64f50d2613b4ec678a380af2791de1ca3ec4ef9e9ed8e68f4b04cb4cdb493f0e7d18a75e72e0afdda760469ebd1ce6b2783d4fc74acbb88ec160b689885230231455b0f859f59e05b073d9045769ed0c9b14c39ea1b0322d1b9fb84ed16dfe4e5c4069a023e81af7c208d4618493740598d4a3e54b266668c7a7a743073869c9efd14be572a65b06aa5d3040363009d63e98f68abd1fe5c3a5b15ba183dd1135cc1942ea720f09ac9a5e9b27957c688f803aae0261c5b8b3b5ab017e00a804068be5c76527bf52d75f959fe60a8aa2aaa77eebcfe6fa8d1970232fd62229908201bf58fc727e3545c1592ff1882f052a7e204564405b408940ecfae59fe5239469e9da373424b7d328fe71ca3197f10f0e5e78abd90e50591df876f2e5bdd6a9e0c1c9a5058aa9774cb58107b0a0392b8c8bda555a993a6c8306fc83ef48e19f85b95f0e7269b6d237ef9bc93d9e716c1b246d9a62491b0caed91e8435279f64fe0167b672810c52c078eccb2d9d71288a8028bf8edb338ac02fd841fb36ae123be514c21a9587f9ea9537c33ea92222965e0e21d56c4cd494b68302bd085a5671ff34250bb068b96e495558bd22f6e159c588d4ff53c5d7362e4201b43bb7e597f1cf8672a31eecedea7e52e2bb8dfdbc2c2d0e4542595bec60dedb38f725eafb0a53bf61abf807065fe3eaa88eab6a3b8418d62c558c3dd5de16768e54100a2232924f4a75d2b7fa416abeca1ba287d2765c3fcfa54c9ef033febf899696f714767ed81a7ae6880bb604f0a761e6eac0ec0d09edc4a48f50f5568c44f50edce9d5826272ed27ba3188a703bd88dee4581b49019cb05623691a8d5cfdbc56c598a907d300a32e7d8ad980421b07c05bbcae6a4a0b76f0ebc3dd3e45ec08df4d5b47ff7649a6958bd8b596f461336fc400ccf357f4a402319a49eae416c15e4dd384c2ec379c8cf058002040a09f1cd72020e0d12ddff41a41b356c571ecd8080e28119e305e91725ecdccd511ba3bf79e78499b3e97df51d22ddfc29f58d64c671d44df727a7acbba0af7d67eaea938ec82aff9abe91137c137bbbeb313055c2922bef664ee0e6143b510596c00c59dd5a92cb2730e3716f5c27c6b966f7c1518a065297252bfc427c664f487bdf704f468747fcee011c98e3b5e5a1b3e1cac875cc1c2728d9aa10647d744e87adcaf33dc8bf3cb2cb784f68ac3abfb66f37e3eef268172cd280bbe9dae92a18eb6e92632ea4b03f1041d621189b7d9cc64d8f4981203460914edd1b0c007b026cfe7aee22054e87496ea2658fc8f424ad39c1813cbf50c1ee1bb2d0ccc944dda6475f8e1184646335d769132a69d37ebf74daf833462660357c3a3bdcc90b7d816424ad88b42c79dfcb3caf739b4b9f9bddf542988211ac752fb64df0bf78146c06292af391f432d5a0601833feb75df8c62e5bd83ce726ada5a7fcf0b91b414e92a63aa2a5731b33accf4c8899cfa1ba0800df96b3f729305e0acf70f2e6d76c99e3059d59fceec74ba9ca0c2992e07ebc8010e87277274a544fdcd94567d3f3bad95374872d1d2a63bfe4e2668353810dd4eff6fa6724fb10bc4458c3da3a8294b8f081ca149098f844fa9503a83db14eef598f1f872cac5a67f7e6a97cda80703e133aef7cee04d438babafc0b1305bfc744074dc7299d616c662074e38255c04cb2f78304531f64c243507c3e3bb8e13528c414f5f1c3b2855da46986d6a1fdf1365c27e2626f068a593658d890cb4fa23a9683f72df86c5e454da7322f38a484941a02897bd3d674c29381854274050aa0e7f9d721b144bce747dff4c520884a5059bc3072529f48719e0733a4a853a0579be6058faf2e05b72da607936606e206d78afe07698e337e72f9bafb34a405c645598720b5c1e8241db52b84af5e1bcba8dcde6bab2275302f07a744175a68c5379e4725bc44e5600b07f326491310c2bc77da924928eb6c81a7910c3227cd79223df577f78445fb111c626f8ff1831b6fc360f456ec1f7301c3dc32468a665776ba52d61437cc8c663e8bbaaa328806e29744e1b32b34f2b4102aefdfb742d3f11b0228723de2e93120d14f7653c8f1066c1001b61a66d99e74a4af9ab01fb6c1cf572c2e15dd5db195d2d94a74f8078124d204345a114e8024e36654f1a26285c0b72ad21d761032f75a948a80313a8efaf2ee7c39819df84cc43ac003270a6be2d4dd9053d1bac1e7c35079757f981b1dca85a76ecd7a5340d90e4d2ff784618d172b8d640bb4ce92a33d96553eac5cd88fbafd3d054fdee849ba0c66a9db277db729cd298e6691b04de68db3782a681308234254f1fb98f362558595d05efbba67203abd2e3e854ded68640c58cea4d8b3b3d685a85ec58a0a119a0a8053ce450222b46861a91b3bc525770483a15b81ba301b5db04bdc0ed82c1a60172eb8b9e30b2d481da7a1a45a47b75dc6c2873a55d858479515c60fb8c05117bfe8ba13b369362d87338caa142fc88660393609b915b79f47eafeb1d330b4e91e0e9809272339a56c20bd0963bd8920db1de1b1eeead8e7ff2a960604dea4a292ca1251e66191fa52d9e34247f36a91dbe3aca504a3a4cfede08146b1b7a072265cfd7ad7265998fc61e8a5dc2a3db5219b0bfe2f17f66798e73852726dbcfc083f0fb74727510a827981464bc4f7bc21e8897746555129e9d5f25f6af86976facb2dfe1729dbc86ed2e5556bf346798e0ca009d66bc7da85360379bf71ee2e8415fd10b0331289141efbdb4d2c46b692417fb5b0209f0759200c4569aa19c533d9ee1a565e0d012f5bc4b060da6fd6bf1d8cd9e23accf4d99d21336d0a301e7a2fe4c4872d8c2bb4f2367188eafa5d253d0f7421de6292cf3452dc48b776b967bd4826c722bedd5bd62237ccd395b3e05a318ef77892f205162a08f7a74750641cd18ca7216a352b79c87f0b05c7e22b0dfb5fd39e845c97e47652c77812ab4c7717d5f72bf15463da2addd262c400b579585a05a6c7e03ab823b2e946a09ad26966ebc721eed9abfbd5c46cb7f747b2f85b7a8caebb27529cdd4a28917a7557127177c469bd00df2852f16c2162ce3c49900c9795b58548f542f2fe428b02c5cf00ff1724824c4f83f9d7b83754192c745c46906f75e8bb9e1beeaa44df882ff6d6eed72c987a3b1a893fcf784440c0c31c54e4db86136fef1a45227f2dbb53f2b3eb21010be96ff5d479d573c782e19375b96de7245c89d28ca55a80c34b170de262872b387757dfa98af81b641641327dd95739a31770847a72bddacf032db77c7785b13fcdeb26000c297f747e1a53c82ee28d8eb647246d88a1633a6ee2b2384a32b6fd7eb39a5c79211e6b126e5c089041f874d5968df1a36048ca91d5249e1826feb2dff2f0125dd39be082fde8e7588f9ee60cdef06262bcfbcb14daacfc25f458ebc47610fdfe3f19d4c7cd280c64399cd5e90630489c0025d5ba12748e94d344e045abfb2d366f88433b52bce174857f6e15e462dfef2ac45da1449737c1072229c9f2790a7f03b8f05a982a1bb7350f8849de933b1d6d6cbbeda01bdd542616c6363fc25f69bbe8376e1542de00bbbd002f8c0fa2316f9151d57e12e55ab64b0b004b78093145f9a9b02055ff1cbfff9af22bd9f7a1d4e9b830b57987d0c721332f86d2d97e8df667923750a6920a4a7c7d195bff3760e19bbee6c5b70771eb24539cab030b2a0cc8fa35309377ce6a4e5cbe9af5e7a7da631fab7ecf45868e4df93453f5009f912a4edb676f0688898a3f965ef501be5b776a1de0ff975503799074940d2171615753e94a0b8478d71fd9635d7dd7522da6ba3dc76eb4d4a0a36613337c691002df7f50f176ef136a985b195132e5f1dbbfb26f6085bfa72f7fb5fa8f3addade199192673a6c8179c29e7f360f291c5b559a8ea4251c7672ab96c1242628b0a012b2f6c49e0f98b135e561ed5ea4d1cf37f5a84fa326d072e77f5283bc68f174271a712e1e19aa638801159955369c7557472dfb72097e7296a491918be62bf3740cd9d6895714c2651a5b0c377b9077b507dee040d0b7236598b75f409643524168bba4e87e0d05ee7c7c476cca90d426f97990a66d475e523e0553e35bf4e4f23be556cd02446ab479722407fbfa5dcd3e29f61ac216724b0820f6935baaa3774c1d8e0f2732f94bfd0ff2027cadfe290ba31fc6c11a724166c82dd7c4f95e367d8457b0bb9b892ea195bdac9b82cf5b44168af6c6d272080d03e19fe4286f7d45ae755e45b4f8ff5164158050c913f53115732a7726725449012c2e0fe459c3397d8b418f871acf941a4423eb7e85dbd03b4df36c3172492b082e5ad467a69e6a72ed11d4a2549c07564b7fd0ea2486c04717e790aa49a87e41f430132a7d22492ebb79071d920cf15cefefec850f32cad036ecffa472cd1d09def1b6aa72cbe095a14294748590eb1f1d4fcadb2d572455344eeb1b72f937dc79a88223281ae7f5b7a913504360ab726f962b2484f761fa9263b00769b178b9f88c2c1650faf0d607b3e3f98e0ef8ec8e5149f0d5f43d3e7aefe6713edf26e4fff3b9f20f11be32b970d24aa45fac67a8970a3dc9d70f157384b7ce4d78ae56b0da79c4a118b4e2a74ce080106e213119f4e2c5cff91cde205aa9db7269a34c83115fc115c197c8b2849ff660a07b313e6dacbf80cdb72e901bc3d35fc0fc7f376a15a8c3106e9af78a22f73d68507df0a361c713dcee714410e74672fb077ba220370213c6d23c82053cd657bfa9efe3f53e87527b87858552e2a572d8707a384bfa72ab9831d1cf89c13a3576a6c37ed698851b7b319e5e2862914b4cc9e87600034dfde7efc54db06fedb038f7e9ada5c588134436c332acf196231737afe1bfa2d20bdb1760b602ea3fa3fb00e027bea3c72368f25ab631f271697798e3402c064198ba5bceb3c19190924fbe989085c4bcc95250a27fe45b0a3f94ae15921aabda45ed29e69e28e9fc6d8840b6d0299399c6327454f04e9e6e654013a358895c4d92d37406d2b98bbf08a45b0944f5be687494fc20abb5b8ca721da78df9577bf5e6798881102ade3c050cd962faf4bc9b1772fad90cf795113429aad648cc94aa206c69712984ab2f6afa7064d64b27f2a9c652162c89f70e0874dc6c8b99d6b42808534cfdccc6fde199c6a0a6c8ba8575e86342a0bd707e6cc5d801b982e40478436bfc334d2a5e54e9d4c2af62a539ef76a0369ac665e047028af43ebf4988d8951cbe02da14b86e154ef42e4abf6f8b9080ffa51a071272ecc76bfdcf3a257cbe0c8b84516055b965049a5d3fbc21168b9c4a6b167a6630a240df6011f5e9cd06e5f4e64eb728989e5f0cb5882859417be705c5c61d7172ce603528e6086575d009e5403a88a1cf6e48ea91bb2b79c7bcf2730e8f4a1750327f5421969a1fdfe128ed8aff82050e55f240f188a0902d4567670fd5e2c6724c181f658dddf58cbb59c9daf2846720f8f1c5ead8a6867effa17b384d23fe4677dd5befcffc5144eb33b94830a8545897f3f256221670efcb97c66327a79c305cf26d8a602ec5f8a12113abfb0aa8c6865fbb233b21db87a2030af6c87ebb1223d47cb95c6b8372e95ce61b685e818ac3425ed80ed2c5cbb82245bd8b98191d0b7e833232ff9817a64ae0af6fc1c1326467800735820b8da25ab5a5eeb53f4f08d39cf19c7eecf59fd036ce206664ed3fab37d2263fddb4da2c9429b52e32729b91bf15d0289d64bf4056d38e710f56863cc6a3679f099e97ba3b6442ee804d6dd20425257ec5dd5ec4b2f0e48dabbbb228658c4415635cca2d4be08d478a723f8383fbe879a53ed00d3d1ca410755f4d5ae4590cda75628ca5ca9b0d066d10b3c204e78093d995bb0b17db05306be818cd51d51e4ab4ac88bee4eeea45347262c004104c94ad7db6ee961d62c4cffc8bf5729e326ba45df95ecc6e2a31d13708a1b15c2e92f55a6b9351d6f7bd905c5c992a3684b77e7f7950d39347418e72856d356c9c6becf1e34dc752fe45ec706f37dc78aee9be8fe039956803f476498b83c110deee4dd1fbed412c000646507706d5a94596e2f714e95694d89c97188b4369e8471215699cf8d7ed2af59aeb237a0c4a90cd6087b34d836af069fa72c74e8e9053c4d2c38991c0290bff0c231bb0a1b334c750930f93995a25ac906b49907c4949050c74500649d62cfe93cffa112792cf29e7373b4d76a5b7ac0172ea39d24cce131111008345ed1cd58087e1d621b2ed9ec7a263bf67ee53ea7751092e953b0a5abac8b5d05938da9be52cde2d7305db3c54a6c94933d0e8b8e272c0708b424b9da52c600949b3303eff4bad37691bd27a08973e1f499afee759725b9bfaadf26d5e55a6246c9dada3605a4d39bf2e63d9f62d6356f1879415d7725a30e73e30a855f13da7e5348f19e64364c73fed8d49c70d53dd89ebd9e01414425bdb5fd38627a336916cee62f42cdfd4578e1d207eb5c945db4f1f7ef68a72ff7e42e8717faa0892c6441be5612589929e7cc466fe2a8aa4fd951be5348f27bb621275cdea587a0d8d88eead8c52797fc9dbda8a181c92ef76cd3a09b1d372b5e5d6dd1f1f7165220ab7a779cf5220decebdf89d4dfe96e0e6a9d40c962a6d8164588c9e7ff6af26cb86ddf73c7c7c32eb7f9172ff40990028ac1ac33b1672baca4093cebf1602ed5078feb4df58fc24feef3a0f788946c1eb9874d323b216125c316e85340344a44521611ac9fbfbee8c58f7b5d46f0d4d44ac0e8ca5c372cd33c943cb2166c3dabbd111b18b96820873f14e049d0bc53ff23683acaa4872e7c1a0274e25a57ea6afebe314e876491507dcfbc76a0472f0fcc6fdda6c2c4b259925eff272ed34187b7c4793d2d910c875664db49efd75083949f9e14b85726ecdd056334c4f6e64dc67aa11e016fc42566b24ec45535df2d6eae2137b6072ad2eab82bb359cebecb63911b82ecebc301cec3185cfcdb927610545f2fd3f7207289df448a84f549c9459a9c12ca3e458f3aaf219dfe05a0214bccf254c0e64a6e4205de3ab476966d184824829c7b9aa4a88a50b84bc484aacb0a4e7ebe964873307bac69255d26e9792d8cd2c34c8122443e75ba52839ae063e393ff9ae72fa5b667a0732eda6e9cddeb3bf6cc8203d666c3f7014578b3244d290eecf631094a8916b2e43362ab563968c01342a1550ede620eb5bda6c435599b473dcea72e46fd297fcb0b9ff18b56429a9d231f95ebfa786130a27fd145393cc534dce3b5a36a521ba672f60fa95cf549ef91f39d5f68842793eebaaa542fc70f70a95066a61acde34d1a0d80549dea9202e9f74fad9f9b3cab5b2992a2af69a59d74c72d7622fe4fff61627b5696351112b63c6e26ccb92a04a7eb774ec3531fe4541720c768d73d69fc78972b994aa649b2da8fe1e5f74f8a14435cf29a2157ee5875b57eab269a65df96085ff3a5d9c066cbfded331ad0b98dd59f167406e4b4be819147b2fea053c2f1916a076c56304094c6b27c890cfc182115477424e91f6c5113adb094e9725480d9f1ec257a47d13407c204f5089073ad2bef8a5a8602bb06bcf3b56cd484ba9196c00df7ed8600492e6be787c04a9d37ea653b53fd8c46e72e3d0dc3ece64321059df3e4c16292cef5ee85e29d04ba0b53b2028da6326b9725772f87f91ac38c1b220c17413bc77a830f537a8297971bf3465b9f374128872c2ad9348d29018876463e053d0b0aa83fd92c4f3290c8f0bb65b73ce9d4c9a1e1eece71f1a5cc1ba016de79365e2f3a79c12368ac05a7c7d8ad82ce27115b672e234fbf3cd184b5116c3062e720964c11e17e55be980b6e7cc1a2bb9811e62724e5594a9fc09ded73d3cd69bec9943176348ae8280900bd5eaea8b30dc6ebe26508a8c412adcb05e2ee93195d216ec3100153ad8c5e7fd73e345362f3a6ca5726277f9ed7b600484de16188634ede7a39bb22165e27bcd264817ecf13e482c631072b51fd87c8e3627d0146dc940324c39a544857730ae940f65632b4d15f17224a74f773454e69f46c00b3e4890d5cdd0dbe9621387f1e2e5b7def048929a695c1b4c90c6bb0268fc7457f2e6788f51d2a801e8d8fad6fdcfabdbf209b8541af24a940be62aa79b0188c1df40e57bb06f02d017fb37cdd29e572c9803ad3c72d6f6e7759584ff353b7364c6903ff96b1f1df3363672fba803760a08a2d3dc57d90e3fb99d681e1116909b604cee91cfae58ddf05ce1a846403d7568d70d335bf9a5d18673109b1974febf6a31d87646bda101152de5dd0aaaa0fd5736c770363da9829610250de119748dc2bc07ec3e5a36155258f1107ac24e89f9d8de8872941adaa585d1fc345b57f824b6d97c97f2287800cd67e98dfcb800aaea1fe0344150697213fd1d9b7b846dec7520d8b77317e0011a0b1f356840766e94476d72d9fc10dd5d9607e0b8528b0969c57f9d96d17a417943033aa605c9ffdff20b72e8f3a5fe947f1bfcdf1a548017f947dd19d1f25592167740df4a59b1941f6172ac18607cf3d0b814f47fdd088434c4a8c3f0c68a04495666fd65ec0d6967e0330616dd54b470a89304929ca3e65b4c7602017f1f38fe5a77faf287b33ed0d411133c0d66aa307ba151a6655777a1de34bd4e134439c448733ab6917d1fad7a2ed88027e40f2f93d524a2dc8eeafc59789f49bae76acfac85b34ee60cdf42543867e6a7f794cd2e674b87f6315a26a22a5c34c6e94d3e886e22fd70edb590bd72ad19c62a305ac5218ea911db2fa26a3e1482fcb5932af9b656ab66bf37cb04727b01ba45c7bb9eade2629da87fbf13a8c2cdb6761711f16e186b49dc9152a3729a36184e231ca3d64302e1b69ccbbd85bc00b0bb6e38c0ea8fc2dc44f0d6d272a443b18af204328a5d775d3cc9eeb9a2591aca18e64663d5de5dc7d10688350417ea06437a3f1456c2de4193f59a7e32091a30daf2d092b697c0456363f7f572d5668706844b43e42f266d992f4ce3c08d4911f0e34995e89683feccd53bdc0c51e419271e7d80ce2fbeaa6a7efe9787deeb4145631406d868aa0ca170cc56713c6d6ad38ee095f089419d3ac5e6af9662cf72c9f707a6a1f34f6b3a7dfbb2198c7825f050d03545df4903cb86e719921a716ddc282757e994bc1f8bca85da18f65357baf0357263d74752f38b88e8b4179d07616c586a6c80141fd968bb81725375547f47dbe2752ad1b6801514d9fda8551713b9c1818534f3875f4d9d210cede08e91ecc166285711b0126448e4221fd7a00299732dbc62c7624cc9719f72ad9d315fa447ccfa441e614ac35d65f91b04ace97d01b7f6af538ae7c1d96225abaefce71be7c382414a1f4a725eff0d96e25db4454d93cfa4e5313235ede972a2cab9cdb7cbf55e94c8526fe5c36c76be1f8d6d6b83b2a3f2dc0d00b35e75721e481de7a2867b9e599ba680ebab021957bbb205966be8aaab7080bd9ec2d072023108fabacb2f807bd95f0d4fb8174ad488cf1cfc1fc5764ab03abd361f8272e418263180b290ab0a3a5fc2b4ecae5f2089d486f5f7162effcd16c4b6539472bdb71e1f24dd1209cbc278b0dced94693328e1e87f191bdfb5e3b59bbaaf7821be44c0a8eff72d7b7c21ca773f413fb0b5325c5a5630190845227d9a03df0913c98f2b4f266c6c76f2d1a9473b0ec3927f2e7b85dafb6d6f0d5dc2674ae28c729000d7a61dfa7ca3b6f932b36f82d94d9255cccb6cc816f06f78f559f987c172d441f36e066569a423e2272f0921dab51f4cfd840d8d3387f8f128206cdf92725179aae09af42667165b4e9d9b5f1829d466ae99f68367da6ae52f013d4fd572c74c9754b898464f48f452e993474964b83d5197f9fe80168182fa3d549e4d720c7a2dc32c193d193e34579035949cbefe4c13e4ff790c81d215cacc7bfc4e72dcc0fd67788f59df723249775f316eb89c242b1633e9c83fb32ae29506e7cd1169a67b443affb0511389c3c919fcfb928110b90aef4d28bbf2ad7f04f59a875caf8d87eec82ca2b1f3cd50f1e7ecc96e82748a06fc8b0c0e5e36bdd796fd1a221694b33377685309180bdcabf0b5b6d08430c3a0a4a4c2650d14f116eff6091ce2306be69635df76465040392bcbff816117069b620abaa8e261ce39742a22728c61b979d3ad4b023c67830c3b2a267103523f229552790fffdf7e72013a5b7209d157eeb82d75b089b63884acc7ede4bfab15d2b7db0426778bcf3e25edc67235988eaed2be0a5473abf5b9c2e17e2cea928e549de787bb613627db366b8b4ce3175dff1877048ef4aab74849a99d6bb547054ef1133600f4ef3ceb530acf6a532cf3b693ec4ffb318fea06eff2c82b76d64bb01819003f551cc9502f0ad61197c0469f213de81deefcf11523121814acb6cbcf5d0ad5e8b86e62a27f9db668aa318675b927020d2e3a33158bc43a2ef990e6350f0e0a84fb88e53dae534b72d3962912ef558b5c9107c61c6ef3a380c31ff1ad8e713949f2387d56d63c5a72f92a88efe5f1d099c1f05521f97162f3e2600ad1010011e42059c6f23bfe7d72aef27744848d109a8a906e02b273af5aff43a4ee8f368643a2e3debd78ff497250ca83adaeea49af0a7ee12467979bb1330b89a0c1ae6b4ad6b603131494cc16e69e95fb17ace9978e076f6ea60b63fd21b3a310b57fcfd0c7ea50607e89fe68f30f54e6eff76cbc77d9030d14c09985ba807dcba92011ec4485e72134bcbc72c4b506a0d18939397bda36cde6231d78038cdae94c55a8b802274cba1a684d72518c5ff5606f89f6b86f6e304aa03255908c7582ad5f74b58c088126589699508d539fbbdc393b6a3ec3abe75fce6200ba91b7aedf279f3ecdbdcc2e4d1f740c1d3b73eb6fd8cfa838a0a006ad000fecee5dc05d5ef88ca95de9fc7cade0e71adcdcb903a3f59dd57c6ea1c7c21dae6b8adbed0a570a4a391c4d7127423af6722913b3ae11f460baf61d6356cb17377ba88b90aab80e8e6d0d3e18826dc045724487206b33b68fc343035b9463cbc85e3483a51b35ffd2885911f5a91f4762727b864d82dae3d73bc980783c9fcc444e534c8f429d8aed9b1b371ff1b896372386d92587f45e7795a0822725eefe6285db2fa723798f746ec7d6c897a44b46720bc20c290a7249a66c09092ede6035e54b1611f8db4e7f5a2876caadfddf806a399b34c17386a061e6a8f807bbe19338fde3818a9324076f164dfda3b4beac7294d65c477199ba9cbf84a035cd26513c7a31f54025f9cd0f954af562904d0d727b9fd6e3daa60b9e7829a8e8938913f9f64e0df0cb46d22efe086728acda51721e2c0d286717d50f29cf48d713d97f44993cd04e8e6101ee3722d151b7384a265702cac899e2cde2fbd5d747f6dad997f8266b694475a9ae5d2a33c12df2240b24cdda3f63699a70c458ebcf37048032e0dfde863a4e48531d2f7a13cef0ce47369797e7c274868cdd61e36d5a896caff951e46674a552f2c1d13e62ac95cd72fbe8655b5b70714eaa6f3a02836ce8cdf91843e27dc4cd76397c609a2290877206c5a6cb426c4ec5fcb704ad9f91614135a65d115ec89da87139892f75930972cb4c5cba8f8839319ed6f5b4f29aa492054450b143de4d4e163f2ec1cf6dd5725122dc6639223d87dc1bb95ec3b3559e2e24f945fbc7b5d726e5740fca3ca9443d1c470a73b373b84014bae0e11012beea0be31ad9aa9ebff2352cf0fcaa733a935b6b0f5e6032a5a59b04fb7915b54edfacb44d5ed7947d08598485f589297292408351cd0602de17fed53825be8b3c5aacb542d5dca3bc3e60efebf13517725d954382e82fb05fcebe942a9829e9708fd2e31a8efa0d926e4268a01588c33eda7e3dfdfd2876aa4cfea2fafd9463da83bceb90dd431476cab5de0404efab722081ab2efc6fc201b29cb7820575d392fbca3fbb56e8c9f7cbb68b0d3ba4aa16ea13c40b79e4e4b0b6762d3ddd3adb67f569c2e43052ce91139543064ef3ce59fc78257c7d7163f4521da3afdde0b9914d3b0bcef2c8ce8dc1f35d3f043a60725f5eb3a32693a8bd7c11bc56e61ba57bac528bf0b1a97b2d5f3bed8fbc951d4bfd4fe436be478863a072a9be24a8566f1259251dc1de520c8320268474076d72f7f715d66c9cfe83e229776946758d1e3064c6f486b470f28ec62215caa1d0729c25419c58ed05ddbfee23707ec835d2d3819466bf8fa4c0aa9aac60b87c2f2788a617287f7f2b11e9f3642610e0c741239104f3881bd4b49ad600b6d1afc47231bbf30f94394491c3d6091523fcd710d8d60665325a0d88840499efb993fc72e4fc7fcb7e3733ff24ae173eae9d111d8e66910fe91101031414c59dfef9317209d7fc975408ea192650f8a0f6cc6e7e9b7af7682f86a809a1239ccd37a6f1726ae1996bd79cf4033bca66f7c51a75ebd35aa1e85da5145bc7cd305f78197072188fff61e3bb5ab3fc496917f232d7b8899df398ed96aec968cdd54f16ad1107645ee0bef47f730f614927f8d78717ff9387856d5bf6d6137a960a42d0f43a72c9f5f096e872a681cc86bd275f9f0d9d164cbe70b4922928d3f1ef61d61fcd72e249f98ba6ce10467a7d743804c72cf70bf597272663b323d67906e6d9c3c0727ea0559f85a79312e79d4c48429088e40c42b28c4ad3ff8f948dfe742bc5e950d042ee9e48b201c8c1d1fb5d743e54a52d85e6ad3a8bdee39ed4b6ef7cda962716301ac1ecc94ebd2406fccf29a9ad4d35ec8703b6e59c1eb7afb8ee0e24414389d872bff433f58ac215217e05632c7541eae192af5be29acbaa5b7655e1cf0510fb68f64b84454fa66dfad47e136297b00fade28d3dd21c50a4dba2d993a672be57b654e47f99208fdc2011ae9ea475507f3f0e5de60f013ff79e2f01709672b5ad688fc603deadfe283e130cee13a623fc10c7772624b0ec91926caf36ed5fcadda180e71e8cd94a2772cb768249137eb9542da91f047af174aa22266b4a722c466e16444d90f34f0792346451afc6294565c36af3187b5a99f5e606a849723b885f116e832c27c64b44b346e397fa9660c92ed1f5ce6e32591ad4e562236b708882d7d86c71437bfc7d609820a3e3a235f82c49ebbfea99a47ece994a050a9cfa86e5b53a80ac0b0a6d22223f1f5e2bd0d9a0523c794f436161a7784d99721dc8be7da939e7ebc293a9ec24a0009009f2461dbf2ab3213772efd12dd428725505164378479326c4ec0482f66676176c6e956a57556ad00d874b45b85cac2e50cdb06bfb41c7e3a09fab519b11c647cae6f7d3683bec84f21a2f8fa389ca72eea134ca34347816792f4a4ee252538fd934b79b54ffbb6a0330117b2821ca49e88cee3ce90c538d620a236b75d805509f58e663f4d1fbf77fc879583ba55f72ccb15b895d63367069d5d7fd3c475ee2d468f012ad2644601feeb78088649472543795c039e9410dc3aa2e63573df6ac4610437b3237203dd3c23f20414588540481e4ea66c4bc397144b410777a289458c0c287642ae9ff2695da43bba2b82fdb90510427aceba8545bf1b4070e0458c6277c1607cdbcd7685bf6a7c627411fe1e6f25406cec9e4a45cd9c7fd1c02170bc631998ee37d7ca03af595d8b38e16bee6c8c462f426ff3d203254c6803715a45e75f06793873a65e0344570961d695e5bb7c3d48795875b1fbb4400c41ed9d669d3cb14e1617e15e50cb579e37872bd3de42a04ac7f3c6bc316bd2f5bf159f73db1123bb8e621692139bf625fb133407ac715215c528d205dde95a4bba7970fae7baebea4daaf52b127de5734575e82630da6a7a9cce6fa6627dae48882ad087e870b12865557b6f6d670fdb55b3c67d0b6197dcae6831603c96477ae2b9cce413ac57e72d226c167dc2c4f5def69288c4395b17af2174a5c4cf4de3f912f8b91565e5862489b98fde29cfc4aaf72355de84ff5b3535cc589938e3831ff0fd37e581b52b0ece9151900cee1d32672ed64f3468567c67e35eebd895c52ce48ac73bc37a1dab488ce4afd55ab21897294920b32dad294267d1120fc5a5de22c38c424ddca0b3e37fc97ec48cae0b872fe35f005625480f0536d3767ea929ae2c6d80e1973a540712de30b7e73d8a86d10d8a2a5f51411f758c28158d2c57675c8a3f59ed819769c09d7c9d2370e8529c2824bbf5fdaf60dc5dc79e83e1b7b270f8db010b00580a4110dd8818fe185727c402b722deca81f664b1924385824ca5b9493177b6b038e167a23f4770e9314b31f9d65fb1e0c83c486ef1fc6721717951d7b5ce5b28e7ad62abff387d59b1e82c0a3662f343c294ceb9afcacc84e4e377ee9253fb53f756cd879918c1ad672f8499a08f16646c9e44e6a4e56d038b203d965fe28012f281d113e9e1b77277298e1df02a561fb687a44fcda509e1c1a35380605a308027f3d80ec9feec14872081e827b8f651e003be0cffb7f7d3b8b42fb2e34b18db0be9feb24297c9eb67291549273b9c40d2cf7fd987d633ac2d412f79984d3585a3ce47bedc83532197281bee3020f8ea77ca66111b1b914f0fd82cb3efb4dbc1ff0999c2e837ff4dc729c66583931f39876f55444d957d55a46a21c397f154f02b9cee9089c9fef762d14e95a282da6f6ebc6ba893983be992da3ef770a521cce9717228c20b79a2f72a076cd7270c58a27f67eb5d64e5f2969619824c16fc97164ff46c965e640f072b1feaa2a413fbd5b39b0b8b909336f488e089bcee8ffd9c1e54b06631f910b6f05827a3837508bb437b635896b6d7755d021ef0de382e1aadac385d728a814723c8691bac9b5b490075c74e9cfb83ccf70df448e5d764872ecac8c811187b63e19bdb679d5b90f583605375964a40cbeaa93c8da0fe02ccd8a6161807a3e7c72621edd52c282a09b3b6f60250abeaeb92b1238bd9607befd7ceeb779c95fd755449f810058b5f98629581c77fb17be0813531372ab441a0c1fd5ee78c703932f7ff3b428df72b6696d7a5baba370474787ffa0804def98896eb068884c821d61cb15183e5234502bc0a99bf2da9ac1f045186d50547ac87ef8d272d7d1594d0429f45af459c7a90feec4f9cea07de548ff4c747e85072a2d896ba985d4c07049057f08127dc8d5a5ee462d36a42a2373ee7b45f6aecbef7e992df3aa30d6bc2d0ba78be46dc619ef415629ff08f55700913cfeca688cf74196f26a24c689867218a579c3a0907d4b1366b8a072628af5ac38a39c857f20b53102b63227b1417261dd74e4cfa30ed58bbdfebb486243ac3422712656306a40f71cfad096490f72511961be456190991785fe8aafbec01940fdfc9033288aae64f46c3030d30572a3b1eff600582afe036a0dc0af69f2861206a24f88d0db019a9ac2d40ecc884997cfa0514a4bf063c658943ad3cf524d34a8d54be737d92d348729ada0c9a90e22e0403f549d0d527aae123ceb3b9bcf0c669ba484a5ccee3dd4ab5f1a002672bb202d82f37f06a2c1b444de3f01923b5ffc356fb8721864335cd06b4ce18d72f86454383ff248aedb3f82945ff0aede03f3ef6811e52a57033751051ac8b772157c0c851d936b736b2de1c143c73b8875854ac0add624f0f30439e22bba4a3817f183ced1255c053746ab154184018c8e742a2ba8e7dba85a1f4cfbd357ae16dcddf1c1d459ee7507c9e275a9a76743c517858e486bcbc8dc8f91e667a1477298fe49b2eeed4c88f16a9249e8c5a3f33403c06bc8a3e937a7213941fe12cd72011a17163bb68513a31165bf66803838f4366179a453b241ea435847af08901a71e18a509f03807a076d7eba8c73891ce551c1d38e5357e7d72da4bcbadbc50b683ffcef308e28cd03a2d6814864fe4db7cace9876496e1d20d8a8835dde4b7207b608dfaeb024fbfceeb59a21ec273fccfb8afd21926c2ee8b95b84d00f9e5f2c5367fbb2804cb0b976e93150f5a5d2ff8698ea98edcdd75c527df6509afd40ccb0a9d5206faf0a2fbffb393af9b70846e6c522e7d1dcd90adb485ad996770b9f1c6c7203ca0096a5320cd21e1ab4074cd3b645067ef9c57dc1445348fa6d72aaebafa5b60feed7afae08d0e8e56713ecae68ee32f7af6b7d277d6dfc1f64725881e853d7def9face7b1abbd8c44a2f933d438083c73a0edcadb26ecfc33172e98575a4a18cc99eac7afd5b0b5f4b288cea1f3acb7b1f30b3bbf55f5f1e9972e5c2adec5aca2cc36fb421bdd255fa0b65b803ee22df6d23aa431c8a58d7e672a4c5d6213b7bbc51321a121655de405970ef394e11dc86f3432b0eab39bab21c17ac9f37e73ac5f78fc0663a40ab54e5c67795a6974c1e64f2c43fbb670c9f72bbf3deef3003835792cbd6414b98b8e3b0b6462b3d0ad398ebf44911fd2b9e728e9074bea05bdadf6a1fac503d7a30109e8caf366e71ab9a3259b2e289835a13bd19b6c19b068154e35b177d587b739f0c887e4c1ba4cd10760b78a58ad9c972ac3623cf5a0cf3c4bba84ba5ff3cadba3118c7fd3f44a4de524dceae869f416a621dbe1bfcb712c5ca75bb2448dbd5f64a491dd25771b0f653f95ef280b947725031f00c8cc24244b5336a79e12ed2fd1fc7e09460cb7706c83b350e19f41572cdf097243e660bd98a239d80b33fa679a54814b22d5969cf99252a872ee2de10e24dbba4ed2de4e68ff09a04d25ef9a2d65b4835e3ffc7b036ebe8bb7f157a123af21e9e7d41709bb6a41624609fdc2c8aeae2f7552d90536e83296f59891872414aa5cf474989ddb2eafb9e2247bdc70057557486e4e5bf4297e0403ec30525b7ac0bfdea9e1074dc30f5dcf29db1e4ffcea31723fc94a8624177f53108797240b11459fe3d474692c450c7f09108d9c7d470f0448e74fb11aca6009cd92e7289cbd5bbd9abdbc212636184cd78b50928677b74b9992784c5b74f90bcbcef05a27b2760736c1fc832756050dd587e4213ffe4f4d0929514820230e81acf165cdd8c44a41708b4d94e7718bc2afc88f5b1d5ee882f9a5e54659f30de9db94c3993020b1ee96a420fc6644b2d60bd81344504b48373cd43b71040726d6b3000721b98002f50018ee5823e8a4f44f4384e95d3e20744631cf5610db7b7c0a9a34f9dba9d6c694d1bb21f1b86705f76980bb119f8af24819a7efab40817f6e5d5296ccfdbc27d9eb1c6d7c373f26bb21154178aafb85da91ac0fe61aa1c55969a7239312d1e732a0cedec03bb610cb9c0bac630200ed181d7e6c432790fdeb378206a92b7963820463bfd5831d657b61f8e808d3402399a675f2a7600dd70d99672e13ed1dd38902666f9ecbdea608066480b382fa9aae2ebe7afd558dcb6f6a071b106ecdff1d841bc21b89a98b3ac32bf4ef84957726a591bd9dbdf0bde17ec11ddd497ebcddac695cc62289e7e2f56efa8a3dfaf866a747492a3492ca2d2110dbddc12b08a447b201b0bc164cc61191907a8e39554255c367a9ad178fda93f53e6eed504f2af2a4f0fef1a8dfb49a75f9a2c17933d4a3e8191d4849d28a910729092d0b88ea2ab506e9af50e68fcd2872966476ddac6286685b917a77a7199460377b92001db880326d796137d391b00a2efd880deff10a1acedd3d4aa588e354a82b900d97409d78f80d69d6b24868504824e2a71c3aab116314d5d4ee5ce2c9585955e8d5f9a21b6d220d2c93ce162fe7d2e6f76ba5202c2ca0245402f0f723321e3eb239dfc00358e63fb375d2e8469c58cda4a1d53486b97bcaf8a3eab1d7dd5f9657c2a8cb7d5b4816b5dd32288e413dbf995c59eeb9d67cdd49715bb416251c0623bed7d9c29e9bbae4bb460d3d43f53178c762c80be9e69d2542b6672d20bcfd298439ac22ce0a8e4fb03e319246553904a55784d83c8513b7de32c2517913f515968f520cdddfa2c03ab499df47ba2565229e0385f2550a519c09472bdeff02da8965ffadb210e9f57fa51a888936fe0b3c44ac82ffd52c815e6902d8761f40108cca1894a75e895f3067c3be8a6855f096a96903e41946ae2c4db28b2d962e9eb688a51050047fc8db5cccb825dfa5aca14076dd6916e6c9bebdd5cab99e9ae645917a8a9b3f1ede14fb634b553b8cd020bcd43c2004179500ee47287253aa9ebf7b00da3dd032295ee0abe00dffceffc38d875b75d9555df80787270beddd47b37c7790aae3d6e436311c815f67483cd5bdd5d90a8fdaa6c908630feb9be894882758ada0a46370cb23252718c357e3284e751af4ad0524fa648447f14270bcd5d8136a7f3a848d9b231b5a3a625f339b3396be5e8842d9012b2317a53416092240fb8578ef972666cc78f601fcf68149ac92385a3ff6461ec4d1ad98f7321df0a3cb0ea93a9f67251c86addc9b83129794b9ad6ff590da080417210b7d70e9539a888e541d68f33da6559008c8ddf55689e9fc92ad6f527d4e21687554026076c1a84f5595d4f291f6b78f39a82dbefb903bee21617a12332a5720a83c24d45d09bde3d5b66c863c72adbd6cccb3ffc472d5b6ae6c53b72c77c4fc85b2ad35ae60fb180012e7c8c5d20e956ddc98707417fbcde9299d6ec057c0346edb266093c7c8b5abba8f8e40fcf59a814e7e4fe9951d1feacc799dc38c072048fcf07558575efd6b429d12615f1a28c7b3582b85abc5dd6d36ede4d0d5906818ab8cc57b097cb2a043756b4feccce95ca18b3ec6bc5c2c17b60f188d032501572fa29c7fe6d6ad2d3b47a7d38f0fe22043f9503c2b5693406e0cd10dbe572716dddaf2b5e4f93b35a996730946ce8c57f67050aefe67a26f8b31f46278e726498ec4dcde87f7f4c2bd680e512156977a6f37bdc9b10c220a8c861399c4c3daeca0a551ae505779ed58aa99c538632945a308ed74b071becb28dadf6035072d27f50cd47ba411d799e79f9e1062873c127fa59d4ff1ce502b775a4bdb243724bc154decd9ca65fd83a6e5c61af6c5922b7e2da7d8e56a809d9b40bf19ddb72adb727afdab3128ac37b97474d45c0fd466d2c69087b88702c772b687629967204cfff9ef0b7138329abc9a0818cfaa9fd1c66f0a211d198a562acdb3e16f572f8eb22975bf9ea6d6fc53c8f0b8e9ab8e09636b9c973d0d7657f1e397990f472cfa4224feb3a22a511af693cc95acecbed9d877e5c97a9e16f578c70f8c83b72ad2ec07366a88b606a6d4443f45e299eada3c83415e85aa8da0903cb97f568722bb2bc90bc99c5e56bcc8d4367d1b8d127196c64e08e1d713b09fdafccd5ee6ee0aad4fbdf6b909836ab10a085a3bb4eb097989ec88feabb4878c5b187221972e6a3272003e250c1ee02581589807cd2ea07e0ba3a8a635a80294a72c81d5c72c6b1f169591d286ac90becddae57c1a790aaaa1e65c3903a67b72062d310bd72d8ae9d60a939c5b79f15f64bc65fa3f9b0f95ec58098396736e5ca7c71b8b872e045598cc146014d8585f387c14cdc2400549279660d8bbd51d88da86ec09d72a8c5f39dcd340d8e6d1feb6412926ec61b3c089df9e6989b8532f336e46c0a01e59edeea18b0c174029614a164cb3ca09e30c1e5d99aa765193cb512b0a2b0671bcf2e85b54ca53027aed38dcb9a2472c8e8c427009c86227b247836971d756405f083de96540b6e6181eb3ef52355f0dcad73319c94d74ca2b67207783cd57209868ef9ece1a4c674107208e547fb9e7880c463a353de281c79ed9616baa01df34860251c08aabad6e40df11c2a880a4d590dec2cb8d529027657913126490f1b6caf3001abd8c565eef91d78b9e8580ad1055bdc61c69d03d43ad0cb4bf82f6ffe86f9e7bbb70ebae20b498096073f3c941878af534b4c3290a236dcc274493e739a350ddb1027faba19655c5b078cb1eaf752fb8d1ed12c3630e3f6f5d872250e6ed6136beb7982f70d2d7157b4bdc01c4ec7217a94dd81f37ffb7e4d6172d4b1dc1691b105d4464c8bdbdcd6a98fdae034914a616b59abc8400b28ea7972e8f5d323dbc8d1c15d43c2d90010de4c113de2b4d10a082c5099ef71ec5a0d72d46656602bda366c531609d59a254d8bd0aa00ef367942e317e2b9863b710d3cbc19c7dcf0d851c6a9e62cc808e3216b49c264f6ef058b2cbb2be5500bf2ec2e2980f24a0355643235106a56bea6a099915fd96a5c67962a58d4722dc66b487250e841e5af9e7812e260d376ea23c16e1de871cf757a61a3e07d6a15cb071c6bcb1bba3a03a0f3997c5f263516d336b859eb18ae65843fbc180c92d0449e61438dd74072f164b39a502dd21645a80b687dcab0f9d71c0905984ebcf94e14e3352ccf3b2f6c7598e2a7e9e78ec2bfbfc405283420af503e0b917e21ee6b9bcc7298f9cf2775fd62e688b0c8d3ea5ebcb4e96dc0355db2dbd1bb99a0bb0d53ac72cabed8a76e90f56701430dc2de622eaa17879bb74e9ce3a526c26766b95d561f040a9479bf44ec74f97b73d79f7b0325d3b393d027013e75369fa8ecaa799f7241898a4c24b435b914b5f807d7e6ccdfffe7028f9463ad6430f0803b545d8e72b482bd486cb242a286f9915725b3d9bf81a14ebde7206469e19424119d4da004c53c97e5e03678047b8552a43a7c9407064a8e4f12bfd05f82e273e2947b0530c2f76b27520b2d6dd9d4c624d650a86ad81ce3f6af84e5cc6f506b601abd01729853f20c2f127f37c591e54181aa6c5d33ea504c4ae689089c1511106f09817224af150eb5f92b6a6e1ddab8f8933fe30dabad5d2685437c3fa7de80f569c8726b866596306c6bd6f1053185b4a2f8fcddd0752ea9d655b0ab6932e1cd9e70726b9f9a95cc9f84a43f3a1e9c5d42423c1ba1b505a6892b39424e14fdcdf8466f1306c6d059946ff4bf22aa9236f3205e68a31a337fc675675e3f3ea8401a3272c69a1dd5ddd2b0be1c3b5ced5afea4823443715b353b26a68ad46982042c4c5067c1ffa391ea4eda12bde761d5b8c6df7767346fba26cd5f4ff54196b91b5972a5b2ec94c9f613d5fb768d73f09c879793d483f66f7da5074c87b6eddf71d972b10c15d46a56248a94a8caff6eb12d888621ade09ba62eab03dbb11dad687d72284a50f1170a40329aef24b5660781680e0a1e7c5a42148c78736e52efbacb7228170abf22e43a4ed8a51ba5bef17f7ca5e438d7b10bcd94974375f23a3b3872003585f46fcab5dec3523fd2b88ca12ac4d69351278fb1bf578cf8c7d567965df8ddb68d536bedf3a104f88ad4c443f6616c8ffda01dc34fe1890d48d87b3f6d45db42bb71b0a723c4a3d592d55e730ed6e937ed97a3816d46d3fd947c303172eeecd99c32b85ec93b9a2bea7641f48002f46c7eb48078010e9297a01c4e1d72abd7f13eb47046149f1c403f6e389ea350a788c30d449b84d3fc555c9be5a77282dd03cfa698049d608427574ad71874b5c14259beb0618eb299028b89b4504403b9d57a6eda6cbd86bc8e348f723479a895d14e4b81159a0e876f23070e722b43293327443ab3e5369a2c997143943e950486e00ac763a13a0277ea567b02724ae816f133d9a78f591366a1af381473b63bd3d0c714035b07427141d59c9a029992d1d39c932fef3f1b767dd3cd8b3bba34782cc45f06a6c6058e5b618ee70d9fc161ac1c68343934275374ab50996ce9b6f270573dfaa658b401bea829404ddc5679703cfdc0fbfb3ed66351768137fca49f3420558afd526ff4a4653ce130303b28bb83bb85449865960b75e0d0c49d045a5dff579f60a5fa54739edbba72a29e4b4e787e8461c90b13c60d6c7c9e456a873e778432b8a22468da2e158372252bc104301fdc140f51511a12ffd09d204bb0634df8fcaad4522449989d8926849b743e59c749ed798fa1635f489818635b5f3f8f08ecbc55c3c2f133a05472c761658ca5ef42695a3bc4c652f6eb4bcec72beb87babec31c9340f744e76b7295402371d3e1a8546065aa71587eedb51380073804e77f6281d3b1269afc2332553a25421a580de333eb0d45331294255f9d26603f469eddc89807458f6438682323ad9f79253b4113f4e51a5e8a64a370fe13c91a3fd10160f15068e71d19725158fba9d70c549f6c298611451073988a97da8241f063126a10e126e3f7b57255a9da1a3ac5998885b203d38cfdef082537850dcc966f438f3fbe1eaf6f117282764b720c4eca73c06afe7db014f8b8e3af2097fa6fb50910ad252ea6407a3cb9b110e48ae1a5e7120d84dbc7b5a6b9851d0d8a74117beaf20c5fb323cf8272574c41cf8d35ae1340e4ef0cb1b02bfcf10efeaa0318a8a69408ff2010d04d72586d4e0c4500c71afd2729c24021c986dc40d04ea4c797324fcb179446b55471f3b1ac7384aecf982d5253ec256f6b8dd89fceb37b5252bb56dd7132bcc0237279a9ae65679b0993b3a2c70e9c070fa8c872e3bc6fd69a6120e9b3e3c168765a776542411d320407579e0a9bf41b37035aa7cb3c1b30092fdab7db448cce93729f43e54449e972161fd9c1f529c85b55edb298bb35d005e360bef68ee008ab7249af4ebea6e9410078f9f015ceb998d7438e35d9b3634f147c7234e0e6017616ca4e378561019127adce63595a0f2b352a0a4603248bb4f1c5075d03a957e17216527ef90d8ab672fa61765b66435d4339175947c247ea6fb947719cdc27a71912489d90ca8a4450f7eb6d767115554c67ad19e0fd9d6c7ccebfe7c1e0a4b3724f7fc43d52ed8104e78e4756b3ac49ea76a7d82eb43601bdce066ac362a9e6001349ddc5f0fa89e95d160c116915e26e20f5f61575203e6979519c6bf4151a08ec4ab81a3a2ca9958e9ccd0ee46e2670bc7ff477ea2de280d45a6fa43f9ba93a6b55caf41b7bd2754eb789d95c69a799094abfc5401e403406696180e163f772e62123862823571a135560d617862ec5246266bb05cf6310751102429cbdad3adc3cef52c2c932df4e9e15947211ef75b2fc9333c33d03a544e2dd80f1a3e8725d6f0fce844393f0be2dbf1fa8b2f9db2a3a61a92253aaedfd839f3ece2f3b72ff6b8d61afc7ab422f3e43b86d95cd07e6d11accdde7720b7bf0ebb14d0e7a72fbdd0818b34834e92f697394b0866642afbdc5f60c9e79edc1daa0b9e5b6ae7206903d6ac59b62096be8f27c5b1662fdbef1fe417e265604bf55cbf15a5a79724600e430dae749fb4d4280431f64ba53c8baf201fd52ccbe5df9f30f22e8f0728e9d16fa83cf692502e79869762198f0e65920996af6be8137a0115d64ad6e3094b0c1bf62a7121816b80c72485bb00779aae042e0e69c132ea542108df7e472d44a4dde36552f07148cafa6c65ab92b08d3b8a876750bba600d9593d49876724c678fdae057934ef06eb3f5a31812d6af1d8c8df98f47632331438cb4b03834e03adede9d65823af260e2a76102e6b142e0a647c3ff4f6f975f374e846f3e72beed60bcf56cea5386e5c7b86c02152d5e1b108537ee1a98d47757705408277208fb658c450a04b8b7e80bfdb82981ee522b9c56b372208a69200c664d398342eb62b29037f3bcf4ca8f8ae99c57cade977fa06f8c7300195bc906eb48383d722583579097c8916925b94150476720dda0bf1c9ce958c2702d57016f12235626bc354ec28d003723c4800ab15233308e6a262b6d294948167a6f9ec9c03a3147d037e6f906f16f1c48c3b2719111b1d59d0879f77d3d205a20c1b80998aad1139905379d67579f90117e1bf0491dd6f9febcc1daf4c584077da25e6dd303ef72ffe64e967a62f613d359888526f54aeebc71821f665e52d84d1b0d0f1eed973b491c81223ed7446bd1bcaf7ce9686fcc4300057c4ae1f5c8820d0341d7f64d72632596f4a99a516d18a77d42ce94c5ad1fa26bb027a4b1f7e4e6155b154e867284acd54e77e7e3cde63966a38b90d3cdd25a8452538ce7ead8701aebc05db072e407c4ca7a4e5db44a62fbf447d8d6307dca4875726753f242d521c98b395f7253936093c16f710da1d2c95cb95489eba3e8c32033ccd1bd48613a46310a8970f475f91ea28d83a4ea923532eedcfe2bc72bd2e81e2749001bbf65c97e1ca07237627fd01e7a35d913b1c75768d97ebb7762afb83f9fef7b3e6db28f42ff2572e91dd791eb6dc3a2292f97ceb260b0d903712a7c7508cab2c0d8e75b0f8ae6724b54ccc04314e28fa2e58ce9c119ade979ff341e11eddf8df0b24305e7d6605ef1d0b893cee719bf3bab878ed3b6ff72e59a8c0d4676cdff41b5de6eed697321b8fe0958245336f233558bd99a1b6b0ef4f21fad3380fb443f3482fac65d0f18566bcf54417348872ac4bc4b729d2649d066a076e8fad15b83c6a3b38a3130555471fd7f6a2dda4043f8b3419efebc27ac0add6519ea596be1a6e9836273f47220ba5085798d3017a511824fc9f1b201d99e65fc36e6c27d5f5f842b8466b772029061034d3e5cb2b4eedab4b75dd5c39a059b681833d64daaf42cb7c56f5c725651691044cc3dc029572283153c4b1616c88a1c9d340e199cbabb3b52482c7286bf6f5c4e29333d6195daed90bdf5836a574a31c61f90fac9a628355616aa21e7745bab63b3c2c5266e577117fddb96d47bb0916591c79580eaa5463f775d2500fe9bf9f3ff8b356c5d39e18aaf8f04ff829e75bc1b6054aa795ed273846b7244ad7f35d4bb41e6bd445ec6cefff42adff821df285c2ee4bc3073064e586672102a09adb94bf6a4bd8a07731f98a6bfb91f8c8a82d2cb6d8ec6a93addb0be72dd15db7f7a95cc108922bc98a1c60694a1e7fbd879c9fc7555f758e7f6554a71cc40c8ab77dff1851987cc8dc2d2ab09685d7d86e4cfda1d813a4ab035008769fa2a0d01841417e0bad65b23682dcc394d82fd322b141498e71ea81b7581385ee63e47dbb3313e33debcb51d6577c8145eca969226ecf60ad2de4ec67ec657724627d27ac579731512a3114ab73fb3c8b8a0a412c2ef2a6bb544cfb30a727653e4226396db86bd7b6823859c3c662f3df9f8483fe89680824e77f0ee680a2440a6e37e89ba8234cc59dd0350a4d2bb800563a9accd4a47d4840de26d51720772e8bed6aac0399c0d64e567fa66c54ec826ebae5b169ff7afbde1776456b0d048ab1624a0b3f2f13ff516a9f3a8e50f9695f8a71f82c21b9e45fc99cb8bce3072dc22944cf4f90f913319e8e4111147079401614b417f5b15618c0a7960b424565229a32dc4147b724f9c01ca91d8ef7b5f4177ef9029f19c09b5e2a19b711c72844632575d9caca0fc23091d9e5910761f6dc675713ea1ff95a144d4f3133972e4c61f1d042f76b5406fa39659e14f3150f766b7df6e615c236054b547c965342c03cd0939dcc6a4fa91683e49f44ba2d84d156c4bef46568285052a0a3add658130d07299ae7a5422f74d8be4def547a5d46e8ee38845e5cdaadb59d23d9068ddee21d61d6727359bf6079023c85ca920c608a763da344a80fd951bdfdda4723fa49ec0ab70f3ed01bc6435de849016a9e1be00d83790eb24214fbbe0f75772a3d1acfceb0217330ae401d86bb829de77c7730713b17e4767602a834bfe5c7254586755ebbc40fa32d871813ace3a7ab996ac05a9cc630a228bdf8d1af8847201c9e5532aaea667db443edd3f698555b809c5925172ca846159564ddf69e772107f4eb085055584c448cc55a1325c4f1dada803cfeea366b44eeac59891f9722620d92d4a16948583bdb654964220bb4dcdcd4426264bcebf1067db4e294672fbf3056aee2e88a2654583bb14f042435e61c8edb3c76c0c701664d461620d17a6a80cc1743bb34db135ed1c82986f88eeff2ed04c9582fa8f67632a3117df72b3879fb668893b52293e1f18e7417f8d48cc087f63ae3e6010bfdd577ab31172183fccf1f57c2e9fd1953fe0e3a0549ed78f80cb4eec803caac6b271e223147217cce6db9e8cc1b93f3698fb2a82db29d97a9b4759e6777b385ab4ca58e64a72fd3821fb438c4c05e4987fb119cc4c436cc0f0a0c5a0f68dde531fa2559cdd7256437878d0300b73031147798b274f2a3ce5519d7fc776d95e139e0ee5c08272bb39155d365608d439f86f594ed0deb7f97b60890a4bc1dc7c67665bfd5d0672b78a29ff7eee6a45e793903b7dd2fa82610797dab228ef553bd2b7ffc311dd22dc5772778c5d7b09a93eae16886e907beafca3b19b774621e862373c261f613446d019dbd2060d1f9f9dfbff4d92e89ca85c22eeab1923dc0a19add7be18a572ae910a96fd3448d4b3f691d62d6a3db9e4a38aad5278082b433888f9327511330d3276b3b2539eefd7e265baf20d35844420dba64cbd845229c8659ad218c872d24603bdfb3ebc255a6c2c1da64fc0253fd4ea9cea5bf0d95fcd5d31990be4723ae476646ba6414353dec8a3e84e432bd9878c42060585f5d0bf792267c4ec72d5ee33e8ae2a00c1a7fe14912d325650c05e437f31ed9e1503b21d6a25a04e1577d4305afd93730770d755ca98b273f1f4d05f1c7ed4a70e60d9652ee9284b72de838cd18779457a02b37fef5f9372c5fdd790c2d5ca1fc90291309e8d0d0e061c4cb28059cdf046af98c55eca215dcd25dbd43fd04dc27325a39301c21ffc0be9645e666885afd529e4184354c53b59d596b5c171681056f1c99634f8ea6267358cf42f7c238929b15c4ae6a71f19af358b24d1c0a9829d311a4755be1a1572f59efbd1b439f69359d5806ea63c34797c25dc9ac1d88926151b3bd76b077972ad49335079003e7739df5d062c032c8ae0554816b7ffb6cdb811117ad78eb0689cb3b596127a1178eabb7e96f1dd5d26ff295dbd8bdafa57d7591a2d58096772b9e1427f26f2e86b67df01d87697d6eac943d08b8e76f961a5136afd6be44427cf384c77d9b0d20d697695d8240b8badb6fb3271a85a591b4e7072ae91a6ea014655eb16b268a9eefd02e67fe72a9987ea4fde74d4f30e529ab867c8d7fa2f25c0cdb6f33d565023c6a3599ad157dc319c598261275e2c8df0af25af433c641b68c6ae46fcabb9e4f52c5acc5409772b1b3742cf48f0dcf016f19fd42cc985726008bbcffac0bafda3ce38a5977a3abcac63ccb03584a83eadc082005ded0972739c0c5263bf80be72b25e35a433b9713886dedfa06f64bb802208382f11fa1c0740cf9ba87f307fc5c57c9cf99c71e185715d307bdfb0ae516a048a07d54372dd3be5fc62c2116920fb17972deb6549a2750f3ce4f408d0ed633f526f67b7720b69c76e88872a45cdc2151069a75a4e40eb7abe02e5ed962fcd01c52a613539964097d28951b9c9d920a7a7c98db8902e655a387b754597e3e991c8d870136324462c6165b46bf25f8a7d824205af477bbc5213ad020829fda124812f2f572b56b420fd4f9431f6f5d4d335e3dbd0f18eff6f39ca058c929b09198a9513a93b8cc4be45b393700cd7faa9133df78692b1d3bdf45957f9e74f4d01841999f657f3f09742aeb30d59b3274e9e345fb092346bf971cdc772233bc0b812d964e772dd90f4c733bc7b1d6de0f9cee9fe8d5f4a4e9e589b4177a0657708b7b60b4672d1ca2b06e8a32709031d5d5c14bf18e18183742a9fa22b9f23d596bee0783068ad3da4b0091ffa2c4f32400473a6ec65c4f3857c343dce56f979b22b32f6454312ff167d9dd15396df0f170703b9a818656c6b8ce0b4e927e396e9013b030772107dc824e3fee0ab4c2eaf87fe6260a2b8e0c1ba2179c90ea5eac7ea7f144353869e40cdb1809386fddf48650ded3b9794bf99b8ad9a6a76cd9fa809d7b7ab4996f4f92848b171d272f65b40afc2fbf822b165f5b66452c6537d8dddcd35ef21e7df31c34b21a4b6429188ae62f051204c10b400d2e5c1d4bf0bf0f748fafd5edc1a743a2c0200d8bddd12b680b9185d9782dd3b71413e4f8de4f545187b936e602de0d462cf80c0bea843e47f06f266106c5e85202ed57d875fcb7930a13f204f1056bae56842ea7c59571a9357fa561690bbe78b8f063a749960c2d6f45e46bcebe2fcd748e1320ecc4e7bed8fccbc6f6aa14147f88ea094e5af50ea75e4623f044f1c53ad278e3b06127ec2c2976b5f310ba69f55bc925baabfdcc72507727b72b90b3e1cc14bbb4d56c318a18f3ecb24f8c61b66a6b42893894edac96172fad869f587a1b39943df5e8447eb6124ad81730e9e74067b97599c89c627444c50e786363b0d9b6cb49c755f707816dfc9216b1dc572f7cbd325d08a9001ec72d7cc3466d68a1e2f0b3b8ded7a07bd3a0c853f91ef6e4b8364699b34969ed72440e25f649ffdeb6a0c3418ef71f8f33fd1568b7b493d0307b971099c9504c8721a7a36abe4e142b44fcbcbe6b3b604f631aefb7fb16af7c6603716ba2dfa4b729f699768cb15da499418f9f0df725f0fcf8ac7b5f7e8e432d7bad0b997a6b36d91154f8093c32fd039cf2d76a4c4412638b71d84ac8cbac1efe1cdfc8f33992fabf04f4ff4d23f77197da8ea44bc133122af7f4726d3ea01ae8c7487d07ff272f4f2f76ee728d42e0789df0c369bd212fbd0d4d51b629eda5ec9abe0e66a177200de646b613852f24cadfceb8ab8fd8e30bd299a57b6471de9dd931dbc3bc82532586bdae36e468cf784d5f2283c37e76f967e5088800aaa3ec0764be142635407ab17b11460423ddbebb26c52be6ba611a663ec0341ad11c9a351f09534a272f7d7b09452ebfc18b364cbc930fd2505f1385d2b03f53931db426265789b587290e8de6e656355b13a8fd88882689c6244afbc572f421f885944a0df49a80632754d9b59dc5a3c0796324cbeb5e84ca90f4f06fd0bda690e0eb05a219b79c1295e88a33762d2f1e74b042fcf679b02111b59bedd8c44833be4afc61eaac9e01335b3d47c5d80824034d32790edabf13922e7488a435e60ea67ca68bf9ef4871cad092cd5fbaed79e6f7cff7536ed046af92c9c4be83a9a9a30b8652c6ad0c7720cefa724a937722aa904eb51a1978af6fb285927e25563ac59f5f448ab3ab857bcbe8bd052b84cf7b7ffc4938ec80c959a6542998b477e8e5a177b12a76dea724ce25c7ddc8b56df056310fa53709381dc6cc32ee57dadf4a2112d3e029c2617fbe674cfce61bc60bfc7bb0860d627a2ad8777a9fc5bb09dd6c0a22de9288472a5e598d413361ea960cba61e33828a8c55b0c329f4e52aa0b4dfe57990651c0a8ab8df9b0618a3d8c748eb16cd0a94fbb98e4f739329d994e992d7305dc2f072fe08447de683de35dad995482780898e2e7521f0ea23b9c1adb728a3524dc6726a40ac8955a3e7f3ba48298ad807d45f054dffb7d15f6327f274c2408ce66272097ce9408ade2c6551c556dc6b58fb1f1fa9241104984d95ede5c9ed18017e7210da8d3fc4d27416070bf97fe785e00077bbe67ddcbaeb118c959cf1b77bfe07452e8694ace12d50e83b7008cee96b2dcb912968abb78cc5c5b4390771a19a67675e67d6b9f6f21130d9a9254183b27325d50d94efe018c8902e65045b9b1e453348fbc4d80fcc2bd5b861bbab7ae926bdbb489aa454abdb4dd843ff6e1de458236882152f871a578c8d60d4ed7fbc6dc03de9090fc6c5e26e79e356304915722f91e28bd27af71795c71ae6d22b614f1d9523996d267fdb07f10101435a5a704c64e1c5be22e10f92016a796d05a729ed9416a581a89cfb63fa10d40e48ad1b720b9c8a8a8493c88c5dfbf8389f066508dfd819eb05e198b49ebaa184f19d1f22294f349ef9e5eca965949a863b54986d35cc32ee92935660f950d4511b096e422dc1ef7c692d152d3d8b7bf775e03134fa891b81cfbda96dd1203a27688d35b6a9c043cf0f65ced654606cd90e9f84a9fde32f4047bbee13d9fe8046dd943c6bbe2913a3e9136f534989fdfb3f9ec05e5453989887d5bbe0a7c9b87ca557435e21f21869fbf06101030e61a01c2693e85f1582a6a0a6c86287288f8b6aab72f1c8f0cb04a3779ca0b3171fd2899f41f9d2538ca34957a9ea3147f7f5661b6f6ef6170e723bcc0ea6884f79a0ff1304c8c756b96bf846b39518bf39808c5a72a3633c5007287c8e0f901b317ef761d875e0d020af068f41ae0d5cb84ae10672c646a8a35a33b41989f1a67d03fcf95365bee45dc55167db5a687c96b418e172a0753d93307e07e073c3e75a86f8d7a901fe986c5cb575047aa954f66c71e9162aea425119f1caeeeadc74e4cb530b5503551475b3686565f521e89153f56a60e16f4ca3d84b7328912781e75402e7f0ba0f6febcf4c9d92e18de1d36c11b82b808023ec1d914d5c75119b115d604406405de7900f149547a30fd104bab4db2f0b715b4febf8b5a99723e743387ea9c045293e577331e74abe249d8d44452d3df6477ab98a6a99cc5aa67caf3338c9e0fc9af8048c5ab83dbb9c1aa4dad85e5ec23e65435cd830a1a181afe793776f3f7d6501f4ed344f20999a138ac84c03724b7d6451d5edb11394f691fe0a21b2de47f69089946a362f2ebe39ba9a93ae7268bec3ead9c05f3bfc7122a180404680cfe62dec6633dd9aefdfc1dcfb87df5cf83b3242781fe06d0e874f1680233bf1b32a999313ff9dbdef53152bfb41bc7246566d63ba612c9e0bc2a6e753028f079da25285b3b040d1a4cbb98bf50a6c72d86647b5cc8c91f903e30470d5d1486498106b38c46926fdc808d4cd3d640812ebaaa1b97f9f90e0dbe9755f35d40e375328e9259509311096ad553055754a39353d7d8a0d01d71e5348080428d036785beeec15cced256050918a4e47e57f7205276ed078e3ecdebc4333c1ab9b75750dea1d68044c06f58c0f10aed0b6b3729bf6002298e1b0e43b31237f2534db64622fe864dd3b89bcfb0999eba2aae642c030d16bc22a5e98c6c797226249aba31c92723c1d1137fd9105b238aa145072ca0199dce9a819a14778d7e5ff13d99a569f96cc0aa45445c44439791b9ecd72419e06bcd179a31c7943ac2a3257d8f7579d59ba02505edfaa49f491e70d6d25a67d9c43efb280e25310ccc42f2b698b3666ab2bf1df8d4f860c8f61ececae4b84d746bdf40096521df270bef80d503aae85776d75fa090a64cb83af5aacc872b89bcd81524b427b45fbba8ff51155e382533ce2ab13e521b72599b02dee2a7251657490c755afdea6ae49c18e73cb1fd47abbf795a61f17956bc817b843827241fda4c13d40c70e3aced4ae09858e18664f867d6d46a12b0143f136bc34930143d78363766d8e707369a42f9d6be15fc839598975c43947ff7289baadcf065af03fda97e71b8baba8cc4bdeec711aa27a5d904242ea16333ef8797b9336c6727130d5494906ba01115e405375abc78f0124a615716dea190657cc8193fdfa575d4e2a0a71145d9fdb2e3e3b7c0111bab0029d6a566430d9e5341cf605d7a372c805a535a5fefe85c012cb91bd152a5bf90473983d80ae6474f6006e628f834779f32b51f7b1577efc51e7c3b0445af2831151c4883966323e72cefc1f73271d89bdeb8b21dfc3a0b78d9c881e4c34faaa3b91da8b0b2170dc01efc43a3bdf4e1f75994bff3d925dad3c5cbb1e564b8d0787b1982e8da34bf09d83ba64fa8c457ba432be706407ba77a5e41aeb421c55e4ece2d3f03aa5a8d3dec62bbb04d15a19aa165bf5934f17c5736574b5680d9d899e4671583c5953f29542ca8d526472fc940b2218e3284027965fc7577ffe353b3b966ab9e1dc310520cb68248862643f1135853844c1359b253c6c118f09aa9a6bc11c34c9817d526e11c0dfdbe972fcee0bd584560744b9d47ef68d533b1dced027629a5400b36dcc77766e849230bcd5870e2464315f9efad619a24a9d12eeb00342b287e6ebe00a5695b0eacb7279bc128caa215f67a14005628fb1f8afa190a47ddfe481c394a07c4df2e6b872f1e1bb95e3377c13767ec7f8dead7102e8f6a077994ba477bf4efb8ccc3754727704d0e5e52a130efb7cc1aa0b3549eef018d248ce52bb9c9c8318ca5245cd72b79bd81a38b9845c655e7fbc960f90d92d3b3d6bea3e058bb8b68104f8396b6c8265dbab0948dfe4b1d3dbe8552d9c688450624419ecee9ec0c6fbf52b17bc5271e6ac618c0d6880d6cdff31a7b8b039bc403b221d564bb7cc45f30926e13072791982f34ae5dd777ef9c58953fea25edd113ae6eefc806336c4dd5007a3db7231958074495501e4321924116be8610cb780f823d8e74916607ed3336026b972c067c335014850e952b686c03579660bd21e55584af653d27dcb3cde6b4d1772cfe0a4592a7d8b34bd03b136f2839a91ce13b9384e117488c3f201ebbf51f27264ff01db2bfafcd9169f18a7001e18853e6801f815c22eeca14a62bb086203728d43be92aeab98e885d0204e25f6e419db1e2802bcff20f527d3323e4863f236ff20900237e75a32bfdc1b0da3c628f18ccad5d32e3b5fc0dad7bffed252637216b3d1d9cc74dfa329eea1e9c332ffd5ee27f787fd135388009e8805f1841b465a1e081f5b6a9d5d05ed9cf0e543174fb2fb65e13f15e6fb740a9ac0a6b11872a57315c73ec4dad3cb6a953b6f5c4005be20a9ba1a3895e740c10f0dc1e15902a850bca7dd6de985b41c663462dcee6b8298101b12d16e5813e8b07d32b90972a26bdd80076a0b3c836553fcfd93513a7bb0a917eafb8b33aae586c02425341155922d836c7275274e2b11dad5c21a17a45eee9637524862d706bbf5112a79720d83606c8c64e5b4cf7cc1ffbff94571a413ce0dd728f70813a10b119450b35aceca13283d98ae6c7b08ac8c73c06a7035699342e5db6ede1cece48622366c72052081e4d2f16ef5a3438fbcc78651c8960a847e942aa04a1711f50f7d4dd772f3e286f4ee80addde8d266e342627c2bd5664a724f11b03db1cd2aeb0c63867235cb276a786c67897c4071e8b390a86bf38ffe20582e8aef0d2487569eefbd49be3f09db23e2ef85168496c2346b869e814759712d88fed8a4103b080083fb1dcf551b4f3c36c53579748d729d9aa833bf2fa5ef00efff66c5490127b2bbe42b14c5ae811803d09471fa714d517ed26f91947cfd4c8a80e611fc806e783436728ddb6b62e799ba71837ae8610c1a854dbedd4b2a31c56229711c6c3f8430f572792524a9fd0970443a6b7831b53647fff9d0cafef1c23a40b966323bda548872a751d8ffc574e6ef7b40901f2234b7f0a12ed0dd7005ad71fa7c69f52c1dc172c893fbada53e20bb433d34d7aa0d31a4739f4440393f6407515557fdae1aea72b760410b43241d427a846781dde8689bc807a2803ba9667da98eede8deadd6722dc19bd5bd078f7f055683068f2f81ba86d031c3bd8160044b090ca4eddbec72170ff434a0c78e949d53511d649e165ce0f91a702e2767fc42744466afa6573b9179561b01bfeaddca5ea8e3137409e4849533df271e5762f0d8d838406fe21a37cbf3d71074ee240ab8f21e45de3275d6dbe90f2e2c83b9b53ffda32b3cfb551ce44fd932aae74eb7c57da599f9c03afc3dbc272cb8d5fa8f748ff51851e3720a3735c737c7b5b60f0e1354549510e6fd3f55c4da33573143875d42889c991517c043e27432a3fb3998b759f3e35d5d1709356d1b22f8dab20d17d3b806214f69c06d244eb9266dc967e1e7763bdf81141886f604f882908cd72a5523cf3572dfef0a3b42689ba69b5f491fd3fbfbb93f4729f491af92da928f3867d7ea7d72843ca8f84a2232f479249536bc7afb48b1da7c8182f6e2029f021c1b56ea3d3a49c06cd396b03c534c602fa6fa1cbed6a59c6160080eb20ceb1a4aa665b38d6ea50f021835a1819d74e08080d4256f5dbb91dd922ebd7e090dd9af90b08fea07bb20176328ce2683e37e1713b89a945927f5fe5db7831c40c881757d31e2c372e9f36bae410b9976b5637a7ffaf9e0f991e31e421faf481e6b73508799811972cf507eea53d09e2285f5932b74e617f1c3b5f21e569fb7093a47830cba5f5904a069934b1c170af8209b617cb7b7cab03e60db15b3642bc6ec0a42717df62c7240020ffcdad4929a8848cf16a1341c248c95b5c4b965927c4e7d476db0101c725ea97c6f75f2ae94682ae85694e173a783174f1106ac0aa8034ddb9cd1238921751f2b12b8c9833a0890d78dfcfeb084430af2b366fd5d14a751499f5770cc726d98fe2efcd020ee19a0c2e6647b81b537e1cbf660465416bd345c6bb705865e0d4294e2a4076f25e863f9a5fe0fb82e685587eff2e9960a35e0b2a534986e729d1306e320b5d6bfd4615c43029aa4beaf7e3f007c583df3eb3bfa68a4e8430a4593f65da5a9af80939b9804780651064f8a58ee68923eb64c2643d7e16f5472270f37c66a25a5c002b2a24e5edd5fe6ba166583535dc082687899ed6cb61851342b6103a4e30d1fa1f0e3b92873ef2712e814ecce2cb1aa262ba9c3615e2372aa1b6a4a25f837d8ed239a099c8429da6430b3828d7f0a0775b004a1709fbf22c61690049728fe6464d224ea23f753c9b2055e405bea3e6e0a8c163b323b8f72eeb99cb33c9f2ebea2955308b0d26c8fdb75cf8daf4f3ce339253b0f8df232377b86bdf80dde6acc2b5f11afcce8e1865a03353c7b9b494a8ecc43c990e6ec7257e66a8328823456b6b04fe93708cf92ef55851ab8eebb4065614a06824461339ea7e24a6fcd96a98cfc6b7d6d24d10e62ee1285dbad424df25fcc2b9e65182df0efcfeba8822203fa06cbde6642bd0a5576706591124f42957e31ace1279d72106b89478f7fbf3afd346b1cbb53c92fb45874d230c56cde195fc36bfa3d31727c604df72a93687375b6403eed63a70b02e4e6b7f7270b73b222b988db14127210a4dd8890dc94a4b7f835257da1009ba305a23a874df399ad4bd9735a0a1a7240ffceb4e840e8ceeee3c438bf24d283a7ddcf1198352384ba9fed5c8c4f9872ceca0a9ad75faa2b4e5917b482bb7b0effaa2c366805a157aa55288533929f7258c62852ee08fc062d17ec44ca62fc5bab2091d52536d87339efc46dd3fbfa4d27dfbaad4df4aab4b250391173168c414fce38c33ca89a845f6fb97e58c8a07287fe5209ef83e96794c94b0aa6edddc2419de109ae68a9da9277122927dad2727a1e3f061f190bc5f7f1550e623749ca4f0d0d2f8f3476289602a4ddb9ef9a103840ee57bef23142a45b29aa6b1c0172ca9a16afec624f0db5292cb0c4228222d1e22f4ba86917d8b2ffdf247b63ec4a206108bddfe9f720557fa281a4bc6c72882f82af69f1a2d740c83dc3fb6a13690bbfc2f2be4d91010eb304c2445c6e72fe8bf265090f4b6beaa95bf7d4e1aae4cfea35ceed6a8878b78a4ae2e159e872eba6dacd6b5f0a6f85f236e0f0cc7d2622d3ac608907257c3eb7bfed4353f772f146b1eabcac02a33704aad29e2d49d48bf221b483216434b48c17f927850472f68d20bf7dc9fd3c27b626ee0423dafc3817b7d1b1761becb8aa57184897b866d9533f48baa5a7e83c560658dae50d15ec47f941900a7423015f7ca97fbc4969ffa64061d2b397096f2a58301c165b5785991f36bcbf3494355bc93a034fe83865ed55bdbe2d6394ba66ba8f9f969ed16ccd0474068267153953460a69cd5a27027f37aaefb80d1f3db658092cae09d754587a4083bd81e1e071eee5a389ff72bee65b5ce53bc70f8f072e75cd9af86b1395e51dd44da301e37d5930135c597252231a5cf14dc5e96a44eddfe51bd3bd3494b9e538643b40cd61330f47ab4c72dec55edd042230c54379b49e25cece55a5416763b012ec478982cef96594e272a1e4234af40339227da67e9bf62dcefc694dcbda103333f992f2dd8aa62be57257295450631d0a73c1c020a6e095c06c609feee7b34c2ec62122047493cbe072013502d606d6e6423fdc5ab0fc2a98bdfe2109d6b1067fd865688246febe0c72e37e263477dab6f97e1e0efb4ebd0409b280ff53692152a57fc6136193b1f04bd23d2bbc31928f221559ebf4bdef8ff394bb2ff0246f04906c06e395f5a71672ab67770b318ded7312d9f61c1d58d78a8800aea3696b6df77eafb4cb9ed1637201a15d4f252dad073037c428bba8f50dbd97ea1e086ecd61cbe482869b9dd22ab05b12127627f88866130792337e27b90afb7897491822359bfdcf0a805cab11a59b8b96bcd613414bc7296c1dadf93107481e90f180c5232289451dd5b21e4476dc355498b61997d88c30286f89478c3bf800810435b5133888bc9e4bdef072046ede12e5aedebe4a9df83f54efdde2da669a33a392dbfd7870afc8dfb82d72bf1b31a23dcbcee66a312d5bc809d610ee532b3819e6610c5c66761abc796d17d38ad0833b37d67d6548817d40b4262c1119747bb51dfe991885990c577db672b84f963bea55b495eda14e55f9adede5a3ebf70abaf634f5b1f09d2ab3bd16482460d046ce1bd60ebaf25fa05ca5ffbd7516a550fb4acde402e5dc1e5a542972c1cb184f561c42f95fe55cb4c6bd733c97c77fe51df375a9d9731c21c80a4604bf5a9c4fcb6e09dfd7ebc7f7c0ae671dd14c09af98504a16df7e735384d61b72b22d6fdf46b77fc051f327099bb7ecfd90f16b47dd07f1b9dca3f064ac8a74633aa82eab6b1e2a38cb257c0a87b979c48ec0739a04ca9a651e0950fe8992551c105d3428164c35dae5cad30648c2689095b1be25b5156b696f4bc764e69efe4490e8fb56f76373c4c12342d7333c9923eda1f938ff501b2e68ef4c4fec854b7205446837114812b357fd535fc0597c63984c88a5ef9202a7fa1285dbc89b5121dfc34cd7aa393a28ad851566adff83f4e92c4a9173b301ac4e43f576d4699f305455cb2b49b07e21d96189134f23db69551c2d5cbd8dcadaf7f6e686774c9b3b40404a54c393134c311189f36be9a13a6bfee1de0c0f6da7c0ee1601d3d0901f1592bd99c623dd52438ff34e0a8e9c4cb17d8b80464ecb132c2b6700e4409c007cd9adf70249628f07db4fa078bfe878431aec579448592682ef632b53ba8b728e8411ca18486eba1aae1facd155dedd209cdc9fdc7ad4b7eade68af77db503fcbebb0b32fd32df6662ffeaa4362cf38484e5fd4d066df18fdcaca32e22c9c72000f69dfe1144be0850aa6a1d7e0bc54b14b87010df465f67285d585d9dc3b72084d6500da3053b384a71c903172de36f46f8750a3d0971b6ac055fbecbf68729c94c704da9d776119c08845636aafb22dd027b097353893650062f8d2c5d3723d7448c22db1209d9c7807b8bd8f4f8101319f59556483efeb545aa59509bd32574049fc0b5593ee11d838ed149f5d175b86ecb8aaa69531b57585261bc6b672a5501f443988c1447ceb1d437b4f57b10baf18560ca8bdd3f2b67217aa8ba5722869dde1cb234b239981731b1aeffea46fcc831a30dcbe08384afe6846c9bd5830c5b0e6f341c5c2c5c64881a311958665ac26b94678d197f376e41ff6f243728dabf40a66a244968cf3f9bcf3a90cf6f2ca362db3c67df7b9cc39f0f7beb11a78787164da9d89dfcb00664edd3290a779e692633e8d8ecd804c43f171ed250b1e033da2b09311cb073a0f98940fb443c104486f25203ca7d0a7348ae6335e30a0c43067da514aabfaa73f088f8e4e388a93acd10e2c169be862880f386e967202b79e434b7213bf22318ed7e660894a6dc7fe5cedc6792b8dfa2a44b280da4a523391b584f375b7af954f958e9f47f950c2045aa7bf879ae88f565584b6b4722ea59378b902014a3efc6ca73f7cd84b28ded263c0665ef5ee890825213fee72294cda1d086a7db978c46faec29874668e5a82fc4ce79ba21460f37f8c384f4ce92aeba34b70504aaf414af35ca016ef56ca3f3f1208dcc60536b85c2164ec72240c047dd529edfae02c1ff3db731c546f5368edd3ddcabb3bf6980617112972faa73068c811ca671cc003908b0d4fa453e0c8f3c952c2aca8f973b9c9cb92723f2c03bf931329a86131a681439d0c37574593f318e71d2dc14997bc7d16a00696306c08b383279b0ebbe9e8bf97e4a109ec4f239662f9b3decf5f7b80b8681b53711c44e323139973b4f074960e98030dc0e9425a27ec1013bd7f77da86b772e75028b89819161fe715279b62bdf928cb69c6b84ecc1e66bf53442116c66b6d0a01513e0201a8030078233dcde3dfb69d749715c5a796605ee582ec0a170772b014ca45f314df662366c14c4d121630726b2a41f45d922d03f7fa788064957249093199b3b74c490877026b4757a6e9c662de75bdb93b0302d6f8907e926672f663a55b47d1b724fa5a36cc31a101e3490f0600b21fc21e0b18decf50f011380ba23a5748c84c44a695ed3f9522836f5ea66de486aebe8a52314959492be4255f2f38788a4010145f6b31357f2a6e6326ed4f5acd055ca48c7a4720f14bc05657b9b4560a109f9f2d7359785586a8382b3c35a8da3ff73b4f1385473614f17229db53590803f3c873f37b306d1bc0dfdb30dacfab57e880d2c672f522348472cb021251081de92552ae5ded4e989c6ac6e40761f1ebca49f64c71b081689e723d997311fc9bababe37eb0cd2ad57122723eab8d6b012150682a744499683a3e72c66508cfd2f41f556348f609a08e22434d791c2f2c1105facea5aa91946e72079d3c27505340c6975cd314d8cf869291884431fe506dcddcc4a1cfe49cf4497847f82519c62804fb03580fde544be3c143036f932c6f92909053b7fb66cf72cc2d72d6d4c34f01f8deedc2b0afcdf9501e71b283dab9b615e74eacb0ef3072f15de8923566b3b74cc05a8410467a4ec309179b03cd1709838f98a793e1a11cc9ea8aef70c9b38f39e8841284f8cb6fc1d9d085ad2a2d08a8060cef2bd46c7203b7c596af85d0476984ec91fe6e8336f626a864f65817194e03ef860bd9ff725a7db7a804ce2d26a1a61cbdc89cedbc5a4ba0ef8882f84a045d622e90b0c2413e014df1bc11a071dd555ed44b839ab2f0b1cce6d7101340abb7ca4dd3481472028c73c6843cdc719ff86e7e832e5c8bec325a1fafdc138a69df0a2cde8372724feac6569eb1d228f0fd9417e60563e6b003d311bde4840e7943c4722f21b17294a59b60fd362b2fab7e902adae269e3f4fc3566aee4302b395dee8faf330372a956910535a596b9cfdb57881c56443c58429bb2801f8a0dee25fd6151ab1129f63757f1aa591d6f62c8bed55f26fe7c62d785fae73f704dcff942c8b0159a0232e66f1ab92e491ab4cd93b81408aa40b3fc652401279e0d05f010c3ec21d13e667d17bbdd69a87e2e35340867ab6b626cf5675994095ee3931bf3feafeae07244f69a88ef34d9b6647b9d2a812cea39ae3a1411cb1a910bfddfb62cee242b03acbd3f7b07e8a8c4f5adec3b343adca525c6f63d4aca1c1cae79a30930df4d6433f9d439d738723c2b1dc20a970c5cb65c0ac3072d1a0570693380f7f935b428b7db2e2d2c3526cc162c5ff371b27b365cb179cf61c232f4c0d24731460f0524dc0435ea0bc8bff94bea18c6a187233912ce014dbc6d7728dc836d465722f21e57d5a407a00a108f7412558202a3f60e7b74a9059072fdfd628fb73c8ed3b172692d69a1eb1378f1db8479bf7c54371f69b6a8a8666fe594ac30c0541b570e1dac25d904d510393abdac6aa20568be3c21ae013bc043475c4df047fbf93657181b6a89ea37defa1886e728610b1d891ed92458bb0997953745d3a021fc8c28228440300bf45ed3ea0c8ff02569579c4cfaad84baef46137b27ebf1326f1f3b7250358b55d1145b976ae89e8cbd7c617a29067961ce45d6097bec7c2e0a02bf31f8573b834ee7019569b3b9b9d22470501e0f2bc35d24d06ba405f495ce3a8872153893721ca0c55051603ea52414cf85dc853eb96694633fc6826f0515920329705f052fe68deb8f625363d39fb7045666fcf1367fff20617a4eec147b8fc8720e91736bb329a6f55a7a3b101fdbecaa703c00539779d3bb27bc1587aaf1ac56924a34de153ef2c5b79d44dd7d819a8dc1ce48aa4c872606f51266708faacc02e3eea0270980d87cc1a5e54a5339739413b793ca91726c8df71a5d36d72111720662687dd698324ec0c3471c6d4aa1632b11c0ee0bb8c683c27601a3f0ab9c7233e17926eadaf8fa0db225910cd1a33df0f97835315e2478536b6220574b5f72753bab4eec53d936d35062db35a9ea9a343b38e4fd7081f8cd2ca06da41bcd1432177b83693d348b9ae4d62078c4ebceaa0573dbe854a1f87e7e4c621a2055187deecd173219c9a14ea3970e0088e3ef65eedce13035355790693e744efa4f729637cb0e851ee529f07de9fdf29f864585629a201d3723a8ad74eac3973d6903f9a0e66dc2c9fcc5b7556ab53bec50bfad9bb961245bf9e45c0c0ea068814172228234b0f18ccfe789a4cdf5747dc16f5e150f1c522b13de94d55a85d99e88720859ed468cd5461b78db182e85c1e074bf0e39fd57dc2949944c8df5a7dff170d14986e314842724df5ab6b7c327ca4439e9669fb218272032170b426e154a72a8f1e631dca2db85fd17cfc3e6c2f24fe0d15dd997a03d348ca1d712295f20055db5188e0205ceab7fbe92974003db6d942b34e0a6420ffd9f5f59bd5a4ea07292facde548c750fd2fe5e7bcf7bd995bce05aec9d945538ae1989f3de55d1e7282425ac4b13d969ca8af25e9f29ded329d931b27ff3b2c0feb2c488a0f0a5372f4f054faef0994adf7da70ee11528f41e117ec34387a1de0d54a10b7a976777226b91b036b820a6bc8951183c8d37abb3ac0350f683de0dcd7c0d9787415dc23eecca1770348a67c8f49ab0b228137ffd52d3bc5b20a1cef2040d58b151cc672162ce330937319174bbf4bf960f5b6a6db2fdb48db21a9f46459803e63cc1772999203b49f5cb0ae350bde2b97775d080dd8a68d9aa3668b7b36bac7013bd471d680ba0850ef1f67764098bf08395b9ae171d63be4f71d35bbc11791909ab872e60bdba6de84a44d05e6d34822006c7d7575decc823e72264b47c46da744c972f24a175eb28742c6c1bdc1f22f3257952c7720d7025354fc48ad44f2b038ab7272e690e032418f5e5366687220c122152f5c9a9ca4e20b1ae303b542079c2b68c616e118158e6afdd19e39b12ac5f841f9c34de08d3b55821bdab294267ac8666dcab9dc7a4d116e927f2d5f9c9789ca0e139472f4f5de9caf992d26890dce7209fead379b2372979e0545f188ef735c397d09cf6645aebe7c4a7c43a9e6e3721702196eea0c9335a3d65c347cb034e02fb729d642ba94814c0903b922e02372a3449256577e26dccc0fd40fb8a43ae3cfbc7a2b745c9fc1ab7b120532bfe672a46e4f5bd9474ce93102acafc021a87d87550f769dd66139e047dc9d0bdd0835819070fcc97636744e7c62cadd849f79691fc36851d94257dbd61cad88635f0d63e2784fa75e8e5ea1be1e115f5947a2cc33a9b67c9abe61d32798897dcf7f721f416a64fb081211f909c5af9810191e93fafcb6c4d7978dadf670a3cfdeaa570c6e1bc9bce843a14d82c1fe3e9cdfabfef63adc23805f5110c007981ffca95adbe67d956bba5c7f812fa84b3104ab6189dc9fb8252199f792c00e4c8f06fc7211512ea286274e3d09b839d5e7e6d5717d904d769ecd5e33e55efcd7f02021626d21877f4bf731bdbe1423ecaae13d262b69827b8134d39903a321ee5861f472e9e083074f7ebb713f3e81a7b588ac2d0575ccba28ded7ab72dcb22ce288d64e3271e1bf2be86322aa592ca06d115dda3e950d089c67da1c654d3860f627dc72d7130b5175ec249e0eacddc5cda04548840866315e7796b5342ca3d4d785d77297a1fe66b33427fe2bff7f1088400eb2784d9fc183933a3b14aae6a8d11ed43728635db1b8ef2c46133c6c6dbedb4e8479e59bb601959493f1f41630a52bd5094c54c0ffa3d39ad119e703736085b17e23b6b9c73d4ae8abb9ddd853d9d5f57294672e66f2e5dbd0677873a1e9d9f55006cf90a5c1cb23b77a7493d359dabc72b47f6abff360c7e1e481efac06a7401f5faee73af0888038d644428b5a782f01f87a01f1e95f9e56b1e205f56cae7baf811256a39c78ad4a7346a6cd5d4641259155ba31170bd350264df1585da361b97a03a4cec24a4b3cf337c37e620a447298a4c77d7e3e524551aef7c392fbc2e1dc2f721b27771194b060b24584af037255a21715f50a439c84fd5f5ab8b53797624ad19b99b37ff90ff458eb01c2a46a359faf37e92d70b125d9b1802e9931742b272feb8fc846c003ebcfcbaf532e725e9484afef89b9f697f1c671991720ec16e9bb1e32b9525026befe07238efe409839a9ccda50c7477b8a0ac75a5f9cf8603e8df4cba523467babddda895fc8722b13e98d41e184b18fb4a2c546df4112a2a8be3d8f6126305da07cb0ea5f7b72556ac2952e8f563b45bd6d7c2a6807381a1f40aa0f0e47fa0003908b19139a59ac4df4959afc8c8c96bb6b58d6dd16105c0951cb262f43fbd879291740fd9b72aead1f0a8077394480ee753dd20ea52b635d52ebc2b5b4661fad48d42909351cfd7797a31a36fb09f644b328079d0c874ef326724d9ae6248545977dced026725dd2c7689012b86a21e610b20ff89c1e9ac90faaa80ef49d2c832f628163be59291d5c3e5460ad19bac2f379036394b0048f89550e890487f569e9ff65a383722e8719d0d4c19fb891c75e5dd72ad45df0e62b246f6f7b70791b4512aafdeb4b8c29045024268d534325d80c9a2db9308b44c035c589560c56c1164718ba3f078809e648e3e50d1e5bbace22ad75474918cc44356c564ab269d62d716b23ee724550a5ceaf32a25e472a09aaaa062bf166cef3c7d2733a1a1cbdce422617cb722856637e4c08588fb92c159188125381671fa9352c34c7ec6ea90c196a23df5b1b7997c1b89f820441271a3b0d29b263f0181594dfbe73384c4e0c0496bcbf7230219685649343ece79e6a6825b7e7f2bc7b13d220e24d423080413dd8364652127ce4f814ceeee6bf0634a7a20c09afddc0e474a14e95bf6f5d18d51cf7a072f80836af04db1bf14854059868849f17a74b186c9cf17dbd25af9151e84e443d9b052eb9e5aae89cea7b0beb34ba84b639cedd84f209f1b354e0149e49313f0288163b524b4814b9b7e30fc1a1051db9784d1abd1b29f594b35c242689f09272c0760ecdc5051682d1bbdfc2283bd8becea3674c224c05293deac3b81feea172b72a0e3ba2f71893290a2b477868790c9856fe271585c44ba5feadb8038551727a1cb1cb2d2a178dee8aea50d1c9b94843144cf51b965c18267ee60d011c810a5b31882df594ba9247f6cbd46f5be5d78bd6cbcb7fbd2a50f009258ade972672a710bf6fc3bc233fda359e0c4f3cb388d34bad75a13813bcbd10d4b787ae3c6492502c1ccac50b33c160e5d53564a73071d9999b13de153bd3af2ad84354951cb1bb6a21972293efd5aa6e8d58d5d1103dbccd140cb80ed98c90991242c77372bea8c638357f2d3e9dd000a9347b4102df98a991e39ac37852cf9ed1275b7a72d6d6e7896c13778c386decacbffb81c8d5b49760d0a4bf3a2f0522c18d8d304bf9011442e87c68009f9bc2b95ae401eafd729c2326d59491ac3b1cae39e28072fab4f8225d2eab90889d9f9872a92c542119c9cb0e9e388cc5012c0ae47961720e66486c7017fb7f044a838b2ab16ba4b9bb3c6c970d36c7df12e9696f46ea7265e0ce06197e6ee197e4e3e17a7d2ceac9b50764c3090e34dac9ade7e0ffbc72d6316aadbc7c87b93de097d5a6a66a74900f18d2616d46f84ee4351eff9bd372397e685bc2cb6e220e9b5f935e9ba96cd32ab5a850a3261d69e94ce155ab8372c82f904816d265028357cf7571ec2f8d9a1487b0e3f39dc676c1e83047f45172855120c96a9bf55f129e375f249f30355fec8ec6064870b944ed0c8f09a8c96b679def12426b533127b1f1bf59c59091e251011f5d859fc71607cdd96b754e4f8742723c5eac10489b267b0de9a74d0c21d547f2fa2e720ae3cd99373567d34419ee8edd279f3548ee7f869988dcef92f4b284224b47292657e784df80b15a72d4cf99cae9ea6eb90d2d8da96a2853225504d70b4868c49c9e580adedb8b0b72d7819edb2629d525da922cbdf0632c961c8f17861601f9166f9773a573e884722d547bbd237ae86672ce412ffbdf8d7a26017197f4ea0c3184debe76cc91c87283621178210c35583f9557ee0629fa967f7a4e2042fd6e4227c55817aa9d2d1ebd03bf97aa392faa9502851b82f41e2a03c6ae7e19f1cf67be24ce8c9734aa72bfc9b73c43e0d5ca862805b3b3d40743a20aa70e886d7fac8bf0b12e38cc637240915f4bc7f8d855651faa75a0aa7825a67d000f85c299e76956820c52c01c15b5b657af260251ddb1b24d681730743d85ae04054169b023deaba9814ba3c2726862f1fc43252dada984fc4cfbc79b65dfeb38c38141aebe7073dd52771b8c14aa253c32f6ba23ad719cc689a9bfd4934623802ac854490fc77e593993ef5935b93a4516482349b3ac98b55ff98796f38523fc4ead9113d8e17d0fbead184f2429d20da948c7eeece58ee4dab4ced596d111c66b810b9b0ff44a94d8538041185dc30a441ccd4e62846d0073f892993aa429fb3d51682801cfbc63dd0350e172b187c89bf9f7bd74b132aa2868e78a5383a87de7794b1ff989359cdd85bd510b3344d8ad9ad58c8e48509625956ab558329b5791153acc5ceb53a7d15ae82e720cb4ef09618d4f4d43cbe7f43a41c15c3086d10afc0496c717910dcb94b266049b6bcdfe659a22d8f0515fb1f8aec3d221873413f03d8f28c909bbb89659777224c8e773b30cb549bc417df72d7162711a38ac06ca11b6b6db08c06b052eb972bf57baf61b1c195d2f9993207acb9f0c80683f5fa0d1f11a6bcd6e16db4e4b7250b3ca681f913f2d4fad8f74178788a7380aa60bc8c3b551fcc7008caf4e407116bedce06ea8d752d1fb8f80c374d946d26811461e921e77e62966f5c87fd35348407e8f02c6d333855c9a08f0a03422d849b526af5f6f0cc4bcad4045c9a77226e91b65673dafcab63c608dd5a90ef1f3c929da302666a6cd8c12f880f2c81893d0ff85e40d26b6db0ab9c99e10951153bc5c7956bde7652a40125ea85ccd72d00bac371614754e1b977b661aff4ce438b1c37c1f9133f07500ee53e6659c53f5420cf986f8aba424b769d614f63354fb3b5a33cc218c92f67f80abec90627250c3bef65e7a7752e720bd986228494f2ea11c0bcd2b0eb378dbe13a1b11452ced33d92e622a12045766e6517f666a16250b23f4fde8a0a08795447757262172b9c1b09b4070e36355fa3c98d9f360efb65c2a98f0abb3e3d8aafee9fb60ff72d2d87e6e6f936b411f61114acc767b94345d8878e6fcb4549d79e487e097571222acc82a18ec118096eed57ed7f70fa9bde118d1d02700df455c58d32b3b5c726bf6cfd8dc00bd75d0d69a5096f57b71033ad16c450bec8f22b940b5f75a0a725f7b5279067e2a8b4a295f563dd5b4c06b8bf7d7a330ba1d85a7b42237adf9722a80088b13fa4c677b36057482d2952c67d485ba8cc187949088177fdeff8f1754cb547caecb371e91bcc20033d32e4520ed94dd4c5900d40fabb666f415f272239c28b33321f674c79e3beb9e95af7f78cebd3a7798f866487610f1263fd24378f4287efff93667853d3bef711b104fa0401719c2b78d7986f520cbdf53717258abd1d41035f19ae93730543994d13eb933553bbdca723b592c9b3d35bd8372c468f1b3a39f95c0273f6c0abf9f817948fc03398fb5d3fbae58b7ad60ca8769d6b1cc01a49a65793a71fc692941b9487afdf5adff38a7ff866a62c2b8be9872d5d48ef5637866925abf47ddbdb0df5d23ffb39447d491c523bf7649882790528d46f6de5b2e6dcb44d933d39376a99271d23191e9d74e7bda2e89377e719672ff3ed89b0838e0d323e83c46025145c3f3bc6cb1fd5abb2658a39d3bfcaf447239be1f9bfbe5873f06b7b6436314a5fc6ab184eb76c54c77af3517a28d27aa7266380624b7a919bcab8b43b08750a4f69a4e28456957e4fee2549102e74b7072ea6a735dd88bc9a12096a51a6ce9a76cdd0ed6ecd6e158dd5e92d3c440205872f1535c9ae77e41d761ce0660d697277106e12c3566c9fe7e3c3a9fe96a8ce5720ad70cea76eeec9f8f7389bd43349b5f796e55b9c9d14656c2ec4605ff762836e31014655756d82f51f76a8c98b1096b9e5a7974cae7eb7f3cfc86cf8f9b8f3e00782412b8993450771d490156e680babe43213abfb5cd661a84b21b3e1b1f7222a4bbefdb5bc1e732b09bd0470530044a2dcd1c124b16878ddb93e68aa7a4516bc36cd6eb160e8f2d49c44e7518f5056df1720f1fdd6d713522538972fbd45a28e465048ff30e8796cdf8da7a7e00c6e3307b8fb1d042a129bcc0f494d112720a7dc94fd02b2a6f975f5ef595544867eee151e8acab655f9452f15753a515725d156e362ce4c0a7b524362cfae1c164247850b8a470829c2b830f6b64e476205159bf888928bcf3dfb0e81e1742c4623cf5158c6b417fe17c5fb84a9d3c0d7292a30d3628cd1cd21433677cf58f17c8449f15b96bd9e7e88d68391b79699c7295c75de1761c595ca97d1eabbace7da7d98defe328a212af0ec5689b83b08f72fc0a46913be58a3708e2d3fc02fb7f5f9d3b3977c0f005cc1d41086cf25c0b269673646beb899043c4272df47e199df69e9d08e16e7cae5beff4cc112a33f641ef49b5571d0c62f817f2fc44e0d65a8eebd13fa50dfbc6e652613dc012c43071ee4071ba948ed43ce5e1eb74c0bbc15433e13c51466c144b072d1c9567b1b315792ec28b53e88c385edccb77d07c896339186dc5b661a9558960bc1dfd2d4922e677c0917804017445b7ddad4db9d78f40a7ca62b0ca76a0f1276204ca63bc7272bcf389224cca7a84c07ab45b83f593d9a155510f2c80595f8c9317f477a87239dd0fffc8547abf0a83356341fbe9ad43663cbc1f1e3ffc80433e3b558b4d723dd98b1241ca95bc8bb699f76de082382e40acb68038804136c0fabc2172ba6039c61dd2ed9ca5829d4e680f5eda2905a7e5fa26c96405d5d0b578db3c422b722574936b06efea3787e9977afcfd4b2fc708a59f7299e600e7de176ffa05747224227fc71334398a3d764e43077469154c2e28e552d83b54ff5b2bebe8d91d72427d5ae02c1df61ce37cc753eb0f86ede126458b7b87d9c2386f335172f17072dc5ece7d122a1e0c83fe163ad2e7efa63cb49efd7949b266ed657980713df772051724c8057074d70db4445338d645756379b4a3ada5e32721e0406d83130e2756c5d7b15cdf6966283930c55f22dd43a7d2a2b28315e2da3c585ae9e1aa6d72dad4923779ca37c8d2d91ce82ce4e0f53a2941bd678f32ac3f50309c7f0f9d1555e034d160d144081eff6ce14ffe4ce17160e01b494be23e3ccceccc6d0c1772150b87ff46a50559db5d2c3876614974846821d6343c357fe21c6ba95d05967298c95321cb2bb095b4521262d284133de75f52da0525d19361a17008d11e667272efed05c734eaaee7751680d212643ca7e8e18d15d1d5c7fc69db53b73e0430c84fe715b8228b5a4dafd1386d01371d7a702a5b11d9afb820f7130cce8928724fb9f96602c7782fc323b8ffa20caf48b52e400d4aaa7d7f574352ec1973b805989feeb696ac7ddea7b2ba1e8bf0b1b28c4c0cddb80fbf42dcdf6445f5b5f5727ccba712964543e48d06aba17d611896d34fa5a443fd9b2adfc9ea8e5e64f772f52cd3ea30107a5fb0893b0270b8afcc58f5f1e4d55c722be7ae92ca26c44f721b13a205449b08d522875121eda04ba84943e65ab517869e424fcdab781edc3e2010d609ce53e9f3a7f840e08625cf49124ddcd2480b29ef7a581dde47577072a12d296fc512c5402fc23aa04673bfa4e00fd0fca9085522e3b169a0df03ef72dd8adaff7ba51e21250a79c777bad2182754017a9c118e8e21a0a0e3ddf5b972ed56d14136ce253a670c929c699ea1e7a4d109666b3f2135aa39da4d49388672c6fca817e775d5bb55c7e82d6bba36e7d5a0f03ab3926bc830d44584d66c8672936e2a4ed4058d712e4e2dea0bdf57dbebd1f6a472277e5a232cade5ed5a3f7230e841e38c0bda1e217c72955d852cd74bb95e49c3dac3494f9d0cf3abedf57283b3479d00fa8b95b172e8e79a51286e0408e46a4640050cc66c55af5c8aa67205632ad37c851dffaf215de87e2221167859dbd74904928d90fed68c07030e727ac9cec37c6ad97b799ac2466e7711223f6a84132aa486bd84a85737c5b7b93de833c5adc72f1e9c8fddfb23007267a76d75ad3af88f9f59d53c656bcf358372dc6f3a72060173274a44449cb1d191c5219d05c7283f20017bc142841f4f517223c3a2ec2526541ef12cc0d4625b81b992de2a4bff3c28ab354ef0204f6fba4db94eb3898120c6a3c7f0cb00419b229c0e63a5a9230672bdeccdbb49f09cc942d85b1c4980dc6c76f8b7b03b6fa48151c4ed065ad46ce8b975c00da20fe43c7252f1596150829e0d094c8776d1c93acc6f754fd12cd8393ffffb0490b9ddfb5a7895482aecff762fa4de7fb19c8219c59e94b2551815c49a58cb6c9761103948b720b489e7bd391ff6f0d157e65901a42a9ca13769f19251871fabdbf60a0f72a9806fb08d0101393bc5470e5116a4446e2fe49828a8afcc54a92a9909f3825ec56733bef12c9745fae510323a921b619f154e4c175e5d613270f1deb761ea7213261b9ef42851aff6fc5a511c93e787b96e2d05d9dada1d5f901ccf6f776072d89af53359ea5a69e483fcc30aa67bd7620cf4a6227616388edd5fa9ed68cf72a57e152110dc09a05098cc895eb1e4b29340877e8104cccfc5db0fa74636e872fa0630060d236013514b2b4e9750cdc162d9af909eb7a671ac10005c4c07727296a72631ce589874831817ba8c3580d60ac9e545eff4cd05158a984e0b251d42243e8b6a13a147d4ddf1471982535cd984b46439e24cac1d77eb031212efff7257b61ea5b5869936317a9a3a32e0055d25737749c133f881dcaa6d37e225f67236a59fae8d0660e9f13a440bbb0408d8e5bef09410e24bb5dbf86c443ad4473bcc7b67bb772eb631f908da3e8e2e91560673259ccd5b795b4023bbabc44fbd4590b24c1e62cee32b9783b76fbafb0b41d5b72ce84332481ee383cd74372776722cb2f4152b8672f68cab0a2bb9821574d54740dd47c43aad749884944dd8d9195ee80a4f2969a3e1e5699d1caae5288892037b32f756043911a87654ebb2b472c6e387922de03f1cb299dd29dd358786d309e59c5820704542b798966aedf672927ebd5b2332af949e3bce6e4303a0b39c3aeb1c56fbeb5a71bc89b3faa24172cd41b6596c0628972eb457fdf0b802eb7e5350aca86d1a2bdb14c3155ea54d72d086021ae07450de9f8331133b36145fc56fc4d632c9f7ca8a4154f27cb39072b91f6e1396a2c7999e4beb1d09feace10da42f6cf1f46bad9b9c0734a74a0b7252beae540586ca4a31445d5d6dcce50d6cc7104539081d9adb6172bd247a3e49e3df85c4fa3bc886036bab1b91a338bbfde0b774c5e0dead58b509baac92e172414321400ab8e268dc935267cdfb5788f6dbf7cafcf89b0d64c553ac2aacd472ad32563c43c36e22d31f39fb0296da3b4e39dec51d0611b86bb0645c98fe0372f6f56295e58adf3fb827b077ca46472e35cedc546447d2458600e6001aeafe72fc1804c6fe950ec18f040ec197292b8865cfd77aa4a857380f8ab164107113727d3188613e09397aae8eac01cfc4917b6677a201f1d2eafc64b67bb85beae572d0008ec03172184ca388c74f7fb60f81e4e386705f1428a1c2e0e518f8a76c1f84b8ab948559df055ba65e6037a0cb7711525c64a1f5cb4e3b37c1183e34501fae4b7c16953c10b0b1412e467e63f643082fbce36ff3e21a9a32a51a3dc31f387d95e3c7f26bc2379b4375eff07e2bbc7d4ae4eb68c1d2d8b680566070086172bc8e6ad8c2b951699123dfd8e3a25650aa3cdb710d30077f603fa40d0194b57232c5b8accebf27dbfdd842267af5979e6f1793acb355a445ca14217dfe62790c3e11a7a5b9405416e7729fd785b58de14d8c827a945d2eff1b57f58b4480f96ed36fd8dee650943ac969606f972c567748c2273012ba4bb2141a214a2d485972f5ca5717e89e4491f7fe3f14652aa3e85e22488614689ca2f1dd07303190ca72762ef699a87449ca545c7230008084f64f588c5f929d2de940b080d8fad1f9574f492b7b047a358086eb9fa8e8eae495860ab8536b02d95bd5f589a97881b027a61e22da21c6a7ce913e126857c6734b669b3ac9dc9618ac3a371a7c1c713a4cd5ae6c09226b8ed67dfd5686937e7f6fb238870ed1b8680eff2afa9c1e55e572792f62426fb08b2eeb7aa9dd31703dbf2561a3a921ba1b46ee80008299e1ec72ffbcdda329e7bb6f3bce1636dc3c3cebf6c8c7f88ea9454ba23f7194f7a27354bd1410491a68c0a6f4d7a3abb05ab4fc382dbc835df66b04a4df21eea6774a721c19a729b7eb9b39cf639afa246ae850c16be6222253d5225584a17a5e5ecf72da585aeb516f8e74059895bfe1c6695cdcf26cfe528c6cea0c4ccdbf596c5b72d1ca3e3ea05b3c0ec49fb7ceaa2b80ced1fde82c6631a22099842ea0d4b97272a16c0ba2ae093fbe126231deb1ed1ee254bd4768754eeb28338a5ea6f58e0a726b19ec73c029f0ffba244a397bf5306268b2d4df9d88b64893a184bb1725f46e8674d182f3cfcde7b038df72ee3fbfffbc4911662d9ef0da378f380b10721772234a12bbc1f8d709cf531dffc69894ffe2150f7e710598d8a89e78db1db36c5dfd85a1ea5f31350be9e1a17115fea882eb36e38551e7f473f2850403b0374d29ad9318fff928364eefcae96fc2f32efe90395914216e45a32e07b872e1a29872eede17752629c6892a60498dd502972baa4c6fdd8bfe16a12185100a0b5b94372868925eba1b60e5819fe1fac79c117c2c939e236eaafe555bcec0378becb306b0195a7e739f58a124fe0939a8d4aee821a9efa93b9e2ee1cf78fb074afa6643a64b46f13c060901bc6274a9238d9fbcba2240a02177f295b2f0aba8d125f166be53b5e3f1af98e759f578eba8719937c03c42dac3a160b2585bc5e7b186a272924fa7a5e89457ea8821ff8ba741e98731bf55e1068e98361ca7ae8b942f067287990b1853916ec133674290ff7034c7507b8ea3d00bc0a21f8c92f5529aeb1f522e8186ed72fd295ef72d9da052b93b40ec66e83d4b286d6bcb419efbd64a72fd7fd2aa9511e9ef9a250b7d930251e25419acf408ce69b73d0b172566adfb72d9854d49f7f909c9ca648d69ff3b1ce98c54fa3b542499c36fc1db8509a3d95ac72f3bbef19884d07f852e4180b72590e294baa3c2c1c66da29e69dda900a62b9298175bd0fe7574d4977838b17090c5288bc65c4baf390fdebc9503be5a51725e596e06177207071cf46a29cea6997e184933ac88f968a72a0b31925dae0f7297f3b9ef225eeedce07f39d4e6537538355a959bde4ae85195113cea057386724671ec5085618d6d2b6c8418020a621a692688ea49e4cc17df9dc6d1114ef30c10386cc09430a96688ee15641927acfca128bd06b6f1245e6fd75b4ceb8b516caebb4aacc5ade81fbf10a9387b25a2110e3483b163454cf68f9e9c33333502725b12b1ced83577d3b543a9829446ee65b7e3d2bc1bf8513aa01dc421f5725635f3f1656407850d8009ee5fd890dd639017be6cfd29e80be7d8977443d69d8635529ac308367034c704378b4ededf4b6e6ed36920404decc168ecf2551d22f7725e52e83c89a25018098da84f6b89b0a13830c1d0ff30f7bd64738191a013b472671070380f129d05d27063b07b10734daa544154faf641aca4d276030efeae7289a1d6f74b6ea5ee5e496a9106054aeebeded2d04fc97e6600a34ce2130438019148b17726979f26adcb0ef49975c273ee771775f109b0d91b970faeb81a4c72b666dd903b9fd10deff6ec9295a0c4204653c9cef056ef1b0a29fb40c05eca721725ac300eee04a5e0065fa0b8c655ee00673a48df598d9f777b797e51463c6f858a0948637a4ab0c9cd6e3abcb51fe16f1521e715611abec39a8a4867020e72f7ac1e02760f535097d6b00c957d87f599eeeade6e41aebe7297ba2af17a1072edc6e6f84868f36b9090eacd0d5b6be684d1462ded61a96215251855949958720ebc9ce60fa3c42251cc1e3592b13441bc9719bd5c449f51c8b7059f5c6ddc0f59c82a2bf6727de36dd5978063203265f7be7b242f1c6de9811ea0955c2b800ef6e246e59ea5ef07fcf585da89d34d1dccfc9921545b345f6a00c861e306cd72a642ecf4a633ea1dd0768179e9e939d295f4e55bcf1c0d566950cd13e9e6d411903bec12dad56847e689fd3d97c3bb9aa8d8aa78ebda6a60943b9c0331b15172ba4a6e6600e525678ca6d0e2f72ed5dd90d47c85cee15bff14a57e41cb7f9a72ec81c9406ca4bf25b318fcdd917ed2a8b891f700d034869b07c4b6c7f8783772226301fd5ca062878ec29b4ea428760921891e61050b617ba6674c4059d3177284f68327e71bffeae074a94c0596746ec120134b9781b653021638115aea96721bbdd9b2b7e331473dacbb3ac5ad1e2692a97d248d76f968a6ab702063360206bf857bdde31c437b8b6dd1ceb7eb6d075e936335b448944ddfd02660f83dcf548fddddcbc1857b245cf05c8dad6b0515cbba61b2f6c9a44be753ed81cddeb8728044790f4e1b29cb82c728c111be9a399a8c1b1575770b388b13ae6331b031726c02ec95f80c63b2d9287690b363fa82bd4bc15e10c1e1800c438b738e880922348e5ab4a0472381d2230455ef54cb1830234ae9d210603398cc947359c52072633e63a02830ca25b4cd896389d67023a2458cb4144faee2c500fe21a110c45990f179d2fcf97dae9f6ceab9a2c3422b5d4a2e0b0240d8d25c913b18e6f0a87279ef45965e58cb03936aa4482a230ffcb1ef3c3d17aa3e14dac5077d41e07c728a1531fa64edd699a0981fde944bc725f159d2bfe5baa021a96eebd179565c72a7c11fd16a0dbf4f37f46d96878e56bbb0dca7a2a0cd5d7e5f949404a852f272a51946e66640a640118cea10a1ed8a022f7715dea95d336e48932c4cfc1bab1e9060cf5aa624cab0dcc76aada3474cccefc255bf275f9d18e2539adc568aed72712c56f6004b3365ec0b0a1b6cf1541c6402dc7a036107e4d6de68bc67cd1072505003ceed242407aa335da1c3df3a993993d03ab82fe4c2ed0b506baf824b3ca13b92dc1e61e8d627b42798af3f352fb429034903ffcf5e339a94642170ef72604a3b66b8392f6ec451baa479ee2434a17b59060165daae96ee3dbd4678d372fbebe6143bda185b61bc35b26987a3f54ba30527b0e712f9bf11fb4dc9bd3845c9dbcb91fb5b0e986f243f58d7fd73c242b3c83ada208f016669606f4e24a1728882367e14d794988f53bb367085c4e5db452cc3469d448692aed03d3e3a6472609298cc67d6af3b4c361e86bcc99b2b5f3dc3b74051b834c366f44d98681a72de75eeb4f74f22677e483bd94e3f43ac3c012d65ec29850147554862b30f21727864cb10760263d7817dce15d2c6d37bc0fe1ca64940d265dcc8695dafdce3727658daf3bc5aceab4ac41d6d809589fc39ad252e88d46dc2245a83aacfe51372ed617b82de061b2c07f0f3f02be9dd8dc86e97468eaf1e4c26c0b6c0ed002b5686e7a0d6d7a2afc161d2dfae3648874841dacf39b3d9b304161402fa054cf272c3da2c298b8d1b24eb7d8580cf0e0e46b7944613cee4bdf8023265546fe4f472061a3d467bd0b6d6e630fa768efb0421a32c8ccf6abe201c7a88d8948d41b0729fb1e67cf57d461d929883a4f248c0dd0ae4168bed14598bad564dcc023795153ec6b2c4794832ccd39096ea84228ea320840fa325b6b776d5d6cdb178081172767887f40f7921a1cf316edb6389687d6f09df8b52179424dae9b53b97cd8a33d6a76d3028f58f486f14ecc0b50518dee5b30636c4e4252bbc8fcd9cde90bb723a3b2a9a63ace4ee06dc911d18ecbba0227057474e1329c57f5d909afa1abd481e1487ecab14699c34de8e054a919ae99e880fcf8b3b6f409ae6600ebd92d9030ecd52d7e97ac60185ffb6f6df74e2d7e76b9511363a9e6c6e20e396093bdd726612be789c88bdaf8e9004bd4d57c94a3dcf8dd850fe392196d665465a0336351cb452d3fd3e0995d946eeffc8ef8c7a88db796fb68ad68fbdf3a51bafa1ad724e7334fafd9baa0bd3837f5b490af85b8ef0fbcdda6e3ef4a1641f605b60d62124856bd3fed7708a5c00f116fb1cd6f433a811b7f5d6a6118f7cba0ac0ce11547346e940d19706a9630aa8770bbe9b9b2e7f653c75373feab85c5ad640635e72496f138e96e60203675e351b4dacdd009b409bac1a788f2f2937f88bfd0e4972622b0c23062fee75c954904e618340f0a10c9583e4d14bee9ee882f30803bb162325bc2c59034f9f1152f8ef96bcca9d1a30a7b84668baaeeb6d4f4faa648b72a6f34d0f2256df82d220c1a214310413c40f4cf28c78f69399f8ca08ce150d49ecd7e3ba5fdb02eb9208f250a50d32f1fc97cb28529b6b18ce5b4b0023bde056847d6beadc8d7bb986086fe229a4d7113e8a3aaf547dcdc81ab3e28ad611ab32c5ed6334731a20e2e0bedb15ee7682c7f34570eccc2884e89d4cb97d35023972d1d65694ff3641ea7649030924ef405dc52aa97f6cba29ce82987c8662f17f72d452d52189f24ba54122d521a28b91790a1d839d40c375c83e305678655d3d723506d039b47e5704fdd78a308eb9d4ac482d31c444bced4e0682a2b2dc7091721b6c644b64a309f05ae4f2f385a97618db35a6e0f50d33a9b3a4d7348d34a872c7f779b14a6915d6eb267596b966a062561cf84cc60d44489cedda48d7e1ae72d6a78cbfedb8809999a09432f36309ce01b0164dbf13e35a470c8036cafc76637f1cc8bb60916afe6375508da14bba29575d4cfb6021e97e521e16fb79730f3d4406e71877b3d25ee2d6404446d3d2e0a4512f3022150f644108b80a6d3f3c23d3827bdf6023926a37b75036dbcd7fe73677a4057b335d8a34483355785c3c467af97d6821e10c5f75141d7ab509f70778c650fedf40674f9fdde5b384cd69688166418ea8b35039632246b9d855e6cbae215c0420177061d36fa69c89906c720c4842cf2ece5fad99232af46823c0fba5e4d1facb41f6f5ea0db7112d815b0fb244a4448b2fd7e04656472c2357c0f687b4828db55c6caec7d2d5c0c1677d72e51453d9ee3408ecb4fd862aa2ba91869ae1ec41741d312c003672b4c0ab4d7235aa40671e9e8d01a46109555ed31e96a0babeb3b1d0cbb1267b56d6c5321472f895680bdf4d64b1d9bf6a311661e1c1da303bc1025f8f3f6b33db00bf71393e15f3faca96a598532b7bcb84e8851841bff718cd96f6fe8d0c77218b64cb1d72f10533124c46a15d0122167e0453723591e0a16ff9faf44c210b23d2835bba72351e5b6a2b7a996fa616777f96cdb1be3c9e08b854bf0954179792482730e372a769e77ea88930156c4072eb8bcc08d8ab9d40f1d0ec5c447fb8288813ac1372de4bd5b7f5365286fc1e378d92688304f9d808f87ab95556f2e19787e1a542561949488cefad9a0b619534699ce6ac741c0f031cc9f6312ef8c6308d1a3ab22153e3607060e1c067232df3fe926f32f0ab11ea851998696d68310625566a5606a85275f57c8275e2fa9907d47bc0c3ee19310c6e954a544df32bc5737f46da724a633177546284db78b0a9c854ae061ed1b6d0ece470011f79740cb8ca5f7772eea4670b5cd2a36d6a00db1e1509d0489a6c45d951ddffa43999a9135e7e5269f7c4842355bfde1fca8f2b424a754d37c209ee694680296fbd2f217af70e017206b68fef124fd465b7b9e3c2d6c9a5ae652f0ace32de9ddb1a06623766ec6d5b778cf5d1281de4cb3f6a44dffcdb99db9980cc4339163aa93b6e4480b6d407725e4c180e10ef1c22f2f6dec667c054c3580ae3cc243a22af4842ede6c044b1723e7b21e00f82b40def21803472dee1b8c951749d8769ffbd16ece6974a8cf6399ecc80a3da83c66735c6f9ff19f9c4000b69427e819ea17e51daf949f2aafa0a7e0e4f32ccf0cb2a4c46d43bde8a68be3caf801513531d819e0e6b7692a6a17243b0dee9b51a3f3f5e270a7ef1af49bb01cc12c6ab138d081bc0c798349de872c3ee11b1ea132cf5897f36e5624888482b695dbf4891bfdb338184d961a1c048627047cb5a2c20f83fe8bfbb4f054fbc41733328d5ade0200f3923b6eb0775722a649442d72d4716bbdb684ca0af62ce1a8b9cc2046d54b0c68a197e872629721d324e208f74e6f619f5853ac8c82045389c976b1fb5b484b2222d3425ceb93e48324a4b33e7a79873c619362feb67a613d4676d89d076900e42f17877bffe377a14bbc41ca4e8e4a1f487393b3f22c0734cd387e423a52c1c49b7e84227c8725413ad770a7c358ee0bf5cf8b9af8ccd659f0edd79bb6f10303deaec66803a5df51b55a6e6de0de2cd91d53264c82c027b45c66eb71d695f9c51bbf4394e5672eb3cc8b7c41c8c2d340c352e0b5a39417f1c0d43159cd6cb87db7ddb1cf54840b37bdd9b4537a1759bbcf77ba3e5dc59b50714f17d50a5d3cc577028173aee640968e759b9031988121dfb25c7ff8596453d82b0384ec5c5fb3fe7efb4dd55579fac805c06c246f8763773b1af2d19cdd7b712258b49bc362c3fe49f84e4e95302eb695ba8d3cf6b6e257e1c7f53004670d8f21db9c13f507dade7c33308a646c98fde048969ff64a382c4bd9bd5c62dd3ddcb4bf6ae40f471ee0d4112a8a272aa4a5175da22c4df09b54f5ba4e2adeed1edcb3ab50d6cc5ec031540e06f6572f34f7b1379b3ba15ee24a873ba7954e4519815706cd96131d4f0f6cd3f90b94b33745d40b28fea268e5dc3c23ccecd34fbd928174fbaae7856791a8ad15949722a66555a13566a132e80cdcbb32c6de51fffbcc31bbea82a7c7b11c655269d72d3c91335657f03bf002dd6b15c3590a9ff7cc9326c771aa92817593f3ad62e721004288f4bcab0f2c8e9d0d61b11eac6d1cdc8269b86b8929ed4dfc038c0150bef97b3df69cb53dd00a4f9c870f3e885c796d066f5bdd49d839f1e93b1193072fd96044221eccfae9ff30480847bd7e57ebb9cfa31804283cf317fe81b7d7b72dd0b16545651f17cb516ee3e1f4254fd56bb9b04676197d67b432d36c02c4b724a3817f87ca0388a01613939e653c1f08d24bdcea600279bddf2e9a7a20304723c3b3a90a60fc2eac09658f2421f8fef18332b089f34157778411746aa6fd3721e155b23b508903e1783e5c9b1edea4e2041363fc786b8bd7075b09c3205f672b0f343adf6cfd3de7b7e77a8c278ce5291dd5fd0e753c88132891e2bdae5a7725f4f64878c4c425c9b72590f552795be311eec5bea2cb6987b0489c5d5ea57725c13f383ef375c497e191a2a89971ca5b957ba3b55475b1f608a171089a84e724552e0e64a28da043f4a804399481afe7ae69277e86cf0d92490cf3e6a90d84743d570bce2efc79f5e3a34b5d5a1cebfd9a2c4fc04123e6916c4aa97bd5eab414c7b5dac27ef1bfe2b1597b7f448030282f2b499d1ad442c74762a3173d60e4d91ac49aa9001811f6265ddec555a4001d7034d65e969f7e47925cdbabb7e2372d561137076b690edf85667695a95cfe2b1e9cec21b2088e9f84c6dc287033c72b8578023a3d5f5401d974f56671b0800e987ed5af59fbf34d1e1d7da89a94f72bb1ea225e27912d92f7ddfae8ce9e8ca451a271083d0a0b859c3f8e1056400033b1eee3da932a102e56f523f347c7139f293ee42c01597817176bb3d30963072f675c091dfe22793d134dc7455905d00586e29c594beddd7b11d059623513d63e9be8b06bc7b0c6a4c50f3475a2bd03fb2ffa2895fb907771a0f5625d74c693426bf3c335103d40efbf1d38a4f35db82d79964055ee5c8246f3341f2b49a4472059ddcfaa51d556cbd0223e8bc9fc5c9440fa6b8b43342eab05f291fcce59d2d5149d47d9e3737698891af14aaa5ace3010145f114d1d20ba3008f40f5768372ea285f6d0abdd5d1a954f93d947d6d836d8dfcccf00b466746052e82cccfd172406cc7a3a62d18289dbe2371b6fab01ffba074ee3bb0f5366340c1fccfc26872a7c69e99a2d2b26b8c37736372622a64d96018eea8caf6b9a9bdaa694620255d5d75e2e7eae8e8ffbda15ebf85e980cd924363107207291f303c0d743b613d184bc2e4c73df3b617515cbd595b909773de5916e81172625ccecae223fdbff7611c940039fb73ea85c24f104a639bfc5911bb7a70454fc09af39c71c29b568472c0649e9e1e9cb86dc09b044e43fdc138a1c8d8b565f30b31eab2d4d82366c072fbfcff6c333e194e5ff08b90b632492b8b889211512e3a47dfa0c97c8d9b47728c8d71cdb84509f711139b36e87ac0002ac4827569ecc5f85aa425a1d28ec818f1ca27ffa602de35f5cb09da365690aff7717335260bcc5cef5a731585f3c9724e97da5827f8b051fa8ca0cb5c2d203b35be9756ab09e708781bf1791e44277223889568081f66ed11fd92581e020ff7aad4f116f6c52468fccfd213b2ca7d0689368a0c44ed8361d35413ad0cb18ea37cadb3cb9220933d791a7225de50ce725804d15ff33b23399f5b93db499904e78fccf74652182ea8155b2f88792e7c72ef3507074bca906308f939a9318c73b7482c1e5d9b3408a88b9114af5818c57237ff8fe627f209c5d3257e9433f3ee287f9b597ddb71577aff3b10c12e9bbb72d12fda167081e763be1aad4046b6140c04c7f9df7c8977e40aadad6d65b4c672d7ea822ee7b58a7d141557a5983c4c8946cc5d0bf0d9efb94f1f99bac772742795cb20b3c78c29269499312205bc9f50b3cfe68afd4f10e9d845f626a08dda723e50e97ca281d39e915e09a64c23ab381c701abbac3ab4d2d891c0dc4e0dc05a8568047826800c6ad9eee730495db70579dd0cd83c118026ba019d045061d92f2b68a74d23601c5a552636742fd0f52de87246ccb8f481f3c449090cce3d4272b53e22eb9502c52181d991178f72d621830bdb36161f3da391222390618bf6728e97713a853acbacf56ccfb98fa3d3b743bba2112d3fbb9f50a7b9de520add50110478e131799f827176a95636cede84b16dad411143f01dbe4dbc65c586bc72832138d0adf16604cc94d71c064af1222e658cece439d3d6b74d0adee5ce9f727beb0c4f94de81e123e56d6fdae48093e1691a53dccb194e08776aa0a3075e724db9474f6a3970d2fd62d6dbbded79bfa7d15e76c9201207bf331732b94f240d1c28f7d1c0d93da18fee461ccf398e8d40270308532da38ac2f2d80ede506463c9e61b852258cebdc7941c67b64bc0a2c7557ee1b44a9d83b33cd4e2b7e296726bd3cc7b6d49ba4d10e0798d95cf6c5f9241794d9955953010cbce766cc02416704ad06f0b80252422c09405c2ff12ac2dac486fba395435ac70b0019022c236a84c4036931255261c132d690e7b54d0c86abfea093680751e9e76060d70c956862d09a2e0f6566d266b1661e8d377536d6f8f978a4c13cb771ca08c7962fe7228985fca1ddcfe9fdfc84f1305f233196f4d9f4eccbe64d0ad76e713e05a2d5b096406425052019786fd91ba9a340ba76ebe3177f80d1a86b51159057c884a4dfbac6ce36ab04d122ba6c1bc4325db026dda41e0e84f2b93f1f404528a42e849a65efaccdfed140743165362de07a988ea080dd2dd2f31f789344610ae481472d64d98b736d0116651cdc309f2e9c32e017777c6b3b37d54e9d8c2f99644d172ff46fcce341a88bf6a5ff7f4122628e95ddd835d60240ba0475c43aa204b962a7e5dbbf2d729c12840043d01d4c801841ec52fb9a4d158f75974362f36f25c72f908e1c7ff52b14e1395d2347cdf58ac12ea67880ffdba0bb704c983d2a3787294d49d386ee9afc6519d88f2f7c8522c88304296aadda5f56014443a70326140d341c50df4fc9e7c8f72f4d2d0f5d4b290acea924ae1ffa3bf717eb149f4a81605057d0e0a3023bbe3573180d223b4734320a9b4cc67f0bf0740c59bd86a2172ff8be938d52ab6203ead556b3d92bd10f9476f446e71bee797423e5468fea45f7102cba6ad1e07c6766258712054a75e5de249f273247fb2a8a40724147e4a2a951a0d5c00d8208b3a93b49400c5c8b8b30d910f26f3eb696f9a1def7c90ea72b484a434b13184508210091a0b820b559e7291b889528607ceaf1e1a47320e72ba184815d4f954daf7c72fea50205bcb5af6a113edf0c5947dd8514aba8e514b4fbe11b60776ab5eb2921769b27d22ef19063e9984b61f14d5dd104a2796d5607fb1729f653a3f34c813349d88855c9e9ff88181d68e1810137bbe43be03674bcb04bdee7c87ff43f77503547f7c198f88b1358a4259e7f193df2dbe29ec6472cb04e6155824746ee604618ba1eb691eea45e01c99552a495c20dc0bd440da7205ec60781e68097e5eadaf775e31164a01dba09ac6369f4d1cf5f5e99b538957b29621ddd573e06d59f256c14e3c8ca83dd9c55f775ce2b1766a7a3b4ea16b7256c6f0555aa7405b34531662f518818f85988b8d7dfe1de2494baf5c81d3b1722ea02db9cc3eed1fe25d72265795f4430a7c1b5f1d92780c09df21a0976aa9724525f1c9edc59c21e7967506c8d498a67bf3da9fb5a794643d53a9ecd8cc895914bb4328084f355109b6af824326918f492a214ec4ecf0dc80a1565197371c566d0edd53312760087f7d4a652d4e40df1eef96fb32f8fd7d38233a646f038c38830faaed37968b62a07e348253de747558eeb248f11e8f63fa6b24ce6f7e37724935b4b7ffc577b26eea7b152c304c6ee7a3843a3255da5dc12ad2e190228a41e02454f6d6ff16a1628aac3bc4e2bb404f48bb77e6632c7339069dda51bf92723346ad1c55fd6aba16f4199a162772e50029c23d12e85567d8d8d7c3a280ac2874715251ae0819f185f9c7aa311c2b51a49fb0bbe942c6ac26986be710c47813cbcb46f4957bf468e2ebfcf7cd7c2c180a01ee1fcd453805651a5fd08493767287b549bb618c2a7728bc79cfb6b16aa9f7894de45cbc0acd829fd249e2ca1024ed5ea04b2d65fd64124285b4267dc7abae16ab50b1ba0a8ad39ea8171c7c7f7237c61e34433b7fe68a9034031a332c4c58a579b67ffc4aea09bebd3ba715fa2871da17ebf3acff779214611f9b1fa72b96273e9a3e83743c4f6623018457c6368a8a46c9588e3249760002d18d9079ca495235a674cf8c24c41d933a469b6a3ecee50df540edc96c55f344422d6a01fe37aca2a5dda74edaeab8d538bb8c6b7286d1fc53dcd7e7db8fd0c164276e8508be52025afecd3cfc671019cdcb38b258223fd870bf089a4bd56dce78abc9bd127ddb8952fe09e6f9292a05fcd39f9472325e95bb07e3088ba8261f06a049215e2dac29220d7688e492522a14daddda6a45855f7c1c8f149ce17fe466dec3e7e85251c4e13d5ea4e2790197b0007a15722271e68a883b50eac77b5e04b94560cccc41f49feb737297951024083a7832271bd169ae12d5692ffe5269f400bb68eee09591fa2c5e899aaa80d195755b822eff720c0748ab0e4cc3b92b29e6539d164d020119f588b1d0c59edbbf8a007672d39357820ced1ecd25fd921d88c6f5c2e0de0b31dcf2ba1ad85f682fdf96e872f25b86149c06e8a320d451ac039c213b2ca28c08bc691df56d0ae8154b944a5a798a8832e4ce0e1ca1b783b82ab38e29e889527dcf1a9525a58187b4dbec5f05332b105d6c37832a283ad5cd08eb8050eb412795d22de06d00a886d4a310812b9176aa78b6bff8757e02bbf21f61c1c31dfc2a061b5032eb8a769aadeb5d5b41e862fe6251869863e674c632cb3cc811f120b03d3770148d695977fae2721772a2c23c6152be5e729941dd63da19dc1f3ecf864f91f48ea43c89c94cd7524c52c5887759255a11963d197c492c7dd2f8594c80f1c56dac26bdb8aa1b3abcb372975bde2a423f64c09b1b14af5f13706f3b5ffbcaaba285f61075ccbe247bdf6f66105d8ace5e7de83832a9af1fbf8d2a6de918998f25a7e886ce388df51c1272080c88d4b6e4d439338244df827f28576485eb42a3c6e18f7a7b7ced85e587728c1869771aed1f246751f1b559a7e11318ac031fc0f9eba87c276e58cdf3ac72204bc3013ef711542d1bfc6c5f0dc5a753925dc437e3ff3cd8dd192daf41633016650cbef30ad9cf4edd5635022627653663af45fc8a51e0ed84d26cf911c75535b7780ea72809573dd381b805eaca778777fcf82527f8d1638f55d990c2dc72a25f2cd3e9850acfea179eafe85467cca0bc0fd90edd18df1f3bfdf4b335a30fe4f7b22a99f1b300831b418217d6fe56c69ab9bce1c3b85cd02a21730cbaef726fe6d9fbd72816132a99bcdb86788d34cb27ab718e3e40ecb8f1af8b9668b55370f838b78a939fb6d05471bb4511c524a9042db5921161acf5737c1e7ad7027268cbd56e7d4f2485919a2caccf2870a08df9970843f4d26ab573afa8acbef2113d51826c0eff3fcd9e7cb6b6c272e4b977256c439e40eeef5f699a742ef5b772427d716e171a483eb6d5e5b82bed1c9947a57547b9c8c140cf92fc0ebc865a4774f0a329c2c2b042793c4a449f8f6f5356090c8bcc3aae1500821006b1af2405baf27e951b2b22c515255848a2205831eb9b9eefa92c90e015462fe3f52ea634e1cda18a29e48d7bfdfa94d26a9277e63160ca3058f377d120fc07da2ba4e772c93e8c8f84eea7e90479f13b142ab82723cb2b903f177bbdd3ed88d082f48f290ddca0a03c3974262d45938aff85ad6328d728074f9ca8f94f303981d2666a72e6f7154dbac0595b233dffe9b4b2d91f8bc1f31d80a05ea41f485bc363372144767602c3d9086e584897c2cd8e084306e94d6890d7975609f075838d51ffe127a0b743576a9cbab323f68297a4c1d24011fcdcfe2022bab0968bde432b3eec72aca6104050a28ae5d04199d02a8ed93a86f35111dda55eb21852dce461f33716a930b4b32918f9767b956adac9ff4913ccfe6a2a4bfe0cde015b582039cd7c5e17aabf4fc1c1f26b9f2a595727e3d99b07749bd0de0cfe4115ac326befa4a910ed6400a241a7770951279f5a53d51f90c46aee2d8901728969c457fcfe15e8554097fb1ac71eae4ce04a8122380af6204cad7e7ade55a117f81f5337c34c4472f09e015323b940cd0517cde05be2e5f158c3eca3b61cbf628f606ad232d42172a7009f53f2dc85cc60b390d08e640c4504f956efc367537d5f5bde2000164238811886be1beb0325972453092dfd1bed159783214717b4ef7583c6d2b0b366612690a1d62e58809a556873a3a034fba7945d1551d0eba533ed538f5b951adf2d6fb9d6ca858fe21de567d5d39be6da5895224a15a6966fdbe95100ce327ac4727731dd4764c0028c99733182d3740bcc09d3133bdc9cffd0df5534d351ba8f0f9791cf58d20ac94317bdf7205e4f1a9b3aeb06c6e18e8f34f4a08b7209f99a6c968d4b430436d59b9fe3e42ed7add76eeaf1cd96e9dc77694c97701debb6c472de37aebdc133e392fbc777599f5210ee488824dc24e2ee480bd8fc990548bb728d1e0316475dc55df84a38eb23f6c886fb9765b10096677d82a11c3674d12e72a4a373056edd401230442ad393aa37a487b216bc9ca0c007aab2df951ddb1072754f9c52e2c40b12d45d1511f2db1c9e46fb7b6d2920eab1d7e856dbf8b36847e8862d8ac030df867924bb87bdedec824f75c9d2a482d2b931e7273a5f5c8455f6edc647693a4d32447c3a882564fbf7111ab7ac9dac2174b544ce484005007266d0577c3a120e15227236cca2c9fb73e1e80137cc7dc3100947b4c48d2fa17239bfece51e17b1c76905cf921883bfa0de7285d92207e0eb7d1bd2248a883913c94bd8b41ee1a0181a4dfef4e0684e9c9693a6390ca76bebcce764d377a5d925a1384d6ca8d44cd7dab1191ce33be8a7664bf7fcf450583660cf5c9ec17565157c86b8d2ecb05e07659dd5fd4f7eb4cc8e643d3d0847016d780f34768ad0921c74793bdc3a5d763ef0c30166d17c96e3591bfdf42b054f5158dea19d6030a348bad332a8d015789b614464d632dac83efca5a50bf0c2679d67930b84e7768572ed31714c50b023f74f5df9f73ed8f06bed214e2acaf5de3c418ce62064142c728f5a78f76c4250be9cf441d1791ab2165c3cfeee62b7fd923a10e0d0d6bed272be10f0f59d4407b77ca631f4ca4b766f7db2118378b63c38f9c1bb1cecba3636f53e76f8313729fa06e887207549fc4f860cef9c1d0ce5993c18335dc43dd356db239b3d409b07f6bb9b73395ad7377379d6883e4c691bed6f74f1335f3253729640b3e6fecab4ff6030422b347fbda5bb2ecbb61e5cf5a89ebe4ee79a625d72f9b72894e2bfdf3f9046c172fbe62c90788bf30cd6f5bd66bc5b2c7eb8b31e1c558c6aeb799f7dc45f1d8ec798729d166234756a5d578825490a349b5749b7722496a926b440f5d76f70729edf32114f290cb99d9c0ba8276943e90353740b727d81e903198ea1b2b519aec1c575b0b8799e3eafc73259791d2797d7c7992511764ec7fc8b6892005554bd811ca6c9e5873a69c1a301d50e85d49b039a953472afc1f76c4e94bceb6301c0250a0143ed861c8ed098d1c5e87aed8a84ac07397075d9cbe9f8d2d820b5cac00021a4025317fd7566b25f222045bee468aa3a827214b5c19295cb9c7cc929b4019a678fbdc68c54d109698a28ef3c68653f59390934e100c342369c4765d99715dad12c6bf977c21ed3ec8b0da6abe504a00227104d9d542aeadcc2fa82ea9f8e457727cd52ddee311409a9e94990b29949e051287cb300f67e8b3f4cdeae095c8d915b1875dba995b6f47412b1b4179bd832ed72f1a57b0e725da610ab1d09eb83411a55296a1f19468e11af8b6893efd62e94724595603068ee2301b33f4402ed6b30caf5bd9ad033f5dc263e1cf10163a0120df7094db7d2c9494683726b59856d597c2dd8773671df8f630fea5fe4ee41dd72a57a593ec982345597600382224651687ae1a7706cc224ff549e208099c8f472f86ce4d57998d63ddff37538d31b62453541979bbbb96ca62cd8ad3a6968ec72c79ef8dd1fc747d1642532b72419a8105e21c0570c7a8dfe323b36256f855372e62765eac0fd3e8d7026251954c2fad8593437ff3ab8b9c4237b2ea2b416a2722a0524ef5956d81fac1beb37eb0e599807dc889507a9a9c4940a180a7fd08b7225772472f0ac749dfb33967d3739aacf77dbed10806c24e8a9094f8517817e729989d5646d9ce573b016af1533810fdfbe2054aa0f2f536afdd0c4ca402a6524f103adf7fc8451347bf818a33437bd4b63d97f5f9cb51976ab0bfa57e3e1ad7257c42b885e7af032e9cb9f19385c46cf9c5e0f8b5e96d58c8fe8e32f88ceb916d5dda96d312f12fa0d4bb02f71e0991ceed23a949aef72c6554824c031751b72252c371ee120529d92bc2c81a82275a7a6145e5eddcb44bdfeb6e36f04e4eb342fda2f5eaebc2922e45820b7377f5588ab65ac9b1865e4fca990e73aa430ef728a1e72ab6a12d998de2902998ef7974eb88b01778158dc0462467bcc63dd914f16ccec1b17839682d21aa52e5457c0bfbcf8d8e93bce63f5927ffbba6b56337257d6cfce125a0f10ec69bf44d6878b62b538d4eb92964a3512c38aac467f8872ca70f179c58d1c9069f5e4babe8493c50c94c2137828263af7a35f48807d7072cbd8a150d1d3aa3fcec309bca175c826057e8b15c5bab7d539683a6b2a51db72e141a9ce3acb6732ea4572ec09ec31b35ea05f6c6b104c5342fa57e977c99f24cc46f1200e8c21432a3200a49fa3e3b604c51ee2d7202c35912d487f7dcdc024b20fa87dd1ec5cc432b6fc6bd6deec7932622ee7922beea80120d7c05f07b572c35ff7ca3f4ecd7fa64a9e603a687574605be32d3e2813b27b92aa85b0568c72c794a9cbfd4372aedc280d6d7a3e2fd0ca75b604b8cf9b242612422d40f9db36917772fdf8ca2ba5dd676e95d920b0c01f27f1fe5b8b655a3f0bbd3088ff76200781f2ca2891414c63ea33d93598ac63d384f1fde82cd12883ecc8e3ab5e5803c229dabdb355832b56913b4067c399cd79404470ff9456e0736e9a8fbe111b72ba8504b0e0ab0166a019ff6a9b81ee98a38731931a235e5bbece09e3a87dda6cd5d808fd8b7356a280839994c18a633a209fbdb6ae4807adcf583f587288b2725ce9bf172102982f5018d1f85bdd71dd7d88c227736f7ee0a2f8cfbe54188a72fa82167ff84c13444a4f201031c78e4186a11c23b8d39de2a4934f4ef194563519e850293966bb8f69ba816728120055c2bb79e6e49d48e78f2c31f88a63627269ad971583c59d18c121e22c0f58f5455cb72b60a88cf2de78cc412e3842605d2494cfea53b7f33e9a668ce0f698227fded0112053774a31df40cdafe6ba872dbbe43d140b87506806b8866484762d0df2a3ca523511b3d22f226c09591f2b", "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0x722662154e6d76b2b2b92e70c0cac3ccf534f9b74eb5b89819ec509083d00a503ae5c198d17634e79059c2cd735491553d22c4e09d1d9fea3ecf214565df22847267ddd7c47030f8667b61a9860b085c060c07eb215a4de991a8fed0cae3821f0ee8de64d25d2de4a710ea9fd89f8f4666fcc7451e6d69a02098bbe5d5b87c60720f6db75bcbad49fc11512930d9d97bef3f2b4bf6c8fcbc414bf61c98d6bff23ba6ab1d76e044908135e6c8720d3d8ca18be1e013c275ba9f2a5d7eef5c2b5f3868df470b4e7848f79d98cfd7381c8e38e9ddbdf213af8d3eacbdd1b7d0fea5724fa5aee5f5b819f35f8fdaffbddc2a2bb2fd21f07f24fbe11f98ebcdbf6e327257389fb0bcb43108092945312d767d4485358fd543215807db5e5e3cb3741c722f2581d15ec8d6eea7c0e7db2ab6f9b5a774be8341d32a3739d103929ce0547208b324b7b29a85552d2fc90b40f9e510680ace1447720c98002f7ef7b7fe09308ff3a8f75036c48afbb09daf42f1f36f477e64606c3322f987fb05603bc62d2171de0fcfe3090c32234a712d7f2483806f192771cd0e2ab1472efdf428f5fa72c2c5a5ca73e3f095ad763054ed2a4a8fa6a05bf3b029646c5f8b61033ed851727e7aa4d120f9817ab2420a7cbdefb67d6d1666cc00a1a37b564ceacd14c37c72e0ae06fa1a09bf6307e226d29942db1ef31c65de6a49922f8f4860ec2d8a71726f74cc29496a85a775bb29103f75247b2b34718a89010dd9371557c1ed466772087bfe3148d17f8279de1fe8387104d0e25bb36e0187b2e1d4df9df3efc52d72f896e5aae4e5371bde4571421bdd1e47b1ece2a8fadbf27f27b87d1689f4453d87d4bdc1f411bfa13789478f4b2f6203af19c7c24063e3d2663dc7a3c97d1255862ec5121e4cc733e7e6929847f32353a4bcf6897f1ff52dcc66d8c9923f0d525a22699ebbebcc80fb1f158beb8c61511698ee9fe9b40a2ddea746c7a921e8532281b46bf4ef7183597e208aff1784d79436cc69ef5bddc0db29fe2da84bce72c78b23dc94c1e76598dcd6ce8c24c0bd72cb581605c4d8a4e711efb957952f7266f9faaad1e0258462eb68de681032d3dcc3047bbf1c7f1f3337bb67d9563a7212a42a90dc93647b636540c774a680e8ae8958f386d4639fa9d61e02fa5293540f6f733de496a0548eaec3d510ee6e1ae2822d348793693e1dc38dd3e69394720adba55b6792fad47817a9ba0881572b4ecb1a91cc7fed3e2dfc51569419777270437988bb74e5eeb888d5850f9de432ebc6a201546325df68f10049d54c9672b3f5271eb5cb37a995d9ff04162a5320a480c457409b28a663ed71b2b40ad22b541b5ffddc62d08b8d4c8da62d21fa429a6d658b35432a73651ad9f9c2121e72e172dcb51ae6ee4f2bbb50c51a97ce7c742fad786e465de42cf569f543c4cc2a37942bf3455a31fcecaa6c1e2718d00478871dc9d0ddb6e984701196f49ac972a3fdd50e631e828c823a3546198efe5f8ca312e31fb2a6baf148cabd595ab8720657f8dd99b792976e6e087b711977ef17efd4e0d28d9cee48ec113c5092567248b25bcfd5bbada813642323a7fd7a76356cde8dabbbea44cde6ce1fcc1e667280e5932f0cd08b3d2399a574629e1eba98b0a0db467a6649945f8e271cfef1223006baff8511b554b9c1181d74c499e3516c03103cb6ccb1e549e9e57be80f72e392508bc624d9af47d2da2ba898fc32608a4df1a5ac4954d819e17ba938a57237c699abbde80e4a73aa42a4ca855c8108d4658b0293f09a94fe192a5c040472b56dfeeb18c3563c86f325b8305e9ab84b276811af6e07bc15aa3ed3e4781931452258d387e284a4dd23b7884b8e9f0a3ae41779a20b18607d692283a413bc4338ad9312499fcf8b17a6f28eab8ddc3151ae89805400a1096164063653267f724c8b712452cbe999386c45e54d94916e0a8017e0dadb21ad27c8059214d97d32c76fc47dbbdf528745ae9e55cc5da5ff0f9aeb46d1b79654600fa3c7df49ac723c0fc457440862b4c6138d577fb8d74ada728be3c5438f5c2c1da853305efe72a917c4dfd89735e8fa5c07c9cc4452b6844463a18781bd9accdda74b1e958e1ca7de9f49c900079ab6108670cc5519b6744ad2d105f6b0d4ec5b5ee88cee9b4e3148da1dbc9c813ad96e911faad349151d6843954d89572c17f63b83cd2def722859980a43cb112480a70af211617d8e346e961abf2f5df65136da1619e0f07247b1a8589f00e9deef61970a23edd6b96b330e54c98e0df0e602724d00368c729f09a21d1b52932276b1aff4e63d00acb3a341f16999d5a013c2454f95ced30f0d22f6c88f672ffc3e61d5223da39266f62ebae5dd75a489efeb6df0862d1172cddf0e365f75c18dbc848f6746a3ccae1684752a217409b8b57a91aa05eea272f8c96a09594956c3e5d917cd6156c096c26dbd93f9a4fa5c8a411092c0c1c63be9403f19d6c6a9a052fc4a6acf46c9fdaaf8a662591f754c309c2d5f6275e92f64b6f81649fbf5e8f05c7e72842ea62acc9b8ab8c82e49b8e96af2219b2b92722cd5a628ab14f7483f8f56261aac17e7b8bd1016a4a9616075829c20eb540672ca8d829470c0050d8f08417cdf4eb417ea0c5864e9e7cb8caca88832cb245f726d60a46004f4bf71f107330d634b86d9fa89051573ed947e7e095d8cfd677d72396912aa12b9fb8dd7d4f21dc0bb28f2d1e290476787f63fa3e4eed2469cf772cfa7451fdf19674a0100d60ffc535cda86c248de1f17c60cde104b974105ec6edc9b7e40822a96b3c7e6018e60db2493d3e53aa0cb9ca9e359940644347ae23fe53c98062e74cb991ad7e03342614f8696bbfc097b1ba768e04449dcb3298d72e50a0733a644a6c06d06e8274d90e3d9994ed7b928ae7c7efad145e2306ebf3a2f258223afe8f1d4219bf37da3670026264d4dc1d2928c1b7865bf99b036de7289286ec6abd1235ada7c4efb349d21f79ca0562ce3e931eb50d4116a4af7bf72bcf2f390341412c77cbdeba26cabab50d0576a00b313fec424ba03d4de19a372326b171e251700a72121d7fa0009e4e8c94e186a7be365ba1568d993ac16b9720764806197b2eeac2d7565783b938a6fbaba57cb60062b53c1e8ce226983a972deea93ced7b88c2e87920a0156c1b94a4bec0e47fcfb30e1972f047b56252b69df22f121758a49b08d8e5147a761143e6ec5e2a4322f9feda4dee59b268c4872550a76c5bc0c07232a77c7d04c47b30ef6965840756e007cc872f71e9faf194a62b69787e017762fd4f9148f7a43b9d50d8abe4290fb986864ccf24f9f52f8483c87e5e4e45c4e935f4f337b7d88baa38b9039fdf03ce40a9ffdc6e111fe692f38c650752019db283668560fd31349c5849183f0d91de0d2b88931ed393a3172624649937fb1afb04a92ff2c4469041679057762ddd15a4c8a4501b6116c9a72a2260b2e8588948fae691303c5a7041027ce4a5827c39edc6a8714434b537d724884fbb9a39bfbf887e945157ca2ee990fded68e30604af9942f8e39195c5972a532333ef4d5eacbc9be8534273854503a0eb94eb6007d4f7ef386c6aa37a866e1c12c0f34f5db2a92b1e3ad467c7e1f75bdad36e05474e15816bd1df4ec85259262d3ff7a5184f80122b13de208e87bd9b2c607e6efae864569a2d8b464fc0473dea65351f4e3d52a497452c79740c458450914eda689474367217d18d62042e63487cdab70eef512f6681a2aef4d2359783936cae2a5c3df843c93c7f35f7208b386b9822f79d21154a1edf2568b4b355ed7da3cf7e5e7954ca7582217a2728bc1c427610a3831d67b931f296b3c30b372d19fcb4d60b3c0b8bfe0f667503dc7cd70d41df629ff139d0f66952901f42795c4babc68f653ed080bc895f56f4053aecb97f6603926a2ae285df8cf20c57e34e56965eaadd4f7bd1b20308f8072508390724cae5611f0574d1e83c0dbdfbc61ab06fdcc0e65be32bf272ead8672545a8145bb1179511c8822c63ff1e7bfbb3b8527c48ba5be283078ebfcaa2f72eaf0a362ff747e226c4f228281fe5e3606eb826f4161828ee1a501d48c6a362749ba4302b8941d81be751f23cd27b040c2d890c9a6a2047b3a1f7a33fce612725e7d8319decc545803a420099ad5a7ca52b41b0f51e588d3583e71244d75027237107713dda0803055314c1fae8fcd8993632a7ed91bb0fdcc791cfb3d720372d2f506986989051a6d32777c2d1aa025246788f30f54c144c0535989333d57723f9ff54a691d043f2c2d84ae95272807860d6c576a0c6dfd90c4bae6b650327225078ac2bd96dc5d646a873a6d7543c2e1265b71f99d3c9f1e2a06a3059c06727c0f5196419afc19a455bc3adb4ae23e69ea0073e7c600fc5dfd7050bbab8850ba35b25de6dbbd8f7f7b395acb6b6d460e7b7883e93508c42d7f2afa4c8f9a26f769f1a0d31fe888ca7ca2771e1c1287314d2833ebd53726af856e4658a0bb6ed55c41ac04b434a3e6736cd9261300b9315ad364c467238487ba0108aceedd1c8814f7fa9e14b82243164e84760887a2419e1559123e9d5f941bd41c8833ca72390d33a27d45b6e73ab4ee02f23b3b01ee0f94b4a98304671f1aab423feecd2879fb6196503b6eb499f20144c56836c3cef788d0ae530e8aeacaf9c01ae40172297c5f46f70b085417bb1c4217ef6b0f3400b4994e57cef7116feeac37c929392ab6bb95ffe92f643f64ec7e036af2656f84727cc308354091c1cd7eaf4df17244b1a04514d4f8e1629881c84cb6f5be182b40b498c3faa55b28a786436929728da528e60150034e1466b60a7ebcf37958455eb09686965c81b585bdcaaadc725ace191deda3b0d0fb3e6363f28b626c14e45918bc314684682b68c51fdd127235c1dfaa021dd9625ce84ad3dc3acb7978f57825a6faae9e704b9ab51772da6119e184ae1bc99ee29bfadf8abc83ab6805488e89ce22a201400c1d9def057462da34cefd8ff96ab767dfb7d2df3b9d2f137fc400338fe88a6c18f8577507f1188dcd5bc975f0412396b1bd5c11f6f6065e058af459835ff942ae4f80ae4c117239828b98b3b34d092cc8cd53a7f7e804d2e337c9fd857228e52c6370eed766729553fd9dcdb643a0127ae1cfca8fe8b3811380b3327c3128db4b6695a6b4a572af57ce3e5e9af156f3c384becabb58717849f493aca027b6f69d6062ccdb3a2fb8230770b229b0ad7098273521675654dc773ff906463e1f3ad49bcb6a418f4d5fac59377fcb804e3961475b38a25e3763c699eb40f33aee021e41d443f1017256cb851ca61b1370239f4b03a34ca4f37c74f6f6c22512debef1be3f4f9bad72f8afe5e15b43685b128d3572a72a4fc33d32aeda6083f2653c7929dd49b5b52c9a686c0d981cd7ad501f137cb66af04bd05188d937c4d6fc0444e119a50f07721a297dd9eb1973d530f9b38715555d91c1eec6225c64b1f9093c903a0ba2b9723b644ce3d551a6ff5f9321ba199b3aae1fa76d478024308ddd8f13c8e177bd725efce52fe97dc5675c7b6916e8589d5e4ec332893e5182a539099c9401b7eb724ea77c823e92465de46d8506c47eba0855bd20f44b0481c4e5aac4dffeaa9e72c236b9021a4f3e40d87d7458be37200b9d53fff411464c3ca836fe28e228cc1ba779f1389f2e71054227bfbfdb43b609e097153ab9e6261468406b34c79688726a4aaa9d768dd5908f762792c833d95d8e194b2fad756aee5c37de5f4e2ed44170d1f80080a562e7a107f0ff741707efdcdcfc116f5d623aacd314b91438ca72f46a4000c0427eeff855d6531c8bd33cafbe7431778b7314519a30712901e0023b24aa992fdd04d537cb0d100761a09977b374209d78ee4a7167f8f36c0ccd7282fc96317f9a1ae0999a71b0291b4fb3cd9bd5f6ed6e78d25f3532394cd167135732b24157d0ac1fc33576ad1823ae1d194a204ded34dfe469ffebe7dc990b72482e9be7351717592fe2f2bec5ecdc91129927b221ad24011c6d11bf3a35f3727f9343726101841a1897aec82d3cd3b08cb95ff74115b202b036373a72416b72c16e4ffdb612a659ceaf00c477078be9cb4a744b45230b8e8269d23c2276ef488825fe04954d85fecee29d72ed7174f8369b7c7a92cd0a1146b8b01b292aa44556d3f4f0ebcd7c551de21462c37e2fb248a5944fee3b730b4bad7c98a095c6726b053c55a55939e08338025cfb41d2397c919aa9ca24e99aad7e262e04f307720ca07ff1216adfe9768c95ea2f31268b15e554968e0de7698d920e6b3c885a7289df3c060501d14822eba963db261b7ac90bc04b1153069580963acb0a7eaa35023bc710d5cf4b5795f6735fa0c8fe7b5b8c82a9b25b9902b2beae749c305a3f7350a85d3913d50cf277e3a0cb2b4c97abe7f6b751c7a541e20ae8b95c112f72a57aa2a793d96b7344fcfa8f2ae7dca3c77b0002489b2bc9986b08c93bf13f72fbccd659056a078da51fad2b3e9374fe1fbfb5fa2c1b5d929e806ff19c23ff30a34c17fb42fe2c9758b0b6b9ad11b63c70a906357b954568e1f67a86180c8b727a6d6153aa544e1f8825f67d8d3e34a5b2de4881bb8fa6120d3817eabbf8dd720012d82975f3343bb2214c138beb912ba8c823b945e89b87c3777f300ea40172b2f5c6e92d1f084e485fd7310408a7ddac1152e1ae7a2a1842121db65dfe8f7205f5bc346a35d3f8feb1f12bf63773417479f8d77b91b5d08ca33c5fc448726a9e874a18aca01384468788d1c76a375960707e27a96f414d56e75d301609c172cf73f8674b44fc19889d02764727b3f00b72b19cfb011821985bf5b6c404a87238b6b4f5b5aeec031af043e0ad241b75f2217d39e388c8194c81e1865707b166e8d3305ddaaba522984c2f16adc97a0e5b03803748f4407c6d4458d3ef4d4324fe24df2ab497000f70e0950c6d9d15bc9e6244e6114b7164d9f9785ee7003172b381284a9a047e78ff4f24700a96cbc204c4fd2551db3053e39ed9b40ae5f7721942dca9e69da31ee7b525010f1b05e574fa2bd0accc49c332fef85c4a62b934c23be43dc5d57d7616d315b8872fa25c565b42da8aac84419f89d8914099bc721e8aa67fa922570c8ebbcf32062db11e2564024707dcff5f9f1c442f7f4062729e5a2154d190d98bf30e60c9716905da3c6cd526b44d8424e17e26b20843704a8b8757130f18c89f533118a4894f0ad2df09c5bd5f8f9f6913a5e67d2b2ef215576dc32227618136e680c1088c5f14cff5cbc717a963fc387d8bb19e01e7fd7256d0695995ca54363328194a5f1650fa13b594ece69a133fa545bdafc26f93725a87ccf2f60072a8135b94f50bdd6bf525b2e584f2923b8ee8c2b583286d9928115e91e0bbc097e5c15853e39f1b07a5709db8d67e19d7ebe86feb74fdabcc65f0abdac0c18bf865851639950680a44a2dbafc3b82e5d901518734d81063c6728442089150aeeeb6e1fde66966456570bfea301cf9f231d4d9d85a7f50a9647248b26d930dc67bb301a4ee15db3c73bccc7c3430f5587bcf5544a7d3dc16994ad88ada2e1f86c08cd13aa9bf59740c3d53b56729137eaf274e3b211cbe09ef72c70d2e975a79bdc7ac33b65d913af0bad759097dc689509a6ec3eae7de87d6720484f7d3dff6671c4c34f8c154467c6ab82234556ca835507f9c01b29c624f498a2a1a4220128f9fb94e0aba663ae81f8538db88b9637a507d7e160ec07e0e0de58869281fc25e6d523bc095868f3e86902095dacbe62da72c5cfca8a4634067e7fd8c932fd65cad326f5054a5ca19e658cf16e8d389d2b67d0ed89a959d30727c804844cb0f7091d18f5a727cfc58207e3156a0edb3d7934fd1b040a3e74072545b77dbf3430ee883a713917c82a721773935ae3e4167b272c1c6b2a911e872e95804e3ee667c63c1cd44b7be371eb5206558f92eedc6362e793d5d6164d745fe1e6447a33636639c46db25865707ba137c57d2aa40931da57d603f5b2681728ed29c9e33fa0a20c2c7738974f4010262b29dd80a16d89c5b6f647bc740f44925be33d0fe2745f1f851d33354252f678c48a125ad6dfe6e415488c6cf5e5472a8eddabf37db4f3083766fe31072c68867122086d05f5f4a7ca181620ded5b20907cb6675e3923e9bc930cddbc38a35f1e5c45fddd75447d6887242b0c69ed72e2f5d57bf97f5ecb94ef2a99870963d7f2ed3d5c682cddb2e12075200b762072031eafae33b40b88fb871d2fb0c9599ea598beb4be4268991c47218488133e7299ee4f43ffb7f3c144c8b0984dfb74448696ac72f37b678aef102845c27b951c0ec031f25c192176b9262a2c81bb5adfbf52c461767e8a63d80a80b0d51491521214b845ca333059f174daeb9879952344dff8eeb7c35b3a1d4d426fbbc8b772a1ff091577f031413cb2f19e96d04dd4b53bea75723105746248ef6f91d80f4f2009ec370debad1fd2f646cd5dfb0c2c162ca8a92535b35bc526161d3643561fe3abd951a4f00fa8abb19ce7c8d9733b2629fb9ff8c7f5cc6037c70c228dc625606104e01f93c81e9bcdc07e2378a8d79bbba35e7a5fad47279932ca03e00472d36e66f55491c860b3a2b0ac3b8863dd453e2f62ebab7288f9ea395e7c165b72139c9b5c5da1ff9f3204bb05a9df069ff12a9908b752d3de38c17c865790ce6da43ce01beb565ab3d18c6220d2c433552f431e536158f4bc38cc4d6dca18d172c1475db6dd16ba788373bb0193094208bf5de4da76d68026448fe1625325ca72d511aed2f0c5c58918cc0207106858a804de142eca9883504449c950479e7f725903aaa55c5fc3ce0e77e9be43de16f636e9e3352aa9c0f3f3cfecaf95b159724faecff96b575143ab2c42489f3c34daf215b85d64f8bc41ff4ddf065c605872ede24be716bf588fa2b8c04162baeda5e2d204efd5b838842507b7b06f68e4721eaf34be7b1f657ceebd981622df84d536ea6f4838b3643b40304664673ec64fb9174f38547d2481e3e851f9b3cedf71310a9832d1cadb9c63cb8c81516eee72fda00b7bda35301844c0c026a166ef8716608e57bd04013e7a8aa93b23c70272bf2c145d66851d25783ae26da22fe9a756d79ac42c82fb0df0e150c1f9ee8d72b219046c462b1abe8a2ac1773efe1134b6c6cba637a6cfe5359c5d853777d139a662a4c19d014d515f00d024609ba54b1e1ec845cb414824dfd3aee1381eac65cbed7d0768f94e1024796397f2fec000e18deaba42e7e27f62fdc0213fcb15720214a51a1ae0e3aa0ef5d723b01d63b8cea2324549b1cf15336d331a9cfb2c727504947db5aaa1af52a6fa1225b9e2031b48fe5267a4407d07874b5b1471504d495f51d6ee6c87624672f8ff8d10fdc20ff538b518fee6286e460dfe861eeb72d31fad3edae3bbffd723153935b054a709f3cd48f9400d7ca9458beb67acd544406ffae187de4e17480994c97775a2ff137834282a250104254076bcf502084c35c24b223f69b2d510829c852a09facc27da5cb47fa027eb2f358b66e389085df181ffdd4a957382ebce4a10c2a2f272aab7f451ad89e9fb12a8823267d6eb62662caf594ab3ab196c7d6c8c757491b41f278619c3fa0bb3badd91f58be36a2efef3dad05317dc01852b04209d4420b5c2a6161b94a9ee5e6f55cafc79660572e02f2d41358004c75f56448bd7016c87a590d2bee38b2cf4d7c302c2c9430972ab03d07a8098b16c046d04c14cc80e5b59e16ffd870a55277a074840aa28c9727f6e77997f2617005616d79c2dd03e7019078917d5e0e5d2e638ea3d214a391670c4512818a4cb8040dfc25fd0264fac6abed2f131ccee0ad7f8caa26957d6498a3f23015ef4da19e915dce6e40f0de5be101857a843d6d60dcd2a12e1dad659c4ac3ae494e382a73b2b3c8cec58e0f35f768521ee89ee39f155ffd74ceb50262bc86dfc3b00e3bfcbca32694d20e1f4167959206e12864921c76f8ad7f46272397428bf84beb8b86e4417086fa2905a744bcfc9d9d32a3c9b9eb92dac9cfb283ac49f4dc172e8c1b05c6597dbe6afd9260d63317143d962e56023e343671b725f28a3a2a2d482b40a919b8271443a6089d28732b999e359ebdfb02024061e1c33f383a8fbf4bfc083885812c4761ced88489465792651b0fee9e208d0e04172abd728a5b9d4c75c221ad4aea8792384f6a6184c1027ab30e6b94322751adf724930aa77c8fccfd7f27d5dfa8bb2afa100d008864adf087165c40f7480614172304686e694796669a4f8a1195b96a7a55583c87c97bbdfd3f38679bf1430b8724a7f29fc23b36fb8ac4dc421bb848bdab1823d4003a3973d4ecae8894cdeb67222e70e36a3d5ab9be292b8c78878cf2b61210724d5cc1a2d8466e6526b7e325834635d6ef11a243c1af025164ea104051aff08fd713c1fd38c3c07d5c8e6bb1618c7638d7a58412fae59db6ee9dac6ff70f90b3ae6b5322153663ab5b724b7727e6c79cd9cdeb3e047c35bd3db80594567050d5e0974df7df04a1e474c17a35e8ba2708d7579bae959f0c0ad5c255132b0cd6701ae0453c097bea87d4dfb310ece09c086e2b1a375a79f6f181f16a2c35742e09edd7b003298e4b805d983a0725e825b36d027c6ac0aae07962dc20c9b39989bfab054fab17139d05ce14e3363c20367883626231f7e602d5c7bf8afbe07a0b8c90854e6f6ec3d8afea616340267e3b757d0facd4b70131233232e91a74a8f93539bc7dbd66ee49bd2c85946661b3a1b6b1b2229e223d59ec7eb742e9c68abad97a7c1b968e7e7b555dd42b56c8ff9d7803ef77b1368e798a984babd1bbe488366f5a8bc1cea0b687b84fef77224dabf4fafa99fa0a53b95e5bc5d804fc80b237b1b941a70921fae76a4e10e6468fef9e04e46ca16c00087aa356aa90cb0dab4bc7ccddeb1af7744d461a8b672ee3321a71f62bfe3cdd21d32f185ba5c2701f9efb32f28063c42925751ea8f3f3d6a4469f94e004cf2b21738bb206f410529a846d6765adf4a22a9179774e245e242d13c2be27c631410a16e754ac18699b6fc8530ce72967bb14327ab286372b65d740ce8d25d5fdd2c4030ce7d20d67d945fb8558149ece75006274e5adf72d078522e81a2623aaacd45a5eced756ea6c0aef163871e514686ab742c000d726eb2dd6a127a3f5aafa8e0ce6ed49d3aa96526eaaf619f940824a341c5c445072fc345ca71f77a2fe313e11f281419136b764fa5130825b2c5109dfe3fe3891a71a181a7a05ea1cd6c098edba4d1b049fd5626eddb35f0d8214424d9ed6c0f7202ec32519a49c9cb435f7a80986b65469f8b5b8c2cb21d00ba499de6160b3d1ff5c4b94dd917da88fef2a11492da8c9ec1020debb4b74f0ff920f62f99705f726c6b74b97b617de69d4330e72f3859f0250b81c6dfb45eec737769cc2af88956d1205523a954ccff10e5c6455c3ac53da19e2ee5ea05418b4aaa9d87014b9e723074c30e5dc326977f3351c88dd3d5c930bdb9cc592a08bc3267d255dba18172809c96b83b88feeb86619abd15fbe4f33d8bcc68b0ae41977513151d6237b1720230507aa59e4535ca1c433dca37d7aff430e545659a5ed458f33efc8f8e4c342ff8e0e8dd8cf19503d7127ca1c011231fe9945c86ce702463f15641f066e26d10e74173f9d374e9f20d268211487113568170772205d2ee9eaae88671a52972411d5910c7e2ba4f5689d9dc76a43c33bd3e542d8c72db08b3b16e2cba009e7212c800b0292f526b61ed350bcd531c5a61cdd462405a5438a214986298582472731ad982f9c8ea1e089ab33d7a105e824139261fc40468870a7a6a5b910f2c29fea513d73966e3b8ea3062af73f61199266f6683e0d7c99981a150b205d20f7223c194bfe90714cf529bd28f8086d387bfac2bea03cf625eff5129183443752b4b823f03fd1188fc5e92bb2bf2fa153a5ae95cddcd422d6008d5243762007b077897a27e2d0834c0a46ed0b5d090b51747696e30911fd88453eb002e1c0c892bb0a0e19864b7e604ea03578b5420b937cfde1b41fbfce4ed40f51d481a468e7238077637e010d4c4ab122a5b2d5736c9dbbf287dde274216d311f24586093572fabfa4f019ae4c2d7db60744d49deaf5f320d1abaddf0e11b2d1727385198e70fce6e6a9c7ff29cee07e39cd1efd20efef866e8064e745984133e39e26a71c0b8eb3ea21a89c2440ccfb44de8dd748962b0ebd3c942e82f65e05f076902e7572809e88fb1aabc5fd39afd427379bf132da8b887c8b53870c6d42f326f37e543ea86a21b9b8a6eae5ba1d0ed7f416f70eaf328b0166b03cbad0fc01a751bd0a729f1e3994795bbd0e251606a57aeea7a99de5f08bbc09a486767e28658091d4687a45f5d31c62a340e92f289f59ef8a16f84ba5e94f2bf12981bc1c6cb883af7283d9e25e31089b51af39b85f1e3c10d8dece04b7df8021d009dd47483928f07260acbc359dc8abe54699d8e4ab1dd208e164ae9685e141a567e3c08daa02b77215d7c8eaf12a791d5af5a3cc79de8b3e40e7348f1f35b7c8498cafd2d1320b720d84e6f38abb8248c5755a922d4423eb639303624a6ebc93d2ae7710c8e1ad5bf1e1fc55c543a2a6016c2f4c9e44ac1a11710ba2a9b0c41edf53adb33c08ae729891ac4483ae648942b14b8516d80968411068a3fb69808be7d2889da2a9633b2680006f5f8f35dc8b44a739c065b5d32d7ed78f3c75b6b5914888a6e6b89972baca4c4b04f48f9dc42f539d694bc72fe6adf4b855b4cc90e922d3967e17997230ce42ac72989c2e575cd5b69c1bc9541617964a919e80a2ac3f353f1541257225860231a656d71408184fea81e017b4c380bd9197c43ff2011f966d83c5f072b3091988a8e087a604c0837a32a03bc6d0050e521cca1b3cafcb90731dab417228c5df9760777edbfb20e134301e6e9965fb289c2a85a25552b2ecc0e0a1707271e61920650d1a0dbf7841363e67292cf2dfea06ee6fefc38aa53afc96d5ea72fd30514591efb45991000e0f9465a30fb90ec68b98026b0252aee1adc3ccd772734aa3f566bb3ca235634dc25ce78e2d119ffd6d44434641e6bac9170e97397207c67c577a6a56df0737b6d9a524e020c15a6943da192dfe32932ab26f3fab4d8d47cdc0c1e1ffcb22b348ac5f3156d4f6dc6ef8c0f349e834ed9a0a9ac44f2c1c51ac98fdd718ec79ec66172fdf2e67ebd6c505ac55d378e4219925725c8872dfacf149c3435a7199b6a62bdcd316da8c467e4e0e3167577388dc8199c61572ae4f01d8c2f8a98740d44d3a584c8ca4591efd905275e0ee2b9b98e61cf4f96d3da3e7c8a63687bb4c1edf636df23e91fc71c3ce7a2fe38416bb31a9744e3953cc7fac6c91199798906bb5b56dcc36d74472257afc0e41ccce2dccd5da16ba0474a453fe076a16e5afa6aee9a5f447bfc466be01127a4ae01f1039349a5d33723045539a87c7898d3f5cc15ba8f38c75a949010a2a7ee0e30eac3882f0673c72abff2479f600869e98d67cdf47d76e0735b8d41fc038999b93d5741a46e36b724eadcb569bcd5c4bdd50ca8db6790583317f6b36f3e67a5838718325dc8584723f7d2b5ef0a12a66ec11d3a2bc9c9383f34fc0a7ea360c5207e62b43997f446dff11934554b523de562aa3fb2751e70248ce16c85c31a61292c08f424c4c5872b41231a942d88989d66feb3c1070c3bb0005b4e5095d6269438d24a5723dfe72e1e2fbf7dd00a589be04414cb2b60f6d41a228aea9511ec261ea544a4e5aa14c609f2ca5551761c1ee4fe4bceea21a7e226349d74eff8c420d1de8a79c418e5b3692f948058d2d0caec220cd500244e259d9993e3b053fa9d7258bf396992872f716113ab2a5dbf6c7608e716c1d2f35d5d7de24bff3e9420c095370f384c8721676a8f252d20294e1ad468c6136b9cb872fe98f8588e9de476845997fa2236a6beaffb983b4dca1b2a928f44c354bc01e65cd1a34b4f58f400a407862338b5fd3fb1585f9648bf9f4040a3b6c73212896a748b58589de1a594613fe6852b92bca1eedbfd29e4fd9fdffe890ffda7ca471be5d0e07493df9e241eb68723a9e727282757fde6c9faffbac375feba511db1848bc824b333424189d79b5db0cba56f8d85c72a154e90579db7e6315143a4ff09aa0418227ef0f38375fbcfe28d03e8ad70198bed5c3d024a8c8f121d66431ae2e544d50bbdd3012541db70399152133ebfb0283771ada32cfb00401324ae7505095dd33915230eb4bd9ea96d69c72880e28dabe5208ce685b82ab6ce0e0170e25e2da97ff2a49f6aa37f6ee0d9537bc2f858eaeaa1acf4bfb6a8ddf08943cf7636cea95d131e09e71579d07c189724eef62f9c94cbbfc4766403d3b5fdfb07ac0969006012806c1ceda3a4e99ec72eb43d2e69babdf311760b775473598b45e7dd623dbee17ddc0ba99a32be72c7254060174044b9e943283133e326eda4b06600a692f8a4db67fb3f560ee1ef572ee97e15024640c66370970e999bbe09e2c3d5c154245be4fa6023a3cb2561072b96797ee106ed99bdd4ea0f6f7d55106fd6ad15605c35e165d1ce0838056e74a66a0280abf186eeeb1148d83f5c8a178b9523754505a35082cb70c95e92d4b0907e89be23def17d608b0ebedf89df7bf134db2a882cc327353f33df031010372139f9335914eaa548b63cc9cecd3d1eea88f9eb1d1dfbe28025b41a92554701992f6aca9ee6d3fb398eb36d95636fc72be095d731ff2f0d7a53c5bbe190fdd72692031a5147f61b8e1b1717207559ef397ac4e2901f30bbb8d76f341f263fb72b181452db6a7feedaa53d0db3596fbcb8dc600d2581d6d3d3783296c14acfe72f340a6db51d18c468eb97ced177958b7143b8ca652917073ed5d30a64ba2f130d0cb06a62998d8b015862f6064aaca062cc3b84cbb1e1b499500d6138c4cc42a7551534f74cabe3b68fea2cbdc6035cd671e475803a88a42c6991ba27ac30e72c7482b003febe8be6db0fe0964a949a18639c0dd30b0061b5dfd7bc6b2ce34726748981a30500603dc04b2ca64fa91ef4fdfea170aff48507ec9d63ca811a45c4d2013af2cc2adb0fc7d234d3bc48bd7b4b823401b62db51b6d401e742711d72f11224f2a0e7468faafbcd1a10301ec7e68785265ed6e928dde68ad05e6e617214e0907d854a92fb476493e5ae75706284fe793c7b9abcbd16b4daa8c0a68369be6b1da8a8c4b343d5acc7116b456aeac5f35b2cbf9e3477f6cab9c3b6bf49728ac76725fe392dca164797b176531d5b889838e32c49d3b1cefd4e8494f15872298ada7fa5fcf547988b8e6d6351820b7b390fc0ed1b7caafcfc7d342d1df5727ae55b194d6a130162279ddce9befd0dc192a51c58dc73a83288e758e573b0723f9138905a2eb44c6b9933354934167d9ac693be5a0b3df0d48bd45030e24c720b45a1a2ac964fe819917ffa70437f710d6bd69dbd8d90da5df5f1b00f5310724b17db433d3b9ae113d4e319514cdb25298e032f288bf582f6b79dcb68f5d34be9178a6617dd548239c54f04450c1b7cd74ff97a2e88afc9b2fe4c6b2ed60a43dc982b11088b60b0068e4b1fa0ba086ae7ec7bf8c3ad3606178a92245b48fa722e8158cf169ee94b1e939c2cd4714b8656214aa7fe295b1f0db7f01a5fef6503f33466706f9a54d2051062aca1670652cb48fca2df283eeb60116843a8f7367200369a00f2d78017a1c2a3ca94666c2e7530a26058867c725098dc40dd6f201e94c3aafdaae10302efb7d7a0c11617ce42d4d6e9e3e6911ea3c5fb4311ba5f1fe4fec9dc933341655dc8afa2695c888daafb64c02b8d16a3d8f1f1743e00f14092cb650800dcd075c7a1e6a6910f09b426991c1d6aa15e309d697b46d752047264e854f9b92e2d34ccc0d019d8db60bb497d3b749c91524bdb5dff84b617727250b51840308455ccedb2313b1650aaa415ffa2ec27c12010d24508d156f6ad720bdae52f4893ad6731ad5dd1e9365652efa148bc212be0531ef35e246f8258722572d80165c4b1e5f02563a344e058291d1e57d54de3edaf2c1da4f2b702d572741d3a5f982f538fba10bf0bbcad7cb283eec6375cc5a142b9033b17b987ac72a71b13b21a27fe343c7249339d82ecd270dbc7ebab0648fb08945a312f63b072ac3d16e5b7058433b624510873e9020583925e66656ea4f6264b6f6a6e129405841dbacb36e9a3ea99792137fbae02b8fcd55fc7bf3b1bee8375d4cc4ce2ed72fcff87f903770e53b5073eb56c0e1a3dd289b2881cc0e0c9ef73ca6b025a785561cb40d42018647e573fe5063b1a631166eef44393b1ff87f5ea5b2505aee7726c3ad8e0751ceb1c1102a829fe18376fe1599c936a58ed939ca7fc0cb9f467585e594a3022b341fc217af72f8cb0be6cdad983e9960806360087cd26069fd40db67d60b5e2483e0a9c479f3001efa93c87b7afa26ec293758029c79239c9a64a48d3fe60d6ead94389ca2255ded5580742caa566a29cba00697ebfd1f76d2472cde0788a881888070c408e613d5646632c0422ba8b6943c042c1e801e18a995342380f0c18639fa603fad98b0c1046881f6e420190ca7896e2874c727ec570035bda71cd0e4a8e9cc3aecc659edf03a474233d8a9bcdce920e2bceeda14b5a72c2f1b465c4b2bae891ab11601d158f1eca5abce00ea8b3f153b8ffe00532bc72ce45b0c118bbdfa24c19a8c3a13442768e3a9540d6950e4019a8332bee6a317251670ffab978afe466d12533eb1b2ebaf65a95301461fe969fdf6f0c9f8be572b377f7627fca97ab9c5f47410b4923504133a6660e4316fc2c6c591f1656664ce33b1b79304b9e7f56e0d5c5ce2080e57a4d3290dc435698c1fbfb39cbe2db4d8b0f4b814e265506531ee0830689139b13e003c5a691e54d0edd667c8fccd31d35112b7cb10bdafe1c512d8b7a5134c6e1113710f56a6f16953dd40913f2c072e4a80ca938d425a3cde7b9aa307064e383744a54830216e87264adbb894fe058f6e10ef940c8e599946053b29ef7543eca6323513a815a83a83ca57037ca130647aebed529d380fdaaeea06e1108846d39539674e36619e132acf6a4f51d75722b193221add90165e1aa332be800da81be7218dc5a698cebd9300c3e5cf89d53ed1a45ee087aea3c139d0d996a791c821b63b9b17ea71071f3e632f5e5bd9b722aa5cf085555e421d44889ac5ec1f8540caddd2618ef7bff8b758d7e48816e57adbc11ee335c908210b634d7482d2495733fe9bb3b89ceea8010c5e53214705b60d1827a106c0f483782d97d7ed52587e6117b0dba2af7fe8d6db8c564064c1a28820eacbf4f30dec793577eef3f906848904d6774f5c7c9550951e9e60b7e5d820394795257fea64a92cb79d266376b6ef1c600c425a57506f39a916588d3315cc2a8e65a6ee3952b15f139a8e90f3ee54cc9fb85af716ce4f400aa6af33c525fb0f55ed44dd14b13e1c8a0575c947092500bb40b54e45ad99a1a83ba4d4f3dec0ebaa780837b025f9db0c9c916101b7abdbd916a6e614585599aa24a30b86aa27456254d1928f63813d2c9bc96e7c747fe9aa4555e7417f1d41d18884f4a063373b6e34eaa805431fa315a10add6b34c5afd4c5b6f85454d36abe410eee42f9f628ea164ba636e0ebb7ed7ce788f0e8d7aa406fec43c9509ae0e4ea16a4972bd27c5e7eca65a66735d782a35834ce8e4114da1d47abad1aa5f25620b7ed672a761752a7d547ea36e896e2ed5d34a92937119eb2b2059cd86862a92bd5bc4489d91bf2e602896bb11ad46a98715c4e6448d363472b5c3448fdf393254124d72585d705d1c3379133f9f62ffe2095e0d977fecbc3673208eb061e3fa12fb205832313bb8503e0cbcdd45081f75738204b6551a07aa2f86dc49bf638a99e8334ab3bfe5dd54e9e408fb633c55372d6182245198b054196ba2ad28fb5528db1a0865ab1f6984e5db4a0c421df59ff4c6be6f792a115ca0d221bcf3f27a42e52d43efcbd12827e519f49a376f4ffcd59cfac80bd15e147b2f9c9d3dc84d9f816b59fa7ed6e6e4cad051e348df73177bdb64a368e3d7669f9da72d7ed5a445f851493b7214bad8650d1e341f39556c5661e3144e0a34ac6d57739f075edfb1af0072af66e76bbbd3b2f59192d7176364beec1d70a79e974c1a6ea34f4860ac403112c1ed6aeaac9f05ebf3138d34aed1094eff04b549a048f62f2f967386c9b96f5bebf9282577c11a551da3a48339433407bbb3f5df4f4a8a33253f5d325c3f0401c90aaba8cd0ea5f8736ba680f1d33cfdd8a2aa305acb831e315c361a86fbf372b4e2b89971613f1bc25074e39b4d1f3a0abfe2acb13309f345c6ab685b7653721e8359d1e2baf4ae14813b4e3a227a5f4a3def6fe7ca65f2aeef10aceafbd972e0005a451a7c3052e08a04c6d0514f3e7e54e060ffbd99642fe0fd7e7a259572c2b6f40596105c64f7355b1913bc37d8745daf4e68d42aafa875f6d0ecc5882ba965099162fb424304b7942da870d130a4b97b6c0dc3fc20b792a4936872cd6b1614f375e1c29b1429ad2193ef58b4a85a057f4578d4a6959f2b14c74d8f253ec7065a2f8e21efc2fffccc87b00eaa383e411f6901fa8278db6fa6a0e1ae6a0a392e840bcc4933dc5b693242e13089992d16c494bde0363a935f8da22b7ee972561fc50cff7de1a683c1ccba90d96f86aac76466e0cb0558331f224d991405722512f2ff8f9f460de7de53abd164e8bd886da57d5bc626328a65a24b49277a33085a0bee09695e4a513ce899d1bf92634db6d12a4a17230ff056b7a66f341f3ca6870e3745b48205077537f6d24a75328036dd0a783f2f27c4077dfdd5c3ba236773c221f7a9ca4ff8772566dfd871ba8569376d136ea244fee0c50c6d01142fd206ea3cfd63eb2b40657e7021225f8d020697aab95a3c21789caed87738a85e560be75bf2bf65ac3d7f343215b1f00ecd6ece839d009c5ace15ca033aabc572ae45c8c2c01c031e7a0fe5e8e8e620f745c898207dc5f307304ca5b92141507253d3a4c1c6b62f3b651e0aa5ca1d99294b40e377ce687ad7c4169e2cfd0846585a14ab6a451703268fa794325d001ec7804adc93ef1be1446f50bc9eaad7ab7241f65cf6a042935221b6a82fa76500a7c82729064ac269ec15b76014fd55c7721a3f9b48acfabb9b65e89ab4d358f1367d69bb051db5d4623695d444be2838370a00932d9fe8653db12bb50a8a55975bd69dd9a714e591cf804432ea87b06a265d4bf4b3272c8442c028e9cd384259a73777eca4b937fc769409db9221654b729d20663b7517677c314e9045e78e72fcf6998c08267692e804cecd117a8f1c727bbacc8b99880520700b0c6744b244e0c9b2a1c9b8300c59fea757a9f1781f56ff93e1d12c98e4b64d7677febea24df4517e5b48c3a0754d9770c9bba3fa2972525758859ba08b6552db038c75bfb2e170a244b9b88f73dcf83de76f2e38de204990d6aa381ce7de435515a79bf495046f92cdb2cfc1cdb46aa66e702deef65565f6d900099137cb942869d577a846420874ed931ac066f4f81bd46230c2e67291d8a8678921944774a44069c2628456b6091ee32920ec9fb3bf0708f1967f43e2cf2ccd0b755142ff659fd77050d477bb3b406952c467557e942a243cf6ff726b74fc939c901b3f92d1819da7a3970bda996bfabf8334735818675721f3ef72ce83555743ab97c53ab63264d64ed722270074bae43b401d05a4e9b4ffe09535e6bc30ebb8c374966fdb62012a2ff79078658fad90f1e2cb6c3c563c3b42bb72fc69024ef54439ebc346c39684002305249c8ca1388432f29955b4796266bf1e4c89ac2f64ef0387941e7422237783fe68d78be9b7440676f1467b5a6fde1a59dcd11b802695739a65603986258ff4980c147110621da3f210d4edf1609bba723441904bb47ca79e2291ad73d07ebc94cdd71d5ef3b09b44ab6bb2500c365a7280068949f72ca5e9d69d1d5d523e23e0ca758a779b7062dfb8ce8d2e7903b972986c2f008a47bf3a882965ec5d89bc2df8f5163544475857e674825605b13f727432ae470ec0c4173c4f36c8c3b5c46829842e9ba5d8bf6f34dc407359f363721694e333d3eb9a24ab218624b582f3428987022dfce70a6b4b169915463a0572267db40594966c96d4ba14eb8c7e18a24b78e6b04dbb65874a4e315e00470572a556f291b7e5495f9130222185ac92aff25dc65091a79aef537e957733c39a72699181fab4452ee419aadfd9b4a939970d0f5985f7ef7cea6efc4ecd4265f972512df8051698ecc69363bcc1d1a7e77a9db62f6bf365dc26ee40cc99dd8091729846874157a6aaabaefcc43bee6fff09734e24479165a1daaef603bde4cd5572f3a17914f3cfc253a14571cf27a883874d001c70611525631adf0afddc81363e229216a685eb936c182dd4b20ca2f361d12a4661635d1305a55e840877fcd158bd7b2b6bf78626fe9b3dea42ba464fa8f4a43715c512a2e39f72dcd69c1f5c7200f2bbe67928dd3932bdfeada35fd7bbb80fe41fcba9b074383d4c0989c97c72c2a7e5d37805ba9c326fd7a033e744100c9905b364ff8a86f1ea1f7e7c42f772b2fa5a1102359de32db2031f9148cc7fc32fd19ada004bf0116c665e3ab1115d1a65063df396b1d77e21b6e721bfe4c6ee9679a61b522c80d67955dade4bd7725bdce69b8d24758b3a9b4c9201dad196b57296abb29cfaaf34485fa1c12b7969850813ea19d14ae1cca6f894c838d3038680ff78f2986b6b17206f39a552d17292c40ba879e511dbe466b4920083b5dd3ecee967878be930871139937663f61a6e4d9831feb0565692fc9dd8b5abaf3db20d6bf087c8dd8e58b054094c137a004ffdbef218947ccce5ac106810a5008d76284b59dd729e7460e759b1963723722ff1b47e288d9c67531e5e9d9ce0eda9820b6122fb09948826410cfa0d22e3729b700b4db3f6da3c994de573315a45f0285ecfe164d8442821abd3ca12471d72ca3e8058333fb70be2948fae9befbcccab4ad3e2fb3b99fc832aabce9a67ef72ea892873a6757fe37e74e64f91e4c0f11721f8b295f5ee0b44ef0b47bee6614153ad39c9d38a1df2af2fb51b7837757ead7bb2b9ddf959fc8fba6e07f8a0bf724a52e3cc6f4366652f0ec1c3753108ae6acf9c7fecdb441e3b01ea376ed2dc6bb707f85ea04986fc90dea4d57d3da1d7d159439c43dbcee383c6d99206c5725e5415d548332226472741056dba769a865eb95822a24c79e36f33e924406b96720e2b469eb556f28629b0f03c7eea5e03296159e6f0730be1bf534448e71e6d72ce06a6f0f30b279318a3edc80e594713feb504127920ef9de64127a8a2623271b0b3f4b1cf20a79e620fd82da716f4de6be46f76a4dd592b18bde8631428f572d0a598b3e168208adb94bf51593c9902d43cbbf5f179f0d0b3dfdbe220807b082141902b2c399b95172bbccb6ecfde5a86e01e6f1eed272c75b675f810b88b72f56f4dadd8d900fbc322f603ac1ed52ccb824ae96338cadef4a6cf980bbcbc059675ae1f1ec3a869081b4d0d21def9cd1b0f7d22f901a1bd4fabc85a70b94b7229ccd17fbf84f858c69379c270df7dd4ebc49e29909bab97ebbe52d42a0d2f070319c92530f3265458ce399abeec5e1941834f4386784887be2b35055b949d7208a2871ec0f31177bc4c255d25b1a2303d01055f8785fcea1209a3046af5c5725fcf2e6462da7cdf83427bb45ea994ec55b53ad02472387a99bc8500b51b72725f8576373f92aa81472f915ba89d7531b202889bbab57bbc655e3ad9c0350e3a075de14c7d6b671024723a1159ce5c962bfdfffec58136a68a070985f87dc209b4755fdfef06d76546686d7b89d85c5fe1936c57e54bdd272f7a42981e802e727368feb41051e48790e0f3da5500a4138392c5acd2fc0ec3c73bfaa6f6f2927230ac48e7f3d8773ca338bf8a9c0d997b1071a3eba23d5bb092fc8fa2368d3272e1be0e886d1b3c95ecaeb44bb1a6afe9464a805c0dc8ac0a5fa170f09dfa2154b80b07093016ce40785092a36ee6ee74862c227faf3f85f0fbca4cad7414ba04f03c16b6325b4842e308c5b1b18852fe8964804758a945daf7c7e8545ae29c72d1b6d015b8ef38d9bd88fa43725e19f06960e27a18531ad028a63b896ebbda20fc9a06a3aa43a0ac2b018e7395e5608b88cfe357fca746838513120adc03d263bd7dcef941b3fd8aa7f757aa799c55ad5fd31c1c3d97516fbee0ddf9cd03451162744bd18b6f155c912863602003af96600d0620ccd951d9eb10632d821eaa72f49a68a878f3c949976b00dea3e8b20917a6b2e856eee4ae0f0f57ab3112cb50761c1ba7d56ab3c2dedf9c941975aab7ecaead89dcbd907f412b5fdb0a7f9a729f0e175c293845a1d63f4048440f1133368850bad5e160b4a827fda2c298f204c27b290e284af8837cc66c794db221fa9b4e59a28cbf9202d704bccdbf221f4c5fefe8f0e0c462926a0400789449e425a1f21d7180a487c8b01c82ddb660a4359d5dfc9f53fcd6be462c8b298968643b944072a8ee299fb9ec6f7fd615806e6e9505f0e6f66e19e8e0064f836096d82aab3bf57bca3555f04907fcc1de597157827112fa3ae6cc3a0ab1e7ddd8235f3892496a596aa1b98826ad91b345459d70f959fba3de3ce29ae187a7016b92c8f3a6fbe2e6295f634c91eb69ac681a2472f44cb340d38c201ff03b96d3f43ce0c61e75e95032c2c1094c169f00e50c6a6b421a56120e687302b828396faf9cc868f3027e92f3448574189348909a6b4a723a10c49ce64ecd660cbbdb54d76a55519ce762243f626de1d390b18b5a0ae272e862eb9be3e1eb161f3d84c6fb0f641f95d1ba8668bc78394262d006bc1b257291be0669aba497ece5dab749f68b642c83d1ed765d5e45385fdb8effed84757251eeea5eac8648fd8a97d2a9d9a63c6a6bc708b65a390dbeb2a33cc41779f721af23634b91b89faa49853cf32a1beba0078821361c8c2c9c4d305cddb91aff67e8f120d4258733d95eeffb778208ea08f4c9b0893ed1166d6a4daea561a28472127635a8afcf28037dca162353c4d325c22f4dcc30b28ae90e84d884d1817d7224c0ee05bc638d54b05a3024e6244a6b5f94e7783f1104e32a845a43df4f7f32d2cfa716d1cc4bf726cdf80c6e0e164dd2de202cbb527762d6dcf6d2c0ff722eb201e83a49fc68e283bb76c6d5c43903d1b8a78fc17fe6eb766119e722762636410928e07cde3c60f17c6829ae435184e8f34c8ac414163fba05dcf0bffad5691590128fbcc3a00f7a183b5e031e093b6b37571a1decb68ae334c2d65daa850ba296110f7f774d620ebe9248ee90b3b2332459dc80bd8f2dca2862b5344fd863a931c0bc8d6d4c2d32d193b918c7f247b37642c820a505bbdae63f4cd1315e6edd507a746b91d14430e4a0a3c167abb7ebd71f3a015602b27c3be51efb8cf93be0f87a83be40eb861d5a37185c45d97e4a09d703d02e30341d975f101382e0727f9c0ef874b41e2d58a5238a36b0d37f63bfff63abcbf4ecee8e7fe3019eb8401ca5cddf8c8e09d898209a39d8e61a309939630169b32dc14e4a6f6a5e20dc72bce71bbb0a9b520106f88ad586399f39400ee6e608d215562c487e708a1b0a41da933941d31dbe70d6393ed9040964ff8d943ec0df6a524d771f7c8d471a6a72d4b29fcbe1ff1070b285f214e477f2c58072516a3a0bf60a2fb4eaf79eb06e722dc1d43ecb8271e91d76fff745b96404c3bea176d0b43870fe350b22e2b17972f8dc5a76305d66508809336d415312dea502791f367bd7ddcd0ea8910d3c7f6cf2b4c53a850aa142f9fbf22a79be43fb0ab014a8d6ba7005e959a81e1f02bf726dfc7fb85d43448405a2432acdc42e416a65a35c8a16c56fb107ec2604873a3f3a28295aef873fbe24c80e79c38211814245f25b0a4b47f91b35c5dc40aaea7289a53ab3d35ffa3f55dfd70a8203a11857bef424094952d26fd364346388da3071457eae0cdf977f79b5bbf9cc3d0db63f6c509d90a81b94f1a67ff1d9d98572279252b801ba9829e80e3aa8ed2bbdb3a9f295dd97998c4c3da96b9a537c7172f84a1d1852a2058b8f01bd5a15fc6d33b8c6ede0e33180cd16dd1711011d8f4d141b656dc279dc9dc88a991bd307895dc856328953820c4d63a0c93ca8ebe1723ef723456172cac55e147391af19b2a601aad86db34782d46054bac591ad97621e83b8472dd975e40081027e7f83bd98e8d0c017e03a3b9f818e7434ef55135ae71477a1ac78a91f851071baacb175b82e2239c25a79da625e4a76f04225ae723991f78d679fe45318de8d3227f36e553e928fa6ae6a897df84e310b693fbc0039687abc8e1f46d35dd5937a317c434abec126352089b916cd64ed8d99728c7252f44c8bb062e422c8b00d15c1023079e0bbb6e87561e0f4af83bfbf6013383014bf608bbfe3f740b8390dcb62deba134d73173e3578848dabc5ffcdc6002172d95d3ee452b11af3fe0e78b52d82150e84043764529ba2fa03a0e93d08235b72f03857c3a9eb22267ffcc6cca49f49d46243e6a155561f408ba6f214be2f5572beb17d68b20e0f8dc2da19a5a8526087970a147999e99dbc34681f0ada8cd4728e2699e964088b16b837a78b29131ddf9017a42bc24077babf9984c03af06272198812b2ba6e4efcdaa557c3058edd3ee041bbb7f2141ae05f73105b0546b372c6213a9fa593cf9bea2706d092824dcdeac11f9d23c3b4e5422e5679ff5c2072ffc7fddcf2fcaeefd2f0738029043718c098ebd1aaf9727b21c5e38784f7d25c6d33fd7d966c690620cf676e57bd2ee37ffdfb9bf391a616d755a6bdea920772997d1c879bc611898e5207b70ef7d22b151ce5a379f13fe49788e5480367fa3af5dd391e50cc6983eca45c11b030a6e4f03d1417f0d551adddea63d61bf912725a7d35719bf7b0edaaf92e80e65e035ae50f1d7a7c28541ad0a1b7f4a9b64b724ca323e91d4eb673c617c3391861aeb5f6303ee86bd2b42479dde16a1c47df729eb4b22b087cfaa1bb310b8c681d69845efc50e066e5e98ee2645d26d72b2972db1981d17b6e8febf58fc471d46462063864eca9666cf126cfa3ac3c091c3e5eeb8199458f303852aafffec95b1fbd3d5bcc1b3632fd05f3fd8dbcc44a566c14285af3dfde8560404d4178d0adc5dc1576c6411a23f585e3c39f563a7636000fc4052878db562df145c9d2f41168e21ed5591fbd2ddadd4337376fc46dfd8327a7b64c0cd0795883bb739a59d2afea4ff1d189242164d25cfbdaca878a67b572090a760ab0cff7adfb1d293027b1539d891681624b8b2d8eb6a003d8dba6bd25b48ce53f114602357a366fe19102bbcb28ffba7a85de6087808701bf2a310e2e2a460d618896cda777fb067e8c733e8d9ff1f888a0534df3cb161475188062722fcb7e1fd27f041eead3299e8b0b0fdb3fceace3811f24c9ab6a7f3c9d89d90daec694492cb3f5aafbd70a5bd8d1622b338f20349fcbb7a40c284feee4feb272cbaafd7c2e8ccaee0e5e6dec1c2b55c0f49c72db370e7aa289a0184435458a72e4f1032e0f8ac247075cb44e0c17d640ed2b6a612c16c39ee5fb159f1bf5fc72263b00fb7c8958524e4eacad8806cf7a09d9ae868b61ba95869557b7f48aa80f7ec7d72d184ba6a8c2f378e31ebe2599ea707769c2ec9d84629a6da9c1046c012454436679a888eb24cad806b720f012e1735710ff48c5c131e21b2decc6be27ac0a17e010586407efe120b7ebd66cbe486a0ffa506fb15150c474bcbcd4c172942bb643f60434b80a3f6e4ff900ac44a0b11f5647e8d95628c59068cf8fff524183f15eb99810e6dd3e6f13dba213cb2703b7f0131bef7cf75164c59eceb1277532227169114559a031b57adba788adf2139d5c33102d36831c6510a77e5c72f5d6f02c8b600ec866ba1a57c509235c177b9fd91f7a147e3c451331b1c2c2724f262f93790db580303f9cc07bcd16857db221212b2fc5301df5d0aa338d7b72fd1c8f753efc8da5d5a2aff2042d9185de8099a51eb1ba2a780b2e04dfeafb32deb66e9c5f81b998039fd815e2462175976ffd59a8aa9200bf1d0878fa7f9e3e8ec1bb6d7f5786644db73104af296c5795201a307134004a90b44bfbafbd1228f92e9b366b98fdfda1183ba7cfe300daea8a858352fa5559069d0129e896de7282f1ed090bf1a8ab75f2f4082e7cc3c743602d18323f3563df1886bf7fabaa273c686e2c8ee77e7a3ccdc1bae6ef376f74125ddc001e0ad55659b664059a65729558a1853bc09d200ef41cc9086ab87c02008695c43c972d68be385d247d5f72e47785a25314e46b8a8d1595eba4267f90e16b97d9d292005442cade29d8c75d34d93e1138280d443617092432bd060628c0e67464f59d5c87544f51e760f00b100df3ca1ff2b88878416ee21d981d376351af9bb05633ce3c6f64d7acda2041ce564ac1df2a0cca16ee9c2664d3134050b692c7f8c5712fb04b70d9e6a71f20c81130de76369b79e0d98cef5197c54e329eb1c346e1bcca281460a3469e5c72884bdcefc8e16b4c8a0a97b6eea1e9776e62083e4b56523e6aa069f3f978a372df20e6f3eab1737ea647855b79076e784e3946c9493be8c85cd6fe2e64a250720256f295e8aee61805b43b547c0f14804e0aa11ad78254d42bc54d8e1a92e9722bb3b0822cf3165329e34d60d9ac2af2490cbe4367d619f44aebe64e2bc52831a52db28d52932131b6abc5c8714ce0c7d1137a494852fafe3f458f4c7499245d62135db829a653e6dae9823311d382ebabda1dff5cf5948bc960360db7a787248de3d2ca26a67dfa062b93d437c2f5fa71c688a51375b27237308180d987f372a19896e6dbe3912455114dd108435197c378237b36a5a0a6175bb0023408ad72f4a9510e735bed5ce1320e6b705ab5d9306ecd9a935e62dad769910b2a74a4720d2b9da7ace4f8fd188c7032c6f2b9f1b50c3a697ec6192fbe98716569748a6bf3e914722f58dddfd4a820d12fa9ef85edb18d074163f342f95b6fb806b58872b65d67214889284806411cd34fb11d1dc0991afc46b5f5307666f35432774072edf56421b14a0155403fda89b6d2fd903268dec22904b2f8dab6802bab0588725dc3ec248d97e6277d8d6989ec1204723500c4240f63ba45f258c95cb236b97268c5aac952447959209f40aff68b14c152e34ffffc6c25f99da57901191bf95a74bbb067fb356ffefcbf7d27bfedd983aac6790726f9a5bd6ccb495cb42f86722067a2744c556102d98838734742935ed55b8fd03a0485d02b293227b8fc4672a9a2710b699493f566d85f16a4ee8654cb626c386ff185ca00e51cd8e985f363aec3dca392e6bb4116742fb7b1a3fa7763a3eeaefcf6612b53d09edfc98455721d803498e3243843fbb87c62642519745f3688f1e1821cedf2b589ac2a5d2e6866e32de731582ecef5f2ca83345e4e68447fedf253c1759e70af456f5dacb672bf7af369061f65dbdf550d6f41e0c32e2c6a466bb62daa7dabf6581505c3ac7249680e1d4d78de4c527b510e8053c43c4b991c776d880fd1833df883e05cb372c7e61af2262a1403cc8ee8708218f22219e996c4cb237e2a3a31e13b9d92f872d230b901db4521982ec892a31075726664b7d89431014f29dc96dbffab16c67215ea9ffd1715456839436148aa1b5166a2ce7d5a5389d3027c071ac9b355147214ed06ae1d57b58843303de750e1f831d006b07b9ee96147bbe59d56c4d8187246761e999ca61e655807a6990999066a2165f5265abd9bde8a8a719fd02f3c7252c24539e7a934a927045f3cd70837e2e86ebcec7be959fef06a0f3279f5ef0e03cbe36707cc3679fdfc024c02ee210a4039a952714c9275ade176ab91da4d72d42871852a1034d67fc7ad68ee3c7095ca72cc0da217bed53306965cfb1fa9310a989a4720fd7934be7999020d41b213e2f125cb69dd28064ea4a1d0fc9b624b57a21641f7d643b2390e73486fcda1c6adc0f387d74b3c5c80323d7f116f2f72aa76efec1e12167249840e5a988521fa733f45b9f1f029736f13507c34d1927221cc96302779a3c3c726b7691625be2f5fc58c1834c72695b9f7e89883e9d67221dbd359108d0f2717a0bc6f85c1702025f2c4450716bbb7cd64fc123b02e641443d4885e84a635faae0c304165c32268ca91d10a49f46eedc807c45dffedb729915056cfd0c7257b531d8bc83e7b320815b7ba5633d27181f1ea4f6bd321b7264caa1110321632d48ddab5f716d8486e4da48257fc37b4b88568a6241d86d46d45c19e032647e76f30b62442357a4b05c9161f6a8591d6e4a74e4f7f17b95684960f7dabec9d7bb3eeb71f2ff96d05204c5b88d9b0d9d2ceee61a061184662516912282c650e8c35723aa4d89a0b44d4063bffddb50e87d1966fc05ae679c3409d8279cd9411364f8bc3313ccf40b8231cd290fba7c88342f945f77cf0151726441c58fd8105cb8ad9761da8a53af5ac27be88936cbee1e2fe3f8150455566aa6e6ab7b1c568f686ce0babbfc54e49fed8766c4e0fba7d79831921ab0b03b7224cf509baaa9d780cca1ab68e91312fcd2f6af778ed9040d6ee144463b899a63327c3fd4d577d771561f195b120f4eb4434da9d458879736f5fdca40538c0214115947a09cc2b00501841a576ac84e5eb71c3793ec0f7c9d95a6627d5a159372588ae6c46c58152220f6e0b4b6ea00980d34132e768e2b5ac306dbc437c355720839d2fdb49a828e1def70dd4246a8eb65f9227f404358fe0abe0effe7cda8635c919f3f4476b0c61be50eea8c2e8b7c30d4dbecc30687df93ee08642f0d607207725e0d59bc3bffdc8bd715047add1eedeaacfc79707ba83d8326783d933b72303642a3af52cdf7a574dac13f07949a6456cbfbfbc4db9e4f39f0b9913d7f6cf5ed633a6fb60c1d14775101232a6f61057de905f725cf7df2665b53012c6172ef507a6e9cb21947d48a908568b56f10abd27eaf1ff846eb7ad05f853f8f9e59e82b865e62d350b02fbfff52dc8679e856efe8f291fe874852a5d9717c9efc01ab17ea8eb5d10e8987813bb48cdcd8aa1e1ca44ad6059409b0156c66b425ab0f141c050a8c24c19f5ba98f90a22a96aa266c74a26a55ef2f5136e58573671e72be8414ea329eb71d8544af044c1c89fe8d2878588251433de99f2821359f806e7b68454a4eaf6ca227069fa88307e5a7a130defb1b1817ef69638b3c6ab34c47c47a060872377bf94e7e94acbd57a124712177a6060c51b05bde14434c0a7e6688704e63cc6a8714e6127b7032a8e4ddec84a8cbafdbf610023e2324ea504c7295227f6b390a1e460a69af7ca2631dd3c2ad38214194c210eed928faec0cd31e43b252f254cb05847daaf66ce38aa524baa613042734d10e7bb13a34bda1841c97d05b0fc8a2497d5abcb28e83d1bc074cfb434f7a37bdfb9ad4032a1d483c2e8112292cf030f2158b2d615297cc98f8806ebdd46ce2ceee19947a4b147b2b2066b3b47f8e63fabd8c73193fc77e0b0e9f1d14e807e2d3c89d5ada0610ddc2161a63f7dcb5bd83a396aedc64d8be3475fc41472511f9f234ea0bdfbb1c154e7276cba627d9337e45bcf453d77167461a7430ba8dc1f680a9e84377bbd827831c57f5ecbeaa13917182f09fe83c64f4f3a84ab8686752c3cae190f8f0ef64230e92215b9ae8527045e329f89cd7276606ef3035eaaaf01412f52e85697a111462362448291cf8701caae52693af551139a9a831601340e5202e05150b09d5c37202952aa656697ce2b72f07625861ce7a300298622df29ac8dfdf83e71a8bcf241eda292df5e8adfcbf7ca54ccf2d4bb670cc09ccab5f984e614264fadbd10072fa27fdb092e98987e388110b53ac6f538f8ac4cee213917253bebd6af2726772c825cbf3635114e3a8e591f5a0e1d02ce8babb3d3337b0723d1c1bde79bc305f0e3a50c137bea8f3fd7a6c17eda287e1e04e43050085c2b0a5684a8282fd7a72fb90fc97535478b9073cef8bed8449d2fa18036d4b1f9c6e41c9bd49cef11e72d0f335eacd762347d285875091451192329ef586d398b5b3b045a5d8eb97607288b9da6bbd2b06b7a898a96948d048611ff058abbb7b820b76ee81e4ab856e72bbcc1adaa9f862c4bbac0e7a176a47ed967dc733e2db7437f6f5a5cbb0470772bf6c611209a40a92ed0e086624dfd2f1666d54965ad0b61aad6142b2468e3e4f20a074f641538d74bd5a4ecfaffd3fce7df438bfb797bb94e25a029f399b06727600ec2362c2f8e1d5d5c1f0c74aac8bd46a138cd4df21743c79cc64c7de2d72e8d4b580b1367c3d759c123daa9caf77e2d8f1cf9dcb250f6e4af1652b6e5e36396d3d5db01f5f476c1318d7a97e5b591e4cd709cb412e13f241d353a795aa1f73893d53d9f7ad538544021b57189e33002d0ec54d37f57c716ed83d4cd5317293257517799ad152b42da428a6dbbee5a34442330143fc887c02b0e997901c7229c892f960d7d4a1764abea7927bf72a808c3774d263bd67664e9b139902987227343ba6611fccc82128127c91689e953ee6be1629737da5f1ddabdd448dcf7264c18eb95d711d4d4f71b6daeb765ecce9c60ba28b29f44f74e600ec1d52092598d43d2724d04a221c7ca0159104383da2de746a7006023b537260490fb0c672c06f872192eb4ed18cb93025b9a11fc23d907f7cafb9a7eeb9c1215b767feb33dbf23278b9aaa0025072151bccc1b84f6a4254818b8455709811d89ac5fb4e522cdc0e47d11d575cf3875ee6e0a1d837915380ebf1b7b8ba48df6fdac58d9772c28fd63193e4db5e0b7136512877137f83051a1f8f3e9ae07389000053ecc2724ceab3387cfaeb9437e461631c7aec2583d90c63e0b5b33531e0e32f39865670b63e0a670c34a1dcdcc052886b494fcec50931cc433049d2d282c64e195921728def7e60b1bb38312fcc0fa85e1b9e50ede1444713188e840d72ef110db7b6727c8a783611385c2cfd65c4769818ad877a50c75f06eb3f7a7b444a04f946177214d6eb9026e3f326154514145c1e7ed4ed31ce3ed9b2fde9b7c8675196f90e72eb453a764d01977c602d4d0dd3970214b59b48f4bd18057d867065b39da192725a7aca010fcce4c27b4bf931a7ed000930a0c57a3abf65687005d86620e40c72716b2fc54d367514df9f88159dcd302d2b41228ec0f71ad659ab56c65d1f69723318a1c9df0e27e8b649fd5bc7701e94f54438528e56cedeef2471f1c1b5f10a540a2b84007150f01788ca78ecbd9bddbd82145197b62c010198981de2f100725aeb480e6e0a6a863f0e495896a3220f4fb5b0e4de9861cdd93786920c9e25328853777047f8b17db92e432941efc55818f542b5974d1ced27b69e0c40af55728c1f20a798fe2f072669e90d48b9601f5784340d3d88aabd0568ce44977eaa4f31381ee09ce3ebfe226e7009be19905da2c42faff8b3c438d792a487c06981729feac8809c1e04b82dde68869b53ec52c10019f2127c3533b8a98775ebc2eb72d8e82de6e5b3c29632318469a89bd59f871c164f09f936f91528097c902ab448df926b0f5be65a56152b38ef3ac6f13d5bbe99a8d508987ab8996519272c022fc30b05dc128b0d78b48615edd05dfc599f575806395c8ff49bf7f55fc9c6927235d7a447504a80058b350df70a8f5c11b290f66008330b69075869a7488d1f002c9dee70251037aa899b36cdf89bfa92549169a93b1be2da50b10961f2eeb972b138d9ff26a10fd2a2ffda4a3ab34c55633e5243bf5af0127d45fa8459aa1b7231df22105ae3d57814372069f6a080218e1f5bb953028631782ec54e48f774727adcb84178e9b4e114d4d725bb8bcda7152d04d1f93c86179143a4c22e9e2a7206f2f05f54a1eb64f1682251e9ccd4087fd08fc2918462469a30c631366049727592c494e5bcdb21245cddf7de9b0a0b2fa7451080e7de9724a4ded677078b7296309c545901efd3d878f3533f8713869960b140a2feba1ae5e9d0db5378537209cc17516fa2b881afc960ba79cf0d21c591be9ce3fcb43c429c99a35068db72b251252b0b377144822e7b43bc99f44c6cadd501eda9b7de1b93a72cc6b682729b666e8f817cf16bd023719d42ce387380ac87d2362c4f330e4393d4e8ace372d93f0f6f3a60b204844160b33aa064551203d17d52eb759676b66b4c9ac5a272ffd7ba87a49293094b706c77b137fbb39bde5f51513d8fe98267b96aff8d011123f72b7871743f690ebad75d668a80f8a8903b9ece9eaa7f3f51b4f53c6e505e3a4a29ea6f959a90e8d2b35525627d75066bb5cb804273e2f11c9b396e979e53cb3a1ecbdf48bac967d5bd13c8f519f0fa71bf52921256aae09feb50f66dd772bb147844f187acba7500bd53340cc37248e98b95fff5a04f1797a9f2a2537072bb220695f4ff8d58afb7467960e8cd9a6b2e8c164e624129ce574f42d283c072813d284fee66ed9967ec06d266d24861416112491be50207d144d7ec67ecfd728db4c18d85292c6cb1bd3c77a39b5c81e2fbc2e534f43ccad2396b9109365972a9807c78a0213ebc085081ec358652a4ffe0e6f92cd03429a9127fcc8c2fc4728317122ec30d5977a989b93bcade56f9bb8ff3900cbd1fb20a09f3d2209e353c0ffa335064d866ffc23e5d7e696bcdc34fd77607d42b3f93b714fc7882ee776f736fdc8b66be03331ba4a872bcdfcff0a0cc53822f497dd3509e38a3d340f37285206ef2d8de9ed26d2e7e818766bdd0176f62aac9bf2f802939425ed7775c72f0197c9752f8bc6620a85801c895e3304408f87a2ba43ef14513a3b98f1adb4ccdb4c1021f5e2c46c3d53b32e3e44fa27293f885d6ceae98b993be05968de972d0edcaededeb1b57bcdf0fd1f1a20679ffe668a7db111062540b306e84ec0f65e54c7c649a4c716b6b9e522107f37185177d64b8a5bb172e6b8a06a3779d187233b8369a2a6102b1438305922f9c4888a85b7ed79794d89e600c4e62d64deb0c8d6a467db1aa0dd3405841d6980dbc98ea33ae8ef2d15e4513e730c1faccb87210b3be463b1b07a6ea2b88f7de107532f8a4b3b6ecd11b03a935c5c410a58d7214b8c331ea7b54684a800a934772ec45be5fb726c094c85536f7c15cf3042e12a3719cb25767f76ca4ea7d5c7db9c427036e6848055459b56fa6ef021de78b518b68c634ca0769799a9dcf3f327d43569523dff23001b36229716a7678b08072d51473ef5a3c0646d473b28d4b81bb946f2ca8f8e1ea353793eb59690d169572a0c012ced19cd4bca26e241f4a1a4c097fa9a16e503851c90471b64d49d77472270793d1188a1be316baeed5d412f86f925a8248e3540c527a9619e06061eb3ecb63343eb7f6b28a41091e6178220ed2f981b6509dbce58aaf6ba6d6159b31724c85e2740a563e980c657e46bc76b982f73e9d8dd2c5f34bc851829c8cbb3372706b37c14526cf4300482b3aaf8bc613c3bbe805285e952295e4fc143a802872943ff2a089f053014dbfb0656360157b7444f6b77815708276c1a365e69eba03a917a35fe1e85c24d1b16c2aaa52288107286852863109d34abab3e64b047c4f14d0521c0d87d75d40d58b10867a156060c14b9299c672a39187116312ae02019cb580274d54df6288c34ce38350fa5bde109bb3c213441e15ad4ab6aa736445aa337eeadf4b1e9dde3087b37be6257582babe33ffe1b1fff6cca05cf1f9ae72b2a78299851476697f4f56fe4e36da8685783dc954c9f001a56f716925def12df41935248c72b356a0f05c28f89c61a4a66995d04b1001c7a48c0a3e3258a76d63e13a5ce522870af41c72d7ba4c639e5821d5e20779202e4051ab08b55c3172ef7b7d73a9053b494eced42de77ae6ca1e581f8f3d7a52902239082173c9236cc56646923d558e73f7ade82516d90be6cae69b27676d3c935bd850a13632aa72a3b621c5111cec897f7a6ffcb7dde04bd1329b3a127167378c2b80b0830c5a72f9592652cc826a6b709798a6c2ce3f288d07de6c8ec813f657cbaf933c1a3b7248679e2d6c9ad5b8b4bb9a85168553078bcb4b7eb0ba8a7c4a617ef6c9f74072b7dbab0cbb6668e62048fd6f83ad87fa803a8d8935b3ca323f9a7ad32995f360b0e269207e3124653c4ca6400c993d4420622eccbec416e158b3512255fea47253a8fc56f7dbedd731a3b29e06fd307a66bee4bde9a51d10d4436f7404aa58475685a94640a110c547439d0ce7afed7d3f434bff9a87eef59d1297117b9d33723670f86ff9d508897a89c6c861184f3ebf8ea163581ae7465be28ae9176a5e4ec4a426d644a38b995b3c96acdca4c7d9a6387edd4df4c251fac85102f62a1d72511dd1582ef0a095db2491761e2d1b152ebf8ccab442f4896165a4cec2cada72badd3824e9851a61c94b153a4e76d8351f1fe90680043c752bbf2153495c3172ccdde16310ebffd7b237bb59fc779daee97b3e20540133a4aa7384e3618b6e4912e663e6805e58364e1f3a420e2640f297ce388815f06f0eaa3e7edb5b6f3c72803b8f97d426a09a5762bb64b21f4540cfc2613f875080bcf113e193b2339072166b88250b866edf632bed75d7e3e4c0c32768fbd6646e2bba1d1f18923586727fa5f29405aef9e6a18416a17d4c3a6fd5bc9ee19a4a220f6c8803ee93901f22d5e6fa378d02c8aaa4b75b333051000bec6706bda5795e43505339326e7eb63fc833540c75c2606d4768bbd480b3f1971159e1114cabe632a183d66c5626f103667929b055b9320924e748cdd97b9c21d5a7ecb82cac8dbcaebf521681803d7259368a004f053a9ea380b412dc1acb24ccdd9d6c7dae2071eb59d00555af527220d2afdc1a04c58c311132dc6c2fa93a89c8687cb76c0d53e5659afeb2df3c39c3a79578c93d50b755967b879e1ec19f4ff86d1c438edd3b780e1e9b4f017c023e011c209511df601b7d379b74d819d5264680200a09ea8bbf6bd8b92c1c3e72706e3572de2ddd183f33a8299c1de72bf2769fa9a9836a913554072633b1a172b48dfb61d70419b07517cb6d8f3c7f42e2f808de61a6db1486cc88000b1a270d9807644876a53d9cbf558cf8ada377bae16b81138ae1344642e87801c333b802ea05ec2f9c6aad6b0c29fa1101841d8a68672e9e47632651d479bde033e549360b968436362503bd0468458d4548388ef515e1d62846a51f86ac532b649aa3572a08ddf9106a1ab4edfe3b43bf2f7d8d1f42e73671d2fe23293d48ce20cb6c663fa47c281ebb7bc199939b3eadf38cd1b88d4ab1ace13f314e7dee4be862e072238301bd3ffec1cdddec6caf1b165f2c6d5fe257dc2afa262376c1c39b8e5f2bb97c6e030df1c458dc7aded123c0143adcbe6e64bbab20669c7d8b9dbf93016ca16566eb4fef98101fd16576255c41244cf08063381af32a7ff4cb63cf4e2772e9d630a3ef93c578886548e80053946826186a252cacc11acafe2685f4ccbc72a133391ba64aa52724686d2d2e319268c8f5df11c25a6346a2e40ea891c81f3376c112f933b79f5a81f01c97729bbd05a0d6c315e73e8f1a36ead77cc53f3633c28a9af155cc4f5d4d12abcc1120f5589d99ffba30cec4174d5fed868299b872899325f84df0dcafde694e3b16b103f25e1a36afe2f793c3e5000f3c689c6f72d78eff552e5dca3cb6bc218d3f2fe2f3c7ef117ab10f69a655d951f4d5c5b65a0d225ba27326cf00252ffff19c0e13f60db447f43c57e408ba30f2ed8dce5b720f9e3184a053b841f23fe74b015f0906c641f7284965fff46dc6da23cf3ae131f39c406dfdeb690d207df3a82d68f673eef5aedb25563bcfb212bf16d9e30f06cf73c7b392068c9e335ec51e6fc0ea4c4a1cafaacb8a8fd22b0c2dd3d02e30722d47c80e00f2b4271a02d7ccd51d7082493a7dfae21b67cc1971df903969e672cc427f5afd8dcf4b232e223b325074d6c76c2c4262f9833831ee90b34765c755182a3d5cab9aad4a5a9d5b28e92bd2e5154d5506a74d17a2ec31dd5b3538a22f6f66efc15737508d097bb836abc1c598ba3b5a26f3406dab42ba9380feb50f3a17d8ca28fa4ce317642e6176c466842c134036d15e062a7e14d6f4293f1b2472dad48c7c09d5ca3220a305af1931d216fdf69495c28b34208e849753f41a4a72ff483015636778f1590422b783497539f619e37bb35b8af95a6d1151b1557d720d01ee690347d902b15c24337cd07362fc9175fc0e8af7d8d359507f239656063537b000b404832daacf9f52223411b7c5cd85e040e1983c1c20506b48ae82724c6cf329db983c215c055a0d79685d7825e1cee7a14002b57be819be2083167221599731ce1484378a080054b9744a8ecf9e16a56c803b76d0f1d9dc6e039a60c07dbe31a4761e33e8a41b4ee0677536cc5fc8c6ffabbcf58e7076ad82f2c34123b428bdb2f416e278d95474dac5049bc358614f05365d605162f371a6cb9972effe1104b2e87352af8a41805e0a227c556cdc2838d3187574d78bcf6e03fc729bfc0a800de7b915dae7a9f3d359536e631729f2e9454a35778a141d86661443f5b3bf4f402b6bd082fc83f897938a269795c80d4bfe342b46bedafe361bea725e99c8f2fa1d00c8a4e04a38edad9eab6267de459fd8635ce205bc92b2e488037d23559c007cc75be45e8cdab2c8a7d261a3ed32dbb47bd052466452d60d1c72b86379a3fe62051388567b339cff455a276e7d6ee5075af64bf527469a616049786070eef366f739e4787ac52429dea53a215362b0ffa72c94093df7f751a4000d3df81ea4114ae64f93011a12f52f8a876bd43ceddbc6304cd5d5d9a9360d48d17fbe8fc814b97ea1ddbbb4040bbafd486852760bd15c285206276c6f0764729ce8869d2403c188b4d42174a4e1061bbd10bdaa07082ee64fff0c5fdceddf72017c41bdfcd4f6249fec93b65ca7c16df5ae74b785702b1fced08b6275c2d3720f1869bd31760ce1070bcadba0d63e784d8392b50d58fe1623fb1f1168a51109fdda4f64fe875f1ae75e3cc847f38c5650d751be17c4d7ddf81dfa64909c9e08ace438acae3077aa42d17bb71f158579efd0cf95f9f7db79e3c73dcd85e27023c9f11a44e5d9d17f23b7db24e51cea9de52a571dc097d1d611bce41a94e66672054b00b76bdd9f794749de5d6234bd995800222aebf8272b60847bd4190bc852c12a3eec79cce9c1e5dcc61ac2b3b6102aaa261bd5c84152bbb132ea2e64fc564622f7792183b4fe11458488151def5b087d824f368a18802ee6223a2bda76596759423e20797e0c5d2442cdce175725cfd3363836f8e2271d6b3d0c4622c4726c42dc39f1565577bf99b8ed9f8a269d6c23e1b174bb5768795049d11e901d72f46a90f1faa4fdd1ac9229a6fc62a846cb407a173c643037f75776f8cc54e24e079728309cbcec6a2c2c94bc2db6f1b58a83e8e2eaf986a3b21c6ca14348df31d1f47911090f9a5cad687f1afd0300ad927b89799d0e2b5f621ecd74bf5d9645771da8eb42a6462914b2e2792ecc0358f7bd1dc4c9c12fb1ec87d5b834e30472e736470b3c2753f9f73bd2b4bbd2406faf19aecb0474869ec0966a4affc13572e99dc019a17f89cb5853f92fae0ac041829db1bff1901ae1949532d7247c3a5a29c6ac8307805f55f66febf28210f2f6196063f8e7d32fcbe4a23aab66043f5137d91844c7548a69c523db29c76f40a6e5ea71a7a26a7185cbd60670001c460aead27e4a11f0de74b6652ec0ccb079c459c53ad71d6f7a4fe786f7d99911b572dd7bc7429462ca01cfa5b331fa4af7e6ad787463d5fdf5406555d0f4321f7020d9847e1d9a4faa12eb32c08297668056cd20af424c6dae0b07b0e4bc24e1334cbffd3f11d948ef27ca33cadb3280c8364392394652a378371c3d129559f7b041af70b7cc30aa21aec0d6ce8bcc955f8887a952f6980622d4595f0c5a55e159723b4d6559bf6f98141741a8d707185ea416fb6bcc04a05d0a1847cf78d056183b428443df6a1b539bb9b1eaf0ea2a6dad5a4361e4fd024301703ad399f8f5227248f888828d0f9175298cfa2b265c69cb7b809d402ab11f3ed6212c24fccd2572c8e414a8993da435c641cc8027d2f9786353f15982dfd6cbc98fd18076885972f67c7e3ec28fdd232c0b34ae10ce126453a29f4d6f97696aa1c6945fd443bc72d8486291733e003d358841ae741efaab045f2e7b1c22789b40a3cf0c989b8c72feb645b5861ab9cd33c6fcf70ff05509b0d44fcb68bcddc7ac0895a4cd5e127286e586fa2599694c13f02c50dc3259a62b3a52592b942fc07a3ac31818292672294364f398958c6b313c769176c44fea9c42e982035442fe50ca479038a1bb53b2dab11df120b59ab23f5a20e3f90cb01553a92abe947da1190ef2b1046204029799f162c9e9b28957644897605d8b73b7eff73bbb875289c7d9d4b8d1b1856e30e0e1b1d4b070025f7ce9cabc613c6b49fd44f16f6120e71df433d0064d3572b24a2d020a4e92d5eb77461cb829a3abc3e58f53c36da273597b9670bf413172eb80bcdc1111b7d56751f25cf5164ffb65bc8a8aa4211a98c82199c486734f2632defae9840f38ffd9ddda0605b42c14d3807ed9dd4b764cdfea87e7024939727f34a6ae0d784b5c9b2fb92b76dc95c60c43894d80e876791b1f9aa70bb0c072557e41d7b878edbcd8d4ffb87347e6d3e30a4c2f8f3bfdb4a6563ab62f238a726fbdf2973cf8a8377500db30e37639417071e74476ed82894b87e30df398936804db3801975d70c6225b13774cbc1e265d39a23bdd39866cd1a4c99a4251c246f68fd10a005ec0f6a54d236ae592ff2d630ac0a481c639b853b488764d10474bd753f33ebf055e856b46c7c7201ed107409417bd4c2cd9c7493ce62444ea8f724cf5614d762566568ece39e03385d7046390b38e19e27b23cb5d8888b5bac2721afa2738bf86ee712bfce6e481c49acb29c50eb3da81f7ad389a1a07e68fc8727bad8552e022b4a645cd4725df5f27d6331f256b93208933afec74911ca1a372a8ddc668e756cdb026917a6b6672096f3a5ac5fc4bb9470183d8c3ff40f41155c8bdf1d1951a66052ee7853ace7accba79183922c3c3dd809eed4e44856aeb72eefb9bede73f747e5ab4ea0703cbb46977bfb2e7c896f9b1614a7bf569abde1382d3094640e49d17315283b177a8b1554af5199d74cdcd52155fc05acc535a7242350861273127357c52e4bb381782cd6e829451154c33ce5911e2bc6be00d72fc4875943def905d2142e276776d49b5d8566508af78494d1a47662f93949e42606d1d31041be81a8f52da476d2381033e1f856a23cbc22b6975d0a8906ad672dd273167eb101334a1cc47ab93c8b7db17479f509ae4cce4ea450c63a1ee3b7284629e8775afd2b2dbc68bd6167f33e2775091c0658ba8322067fad8fbac5272bfea75ad8218aece5025354fe9f72c8234ae116397ce080c281d387b288ac372db103cdff16da23fa15a2f1d737d2c9e429f2661ed54a4fed211f40d754cd27249e7950fbd3c34aa40d24c0b9bf5435524720c8c4235767243d5381b8c767872295e1f485f69174ddf1f81b8283081607d64c75ba3c5aaec52206a764de24e72fa1203ce8b9b271623c342acec6de5c66c965e8f9f6f1611ab608cdcca4ea451122f445c99fcce41eeda8f825ce895799fe7075ce78670ce11ad69ba98ff20729b4613884cad6d68e4c081241f5d7ce3cf3f29ae43d1095f8e9d2acfbead1753c5fe4b74900a8c77ba94d823be338d1824c0b269453b99a651952cbb1dd38b72c093de802e2ff351f5dcfbb6c218761e634cbf3398337399af57d6bbecda661b19a5f203c559a3a509771b96d55853c4eb08d492ea42bc3ed6dfb6c097ec530bf664898b5b32cf8e2138dd6dbadfed82aa65a0abd03e9b23c76b4ebba339bd72970e0d0ceb71f2c529ed91d5067d3b9fc0e78ebd91d1ac60e00c63a412a8e5729b8846c936718e3906f345d5c3f1aea89fc4f4bab5297e884be20ea3aac83f7269a5bf744c6b805c2aa5a5287af900cca645596377e2a9aff33c621b34846771a064041d0e455e8e4f7e14c5a671f9d2937a18b1eeeb656c53ef2f164c0f2a7212e7cf7e51b2d6816f5ebac08d2e8d681fcbbc372a20e169d54d51796aa79c129d38944cf3489ff352179d39b713e2c221baf14fe0c5baf785ec10bc5503f152428ed3e6c3e7ffbbc8cb883b3101e6f06640891406ecff39a8e0047c14243a729a4e9cf317d202018c8df01ec1fd7df5869022516ec0d54217efd915a9f8d072a5f1e8a093d3010b8eb68dd6b73530feb132c74e48314fe34597bce0a1148448ce2df6022f2378f7abbdae39ceafec662168c712cfbf12c020dd31a29e140e309da4e9af85045730fc063d9bbf502f65244f0f23cfce6b36da183974d9f6e15acc8664961e2e4756c4353992492c83db54b28911431c9730ab359bc32d72b672243641fe378e35d714286f36d1be1de9c9ab5c3a261e817f3faf419f14fa931f4ef08200b3c3a25bc0fe06750fbaa1d4a8bdff64a10a826f166e5e5a3ad12e72f808f4706fb6a178ff4b3a070bcc2ed0fdc7ed6f9b9ad4782c5a75aeccb0c57276b88d2ea5562a948dd6ade5c02510c36e072fbc9d87eccc9c693a2e465a1c72db6ae77293f116966647d8ee14aa0aec3f6e70727073540e30dab69baf6a9572e1bd6e67aff554a04e0ef02fa81bf701569569d275e987fc37b503a133975c2c7a57c1cc9c4136320ecce49473fd143eda54810f78a08f906a276523dd30c770fcabcf8d372c5b5b0cfaa3812d5db216a0538ad7c842cc6912cc04bf36b07f4945a83e5ef9970fc2e598ef25a8fcea251ea07c1c6a911ecf1ad6255e1e87a409109faa5965c9f2da232d84b3c33bec2558f8a1cd0b8a76b2fdab0b090d2e4216bfe4974423eb1eb4059c25cbfe6baf270006d21ec411319a7a0b17d89a329b62e1b6cb638c546581e9e3bdb535dc15b41f9567a648401877b7b7225c92151123ca19e2c0fe4f4ce4c1cb251814f130d42c2743a6fb2f15dc2e06be8dc0d7cf2a0ae8d30d89226603840fb4f0803bda88a6695737d6b54118178c08bf7b804172f55841a3c53267f04e64e3c63a9a558192b4dc3b2389d103374d41f01941682f88fbd8030203a77828d188bec622eee8f61e0c1c10f8620179ca55f84c940672e0a41e7b8b0fa1f6d35d405b5c923d57d747a9f494fd0644470a1b8fbde10272aa9fea3ae35b9e187e665316737a854aa53735d5b19f220076634b03d7a58b72012215568cc6ddecf5b94c00c7788fea75b18ee29b7ff4c538638a580327dc1b6c7b965fc4f3f053e5deb843d603938c73069ca6e664d00afe62f382c8516f72e4026f712fe490ad7dab82492008a676f4d065ee7604594f1da1bfafc2b60023fa1db27c661576e320dde24a2f6d13d4590c3e53784663d7507dc2920513585dbd92777340673444e2fef6d5a2bdbc2f8005557ec05e843851f849b253cfc23ff4a23eaec86d438f15d4fb84cf7596294b57e9ea6386d0cf89f2ee96e79b94726567f16199c6659311058bb760eddbaf84d42bf458d7f9a2af81b2b085f9fb7245f78ceb3e32d7b046948916c84de8bc1bab2b96e7d3fbeb11af05d07ec89c7233dac13fa20c62fbe9031a51f45cb1c85747d88d7ecd7284257466268863c8106553480adc1919a8950b92506fbcd3bb82202dc3a91a8c74cd70d78cd338f14a4d6084a354624d382618ea347d81d6edc4a12f65c7d049c26a1ae63b62b0cf2f7dfc2a016e64fa1e34a6673877c578697e28a574076f13f5a5772e74dddde263f39589e7bdec156f9151b09ef1c413c1d49b50d1d4cbc2b0a92c5adf392fae723d7d84e7dc4406061e2fd9be043f7aeb733bca49ab5420a98404b547fa66764a4481cfc6c003191c5828aae266ad34681cf491fecd7c78d309ec757b9206ec721179416566eaeb3f1a70d0462f5d45c10b263feb3a7692da6cd3d777744ce13ae0b0b21dff48c3e3301bcfa90666af1eb6b2ce558eaa69930a963dfa07db484015954e35382af49a2fc15a6a841c306cf64e837c282c6b699cccf8751e58fe2a12bf8d8cd532a16da686d4bac0c6ed1c2d4f7b7f09055c1d02196fc8a45b5c72211c470fd4a826dcf595eaf4fdb2abe548d64f24c9f86d0018fd2d41ddcbb0501ce8d17815fc99ed29adc6983ea5f29a99492d2cc3f421eb4b69999484d51f57a1c442fe2f1c6b2ad82098d87495abe388e9e58fb57d7f778ea8610c4946fd587fc6a66adb8764dfe9a497b5e34d6bc32da8f96800d75b3fca87c7624bd5d072c3cfd4dbf5ebd875dbc58168c5a0801fa0691b925af6b30475d64a29b8fbed72abed18106f8ed82d08f3c090c05c6b492e28c2a7641e6a2d3997df4ee7ed4135fb376934c33b5b30916c8fd785d3b9ccd7a4e5523843b72acaab5eca70abb5721c41eef68e58bf6b69b1d275a6442494d98b9cd195f1bbc2eba70dea05a7e50745861af3223f22091e31d027447d2ed2422a30dcb71a864cfa161707b091d772167452c8f76189925beb22f0f7db8728a456c4319c1f0e1f7fc51474f3f8d807339572d0f53477f5ab333701800a561c2a9e1ef46068fca0c5d40010bfc9d0729f192554f9e7ba1a07d05b498b7dbef6453c6ce7eefaca86cc0ce0a8a11eb5408aa4ea08804eb68fa760615fefdf718750beeb68a2535175f720cfd46f554922195e3c435529aa8b970478e635cb3e8751fb037f039dc253a5b7fd2b2389c15a588c2ba60504840d6681a925b8754c35fbb7b06824acf6ad8d02fce17a424a72d81b50a3b70e67e0cc1c0410b803f655dbb3c4de7ec96bf57bc3551ceca900222e5c42ef5b73358400bf1f536712f063a1894112980456ab3c1ce9bb754aba72cbd4522c46507281448ee8b7702cf2a78122e26ca4c013effaf6f2253748d72f70eacf9c5076f9e4e1c687b853e6a93aa361b2ceb49298050de427af8f425772aa6957d09dc6d6c46154b0fe351e3daa4104460d41991fc5fd87df2456d6e87296da62086be4f739715ccd45a2056053ef2881c4c5344f2c05c4b8c86df2e072fb385ea6b7f6a2de65cf8a33d7779b80fbda8b92e8374ea5775829a65d0c0a725571b6272ca5f215c83e47eec66129a3b7ad67ef15e0a30a8b97bab3caa5c801732ec32fbf1b72aeb4a4d1ec8edc43ca014fe8ee5e0377d366f7e10249229a5d83053a4d60834e15ba87bb7ee26d649e8679b00a138704c28442023e1148bf72d8c52de42f320b341c377a139f7b1c26bb92236ada2eeeb612e5df0d5618434027835f364ad3931f699a4851e6e1936b4e1e5e5f27e0c00d06d92ed440c9c6108ee7910345f97e1b5cc63648b3416664bb7e0a6920d30c55ed555ce239beae41f76fc21f609d78583b131788edc6a4ea45b1b8049dd72614b7c6c17b4d357972b52f2ca13e262af1ad6f8bea337e7d4a23d30a04d3e6fc4176bd9d3adff2aa312938298baaba41706fb6ea1fd2afd76d92d198580aa8acce4b409b9ee5fbf07214abe34195d335c16ae3e1c6d428f451fe42e2becf111e05115c25c4e4b3d9728de6b5c4fb80cfdaff23f6a07c50040b443edb5e0d8a6dd95bae02a6e15f635e549e8a8812f47aa3173f13e26fa06572a22b3b50fdb27c08c419a237d58baf7277d089be3c3c74609eeb5e8d754ade7d4b23f06b039329119bed7afd79231447cb692f53642854acfbf5be8e8157737129253b5d20f93b45da9b6dafbcc80f2961743ca1aa564749a215294ff53f55a6769da6355571b75ca9eb1f57da3e085027fdadba71a57a312fd983772e07b8cc745a49073c7ad9b0ac0014af71c49061fa86892c12444b119b1a2d03507aed642babf37e5ac9eb28dfbf22d650e8857205722e53092d556acbcb7eec3c172e9e4a985d0e45ece6c38bca021805f45e155856c690ad7b620be78f959647c6b8c640794cb9a22c25a8abe545a13866f63113b4cfaacef50e249973538d9f342ce98b66c1c0d6ec26b4fa7fa684185096510e9db1190b663c96fc5bf4d1d4c0448729adfea68179c4fd6e65df5804344a72969c536b46e8152a6798ea2c6ef56f94f1804d85d9ff4f7f1860a021ae11ee05134200e3f3410e7cf804260f15109649b376368e7250164fa697e601f897ad72fd9d77edce2ad36c5d061837eb958fe3bba5ba677dcf53eb5c2b2f693173bf72abcfb428839d43d4e4c0815d27edc8d77f66170f27800c7e8f985ab7f3468572d0d01cf077f92a4294c099b603b63cc3abbea18cc5f7456f4fce71488569b92585d22152ad221007cf2356229e393a83150acf90d26e35f3750a2f51191ae30f44254fdcda4e2ce1829aacac076a4fb2633951ee11ab32b3f9a809871a5582728bcd15054e9b243037907480f0ecc4dc417ed61dc240becfa5c188e4f119e4469c9a81888b368e80a04c5314399a8988160f1f400c64eccc0a343ed737938701622bec649e568961ca192939b87d10117aa97eaccc94ef3a7979380dcaa120569ca06975da51536b181dc35cb68c30c090f7ef2078c2fe0212ea720a21b00a724a12962ec0b9b4454e78d8a7ec328eaac8915682a95c862ac4d70e44edc0fa72e46335d4a10b824ee8c2a0b5c037ecd9a62000298bee8debe59b0e2ae3282372e1c764eb884eeaa86f3212f68207bb1013bc774aa88209930e533808c95ab07264eb900f733c576f76029dcc518bb78e0ed1d239527c226453627df97698f9727cd08aa83345cce9b0b8540a1e362bb4c8b31aeb25887ed8fb7ff22af92e497235b5587102ca69404a3623ac7ce85a802fbac8fa3da92bebc9f3f304fccff372ffd4074410bef7091f51ec0a8faee2f587a308034b69079dfc12b883c63f7e7288250802e3dd9feaefc55ff4b37eafd0bfd8591bcebbf0100eca941d9a74f8007fb2fd472309eb488c4d7c4ebeb5edc5cf2f24f7a4513f87c9e2120f54bb113805ac8e23c695a93d0892fca98fb65759a01df1db6fb7f53e574cafa8b1b12e72a35a0e67f75bda44044504e41c0f6f6cb77a03fd12761a7d54441c309f93927212ca45e54b7769a7946aa34cdf819a1bfd7530abdc662340195a861813b1f70fb0fc1597b53a9da3a8addcf231fab399240bc37707e4152e40305b4d6058ee728ad546099e70dd68ff0a2016a5726b7304011c7708e1ce40b1ce8cd152bf3c72f940e6b85b2971ecdfcbba485759dff6ab51ba5341fd684ec6bb8deffab742097560c7fab6c57d42f66027fc031062ca388d653e4335ec4bdcde322cf4f748620631ad7deb0426b868a099a8a57c3e24925506fdcb6065a54cc31f856c4ae872a0ee420acd2e7a85bfce496724b1dca19f5d2c7623bbc120e425745d3e75aa72666bac82768588da5d8bee788e7cfe58d6d05d5967f4c53e5b5671c32112ff72f169c72f051c8a41d4866154a15773b9b2be853e57941e37c6c5d817f2e18d48f6714e58f87de19b5369cf5d29f21c956ff67aecaee552c9ce986e3ee851093eba2349db456c54eb65beb3ecc1d333970d6b5bcae84a89519add56e6755d7a3200dad3705e68e67286b7a7cebf06b281e41fafb74112f389776fa4a7920fa1729a744edd179c9f0d30ed4611050f77055ef223b3c459e6b61e4d984b757a7b6dcd81f649166a4c20726e09ab4ea12952e41225780f5aa1f1b522f75176a25506401ec8a8c376861e720035b859d12968a69a44f22c60bc440cacc59860f5ad72f6c9e6d3249c001dc81d124acfdcb150d170aab7352d3a632120cb3c4da9d972ba7f75350d7c3af693ef2944512553596400fab6fba62d5677e7752ac4ce49726ba4d9f4239806ddc2bfb1d325b6db2acbb90ba598d7a1d4e0b80691c5ef1671286fd4b4f24a6b0f95a3cdccb5dea1d6a3bbcbbbd77495cbb4c152cde7d8c372507783164813423d66d5a882f2e2194502179ea6af8f89b7df326549437e3c3ca6f708e2452997be1b9ba785e987c404bcfdd699e96e98b7d5aca5347fee9e727d75c712ac4aaaa33061c5caf9c2a5c31be705f397a298353909fa9bba82db7227eca0374eb00bb7d958624909333819f3c7f93f2546dfa2486733575415f772638ae00100e996c796f9ab6ab4b5b5680c174d6a55539b54121cf098d286dc2de4fc9087594689cd0070eb6e94c4ac0c4c0245ed39ea95911f2c378ef091d65d553e9e022af009bf6fc377fa49d6392f53f7e63830c7dbca5374e624836dec724f6d77cd43faf246834b91d76163d86192e8010cc21cfe558e69f5b1bd04cf72f8695249ac7c26ebb493c77df0b8a1d295a503a9c04237f126f22c1fd9215472388815d9ee350b4f0e4996e004e06a474ae348415d7dc5b6a97bae686d237f4134c9e62b5ef410d3e8f64422d2f51d9f0ef832b4d3c198bc5791424ca0248b7255ab7a59abef63847c0769b78909870334f68a762f3f8e6d417028dc8445595960c292f5eea0d9c652d61f38bb3364e972c3d946dfa100e8f59cdf98323a0d19301b679fd2096d5577a626b167668fb8632ab709574a8b98151d055d66651f10239649757773cd2b4423738ec6929326e451e4db92485fd86efca2d5a2fde91b793da324200244b7b544fa1659d3969b10cf80988e36584d514727de2442027231f0e6e5913f272385864b45fd47b1d2dd30c7d050bbbd91e3526cbd86f1ad72a9867bda1acc3b13482b3d67ea31a1b2917555133b1a7e73c40bd995f88e89721703dd410ad3acef2c7c2561c1deaae4418922fc4a64a18e02283b838280ae415b6066d55c44b99609bbc7389409e432c62ec06242a0aa1fb6e74066ffc8267267ff0fd6d15b5f6271824ba6daf54401d4fb6e486b7b7d4889973094c51ca84ac781b04aa953f4b469bc8e3b75d3faaecf82e7b082af0e662112500a85c746725592872b15f4b55c975498292de10278a50ee90e8184444d27517073daa9a472409094ab7f448142bd7cc9c953d10fffa92cb5fa5186b307029d5eae6e75cc5d63a52d20d779537f49e78678359fa5b9d850433058020130ece64e54be006c4a8ffe5723d326831c94150d93097cc3234e53877aae5899bd65d648ca113b7746cba1da844042adcd539732f8affe382fbe82ce9702cfb72cca55416a136b06680dbd1af6b33596e26fee0216ddd34c47390a7a8040cef900febff7d9298b2b723333e9649262d53a4a4719fd58cb68e62643717ca2f1a1e6481807e0f52e8417c9a8e7709fad26b326b873a39a24ae6f0450d8e3c9fb69a0471171c87ffe3e726f0ca856c991f93ebc40958e41f064fe266b6bc03190412ae3e95bef80833172705e1b6a4e6f48246a47fa427ed4926824c55b7e6ad287a5775d44393d47537237395fa77a41901977d0a48027de9645c969fbc2144829da8bd868d92808b472da924b757c86ea96d69c17c20bd85ec6ce34652189d41604f9398dc555ce7b725def373e9ba3abbbc8f6a6337bd273309206973979dcd8e765e0171432f32305b3a1b000f2dc899b29a3a2195dd3a8ade9e3b962010d12409bea4111c58c33721fef34bc4007a4d8340be1c151d0a05fe78c1cf884baae8d29452e2dd651b621521a5ab4cfc4e5653d6ce87091fe5e02429275b458c7670490bf1abde0ebd05983bc1de1f01e46feb4892ba016c3ca8d72f833a7b1a95f85a042f39c296f6e72a4b02270a47067582d04e62a143c05b8c070e11285c870a250a2d85b6e4c7572716d9b3af44ef4d97e13d276e0eb33eef07f602e3352f0b601955d5a7b6cad722f62de8a492f08e45768d5e5106f78afd921def8a29b440ffd53bc14211b3052bde336ce78d83c875d1c117696d2297ee13982e935d93f319379f1281007a172363e3d331f9a2995d6f90581e936293213e80757799642a7e9a2e60df014f772029a91a7a9a8b3af48c5939a552af5f5ea71a729b556edb67cc23611105da70017937c5b6ce839dc6ccf8463f67c3ffc44e0d8143b8847220034b7c52a243a7294a47f9197dd1bea6d0b2fac260b1a83b4bf35130b7391ab56702ec4aa919172f203ea12f8d8bff5cfc9df7124c0d10435b462bb1ff0b5c953eea82a1d3f0c43f335947fef7fccdefe0829c013194816a1ada41217482d1d18561888ff7c3c15b27e123f7d2b44cf79e34ab0bc240f8db8dd9c1f153ad60a7f093d51a2a1f7103721d743a420304e5f9d036cfdf79e480157cbac44a02a01d4aca68870a5297218eb3c85231593b3cdd72b31585be369cfe27b23a1d0d856e220061911d38a5851a4e51839ab9d20cd953453f61019d340dc33f140399d441ddb81b3e77015729ae38e44361538d652e885b58e9e1f90a4d146968267f0540ff86fd9e36f0a72752f4df93a917366260b122f77d9e10e8058c281aec6b4012e6c2065bbe635720181579b40140be0062bbcf28333eb556c8635808dcb5a44ef1419d84296874cce7b3d213b753e45d17b76fdf8ed7bf9187264128ddabb77309b41d06b350672e9380355ab44e8d617c5992202f524031b4bcf22c96b6dbe3886f6b5cf15cf236c6de0aeca04add6b70b81b02569a98ac3ed2c6ffb6c58371daee1db1e06496b2b57460cee6c0b5526b7d48e27c3cf7fe02faafbd99ec66607d8eb9bd69ece4155b96d6f6cf740c0353d38fe5dc7ea4eb74f9cc2e59482e5c39a9aacd6a8893df708839288a643ef0ed17b52330880f8e7cf0744acd9254eacbd644e4c1c2372437ad46631f1e5f24d400dddb6f04204f6a273d103a98032b40b58ffc7a7e83ac960d2ed489212caad674ff8ceecc74c58db5f5b75c308e829f184c409ed1865e3f964c1b06bb889cdf6183c23ad5535a2329c4752b16721c1a9935eb2b9df29a7741fad819bfa12d2ee3b995461997bdff9286d430e3985c2c02c55ac663255a45dac83dcec781750229dcf94c1d8f9a90bafecbde03a4d0fa6c82315066b72c3133d807447986ef7f44c2fd5bcb7e4d6f2f3e821f2a2b4b310f4ad184e40507fd8533416eee6afd95a7542bc4bf90ea5e76769def06cf1303eb72bcc72a73c1231ab11fa168eb0e95d12846daaa5913ace49e670fd82a6a81540239b8c3d723eaf74c72a2ab2ee34df45e3fb4572c406db2d97261357b514509fd04e6932643e6d064ca72e7ffb6b1606cb5b40af661b8f32d7066e6809b43b7cdaad272b726b3714e52755b4ad40270080a57ee5849d23db87ac239e79fa751090cb21ae1a810ee73180a34cc376a00ba1c219157886a62fd22160a8b2e0a977dd45579463a4ed3d1496f98cfa1c5439a85fea1feae10a601b1131c808e108892e5f85d1729198cb1c9952965473bf733e754ba60505ae5833993e96012cf9b195293106725f8d9a4934d8b7d43345a677e6622593fe60f3a2226fd1a702c7b96505a5f320c114b5ae33889a3db886a4e17e690e413b3f32f19c14aeb33ae67852bc895823168815c4660352a1774a8f5378c8b6d6c3fe89f76dfccd784557f645dece1946168af9fed15a301a2b1c4c9b7f3090215f5fd98ee35fc2c63e2da69d4c63bb7226a646062ab94efc8452791ebeca190cfae9563502f8974f015ea542027ceb7256e273b2caefab6c0388f39f7ebecd8754681d7e07b168f76e3ae82d494782727a7bb155283d1dcfa861773ab32a17e99a255f0934df6cd0647f937ddd228572c209c9c60f04a56ba919fb56c38d71d85e8a28f4ea9265a96b839c4f23219572bede1bcd1b508afb70860ff2a12da8a51ef97de0c759d04ae0042938b255197278ff7185532ecc1460873e2398c6cbfc86a4d456c956aff49a203a8c20b54e564eb4e2ef533d65012f08c96f45091e71fc5e8331f193b72c50797ef4126648727d9c162df445fe81e537f0c75b936e3c9de28f2ea58083b4bcca544812902072246671f321e6b8536495905fec1879e9da027c9bf12de21c8ab67b02eec3ab72802257d1d7807509db48fe60a670e689c3634c7426db7947cfcc37be95b14229921f3425d5f8123372b9f5418029d04832af975625883c79018d77bcc5309672ebd3d00d851bac257ff4e2ef477b542030d4b2a5265cea0cc94c44cdceb06e335d8f2f7dc504a5e201bacc7589a4b991716d5e9c55cccf8a021e308cd2d64c72ff4e8afa4e2a8c753de2dbacf9a0c08b6dd5ff2d57ded55db53560fbaafeb57278d036cbe58a2ea17b363e32d392d3b808859c0fb50b9aa805057859c9d6aa72a08ff8a11105483b20edfa006ea85a9d57646abdf1ec8efb5cea1676cb927e27378579ff65878e544cb3414f02dab8a2def123a3b33adbb7d792ec90b9cf5a02b8709ca828c82c8a5212dc65257ac17ec7d8b3a4794d6b041b19e312f36298654299492c95a11e0e1ccfd978280c7f50177fc5d8af4b4e6a7441f485f1985272e6421060f9f520f259c776cc09501df4d84794885fe7bdd6d9c14cefb5c8941d6b714743bb08c0b23f197d479e9aa1bf190e6dbdab50d0d2ad2699365752625d439b1e038ec1e800cb2d6b6d6e42e35316de1e2c8cf39f6586d8e8ab8d0c8772d109046c23fb12e7a7076da9abc2bd290dd0893a5444e5425d726d7544fc7c23656e50e0332e5a844979fdf77d4ed7137aa5e40541451746163a203ba1482e5c112fccbaec2588c1d5139d8e4ba53c83a8b016182c833948b5c577ef4266206151084cbbb7c26a428b2b28a404bf9efe0dfb12f5087da232e05a34a18851a972637b75613065c82b051a54b173a56a46f3f5ee299f931294d963187ebaed8b72e8a22e33570870fa06a33b6d570829b80b1b1a90b77a99aa1a83af91d938f372017cc1b5b6c81fde08f4d6bd5423ffd298cd6f4b11377ea216c802849d6d4046a05c9f7b43fbf4b079dd663963d89e8d2c1fd86c41c64627735d24aac7c99c729a5934f504304f7de9a906dc95983bbd813243f6e98e8e85a3f880da4a57a272508528176c4bb29fbfc6fed99ef935122e7023252178bcc540b6020522be6e727fe0d197a0a28a6d5c10af3cb3df85b49d23397c225219a63627b5d4f1adfc04e8073cd60bfb09125bb7943d3a667172bb3345a6c2eb9225246a09872f0704519aba2b3424b93f53fbb498ef21cb76433412525ae1408dc50539df6e808c8e72a6f89a4d70d15f1b44fb1710b66d683cc4587741b0826a313c6a11474c8fe800237f65d45e81a9cf30b114880a9b15f1fc43bce904cb5b894bc99d9bcda1d572070e9e7a3252084076f6d98b518e39a4ce98446a8e0319b5f34d08c824fb0332b4745233b0c0f3c417e0963fc33079435d1464219b4c8a214b104297ac5e273dfb8a051b8ce5c78903efd5c9b26fac4bd03d726e512e2002ffdbeca83f922d724dac9329e1300f70a9bcfbd53dff429dd4117fa87d8530741c4df985986ba572afde32629649d306e1cbaf594f1c82e329f824517827f0d74b50de427f4fe07227e48b3ac64a78c237d10432ee82f4854b05b88ceeba05873e8fcebc1406a672e7670794c4f843146b668acdfc940c2cfb617eaee1f2408f50c01fab28869139232ee72df2a3874068c2bae3dd2c6949cdc4417623170d54cbca23a7c655364d12ae2cdd3f7b8f0bbc796d7246874e0ce7148ab5dff46fddc8dc7e02e6c96a72f30143f7f44e29e8986dc8a05b70ea51f205b5bf651de1386913d4997bff931121a1563a46e7f439390a54fd2f91b378db0d917512e9deac4af727d172d220722daa65efafce48c28cf484925f1e9e0be4c8a739b2124f060dff9f1d5e34a72655f365cf009dbbfacf0d565ca5804b750880f8088f4ec074cccb06037a7bbd728e0e402cb857517815b6c31ccf0973199791fb1afe96e74597ca50d5535930258b8ef0f30eca264bae7d908e3f258741a9f4e11cb0b6562f30d4a19a7d5d24729f4928753651970135f83ee49befbb950d89da18834ba65b3807723eded244726517ab9716af0c413e4083da5e189cf59fbdf2d02c9ebfaa09af02b297bed4726ceacda23cb31ecb1547eef8d8430c3b79df3141b44df9521af86a6dbfe162152d96a37548ae81ba3925d996cdaa956f7df9817295d382aeb8d64851adaf6172f1b0eba3d0efbd32c3acc60dc4d9e405913770556ee631a926d14851e9454564cb657ffb736d1233f0d3ad7187234a0ee84f31435dea7b27377e17c3e95466723ef2e52a47a15526346c3e3553a17ebc73cdf311dc5cf184380101a8bed6ba7249de7b85357a14a81a80e917f8430d3bea08e8b097591ebee0cf472838c5a954b1a56f03af4c8f902539a81a69eba4a2f71bbf5fd75f4db98416669a96c68e720eb2206336447860966d4f4deef3737a33162173cd919dd82b121a21f5b3c04fd8c1100f4781ec2fb34afaf78ebabc6b3de1861db694b8488ea9d8d9a7d42372b214ab5617e97d11c3079a655d25abd20e383966adb11326c1bcaac1f580a6724608bddcf72d6487e3ddb491cb99a7bd734e835be339c3a9db56c19f16275b6c3a8287da78f9e0703150b8a194d12915687a8cbd523ff90f9b04a0115d6b45722604d867cac5be2554cb8a8293e7e4b86f8b0868993a77d4fc5b1b88b24a85728940003a013d0ae96ea72ff04427b1d2ad0603160a12394b18dbe1035c041672a002d6160ef50be1c04d471e6c9e6ad56f690c4ce429d651c62eb096f6ca8e3d78ef64d0bb1f36dfba9c9082423c80e35998c7ca8d84aeb9d196be27e3cd577274b73d9dbbe52f1105bdd0a6f8243a8ec53da6585cc1958d4d0f50b4a7ec692872135a2e9acbca62ff943fed5e2734cd0f7b5c984068d8c7089df46a28ccf372f3a178f4bdbce58136757f50b3d0d86e7ece0ce7dea903baf14c8c4737ec50721494d86836503b686cf152b63a5160b723cf523084ae277087b36f406779227218e8948927d5a04609f82b548c056339cfe523558db220de404ccd2e6bce8a7267fd158bcc939b4024f5e3a1c6c0c6066b1266dde768a3add2163cd2e6bed33296442c7c74deba64941a6b3d5aad2f66e9d78e4a9ccecd80d4db35a99784a872b07a305e64cc7ad49d7b60fdebb9b5e0c7dd80f4e68e15964b998aee2335be24b84a36583be03d8acae2c546f7122a089641e2d3c1104b8592860dea4336b7722bdd8234268326a454c9aebf618bedff95a46f6d40be16c2a749822a536438728df00d103321238ebc0054202a003216edfe1454c059faba619fecc2aedcef727c50222f531ea437c5025e526c5d6a0356dbb286e4923a2f98f19919758bde23795d8322990d5ce217f49dfba69d1246338efedbe0b1cbf14d50dbb55a5dc44bf4fb3614690f0d174e43ed734cf1efca3e245cb417d61455447476438a63df4c67930520c293f71c3811fff0f9072c51685905d87d8237c9d4311aa3aa379a722ae4da132b95891b1e4f47e6b6158cb62a58bf016c97ca0f7700af0aa0f6c7729b074c3676bbc75fc71bd52da76b1ac08343ef10f0013dd05551ec0d232c5072bc0763178c5247fe1aa63d7641a1443dd0d4f28abbdb1445628f791e43772c72c10d153b6c1b872d07497b51de0d1c7455438fa77c2548b50f12b7a9b339855d7c55ca6930434e71510b6e3f179cbd064fe8443ce5bb2d177365995d89a12a72388b7d3dee27f33cfe4617582fdcdd4b2ef9d558a61d65ae45b543f7c62ae44d40a0fb652c49f3c5bfce2984ab3820d64187591d2f77b06e61d0716cefea1e72a008d1936a7a6cd57c0f99ad92858900306e99c4c8f11937d450c8861bbfad72dd2a2fdd6890f1088050d34381999b886fd6f01dfed4f331e410dd845cf8a672971346b6976fdfe36bb5e5e92663d91b5a5a57d269eaf0ad86b5cffeb001880d08ee83866fe651554f8de389d7bff4ddbd76fc561489216223ad536d82e7ca2e18261eb659013602bc4de430487ecf9d777bdaf23eed3d63405b5f4875f96a1d2e181111315b3e012693f7572d5b25a6e5ec8afdbca02205a1d1571afb7a2f72fa24bde9616365069b230a744009269cde1d5c8f60d01b64c7eb1d11c468f065cb70d072136ad534bc123f0699c3d7d96c21811280b14d0c628c20d2e8414f72dde839d6f16ac6f84bf1a702a6ca6f165d51afd6c63ab9349478ec5a469abf721f89b28d4e238581ec3a56ff142698f6d0dcc7896a7789751c0977c02a12db722725505975d6ed2cc4a652e39e8b3ca4ccc3d65e6055c2d32b418eedfaa17a72082680503ce888876e1bd73c27429c55a8a715b3d6ee39edfee99854c644da352ba94faebfafe3412236dbcb1e0afec478047f35ce50da6f5c6d794f36c86f7298554c1bc5f87db1b6c8ed0de14e5dda7c200bef34513ef77d794142c4242772a149f9f34bbab5e9980c32d4ec8d8e2f0f220a300ddc14ce50ad335c8cf526578a89087b74b921ecb84cc5c16c035dfb084fd3df44db0ed7542510f8b56ff9728408178067bc717a1577da961c6f658943241a69c8299bd98e087831b64ca77225d67b09ada4337be58913bc3512c537df72e1f5141c4943e2b4fcad2f61b0721f58ea6229b7d1df92be55668bfe39ce6b1b2636efdc340232932b68a9a98c72b803ff522360913dca623999d860171fb3ee45942b26a4b6a66364fa3571ea722789f16875279150c2dc30fe84de94e428c4d7dba6ba9c1ff7ab7b8a300f54172f283075b3f84a63200a7168d57d3a9458fe065385cfc0a0b3a9d6e7f7e83b728fc6da6cbf62f43e700e5865b7ef42009c9fe44df623414757d4852e5d1aa4727f7766b26175e3102905396d6b0c5e0f14b1535840eac3acf16f9c7be2c1c120e0933323ce6e9ccd0d6ffc23c070704f89e77a6ca753e97729cee153215aeb72f5672b7821539c38339b4a4fbef9f320cd96d934fdd1ac33838d5ac76da057373471db491729e4fd7b8976468f550b0b7791c058e4745f3d9da3d6f714e91f7250cfaf5294accf737cb3e46ed2a32d0aff4fb251ba316a30e2ce6ab8097f19721c95b5707bd2673d02b01841f3624a39432af3b8301f7756e75c62dfc2382a2c31915a3c09de4154cda2ab26e1419b7f9363a98fd6764a0836f9ad96dfa69272b2574ef41d19351c5725165b70d6d7dfcc2882993143f6a14f0e4606065a3234923a3e76443768be78c9957e1cf7ebc8d7681b5d7743b348432dab4a37c66472c8aeedf777c6b31ca6fde929c645ae0d3704691b3de494ca3e845913701a767254200f3fef88170a8511fb6d691a4d7073a2ee753d6afb3dcf3e1bcd5679ac01a8acd9a0c9bca87204bc72f398d6f7a0a3bf938dc33c413f33cd709988aeee369d7a2820c14f0c87777b8d52ca3485fa8e5c25c9ba09d7b43184fa8cae3114729d917bf003c84f3b1a5f146f1070d6f1460bfdf1e1eb084215d268a5ab5f027278ffec38e5e71a45850e553da2076d1a0f9f19483b490d3eda803daa60039472b1b78ade2eedf7088654ae732ba958dff0681b046a86652e00100bda1cd7b008b5ae6f4935b6797d870c50789297114e6b853760f63603113d3a71abb9f8477229715f49f7b5b471a8bf2ef27aeb52a752d411387907574631a831635cb29f7263d7c7f0a3c31df38335f8435e065bbc4ccb2821d513307638c022c8f26b406d3d742a081f5075300a1976fb1cfcc4ea8af1570ef39c0c7fb985f9ded2d7f2723446af8cfbc6a2c2a1252710532838f70b67a5b35443a7891b02b4159c69e272ad4f549278fa1ce5b93093ed973693e315fc64cbfbfff5ffe22f617733e5fe6f200e74ca0759bd1828cf2415f8e44ddeba302f9525ef427eedfd6a09f962a2577f28d672a4b4d421b2fc7de36a7f2dca77c5b2d9e29f71fbf022d82b6d0eac33ac30245d7ec218bc42200112e0b879499573d12d4e05af8a9959a32be0817f72ab3d5f986a19373b05ce19253eb5aeec473b9241b2a662a14b9c59f8af007a5b7313793a735734b0830ee116a327bb4be42169ad66be9f5d77924ced35be16721e5124ebefff5f94b2786d1ec7822e19e816450da53cb704b89fa73705c32155176137e65906d361a8ad049e3496cd9dcf95c89ab4ab80f1ba24711ac415bf724b733316316cc0009c8b8378db700e157007406871b40fed71641b8e4e3dc2729552706d9aa405ee4f27ef10c00f54ccfb4e3a06fc71f90244587efa6c72627281410c9bb4ae8869e57d139e052026df6f3f34a5528279fb59b9c31982fd737203ac742a61d463819dedbc56b6bc3d65c4571e86aa5d757c374a399f3a80305ccc112bb4d01f915770b9a56f9ce883cb3d48d085e1db6a74fb6fc230dd223e72615cff7c32c2c703adafd59cca271afa56438cb710d198ca58738a346a96f1722f32e363a7e41b2285424f717968116d6e881445209498b19db9b960c274d60b8d4e3aa64cec80023adf5524fbcbf35ab6486148daffedfeb66d055b0d44541556db89b7569a41acc6e0b805c15aa44ddea7e19eb0eebce59da9e86eb11ae472b4f592dd027ec451d4a72b4526a516813c59dd7aa8739681d4c791d725965072fd225616a9a0f3c0e1956880362dbf43d92b32e353417a3757ffafda2ee0a5729feb5ce3c5a3cb186b15585312c40cee7b6c1fa422e2bfb74088062705825472b1f0ab33e7f0c25efe0daf6498addce6f0f0ca671a31f2f996672ed1a63b7d72282f01e8e9899551942ab005d502d93f7db4127efe8d9c9ed5a9a8832796b47269881f4758c34222d2d8c8de0948a24c8ae8daf11d3f5f8a0e77efffa2cdde72e4e4e3c75c6034acddaaca447cb4f19c1da26b762cdc6489790a1360cc23ca588dbddf1458771ce520bd2792832b96bd8635679df8817e9df719766203ef637258eb0475b93a452c07b86ef77ac661b26bd4392de61a637f9782d5ecd39091720554bf0830421d981c2fc8b8ca43436139914cf24154c2e2f649aeaf8f0d0c721b4ddfc64dad60706ab102d501f5c35325c984754e0ea8253b3f99f52fbe7f7247f708efc16d23ebee9d06c55bad3d2679156f181c33974a92dcb4ab48cb5e72e51952e0a270c6e62987d6554851f4375f3bb912b00b76e60091dc9535a00a2bb2ccd1e0674a6326660f9302d9ba5628b50f5c6841f03086acb5d8fbc8a9b972c9bd049ef26851490add12d0fe9137d36bdc5cf366d09360113046c8c5b51267caba3abd1a3f05eed140815c06d07b3647467675ad6e599e4c6b8c855cb8373fd9c32a5a41888b2d1f42ca8c4fb7e1299c3dbc5ff12e23f00f90ffc5cf5ecb72ec363f509f17b0f23746fe8f1cf95e3049ca917d148c8e6e5d5f81c58cc6a472502cea01dc4a6a1f7436ce5c1549a28a9f1f20e3b182fdd4ec995646eda68b72ba1510f4991b62f53a16fb77cae0f1d32d88990131f4d6fed0ed51108b1e506d92730ca3b096c50fc09316605f456dce696904bf7f081686dffb601a249a681d45b3375595b3d7c6fc55c08e29f0f1274fb88529b19d1fb2b067db797b62717225bdfbdfd026f4c0603d58d67e25cf6dc3ae87416542c2f39460e9186a3318723282ce5a3007e75f88bfd4d621acd782f8e891f642e729ac07c69f2a90823672a3db8146e92e9f97ed40dc4029d45fe440d4c697a7078edaf1469788c6b1754f2494c5448dffb913d70170ca81f61ffc8a255f8fca3b85dc61c3a0db50ddbf7241b832c264aa0eb17cace0edd4c9da22516f6113152212a5af6d795db576a729d27d0c379654dfd8a75097c679f1ecbc261816464c2b172894f4978aae0646378977db467b0055779ac00c8368edfa42a019cf945f0b3d18e621d66920cf207220b9d5959f5c9d7303a6d07fed5fbb9402ec4c6128d6ca36019c88f5396af272fc482dc46276f8ecd05ab29556205146d1b8983e8bdd63b71d1bb6d1b12ead52dbc269d011da5c3b04fd8e8792b9eb8019be1d460c2d1ae27919917b311b8d722dc70c93a0bbeb83976387a1570da3c27f3465be54dd33526cdcc2f11ea76f727bb7ebf88dcd7e80868c0e0f2eeae2e78645b2258e780b103ba6de9e19864172e840ef400efa913752ae4e7bdd63dd4daa0fac3b6dc02756491b37ea4f8e181a81d4bb9838092a4308082f59a17b6925cf4871ccc992812d9f1139d9bb2e317218062d0cefbc36b5e92c60d5d774627953fc69fe5c3da57bd26cb0597c2f8516ff509ae3447fcbef1d0a0444cc4b82bdf954259cfd344728783fe7b45fe32772a6447d74cf4371b4a4e696000256599101b18298b52d3be62b8c163652a9c63c2989e62469dbbe64ff492088bdf7ad2ae18bc53003a91751f2fd35158da21d25674101e0e0d02689349d1e2cb724b5258bb4ce830db9f92969bbdf76db65ea1c1fc518825b3b11e8579a1d133034aa12e32979cc41ab8d8cbaf4c299edd535442ef142b282fe2617015207b44fd51ef7c8116e6cd99fd3fad53d55e7c3f2ff3df734db271170ec1eff15612db185a4ac2e8ec00acd0a28348608aa4af0b39f03c51ab2c6e501f7c291096ca230bdcf42b9feb3aed5a4bde52820a186f207166635018a36d7605f77532f6abad6ea0d2405c294b936273d7623a676a48983a26ac92ef8b589095dd82d0885d53e154e74e0abd00fd37c6dca8d5809a538803d46fdeedaa2b9b6905edf2b4dae7c3623692e0fadd090593657b8474b89a630a0720cc6c1099bf82786fba3693a3ce19f38d045e8af0bc60a2f3fc869ef7153b072999474e71db7b922b772cfbf6afb25c8c1183f37447db479807846ba844b706d54e913a788a4f2062e0b05579b7f56d932a542d4819d37427d95fb2ef078f4720c933988b13f90eeede0c7e8a729d13ddb5ad9bc5e1291617788ef10ba732e7206ad2706b6db2a72ca70daeaba5373eccfeea218cf510d42b18874dfc2f54f07fbf530d89088dc3b18f088609d384a111c3b44dddab5bf603f8a8f7309014d4644ab30886e8f9f5f0865c4cef9afa67af3605038fba11c9590897196c96e1372f01e349d78ea0bd35d7b6a57a0f7f954871869c37bc5926750aad87748b8aa61b8f96da7c83ec3b6768de75920eb858238c08aef41fa7e7910a2681dac51db16934d681aa43c1239426d352f0b6694fb7a370dedbf63b7ade105243d9535c85459c494eea794eb1c399e6b795c7a5e7cbe5783ea7325bb9a5e2e537739e55872fd3511071c79f08b7fdd3af793f2e8f6709132b98c92b00beb9788d291d9e67238e0ecacc603cca68b7c6272c6e93f8da0cc0a3bdf0e4fa4c58661ed22ea20720751b247ce875fb74cdea3e0db5ef363869faf67c5d1601bab85e8e8a4f7e872f3db425afc1f7f20ecb9a56858a9a1d34013b2e9a457037972a2aacba56f5b35a97baffe6e5c47bdfd3671ee0124503c10556a0a1076b06cce40a00b585312720ddf5a35d2fd04ef11716832971ae1d64e0747a5ea1bea9f6d0617e4f5dc9a391a4a7f57fd5817a782cb5ffd05aa99cce7e9a5ca08d34e371236e0743517d9721b6df50cfff6ef424c0ac734b66f3dfdf75931858f873c7b1b9beb7a056f58729a8116a87fef3ecbf4b7521d6ffc8aac78be3cdb54059f56f7d401d2d9decd7250fdb51b547f52023f30d2de904c9bd36cd2edb8c46b0edbed60ce9e5045e503bcd2d08eaa88ea950bb48543b1becfe980b298c162949e679cd66c07e7999b72e0d3cf943e4756c4f92c5bbe5d87b5e5c96e338f52c4a9105ddfcd90a3f12872c1d6b50fd632d0ddfaaf05c56c9ade85f8da9db171ffcc44a24c4320e9285c6fb81cfa92a0bfc0a12d21f30c588af8b9f2b22db5fec274f3b82a8ba1a2a6687289371809577d0a104fc3bf1fe132ae8bd078527014540a50ace6104675cb2e61e8d292effee08d2c97f144a4759adb9cae491a36960e82ce2604f312bde68672a2aacc599681d3833878f879fdfbfc4b70747701f738a387273ce9129fc2de1a9f2d8d91d44aea8853d4b58d1e34c54262c4fe84a73469b3c35603855d08d8427929d8d0c806b28f87a938bb9bb26442a7cac5f5ac5f2eda7c8880394658887214d998595ceaae720dd56312eed614ec206f408fe3ddea9ee1dc7376cc798655d657370b4fe8751901b096661fc31dd587317a6316252646817407e0a4cfe9259f0d4b4bfd5b0fd61532ae1f206082b9c1f789f6ed83a3b9ec3c724cd6579172234ad955a9590a589eb6c5754ef04b4952ce8aa70748271c71845ed6e453ff5d3eb3bbe52f8673bb721592e4c5f98c59981942815cdc8961df3d787430f1197238b38f023372e7dfaf15975fa8a4c4a15a7b0ee64653ba7a5dac3b40c3d3ad722ce9bbac990f142053b67c290d3eed55fa1386f3d31cdf6f51581ef942a18854ff8d5551879a4a5b8f21fbc5a322d21564ecdb6bf70b90035387084e659a462288d56b1617345756e07399f4fe31ac9e5604dcb3b3f70474536146ee959a5b65f806c402d43d5f52d4bc3e80a84e60a0d84c0debe4a409f5fe4453151a0c2b105f45e3ec6219b0ce860643a73337ebd8275e8d9fcf57b4607c6a483994ab323bcd0e9970d98919de28a5cde390311aca81298ddc5955217480df7e7c5430837263094467ca2c0cbcc7e9e7666239f0cf5564f705d2ea8eda509b776587a6f340f704fe439aceac7bbae948061411eab112306399574798eae8a19c157fa7275909fa0b8af6a00fa2944651e45ff6b56fbbad5e27e62e10e09e368650f65d99723a4d43ec746300bde94e0a5b01a20dd8cd78f61fa9eec27ac0c6b0015595ea31f8630fe26154a9fe615c59525385e18be3202fffc367bed594639c9bcd18c625d434e4ac04a8742bc94ea770e82dbc669d24e9263dcc1085fbeaa99afda90d722fc10275d0524198446c7f72506c4fe7f989ad351f975bc572c5582fe8f4f64713f83f656d745bbace2f25ed6529a5c848f39836df3531f1d62819f9d7698206e188012719dbe5131f503c1b8d7b9472658ebb680fb6d2fc2f1ea9d5331e3572397d7c00342cf20ed32d3c9c4e1b205dd31a5dab86d73a2a5967d3eaca71f972dd13249576072edf686614e44a27b7e5c900d3aab703799eef847a5eeac3ac721bba543b8a42c7f6db20fd1e5234748948c2c7cf203b464a5055772e946cbc4b83bdf5ad227e516b4fe8b2ea1017f11b43ded503523c407b521fc68e5626e772464853fc499d0f6765f8bc2bdd455b8fe373a53a8be89e428b0e0fdd0692fa721b19aed5cd7853c58c0df881c88c06afb4299388b1fb886a9c1b781576de5544bbe47bdb343ee7677f84977eb7e19786f483aa3aceb4f539517b6a17341ed47230a410ddfd797b63881ea3f5d8ef8b255f71dd3d667ee77d4a3ca8795063c572e29a928f3ec321a839c581fa66c58eaaec2102dab3df2265617e10881356ea722c04b1e0d663979b3d6d2094cfe7a284ee160c7da2057dfc5c43e0438f19c072a55ff1c758a6d6392ea58d45615f8c7adffcabdf305e8e63bccd5a35df7a192c73a24e3c14d9f93ec2ea21ccdd3e2f8f33303d36b79cdf69caa4ac9d2c71dc58972f9c7fa747d34337c95e491c571d86cdad94958a9a710612c3d5ac3ed577724887af29da95615910dd50f6dcd0fa24b838517b7e47e2ea1535b314d6c18f72eeed5ef85a48390c97d612024da8a82ab078cb939deb33c12d02df1143b5bc65ccc9ae9a6bb5b933aba8403886ccf6ce2c990261fb43047b0af7ce20cc6e8e478376e1b39ffff0ac6c2258e9b874f3054c0c0d71b2a2c8e926406354dc7c862305fc63b65368c5da1eeb18e18003e71e567f3a49fbb8cb85697ea9dd30c55452ab5804474041e2d44d3d2e6f77714ce863712230fe626400ae4328f1fa17a754edbcd2b4e38139833094bafdbbd580288de1b71c9b091ecf4fc40d487e85d872015f8f308c4e383d9ce57980c31363ca70e5cc90713c6cfb9693a6ab7ed501728c6d3dd666fd0eca8801c8fedaa7d93ccd2f6600e1e77c7e389b897f54cc07723fa7eecc9e21ca61b67d064972bb19d7fcd703a2247adb92c17567e297b3857205b4b3f8d467e2fb3a1e802cfb077a8555e1570aa6f1b4ba472f994d84e322241475f178f3914a1dac1704411e0ce1a454539915492826c3c0f42449c0db783c62a85e6c0fe766f10d2541f4886b65656d8a32e927783896577ba41e03464d5a45d3896de184d34ea39583a1b67be3038b38c42eaa3bf77d40f3b2127765167203956a06291638a04379a272c476f574a9ad0a29af518e165666381dc5030228180f86082a60c38aea4a506384db343533f2f015f134725cd6fb878b23f8f805f7e66b6a563b528da6f13cbc52032cd30cb2be4f77eab5ce5903f64349fa237295cd43fdb75cf7c6c087af1bf1009931363b7f6e44637753db61daf6fe2d8a4e895b33113a47e6c72d33a9091de58d57aeff3e2ef9a9eae81ea9d8b2c17a571f4b105797c0a352961415a9aa457761c8fa9097f3747e9259e398cc4a1e1bf272c3af8f9c67e4943b66ddd26c25b40a80f0c484bd1724947741ada96a86cc1f720fb84479e823fe0a1b4ef100330f4547b5a53a9d84449a9c61ec25ec2aa4ca7221972b123ee2999121378f1c92a5b3dbaf6aafd549f22e3e7f9ebaabcfb77f72d5221dd2a2798cb60bf7772e41b5310d5126a25030226c04f69e65894777097271d43e2dd18ac1c48db90f4e844f21ad17be66b97e8a395f38a100ba2faf353fb55ad60c6be344b0aba8c369abdb4d9a4cb7cedf830623a2799bcfda2435256f7f8f96c34bff28914947f9ee9a799b78241282f2af3ad1d273fe1e5c97d1e4722b567ed142f36713c3121079af0ff868c22fa37e177d005dd1b6ac56dcb9f372a2cbf2956d17f722ea9040854ab97123bc9291d1eeadcd7a32a72c3c7988cd729bc185210b26658a7e7169458dfd3f4f1d55f3158df8745693685f912a9c1c2ff4a89dc9b53c4f428fd16fbe8bcc42b88f6140c2862dfcbc252c50db98a5e872e6f9160b189e86f46dcd6c247c1d5153b5e91ac904877dec207577df281ba01c54f7cf45e4b224c8c0d2cbcde3e1fb7b23e89a53bc1ad4f7f225eb0251eee12cc01de151ab21bb03bf450ff01b8b3c22403a760d1f192a231a1198b610155668ab7317b4c44791013cb827dc5549e3735cd3e2bec7d2fe9a5efa4445a2dd6f2a5ac8c25f427e6426249ae7374125e74873861550954a838687a52ca447724e72beb4f7357f455fa2b521ac272308562489c7d2c0e3ba2662d468af0ad6a9137219ca330511b0540e3c3d01d9e2064934f5f253046a2cc7b1ce7f86c727fb5c5e8829cd06cc937c43c371672434e0f353e0bc688fe3a5c298ef6905660119797271da6cfe90bffd8d27703c39a85718c49be0311e789a202badc2291974e33b028d539ecd6c4347cb87b968d33365729fc29d96a2fa892ec3841382d817065c584873dd56bbef3bb2faa632c4b53127a60ef213ae4e5ae4b65ac3df163054685e63eec64d3062e87f9a5b801331896aa6b054a9f3f70c8ea014024469ad59c9723607044965d2e3f733f8daf779f134a0f874966e249696a869987d3be21c43722c8786c56eea1fdf36ac53ec5b276dc3c7f85e9af747acbb408d7375a302b343f24ef60cf71a830e8387d3246fa3a742883a1d9b9f6e48dffe618d3cc8216929b1c52a32e109333c07fda16d1169ca8de8f1673fe8dd1612cec71a4d0510f56326d2deebb18ead26712f975febd23a456905f09b917bf7841ad72ac0f36af30ff1fb1e0cbabe018a3346b46513900021230b7783b6e37e1edcc55e207820e843813b7f0bd51e513597995f03b45884886fe60fa8ec924e8144dd6a60c476ff0c0a09781783ab5e522283077cc58981d5315f3d3f538d521296a55d6e22a8cc72d437e1a9f5fd1bf054313bee524c2b46e884fd9db77fdc004a68092344b42531dce6d2cb8e36d760c8942ebea4f902cda1079bec48fa65b3afb019a5f047755d3a30a808a4af173eeeae8c4b4c05848ddc0373c605c8777ea86c4db4e2c6617259bfa0e1e436291f0388af1c5df51b585dcb9ada63b779905ec6854cc37b7c7285fcffef459caaeae81b562f9ce8948279d41fcd79541aa7ae7dbf51810c8d720e3b1dd11920b269b0caf356f9a020e07e8cc5f46beff0d5be5b3b582a537772a4a4098514ae23eff9e13291cd73047db9e3406ebe04d77ad3f3b2d158253741ee48308de14b6d4936b6f0b24b0e7c36b470cc2faccea7d48053a35334634872412e06720f76d86324bdc0f7ef1246477d61ce1449fa821f39a86e3a006f5a72ed4320b0f1ece5d0444feacbd06de55d23ee9636d5774ab2bacf295752b7943884b531599720e3f2ef99919a44b13bb38c277771db75582fafe6691af2126872e24cb98e0e3bb2632a9c126e7d84ef0ffb530cd09c6eeb4192eaea9a777eee476ee6f2bccdc99e19dd4b180f28a98684e455a0c81b1113ce560eb83b02bb3030794c326acae0ebe15587adcafa4d6ed27478530a7ebf03d05947c5309e9e266c1943c303780955050902a98331066ca1676deaf436d8ae0ab6cdcf8b4882a9725c8b34b37dbc062cfc580007eed59793f011af08709395a5a9bf41a8bac66819961a6790d1076ac0c7a76ff95bb3f914b341db0ca0b52f824c12cde1ee3f16727be47bb9b90fae7e5463f3aef9a329a4529637facb7b037c6e31275c57de2072b19d37d5d353356b2377254ba3e238be56b0806db2fa1e01c3dbbcd2f336007216a61e0754e4dca0d41a6f69988679c2c159cc8d10231f35d3e137b5dcbd8a72a1b0989c4293a00736890e9a0b748be8868b40c1e69964ace50a72c12adca0729842fc5db7cbe14dd495b5fe9b9171752f47abdf55fd02fbc3c56e5a1f87057202ace04e7c3c49b3a77acb6ea64cdfd1b146b0e33967b6106ed1a25d11720772462a86ba6e5124ead81f3f9f3ba4c10af4fad40b62799deaa484bb7141c5216b8bbdc966d1c5aca25cdcfdd2d26e7734bea1d249cfb56ae9c882366dd133af7211df738961de4cd69dbd1a8f459d6abcebf41d23a4226eea4715074fdb555772b15fb24a8d1446b0832a43327a26045d4e95805aa38d745b0ea519c46656510f1b2279c016cc8faf08e84bed8dd0f6c1623e53f9fd284391e84de8e14bd1bf3e0f490547fa461ce340a6f4103b1f6a920d5d45b0cf77c1dcd6eeccb5f1152a61072550c1beb692e2bc405787f711f1a49a84f4122aaf86ab85d9579b3ce55d720c3c7d99fcca531d9be1732d4bbe401146cd295bd5d3e25cf125db1429806c72ade140c2fd63a88a887d59463b50723cafff3d75e0058d5780e0d290275a9e70188be3223794dcf4556d039ff2247802a4b5bf950b55b7122d3459351239322a69e83b43a2ce244b47d96214c897fb0c22e30000fba795df50c1c601a2d4667234ed49ee61684a2448f47ee708ee25a621f70b10346bdee41403c3c817b55b086ec4ab1da91c80eb6197705c7eb1c28ec07f82a42eda9093331bc413fef69572002dcb458eb394ed874d561ea9311394dca7d1450d069057b32f21edf80bef6251a9123a43fbc76fcab7142ec36b5006a5531a1658a822f54f03142b65acb73e8ee1b06ab472628f1dc635621c3f15951b78bad01192b210e76d0282beb3356e840cee20a4dc5c5fe7cafb24db1cd39ce5b4ee1ce03266172811f1371203315a0c414ef8c1587bf165ef26be0eb64f7b74500fe9a386e0ca561cdacadba94d5a20f223d3db01d47b9e591d1eb72d541991904225e4404d35507f9858fe76c4727ea525e67a741c8d0642b0fb7fda04092b8e1d8ad07d542278878172198c6d03dc46d2729f3a3b5e9adf25e82e32ac29ea2a11b96980b1624aa7162718ac677295097f8861cbf6f0555b6c9220462d023d4e6fc4f3b11703177f904abc5f7f72f9ea37934181640e6c9ff6ee8d325589998a66fb0d2038b5c863c8cf1d990a10d4c7962f8a50315e4cadd30ef69480c0f83e29a220321a52171d81780a5e1c49edb9132eff5854d71188db63357e24c7cceb1d6a032ba0c2772835cd1e201953f6883d16d7c4f73a9626fbdbfd9b4dcb858d8f284c9aa9394541ff5ecab9bd72f4e39d209904ae9e657a3db17b7c834849413c98ff97aa9168e52daef39dbd609d4e875bcd8f85ab528ac6232285e33b8966e34dfa8e4da363042db893f6a5725baa98258d9888b400a72b9ae73b4e10fce47c990bcdba65879802d5d43fc7628612b7c487cbd19569ee738974555ac3ef1dccca4edca5615b98524ec4913d726cd2b42cd0794eacf185dd876fd3cdd71bb4e77e1462e2ab310f696174ba6f72632d0461651c20fc04d2b4f35d53e16867820ed458c15f566cc8a03e9971fa5ed7b05ad3af8f69d0f3f896e555e8a3a376d9672fff68e2555d93c535106d8f723f4d752044b36d689fb8f99709e979b5ddab53cdb9646100d717e19c90c21372f9f53c4dcd7adf63998057274a27119e018c2288a748c3ee8af682e6c9886118abeb16d230a42e0a01384c7dfaccfde4d04e367dd7e49d3aa7fc82621d8cfb7209150fe58aa70da4068ec2545c53d98d0aeb9838d92f018585f6404766d0ea0e4bdd24ee25da469acf1218abd04b496f2d5e8eaf02a9201daaa3509a2b0ff372fc358a1af4079c4cf04c6172ac2d9f9ce8d264516cb8e5efa8a8d18481ebf301aebc7de81aa52dd3af11e68387055f34e0058a4fa4c2eb35f7e4416c03d42a0ac9df2df685842fb9e78b6be939f2be8469d28e128bc7a29ac9913064163b5f72003229f3b6643bc5ae036c4432739a6eac726dd2e3060a7722b53ee7c4345f5593228c1ce1cce2282083cb8dd94647b8338eafcc64e0e2bb6591ffedf16beb2e9c4ea8de8ab9e9491f879d0631c93328fed216f8cf24bf2961d5962acba4e972ee31320e4cd2dccf120465c365be2f249177f0b5c7b89c235461453ffa7d577276f9b050f4fec9252cd1fe0f738ca5ce76208e4499b7aa216f56b76ae587667245c18e9a71cde1bb4152cbd22a9fb5aea480feeb185f8b4b8f2f7a78cae6837237772c51a90ca44fa60ebda79c96b15231612c03c4d4ebfde4ac95bde1b1d772ba6c05d00f8a08021abfb20514c9d76a8c804f5fd677f72282c734461a4179061e0a3b7f0949ecd88413639719ae9b630d135646b7576da101d6a965e5f043589427dd2e507fd96685d0fb36cd5d2c5bab438d34f618f76aa30e8407edcfe12d4f3ee4dd9495ca6a832d1a6e01eb7f2d4683f42ea4aee82d0d2d74cc4dfbd426dce258e6b0a82424b2a36265bb90824e23a6b07d32e672f12a33096a8d3e4e7243197f5bd2a36366ba3ab40f1587610f4416065b3532539e0edf35f73d51ce4c69909ecf159790076f19189ff4223c4b304bc1223a94dda4ada3635441f0ee727acf09b12485d3888bd77da82979fbd96adbb2f77908e213cbfd488cea89ee728e7ee59300111a62f8580294283b522189ad090c067bbb0ffecf81cae4351809b65af8a2f402313fe649a06b0aaf0d8f867802b3cf80266809c8ead5a4fb0d140b66bd1ee7386d682984e94433c81fa244a3829a35ba47893fd36267cbc9dc72f2e4521b0a26ae07d20334a9da8fb98239782d08362e006616fbc7c8638a9572d81b78d9b4560f9cf92cdb1a547be5a3d8971d2b87980d595f0e75eb092b472eb65b8ff0b2cdb594dfe47c82105c643aac0cc84e4b4fc6a567b6eabbbbc4a24aeb673437a29d44e0adf9f8b838abb81620138310bff24241ecb04f988c384e33408a937b9ec9e342a3b8ce9f2489f76383194165a77edf97fad0844b371828726b3c56cee9ae870d63c7585ee2e1787e88ab403af24e29052a21f34fe952a53ee8e17a0d55904637f1a848dd0f709caaafbf9345138cd8daf059d950d1f37472575fe0b4b30b01c8bc87162ce0bbaf72781cde8e085bd2835ff09dd667e0ef723faee1e0bf636ae20d77ce42a193ac9d7f9b331624aa5d42fc767bb338d6c672b705e2300fee92b3cdc1f31ad9f5158a8d8083e53cee1693618234ecaf3c4a61647deea91d18740173090c0e35745436e90f2c61d531685fadf86251cc252a723707bf037dabba29dc5d604b1e704c878ca6970ed80f1141fe35def5b02cbf483954f5e638bc988ac1cb2a6efdb80cc57535695e4488a7bd3f73f815f485b82d58109910226b388528e9a9804e1fd3325a629563760d52c85675c8f1c9426e11027ed677ff65ee643f90ca7538560813aff34b26d9036c3c299258214c0fd92dc470b9116f021f2c68aafe68d9c27f47af364ba84dddecad77562cbf2b502b646be8ff3555a63c427021fbf5a65f22c2cf5d5ba2ff37067738c84a96761c8b44ae29cb4beb8ce0b7c1e575e336db69eea71897d5666778a6fc8bee4490e00868425713252e3e25d19d8fdbaf29e8627c9ad51aa0113f190ab06b1279637023270f5549da774a596857ba97995e9132ce813c118eecb8c6ff4e3e2afe34eb5c727b99218c830a7ad8b09a4d28ba61ec61aab6826f66bf07dfd611f856cc165d720ca0d52dcb56bcd7b4bc048a01c52553d17aeff55f050a5533e7b09bb88a3e7213d60bbf2c29a09b5a556c16e407eb07f33101b29e44ec68b3abe6e1cbcf18271744568284de404074341573b5f7a4c3e40e619ea37d6986c24fdfc47c73422601d33ed4266651318da55149e1fe860ff12df900d0e09d7f9882636353713928ab2c3a634b5fcefee2c3948862f47e9df87c98ae1d0c80dd9e390954f79d9a197605697f96ed78c53c7aff0107b1c231bb0e3b736f08a95c25561e09743041727a636d586eb45c8db89dd71f83879448fcd946aa9eb14146f65b06d7ed2afd72baf24d77650e22ccfadd695af6b7bca93ced601c3728d9e12e8d75115fa45b7260765e469e8993885ff0201e001c1dfae463068c81724b87ec9bc741fbbef467f45b1ba43521ec122d0f7c2effb92af4677ee07b1ace8a8a174eaad7b9f8ec728a55f2671360845834ddca7ed8a020493f17e4f17255e0fd70c9d645ef0cc04006e308a760f046bba10745b3b2491845bbdb18b6147b0879d5e914820291601e7594c14e40ba33a20dc5dc29a13622b113591316f659d60d1b80c04c567dd37272e86043457d5a5bb438ed52ebe975ca1479da77ebcf35fa3feb1994be8c107204b4f00b62eec32ecae0d59835e968b6b4ec009f558d74dd937e0308b13b1672330749f3889354db8da18d6350ba921aefb4e5c75293f00fafdfd455f0d20b72be610a26eecd1566642bdec37b2d9f8e7c7fdd4740f7350295c3c207f569c008470a1813a321e8509c3a097600a7c28fc5adbc2b1cd2b3df4a8fed5733c18034b882619185242544e162cc7edea0ba448e95681e83878a78a8dff9a755e2ff726bc3439304f11f9dc424c1b8f00f7e1231d3e0ee9ac3ed2a5e7866712c4b4d4adfc90f7c41142603c6c006c4e76c382be8c0b06ded0f0293f0b9b346b244011778884dc4fbc3a42b08bd7c8dab7e310955696a74a01ef71360c71f2593a87772960dc79af2f465e82a393798a44eb9c9f5dfc2ea112f348ca8958d4a7258fe728d78c19da6957fc75ddaa1accd43d995dee69c3cba9c8d03c5916dd85c0d577251714ffe285a64c7681deab74fb71dc473992592e7d9680bc6522a600168c772e69b0244dfee9e8875d02f35616e69bbe00016d60c8d69fb272adaca17a8ad72191e3dbdb71b3f75c7c506f0d0a8be0e970505260ac258ef18d0f88137274d2656e3693c25d02db2d6dae6324db52373261bbf18fa5fbe917d9d9ef74e46910ba475de44654ddd27f300c9cba5e5688725b243e999cb9cfebe81d449dd1e8a1fcbd2a7ad2c605b1187d005e4cede57e0eb72d1e9065ce648340c19dfc53a184aef53cedda31a1f651e4875ef63957da549bfd369732f9f3a492520152c7a876e0f8dafa7fc450d92377196e87791658ddbaef3ba774410c25eab6b224778e072ffe3797b7ab41df75e87d1867d405f4e7bea031aea096cf62202c50bbb2a945df98022c44452f629d508f43624642a5439f153780718812ec9b5b0d10287ad72c74a63e9ca5a944ac6a532fea427f22e1c872384a52b80735329d92fcef23d72ec1d9c67d7fd45a79041987d7f5544937259c350b6d915b6a87031381089637224402125a5e9ed2af35528b056d46338cf65868ef3611ccd4f3efd896c8926162e1d3aba9bf1539fd834817e6b4d996738eea98ced293ccbdb4211f009911d1d06b28464a3f75c56908316c20f7af092f34b9fe452bfbb07205e4a058a7e254b5c946d58f5595c92f0672c424e4ba30c3b50fc21550a7de71536bdbb93143b72a192000ba8e99d61fd0a42d53066d9850617a51fb6bef3633273cd9203c4ae71a458a6beb5abf25628bd026433890ad1b28eaeb914b943edb66023faf6e5316823e3df5daefbe7bed434de50e0915b9f4e441c364fe8c4d549c3afbfc6548972ded29428776f0bbbeb112db3a01a6cce2ce1b8b0b688d9c29d39a2ab0c3c8a2638ff4065d8ffd9852600221d43090774470095a85dd4a1377769efb113eece02a08791d27e537446efd30b52e9d561d2edbf15297bbcf0e4ba2380cc0aa1da722be0e9f752b5587d9a2eeb846bdb2de6474debbbce2f51fa9a7e5bdb47375f7272e390eeb00145a3719145a04256f3e308edce3e6478be0e7a426d3983b8d1724e221e355a8000a621fc2d7cba83f59068d0dd887862c00b5d18eb8ac8a35772f11afd3498e912c813419a55a8589f412d7fba095335d4e7456b4a8885b88b72f6da9ddc721e26981736454e0724e8f089ea6ea13cd6aa90da4439d2f2b7936c8b90f0ab1db33fbdf4f835d02d3f5627dfaebc78b51e848cd40bde89a11710721c6a4413e4ed830993630aff7b567a96dc2c0260c32e1b5a47eaa23b1533b37224a4b1982da9463ca4d7790ecd852b3854d8595ce2c6660994212567089d5972c8e718a3cdc67405ab629d22aebc44e40fbaea0835e809f924604e7ca9cc2b7254818e9ea5bdf09e5a92960e45779ed360ed5fa031fdeec56f88f75cb56561664bda0ae5ca3e5a74c80ad8239ccc5e71d27f551eb10bb9ddd838052f8d32cf57209bac4b6836dc5aac4cbba87c88f78f6a24260f77a21a348e3c452d85ffe9725804c1bc835e4768a5460cefc9bde565f7faa819a8ad48c962ea79a885b55a724a216a2ed04da3c805cb607d933bf36349c9ebb25d6a949d41f81c31a7af28722aaa5dfaa3aa5cfdfaa0c378b3b8dbd2d7bcbe603b2f122e17897a5e4d5a24726ab6cb2c6e77509a26e2f88182c3cb1deff29bf34278684904d452fb05439372e0fb4b52bbde510729119bb5319c754acdf24bd5b28811999d9cb1884fc1f6725b0c578893354d2acb8261a22f9d5bfb23dd3dd2f2a31096d10fca71b307a03d665a57f865d21b87edf6f7dadd2b98918514e31d21ccb0f649ddb4765a581a0dc88f68ea104a01481970c6c2d8290bcbcde1d59c8642575db0aa882e1fee737206e2e28cfe605aa898463929666cfbc1ee2e04a7c5b10fdd37ed83d3c801e27282a066517c07bf2eb04a820e905d9bf861d6b2e181175ed58f6615d2735a2072fe3bba85ec8819bf13ba2f8c640383194db7a6c51f959c978418b69c1bec5b3e55df7979e9eb0431a4eae2ef80d794d9ce879ed189bcec91336afca24946bd722e6bd5928ae7d0fc4bec31ab697003628c6923cbbd7bec571861a25da51379611640101493c518692f00d5495d91e2c07437463b577c052b747a77349732d872695d93088c8d8ea5ac981b0b5df0c1309f0bbfbb3a9a095465550b7e764c2464c4d894d3ae8fe075d3c7dc32fb444caf360ca837025fcefe4c0b0c0bc68ce5350a3737220dd8ed0bd30b6bad3056dff9da84456d42c7d6132e71addec5312b72362423b318c6f3197fbab6a4760ff48368bff2688f36687b1d79a0b355e36372c454ec27def1e5f545d5cac50768c8a0e56eeb90ed319332b3971ffd2b63e072273d954ce03d8f0a036e21a6c3b4417e1fb5fcd4af782f369538f8e7e2946f72bd05c76bdff04dcb0fc614091a0fb237829fa93ed71cfc646f25507dbf207f6f7b6fa538aeb773a7acbe1a77dccf2ebe0c9d2f118012a1631fa154d0e1c4c672955bbd97e1e406319de551d718c8a6a32e7f14f95dc1b17c67eb9a2e01aef45dc0707e966b12969b55294a2cbfb5666fba91c3926817927a61c4ee769c439672cecb3cf4bf5eecc5badf31c29bc40344d4ac261588213e0767a1a6053c8838724c8a8ecef767d9330a57530acb8c9fd1e6f5b3cbaa90089afb45520c2224262988c34275a56783e1cbc42079b07abf414e59219368643f1c2bd6ad97463b1839b1febc578459ba55a01f9140682fa55e0aaf5f28a47e6832ccab11869d5f463e42508fef9230d0cdc2f2e4c8d00a05b7b4157fe076eaee1faa4049fdd92da572e2442632d7c6619891a81ad1689ee354e4b8e8d17f22d6b274b950d466d73f2415e31ded3512e315d03eaf49b7a05b135fcea92ee93cffb24f78034ef715de3869089eb7b2e24663f1b6dca30a8bca955d90b5c159d4327896d02723618d05729e98d4d7b704064a0a1bdedaf9ef107353cbd5b2632116f834c4dd0d466076720fe42c0b05d605ca7a507a7bcfd282c59b48ae45f95d3b447b2e863a23735872bf175469b1b3e485302c8cb62f5f2d93c2841eb8c402e4f3961d2c06dc111b7214ca695ae1ee8ff24a2f26dd58b6ee775567c454dbea7943dd27ebb4571a376381ad554fe275a7c3ce8848eb9b85c333650d124af4428309f0fb158bd9f77772563892eeb6516f25d9d1e655dc735597a26f2df5fc696a52b804e09b5d904b724ac5e5d6ef37c6eebc53a85473219d41418a4811df8a433601715a9bf5f65d721b486f673152e5d9ef2017496532bc16a3e5fefead1628bf5bb1279b36972a54d1f21b8b12554238303115d44fb36d27311e43f30e6bc39d8c0cb3fa10ee5b729620843c448899a08989a5a80882a85a7e69f934efb2b97e26922a4e51e72f729c68e2aea686748829e4eb2a277cc946a161b48c2a4da0b1d4c50065222afc27ac0047cd1192fe7f60620d100a67f125387207d8c4351623161fcc8f4afc45725a6f2038fef1c5ce89fe4ca59a193e20bdc95aa8e873b0f294758eeab302156ba294c8a8ffef4c5034dfcd814ff706a95be8e1cd1a2b7d0f7522bb7ba639f972002683384c3b16d2b919f8cf66d487c34e9c8525f9105eaf18c07f0513d5505dda521f6ab4f6bb8da03a4857950e43033195c8c82c04f9a7ca3846745ca6de729bf124f952653cc6416aef1477a221388943bd8270f9e0359f32af907dea3c721106d593069ed074f5fa01256c85da90831c487aac1f945afb624e2690961568803e24185da328dcec75434249e4529010014bdeb85e0aaef3470d5ec409f672601a8934f9524030e15c3cc5983b62ef215be3d54029e1a2e9f520b542879756a3fd7a07ec1c16fd5607d9d123eb15252a59e435ff3275774679ffcc2e7172729d13a581f37a5993855aee87781a235a0807b193df297690d7820c9c7f445a720bb7e20fd1a13ece1a778a74ff04bac7a847633fa76eaf0cedf3e994fd33c52250e69c5c7d503b93bbb3ebe83f2635d028d1447ca237a64bbedc121f0f79917211c5809d16d3efac9f5cac94086ff7164f1579ccf9d8780b63598d738956ab726c58b3b3e101da29db85d3be91a09da6ca6b6a2395d2dbd07e093edc84813572b66cc8a0c3f2e132e2a4ee64a7f19f3d804d6c56be3ff7b6280b84e5a20b335499757c08e2912bfc82e8f605d5f31d309faa7d5b71dc323ca030ba8ed82af246aaf89aab4ba47b74837171b71da2097c2dca43b8193b3a61a1d7d063b0f19c7273e205afd84cfd90ba092af7963ef78ecd3c06baaf18233dcdd519392b88135fa4a6290888060936050628a25fd658eeceb4f5d9c2c522842a28faa9cbf3ac72f0e4541201f4221faf16bfd7ccd222fb017cde3216b63fb521e79a378d91e155a22a7750eafacad6f14f546501628d401d8f6d5823cac9e7a7f0affbab231e726eb94faec17d25030d304a1da9e43d0056c6bb34f451c1df5546c93536a1d472fadbb9630342732fae1b27cb2fa41472a4886cf7e685b5e7a47845f3a6d7b43babdb0f7baea989f169ef1c32b4b32b658ccac227358a7e6853aa6dc848f81372777059edec4a7954e9a13e3af7419e5c0b8abbaad3233fca255d88b49a0efd72a192554b1eaa3c06c258762ce11610f23a59d5ed48e19988dfca757e4879265980cb1dc5b00490aa0a5b23a76781cbce4b30734b5e1ffdf90569266ae5c12872b9c2fc50938cce71e89d7fa028a15034181d47fe6f6ee2e313c3d1881846e31b277e77562de13fe7733a28cf70ca2d08221141d7b7732a1e661358de73359f720bb307276b168c33501375934ccc5140d5e83ceaf570b556ef844ae6cc417b724e6ffee0035f3487800107346c069d119511ab1a03c1f8db2ee736fabed4c9727f88927d45f56f7be5088240fe8a0ecb21fa03f313f8de0db5e2349f146df2729b8963a780783113ea13f632cebae9f6b5f3efe83bb5b198075fa1d7bab9205c563673272dc5c156f5aa45a16dd7692f20070505b929599566133f953353ef72fda78463789e522be43fb087da7cfc9d714b07c3f89ec963ad83bedcb276e852bb355dc797a5601a95bd257fcb2ef8ee46a1343423d3a476cc7446074de6f0723f48008be04ceb7dba12787cdb84edb706a204b170b7856250c4b81b3f7aef728103593bf4b37b5a73d8991029699fa7c6f0c00880880a61cc8ab4f614f5d369a1c76fb38013c3dfe10e51d348055d3d602220a7e8ad350431ec2a5e6fbbb6728636d4872f635646308851233085d2d6ec294e3a1971855d1a13ba3cc14fab72d3e90e677699528242b2c44807456d7a5a0f273eb4a506cb4fef3c2a64b3567225cd041ace1289d6b1dee2e4bc1edba69aec2f87e04e2aa5f7131f991c2a3472f9af6bf1f17fe41260d8ff33c83c100d15f4921640fb0b067ce81db62465635d906aaee619d70e1dcbabb918358125269508b605d79080c2f42b50e56c211d7274d2a866e9b5e1e5b8ac8218cb623139f6d5007fc581f5592062143982f2647230c4a00503c50e5dccac79396dadfac019628def6aa52e64bb4b39c86e04a94107bfe6401ca111143dd8fb548e1dfdd177482f1dd7ac5253e45c2a917966e272deb84c36a6c6cb194229cf0e2e3dc3edd6d268160fcb4c927a3702ae2b8274709b8b95ef7af90f7ebe1608b39eaaaf1bce0ec57205cba5202c33c89ddae44b46e2197b3fcf35383e0f70628d72fef441a41356818e1068c9feab8ce1825d3a724d6f7981cfb707a3b4fcf9fa11f134efc14b26bd7c141859cda192061bdcc9726bdad6a030b46ac844017d6344f0174c56ca8590d77c04e070770c0abb82d672e690d24e10cc6281df48fc297a5f569e9bf75e583f90ab9257824e140fcc4b7258afb1f107681b7a1a824654894d6e07da18b00ee93ef545a3b8bbf777fed254e87887ab4c514cb6a67a3b0b31609b68ead81912d59e4b4847b0990a523fd1729544b226f4c3efa7ada70d0edd4b4f1432b0a2ce97666c9d2b3ba32d9355f96dd0e8a596150923cc670d729df35e3bff9dd01823997fe745f2ead07c85ab137228d723a4c830d34e9cd4de2dc3deea81807c64a542e456a3f4b12f51802604723a3f30d70f2e5f547dc2263f2df925a5a6699e1aff143d2a7b29d1bd59f712466f45798a457a4e07d58892ab2b53916e8f951fe746f21dff8015fbf1aec29b7262944e2fa59227b0f6669b2e902daf4e237e1e04ff211521becc9af5a6077d72c912add0fb9a54c8d62eaa8ab699781629d5253a1b92efe8240ba664c0e4cc72da8603b1d2eb02b6156dd209867cfd985edb0a35a3bc94891a8233ab5eaa2c3089912581748f79bc9ee8e07ac509114429ecf6b6911771861299cb3c1d91e472cc232cc7a416b0f33e7b4e988a3501eaab41d3cca886b13686e11190c9b5787223bb5e7f36987570c8ab7f2e8f712151408f8fcfdaa941bcf245ca19a6aa8272e1bdfebb3db3f846c7cbeea74135f3d73d9b598386e81f801441f563c2be7e72d3d44c05a18f63fc7f4e5857880d6c14483d02a5c5dbcfa1f35a9eba80e7ef4b3925bdec91bc5527405833bfb6b336b448cd637c2fb89c68e2594058aac3e57296800afe1ed29daec75dadacedd7e67660d0aef9ab6c561623039d0e33a69272e482f68a2263727fafcdc034fb8fdfa8866ba613aaa9f1455d0446d1382aa07299bd4947737f0d1af82d85f7aa32bdb997b67975df852061ba309a34b67ed972241110843eb7b172718449be3ed20b30f50c30c4c059638022e602a21f28633e0eac19e1b693d47c0db3f6bac09aefcb2e24dbb1acaec21652c7f1f21ca5c1722cbdf76d1329a774e28da9e266f60dbfc52b0d2d28bd85947f334a275a433672ca6faef105171e110de0dbde0fa9c3f4fb367af223d77fb16f1f8274e860367224e4011737a176efd6db9554fbdd8dadcd6c877cab05357b9dd6c8ba23d65c6f83baa24c129e9bc56964ce0bd59aac848b65f708d5ca5bc47a645a39aa59892e06fa2fa9f147d7d24cbc6b0970c71222a36481c94549b010ed0133a7c1e91e72428b0c761c3ad5b6137543bb8f13fe31a6f3dbc3f7d9c90597ac406deaa10572bc39640e72466cfc0cca849f29ba0e971587898b5c4e7d91e5855da1ccedc572cff1d4723565d1b9cce424424cdb7b021ce8c6dcb931c6d3cbc3e4871207971adb6c93ba9015ae6601e1e3040703a5f380f57091d55b8378884ceb863515292ad15aa619673056e61970f97241393e39b1b8cde36af47642dbe0513b76bbb019c7299daf0d6fe1b14bc9e1fa6fbd693c867ec0f89eb1f7648f5e9a9a032ce31e51b7d832e4a79aabeca092865c26fb18a85bafac724519a330203f86c8586e3f575e269827cee14319c185d206f7cb982bcfc0c30ca3791992fd5d6f708e8464d3da134cee83b9d144f42efa77ed982bafd67b789f76621e4b7544cfe4388872fa0337ed44c9b41859227e3c8f69cdcc7935ac2998ff8e6708de6270d1f73a720081cdd60edfe6ff20e800272b9659d6980c75a739c454273bd8e6be836b3b72e51a64d2b84a3bd39d4bccb08abe37f7f8856630de6a0d07027db8b35ddecf21ce899d84f9b695e436c4c3753e3552a25e7f977d9ff8d04bd397fc510adae37241e3aa37f816a4607e41b4e38c0a83d7b2da56245222012b4c39f6935f394d33da40e46fa54887de76029fd994a4f1d2f65d5a4a2dccfd293b8f1e521559b17287aff20c39af4f2d079a50263ca0c3929045ec7d907d99290921a19d02f0282fc25a1dcbe2d33608c1196a536ad0913908e6b38ae3af4b5907b0422be5e55d72a0cb0af440ca6429f72e89bc0ea2750b85c9b9701ec4e43136d73d18db88265c10e9b22a4498ee947636c0a98c36cd1f78b9cf76a3bb62e2fdcf1d636ee0b664fc55ef808b0d29be1e696cd531f139f7a30c2fdfe9a5edead7063df1747cbb052b8120f55bd89e692dfafa039232d2be80a2d472278436c7025c1d9998aa1a72420e75e32a719a3409a3474e63012bccff4e116fad533d91580fc1f62e799c2c46282f53bbef46080c36762f6ead8ea9df9403afff560adb7daf897f382fca72107ab3a2dcb83929483c6bc88158fc6edd9fb1987d0967149e0f28dd3985c072acce972702f30a631b2968a322b8d3bebed14bd60ec1c505e23899790788aa7214b500c659424f87574978e72bba08f8e2bf7a1777af86c251e6852c3001d37251817325fd87c8281064faa517029d363f8b1c3caeeedbc6c56b63c9318b143723ec5c9503af2f022f1a8fd729f3e9f54339341576b67a1a81f10b67c63caa2d1b2ae2f6340421a71b618c60e6eee73ee044fce64c335714e2c9b24391ed81688adc4cdb2ee2b3b5738d62168458fcc93a0936eba5bd0d1ecc7dcc94d93e09156b3a39ab8ede977fcfa229e9ec7f66f80286520914601cd19f62e37ab53edf28edb4e5eb8dcb04e51f7f8bed34ea86b0b4f691db385d892ed8a95ca39c1de77225ae437b26b7c14653f53ec17dd006d669c9485bd053fafffe620552ab207072b9873fbb82e36a2ed00bb3e58edb7d0c78144dda96575c1ca99b891af8cf6a1e239fd5459cb5f19bfaa3feed60cd2ae3bdbbc55b1ed01f62591ad31c28f99d72acf1c313c8a119189d07513e8e88e2dd05430c1978eea5bbcd65722a8aa2027254d61a89db0ff37566f7a17ef08914ea6bb664467b166a56456c54204aef4b72b379477375404e92eb6b7fa112f9d610fa9ae55d83edcf89d805fe05295d0200d8b6faf225ffab5cf5447c9a24baf3327f6347b4f778bc28f8b2a7f76341915fb73e68ac5cfccec0ce10fde844e0483f37a3cfe815506c33fe44cfaec1b40d72398e9b501d51b0ae7cdc0eca5074d87795a030a7537bb20e64abfb1836751972ef5642908c3fce5f7209359a37c093edec1bbc1a8c942b54c8f796c70bf9d97290ac54239fb39e24f9ce2f0d12d9f6fa87fdcd5f1bf1652bc11c0cdbab30695538d71fd784f90e60f9a90ef7cd02a7a76203822771ca4a087d6bc81897e70272d96d3dd8006ecf36ce3fe255c39b60f76d13316fa7dbb33a3e99339594358c72f3e145a14d7f05a56e14230d77618335b3246f89f58c3e90d39dbedcfe492672ee12148a09eac9ac3aaf670e2c67645712724550ade77db9a2094ba8d0aeb072a28a58a85409e2f6b9c78357e32d9b33347915ce3094cc50709af92ee7288872fe92fbccb571f46263cfaa6ed7e37e34f78464669b16f7ca73f9963132f4382a8ac45d02c17f734b4dedaf6a535fd4b49801a5a4a7e580d06ad3cac7d62b0540a4db72f22c73b4b58a4a6a102a4fc9784d99b1231b51d9c1be880b994142fe7251228cc20102b8a54cc9e1ae33e8d21d6555cd5b5ab960c7346eb33ae768c0729427666a3644c5028112b0f2d0fcfe4185fcf873dfde3aa3a9b64cb36d27df72b027ab744eb148fa24cfbd6bc43b8b08feaf289214603f85e06a0f3aeae92372519c78274eb393c694e222942c482182c19e257fb0ba2940b87041d64d0eec4e04dc33246eb6ae3a62afa8fbb22f2ea4e734616cb5bbcfd3b817a172cb401c72a8c3d93e1a15efd8a6b6903626b4b3eae2ddafc6425cc1d14bd41e30eecd7672086a7f8bf95dc9d4c970eb6b1f20ff64027435cc19f3a0764e958c4c44e6cd4fa67026fb937bf0b2ca239772ec5235ecc6891e093a116736588073ab8b12c3727067f26fa63d9c03dc862c0aeef76bdf2aa196d05da75b67b4fbab7d4855f972bf9c833b1d08accba4eb3c0863804c1b38c423af551bf5f2977204215ea660567a45fb05a7f86298ea052de76b64e21fe04faa0015a905c7155154731b2fb472008671e14eae47c21b16e5b40f91f1704bff8088f62b5bca22b030bb1fab61727b8a9a78566d818812717ff123be9c4dd693ffa1a6f056e26ab271af9a8ebe72dacb8e095cdfe2a5b1fc14eb01935c72ab7a7d0eef22667e4344b11b46aa3d721f4e6f59ac99b03799b5c1a9e164d24d226f03428d99c43c4e4d277946a4c515d160a022ed66bcd79284d5bb06fb65f2e2b2df11af7ebb77e82e726fc640534250fb37bca1b0de6401c8919ed45364dfd0a712fafdae65866ff737d6c06ae969421c0086a41a459c45fd67406e046fe63effce3d6b6059088d18e7a626ec3972dcdb55bd916cbfccf487328e6abb724cd369ae409addb98b28a1786bc77e971708c7986cc5fafc7090972d070bdfb4be3f160febe267f7c847681c9cfa070e7268a9e8914a888158f3599e430daee704dfbe6ae00a3b1450b92da8b418e09515fae7502d364bdf343890628686d0bcdd17ce577ddba3c91984f1e7bd98d4ef72966471280d9f77d6658627030782684e27f86fb16b0cce4611a4567e43095b41673e0d05bdbbf33bb35a1e742defe1932feeda1042fa4bd6086d2bb447673e3d2134fa328ee50608d5439f657ff045c93d30474a61f3d422a684a71d4a1ef0727b24213a5f181d75dce2b103208f7cb6a7dbf38b7daecec534d195b484f5e61847cabdb9c6a2e3127d8d1e01d00b42e10f42242d8fedb3e80aad3d652948694267468b0d9e8561862cc335e778885d651716de2d9436c83e66d319d08bfc500192169a47f82a01457260fb18758eacaccdb5ba75c35441cbd5990bddc3ca92563c7c461c2efc379a79455420b482a9b6aa355f250114ef23ace8b2a3afbfa57210157dd86f32ed7210f2753d7ec0c7100991da27343f1b86c32426330fdb9c4131ef3c1915cec9329f0cc5cb9132d02dc2b241cb5c46d974cc4452f5a2a6c212e1df9703ecc3438726e67b692b863ccf6b9fabebb10dbac41305dddf00434572f4af6d5fc0706f73849f16aabffc8c3d2a94036e9ed88c8da0f367bda2131f72652ddb3e71fc9ad7eaafeda0f9c73736facc190a1fc9b40ea9e33e30389dc3723212708d7463d0c441fe7c111d370264bf73b7ae7049791141ea22e38948727239d7d6cd0456bfcc21324ae3380f1756418c740cf45b0ad3f5a38f3cba144d722e35bc9a29d8b00c5dc9d45e70f88d3e3a37209c2b67fd8b5b93d0f7ca143b49d33b1e23645947220105d33e8dd089e9e5e16a657b73ef842b6970b3da023c2cb505ee8155aa0caefe03ad8f36106e1bf657c415198b74939a8e4892cada2a7226abde496befd2754d66e4e4213c4b2d9e54bd85064b828ba7df26c585d7391ff18e3af51601dadb3d0072036d26ca11276f3eeb0eff04cb8ba5dbc418321972d6520a80dfa7c856699010f65f970a9258ffb0b00a4973ff693fde2300a72170f3c7693a90b8294b445b92c91ee87a5e9b5718996c1dd8adbc30337aaa2a8241e8c159b4e5b8f4beb2338b3bda1576905f8fe7b09e81ae8e7c0b2f90bfa1cd72324aec32dbfbb01292acfa760f47cbf7d80089841fd7268b46164ef1cb7729725df409959732d911f4d3a7c4efd7d285067c57d30c6cbc98f4ddd26d70d1fd72a6feadb80159f28eeabaed725029029f4388a1a3e0f75a5be253d524c45724723e25d3fb65286c9f6d43f6adb6ffe2666ef1687d9b9c0f1df36bcb25f2859072af1c68ac2c867f3f3ec2d36b26fe5290d6890ae8b2340ec73c019445adca5c72ae1d918c726603c04a22f9199a5919d64fa867579592bfd4b77035122a9ce1724d164eb8575a8feca668e8816a021e91789767fc84ac33d340d25ff0fb81ae13d5487ae158d4eb2852f006424f1e85329efe8823cedd0c55b4b427ba603fd7405b46458c0c2a28e49cd3205a84816a73c1ae106fe9c94ff0a669020e4a8405263cd838ea3da8d1f508151977bec7feb939e2fa84aedd40fe45e622cdc204935490d5b2900232957a943763621d10e5bf850702018a27a3714f1efff917063472927e885f0011bd90859cbcb153af4e3a842965eca67f35455d5c37c9cc49f072235e273020156ccfce1e94646d1b420fc360c621a37796707a0822bcb2c85d2c6b1de240464214a33c41253b25a6c604c2e33e48dc9c0cf3002a4c853d83e47284dd4ca76a28d1b9ac06faaf8351495867b64f29e56413b418f422c0f3d370722b3142b78be1cb73ff3f2680240aab480de992ab480699cd547935d158872e30db83e536cfcd4f084b79080eeb50e2d15470a77e06c1e2d78d27ade665aca9722ce7785c20b77e797413fbe2137178bcf13f8c9f59d8a903461ddb16f7793472a74e0993c1ea1eb2c4b4df2069cc2f1107750f18c5c4a5a1d65cd315acd56872049a05fbb592b04bcf052864f4a896a0137262b9e5f41612298d25f1221ccb7290524478ebd5ad8b71071dc80666b13c7965f0119a3c8436bbc11ff78b45da406a7195a794d87404b3ae55efd95265fcdf3857c57a801091ed38b4cebd04f23fa501494f18f549a367d465abec69d9ce4ba45a8d39bad591f5f065fc4a626a727ffbca0feaff8ae72a88b30f212fa688e199ceecfdbf6dd7cde0077d0f955e72bacf2a7db9fb95b7ba7323e12eee634c87dd093b2add95eefb0dee4e9762847202c0195cee0f5318e8e83b7424b720abc7da89db79c6c47a847ed86768184c72703b462b41dcc5193856d426ba0231a407e98a6174352a9a3ae044d2f65e082a5d01775fd0b834b4ffab54adfea2deb5b0120ce16821902b277a3372d50b3f7226d122d31a9c353aedbd347456323e9bb332802b9f3651324db85533d8bbf87282709508a11d10c5011a7c2d3f15f67ab6472ff7eb252843761d174aa21e42729e5560daddfd4f7aa1be8e93ab2c0078a8783c35c75b7c8ef75f81e768e11172b6a48bc0b0e6ea9e6ce5b74a7316d14d04792b7328b8a10987ac8b05b5127e7242980a7489269dbdf866521738b4129e03a554621e997dac108e7d7165c8e834d5f0109485bc8d1495ade3f1239d3f24e757201c9acd693f37f6767305299b723a5157eae97c7571e6a43b94bb201d07cc5bda5bb2acaa4f208a0a93f9cd4d6d8199b100b02fdded8b36540550fb8dae3ee1d743dcac43494a6d0abf0ff98572c7f7445f4e1beb048730a5372c4ee917fc7106e504b02aee44e0a55a5550c072d66607a5faeffb0450129f2136cf1d256a1a5387127756954ec7f305a4ee45722477b7bb90e9e8c8689034b15f742e347ddf2c5db1b3520983c3b106195010463d53245db79e849eaee70c1289aa7105b5c9c223cf51a055197fa88df6aaf072ea03f575394e64a2dea01086d5604f66f1428f6eb2c610c92fccfce7af585e72d2f2cf3e32ff94987b5e916e01cb04f7c1067d992b61fecae11f6e733a293072d1bdf47490befdc33de9d21e4d895c0b905766a7e75c17c682cadf52f91244722690a2e335ebba4bb65d070935dbea6b36115fe014bed4f919af43f9adc67c66680e0f1d36ca81d4d3f4be5bfd4fc58f935a46222d82e268abc6cf3d41f15172858dbabab4b4330303065d3d598dea52243a9a7920ff3c6c3ce246a70997d31095823e745bc5ab9d8b9066588567f988b17c4f39052b9626d93cb999916bb137e47e24f4e2c0b1fa131c5de30f33af7025a467a4002068bb500f3ecc137a7e727e8a60001d9489f9ce180c4d9b3cdc0b9f0421401baedde920fd97c9a4a6e72c406f165c2167ed79a91d6dff3b895637c4c055428d81ac55f62e5d32e3d24769d238be8d6cc44497024477381aced561a5c4847c178aeb7ff2ab283ef0ec1b3b1ee727cbe06d860bc519a989e1b6f4eb2e7f2cf3837be161999a31268838a2727e96e7eef608e36592950159535e04857f3acb5a7d7d6685ffaab2d26dd11972b39e5ace82d0ca7c62e902e09a395bb2ec9a153b45343e7976661f2fadcc3c7236e8b0305cd75806840176b46b58fa57cac129fb9b2f46dcc8f47411bd64e872e4877157fe509a87a1058fc5942ab4d95a3d2359bd087819a18e810e1b4a2718a933fb613d6ffcdd8ee2658354a89fbe7eb5002e1f7499cd6c75e59edf9a1972248522ca7e4da05195af522991dcbab94bec51035295e0cc26880fa1ad138872c3687cf343c8134f027ceb6d07cccee2ba8d75cc529d3de165e220af1eee5557cead641f59d4840e905114a333651449441cbe4b137b5d8d36b4441bc914a248d2b3b5948144c02b6919580c2b72836cd716b1c59afd0f898132184376933e6965f4d7362940f16f7b176d4146165c565e07049112644099a29ceb05e296337234829174784756c93fc1ad73ff36a7421ea038afaf88cf786c5673d15a2cb763c87e3b73ee9efea78daa7c00da124a2339602e4a239ddb03b04fe0afaa89ac5f6237f6f11b9d7be55ae8c91c2e03206797012e81483f09f3d2b986b45f5afb721d7360b174973f9c032833a94698edb476f7eae65974ac50144361a21409ea72592705e25a575c0d1505a64bc7d295843dcd54960bfefaf0613e30ec749e707297d38b5cc905eb8aced3bd3b0067f09b9e4482cfd4ec782b780e60a509f0e74aad4a6005ea11d114bdda3e9ee996197f12ce014d0cf473a415e4f0afbeb127726118ebff2caf0423a02e80ea2a261c2a73af2eae99ffa9f4ecc6710ba89b4956318bf4d9beda744d5015dbebaabba1ff1d0cbcfd9ed1836324cbdbc7352b4429335fa2a62029d87b414c80394a75ad19a9144e857e9ed553b4fd126411df3d14c4c9d28343f46c49d1278d31df6c09f88c9b56a287bb1a8fbb7d96abbb675a727c911069fd3707cd5cbf55283cde2851d52edf8a04868566f7388133f5950672be7b985dfc3c0981c7769067152b9cbc15f23f74f8da2df9105cbd6a0132cd0bc919dc0dd8488915e52f76e69b119b47099e9077b70f5ec51b2ff4fb3bf99272c78f76c3bde861541a04a482593b400c0bc861a40b457cdacb20e4f9ab11af728b5983f3d7bd6fffa0bf218f8354cd960c5c02b48fe580d8b36b88c8c071f9148d073e3fa4b0a7eff9898744a31ebc74d29855c92db892d113d6e533e5034e72b6a19e7b6d0bca707fe1ebeef216aa7147330c3527ece4eb015f965b61b93b7254de1f1aa1a5a687a1170e59ba6680358e221e16e81013a4cbfe2140d04b92021d795052f3531efe2f00048b8ebfca69976ff853700b4cd5f7cd6e23c698b372494b436b6e8703da569be311916cfe4d51502dc2c949e50ee9cd31de5fd7e372cd9369e26a57b392e3f1237781e551f574df15c351c0a0af42286877a58d397265ff51e1cc2b4cda99e2014de5cb4dbffa21c9d549a8ca12b494ceea3cb088569ea5c243d3d1221f9a2feee89341cddeedc85f48cc1186121c2dffbf335d6d72145111e5128c0f0f0f9d13240414ff4ccaffa72d3270258d49f2866543b31b725b1d29c24c7a5dd2d47d10c5ef15d78e9d4092973bf6c8505cafc2ad1cf1a73ba14efba0f1c3eee5f6102384c3e3548f38dd3350e067c47a32a4f7df59551672240e18f02acee1a3c4bb954d88b929f26863ee84e52c5e6825198d51f15efd724b4268a30ae59e198c6906de7bb2045813046d3f7ddd2673fe02f3f38023a2726483ee17b0a9121d4938177bdf1fef4bba888c19c316c010e3723a63d02b8d7282fcd5290ae4e104fcf6646866a81dcd51e86ec79bbb5416f3b224cc5eb58d5fae40ce684a7328bc078551b2b2007ade81b199ee5573a854577e2c1a8b18e872a5c214917bbd585ca55f8608e8f2bfbd7c7adcf3345d53ce0f708870e968fd72b74cce148a3a96007190bb8a089304e3d576b582a1049de7f3289472ad52b45f9492b52acdc2bcb3c235a15b1eadf76865372491861a8b7e6127e3c122515572a11804de6cb35cfee2caab2b0b76ecf5208cfdde6946e0e48b74fa8e5a5f15253c17a23b9024507f20f6d628cba51c5db51dcc1a5f1b012ce72c1f0b3f900272ce5fc88f8a5475796a84faf4d92b0ad8b16d46b6985773c6306b722ab571a972cb336a01aba8a68d9ea27c21a3ac9fafbefccb6784633bee18aac48640ffbd41ba90e4905c9aa078257fdca793e3be812097151127e0ed613fa50cad4f9b2155da4d6d554b806655a157ffe9b18757623a1d8ce86da76605099263fa7c13e672ea74c2e4aac2715403bd4d74590380f98d751d19e176da963826b7a5501026722648097dbdefee90ba0a9649d2062e336a83a44b12dbb0820f944d2646c2a76d3fc915cab6e5fc5bf57ee997313ec9d814cd1a179f795d49d1eaf0070cc3270caf9f5f32d0c76108696051ace3977a02074712fd2032794d4044f494f8e9d25e96ef9c983204bf985188acae6d0fa22ab638fac5e46cee100a6eec65cd47520ad21732c9bf4552462fda28346dd438504678ebffd150711fde15ba5713391c727f2e4c85edc6e795ff5299474ab35d33f6dc40479cd41c678ce179abc9247c3b09932ae482a48840a0abb0a1b94fce6b6d5454a1cdd2b3fe02dcb656ac8eab5473cb315dbdca8bebfa42ae5129c6ebf500a37bceee1f1fd7711c80ca66676750cc264911a4f656e8f480ae31beafb4482dee8dc59190c154b9cd8944c2291429d8b7e226e94df91da25b8c747463515e140313b98d11a9539eab52738d08111a3f181278b67f370adabc586209a770d22dbaa852146334996a9c6765f5356172c47277133ff77a641105288d1233b835f13d428d487ee23404139a30bd41224571ba576d84c79b7bbf810969dd3bc6a0fb2d1be4b339d3e74e54a76f948bbe50c264caafc5f16a47dc16452b4a3c95c6c6e72debeac353c71bdc36167277c048646ef5eb312db9b22dfcf58d8b843abe77477199451c37b1328b4efa5f6fee56a1d1dfa0e9e655258c6ad7bfb09906f4bf6b9cb5c86e125115e90370a57ce072b485657ed587606f0f003ec6bb77f118167ded341a641b611561f40a34cd7172afdbdb52ee919da38038190612d52b79be27004fbd4234af362c2e6372113f234f8181fc0e6db093822eedf13bf24fe5b9e4d4a43ac6a5ec8f03ea21482acb720ee0284071f98b647fe6f1c25582f047c7b4dad59051aa7c7cef5e2f7ecbbd691b44a2a8cb36fcab1df9c9047a28d277841f5c64b427776468c0028877710472de6d2520e0531bd2394b5a121911740a3c3283893b619e7dd41c191dd0d8ed727ad6a4246717817fe6333456be6c0ff0852c623b43f2cdfba6d3fdffba91381c48b41797250743dbb93feb8bd18bdd0b016c34bb495356da2fc13610bf7f5a7270c3fff3adb373f963119b3b01deb08f52bf0c6f66d818f52f6ff2bac27bb026e84f38a44173dd486f41ef124384c65de25e0c15223b43ee14d4b4cabba9647239d5848623e6a6e81b21099282813cc5c057e73f1d989873e982daf7454e67727044c2877258248a81b8abd41019d0092c793c11e3f9eb36ddcc5ad91c522f6d1365f5ac914d1e6cc31dc7d18d26fd0f8113ceaf1c8e75f1525f3ffae5c2612fc3d0b6ab106c6a87e10260ae59f79688ed3971db359166f0eda51596d4dfc7591421dca3e7fe4524bd51da204f0abf5a3a396fe41cb6400057ec1ac8a1a02a56205ee73acb926f4e0b0864d36dcb8b859104c6e52551b2957c1367aaccbe491f9eb186a5e42bf8adec3ff04eee477e43f1f7bb9ed6c48053c26fb4958d8581725b6ceeb3e2e4cb5644c10c28549efabb0455e8b207c5547a9a4c213b061fd9727a2684fd0bef937d8064df5c616b0d29600f3279ffb21e262f864824c84ef906a2dbdb027913fa739e250a9071243330f69aa2d20e71899d59fd7f8240b5da72cb002015cfc76e6bd326e8399f185c6392c717e26864df57f5f0b590df172672b8384b7f6c2f1695e10d1cff0aaac02ec77f7bf0f30e807e6074b9192e2ffe724c48dad36dcb342222ad4140bb4e6640b69513b017711efa12285f4ae955a13e99c6055b0eb444c7db62fa8a56097018af08faa1581b9dc212437b894c56b80860ca967ea4bdc30a58b47ee50687967a2a3c4f1b012d896fc376a306247ba6722d01bca9c29095b6c7d68d9e0b3cb378142b0938960a7eb28fd79ec1b29a2872fc2b236816c69afec4ff22b8b8d2d969f0b82b0af2d599ce0e92a73baeece572828fb257e58ac2649b051e6e539de3676f5745a7c87a28a307dec243179c956507d274ab91aab1833118e2b419358329c2fa7bcf766a8448fef15269b1175072b08253877e8d3be58f79913997d07e5d88eed7455ea312706d0259ec43fb5372d15698def71eec8f8b2114b967a0c35321a204dee5cf0dfdac8c8fa202298e3ad37bfdb1c24e8d0282c282e4738a3a37e1a85221d64f1b9c8c57fd0067357e72ce017929d6c0c8d16ce6dcd3ef8fa10822a2330a3256a816f970ae4bce46ae72e5231d70369dc6632f717563327a36e1a98c58351b74e633c9e10f32790d1772e3ff58e1414ee45b5f6a87a59544e867f64dbf0491e8a36c071d6aa25922d472617157e1a3871d7c95b2e8d10884009f9e707b18daeee2f3bca6f36f26455d72ef44bb7699c00f8797bd0536cc924dac6eef888c76ad672a71f33df6b3cc1f72188c5c6741d58629432b85a8dc0896bfca1d2122332c4355ba07279a208164728d8bc195144fa48c5f93716acbb4e89a1a28deb0f99fa229520f1626082e641d1e4a12c0f6a8f5c2df3059e666381ce05ba711fbdf6edba1f25e7d5cd6b05372530957868c77949e818b452c8e5d77df2c7cf82f90f23128bd473f2dc7e2d072ff0409e2550b3a6905823e1bcc6fa90cec9da45f29064392a84d9b86dbf9c94caec2a693e1ff15e3b7f688ce470f5c53b02b460059b5192d4c99ee1feabd3a4129930de2aa97859919f76542e14e1f69c1a851d3422ea5efec7181de61511c7201d957b01ec286f5b1746e04fcff19d4996d054af49b4d6d37288beb7aed19567594c181f1d94b8ab40e32c0920e4a520d522ca1311adba319c0632f12ec7218524e9d8db536376b28cd309aa4a3377ceab391330040ac6d0462746c38358f6cf06a050e63c8952974d4cef608c956c90c57595b03ed8218b46c25041574fc5f40f0a6dc3073206f603aaf882cd313cd09a25af45fde90c5e5b6990ef17472722942cba53b0af041e7e545056771ace1219b04a6d49b0ef5d996645cd65eb87222dd70a70810eb25c0b8fe3d1a346e2785ce2a1c38f1847d42ad3c9e0d8e8672210998ad1b5867fc19620c91a860bc2046a73a766c0ad5ca2586c2959d0d66378a561dc9f5e7ad37035e40157302da04cd56a0f7373edfe590a34317c2b5ff6ac088e702cd95aec266da459d1c188f4716859eb7ea003b5433a71fea11831e722e83e351a1791ba97cc2ebf165300a9632aafb355389c9c011d01b81f7c16a72476497f2b094f481f5f6f393d61b99d60d3cd6d0cf4b24df4d7157779ba5ba72468955f6e76d15d429d176dc8be431f371bfb9944f9311dde55a3d2578fefb72a4a2234203b1557d77a9191016f442a1aa79776e26ab252d414f0561846ea4343b3ecf85cb71d0b414ebe9cb9d6d24501d60536d944fa61483a1bae92e9d3272074951b44936dfe83102963b0b4a1c20fe3ac3034e9cc7e2c2baba29480f106451ecd483e548f1a86b3f57a431cbd0b86104ced0757a4e88d667b441a76516724d198ba7b7cd7603f7f32a0e2cfbee55ae07835711dd575410ade8a8d305167287b173d594eb3e68c25a4d4e063904a3a1d24e2a2d89586f96a33379234ab772c3e4991c041420001728e4602a273148a9162eb56bd36dc582aae6eadd272572a8ad7d8f9d4b5e603c5044e8c97f5172c08daf7e4e0c95b38a8118f10e227462d1061adc0355044c2142fafcff14bd632b9fa9726e711f3b3a52e2eae225a236cd2cd276644c3d1387239e49e04bb065d07d51db8331223cf7a5af8d867c124bc2c1635dc3705ceb1fafa3cb1466a0d34408fd60d2b69f8ebc3b825d6bdf6a727d0cf868477584364c14690a00c2e2793a81d373451461a40548570156b2992d41ee6c8f6d5e2c383e7d4ecb54bee8de72a3cfc2fcac85be6b00470b884162722731f096376fbe1199d86e7cf1f351566bd73d78ffb072586cebff6c31c8c372a51ac607627d1351f22ca989322d3e61190506495fdcc958f69764efd2a1f74eaea5b869a4fe0b44f6c67c2ab5d8dceaeee015edb1018811efbe8a735f73154783520ea3759a6acb6671111c956e75c15c94f187306eeb09a8c344fd17b2bb72b8dc1575b45e7022cc444699e6c8d36c02017c627862166ca4b546476eb9c872e86bbda79b3fa1b9e2921fa8451f2b22b7a600f89e0507b3010f8e19720aa772672b44dc78dcc5c775107b831e9988336da3d5221489f45432590b21d5119c5c27a7b0517169db747ad4080cf144e4016eb17029ca7861d9ee3aae593fcb2e7264979c33529b66475f43c0e650572f53f05e5cff1ed04ce18f23a6ba2d01b472bfd37ee926ac2d3784ad377b68c33be90a21c4d71018fd76bb792f30e1799472d43cebf97bd822e4756f4ce4e5ea36e86bff8371779fe9dd7c8e056a83917172b29fe2c6490b5993160dc7d3e4318e9383e51c791d67311f031f0c730556035aed371e69448693912f13464138f1c4ec1502b201bcd2170b7da53a13dea0196bff1c869d818fd5495bfc6403a43d2e7599cea7a85d6f2523ada860906be11a72913d6495dc47b3c671edcff0c46d5cdbc777ffcc97c1978ba5e9f4fdf3366c4960366ffcc4cc23713245bac3af09168c0abc75a7e04a61e793591d974fcf1025671d9b61a9d60b70f8758f8f9724281e53ad9b01986d3f4aa768ef87d871f854e92d88ad6eba9434bc79019d1ed4520adf9b670753031f0fa9eddcc36ecb7c72e49e41485bd61c11333a1d33013250f3caf76da8b2b67d46c747d26a0df75a53ac53d58f1a91b1e77c568caec53b88ac3bf39660ac89de6ce4fff7d393b6aa72424242abcc40b5308753ffdc6511ee51abe7d1e53b5e99cd79ba3767b35f8172a3698587ee35bcfe71131c62b31c373aae4a7a5904ef415bc2fec19ae8ad507262570aad69e989073b331c6b1309df213754ba1872de6a62d3cb2262a8459c7280b174f95567a8b06c59369c97bb172b7144878acc0095884fcf00c07e811249ea87bcc41db3e74474227691e90ec1e86501e4adeafb43f51e5713eaf1947072430cadb0f6bad0fa29e852c098d042acadc70bb241474236ef41f41311602172d31ee329741f233277bbdc49ac424040258b8e82dcfdc7ec8daa799c8aae847232bdf4c54ead1cab53810ebd5cc7ea2a2e7dff847de5a16b63f5b4f6b74ad20baa0cdae25dcc13c0a573a01bb3fc24d18b5e6c40df680ced1dd097434bc2d6165fe288b0e9ca2a59befd9109d482847c99be3f98c1468e2d4f7b0741ab2d9f5cf084407654cc975d552d9a83bf8f31bdaea1c36d913886595b61207ba15b204b210d633ec46a1a6d91a47bb4c62dc69808c1b49dd8e26aa172d0e8d520e08472cb99ff7ac6111f4bb7a1fb7a33b5a3fb635897276e49b2f0f57a95a917f7b272de7f2969025abce969af4ae9f4752f1bc8653b0af158c18d95b3279f158f51724b3a7660c9c84cb8dfe41fd1d62c7d0f5f63c5bd2d5f0f30a6987698f95a6d721f65db54f2b42a4fdafbf39f35743b7ee845f02e9d4c302fba05788d0fe97f72b74e9d66d58b5a3858f09bcaf321b2a2dc3d5c4cbae0f335a9e941b2c7b98372677a45974f65795e4c0e03208857c75f081f563f5074a5bd1c5ee1200167b8725c9984cd1ad442c32d9ff4ffb4fee47dda2394a7a764c0188be9b2b2e4800d658e491667461a31b6c7979a8db7e87aec8552a40b6f876a52933ba43b75a1c94a10b0fa23767f04a8ae24d89a56c6c32f2e502dc025206d58674f9ed940506172c8e78a9385d78f6aa4eb192adcf497c9b879019d40edc2baef5eb01baf112172d2a28c3bbf992e40d4f09ef32e47d71b5426bdb267312b141e450222461e59726614a8436cc5bc7c085d689d5d23b371732a4875898628c9acf339b44d87127248e307725d3465bcb7616551e7baef2f43b06afbca32df787c80782fbc768b15ea6b9858ac2e868c5e4ce832fb6067b5f1dd87480ac5cefad0ad4beb66e7cb14d577e9bc4dcd1819517caa682af575392fd08e2050116cfa7ad95a162b38255cae39f142c03e2ae3bdec840ac4abbc8cc922babc3eee1a8cb4878aa111a6457295bd56f3e57701d33f164416da0ee897530f207c2fc5e8911275bf158448b506e4d57db2885b8b4474d95775fe3fe32fadbe29d5b1473247441ab2c2d5f3270c04e1b1af265d4ea583cd9137050ab08c6d7cfec5aa13f514dd80171e2a48bd720436037073a793f1d6e61678532296d76ae3b2b5b30fc13c01a1f730ee6ca517d75c1dff3c2e48cae5b88c3254afb71d091e2b2680791d5e6dfa3270713290723333f5e373d1452b44a37635298905214caa9cf809834fc6e69a1197345ed2725320442e779a083a3010ace7b6a5038adf15c01d5f1578ea317982c3aa5e960bd82ea490628c45a6c483f1d2d957a96bc6936f95a981569ee55769fc4b37a3720b1c5e024c3657f31ccf107cf5e7b5ef458a0978e469c7033582dee104c47b724c8ec264c5e694088df7854d3843d3a0162d98fea3c76acf7668b9bf4eb98f1920150a8553af1b4523834a2be5b7b51bacb800b3edbdfb585fd0adc575abf872833c58e266c59f4a7ab54f862de913986f65c846af4f3f7c99b53c22dae8e1255700bb43b933a82025a1d53ed07a992286c39c429d37dd000f7eef1c86d5e772218979bf16399d4a2ac50bfe234545d07d0be2390e79b9b9e8d315f330da4c72481dbcfc9f5f46542a45a5e281ed6707096c939ce5bf4539740a7df039926872d7867416793d10ab1ea161a3c819798f02c4e4a497f348d81a3484625f434672c00a72597215c50039ab361026b97b88afa9925487576b047bcf7216c2935872be9a8bd33b0b646efe1865985b9dc12bfc0db0c43b63a2a5f0df7b37f31d56726b4e125a1fb84887195eb4591a3b88d3822072293996102514f315b6d1ded825f7f06f9421978d5981faf4f5f4d52488d21ffcff6b14b04870642bbf50eccf5fd824a648027251f94bc6b20d396f5092c44f22c41bf081c9b8b253a7e39a7972db6aba7bfe5faa14311a003ded27e6a501c99b7f137c364562e4d5b4e4090d7290a94f4afb3559997e4676c214f47c42cec8f1ed539817b076934cc050037c7294034435aa47678fff9f156675a845ef3bb50e5cf63946d6b0e53c09cace007214dfcf0ef0625e1af43926752b7720279749748f36e8409abc729bd1a1b9ae06daec9ea564e4ed301a77ed7c33911ec044d82e9c4296cc173c0f01298506c972ecc790eb0a63faba74adb1f77fa64068ebab8e3c9840be74274374af0250f3728dcd4f350b571306278c7fbecc95c6a98d7a16faee8598801d101bf0ce90471c113e12223604e4cd0d324d796ea5c52a87184da4aaa490c5fe08a00dbfcff302f0c4a94ff94f98ee3b0da425b136fbee8040cbc0670a6f421504b2205cff6d4797124d33603770a2d1d9e79cfe90ff43df98cb43e0ad0858e1b39c2bd1713d721b2222f71a91e26c0c722aba90a22ed5eff33601874d7be60cc6bdf5b98e045b274496d955af3db9196011fe0bc73d7ad077a43368d92e1f20e7e23a4f60eb5cc7f42fb126b659e141ece5c2bc3c984f2777c8ccf7ac55cfe85bed19d15c0458212b30417a74bfe19949bcc3ff2bf70bd0cfb2b92df88b627c086d814ece4a72c47b041bbc0740a255d984e729cb6db1551cbefed7b31e2fd5a673401bc24e53e59433bcddb4fd669f056d437d1c3a2644c75d3fc7bfe1511c43cf9b5c6b5d454fc7f6ec3852dc4c2f38b742f94598c9267b8d52434f34d88d6639b6f8584c5c4f3cc00a01fccb31efe09134bb2ecf20ae6d35a5c09bb076ea78c1802434bb72ce7a7ee0aff4d58b4494d9273614fe054af5cbb3edcdce10c3df402209fd0f42364a2acef9ab633ce4befc6fce152443e36c92f853db5583f9a273de97685a7251b94b7c3a6476a1a063e801d34df7f43823150cd2c433803b8c104d88690a72159a2cd07cbc935f0ac6c3d3213bfe91981808c2c92240bff40221587b1cf472f85e32ce6d093117672e4fc41dfad6e79e413d3f0780478dfc766665d93e9c72f76447f6bc323fffbaa7983ecc07a6e614c0a1b180ee41dfcb5ec1fbce2ce40bae968300561a1f13fb5ecd51b9ab30f7de45ed561e78f2a20f1e1543e72f25723de87b3d39480c5590ebf7fa21f494915766726748333512ca532dd89a15fb09f62d624e95eae3720656a79eb814ac96bbb79c3909251205d427542b0d3f9b1ae39d711c1243412bd4948dbe264cfdbbfe0fc03b725582fed462b386ceac8d729be4ebb8f92c7d4f94279f8f46e2fc0a1c76712bfb9ec4eda7891b6bec250d7204dc32fa43012219740faa71987b0e391346fc6377cd1ce5de8e843deb4a0d5d600eb164c24fd6639a1665145ba3a31d531c05ac1eeeacdebfb9c7c58a3afc2b736e54ba5204d7f8d946db3ad89bcc8b0e4c00f8037cc4b977c00f94b2b60c723618f3f1c33c121b28520fe5fab7fbceea38e7a8c3432958c8a311aa8901506752e7a1bad17c577ae8591eb26c33bea778aec65167334bfd0891906646baf2725f03b83c3e1f19f47f96b7b9c459fa70687434e199d213968086d4d9d414900927138b1a2af36e3873157cce1cbcea1f0afc8e07691f71dad53f660d7cee8172167348a11b6b71a9bb281702526cf82fde7041bbe108c934c25cd237c5d9d311a6c54a24f4a659e0dcf0e299581d23bcb727274d4be19df0dcc536b097d92521565b6b40db6bc877e86de879af614eee0dcbfe4509a95366c8b0f3264467cd72ebd813ca1d9401e6c7cc52a46810babe4b7d4a0eaa5af503633bf73331a1e57200ed85a4339afbd44bd91cac01f22e63b873e36313375b72b2897912127a1b5c33ea866ae8d61ef0653e47673f15db268882e0ce3ec6e6ce7d0da6e1a9b91725e21582d6a092d83c3e841b78a0bf639fc83d3aa081835c96519e9deb6cd11b726c3cc29a12f7fb7265e30fbe3e963d5c53a048a385f0bd702b5ef51f1f59f47260c2fc9871f66848e6c2a8221134fdc8fb39bfed94a11ba4645feab0da53a572df3a5c3b95f7a7ec30a4303474c21dcf11249b6eb0682fb492592d16eb561a726547dfea86695cf53a7e55c582a11a2dd74350f2ef34e88f39e55d4321f088317f56cf5c87eeac3de4980602e69dd3bb55cd71d5f574a681bc099d6b1c939272537710956fee24aa4b33bb98e12eefec0ada917fbe5322dd085ec2d3b9a77972c0e3c7598f346ca4e9d173440ae1b36c01f212cf88520ff53cffe8c45feb7972ac33d4b0bf1579bc6f874e5c8766814c9359f17706bb6f3b8bfeb66edf4fc172ac2e55382f6da2e319e81479b476426ff403c01ecdd565edcc13e49e2428be72ddd5efbf2d7ff8346e9bcd4d5b91ae8e88607ac4b6bf5b8c1918cd0f314dad3daf77d2196c92a26b00e9b616da6c04d49a160a776dcc30d642b4c973f092e2720290af94fa5e5919f6acca66223c40163c35ff7bd48268603ff10d42337f26605f2bc2d0866eb27eee0a77a2a6178cc914e77f5c41ee1692b915b9ba9407ef6e9a12cb95495358a383e589125a4b6a96cbc414caccd59f86e9e69ae8b730471a42e44a6361ddb0232f16b6beca3087c660116d72e7d95a91c6676dcc9ee4f872f9b1c344e0b4937519ec56a07d58897749f8f2f253931e3109689d14beafa71d0fa4d38d7b45443a238a485d4ceab7358543663b590e26d40c92c342c8a97d1962cb6dba0411d2b586c30114daba6ef395cdaff3f8ea4850cfce2050f4972b43d1be8e39e759065024a5d2c78baca3f51bdb5fc956758ed617c7457c32d3b8700257dca038eae810d95b44ad82fc673b87c8e33f5540cdca11d36fb9609169729495629e956b75dab12b06160fd3e3d9949b1e73290bf15683f2d5270c9bf372949864969d508832a2de22d29fdf97651e21e2c32918e7ecc9b4036d41f2334745d4219ca717b8dc249d3a9ceac59b5008ec62760f5184461eaefe13a4c5fa721890933282796174416b7a440d74ea93e136ad026610dcce8b1ed17708cd915d17a6ba5dc9c2dbb88057749efc9dfe932c93002c9513d1a8c39a359dee829c7235173c04e0bf1c615c84a7e6d042e5fb3770064083b862e9e9547b257e75f30b3de32d0be5d08aefca1733d695e82f3d5c22028ad3f2d03fa9dabd26abbfa57286a5a33859ff90bdd170a089c1071aa5fd50862ac15e68e947ca726758b2cd72cd7d5234d54dc3256abcdf10ddbb9e96e4cd03797654fd25a22502497259d0727a2c5e9f458285ade166e5530bde1401cebd7ff5db93723684ad6471c012df728b4ddb24bf151cb7d1bb910ca05bcf291985199d929cac2cb778e8ebe8014e72264e4c1d9ff51153e07c7e228a22a821bc9f27159a4d74da6e259ea3fbf97772b672ca205c63c6937a09927f52678e56e4a6fb7aed2c61074825b6e9a0c29b48c82bd1f3ce8f8fa7937aeae2c4ae7eafbe3c24d425355b071ac61f7acf17b672434a9904f03141948a903a2fbf93ee3fc23fca361413c7cedfd28226d02b4863cc70056f55ca00b8a7ec95f16e2e47b190dedb83a5116d28b3b75598954086690a3b73a596563a79668a764453eb8adad772a98a0eeb97928f17d958ca511a7235b50e36c918e3344732c8e99a986ed16c6693050ba20c871361f01efd6cc7132790065fb271c96c971ee3ecfd9a6b7a103399db2a9d24137707bcfc2d0b07727da884fd501810d718ea5f1440410b222b33b959e25f3d99e083433e38160572c95c510490a5b188b92e8fa0931db56367b2cf7421760b0ea4c0cb196a08a572ae3a263673b4fdeb0d1a1bfd7af8cf163d065e1e3917189fb9fd06c2ce382f6abcb80f65385f8325c2014faf50d5600574bc0916a7ae170e6da5f4924bf34b097751b71a74730e0336174d456066c1bf33d12609840477a08cb4acf8dd5f66721a6f1948bb0317de2ff3107decb9066da999e0454b730c525b57fbd3d4d2ff0a976202f63770c6f7a44f334ce91015350ae5fefb42b93f219fd9e86366eb9e10c5c200583d8bb616c83415e9dfc876d86df0025923f19f53a5f66dafa9bfad72b65422edd2a02a69b296f8a3bb648053c7da85206453e899a38bd6e14e49f0132ba2f5a5435266a8cfb5c338c192e3c7eac5143cb1d838ecaf3b5b5ee5b49150c0a2251e5051542232fe7f6a0b066254f8af1901004c0b8d93419e4d5b480a0c76e0bce7031cdc23fcb5f4c361fe1c7bd518c5cb332d8b0c4377e0c3cf914b726a6bb7c97f6e2a63866ae89867aa11c79a9c5456b4a71af39f9ca96234ed0f72a3df4380d1f9668698ee713ff6f9bc6bb8fb4add652b57e34badbf13e0c95868dfc367a3afc19cd603089b425d7fcc76dedff2efa990e18bc4ddecd90d12eb72f53983765e33d968d42d755092b05d3c0ab466f1b5889733a3240c6a8e468b391251d70d2f8bd56d5c2de3f1763aa4b9ec56ce04a3ca42f96c6d0515fbee5453616588049e8ec5eac44f800166777bddf33744d1baf6a94368b5db547dc7ff134f80664c0d005c732a0cf54995c9574ac4b4aee13132bd3a0616a94b51d49a2153fa656da99755fe55f5f1c24dd14efeb20aaf3adb739637031d032ce203c0660d7d6df97b85c15ddd228af2058f55088c23f423bf0296a099dabc19fb51f0722456260450861bb281efb2042039cc69242aec7edfd25875c7fa57a7d7331e4f3f98daac72e6cd552b779dc1374ea799129fba42e5abf11b51eaf431da9f9111600e855e703f7409d198f9135b03c8e40b9cad93deda81e263e58a49c58441728a618e11734eb7183883af6ac917e113e5c65115deebc7ff305d61b27c551662f27c84b4deddc5e4095b3d10ed53151051f1a8289cbdf1ffd7942e55a5f23b72f3afa3fd9706f8d909096cdb3519157d2492f2a67a45e195b1709f651b78cf72fca4b41e6a11886f479999a37f3d82769102f46e4e9dda09339145a2006d4072a9de63b10c6dd5d4047b8ceab6bdb6c5b79f5052e5b8836c1c55b8493fc87572bfa8a6d8f7216561dc8d05e1177e56ce8265f45bcd1b5392ae4c3e4af590ab362838fa44e4bcd237504574dcc6a534516d167f424b3cc7af8165a3d718c11972b75f561c11fd187133db4c9dd4c6fb365a181951c10c4098acc38873c97d7915e53f32f7261aecc18f0ff20da53c2ad9865fd50a677be21d20bb90aebd02a47202e5c746b77abc67d6673b5257bf7f49d875ea999b44d6de771f3cb9c96873728c62e2df50d89eff1e2c67a9e539ff181a7ddc0ffcf2b7f4610251acc8cf5a72f8a275110dc82f9bf1190602706dca33023d0b33197391d77a320ef9244551725d586318a891eec713f460f20ff550897ae3fc74e237ba54b9957d3605009d72683afd2db8da0d9d37e9252632d2c2f52e0bb5084604fdeb484405ce2f34b91c8b83bfca3d03e3056a3167bc93feadb44635435ad959d8784c4352e1f8d25868e4eccc716dbd8377ceb939933a43e50f533c8c0bddd3959a8e162163ea3b2c2f7551a93920aeb65e3555bd35e4977cb0635cbfa3e7adae47ad16faa8b7aa8e7250e6ecc47bb15a108b0afcef1c24622bcefa939bb02c05e0af6f6055c8505b72b5997360b253298ec3c93113c01de8e3336a999448f0f35382ddf80c9ea4e35a1c1cd03bb7a0103ee7304ac1b4f8e63fba97ff1f09ae7162d5629fc804348472ead799a9822bc42d11e8ef4c54261a1c53fb6b4c2d74ba2ebd78717cfb24d372fd6633ce5bbfbc3a0635df18c9932b230cc547d0da9004ec2ce26c06ef95c628067cd0082a06f7cef4eed9970c2d8c7cc60ab4fb5d6ec7bb08ade6cbf5ceab4697f75db0ab58d6585b8e5732963d58c37b6904bf7d3cd57215725111fbd23120214ac83c3c810c9f3d4a9a1e43286ffb3835972bb6fb0521c107a6a67696f0449095f504ff1c75d0669052c6a45ed2c67d1c59a792ed2b9bdfa09d6fbf856772960633fff9399c0f86b02e16025b7176ac7451b3ebf384792e98e96660a9d872b4ca5aca54681d6c47f1db218a588341df779fc202f8a9726a567d0ea1a7b23af7d14bae90e86d5c2798e7e0207c6a63d99e0f698e19e8fd2f876b5505c3fb72ed4b49e323b26f4cd4b42080f513eebbeb2fb8e39c31ea34730873989c461200f99d1fd3dc40cacb6e48a523a53d0c6806ab66423da93de23e503f4e94d24423f801e788987a9ec45987ac3ca0695dd535375c28025891286e5aaf80c995ee2ea0cd81d13c282b8a29b6acd11e6aebf231135ce0673536e48dae37928439ab72b10e60b470cf8d66dcd9d3422ad47d0c95f6a25f17e49633dcb0a52a209ef2482ee2467ccbbc8a97e665b0ad7a29a811f1bd4dc76af662ecc6d824a39d58b50f3a54e29d144a1d47bf4e88a672af073596bf0681d4aae55b504307b48fa7d572d2db25c39554e83366b745e4a0e25d24f95a63731804647fec26d6b9047e6772c76c01b287c2bc98a9de0af5ad0564df6b7d21c431464888849e645b916da972da4ce24af386ddcf9811edc09eadfb16713ca16ccf95cda4fc56206e84906f1aac30b31716bf035ad564b9dfc5bbe9bfc85095554d28852149f712135d036d7282206d4819f89701a7ce41aa3dd434d198494409311f4f05431ab2124e789d15aa7a5a93d8973dbad29eed903bea29ba233c20641da427f231c0bf12c1ac4254dc1a9d4d9a2cf228653bd386f9dc0c283f04a4e91ee3a2d6c03aab50c0abf9647d0721b4718d54db43324a944812b96b6f844a9a656fd3d9c4acc8f0f21d867241ae8bce70fc98fd1f577d7bd7da2f309ed7c45f6eb889f1a68bf25f3ce1d13871eb3f31ba977f20cc7196cf4fd2e2bb055f9a779e0034ed56592601b7e91510702e3058767b95debed35917a334dab2e14ff9b0a834daf2bc2d5a27f51d3272f86d7cc7001aced755f07090af7765eb2b77e66b5bc95b36aa02878d8156c32895fcfdfbaf9c69e5409e48884d6774f32489b9bbda65f581e3601bce5c950a727f276b356821fba8c41ecb536b36b2e632fbb4e998d01d5c109a1ad1d7792672cf731cbda5f13a30f913e4e2dbda5245d21f09878222ab1bc37efa3738f652471797e333e6f53651e6623bf8ba61aa03fe190fa96d5d1290854ddc60b6ed38721e184f0fbbebcc5bf50871e5ad826ee9f5a198f071a57dfe21fb8eba2083e71c9c49d9d4e0bca26882ed3c2b2b757696c07a16b7342bd8b3b11e10d339ece82367c71a0fc255dee764a5457cd534d43090c87750ead34211d2d47fc84dc2cf7207cffc77b0e890803e1cd26bf20a0f2d22acef7646b5f9bf090c4bd6d15d6c72da14938b6a7b63818f2a173e679a5624d56588e6ab5e608e9c931cf36343f26ac06c4c6a8d18039c69c20d4ac72e4881512ea1afab9d3601b66c5c14116f401749df77a9551c70b4bd9de38b751030eb7ebace01a304df92e78397e2cacc4368f5b2bf3827a569b3ef07c5ffe1396d7e9fbdca0b841570d302c05c142bd1fc72c759fcddd767c263aa79384a7ce664c3c31942ff9645937d54ec8e7efb61410c79f7eb640ab67f9b33755e6af5e6f8d2900fe08c16d885f162daba609842e94776c0822e5035145fb0026ddb7a15082c5fdfcee19d24bb220704a5dd136aea7237e3fcdc73c00ceaeb7e13375033f63b8c28baf463d2e8e54e809ed7b24ad2728a486d4601d2c044d4188fba8cf2ca1c21b33289ec0770e0f4fce25af0f5fb72669a55c77668bc03a16b80c718c5fb8fdaa59b8adeace3a72cea905aea099c623b607435b5cc364c5ccce75d667ea04bdc4a4adc35acb18ed099ca848c0c6772a4ff596d4320a50a545b6de93efbd86df6830e06fac47ac95555deaa4d2a3672465a6cde8bdcebd9621d66d39aeceb032aae7900ef256c5fdcdc2f47db12a072270e9fe137680d3016be3ea505327c1e1bd0941425bea1bf1c5cf72648870a72d213d99ce1461c1db59a253ee8b6920560ea9b7ea5ab1670078cba2b75c54d309b41a850ae492ff3c95c2758474d5d9a54e05987febe31118637ee8ef5f1d972636cecbecf9c48ff99473fb8773c162c2a2907dbbb5cb459878ec81e23673672df4ff58741ad55832c5a47735f45ba88c7e94d9aa675b4c7412819878730bb43112669439c974c075aa62813c29efdc9bda0c73329ba1c271025920c61105872e8cde3718dd0b7a78bb51773c67af74e0a3042528ec5044258700bd49061d32c2cba0af1b7771781ea550075716741815f67ed0ebd4532ae36623f2613ad607201d6e8155f0f84432f5fc4811e98cab603c40bceb6091abdfe6b8c313f8ec85fa16be66ac97177c734d5e7e08ff3f54a970a49505d6689632bef6e92a2149a0eec28400e79de33193d2a9be1736e904951790850635492609b936f0760c6ab7293af98be574946a5a12855a01816a90f162200e80c44ede6443db33c4a3ffd72bca7a4c985317870e22a5e3d4b9e2997e08301446a934d59baacba23af44f472b42774e9aa2c23aabc96dc6b9c28996874d6e942b08fb3263a2a223a61f0637204da842fc163b69ec063c5d07390461c80d0c55c2fc453ca5ee74253ef26cc72f7d39ef2fd871aed09859c6fbea86d7cae656d549e13bed802b9b252b2eb6f0a2488d03fbc7956aa7062f770c699971a99107c9f6dba87ae334d2bf16a057035475d28660671620b82f921ba273f973d45ca75707867630da9491d0b0a9e3a1959432d4474265065ce454d4d9f285bdd12d98c258bb17a3754e028b80a4276722b45e45654f21dd6847976d9b4c9fdb589c34f83426a15922013cfac24d7e972e1b87895ffcadc766d66e4d9399af176a747c7e216fc46112b81504874fc086f3d2c56677b0e0bcd87c54e1ed20a3dd999d08bc91a6c44e84f1025406a302d724befac85b43e515606ff6e52c36b94d352b7de45ef23ddbe07c5d41db2d793634d9b860761e00459d96cb70b9981368171072e945ddf12551f45fca54ee9cb72eb6e540eb90f4e08221a51da175283498f8ed374419b905238b49e4e0d946e72ad31ee54b4c9069acea5ffc990851e40150f46f4793924e77a0cb58b4fdb6950bb37742de32c3e2401467e29513a2ea1741cd1128d41d3a815128e4ae0b30e7262668a96fe2756ee6293436690d2c9d87deca0b66aedb083388f9159751a1a72c4748c1450e8e32ef382f0433a607c1e3d69c542d771acdc744e92d5d9484f01cbdf1a7b8248f4643be7c82abce45165899d70f277b08459a7842083a8c284729ee783389319dbae76806fcb6dbe69b61809b563f60edf5dbd1f83e059ab3d42f3f74726841abe055926f483d7c6ce901ef672839f20e6bc553df0ed79c0d072bf81025ad5ffa537c6363db04a106dfa01a4b0951b296b5ceacaf1034e323e00d53d5802d326102f95f53b4257436c5a76aacaa4ef708645e282191c9ff039396e930ebea6036b3cdd4b8b70b98d2d9e51586dca8ff41b4ae214cac7bf7cad7232a28a6077cf9b37217e943b4f02f5ddc7f89106ccd834d9f9fd4604c39d9472b1dfc20735fb987bbdf8a359c1c64c6df3effb3cf3d6583f9feb0bf7dbd03972cdd4b7e076660ebaea608edc673680153d61c5963d078f7a20e706c98465b272c771ba07d922197fb85641509f6e6e9f0cdf25115e8c9fb682a397ab80214348c99bc2548f321b25b0cb47b7b0e1a75fee1f973da5a900d15df967d0bc34c97231875e09b0ed64016c5ce9d77d0cbc7915c5817987938827465a4def801c3a3bbb0bcfbe385dbaad3d9054198913e945883a9a577c5f1cdee3849247c9a6d4667b4c563340ab6bc49d1013af1224f890bec160e27977a2032a3b5045e3e1fc722ce2f8cda5adeb1208afe9af694771a59ef78afc2ea0bccab5624a431b2496720c46d801935bc70139e44d2efdc8465f95e23695617f256db8f38657e65ef3727f33d8635517e1f64393c44637e7abbcb394794878dedb3c1bafaf72bda6547232989d6857ad2e931d5145d72de05ed7e490b6fc0fbee3615542634cd0acce501b9e9a6558af001d4d44e8f15e33c8bb51392cb02d436800226e3ec61f81fa72de0c5140534951296511ee7d4332ca95e7bba0cd6c0f8fab01a0a227985b8c72df0e16b50dba872f971b10a3a7819bb2a405aa9bde16185591b44c854fcd417266bdc077495d825459b6d5e08d3183d85dc41f58371ca76c38544c81c995f02f229c0afdbbd2ecb2fff2b5b81df219d273310dff4713ccbfb40cf234b1587a680e3b46a6ad4d0dd8274054e8637c31cef05918a27e2b1b67c24777676a71456ae93f7fb982c62b9e2c2ecc54634d5e8d47dc7126ede6efaef07287e7ad403127543944df66e4d942bbd7beb4b4c100f578d26e4f03cda2ea52bf5353dc97d35acba32c5b38f684b4cb7c43f60b437475c7e9fcce7105b7894726b374bb6ae172c6b09b58a58aeb2fd85295bbcc263132f9a8c46a7d697f6d57e5a18c16bbde58cdd1ce4dda021eb17447c9ffae857d40d87f347468e1dfacc2799b3a69c2a01329b423b9b8ee8c2a079abda0d6f0bcbe69a44a03195fb1503a73d210a9f8076968484eaf87fba403a956609ec3a86c3f7b63df238e2396586f10f260fca9ba5a734272cd5444bdbaa55c88858c0e473062976ffaae23ebc14d29729332538172e94629f9a6879c117ab33c04e819a4395ec70c76602bd6bc36c9f9e1e3c80e72b9aebf9732fc3bcd025d596006796b712077785e7d0e87b737f0a3e5c4380e3aeb67e664eeced5b3039f631b8099323539f5c9c864a2b4f8102c2bd38ef9d37216d1662d043f59f025d9379d6c420f2794579fcab003abf83a216aede37ed472de917483d7dcb1fd67184c602aec2822d727ecdbe996dbfff674ab0ace391b17be6fd182799c86f1812fcf591c703fce0360a5eb4d7582d1322c38b222fca572927f6b5cdc86169642fc73a0273f2a52d0abc507db75507fda4c78757899d615dc73de4ad111e9cddf77ae7dcb4af6d4c27bf87b8461fc8a485417bdc86dbe721718541bcac6a24ee2540f4fb9e82bfbc42b5e2a5c7619f4d0951c667cd13140b599487cba1465106a10c0a850e5c5ef4ff0d6b1f31847cd6b75abb3408ca772438425ab823f2619f23f1e0608fbd509afb873ae07ab34e6b4bff579f7b73418692aecd4f96daa442e9107cbf03f5655e380b3c9d58afefea984c04adf41835d3c11b4a8046a9fddd94a322577cb359601ed329fee2f8a7b43ca8fce524ffc4230af1c1fe54d55bba943ca4f5e2d7bb75e46f64b470a12c3a60b2c5e6e2b3a24d2c46f05e1614793a08ce4d055483c1e2178b1b4ad1a3b49c8e7c141a2212c72e8236562bfc53e8bb0d945ed505d9d40d3b902a53cf17b3e0687a647b015c0723c66b20c32726f371b891684cb9b0a9576151a5f5b91b48b3bf6ac288ccfe372e978c5b33c55e2ce582eeb6c566a5b06cc57cb0a8e3bf8b19e3194366c18ab72c527533f76375f2c6f29fad5187b1be3be926a299cb64e71c9bba094b1aafd27dcb34d4036bc2b0439a76fcfa3962b57d92c43f422394ecb841ccd8ab21e73149c564c4d93453ba75b6f43fb5d3cdac73ea511725336472eac3f28dd7836807242592388887eac273321a8f3ff244674b99dfe294e9bace67422fb46d7a1ba7231df200f9c30be66de9ace4cf62154b228e8f23d3f86331905cd7136b54fc772a08d1a581989b702bef9facd5f013ba77d2fe9d59302f633d497862d1adfb949c0957fd48c8e7e02beacac8b7a060b47689568c5c6d916c0dcdb8daa5ff8d41114831072077d2e5062262f96c82220578ec0821278e00046447a38fc92a0fa7280d9ec7f7df7c1a4662147c8e31b9d2c8ea5605ae84a7396438c030aec790f727cd66d246a1192b34134c891c9fbccf43fa7a3eb76c2a947e73ef878bbe0ed3e29ea7bb6b1081351f40c31c9c3c45fe6ea9c9f8e962d3226a411369650953a7296d81988f4e0eb1eab0287ddb614caf623a74c917d7560900935ed403762051975d503b24a0c89584a456d9fc3f90fecff8c2b993ff56d53f2e124346f44ac44978b8ae94aa42a7acb9bf0a3ce9e39207accea19bab902ed9ab4c6d3aab6c0728db3b105019239ad5395e325f3c77367c45b3703c888c4d2d9652db9c431ba7299a810a8977499001fe3cf37e602ed938eb5042c8fd37df12da1182ed1ea012e9c0864a4f6c1a0d512e2ce3947fba644020968d8483bdb5d828a58aa69b5da10e85af4049b4424a769c7006e13067a4ed492f625eaaabae8c834b7e8baf1fd3bdb8e8c2be5a71ef36e9bd5c3ecc46eb31ca4179201ebe4af8c33b299831d235da81b0cbaaad0dac73500eb8b4b0c4ac84b90bc5caddfd72810ae6692ca87b072ce9db328ffbdf074d4cba6b8537d3556a12d5344dafaad03b44254751adc1610de71f5f358f4f37040bfc6400fccad4da96665427fefd41c36addd1acf0626342910d851ef2bba8b2819b0025e868034201660448ddae3e5c6e1ad4b75cdda421202ba913d69060ce34c575ec6ebb41d03df08a5cbc0c88034b6a3fe74b8407295f34efd50f9c289ed936ed202c0726f0ecb157f4a1002e0054b671e14259924ea076f2652f6f75d049cc5084fd4e94162e3b91c5db200f98ffe691aa096440acc819b03fbfc57000c93767af64b824a6a959691fbc8804188126afd7af7a90484332944e1e3764775acb9207139ab7180bd6764226fc962d5eaf16aa3ae463072a817df5dbd9369a69765507d79996afdac87c74cf0e12ba73c34bfd88f440a3510f6fecc4f9e1bbd28d14591ea07f83447fb31417a8c6c585a339e3ab423553acd4cf18819ea18f8e894ce319902285023c7367acf23e2d0e26f0569df0d7248eac4d7800d9695091f6364797f6c3c0d287889a75f62a530a60f8d8de8c172880a329aebdafbc46aa82589a85bf0a82434e9b51420466d05662f2ad45e4f7264076382222d67c560e93f86f0bcdb1358531149eeaf4d291ee286df74e991421de5da730396e5e604f4202312720b080acd901fbdef8cd463d3706159e1fb7294b36c7d19375848a2776876bdb21d433bd234d019a9bdd978691541b89bb80edd89ed2f30856921f1807fc8b0a3c06ebfe1871f8c958d9e626b3b797d3d8a7279ea9d19a96b690c3af531eb5dd6538116c8d11d96bdd6edff1538a8fdaeb46cdcc1bb3c9fa8bd0498d74cf418d1b50860359619f310f38baac5ff0ebde6b1727d53e221ad813cbe7db5b64677576fdb74d878b6a34eaa6577c1ea86f679ad727c2efd3bd25e780d45f7aa3c447b49f8b65e77a5174e788c3642390b2e25dd7284039c7feccb12197f7abbaf1a9bd533385bf7b537dab1c7bda6df89350299726abe3aacad8cbbb7c149afc7a767032c06c5284d25a0b04fc89e26002c01eb7242ccefab2a8fd7368cf7e138834819d500a3e829a715175d1bf047b8505ad114ba428bf4ebac01fb00f0134a0fe9b1e7289e752ccaf17d3d32beca715ed8a172d2233bc4aa6a470e900b703c31725fbbaa129b7a77748cb5f78f78ff9a88bd72160f353831073969a7b641c2d657aa31be159faf01013f26d72c2edace3f1965fed315e3e7c7cafb0b8e793f488256d799325744e508a5d80a0201fd606be91b1a15824e51e846791c93a98682e745aabdfda70fffb054ebcd573e64e0c51e721678e69936e991c1bc71bdf75196e1810870eec179050a30cbcc0dc35490757230f6f9eb3b0debccc27e117c070c4fb01a7096baeb3a56d6f4140d97a72f2b2d624fdef92c81a063ca9480cb7a1ceaa7eaf8a57507f53b25ce85167213f87f1abb4a671f5d68acbc99df9b750b4c0a5025a8059c2617b62a5deface7d7a6a87214b150b9e48cbea231bd9c800fb96f3bc6036b033883eb9e41c00775bc1a597215db895bd5101238e866f2363d61a0e2f799c65fb3c889acce1959121453e668e93cbac71829244add1f46d3ee3f39549ded62bad7a10789bf073645d510887290b83790e6bc46f5832dc49de90ab1f19d1bb13fed8d582e5bfb51430197de72ed7133b7a5adeb561cf4b9a27bf028635d7569ba5266628f9bfcb7b253eb7572734b17d0d4cbc63e42c68853cfd8d25b0669615802f2d92f8c35a93eb2ff967267ae65f2be58be929de8dcbf3ae76390768fa59cc2a5884db01a58e435ee9c72e1933a3b805052fcb27ccc1d0d3e788a504979759472fbcda554eb91455e473f00f95265c4908555a8e892af0f31ce2a90e61cc96b6741d936deb569ff98b0594729a3a2b665931a39ace2a0dac24bfeca60e1ced52e12d0473927faa2d1021fd180c86908c0c5d28e9d8a8ed4e12341c61dfbe525ea623920d88d4d80b1ea728c540b86f744931d92a8558215d372496e0846cec06c410e86bdebcb9881d02acc24803272fd3bde274704fbbef95d9121a7f332aedd20d95a17b65ea1e22572c2db8c347b7b41757feed0d6612c89f8849c334d95a96d2f3cccf1c1ccf85a2ce21735e234b0d7d0c5d73a68619389398de5b68aec85e25c84c5943c719e0772087dfe8f9578abd49caac46c3f064635e639828f6584daef97fe422932226572bab44920f1775581f3a4fb78aa362918f256eca6a58ca5b06ef21c0299c9f258d3482a460d18177e1528165d7c577e90789b5a07af4eadcdf776ea34e87cf90820d217b16aec87c89c24988d413553350175808f8096be1d519a3b8d289084728ab7bdd063fc7a3485b51436e871fe07a5bd6cbf7aa39d19f3ae15a63a2edf72489b6377d0c7d0c2aca3a729d8a1c0f0575be285799fa97de0c4858ca7d835729192ca6a97426764b45858975bf484fc3cf7db7218bee001cba6d4fddca2f95b692f95f2a64d5fe79e802b9a98b19a9cee6da80287c61f6f4a1754f408bc691ac084931c4cac1b37a5fbfacf65281869759535bc138e678ad35c6b649a2613335fd6bce2ac8074043024599bdc438d6f12ff7c5a29f0c5c66df419edd480b81dc59d858a8ee0f57ce617bcce0da81d814f11f0cc05e98c0f599a5617ca59c572b4b84681575383f19a24c9aad05180f0a5da8a82d9d95f861d30ce9a4d7d8a71613f75706c3a9685e291a09b5ccd441fab2d666d9d8b4c4da0febd13b7be5b722d6cefad9779fb1e9acbbc4a347b3c702e08f6f55447fc24af8da49f5fcbe472f71361723f03005a9a21b4df8c2b939dcf05a50015bd7a3f10ce482ac3b32472b970abdc41300c71b040b79ee3a30b8ca75193687a76cdfb4fc49218ca72fd724dee15aa9a24bc78ad7a971933ce87f3735051bd10330452db784f83ff70bf103a0bd6e63659d210c370955a54c4acd3017fc98b0d3ae8c56b30267198f6797263ea6624cfa015c4f9d28e5032746d9383360cc509381ddcda8b462671d369480e529b8ef4f6e94cfe1a0486d4ae3a88712e9385d7e858089635137309fb7b726e51f180ab098c7c2bb2f676af6c2cbf401760d452f8fec0e30d890c7ced3206d70ffce8a05600a1f50fda35ad3400f8154e4eedbaa3c08bcdedc240d2c676720400cdfded54a85c0aac8fc0861183209084f733bafb5c5de75b6d002d79a572c3cabe5a88785bb44f94daaa07457b14c44c18e34132df572a898c0682a17372dc2be664bfdb0f19a090a91114abd9b895ff1d36e7b70a1717b20a09cdf582728362ddcafd703f6653b57755ad5b6985dd5639eb46c947c9151d5e97aab1cf720af2fc14d9d764adeae58f5c08065f21dd4cd4e6e49d3831426a938fa2231f4d00b57655a5669d0897cec95df0e8aa6ab65bfc78e7f49157b342bc2a4ba78f72f1c4f13945cbcce962989d0f1b3d0f2e1b4f4cc6e071975814f4b5a988d7077223a96da8a2bc20b6073750f6429711c50f59b4af36ed600f2cc9103c16d78909fed95234ca8d188a1ba4a702338b2a52e4548ad5645afa290a604528d10be872e551677a0b72c21372fc99330e310f4090dc7e092e707856db44730733257272913dfeffb698e154b32ba88fb94b5e0edfc5efa3511778aa3cb59a469a6c7c727c6d303d73c6a6d0dc91b0a29639da07ab6a29e10d4bf9ecf32f7644e6fde37230304ab2a229c5234d6392b9a4db2aae34dfbdbed5c9b89aac4a5df57805487255c8b30bb1fbee7dc0ab459b2608be48d832b4323d17fb0f4eddeac8acabbc3024fd6731b8ffe2619f258012ae73fa6b202def3546207bcbbe7a6c43589366570ea1b87860de604555d13a6ac9c4e34b82970060573930c6896403668aad01721fdd0b98e3fbdfe9cec3a2bdb0c3dc4ae525952b67349570fe7898558d11ed72c1441e85d594c5527883d675028222c3cd6c51b5426365e4b80a684fddd0e8721be41b5a0dad80063ad6f34c4d3416ffb0cc13b8bd045e99f5777258a5078132bdd62180b70b8d3c640756e923d838a741e0df9affc85b984ab88e39be0edf2f53b0da1e632a2fdb880d8d347b9da4c336d225acf973e1fab57df8da8beafc72129add80a7205985f120c1c4f1ef4a8cb4d9f95aa7ec666fabd91462a790262be3663e422731347eb58c2f29f5dad3c21e0b9e2d3a12d93cb2a50d19f2755b01e3d818f3473dcd38f404d70b875343e382fe1208619ee2c767ab97c34c94cb72b2f390afb9a98d85ca9d30d05b006e9bc90dc434e40ca5f855814e5899b50820f78b16ada83b6a8f1f80058b6d5e37ddd3a4bfe99e3786fc2742c2474273542534e0fc54e0bb63ac09a0396455fdb5e526922cf4163514d3a178eebee1734972921f092b592357021c88442107fa19d5cc15b61d473f29c3832a49d52bebfa7245353a5f58d77ba18b77724f02f076e5ccd3cc8a9adfdb0b20df44ba8165aa725c6707d4821838ef50849625be414b0b115ddea76b0fb2f640e055faad57064ee32727acaefe3986dae01a3fd5c16f0a3082542722a77e734f7e039bc48670729711d248a587a508cc6565b1707c97eb3b8ecebcc3cf3500a3f22be74603c87242a8e68ad5e6cb31af9029e61f6580ec83ec426521cec57b6f6d324155a8be15f5109ed64c6e0f45ba065370a0d11687e261d044ae14a5e8f74ebdc7be879d72478bad8bde488da57583a84440d08378f29b0b596729c4435ef2eafd47dfe347ba22d5e04d8c8a31aed7883076e168ccc28d0636a8ffecf9c40885a72037927246491f086b138ccb04f01c7095d4f49f61a3eb9d391c5faa304392c5b6401372bfa8a24fc6a089a8baf908951ab9c365e3caad80f5a5be0cbdb884f14d6877722b611b87389334af8a1476f2cab7b25e9ca2242bb113d77d82bcd604201c472452f9148663ffb34a8ead13cda98ea821557686185450dcb796987f6110cdb872faa6172ab401c51e3ff5bb46581534966d43e07733f47cc945f0ac86c536c062fb7bca7f867739e21cedb8f5a2e708143c4eb8ed8a2e04196e1b8feb4506975eb8205ef635e8faafbd5cef830bfff80ca43cc846730d35e35ad2a914e572e172c739e181ab9c6abec51c033f7bdbb7cc7cc0009c3539fe544260eed992190372c772ec3dec01ee71844407502e80fc93759d6d97f53ecd12108819886e60a972267edaa1309d1d38b38910f15b1c5e3875b80ee322d79c5fa44459012f9181722c4bff07da53f9f77e50154e64ac1d199eff8db4d8d0f950e043c65fcc7b15728fe8ad6d20a0dabd3798edce1a066081133cfed57837866dc3916c3c2856a7721e45c275522202d446f29b45f7423aee214c14f60f0c8bfede0bf24551a58372e639401c6df4679d21fca52eef24e0ddf380642f1cc3656f110e787a26ed5636a4e0fa52597315621a3c2539d37b2b68b9c146e5295c60da03d7a0b1f243726ad26730a058f87c2e9b93d1b3728cd2117ed8f5cac3fcfd31dea3f8463efdf7729244b691c7cc8d1e93497a5c07f90bdb36e997c16cb083517ad10ef272caa91157114583d30558bfbf9fd5f2c5b5bc033a0fd6ff752c822cbf929d1e5b9bf3662980da2a5c4b80f2dbb999514d03e63c992538c42da631c26c966e98f7372a727b1fe7104e5956bd653b6a4152895c5b46aef8faf7406ceddeceea786806ce05530fbfcb0f18f2e98897fd6200e819f865e910c11f7f6bf936b96b0d7f171972fe23d4951df0d1968940e988ef4c51d8608ff59c07362ac1d82e586dbae8817272901a5acb906a827ea5f205078c754b5c9c6b0c5d93fb8fa7e01f69d3fcf9627dd3e2e445db32ef5bb5dbd607821b2f866e53b8c119cb5097387729267f2422f2bf8c592291c7e87135d9e41c25a0c0196d517e4f171b25bbc6ba26f89328724abc2e7a9c091170b1f0ab9a305f1c2c856bfed7ef1dc684f57de4ac4f434472bdd745525bdebb0f7fbecbfcaa7083e28615a36a3f31148ccd1cda31665cd4728bf537638772fd8f6e8edf2fdc20c6c3c02caf166c0e62fa561b45067376924671cba255642cc06131d4030955361b89ebddcbb1d4250b5a5c51a72ccd1393723d4ec32b881441bff3fd975eb52e61e77d7ce841c0049ef703c9dcc2a827d972532ba66d64919779613e9879c8275cb6fbef29f1b90e59fc2785bccf87ebb8725fbae3af4f3b60dc232b122eb22f7fc1e2d841a4e988f947117ff1f766617d7232de233b76478070e344bf008f46a3c733c54c3b12f06130d184ba894e97f26deab123d42bbb6430fe0a115010d6a94fbe99d95db2263fc9f42f22b5236446729fc77f02d91e0850251d59fc204852efd264ca0e0dbcf0abb6922ca1b82bc27244915aeb3dd5eba656dcf54682d7ec2eac4d122ce32bb2630145e59a1457f35877fc9b2374419152f70d559a5f919f8ba58f8e459e3814eedd90028e615f682a059266cb90f49473b1957403d5c4b65663021412ea46e1d1ada060bbfd09bf724b2350e53cf2dd12bca43adb3e79868178d05721d2725bbc8e05339c31380372840ac8f1cd9d4446d8416d59e0ffcd98bee88cc79097294b48772b4b6aea236b38b6abba99837847a9bc9db5e4ef439c8a0a1c6267f3929379d7b71d939dca729a5e54233721c6c9a7057e00f391a3e0e84626e5079872f3571b8789e34af1722944260b6cde5447115bcf24ff60a7677303048326bd4ca93a0d78198eeb6172266fafc29ef7f462ff7d53a24faa11a231d723d8f67ba988b1d75953b958787270255a2b3cb50a6174df2e7f81480f37daed01d9f91852bcede8a4019b9c2872d086915221fc7b9e3a591b0291d876163a9160305faad828c236cfd90e17f36211c43368884207f97fe33cbbfea2f7578c87589951e7bb9cb316721ba7531653d54b3b8d5ebc95a5e70f41a1129d1084002f385cc24e5cb8bcbea13b46b8e1325ca722b12796d5ad86a3a438415a2964c239f43484829773c1962123fb725772517ddaec206967acd2c2548110c59ddebdbc220ab26e3f4d6f420bea037de1266af1da4b52da0e0f8857f239221f35e341a9bcb141e7c537501e3c693a110e1041d287ad2fd22fe5c71e8b033122f10890b8bb4c7b3345bb915e51ffb6f2e8560ab0b1ef0a552158feb3937049ae6cad4486d2d2ca2f1d010ab2f89cee28b50f45e438553f3fc3b097700dc749781a70212dfef686e489c7fefb8414db32c772d273940b64aea827cce32603af30e581c4513d05ae38443bcd289cd954234072be02f1184dd16b871f031053123ebd9465aed2a15a6e0c03986d12ee573008017921512b023c7f0fc266bf643970893c39e411a50ebf063c955c69386f728c72306e3027707246ef6cfbe283f7861786f58a9a494aaefca6a04d1a0f9f19c0727b718a92a73e8314575d760ad2e0891e98216725d341bccfe2330e7a0252b100d77d8c4f6755391ae5fdffc6ee47757271df036d9eb73b57dbf410103c820772991c4d43c94107c06973e32060dbe90699c66aced1df7e933a75691faab696723814eafce4796d5996816b427eff779afa686db04bc3146b11beb2306c48fe0cc29439f8cc8204fc193542501ffcd4d01036bf4e1c54c9cf45143dbf4b5d53725d8af727bd52663ac21c16a3cacf0afcc7d10671b6c8c0f15c0c2537d714017253f497e42ee3eb599dc663617c7f9b76e8a98ea9570299cb435f415023571a727ecfad5337949f4e411c988e337320e49491bd74500a42cc8ee219599624cb35fc0d6278dc51a789c073a3ffb1f6ecdaebca82af486ff792ea07a7ff50acd472c0b94f0c726e5832042baa2c7a0ec707ebc8d4fb7f1f0bdcfd0d88cb4ac21559e340231639f72a20b3e8159ad06f2b10352484053b5e5d3ad321393c9392fa7259751eb8078ab0849b61270cb5ecdd561d0db386d1362981516cab8305ff582ee39a6d22dbe5c0fae0c44bf3f2048307c17bd149fceef340b377e7be4d88c30afd23d1d95f5474c9f1afbeff1d0ac68b596a95cc545e895b28610f63cb461b72bc387cb0e592125c856bf525b49b367fa8c0f9ab150eda2963b9cdd4cb32be72b906f9b609ba3e07625df72a06d02e36805f7059cc1679c1789545f893da06728af3115f4a2ab6a9381440ed395b0ad7a04f874a8413020f03acf4bb98476c7207f5d267ccbfd35b0961d655ec64ddb4f7c31d7a18ba8ffa4b11b8c329148d3a019735492b98b94eab926492c05018cc67e8996e538b2cf6f82dd7ad30fc974da3566465c9c1ba7316aad69f74b0aea56e605ea2fa3a1678e2e59ba997fc5d07c3e115a1765d800cf1a953f088d6db301c78ead71434ea3b7dea4a4746bbc07206a3065aca5f3d1fadeddd1e7e1c77b88cb0124fafbd32f25562b2fa95a495518589ddd4e044e79cc8d8d4ac7f40f30e465b2545634a1db60d79a1b2f47ba3722cf1c04dcd28ad570d71e01b5780059841d76bbf687e5515794c4d52f3ee2219e3978c98e1103f15ce36c46e4a63ffab9aaf408ef00ffd69932bdb5283ec9303cb810d275eeb8ac4da46e9920ba198460676bb4de2a3aa997d4d6de3854b89728bd65eae717689fcff07d4555bb02025c5613d93203427ef6531004a2b723d1c83ee1eb72524a190068a621dc5d34b3ba86c5a6d1bfa8aabec76a2257db4f73b0eb6e71191bd227141fd61f0f55abe2a77e200efc576aa86cab4944560dbf072944253b5210df46256227191e6a151550731dc946d967bd41458748caaaed272f7aa9e6854ebe598b829ae3ec4197f01d606a3ba4ad7bacc4d876082feddaf50a336833f864ee20a35dd5172d842d9f830cf57db92806e8b16ca4b57a755000b01225146d4c73f6e8edea86888cde7802868931efb3899a75fb74d3a3b8b7672b6da864bfa9806dd2521309d39cb485861743fc1bfb28f8b7c77e588c88f4b5c59c03fea5d6b4d52e93b59ecc586a032c374500f821115bd279f5a17b152f603099674462191d8838d2a9749ea26be5efdae8fe8e2531880045ea1ca4d193d725942d0574dbae61010928b3d4c46529a193026ee7ab92cf566186acd1f42af722e7b049713c6572f87a0c6fae6247485a1d168e0ad6f2e264ee188e87086f02efa881d71b159d7f17750e9d2196d11229779ec6e63a61c4d94283c104e6a905e91fef0cd5ba64d76a993461488bb6132c9d3c0dfd8ae3b5573703290b782e915ca2381ffed25adb755a2deea4df095865b1c34699201972ac5266c3c384d5a72cfb0fb4271a45e01d10dcf77e2e015aeec50849f7fecf3af9dc57d7fc7df302f4955b8c230a9a98c1b8821efebe8f7c2f252e52889996f788d00bfe4ddb1b931af25ae0ba65654dd33e326542cac9b4613511bb6002fc471dd57085f678e47342a16d7d650eb260c673a41e54291ef0b6ae24340a6897c7d70f9efae705f6a72a0c5c62af5bb312a988d5509a64bdd4ddc943f825247a812601ddf2cc337db72e6f5579d52114dad473da364a2d1854f144f4fea8e45c738bf0e901ece11f07294999b2098461320d43a455f98f7fdb50a877dfeb376535ee3855cd248bbcd714a0e30c13c40c9d1a9323db6dc307162eabaf9967754b280a31e33c95de6037280ac620f731022e0d9b7b3af4dc8b7d674fdb7eeeb7a3a36d0ce9fbf5a9a426ddd614d3f6bee1cd4518672cd7c01f708da75fdf56d54f1a6709c5298f128a272ae190e0b0644e0410654d49e1b4fbe6c2460c12b5a1ef9cec730211871a4d5720cb8e9c72b91096cee9685bcd0c34b4c9e2695dcddc925e087cd446371aec056fca963ef52a460476c422f648a19eb9765391b8946ee9c347486745d8c07a77209433ca42605e396598e3c7f5b173a0852f26b3bebde16e82449934738a2c772f003318177fe822d1eb022be178a0ea70dc336151c1b0885bb9f2a29009fe0728d167d752dd56892408ce7e2e9ed8df2b7d8e70fde403b375d0d84cfdbf4d33965d479be0b0f9149f8ddddbd6678c7b0068d02ce073461e9a599906bf07cff2842f0d9d291b748a47fb383c531759e65f923d3d5b1303f264b45ad619c13677287781a45bda7342cc48136bcf3665d8cbd818050d5e42a1c210c2ae900dd95725daaa0b2388efceda53a97dd29cc22b603419b6a0d1179e4d61e97bb9a16ea72edea88b0a59e2f598b28369270d04918d90b3aafb8115a535b3028996aed5f374a80eee63726eefbd970c1bf08e73246ca059e02a8850efedc4764d131fd3872e1416b5450ed0f2461ae5c4fef66e1fbc069c5567f52c7e567defa403e3e0b722b33d4cb1e59850ac95e30e54bb5614372601464abc9a6aede0136cd85b75272c1717ecaea520715f0b5a27511e66e24bb47ab5c1c0a0df3002c278685c80b48e59f94d30f508ed3edbef11820ba253e03db27bfecc5e8e26d1a2d7d21c7737284926d97be1d70b6ba98d809ae1dea0164d55d03be87f28b355027845a6010723bd1d55ce9f448acad9a11b169074ed8914daffad679492216c2d258691781724d421bac9d270ca9b1f6bbcc0904f2e21f9dd1ee95ad94dfbab2b4e63e53ba30ef8d512980b64e5eb645d147b558a86f05bd36dbaaf66533960b683bd9b823622f3a65ac6d6b7d389b78e81a2db26577320f37e759b5d3e464719a0f390813180c86ceef8310df69f0ecd86e61c2deda83b00643bf8805218701c559ff59b8715dd9351d000f352b393fe43b5789a45bb06c1cf6dfe4b3b722f29bddc2ca926b03780737b30cea026b80288d63ac4290794083bc2adc85562ed57dfbe6a08b7257fc7aa7018525c71e06e895e653f7182abe8ccd9868330f43362939d02ef3241768cbb193f59be2bd55deb2f76a4bd7f9338f4d26bfe0c87cef4c6e02113363cc4c7d44aec9f9a4ad0f748db86a93fc043e9ea87e42f3bdaaae12066d8aab721f973cf7c831bcd42023a56ed8abca2dceccfefeb502fb049fbe15c816fe5c726169cf70c80f46776d86600e4aaf1eb48d82757885d20ffd6fdd46808f76de4f985382adeded768f4bdd07304d3461bb9ff9d9b42cbca0cdca6dace4ac475c0379470a9ce59b9020f1103989ca34259bf72dc648eddf01e22cfcc000b1d5a6228cba51519edc2b1d7e05059a9787119eaf40c97d74ab7d60fa63d75b9f4c8d0ba6fb8152c80b698382a29007cf1c0e75efb70b4040879a920b3f1284cd9c392f9932b68bb9e3f2a71625d03943fdc8c278699ec2c4bac03fd2dddbbb8aa61b725958d9f57fa64270197c5653f47428fd52656323566756e172960f7b2acda87240731df471fa15b83b894f8b88ab8dbfc0d09f4b05c6e5e377f65ba4903bc072843375f93c35ec98a8c7c8a901e62e9bb08a237428070919d0899cbba5cf455c4ff3a39fe8d48bb64221f8107a42e4250c650e3aa7f76d0a706d406a9de415727faf05539d7f7ba860e0b929b752973c29053888193fbd829bf165c753435c7246ae8585b6da6c4334f38608d41ca8654afece11caf9dd063fc7319ea5d47c7215d1e4db49d7bfdd93725ddd089c97aab4f690dda4fe666fde8bed370056c57285917af79caa998021f93fb4fc385983177fb13292b97a263eb108b9d0493a25271e5183a81ae25297a267cd426928754a2f69d2da8a36bef842773b978b99260f4b8d8018484e95b63825799e416ae87217e08fdf296aff96ba0de9eccb6f72e4abccd093595694f7000e2b517b157f3a0d4d98cfa84166957cde309ebaf87266afac050ed490d141379a1c2c0bec61451b799ecf875d749d0fa5f5ba178872a179ff7763156af531053795702ac2d4b01ef5ae7990ce157d132a78e377e9187059d5b0d58d3789aa1067bcf74743075c1b47bc47b981f5d8c58047c984b90b32c7ac25ee445fb6cbdc8830178e962d12d3524d398ef4780a9f759440635b57e6e95c663f9585ed1ae37998ea0ec0fc4a1708641dce7098dc7a1d42196ac7727d02d86b3f8127349d3fc470d782bffb62d1f0e426b11d810855af1479a1e104dde3bcc38c10ca9377f44543e8df2caff0c5980083a83a9499d5ef6c89fd350715397b157bfc36b83e01455794e3401a7a895cfecf3512d77d3f8e5178c1d8723112d5bc0f516d371db647db82e2c0d25f661fe21ca17eb442cc65719fe1bb1aaa008ac8f61777ebb1f8a441a6b217bc0bbce419fb9f4de46e74b9e10d3bd50ed35bde3f610b8a708963ca9241b702f265006a77a04120d14f2d68d76f4fe0720d5676d6dad39d8336c450e04c1ee8717b7f3907c0bb58d4a6f84bd79597a9722fcd3c17f6132b4d96dee424e1daa230ece74bae466970b055d96df49b775272b2c2bb9f36c44849554f18922d7e32387dc29e929a1ab7b04b8aa658551c7272832ed1465faa974fa47fee464a6439c1c3896f63e98ffa89fd031848365481721b2c546c5e0906f24101f639c649a88de40dbd0da3a3e3a65e49bce281b05153961aff413cbfd28fce9ca410f1439e5d6ad141038f6d4c15c9a9a4baaa8e0972502d83dd921b3a6d3b84979e3a6aa8fd205887c7570d18ee6802eb452709f41ce798a71265eba5817f983ca0b4556d1445ed5ca5ba472296ef14cb58fe9d0722fbe67519f61edf190350abf184a15cf11f1561e8689d503f1c5f9e3f0bc10972ecdaaf2e9057b2f0f8b6e61d5aa40095d8fc0cb60ef13ca3aaeef844f228d54ab143046ad59f6a66fa6a5fa57509a4a05e7b4928d84507ae6ecc27d6fb6ebd4632d35ff5a7ef43d53ad7096da8dc1da96bdd94e056577d131a825055abf64e724041ebbc34a84e8345580f70057d17747c0ebf4205f76367a3263de2de604c61a659c72662211cffc5a0bfc693f5322466f3dfaadf2f09650b1a77705e083a72fde415c3689b3ec82afa1d757222e8627a077d070b9b3db8647759bbb2918b160c9e058bb57863bb6debb1ca260dcc22bf822b7dd708aa13fa70635501f7750c0fc2cf618b4fe7afe64ede551c7dc0d74b9c1a34b0e5a06bec4935b9a15b25723d5f7b681337cc15873724540d52244f41dcad676592493cf292647455466a5de1d90f40afd2a583dd841f039552d1c65f7473f04f3e59491b25342808911872f9fc0aad626c53569c4efc93e88a0ca4eda9ce4887e9334ebd65e24317cfa77225fc0e7038bc06d3bbfb1f4cb670c3de7d57c62578bdd8e56efce88ae3b90872b0c02ce4a0914e3f9386d86874fa9f0ba101bcb925605acb1c22011d6025ac72885da4d31712530433cd6f88c69b5284f4d6f59c936a8cbfeb55a5d2fd73b817af76b22bc50eba6f05e4dc8469f24ae780300716a963bffcc16b44ec001d447202166c3cac24095af91ab0caebde97cabe103cf206d14ecdc2104a519dfeb22181330539cf17301f54ffeb7a420e6affbef817fa017d20cb0cf35bf90faf694a547131d6f9e644c275bf0abc3574a32845558abb3c89ea45fdded08ab23b76725ba0d36eb5b8ae2a3ab0cc0a07ac4c2ccd74779798b19061fa51180ef44ef472492a6791cb7620e80ade4b6d10503f87ba2642b0ce5bd453a45b586d9506c3727529fe514028b30ab2e5e17e2d4aec0e33d8009c74995fff8baf540138881f72d37fbcf5611fc0389fce11e1bcd3f1885ff5280a11508e4fa47a993d3706067264ca3482b02c8692cf98acc8821051677a668818d5be7a2888dd7196630a095d30de324390e554a1db5141235e55bbfb5751fddf70a8fae23d758117f71a35728774cd26093927199dcc9ae2e5ca12dca96d81764ad3f3cc7493239ed927ae72f515a3fc0938cc3c2682133e58aae3ab38f0bdb50f9eb2d7605d304776f53e72c5f3ad63c27d38acc03c452141acc363c17cfe7290da9fc3baba62b2cf301d6dcfc4626014ae8f5e30694f604412faeba685f19a44b7db4c036c3c6c0540be7200a02ce0d34154fb1a5ae890b2bc2d5b6cddbacfa47a4898c35bb1920bc57b72eee32c48e68673fa54d93c5d22bb85a1a4e957601b8ecdd35b0427d2311706039d910344561b615406e7c790d4f50e37d95c0e15fce5e484861114fa88abc62e446cfb6d682a6ba236e30972f3aa8c76d39da31ed6a24a60d3244e3d3476224580c9fa86f7a9adc2f237785ffe656a74a791b45c486d833695d68eb45dd80a7254b22996aee8bc1d6cde15142d925b3ca1a36d8f48034505f8ea88c38963eb72debeae0f7644044484b7187e38dc0366d15d1badfcaa75febe6603620db6487261375de9000951632fe62e52fee48215f960128db6b7fcaa6c06e4b080d2ec72d1eb4e69d012f0feb858dc72a9ca0c208973c655c63c7cce9f97012c4a0c0a7205367779e959305a653262d5d375a7b13226f0b22df8da5cc00795a40a01cf72f7d1632be1a5ee101b7e7ed7abd22655c8d00b49457c6e18d30f4425efa7e9725a6bf4becf0e4fb4580fa7f33bb63d7513ba7ce013c6f8773459e164b98d0463ce18c168e1381d8a75ddf4b78d6cf334c620b61be353dcd23343a03cf50750720ba77c380ec4c9d1e99f80642c244f75bb28e9f12e0b154aca0c8041198d873b6b759cd3f0b00d14de5633def16da25d09eb25bd1ab79f8ada2b9be4f3e0fb72a1b7c23b78000f3301d91b5def969e849963bf9888c56a50f5f4df62bc73cc723e6254c90302d17f4e8bf8afde70698ea75449bb6ee6e3488982d219d6974a666ce77dafcb7a1ae0a50bba46e09de37c9f00bce24835e92a026a9a46cdee2c724eba973c407ae9b4b9aaa0c9ecb7d9fe694b1399d48e397781dc8b06d6b78172522f3d00e4a3a33be11c6746de23c7cf7e5c8bcf4381d5ac8ff2643eeca6487281d876b61c01f314c375af87b83e6db54ac6e7d7ded504af8debf62bf575f76511e13377009a6cca6a642bbda096f1ce4cda5117361426b13a77c745027a78202a77daf65cf82cbb1938b0d2abddbd9dc2db6dc133c4b9c966da1e103cb101236cb0a086ad499f0eca9a944acecd8dbb620e4cb5379bc23761c67293193e02720744cbab1bfeb91de044c82912045efe92f3858515c74d7c1df08f457e9d4c72b40969b231c62d4f1a7ba97af160e3e9cad772f9f1297ae15e2388f559cdd926fb26149a0546b3555f9e31d174184fe47e60a5d1e9adc9e81ab3910c2cd7b8727330f94ad99583d06e63f0d7e9a2cb5b9b7d1420950b78216230992e9d261472ef5c73a8c61822c87a59d78b6f1df6899fdc95933a94b5ed5fedd3a45a33e372f7eeffb10a077f24f29f16d6e2a7eafd865618e104f3fa310c980969464f8a6610c7de9f7c54da10f939fd9eebfba6b6578531b3654f86690055548beebfe7721f951cb335bf496b437ddfe3ba1fedc95dda90c9b2885b22bfaef60e08b10c72ee7e179d8bf1777637eaf0fb1bdb462919cc7221656d44c8ae696378ef15cf7237a0201b585b1943cce1ad04e4991f832fe7bc2c5ca6f0fe0ab5813ef99b7f722761f4a4979d1d778d66c1de075a3fa6a3de771b714e6f9fb8dd862e4e68d672cd8d75e7a3e419e7cd0c6b4893b939feb5d48f95f8e69eb0a5cb4b38cead5b2a59cc0bd9bbd93ef1f60bde61c3a7565d727f34c0fbcbacca72986809008b795116175cc95fe483c8b39de763a66ee517d155faad2aa6129bf9e2aa7a9456e2729936a07e52c53a7a3688aa7bad1944e41ba23da32e6d68037d75cf80a45124728cfe5e8716200cabfb3c67945b32e6ab802ea5213ef8c8d29763de59f27cde253396eb85834c0ac6d7b729f51e9fb5fa0731670f83f71d6988937fa10940f272f27ba35406d40103473977c44dcaac323af7129f3decf32c9e56a24766580c08b6de7967ebde1b2d9aec2d2f1ca27949f89d39b13dcdf0437dcd313fe7bd4663b4b88a82334ed279d7ad5ed89a2bb9354c02f3524f5f90d7cfe7aae569e1d661acdcd74fdc749831e6b089f1502465d9228b195ad02816310db4fafed4f2f3721706ce21f614379a2362027da2528f0c6274837189bcd261584d6c03fc496c6a8e0d2d2777486550496a1d1547cc7bc6001e24c346041331c899e29214f88872f3a420f40d13f21d71fa3926d19b14870524afed4381bcf67ad048e4028a4b7226d0e833ebd884d410c18a1111d72933fe33a628c1aebf3d593cbbca7108d33d2ab5d1ad718dccb92528ca240bf86b5b0f094fa5c956356b4d56b6f8dd4ec747ff85841cbbb080547db92faf1adbdb0907fa65c2e7c6c30b57c9ab8f7b09677037051387b17c6caebf25f27b58ed19f8818e99965adfc975fb0fa14c1583a643c5adea20df03f06f741e7f19f08dcf7811b11f8bfa947ccc4fd0c3987ce4ce72c526604a0defe4e0ba4eaa57c5b6ee0b9a889ba66265d20ce4abe9062d1a65726be4c7b631196a2db343bc14b8d3364054b93281bca8bd3c3dd29b1a8db9b1064ba57aac56550b81b015e20cefac545b92f3e473e7571a7356309bb75fc2974f62bf79e5169fcd82aec25fe862035e244dbc74f330408d9471a4aea8b6333972f49df54c2108951b761fc8f81bd6a18c6e076e1a45d9446c8ee9a37367e4de72ef70e12ae922bea4d3464e5b464b9326eff530316f0d12730361e275982954399e3ab2e13f211aeefd04379b68d3806fad62fc527eba1ff6527c74e4fd18db4e00dbec2548f7cb4d736e98b76d48c2c9cc325df55b8dc9968e476f080f362e72886edaf606d21c4587c69ba11db770d9127a8f0302e6f95c9d97922dbd43377249ede682bf8f1e38dd2f1eb35daa29ceedecec72d3a3cb4e651c69090482085252c240500dec31eb627edadee076aed3cb50a135b7d22a8b58cd43f1ac99a672b98b834cad6051dafd1c8ffb2003636d21e8dc64b50cc2ea7a76041c0feb557294bf2042e909855b4f74750bcc98c3bcccb232cdc16d4816d82217f561239d0ebebe3e278fc918660da15745bc04c5ac354688d3635c2dd74311789cdb25984bc9e99a57e590c555fbbc56acf5202d9acc42b4eca9de53289a9559f85571b53d0bce7f0da63269a5ade91fbc965f97d5edcee085251beaa301f3da07b2cc070e7a03d6fb3903b36d4de720df7eb570b6030082ad68a4473a5fd38be9215533727040b2c0b644aa09cbd5f1fe751cc9852ad4c667d2644e53a7953f4052b7fe72585e1bb01cf41221d9648db5e81fee886d880e267b55d660efe65c6ff0bb210d2af8278d43ce63ec4fe828d0ecbeda48c252335649a2a3495e89c9fa017cf17231f8845b2e0b4510f7c608da2e483186b24374b8ed51d31c59e993b1ba6a7172e9446080b699c8fdaa5b57223ddebec7c806dffa9b0074cbe7efd831bd1ddb0ff0acf1a7caedd9ec68cef0895939ec4093c53752b23debd1c27a486140f45c72078d5a1ac0096cf80e33893d93173a31410dae309bab8d89eeb269d316d30d70d577a16c1f34a5e6e247d9736a06b46ea7f89f692ab3e8d581e7b1a0017dd465289f653ea930666a4908380b97b1d8907bd961050e9c12db7bd89dcfe825343082f888711d6ce82b38db66d9c1d7b52c9ffa55cd1e5c23a8fa92caa2fc33191468ff3773f5e56383b96fea593f5c571be2fec4391b644f3347687fbc7c13760268efcca9b53de8a4fec7c718af87879822866ce0c25966e535cca6ec57240061554b5cdb04ad7673269acd082e3cb42f5eb423af2292889def8ca90ee51eeb7247a253cbed81a20a12882f31a01b1a814e25bcde1f509de887f5577621cca5728bf4273746528aa32e47171f84d774df2ae1a981f2155ca624a3cf0a50913f056b7cb2f2a382e241398574deb5da083995a0c0a44f90b2ee4ea25e17e500f83d3743aa078164c8e7fdf7947451798191293796f77afeaebffbeeaead9c81d03d37e91e72534741146d4bf8be769df2142aa7997573abd67d37f77cb3a935302154a9198bc2efd923582f07e1c9c634c11b6a601f75f4cb9a50d5df767a84f944e3c21f21f5234ac53cf6a14cfeac7e46b1dadce034ebec6679e0634f52a3f55c2d577e050a8735d169213e3468cbec76ee2a435900c6232631598d8d9a441d3b2542faece96dcce5d0a2ccb03422fa2c5af4a7f67a050f3fcb9a1d7488d8e2612d348856aa0e3ceb06bd4d35af798eb6911637f279ff0e20758bbe4cce3f4f724db59c937fdeb0719486c938ed6511c472d27d53b27f6cd30c66f5f386fa4f7255990aeca498ed31f21f83442f07617a67aa4d8220e54d505c58d9fa0006d172e66a007338b7e668c9b78a40d4ac8c185d4bcab1933c9af41e415b47243cab72414cf001bbe3d63761b7e7626d758f27dde2acafc16fd506689fd4d6fc44147272eb00e91e271fc84b796726fe7bb8cc954c24da56be22de82fa3a0e8632d5724ea3d00d38a7ba49470f788c9b9c4a64de33164948d6376ef19e6fdaecbe4b698d66a005e11aa41d9c33cb945b9e45a84bf6e03db5bfaa7a13fab46fac52b302552866b6fcd89122858500b04f354d5ce5225575b0253394298d51621dcfc772fd04f07897535d98ba5e2bc4dda5f50244355fa2960d3c0f0db6c3533f0fbc728f5f718ec89539dd16d9218751d5826e86880daf44b016b31d7c6173479b767215a936301bee24db90aeaa2c7c8440d8ae394e2f9fc0d30e89b12f6cd482e272496ca48dbba94e010d5509cf08fb461d8334be246599bbf3945f3b8e76ccfd6896ca92711da145d1bc7fab8cbb43f6894c44b17d19098934166e50deabfebf722add78422226c79a1b44c934f4086f90532e9edd098ac7c4b29f33f5731d97729fce1a1232a9f0ac660b24706810f72e8a25ea09b30e0cabb4348e02565741724e5dcc56fef6bcf29ada458df597623523027403603449f8a2463330f0eb8b22005730641cad200146c33ebd7ea1bb5254360675bbc2edc01ae977ee141d14027f41d49abdcb993bcf15efb847a368d660924a70fd4777397a21b8823a22e11da7940aad657c969d55eb0dad6c55b93f588adbc450e779178874f7c61b92597222e4f14a14179bb0510554bcd86ab399568a90aeebb61cd99d0e6627417c8343570d20fee2e5718df460cea774d5987b74e1e8111b5e944f2a3f583be97a090d269345453f49a909ebd123450a9cf16487248d8efaa520433c7a56746cb8fa72594c6c4f444115255b3aa9d41f8ea974c714634884aaf829ba4038c8ed2f3d724b7251fe7b8e610034d7efa421fe0d63acff2a31185c79e064e7e85d79944372976901fda69aa44cca76f5ed0534b14b17952c67525ed9df9ba4b200adc8192e95ce2b3cc083533f81eb3da5d17711fa3cec85c44fdee5375dedb4ba2faf7543ac8ca83bab9e93b106821742664a417f51eb754979ec5ce70a50c6b9c8b80172b24932620656fea87ca331cb5841f43c1b568fadca708df32b4047fe6c1bd972cac8b6cacdf4d493839ae9c8e79fc23dfe63eef93872ee3f421967a2d372fc708ea3a6750fb24f80a6bf5c07a678757aa15ff48adaec1d287270c3ec0fa73a32ba0e6f643376d8fc3b2114b3db3a0d7dc0bf25fc7bd4b41b99e54f6c12cf7b35979a5c4abe038b9bee2d35d469227982e73f074dfb8e85a89d5ff1d72660962c3a6ca252acc6272087fdd57ac3e7328832c16bc7516724f36aba7a0a6a0db872a8e978b7f3d4d87e07f763c22961c85de8a556c8cfb670fe9569c021e2682d3a12b93a147c074aad070e234e1b4ac40cd96a5bb76edfd4cbb8afef8fa466d3612b6e07de0e2ae640da2da25ab273d0d38eb9401e54144e1dbe9d61f3407d1529c50c7090489326c211898200f4edb9aa50f72b92678afcb82108bee3f51cd1726c4b74d8fc7e82d6af65e037eb4945e7501049d9c5c5f12d36e93d6c1f491972e053822d36fd4c3c1989b904f10ffe38140ae3d9c9037bc7e91fbc34fe92e772fc3a1f79504a164486ccf4b2d7aeafcb9ae6f3b2f71fbcc6858a89a99e600e724a02b7ff480839ce03294f15a2d15533036e3c4b21b8ae107c6cd8274d429272eb80cd74f0c9d557ede286caa41a589bb3f1a6e6418b296c0253adc2b143fc728078cbe7a3b0526ae6610ced6aefdbef44f3d7e1030cb58f72d7655d52c88c72705a44acfd1dfb4e680d852ec6aa8657ace280614c47e0f8d6f9f7a6e94857722387a5f12c10c24e5bd2eccb3be7fd49e82d851094f3c5205718bcac443384456b22b4d88701763e7b40cded1ab3377ffa8be9f99c329d8abf61883043f08855b4cccf09e3509aead46dc7feaaeaf3937de1a6ff4c0540dec90df1c577477672ee83b0070c717c4e1b81550b8fcb57e7a39ab5e3c9812b4f42bc731091929f7217e72330a7cc76f30cbbe3f1ba950f9e6ea168d96a44257b98bf8bb16ec74772250376e9863e88f7c4719becf96da2afdb7c5745086f5fe9b7989e65c4057e72917164944118e4861ec74d3e220ce18f7e51e67479db420d9ab96b1072882e71ee537cef171c76250a81ebc5992d258fc19459ec2ef984809556e141b23cb244adc1da9bbeb174dca4bfa7213779450cd7eba5cdfb41342be9f630b4596cef3ef822df93a0db9a11d753ccd87c8ee329001c9ec8cf97e5fa9e7a76de3442f50320aa1896faebdfe452f1eba0aa3e5dabcff52688a219539db49c3adce059d4726fd9f31c26d0f27f6b8408da0d8c21317cd13b02554d0a9800f9b6737aa2c272cda4fff2968a0850f0fbef99bf6ee9d8c4e9f86a160cc48d5ff93a9ad829a66245f8fb39c34a3ca636105b53a853ec275164d56a09bb06e6f427a45437dbd0727000840f75cc0419be8caa345e8b369b69eda9aea2ba7d952c91d4a697a0fb2ded57ecd93ba6708eb36c6633749f8cdcfe84be538f8a85f92eeebe28a003c652d6d50e3b522b954213d50e0e7e5f3ac55cd38a9338d40874cc10fbd4ec8cd772f2fbc05797866bee79fe1b8773d440e5b5624f625c280ff34c594a8d8d52a20151bc342c89dbcbba446310ae7ab9cb8bf46b4cd547ac6ce40e5ea4d316718672ece16b5f348cee2eaa953f43e8836bc8c45d6f39b66d7b6beef073fc51062f50ffc4dab9e595312848cbf90c559b0b5c10e8173aedf1f1e05c4d608216edbe72c18136406a135c7bdafdd7e6e62421aa99ba97b7b014c6914ea3832662808d570bebe0860682c75abb3459eb5aa8491d0d28fdc8a4d56ba2c9f8e35236de41261792f8ed3904b2e7d97731c0d02107c1d6b2010918e96aa7d2d479694ff23f17f294940fbf21f04f1665cfa6f7e3ab64b0413525afbebf486ee8ce5d0ce3d319ca86c96efe869b01a1bacaf6d302cd6fc2bc04503da14cbad308b8caac9bf913dc095fcee4e00c2bb4ff6fc38afcb078f474666cc220479351e9fe949f153a729401f7b9b23f11806037d99ddfe2f4cbc83593649e932a1c7ceee584cd7a7072b5e7cbe90ea5866638cc1aa85ae7cd451e37e751ff500e5893629e2726578e727e2cd441677e5aa00338675994a9c64881b9da4e8a31d68ecad95ca8233f33727a508549c2d687a38c50ff9f639d2057acac8d8e95a2f1a6b767ec41c2c766293a1e3b0d02773ab22892a8a0924209b412d1594536b3a769f888f95954309e6e355a82084990a26670c815dd4b429f314f0fcadfc3b3dee35a1a0d1165de8109dcb47dfd9c75ca3b3b75fdaaba746790ee1bc8ce01d9276ca70f936cb5b3bb09432cfb25b0f3480b229e0a16df23c1a5b2778e6d8cde968c61a7bc2634f5da72fb4d04e9ffcff6c33776d8c288488e297adad8601fb916953c2f42c88f128a727fb67a3a3a2d38329548b8258e87a9373c4fc8f06b87058e7b55697721db2a7292a743563232eea2e65f3c44c015913f2564a6599a5f44e59fc0668b58857572d5679e387c65414eb123a305c04d737d0446007f3922d34c9b67023bae475c72f690b1e640d4a0a84d0814c2fe16e255327740ef2899fcd17f4370e638413072fbb1900f6e4b04bf135d7b1ee4bd032641d05537e13b1b2a3976401204af85725c835e65344e74505185725b125b432e253bcebde21727bc1b534bab8e3dab4a3d2d9183d8a4a6500ed2609753c2778e19abf21c4e77f016a0618ce4d483320a839ee89520e6c782229ba4da0fdd00122385f55e94d27e3a5e5430e69fe5e3293169435f0bda8fe4c445e11e2b3273b24cd15a12dd6706daccd0093133c3067241d2152771056c01ff87507e3da9742723236a434ad91e584afc0279e876752110411dd9ea2276a10217a2f901fcb6ffffb9f2108d9e0cb38d6fde7a4251a672f8bcd326d44d965d83d2e3b4bb4620f5a59dd0bd4004811f6b084356ae8c98729c90f0a49420cb815fa86b16e7183a216218dad980c5caebc31ee83d29283f72b0e50ed9fe952a3e1f68140a59669907dd8e78bf859a9e7e04a6a087c9485172a6428c67038b63a7f979cd65117e2775500f4d2909a4586030d5fac087bc0272ccedd50c5d74ebd267abd0cf84a1bc72d3ef023b310d846d74c88220545d84723e598cd550b20a9e26d02353d35fcf2762ccaa7c081a7d17d5fc7262a7a29e71cdd5454541110b7724346da3c198509aa88b03db1d3031c51aa02127c462690b505770058cd8b89d54a9e4a113873c121c6fc15ef5a1735029bfe125fb736072c078abd712b6700a16f66aba2cbb67ee711281cf35821180cc35a21d7d3f737292abbd93dd85bdad41dd5743307c56a2ed77d2fbf58a5dc2bfef72159a11b47267cc7147ec079080ba9bf0291ce96e706b1628e54cef87b2b944b672c2c3e172418ab2b150f852950136596e2a767576f2a3c82b5fb3f7daa6029f70c6a1df7203067cb836847c102a76dcff3d30f9c93ed55c4126004e6eb06d8240852e5c1a36323d2efde90c4488f6edbfe0c15f9f0eb865bc8c466b4684fe3add7c8b396fac99b53897bd57584902dc46e0f3065e569563775dba55727ca8134f4c69b872495e25e62d5d7995f6c9f7ae305498c62f1183946b9fb7410eea985810be807299b56d914c30c2b25f37fa81950bdff9a240f600966fda62337e9d2312ad9c4f41ee4b0274c0c6137343332af71062be72383637549e5bd4a2556fe30bd78972e170177df585d6871dcc9c5fe98c92037fa48bf900950ac9348bf6c3065ba8727bdd50ba06439e2a35b5dbff0a33b978aae0518269fdfac094928fa478010365ef7ce49d629195faa64eb64ea82686a4050e959d1ed60818644f2ad90cf21e72a7821cc5c9f6283c6a7ea77519a9cbb9f694ce623cca55e7d31fa87bbd1c13724fa656881deabdbd8f0ce8bdd4786d048a71249600256c7d1c08b943a4ea8d72e7831982e6de480d7e847c577d1ca94caf583c27ddeb862d9ad16265e85f824c53f64883b5a189c7c3a07f35f0d6511e73fd8adc4d661cf614643086f3d67072cf3dc41204724a58d00556792e3f8ca505630ac1007eb77d8279207300d7b9723021634fc61c5154e43b91514d0a284961d0beb175b25278aa0170447d89ea726136a63bab66a8b6886df800d7895db9540d5bb6531a9833e709b0d438843747e977d5e2ca19c833d3a6cc56fff1335c4b67cf6e8ae26b00a3671d93957f0672542ebbcb36b5c316cd76c3218c9b9c3ff4689e8a75396f8d401686c2132ed072fd293102c7eb9abced31e315d2e415c91f2d1e11f8731046dc9c2b5755524672e5c454268ccee055b44ccd59235e7730a992f3cc0c39397c6db1c4e8782b7e720f97c3783b991cb8172479c833e9886b15576fdd78d1b6418882b333d3c9d9729948f212e7be98e710b7659fce1000c5801c02b83e22223a6505b7b4dfd9b672e8cadb23d274610045a00bc828063b76c33d11b3aeb4880c484dda25d2ec876e0d67311ec76e8049b66e566bf90a192793a6f9695e4579b63627b4e5fb94d74edca244fc76e84ea0e9898d6d59690e4105770c8607ac9664eb493fd475c15772253bab8e920ffa817671179799b667ec4716629efa67742b22df92dc65282d6ed7b2743c044b717d0b0fdc0625b3719188c62fa97be0472248d12e039d2a4c729585095c42422c933fad88898b8673aeffadf06ce3c44755463f58fa18149b728512b52d317744a7a2429e63caf864d1820c4fc37f282f0dc99c8128ac6f1f729d529ff902b014ea9c8ef9fcf5f19f71fbcd85a5dc85bd56c8b78c0d065e8838725bba6d90e65ad151c8725742ea5abcc645a66e294b2d0309ee10304999e753d77841274413e8795817bfdf81ffa1d5521bdec89202510835b2d98c77a1130236b5b5e3294cbdd44e4b050916fa8855378430c72abbefe32fe26b960423ea72e294a3cb7b490566299ffef4411c11d83af9a497e39c6f8caafbead4b4e2d572eea9d3228357d3af5538e1459fdf3173bb678b43718d92329006177bb4ddc2727786e853b7b353e6014217cee136cbf9bfaf589aab77dd2a220698f17c929e727a2dfdff13e326229bfa76e018f5b6769018ac18e9b3efe4110750735f5a4d27d442cab514a6e0a4e3a6a6c8ab2f7dadac5a3728bd7582a592af8c2166c10672797f18d969c4e440e2d924a0e8edd649c90940b75da56f4601b2038344fac900ec29264df894dd0358ec9dcb8e33e07027fb0dc0b0ab4aede65ef2fb7168db40e32cb8969b073d8b495e43062f7a84e65f699c57719aff4414825dcec1ee7e7281a158f61ec76e90d0c16083e9b5b2486078b774f6d0b5f1dac20ddd3fcf190dcf35fefc0c9b6f0705fe2dba613256e65809baafb786cee4d15da812b5f4ea0fcfeb48298b50c1a9a40fc8e49583cca6a573ba4610aef7765fec5c85a228ba2c4b7e131016163e81a666a534729c731bb9bbba1d884ba114f7d55b759a05be72b9f9d99bf3d6b98dc702b9ca29370212a60f21807058370902ddbc6a73b9284c4fdf35e8dd177355013e54d2071694a88abd1ae79eb886980a7bb0193e7e4335286b248f2bf247ad1b310e7b05e9f6bfacaf5b92e37e56d613bd450c065c724a6fd7aacaf7561e80ba100c6f40a13096fbb47053cbd1787497df213af868cf720244ca3a73c4d9e7f901b77713fbc9834cc8dee01322c56f3a237ab74d431d72eb25177416c8ae575521432ca983919fa3543b029bf8042fb575406b1c84a0720fded20c1859d014b27f91305a8052cc7343e4766ee027af6a60a24f4b203636bb6f70c440b1af0153636ff2608d1e131e29d45aed04b8547749d628b6e3270ecb75a7acb36b119ad07821e7fb565c0cef7933b619ed04ba46eb4634c24da272dc59617e3e3723f7419457197953117077fa6c99ef334e1d3325f87f55952a72f116ec641a719c572daa2b4f82c6ce6989170cbabc9ff865295d532dd2ac8e719992dfe45972337360b517867354202aab254ee534a5615e9898172c94349172c29142f61d9331efd01c6592f1d38534794ff03dda5fd42bc49a3ae38416de72897116a8c991abe531a3489aafd990c0724950966d69f948a9cee3c59772a872229252bfd60117b4d7d11d670db57ac9a52a16c2543d3c6d4cd341e309dcb37204cc28e4e2f4f2071d9c1a6af74d886c8c797795ad8cd1b355a0336ea4282b72da1f752d0bce2631dbb0b9dacfdfce6bf10b4844c965e7930ac91485e810ac72fedf4e837c5dbc6dc8e61fdc02405ad500c38de0a3b0d99d9b9043addd59a772d4c89ef48fab8bf8e47f0102d0ac8de2e7cfee3724b2095958fdd570107a18729a8d5bd27592dc69292e73905514b2d222431159c27cf0d01d5c38c1064a3b7267a11cdaf12f2c355d9c7bdda11e19978ad52d0722ca44a95f72cb27d5e42a728c1dda49135086f51156571d28fba5e3c5e7096db4df107d1d6773a89a5aa37278bfc1c3740a10a1bf1a6c84df7445b7c65e93b41a1592fd05abeb832abc9472c6f8a478e2c66cf0ed291807f0e83bfe1b2daff541ecbecb8f992689bac6327278b158de25324207e4775ba7a4ae64a871db1c46a887f79fe4b69634292c15728b0f75bbac33de751ee25ce7d4800c0516bce374aa4eec3db89e0e1c8dedd02a414f5540a6ff949694b26b95e483ff17dc3b9b66723d1721675cb72e5a1ed972797006944ee27f3b97e7f4f5674ffaf79645e2aef461a70b6dcc0e34eecf64726b82e4250da2da6e2d686f9ba687bf2c1cb414f5c8b9333d1a4487441c88fa3e0bd0e5cb0e199d0fb9a93db2803610f35d9e27e6a92e9747687db539133430722e89ab11da9c60e8c1dcca221fa27869d0383dfebaa484d9994acf795857fe4e8a50dfb0b4c393bca85d0d792d1d7c8a774d0af89cc69315348fd0a2f3dc0e0223438688e0c3f7d724751173af5912c402ac77ca81faaeab6f441f17a3c77b72f1a46ff95192ebb6bb00e33509b201a827b6834211aba27e08425f72c3fdde724bc268fbe019c404c6611569fbe203c110e98c9f623d6951272dadddfe435772d0574af5a1ae0e1da5db73c4816a28ac6d0c233d99f46053d97e2a4b1c3e76729f7694e7fce923453a4d8bfcba2c60d179c5b8de01ea4ce1f136744ba096b57261066f6db3ca41fb248826bd930210e8a4a1cab656c9f71e82feb4417e044c727066dad28f46c2b8201d7b227aa34d6649381eaa4769f8f0059f5739913ecb5b92841eea47697e1f4c3943d9fad0427f81dc576cf918959e31ec027d1eac4b7274eff819a186e39bde9c1489fb036ffcf6a429cdff0f574ebd2808dc8839e5726e81ca2f8922f5d596dd91b7f219b9f5d4fd147002735bde0935551c934f03726c31b12063d5169a64677307928536f171bcbfc042e9180c62cbb25b45457029a2f50b51b062778b9c67cdaf948f6dbec5385e6c79d81843b3508f9cd12ed172f4d6a1ad90e501b1cdf2e1ac22c3da5004c39b1b1c55762c188fd29df1f06b34a6939ad70bebbb1705f5bf5763311304e781ac8c10fdf558b71f995923c22772655b430fcdf5dacb037d688c8d673e1d22055075368bfb10fd60adc83cc59c0351fa32f451b6ed25eb7a9fa7ffee2b6861b0f409b7b04ed23f7e4d4ee1cba47208b0d1c2f9d7b4cc5f13cea07f29c9d4b528964d9719faa3b3c8ca662a0d787278b586666907e39a55f9924d693d94c118e6dfa5444af30f0a3a2c58dcfe78720871743d16401ace91428cc68f8cce260cadd682a79f3c99748646f3a68c405a88490ca48b19e906bb27b6ea3331dd83215b722d4b6def02cd6b2f673695f81e8dc366784ef6c3e995d93766e41a0c492a9277b362f419331b8d0ef15576547245fb171939820d55b15227db70c3887001243a14444938f3ab5ffc74711533724388cbab0a3af28a78aafb98a5139c023565bc2e97e6a166f9cac551ed22347224f53e491e79d0eac6c08b5854a95758b328fbc07fd45f59a594ec3f32c5700d5e3f6582e5b750d5d5c27f5274923dd0bff76c6ab4a8d6b6c7fabc45298b7949795c42e299d66bfe4d6e42bf59a8d4990e265e2b1e478dcdf9d59337ff261b5e961939f4a90bfc425ed4f6fb4ae388782cdd30754bb68448f41a29c9e8cd5443d85e1b56b51d0c5d3b42835e858d963517e4ed0abe00b7998bf16d6aa1d19258c18bcff69c0fae235849d5d830c45b8be1887172f2f41d229aec33f7e13725724ee64cae0d2b157c1d12bd93ed2721394883d423e4ff317a38c893934afdab7205e9def197c9193de33e67dd2115bb3107d2c75a6050dcc6db08c01305f32c722b70114c12b06a47fbe3a198d4c5ed9769560ba9e3fa0182cc970bb2e21229721d11652150b4697587fe3190a3ca3da3ce6ad66df836f1bc49023992702b7572d6d154de3fb8632b8a93d619719443c040a6d38e135204dbd0fa2182aed34259e31b7134f46147e47ee42ca412026ec31b7c3cac2bb2316c9fbeb65aca3cfe72c9c50249e0fbde05489dee8924acead4902175828bfbd1255af5ed75661e705ee07d775ea1b37304c6c71b002f8e27b421e525c9843c3fa4d3ccfcd94cf84309580d5ed0ad14146440ad14460c68d8c626fcda8e9a81930209a500d8eab2805744dbdf4e803556e502d4c529f7d06f7186f19ff6e5cf11f8443d6439442610725de4ba9f462a4887430eab0564fc25f33659ef1c279f42f2f040021b288f2d5b98c399ad4dada7f4b7efcbe313d8bc83aa45ab95b699114b04480155b7dc80720edd90eff3401facf7d88ccb5958a24946e80937d1c65df8f6769c6daea1bc19ebf9266d8b3c2af0ac00f02c717b50f7075368762cc43ae292cd34299cebfb724e8a6d8c110cb5d595f8e8285fdb898a95013f9549bd31f303151a96bcc76e34e09ecfe16cf067395ee51b9d5f6a1afb09512cbc4249b4bd360fb0d0c789b105dedba8278d19daf1c2c39d595457d115b96b3981d72c328c2411e6a0c329a7105320cc39ed9b5d9a0a7fde2020fb02cae55525043a649a88c513f6bc23d5207276cf17dd58fd379beb260336fda1c19628bdad7df9c6fa56c8fd7ad64e2c297230d1e76a36528c25752b67ab973ea97816951b046c5b8aeb9265b4ceb4f6c31032991ce3d64bc12d6dcf8e7c731b3566dd9e58a1afe91d87dcaa7092909eb70135a0f90a28b45b15c1554256ae2a534bf10f33782d91c2b2cedfed596154e54d02d8779a700bb40a8edb8801920461bf7abccb441187f384d15a36f31ada045e62c940b60d80e7aff16db4993e0f15e43fed21ef5ba88ea52aa5fa70a4325028c33dc6702c0371bd75432573b6d7c7b3c625eee4ddbda7b861f88e2f6fbe1b59849fece06e37c6ab50f8d6ffecce2394c225ce70d345b326302694de9ffe3f2490252ed8dedbd97d1c6e6d868fa1a4f30095fce3f509fd6b17a27758ff53f0640cd548bb42242a525e03b47aa2f8e659376b797ca6bcb5da71c2a54f8e214e22ae0b1d50bd2afc7f0163f150efd8a47a38216325abedcd01ebfbf7784c2ec472e86b3462b52e3240afdb7348a0c82d38ca37bd6ce7e07c9596daf938f64c3e0f22b7a25e59920eda4793017c2243bba6f6445a670e5587dd3680cf07a597a672e81868b226b930d5f16cfaf11ee6114234fae483159b9a5ca4c1498058d2542f74322128afc2688d1316ebd00299d34442a3dab297ab7fd6adbfc5b55f174c10aaddf508630c006a923f17d84cb43707cdba51288a452c40ce99b14ad0349c72fb474396136024685688b74b32176047e35961cf8ff481ce80a2d32e06528c7246f1a0cea8a06a61582af2d1fa451ac173e081decb925345b8a1763a4fd671722d5f31128e030f5b25fbaa4ee36a223338a21e2459831c4375d0b572d49d9b727abd463640c9e2bb08c4fab6d1011515c05691490f225b3728426ee228ceee023c3dc8d17e70175d60b56a927375133cc69c45fa9522c56dc5dae20b5b8fbc4bb79674ad23c07c681a5e110e1b90143dd0e7ed5f275c3dbe02b51cf3ae302c50ddb6bf8a446b328c6bed19a4dce9d1871ab854219fb6ad8fd206f14bf2b38c7279ce3dd9ee007802e8f56421b2062f8bba062dab27f221d982b44464e5357815a72d0e279b3123e98ca4dcab47c70c2fc5af54787c5c41341556f190ded7807215ec53d141b21502353f141f90c414705cd6f073f704264f1cd4eeffcdc5ef72239cda58bca7a5287ea0aa6be38f191a31910b2c034e909c53df6163650cef65aee250138ac318989ff74345042fb38f9b67e74fcb46d7e8d6b3906226e670508384af25d54d2cc40ed72239578cbba05499bf6f583b403375f4ca8fb58e70609da521ff4e9cf9b3d24b78f1144696facfa6723dd82f963a05a282aeb0e62872c8c7d001b966b0b0cf95949c38096d7c7d1b6b9dc31291963a0b234509e9a972c74a2e1cfa6b1c3dd09ea0a61ded1c9c3286110a5a569d7b2e636c0b5bbb4b41cce62b93aa67034e59443d570de8a5cc733aa5474a210b464c45156488a32972b96275bb7bc50abb1163827eae19b4ae16a3ab433446d05e20f6b21fe08dd372acdf74880adfe8e8745f4b46da16eb0964d81bbf55c5827d6ba9486b453c9d7293cf5dfdd61d0259912f72133e5099f9ad7cb95adae007c9432a6d328905f1726569823dcee5b9c2042f79370d08a3e120c020c2d8f4c03dc5b290c1a7f9cc722b8c379d798e6e8dda693b44ff74e4f4ffc533d530c4deffb3f4b5736a8b3b4a1cd1b469b45570a04aa97ecc44745c7a0f46ed8e8869ad9e4384804c4b6f306e8482b99076a5332c674c310ad4238c9f22afb95f741dfd0f98be7be0b8675472cdf411baf013d0a01990c61d2f350991740cfc4037312eb39ff112e8f423d07217e86267b3978b8bbb25660366089110a37e898410ceebc57fa0aa620e0c4972bf1ab5351f4c228cdfc210c94754b424f192807117ba435029a64ff6b910fc72e6e8eae1df9eaef7da77a4fb41dc9f1c7ccd7b27275e9b353844b6c73712041cc092883a02f7beebc45d7b635854265d8b002e7723f0f12e96cee77fedc4632f49c4fa3c7c1ed8c0a7df8fbf07720627e8a0f99fbe425b3bb0a961c89d722372f385a4027fe24286e4bfae31dbf91510c3138d036d291f5c40a861d1d1ee47320c6a208122c91e2d85e32da77597202131cb3c0c218c6ea7acfa2780d9947e5e758060eb4e6be3f496ad0b5fdf8d657a21caabeeb84743036fa8e6fe4e7a1f502d8618f64aa47327cc8b88bb598157a61a4791f6941e8c76a081a7a895165a727a32e70726731620d52d1e91fad0b27c541f7a434e4cffa783d4b78e063aca7285df8891b465232f396e7c55b74e5d650e2fef6bbc86a4eec2390dfeb95bf272b6a965fb4d49cc4c1ec0ca40429aa2917c2a02b926bb59eeb221311434c5a1484c05ce5f306d15118ef7c982885ecfa385a2a13c71e7d578f22c4675d5e79772931ef771096ef23e02860f8206ea52fed6fe26965a3db14339eb6d94e233d27254d7113630b676faf80b5af84fdd6ba45b14699d43aa8092e6539e6924a3aa727fc00158ee73b8a040aeae2cf8ebb7def934db8b48f88873d327baca6b53df49f0a1499f6706cbda08848ffb9d2639e802c5252cd4dd49bdbf80798ee802ab2626e5629eb2fd364604358b8d38f0983a04a0cf5011ef037e24e70c7dfd55217232e08daafbd7f9c7a06af9369f2c106a008ec86d71203be5059ec0d9373966699ec748678b9b768dc4eaa757a8f7f2f31fbbc828ddbd4044d6ff348347aa0942d1417400166fae45553872357b9b58e921eb268710597433a02280a5623dca7235dd49b9fe6ea0cd869918f66d4df93b3a94dbaac00abbef42d0d3a377fe047256ceafdd8ec67a77b6df79b70a934583c8f2d87c54f350931da18c29be38797298774d22f8c6d101546d00a70a9beb98e90dc0b19ac722ea3eae535f7c65731cbaccf7f11662421b49312c9858ed2ffcaff00ea2a4ceef20e88e6316c5d41851226d575f7a3cdc92c612d54df27007403bb3fe685e0d70afe2a09504033f06709b15c0bbf968065ad65351060223f10cca7384ba3da2896d012aa8ae799d166f4f1f0800d2b2445ef1a8a71cbc41575d39c22b8c635c706e7911498dccf6e6723383a8e610b6d4b5009ec4e7e59dce87816b7a15e98df6110977f32a81f633727369ea60521bd1d69fbc9a70dcbcc6a2b919b540407ec8fd48afa635f3e6c01409760f6d4cf5af8266b3c4c12c359bb2fd55fbe61229b24c6b498577410b93054e11c4c5f2a99ff482ec5d8d1164e9a832c709339272720f05e687bc00d3bf725381dbd43d89ad84856fef2426f6d87790713b90184a01f2be37107c6e94d830839d93ffa2aad6ad1b4c687eca21999652e44494a4f6c3757a55ed2b3f5d6e183d35d0f9833dfb22a7b9662236d6be698a1ee4656fa10d372e61210855a64d356e4bac48620fb14f1ccc08eee1dd65d00d2240ab4106bd9b49b73f340df61c7235738bb97d254cd4f149bad3c3aa5cff78abc40f6b8fbabf4eba329f929c2472c15e7cbbecb62ebbc86df636094966cfba48091cef923bfbc84e81b741a57f5294abb26bb1136a79e837ce963f86bbda24ffbe3879da804da9cff71a519cd6729e12b2b38c3f569b13a4ef052828df21d8ed3139c28d501e43b03bea6d5b227268721f8e598fbbcfe39428ea037dcc295eb4a63b74aeb28538488856742dd03ffc2280ddee80d1e57c0a605e36f3ca4866b3afd68be94584f668deb087a4b20de3769dcf9f2c0ef438d01b1e5451f5f239476bafcf56eb64534be204a0766b61180e1935e004b30803e92e76ac358d8c76fb3be28ea67fb39d1fef34886f0e7286e6564e276c4be58e796a9907dc57a6ab38cafcca951e0672b9b0388b7f45729dd6f1c687a24865bdd08fcef080f00f122278cae88d30b3391a28c6c3bf24720e2862008f87580c3f50aa9ebdb95501f5baeda74e7f1cdf6ef766fe94efa26d71296f3b912f54c82272868c8b28c99e3f23257908f90286fee581b6d82ca8143f1a7f608cd6874016155a68d4747a8071acfb4aeeae866755d60d8d065236722e931589a25c8680104886d0f3b6caaa732c0d12dd6e1c0aeb30cf2ce86f4e72ac836415b8df074cd33d472e6276826f645321c34aa6396772a550d7863b3c72d0785d0f2f7dc22d70d3973265886831896523a00ff4ca845adb73352ae01c2e155e5a1909f8c31e63f4bb10a3d48efe7671eac9807eb86e2f8cd1ba26bf90184594bcaf222bcba75e7dc4b9277d8d18de9131b9c9c6b926e7ca82bf5fc8a44337766f6aee9446a7479d42e6757896e0f9d31acea681044402aae95e71e3243174d1d0c5747a8fdff4c8a3419b0247d0fc5cf512389d9224ebd50dec30c9936f82d9fef66423120044e79ca6445d0cc7189fcbe0706dbc004809a86154ec8772eaede7f4777905744319a9a4b1adcc95b0486c998ab81d5797b9c3fddf1d5501f5a7c23432c7bd37f5da5ad63f91506db8a1b58fb9f9ed8294461bb8d23d3a185de435e21d3076a7aff13630f93dc188a78de6979a5bac32be31975898e1335f5bbc8a802da5a03f5e9a946e00fd5f556df6a48871202abd66152e21c557c9729d701573c178495fb09f76ba8f898f84dd2ea88dbd63d298a4395e749db7bc726665e6a2800f9223cf7f3ee6aa0e0cc800f0ffe6ebb4ecad0f98be04db242a6ec23ecaa6a1c24dbca7766aa700f6eaf3f2e49a5176c3bee0df8b0025074a946e62e776f3174fdb1e925da2c629ba422c5348fb83c5b69050dadbe9bc5181e4203bc685e5f84db52e234582e889642177fec2b830a909f96b0ece6a251f757872c6cb3789cd47cba07d93fa70e33ac976df55726c1acd98e52f92cfed21e33e721bfdd81d4458cce9fad25e56557c763889d16b74fb0bdb1f918431c453d09c55eea3fffef8d00cb57ad6de4da48d55acff9449f2249de3dacf0e1e9ebd6fd272a3f9ad17506adf58366ca76416a0f5f59cb98fa5d6559594b3795401971b7e72f3d7b46aba19e31a7c3da455f1d918a4b1d4ab79e0e2f5d74c8220b0f6d8b071439238495c58d79b237321a5bf9cc67f0c6b3e368d63b039897a7d9f9d001359dc32dfe314892b7051aedd0cd3982d0874674a4b297d8379b96c55bf292b8072328865177fce715890c27c7ad4bd0089eda711ef2e0ff9716cb8f50dc5502972ee52d67f5e481396f3c13bd95b206279706beee72de0e2f3c5034a7e10174f0d65852a45a8dc42219544a8b7886970469f20635081fc5fd403da275cca4ccc5afd03cd053283ed99c56b659faabd2b529158be4c34aaf205ace79e2c808de30ce3bae0e73be538defd1337b8fe492761e6389c118536a9f56b1ecaae0a8dcf122ac93304faccea11a776b94c9c72c324931d8c24024a162c535bf9dba051ab725416301276557c302d8c1e157dcd04e16db9e3ec7a9ada40c9fe1d307b3b477241991b57a6580642ea1f831d7e39226bea57e6757e2323d977b552fd6ed8597231b6ac6adb70509b0d42ec3cebbf11dd2594b28c143a7939647af901c3f00772a6b165fb6f40e722a9c924aa04aadd449aafb513dbb5b63141ce6041f18f8f72387d9e445edc72b7b929c8ded6430760006f291697bf1dd278737b8ecc03100936ede73ca9a5920cc4a692928293936d3181b985024dd01a90027365546f6e64923ffa5ab470f1980f874780712ada800199286d6c779f3ff0fa50d7afcefd7202f1b0e13dbccd15ae5a29b5b64f37a00b7a48af9778173badaa9a231c6a8172e85c79197d67dc72bede6958a5ff6a0683bc18fe013bbae2c91cad53da55ed721fdff9b5e591f3ef8a192aac440ff4a3f18d10a164c647fd86fecba88c66b9727821206b37d833ff599597d1cfb3239995a7b6f15ce7beafbeaa76935a4d4e39fa114de14c62f49654c73f03e004de6732ee53c0387581f0c8691e159687ee2c6e7000d5572e7dfbd39555fda1b36c7e4126cbf6f622f648f2b21d81dfae687282188445f75aa35037022067b02c15e4373116d2ee9b1c01ecc5ae4967e41d17d0386d5ff7a03aaa2cfbb571a0bf3eaafb59f547a22e5b87fad504c152d272584a5e2a51f28102cb05dbfc75cb2c5701e1854b26ec39e49174d1b87aa3f2fe647d897f7c34a69d04926361e601210c5a127fc72a16ddf0225737c7aab0add0429754cc750b29bb3f3dd1f99813cd590dbfb12501b1bf9f8e3c78b884f19e5b72952daf32c8be259c475687a2d55287f18dd844d3cd895b864f07aad5d06c5072d5c584c1e8f32949ebe8582fa19e16e2e58215f5a6c225c7cd6c14c779d8d6723177731bcf439b59c5d0a67559dea8ffa02600f8b0f2f3824f436a22252f186f84cf8e2550624b2f1d322701a69f18fbb4b081b08afe090841711a4245cfa572256f6e586ece22ed30a67792a848b349158d8fc7ebc07c56c302cb6f76c65f23bd8f488ac0f74e575fbca3a21c6e715316a11a87b9e449c432146b44b3ec652d5b09709abaee725eb7971a64b73edea605960ef0ee0ee8870990745c019d91147079e302740364147e5c8cdcf1aa85431d209cd77787c6d2d91c1e998c8bbd721f74a24ba278db4cebdb6877ea010bcb30be2e8d85ef1030d2ebab5957f177727955bbcc46be2cd33b7ccb46a21e6a2668f977332e653c5d81c88db7e6b95e725264b59825d4a4130b0f4d5012cbc30df24745b2af089f955ce2259fd7566026b6e5ae63ce3d53128da7d015143fcdb20f51e0011610d5c0f7650a136f389d60e5aaaa459cb59218d205d0128cc0c16e08fe7f48f383dfbfa5a857fd3bf23a72d9ec2c13375799f81b455d15cdb66c0068eeb30eef2d1d7d97f11ba5210f7e72f0640d5f27900f3d86a6c0afe207553bfbc480d9e84e04edbf1f8c9fed7025314577f000399d6df0ff4f92cd918711778a1c1f93f44543ffc1319fb4bb5b0f30f26c246bf0bff5f51d5bc8a37055afe320f89ad579cfb473f1ded348640fd67214850f7dc039fd6be9ac7ad462fbfb2544086c273821f0c774a6de682ec330724264ab41711729bad7f4794d78b8693d2ef59a1d96336af3d498e68358866613498f59debf88fa36ea470c88967a6bccc291957162e4883e0fe173449a5ba13cc67afb04c0f26bdc71e239f7d6f127bbfa6369ee1bb46fd9d3cf81da5b060272e9bed9b77d964715b8106a02b02979f30b9509a7cc9bc615242c97c711dea73000b727ad7f74ee453224d01ad2e3b41818a6eec957d8de3fce42c69b0e720e72d5dc16579bca120f63ead8e420902b5dea49dd399a767e2a6984debce3160f7260ca9bf1592343f22b10ee2a69268791339421ec63b610681ed976628f98aa72427160a41ca08d8fc75272a6e11eac086dadde9ec5c4a4ce602562b7b1cecd61b454da8327ebb31f71025fa9d00669baa4fabc5766badd9622f7b7ee21c88d722fa26effde9bbc4f087e15b9d298a6e00a029237547d9d4fb403b8b682ce3872d509dce235aa4ada4f16feaa3b7f81b66461f361a7291a9ca0b752a364266d723862fd87c0161b215c6966f4ec1698db7f71910d6f61c80ab475823f265eb2725bb0f2d6c4b1b65716eab23b44450549a72422a5e1119f2392ac55d2b9379372d48fa5ec91c15bf7db2ec3f4795cd967e9da1cbc40836cb7ab5995b9a4ec01727f644173791ae1832db66510ee1271e19f48d945ab9b5ea78322faf8c31a5372328020512087a4508b5ea46ba7558eb0d3ed12fef4ccfcdfefd8bacef6d7a272ad3eaf296d6144a9403ab8e084d87de704b04f999fea2bc051679e1b406d73728b87db6bac300c1968163a8f037dcbae4ba1f4d5ce277ada1c7dde75f863f11760888b20db37e774748c3b0db91dabb8244743abc80c59f41a93360444e1fc72fb799a538a298e7404726a75d6b390068a0ac3f7986d7a54145303acb19dc57239fcb664eee4f8100dbdd02ef3a15900213f5c2365e6183eedb94d5a633ed9728456abaa7a548190874d5fdd4756dd313145afabaa8872ce38daca50bd88067272bb7b0f997a641530d09b23452f5176a342f3284b4377316324291db17b4b7240f7336fc63249b7ef09e1d0f4bf9878857847c8821efdf594c8d2cc8b8c9c72d94184cfe24e6a91efa7a6adcc6494d0a5083502c1dcc57483d1966ef0846f49f6c54dea6252f1728333405b8ff4e0414285e1ec5d7b6ef5470b4ce7e7ef2312df53c033ddf8a6a5767c30d7fa865c7688b203445398a4e0eeced76b51198172f263f1ee104ad505517e7cc0c37505c254032b7ba83bbd7cebb6b9eb9ab25372885c2fd6e346d257b3953b0c314e3fe455a0783f97bffd18eb55e948343f431022e4178ae4d6a1b289780d50bea933c011f7aa36cf8aa1b0b355fee5ec258a72fef9c5ac300e18ad50384be443f25936c35b1208b0baabb87afea98227088c172a6c8b41bb5d0de247610a2e8da89b7f3659034a1486b64e38daac3beff26b72846e4c5f70ad19bceb65a543df8b46a647a13ec67ef71672cc216924d224913864c5941a554cb8c277ab38d45f014520fe79253cb97014e36de85a517beea20da3994851f904a17556b84fda88813b6bd3d6c50ae3deec69d3ed711a29d17e1dd38d9e12f7b6e2f0da3f1223dc5abe5b72e797f493aadab08fd244df121b4d65cc1e52ef88f3380d8d15deea66ba719419a02fe010cffc3e7d51a4bdc4c14f1967429dd0bc4e07bf6c94ef5762fc783d7b4d3f3eb73e5bcd57cf5d92657315725cfd9c48222164c8b57bcaeab7dd0a10bc0818e48e6abf3283844ba13f6aca72c73cedcbabe099923c7799680a073fd9b71c1840d576ab4c7cc2badd6327f23b5d651be195a37e4da1a1e215ce7d4af9c0354b2cc1692a756b615d71a448327278c47900952459dd606a0f88425d2e7d5b61ab1506f136f6b194f7d1d4e3c07218ff7e74f8a4a7a84bb1ddcdcd66fc084c8437f94c967cb953429f3627b79e1e164089d5ded8308300d0cfeb751ff17e3156897d39e2f9df59aed3c417b55526c42b5d94ea6bf02e4c29afa393ab9cae3df012d5be87794b3d5e7a0fd5603d4d05ebb9d865118d560ce0eb76950c7ae87dbe9fb3c5823c6c80a93ed524c8da72b6927660629d2b7945f55ef62e46e230148511f55e2518a3034bc8dbc0ab491079b3a09a533688347216d0b9391aa1e03cd3a90222739a36b04c6356299adc6c16d2971e7cead60ce2d1b3040bbadaa4a0f18e08102544ca8db8e4629a2d1b72d2ba0bcb505a69d91ed763f454c56b8eb448202e9a3a21c787731c84005ee0024128a7f0cfdcad852eb531ecedfa9cf34bca75ef614d034f7c489fed44e12e724e1cc305bc9b7265b58f717797e5b03521f3013584a78f0106f5a3af3937160cc36e9fe94afd77908258331b0c51b578cb4eac9444facb4e51bd18d2ce97de5763e5a7f3a3dd5503d36c7537e484bea6242e86941ffd6ad52127fc7afd88d4726356183382da27172132ba01574d80a8ac7b1cc79963255b0407d00c612c7e727fb154101f00067b630370f3d5486b29e469c3b82dce3c3cb430a9bce7d0f372c7c8c512e14a58cf14cf9ef347b5e6faf5ea6da8b33ec02a9813d9455c3ad2727349d19ffd0d6937cb6228a2624d7c134fc522460248981d1c0636b2fcece51c752b075f5a1a8b318b52da65423c1edf7b1f37ba5285ced045b7cefd8c6ca839578f2e7cb2ba3014dd3700474e625b4f89158e97c2d3efdf13d98031d9217672f55c612d75d51ccc6ffdb5759a65816a05aae6b48005996799f4568cfc1a7c72b9c61124c9ef759561308ab16b2721aaf6f120096801205818a038c209766f2d94d054fc7328cb5f756ccfeae446657062843a944526138ed47d8787f13d137263ade9f53974f4ff12f0f19a72758d66d58428fad7a7ae499df0d398191bb77292a47294138264cfb0656ce4b013b24aab3c793d4425861618b2a347e204b324518fccb56a3acf628895d53f4111064ac68d366f3af385ccf03e55c5c8f0481aea69fb5c51ee86af0750b52fb4978c2e1109f52c50e2f41f4a92e357dbaf1e72d61f73e95fbefdd49a7477131f2edc0916a61fd407c23e1d660376e1495fa772564a5bcad66c44eca4aa9c23244a69545f8683d56d8ca305b93cc9f8256b0f5bd69a172e087af2ef66ca8398474f96ad6524b81c4266ee294f9c310e5a457c72571779df9608ca2d1f2a3dacda960b4c98188f914cf420cff469cb726d71256ac334615b862fab6c9603f7b3691dc0fa98ec7bf7f74b000a659aca0448556c72460532b72824936e5f1b9d01a24eafd6b28b2ec15f46cb9e1953bdd92b71e247156f1d04b88af6f9bd88530e7f43a118c6e1e347be7e9a7595879906bf6faa20d8d149fd9dd5a82294ecf4d3f75d90ca3cdded619f1442bbcd753b705ef39d2b0ad010cedfdb0bd7ae969e5b6925fc50d9176422bf76b0391f2eb626d54aa27250b74d7371a975b62212c6f2a17215076585d8e312ab4983be3c67dc9be9b9722808ca76b5cf4ed42f343c0628d7fb88d0523d68c4c81ffb78abe1c53b139472c52979a983f4d1f8dc4969683fbc7f66d9c69ffb17e8806585a9e543edffa32a5ed1e4b346a465dde0379cbb9323df4a64f749e9c260ca850f3fb424e8bfe22178a797eb7575882988586078d181b37fee1ab3438fc7849be27b1045fe44cd72907685c4a6ffe8ece1e2dedc31b1424e3236b3bc1e4051c89396538064eb4e696a0370bd67c2f73ede995e919d2cd904e0527537e5ac683dc5b697c70723c672aa8c102f0872c10eb23cf3051daf50452427a32e828eab29fd9a3560ab8529128b09f8ee4802ad69380e187238f9467cd68a744f59c9c5f95acf544cd3e96646c43dd83cd4f3d7399834b5481f2297535019f91343f0f395cb05ad09a311637254e275b34fdd8ed52a19773a48ce6a67e45a7e9ddc37bed60c28973e7379c63bdcd705c7eeeb58174fdd26088642c171ba0c27251ad0ca3054232898227cd27206f1e3a74652c0c85566201be9630704524b2868895da27693506b9b15c0550bb4889de5fdd2684ebb5d7d6f0eab8e14b49fd46371fe49bc3516ecbbf4a21e72dfdb9acea9921b11ed0c1b7c7219af132b7eecd291df78e6cacd9141fb234f72876a96b0cb94e0e2b2204474f1d719a30852662365dde0b5cadd3bbfd52610721cee96a76be1415529c7c7761d695dc52114a3c95579df1d0ad21c59f07a114bd83014721cba4464ae55f0a56d12234f1b979c5d5d1555d67ac07d40c4681d72942ffb2821a28af177301c9302cdd92433305e02a5fe9a19d776cd9dc4b8cd72eb9161442ea3bef696df6499cd06aeff982549f69c6adf984b7694f8eac30972e929d9b1cc4ccc196020ac203ed7a4ff27a7973ef8f8ab88dc9eb898638c56598a67143401031e3e9a4ba4105b27a43f55c1ac5d07dd2c8be6033a15fb277a65ba0113253ff8a8535e1b72e21fafde43815bf76bbe7196871693b1443d1efe7246b89c78a0d227d398ec79bb3ad77b8a187eb0f1a501a5997520b5635c3ada38378a414d48c848d5d604d435ac331e3ed4c2a01d08935601883c5eb5b83b8272bc84111259de84f3710a3ce674451eff686110c67b16fe5a6ed2a7391f73f3720ee12e37acdfa628154328de0858515a7a808c54e235058ebb57cd417c490d72338231910fc194079846e6d9adba1aed281855b6b299a5f88da662db0d9435725dfe93407e115fe5a048d179b1704485b839e6aa0b189a312422d89b3a94f02a0c4d734cd3f7151f3919ba4f4e6442a3b37ac829cf186fa59a5a6309655c3e164846b9ddae53007857f5ddc34c32d9351164ab08dd2bd883cc9cc88d6bf32f721d54f3e78f67d9448cf9005ed5fcd09ffd2ccb2c4aff523c8c5b9510f7936a72c76b1f9223c1729edf839eeb563b0d42dfb82ac4e9d42f46cd99d4b13eb38672adecc306be10942a6482c8249783f2bd96905bd2d2dcfdafbb066cf97d6a017256f0aaeb102617898af9dc29fdb794554a494f7f7d5efea208abdd7aef910d720f01d841c5f7d2f1e6b169a0d75f77c7b0b2cc2fdfccf3e30833dc6d43d4ee307a91bc2bf28248943565e81dbefda82098938afd38d9ac0f553f08ad2f221a72b20ec33ca67c7698c1860a9ed3771d4e164bdc6609c20f76238997464d456704831feea29dcc4880453ba718da96893fe39f7ce514276d2cf7d785fbafb0df72df95ed4bbeabd67c3e3610b6439e02342494ba875759a06a2b0f2bdb6b013972727353cc7fa4eb3dc2af8271e60585fcee32ac59e72d1257d59e945a12878b722602c291fa15c77747fe8f7777244f520dba56e0b01efbf1020e3127025f47727d460162904bdf9cb9af743f3ce62bd6e748ed995062f00b0f6ba65b2384b0720d0620970967f1a0bfc4684f9d119d455e9bd1e5f16d1de57a32c2c9d5460634501c4ac9d0b2f2976966b0f1b7ee9c755c7188d5e5e6779891854e290b37f3728d7680af4f92aaef8ab6aecab7de0b71efe4401251c7c9f3d41545caa5d97f70eeae269b9263e90dbffc9908c24d0821dc12ef9821dc0c6c8a9ec95967ac277238f67ad061fb677358fa0791e3e58cc3ae181009e5da54be3cedb9ebb965a6054fb3813cff486596f2f7a1049834a438017876fce81bb5d99409a2b33c873672ef230b1c241ee399a1929c6356743895983691b1d02df6b586a3882f654fd322d9d40a53147036078b04eda3d448ed3c4aee1af0202e2cbe10db25a3f7b59d7275388f5f99914febd3f8d5799724bef4727339a44672ab6f363372913fffd972e302651594ead782871c30e69d918545243f4399145777d2533414fdae1de12fd8553f2c599f2edfe2a4096ede36f49c45a99b27daf53c775e8516f3c7bb100c25995e7537383f12232c7d7735133558d19a5e6b478e662ab886b51cc0c00572b5d8f55812a203a73199d39a6838064c4c98e6c7f370fffd9968347546b368690784335dbfef0cdbd96163f1293440d688de552b73bdfbf7ad3abc2a8eefe872b25639de263aaa40cd78c3a42e1cf4bee52a498e7f4c82e363ebe7976fdccd72bc348335bdf27edbde8a5a11dc706dd90f68df8bcf1f0ae731edb97ad11889727baf60a9b7f048ed4b2c51562cc82b82c4f78a08fa8e2425818fd5d8dc297361a3595a0585e51f1a9ae78a5b7d0d82addd0937265d49e52755f56c6865395772611a189b4bd91ba7803cbdf074ede2170a6b9970271a18bcb29fe8695a95dd725c02c341f287a2cb5729a497ac3f5cc2fa0e2c5bae0a560d1cf19b9774f9fd6c3bb50292bb303a847fe3acc047078c029c83cd7d5683b8fbdbeae99237fee225c11e59adba666cf3b90f38ffed2c77e8676757fd98f7151163e45648eb182f207062c8d0b73fa5d0ec40d92879d6cec683c44443e7843ea0de6043c1ab2ff472f4a25a90b21ff8284defff482be6f37679fd723e18fa8fd5564579d7b1f029727064d6dc09a3d00ee30a404099ce1b34886ec76e50229e8291a7790c6b46fa5b9c09ed6a10b2637cbecb8ec82a07a82f73f1c154b97a14b1422c1d6ebfd20d711096eff24e5edb0553afdde83ed59b232df9269dce4bb17361008f7b731bb45f431de075f141596bfe4a08fc8f707a8b7e4fccac6f60489eb88008723d81d77261b7d2dd6cf4b26b1be471cc55f774c479efa629ffa580502964c61a89b99840ba36483cfc5f2af9cb1dc736f3989fdae223f45ab00fecff19a9c7c59a593372535edc9f0306e2ea85d37cfd662f63653cca658bfd677102b05dd5ea39a1f040ebf3717a4f74394a25cae57ca2e013d897ee107c80bebfcb80ced8add0b35523e6f98ad3a9df98b377a2412efad9f7c0aa8636765d7fa813c027fc590c0149723bde3ce8ec88cbd29177d7a38c23eaffde4781f3bd84adf5ec896b443220f67247fbc82daba2b5bc2b1edbc0d10d9c8de832b2165c93f12676923567fdcc4e72c9719f010d179aa959de4fe055e3ba50f1b79477e18c54de1b7fe3cb731ef3723d7439070a5bf96b58ec5979734a24bc2d95afef09c8bd791e0cd098a0aa5909e055ba65edaedf38126011ab9be3f97ce2e3df5bfdbe42f5a2fe5cca9a306a72c9d3e5fb295cd733fe581d8b842955fc594a381bbd785a6a3f1868d5886cc6722a0fb3451adeadd4aeb3240b110c38de84096625345eb0ff13536af5845c507274cb6004e2be37fa00bb073dab5626e0dca4ca72fa315fe85f8338b9911dea7003456f3b88b5bd92a227748aa235e81cc19ed598aea1ee1e15d550940d866172201e32639fae1673e84d552d758a248d20432a3b55cb8a4ce1efa4e8afc266292bf4685c19084c397c93fae4454d14ee2bfd44aa1cd35f119258a2b9e936ff7214ce7e7892ec6a52205a6b1a0d56a162cf981742ed87e4a6a27ce63dd3720c15cf8a987fd1b186cf231d98763bf5fc43004fd8d8785ead3b67aa4ad04a70c772d6289a551eb463089c2acdfea4c77fc7353e75cf07e69c53f85213c0fb4ae57270af2a9f70dd1105685eafc5ebcb8d8737d454cd4ea11c2045f6d22be85cc84d45e8de6dfde7cf4baea6db8f309ce8575facbad7ec3ab5c8cc95643101b3cd678d16a54e857cb7e27fe7256ba0755dd804d6aa6b97b686a0112ae62ac0633a1b62743e6c5667956f17e98ebdebf3e2e63f838431b01fe52878fdc82993edc43eea150de6427fa7cb4ad6b1c779ff03324e8a49690651cd581523dd7b4ceb936be4b00553af4837d667fee1b4cf73e1e56db5dacbf7524d68ea04d4d5ba530b408f16ea2e700c36746cf9b39d9673abf17df88cb0c6c99da4c6cb67eabcf3c357f816fd8bae9359f99b695b16be120b67815325715ca904e4f5a026e2e30f9227c35c1db52232adb37eb9d3856c77351d4e2545ba555b4935ccd548d7ad72c6640f47ae969356fad04f1742f0f4cfa62514013ff47bf133d885fe86872e8dbb52a28fbf048c00514e43aa1121f46850a4cb7fd23a88aabd175d5508dab43fea72fbc33da00cbc8e4713aef5055cc5389f8208206da9056be8808411916eb7d9723512e619238fcd4123931660dcf4ede867ba2d700dd095cb16b245e49d361d30e2ef2f993327c0fc98ffa4d5ceaff919ad743858a9b62c3537af4af8770dda722ee4ff67f8b733b22152ce7531dc898e213950c498ccc15c37474a77276a2b72e8f4a2ae69a0cf90e68fa50116e7539b45fcadf4a998f81831073a7fb8a31b2b8359692273db5e5e0b4eae8e5a33cbee65ed115102f82c6aa938d696bde0e5720c5db6944f7b474415e712e5d2000678874dc6ef14e24b887f9142e4a692df074f9eb6e9b78e78112ba3f9d0bb6ecbdae1b67a1b0a1cb54401e9cd2b2e6969726e40e1ea15a3f335617d0d3aba2756a419a7bb46b4efce5effac7d87e07ccf72887c8d62d9be98c0a736b8e92a69544ff41c0d3ae4d679d47398a763d79590528233c35631165862bb4c7626a4b61564b3516169559d9f94a4b9e5c373cca3320a3ebf9ef548e4ae101ffd155f193e5e8d5b5338447f4296b43864c75998eb72033bd2420af205aeba9fce548af6e968e3c093e11a14cc4fac88d997fbfc6d7299829b9b84a2336c44426e36ccbfc6a063cfce9229080bdadaead3a635073768d979976aa4a0c0413b8b936f9981ecec83bc537df037ee3f6adec697ca82c35a51a323fdde754522f8313a0d24d5c2b900eeffedbceb5edc6f81b47ee968f472a47a1c485cb6530289f0287deda19695f41d2875970ec9c5dac279099b424865cee46071fa38d7821f66354c87f90e73f0912a8b5777ad26ebb71e3377759472746c146b67262df3901be8dd35efe1b26bcaa0557d74a2153ff102bc7f0ba272db86df73704ec3856bb3991420088ab12e709c7b4ea7d9255cc05ac78ccb57724c0447f9df935867c8d81c5717da376a904723b43bd1274fb364019232416672d1ad082cc855aff84956cfc087ad2d6a278e9c396e17bb5dd32e9e4850764c01043f9d4b7f40abdfd2219d12d73e4982c84b6d3b87dc1a63a6f1822b893c2e72f37f832065816545c6b7b4aad57a41cd12c58985844f0cc971cf088233692c316cb3fd3dc55fde643d0686ca056387091aa8abcacfaba4570c08da407079b2720a143eeec3604a99373f0ad8707be24c3a7ce99e10be093bae5c54043e6448086950a012909794c042cdf8358c1ae15f3c57390debdc0798a9767a4b0df4251a8d61956e38fb43c73642565dd4068f94af216b4c17e7aaff6388efe58af224728e333cbdd138d5aa62664f8b9bfdcc2260e267472322000cde2205fa07d49b72e1c24fa92ea5469a2a10fddd0b7f7882cf95dd626cbf424b18e0b465d5988e2a5675c53c4e04f60c8e521c98b4fd0386a1d1444ab9906ee0ed68a86fb9cc4835b59e06c934c1431d9f5044b25d8b74b1352ef50139ce50be3dda465ce424c97289947882ab10c885abd3dbfe2db9bfe276fb297c52c07c739b1d914235ccd76b0bb06e85fa39bc8a2946a36aa5ebbe52db7b1c5f39d3a0016f75d329babf8300c89d64b55871b773c587dcc390774515d64e3cf659cab8737f3e684dcc8a4416a2d54878447007799aded77839739ff0b57f0daf387981c709d078ae8a7a7363163f01394053b3732436d3c3f0e8267d89994874293ca72f38514d1e8c4461720fd372ed9e45b62a71136ae690c3a60a0352b6ce53c521068b301b4cc19b9a612ef8452178a2dc86932cd7546feb8b8c3be12c24a4485308aa4375e50976c0104c1986c6da0e1ea364709311b5d954cc2cf0214fbf327ea56e82179625217072762b0992f07f0fc9d60d097845f5799a1d86a3f8ea8c30ba202f7ec2f636ab7267421f2a54995d0ae012c7b4f4d2da5079fa972e2309ac46743421dd28b23c6f6c5288ab05c186012a275e04d75c231f563a5dbc9b469c0e84793409c3cfd3727cbe7817bcba77b9280cf7e8ea738373cbb6b2fc169c8df8b2e45c0cdb8f453b245fbe9fd4048714ca95bc04da844294134a1fc3ffeb378a36b6281e9e7f6411406068f1f560bf26454d519c474104b60bb2d55c99087108cf457baeef5a5c38024734f97a7e5d0fb0cae7c5384ee126966a412e2f6b21a8da1897f655c32a72eda4b164dffed7f0b667b6d7fcb2246aeed7b46c740dabd4a6c71a0eac9cfd72416ae2e190b592e386b32632ec9ece046230a6f174ef844fe1bc2ba02c240f72cf726aff6802f70a2a3086986db08ff25b8105732164eff9a0cafba857c10f72d2981dcf7d052d3b4e269e2410508fbdba4a6bc056d9a2260e12f7a74e8e4f72b4377f37fb8b10ef8d63aa7576f25c052d2d99152d883b4b7a89c44bbefd4f721549b60f862222f53005f5ed08be602f59078c3643a38b4721d385b68d961959915628523cc2fd79fb3a03328e2d83e64c66694afab05bb4d7935227a98e03722aa8b8b04ded1252f8c9fdf4329d2130a216034f7061375813c47878a3d52b72beaae052fd39f15a5307a18a92775b60c85280744fc93326dc9b8bfc0a4c101ef1d17d173869963b9ecf5014c07308f9fdbd15e18d34402401693002012ac37249e03de4745f9e420b6fafa8bc67f221ac5fdf1fe2e57261cfdafcf02c6c113d921ab833d636d7f50891582a07c5ef90144b67902fa7f2e40d627165a3875e2a4b7fd381ea5dcf356fa42a70ef94d3189f081eb8c501ebc3afdf5ece748e0d721e78b6e70c3eb861d0dad7c0c5587658377c94dc558ba91aab56865ddebe834d002b68aa9e48367ae2aff6954f625e42c692ff9e54bba3400b321d91f7c5d772163dd747176c41c94e9ffed5ef4c2c3e33011d93280e92c8a4f588238e72735a6229031770ab8b6591cf3311d5ac54db00fe674f8f50a2bbd74e333d73786972db02722ff95025cdb2547e6bde061d153805a7ba70b0fe0efd2d1b6e27589101bace80ca22ee585924489ddca4bd2d3c99cbbb3e3eec07bf5f91f6270e239754f94e66a1449ea51588bc50c17fb877d5174e7e2eb2d0380f14efe815b77cc6721c28c55886e46fc7d2702a5246e44c048200d43392a4af8d244bd92b7e2ee3720f3606b048cb2811dba4b0db180c85b087821a0e4b9235b1ca9d6d2aeb308c72af1e84ba1c88d2c5c268785de59829e4e1888a1563b336d29c55a4f14af1820d705d9127331cf27252fceefda4e65bb9d608135df4786db7b7b6ba1666f0a8721e14916036e150ad50123c5d9db69fe3be1cefde11e121cdbadf0e0dfc2062724d72a4fc59aac14365bda857fa495a66235e7f685a55e80aa43743080a5765726dbd266ec06c4ee3e521353d9d65c7e2359f3ef3cb07a51ccd153a7a41decf6a96e5b4b0ff2089ae76942cdd6dddee9138f3b8f76087dfc2a1fc4fe6911d66727d3c2a5898ae14e6c3b0cc0ae70452981915f03716863f3a7640bf10916d392ec3082c7b9859aa49fa46f1cdb73acef339050835ccd32277368017219935f6729eb26ace2e79e34b51ebed1627fd594ccf43e8cb2910abe241bbe305efd7fc720099a88503a0bd081351c6d36e43196eafccfe265e937796d39cd3f18041457200b6639ff52ea09822d411d7ec8d1b0cec70b471769a402a41a90f236f2dbd723f5dbbcf5f7d9f37ea88b8350acfe8595d8dd4823750f7506817aa5779553072880b9872e96f1b1be386f536905057596f626ace6de5e42454a385fd3046650142e31927321c5893d020a7926ac0160e8315905dd460efbd246d6737cc8f41728911ad45b63ead29a8c4d229fb02dfc67ab04885751dfb06f7e7816098b086724b21784f0461646c41e0d35e978a1c3afc1c6aee7fad6653627e47a997134272ba46673da329f0a20bf19e904f89de8e80662d79a73467a9daf6020edb488a727b1ab391a0713a3d64ef4a41a9c889372ccfc179b9dc83364d4a360138ce3c282194748993a07f735d6d5e51f36a33bc7e3f542a03aa62d02782cce92992ce5953729527240c6891bf8542b6e0f34393dfa36650781742ff600fb5447d199411073183116edc5411d60c8ca5824a93c98f12f491dc96cfc0fb5269f4725708724e62abb4867b3a4e15bae1877a66424abe1eb0aa999b167a2507eed89a0e45480f5e8162bdf1bd1ef4c9d7f892976678990adee3f000499346ec02fbb97b6b07cec9e38405a6a7ae1aaec5862dfbb397094aa3c67ee4fd9f301df46e2cc61c72781aee2de8ddfeba3034c5b90599bbb18c0f4f67b75e1b21d63137928491d63645d9682eaf388dfcb99802323e92754d41c9ecf0d695fe13fef54705b34d0f4ac26c49ad5bb11b4a859d908cf038829394f1e7bc44051c97478be8a56361d072ce2543a9dfca288454da3bce9bb09d7e0ac1e546dd50a668a2fce4b6cd5ab73357e59144b32a84bbedf61fcfa78a817c0d459af430d4e482f82e2f194ee69e259404e3fc48cc8ab356f105869f9c16de6986c674462d24a0d5e911c126e6e4723b467fecb841d0cae567ea9cd85e1fcd2c3fba34e5e82203cbe35a53a4d87972cfeb42767245a7f0d0c937a959b4c20d388f516193d3ded646241728c4b8cf72c557f804f5b44c27fa3d88552a6f61241ea490187ab2eceeaa610e24353a6b72bc1b790161a4831e5932bacadc197aa78f50871f53a43c146b205b02bd765c72a13b0848d6c40b473429e9a76bd4931135967d5b0cdbf0f150b8c7af06ab2e61fb646882b07a453869a83f733a28337aa8671b99e5d02f5aa515af3a9b39527200a83b4505ac3a0c1c254d0a543dee275628aaced8200602ca4a9a23d78b8a04251058f12b9b7aaf9b95fbbe921f4e6726c6337c86038193f97db2a6c79e3f725c71a7cae5f3e97016abcb8b20f283b13f0deef704c45ebc56f8a39f25ded872070cc467a005a494b186b7eb830b091fe0532b8801bb0a05e5bb9cc9682d2d7284e7080cbc02b6d0fb914c274b3f6651ef459558af28ba2a8f4b6de98919b77220a6e5ea4b30bcf4a088bf3b27e7e3f721fb35dc40cf913efff1b892cf7b6c243920cbbf861624df5419b4442a839eb471642521b91ca01afe52272e390b6f63196513f566b39757fee670a7d683998d874f9ad047000652658de448f79a7d59888260eff835bba1e28b9f8accbfcd45c5e77731aab1c0e486156eba5761d567bfb92beb882134bef6df6af7f3ae3c08e372144b32b98d9f0e3ba7418454f672ef3f149c58084737832c331068bc92eac987ccfcde181db82f9d0205befb1b72078ad4987b790cdc7a776f83749275b8459bdb1cd010b6ec33df0d2594a782312b8720d23f59ddd41e2675962637111a717d3840be1426ddab1f410f7c37f145fa9785ae4f8072c786fb33252ecbc365e78d75b71123fbf44864d9a0782f74720ae7483025a1f28eec77dd86118dd3ffc6b39979eca42f5837a9e7d32d8ea60b81a78795a0179222da4818ee7e1c60a05368ba10d937a80ccef522aa2f74a92b90886766c9e018d5cb574922cf791ff3bb9704256b38132cd9d68cd1643cb772866b4af3ac9b5088c2914047226b1c098137f4bad8a18441751c2ef2cf902d601a2947a6fae1e7571dd8c2de11575c342c2b036967326a8eda0c0973b63d515f12be4d8386d5e993cca073058628cb438b6e945e88909a11e304efddcced360164c66f039a3f4a1e50ccd60876694b3fecc3c3d773202b8d415c0fe5fe749902fbc0a3fb39f1bd5cebe27e9c05543149ca72af4cb791d7108e2a400708de2272a1cfc25938c0588835b536c0e36f391cde9e800baf9b9288f4969f3a705a830382d20d701ccf14c87c40a1f82e0a8dadaadfe9affb629393081158592789ff729a8f440adbdfd1479467cc7f66dc43ff46837c57bd99b1405987ec7f52d99166426de46010fe345df14897ff12963b6a872da7970e6068fd25232d041d8328370da3a19cd85f1d3d77f6809846318926a4984db4ce6a2c5690cc5b8adbd28c72695c9146160ce84070ee9351c4f92f12c8b01fba3bd5bcbd8e56856cf9ec7e19377c10197310c9bfd1a9da771b86dd94570cf17f96cc02144ea1b95de9a6771b3dbd3b94cde104401c2b5a41c32393b4fbe21ad916626ad1620dc46b2b6bc60dac6f842486fea20d2f9bbf8541ee3d0b59c15a2cc8e99df47104960e292a0672e78c1c670dcfe7424632c199ec9d9882edb6ab84a14bfdbf2f063534014f1672e665ce9211ec0dd14563fe4a92ae0929e170e05c85687323ae6efaf02cbddf72c1648bb51554f19f65964074f54a6fb02e9656abdeaf7fded5e7715ca69e5c728400fb2acdfe5e8b49b355c9560ee90f3e616cb1cc97d84497287761a58c757204fa627f6e4c6bdb75e14d94b43f454c26c300f87796d9e0b33a4ce66c87317269bd7bdbb5d273b47bf7ed9522a7047e039affccce46b828a71d52a07f5830589b48675ebe5b06c24b87344c3dd58cfa9184c4012b4436c6e363d0b1aba5891acd6cf91ee14144b291802b9eaf76a3c936fecd004de2c38389a028247db3c772cd518c2c699f21a6ce87f6bf425f8ffde0c18d279c4b5c3e6b5a171d741a80724737afa9389a2a68de5a74becba471b8cb4f5cea6bdcbd6fcddcb28dc4ac3f7282d3e7b54fe4c24ea9457e9ba6f1eee2df228d414ece8b024910ee35230c0632fd8d6297dbb0161c7060a960e9020bb6db5cb84648deb729e1adc668269d2072b489c74c38eab1a99581c81ecf920432dfcf4ffc453f9eb1f024b03633eb3672066a7d51f6add16d58cc096517f91df2a1a24e0b6a9d2d9e556ff2898f93307275a59b6d692ab7b1a2d85eafbe099dd5ec3dedfa69880b5dfeef157079770d32fd01c6d808d0572b0deec1aa9aeb7503c20014d0d3c7940f22b3d3bd03b104728bedd32261dade7c4d5a35879233d1cb79aa729cf33f24deaac652736354547244bfb3504f9986ecb809811e4687e75d184abc27401ba60ed0206249c90a0772d61b8ab847a3e00a408ca56dddd3004c7ccfdfa58a307107ffc551c6cacc49724324d087729076e2dd8953e95adefa96fa4f669628c132897ffb0422666c8b008fd9606cfe2c7be96c2c17fb9a2cb4bb338c6c488cbe0a660d91bb6458a56f72af8d229fd246bf7a766b46f62c93c246aff8eec9a7c290d6f38a8fb3fb9c6f362a9d07cc5e8b3f9632235b8dda70a42d15ef97817197e33c3a5d434767e49a63d97778e77cb12d3c8fc6653933799a864ef41991b83f6f6cca299b3ba0e82a5f3870673afec780559ae675c37e906d8f22c47e715e97625e8738bfff511e32722c8d108ecbac2fd5033780d2ddf450cf2418f33905e10c03ccaa432a0c1f9a728f04ee204ee1d802c76dbf0e64c016572db36b2d77935702b8fbc2a5989dc5723d3e576f432a641ea733c5dfb0f52266cf318de2f52f45a79d23278119041c722e5d2ca0c0f17c915bbe7bebd691a7202fa5cdd5aa1a9b5ae82cbea72513ba72d50669f3f2a4830edab9768aaf7302e5885999de7153656cbbcbe6463e518a72e3d69174f15478ea6d80b01a3bf636fb48df8e06edda9cbce05ebad0464fec70dae90d75226f4558959ac43bd9725232238a9129eac481efabdada32d7e5b77280debaa6ac03444fedf830bc27f103d8a4a4133d381999d341d5acdad4e5ec0be922f2b7562d1dc3524db02a689ed0ce2c15aa701a1337144eff70304db82420005477b0b1fc6041f4ee534e75a786446aeeca2ff8ea00efb3c7a0c879756f72b351af7fe24516893a2f2d467e3f1da44002fce340050786e48a984a306aa17017569d7280b99f1936a24e6df79e352328a213bd2aa11993b769b282b4ae3161aab92de2a807a0ea8b1b0da7c218dd25d8c155ccb3f5b240db0b881f63487b1a372e5b24e11a536b8f3b04fb7906e9955ac22557a23db81880e67f018ce2cd7216b9d0733d2ff01d9c16c4567bba5affaf8024660469450ffbb58977a01d0a72c191f4b69fe615794c482b68c2968bcedf68c17b67dd8ef7d754582d85fd05723b8894a21ec6ae223ae9419335a27e0c9bc0728a5157dda08b7df996dcf7cc474117d52c2fb4d6b94187a892765bac87cc20f096aaf1dd88a17ed5b9c6030a729819e89c6263fb89c4b929384a0a2c244263e846a421be859ef38caf03867172d14a7ddbf1314ae0448119ac00f3a534719ed82ea85fd393494c1a9a55348b72a6b5226baa1e654cd2120801b65d4e7bab12932c95658faedb30880bbcde437292557a543933fd820b3776e451e382aa158970dfc35c79046984296411f21372fea508a745516f02c0ebaf31263003739dc656eb7dbc21970264e0b64b49e53ca19a85885125be2969f39d484631936f616d36a002e1054145676e5a53237a724c2b074e87ebebceaeb4f864e595d9ea4feb119e9f92f15d69fe27fd05d38b72e567552ccbccb1334cc17afc8fcb7289acd5b76135019df002c5788757acab728ddad716c299becc3c0c2fc14bb44706211675382b22f59cf79f5fab2b90c71efa6ae6a429bc496dbbd952d3c36f1e52751d87c445d9d3e9fa20eab094c78203281d25c88210c116aacc70d0bccffe89c31010b7b52033694788b5d4e2a68272a6ff8688d9b7ebc157701e867e37d58e5e035bd9a9807b7cb07ffe13a4dd8a18ac4b4ddb831995a25219e0148fcac14178c1cc146c17040e74a19a836c22d472b65a64459ab20747e6bb6623083f0ca3bdfadb3cca8e1597af321474c0526d6cbd1e7f3a3824516fed1de18dcd0f8dfe939a29402e8f8b42bebc218fa58a3172aa73e229dc20e73878e1aabe47f0e0f07caa00b22eb83a834b53c505f7ef2b72b539ab440a587ecc95cc7d8d56cd003843614ddb41abb54bc9608bcf11e09726c09f77fadaa3741b0ce214af0bd094cbe4c3df524fd96edb70702793decebf341a7f26a2ecf9520874d77c7270afdf0279180091679271347b031a54c8953d1f60eb4cd594cbd3729001fb0a81ad16a5c4702277543b2c6e4f9b32ff5123fb09de9b1eeda1f79dcfd2a838b0568c95605fb06cd435290a25861b1c6d458be34cd319dd508172e3f83212f02e6e8fcf61eaa66a09a3239fc13402802b110648725e9b7e63bcc88d4bc0e6f70af28ec3cc21b540f3efb6437388f4b59162b2a1728be7ef927523756b5a7556ba2e5d0b0d83ada110cacb2d6fa3e2792c5da37072f7715b83b8099cfe54174743a1798ef03d8816387ccecbc96edeb96f52b324723b7a73147e743228b02400cb069a2b89b9aaeeaf7d7c1ffb96717b2f599ccb729b8dfffd1fd3386c4179e3a90011874109b31106ae45587e35839777776b0c7266ee7c85665addbae21e848b484dce734721b124fe94c01785d5bbc619cf6672e945ac5303d555836e1ab59110df7eac4f5b74e3d8035ed6068902b4ac76eb72f9deef5c201937e202c3ca4dcc5f619a6e97d7e4cd736dbfa6b02b237c365e09bd79ba01f5abd046c52ed5a5d135582957b2d7d10a58935e9f02e128aff30c03580ea239682323e897fd320455b8c77e342014201617e4aed94504d94e62ff7286014c0d27acff137cbb7b88d2d1734c3b4a3786320f84b9dd93a1d6e13c3072465a478e4a9c3bcb5fc52cb214149600da9ad6148ad188892273735ac4a8266c2152ff8236478af0922a6e18968c7a192bfb640ae2c4eca704b751aa3bc9f13a5697b760a140530418b9f04deca1ff88800fa4c83b1d8e250df949a2d22c74183fffd54fe68e2b5b713c8f1752fe5184a46c191692ba77b6960b0be0099d5a720abe923a231962fe7b61889ca3e5ef0740046e37c6103b57eb4e24ea1de2dc72cd16c8a91f77b53875f812b12c22d2e1ca1d91b6a3322970637ea4d0c75ac3118de95069af8bea9e381be466d57a25cb2d2790b4e3d6d32c039a216e85468672bd1c10b8445ca8f938e6eb27519375712cb4e5ae322fd92cc8c3e10a8c652472ace731d733497ca3ab5fd1a281f5ad295008371eca20366b508b769495fec972fa4e4acb99191435b942abdf535554dbf746f8b766ed87a1e579997f66654d052a74ff117bf0364ee5aa1d2880fd0e1a2c8c17efefba215366f6d92e1c1cd172b63536b4aa513388855a0fce1ffde451e9d995db71746f3b393da3daf8a2d072f35a6b5e2592da6d404ea8bc8d1e7cbea52d044556269cb31677037d39144172dc568852d8a49a5abe91ab51bedaf02f60b8b980b3320f941534d42cbaafd86d15a2991151d71be634213e3dd257c1316a10e58c5c59c14f860d2a6d9cf22541d7578eff226ff338411e7b6d9a33da2e1d436a5ac51527cc7746815f172ada4e0c39923dc244c5a5164b4a4eae71f2d498643312dd9c86de22feaca591856872608dc10a43a5d055fc8e63e04f7291016227455c2a8ddb23d9fbeaf0d19c5c727d79eb16c2d4d4d650f2867749a5361e79a24c16c16a24a56725badc03a53872152e39e3788fbcdd8545ed7b9a1f8d5ddf4dc7b8fc611d1961da58a06706cf729e72301107a031ced62ebf78bfba23921361ad3f0418f1f7768256b488fe2c7272f5c6621447fe3f1fdfb60339df88009983311310b954125c7496a61c1e1b48fc99a7b6b9e00889810510efdf79d20473b468b2426ab1f063abd995f55916729acbbafc20ec5e091f8d3d7dfcf63be11220d5a604e898aa0967ea0ccb37bb72386b9cceb3105f79196269b47094da5295b2a675e936e01a9990da94bbd1f172c5b9492afc4c3dacec51ceceba6bb66ab2ba2c215397dfe99005ba1977715372194d53af3d133b4d9e5949306542ee7bbb3972de7e7f79859233b73726ce0972efbe103406814b74927c9561a07b96aca8ed158561062549295b8dc02a03ff1ab9a8e44c81edfe36978ee90216061dc618cb5beae39ddff2ccfbcc7f1a0af672f37b59fc1dad3d71270ceeda5fe83e35ecc67fb728f8569947d771efa229915ee2bee5406fddff79248bd184a888b8a9c49f36e89b0b4923ac62a106dab7b7725bf139c39ee2cb599f8fe74c3402301cd364d41d263590b38aa0f764d6974f673a65db665db87ff85bd3b5eef3f4aa10b3e23b3bca3f0e70994ae5e171108f72cd46adf71a5e794afa4324dc35e0237dabf0dccaec14d6d0efc7078c11965a2fc971c661f318cce32dc46ec3f5dacc394edc18d79f3d9ba8ad267b8d0410d37253512de03ab2c0aff26f2e9026a7bd634f0399ec56f38358b9ce696227a6f4362516a1b3a40e00807c8f7b0c2b48fa2e829b754f5774e1f0458f50f1e90c0b0b16af26d86b4e41ad877eb13311e54d9f3d4de527883da82739f88e1e79ce1f47458811df6bec0ceffddffc9ad30c6394e3e51eb5d8b33e72deb0d571eabb616fee54c3b8b0f6eb96bf9055cc0714ff375b66ad487cd846ac0c6d462b4d8012728710f5b3b00f6a7e4a503f5c661659e9f32beffa8052b4fb317d96702c6854722e6a3e742577e9c2594b3952873392eb549095cc5e9d81f0ce833f3112cde03125f656033b9fe36b5359792b9bc6efc6ad25f0007de4a6072407bfeeb1dea922635a9365b263bc18c532a432438e33e710932338d48766502d37e969422cb9723ac147f2af4bdbfb2ca9de000fdcd4c478b756a96669ea0c6e0869a28dfd6666f4671e16ca7127e346e235405c7f3392c6ebe428fbbac1dd55d562ebfad31b722fbdbe15790e415cf9ddef515b3e05bfdacd121b07159458a115b3429b597572388d90369916651da590fa231b26c1db1cb7456dc2a99fc6d1c139fabb4dd7722b708f4e1413d14e036774755265d167b4b7806c0618390b5c26d101ccc08a729147597c9c8ef58b2beed9b01039871133dbdaf1cf9166372033a1ca35ff3a3d950f43d4bb9fe3a354246f91a51d86b890fa29ea8074ff3bcce5f0d481fd4a723c46348e3948a5f5650d74ca66dca2e71b32caa73c2b53ad9d50b73054b1f97201aea877d11ce91f57a675f256373082fa1f5aa26bba155be9dbc2587b1b13231ce9716aaa2904dca28742834cae342a34783a045940185292cd005e2bf6a6721c2e0c1194dcd0c305f89f834c07f6fe30b1460fe81d654111ebaf9446cf0160903013f06ac239ea6ed0d0e15ac0e7a6b8c81345a28bed216f39aaade382e272ec72d0635fab25e1431a933d77f3cf52419da0572ad5d8dcc2efbb3a1a2e6c72800d834d11630f0778bbee7e591b4479433fb9f820f569b0b66e4f895d7dc64cd9113dc07cd7309b98acfed9a9e66778f041c5debfdaf14134e40b904bace0095b54ee0186934696f0936c1b20d1808d961e17aaeae4d9792e3e640a3660b701533306ce7cb6e24d77710186430138d2fb6c721bccb4d2f5643744d4b4465b72cf8ac53ca73113ca251d60375ec405361daf801399e1750b3ab0845256f5d87272b81614eb4401aa64837a607be4e2717e9dce8b1b674a91e79948d2c4e9601d6f4ff87030eab79d65ed710d7f81df7ac45770e7a1e9d77da283896a3ba9a372a518a1a0bbdbf34424713b7554f2959d29344b2b6e70d476ffff3205f4cf4d727da609fd3506140cc66d695733863d75a2b1e387f1bc3fde3d9781f2562aea5d2649499a7c8233f11b102a64cf9d28b8167893cac581bf1ab8a02dd0435a36726131fe50a97a44d57d3ee4c3934b2a8aef0ffdbfe9548d748b62773428bcec7237508a83dcd9a1b7bcb2ee512db1228d8ef54c60c0281c5814321c645256815b48fdbe1675ffd5bbef426f14dac6490aa14379bbfa58446086ad3a68e03a4472fa2153ca5c88a332cb4505546bad5a1f4b3c561f438b5f6b35c214bf9535d26eb4edf08f45388f9f42fb50f9b95f089c55c33dae8e682eec4650187ad896d6728edafa9c86ad9bfdd8314534250d8492cae341b2d4a32a5b8c053892dc510a1368ae2ed985fe0a532652cbc0192545cae6140839b1f7ff33898e025847b4ea17f6c372d292fecaed14a3b5d9db48d051e81d8b469535f14bc6d6cff2415b607222fcf22f190f236cba3d188fb0ecace2c4c9e551d66a817126eddcfded7e97269f176a7e91edaae4b904fd6238937a3b7792c6864df74cf12c59038be0a1c76d7cdbc818c4ae9ecdd05e0351b65865c401367eecf8b9804677a6a3536ff43f684aa829592851371cbccd1ed19f7617ef3aab89739e4b83a3e16aa2f8605e2a19f33e1aa64b8b33a7a989efb31c6d171c1a2bf734671dd06fa80e6bbb2a14dc64dc5607a506b79094ef48932da3ff53eb7d536b26ba88d097118483f504278a722f5f2c3812c2b28f19756ce02ed56965270f9b55c58bb003b5c6caa5e414b1723bcd0f5616269b1a8e8722ecb331f180b8dbe38b386f2aee92bc4c2568381572b8546702f0cfe7d54c92c4fa6765a3186ea3f951ea5e51808874185b576d7122230774f45b12ac0a7660d782805bcec1b8c8a1ee8858cd65ec61babcce627a14b03aa958ddb29af752510ef6146e6e393d4d6bb8f8cafe104d39f4de5e3816729a137d81fd4185fbd05b63d5bed116512817dc1cf8d8fad07378a5c6733dbc727b648ff222080d60d42ffede56ebd93d54420e2523bfdbb764c17f6edd308c72be2d51e61fc4b2c60f78352f59f4f0d060ecf8d21b5ef38e2182046371f3bc72c9b57417f935575090aa94863153266ed2069e8c2aa8374ca9f4a5922c4ff87260b9421a1afc7e0001e71db2cb028c5745274172a15cd6d0cb0062ed9396f2720659c0c640fce49f0ca4a05e32063664b727f4d8b71580ed55ad879b07b00572bfe970e0fc33b957a193b8e11f9bb522230ba8bb40d43f65b862d25774d7e40984ffe6e9ddcae2c2d861434a45f8e045d1fb3cbd6444aaed7c0cf2f3b5acae72d0a2f2c0da1d5750e49586e2aa71a97329c91cc1a17e39e430cea005e794f507c9ca18b5ad1fa47305bd513e7d9b9b30f85e8453c6c53029abe6ee259f85ed726bcc207f5abba68754575e74d92a679bc64a73b688b33acda9ae398466356d291af6d5656dedab13a17fffb2891a8f874a7485c00c3527dff20c4aabb77e0472d9a63f6189f6a667002917f36d01927ebfe9cd5744eaf9cb188aa1a1d9d925726f8e4cd803f41056e7b559bf7c472a7db4af34e5582145c2dbc13f2b25a1556b3a335bde2a4fa2388a56c1f984f83364bebda835847546603d9dd87d8c8d86679a1d5045dec2e6d4d8b933592b5cd397a78621b431fe8105f4fafd4519d16872fff549351bfb4854a5f91cc84dd860eed226158395c85c0d96ecf631586b7e7228329a64ff3dedb32aa9c73ca10fe5d029de2491fa22938b899f74e3901ce8729970ee9e2d63faabd876935caaace6fb954cc72fd6a05715d04c8265a417a820e3c51a8f69756f9c3b446f4ffc2159d11ef962720dc1d97c95ba38620ac224724006218bbfc18c4f2398541d0932c47cef7a1debc465c29d690a9aa55139403d8907f15f413b04616b753be6e71b5eca0cbf9b71e2049a679e7ed5488e13e072b20851c7e9121e3253c71eec9f3c6a37ac5d573939f2f511052288b8045ad5723442e4aa2e3dd9b3544ef18e6ba1f4a5d780b475a0a737abf7c55f44ec601f72e05519c0798a1d3fc11d27f4a55070471ee0b8381eb6eb4fce087bd2c02d1f34f8f24e01ff93d25545a0a66a85a0d1559b32ba174eaef1955a3f29b0c265d772f03a55685f8085d77161ed0bbf8ea09183f97732588124aea2d0342a417261724cb2f584b2d1e1d6180a3fb4d982207db4f29d4dcb16045b90463d3684df11722adad4edd29811e730935515a8a93a6a4c1f2c996b30cd021e16b5476cbf6d074c9807089d14ce1e2467d495745fc4c716c663902f6515603d69810768efe872c21a1993ff443969d6abf469bcd782e0f591ce011bcc7793aab8651be36d5e0999347d829419bd580c38a7457397340f254ea71836d20d04b23a8e8ba809d3167f4c9993cc55820019236be775540f34a730692d88f81ef2104a48df9747fd722fe16b2826c64f29b757865030444186aea303333b8280010b58f7cd5fad527238c6e1db058d26d327f60ad171c25a6861df8b7eb886e0c53f7c7c0c83eb0956ae15d3edb03c964015cc9b0fb2c045675e32ef4afc4ec9386ecccbc7c84ac5725f2dd8b5daafe09d62be8ab455fa778c91230767f99eab7453d327a0287f71720c0b04c063b37b3abecb530c39169bf9e403851e8d11524d5319fb3f5e3420725df03dcdd9f859d61f987bf436c12e93868b18fc8facdffea815dc49ebb27b4617ef3a281a7f1471ef4ac1f1d38eb4b7a0fd337532e60945cb580d22cb109b720ac9b95dc4126f119a1e8d1c3317ef9fbd4e460875998452110ed076704579724018424fc94ce9a9cc7ca11af1eacabbcd0c4b2f69457fe7b78cbbd70316a5443c63c18188d0990438f3bda762464cc560e3269fbbbfa054558c3c885d6e7272ada05a52ad008834b80b33716ea2eb375be70cb195e948e59f2b0c1435532d723bd4771226d91ed52034760f6bf8e0cad693324e543d6d125a9a1d88f9cef25c27fd42e9de59537a36e06abf3ce78101fbc0ce969450f327f666d246cb08ab5f0c83dabdae522174205dafc252b638eee2f506f099e3ce69fb26a9648822b772c3304f05967f980415b615366d80a54f53a363b815478e3c7418dbc5483446725d89cc7230a1675643c5d5c50cf62417a698268198b1dcd7a0701f7587e53e449ca6021fe9e9e031efd81c0b523d03274507f780384cc02ab9aa14e1576a9572e7d15440db7cf07b183d39786547f7eeda4a592aa16a73d7a0559737e985f310ea44610b2eebb943942e01803b10cb43702c371920179d393db2cc1e83e169729fdd0cd7a632196ba1cf68969a2b7fd413ce90623bed6b4206da90d67564d4727a8069ee8189a5b8e7afccb33d5dfd48396697aa40d0e550eb32d8f335899445283ebabf6f42d11bfe7176ad68e0fe58c88f08a0a28c655dd272af6bda1dde7243d7dd1b15d7e50a5a1a2a41be2581da28680adb27b094cd03d16df0fb275e021a076482af50c710c15ff93ab0c53ac69e4a71a3dd486eb9065cbf4b142e12729ab807a33f70999702cdc440f125a6a7151e414831ea24910707d6911a6c5729f540c9414d61658d812cd857f9e047f7916ebf2c7c0a05b6814f3c82cdfc2b184ba60845c93c31f1d346503745b084ca1f5151ea485fb67ea55c9b3194090872e5dcbf5667fbf7aff05f6032b60954dd07f3e5e094c28188e690e7333ee7d37279adc3a977cef66b4295fcad139b699cbcc937b7a3e7d7550993af7ee0aa7119d4d9c5d81e88f9eef789248bea42c0d73c370a0137edf6d05bfe6a873db6ec22e641a6caf1ba7ffe6cad9dc9c1466fdd4a0d94497680262adfcced88d61ef3666d1578fc85ebe8ba1e714d0032b2036e92b718050ae6a5aea08e495b7f9e61727a81d48f553d7fe6b9bfb8fe81d2c7826e23b23c1cadf3a72a0286eef50d4726e6a9a03d8e0eb4a46d465671374216c70983712426c6b447e1597017c69f0235e3ead2ab30e39567e3617d73b92f4a8bc46eb195a45159076eab204e09aa7972c682a72b67b033737c57a2634d8247be16d01adda6ca85a59ab03756f5c4486913522e47d6f67c2d1cd058c9404b1dc6322e1b6e3b190809f307ef53f18f5972468a6f671257344e10279f0655ef792722fbc213906c866b2b25fca2108fa572d2fa01d5786fcb15704bacc9d385936365430b3e54b4d87f78814092c2d0db725f36a8d1bc772a2b485c6f0430d9380b6620262bc3365726ef9115739339034de3d337510f74f0ebff3de5c9cb99f5247016a81348b31d0e70f9e975fb350d72b3e40566d305f8bffa626ca60dc8f5d60cf84664dcf1268b230b465bbae0a5723d8f3403d685afb7affab348984672b3e61a3a0517352d5c76a276f3be0f8a72287794424c17a1e63f703257785c777cb8b37448ea37736487d4b18ba4a47f656fa9b285630a8941e16771de56fe423ae3a395e87f0c6dd3cf01f3db96a77552f8168acd52d3a7289f1e6aa1ac7644b710edfad80d7dabec1c9ddb66e9cf9f2b32164b343eaaf5dc40d9098f9dee79e52fd7f9f37b8e8af1ad8083e291dce972c9c03cf3b0c31785c191446c05a6478874ff654ee1836d1df5f091aeb0f7ef4a8338eda99734d07fb054199cebf0267ec0f38b4395c8be2f5a01e821ba15ec6188d597dee246cd55d7cfa40e44997bf46775ba2cfb02293b31b6b5846a151d72a75f033ed286d8ec52e85e6e46cb05310c719cc52a830a376086eac95c018272846884c26a9ecf6256b10c6f3e28d752b710e7c44dc614ff3aec8c95e6be537280f4595fe0c6ebb51e96eabb1a479826cae2b39478ccaf6adbee1c897e255272966ec28def7531d17df63dee36154dcd41a39dde8a83c6b8705a87c7e24d64724c0e998c9cd81740097277dcff58c4d3b630b52cb97bb83f231e5a1416264472dacd55cf6515f3c198d144f806b7215a30ca754e04960adb032d12d5c66b3643f70d092a03c627ddcafb8d0a4f9410bf8918fc0ca495a3d4ab06c5d258e1517293edc760f4388e2fc509e7a07dc446f1130487a808536e9ae81eec132335f37254a3342f63172f4c1f0364e23507c1539ed0940db3cd7567569dc5a0dec1cf4668ac3f46edda25ee4a171f33d54b75e199ff1c5a163c4d966afb9080840595722c5d1462df4b89d1574cd019ad84a678b3e8cdbc090a38db46ef133dff657b72ef3d45298756635845a607661714e7a13872c6f9e3490e4bc0fef47d96d2d372eccc3abf1359b34877ba3b9dfad10dee9c7923e327d0f464f8f3f1cf92bef45ceb6ed4e80226bdf2713958cb11f5ba6ac29371fb0fba72ac1b303231ab7c0272924764c6d73e355c6493337bc1a1f70a9127e9dcb1366bc88480fa2e15fe7a72fc3262696037b282f09d9db6f75efb95eed8d5c9a2b24651d3152db0ccdef7726d9ab98400f1a6966af4c6b4f275f575ab0d7cf1900742082dc2c73b71128f278ba72446f0a253059e9192d5485d4f35856c179c911f931f5ed6621221f54a01b4ba8735532f8920492582b6e32174517c6239dac751e485b3b00125591ce2199624bf52b33f0d55c331b2ca2956908e249dcd374836ead3418c17b99f4a5a31dfad5b84911c653934f64fb0c2d44496b8d33c5bcdd43c9e65fa4b146a770a728e35ada4c81fe9abd0642f1911d09f1c35290bc6e99ec8c5a9ab4db662cf5d5f477a5812d8234fc45ed09b9b915d29f3c46b8d7d545836e009e2f33e0755973485f187e6c754e8a22db0549ded298e8c032ab8de38b920bf1947d921d62b794879f1d14fe9109fd45955fd2737e239ee10da56291136f6c604c8f648f418067237eac751e530a485fbfc43213591b5bdc5edb5219e326df74b269185da19a9494f3b2fc0846315ceb75b71e065286334e34b1e60dfb934b1486a23e75138c172d11b05dcd5747318ed432de5cedf316a0dabc16dbb8bd54975d3b00d2e914b0017e0bcba33c26a24eeebacf3dbde398ca1d92ee7b16f27bcc00c2c2adc1420729595140c48d7c68b92adf9e2aea8feca9416f83bc853abf6e849f354412379627d8166c3844bf60cc69cd71caeb85d2715708f386f5ad1fa0814d0734f7edb3b95ec8cbaf2173e7c4105a7a80af72bad55515de8518945e9b149e5306fffe572b26142b2985e55f487f018e2e6a2a0adb738dd3a372bae00ecd8c30036a8b00f6579f8fc72c7f8c2890e77a02b0484680af530ad5698051092cd8edc27aa9b723e367b37032c10f504f4e20778a6ef4edaae7348c68826dfe7b7eed957e1da58dcece523d2605b1752a22f2c665d33bd8c6f30b52b40a48e297cfaec3f1fc172a16b0b7e1ec334784171c945899cd28e42beb620e7be6ccac7817d29fd1c5f2ad485f8b4a44fe00948430c6604fffe52ffca8355ea4d4e32b0395ae843eaaa7205e0070d0ecaf6715cd4e4546ba0f85ca446f6c7ba958dd12d153f8f17d248724ae8d569f3c7c5d510e892519644f89d8fcd96c035268359cf54812c10de5872bef589c95edeed53dbe78a6ccd8542ecb154c6a38f392eaa62c60c6f19bf7272898be9d5a05628df5310b342ee9f1e5b247b73554b593856f74b2cbf257c4f0a45371dc03d4f41147db13fe91fa7ae56982b4b959199cd58065e276f598175239a72655ab52b4461a043da4033ebb8cd778a8538e54c8f856106cb05f25c7f5c8ce12d73aee7db524d16ae61c49c33520e42a22956150fbdc9c312ca40ce5e061ecd55540c8a227568d6eb51905e193bc6b20695adba9f9d3dfba84b52a5dd6d6c68148bac9d3a144e1277b0c546e30873394f51f8e4293da521a77465b87a0593787ddd71ccf9663d4463fae0dc8b58c6be2a9533cac53fae9712c68e9b5172b17a1eeb86beb19a4cca73e409e899662aa233f92aaa42006d6e0acb52953b3dcc20d77f46536e9742cf4c1881a69921c44a57f39d5b4e66fd9001545c6df50487391d183d9b77eefc715f421294e97962c6af99e542f43fb79d62fd15adc4562101ae74edffdf3cc4e905de989685d8140d8c2f19df75026105bfd3bf12da72ad0d6e5eb11b7fe49513bc26dd061a5032fb6951f91324d37867f0b70c70287242cceac68160fc1b073b94ef32f9f05e6ccaaa3873a0de6b79f1511be258021b320b7b399d2ebd6b1002433f3a48efcf1203db34f8068e35dc3233ef2df26972067896f3fe37de09e561ecbba5304c7aaf9dedb8c7195111fa10575f13add548d8b883b64ffdebc91969f8c85c03a90b99a6b11efa092eee83ff3a812c893f7255e22a0982aafacf4dded262092dada60c601dbafc91c4f406ee187edefa3072217f267ee97a5bc067a9bebb9ee760884daf314d8d5e15b8d3f3f3372bc4e260c5eebc5a36f572a73f54e283f0851e7836a505d8c0452595eed7fdec990ac864a62cb3ea97183d9d457ee78c7f747d1024609ff9190e7b38f582e5b39cbf75721223e3e1de8d44d8273c7e1f82911b823d19fc76ae8ca8b8dce28f6c20d48c72e72429ef36a7487680da95122944679fd14d3c6d28c81518795bbdc811f1ca6116dbcec24b26c708ae07d82b8f7284773f2334946f15bc23c95728110229553b2abe58924224ed0ddda47563a8b45ac805b8fed5584b7372bbfd3b5e6070f66cb48714f3b42da31cb0114831e4d194b869a540a65060622ea39e48b4b2b5397281dc7fed91f42d1c39c1ce86b43725748ca2eeed7171339245b201ed12c65c177ce4e9084d8ee6f412246fe5d058d2d3ae638db9117084b5cad196863eb9735c57231f9be1011183013c39e2d2d02bb6cf9aa4a765186a6804b6a893eec6bf724438eddc7c6196d4a139ebd6988a1bab0e41de685b1302480a9e0b964715df6d49e94b9b7eb3cc1711d780d13bb16311c6f67ec5421ec6b608dbd6f37d13dd2ac8fe5859c6b705d084534cca31cf08b2d0c786d1631b83197b23ecc6aa5300726994b2680004b531b600aeb208ce53546dc606907bc5e340195b6f8284341a720058cf3a644cb9c030c3be90b8b10c779edcf1ec0ae00e15245bf964d41ce772ce56e966fcdcd8cb6c7d040b1245af5d084d1892d7466d43d02fc2ed14bcb672ae14db8f2377ab216f24b519b9957e49a9ac022543a3c3630b1835a6650b51723ad4faf8c62cbe87b75246156696342cc7f6654750e226b2a38fb83287f50072030bdc6dff5bd7623c93aac277da9257d4a0e574d91e492c05b49ecaab3b6f66b12f911b81e4392b372a54ad567b11661d584598f0a407da3f68487f5a369a728b43a0650dafdcf58efe31db2e35d603d61d4b7c776c3821c9f3efb7ef6e3e720b267d3863e7a862dffd01b1c9320f4cf32759e22fa73b5f21361c63663bc3725a26679bf2deef3a9a56b90ebd844eefbccfc47f889944c1b91df982137b8172652ad984c9105787e6287423cf4237a11b5c5a65e8533e1611a80505f2a14872058be83d28d3bb1ad4eec67ba537e601da47435319d201e4e6e2706f8bbc3772a7ec76f570c2970761dd3676e22d0da8aaadfbe120b6efcb8f1e7d49c17d5b72f768b0996cab0cd136186645bed53d75a5238c90869a575cdab37b2ab1a0d77259ac6934b5a8f7dae100675bd24ed24d779aeb98daf1daadb34f10bb5ec22a66e432713c9b367ecd91298cbbbca4e27f03e332d93f721e0878efa9505b7a2660b64370d37bb7d0fdc444580608fa64baae9781ae018b0569ad3a238a55966b72b6acff803b69c15fba08ce425864a9d844dcb562999956eaa059e4cb98d36272ddb340c405c6206628bafe8c34a67c161f4c8d46459c610b08ba1bebc264ee672a9e65b3dc566899727d183804fe02224009a9b1708e364c8ef66767c7acf8049fdc6d20ba24c219e69b4958a2e0706128977fb1aad9a5ddee88f8d7cf3e890118263d92e669a44043b30734f5768050d40ac09cbe8d95cd9436619f5ef4185218564709cf92cf78f7f8a6f2b292c0ed08bee1c1f1f8037d222c76de1b8b5e721db60053801dd1e9d5808c84d82073d64588ad082ff2b20bd32f05e4e0404203836377b8d3b80cb57be27898839d4673a0b65c7b8ac8ffd16c1cda358c9b0a08d94f9a0dd1d8fe5cb9af5a1468f38f10518b21026e50a6cea7fafc7699754572e8df1990ede53f0c6f7af08e99240874bf1533bd3f597588843da30e3f37094ce562cba42e0edf05860089c09860a8e8ffd54ca587faa41f01c163d65bf92139a529752a350e16015c5a728bd814d42d9379e48d52e09294f6369336cbb32f721e1ae920e096171f25bbfa1f568dcaf9199a21c5fc1609c536f5080dbafb877250e4794fa19da950c9790e101b3ae69b92044024622f2e2d0f0b84efcc122b3760f3b778228c66ea7b2befc5184b9943c140473ed40ae3eda7d04711af25131363b8b559f9f6351d03591788532b6a42fa4e64677bc88573a033f59c4a636f7227a7332661869e77b7c6a79ed311f3d9f3f83ee1eef2a9de4c5724fc6633da32ff9673eba7ba25b4660814b100ec88a2db4884595b95a8f23ee5c8da2ae4be723e2bbe43d0bf691d2b460d9ef9e8163802278bb6b033b561d1f55c45b137fa1975cab9f8edee4e7ad1f8e517808e12a49ffb1374ebf75c980eaf5f42ea14a372fdbf62915deb5fab9a6b6d8f70f09ba9533799c8eb4ff41ad4d8e6c61a82307268d6212517e1689f1e5d49407d948d1aa71b3e55ac633d0eee0292f6646ccc2e56d4805ea1615b1c17a61307d611004b9340d3e17c86ef315fe7b804563ed172d33d7d1b3bd0dad38ff4648e3c7a5714992711069fcf4b09d360dcba14b93d72824fa9ce05f1cc284bb628c7cab64db8967728aea388d7d5b0438fcc0d87a57211cfc60b85c77bdf4cb3e9cd7c7a4ca1693058421c034d76c188e9fe10f83f47e82894f1446984873bb1522bccbdb1ed2111585b7b22d658ed18e272bf340d72fb9465591682bcaa71b4c0618f92b09041ff7609f4c3e6d0725c9bacad6e59721106539724d02fc9fbe325fd0361d9ccb0140c95589fdb29a5dc1cf21cde10718f5ddc6b32d73d97afbc66cebae652b5438a19239de89780da5d0f6946c3c372a590afa6fb1f0cd82904f2868cbee5b5ac6f2b2b6ef09de8cd9ca9f63e50ae0d0c6b1a21a1077da6816b78115e4de82ec86d63837f371e4ba533dd28db84a8727a49cacc0ac103cb98769c9739292bd651e000e818f079bc04484dd124f41d5470fcd8fd4f54e5d2f7047948bedb7df14a3b210fde93e29ed05d19c472467005ae561615d4f9b0503ad3023bb4c128c513a68ce6aa0a30cc5cbc1d8f956b594250e5141a1d73300bec80a43b595bdb2bcf7ca7bbd166cb045804c64b6124c972f358f5ec38c4cfd11e12ae6b44132bfb2854fd50ff2af59b38c17bd8ebfa667217d4e98bf89181370cce75300c290767bb3bbee37df8137b8f1156fba685ce720d611f24a8b018e848094936f5b15dd81825fded2d7d8b11abc508a26edcf872293d3a3652eed9a4c5322329efefad0f9bf41cc71f01c72010cf67af8a092c72db918c2cbf17f14dd59568d3d85d8435e73bb041084c607eed84489dec95d5631f552248b6f30e69ba2ee47909a8c6eab4754aa8bf650494831768c9ba837a66e500b92820a95e3e914ef649ae1f5eee896b28836c88643c9acd319a6280d672c6a2566909f4d1fa5783ea392ebac30dae34f86cf48a2289934fd953651619724520bdc7491a7002f7d06271484834d997c207885994c7b2f94db3676da69b7285966ee77b554ee85c7d69739f82d373ab18e3c796cd125d25f91efb897e455265cd23cce7d57a19474b9bf616100149b1abde999abc73ad51d67d62ec4ec8723788a0a8bbcc9ce2eeeb19e88ddccff540c7d76fddefee396760ffa6cbb08d5ee3247f80f8720cf9045bba660611483824429c6ca144061a0fc0cbcdff39d0723c8371691ccb6018ce659a10bd9ec650f3cde65a4dc38230e5e6e97f600ad772885b5f1fef7d8a88d03a4c09391895b7444153829c04853e55b31bbf43258b5f68557078c1a1ac6dcc29d3376f1a9cf454942ccac690cf8121b2ace6fbf4c472458e6869a9d6a4620ec6592cb14fcbe73f22e65b0afce4fedbd5c281337d9072cfa211e469ca50d40bd60f05d1681af61d8e07d3fb1c4839e6fdab310bcad6036c90d4d0bf1be5e822d3c429b57c73831efa69c62e733c9d925673e656879459a1fd278b93d8f2637634e7e000af8d1ef64c213ea376ebeed2c858d409a61e72ad90e49d6160b44244da2d0fbdb9578c5f6bc9bd891c7a8d2a56fa3d12d0903c0d839bc42f2d1a7e14b9c2b71a844f0ed3e2839109c0f7589902c390c2214a6a4fce3a2dc61975e769750d8059d394183824370b610db25cd2a5fd4c4bc295722fcd3dbb767d3bfbe6486e319768483d6bd23fd859c98837fc6106a512aee1559ff1166432fa859243cb2953675a24913c2fcad93e7a67020a5b9a07f992f0727587f3c1b36f14b1a1b217f481df250d85b1e9ff21bbcbfb628e450a6c3d946bc5317f906d52528820ba0d99ddf068a9405916a10633d76211e994b49a1a9172751075059336e77dc758a2d675e0d139d2f08829c8a31b842b3ba556cb6dd9304f998b749cf57e12f17fc64f69ebf28af68c39e4b7b1348cd658420b5e3b44724a0de7dd702517dd758f3c31326dc3e35edefee59502cde1d4ed0e0c9ab473721e1a25daf980c92c2d02f2e96af0506fbbfd898f26ad0469774080c16f009872a042a1b39045eb3f587f12ff6b158a44f4f66c2f0c80d27299406f4b77368172d119f7df082363cd9f298072757fea7f7217d60c9ba37e126c71e0c38fe6c472ec6303282d50d97b2c9cf4d50641a44181e86c3c4b5927bdce7480d8d300ab728d2aaa6baf70237550ca6bab1b3868197e805716d6d723873ed8ea2ff6e40172f22dd49abb90608812c45b6d8dc93ccb978ea75f4d039677873a5dc4218c111510be183972a4de1cb7aee152c556ff048f5b7c32efc33ca5dd48232b6afb4024b7a08f8a8f09d7144ede6dcc9a3debcacdeeba7f87294543c604ad2ffff59072840d1f63939b372666e8f3bbc7f5a684cea19ef7e5ee8fea8c9913a9d594126ef7aec9130271ecd1b37421f8f17c7918303130ffaff51551ed873ca255690d728942ed8e41cdcb7eced6667473fc2b570abf38f17f0cd6ffce9555de644feb7280dfbc530fe14c946c43c1f6e7b561e172f662dd62559df31b25addeae5908029f783e0db5c79acb59e4f9e6a602e7e58c666f0494710672fec76531963fb806a53a34c46bd9c4162f6944914865fccd1b1d13179bde6fc9de05cc020ebb42728cdfce4584dad35c901723d2cde49c9538ffa15feba89cb52e4d663f1efa4672c297434a90907d5df23d3ef93a2c6e4247976c635f96db6175e3023c7f024f72c5f206983d225bdb93cf99541afae81e18c476e4d5afb9b23deab3e1aaed3172fc0afbfaadabfa7ca8cab08820d9af6ff41a77796ca5d80c5b6dbb8ceef77f72923e0fc1857dfa62ccbe25de5d0bb124734e9a512abb7a70f138cd54ccc1e57256e5b7a86d37474029b885a8b786d790861d8563342f43a223613c33aed8cd72e1637cdaac83156b7040fb8ab6b1d9bca6a8afd407d73e9005dff4a6dc34b8104d556d9e86d885cb3cefd5e3d80e4888109246d5574ef1fc39e0133821ee1d72d2fd54492a7c644855d8730aafcd6dadecfdac64b5f6cde40003cdcab89b6772885230911605a81fb8821e77fc356439a694b65cac3ea1225d7802fd299cd36081673e27990d8b3df99fc19872d3e9b737003b6765ff7111018fac8ff28b420a247875505db29295c42bfcea59c32da72da540aaf0d224834083d097b7219772186f1543d94d6d87f5bd4297a9f95adcf9124309ad7d9887aa4437b552d217720d96f1f9456e5b1c32cdbc433f1992b2f16b008ca78e998c61d1f858600ecc7200572e824f7e933b2bc9decd7de34e9919aefc4f7991f71d8309afeaa3256b7280cbeec3d715c78e9587c8ada8537759e420fb3722797970a680fb9d00118a5b5f21cb730ea6bea3a0d88dc95f187a46ec15ff09dfbdbcc4c72322a6b10a23477a9b8cbaf685767bd9f24d27584d3a0b7f6bb153700142643460e2d61471a4651faa37cf1496ad2a5be1f8d9b01ebcf52b4967ed591d24d0024294ec235546725bb442d1f081ae7437c95f27a8efc376f8d35e3d4b9c45587a8714e772b3bd0f7bb3022320c61ab3751ed199bf84035a2bf00211d4d9c62437ec413ab4e9d0726964e8b3d8f2e912406febb55bc0e1776940eab17ad858da985f2ba94492ee4d41855be9a0319c9d5fd202cfa5d8306b6999a870f0bdb4e2694e3d562bb3225d3a6033b476b894f5ed8c762c8f376625846492395a8464eb4ef3f64ea0a30d729a4f129a538835fe6133f152a33d59b9062d6d94c1ceccc80f334f74b373327206ab6359da32effa92239f8de476045b40f54725484d6b133f60043a4b505172943ae341534552ba8febc8a95df1256d85640b8a0836ff92f32f9b3c825c1972143a7ee51111d87741a3b596cfe87f10c0e1bbf7f9abc641ad506fbffca64472f8bcd4de8f72a58f15073c36561d05abdde2b943e344d675afea188b7a3a007207670e78314cb93c27d88da3b55d0c69291fbaa8802c0672fc64d037edf6b462d0748da98462b26bf866aafb71aaff6881d90794c1ea333539cf7a0ab9e0d772a2b8c216e596920eec9269a93109b24e104a6455ffceec0bc1e47449e5554708f5445acce1f6d56eff99c2d830cb170bf79d012ecc65c8c3381bc6034be8e872d065f686067a3d154af9f22b0e34d27105e47bf2a2e8ed073b64505176107c727aeb1abd2272858acc47bb5535d559b14b91d84592ac13797c8340c22052fc198688061364b571e2a753ff520f1ce0ffa9262411be4a22a9eace4a55b50bbb1a246f51d3ca5ab52ece4bbe2003a34e20ca9a2dc7cf1e728932ba62aa9b4a0372254365ada967c9c82cb819117b545eb0090bf5bee3dec41515674796464ce472c1b0e5b04186cc3ca01715e567aaff5c72848af0aa441bae2a0eb160315d8e72e4b3f949e64048e001b4bda2f2b5e6bbe44b54e8059329cab14037e9d10f79721c1a1b363dbae06cc8311a68fc2d82e16892541815e80a0f864a150dde82cd7221f074f342f0c2bc556c1457e9271e13263f7b1e8de2998e4561c44e90c66360a62b7f7576d51d950a61f7fe240d446de165eb8add4ad6f858122ebf2b145a722325ba092234ff1ac3bd8ed3a99511a6fd0190f7653614e67c650a9c9d32320be2504aed2bd27d6a478e8143497879f8b982e4e9ec40ca193b320e8a13167b23288e52105f776a1f8ddae9fc44cd033c6ec57d3a88705081bdf59b08af63f57285b4ec7a451a7e9a8e16d38bd0e3bdb6e606c4fe08749b224b566c12328eeb72a137c10d4a83069991d7098f2b40dca66b5f5d244c9c7faf2a51fa9d3609ae72786db23ac629b1c7bdada96208029d6f2471725da23f84599cc2f6397009f131c3dfe3d9abe11251fc4367123a8ad6c2061fd02522d9be58845b5426a38f600803b9fd8c5d1570cca891199d1a810178e11994b95d182ce5b538d6f376e61672511453caeec266786f95914ae7b7fcc6f258898e42444b80ce2b3f960fbe37720540ea9f14fb17743c3fdba9aa00409a6d24344ae82885f7fb05e5218556c76e1c39345c5fe8af2e3b8b17ea0599bcad23d1489d7f202a343e50780dae6e7a1c6553574491c99d96c7ce0fe1bf28af881893ade044071bfac1ec6e9c338c1a1aacb6e089500ee541f31d984ad0df8b388c6f31b935043e715b0454b63d3fb472eb9fff083f749d866cd5163e8b5c895cabc0d33da2cdbf720dd78616fabbd072f4ba53b9e3e64e43efc592558af7998871569a220eb90a356dac155a6559ed20458d2ae9815861c52780859b7e984f9c3d0dbfe6f2f2f7a3c9d1ea78d268047292d97842521927aec0ba49e69cf54573d51cd9f9ff59883685fea4c40459336ab950225fd7caabeb4e442be288122de33d50846d5fb57b697e4a35563f6b3c20c9617688802687e508da6e143fef8763f8c82ef33a1106ab92915d609e6b2701aa9ce393fde84742befc0d18f91b25e2c67bb3634e850da103f54d7feb9872009ddd250501e384159dd9cb71e945ab30b5e45b9b8511fb60310be84c69b11972adcd32d2179809be3fde58fdf1799097b483e348455c1aa0ddc68a1f18dc2926e5f94d318adfbde181200423f5d33fa9315dbc002a6437903a07f5ee77e2de51e18502a46db9f5b15d0880cb8ff5919beddf6c4820237001f944d6ffa72c9b72ce0f50186cd91560e61979548def38396f1fc3d3e83d69dccba4e9f97fe71072245b309d2b2d1f12dc35b1c317c61f14f8fca27f5b23f142a77d847dbbd9ed3b7e16e3061358fbf8924aad62088cdaca924e541c22be7f8b315dcca33fe89b720d96bfd4a65df599c1e82436265663db6613e6a39804179515471e5f145909573f904c747c423e0c116ff1a0d1a4b75bddcca9282d245d22095babe004dffe6f5bb054c972ba2a861a6470298c21d8b08a571aa7e2f0fafabe89dd29499f1b72b55f7e1b7fbc33cd1bc8b84c567ed668c314c9a7c0811a6633a2fff999f4587206f542ec5bf8f2e47e2413e6887f2c6d6310699112ff51beec9fcd8a7098a772f627b1e06b480f83cfed52e05315b43925da8684085d409f179dfaf130593872b6a52bb195921720f71f8141a276b36aee3bcab8eb7926601a8857e74d1bf272052671f67fb5bc713d6d1ac2cf3d9148f8db7b266464bd53529e72d049caff4692acef9c832582392d486c5648c5b03f162e8d37dc76e6a0716c33cf83143372d1ae7c0a4d1f5c2b6236eddecd05411f9066e89132bb11bfe22f0948fbe32a72cb87d82a51164d19daa18c7f648eb83c97f5d5975b1cdf7d16de9233b6080c72695379157f23d7a55b489fcad23a1c1518d2e6357aa672be4877c13fb23b900b53327474be6d2a677f8d14a4baac6c47eecd9c7373cffcc1323547a1a7993a72ce105debb0ba9761ff8e68329965df274363547cc5a98d1971b38896ae4b797269ffa5998eff53c35cbdad337dd298d2c869709f58507a4ff5c53c4b4b10fd6a7db491a99caaa8fd248cfb980b7861dddd6ad5bff492e69b2c64c91cb555ce725bfdac0b1df812a83ee24f8abda2043bc29e767cb49031b1a0fe8ecaf2559d72775a3356403f9222ae864bb16d310e293a3ab56af5a86eb306ff6b459de62b72bd75eed546663e71634602cbeb43933620de330f5fdddcf7d2a54df15acd8972e40bde8e53c5ba3fcc54bd70c5735d9ee479dc80da366d38580db1fb3e1aa072e240bf3475664ab4fc31404ff7d27937a59ac49a62902853cc4c60131a386c062ee6a5de325e2d5a1fc48a15bddc8ace1bf533060a9a944729b3582b382e2c725488a5605cce2767ddf39237c813866f4ab0209cbe4f13982df3dfa67d551272360f1df0e227c30c19fd0232d685b1d3dfe2ebcb3331d173a18ef301b83c104eb44d4ff1d39ee5a4ad580652b700fe246015a1929f1c8f3a6284d9f905c84c72e0762eb8c671ebd50b9159c6f16453773f11eced58006c58c1c6d4375c185b1973725e4cd7a8804df1481af960f513188a7a744ddf363bc1c6d24c65746c3572325ba5492d1955524cd2f75b3baa5557e10cc10839f0e680179ca5ff3edcc9721eec830b348681f7d79b375f7c5c103edbd1b29941d7c2f969581cad9fe58072deb0c649d2177a0954e7c677f4c9df73b8ddefb02e95313d5a0dbaeea12dd8227f9b8462643d0df3a4b8782bf35ee6f3ad56292d245c6f39b16c0128636485006797a96f47802ece06700efed158c444696e2fe781ede23b24f412c5c66bdb05c9e0f2157cbcc691946935fc220a09f8812e040c8b9199f0744c8631c0078972479e2e64f3810b6f5d23d949a068f847133fdc6c0a67c7ffe7cc8beedd53fd43aad5e82869e4a421790e6be2f107946b65746696c4ba4f2b8961b0cea1ae2f6264052cc0e13311646709a5db9a88e6b44fcc87bd2da2fa2f9de83789ac511c7235c88f6d68c5b4cd7d03e7edbfae879031a05418cabb40de5415da99ca145964753c4e8b8f52c8dec61feb02f7bb9663f36d7eba8dfe4b685789c369db786b726fa859ac1023780c0d8ae2527402d92a9b2bd3d5de8d7ac7ba4af548d3c7497206054e84c8231976b102c9ee9513c8534c346fffeb04b3a22265b124d6482f56dea63f165301816c717971dc810ef5007a25ec41df034a6fdf1e597ef240ca13be37c807ac2b5d48d32caafdc3701b8a9df18fae2e518cf51db233c27dea377228156ca38ef261d6594b7a74d69909eddccd2b4dbae8a05d5c4b9050863e82195d85b9bdb3236fe86db10227f842e35522f5ea22bca2269dcb4cca9932ad1f72085c1bf92fd90cc6f9272099e45adaf8694986f29ed217a17ca031f78a49d2725911d8c2a7c62d2448ef22ccd8368b53cb96e7febfaf08cef94ef06d8176f57258b19bdb2ddac5d47bc37fde5ff95519d8128a605834cea8035f7f0c01642572a0c46051c6180ebca12687bdbf24985049c13d9dcbb461e795a0acd9f635855cf86c86a5a86eb0e5706311c3507938b829ca2e52b6836294eb43771479129e728240adc08bd08053d2186a6f68c1eab70e2f8070cd7758d8be916402ca62df7255ce09423e7e44c2f1a66773b9fb749edf9fea960e355edc1e0f18bfe22ef172bf7a8c7d2c9f61ca4ae490d096b7167a7e8094f64f6be9995e618f31e4bf6f72314b9e452244e8559589f9d4ce42f18fad41b90345115c3117812553a7a3c94a4c732ef225cecca5d9c6bb421df6058789c8cee9354a6d3354dcbd6e67cc912a68500ce20c9d296e62637aa9cc9aa2fa7185c1aebb35ca9abcdf968d2b2ac45fa016990cc15f7c94a0f1a5c488a1d08ad78ebfbf6528266e0e5ceb62cba29b72e34e4ae6b7a9b566c6d2a374606a8e890e7fab0a5d994f3a796c85bdf8d64b4b89a21511a6d7e607fd1aee007ed819c710335949e590b75e9d36c48aa273877245233a445a4d8a109338290abd3c8d2fe2411d268518023376320a29c618277216fa28a67da45db99e3d381cfa208f7c703997541aae19e5f7bbd4283187287219fc522e3c125047cd5db09b0a7b062699cd2c144ca6d430736f2e142cdceb223e9d154fe730da99e145a0f7bd808071c4e1d6fc14547b4670242115d169d472ccaa3973ce0ab886c27a5155755a6edf07aa8709a974ebf47b78c87a6768e31e8333e668c7affb5d0cad0dab2f9542612e5cae2c72c55c0d1f10102c7c666f2c379fd5ec1b909cf522bb47bad8de37dbfffd69101fe4b9a3750da2b9ec1527722068ebc7283787b1ed64ab398d80491531c31c57026637059f31d89b59d3b5721e7fef34dc82093d903c64b40d20ce2951e0b84bee5f21b4526f1eed63539a0be62d5f1faed587d6d7f6f160ca84f98a945d3052ac58e9b7a136d17ae323733b017a65d1d1bff08a5444d263a7241a2c0de299cadec3a895df7ed3c48f980c6e183554bdb0b42694339d7503e08e146301a5572fd5e4de5802d9e46a9654887281809aaf3b57875dce2c0fa0b8950d6f28a569c67d85d192c94bf8b7239ec172d547dff8658d3e4f237f906397c5419df40f2a3067c9a67fd93365a8b20dc3720a2a38646a5fba7452b22f6e29f8d7a8116eb48fa58d658794387f6515167821d68b1bb0602c01a1361db6f56987ef798262e7539e0f1bffe8adc5c10d26e672173a3280c2cbfa03869d2497679df47a3d930524a33787ce4b60be94cf657672ff19a2acdf42b1fdd5eaeb6dbf7de7587f7cdc45ed8bd3079151f80c073e5e72f75cfd64fa2b2af4ce86a3e74f91b1f161fddc640d80f01cc994c979adbac072111a52735999ac47cb5ff79cc286faac74af2d26dc185f1f0cd2b60a97ef6572008dc7a8fa82416c6e986f1f670a7fb51dc5341b7cd6ab29065320528c4b3572fbb00649ec63a7e5c1749d1765e00974de35191b7000d50032d08fd3534efb1646c9a6c0e491086e654e954e75b4cfccac7dcb8cf48803463e349c8592520a4547d4a5d56097395527fca6cdea13a14bfebfd1f1f269c3272ee7fb319273a868471cbf78180f4cec601ae91e3b0a260fbceef48256fdf337bbc234cda2c53572f1bba84a8b407e53397e51891961a32388d6380e36080ebdbeed05c4fb4a8c4b4afeea157646f4c00974d672f5e2b99838eee829421314f46576c2ebe3fed272621672e5a0b47ad08ed27c87659083686045b7f48e28bb2576c80c0b51895a72e529f30d6de464680ddcbf263b622fa16722ac5dcd8c747d70d82e9734c8637237e7fdcabfa2d81150327064d3a036f156f7cbff3ae446317a711f397023e972c72330acc6ea3120fb06d167e7ee9f00e8e06e75e3dbd30e550086dbff9aaf72bd2d4b8a0f7a0e88542f7597d178481573f2135f77efcbf12da58dc141a3f47245bb26b13615c13bd6e8ac3a76452e1c4e7be676daa3c44bf6d5f2fc242b2930e3605ccbd762c4ec1e7facc11fd5356ab436adbde61e31b77689fde11a936f2213dc53d498819c00fe83fc5ad3ab42adf8735ff26d7d8eae6728b19f5ea4237202015568f790801e29cbb28aad8106f51bdaf9422da47c6eba6fd82ea26f207229ee1fbc03ce639b1342adb91fec9555ddedf1dde1eef070226be286115975174c0ff058db722232b0099133346406a4e2ce9cb311c65461a8924588e94bf97049b8e6d36cc7a568704028275101bfee309dc3d78b0e4cf310bcf7a115df3b4449df616abfac742bc109fe76efecc9e19a7293951b3d798642cb53a827b50b7240c66bd71fdb488df0b3d678a0a3b6b08392b2b5b7a01367bd9cdc8b32c50746c2e45d75e5fadd3ec75bd727f1c3b58b53118b6a7b7907334e5e1a2b24d2b572253781b6b934264a5c4925c60143cf6b272d4de4282dba6f0d1581b2bc948a72f4cef4224f62ea32e67dcc17130dfb848076d7528739d5251af776e73a6e8623755a8591f0e187278a27c10427f400c6bbeebd8a9d1cbd132b15fbca953d9001d68999cd8b74cbd7d911fd8dc8cdf83d0cdfe5b7b1ed89cc435c73eeab38a272d90f7de4534ffcb507382b15b1861b2801ac14c12795d06cc148f3f15763c8724d2b3eff3ac4b192a9d4e4b0f700d38f791fe0fbe242c10197cb5bc32615f543d13f48dacb8ae1ed3891f5697039f820d521ac2578060373d18d3cb3768a9a724ec8666fdcf611497a9095375596af21e9d057c1c74266c961a2f0703b8a3d638edfde971e718057108fa5397e5d439ef33425418f5a86d2aa4d2ac874f19472917f041ec53e9c80de19aec9014cafcace6f3a7910233871ad912cd84f59da3b277ff3624ed9a54df8042a033565c43ed37eb48e01d7233211cdbc2343c598721d686d03b1532e5be1aa704833681cc003f8853008271c58f79aaa368e1cc51d6b8d5fcf6d265c0bc12a7c8736db5223356908eda710a6afda9f62b1242a5272be7890a9de2a3d5e859a945c60248667a07038e9f8b5a53c3dff468d582108725565665d395203b92ace207784c53934b0f9f278bff771ca6d420787fd037b7229b43d9aecafa2770f104c77a6c3899693c376c82d704f8d31925389f20c3304ff76de54225c2d6c4826249a617e8cd12275bdbbc38c0ed97c1f5512b34dca092d74c52c6ebd128874e2bde4604620a0106b87932bef30e5f70c5baff8229d37d77a173aaa056324faea24bc1e8c4d95f7d7acc94891f9453f21b8813d788b720ee60c335d61875b4e478482796e8daee6b91d6e9e2faf2c788fe6a8f76b5f72a14a390877ba0239e3f60965c9559ed95ff0668095f0b96fa12972b98194ee7211263a766cd0b3883b2436111cc1b01b200361a4be660e92804ef4a6b25e04723fd3a7c5a502e548d7f57cb76787870b7f5c02d66efee5182da3c8005ac3202621c744f74c8522c618f4ebc2216c1d0915ab06c44dd420455cc89e517d37df50b88bc3da61042c8dc8a30e89713fcdfa5dc30b8755dd5fffeab7c83f3dd3d5728a53d9a2586789570d1eec14dd6e5e72f76fbd33deef27ba97763277d8de00726d13ea28ad64a0500b0edda6e19f16d831692d8bad2bbd6077489a15e309ec53cf9251bdafabf991ac5ce7059116a78855015e4413da1e7d7667a017d9ba1c72ee6a60d91aa6d239b2dc1086aefa344b3755fc6b018a20ba1b56d144c2566c721f3fdd2686b55921ca7589543cb1ccbc83141d5aede3bd973cf83521ac72c32eb9e25c78567a0b0c3a04487d120af648d1a9c16b8017ecad66c7121f185eec7235c2896c50ef6d84dbf20a6dbd5e1be65685b0829ec24447ee9b0f91dd649825083602c1f9b38671230ac83eca9d5e4b339e982e90500cd4ba23a6435e2cb97222c1a4c82b26751c06362a29a16bb43c19b11d6bde8d23ca40edf65238d56472ceef319470f9fbc550a8e3267b01c4fae1b1a5f9546f447ff57ea24d6932b37220bef66c1c2c0e0d19f4df997e9a825b20c14c735b33c3b08eb00def1b26337271782bdbc4acef327d65ddfc9aef288aad517d4c5b244a7dfe2100f89b4d5c727486ddd829ffab487349bb8bc47b6b097dd2193e762feed26d1287b17934877253e2e495854326310ebd6f98d1264d6eae88935e2966aa9e9d24867d35b8aa38911b5f6fcfecb49c3a3b1d0256aa4f64d834a318c87e1f6c2e37696b6d4fa072b81a64c35824cbc5ba983e4850ab3adadef97b3dc8d843d58da31c666e57cd72fd65619b97d5881d817360a3995de611760e9df30b9a7f6baf7422cd0dffc0725bfeee514b67369f0c6ff75a6a179999053c5c9a23fe27be70be40cd2fb970723bb95eb67d15ab6d041d69068947ac3e644ef5ce11a3dd22777387b068a49312ebeb101c80b019703b9ffc02dbaa965c6c15d2a264524bfa35662e99b26fea45186577dd9d0a2351445b790ae300fd9db5cba1f1fb2bbce470fa1b1a7e9dd872f89468e00fb30793f19c49cce568efde2112fa1d83dc5916af373abedd1c93297b34ec5f735b485ed4888e09319a73eef86a687540d324465f9ea3815e9b3b720dbc9a0ba072a75c447e1623236a8b9823bb89e2c82d0ea6b6809384329ae07271cf5b6d4be58acb3857db4f4cfa663f6f736d43962cbb7230eb0a983b87480d00267c508540429f1dbac8bb6f0e5c1a06ab338c0c8a6e8200520ea647b28c45b57764611b57e2143aad3c2effa213963b7f7fb385a9ff005a578fe36c8b374f16718bdff64c56cd67c092be7f5748f94eb2170ef9ab4495d545785b5bb77e52722048b888ff3823b2a38bf9b3522875fc16483cf1e7877e827e094047c09172ff9bcdc161c3b4fc35d7e67cf9531d0fed9bc50f0914ff600283194715eb6b4c5f1ecea9bfcc61b7344832150e6cfc1c9c095424e23de92f1ba7e1cc03b3f672a06d3d07bd4e184f52206237400efe86b6b635ed40c4cf80ae03b520dcff1272d938e8f0c4b3658b9275ac47aa5d25e71f3839f92ddbf110b88a3eb54980cf72bf2b4902b1f4365fcbf735d920a76d3d7abce37699d62495c405c8b7fe23cf5e0977c47d462dc460d91834b4a0f9233229939c6f6bf18a98fcc535f6d283415e386d07fb73387bbfc0bee763a732c28aad821bd28e886ee1faa6301a578cce01ac1c84484f16a8f30fb59b7b820c7de23b33a3f47886851dad145bac2d808272bfb435a357815cdde16c12c4f9bbfd080bf9e712dd54bdbf0b76ddf133196372d196221f2d68840f09044d2b3dd8c450e0545f9c80a9a75a197e8afd0ba3c363e5eda7709ceb943441d7c871a1a61f2e140abb91f049513996457aa2cb132c6da6520ed22581a0490043a43953c9aed29eeff567447fe391caa83832850d004b820b087cb16d3d86136a8d3912c1d38a647a44e943cf208867919506e08e48722ecb399d4cf4a423ec7a287b267e6290257cd07967616e43505db585ae4c95724106c1ee2c240fc516050ec116bc3751ae9ed4cce442d04acbf9617f196c3f39882e204b076a13d8a96b3486134c41c5f8c96a7ed9522581f408d7c45fa6a2189ca8fca7b19849ad735464f772cabd59e27cd1edbb7579def96833f0c97a11720d55702e7a4ed987d8bbeed164c4ab56d95054457205708d8d52c82f120f517275383a99b5ce7504f0e3ff3b01baece26870c8451f8a63e9f125dd3b2f9dd766505583a464e4c689ee30f0c98df9fbb8691566df686d2fa665ce2ccd58f29559ec075584d0555d67a3e2d47019f084a062884adc1e75a05e8ad1bc17708f0072f34931991c1ec16b5a18a3913138e9da5729c3c639f7dfe3fc953d3a90596872cc9e674d539bba01689956f2eebc5c7ccd3ef97ab74e2e3e8a377d39d7d0465a9bd64fa7c218cd5fa1172c2065854ab7451333235d4c2625fdec842cd7af1762ddaba09802698476483725a35aa2f49cc35390254deda29e4e22865492a19272a465e84e74f8205f125d2ce40380479891f12ae9ae2c6e15190e63a300c10c43254fbea081633e501643d32a3808c3e28507ba0721dc3ac80ee27192f0bc54721029d9d0fac2387f66f2bb699084c661f6dbbfd1c3aebf7031f9b6d6152aad03c38f6ff8503ecb99a165d0d810e989ae8bb807ed270623c705bf4bed5242f872fcd90bce7a521760a76d6fdf3e1ed5bb3bf886a50f870376d69531ddc8db18", "0x7204a4754498e06db5a13c5f371f1f04ff6d2470f24aa9bd886540e5dce77f701dc67b8108505c5bf675014ca41c819ef786c1de2a8099f6ba4c79bdb87da6055fdbabfce532894fef0c2db87a07ca982d1743be29a773b3bff5e6e59c2e298f72463dd5d53f5e059b0765cc9abd2b26a843952879df2bcb8fe88a2d09d5c612728079d9acfc46433269113e3858a4f22d7a92de1846678681669d38b1a5e2cb7266af98a66999923431cd5d53e797ff0fba6a0054c1496c3afb5564bcfd19de727bbc74ee6425cce0c1bbf296d913f6aabc7dbf6947fb984d01b8421ca684d87244a1d3b5d788838df7bf2d24afcc411db8ad3c2bc6b4ff3d964655a5d5e55e72c62dfe4bb029af1502597969500b93c0134f8cac9f66594aea7347e21e4eec4166541a03ccf0be5c7e24d33e3a57bfd0dbbefc8ce28714d78a369bb87f3d1447f26f9cfaeec65cb142cbc158484deb1b82e28545813459ffc10e6cbbf855dc72544c4df4205eec1b934b87518318c79e3abf9e706b80fb73b19081f344d7e272b1289104d30c3dadacd25ea8e28cbc6d1da0353f346e674b8feb4f1980d19b722e5b0c197590050d5c20bb2e3d5369763d3e7352486e0fa57f6c4dabf56f7a350dbf01e73b24c032c0469c6729c9fe210e2419ad65e4f6848017e18f5ba65d72f3733aceeadb4148267cbadfe7b21f12fcf95ae3584227128c74bbdb14040b720426e7e3d1ea6e7d23a4bb7bc973d46c867c53464e3b500333b03a4fda717857ad21acf7ecdbccb5c62f016db95b5bc9249650b696f69bc53ed6a41a20b00872d8fc88e52885b9b8856ab5f0868b21d36b6498801b70ca22f836ecd5713a5572e3f85ba611ef0d69d3ee322e4d82e9565d16b9944d80e8357b288a5ca9681f502900ea5181b7950b8b8f606688a7e32793d2695c49e6bd3cf7947465c0d8b172f6f7ab8c403af8356794055e8d3fdb41df400e8bfd0ec36886d6920df17fca5b89687c28a43d46e47c20c41f0e626fc71c848f3fac6fd8f6f6fcf4c328efae6a6d21212edc8b79170213d6eb89014e8cec02f869b1b735ea8054a872181009722405f9dafb4d7db5626803c1dbf3716957ac20bece27991f9110186290915c725516f6747d6687f4c748989f9bab899ee8e8c0e320574de9ce621252d7a98a6029042617dbda870fd147db91573f8b50e1d4465301e7d0d1e711dedec7a098491fdca3a66067d6fceb31ad36dbb2fd92c997f744fe7af340eef510ebf0dc72722fdb1354b9da81ef977a52843d1af8599776eb9bd6529b3153cfe8f727fbbc72c4b20539a45ae92f1101902c468e586254808560af368d2505bec1b22d9a4c5039b20ab25b5c8e17a4188d0073fa57b30c20da250b7d97c60a89b85f0aef6c308939a1192fee65a538e775bf8cd82fba17c144f6080bbf5bbb910dbbb8c4935d5fac68645ed58c7b226c3c275b6bc6f8a8f8f80282b13562dea35683d295a2393629379bb984c18b1166e42eeb264666b530bbfdd3449dd9758237cc517999568b57121751350ab7019a5feb8e959b967018250829783bce3d13452ea698377215048f10f786e606da085074a81121672faf05d8d706993e1bf12d0f6df5ae7234d690f93495bf1aa0c6b9c620358ca50848f157b13f016f297100c07f599e72b6485a7905d5b6077818be8711444b32c9873dffb587d5937bee071892ce9e72e9dd7536d4d9e5abd349ad6c4735964e7e68a8c6005f77078b7d21c0b8796872150fef2e9f5af0a62de63be673ce3919f794ec5f71144d25d0e0bb517c8abb723d72cb93f9aa2b7aa112b13218eb8f524b8db1bea060c730efe60029ac7494727d9b8ff27833f5b9b7c5a85e3a359736884cd6081f1461114d4a0a535da1810376c6cf106035d7e198c1428e42526d1adfc5e907fd1885d4dd63a23ee45d2213417e5d1e61635361945e8b81e124939a1028d500e15c2a4b33f056e4aa31da277b51d8573e44d147fff0003ab828de6613d54e47d63b03c87d2bb43749015961d4d15edf362a352810fb7e0ee848e6232097d557d1f70634d7e39ba61b06c872b860b33d8b718cdd28ccb8c8ca4c35100060e1fa94d4f48921f390ecb2f8c14a33c33c27bc7b75b78a3df72112be1390c2e494e282b6c4cc1bd12737012d3222d346c4ab3873ceb4900c611003ff2b55923f08b4ff72ec46a3bc192b6d777210a008db3649e9a9487ff8016c6d3e257bb759224f25d88a300e5e70509de54666ac5003e1afc51c9caf62dd1c78c9b26460263ed73a2f675a09c6427348d79a285246b1be213c2983814db5116a94419f2f91149ed9fc39f29ea2afb15486257201a68180eac98f4c38ecbae2d3b789d75ff049415bde9317125fec204f62bc72f22a92b2060e5a312181a33d55be8a9540021fba92d309fae96d248c2f4d15724788ab1b022591bdbac963149f0435f21dc5ef7eea783de58f3e1d7fe882b17276ccdae0ddc7565e79547515ad87b354c13f16b2534d3b2835489f76ee57a84d07dfef7423f608039889cec153de18d62b3bbb80d59cf73f669910af3d79077282c4e0e0ac792b3a51fd7d6b459f376bab1ecd63cfb9963c40a4dd416d37a503b226691f701b9c211cffbaeb23ac880e28b8c46eb0b40d34f01bd811868715723ac015fe0c90ba9665ff231040713c20afbce75b4e09e6812b0b102958f72f7215f07a19522e5465f5ba15babb6234281e8fc81c8dbb287201c19a560d5e2872acb1c440d4597edefc84713235f2985c699d7c82bde0bdbd21f475f72a694972191588900b853e16ebc8bc6ee04e4000c789b73792ae9f4963a96c4980c5a2531019bbbd951aa7dbae207d88a298be95c613d3024e4059d5cdc43b29bb66840ad854b6ccae894802f7c0a6b0e2ea3b9e6c37ffbefeabc3cdd749948689d5de45ff13aa24722979c3e2ac2c525efea7591431b21fa16158a142619116ba87b339cc0e4ea71612d2d6153cc1e2159ba31a3735d023e3b972ccba8eaab4077c1f1ea39dda1d3f22674f2f30554b9e3ba0ef8a5ec74c83db5cc3feccb6c1ede0c8169941ef30ba1bcbe5e515413c00e88d6b51966766b2ee3c64c1e43c061cc020246e5757adc61515534dbe30e90047b46a9da535bb40bf25c1a10b98a2c9826e721891f11d63bb0a144e719591ed3144da8b6c8169c96a09ef6d6b873320bf9f39a17b131bda4fe44c26afacb4c8e3010bc25347b331f39f0e1d7953eadff6e031f689760d7c04689315a37f517cfd363f0610ff5a45a1d3362e3d1c99aac8b3726aeea188811faa87ae78bc4465960a2e6cd3dc0d5ef87b7bfec7aef1bde05a6af6b8ef8714e9a15f55e6211472cb4baf423b6f512379d8da2227c311e323c272db7469d018290246f731f5a746683c601e96d3f1a51aa860e29d80b99daecd7286c105854a166624025543561d70a631760312a292dc82562d951ae89ea2b672c4d3b60a5d1e41161b19efe6b759add6b64c966d6d2e95822fe0b248dcafd15367fd7bd53c878a8b731dafb6d3fdd0a9fcb22c21b9ef5badb008c12613ce06726897d1272b9abe6cf0007fba825150dafb6de6854aab55a73a76d1b6fef42660fe96fb97eb87364b6ab7736c59f9f6e587cabc1fab98b3599f75c54f2294764ff82215efa63c0a69f8fe98681eed63e66074e028a0dfd5c86de20c2da94ef772b58dad140e17250d00a1e036001cd37226ae59adc4db8a4c476f0d684ecf02288ccdf2125e75800179ca4111743fade94e0819f8fa9e10c2a22195122c675e5c0f57c7912f8425747f59cae4be826e53428102f63208402c0fe2543c626ebd729da7be6de9f001e0e3020dd25253b9b894d1b3a7bd4b2831f2cb39229980b13a8d45a6d73f5d7460050e440b8425cba6fb550bd9a47f29e7efaa2368a70c9141f63adf227ae1a606072ac29f0cc200323fdf74569433a24d5d45d10bb60fbe72697f491b93b7fbda060f49464e98f6b7fd4a0c23b70cc942ea1ff40e3d9a54727c817e34c3189ec81e4e6c18e0de9cc97868f0edb0cb889f136c6a0f8e4c0e72202d056514dce7386abbc7d61085590fe07083e5a24660edb5445d492be8566860c2437f6660d8c6623b690556161e7f875d5ae2f947e065673492af7f0a2f721d2e19a8d199da272b266c5569e9140d925cc36e443041253af7b8dcfea50b72114601de8d643c62882dde792ddede7e6792966b2cbeafd5c86a6039a6e70872e8e6f4a2235a88017b7c4417b243ffb074a77e35168b7812bb8968cc903fb656758c9b1e74b7eceb56bc93b4deb0850f96b94543852107753ebcb32a8b187d1c24eb310f5fb422c12b750f8337ef911a46d41c6e41e830c0239e14e9aadc0f72246732a6f47079f3d48e3d209050f834fd4a7aa5b656d37ef937d962594d641a14139abb20c3627f5f992a40182dcaf4a25945c737cc634ec3db936ab2e21672a5fc807987742725dae8aaad6db48517b6b2eea8ad4fecdbbd00e5d4ae27c172e357a419bb96ac32d182ccc0006deb2a1ee833ed43e1bf06a2016c1928d72f72355098db30b4b590e5fc191b95a91f3e0db83d7bbe9dc74665cdc85495e63515adc66ebf8784cc56892b4a6c50d9a3a642f155e425dab61f2d57498e262e647207a65ce52b4f07038ee8e7627de8ab0f224e4dab081ae8ea0682675866ef4d729471050bf173fd0244bbe8b378fa528e2883b69d09c23969ea8ca5e91267a645d497c861b30e5c642d7c4dabb778928b68490e4a3d078fadda6553c17388e70bd104d6271459a2481fa12136f64547085aba6602b3e91aa811533c6ee835b168067f0240d1b6c546974f91aa2e45820b50a7c787ae2e362a1db1ca4e6a977e11eb5f71b3c24d220482377cec86848ad027199da7e6245ef69b6c233c83b82e701e2d8d91625fcb8cd80f970bef79c981593bb440886e310557412ecbf4a6046aa154e98384629de25e8b5d4418875c6e8a370ace778d263249813abc12ec0d7203e19845d3d3425fdb2a3f97c7881b83ede703719bbf1f0b36197429bb582040892c2553c140da68002bcb599e079567bf6875ca315e972ff16c0f9c7cc8aa72b0d8977a86f228175104427f09660ba35891d4e4407c95a37ba4275756a62672425c8307cd2ce249cdd8b8a0631605666a68041a2be2db57d81f3f9ad6f15472a593daa11309c58c25a0307f0afd4f7d0c13b756cb77446cd95c42c138c3b6724a58c4835d4fb55e2f0f9d1da59687f1da73c39139b50be37c36ada7fbb9b3722321da60cfbecb79847096825e97d3232bb91bcccd17e9ef30e613e583fe3472803faf4a75f4cc8bf7b5a5001c473120c557e3aaab176fb7041badfc774624720995f7eb955e84eaecc39048e37dbc16879719842d901dbc7d6683c7f450a9695b2f9dc41d37d9b4d4b1a4a8b1186f25c22f765187e6b3f1cbc38ee05103987230882ec5a82464f7dc95208ef6ee5be392aa24352ae2cfed5457e805a243395343e46663e8524712bb348238f95bc0723ff49d9b098b6904ce672bef6ba3147240db3adbdd543229261f74cd5846a650a66c55e0ad4bfa3abe6ce2b75cdd1931d0ba4e00e8479b50838a5883a9e322f3271536a1109b0ba219df866f2e0c5172fa5b2d3ef9ddd1daf4fac29cba9514e73948144dd161838d2c30b8d0aecd2872cb306c391cea16f261624f0339eaa1aa9706c77557756c3b257da4ed9cdb6b726b550fe5a38f305d420808976404ca27dddd95ccf233a6c54e9bdb76ffe09e72587a6f136e5ef8e8b519f2ca388ab9d3c52166fa73947833d3a80e1e8bbfe072dfa40f3c45ed7339cd709596899d56cf8e01c8ad37b96e8951979b36d6a8b872d2b9dcaf843607a32fc5c16fa9167cb18901608b13265368d4264ff49153c955511be1310f93c50f3faabc7e86fb096f4f6b6e50e56cc89752368036559ad272f56d9d84017256e025e3f590aed2a150033505ea449f19730973485fec7faf725346e3594abd07b4386a5e4a5339380a71981072ff41681f8afe9bc00704de7233419caad802710a4b781bdad09a27db8825d287af9d2a526cdb207b7a52166eef938e23bc9c3d1012802b18e73bd1d61ebc7e6ce87f88ffaa67500152752472a328160f3e30f548c6f9214d63e7fc2ec19a53cb0f7c37536743d66b6e4f9c72585697b05a0ab77da9841004c098b6c10e57d8e4de66276bbc7f2f7a21042472fca0bb8a3bd0befdf153403b6629832b90d366883468fbc75d8ea72b9f892448c74ac8bd1d8ffa853a77e3182aaf7fc93cc24c4dc76a77d12b49950f79cfb16e83ba4c826e9e7f215170f9d23bd9927ace9dd38f328334f6434d59a23cced972251cae5706d437929fcbf07544a861248589d084ab7c0d62d47b201e767605729bb3734d46f1a33f5ae1afcdbca268433633e4422036aaffca8fa0086c0530085ba5b28774cc823134ce83d7d8d329470f44ec7863a24dd6ee47c50b4771eb72fcdb0809b4ece5002adf7985ab4bf45ced13bbfb05df19ee123ec74cdf6d5f72c19a1eb8fa72eec5fa035dc15f88b87a576a3d22a66b9fbb48027286bde4d872c1e4d3558bff185000f57a4a876ce9a9f04e8b15e109d311f80c3095223bb5720f58faa968deb75f3cedbbd32742bfb6f06878f36cb088cee6503014dbd70453db21173c2f79d4751cdb7d0253543adde152d20a0cdacca47e9c80c2ba8a13728ba8495339419b97177de4dfe27ddc5d220c89019df8e698e1ca56f4acb8dc721bfc3d4166dc0037885ca4bf85bb1c36111c24811750ef44045cb3d82a380472374da760da2e61ab04aecd8521915c9b0109c18277ebea4b36b561ab10cc5e301586af7bd82ae1a471fe64c28950066f86166de67238281a2f10bb87e1ca67603ee10c2f42cace79d5808c1e082bd61755fb657c5de7652adfcdebe06d38530731da6ffccbe702ec595908a3a4e3fa58637791109b456a2f392df5c68188a41f3bb80448301e98ae55e319cb76f7d255c156ee02b37ef9f471f354977f270e72295fd7714b4e7257f446c7dad2709abb40c55d6fe0c865b3eea824705fb63b52ccd2663f22648a1c8a070ff213b9e56ab438594f19bcdb2256ee2f9f9ffe295ff6f9d36873d5f36e59e66f3e3f1ecb1902fdd4620dfc4bf998a88e748c3e790e1cd60cfdbe25cda5123c13b1296f82f9a29a3313437fe9b129d9b753250d385f3b565c85b5f1e46a8cdec2de2849e50a477b228985035fe30d6411161996ae00e0d06dd7a2139dd54d5451d907707d8aedc71b8fa5d39405ac95818edde0273ebd8d8b4e7468c00e74e1458c3b7ccd0d019d9da6557b441d903d76adc85f5d72a7bfe03ef84f0febd7e6e811662d2e8aed2f7f3943c4a9b1063d19b903ab33728294feb153435613ceb083f6a561d3bc8353ee6e5948e89b7e8a632babd41772c881250984c5cdf4529592a9f84d222ab1de62c600e48e5c53f77bc4627ac4722d0aca458c4de30e8ea28e6c574846211057614f501c2dc218a57d8891cb16205a5a8dc8fa045cacfb3b3a546dee1ccef24e0eedaec237dfce6ddcb034c73b72bc55f2b5a3d2959084cc990313fc095966bb48bdfad9c65eda6240d524e9e45b62fd66427b983929d6cef3e9f8647921c34e863a1bf2f400e163e49a65fe79088620e115698b496e623e0d46dde4f45a8af9e432e36107a8925e6948baf25c5fa04bb9110f163a7ba3c6cecce2ed269bb1318554166dbcebf3b4a48d024c113eb3fc7d5ca48aea3580b8da44d188a1d7d5e2043d7d566ed4b7df6e540668ca72a7125d7bcef42c7fa73322ba9e19ffd89340841f8055aa048ebadeb9eac9e32f13341244b42b0e12d88d93313c404f6020b3b1d6b5ed2a89a1d0738e4ea9ff721a078a001dc44fedd67fd652c562dde767f9800571c937f292fe43aa8b4e87724f108c504c2cc018f51dcdbaea3300444628aab60a1847872ed2fc790ac66a72f4b6d73d73239e4029c7d256c261f6aeb1233a105ae8f8df76ba40541e9966723ee1db46c2fec6f910049c4019fc8ea58edbf5b129e4137b94c471fd8859fd729641a0f06c293001e352b94937eed68b9224a97da1ab72a13b48f0b8c90de972fab8b8f5722be35c1a461fd5e4326f3526a99c86802b3c8a63a251009525413f91183514efd541c32f3e63580fdf6b09d83d7aec0d2a1acae76230ec47a8c872244f53455de02e784c05841cc1a86df5faa767115e63292489ab07604d5ff57216431efc65536a28db1e05bdb69d813f34957fb39e909781b8bde70ebd76f872689f8778e8c70481d092702c0a99b3187893d0fec6fa8c28c059d6e9760fd372024b217eb8c533acb2546fe2d1b9b667f570ea6eee699a304386264ebde49c44340654e17ff6716f1c1a2295bb2dc1018e549bcefd8a45df5e155d6dfb740439da79011b9609a8a97add48367913ef933596e020a64bc1f67c909cb620131372b82d5748c848cc904cb6da8d0c4d698887ade4ada931a7f9267e656394f4cd72977b35aafe623da9a27f19085eece273904a45f692879d19c2310240d6afd96ad3d79997ae448588dc3fb773e740c705b2aafa5077dfbedf9d900078810c7027c2b214e97d76d3667a04c5c55cd923c1e8589933a8b95444f049dcdac8b0d54bb11f908172f902625f1fbbce99aef67b0cfea8c50286fab192ad156bf0c6915cc715a4d179fae965f94a7d04452b5f16fd8e32b61fb5edae3fbfa5fdf049b6138798fa35f88e1f9d76e9cfd39fb23a9942a978b1c7dfc5a69e4b0ad2e3ec1a172ab5796e5feb9cccdf319df3dccf9d272c3f7ab6c23337ba8294e6589f983b72e7f52848bba42d19e4315e8fa6c70ab6287d0eb19550b71dba43ce28a5110a16e3b0b165393ccc66a850d65a074d96f87aca954e7244a6700308adefe3da0d72e4b95c660d495059b345958a5b90b58d287065b055d0e2b357062abb7ca335728dc3f402c6bcd0aa5a079509ada3fcc0a9b5ff2136c31f08939e662b36fe9e2a0ebb7e7f1ca365db0ec6a416fe81a950d0557c39b6c3f72df2fe1f48dd757138b212ffc504b7801d4414d5e48376db6d2aa89c0a27ffbc570e6d3eba599c06722f0fd6477fdb342f2cb238baf7eea3b6a6029a0332ce1096e877dc013f47f8725e94dfdaf24464af20df182b74986b3d62af70ba08237b567d0fb79fae57230ec210ec1cb7e256f5908c601284e0c4ff3202fcaf6cdcf5b5d60c21f4df0da9720765373f02b8c0e8fdc0ae2688432356443816a8e9a75028f64c487393673107d1516ac73ff50f5de3bd7a8d4059583b1a03bafae46ad8b6a6fbdc9d06d43872fd4b475ba61d42e59507d8627a12ed3d9a57e2fd5b220b385ba248707c2eab3e04002048a244c9ae072765656256a56c8dab2475796bf7b784eacf123ca2c372ed5a177b600308d3790ce4762397e76a86c07842d068261d48f028e05b6b0e7233d50cf38642f8b8ebe133740ed60975d08ecc9d1e6d1c93a10af064a69e98725394aaaa8147c2b6984d32dfb683b600ce3b51b72d8adbbf3f219713ab514a5a2214612cb9a5fa05e2e13bd27f795595b88d1d144fe9ddfa3324db15bdd964728ea03124000d7b23dfb6b6ba12d5fc375c59bb8f0d86e8b0fb3d7032d2b7a072ceb55fa4d238dce00913da3b19c862dff39ecc80173347f4e97536c62d2c67040e2250002ae61a863aeef3b9624075b61cd84620b09f004a62fefd6a24ba997204a0c9dc4314578eb5eddc076a5a94f4bd9f35ea948f1b64c123abf1b1547a2648bc29e128f0b7fa9c5971a98d7ca2190d0ed6787b3d3819c7b7a999e71960729def0e8f65f36002aa0ec69e92662d008420b6f821679ac43fb49912bdfc1d72706ec09ac0919ef07c1adbf89d20e6420d21f031850fe7b6470ef3af5a95147288f364f9b48e9d5c9d79650d0fabb45576f4414271c2d51bb7aba44acf5477481c3dd5836db486ef7e9d0a4904dfc1ee98975cd1600550b744545e65634be25b6a38a3abfc74795c45eb9a802df8fef1770e18751c516cfec333d01250c18316ee7dde13960ebdadb637344eac3ab18d6619965304af6df9dcc82b7c0e92e9723b42270d197b9b287d59e03940afdff0f263deb450a2013afbf0002308e5c9720a3b35544bddbbcca95a84d3086cd07d92754ba78334878f813c7bb2ef72e3722fbbe9e5736be9066948bebc415a9ff9c38e66336ad097c2a7120cab4b638d7238a9d684775037ed2b3be221bf7b2cb8c7f76ba21860ca0e11c8a5516973c572ca7bf51b2da201257ac810bede1b013a29e82a42ebca24ab1f56f4ce3de59d55aeeda2c778a3a501f86e862e8bdc6d5fef9c60525f1a63796f8c48b0a80020724227fe9d007efb1c55c8e2cc865bdcd932ce00a236e9bba7ee591818123887721bceda94531c7663750b2d3d7319f06e0c42f8c4c9b22942587aef109cbcfa0280b4bfa83e04666bc46e7b581259140fc7618a4b8dfe3e193992395814d8a17257e9d8f04186eca2662ddc46b96a1d64a8ac4650fdd6179adf686847cd420b3f4c5e436bdfa14edb2c8e19c765f816e02445ae8096d4bdcb51f117ccbec09939255345c10665356d499a3eeb2da242099d17a8a954087cbd1c8eb263bf7b5a45fcf1f9f8fd347cc9e21ba6cdc2f8b82d8a12b5a1b83cdfae2a22f31e9cce14181ce3ee7659ae3f947d4275e7142f2aa43abbaf44c73bb02cb801c727327a0e7279811568a6394858d4a638f43eee09c09cb6ce1c5e6473ef7ba724f70a35c4437c35267c181f461e6a0765e4ab8e71cf46777d9f4b5e2c4828488863005af6725144f9ed484b3cf3ea61914634bab51517d8ad9f55e03f15703484eb68227e726a506269581da5744f1b807c5b66aaae7abfaf2de1aed935499ac06b3ea98a6549b718e5a4e64f4c66a21a0cd6a236d06ae99aa2fd6aa617b422f6bdcd85e3720bbc6c66ee0b39f11a2a350b060739fa748a4bc6568f645363c11bcf3c6b3472c59d5c37cf24745110faf08b1008176cd46be0ce5666532b87e8eb45b184407245f0bcc574ad4a528c5010564463b7334786e31a0059ad6fc518262c0c5cc87289f6d1d95f43055d3c0c8ba79e97e88c594b653a37c2bdecffd88652d891043a57f287921aa58989cddcd1b087e35a15bbb468f35802ce379c1f9deb3e63a97225021458821e27a6ef1a2beaea86d638927de1f31c8620a90f17550812cbac58116768a7d5e0a55313e39f3378ff40d03bc8d747dca39242e4ba57376940dd728430833ff212b44a3c45b404d42a57b21189806f4eca8c9c69a3918f86640330840995bc4038abb01e12ba28ba47a1f931abfaa5a4a9c7fe161fb97cfbe24c704a7719bf75a2c99fa61d3b02c7c216b01bf1b3df4d40abf6673a994e1de2716e908a7d6de6e33fec8bfd0bf61c5c4e60b9728cafd5cddb2732c4977d31ea2972568cf9499dced170a1658b150c840c840e1afb133753710de3cb8cfaef087e72fd9151eecc90e32717013ada69cb6c4b9cc74cc51024cd31cf36a03590d89e1ebd3a37bd20546af0f13f9b44beba8e7e857bdc28c1f4877ff347dddd93f81762c59eac576963e0d58c9f0fc23b4d5af6c4acd466ba9c03218bd21d94acd3de7293cc9a4e500e80004c20f577b2ea8e2d84806d2666b0625d63f5ee87f43d96728c079309af6ef32481eed560c6b9cd2138ab3af3da7de63de34d1d0c44547c72d558475270ab41b1eb25524dff965632484d413407e84758ab45ecf4a4b84e7246c5f80dc39ea00033f393e4d174806f4e9a025023b128c39ecf34373f5ba8720354f02402724d6f9d6cac9df5cc67661eccdd9e66fe80ec505e8884b76203721d8314ef0488989d435623ea6ada3a5c7ae319ba6ec48adfb74f8e767739c2725ccbd44592c7e834f2405b93cd3397ce433c7f6cba938d673679479db52cb672b77a91c4d0fc3100dce72f2216c22f3a33283a17cde0439e4633133dda5e622077551b7f175d4db166ded407a6f6e0e0e59ac62fd805185f247b8b0210ba0b72da881f13928443aa5b1dcbd9372e363e1f021fce4b1faec829b195f4842e677294020e8b8bd32f2701929064b1926ecacb476db4c1fdb0d235ec0760a3012f53e45d69ad74a4d08b2d1247d301dbabfe0e96e5ecbc97f73c955969ddcbfc8b7284ac50e5a4e23a5285770c45c8fbd1ef93346982606066e674ec57aa1617951486de0c79c2c08bb2125b2844f0dc61669dfc11c4c190b2abbca865502419f0725d4e6919a415491fae19a7d4c86aa93e0ed5899701c0a8bee7998584dfc80b72bd3d53f6b8d86011a69172dc58eb2cb57f2806fa10e09968f182477dd04b0672623a9e6aa7b998d513b1e3f80b24e0632946e5f39a063b01a63fb99ae78a14433192c05294c28387392c63f1a175bc2236a506efbaeb620d76acb13239cad81846a3267dd56177dc17b2aa2c6615ec6627e06d5144ef83d5f1c236f0763ce30a8bc9cf2c222e2dbaa67cda4ed6e27ceb1440cab6a6deec45c2f73c06ba33a772002709f699be70fc848fe0c4524df710c9e9dc7b17b6785a525474a706e61b2a15e555052daa3c2a518d7ff32aa135faf43574270481ab3d5fc615fe72dd005c3010b0b310bcc1d12f0bc1cba0f1e7805915d8815024df1265575dc0b3310b1133b009cf688fe5e14b65be42b804dfbdb0af2daec673d0cc108ea663cf6f1d724e91e7b85d9adf658bddc04dca66222230a72c127b36d96ce5dc30edff8630119b9979464d66aed0537ea4eed654d9b54de8d339ab4c8bda101badcf6d344e37bed78013f8115bd2ddd714a02aac36f70f955dc2be2c716566fed33cefe2cd72a64ca092c87dfeed2279a31406fbcccbe8bf4c7e0eb6baf675806e0d0e9a487200aaa4c36a5ea439a7ba70aebfe71a8f4d6409514135d64060ba44640dbea372d4d57b7d73ed50275b78d98d29936dbacc0ed3e7dfa594f7b8393260c086d672266ec1dc63a4a476024971b717830a3e3e8f1938563f42d5aa6909e593bd2f727ef089a87b6cd29424d5d88e4e18aa94072fa920ae5076aa79ca5ae0ab177f725e0cebb8131a91df42d9a246e5276776a303e44ed5d94d68ffd90d7892b5ed724069da5a1d93fe7eefc891dd3d2bbc5c970857faffca94427cad04924ff8e672e2e84c9d076346937264e86c4bf4490637a598d20ff21beb9a98664306b8ee729f1ecd2cc10ee42b249d99641463d8992c9b327de1a5cb22304ebe2146519172ffee0496af4993bff7f98b992ee53ba73278a0ad4ea70481fff18b6db9aa0c72a93ba0484a3a4374d42d557d5ac0e7e27b8b15f8b46d19ef03cb1710ccb348253e776d61364840a496899c8c72608258433f7978a176dcadfcb02dd9c9cfcd1b73f716e45dfb755c0dd486cc1a6a5ff478d05098b4e4084b25d484642df9a77293fa916219247d4c24f3008357a48dedad6d37072afdcd9af874d5ad79accd7250ae6311a19c795d661193f23703844e6c28314a2a2e1c0ade59c96ddd16ac721dbf80e6ac0deee2e49afda99780a90603b382c60d0649ab3979ea3d3dfb83525f99d02ac15c938552ae300d213680fa5a722ce74caff8e6bc84bedb1a9f9a7298ce233eec2ad2dc792d3ac92bc9ee6410cb04a5c33802dbf3e3d70f3e8c045c46ec43dbd7ec7ed6d2d30886d2e53c9fae98a8ef24a9f212d996d84dce47831bfd430910c08738f9912b035b6e5222e533d67a4106532c593640a6840acb6572c0db975cb53f1e75c5b1a97af9e8d53cd253e1ef743167b4d1d5ee38285d2d23c14969a21f0f617a8240bcf7c3752d843887c5e3d3f359b42124d45dce5eaa72a71c866dec24017eaa188c26a89dceb5b121796be810a56df66f55ad25b93c72ca56d400909e324aa11d57b5758cce0730a47770bd6bbc7d14de71831f54ce72f5b0818c35477dace5245fc248f4da121f0d5092b1428ee26987a8103799363e027cb4bc40339092b548d7666ccbe32a469ab2fbe2bc9e5f022d2dda0da93f72d0f627b70d6233e260aef00e9384e7253574fc1ff82c48e44e26e182094f0a720d00dc3c42be6ace6a17caa453b80b0b5ac803a92899c62060c7fb9ded1958728afa283abeb2365d0d26d583fdf9a73a55494ca4bff555cadce915ad10d447159556044fe46cb8045dfcd9fd7f52e91908093d05ebbdf8a51ba5189e83b24d72d81d5e5e48947d8de21c859310a961c348b9e98150cbf11b03f20134328e75729ccb626afa5816dcffdbf29db637a0c68ad7d0fc81eaba5e9a4fa0a802ac4a575f976c07a919cfaa1fea12354a5ae2a9cb273de4579fe468faea48c0b6494572642e5d4334d3b32a03df5730ccb771ee063117d648be2b54541332f2184fea607883eb264be75bf95e7cfea2f916761ea7ffefe9785d2fbbe37355cf568e3072b8abeee95b52d5b533a2d1a374de4aefbf464d29772e4bfd68afd21de68feb1b01684987af0fddd7695cd2ee4eb48df0c3838684289493935d5acfa159c33350752770b674e1e4912ec73a0d0020bac8a3a4a4384a0ebe969ac33be0f449e030377fe1d1bd917ae5953cbdd866236c754c2aa370bb0acc418d0d39ed0edff157e1cef7b5d55c3a5364e5e593c08796ef5add7aad88dae196b63c5c69e8bdd272d521065831483ed98bef4e98ba11b125198c4b3bf15d914a8e17fe3e659a880025d6508287abf682cdb3519e5b869337d6da285f3a0b2b1795415d3eaccbd372011cbc6a0a2e5510f43302473bbd9b2c6b52bb8c4d7e96bb9ae46fa39527421221632cc8fd159ee9e1db2590352347f4ceb811fafb13ae4b0398f0f70dbf9f34bdf9307887f4279582b7946830aff473063859ac9e963cbed84417676421010de6e77d7b5241fddd21ca87e93beaeed1e2ad6f9ba17e2b4176afdd60c8746672d967b0eaff91fabb1cc62b18dff754b40131d456c10305d545333946df2d844aed6f93e94dade00e6a0716b9864cd3e14abde3bb6d2de51d64f156d76d5eb41f6ad2830facd54cbb123ce9ed1e75ab23de7b9535f85fcdeb632d609ce5d09d72b7741e504dcf08ca4281341f548bc5f591e1e385e06a76f059cb3c19a167e472870c1775f880e58ec1211604588ab6a0330e564223af237e4942b72d9d1cc85f66fc89e6f1e7236c863ff774fc7fad13b86abd31bf6bfd815e2a1ed36388d972cc4a23dae9bb91cabdbb2ec8544ebdfa807a54bcf31f665b8a826acc08149372f6da5810c990eb0fc3bba2abe88947529812b2f2f0fb391ea54e6e4c5c293c725b74933665c208e9e9661bd8ea14e66dfe1637db310f799b8973a92f6fb213727a9bff0accffc5d2d89a22f7d30a7390caba563100a21476df5ab8cd52835a72ad83205cdca65e3a49980a713c9d6767f7196db7e2283433076d88ad22747972b70846452042d402eb859782618b6f81f31ea71da447032624fdde8e1285ee017b4edaabcd18a71eb2e12e446934272263d487449aa1f558b67bad5c71a63241c8cb64a9879fa0212e44d4de761900ed506ab67394c6d30085529c6f3ec1a1724fd54ec0a9a40340b6c426dc828f923de216f6e680dd8e518cf2e11ce406e4720e2a56a0d1bac6cc2a93300f29ccfb756811f0e7339372112b04e46fccb2787204b7fbec7c0504fdc6488b8b7b55924f05ed6e63bf8ca92327ecbdfd3efe8e7261089ddd684063d777034ba3de7b82826f9cb42823efd17b48d5f32005295a728e4d21598ed504ef083ed305d31f60cea0caeb93135c6108bd4384bbf3afd042313bc212b3bdd193fdde193c4b57ff00a3e52418f5931282112f8bdc97659272eff1377492f3e2fd5e4eda7357b83aa81b908afdcd5fd9e7b69e53da900da8085649838ccc5d480435202d350a15a2240fb82d79700afdb74da1c41a93782b666fa36302c5d1beac16d243bf939758abc9a528bbd01badd9d90dcfa48ab57939c88b71b0e1a737f09aaa6d36ba7399914b6ef8d25a56dbb4b63d56d12de18472c315f978ed9b5612b965e4ee1c88e141868efa86fb673d1f442e4b99e7e20e210b5c5215b40b2546bfb0f6640594865303a3a544c1350a0c86a9753a34db2b1f1e932c00ac587b2e3005001ea53df95ac90d14e2852244f461dfbfee2c49f972e89df9c573dfd855d956a48ccab27e8eb3f2a916018966df534ec2412df9491b73aca0889cabc1ce4b8ea25c28949c0b3b59f77f3fb0014e56fccb6e9cda355296f7935a2b4e9454c471470cfe5adec083402e74121627ff32fbafba898f6672315cd55825cb7d508faf5c8cf2d9f6db650c2d702afd1d2ea9c0f92db7719b70cf26b61b6c0a56d653daf9d0a2ee7a59c0291959ed8f6851ed98b04730964029d2277f95ad79be694f76a7c2d4692929ad1079cad139e3dedd4128060efd44578c513473cc11aaae9f643e34c61ae1f310a9f13d6493715725e37041e43afe7263ea2e96c41db50a41a4db9a164e1f860a18cf155a7f77fa51ae17174da7ad11b2317bd3ea9b2723b009f82bb306363852a4c3475fe4cc3f2885a1a890a0953a26b03e2655b5c1fdd2226efecf4bead99f6c506de550ad6fc627151909e4096cc58b303530eac0197488a4ca5a174fb46cb250cc7f8d667672d0bbd2cd31ad5e3d07d46ba3ffc2ec697ca75f2d978d4cdb382db537424e51e4a60d4ee4da2a601fad62090e5e25a8698b60e4c4ade37d4edc9b714dfc2d7d77d59fbb60da065a679dacbbd9c0ac9590e27f51a836e0c090bab7f69c418e251eabb7c3da2be314229e28329eac8c952d88839f00ca59de05b17cf210a8d20528abce4c0554c8725e6374bd0b1e6d3b6713f89a41aa20e496d027cb259055534289ad7c44055e220f275e3735bd50f091bd49b565be7abe7cfde3fc34d6c2923e73a1c3a15c4a72f4044ecaa6206cbae0d647c5897f5e4fa1f1c6b918f5c198ea3421e54fefa0722c5b492f33f4acabf825bb84da1161d431fa4ccef7ec02c86db9f31a0f1d4b6669b086bd1eb16aea3ab301b34df45700da94f493df6a5ac1f12ddaf9cb9275718ccc9cbb7ddde8bb0ab49ff6f289b5fa0c638b8fb54adad36dc47f58e6b34c72473f911e7958aed99492ebe2c5f3f521df29618c05b941426b155ee1179ff072eac9147a532f95925d15de76a04742a11026d230ff3cdee15b2d34d622b5312ca73b65ae7452bea6152ecb6a5ba3d33e6a40c1583021e67250ac94e93b8d2872ff52c74a4d6b5a117e362e6dda746c6b12a8562c4a9a9fb373ad8f7e0803d5456922986b5fea33df79475344998aa5ce10b7c765b30b7b4c2e19b25cf196985aeaf8b217f7efb87dee1fc6ea51e146c52ef03e65c25b7aac5ceffffcd26b357206e2b52f8e14bf611a3d0a7de9da302f9d6e5b159a49dff4c1e700ede4527c7206b2ae59ae8416437d5496464259e56edd0a6a3427d0df5fd83b363d166cb33294e16ec2237b0a450a959389c44d990c5fde6a92b4083ab0bb8ff999ca7cd172c86a47ad4bb1ff586148729fa35e028179bf961973c2de9120aefec76e1073505c4af839d2d742807b6da67b4eeca129cccce1612dfc9bc45047de04a82568715fcbd1519f368296c2ddeb3f4bacb7d58519b4e80be853f00bca6ae0c3a49b52209e96ee4c02aa15a64583a255a8413f5dfd27e762d2a54189b5645585bff47226ef09a48ebf7c77d454e1b4b20a5044714c50a0028c96e8e839e5531c3a4d1073161ceecc02f176a19666f2ff46f2388472d36db9421dc924fdcae7ae88801154843616f8e63e0b5538c6d190bacf50f2f60d6ee67d74ceadc72c524257ca724813fea3457cb0a8c9fa44eb4a1cf4e0e9ac8f4a45c390e961590a6922ccfd7206fcb77f82a3ee494df42a2dc5cd05369d2a95fe9f05bc5a89444bb31790c12d679010937199b67398a998c5adc6cc37dc4cdd2958b0328a9e73cc1b79937c729c211c45ccfc970c433b0ca8f8b225533cbc8ee67b6af8b5c8d92e4684b5e77238937e2d03679e6b7b4a73d19b49f801cc097fc15e5b3ee1cb7d9b2520057a72e8e6d52ec19e063002f55641262a564cf8b609190ed590c48c954765b83baa724380a861955fb28de26f6e14ffb6fc507de32610397dc5de3952ba10e31f6f31aa9f8909b24aa0fcca49b0795f999402d38b1ffd50ceeddccd6383a52f3cf172fa0b8e4603042e77cb9c6a3bd8e30d387fcfd05e46e06d31abca18f2acaf8b6869d893664a2ce47589fe19bd413900d9131bedb364ee07ab42cfc8a4dc23f8151b4d66d80a7c6ee9b3ac5e449758e315e87ac6aa2bcd48d7a7ea61c0a5f6907298ea34cd83741f2820873d4614074c473a5163b7db4f84bde5a9d81a4b000472e332ea49f50a450d84a18120a1a76b430f1f50bc2714b4838d02e8182106a372ca5d5a387c45e737c5aa3c4005ac9e0911d8add51e77814862324e322d700d46eeefa4ed99b3cff2be369503a61b4be038a0259d97921fadd40afbf798139e079dd880f9e120f26c327b5c8e0ea91fb9e96fc7ad86c50587060864c3b53a386f2f537c44a2fe9731d113afb112d25502da12c244f4a5a537fc39e9e56c1cff20bd4c8c895acc42e843c855c83c47a9b45a9335db961e0a4dc5173ab442561f72675e060667bd9904d63a79e78332086e195707b1333c82cfbeaf4a6867970f72ee39235e503986940267d50436c46a738b485da0e6f5777f974e1271c9b6cb339d94f51123c43fbc1fad24ea4bbe4b5cb852c3580ef32a9c797a3f16d5f11312db501addc68ccc65c6f84fb6662bd89f2828ab145c2e1f6699e32886121dfc537edcf717c7d696568f0f22093680a49f54536cf7c87bbc959e2c8cac4fd60272bce65a4692685e0404118eb24470f4742163ebcbbb9d586c3de2b421546574151cfd25d7e424be81e43b1383bb02ca2a39d2dba341161c9978051d5186135b72096d7e6657303d4033e01bde8bc0db26fbb2fccf6896ce7862a33ac94f6e19119c3178b85927aaef0fab238e7dace76526c8377a2757bf03f05dcfc6eb74a643f208e27e756bb005fc88f3cb2b695d5ff5fdc30999a8357cd09c434b4e210d722efe435a4c908f7c3bde0c5c6a80d5fdaaf9623b9a3e024352770a1995ea867222b2570be2b651a434ddc14019932e16454a27616e06a23392c10506c70188044e237555447de78f0fc5a78ac7755dd540b9b05acea0cdb42ebbb3a7d7209a7257aabb0d82f796cb21b37e34596ea9a0fbc47314c132bf0611fb69bde7c00308c2a1033106749d2b1115a52efc63412da3f261159a58bfc373a856222afcc26fce3d156d5848a455e9da3fd8c740089e3295a46fa77529a3262bdea6fa558c729c09e7c81d4dd480d9f7038eab2bff7a9e0adcd4e9505d8793c665923e0c2157ce32fbb89b1364a602b37d95a35f0e9f7f942f8fe233a18a0f3456f42f5af92354dfc8aa4f7d16cc4e1a3e7e677c85b63d1008cf638f90968060f8dbf8a21a72ecc240edd5c00d8d6ad08d38925fcc38a181c6792c20ddbc809a2dc0b554f172d9d40fe15a75808e2452210475f0bcfb762f6145e3823bf8b505915e39935304261b030bb995662e3586333df1867df17d0be33996d31dcf47ca2c67fac2b65cdba632169469a261ae18c27a9a81d0452e821b9262bbc0376a3458b782066e727cd5bc4fd07db8b169dc19c52b74aaa7f37f5482f679666baedc7cc7fb07a172f805c63bc7f025473fbf63d1c8b5555855bfc0fda6442adf2cc0b4a7eb719872bd9e417a959fecad51d324a3047f995d22de1f0cf2c9c0f212b4dd2b7bbd6e72c0b82fa81660b20c92d5e8392b8e7f7d71e2237a09d9f97c0248bf3c28b9e072c996eda6bcdc8a7f4ae8643934d1c6141868df1cd287e80aa1e585e8a014367236ab8c4d7162fd894458f96e858248000a98ea9fe42e3ccf699aba721aa35553b812230dcf7e404b78671cd26a0940749048b7d906039855279f7a32cc3bc77231ce6c6793f89d71d3d6646d5f30eab475382aa75ef65f8f0f0f73023917b71160fae3564e1c6a261f28b4c31268021925e9313f7a2be2024d7c32a41bfd5e72b8237390d5a24c4dd91bbaf15509c40dd648184a4c85e3a128599f37ae845f72fe18fdf14d5cefbe8c5b2f77db658eb1373624ab9aa3673e19bdc2289926bd5c8e13c30c11318e9fb3c004053ce17ac3fd7f3405ed8b10c6031076c67cd59172a8f3c24cf0867bde69bd26e31ae15d1fe05681322ddc7d96d14161e31a718472264356fa73bad554c9d6dfff6f1887109b427c7707b16be6a35fd03a06370572001a4e6fe75b88d6fa63e15d7fc10895aab97e3b2a236da36fa76144e72da572c6bf331e2390eac9a64d1576131b61f6dc1fec3d4afe96aaacd0fd89ac4bd91649e3e2cc4caf1eceb264f54b2d14652836c0b0c2a3f28958a7c9563912abce72cee44477de40f007505975bcabc870cc94b1961c49ecd84725f8be155eaa0b526258a34997396f11a8564c8e62f4b4036409c6632cd8869f827f993d10085b7227c3f9226a4e10f12c4be2644607ed542c27e610bacb7117afa397301c0c07428ad93cbc78dd34da15382a7e6943ad6b60ccd1d763a901183028d341a50f096d299f5d4b840e084a59d6b2be17865e773fcc2033c2e4272998e0601409940a72daa7aa4b78c4e4f98c561074e6c1bc929a8499201fd5827f3cec34d04df56e72f6df9980743e4fe07758399898e8365f1c453f6dd8aa7c831b7c0cad52c23f6b11b1419c61adf49cc1836088c535dbdd4101b25d4ba1b8397dff2c038cee8f1122486c58304d7dc79343cad266d8a0fcd5b6989ff2a679f58ade4aad4cf75c721f35e6509af5e622cc0a86abf0883b3d23baa5e6e7e798e7cc857c5a54e57d724e36bf8f711219e36fc94cdc8f454e6e292096d9661696edc7bc889e67e32872246656b771d3750e2726781cb4c1d99b1acc2edf40a39dc679ee076f98c1c54b8a67f0783aac2127da5b3dcc30bc359c946b998c8a7ff933719b2a418846ed3fa1e8fb60e6987f855209a3c1b247fd2c936fb2d9ba14c0c060bdee580c765572e1ccdc224f940e7087f4d462f8e1a103f028c80a7789d3ceee78063c43a1747249494e38de8a54bda3c178df663844bb9093c3a4d2e58211df6409ecc76ae4722d8edf1d97d07530d9697d0c2f4790bbbc719bd334a2c616040773a33d8cf24e09e4c138a678bf67df11c2f0ba8a545b410d4ffc509117755d35f73a30135272547813ed4fab7d8ae2269dda92f46024c790f45bde60d1217b8f6cc1744cc27234d5da8b0fcefc3488b229f8445d62a0e09c6ad85485aeafa4f679d48cd5a85ddb90002979b41cfc49f03fa2611fd9031bbafa4ee06121983383cd5784ee0f68db537e5511c6874aa5c80b768b2952af57d4f985cf702068efdebbe442730772ee76dbe8639e331fa7507027b2109876521a2db2fca42e5f742f67b96649d0319e6fcf3f7589498fae13550152cfdb62d18326d93445145416f8ca03f7b3ab6d4047f5432091f1cbdd915b9d3591bd180d01e4fb259e5e1161b21df77287d1234a223c531cdea485dacdda58ad07bea24bf04e607ebafe03fb721ee5efca0e5e183d57ddd5cdcebff4e652cb00a2687e492795d39ae5edb84f3a0189ba1c1972e858416fa32c51a3ee0461bb6a6e8fc45daa12b5d51de981ce93a2ecf081e9728674b385e274e77ced08a6632eff5a9faa3032b186494e2e759a038c1eaf391178199a12f445ffa1bfda077eac310ab73b3413a792432e0c6fe28b45ea60f77271aee00dad6662601f4a77630a893a0b02acc15b042cdc0a4e962bfcfc08dc337ddb126856bf62f1a09feb5b679707e277b1f8a4b37b92f6818f619c6864c60999d935d4820e0ca0f73002b758a30c8fd2498b81b85902c6e7d3ec9b4c28ff1d54cb0f9fe2c7d25cbbfc8c46f715b99aebc41ecdcc66b960da7af2960ab0475b2296b973135376ce8c69486bb39e21513da3163c18079cb87a07607f26021372f035a701cd3fa1279099bb9a5f1a39f539fa82d4fd581919b7d062f3bdfb3072140218644b5e29c67efe5949c945f4fdfaa3451f1f5829d8b1b74ae03d448272754f3fa1a9305fad90d5b2f679e9360c6a36f92f6912c00ef9a759feb9ca037260354cc93a7ece42f9138912197ef93049beadd346d460310c18f9e22cb5c85f1f0ba1d5b0f398f5deb79654cdecca6711573fe54de543d3af00eec731d6b3722a4a325de0eb12176b8b973ad80ff2726983d7b914313bc0cd3457dc0501f87229ccf8a41bab38859558a50734a175aecb074be0d6d0b9f6c6bf9f2479c97001a1063415b3c6bc04b53d2125f419e5b15bc612732b94def50fe8f485467f7a7201c1ba50188569332434c5783445fa7b7e4f52631ede01a55c2bada0eb9a760a5bd15267817bb1c75be12391c9146a77821c1eaebca706f0b9c9cc39718e8132ad5feb600e722616e0bc4fea3393c6ff9dc4ce668c569cb4c3447916c076b5726a80902c45c876bb35f6c5ee2a5907be3694e3f282df0f5e96ebeca1146fbc22c348fd2bb2f847d7a4f3661eeb5003b4d2ee41173ce416bdfe90366356734f5c1a5d23d4b5948f2b20339efe1846813d45dda122b99031a9b6efdf2aef759d681f012c93ca079fae9410a3100dff2a3b51913b99c17bf5d8cd1d27367af9ff120e7ea8a8f1f3bd051bb50a0c01662c26343f1d6e6657d0b56fadf35755bed872449b413b05ac509e05bde80bd8d03e41c6ccc140bb4bb6b700721a682351b57213adb3eb43b1f3724d4b8cee4e1799d60b4de5bc000e50edd8cc2a54ef26090be5346d79ec6b616277c56ab7fa96042366e59de51985cc8a59ae8cabdc352772955dcba5cd5c9b2c5887091726a2ed801f1659c3d2ed06e0ceefec7ee403602ce2a41b5be1808aab5a215baf720efc49136651cdf324ebb8776cf7cb0f0a9f68fbb349b613e8c0325dc4bfb106ca4d7e8e9378d94ee34e0372a21bbdd3dc816f0c3693921d35ae2d722bd79339c25e58233a3e4327d63dce7830e14e490ea7727dc4c0a04372654fa1c08419ceb0130578d86f32d933bb62cd79071222a11d72a7f7fe0b24a76f996f9f744055850275569c3407c539276c6867a4b7d4a76972dab49873e41aab52e2614442fb822b2ccdbc7931fb3f386baa77f057ae7a3972ba81183bda16f7e450675b4f5cfdb8f74c53165d01e345ea086045ff6f7a9b72118233da963d0beb3ef92532291ccb57152e3131b1332cd8e6b222d3c1315e4babc2cd9445665faaf6d4a579ff6c29b0b5c577b9c814e37d4124433e8c42e3723d63cab0658d5f22d5921163ff796777b548f6e39354a058a26b9fbd40fc8c033d9c85acea68de2e16c5257f463c2de2655bfd89229dc428e4880a606921aa72ab362545fc535cb015e8f5fef6aa2e64327bfc606c19e7dbffd3256be7791c72fa7d4e4952818cb34c6c2fd8d1d631adbec4762568718d1970c7d5dd17029072083b0da089e24f10af94c35a761b90600a1bce434725f925ae17322e7914c072ad1a1b886f64e8cb0896dc0b1a71ec03b9f31875958c2bd2e3e041e733e20e059a0e7e356693509a778c472f508ca875ca664d52e0482958f857e0937268e5501e94319416fc311876dff57809dfaa3981013a04c983d940723a88c5d5b6180ef7936d1c1ac41e5f098453658c5d3670e7abcedf039d67946d9162e74b1fff2d0235c208e131c8103f03f5a1840b4e56255e4f257e4b7de4818858eb3983870f4a9b4ed7aa9042ca99388e7f778d986ab0330066dde1f319e8ca82d8c9c47972c774632d4c721251bbc4867202a935636011eac6caf3cc461692c0b1de5be2724ebbf7bc7ab81795910429a08ffd84a09f69ae74a46427ca0b86193d87a47e5e68dc995468ff6066bca5dd2e6043f5644b0d5f8d7cfe362f7f0609a29acf3472ca36e56bcd5e43aac1fbe3c253caeb6bd1556701840f84873efa6f84b2fab250c52ec87251838504b64d4f2d5b8da4749d5687b593f346f6f7cd5063a8e01972affe4668264823a95aaff98827d5469cb0f825c03a4b198520cefdc8a88ca37283044ded6d889e73df148b360fb99ffb77d0f00e9a51138042e44435e508da727924882babf7d596344c82f61cc46968f042d504f10be78bf284ababcf557655ffb7484e0eefbc13e7d02bd0a0c0bdefb596110ad531db4536938a81b9fbfe72544520e4e6c715c2b1591d66e2734ac8ca1431b5049b93ef035db267121f426dbaf8d33728b3bc019af2741a7fe3a3f2f120aca785a70b930690f22acbf0b5436b7316ea6cb42cfd4a4f2811bdd7ce1dfb006c3772948ae5b2c01478edff841f58cdb985f8d385e5f3e278e089d192d227e426808e6d8e7c24e60e3442c43972ee50bd2f35db795d5efb335d9d4ad5a75ca60cef0771b5ea379a9a2196d1ce6b09ee66e766fdb1d1bf2425747e7835ad770b7dc15937a4a2d7165b4d8a93ca0ba6e970c3184b37b59f42b50d2e2dcb67ecd71c2e0efa470801bddf651af47772c159bb97a3f481766a12fa29208bd900945f238dda4ee68815aa7eda4c9a00720a2ca8c11c77426ee45b0ff6fd870153e94292f18a8b445cd6f97530ff6d6372dfcee6597547e5702512bae063f6386f2ebb1799acfbdde8f988d91ffdf2c872a6bac4bb00aa380b1e88bc4cfe485f2874388900d201f6b0cf3f99d02d0cdb27401c5e01bfa89e19516512c321a03f6c88c06db503999557052b09f223aa6537b58b44b8a25688c21efae89f7c49bf6173b77016f8237a3ce235369064771a4da10d92bda331ce5314c8b32ca70e20089035e184a8f44c368ceb56d94d18b039a51edf1b789671b7f24cd08ecc63243b3e8c73a21a450d1a499d644c9d7a056d2e69544c3bccf01ebb8e31df22d325d9497a4c33b4bb34c9b21cae0fc97e8a2eb96e6d1ae35276ecb484eadbf44b4202c633ec67570f29f79a37488795015772560553e9c5058cb50fd4070a4ccfede415022c910409e9247357bc34b4a82e728162d9e18f062b9abc8e631b9075b7f3276e6c21f10eb504cbeba3e8e45e4d728614f26239d5fd6aa10b29a9f52cd8e022f6201d5db46988fdff16219940ba51dd08e571efae5dc5ee2056122696d28c16c85ea67147bd196ef1e0117402b44b9cad6c922a6a9469f0439dc1f613e3f554f966d810ff89f3343a7113c3967a0a4fe5d50d81e2042cbf754d434f2a49b968ef0656cac188a0b1165f0f2d62af72a90d8522e105591e47e67ad82c3ab1f5442ba06cac92d9c08796334cd0ad9203cd7c1a38f781d8cd8a810604b005312ab8ce66a620dae1bb9c25b162e21de655edb78ebd2ce4c165bdde6e110befac6b7fa69c9123e01933031e3a5ef5faf2726b6e59c8937f81cfef44a7ed09388f99f492495e8d24d938025ac3f614215472b50ba102ea1172288c35a76dcc68c8faf0df374c4f268fab2f2e054e19f0734fa48cab870585515ee52a138c68c8df4e0f98e2851dabed0ed9254041318ef764ca33ee7ba51cda63854d450ba0b6745f8f5e66523cc1ecbd84b47a621a590e72c4fe7e9a683acb8b0f884b18f78fe264f4b60935baa97a4859386f6269122772c013817cf6e4bfd2c3c39b4bfb9f4cc04e7a2dbbb8e6bb518fe754e30e9bce7228a2dfdef01822448016c8aec0f01b4fd3a7b78e72bd6166ec2e1d43b95e935a9eeec1cfaca08b8e6b18f8e227b3e5e5eacf315e67fd39ba52f899f482935f72589d757142a1de11f8ca394743e66c15421f93b13e3d061b8e209d85fd5e5267271acaedd8d9ae9b17ce58eaed9664606e8c0bb49ffacfd19a5e208d6278ac72cce8a36c39d3936b008a501152e733b2e81cce4af638b83f0bb97b93b369335f66da5cb3bf6d4c81946ef554a6bcc529a9ec34a8634f6e76a162365e61b214720c0e77d9ec3d2a0c4e8973765a5a65825017ec286728df2b81a9a56fd34e53728b548e554d4397ec4711630a09d53511b573081cbb3cf5584075dc70175ba80e45ed8a70df2ec101c569b136ebbdbe2bcf73accd2cc098b30e4f0d0929466472b3957ad19e09fff940c4811e2ec18b3e2c677141a7be5fc06dbb6c99ffae8e3098089f969431ed043ce4a6bc638fbe71d176e4c6c46a22bb2bac6168f852d172d861668caf08fb806da53b58c33f02291a45f083b01c8e5817b55b48d6c36072869046386ddf28bb31f4b59a2423357e2507e310dcaafccd2b7495dae05ba77297624c4750eaf5effefef72fc10ce389bba6961073520f1e226f3b4404a01372c2f08a9869175200a89954f06923ab576f40100a09e141d1b434bc77aab5e072eb7a19fe52423755259eaa44e0d1a091495da323d0cef89176af24cff3e90f72854365d4f6f2dea34bcf384a287544ca952f546f59ef6dee38a5812b3bbe264b33d54154cc5c7e101e418f5892189ed307b92da6b1b42d365857620105585828757b0d67120a519b7b31ee83ffa71ce1351561a36e76cb4ab729fea6e5e3e07287b03c198e446693eb73c6cb30deb831739a6699a0c78f114f3c7c743d45287252192815e28075e2eab91a07249d5a5b7da689bf2ffc67f6ccbe5733993c683981ae9649c5acea0666b3fff124583b6a93594b07bee8474ae38d92ff5c49b1727ad3ff79ab0795f520eff09920976019b1dc46d471ecafe77b9001dc86dd1672c62e7fb553d72f359a095c5aa08be9985d84089fd083834c467ab4c3820b5e64ac73247f0b20f68db30442ebc578f4145f06049f7e864e77449b909c9c6fa3721869382cb0756d97edd03dbdb503b1a705613b693d8826f20e76b37683085d72fe87aefca9bc1f7e2bd3757d999022d73dd6791222ef2e1885a8d8dd11a9c63e27fb1be4601385ba67429fdfccd3c0e0c85be9e98157aa32088735ecac6abc72ace2be312803f19ebeabece23e0ba014c57101a4eb03774ba2769e05017a7d64ccc1b61da4025cb3afeecca62b1a7ad4ec70c96364a444b8cd65f0b5befd3d72d748c44067ce6535dad690d2a5020400ffe6b6357a3409f532a1089750408070742bdbc92c2a9c936196829bbef1cd8adff014fc2b8fe99bccea4e40c394a0423f5e81f7cc7adebe56a8e8f45a24e3478b00f1fc53e5cc212e309be69ae3e12bafabbc9f52eaf5573efe2261735655e15600b3e8471b46345226d0dd013a6c5ecabc12c5e3c860e7b6f0433e59f92aaa44cf7eb7be224f645bfba27e61efdd72189f2b5277c16b5ad154c447a6a729f80495c11d288381bc347a4d7cfcdb336eb79af457338319763338b8adbd54659c17787ee67e4e44a3f89371909252b672afd86ca1f9a8fafde131617913799d3276e5769bad492983712e83fb5003da72a4f88694b3d540b79b7661e960745e456b6fd5c5ad75031042759a3b94f6d8729a84dda254388e48f8ff9ce570de8c02510b58aff588969f8f53e1e8cabfd7724c1f1787e71dff4323dbebcf8189ceb4d8c966f68f81f8a630d5b3f144dd13112feb3799dac404a5ba5a0dc4e36f420167b9726ab511180001b514952ad544423c606bfa49a176165e5c6958754a4e65793504ce4c29bdc5e6d684b213fa9e72d212e9524a0929261e7f5cf58aa3a3afa4737441534d119a8fcb1dd85c66bf72f5e59b863bc1436df6944eadb25e56bf0ac18ab25e98399e04a4e7b79d9c8172c590f46b829cafffa971a85c75a25f8f366e8d6a83654c587d2e18653e7f852f06cbfed0240a81bdc27d207c4ed2b1649b7040221f8c1fc83c8b0fcfad3e490ba896b4fbea874da3ad19eb992a8dcf6d9f32b620f4ef9699c8b7b7930ef07072a2d28bde5ad41d52fa807b94554d3bca35486b644a3b1aa66bcf5001e3c74209261a14a5367907be7f9d4ea8a59d3a31551d7072d482e9391d3618fa08395b6e72c29b7c746efdaf59f7f1a31455e54e4140c7b525a9662feac994ef4b43a3154503f7d5640027801b64d83741405f30fa3ff4657c48fa9252814fe11ec5035d81992899c8b409c7123b986f5d64f6daa6f5598fb185af544a0e2c25e35ef60be5e020f1d2f8728a8549a2600c8704f5a82e3dafb9f62af564b47a998ffb6e72ebd10acfe22363287f2ecd8fc97a8b89033bcb875d82e3945fc6b5f58eaf9f72546aae6d5b2a20d2169b5dbb999c12bbf88f283fe1108e0d8297cf80de49db0db002e9046e6f7bd73d8a76fd24db97f69b5284d2f3db7573a5b893424aa30272ca3ee6444f88c40f9b49551defb6c91e5a98b0d2aadcf97273cb6a2fac82567254e4b49a93b8e76410d434107021fe097c82b9ff0e0de888abb16d70d420ec14dee92994df6bed915641805ada4a52579e0f30c532d1109f7a12f257779bb1720ab2b169c7db0ee42b6b4735210431e8d6218515501c2c560cf36300fba5e1727235e23e51b9b032be61bb382e0a559d7195393c5b2e79e87fd6fe696944a809cda7f323540aff44138807a8fddb2c62927c7866bcdfa2c190ab20bd9f39de72e692457ce127f10d5246db2a0d3fb6766c04bbf4b4963d009d66a2aa73ff9822392c932852466ff284f1907b25ebdf34bbc77ac0867fd7c3f02db54a9730360c0ef6ff6a7792463e0d47d81d7fb20cffbfc833b9481e8fc68e056b860e0a517291f9b2261677484d4e3307f325d1bd797e010448f54fc9a4046f6f8e8083e459a03ba464cd868ef6d97d66b8045492db42b6d1488c5f87111ee242c66c65e6721f3657a082e697180222026bb9236279b0f5f50d5a881a1d692fa199d4e714726fbc2c10a998e3d8bd580d77049eb46d23c2dd232e8f2d4c8394146632b0a62a6fa0621b2d0104273fdc9d3a8024d8eaf2bc6cfc93f5c0a940434432da17d07247ebff11115c8ea4429397d5ffc50b9fb59d66e15370ad745721e98a0821f872b91d729220258a4970012647e04fc3c47de2a560864104b770bd5e2bfd639340bb03374722e78e03d202ba3e7631b5191e67748f7a09bc212811e674a8c11b1d72692510af70347ebf0552e2fdf964e7d0762d54339874ba8e08474efe2ba972f03339611378a3ba1933bf2a72f51368870e3adcd84ab81dd79cd7072da77c72fb1b76a6f20bb6fc57e4963fab47043ab8badba8cebd6ef330fbaec1c6fc8e72f988cc3f9194157036cdaecd812dbe6ca1481375dbcb9dab0031a00b45855772d211a3c4ac70978f0ca80eee2189d84ce29caf533c1071b042169c148dcccb726bf8727183e48d87b6b1a0aefc3cfe4bbac379d5e9e901a5a862cdae55cffd725d94cbec4bf82f7ab3c58b739d3ea8b5248a221c5298fca9c0f8019dbe5470727daa8fe38297621c49137d47d41f00154c787661f1c981fa958bcc8685437a72cbd3d76841d8bdb2f4d0b412fc181435dca4657c3abfa4e049176debc5826c72b5522c33300376a8f9ad1b353c37ef5215a9feec452f40d1ea26b21fda44e37294d497b3ab48b24ff3fb8210139b0984125411021c3826a7a1ed9550af6b4572f4bf62a4df2d5edd0a68a2782e7ecd9932b91eb8c4024ea762e33aa143cb71727225abd4ab37b01d483673708fcad4e7b8216701a02e6e1db2f81859a87fd372bf4400ef67758a073092fd9c0b27fbd97e7ed84e94e5abf3ded896c634589538cea0722e18009dd3e587bd6d3610d9ebca518848a04bf9631f38f385efafd0177ce49b0aa763ae25133310589be976f7479dee6fae06bf2b6038d956cf422323ea138ba5f6104cf61853f35e35068cbed751487ea12eb96341057c39525fee2b5c196b651d6b269a89cb88ea1004dac86fe90bd796feab18cecf194eea7ea1722a8fa63dcf411e343c93335d7846714342226f41c6b92d3391a4be91522ac92b40a1582164bb2819ac0aeb237a3fffaffed2bea4491efde8d360f8e4d2ada672d83c2fb0e72aeaaf11bc74fc4d7c6de32b8bb1aefc7ede9549d4ff8938b5d8059430cb3c4569decb95922c2da8ce96316ab4a60e7e3b18174834566d6eb2ce72d59b85eb44e2c77c73f9043141ef1766fe031bbcf6e7b6586f87a08272c4021618ca6b81d7eb21a7d0b98a20db0984a302da8d700cb73889dbe75e7261775b0151871b0692c57e4756b65ffda2cc96cb76d6c0502bc243b84b692355f2bbd211472b7274a2e16866b0d83c565ff2040dd41ad4965624f3e6f54e2d92118e1703a0024e614a463eacc0bd7e6a87fa2de993cb4fcdb78917c1d41543b816dd7317bc5b4d6f77c53a84acc35fba2488d152e12e14b1789ff9eb0d1e54642e6d8a6ababaa1660d32aa8ab8fcde8da657de943dfdbdc763b02ea0be19e340c94ef021b321b3594a30ff87b7663e589d30075f1ea874737cefcd643669d92693e51672cd7f783ff1b88271b7ed1a80ea64fa8284d7fd9512247138e8d44faba0a0f620671cb0fc8d43a18e46bfbd0f23ae4a4132891565b2ade0c782b3996db68415729987408a0402dbeecd71342530e54bd2de7cf4b0e7246197030a20c43cc31831966ea69d31bdaffed4c68cb115726565925c6fdd0a939354da5c263ce8d61c727c8750c9da800c66b4b468c918018e1c355ecf8d6732e3b1b212e3b2d4125a2113a8e5634a61ad02da52c690c83c95fc07b2f11e61868c047486ed8b14b9cc725b8499caf9bb13cfbdb47189fbef5af45dbd6a80ce77b138224e1a25d40c70680cf308c5b44f4f3ba965d6f9eb70611846b65554768a861de36c435917dee47226ea2f88ed409fbcc9e44420773404539c1999feef69c13470fca6996666834ee4c82fc23a133e73737d0c47284d80eb69f648730103aa385ef1ca2c72519d7263faabdb137826b9324d4479b38cee6b392a5695614defbf6de1c21a4d8cd94dcc55798893aeaa6ba3a0de952a931a2cffcae1dab287e1444b139476114c4d69a1f8a6b33de7780cc2d204804faf671f23edde9a55a0ff5a245eac92560805121735f6c3c5121c8f19bbf786876e205565736390ef442437ca0869bddae09372bd51731e97d271712b0c74ced671fa08a89313971c543ce674afe586dcbda6723915dea4186c3b36087bcdf835b254fdc3a06553077e42c9276d894aae61eb7269d8cb0d63d769ebd2771a94613aba3aed9c55a2399c7f0c8eebefe24953b3116d48491b4afedadec3b2d4915f84e553a2c8bd5e0e871c96cf8d172b145f70728275cf2deab6d54a55cc4202676414b8d802924b2ee7acee25b95eacf5eeba72c46d6c9026bf7f41b8c0baf5fa3dcda085bf816105c90c5ce683ed56cb07b672a365494b8e307f3338152f5a62c37cb75df7646d2a5b10c70014a1f034a768724cb09fa7857b34de9c61ee953828b51014b9d8b5a4a5654ff6cae6f13cc82f3cbd53003cafe534533ba276161571f09dac45385e1dee36740e7b52185df92772c10481bab47bd7df8359a68f0c37ecea4166c2f9dc0a2fdea8f5138837c157237a2f57817f818942adebd63a294b3d3921d538a61a2445349ab48219373150728d7bc1fb9da6fad10e3108e98b6e727a20ff0e656fbbea7b4cec2f9987f5fc72ba53f1f28596fd408c240c33752aee6697238bd64aaf141577d7eaffeebe607214dd85fc02f587b7e8feba4c0e4b8fa72e4e5f91fa43630322c7983d6572fa5cc9e80738bb79bd2a2d5033bc5426c80ea46ce5dc052456df6ac7403eac580572deb60331c2ca9c9afbcd7a40fc3c1c5f79c9a153aa1a4cfa89e767c57ae4da724482715fa25df7fa43078ebb1a32b263b1881af48b77616ed3e0d0cf83afc3728b9186eeeb55fa023a82031e03a5f329bdd2520e49fba7ef1f7870121bed827288c453ded215a96280f8c869d55588248a9d09c6890d3b22bb7ee0e46499e67224e927ba4c2af65843b75a70b65132603a457039d427a85b0a82408db22a2d722e28d1cc9a1b6929316eadbdfc060244aba7402520287dda21f5ed777fe8fa726504df10e9a2c48a3edc9de31a8c343a24039bea9f0fe0be31cf3a3d153c2e72a260eba454c0076e3f1f7d40259278e0d2d3f3cf54c38aaf848b5ff1b15ee525fd6b43f8bf525741d5b3f86c80d99def949ccae834b7aa9f7c06ab06c0e8c505466ad717d67430d1183957344d52f713f43989d03c7bee9e437239c269664d14a6ae3cb1082759c383f4a9f839af61912ed129917f689494acd67a5ed944cc3c7c13f66368864840f99fca626f48636a046cf1eab1dde8efb6cfca3316c68e72d3965b254c20c643e2aa2e0064cd1d3abe44638d2b4cf6a5374b61cbd8479a7253994ddd8d42855ae1ab19a7607f521596a0bbe98370a74b81ad501dde7d5f721f7ea0641b1ee21a8b27764f7ff6c9854e46996d3edb5883ef7ec4bf2c289137ccfc10a5c1d950f186e8077a68c4b0701aee39a2489fa4840cc3aacf2556c372f6c717220e002f7e3909e96c710a2f43643fd681bb201a6d38fe64a4df069d7297750d78d75e4cb35bac575ae1028d47425a3a3907c5cc3532d07bca997fc072ac5a2201aa3d5df53d43d3ed2daad5d14d84fe978d919f74ae99823d0b791435df29a4d9875014c971d89ec6d3eba13d4efdb5c11b0eb4a637db3d1668fa2472cb45d378ab2ea6971f6189129e888d63cea7f25a4e7c9f410beb426ccb191372cd39a8060fffddec0fd770589d96a35c7615a2318b0bd9e5024d83e50029b00ee6ad152989672d0f20d337c43dedfdf0dd1c70cc123f2dce908ab5a5aad81f32750dd0bf7f306729cdda89a80d09dc588addc73e98240bb28cb53c675dfee7729445b1925f42f23026dcdfb91597b47a6a0729f9e150d5ceb0974c2e1ea71d0756323138253b23052b3707e9f10cdae994783334050841dd6044d4d6c4a018728568adb537c659c56c00517a7af4e24637acc000d176dfa3a59b328fee313572dd2d70e700536ecfb437654b35fe18c3f909ee6608144c8de0e99f8d5a58dc7213385453234f3843d969e7fccc12562baccd1a0165504820e5fd2e4ad47f233941e3af645461db7c92deaf3ea4fc6e00086bb53f7f84f9fa1fca8e2ba359a2724d11c527224db5246a3ef899d0aaf19bbdcf4dc11cfc7f017761f4ed6521bf729146d572b268539b36a8481c0832044126fd595e18e1c8343cf434e5c7a0ed726a2e3ca99907b0242e46403bab48cd1528ea3377484f4b326e3ca1fd3c0b2a72c2769562f9a803fd5aa902441057969c2eb136cad87adc3d5bc3e3f8f5ba4741c607d0cf99d20ac318dfa7e9ef317f71a08ead3aedc8a6ac11656818f248925dfcceabd6818d822526dc477a1b61d2fbaedb282358b7ed42a95b538aa1d99c697f5c71777e0a8b36ac9566ab61f97782c812a24203eb54275694c2a382acf27250f4fcf4aa7d0c203d0dc525c401b210355c6910fb754d67e758b4db8c30bd581d4e97f2fae1fccda1c6c70b3348c73a91f23e38015308692a775499a89acc72f0268be3c97d697d3c63aec5d716569bd7498a47e8ad322d0323ebb3a5ac1949f88718179c63aa75738bc51c0cf93034b6f08f087ad18a5ec635768143e273727d08a6c220fbc5e48e441ae80baa245927c6538a8558f88d04e6ebba615fcc72e0dd6e86b531c3cc7ca6dc974fbf1b6842a449ed1d0236080579d4ee35a48e2ce8e2791b7ebdc20eb32d1ce3ab211dded99da847c3885e33335cb631a5acc2722778d0364331751352d7e6a9f4f3ab4ade75a3abd37cd98fc25e581eb103e77236c51f2665c8a33290f9442602307ccd8d4a9e577b676ccf03fb84991e25e172f8759924d52ce7c9c81ff19d2062e90ac6456a237d0c6215a16a1cceef4fb4283d8786967475a2b76bff166e8ac41ca00f09bebd0f6ec7b90bac0bdd5fcb885979e6aae6b2f6f61c6b9eb8bf9689682660c65ef82e8ef945210b5c9a9a9b8c16a9994b53d054591c4ce6b8dbd81f2f6ff59dc86f46282666a0c7226de1813872d3d28823cd05c9657fe9f9f458daed3f4b1d4ae276916ac289e588132f752572cda91f56f6bd3db2865e4ea82d470f20330303f43d9cbd3ea1e6952b7a706e72eb931879cffcf3d541035b988aca6d2378381387e9539b9b9cf0392d6bef98728bf33f80d6fb2cf01f29a970a3abd7d6ae2166150f215e6d661da7c69004630fd26d95b911f1c35d1abb39005ca9f446af0b9112e6858e5b6c7dd643caa27550c20f6e9bf6c20ff6c7811fc1477491669c884c578dc89f77ed8733a56f01f672917b98fc7cc930fbdd592d39360054977a2a43be2d7d38a06b1a3d2afbfd20723e42f7c7318f2717c4021df6ee58ebb5ca3addd11501925391307d6371734a7228c28b948877b77c02b76877c81b23518463a6c00925e576575a7abc829b8772b6e4736169c4b78700f0e4423021d06d59bc9f0baaa5aaf77f3291673e36e972e16b1f5843e748066454534dd49fd1e4132adffb54c8f7b44cc7704ba470be72a6bedc8fc76702282c051503423373524f1dc541d51e41bc068bdafdd7f02b2e3eaea0b04b80e9503af5f4989988a02e77f2efe62f7e13d2bcec474cf68e12721532ad41907cd8674730d9fb19c6abbd79f1707dbd2af23b742267f1c1f33872bb4dd5ca4fdcd3644a55e33ceccd74a1bc48ddb2f2aac75b004f990c4aea816e13f29be23af4d42f67fc7ed26f3bde431f0d34e8ae552975a0cc81cc90c57772f2ac224db2394f99a2e9ac5dda77988e4ae08cf56bb5d174cbcef142388e107291eeabac93a61e649651bdb7d5d38b5d11219fa32bd6c2b12398134f3bcdc1729784e1030f6f118ba5a31947e69a490ae9da4eb5017651e487b4f95913c374720d7a41de2ea0827ec9684ca4d6dca0a62eda73c2fc8da7d75fa2256a6c889b72657857027142c02004a34f70f23ce8a21597eb62e4dbe9f7ff8ff9d06ab84f4944da820223c392522dffe9a1b70c3f0b26e9f838c4a3f54668bfdd8c470c277258a430cf48e539de862375348934d066506a7f5e4f772fc3d33bc886de984f7272b3edf79c9960b300e05fa3fd70d758c249a376872fd84e37b9a3975988277280f66a21b556e3fae5b66c57bb2d9f78d514d7ba957ca450692e9d8abc094372864fe330a32e7183040b69943fd1c08c2be8aed7854a7924788855236a0f8a4e1b71a2243a0dee1eac82bdafaab1b5272ec5ca9ae392924b4bdb62230457df72ab64650f001da444a6315d07c47c5e4334edba3f7117bef228242dd8813dff2cf8cdbafc177fcc5460cc4f1f8471a4519cf434205b50f472f609f667166536729706f91e88c5aab0ee9114cf8b1b506620bc6f12f6689a7a168f2219fa6fd27271683bbb6edf75367437050f3d4e07b6d908b03f171c1d1982840fca34b68e29b4eac6d116755735ebc0eccd8eccfd2599a97c8e04d50e93206af3d65e2d7b10d284c0642f25e21ec1cb1fd259cfea99488dea0a2fc2ad7356abc33d71933172ddcacc4e6f2f91d2b9dc27be0324bafb902693929a0ec541614af4f703e6e5431eac6c2de28ba32c2da09e64d209932cc3c4a1ac0e53b8a760c9c1c4588eff72cc780805aa8c89e125796d0396a80098db48bfdc66678244f628161f09028272069c930cdf7f3ce1cb4cf1fed0baba6b988bf45159e25e8497a8af674aae6772819c60503c0fdf26986dcabcb9e301d985d5fd217307b7288cab45fb9ed2c86eb11695f095f71584aee02a8a9bdb89b208da450e80cff876a445ae0c6e3fc17282fe2fbd969d23dc94f2124ccec5f0b3e7aac3816ec3ffffe448a3bffd404b6aa18491cceb34d41a1e26c5989c0b6598a10446437d12de44b75ab89eaddd1a72f707a9d8f0df733e2b2ff4bc22df0ee021180fe030e7d3df3dad99cbf58bfe01914a1671e39b245c9bde05f106b26a023d2bf29d962db00d9f62c20fbe0efa7286ef03e7658c6eca21e930d01816f7dc9ee7996399823df2309f892a4ebb5e13531c5476c2fa5acc6e1eabf20081b6cc1d1adb74901883e82d9e6b636e80c672c360db123b2376cdff36f851a492ff5639c6d6be5265a6dca6cf2c461691917249c316f0b6cb8283a82bd309b844046f5b636b7f8dc936e32ff112564a169f72f0d13766a18fea726d1167b23822e5895ec5d5256f2bbbf4a1eed5f5a92ff2723389e906964ccc753d19b01a806c76267c6bca3b3514d1c191205d3158c33e727fafe2adfede0453680d252a359adf7afbf1366cca877d44a14b6e2578334972709d97d5a9f30014fd1fdd52919a91f3c995a3bce504aa9e795c63e8d1793c51ab9f03be32eda1aa0ff622b7be68eb87049f52e5738c593cf5a8f5ed7a91fb4fec0cb033c3326ab394a11e8fd748932d7219312987ee2c33a9a414461fc2be549d826e8ed39ea325c288e06a1ecc9de09c59d0f2f4d884fd8e69fe1ae2fb90055dbd334f21c47af51d0284b008707653a3ce78a1631ff00ecfc271f1a50a0e726803b7b5fb6c810ee0575ac1903760cbf9d35944522c9d0ba74c5ef7566327712eb0dc063de17b6b4da753c45f2edba3c30ad54e7b0cae1cc86a3797ca747d53ead4a5832a57ae7c1e9bc3f53f18f92932a546a141736de66d93eb537631de31c330c6fed92fbe5d446c4317fe41514857695df0c006dd40ef9023bfdd750172e22ea5483a31747bf97cf05bfdeb463a97dd25c29098d92acb60705383405972bebc8f2b82b8f46ced4dcd2f6bb1756e2193f5045397e78a8107e0e79524c525f47f5a952a9297efaa25953a0d1e04b425c6ff39492f832af4e242daacf24638eefa8bd09da2737120521297376767b0991e9883018537d7fa8117a9dd2bed72a3787c7fbbc5c2457d7744f2403ce779b67e831c62d8d3a40bc3e7531dae3f72101eb4f6241961d85c1d1035d8fdf174cfb9e70cbc8a0d1815048561c1cce7729f91e0987314eb0c2e59b3d6b453317989578e50cd78585d3601e559afee1744ac2efebaab0252a3e9f58191233177741da58042bdfc195fb00201170a191a723fbcba534287671f6a413663f19e16042b961687cd9d3f7a76bfead3425fd4723611dc876981f11c82017ab25b77d2ee9977a74c0f531e000d1f2a8595ffc33e6b99cae75c9f62c77f81c9ab63a1baab54588978595c9fa20f149d2b8a583f7225893caaa94b9bcbe77e45487cbf41c8717a05ca9688c3b0116e9596c412ff48176cf0c84c29a19fdae334e07a17bcfe96c39ed7693979e44d25e0c2f690462610ac7b5be9d19c74a1e2b1c32de8c45bd6e1f79f04d120a575f88b7077f5a614ab578e761d23c145b17ee601ad56367afbf47a258338d05ca89d6ff4e6c69a729b7370567fa7ad7e5ecd3cbd250cca07d6c92d957a31e3299b778b9909aa0918e1eef66cd01b7b2756be5dd1deedd939c3277497b63d2937d034e5232760927213d97defc00d5fcd7763028ca169e5068c33c4c7671ce0cb0216b70162b6da21059343bc5bda2aae11e6c48655a942ca5d506a955eda5d06eb28d637914a761d25fb044a63e79f4f9d76f8b049197e319be28b04614172d7f59cc1cde1a76e72a6fca80ec8c65a510130070b9aa910f5b638243578e62185f0f2d7495dfd432f5bc3cd748ff143178a6f0d2bfe9f82d2db7a3c26618cf85de6e385a12276394892bb6ff97e924add35a24378746fd1d970c077ee567c4e2291f3e389dd028272aeed3ae8efc1cb4d04b14533b96136c6d2bedc6770ee279b4d2c004f001c67723ebc5a734d390d1cbed0fb9c6ffd8fbadfc8268f91f0910a6fa871eadd78567291a166a0a0fce14115a652f2fae1b5cb59cd6bb8b42399dc62b9c8233b8d2272d164bdb8cf6672bb6373083195485f6c87584c85094fdbfa08cf761188ba3372490d6e2bd823454c9d2157e8b1103f9d40a2651c7096bf07d55c05c9e4379572499c9b1fa330c2d9a7e115fcb37b067e3aae051e55f4649fefa48028b74c0a72c4aa30a0fe63cc91642861656b841019249e718dfbed0155cfa6f20a33727f7284f81aaba2aec26cfc39040ef1b944619e2cc69ef903bdfb307253beb0080772d1e3921997aab19a5d62f82db245842cdfa5ebc1cb8ec178a2317c909cfac672d42f8d085c309a857e325871e3a8935e907ee6bcafbf6acafa0eaec82b8b5d05d45c7afe9c53931428325de100e45b36bb7a37c2a11e34fce7e6e185d03a6172f6491d15f9c122aa4c30ed284d9f2a09fc92ce82bbafa7f6109849461f688450c0043bbadc1e8e057d6b93cf3ad0a14271c2a4a5c4100c64c85f3d4b21a0ca6ef512af8e41140e24483f48d50c9b615f8b42ad90f0fcfb39ea67cebbc19dec72df98721965bd054cd81eac6172bf60d93f20c2ab66c5170b5bfa06cd0bd76a714449c2a08a9aadc50abf182ec708dfc70b2a66c998bccae682d44cc16e9685624df9631aa0eee3c115ab41c56862c3c07e1d3349ab652c96183682386c9efc219db4d567558563fdf43d1d0df6669cfee3fede270d59525dcdeb9d9644a0e12dbfab9b08c5a73a481ce31f8bbd90a2172a583821756a7aa94ad67ffd5c8dcd72b8adaaaaf9754411ad35aeb4c72217d527f4f07b56dedeaba9de8c02270f017245c0daa474c4d4bd433ffc3931298f0fe1902c227105d4335a7ecabbe088c672643071854354e050a38472f677a5a431ea805140523f980b673b0c8529c23472749ff182e18fd59744f1d3de0802816915780dc7eb8d83ffc59434eff011dd720632b228804f9c63175b6a7cbc50c86bf2f2ba3943e8bd7969f48d8f46556e7296195c0acdff3349bcc4f46e9c7b5a37b1d3697186d96e8cc6cabcca215e2c72590cd90efec3cc08085bffb4fa28e30292abdc0868bdd54310207ad12d6b2f607651898067f0954c3e524ad97419546be9eb59db69cac189fb2394729f66f93b9db1ce7e83829771fdfd6b3ed1e34e920c3b9f5ed889c1ea2e326fb3ae7f6b7252301f80165cb8623ca430e62125b4e1ea49a72465850ad8ef060485f65c775f713c002bde073a88876cbec9e448c60bac962ca644b3feea25122dfad71e61729613a92b80b933a09d55cdc0d89649ebb1fe9c9f9ae95b8838806d0b005a332d26092f56167c824c5f21c4046077d86d523a11fb3e7fcbc10a8a319612237f727e4a3087aea46f805017192eeed86af3c327a36b56e9fbbb72719b8cb020003552aa855c3a8c68f41516d9fc0e3171a970a61babc2f0022fdf396b90e84ec00804d3e9781f01edf24fe02d5f5addcf30bf7ab54c624326349f1201400adb5a72f0429baa32394b1b134591d934827020e591fe066e9b3e42313594099f5868725496e94fa6966e52f0110cff9b88254c11a2f484c56fb6c37b4232ae1582810622750b063770162299f0ab7703b17bd2dfd00e1f1d25e2cbd74557828b8b1272c019727aaeb4b000a5ba0a12a778f0b7157fc32d971dc7da4de7efc59ea5c4729bdfcb2d96a6b5565570225e6c70e572983a1e61f85d1f7c34158b13aff9c85fa4e70023bd99c516068e319004504e8f2ccce5d8b86ecdd692f062cac5bdcb72924804668b24a8ab49cdcbcc8ac7d9820b3d589ec13d881688c3c92d0e04b3492adb6b5ef627a33614898e23885d7162ac6afa01f83a82a1be496cd9bd4fe6657f4fe5903c09ace12dc52d28ebaf365fc469fff69cdd4c395821a0df2ef87c7259d87a27378c3465bded40269cb39dbb099332bd4268057f36b884cb0a9a8a72b5ba73da416120fa1962a95f651a0094f1baca2c7a3324bc0f01620704c1224c6f2c57fae3889802407c023781c710d7a507ea540b01614bc16a36ef092b856171d74cacc2ace517f77001e293b27e1635d7995b44c617baf794cfc3ee96cf526b10b239599fa16018c9e4c4ae6c1ff869a78e078118addf30995d9d16e648727539854e2ae2b5ed14558ffa93c274a6ae8c3e7a07bfe11a04ff6a881ee796727c697edb4feab665943948fff0526eada2b591aeb3783616bd92b18ddea86f72634d1c6a0b5e18c4129b8ab21d5ca07bba96a9eeafec855525b3a8ad1f475a724f368c5c35ed2b3f20fd124a1252a08350141a085da2880e32b97265a6ab4b4cd06054889c401ea0be16fcb9b645a4a2e39805cda20912e6c61ae567438695725f101f33043cea06dbe8336b11ad465cc1617314086212b7dc4d51ac19b23109cb62606c3e0f2d23d493169cd5fd23d40686d02362efc46fba77610892f47d72b3a796355a5496717c9242187f656d8108e33ae205d6d5faad16586e71a7d2722bff02e591e171cdc0c05e0e584faffcc025a198d42c61d0b7a82f3398833d729200eecd56da1e1572ff5d86be275992500cc7a7b5fdd65c689bf789630ab37296242d3d3027607bfc677de63769ea4022f217e29716aedce17bf32648e4fb382684d500fb5f53ef446cfd7e53c9e5026ef1369d08d9f050a3a3e8bdb1405f72494b847cbde3e92ed6ac5b002f46589d0a919d4209118d8b0656d7d8248f0172bad43d92b2d650ba352f8beb8264f8da3b8a3cf9b6b98bcc49ed9c96d429b272340f5558188597a329d97493a24798345903bc0799a8270fd10206ea021ef51e7a2eebf996720ff4e170340ac9e831600e28259dbc5432e6a392be8751cc7272ba0f0436e0faad86acffac7817c6f950bf7808164b5897a8115634fbdae7aa727ee2ecbef81409b3bf528b35c81e5fb8ff21a29f1c3a3357d698a7b3359c2d0bd819708d9c9be4b3fe3cf68c70abbce2ec257e0a8222b5bb8b47e3ed5df2dc62d80c099207de022c161b0e780d67dc24201d5c0d87ecb0e5b5f24befe22c0572b93b9cdfe752a16e36019556f338f76fac137ae12e0c30e39902cc88913b652f94f90e7a85601712a792eed1c4a26e8a996d723d9c0e518c1e5e2a8fb2171c4e6f6109ebcb0f0246e1f8e02aaae72e4f32eb9f9919d98425abf37eaa34b9163f87b17d6ec6de7073a9a05fe9ad497a85ea845a013192c34c1d523f62f7243a723d740aa5d618ffdc00c816a3a4f1938c816c0fcc440bf4ba8ae4b26355db4f7225e728325d11636e16fd46c0ccc26d16cff2ad5a57aab14a25d836d15223cc728fabe40f1ecf6f5676054a8e96d0cfd6da481e91ff90b61348350507c3f1357208126750d19ff227ef445047652c9d32d99ac089dec7f69a9a48be41a8137b368e39dee49013ead8ba192753423e83d0868c01dfa66f5c871ca8a3f0c68fa7725335a4495cbcfd602cf71aface6b0de876902d894b84f4b3ef2f2df49ad9045b308aa373ba8a78c6c41882b78480ad82768df7d5c64c05c8b801ef653766d572c190c1d231df30444796ebba3edf39c24f709e2f77aa5e52cdcd22944d63c64304c87e2a9144b03f1d57a40d0f3a852f8ee39a85c13b01e9a2700f7fa5361317abdd13a6174b6979935eba7082d9e57f24ddd02d5936b6c82b60008d95aa5d724f4e5a5bd4d938345ccbfb8c070b455bfd22349a068634e34856c2fa97effb6da884ed56a1c335d533d7ef14658ade1e7a9b2e823ef33b3ac526f48cdf25465da962c879cd1f0e7a51df3121228700ca6a043a7edefdc378f0d0822fda22cb3df47062dee7216f6eee92a373767085bebae2a69f3eb48ed431c48e11edf2c00b6cb96dd967357e51c51c24e043d0669689765e24e673855b1d4abbc267d3aa72191d91cb3ac3ef7f0dc3b120a746786c10d3f8f7072888f5f9c99fc484d82572cc85c110e4cbbef9d0f1d369550004be03741ddba89b08704ae987d407e4e572bbdc274afeaf29e38cd999c35fe32f28857d0bb920c6399326a295ad1273c5728cfdafb908634f6fc2ef9979a3556c71797bc3718fdce66a2f3f903d99831572d09bbf879ca0c2601f8826f356416ffe088b0c90b3d7dc2bee8f1b3ef87f6320c56af987f22b88d9322af52d10f7934b2cd70638b3e94a8122be1a125000d26a01189903235ec574527c23ac4b2ead798e97c80278d8fae4acebe9c0821cd372c434b306a36492f9db131f674cb033384ef1d781700e81e691f75048e1ead64a6e315e4e445ff0815a5bb17dc1806fc230ea47f15fb545eb816734d1820ea97287cb3dfe223de126987757d6f3b3b0ab64c899bd0a28317a59dd09b97a562672e3cbdec5a44dcd19834c5634535c42cec5a2a66faf18e73b2a999702d71ed5725693259c2b5534678923bb54e971c16362110f4494c95ea975d5ee8a486d6d07211added758c6bd1f34f0f27a621f15472956d7a07f28cc65d408a103a373372565e3c0eea273ad3e0adb60272ffbb4482c55859f556a5cfec4b96a0ccdcfa725fdc32b382d9c05ac9ad9ef65914298d47ebd9e8e4134a83d27011232ae2da72cda9ae84f94cc48d129b24a7274ef29e9e8bf336958969a5b153256dcfc45c72967d88a123a9a1a212712919802b390b3a44ac4c226d41310a0fee933785967204933713ed9f086b6788b70761432be92ece44fdaaa131763709d780402e5f72848813e93a1e24affc4f22f6e3f56ec9fdbc1e5a2cc4669b3949ebbbde18ad723c7b249a834895e4ceb6ecc6858ceb873f4f290b328c13b74120a29d9639a97214100665f7c58c601e16d68ae5ead76a4d3321d142ec074fdd5e074f997d724cb81fbfd45f3f33fc18438c33f01afad42e1f30084c1ef6ca747156a3569bc8559d12bab804442d496864a62fd7c09838515a71033a02572946fc4eb81b43616978a24fec01547dd612bf61e91de55fdc20c7f363819d453251e7972022b3a958bd87c79ed8bfaa8b455686a7258acbf0356c19722fb784b4ee4220bb42c4aa726e1cce5746e168564eb4edff47382e59f27f16ef9bf316d506cdbbbab57f387265d7fae124629c7e4e38fede7427b46053bf079b8a4ae89152d99bc3c43b9737b2b83586a48eb6c0e54e6b0c961f6d3e0193a86aaffe36dbf80e4fd0b27a176f2300797d4cc0dd3ff882d79f4769a195f2e6f7768f6a1ce45ba7f3d2e6217544209d3a67a09cd48a170e6231bcc4cba581b0b18986342c333f8e73155decec72140f80d45c7755b744f4d2962918c6320222b42c3ba9eb316fb5818dc525ae2f4f1308455cb2dc5e509244cf0b9ce963cc2a67703fa437b6b553fe2c5377536c4040aeb831e824b82d92d52b3563cb761d731c6b7ed2069f1a0f33a9ba97612a8709070e6144af26bb035123a6d2c2e1934bff1b0a2603f3d4244f582187724b3ef7d6e2fb188dd7c5b537784d9359f4c1d5ab651d0d26bc6f0b9915e914f5629476833beb4e3f49be059d0cdbee021aaf8f638903e81e12d9dea0d6ad8da82cb507e46c86384ff1f42c1f249c69dce4fbe697d6c07d9f18e240d5b8cfec5c12302de16079f0dd582867886fe1b220f1ce4ee2c3f6f87b1be1b710c243dfff72028681886e2b6de3b7efe173780f996c5642996c3401c563a43186f5437330721eb03e6842ba72e69beeb61836b7802d45c528eb3be22bc75528029a467b9e72c39773132c54f6b7b7b79fde1e98d88129d5107842dc82ce0d96b235d9fdf96d510811927175d21dc3a8c7b1670b509e15098ae50da5a05be150c60242d3647265f64ae6793411cde3fd6ff9dc3f8ee60cd83ab35445074a6ce87628fbac74725b401254700cac0c3cc6a3d09158c3e922359db0067a2ea9531daa9d242d1672160690b68eba17d471ad37bab5f23bff11bf529a62870b2f2b4c89632e042116ba862621f7b7c1a5fd2f2d6c33815f19d7876cfe0db6f8ac394302f6a9e88a72b6afbf862d6d86e2beb602eaabb5424a6d81fee6d3ae4d9708fd00a437fa7f352adb95f5ccc241bca42f18c6002224eab40cfd8950b045015184c2243bc1d33eb1351863ab42ce371b177c030827b8294fc71d5713154d9a0d2848ab2ee487728f4fccd1f520af16dd0907d355757e856190affbbbf70b455f3d682c0cc47509f30560c546517e84905ebffd6b170f3c10d67ae5e0b5be339fc90287971305727d2b2b2ef5ca8189dae4c7eae5567b826eb010ba48ac5cae4709860dcfcbb672828525c1a71168d3a0bbd7b113f2cfdf6e7323507bcc8944989c2e42639f1372b6f36510df08f9694623846d3c95a40b0544e26d11ecda78356b9766255ec858f0c6a6a144282430bfde455b857a29befcb4a801a443a5eebedfc97950491d37d4724ff50891cd3bbb4a073e67507b6f4e0ff29ad0110d803a933c74beb1a570de51bb94a37277f04f62f4d10910583addb7698e021d32d00de304f853b83800ad231b14894eb5a22718c8086aeb103059efcc6db116014c612b67abb4d80f0b0111e37ce47f22a2086d7f3b4db293ac2ec88fa2e533c8f4ffcb99b554b08f72d7ae9d7f52c47627406089536ea21f4ebccac03a0f662c9dacab5a587aa9b17299e06d68a355797bc518fc3584bd80dc484b6c3d0febe9abc24020ec13999472440fd99005cf683c6e129184960379bb437326881cd35984c9b88c1700e3b67269ecb9a1e43737d6bcfb5f06c3e78ad1926e6ae09ec827600381e87e5dd90f7262005ee8e71b7c8f1cf69b9b6eacc8b2343aa427ba5ca7939143c77e005b98577e7304f217368db1c4e9af1b39743b5b6013290dc164d6a093a39f033bbc26729589e705a4f2bde7ac48a268d923edba69dcf9858403857826ed3e4931ebf96ce6c1e6b1129807a998beabc98fc24025a95fe5dbe45d77345e6bb7d13a847972c461675c4969e526742832170e8baf48366949ba911c020902f6c0ebefe4ee5960d93334905de9fa2b20f647edfb372942fe17a67f4443c6e1afc563fa53153f3592fe218eb95a745c61404ccd899ba2cfe8425edf528ea9994af443ddc5ca076e4f381a7515a0391390051bf7b1145f22ee38937837d8d03107029b5559b02de5395fcd1146ccfff8f1291f6956381bb8643ea2931c6804e4a81ad109650a7201a827902f46babff4f5c20a5e6eee4c071a40172d6a5ee36703663164a55548517a15d0f4cb4f8a901d1d6b074a38588771634a8fb1b3a6119a6d25ca129069d8f1338de4ef664ac938da6a3e94d86fabf939aaa3a2b952dc65a23b4b8b9c65d6614fcca44689b9efb1152bc46682f4b2f02a99d5aa8d0131cfd56e368de61d03bcb7272211cdefd12cc4e973e74085ad3b60d9f89f9b9283bbefa9ad35d972a5a518585a293861823b878d673e2f8eb27276a8c50e222a3c9df39d37f255306aaa8f06922b75a0da614db8dcff10bc0a6816902d3c6c7910cbd52e1569a04112d22b19f857e15191e53ccc1f6b0e7412d863daee96e5996333442709cf8c72e30dd30849333ed62859d133f886699eb99c588e47dee2a6fd968fa14eb35a7284b4f97d4ee9e34d38f8df0147a616ba6b13708b3e64da0dd218b75ef9887472399044303e414e46f9338abf84db3e51b0962bce5c8818920815701766e8fa72792f9f7a21f67167749e9bffa1eb8e698bc28a848016712da5049c03fc095c4a813ee14f1248067a3647df1064abb72a59e92b83c72bf31532174cffcb926935e56f8f11af446b85256a72d7fac55a2cb6f958a8a00d7f41aef5024cd5980372686bccf3edeea1ec21c3768ca718424a15b743314f10a8679584d20d464f6c34f89324e3e27d8958d8cf7c6f91f95708a33d2c96ad167d5a1512c51c159cca7202490ad89321e9390ada3c9ebad8df0e71ddd21510de02bdd2943bfe571e75727f2ef5e489fdb8b57a8aa95a29c1d607143134a0218c0ab07fd3649de0523b7274297ea78b44297551c33da48d91df14733022f2a5e1ddddbc229573d2e0a172324350d776c93ea3c7b4511c42b5bf7ff431571e4d04df73b3560639031b84723af43dfcec32a93d8e8ccea38533af17693435abbfcbd137486ad325203e0c72b3062ce686767bb537aec3f44068d461518b793e853f3355b432cfcf2cdbd472e9ca67c0c62e7973fe7545d66aa57e34512a2aa387f6df0525bc242a73854a00eb57a1f010992f4ad24bba627aeb1b427390ffa11305610abca17b80f4903d6d61ac89eca8489847fee4d10beacd278d3a17e453a15cef6210f40c3ac36080729f63650569e3b83160ec7f61949bd53043a1b7d87a6b4412966c0b7c45737535b5214bbf5af84c934090fed4e7e6615dd0ac025bc15621ef7cb79f7e07c37f53a43a624465f14c7b09b7b46a36db1fc93eb070b36c11c2f764333c8f47359c728b26567c9b78b588a1c5b8582b9508679e7cb66e7afbab81cdef2bbae192c84c07baba11c3c814b40f3e45e90e407a783859ac7612b38a46ea406872e99e5b62ca2e28a2d6e42d7e022a8d4086879701e6b387a092d926f0e94ef0406c8d8b05b5a8ce8ebdb9c3040f9bd9b0ab6cace1eb7b3cacfcbf8b3203106894b346617288df732f90c572f78e890a83c1438aa9e83607bf665dfb9d5dc9e5e79921e172b31823dda26c6cac8808327672cfd97347867ab2875a48c0521d7380e7e3c810667453f4f466300c80e93d11190dfd1d3905428cccdad852b87b4eca09856a7225b90d025b62c372b695d786870764b0b35da02cecb88523a1fe4f71ebbe9c2e7e6c5de7aae55c953d6c65317962cf88f05f70fe6b8aca7101d214a979fb667204d50b6e93841d3b23b4d3fdf61cb58ee7ca8bfacc53cd3ed915e93ba33bd070c23b56bb484400f0afe1a19932879290870dad6925cf5b325e3100deeff6bd729f3dae9a8d36d49c04a3d32c412f69a391acfc748c749430efe74f4d3e410f72018a8ceca7ae6f644fa17a8e1f1bbe8979fe3501d2905cd71ce4f6aedb66f12d71b70846761a9be0dee773ee6365337e2f52f89e60dea99a5f8249130089b9728268ee4081eaa647905c3610f9e458357abc236da7d7e4ceeecef683f39a0472649d06e8d1b2b23bf91bff67172c4be833aca7eff43e20026aa6078eaa5e742ee99c37dfef24cb50aa80b7c35d81e83ce5c3c4c9f84c0c21d7c99da03960e61b87ecc1ed16270fdf8fd03516d06d8650ad26ec50fa8fb5977f5ab89a4453ef56b5286215f8de14f849d73892577ff3a9e89b9c4e3f663d5ab791a9bc8232697253ca178e962608b117633730619be3cb062c662e01758c15d05212284cb015728b7f456fd1d2f83d2f83df1e64bbb43699610f9961096c0cc9b3e5baa52a7472a336d43b2fcdb461d2ed867565a9e4c797fb73790cc1081226f64c2cf18012723e552373f0101ba1b4887887701e5c1ba24328fa276a7b9229ee99537a73be3c70a14b0f06c2ac3e2ea2b5a3ec1141a47eb7b12fbc65209f06726351fc037047e7ebc0c5ed85396eb14fee626d217f1eb9bf3edb2874df467401e07a7db52424169886c756e157a2cf68d0f1c6a2f4ecf35b596a0c5cab660d95c9b236d59572066e22f607946bb6cb8361e9c077570c8ae76051e7237b9849758922e6beab72ccd0626cc99ac9bf2b82df938b7427c072f9fa254aaa423b38527d17aadb0c6c4687850a9761e84053dafd28371c45e3ce32aa5f9555b5c1db688cadc7da4872756bfb8616eac6e90a01df3303186bae77418b2f4ac20ea8a86b10f85d73975ed7bd2b0696071b153aaed4d11f1ab42ed63c7e5ffaee47fd09d19c40294bd855baa334f10021f46fa66fb9783ecb5616b282bc167fc33e9b1b5321b7711a9b72fc1d0bfb5c8ea5f239734810394094526ae5af54aa17a44ef7f44a581d8afa7240287d7144b35c846dbfba57c7c785a2dcc8b6194e574d7528d65adbb490b77222ca91b93f5a725723e071736ac33974f60b5dd1bd1d4158ce6a7a705513b272d9bcf67800069d3c067dfa8a91018fe4ad871f884a54ac0ace27974a22d9e7586776e8aed2b0ab08ad1afd4c14dbbc65b3cb2bea86a120ed29c82ef60ff1eb6e502c675199f246ae80b422ad5be787ea5d35d83dad000ae8b7451b12e59fb368ccc6c34ed7d017d785a88c24595418eda1d66cf38fab61030bca60b2d4185372f2a0accfdd3a7b29500c0be907a80ee79dfc766c94b417b377c6c65cce19f4721d4f8197ac82696015ba04fab5d84c3737ba41b3568642315d4636c6d714fe72c04f2b010a367cacf319bb9f5670074b71620f5ac0c57ad26144ab89a0e5e572bb20bc717bd0c05a0c6bc2b343300cdc8c26c427349193c4b0e713126e68f54feb9827c5124f93fe9d923c76ed7b927997619d54ec65dc05b496093776278572adc57b6b543dd754131108d1465b5bd9bf3362a587d2e15bb1bf5e301b75be72a670df22adc71c24bbf158103f7c063166b7d869031cf9431cd231d15e58657246279706398d1c19a90ffb00f6f40c6fbca1252802c94206b7f8f22ee401610692b709100fc0fe13403339518f0ee1eb75cf8ba1c3318e54efd2ab8774f14a65fbf8d95aecef50816a1a62975e544c79355a8d09e1d4951c412fbc88b2cd6072ea2220e14566e73dec22a7aaf51b2753c2b5a812d2cf28c39e78279a13c7b27268b51cb678987ca3151310301b01d477d0d85f31beb177c67e2c3a42e5488d72fe946091db9a47176fdaed5183d93188df6d90fd2b186d9c8369a40faea62172eca61f2d8063f3348ea3909dbc5e29f41c4854130e790fbe87747d0f1fec7a72ba98ac257773e69ace8ce649562fb75eeaaa696e5387225d15c54c9adbdac807a90adf8bcbfa688c8042974c86dfcee606125c38a782becc976e2e15f1c59b725e8d1243008ef575d57c838511e34b38c5b573a9d24c8f228fd26715aedb0f4eb3ab5040cc7ec59e23e6d8a3e27ccd8416d067dde0d1d8ad0fa0ff43f24a177227aa8fc11ad98b85f2f1935ef15a8202954238ae0939452d543bdbfae970b727e1131e5c6293d54ee12f6082540ef8610c6502714e47bb759e3dce0337e44c7288dd0737ac2e1905e9cd349c79d21c3998d3c2dc9a214c63454dee69e1764772c1880c0b6caa495941a8de0e33189475dd0007f1785e3224b1621f434420e572a964d3142ee72e1d7c79b70b78508d18623601eca284b945696e8abb22eb5526b18014ae31de321ef3aaf5b559dd6b6324339911bddfd64d488978bf51880439f971e8684b7c6fc60a24279055087a300c748dec57cceeeae897b6adc3f45e72eb15e2714ce5437c7cb5a9b66416e70ebfed9aec828227dfeb6335bba8eddb4aa374180385851b9dd1dd6e3c64b5c174c973142be1c79d0abaef75afaf275172657f69f886c6c85bc171eb8901213c865de05bfcc403b8ab48b184540346006aad51c06d6e9ac06995fb11304c35a59c34ace7a1b70d5146dded899309696772d21b05dc0faeb86bb293c8a9fec5a1120a54f6ac9c7cebc371d526cae2e157722886744c191a3782ebfdc396eda6338266f3b36c0132901298f0ccba5e8d0f6d0a71e01b8a573a71712e8db5666897b04cc7ceb502b03e673533f26649bc7272c9fb825da1af6a0f66c43c73cd3ad89dfa0fda0fb732d74812954279ec06b4729fee0155a840de9f029655b8ff339ca1f78135c8be1847e2d9e98c0e2661277243eb292f525809a7b93fc1f6bdfe8db02688fe99507703475bf8a10df9654431b96466dedae4532c6511152f257e43f04feb0b5ede3a1a758ee1ba8fa86a9b727505bf42fac6dc4c4ea9c17fc809f4c3456fd276c7da6b32532fc249e66d927293ae89acffd99e5a465be7d12832b25591f0629007509244ded626a0f31e553915d499871c37907d074790d1f84a2638afbbe7bf8f4a3aad5c11caa2603aaa72e3432f7029ccabc9c177a721086b9a2e1f44b8fc25bbb68af1d1d85d2980d8723bf2a7cd88fc39c9d3a782b6776878ad88b39e6a711b456a9c9dcedf6cb9521d1cf92e652b4701248b4ebd6e7cb5afeaeba8da6832769ed5d4428e2853cff27290ee493c1de3d7d44ef08e3f66fd023fc1e5769a45992264773302618c12c73374634b807b526b73683031960610b5ecfd6bba816f25943efd9745ebb18e9f7248bd73e065f65dd2766b37410736f072c5325dd5784c764ce4af9190e3e9bc48d70da73537e694ead101522e3ea7c1872ffa5ff1b9829e9129758b46b677251844fc301fb93898cf70018a71affc1375fcd92d7c81ca99c2282d801c15b8381443af6b2f5633616da4222ff707b789a8a2d6f5ea5b5cc934afb3d143c2c1c115eb23989ddefc575c03138194edd049460eff765bfcd2e8055663fcdb73c1b45d9cbe6897847c964c91ec8047cbd206c560e419eaee625b82dee8cf3db8b2c272cd1cc1dfe9264eaf344114bfbba15c7d808f143e75f738334702495280dd5f725148561174696ffc8e6861d4f6ac6a9d59c43596abe6b884680803d2df6344721f7bdd0dd0b05d9135312272eee5dacf55e634f2d68409e956da751c980b58139fbbc56d6caec51848c2ba3a06bfe27d478ab9294f871261756086b029e8871dee34d746f30dd27255d842564af68e86bab7597a8090ec09adbcc29052fce07241a7166ea2021adfce872b1ba4f139d73fe9b63fcf81cadc72b32f3af024b5729d28359b7954456f95320bbc8b70d103669e49d33d512a841a3b0151087a37727d37c1ec8db096659b3b974b4c06f3dccd3f7ae1a61541e46d6c6b5d8854ec72c998e81ac7b5e6561c22ca9b1df0bfaa32070457481f19590084cc209c635c72b49cc21b7fd05dd78fc4578a051c19ee2532be14f26693b059db41f0d6d5f16083cf70f71a24bae55394d3aa07b0697e86d88d52e2201c6a2bda53376196160d34af08c36c3e09bfe5a820a2b008f3b463c0d14719754c91c0e1f0f0db1e99724c706a6870422599bdb3be69cf5dbaaff74ab1934618eb9b7cfc2d4e13a2432018a6ebe10c863c73ccc7e1283dad681d711d947e9e61a77dfe7ccb27708b4672d50c9d2a29287e880eca4538cbf2e046500e1fc5b29e7d98e60685e3ceeacc362c249338df0cd46b440c8623ca51f6ceccd0d65a368f675539e4994eea9e68728d35bf665337bc36762986b73e4d1d989c918dade8937f9707fa799c2f4e58724d2a059cebf5095f9888f61ab8b86bb0961bce36299e81bcf40cf15fd30a10726ef67825398dfe6cf702cdbfe997c6e017e1973d0f2e80051ec45c9a982c1c729df803935d2ced7ff60f220b5cb26e7bde68e4fc3b21b76a099e4e217b3f1872aa374eb5f0209b9a38437df664618a7db900b57d997626fa0f55f884f9dd1172c30f7d352f459eb7ee96194bf326df1e2de13e35f0a398fc07596fe522ecb072693d9992f30c66346ad7d74937be333040ced95475be35381462f34d97064b724dd8a11d2651e9fc5745aeeafb7e0d827eebc3bb68d199e3a445e6e66e2c5772c4042d46705d0a4c090bdf5e164d4a6b63d71e92d33b86455209b6309c1b4d1380f17f31b555144eef34e61b72d11c101d27ab0bcd04a7f47b22f039faa921725c876a60f3d1404f6d7715835f6133a9e03d0e7f0e49a0a49f9325bcda3cea17eeb3d12c5d3849ae45f71518ea8ab14066b926b8767f92ff507a53d58013891cfb969282f689bd54ed54d06ce29f7b0025f551ae777c95200cb22768dfef39721179d52e6d92dd86f218cd80df7dbe6d711def5a0b64f74a523742aa6dab91726e63c1d7c8be8835149b98419b5b7984189bc4776a9c6fd3307277bc8cefd0726ab95d86e5cb7905dd5b5b1abe0e10975cc8f0bd0258b86c05b7be400289c972b7e71c3e56342b1a222f6e68497268c8352ac33c589b9fa0bf34f58d10f708729224cfe0b5a0d39901681df122d5071554f8e91f714f92ab642552adcf937872aad0d5824c990f76e3117ac8a5ee6f88cf6c3956185c22da328eac8e39c37172ab81952e023bae173f2977073c01ac0e520f999141abe0d9c52b59be39f29b72b82599019855533d6ad8ce81e38d942210229fe27f2ae4393f4d67053416095715c18b93f99660c8a5efd28d8e6ff2098e3a9889b3217a556f626bb11682cc059f190a56d66a7f938b4a003592ce6560438e3a17d051251a523491a06a15ee722eb0ed6a22bfc34505b3a32458c4093e99b2fceafe1937c89fba340eed15572b9a5e1802346b2d9463bc81092f0ca194eb4bb1ca32760347b6102758fce7d655808b520b097d0bfb6ba20074e3c53b9febf7268c707724cb889993c81bd3035fb88aa5584f4cd08b51d38af9568d1e7b7a14683b5c27199098c0dc903668c41621a6dd8c1b27d5e0ad41e88c16e3777043436f6af889eca73970c82ec17a5072839be0231effa326d0a8dcf1664396e9acbe4fa9e76cf51f3c35758f38f27937a84020062270cd1e7518a40e2eb2032172d816fb55fde98ea1cda63172f54706d629f6f6a8b299ea9b127abe224a7f6599c93d6e745fa6149fb2d83156c90864794b1cb8f891d1a4b70df8128ef52c7dee4f9d1993578f88a8b673a507aaa77286264c3dba35eb531a40d2c49507fa65706bdef23a5aba23cb91e3aea5faf372a486cce307ea4148d5b4c010d58e0184b3c5463b1ccb71067e278ab5429b80563140eb59f86701f07d6ce2d6fb3efdc392eed5d5440aaa5d975aae526618290d6af8ef2e10ba11b0d65686f2f0866c1473481e84bb8a06c396cfd02b3d2ff37229aab21d2c3a5591b16c4a0350838ac3f1b98f586e993fdba799428b92a2f24f527f6958d922752f23b62704bae5190add8ad91dc43412a63a841d987bbd9a72cc1f7f41104405469ef2c95e5a9bfa0ff54085efea82d84b3e12ea03f20236118a97785f2a6ce23fb2261bae96683c6a82c291d5947d3c951cd72d75a2b5767281412494440c5a6b16876ad06292f06ab8e2be7100610dcfd6e82eee653ae76980863e3a64ebd8cf134b05f1cb0b5fd2177b516e1162e736ddafde91cf461b72bf26d0ae12928f5b379dba2feb622445083fa7114054422d6ac00bf1bb4f27726e1bc83f45fa16e5b191ca448677a1e7fce023d073fd53dd1b311b9c17729c7228ff896785819b3ce5d4248d9cc16cbbe232419bdea0d81b46181fdbfeefcb36b33f9f11ff5bbf926fa4195aafb0e7d09b1665686311427e98b0c65a4b10c4727801da694dde5d7f9b3d20f83f1e5fd2e732dfff3ec088590e2e6c6c84659c72c5319f1ad23f5c3efc7d0fb56bf0be1302b0a1cd7a172f3eb93ef39f75ea835335a6d2787d73c52e2924181445508418e27cfed782636ec3fcbfd436cc0b1372bf2b9ac919a24cf9ad4e5ec6e994d8dd12aace1a179856a79cc6612632d8f27227c35097d9076994d6135c2c0b96977c911195f35640eb08aed2f271eb9bfb2d9db7147e9cd6bdff3213791fccb91692d36f3755643677a25d15a5cfbf1ee9238cc6d4b046832b6de1ec68fe1a5932a71030bb07e91137e93f36d994b0a98c72ab7b843f8aa6fc0d29a0ed7fcb4e97f8393cd7d05537b05f684672be26f992720c45a87e69cf57fb56f0b8a10d1c1cc562a766e126dc6f2bec59dc8094e4e4151641f866594b161f450a5524e1e89d8fbfac54091d768de6bfce383025efc372b2d3ccbd80934a359a1202d918c66b2cf81be3216a0da569d518cea8c45af7725922c1922a5935a1d77f0e654fc0d24e75337a03bdbd25958dd45ba146cf4d118bcb11bdd4506810d37d28b8cdca26a05859412b1daf7933277ea6f8beb2ea7294fb1119988459c30e2a8f99cdd94ca238194ab8121e5ecc0196c2336774ad191505d9b3726ffacb01a0a6a47ba5be2c6aefcad38b9cf3e4b9322b08efbf73728bb09c19c62c8f69bae31d3c4af3302972b518e74678516d6d0b4ba65ebfb317c5d9a27409573d821e954db86390bcc512055734b739565a4fefcf02a8b149723dd6f52af7267520ee4f5991d98811a7d1e420d3ceb5135a7c4c3865b1b626726211a6ab97efd8926ed9281d6179bd2a6b245eb5e0e57723c9f87834fe4efa72eb3189d8cdbf09f6169068b86b6ef7917c5969d6a6beda7276660fd0156a4d272653055345f2557fa4b44957414abdab8dd56acca2f87cfe6614028de104741dd90219625e4b58f3b91759f80381855c6ccc6e8be9a8da214dfa76389bf7bf7212424bc8ef74853c62eec6600be191a059375b8fd038e82fad260a725f8e4d725394e00d35cee3e12bb6b83c4f0f8520419e6276aff300d56985b8f6bf77ad7200f45c389413aa36e1b42909edc3caeaa29c70ea6c57c8c4c5239ceff1799862862cc56f7d9aa5724c54278f49a9cc6fb0a7e7ebeebac8e72219718bb0617e08b12d8b8bb7b0690377f72798a95a32d0208374e205d2f430eb17417d57403b70eeb1cbfcf806110c5c157ddff86d46b0391e3c2868ee470e1e47549d02dad772df1534bfb83d48a30e859bd78cc436b12b9f479fcf6368bc85a30b4a0dd310727d6313e733de84998bdd2a20e8b344f7cca1ccf8eb5953bd45c7957e202c18725ccd14a4eed4275d443fc56b0cb2c1f58f66865b462c7294c8b76f2c6a3ce77245d5b9f218635843fff9047364bc4365dc7fa162ab46a63035128a1d043af1537b20404d12d8772851c84aa330e9f8a3b7b83de50c12dc776d564a3d9cc0ce72496edad59f4560d26ead98db159d974e174ea334a64901eeca3933b25ca179728feec09b53d4e1819f3b5017eb832fc3009eb52c9dba2277d925c27281636b7272041e11285560ca16b535a06d49b301351c1b4aabbf2f7420d4f86fe0e6c27281633f7a12ea043d0883464bc9ea6c65e674bed77a54f3d21539b7b0a3121a175215931ebc1d5831797ac80dc12f473566572526309744e5746d06def608e872733c5c0e902cdd4947d4611cb6e59a3fc64ba1502155f047f66ae246f61283727fc18f50aa8ec4a00a230423f2ff31afa72fcca7d4f483ba5257eb33b5ea36720919f8128d9cb82a20cdb0b1cf18abf076519ec643b38a6b615d652fd67efe64158778a3e3322ec7df17ddf76a9eeca0312d945c77b3164fc713c209c2bb1b723790cc0ca87ceae3012ee4c76c75c03d6520fda04d69d79b220f39d9f4e6a8724c962e5d48c416e661a9876cac31ab17e4bdb291960828f63e0d4c0f9d7762236ab43859ec9b4892819521a8b9fae040df2ecbc0c53e97afc6b730aaa2c2d17218a1db88353860f09fc12265b94d5dff6ac21efc205bb9cf06c6066a578f99724e75eb867319a3a44869e508a923916f9a6d5597452ca222d3e8c518d6a6e172056ca654a6014be366b36c91c464b513997a20a13d5f9a92c53b6f82f6de85728aacd0a8a60112b1f3feb094cdf3bfeaed6a83bb1af2eb8ac8c43cffa6afbe043ddabbe927b2f33d04bc07e3d80f91a5cf98c40985b267553d2d7ca3f52b9272d1794548072633b49f2243eef5044e1b00fd7f3943a161ae1aa55e3e080ff144eb57c4f8d6afa2917ff4afaa839304c0bb3d34d7ff57d47fc74410f3897e371eaf7e4de78d33e25ed7b15e7e8b0c991393cd271836d214c6b652b79effc47430fd598738231e2ed3729df4277d4f558bff49ba61fe4c107581c5cf41a3ad274de43af3dedf75ad76cdea4ca0b20bdf38860d918ae6c5d197026987b58365f672f004485f2ccbc59e6965ec11fd05d619fdb3e5e93ac1ec1194d45a614fcb63729019b4a0868ae2d30ac91209ffd8b9e8e2750842fe06ec9e036148140e903b72e8bcaaa1975d7ac494a5ddf1e2580602aa2bc12db55f212aa59ccce130069f72044c2869dfdb0e529bf01086807036e59adf7d5ca0bfabe9036f6da8c2214d2fee4887e2b6b01562d70e03dca24b3679f23047f1d2e6530239acf6bd686bc33f63524f7724f9b54680eb7a27de9938273a80d3ed87741f4207780ace6fee7d72c0f05ce098ceb497ecd4488af2b3f538c4dbe8e249331c06e244048625f05d47a0c2eb9ce76307495b32eed777adf398cce206a2e20062b0092c15c8c0ede672489fedbefa7049765d07c376f3ab1cb3a26b9840a3c250a0d47ae71a5273c972501d44cbf47a47ae657ff01095a9de2b04ae88b942629b40df849a5ad336780b08275bc210a0f2536d77dc7bde03acaab69dd5f4c70fde234311f45bf1fd7472a0150db03ce65a95243716757b5c510dd1005c1846fc615119bfc9636ba99543828bf0335f646f82ec60d8f53a21b827f4bb574a99875ecb05c5f00959980c0b2e627b82cfbada8b833e4345702d190e4eedbec4d211f7a28a9f637b17e36f39c4e1857b00180d14c068d31b619b6afb7305ea2f0af90692b120d166eeb9465e9fe1af21eb21a3ed7f3b9018e6ff6c4a991ca493cd7fd466672a1abd36b1da725cfa2ebf6335eb08febe09c17ea812e1468117457771233a7f30c629545992728a2d4a3ab51bbf6b2f5243b7a25bbbc92dc2d1970d95648854a5938511505172ba3a1b9ced94c703421b0766a0b6e4d1605ce406a39631aeba3b09f12e29a07222279dd6431ecb5852a6eb67ba01259210155b6696d027f15d728870aa02d927fcf64e8b7b7fe681fc5e286818b54ea216c9b85846c9548ac77b13e063d20c722481f351318216058d361d405f0ad3c40f7911a19199df44c88383ab8e009b72638cc4f4c078b9a1eedf74892fda303afcedd0353e01d19c8c7b442e5d985f19da673a62191290b408467e8f53329a8aaea4c83e3ef71ae9e45ed08c460374723cb4f63095609fd6db47a15343d8096f4eabbc31ffefff25988d007aa0666244b159e35042dd2b5b1aedc54b90172a02d337beaaa99890135f71bb26827685722b60d4e9b9c6885d3c10cc682e4858c7dd89968b4cf6a6ff7d8c719df4bd897297201272cb7fd87a2f13d69c826e831a625e2b9f4369ef1e34928adb46d11f724d05a76baf235b4cfb4d41ed7943d19ee60f6aaf549e0cb73b6ae03e1205880c584ebd1406a71f6e39f876babee95d3697a6e7704326bfcd0a4dd3a85cb2df335d66a9d6ae44925c72b0f49ca2ffd96fd3d9334d907b69b4d7970a2aead8a03ac11897d9f7ccdea94fc5a9c961351bf45a1c5f4076e97248bd3320b9997a7a3202754fc52df31ae2ba6bd2d5456939fc14c0c08ed2f8d77b0475d20a95be9c72d0afb2a5bd998e43339c09fc3bbb4b4b5318d09dac81adf8f48e47aef8b85f617676a08ee56ee4a27527131355a1c590a8841ed49ba60363cfddab9466770e2160f781c6788ceafad43bc988613508850486e76741f2367545af399205eece7261955e5353fd539abe155a9d111e3642d0b0ee076aaa7daa7a94bb4bb26ec14e4329b6fd03ec53e08a775f4d776abcd9253b100cf584d337ffc802fac12d1e72c387e507015eae206947e431ad536fca363df410904d2311a7333c6fadd1ee72aa47f46211ff32378fecd205199546f99b49e048cd9931c4cd6114f37771c80983783884407bdc8bdc91c6340f2c28f2729249525b649ec3cc1d49e42a3102102d30a7d5b9be0599b0d66bdbdc6b546eb5d7fa9ed56fe187952664647d04863568cabcc796d8e9642652298dd0b22ea7fa0264f96bec4a68de28c86b76a7e472ceef0ab3ff2949672377820f0412e08d98f8f45db3176fd3f19cd00d78fb6542a21ae6427bf51f3b2b656e719a0c31d39c0d4553581f2632c5d40336e3e37672e7a76c39aff2c6f879651dd419562ebbaf0a84e9bf7cbb95bb9ec4d45ca4f66644bd4a11965c3d674ffd1706a9a14b9c4e27ba4f9266edf39aef81fda759f9725da404b76fe6e3d51ea09623acb48cfef00e7c0ccf3117073aaee3aa2edf2272c4f75c606f4ebaa002c2ca7ada1450af7707416d2f30279b1f0672f3b1fa324068df1dd434cbe9c5d29665ae790a0824ae0b385d15741e6587aced07d2c37b72af8d8270e214791aa2c866223d1be62507fbda7e3a78f3878fbce378c68e5a72980571fbf4be6a2a895819e6256981a97fff243399afa73d1190886e72f08910d622e8b231feacc9eee12a7e30fa0117cbcf3e5922520371a9f348d67018d372b12eafde0b8a9e43cb41cfe6b92a70b56264b144ae3685cda90851409365ba4493355cc9d709e4a60978c8fdafe31e67d65bba9228c9e1a9598c995ec04cdf722e00d2c6af0f550134fb843d7086cf759f39b0957d3573807c55addaf9f77262eab185323c2299cb5a645511717caa1323e8058a53756ed38b443c4e1d02067228efc1f54210fc7d1e5f5c3b46ac224acc3ea3a3a9c9eae395e2a5ef7b275172c232ed33ce395745b89b5732e8e2412912276af51e7a1bdb14f60d2d20e1167292cbd51236d8455e2d3a3af09a06108b01d951916c8c2ab3f3cbec5995cfb272fa1ab13597fe475d9c63eb851c43a57bf3a00c17dccdb7775cb45224bf83ce1902335c4db424cf091944d77e432a8979f727bddb80b043ce34e2149b9d88c4317f78a630496ea438d3c9c202d86ec09a4325d19beca14dc47d663a707ff0b531518be9d78b3ca672b9eb877dd230c72d7f682135ee27bb2f1d4dd40343c1f06e6a16962abec6ec056fcd382a59a0ae63ba70c5d24b4c0ea80287df0f3d6005728e64dc49fcbb0d1f2f5d72e73367b80940654088f742d355a4ab8296f2afb43e40f473f851098e7159f2dd8bc84ddb01019a3e7d5e0c06020aad2266b0808f4c4d113a3e2601474635f10b620166ffbce8dae98639871f05cb0ce167b256e27225fee4b4648e08b80652d2551574b4b31fee70be3a28d2107593a3d976694a22d45e3a2700c14f791ae02926ca38487326742948651d78a1b6833d10b75faf72f083c6b6a4c73a222d36819e3bc7f3a3b87c11c1a4d257f343a2f7dae923be0bfd960d790e4fc06cce63839948ebf3392b20ea8e9619581a89fc190b4baf8d46137eed677d675826d5efa5d42a831bffa8707d16c1ecb24a984d4d96b729c572059c4237b2253586ba04888ef0d159530335e6b57b279c01cb9135741ce59a53ff3bdd9f1a93924df7f471293d28ec0d8f53c1c2c5fbbd2dd991961b4bdaf172bb2086e19c0cf3fb206e57e7aab1d4f5f01b21549019ea90796f2be2aef6d442bc407a72090df2797eb540799c018991596541c39179a9b0161e21b73363761854951097f1e1ca1c26ec9c6c3c0832fd0d2fce1dd9ac1b447ed8b1eda972a3117d358ff0d18abc76b1a54e27dc7c48258f620b1bb9394525a48e5376dfd9ce72490c8068abf79afa5df89afa66049b9643318337d967484f1389f2f683d0d6723e143e7a12b9aa08fa59cabb2b84ec29905f63bdd6ef97309a81b775f8ac2a720877dec6febbbcfece3ee5c2e6fbda53a3af96015c9f13dd3ae3cd46418157720b73828850514de17e4d99631a96cd6a6a0b273cef07c565b4554d17dd298972e207c90e92aed1a33e5fd44c19def847ffd2ef57165a6f457e8730c0b0720511fc83323e7e075e13eec250d901ebb06c059c383db365811c09f3fd0f48cee30240369db5a5948833a0ee0b14f303b74518e08431e2c5612a198644e4126f4d72b47e30d9ebfd7f284a46da6a3cd0b1e851a66d7ac56a4cd6d9244ea788a891724bd5e8f8ede0b9e9abd58af2e140cb6a200febd4b8aed7f84f17c3ad0eeaf6723eb47dbe98efcfbce01f06bc76983367cd83c9e4294e114ce5074514ddc45972e7cc7768d8f57a1b54ed3fa7f227d64af50204ad75fc637d74344c7bdbf3417206612762c3489216dabd4ca2174333b636b5fc4ed28f9bd4f190656cffb27272b3c1ee5c86698bd5d14f2aba746e52b926ee86791cfefcae1c794b5113c624648d66c5c3eec1850cce3314d46a0a79be500db437d86dbe2e8937f38c23c35c721b5b409c1588dbc738364d8d1ed417119468d5a1bb194ee6eda2caf5517a6d7206528c0d79268b921678b4b2cbef30f615871c1e381c52e476afbac930180b72dfcfc3db5b2765a0044d47da3c914237ec2d97d3b0bbc24e032788896e09763e029a21f65e5a0d9b15f60864137066fbb7e3370e0bb06c181cb62b1b37350a7207f5a898f0fcec0115d9b83cff6468e615e84e076360673051d690d6918baf72683e2c1882f76715426ac65c052f746c41d14acfc0eb31a1e01052a6e076d372fc8ed290bc3e44525fdac372bab12abef8f5dd7d2a542499cc23585a9902e572af2117dbd1235fdb1715c27f664b57d7b2c41f7850d6fdcb72d91e87e9dfd1724361e32d4edfd8502d1f1711c5e36a8b55364028a1ce797cb532614380596a7237b9a6cf01e31be158a9c6972185236903891fa515c21a88275c3cb5e05ec63c2d30c8fb9d0e9a6604440f5554024a0ad37325cc55ef782856983101fe3cca19b11f8639e4ef1193ffe8ab20fae8167da61c47040a116f081471dc63124e2e7221c95dcfdb9d8ddcc52d96033bc6075d1b6e8f3ebb7353d3b0ed59140b611d721739391715cb6bd0aa0813ea70d2deb9b7330ca77c47c5f115dc8c561761d9724c17af3308c1533d2f6400646b6488cde0330c4248a97229d6a9a202f445c83ea90b2f1858d9a1d3fd7d9e12cd53ecb685b5423474d46870acfd772b0a4fcd725b711c64b2ca2c4b6deb7c78808a79c22676749b214c068291cc4904f3a61c72c540c361d7d732332bb53ede719f07ba3b47aa6b9e79a629d8503d01a3a88372029643cc212752be7cb90fbab2eaa422e1ddafd93c1c4d85b7be17614d167e72aa00ffc254bb6238d712126114e8cbd5c83507c8d9b7b5f1cf924301b7beab7251c8ce8870c476c0b7a2f270308eb87c4472795be529da61edf9a2e07365a8729721f05046e841727465b717bfd51cd036222b97cff8a7d7e3dba6523fd50e53f04ce7ced37668e12eb3b21f4f38f373c1d1fecc2e6df36f1b53e6c0dceeab723b993c2bfd6e0355836f215703556edf9aa9314a87d397d893ade18d33738e72e2fdbd48b6055d310edfc51ba47a4e55c0e8acec04163a73522902de373daa72c8ee03200ec2afef92d45ee16a8ce44108481f4a0ad91349df4b7ba71350ee72ed92c505f493962e9999751df24bd1fcbf4768d1f35e075061dfce91e2bcd072be45f8a97e53adfb19d15f595be2acafc28424fb8e2121cde6a1bf145809607239b507a69ef295c2d55124e992bc23dc4f0f19cee1c69e19b43ed4f83e6575728dbb535c7521369cc3a3f6a53224907d36a2ed553c1912c44ed9c34a727fee72c23f977208008409f9fa158b21ca870a341e9c5dfcedb0c432a51e79c55df072ff6acc0da7e580bfb4d715479348e52016386203e54f891b2e71abeb160c505589a93bf6df21b847475c89ee8bbe38f290666e032eae2baad646b706b580c20896f7c31e24f3fb0f0b81086a872aaccf1f26925af9dc212c7a10dc99f6478572c4c304ab99f4461c6b119cc42746351ad6c19c21ebe719446073d33613ad0d72d8a5ace4644d9d3b071f1986d3ab84c917fbbbdc809aff3c0c577ba09b6c88728842198168cb7a2c2d275f61693e249230dde2d13199132995bb45db2fd3021b7e2cb6bff817681b4a474e02528f74c5e8fe850a91df113c140e8957cf42c3512e2dc16023e2f3e9b9f8295cb8ebd86e75bbbcd1332b65a5d85cb7aa4f1f70604e32fae669f6c1e182acbdbec9c636b9d8e1fcdbc69e56ad14fb680483227f72ac2c065c01ecadf1dffd2209c9f2f4ca657b595d0f6c51678efe7469a6b35a72303d85cc8510417a97395cfb453edc965b13d21f18724fa220d18f33f7549172e4ef2d3ef6618ef0c0c7f9cb9cde877606870ce0daa1bde9c66cb2f26154bb17d230bde7b19c8a89b7cb2e7b1c9b5f9a86d66c2035c8d6f6294ab13e1c22d76b602a69bcdc8d268cb40ffd57d2d888ea427d75cee97dfb867e32b1ed47989c0068bf82cf116204f1ac9f8c73bffe36208100bb65aa1f89050d4abcecfb6c3c7283ab178f2c25513b5e008c3ba67ccab6802f8d13dfb2a04733ce9e2980b8983a9ef99165563af696fd37fea1fe6a30af5da82b8c34cbb9673c4fa3287fc55f5e0140e7d46c428fef3664a9e83667281c249d849f4640685558c827a1881a3f13d3fbae79fbc1d7960ee67aa3d66fc00eb8bb6375db2668c9248c1397c7603b72206414c0a3cb47040d002ed52592cafd5f581b21322a379d224c67e9b4a0b43e0542b652e637aaeed59b2688d3e18a0c5dc10a3099ae11b5cd33099a17c055365fd3dfc1b59563a93ba588b67e46f48bdfb9a789c320dff51ef9514b5a6d404252848ed881e65e609a9a962517eb7a1c4549f3984b002dbadb27bf2164dab1401e7630d4fed45ed5a0a7e0ed24214fb1d00dc8350cb0c771c6c3bf5e92924372a9cb956a0db2e82c226f1ec1eb56433222fdc7860ca6c12c9666d9b2abb4837222c36132ab6c6a8927b8b1e8caf3696ad84d327f00b61cb2ce8d9f535d06061e10fefee216b7cfd9504eddc157c4b4a1c310ec8fd850aff457aab2fe9bddca72dd565fcc7561cd37492c14a0010910f4a2ddeacdd2c5e3843f9ccc28e668c372a45e5c9c835bbb8f790fa713fb2849601499848da69a3a9a49126b15ef509f7276f7bde4d1b272853369ae0306518e79e1358bc3b59a3d239d81024ce6efc72fc1b542a89a5e8e7e262b83825b560c0fcf743e0d97cc3d829fbcf0b860f84e6c48122f8c00a8d9d027d4c12e6d145939287b7b7a52e9245428b1011dab91d27205748c99c9cd254179904e7fc17278e8e7c52ed959281870153df23501c05742ad5ebd952ede4525867ddfc7e4dec008c68a6818a7a8a5a7acb9a3ff7e28d10d75cebdcccb7a6d9842920fc4640c0ac1b8edebc61ce11ca2b6d830056b870608bbb4eb8516be1f55f51ed7a49e50f2ec62810c47b68c9a1a1146b83542244e72abc2ce52cad25b87081856572caeb1f3618b1460d097096ff34d5837d7050172c790ebb4a5346bea0358b1bb2bac7a8c4bb30c4906e3cc380cd4e2997cdbdb72a200f1535766cf483dc26956ecd6bb7f24aaaea8ef62c1dd604fa3be500ce5531e1aa397436034aebf760a9a2b920b47c16e937184f6dc31b7c481257457ce72af9efbbf6767759e83ac7fa4bc59772a3032bf604844f6fa8b08ef800d41d1721ae747ce4e09bfc5b3753f845a20a1a4c2fbcd57a253195ff1c16a405a64f54a3ec97e2e2ccf8d37e14c6d64f2d38dd0626844667fef28ad0a67271217b7855a341df8cc24bad852445e65fd85c82c986c8185661b140e5d15125dd18963794ff36092f525e1016d7a38e76aabb1afeeb754d7001c0b92a1ec94a1d8adc35c728a83784118090b5a0aeae15304e38ef8c1ee7d022583def2bd288480eb0e0a0ce89b55bb272f3bbccb68aa3edc9779171fec6401c7eacd9972639ad6358034726277bc719488b3dc7a1d240a74d85dec5baa5f0f9a503a2cd992f23e85880b699b8c36c43a1df76a3952f7fbd48c8687eb956fe06ec271ba095f55d1e0d49472b83ce5baaac55eabbfcbc4d8a7204a598c5100ee2a9079dae7c3f221b6f1c66fec26bd48ce2c63cbbbf6e541dfaaa70ffeecc0aea475e5f75d33e6564502ba722a34a3ceafb2836e8fee7182e431573f533ab027740363c4282073957084af51309caaae9fdea6f622131849b945898314d5cb23f8da5c5b19a06743ce018239f0fa55c9aeb9303e3e502bf6545e6b39811d943fd150c99d8574103657e9fb6e579430723084ff4df8acd03c019985c69f36a83e6dd63457a80de4f3b7e30772610d8b429d549ea0c4af0888408426c3d7be883f282502a002d563a8cc8f3f6e0f378f5481c176c1fe8b44c4e0224b8377388b981b1cc5459e9df392be68aa725ed56c9f414f0980be198ae73bd84243558304499fd1702eaafca56b352ca52daa9c6541c01bfeee2b2f5b75bbc40255315e5bef73f1e268c1a65d29d3f5a43f5471e7f83284ad699823609f82d9b3ae538e5522653391105ca415fa90c92c584e4680111b64da283a064a2ca8c1a5f889163132d4beb19680d22d66cb1f2e727377a4059a9b66de2776b69ecaecd8dbeaa9c4f2e7c94511ddde1f9ce399015fb7a3cfdf4cbf6ef2aaddaa79851e810069c6647be2dc71b39cb19f5bcaccc55c65c020adb35366c199985a594f7a9b4dacce8cf248971ae862fc4ef00807682e14ab564d9e0fae043e8f9550ef1cad7d80f966744fda02cb352556a83806060af57c610f5afd84ee0be05e7c7df920c2c7b0c4f7520627107d502c601922bd3b21188c72d0313aa540ea83610265fabdf9616fc20b3a9eea0bc738c6d5aaf427273c92a2c553490f12fe7051951d0b84dee99b49183bcbe68cf9f60b04dc79728500457816eb70ac18c8fe7d8deaa2a66a9f42650a8ce22c39e82ea62f524535990dba8c53df8efb59ff1f17d36e9ee868f014e2eb325ade6a03a721791990724c1c333de48f69a5eac9b439d7a197c070fcbcf729e3412430477f77d38d1b720802c45dcc24b879e3c970ced3e7001f748e3d41f257137050245737f025be5c7d991220ffe045ba29cc1fd800657774f3dec7a64a5456c9b3116a7e4a97e272e1ce3ce520098d1a27aa87fad9890b64f10beb9753ae8ea0bbb885526e0d4672cda8b2b63b48d4a7bc710236f217e3294c27ff65bfc50fbcb23452930fc7026a0aa34f19ac4151c1fb381bcd5187be8952543a6cf4b90fa111c28ed8007e627223b16b8943948d3332bbfc9c5ad1e6d7430d0185338197cbd0f8a492ae1778726eb7ae7034af7f1f99a45746f3a5033f4ae1f852e057098a721224304c4c5922730fb2ff834814aef46bceabf72e359dba402b6252095f488dbb8c879cc7f972e087c6be2cfb21c9b46c290a8e1542d3af6517302bedb322ffdcd44c6d79f2727d9f98a191ed386aab8e1376a36b80a8e12841b746bdc98c1e1fe0b0e63b091715212154308590ef6f3250cc384657d229de1788b633279e2458800d511fea7269b330b15d69dea4eb17512b25218ec149068f7bb97e409c19fa1cc7cc8c4c72c68f1342700aa0b273cedea7028002277ec9a5e6987667cd2ea4abffa1c1ba6a82f31fb1eeefa66e3d5c995e1be46d276ac1a79aa7d7695b0f0a6d6079264872803dcbf2f210a7f1d8af90f7c4da0b1d40608d80b2eb2a2cf816fe48a9af1f72f09b5031386b9460a9d8c47372f039585cf7f0cb1729b06ab8b136d1d62b081e3b11cec4bc1efe924617eb4471ada1334e6b64c554a589a05d3ad6116cffcc34e329856153759ddb7f51365e34123f93e34672c57873fa5890079e05f8964250a10908a44eaa71cf189b519e0a2b66b820e414a5220e4105e99880e0de4dfe72e0f66e0957db4815423dda6e373259587ab6eb4577c8f2f5b331cbad783b8868dff1d6d691dcf7b198c7e0d9655d7370b0cbc242e7c7cbe199bf903d4979082d3320305a11effca90a05638e40e2e841a12140b38b38d091ac2b2663581b0b3a97d9cf5a4a8ca022314f171da5c6bc894a5f0781a3f1e11a9f8daeb43d47d572ce47795abdc37aee3d4c7933ed953f55c7ca5f642f29e6ccf3f728cf5796e47206f12a9feef033e9c35282d03349398c776f07b6f2f04f47de795a8ccb3f0b24e5a3885e4352487d70a18e8bdb35db935b8974e826735ed16463888baf1d506659d37e3a260738311259af6851efc2dc09c1c4eedb8e67a57b5281ca2a7c1072290b34b330b68f22bd2bdd1ae800405d8ee16a663a7ca26ef1f8749c01517672d5ca8883f9a849b452e00b37a33f94aeb5f861c6dc50f36c1bbb8cb26c2f967262cf421397f4aa8cc96fc1e8a1d0543dd112e1a8cec6f84645ba0b8ea6d9bc72317e41dc273fc82124597ba8f976a5241097a060c8085e5041bbfa04a00c6b646a0c3b3fc5dd956eb4be2a307432b204d7730cfc2fa54c8eb52f90b28805d71b359e06517676ef4222db69a82c84c20d72845e45635d276fd8c7db5d50ec00726b8eaa44c75516b175d39c4ae72f5a43b9ba28434348c59ffbccc9b4486096062e1305d468169636ec8911ab000d0efdc2a48b87323d9756cf9bb3290e6cd91be679be6e662481b33e7dd25a4acc99787efce63d3b80cfc0432d37c0a302f037c8b18a5bffc2ec9fa08c966e619dc3a91aef0a6b26d7c13adbcb6d230def70727934d6051c471ab03a2cc085939ffe0cbcd8f839dd619bd904700ab9f9391f729c2aeb32f5793cd4151bed26a726bed6188f32cceb3197df08e3b8c26c6b26722863b04c58bea52f33bb87ae057267b0da76549af7af1630226053dee65b784294c11931943187f14125888c4d52359b33256088893a4c78f2aa541a927dfb72f5cc77302ec0ef8bd76a6933bb0745f72150e61fb8c7cea27836419a1afa8b7220f6870b16cb0b2dbfbd2bc5a94d544039d4b173a8b8f8b728a26fd76f9c53729ac1a9422a4c6224d9de1189a7841c5c65f981b47a6fe458695b61f785ef0b728a9a6e3bec83db690a64b23415781e33b14aac945a54e0f88a48f2b49fc8ba721a8f73f217085f165d5d41637381ae80a6bb21f3c82a3f6c96697fe03da34f599408960c83c69938f1a1cff91d67c06dbfd63616983586b8ea734339d4dfa8720ed81d1a71902c50c10abfb64afadf0473bfb07e02b864d7012d9cbabde621464835bbe11328957fcd144b2c783cc2585dec7fe06ed0db88b2a0ef7645b1db5a33b218c897e157a68270f1439a14a47ff49dd4d421852e3197a654f6604fac72ab2c94862149a94976d99973daaa7533f70fdb1edd0812d7fd2dd96812336172ee1b2225517a1bbdbd60947e586d932e1a17a626b2e96af6bbf9cd742b66b3150234804f7674060369ebba46415de5582d00b2ac9dfebae67d9b363c3f8ff672f970a65d59213c8f4be9ef794d2318d9b721f8b7887f82918db3dd1f339aa55400672effa3a747dfa4f11ebbe23c709f0d5b9a8a67eb4908c30f766e5f032272ab5adb0afe4647927db8d0dbe319b91ecfc5f171207c2e0cbd95a46eec03b40bd6df31abc3d831c39c7785d8ec35c5ae09b3beef1ab13175feb86945e7830e72d0be10b0a0bbf983e5194c60c513d0fcbbc653760db6e6cee3a21eec3bc45250a997607ed2c0bc9ef20c915c5896a0c9e6aaca73bba96d80532119176decc9722ab557a11c6fb54ac32e933e8f268897d5e56af286a62e17e8cb04db6e1a7c3ebb3af0606a636f2a59d2d04579940961ced871d8dfa3b41247997b56878c201b3dac5492d5e505bc4350cca136542bc5a1474fed227e109207513706dabf5d5b3ac7bfb3cafb94f18755487e968f36c6cdd0590238088313859e1f535530762fa8b9906b5fa7bb4be71f24165faf0af863924281139a4b8d798bb558d8d8823b2db25190ad18d7e507449f1ad25a056f23065891f2af885c5b16802287048b270b3070d73583975d5db11c93fa2dca93f5507e1f8c07a083f02558d8430373724706a92e1fb648cb3960d337dda77337d382cd4f338df535f22479fbb4838672d6caa81ee921fdad59ef75eb48b4d03e278ecc2639a0dbbc44e886f5ac93ed72dc2e5a0446d7de370c19f37f5c7070d3ae49a408adc1df2b9f09d4a0a41a9472edd8ae938f6ffbc5f3eb30d69d565848be523201a7ee43b4ee4356ef35f74f72646f195e22e7875b20045e80925b02c7318f340b0d0cc137816052961fb65c547c4721935644ee13477b8dde987f0fc9c5129d5d5b1e9103eeb01da89cb66572d3d9b7d12f0b3e9a77d3bb5eaf01d64dc20ac5ca7859715e714a7bcb9ccd31723c6fadf4d358146244d52e3bcda665dccccf6df0773dbca1a96e8690472a38727a7b37a8bc7244e5658de076b442cdb29b5377ce591b1020eef95523206fe6048d6841ec968d0b42dede18bcf4fcecead470822297ad808c676ce2fab91e5e72bc819468c1c7131440235727a2ed421f9d3b20275c1c8928a2b1b3a0df77c41fc197cb88d307c1da4eb1e6c62065172b0d7da0eadaca13306dfb23d584a70272864a7f4a6e431defc2ea0b30c1d4216b58fd33427d2a0b296c26c6648cd7cd1162e644e03ebef0cf362ec98b1e88e191632c87f33cdb2eba1e66184243386a38685cc992bfe88a9af6a554c73e289c0a8178c7572c67f2633d511ae58baca117d8ffc00f90ad37981f97c654bd9e021c6b3a910ecec1e6ce5106a7b3b33d0a7276f20edbee8ec92804ee80120e622176d4581f887dc36de2fd110c29f7cca926c2dd016f22c8cbdc2cec026ca8a5942638f171fef1d44e5bb34293e0648dc63b3ac621bf10972118ac38388c14e2abf2fa479e6df6010f4e2df4795e79795c53295cffcb638804b352b33df132ac3645f930fa61a7a9757ae7d93b9222d26772e1709a94a578789fd99ffa8379d38d0b747bef0f8eee252628b8adaff0869b33464123ab758ab3a3f61a39aedcc3ea0307d18fc80c17a36cbe0eba80671629720274a83c675a105227b644ea340401431ea911342e90d878137ff03414bf3072822d9dfb5558cc76ca8d676d444679205ea12aabb89922bb983acd8001ed7272669fe7a6980759087de80730bdf001c156c4428eaaa51e009b8cfa30778e5112e349cbfdadccc360e2a65b2121c30a16ca5cec2500adcb98f8a2fc74ebf7461720f5dd5532f2fe64243cf751fc0ebd84207cb69ac300d788b04998bce5c4d1720399a73b2452a244a476be97a55718136735f484ef1895177b4546c67965687227c30b3c45253a4ae6e1fb3186d442859541a0e2db8a836b088e14fca0b6d47227630ac21f24dedc37d62a9e4848e4a2d8275e6b58726f8d2a50da07d0e280725cba412471e407a60d77c622043416a2a8fa2701a687d7b319ef249f1ed035729a34a12f461c4ae1c68345547def7fb0db65406e74d01b3f5ff43291ce88717297cbbee9e20e17332956ad19ee8d55ab7efa7827b1134bafcb58079ac9d23d36dd3cb8bfccde680f2676eba916d437aba323c939a58a6116a39f10b5105dd86048ec006bca0e5f157d5ab38f189510dd6cd5fa0227690132ef4aa240db014c625b6ef4ca31c24393e452a84fd3975c36b07671597f227aeed271563e90c45c7266fff8e5ea60a2a878c9a53f9ede8b0858ec4af0880931bb3f553a518f38b17219628eedc5aca3ca2211ddcbe1272c80a030837d64770b4463596a5dd40874721fb8f0af8f77556a43ed973c58e5cc6a66a347132b554c0cf710d7cee862f8728111c9080a2fedf003b6fdaa610e6550ac141e74f549dda188a3877f2b834513bafde168d59149d0adea36538db35b27cad23a747b0023c7b159d9fc2265b136aeb9c2f12a82b2f7e1f7e826b1845b8d38727b6cf544e2df9939a2045ebc55725237f7d32226211782d328081283c898893f4ab519e128e5a51247a2562b191de4054b8915b87c488b03d9ba28d526beaa153241e859bb013bf1153dcdb6326c98291d128e2c8cc454ee42462650770c4fed8e960d5ef5c1f329a54609e1266ff4d8b342491169f75cab353f99adc3475a90b1d57ac4926beee5bde3096dc0723b893d64935529444ce13b96a41b1c727ea0069a7171c51b2c99d72395629372d61041f4c25bcbfc99657e16897ef3dee585275cb1972e43e761cb1107b3fb30483b77551211b39b9f9a5f9c7d5c1167c4601a56e49177f322df8a8b731b75729ec326e8c6be8f220e8395b0bc06a1c89c50d821f939707f8d0b1831fc046b723db19abd935e1c46587c8aa8ec5a25a65bc46a34be9dc9f6eee68fc875930952bc14e5619aa9ce9ccaa7cb134af0861c22fd6df5be81bdcb3f9776eac1a33672b087643bc6f1766b00e066ff4665e33613159571d07b5d8c9595afdc9bdf30728201c66ad25514fc14f32d3edda5330da3e5cda0cb9170e0521eab2afbb91372db56302034678372bf296a9235debab9d55d81bd3681829faeebb5c4344d0e72116b7964731174423b6ff3cd62cc8c4df7a5904b7628291b9e2ff24ea044447216178530acc6fda234474303a970f6b0a9093af308d22692a7c89e6dfc7f1f0d01afe5748c38a79863a4a4815d3f0ced3852fe8e8d15bce374f5ee4aded8b60382f7d5ef7447439c26cac1dbd5799c5da7a2099908ed63f8795721be37bbe2720363d9a3bfd9923d62b8816cbaa0a576ddc850e9eee00371b6d167097bbbaf7244f0b0bdc42b7de08de8f4f72abeda4ab6c5d82f0b3cd9b834b603003efead45096f0bac0546988e3a3c3a44e8499027c697a38814ceffea6c9bef82fa07d372f4521eaa8ae9e28cbdc2b92af5195dc449fadfb9e1864d07f9b001b0cf2b1172f92cf6693692f048a14a276ca9b2783327f426ed86dc7d9dfc3318d60b5fc14daceebba7938e60c1b09f3b578acf318736c79d5ce6ba8d4291e8fb7fc5ffb472052441219bd351049c685a664fb305f80bf77e2a29ef96180ed63e6877b46372cf0dfd6641b786ddb5423315f98823b5df815d2fe670890cbbd0aa2b77dc1272a22cc39ab9c2cf557b9b983f13c9e9466688361b88aa9362d59779d4d0630f727c4be07c879c0f4c3fa127de0fd5c028095563f0db748c5f0f3a5c02f8cf4a22e5b643015f3a5b250f1de8f80eb3a9fb80983d5665ee4c84b5f384d31e0f1a1294fe8e4886d1cee8219c89661877c1a95b3b06226cebbd50c66beb8939e0ed723780283e317e93696aeec52e89cd2053666ea3334bcda0b2791228995bb75b725cb5da4c9bacdb836293a491a114cb6b4e1df2816dbe2682d17728a6254f3d253d5836a95417fc82b6ca00d99c08ccdb75d0c516d9eb0b5dbded166eb407fe727ff0ade8ba0bbc3f1d1b72680b9213c3a16351968241d43820574e12f8b14972f32e54f0b7a36335972c6e82df67727ad40aa8fa7b9b61a596ba036584741e721cb0008f5b1646fccb7b10c0c767fc5f63a6142ac0ccdc0af75adaae04cec97252899a05bab8bfa6228e839cfdeafbe1e92f8a16afc6b9e8b9f772abe472363434fbc5a3dcf1a55d12a55dd2f9e51f44e93fbc1dac993bb1f327001e13c4e405149115df83d9534afa448fbebfff0e6b823eb0ce4d27bc167db0b447768f8118be19bf2d0ebeb0bcd110499b73558a1dd4eb026ccf9bdfc8f72bdb2ec6df4b727e5caa7382cb55ea839fa38323177c3abf6bc1432e19c52a8bb1e554ee180e3ab0bbfb1617850906f48dc3e112c4f3702cef57875eee9b4d92962eeb0934f87288cb511e2d60f7fb5b260e9a9f8d74d8034ec58385dd85eaca1dee4f97ecdc4f16a05ed1dc1aaf0a2b9a31fda032fbf93d406b7e7f3805a09cce8f3847c9f7726345cff5118c6ff5380697ef033426ad15eabc87ea6fd5937f9ff9a7626fdc6add5199fe01412e8753612c9ced2417090ae27d0c948c9433fdddfda8808591647ea48cd5bb647dd861939407f383425072a1e84eb7505d6627e599a60d440803342e009a4c277b3da6749cf09767c0dde220c75c4d0a2a8b5df44786e8c6526c0243c34ce6cbde4b4cba3073c37585f7b34b11a6a03aa46165ea3961e889fc72be756148f2f5085cb307b17c7a45f5c447126d8bca006848a55de0f82d2f3372c8ee901b5087026042c94a0ca964f3390dd31e6e9a5df3a8e09cb64c1c2917721cdf8b1bb3a4c063d395b083983a501ff995b8d4c437dbc2a22d1656206be5726aacb91bc730c0f6d2b5655bc8e33cc733de3dc987c8a3594cec347bc1e36a517b3eb22e800fa849951fc9d577407a58ef4ecc3945c622f30cab9a279e0fa12205fa375b52b15ae8115b6c2d63c0815329e1c7631b3696bf68eec9c5a1feb0729d27bb386b38bf7eeb6bf8301fae44a1af0d7f31987ba97618b4c320061b43722f35978c4d8c0f7d13afcaf31a39e2a3b72031770644fa7e67be611ae9e3411a5b146b887b33030b29993ce82340c094a76562c7409bb6e737f6f0cc3c4bd672d4f9a384a0419701e390985bc0f4a924363341f290fedfb2d4a7e384c84f447258fe81d3d13d04480ca149a7d01ce5e8b10cc32834dfeacad0c3273d25a6f0721567b5ebb3b12f30619c4e80285473314a3f22605adc1e4eb0da0f3a6da56d5f42e9c4a47a886f636fc74ff09a049b4e1d273244a9ec3e5723b190ad9f43d82a6164ed612d28875db88e7ea1687cc64176f24a8302d438e2864d3e8d66589e0133bcfedf2fd1ef411516a06b8be7a724af7007f38641d68b852ec20ce2366e0b85a409ada581a962784bc8e205c8140d867a72a71bcf024b9b71f3ea76162b7221f8b9442a1466aac5a216af75fabda936b1f4be0cdcc14e2fe258adc379eb72e2960848c1ff9d457388cd9033d7c5819966c5fdc27a5fb61c6c01c4fbf57d72ec8f32d0128d97f3dc2ceb2ae744f7bb774943f73153014ae9d4ee2217885d7207e9150a6f22536437c52279b564b6ea9b13dd192cfb68a3839620fbf8677a531981b2a8869ea24607f74100242f09d3113712f5a713be85c96373a9be18843116a1dfd7945350568c74a5acbe129a42dc1aed468d708c356c5ffbb7a7f8525378560533e0ba71863841feff5d9787621bf193de2343571047fa6e3315cb5f071dd301b46dd59eb1856f92e20639ea85d7dab5235497beef3cbaa008f6f35e7226594fb4960bbb787319abcf57f3fe0999d9c475763ee977476584a2f9773872244122343e85ead9a862662c9dc16280094b5c65ae7bcfa4c96d8518e6990f22fdafe932e069ad8641c7a13393efe0a9cce1dd8757d9feb0e81ce9496504e5726327e731797158de994e6eabe6d9f78f849db720373b1c6f2472c2ce7af015444cc77fdc4330ab486ff16c319b1faf62419f80a547f4edb2a4ade27e2be8ce6d2bb8fce7d3f36043486c9d43ac52ad87f69d0d821d550494292accfbe252e572232d975aca75d9d4dcdda01660404ce83c734c507c36fe7c0b302563bc838b4a2ba2be0cae4ad5919cc9bc7e0d21ae4093abf3ed102010237d80cf7a9ef1715d160b10ac3e8a72a627ab690904596b3ddd98545f845f5737ee78764135f1431c45cc10c889a6fad3ac0dafab5988648a2c7bf900e0bc90c6a0dd77af4c3fc60d00e4338e3fa815789e4c42df87f7f092d9f22994af225c97a84ad7e6f1620f72e850b8a84501d0816e4b7ea0b24d6f659a49db3aa0dfeccc9c9c5b8e5c116e72790b5b7ff94bb974e8a8f074352e796828ed7dd49c8367a6040e759204e9d672237592be6f6089a65c9cb11ebca632747f72870b1f6fad532b5730a95de81e2f4fa105a5d95798720ec31263b8f4b2b297197bfbcb3864069f05e7a1639f691af3a5c94bfd998f8263f24266b9d86c91466e99a2e19f9ff61c5e1179837ba6728b37c78387617f2f0d5fb1611aa4bad650cbc7415afd25bc9b08fbb676188b72fb36d54bf2df02e4aa389d2bc242dae2fc8c585352971b37a7f6f6987c9aef3717224572f16562bee8ee6c8757d8da8a819c44fc49217a0ce6fe1e5d936061726aa64bb50241b7ac9729d8a05185d6c7541db17973bca681a0c917df6ce01572692366fe875673b03ae54f96d972441dc6bf40206179b9c598973d853ea5f30b4f9b5663e154a6173c83b1125eede4c96da8c3c171d75681ad801ebab2101b72cc6dde5d5cbd66a90a59348e8b1a57c9331e9e93195ca7258f4696bf84b3176b240be92fc8816009f5b3e61c81c0d59191d1416294c054e48185676559aa5272188a2171bd1531b64f1513accc866a5cd770b04e583d04ea96b4bb618651a959396a4f9e48a8023c73fa951c448b76e1100ada3a98d63ce71f9d56d100dfaf7251d789a58abb765dffc629d8f8c252886fba535d813915c726063517d3e87c4979fcba6f2e2a82ec174af2910cba44188bdbf3886c6ccdf87121b376194d8e1ed0ce19397e16efc9772b10dc177a2a6e05bcca2d98eca9842f8f344c218b7428244e8b5dc05d403d58beb937cb71bb0a73edc700391ba91821d59cbf481d09723b3041995b4d3b672ca2b04982fe420c9473c527a08d281436e6b781224642634c1298b6af99a790aada830ed3d2db80cfe318754cc31f1ceda4509e353d6772bcd73ca0083cb90c19052da77a98ee9a0ef980aa38ee33907971e476f6b2d14c624393d6aaab4044f4e0241d5c5aa9428eb7e7ca026db20b399a917eb525541083f9225eb50786433835b668f35a045498f98ba40c48fa8621997a5e07ffbc72f731a70478dd68f72f98b612e2a2942a2f7e27a42a84bd1d680c45b48e4e007283c1909473de6d33b62f861831382c1d59ccbe79e25012165abac273146ed426cba2b879030bbddaec73070d8c0ffed9780564d0ac6cddd5e99af4605517690cd9851eef912c477b8a85509784bd028d73f50612716dc3be5c1c0b03aaaf79726d962107b4e0967c8a5eded4426fa3441bb8ff81276a7d042a99543eb383330fcbccc26adc76ecff8820b70f5ed4c979f1413101e88b53b00269902c89358720fdbd173e4ca088a31f2a51b955e59fc5ceb9fc401260b62261e4bdcb19df3072d5e4ff90e12eddc4e3631d2b57cf5a774c17f5e346ed30b34d258e69642a1b0f3b61693e89dffc2b8584eb3c537ec6e10e376b2c5a8a53ff7ca55717d93d7072707c94b7736f506c69ce99a81f5699596d29aa1b48efc21732fca02b2c1a1f530cac04df11c6f0c25c73d3cb0bd12dc01693bb102ae94ba4ecc87efcdc40a55a0267eee5f00f777f018156b8ebafe499f513f0228d5762529fe3fa17bfb84c0a75de4f9ea352f4d04e3108f0306a193fb9d035f41cffa8acab1a51063bcf457206934e3e038c33c9abef1b3427ad09b09f8b62c7534f61bde789036325071138ac7ae91344e9b7e240946d964a05b7ed88a91e75c25145e868bfd0de72ec8572da5ad15bdac92a45c9a175bbd8e82fccc9be7b3f7ba5d8238ec0fea7493aef7292329cc365b07242e439d63421d4bbde486065a74ea6d3d19471fe61ffb13001468c6a4f0ee74f3eb90ecd18185a0988e059fd6e335c974348ef04a6472a3f4fb4f11d48396d89a275941df0f9ddb2ec9238ba80fea5805ad39cd1e3869a144aeffdb8b7f30791c568f106a997f8b7286419f5097b6deaf0880a1ff5194b6a71687c35a0f07744c321fb8cef6be00c54ad38a71ec447e6dc14c02d671b69f21c2d4382ed85a23fdaeff835a46d5d4e5f67300b1adf33753683546ae7e860655d677326ea89a184e4f2429ec38890ac6d2696406261d6d3268e0f61134a03476d5a183cad0b8b73d8575225b7237ce0d039e288fbc75edbc91f2716dd3d04f072e14cfe4cb7915622a3ac624aff1ddc6fac0446865bb3e27cab38de0ac359bf72d28daf66b62e53fc5be0f01911f46469ac1907d5a45894057c0ae5d95f8813722a3203595f0c2c350dcbdc3986b24df55939f7758a9edec0d785d6edbe896e22d451139d0e0e3156e1c2f6ba925bbb8dca98c344dbf93f6de93c5f085a1c2672a87925e16c3076647303ffa1b1b585684a3320f49587c148fbc75d6e0095a47226ce306b6f52f8b3f490cc2cf79d07bba7eaadea4850a1341035e48e14dc74694817f424cc1c67dc862299bdddf01433d5f6b1ad80998f13c46adb93405f3b72fa1c3a8b80147450b108b1be2d94ca25686bbea7bb5997cde091af117ed2e8124b60fd4bf5ce0064ed6db7cb1211a185e0efa7ca4b2029279d68a1fd77884a434a8f21e1078c25d0cda535bf77c3ed7fe8ee84a7a452c9f3b3f22582b46d59720935ba7188be8180304b8ef6459184989f1ac5774b6c4ab29c4da2bb038582275f91c5aada26a3171141a11b3ae5fa71a08c26fd031bb48dfc1c359f72aee765949301d1fa1160731663a77d8c28b081149cf57f9bd1c12db98a8619351966728bb7223f4febb272829e9ce8f87df15b844f4706dc15915322d39ddc2fd8a572b6edee5765cc9a67c3c0bc056a3e29715409187266f4ecb3429baa7fd5330f729c194b447ae45397790ad5d5f6575b2da1132572d1dee9bfecc8d7fc413277721ca63b5784bfe7344dccd4a837fd44c85463d0b3a877570ad27ece6641d21f72bb9df7e2c6eb072fcf7724d00c3821f0e3cc7ac03bf7e043f18a64380fe1a972001b3ef171abd80f6342f328e62018601eb17f8a067b1ea7736fc7548e15b6722a02a3d2cda8912defa108cb9c89b6763397a2ba082d0b99d0e69ca9c3e3de0c3dfc4262b7c1e3de79e10f643b1b17cd3c5f055ab39107bb84b3f296a842306965b1d1c099f2ea0a2993cc9669638034612746cfa861db684dd81f294cf8865124c6d6a1d7f86d874d5ba1060daa0270ed0fa7e3f56a4de6ee6852437d570372060fd149184b829187904950874d531a731d9c40e36c56b3b86ed90b4e578614b919be3bc943a6b8fa819ce74530327197e9e322cd6d57cf500582b63d4ec4494fb521e15bc9f721f78ef471e30f408118b771e8fa72b357f7c3c915ba5d17729d994b981645e8e432c1c7fe918f7bdc54156a77d82ea8ae35b9f764cc823b72b239d7664b4221525ac29ca4adf2029c99f405482c39028aea4afa9353be28722b61e519fcd5ac8f4ac8aea57f9af3747aac7ba344938bbc3cc24a29e0619d7224aa6fd65c62329036f266650207df325ba49f54981b8bfdb7a39d124cc2d972686f3e70bf2b380c84367638107ee69f9b5021f99c3dc0d85272066ef816ea72c26fdf4cf711af4c2f7262acc955090f191f8a14eeaa8f8ae0bddec4c85cfd725cceeb59092dc3410c2e4be39a7d61f5a90d2caf8bebd39bc69469f83766a06982ab6ba899ebd3369881dba6160aa438eb58f2f82aec8ddaecc386b44fea0e728ed59be4754e083a40bbc8d9cfce7c6a8788409c31c81e10d3de5accc7fa0272bd96e1f93850ed113bd1603d23fc67c95d5925d2e7a1b9517502f792c6609672aa6389fbf3abbca1b1919667f36f4491ab06251c343e4d993910dca086f67e72b45e922b48b84163b5445742b2770a4e5afe77a1b1deec8dfc02f27684af4b1b10d69c0fe2090983adf57a4302dee47818b6d5f0532e12f0fee95d1e802cc572b72205260a578d546362a853c8e088c60528d998b2d0f1559039353f4c6976725b0179f1784b9f13edf0cfdfab1365ef466449ae080b8998a10c22b157ddf772c7689100d21839c2745279f1bdf4545f8c6525a4c0a6925cbf6030885d877472bb605180cfae8669b9d636cd981a95dc8e50cb24df63bdcf36c7bbdcadd2c072511c65a117517f634629bb7c3d1d4e9dc8a74a5e54b2800dffc40e3ea3cf957267e24c0f2a539959e734b4fc3f5e70da57ad03d74b26202c05aba55b69c2960553e2431b4be568382eaefb2142340806352206eb200adeca512bba05273c1772406db48f135f419f01fe901a3c54be0fbcffaf46ff9fce1b88bc95da9aec487208b3cc1dc334328ba47caed31eec448b7563cf4caffd36cd27694818b87f32369c299541f6fa212140497ff62f44a4f0e686804061a8147c53b8d170330e2a7243c30aeb1de3848e310e19f4bde5890ea59de47fbffd0fa8cb917eb6bb0a59080a40229c16d176a159b1a38f5ffc97be9917a074489f7fe60a674821fbbff14b0f573dba5ad8b38f92789fcb4d31ae973a050fca0a491e48b44f6978b7066e0f178b395f78fcd622b38ea48968b1552350e5276ea7e97d2036ffe2c4d349672202582e05ec96d90a1bb253132424c51bb4eaa2219ac40bb82763193b50fa4b72e1a3f6a8aabe005d71eb4ea0655590ca5d54e5f3f9844fd8bb30c1a8f9ef41720f0ef4724181d4553cdbd48c564dacaf126266dec785fb1ca744bf7976636b72c35e46f71bb1ba909a7da44efafa2ce934c6b972ef1242b0a8cbe2f6c7cc8b075abc22848660b24da874a2e85c60793dd30ddf0da2b1d78fc9ecfd962c8b1c72632e49d49b0a78348ac0f8c5d5f6ffa8c1ec70d8b13a9ad0b3ee7abc522482612a321b9ed9027e71787795280604079919a4727bfb4d78778d14c3f0d4fbfd72d4e72552b89e97aedeab468a63bf91c9f38dfd025d921e627e00d64ea600c21ea32b0eeff6f55128afbc772bee8be9ebb6527e547548d76ebf818b7bac81a3556c546175c4fda21ab752ee0a14c3a8900eeee1d959657eaee213d0ca379594726c6b0ade3e050f8286e5a42f7e8cf869c2993ceac1ff920dfc2abba5a279e57245835c185b3da0f12c8840ebe5ea6cb00205c2d3d29783ac17fd85e3a5be9c6aa0e9cadeda04f5128a991e1bbc79beaf266912b31fa7328abae69e0cf4349c3e61b6c8ef66c18419f7cbf488f07ab8c6339eb77bc689b0566fabfb1d9db3fc72b27ed22cc2b20698fece3f60e9e9bb8ba646f2d8e635136d008a313efec23c724d66045044d15740a114ab8f532ae4f39330e1e188130c6d03e12cbbad24ef7220522ebc803be15983c71276d718e905c63b1f7dd8cda3ed3b46ed8bf18edd723ae90b9ceff10f56c68b202460ba413fa4037729780e86d1cc8981c98f9cbf720d60317dda05c4631db196020a7737cec524bd3b776f384e810524edf471e97245ffa7274d6be783fab20e757fc1cc5b0a78cdff1eac8017ce048b0e82c09644e85037d58dcc0893794a4cf18e8b6b3bc3ff619b5469f747af1d9385a7e74b7276f480140e9294dc5e97bb2dbec71a37b409f80cc0664fb4117e12d3e0f68a726e94a49b3fc13aad70f835daaddac7a566abfe3d8a26d47b5e8b616aab6bc172067fa1858787d216e6684b856e65638a0c24e65216315c7f6327922be3f0454954f0a6b552cf4e91ffa7f57e6fc495b607f72dd2ad86c1d1475a087c9e96d172db712e903875fc5cda67f7dcf68f95284283157f34faab07ad938c9f256bf472c14dd32e4f01bc579aabd2f08120655569e36cab0883f52d13065685a2b19672308c6e8b488b1c9ebebabcc24da00c779912aeb43e966113501b730c9e8dc75c8d915d75c98b5ce573b27995caa5bfc4a718ce72565816fa0e561288fb06e972fad859d2ec7bc2bcad12783f74000f5ee470a2f5414ac7dd9fad1b2a767bee72d7a485c200abe5f83067e034ab246b0976fe4dbc239850e2118df3a209fc086f94fa6d166a29a16ee324e1e25dd61f88341c5e43f3068c101f2c15e3e95988724e91f88d35ab03ffaa3732b745c9c3d52f6421ce0b3abe2e03b34171f08205726130f6d0a795d3ff2432a20f32b10a8e72fc20d43ca17c67151e1e3b68814c72086f80733275ee8e8fa99dc38d564fe651cfee4c420c4d1fe45fe99f3d17e01980ec2661b8a7f238f37593a6860c35c84a47020fa698d279e11a5e94f51b0d721b40b935dcda92acbd8c546570c0bde0ab2928d6266144c3a40b071b73ad9918e7dfada62e95c8663602e16831448886cb6409f481988287112a0c8ea765c72ddb71cc73be64109744fd06cea82391e436133b32d04558d73727d14143e95a726264537d6a1b4be54f4a94ea514182da515ca14f4bdc3bc0e832b625f61f78725a12ebc820db2ecbc38dda414b63927b9af0371dfa96c7791e264176f18c3f30d1bf566f46cb6095c8526f4a9b63d2442c4f2cf1b223d0aa7fe1b9d078057372c47e11942cf0a1281d8bedebb2ad74bcb72b695273618e00ef5b15ef7075c932e86451d0eeb820531ed58e53142582d36615ebaf8aa109bd1f73779e9fae71723a4ce44cdb1a739ab35c43939e8fee04faa77ab48afcd5d04d289886fd9a7a7274bac043df801a3389ee614c4014bf87bc2b3e5ddb6cd6e21bf9804bbae15431046cd92ad0907277814b0f17c29dcaba2534e3fa5a08c09a38a046d8e4ff4472398a99536175c58c5ef6aa8abb92a641054679ab5904f1e74b04e5c539349c72293d512a23622b027f823d06dd22a797bda4144c741827069f093dcb2d5ef272b84f9a12a6763899a30c2abe23daeed5680513bf350833d211cf74a86658293e27ab5bd078695e7ae2834fc64eed95007473c1e324cdcd533e655d61dc474e4bfa821875a98944806a009672bcee1dc4a9bb998f3eedb25aa32ccc8fb1523f729676b13de12139356b50d6f12e151306498cf3afbbf506638b397849ccdd15723eccd291b3f803aec29c06f121caf6c4b69f531ef8c5330298b92f6d70eeff0b65929233939b8e0550947d4baec8d508285f50e884418527c6712451e343d6663e4b09bf540002dbe02f1fca3f89480f44108e5b073098da8f4ae83510d0c61d5f5499ecc78f063358c63a2e9fb2daa4921538c254b687b14e81a03e64dc79580cb5ce239fcd7a0ad5bea49bc8a2d98aef94fb3f400c1c37ba9d0ba66b641672fbe1a26255e714756ea71b16c80c82b9fd2965795e83fd56273c2e1887670519b3af0ccd15e3116545c422f0940cc1e1283fb34416693eac9d1ec46b10f11472037dddcf23f89c3cec080fe14b435e3226b04a0d7d707bd2540237dd3abae37243755ea8cbbcd5b9ca4f1bc6c3b87711e0f7c80b4f7ef37900e51db9f9bf94277c30c28064d1e1bad05dfd120cbe4a016302a1286776e85994f9bb75c5532246d704c00b41cf701e320d45fa0fd2f6276d3e0f91b4269fd4598b4c20928d8672347aa4e7df38467cf2723765e94d6b2a9b3808e5e535b5635f4f2f58cee2ed722d90bea89001200329cde2e4bc1ae20edc659e0dd1acb3fc5eb30bbb346418726d76fb06a7599242737daa730aa5b853cafcdacdb51ad8eef18acdc26e0cae724663e52572690ae7535b9a3171f5002d7ff4e2373a413526b222ad993b33a66939a7d27de4ea434674de0b2dc9c036f57bc9774d4da6f55df7feb3126ed88d1efdc8098854746425043e0532c225ee3580cd75c0d0bfb9215d3dea13de447f415f69b57c6273c1e956fcc642482c7a6a9554cd6050cc6c70a2fe0493d9fd4e7270816e40af8eea3d2164a908e697e44aab71d4444fcba5495b891bbcd63f684042b7d955bb8c678d41ff3dce96c70f73ff93f998eb3ceaac9e67f01593da8b724a2a1cc5e87e1cfe31b0c5949558b422313485946ee505ed4a00ef19fa7c5872126b67a44a77d5d68cb755e27d4ae99a4495f23794f9502ece8a7b07d3e8277268b58e7587e1dbf0a9a098eb22b8d8c3f968056aa5d08bf64e74d59d90b59b72e30ef0628e376be51777473e720c8479de8c7a883ae650ffc3878cec293dba72a39535d8e7012e34117e2cfd2bc61db120166b52e9cc4bd4b9816c121e2aec03929093cf2fa204deb60c42ba5627d6a5d5ab8c7631d3816b0f9c4c108c3b9e728c3e9e40671b500d3c2c2e108a781f16b87ef50359bae4736bf3be40ef1579725587d7f61a6e1b3ed3aa06bfa94e61d96932f43a5b9177956995368cc8f9cc72dc80e33e9f0cbc676194d2d86ae83098aef92386fb5a9270195eeb33720a7a0f5c6963ae1efc8d39d7bb9a132dd7de1a49c9722859573f10cace351e81d379628b1647cb195c067208b0586d96777330000170112d043559ecbddd2056456641303a66c383afbfd044524a4dc94a827814c72e406a00f5b8d7fec1c7deb64272d9ac0a2a921db770076616a50e633d6f8ea54ee26fb15ea114dd37607d252c72b7edeeb32ecc899f84a66b94bc5f95b25b4390a237f1abd6da1c08ab1f08d038a20aaa627ee4de44103760100d7da3361de87869f721a4f64a32d753d07c8c724da4e9cf7c476f550b12b9deb2e545aa1394afcd6a3d5aa6d4d0ff2cc950972c35ec0ec55b5b9be1a3ecb1f1100392426d89123036283205de0c94120f048d68b9c537fe4b7ce6d9f7d56b89f94582fce6a3e219666e94b48663965f95140f14bd72011d2c4851a3ba7778f44f4cb8f50c80b4544b877629bd0f0f9cedd49a720069814a718fca658fccf2665578cd47bbadd498bb47282eb928f86b48adef3d640696317f992e3c42fe1944d7258585c4947296db662409f1c904c82e930032f6bbf41fb79c1fd8871a7d4d69c541f6969cd329e57a446d22ba238121791f72ab42dfcd8e90dd2116a4cd47de7208d8a0ec35dce9a2b59bf2da0ef46b4f370df1d66bc46404c8fd125e3b3203a2620623cf707eda1956f4f8130823e6041172597e2287743c73e969662cdd1caa06e9a94ec591ea7aebe95182cbada4c32a1a15229eb6cd768e63460052b23bc8d1c85412d2c19d1a9d3479b1653884578464256871f5406ad3110936177e5b5a2827010a37ea6bafe37d5e65a78c67f74e427474a7d244180160505593bc3230d22d4a24538b7ca4611e35f26a3ef1a39e72dd2d432cbc385ffff709aaece082ba3d466d90b2b330a3c80e07aeffba889f119b962a201fdc170c5ee87772c62882aea344f45937f4409ede82df5e6c953a31b7adc94a86870f0756886d684ce3ce888dcdac746dd3a02efa436243fe00a8728bf1c30cc62774659cace7f90ec3c5035a0f8ea9d61ae3f24ca5f18d04897d45dd367e3945771eae5891eb5c3407a7b86e0b27db66b7af1a9e88dbc8503d57728d97ae2f59f265f4ff208e16a711d9c3cbf4a787d5c4e5daa1cefdb93014aa727f8793538ff6ffb6de6bf8771132e8bac80438bfe0b5acc1920a8d5d5fdbd1720e9870081642795d9c6d64b5cdb2ce40182f037e41b438b3108091603a1a46725119cac46317d264c7c29a834622bc72ad28a753db49cc80d82ab5b8f29124720e7a01cd60c9f497571c707dadda4cbabb54f4725de6002d00340950346a845af055430a292417ffaa8ec48462bc61175f555d581130b7d61c1acc7ec9079f57c029b94c7aacb17c99ca7c96f6831202deb897ac1bd844f19f347d1871482d0ea573a4770313d0fbf68de5d936d5ae2d870f44a2aae945238fb2b70da0d04b70c2930b2478f8ce6905188212a2f205ccf2ca3c14209ea80ac055d7e452c838728bb76a9d8f622e296b88dc9cfe7bede2450e4b1e99ccf5dee7cb517382eae67230345488fe0e48efb4ff642ec2785adaacb8aca43b9d86b74e217ac5e01cd70121591a1056291d2a3ca426f502aff0171a9da5f458e600754680fd717b7302071abf87c89051afa171b4d54f05320d111304d3229aeae67e9348cfb5c73a34489df4151c0e432615b367086c438614d1148d4a895280e3c791d524e39efec25afd51e56a9cf2aa92c8cec9c36c11f3aa2b675e38b19f3f9a0969c0fd09a5fb477aee2befe2d1dc5055eb9d20efbfdfafd0e462c5cc99135125a1757aa877c872e2ce9146537e0648e234bf1965787d5fea336589e150fe79aa590a87cab6b52d6dccb101016fbe87249802a05fd30fbc6b7e36a64833610d49666710b8b79927620925a31e702777bad1a9dde0aaa593f0ea81cc568ff0932eb99ae67d0de572ab18bd953507f3d82fe7ce57d1c667e5252a46a0256270d6a2995e80103d02721d12d266f23bd6e75179ccc681c0abbf73bf4e989d98f7ddf2216ef695016549800acfd0d5085118113e231fd302ec34029479c15994078d052d1532de7fc070d97cc4b7540a06ea318bae93f3f0b8a0ce3f7ca52939a484ac3379ddbbafbe051757be13a62d63e85c755a2c73927c695fa6b18bc4b30f799b2b81dc2e9ae872495849f863fa51147692c2e612d154e801015853249dd71eb7f3b2205143e6629f9e8535b4432e6113970cdcc38b17180ba52bc3e22051e5d549fd4ff3429d7215448281e6ddc7743bad9649eb5380872c571f7f442f3e46c8bb8c400498a072313d57b685e8e395f163d23608ff8df711d24516b3bbcc01840de1838d9cac729db4806f610f99f76a8ad10702f5fd0d38a8be34fbfd60fc4e22516b7a6a91716d60c5c1393acac31564cb30ddfc0a75d1a17719dd19986c87104315cef37c60ba5fe21eff1d4fbfb3ebac48357786ad65727cb1eb4e95efebc84d90a7b3d71bb4746f4064a92f67ad666c50ac220dc48f72c32bfbcc2a626caf30853bf2bd26d9b5d08584b22bfcf15123acb6fa34e51601006a9d7ceed544527db05eb9b972fc3558652bd18ff910798b14ee26d614360d39a54d7cdca868b793bb0f27427271db77ffc800432b0b16aefec3176ec869ff8f4253e4ced7f59d1108d5a408726018c0ca61dd6e183e26a402ce80150b9a0b386a043bc305aa0aee590ca95d72f451b97a39344baa8ef6a22080c2b1cb374daeb063496814a5b9e2ac9b4a975ef4f775fef8941526dcd39ccb58802cd1fd12a73def3f9c4ce5152aa0f0a6997231e8a21fbfbecaaa5cf9654e0366d32269125afce1cc50abc32ff52479b3027257ad3abc4a3856abf6a79208db5ce6500bc1a7781e0319dbd6e9341b54f2d6413230018bfacbd1ce7d8b5552afa5d44a1553d953a351b835dfeb5a7147cdbe72b6b65088890970285f0469e294018241eb549f078bc0ea594941460c807d0072cb9cd2dec8df1f27ed9f83c463e85c5111ca7740c60838212e2ccb8dd57bc47242b0af70f9e0234aec5d0563f839f0d5b15a1d5bfbca70f4ba988049a6712e7272aad3ddd5d981271c53faf04e7b0e7470ab82876f3ee0b3a74c2d706ca4885814ab64abb4bcf8105a00dd303aae0abdc8ccb335b7a2bb4fdf9237a2d6fc9c7205c2ed652493e8e5e60751baa60f3279988932caf7d99859267fa6ae7e18a52360a7a9e1a97fb534047ea59a429f0025baec4721648f2e6295fa6709c3e31672ab7c825d67f84f9b5d7a3d71951514a50c26eac1bb6fc5be7aa42b27b117e72fde56141b24985d477f0f7e04eb15c72312d3ce1e75c72f80170b122ce36fee3df75b2ccb34b727f3f67bb41e1b561a5e7f3e0ff57a689d0f23102426a6bc2a518f6e698a407957ce3a2656974d8e2cb8014131daa378e7e9d4f11769f1dcb75bd771e730dcc29a5caec641a79cd9228eac9d78085d4b50850afa41bc84a1cc1ad573d42b8f273bad04113f72b14a187572741e1fca18d39247923c0791e11d5643774f08fd1306e1a213dbbc0034f4f28e6eb8a68e588f9e51e39b9ca9cbfe72ec6390c27056d21502e41b50605435b5e0942aed422cdc5433cfcc5fff70f6540d684de0b5f084a07d714cd9436eefd98289154d908993eebf9a48d20806df72fa51cbb0a427410a965103d80a685da72c76a8435ac61859a5f43434963f077240f826e4626a49c582f373ba8fd2c88e976bb87ce74c447aea3d72519252be6d9d36be48bffbf892b5e405d30f96684441548c329204723e2042595ac2b50c724a2f06024585f8989fb48f8d39e224f06a03cf3cc3f308f7280acebfee585b7242c5a23a0d5eec74dff63a5d4897e01e4b80f193aac3b25b0f2ab1ee3dc6a1721b25983b6448cacce22cb0a1146c87371ecaef67f1568f9c7323c33f5cd9ae72a858ce6a47114e05200d7c00b69d86dfb23b2b36a56d6cae0786a239becb8c7210ff9fe823d3cde8c9db9d10fddd61dcba075ce8eac6fda615ad69e600e57b345b51c1f199922c92c251ab402fbb45d9722b804cc8f582540888b46370850d72db92f72892942cd78473da9bd1b2893e840841b00b82591b431af8a38b57415e93d9db60800745f020664525f66ab38fc1ed875510eb089efda562a1862d4e7255ab2531263712a064132be98edaca298cf5dcd9d93b44e2f854511f99541472498f73117a6bf4e3f731d4aaed9f1af61b6bcafa68c2cf9c75a7a9931d306f72e853b6519551e5ef31a4436fc78b14389dac68d7c64cd2f1a9e3b18c3beb8a3c4aeb132a54f3d0fe006cef73968af4eb3de1bbf462d2f899a155672b443dd3723a48ffac70e9d163ec0f8f3d0749fe355748da8ccba02905b2eab40f19a6a1686c6d6b1cd96afe344714fb0c63348615799c4d0b0638ad72c26cfdff78f799723402e602cfebae1723783827080856c9783004afafddf195eb0ee6c8b83244728cd913513c227768a5a6ad2bb30b676cb09a0ae7517529637b7efd5fd458be3f8bd443481454bfe2e2739df983aa7b7a6f541c268dd1a0ec07a3e29e163b857241d25ba21e814613ffc919c03bf85849ce877cc36c52d008e9586a3449bc0072b78f10addcfd51f1913742ad6049376b3118691a97d0351bd98026e173cea56840e4860d1b49689a12779204e5b139f31a25a72eb4939f5a0e17bea986444a2d09d2a34c6119fda71201862e6b3c0af02b737766c9739c00a912f1a48944bc72ff386e2f51d677dcee0ad60df42b4fc1ded9b3ad1d4a34b30f61e1c0636c9846718e7cf08aa13a379ca419314cee473e6305dfc6408d1b6ff089258f7a7b05722cb69afdbb4aa1dacac97bbf38213a86393ee80a32d8914a5534a9d697d1bc7233de72727738e8c314450ef87b98f142204ab25a1910d28ee07ea3206c878c4f17b2006a579526cfa6e8eb18e349f9cde7964aeb4eb3eede2d1b4005b49b0f4247ec38c079752b268c52172a931bd01ebea7426f05fd466fab3a32c1c535f372b5930f8b6c183ba913e10650a881bf05725fc52a25cd5030478e40ca5ae6dc49376233d708ccb354b92526bb59d545bacca7d7a2bb6aa520c59d65892d15ad7208e9ed6ee8564e9a807f1e91cfaccd8706038e11152f45bed232680f728abc441824f33c7e876bbfe9578a12159643d6c8975cc9f987e305665c1757acc30272fbe75383c4c7764baa19d7bdf460e523ec12c87b8de95ce5fa57da58d89b6c5778604899d33c25d103563315fe7c0b30981231d226eb7e7a2465a5bdf24e7372ad7aa640c6dcf29fb8385a3d9589d22dad9d63a17b5cb51365a27e2fd21f6472cf3160ee742ccb7247e78b6b1c2628a51861cc8b034d06e6cccb40001f80e3729aaf47f2982f3fc8d9ceb8960d6af000f58a294b3c7371adc30f934fb011a7729bc184039399cd6b26367fd38bb38349267e4b22d9ffa806281e203c1872d4722644d81981772da6ee24e8733053f9e038c4ac25a390a9312fe35a3859e33d3f7a04477d4db59b837c15f02367633feec3d55209eecb053c26d1b2d136b4214b96c7db9dfb956b909eb0b6eae34edf53cbac07e634aa55776d99352d49b4a625456022b134e72cb6bf7d5e198a2d0ac6127fbe8f02500ec7bcc3d3ca67864d27ab7ec902a955a126fcb2189cd6bd5b7e0451accb2f948728f972e70a4e400c72bb44cd6a3402a06dcb851ecdff54843f144437724fbc6d2ad3f2547a18c2e272f67f9d2d91080d0212dd06a886968eaff8a456e6067c68c5dc7f261d24905f1fe52b38a6cfed7753acf0f432cb536e22e8aefb2ea5943abd589af8e5a71511729aa894b599567b75a30549ccea07d2410db14a0abc5d11fd229ec93664791172c497e257d9baf47ab12f365773061c406480075b8818afad40d4f01cdb9656723c23fd9bb69858041d1b42fd2a91d9703caaf25d5842cf8ecd692d382644e072c1082bb65359fe3f838f5aca19f5c4cdebfe404550756ab7916aa6588ec46504276c5a6cf8517fe6332c156a6cee4f3a749b1ce6451c0e88967911c3548c356947836bc79f83b94fbf07ad073e9eabc72c2ec3261b4af0f0f30198f829f9ac7226f465d6d76f80e59dc783c6ed778678a63a2b3699a154e7e55946c9795567098c9cbbc2ed72329262b4125d60ebbf480c5c5fbb496c6e71b2b385dd732b1a72403a444fdaf1104c5c63f0be3e73a02f0b3cad9fd5884cad291a1424e8ea9c5f472c3d972772b0edccc6966482f1a0162ba3e6226ef6fa57ea5c363d3fa42f727cfd9519798a5e417c2ca889d79ca637315cd317872012586c36a9e8836b57718f46f9d26e48537d0b36a1600e800443ae621c9036d7714a4fe7491e2406a41d5eae48849a11ddb8f595b50cf800b73d969a141797238b424725b1ff194c3b726e5d98548b58268a4a2c69ea1ee5ff2e07ac0562dbd3244cfe3a51f3932fdf38d151167caad7ffa1c1f9533d90ce10b3c3dde3479270b8fc3e7fe11e438452721cd34ff678fa054bd0a369bc938d392a30ae5573a6e4ae692d2d7162b46e5b4c769e62cde5f39856c417239ac14e7badb284e0fa320c820054c5324e3ce31c724df574da7703d7fade04dd6e8516624a327771b3e121fe52173986f0a476a172b254522e33595e9d1829db308fdbe29d37b0a5ca8f302b8b8adea01c2172b772303933d51823b395940f52ec516e4688aa6a73d87fddb01f559f8f811e14133292fd57e9ad0fa8a7a3edd7620751141c693326107cc48672a01c8fd10f9c8772edbe714e42d1b13cf2ba59af850e15a985264a0cc7a2d08f8ecb3ab62117e872f581b16e6959e213350c6e70f791842ae0370f0c84e3071d84a70e9fb2684e725a5d495385990ce0a00b6eb55b501c6bece98d301dd4a74d34a4368d412887720750176b9464e35b1d5ad67bf06ee6e2f26e37a6b9de1f04033cee9ffbca727274fbea08d1f48f255d929c3ee102b0bee5a36f04154269b468c4a5533744f2142c3183bcc74e7b877a740fd4d9adc8101049cb92fd7fd0a5a79b8fa0560fb5727e6761fb9f0104cdf6d9c1ffe27446f693650b36799011cec020a28526e526725a218b9e8f756b5e29ef2a72c990a748aacf30a31ed0629eb15f6695d36f64729667d67de52751c9a5f29ea674a56521c1272fcb645d1a18c896054d5cff5e727e17e8dd186ed257d480f4baf5b1ae397c238eecde676a28d410e0f3f495af727328f1d150c0c7bd92a76a6cbd84610609835f20f3299d9b2a9611e35cde317242d7905699e735001fc1f48a9dba945dc5105a792c91912742aa7190efb3db6798e5826f37dbf82fd61027a3efb179a943ab0fce869a71572de0abba513ac95517eb495adb7bcc0145633ea578b8f4c2b5c22dbfc27fea1803826a13bf677a729b9e5ee5eee3db7ecd685793eebf548c72e12871ee39477b30dc15d189ae3a72faa9d4e17ba1329d8d65f2444740e75329c9dc973b60005b1b9a918396a98d726e6260e62d0f04b46c4420d9bbfff0b5a31fbe236f0be80ea965fe6a8709df5d4367d104601476682993c73bc69ae54758513159de188571a9f104b3ef0c472c198e18a37cd2137ffa00492b73570eff78e21c933e7df2820f2e3b613fbf76219d91caa482e0ae6a685f8439f102e785b3102afb16bac587cdb45c28957ef60c4353a690786fec3af8be6409bae38aabafcccfdf2a3f777db32029fcabca2b3c09ae0a72463676c45d4a8c3e7fa1a06c1a31b52301897b6adf83df145188371a38113b0e3c6633102f9d384be2f1f3c1f1c73e16c060daddc1ef71aece7fae21629039215e1abd7c22f0b5db7ca7f96fcc99823dfcf07f7fcef41d1b582f39633386184372cfc6fcf61446bc3610465d2f77e8a9cea1c126b9d8ecb7065e28722ddb0dcc3621a6ea2ae4145efcb74e13c2a082b464a10d9513fc7a27040c0e7284a3eb01c65d77f50ccbe40b74679087c0e324675a44ff482035ef6298ba21329da2f529cb734eb6d002ec564012cb27ca2683b57ec479547e7c181589f5c670d702e6bb12b9a12ae229200b0eb3b980df9aea450720c90891e4185b25f22872dc4879c695365c39b9a7adb900ee0364d7ce0f5cfdf5c8fab9dd4f0d0e33197291535f1b9004f634eb2d79b8534c633961cd77aeba99ffc6e7f85461894c4c4efddd461a5fd4b17b57a0c16de6ad79cbd037f863cb2ae728ba0678ef3d4486139e0011b16b6fdb22988c3b34aa65ac8dd61c28c340a7efbb489d4cadf94339723ce50641c278dcc3c8f2062ddf74504a1a556c9c75eabe291d99c5f069db8f06f139272ae30c18d32de73d5ef694b77e696863a5406edbfed84d8dda8fa7171df3fdbe3d3f74a4f905a8dfe5cc11cfaeffe7c8c1ffc2cc526bb5618fb7c03872d554ebb5c94600b0339628a800698d83ebd90690cf0729c9cc05fecaaa216a72b90396fa252e4d6c3cb4e3755c302b5dc5f5592200afa3164a3caad91cc96d1ff05c46652697ba8c5321607856816de709c397abf423e8156fc97471c57fce7255b73c83e227f170f444be6a2ff38f87d8e0ca9b6aca7c8d8f605b1af7622172de2983b82b845f51174e633699d30997b6f7925f5904d2dc4630633b88606c729df2c436d702d307b9f1e0f42b9b40e90d7248a2a0040ff207e1eb05f19c427244e4115710a632d8178aacbd8eaa1c1d35b6285137e8193b888e5f452ed93272fc4c6c1692aef0eaddf8abb23cde790b6a7f7c4c9a62f58b623f0c5b96685972d00cc9ed3fa3c177a3c2b3a077dec8e215d5cc9087592954311ce5b51b4c6e72fcbf2d627e126adf9f432c77b7f16fad6061656b86a0ef43c057e8f62305f0720bea0f72a4626842d2a5263901ab054d68e4c1a6e80679655c1831e65ebaa972547223f9cb08e208985775bfd28ac0abbb79e6f0428c673fda712ff71b260d7257eb81e1a3bf33b2db8a7594313f3187f004d939455ba33ef5336ae84a49e26579af907f946cbfcb15ae9a66ab6b409889934dd6b20ab02c60af96945a950d17fcdf465b5033a1df6bffca71c13ec21695c6cc6f1240e39c6ce0a6819890b6723759a3b589a7d2e4e1eaddeb154c06e5cc6280bc8f5e56ee966471ff4b603172f489850b4d37c1b08d50c32b5aca0139dc66a8983f77215baafe54fca4548e726ac0f3bf0bf3551727b9bfef11f767e9112f01aa317a014cc3c50014d2d9fe720df512b1686ecbe1a53a76e560b9e784f046064129836f59c368a8a4772d2271adeefc665ef1774a013089667ed101e934a286f91b2261752584eec22f5d09466a832b637a7f3189fea190a4cbc93f796661371808dcae0d02ea436ddee7fd720b2c5908a65bd797d38992b6fea7dd5da8f89e8730cbfd34c34610ca626ff2723b27001fd8342442aab380cc8f4cfac7c96ec29b3431d66708c53bd46e0ef67202b3b8a557e124e7938405e5c4b2bd15b198f5346e00d7c3b26de3624055944559e06b0943f6a196d8d69b76bc4b19bd680c67db1f79f677fedcec01be1d56438b7a9527dfb8fbca10b94de4df2b71fffd9acb1ea02141a3bd1fa7eb1473b6722f9f8a5809cd92985a7464d65ccd009c5a38a48665dc0b7786b7f41e45105f15237ce4f49cdb9093c8dff0089e23dac7edc7926c8832ce53cc71c6988b2f7c271c77aa254a0309189d3eb561ecbfc3479c08d82ea6dc7d480e7478669865fa72b2f3ac71f7b1868c5d7e00a4a78e73e7d73dc144505eec2d47b4b5c19f2232723b275569d2e84f0f9770b519da68c906639b98e1d632e3acea29dfc210bc1c7207e12881a9f258833ad4f36bc5b83613ce59a1ec924d54fe1161d27ff415641a59bcbd24550fbaa50800891e2447126e5ed52cd6d118123b6c76aa09ad7ae43afae15d075afa81c090647507d29bc7309850dba73c1141502c4c9b3ad8b5b27283defaf1697053934d2fbbcad1259769cf67d72d92cb42bb74a24cd5508eb27253c08cf6c27bfd5cd594585236dc1e86dc041c300bb98b1e7f3d5ec9ce4a96669ab8b19359254462128663bd99e31a964478a77877499c9bbd45e822e588cc72a54036d7ead3fe4749cd1293aa5e14882884015735db2334c4508ce361ee8372bd2f6c5452b6dbe00ce675ddd65b0974017d1baa71885b83f86edc7606119d007aa491d197b665422ac63fe8a6a38161e38d9a839928b7587de8a5522889dc00d42aabe2108031fb6a7b6e1a8b8398e11b7b90bad1c5ba9f9388b4f342fea072808672bc26e6b2fb45417f1cda32fc938bfcddd3602cd9d41662b9a1679f921815cffbdd3790bc9ebc72c11809d7edb71d804fdbdc637014e0c5dc987c419372ce95e2ad0059d0fad20bb5a62427459efd4cff96a7be7fbc8073607f671e304bc7bd3de216ce898563ccf18a3bc6037ff44e7d8ae0f753547cd71181a054fa4ce3f4710ce29af12250424b301f6a7fb4e743e0aa542ec866c2a4f9408dbf6b2b154bdab36a0b4c31c44e3b5643fd7d02e5308dbd6f8edf6c974a364be6d256727c918dc847d421c170d42480933a3f9bc628bce21a5fb4f219f1e233984b387299566661aa87d7bb6c323496232c283e19a15c5c3ee83e3f0dd2c2e7f05dec72275009052a98992245916f7c9d43bc92e48eb0ecfe45a1bc4fa464e52b023572455207b5cbc3e831f97cee0aca7ce2f4d04f22b1a1b77552962aae22f712e072fbe60d6e3dc00900db31c8e8d6155bff8925040ea2a4ae81d59db65772ceda72922ea2463c304747e125062f28c8b9dc5469b9e3f7f6d13f4d7435ce9ee94d537ba74b6502f52a6b570adbeebdeee43c0f25e73086beb1e0cc00c930a15feb39964758d32ead7971ef5e012ae13be224587ef6c476aa91d7fe86100c078b17724afed9f82df23faed3cc89bc08aac537dc8de4299d45457359175ccfbd51d229b6693b81037822d91c18b8499fdc2006ed2b17c0058918605ae39eb2ef69e172f6db80945d480b759a339959b352fea1210516d55a2b3f0459da2fdc41149672d38335eba259bc5a7f0470f81694ca6187284490864d31a1ad6471351406327287ed150abff3b828bb26b6f152d2051e7d93de2eb1a8b71425803ec56bb5cc5926b739da307bcf7a770d90fc62d2aa7e3b618e4fde17785fd73c4cb5aeead611fb0c93a3b7603e779153ce1172e5bfbd2ac4ebafd0149b5f09ca921a45f9f972e2212da09d9b38b496b83f2c4a1263f049cfe51ff38daa8f2c73c0ceae64e0726121bb5dda8228de72e07447210ef49a1c79a4e1a5ae5c971a5058881305b9727e75286eb44d0324f29cd9d60ff6584256a960a8fe4b5641042c32cfda55fa727b8678311a8d19e23d130cf6de01357200e17aa6946a8089983dfe0313d35c7285ad0da8738a44ac8302e224f03da36cb7ef2bf0edd323d2a4a60a9ca49fcc72c7fdabc1ad7a32dba4f09ed0e7be9f932a5a48d891e3354d3f99017b9b8b9a72806a76a65e35e848325aef5381e1133ac08bebbc986dae57b849b63db722d47272423ae219db0c30153526c8a634b118e1b50c326b12134eddd8b1d03008c752c7a932a58a36ca2a04c79fc20d6d196aa13f5431da68660160d59b3b23720b5ecdf5b37541a6b7a32ba19468cc942ff1c79de8c4e2053ab122dfe7237492d0721d48af62c38cbfc2937d541a42651a41d38af21d4db9b3ee77761fbd6816ae722d9670d5a0f75888ac97c9aff40abe82f8fd4d5c8b5982f2ed52b4c9a6aebd2bd8a3cf0be0702934d9c855765d80a3f25ce96e027746a5c5270e3ba1816d1d7283c751def104471172b54ef298bf8b8913a6f6e019cce05b09cc3f3549f9e941a797feeb1228f0f9733dc6cb5a85d5d550fbd484c325d5aafc1b85460afcec3bd97df2731e9ac55a74f931c33541de4561b9c5d7576ccf0ed635601c3442eb33429bcc7796da793328e1f3352899db16dfe5cdc8d737bc7c87291b17a9a76d72e7954a40c16a5e01f95c02fe86d50b2eb8642b286aaec4704abb21afc4c2d2723d944f3ab28db80f803332c0b0dd83eaa86b1468649b51208a8b321cbccb8e72e0e09618f3386e592c000d8a2cdc5de15d2b153650ee980c32951052ef5422630e6d31e3c8c89db03de89d80d5fbe3428e17ee1bc8cc870aa00b183732050272310fecec2dcafa77035b77ef19a15b925f4fed59badc5df392949a02e83ad97264dda9196b888096e1af43369f46923541d386824c11e8225df89252cbde1f6f936c0f6ce47aa9805c0563944df33cfb8ee0bdb2081ee56f107367e2c44f7132c6fe84868a500b96beb52b740c7255c5cb42ff815346b1050f66fe7a70c0cb72c2e9e38a2b44e0e52af13da90a67732abc6d88c8d55443d83d877a439cd83f62a02b6165a9d100e4c794b755d33c39e4d540f79a7134191a600b2d9f15e1bd72eb0121eed8a7a89c550f2f5524609d4c98f7c871ed3b79d3d19288ba0332e13ec33edad6b8996699e0fc71ac96353857c6ed60d65caa0a163f5adb59e23464192b9a6757b6b05f6a8b6d99ee8a361cf32a1662915934c747a3b109994e0c96319f118c235bac0fbd7b711694ad4ada7229f3c332e1c16ee7cbd40f8cf2e5806bd8c5da5afbfe2cce99e702ea27499208bf34984b62ef9275b8d5f580f36b3625942858bfa015c884e134b33f1f8b7a988ca8e2dc74d730e601f542e706ae353d821b5553d3918e86a9f64df65dcf29c00c87128b9b2049da6b4ea5ec48e33c55c7afb79d7958717197f8a41cb783921ed8a0f87f24ecb2dfcb6a887ce4c2637288879205482f86a16582acc00bf29b7fda07ff121f1379a0ddd38d5656e5621965ec50cded8f28cd5fcc530c2abd0b45e65a0f9022223db75d2623dbd69a9e11b10bfb7d7b9fb12afa9bdf82ae8a818237b02ebf43c466a307a77afa2b597d2b1e3856bfd9a56e5302eb9faa4ffbdd937342eabcae02aade5182a9929bfb544ce92f054e2b8289aaa712264a383fb87935effb73ca288d11514cd59265cc4d720c115d3db7bcdbd2944ccceff890281e07d858e87d9c8d09899c98ed2a240d37638d851594c7e14f53487e362a8873f41907adc414ef7cf0d4d7a1559194177268452b304bec4779a3ead63352d6e5a5ba7dc1fce3cd327ad718c466d56b7272422f609d17957f0c1c82494b573b1c4ff823ecc7ee1476f2b5e2da822804357207db8eab13aabbfc282dc85697980ad6340fc6c2f08654099a5cbc907fb250723994c6126334721177412c7f2d96a5c7cd9caa44bd63b1464b2ec1c113ea13509240af5bd9efd8a95a1521b6902dadf19ef7009207d5d6722e3dd4ad14d212722c1e6288dcff9b7bb9fe9311f3a00564a42c54ba5dedbff164847add2cbc46727ba1fe1ae4c21c9616e0ff309d32f8782f451c364bf1da1d7a214a7eec3e9272cc443aff729a94654085203a0d60a009d8b1c06ba3681681a750941d63e52872f4f9f8a3ec0099d2023b40c6187628d281bdf43a7af87624d5b7a73374ac1a7274af23ac7b96300b118d6b4692924f673071aa41ae72161fe9ed43e718a307726563b5985209f63c3e5f96612a22380c577d28960126eb8aec2e2dbaaa8d5a47ca36e7a99c2bfcdbd7f41f4564ad433276ad6125b9a74c16cbd73964a60dae72d99bb06d8a1ebaf1fe363bb673edb8f37c3337c165f6b4c6c070f23263fecf5e66b0d44d8d7ac9996d90dcb08cee81b6c0ab5822421991686c6d0b9b4c23c87225a3c53a616e0dac88fca1cca5f97cbc6b2814ef820444c25118ae1a6c256772f1c61fdb4afd39f689485ef48dc2f67e7cc99d5ca3facf569bc7cade53758e729d5a672e78d473d20cacb578154862ffa3005615cd605f684000420e38af5b72fa6fdfe9afa9b952f4915f69b06461f2d9e52c84387e65e6d07feac4b9c7e7729c8c261f17296f0003837705e22e5733192471b98a1292ae55e37d3da93c4d0aeb8be3558d3d56945fe23dd3138075f56f4b4e24e5bf37287f8d67a77e62c25f16d116d09956572186396726188ddca91ec37623ddbd2c8d5a8a14391c91504a9c14f5db4ae1f4ab87079444ec01ffc62cf7db1e7edad9bc89d0e7141b3a9407d061b2967d187b4cba243ca58d25f61946a438e8696acdcc009f630b5ef11630a14d792a7a5712ac930b095ea34103c388db184ad180273ef75f9bf28b2f2c72d31dc49da74c83165a206e86fed028ccf6086232f71e2b56d6dd2240944f6c7252e0aeac32311075a7b5997fcb867706028859906790033917664e95f2757d721921bc2ec7f3b50c01d95d1ac624229aee367deaaa8188ae5fe1093d124464728165f025268a9e1b6638ec1ed9ba71763e01b753f85d6ea05dfe7a83a002a72ae2e8860daab55c824a280edfce37ba6fd62e37e1defc38b8eaa1b4f403742572c9b7f89b526618c58b006e8b9945db0f85c67e94e24305ff5a24c75d06e6de331e3ebfd44f72c598f5d8c69562f03569cdb103e391b338b0433f9c13d7aee44809730fb066261447ade6e5636e8a6d852966f11acb8b39442a08170dc0a5037212250b9c9c31ef8f284f995b57d4c360c7d2dd86e7ca2944c29f9c04047ee23ec09a70fdb56922327dfad779fb4bab58e0d58b16b8e911fb911e8d98faf45472e9a16db8c651e7d701466ef0c6e79c5cdfa406140bd17d64483b8c927ccc901dbb4fbd1e2e0f7020e568b3d96c2dfb26ca87b8390ae36f0064d5e281405ec5233218842d914e632492818d9cb9a6965d2dfb21a20dc844d5aa3eb401c608c8721e6b608c7743a0bd92c892f83eadf87a6a258fe57c333af48ef25b63d80cf072b9dab4f98ede563368b8ce2b1d2d0951c95bcbe84631776b4106380421920272934835b0a8aa26d715a6d1166aa762efb8fd92ad8a931248c879a502673db17243f3fb0414201c5b8f31c93721f8c7e39fd62370dfb9d3fa817a696e37981e10b233a699b8d5e03324087179ab7cafb6527f31734d13fd783ad9f565ed55b32af60975e4fe8a8ab42054814b3dbe8af4de43286afb6c11a86e62fc24802fb572380240029497887748305bc92e7e98a1724f9d13a797545308a03f906308b2724ed4c2a176a01e348ed4ec5797a4f103480e316e8536f34d0744c9f3bb185f72c9235df3774597d18aedad2a495b1e34ef27f448e2c2ed4983497bd4fcb85672fbd9511cfe0874c28d44a8116ec3ae53234ad6f011b7593c2608aea06b41b1720b997e3437b1d2ec8ec147feb5c8987f4a301041958d72cd86a1c272f884a13a46731600627e5246b89f6c7bba764eda28fff5012be6ba4d5abdbd3d7758e272688477648008b8b058f6fcb5f2bf90fbb8212f9b5a8328ef8601fe6ff133b34b287337e47e3b68e41adc577db0f5d3b0c21e981e492d500ae93f913e60051b728a8d764596705cdf64ae2f8eb7ffe7a97dbb3b32ff24ee3f06d747cfcbf1d072e62b5ffd0bbcd24fcc81c4623b3f7afc3f9c88d8d9c731ba122bfa7fdf3469016c21421d2d681dce56562b679f4c7cd7d5b4a3057e657ccb28d4b49c26f08472e9da2a06cbbd80caaee5ab233e776a54b75e995d2ac0f6b8a6a00027085a7a72b5091229ced7585fb47441d9ba9f9422d1d5a04a699ce2d472395685a61c6072c00bf3124fc6079e85d0408f63ab4bbd915746ab6322885cd5fcbad665defa72c3ec0df6f4a337f93840f8e16e99b644bebfb3aa202fc0623a48ef3fecffe04dd5a560ff6e081ed949bba96c2f77f95d683edb1dc7e5b0a151242158e444d837aac0817de62f12ce29b858c7a1f81ac1ee438663bddbbc7af1065cde7daa76716cdd8817acb3d1072e7536a30c08f6c80e2e13fd4406840abf484d60c9703f3714a26f8e5c21d9e6d28a49cc41bff6fab646ca3923b93b6078b12744215b5a72c25da3e090538011c4a5f2de76a89f77e3e7c92d24fc65aaddd7468717c8ea72eabd959d67a671af40f7156d77332fa7a96dd24ae11e1c63c71474bf7d3a3166d117946396e80836bbaa5b24b8bc0a21b29784c80370830d15b25e4c3ada30723486ebe06a0b32667ecd7c7176ffa3f7fc7abbeca7f55b9165a1035a75ce06234d04d91294e614ac35e41e6b2e4e437f82c6083d685028414b46f363db5d1672989fa02d9f2f297b9b231ea2d8cb235510624d7c9f694fae34c7bace00a729724b8b685fcf0ad91689df2edc9f9ae850529530bd4624bf21914e28104c125255ad1a1ff6a1b60b8bb2da4c341cac90c43de6ab363620cb9a97d3f621cd0b3c38d1cdfb0aca0bf38cf6a9558dd1e42a1f519dfb3ca2da888fef197c8ef9d884729b1634405a35bc9886894871f4e10a76ad65a0c185915064b77ae0dd7705ed04067b31b478045f420e2551cb003ec94866f6372849d353ebe47566593f91924c2476ed940a07b42a540675d9a7ecf856d3489294b7c0ec5b2d9871d79cd49a6465a401dc452809808cf76b05215110630c425a83d7945baff71f875f629dd918421f6ec1014781be7bfcb56b8b0d22b29c3d100e94768716e15dab51fad6eb4663bebff6296638f7d1710a2f5d28465b51fdd5621b00f7f77a75215ac24e2403f13f8c9079a9b7984d11af9efd6f28bdd411b722174dcf52f7df56d9ac1ffc72a3f3a6dbf7444976cb3867b305eec82a31ae52e6a917e1675e5817a58134410ee2dfdda7a2b1194fa051fbbe91aa7a5fb2f3fabda776694eec3955f2918862679367fb933cf9339e1ab5d7d6dde5e2ac3b3d7f8139f7018c42df82cb30e28a720d12712245d3f36d9ce911819adc560f85f8d06add6010a0cb8a24884d697b0015abeb384c886dfc48f3c614165ead70ba79b329af5f6a32ed0aa8c27921137185f2fe2f38082a65361fb2c245c2e60cc7ae61ab8493a7ebf751a5a07a269c4da8b2c8f870ce5078e47bb7aefc8e10aa4031a140e5c33cf2387cee4d3ed852120f288911ba204c71252b4c616b85e3acda9457a06b22988dc73e57495a1c4772f663b22fe3a5b1f4677f204c7137ced5b4fdeb7f61db4613f5ae78daafb67026e4a43ff2a14c97263652449b318b4f6a99e431d46eafcf0ec339a11f84e81172e89257cf43294ca5b2d2e24c2b170dcbd1354f6976dd00749672d571a2c1900f02d69f013ce1e843ab2bacc819c3bc880c4b0dc6a7fd4a084900894c7b5ed264051cd5f3ab4a419028b0e4927c96f6cc5f806d82e8d218bdc8e3a347154633725d6cc0a67820abfe482a557d06ca6abb1e4e4849cb5082b8b95396c26edbae720feb8e682f2333543bea1730680499574674937870a43cd681991914d86d9572fcf983e4427389033016d863cb589b28759f7de152e03c11938b9e2ceea022602620b95900925753ffd4a2b4e609842b0f7f943d6618ca4fa8f2f44ff3625672377db17d35fee09e9e6b8c10901641076c1dcdc8c1ff79c959f8e8ff0ebfa572c27f5faf09348d5b7de1b2a464c11d33027e8fec13dfac0b9fba9d0c071bbb72b58eafd989c282295fc4c98e73727de863ba367abe92905e981f0f51a7993f687f360d03b839b1feb478bd2d3d0d6d96904ef427c46ddf26153ffe1e276b6c2e9e026790de0d780dea88197867f8a54bf6fcc5fb4064cb8ab1f5a4f4523c9e72af00d9352d7beec062b0ce87f29e0c94280253645b16fda9c490581aa271ef2d64aa8332b4d5dce4e9a651406bb3789361a0494caa9f4aeb081bda4293d7ea0d9efefb52594656337dde6f192008319b084a21b14055af993bc5af31a96d1c5bbef9944f64bd3ed681c340ac159e25478ea474d920cbe5d1762c651a7067e4442af3aa7430b85cd6d614b030df0ee31cfeb52a536d25a1fcac55cee2606cc94ec2d716b3c079cd16194e0f3a7cdf206a1be61e8530f9e2012a709f1b45d5c3726122bae7a5f9d38d0e06f00f5ff69bbb58b62ffdd610f3b297453c1ceccf5c37d2878010826e1f2a7bfab2d1ffce9c187c9b26884933ccc293c5c531868af75544a6391129433d9f1a8ce47311506068b0d78f6f7c77beda6f1cdee68536fe63589970505474caec0230841c63c92a923eed818f65f57131e5d236b5442a8f72efad5fb3fec61b7a0480e8325dbd2687c881e5e52e61cf51718276fec9f62c40f77c978f22e42f145ef31dd53ba0b6467796bd15bf9ea33ac0fe428b19fe067217be46df49292a0cb8be4c49ad839d102237e9c06034ad259bdfd4a3dcb7c271f8e8abaece8c7a93c89f1ca51792a76d19835f997153850128c813430a0f5c72695b9d0219aa8cbd0c47689845f4ecfbe8064a142285814f6b2c9b4fd766eb427804f374c1cfc73bb19a1bec6f3ea05cdc13cd945566665ce8213afcf87aed72b064d89bad412f5bf7c23b4690fca1cca8ad844f182c63bb1b13c3c8124bcf720749e5c1d58032e31c2186637565a7a8b93452ac20a74e0267e685acdd7d6d64fb06f680f87ef40d0005936d2c9c48346d505d986354c356f10a449480f28c0a3b71b08333ac7140f5917e578331be4cd861e360d73045569ac5412ca8445e56d7197bef7c731f4641219cb39c437ea7b6e54ef53d91a66cd7fff62faa86dc72358ebb60b79dfb723f3588dac7ffb20022fd6171606a87ceb4889c9812fa3b3cc86608edb0d21125eea1ad76e1558ec89f4a642451cf89470609ddb92beeb17283483253ff2d24548ef22e34428d2eea7d8c22cd5567072b9eb13d1d38a5495653f7373040ea17321c05b6f7b4cd5b3844cfa405ec8f404315b28ca76478ae72815942ca12ebe08230e625d320a7d6f4e80f486b025f5ea38929e518464b813bc035bda5c5319f879d3d8fb686ae2e97531949b811f603c6afa376bc5a9fdf2fc8b18be1649049228eb5b08281bbb91a52f725f1453354fedbe686700d322172fc30102572ca413f99fb65015c2c28a7c3dc065b1acce8702128f600bbdcbc72222bbfff267011f12eb7837e311194946435c2f4ca3e12127978f3302606ee72c1be41446e5c0bba60f9fe998f8ac19329e6b83d8de62bf2ad2d7055aa1a91729eda2fa2c4cf39c781db4ee87e6713691d954fbc439499babd117f459ae390727f0193ebee49e874f9ca8b2830646786ae93757ec408a1cb495adfdac30ae6728b4db41d5d80bab464e9e3350f9663a99a9961ed5c5dbc768424d204a1c391725519d07839b62a490ceb83a3dacf24bad27351298bd472e5f81a652632cf3c1c0547f44fd6ab64b064a26a3f2f7db05af83039cd9a542bee7a4393fde6315972c71c393426722ebd41c6015c1487f5852bda0fcd029fab672974853347ce454022319931f880586253a5353c89a59b9a76361a945407118cdd1268b4a77760473350a6fb53b3d9311d0b0dc32333d4f23000edc5f1b5680a0382c2c9ae3b9b1a73815e59d373e4b61174b3d70f58c2f3c98314ab1a1ca818f9c08958c71eb51dc00bb750f2c3600a8d408e0b836623ee03f9414e44c15a4560f4176446b3ef093db3dbe65fd660a55d8ba3be83763eb550bbe2584a5a5b1318d8105b97222d72b6d3f10b175b799d9d3582a1d2ca3c5effe146085eb5a1046b54aca0019d1b721bb2bae843d9170a2f341713b63f256fbbfd4982ba356a10506752d8d97ade6f21dbcbe290d129d53b264291fb0a84a8d10d8f94d3648de90e4a51245f67157298e73443d7c641b13b86488ca37ea8f3f45be7719eeca8439c1b39fb887e92722e8c16d446ff787653c382a6501b323196f8ef4402bebc03655ebf3d0262347210c9111542a72b23461f6380f5e4481528b1d2c56fc591d0195acfc59cf57708a01200b2af2912e37e89b13a26528068c947747c5de72a226f3f89404b96fe7276d6946f578d0baf1064a27cc997ff9d5eefb2e78db7e9916efe70512370e4725ca264e275a6118790b8349796d866839b0c8c4ae23156d2ed824c89f241791559d3aefc22934bc84e18993d17cf715476c1ac369435e1c73040fd8738d1a372e6444ae4ba47166475b3a36db9e581160ac91355064ea6811b531dbb9200c97299920751f837b6e08084436addb954f12242da39e23d362e1ee69edf57bc994f3a42478123613cca00485f022c0db892dca31d2bf4104f44eb2d240f0ff79c725c7cb2b4c59843aa789809f94dbf3f9d5907e5a7a5259389f622cffd96c850477253c3f13fd70908b048341dfc77c9ba4f54b580a67e52dc44f3275d8748cf594b5e25b805b0e46582a9d0aec90f38226d4e0496460f3e7dcef41b5bc8d5f864710f3b9e9d4e80debd4318a2c6af95f90ce371472bba833bc736c2fb5e1b657277d406291073d58423c90f52456836478b7cd50abc4eed50635581ea51ecc66f3d2366b1b618c525357ab060a51461231ce5621960fa68860d56709441377f103820a0fc554c3e3dc725406a81b95c526c074083f9d58bc42287575552f5a072ec4fd851afa1f1b7614916bc6c48f7f336e5177028f42f4e7db1fc4db1bed672c9702c6c353818ffc5a26436b2461936a502aaf23df7de717031a68e9c040c72010a3861b7f55e854d5968da3089f0c6d2aa32014285e4ca13fe5257627cb072a0c566121dc24b5a6ddc985d2bf6b6adbb6209ad4ddad189b7c5aacd85bf3e5bcf2b30c7042c131c76b01ea7888dc9630ba7572d9b7d4166eb68940a618d9d50b58131efef120b8b0558090475121dea1c55180c65acf9cb0fe68019a2cd6b72a7c28779668ae5295774b11780c195af2642468a5be6c241e1eef211fc33667230e76b3d5d68a98cee444d6722440f418328499965500304331c710ab2132172bfcef7a0ec2de0152924c3d142771c3a5f1adda5d6b54bea1e2afd8179595d72cb5085696b6948675c504c47a07a123bc67f72bc7f0c137bccc7eaa200e80d725dbe51c0f995d61bffe12a828911edef039368a803edd6964956645317b7021e52497f770e86a26f0554a2616473d277086171a56e8d366af974d5d5fe7fba72d9e85d15bb9a54a930f5b7462f50d7aeecac89558f36f567e382dba200672c724326c641292634fc5f86757167452515acb76df9055d5591af3a12277c74ee722e13473bc37b5503230c1637b2c5fa82e86071658ad79199b8264367f92c194b77bfffb3905fba867144a74b8f1e2c66995daf731730fe4bd0618ef42b9ce172efef1806da9061f4c350b14e41be5892d199e5f375e45164886631df380cdb72588ec38f6f0fa619f9f80ade475fe32ca1468345dbf19bc377692077eaaad57280d051750da3dd822ac98567bfb6b41d2a038721267f5a84ede9ef346c57cd72140df33f196bdac0d6a15f2dac93c1c45995fc0836bed6627a74b0d192e0a90337a394ca052f71a8756bce6a7fa22bc21360ccd93e26a15e3e1208a3bdf23e68683bf68e46dac02dc5af24fd6fdc1fcfdabcbde0411f1b4b1417abde7f52c0221da243e177ea36436b3b55fcd1f5ecd5100f9711fdb6abd7d35f956d658b2a726560aca63903674b8b98c3cf2b4de972e960d5f284c3ba65b84908aced2c7572be18770a1a3e69a0889f9b212f2b856db5498fea05d2f7181393dc1d9c92796e0d4620bd2670fcdf54dde80450d0f1a5abdbe9a4bad8c7a55934928f9fa6e37216dd84fc4afb495927d2715f0c013cba6641b03cd869558ea61e3119ad465e72e443a942aab75de805d4c188c22295b5238c7416b601d5db9d54b289db3c37702b67564db234cc19c069d25c9b9addda45010edc4545900ea5538411e8783372e6b89e1478eb778337e93a94a666af06f01914dffd02d74e952d480e85fb50025533b8bb908923a7a66f616503d252251e85ae0d36803129e699b5d0fff67472188a3c332c92385b3f4ffa410a37d519077e97657d67706da58c8ed3228a3e72dec50801a915fadbe25f65755954c30a4732d13fd552bc425eee9ba01a0a4972ca10d01eda88867fb907085a070eede4bb3733f7780e82dda5c1d99d820d8b3df199f5f2a339a4823627dd1e69bb09b22efc3944b67b3b914dd52e65cbd4bc10ede6b6e96db985c5d0a13d7baa0bf71c21705498510279b2b65c9fd7304cd5721526eb981ee3e65c075e504b10919664b99a09393159471405e75b890a7b36725e97bf2bb46803cd791d19655c11ad1c2dc96b35b4cd2f97a5695da7428c4832c68b6fbbf14c72ab61c907e5ce9b024660e9a3d1f393bc9a7859e9a70a85de282dc92f8f67afdf82cfc5007ca060ff2c6fb8c6a0068399b3d93c2d3d528dbd720c6d9a4cf372498f5f35ed1003b7c102118ff4fc2f0299d60d3f93af09f3647268cd7a9ce7d8dd7c812b2d59821b3dfacb1ff61d89b13f7833bf037c55c6386b16974fce21af0a4bfb15de50e9cf4bf3f9b5578b44c57d2911e562e9ade1b5615797c018520f622958181c44387db14ba2e003eb660994852af0828b09d5984530ce5c165cdeebfd5b0ea2ef72cd202884586af247ab65fe4d69cd0ddd871c726e38c5fdbc006b2557313004356de4b70396e10683c443562ddc7f38bdb70870045f3872479b6458ddf395ec19d0c9fa042239abe8b80c6de973cb3fa1f5a072fa13b5274115009d452d410fe6276fb6a319efb932ea846006dfe064de14c96e3180e5355d2b3e0075fbe3b65f723ff7d7a04f9daf93f77bbc319d8880dc0072324f6653698923824ef0ca5d6b223eeccee4c17c46941f2f5f5e1125beec027280fbdb1ca20a07e2d23047090a224115b7f13b648a3cdd18520b05f252de3d72a85c81dcf09b7c45d51ca43bf8661b4571c686d909545b57d17dab19a7c7e672542dd26a1adc6f7ad6ff5156510ce0d738ae9244da3aa5b04d8653458ba5e9727150bc1501dcc792bb3e7d0c3309e4d641aa3902e0586449660c81c663654572f48f8dc78bd11183185947c4ac22bbe8969c7c849d69116f65122317cd7be3555cfde552dc695b4097f4e2182eb9af9c2716fa9d146fe20ff2c7ee7721e296720633a2c420fb86d86245dd3008de2fdc995e4e6b2b74a11682e112f01ee338241ff6c2969f6511c03d6c7a8e04cce3eef997553e237f1346409d61db1b0c737290cc7e1421b83aa25ce86be91d019accd222453001826a22624f7a73796a1a204fd57b5e283b669ddf96cb1925f551f7807342357fb800a82a0a8509c1e71434c58b04df94634a948da1bffba9ab800c8847eca70ea4acdabf56294e3f781f72151705c91fc99676ab5a1430618977de4d14d61d4cbca08042aaf08e0508c3729affa49611c644a88e2c52b494254790dd75a4e7e258a22a1dcc75734179ab0919cc5255133939980af2d3735964782f50a954796b8f180ac311796a4524fd723a5aa28d270cdea2872d386656081c581a281507542d5bebedea91dc8d716172b81031824b22aebac20daf04fe1034a2aad37d621334d2c2989ab84343de7e51fe22f0fa56243e588bb41aaf8d2e9c86629d82c08cdef3279aa60b52ca7a9f72070528a251a4ec699b54ad06f84acb13864bb197fa5d065fc2513b75820ed5724774da6ad4b62b98dd397c414ec5597c7ab565915833800c872d71415c119c72e5d308a847d626bb7f1da5955fd6f3f324223acf1feb235ee988fb88cb8e9a7267dc32d68d87af308d17cc9f08680fea59c8c2f872846613b3b96dd7fc699072a990c14e986886bf6b7ff44bd74517c3c6f8a501213b96618c29524edd2c137282d4bcf7cc3a34bd0b1c1b51ee88e66ce417ef2f32ecae582b13b25cca7cd2290ecc5fe0135309037aae8ab4bf8ae9998274307120af58e835fc52ed1604cd72b24ef4f1bcd7afa77671d734735c519bbbe10a3c3850ad4e4e455aa40657f20825c3eb70eb6df645ca1a990918069dc46c213fe194e773536c281ff52ae1f34344083fdc5ba32e502661f8fe1db6f0d8b9ed4a280ce6e84974ea932cf13198721bafa8df8c703de7ef8cb38c3dfe5c97dddc2d7df08c13b6e85a39a59b11053e038011d1d1cd9470ca5fd1becd48750b37256ddfbcbe01f1e3f0e71d1ab3f7725609c27c8e9c08945f69d6dd724c96be43f43ea6df80ac7399ac7697dc40e772f4dd907b2afb4cce01bdd19520195bda522b817777bf2c9e48cfaa724bbb097220ea26beeb7621b5a86e45c591cdb55c462c965816035882eef04b6c0a0e4162120c329ad36596af938b7f13a12d987b5c0f456d654949bae1033d98f7ba2d72c8b5d41c79e3b263d85adc1990b17a999b0da68519dda66d9930b5b7a219d02f818db6ab00b32bdffd85bd7c7d921ca595e90b04677096a5594a5a675eb69d720677da77279e214769a6769b38aef288f7a42f786aa7c6e0bdbf0269530e9c0d001d510efed9e182fe39f986b6f022c0f8a1e4c2b9f956508602b3edaaa48b5452057e07dd07cc217322bd11a2e53e4b616b61b69333db931212c32e230ea11bce8239235e9e98b940d51c360050e719a203404222916a52957e4280adc9c1502728180127e953558296b0273d314269ad97f541268d723798702b4ae8a57972fb6bd056fda5f753a7123186619c2e35172d7af3c05e432be388498c613a00722347ebdb2a5a7babedf03e5d04dbe890b9d14a4c9177dc458b02cbfe72f21e2340118b4740970867a7ecc4e01baca80725a5eff55d37eb18020e7277d050dc6c38e19a155412e714a518b63bfcb5be22b97e16e0e32a72ddf9c069c3d019f43b762f74ea8d7e4baed5185ef9a837decccd647ba38dc92881a86c9b59e9d0bb6c8ac0b70259de8b80bded1c219e20d4e0a8bc0d43cb963e7ede5894e037f1207259eac7cc29229664aed0a38fd1688587f7b11ccd3c5dc1694c71fd80d6e8b47289a1beff5c66486ae6f57248bc3d16cef8437dc2ab5e0590d9db082a616a5a281f3899d122cce46c61191da8b75fd1f74de5953abe912c63791aa02b3ac9fe456374ae177da37347644475ee38d5d00bc6d1ad080b5efa77202c2ec609ab7a43c76be76d805a42ce0f1b27369bba8bf23afbc3b5b5a8584c350cd2becc04aa72616718b515e2373a034c6bb16cd0a4e9a66beaa9a2a678f25cc8a253eee1876c2195f1150c385bfc5805a7fa03aa66c4305806e9558545219ff6975aa5eabd72432f36bf8352986fc79aafd753a97f7bd49319e730cb446e4378bd67a79c59723f15c725a5db8f9dca9d8592e8bc5ef9ee20588f1fd535bc6fa4ee18a11fb85f5207ec0712d9f98103f5ea21b8f2289609ef0d346dac2793a1116c2040a7e35a6de3107bdfa01823ccf99dd48eb09fc441eea502f12d6cc6a4e764b99003b972f984548dfae758494e163730b20e7172ae0c48584e8d3d9e15aedba18fca2b720ac3f7a307af406d4b724b9db032bf22941de510f8d5a6579ef8de9775b247432d556e763a55d74a11b97d3a095f731a9e48cda3669f088f5b3024c31baf117237dc4f804a183b37dea5afebeb524486c1f4d4b2be3b97847acc130989e46a38f1984c1b2cea115af315fa802a4216590553e5be66fef1deff8cff3d25714f15fd13a54576882d31280a5c51386989f5f0d4b9a9adb9b4e3f13143ca0dce644d34155916abbe8282a0cdbd64d415d6b24baca1b1b27147bbe10c3ca4e36da34eac91e259064df41242a7051fd1386f6462289ec8009da40259762735ee694a39548612504a6b17cd18f288c3cd5d1e0830104a20f4c2d679531555b7c4c07301bffb071150a5158550e247f6d5931adcf89a88d32199edcbde7792693d316649c17b93949ec6996b48ff13383704aabfedb8162d42a31ce1843cad3dffa4af1bc33f6a7fcbe40837bf850ab6a68005616a4d2ac89fdf0f1eacb3713e7e95e472d1828e5817dddf41f882f0dd101a2f0d486deb671f4269f2f3cc4694405c06726b51744e48c6644431084069c276a64922aee265c501badc4b463f9f71347572bec3aba51316b6cc3dc077da03fc1681ed8430290b94af6696dc5d0bd8c31c72ec466d722b2c7ad0c4de82c378e5e273aa715640a0ee58655d22ed02f9a8752e5087e99fa1d2db1b026b7dfec43fd837af0fdc982ff39c6f10939e25ff7d52118ae63fb953891b0f6af023d5659d15db7a32ba727b2d066f98fd066789a4555a526583f0a1b015ae843ee7c897b91216e9a96ca8fb080cbd1631988858b982725aaf6575641efce25d045b37fdb68493c888fd2c9f7451ebc768709abcaa70391abc5420469fb5919c5af32c689326189b3458095d7ed6a19b1b0471e852ab2852e0c33e36c7da1a598a317ae45d9ca621661344a47a65c0d2de9f8b0f973a728355351e9f07a78a64ce9c6f2937a21aa22a75354be438be867f17e71b1c9669e14fdea42918c9ba5320ae66fa35acf63c2df88610a3516ee7809f6f00103a728c11a87004adef376d691c83470e7dfeef172c1a42345268b64f30a35659f15a2a8447bf2db3ac9c6f3fcd59b2a0c20c1a1d59473315ab45b052e60b75888172707d1c18cbfa21745c2b9c155f47789be871764dc40d877cbe6e8b05c65afa728142563e7b6c4da5ba2e06c5ebd452405026a9d5c989b6e5169b91155971c6388e98a57aa965ea4ddc81222a0c9e5aa888ce29c97175e48dc3c0456cef9d98727785f8432d4e65ffd4425ec737fedb252767d44ae5bcaef4f8f32c74444d2572ab7238cc41ecfbba0b7740e4b7da9f9f0b300340a620cb99f6d38cd623527672343616fe54c1aafc39b271494e3a265ce3f2410a3c3a14d6d7c7d16dc23d6072bdf933607449381dd85feedb73588fc09510372eeb99ab9b090233df8f1adf7263c48503c143529aa94d79ffd60ebb2bbc72ef3611b7c0bd6354b7af4b28c3411acd58ef81c4b4670c7c124a865d8d03fc9a87067a3e1419001b61f5752322725dab3cbf6ba862207fe2f33b44f0e20fe8b7ffb87427ca71b2d65d4d26650c179d53e9747177c255c5afa9453d6ce16fdca0b704453ad5356e336629469b7f720b2aed0213b6c853bb426e7356356829df2e5a78e81462e7132cbcdb2f090472ee1fdb557b2a9ad17d337c838c7fa12ad301d82e88d26503a6ac05befaa2647208c63501538d5e155f6bd04e7f0fec1c547c4179a99aa45d7f60f34a51429c315047e9dcb9b8e36174bb3a07bc398d457ef4e736517821ce9007813b110262724157f17883016c66581c33f64f78998b2534950147500f4c0f31e66959edb446efe99b05a96ddce27276873cb593ca008fa7a6e82a1017af19f0232802917f02679fa7ed38bade46303f54124be475b3755cae4ebfafd532305e4fa1cc861d7257905b5816f179dabada52ca384f2adcb3a96005fc38487ffeca2cd10810db72a8342aff32b34a0d3e8ad50a010640eb8314ef1b33d45118a52ef126c30f4f728d7b6566b9774b621cfd51a5d0b2dc5ce2d8bc4d4faf02e24e48754e8ff6247257fdc11746f2ed6de4cd130d0e366ced3b5856f456fae499cbf5107d3188e27217e8c0bea5859bff8ed34c58627a7364c115980fab925daae42cb8bc9dd4774d2dbbce44a91a5422be23221e633cd21f95b1b78a50989aa48b61749df5602d72f146b6a484e35203831cc7ca09a6c59fef09112d8a01c705e85a1d61f2f6d3721703f90d4b30fa0dcced2e2cc1d080ba3d442f66f9d1e34544b5678bf657460d548dc18a10cc8eb344ba9035636fd9cbc10dce2a634a34ffcdb8e0ce5a796172a6df555a09307146a4a28a93aa926724da026b58b9f12363c9dfe394ca4a9072188f3f81af04f68e34d4bf6a9f6584dc9be15559fff91ec903741436817b5b61b5ced415779b120060f2c614acb074d25e1b25a6b91cb3188c9f8af1d25f5123f4a8b5f3376a39ed4d32e0500f508e54134d1f6b1ef9dd865866781283f74a72eec230bd1e097e97a39f61b86e0d7247957b444fae628fe33b1ae06cc572c772c70055f4c9f707b94aef3a3268e9dea88d7b06ae6b19e4177f25c4f08dcea0729df3acd727341b65e26069ff8ecc9a84d072e018bf70d506c8083b2fc8e9ff725458c90ee41e710198896b20e728599aa8aafbc1e0c1ef4959fe051be0feba72dda0ab7002ef9e0131e18788bc64c6fd1a7722d0a00a4d26a5c95425ca3a5d72d12726811b23ba5ac0e9218ccaa8a39b59ef267137d9e801abbea6e7063830193ad38d667b7096a948a354a8a2387d14ca599844eb18308bd78bacb3ad09075ead773f5252f40a9167f670bf0be81f6a506b4cdda69f77f33045780398464a724a4de2eca2056e0143017f0aaa5ad2d5d9b05af027f8d9a2ca5d0b747c505544fe5484bce0916edcae94db5c954e5603bb404beb985491694d7e77782a90c97297687f6d8ecc5f2ba98c67c7bdf5bb5f59ab6d3f9d730c24b75b58ae02bbb95581319118bedc1e96d32546ec6e076ea280d27f59ddf202af393a94fb8239a15f7578ea242792b84c49e07b0aafb961dcbae1333f2d950cd21de87e5bb7584072b78cd288630d350bdd351bbca38b092896aef3eced50ccd97e9ad653e6dce772f514265031cf6586f956f2014aa879eb2b76fac911f0b30384b74c32df082a72bb9aa6560ee324e33d57cb4ff728c52541f9694edcbb411e70d3f305412b01728b9b4319d462d26438741291adb1bb0c6ed3482a227148f257ff153807f28f7237360fc4f29e8096c9108677f89a389c9efce9c1f107a6621a6d4b22c3eb497263e4709781d1f9675232ff0214bfe4d3f8b25fcc8b47bf9e3e33b3a7ec6c137204d8302f2c796f0c9c87ebc000b6e5538da4cb6374a6743c275ede79bb19ae68129b4ee50f4038322f39adb4ea38333b803bb69e96a1ec60e15d28789bef2256eb6e70c9f1edb4a8715912cd2e5c6150ed2230876cd9e47706576e24fa561d63e0cb90c755f7e065e24ad216b126c142829a4e68ebe949174eded2c00f39754b77ac8e98f1f5b8f2116935d3e4bf346bbf78cd33a5ff1d84453804bb07ba5c72c7a26932149bf37c1996abe4202444addf5028009117c88923354213179ff006f7ab41c3a71b99c5674ba276f533110e20dd8263dcf693c9b64b3f4bf0a28b723000a51d11d25502bede1f8f725645173f6ac896e4a4e42f33987e88c1f356729b5862da2501f7206f2292621ede9b70f8a286d4fa2347949e8686a6c1f9602363c2d4e994d05b54482d40ec380abaa3f9c1871926dd35f37202c44878841872badbc629497293b64f2afae47af2361c8d559db3f95c8e8afde70554527f907201affad0e8ff88c876274d3be9779798f34126d032e26f33003230d35e7e56723b8ad0423297ca713323c84ee0b7d60b7ff6eeea747f0babccf439899206ce72d6558ab974121506bd37d3b0595d738e01fdc1ff0ea1ed03e0d7015d4c573f2e3db2ef534a410ff24ea0b227919ba4f18502c65c1e726098960d96f74012227270e6d9bdc8edbf3f29e8423fa2ac8d81032fdf9bba84699438ff0c0b5c9069722627d02bb6142fd8d2cdee57afb6a88afc68a9c2b05ab7bc547fbb6c40babe1daffddac9885146cc095ba5710fc7ac04d0623aa682dce02c8ec6dd46e718b572d22eaa74d5fab0971f9ad50bd6959399e0df6c8a20afbd04f7a1ada1db5cff72e930e638528517e13f0882df73bbfccea6327a5114148ccfd05860be2e8c057219a368f3595d3f49671a56e05fb279ad247fa3c0c3c0c6e56c8bd97ea3236172addc815c531fe298d7c25dd55625f002533ca1980bb2a7ca7af0c447bfda81725a3b25fc9eeccc15c72a83db55fc351e2c2fe3881e5189acbc1101433f2f8472d327530d7c7569dbecf2edbaf8ec98aebee719bdd2f4accf34c2155ddbfbfe72da7567789b52717b1de1229fc3e7a96530da2e554403aaf241d3036bdcbbee06ade44caf55793e18646394897a48ad0215c9d41062b431ba7a786b8430349272948ebdf2cf946c3e15e352e06e89de22e94db124353091e6e4bb356917f73316317525084e446544fa7fb14945ef53a900324479b796d4f0e38f40970a9ff7720e116d8e563b44d821a813ce1ec9e183b51fefa8e4043f96dcd5a56f0da4ed403e37a9186ee03762ba885453cf18063dbbc84b4df0055039107a162f44d1b972ffb157001a03e90548b0399e3b7a823ed00b5087679bd50afd8fc73476fead72af018ca1e2d44f5c94fc1fb052aafdc1d50574b8e928363d49a78dd1d6d2633d5f97b1a07cf9703bd3ecdcb222b65824e24c434df329d4107b5a867f57d60171311128ed6dd5e13ac5aa591da3feb47292136853379f47390a4284963a4221468eb4f9ce3c8f9c9e538e5a17b0e471d750322807e7145407a378ab1b9ae754532f4e4eeb374e66aa4b90268931cd72caa8f7d16cc509ebe37d5eb8f24c9e2c60020a9cf145bd353b115256aabddc95cd2d9ae6c45e064e3ca3e5abd34cb70229ba991738e7cb0b49bed2566a0ca1961c12e2ccdfa9a2d2ad977de61720b85b2b2588f1dfb3719ece2231fc2c7c4d4edaa41e612af156f0b59f3b21bfaa30fc72b2c20d95308a01a69766b130263564254ccc6f51fb3e3f35dddad1e088b70315ad374610e1b9114be9b6d6a8ad3028781b504f363585ab86d7a0fa04f7dba772be5a088a858fc333feb3b61bf3b7786f3c092fc5007360c33da69ecb6256d66df64cf446a91d5067f2924ee1449f16da26894a2e422e255e7a3286094f4c617216c00fd9908508e028bfb7ba60c0dec6a1d00b11cfaa71d922b55a5417d1c372813ca80c800612c59505da0cc1682490bb3db1f44574876e7b3151069db6d869fa058d22a0cc33b2ed50cade3e7e7ab115673c98ec0a69c496988a6b52cf732d6ed20e8e93e0e0345d07b55313ed832d5e24899d8e7474c0777b2a3504fd8572fed420b0848993d034b27dbcb8e4b9ace286dc3cf6d74004513228c2f7b4e30986e5463b818c53be62a67a43322cf31cb05d8e82e30a60c97ae7b6f633b7ef41958981301f41db2a62cd8cb623f9d4e5ec8440c7c97dc9f00bebe89dcca232728e16e3ad5b154d60f272ee32f6d6ab7d95fdd5bd0f9e22b5c7023df972a29f72f6f947c0de5f11aa067333b2c14530fc751a4870fac2001b1b3650c1db695521d70385281f81b050236d01fd32bc5515a485d3fc7a3775da41a063d0f7bfd3722f46dc43abadaad2785311bfdfe67e3365dc5e8c2a36a697b4acd539aeef147288bad98ccc27a7f076502ecc4467d260f941a4bef0f2caa8007518238c658e7205ac9ea895f96b2043a97c61e5720ccd323463c1ef39fe60fb86801572307f5f76b9cc8e65ec514c253b6792f94c1efee44c27d0fc23f3dd8111c4dea16ed372fbc573fa40ce721bc3ef5a49d2e1b89096e30c2174f326d69ba1ebceb11eac72b2aae67c2d205b6bb0654f8823a680faa1a1dd7bf3827b257b98abbb3e5dad7227d7c5deebef55b51bd051ed3cf5e6528d1690cf04b30af3f9bb796bcd6f611df6eaaaffb9f5c7581d6d1a20730e62a730c90ef355e05a6d93a41ec4d7d76672a31ccbedcf1ddb6a1635b9489a54b884ddd2cb1686b21b99ad52e3015e0a4855a3c35d2f7078739842027bdcca0089bdacc93b7c35c23ea57287bac2a0df95721c8a6c318fa8d962eb411d23d8f770106e7daa881588f804291b71b521c98708bb351f9f884ddb19b28794057cbca1e3d969be8f213774556a085ee2a9e15d72b140be59df9adcb946a8933e386ba99b53af5d5df61a868e8b510f9b3dbd967226df7b05bde21e150ea7f704a8c20d790985abfbc284414322931631d5344455d815116202a985f1601e4bd75691e1a1e1b5480bd86f756d0ffe41b023101b4b425781293cdc091fb8e6889499ca9c0f677b90024efdf69ca6d377aa16845c4b93fd6d9004cd899e478aa8b59d57705eae171cb8d36472d694ec0a50accbc76b3c9015cb14d08add176b6d4cabc6ac7bd4bca209be9bbaed28ed327c85222c726a60e987a26ec2fc747d7df21c34638744bb613362ff1f890692b7a696ddae729a66a7bbe097d696de161216007f63768d72230b57c82b34baa35931196fe163e73638bc5b6c95f60e3f4791d85b7ae24a970af206d6ee6e015e9ac61ffa7f3ba557e8da04b31ae7cab4c8448b464bc509f540e75124ca97a3c8aa14acc34c4afee7c4c326394ae8d5298c76d54516bab9c3467c1eccf947e491b130d0f7aa7262f0274df2ab657969fed9627fc3c2b02b42bd0892d89b6a575087dca37bd172cddf65a59dd924bb1548fb53a52af8a6e0866b0db04186d43e99df0fef811072fdf5151b55da992f2093ce03e68c3da65f6f85e5e3118c499bf8c0e6689ad972bdb9c7092962748d2c946b1117335f72392f3c792cea7044ca45c30c4dc6e572200f22c4eb34e1675069ef98a8dd17fcda1269f4613fde7649c543928b8e1c35b5d410f0cf468143f962f0d514a0f6ca6d197d8377ae41e6d9100613642e0172ab7374142b9f3a504b0b734c27aeb640148b656995c2e982696f9e4123ed4572a8ae91bfe670841a0899c5a3d7def912da5a14ae0d3d759f719ddde14d988b5875a0fc5b6fdd952ccc2f3a18cce9b3c20dd346c0061ccb12c1b44ac7b045f028cad896013772555e36912edc4c3ddbb8073636841972581f47d204bcd6f94a5d4f2aaa9d6a6d9a5462415be12a96f586205a913b4bf2ff56f917ba8089a70272575c1c36d84a7bab921b9ba24322dbd87f0189a7969ff185ded6db9aa29eea72dde19a6bdfff2a5e5f92d5eb6ce1b6aa934948800c37f6cdfa839ff3405cb372830a285344337d6ffe6f0780e6ee635b8ffe87f47879a64503557fa429ed7d2ddfc495a68843296b1c3bede94393f5b0d57f71cb64cb64e1e97e5d26ffdc893a9d55cead605153ae677d57772272120a3672e1bd629e6458e674704a4d28f17253db2c9ffe5f970eaec2cc2607f8b536ff773c5692e4963d979e7f95c5521272f8f466e9dd4db6d90a48303001952ca7d48f86aa236ae4043176fe169d8f017283a8c75536a5ba83c75d0458f4e8887e4e2c6194bfb056549e5a14f154252c721453b456b90e42042d1dc6fb509a44bad603a6de78b99297c61491621b728d72244c9cecf19b6bac5e3346f0b4fcf93612ac27f2e0660b5d43afa81a6928c272d5ac90966812316a187621d3fe9b38cec33b68c93c89f40485be75d80f0637615ad3497340a170240c33183839e67b8f07e9be2c806837a3ce8e618d22729f72e8e999345941383027623df7e38dcb3b833e4d25243c54ef881defa8ecae4d70687c319f63537cbfe2930e147e3e424b6f7887c0d8cc1a1160ca1a9b5c593672b3210120eb41cd1dcc86064ba560d2879a74cc80cf1e8c0b2038e32992b5ea72d9bf56d59d72a705cb23225956a3547f4106bac76c5e321485214ca968ac522d5a3d4decc7ed35f714255ad099ce22e462b0976c04e5d3da2f3341f7cada697282501bfa92800188bcb9fb01f846645102f567b20a6eec4db43e1dafad85b8722117a8ad94ee1d9f371912d062542f594107ca9f21108e2c0cb04f1acceef90561c8d59331f9e56c462b74e3a483b64bd2db16e2c7d1a5ccfb1b0629ec35296706be582e24a8cb8227e6978afb6ccb6c8aa51b33361b32986884b81e6c140f63da597c5f082284be12e627d1f5bde91e1612e9f0ed98fc6ab89b561b989bbe32e54e7c2af6252bb9b9614b0ee7bf7f1eaa520674d93bc4a3040281696e1cf9727dfca423c4dac4db6f0a278273179625bfd71d845b46b95eb10aeeefeaadb272573fb68b7cf24c80a90a4b810f27da3ba6ad2c506455a1d16315bbcb37c2c371c6cfdd092c6c1a8880c5457305b72b53451132edc584c3e25c4ec606682ab5725c742024aa29da05cf3a7ca629c6829c6c3bbae86f5292d4fbf4213d15497c7271aa9ae6895fabe93a13116dcc9e6e934864812a8f6d1467ca61b87d137414725f5d7ead3a47f28ab2b24bac79e56f906c8233245fe793771fca41738cf11f7266a7cf01f05c39e0c1dacab06ef56d203898a4e217a6624beda485d62b3b4f72a0be8e35e1b423ebc6cfb1fb533cdbf18f219a2251f372acba54d4b27c36f872239eb04b9ce898075f7d22013a5b0c166d3492c984da6f498ffcc519fa70fb713aefa16d7ac0e7906932d15b31dbf8ea6aa9648472d49b25f57b467d69378e72539a710672e2b41c73369f1a7f9048eefaed399f005c3d179126081c22fc8f723ad303031feaaf1bf3867265b2566ce38f24b0c1be3e2d233bc6fdd49b56e40657605d2e8f8f03457c8ec7f82c8c3a5c48dc7a5e367d07c861a054463397c73385ca255a4733ce25d1ba22771a6b3ec0449ab824c5eae87148f7ca42f5a01d13650273081fa782420e8caae2b346ce9db51f970b29d1df1a7cb0325a82a3ab27c1a8bee1b5ec502b8cddc0e81ca6091594c21a169e3f7a67728813458d075a72b62e0cc5d005f877f73d87bae96e6f3a045a710f8ed28289b82d2d1d2b3af4729e5ea74713a28aec9abfb180ccf3e518e8a8543bddde59d87524551979cee972e9ecb1a8a1323504cd17a7b64b98a5076706e414e5eaf83bf7768725b2518910a9b175c316090ff7e1224cf64e627097929302a6af86e0aeef85f2b2bd09b472d06ee4c8a004527ea640b109180aed39bc4741ea9251436c6e06ce484b259e72f5eb74e628398ee0b2810dd51ac887995943791a4816bfd8c7b5297b7d1aa972d504a06bee74f7b319e5e358ea740640e9663f64d94ea6d3f6ae3808ed425672b26beb94c2a0479539160d22c3268339319caa1697e877906441204cfd324e20cf48f99ab62544115902eddf3470289f9ec6e0b671ded91d5f79b363c133c0724cf95088245dc5c8f58e475ba9db0cd8d94d3c4e77ebb16c6f8409eec8e369724d1abb756fde02aa169dd0122bc05778e523115ef6af4512d9b892dd84018a6c3d140e8d9235e72b88eb58c999d26557df40cef1d794001771c29fa77de01d1fbe446b67214f58bbc24ddf4535adc14ece268cc039f923a507a7a780c39edf72c67139e5f2a0468e9cfc22c9c58a5615bc4be95cde369414814c75d1fefe5972d8e4f72c4afbbec475ac38d7adea97f29f16d3997fe0d62b4a631408d996d961bf23e8da081d5e1c8fef7632b07abf2f8ac3b296fab204fc3aa74b0ba9dad3720f84fc3a9b043189e76f160b730b4c3685b7e3f24c30051ac095248444fe0727e5d76ca1d0416d6ef6213da87c9d5db50130e71b4eca12913c57d6934dfd5372202d70ef3f5f11dc3abf0256ef2259adb83da80458477162c4394ba02899f44dcf6d25f3ab7a3fd7679139a69c23a1a95059169aa3a7e1176c2b12f6ee5215727c10526056c4cad112da123ad2d1e2d2b46c950ce9835aa561880bb996881772e94427baa61ae518af04a328954d7557c02b3e1f744e84bd145a86c382498e5a0e3754ab18afd76f55cb4d78f4e8b941b4bd55dfd8131d2a461b5aaca07cf734296cc01aea56a981fa9752b90e1b8304cdef81610d0c5e697ecc438cab65e772f0fef9d6848333a2e50b21705e5369a71dc4a975f0f55af29a44384fc1453c724c5866766dc8de304d11f50fa96e88762bc1236e843e6c7bcfc763c2d128b572a89cc8bef59860647342ae489980714b7688978667109041e91310f5764fa4725df8b3973761239d87edda3c3ebff81e0105b645a5a385a6a6480fedbf980f7239aaee1ef9241d972256dd421a52983c80df28f28232d70cf829a9772d82903b90d77b57bf6e77aa73657078db3bc3607123dac1288e8a9a815a6d01d2d60d728e9f36340957e00cb01405bdb812c26faeaba09dce1683a7a177e1ad9ecb4a38483f22d840db1a23b328e0d4b2c7f46a7264a9d96b1e26229f4c2b23e5962e725e3767a357214a6a5ec95a08cc666be277fbce5d55df900a4834f72f4a8ab803a9d3baad031b739637b2b56acef02aae54bfa1f9089ea0008d31ea87259b72685ca87b0146823d7688fd6b2d3c5474f34b53e7c4e4329e4bed54364da36c245aa18a4b02ae6d91ac3b126c937935d9bf119da06ff90b41ad92ab9fc0876e1b030f9534b7a92f9a845c08f2537885949be2aa1a3ff83e59a50f4364077e31a272d84b002e73467eb551eae130286672ad522cae758fea385cd6574e3be84949726b0960831b1b9ccab61b67fc14fc9100b3e1f9e8a6c485fd57c59864beb7783cda608ede6ed11d5398c21f85b7e749852ea083308ce65d999cf3eb2ff34414725e65c9a40ad1633b62950b0c920d65916fce3ce7e7d7d99b123af9d90e92066fa653a934ff03775b64a2a54b7d88a8be5239a42ba4382eaf77963ca01e36cc6ec797a18772f5922a27c4360182f67b3444d035018dda549975e6f694a371111341f927c1ad3ca82f7e3b3aa9419fd43c1040f5d18702a88646f47e45650c4172b1d56a6414283572ed0f79b71fad0676e03df61b21b3c3da65de9cfe6545d07249c67cf9cd20782c19bc831c828dafc97d30ef718bdfbd36ec91543da090ec72987b2c2ea950b339f36d71ff8573ed331018f9e60638195440d189ca05836c720dfa54bca13ba39b2584e1a6641c61bce34482b89dbc92bc3746277ae92fd72c20c00a87ac02e8f68afd1f83dd3f161ae5f20abd29139e7ab952af8d06298672279865d9cda68bb32ff33104d295b0d1e6d4a2aa81e159bcc876c36c0946365e67d745ddf6f80bec35f6625ed8f120dab2901b239d06d72c99cc9d60fcd59072f6d56123c2db5e1101d00864d00b369ac2619dc196669f1f5f642f967c90a0729bf455a5b03b64fb7f67a88b2c3f221ac7a59099f87ababfbc9546219fc14e7297ea4cbab48ea6224f744068b342cb65d0f858d2395d2b10d783e648a41ad67223519760dd5ee8946901ba53b22ff43270ceb9900b9a9c41b6396e9031827172c4a13a310a542769ff37de967d5618756f5f709f717a1d806d3767842f6eb772de4e25fd22a1c1689088c176bcb6dc9b903f35118e5c7800155e07ef79e2cc72dcecd645b41bc47fb183103895cc92f90ffce30dd452515a6e21ef7f2bf12854739aba274c52a3a37ecc76aceaaaa67447cbe03622cfb4d1388f273ca7803c72c05a0c1f95d4794fc7b440e7d9155f2d9fbcea93e75b61d55a9af5755a4ecf72df7625b289ba7b27a70978ad52270a5df35c06d77725a74eaf9370469dc5e566a12458fa9c5eb6260cadf94e4ac2d0668ee58a013ec66f239a9851c5742fd372f466e7ad8e2df72e491b4ed5b6cec4c1b98d7075f3fbafae893b7d298c33bb72c9fa8311edae73d6fb837b3edd4f6691178475bb3a33532ccb4c0b64c095cc725d6efb89414cb559785336aa7db3ba88e0c15a23f27aa7835c0f1f2f6d47351a82f842e3b22b6b8471c6ebd2ce45836cfe869a9f308e79ad48bff32c99a3d872ae1c91786a8e8205ff801f5accc5673053d48f6df46d2cd9fd4691bbca279d727e63c8a64d89029c080265b1d09d636852ace09a5b7f56c604f80a1724f2b0519456b71e3fe192bb19a149e3278c854d64ac2848f19a5a9587b073f1b5a545126131cffc9e87d2bef3a9ba1ad071ea56b1600e71a4f2837d7197eae212f09d5f8eabca5ee574d6243c186a4b5d9e14800fd6b7e74a766b897846a0fa164e452491829a19b49e586c08b224ac51c4dc78259f80c0e1227fa22ccc0724057398729a8b4af17e7c6f58cee9eb9475dd75d85b2e10d817bc21be4dcca83defb2b22ece33026b5e6eb9832ff19f05b6aadd9194ae1e2918f99cf214c489251d8fdb72b12138e4574fce4559c00aecaea77393a86aab54326714e1d9ad60a77125c572f6cb05ef53e4a0659633ed48757f782686889784e77d77ae87de3050f47fa472ce2d5b4f3f91c952546492234d9ba489a4e0f5ebb6b8344a8e346af6d8f9e9720af28e4ffa6c53145cb570a20e08741b569a1b1848098c3947737140955c2d72ae2ec0bab6dd8b9109f57a006afc5a1f7177ee63baa2be4091cc85b4f402fc58ee4d7b6545fddce8d9e947584673c5b4db6769a4e594ec7d3efb12dd7c156872c19874cfdc4c0fc55c777ebf32f6cb2b5ab8298bb906445037009bc22566547208447c44af9761aca8aed5484ad443924e46ff081c816f5854c5d20f11fedb7250b49935e38b50ce12db03bf0eca496f54665c4794ea3f4cb5e321b9d74be37279f4d8f8e8012ee533a9d8492311b40b61be10ab1a2023a23804d3dc51fda872044788d24129b06415bd551954f9b83ba6efa7958416f263a6ba770632927672ef9717cb7ea1bbc3fbd6d624867d1a2cc5e9e1a054c7e69876d51188f350a043dd371f13e1b315e22903fdfb3d80c16809683503f626be691ad85cbe4a283c723b03c0dadf9da4d112025c0fa48b8e2f73c5b0ea9434e5fa78b30bb84066747296716658235ee9d11bf0026fbc802c957fc92d5d073e922ee9a9e90297e253598f4c8275a58dbc0bd727d6815d3c92db7d5b6ff566f415a555b4ce8d56f0895efdca7507e555ffeaa996695f53afb1ddbc41f6994a0923b340cdb47da9b6c272725b40cd92d84e28af744808927671bfac7639edb7ebb70f2b9394b5850dd472b9650ab4f37c47800cfc5dab8339b6c6b27bc50bba470702577bffa3e184aa72c03741130ea14173c1334e632f8c5a0969249121eea421627767a86356b26e72f958a4c43964b5e3b191631829addc5b3e8c37404d8bb92653821de1b9b1c04caa72c47ea2fcde002ce1c6c1c9910f32f71ebf6552c90848dd764ccc8ad191722ffe0d667198f201e41a502b2b73c7fed89dd033444661f7c51f05c29133802f2118013ed3b0119fb1658d32cf927cdefb4f9f23288f7e9c1a4a1d407a14f53f4c63d0481f4f6629855d08125941ce8f20d1c26bbbed8b09782a694dfc2c6c7222b22d05e0aa1f23d1533994db99fff55f581329585f7d8cfb61b79a986a6e7239bc3405d765dd3d3c3f25c6c14f198e499c138cf7cfa85498b19c2428651a7277848d4dc9b588049133ad825ebb6abd84cdf045f3a3bba2000d1607bfde2072d0ac0610373dda9ea78eb755eca239d48cf0207428d94041fd35596169c2773c9350bbd11b3a4a709d31f1420e9c38ffc8a949c404bfe22b2411012bd50b7272163cbba397291cdd4c472a67804795807a93df009600553e7889ce0bdb522c0460cdf125c90b5c12134c4012368fe27fc55d9c7c7960a6534e7d96aa93d034350881aaf51653bb227e22e2ffe4485d0917910e2460ee2e6a86e106ce12b12c65d9fbc313d956b382c610c24cb5bc444b4d6bb5766ad132235955e83dea3b8e722da8e9efc0e5e249649b267bfc572a23e93f424862222fc72b4aa1c21c27a01abd70566de1426263e4d2c5d9d2233d4d75d32986bd9a139916be27194a98ea4480dc3d90413545070d67326456ea3b7a811a83bf1dc9da43803122959015a049424b2beac782d78de9bfec39cdfae9c46601f0a600a8f690b198535c03b6835b74b61fb425947ae4bdeb2d31fe84b0d2153cff8b0393b7f0194e0192bd300f2c4752ba7daf6bdea1282bfadcf0f9075886684154852ee4cde7d1a36ad0e2b372d4af3fabbd96738efcc60b2b09e976dfcf02c623c9de848e1db1b0321de98672ff954b2f501c97dc7b917654c89226e72202eef6cae7860069839da959b69f43b602a26eb90df3a2ebbec0f3d4b65c216fb99b08246d7ce1679bb084fc9b1a7270e46d936eaf98507934f09fc0405b9f49ff6b4fc04c5bdebf1812f75d132309c6c95e3018bbd81c9fbf84e56a35506c51b747af490dd9a84708282c85395a66204504291b319d0a468f78f87306c231a7e4adfae824cb9dd1c5c6049b2787728c0451f7a701a7bf02eabf5582bb752659d8b17ab47ea76e9e5a8d8378e88847b2f699391c417a2497fa9376acad677a24ec1742b03705403618fff333ded572bc0fdcd3660a4ccda7e076e2bc4da31dafb7bbc228f4a32665010f32202960121ca4af76191579128b39c487ed9a55e0f6e953e49d497b7062e0e855e35eba5f834ac5139af119412f5d70f81cbc285eaa6e9ad2d3c2ca28a5023b94ae1b911d0c5c9be8e5d907fabc0e7db00b0c722cc882b627cd4805b01598b814d1144572800486d9e8d4873d8ab8f06d7c0b3eb3b113cfc4024e3841c9326a220ec57c727e0a5a2e4608aaea045ac658c9ca34203b1ba6f1a907e71723d609c174c4e3400ee2b5df1f24ae426519b0cab68ec7ba3738b323984fa990ccafda395f0e957275d90d83ac6c67328ea4117dd826f8d732f5841c62b396e1fbf66e9f6d627d189f6337315b987814450e35c52c649b6e3bfc2e300646ecb1d60b0c6d293a166390e106e90e58298fb13574c3cdc3085d476c798308fd5786634985d1317f9872fa1b863408612a8ba523b289455796802f451596147350b71a72d0f098b4067213a4c21b598cb9225bab9360ee3a080d1e1c6b74ba0c9a9702de9a234116da4383ee02ae8378f02add9572babfbc10db5da06ca394e94258c89190d8f3248e1092b9683a3a37d48d18b839630294f01f5dcbb62eb4eace220013042f1bb08a41b523a45cacad166eed72b3f65e5ac755b9df87229b04921f84f0560109e66e7036feadce1ff8b8bc301855b6a7490f99ac4c75c1fefd6a2d4f364561a7ee187257ff1d936dc73ed7d9e2252a8ec3a197ee5467c9ad8ffc142588231c0e893f027e556dbf02d9690c97201d210c40dc9cddf3129b2ed7855b65fc85dfe043747207a27367f72bbf26dd3c958e08d25afc3c374e4cf813da39982fda82bb027872e8ecc2875326fefdfefa1011f9ba2ac2f06df78b3216aecd150f5a2820dde95b7ed7c374a5ec28269d0366690667dda0250ec18118cf93e2b12dc4f6a67907720c87af1d760345d42d1b508fd7e7023daaaa50d690e8a5b95ccd0367581a18721ef4c62b98d5ef73d6db02c25642fafe23bddb951dabc2d50d0ec1409456f072128d625126713e0cd20c0e9eb1c4ffc56ae42bab37c138290c16caaba20c6c727d4f24ec06b6a78699b0b2f42c06f66eb2c4558138c751538e3034e8995279727b43aa8a2e5efb3cd167697b39735bf981b3dfe404321e7666234276fd1dd9723aaf283f7912972e0cf72c92373d1adf1608224316a0395cf6ca6aa78639c33aef8e9f3480f7c372fec7e9693cba5a3e81fae2acadd819093471b396e19e93004c64cc680e6edc508c0ad2e1c5c406e80f4e5a4b3a62a35e1be0eb32b083f41c147495a838878dcfaeca6dac5800bcd6f7e7454b472253b23b79195d6a1106176aa22e0a6392f22f15cb245623dc15efff3120a017d83f39e6de2b2b483cb852e3f15ca774887f61d563096f218a7285c0699427de7e99e497272d0fd585d872dce9eb09fff5d2415e60174a9e161de70dc5abaa9fe5f08a6d5ce072b1dd0c7286b1f2f9a66a784a9ee185662d44be4df7887269fad906c3615e15db6d4b5e22cf3a401107b948a676d1f235a923562d77706f61ba2b7d3b4beea19a5c0fb81b6dad94b3cd59a9f53c32a9f95e2a16591b843bc65ae77037795c235cdd35a91adfa7b446018963b2b42972ccfbb56c9dc1b3608df27d854a0b6114f6ba302e727756cd731bc25f180fcf1368437f3caad20f3ca951d240cdb340bcdd67700e725adc32bef268a78df7dcf6c5d140ad1df23d29cabb11131a82e2c0c900500f727b0872971be9910c13e0fd015c2d5dd45e1150b79a3cbcd9e61d15ed8d81335a629504546d8b99d29e0bc8bd55fa7f829a528c50ebc0097edb797723a2b17272cd6bc584b73ff608df0a53f22c4406c86fcfbde063e14d28df4ff2c01ba3141037d0ddc2981f44fce576247c007c3ad2f1d9328e10b2f24a0e5c5941faa35372ca3177de71858c1a7adade1b6ea40eb305292fc1acf4d68984257b8662a79972445c9953995e8342554c599454d8d454e7be8c4f21e1c7a2c5baccf918be4572b7fa914c3e66c0033ff474d4698ecf4a2dc19e5967433b84f97bb35aa03d8e7282179ade802a6d775e4494a4bbe11f4272bc65dd0df6446b7bc4dc11c14da572d1fe5e35aca40e542d4e7882bcd11942ff2b367a7f568c585e5cccc021b8c91c4138f045437f5fa9d0d5c895ad8b613b874c22fddda9ad46acbb55c8e10c6f5c69971fd980cf9adcdb1e8c0fc5727ba41a65cd22d5f47f34429beec9a9de9b4cbe3435911f09d200a62d9fc43e103696db79b98be22fd2e194e90b2d18570672319ef9fe3aaa8b705b7ae3fecdfe1402aef868bc2be7577c0350d638a4c10f1163ac63b1ce3d33e6fec17dbc7fbb45d70ca3222b785d8318f62132aaee8fb972d5c0ac153b3e367dd7415dbb4d5924b995d229c7621da2866b029e52cf009c729e7ecbca81f6a6909676dfa0199d89a93dab47e03356711e722f729af5d15c11a3fea86e86d4f678d9d011b857bd20bbc95456cfb0635e0cc3511566e839a46dc96492d4b7a61d76d9af9c2c7480937544517f5ca40ec39604b77640fe843c2647483611e2d68c39f6e581e161ff39eda65ea7e42562dba49ce857b8098d2072d9446199f533a61554d81ec164df1dba2645a9af3da70e4efa2b212ea630280355d896540debd46cf37769bb58c5228a230c6fbeef8eb4c43134bb746550494ec138563d013a7c407307ee476ac49339271f258260137c4ece56b2f82cac4e7293cdfddf64a462fc37cb9523c8bdf8beb386dc5fd82d835d39c8df89070e3536befb5b8517770baa324320996ac5262db50faeb619980cee14c80bc27ffcd6729f97bf906604fd2cd1db41aa7b0338d1248c310eebcb7ac6df69aa65542b7610fc0b17c58a0cf36a9758f5f83a4e079fc057172c7990f659e6be59b3806b9e3e46ecfa7af334feac9612f6ba208d3214f8cce129100cb5330198d03527c3616cd7db535af9fca207988218674fd2ad6549128c1da931ddf6da400f21d6f687010394fcfbfdf0219cf9d221bc768ae273c1cde79dfc02dba3342ed2a3dc76986ae7d2fef9a554707d973a8f848580f07e46cd97f993578a3ddac1300f3533835251d9fae2eda2118315ffa0a100c5f93ff506e29a6f6f57c48befb1cbfdfa68728090f75918d72ea9b08cb6ac123361d86b7a0e6b1c593193b4ff6cc5d7b69d72e77656d4aa3dc4762ed7831b0684b2f6a30dc4298eeb4e187009d6b12bc228727c7578d861095f858609583497b45909f06133c7e4bb67ca307a7311f95f6072e6e71546e690865b71de317a0e2014112477df9e382947fbfa0c46898a2a6a722d8e451c65afb93df4570f1f56d5326138772e80c12cdd8b9ec72c56825efe72070bebbc0e4dca2df9a024d0c6c1f8932a8e9cfc9ff650f9555991c685eab408d49377e5201cd11e85c5395edec9954e2fe907950b3202f651dcaf929da53a46703a24a29adbe61f63fc813bdebf654ffaa459cba7f4740c717b21f99bbbbb13fb2e883232c573ffcd5f35de39038c6bacb5cc119d5d3d895e708d133745e7723c1006d5a2de3c84261a33c60594284ee21c2d55fc5653a465393961b7b76556e0251f4ad3eca31461938f2c74316e8bac3a0c170392aaf64f24e93c5083bd722aea050d8200f8912efd9b5b013f715b44b70a8423dcd808b6d6dc18a7f7f32deb65afa45469800839998d18d2da963c1ffd71515f3fcec52e94308e815fc0723f0197322513cac8db2d4f4eddd531022a279a72145f6555462b94442eec66727ecf5c1f646d2cd705aa888850793b4139b611b03292ed7d65563e23016c9c7270b3bc4a486e8c8e7dae8050529162be099ddf8f92059b6d8ef23ad53e77594a82f940dea4cafc3c3ec948e1d61cf331daf31e4efec01d1069410b9daa40d072292284ed57be47f669a3dddca29a37cb3bb1b62ba9e630b1ff71b165670b046efd9faa12c6e9516ad67d0132fb53841c12642eb6cf63e79fb51e1ecebbf04e1858b57039fd01b61bb56bb1fb78a6a232c32c3e00b465dd7dcd4768f09cde554f807d78f0b9ede7bc4855c01095efc3d655488ce455aa1930212dee4d0dcb5972b498a6db92c632e3be011a3d73c3e2a2e46694bdaaca0a3ae2273a5f3ec6e037ff8c94ed61a0a8fc5f6cd6e17ca104274160df05513cc65cc755a34fbdcfa772c974b95914e307e537884c095eb680d2e8e6c435a47bd6728f0eddb556714a726c1b115da3a9ef91032d1853c079ee9a0e73922bfd14acbbb4e762157911237222c7e6be86cf0f470aa15b0e207a47eb517b1ef5bf22b3985088f1d7e00e3170c53fbe6615fc156fb5e51b7d5133a4838b01679fb7280954d8153b4d0a67293c5633b9d768160e77bb79ab5f90e4d203f63782388d7a7e0613fd80ae259ba272d739bccbbd3b655605f8cac338259045a98ceb7a9933ac8b7a183f0a5a5a7b7248943f46615d32f31fc797248300769a96493575844efd7b02ed58dfc98a7b72324c79ce53c7073c9e1c54d49ea2b1f9a5bc74f466a3dc5d90f805881a6e2772f4a96e1c7290c0b77607af4b6e766734e0c818d9e34e91956e19f8336ce44b72802505b0145820cef8b06f3ef5e2c0a744b8c2c4b27b13db1e8b27248caad272695d8cf660d9e67f0c702145dfeb447209bee7dc5c4b9703a2545cf3b4e4ea557a1ab9fa833e1a5ab0749c1fc382fd87c3e54f5baf0c0cfe6618c99aa1b63472564b32b45639407dd961c026e18239dc9446753b1570a80bfd50949e6275bb723065b99200e081859d6c565177ddb6e75b5d1d8ef8a957466e080e35f456f34b8a994c0f093637eca76a303f5def15ca82b0a13e53137e98555b7e45e0e19503e5c7de6148d97826b8a39d045fd4d0ef4bbbcc47f5d69b0e290c5c7b3afc977239003a6f4cbd779adfaf0453e4ed78eb1f701a1bf508e4ca8405317abec52872bff450ed7c49c081fcb686c05da2ad75a9b71b13cc2c8ddd1660ab7f9c6d3c140c3f08eb3954d6e2a0702a06c80938eb3eb1e865cb26a0c5a49e72075b1d035914bfd9adbd71c4079f82b8d45a776db11b5bc3d85ce85aab8cd39c5f5b2971727eec74d59240e3b42d0bd9c6f44b7fad2a9fe494c69f26a55f0368b8dba9c872eacdea674d1215b633b3daac0b3487db40ac8c52cd8c68dfc7dba36f945e430809954229ef740a5dc20bdda9b2ca3ff38e8d0721ba09c3520ede8539b4fedc712dd6da77b8e478bd2585b82e8b5ca633a30d186cad86111bd54f644374080772036705426cd7a1eef4f138ad87d2257b1c37951d79f11c1424b6a823ed92520d53855af43cc0b537968cae16164d7d82e367c77d2590aa82a0bb40b51e7c3072c6c493003bb216bfc8532ef2bf8abdd3c227dd1b3b67b8a931571a4e69ff7772453f84fe3337e75ea8939924e32c64f343e3c3bc4eefbea4b19207d9d048401a2ec10b9433a5a466b13b6a59d6bf3f6fcbdc7660777640ec6437c75d16dceb16c147920504da58c529b142ef5787a4ef4351a46570a8c5ab3ffbd3882d2928246b061ddf4309d6d7691626726f5b8949dd5dc9325e2ef42920fcbc7b11e069726fb6616f5a1c9d761f1cdbdbc06b7eae7b6aa81a12208872de7ee10ed4e65a72f5b4a21932027538ee0ca43cadae83b79fd22f4beff5fd861fff8f9c99961272a12c2bf9ba0561b75b0cdb615f5dcd517395a1495bd8680f678da8c8d509d272c95f0a166218f411d0779fc253c66634563edb0d129843c6ef53d0f582a0566237249782dc01f2d9e4f3eb239e5c318104fcabbeef264fdd6b0e62c862759b2dcadaea174ef5119bce5ec92a334f93da8abd22cdadc2c23e3179a285f6b300082d3c9fafa5f82538d41960a63fe108f1512953f97a5cf57b99827d8840637672b4a72dc44e124a2eed8ea638b776f8fe64125fbefc77b9bf59b25410e0b16f72f66d4633917977b6a83e3cb6f98d447210906c2dd4968e3873c3bf9a75544b269695dddd7544047c88a995e33c49d3883768f9d489084308ff5b3102a506dc729322618a1d8daf0c690e6d1fd62bba321a8f027d554d4616fc9f1cf5e2bdff59e2d2305c502eb1e865b329925eb30ea5cfd5d082e2ca58b8932125432767f167e557edd913f568f298a54c93da0964a6747eacfef4ed557eeb6f2b49091a07724e897ae8c39c64797289ebc1adb37b0ef472f5ca110722b1b6c4b41b0fa63f7226f35b1250137213da89280ea780b65cd3634b9e611e12e10b46e7424fea0b7259f2177c0e8f14f019c71f07b685267f8d60b78be8ede13b8fa3e6c1fb927e717c9c667b5ce7a8520024e1f9a7d09d459eadfcefaad419f868d430a16ada987213c4e2b490d726506f439bfad56a60d763a08cf6291200bb3da4c525f18940725f00b0806d049c2e86735f1f2bc3382e7e36f4b6e186ddca4c59a3cab44707724c04159196839e9c93f194f6b4bc79236eee3276664919cfecde59fbc95d4d7214de1c25089ab002881f5aec257a91fe18821f5a27e15db5ad001da56fe9e40e4d61ce048ed3270e491c44302fa4483b9ea473089fe2557f9dd47ac00993e54e052fb054190621a9664d2e4dc2cb3e2f01945c5f539d4879c175541952bf0172d46a0006982662abf6a370f425224747b0906fa6f3b782b343d48358ed033672f17ef6d45cd15a5fa47591b8c16e095b578d723fc83ec9371615969cc6d37104435f46c5c8b09b08cea4dbf431f8e200d6b0a88c7244f3dc03e1f4c92e084b721bd6e11aa8c2f9c4c1fbc7260a529721017a35717b79cae7a4ecb6a9fac3212abfdd5d6a46ec713cfce4293fa816c87f9fb0aef87562e17af978c36a5698415f6e820862c9fbbc4be1a652decaac513d5f347b95fdefd36ab1ee1fd56c21373697ab76d41d89f938841912a335a5fa5f9beaf32c8cf2980132b7e9b05c838e72f2d4f5aff71e5bf2560a2abf53f1eced79ba36ec7594931335e20b1879b60a48129de5dc121d577bce58ede0d828d112b72d217e29534619545adff6fbebcd60e3ef0bd155f9ece9999b8f727cb3d8e11d23b269099b050676c1de5119f714725b6fba2c0f4f2b0b336413c06ce4f252295f487ce8fae25676c86347355a7d50c3cccb812add48b59dda55c8178bcdb9871ffdeb3c0dbce8a21c3675febe302379d8827788b002157efc2aab7b2976884b4ffe4cb9ba04e6fc1fa1842e617a72b8c64ee82726111c62fa442f8f4573825db40eb44c17385fd111de2a6d83374503da764563ac27f0a21dd314d6733aee22ad21e61fd2d06833db296a82225872b9edde524c1e6a78131379239bba6802c9621e93e1b01fdd5aa9bb49700f3d723b616b90200f536883792232075f1641165d73732c8432b96371caf5447f5272543a9c4c4152af4db17d9a2552fdf0155f4b1ce90555fc972a90ac20e15d7351faa72bc4bcf0dbae8b4a12ec4fedb9810d1212f0668e6557f3f0ef824317197261433da74c747c724ed45675908866b21ede40a26755426bc0da276c0a3ff2723edc336bb861ad1611211eb092e957a9505f98ee7f4304d10beaf91f854ac00be64d9e5f23691362cf8e09fc79d0b9c3760f8a4ebe9fbb3506802e3b93e4e2179f75547efba5c61a0e048ccdcaeb2b3d54a65ddfe1223669456ee33115f26c7220ee64bc47a346d0440201aefa9af5c439f4d94264dd3c72dbc71d418fabbc72b52950b0a9d7f704f0efb0b444623138623a0761238d2fa63bd5532080cd8172f7d1e6dc00867ed3a31ab6aac38b953f06d4b2ad8b8d4e581d93594f21fb687227975e0690d22d5d1fb4d1cb16d33046d50c55c6f50e2e3e204639e5344c8c72828c3ce4067ac73c83edb61573b8e42bd4baf0e316463e8881da4eec5196010c9c0d5dfe54fae1cca167025b62ccbe5d0f69e8f1a93d19f0b48862ea7b9965728ea0054f24d426223f3560d778a493bc49a20054455966e68cc67ce44faee8720d9cb3695993af069824d9fe5b989b25f74e6ed913b82996a4bd069bcbf5ce7236f6a4985cac3620381b7c4d239ba6c1ab1828cd1c4f400ba4db7a5a25474f726c120ab86455390e689fe3a3dcb4c24b3f4200eed6ce923bf2453de17f230d000cb328b18ed58d92f27b2fd24426ca19ef86e7a303cbdf30ae2c6c55e1a884729903df7ce0a9df710d268684208ae940697397563043b05bbeea29022556e96a4a2b8c7cffcf29941fa245de8369fa78d8c18c715ee4876ce44651e862f93842c719aa8c54d30e3297906594d1832044d39a4b2f0e3ceb13c3fdcca492db3972c2957b6511ed8280837a1843aed492fdbf25f9eab5ad8d7b895e8352da88fa0e44da9371b216773706ed8e357e5c9cb2b91878864114fcfb2292f747650f247248f00de53fbe5b540e20bfb15448259ebd7b4f5cf3ce8156ad01afdb376ee9720b6df116458f88f1375d917cce38761ca284d792a0be505660f9d7f66a499f72f62df0678fbbb9f35b86d3814ae3d4be786b7bbda9ef623ca8e6634c309c14724c171259149f452930ec7a2a78eafa64f24d98ba09d911a6ffeb58e61be95f563ce3bec88ca93f8b87515d3ef795716d2687b15af157e47c907e8fd82feb0272c213c729bfe63847f4b810760ebc59a7f1e445284b748b9d5a65d35664023d725b49bd78f31049673a89e4c8902b8d67a47341aa6e0904558b9bad69d045ed6b090bd1f694c538ab4083a7a01428bdf9ffb02a177b89ac454b95e928bfabee72d995a4ea331298e3fc7d27cab57ff632722064fbac901e2eaabc65042958324eb88c023b1d92f431453c126a275b24f5f87c262dbf315f96a5fc3ba4cea08372dc167e66b26511dcee2c1b03c2fa7a28cd43bf547dd54b14891ee6fc98db517203604b3cf6ac41d2716e00c1890220aea7d7987d2bf09c49f400464410921005651412420c813fceec1492b159f2b7f6101fd9f99cf43f25c30621ef8e75e072c96b337c5450abac715c09c9b17802b37673d37f8c0b398128f79e463aff3f729d47390f777fc3af50039deb5689342b59144cacadbdb1f3c12b9eb3e2554264d53c33ddf64e1684a5f6bc181386f837dd4c9475135e6d121a5f3c31fcbbb52bf38a3dc3eef262677723dfbd7a7d6b44abb5df861ca830038e165a3d0235544ac28dd2840fa4189f31305063220e65358b0f17ee93d07e32888a5bae1c134864af4ea72dd9efd560b9b5c120dfd048288886be69f9c2ff9c8d9820b229b64322cbcd468e61fdc10a39e3dcbcfce41c64adf42d8ad900ca979f4bb5dd8e526872dc87166107f06061a0ead1e1a7f999e45d44bf126d889e8490c2cd2eb37b9e72caedda7f27300f9e59976549dc71fe5495d458c00ef5386b09217084020a8372d40b8531020a65e0632e69497dc1d31d743ab65acf0d4232f424131cac2b55726ac5beb96c0f5eaa9967df3bd08563f69423bbf04b7aa9af9235b6433444477204e741048addf63c4ecff8705a912e27eae99892b63d250347fa70e00cfe9837edc9e875d2417afd092e93030912821a70d67b49b9e77d29aba8651cde4a50721685007f8ea41c5bd441d95f3e8808ad889e1924ca867260eef077917eb896242d175ea16082836ea1879474d0ab84117185a07613775f333021bceb5892d8630f1a247c158c7c09cbd51f9bbe0296226f7b020a1384269306c7bb1416e4010f8e91244d891389c61b8fbc57c1b931c54fbf9ff40909698e7b5d040b46037172b3ee5a21d17ebfff75c07ba084cf02463d762c4f9a3bcef9f59109566734e5720d68460c7ed72711decc44143c6de7863b073cb1e44a7950ab4729eb6b3dd3727d27ef3709801597aa9edfbc88e55b323773be8b96b565c516adff6907bdd45c6f0354c200ffa340e2107a7d8335d4c71af51c960d1c2c45e9c2f36ea4fd08728d7d9393aab13cdd610dc5072d825a3e186ae42c964bb8e4a50cd29de7e04772e4f6f3ca5263ecf9efd0a97bcf859693b29eea2bf8985341e3ce7a6917a24a72d688ab1fc7c18c5d87d5bdc39361ee53d24e7c53f72faee30b33ee4661f42238e127007109359f7f798c04ae588c957955ae31337472324765187ff383fb591e17cc504fadc0341bc0e102944dc9c3cf5fec022ae33f4390a4ed38a8eb6a09681e9b2680b7e31da7b907a67fd6e2d24fd1b7ba8f1427ff156831dd84ff039d729242b149b7fd045e4f7169a79fc3f33f76f810e03d32fb71770a356b94ded16333e31d1c76a30864f7cf92ac583acf384053d51fe909538f631bbb29e9ce32726efabbc1383ccb857a0db0b458f2ac92a26bb2713814c6a13af3f8f6a37c2a720bede1cc43e95f201dbdce41481d960c2b5aefafc087c6cfadad4c274d1aee20e0ff65c722ca586563708830a6c072751381eaf02ee5441658aac913e736ca7210f4c7e2e73933822049237434b8f1d248c705fb0ec7465e016ba28040105f7235d50a60c9889e7e94c7e6d0ead3a4a7621068108a3964e209edc6ce1e69181be98888dd7e8a3699b62da86b632ff124ca0f290a9cd1e2d64dee177537671351169676f6c6013b37b464b5502c957f7ca16481cdce0674cbcaed19c8aaebae164b1ba5b5e3516665bba0867c1635295287d295108592ecd2946226a075ec49433d528d2aea6e38f8752f7ec438dd5d93839fb0f22a4562194ce0a84c4b0b6b13870f18188c0738f7f5da627f6550197484ec16197c7227161ad3a64be577e82f17740ae3890a29f73428ce8fdc3fb9f6975e1a321e416226f3f08f56fd42787267e74b7e6117714ea1319ff60211659dbe578f02393065b97d2971899acc6c252ae0196b3c4cd96e958a8044ee8e146141d15fac64672a8435e15bc34211ba72ac7f77bd0ab71abbf1af21c6aa9078ca3719f4b4cea80cd31df51d080b2a1772911de18a3e3b6c0b8fc6cb791a905ba79a37c98ef82061f2b2b2c2992245fd7272396681f27a06c7d382b32bd42c216ba6bc84bf3959841b031228afddf50372b5d99315a94a8e201ed6d1b5d50bc6d72cd6b2d9623b397c267b7188d337204815f753ad3b57ccb03239da00a42869b369159c0c8591d52c7e7c6d208cfea972b69b8444e8078e4e96f4832d2e9c349680bf7cf1aacb691dffe4c1307a380f7210a6d16ed3a88616e3897dcd72b36e22a0d9a90d25251e217f367a1bb327ab72f6f5651a08b7d585b2a12ca65b014078209cee0950e60cd195208124b0e59e4683a92c286efd4deea76d52510fed1e7bbc53583d5bc3f99af9719c538ca796723a49f6714ac2d1f976a800ce9f8ccfafbb9ef032aa9a551a4b2c74f594907627ff6085a4cc7211ed1f48ad769911f17adb511d083c4edbdcd523ffcbba37425bb6fb66c618248b72e9dea6325db51fff9c0aebbca5c1d3d26133fefd4e79201ad0093785eed3d0a098c4099821762cbdea089d44401f5557f6df92297189c172a46a62764e82fffc0a7e4f2d315d6e2f2ed2b0047c155cf55adab5ad3ab07d72fda8a45c826cc6297afef387bdeca2fb9a1610230548e774b0494c257b39c372af49e9ff3043f92220183da68b253145861d5e20e31d8b5967f1a84b28861c4d8812a75cebf70a5584319194ac721b69d91bbd49b065caff3ea3838c4f2f5e728a6b4789088dc327738713717e717b86329875849a3e88db09b3fb83921eb772d162e537e4e37e6a06b0ea9a7271734eed7753d34575b9837bf18b2701caa90a25747b5770bd23a9d19722cf4c85a54bc16249b19a6dfe3f6c05d6d4a6e78a44475f3c57a1104afe24c9d942e0aed0d22e05a1946379db3810264a3a09dea472cecd330a357b934c211f2e750727520bfd7606bc6090e8e098a768c212b8331ba9a3c6a896a19e42cee35f4bb2937554400b8dd695004814b769064bc4b51e72eaedb1aa6ae23c8e4a5e1dd9137b822326abbaf4642cc2c1d1c3f4b8ebd7f348c738a7894acea280ee050b11090927a9b86a325698ef7d476fd6c39a69edeb72846ea71395d3740df85ffcf23b37c52332e6ed06003535f608634a07abd34272667dcc60d80dbc9b68eb20e1e58fd173c6a26c7a7d6c8d03e8795e19b4a316726db310533752a1755928ccd46877d196f4463d668b4325901f4697bb14894a72b7cb4eb1ce739ab128505910655f3ad65800552ea2ae7c2b7be3607efa77fb1e1de4f246d882fafc17a0742a1c26512d6ad51fafb5c216a4eaf6088966e49a184eb53c2ee517d171033f8cd7396a4445e5e4224e34894c5325252ba274a6247205090684a0087349360fb2df62552b23c3cf47925fdb15440bbb9c4266ef9372ebb716ba8eba21b59e9f1ae70a7ccc2068ec6a0bb94a0d773476596f878e2f72f8d82b48d0f1d8263414c025cba4b1099ef6d6290322c52d169a2becb516684a846b268375f1d759f372ae74503d17a8a5df56ce5feb0230c6d3e24d3dd66f720ee5824e2db5d1de435ee15d6b5d7f1fc50b112af55291d0a7122836d155c05a7496418442efa320bd6f75011a17217eb08ad6cb1e66b1f2460b80bab1844372d7be2a66cfeba31b4f9b9eccbbbb691d6c30933ef3d21346ed9fb993d715610202bbacc155076f7016e7c02a098bed82428e697a59e3d02ff91a7a6b4a17977274932d489f97a6fb93e07709ada3ea65058fb4ee89adba867d2274221894087273c1f7b4182ad9c0dd4ab8d65b87ad16cd6ecd124dbc73f070562b2708246772e884193c4dc68d88181d8baf9f55ce758a3dafc33258a2ec4fe741901007cd7275097331757547e2e48db09b74221205d527131e7786db5ae55491f0cee206674b4a0c63f2b8705ffd975e9b0015d97aab81e0cab94c35956936c3315533f702cb70a28a400aac92276e4049b3a5bba0d325df48ebd33c052520d856741fd0728c2815798b12a030c166fc1d20c85f7707bf104483a34f61e4f8355293f28072387c86d8404a9ff75f126c6e4372f0843be565822f50e3e304b953b5adb5c272f204ae224024102394f912e32ca31b8e041343e0476dceab283c775f383dbd043a3781f91b6616941456122c999f3fe1e69f9419815eadc5a83bb7a84580b97283767afcb61fec5d9aa33e8bc2a3da9854ff9d49a96360a2c3bcb480a6e622721aa71b1983a9f42b7ecd3930f5e05acfde780fce57e471759a4aff81b952203258c834aee0400b39c3a14fd66ca97d9f6ad6c52a0f3b476846f60871e09f200d22051f336e0ce16e929df1bd7156a74d8250e87a69ba9c7612c9af3451f71b31433c02a26dfb7007dbbed8b5776967b7d788f4dac0e3787dad5e759dfd0d2a7253cbd2dcd98fdf9bd06a2e8187af8ad492a66c9c629c8b3ebbc9ef39454ffd72a1b9eb5bc83b7180e91c87f0eddfdafee3919cbc6b1e489677c701e775e65972755b3f6c492c8f4493391c973b9092b24d2e97ded9139cfd319ebd722fcca8722a82fd7bfebb67125ef9acb7673244a4a509a64b40a39bb7e223b1efaedebb729b22dfb2d92cc3493a54c4bca42e7da69243969b4f745bc63d608524277f78724797cd8fe3bd310624b3cf355eb8de6bbdfd51b68ae3bafab7cf1f7b6b5bfd72c4924e7a077ab078ce69867e326fd6c7dc713c226b657d71bfd32128289919545dacea2f8c38eabef9ca72b0392529c52416b6560b6fb67e10b0c072f15c3a578da837576198259f19151a6cf505a0bd86de9842e94125d94046bfcaee28e2721922105aa4c53ec71660bea721a49f54ba3fb3d3ed274ded19a080b8f3b0aa72825981a1aa50ca2b3e90d8dc6cc304d93721a80789b3a5c26187b7847084740aa303ca5aae65c1af02d44a8e2d7d71ea29cacc8be8a39cd02940a9faaf3f023232b958343efa63cfad042896cb595d3e3bb8be5b8df660e2af78f44137e40c0885749edfdd8acdb498f1ec897aafadbf91a14af2687040160931d86dbabd2472d49f41529241eea0156c3ff04cc748c95469eb983f513205b9028e2b421e545a658b4a5ce33b5781dae02dfd660d04e392eeb8961a56fd36c397c1c5cf55ee721326af91b151516baedf9e376fbd42fc66d0d5caaeabb57bec2d3f1861c14372a9ac49e832af7f2823a392ac692c9afc3c864918a30e09165bcd87bf72685772d9638c10e2b0c5c14d6dec276744deb10b0bafa38664ba24d0881f1f5acc4472a5412775b931cc295601c94fcb0db8280707d0cc1b8098629349e11fab099400ce4d88d19fb84ed79e4f7abd5058253ab416fe4547eaf065e9a3295ded6e5b282e1ccd2066a36bbcb093f8399940f79428fe53d0f6be904b5ff8b8c36e8f1772e8f2f0f9b1f8ed1a16134f0fce7bc63e969166513ca962ba16b23bca6489675c614fc84a73df4f4e5a9bf00dd515cf250987cdfd1313c144ef9ae47e6af05743374c7e1eb28dbba8650909b4584e4af4cf9bbeb86d120b3abd992c4eae884359a3975f45ebdb413a4d76cb019c8774a121216f1ba16731b6583190f002a4b972b97d029fb54f13dadafcb305adfa37f776e80bfb43f348cf8529b6f332fc5867798aa31e8d3d822aa06e284904b581d5968018efe08c23fd7bcd9c2aa1def77259b2aab4ac700352fae2c65e8d336c8541fd7b436758673cfeec729c4c2b0172d4e4bbf785214823f52485950554cf7b9ee00ca63820e42a87fdf827138e6c47673e4f2a00404078e9485f406723a4cc6f8f4eccd2aded3894bd1c6a15635c72a3ece203c3efc2ffca8d7d2ef40b82f812298799bf8b9757569014f5e7791569cdc21ec1f792ed2d80d12cf533692c14541d5de48edecd6c9014e1b0d23778506dab9e266b416a577dc3709b3afefd70d220d360a821477ed6bc6742fe17042c5cdf818ec78b95e46c77f4555304e60911e9770cd69605d09f91796d5c187272fba34be5968f561dcd7ef693df0e14660da2ad755a20ae4ea4fc086b3a387372c38c965dd1c6ccf760759604f73b3edc0abfccc511c11b1d76193c6473fe05728cb52c29af6aa6cadc17234bd346a2a52ba3517e12fca7bba737ff5fab8c6472725c92f8e2733126d2242524726519e5595d66c9e78b02c433b2bd3ff5140f72b4520c21284c282e8082f24d6ba251447c72a94dcdfa3294be4e05c337e3b05ad3be542fadc4bdef42afdf0870ec68b35b534bc2996150eb450cf18b85fb68723206a122c7dcc4777dcc2a54d46733f71d6cd2ab6a5632c8feffead2dc28c110fea0e95ae04f79b95cce8ac6f32b26c14826107db14139e906c517b353f9000071b21879e2753d6c3233a3ffc264e65c03f8d19b0e81bb6ae554474c5d9735729c76b1a48b5e767f26070aac6ad05f0366c5866835dd37a69ac251d305ab893f85330bb69e46bfc6af9287900b9a52cfd939d1683aaeb58e459a30e4542ab23566aa90bd3ec007a3aa684c023ca817cbd37fcebe0b72f8af4a65f059ab57500799e4ef1cf7d1003d529213183173f21b5b5abfe9fd1f7aa03a47aeea1bf9da72ac701303b15a86c707fec8824513d6631567a620788d4fb34996e54923f4051cdc7f0b7956e43f41386378d46d36b30987f563dce608e51ac7cdde9d6e541f59a948215ac1c027b9f0165691c8a68d22ea509401b4abd0f2d40bed8e9a4895263045d5531191ac309e2d196d7a54a77a650374d39650b91e020b329c077d6038320af9dd40aa875fca697249aa77852bdc7a192e87f898fab54c01244d0cc4726de31647e18a3caeaf0c9d272e11d97ee4dc9bf6efec3172a28b7f631f753972d55fd6f5de091137da537e484ac7fe1812506d5815026a16bfa29d797db28b729859c256d8ea05939d5661964d0d4df628810e0b82680c380ac90225951c3c7123ff747cf72dbff26b9243c1d493d1724d18cb2f79d0e030bd6f84a2c45da9725112098b9cef703d14b0e379107784971dccbd9de295bae314be83ec10e121726d969843a94a6fe9ec874233aefcbb7cb8073cef4d51ca43df5d66ddb6573e7262b3717db6aa1b947ec418dc6974f347340a9f0ff57d86e1146d365553b310727a8755d7134ab2ef2fcdc31e0ea776afd24b944d863fb338721368a64f0b7672fa3f5c23752b60b7acd414866a2f8a23bdc44071a1a0d2f2491f4b9b6d7f243cf69d53bf43018dca6331338bbf29e066b9d92c1486c64a62574cc43f0954365a0393ea3847d740f35f913518914c7e60c59e10b32e3695af8ea245907fa79d72a50250720558b7ba66be187e4a710df05970b7c7a3d424cf016bb6884fa478726449395ad3eda164adaab51fa3daced07ccb6506c216ae89be327345da189a570004cd7136c02fbad9dff827baa0ca9ecea8462c1199ff666f8cbb4ccd9aa272fc9ef11e826243ca69296bb6483355d3916d77f9c578a31b9bd3946145a49607d39cfabea8c7f50b5a4a1f8fbff911ea3ae396813bf7fb71d97d81313821d772f01c3c45d0ef2891562113e331f58f56c309d8a2759f84b2d94c0e3fb7663303e25433ecd12d73ba95ead74e2e00b860c5fa3967663d83d22b28becc1b6e084085f51c36479e4dd0f61237c7363869cf9d4fa6c56a516add840a8c9dd697ec30a7d5f808fc61baddbbbe1d18d39d30afa403158b57939859e5fee7dd5e9acf6b42fd62bbc35249ebd68fbd3be6b21193cb7d1945d70aa67e507a3a8c0afe0572c66e7344555355e143f538eca9b1a38961c05a77e8fce2bcf7818923d67f876ffaf1e3545f857a7f3de6174a96f6c01f5de9d7e04f09566dae789b65a74eca72f1d14be6dc34fcc503d04cfa070b315e62b95d08ca7190550ee0d9986134486fb0396752810dccd613a52f793b7bcef4af24ebf1ccc70231c2c075bf6758fb729b4c0116370a272b60f845089f70ad3dc0feb4edac325560957d5fe8209269720ea922b27ea0ed1710cebac100bab053a5479a213b37eb5ae410ef655404fd4163b6c4cbdff7ffbbc2f4171e787959b007e2c3261156ac93d6575fcbe16a6469ef23ad9500dc5c9ec4b37f22d2f05f6b839688006fa56c86c46a8daee9cc3172535637d4980bf3eb5accdf13ddcf5e0d33efe49acde626709ec51642d380bc14a83ca4f4743dfb4466f27be8c1264863d81817f20271f2240a012445e255b5721349be7c0547f9bea87f06a3bdc1f0becfec498ce425b8b6d15470ccfe8002724a2405d807ed72914fa72ccbe2027327e966099607419148b65651f4aee40848eb21ee30deccde7c068ce7c5586e4d674ad7626a7808bb7db4d29b45a2cd957286e8d6d2456775d854d4c55eedcfa9f5686b53e100258495319b18fc66119f72f1607643d42ad6dd179dddd15e92ab11563e1e34002dc43a3b5a03d324f4044a523b040ac870128c71dbf2ee24c62403dbde08265f3ba9a530610ab9f1d50d249c55a620aa62e82fec0e723f7aecba0ebf40245a4154600a0b483c27f252d34adf3982278870461d243931f55b748ed1f2e3e32bca5867e503f91f4d60142d01927c8a889ccc22af37a8ad5dabab2688aed42a5d8bdca0c8e5a8e41eea88eb72a5e0f1c89f06e10533aa4ad6eb7ae94c614eb7d6efb580f6378a0690a8fb200874f96966abb6782d018469daceb7a462cb3aa74dc1375501428b585bfd625172b21a03cf0a00a376f33b48e871e92ac648763c83bcdb0dee4134142d87684a303032c69fdc7b50b913bb361d5dc8539fa0eddf77fc932a6f792d5e1dc8a2df72a80d9a5cf49b722966230a5f226f948f542c7186b4bd8f434b5fd92683c6df72cac6decf163d3a304d4df6b0b45e176ebab2f9d7a9bbfab3c36505a185bf1a240e50af7e414266788f17688e1d7f22cb9842041a69e1e9700bfd4420787884720b73953b0b83319ce45d20b1597c9f0b3e514ba4f6d8601a06f201e94474a60bef2edd71abc9ff8e086aff3f6285a6f95061f6d1612a263c0812e77b00cbe9276985bdb09c0f12845600cd48e1d3691b9d52b9d932ac987a9a90c88ae3440b2332395a781fce27f5f3e0b13af32410895bdd7f5e4827b5f1cf858e49904c87728bed336be5c8d50b8021290612d05c862773e1ab7b977eda2995f8dbba5a0e72ee12d68f3fcb717dc0b70b8553b7b2a3ea2b1f2439a87ea1d4ba06b223d0b87220b7f70ebfd2ce2a191af7c07a4c8d20d6cb4515faafa350e4516593e416eb33217055552613477b0c1c1f855af8a1859241ac864c1da3f9f88911ddc637942936fa4410288abfc866daba2d3f1ae0ef5202405aa3a63a2de4011c00f81822613c3f2461afd4864b6c6c7736c73879a16a99b3ac53d4765e803dfa9ae3edd3129ceaa20626b2f667b96eccc4a220addb829ccc24f7161b56a6e9609056c2f772f0e0b7bbf34f3a3da91d1c417d0b696c8be1063b3bd393711b02d6653885f34a423200370c34e99f4705ee92543b60d8f4690c463f4a9747e790663844aebd33e0531fcb99138dd358cd785249cecbfb57d84c272f72cf0620554dd4f9fe9a72360fb2f690bfb1e00ecfde8e36caf518abbb3a36dfc2d38a06e255f02f5274702a8b48ebd31a9f667575e650afff2b9ea823ba53990988f966ddb8710f5ee072926115d9ae8695abcbd7273f61a9e1aeb09b82efa0fe62d68350dc1224b7164c96066a82eb062454a79815f46a5125b3ee90ca92214f6c7e71860c5dfe07b872d2d067a6d07de7f6bea90ba8290250c6bdbc1df16aff34e0a38b0cf26fe767728c487c819ecd7646e6d07188aeb218be6357196a165b1dbeb7281f76aaef1f07d630f1a5a0d6b3be45d0e465e6127b9e9bfedd4511e559a4f1c33db95333c672984cf9a3addff6875f8f7d15804ffe673b6f6981cb29299d06a971e6b8301136497cd6e286313505a73d2beef0a6a22699f79189f9a73e968f8b2e560e087326972afc019226658b0684af0063b7d74b402884bd0907fcf2e3921b9f65bffb7266dfde62b83f5b57de827c7030cce65fb06c2d509445a172fa44a4ba74503d70691f17a99af2512ec57c2391c26f73a42e8f42316d469a09b1e73c1d4c7f6372e6e36e8f422092796ec81cc2698afc5d061579d4038919e786c6406d76f26460d72464acaedffe7a6691c123581ff9d58fb864bf582b0943b3ced6842a1b3a72b8c79a66906f457810de16426af17c89557a04d9587e01d06a15e3e8973a0972da9794f2902a35f632ed379fe3af0690ef6a7558d0b7c2016ccb93898711b272d18a15b7c51d231ba55e3c38d0ee285194848a5da7051cc621ce359400886172beaed25a61c807cb9c28f301f8ed1e6593d78f8806d89146536ae7fd7e6ac50648e34311811c0ff9deef533558f4c6c860a5e74ec3b96ca20d83cb293d1e426481e02662623e1f18715f4ae82c7a0aefa444876d914f6a59039f6508522e6f38b58cd15d6931009485bf4c76622ed084c4aec7f39811fee3212b44f940848272fed3faed65eae4191e27fa75fa85498c159d2eef6de423fef933d0ae0027a7729ff6f8978e1b7249e6ae4f57e03f22cdfd3f16f34638a30aecbcfbe2d6140872d6466880cc45fb4d0290bb46dab9dc7db3ec2535f4a57391d8640cfb5164b57285ee94b0c787b92b8260f3e4eca1bc0a43c5bdc18b179b46bc4e053a4c6aed6bb66e8ac9f2da4c71f20cf864fe8647863a9179a5d4b2002f6601b19645fa5e5fb88fe141873d76665a193a3556f370599e760b3684ac4723eb7d15a50715814f98d10072cf21d555d3ea021adf4f9ae9f4ffb622cc799e8ce620cef71504f95754d003fe3c76551b4a3ccef42435823b3a478e5c7f04aeb989fb9b39a55a1e721044267498d81decf715590457b83216bec906b8cce9cf2e94f9fe4e39964e720ea99237e4d9579e2da0e676be72723ccfba250cb90735d4def6f4f00e41d172a9d861ada74494a252a30405eb8be9241e7fc5db6c2c71c667d116aaecada932c7e3778ad012b9a8a42ee38f3726e2af47f0add85a6b912587a2fc296c96a572b01e2217a502522d58835e45d70d1a19c0037cdf26d0278a71047f9eeb6df35cf78b0274bbf9f991c7146cb4a7363db1d6a4cff77b9c968e4d98fc99d8e6591eb3117fa09b22ed766d1c01c37768fbb9db3a3bac17e57fd90480d1b764d7aa72061ad1139001babe5928f23f64c2d180409f0792bcb745c171e55c9d4d018c729c5de96ba7096a90959d3fb4ccd5b08306de35c5e21f608cd6d26b4d756dd44533cabc9fb2d690d6232109da12fb3d212605446ea759844605d64901d450f27234b3128b2b6e606f80375f7975fd22a97f9b29f173a43e30d2ed93c84ece0d2ec9afc6ae9eafa479feb7a6e90ce09795552b4657d5438160608b60a8667aeb72db11585ab254fd78a538617f3668e05626a19cdd8f3ebb642b412f0f5a70540d454232c9af8bac674d7649458747a244143b374d4e416d7f78f48fbb30a0826ee2d63ef8e3cb7115540eabbcb48c9c10b0ee83d6349d2626330f8ab632417a7220ce0144cca882813a848db18951c9a013d7618117113d0f9bc53ee57536cc720f927652bda96c6d8ac0563dc20b4cff20fe8bf48ac176da7fadb68e59b467724f47ebdf146c3ba7fcb0425748fbe07a9f67609f83cfd70838a8fd2e306d5920f0752c1f06bd56f3bfc5dcbaded92acfe2ba227e9517d07ea2ae0ca6b0ace341ec1448d09cc60695e732bbe508160740493220b9dbe4f3a3e4047a169da34372b9be0cc7671283047458f63f69cc687a945f1b7e576ab0dff5f029c49b7aa4721feaf8a94fb0dc5fd14457eab0f29e8171b80d552603e25a086a93f766228a7222cd5985368b35f08e7824ffa3160435ccdd51a462214583a2949332f859620a90b6d1970d074b49822c00e151d1a25fb9fc345300318cd605cd1ccf3bb40e727f82ff2bc2f3864f9e01661715daa9ca89bf665ee81d1c6a36801bfa20fad90a29683549bb8df523b198fac93c6ce2eb220fb973f558a135e63cdddd49554b72dffb55ef1907b8e31b3a16f1eb84c3e6aad9d92d428586584aea09af1704d252ad3c7e4d56b2737da1dc559c4ede5c9ab8a8378562efeb59c794befea3767c11d706fafdf6098f9e142f6971de98bebe5f9116ee960fefc3ec9345c867e6127289a890f8f3f3db859cfee78c41cd4365b1cf964da25c1426204cd86682db9970c95db60af1fdbd0ee19210a6bf52e06d3a5dd4c4a5aa3b449fc3fa41e635ba3b53d0fc1f286cc5172dccb75f5753838176929985a995578a4e92a8814ccac472781f66b122628938f1febfd186466da5ecee77427e60e606b4bcff53bd987c67e611dde3bcc25b566471588e8c4004686f731dad19104867f4c786c5efa5b672dc46389e9615eab4a3cd705dafae69ada9e2f86e056fc19d43c2efb258231a72077d6a737ee59a8652185083c4fc9dd0abd2e890fbc8228d10735edc0079df5b7b89bce6e5cb171533d5d345d939f38ff4a11d559079b203e33dc1f683717c723a6a382723ec0ebc3ece0ca83e54e30622fd9a779c02a4f9cdf0ab41376d2424ce85e4a04c4afb6060c108a66ca419a6dce1d98da71134ec7edd452e6f3b6b72cf703c56dcfb67a651491a5cc33d63a4b6ca1c38c70b2272b64a1e0332582905ba1b386e42fe4f7b4842415ba74d2d404a7977f00e929e4aac21a0afc1fb9072d7ff9ff694e3f594fbab1807f6073dcafe5e78484ebd803444eae728d2568a72e61056bf406fa303a2d8ce8fe04716a58a5ff403ed08c4013921401584f19f720fd33a84a544cb828ded753fa7c9ccd644833da1173bd15d6ab1b66e563452728ad0e45ee9b724fafb54d00b7642b5fcb84bea527a49bb98581782301e609472f13de09fdca5a0fd7f27c8e3c1447896337ae99ff158063b364e69ef72eaaf4803105277075a012cfdd41f0ad609b5ce3a81271b8b257f3f84d4585d017c7b1e3d2ac8534cd3218a4d40aa745f1ff5e2ddf84df9d53b664a174b32989498057086fa446b62e36fbc55d678b688616852da523f8e89d90fc0d9dbfc2331951563a97addc474775416ad1ea8422fae688a5d4eab8314d8566697e47935ab9add726d5e432b6a214b44734c695e2b83e09ef70d633de4a8393f6fded0f715b29972f4d38c1a92a443b60fee5de90e2587d644e46b2d7798ce714b1b5bbc84d2ac00cf3a59cc07c1a9986f3f59cf7602a69c999f65fa2fd1eba3c19e21cfa555b3115097e8de1ac6a6b055dd172707788b750223a4f96a20886a05b20657b140b6668e9c77f3940c7ac99aa1433a2868c5d90270be97286fb849340c42a0760cef1aafa50bbd3bf63042226e1e8b36aef2fd6b721ff45dc3d493aafb9d01e5e7a3103a07cf98b5fa345e9cde22afe0cc37f75f25acde6215d312e693c6d724711212d70385ac2dda7deb90291681b86664947816ca78c8953b938bda108dd35a037295a42b60e28c8cb1a232d53b2844b7df2f6e2bd9c0deb06d97855787fe5e624aa5f96ab7d0112d8c1f2ed6d3eb771c7411745b6a3a7daa3f8316d0e7eb18881dfdac531ab708c958e0e835c01c88169ffd930d4eec73974ea24339f0a3f59d72f1db89d96ff8b11ff83d00141bd5bf1be66b770764bb2ca047dc58744e45fa7234beb916da2127a189e1ad0bb4290de76d4fca43f256d085f0fa4f356e649d473ed4ad61133771474c1a4cb65e5bd61c78cfb774b895997fed41c49ed1f813727839c3df5b85b885fa74b07bc49b75b0fd084b902dbcb3ef6e71a8065d57ed720f01a9b76ed18075df0226d0f021e3224f2582b032c573817e8bdcb64212c6720c3254a444b0b37bedc7ea0fc23f9aee8e728517203e4c34302e0236342b3e51047e2fe81ea797d3112f9aff57648ef148a5cb2968ca18b6120b156751bc70726e6f6abd0bedb3436b14863ba4a54418dc6ae27625ef53177eec647ee1d8fa72f4e8dc703ca598733a35381cd09e183c90c4295c37fa9af331a8fd466cdc5572f84e175b0de2787075e22458e8cb8d8af804c79e30064809282a94b9b8440a30576d9172f6734b29c69207c9afe124d75a28f5b6e235d1ccb36c553867cba40be3691cf5616c24e80258c2923354d4c620959fbc5c51442e2369e4e298d6d77276531500a0c3fe9095c0f792b57307345494b36232c7e2a65d857b9ef5d0cd72bbdd9a48df3b35c6f2986c56aad7b22e683c0b140bdb9b9b16c888960be2dc72714857ece5fa5cc32ca326031ee99e82bf04185319c639c6f485aebc8eec222e2be178ef41ed1d3a6ce38466d4bb8dde7cf137d95e1168fe0a178b48d4a27472da8dd6536fd82c17584200aa2191c9606a49fa8890ef28352e449c385879b372dd89b03e4e8ac9e9342c330631151a76f54bdc5b9d6932093fb0106f4439956511f3dbc04d428bb25fffda3174c424fac55c5c470947be15399c80eb2b8b573c760a1d99340073017c3e8944029b9a74dfaf8953dd720f84e52a2d9cdb8ef572e819071449567cf2c00349abb91fd7b50e01f78e82ad6a0265ab1ea78b5f8b723db545bb6a81c035f9c39ea514b9ad202402e3158d0a9482b9d71cdb9fedc8720285deb94de77351f4dcec4f19cf534b8ad9546005494a7ebf52ff3607da0c7226c9f54d67aa52631e51fdcae017d4ede19929ed6ba38635c876c31a4c9516724e613af080508f02c49d36397f64f8072b0f0a1edbfa78ebf303f88e2b1dc57242bdca65f18d54197eb080aa7526773f36b848dcdaa004d8ac3e91d23c02db72b9b5bc20b9a86a646083c2bcc606cc15fbffddfe9acaeae1657bab6b488fd672daa4ddc3ee3f39d964f44b666b5dcf7a707dab63e6ece4e6680bba502da1db14b10569eabc9293504d9ece9aca1721890ddf2649c3ade5f71fd14bb63cbe1872925c3b0667c010e8a3e624dd959b78655a53804c361c44dcc206166a5057c50fa328afebd9017ae0468c51e7ab89a786a49de65e0037051133f992dd5b19ad079f47f5fb80b5a2025477583d97d0a88c5024b5f19b298c73103ffd8a44359b722bec5923a73942559f10649cda5282e7f8aa980ae6cad79fc8f02a22dade8e7209ad2f07cd0967c5ea94680631c19c15b5c3faefd549e94348da60906c85f7720be0abd7bbeae25dc2dca4aebc640c7f9a86fa5448a0c2053fce1b34842e7c728eb8a0b369d2038587b093d9669386cf69a9e06bd78b2e722bc94c9e0e180e723d5dc500a85ef098788b24bd06a3a0111c981db7bf81242b40100f5d2c0b9a721809b41bcfa3c67f9a5cc6f842a07adbde9a3f37c3e365d3a3ede84cb7e856729cedc60dfbd967d4e243ea90921f1dd76bb4cbb54a5056b170e4179147511472e703a52ed96134f2de802c6d2e452c801e41b0be652e179e9f991a3238c2de72022b8b5b48e615f2b29e91fb3c55f90f55f81be24cecef14116c743c36bd781856370c6786dc04ae0e48f24c0ed2f0f51221da9c1056e6aa8580de42fec236670e996261164b784ddee02b97671743f849c8434b24298d50969c741414827c091eb1b478d59e14235077f04dd05304a958e1866ea9884bc979b15ab479b4b472c1ee13003f3d45db2e6742274b7fc9076fa02e64bb91dd0ce4c85a18a6db0072097c7f6f706b9f76c818211ee43fe4908db66345d9059d168bd3a71098a1a24733fa713393b9ffbb39d833bfbfeeec372476d287ec7e7f8f16bcc0c2b10b3172d0c1207d4c420f1bb851f3af6825682352344f9588f65c167d9d105607da8c72152b291e8e8d783060b414b43c5746879ba708e8d98a90b355b12f6e32b37300f9955e19258d5ea1cae05d24f6b019062f067a2482e598e7494d08381a23ed726d70bf4fbbc85e3ea56e909b5181a57705fb6fb98c3b956672e146889fff90190197363808878bb3fe16839c6bf7d9388a9590ae6a575dece6d84cba13677d727431fb70eb3c22e44be6b9648d9d3ff8c24a9aafff304ec016efcc46f124a07218c2a42a28ffe2525e41423de8e93d52ed0cf13f6aa1c4383658153ed070157258c3ac89ce01f9e7ca487c8d0bb633aac9e91bde6abf05a678ece89d41823f7229f573951b037d762cd6a34c5e47f87649a3fed670e88a076bb888735468fa7243fb994e17800e978627f141f36bc1519608c15babf422d158a77efbd54af430e67cb5b36a47d096d1af7add8cf711bcdf001904250f4047441220a0bbb6e37298998f1aa71deb166a7924081dc78bd1cf6312ba176d58f00634c8d9f09d83721ac5406d2273e38bd382ad29a53c5b1aaf8c7323d1771d8d98adc0b34663be72e622df3fab7ab7a9156bf6c77ee5e0993f4b777ca19ebafb247ea8b6ea7cfb72e481b2bccf8c522916b9aae7c9cc60f57a8e84689647bf7362d792bebaa89072708b84cb34ab8fb93128d943ef11a05e2daa6e8eacbbc14515e04baa87b5cf5496afa9b4b664bfbd56d3e080743cfa393eedddc0e7711bb15ebb0e9adb8d157296beb6c993b3bd11a5c157372de09d4c9acedd49d24f6a6015c4f0d808d7ea7207e51ed73f681ca2c15a6dce8458bb620b98afc7629fa2153477a819ca3cf9240dd2b5021f8c8e2b80e3564521cb7ded300b30dfee032758888f7e5e623a0b7270f8fc5d736f6bc996559e892dbb261223f87fad18550cf896e417f70302e87259cfc4d6a3b18f421986eeab5badf4fa9fb35477ea3d5f1e58d43d2f9b84c47246c9fdbda29590edaa55ef3077b4053184a262b43633aab3f053b67bdb88b8720af06cef4ad7ff1cc4650c55d735ebdbf1d73e7ca06c16fc39488ead574140725f0676eff98d6eb23d9dec598ab8ab0c2784b398e7f5afad50f85a4e407e8b72861c41d97009785f609b869ce342245dabc9314a99dfc3d64fcae4b17e8f7c4c1a429d18b715fd3a54cc960a2c83a0040ffbae9f90d0283790d6986d4c725b72587880776339948eefed4a3702c04cde1735d465331061f93747cefaf633410a7c42ac450da89dc10191fd55b6388123b705302ba7b558cd9e7abbb44bbc61424c37bd93708ead7b9a7fb73c0d552f2e1ce0ee43cf6fc5580e69f3b22f5df5729807eee17736264f94d91692448b65f2ca0ac8e1b76077550b46bda245e11e5c087203351caed6a4858316241f21294bb4e3815e9cf8e61e73ed2f703c2844392a5bea91eea5a50b7b68901aad3a67e813f28e13dfa34d1a3b19ebf009688b7264295aa43e30ed1894baade055edc49a346a1932ddf95ff9a324b4a2658b2372a8bb951b1469151e34b45143a9bb35e4e7ed87b2f73045ab91f77a2bb3ba0372df303b44fad6aa33d32471e4df3fbfe0c71020ee4c22cf786c9a107a6f2728216173ed4d77a1c00a7a46c8f138a31bdedd3785165b37288aada7d68bc7282d3a279c6f7037097dd1ef4959a54300a828fde0d743234d4de5a072e6ed5695b0726080eca1a96efc19e8fb014924267b9f79f446125f2c5c317ab1916dc874944f5b0597fd1534bb9d1d891eb7ef817bd5f600501cdb89fe93439662246633613e57807c4addb04404b6b1f3bc70c003c6ec4bfc0d147dd5482791bf98b0eae0721749bd50bdc51434dc8ab61f52301a08d3bfe2198260a130a97110408edcf01975b1c9f5f77a26617791e3f4748154df8e496613ac131d40871bd792f4489b28d403950d8d09ae3da144628a868a3e46fee76c07186f1bb8b3eb73e63f9b192b8e59d112a7efcf70f3dffb0e704d4448db69b632681026492355521441b9037225cfaa4a72c0f695cfec127a29ee70439b080bc41e186eab4b3cdacc0003d5055dcdf5c437bdc8dc05655e669d2e8b1ac5a68a88c2d8f7260a793d0de4c8167273261ed12484c60b58d085cbcdc6ae69e48fc21ada41f8bd4367140bf7430f29c2cc3d6ecc105b6418ff199ee275ba9deb1522ff60c7f6214b92383d3983a8729f80f81c7e73f33c215528a139529a5165cf2c5a810204d108b837519121347254c9f06b2d57892cf55cf4360cce3379643c69924046e67150c3ae52522f0e7210a4de8772955a2ab662daf757522be228d3485285fa1c117e53daccf7129521301df18283c51f9eb71236eadc644a4332cc1a1658ef70b33ef450d2d26e4b72c5eba4b078122dd98d29f7a79bc4657ccba7ab7446524f8987a4c4be4f22081030f2254edc64c0da6d8eb2c6a46f11696b58e67f459ac783f34f8e2ed9d60800000e59884838311140cd5d87345f7e2888963100a6a8062dbd905bc20425bd729879fd1b478fb5078c09436fb58f2352394763a0c8c491f72e13d439986a1b721ce8d1137c9f2a9244868648ed4320ed6dffd87f192bc0f44f6939b87d4411723e8d7bba03291f574ed47952459b46645ba79f91b36879c48387bdfc4a757f727158e611f81955d3d5bfc606fd0c73dd3b3d14afe2e7b5376587f7c9dca0d4726116c333d74fed07891a4a8be732fae890e321fb3d5b8feb003f01c1af95c85004c46b428e75a4d70edef27009b2114c8c8a4e5bc76814e11f6a7c361df7cf72ae501878ea911bb49211e21edb2eca756e4e3c3490ca9dc5e061068f3c77d7244d002d1c0b641db9bd776bdef0ae8b3e6216c233f1bc73eb1368d57b542ead1289aed033477ed32b5ec7c49b8024b401e088d938da4793cff45640d755652747848583276179c65ce5c8e4a7f3ad33d59195923cc551c3e259a62e0fe5985872e9193113e0af4e40b1749f2d2463a1a1be45b9d2ef6584f15a65a04055016a72347e17c9b143a479ab3a24c8cb1cf8d18827868647d2edd56dd818b279db6372546a28a297ee785bc9166753a2ed49273967c311082c9bf3ed5c822db05a3a72c6d5f88076e3e4b18d994b892a503369448a41578a03beecdf9418b65b31ab727cd0eca7d0f4d7482772f7deda12e4faf1fea704b377e4563d08594936fd90717f899cddc58a711eb8d32d6c48c65370ff5ff9f197b71bce2aa14de3077b63729e5794af85b035587c06bfcb30162a29a2c223a3af5afc642a47688592e1e172802f10fdcdb88cdf3467b8c22ec0fb31b055d8b2e032e84b5c43d38f297724034dbe4ada4169a4a3d0999af190abe59074107387cab9e78edcd6b49c46bb1a7219a00c7e69358a10c8dbd1d072fe660ca9aa746f9c641265a7283a71b39f8512430a10bbffd69ef59669c1ad59b77926e44814179472ab45c243d4f1193a2c727a70e4e812aea8827b5d27c900792cf105ebb37daded67d6552941d2854d022dd132e18c2230d5c8975b54a9bf41dd80fe3d53e263376fb9d8e1fb6d7b8f0a4e93555fe1dceb7c488321784d81360021db699a2d52abe32bdc1bdde62e1c7c72ddef9ba10a8fbe8a53c79051d5857ce6ce5d17d8d8a667dd8db90fe79df10b7204cf94c3c979f7532e4b855c9bc871582409471e4f9ff2d478fa9dc81248942a144b5ca82e7b8920be3a4fbf827bc71c72791d6364d2ad348716d7a932847a4cc00a46c787fc2100eefe7fb356bec6192bf48f233615588f4ba87a14c5e6f972d89bd0660976c9e12751fef52f957e0be4acd30a2c69d023209a8c339046296c37e2b5ac61cd45509bf58f28842e04c7fab403eff825df9253efbf043abe5b13e406f29aa9c051ed7f555fa0fd5ce0fabe5b5b67501fd681ec127366794afe424114fd8394b97e8a8a2af2232412ebbc4ba33d6775268164ba2fff35d420847233bddea7f771f4ded168432db5b4c2a39142afe296e908e19f436b66a7e99947e3d1409c0420b27894de8605afe7e03e8d3e30fadcbb09755777c617c323ed727784185344bb0f5169e9e2cb756c5ed28d8fdd1024595609a9422f26cb29cd72bc5e2f3f9d6ce0223ff197c3921e08bcf2855d8041d0a8bb92a77ced4812dd3af2d055aa59b6a10095c582f54f4d1c9da4eb58c0b55766244318bf6008229b164060c7647ea033255c14a21b88d0f85ef971d4c9bdcc01dca111887431e27d728c01af17792cacddad60390eb8500e151c83b443e333e1d0025139ada979784ac7ffc875bc9db826d48c30ad59c8adaa42ebeb2ed09a7393937e23503e5aaf72584ba204d4a8ceda62b550dece91f31097e345f19ce2fe7ddc5902cfbe718b151df49a8422d001f0044fd60fbd6babd656dec62c0ef9f0c1656b4426fa1c1b7228c1ac1b28d7b8da361db759c2fc6dad27f6f7c52f7c48083624efec8b915044d77330f0c744fcb24159674b9bb1bd13d43b3e1fbd28076a9f15e0598d9127723d60dc6d14b0ff3765e07493d70e4905a03b42ce391a18f79f4a0ddbaabc753e58c82e6e723ac3ac5727f0fc66a911a577b496ae06aebac0e6f3f907f8fb56109c1600b3671dad1e90fe6636e6673a2b25e9bf84f8b0e2d08e02d471fafb07265d3c8a35b6ea634f6ddaf632d68605a110b9af05cd98337bb157275a0fd884721ee03336c982fe5df7466e92a93c52fcd4e4087102190c5ac86770a93c3c9d136b94ee85f9bb11d0543eb3f7e2f2d66748d5245c41ae82a17df743c82bbe8e72e9e46c65d8c5c4493d0e6932f9fbb74401e585e629c8aac38c2ef31f23a1194f38afcbb675b2335556d298ab0c17fe862498e5882343d967f8593f4bb62d1872cf6dc67910677f247d66552bc2cec8c9ce4328ec8273dec3fa24a8a81168bf434b1399d68d96bc953404e6cffb2444a9f5a179a85601604ac9ec6108f2946872f20f4c1a350fa1acd790b3c0c60caf05b3c27cd30b7c27a9bea0012a18fb9b727422e9772fa9afd373e3957b554426658635479c3bea194fb5c2e8790ad7d572f5edca3a34e7f0efa0901c4cbe26c1f1a29b44a22f2068f0b8c54c9396a5fb4230f7e9648421aa922abf8a3949378cf78866dcaddefedafa3aaffbad6c119427d67b3a4afd817f779f168834cd2c9d63ecf0f3dca48ad052035dd8588b277218fba785355ce6eb222eed18e77fb820998e18212b429f23ec37eec71a58e5c34929b4ace6590cc6ed46f6d04099a8131e8fdb32d2f203b26953c0cd69ba39a7729134792d9fa550a98aaa0d6bcf035a860f503c08600accb2fc70d9c75d3d1d2ae24405dddfbc984248292a5c6c49ca2b195c4a485ee0137042bc33a47162dd7257e332bf60f9a20d445213a745bfa9212a79fcb0561414b144ba814320596c568afc3ce4266a1cecf368d383f546dc334b347a70271f44685e79b4616c13b77254887b12ef72cbe02e764398600833043ca7377dfb8f660c088f43794f34633557f0729d5f04645ba7cfa6f4545a0d818054b58256d01bc097d702feeb0f7170ed58cfbae10630565f222812d96559aec015cff882f203074fd0fc4d1683207265801838c797c3b338a68031178c1475b73e11776eece428d1b7591e0b4112216f93275f19e65a90e34e806304bcfb3305cbcab28ff27b1a873c1b652c618c72f994036d01c8c66b367110a1e4f70d2e1ded909f38e20ca982f1687e0ce6a67244d3995a152e694bc5d75017234aff9434cb746a9ee7dac7987d2fa05a802872fd81c7423f266f1a9f6ddde1274222655328d290c5b846a7431e39648a25aa72afe5896844982a152b37bae630f816187b38d4a096957da934a54a504d3784002e5cad54e18b1cf680e392f943c39ef8499ea5832ccc056e07e63707e0366768215c9653f8dd14688938de69b3296bc04bcc7a0071d665b53052b02c3c4eb4729178bf48aff9330ab549d5e529f486e00f1975b966720e7e7b36ab6d96c92b721212932e88e6626a166a668d8372f8a9342c3514478caf8f08b8cff3f2434d72ff2259afef4cb6d5e3474552b421fcd979db6194b4a5668b403fe0de528266699d89ee07fa644912655e9f73ffa1fae735ac05dfb24731aff8ec4245b12167727e9dd4365e0760c272b50e3a0bf4971167979c80290d2fbae1ed2b1c5be250727a464470432606588c098b61debc32228b86836d502fe2ff5f3ca0dc75209e72c995273d4a5fc0d8ec5a712c04fa976b26f99e567e893459cf5e033e5f5b73723d7bfdd20002d666a660c9354a35d6f7a8034853d49f04a83b5b9641a23d53020c9ca4ae8b359cc6e70353e81fb0f0ed4f2837196ac88fc5b51c88e35672457270194e71dcb18369f3d609155b3b84394cc94b1f0efe6b235bc26a97c53556723821baa73f4837457fc431f2f744c115402ea588504a7dffbd8997b911f82a617575795e94d16b7ce0dfb20f4af9ef28e3846cbcc2fd87ecd7b8cab35016b4725c1ebd2e31cf2d0326741c0c1468c1724b19afcd1fdf808cf978e9bf19453672ad802170e373636d5d038c26c5fda628dccb9ef8da6d31c5a69da40d23ae4f2f8e392e50f539639f06a9e92f7e3a60b840b2e347758a769b31b4d7c30d2b415d140952b0d040a63d8c32bb1977f461841508ac9874261c91064f9590050d29053aa58cdfed6d4a69984c94cc4012185b189e3c2ae946adfd17a093b30b402b72462c8453fda2d779418c56ed615b06b503ee2e305cb91929710b8473b5e091721d25820c19375941a4ea92237bb589776951f83a89d946acdff1aed02677fa72f4e4713924015cfd26c8b06fd62f1dc14fed0773c1ccdd51d53c7e662b968b592ab01cf72be04ebc64b2d768e512e1452af41194c0f65e8d0e84f904af6349727c70f4a05d959a985ce8ae836bd5d954ceaa61178df7d3f143233eeefb7fed0c0e3f1f0d3ecc32989bc3428ed78e6506934308b9d3be9610f20f9892704c48722a1fd7e3ed78225b95b6264cf910c1d8e7b3af54444662b42ef1cbe18412df4ddcbc90fd2e1d3663e2666c2f47d558278f6b2bcce0c81947e344ec11460bf1646ff0b83f21415ab2e4eb0b488770f776d13a2baf5916677b8da331d4aeebae72ae456100c8cf476614539c0f71603f294caae691364264e758ca350262bb1e72477e5fb158c62bd3878610656a430afd522693e90926d983d52667aa4b65e872661a9dc2efead0beebd23df040448f8be226f2d87bd2f77bdf854fb1f315f272dc687e7af2290d23be603eeac10d8f6c6d101adbcbd7170d22f0b0d735071c326d4dfaf7fb37327b51abae9fd5c726da493f141055a8ca5f3c4f4642a174665edb48903729e7fab3bd91d65922077289e8fa3a98263e86572edf20ada4997834d67e70cb78f0dc0bf41c350b13b93479b4443cb30d4ace769a95080c57b79a72bc2add9066dc267b02110ec162e3bd6538eb8bf2ea54386e2d0d3f607b9c2f7277c4ac2fdd91ae3951cfe35fea7574661e734b42da61a0d63f40c3f21ca23d529c5de91f41eca3a6ab5eff80530e654efd9c2ecf8d9c01caff58d889c3b24c7233c123c1466834bf2e30b4a46061281537749304c4fcdede0484028ac68520466fdf6cd42061a356bf074bef99ef56a2bc1292ad564bf3fa2a39d96364490972076ba1443bba46c99d3731789fcd9a40451b599f03a421f27c5cf6d38cc9db5b50b603cbcec20d522a43b43e626e5db81766e69798f612db7b06d481b47a45727cd0b57500b6c9ba613db6f08dccf9f367e0cf950f7afce9d18acde3eb69ed72ec158de3d79f5d9543a707dc72a4e1677308151e190f1f7c79eb135b02e9c22e778f69dfdd61c4785624c7d619a2f6012b8effbbfa0e5c7a9da1188fd1c19f23bc47e9448f02e3e081285945833388194eae85d33823e7e9bc5c9bd097f3d9724a68c3b360bc7e1419c507a6ef21b2fc221a1ff58c7b935a0f0d945f713cee722062ea482adb5ec5a58362c0f29b781582e5dc5a4f1ac7a37ea8ef8aff4cad330bd26a3d671e8317c7e983855a751fe770415bf80f842893b2d859e9e885421446702e19904600a1741ee50b99433dd3ed0e022c984736d8ef760c5083c0cd729b536eeb49f3f6cf5521eb7ed0dac97af4a770638c9502aa313a3d229ab79972c59e2c81376736e6fa311c0a62a35fb4f86008dff20bf70bd44fd95480555872aa9181d985e974508aba2118f3485b5557ef6b892b74d9f853630ec1e4db99729ac9a4f6af5118ab17af813bc35b4e9156cbcd69db1612a0ade66b9a419af33452ad8cdeeb324ae658733b4c8e47f3f356f944543e6a0067882223780d663e7216202665a161cdc07b934126b871731621a000e7ff2f203afe51c95878e8223f436624b536d3bafa64bb8a4c9648cf70ecbc0c241861b7a1c7dbc0d65dfa470028550fcf8368af38fd4dc710c19445c28c12b30df1dc43eabfdba09754b4857262ce8926c74ab5257fddc56928ab5bd7ba57d655109d3c2c462e123ea387cd72fe3d121cbb33b96e6279d295d0b01c0105321ac9524932f3cf7ca70d6826d6729571a15489c80ef4f1c13a1023fc306a4672550def25be6126cd3bd70bcc567206c4cca1c4767896ac37d16e16b3c2e80fee7e413389e998ee416fb6df220672d1d077b68d30b2fbdb164f89080da7079a585e603174cf32a31dbeea943bf972aa9e7acb4ef5c5235ab2cce8ad75ece7fb4bdd7c12bc31fd640b350007f78e7244df3041f3b495136d8dc0b61ebb1fb11ab0e1ace92257c32712843112a463727324b8e8b4d0af9e977bf6b2cc940f208967810acfb4c66e4f9dde90d8bc0a72278cdb1462a344a7059066efb347ad72237e594fb61a04984fdd2f5c1a821472e3f51ef1d0fe76801613fe1f32805364d80ae18f942ed2fde20e76a808a0fd616a669bb5eaac434e247ce811c9e65112796fa3763d85aae33fd98087fcf4c972f0dde48648e4ba21fab38995569d2a466372d36e6f8f95aa89a563d98e1b32587e105e22b96a36369185f2fe38cf4ae48879e73a06d34e0f3583166d193df0728829642871f0f1300994113367259020d31f63b83bdc95c69a3fef5011482e3db94b2f43346996b2aca4f05e1f44086582318545e21974a89b39abdb3032141da16b10306e2b7ad509a3841ec42ea92f5e6c66b6bcf6225f0ebd40b99b0ab4724bdb294eeb1fa426a1ca0660385b67633d28542987ba277c24648e21f2e78d68055f203eddcda7eb58f72b5451dc9faa502dfa55547a6c916ce73028214c50728a70bc032d8f47a5114ee5f28c20c326d2833b53244c8a6db728f0251f2eae72d18c037cb22e82becd0b812d45e0777fb71d8ecce0237025776131f12a989552b7a0ead0d1658fbe1da0c731d3d095684ef652aa562ce397d65bcabab8ad2572d3db902708864ee3e2b1247f4da308a08e377a7b9b5b5cc66ef1a7b79783f0728814738219a6be221a6d3c0282336de4ca40338db909ba069831f078cd9a91722230a357ea5426942b0983fea9052db9c980ead770278a995429aa77b251db23f232aded124292b52b90b6e2ebba89ba50325036ef55c6ca09f25d77422c9864047f392b68bf33b04f3131f3414be88ea9ac9049f32cc72f598a2e07297ce20d2c2a37340d38db761cf0222e18500939633871f82f5efd56ab1bd8c2fbac2f728686301f765bff331bf9898d4b10823aa4877bd5a5f248f9a3cb206002c28672839fa7272b2ed26038e250a869de7c94330b7cbe6b76cf03be4c8254c4b9ca72ff7d1fb34475dfe646a095a9ed48a5fbbc6b3e00ff8253d34b903e9804a12a726b71816ee53a545c5b3e3db2c4bd279bf87016709bb7eeab4777f1a586811d723c71800a1aa8cfc84990e6adf3b292019a0f53f32262b5dd4adfbbfc334c602def51ab42d26dafb3bc31358af51e2072363c25cc6d667cc75d509bd93aca992f490715611b9ce34e805eedfd64e1df3b490562e5b6e2519682bed9a1d23da2728a33595660fee44a4e871cc3702202063844b3993faecfe780efee72deec7749a406b995db71f2e6121eb4079ac4bff88b124d3573d7e14caddd831ac62a297289d3315fe9c8b28f01ab5e8bf37b9bece602935776597bfbccc268a0ad9815475a0a034b7197a0e732497bd8eace9704c786c8902f3446ec677d0dc526123063ef8e93df17a5b9a4397a415224116db4606c51ab15b1ccf737744d5f6d9a9c130ae5000bc5b1713f5bf71e2f20ffad7165e95097dce83ba7da6ecd967f79ed729d47a75b61e4a9f2a3a170986aabe8aafe9c3e24bad89412f0892c657f8c5a72c6eb731ecbb83f016a995f49ca3328b5ffda2089789a4db13e1a0ab8bd5f1908ab3c8b2c0b40e6e1a4b6e17c9ea9369696357e210400b88005c837395446311f83ff2db95162c9268881238a0ed2e11ca0aa8e6ca556888f235e08d3743bc3725e0be63c568c9e27d4d56b57c6752b8dea707255a492f50e2ac559a744531e673cce6e959447f447b4446c177d56c073efc3bf5a515c5c4ad5d999c838e60d728394b9f4a90a88854bd8eea02c49e86aad17b32c95311fa04e4bf0546a5b2b721672c71d1c0d44c77199a4c8f6231dcb2425fa7ddb37cc35fe07504487e5a272c1b4188f604c429c85f290ef0f42240096b6a3d3402d5002a1cc13c0f01d47721be6b0b4c6a8037cc6c1111508d5ea9aa2ca5164ca6983878751c97b4b7e9265fa2d823251d2c1deed327137fc7a7abe4b66cfc50936bc1c58f19c46d449d77218cdd9f9ba28f7e6f0a1e4779fee2545278fed14c0a24b471835c0c1e9750f721ac4a5d03563caf5db74f41fafb31e2eb0daa2f2208109155fc1e7d2804d3f36c17e94d7a118dff55ac1dad8d202435e5f1b758b434b117741b3150b768f1e727663113462f3fa44d9a1e7f114ee3cd4a8327d6214095034af35f816849d2d723cd29f851e16f9a7e93ff8731d39a9565d769fb6239c21daf4537c2b59d9a772357b6fede9a41b807e2a385b7416b8ad72c128b91a44f78345e762faeb8def40867de86c3fe17d813748405bdc19ff4cb8d87e9bfee77bad0c8fddad8742975d1d2752cd03e820b12e3655aa65b7b15922e15ac06cfec5febfe856cf6f9bd3669565d224b723cb45124b8d116d602412155cd9b69e4166871fc6b3733a5de6720ebe70f0e4d4f1d0fdb5cd2a70bec346a168bcd25754856c44764066ae552a60eba5a4c99ce6bd746c805656e47fe628f47b68723018d2cf5e6aab56beebc87266ffd1c432396f66d00eeea28447fe0a8fb9bf1d104fe2fabe85e8507e21cc72d454dadbacc8ce189a582b8a6ebb49cc51d9a3f9a7e25251f03dbf46b29f3f5ea5f7cdbd0b34495a763946b849f601b6cd9c6e3caaa6fff0399269388f9765725b916e7bf6ba72946e55a33bf93beb294b489cb76352e3c7fbf55d24f6348a72ccc3d44f662e859de57479b401703ae17ecfb759e99bf303b274f0502a304472e460c661fe307da614bbfd3bf227265992812d31ad6de0e3f5385fc5bbc98b54ffbe87d16d59ad5b01a397c9985e960c50f0662ffd52417270e934a03af68953c1cfb403f68286465b1363e3611a20475d5019f6ca2550c9be900f13b0dd5872f82093a782b6dd1229fcb27712c5f2acab2ab2f028e7cdc88c8854c25899a550632fef4a8ff1693261aa06bb3af9b8ed18742761f80550271eb5f394e5063e72466be377a51052c66066333a24d5353ddebc1b30109b15eb5f7fb05fcb883c7222f7c4794ce8686bcc3021a1062d53bdb90f8791320de7554c601af4671a2972296234c5eecf872e0ec70f236cf1adc3b6c8e8dc5659c0d7e4c5a8cf2ac73e14a29c1fc63512ffe83d59104dea62e2afba6243608ac1683062be76b98f14c3561b39a47ea80528523d556db362c44da3f50e839dcadd2aaedb4484f7f1573c7245a66d174520c278917f84d8eb8835badeb66d83d166854113667c1d7980c16450e724930765c45cec47120e5445d67a2cfb88e69ee51e9d171a708188bc897224bffe5eb1bcc4db737ce42d4cd3c8763efca82314583aefdccca4154e813e72043b652e31703f670b69ea597ddcf7118b62a98e863ebabbd0f7018e8f90477232b74925251da8a9e7f55cd8890f836e0e71b263c4e1defc258141307cb85f628a2b5cdfb512e332222dd8ca9cd54f5b73d7c0e63ea345fcfd5f462078549d72b554d066d56aba4b1b21bae5130e3c6359df483ec94b2757b0b02c8779eed16eb2147c3c264fe63f62da82649b9c703d6598407c1cde5c2b3e3ba54069514f2ca8257f32c0654135b7fc0c515c549036c90dd71f13c97233f4ecd79b6088987200bcd136c3711801d106e7c9ef7710eadd541186d646fed3c21b6952e866e55a400a5b24c160e6a698a266e02209a8c47c1283aaca9a34263d6d8aea1243ee721fcafd5c9ac0e6346d70bfeb0cc361399ec1ee58249f7c5173d9dbbf6ebfdd58ae761025919a9fe5649138dd15f6d21d0f6bddde3a7f00324ed8ee292ec62e72a72819dd3f513f9ea9eba667cdff4671188fd1fdb5dbeeb9b2940766ce440f0e3fbf09091bc806e6cc784976f8ed4907eb42e0ad4ed7028e59815f6a6c2d326d93d070890f6eca3e36dd0f2356460fcf1d08d5e14424d47ab438e23316b82072047fd6544fd030939f8cebced38832d62ee5d12ad4335f6a7620ee835d79751578319065317e8d8e524a1fc6fa5e7beba31d4ee0f9cd1b057f2055b55801f628f417bb4e30e2baf3f1e71388f1a9a429169a41cf2b12bf5692057851f1a1297299b6655f15eebded10a03f25e3b2a1557823a858f2e6068306ca1ba692497904162c535ca4a0247c0f5a88438a7eba17d63206a5c0756043cf112b660064e772dea9ca5495eb6d2b7fd85a7ef28a5e6e64220d147b390944693316e004176c69d4531e2fe71e242eafb769440026c8fe17d98fb3a60c06a5c2b4a09999140972b3760ef073ff07034f9d02ade1e719e012fb8c3e6ec4bd3287f81d05f0368472e5293ee0e9be96540d5a28dfac3e545f8f431dd8f814d08382922cff62f0cf402bde3b60e96c23a4dcc1c50e120c8372f6118c6e2edbb6c1b5af1d2a4ee4fe6931d1ec29ee8875bc4efaf52c689a1968f9097d4084905c2d027139c33c8add725d98f1bf129d4aecc669a2abf9981eb44b65f4ba6ca60413892533b147ac7972f40dbd8d771b528a8b2d437b21247005667c45452a6e2981251e524dfd8e1c72d9aa4f7c3478bd3c0f1c09e9845fb3ff194b8daf7e2bd8bae2e97d7f851589725f17b584246997f348ddce9a0d507c8cf1bcae81bd932a1c52bab47b2ff501723de028b2f18a308a1b2f07e6c93bde2d96aa99ad2910fb42ca9e3198ede35a36e42554bc84ac6ba02fb18f9506d85f2569e266fb6b5d560cd4c68e289c53400ce9c1db2ec57fc69acec01d6a3a87037dba48a76c86b4035e87fdb32e43045658d99a7199e4f6e55fba34c98a75064fc37170453a346562b0c73fbf50c8cbae724a869a1bb55efbce9dcead4e7960dcd3ac6be918e9366083379278020f98e7688743c75c81e23ed8a3f5f60cd0d49321ca41d036333db7f2652f2a536ebec770eff25c52843694e8f8f736eeec5b9026c3ba9efc945942ebedd2e9a85c1b5e1c53b27b3c7ef188fa223421389253881bbcc1cca14ead33fa54a3467382cbbe1aba95c4dd2a760a042a6edfb4b5558f062c5b1f778349b512b93038eb8c5fe8727059e6697745ca328d146b03e597ee8fb71118943672fd7f1fc3df171c06b24fc06dc4599d0612360ebd65e8a07b941fffad59f240e320d43cebbf0da855f15ce22aee34e68bc0878587007492b6cea5cdbbe2c39ff60307d2005390217042040648d3f82a81d2bbf4a5fa15d950ddd6a770b3eea533ed44c2c4915ee7658b72d4e92d2c69aeec64ef84297d31e545934794e6081ecd3d339f256b0d7383713fbf59a5cef303d15782cbf10fc8f81b681b1bbedee77e94df19bf25596125e972a2a5308382cc7039c8c596ebdb71d06679a8f20f8b19b0f810a4e0dba0c794720b1cd581f5020535290607c26e51eec3a312045db42b20db91e6e604152c6925a97518556a93046693ce4e8500dd05936b7355d1942c0cdada2bab063b268b72dd55d7109f9a823caeb74acccb2190f5a58f0598de9aa1fc82db0119d3383f7231a426376a01de061272c250841a09f2e273b48dfeb848a1ad24590306ce9c37ee2cbc669b535b4d1229f9a26ef7932851a959203226987efc69cd45d1358d72fc805fbb33ace9abff3480b180691eddc9bd42e2ceefd83888a50497ed1c0b729f1e454f4c6fb272fae8b36b232a9a4d2cb7397a46319ea63e6c5870dc75b42a165c7b264051582d8e80a12368f305eddc2a8994748323ed58838658a5634172ae74f4465e8bc4d9faecd0ed51ef3d606a100615dde190c42105df8b16273615226af37cd3cab361c2b5affedff5604ee8708e7a4e861ed2f2d8029b061e1428ead8b631983042238d16d7e9e96234b9b27afb9699719bf8d7af8c0154a81544b5e2218f8dc2f5db1cdf5064edb4110dfd93de006fd1cc5a9c747fd7c7ead94b80628499c1329885e1d4ce44fe080913f1c6c6cea71ee711e634dc268e056172fc29ab1ea5eacd2a7b302ecb593cfb549dafe7aa35d87120d6bf8adf45fd5b72b1969ae0c65951258fee5c18899008c2182080232b31619e4d5e0af6e64be87273c4fbaf4518f02f9a2ad1793f208b3144fd29a365a9e70d0db689329f52507231ddde803a19fa4ad973fa70e3d4749896079bebe1b1d47f3f1cd3e7273c203b06b9c383a22073b46e8150a17b66be8e26f8a89ec574459efe74b19fba2bf7729f19621eb8914dd9c5556a8f00e9f72db9d7df7d97f4e45018ede1c06f7c6268f7bba6428ea87a33d2d6eedfebe4bb2caedb4a1cb8f9dda196168b34906e5269ef5f320f40bf4f5816f3724e1305a6e11f699cabeeb361e1e6eb87c4d00a8a605642ef6122067acde69d671cc11e37e66e666c103ffb5158c8cfab86941a17729842b622457b5989519be127fff0357088b1012ee88d7b492bf1af09f0ec127283867cd4b8d38a14fabcfaba7099db15ea8303f27972fdd13380588fc7e3f53ee5f69edecf98504e27ebb1d60f629bc576340544208e4ab2588a2a51c614027225730261b123065af0e6980a6c5907e59403df0cb12b7b0b9eec6b0654687e7286fc32fafa5badac4267e728e404487db6db51e8b88751fb9108bfd96fe72b2371312ccf16a7abe2dd8e2f99d451661818296ab37a7aa848ffb5afcdde497d4557b1cae154e0f307b97b419bbb093d8a0e8ce8654c3cfbae0952ab2924b180721909ded175964e55ec3777ec88c464aabbdd267b655be4882fe566685c78733398c32e3f48c3bdf8956e3447656c971317edc42474a09471ad509f1532a09a4b30a1efa1f1daf64a57393b23c3b7f71f38bfc4f506d90d5a60689208d8b87c6ff653eb5f7c0b51c80f1372a2472f9c6fedbfcb659b37072ec70706f256b10e72b594b33fee75b25e50f3e1390b52923e7b7cd00969482022a2b4c0d30341ca724e06e0a8e5e3f337415520dcca82c3fca0952bca24241a7be718660e9fc4eb31fb2640b27be3178627db43407ade8b1eb07b65ccc196dd8db3e335850467fc72c0d212df3c119f367ab7e92b6b73af3127f6eee97d8e5688fdce51c22c476472cab8e1abc485960bd4621772631f3d98a84cf213bb7d14a72b3efbe99dcede168bcea5cd7dd2616ab4639442b568d982cfe89f2a07b51c35c11784a0aee67c726f7fd5ae52a629a513d1cf05333839ffcac62b49ce1e8765b3b1821f5ba503103317e4ffe45a758b36876dfc7e67b848d4ab9dba67767f9931c562703706c42f8f8c43c13019cba1f5bb19b490044a31227f0e79013ac9ffabdc44fd7a89ee30ff74de6a7a79851aaa36af6a9076b5c02053e1fa74511609129b1e8f4a4b4472a9e3603b142ffe66ec975b00b5c5b8e0b9d3520f3d0787363c01b63dc5136f513fd8216433ed503d67fc9e31ff15b060558a618f06501a73813ddcec6168bc2af5ce8a9e3fb48432816467e0d8cd821e4361542b461977d1944f1c4ab5108672b5513863cd73e5a5905afa7f6f7212626dfa5cf67a52ed8698bc63810a36367273ca35109e7748b59f06ed5a2bd8612cfec93e34a078ec320890f98581c7c472393081f0cafd8ab8ed7ef912a50b355c363fa59b8653d6d172fa17a2e48e45728e6f9c28499af846617c32cab4ba26e4b227a5d58aabe034de3f074130ef5b6656e1925bb79f376fff10594de90b1ac30ba0ea48895eafc6cee08bdc1d8dc072ee48cec6aab27a11bb700d59ba23861f7864cd0ef70b82b74da40e94dfb0a318b42c5fab91782bb8671fca138c0eb5089472023e7721ade4231c73751d7551729361cc702438f8a3a7468ad66e9d1cb2c4ff8f35133f0d0e73245354770d127268c1c923533f13486f6c5eeeca2754a9611386463c115b65d171591e1939b272f000056ca07ac49ff82516a0d2f2bb445d74f5488b8046ec556d8fe83f420800f96008dd41b55ed892c6e261e06edad17e11829a2e84c32047bb15dc317291722996e7e64589ad9d94b41d76024707bbc00afd44c6a51148ec980fa77d18b872f3ae6dec6cb5940c57570fb512c618710879bebd77c9a8caaf1c8e6002a69b725a71c92cd25354fb5c4d07ff9eec870da2f03192546912767682d47983b32231698094ca0bb84c13ed432816d70fc00269708df602aa795b76a1e79f69982d72588b8dfb2d929a75d5a4c3ffad527eb858f150746f47375617f1ea2e0d1c462c8e9ceea185cb138b399c893b0ed965b097a26a92b4978d1898a039e8fe079c723fd32f2968ab15a58c556e5bd86f90e344512c296075f336bd7509fd1566e472579a421987e208f832aa7ddb2202d72a01cb41452739525d5b951d96e9dfc5722a99b5f550d913f19bb04f9929508ebdbfae165bac9fa4de47470d5ff491e672a225ff25c7894cc5e974b27fd5262a497ca47d1a67e76d5c5b3f9ccca866a372a86113625b4bb53f9492bf0e2e917d70a0e8f4c08897e94e773c05a8e1b512364ebe4e1cee8c8cb4507eb990200576be2572e372fcb935d0f0327efba76612728e8f890634b0657154d6d9c4a221a0dea64f3a3537cdace785db1835e410a5723bc1b784ab4f3f2184a908ea3757ccbaac191c4914b607d2a6be4842446dde06ca397bf74106849b8de7bed14f8c045085db51f093064a3cb0105fdc3bff32729611620e42ced03de666970b6674c0cfed0b15044d6e824347bb3fe4df031072f7d69fb9f953cd8594180b811ee9c9918ea9f966f602fd10ae3cd15ccf70a272eec7b006b17b7e516898b40be27fc6e25c29f891d66925e9c0e0eef76913b207ab6da4762bdca34f8123ecdc05d6379d7774da73b53712cbea188cbc28ff7b4854a63e21281b4343bb81855c56ce42e208a77da4e7f7fd9b1df730e001b427726d21afc9c556a6999cb15a481b056c6d9a5deb200624e82cb210a6fa1acddd7210a5df024e84e51f118e1fc60a160c3cb723dfa09dc6f3690855ee5f42e1e5054ef6d9c04cfafd2ca142ae1de55ea80a288d198a7de59d50c68dc728ed159872796948de5d35295f615ebbc2ba5cde4a74e4f00f0148f26bbba84057a9a18c72a26560977eca8b35028285ad123ccc3dfc3181f985c7ddded0355a093e00017221bb1a703985c9ef94ef4dcce7644d4eef94f0641617470f428ee1f3c8fc9c52206c59ba06b6c6cfc40256621d16a29fd62ff848a7de6eaecacc1939a899921919831bd0745528dec7b2845734c594490e76227ad789af95795e96bb84dad472606bbd50ae12179fd561f5e7488cb82419d0529887ce06aa8fa48e3221047f72cb3ab0c3db2413925344efd56e4ee57d2b0f3ef65a0b72d9298d4ad8f48395729ca41380b89d159787d28051b20425632a278866f3e70b8f04b0c24d7da24f310083d67759fe7978e92fca706d57d62a8e0820ecc6461e972005770ac2e30c36ac87471b168b0e962b9b3df0890494533361d1ccc55b25afb224c8208cfbbb72be6c0c0e9a5c89bcbcdb4e2dea3ae3ea2531ed19b8a40a8352be749c0074fa48551dfe52c041d4bb14e019c15027471e60d88b1e7eb69e3c2fb231f7f4a02d72a9cfde2fb463178b88c84510f458087d53ad193fc63191a9f7940b7754b0082d7bb14fdb2b83dd64e8821d320bc2aabd93ad0733a4a9fb1c30d563825834270595459870d820c88089e55e3e0b8c8a43e39c9f7309f2765903c50e9aed11510e4b324dea1d27b60fc86385afa5b57e469ece2e36ea8aab0e6bd861f297d0dc62884bff0b7b6ac211f0c806b8a7a5d3dc43afe918799fda8e57f6367bbfee165d82a36ec1e21ab313bfb8166b85c4734244f07bde3fc79f5bb085a7232c0ac2723390a41058e50b0f89aab4fdd68f771a925e42ba2c1b03621c8b075bb4d9ef72d95f840fc7015fff0ec78939a08daf33e7f7d12c09d9731e5123919b6f4ebe408a3eca36a17d067c5d172507d08f0cdaa33e54b05db42c06a873179f4834be726ca75c310d129df4ecea23fa8b74648360f0e4a82397141ad48e1f550024c87233cadb406b5ed43cd1fe1e457b5d423f4b5806d0daa9232f5826161387e104726812d84eabe64be491278db03530c9e882b15e3272dfb7e2fe5f158ca238bf7234d4b131d1b5388835eca05312f2e64595fd55a28c0892a319a3b6ed96055f41fb68168f0df554374d82a35b6db4aed6302dee9f3ac2dbc04f2d9739f7834f72468a032f2716b8d5d2c2bfd8bc9a1ff23da0c1ee0c07b69a0c5222371e622d723140f678ad566554ee8291777501ad97208a0440ae73f8f94a82f087a92be27271fba680ce46d2e4e6f06448cbb8aa87994e1e3dfdb5fa68af5eefef3d4aa54c764d476f3a38fb0b8aeae1b1afb713072a7c9b1ad8b0ff8cb9a1ca459e77ba722efc868b8c54b8eedbb2082137b5c131966a9afeebf37abde97e109ce2bf8972457d946131591fe352eae87a952671d8efd8f52869a4e59b0cd049071cc0b072621977ae656c5fd310c36f1624be775f2e3ad9afc0fbd215bbd3f8d7308b280762ab63ab5e7cc7271d6a34a1b37101c9cfbb650ed30e33d0bb14b11387b9387258c28f9b1e9c148b1ecb17b4a81b758cf227fbca8b0088af1e8385b94c603b7235661116defbd2d0689d61a23fe980ec53b9fa3779e316885edab61da3c29572a4302d2f1ba7d72538ba5291ba9c69bc1ecceb6a51d8a86f3275c05bb9df815546e71cf75da219daa39a76605c44d6d536a8041c8bc43488ba79576c63f3fe482017fa6a8613e6c4205f4f756ef1a3e4fc45cc0d4d7e7d024f463f959c258d1cb13f6aa3a23ad8430cc8fa94c130a64db17e2a657c711e7af99855c40892b072dbe8a50e81197e3dd566ea36fa9ea5e0644bd64633bdd7687dcea85410eec25272e00cf1a1ef1893e918830e5fc97b8f331fbd3eacb3a505c2a17d4a50571c725ae998ea498d6316e77cf317a876b81010de4616046d8d43dcbcee95088f861cb620dca50b8d26c7138c1114c4680937402c06dfa8e6479f63fe2623fb9cb65022ca818a00c5a62c1915752674721256f310257df634dcb8a30a94caad5eb060a6b7f578d1d4f14e0c718392bc90b0cf80ad176eb69a4fe8ea5c873a1436d6632f2fbbf0fa4a8b8c1470b6b20571f85eb1dd98d8f3cc4f97e8d05fef3f4197726ddd1dd5471e2f7a5c0e601d6f59555326f635634fe84938daa5b58011dc5d1e6ab5b32ef5d652e6458e0048c15e2eb0b95edcdbd9ae51d021df7d897565a85ac99e04fb06cbb3ac8b858e0909fc1f5cd33af601788ac475e59daf7e89d884648714060456e0eb4d5bb83da8350e0321d51c40f34129b9535f87bb02493c98721fecf88c5448fcfd6f7b4c2b80d4b8badb804dcafa37fba0cbe6c4d2ec119063dabaca96ea0301d8b71983e1bfe66894147671ed9ecceec9bd2a585cad0b1772a836410f7fa197e076f30f6f65a876ae7734abf100c0ef75d89111bd4f60437287ff75e1e1c6946a2ecfd1a044f05e7acb9bd35bf488a50fb6eb2d5a7eb4917295a5c606873838e5555283479d9eef62a2dfdc510b6aa29e24e0515795ba187266de92d50e6ae8e70472117f5e6891ea6aaf9e7721947c93d51e6b5aca7a7872ce27ed00b5676fdae841334f2d5e37cb07a4e8ddef39597cd6f7ba5d92d86172d0911042c50b6e3970f295495b6c764014afb9bf37004dbf4fe4c732edb59338a5952ac3626fd686441d4f9143214da9ddb73133b7d7bea2299a2c144753f15e19ad092b44934d96ac68b67e9e5aa1ed8a69569ec6b970722d506ba827e0487253cc709d03ae30e577ed620261c2091ad09fe945b7f40e16389a146a0866f67218a29df6edd19fa1deb11465ac41a91757869abf01ad15a2f2ac65793dcba07291645acbcf82d713e84f59d4390d9d03c0d304e2b6cc61465de7b64e67405372e70d931b1998284b8db1d1652e8d0037a15f60d73a53663785f90b77c66ec87230d7c4a98bed1773884387c524c522839afbe5779f82fd6c326cd538cd3ec5722262a12fddbaa153475115ad40ab64d4d08b02610c28ad8718565936ae8bb0727378312e023922dff75fe28029da3210e826b93e32ccd47ecd432030b20bf063b21e918c6bf64c3665f2d4a3658cd04f84d07f3408445c5eefc9e6fa76dc1a438c8145a7c2ba364baeb753eb725027c37600a672495139f4c4b47f959f3e0317a6c89fce29ba6ad073934fa2499f27d62fb1713254e4d24123149e16c283ee6e7b01a9b00821d98a2fdc64aeaa90facd55de177fe137ed48f6ac33ddeee4bf697687816e31f00b42eb4677d03f4a146c2096b250868ca6f408541f868dc22f72e706dfa5d0cb37f4d53ed88cc340201248613665bcc4b56f76ec9b078076725ae42fa9da490e6fab3d82487873c33c37ba7ac20ec01b8674c61d90fbc9c56472d40a82805235af499a1f9c2b1f3bb891e1a73d47dfb28a9e5f062caf64a5a372fa93b45e67e1a32b1a5a99e6026201be6dfa440673c7243e90f871aca9dfe83c143e6eb3ad0b367c94297aace419f9600b3506e45c7d43b2aafc609f69e9104c9b2434a48c6eb35aebee05013e7c415c72cb6fc77f0f11f39d49b012c488c472701e2619dc002d31c3bdf93086b8f27d595615ce015bc471f920a1640dafd12c253214789cdbc1cf5b2f135743584dfcb602c04ec2119b4cc1d657e5a0215572a7eeba869c4cbc6a635f1456eda34cabcebef0749a13c0eb9c2a1065f59de172937502d8f29743b4c10b84f4560b6c99fcfdb8cabe5b445c2734579f8d348c72e16d856e99181b15abfa44d99012014f8f433c0e587725ae7edd88dfaf7de82f2447430aa21652b8481a25d02bd5ce244123eb9f775407ce34e0d065e5cd7d7239ba885e73fc4daf0a2d3a9cdefad0c633d8f6d88d3ec509aad24ba2a3349a5ed2ff079c113ba8ad7fa7810eafec395b6edb314206bfb2243ec5b104a255c15cf7899e66412e462a1a3da3f21630bb329f2c39c726679c72186520f376852364680b8ffef421021d9670963cd8087753f45d6e957747315e874c4fc75f9456725e24c53a5d1a299287615e684b152037a6223c56be30a40471a8d142d1c7dc0526e9bd4d64b3ab653d6585ef33dde1fc886e6ef5f5f66b5f572c177665cad872d3b89bdbaa881296124fbe5e0b171ab954cea169bcf78c433a12d03531fc1f2021b7fbb13ea9f377b212fb5d264987452af891719c42bd6494db872cd93e87723603bd433940f0b2e5f77f1570024424962949d967a7804b367a2fb7b7ee39727fba21c740de08247c3e743c52e18e265ceaa5a62451b60e77c29a8958e9ba6354416f0223f98e0b5b8ecb83e31b7a8a56b703f2dbded105e67cadf021d15a5fca24982d7f2c64188140891adf47ff875c33a06231e3bec4050fac92c3459a55d41b8677a44dda172bd63d8119c4155eae35a732244c1e22d784654ea2f644526c0e49ba3730f572837d78e59568e9917b3add618985b6718607c3c7f51876094899921ed577e7f0ca09c020274e73dbbe6fa6af0aaabafb7ccd7b494a49bf72694473ddc04ac6aeeef9db2ef453773ab7b8886361825eaaefe344b488233d724b7aca023a65fafe9bccbfa231df7c256dffae78c292cd7055baa17382125e3327b30122adb79fcb5ae0115ff2affa0f224eb70d39502cd3a4e08bfe970561728c90adcbc9e5c60f562e32f2b70b68c8e41e0f78377757f37b00b9980faff2726f78451b050ee162000320c817e41058ae8f006265b6d1602904b0420d02230d515efd0ebf7cfc3c9d9c658d7a0ed51921f71286fadd16b5562444c270941b72535c665d58292d3ef26b861ef96abaff6199bcc6d6aff6dfacbe25a608f154722f873e5917c31091a707c79736c300e2c4e9bcb83b4c7c37903694761897d33c322fdf7a5fcef250819f335ee5f1cf092de579820864e99709d6b3370b1ca840edff4aaa338880d7698b65e86d4d6fcaf74d9152aed4b244783acd678f2d2072f007507ec1272706e39b1725e09e7964e059989e0f4dceaafbe03af00b8e12608cbd0064209189ef85ea02f4baf347ec99f05805895c5fa39599e4b454fccd1e1f4a77a006be0a846fbde670f1c7e81dda869dfde2c377851bc73b5bb58031722b16144f7d6ad2ceeca1298e76058a1126d37e4aa028da672524c9801d6cc436854132ca696ec581ef96eec34e8f597b791ae7a4e8c9e69f5d3c90e04cb60272547c1dfd5fb3d99f1da04d596e40e9453d6162d3ff2fd91215e8aafcf79d21720fa015eca24ee44b21622749af3858d5dd303c1ec5e94908c27e486328fc074445a660f87dbad04ef94ba185254c8bc3bdf8e5d346aef18a447c4df9eec3a672347b5a81f7674ca8658cee9479a921b9a55fcc94d8770837458f4c5d41cc6772a73028dcf0511c2e4efbfbc0747997c86b726827924fb1ef0679e768af5b4472b89e0fd52da7c4453d35cec71b275455fecea042720db3ea20b15a8d176ccc72a7329d5c152ed7cf28d08adfda5970b2fccdacdac95d51d49b01d9d3a4147d72145e9b9eaca13fa931c0ece268fb8aa709a2e9c79ad8c253c41f7077dd373372f860826f5a1fa40c0b37ce6e04aa87fc7580d30e8f2ddfa9994a7f043ef75f72cd0a7761d851f430d894e63ab18c13985388e865c60abeff19cd572ec99dd9293ee892791bb6e286da930e68d4d7edc67bee9864adffdc80ca703502747f31628854eda853ea9227db85c471275051c5ce681a655f46ba4b324b418ca0451472db323dcfd9fcaa3cb95ce5d0642f13ea60045116275b99c080a0685c9ff31b72410c2f7d3d9dbc34b8ca4dd6e8289f065bf1a73fbea59c5939127a671625967203197c04d8c4be33041bcbce73f17b4cb2a7538b85c21091579aafd0b2f67b334d58df77ad2801746707f04922000f66bd05fd0f03e7623d1fa60ba97377ea26a526c7a0e7c8deb3f327619c9c0022b9ec81df6475753ab549256eb7aae7653f88cafa0763d4b55d81d30bd8cc33837919ada886b2f835835cf3a05a12f74072553cb6996b4da1fa219e58800a8de40cb5d43eb49d8c0619ad782cc36cdf5e3a3adcfe8bb930dcc1cdb05fcfc59eb586ffab49bcfc87e9869e5124fc00073d633ada60134058fe0098a06b17b69645858e7bc586c01a509a5a4c2c9f37ce56325dd78fe91e0d3d2d841cb4cd86186a54cf9ed0abb40cb257757297534f018d677d8b0c50b8e43bac9d519f380a056ba67828d141347d8ad6d08bd6f1fc71df4f31f8c7ae40c74f4b4e1afb0c0acec5c51be5bed6a2d01829517a7419a90afe7204cca6e5af1736f1e0c7c5fa11a0c5d04e3704b45b0bb088060b4e01d345ad7263fc2e3c8d0ee64ae5b9b15bc47c97b9a1ad1b31fd5f154104b6d11423b01d72e639ef6c81fa87a896744bd2587c5bd14f9694f41e043b64c849e8aee2560672943c3ac22e345f64d9bc65e6c800a98d5f022f897308440a59ef4c30b825ca72ebfca802269caa448f38845b917b182b219b5c21917aabb337be15a552171f72fb0f48446c8922c98aecbe3199c131c1f1c920e29322560978e02a3102e724726b20d6c374c34fb088afd30a272da04148b159b810deef1d6878bb2636809072470276da116e71cfc9e5ee3ac27e80324a1aa124e6a4c06baea00594ed2a4330c2767482411dbf0c7d6d8e1e30ceb69c52dab4c372c17a041f3c100a4fe3db66b821f7b6789fa40f1bfb62d3ffb1f1bf4ac91edad66a31f441d5ad1a8318b93209015e1502574620536aa1d030902949a5d8735e673c34fab44d5e18dcb33b50516a2bf69208747b94b701bd569f23c9050e9d92ca7f5b5b55bfa621e06c7347f981453bea2a5005e836161ac886c5693d4320d813cf9b4340e2df13874b4d073d7cba9b75031d07cb0b4e038be15ccfd5f44bca754fd68e49c9026156d7f80c149d3b0b7f346f33e045b8e92122d0a29ccc96ab9dca24184bc36bcf7e2b7772cb02c77fa95d06dbb1640427712463d64f2870fed5eba4baa756cb9b19a8c93f3f88a4dc06ca4041c7b93c8fc652c35d4aa2521c730c14c1a56a5825a928ae7296633f3018c95163eeb9809ce8d2b58d9038c4f948001f4ad288e615e479e05ef588f2170bc2a7d4a492025588820e6199bdaa7b3f6a8fb9493f9511e9f59a7250cd9f0c77c926f0bfea7fc6a46188a8011e5f7e9ef9d36e33f9c6a5d14ac359365b448a66e08d84328732fb0761d8695b6af2dfe36f1d3212fe70d74f2c7e06d6aa6c00343438cc3e3c4de0a0c1b045c8852443b69447c5939716e3965db50b257fc829018367760cc240ab721ce6bc3b205bb673576790d38d46f037cd176da37c4e27ff9565657c2632bdbf3e1badc6c33181874beec64e3d7177193a5772ca9d49a09e97ccea2fc608ce59cc2e46b197b07aae7bd8ab0e5cdc513a29670960f199b084294dcbcf485f49462b2c14222ead7ea4f5152be3c7cd2a8d1ce572291c1a48c4cb7597b10fc535c8dd2025a7054b756f74ee83e06847cb2a4aef581f41cc70b04f01b94f710f204be86725475187f703f27958d628cb44a30fa3435636430abf038c05e31d03a679b23dc3e80d336498ed31d099086e0da8afe9724cc9147eb18f8c0e2955755027f7a1aaa56c7f72f4f2166a40f7bad01f54d32573b598bbea5d1c87cb5c40c4fcd234272e973c9ef6647bd540e2254fe13a6972cdd863f22a9c6235ed4a210f6119157d72e8aef3a3f9d5c2c7f19cf65470c272aec664cfc88715bf5aa65ad57c6f4f229fd8d73b1a16eb888f67756dab1d8b29e5a30a3aeef832e1800e7095f1896b82975d23b05b6fc519371446b23bb18f72dff56f1a8ce4640d268b1570e42cc01b3fdaedf09ff1c91595a33744ff886c2452f3ce4253f341fb6e32987ec134b5e93c3774091a5970431df2cbbffb59f3722195999b2dc201edeca0981dc19491c09c0892c0123bae2246baf0bb85b12772bb1279a7489982f0939bd30728f03887a4730d0e24082a388ece064de34001720aee700e7b3f993af5c7c7195c5762a5292a59cb7ab5984550f480bef002ee7252dba3386f83cde1c403e3db715b8fe54ff84bd5c5f9ba3046061786c6955a72fb330cbc2c6b7dedf8f19beb7e6c0cab3978440754449925627ca1ddde5c4b723bf770e711b93edc10d5b783bbb826a4dcdc5ccdd8d61d6ca3c8115d0639c172817646a45868a102daec7e46c3cf3d6245f9db29a3c0bb81bafae7e2f54eba624a32083c4b2be60bd5fc526f68aefb469b678f0365475953164be1d27885fc09283e6e20d135d69fc95939351308f2ab4e486275ec2c612e4452200d29e03252e8e17d6c740bd80512245743d7fd8b68ff82f7b356e94015e2a5c6735b39e34643dc5f27764d3fe37b02d2ed8d3faadd546d726f54507bd75f7b2a9d9622640e1ce3b02476573729e1acaaa53d9ea9699bb19b3d051fa798f88710c2e66d6032ddcb029f1b3ffae18fe3de3cf1c5c896359fa70768aa0b11a9d587b421dc627288950c44bb704331c6dc41a3e7ae53a4ed94f211c7195b53c6b23841bd34337264962137880def55273bbdf43d7b82ef152067a1585160039f4a6df25dc4675208a145da573612143fca1036e2949ddee58717cb751464798ed01e9438afcf725bdc170ebb9d0c89e9add4224f50e1b948d2ad502b7fee212b0a14eac3545722e435107158dbb0367964c952fc83e5844317e0c27234af735f39ec85190e0272849bc28b2fd2c2d3cd10a55332989ed1a135811acad3bfdd90c373da5e4d60725be984ba42c14856020ead8c8e55ab2f414b18c66066c86f7429f9bb8e856f48bb7e1aebc27a3639425ccb883d727c3fba2a4671f036c0de7055611f6df5c6724cd8bbcaa718aaff170f5b642601880eedf4b8e43441248a55508e5503cf3c21cea37dbca2620a2386d7a7bf8393a91f6d10f95a354c9476b3ecd248fe85bb24b76bbc787b45cc52958d33c4c6f477184d413fce3d15bdfb330905f402f24572b9f62ad70572a3c013d73326c9b4ad1e76a361844fb43021ef374451fdf97229ab63a1cb78891866a762eaf1fef022d812acf5f4b5794f9f390d2458c35df34601a367f601d576ffc9c2bb38e36961770aca9a5da145395c400c360f7a679b723a79e1ffe02b97e9d3206ab24e07ba7aed5c427798620b4176cd624a1784150b32066e34f62c34e626e6027f10c6443fab470b1450984911090c6bd4d7c64b724aa870d9367abf6c9d14e5c57f1dbea5358d9bcacb9a482c9e03b3b023b01372d2a5576d091d8909aba52aa1e7def340a7bb869294b5631234b84c8698125a229d3c63d6ab695c943c933d4f58c68e26838c009ce97e42aff9aa95a514f8c1724feb570c7b4b093af1a1dc6c7e68445fa334d85d048edc22e0803534d221c94fbc3e96bd543d1e2eaf6f16709b501e85e9433f8156d3b02a483cd166bd501947bf20d9d640e07a466781552501e333ae2d22f843980963494e5944e448f1647233b873f6d03ea516aff029a5faf2ef2ded82d4c9eda7aad53807c541bf496c588d02681b26cc020707c51aecd7b28b57449d1710128e17756c467e27b101ce724b2120626c12680fe0bc23575df80900c4686490c9d1aa6686f391bfa1c42e08f1c3581c855ac503471618bf91ffa39cd317be64b49422c0658075e14984cd725d4a688fd745fcfd2534b960864c73901065b503fc221957d6a09bfbc8b2cd72ec5dad58648b5eec23b15348d814316e03f97a0c36df73c5b474cd31c42154722db30a3925a5570553ac0c2fb28ac296e2c9491b3874c73f39524077c734850affe00da5480fab81585cabdd9d38bcbb965aa3df98e8c9b94fd36c6ca75eae72a1d755fac7d3cdacae472fc581447c41eeaf247f74562a6eb20b4b282267402716d54dccd76596c103676102b90bf5aa852cef75aba95378d2bc526c793e6772a9706381020fa11111e5e44c0eaf2c552351f375f15229d3b5ca67237e05d472a30e5b43722cc75b0147569c08aaef63d3604b3751da9666427c83bf94ae61721c413be9273f00b53b4f3ae3044afa465a1dc9bd755e40616e78a40ca74e423a0279dc0c456b38e1c9675d489dba6c6bd232c360864e022c78e9a4799aced6727a4a3d21dcde63c79fcab153d8f05f834968d75166cb2fbb74422d44a7b0d9725ce58d5d6efe236c0ac468a0ed802b70542d1e666ab6b42d8f89d43b38c1b24351546916fe8bd2cf832f4c4bb473e9920ac39e62c4244135530f021f5ce67b33f5f9e0272a9a2173e3218b00e1ab23fdcb50c9496be6a1d8420ae852bdb2ba7234fd539a04d1f2626761e9e77e40fae20d6eaca2377c2d56953335c6b0089172c9bc4998fc0efbb00c4b6716292558e69098a32cbfd808d07d5844fc0253bd72786ac036947d7d6789a0755ad5f664cdb9cc257010869fe427960e34f86d01455791e351f5aa0eca21a740c1196960070b6eecf1a6b42ee211248f16236b2b4a7250cd4e50e52d0a7344e30597c8dd3a5b115bee1c6a07b37321cc9566133772e7e550632f2bb4a1b7dce6367312053d96d82d00e97a87ec8ff5a312df844c72922144d2b8bb0434c2fd75e75ec62be14a8a8136388a345670f5f3d554289c72fd3c90fac095806631dd05cf390f6a5346796888a8586f54be7bfbe16b05e972643d865fd78d37f14338d205d3115982393af7d341439960629e71f72190796d6c1bb47f3312c22d90692b43b67ceddeedb7287f9be800a0f2d7553439687f24a45729f9865f37475f65b0f5277537a94b1845a3b8718e4f4c043d33b0f59b4f174551ea5637c87075932a67c03ecf6b2123eb507e9305c0b6970f2d37cbf172981095d89298c44d024202dff612d68cf20738d2d4248b23195b3f8823dfd672e68c470761c72b96230b7ad8132e2c23acbafc2893c5eeeffc10b8eeb160db729be81e90d64cb9610699b90eedc09f4709c34349ad1eee52edad50a4aeb9725ce1ed7c39ed71b8df5abba626da22dc0fe569a0cbcdab0ec4552b7955de37d936fd4eadc61b70f430d7bbde9cf6d227b0d902d5c5d5d9fba9e889907b8e646272d1b8f5508f48d543323aa5b09db25dffa2d58b2a44dfdfaefc1862ffe7ca8e722d174e82401adda656ac5e47aafb56f52e7f6213a2edc35d122b2841268c187260674d594590b5425e393fcdb24384cafad9074e6ff2d115b93b527b90aaad729cdee2d0a7323d23c7f674eabcba538ef50bf760b700ade2abbc37b71475227277cb6f1f47d56028128e62d51e73ead43d44fa6752f030188a3ccd6cba24e3532e915dfcdceb196f88326f4e94f9d44ca2a68a558dbdacca22afcc5737d5006e7cd10a15787c438344f94cd9dfe1d494322efb0b48346de3bd844696f7eb1b729317529c971e7481336ca4f914040f4283da1e66ccea3b8b3fc40ac13f2be6671eb76c90b46ae35b09f78644dde1fb0c2b04a4e41f0004adef8b0d62f258b433b8187f00648875fcd81575aeb89c604ed1903a8e2f8983ee0293fce2b47eeb435f27f55a6e7b448786f27b52db9856c46181725e9846756f5db03798c2d9fe16546b7972fb4b1544b37d07766ed01cea36fb1e33d841b3226f43a2f066d3fe7295277d190365f6d5b38555ce895738f41af7710dedb4e76c95777138f917ca03a21b7c28a7f72dcb37191ccd2a81bce427d09e0f138c3c7be873886e4bba817116070dd4b9f6537669035a63c0e805fe78a1ed73afaadc2210be85b418b16353d3d865cfe41ff1e8ed5cc3b6faf2a03c163bfa48068831d1e297c17cb5d8714a0807ef1abfa6a26e33cf35274f3f922cb4af69b73179f2d5943d5b584d7a6454e593f63f2e8e3774cf2447f228e4ad0ac84c5f2082df941ebd43fc7e837204105e4eed57ede64ded45729b3f100aa543b7cbb0c40f8bd08e8e5eaf9878dc4c668896500e644a938d6466bfa8f4a849c9d182495764295f473e461977c8d8b0723b0df6ba5fc8ae15ebccb71a8fe05dca3f4f4b127d5c3693b0dc56847b1bfb72b09fb018408dc6d9a33623d7d7b3d6659c7ad4d804883a4644f8ecde2a1bcc25eac9b0c02806122546652865146c60be943e2203e99093a4883535b4f40d1e7259337fe0131f20fbf627dab9ab3847cd5e2f956031dadc0a3563b3477199ac062e754e307d2cad3354cb4efbd4d8cc0c91cb56fc6174b8a9dc87c100247d1771b54750bd5bfb58b3f0d19ca02c914bd8a7b253b35ec9c93b726d131baf5a94729b31518ab57ec4b3fc7032edeffdf2b0b10421afc1d5e7083dee557075c2a52528643ea1ee521fd1325e1aba256a60bedec176aea1ad7cdbcc2843faec66b772213e140a8f07cfd33960e96453090253627f591b2fe7a2c970cfa6d72475ed5e45d262bdc8e02ffa255a047072245cd780c6e977dc552f518fff2a75e596a7664ff9e620fa508ce1d76ea0d0811cee6e4b33c8538951fd5920cb66f8e5db3b725818ac3f106c3bd8ea01bee1fecdb805b7ce0f62d84bcb313e4c53f94852dc72db22dc6d7d64d318fe56bfdceb23b0225a7892ddf6f87cc8a8ac3e5452c6bb511f9fc44e74f57476d95459f95d2943bff1f69f338c7d377eb5446bc7ee0945727e16e34a8a5bd77a607d51ff455c24e8d715efe4b0f5539960b99d0b95ba3b727864e484c29bf0ea82e8665f60a44cdd784e8886adea942f473d59074615d072bc38828de5c6d05b52a59beda25634b8f62f332af409b62016d2949dd9692a31c8084b5bae20bb81c19359b47eac9583d20947d335340c9c0a62f0a32af06f724af0a94bc9bb25c5039587f44e3652fb675a194de63b24b5092da9dc2f9bf6726cf05ec1be23ca5efd81d182d601782c93c7855d36a4977c70864d60e582257298c20f11ec55fad14821628aa0f303d1ffe347ae8b295303fe3af08a0a4d847217ff845b8cd87690d8bd807a28733435498aac4713d1210cd57ae0b403b79f725233257c2f3046f1776fd3d70339c50e80a3cf1e5a434bd6a6717506cb133d72f47e4f2c4f0c1b95aa0b55d1b4e8f0758d713e5fe7985364391bdfedbf664b72063721331f9763aab5f1865953541f69f9bbc1dea829b7d9a56da0f0f4c0440fc1d217775b0317b37358079d6994190fb973bcf61b2c7bc4d927e76727d2316438d0340fb15bbe4d5bf1b11644e453f61e98e45215bac479ac0738a88308ac3aaa5c8f3888fe88ba84661fd8dcbba495480f60820e11f9bbc30d061f92892463f96778c716c9ce3491cafc5bdfadfc254e5d58dd5051c70dbbb47d2f9b6d5b65bb6ef209c04574c0dc3d5457f7eb27dc6fe118461d9cd6865b6de98861161572e89ab03db4e53cad32b0b2f93e60645d7958871ab6ddb1ba1a4429b24b2c7b726c935b438cad35f906eed67a662e3c1190fd6099a46d0423ba710dfead42c2156033d8864ba22bcfed78f0a533530be8c54bbc9006dca003804c78ae3d97847223f32dbc47c0bf789ab08f63f8fa4d5f34059af4b9aaf0ca509623eef3064072971a242465a2e79456b7e61dd11469218fc6f722fd15102b88f9759f3f163d7273310e846fd6e6ae193490ec8da9b01664f741579b0fe19397576999a7877017415babe91d967e6c73c1463dca7582fe8aa1e19f5e0e3ade0dd8f9046cf4cf4eb827d6f03be693c5160b0c100fa5d8431519b7cc31012793578295a0126ef972f1dd3fcf1c10d7197f4408dfde21d0f8ea5b9b13c8aedb991b1bc05cd1d7636686b22dbd91b54a70eb781d51c51b247f9ef2bfb251ddbe2015246c976abc8172fc6c8cfe28fc1539ae9f523cb467c9a61935038c16ba5f79e8bfe640e2fa1e6a94022b1b2e7a0c761b240e4563fbd9c947868f8fd4548480c127335e6888e272b4abfcb338633c1ff9b87cab8e08ceb788c2aa2a4554218be2ed12f108e05372c71be5675ccfeb72adf50ce3666012436da33a7b840b67557b43d802dafa8272dee31e5bb32fa361704385bfe9488d81a98dd6e4263e450ca0f86a81ebd5177262258fb2d68a3cfe292c01207a0cac26e4b1becd57f8ed2df6d797a23b97d5722a5004579c15dc912e49cf1c64f67cef8dd6947827c621770f78fbb8ac247b72d97aa4b34f1bb0755fdfcd684c42699ed59c8072b70058c38066f9f87ad8023c38b9b7c913c871c5cbe74340d45b4fabc04bced1a7a71f890aba472a6b49527220f515bc1063072fb11cce11998f65ea09d24265730a19dec8ec9a574ea19d729677f6d1ce25a3224717095874ff8dbbcdbf69375df62acbc09e190cb61645337956bce6117f8dd69f4f204aaa016d39281fdd2ddcc0ecbcbf5d5bb7a7f735728a72dcebe5edc9465c146892adea3fc0b9f7a74fe531cb22a305f9039f120a19019aec34fa8992f24a1d2d21df6ef14cf72df358bcb7945883edbfd698cde972807f88d0dccd4110c78fe2a51da2d6cc44683d0f9339a21a9b7f7140fa506d718d84d35e971d788c060c09ba1195ee0b03ec5f6b6049b805d04599d5ca1835003d13732d865aaaa2d6362f15c16b11cd357387526a7774aa72b7a456559a2d722616506c1a34b63332056e841966e7e57c00fdcd69ebd54e7ba8025fbcb2da6ff3e094f30a932fb1c37e6e4033e56fd681db14fa26952c2ad4a31eaff1690865e3d93dc09bc79ec44de9f59429c5b49826bfb88bdf3f187719c6621d2c2d2d4f5a64dc48a1284df208b98d4be1e7fbe4776c0f0a0e761fd6b5afc9eb0f42d8720d9ed4e830e267eb62b8923f21ebb599e65bf5ee892ef7927a6f16e9787c6c72f50da718ceb68529c26e83560dc56c5c0b3df62dd66e0164e1570e7a51939a729bc78ebb5fbbad260b856ea03050a5648233d0871a522cbbca87ee4fd2050b450f0b52c0fc6b06baee84f8567655db0aca188d87bc3a8303b13f05065e392d721cd17ec966884ee0da019cd9e5d09bab5c2f7d01c3979cc2b8dcf8340fa78c72ae7f1195836e82560f37885d3c3d8e0e8b2afee47a80eaaa7126efecced1af57879ba553b4dc5b89e2c2f6b9ded2b2ba0e31dd0b31425b97b128e5fc11d2bc310bbce48071823329afa470b6a74298a50d7a1f03c8ac1621bdb0d5afdacbc4460b31579b3478666eaabc86503fbd7ba802879e3a530f91eb6687a195ec143c2279a0d40e4dc0701e07be75463a9b19a09dc50bc910c047adac133a5dcb8d3772a79f1f42ad8119ab28d5527c0f24e6f9589b57071a3578f52d042a40206a58720e412c10094214d9fafeaf6be6bea868141a008875b4b113d415282e15b54572cb4ee611289eae12482052f925f8cfa8f8890356eb99b644f9fb9ba55a255a724d3413a1ee06f63791275d408ecd67f7d8194dc815d72fed858cf43c88c308729ae4c3b1f949b9dab8849492fbbfc642e45601e872843af7356a6225a44b6e72a9fd2c7ab7b0b0fec058260e3e265007276c53baea045e0f009429408b4ee672d96ef8a244d96ca21af9c702a875174a49c39b147b1e9e7b8afe2fb4f4167c728513bbbe13609a61fe996ccccbf04363b2af406a513aadad61f576631b0f7b0acf1a0f2c21e6660a7b54e86aa1bf3f53305188da28970bd6ab01a9e805ad8823b7fb479a3af167f6d6323b2d415c1f10fec0e0504673b25994e60bb79e54d272b3342578f76c70a6770d34c50ec344e8afa22672f5a5542707c427c98816ae72a1584ca8aa80d80ac4c9343a52414e18a0d0572d70607871ca1e72cb516f753e5e3e76809d24d155ef68d837967e6b80a72e3b13848329155f7db1057db66a729b6459e25dfc8e70776cc43005a67f00af8d9319c6b02c165b75b144c62f571ee7afa97235847a0f2796e1e1b3bd9ba6c9a28744cba833e695761cef9b14191b0aa9c1e47ce065bea5ee9ba17ccd5accb3d3764063d4f3d5b4f79e71e3bbbb335833598cc745f4b5fb911dfb5cc6b390d46547656faae417f015d17c67b1524feb559e4fffe658d836fb3a73b2213b01c4c61cf6c1f6ccd851b9eac4bee8b14a9cd283a47f890bc3ab7d10afe2fc9779f9ae044c75542944d88644d1c79935614743f9a7837e89270f05439d102c13adc239d3baea12d99b8943c2c83417ff6a9c684fcd5550b736a67b1bdac381d6f0114270029282915d8448eea48de4137204d245e8a9fffeb9efc8404262601cc4e4b79dec8b4b658d60f4efaefafc97720b72ea291890227407eb366ff9fffb453282beb1e8118e4bbbf3570c7a6a8237511749b5bcae5a05aa66d967703ee6aa73ee7e3ac5ef82be898c64ea8eaf1d72a7c6112c505394412cfc51bcbf8674986c289d921c55521dea3771c584160e727aca577626de675f7e77bd119a35b08c8c1554f97fb89543b5db607e89a8830500b4a59bce84772dd331ca72008c5f2b379181622952069655b5f4b1d7bbef21c8180352cb933ab0e8bc7eb62b5a87466fd754cac782d806c50d1dcd81f85b72055280115204c641053d41d6120b9121b6a0f6a69e1f3698dd4443b831fd833fa6a4a4133d034cff24f16a60415fbb0da03e9c5b2cd4a45938521baa7ac18c247019effb4a435b92d91c0f03d0ce00608c8ac4c9989705fd084a1922a5ed26523d8a873852c0e8a22a7862921dd854ac79bd505a5e3b919f2904b0cce17a5472f2766ad206e981c54237c1aa298fefc39e0dab9485a003c069776679e419e0725c1c3774ccdc7dd41d21a136004949a4278ce0df9ad8585c21c74ca78810ca720741cd59149abbe8a844d9a8d84d8adf81356506140f54b529e8d7559d11e30ae963cf9519c20e66dfa346fa5a73363bcd99fa321c66609307970e9b4c6d00720959816f665178512dafc58c5b6f5c39382bc83edab5b2a358ba8aefd4243b061592aa68d8fb73a616b8c90538d6f60216dcab6dc8a6da7a3489364884c8cb72692c7926affda7655f79ed918460ec3993cf7358a72a1efa6fdd58643d877f0a6e94d42326dec28684ee8bf15254714133226ec10481a0d8ee0626a870f6842d7cc9fdbebcb93b7d34c4781cb56d87c8ed74cab77e735b2572fa473cdec00572ed94bbce17ed1d6b80e3286e9e214b6fb31083c0b1a16b9a0d6ce4a2e2990f72b44ca70c08cc6d9378bdbce9aceb8cdc0022b2bb771ece3da5ff119d9ef8fe3ecbefd25dddf410bbea8519d78d6c123bda67fdff709ebf08ace273564788fb3add8ffda51bacd51748939d32fc5243c393f1dd5aea34ea0a688d04ce894331721ac280a8b08321ef4b68092173a4a3a02511e96ecbcbcff77aed356f77c35b3de4bbfc82a056f36455d678da500bbabb9234e3dc357308da500352c4da3c8f723a9972696e7ee2c2f7ae13b29b9b3c87244bc3b167955197feae0b6f15332172c72b0dadae86c6b5de5779fd445e2b7b156fac2bd210dfb49d9aa2a094cc9b720cb8be826e080feae40743f9be9bcb725b33e6a07670d5e465197ec6c3aeb77280680f221ce90b1ecaa9549c83e8e54ec35c01febb10f21f188be74343972135b5d3c58e6a94b0acb8cca44899e9718cc860f7aedad6e037ffb55e706079125ba568deb975dda96cef6fc681a3afec16a4d1248e6bc4a518c886cf761b83fd72fa5d7b41151235c68f60cc3b084a3c77f6b7680e04548640b192c647933f2a6f3e5aab67d5cb7377f27921e9cec443ed93f0b44a453029e230883f1516a13c23bf339e1f5f7f34680301f6f835ec89eabe8951e7708af1f9afcc5eb858356c72a5f65db1343968f268b9d07e4d145cdae0c1a85f9cc75e489a1dab37b78954723b890379453cc17104552ef60c59969242c00092e792461ad95ce3aaa1ff4739dd15bef6327b892ed2205da3da150558eb8c7aff910b7fa35d6306a23da62572685fa412847f54a7c63bb35f2482e35261f847623360618c15f89735ed7add722f19c1793c202f92732703c7dd574e02409f6eec353d9f45a1e5b621d42c6b7237e11179b43bfdb00d6ea18980a62121c34c137d6113c444096e09b938236f72e7e035523bc768f29999c4f4409c0e2750e8e842618d73e9905ce8fe20f2052b16cd9be156b3c054e2288a78ac3e896099c536663ff0eceb0e1bfa42239cdf217a344562832237c6fc33f17138071f4f75331aa0116592863fc353e1659c68154f34d31c6a0931532dd4d951e976b67880915c41059eea23dd65f66b6308d472b5e85bba9f37164f32b14230c68c81c57a1a824d6af71e354060abed70f45272756cb0ad33f26867a43738d443da2a9aba11b68528e9b466617e5f9a81130b4d8886d705d072cee0f808058614c05b859105e7dd15cdb7b205140af103d74972ff6a349f2b6e30f1c8cac06924b2d7c8acc97aa480efca1a0d519d8faeb686687868834d40b060bb4c90bf07ce929ca1a9fe1690238f8af5ce8c266405d05c69b63fb4cbf119286c963aaf30126892d9e469b31bb209ed6145eb6024020fa66367f89c1396596e7df71e2f95b5e7d12a1fb62e78171f2fb14ac9646ebadd3c1554ecc052ea45197010f7c49d93c228adeb6738b4ef7146faa88ef0774fc77872a7835b3e6e03f4fd0b12299ac7667f49cc5794bf1b04507fff9602a16994877251a8b373dc0b22c1e040050c8956b665f5091e2f055d2c1cb883f7405a161c53905473d52593a97681bf9bda9a0150d4edf92a85459b8f0ffbcef2e3ebd4657253ba3a6e3505e20e702eb8aefd14263c649e2d54c606c8e036dc2621bb137072495a6f0a7fbc99300fff99ed6acafb17a5832243d7369c47d7a9045bfea0ea4804cfe34976f79c9a7e57378e08b430c9e82d0cd344883708cfa6239590cc5372bba0f2db39cdc02f6e633388045eab2d2243df8646be12b79df88274792b912a0442f99a00af75fc4c07b04b0739bbfaff19c883a06384d8464836334150d521c720e9a386cc7b100be86b93dc157a91270d351a350dcbee56fd78212525f57255fc43118b6deb9e30e1f7044072f957c716b44f7598ef9dd40dd9b06a8b7e7264f849ea107c983b42314ac031c7a5a25d466a5d19571da9c27f9ce71f0e5b72bd0425162e499a770bf209c9ee8e5786ab4e19f7042ef2a0a00f1c4059ac146e860dfeb055d2a3b85197a36097b259185e02e7c565a3a9e553f301a017868d727abcca18b32d90469310efd654db6cf1d8fa114d7734ac9f3a13ce3c0e7bec723ec0849105b30de714013802b50c38390cc23b2959df96e18027fd5fb76a16722d559b13947c72c9692c0474ab3a05ce6e141c2785875892e892bebe6566b9728b054a7f1211198291ce4e3de783b2a166ec59e3938351994497d9798c07284d7f391060b0726ba0f4f3bc4886f74489af7e3e2e6babb7263d65e03c82359949e8decfe33ded713a1e921deb56e860b441b706650972f9b624f3fc0a1c9920721b44e38369993dce2b4c8bcb7b59abe1b4eeeb9d33466774de69f1abec993a516d7ba57632412638ebc79c16dc287bcd53c1941d75934c124e7af124e0381038dc1e643015501dcf6de259e7127adb3e51760502255b6c84aee24bd1b6efac72fcc521fc6ce8a964c6cdc94bb22a665e8ec70e93ceaf851df3fd2989fa0a1a639645d809e4a3a8867e758d71c7436900c6fc95b7eff145011fe0346012e7d672d057a193571743a0d847fccbc1bc80198e82fe77984fb3839fbcac48350bdb72e3583ea7250446e7ea2caf5548d6fd47113642341d7c6fc02301782635bef0255f6dd2489b3635015ec257cd2b685c3e74f6302e49a1bffebb8758a1c7031472b8408603ce9b0f3015484e2083261d1218969cc730afaeb3d8050030b173bb6d9df59965bb405329ece6c5420a5ea95705926d1d1f68b74315739e746f4c7272626bd2046feb7bea1eb199fdc7d7dc9a5c0178ee39523eb0200cf30d0248ca720ee0476e776df6e46ead7988851294001da6466c1d6792d6e27467fe14ad15722a9e124ef5c068082ea0a9f5b466b49ba9b7e1fa48a5c19a465c0f7b54262b7258ca7489c9c8ae6c6fea0f849c5806eff9eecee8991ae73e5e56bc4043541a726032473599b31c08eddc91a0ca57aff91608d373aaa646ccb84a6491bade16255a233b9ff986a5ffb480595d9fa74670f98b613aa370e6fa80bc09c2172bd5338a80a68659cac8bc6779ccdb84dca7f307428e208c577888e47604df036ea272616654221f83e46a6f17922b9eebb45604a234da9c5e0630345240376378b42c43cfd2de5df271a183792cb139ee3937800a9028e43f4edca87f05e223329d6c02fd70152e82ba3bfc399ca6aaf73d617a529a38ade2048ef7a562404c1e3966904d29e99c7164103383f806d4c99098c8baa626379b0021e9a08586d113a86e0cb7d74be7440dcb43e5c39dc7de5aa613c84eabf0303aa9645c4a1397c8a113bcedf43136f40f4243e07db6b8bc54f4f3c0dd896251ae8b3cdd25618c0593723b5d4a286c71c238487057bf881573a3420f0a00fa5f5bd0295f5dab0b55e072de12254ea4157a59f3f10a5792bd3580dbc3bdd4a46d13a8984a8f737903bf37ed0343d8cb2179b221ccc14912f0d3cba1eddb9970b700cbd1100e9c91a24b727ba547d8a48eb9884c453526c4e91263c2b5184f3c16439c0d5c660c054a900c0a445fe89ed0b5215c86ba38fb2149aff33260a1e2059fd99512d1a5e0191b722672c4f3a4b1ba992c5e61bffa5c1ea3eb991789eb0bd3a5c06587d5cb88827287b425981b3db7994cb3e77d1509bfd2439f0126f20421396b1d01fe77095443a6034ed59d72e3120bfb4a50a321b19d2838bd402212323dcb735bed1fe33647169b37c6eea04e56acdc7eb4ba59c4b23a494bd050dc480a189c837cdc360d724091980365a0ff755aca5539e1bbdd1b84048ecbb10cbe3c4f0f1efe59f7d46bd0b680e987ec2ce39a1fcb917f822ec7733fa023c490172c3a213ff44d4d6f39a3d575d40544d292c03a8583eb25c92843d2cc191578a83920c639a567d54e3c1b3d39c5055e3db59d2531d95b8f0e9d076e98852809011f941369264201847274e295b8ddbbe883d70a2ca57e48ebc6762d7c310e80b259b399155fede11572d96eb8028b3ead10177dc507d4aa30efac79348377465cd1c35fce116312af2ba1b4f8cf253dc8c6b7292e26658785339d48906bbd7f2c28e3353a882d152f1bdb923db79993bce891f90faa74c8fd135bc7449b886960d068720975d730412b6dfbf63e544f58c85d01e41c6487bda23a5e6f0145843f297ea061a818bf55729ef3be1a8f383653e5e2835ff787117dc96805c8e46b058a5a24847341611b727b99753865b9cef573a4ebcbbf03218e9948875aa1346261f52b7ce112b8897280e62ea4fc2bd3f93be79b34f13ca109943e3f1ada9ce4beb364542abf98711698045fbd1be9be559fa6396bde2c704ba4e6736569dc89ed3626579fa51c9f724b31f672d36aef974cc37c67c8a50f8b06f923f1478ecb93ff1b66c52a0e644663a1831c0c45b2ed8db81ab5cbebbe6082dbb6538a2309e63805741708b605552fed26d5391be0e4ee3e0ec2e8d8b5eb334df8294b7d0f9e17cfd5e3d536f46745d003d7fa6e2028327efffc2991754ce3c0d49ba586daeedcb108043420cd", "0x72688a52d55a02ec4aea5ec1eadfffe1c9e0ee6a4ddbe2377f98326d42dfc97572e90b3f4cb4196eec018dea56f4836b5ef860a4404252f08b4f99e40b41300772f022d107cd069bf1040921d5d3d5f77f6724d2d30588b45d6200139319add3409a6ae8b88e662a08c065783d1401665b7068368f8d7a85599f602b16341623721b16644482d12893be90042819a776abe5cd9ad8bbc544dfc3ae0c9b9810f4499c40e6fe77661e6e4dec51214220c80f41d95130a157b9c32a0545ee089c8872312bbe4864545b87803abe1c322a06aa08021117750fa3e35617ee6ba021737246ccaf12794d744a94c87983a455786eb60f6101ffcf4a308de32450ff5a93644c943a2c1fe10807f679e77459f87b192e8f757305b0852bbbc7f6853c95ca537f129ba21c63fa71b096abda334f9a9b0ac442740da04e8b36092a93203f91167dc343a6203e3f446646a2e5ce9c7c5577cbc1f28d717effb9ae8f1c2927c7729fc2061315f155a3836188cdbe27c04dc9b40ee14780a933a8ae4ea75b99057250261384bf3d8fc4a9d24b1a84cfc35cf1d5edbc011ec435e80e85f2b6d4bb18b9ae5cd8b9c81c0d8068a204b1a3f2e5a6244ab4c4ca6f475319df4f2c21477220b0e55cb3ff2c947b59b058d44c4f64d7be94517d011737e44b12369c2a3a2053be36d9c6298fe0642ed2d70cfb37fc3a2720f8b105015ed0bf8f3d88490b3452b0c75e1a9c6ed61d9405debc8e947f5aa2153a89956474494715d9bdb71e729aead078649daec15e1eb9bdeaad1f896eba956740d77ebf2f1ad9ffe9d5fc71980570fb14c360905b0c163d8eb55033fcc01f783fc53c3501ef1f5dd1da5704dbf89b44d000ec69998441c9f57e6bdbe1c0839bc504f989a0c8b27e25db9c726958a4a5333e8e405c957f4c23eb0beb6106ffa1e70b113e2391825e8224663d883552428a88e9e3b8446e95498968fcf05d941d6cf445931e483f7a7a94fc721d8f0c7fea9e677455c7bad3aa829b8c900d7adca4650285573e4cc0b3216565a11dcb43c6b4cca64b677e3f8426cfe617d566363294e91dd5e09e7dac0f4472d250b66ca8ea6c2703c400aee96fd30a69bd4122b7ff7aa77aede3f37787ce726258634edab9364a61caa2beb53a5cbbf67e51b0e08894a29edf28ad11cc90727ca217a0499ee8e1e8dae41dbfee01e34ee82513723d7335581aa33effd0ea4e75528b65fcf944d4a80fb1abefef24e43844b71ae61cce9401b3d5c0fc2341722dbef3a369fa78cd21304ba86ac7839611dda36d5e48b4e7c87e62342350157269c3eaf755cbdb6089e8234e961ca15354836a9b9096ecd5454a449caffb47278f27e8ae1c252afde499c6da661515dddcf76327dfccb9acc4ef97f69fedd272055d8a8e8155e0a9c0de3b2443a1c3f4e71211908ceb0c604f43f99c5f7c7b0379fc63d42d26d1c8715d772ef727dfa51b65964401361a53cdd016d2c387e772696922229d03f2a3f4cb50cfc9b9ab9170d565127543e2b0e301f8bf38979b72b8434ed32a5423685c70b7ab7182fdf431344ce1937462579d1aaba8889e7872ba820a9dedba63fa1ad7a41e3af3d4f828fd327512428405a3f1bb3e14b505538c31eb9e09f39956fb3b8888a8841641f802fa2a61a8abbc9706b0c17d1746720d4cd344c94733862f33224ff2197eeb2a74eee76fad8c1274309dfe2d5b32621378c2b48548d8c8d696acc7e6a6ceb87b6904398d72ebe56471c1fd97cfaa7247d692204c99c7d4ebc714e1c66a0961f5c055318b50f0fb61f15d39d9dc3f7221d3f2074781009c153f37b5f3a1bb5df676eb385a6165e51675e1b3ed243b5a76ec148d9c00fa4101e403185ebe95d3c8a0785b068a862cad792595b9a7a81e4ec2c8fac21dcb9c685e25b2b5d60d720c3f853e6035afe4fde8cd9a032613721ba51cc1897c612cfaa1788b30de3af259d9584978f573ef133f513e07c4ae72a0332e3be6e28ceffb6f88e917fb7e9c2883d3a2e20d0fad2f9e9d36b87a5e72a267871337d26d82eede016e81fb2e55ef03d7e7858540b4e76531a541f5c1728a0832e32d79343482373b378c1aaf5afe81c46b4a23da5cd3132cebcbfd4172b36590ea590d78022067782833176008c8e68920e3f2c939d990ddaf26a7e8722d13400a8ec0271625c3b0f94ca87b82728053f4de3224a87c347821f59cb7531c6f74f10dd9af0684bd43a25069e73a7ee778b1680e1bfac9cf6733c018ed72126f071bbac49e4f1e7cdb374189824f1807b2f83d10b87cb97db55f19bec96163516098998a533dfcff7e167cbb06580fc3613dd4aba3c55952ea6071f46b3eec3daffa35988342af4a281b73df9883c9bd248631d8b88a29f68f2f2eacb572f13e632c31779f1d4509f44c7c122d19b79bcef56e805af9a239073e7c95c433b3c371514a4f3314cefa6cfe49a053492cb4f8a0d45d4362ff163e51e708247253ea41e1e7296edd208e4f87bd34c95aaee0c7d7b2f5c5d1d2ec95b9d5d8dc720bc646721809fcb37feb72158f8823c3cc077d1ac9884707cfd0cc156269647201059337a3b97f08ef8f917fdd0a309a33a877bdb1b060fddd34d7a5847485723fa1692d54a60ed636e5dfeb990533e06c1b17ba3fe7914142b427669a8a4003f26914c655647354e07e49a931ee704feec3c1cd2e6fbf4be34a3b1ac5010f72ee5b68ec4673f6270aa9484db85a682fbfc3cd4ca565c6844a608a4e6840b9729e964a7b9d9e92320ac6d7e36bc55d3d12f09641069feab4eccbc8d378b284725d5d6c4a252e08b3590696d663721a2d8ba87e085c5da876f66fc91e87a690725c74ff0531bc89748d9752cbb9f063857b01ee0070d7e6a3f2085f4ab17a6e58d43b9607311b8397dc6f515c5e3ba74d704fd41f8d4ede0f7479ff1481933272ea705a9794e842aa8fb95d603c649087631854049f7fb12db0589de7bbd2ed726228034f35fc0d8b75bad03e2925a94d17962d74db87f943635cf78f6a1f344bd61e513d809ab8060ff2b7cab383fe614558f625dfc415dda310e7bec402366626e5c0054ad217afd8fecb0cc8a0ae55bc18276aed612f717e8fd865c1a95c1be40c5dcc4b2253ba7c366d605dc214dc461112d1f812c3e04c445330419260728811cb85496383bda7437ee099aef5799c644f2ddfc8da21419965023b3ec2720cd678b2d98eb9295b8d3bd7ecdcce06c520d2550789ae6a65b8de64fd23e372fcae7165548931c40510629d60266d7ba11dd960d78813d10ae08a262ca3a822020e41452d61ec46fbdfa0cd8ec8c3e3dc15f969fb65f55109518c55845e51727f4a85e7bee27ce36df356f327fd55744ed2e5a1c7398030fa8c899f40a86a2ba30878fa2f6f029a3a9260e609543e56eb09a48d82b92da34d770f1848d618728dee7e6aa05ec93429019970d08f4db73cc0e5743b263f6872fb8573112f5370ac3abc46e690350cbf8ce7a8160b051a2a45f5b60e1b40b315c7ba8aab6ce4729fcbbeb4af907f3e08e39e0a5b94b32aec2e993eedbef41ee5025e7e428a4372051ca705b6ee2a646e1487cbd6a2befee1cdde2c54bd8fd739fbec364069087218c6a2ecbe1e0b50586de0b8c1500413aa05b0639e023355db20ea1aefb7dc71f988fcf6fcdd87b09c1d294993fae79c8a8867c4432fdb99d4782500d6fde272153221c8ab10793b13deed56d6d1e32f50c96b82b07a6290927e445dfcf4a27240fa21fa694c97d8afdb895f4ced657fc9fd4b9876d58bcfb3965c548829350ec98e343852916fb7b028a7d4a8719baeee178fe0cb08dfd511a4acdff3ac463d799b43c1248d9addacb478116c70a501fe4e13a4067bcc71d03a36bea9375a06072b368422d96653c02de2fc3e3ed007a93e81765f39fab4e396c8aebca40a024b48c043afd795d23967a841a18dd455eccdbdcb022f50f997e65b6a6de7663d7d84e032c92f34cc682c93240ad41b571f7e4efc9a17a1790023081ee4681d7235481cf21c86b34bc488cde9a81ad10c940b339268d31a4943d86550ff312e72de9c20e4d4dbe1b27f6967557bd6dae3383d226699a627ad79718d281cc7607245f0891e0124ce720306c643a5b0169a9ffeca366654cbbc8a112066d95b9a7295735e85dd7d28bf080bf2ae90e66f182a6a0ec9d162812d217cb310493fd81dee67e9f0525af43f091afe379a63bb0495d816af68ea39cb4b4143106b0a25109f06e8e594ec24ff90b1b3151e1bd81c9f7d5a6643e12bbb8228cdd5cdd620162ce454510dd28dadb77472799c2339e45ec875c02aaacabbdf90736ab91f3136883743b14113a757487359c3aea7c15cc7bd3fefcb7158a55b66bef8e6d55972ef9ef9e88c0a29851c315a355a4bc4f8e4cc6f0abf1244acefd81e5898435723cf8bd97d8732c26eec949253101179c47bd95ae45944bbf837ba94cef22e7072147ec76bc0a7ce3fa0ee5344dbd22632cb67b5e0063f37b3439ce81f57b6c449d0d20b5b434f1974014c4698d10a1af3ac2fbe690721733861aeec6735b23228bb88c1ec3033b5bde20092ed39bd19697ee065fc43697a35e3690bc7aa49655bc29a50c22955b8a2a507840be054c225c90690123362fd40dcb6d981f4d721089ebff7697a3ff6c72625bdb08b503f9803c1b2df74753c0cf4c3b762ef874f400508edb50e05eb1ddebcf1a15260c74d8eeabec1e890f3f4f34eb6ed2f7187601dc10a6b07c85046ca2cd70a9304c8a87bcc92d39c0be69aa575a41f854eb672c75d40b8c3496207a5fe4457fa01bbe122e6da8384463c99435a50600698fe7200b03f8e78f2d88d5ba89df6091f8002d99e1197e45def488f12b221364a4b721317d25d1376ad3592703092bc2f79a9b258eef04bb62d34c87aebef9e94b81a7ff650106f688be3b5c5bb9e7adfbde74547a0c67c7d788764888bf93bff34720c5ed0a97ce2ff9ab234aa13a5bd6f7ec3d206544cb185c411e573efbfc9a532baa91b4a31a56ed3293d44ff2ab65e993d46f82d04d5ead13911590a022a9072a0a1802b70580be2602bdd7d1204c6c08c10e78d4520d2e517964ea6cb923972f43575fec0c31f84f7279f7cffe377e8e2f51bbc7366a3e5417e6e60038270727cfae4c66a7b31ccb7e13bfe63545e60c524ac11c5709719e59bafe8dafec372e155056c26028824a272ff8c48a780a2db94585d8cabad7a29ef604c118eca72369382304c26fd047a1618408ac4fb5f8c10a9b215076eed3218d67590f93a33291bf6db231442343f9ca80e4146f82c0a0d941948bff731fddcb6312a572d7246b67e7b800d16ae2dc5c0406df8591e1a6c6740bab5673d1d17fb884474096a4385229b3b63f44db1190ea0e058dfed703e2961aed297b44ffb79d0c44bff2e6e14c3e2df4c9da9d6a6919821c55d8d24efb1adb82ac750a11960d587cbe82703c1ae6e6cc7fb6410abe27bd2838fd9e0409800d2c8e3f8644728479c98e849906dada0bd157bbd08df602bd1bda112072bcedc34a239035de2c08c131146724b48dfc2398b520f5d700a65c5befd25a15d26b4b39dc790beff36bb7a5bac72bfa54875bdd060370cee2e03a464bedf2ffaa1cacd5ea18db92ab89ca233c64d1dcee75aeda20309330eb9cd4b531d4f350a8aad785df58f7c9546078a5c597210bf00dfff1def680d88fc53260ca9a4cf3721f4c56d454eb19b7c72e1c85b7270133ff9fe57ad3742a6e986b8c05b2d34ffc104424284acbc6f4cf2c1f873726195c0f02ed250cfc351c8a54415c57df2871cd3ba3155b5a2bd05dbd92419723d07ea1134428ed99f12175c88c152a44752da430cc70f99c6d55971ec481b5032924b37aa9d0ceebaf080eca62edd293ff5b659b5a3d21a8aa6b77e5a9cf44abff103d7ed705ba2a5409df02b09308c42fc366a6014497aeaf555a2f5ac60728dee3c03923ca81a13fc393a9cb2f31544403993356b554cb4bbc231d54332341e3d79123f3af7840f4a8c03d8703095b48e423bcb1033b5180a7fb85c913d6ee7bb0f88f2efbad36e6530b2129cf436bfc571fa079d1f8cca5d832b28f8cb04899e219715d4cfd1fbbce67c6f884e27ceda21448ef3b787be5401799a1aa920b9120cfbc91984132c168470fb243183c3aca3530a76062852a2834037e7a272b8d6b4e821770b96e60fbdadabb86a53a902ac34a1e18f95cd79371ca761a3721735bc00ac52404686f5541fce062f3691cac74a2f0dd4bc17faf0c9632ad23e053e07470bd074e479e51a3bc9075eb45e9c0c2a500cbb8fba878fd878ed2324b52c7d911256a588a8feda46f8daf526ba449390ca71327d37f7a54f46ab7272c5741e1c0a300730eb52d679e180ecf75f08233c9f12460a793143a2f219b910715f12b230d969d1c1a50d45c6d040aaac088d955377d1769ba2e6a5365ec81e2e937282d1f145511284838d8c030e7c09efdeccd7350c5485cf81f2e5f41d19a0bf8afbc6d73d4c0b9ff28ab2cefd618bc9376fe9e5cb1632f6b6f46192977298d1fb8ddc28357bc5967b42713778814fa7ea24340ddd839506742e0d3f0e35fea6bb9e68017b7c1a5c24dc33bf4b162da0c91eb6cf274293eebfa7c6830872a6a02d36ca7c87e37b50b3968efaefe19e5429e171d2dd0b530e6409ba1b307206bded9aa0c36595e94c2fca5b67a8808937675e25843fe82564bc940b0c33726248fa1b27fab046985bf599bf94267cd69241ba57c59714b81d57672cd19372e7ba20b0393dc6b602ddbdc888ac2a079caab7974801c456999c2eb7eef1cd725bd0514c86244bf37b8f0f05828f9da2f504bf55dafd354a913e72a515174772533d7422b3126bc4571cc3c06b91d42880e700cd65eada0e6cff139aba1c1a2b34baa00e005ec1ac4c2c164254c2bb1712966f70ec72667e9593b94660534072513a0b98991261291deb50a6f905dfe9362ccad9185c62a8e90064012bf17c382c0440657adb4a1bc0bc0c334923f825691267bafd2d718acfc73112b9897172dd29a415f38c343ac6531bf12ce83e5ee7a8daf5ff587b635a2d0b33cd5bd472c442ed2ffa38c329a82d30133ecfa90c006b90393d3a1fa935ad668446cf622ac81c921b3e05f18ae911ff43c0db42df100dba5b46b733e003071941ed98e372599ba08f4b3c4cf28ab7675b46d66419a627fca52a381d708bedb865140a8672f7e51646a70a7b51bf17a22ff8ca637da5565acee0fdaa59f241ec9b41fecd72987d8f75b5ca47147fd8dbc9d8de20bdd518b8a5442b1f473c7933e192e3825258ccc74534ff7fda612f270cf4dc9f73b5a716bdbc9314a2043301665bda5e54383bb7bf63f5f8a6d206ecdf061ad31295a2bd047dc6e0fb08c46123aa2234723d7256e4985c2cd91606036f9c6c15f5f67cce463659f5bc859575549d35603ad473b02139a554046dc0d79fcfdf96a86a3b3350d6b5b2877c8cb12768a21e723c48c3baff715c37f1c299a06151146edb092f5b633caf24e3191f4528b58433b1e30cfa3f15ec694eff5892925ada62bcfb87390e60797d4b68ee66e7a6ae3dbd7359ee16985ebc3a726db18a98dbd6e066844465c09f86a4e22b2fa7d2a05651f15d74473086171e3c8f4af7b22ffa56c379e2110fd1ec1deb891c1278827259e719a8fdf9a7137399d90e1c9bff5eec7c5d4cdf5788db860bfe02975bf87295d89e605bc9774a3b527b5cac182d0d810003f33f22bf758fa427eeb37e4f02f97139511c2ef8ec52f30c324d09f295dd7de9b252881940586b0073e68ccc24f5b5d9c972fff966ec9d45cf9d1bb0512a7a3439e1f67f2ea0dcc81ec16b3f729f058490d58f2acd3aae051230beec665b60c3f0c579889f64e7df0912f3c91238880c9f26e7978379f4e3f02795cf374ae79898a271f7b70b6c77a9a158c672f593d91ac0027106ab94bcaa32ab28dc921fe48b806c68e09932b798e1af3e722e21ad5d2f539cae1c00daa509c981395c1539ccd6dbef9cc8f9f2dd926f9972e8a4529f84654b7953d8994c1492f5253635f53d10aab66ae07ca988c1388172c2d58f74ac617a85be822a5d37d6e47e983153623768d4ea5d31d2d9d4779f17063c4ce9b3936caa3b69716d1310ed7a482d766799191467e1c25cd438030372cf544b6d07c92b4910bc02f128d054a1b21f008911a1c26be768203d170a79462fa855830312f7714016e929a89c643ee4c704d7bd413821ce08f72951834b72a68e79873bde6fe4c231fdc60a01cb9a787ca05dbbba08ce895c0f423ef39e3502ee325e44475873e79d1b7e0b5f7d20e8b0079033d3e933c7b44887aaa91d3a5d3445fb6be78c04077c295441ff168a1aaa4616f3e2662419541de2a0be343ed0c815e533467af50358601b21a62cb532194cc7954691c4d0d823f515414b3da141d7de4e4d2c49026e89e0788f719958500d2fe1bc941124235b4e6709bb72a928dd63f3098ba2b59f49306b0b2cbc106af58e8a95cf211187e4826a11ec721c31814181489121526fdd4e66bc97cf01f8b7f58d2d71f1ad5514e5b4e83a0206b36edc35de1cde3ed5e5863b3476de62f5f35e818e17e3a241c06f70e31e471008cffd522326473d6e959da122628b5f8d51d7ac46f4167c9ef5089b37dd729240981ca881965d4f19fa232ff008ad9972d1b1d2a8c8fbc01972e3ac7efb72cf61de0c246a7348f6beb40fad16398c7d6b814282eeb9331016321f82fe6a4bc867caa5c6fd25f1e0b0d601f68cd8bf87e7b9a4c8e8fe21f7bfdb949aab13720288777b16d9afa565fbe83e5525322977a21206c36a6f9535fddf54adf5907242c2367ce2fc9d4932d1cdcc501f5613e5417bb3bdb013dfa536f54cacb45641a63d042c734b2ad6c56f5966ee39d2b63918908b152108d60eea06f6c8c9cf668acc9d498e6f9ac388062bdcb99971640e8a1d31ea387ec68deb1ad59e5f85729d3905edcaa24b1f962e511e38cbd3ce255f0d508704d8c7707f7cae2fd59c41af6e293931544edcaca01f47796596f522c65314813499b7355f741c27372872bca56ff7121ab70e09e85c57077d86972a49fe2821136ef2d263a2b14e408910fe4c3f8efc74d844777f59f088b34b9c2cb2ae8de13350ec0eef2812ee58bd2f0f82ae0790600fdd187925b87802478d6620320aa567a2b115f8391190bfb7091f230a100179896c656a6fc879b335149c9c5e07740063a52502814cad3af372e3025b48e0e33fde7b0e5260389dbb28bea6ecfbe8a9a470b0dc53f5c3799f727002bf5c66ee40ef2538104d6b0daaad00c29e7caffde4b1351d1584709f0a7258d57b8621574beb30a6205728ee16d7bad6804fba64e10be18cf7c2409d49723af312738cc611e2b0b6c3126811d2672994c82c00bf54db1bac5b7663b7ba56cbd043349879bff5badbc5532750cfdbae339403afba10a3a87e866e4304da50cadfd767da0f7fb7e55a1a2742096742365f4caa24fdd29b1305f076b6f6472005aec5fc40ba5487351bd16c665c254e4c501952044755b9c0f15ff0be1f647212e007d02ddedb296970978b5e62c76f15399285a3b989eeb0208b2a7b004c72ba6705b3723dc84bee4a5572686da58a6ce61047b82fa074258f63fd2380727264f6a16d1c84ff152a79d7ca9672871d6914a6240ba598617472224373969647733040b9c0f29ce50ab142bd4cd72488cb22df14a62a47636b9d6580424b9472a70365bd401a130a092ea63f8a6fcee14c3703cb7092cae5577664388da5b23dcc0441707b6c5cd56dba25950cc67384b02d9cb5f0ca047ca7b56699be0942723516a021e56696b01bd5253372e8ff110b0c2b456d9412294a9a929af20fca72e46232cc5a5627df7dc2a4bfa0802b26e5c613e7458c0dd32944276d8fd646722efb281c62143bf7f02a38cda932a8e726ed8c60f454da9245c297992ec4b4500374d270f0ec4d881ba512c721fffdc2882800b5c75f5f03e52b29670d491b721cb6ebe82e95fad335bb8baa10242d230dd7793b5f8dea0c961265ad829f8c5df24272a20fa0b0b858472610d872b72aeb3f8103d9b7cf66b5d7405f88654e317a124c64b1459cb8402c34dfdc09b840ae431b47ffab4c9013e40d332bb17b3b3fbc13da02735cad96a89f32849c5a5d6d86ad4795c05dfc9685898b9c650015d00d95d29e8355ea19d2a6fb77f6824b416fc1289ad1dd8efa369da15e71f328fbaa96845d24f0eca7de9d53528e375f7240381b841196cf288a12f4a239f32461991174a189b2e6bb52ee6e7a4e9eb19c57de784e34dbb0837c0d72d1e3c372b3b86a15154034e40d303257b4045ff8bde8f289fc81470f7dc6e38e79a6f44812c49133c7f7609fa8580405237d7a9f16bb04502d2b791ea0862867fa191572cec114c90f38fcc1a79978a12887822e4658d95889cd39ebc072a49ad7bc4162b7c049f5ede25143c860140082fb2c5caa44885936c36641e31ff3de89601e725219f5ee0140e05b4620e84a599760c88cba4fb8118614d5a4ec9f54b38d297252216a9307c1f6b6f0ebc99df0bdac3ce9641e31ef375b566220c8b593b9855ce64919a3a79a8414030fec491e9ae92757971bbe6b8b4c5ca24600c39255c7724eab4a0acfb2385586fdd329617f292deabd7b242860c1fef8f2aecbb66ac01c5b23e9ebf14936677a048906df279d169682d3763eb5a3fb704ef32057519172da43abb4d936cc82ea14805608168abd40b06c5c0adb4c7c26d37874662ca172eaa2ee1a570cbfa481386b7baaab9882df8db85b2868e4df1fa11807202aed727b50db15cf97e636f2c279eaef2f292ba8f6e66da00816baec0e2da860e4c15633b4ca4f42c0265dbdec838b0a57d2613b81254b1005f1d706aadeccc65cc572eb9f32b1982ccf47e51e56900c56927185fe4be03700a20c152ea47de9954072bb75c9f5d2d71a172bd24d493b855a61ca80e8e82c5fef96cdb0f42122fa017269e0dd2873d1c8185030d86b98739c54ef81d183f9c61ec2576565c9bb8b0a724c137a70bbad1f79c1ff07bff017512e817a132edcc3c00884c4dec1bb99ff72414c4cc7753ee1eb825a98e8a5d345351777009787d424dba63793bc66a0fe0bf4154eefca2241a4736dcf97f30791feca1bca6de8b25c95bfdfa03f174d5772532d4d9aad9e86c4cc3d65d1cf7befa5f38559eacbcdf8882d77f21f77be530c32cc94e88b10c2bd9d7eb381b8bf8b78fbf3274c82cfae96151da07bb886556895836843c93ea80b08be7aef9cf696cdf1af4210baedc39fbb878ec36298d4726ba782f92c32c913470a7f6af3676cc836eff4f3eed70be52ae8c36ab68e5a724b2cde49f5db64fc658c682de2805b033621f92c694b6cb12a147063e0b2a057aabdabb2b6d051e588673d08e77d39448fc19fb2df679a8faa47c357fde635721c7128fc3075b3e451357f9ba0cc5cec8173a7837d36364c750f5d0c9124ce2ee96983e6f99d8ea409b505e76bdf184ac6ffc459b7c478d13b5e50d5e5c4ef20f2b434a729bfbae36f830ed3ccd6aac165a5d0ec65dbdc90e0889cca6bcb2449e3b603d1c2d40b9e68fe2b47d1f57737a9f9c31074421e54843b41df80cc8128f7af9c05dbdd03dda66a25cc0f98e4b69d285b0813fa03ad211bb07df272ac217c38f8f1e3ebb344022fedfb6b62436fdaffd2fe11eae58f5749bd78318c3f72bcc35fe5ddd710240e5e2a37e3bd67cb1f4ac3f017569379e544424dd81e2a7262841b3d4844f27f0ac608f096448ad16d6982264d219de4d08da9506c0e3c72c3236062aa3e63a564599f0eb81728d4db98f5de21118bf781d724f49fd9535495f73bc9b8415d175b8c5e9769ef8636206f8888629db260dc5f454166cf8372a2399d3cdf8366de358d694b3327436433a8e39065122652b3477c957184c47280a0feb8de537b25212afbf7b04dbb335ca0ca441764a726d6ea51a863c4f572b4af1f6685ea0ad7860bec9cd4c67d88205d53923a38f3c4fcb89edb8f5b5772ef0684e9b644a4550efee29c54f6b5bbe458f9adc037618ce099b52c388f9a72fa308625b3278c33843612ffbefbd61874fcdfbbfbeb66d78576927972cb8f72d95103ebc5cf1273154ab8e5fd7dbc34593d7461ad250c52dc869af8c6da935a3b7090220c6d822c867e772cb11baad81ed2215382b0666174e06a0a1dc85a72970de7c1704fa23285ef7b6b79de9a69577a5a5146fa7c8a3f9cca5f424dbb0a3e05c1007f627efcabfea6b8cded63c5ed68cb24e42aa05b7c6ecbe40f7c8d724238d032b301ded4db7372b33523e2078725265fbc93e2086fc85af961586c72e860f655286372a0920da4f4c2aa8355d8ed959c5b33a6dde7bb1e477459d37292279829c2c755bd7467a08058bdce82574227cda7739f7e4c2b0cddc5c02c0fbeb80be497a1b910192ae539e0f7a8760527f546f2005bd4dc7fbb50797d2672d5c3c969cea10986714ea8160dd53436e6f990e11e73692907fcce133c82f272ba5742f5986cbf61b27eaa23e02a2b5da77fd852bfbc832b78390f3fce4fe118d616e474b467390b64db5468f69a91db6d9dce960c55d65fc258bb5108c45e729038105969f3a65d5220a07a9cf13ebe62d45a72cc5a46d6ceac9fdfe00ca3728a782dcbd3fd3961e15dfb1978c884f99f6b46f9c681de6e445fee766e9808688d1b61e56118e95666a50c4da4c7dd942d00ed12db43522987d1297ddcab293de6cd0ed2d611682e15eb2d8b15856fd34bd447fe6ee39cb4a13ee5f2f437555cd20d09583358a1263e8f69643f5610ca264aa8c93080039f279ae2ceaaedae72c4ec55fb226b944bb052ffade228ef7e4d7e94336b5d22afd01e1d1e2d85b958af89352d4b00bef42fca886c2718e19f88cdf2f3407916e900523c09f40aba3fb66f5cde92a22a20a11b5ffbc27927679feb80d5af9c081afc4cfc73083a8d69c43a75dd984814f31bd1b59fead4eed7e20b34a59eecdee6a65289fbc13fd61700a53319e6e9ad99eee4894a60c254a1bbba3511ce92206dadb248f4627522729b9cb98acb2942e0aa50b8e2292de008804ffd46f316a7cf8fc3f7736c03bd722b03fe56edb355caee9cf6de56c354b33f20bbeb4af8839a8b95beaf362dfc72a6f873c5e586fbee62630b98780a202d9ae8a6c91bc5b495298cf69d60c5946fd8b35c0a26696dfad6210eb79a862a147cdde79d5d88f3214990e756cc41f1612b5cd12418fb17617e803df9072dfd09a0fdc2ac792455ccd41781a495ea6b728580508f2387fcf8417b3129a555410bb2ef4c11b87e8aa36f9bb678b1292c723add738d487b205a521a25d073b8343b51187377285ab1a8d0b7e74c791a7d72d97c97680578257520f007181c410c009b24fdcdacca2aabe09254be17f42c7291d16aca08a2f9628ff8c03e992d80c7cc1b758315627254e5f40c5a448d21335ee6608f02e0b3341d52dcf1e561da6cd6c7c62e668fca2f0057623e3a3e0872b25e7b5136b8a53fe7e17a68b77261a233027d99bf6db72a0c15be5452b21c627e9ec132bb6264e9f2ceef3e7b5140b3486b63902fa0a949b2af38fb30897e72977927205ee10d6bafde20a66c2f338f24bed105bcf2cf70541071469c143a72dbb3628f5248b48d6f712b70f5ebbce46fd53c547746d3981ada6f3025bea92d5b3c35d890b8a484ebea79396f9ffcb7fe6d9209c84b527fabe618b56e4c1472d4fe1854560dc6cd175c55c6989c7390c8db274ae14ce867a74c5ced8eddea7263aa964e5c128a1ee98be885eae5fc54a289a5b77b634059921212940da6e7721c06430e5f6ca47f3e640891dbb0eb5bbb29bee050a17e2fd7cc92f0ea28cc5b6e431a957e3d71b5a081711348b6366bacb2215b24f439a752338e967230e20ddf1406a11a0bde316f066cd309d156a78209929af5603675fb2fabf4f2fd9045a3f4525c674dacf120a5244a0417d13f86d64944ebee46e5db348ab40d25eb724b241ce33fef8f61e6e4a52fa2a58ac7df064c0d431b84aedfee94be59981144626537bfac9b8f2a6ca28be676e4aa201b822a1ccc302c5e406da0ad8da82072153d3d7153b9f284ae8c7515767ac353b0299a0b943223590c15898cbea397727abf24c0f55922506a9cfbe31c188ed26751e48a50aaad92621f9553f9c6e9725f93bfa0d7441e14c6daa3dd3e56d087db79c27e859db248d2ad507e75271d72206ad9b9dd57b848d515e944dba5a3cfb34a89f46cc12f2c7c841ac7a8657572dd819746a2b606bc3a5b63c46a44b66e4bffa0f6f636a1a7881d3cebf9013f723d14449a412888ae63cd119ebaab4a56b91cbc2f45fa9be330403737b4ae5f7257c68bd8033bd4c9ad3a50da86f7a31fbb7be3288486d207d1b6eb790017054f7d88db9cfbb10717ad0dec4fb385f4407f089f5dc9f6faf20039ecbec9c4c70dc0475e8f61177131e163c02657a854d5031939f50d4ad56b5326eb4b807c6d72f318081df9ef31a11b4f234452160738939bf43d2b5664dcbc8b5695cf0a06726f41b35e3f9c1d6e85c50f0a836683b97e2cf2c02c3f7b912f9de7e53ef1de3f1edc9774158c44739b0025940404c795c67adb34eb34b3e93121c24d308c58629d96075b3e5ff5e335361168db90081113472071a8eeb5f92a8ce5bc00e09f72e5c6bde499cba7a6590bb8615ee4807d72ae60d7116545b56f9351c13a9514395ab96da4a9122aa8a156657139513acbf9898599954ead8440d7433c6bf8ac171d78f71b41463280950221a6416ce664a29a42344aa5ee1c928e59135c1990723ab0a9c47cdd13747ef033b37f4c89e8fb9eb09d6c23bbe8e47c6dfa34e58b7282cb57bda18782e4163254b73670e42e917298c4a5397554b17af92f8adf355640b2a0083313fe4a014240b97c6d9baa5cfbb8b244f12998ba27b7ae51b69a72b9f7eaaf0c5c1472e47915d889d107be873d4169dc5598b81fcaee8e12965672c9898a1982d6ec18ef78d2bda3d43b498f29ba7d0d967877c3252327886fc672d447c50f987da66d5d2a8fb29e8b6e5db499b7bb32eccede8eda2efae9fff01981838c8127e955631afa6008e4d194984408c8d72e632e1774c43e86e3b2ac36fe65dbdaa9c9819434cb52dd60b1de096da20ae7b4b5270bb9dba4d991049e7232ae89a625285ef2f8ea98ee2c0dc99a43ca09738e1a6ebf4834f08c8490bd7223a9066d42c659f9baf72a45c00beb5be20f4209b8524187d6bc0a7e4770ba729dad63295dbd25903a9aa36b6cd38ce878bfa49fd47484f5fe2324b610ce6f723d45ae6eb7d3a150698b570453270151269c16b792946beaa3016944732734725fbcb2367412c4c7f11db65412797b197786efd72661a63ce1755e678071323df8fd71c7d362748a15de8fa913a1a8b5859133b172e00ce705377a6757e8976f68abb5fde58cdd1c38307391295de7a5758aa3c5cb0d10b8e0f75f5d336316721e044c0062de40b9149e2fb1c08de4cca4a3195cbe060ae0978dd67516ac0972a16eb50b554341caf7fc83b94afe5983de2245b77300b46bd535c90b1fe63463766fe0b6548ba701d0e9f75a73ecd47a677da87fd3003022de4564ee7432fe5a82c19cb326ea8dbfa56fbcbcb5ff94582f63aefb5804a1ccbe9dc083b0cc072d25876e96645797f6f794e9731a779a1668d094fd4fbffbdac2c03e90833e0e5005c075bd8ec735a7e2cd3116f2797a83480591352c18ef8148cf9e25ebf2977226c7f6c8fccf43f1ed72706003637937df62d5e73413ed8d3156b3f9eec65e7247318781c99ae0d865f1d265dbbc558a5adbf4810d655d76230a5912c5f89a72686d42566984bf7e01970b239cd7d69b6c736dfc7ecfddec8e58a566e11bfd604b2aa981b3b419aa854b3576d306b8e5dcd3449ce970079b00597bf7f8023472e2eefc3cc6e89fa99cf8805e7e86d9f5a604c47caa6aa1a00c046e28c6b52872fb9917a14d5383f876c506900a5c70f2c79b4aecff426ec89ca66dd72c9b483d67fe3acac03d5766d8b5904914b4c57263585a7994789da9f34b7fa62becf872eeb7d33bdedcdf46fe42029dc75122edeafdbf68a6350888c3f10fc9907ca972e95c7e0a74013d399390212662e7b53b09b145747187c09f6919a35e3bbcd1724bc1c26d99598da08a948c55eb7f29a722fa11c13b7cb78c249029dc56b21872821bc2a034b8be815056ea0d5cf606c9ef23e55980cd711ffb429bd3a5c0c6362c6c6d8db039825b87315f003a19b2380d0ed339a085e003b9da412a5077fc72093d7bed86ed1790fb07c2756f7e07ae9bbd625cd14fd5c3d8bb2e7bde8d2f7204bda7f2853aa30465d621eb995b64a360558cec15ecaef0b2aff3d5faeaeb605c6d8b1d66d4fa4b8a1fb1b76943e05bb22448a8842898d312ba4038959e39270896b1a5271ee253cc3b609740126751d8d537624f6d5de87f0642343f2138722150c4d7b238cc17369349a8e66d684730565a9e2d42744ecaa908fdedfa1834e5d1b711df9ed079f57da3ed1a4bee036ab980308869d8aec033f83c1917642bf10ec86cdb22f1ef00b1e734662e044ee3559dd6318e67b5523d13d38e65c700e4fe8de2b8da62eb65a36c3f4369d72129afacf374821906d82934d673c26572e88eba2bfe314efb80da0f02d70a9871c9bfbc182c48891d376543416da47b249869c16cfb41c4b46964eee1ffd9eeb48ed7954d340e72f8642ab7b1baaf09723195c344743eaa9ae9daa6005a8bddcbda226cd8195fe458c967fea8c4a998722f3a81e3a31b1308ffaf331dbb977c5d8015e344d70d17f0836e032f498edd720dbf648fd30519744c41f41feb77a27839802ae0b5d6a0049b5179114aa77c7232e0c411bed9b0cc4aa5e8a33fd53c065a573dade4454fd5898679f4936cd02d3683d650fe0aa170ce0774b8b2cd1d8229719a1b4aebf7d7fb442e8883f67b7239b2834517f0bc00a8ef8f6afc6e8dad269cac64c21bee06da66987ec525e8533c876a838c7f6810cff6ea6d98b89e82da6944035fbb5ce91c5e1a518c5a4f729664e6bd98742d08023456b5151e1fedc398912709d03a181317d4a17d89c672a68bae643b22a2308f026bbe94932e485145bdf826d56a5e099e68cb0028db29e9660d3221fc744993d0b13505fa7f684fff16b589b8a23dae5d40318a66fe46396154be9cdb6efba8d9606fe17e7cb103db1c2f51edfbe6e8140fbddd53b5724d8d44c9a2146832b021520b19987f0aec64c343bf5b5730d5edd69ff21023726b228d54135c5aa8f1a3df1ba7ad8380f45c9e268910385312b1d147f22b3d72952c2ae67961e8180ec9a81053ea43957e8e0f082117a3c410a47d0627a01768dd6f89bf6df23007e070866d2054bf9d4d23c8cfef85153bf62f90883f841764747bf59ff75cdbe085b7a596782178bedd096be8b359b58f63dafa472d5fa22ef1abc983e5303ef6335ae05294a8a3dd930b97f2c3028dc0713c0ac4add302720c3230f181976df17df2a71fb8743c029dc295fcc92cc8f8f29e5e1edc849972983bc5a1135899dcefc0f65defb2be5168510f768c9553eaf1bda30daadf0172f2d7ef852908cf57abe1f63116387f6cfb5e951bbc7c790c85a7696f8dd493722d65cfb828c4615dae2965e344a20338cfd0e3a342520b9921c07bc6790d1072914aa2a4593c373a3f33722251271a890153a0c59035b6df1eaa9ea004589c53ced2d370aeaf37e12724c667e5207b427362ca120a650be3544f4b4da5104b6836260a81cd8b1e7db50bdfe7b0f13bb81d920a9e37762eba5fce01a371a6264447164a026bde84089996c89218db59e502d9f14d4326dadcf261798342f6b5555e138522c51c7d5a0dcaf958c4e762230f1a32910184abaa23e04e9218820f72fc19dde735b11810adc243f1e508f86739b59e7740dc2866d2ad6d8ec918df07b95f2466f3a44150e4c8f9f247babdd78bc08243cd141de5266f076a4d804f72ccee7b8999d9c3acc52db9a0d7593b51cdce3cda96157001528162bdaec66972adc48546c1283855960623fee8cc953eec64476cf0402ec30b0acd4ab4c57d72befa4174f93347e83a66f407c4f1858022e1fbb2b5c747fb716d27c99d24f672a18cd6bb86f5f5fd3ae8e400a363225844ae19947621f4438c8f6b2e55e00637638d24869804f93a4e24324b7a25d7e6320dfdff2ecf73c65543eafccf35b57212f81f1007814ce6252f268ad368c7aa1b2cff5a9cca57a387d7c683a879e17257d4a4e0d4d7f7bee006ad43d4bcbba80dc606e77351cd0c4d2de9f4dc189672e242bb96c8a1ab7368c2db5295bca3d528e5ab7b0744a220a6841d39959d46087edc02dc3cfde67c43eab15ca87c901a8654101fbfaf8481a17efd3b76789b50f0ac2ca6c56cdcb1cc3b72cf35253d5758e6eb37a636c4a46a856c6da2e60272bd3b9d496165d22b7f79a51012f798a77feeb2bd78cdce2f59689436ca8a5c720c1ccc643c4001247909c1baf7edb2bbe4aa8931771870e3d4417e6c6fcc71724cb1036fed620cb0a51b9fcf2cd19ee36759b7a8610bad266b7e6d206ac695720f8efa04da53dfc706780e0c23411d9e56a4b309638da3062cd59c7c73ca7c721521bc454a858dd15fdefb0348ecc1e26ba384c879fa29ad9db2e4955ce3e96cde71f32d24e06f26521466c7c43e478af6fdf4e90e41da1b1b3013073568907286ec7776a7b9e19c283a8c134bac7ca167d327cdbe66d1602a461c030e3f342d18a0cf7882daffafd0ae54ae62fcaef3ae5543756767b634393f080b78aae41906558a0632f20177ebd55852df107f73aa806db632c8e209e439106980a9d67299349bf3f7dcc414989b65e75c9b394dd6c29acd8896bfcc3501bfa100ff782fe2e21888b3fe42d2c43d56365545c13ef5f9a72fabddf4160c3cd2087eee6958c75fb77892f7ff154cf177f6fa13e13903d2248dc32fe187bf566332b4d8495cc619ce31a607b54c52e4ad92248095fbea85f41bc6c7c6eb3b50e19efc9802729760ea2ea297af3730dd40475e10fcaac9783cd1bb12a149aec754adc6df5e1fcdb7269353db119461bae560f92eabd9d70271edbc071dcd35cdd8c5088f0655180f1e1a5b31fa898a8eaafffdc7c082f11f05d87c91a402cbff3c52d548fd3e1a68d97828ef20d40ca975af5e7ebfdc346dc99de345f124d509be53466d932018829ffdf6e37c0406a68aa987a1b1a3fada966f11f00851d02c044609ed55662ec0e114459f6fc79ad88431809a729a1d83420c8fc1680e04e78ce7bdfb2e603962ca6fcc1128dc1bf185855ac575b182976c737ea20fa4e9807b933bb43572869f430e81dbbe8cf16c614c6b31db697b54f950b30b7913bc2eb4c863ec32722461d18336673048a04b44c8631e299c1ebf875a26b8c7a3231c747182c43272c1ed9154bff3bebdf2f4c7bf5140392c5f24e690c02f5cb1211805031c628c72d45856bb04d4548af80f3926f9ba38268fac522e2c3a27de5db2e792553e6c52de1d5871c21e1c464d3435cde1cac2e85d1539ed1b14ae71cfaf5bfce00e1172ef0590a41fca48330c1689cdc2241fad3f44e42348f18b553cffa4a5dc34e40093b4ae4c263dc8d5ebf56e40c79d7664178b79205914c425e32f16e3a5580472a9617abab1747a710d1f16e4a9819b2460f30e2dea83d0f4fe6ff47f98ce08604027ea614b6ddda9423d836cb6734d6ca9cece8e17b1edad2f4b3e3d8c59391a86aa1360449f1b841c67c0545eb81415b50b6648dcdb6818cf73f845971e944274f7c41c7021e00be8c9b754c422b9ebbba8c544d4f538b5d5dcc6610731d1729be990274dad7d665011e93ad431aeaca24c121b37b94e653586dc0665b39a728b183c0e4be2e3136224d2f47dc28fb53d20185b6f3b81cde9b8c8f530f1380d70f9ce4e7ab3bc2b4c437b7339e7374b7e8bc8da0bd43e8ca9f9f4cfb9e01a7243d466d4d03cdb4408aa2370426d871c613de9956c48b0bcce23bb6f1e19567206380b3ad8613265222356f8688d5d12318608e42105483185cc39896c962a72ec75e321624031cb3977ec56ed584081867c7c02f45fed35aa949c939e76c1183c276916b7b65c292b40038f49e79e1cb564d5d6f58c29519efdbdabc29b6c017aca55311199deda80017e70e88d211c06564b8facabe20649b3de0174ff3472f5a58093eaad6d4d52f1d6d6771ae4407188e8c562cd51714973eea9f0e7657212782c675909e498ddf811a3880cabc6ed9e12b33ced489d0a012a57b875f77221f42587d6890d9dd6f0792dd7b482ae4c16f7aaf09d421675a3ae8075fe9e721270229336a1b7c04234d3fc05fe68103b7d3d805789dc48d1b830469ded747294a2fbdebfa632a04fd4b570dfef02f0899279cfe0ba464dcf375950b1969242563c1cec2928c106d6548d9bbf4c52fd4ecbf7a3db99e6925d3fa261c34697724c4a61100eadb464d891a12446aa8bf64038360294b85ae5f552009eebf4ca05df9e41cb601dffafde4487a19b8534c0bee081124e6295b08bae3ae6d95ecc15539b19d3a6b0429f077b5dc6e1552b3c49b8f8a88d8664dcc9b9f62da37c2f24db2f521e82a88f0bfeafd3568534108245979c03203ca3477d1e39e5c4ea6a247ff499f5e9385446c3cdd1b9cbfb75d8c3a437ee71e94bb6659e786cfff9da13edc0c14884dd750d3d94e174324cc5ffa41561e3fed0d3cb64674ec08e8c907215e23d299e15b0f3ef607ff9a7d039a70a9dbfe0acdcda0f204f1eeac430f10a54298daf2003b7352a0763fafbb536ad2e31920314c94e7948155db91663907225be3d2e9b1c78ef9d8719b4cb0cb540a365374846c66b38890f58cbacc1ca331fe649bd9c043e311e21e7443cd467d1565e9c5a54b29bc3c76701e4eed0d872d568fbcd6fad01e8b1eb93268aae23aeda3b3a948ea291d1544d8751023a627223c1fe17fae1cd476e3207371f8f39dd7fbf3b0f1a147cb63738bc3b0ab76972c1ec075a7b26ae2ffc04c7db239f767d92acba241b3f1f899c2ecceb17cb8b715a0ada0607e5b5669cef974469a7bf4aa05443212f659e45e43fbc4d70066c2cb283c830e400f83d5628de8d81d3785313adc47f1c88eefc758f57abf3094f72199b9602f85b132ada4d29b7a191570d515037e3d703d2613ee5cc82d5c516728a6fbc4a72944914fa65044162b633c9e9c88aaf93ff9524cbebd5555a9406347ef3cbd4ad1902cf7faa1c54d1f29c4ffb3fb2859248c5454d91c02483d1bc2afb24a35c2043ec3c0427e85441f28f9228c7bdf55b286ec9d1d9659a6e8aae3cc0e383d932fe901150955fdc47e9303b98f4dc2befd4ee68bbf26e8eb217092c99bd8e02cf98f816b856f1a555d4dc408237c13910a6d2b1dcb4097670332172783de30eaeb4729d67511bbd96f087df94539b8b1a1c6f02c40161747ed4505b0ea3dc7b9a6de934568d6c21eebcca7bc02341dfd056c9988a37ec140d08fb72c3c7177a7be30074c1801125585b533a4f90ce91ab5e3f308a4b6df74cb9e8726c083eb8cd104ec2bb6fabf42d229a5608784e925033e93ef8318e63a9795a72722cc0ba736543dfd8421be16765e56c23a1cdc3d5dcc9f4086ab5f2ee558a726f87af5ff3a2830ed54e142b9cf982861292f4c687792dbe36f059d21fbe3b721fa0cd610772891c5fb57ec1df8713e037eb850354359ea1093e38970bfb5a72bc57fe38a1ff9d33eeb20311a242bc41d6afc52cc0234fc496983e992ce00372b046e9b25791a00501e1adb2f0b5053bb7cb8b36e122418571d9cfe19342a172edd1e7401f0d42861ac0757e52781ab5da874e274fa0788b4bb0255c9b1b00723e49e4a4dd5add7bd7ffde2f74737d1da80ae28fc8b353ed7b79f974662001053b4d6f23f1b56a2953cac36af60be6a1ba46b08c8b157f9b32a5e018c980261d6ccfbb4717a611cec5d18abed865131a362d351593ecdf0245220f222c73d41661d503f44b3e1f3ef21dcfdc6aa0a47bdbd7e998808b2b5693a1c2e4aa6b4d72f6872a9731af2aaad9463767f29ed5b8b5fd60b64abb0db8399c7570c51f48198a8e0a000c69936eb1d297d58f664cd16deda69061b4d2ecf55a59f9ab7d1e725f09646830e2c1356a31354beb990244d2526c579396656b4a9b175a9c7cfa724c29cd271d90875bd14bb7e3f89b9d0e4ed737a43283388820a7172030440172cd673f84177edd5f588cf5d6559d578fab9f3522816ed56ae0ed6aa7fc54fd686b0efd8b6d483aef93e4cc463a78cd5134e68fefa45ae2e38dc0bc511b7d3d4dee037f1d9401cff3a18453f6bd49a86989a733210303d3e0ae0266d0b98ea17263c8ad395ed8e13aed827e32d0ada998ca4139411ee2c5f8f48a7f628ad7a36ed8d971d7ca743dc2a7d6a30628f7f07f22f4917252613d4a13b576f824091653186ddcbe998d311aff5986597b6ae16e3a777aa402744ae73476563a976af2729b9ee46752297f9766bfb114edf7ad01a87675091c57b5993b29ea004acace63b847d998e8c39b093fc67b67449bd5a6e027b4335235df842d61f2c1a54cff7273d1476ee6c1f72f39cc7dbbd6cf1375a5ef7c7d47c7b7c15af4ab65ce0f6945d050f7cecc96f4a0a5edce25f12fa19dbfe680d8206fd6633dfd135ce0e57f1e3e85701baf43b4500967142400a91bb110465b4358cd85b1a56d2e28c5b77444b2681ad17b1488cf2821acece483635cc127f644eb774edbda4dbfce924f394762b94ecc184a7ca6bd78604577c11d146305219f851ada0eeb82a5be41b29572dbb8c3f0c5a79af6d6c25966d1be40d6e97bfa057ecf771de845183a74540b72de97dda9826848f1928fd9f8e6bd39d3ae17ab328f9afe9a3aa75c33c5e17b72e5211f15d48435ff98f5e7d91a6ba38845883e654ec18413ff5f836c50314b722daa2ebfefdb3489da931c12908bc95188ce58b052b1d6de67facec3f2513f725c188389ee612bc3820720dba0ec5cd16d1b801c7bdd2b2c166d0843583f2b0cba9b3ee76c8c6593928bef2f55b1f172f0d3295319b3d2b876258d522df631155fae194318b53e46a39fbc5593aae6c5a8fa6417d50a0c27387039d70d937e549e9d9c5ed62576df48fe77e4ee929cd1f378391f420e27d27f58f228d654ab6964606f1022c91c1136d9d6448b68057ce891adccbb48d6b2998d3eea11b93272046529f62042340abf950ebf0a97b3af324c5ecaaf0cc14f264a8b2e259e581d7952ddf424d5cf0180deaf825a73c647777a8fba727005bfd972924f62d9f872a92b669d341327514eaa5d1891d03c87c988f69cb4861b05896e2031fe34c8555073b1446a54ec1b4c2738657d42e37f507d4c207879ebb92f78b042138265309f87889bac9099ccaf220436b5e785a59912a867ec74e89bb8c38094f7942323f11c95a2b3cad366e90cb61c5a3c76751078aa4d5be4094bfc52fdedb8673d721ffa1034264ef2d13d2336fe51f2f4480b45f43a3efac665ed23c02d09ed8972c6a607bb2ba252ea8a030f3632598cf84df99345b283ab3371efcad20ceea97250950cc33121be566893941e50ee733e71c3094680ab77bf0db15106fb225862fcbd3401face8ba339f29bd5707f7b48cfee70812fb13ff0e76b4bb59de3f5729da44f3a2aa30394c91d0d9c1bd8e1fae2502d1be3e70e8e2ddd3ed9bf136572cf0cadc1b3023029a2ccff3a0b3ef96e0edf2227ea1af621cc72bfcec430dd729363c28ef69ed490c635be14ad32bb43f5abaeabc8054a55f97d46537d4a5936060cf9cddbb92fbddc7bfb984d5eb454d5effbe35cc21840077ecf7c6f22aa501fd0f0219f7db2a71d9856470951c11cc21e3a83d04f38e973bfeb5e0f463c18bc882db457bba1dbb2ad480a21f7c67cb40e4523a1a35cb2e9f6a21eadaa774d7a13c3c005bc6562935fa3c1e0b56464d52ede590e6ccfb09c3c17b5f56eec72709c341cf9d774411630a5a0f5094dc913c2695919d8b4ebb19baf872fd6a32d1551e387196e6fa12e6817fbae60b1c8d046ec4fb9d1a7415e12b9608c71b472f5cc0f3fc7b1b7ef5cdd4cb510e22944fbe36081c686851415c968064990fa72b4a35f2e8a221692dd4a3821727ce76c843df284a651825c765d8e51cbe6ff04e86e15b534d9d947171741d25c99fa4403d3a51f17b297e94270ddf09f10602f112f95b1b29449a0f1ab50d2bc754340530e86a37c53c13e36d5b0074ea22e08a025ff20310842daaf0c36dec706b8a31225ec9384983e204f28e2c6a32e5372749535edfff4bebd0541031a4ef64a367aab05590919b14ddd0dc5f000493e72c332dd8be92cd3996e6539c42217a88516d87eef99fe9bc9221b265cc6c3cd72188cf0c097581b114cbfce5ca27d6ca5cacea0f2958d2580f32ad5b49fd4a372f9bde7549dabe9546dfe48b5dbd3702955ae447ecb041a20974d9b89158e8c7269f8daa81a33e87c2efebbe40eaa7a954de17ed406c8c44a07ee89c2cd2bfd72ec6cc0865cd432f6d10aa0080a069708a1b86bbcac775f3e6c6f31d929a5d872a6b402488df37fe57d7d577cff207f36e8b0a2ca3287b30ef69b0bb5ee029f72a6efb0b19214e4ea5e3d46becd31f364ba1a0ba81755735cc1e89fccefa27f7261c006987fe62a3d1fd76e77646435aab8d3a096e24cde8041d7ca8c3b40f940e77078660d728c0a8e18f59b64184461fc908de78a050583bd837c813f80087215633b1102d7c6370a6e03fe3440088015007f466cbd958ef32db294ed8e54695d6f9859de0b08b5d5b3e9af67b118d6507504330e44f6ddbca88d02a99f987292a947382c7689beb9516db719dfa1a3dbdbd1ea15774d19fb6b247dab5304727802e0e62a4a1093511e495f892b332657cd68758f9e935967537979571a5a71fc8664fff3ee2dd0c7a20c145361d7a9139339338c5cfc0cb475480451c05f72c31cc39e6197bb1cb163ebe1f4b07f8602500e93111c2fe648976a6737050d7254bac2861e4b2483867615cb58d64fb7d76901eb9197948a73a906c794f0dc723426a223b18b1ccdea07cab77b3b8b77c5368be05824ad216d333714ba6550722d575574368564875c18f016057a304f8ab7cca3acb49088b578de4aa876aa2d24102cfcbe6c57c2b70c5f5459fc9bc9fa79c7f53539be381e56340486d5ad72d4daa824357d385e63bcc38ab0c5adfe1ccbaf0aa2bc6aed13b4238d723cfb72925713a4cfa4033e73cd039c859d7e72a095cbb164db1ae1eb6354c8c7440a1a396248cdce10c7cdcae9820d04a59120cc3dd9cc737b7cbd0e75e0cea86f4c72a1e6b43e0d261e344e07c692cd1bc12d6b4961d257ad72ef5f8e07a01dedb0729584e0683d820f8d6372ed33efdfe22fc02e7ca0292c932393bc82c519831e0ac85608871fd33cc98a8880a81609ae6453f4661efdf856c23067090534916572a691cdfb3ecc4dd313ee0825b1d7672678d3d8897138c19ee4d1b46f9922f2486745972fb93f193810d4b19a140016ea33bfcdd4eac6e9b57992fdb4a4842e62c47422c890401e545d6130bb982d76b0879db87b94ab090523bc590d258166722551773c70be1c78fe21351f149ccb7df783ca43def123263c6f64177992cb6a3dbe03c49d1b866c2780ab36ad33adf6c7138c07194ad3129d48d38f827d7e72d1e9cd1db8fcd1d946940b78633d67969b8bbc6d132cb33c89158df5716f3b238fd04acf6aa8a8d44748d73fd1848873afbe450ddc4258e6a76c391e7c28bf40489f65b596224e9a19c0e53e1e1c2125f0fe8bad8b593fcd132fbdd4029a7e3515b5cd04819128431c18ff4fb3d2dced7972ec203d21067af242e075cb176172ce32d3fadba7b6e4303ba2d6162320b540d2a026ac88bf89de0b478a1af48d72f23f0b55ca7617134fb6813f83d39689eb4c3f4a1660723b1ebdb7e4858165727710091af73ca4ce10824303f4a3048183fab2143109289fda0ef5964aa3c93a4933fd944365baeab832feff04ebe68aaa55ac7da1be7023fb7a4b3522b8cc262a9203beb90bcf296cc738ded751e80c72435bf45b3ed09212ebd60bb14f2a720a3723195d5304eacffa3f4f31d02040f2d7f182a54ed90f9cba8526734bd8726e398330bc766dc0c01d7a0032cf4cd5233b430f9f7408d5895a48daef204324c8a9e89596f940dca7ae65f56b1ba819497adc8ebd9098c93fcf6e2b4c3ab1494a7db7121b982fbbf5f474b978b2457b686ff7ccd1bfd26a060046d384ba0b72c1e02bf5599c259abd2388fc97f47de10865ec6b4f51b7e98a8b059814218e72aa22070411a7ac243872366832d5954bc9dd115c43eb2b428c0f682487faad7284fe91660313858f47e0ab24671bc9778f2b01a61addcb0f08818dfa021253728a19658e84664be2394e6fabf33ad8b57da395af79f5647b7afa2b6609613672c00e6a90d04ad8045800efcbde30fd3c8945fd288fea3b3b643e731f5abe49724c3b9a32c43898785faf2c0c69bce97971cb379ed4907b164e49d998c7e2f972f67d2bee7ca5c40c5fe0751994b6d92fcf01355ffd74462995ac0351fe17842a02d473e622a23c0d422dfb9fe16893e22ad2c08d1539239c77e75d75229424256f1d1b5c38c283eceeaed5b4024b049d269bbe23b9bb79bf029fed61026a0172281a0f493f56b4b02d0d66490dcd5af2fc6212ae7629b339e7efcbeec76b53725496910389f57ea904b7dfddaf0d91ea0cad425c45e0ac8cecb253397aec193ab8b36d4c535bb809e1354899e3dff8d692d914c0bfcf1fc2fbcd12948ed96d1f48858c284fc9413672ca950d36afc8d83e644377eb49e5629cf2da2dba1e293445645e0f44fc72aceedbe7023f740c93b9c7135c1fbbadf10695c79d9ec35372f6db53e9084590b5e6a77985c285f8c4f653128532d04bd56e34c0183864b872b087380890c3e66d136e62cf5275726ba807325b12783fd322f759adceca9c20af389275934aecfa657e4fb4f0150e643df03fe3f39b761cfc55731ee94755721dbd50aa8c1c795b3e9177bfa1fa5a25a3b21ee160a357dd87693f020e0bd772432442d4f12e7efcccadba4f979ac57571cf07c210feba049c2403f389959f72aaa00ef496927962d3a429c8dd6d96a58841a14c40f791a3d1e1c8c329f0c6200753e17f9df5fad347a9855acfffca6e5777fe6c648db7f50dff7b187de7f70c4802bd3b03c6c947c661e39396689a39a3dc17207b5b30bdbbca6c1a95d0876f3be5e38aa61c140b58a832ff405ca0e93d8872469ecf3ce0569dd9bc9de3c857cdab155aa9a874860f0c412b581762948ed81b367c7310b492fe9a15853ecb701b8cae81faad68846574e4abccbbf490f6fac5e51c87db3425e6d734fb2a5972c804e532e3439065848b41daccbeaf263af63cc9ee7ffbdc3402a55c7640e9725e89fb293aad4d202ff87ca1d13a20d563adfef17a6c969ca8e55f45bb99e215f65995e5eeeb8125c7ae3db47c22079e710e94f9dcf3b6cd59cdeda4b4b8977200a374b075ac22919b89b635b30dae935e487999313427364ef9f78c7e62e35450800ff7ee549e8f09536fc7eb863f7c3c12b83679c66cb6bdf2928892943166066e404e87042cb98f235a6581fb1ef1f703eee0c7499f6abe69067c17af651ec201927a66bad40906773e5e6e107945066074f3415215ec19be66d31d8f3e728fdc53fe870a8d54a353808a8eee10ca023e48a5c4c73115ed25dd8ec411d172f0ceb8735f944edc365a5c6831f0e6393a31727b429e0e5467d7d28802653872ebc7f80dbbf1d25755e9422b8b0cd2456400cc6cc7936021074252978a38e25af12a09be12171c7fc9f57a026823f21139836708058da256db7f053e1e02ba721250582969c9e287ce205fe162356e430bc795ee8d5f4378dd361e85bbf3ed7240f3319d86ca46b7e589c212d129fb80bc0a8919c500afde55d1f1f4be08b0728aefb1fd75b0b676713ca02426c3aeb2c97690fc97d0b81674ea4b30ddf714729216510e8d409d5c00cb068fc146e92936c94a2b38b5f5726ff2ef6256be693e0677dc2b4232147554d0933a3f7fd2d5297659b70be6eabc4af014c38a50260975570ce42f3d4175b29b172320cf1adf21e4eddbb2b9c5d575b8da20247bfd720f1ecf11bc3f05cfd1b603a95d3e5207bb3374a8896f2d32718e5d4e3f3a8356ccafb03700d180d7bee46b9a7ff3574d59821ef5948d1209961881c8f42f1472b16003b4ae3e0a1ac4bff24408efac26ee66da296ebd6cdbf36eb6001c781a720307ef5f715c0c3f20e00dc84983159b1b2f75c0ed337edc9945bf5aec16a072b20b09d04d432199ec65e9c748e96830e7c23e0064bdff5101fd3e68875e08726d0bfaee207fac483891c5efa9f02193531bc039d08902ba8d111ef7893c1344a9f0aa6c955493cd8b3bb2df32b94baee1d0472ae06fe0cdcf73cac9b8653d72271f8deffc75a9b42a4cab469a99736f3b28bd736c8188b23f06a26de562147256e671336542fdaf5a9fb30f3cdbeca9534895e0a3ca75fd0307703fb91cfa72014208230fc6cc6f1852caeaeced2848e7547c0efaa8343f950552a51ddf3b7217371f06196a0e80b9a8ec6bc3fbe273c8034dd3629bdb0853605e81a1b2d20d636527d16771a26545b9ba2be8c3b837ef35b5c0b4d6039a8cf949c4c9188e10657844f11c6a4fbf82364eacd406acadb2e589484c27588f01fd824b019c91361644861f7032e98e9b1c8ed11c496c482752cff98599c06c234e70083eeab1728794d82b36b16102bcccad7a4eac0ca17abaaca4e537bbfcf92b51800f5db27238e32f86d4a110797a2cf252a3df4edf5b5b0d887b23ae8b9dcef67c717fb172345b31c637232b0e578255d2f224b5fa155b9d96b30d48cf69b0878151363943558ae701486ef5c57188f396698c7f5ecf106235aaa94a2c85b4e594d819bc0ce2c7807ff6530623ba82b4eb98b703d03c6281b89589eb248b35ae81852f9859315d08d3f0b84a335a79d7bf7c2234f017ba4f0767b858e5d14829981de25e72f95f9e106667f3dfd16a92bed8ea91acd5870b124dad0582b73f61cad42d47356ca44ef1cfd5b4d912257783748aa77cea2c2df628c85889561a47d0ca210817fe96f61fee33eb2ee31bf945405ce7d6d41a8c92572e23b4b169534900f62f727310f628b1fc056187352c154449fd699eaac003d64219f74e04a8042243934640b263e5d49590fe4dc272a75d8efb2a0619c2ddf94ebb57fb34ebfe6258dd44a8f24139700d5c9a79ff94754aeefa638cbcb854b586f9654c4f038225136672282a19fb364009be61a08ee7960525412d390b164ceb9e01a6579c705f7e9e44632503c1d786cf5bb9d630143cc3fb041d1dbb210a319a2fabe61e0f932a821c6c89fea1881e9613de0f51d5b8091a3682220bb0ad04aa8ab6c22a8fbdf8d072600e56791d10b6907bff0e5c4518ce650c0e0899ae3ceb28a7daa1f09c589a72ee2bdcf10b270ea329a3d47a44fd3cbe33cf868847631761276a68f896363d2a3791f2f2f62afb3088c9f53f7b61e307fa0702147f60d8c3c9034999c48f906510a255ca86febafdfdd4f8337e2bf107869585102bd4673aa344e57084a69672207e169133c37f00ea0219cb0b9723265e7b040812905e992e16db04f5494272d4d30801db6d5cd78092090b9608af9a1233332239553c975b427a4b73823d72fb6fe5ea4f3a14bbfaafc91604527de4b9ab1742491b7d252a11db4e6c5f0131f2abed1224fc9cb2b7b1f5c01eb01d347b09e8dbdaa4224a08f4ab575507b95b19d7f463af913fe4c5e947dc7515b95a512bd8bfcbcd03d7eeeefe5b13b2a523c2180e24792b2e02ca43b1a0db19cba91430fe6490b8c51d10898406234023715441c26fc7d9cc4838421f12e297b7c7db4b18f85c568c279c6f50c98dd8237219e174774098bab036bc32656c409fb350d94af9bbe99d41ba40194a3240a710fb7da13f26bb9af0e01fe8e935285f3d70aee09efdfd77ead4375f2818b6950aa0a5c917bc82438af463973cd55ebe93ac772ed12551a71648d0eb6d6bab822e89a4e1981dc2b15626b66f60e10786d4bf29de84210007a2b6d38041569a6d720e5fb1c7e2d396a40af3b5eb0ad22d6cc1a356e03d2f34c9b7b20a3d972c38723e043e1c6c6495bba7752679076d50fe05df1c5b41d0cf05e343096689719072dff36410f98b4e1ffe4a432c8ed337343fde8f42157bc02de342e972310b6f72fa21d685652603c005bef4e5b5f8d009221efd27ed091f5212d227de4096523c25d4db5bc11801585ccddd46314d0ee96e257953dc20e72baf1225340ee01416a65d1c4fb55619a1100bc71471a711779066823bfff1d6264ad6c0533c7bbc72711785d2b80ad13b12546765618e7b19f7e1f113c2c8c28b667b3c5abdd28f30fd0233379cfcf27895e3407613da9d76c88f41c0c3f3649e51a57a9e734f957213d8efab22b25ed35a77ba955d553621f5e3a105eded958cf8efee74d8a7c4470bd682a41b2197fc2011f27b95996026f2c90e965dd4309bd435fb1cd19ad6670ee426fcf47ae624aaab5d89bf32514a65497491b37df8250e78a04490fb4272aa0544768729ec34a2084bb5fc709d9dd12f8e7b9bed3ca87c3ed31ce9d9f072b99f9a70f44d2c7bde0bb2f95e6d04afe9c19c11846db42ef46076882cdbff459e9b8369d7bbb93d50d6e1659d231af72b7a1650c6357a08a20b6c2403fc45472b74ae44422006a8536c89c08dfd2a4aab14a1c73f264b8f5af7531ac06da3722cb173637dd57a01bbbd69507d0327227c29f71a56fd5c099991df995b029072c8c5aeb9b1a302333f74dde31b3b45d0fe5c838e47029022cd7653c20fbf6972b6c2ddbd55214648cbe42ef75c38558488626df619715de470a9f44a53c05950e8dea15e431e62881a83e2ab1c1dd711fdd2c90fb7cf31bfb767eb3374cc7840c4ac015810f6260c5544b0de77db3ae79a0821091d50b19e431fe83f6cdd812e28741b9f9cc065a226ae86245c2512e03f2eefcbb161a44d12624732923d5b72574265c97a56a8b9a62028768bcdf8a96b1d299841a19042dff785a0713af639fb9e0f54234d75e416a2144d73c2a7aed4b77791f8f353412dd4ba9071e6b823f2cd670ef479c7db73f5197bef5bab062b149054042464276ab6a07267e967725c6459c89f8b093d6dc0d7dfd76ac6554f6f0092931f36284f0eec38d14de30d0a97262b653c12f5ac62b32576d871f858d39656490eabed0553580d17ecc2727352a1ced499ca6d56d6897fbcb2a6e755c5b7bc80c75a0dc74f573306daff724629acfe8f4ec8456cb57dec1bd88e39c2364f78dbf3baae4ae3c2c3a9490f72b38f7a7db8d6fe3e7bd1fee63e10ecbd5e130d66736691bb5dc9797a9ed5e572ecf10deb245f144a397ade806f522b7b1654b284635a8aef822e7da6a54c847213be7b8ef22ac3f5f471744fa3cbc232a674ca57e68295fb3d2deff39d69e053f2fbd51a7e1ff77bcf7281c78db367a509e3d24e7704a4d17fdd4facc8f3cb5e11ea485ac90cd221776b4ec2f583dad3dfd769a457ae8d7761321aa3088e5472616309b9545715058748f47d07e3718b6e4f0d22108243e249f3255078d0877283198f6e9cf7fb88f86b6341de9e89c947c4dda2daf8be5e58be981a0a030b7209aca5a6ccc967cddb62dee2fdacf69e50ffdda5e76edf1025a39c71e59789720cb1eef25806b03027baea4f1d9309890005c4f4351a5f48949abdd184e93072593d65db7a3e4f3fa4f19ff861db19848eabc79679f2c0c7a5d4747042204272677cffd4cf0e0d126c1c6a910b4c6f6f5ee272c492432f6e6d7ffcb38e6d291733c2d86952c4ef0c231a1875f4463b3e89d3e41bde305b439cb746d385bd76721726b971a84c06d26e3c795cd72c88c556efc99a77c65a1d427173d79668b75b7bf52bf4c78da50ab2c6d930bd87720deaa6b55883cfc100c8c4d9ed9c1c5572baa84ea860653587ca85425ad7e96cb0262ddcf3b5d0b85b4306992f462df15ecf8c6ef5f794203fe9b3149908df22f697ff522ba8e46f0c4eddabfac2502572193961fccad91483f8958020a2941e2c12cc111f924d73eb64560e3384e4a5720134f51ffa4b738eeab0832fa65e2e251a30013d50658b1e62d86ea34917677266c2efa4789b845a27ed3677008c7577994b5dfc28c396f0e454eec0150c6772de1cd762191cab78cef444c146c3a837330c864101d3b08a759586767f4a84303c71cf0b7ba4b35bbac358a1171445a45f307afa72196019f3bfa8db0e67e0722784ad7394b01949761d250d9557ec47a10be14399b4cf5ee17781fafdb4907225d6bbefd01936100077aa96b5307148ed9796088a45c2707c195ac000d77b63ea7e63866100d211566e0ab573b5b71ee2994bd5aa1fb1e83eee602bbca0ae7204b42a66e6924f5a74c0414d7868b9550a952cfcfd4ba1a4ad53d2a1d25b3d3bfe75bef1d8e323ad4d2706c0ec0dc393bd2d406fd6f2841ab04524594e2db35f08a943e4bf96e41ebe6e9547db5a91dcad5bbaade63dc7eb4c00da3a912b3e2294d8647eeeada69245a1776644d3fb1bc0ef2f617ab26ab88dead8fe32a50322265f758681076329514009d509d0312767fe28ed585f1769807474dbecae1d6e9af58f6d90b05d46207706782a10ead8f8e5893e26fe00ffee0ad35b53d439720c84f5d7f67a16838d6106b3dbd4adb1ea2f8b8f51921561b951f42a5926f072a86d1e1c2ebe9d2d518babf9f8a89280187689714d65ac47767806ee106bf2727ecac417bfd69afac21a29322e7c95f40092928fc775f7b16f275fd6b8e96b086ad9844955068fb5250ca6445e29182fbb49442a1072f4603d00a472d5415172d981dd246c1e57fffce43cdda1ad4c36add619900fd0d7464287b026db09784e4d15b16525c5e1cf9f6efadb9a7441e64cbb66addeced9327d35744b7e3d9f316a564609d19a1f890933da85401dc85c3131c9322e144b156ec16a37759e1972bd249f520179059768fa641360e58d702882f98091a6181ca0319022ef16e872f93238639b2bb4045514533e151c6773358a893ee063834cfd45a2610331847240bcb2c55e87afc8a70f7faf42097512d42b4ea42e17616c35a465acbe0cfc6e9cdef672df4c8dc0b7d1780f491100a3d8c3d8ed91c9f5173fa84d20cbdfe97291bf51af9d9fc7af523c97ade1dd113a74eecf931f34fa0e95da6aba7300f7724c360fb8f2e99e62eac436f951306a9de82df8874a498ab7702ba11e4a920c5cfed5282e85c6e04d4483bf4dd7daec3f5e4e252d0e2b1cc0c7d86406180c5f2cc9a59ace179718125d42a2bcd76eb351fdb6a54b9d9dbe2468dac293658f23724bc675b34835fbc3be5b67ae4792f8055ceeef3270d0f6e25ff1efce455a947233d4c8d4ddf8cd6d141b194ba036e1c55fa1bf5d6fdcb51ce4b88bfbdab81f72b386b51348d36e7dc389023d34325b3745606740edd43d613ac9c70f25c7b672921387799471b92edc193a1be3b5ed02be84d7d1a6a41a3e966590ff744e4c7248e371494d7a8d93c40c6ce708b5b6d37e24630b9978ff75ab0be5deb4546e6c0e6b7735c86529df9b3b4ea9bd7f9f54e9462b17a2060996e02a045dcd3e38723c5489333a9cf26f88d3ae40a6ab36e9f2fb818edcd7947ceb7cdf74c23d79722c28fb7e196ecf7e2d06852fa2bbc61b990dffd9c3d4aeecd2b66e1c4474e972575a26859f95b035bb8165c1b5bcde6214fd2d4bf5aa5f7441a5383b51cc7808d6bed4d399a71d772bbe195397139a1fbef28d73f31c203be37a8c7b3bf5a9725da914972e427f2c56209e417432d68eb9a7a2ab31f328689bf1d0f942a3ad72accafc6d43b5644f5b99c2eea28a15e63e362f3a30c0cc0d23a5fd66e82473226ae6b8e299ae64360220a16163666ea88523f0266f8399c557210b09f5a1363fde35e97ea640e2eeced50f0184c877beb136f0e889e0f334479f21d8894dbe5aadc6ef836c3b822b604bba3e3aa864752d3c1577256a6ac60ecda059f851ba17bdc68788768882af2dab733974e9cfd534e3aca949a46d9b52ee437c2f91d172506b0d22b8eef5f4feca1528dcb74f3f1c4c144d4d9e6bdd83668898c0f62e721922a5e4994c0c90cec61fd431c118e7b930df65b18741ef8157fb03ebe9c172c42c978939176031ea9da898cfb6b0ce9efb70991258d8d9b299a1ac7fa8c1720852dd8b5d4623cab066003534d7e93004ec652195283fdbd2dd92f4fe7bae72b19ad6fb330614f4b6694f1514981d78a5bc55891b3a62a6dd20c638548f8e72fe4e2f026a6e857ddcf0528989d0a035768f0fe321cce27d26b5e1200560d8720bc03e0a5c97064a4792b854f41102a435daf7fba144e7cbbdcfe8a306e961729ee73397e0c77f2f4ffa2ef8f0d01a42955b87ab75c9b76dec9e421182914f4047057e3f27c797483753653afcdfff6e3eb15a55dd4ac3881f8b94df45076672a203c294787e119a9b1ecc4ddfdb328a8e7ac9b729409411fa30f3e914d8a849e0cbe2083fed7d0373eed0589c5b04063af2e6567b8b7a226e709ab46de57b68312e7b4fede6f6566844e0d19fd4c4bc211d696a06070692f1aaa79d4a3c6c3c1bd20e6de37005323c4fd139c19d9c0f16c0e61b61bf3879d2a74016a8e72b72a010a55df4d902a7e3b8f8d7094915b9a87506e196d01ddb6e6750869857544856b5d226186e02b968cd0d3fe84bd4a99f6cf1102bee9b29ae9b31c247df89721a2f4cad49bc585b4848bc2ef286c28b1bdb5a0c1031b22a8b6be458b2848272b0882721fe4a48377238e715be59c3bc7136212e16fa584ea265a964460c93456ef6553d0da5a969b9687da5ef4e2fa3425880719e2878af7ce62e1cc082037225a73bab06936610b92b3e392b7a26c2e532c8862e0a802ab90077eb82ee442d013b4236277951b150621800e18d8abe184737558d50a0f7fadb8a12b8bc6372079354253af094577153df168adb9fefa46ee19231846861161a676704a9b5722fa294a9daecc2d42459d820d2449c24ecc7bff983754ce7db170b1637913f72d0886b2caa5b25f62674848d1d7b0ea84616a4845263641a3e3026b197491e72df253a13ee0b06a205c293848fb43fb1136123a435af918d6ffc00f37a3fb7720db3f9677304d86f593d84b25fab963b79ba16a4074a3f1c7d66920e1f3a227200774742bb9c4284665501546bd1c70935f6e30b54ef6c5b9f5b88c9539a5e72bf2af45d6e0030f052bb2ed0688ec66b93a9424c6880d81d78053637f8fdee7221c3184d0b1d503aced74a3060f3eaa05161960573fb76eca154f69bb81ab972d3b68e48bd40acfc67fd2365efd85fd1987f3e7d40a87f296f5bbed198c5c37222a529d82e48e45f1f84a846166495a950c158ff8a24be7ca842c3f05c51a972390a958a10e85b0f1f55d5c85e4f7bf5b926b92e02747a1cba1906e8a8649245c044b5c75587c8841658f99366f15b1c55daa1cbbc1d5bfaafe644a21c1e89266e7fba46a72d102b95dc25592a94d12949a9cbe8c21d2b3fa2dc72447019fe3170d0db8a8439168447a4cb9b8b142751473c87a43ca648742847d50225b0612464b09be795d1fd47dcb9bf36394adcf5fb068bc9ddae44490ed39947d2f7b072965946f3db7cecd8b3c18ee3af804fd6c599db2909d7fe8618dcddf30f463e724c07570eb53cd4a6466a6e3802fd4e106e9fd04f1f3e5c94f511f712c250f172b939f6504694a408845d1143088951483585dba713b37854b0b88d58f21fcf7264cf631273e47a965fd5610997f5d153a6ad483ea030f062d10a2352a84788728b56052a67835e10162835c88f962d616994fa732e839ee43aafbd577cda884e221a9c3d1ac290011429816521a4c57e8aff68a5d9ac2a3d573d7c5cdabd9a68ea5bc0af2c86a1a3a756a8a0e073eedff70bc50111b2c7d7f729c5c03fc0a772a613d835bf9b8e7242495d70fee12375aa3aa1c9291b42214777c285c85ef572b51a091f2faecd2eb0d25e941552fd5477e62a2743644979a9a510793047ca7250f06532e616546c999069fba9051e701e4e33cc28d586f92ff56fc457c3124fd76bfa7840c6a7e973daa9a776e8137888e49a0130abf0e11005f0f41ae9044a14110b7fb6f9fa74ccce5a8b058f06f49447c4efe3d87d056ba15b6c09284d722c10e546d1683a3261c847e7bbd189614ece31c31ebbc5905292c0188ee21d72e364778ae0dde930b355404edc3eee9fce0e7de9082e9eb56c846948cb948902b26685faa4bf164fddecf40e5654f1c2ad20be0ad706469afc059e6af14b617279eb76363711ed5722dd0b3d3f669e218bfa5291d663d54c3a314264ec7b6472f1e8a76dde98ea05b40175b4b2e559a0fc3bc33631d2155b38d3b32338371b72ef6a5b9a16df5b990379c71acd1468348587fd19a87075f76890f38798050172e94f93e24d000b7510f64dbb67572dfd6f327f9513435ad71ccbc5e3870b5c66627e83538c727a2bc3d43d5fbe2e0374a3d2f24cc4a5122ebe2c7aa47b3e9672fea48c473af9de0de77a3e80ad30a3fd258f7d68781e27d6ba17bf9a4917ca6c3ce2859dd3e1eec4552db0e52d10097fee089bba408af3f97a0a884891ca4831a50e5becaae60327dd98758b9e239b8481a0dd703d01bea1e8ac742f8f49d41ceb5f3ac150d300cb79b1bee29f74e75a0b4061beca3152a5c6b4ef1047e1943893e2036c09071b281bb7f79b9e63a858fa0a839a8d25e88939e959875881af259789bd74d0955edfe7b93b303cf90adc9a6d7abed27da134bece350695d6ef722958bd60f87b3e6f99a8e8e915fe6224d3e901e7ec2b2719f888dc12153fe86dc54d5fb3332800c4b18353934664213e3f05ed4b4edc127a54fdf0cec1dbd15e05131f2d852dd6127b551e60514a0a830f51a3f8fee6113fbe4066b21be73d72a7d25f5fbf1a9cc225ef467880cd5e45c89aa07f77beb4d36ad343417b6b1114f60d09afcc429cc9a28988e8054781111e69dff9e2c247d77671b6dc38624f01704941db5a224c6b58933aa60e7a4e6a309a016a10bc509e10ef63eedd4dd0728479f5156e5f643fb9f8a91cdc63d2d8ea74c17f72fff68e2ee97b996f14990712603663e0505ea5e2534462fb3368e4695350ac2be2fe2a36fe3373a20ab36cafca07a1044c3e05c6504f5d55f1ea3af3fdd8b48bae01c505b16a2a8c1f0758397001dd253982968314e756d294975c8089e5889a021a8f3b14a9218b54ac72c806bbbed4d7f7b76e9ad5f1263338a09eec0a12e88eb9c55f824f56a9b33d723db547d2d417784e2d81501c3aa5e330f08b2de67bb6185399fa835869053c72a057369b6d9e1f8b95f5a59e5f421b5680de75a607be681d87a216b1a11bda72b7dd624adb1740b3619903f1175dd35b92a521ccd752f408d09d5a47904d4a28733616772c33f8b0709a386f69441084dae6f362fd1083872fd1e73db5c4f06f359b74b2ca066ab53fb11821c8162920c54696202a84b300c4653bdb333e327265a8b9d679c91ac9afd63f36c1c45ffc05cc95656c313d17a2527e01f41ff1145eacfba48aad50ec40a87174fa3601ecb808c7ccff4be2c2254b89f8ba8f5972907b9d63483f585ad1135350190f6962205ea7f86a98fa184da18f1da7ce687297a07d3135dd47b67f7e448a20441ec06ab5d4f95367df99b01436e646637e258cf25ffa0ee5bafb4605a3b5b3048beb5632423a73d408402b06e774c89485726d67bc70024429da4d077e3c2129aaf6f1493057647153f79d01e7766715c872f7ead32805dc873e4afb80e8b8a4b2a36b26010e20a7f7f2dff0a09e872f2672071fad942120d11b9e3aa79b0a9d9c82bcff9d0625d6563502869457581bfa0c6ab2a57cf538205bc267bcd794d71838b8b89945897e99f0bc701325e59f0d725af3538f81ba89f4ace8a1870982f5ead21ef63de1826b2c71c2154bf943b772649c99be9dabfba15169d887c21e0cdcb65134049925ad846654632c8f7c42502a788e75c44570b742ab52305fa89ceee1aeefb96eb3b4e21cdb4d8ebe19aa728287cefb65eff5decc04ece17517baa47002604588f82362ad3d40bc74e95872cfbf45726b3971984ba5896045514727b2387c2ae5c5a10e95b1d89b4ab0fd726490254b9435e092f604326c421b5e8a74a6b70283167289003db5afe610740189b60bb97bae197860d9c705e970d82d5fa2eae8795b516b10bdd877aaaa34729124686480db070435c7f30a59e21600fbf5a3d2e11400445d7ac7e6683a91722048265aef68123c0bac58ba152b2c5a831b94bf83dc31990beb294b3b107572d72b7d914f9ae1ab79fdd37a8827327f29bed19e72961394ba6da71de02c0a72c4c3f91400eae30784232f02d7dfb3be3d7aed8c1488f248e68a8526b4b56c72c5bf39b92080e7d8763ffebbf2c8917624e0133711ede3f6ec95bb07ccfbd772db07ab55e99fb6460d2e0394ac48e85aeb673726315c405c85edcc6415c273701cf0df95f56f01f0fb94cc6d6f031ef80f25f689cbca9682c168068220bc2a72f66f1dfbdfe56dc5c209ac470b653d7df36ca345edfbee37171427c39e1e8f70e92ecfd495713a6734102f4ef32e631017f7cbc0cee6cfa94a79f8528a9655721ddfcba49ebe168853c9edefe6dbc261bdcba4401d5f96df0027d85dbac523729fb1123d87caab9a86323e607fa09b0649a72c5904acda6ab32e5ef9dd7f837258288f7d8e299e4d660f583441fe8b01cc382e4ee76d5e41676bbce28de1a972b6021a392f50112dc158f5937576373436bbb373252fc776f6634f30aef6663c09c6adc5d4ac5cec37ece521352514c5ebfb9c49ac0e62dc84c7d0eef8da4372fdc4d37d08de6c364f81eb7a3a67763262c9dedccfe91720eda6900b1dd42357ab2d8cf9ad227eb5f98bbbf45ac72bfe0cab54889baa2590525c4d6624e57972cd05c810b56ff4d3216b3578a3a1832756e9a24172116a7656785c2c1b8828728e63f97672a5966e5ccf03d4d3ce60409a5a696a1b7c3a2b6122b06ff2350f05a88f6c32b95b6a4c90e24e837fa443995cf432f60b3d1ea0e6cd4ad0a6482772db0a7e1bfbb5e7304b37be133f866e07bec92c1426126b77662b87f757700464097b8abe67d7054b47823090be137494f73684b8092a1c4305a1c38781f4a072421be301d8f61614e52d95d71fe26f12024970889dce488530941202702e73724d17585ae69d1c6644cf6f2838442633d8d4461968bee1fcd300bad29b36637246f652e367bce476bc07409915cf7757e9dce4ab66d8e73890276f39a7095320e6cc80556d616bb24578eb41f4a26f208c918799e834e2373df2594c3a935a72ade8a987a80744b687effd7332f5e890b60d917f5015e00235e72f33cfa16a726ca94886695cdb241403811a32ac914392c0e4be1e92e6c2c22905b96e39e00c2ac7b9232a68229446b4881aafb8c42a9001339fe8d91fd399e158a1b4cfca1d319bbc27bf55d8979e1ee7d0687091ba0db6e56068c728da2bc1a9e609a49e5b38e4d4100d11519f72840052c4b9270d8efe2505c790d168a3b00ad253d2cb7250c751958e512264e29fd1b0b23d4749c97fdb40b726065dad966e64b61aed72005ac527be1e68b420b2c0ca8efdfe1c46a98dcea43e21fae50c06676b522d724169020370ca34d5a109a46a43d23cbe8715d6a6aa0cdec8c9fbd59aa7c6bc7206f8f5fbf2a4ad4196f98c1629b0fb1eae559d11a8eb592b6c77be841e412572bd704975cc9d708e32b2f9f4e3e500026a639da9f9a286ae289edab1b7a39272779300f812fa2da616574ce84b1c51523848611f3d7dd296580361a19b35cd721adb51ecc1601c7cdb0419ec4fc2d2df646edb6463ad34712556320e76d979724eb50e8c97b537c28df046d5afd287f883588ec2fa5dbdb1098b8caa50b6df728e99ec6849df49225852c0310c591200140b4948b8443c86724f1f151c8adf72b17e0dd6baf2d34cb1d5860537a0debe0249d4796e7a7a4ecf67878aa3b45a4c13cfd73f508c9302f8d9873eab4ec6bcd4bc980e05114ffe583b31668c61684df2a1aa8f4b16c52d036c054a11ff1035bb7728c6179720de0da7ca1d05e07810cccb41297d298e02a55bfd0e02068aa112d65a7a21049ce6fcea7b967b2fb737c1b742f9be398a7a5936fb5e84577dd97976cec871f1cc235a68606356105172857a44987f4ffb5db45564feac42dd064cdeee7bc174ddd032ba481eb99b5146150db0e74fc3293b1e669a7139c021c179db177a392470ab9c1c21c0ffa9a527d699fb4039399808c604d3f40a194dddfc126dccc5c2bc1a6e6d9277207b3272451726f4ad6a91423ea01748c269607c6fb82b28c79d428966083e7dcda1ac53708fee1ebcbb4c08e5b9bebd553300d9079b2279ce534c8282e8414055b40d728f8c747e84f5c1ce48e7ec5e587736dc38adc530385cb16c5986e21b22c0626d97f20c88b3548787fe01ca28bc6bc1edd8ce60c13a2f3eeffc1164e05a407472d6cdbe83ab35fbe8afef78f9353266669135ed6fe3440e8c5a89077b3d7fe0726e4842305b657a90bae8a9fcbc10fabd278bcc4d1bf8d51315e3594cb6ab9a72e9873ec2a446008882b96275b4a2a5c1de44c222d697b161eff0ecdc747f1d723aab94831d1b5effaa252460081be338eaf90ed14875c59c451f33b40ebf0864786446e2bc76488181a775b6a4ce38002614c8bbea764c32b6c16d0dbac0183b0a2bca80a852f16317bde4c1853e3268da5b1bd0b8570dafeb69dd5bac8c3b7277046641404f04f2390b7516bbbd787517fe53e7399490caae068f67cd7ae06f7e36a10d658be5bc38d0f10c94320ced4fc6100daf315120b1dd4402ede96840b16837b2078117c49790e3599185ec505abd557be92bc53ea4afc3754c3cf912482d116d7c89cb78a4be51bb558f360f6de8855a4a4204a476f53b22ea7c9011ea33601b9fe287d6c686dd4883a0b183f0486fdf76db6aec7032272411140e720e6373eff64ad0a2a334639f51b86427670210625d3b23fa3c368ee05d4a8972201c8a332cd327192d3e2324347ce4569e216b1f5a269423f77abe3486d7b072701b98e2fa84be9567fe8069941a445d17b906ba054d34164ed3435bdf521c72f10c7d310837ed88610bfd576b8c0f3c6f8b9befdadfe0373addd2c6289def13cd8d5f7f7dd3cde1d81aef1e1e4f3cdc6629d42edd538aa35827b443ceeed97253b0d567c1bff393de41c474ad0ab1a19a34a9fee6968663c79c33cc510fb54f67f2348c165977c9733bfd97aca30063fd637f2cf0172b93d39104c8e50f3e72b877f8ae3d0551564aea5db2af33212b8d50040c81a94adad8ff717d8d2f0b72078da973d351f0c41afe826d289ce0d6d91359bc735f6fb71d1555686b8e0c7222309cf0e222b4da3777b1f9ab6de30320173878e7057cd07a2799a43522ab655bd099fb52dbb473ad9f661adeabaedae092eeac417aed4004890b3e938e670b76100e5f575e1675aca8a336e384327bc18d587f5e022d0b5976385104ae8b72c368e085ac8aedd45f2d9e04332d4b4ba29c42573c033cfb398b8b0036f045722a0e6c9bd4f3392a0f358cc813841ac54aaba58bda47485bc175ac5c8ac92a37db44c7e1cf14097ce6a77ef620906f9a11ef2696ca0693175a3b945a844fdd72dbb43edb69aa95d88e6295470fffe802f89c6c1a75164c34e781e50821057c50360bd3adec5b2e1baeec6dc9379e2708d6d60eb11a8a385d3ba144a4fd24b10efd1603673de68bd3bfc9a0a82c16099fd9435cb2746424c409fbbafe2a023572db5d00c8c02be8373470be6d687113041d71238f9d9ad02404a241aac1fe1417cedc78898db6ef7a3a831a6522ec62269a5b186741f98504f41eb9258ee38772cf1cbccaa88983312728ce149a61dedaecb814277201abb92b60dd97d3e483721a92da431bb687503dc11a53f7c1686cdd84dc78003fc780e50f0b6b749070192fdada54fb6320158d777457d1d84ec15e6b652cee573bac20730e4d000c271cec0b5803523678c1435a3d679b216177b2142a2b7b2166242f08fa0e6af46072410c38a0e557e1f3038d0f5bff96aeb303ce30673583217306698ef0b784ee705abf98d3fb55db6b474697b39ab7cdcad12d113e298b1016d89fdf583c5776726b47c20f5bc3983ff5d014e4b429d8563fdde26397a9cd16420318f615483c72cb87e373a31591b42e0f11d779fda86f238a522e3af6d05faf68983e8428c3725e883a198cf888ce10fa61109772f73e0494dc973c7a1f2d86aa65b2600e2d72d5236a9764dff24f2c2dd0da7623a263ed34a46cd4110f5c4c3df2dd000f4272eb6cfeff1bfcb5c3c2683d556cc416036bd502511365016448a4aef40a8c3c72db6e646e143b2ba516b4c6a4c209ee047fe22f70e44efada64f85a8efbc54e64cdf7f2a16a0e75a55a394ac8438360f4f66f9ece819398039f619ba03247ba720ce9891227fd4bff5448268cbe88517ef1a8e2faf83a72c2fe9808272c279a25fd632313e84fb0d30460ccfafbd7460ecd7daac6ab521cb5ba0a449d33297e2c1aca9ca0db9f9ff31d3145aee21ab433ed9b8232e903de218408f01bcdd48c72f6dccac12642aab219ddae27865f7dd5f737909c643b11ac47c992d4b0459a72dd49723926f20b24a99ed6cf48894ca6e6ee650244b453414aa161fa7b60cb72250b384e8b26b05451bc7c1e1aafeffebb3b0ed4ae4fb3d48cd6ab4e456cfe72b96366aee2280ddbc21932adf1dc77a2dec25c515efb18e500d7d25d241d7572127b7ed51623267c226b012ba50ca4856f2ed85b38087cf9c5111ae45435a77256a3eceedb8b1153410adb6bcd238e0fed671f0b3b0e44700cb68ad75c68092937311e7b5b2cdd57ab934b8d1cdc43cff23fbf40dcf831563b29d0992dab6f20208608d96cb8c2d88d5bff6fc6ae6220d569d7ee47793548b328ed0de17b5d72c72e846cfc09e577318c57e04759dbd07027979a1d3f659f47df16657aad8b387e17336ed67961bc383d56f2451eeb59cf4b28e0779798c44391d18df8f6c8068cc0268286586f1e2217c2f024597fcdfc28276bd36c9ac3ff9d71fdfad2c372dc6907aea5302283f15c9d448fad4314397cd8a758eabcf81cf03c851a194c72ffe0ee08e25d6ca943b2a921f894552330c49c932254e874a92523770dea5272f95a2fd285174b9ca5ebf8eadf42e56d348babec198077c3242e8cfa794f90031107730e3c33f5f6fd182bedbf8301c97ecc82e02789220c8fc0009bdb899072552de7b7c204474ec26eff1360f5cfe8f0104a6c4c50088feeb829a864ea07510ebb3825d1f239c191f462a4d011d9653a04ea628c6af3fc68542cf806ba4e106556e08ced01a2c3dd6f9cd5b8e55eeaca90b064e215c472b7bf29c53d18b37277ce89462d9e052572cfa2fa16c8e8455b171d330e11b323d50f8efe33bacc2e5b9092eea2c4ed14ab6e21060a9e15f99fa970b55dc4d205250793dc0d57a152be435ea03792e3d25dc0d314ad871c78720104382ff7834036d952931d0e8c35b6af9f2c4d39dfe4f8279b7f4bba2905496eb06a9a53f9090d0305fed53d3668858fc20be33a091405bbfa62e8d765b1b93dbadea25643ac002a724995081d72570afd941c6ed3b3b524cc685eda59e81b7dfc0a8ad98bc6a5ca2dcedb3f047243073e36e051f90c3eada6fcfe27133867cf75882b77408648d87127c2320b50b2e9c76220088543ceb9ad119d3f0502a4b5d20a22c2dfe9cbafb8bb44cd82728986c33745cae52d4369777abf8127077de3fa7e06982b4101838da09fd5ca72dd7ac0bef8321f95e7fc107e7a237931b844c0baefa1020de7cfb475209cc45c41fb00c6144fcb0dd232c22902031572a04f32f437fc2ef46ff58cf961e498727138547e55d5c998e5a5fdc9b0b79fb3b7a58038caa5bb8410cf526a9fd8d72bc8542aeb7b54c84283a1d2909bdfe986bb8f990a6da13a4fb70dff1c6f46eb72a0912be6b6e621a5bf4aa63ce82a5a724086a3ec5087c8820de2b2992f3ac34af5f75fa7c09a79050bd75288b757ecdf2b90d79d708e74da8c3d43a3d98be572ecfde558f73722e3c9dd569012e5806a73ba9f2c12ad47b54062e2338336f872974c4bdd9b1d6e18f50c16596ca75bdb0664de6ab595e0f7e45e8193e7c6c8066956202a53a15aadfb6f848281a3730367b10011c8727a5efb99b187155c7072e972aff2a8cada63e47775c400520a5e7e94b17a32824a0569cb4f0ebeb98b72df5bbcb7dcc305300c72e84076a7666ec88c1d826d86eff8ac7e05224209c219e8c6249336fb8b4827afde2554dc4007e435afb214487176f22e909519cc86726bcf39b09bd15903afffe15c9cbca7837ae9a2f1cbd01a42eea80a4dfebd343b2e98e7d4938fb9371f3a091e2f4987f88bb3c49034ea98b57f42b672ee63ae72c729e6e5ca2086523c723500d9da2049fdf01be3edd4c6f3245e4ea0be41586c57b8d45880c0ba9aeb332ab05a69de2b12feadb8c7ce6300cd1903bf4ed08147f6d8a964b8d8059623eb121dbbd67312d9186d0c3a29df47178d9c1791b2511f182a5dca9a2a762fd171e90bf11bf0d81984bed0e145ffd29e0e80badca7d31555721642df12975ce5ade6cfe57af66cc3dbdddd66369bee44883ca8a0368c72fec1061d39ce1f6897da1e5325ee4b8d7d3478610efc0b07410f23edb624896134820fe0cde6e836984b5207edb7e79fcf10b0f457898f075f40744cd07e623d745f77691357ceb6618d956b684327ff2e68f57e3f9d4ccd0b47ae5018df1a727f238014d7e1bddab03469d9d38a13e0c17e383fe5d66f22eddc4fba8fc50372848277dd153cd639b98461c1ad61057c8393a563a0eeb74bec348b4c6f9c376ac75b1301b3d85174caf61612ac824db626b471ea5fdc08a74a4d3e182df3db1d6dfc10424b3ba6456a359e14cb46fc067fcddfea6780eac53c044081be459e72ad6065aaa7f124b813cfbcb937d68b305223a29bc3dbb340f180fdc1c2de375412fd6e1a614b5c97b23bb4356fc64efdc2ba0d92e8054dd1e9975914f2a64072f034f7b8ca810ccd95c19ee0e92d481d74d571e898557e08aef5839113ffa2606d8983be62e4b38932c1fbf6a51f66bf77f1c33aa7254328a7d2709842012b0a1b2dc5a37ee5e0396b94e191786875e053c05cb0ffee508c99da22a67f1a037215377eabb61382b77cb35fc50158e73197c81f54dc1c9e92f246113a511b677203d05e6124cf4a75af916e8f05bf327cbec0cc7485b129a0cc197eeedf63d672fe1ab530b5aedda5adf6060166257d11b2417dcbb11294b97b410d75782a8e72b75f05aa2843e09f99d362e4609859709be930f80809840d79eda943371b2a409492c150f66b30d8464108276ccaa4550f07fbfeada462123b29f611c39eb0721d9a2c0ff7150303d069e973433a2303f2fe8222b2a8c5bb390433360834824e063c55977d5f4b299ccb91d9f26d2c76454fbf67df4f1f46c5861f1ff51e78726f856b6e51c95765c2927bb4e9361d8c085f78a60d6a820f1d067cc08c9d8072aac6c7f538ee553af209b9b30ebf1b9c8993dbcf7c8e8f7cf60e34ea6d583f72db914df429caf35942f539a90a1d600067011bd87fd2d8b8a254fabef814a372dd41c6bea06d6283a76358487a44a24ec6d25f84cd7eefad46c56c4e54ea5f6afb833014438d6087a2fe6b0b0e1cfeef8c000b821c0f97d1a34c0b4d09322959d1737efd8ffd612284f6a937168055ba21c087ae2086dae6c48db0c8bb2da0722a82ce83d0750845d80e0bc5b8e2b2b6804483492727c0e7bb81a91d532e630de1adf04f13be6efa0648e12cfc81d0f822dcd6eded73217360c7ecb5f3903951cf122050266c75a94c07dd84c1f129a18f9794664313c5994524c6d0f76313729622430701259ba0c3505d8fb3cf49878cb240a72fe6e2af9aebc17cfff7f614c0b73ae1fc4d4a3728369cc865f3e41bebe32a04bb70f1c4aa2711488518c0724c569c2c61660b3152e9bb0932bcb1a62d4cdfbd5dde501a7c35045c5a34547240786fd42ea1939d28564357f967b4bd058255989a47afeb23efc7a81e54757294b11954ba836c3f2330ea9c4861eb25f0540f09b97339efebc43e66206eb73c068714eee28c5712c3d6feb7298af6a6a8e3113ccd7d3d1c243d13e8ca5903720999aaf8f902fe3d0fdaebfcb1bc339fa723facc7ba98d3b6f06486b2e0e9f72ee988dc71388dc40628d1859d8e87a53c4632b67700bfd930cfae648165bd67286c052b0237c88d7cf0a6b5c068c0093f2e298c59381b9e65ac47cc77ca2fd72888bd1808159a0beed1c33c2de25415223a5785f122cebe8e3b570e7e8ed43050b4726ad0c972acc83b67259d5512fae095d0abec7519a7cfc4fc3d6444d59655c0e27cabeb01c51b5ce45ac8e6b582cfb18327c8fcc97438da20124e184ea32609e07838dcb6acd615eceb1744c70d27e476a07f0cbe3e70684f8fc4d03507210994c5674263a88503090c7c04c6039bfd2ae64653e6b61a5faee4c6b7e6672a5badc19ea528f3de1168a6fca9ff27bc2165cb69fb4ae0b457fab6ac8350e72a3b565d655bc36d7c977f2787b7775ee82dee00f1b6fbd21117dd3e1284d1d72958ff8f9fdd4289db33e68daccd6a3c19e05d7e72eacc8088d9624c258ed8c721a7a63f4c07c06a9978b6f5c6f1affb2c7ea2e9daf95e03ab11aa6e23c358c729e1b56d81c5f51071e6f4a2a985db4ddfdb9c47086080001a0b9c746614b03728d1f3bba85d80d4cc4d587c61789936af67fff915958129ef50e40496c216147bcf613f6d89e53bd67a813c6f0cb9921e2ff1975c81dd8d9c5f8c16890e87672ad23c1c62b94e9515cfca3b9792a6eefbbb23fa3ce82c7c2219781f9575c882f7857eadab79527f8a3e05be75e2096e01d959cec1886910b927726bc5018cf72d9916136c842744210918c40e3709d9ec63caa7a16a2a95024e47a01a5f6da727da0ae58b61117e5d4e6217c23e8c36f0ddbc497159a499a7453261955d5ce728f10501769e03566c829f84853e3a772334aa5224cb6162c17e55e7638e1530ee1a02bce54f02a17525c1bc743953d602b5753e3dfa4c4336f808d508a1bad727334af70c8c2e350ea3ae38dd08354fbc1c618fee0d30bcd7f83d131ee1b01724128bb5edf3d6fd275b3e1b0ac1f1c102eb70d1a4452de5539d7212611796801bdd661f0224f2e4dfd6d67c438b69291bc3ddd77f2799ece9ee7fda9ce10f5729d3c7e2c11fa74236b49a3b0235f08847fab727378dc6b28011c09c30eee5105c5f30d326b2545093388aca35ab2b64274ab7bce1a6478435283b35552d4f928ed97d83778256111a3266133cfc3400f123d395dd2db8911ce7083d0e74cd6729799780fb7906341914f6ac6c9be0e450154352b347f0cda9b7c7eacaa87b144d9baabecfe66dceaf7ef472d62b37156f1e5c9b80b58009fe8a4e5e3191dcb727f97bde114d1730ce4966356312721336b2e0329b71ba586cc664bccf73008729086fde3a6d4c7646929edd4f1dfd98393667e8f4d5a73e6266264ae6ce40f66bb538baeff450221c7597ab5a92527506300f4c95cbbc90306c31e383bbdce492dd96497fa3a35c1879e7d9ccbdd7793946a81e639d8b337f38f02386f4c0941a911009a896507624faad0b62cec31ea09d4a48167cdfb0c4c2dac40d6af270587d5c524415e0c246b824214f0a8b14c02d1b269a4a23ee26a9446b4f9f68445923ece9adb03c4112e63f77e27743d19ebcee27b74a96badeff256c700b0954558f1a694cf660aed82a8f2ac57873795e5abd528491e40274e9c3997bbee2b33549ba59a0a01ce587d67cb7b4797fb42cb2e65f396ed2db9a7b05cc3996129724c1b94e3e0e8c59f8a9757f4e9613f145a3de7b5575f83644bdb52ef71ae2772f9d28d19da9a071e46a1166fa81620b6ea91bb6dec11c77d22676b04ea4cab2787c9dd3aafe12c5f788c5d8d2f45eeebe819757b47ca44312b19c28510a07a63d8c83bd59eaa0176544e909ed7ffb593fa0a8b812075b85818e66b718eec803da7e7b085d3a2f1aa6b3fee86368f4530763fc8a0c2b4429f18621aaa5d655f39bf15c01a76155dd86da2f7427f2a2e6c2d17de4ba28ba7220e8dab4f97debc726213b446a261564f6d508c7d5567549f144758f745e7f8320df8f13e1a501872b18f98c7111e91b90bc5d1f3d4e85ef408796e3620765fda7c4f65b5a9774215f6505d6fd77823c19652c03862e4b08bea5e14027990c97e5c008dbcb73a7550d9bb37063ec901946b67a79d67591b63cdeee67497a9e6b4d0bed65b508599723eb483ef804594cca7239f8f56761309d7ae309fa7832edc419c183fa95f6e72f345694899f20b6b705c24bc7047291f73bb74a33c0b9f4c7158d2416faa4e7239a027980be7096c313d7b469d9dc152022f69bb1ba4a1b654b758c390552867a9b2ceaa1436176f9fd01a9dea4093d20c4bc3bedc617ed02116ad78d58ed6722fe65b8819ccc75e459e288edc25bfb6b94b24a3361cea3ee74e72bec2227972989964137243a9e97de890738fddaef6018f70b5a17808fb889cd33c26995572fc0a313084e0cf9ae5a5cc152bdb7cb547803dd3fae036c9ffa835afefe040720f2659f6cf65e558d53a48eb17c3381a26dba3a67ccb2382ffd3e2b4b6236f26bd2d9340ae509be7164629b8befc68e3026bda165eaea914c8b8644c54d33d7209ab264bcbb3d87939230c24356d4f4bba20ea23d0415f4506669ef0aad45b72652493459cd7ac25268d8604cbf7ef686ab427da44c1d1a02e8f839aab2c2448868a8a6d3a228c5cc590f2eb658f5cee9cce4ddf1519f6c182cd7780dad91d13d42fb9d9a1966be7f6812ff66ae29f1b3ec562a12d5390c2fbe2adb5d2ce2572944325b2a6b3ed481140cbf5ef21de91166890f0e522482685dbb2616562f96608583dbcf1793ecb92d32bb31f82c80afa999f680be6ff6d3903541091fd1372268100419de8b4d2635cc6332577d9479d9d7e9f952f49fa3101632ffb5aac729a44166a34b5f837b7bd54a34d0b04c323f161bb44f8515ae5ba20ce636ddd372d14f81813126994e0e1ebfc897a608f19e7e7536a392b2e63c367f0197b4006bb373d483635316dc3cc8fa025e7691e2fd655afeec25ebcd4ec12dfa57d7f729fa77c94f08a32fe36fb64552fe8ab0b63130d56780b4587338b09f395fd9f722008105449c07db59d096a7cc81eb995735e35749253893738a7d9351aa399486cb4732d7f5db23303d0b787b2ed2c94a24bba8ed4c42461e8ca3884033fbb723bb956a87b52d5c021c769fd8e0410b83b4cd5e2dca3748f4e4efdcf465e0c72918d32cc946d406d0d400c0b00b7d2f9b01eb728be14263d34c562ac1a2171724ae58450916d5a38901e195c8c7a7489ed9f2cb6fbb9424e98d12e729b98f3727e1893e80c0092ceef5bea80f1bfae155fba824a35d067d0c9391c736b06d71d518d77757a986edde511572f677ed84538536f352631d65442d2ce86ff64d66c955de35885017ee2266b34b624757ac3b2dbb51b5df4eddd67a437c573804c7232064cefed6654cdb87d28a5702ce3043d83c645a1b8c96624a29ae2a6a8007223449b8a8784910d2339eb6d0a53bdc2cf41a94548fd754a86508b9446ab8c729ab0d691c7cc5f8c369d30a5d8112fc961019143223c6e41fa4cc0d6952ef707315d2e59db77eb835cac5fef0aa9568259d8a0eeba4503d00a62e6d6275f9172a8de1f2f5292ecaf2eb9af83f687b0d25a07f938a7918cf79bd65706a16b4460488f657dd4afcaa8d43e421242c86ff19274bdfa37f8df842910a47996124e7214aff2bef201eedb297d9a3f0c77d934655c11124778c4c679a930c52892856399fee643c9124e9c0f45a931277fdfedb394a7c51f5e38ddb356b632924ba8721408a9ee25504c8a767a19aa520c82d1d5d032192f63d63145925c188084d172062af963e5afd912fca5c8b87f6aabbe483dfa1f55b3782a679cdd12533670381d4debe96b8ea85a17273d2423057392ef805529473a15e4b073d5adab47ae7232cd57bc212d8b786b97c8e1f9d23bb0359a316a144038bda0446b765f6518723fd468292342cc417583ecebd510836f90277c033d6400d2dde08d40b5b581725953fc072c6a01abcd06394098743e82f72f44ae51c99a12cfdbe0376b801a72003ae7e71f67c920ea7d14f790c165fa9f54c90e97e6716a0b6edcc8f3078730d4193766484ad1608e7509787ff8892aa6378a41065ebce4278388589c98c572064df5b0cd9221fc6f6ab5cba90bb6e052339e6bc36015b5a720430e2d072e28dd5eaefb4501f52905dd48a4a7e7f00551572b4c33d3f7116229b90c70e37e7243640c75b03a1763f44c68fe16bfd9748a520fe4c1ac2d0fd3642eef6d58df6522506abad470a1f266ea77c777734b738604068fc230fbf8ce97e703ecb2de428f60ead418686f81112fd43f7c9faabeb43fec17fc6f75d042a0f5f55bf12e1f45e67d57941438ef34a07be35f261a258d71e1973a68942515502e89e6a87d22dded84a5df6e2705b6a83a7f4400ef7fe1a68210d9c9d8abc411650232874e72190971d300ab489a56ad6d4c5a459d665e21289506a4d06efad72e2886a37272ea7b2c8dea021ffc807b218a6a0a90d3e905d5d750c6da22cb3ffb973ee03972e61a110ef86cef73601db190831f095e62031ff76cc294f07a924440a059c872521e92592fbb8830c98f253da9084e3c6b427ed41bc4fe528de1bd2e3210a472a67f9ea087bfa6265e7b66657795cbf16d71d2b7ba341cc801777dcf84d76c6781e3a249d69b1aad135158eb88610338d195180aee490af905ce57bd3984871513ccdd5be4a679a0465db01f8f5ec1e7e3fa86c0c6ddcd16a12a60ad53cbbd72fee233b9cb813b8396971873e068e99c6b844d0b74509daf59fb51ce85dc1e34331a2c9754927233305860d010a6621da01434efa19074a43e1197abfe7d9240415f42e16a26ab6be6d57da3ad62e092b9684841e2f9a60c101f1a48513cf61668171f6f1d0fda4835831e83c5ce3daff17c6012abd3ba180feb518092aee228288729d87c544f4812036b0b1b9d53a0302fe295b6ba633505ec4b25ae0eb4728bd657edc83234b0a38734847af0134581f2042aa41ba845575f2a83286e9c14c4b9d65bdada6651ce7919ec4261119983b25208e6bfa9d335d1c7f1c3dbc072ed23867bc79b27847af649ef8b99530355f76b682e76668bb25fcb2897572072252cc149946b2c1a921ffdef9cc645a095858daebb179071f66482943413a0720886c5dc58abc4e61f4284708c42af94854a16bf06026c55f38d7577513c4972d893ca656a94dd393bcdcd86d5bce2e58261d8e2c4b447c8d27ba2e00316435cbe2035299ef5b788559380182142da8004a46ca77c7c576c73d88b6b6ad42d7279d760bc38546adf404719f1d23f0b786e537475ee431364fb75b3d81f3266475145028831c1aceeb0df186396bcd563476f804de8369afdb1771eabeb4dd80f79e8edc6dbf30007d15bca7d576c4f25b570f8052d0ae1599bfb1d3b8c90ad72d16270907169fe0a5ab594b54c136a66dec3e9e2fa58e5924427f7ede671fa2deff392ea130562b00f2807c787a5b4ac5a392d4b5703166623e3f745ce6124650b9679bc3e4dde15f306d1256798bf0bc9a3ee3346cdb51dd3e309fd8ad4d4286dd28c07f25a160289da7b9eca8ba15c0f144472ad4da0b5284f5847bf8353722071322ccddc52f1b180e081eba0337419a0570a18df12669c5bf83a32490372c9542492a04dbcb2eda2ecf86a45e757944a2877733493a153014aae7703b872913df913fbfd2918856fadd0a60f03760d38acf1161ece88466dd6f036fe247230e616fa964c7ada44bff16dc4420598482ebd3c7b058dfaaa42760eee1044355b4b95480206da143dbd9b2d1409879388c8f6668bdf92e73ee6d674d249534869b90b6e492adc2cbdf61675a0b820496d76a034c5737666c3b6aca2b41a80721f4a1d526dfcce8b16097ad640ec7a67511f6fed64e70f417ca767c0a909d46aa83bb69baf9d09f47efd28da065fdf33840031a030578dbff05372bf0e6f283a6d147989b682457bbd1522ad26b2a834a7b3c09e6cd0262649a7379d0b352472ed851deb835b6ab7c73396e756d4d424a6b807243f9f71af46aa677fd3c39972a7a74e94401ac0407723e92583c1c899b7416ea4f99fe68d393edb1fa644917290f9459f73a0ce80588cc1222fab84d2bfc8c4c297ac38c6b728e895fe2afe440265230908eaf1b01601b2781ead7b31030d5318b87e53df9e42b9db459b0672ad876ee7c27adc976f5cd0c9ff17912dfdce78d21ae1fc9f02516d12c8110b72f568a5c01d7898433430312b9a7ab2adbb55d6d2e13b005a6d17ff0d7bd9e05b7dbea030e916bc1ee11d5e15d5140b0804e0631f254c938a9386ae5d9b414d1ac0fe124d6fa79093495606c769d9cde7cc975e7adb99a052c617356ef0f7b3336a63105ac3eda8b82f27a853b9e63652ac9dd8ca85a1c7aaad85962d7c6be572ffcb6a98d2e75ba613ed48ad1fa32f920ecd7a9fb25715196da097295842e9723545b85563cd55ebbc4e355a098162ea4305b5a4f0d7e29b5e8ac0bbd598a4308f6588e3b2ad3bc9ff5493a17ab8b7463fd9babad1f8b4ffd7a46335bbb2c772a22fb41dc28c00125b6f7d7608d3b9cefb26a179046e077f2a9016eb22e361726617c908b082edb893d635eaf8746b58da07c98d7326ff18433850bffdd6c072c102386ecf61409582b13d4db09de3990abe5837c56de7f4d1e6e46c83f90572885c87d434b93d553c5b9cf7479f4b81649ab26255c6e3446466ef1be0437072dc4a7fa83c163724c04a94155f24974b2684555f90246d58671549976e996272fe8d973d95d2869461e4485dc94bdab22b454b4d5aa838b3942030514c77fc722d12dc35e5e6a1aeb6e3af61e9530aa60a12d64ac1d849e064b1a1da397632728879f2290b60cb9a311230dc775c7636f830e4616462fe1980d4a285909e5a6a6307d2337d4abce4bdd122e7eaff404383285337d5c44b9d0904204bb83d7672a67b03e9cc5491de920db39c9d8fb8ad733f16094bbb3c25e685cbd4a629372f8323055fcd06cc35fa8c6b0315576b17f6b1c27942865d0c08ef8e599d2a135073a2a1105520e5a4b043682cac0c156e8ee53c0a038a9c6776fcefdbd7471772ee17fd807d12cba5725574681a10bcea1ab85b23a13eab57ba9024d8a6027f2162c0f1741115640b993bb5b98b5a46bb9e3d694018c25d3e7c26e2d2b4c9c8729f4b68d44c8001d4978fdf6243ed404d0e0fafd5aec0fa5fa0625830ac300c10df66d3a0a2df418753d011f51261062641b2cb366b570c4996600db8d092b372d942fc35cd41c428fd6fdb3a4e58780cb84d24cec251345745e37408d3f3a666913b991f6d556550353f6ae9e21e69fcce298dd8864b95bf0c3caa03ec69697242f4ea0db58a8ef33ea27dac48e9e68f9a5757ca8cfc3b3aea85df8757735a688b15ecbd901ea9721616f5fcd99e4c51d9e2c4c4e7e9b66633fcfb7333cdd7725cccf391f05424e661dd3e8c781d5cffca991857c6cd07d473dddeeb471f7204f44d54d4bbd6ac2236e99308c2a2d684aa03d3dc530edcce411dbc63d8331f728581a3d03ab32ab30c4391123a7282fd160588f750e0a6725a84f7f528def911f528b0cbbc74248c2ff95c060064f8e80d4a486b8562347039d7b99c113477644c4f12120bcd3c01ece26850ec481b62fb71a45b065df52f39d9ee6127f6243ab0dd7ed49ee55f0a8eb31cb150a2d4711f7aee18e401a73c9ad0cb8e35053e72fc09cb22575d42a4dca0ef414323947629cd9c3587378d1657531f3dc9862672065c11196c27685be5da4b801020fe750a8a69ea26e0b03298052aa619fe8d55bf82ace7f066f2942e4d019fd90901706ab5984f0de04620ac4f7bfcaf27305d6bd4f5f7471e16abddd91ad0836fc04e3fee74345ef1098dd0fe3359308d076bda51d5a7ef67d8a30705ddbf3a70b0e52b8deba58621cc78836e192450599772bcf199ac682fc8176ff6810bf8d9b20a3e2d1fc3d938aaa53a070eebf23767075bc23df4fc16e71b77c878c896a63ac4bda0d784641d8777c2957796d775ce300c207dac6e2722665a3922681bc943cbf66632341a8d8c9edab7fb67a8064e46fd6b0c319342cb05778fa6320013b650f927d8a719e8ef1f4aeb6514f1761a525c7f10dc556573325dcccd25bfa8ca6ff7f446ea3ddce6118fad011876e2303f07b40fb50a4e50a0ba7ca4b12301158a1fcafbd3d414f386fdcbf8659d2e2b4c477d9d5ce5f43e838074a8c59a7202fe6ee8054fabad9530fc48546067e8b562fe42163b68ace46fb5ace124f7ec7f6443afa2969e90e842e455fee164662b528940578a38f4b8544ab854b9f5a1bbcfac2ec730a723faa5bbc2d62feab1c223065d3c8189afa5d0131f531ff103cb02e125d155ee95a56718b361a5e365694b6245040cc07b80195a25e43ffc6433eb91dc2dac34aebef8d3b3218795ec10724aec0f04b933c6dadf26873de5d420ce9cc732fb57112475a950e62df6af797224e43961c86e4f1cf6d1e225f22f71c98185a08615b424047499f83081bf1344d26faed1c62c74672432ddc6e5aac7c9e4f0caf2882bd9f032c1ab80354d0644d2e82797f3f7927b29377b72fc85cfe2ef1aed60025a09834b3b22f3b5eeb672a8d074944cf2908235786e1402943b78e8e8100325e0fb6fe9c64648f36edf6ae750057370e10fc27012e7484d777880a3c5b06d84ae76d264e7206783832d30881ac00fa2b3d65a65c8b5e05ea14b560cba48a94ed90996bd110eae1f3fb172ebe5a5e52af193a9d1a26cf0e4fc1fb2c689d0da1d8f72f992708492663981720998fd6f34a67ce80ab99a47dd05cde4285fd14d6fea701a6141c948c4f3460be9f5cec8dd3e3227e8b2870662f35289e87c43fa33b6225f3184d63a44730c3b285019753ce6d084e369be62f0bfcb8afa1c20c14af49d565e6c0202b36c524e623f0b619a571471143e8d1619016e39db0fe8a0955ce828f6478559684731725240028ed3c443d59f79f6e0a0e78b399381d9c4632f5fcafc7496b49d42722be41d189af2754db5aab5dcb1423af44055b023869eb9fe958b827dbcb95c103caf6711cd3a6b47817b039289dfb76cbd8a71d583d391d4fd918f2bcebd2c15720111e4da7212d49277c27f34e231ad1b5d01146f4eaca8bc6a24f4cd4509201760d7d9adf80e1b2cc5bac0ce86ca2f1586007018e172904e0ee9bfb172cc8f728a206a0af66f9dd246f74915a1eb4c40ce828812e8a1f76f10986412cc13b272fc36bf6eac83723918d33fcdd090b55aa87a94b472b186aa0b0ce49cb95c7172f6b4ff3163f73075c758185e4d48e124160f2b55fdcd42747279a8d59f3dab38527bb12017d09c44cd645c7676a0107a5e745d89a174d9146bee529523c68672c9c36b5d29f7154a25a4475f9f6533e71d4394accac334d1b853f25cdba852724ac45f6e6b2e51859aa9588b1221c14d484c452189c608739b80d0e984d6d87239e96b4b8b0e5c25c14ac6a8c7ee66a89143470d509b744157e862ee7ed03c714e3a431e253ec0935d0c0673f23100bdff267d53ff7784f401beb3e6585ef7725b3e3795a14feb8defeacbd04cb27a218ff62da76d34dcd3b732c1ff8873907221c7f98338f80fb44dada2d0ce94fa3f0fce74329b7c8d47f57943674f17dc4e085a5118515e29fb89397b579d452d32ceed6e640f29a150c5cad5bafeb27972a24ef07a6ac3c587042a7fdc973fea49d49f9880935074174285deef7ebd3f72ce5c23c36951686956f20fb6bc05035030e0ef20a46c8dff3c05d07ea1fc215e7a1be7d850a3e21a9eb4305fd3edb7ca4550ef81c5589414453fa33854527f724c985b6ae49d728065cd3a3c8f9af83af219e1b220d2595dd4a25cbf1fd91b726c37d44277726f6bfcf964bfc2580bb0868ba0df869f9a6525f2b3dcd1a26e482930154d0bed8749aed6249b77628bf7898c71694a43f7e1625c2dd4eb0e775e3e5c64f6b7e9b8d51a1a53e8c7d43b65ad028b9ce51f41330e9c68cbdbf86f21f5e7962699ffdb231795e62c5872ddfdfdc524d36a13f4d43902efbb84a4194db186b3bc3725204f626cec6f19abe8a3b76c3864a06636acdb7503c4706ebc72ad0f87e5034b7ab1fd5893762337300fdc6f23a50e01493ebbd13f6e176d80453dd22d340ac14953e49c969ff9b0405d1787f695bcbc2852d788137cae41a8723f2c3fabacbc4abb004a10fea36a6253da0eb64fafc5ebcfc18c7281f53bb3722abd36eaab4a55428cdb60a649e6ea467b5534429b0a4458ab626cfbb4a93c7206dcc8d27eb40562bf3cd261e5a05c0cd74d1318c102d166ca37e733297bb472666dffb083f726f43562d775ae70292ff71b8e008e57b979fae73f19f10cc472d63cc22c29f2571eb9a6bbe9eb84efaee1244536d73df5e87e809692bda47172e418ef0b5a5ff4fa5f4aac7fc5124b9f1b826c71935d585ad8b87f0add802c720ac7615ba185561b089489160021a8c68664bed3f2e541dd96554a6bd46d8872c17635dd117d461ab0c36946567dee210a043475bc0d9696a2a268f94bd31172cb46dbfbff4a635f57811dc8d72a47d1cc1c8c8cabf7f7ce362737878a5889723de4d1dc5d2ff1e9da439f691803df04703283aac2cfb8dcb7e674f9272d0c0d100b05eba4bdf7898edf59e7e132b0a30f1ba5cc8984050a5ceef7faf5198b725403e240499dafccd7046fdc43379ebd69fd61c378a02c059dd2c799ce3f21640017ad8d1fac0e1afae5a1d6ee721094ee2c6744d50714db6cbc0390a0c56c72dddce70b26a4d128a361a503187f325f25a7bba50a0a0f1e16c3b94b82648272ad7590e26691af323477a4de55f017469d38ea79e9d8f0955c4d25263c98a5036d7c94c92466eb449aa6ab8d93222450632a2616394dda3a68aee117a5abe75478b88a82ab9cc037543b523cb63db0ceac451c90913dff5f392ec455d7ffef72b37e2ab4427a901c6d98d1e4d6a7072ba3b80592bc8814f1f42d132f87d92972439eda53605c85ef0d6ce523193fc3c2c17a107e48df69b2942f77f0ab3bf54108e45c9a404b3bb329dfc2e2506c29a70b68358c55b7dc03aed6e9132575cb72cf8fdfdf68d2fae1a9261c08fe59846a7af91bb4446d427eceabdd0c7963362603703ec29af0ec159c0c4aec198b4d26a994a28601be112fd9e9cb20dfa2cf173c72367164e67c09a16e016713a350e559f696475e661c16ed3bdbbcee2f3d72dff65ce0611674a3d894cdbcc11028c438a63591e3ed88eccc4a98b33f956d72354270d5a75f61f9de5d66caf4d280d585ca4e8e67a5f3bc720a3e3254fe2c53940bde41a87b5d09f76fffb3e120862cfe99e5636246a48867bd16a57a3ed472546fade829d9b08a5c62fbb87c7bd7e0ff31e0bc1231b137cc2e8e795c5301722f43dca09e82a6df4360c8557e4ebd36e80a711c41382e7a9362cee49fac2b727bc959c56f4104884473581286cea40502d0a6cff0980ea6843c707475aaeb7271e9b99526dde3aec7f628ec48fd33170da63922ab746e18648a22e37ea1a46f2b8cc110003e991a6d557cd4af6ec27a0d7bcc034a112dcae2e0f4dc51cf6e72576f4653edd7202f6fba103e32fdd9c9cdbce13b1439743132f0c4c1d28eca72f91cfbbdf3c43068102d280321034f876ff135690a62bfd38d231839c8449472de82410adf59cd293d2279f32e0686a90c1a26fd8612e5159f530e3dd35165245d0229ed3401b38dd818521da375dcc6295dc4875748a82f2cab3f8cada53403cf835c2ad52512d527463a6667743fc70c5cb43db98cdf123b72d6fe294c927236e124ac06f8157c4baf5ab009be13a93dc9ab8fcbe3346269dd21cbbc8e614220b468bf8c2dcab35f94b4f035e675b079eae83d2774f6fb08b7d0deb948c63927447ba50125431151d304a03de33717e55d5a2dce5f7298621dab05467d137290c70385b40af879b6479b8efccf16fbbc08d16138790ea7661a79413a00587296c0a468c1f5d5d26797f2b986dfb5e01cc42b3a0b40a3431e61d325b3cf9372d8e9483333e229da259d96215286f10f00220f092f80df59c7fe80877d57b1228fda9415d97ff92a28288be42aa6a9519b62b6004fa010583764c3291ab36134e4081f7b2723fb6082735bcf10dbaa9fa461174051ca9a3bf8085c339283147245ff382789e291e4c32c4b7042682b3dc26e9d8789f126ce9cb4e06ebff89672f6ce71df5dcb5cc1d8ba4bc4f2c884fc2eacfed7599d86e284bfeca9afb8e600a9f6dfbff6abeba91dab017b657a94ad3e852ee83c0274f9ac7f43cdda1ed772ad8229491209c18cad88192d87e0fc3d0b6dffc8a513b0e4f64873a93ec0dd19e98a7f8c31c76151a183e80ebb4cd547a1bddecf7cef10f68bb0f4f098e490727841630ffd483314fd7549dd3679b1c68b3ef7a4199b19f33a8e05d2a7e99a303ec9606a3200e9dff8430869ce6e8ba32fa75cb201355c9f296c3e812fabba70767a4c3ca4c6d2d535bc2ae2efeb5ff92dd0e67b21048228ecb101b8f6c8ca7260f81196a32220704060cbdadb91d9c5f89e1efd90d15516b5e815dee3c580724040c6897a6816399c7a39c8ae82b5dffb6536ce5fcd49f264d420162b21012aa3b3e869b87ba42a72ecaacf7f1c27d754fb2c988d0fcef1c14788e454339a7270cba9520588e8b7bcb98b11d41c4ce251ba16d728626b2c1c535d877304ec08a8476937d36c3c4bd533bbfb928fa6f7d587811fa996a3e7bac615820b47ec7264bf2e1fd5609752481093b9f5b3b55b39974c310430af5b2b3362db7998f9202e8f8653eaed9f9970b8c2571db974d3ae1cc955d455b2e7f655401def76ab72df6991d4bc418421984307800b11769a14d9593e22c465cb24ce372661f6617231b12f1086ac45813fd17d81c77a1b41c08922bee2b0e5bd89b49ba79b82a90782694b0a80f61f93d6ad20629165c72baac2d79a59b81f0ce4228ac16e53b63b5422ecbf1bafac7225587b15f7bfd7eabd062f95c6d19c572a7da4a43410c3729b5dda9a044f2b66391276c5c83cc2dba0549ade615a6705200ebf469769044b4f56f495882ba0445928cf5d0b9022cdbc4b8f63d549e6c9f37a860ca35dc972ab4674229236a15e5644cd82c5a1238d588ef9fdd0ba154d0381d18df4117372c71604f3af6fa41f002b3578c90ccf72570a1d58cd77eac7b5925ce5839a321e9ab3404005d9bbb6fdc42d7fc215e7f8902b552a6eff60906624f76caeaefa7231bde416e5003a4d361081e03b779fd605a4b1f41a0f1d83af1622bab8023772644a80baa1f71a6bc41127384a5b04e069f1b681e9872a21da3b9c60f7751172c09fb5b97e2cc89620a01a0101259f4499545eece5fe0d908323c3245728bc72ae683b0c23b6defdfbacf69e1b97c62b5bb6a1618efafb276e79bf783ecdcd7232c674237c6e3f6a8f0f049bd06674db7277fd787a522902d746882699b86072fc38ca759f4ab40f1df6946d22536a29ac0bea3b5e407965c09175b13e691818950b6842b17e14a3ba80f44ae57508de8064c14402d7223e761c2a7bbfc87272c959c7f316e042b3bb331402d52039cf8f2769428f7900b1612b37f70ef955254e72781b3db0bfd87ba044bf29db170e5f8b9dd010440934dca518da96c059727e50422d467707fc2ff223ef62eaf266cc79c2b8be6dfe3d066a3e702f599c151816fce97b094cfbe13e0fcb72f5e7a83e2a2c7328edfdea7f060e59ba101572ad5802e058549ae49ed02a309fe74c2cfe095c41299056675a7220cc7ef075722b7a40ce9e77bd361088dc6143e1208097dd0965905466e9cdcaa00ee68e0572b42843b9b8748cb0976029535bb9b91669db531ebf41929836b2f2c65fd81f7238b9b34ed3fe06d9262858448242759f2b366540d67698c67f6bb55e5878d7614776f78631ef81167e2a11507c77184af602999e0bff01e1cc750e5c6437e872d916ebfc4007520d89d11afaed4a218ae6c276158636f5d261189be1adec9a72bc6ee3d37896f48f3b80c2a3a514dd290b259442a036d182100f6532da0100724541464fb1e8cb6b5622a01c10378df01e1085d8b73a2fca63b7304c6cd7621ce0c9cecca77e3e0d545861d87c7c0f35bcf484bb0aa9cfd5cebd80271e6c4372bd8c37034c6af02cd1e83d34a112d998cb924fada0fb9c41aed4aa5d3b9c3072709fec97d24a140989aa4082a3abaa005f33ec43fb52b7992e3e629148f4932e0b1a2fb27da4d8a63913d7d6b705f4be4352f78becebcadb08ddb3ba840fe8724e44ff56aca9a5c2ded4b6a75307bfeab061eaeec32391ce3bf310121edd84724a14e49c60d195d3079d251c7476513f3eaf53af229e3a5e4cd8d03684a4e91ef45ebf967666c82310704a37f66c517116580dbf6e37fd650c2d10549d604d7255da4c70391988a2911d0f9a3ed0bbf06bba6cc807946c1d4027b0de022416722d505f9ab89a6ee1ea1eb4c2d6ec57d888bd1743adfcf059b63ba3896e716372447fad8a0cff8c53c155f5668d8434fa1c40a405486efa5e9c503526c66d65726e79662a69f4846e76c6a243467515afc9fc7a3d7274ed7922e0422ed3a220652687576ebaacecc89d29186db01edefd55055bcc4be49bb43175f784226b9d45b298b9e42080a0c7008358ea658028c3f46c1bf9e10a99391eaaae6c8a957e72e080b6a0949de450508785fe60aa5fd2a9404bb7254451e3024e6c80429ed32381c35f439c25764cc9190ef7e06765f304cc353970eff74d627f561b8539bd7208f5e7d7be8fec26d602364e474241a7444f14145cd3f8f95115ccdf3a814372d869b62de75ef6c8ee039423c7a690a0482290a6f8a5ddfd3b63a751e34ba91e83859c21c36c58746073eb65d732a31cad859654d6c2cc1551acf605dcab1c72100d639615a8205f6e7d03b3adddd15a72e32e22552a33638b23ac8e0b33ae72bb5d98ed5101c692dd9903a69a02d6993a8a08c488be8d55bfdee6c7492c0f5c695ba5f0ef9c4859373aba8355dcef1c929ba42951aa87886a7cfb79dc8f367289c92f4094f86910ab4d6602239341c924bbe1a28836f9656e5b01fbc2b18172cca1a293fdfe96008551a0ae5e205aa0bb555caaa4871a16434f033b82c5cb72bd2f3e8ee489dcd4ac20410fed8fddb3a23b7c893551e1e4e9a59408255f3572405f6274293ed8b60d0c2a500f873e85fd9cd5f76308e5a73a1189283c5dcf72a0c267ff9c9f2bf8499e4ed349b1c8872d665334f8b60fe75cde98d1f29d8f06d1e4fd4a24af574111de02609365d5f0a7e90737213493c191bea81ae2331f724aef82473fef1cb6ec1b8a022676744a8298c6f352f2111acde7e0ca7a553742cf1de95260eca2a4c81f3e0e40eb9268f2bc1bbca7f53e488bc985e1f722ef7243eda213d2ade5a9f8a46f0d5143f72eea532d95fd7846092ea53e6bd2ecbb72dda691a9c495725effdea6b07ed395baae002de5a6b01321d36926d2fac96a7277222fe9bcae0abc8a3629bba33a5e74ccfa31f507e4270b8cef7fade4b4a94947012a0b7bfe55a0a1ac83666d96ddf0f615c5a57aa7113c9ba42807f93da77222da92df2c03e559c2bbdba997a389bbaeb93185c919c477ad7fc5f4231b9872e04c9f9b3b072b389913bffb78a14204c978a715befc401029f991bbed0a672bad7a9647dd9dd31ac40282e7f8fca76a4e0e27423c30dfcd607138c039dd9e720fdaef30e0ba10585a77ae92ccc1f5ae54d1ce81da109f56d3dc1ab138cc962856dc76df83c1d4582d972f1412ac0fbc409df2ed238efdd2e8daa6d28eb0b9688b730c25bf391ada71f9e4d423cf65b63ce4174f3a6e4a67a7ea71e8ce5b28100c26e0c7246e6527314406b11208dcc125aa937f2ee7bae224b50ce967e81d3ede4afa9f6a46738337b969bb374f9ed1e48146bad6b854f67dc6f3c293b5826559fd2c8db27c135e1ce736697a4882c0b6a65edd364329d538e37add695e930c17735a0dd11357c423af0b398277ef59e9a6bf78f9af3481c0e6efb2ae17027204d50c6925a4510f2b4aec891dba0dfdc05b37964535bd3de64a3873bdc5cd15b12359329e340a2e4baeb1fbbd4022f54d42910c77623b4932dfcc887a32f17204ca7990bc8906c51ac25e42193efc7df3fbec7d9789354320c2753d84a435721488697b35e39eb604bacdcab3f4e36f2dce86435f39fdba90c53247c0017872d0243309d96f8197a0dd30f2747aea57125cac11c2dbdb717d4210b1a5d44f0b2f403222fb812aec289cddbc1c943ee4c96bf9ba7f1b6d80beb06897b061f2005907c2b59b58be2f00de6d9fd7c956dc8b81695ad9eb86222f88aa97bd411a72424a06eb327bc95a1a328d0e191437c70e413cc904d11f583ce6938a547d28389e8b1540b973fdc85749db87824ed32e7c9b76de8c38725767b93422c5cd28722498e4676dc7fb0ac76f13a34786c13369df02ca9eb7d5170043ba4391fee211cea2ddcb135dd420453306a8a13a70644c62d48cb1f3cdabfe6f98a63ea944720c3888ca322731a5db8427d691b987c3bc3ff6ae74c9794b9fd7f7bab52d70723f58913dd37ab80566fbdb5555b6906c34d50bc073e561a8e54da9dcbb5eb2727521bb0009f1c9a2d116cbc006cec73adf8accb5f3e957e48daa399497baa172f0aab43f1d44a39ba3a69ecfc6c65e35f2246257ccdc52dfccecb38db12ce5729ed85962138be556f9e85dbab947e8b98a94fe38ed486f3b5254f8e1e8177f72a7e0dab5bb760e58d7ede33558b33732cda0b8e11536207b999e34c91959a97252cbd38134ebb45a8ed1e9e56ddec15fcddc5672ae404cd0c8e11c8514a9e64d03741e61272282367f24b4b296eecccaad189ba078182f9b0c872b30255d4872c78e36a2d54bfbb5b6debd263a2b6fcda396e0e98748c6c1003d28ca1a51f572072afea55413519e7414c36a67e38305488d4dbbb3fd9aad4d6d87ea84264d724df286c1835c47967d83e83e0d30c7d93483da7073eec09a98dc5e855005c572fa38020f1b2421e1cdfa5dc15eab7617b7ce59490f74b711eec63427f8352872ab89faaf0880bc9cd80b5f8dc08b75727730db49248333c6efc83f50c3165455683fb143bef4357ab14323fe2194e9503bc0393c656c73fe0bd7b326dfbefc724d552808810c6bb9c75735953ac27ce41afc46687d21eb8f528e824d658361722bfffa1427808721e477fb1e2a7a06043a49b43e0339c6aba2c7b629b3e5df721d4cc9202863a4efbdda66bdbf8d7013425279099efd173ff87290cff076826c4d7bad85e29889ba3758b675ac5e2037718fb4c74ed7824b2ba0f7275f8f837204f4bddd247ad8111d44e8b0905400a117af505b297ffa497c46c32902a51f4cb1788c3848411b651ad3975744fe98cca123c121136e8d43751bb29091b7db67f938bd91dc8af2ccd497628d6c604f6a4bdd8bd94d3831e7fd246dfaf0084272b3ea306183bbfaa1b94e1d6f0e7db977a539de91282378a4cd8a57c9d780f772bff3821baef3f97fee9f10075dab5d0948586e2bde00b4886eaeaf7aef8be6728bfc5c845765c54ddce911a21472986d7746f726410172cc2404cdc4d2db8272eb52bd8bf2133e36fe5e4327817497e6e53a498f7c16438ecdbef3bd77ed5672d567e66fa9c2024a4b9754094fcb73d01885a754a6c236596c61961417d8bc726abfd577ff1eaa8cf5f803e9972ba9ccc0749a658f90572afd59be4ccc12f0728a6bf1ce7e1092db88d9e274a7096b51c76f4b46a240f392da988e3e7ec369727101e796b684e0599840d7c5ab1e70a158312b4fe31eb59467a3215a9995c8728f9135723f6dc80430ad5891c78d68a989f70e0200c14e6a2f5bc4f038913b72d9bb39095c38599baf39ed3d602d0927a4e31b72086f5ef3c7fcb06d4a1ada72f83b0f1f99e4d47bdf42b4184c9a12b8ba0afde7659d8a7c5070c2553a44355b5c32e340f31f8ba329599e48866a7dff483ec460b822f9bba70f25435485363598b699c3ebfc06f816b4dd400c8e58dc91657f5fab50d34b8773e05d24de1172e83cd95bf502db1aa728f3c4562b6d0e3c430c95fbc26ba97e8d07f9f782597261846879eb837126add0d257b647f8425b52058f96530ad27724087031a82672c0cd6cf6683b3bbc38754270fa5a3d1fb97696c35d73ca37f93c451971e3266583eecb170b82d48d791501038bb895092d9dfa0371c70dc48a0733d44e906d7230b8d733ce1556c33a8756a8f579c100a34468a6f438152b83d353c5b8b6ae72991c517b8824a9bac86791fa2f7eee41dd74871ce1b4bd79d43b95495690ff72ec9f990cb28d412645d02756bcebbe28405067db0a77e91a720a5aaf035ac61a547b5b7f356c45cc3f95c08a72cc05d4f6fd2520719e0f8f33eab69ed84fb5310cbfc5387ed7e9404d554dd79d7f8a8823a9b0b3a7205170aaa4e9edb9c842349ffa52ddad171b7c15a6df5ebeb93b6f37a45430634f60f92bdb3f9d20ceb27234f314c3b452f04d74e78c97f35ff964f0b1a7bf1af72d6f1f0d60bcf81fb572a620c0613cd3f6ed622ea8fb723ff4c2421a5b6bfbb03ac401d4c71245084272a8e0fb4bc3ec19d13b3050d97ad45e6a0e5b6273a85e40c64e60a3e038622b720f6a065468fb21f20220373e2ef014f16b8474ae55db65deb211e8b7d74229694aad28569b32fe6bda0e0f8da5baf141aa3e0616017da13f05d763bac5eddc723d8f8f1c3b58791a49d7d28f860b00c4815b3a810d0d0a807a3b4cefd4406157086ee521537d9e8e60182f0be08509ab6801d5b003682022bfd742cdebba4f0180b522cfc2682695bff15c254c6cc313ae9b2f085f37bb488182ffedb34fd7720d91384a647ff4c14656cdcb0d9b9a30affacfdb590748fc71bb6b114e956e7200bc257383d25ca8f839c93adc80aac37a972bdcbb1fe8005641d4bc6f7bed7221b7d40b30d00778c0902ec2546acea3718b872e37514cb5a896211487476a04a7e57f3a4349a2feb70bf88731d44356dbe26599bb1c0a90ea6a6a81f8552a72dcae016f3430a90f23cbce44632d44b5ceeb7d5ba55066421ac3b33c2dd7c35ed902f8662ac6dce59388f794979fca521ac33ec6d9e871df23260815e4549e7250f3227d6663d85a2cebad2a0421268b2f4e0355893e307bc584203a4efa60097c45717f902907da3c667007b2669864431c379d7a3c1801f223fee996536920d23a452bd73bf5f7005ac1987c7c82eb79c4204a870f4c1aac8f89ec1113b50b2236a5d801033f56725f41edb8757fa8329502bd940b96887f169a66f5b3c972dadd174cb5a5982b6a3890de3cad65ebfaaf40abc2de024a9dbf0ec9bca0bb7285f5e035de459002eccbec282e04c71da8d992ac29dc03c607af645a5dbaaa2bc91b35f5a98719fb78d4b7e65115465c01edfa53fb6e37123c77677d6ec8c52626838baaa2e97afa119f217b9ada919180f2ece42d460f7c3a355515626b953a938de7fc0d7c6f14145970abf4e9919e833306e7e16d6558ba480ffd66bbc17251fc70c84e41de6baeeccf99152bf83ac244f32d300d39da72a78cd2dfe23557c301e929e7048ad54b218d9644ae9862f27cc3b064bb80d8d3ea9d2ac0bccc72dc0da1ad75923b7e44765c3cf77eb3f81dba61be2755106c2706e16f40cfcb7214bb79208c318b2190f45984e8d0364899768729ac169ecdf48d4b979f7626721a5a2f724da35ab15861bfa86c6c617d52bfa215c8e7d5ba10ad9a5ee124ef72997b7ba1e5642bd38f5615bb554ade8196c4101ce409c480c8ea52cf7483e272d2e43380e6e7bcf290ae6a6ae917e62d2845b7299a511034ab8dbdad9aea1b722e8959977ce6ae94db18810077d10baa020701dc48a35e7a0d5ee58e0702076a9a895907c48ed1cb44ff22086a7c4c35746880186d07645f4f98ae9c0a5cca2f33f2c18a6de9ff00ffa84acde2346a5a1f382ec93569b7ffc43fb3cdc5e37172612fa2d223e9ffca220f0ca5ff8358e462ed0e4903ae1766c743e80f9f5dbf721be2e9101a1e728e5133202c35fcabfa41be1b29b9fe1690f81ccb7107a140720c9d295bba72d83ef86f9e259a4c6588a5917d67bd817c038c38c2e9c89cee700aa6a36a6eba133cd2a9c147f635550208b86238220e36e852dc9a481955567281afea125657c4e61ae00afcaa144cedb2c26eba555c00bdf655d2e06566c25f9b9b07eaa522d79cc2443b4e5ebb9fe9f0db342ecd49d9694133d1347946a7472835205eb4e5c0631e51478ccdcfe48e0d54730afee3a7cfd8eed1e10c9e0172acdb559f2933a83c1d767646d2979ed99684a8a935ad4dd9fae057957ee9e3725861e752268058298b436da335a241f4d165cc58f28320d1a53f46937cd1c7722785450254e9af9f9639c9145c0f6cee744ed53d320500d611a32a8755d32a2d67547e0640ca500c457d70524362d3a877080e14ed7b249fcc157a8b18168155b9334d72e678d6d0c914dd87eba99a8007be72fd85f0a6f13b02da1699080f726a3c08fe7a85d529d11dc8cf7fd82c83df10a801fa7c974d1c57ed7bce242c40918f01f7e043d130c34b9396ac6a55420fc09177c27c736a1cab8d70a88e02729a791fba1878af44d056107cf2d846303894031b6863ab84e5a00374f5d11a11d63310c44472b75ecf80972d8167f21739a2ebb23eb84319bf1ce616ca17af0d20a3ae36f19cf81927e8342a8049624bab421814ea88aa44616434396cdb9772ff202c3de0410d8a8a63ef8e420ecf0573009ba3c2cdd1512c3e2dbe366680292a1cb1679adf5342b448a5df2ac8ac543077c97156401eae278b909493729c72d6722478f25c3e2ff6380ef5c2138a4ece1c0dd8631ee987619b51582aa63c72e9c6f05e9048f176b7f5de2c198d134fc50be2e694a0d5d385e75b419b75ea72cfbdaa22b858a21526ef1adaed356bd062b2375df2f3c4b0f16c0e292ab8dd7295874d1f84864e68d129e021e39e4462180596403d09405d00827b12c88aa90809bbeb56b0a3485ead873a59973f8faa110b208fd3290eda190231a68e8574638d2a0ebc465f0fbf85b111a252326e24d82317253fccf9d8f8407eb0d9dd5372e572e84e5376a1aecf2abe073fab121d891129072af946e998f345e9e064fc72ea696882f2ad220799fd7720607edf41e1c0a7b2d947274b9eb4e0fb675c8b7270b7f4c64442171d3d21fa69688e62d6a90e1172ffd9cf3262de84f5f98e3533c7883f5e812d1b6f41f868a4405c39d4fc37326583ff72bea0018e32816b1172610a65089b9ba3a82e8766cee6b7619827b81aa6f07d8f332ac88d3b3eb25d725d587124c0137470e576abcb04d6d4c05d89f556f7c12c2f95af73be7e700d729d1f917707d7d047e613779ac0004e049886f989231863d5e1255a8ccfd63b095878329de0b7097e6295461eeef789130bafd2f8428eb3eb042a1999cc7b722cf3f24f9dff4126a2939cc5aebbf506ebac7e6d603a98003630051dcefd10d872171c54b46647d0ead83ca629b2ee78f58a5e808e0f7172b40dfc51654eee927251ddab7b4aa1a869653c4226524e31efff12052edfa2ebeba23f42fde9df0172cf17a90affbcc532fbebd7fde6ef529cc3af2d07e176bb706e7c0602910d1831cfdd311eefc887dd9df77c94d65fe73cb487ff31c180d5f60764cdbe6fa9ec72a78391ba5f5bed39a74ae0bbccdfca25e9b4f6dfc1de007378a9dfc6564cd372a12bb1656a79082fb3eb70284f1e8f76adf98f976ebcc4727e2396b53c95413e7bd61fac174149b99f86cbb7226a157d8cdd3b65d879dbb4f94b92881b42087239ab4d9cfbe04ca2d47f3534bc8545fd403785ceb383efe75e7467b40686c97236c445b8bec1c72569dc3ff64935eeb76e68d8ec9e44b0195527a2580e1b3b54d252ff2834ec1453cfd9df45f281308de4982b0c12dc174f5373dccdd53d6c7226b8086a256f4f03796079d4f283a31ade417f776949c0804d60fff681cf28462a8ad3f166736237600cffdacefaed0deecb5ba11225a11fa4b3fa3e7e9c3b7297c334562bdabae3f5c5bfb138b9c088d7c12eff37871b349dae5f72b3a7cc720ce9d782d5d53406380cc52e10ca0fcbb8acb29314ddac4a4ca883341a5feb6c4aebadf4d0db336de65258d2bc43db60c921801c4bf90ce1acde06ff9b3857722fb448c4d06d7d87b4f13471e7bf4ae58d9432c11e5887b221eeeb70392f44722fa785c45311380540b4ef63992b913bd65b2edcb7183966d722ae585504085db6b8bcd73da6821fcfb11369db08951a6f4561508aee6573fb1690eb75bdd772533513a51bae083b65c526c08321c0a1a67128d5e3e18ddbe7514d10cdf79c030bd7f30c98a14d6d9ba7e5fadf1f49841074409c3c366f57d58341c41e3611610308f179843600135ac58a8f8cab66bb660fef37d6a86ef37107a30ce1ced85b535934a8c7100a53c4621084cecf0247f3d248d051732a6102fc91caf5d79772c228c47888a12c2bd8badef3c3f77886127ecdb00d7fcc60b4e8fb57ca40ae21d5716c64fe2b4fa53434a7763afc3d613f2ae1bddeb666bb3a4e9d60fdf7a072419d9ad4229f78526ec7893044eb4bbdac4e37d565ba94d6df421680dd1a29721b8003befbc8536138092b561f5042cd04829ca76912271340fe3da8b5989c0d5cb49c06b4e273c21adc1f278ae728ec8dfb42da0151e720364804c4d0753d6117860c5e97a155ba2d71a69eaf3efec3fb8c642a8b5a9499f570a3acc0ac2d34f06183bb8da3dfc03f7ca2858e045c7c3d088c4be4976898fba53764a2a67604c0f3904542170b7b21068d3471342c398858657fa1b143094179d4b310e28a72f0b9e5bb3f2fd996644a105cdcee42b555ae45edbe3a5e8a02701d51e15614728b452d9e57c704abb05a79c14583e1ef8440bc7f12ec917b6deae229f48f0e38d1ca1270b5981f1bfe236848ba2761558eea4e0a2eedbbfdfe89a52bff600f724b70960107bbd376873a6cc7fb2c1d745336e1bf0dc3c85f8b345442f517e87272784061125a5caa47c0a41dfcf1c456d6be25523833530577bf401947c0474c5857f7fc91443cde99f8d246ce2f21d8ebc39aadb04309e88c8e317e501fab72cd29f7055e9839f0c9996079ae6185d212fcd9f53c32935eafb0b138b1b98425fa4603c32a1381d16efcccab295e4263fcd56d611324564459ad655b4bff7d68aa0d3e5a7762edccd0a66301fcb514446798b3243a6014d6ef3993b82629c90b8267de21db8ad6c91c44b7fd619d3836069b961698d4565f7eb0dd2cf479fc728a92cc72b3d94b1ddac20fc56be37154300562ef72b6a17e8cbc841a6084d44bd8450685c3fd567c60b815d99082a5404da8c0160ea02e365d883037e80a170d246ec784d3ce544435a51617620235a00defb30f98e5812dcab7976408a88517af9436e220b9b29e01488ed2d712d0041e613b98919ba0d825b004bc36adc572d5841971b4b331130fa20fab8c170865e934cb0bae486d0cda96256241e2bb27aa1a054b8fb5a1e439c1141c52d3fedf95685825d061e87980f9fc726282936975fd4351de69550f8b28b500d964f60998998b1e538fac310386fd1ef2191113e44e9e2694b3770dfd4bb0c0f5069c89fe77ec842f75785dd4498c9f321f91729f0a33354b5444758e2d851652e20afa8e1be35dd863d73d557383cf383943722cea8cfd168a9db6a8566bf7dd6d2e156389790cbb7abe59e844277102d5845a2fb26374aa1680a27f122e65b5e98ba6ca2d5b2fb4e71824527f64dfa8e01b5c05c949fa4ffafe202141ece680ca624f812b9a9c41622df9f1c93430dcaa6e3d28fee58d437de1d6597f42b5bd2f791c7d4f68c6022b900d9e32a74e175c50724895305d4fbe55a53db19a6eba25d741fd012f2146eb5241cea2a1b4ca7e4072e263f7cbb22efe60925ba89dd2b4cf020166d88fbd638ad9700f1d6a1803f04d57a0c140d6fcf25837c69d68126dcee99e3f27b618a25a50ec36f90ea82d584df48d0902707c998342172ad175540a4fb9c67c7076ac369848cc726057c8a34cc03d51edcfe1b71afc682a17927b82c3afb1dfdcbd387db718068c04610b4a7208934c65fcef0306fe22f6c61fcd5728d562b39222ea757510a42e117523175441f7246a044b2d7accb8af5690d43f4a7a6de98025e4acbe2cb84e0ec6275272f69bd936a3f586976fdb569aac92962fba4d4fa89c129f79cf1cca8106be8050f7ccf9467645914fd7503539e94ae1e00523d0a6580173974c1fc48bc8052440633ca7f2a9e85bd4be295263c1676338cfefba2ce053a9b6d9d6e5fb9302ec1e0fe24fae2ec4d41c7ed65a1208ea880e9751cc21269f465fb53bdd02cd365b6636e44a829b3bf932067f29b203658a23c398790b457d7ff701aa8b69ee8e9a72c70b61d029358170e902dcad82809574b75876a741f3f447b4ddcafa0b534a725d620ff5a5569ba8ab16ce0a7bd281a014f7dcd226e57d4a7447629ebfcda372d20a7430e980aa33667c3682486da02251e25d77a7b54e81c3194d7b08faaa72395dc407e98d5f93198c60127502c9ae3fe35e48d3094446430e33eb27f5695eecd475a2770c2ef3ff38d142101e1d9d0ed1b82bc3b846340fd316404657e54562d14f4de754f7739b26da12a740aa97594a30e230f7d911dff31dbeaa9b1572d8a930df1412265f9246d9d9c0ecc5d05967f3d2a41ab80bca045ab744615f42f881c9869f6b3717390606c3dace15a210a6dfcf24deb15f43f83d826eea8772cdab54ecaaf5ec8038043e0bb6f1aebd6d9866714402bc0a943401eddc1d46299ec4c6e79b20e9ba084f322ccda0262a2f7b92495439378b08b9d35588a49c72bc17d54e5e9cada412138f13478fe1430b9059a0736ae99044d8be7d2597740044619ffcf3f31dce82191d7764aa4f5483f7c933f524d9ef3011a2080db6942cb9d99e74fec71b05af88ae78b3e846e2f6ccc239f67708612f21649cf5a2356a737a46774961d448f36b523e8d796e0bd53f4b7ab45c24cee8f4135cc4d3ad6271fa535da3ea942a4e3a30b37cfc6f79db1757321b7d7f2586d0440306e54264f673e1d939e6a7f1c73e76921f05ef953ede7b75d634ccb9f32b21d9cbd1a572f4a8c0ccb317bca1a8a898befc883fdbce206f6c861d9c12ff5620467dc9d27259e610b58af7f88ac5b7dc4da7828a0f8df07d4832f5a4622acc748c2b649c08de494c274203f8c51eb3755819b1df016cbda35ec2ff773387090169a903a6667a4294f7163ce32dec1c9066c0fdc3ef56471cda6273f0cf01d3d76639abf57238f1393046a569132c2fa986ddc38af7647446def56b82ff20843afc81fc29721205684a2b7dbac7a918542cbaafe83bdcbc561e37bd57f6fbabb7302c80e359b57d09e23baef4be9251d1a7d2b8e4c4d1ca390752139bcc60142ec590d19272c0267fdacf0af6bf3510159316bc9eb114df357bbccda8a5cf252e4e612cbc29ced53f7eb7a6b6570c24f4a7c80dda074dc456166ae20c1ed0c52c40f856c60d3012a35b038e395a416d247c2a063a6056c53357bd63b7a0e1bf604df9299e72019c3b52b0d8e2ea340b675aae32c2d571f37a9f0b9f02012fd24ca13a1eb340469488086aa5811219f8a5f6e270d755bd27afc7442939cfce504e803710b242529011a9fcefa5f707a45e01ae51c1667d0ef17fd3a3e0e3a565f42700d3c927bfee90ac08467235a811cf0986a75764ae317496eb3bf282d9f4d71120f7f1722ff12be00f2d1cba54b0ea75f39ceb6eb8a0c80e6a260bca98e3862b5072b5722f6846199c4ed8ee79376dc6a7a7205ec9c7087de8d8b92f247260b6739a866c93ac67a82d6db6332838b48400de61091a7d6eb717ab95e5821dd2475c05e37265440ae4756b4a1588ffe854f096dc8b90eb21e1254922974b2350b1f179560acdba4f53d106059a622a9a9cdddde4e3af7bdbba5e611dd2f0516954fba58572c8468ef22e4411bd5f0d995420b85a294ffbe675ff052d39a148bd9fadc5897222f7bfd19c6de544a99d843adb53d6168f34debd189e48a8d90e059ed4f33a151dbdc673d9104f0ff42c79f038ed42b24360b4d1f71379582e0f767f7aa1db5a31f0b312e7c367638f49957a519463063904b45ceeeded89b0c16d0d6a4b3e7223b28a457bb02b70080ec5755465b388b51c782f884e3cde9a26a7e9f41924033f0b3e99185ea771804b583b0a0b32e2b2464473b1f28912ae48d36088ded47214c73cb1b2ed85ce914c20aad44a84d7e0c63e0944865eab5583df3dabd3ec72f6ab7f7e7cea919eccd190a767e6e1796a020e4e5eec28dad9cf2ee38ff79f728194f773c57326500d70fa20ee310df81157b7dafc8f154c79c1285240f41f7259cc419f63e2f35d597c95863a2d8e7f7f14ee6377507b3921d2e7444f4c435825f739adf711b2c7d0416b11ed48b4d58eedb27a50a9dbba8220a2005076b572b357c98f7ed9b327614759434190f44611e21adffb41a956535586f9a00e5213aae8ed5336ab3b00beff1d02de66f8608bff3447f245ac72e50ee7c13eb8701b4c0589802f829a67a0683e729a9cf8c610b9f5172d75a8413670de16c0901272c74069df9004f5984faee974b7d0c56a2dbfad9b40ff0a48702e4da70caa52727de22cf8c99318c36ca22923bdbc47d4c406f8084ef3c630b3f790793f890372da595db009284267fba6eaf443d7fa923693ce396a5d6187cdaace5549ea82446228a4bd9d647b172eaad5cdf652940d0866a697c57b2221f84c5bed93cc453616e91a97a13f841a11e837cc892525e3d0bbbba655c3e82f631d0111973e7e72f376cabde8fb050db4e7e5ff21af425f04a302454d2b9a317806483b90a7cf72590f2510453d57039eb7b8df08cb6015f9b66835d10c426b5426863b5372a2726a5ca7173a444ce71d323abd5b1208bb851f999467e461c2a3980ed700299d7214a9b2b5c1a4eae59337597f3ece210aedba1c4b3d57cd6311bfbef6552dce726495044a8294b4a567f3acc708bf60c8de1b6c53352eb3250b54d6d0663d4a7231104ec5ff8ed362355928c0c739fecf2071c00fab4ff12e9fa7f207b4b13b0f0f058614ab316abfeebb3ba5c02e4e848b7a84aeb5c12a85aa3a7d6919819859c530933e636f25b73cc3fd6f47387268200024a9ae50a353ed11d816de33cc298b19249650b8953bc342002d27a88d29d985f316d8f6474097f3861811a69f72ad0b1fb17d1ad27efd9812b9085a09a197c42e29d4b0ac8e8a901fb3012d0d728fa9f5cc9e66e1f71e2d3cd0a038ad9443bf6b944c45a63a4b27af5e1110002b1a841175aaab9ddc7162dd87b7e96cb8cbe8abefab598ab15bd51db841d9fc660b6d58f2a4e9c5506b865a1a6f9b453019496c2c113708b5bca6889ca12e1c721a13a3597c9e93eb433b02363f85e4236f496f5f6492bc4e2a109677387e9d2454296b5629345f8ca689f4368042b9e20b26904bd9a5ce34e678c53aae65bb40d11cf6d9b58d0cf5db0421897668f0105c5ef35c4ded5a89f25667e606481472a8e165ef63f077cf46f7ad1d2eab89815d6a4ffd806cf4ffbc3550ad28b39b4c419e084b56a63f98e927b146648f225f9a4f8d14c9fe6790a1cf4d5bcb96aa720ff046dfd7940f760ba36a6997c22bd1fdd2f7543e817c82d27c0222d9300c1d7c32a7e9f1341cd9e6de643a38329d310b5e1ef2dd67b8ba0713eb2567595330831fb5f15dfcdb4c7de006426973a47bb361a8635453915fb0be3fc113d8d67253bd446c68d39717057ad6d22dc7002b7be146b470ed198d9dd490370efe9272dbc48d7f16f6fc25c349d8ef870039691a8a50e6c135605e3238fd788b7fcf65f6aa4f6a0f2f762909a7870c323fe5484313d2093a0073e2cbfb222d8a0aae0dd55b16209e8f1f4aecc88c3f002f6144214287b20498d9add6bff5ec4fb0fc1ca30484ead83438232b04eafed2d5cdfea9461478f95c14a4b593c3257829d049f1c397805b90de0533e9aa78c679b82d73896fb48709daafc7fe4166f591c47229da563a4f32f540ac0a0a773a8e1ead54b26f329226f06684639ae890cc8b44a7bc4d1c05f933977f3b72c07d36fc5fbee4c78d110bcb8c3429005c5f82127228dd73393680d5b423aca459885babdab5b1092d3c55fee0d3caa550059772333f8fc43ec130dcfac95defbdbadda27ec493073ce33200ff2108ac84c923ef72f42b33f7a79be31785fff7fa6d6ecb6e0c8609f1a01979a7cdd5f964584471720cc2702a0934ec46d2521ec84d2e729a8ca9ba5f2d26cfb669e710686b3e511aed292ad882012b7866e9c646b8bf75680e8654b1463ae3f1927d514aaabf1372cb39ff9258b7ad729aa6710a2fceef23a8409821649459b0bec0068729523b57c3edf9dedf2f448531b517a7980927151a17154257e1bb625d89932c60d33d1c219dc944f39fdbf940d9e05b4c7513a7d7930130d3bdb7cc6040160d307bf75542b98f6a2c2e353c8112540c2b1236b41a47abe2d2aa5aa0640b66bb110049064bec97b810ce94b59dc91a2185e90da94857dca49d6167ce8b580e78b7086472f077e6544728b6f5b45c3d39a09f8239b7ca629363f42b509e99410a8aaf39729f7196e05921444adc565b557f6dc2fe7b249dc0e7322a06506327d5cb3abc72f8dc4a53b05d302fdafe5a86f30bce958acd30009830f4b5b23b8c9b352ede4a30781eb7545cac589ecf5121f9c198b9c605e489073067f5f4f515e6b53908723bd2cba26c9eb0f0392a1e766cac99b1602e773ffef758e46d5f52849b678d50af6ed23c80c5e08339d6a7cf974739f2dc06763adf401bffeaee5186a5a56c720158edb20dca7185d304a6ab0d4ac48d9c365d8ac634d084ead4a36cc5ed2b729e9fdaad9615c1bf45d4f83a3c451d0ab8c6b356fa358477086d4e0f748bd072bf5038bf3d7220364e8f4022a00e6efc8a92dd1f00302fc60c00416f1a142c72fc1417f321e0b0ab0b5b131f07fcfdcbb085c4d0c9dbb4b893bb229abe7f1f49e4599d3169cc346e1903d4e6ae6e7c316a2fcc8306112be9faacfeab13b2f772a8f508962ac71186d9e18140c3a5910b456fc282f5c3b16fd712c54bbceef81eb222a3fe00dc61d3b669fdf27abcee832f9efaca6c9f56f3422d878247fa7134d29e6ad7199c54ec2ea337f09cbe2fa62860d6f3d46cff46aacacd8ae5b93c0e4fc63a369535fa48131fe23e3738c9ae39ae97448bd69b05fbe33aa558aea472646e5b2ed06e9edfe00e76b502659531b3a5228cf693abd5fc47c925c8884711132e670cb0df5df5968ac3a51730751ce575d5f30d3145578d19fc09d7a7c27238d19cb45c16f47aac7bba7773183491272f40cf25dd2f29279181732eb591209525efc79b0d28ca6fa1f7d1965c65433108e274e8a69d3ae3806b36d12806729ace002fcc2eb5a226b9c693dbec90e768fcb39140d805820a0ec05008f28a726a4d96d5e4ca25169334f9d93c5fad4948e6a224ea316e4f31f174a16c2a397213d2af12fa32e4fe6a68b1554a2deddc9246e8bc0d5d88714251c59901f5bd72ab412bfbd9e1144d680bc31c2fbef6ad61ff810fab334044203601537caba16f45a1872b3bb50f3f19b2e765549e507f22c1a010a6dc773a23bb9303035fda720c44774039f93d034bb6c39f771c92766ea107a65770b3ab14044f284bb8814511b2cd1b9bf7ed451cd35fba35dcf8703db0a2bfdbb48b4746a97e6b250b97722f34af2dc556c4ec5f9429d74b55264d87fa5f3723c71bdbb2798563f786e108c23f04a4cc7735272f50494dde94d014d398a4731129f4cce8e14a96e626687268760714e6a7b400a65c121e96b950f6867b45344c5ccef0ae50b23f5d93db318eb80bcf0394c16feba797955f5d22cc11f94890fe6e27049c52ab16ab26dd727635ac40b26ed5c0fc0c9ed9ac1bb733d3b81880a1b04d38656be54a23ed2b3864195a87cd7eb835981050069c46a2164e47cdcf5aaf5b0d981bbe8699738a725c07a181d472ef09f562e74f88f44e22d8fbaa52941b978779f1b5fc986c432154dc10812c92b91a9ef36d33772060ccc90060345b199adf3c0d77c1aa6b1c1d7dd4b0e8ceffa4686ea07fbf865331aa555fc7c90869d35c38487a22101dde7233e3ed3f36c40ac8d723850728784eb963b41a413d325262387058888e67fb5f7f05b8f0a7aa34fee6983c371aee1512058cbf43f7250a8dd372ba312b444e72c004e243a638bd705941a6f25ea9c27a3dd125847e26dd236273a5b4c1392d72ac4c1744daf05c68c56a2b87df58010549fcb3363d1ba9e298d66d0297da0804912be24dee41426cf306754cddab65cb49594e763becc2f3c0e1194cd01c3a72aed20961ba21df79760a49ea994520c5b4f2eb3cc17eb5c9de4ce83f79d2c117df66344542f1f85b8a1459115c4781342ccb4a546488fe304655f736b351b67285e344ebdf06a26b3aaa1ae9bba22dead1a3440f414c6e7e6cb77a8344ee4d72601049ea04018108295928007f37884c16916f591447bf50527c7f56eb10b372fd3a7cd2010f5df82c07f799c9004a5b5d8f5a13f53add881105dde04036627204d524b66594b663c8272cf9343dd5dcae3d7aefd1fc839eca2698aeb9bf5b59323d7bd725cdffa68bd1027b66885784a42e569a086d5d7f2dc24e9938a9ec4e701a5b332b51f1f970693832c27bb0497bf85e9c35ad24975d6665ff89604e72d23d5a0c894ffd205ba449eac3aa0b3e6f9cd9fdaa5981ff4a78eca4922c6a72f2af2c9ba15e088abfd321cd40bd369b9055f30e9d996b927e63ff2e8a8e5f72f2157f6a916d1746328210c98cc8645acbe0c61ba4d87aff836d3132a97ff051ab08996868776412400920f5821251d2b16a6906eb027499d8e2d87fa4f91753798a383ab8a5b629d7421d3fb02d7f24b6df937e1d26a161d3535b2581b9be72e6f003519134a0c8633b51e21ea83d7840986deddd27db0dde69c85c5741bb6d874988fe731e1f14e997472219f0e8b83c3ad30f6552c5038bb9a6adfe4087621515758cb199752334d65ca00be7414c132289856d1fc371fa8838b98a80d1720d9e27cbfcdd8b18579a9800f5d5b86e7d7625ce874d8ec56eaec58a6cfeac1d89b19b20d02d6c6bf0d93d278d39691cd63d70ece57592350de6883afe670f72d118de70a3a87780a5e440dfadf0efe695c4055289b32d1fed2e891957b410720350ec14d62a952bffc4a294496cb82d36e8effb910ba2f5d94017260fdf6c7261252529f8b52f2a6ab27911fb597979f118cc637d302d7a78ca21fa4f84416095ae2ae634dd881be52935636d36428beb9c55c3e1a25c9747a77d6d5a392072535f3f2ef63d62692522287e12e94db7c64969f645e467ef92b9ffc6e20a5d72b6fa5216be32b219bc3122fc50f2b415a648a6a0296ef9aadb59f11c4b756e29a36b010ec7c5d22f9c351b4b916bffbde8d2acc2e9f3387a852e44bc3fbe2d72353838bf8c123befa27287373a7c423c0046f3a71d400c4acbeac36840596e1df2b1315299c1246768875baa45ed684ce9a71414b0647a354fd342cbd2f18472f0eb48ad48c9d368cc6f72a4e4155f451615b8c1d821c3bb77787370b82a2072e8be312089aae1eef25517c91e2d6f115c1bc9b36427a37cb416bcd2e7d00a286ab9eb851384c003048c699371de22dd2d6fa83ba3497e356d65b522410bea727bfe28fc671f44bba4d442379b8d04055536a717dddc8a86edb990f9c1a8df729a093a5e62bf2a55d4cb06db800ba71be4cee6e43f612b50a8e446ee78ca3a6b24c83b501a629ede5acfb565e6a6238cd002e2483f673d245bf03bf67d528b3bcf69da018bbf6668a1b7aa3becf92701e55a739eb2f1fda2718e7d9f80934372d892b33e354857841c4f4e6b4942b7925c8c739363a591e456fff2de6ea1547299ef3100ad1853ddc84e1b2f729b2c81f0e80c588dfdb7aa5fb0c71e34663372364de41f6af66a8aa335bb21a126eb681574d04d7d962923df214ac5baf67472ffae69db9d1f484228c1493c84b33ad108823f3763d23b540b30a8403a5241727b977b24a7c5d82da33373ed64385d9897a4296c4ce150212573bded3e3613725b81abb1b67c8cd14592ede61002d14a43da25854532baba36639c7a9ac9970e8e210937c770282bf8cd9de1063c4f867dcf787f75904f3f4833459ffebe597270cbd194c92b68f6e0ef03b84b603552c1c0c6be9ea4fb7defacc1b0aa58ee2fbfcc323f2bc41ec1c8e1afd1a5ff0df6f9bca845e88f7fe06ff0e9f4fe6dae07bd225b4ab23ba0fe424ef8f2f4c2802d82f2804b341e201058d92b1daefa550a2475bff335f358c52ff43c6c5a08ef75bd38ff6fa9e1e93a17b374cbc0bba27296fe51765867df3798274f377155efdc920ee85b898faf83447d57bf03fa3272bc5b5c80bde3840d6d1cf7fb79e7de65dc91b8a0d37cfb4ba90f2e620c3a1d72c6dde56b9b24ff989d2398c64108cc611a88713d09b3807ddc2273992c9536729386e65b481b4fa80ed5b1c83a3aef5cb0992f080f5f9c4f0f7787b267766b05d8d71fbffb611bc7f13a23547dd02ad04d7056ec248bc26b2125ce7a9a224672e6ab17c782852ff6f8095b57587a2bb63ac70f32b52705f25c0d8eb80d322c728b6a85526acae3efa2291e798da3b316bb5381c06898bf728be2311bf43604150995d78b5e1da9d0871896c904dc1691381ed2a8579c807c050c7e52f1d4ca269a0f6f164c18c7dc613b785b656862fa361560bf89d594a0518f8b0338ee9b725a26adaba125022c2cc0e9a46e1cb88d606a42dce83d1f9cf3476dca395edc727c3d653801e5604f273d0d8499ab7381bc8e5af480b346d48653aa6675fbfa11f6854c6198d773a1ba30fb5d6c01dad36b232a9ffd8e44a1700c8a3cb632a845e74d517deedf195edae4b379bcaa2adb18287ef5838506c019d5bbe7ee78de4992cbad2d92e4ce06fe2b55831c640fa6664fcb3190d4a1569b0923ce46256c720eea656bb356165a10154db564fe4f972ebc7226f35fc10b2a3d0a41736a8f0c818579342bdaf65d668ce2a0e94df4668fbef6cbfcc3760a8ba735fdac2a187204ed4d09e0d32ae84740d9181e2c0ca687aada11339834fc1f071bec8e3d5a2b08acc6330b452ac8fff5705e1645dcc5b112e17aff9bdc645d1677e5d9ca9031b26d2e0614b410d011aa042cfffeec5b67ae2ddabf2862cc76a444a080ffdf726ed003d2b27cedc3fc46e1640e1d23477ccf67e00090277962827a59f153c62cbb96f3ac46bdd0a1fb4e7056709e80f08b064e9a12e50cd7ee03322eb23b9d72d20ed2f502d74f71b84a62b4df8023a068e2d406eb5bec8acaad871c4301e9655fb415fbb430837ff0eff583862a0ad94c9b4ee00d4182435de51c262d40a56a49d076200081094fb83e7b64535cdf5386b70e9d688e8ccd360b402e8f427a72de9fb18d8891186c511bbbd67a072463235107cc56d41697373d2f94f24ac200f1ad2d7b84bb4a3ac5e8b96d1056a01378bceed1e9e7c214a95b6a53d8e7572093e9189cd116700889494ac54e702e62bb3453167f41ae1307240042d4ecfb72a60ecbe4d11c2d317be19f510c3644c02c5fc86268e077397ce009cd0089596fddf9fca483de0102842bd9c250766596107d549117903555af51fc4ead2ec92f1ea1c0ab45d6ec8124cfae6e33d318b8684cefc1d47d8c768f9b1913627a8b55842b1987f00f15b90b0e8ce0fbcd2bac0fc55b65e8c6583ec335c36d03349c2cb19186c0bb2bedbd7fe1f8218a6e829da744a6f7884fcdd58c9eb3b12847ed72c91310ed04dce5efa6c9d4d100964802093b4dbb76737035574598a9c690bb48a8ee5fd60b60d8a98574662d1ed42fd8631dc8feb1d613789517fb5e6e2d977243a08165b3e517661b288a32bc56ad029622c28b0a2ce705f5c0e0122f1c0f0e4f0eabe92e5a310aaf6c89e7e240fb4e8815daeb5f152dd2af5770eabc149c72388120123a95418da19fea572011302946f459bb0a80fbb258adba8338a21744c0c7bb4527f6cffb8f45ac3ef02ed9656f8499728a601a69b40f4067673a2565c3db40e2666ce3d921e7ae1d9e193101d6433b3f7c0811f45507f5f170c18672eb4555ec9b08962a6cb3d6c26c6cee06917eb11abb04011f99d13e3d3d186a72cb2028f13544e252ef697c588c79262d6ea520103543ccdbb7d2b3478f7c4605ca6575874a0328983d4929d7288f6546451315caef57ac30f4b2e80e5485ef72b5d9c7fbe14beb7116e93b2a702de43370c7e21604af7957317e5da17057e0356f28d1e2ff335c820f3c54bfe922fdcf3105ecbd5b133aa4b4f9da4ec32159725d2f8cb1777eb0899bbe227ac63d18d1a2167772802a2cbfd1281c8a97dda172e559da30defe5ef7eeab1ab224696ee380f542828ca7e933617672cf7244e772fc86349903fbe4fe26069d880033201eedb49e2297af2a975be1aacaa84fa00c88ab415834abf393d29a6b8c6a631ca54231d650415b465c5088302f9d3db513bc93c3794adad59e420ac58a95d1a2b799f4b52dbe4b501d79247030b933c77265dfa801c8dd337c0b1b57e9c4d8c3772362e92f916d8794b43f453d8d3fc219b84aced187aaa1f6f146b0115c4368a9e72edb2cea96eccd15f47c4074221572966c572c93c1cfc59a83abe26867b6e148fe8005e72819875277e0a6aba1e646539e66c8d0c4268f3a42ab6697d84dd4c98269012e45ab6bd179aac3da483d72322bdaf495b73deaa3bfb29f7c115f22f35e20f274e01e41f8d4f80636801a451270289311c68ff40816f6371f9f7492bcf0c9d96eba01662842fc72629ddc3e9383d30be9541f790af3bcec4d98db83bd6d9eea1588d055e618cf19f43a1b72acb0df5c0ff56049f7b01916e40fd03c7c36a4b5e3848c43ffa177d5e65f075a437f6591ba75615ded2655bd6f615bfb8285bbb676f7abcfb1e3fb32272fb072e34bd647fd9c85d21f14d84a9811571569f0b0042994b0384c415b83de18db729eb285529e9b80c881c687940d30b4e13a5dbf688057bf50dfb6858b99ae7e72fa41c596ae56be5a47e54f1d3536c17d329b16f53b3fa538fe0ac8eb8b574f72f36d9b90c4b86d199d120d1e4ea624711d30946a671cc266c081468609f1f70e8dda5fec383a4341c2c78a34a72197d321a5e271bbc68d8fe354217a7560e57275fc7c4421fd0076e8b7b5646e2b1f95d549f9004731bbc9589ab8a39ce8f172cd821f98c460580013334d668cc208ff820abe647297bcbb73b4ffaf11a7364345f6fdbd17f56ab4fc8936e3e35eb11b91e28053dceccf76e2aea954b8d5b7723167641599c71d78d4b4722a845c4ff6dedef531f55be8500eec2b46d34d0b3652262bd15930b3d341fd176a3f5425e4264256d8af0b3fc3b5ffc77271d3517278050a3b9b2c5d0b83c0389eeaf5828b1145b9912f295f35556684152bb15e72c2892be4c4af6002ea47ee3d9f4408dae5825a2ca5a963d01dbf3a2b232a75273f03d3bc979b71e6e7257246f9fcc726bc0be846f61bee86f88db17d5b834f1ab928ed34fea3df2b09bcf6a2d6b3e91919f25c866a753ef34edc16104ce208721fcd9263938618b05395cf79296bebbbe8372150fc75bd488db3ae5dd2c0a6729d6b369ee2eb1f3fc276e74c89f326c2ab8c8fd32351f0f7db68d6b67750427128f57fdc2dbc5abc78e2f45ac3fe7eebd6a6490914bc445399752450e9675e72f5bcfa4f43a72d3aa1670a8543443547f19dc53d8a92b440c6128c51e49f547297dfa87e37ec1cdc33e184e8983ff58640afb6e77a3969159b372c86119ff9529dc369a086e5ca45b0c578aa9a96114b4169692fae3df16258d1180e34e2d972338a16b8d39613c70f274d9490d62d34712169feb333251f9f6aeb0d91d77c72e058a8f0b4892bc832b52aeb8f5d5e71b52ef5bae3c76f9de4d3cd4043a31b7216c96c514811de1f359aba00750ff1f7d0623075111a8ab9b07b627eb2d702727cb5e778836c368119d342dbe4e9a3811cb909129be27b41b4d061275cb6fd72dda8285d3a620966cac3da8fc82273fea82a3cde636473838ba6201a1fe87d72ccb2010ac503724d1704cfdf392ff67ea0b04ea304d43ed12be7e509d11fba5baa90d9303c4f9737f995e368f49f59daa37402298000a2555bc1ccd7857efe0b569f475545c1c4ea905931de751ab3a891495b80857648018ad9900a8214777290eb68ef5e44db9eae138b6521c653300e404dcfcb7813e4d1f796c8268e017274f30a9ddbd9b319d05f5c0bc3dd09d134f09818076da4f16017ff28fac7835c2eab3a6f9c64bc6cece59a01c60d87807c90d31e3c658296cfff9421d27ead18fc89291cd3477d66c4000c23a9e5d36de0ab29df18a3d7b9c66fe8e13cd70825ce1227cfa77617d3b5a6d10caf48e93d128af6fa35e4301dbf6e18e544b0412010eeb580fae8c44f11805bba2acfde67b7d7d44f44692826545eed4353ab21725450201f222a06aa244e68dfe4d9adc332f9c8fb95d90e6a1d02aec792dfd8729b8af830d0fa511b9a34b231444e16935194b29b2116e5c3919ed4ae66f90b72d7956e0ec0d6d8521ea84c8aaef0712846039c391c3de429aea2b88fff34d572e39c09dc4541631a1235a552c237ee3544cab4631e99159b24286533f0fe3f71d55aa1e67871ab4ad30ce902bf371b3f3711099099eb2fdca730e828743d2e3a4ba2a4e5aff05f173d145412673a683e882197d36cbaeec7d42048121851aa190fb8e11de8399d7d5c5ba6c25c58b2b935376aa59ae790bbda2d769cebe6b372af1c254ec59367b5e21ae983a143cd89425885397375761371ae54ff936fa36a62d04f0bf8db7db10d04687e2300159be96cdca71c5574fed192e326d0eb2a7205ae9912bf995083edd8c486c04d5cb86314ddb4aa15db84ebe6b8ef33469752c58fada47df47332e598e21c22037cd7344c924981a0ef3b299223af6393c372b24513161c8b24357324320a15ab43ad64af79a0912d0eb247fb757fd28afc726f3a08ef8bc2d77cd5cf5459424b114e8445cd377df15054369ae215330ef872bc89bec9ab678827b4e3cfdd31a9c8a9fb0522752ccc7874e13b50eb3677ef59a24a3af399a0c24bfb176fc68bb2739c4fef64ed0beb76ecdaafd5f8dcbe8372a575b99eae8cbf6e5f212740f2b93059bf6f153b680c6a47ae1de2ce4291d6720ab1c2fad5cf9f06ca23bee30beee2aee40a5877bf8fd83d11db4bd38253fd72085715d6d9834fd1fcc8da5ccf329a86db1c22f77a074e44a937484394e74c724f70d02406134cc68047f92a471122660f83204d95bc0d01602752238849162e7fc0055040c2e847d1a16bc392e11478ff5e093dcd6fba44ea161e102602e172d552dfef1f972be19d5842ab45e09c30b50304a3e00c73825f29208754cb2c5ca3dca1e31e071a374795aa0a49ad2eda8c179d2597184f3ee4ed1a30c0b81f467ca458db2419a0947f2d75dfdd532eed4ba4d00a91ff74f215fbceeadd9edf19f4e1df61520fc5d56d96edb017095e228906fe3d9cf5f11098de9f00fcb7283e74dd833746f69b17e3e4d3e30044873dba7252579870aed271077aff49c6fa7253539324e4b906ed334b667da6849d66e3d86d8dff6d3782223508ff5a920a4cb6032452fae97f800b09e8140e7f61519854121061e813a99afc523f84613363e4c52b83ba80d262ecd8557c2465291d6de8177570f50f3ef748b9adb308077240f5bde0c20a835b6207c3c00e7a2db00cb5bd1a844da8b8ef358f781217497210af992601bb13241667b4c20f4731ef872d54d1e315782c7df69988e019e93608ebe1c36606a8eb8c55bb8260d723b0e6fc47dd543a832442f41e5fce908029f6b998a823f752bc65eed513aaec51b59f0890ce01510ceba80eb95716168767563e6f784b46ba2a33f4e93f7f726f1ebf447f7ac1d16411d8d5454fe2edf546a59a2d02a51c84466a06657b5e6834e19d7f32da05ab83dd3a3899bfbd143a62be4fc4b776e5266ec948f3036f67a274fffd372a143d9a4fc21e5b0c1cc2976ecb792bf1dcc77af0c44f38be5acf7425131c327cb7ec2e6b771471aa52c28f2dbfa0a6b1e7d26af2e9b3e602a937beb333a6b47587a287cc923524647af70e0e29dd50c4b26e3908d5879a9b3f4d6976d4128017c20529b39a4578f7caba5972a6701920d8ac0576fc13c0330bf7dc5984d2e594fb2f89bf688268b56f7b2523b421de560a462dc4c0d3794d543e1518b1a6b001bce8a57a6902f1ab49857b72d8cae23e6430a05a4f0b74b4227f6feb502dfe3d138c678c7f8da46fbc0f3a042d419bbd338430e3324f6951fd459609ce421ac800dc2576f7a88fffb1decf720fc4fb9703670f8d5a558b233662b33136fb26337a9e47661ba415f4caef73726b0a8f6d89a337623f3180cb3e2fca3508943411a5f6ef998ac639c992c0c66b55f4e5e389d69f1815b470795c10f11bc29dcdab5f0f35b647625f5e22f88f1afa961a043e73f7b909edbca4f4bedd1d42735c6a3943a55fa8f45e0644d71572ea4f1a5e7006edb417d4ba2f9390bb60ff96a965cf6b5a870e85a605044f2c72d7add74cd401e9e0a1ac702dbd46f103a3bd5633794a4999e9ba6d8550f6ab6e86deba4777e9012e6dde6835c65818a44721d201137e1653ab34743b081e460dab6b3f0bd33e7e97bfd14e277f69fef75f6f56283ada718a25cae3dcb7bb6d6975954d59d105d27e6c0c78d03c3c2e803cbf9623c7308bde79650bb2082206722ce725c3b081fa2fd474d52da0d4978fa18b126cbbe1056b0602d7304b6fbd65a24e8995ca5a4df435706752e74b63cd406c2d9a6d3272d2e29d74bad7b1b172483965fc2ba52c7e6bdc0e112228b21d32e8a28a4db2a876a3fd1e60baa53f7254117435d00c999dcbcb245efe727b225db404c4f09c595c59705b947e3df312e72c8522e7f0062c71b9c97f98cc4a36db3b06def770398d8ddf8630f7e51f206d5e758a665e929bf47d44d603c972b968eaa7a2f39f2d6e75530ce4af173572112dea5e078175b4bee8961e73d2c7b3e226c09c22b1218dbca8dcecc0be7b723bf0f03116963fcc9291bbb71704d52875dd68925eb24f73f8cc257f1fe4710f91f89eefd94560d652537024ca128c20196a59ae9b1c807fcea9273116bd8e72ecec8d82198c62e4da2a1fe77f9cc3808d3e212ee645b927a1aba3d630709f0742ee75fc9f1c2e8bb307effca8ed2be588ba0fac45ce9919b3a11f9bacef9e073c16cd2cfc0266c9f98055224ace4cff81b9299d290010f249e7bcf2087e3a724620ad7933e83849bbcb2b97db5cbebc682c7d91a14bfcc61588a0da19bce25831029bc2c6040fdb7d1670ff813ef765a05ecb41e4048b975aceed13911610724205f1017ca76b3e33e85be954b76ec4ea0a8d944ab867a6d069a708a8618d6b5e83af9d3b53db7730f52241f6f95563b98e1066c9aa3b4f3906f5be6e1fef3c87de10f3af4772f163832d7c8ca756351756e1bbc5715ae0837e2521529261725d0679e7949f8cd59a2bf680e519e49fba1af7e375cf7aee7ce42a3429460b08a3cb7851337267a7df410d712839e63a65f7d258c3d5aaad24d1e729e1aa6e72280cc4fc4d2521b557b93acacbe71e2f54e1b36aad3b8f4cec333b0795cd057216a2374f187e895a8b5a7457a7baed1d9c9ce3b20281ac7f822a15d917b0d37263ebc90ed996280c4f62b6e14bec9367081ef4d49ad116304fefc6cf51cdd07227b8be970a11e57712da8b07e0285f778d28b0f5cc4ff2e64c0419e53206de727bc1eb09a6491f9a97426f0531622b49b9aa512bdfa04eb35eb77ddab83f7611fff9485fda37b1e96c5af4ade1d9637e1dee9601841dbfadedbe6d083a8fa6725a023b02ba1295dcd7ed092250826175c65b924bd82ea83411b8fb8b4674a672d43d24572f0bf1530ee0a0f8bf66ee36fb7e9ebae8ee7bfdc395d2bd4fe88c00041dd75fc1f4eb1bc3ce9b291130bbf23e9edd939656df52b8a47e03ab9d08727db6402a44141ad7e443ef8f4eac896d42ffd9e448ca65da222e5f5ad83ead72024583f0a72dc0394355f568b61dea2f4454256362b8c39b9e1e04e822b02f72292108a2fa7500fa49b5d478586dc8a51524eb2375558703a16c921a74484014e0842b8e3398326ebe36e7519052484c929df9dc76cb66dc7dce3f98c1ddc61d6892c7bde49042a5e9b91b6ac013981b5c3719b79739d0bf029b2eb975d74b726072078cd719daa04eab410789c14e7ddfa3f8eca6b8b3e1f538aa1b04aa9504a3a77d29a19d13680fb80cd8c4ad101616baf2bcb93d2dd41e2dd449e302ab127df3bbd3f3a77263834a3ef209e7daad4350b4042c0ad188d7d690229c94ce296108dcc72c4a319c1aef440beb9411796e52e295734cb417f259cb08de45f67219e68a19789aec4cd3a5fa25522401eedc38becf3ab6615bacee36a5e3e5057207cbcc6f3d9a10ddfa043d79a4a26e4dc0e82505dd8b2cf0c8d00f869cc74c725ff409c4e8b44561377610e46e045807eec13777cf2eeeb45dd8a4f16fae4472fec302be2d90fa2ffbab33d95e1af18c0e27166d7dd9964438a6b86c003b777269cd71f54fbf010679602c6f38373e439ace1c93a0cbfd612feb2b9ab4d4997267db0296b2b6b279540a80edfb563d49cfb3560de2bdbcda53b2df4aac681a3b48e8ba000e0727b37ec05ff7399e077f3fbf694dcaf6f0979a4abe925cc2de72c2a796cb100bc3785e418f1199b491144aac8a7f77371a57dcf596581c9fac721754e25530776653689b0cee71d5517ab6824a798f4e5731ded6c58c4e3ee072b3d3f19200ff4744d523dd5412d3eab90c50674c3028e27c7ab0da2d7c86f44439d3da9a670e3829fa642c8c2f39986937fbf7ab4e3bb934e3a85e0a361bad722a3c8aa5ef959dac681984b5fbf4c6320ed7f0d3a4bb1f1130158613808090309c157e1e35cc0773e5e997afb4710c94ce987ab54a09d118fd55e2c5878752722a5c9e408b2feabfa6619d57aa21f6443d8fd057e47b006f6773c6145b95e249aa41126b8ca729f479fa3701628a099407c584a814deabdaee1cfc7a64cbb805b0cca944808a6aff9155a10ce70fce3f9ede4277fde7d1434f770136ea3bb0319944e2b2760ffdea3fc8639b92bdcc60c71517a106677d4fe11f6ff51a031e721a827c639a6a4afeb86aa009216706948c1a236085216f9a96bd88b50e44e372d027ff6ea18bde7b60d95797d2c204e9fb42b138b21e8717f836a1fed13bb67231bed6b8875effe4ac2e8590dafdb9919b0214bf9ac77bc6553bb1c8522c4c54a1acd21f8dd3510c2571925718f55f64ea7e1961956187bfe14560aaec8d27284971a1816cadbc8f3d4ca20dac364ce8d8f6f42426cec5b7e810dbe3bc1fa6720a2e4b2e22b052b21bc572dd1c702d54c24b0eeb702b6940f7fcab1b8c453a63454d3f487daa58110e511ea9d0468882fcb8587dc41acee477d2d4364431c572d1cddfe2283925dc8c7fc2d7d07ac72a0f2d020e5fafc71f2af5e68b8df9bb561073179763148d40eaa17c5fe072dc95d1b8af7e32a14d2e218fb1b855b777617bebc5a33e4e6b680a02f40a42df6b5e210a263573c62f1b1ce1415faa2d161cd818d2ab3f9c868ba52a49d8fd3a6fdfeac2d161d0017524b47569a6f7155c728d52fa01eb26530094d6d1735c8869cf2dede9369138cbb35595a3422d14fa72db41f9c01b17bf3ff843f9c33ad7b6ce1c7f674bb963527bdad05c2393670d410a60634ebd54c6b68ff2fa44e73d3db7d0be1aa59eb4e6c0608bd72d7f82281f7fa50f944d6ea8ed8fbc041d98caf6e1aab7a0ef642aa5f994a538dda6575b723054cd69b2343c824657771131503b6e7ea0e709f6a33d325e01a279111c6f72bd7b14ed10eafb42ec0f13cdb68c06bc5c2b655a6337f404e9ff179d6d3ef405bdd4b9cd29e9b7059081dd8b547209a326064c16d820ccfa2c8dff3a3405fb72994fdaab8de9e6e7e14660136ff11dcfdcd619cca2a5274ecc4413589b65c32ccb25ded94327de3e542968c31f79d12bd909f1cd76957f3dd39ebfadda76ec098a600b386b3ab1a2b629bdb0bba9fab630bdb0243c2f845dc67feb03e4cebd5cb031fd007d21b5eef21e8cc490bd01d2b7dc163ea2d7bb9100ea88b2e0126312b893a6fced8295592f58d956cfb47e00d464f962f13c244c70d2a80a0edf644a27854d2ff9e70f1b76b84de4014da79187377ab247e39a01aea01c26faf89107ffd8d1eb42ab01f9b270a5380237c9e321564b13a5fa1e871190a32bea927a242b93907b8314506db2cf517718e11dccf68747d027fef7f14eaf5534d8154a7251a0e4b1eaf57771d5d010c64bc038d94cccae2173179691c084d31e33d64a0074f1868e7fa9cf46708bd62a68bc78dc49563ef535edd706d9106e7884021572ddd70f5a831e4266c20bcea0c4a6280c022fe46064610799a44b7521a3994e5d2f5b8e65eb828f33be40f6c075608d2f5df98eb9bb0dc160396209d9ccf8f37235aa458a84bb44e0b4c29b474f62b909ec42fbeb9205eb7d88d39ca09140db45d3912cb2c6d1d162484580b8c81093c333c426ef4e56c4e98807208004dd22722881c6fa48a6a533a7bda316b436b49226cdb37b0470ce3d11d7d2c8460d0772a7092192e387e0af5f2684d8d260aa62ffcf4d1108dc0cda50771936f48c0a538b66e7daff3c17b63d579e5304fad87ee3fffe6dd359372cf83b47523ff0e972cf64369c7f17eca5872a091f5e0108c7a9d399048a210c9401888d4a1b03cb72b2955fb71d7e1999a6e7ce10129b9d2901d292e62ae1509f47a13a1f54df4a72671f3d35288f5826ff9ca0aa86638cfcdda9b18edf5b42c367dba13dc7fadf1dbc80002851d14661867d96f30bd5455542fb23d09b99bf923ff70d15925c70260116287e2f1aee9a3c3ce0a83e14a59cd014305317fbb6395a595adbe424f348ab8f5f03ada7588a58f9a53fe4bcde3629d0dfa3c52ed474dc4f661ad9e64972c4510ce8ec81ff1525730aaf9f69644888bd5b0c5a0f502684ee2a7f2e41bc720927365668675ca33225970afe8638f5851d7cdc9cb9a75f37760f61b68a2872ad850cd546ad0de963ec49e8ddbc10092cb0549b42968ade62043c8ffea2e472063879a396a24ecdbdee168b305315f7ffef36805290e71590ac292488888972eaf3d026828f8288c94a8350f699c1208267cc3b0188964269a3b567e1a18c721f625992cc0658b173118cd3459ad76d1021ee2a865979b0e15bb847e4b26a610e63ca5fb55b9c239e1a68fb2b6f3ce2bc704ed1f10907f4f31b3ad637ce97728701261704db55666ac251af47689705a24decb11cd8454cacd0d65c3e159172e271676cfc6daf447393e29d15aa1845769b910806d8e5280a8549131828695cb9c46e869f0ef13b43bfba0dc78b488d35a87d930726f0cc4d2b046cea16955f768fec0dadf1b05a7098eacaad71ecc93db08d580ca7630431a3794bfa478972fc14aa407d66dbf9dac95384f9b23c2887fa0c3a4b9e023cb1cf82b19e23ad4283a854422494a2449d3a86df2c9547de45289d30f2eb9feb652b84aaf7108972239a8c62ed0fd782b49cb9128a24b6caf3e45d7d993aeeaf7dc2f134ffefb172c90dc2242fab6f75b7b5d76ff3136215f180ed7814eacb66663efa46f60f72677be93694d13ae5404534c3aac72f2aade67c9c512bc330044697fcea2c5cc1682dba29c14a2e7250e45503e61e4f08cb1838702de78cca28f5785d0e19a51d71dbe82ab21df0cd40e61d630f74dda51a75daea916625cb3c403870a927fa49720c34c7d42a538d7e9ed090ab8dca72b71ceec065029ac7a4c841404fed566666deccdc426f4d81536742273f3e14961c1034dbf8d1a39f7b65ba8cafc1ed6472505203ab01aa60a570a60176b78574a95683f81d7839d74a6b7576762ada4a39cdf8697309af3b84ba91ab702b9779e2ab53aa19c8295c3bde79641c093f0272043647ea86179d09bbabccc9438cd506701efd27eeb6c8b16f25e8c59140416adac7028c2e7ac79b17c996ff8cbf39b1b78c99bb94ea4055559c464e55981472e81b12b42cfe929ee6e4053b257587f30dc2a7fc9c29c42cd61d039d5b4e1772f08ba8531046f1e98c506b48c1292d3e455cb2be2c565368df3a5a3e24207c29d79bcb641fc2cec568df2e73b575cbda9127548c1d536f6a2d93db1cf8f8f37243be9b5486095de4b8f0e9dee85b2541ca53011dd7d176cb9b72be6b7848b372609b806e3d9e0db4615b0a5d3deff6f6cd582e1f8d4841d61144038ef20d15726679f0acd426ec1292b8952ee200610641a607d7cf4dffbafe093a0971e6b23b25526036838daaa94fa11d0b321739a69b324fbd7edfea9692d93d490c42647269739726f12f558da3b34e1983971df11ce5b85c9877c1a84bec92ec945a3c33d67f71dbe9631292ff603de9329382f256455fa131d88c6d093e63a7b058d418f8e30926ea6d2194792a33387649a6f03b6768500d404375e1c528c0bb89f923226642bc0d0d33f5e5095a33fc40292e12b5cd1bab834e275794871d0efb3e72ec77f6202c4d9e5507f3b8955616a5b54f9a321e7173de304870399c888e81725ad08366c3268c3d222bd1bc0da2674740bad0f8e0d9e4d6184b3fff6c94472fb4fce6ba52ad40594b13ab0af31a946353bc49512374a8a66ffc52c6acaa2c727c6d368ac21cc5b82e76786ded65c96dee18e0b2efed089f5b8940ed33c2b1720bda3c7e084cd1101aa711715f66b10f37db0f0ecbd5ed50b0bd9a3bf1dccd52e8095fc2531d7a83c8074832233817dcd857e3081316e39383661ea0d0e2f1238063c163efc9e3dd8cb03cffb78a53b0994bc9a49728fef1e4b0517ae9717f727d4b96be1a1d361f8341957ac6aa71c8b7902dee18adfe1d37aa23f3a3bb233457ca522607508182776b5e0a0e3ef410ecc165ce7ddfb7d1428f288170f28d72a170aa23532b9fb15fa07c7a5a7698b63cc3d8e36a51e9f5797f9265d4c3f672d40d34a7698670d20cc9e052ef99b33c91d5860f0f29e448a032da12559b767278aad619aa95b7b6f01fe3ec0e57892402bc35f1560175f091da7200f9b34272d8fabb5c8beef5756819b731ca8a46ecb94f48b19f0e4139bbb01eea89b4687206af1126b8c8431ce22b9990127f7e004f8990a0a36e68a19bc6e1c1c5dd0f35e67d24697a148be411a9f00038985ba661e8e9b7414165637467efc6e88e8872226a6245cb2d773b7485268574d36a3ca45746f9ec833b9480b7fdc4475f3d72f83537f5accdce80fc5a8892a6c6f870fff6eb53a472f102d8c933d126a32e724a4d2343f11705adb36c3744b8fbb53be6093dcf885297640ad7ee1b6c8dbe72632a49d0066bf7b8fa484b605ac251fb44a90514c2e6d44407a8b39f227be4722dc40918ebe2844af2d022d0a56c9980f940b82597761f4f914ce10305363f4ed65d30d6714ecc18399c2e1675a536d60dddcfd09884d98507b584cbf5e64f0ffb54d105bb9cbe03f0f57d455ad4012dfa63be03f1dd7b79c78931be9b125e7211cccbb1e132fad86225b4f38e60d9251798b214c67cf900364c08cb3a00bf724db3350dbafc817e6243929059ce315390326a840ce7d412937623460c7fce0532f3ea5d4903ae801a97c6f35b60e037724c0fcc92bed2c3dd08f33e756685721decd02758e2a1dac8069b2ec5b5a200f988e687925ef5de8032a568fb6a7472a4a98166538643b0e71df575d7e08f2c4c47b87955cd276dd59eab8a27a9b072c81e7a38824014dca425d273d7695519a278d3efd4d56ac8debf900bc6bed172401ccfae4982d4f6a1f618717fd425b53a2ddc9115dd69b13280fc8543221772a310a881a480f6d0465c91f7c61e971681488c5754dc3fa02dd8c1f597e55d72965f4dee787fbd012116487c6e2dcce6e4bb41850f795b0dfc90b54eee93a772deb30607073075bb3e1a43dc23f06823183d5007483fc7e1054009c9d7138d4732231a81022db6638296da8f4057ce978ce758fe8629021024d279f05d2bb572fde6cac42c4c7ce22c9048f65decf1c5fc474f0f1cada1103b42751cbcf8847257f0fc11ce7c1533c273e22c5f290b5ab21a9daaf1e8be464e63338a5edd5672fa5d39d02cc30eda68a04d2be202bd358685092f1faf30addad8eb079beab848367e22e00bdd5cfa3fdebf8c6e05c210374abb014662407f1db3aae4c85a783bb433d06d16b233d7e1a73ad15dae7037fb1f7227c1a1028e2e3965729d769226cbd8786bccd6cabc71bee861899e8760fa64908653ab2ef735c88cf5e12c371a53ee555713218fb77e4986f8715fe97c8196d8cd3a7b8fa5cba092196ee18672cd0eb1dca5e78317d071d07d43e224af914b6b854fb17dc352933ebc5d73387223eb0ebbcfcce22047ad7d6108165b730eae8808d964bd269e92287c4b39c172f3e865ddbba253ee8e380de33dcad37e10344e372cc4c2a3282a3f258a5f9320bdea7cab4a3fe8aac72437a484a380eb1fb9ab1b195eca2c0cb4a145c8736b729a3f845614f775bd3e9052a90f67a2f63dd71cc3518a4dce52884f0f9a20d12d86eeae57f8cb8f2b9c0d23f839173334f744dffa9177eba09ac85465fd32c139b01d21cf6dc97f1f46c738591f9966ba104d62d3f9446c8ab6f5c9ebb19f6c7244465e59a7bb562e1b3a7b5f7ef29f50e042ab27eb5e9e92745306ec4c792f72c0525552e28cc9d7447448009ee202b090ea2d7f5afd78bb848f2d5c31ef9d1f61cb1a650378ede7712706e1938b39410de338888001d8fa3fd7c8cc433948690ccbf1e7e193b8c61bf63e9cb06d8a66ecef07e06472c40335cb48b3338ea1455d63a2fbfb3b026319e973abe545ada66758d6eec599575bf3d91c8ee5d61b3ac3d51daace1a0bf5d990a822b7a563dd7ae56f25964008e12e1efa3f165e4a72a5b0cc9bfd507a456a212a0f6bde2424ceaf04071af19a9c7c0948853d579a6d936b162d1300a0c4d84ee4bc7488ff1fb6992fa0dd38ae447f5ac3b0fd5aa4554b88573c4ded9a520a2c25c0eec59f2651e50ff70caafb2f09bb41d1c7fd8d127b32d6b9b4b36026969fe3d96610575edc3442eef55a951c2aacd0f7343b442fdf4e81e7a22f53fa3b010d365b7161a687e8b5aefbd088e94121b4c8241525285c6be2f0c500c5c5f8bf57f9b120fd6a9ac65061d118af5caa7719dd664f1d723957d638c8cdc415cff0f58526f5fb0fc456e3979af889669907280e36d5e33c1eba13bfaaf27401decc18aa64a5cb2bccd30074ee5d0325ecdefc249bda2a72c5287a071317fc19bee1eca8825b1e74f804b060b1b40a2f0265859a0b051d7273eae74b81a50884b06d5e4791dd25608eb262d5d3ff7b7abfddcd2e47734a72a4aadba63b71b66d5cd175d7f1a575724cf7760407c6932afb4c307ad7e8d5603632f41ecb813f08073856403924dde1939080c1ec8b64d4c28e4509138f282955488e955e96b6a40a2005924cb5d350f0678c0932a613b217148f1802a38c727b529044450c3c497423c83c64048b396048b447ef16f27d6d0de10338c7092417a3b561c876d232fa9b9b61471ef81a6f1de6157f0d91a4b7a2fde9943d437269d1b3fb46f7cbb027a4fad65038093801a9ef4067ce1a48011f20611a0ab90dc43054d6a896d0999695c623356aa3ecc6d463a33dbb19ba60285b289d44627298caf41d41634fd83fe4c74ec82104e18894ff696c60c4cc39406e2a3f91a7722c1b0a5a8168a9403216fcde77fd3bf4175c14cdaea928e0c95b79ab8780a47239cb72baa79a8480df549d64326a4860b4b12ad73cefd87ce768a31fa8f1d172ba01004b9ab0a4ac1b601a5faff6ac15c05c571c987dbcf0eb0426a86d261e36eab4448ce2f6bb8b93f41cc122c2f2d07c8d7f4472c30fdf7a0d97efdaf0ac2856186e43e5adea0dbc56440f8b3fc3d878375f4cfde92b42a702dfe1942650720a2f330c69ed3803736bcb8188a46af6ae7b61e60276f7832b0346e1b4b788728546b001f5ad6d2079baac88cdde66e3635e4ae7e265d17d8d19dca2c3b6af72ce80c2a2d57887c6a7c8ae3defa63cd1757c5d6a6f50481eda6c2617202fa767b65563894d03fec64c575e85168bcc616fa12704d7a7422de7a7e5f4a681f57289635a51f8ac38e8e62c76018769cfd307ef33e1d47568de53e29e10b967d7727d9c5f4c21bc5210624f2a51d8bb38d109c820509457cda72a3bbdc05306374c24421aec5dc078a95ae2edd08b174857faaf9c5c57d1c2b1c9ec45e026d11a724b46bd99e69e932a4f2c4d4e170b2844de90f8eed49599d29404672889fd6925a5b1a5aa3ba0129c5b0d1899744d81001aaed182dc00f3ed4be516312d3fcc6956620e279fd2b4ed9f9ca5e4e6c40779d01b174ff27afa6bff5b82738863fb7268d84c293978d96a49a46f20149e150307a2b372963acc399bbba65afabb7e722a1213da166b03738708d1a12310f263d9a79fa0ce154c9d3e3c03afb05d520f78159dbc92afa5f4b5c6601418e97909a5433650642ca38a49f7e576bd763f72d51523d6f3827e52c1b172e4ea6cebcbf6d00b3c574a474120b3abb60a1ebc60ba8b9a2eede68ef0f7bfebe5834de40648e36281d39e63c70642e00d5ca79b720b3f9190811d31a4a98c0f3775e63039501dd7cc7d676fe29a9b25b64c2d6772cd97f4c7dcc31686b1d1862c98be76ffef500e619d4ba205b862aac9609b356bfbb51094bc9002379b0e854d543c23aac66a0dcb9c7bcdca9ade2b0e3077982e203a8d5a634eba8dbc6122bf0c5b1f53241f219b10951f8f0a9089d69ef41172e906a6ea31173ac298c724795cf4e5e0568dc01f21a2f22c48dd49dffe48fa46d59683c71183de79c5269c55c2c570d9551eba894d859ae33c86a3e840c22c72fd819bea5cce923763e33bce9313be72345c1f7f31ad068ef13d00073898397251662498eedc3bf5ad9a66d9297b351bad1c70f11460b442510329e065ab667220a9d1018adcfc3b13aa165f47a531900d55c6bf0afe8b992e7cf376905b7172fe7eced566ad4d2f7482cbc4ae1593b05660f7f68571618313b51e626c50706adff861647a558cc0c3849bfd00c9af98ae0b9a1ea7057ec9955efef27d34e11ead29ef476df864ccf054e6edce849372a4318d831e6df56a95ea6690ab2bf91382d9f82e2c10e52f18b3c26b198111c6508bfdfc30d7d57ba2a72120bc38b572bfd80b14f6b8eadafda55935306a947b73e40d3f551fd4de9428d7b4fb2e2423a00ece27b4a012f78312e372e68c4a678570469ca78f2b1254b2f0219bd80649f2378b05033c707c7c00886807408a12cf2d82fe41083fc815b6bfb1e2e34172d3243b68514b0c4a1da30c00944ec8cfebef858d1817738d9a2ea2688b257f72d155b16c030ab9deff19a3409e98b2627a67523b390eae2a460aacb69049d172e2e248f12eb13c387e0a88a222e1d74cf4392d790eb6f8e284a2bac21e1d8a1619c13eadd7c4b7e2b11548f8545f32774f85402aa16fa12e13d3ffa6e8c1ce72205d0c4a6c2c3438e0a1f430238880df5f8a1c410dd35952b8063b93426ff172351c6aee85e5abfc6db6327f21c818a71c803ce95221f9e0fec7b0eb12cb837241d362ef4e6bf4dc6302e74daa6f397305b912d083c14e80250b094ab08f5559259e6c18e9366ae3ffe3b0e7831eec4fb48ea6ee8de4ed3db3f770289db690728da3cfc49ce3f1d180af12824d231a3601efb6b03b412594dae8133193a1df17d0598fe50a629ef11a88e537074bbf1788bb8a8cf38b4e56cfe630a4615377408a3044101b02e8ee6a4ebee9606516dc89e1f15b5e3f496d224c28c456823942f41d02ddcd3ce3b6577fa549270d26d762fec64fc44a515c2025a0beb7e8ef722219cd7e8351ea20725ad642246638b9920ebbd7e0525c89136b1320492a5072ad2d1e242e0f6e2ff222feb095d7af4fceac46af85ff94972d3c5abf8e3103729141bb2650134974d5deba9c9b143ad99f0e6eaec6717034bea1335e869959154cc3ee66d84f02a06e9f4d2c9194c5434449e8d516bd63adaa8970a998ee00421698b7b776d96e64414a389aa52d4ec38dbb425e2a47ca523654ae2a28115159488198c8d0592e7640a93453e9673b454a585926fcb0fa49cda8bbdfd433d072ed5cffda59dbeb94efee1f9a07dc29328b9fe6899ecf5d45c36571784f49c320c0f90c9296576fa44a7565b441a1df506fc76df5e343080bbb6bbfdc212815722b8156bcf7a1690e5727a5deef2519767ed29abe462988fcac466f49f31431721dd19c8c328a020a280b33d43ca49657302f3ce608fe8d60e811911c251358724803ed232e5959d9c52f27bc8105105400f1fae697f89f7756d4d94b34e862727765cf407fb0ed53afd6ee6c177d30ca1c4ca0a0d69412b05896d235e177972e3b10c5ce2ac95be22f24f5381f0ca38d25c6b0a610848feafc1d979f910c46288c6af4ecce73631f6321ff292d1e99a6b6e71c5f1970dd3f5d0140d54542835ec0d9bdd1d3117465dcabaee0100bbb9a482a60b81c8a7fba822220f5eaa1f45e4a2c5c91830859d2e90aefd41486206852934003eb8a689caeff73fbbfd07072dee42e0453f1b59451f622292dc34ca7353927316b5397643aeba15c0628a33d6ef3c60bb9e4d8ffa2cb1291e0764ed4779a2d0a100b12284acd182d82d8100472831e500d3630101f9453f4599962d137790903d1e5f108ad398daf2e02c4726e5f24721f7bf70860036af2efdcf55b6f2434f7b3fa2bc26aa2c6f36174a472b75c4b03dde41df77678df65de3dd3f68b343f05c9087cd618abf5ff2e1d1472816cf97a88695226ad843359296f6e330d67b24ceeccdbab39060a8a0f2b01722b295dd36f9d2144f8b7cacf80afa0825cbc7d8238bef1fc63e995f3f0447d09851fe733a4ce576376f73dddf9107c32faf14fbc72db840a2a86268ce5deb5726c32ff5cf115ed9fccb314f080d89301b5e538b9d04ba288c1050aebc3ba1172532f859d6bba45ff2f88df1d0216c72ca6c9fc4f504791618c24303f1668aa7288ba54d8d500dd58e104e252adcca1b503a683505e3c1af20d4c38de2265c257ff47f7d633404ed469f2b58c5d5e8d76fa809a58232fe4e42d0e4dfa55185f7256f81446e965984e74c38fae6a46753295c7e1c15230769dbdb34d3a652c83339ea12bc02ae4af8b406f395e2cad41d3a2b359fe6fd6f9ed05b1f300c950e003f6ff9785bde737a54809d630c50bc25e5aaf713264396854772d21c2c2128472e9abb26964d6bf902bfac439e17d9ffc2b3b4ff3e9decdfc0fae8095ba240c2b7cd45eb5a24f646c7397256519dc3b3fecd50c83f63ae8dc9ea89419dea63f723f322635ec21e0a9927941e077f48ef944d6a2921c3e1389ae4cfb8894a33b4e73923b24a2ad1da64548a66d8c88d8df4aebe768c5cbce7f26144f603c953272aa3dc3623dfb1a328b47e52fdd085f3199acc9f21a85b3f0117302f3209ead7291b761d0be8b38ff65b108c494bf65b153162b719a80e2feca28d65a57644423a2a0a463744348ff62907002c38527c99d204286f840eddbebbe632074def772c62397fd0917eb8cb9cda25555b93720c665135761336be46c9b7d6e2541f23d44221e742fb6137bbaedc8d68fc99746e95b76d43f77bb639db479a4239a227238678372c15944b9c476b546bcb28d3d2acdd059a68c1876d63f2e1368749a72b32f9ca6ec0fc23ee4c7eeb7a41b4e070de565cf6822a7f2651faacea41e9c54cdd3d5e4fba56c8b58825f9caeb9fcd3b060adc8adbe0937c0467b10fc4a8e6a9824c66670a37752350acb857fdc8b9d93d3a5b5fd89406fb469d5df2ba64272de64ccc7acc6bac64fb35ec07297121eed73a1157217f2b7e9dbe85edc60f17225014fbd04fde659cecc00c442a36bbba05a21b1a88345264763afe85e5a662efc1192a0b6dd7c17b97f1a6e6dac9d0a7b6cd32790ac5c078b51e23c88ccb8723e37b6f4501a2672fc176651990a191add260b64d0e27a0f04087b0eded17372ff6ca0a3ad6799d6a431740be55a0a4552b728c33b8fa1d04d0fa8ebd18322724bf1fe3bf801cda7500797ad9e1636a1292106439022dc20bc832f5b8fb254397125db0a9ee77267ef00267e4e052b35bf8691a54d921bf87dd2f49735770c728d636f71a784d918384698a17afdb7e649e4b2e57454029164f27ddd4fe8517248c48ed2ca160f15f9156fedfad2b2b78b8ba59b2f866411cbc358df5a63e772bc528a305978631f923e2c37dbe61db88a7fc5e02483cdf1a58e5cab0cf5ad720be3f367c0123a7b3b3ece939f5db79ebb2c9de0b1d7c8a3e94e223e46628f461c798b3597fcafa88e2c5cb564ae6f24d1c90801bdc79d3da6bac9ca74466d0407dee4124ca4bb9e82a3645220946c94d1d233265d41371b91e744af874811729a1a7def823a0dd389775f85b7b3f514f13b99fceace4258b6113bfb63a5461e4d4fdc4f58dcf0f026c97b7140bf4e5e1b6ce5fea14c064ed4d72964a893c872462083755bfc7e4b596958041d1641312305f82f03043fb6319be779f83f8772f7f586a372597c5b14f9255d29dd32ce96be20ecb15d74db7745ffa8f33f505090c9cbedfe2c7637c128d2a206d19769e130592dc2843fd8f15f5f1d2535e772bd09181dd90e8c516c3e336585662cf29e37afa5621148b4c8edf79227e9463b9427b8460f5c13e9a7a4e69cd8481127240e3a98419131a41592def629075b7274345ed7db0c9f69158d4ed0c02c71c0a55dc633ea0aa72389573bd1e803fe721438ac68d27e37030d3b7681a2fbd97dcd4cc6e85596d888a2271b0b4baad21ddba41aa3a714ed9f865e737c1b3384cad45954f3b1503674ea8c1f2d86958b6dc5f73af1a5b8b40bcfdb19d10835ffdb841f3cb50d4526733ad343811c9130722cb30ca55b7ea6208bb40cedac076070a32cb37056eeb296489c4d4b77ca6f72c94aed6a025a62895d0c5826bc07b4a1d4ee029a505935f2b6704048047dfb727d00f634d5dcc05f65198cd7ad2b3993443bda3a4942b53f0bf22fe00be3e972d97223f65f7ed09700944a886832c3a21af86ba771a1fb0e3cd610ef23564d72ffb656aad927cc88e491d09de8dc793eb0d6844540b4266065bb451016271e35e84cddddf6a563d79d07e9f15af2bbb5733608ff5f8775bf8fd523267cb2797273bb133ae566ce8e390cb661c9387908aad4346f3ee1b0649c6e2cb531c98a72bb537c8dc601ccd9d17d1f083a552e06a8e0fe8b30683a62607b0ff5e3c07472640f1f6ed2f07d8d7980c170dec9671d85cf9580756bffef4e897880c6564772504d27394257851d44dd2be5d4a5df277aecae7ae204d87a1eb84f6d89c96e7271f5ec7f96e0711b6ac10ed94547aa3fbf359ac21cd54c754dcc5e4e2b148541b425b6dbcbde76b1f29c37ef65736d3830e35889be076cf005a01e8d045f1f28de087ddec9f4ee33e81d295dd205ba5f6fe74208249f34b0d1d9a267d0cf8472240dadd0f88ca1021fa73bf2f694b59000bfc66717c91f2059082692ade2813f3a4181be1700cbc3ae8e90e09ef84d4e105b0b3076971fe8a2c5ec8afd1516381b7516e294b9e122373cc8dc4e49f5d509041081c739352ff644cd42d0315c10c5378b2c424b1367d3c57379a8fac453eb9612e5dcfdff3b1551955a4e4add3cab4c0edc6dbdfd0fa2662cd7c1f05873328f8b54ab7156072be7bff2e04d9a72509be5c7378ae533fd151cbfeb44a77cac69a213eb2a2b80a7397c52b9fcd17240542325717177d56f3e8d1f571f638a8829d71468583a7bac32c17c7837f518542c52f866d2d4778aaf86c2fb740a27f01a9b4d352f308fbdcd6b0062ab5464b4d58aa4a21ea36487bd64f73ca6115be7d5190ca9c96478a5a62f85635d0f72fc7701f61c4d86082e2444bc8096b7613e628c0c0c1dc382f80bad270fad9b2bc84c271774132ba2dd595cbe0efab8605e0e3a40ad660cd35cd414c47500c272117387e2b576a3dde4e69d5af5352e9328c90434401d5fbfc3f9a47d5e649a72edeb157596051d24d9d00998409c61d406250d7952259b13fb8596bbc918f22af185e64727a7957812c492156e7b3547961eb1d19934573dde263a4a29fbc348f9f3b97b7bde6e9a67c90447b140c299b1c1e1227d1048e6cdffe02dcff8d65c8cdec31bccf64548778cab400529357f71a53877e70056d0f2580a18add05d556cae62fb7e0ef350c2d4345e3848e6a32a8baaf86accea338e6f31c249f4625748b59c96edd3469a5ec0e29d2e899d423ac60bfdb932ff655e7ff2b33840993535d036ad6c089156d27bc4088c600afdb2f594c882136b2ae833be7786f92672cde339d8c7cc5436feb089d3d51fff1ea7f93687c44da0d57121087ff03a1c7225d6ded4a30de2fa3f11b3e2e1396cdff83fc9a6a47e65417f737d599da6c6682ced5018593a0effaa46b4d3e46aa71a3543d67623b011ef245e259d8fc5a072c604d8235b1f6bae1a6382da72be3d0157c310a2a5e77e9ace85ffc5f9a18b7219af3a6f0a37dd23c956598c27893c6763271b6f0d714e698cbdeb4a013ac13b5c891295b26dc1977d8d4ab7dff3a4e4df59ef918c945dc6544f616a8a3b5b36fc69466b350200ae578dc82bd961534994f980e09d4d8057ec11397744db75469d093f8c37d3984487fcc1c7f4fbea1ffce402bb41b7cf765b820d81c6ba9572d2366cd35599e79102ff765f55fddf021bbdfee1846fc25aced4bdc82308f97215f4bedc391cd2c5ffb0ccee407b138e007e5740eeb9c976a6dc660d19bac4725edd8e79b116449c8916d7cb222c9baa2c128c41cce3cfe195cd3e7034c686728070f3de8bb654c9d6e1e887bf9f935392f368efaf78395ad2895210054aeb07af9954b0b22d0db4b8ed671df4fc4d192cb4c49e9bfa0d1c014016daaf42de72b3c9d0c0f64f22a9ebb36ef30b2c2582946a0a21dc748b84ecec2f76a04aec720ee4e4ad3b9fc9425f4350eeda10cba82833ef592c73271ce57c1962d146e34e7031547f135a77b00026c2c3b514ab88ad347514fa3ab5dcceef363551e18372918ba7904453341e56198e9e8fdb0a76be609f7fe97ba39e76bec04895625520500e357d62facf6dd899f6dcc024be8f73d159928366ab379f5a5b0f93110657fd44c7c7195e583c7a74b86ae3f4f883ef49de2d981567e16eb9dc317138ef3253a8880b43d009ccddbdb30c1d73a1009f41d3572610cb0bb29c0437a204997282d7964d7f522b5f57e826a321724522aee2f22053457c375c0069b9cc13d1669896c596f1b8829456d4b750af312746e21e8923c0ee2263bc65bdb2dde095490d91d3bff2fd93ae5a67678954b677324be66c06a2973531d634a9d5a1959972c6eefe6e674642881b90a48a6a0a6cf37238fb5c9aa02407a5d64624753e752e50c65b12c3005601be3b037bd59f2bfd7cee5686a5daab974cce67283cbcde72598baad49dc728f778f16a4a0aeccf676dd779e7ca77afa5d897aa49f1a28f727dc8136cb8d37f3410a7642cb5c5a6998ed65e1467e2a172ed5dae5d8c853272670643826788084c8c0173e2d10074d665b58583299d5cf8d15facc1e29e320e5ff52ef44e8d09f406e5b897cf78f40f23d8325a1476802c6502ee5657b7bf5685e1255f997375f1835364c62c9c41611710ee1ece5a28726b4350d76f9a54725ce10f60c4a2afc1c8e63b659db6a0abeacdde317e28f743ffd5ee54e8932e2f0023a66d00241cac5d22348dfcd252de81d7e929db132ddd5d5e0664b82b6f034bb2e6c316942ee937cacc3bf605634695d81db83888ad719db2b4d11206424f835e3c24c2acba34ca0d311e300df07ade93517d235f0ebb3d753845c612bd1bb7c63057674faf10be2acfb12170ec761530697b39b92d64fbabc2911a65b246b1991a3ed3363ed74a3ca22387e42f1610b00afb4ad54b8ff14ccb03cfbd9a459f1ff1cb3747c0f7bd2284abd24d4f2377639a959a9c711139789edd2af7c6434e5821e7ded8da5e7124838a3e1bef580991880322f35b51b17706440f79792eef54585d4846f288c86d036bd0b294feb2bb734eec6ae4fc81bc0b29c524c072c2cb61a19c617f7ca24a05fcd6038c2bcb8b4a257a18511408b707755476537221bb91e4d57eb5561aa1a3ed1fd90c4e938bf75d63d39a30fb9c8317582cbd7204be45b3af923b74ca7fa198723ec7b8ce1eca527dd4d271c98da7c66b7f1b724e79e5d4d947a8ac1fcda50782d3aad3cd2c9438204f24733a4a9b7490c87f72208c86e6f74148b155095b3ec8eac43a4284790cb832b0f38344f75eeaa0bb203233cdf50679bd6ea546a4a47de1383819726271b2ccda52b52304134da2ea43f90801affe31651ba514c2b3270d8195a520ebdb072773ec3a4b1bb555e096726282ab4db4a24aca7cbe00de95152a9f86cda78ea56b731f7d30dc86ff4fa172bd0baff5c2253dffaf191444c6ebf6f60b7c8beec62f5bba57cab1ce861f8172e12061fad6e1dd83f7b1331e100945ae279906a983efaeda7124aeb99074a9477399253ce41f92227e63d59512d634f5a7bb47ac8c7ed8251d00e2c17b32d25e069c9043d56fbbb186f8c42469489df3c4f557c4ff0a6bc57013e72d94c6417275a0c04ad6182e6a17c14b0d9c07321360e858917c5ca0991f86d6106ef7a972a98503f595fd7dd7d68fa0d9df1b7ab3a583c74ed53fc1fc4b82303fbf8fcd72643916ccb940c7b57b4d5e61f319ba2c620792866bb3e68fe63a39880bc98b7298600476dec0f2aa056bb26dbe214d523a9b5ed63398cb9f45d13923ee52ca361e45a82592b05b1c9096427f89da795be5e0d0fec1aae906d9346cf94465e072c40dfda1213b57ca8a60e72d1d8034301634c4c2bd22270b777e48b56e152072f829a061bca5e74f9db3340a2c5e5d012a2a2c8783003325da1b51cc672e640263508a338e36921234e3f1e74462b3f5675e6800ca9814d4692de41de87c415f0ad18841b39c99f8c36ddf0101d200bf4626492ca715ae538875c32fc853c943e52e9c4ccc6599ef59d681fb8e102b5543cc998a4c07d032edb684d0d3676301cf769043ffd5e69e1ad7bc1c08cfdf17532201ffb173818afbab120140cd47720ed2af84926276d7916b280f8a8adc7aa95f68feb7cb2e4e7331085693528c17db8407efd1e2e4d7191d978ee7c61840593d06cb09c7a16f1f1dc68474725b45c1360853ad5362f0d3acf02a06c6188696fae1b6e356327836121efd13f947723d7ac914d6b23ea3847b7cd645010bbdde567379ee82837a6ca8a9979fb96a72c4809de68337564253f36861bae459685fba6815f572cd1c9e38d27fe2045b09531e1a0bf72ec7684989eaebbea6c353252f83a486325a14207001853f51ff4e73f8745d69e115c5c1d78feabc61f30d3351af6bf44f773f99c6ab48e51ea872126c2dd64934dd23c549a9b0576bc222fcb559babf3235331468c5fa01e9b80bce8a3523a3ba2a04eb09a19ed102012be56517432b3651738b0f8edd745cf9724f2cfe9f559eb60bd29d213f904d44e795466da8e3fd9fb016ce8b4dd085fc24db7ab9f5899d7979fc05d15fbe9435d4af272be2e91fc0ecc566823c9f343372d5cd18fc5b2f46665e4eb02638e48d28f3d075a3f21f03fae07a7411f0994f725e63cd12da6cfc493e635e061032b318b0c6029032497202d0a004bcdb024d726cc73a11261da5e37372ab304c217935faeb53a1d3aed21e6a7aa6248582f172c5c0089492b2158f8f21f8935a574a742a40183426f633cd1674b0f826a26b176470eef5730b5f78eac848f6311ce68039354d59b2e608fcb978a95e06bf511ca77dc8ba398a0570510b0b1dd46d646551e859cc4cd36d1aae0d707a606ebf23281114aacec33ff64538525ed1a755c2491cae0b00a65ebf3b97e0f528b7f27222e70899d59dd44203a8f39c5ec0d02716f08d578440bb762ef2b402914b1c72d8b8ad51cfe0058049e2d146ff386da582d2d9daa5cc087b68a064ab63a4f0729db94423e760de163de6c39eef7d83bc0c0f85b90ada5fc02a48487f646d4403d73def57ca6b690e37bf6c3c03b4751cfc9388dbd96df2a41b3f56a52bd00c72c07cc29950e2fcedfa36060f71d9a54cdc4c2e226e07cb4caac2264515507e72e04dc2ca489649a1a79f0d1b26ae5ade7861aac033f932933d0e0f3dfe5d617263ac80642b50b8c128f252c0d54f34405205c6a1eee6b3a2fcef95b2efcfb272e5b9ae45b6146f045683dc55327041d3698e09002571e21eef727545750fff72c4e27a91dfce133b6b40abf9e4df14e9ccde197535e4b6410a00d8892d3c817262982d4c2cddc40f49070586d7feb2c75a272c2483e8e7b429538f28ec96cf72ff2483c0cf7259b14046cbea84d307b5a4cc0c2faa81f1707a9975d115f4894a4fcd66d4ab841f2d7d9c25ac93716d116be8057bb8df40e18ea2f3299af3ed5a636b645ec37c1645d43b66769a00c0cf5ae6fbf9abda3388ef8221657a78215d05a09740ed2ce7042ca9c0451ef438da49b0204705e35a7a6efc2a9f99e25769d62b2968dd8253107bec527a175b303de09a755f77eabeb6487daea5d588df6c312a84a84a8b678738beb9dd74f96cc393a2523bdc0ba0d84ae2fe5641b5fb72a801e14af3b96d9fa349ff71b1ff763f9c078992cd5a11b17d70de9802bada3ffe67c082bfb6667574b3e4889e1933dc32fdd931c6f9fb5e96a6055c630b7928f226fd724cefdf83c872e0ec089087b9fb376e73409dc93816c7710609688372ea29cffe93da86b18b4c946f3a1321725e5b417617069f677bddfdfd80b4a1725eb4fe3e3de605b19f6a565a4615aa617f6d5cf4d2511aa7501ac706e321167213ecaa398bc6070253456d195654c5ed6f5be5627bd520cdf45738ba4e9c562f502bde82e0ccc6ef69b2543fdc8988131f53485b7d694acac8e93925c3a85d33fe7d6329fef9995ae0e7cb7d4a5a2c786960410f578b0c0710c393bccf84d91caced230b8e129e07eb721ac44bb836461adcc25407959909bdf45abce4a74772857340fd40b59d9f2f7e2a055fa555ae4442e66d10f6824b211cd4f03330df1bdbe348de01e6a154d65b00ae21f858b49ba1e439c97819af24bda8f370aa5272d506f1f5618517e44712b0c62bf7b6a91b3afad778f8ab1a2613b1b8f96c3f72da486c99543b3b1d276b01bd8bd6a3e518a096116833d2229395f098303adb72dbeb81fb4480efb71547ea25d732febca06614a1f0bfb502eb5f112f2723f308a4c4d03baf622a2c324d7dc9ea71818dd58cc8fd226a3ed8f599f40e6340ed22abbf70673ce8ae2537a178e9307286f6d740eb09c3c74642d3d3f060c7a89d72fa3a06826560a06b231883d307b8ba72a476d244fd75610f9d9ef1a033f0aa5af28c976aeaa14808794f6d8ba89c8e0fa1ba35cdc46e02fabab74dceb925a66675441d7ae72f1533fd38f8d656f89107ae3055a10fc1cdb88c138246ea727115cf3484d20acea75b5c64a7bcde9c5471c02d50619b7aa13610f3f86fdec3c66624092ea989611c2e12923feba802db54b175fac2cdcf0ca2fc9e0d7a51e80a72d66f2c1003896dbc1c6dfafafc796eb86f5fcb748b248e99a464f5161ee1547268a9ba68b62082fc83b3bd6d128f5b23c018a645218a122b2459dc48a1f33972ddec961805ddcaf3fd70ff010d22ec11fcdc3c2dbbe215e407fc7895b6215272130f155c4ec6c9c9aeacf0b45290d7ddd8b14542b6c0c15aa02cbe87264d0b5186a02ad690c362d2c5a1c2d3b6eeac6bdca221fb53f4e9691ba0a46cd99072679c92b255418aaf1d1c2a671ad0d0722936bf8e63fdb44d39d8eae9d5188e72720c49f2f7d88920ae1d1378d5dfbdfd05584dc026ef12c052c5fdc9b00f174472e9ee3b6e07f3bdf712afde62aecf3574d47d614837812ed968fca9642b3ae4721be5fad1f19662bfad83df449655a55764dde7e80c2732a2f5e9f4f253195a6180a59559f8c95a6a32168bc33caf4ec64f12a1050340aac178e8d44fcfbb2a0b1bd8edcea1cfc503bd4eb18d03e5a7e4a7313989cbc8b72490c05c8d60c30a3d1c3ea4a57c4e6aa7d27853b1a8dfa6f1370e7898f84cc5e0509a73ea01aad9726b431deeba61be0776775c09720bd9075fbf1ac012910fde484f716967844b722aac3f27af95c90d6821c1e43161b78be0eae5de9a62e246991b0e7d73e83b72599a072ca5da531a6a3178a3a856eb33bed09214d3543c7ed34fc69c481155720072aa0442d26b8686b35b1e0685c5d436d2f53e02bc6128398f1040a5eee572e4f59092a39c49f5b2d55a6032e17665683bcfc514299f7f5722212973fa562afe52a4903af4c5d1f596451b47fd21b9bb4a4fc347ddaaa30e025fde8d68d072562365cda5f3b13e34cb9e5c0e4936ba866803c8cea22012eb90c6044f145b658b857a07a94612d047f408a20b3ad007aaf6555b39ac92dd959c66efb6e34472e79916ab88b1cfba7498f78d859dd1d43e3123a27b3c7292dd4d3bf692f25b722479a5593f3da29abdf7961d3712acc65cd61e8c0272f15765123911594acd3b11b0409afee3e27dd30cbd6df507de5883687accbcb641f98422347c28bb09724bfdec4aac8aa5e760dba91706c04efaa33644fd2d89e849ddcfda02c6ba910c6e594a54ea25fad7a5e3b23ca8029c00377d6526bfa5007258cd3ba3bcbfdd41c3b24e2c0804ecbd3a87883d27c052941799b0e267530dfd2259a1ed01a3ac5cebd82c98f862ea350206c7d435d1cc714b83b9253a66f5e5a50674c835949d721bd36aef2974c7311748db917f9426822a60fc1a016b4682f71594773585f372cdd5853f2c69e2578c1ec897e21a6d365269d33c3ddf7ead6c1bf971ec35d72e17ea489bd8de4f74ff59788c0ac1bf4f3c50a14f9be0fc6eb55e885c224702729d53ca4f82cc2b34d2395636d5eaf4121a3f8e89b4d589711f0a72d1d152d272ba9d4d6e41d823b4ef32bbb588c768c61a5a7d2cd5ca67a1ce2249e0e636b3723443fd7038647d20d98b3104b9b907636d3e5148d2e03382aab963dca6a2d80fb15716efb3290538a83b4f059bb88b3678b6cded637c55f351e17bc985920a724f0b38ba542cd2f59b6a938e9d24171cd6ada072d2f7f8ede4429fc295a4fb1e5a29503058319ac3f7e7f867cea6622659f6e8c55af8e63a3b97d93dd5544a72e9880d4ad2df326886267b64e6d53fcfa9ee82d87aa9a1c66d16598b965d22723724521d5de50e6bdbc9790335999ea5df29d40aff1993eca124f0f385d20172bc57a558512e72b4807f2fb4c3e9882eb596c6a70ebf38b5128f4ca10327894e062cf7799633d7d32a9a2638d931b46b6fef25647a958576ab74b9ce77713572822f1c715c785e884bdd1a796fd4a96d468b19c45498dc5e8d070103605462729172d59a7cb3667e272d838868d4f9a93ad8c12459880b4be014629982536553bb0f8af28410dbfa011a0b8f770d54c9a3cb6d1b91627a28464b62473f2fb60e5b6f07a2ff107584fc7485dc5ba5707a9646bd29eff880b708bfcb01e38de0725de541d9bf39ae5d6f2e71201fa61a64eb584c246880a46555a0c2326f929a649667916c4ce503175daa2ac3098603d1a669b1be1ebb2954931538627c1a5f30d700a2f5c4fb1f5778755732159d3ed9dfead47ff1876ffa4b9dd66fb6f20d0b1138601a17b2c6d2667f17219031d11ff335904c2de2ed5ddac9713ab4e32772c5bcdd8e483991a8f391531ad4a8402b1d891d72e04bf6605641f557096e135d45c37c100f621773fdc28a37b6819f317f3b64bac3c80c54839d9344b07fcc5a19e5c7240183c96ed4b3cfe394c671d341e7a0db7ca89a9a1c9bf12c85da97416180903cb33d7d4529061395b321a0a7ed5fec08d1351d19110f06a53bca4e0d7e8c120d347ec0dc3939aea877e3946c6f425422e975ec6730bc62fd64b4ab1081429e184a98a0f0c39742fe41d0fc5859b949b3748353e209197178996e6e0a329e3d546efbed0d40366d39b2ccf2a32570cac38d6da1cdd2b65388622dba3027da4a611014b6a225e1b78880701643a65c4191eff9f835384d7085ab06416e1bd16d8933f46fb62eb2f237b3b866984abe9a96487ed403e3a9e08e15a2d0558d77b477f082542e61e0d6ce89f62090ac5d0b9469ad02d90feda6ffb0b843725d5c7a23ef4363e58d449f42613f15ac3aef8e25c164ec32e485646220cb1320526ad40d0172d86ac66d83e48368ce8b72ce60a64c738e680621a9ffd3a37a7296781f1830ebfd26262b804af07c672b330de75562f0299ab3a22f0675ae2902dd99d04abb5182c4cd7a9d86e218e7e0a527fcf605f29b7031e3555be63e416b0dee3263a31e2165359162305c92216342acd07c697f0fc83d5e980edf6dab72649209dadebcba9e41b178d508b823c2089e96de8d17b7a6d84d9d623e4a53724e0b0a76fb56747c216af1630e6d1870d453e3ca23e74d5ed78a6ff61b4813514cbb69f0be31f4471db5450963d856b8c2ee1eaff105d5d92f28004b62115e6b9c654a3ffb6dc6e8c3d68ddb0129106021ba09ab0b0ac21395845759c599ee7281026a70c3e9e10438dbe74b2966998ad35ef37f04690d12116e232ebf09be72657f4669eabf6473a6900df21ed5c7a4ebd6d8773a2c8d656e8b6b3752f4ca35dd0032fdfd8dd0e1d90aa4f822b1d9f247a9f4df7cca9cfb218ec8f0216fa472171c44f4c4dfae69bcfbe866996ee07ad7f61218b4e92f556afb22d2720fe87258c3f68f5cb454b8d1a12e4cd2a1bed2fdc2a06c21deb32606e1b73b3ac721724f048b26b7931c0e9f0ad276a802ba99d19ea5cff53900c0463be3b8ab4d4d720e0e81f631a8c1de05c488de6200e9326c091d382207a25efc27dc7e8446161e952a6b203519f3d32223352655e9e91d2d4a77e09668a93f062321131d23864649fd440fe43ded463ad24d07296c41f29a428e50ad0a98f4e2a0048a369ec924690daf1a663a22c08795447b3eb82816b35d68853396c7652d98ab24f953a672cb48bc83722d65a03148180832798ff5e36a286f676da6067fface29e1ab957217435dd16d079e91957273415b9f219ab000c94497d26d5d11afcbf6b2f1fd58108dfaf9e151d9ab5d16b2e844b647e07647d0a95e186edf98cd214073b0cb7233851c146a54b3629a6eb5f91261e232a16ec38a5a1ac83feb41a9057a92bf0ab869aa46aeaabafcad3f860be7401f918df528cafdbe643478ab8a662f9eff72c830c3ed72eac2e7eab5b1feabd3b47b082c669d400e40924b8cd6353c907772be7ebc4ef64f1d1eb548486daeae69ebb11380385df5e85119b12d6c3c7ae6637d7d42dd62c4f8403d98a4ba4a0eac3b13d40935940c0952903f843a394aa772e2f36d27fb4159a322faa21ad6cde6b07424308ed8a6e554576039a856bf6b60d91a528f37f338d96d153f4fb3992c959619a02ef63c12bbc71561d70afdda15a4a51650ea208f2e2750f54b7afd46ea81e5bf5966d7765f8c400f327c339e69cd5084ca5814d9fde880ebbdca2b4f02fe8cb120b939f90feb5410c520dec672915b6fd0ab6ca8d56a8805c688d59ca514c6a0db0a9befb44aea6a68498bf7723b581050de3ecacea40cb249c151b57b7faa6b990e8edd3d8efde653198b6f7219e3ede83c453bad8b5d3b8b47f414ba7a8ba562dd70c92e94f0ff211c142e721d5c44d96334ca94f971ab7ac9a1dbf8499919d8445695d9211260aefffbab72bf712597084bd4d90e22d629c383955ea229b068bf56812ce28dfadf25291e7215a322983f13d5dffa3c7cd8c6103aedbb9c54426e3c79425a8f4d52e1c1e16b39f5dbdd3cc2a2365f74400122cf9fa3a0e4597efefe9fa944df3c37b3e3b764d27e654dd6341a862a7fbe91111d35a62285d50172d69188234fe19251d96772c09698fb8dfe89b260a6abeb7b2d08565080597113384df182ba201127888572dba23512a39e58542fcaea8a88297dd3637658dc0623e1b3fc062c1d9f64e3720c32d6161c89b3795301fdec12b9255fb617fa6e8489efb16d67a0e7398c66068bc021303835688d38e17b1fe8c19bad957949b16fa1ee0ef459e2ef2187c672d87477ccc8c7540e74e8dc055556b898a13af7dd62eac7d4b36e787c15dc9722ed2af6b44acb47dcf3b95b825fdfd579105635685f12037c7b706686e1b8dc34e9cb472988ea20823a9516b926143ef8dcdaf9a74bfcb45bb25c033e2833844c0d4a981552b0768ab445c7ab253ab0a5e4b8f699d50e99d90b0b2f75149a3a5f8898dd33ebde66e6ed4549d02ea4dc41ab9837af691ca28053589928ec1a82726a07f628861ed8a0c3fdd68c9a957d28f2b6efd1559404cdb8dc630ab3df6c7275c47700026f3d063c228a2d9101299da982f3750c87566bf2c4345f9e6d6f2a00acf3065e168562f9ff5f17aaeeee9efbf7dd83a4fff11ef266340bce9f81727571d9401cb7ee866fc80a751788e6f14af125d99f850f97cc5e45c9601b130a98842dfed0bb7eb873dbc284c26fade416e7777b04e09635e928f78599f1af721b20d7bce03e3dacefc42561370dc34943c087e9a4951e599837303d4f7363562c636435f70f384e89d4db7b4530c6edd0b0d4526d08f0c7596cdb577cdf483668dcf6d99bbe964209472917727d1c2c283c2b03327636155e451512ebc35e726f5819f8ed0eea8917c43a87d7b817a86dc0bfe95918cda8e9ec168ea3547072c096b88d9145fd7370ef4d00b73a7f7011903839e75affbf7fe4c0bad1db1446726c7128f8ea595c1e40dd665443406de4174bce0889af9717d6ba152d11d766fa53637bace2c4878ab976be6ea61d5d54911c79055065d16aef4dc995fa7627061ea8104d0733bb29479b9c74e93b407100017fc7772f128351570e0dbddb72b31f236cc478af398a7cc92a33b963660011f5f7b41ccccf917e6a9f51372a0055c487cd526bd14fb8e3c5694d51b0c9377f9a12be3233b0c692e61d81d8eb3a69cc0f31457d809ab5383aabb333ab25ef6eae890fb09782bea6ebf8bbfce80d63bd43a00f3c9f4480c13ec8056716b5b5491cc7908c474a541fa2e6e25e40725e2888fb448f3853bf76bc73d7d859f2aa77f860a9d8dca58220caec9717e03897b3cb280876639dcdec9368ec3530b4092c81fb925ef375042c1170fec32f7226c03fe11463e0b0ef7a76d76c03a5ea6ad10861f75efa2371f54c0601b67c72f9ecac267c1f091c2fcf28cc9f6f27fb2d64a766b4d7273f055251192f6271537037fd9cae2415dcaa0c934ef3e115f4f6d6802676486307887902c1ad4b3a35be0b8339797b9164c65109f044e1590976ba6129c46fc7528e2ebc3b6036af72afccf441793788e9659744eb9cc05e1f6f7abe0cdbd4ed556c203253e9642d2ad7c87cbdf852cf6eb69f23fa163ab41730ad718dc08d3488fd3d67e1024bfe57f9fb1f670160ef4dc4939c4ed3eb49ff5c271a0f66a4ec4d6082710cedaac96dab121021fb9bfc7a93d34d43af0769d1d3a8b1c3de7b7a7353194278508fff72f9a954dc4e019a90e57e7be5e7e6b427b39a1a11c699a4f97a28772bd5382e671ca00ce5c1b2024a1b25d056c2cbcfd187d1076185e31b21574fec8d48f25072ea053768e653551a71b3d85793ac3fa9ae65b2d5d09ffe6db7953d439fd1ab2b37d831775417ed739c7a83414b457accfe9fe7c7c17fae6832656ef494bf02720ee11886ae73ed1e5a92e0e9a27e4e976ca80aab32dcd03ec294421f4eef70185682f18233ba1f25bc01383f51cfdfb03f5c30b166f7b09b119b099c54d3d772f7a103e53950d0c376578da2e320c94166c8f805b8f64842a328d5ae5774ac720b146e621aedc56434110ac0ca37e3bd6aceeea2262426e1894e39d25007a3720696c47760623a6f31c1e4f206e49a7c3a8ff4202c6c491fe1999743c4bcc57280480cd5fa0bd024034cac8bea0f3886670efe4f75dcafd9060c95a27eeefa4111a1a0c21e546306c401c3ef0193670582383bbd4eb51730f406303c7e39a868b70c114009c4798d77a46e5903cf0bd1dd82ff77536eed94773c7be057d3b92ec97eb948e26dc24e511ec87f329fdda60a9bb0820c7ae8efd5758e70a2d6774323f2f107369aae166a7e372deadb6559e822787be8d3397f7ed305597b8dc529be0138d520f016dc11c6a77668a80e75e0fd853fdc8ecfb60f606cf11ac5c1724e9565c54e89c31377f5d2d5b58e9a87236b0f639409446fccdadc5cfb48ea72efe0b6f2d873beb79478c8c7153f4bc9e3554df1b7a327a5f70c59d70bd4ab72fa7565183cefef9ab53669ca7ec8f0fd5e305df61255ab743b0abc7d38df630f1631d739a704514ece275662f03e645d7ab95b8967adf5b34e24d78b76e99926d7365f6de722ad15ec7e5dbec1e276e4a8725ca4bfdaddc410aa13c7be7b8f7215c89d0b7a8df77df270a7e3866d1b6dfb6131154f5e8d0340a895427a58e75bb364e7f52b854f372c2b95f5fb876e5ed137c03cf7f2a71085d9706aa3f0ba0c68758282ab84717310712f336b6d7825e337a75472bee0a291c1b7e6eaa8163440d9e5f4a46d431015cdc196c67cf3393487fe8ce347b4ba0f78fe4ac12da509dbae80d3245ec125f48b9738de298a57f941a74bcda397410312488121ca071462bf302eb1da49f254b906cf8a98a6a3ba51faba036fa9d981cca23e3c8e185a16efe77c5c2b3c7842527caf76f740354eb258f45d7b197790eb97dc76428672bdd553b99553a35be99884ebb32fb7ee821b1290b991e39005cf8662457d0772abf778be59fa466425add209f5ee7db3e6c96561ab1c26d2002ada067b8dc557ac294c5b2715d7018aafcf6b655d453f787e71c5d107cd5e9428d3de47c289728d9b03f50323de3c6eb0a410f911997bf1d994c6fe0a84d7d22d361ee1c2e967789bc9d6176be0e871b5429c188c7d9349358d7db5f5ccf814ef6fe728cc13017924a504bc5bf90b84c43ff981c60f868fe6fa3c2e14930fda0795d86b2c6772851ef6054a644d07163f851c211f5a56021418a2a6cb9766b0a242dfcaf71c38161ba3a4b679ebb4488efe92d1c5ded61d75e6228e4c258c23290586f0add30f3242ff7f4d3b6f53d9a19ce7c1d86c972e175829d37cd5e674b04b2a1b92486421becf98e108809177004fa65d412bd3de35b0f6ec8938739613dbf42f536257bee6fcdc606a79bb2f64ef786e57724076ddd66ab7cc97474388310fa5ef8a72fb70e9507b74ebddb2d9f8995c2a67a39f2383aaeec328674d6b595a0bbc861d763efb6c56bbe6b20ae583ccbe1b92af69f6e3ba298beb913350a1de667f2172776179ec9aef045efde6d848917467c5e6a667015c782092e2cada3bc34384720eea24a297dea46f0b6d2bd4ba1bea077f3df52489fcfe674db8ae7df5e0d772603c04387a29a4df1e19a0c59feff13ed19b3cf7824bcc29740c1a483453e97207e024f4514442189b616d693cc20cdffa479fe33bae41a1c3ebac791c3ec972494894265f6beaa84630cdc8440f4babec88bbc4c3e124434b9ab71a3dcfe736286abdbab8ceae328ac3285763a5f0c313ab1614ffdae38135013d4dbd7a915365d1f74b549a15ff4531701c68a0eac8b141c2547808fa702f72fa04753cf8720bb8151cdaca10a0718a3c948e79730889aad66b0eb2b9be63d1212fef639d251601fd9a3a5cf81f6dc9842065df2ea87d26860f387fd6d7f9b0f9fec3b365726c2d0f55983c121b826fad9838b13493e98c14d883ae2eb0069e780e4020ba1ecad91ff0332ad058a69405a6af25339022a3bb9e4ba5392160912dbc94c01972cced89d45e9c3e5839a89152b7c891d1c3bcbe43a76e062306017482c31287720eeb0b617e2bde1cdbd1897c2918a1c1e776872c2771cb0af7d5f7da4660ec72b51c4b1a0b832ccd5b87610aacd2f666cab3a78792be4999029e49e343428372bd79f0632586bb4275f538feaa47043857e1f7c0cb4f0b2f5b5d1b979babba728a01b06e1923ae3c76a2c035bd25184d77b0c954fdb5f2237faa1bb6eb86455570e48c6326974d5c271b48cfffb43ae9ad40a2dccbaa87b00a6c96194ef58e1bbe9e912994fa62fae6d60786f079b923d3f17d860e0ba5c8a02519f5daa9cf72db658b250262062b9bc751ba7145daa35ddac4f21e4c83b921abcccf9eac27347ebcd07a9f4f1a788a05b5dcfb2e42eef4e8c93d88467c83fb8a1c76f2219c5aa13e89a2dcb7384e794394cc2d5727c6ce74ee8df3bee512c88372abcbfb547251edd15e08d5f58dec6ff19eb721cf287c6a4a920f3d2ff99753c2c21a3f1272dfa66977a50a966323f250b5c6ca9b44b44ae3857b17c251bfa239ee323442468ae2f967fc333e45cdc36ccba041484067d0144f13d64a5074e486c6355c717288666abcda68d12d755e280f2a2c241651e239ff471616a5106d9446d7d85872ccacfba2c28789abbaabb504485292e86f7da819b63da88bec433f214d84b44f9d46efef75bb12e129c9ef5cdc538a62d90ffa09a6afc177f6e6c10a3ab79272a0f01ff18e31befda5d6a071f46d54440586b2834d9fd731bdbe82dbd52ad57241024fe6d5841a9d2391c2016f56ab7e82dbb183056375a7aee6b7525a7ca472cbb2492f97435aff81b482792eb8ea23743829549ffe46e090887d63edfd1a72c1cc1920289904402bbafe255457539f2ea116841cdd9c91be6778a0e6cac05fb8b34ee0ba5eb2ac1e8884485f061f06c4af8a672d1e59cc284d0d18cd5e972ed26633ac3b2b6f6447af16ffab01354e203a2251af429b25de1593b8825da3726c5026235d167fd2930a49adf6d03db1b69eecd0732c94e1acd8c33551f832724b4b63bf5a154bce2029e61b861605ebb54d8de95eca75333de5f86d52c3f661ee11fc5ef6b1306ae20590b1b6cee2db220f14682cc4b56f7f39e4e792e9457208990c48d53c54c1f012a66ea5482b374339517e616e5eefc1db9a8ce23e66722317f695ab51c915b19412c49f83af01a3467ea9d24cddd61182640ae08f7f222dfb1676fc27d8bcb7e796820b1816148eb88fd789551edff0c8c8f16a34e945e78a901721b7695231ae2783752ca8866c3216b65259f7f33fc0a35e88e765721a3ce2ad21f6f563afaf332553ce045ca8afb8ac61b2fa76926e2a3a8d1b3e72c5e51dc39e0468b9a491ee0f4641ada50306bd46ddd1d2aa33189342b443402c9715b4e2f8ac41b227141aaafc44942ab3698592a44c328f5e05a63accd6ae72164b8edc4a504fcd450f4fe8bc063b8cb28b49654d0389844d53bb3e024ab654e0d7ae73d90b9fb9a0035004fa6243d70539ae8cc2802b288a17a76144535408068124c74251fd5235b545908e4248c6147749d651efae04546deb5b0577ec728a883d53897e5419a108cc144df6d74f760e0011905f04bde09138db72073c7250f5c44bebbf358dab20ed2e7c0278ef252f923d33a9192d883d5b075f130340bc931fea4658dd399297a7bc2f81ca5d2b4ac210cf94fadfb01d276cb1155d529dd63fcf6332d0d69b772c1ecb4388d1e798ee532c91e50b3f5f27a20ee9a9722657f47676926b2a680b4979c46faccc7e8da1e2037b0a08e296798710957f171f0b2ae7fa1ad7ea5457ebc8d1dac1c2de1953ee847b09833d29af143cd0f972e065d079594c54c4b22fb611548dbc9052117e10f936e46abb3e1651fa7779720b5197da6a59f388d066fba1c1f495ed6f274da7aeb6d0206b3a46b65a09e6720de8c4c3d26e84d1fd0aed80023afc375ec932af514cbfc35dd83bbec0eb6172cdcadc8327b841ef6e967c024dbdc43ea03028a1175911d44fad8250ea22de72bb98717d70d8b700dfd2deb2fa27056e3cf0f1842a475f8115ba3981991e4c29cd723948efc7a57ee6366e2db620e3b4d6acbb8c5d0ffe01a07a476f3889046c5899330040c5ca7aa10aee1c84b18910f0d4751adcf4aa667dc78b2c40b5f14a11a36f6794519ed2b375049f89f6a3c8f6e75ee7dca96e632eeef886373fc9257d7a8a6938f973e43b06b1f7f8415a5fd2fe134f20852b3ba838897c36ff061083d3f8e4c39334e9c3e2e4843243c52471aec73f358c4c308e0d242e7ca93a37a8155c8e5a5bb9995bfef53887535fb00c88dcf911497c0b128edc540a57ff721fbe31835b36137b588679c5345d29fb610ce7f7ad8384d32882cd8e5e1b62720e0561f843631d6aa7494dafd433b376d95e09de7948fae9eaa96a4c5c984b6fa6ae0f5da672e1322f7335984e9adf6d6e977136e52d1f12d36660c494541072282cedf0c9092c1504cae5fe69ca39fe69f8fe40b079ca5180bc3ba50c6cff721352ee4d189e9dabfb101e95f09a7737ab256ae8fa0e83f1f3ccf6089b92db72cc66d8dbc20b66cfc6e788c29c1db72993343487635e8889ee6bbcab78c40572c9feb46708712a323807122c8430461409325d6b2b0972723f5d3a896e4668727ed984d2f3b795e4fb720b45a813fcb997c764c0c31f3e9462b09feacfc71572119f3e10477b356084da345a5d2b327ed27de5ecdb33bb6e5babc65a8eadcc72079e727e90b8206980d3330ac201d2cf509506806f01075d7e5ccd4da9e5347205b987170167b8e9de0565dd7f7a28abc7ae8f42b3be183097c217e28863f272c609c75ed4f5c5bd6db9fccb741dfd157eaa19b67a8249ffeac2cb48681fc1722c344477da0215eb2ebda20af5df1791af79ea5f6203a650e4da3a28d9587f72305e2c2ce40dae512e8817e0950830549c4880adcc2f9cc614c2f9983d921972424a230ce68e0e2150e6ba8803cf682e8e3640e372a441834f32f8af40f56570914f39dca2152384e6f120549ddb5141b291b18996c202e5ec744e3619713e2148b8e887ede71bb574a118d215471bdc9b8ec91f0cee5a7329246c75d65bd06502ca7a5af0d20603b14ac017678e820d4b96318515ea0466c558b881b2c3a872fe45314864b845464cfbef73d68e1e29c1dff173f32f792c1adb2e317b16977285e54cbc90fab3f1e48f9f6c69bbe26c9226460cb92753f41c81bc40b067a210bea28057595d0eac45bd3fa2de78434ff398d969dc9203fbf384f2eb2d9eb827091ed6d9245eeffa0006ec941b8fb4d9c89477a89399a4795fa2a1e3576f421a70ef88bfd0403285be1da81266a6889f5c79c9c4dc63422fc24e94930cc7da34d027138f7c74b2b092e2b071dfdaf182d86c26fe7f273bf0e023d294a3893c1a2e9c548ef1da7e7b57f5f94b894a7d9d0c12932503f7c75afa3f678410e5733ef5fa312ea0524c924e03f0f9a88e9e6a9790f96902d9a0cf8290d6813110655f110ba2521df9f15fd99b160d514a82806a17fbb49ca0d445ba7ccb17545ec572e33d731379bece7c6f24ee357075b7954de6c7a2ba099df70c2933a0a8302172a548c325af2f1df1f3da9033ee85a2624e3fd8a04095e21a5811b5a06142cb72a7a82463c780fd33898c19c94cce40fefd5ff220d018585c1f1ad296a9cb4472c36c5d37521f27a9d6ae7fa323fe0515e3ee47eece0051f037fed0eaa01d445dc3d0a07bbb8ad906fe6220115394dc1b0913ebf554628f528c4a7aae7f286772ca020b606e9d12df6c762469de460715487ac3446f2d3556dff2dd53b8437d4b3215959c44ad7c1cfdd40cf0c6dac08d0a9559b9a70dea84030c03edfefb733addab22f7395a822c91907789e27b4968749735aa4a4976b7a3e377b5cfd8f03c9af90b7667b271dc8a70c9a706d8dc4e7435258d7f4f05b6dde0a0f8c27d0f7287c3f7df602848a2b49770161cbdd180113e23f2c43857ed6cff835c0c1cbb722396385137f9eaa15cbafd10b9f3de4791e4240523ac5ec97d4569408471a472935a4e75ea23b18e068e715788b64671f93f294f7cbf08b0a6ed726adb832965b71f6ea5232deb30683ff7e4e60e3c04676fd10b9b473991f7669b1acbd5d240d86b80eba9db683f41f11bbc17732fef0fd3dcdcf278635887bc7e5c68c93d72813323fd04d30f2d9c73b94bebd85f1111efd6074600cefc3d922dca289b7652c3549de522445ff8634075a0723968b196f6792f403272d599c8c9864a65ac7290f586e6e565dd592b2c30c831dd089c053f414cbd48df5f938ba710e4b2943ca8243a334b89d87334c5e6792cefde85f700d610cea17fe7d7105d354ecdc172367be8b355c8ae7700188eda1335d6db170357acccc948702832e73979806f72fd538eb501f8a1a5bc7e6859cbf644db7c0e8ad3635eff5cf9df9b6e22e9b572cee84bfa059779226f6cf7bed17774c73f9c2ee5dad3aa2c2e77543e2a1f9a722cc6ca388002069f4f008f3776d7591df8fbae9e5911425da70f893343e915724f38fe5b30b804f8878c72d2338b509a523e1fa6ab3ebc62d2a24face7df8c51e9ae7210ee64850f114f645a9c37e8628af417c1188d3b0d9dc5517b94040651865edc2d64c5411946fe5aa9a7a1fed41cd5998c9d0e7c81b95fe5dd559307727042ce8755d698630619fccc9901b8ef8ba4ae6c1569ac3af43990f2106b4e3c6ac69ca0af9b3d25524e535c929cab8d57db07836b583476a420e6c0002b02729fefc8ca8bbbbea0e1e01b115d9efb6be7df096f16ce7290ec2f43da7011b972a126427f680b484c28db491f883e6a82dc88eb53e1c9bc6c26a6b743ed5279726e75a8f1a8c22253203f7344efa8ec2f47c668fb7d029345406117a1292245724839fa3238d2ea5829add045c8f5b0cc2d19900581bd023064403314a7f07272b545cd81c58b057aa19d8dfd4ba1d1ee3c644ca68b7271b0456295103710ba1ef039644450f4688d53700436530c07d128e1ebb0c31b29deabdc422c793a8d22faa27d6ad3f7646c9fb18c70a9274dff3b19cc3d4d14df60be2c31453d7b9c726a41de1a3bfdc1ce87b75b767f8026539a76e149034ff1b7579c1de083a2a52e722376dcb2f696850618bd2250a58480d529f7eb973a0ab717d8490e7fd57e727ee5d66ff767caac1c3bcf4a42d9fbe903f2df0eac5aaa2f501b913170017172c73e3e90721274504703d7dc4a6f2e1991c88e4e7368b8c4a98dddf17c164172e507de5395f4577243f3e103af044205387a30e83e3ce3e619ee468d5f491c6c1691a12c196b981532dbe5cea160300a970fcb5db88c80699b921ca93d395572f836ee83582343e0a10c7ca8fb0ab62a28939b02861a412778af26a4e094054f47ca9ad3a7c7c7959ad890e7bf80f6b87b22a5e150bbec182d176868a707d272894ae350f8791e29333af3b7406236b0ad989e6ac361f6bde379ecfd9e9a931f73baf12761b943f7e8dbe7053119fcc912d62931339f89b081306080c7467a43a4be9618de30733130d3ec4c83a337161b7284c689fc2ab4265cd5c1041dae72f40573e243cf83c2b25d3615272362bdb34ae5c59c17a93cea0831277401fe72e41939592a07a4d3ad32b2ad27ac417aea7100321e8880a436dd7cc425b217723f9c6fab786b1702aa48bd87984ba57e60b58099878488260cefb80d4f636b721fece0149bf2e2e89147095873de3aa195cc3daebbe3b20862d78e992c9b1d2e88d3d270fdabdcbed4f2400e620163628a704bc91da5cd365108066a6c858434d2068cb2760b312bd2ac9edfef767145cb465ed3981bbb523e7ca69fb6655c72d489b4d3e0a957715c53f7cb082cbab16009ba4802484b625f63b144736a78504e49f58ba36af4efc4b2e7ee6ec754e43e2a77d621706c66a698d746899e157253f6bc8a1b4c2b20bcea8a4da551641cf1befbf3730cc273b8adc20d01bc3872758a0ba4365eb123cc4f383940c8ca9d39027847d389f061ee999aad21e189206865d813fb894b177774b2092e59e1a896324f4e0d400a920db3818c3bdd8b0ac94fb6f7eb6aa1f6c2fdd83dbacb60a872b4822bd512a9b14c85eba7bd2ef972e677a975b0fc55b3894a492c596f490cf4dc740142e83ac71236472ec38a4e72dc9052204756ed44ae1433435d1f727837ffa2a6fd262ca473c385c464c1d5542ac1b9e48dee30f68fbbab106d81fbc35f5b13903fe85ce6f1afbdbc5452d672932f4e809b80172339fe3606426ff37441131dcea7174a5e3895fa65216f507216ceecfe1964e6bd906fc4a1ac58e6c785397fc91a955083e9a27c56bf6b6661e55eb1991ca9c1c6cbb56a80bee606ac4045ac050eb7f7a1c61cc557a6163f729ff81c3fee39472ac55190edf1952ad7e0ba541767f1d3772fb1ce546a352356aee81b8c429eda91e1efb2c063a6d37817b6176a9de4c5f7e784522bb6a1d23b79deb8c833e6c518645f8d8621ef58f49e44aefd72eb22b76d000010485f627228caeb0d8d98559cce11de1563c3236872864e76fbfe90bf3117ce9974212c725a4de9fac004bf484d7b3fc9a46644010c36912718bf9505ebca39e6e3338a72b568c6642d00bf217e8380741d7058dddeddb6145ce38fb4ad04e111eacb79308a4872d27e7287c0e083bbc8ef10107e8a78c40329fef817549d58f098b17e3fe67a3614d5806d0f94414e80e0301bd13c2e46cdc988992bf8f8ba6648898272b96948f34450e89caac8cd9a8fa723de6bed3cc9a763dbb91f8374a7314b807207805e5fcd0417af717913b83f48fe5f1a58fd7df63c638cf75b1d6a0cf6e7728eca42a5a517d9344f2e0bb023515c9b250d6ada01202c9e46c40baee663da7289878527a747b5aac8b2e99c78ad778e67c8d3337d1a85b53a28cc4feada5c3418d1fbbaaf6ac765c26e627e91bb4720996f707c6344f699a2383cc626153e72b806b4d271efdc88c94f63fe78d7547d4900291e56a46df43ae2b4fc173400721f8d742056a0f677c370601892a7a65d6fc0d9ee6442d5bd9eee78e1a1256372d727c0ddfabd2dfceb0f9dcbd6b2609441dfdc07fc31586c4387b6aaa4e434723803085b1ea7d582eccbdc1badeac558b1396a729dcd4686391c3735c9e7276d02d2fcbd12da7fe2d64d8a430176a03b0932bab72f161cd53bfbdd9e0522f472182295d81809c24d641ddbeaa1b3e6573dcb31c12a3ef709ec3bff5956633672f5677a7bc2179bb46cdf36ef5fe608940739f0d94b7eeb1ad9e261b0dd2027722e899f673b276fa35c9d6dd6d55b4b15c898cfd9826871a26a3d98141ad21272d1249f4d2f5581d7b57f502dc8a2c3f2e4eefd6e0c2f89900250050026f404722721ac4e074cdc75cfa1b7dcbffe045401d86add3ebce597bcd7310a415cb87257ed6bfcf1b6a44124809bb8c0c3d061dabf309155dc57cdbb15b13c564d314632e9d2bbbc1a5de29c261311ecbbd11f9ec6dacdaaf26dac548c430a6e0d56721261de595e4654eab9f4c996836fdd908d4786e7bbd93d5cebbd2bf745e71e0df0999a8f896191f8dece95f5c8076226df54aec937f37bba9cc2b6fdd62337722caf7e3ae54749c440f1807a8993f4952f23a0c7244bfa0825ea077b77abc96d1f67b44eba2b58908a58090bafacbb25e574f8dcc631da350e4b57c37d803231f089576ca2eedebea7bee9984adf3d9765f659e729e35d4d068d86c3047a8c44b560891392aa15abeab67152e0484f18da6e1009afd559a0307dd4e5fd05d32b4f1ddc82f03f0e800551dd3c765cd2064fc7f306287787e18da3c08cfd11bd726458cc79a046ff9a559ca793f22ca72e0b1b38b1394bf8acef132a48ecbd4a3da842edebc1da4d687e9303dbdefe1ea3427ad8d26612ee3e2895dd0233bc2138acbf1a9535c66c62ffc3447d1d3531ad87d4f2afc0a326adda13a9702d5dc630eeb6d8021fcf081502ebc767bf3a95a94ea08edb1e6537f9073c3601ac3dfa721337127a9900336193cf34315b9b58bf9326490d2855291b1bcf3ae50f420e3ffbdc9aa482c1a700eaa6bc3d6d94682f3c1942dd6a8fdf87101eddbae5a4a03636f653c2b89c795a232ec7f239935c974c614511faace509b7b4c0af4c7e6d383d5af8bea997025347ed68ebf7fa032627e8d7ba7b2547562c6d569748911872b7f2abfa243e141d63db1717c793ed8f2a4863dc24a6120914377967ddf9ff72d12e88cd18ee314a60231f16712b859ec322b9849837f9e68a6a07269b35e072fb12295ff7ec085b2b86c41683cc0cfe5c1ad86bf107064fb7ebc9b182a8ff6f1b585452140a3cd4c589740dc73e12eae019b5175711a33758634594d18b94729df816a2f9c1c84ac9464752f738a49eff0e6995990eaf429562a830459c32721aec360118e1e0bb995dc5088703edad2b0776ad170fd412def7454b7f582472ad99b8b4f12bb611c9d356b8c275404c8b8e45ed0600de7cedc0017b86265a463e585528cb11792e1c81998a199b34ba75d9796ec8a20d9b296b39647d2c603097a971e9e67b0a5a9d7205564d07d7bc808da250856c1b9e12165b630cbc5b7246ad8fdd7713c0526046d60573389cdc6d25bd55048fe7759d4d5bab34985272b86c7b02ffc1c05e26ee8f0b6039924dc01bd60014cf99bfc52ac58fd029384b706ef336316fec15d11090f41f71c4875056858be619382af39b8e316cf38706e7d06ae7bf760bbd46f41388bccb9dd573f4cc3db22bad0f629de8f5947f0740535d57211953942f336942e26bd82be0dfd473cb33fcbbd3fe7a3ed92f63fe3710f915803e01fb7028add4803e63bfe6e0180688aa1e7b4bda6c4f7a614edc0fa817d2f57ef3276a98a4c7280b90f7191e5076d8aa91137adb15b3651fd49f7263b45bc3c2242f5ba67763530bef34a0d15ab5916d8b702e6d0868796c07f772d93f74993a4a6f266dfefe0760708a136013c642a2ae23181e98d5c1f18989725ddd6595682e2cd1eda6bce5b462c61cbdfa278747e705aee04e1e3cb985ef72c49c9e5ece829785c2819fd10b448b11a56a35676d3acf389fd814e358a33f7235edcd177808f964b939fc8c19ad43dc8cc4d9ee4bafe22bab80de56cdb229727aba6711d51379cdd974a8aa76c5b253b3d9e482ae0c1af938f37828893a1528e92207256f80e87a9380216050559c45588bd05dba05941b4f85317873fc6b363abc1f279d17614800f5caeab6511370c1f6c89cc4d7f5c0c7e909fd731a474017b5975f7e69c9be8aff44dfeb2379f9567414572256c429b448e0919b7b191a665fd55956bc85a7e42340357c7d2ea3f3d1eb36fff89391619343fefbac27725872fdb3925d7852798dec2e39e0cb4f37b053847d8af5ccd72b91055287a672e5ac31cc810b6b7044262b82f38735f7ed33c960be197919884a4c78e335c008377cafe51bfd129f2fa87ace35965190a4f3a85715ea971634a02e5ee5801572307ec71e9f9a48941f0697c6faad866861d73724dcfb474b84cbac8de6db44724b99e2e26a88a53a16c7151d2a2adce376f8a05123ef6a7cb6deba5bd7cfce7258bf05d3cf4a5b363a8102fafd5793cf7428bdd1f5261d36a09fdacfdc87b1720986c68a0a4ed75bc4c8c2a94893f6ec5a1080eb590aa0f990b860a44e75ef72616642c2883d1317c7a190032bff11d486692dd43f27bd672a3ff0a6798daf4e4a1516977192230a0fc62b68ab4e176a703e90369c82780f9a10703655df3026dbebc7e7cf71f51e5e9aa9169a713d3fa257c637601efdc54816c57a4c542172ccf1a3023654502082bb26f072cbfef4b966090d2200cad5b8b66a758805d10556c5885da3b19de52836ad08670ab7513e353554d6683d55946762cb0f7d85724009488ad07c7bfada028b3479c406ecdbdb03841a47a40ec3bc9f592aa61b72c84a7cc62994359b524223f7debd19d4fa9ec75da0d6c13a7ee5f763a5119e72a9e6393a471bc4072eb2f018445b4527e1de98a8f6978ab424ad3b936e468933aa493ad13c2461f0d2b6ad4146a233950896f8916af53b04fb034ebccc944b72ea6a5b9df5ba7e51552c58bc4d863f3b460df66dab8e00f15429b6cb14795404ad0c144cdced3374ab44360228115740cc58e9228d420594993732b40b14c064145530f53a743395c69fbd56b646d60eb875af54bfdbd16323c8b19676ad1b20eb710182aa01ebb9d3e91d1b4915b8f697229863749f9b25ff14eaf58505ea722dc11ac688e87b42f9584d80773990768645de53c84a7fbd009f6f07e2e08b561a154b941f53a094e0cf7eb894b871481c3848bac7f6f93f11914cb7951dd669f04174451b63bf8e9f5a33aa1dce3b97e9a0b08c8836a5b1f299edd56ecb8c0a7bc1a0733a95d280dcb918120e028273b52ba1f7ca390a48008ad8f1e60a644e730dc0ffdc6066c69195382a13917266f6c6f2fe94ed3e456d32c0360f86801c519b720ce5165030bace35cc430578f657492fcd22a44a21b35c072c51856e725f2d50ac45b07231fbc4a829d97fa8d425d5f5abba4aecf255eadc55b9fea2728d3208ed58a5471ad542e5237ce4511d0816853096d3487c5485e1f767fc9072d152a7f7e75b620c086bd4628fdb2b8069c996d0b6bd352e98654f1b51f6b70d5508f131ed9fa7d2e207fc3a2c17f576f7a9e926fbc58453a84ce65e4d14527249233626a78ccff58de2cb8a520ec09c065497b180075dbbba5a2ec0c23f41725bc233798543dea11f6a07b9e8445ad9afec117b48bd66229bf605055bcbe8727156af4a8fa9a456d40b3c7c5753d91c0e9bbd6880db618b129044c3635b59721965f6de8b4df166936aa16a7da404a9aaa5ab28e3e065bc620500f9d8dee701e632a2aa7f9d56a7045519632d43ff060ffda02db238d602ac64f93a016a1447c8e8d1cbdb092dee089f6d308d4fb6525f6bf54faf10d6b4613234c583a77b72a789fd8a64e33ece5654800393da555868d1c69b6e48a494fc862b9432464e72d39b80222a01a5606b7c28d61996397e8a7f997bd416aec4c81ed1dec86cd972c46f998a5c61469f30cde442799c4fbf2117d90998b3dd138758adf9784daf15776db9bba913e777769d391cf4fda4cc554708a46e541bbaa55916f17f84383671e7140adb8c80ec2fc2dd1e85972dae7de2805a63213bfd91bf22966ac61f720a6e5e1bd63d3c92768fc55651deb8ebe0dd24b09ac82b3a33b9f82d94891772190a6940357878a86c9978ccdd50f71d75afd19e680a950555815940a3d1e472a867f3547771fbaf786fdea8cef4f9252dea99d36867d14c0246ce8fbc05857274bb9dee8a4e45f0e20a031abc9e5cf391f1444daad11a125da42d240a50b35fbab8a40611724768b890a5d25835b049ff5faefafcae139655b4d990e807af386c0518c973108a1413d09d7052fa0b78f66f7311381eca86c3c1d61efd85df15c8abcac6f39b154b6c7c3887fbb1752d0fa2f79ae6b80223a9f69ee216d1705d9bd2a79bdde12f91ecbb687e9693fe6cf9c0d38f1769ff30f8377684f030b272618e04122ab027ee0a193639494d7896d4fbc29e15dcc32809a52bb26206b2526d3360fc72b66c19244bcffb5ab91fad19a0b554543fce4dc2c216e90065247245576340108a764c297059d8f4b3ec62862d463d7ca3c109267ee4cc86f7ca6f8ba8421659a9ebbe9f0bb3d19e8f9c2aaafb50fd74f089d555b77a62a2f65d4234bfee53d1b96debc3eea6ff034607c657f0163d409475b14f00e200039b8b5b3eddfe2241273e85bf76407b89e6346ffd50c364ab4addcbd353f0d0f8362472943118ce2e88f2b7f9f87b594a5b7b60fb08e4cd7cfa855ee2694e7ce8f642723b1e7f07a30d81c80dad5dbf8a2f1be05a2b1c630a62e184bfa1baef35be96721bffd63003e4b5b1f4db38ae3d3437efcbeee0e9cde1114ef21ebbf6274c66121dfbb73de326cef2c341da3ebc59c082d65b748d89face2e56c5efcfa1def67225731ee7ddf8b48a62eb384cc54696ed75ec285e615d1c0f586241b3d6a0c6727bbc087302df50a3221bbb57c90b40191079c9b9ca0aecd9bbfbac0427ef1253d4c774ce7b49a18e9872111d52aa038949793557561180ef20ed819122cb6372d125bcfbca71cf30e1fbf0461f0da31f6a1ff0513e6d57a8e4df8d0e59750b72fa70c948f1ed77bcb21f324274c30e963aac324f4facb331cd0367c82d991e27c43174d7c88be8f6e01f8763bc1405fbfc139df0ce3c1417cd8c712092820c728d7d8e76d6f663206302271be9277d9a6d9c4df9b7574dd01dc736f2b7f65a06273215e72810137202861936012cced21eb9500fe40e53faa081bed2233dff423c7dcc86ff3cde70e7657098fd93b95a722e3e60806274901845dc890a8835702f0efea18252bbebea13687d8977f4dc770d27e441bfe3520289d36b7c15b26745d84a50c8fbd4b94b9564f545f76f694e130e57fa5ee3305a11e6b7201641720fa5b23f4ee4974157b72d26a8b8fb1ba5937fd790242f57078a3cbaec3371724671b0504dd98ca681cc333e59af9a442cfeb7c1cdb120351a8d585ff68e8d135a4ffa34c8a60b1c8b8d63017a2b70441cdceed57e9bcc35d10728f5245767721267b7d1947dfc81197dfa6c0e7c9bdea4d68be48459ccef8bfb019a89634e7215d9775617afe4ecaa0d81744e27a4423cf42a9d1fab0f41099708d27486d172212b3fad6e59f666868d54118732b9049270d8fd971dd50214b6cb1b13910e723f011350389c5b91a9352e602a141d216181467cfcebe6b4c05bed19bfde674fce1145fe393908cfeec3bdc32d7e9d6a4d4e236180750a768e5e5b3bbb33553ce2b9c020e648cc733a96f283a5c7e1acea128c131b872428b90009c50ecc0472f7a1f6a7ed022bc085de6d7251023f5c71ce65c880ee3768f9248db7c6087b201e5b467e1af6d5225396946d4004cf130708644131bf3e49ddeca86a2b6db972c8d98d57fd3911dd07acc569028178ae02dde982af6aa50e3b03b1f29f6a0672e48ae804d9070081211e88c7eda17a36bf4f2a6d9e37146bf88298082194a03e9fbe22fa5d00c5e3358e222dbc7fce2e694056058c266a3b5d95cecaa3c412726b6349a78a49d9963bda24a580aa82393e7e8453cec51ad55021ff9e5103b472911b70f6948a37e519fc7119faebbd8871afb35e49ed897b337a92429559a50d64197985b33c6617830c4dbf8fb70d668cfcf215cc76508184ce13fc7a9527729d6f4dd416f0ebea55aca070dd767cded504a63fd7f7330114406d99bd58607293207f0709bdcac807557d55e59fc613834de1dae6da70c6d75da1e0c573037223bcf50eb2f14968346642c6ce99c02ac64e6a1c1191aaa1cd7717487e665b20af2a678775bccbf5c055d20944d60631d493cc588ac8567ed91f99ff82cc695424d53cc66702277ad7f79ab7029955826d5f8117cebc8c9650f7e327f98e8272108d27bab6e94ff4203c3de8364f122ca792a63cfecf4695ba771a5edd16b8726b701f3ad18074ddcca83990e37721d83d83b67c87bfc72dbade975ff53c0f72459d16a26b88d2ba506a77e65f1ee1f59d567c59afbeefd5a963e9f1662bd327faa2b197572adb9af92895e42ab8007301ab18e14362a1297621f07fe9fd9d72cb09e426f045b4449724ee1bdbd0f156e2c33894a4009d96eafd6d72980c6869404214df856bb18fdac3dc77ef263b34a8cea2ac38eb6ab92d09f21e41dbc2729456b03a22730ebe5ce0cf330d8cfe62049c4ea723cd99df8178bc7fda861f4230d77d77b5a5867e98de42f7db66a781b64ec5aad5aff98f72042be90417fe00c7155b3c152df31f52a03cd0b4172eee839d17e3c2ab690c6104429655ad9a72146f00e5f132b98a9450cb73081c5c4798ef3e7dac3c4b7467874541b0ba9d7229164df4067d125071f14a201216f0883b29b5cb854a75f45b235853eb403d70eafad0103b44b312ff8b6372bb0396b6794e9ae4163dbbfb8385ef47ddb2d6197ae9299ee212c3ab22a117631ec959c59218662e31a07cf99257dbbdf4057c2c6383777ab0f8939c3140da5e567b65de354736213f516e775d265f2635245a722b7cae24f5ff87602def81c039ddacfd35c256653e0e7e3347554bd0c317e172fc226ea6a8f0ab0b3c53591abb81659dd7065c6c0630d25440dfe781448df300c011b144667d81899a60fa9edfb0c9feeb28ad081fa6d0a8e2d2a6ac1df3cf725522f8b00ab5c0283c627bf62d6d9d7b45eda95028e632d5ef501f7e51ab861fd0ba245f39be698a6f00adfa6c532988c9c742aa775ae69a38bf905ecb4ef2722b8a3c743010ec710f181b0e8f747925ca41f7b32d199a635021fe5927ec367225d2cfe6fe11e29e3219ae930f0ac7803d4f54eee2d70ea7634ac0e2d328582f5af5592a4f2b2a7129a70a4d8f3724c8d79c6f82aaed16dd0b85fa37a606de1f0608e850d9ae6913eb7634af1bf55f93d4a7a0c3fc94f2b9c6862542e0067c723e26044b6023ea14da9f286d97fe490cae7c905151a8b09a5d4f5b3e5b8f0872082b100b3ae388a0be0efb84ff59b6c63633e494df5df6bbb865b6e8a5a79072cda3709b8d18702ccfabd304c02134af820c6d8a754f283ccfb73a067241607228e6b8cbf0153294f8b161df3531f8f67a6fc1e07686698ae560afcc2b726f721c87a3a33cfc33db1be166e062963772ff3df7d72f2a529dacde2fb6da01f772dd2827d431f0fa17bdbe86c6768050fb89acb99317ef30625e2a45b363ab1f2fcb52a32da7ac1ddb523ffa1eb1dfce74670d15d0960ce5478f0d4c3453ff7265d0401aa5ce1fca5da596bff112d1ecc7a4f024412c9a3bf7ae367e5c8c6019379af1e0d0c592bf23e8d16f6200b5bbca17d5a2683fb0876a29fa415327210a72e1e23b7b1dd46a3429166a84e943e0107a67eb85cb49e65ec09066c9a8be2a106ba5e02986f631edcd86f2f848b06723efb06a7277bed5cf9867c66e02008972a0cce6047ec38d0baa07f00cf7a7c84e0826c76c13fcf98446d22edd603aae4f9b24bd3b0925f9339ccfb88ed2abd51c7c90897d27cf52c86c5da7e327a4c63b70451681a6392cdb9dffe552c117e5a7bcb2c8cd496fde500e52b934ac41cb724ac7e98c773c2a7e5317a21504bab58bf8198c0ef3b07fe60222e8d471ba2272af6a1518f74932047de1a65b9542be6ea4356983c2d6e1e9699debf5391b60025abf724e71c0347175164c25f4c59d4cf6376e202ea13ca969870a220bd640108ee9ea8ca4dc6c0106993a8d77ac7025303220bdbbb51cd134f50bcb55f41d723ad0bd2f2740841c3d7d5c5485ff46724083e08776405700e43ed9509c2fa555a0748a1189f0b475057a06faa46be5d9ce8e44a34719d6425fe8adaef8ff0472f20b1335b09c13630ca3958491f87abcec9e3051bad23033f2dc6a82bb688672526b0fd6d74049db282add0f74ccd073a529b6ed5d04e63e6dfd6b6c001fa2472895040b75c01b79d7cabe5dfe64100a6da57c05fdfb48d4f73fde690d747d50203f357a090882fb85b2bee1bbaa1fe0d3db559e5f2f86200caccf6bd62fa2193bf5343c4178e1f7ad952b5d9a422a77ca7ef16e2ce02e5429fb1fc3c9a13a59ac5af8021b4c70e898d4174a0ad3659cf39ae4870d8f6f18aad333e5ad0163638514f28e93a17870c556834515de9f8a1edb28c679da6bb607e0ecf2e13a3348caaba3973b40a93ebf9d7a40d055ff7fde33be5bf74f61a65a2609d6e6f28b724cdf94eb23cc2b717563645ba78c1ff10385485c26372bd7d910baff86c3711dc7867e5276807d5781f397de2d4d658d40d020b76a0e8854c68d6525f5739b5846002e951fc3a71d1541ca7b47f31dbfeaa63bdc8b3dafb883d2dc88d4a78d72a2f4f960edc7cbccb48c2a9b8ca5db8de1d4840768578c46fbf06b5d93d0b2716e795b9fe6815f47efdaab1573023de108dc9100af18dd2f94d8d81fbeffa67281abac2d632e90ecbb51c0aaa0851e5d83c103c31932194833dfec13138e2b337bffd4ae71d16e727daba666e2139cb4a9d2126c8dc1c43111c444fb0bc51772e916ec6db63eb9387cfa3d04579ef09b8ed7ee0dec950e3dbf39ba37eccc84729ea75b9de16ec0deac77d50039a38267c9549264a9c0cfe04b7dc76fc93bec333c77b2ad73ad4bc2d3e8b3ffc977bea74e8f8e8b45613ebac45113c383106a163c7697c0593ef73b369b143ed556cabb364b67ef2fbe9a195a339adbe13c4872a96e82fe321213dac4fa135b9d0ce0ff6e6fc7afd25c85e15077e70d34128f72ffa224bf388fb3c3687bcd384d3252cda81b6986945e9ffcdf3c5f1957d2dd7257605e7f0a3fbbcfdc09542b4ae9387637cea03ea9342d8dd803f94d43b4fc721fb2e8399c776a07f7248bf193511128d83dabc370ef8a875a581ebab8f62672f0f89f38d970d4297de556e284ff2de76aa32f636747066ff06b4fc81187a872a94ac784261d5240cfa08007a613445e4b034ec1a53a360d4a46cf021c68f372b1146f3e88c17286aafa2b7583aa35ba3daa61e6fa504ba70df22cfc0203563d0a6529bc9130cf2cfdac0c7f8c010d95d9b19f1a0081293404d8d5e5f846f03b11a4c187293abf8c2d56577dc96feb46e488e21dadaf05bb937dc4a44229db72d79754fe2da5e390886b7ee2263044e144daae98b43274e075daf63771755172f1a6967ad91c0ecf2be69f3a9551573f749bc150f9acbe4bd879472013055b7201ce6de581847c8b0f5a2f988bf900239f12ed37402439fb09d5d791a0b04a3026d5782f6c4f5bf7b1308927087428d4ebf0e12d1044afdcc2106d15f056c57244104f5e25303a757cad21ab0d186bb049fce2f91dde5c858a2f90cfbaa8d672918b7c81f226f09735027cd49055a1e8e3ce10c25e5c7fa9bf4a78a355826d567bbff60df007de86f25f76c9231c5d3986c4f3e4ed5d153b9f1b64175d686072f2e72102049a307cd89f5a9b3392593c57f03e5ac73b97cf294656fd01e8c15ae87c47859b607901638b78aeb782450320fa7d7cbd8651e62cd315369c33117245c5f79e05e80238ce1cd8e68f1dc85690c001ec15bb6481b3952d3ec7a0ad0eee0404b61cada02b0b5d925eec9a989d76ee98c3fcfbb7c0a11e4aad5d6c2c60f8eca428831d5e1ef47afa5cec5238c2687a16f94a12f66e3639294251fcae725efbfebb52de19d601cb8a759ca41ee58f8339dc5a826ad0883ca99e9c6b7561f66a0944118430307932885ae3b20397397fb25af63341b8d49ce3c0c0937450840571ff85fc18ef7eac94a3b1a19612f5cbd7f9a0b1f3904892eca4a30a61215e95f20c57220f2d6fd5d36fb140007ded0d74601b206782ab1581ce3a5a4e7286b58fa6e6ea6f9fe771391fffe6b1123e922f05913d2bf45f29bca1afc1d33c961448c57c5186df56958bba7a66659f40b43e678a4b5dfdbd35d8f435483772a8a5138d8ed03b9abe5f5a6e9e683af68d764e4b21256bade8bae5d5da9dae72e02cab43a6a6ad662fd1069db3ebb85432c9cb56b76e896ac8512b0f06f2e73c2a6b85c5dee953e2076e892971f7003007e5dc641c0930df714c0dbc4f32307220b5e070ab840df02b5eccc169f84bc98ff31891356206ee8359fdd361c62034c9c6f9a99e6f0f5b23c923258dc6cd91c5f460dcb987923eb431202afab1ad724c4a7a4f607d4708de1ceee72ccdb81d64be30b0d96e63752eb01c9d14bab272b9b73a69df8fc4fca247c40954eb3c429034a89b7926469e560bc64418ea2a06c08ad6268a05757cef55b9fc08dacde9df4773c9c00734ab957c7a236bb44d7218e6fea20e96922a2729ff85aa24c9619f2b06675948bcda89cac0a91ce5e4720eecdcf4651f059628a1693141d740440017e129d17617d8bd91634464d4ef2c944d4ab2e4cfb714b6d4049b592589c6bb2a75ff96422290dca484672b289337fc4dbbf0391c435633fb74103e106d190ed521d84ea398659281b84fab7d622f8219bc12a5c637eff21a413590ec7d81bc58f6b9a3b4969039b10055eef6f172dbb02c4f8682a3c3916264253cb8d56916dc86df4c32261041028dadaf87c37204ec11040f365725ce3207a82da934dbeed23703c5f896c3fd06a7c5a095967279c41c5a682fe2ee2f1e2c54a97dc4892b25af316574ec46bea524c0da9c1b7278d69206dbad2b6e0c5a30617c51855bd52bc6eb941346b7af5103644d1fc4519744bc518fd09725cb1817437fd9f525f0f4f82dbd8d07074841e4e689fcf1175a88ea8deb0149ecd421808d9a0d53bcf756703a676264e0af447a9c5e87227239cf07248052524f718ca772c886dc552b76c156dd1106128eeea74cdf8f272bb3e905831405392a5f1768b3371022024ddcffc1ccbeee34ddc52aa17d1d5d488f140a956475678b8fa056a9b6850102aa70f9d16eb23b2c34a27615d02e840559f90044feaed11d967f1e82e1c9febbe24e386035590c5e9bc22650278ee772299bac5d0a7fd077a64dfce8cc6adb4c96a4dbc62fd269b1f39601498409e572b4b5b47822a3683b65b485b2d8e288edc966308f7f0c76d41c643b74038b4b721c878fd003ef6cc592f8c87bb6efdbfd112a3d1fc16f212e8f0f3d0c61fd78728906e8212bf9974620b740d1d9ee4ede03af965048af7f3a12f12496a127bf72f0484ff679b3c5db2a79c79538208d03c2e5f160272d459c7db202102ceae049e1157644421d6031c7e59901716cd6ed37323b100cbc43b2b5b39de4bd505672d1956236e0c27b14294efe86a2bb085ebdd2036ee0b33e8d42bc60c760b0f32b833b8a4092fa0cf034054101bc09710c6cdf00d7d88445d7bb0ae023b22c93332e9072cd04dcf812e67206a48cce3d81d6525c91aad70e73527253b4b5a29a4a7bd93bb49cdb1232231a671855c77ac4b6ebe4f34c07f582b50387de00b7f1725bfa5f06dd6785b107c949a249312edafab8d99ba5b0fe1088e7d04b2a9ebe577163c3d3a9fc137ff7447524ab40d3c6c63331cb3acc3ee996eacf8010f0c45f259c1163a6304b1fbc46287d399b9aeb6843ecfaf284424e97e7fa8246675d240f74d1ff0927292e34a25f4c515383dc6446f6c50ce4b798c4815039c4864372091438faec0cdab56f37197c22403d0b39be0e9be49abe43871847ee164040728eafe7b32b5d58dfe2c93a9de3422c72864c7addf378ade544eda17df92ad272095828a94140ce3cd0bac3fd056eda93522150d4c47372d8d7773491b4527e673075067c1199aa533b646786858ec1453d6566da537d73e35ece3c00f750003cecb9dc1940200040a87067915e2a090ba48cc547ce61c3ea05bbd664f9a298723e086374e940042feae8eccff387a7eb7d810d5b88856349cebc63cdce744a72aa5575e9593c4855aa1c4c40626c61fa689aa2dfccf45a2ccf2b1a54b262d471cd2c20946ada0f7c526ecaaa8848bd7bd23f84fe0e65a1fdd8786c7a17f66b4d9f27406b306ca4aa9eaad63762668c9fae92db12e36e02ec5cb5ed945ef9ec679f00318a89e42537c6f149ad9375f6f4a79fb763cc984cb50127d242eb636206510a294b842f16501bfaea355361183359e160c2227ab076fc75fb6b3bc73f71e01f222d87cc814185450fa5f09f0ccbe0fa456dff9f55c6db41f7e121cd530ab3d56e8725a30c54724d5073345fada67721bc3caa661ad2a048a987143edd05e17a561a4f1ed7187251d0531d1c896a53931de1404fd19bc1143c42c8c7ce72322a56df2727ccf524d53be8bf740546c25367b306bfae036819fa3d1ff1dc72e4fb1df88f9f0886ad2d2f7ee4a6742e099302b3cdfea72f68f6a5ccf61aae513cd56a693b76d74ca3ce15fb3a52cf44bdb4823e4f10012d67baa9635ebd5e723ef557bfa345c888bf4c8c11f715c341d6c5abf5b36fdb6447a7af08e276b072c2c02d353fbaec738e8ff6de89fe198c6efb7ec08d4701893579242fb6f226725d0c17621b2042501ac6460b35fb8d64434a75d281f521caff8853eb960f85729fbe1ed94e4138f2edc7daa874a459ff326bff1aa206cdbbdf7124be1351406b4dfab410c8f99370a6d08180da86059152301eae48f32ced1a4bbc21b5d5d71df4eab1688f0d2c0db95b506bec227b632c2cf4a0553ee50b942e86b61471382803ca46ac9dc6c534f1e5ba0c784df0e6e2092b68ec8a8cad2303463add03e972a57f8eddbff533f8dc3f0e777409a4cc7a207ca2c283e168eb383b05a6e06c72f1b3bd7e923970b84fe0ab2d76d8b18f572613d24a66e16ba5668b0c5779ac728d59919a3b11050aec3b52546eb6e89075f07817813e998aa284b9c0737a7d72b9cfbdd0963b3cd6d31e355718e4de288b0462376cb81e9047fc2bf959951872f311a1fa883ea52616ee3f8514e59d63b6dc4cc5a0defaa5a4187e51ca48544eac3c2a3dc09f0f1c19d03f20f54aa065e99c517558880157195e25b81b1c8947735bd94151fbec07629841fcb5581839431014fdfe4d24b553bb74c5036249359948f226fc2606f50081621b319f77c6df5ec9f74a6c0b08158d3c7fe8de0e28a54296bb3b855052e392b40abfda0fcdfcd04f837a21bc370cf00e9c8e6aa271fd47f76cd185f32df8a6d55380725f1f30e19c6d6e1dc0212e7a16bd44c505727aaa536b2c7298cef61c895ff7902ed3d2afabbe825f54d6d61e4bcb288f9b2f19456c812dcfdb15e9efa47aa8e799401a5baaa81c77edd33245198d3c81833d486ca0bd09a22db051d1b540c2dbe78d47ecc1e9f661af6df15df543a1b1bc35cb64ab7e98943ce1255d3ac7cee97ec7e1e04bac1b1c6d87cc068be43306b6676f2ba9de3953e2b316b556e67c66ac52f324ae6bcf298da8723775612f657f72d7ecbd9d8e0f1acfa79b3dd109e4bf57a6cfc4f23d8406316cfb5e4444113829c72b17c06d4a06bc0b84a69a8d6df7e6af6feedab27fe1caee2f06e309ffdd720316fdceb0dbd34a8682e1f6a86b5bf813911c064d3b90f19c273b51053fef12e9d1525c7972869eeef3593b956e068a8bb7a92772c29ab6b165a7c88a600d7222ce10fb1ef688f1ab5f9bd1fada97d30319c41620ba4381f0f2179559782d6cb70e28e029363722d762cfa3102905e8d08d2fe7701990aed13957839501f43b450789f9103367fa8028856a45bde673eae307534620283baa528da9cdb7be00f18d7549921e9afe54f76f57a2594fd3f828ed3bce8f2ef5f2accd964c7a8b72fa6c9a139abd24d1fb69759ba84ada75828cae47936c1e99584da10ab4d0006db9a425945ab574886fe9f6bb2e9b6dd0d6089111785f8e303e2353d752240d431dac0f569196e155734007716080775965ad69896bbd2a253b9c34e24b5b7a7268869faf90f37a3f8b618b2a3d0e79b9c91b6a74e59f3a8f4898d84ffb4f987210877ea94c6dc1b58b0cdc392d0b1580c01a98c37b563e8a8d03506a95e8ba7226f2bc24fe675febdf4e8d730097ce0435ad0098a6d407d587df9dcef45995442dd642ce2d87140d50c5ec25ac183a449a6ea5eeeb6faf8823b2cfb7651ff003176591f373f6f1c79f3ca898355aa3eadd6d2fc0d504329f8e85b53d7b5cd368d1cce7ca5f37da2dfc3a89aa67fb48a44f138eb5849fed36e08ba00bd8508b722b2cc64b01c0838fac2c622f908ae9bc516178aee33da53c8d487114c83a6b53f7d2db042cf912a6668b04e15b49796631a2ac2eb240680e8b4d8934f3686672713e09ac1d2a98f58eb03cda6d8a54d1a1765f4e8a156e5ce9f691a9e32c1e72f2b09949669390bbf80ccc8d4302bc8003829993eb2d824eb7ccefbb1f1551321ec44fc3beee802e8b76be48c933e9f77c874f35250857afcb669d268add6b72400e58d1607a118a546b0b56d117bfe847bd543a6d06558e59081954d4ce54725789921bd17a7888a86e2fbbfdbe9a92426c1c389ac0d1ba5e0f61f15ef1aa0d1c4e633d9ed65eac048da12f27a45988742d655ea9f9a364c46de3d8fdb2d07212b48dadcde7aabad7e0c4a09ecc37437c7d09197487ba99a6a1ac623214a15b8249a80d034b513e4e7349eaf6f83de2643314c105c4c7a9affe6cc1d9a14f727957bef83d784aabad5e4f49a813720b894403812d48bc8df17c72af5e1e6609ffd5c219d85d1680f9b80af4477f834f0d1ce7b647fd8d3dc8e30e93f722c46b68e08f95aa283bdc8923001c1494092980d7e3bf3be6dd4cbab1798c79663d6c71ae711a9fdfb6223a99700c3c1fef3425396a8f8faa488d6d91e0114af14d4d550054d021b2857feb4f6f13e4b49774b65cdf35f8d735ce5685a503b524ec4cc0dba3177d652e7e72661347cc463b6506737f3f4a436c73cee28e910c437a39e29cf24ffe637a78e49babff91f8f41e5428964a5787bb12bd0e63f54fc90f72d31ad4a10abafb5439232951635123be879ecd8f6ea2f351fce594c0fb7d5172f9931d30bad42cd6faa404735a5e179adfebcd71a03521a543aff6ad35c24304811e253792eaa71926b34488a268551ca9a834a632acccea07a011f1da82ff72caf7a5a93b632f7bcf314c6378e3b70c2c2077e5bd383e8d02949669f2ef8a518a9903e36a2967777915ea2f00da08e0378abb8feb7960478a33abfc58d92d7259a54122825258e4cee37979fdbdb3bd60d00711eceddaa7e341c45f1d418b729acfde132ffb69759c9296f7d32eb72c212e2e1fd8c9f1edf43070e5c2fd5e72517a3137420748885c86428e97f478bce0b5022a9d4cfebff9056d85a81eeb1f1f4ce4769ea72774ed80e9f26bc29402e486bf57b1a1c4d518d747dc42ad4772cd7ebc1212adb6fa1139295971298e122f4747a8fca80fa5ae1b51c8cb0a713da289150c0152b12494e00ab4f80244eb6608748d16a1e6e20fcfd2367be16772f253cb3cbfd87b69cccb0bcdb6dd5b3acbd7bd38f9c21cca47f8d0012079bb72ee19f30ee58bedc962faab7e303ea09d525f778dc81d45ed1d177e4f35a5a2728cb4eb60bc6b85f17bff0696752c784e7292424c38026fe2742b29ba44e47e726d5f3d68b3792e186bce37181b58661171f13c881629c5298facf52a5388bf29b49fff10f787cebf587c3cb74b586a1c59bf34e5341444f28f86755c6236c772b69c9cf4856fa9269230668951bc29763187cacfa2d1a73dd008e22794681572dc819533e32bc9dc7badcc463cd7d4573517915cebb15c6bc7a17fcdb09ae272c39ca9f5f541bfd3a65cd53b5a587e1e0652ece9457ed02d822a5837265f7172ab9a9756dead760a6f593349f86045c8bb28cbf344d4f8a7c0817fd46d6fdc727840b8f99335ab43338861bff5225c6a7f30abd7c20197690f0c9cb0f592c616e438c1d94f2cce1ba4feca765ed34931ec1b4d52dbdd83fb438b75e9e50ca172fd8ed660ed2b0fb68a025aeba95c4375afd1230bdb035ec9a536bc83bb94aa3ed64fcaa53eb824e8ca11f6b253a60d73f605794ae84c147c48d9cffd3f7839722af313243346bbb2ddb6525f57af837522407deda0b4c08d600e7cad8880a272d7daab39514998f42431262cad6551dea7f0bab5b89c419cfc96a7a92d57b82516dbba7360718056e5b38bd41dd75f614b3d70adfb8d1d27188b549fbc40782fddbc4ac7ae4c20b937425d2973613e408aa456bff51628b632493af115edc531a8aff67008469da1a662120fd25145ad7d950bd2e53bb49b8679baabfd0673729f5192d22cab4ae5ba3c7a7b39fff687e96bde24906790c70369a1ddcec67d728931ef0a5b57781899bc39bfc29ebedf6698645682fe46b9ed4541f207e716003e08d2797d1cfcf1fdf307d2eca35fe52c1caa9f6e6c4562b31dd2348c782872bbbcdc252a08cc3502fdb90bbd0ab4e463009a699bbd3a9eb099ad550c89d07294ca580b37abd88a5ceda6f92a4752e3b31a736aff8f6a476100100189c5a605700bad678481ad93eb173b51e9f9729c3ac385b574452e1ec5aaecbfd4fee472aacdbd8f6a3d564c4ca3c1f9387d237500c9a86428791cb10b76201cbe8f9872587bb652bde9c6be0c5237c09e897db1857efddce9dbe58c783d01557ac62972aefeb9c5a74f0bfb9be1a1ca5604b413b4d9b8a5ada20361b561c30ec2423a6cbe9511cae6ddc4dfd9e0c6418a47e8e7ba0bd2a12e0b71b198cc939d758dfb2bbd1a9b81aed921b9091383aa41de8664879d2b30aa3cf63817655429856ed572fa538c8f6264f204887bf490ec070fcdc498051d2c790c234e2b2c44f7083b7222386d35d0dbcc0022e50c6f8f37039a6e6f617fed74fc0f06ba513e0ba5ac7255a6e22cd76ae6ee8c71b70c249da4cf2fee47c124cf3c20144bd7c76ed4fd5dff5ddc5d3a0e375eab5dd4757b6d59d03a6369988d4e5a245f880916926f3e72a8d26ae33de578c4910afc6c82fc71e484a3236c81c10d18da17fb5223343572958628987e9808350807db6f244c60c15422304e914a070effa5c459612c81725774c186960471f66b76baf2a47941d90d97a8116d0fe719ce503e3d35d3cc6d72fc53e4299b513578101696c70bf96818ec06a28fb10cd9ffb20bc8cd5aeb72f1928dedf8ba9c4c1e8f4f8475150177e2bc3ba0062f6ca72e1e434d4785386f0d4789474dd9f1204546dbe6f15ddbd5a8fb9f0869c18273ae3b1161b4c5b172244d43c276f86509f7cde7cce588ae3f4d57465d3269df28b628dede740f1769d7f57553da0cd7e4bf14b3c41ffa895b9e2bab828d03835f6e06a0384204fa72cdda50d43464dfba1821cce730c1644dd4cf4d878edb98cb700f03b3eeac6172913542f23e4a699f1b7be5aa505966f4595550d0de8ab114fa5e6da9726a1072c87f5748834a754fb8b51bd17c8f065a8c9797a663105040176abdc4380fd272ac11c3289f0afb4f737543b12f3e8484e48dfa18ba5292ee968c74159ad2ad3027fc6cc54174971c0f71b838ebe5332a831359e2f34a358d7ce05c809f219572c46283fd59c45b259cdd1ae8fcc5055d0c3e5ee5ab466a06b4de2534f4b96e7271d49b901e32f2eba2f5c3e225ec73cc6edbff96d592eb0893515e94d70ab24d321f9a02e6ea58c0e6b077744a2126b2be147a14059d1528f528681fb10f7805f92449846211b2854be20e74efeaa315dc8ea1ea3543a4e0e6ed7c2420c83972e0e206fd75436bdc9965f602d4b62592980471e9203ed2c2f62cdf25c9e7e909e5fd1304beec6b541bb1b8df7743be8808add614bc21713f0c44bff633ce396205ed3167034d6369aff05b5ebe0a28eb7140792a2024e5171ed78900b1d6c86ee9f73487e0a5562adc4d52e8106a6ded78917fde783c16f31b424c12315b885810b731e65d2f1309ffe9b730abd9512b058719fcff60e437b0be563913dd80720d31a2dbf3f1bad0f915c4ef44632eac0dae224218778287ee66abd3dd1756087f923351e840ae1e63da74caea53b0d34ca858daea0842f7aa56799a70048c4eb7232f9ee8a85f0ccf32f843a2ab26ccd0330a8988ce8a471e9f9f78b4a4b85e1605d2c4e199fbfbcf22a4f2d6293cdc44d432c61342f13d6194854a1325c57200b871acab9819baf63cfe2b021b03494e24198afd782ad402677fdfd87b6972623755c7b18d6a8b1b4b79f5178719e1197ca3af9f3569c7e93083b03e55407200e6047b4cc4cef21c8c22b6fcdf9b77ec75b792ca75276c4ea4c196952bbc11b9c3573ca7a84047edc3df0e3b91c586dc31e13fbad78051277848bffb578d231a2726edfc41725ddfd7dc76b5a4d6161657c6dc387271e5886fefd23c9fa426a8e26ca90409e4a76b82472c184e2d53d4716c46696df569f5c917a310aa4f5c16674b3e72c557c3e885fed0ad8f2499514cf08d567b8be4732bf5849b6b155dd7aade0137da08f05996323fbe377adf6e793c5f34758c544fa41d68e36af9724a0ef195a6661895506c1cf9dd86d2a7adf79d8cb39530d7d7918fbf95fd8272fb241ffe402936c4033eeda6b597564ba28cfd823557bdba45f44c5fb033b1729829dfb08f3d4315cd31731bd63f118c6870c201e970cad01b5ec1afbc33c903d9607ffd2851569a8235b2d2891563c6fe3b39af5929f5c1dd1c26dc123ea472b131d5e787c8e4bc6412ee88c212b2d5f174a140875b553b6d98256cf0b19472cf1911d850c045a7faa662839b3d0cfb4e49e191b754d8d4207b8e82e4ccef720839c4bbd9f1deba03a9cfffa6efd0d8a0ee0035c1b5595cb1b1b2f948541e62930ecd50a01c641ebe2dbc941296a59c5cc3645b7b4b9cda1c1bc070ee5ec27266e6e46637e0ae83874c6d150fdbc2cd11972a7e5b2e09e0bd2eb37fe89e8472e3e8933a2a4e04a934f9b69e9e3b12b382336ba39fde1d1ae6247e7f87f949725c22f4fd39100f40ec580930f171527f9ba09224279a8d448b68ea85a99366487ce72d539a89c0ad798b9f3fc08e26158503e4c8b3149165b5c17464ba25457245230fcf6a94c546b008a37bc02696861827b1995f10952720ef780f765a4572d984d2891092bfac9864decaa4b50c10e8c82057058eba1f04a933f96cd536727015d64c51e1397d370b45faa9723c9b74026ea54a1d0770ae55fd31861868722d446c885511490813ff568094f446840050a94e6c28ffd2c01ef82a73802772d0f2a949dfe64cade48fef7e3c87d4c9fcab6acded88cecce848e2ee86be1d7264388fd18cc50fa90450b65b31385add54cc72692c4d0682cd7ee19173351f62bce7d111ff639cf489ec15456ecdb495b2c6f1358e27445a947ced15541b011873d32a8d777c00cf340d1965f299841aaf5a49661d615fa411572eb3b58fd672f17628c735768fd03128ba2c73658885f3360b6b19f30bb65881b0b7e65e9c721d8612f1f8a61b66896ce26e3799ca55576f96344ef9e88b3237fd019753db728b6af281968afabb384ae0a8058a098536e4997cf5879d354d05bc89fff49a72853996e2c6bc94323e70de66f3f60a0a14b4e36c0a07ac201162dae0e667030aeb4b8b4a8c6016f3676517b998d63410c38107b3fd9ae126cce80fa6227c01194231a2d46472ba3bf92861ddb1f367d92b73b68f2143e2b2ed3f89e31ce5cf098df33d3ba8e058057f00d0f0a0abde11eff9c503db3272763b02e5930f83b4720a6e5b200b7fa2891c454156e811787e63d69aa0a852681ad085e38fd5104a72fed35693ae4c7b8cefd4b50624c6a1f2f3925dc6bf37fce88376b89fb7523d72b65383e3b87c0cfbdee46ff791e95460a5de68bb0cf61dfa3d76a262940a0272e930a918598107d3dfe0c0c0c215c8e5243018a6eb674f2aaf516474f220825109e820ca0399643a4ce40e98f768e565261dd4f92ed6fc8f27d99f6226e0283ffa7ac59eeaf27bfb9085578ae02ef4239835e0bd86d8a8270c4126cd45cd490eba0ddd3b565e50fdc5085e82683ddced2e2ce331780e3f8ae745efae6f15b12dbe77f42b6150caa288369afcd571ed8e2e1119da42596e9ba2253e902b11ae23fcbfe758bb8796c28e00b2b79117d07a60f76a09d2054eba69952b2f810d9b724274fb369f064474004ee32db891f52a5a7bab9b307e6ee4491d3cde4db68b3f490ba905e7926c0a52146906395738f434f2cdb41336dcefc01544164ac0d472d1722559201518b54ce88612a39a154c0cb3b4c77bcba3732e9e94cca2ebcf72cb76292265a45af799b747e26dbe63257bdab13f4cc5d4869e50697d062ee8343338daf08fec7e2a2d43fc06a8c2a588ac39b7e2a902d8047f4383903f6908724ec7ba6d0811697f1b7bdb5d517277ea2396acdf80b4ee3d53a1ea5aa3fd497202e5926166010a804f7c6ec76bdc3e7dbcbddf40bd643f20cf649de63c0887726011f2cabcb5180f1a40d914ba9fbed09bc20ada90e67bba1c0fb1b91d114d72fc8f199733b36c6d9e281120c417462734cb61fc3d5374d5445870167976534d9c80004ec113dbcd7ba1b2e93be42654ced9b26594c175df143dd50c401319521e95d7686b4590753fe0a76b65dc4021a4652a5df13509801fac993b153e660f76c3b1e6a6031cae5edecedba1b54134139843a7750a31224561b236a044207257a3277b6964132871b53dcfe902b46e9c624f27b22c4297413482349085b572eb7210070724ad25a6b34064c031c76c74ffead6e2a869486dc510cb831554714f73ab698b7bb3a3bc0bdcac0a23b4b46f795977bf70ba514556f98907d71b68efe654b94d03cecd02667514ab60dddee398fe95bf8df534904496d8087c32727652ba6893d4b30557c6a2fa1ec74b44c5673c36c18123dee589feaeebab67722914a5b23938fc10381ef077d4cfbc3012ed096cac4bb99c847c3048f543b74af915e01fb8cc7e1e88dc2e7a21a4fd3cf37626d6ad764d3c4dd173d2d220e172b3eed4087b09494a047db402e9a1b7116c7f6950cd8d7a40b6741a63ac6c9772a3c465beec9f1447b7ddbca1122590ab707357e7f0e61e3fbd39bdd10cb58263001aa00b29aeed7e7f056723fa26c192cdb108183730b8c95021b9cfb8d0fe72d3fedb96bd7080e836563b2340d081ba0ec74fbff78c1ee2ef3c55fe7740b572d1b269e297885ad4c86aba43c6d7ceda61f1c300a26c043db0950f73f343f75908c7310b43b1d1e430b0b45f5dcc7a7e1c4db7a38786a5ce67d1a29e2e4460728ced61637bc7285ee5fcc2db15597c4143c74ed160620fc056109f5acec6863d521eea8c26b3f87c7d0d4c86dcf49bada2875f13d83b0c7cd38ff7f8a70a5a723c1257ef2d137ef01de5e41aaf2dfb7332c3447e32e8cf399ea95d9236bf7772652373c85616fa1ae4fef9d21f970be28410e8814cb403491a24fb28dbd11c23152cba30db438bf805e2392dbf15b9e2cb3e56bb21b1726fc3132edaf8ce2372e0609fcee79798826ffe874a456573a603d6bc507568ba9c1dd7606a2da348527a115bd63631972da1223d2420ab4ac80680af7a33294e9cf7f12269b938fe56dae958366c40f610d9b48f1343576becabfe728816d41065f70d5b3347fad27297173ba6550ffa66d4075ee989b1966a35f19eb6288af4a130ea925327f41964215b593414c15a94c080f29b01bf0c05b508ae716c99085182c42fa4b8014517b2673eb3d9f2d748b5ae27fbd1a37ea5f5b37089b77b23221bbbdac778f1f9720fcd6b8c8d962467b5885cb6ecb234208083cb1854082211eefc74d38bee5a0d733047d38fc0afae82c58712ac4e0238cbc1bbddd5ed79b5522f10dc21641772f1359c593f11b111ed01d9f72a8e1eef2936ae0fcbbd676500300f627918a327c1313fbc8cf32fc4b613bab97a9701740d2b01ca692a5d7a39cfd548c2cdb47291caff4fee74ac274a5637ab90a12c013865dc6a012224e6a4082099c11d8d614b77d9aa07db18baeff36b64f0c0372a8ab0bb16bec90a58a30004e01f3cd10e36af183a563383d49ef6c57e166093d4908be1ce29db3f251dbc84a3f1161019bd3e188fe19f15a31be3ed6d2a3425cc730ccff925ed22f7217a92e875b79d3e44c2061b426de0889ad5db9a9f8589f8b6b94e0f6e04729d8aff0361f22f161450e17d45fc6eb0673f8a7b68ab387ef1a3893f1b04e0138f6dca99d49f9fdc6dc622ce631a5c1755200f0ced473ae872a2b4726332179e366726bbe066cf5c4a842f5729c46ab0ccca096aab883704847061ff19f59356dc058e2fa994980b221e3db5b26e6944590ae1a614c62caf8c67d577b09410db238277b24906b79f7264ae1290bae235e25c79981aeb8e84809c530916e62df3e8017f1aeaeb421439298953c675775dbc6a5e6ea3c072f690c7c7529690752fb22dbbf8ac1f1b01720743da1156cf776fee3feabf8a9d178cbf883275b73f68155eda08b13472892e339792c28d863d8e3e7a9c87b8f8f2cc50f3ffb26794f3484c145561d0460972e26849573ae706f016db3935a34a7f1b46723406c09871cf06b1309d1446f072b00eba21b4e8920c1d977b8ba3388518bb649ad9d7e71545c911ef5b9b58537283e69115f16967af1e2a276df1a3a3206a3b1d1f81045b91defff95c3327e072593b921c329753e3d387a6613f8e39ce80f620902b7aea1d0910d0d4f2b5677237ec91616480250f42126f97d93393a3eff2e469b105551f52cad686c6d61472422e9554afdf17c30b76a2bbbd916db370fac2cc1a1196a098203f8b0673000381fc58e46fdc2c0c89e49a09785550dcda28fc095842c887bd87600152e8c3503bc38f5c5b0a1a41571d139e801c18c39cdb78a0a199526dc847014e57b04a6775b7b3e264564e8a812e4219f0c257a70479d4e8dba367a7176082e8ec92df720a783f6e08332e03dbf05969ff79c307b9873eccddf96a826bc57bdea7fc9254a8f6c741f3da63427afc9a56cf33e837ecd73c5a20fbd3b2ec3568effb9c4a72eadfd7ee4a2e53ef4984ac9cd908b8d870edd144e593482bb0e09937c6086d72944b7ddb6a1029a963b5f98448462648eb57cc0c109f0649d7d9945874035672059c9c430bc5e6bac1ce472a897c95f53789761f754735026b45680428b02d69a2b3795bcfb6cfdb52b3e451d35d2202e3e63478d15d1d9047c590cf1970876d5006cb3bc6dc38631b8f9cd5f285944e5c04bad52ee4aec0b0b59292f4570c72ec167fdc420c757ce942e42b5975612d0873ca318cde7b7ab0a6c14d09dfb372abc66309fa19104233757a825653b889ceddf8ef23f1ce5cdc01a03d21ce3972cd293a3abf41107da7139c75452ef088f0ac43aeb52f91294dd32be544100e277773f13883e481e9afacc5969301e9dee08630fad37c51e1f5d83f539a264c43800a2e360cbca6dd57d81d833ef29a80ea64785ae00708023cc9bf8f15db3c727a5db1271ef55b01a5e4b0ad4d5d9d0767f0ff4169824fae53a52ccba53770726a80dd76f86d69eff53f323a9d4170e770ee171c480dfb88732473b7f1595b05d24c778c828930ce952a2a4a1393dcfd3aaba1d95a8200cd9f9c0e13a1f15650b7d6ab6797787caec635ed6f6adac3293e02a8dc3cd6bb9f57f3fa6755ea4403901beb1ae7505e882d780f6e3b8dde1b2f2a2b979ee4f6692af245565d388e7222f86da89a21fb2395a24aac6947ee5d1c3103de27898ef73c1964d5319db07249ca2d935afe1fb650a74df6c50457e839bb1e6f5b76bfb0f25a33bc6587f4725ef6a6a3693662e33145952fa9d91df71b836db7d001a7d3fa1cda20993bf77272d013f3f63d9406f02ecdcb320538f053ddb4e4066d118a944126bd2ff049049c76dbb9ebb70460556b73017897c6551bfad5c76004a37420c377464db32972729383317c928c87ac936419aab14aea4894be029249b4d719bb6cdfe2c4cc6220ed37c920d88b1083be19ad6525949a6ade6f00d5ee745201e138daca761d7259be0a47e3ccf48ab31cebc1a439e875f622884f467fa354188bbec9fe9e46722e5f8664e9ca3ab6e31a094b7239e0b1fd40eb91a6de13213673ac3cd5e0cc72d4014e647b29b7d9aec5a732636023002a9c6febe07279fc02938db4a1607e7266cdd7e18f1e89dd08cefbd6269bb8c250717a348bf4ecab64c5f0afb21643725c3daa99f44df33d804145603fbcf7123c39801bd5a39143ef8f4db8533694476449c84432b6d755aa2e6568985813b356069f54c1e04e82e2af40c4c7445872a910294d9fd1a036d48013bf285b571aba0a84aff63446f52c45b3826d0def5a798b9e9743c2dc96fc5b163bc46b39605bce16b6cb809f7006886b7636ac6672a0efc2e9152e2fd2779cbd8612296d388982958abce99200c38e1ffe77611c2517317a8fd6dece0bc334d6bba0edcf3c1849bdf0122732ce98932c109de8f2726395e029f866573efa5d52dfc5cb1bd7799b39191298146054836c6dd331b172070e90139cd5e1cb1f251e7d321bf1d62f1307697dbfdd1009ba515030e47a722c073cf2cf5f77415d421c24083ff8b8e1560817add3efdab0c2f942dc76e85c3ed8e2640c0988c5c43051e43ffe8f09c94d7f3c7778ec5ed5c876bdbce98372881b4a836458801b6354a79c75c313e120d7ce0348ccdd522fdc13119ba69672d57856a186a6009fe81fba3a7464c004b2039a89d812e8c88a275802d74299727a1801032c0cf1233f78458c1d1ce42326362eeb8a8388d281ff326f146dd050683300238831c20c006de0999d18bcd122c478966b3cb355a91167a1164379161e1766a0a746856dc5eac8bf833b0ef4cb77beeee89d825422eb031d6bab6a7211b61ed464fbe51e126292dec5494bdf911f518fd4fcfddd57f4db309bdd1b0eb8f275496f20b15ac1145539072bffca98b3e6292a6e71ea5fc7bb7ddbcab538ed8ba5374dbe4cab04bda3d4db941458065d3984e379d7f202e53094ee39071abd5f878a25c8dd22540152cbb647fc46ace906cf8d2483b2aa0af3fa8122e6722a5531508ec5ecd8800d0968ac60f7799e90bd6ebe74e30492f01ea58eeeb67294b2274b126cb7e2c7f373cc204aa08d51219d35e72885451fb3454bda9d033ec9b38f8e95feab5e775469e766ab6cc07d07c353e74a855d2db54e6410b9812662f6d937e307a238041c06392f4b9771b30d6e043f54df31bfa45fe4823a65728440245ffa098ce670ed7b8824a7b894b2db54d6fa659e877a2cfad5a58e1272fea13abc22237d4fbedc3130808ddbd2fed13cf87bd93b5029273fa35a72c96941911cd6e83d48eb1b0726ee0b9dcb482de0c4c42e823f85cd7d7ff2838a767286495cb18d41c5bcd1be99e859ae8161bdde68346bfe492ea6a00c1480418c31aa52f7039740f5e21ed2a85de17bef128ca0e2f64ff0775f3a905c3ebe3b0b43cb7f154fbc95bd0b9f9a178cf8e54721fd51ed026c2ed99cbc283fefc2604c420b48b13acb6649e83cbbf5bf7074cda3f22cbd3980922719370407f4baef5b4dfe32c18bbb603594795b281387a4c6ffabb1e8011f85fba983ab3b5a101d6372b2b10b188abda925cffc428b4966d07b0871345a0740dd0115895f586ef95d72c23d19ff605d492ff5010a4c4e80b914f89bf4d91d5a1d367b497499ebefd8387699f4087ea9239ed295ecdd4f9f95635505f88bff801413d016bcbc84304b3f2a197da9b44f08467d4aa3b928698880920e65dda4cba080c749799b67b1c372b6494fdc81f65af98e32621416b28fe8840023ee7691f5f82e30f34629026723dc1dd692fad0831875f61578e0351586bab4302a02a78059ba372300574bae72d0d243e8da4096edebae6ab459dfdc45309c6307f2d05a720e9c442f477f27729851512a7c5ffb14f330872340ff07e1e4bc1a0dbb54279437801a594e5d0c726dbf49970c8411621a213068ca87071f0a3e2a506f747eb4192078a70028f8725401d98ade7fb8b15dab22fa3fcdd5194fcf2cd9ccbfeb9e9bfc092a90a59072b4592656c150a1d452e3d2c98759de4d43f25f909e1afb0254ffe46461f0997261f12cb40f4f409d5b13a3ea75a9d146535acd63baa93c68d9bc6a6b6887bd2573e60d17ec304e72b737a64a17c75e1c3f1abb5f00087084eedfbcb047e40702e8e3bc96356478ec78925a87cc87fae994eeb753d0ba689a963cb1766a0015570a4cc0db41f7e67318a060db318b7d1d8a666fa17ecf738ba42ee0f78369416f4e5136f6b17a0160db7c8564cbdc7a0cb68f82f2e43d7dd63ef5e3d8e3fcdc7282b686674fa4442f14c48fe5734e66c040cc3bc655f333d56f9aab437990e47277cdc26947581695303d554a00d3d465ae1af83c60d3c9e3ad8e35ffa46d8d00d4eae29e0d3e281872769f3ea731a71d996975a962ab8ff7f848ff6d3c27f472951cbc4af876bee93da86273295d54ae0ee6f59c8b39f757cfeea13c2a072b1c3733fab8e5d73cf95c25e55c453c9f1df135ae585ee85441484443a0549d0672b9f58fe4cc492ac8f8208fa78792411e7e0d97012f98804e993d9ad37ff05572ec053ffc6d6a24fd274aad144dff11bbfb2d56e6d83cee9ececdd775ed615a72ab13959015bfe21a86848b13223680fd6fc63ce77a9f6238b8104454710af87283b226cd88aa46d648dcfd2ace97219d630f8c2bb2c4551aa7fce5b2ff6d4267551e51f76d5b2baa9dff3bd5a0903cc4737fb0201f90f108d1180a77e6776c1cd59733e00211d3596fc5463ab01802508272fce072b22cc554e903e887959a72efce0a1573dd46696aafde72d2859b8969797334da9b54d40ce79549ce8c4d40e4f7e305e4719b0c5abc8d2623d37fae69c8fde2711e44c1d37333bc2db10272f91587e99c5b253034e517f825f4426674b11b6e4747e9f878448581a2d50072c979c6f0c05298a482103493a13d90ec62e930b35aff6342a791d340fe64233c109e185ac7ee9626596f49f4b484316da5ac46e90643251c1df936a68d98250672f1bf38defbd2496c8ab0f02efebaead79d2404d5dcd5f6fd67873407cbd605f2d5448ca3dfe8de1c465f49c0180be71053757957672ada1f97dd355fcfc37258545331cf161360c3678d2d68259d5c72413e81a4132b2f1d3c3efdf09f5572373097357229842f36329c08dba220f88b216676eebc6df6e80881005af0b65729712e3ecc920cd3c4a2f79f3561d699670e0b594802b229deb14aea717fc7727b376e2b51716e27038eb1040a766c2f29ae3bb844ad2550889360220ab28572cb7d1cb25836de9b34ac21eb4a542bb0e8ed06485e08be3d4a0fab9dbc7a9372e200dbb0f01b74d12fc27d5bb6f8c1fa52615f8a89fff4bce12486df76b4d7610233327d7f3c68275078dff5ad44b6602ba61514f2c702d59d0873e578a574667e6ad9d514ff16f92188d65cbcb7a15aeab3c3005bd9f8349d3ed1dc0fb47e11b0116c934af4447890f1f1ac6f11a9739164b36c737d5a1edcde96232e0fe5724596d2cfcacbde0fae9b5fb473065009c87ecce5582e3e24a77491d1b28f19645c0fc425d2f5a0ce5df48d76b4e063b00e59260900e65af387a15e9c0bded03cc6e482611b2e69d86407d395344287ee9a5504b0a5c19e1b01549aa929682f72a63080c68a9a7cf6e5697b131244af47347f698f2626aa41dce2d8824defa672c851a916a071b5e93e24388c604879ecee9bb8eac918ac86b2d22fa3cb8acb5d9c2937fd5cdbd20fdda6441081de82f3968ee26912de6ec92128db754b56de1bcd405b31f1600069c8007b66fe8fd768e3ea6ea00a749485c7f21411e0edc872a4c323cc3b337aff9ae76aa524c00c28fe38452efe7b4fefdc7cf9d090931a5de57a7974a6d9113054245fdbd508d0889928736f5ecafacbebde245bcca45572d46380a4fdba7fd3dba775df264fe975e60a5e295bcd41aa083fb72937666472bf43ba500e2f81aa0108f9f22dd01a4198d34383d372cea641746bb3afc44a382acb49273df962a714afd596a2c9292c615d4f0beea1514d8cc44a9c7a541951c8b71c59293ca01b3c7ca31b18843b4a88d218ee074b631484740529fd8375720a2f453ca17824ee5db76f7cf6f89b38da87cb954379653e073364bb20c8105e0f7d13a3bb5625cd34f25dd679a57fd0961677a1ca645cca10f7bd1a4be4d545caa6cf771cd6853e64d3b62b0eb601a87c305a777d23e73afc19448ba9060a382da20ce93917d6ffe66a518e709b8269629cf169beafffaa2d93029a907aa872562e7dd7dedcba5e2a25464c69fe32de820f11c6a643797914ad19f84da7bb42bfab7ead4f35e2a100990cfd9c31d9de17b43e3506ac04e87249ff02aa56657208d3871446200f3c88320d679fb6c72f7783699c82eca7fd356541fe62615225ec22457b0f2a8272335ed41d0545a202e2e4766a8b86edc5eb6ac53d7d6db8724706239716a8f0b0ef8288cd24c6eb154cc4cf2cb36760bb9561bd7502566072d475b2b3064f5e3990e941b72f8c73a39ad640e338ab761eb6415b0efdc13f723dff063478d213e864fc4466065f9f3d2670d430e3dbf4474c89b43fcd84c6728e4be89a70a24b60e5e3a43455d8a61bca4676cbede66cc6871f6ff5f926ca3427251eb15b7eb1acfcdb26f3d081f160089fea4e0900668efdc8b54b65ddee722af3bec81a1fec7d90508f42f544c245d47fc9bfcaec6adaacc8e95bdffba872a26f7d81b06fb27ab5e9a74ecfb71ab50f496194bafacd1c8fa346f5a6bb090aaf622df25bf68c64e51288b3ac361502474c8286a06293288586b6a9546dc102b2fe659318602c8c20f55d6ea209da3dee623d0a71fb25c41880ef2f246bf83df96794ecd5eec85af258a78a09016bda4a7bb80396eef9cfa9e318b434786e535a2b223c8b6c7b22c675a35c6b1b8e43dd01bb9faf29dc749e7ae02977c04f72ad5bf44b46da877524c599e50dcd1321da39d41c3a2e6dbd8d4325310e3dc5722cb631895e0b98d6a08644f58ee6b3d8c2128549dd73c07e9eed2cf49694b072d8e730b8562e59f71eed01ef32f1e0db6294bed9de7c02434bf6c75f2d74217239b3d6dd18c52b0e298c8426d033356ca6696637cd619bd4e1955972edfaaf7239df1d587230bed7c457f40b1bf1e7fcae737d255f1fed40edebef1fc4e4d272c1f98d36987d86d28e043b93cced7f9f26b7c874024704c2ed0885ee52d3ff02b1440d8d782834ca6a9511ea3fb7ed47308e9a5a2dfbbe9afec8c778dddea472466d0561bdf3c01045ab0bbe286fe1b0d83d5ffe66131dd83224d174beb370175a8def40ad5ab7dba1100d0ce555ee95a30ebcb224be92d7bd9f358f96cb973e56116b206e6d7d75799d7322635b00b5eadde4b7bf87dc401ce5f5dc1a92a052a7170256d58595dccd2f6d914876d6123a6769fe8ea6ee6ffd3a90fe0d7114723f7477a71009aa224447319b55a93c8dcbf324b2d2309fe22fc803846662fe498ac4818e8020b292df3a7b3611314c85c74a23cc3bd22a6a5f8a6aad36c1057200e23b8282155dc37f54e43d4f1ae15b9256ee2ff39985ec03fe88cb44de7b01b70438995ec75983932edcd18583743abd2c2ab799a4102032829c8cd1d1e25b4c631b490bb0f7348cca02ab13ab2bdfa7c5898010edab733e9fe9200f3c3237454143f64057e7c34d2864d2c8a3168ddf5a98e308f8969d5faba7d713cbd0724d605419d7f115bdab936e4f88714953b97a8854e49f2b950e34c6cc7684a536b8460c90585bc9d0f120acb933e15fe6342b6741e69441944eb04e0bf9efa5165213fdf0e00c7886d2fe1a772a4a46245c3bbbdf106e858433360a7d40f9567218c315b41ebdbcbbd7aa7126acf0529c1cece42aee9c1f2597b83b371a0612729bfa74772294762102d9aa4773ff8ac25b9180546c3d308ef4b44e427bd0df72f80ea7a5a7ce9ac954bc3e96d159ae118f8ff81c7da612d28dd7ddb62f24b21e68d0369562e331533d3dd5d3942354697d2c6fc289a5de15094513f46b499c728b6c42e7ea9b088ec4abc2317347ff1108ad798377539601c784358ebd1acc47f81d4378a15378ff618fa5bc04bbf4504cdac860895ef1d339e1683fae2ccf726207889ae33445f356004b3718c4619bd46bcd3209176675f8b867c9df9c335ea8a52f04c5d2cc749c5b3f9ab9e5d125ff2ebcb17107842dfdc439599ecfa572882a34d4af9eb5e4785b9c312aa7502ad4850d4892727fc891e063250478817271f9c711f0e68ed630fc4c7887e7b6510c46c9fb9df3e23fae884f2b85996e724c323339fb4e2fbcd19e49704d548fc571537e7596cc8b6d450e30135d6ff472e9c6e42553d8122da0ed7727679574bf1898e5545178f2a59d0ba3d8b00e9472783cc89a5e3291b9ad4add0e9d1b3d0a3ddea56c7625da096c46e8f7f868dc72512f984987213ec78f0671417cc0318bd2571dd9c0b8e6c3dedeca0ffb9c7c722cc59db295f162aaef7a08251421f8bdd949506700fe9ebc1dec5f1b6cf33772cd5ab685071e7947b300eb2d851b3e5edf96492390efbe33d645c0126fe387722b5204c0070238b64ae0bec233e7700a0cea9abbd6b8e04a99157376227aff1b62f20689aeacb038093c68a02734dfe79b39ae20a49dfcc0605235cd71829c7283dcb587a4e73699ba47cf2582a081bfc9a47724bbcc9be5c6f5c2d5a6854f72033fc57ee844c0653ed97493806075478308e25159d331c1536ecee082ed2b141892d2c52670a97e210eda1a04051f5ace7478da455f31388e274ba9940afa721fbe4f86583eaffd734401620c0416ac5047c0b8379fd24635af1278a2842419e1bb76dda2c2041e462e3736fa5b8098e0db03c2b2bbbba8ee5fcaefa167861d6af1e22f522609c00a2b89ad8ae2ebd8e7ab33fe6d1e549ec7d0671067f1832564037ab29d604cabc35672b742e6415783155e23febde4c76520c8133920236973de852fa41bbd542bd7908f90a3001cd870c4a6a63fc4d928c7fc59ed28057234f10581e98a3c8adaf9cdc4775eba27e285ee52be607976cd92aa123e23ad579fb32bf0e81f83108b92c6c60d692544c7f419cc9164f06467d07918ac9d0c7232f9f2a3c19d4f23b86d2d82e2c02f29ca9e79f26332ec32cf3c83d42b95e46a4390f4cd6752609acf4e609888244c064e9b51c48871ba0b97a86d834d662e31c4ecbd7eb2d1cdf3d106c0023947c198fffece43b2609cd9d2570eaaa652da289ac74711463eae9897ffd73d8b8900af25619f1bcfd0c0de6ff294443e679d31f8136cd8e09d6d326467d3cef2a090b7c1f9f0f2f4e76cb0b549a45b875ab7122b210139ea732cf74fa8c157c554973a0e0c41fe69aaae72574ecac00a0ac9722c275f3cec7c31f497b4a24b6869181237c48b56445992139b1ca11ec91a3133b0e114474655cffc50e61a00df813d4025c8e8fc847c52080d09c121a5b8317260405e3b5e4e8d9236af94e7c0fb992928c8c25165f466add286dde9c337e5725f37ba339991bcc847969e100e3609ebf8785507ba4396af1fc33a0c675adb7236eab71bd2b937268a3b5de3224924d38ef6738a6a8aca1ffab08827dead1f728e88ee03a766964932f66a4f3befdaa70db8b02ab1a1f49a597b6622d5586c72add104d379b584cd86b98c88053f6f5780188b33d1538547df1cebab8a4ddb726939afdcfe93044eef237c29c5eb997fdd9aa9d55448e9f3fd2526bec167c172b78cf5fe792ddf52b0c63270e15ff22e77cad991576af10a3ea17e2de0fa0c08bb8f48a3facc9159228b3f611bae11043c5a8b98f6bd5a8dcbe4734c31e4b2726a88c2173f5417859a584df841c9bf952e7ae829d3d3cb49674db064b696c27257c5754d646ebce32247b232bd8986f69a9aac0291862b97ae3bf72a13775d254b0296615a0f70468a19b5478a387faecbaebe40c1dd7bab17213b6f45be3372949d142869c13057be0442873c8a4450182c52c70a9058fb6be8852241d7f97247b75ede4e42856006eba3ceb2534800b52716ac5665a8d349754aecdc90ae72c7c908d713e5ac3e169e79cd336986b0686728cbb5581bea07dc4dec65945c725cc99855d250c7e4c3cac67af76d981dad4ec0fb003fb1a9b22ba1d7107145725b72b3e657c356b28778f682b710cdaaa9f896eeed9833bd306850295e81277226c87a0466d059384bcc9f05724b0ffa184f4066c5aab52aed0870ebd7c2222c72025dc0fe10d85d0df3ce911225dcfee30bcdcc24a02e2874bfc7c8374c54562dd338bd16a1b36e78323e793e9ccfac08818e0f318befd5e3497870571974726922006d67c9c344dc5dae8392641c38cbeb97e3752e7def07c18ff79bfb315a565ccd5a172c1048e40a2ba569eb0fe3e0017ba68946889c25c78d3806201c72c3bca1b66154f9bf61f9ca0ff9a528f9da69de48dc5d7b444b6c178e41831772bf9dda0ef9b8dc25482ea8eacee7e6226e071ad5d2cc50b217f47d0310f571209da6248504d2246aef927848b7dd98dd6c0f9a784c5388e07f63f353d711696d4e357623827babca98abdb987f02c74cd5dae7e81ea87846d655207f06713f0878e70320c0dde1c93aba5425064c738490d6f1557e978e492bbd33804b9f9f09a4b63aa6a81fcf006f5a7b274f8cd3108d6da5cb9a8aad413fded0596db1b072cd3d756e62a1b16cd93ae7fbaceddb421d5cbb24ea5d61a8472b937bbb49465d10654b6be54cbde4f12a39879b4f09d40596e41b350357bf790eb4e1e066693eae3df4aada675dd79cdbebb3bd593a62e104aa9e99723419041eba3c5d915272062dbb930192a0eb5f480310df62479a6e6840db9317f61e403dddefe3d4bd72cef509256749592c8c610c47d221d76404cff94d49afeba24877973455b6f5727cf2cf5241d0df3675092a079d2d26b076a286e40c868e16033b0ef8d8c7f372f4e68c9ae3c7b28b16e919f3c4fe9b54a100f6041cd518eb4924f244bfff5872fe537f9d511064762d799e32c6ea45165d453f7af76a9ffda9d98e9828efa972d1512419fef4280a2f48f9a67ead96b51138ad45d0a14381003afa94a6908372279155c5573e477908c947fa401b408fda41384d184e0d5beb02055e97a66241d8b2c081db8d2b9178c16d8b5774194193f8a359a9894a99eca427d2f49f25727ec0df6eaa9788d97e5fd71a3b1a3d71c423c3f88840d07f805ad3c649e49655c8ab2a966060f0d8f76422a0a942881d50236dd8b7a4692b561420f8d2499e72549440927fc2a87096fa02f33d144b83b4a21dbb5f316c6a6714c17ac32fbe720d3e7ee9e83c9022a4f9b86dda7b81775afe30aa7950c08708f2cfe6a728c213aed3d021c058c8a8cfd6cb0dae7d1458f163b0563f4ea0519a88d96832cc4c3a62f37cbc87996061c35a5d265268b2bbefad0270c6606d9007efa44a80c99b72f54cb73c279310403b3191446b210b0439aa11286378159fd200c4dc2a86b35d2b56b848c26b70b2a873d29763a8f33c8210e6bee3164ef9b6189e65442615491ce302d9f708eed2b51ff42ef499dc243114ddfb361c316e988d2ae292cea00621c281ab8a5b74fe187da30dd7663c35c391ddbf50d0fdb9859729ed125a8c72fa78573be6fbd82f99bd15799e5238f9eda1b9dc70a12cb41445e148d2675b7270cf7bbf458dfe6a6eac4212cd467148f86e8a9e2077b1dd940659fc46bdab729b7dceae8cbb05087c9a278c4b37adb3b00155014d209fa074b94bda5be81c728d899dd50c917ddb587b253101face4216f4deea4968f3e721e8027877718972adc9047c95435e864efc9334b6d6bc61e7311a9947cb88de294256ab3823c77285eb8c7b1ea52c1068fe15c9a456cc35ea9d5d610ba4d9aba71096686a366372eb00cfe305ec01aaaeef2a1aacaa55e260499f37d15fbd254a6f30de39adf572365b73cfaa2814b94edefbbce1207b4a764e97768bfada5662440383d4464e62c5f19a3983eb4955fdadaab2496ae52e55e43661cbfecb64147fc04fa9c5872f0a95be11b5d93de276d05f21a56d931fc538df57e34ce3409ba090ae21305d4e3ab0d66c7ec93285d6d1039c3065eefe2c92520333a6954da4f1270cb5607372883708911b68960e84e8265b1e8708e8865ece2af0754e684585ddd116ca037204afa44ea298b9eddb44b9b1fd9cf6f7b35ed9c266e58eb7e5532a40e038b56c9cf11e55bc50474e1046ddb575b178878c1df52a9d06c05c634b23895b7cd272e99cee0aab5b5a6caf8c33eeb00cacefd0e51e93ea9719738a26dc47527cc70dbe76b997fe1309e99199a6182415b656ae0745a551391cc1c17f2043aaeee5726787ff4986651f2bf04662c433e82caa9cdbe8a1525b02cf7333d7ed5da3a072054279e546d0a3bdeef826e7fb76f05a5a68182d0e5169ca5267343fdfe9e4729107b4beb26171a5682d2f2d1f4b0b358f022670d8422ad21f045e64c3e8bc581eed23ee85fd93e8a610b5a1a711564b8ad90f93982a9a59679386b003bf957282d864cb1de51c46b3878c656da5358c88f3e53d4f91ffc8b7bc8219f528904102945b8a925deb465d32dd9e0e8fdb5419364443aa619bb1bd14ed16f315907202c6bc7068ff1ddca6f4d8a40936d809ded1453b2682584dd030d0563cef2a728f7b28528aa5dc408fb2192661129bce4eadba2c5a1b10f84b0d7f610181f972918544432be256808bb02d774ae1cfc07c9ce2afa32d13295c956f384646c072f8a319be9f2ca7f97ffc951fa3f186045102b43932e30e28d8c3b210b09f25720b9533bc68b451094d73bb2c120eefe5a7ae1bc061c93a61c639681407bd4c726a6fffd68c102671a223f965a617c97e4183122d57101dc49219957d6fa267294e4a52a9e28b7f7aeb7b8671ef12ff06bf3dc06a1d0bd6f90d9f60a514a4d872472132a62ad7054d52fe4e3be0a0d3fb10e1dca593381d05bcf790dca8ebb372b23defaa1c91733b7bda4f3df6f5ff2c113773668c09c8bf3ff46c1cdae2277206d8055e0b18886798f2bc297b4c8c5fae1c4dc71bde0d59fe31f30d45239834535f741fbd8755e2eaaf05c606bd7984ce46407b3ad14d9bae91c09cc4262d200acfd5aca7f3e9caaa5a1972a33fdcc8ce9d51cf25cfb962c75e8736f95f752f6bce6ce9fffafe4934a3a2b3dbd77eaf45503375a251a92740eda9b0916efe72ad560abe8f5db38a6580cadf5bd5805b159571ece6fdc843b880c3313a483a4863508dce33e4d07c4e4e7f1fdb5c5843629a537121664bbbd8a021198766404b3859de4a8e2ae4ff6cd5dda46bb39882835fa8a079fff749003a45089e0a477218a45122608cf1298941fca08977c20470e5b37ed266fcb22309e8712e27b6720a6c1e2ce791f38247ac998522d64be37d2aad3438fa746e1c0bade2e6ef0c48599840005a98d1f5842af193925389da894f1130b9514f99fe38f3e4376f4872f3d78af7b83c2f00a4d37c5449a4ae850f6a57ee2ee38b4e6753d0be196f1372076c27ee8ab7fb65aa279df5da0a98ded776fba01e93301d5d35213acb208a725af6bedac4ac7c6a611023065afe04dd7cf21aef53d34febc488062b95f9dd72c7a096408b43e5f04d7ebda2e0e310550d34e19f2107567c93d24bf4fdf0cf72fcea2d404dcc1a25e28714705d39825ecde53afbb8019e9a558dc53dbed6ff13a7cd1c4513c6a58e6496095bcc54c06927bc2110cecdf7b353c2563c794b18720f3b6112a5635ac8258d29e6a0d9db0190ba242cfca804ffcef5c3bd8f75d972a7a8901f04ba6664f1e975f6ce80c6a0ad0ed7e8e4acf1b5a3fe00e1d0d2fc32706b428e47e8d3f3d606a00c5d5dd0e727a99c7f2c04cdce1a6bf3b6a09f91727546a70d2111ceec9e7980d90b3f1b835ec91cf751c66c429b03972cf09b4e4980e971a2911dcbcfc93ce9d6bed40f01c9a401f9144522e1b4d78c57ca0101725de417175517b90d5a76f229e28ec4d71ed0e2f743fd602ef80a8701b2e97d4ea00a3eaf4d9fad107cebda9cbd5a1653de54e8ffa004307326cea009a6166172d11b1159801a681077d6ec5ea249144cec46d256c464998256ee03c9964061027082c5180b52cb484cf8780ebf37adb81de61e24b65aabd4864c8eb73912016252f4461ceb2440394dc4dd01951acba376482929bbbcfce32f17b8235029a640eaa596684393aa28c5e4363b58d9d743c66e528eb5744ee94ff9064cf34cf03c30866dc90708797377c9d7818f672ba190862539c5cbdfa5302c7534794c577296233ff10a021d17b30f1de07c361a0e229886162e753383e13dd1ce3380ba72c002b6866d786f6431e7033c5f76f743002b99a3e095aac38118e8039c89a9728a8e86c1c2d5eba96075431e752fcb7f42a5767d04552addef0e4a047c8b550c884e5cd9f51e1db2c30b0246244187a26932b693654f4038569bacf009c74e72e44f1fa1b331b8695c15e3cd72ca4b3767a4cb08e9acc7e1f4e0ffc74a7a2e0659768e7ea839c96861e9bdecfc35f13d184fad001c7e34ad9672848aca318966cf6fd3e0f2b43fe42c69533763bae61a0da2bd3d8b5b6b86b1561e72c44112726fcd2f9ccf2178c51f6bc47d3d70e245ae2029cf429cfe18b3f443d7a6ac49722058382c37b9daf907cc6b58207a5f369b604a1e5acbe1ea1604984a109d2c3189fdcc0964fec7ce9daae36818081d7a73b55727d8ffe8a6d5552f1c3979e2723dd2316d1fc9f3a8f8a10993a1447e39858fc36be18d6609ef849c8257626c72c5d4b5d47d7fc708b6b6771a7a912e16f45f52b8690865a594050bdbb1e30022307a383c616926ce5ff231b12d7d945a002edb0175107146043100b3a8f2f772d06679c32031ef59f20b6a0dae2bdc03582a274ecce89e95059ee7b42c6dfc7211554ccac705356e757fc0b2799effc1397ef9e7a927875909c12544a8e981422960209c3618afce89cb30b8f3b8adad8d550fded015ff2b33781f2d71136372e76d0bef1f7d3526434b4394e415cafdc77a381b498c028162b09b44441e4372f99a06d691b731dc8bfe4a7623e1b9d0d6b6047460e60beec42ec6bd0798e372df0928e7f42b6783dbe5179350e78cd2d0a2b54c6cfcaae767ddca810b97df72da95f5684d770c664821d6fafe622ac316e32746831de9ab4ac4bffca1c08d31fef3422b97700d4ad2e1b060171d9c3f9c52d82bd9270a5b6b7c78a36f4f7e7290ce29836caf7cb6966daab5c37cc8d2b76e510f59a4c4b5c47cefaee9c4ec7277c6016b22b7986f140acab59095ce71af3228100bee954f368457f15dcbeb3d7d13a58ca809ece37225aa8f4c09918a35c3378f297b6b90a2edf8ba7f0af2725ec5bed7a374e1f35b6b0732b4881e3d43e45b764cc70c538167520f8dc4cd33ea92555381408bfc136dd3e06e3b0582a42588773b94c38e23780196b4ccd411bd1b6d7f394c217f7a0f50c68e2eb5b2ab9706f64ec1afdcdb035af75b5fd2721bdfb8dd2fcc24d6bd6e43843f4e5e79ee69e087aceead9445dde1cb0c7b87722a3b8e79f292c9937cd2726b4b3ac992ff16cfe7e1807cbdd7bbbb0e36e1587223af748f1b5c9680b762fae1a6257dbfb8c789089b5d9a2698e6f191673401720278c9686d2a3c113512b5618ce7fe0c11a88b3fc3f0d954318bc348768a28203b5d41e9283c980152c69a4f2a17a13af6d94a13b7f020554ed7ac43b929fb72b7bebbd896fa9ad56e4117a9a582ff937d009cbc8301d6d7e571c3f7d314cd30362bf807ab7c3efbcce596ee331296a5e990631e533e7610dd4201f735459c72f99bd56f962a5ff61ac39847ad47bb682694c2e24fb01e55f2768e12cc11b2728fd82ca4a2326f5834d7c6af44c487b8acbe81fa43355ae30af2bc7d2112212b7bf066fc179c9082f41c2521e6f68b2e32995589759ce51f2e05ba30fa9e68727012ac2ab3c354d2f95d30eaf536c10dd17193380e57504055bc678d372bda726118833bdb74f2d32ffab74fa4e812b83d742085248ead78edf1d34e48c19c72f96d94ac104dc07fa54cc92627e75b86e9cce72a0cfa2542bf660510c3187e702a0a226583e640db058509a6663156d8703b5d4989de74a039c9ad3a83d939722877aa7d65b0c076bbe67a2477a15bd436d9f7144c9111b89faf4bd31d3a010735c2d209f08d3600f4653b1ee6944142e1d11a148732af7588079970792a3d3116fa005875caeff21e6d685c433c485b2f055484f474ea77ecfcf25fa3119b725157d10d0b3cf122975c21b5742044db4c9b006aa82d1241739f4c2dd95abf3b38e182de87482616a1fe86209e39811bc9c287080b733cb1c3b097cbbde9ad726ec085e0540b7c87843036296501f201bda26c5114667731b9140693f20d5d72dd6e8ba67cf9134c286047fbbe9fb26bb0609878ff45add7cd18d0a020036e08aa08b2d10cf0ef6b1755eee19962d0ef74d71175b9388534d16dcfa191b4a772405a57d9f16f667c84f43a0f7cfb6492bc0f2f9b7f53f80d0041517b263c3b729967c48895136009612d48361a063a3dba81fa40b3613e93b63913ab6828ff72479bae84d7022ae7a2d7a90aae4cf97b55d6bbd27f8ae68963ddda8f4768542bb4911b3a1a60e32af2a617c34c7cd4fdd7c9c9c6c2e450b81b5fc544fdc22872c968047f2bf3ec759441d4ac4a455c1dcc085915f7f99cc11a095e072ba8ba72770ebb8f81b0116fa908e623b217fe1cba8eca1e7d4013155fb4566fa91bbd58cffee614da916c1daa44f4e02393ab9bbbc1434618ef6f8277916bb9345ed4728d592545f30cb158ccb916317bd03251d961a1c578266251ff382881fd2da37262959ea27d41f2adfdf2023e836ed214301d0e4e84d21cb490bd101c637c2b7221a373890193807a62f82b82333335038f91167158321f50d8e18add7ed8a872d4f0c6a0c8765128751e7acd402b7b27321132c54e52d4af96086c76de86337282ca6de912db1394f9cc9ca68e50542afd42b567768ead01131f7facedfd1772c0d62b90df76c5ffcb1720bf0659c71ab1e3f7f7e29df4c27b478bcccf99936c54359431b6c196428bc7d7d0e6bb55d412186e846edb85c3adbb650aa1400372f037abc3ef9242d306130574b35e67a330b80e694effbc43d59aded3553add300a7caf6b067c8ac63ccb8c234483dcaa5c56015196a3be7c43dd4a408fa99c2ac1a8146d326a4bc2f27e9694713e5f8710d6f32e3fa63155b41b54d052ea1b72b0b6a0721226c803c0bcfc06127a1110cbe068f4c84d7357f400615edcdb4c6ef1970219738f7b3263ec9175ea8af702d5b4bcb729f52e2209562f740a7b826eb9cfec5e65dac64c1891585b04bfcb419c13aa548db5a78cbcda1dfc2e6fbd6f25040033e9030bc865ef5c2bf9526f72b0f242fe9894790fc1df317b4665c372fdac2754c5e47db1f8223c09a484535afb4b58a0668e2ccaac32a0d36bbb1d0e06e6d118ce2c149fd06e25a87ab0709818b1b1487a2c6dd74b0851e99bb47472353a2e6e8bef5e47aa185ad8d398e98f81ccd4d2135f489e92f809e6bce828727ca70f91d9c5ae4de115b97784e2ba7bbe9bf155d4047980af65daed7fe0de72ca63a5d0dc06bdff7d609f83e42cf90711bac46733c9db0dbcf32659effcbc7258413b3c99fd60bfccd4bd74be0d97e55c31fffc133f05272303918f25971672da2f6b5bce907b3b43851368a611f75004577b8b547eacba08bdeb9120e43d327bd506e96bd160656f1cd9ed4eb8b656b55ba955107ad46f0a302222e718d87271b44150e26a45e61d8d3b517db48f5c398cb3493d703c4f3823631df25d0b724b60464e2a1125ce0a9d04c5e4f413f5af7e862a58d782221d4431f380664372623f4f648b221122b67070e9db5d22acca991bf4889f48b564ca3bdf50fca0524ac1dd011b6e6bb337a8dc32bbc5ae80edd8bc45ee2d1aa73a17bc68f19922723ce2e353d85993f6824ba8e1f6b4d146793f39b40564c000688dd66c5b052b72824a76e2c2062689184db250783c463f11880d86308bbc1af4964cb9bee6e772ac2ece91253fc3d69229095bc3bee049e4583f1890b80ba6c4ff584dbc6696722b1170d959f66129a484c31653394c9d9361b73d6199a9ee776632066e1cd272fc472cfcba0476f1114fdf110bf593ebb5160d8e50289e41f593bb7ee05bac355abfc2914a051563a5b1cff9651ef1d035a04c96dd0d2a73d1e54f5c0299f272f3ce06da9f04f910ae734521648e2198fd74e6de75eab7494885fab92618d21185b2048ed9239950bc48763eede55aca2b2f02639787997105428b8322cc2f3fd453d8fa6b2753f82f89d5ea2547e489a3eb9fbd4d5a02f567c45f82fa3450722636dd54a13ca83cf19859c35d1d62835930c519b2bb68fa08eb431b66d93b5881231b6eb6a2b8adf1707d6005b3d6ed9262675cef9ea0fccc6a93b50041cb2e6c44b71be5693901f6f975aa0b9fa5cb6497dba456d707157534b1c4f125656007632b4434e91f1b4016b3805a8c0ce0435fe7e754235bb26f619c96e0f0667296415d016017ccff23a591d55f60a044ca55335275d223cac43daaea94cd9a5db8b5da8e4931fb75a3860b640f49d4415eaa523ea327e1d9416c6a3634d7097218fbe0cbd303e57c0c0402d08f875873d7235821d63c81d1c64fcb3e7fdca41729b76a7efadccc8266ee8333cb113516a0de02ce19a3397fdf5c975a4f2ff572a4abef21260a219c49ebe3352f57e4783d1a01d9ba58ddf46d687509d07b8216569bfdf7df0067f418c227b22d95d405d0d63330e4fda415b191a689706f731fb92f7c08949f68770b6adecfee6e45bf4cbbfce7244a80aa44bea2715f38594fa5ce5d11022a4745b3f6a525e7e8ab1c5d1936cb3e7334ce906dd61f7825a71c5279bf6f79e6030a9fac912f15799b8ae52f45b7bd5946dd0f1d6a9141043b41b09cab74c37a22d11fe5fa36c77b6f2bcc947fe89f4b3490437bd84a4ec59e1d15fa7f1fe655dfca72d2d390ff25914dd11035357bc2779428999f45089436725147521f8b8693770a2326db76b4089517f8fdc18f08723c20bc4f655955c27250fe28ae15d7129dd9cd41a58165db7dcf66ab1950e20f4af5338cfc0d396c72b0174d7004f1c9404a6784757c8bfcaf0b6ab1f82363f694b201451ac351fe7246a12bec7573c0c77433d73c885af40fc38c64e19512be9703b8abd969678b13e51f28bbe27867d9add0fa34a247fb3f38b897535f1e940902a14adea85d4f3766ebdfecbb8518de02141c9dd3ac281ab68d3c6d08a1eb784093eb7393d44072ca012e6fc9158a3368985780ed0f1ea17b226bd31f3f1f2d08c6fe6e9abf3572292195b852c038463769a09ccd602b98cf30e9c70460358c4c476477c3c4f4720a1aaf15382c1ca261124aa5f80a98758e5aaabe422a3ea40f79f95d43129d72e6a5978f06389c6dc53b56763653e9a7cc9b632f8d86687dd15b854685216a5ce9b89f46e2c6cc53cf312c4756283ee7740de2e39fc506cb4d968a2461a39a5f5171c9d5076f291ebc9e1165f10cf23472be77da4168cbec994918c6c045986c8896d2182c4a240bd69c24012d4a432c913627dacf4658af2f42ecdfbb8ae0405e8663e6e61dee2e0f3f636640d63b8f77d81f0ac3ce525c6b3dab9522e830729b8f2aafad73a6173b53846549f8edd17979f64896c82cc2966969071e0b4c576f112eac1c01013d752d598e7b3d190abdbd6ef32ba8e21b48b0fdf2a44cef24992de09e32b8b0625d0d9b9b0b36a4ee51d1c889880a6cda84b3370fc03a157231d8a3fbc5f9eba3c3001a5f795eae4b662f0b6703ec9f4201fd101134ce6c7298035863c4e1742526ec1c232de7320475b9f4244e61f00f7c5161da70901272e4bab4441fc42220056db921be728e35a375b9ffb4e0dc0fc67912b801d8b17217641267b03395af05fc30679ed913842254643224281e12087d256764442f4dd0d836c2c6261a96b2cf1ac80157328e9559b264b1b6e371006220dc6cacf86ca37001ec4a21636387c4db642b4a831acc718756efbbc8080f9b1e749e9c58066842b537f49d6a2907651addf3482f0d2df7c445f673889be06fd0c89f842072ad7d2875bd5080180cbd6da4931bf1d7648862ca7896a886c25cdfdfc8067f7208b4ce62fd26fbb283971dd76f379c206e251dde6829771027300a4e2ecc063f1fac1cc797a32a1da1c8cbd326468cbcf63e5d9e43a2f570f39e94b5fdbc6e5b4517b4778f0511d4f3a09d32cfed1b0b5d561b8675dfad78cc0b300afbb5a672b6e7185614c35b8238782bb0862c4d69b6bbbe5d5c9ef11eabafb921279cf2727b9672f6b8ccac5afae30e06a33510bc2171e1606e4cf7f37961b1638a4983721e5b4e5b6f4e929105c0b2c3aac534a813341dfac230d38e63f8c046c9ab2e2828c63face2c70136da97674916588452b877489a7be1b51bffd335bcbe130b536017269231013a57d35a9336c892400390d6e02a1314137a3ad03af699fce54910beddb196d941b57d25326c946caaa331311d15c81652962d4dbb81ff3a0419af733cd16894bf3b99596ff5fa858ce6c0a6238016c89ce74770d53906d68272978ec96f36966f13ede31cb59e56ebd165901f1f7441b9e3786fba0225768130dbd4a8027049f7305ce50994857c01c1278c4605145c074f6175053b22c01f7239f937eb39fec7275ed9134bac7e5fddae2fb78e51c112f5bd92f3b62133ba71b1b40318d56c7308d36044a96bbb032b37aede1b738ac07a754c34cafd7b9472a2a64cccde75ad5ec0e2526b25792495b8e27e059dd4978d07e8704e046c195f4475ab7ac3d746d6b095d68ee7823cf76f9bc5df2998665aec9bee70c8ab7406a8e91e6886e4846c56f66ed897cbb6de4ae9fa4680fe5c0176607e164d981c7215d68d9603be672463e1a038b2b25748f22cec9c1d0996749f3d95efd335c40c4733a6a867c2274c46fe18993b5deb79df56c07240d5c5771e2057743de74262d3c701e9d65f42fdf0aa577db75819383a229d4789054c3808b6805ffa74f0013ba0b08d0cf35a2b08cbaafe85bf67901e7d237db15980b00ce8b2fbfe217472b1a97d3ec66c550646c13902d4f8e1442b825a0778e5295b73e576bfc15403722f864ed2a2de9b440365ef11a55a2f0557e37df01a2613b59b361810bff66172564c2150988ab9d1b00e8c15879d83e32eac749b3b939880a80210e2c6153362a26ddd998f52c780f7d80f6264f9c6ea2e150badbe2c31f3ffc32d89ff72f472e0e77fba23ca507bbbee4e0a865a61e8694170df682af659769944cee9af8372cc9d2dc737e5fe9a9fd87e7c888b21e71737ef6286cfefbd66412353adfc76705ee37361f8e3639ea6bb423d800e3c5af1182798f41361b435a9d979e3301572ff93de84f4351f1eaceef42985c39192d62a8f767da00684cc70586a9a713858175d480baf9e21cde843cb2d4cbd6049700073f3e912f1cc78319ed368a3f360d5861fc81e11207328c968aa85a783615e9c87172371a1b239043ad9435b037276d7b5d67f705b697a78bf92c200f986199751a955b2c6ea30dfa088035d462918128d44e8ede3ed3e2eede460d3915ca2b78ee46d0f3fbbfb26fc150802576eaac648c4e99fe85f5904307483d60aac1d64101e2732055427838f49813fd0418024264636bdd1f905c84044dd47359fa71ed83df48d38fc1e446a92a67ac3729be850240b1f1d091a1f8200b4ab3e39ed24c1c25d9fe48cbdde1ab2302cea3fec8bfd6679037450da026e56d1ae6f4bc62e0b7a6deb5643a275ea4daf00fc7261e0b95319566d9adcf79aeb79b7ae0facaf62607e3f50b7de4e2680ddff8872d024d2b66804259b8c44ca6327f673776c5380bc04403b765c2082bce10f777236010e4635ff03b45b146c9b8e2f0531f67906a134b6d615614ac9dd1229f5725c22a7863b7f0bf8c0ffb9b5118397efe7301c57746d154016222cd1f1a7682480deb8e1d017def5bca032eff78089ab6b146f9057c267a360bfd1ed9fea514474b10d06cdf16b5c16c27cdb02131096177eb71fbcea2fc3cb7fe0e5299767724177bf2a77fbc4a19f634a2975075bfc095b476cb04de43bd26fd32ff233b1721f52957b5694c5b2494c340230e9ba8ed3f52b806790842c7ae1035fb7058772477fc4627206be75168cb06712e22ed0371d1454f848495efc9c0515906d7146793fac56d6314958e44a0f89ce5fcedf8a6d735cba92f3dc5dd8f458951df4725dd2e4d76b9e22f12c71bcb72683183d98c4790f10fd1e43f70754a6f74bf255a30b1a02380abbe206a69cd7920d151ddb9ea197c9fd7fe9ae9497f56c64b23884cb3b9eb64c83e03314ef156bfe9863095b6f81acc6487e30ecb91311a7d8727baca59e1b4139c849977bfd2ce2238b4352359bb4f5f099a59844e673579e72e481af4e4aff241ad0191ebb8e1d1f9507984c619f617cf35eb9138100d3b272bce33ce60d369506a94b79ab8d457767209b263013cb483b4e1efe2a017d02721f5ba527d188aad5754f94e2fb16c8982a35cc43c36119f17a9e84a0ac13024faaa88ef657af9f32ff64e049e6b263e682ff35ba4ce56d6fa8b53dc15674fd678406a5085b02541630eeac901980541a523f7109d1ba0498eeb63bc6b8439d3114609325f185f206b64eb5549a79389daaaa55b15254dd575b80aeda63a9f7722fa2826375ecb62de4d91ce930a2826465b15cf52f5726a7619eaf8553186b62144411fa63961b69ea442e9b9630f6bbe9a3a27c94cad9fc7caf5fd97e84bc72064c58b7d5e74ea95ac94988afe474de7d9d89c3ba66c8b9194104bfc7722808211a81987c9a0da3867648b9fe2e7b378f143977df2dba8299dc531fa7595372b686683108b520971638e4e5e7349433dd265935ca6a4b6de056a7cd718b6c44267ea4a9e1d9ab1c282d783f7c898868b7be13df0f00cbcebbcbe49522f07350016b22235ee88e37258aec0d677db7e6267a87c313c853e92ce44245b2b6fb720705bcdcc8ac9bff714341876de935046cea6069b7fbd5b98ea5b88329a0dd62754c417b1ec530797214e0fbf0f1330ab25588915092feab274ef262c2afd71a056e1d512cb7ed36e2fd77cc7c71b866b68970b7ae2c8181a1f9070508194905e8551514ec341eb367353cf116bf0ccea6c59b89de3b905caf30ff04719b8461cb826611465378453f18569ae2db5b07ff6424bbf0ee1477804e074cf854e211712f4fd793b22aab80504592fb88b67e9f9fd7575b2327a98a4d914eb169a572be1b5d2fdaed1d1525d0eabc5fb121c5a9bafe4d709b807641a678685c2a48653dad48f08f0f46cefda2fcba1f8eaa9d2cb7811a1dc61f75ab09e935e37f3472576838dc3e34b14b8e72743b1752d881a398a5a6318252e7ad844241d5db2705d83deeb248558d076f741e778a7ce0a11c02661579d01d4abac3535beb575872b97ef2193d39f37585c39e1a6c5d1c35f32d9a804c31c5df27023cf2bc0c45722ace020c6ed68172a54eb1145cf92e8e1b525028d6ea125295fd83afad2ef672d1f3293200cefe8e7a265c40d302fe254488dd23716b1ba40d0da68ff9efc23e06589fa81d6fb17ea0d9172e41c10755105e28aaeb0843ff3fcb168d72b5db2dae0979ecb8bf32afa85a661e9d30c8edc24b0b2e5476a0e6e41d3d4804db4572b22643e46988b4a28edc1c580895107c31665406783a8da1c4a8eb59b13e0756da7fa3679142f36f21bba2380e9a7698ab8982fd92c20a5474eedabb0c2ebf7230712523141d12bd613456e36abf958ee5d80d6a03e7877bd077d1b2fe51bd4fe6cfa2e51044ead35aa829edf42fb6ab1b6c6221754fbc37c60217e0d2076672b29d5f01ada5e9f6ca9993c2cbabb25ee5ed2bd8ce930d56681ad4f86f2a1143c6d75ea03c0ec07b389ae2c1e40eacce91123bd5b2c74222cd1a173c460f1e7262af8b5e1df116949dcfdd3fe6dba5836bde88e73be753350fd87fbca5c8bd6c2da680165f9d8c328e0a59075ba9a68dff863825ed252a46d15cfa01cf2f4272f9e6caa9005140c561b3e30fc17ce3f6b2523c160762194da86aebffa78c27729bea479604f40a13195689c80cc5cbe4f6a3c38570983c0274db90ee9b5f1665df6a606b4672c4d072ab12ca802bc4f5b05ce4cb9a42d13dcfb8fcc99b686a72ae399b800d543125a5ebb0a3468a39595eaa994bff16470581b867d6cab97772bbf80d55fedd0e7edcc3b0c4d9474eb20a1fb7c39e3b7a9396e90b3203164752623c3d592950c732472021aa9c06a8584a5d78db22cd44271b1f4f3eebf4783a61eea9063fb51e0de68690a69851e520a2982d102208b1f0d7b370b9aefb835c899a5034938318ed466a8ea524e329a65466e431735fe10d833c44d838a2e772862befa249cce2c33c903087b838fde34e975c83170e5f49290d40893305b272615b4ff07f5f6c8159f19bcea56903bcbfed9db8cea86bb3345ad1f9b650a2721a06cef72cb516539f2c028d064801b81102b52098455f435ba414cc2ab6055d9576c6d59e4139c83d200e4cf7e7aa544fadd0f578273658b33f4b6a9040560d06a9427f35e41b4be072817ff94381c1e66d69217fc0f4d16772398c8a870c72240238ff1f01ef59d50431844ef925a45a2a807c9f8729ae0e45f7350837a3729b6f30f43a12562c112b923db395049f1a947375719a2afcd456a137dd21fb72ce4a032c8114f48b08c8571dae186760fc0e4670ccb346c0bd1366f9a81eb3723e7746052396b341a978ae04525ca645e429e616afb5f8353ae8f8ce19a93072b5685ace43b2d3cae20db97a8ad857895af7422223665d7f51ca8c326f209e25588f21ab236cecfc9d58edfd608cd025b816a6e03558a244bc86b7583750854d90d70760389ba7c1f1e5904300ed334390312eaa6cc9f1c939d6c0d082dad3725b2326d3983fb69fd0ebefd362c972e959aafc37c768150f0263412642aa9a25051c962e0142e4ad792756bd05c5d738b8c99aa9dc65e6fdcbbd221479f80a28d94be2a9418ca5517517afca9534022c8c6e4c50ed1646674d38de2e4bebec72e5c5b52efc37687154b89bce2c23c1bd80312f7057275227ff8e565c613ab470060b25b546662b81c61de2be57475f1c7f6d2cfc14c74b6fe8492654b75b9753b7e1bb328f34f8f0702e1f40ebc65a19c583fc7703f8c56b4b1896c3b5484e282bf63c0b3500c13cc41af16466f2029e776f4d81f4995c936d5b3b923a2aa95d2988f9db950816e6be099f722198b806c51a22b6a8aa964b863be6968ee73972e380684448769e691db484c3f89b84fa1f67be23972ac648dae1e8a6ede23472dc0700951ea33f9d92306287f61dd9c28865004af7b7fe072d6bfceb0529fd725ba06b8813dbeffed51923465cab774e5b7958bb836786e0e8b716fa61f508722e634b375236016146373559a2238705573ecce85927fb978f28778de1f4b0041726d06a109febc454b6b066d7db2583525bc62d66492b3f68c0b8e28c0bee326b8ad5d383b166ee5038a499483c4604f44bca86cca11dfec063d5d688d4f73d616bc725cffad3aa6578342fdabad5bbf5b19862cbce0f9781817e648fb8a472849b4c7e3c9b75bad5056c87aba6521f65d816b92df029218de220b885e0df72365833ca80bcb53e2a9f18652cf128f1c80ac8274c645eb1223287122260d37257652e3a0d22d58cbee1914669dc4cb1fdce7604ca58e4e2e0cb5ed308b2c159b028549faf17bb44f26241e51bd4d879a582a4153fd3649b105871dc40b0b5729638f9d2ff46e436f088d62f32f9fd2a148d1927f3337c90d1b4475a25daf472e4d27621b5cec366324d5c51f11df1397f78ff6ed390b0632b2ea8df381f046b7ebf42ef9ef1065b29137c9040e59ff5cdf6fb45e75f4259e7017b5fc33e7072fccf7bc2e110b1c4a579dbaa1106a7dc96fc599e9c905cab6dfb88fdf5fc1672f3d5f47e2adf0d620c061ed2229586e63fed6455cf49ca7e14f114d2754652725be513bbcdd52f0f9011746c2d437fc36009baf3c0db6732bffe00581137c0723d34c1ff3a466d5ea86c33b316d08f13917205aadf2378b039f94ad17ceebc6910c0085c5cc9ad2ae665dbeb4fece2fff0b44a2fb38f0a4fe242748e27e689164284cdc1a61857b61ff1b98054d1ef8fc78434dfc09dbbd04131f436e5e8f02c0d1960b0d76059df10681dbf3373699868ef65ebeadf85aa96a71902301ba3103d49c9f300e6112c635c3f86e21605f3d7487957e593c2210b7da68f6d145e65dedb5b6c75e67b6bca15ed9dc3765cd27b7c94663f41372f1d40d7176a47d921cb969d88b66e11199def8858e2e44638117b7a9f7d1b38f904433af51df071663ea6d27f453f576e12b8fbec7fc58f7ddda1994ec6dd12df7ab7e0a6283d8872f7b9b8fa524325a9d4bbbdcbf2ea04b6caa1a34e697d75479d54246d6c319f725c3f6d16af300902346b5be8d75bf35ce7652a42e0938e559f6fb10e16cb0772fb54b46a3986281893ca72560f388375808f8acf0a33c6af0d2f0fd5a54b8e71c72f3e2fd11075e783c9dfb69ae06a1bbc1d4d7d89c7a413bad962a3fc3404729e725361ce5869939fcd4ba4bee6afeb056cc5cd87a5444901409fda04650a723a35b290b1e0d7e2592df2035d3c37633b79834b88840f8df64f55cd0091e0721e1694fef7a36065a9c3bad0b88632ae2c9e51102bbcfa7ff099dfb1775c6f096f37ab8232bb5511ca0f7665e9d3b6886e23af4ad7f1926aa63d5c192a6f7d72339f25677aea4108ce75e9c34ee628ccc82d256a795801228ab32aaa87ecdd5312c12eab8fb8dd5178b595fe2cbae9ae8e7b120a3eb122c3ffb5e5904083d872fef98fb460f07be24be1d27d80a0b9fa838b4e6ff2c630f4bd146c75156af242b91131fe006d2eb0250bc8bf5e386f9967ac916bfa500384c7e3e10fd4dfd44fa26125dab940fda6302b6aac07101691677ce680c03ede8db6c7573482a738340b1ef32dc652e8d0e5efd73d25feb70f1a7c4c6641382511c78ece6db52660380ee580d2de74c93e7646f790dfd3780a18fbba71b22967740f42d3f0a40c5972bcd83115f2b395e28d73cae6abec92461ec7fc350aa6ad78c4e413a3c5f099164ed7d3247323029ca6e85db068b9e731610ed19875edffa48d8b6ee1064a61339d7f99306c988dadb6664aa91a6b6cd8b57bcc968823b56a58d2e4ff37cb8067b990289e8ff2816c254e01cc33dd02de13e64c8f36d711570e4a5e0df3f1a57260130d17f45fd5370cf61f011237e44872b718993692fc2c1abee1571412ad6e581fdb944fadd34747d405d1857f0fbd348dfbe49f096a27960957e73f078e01b5998ee1917a3c4df4f9771512b2590b4bff38aeead93966e1ff73395585ce724a7e60637a2fa610ffeaddd3b4b250d8c13c7e907cbb89365c4ccfee1a17a7728854e791dd3dfad9adbb937dbf6fad866395381915bf883106ab57f5a2d4b372688a2216dea188097193e09cb576042bee62fd93ccfa1a35b64875babdcc14362fe9c2afa7a6821f04b0b16a670cb95a220068459a682e7e448f9bb8069b0243c31725e3984ea6de8ccd853213ed21d30451cc7de3f562b94e8d7abe23304e722abab861a9e00cecb56997496a22baff17292e2ce03d24c90e9fad4d8e6d3b6e5f7dc9c4008a9bc40440647a3de0f264daeeccecc79c02ea5f2bdbd01415e1187b4851d3f9b95009ac5fb0a69c6e7ec7d1f3c4f09b7e94d4da918c97482de24a8687c0c6ed35a0cb8116cca9a367b49aa03828252d14e3f8673d5e1ac080dd4bdd455b30c901b3d99b295fc53c742f630296736b0737cbf1cecf1accf6a49c72e53cc1f26c57ba938eb1b273caf2b383cb33281177f839a7530ec8c7a1547d54fdfcd0333c627b7b752b059ab5f1943ab86e7bf5c94b1ea0702248146d7752726a3614f89503dcbacf966da8731f110d564964dd9e47bfd1ed1eab381a5f7672b448f0d6bf5dcb538f1e94a29a3188311522a2949d11aa296f4fbad9be525d61548eb2739576338ebb3a936f1d632f822aad011e66f469d19c7e44462616347284ac42cbc409564e223e03163ba557e293557ebc5f0401c0d274eb1a633ee068e9188a8aee3bd1c8282e0a800a7df1ccd7aabc9e08f6e1fa1555fd7b339fdc720dc510fb0a4b3ec635fd23f86edd6f753c40342965c203e2941aa2191e3f63720db008c82a50c835db0be54506f7e29bcd757e694cc0e7bedc1a539cb330b24ff8d344270e598ba9292d9ebb2696da9e832819b9ce685e6c0c8a30af0716ee4a7b29068dcc7c65df1dfd84437ad8e4c23aa0a49327ee547e8f876841968d8972422767cb3b9095b0584ddb2cd25a4061e4adc319a85963b45826be5e6fab64721443931a9f5bc97bbd9d8f830614974b4f3bd3b1513530c6da8dd44dc423d6725a7a7e35f92d64018004a6d991077d098b06ab197efc0186e3d574b9e0ff7a3f10709fce192e84cdfe7b6f40dc732a76d1001c499eb010da7f4065e45e693e54e71dbba320b342949b6fc63d7480b8d3dcf8e51c57987aa18022ed044df6920cdc9b905271dba4021965f0cf6d2161cf91dcf59e20894e04dbcc2a6a689c8b72425372c82c26a18568ea61d0b52b6ca01691aef501d11aef60cf73e9f5c03e1725eab115f51fd6fc1df3f1721f20950b7045edc1b758b4d1a3d67ce229667e72268845fa5f778bc00e717308185661f2d25578f0206898507a6b544b5ae5bd35e7cabfb1655f0e52911a679531e035d94264d783776c70dd777e5e60143c6c7259847aaa7bac7d2aa179fb81a08e7be2f4dd362bc19eb8f1adbe70ec8dbf02724a07c09f50db2de0547e9eaa2f2bb40ad1d964a88d6515ded8da1dc96585f512accb6479350a01748db7b64da69ad08afcef0f46bdaedf618bc056e1484dd121fce61a6026fd465de6b06266b24b660ba2a0974d27453411f71a1695bd7d3972d9b239045e55ede3b349d06f883a9c6824c349c1a809f73bb30027934b575748d7ad17c9e6a1f2c110c8745aa830d6d8985369b342de09af31eb818fcb0d3872627d0522d92145c20bfd6c37d17a945f54ce00bb5c6f0cdfe48cc085d7835b01db0c3d95fe04454ca956b1069d85c8a69730bc20cdf8590a4015aa4bed75f5217b0a646c77d8f9d0030d817e4664d20fea2b259095428bf5e0c9f46f0b675c72e09792bf15980e220c16ef9d83fb179f5ba0a30f2fd7eb0253d868a1d2d899130df676089e214b466c10044bfafc92663508264c68a84baad8c2eb90b064f3727186accebeb24f57a12a08b3b643f5be16a5748bf1fc8eb1e8b5b656b0fad572ecc8fb65143f939c5561ba600d428887cb242cc84b3bf481ddb3e2626b44ce5d0a10917534ce6fc662795a30f34659b1d680a65cb7d734550983ffa0272fcf67f452fa08bd54da192bb593072a62aebe50c83061ec8e0df5377ba652917dd072e48016b7c6b389ba52774aab9239c5107c98bbe6886429293fad58b27cd9ef72c65df88ea04366609b0c3b09cfcf6abff4977d27d043b702c46463a51bd412526f81874eb7c8426e86c18a768cafd4ade8e7bda8862f2c60d3105926dd52893dec82ae56d6f8009b893dfa08e3d44197931e2a425ed57207bf8fa4b77b0b88729d4a2580e062ef8febc3c3d33568b0047b26a7697acb9a6fc6bd34aec1fae20409616439ba77a6a9596fb251a46207aeea7f95f354f7fc4560b9239406ec6f378e1c2a028cee5af47dfb2fb0365bc3c77c8fd0fc1d4f8547099a2473526c431c19935ea714d81067529bbcce87ba6968f3e85c88d01bb3757698719aa8e560633c7c631c78805e77b7d5f6d4823bbf2f765175e850014e1e978bf71beaf51772c2094adde226d78b3b083a7501d0a51719b3ad22e29a54d7d50624c5c4a73f72cd7b4038ef38bde51481ef41f129ac63e0c0cc8e067f00f71c057794442c584519d1d1ea1b420b023898e77aebdc458e138a1d3faa745255c9256fe1f0c4a6139555b7fef0638000d491dc300b3bfdf7b724021f95746b758b0dd3f7015e427281e8d4fb18aa943ac262985611644f03d0d6f4458c262bc09dfc45830194e5722f70de224016f75679e1a0292acf3f2582f7f5912cb9b716301f485daaed217231df97226dc33103aee1f65a3b4e0479b6fc3380703527b68cef199621138d724a140b4a9899e61f8927968020f4768da5c3ef6828a3068fc9fe3bd959d64651e950a682cde953f15342786d091a013093b66d8dc3e72a4301fdef4c64a7d77223b67169c5ac3b7e375547f0e5c064dc0c6636c99235834703be90965ac5af1a59b14afabd7f6ef40467cae528603385bba940d5099b8fdf0886c93910740d72b021c02013d73f72a4ff270785ded1b3f24e30cb6ee2e57d42897848771ae672a75ac1998f0feae55821f2f999ae2755dd23597ad5a74aa4d447f56b4415bd6e44cadfe246f02d5d1a9cd573048f2363fd0102827fde2ce293ff7868313ab27260d8984c7689f7cc7334884a72fd1c277688d59ff384b3bed5968996307b347237d011f8c98a98d90737de74a025e0e48f311dd9a44a850049db442a2381d7148398990dd6c7a9aea06394be5a1f801e07ff56ed9ccdac836cf40052cd70ba726c8bc2fce0e9d868f453014140e3bf3bbc4228fd3b2204f5ec85f8688888477282f27195085f6b8a9a89403375624ae35f36c21baf7d0c47cba8fb4ebb199572d1094d43aeb14edd9a7ba5ca83a178318a19c0e5d8f06c98b43ca8c36f73a02f1ae3180e94795cd53a82e4df5072c2a7820921f8804251e09e7b79b6a5a4364c418b46a5fe4b7a2f9cf51297b41e533d33bd0ad007617e3b64641d18981160288b9bf94a0a175a1d34d473f5f63c8abcbc46f5506bd795677cc9b8268ee56e7243ec79a8183d91cf68215f5c75b451725ce6e36ba72dbee6ddfd449ca372b42201d0653ebcd4acb2f7d571f3c867e744c9ea6f287fab45a31962fc99991a8543c37f0dac1d9cd0b053ea749356dc4d15c6ee7af41ceab8727bd9ca10e5ad91725a7073cb99ae4d7be282e90310c62f202d347fe40d115a1bc8e078b89322b972032d86053c13902d843a12bb47ece97e1e4f63850e515d0517dc56ee7dd3e0721d6541dff286642a7fd01e33c11daba2d201405056e7c747353a5ba8e501607250828ad090564c1c013e20958e343cd4979a5242aae46c19765f24d54b251d72b852a4ff9ff2099730f4ec3b13635e7f922c646144dd94f48521e16ad6511a72d416455ab601f4efb3e8318128af317d6d43ef38b115f9bf36e6e75885e2be723a1016e2e615f8d4d6d7d3c4d4e2ca794857d9779ea8ae30991618c6823af00f4c665b5de9ce02d4a0b69dbb2eec8461edc8dba2cb68ba161cee262ce9a10e7239a5b8d26c6360a4c9d4deeb5a4a3724202a4f4ef9be7e56e239d978510421722a848f9c7165e7848a30c34ec9d63529bd6fd4f41d4f6ce2ba42b9e50287377294a6791d5de9e10acb0d58217f7f7b1d6bc35c1e2554d3608df12246f2ae0d5b71e139ab454e8bb1bea310088ac156cfb6016f086b1175a973a364807f68085bd05f62cb27e76147a4e27c5b36da0f8e2b66b336cfcb472b7635475ba0625f222135ad819005aa69d289965c4d878e9c65e1f112cfda88f89694d6106037155bd9628719f07b239284c9dc5996dc55d09bf87c191a02deb0b13842cd550c172b83029995496116f718ffc96163c220a2876655e856aaa8c5d6f969ab8ce1957237f1bf58a15f5b868f42d458959d6c561f066c27e24680d62ef976f7bc651e7291237404e238f0b8815b35169a31f88cb740cc0aa568ab68c84aad2f5d1c7a72ae72faa60bc60e618c01d4da16444a334d36ad918547a812ed654f84a8a28372d8ef40492976be38899a02227e7c856762229311bcaef926610ba8ddf8bed07231c244444b91040c2d080bf9e1b811544c882f4f3dd73c86e68c363daf45a221d3dfb74592144e0de3acc44de85161a13fae6f210727b3d54ef36bb51c9ed00373c225bfaa9ab5c1aa4c4d43658b66304519a84860e2269aef7932bf99d8330060cb802cd4c5d65159f130e53c80579a0d2a1acb04d4e0edd547ab529bc87f0bb321ff1f4619024a553cbe0d47301e5073c003799779476de65acdd32f6e1d7276428101e534ae33315b68e5336b11a6a27000eecbdd91e81b701245c876977203bac67f19e5c99ceb72e0d90326a669f350bc374b54987c75ac4532aa266972da1fc66f43042582772ccb5d6f87647eaa922f07dd6b357d07c06e8012725b7277ce1591e10d713c8935f29e7e58eaa31256a5013dbc8356d4eb9f040c167872f41338ce08fdfee3d40aac77730eb576c28b8fa2bac0364bc09e2dee18dcfb7279977fdb0ac82bad3f9f2cf49d5e8d318f487b2c0ae0d57182e023e86a3a924c15226de35dcfdcfff0b9c9362dbbb6d5d6bf7f1b8dc3b0966d6763c10c351a36bedf111648d74e24460a3f3f94b08c99a5beac905779300becae155f3b33af1cf0ef1530c1ab41ebfd28ea203c72ce048189e7333691366635dacb06f397157225d8077363c31635534b8c29a00317c74baabb7ab60acb3c3daaadc40660fd6ec10c2062381b3143c7526433369ee548cb5a1e9bab5c5fa1af2ddc2e757dc172f15df461097f8534795920d39df40884d680cd97521f45f45d1d639870a68d19610e1aec2cdc3438c99f17cfa10d3363d7014bc378d415a1bfa2b23f9aae8572314d9f94cdfece29f980bc76dfe3fe8c359f0e69984a33780506d63a15af5b4b05617aa53c1682384159eb7e3bf661af05d150f8ba48bc880ec4f6f724f1e03c2df966e9b1637caa04a5355999b3921c20e87e047e1a3975ffbc4783bdc1b4725d2df5c6dc8aceea679c3c1f386262e66102779a8bb11b9105d50066d6ed0d2e3c4ca9afd621d3e651736b50f5f59a7be7f6d76819271dfd2375144e5a600e1bb3838fcda183bcf787f74aa0eb4cdc38ca51b63a8ccab79404b72f1053327533993890bafae063feb03a3ad8959d07448cc87b5993d95cea779cb2106dbde9548dd862c5b98f0fb7e174f21d5ab377a9c89b4e838b9b680fffb0102bbe6f960720c5652d652c3fc57552bbeb22d07add8a1da1d4d7bee29872b3309762f7a97280d2694aee0297aacad53b27d18714d4b03e9c6e53aaaa73ec6c6f89a9f35d72ff3654fdd5c40116640843b50798f455657e7077b83e0abc231b0587a9d26a667941349daf074c0621af7be809412e006bfdf75ef270b2154f9194d6662920707514e585b21f7698e0fd791b89cf9093bb61c8cc854f25ad935330d5faa80a7205b9149fca2edb56b2d9a6faa92a88c205ec6e1c06665c2e97670d68700b5a721593fc885009aff8ba1ab08ace98acf149542322feb675d9c2546ad00d58bb726ebe6a65e1eb5f1cda7ca5ff231386b3b9b149dc2d55d18d4909dbdce36bcb729485fef2c86edfdb5418d5001b4f6cf62572be6ec07516e3b9fa8e30f6c249726a1d912729f0257c007d540bb0293a30c48c48d0db0964e1835ecf902a938b72c1d13853fff7b5092a698b4ad2f96a847c75ae9f8ef696be834099bea6dc0639b3ecb577927abf1f4e1a889927d763a37d4a282410a555cfc6dfdfd8e40287722123ed2f4beb952141fff2e624ca5b2a24ec49e372f00c2ca07a2d7ed15d9d21451dc408bce9c8b27cfb15f3ee8586af5879731d5eb63575f8d3b70d72ddf572f1ab40e70060658998f5105fe31471c80b14198ea0ff41745f7840c1c4484c3c0824f69265cda480e645207dad51ce5b5f34f3113945fdd209d5dd99ef72e972100b45c3d20c8ed4bb05d8c4867d7a472e2fc450bca8256376d1ce1651cb9572473c6baf0ad4e24ecd2568356a77f28704121a6dfd312d2f719d6659d454dd72a4974dd677fd125bd72f35cce0b76cfa07c99c1e56b26ff4d37eac7622a05c149a2c074d3f9c33d6baae922ce97cdd5185d7aaec5de2c820d07c6da3a2486272811701004f4a35caa9c013f35a74b110e0f55a3ec36824cf7ce7f2bfe7e2d51b0f9b40c1c2635505f3234cab29d6b0b3ed074abda2504255f8f1e215c9c41472b0954e9caf41d5ced45238815622e322b42da2d9f0f2595ce9b8fdd2d595ec00860a9c3d29c22428908d5d91e99329183d2fb66c943e22b23c7b5f5c72080b00c92776e53cdd1dca6806ff3390fd898d645f7028dc60c281b2cc43c23e1bce0b19bce3cac314ec8dc3bd5e01a99bb8715b536275e8269175955490b8914a615d170e9bfc5a015acf5ddbfeea474d4a67c695c22c1fa9ef08261696545afc31720985279c6a5838115ba52b44ae8175a9e9b7aafbcf8b949fcc8afd90d77525725cbc18124b2726cbae139c4c726ef4ca09da2f2030905efde9313a8154eff67224efcbf18875e12c0b84c0a002863fa3818f46d7181d41e066aa52e1aefd0572e87cede01ccb2e98e4584b0dec8418208250b9b8031bbcd97e13310d2730f572365623753a47b31fac5ce26244104534ba304092205c80426f0c3bdd5a563d72922371a879ce662508c8369ca3dfa04bb45ef10b236a5c87ae3bfd46215eaa50f8fae6ff922b1e6e27358d79f1681cc5e29e0387ed447cb9e8653fcbcedbfc72ca3c9e0e63de65378c85b079a6797615f80a847a145aeeb2b14e10ce7288a172b25132e828203058d0440940d66167bbdd1352ed2716b6899d4ad7d2dd53ff4808dc01d2419d291cdeb95d497bc19e380e59ce83d2e8936d35b81ed83bbc1f4a4573e9146a74247d17df7da1a82fe2a02efa9aa62b602dc1f23af925295606726f0ccdc63b72cccf0e70bbfd78889e3c7627275427118129f45a469ce116cf2a942d40d928695425dba3912fcbf56fccf44a2054e92d9726f4f4ba3c5129e53d32f3056f8cd1c1164be028f15e4ce8ec810bc081ea33c54eb2da3d224bcaf672ce09adbe667f7ea02fc145d4f78936f9fcbd785d5f64573b56d71c1b7e5e44723708b0e260db63d037290dcfca4c39a2bd7b6cd7b4ee1d027e2daa2796cfce72c1024c45bad40188ccb2a7b2b15bff236ba4b1c15bb4297a608944cdc8909a50f67f26b19527f59c20696463a49daa5468ba20c0369e898ae050a317528a8d72f98d6ee0b913c321e9d04ad331643d1623e1f11215bb9431d9edf2282b0b0172b1d01a71faafe3b142fd223055eac7722937ff841ce0ec93f99fabed10e6c97259c9b4fdadefa60962b3790d4eddaba43b5f8332d93f64a4bffc0cde8fa0e172889804bdaaacc0e26a0442bcffbcab18a66053e271c1ed7400eafde6ea756c1d604ecc270797c643cf4d31e58e4a2c3bd0611817b4fc3d33cc7e7a027b7e6972823c474b43e92a468f4f2d622426c7c39b7b16cf55efbb381a148276346e4c72d5d7debb501cc4481d1eee2c4293f91477b02aca693627a5071e3b4643b3e77272f9645d39cae03a3c8205396f465b8be583c5b374139ebaf9e7e20fb684cd295b8abd2d6bc829b6a99260e4797118f3c68a77357e26eff5c3f7355a020001727ff9d4a7c825a2e94b5d901e40285af843b1487943563f0062105d7f25328a724704d198be50202e7d1145d14d68fc11bae07fa69cd5955d10f3f1ceda6d6e72ab18b09af8a7dc55d36b387ffaa664b8de6b11a4dce7a8783c967a988142dc72e0a218ef0893dd0ff7c785069f63c67377f079b32a830ec34c889e4d0fe83072ecde07a3c369f8c86e522d54d80729ab14d5d6926c42c9c20761ffc067c9f8284a6183e540ce63df728a4da53ddf4b6dcad26747b4514930053bc1c7fc2d1d723fb04da23549685d01348071b212091d75d26401a9953bfe002f4ca31e2b9472e969cd59018f61c0bbe091e2e1a08f0a3bcdaedcd1605e9efd00d64b079fdb7275281aa4ef6654bf2d6ab7d08d30dd4d9f53b00b36ed04e10234a745b16bfb369fe9b1198c2873c9f57b9c18b0a853736fbff631701f386de585b321ee7f3e723a319612cd80c0a68dd10cb0a00cbdc46e46b5d22b662f2853bfa5061530065b8c5ad798ae8dc6ec54d8bb1b39eebc4cd0d45464cd818142c8c26b848eff016b7d74b1d5d294500328d68152948eaab876b588aaf8c1d8713f49729743e91e72eb56637ccfe70260613a76b129fce8dc6fdf7f760602547788a2e7ee8d77361bc7e43210daf416698db8b05e584cae11d0e6c172010da9846ca055d1159b6231ec7c1fa8a12a6cb746b2046de80aaa96fc7c239a7158490c91029fc8f4d2a70792f504c53b80d40272ccd14040c83272d37c3af6d9833dfe50f7a39ca8617d3de62bcea719e7ecda2d6ab1f85b912e07688763cda768355b226e4a656667c03df790c8edb152773ede1c1d5323e98a889f5df8ccb4576752058f27b2f042f4114c3777106dbf02fbf2c99e8f6802693e25f12e1bb2d7116e2f4c697d30bcf20de9e056268e1e1d7766b70f094cc088daa69c2e668c3f0bc0608e5477770b731f3cf60b6cfb5e0ea596ec290057e8048804f37ee8494d1a593ae0b3af9aabbb72d4ca7fa8abe73cdb3686c45d875aa27e1ac52b8edab3825fcf388bf33981c9208e48fd477e1c90adfb43b3ed57e0a1e269ccbec551e738b9fc09bd6256aec6720bd96f4ea0c7491c10ec569433b5f87e400049dc5af058744c0daac13988b312e1a0852b91cfacea84133cde0083853c743f0ce1d29214e3f9aee32cfc206f0cff64fd81e0bd69bfba3c04e384d36cf9715afa0597eb77c80736db43b596df724cdbd4f5932a58337357db84cee42cfae16d1df93c5bcbe97994d4f90cbba34d3ecf40ee7b9bf30a989936742f73f8abbfc8de0e3eaa84c260c58f81ca19c97216b44bcca7009f8054eb852ac5a56f9f1546a29fdf0b09187e496bd9838efa18c5a736739bdc77b546141cef70d414d1aaff47c3b43228b56a076ae19570c36270940b5a539e557af6e53d7245eff41937f1117a9c5c5ea744a4c78a588b645d56b4d4d681e0a0dc032f3c02476ad3fca8c32b8c1a0a558005ad0b7067613b4537ad2540037876db93038fbdddfc7f9529e6c31815647af5ea8d24778b6d41726cc43ace7f0def78392fcc52cd9942b0227dbc956f9532fee02d65271ec97f72882ecb60f6d9d6f4369554c17c4ab034afce2471778c164ad1e4759439ae4a72f4e3d4e6396f96d1e535ee2966a3e66f2b952351bc1274a782ef18e04e5c6672defd72ad8cf5f5ef4afcab7f4396d9acef264584116afacff0faf329d8e54172ab50fdaa70c7a69fecd89d9e179ab47d5d7cb5ffc47fee8990d197800e745572401777c1aba28cc6202b0285551074b6d4006c8861d616c91c5af2613a1733442953a4410d3d65cfc15537e830319580249e0bca48911b8bf8c0c4e2f37ca2725c3a71f082284f837db361a29bf69a73992591b9138381cdaef2bec553ff93058ad0e50723c681639eabe65ef929bb024a34eae8c762ffcf6c761925082243728f6fd8163d9cdb59230daf2c15389ecd661297a95401b3e17768452ba3345d521e2056fb9523776c6ce2de06cc43d6b8c5b2f2f3970d4422caaa815351894a06844c61273e50a8a35ff15986d2dcf78e46363da588c6f8d462a8ed3c19b6ac7294e008399a8f7d160a0c3eea091dca61d5c1e78ab05e49572c7ffd560b65c234aa837b4ee028b8f156d8564febd6bcd2d8ab4bcd3d98864b0b273ac51b15f149662a9c14d6cafd37f0c4b2a5331340f97b7d14cefacab87371706eaf70f23351d2532fd94b495ca516abafba707e4e07e84502765779c8a5c2a72e3b2a217e2c5db4a026a573d4f4bb9dd244bb6a075a701e8ee01d4106088d9840224876c972100c0d66c9a43b34f0a0f6f2ee18c99ee8b4ce3a6d9997c488e0940f6c9630722857601f514359031095005b1d1c8b80380f92c0040bc5cd29c24d69a5b472728875c0bfd0f5503d557608a6fd3d262b768edc5f1a1a85f1afb78575950eb0693066b5dfb1a3ed5090ca9979605e6686965392b76b84465a57ad8679931c8105e7032649b7c55d7261db06941492c85730b73f9b3d4955a98eae8e7c083dd272d288c51b91b94ccf5fb7506cce11eee025de6cbe74faf0a0d51d0eaa0fd9e77216611ca8292d15294311758490f212e68e1baa3b906f0295731e3870a09b5272d1912325aa3294f0f27a866a1a3549d1efb5a71afeea5a5858eb81d0c3a06235bfcde0d01a2dbe835e2e0e3a90a407088c6903c6d05c865522604076b06e5d72f412c74c3047cffbc9964a476dbcc90778939a30934500a3c32a3680d0da687280cc70d0c01dbc47e73f24f95421da15b2737653b36f3a3caf0410ebf99dfc3727a00137dc41291b80e18bbc3ebc2a6c0251a1fbf90629c741159c619d6b2607b8923033e2f58d407160786c75b2406e0ccbf98bc4061c166337e081b332cc7259165d0a09293b9335d6d7d5d4a4759ee3bf582a76e03e346dcfe6b51bfca372caf11812288a4a5718bd3e58643e9133e589d106c26b548c619fbc555ea81e0d6cd65fad49292b3350247e45f0aba2c45ead2a39fab5cdd54f9af653fef6356d458a7c6cb6e04fbf51eacbcfd346c2d352e9ce6d2bc2283f702077c8b5d4dc2f38c6e6c8f05a5c3c2fa72c191b6dc731dafa9b9175b3b0c2e94199fae59f38483fa86c94a9b54a05b3428342f65abc36732284f0b082147ab26abec30e1b505635f96e46bb1dfaa9e51c5032e85ce20402cd8c19ddb38eec1b3443b2df88af417c8ea57bd5cad9244cd4042dd90d5978c4c641dd651f19584a3401a71de6d706f3b619ac9c27112db85292e2b8213fce3540cb35e5b1879072c54fb18456e2205c98da4a609e652d4c667518a4e62ddb5f60c42ac52d9ff359e99f616cf3b2726625ab96c741c355bda6ab673ba20fa85ab3d1324fea39ad9674b563b88b6e7238a988925223606fd793f88300b758ed83b084e6a805eee342de78eb5ab2364e3447825eb3aed0ed4bb02186ec86b1d0945cca6006414786f5f8ba13b4662072fc729d63ebbb3668673176b1e28bb4e5ef4346cca26e0e289d181d1b4a718b72931daecd22d7eb428c1ecf4ad4e303bf7be37159af64b38054b93d2deead987286d49f974ff11ebc033806689de8cb0e02698822d393031c7dd74757faac97725c01a77ec9ca18d027db045460377151cc159f9105d4d4d84270065a60b0744f1aa512b414f2d9bc9ad3e716e655bbbacfa000c384b71045624cd4881eaa0972ffb75a0e5aafb4351f741865acde19e6263fee59525014cc85a40236781ee8728c0f9a98be6e3241fbd02019d809698fe9cc5ceb55755006f4b1185aa8aeba723ca84563c0fd4aff13f8119c3604dff5915c25d8037eecbf520177c62136ba3c76eaceaf13fccc295f6ca9c483b4c3aafa3897362d0e8cf9610ce0980ca50771aea3d53ec7680b8e8ee928f03d1beb4187462e52533b19f42b7161142bb75d72ce8b681a118155ce8275b75f8571dd77c9b2ebf0121a2c01a7749d7898cbc4725b809bb1375044af6a3498cae27d600189c3abd176cb06a7f0eae49fcbf7db3d1b5f0f3af850d3e008dd487b45edf9e1b9ccd601662ce407ee7b2bd82081b8724184c98d8d034433c92f9abb71608601ccfce562b839f08d857e201deffe8d59f20309916851c38759613a65a03fa3008daf6aae71d03c4c5b8c37cc91356772aa24529d2ed3978da6079a07a451883c9c37f4d11a4a32ce4447a3a6778fef72cb05ef2cad61d0387271d1362ca9904ba69adc6c3299deb35bb1cf0c9ffcf3422f14b66aafb56db013f9b8c7993a87b3fd391cc54f599e1c5284db2221ef1f5d9dbe1a118fd8480523fa83c21921654bb6b18c58baac270232326d5a37d755724ebb0f4274cb2ff459bd30673e679d242d7da3c554c1a063ecaf087e8bd4db72126f7fb7e10b1de80b4bef0bd8c6257bccd9ec2a34e2615bc3973416b0b50a72593b051c6e6ab4dc75b3dad4444fa591c1253a57dfc1e1f3c82f4ce6d1612472afc8d8c63655e861f04b0ec61f0d42a627a247b446b407be6e59668259fabe7250359f7a72c511836fdf189334d15672d7bf38d1596c31c903cef6eb3e81d369f202c9e13e430570427fc7e2f57c140243ef0ecda8be7d9e5155f21d30cbc5723cd206cb380195d03689d3fd32e70a6cbad5a979a325068c76ec6c959482dc7246ed216fc59a5390c68cdca122044070b379fb43d293efc205d97fbc17882a7208b0d08637a05361c4859707787d1ae5e3ba6f1b3af85eabd13e994e61b7e5", "0x7205f02d43fa06e7d0585fb64c961d57e318b27a145c857bcd3a6bdb413ff7fc7254cc6696747820bde1feb894597e52da063209f92ceaa86cfaead2a56f694254ab77fc148fe69d82973c5a00b126b9f1362c4d3c08ad817e29a4017b9302a92e4b6e55181e949fe6d72a866b7f96371c2a311f6dadd983d5521277c82e7f8239052ae7a055447c1c3e292ecaa7994612d230438adc015564e210cfae98b2dc3e6ea1cda03139572cf09cf203c79685dcf444d847fa614bddd39455a937fbbd16c5b03b0848aa7de4a9a1b55aa991d4d02b0776248ce687b413068f54671f97729b5d987f39ef476f2898e94e0dd5d73e09d96a73850b6c5fd46bd5fde3ae5a725ba3c43800754c383d05eac9cdf19a5108fa76e1df5f5324d5cf360f1a501172957081e63589fb8f1ac519069d8e9ad9cd25092342cf28df97a922999e148a517ec881fb8cca753e79bc90f655fb8f60d29f44405bd8671a254dec231401f1725a89e9a7913c95f5e316dfc1971c04adee868cfa3b58b13d5af9d7f862c6ad6baee0d8e9eb69700d0207550547dcab2b70d43ae364eb5a269deef06446b09272c376f5bd48284b1936e0a5c1cafb49c9e867c71b95bea06b3a886b470086fe7218e3fa898d4642293ee1d0b2eb86e22bc8342244091e6d2e3d10c89a8c42292b9c1892d456c1ce1d436426925017da6a95963cc4233092b2e392d0f9f5b60548cc91a293db9d0f29477fe30f5e5a277c9e69821b05c0a1dbf697ae9209fcca7260b1ddf8669b4d5ba1b87b3348385b9a480dd001377d99e513c0c791cb39d14218f9ef428adc34c2f2c8f786b059e0521c13fd17b3d0b38ce825e19b233b82726f7d839952a349106e71a057a11104e9e2d3e90235471f5a8e3bc9e7a4396472061bf4b3ccd02aa723d2505d97575dd4a9bb1bb8d04286941d55d6ea16237e05f855a1beb03eefea6106252281bdac6ab96a923648aea5a5b5c249c89700d37293101e951c62d661346c89707624d3c6ffab389c13288586d749d6f2aa758c07583d00f1a79bf4aaf97d5e013cbd7a0afe01e5193209c31cb5159c15788c2672790d57c6532abaf7efb4636998ab8cb6b576c1ce886a396daff0ae3003d4f07207c0e8c99ae6e815dfda9d146aae112b411b310e9a3edd53a53a3d251aab33720c7e93c2dfb23b1a843da49f8afddfd3a9fe267b5e477618bf696e46ca99983899f471fd60036ac9a7bd3a70a3a29d0fdf6920b07b3b5fbe49a8b7c8b3a92272e13c581151433dc79ec99d0cc0acba9e05d7167e655d985662d4088e71c3b0722d8a05f545c13499b289f942a3562387508b128ef5902605b7df030c4fe2787219487e77cc178b1174b181e8e58250ab21ff0f8842878a649f495a9c4093b17284b7a4e5f8caf214bfe295329428d838007483568dae665ce88601a41138bf72e3697fe912be340eb8b3b0c6c5c45129967df6b3c8a998a89c9d717f1e3428248575c2e8b24ffc8e1d39388996ed2537e42f85e137e9c5186cfbe86048884172308a88bb46b7d9e8a679f6019cb24615328c3756bf4d71aee15c750ddd267272fb6d0eb30d74fd6e1a40fb5aef7b8e46fa4bda70e976e05d3a0f4e970434e027b1f53f090e382ac98a47257f32e631131ecc1d12639b023291120b78f3528c7278f106551a2cb159f972576fa70644bef05ace8734b8733dfc708f6a073aa672cb75c24d58bc597f7ea89ef8017e000633f4e1ec9041f8301016bebe08be2b72b7a755cf876485f126e7172902920220aede7bd349df158e214a0aa6c2dc032ef97996c71c13563766405b2379a12a42b274b122497a6942cddf3973a883fa5266cf7d054f1795c22510d38f0d7c2a29f788c4e3a2b0bdba25a2fa4fbf3e9f7266caab22f09d663b6d90911dec2413cf7dd25dc58b3a421b7962811a5da37d5b3f5ca2bf6e5d8cfdd1a4f5531cb3b0dac56a5a791771797882e9506257a7fd72fe21b9e2aa53ab88e2a7c12095abb34497350fc0f67bd7398e584049fe47b902f62b91f8cced87d16c09b86649760e58e0d4a7d407855c973a835b716a01ba608ab2affd10ac455fb36de16bebac8688d8b6264d0dbb8d56f1bd7569deca7f72054b88a2493acc6bae484b8470149a154ff724c7cb4c8c314b237fa1e610261944577cce28e75938a82a912125d188923c8d5ac3cda01bf22580c55bfc27dd727a0e2175e8385570d192de704b3e0692ef3a30b7cff5a931e9da6cd1865ede285e5921102d26cd4b4eef0e1140d12055bbb7f56f2f9390fd26aee2858c222872dfa37c1d636476c019472cfac2d2052479a610de69fafcbdc9386f53f002b372959f1cbc602dc75f051736e7dd42039da3973bce884612e61616dcd60b849a721e334ef7cdc1b18741344252737e2c08a7350c2a41f869c928ceb51373025321d9844ff68ab48f58e388aee7887680f2f8a176ec3effa998e862e1333dbfc536076b4450ba8c4b2d59ea2cc993d8ea62f2be10a86c429151ffb2592662874b721d74c41f9f6780890867509d94e718b16beafe4d0b5e789f95079eadc13c51729813222532b66c4e3c42633bcc35890ec453e8fde7ebf54e59fdb41ff2b14b02ea62a3366a22c1151377a241b0d4af048fff8a6b5996ea9c786cf9eef18dd272bd60bf4a87a6ac6b655f57ce46d2272ddc4c27c7fbb3b10880ca48dc4cdbf3527c521f54ed2f799867639c169cf04f7b3eb57c928511778f2b97a16be404177214602b0730890543a8acbebe7cde171abe53d3ea7e7e115e222dd95eed215970aa812990266e59c8c702e71b599385a766fd797915e872528e86a60658b410729253bf6fd4eb699aa5b648af97b94452bb4a10222ac3ab5691aa5ce057996b727e1e509660a7aaa41bb0831a67094bde875f1177d4fd3bc34579dca5e39c4672e95824e53112917fcbee0c33d704bb9f093f56463c2bda3b5e06f51679f266725e8d68e208fd6c0d7aa234b24e1321b15c9ef0c7863993b007b663541fbc37452b54147370de97a7ebe1460032b5128c0cc68bfed9e2db5356ae1c30aa397d5ff684a60de27ee004c70ea0ce40cd7088fa56dd9015560d94a23215f11797ee72977fe3a8465e70283f44e37f3e49ea5c4b9f42d7b56f0130730a6f00290d457299f0ad64601fdee115d99e5ddc5c8e159a0a8f40398e6e0265c67216cc28a240e0c36f0ee5e67f37f9127da95df59da71d37c17db98cec0b75a509db6ad60b338f31b103b2e2e3c7d7acd9cfff4b99ebd50777125ce0b2559fd8aab8c4944c3e8139ab7020536fe5b9c92559be9a86b111152404b146358182e6fdab9171c61c797cde22ccf90ef9be06013ef0d1ad10850cf680b9db646a42858efe0194d70a8bc08efa03d348b229a6207549cc826784c803701265eb13088669aa28219272c8e735f9fcb37b879add904f88a3514447e42b489fa3da6e19c4d97fa5b8fb72986bb75e20ffa8deb17fd79e5cda775fc92e2ed92a6c84bb9786b102839e8a19905876a78e3d2c6a6cca0fe7f16827b5fb7e719f1269182b5499c505ceeff972f72385374ec864455d153580d4fd52c56782ae367b1d999b24864f28b8d790724adeff5a1ccbcd10e69cdaa65e78b981acc17c55a320755254997f8eb130e172487e8195b449cefd85a380d1ab27ec40b0be5d970cda084c5bfdc57d6c219b72c150b628628ed86f8a066a181137532d5696f5d224a96a49b0b7dab4698db072a88b1121738c1f0f41e8dae9448acc1cbeabdbd3421e64645181a8aca6abc6115f65469589ac41aa11f7dc2d2086f39b9a0aa608d69bdfd8b8a2ba56937f450a01862b53ed65259e1657c75f1553c543b990c8049bdb6e03f7511ff8e8b14761a3fc1672c959491e67663e49bc43062edfde7b0716544d07e6964b770f584d7253b21b25185bbec561804d6e62cd889c8497e0f7927b3f63a04f5673187c6972f4ce95d58f6ca5eea2fee90d1de7e2f7ada9cd0e855e862ec3a1c1c02cf3e072eb0e0c4d4b7190cf26b0601bd1b143bb851237d80893ffeda07fff7da9f61425408890f414a25ef964c3f53e265be69b0c58a5c891a563e8e37ba23965c0b472f1a377e3cc6d389692d289f324447332900ed77739c85373a89da67ad28f4472f2068898963452e98ff9a8c6e7302687cef44892297fe4e1dd709ad2793cde27c1dc40ac939336d404788239982ad4cb41b9346f137cb678512ae8209abf9f703d205c6314692d41560692dbb6f1138419ebda3732c87fcb65e7d92acb8564721e98c738ee686aed085b7e5bcc3bd1d0cb9d1e405831e4ab164cecb5f7661d72b9c72ea9d668d218ea452d4a3270e41bf514bfcdd5296fce4d8fbe1835816b72111384f2db034790f8ca3619df60f0b47d38d6305538e31da73e8439a2253072a55d9dbc0841b8a526f6177f762b979484eeac3e6889bfa90e88771ed41a4d72bd37d4aa2e93817c030df6144718ce0055c67cfec8fbf63967a348b22d3cf318f7d37527ae76967aaa6b14621e3287452deb9f43e6b9bff3416b3d747e757a4c8ac37d1ea7c5e9b9a2fea16b0d5d9ae195c44047f7c221147deda8fdb46f3504fef1e11944ee8ee7a7aa8ddd12441dd3fcb3215375babde5d5c0b5f8122cb0058ff23bf469d33c79ef27ca0a8dcfd66e53add0b52a47eb11d589d9a23d41e6728de4cd130da54dcaa0311ca6b032015090fb4652f0a5720ba485245115754d4ea5ee48a4d0634e80a08f5f1f783c695428401c50cc29eaedf73ea865bb488e7269305bff379472cf50c8a77d645708dedeeee2db7b8cc74bc873c33ce293f172b7e26c32e842b593a6e253db066d45213fe830e32611bedfde1ea7f4eb7d8861f04abdab62ac0dc0ddc2fe2fcc089d1d2ae973a4a6fd7647e607fafc38baaa72ed4d5e74fdbf86e9e84c7642fa316003c881e3fce2670ed0d2fb41640eec270a69f733f8d6258a807b55cce607ad194da63b14b51da18499ca7f3e7d75a1de342e81e7640dc2913a1bb6ab25b543973a6ea783079180b2e7e1e18c751d8f5a0a64c0105bac1e7fc1cf5b516ab2a242d373844f69fe618519855e1d5518e2b672e43853ee000806e9fae54f14b771900255f5e2b4258adc2288f04b56c6612972367890012ee2f85c19e2fae252fcd0db998f3fe55cb3950bb3c95bf4925fa872362637e74a47c7b25ab1136408acf51ad341c751dd8e1b8f91e45fd357928972ed869caa13a336d2712ed5f21baaab131b4e27bd62fe4c8fed85e6501b2bea72c8a4b35d3bebdba6ed7efd443f68f32e1b34a9146e797862dedaded8c979a572917185a134b0e6f74566f53b3e14fb53742b3a0c5e1c3ac6e18a081e075fe5589810eb1aaf1a5bdd7d3b3de8b8031fb77cdcd523e2f1611cb818be3fdbc7c67269a24525d2db04af6558b9ee6b61027ac5e95de0b0cc51de7a3a6675357a0a50af92c5522411dc180e6b93f9304e764aa4ba378080a5fc09ae54a28d8346692d796147d6b0900065e318723de32d3306650e3555085b7ff717310b7f9543aa05309c43f98d512caba28753219d601d60775f9eee226e0c3942c6399fd0256f722c8c32d8d0792a64b9bbe863e3cddfff1ce7989eb1dcedaaf15a63be8392ae6277f97c26cfdb49fc3fb716272e248917ad9b23c949d0da71a8e20523402f89728d02853265cf25796c5c9d6b28efa56c9bbbdcb104599e657a0f2e8973adca726a2c72f5260cc06ef26b55bee61e66efe9a3978c13aa645aba567d9895562b550f61f1714360406bce775ae73994c38e9e25dffac5f686e5d415883c2ae9f1191ccc62daf88b131cd842c275dbc5a2792827d5ae3a4fdc7664bffa88986d094021c95d4ae5591d3c87c8324a73e2a7168b4261e4cda361ac53567fcf57c8067240398f7eebc5ff27c23543a5f5993d1e6db76f1b371a0054a8e2f16ac12e14125743b11a122731c23b5ab2f610a95ae1c36458a97e250ca0f3607f1fc8a1017271f814aaf87f426cfa6390cdb7ec1da8e220811531fd99b3782f0a1847647149561970b7ff7d2dfa71459aeec9b839c2b6eb379d071e718328259a6ce6615b4c0c368f44087603713a1877a9e1c9beb8a68fa42c63d847bfba1d2d7f6db873726caec89b184ecd21d6d0cd8e6859a48ba670309a85a33bc07f8fc9c8c91e5072228fd71fd65b4124ad50368d01cba619a7434ece9dec30997e126ed05a51be3708ad05b91e5af88ef995276d6ab2c358a32a552b403356a6e92b5ae6cac8ad19b26b1adfa1ab7bb9c397c93bae187f292b82b2b69f93c0bfa371268b4264570da56db1efef33159252436d673791064dc0894bb3f320af917b386e1da7646b6ffcc334fef79191b3aff870b39bbd3502e83882f58b4ccba0d06610277cc8f672fcc177033e5c5617ace80b436004f007a67868bd6c9fe46fd5538681228b47726cc19f3d256938619ece4fc3fb6388a692e85ae847060a88ad47f5705aabdd72eadd7f32462b7ea7eabbffd0a544571beb86aa92c07bbe23821c1fe487cb49728ee5c8026a79fa80a494d3643958d210d3fc65700eb8526c05393151599fa17241a36fead02747facd6e1382843f4046108a6dcc02626535fed2ab039d67b372e749b7d5d7f6b71d0c70a16e1fb5ce1e4a81a3786b227feded4de1703807304acad96a209200ca003ac0acd07f7df159856244ab1ba1a46fd0fbac4c578e6b72111ab83a371a8a10b14ccbe35fd59f4cb5d4630d9f0de7399d250eedec756e7221b6ecedc24b125ae14d7d6fdc4e522bcc4694f17cef519cc2ea55a0e0d14372fb5ad7110d679eb33fa10831566b26de036be9c422ceb1ab08154305bf7fac72b66d40d2aef68d5885908ba1329fa0a58342b06578c4806600f9bdb196301f72d9098a8e94225ff6886df1d380cf17f9d81120d30a2dd3ed74791e4c95b76a72632c8f41cf9be459a00015651c4b1ed2fac7fa720993d021d2c2914af7ceac15e3f0e276e6f8eb4502568d6e234a0867ec29e624780959aa14f325bf345dff61f4775492f427a6c26f2e0c0559dde8523d11e475e8885d9fe773832599b69872c22be1a275d45067c2874a63b500945d0f78de82f145ff148fcb283e32410e2132f5d64bdba193bdd2966f02141366bfad69a8e9a4cb13a35f3c093a191062529f20a04b6e5385795287f70299b82043adda111b8f234af84dd164479ff55a72493c1d0d6c37d207a5d181e3b8d3736f9ef03ac17e10ebb7e1e70a552e641d1e3d9f291fe33b6edb9b7c8b103e53e357620605200405d6f0da9d0101e9df2e722ab82cb7762b563ed1841dc6f8fba2fe10d4f9b36ac2f903bb2f5e64b02c8c72a4aad053cf6d258ba998eff7eb440e2f4d2a29a34d8fbeffebade35c8d16a372b74ea5e60acfd1d3acf35f5e857d4a15a13ca0cc263bc68769a3bd3c9465f7084e2347968da8549b4c62cb7ce8660fd727b5dba48f6c074d6d40f97db9881572375c888127140d637cbf23fc5572efb05b22f157894bc52d96f04b1ac3d56e72accd522eacd566cfa65b4bb4cef63295d4f3efa1441be25daea09b0b6acf0772d824bd762936158f6a53fa51029681bd81e60a61f37a7f9d525d8345aa25f1726f1b1cf49f7df59539a261c324c7eed25c67350b6d603bb2912c1ff04595b3410b0e5d49553563466bb818e27ee492054d3471330863f22624edf083f90a48726c97c46a783136453cd7e730d48dde5cbcd47a5e83ca4f590a6004cdac22142c79bb6738454ec94d82e66583e089483909044d1fc37f9b280169ec9db8810c72e2edc58330e5c8d8721426155d97bcc9ca70424f8f8b80f3f3ef4a898c93a129012119bd919e213c40151b4931707a8a5f6d0744f133a678da44123a3d84e04dba5c111234f6717095f919a0d46f90c486ce7492667aa7637b09443f8351347263a36aa246a7d4d005f74b8b7414e9ebaaa647fa66a1993e64f671fb1e782c3a7b7f875d1b5a427afadc3aa342c222d311fa2c7cc87312acd7ee371268b739729e3773c127e984d119c293aae9cf0981b92e434db90dfdb9e25f35873be10a1040ac68c5803a08fdf061636037773ff6b96f4a25018334fa0f1353f332707a3a807fa61a1a9f1620494c911fefa41b1fcd1832ac80a0e4d3bd250f648b2f7a16eb1eff691ba4d22423b2680ffba01f83bf98eed6644d6d12e4c8635b5c09a57200afe9da5ba32cc4b1d124ffaf322b59e3d9bee10bc77f375210a6d10eb0492c4e158bf41aacd8a260a0a3121a46be93005146dc6601613490a38a06eb4c6a72c2f6a81d32ad23f342cf51fb65f74380aed914b4cca47f8945db11a8de251b724e4e0e25668a91e223ab72e3a26970b743bf3677ab68b1941dd255b4b1e22e72544192381e5a1ebcd2b589b6c20d7d3fe3f6528e3a394990262de64724fff17291353222eb83312babd7517f729da9bdf312c7e35d781d7b40f6e05bc5344f3cb1f60d77f2d3cf4edf02113e6f0aa5f2f78fdc2c737e6e32350215037da60326e3b39099aa9ff84b3330d55324096dfb5ec0ab527f10b22acbf657f63fdf7972cd31c7ea6ecac80b24d264df6ef1a16d8782f0d0bd3a63d028f0f8a82f809a72f58bc8f3cef326bbd15ff695e7128bce9cb71c38868891110b5afd70ff5b6d4235b79281aa2bd3199c4c25e1ca0c1e8f1eac65b4ee0fcaa7b047e805a2abd726abd51469b92773db5de88f066aeb9895314f6c7e6a9ce5788f72bb079cd0be72e14ebd512a780b891ad9a8aec2323166ec49d38e1b311c7183417af5d855d67283db88d75ef2fe5f675d7a7393bc48c102ae892d86c53fd8143cefb9dc520402db057319f7b40498ba4149f685aca15c2f9301e14d752db3146257e1a78b5472328d6aedb6d53e16d71b63fd032cc96396c5ecdb1f8b278d6688901f5fba4c471173b0a01a016afd8a14f87218f3cad0b488f03ee75535c2fd2b8a2eff8bd2306978610be1246cf2c28b7830e5b6fac832a3b8c201cb3f1cd60759e05bb7d03b9b5bb3648e352237af5cf94c23c5fa2afd24922a6e75b8ee2d53d3cf043952720ce3d46bbf7d15761bf1bce7a3579f793b1cc627d5d1f336f2ad61983adb3572e083dfb4b052954e81325d9def53aba5ec4b351171bb66b6d8ccc85712938c4d0914eced7009e502608e07e35ea548864d7c7c4b435b865dd0fe5c0a85872f72af483c0da618fe35c20af9d33c8c61849fb4b6318d5430388a0a20da440ce335ee975005c080437f25a164b94a917c57584072ba49c3d712c18263fb4d095972ab036fe4762979513e0b52009f6ffb0dc18690f4653891121651112fcb853b729024a35b83c118f566b00096517858a56f88eb38fe204a8f0a2b8e330ca2a8724f7ba848453e1e121f4d76189f26ff06be863bc6eae1a18db31070dde25b4c72a997ed0fa8e1edc3f5f0e3f3f9f3b834d98cba23115eaadef352a0d1fe5a6c6a5a62d47917e11500f0ca67ca9c0943ffae88324381cc465e69a124e9ddd8e36f07208683e0e0bfc26af885a8e2bf7d2fd570f5551f99abfae845186647c332729ed656b3c39dae83a50fe816e232b5057988bf470f6df783f6f64032091b9172e11d10e094b0b4b795b5869d55cda741994bfccf055b4fa35a244d629fbfd572297d36f916c6f0e677dc9d67c6fffeb17da1c7d09d749bff8cd968cf12ad6c724fa09d6b7b1f42cb7c08b4220eb2b24286b58361a77f91b3af27c9b25f465572c8fb4a55be61b4349105daff3bab673268c1642423ecfae9e0b063e24091c409aab559aefb29067f1e9e78ee5044bfb1e2a54a39487b7358d0e46da13d3adb72d972f2c18eb526fa3b9d883734eabd4d4969922782860e76c2f9a6550a26841da2e041e0dc1bc20a32de1bcaacdc11ed2ca46abbce10fe2a2e849f5f4dc16f72645583b401a6f424e0e590dc6ee067cb08ccc7350daf9beb4ab8dd25c3c43a4ff438d289ab2824ed0788acbf4b488209993caf0c073b57b79ee7bb05fde88a6bc2fd6f90cfd03f1b0187c1ee4df33bbf73c333897a9b0fe309b1fc4be2c1ed1ddd5807f08064ae0f2e80d8aa70cc3708204d7240771ae0e0aaec18db87997f72bd93fa9e1bf8553ba9a6b47d84c2e34c8d703848a179f46aab052b1161c0285af26878aa8999478c38c574776ef295df834005663f8bd50064349f5e61d33a72b1eac014f6595e44e5ad2f26e5db6bec0f074c9b45cd10875af5fff2b629df5101b2ef58028ec5bd1b67e5a2311689c14b3ba0ff55b2d1326a2d390b5312d472e41edf4498524c68fb920f7339a421f0e3006c99769e810401db5d7f3887bd72646cc5b5fe8ca2b3b8f93708b6957fc7995dd549d12d4df603b233494f1ab472ee901f4625ce6f4c67eda7eb4b77c59aafe75dc4272b15fa6e43476b8840137233575083eacdbc41fe9fc4fb6b63e6b78473511ac6d8876a26b0574c42d0a172a712b1ee46fd50a3d1e9f3e775b710e4903ad3b30e60f2ce0e4b95d4910eb1724d5a3f7c33c8f1201ed10af419c905f5a9c10a7c997f52ac1e1581c184054e405a1c9f8237eb2ba04201c44e17936f4258ef194ca7575a3ea880227efb46456fdff9264a56391f80cedfc110274e36b6504221c2146b056d3b4ead3ecee921725c0140b15a1fd9ca8e623b844a71468a69a7c89cf180e379df64ac04a19ec207f2a1d23a472baa0236251f27aa729faf2470a2fdf4813fe05c6909889c8a722e0b78414f057b401a3bedcc067f3e5a34244426afb089abaed15d791fa1a07e6712095b7b95681ab31a53955b257e69572a279e019544d1ea848a912383dbb758184a4dfb99d3c576e42354ba69df177c3364267b8a77d1f882921c85a41f86689c1c954ada4c60e2633f6052a9b4bd22e9b4335b3799fb95485a9546a9f12b721bbedbb4a13ed3d2b99a564183f79b822903466aa8a84f0b21dd221e7a59344849c9b1430a90a0990ae8186c82455bbde40ade8c97808da5c3d31c06eb2336721dc9a5b67998973ce85f45195c66cfc84b73791ab21ed698f434196c9c36437203f025b74ec9a356863c1e1c23ba0cddad83c0024b0d9e4a43241d4cfe185872a5de614865d23d994170c649a3453961b82206bef7191b1ff874ebf152f5572ccff50a8b6bd4f662cf6b372b5a0f48e70060504ded33d50cbbb60d7edeb747728eddb99c90f7974c8e7da326a7a7788b43c13108a29afcf1b503dfa120d32e72fae51b62b4db9202dfcf8e281b485f66e4492941562c27a089b5e184cb65a772f857048fe41ab1fe3f026a63b3811ff0cc4550b2030671dd84adb97a7777717237048b19f826c21fd54bff52fdfcc964b296abb544458912a8d12debc6e5bb728d5dd66b433356669ba8dbdd4168c788c3d7df2fee5b26deaf69d986c5173d662b2de5827c50b55669ab3004781be9cf486e68dd8235278bc26586b4c3f2037251cc7ff7d03022b90a3cebd2b42db0cb9d2792a0e698b8ecb294ff9190927972a034b071a232f9978d67e095b664ae7bad4ca0d1a0029f18920f040c7e50c87219cc97beef8dcbdcef08bf308a684bc0146fcc4271937a80759ecd7f46c50b7135dc9d788754c37d0564331938c812b4615052157aab83672bd72c3a7932567279ddfbc3274b8ed6493652d0e348e4f54ef5d7b2c1dd7337ef9cd937bef4a07201128b213f1731362c54ff637e4755d1a3a80bb9fcfd3aa5168e07f28c0d43726564b5746a38255203d78fdf3956622d3e6b205e75d4ceab44d308fe7559547225c293e7aa56aeb6dd08e746bcc50f7d2b0870d318f1da2489384e7aea6fb63d0024d0eb0ebf7069fcfc6356d38bee7e2df6129490eae7c77f1ac1f26137db72ebc8e0732cf9bc6497f123bbb63c904389a60bb1c4faf6e60647aaa64a6a434d03d9dcfedfe7c981bc98f0849c262a5a4caa69e1055ea7417511e7667769502242ef98578e4c933a96c94a960fe38b53d83e8e65238a653d4a9e112002303a729cc9d9456dcbe01824af6064467ed00e1d215a2f65374d254905a25361dbf661a91c6a34a6a6ee42fa9413e5d059636159702996b8c54222236c060d08e69e320549c6d7b5faae29e16e7fc5ed0ef31ea6a2eeff00a89d25fd0f3370d09dd07278d3439ffa6549d0c6c417bb560680968748154b2891f9e8d5352bb24370767280e504950f45cb4b28a5c8c0d9fcb0a0aaac2f0e712c263e448b2354870487724e32a2fbf77c8cbe63b4bec6af6fcdd362c413dca5cfdfb0db19dad5480eba727a96059f96b7ad52079dbd7828c09366f5707a63e2f20e9a4e0136da9d8fcd3715c08b3d1ed4f8ee7f7e4b5c0d57ea1868a4dfb43e028ef5ce6b1b0a96680b45dd0056450385a0a436400392c1b8fe6001a56e8447c6913967de9855e0a6b672d4d70ba2fbbb2251cfcb8a4489ab9cd48ccb357aa432185c8b1eb5cc294b9b72d53da509774a77bf60bb86846cb36899a90743063299828ac9cac7b766219d121cd24db547247054eee91497c023449e50964a66d00992a46cd6a8c1c57f923e86b735f71223a0245a384ecd8759490f0fb180df623bf7e9584e320161af2f725962b08a1d628f8ba5f45f30d44970a9f1a73c3ffede24820bafa15836275d6b28967b2e2fc5e63536d8e4e37fee6886f58e36309c51475ffd0a8924eba4cf728e094bea1b060514d0160ea27d6e8fc948e8046aed8218a42c77887f463a4772cc19f61e81f78f8b4fa4974dfe0688c0709be4fd9562b01a1c36203b65aada72f8e2184b23c2dcd258464dca45a7517ab87032fec5bbb15f8d56fa7e87b88e27ae425248089e1b4fcff31c1f58bda2fdce2b78836686a48b1a20c922e3a9e2724e5344df83f3bfdf8636b55230d86a14fe40ebf3d8892d5dd9da5866454316728642d9ca6b45a9767044660afc443cb0b2462f1d8366528f494a1a6a5d8b077279e1d98fe5cd6698de1ce75cd512a2898b57e765020fd2fef456e1e3b2634c38d1b61d97e842d78ad9b99eda4828b9affcb6845ec4f8604567b854a998a47e72d457268a31a6837ca70a41d1b9daba517edc1a744dfbe1ce2897d90a6b0021721e8e55492598cc2fcefa85dadb323db1ce7473ed7e284a2c3f681d7ae6df332ae83e0404b85d1a381c7fc713c60a116b9ace0aed17da60cdbd782b1fc6909551c73ef2911929eccce86746bed211cd4fff67fd5aaf5392ca572925d24611bd726be238db3d47a508612ab53b09056feeead96867b2f9fe85cefe050223f333728dbd386034a2df0ec73cae881c4302546da2a8a70d7f5ad5994697b372c351723b6fce5f6ed04490f26f98f6331bc717dacbf3a2848f5703c5ef3fa2fe04ca0eab17bb6cd72d6c359d1b3061bc55dc978958bc821d202e08826d0545c2e88c7251d81708f3bc036fcdfdd6bbf2f25442e3416568cbc7808532230886b79123212537a88c638e237cccc0ad7cb3af1b89731e38c00405f490eac610494d970d72fdad6355ad9ed136b74f5dd98242dab49bc0572ee2fa4e874b6a686779930b72903580803cfe6c91d9690bcd863a1bf07e62cb46c6a5a18984ee684330432b72d918f4f6a3ca7654ffb8608ef74a7fb3ddcfcdabeb72cb992e25d0ef43641c726fa22d06c836ff5a472500b4dd92d8777da7cdf0343b7ec74e63d0a9852ff7724cbea0efa24241b03d1d4c328f78beb75f90cf0f7a4fcfe9a83c7e54fa2e8617490224626adb28862406ef9a59e026185fcead51551a30d1411b3ecc3672d9114ae30a9d786fce3e25e523c9776482427e6db30bb7ecd961e69a0c201208ae310be7051be433339c4770d89708518844db145a57075cf5135f89d92ffc272972234acff8e293a167378cc488e335602a75c284d62565e0c52e490552ee22080f4f4ed547cb99c2cdc0b9e83347381a0b19ef1f851cffe24ee9c636cd0e25130d0b3469c948ba21770581794863eac4f87d7f21305dd8baafa5d958f05b8b9f72e41b017c171a2108f05c4320072021fa7aeeb3aa121fd3e9dbbf93329ece406b93df047bc78f515c463ac0622d7e135df7de069c8d597f348d912d4486fda572f0221b975992dc787bd22758d346560b07e8dc34e77b0deed73bf4729e6a1072a4359eb00e60ad05544a4da5af73d0a7e9ca95b2d75521d56a6cc1ac7ac0c172c830602c2fceacb61f2b57633a87d8f2882a9ec28368de49a123f339d3d4df72f2402bd732d41d8da9d647709affa22f79579ff10478268d2e5071bd754bfe72ac4b2275bc96b7f37d56919061834b7c36432b48717a6fabc1b3c8f737fc0d722e4098f391116819688bc14e457070d2e7f1cc59c2499c34902f34bda021a9137809c85351e58fe651120bf73423a97063f0349f1e5c5b74fdee03323fb49c72e1cc70a09f74ef81ea73001ac668bca95f0b5610199d0bf54e241079e5480672d51f6ae4d24a759f6ab781e98644424765a30eed745cdeba14f69487f6b4e172b620211557ecd2375fffde1d870f63d834c033b09e07524296188e996b2d8172620f11268064c206e7b2d46023af067526bc43886fb7eecd261f2d82f2da464ad56fd44bf3e9d2df12c7bf6c96fd045cfb7c7f1d388891f0a01627c0ebbb7f287feac4a8e250931cc5c06f79e3d79c4f0a81dc58c965179e2ac1f276a604915a769754c7ede4b0a2da481cd5260bd88348e4e8eec8215b6909bce7f084cf2f721cca33206a0b550a54e733c6d9ffdfd141de96514bfa71d86aeb224d3f9a40722ba2cd6d89518a9327014fe56a30e00b9d834fb23c2adb83601737845c348272e47921332a2cece0cf8d4db4702eb5ced57a534674b41b5e5a024b5f2590a372cd430f9908efb4ff04821b6ccec8ce334dc8b8fdc301a962d007a36e6a7ce2728b042b06095085679d0348d8a4f99c14bf63b893dc429b0e0497462ae3a6734d5f93d3bb0c011c75419990526f8a52f3c7ecab82ee33f5ebb262a27faa2a1d72f69955a3b49ded7d04be742bd2258ef22ead418f130621f83496aab40d04b822498e5ebbae2a13f1369acf2b47aea86d3efe08a07fb2264119ca617ab2ff4d72f700bae771ad6639b79b65c25eaa294ae6d83d41b3d29c035ce04700d151ab721f43c3bfcdfcedfe93f854624e8a1207ebc45f024571d982ab15455426454272516d2dc730e5becf24cb08afd22218c0f8a42d9bb23ae30f4b6a8b69c9fb377210c7f5bfe4d1dc0ba9cdde93dbb672383845ae1f4391abf018b5a7c93b2a6852c1c2e8b40be0af75fa800b8d7073296b42ea02e505ac263a79c6b6ea6dcb0b728c60d5c5918efad5f6ff45e17015285ab5aa350332d5627d1be46aab5065097276f68b8da3b2b4cd48d2006ad12be45adbf157e6a3ae5972f3be6e262d413072b45ae7b46696f115ba8677df1f3001e98e20e597099c5f571f8ca2bc6136be723fcc8931a2e16591fa832987b901696d4f4be3ebe62b3fffd7d776fa75b198353e8dbbfded268e4ed1fdf43d13ebd1da19492f66ec6540bbef55e3e67416b710a02985c28e5d7d2bc438035c2bc30276fd1a52fff29dab2e3257086c3cf85a72445a424ab456032f85a9133f6b0942f16f2cf9c8c5a3766ba6d853ca7206f6721b44aeb547d87cb0dca6785a5cb3558e8e155ddac7d31b41fb30694958757272280c285e378cc64ea90514171ad959214766f0c43d123fb87ef850cfd67ee172f8b3d034130af4b1dc2663a1c98f52ed65ed95cea5a4f4ddb84109aa4b179f72ca2777541c6a2b7bdb6b9bf245ab04d62cd4d5554a72a103cd766003d12fa7559d85e9fd6895918aa12d4d252f50199cc7d221dccb656c6b08a8ea86623e380ac12fe6fb4423e53375f8ad06d88a3abe8aed595ac1692c01a1a9d2440e5cec7232a948b64d4a2c5e7e46ede7d36a08427d9029e97584c4f7bb049020e4bc0b72842ba0b2472374526c704614c8828e4d04de2c165c7fedf6c56d439838c60172715a9a26f7d13bc8543f73917a099a4bfb02223ff7b9ac3501d4c47fcce17572cb1031a23454995489eaec2ca64ecb7c7453a524d9e5c47c2f67732b8d26f172eff45b9aa858353be0a08a9d9055c2c674d335c4a60a8e4f42d4889dc2f93072c4abcb0561dd901bdd7a3e16e8d36317dcc29c89bd6e9eb16dd18924d9560372cfee2fb25194764d83239581e4810e648dfba25f06974a9cffab66b5f4eda672ef06372c2967f3ec3663370abdd844ce7b21f31d7d9e9d0babeedbc75f5863724b4a24ee7a335a6a622742113498067ae797fd2e363140a6465e6e87bb8f2472fb0d4c21997f6a19a602a2f46407c566b99b8626dfb35b3a2d7b7338aef5c322dc445a369286a10defff546a78958535cdae81aafc178342fefe4284d02e7772caadec562caffcb1f4462ddaa21477fc3574a2b4713df2baa5d266a4cca2b572db394501623f4abcd9ae9a0e5236099957167cb0e97b9f1230fc0fe22452671d11058255e8ca96928d60b6c94ee3c288d1526f43e988834f5d4fee47902c012da79f5963c06e55515d772015d2b13f5806c0daf341f31ea96c1c6e918255971ff7927fd71723e0ee356e6ad94d14ed0747a3cdaaa797c757c5c3b80546eb08729b5af59c9df3018ac212e17efaf4a7c3e4d0846281a4243c208544ef83310f7252e9b031c5a85e9bc646dff0cd4b8642c4f5fba317d70ba1fbc7b2622dea2917a31f3aa8df5f64ba63cd87f5c2cb3e8d2c1b8ea41f2e0ef22775f314463fce581efe61c4cdaabdc79902449807fc56484e80fac6e5a8ade54f910b291aefcf729ee962be0bde0ddf403442fd07bc00e96bc2af42c53e5b7779d3e0d47d555072c46daa249fc13566be912a276eed0913f3ce4457e8c9611241f8a06ddc05605704d3a26fb3a6fa8e67b94aeb0186d70bdf4cc1bf7f05f8305bfde325b78aac520154082342f884aec966be5715d51836bd06cf68bfceb8ce37dda39092118d508c2cc38f335168ad0f5d96061833f3aab8f8f68f677174d7b0ee7c63e09110464bbcae2bb7eb3fb286612c22b1ed47196ebd9beefb8c8df575f108d3a7c6913eddf96018f9a66000c525ba5654c255a2304750672ffa151a802e20c45e342a724f5bb6745ed4b5f89d955eb6cbf3111a15ad1db45b8289a672bccfb2e0c1c042a156c5e332b15616ad7bf558ebd28e6bee76fe7f6ac9517c5c895ada94176572feac42e68dd626d10139bc6d22aceb0e09ec6dfafe8c3b1f22db0931bd717972576bfdaaf0eb061e26bfac70d7ebc8b744764f1a2a967d4216b935484f4fac506f95e9ef23f3539846b451cdea08b902c61a9c1026b1842ca4c8c9cc9463ae720f31d8552d0f49a67f190686efb6bb694ee529b0c33169ecd9c47a1a1465ea3be3d4469aaa946b819666d62f0fb115d25cafde9ad522b308730873bad5b0fa7262b4a448cb59bb137bf365ecd9dba6e6d1dcdf27b4e7e0f6335cd90c13d998725a47fc1f505d6c77c525c205ec7e3772adf94671a5ffd0e0dd98b3dd707bc47259bfa08fe7e7e868203fe55f4e7e01ce39800a5d73a6a53c104ce14ef2ffb772cce104e44889439052a076c4a2bd34d2e6662e90a7a1feaee4d449c8010f36187a548d5ad03c1a3ca699888c5926f0131870239913f728aeab23de49b0951a720c2e5d79dd36ec63f0a0b0e3e8c225c1706390719b01257fb9a03eed2d040d72280db1b582f469450c384d39a9a925641e20d898ec2c3a8ea56fd73e43eaae32678450041b305ebb013518aff8eff0d0772697a020e5aebe7d0920b38a49995c60f65bb6ffdd897165b433790f765cc0cf0ebefd64f3ebc7b0a9141918588d72ea93773b43b2692f0ec700314bed97fcfde88d526ae7dd297864e82aba3e547252ff35d670045a50f6ce8a9f43e95d86f2a43f5dc9e61591213ba3f94d9bf272d6dfb5b1c5e633732dbb4131820822cf959eea9171fc229caf5f49f34ff9ea6701e1585a100b747e335276f49b41d7d5ecd9a1354b644696ef5a26ded452536308f529b56578dcf869e8dbeadacd97cf0beef0ca3026869f9b8addbb0f032c0f15f398cbe0ed596a4c641214eadde244087908fc9a19c4253580b9f1f1ddbd6a56b5baf4bb50040a5460a2718a6c135697aca05ccd3e080cfe1fc8f13223c27253f2b72a0643b7c67cb78aa3263c8aa1e5823d6025014be6483d5b8bbaa05c628b149fa70240821e05e5de5546fcfcc0ef453ab6a7f265a02c8467b59a0da41a0e0bf93ea74572677645a6368024c5542a32ad62de6c1ac427cd9b71c8b6da72bf8eaa89619323cac4eb91e6915c01f5d009eb88db633c2f8e24bc7fc164dd72dca358efd616ad36715c222c5964cf5ddbf98f5fff03c007897c835584f92972653c9652390645f2807806a81c455359b99cc2d66cf690da9648644946c1bb72f31ee7ef907e93cf7f01255da82d745230ed9fe00869824952d5afef7be36772c8fafe93112ce356104e1e778aa184c94d6b6139bde41958f946178868f1783b82449e5dfafd55e7f9f5583d86d2f2fbf2b3f4c5fad8e9c6bd50ed638c67a6721edc40ce71334a3d737cd772a2e734337f9ba7ae90c5e23c0d127e59d7ea6f724cdb5e10a7fac2a64e3c42253688f6d0168ecd8796a31068c04c7eb5baef4e72f17c195d0faaa51b89b674f810a04c7b7a8eb9ba50799a998d91c87ec8d5ff725a9a195caf5de689c675995a489701ca56e9a31e195799199310af6599303f722700aa5dcd28ccdc05cc6131cd2bfa47fd0e22608795beae150278e51681bd72c93b4da648aae02263a3be9a4c63b2642d17b9edb0919e98a60c8336c38b38727721242e6f85e47294cac1959709a051d00737cb5ce4bbe9abf39fd4b07416068261fcd2160772ee05318dd9015c318b098233694f885202710008f9baaa6672a17c5d2d7e490f7604be1d2ed79093488b06560b286703eeb8be17312815e755a14fe5ba4bea50b01759cc0e256df5c50f22d4059a2c9dda484bcd4f901e651e32196723cb4c9156919b640dcf63f28a38c8e1c2adf480a3dc36e85f2bd974382de8c5d96bf9d5a45b1fabd655826c57b1d35e619384fb5deb5bfa576ec988102f4904e8e203233e5e6be26433ea99f735e068c742092047cd2740196a15e372c043176740f7c0fa2585db2ab19a4502a7da300969fecec1979749f6d67063722e31b83f9adb5425c8804ca4ebbc98cb4af13bac00a840d53c0963cc5203ee72a5d11f6b0450dc26c2a40079985612b9557bf2a4def5bc005fc5b21045067a72276e0c469aef4b5ed88914519d1a798a04e221e2eae670dfc1b38d8260d07c2965d4e5e65763d2e38a79d168732108e276be063cfe774c12682902da106e7572eea9b392596282cee5be369c94c189b7107fce8b4aeef4ede7f3afaf4d2c2972e6f42a0ac608987068329f0986704cd56a4b0f2a685fc64c8e3bf71818a57b089beeb3a3e9903ddfb7a60d9c2165c00abd5e51084ac18644670d5875ea49317232cddb845d2b251b1fc24868029fd21423040de30a719682daeafaa50668887278928181599a0202abf49f86752e45bfc1663629814969f03da4f5a68149954597190db8d5281e87b929db307bd74219f5994e0b25c9e2832c44d6fc732b4a2bf3a6e51ccbd6519200171640ad617f74d021f58e30ff958e9ec98c2e32460e72cc759c3fe4027d9aa24044bd5d2b193b908a21f9232887c72ca41bdb3eea173db63fab11a6630c637d432cfe01e3bffc8e19e8b989213e3754051b360f27c0724446ecac5a784faae4a761f9215ba81029867d8fe0c661dfab8744e27ddd3d721ce755553e61b547594aa5505243f9d8ff6f56a47df1947224897176d6d29c30a829365decc7bf9f9ac92b153310176d8c5624f3cf39afe9597cac07d578440fa10c1324c4ffa21adf8ce6fa3f8d7a9c46e0b0df02eea7450c26a91009d09c412f8b8c34b215fdeac338dc1663e21667c34fd5b979bbdd31c4345403ce2b1c0c8d76aaa07e89042bb8ce8922bccc8a0ba4d9519f25a8dcb80c30d4c614f4ce2dc379b1abc68323631a8962e5348bd862c7f23c8ee38fb078569d2e8655e0b8720101fcda080dde0045d8241fd67df3b62122264246502f14209d7e6559cdfd50328026ddcaca777e60aa8311f9135c5e6b70e13290519de396371e343bcd76725fd98d6c54fde418c5d7506eaffd73382cb38c899394beeb2194381755562072aeb3db1ab11c41fc73248fd8054575a5ddcff65ce6fae88a7d6cc676e79ee7726f909ed20583316ec433022f3655d7eae584ee47156f22563a3fb227fe9b3f7208e147a2201b5389b1ee6cc0257166015e84072746299b468b04591035632d7234bc14f3e632cac2500da0c1bcf65a0bee15ce5e6466ae8f90f8bef773ac1d62ec46c356d336c6d144ddcb33e2a7c114a1f54f360f4e2175d19c884378bf635c5f0e9b4ba3711ff7dbbc10d78bd34bc8e3bee5bd39b115b515e80e4a92d81f728c4e120e1ec2b9c513c5573efafe8ff67449b61a03730f4891aef3279659090fa6771e0b0b256fee5389a24d21336a9fc4b85f86c51e7598a4d23c5b7afac609255d3fdd8b446a88900f452b85779dc725b95b64596961ba63fb3b2c38d0a22d822a7438772e39869120c250eb675e4e05a47665151abe3491ab80411434957240b0df0a2a9118a62f73b982226e0f175a2a5d2245d599cb84c8f9add530f672f02e3c3011404a03c97367b4fbd6b1168c7de53d776d8298fa3b9534d228527276322e37a1229ffc2054484f09b4085743a511db77418ca82fe84698b7a7f7231e55d01e5cf0d3e64927c126cc97674f8157427b64b2c67e249eac5b4ce35372ce50f12eb39f16bf06445569169f3c014350621054fa31d5a60fdab8f7da5b7241275b132df707966026d41b08abfe6c524d4dceca1c21bc32fc30dda28bd226d8cf48f4dbf5602d2351cda6130abce7386350d98a65b7f431bbfefd09820d72ae3f6064cc473143e860fd47c528ef2de83ad5626a6749a242c610cddc253572b9489ea803433283a6076d550272cf73edc1f713c0d554fc90be169646c6f0614fcfcbd2adc613fc23292f58159a81acdaf8b1e1abb03fb01af77599b91e2b4163cce15c05f068e2c16ee4ad00ecfd76fe4c7bfdebf40e9c906eb5c962e049726d343bbd539df0a4f26ac11980fedeee256065c08361ac5de9be46ff48645972a82a7505c1b0371cf681625ded0c75aa3304c12ba1c63b99ab2033452886186bd3fab826e22d8d87fc073f4f07d56ffb81162870803dad0b35200abc459f12725dfbf61b59fa0b55259f02b3c31f1c229867cb67f644fc19987faf9b97563540051d3aad21c570afc11e3a3101d1ae71a606c134ce6fa57066545d7cd04f1672268cffcce812b7e958d81f3bfb08129b5eef1914e05a943bb6db860bf88be70628f658375ec476343aad0f0653e64b58c284ac058316017c05b023fefc30f033fd539bde789a2a207b912b5c9c39bd589bee21c280167da409e37bfc0a282e3bd872ccae7e8913507a3923531286c30593a13c1250fa2f90d13001032715640a125787db9ab2b48af7d74c62664c0d0a78b8bfa1fe62085482a5f8e6c156367221b58e1913b01c50bf0beabc552b1dd465355fc0543ad51f00d416f95151f272310452cec98c7fbae590b4654cde987cd2d46c746793c8b1c9c95275e68fef594511e5fc1874ef24d2f1c504b9782ee76ba2b4fa4d6bb2a8c13e1b29367d61720e14f6453dc143dd78ab7f26f1b8cd0733d86925365daaea50706959734ff872a02027c285ceda72ad4ca44f3327b9c24bc8de263a3283375704f97877bf0a72012a50ea740b95708a2ee59591d8b269b26a8a546c9484d10d727a3197ed6441fe3a4775887e4aa0b1faeb11d21b907b2700b9b753bae2e0871c67ac041d7672b701e70513231ce1310b64cf5e9ad6418d826b276916823b9725265834ff052910c76e14f7d5edddbb66e2359bb4d56117a6fcb875bc31874362c70631dc3c35f229a9c6cd43f15cab91ac1bb8be786362ead02f3eae12a3862e447ddbf0e772a284bed8a431c9b668c6c34b2395ce2c59196d89e2fa172f7cf4dc74e43940722d84c2ef39cd32e8741a4f8107903faea6b8727271aee640a044c14276aebe72678b6bbfc2916d99888dec8a19af5dc59fc246cdd0b8f1a9eedc9440e9b2b2721d46706f9d8c40614c4334d02e4ed027bbdd4c295a95000224dfca273fa03563ba02c0b5ad1b86257f19532e1b37d1bf4ccba90de7be84998067e8af5012350a204fe96453ed003ca6ac69a0a044effc1dc1ac5991cc180e6948edf24552d672b608e1ec1f24645ad5f625cf85e3f6633edc9fb8eca7613b07f670ecc11bd97283c42a9dbaa98e05148991968f6e392a8d9b78a5fc0f5f21cb4ae777e1c16e17b29290c8954bb2e7855531d61e06bcd90b91e2b5f12bce48b887beae4d012a7242fe0ea6c8cf4b02fe442acdf14cec281a3e66591187b9ade44d797ab9ad8f02d17081007b520dbbf89e0fac8ee8e31e3aa728a2da744893fab4ca911076e3722a541d822f0f40fedd07762ca35259b84c95323e69b8b198901d32fdd4bde77217025fe32f89a1d615d0a029925de9b59e92f5511aa3f1ace42dd4e607299d164a9c0a26b1d1f5e53ef84c3cf5f488efc2fa97f23dd4a39858cfafc13d07807214274d3e880279b792df57f19622d98016facb95cb446930c739821d23fd61725246627ba80b2f2016bb9e54498213f5b94b69e03417b54c2b0d9dda6f409d492f3eae8b2a67b92279d935d16a9f488bad7c115ad03619e22a77f985a2e5b5727106f2ecc8e60f20439611f89d4a94da24b4aa16d9cc365f542b468f19601372b9ef28201c8a87d93a0b9bc756190c4b18c51b85885a483056aa012ea5b96360f8da34522f31c066fe0dbe05bf5f3d406b2084edd1abb33a96480ffc86d2a772e716851d871698578398b2d24df9f1c0fd21585c49bf7c85add96a3bcf3a892318534ec9fa87b5733589eb9903df93479f9df5731f925c3a79241f3943d61c7230a685ca47719e3c7ff0cf9c01bae632621a81d2a9f738c509b7d153d6368629cca088ab81bdb43a4f273a6d7f7136647ddc5b3cd82ed8a9b842746c2cea9e72d71025bb08e84526667e96cbf734ce1d0a1de7d54e70430ce12fa5106d043c729c55e55c57d20224bc46132ab8558f7b6bc64475d15f449652a510cf6cdc587268957ea79c3eb0a012fea321d02d935a2f0f18775c807dbd667109327a7e7a72986e51bd2dbee91bd82b5c7307383def2bfe89114f6a468fdeb7fa96061c1472aacd3edaa2aee6aa3eabc3cf0452139586419bfca9b836fc9ab85c16d3dc8672ed7b93d02b9f74e898105ad865ac142c6b1cd252d7911c4bbdd46ce67eb3887258f0e15c06a3cba096c3f3ae111390a49cd30f9df929211aec3920e08413d012c0d0161c06da8f7d2dec805e9b491d5b2659c631532014c89ddf4355f4cddb4ab2706eb7155909eb299f41cf49619f69f36135e969ac910df2aed7ae28c7035ed5e8208d59fd0379a0c1c90351ac316511c004dfa80934f51d52c4727e1d0c2565173cd8b839592977e73a5c66de8a15d0c090d878c4ec2dbd1f7879a91e697214f6e83f38a7d399fb0714d8b843deea1e95a9064f51444437a83a099362f9725c444d3c768d141ff153ba09f14e7d71e93d879ea69ffcae44fdce8775f2e072715d5fcd2feb0f0326fdfb085e21f95fe48859a7b034a42019eaa9d11ee9bd72e408255e6076a4f70b1c31f0c4cfc6900463304c734240566d02b22fc2f59572384909ee0f23f32007429a9075ef15130ba99594e2a1eb3ad39ac832de197e06419260db762b153dc23ea651fae56f9c044247eda89460732298fb54e0072a31a510741f32cfe9b30abf68cf9b033fc2562cdd53a2d4c0edfd9911206946a717cc4a9ff33d5366629a5f458ff888979691483266ff7788e73d9a5c009db9a16c04d6fda4d49cf53ff10165ddb43fba3b9acb9db918a34479d037b5988b738d729f60c0345c23317aebabe941d7cfe94127261a4b49ac566df402dbc072b4040fd6a9253472063b4785f1516cb0b89f7f2510b638437206668e35c4c6487ca93c04a2cc83c53628976d3689ab2df126103ac8aca7f2ff7060d257414943656872e44bb795d11aa902d5813a50329e5f30bc9c5e4f8d8cfbce2aa3c8eceef1117220c92c394d3d148321769f588e7c127d925d2bec6fb7ed81044516f949055d37b2b64f343c48d144991e1ddadbed94820d7cbe0a7547fe8c3ef81a6ce1c90e72083e4198d0fc4f73831e53c1c205c39b03cd40ccad5064cac702d81ffe74f1723c5375e9bf98a0f712c086e3a47ce946d2fbb723fb4313f1b8fa2d87cc4b453b93fe1f4f35c603a96852f5985bd9d4c64e5e25fbf4a528ff841f21dec905e0725c5aac1cb410481e8d70ecc8209bf5376f48196e587b76853216f7b2acf5d872b26a0f84ac6d1d893a779e83228d16ebd727de8eea999811140b5723bc173b702f71e58e8e46a2963e10ec343903966a52ba4d79095bcac7f548e84045ed0472cf8954d92f3a98a213cf8e81d01aa702fcb976e0f54672b402c7177633e695727c40c99c3108939eeb45e3acd78d7e984fb070548d0bf847737466b6e8b96e3681cd5c2007f9c0b7e05a659509efe8670f3bf5e0e45c740631672921bf1bdc54d4b3084bb2c459d57f19a272938ca7b397ca2f9e9303683b5bfc4ba2d315d70b0d14d3e43b27ac898acec91b28d59d9e4188abe954881493fb8b032ea07bac2ba5e51da59f14a71d2649fadc9b8f55631c90b0fd6b96558840ce3b3f4ea2c972d8e7b7b11a444bf8406a2241ef329c3f1985a2b278663da777501e5f0c47527232aced32bc3242020a308d8562fe0d866dc480f8c1c53469503e98bad0063d7226aaf8985f4a1749fdd633cb0a1f3c039e643f60a49673c080eb72d6df2c91723bb8293671a7217c90dbddb287023c9cc41c87a6c44a48a9f89cc4cf18647a727973b615cdda09c7beaaa63374fca52a14bf4cf40a85b889c5b74a25bf71211bb7ccc337434bfcdbe04b16bc273a22f5e92e0f3466fb52d31d653fb4575f6d267684774ebb2d617da1750b4dcda9a2e53dd2c8e3f6a0954e8ea7ebd449c3ce7243789942a588d9724c53604a7150ca144cc71402c3f7ef7a18c9c56f6114644316d2b5b33810466db7a41d52939be967f02854f26eb90b663f0146f83175175ed96c321ed338653ad821aa37b46bcde6eafec6ac92f1ad0af05f0d8a0514bc72219285f5250b8fd280493a448cddf1dcded9d6858aada082ccaef17fe5ae2f72c922d84ac04e140710423cdc74c578755632d58677259afd22be00bd14791272bf3f9d32f6f6d8a8a670def2ca10deb8906e2a3b74cfea5b1676fb69d792ac72cdb38c3b6fe50e0adc4263b71861837db54c13ca7b3e74981123a2c4663b576f43b70fe0d99641a2c32c81386103d895d62b5b05b73fe5944e8cca34691fcf72bf2103d4bfb03647c7c12af8fe2761e3a46a34c33d7dc69d3c39e1f38b2738723f9dfce40132be18dfb22b719ef10b8d7dce79567f9fed5244ee82b5a2f71272145347bb07480514b105de273ece29b00c93d5c9072a83d7ea93bb35beef1772ac94e202a4a9787a9231af7a2acca5c1d5d125d151b0c39b4a4763e3de3d7b7282abcecdf7f4ff8f423982cbd2691c8767835cb02c562bf2a89b9a99aef5fe3755201922bc2dcb65f753d031f6cb9b0dcc0725aa8055e19dd60196bc654cab7244dc3bf3c934925334dc406d07170b488c6d4bece53a4b6f0d42387592943d51a5b0ea346e9c55f18a43b6038a08bc49626373784c1bb691f9e21f62d76b3f366468a57581b671555d9e295fbdf632fb39b794e0b14d9d9e96d362990e9e38722da6911320e572156363feae0ae22f921a22db3b8f4b73239e5233d009b9c6726df7591901825413c0bb2c41472db70b82c7bff324ec61a8ec9013dd2ba5e27224a07059a21f663b6de580a0215d6b7712170c9ffe9c24226def73f136c2227188530403589a9c0373cf8e575d1a3831317e085131d28793ce31ff2ffe318372fb038d1247ba7a8409db0c35d4667aa8620f8bac50acdc02c6397ccfad6b7c11b204afdbf48e435ecde55a1f58731e6cac246925a90881d89d3c99359f1d9972a34452cdf1f320a4e2af07d34ec651a4635a0bf2475fe2771283e2a29b6e14165bf0ccfb46b7ac0659f67302f330ef03f9993a2b02ea56cf18baff52e9f4f1695a6e33a73a4fa24d7182c2bf63d67a0d4c8ca0ebdf4d2e2ee6f1025127ab4a3f04c2fa377b4ecff688a050a5b2993c89a5eeb045ff3364d0922d5b87b91d9149369e512fde14dcc1b90689f6bf83d4a0c4c38d6c7ca61a7f6adff0ed25b2294b02af3f02cd921bc6f03d45e1583422391bf94a0e90a1356634bb77aed662d413b87a577ee7047dbd397dfbd8671c795cb6bc069d824690b5220779f3ae74f87288735165b8eda13f62f32754695889c26ae063ee52478816815fe55c9122cb720d2321cbd22d7a4b82e113001398c8d637ec8b266d4b64ad20785b6702d02172d4e636397b27484cd12bf9c761951abb541015bb3ee6ed46f99c2cfabef3fa10d108168b2f2049f65e879a7c826d44cb846e1b682599ceb935de6c2df1769372fd302a9c90b2bbfcfd71a50a5a60cc2f2e2cc5fd92eab5170cf0b78145e780299736bc40660595bd92b00256441640b2ade918767a9b69ee553358a30ddce0729034b6ce927f1a7c74bd6f37a8f477cbb0ecc08a852d2bcbd1586c01e486437209618881b6a05b6fcddd5221f77d2455cdc1f43d16c96b78f4b21a87d1ddc0551a0ee3fbc6d1a4653881898da0704e9daacf9d4920f2560ec218236e86440b3a5f4a54f33c20995ddcc149d8b41316e3290f959f7e143619055041055842bd72f3e11471f2cb116aabfd4935cf96dd4d34de1e752ebede9d4515f64c8a21fc101fe91679c51beaaac493ad90062796ce04c3450835e9bc02744764d08b215209d4d9709f8b15de699ca8a3a16987acd6c2e9e495994967bb1410e12791baa97275f39b116fd4da586e027eba8e5c46bdab57f67247eec39900dd5d3b8a53d47297e5080f99d703c859bc0f0f2f845a20511b90cc69247c7ae0590a2a7734fb2fccb5357703348e1d32888febba0f10310485b679a0e6c83e0d8305ab6e1cb127680b67fd5925405eb852680a8404fed6967431d5ed5d712eae5e8e58a1c2f9724f9052bb1788253d491b043a90586f94060d64ad681b8af8f730ad0c9c99d4727bbc59219c5f4d24a02e8595ee9e69e1829079543ab24b3172b3fd8ce23efe6b26a2bba0f943d5b648f076de596418c5002e7119db49a9436e5206a98b50c6722ec63b49a79cae736db58be9625e13f9a53f0bf73b38a0b13bffb1e47faea372af3c142097753de4fdecad167b243f6bb6c2105aee8b57c39f894b0c9bcee1725d3bc5653de5df33209e68ba614351d7e9d7b9dc906ea26efbcf691ea71cdf0e5ddf2bd91a781cf207a2a041670cfdd1f8a1d3e4f5f12d637f1c1c065aea2d72ac3bda482719f19a0b459ea835ab0a432214c5768f15a1a5fe0d36d8ef1aea72e143968cca75bde626730a307e9674d4bdc0760f1a575bf908484ae9d784af1ab19570fa4a5130ce23a4ed96e1df597112cb8d90a3ba538d729e12a8c62c86721c03add4020b172904ffa10378db73401de782b4d11d11d4a2109221ab8a053a624f5097d7d7e3074fc2356d4d53c6d4e226e2851f1602f26e6a24c66e81a20014d57cec7fe0a437ddc911321012e52068110f4e9f59a441b78740d3aa3ba1720780c6496eb3e46081dde85418c508c7d5da4599d0ae5e96268148a816fb6443bbef66f1aa288630ea19ec7622f9549a393dc7044f3d2dc6befe218ceba5d07266854566d3434134c5f6806160269e7f518fbac89b216f34bfca06e2eac9b1722b96a0572c36ecfe8437690a223d8204b01acc0a1a787edd511bdab885d05172f75ee4e60cb468114f492d831529718389fbfd5fc09290ca83c5ba13b699bf2e099aa8e35661433e474d0e646ef48fbc464efddb2293c6f7c5367052e852d5726a2418a0eaad95816ccb9e03752d6d6cb448ba33e9c08f70e3bcbeb3aeb4d86898026a1ef354da7def4904a7e06d8ff2fe81e02a2cd97e320cb3055fb7faf81c0e4edb8a68207e36196002077a0079388e1d2ee314ea6a439eef79ea033c7f72c4a0df8470b844e0a9086e28005b3292bdc5fc697ff8135b5a3ea97c07ec3568cf69f09b35d963fc7872bf95c9c75d1a0ae8b83b9bbf04c3a0d0d6fc66a9e372bb2c8125748aa9453f1db0a649dad68cb88c132cbf582b07c8a250585a9d34727a86b76338d65b4a6245dd5d3168d9a207945dc32d9c140e967557af18eb560769a9b74474acf43d9967080252f60c5c91af64aa0df4d362d52ed86d5799332498d5270c93a81b233b83f32e6a3c5e9f9f58ba5a3dcb3f45b21a13991c2c990418983597567f552e25ce0c0d4ed8b805b0cba65f20c2cb0ebc7320544ed08f2ef2c2c60f80e02d7d027cb69af3a889284b2a1f76dfbcecefb253bbaa3a8e8172b51c94d24d0f3fe1b0d33151ba0ed9e90c36838a382b88cff52610dc992a80728964d2c455e9da607460bf87302228f44a08eb69cb88d110980b74f40be67f72d751b97e8ba0a99e7e5f5230168b5467d75e29f32f4900a17f9ab6bab8ba1e7201c1b63b4b52700f1f4cc3d66acbd1e2216f610fb0d4a4f3fa1d337154f5d5725bdb466f9c0d77b6ad5023bd11986a6715793572f03d20a99f8f486f01df1b724fc0d0ab2ec774f57974f9726d2ea6f20c386a53fd9dd663b8742f877f04a9726148620305cb32b8bbd6871e2052fdc857cef31620f0371b0dba7aa4ab71f5093c091ddc736959d94642f1fc83cf3bed866ed58b399ffc7fbddb7b16ead28069cd4b73c21014e96a331de7e4f1013b9e7f8b46a7cf7a261fa620b6e6f9ece372cfa83ecf12eb9ba2e5d52711b053a6f7c7e47624c115b1a1d1a08b9bebbdec722bdf04ddb82b73cc38582320a994808c660d59bb81e13aba09d993de63eaa27257d02e9289cf3865ea4d4edc2ccd29b12a7524f1660014d24f8224158692103135cb63e92fb78c5ebfbda00cb9f0594fa5bb6f7999f70ebe74584d39449b3d72b9cc476ffd2629db7817fff1a1ffc2d446825381c1398ee20af15bda43296c723a6965fdd1a6a7dedcf4c26aa94f1037b3892b15c27737116488e3952084ca728ede8642b46b612a1457040465de02866981b8d69d8b3d2290325cb8a755e73ab6ad1851116aa610d1a3970e1470fcc957a4290a59c61907c82fa23af7645072ebe8ab9fefbe476bb8e2643a8ea831150ee180f90ebb9cfc9787f099c57a9c72626c00dc858ce0e053417f496b06a63e7404e030fe3051d666feb3cf5d43fd595f15441874a8799492fe83b5986a3e97b5cf108d8a115c2c19cffb281ef9aa722a71773b386c192bedf4f5bdfe74fd12f7c0d7bb66b0c73d3e7443503dd6bb7243231e2d57b8ae0efab388d5a67823050ead8e9d095fbc8bd071110084b6e27233f7467a4a7bbcffcc566c75c3ea7dfb4d943ae8da77b63706ee91b319f2441390a6ba7fcdfd90310f40b9b2274e3a8cb51ac1b93aaf3359ff62d5427489a672ece0d6db8252c0639ef6e905ed3e96c838d9d5971cb89ddcf65abc1d202ea072343101e3c183bb7c4aea6f31c0029ac2d633db9cae78e3c406f50e0f902938382664320416143d8b3dcf8465eae4e92eb753b3b64875cefd41e71f78a65064720b13e8c2a37a20b1a3f4516b8b926da875cac1764204c91848343c7bc46b7e72e2bfd784c33b995b6f4099d7ffaa2ad364e3d9c67a3d639d9df7e6bd658d7e72485fbb12fe316087a054a9a4720336b0dd53d35f34638425f350c1cced786b4cc018207fab1b5884f1092dcc3d938a3422ec6f0f986f6a96775e5c90790fa472c23b097083ebb439fee484ca0ee68937096df1d0686ebd9fff58b1d95bdad872aafb8fd515d3b9882b5573dc1533fe231ce6aa738c8e1b6a758899ccc775f66abbb4da519fa73c4149f60f579ac5febe3af465442158519906352c8d4ea72c23c2bf1ef572fd0b182ca9a87c6a0d315052fe950a20e73d550c3165fd8ebed772685f65d292a46fc10266f444bd47db3bc26ee0cc599c792fe51412b9bd6ea52a46d229453c220b1d51edc5ea7b757e8b5c4c7506fda1395ac182cb420453b00cefbc336e70c1f88748f652df673a612c4e3641fb7015c61357a9aad983a673726c4188a02aa554432ff84e161d91e0ac51abfcab16af242bd210efe68856e459119658a9bd9e2f0128f5aa8b5552a5abcaa9d9e9e9e5e8110f9a022c779b2b72c8dbd0ff908684b5193a49c08041ce0e1e4fd72075b60e75b876e4844c709213652ee2ec2c4b2a20821afcc6a814ae90c0077feb52abb9411896b1ff9d6f9572a9a61ab5aecc17d9246b3d4320302524b12af3ba6dfa54d3431c32669f115372440e002345c1e74a038e0e3b38f21ab28a84ad3e29e8bb800c249b581a669472b39c69308839cbcf9036d9942edbbd095c87b1633a9a76a26bcb3f1e31312d277747640f93b1bcb6f5fed9f9b6f80f752589906e05115f96d37e6e1bc48aeb728524202ac1edf5333c347a495cb7b853cfcf5ace51723845916181ad616b8245a2ca7461699a40239ec0c09d5be7282627c8a84455fc6f60a4407299cff0da72b6a9a499494e83f5705b55f6b15e947fd5f9a2b9e5032fa453b22e3fcd3a9c725f233bb8c569257d6eeee25a90041ecdcd01b396b341a82248bfea4e77a7583a635a154995eaff8c492dd26ea913f2137b4e22fc29d95de630be749d4bbcaf2aaca6bdcd3ad1abf6f772310e159e7a2125e66ddec20c85ea001dda87c7622d57405d4b6caf9d4f099f7c47beef0ba0857ad5f640dbce2ebfc43a6d9e72ff59726e88c3de1df6af6b5ca35c4c32788b1dfbb431d8270d928be8e7db28641c97729f38b9aa6ed606d0017fab38918e84da51e9283a641749f17c655eea22ebf66fbe0b5b2fc2fe8ea5ba69806286b0d9ddef46fe1472fddb984352d70689e76472ec7a620ad83155f9500323b1955ca69b76092406f1fccf28a8c6049eef38261854e790216f5f22f6c6a836337425003077b7c945b46ee8cf5aed8b678d223715c1bafd992faacbf1e308f773060852823037642ccb0758bb65585cb1a9ea98612b8f9b1f97faf8a841b11ab11ebe9b61c3d7633751da3b83f989cb918288fb3947706f8ec6f016bfa350f1db00dc31b58f032b00ad19a80f5d6554d061693c721b8eea2732a65fe3ffabcee6985630fbb529ed030dbe3a4ce030b838da51ab5b9af9d54e225e50e8928543eebcc38a4fe5669d4260f04ec5891044515c1e1172e3c24bdc80dd55cd0481b7a4c19a81056eacb41c19235a1231d8a9d5dc2dad631a8ee158d5d0528530d71440ffba6c3d55bd45f5a16d3729f81037776ca81a722d5e01b2bd17e82a17c9de0cb4908691715cfa6450db7f83ff5d5bcde9ad0072e08f503ba51c3038d3118b5aaa94b6414cfb5791e9b44b88a1cfb8f374f58072f844205250264af1e1770935028a2a787110a358cd77e325104c264875b0e172bae6eef3044313f6abcb6d134a45eddc040dd7829e1727e91910e4f2cb92db72702169bac8ba91259d65af162e59d10a874ecaea7504642d3ccfad3c37d56d7295c42a68a993dd3ebd5011ef8c7311e0ad30d45b95841074f56a2500ae3c620205818e90587541a16077fb77f40f458d85bc61d618c95fa82a283422ebf4467255a1bcc0f47b0ee80b455956171d00bf9d4c917d80f1e8902e899155802449283fbda9c91fd90688333f1323a325f90c44927f7076b74851274f0508546077081e48c48921e45efc2d6df620a37d5c59cbfaa1ff514f225562df0b12d1a9d472b9e71a20d9d522c7d245c5d1e6cb95ba50190e0f332803c53f90103a6db855675a9a81dcea0d9785d66c99737951ad8cb18f769e61e2e8ca4e29dfb8200f556923d410c74d60601e18274cb60c03db5642fafc6a87fa375aba89ba2bb5f30b72bd3186826c9bf128b3aa690fd41f0ddf7bf04916e77a0821654fe210c9518f33a28f5c4b6dd979bbda00b114f2b0bc322da0abbf8d68a8a8bf7387c9cc1385722f4b3075d4b11b230aa358ca2fcd90e7046d63bfb152b4760394de755057bb41a017d0090b5784c1ea4b7e8506b8fe819997a4de6ea541c47dca26fd6fd750729dc0bd265c363d83d26973abfdf31691744b0c13a9ef7cc73b668eeb1718ec644624bf9fbf5590987e7f8ca5fcb83e616aab1450ba672a67eedd9a5e6f84a872b4ea9d435eeeb61403cda533ada9fafdfe9c436474fef12613d0f78bb118a1340d2b2c35eafc48eba9ceacd25ca45ab36042a754edfe0adde9b4e86f24098a72d41eea6f92ae8365204713dc5e9585b5d1c6c400cc4170856f137c1c07d0937209bb4fad905811969f49b0f6028572047f7ee9ddd752d68acfcb2df00dcb1a728493e30fd3f7dd978eaab2c3a87b5fc2f330bf7f85b51c25c7ef9471567ff32a56efdb58b4a51710db1aa2d4516c1a2b144f5b7b9e302402a668457edada9172b824046d6351b2620f24a88532bef9ee6cc4c323fbe85177d7b285a43f788e460a3ce877f024da46e7b7e765f451b7c67098164327aaa1647470c83de39ac172721154ff3a17188d971131cf0c93508ae5ae116bc1a731b49d51390775001d083cb9746aab82c33e6be57bbfbee8b3cd7432e579d03dc7c1346ad35c403f0172d6d72acfbdfb272cdfbc51ce7be545deb9d6126038e4ac0d9164f8d8fa247a7221f17b2f6b69482da8c5871fe39ffafde879efbb8bcc61641f6eb2ab0c978d64b505fc0e791e5faff0a83b07613474580443296b108529b0b6bf8651c293c272aedddc37bec069b37672367a881f5f2a4def587bbb96de2ef0ced337d0535f72acae034abcdc0e04ebc227cf4b4dbf065ca12bdb3f09d51b15f9f2a3b7b777391b0160556bdf77303d5f636ee73458c907b2061d3c66fb86b3d5fac771626172702ec12703895a76f88e6dbac0b0c291063b89a3102ed2582c685333b48ce83d06159e0c9d6bc4fcf38692622f19297c7d676d80419109b105ef0b21618d5072df10bba37e73e8dc70b541360dc973414f0e36df46ec227c2c89b2d05882a5095514a18c8c8921dc762914ed290c8bf465c201cb85ee5d22ad55929f04e39d72cb8cc4393b841dda93944d45b1cbfef540ebe9c91b6f4d728cae30cbd8c1d7727b4e17083e47bcdb061abc70911f98292dac71a2f31c583db3d09d4df61e9a72522c1efad711ed850ef64eaec0d56ea82de67bfbed69e9cc455c428606f09b456a563cfb384b9df77a83e0df41029dcfe65abe6a02be117c60114368559c6a72dd00393dd972d6751884bdccd4b25dd9ad523739893fde9779bf4f4323fcd33ef3b9f0c8e6bcec36e60fb6fe391e41904be103fb041524f90b4a09b94a91b57262544480ba8f83fdf34131f48e47c6cb65d23f2f3e5f016335d2aebabf261c72b64c6b432f441fab3225e0a20dfa98e2189ac375a1623a9a519c8ef5dd06cf7296e6ccc83fd423d3681e9668fc9e0144908a30794f306f678ffbeed1bdae1a72c6f328eeba7d8dd1487c78a3d38e3edced7d3a4b4d8a5cc5c6a51f6d3d18ae71511a3e14965f1e82a17da1cf65ec19fec28de409755cb62a537c4af45800bc72dab4620bf125705056c62f54c0d95ce8fb652a077beb6de1911e6a3e4dbeca72305eacb63b81a5a82aae3f165155bf102adb27ffafe44b1826443e29e5c8cc72bb31e9f2c4801f021a63792e8520c55ee8e01fbd3986d12dfa0fbf135ffcc57268dbecba066282abc3a5c90c7d6a3390a5b355ca772582bba744bbbee1ef4b72519908f66c77aa48d6149296ef8ea5d755e38bf974fbd8e4db72abcd18874d720ffa2cd3dfca21e1c8041a0db1e05fdfe7ef553a8791307e51403fce360bbf7235b446b7257b37efdb7d72d1d9f871defb5667b857f2c19fa8acf158f64f8872bab69a0e186dbf1f881d3a03fb9cc3d5123aa5a9cdb59c46f0c17dd4275f6a381444c947c612d98dc08239d2759d0412a352c8859aebbbc217eed6b2af58b0228b9e6b003b1acb4a9a12c52c22d7ae3839494353265deff175d3bc633bbcca4c459fcadcb43276327e224619ea02f01cb37ccc41a39a7e67bc943474720a927201c333c9c3a8c30b8cd88c27f9db5352d30b0c426cd89c0404de21f0a6351572fc18b2a7b730eff0e04630b1decd2328ddde51dd60a3ea45bbaf944b89aa9f39a18f0e8ffa26b878ecdf246c72d4e4c0356a78c1fb1098a3096017b16bd8a467c416e94360becb7cd6a06e1ed2ca0a4723fb7bed5267335c3d5a098b1b0fd77288690856fbc259ecf94e9c800c903eb7f6c5e5910e63dfee5e44db5aa61a4d726fb874c8b17cbf457f240b3cfe2a54d10b20e3c91dbdc7083611d3f3d5b655726d0c44055a891bcb44ef1e25b485fa4ec1ebc60ec57f08561f82f799774a9972b745c51d1d7520ce5a2787a3a4eb68664848e0ed32ddeda4b7b8b1bb722e4d72d2a9515229eaee27d5731889e0ee35e09891d5a3bbb5aacbf10b984dd1dc375254b86bf4a2b244753e6ffabbc5fd37135801af3662b16dca800c8b2bddcf682198ef964b65dad64c3e783a9cb192fd8bc73811309dd0280482b1512873a089723705345d8062a840b9a633cbf170860e6750ce8a976afb843f41e85f20386d72f2b411abe9b3232aad943386763166c3e343938912127b311cb74b02b22d911e2157dd9c9fa5dee4443b6227ba55cf6c254cc04e51527eed375431cccbe30a02d7fd368e00e985016c2f5e8620d407dc00d1a245ea6f2f0a8ecc9e010f2c4872e526abdfa93e90abbcdbb863842d2b4888bec063471ed180c2f527201923d64da62e5758d2f057df07b39b1ce6028be103aeac2dfa25e92f203f4698abd261723c230df966d1ddebd703cbeba40d0f67aab4582d879a5ff07ea299779d801b3713cda840de5bdc2b3649c9b780aabcb091070840539235c46bd8adea92e53d1669ada9f7acbd7a6a284834b0252f6d0264ac73d5db43f972df2e2d89237b6d72dacf0b6e71d73128c0837b4834eaecf4a0afd32d66d0b5a52f661e69666b7872a97484e277880e15d39eeed1429ecabb29000df51e90e16f701ec728f5738d05e4a1b89104f8e9f85e8f5d27867c351034da3f70e42c4e7e263fc8f609d233532e2f22b7bd18033f8626fc0689685913156249fcbedffd570589fc9cf1e6797267de7d2697760b30fe9787ca4f2075811152ea95477927ec9046fdb5527d9e703494d0927a6086a465444ea1f538c723d7676e076bb99b435274f284050d824964b8e726b6def1ca03d66035b17e3e397c735376de9d1f9ff81687c598475a3314d034cd5d0e0641c01d38a86e8e0c05c5dd997b16aaf9eb7c6c357d4434c613de63ce8475b5daf2943fc4ab4044ecc67811b5c6bd249bc6834999d143c6126d713a1f7caef28d907edb45efdd866d668c9ff6277f68f4e94dc67c7606afec723c2e6ab26ddd21191a8d68ceb9d05d2de02c2c2a575ce27e1dfe308a7dfe970c5a396b339450fa1dd4a2707d4b665c03f72dded47a7fcba510c36799fff0d772ad0a96e470e46da06644dcc5626308d1a9e484cb14579e1e4ebfb48421e3143877722eaa5a4a1de0b45ba70c17ebca869e6f958162230222570193fed1d5966f97943ad10c4b6b7ba9554ec94ffa4cc0512aed88251e33e4c066ec4c8d8b5e4d3f631ffb93012b08dd51f6d1a9c466783fdf602f328d6cff99a25ded3382a972353e1e3c548d08abed89f77d7a2777aded611a81ec7b48e34f7adca01b5ada724c4e9bfd78a468c353bb19b3b767b5cbaaeff29a5b639a1b4e2095afac28df720dd0fc201fd46ed50922720f9375021cc386e017f81a44c304bad28e16707a6b686e5fd9e83008dff75801f8cbf5a16d0a87875ea03670dc136b48da0970553c6ed214956f3b72d3f83320735d02c94845f0ea9077e3e722508f411fb5db394534f8dcdfc095e6b95884acc8dd3c653c43f719f7f9e5aaa530f8b6d7681fae72acda8d75a2d788324c1e1a54c05c8ffdc6eef0d61970978ce4449a66abaac6723457112a8c665f2e98b3e658b2ff22405f47059bc52ea52504a453a85d6f2d7294debd185ecb4978256300abb639b54275e7368ea2acddb3ff161b197e05b660b932a6be983e9d54442f12f43ad5ce21839b35beb96d18b3c48f5b6166a70d72727b8f9c86dadb43023a5e7160f5c53652cf75d07af2295e35474513180b057240089481c0f2f02ecbb34fc785da3b7dc158e26a3dd24e091fb5951930487572bc1b361823feace7895b85e15e68eacef540bbc11932810d0ee8f450d4750272b3a705866a77a3c1b95593da2215ab53488b4b41b4598f1caa78054793899272537af5c9c78b0f321fd66cbed4aa6aa12e795920d3ff336f9287f0664652d672f306e73a20d29d129f242699ed7468e0e0c1238bfed0ebf73625ebe4c5b0c2727378601b8a6f3993a7451e3386920aa6225b14c92fd4b56d114071ce8e470f061f29cdf4dbe13a4422892e2917cbfffab8693c65a304445b0669a1b063b89c4dabbb8a1209cb877eb33ac970ee98ac6f03a099b154d58ebc018dcb9ca0bc2f0edf1952e5884ec4a06801e7d5fc42e8487078e25282f2e9dffc465011f62bad2baaca9e8424844336ee270f357f4262abe3773c5172818e4711e73bcd7fec4e72e2c8d1c7228ed2778c32511edb89a4d3e55b650a2f57aba62876b68383a18672f9ab43429fe60f1566ad4f375344101b1a2476b5c5debced45dba0541155ce72ec1b60987d26fc7505856dbf43789a4eb9341ee0ab885ec31b2c1f448d93ad2f87a8483a13cd0cca0ffeaf263f795defa6937f2ca1539c905795ff6d3aa68a729b5786f73e0f364e5f0ac9fc45108fb1cdd0f4bb3947ca4eab105687714351384162f5c7f16d4f88baf39d71f171a3c7487d91d02ffdad35f9fb0a3d40a6db7275b8058717333a195fa286ac0c4cfe0dff74046225f1631f898eea2b6afdc2724938d4b2389d43d879b8767da9159b58e40a203f7f9aeb6cac0cd10ce45002720380a89f2bf38d3f7c2ec79f0973f8556e8d6b176355a47e1b2a768679d757278ba6e11c8eb2ce8f6de0ff7896a56682b7a1e13c1105919a5dddf996b8ca8d72909fa9c4751b9fe64f80aab631e5b5fe50c0e9cff57c37bcb948762dcdd1a929e8eb8d3b8d47367e7f5a640ae8307d9539e22cc42d8c68ff27b39e2882854172d1ebf13883a342414213a6b3fede3ad8b72deab8d7f4f762d31220bc03eb8c1001ae13ad4a933238d29480dc95ec4bfd273ce4eab3291b7f106a162970ee886b0ccd0645afc0e5c35cf93aadeab3efe3062df5df9b9522165373aa2d55dae672fa33393bb96ace7736fd1b9db585d9e96aca1cb3f48495cb14b0bdc3cbd91472d211a01f3fa4b1553f1cbb630fe84b771019c9d5fb0b2c29a238c545c4385672c0e351ca82950abae5860fb8d5b56f39a1fb1977c18e42b5042b984f2f263672dc49448f5e980d3569e012fd55c51bff060c463b15fb4e043c129bd3bc163361757fbc912515e2894bcc0cb13abce9f64ab4b014a9cc78443376b9fd07ecb572f05456e159e80d1f03c0623d5f581e5cd89d1e38c864c118032c9509b3f62d298000570203c007dc48707e9a7d2769b077618ad7fa20ceeebbcb4dfab015db0f3f87fa807be49c4b9b3d4a03087417e080fe66fc4336847f70d03fe7c661205edb47bb57df0977ce6921da77022b56e0f79041e7197cabf81b6496a59d2c197295c278844e98f9e09429c4a4a031aced8b7306db9923ec33f64ae2ce95e16a725595eb54527ae9ef0c6b102f887851411aff0fa067b00598d617595255a39a06dcc3d83c702b533b618a248f3a45a4583e57347533f52c50dd9ba6245564fd6825f7e12cdb851373eccf3aeeb728e705519134a4e22972059fdedca3d974bf1c1f3f69f329afc4f471356751ac5aed0752f44f543bf56a54adf01a65d24734725a9a7d1044e6a1f75ad53982a0f31463c322601a110b02173d31d8ffebdac322ce4888e45aa4b96839322c6863e9e50cac9a3f63202972d232fa85eb1c92e072d9c6f0badc8566ebaf54115f85f860548f18d7ee68d44b12d6252fde16891f64580bb1f2d5c45089f32edf8e4df538afd94230d25775d052f4ed7aaf3746ea10d573969e74d84ad85ac8d50183cae76c8baa211092c4485d28d89efbed5a10724ef9b746f90f2a47e601023c401080ea1d9f17beb01c90c7e8b6c83c0b8b0872be2e0db6151651dd6a72dde577c75cce418f311a5bc8e8e48ae451592d551b198b7f7f751472b449ba5bcaf4b8e132d55a771c2f890c0faf3edd1473cd3f3572e7cbcf49303958567da71783e2673aa485c6385343da1d513a1ecdf6822d1972b73733cae2e0d839c4d46b63d82ba54ce781f21ccf83302eeb3d1ac48ccae132f9de7c93c40142a9ef0de1333352caef5689bd767b01c303ac6b6efb2283da677340bae6512b74cb2144617ffc447fbbf099d3a42f6e52d7595651c098d50b72df756f32fdffc65e1285d4859561f4f1b5ed79d225c1e1e1521092e71983d4721274835d6dbb23fd6abf6915c43d0dbe46c608f428683d9ee3bbb5c782fea73ca8d55726ac0ed0bafbafac76cb12e9cd3a8320a7940a24984afb06aabfdeb117ed31f08b3ed8d1241fd2b3bfd006104f927d3a6b691733fce489281706edf07242abb3552e2eb3904934358e2742a41a757f29033cccba133d2ff6fc2004ff7283fd570df2791529e77097366381a7bc87e12e3a68123f5f98321ab35fc5b172d55d5c435b6125e26a0e39e389bc157adc3c33aafb4986c1bebc28ada138647289745807b1776b2fb44367c1bb288097910b928e4f8d97311476aea206004a39f725a107233ea586051bbc549d620d6d6d8b2fb9985376b3a185d5ab048cae72353fde5f26ec8f0a045d20cd125f496a872ba40641bda33f2119c4f991372c726f6fb7be7086ee1c48efd86f83e65fef3dcd28931a240718dedffdc4fc04bd296a2135d097ab21a827fd3332988a4109861e847cbfc9b722227df716091d9872706bc5918cda3374cd34afeb3fbbd6be48baf705a2ca138cc39a740f760b742b49c98091edcfa37fc62e13418134edd2ad394d069b899b11133ce303511a507294f8c7edece587664ca0134324885a311d02d44b5d92521e87affce1596d10723966912c3e597ebc646e0d87070b3960a1f6e50be61622a068e2a9114616be72bc64830e92bf6969b9ffadc4cd967444810f25bda2f6c8c3176557375dcb3b728801bd4716e1b852df1793f40e1bece591fc776d88db65c98ab8e80a66b632728f4ec040aea0146314573d7ca9caff10a697340c5c160e43e60bd9f82cd745729da8fe4f18730f2a5d966c133e05f2b6f1a79cf004245f5928675b94c6be60725e7202d8c700be09ebffef94eb1ed275d3afde400f70badfaa198244bbec567257a8feca786a500a023780191f5fcf0a5cd197a9b49ff3db8f2bc6d21d261b06465e861a6e7de5faf0738fff37e1634dd80feb7fe8e21182985faac3ab21aa72ce829bbe3a9fb85434205bebde5d3050625b6d2422bb9885ea32b90633769d72bb0864b33a03c0b102a3d3e08d1795bf46eb0e6a9c6124f6317aff0607743e722273eb1ae688f59bddb36b06ce59ee37e621f72192ef95e2d2ae48159b73397238792e25d6557b250c07115ce3320864848909ae3091aa85b9622f4ba0ae0a2e75d069d2ed6fad7381e9445a478255119d05b8e1ad75f7afac3385c3220c843c82c8188dea4b4151ae287955160baa706c153173a708e9cee75c3359c4b5f90e0d253e01c3152634543edf6d047daf71cd2aa02e12e737b88fbfb4689c56370aeacbc4a8c61067211145f86ee1a4c5b2172d7714d75583e46bb4b53a99022272670ca44249d49a30a045db552ebfe6dfc266faa2e77311460994109e3dd3d23ab110ad901e92a45109bc0874eac9f0113a73214fc72c16e6ad417d84e6c35a37da667fef98f435528d6a2b153385bba4cc98e496b7fd19cf9a85cd28f6daf972207deb5b8c30bdfbbc468ab638bedf3c63c4ddf2249439138d9b06a8d2235d72bf68102b177dfa9be09b314dc4b18ef134ee7a7209bd8ff42476b16aff641a501c717b85a95239bb4a801a29d7832eeca02dd5886b6a6a456ee7113f74e8ab72b5c3b53025a4defa71d34b75217d30ae45714e08a1dddc19fad2e52e56a14d302c003a28f0524e719d1ea4cdbd475c049700feda2a5c9714923f66371649021716d539be9055e560ff5010e8757ce74293e891bc536f27235411971c9787aa72c7491cbee0a49c6d3bd263d3f6521bb244bec743a3ec16c655e3e97143a13a7251d6a5f04d5267dcbfbdb5d4ea719e922408f6d2c7b6ef02ef19a9d44dc19516ec554e8deb1bdf17e34d62f8e5bddb64cb7f34ab5d4240d4076c4e4ee386dc72cde3e6811f0ca71778b3fb494b216af5fa9f483bff0ff81751d5c5bc8982e6134189ea17e07da501d5a8c76b0461963d2e4352e2c87a5890eed06d6cd1b0cc6255a1bc9a2b1f5953a95c5880219aab8ede3ce25bd72a042ff39427bbfc45aa72d49eb29f2c0901dd069226a2e216754bdff448d996c0f1b643a24a959897715f5337652a1b14280b694736c93a5c3084818b206fd0c7a30c4e4cc4e4248e6443ca4d2ab00988dacf6d49a25c6bbd74b7138f11e6acdb2f155dc4650ab3627d1ec9b16043a66a22de0261718d3568bfffad0ee757b42f441015790754d421eb728ab66cc99714e7b5842a8cca4d1e2e8266a1e5a22c21ed0e68305ae83c7aa550d723684627f96119fe48989d9a278518fe2ae4f9b18427cf7044ec775c151f511bd400a752e96e5011734380fde509e2c386acf4043dd76887a6a1c1ad0d240f4d5511fa64dc501e7d1d905fe555fbd10e6cab99a52de2a8bb6d16d5c6241d72619717c2092bf53c38da25632847f62b9b9199776652e43110bd26fce38693726e67a6a2f3bce9316feadea571fe42904ff6f4104dc612f84905adb0c1c23c724cd28e862f6ae9a7a1b1704e25103d724d41444c8bca010f7af4039c3e9a21259b8c24c3f3b708eb39458cc1050ef02beb71f253172c4f276c405c001a312a6a5920c48f25b02dd9c8dbe606683ef46a740e6781e4555749dadd672db5f1be1cc6702aca3e957331185143be782bc305916cc36eb7cf953a4321ea0d49c1a14425eb8561dd951f7b84643e757bc20a1792779b6f7e417f0077deb56f68f09706338ccd0c7e0428c1dc5186485d491a29f5b19678a4c0ccd00bff94960c66af4b59e80cca41ce3f80f0b938bd86097f19c42b599c1d79baebcb74e4e38ed38c725f93a24fb04096717dc2e99455e304ed205dc3f38357d2ba174df513a0f39e72d9f004fa482a2db5db551e31ac706a719787c6bc1f3266556fe27663cdd3a672442cde30d7f77451b42574edf615b31d3fcceafe0f5615ec58215cd88ea6fd49ef4c1db3b94b3ae506a1a009da10bf1fc9bb9dd193ef9a045399858f21cd5017d683bd9ccb1fb4d3e9de2e382c8d7eb37cdce5af4dda57d37bdd6e143c4c5172145f1a7309a90fd828f44be67f0d391ec91f458c207560bcc88a3d867342aa298cac112ab9856de56296d8915ab3913c2c7dc2033605df12e3aef01a055ddf59898c2878c38766751f99bc85190cbaa13845aeb824d508922856dc51e99b737259d73afdc552d818962df585de3e1404be1676c19df8b23c5442127010a85b7275039f018501556ac619ccbf45fb8d801de8f098c4e42591a473d1c39f32e61e7807ea958e6fa0df7543d0ef952d255baa6e152c3fe3624f1635fb513dacfa7275d4f93e0da769f25efaa45e80c6ef41278db88f5778794558ea9fc6bae52372b5332c597bf361018c33c042923e8fc620f2f5181d1d03b48e5c6c34b5323c0a830f384b36e94422f55af5b45b7292c6773b9857e93461e574ee86992c6c9a720a703bb97a42e03dc01a19eb192faff34d14d04716b7c4da99c80c391e65fc72ae744fc82a147a80badb35162d8a7815f3b36740917db323daa40ff85c68b372e40bce6c58b528e007d75f376a507b9129a14c97f33b7b7c45389ac8e86ef569733f1b6921492c0f3e2cedc30c9fed1333af5c1585cda8fb34d010d839cda572584408b7d1ba2cfcbc1900a01e0f0c407652dfecd4293e9f277f096c8b92c572315d20ecbcc04e725c5943a359a9afdaa8ac3268054cb454c6034d3896e081485cd552be97284e082fc3e6fd04de836e52356df0f05e38c1dcb837b49dd5427202f59701f84db076f46b709335a9d960e44f80f8b4b2eefe6ce79f2339a3d2462adf5235c19d2f4cdc2abf09fc489eb81d862fd4737452e9937525eaece80f72ff37e80589fd9a06760c25a336c3ecfa7629e70716c3db9ff585b378e30c04720015f820c3bf361c4403e85a4a948ea538a7ad2f32cac4356c33f9b5985cbe3d6ef70b60fb96da20478097801a32d4485821af2e2038d9791704072bf2740c72c01ff792a2b7e71a0908958d412798b78b1ae372c5383549087d63639f45df72203710702c8fd090d7e45e5b1482bc5af1b90a6b70a0b165a10d39ca71127a72dff9ed561e1936fdbc5d30f5affcd2e7a63b1ca74ca6aa17d48ae3fdaf2d8652b5fd251f874651e1790dcf67d243e6605bb7eb5fbd70ba6765c158665eb0ec5a248741804290bafd484e60926e2746f50d4a6419c149881cd1a1c976c403e172c8b20cdb2367bf7f0a6b5a26769b0001cc929f60ad3d8c89a2a6b916361cc472b87fca7a7e4ea5d3428f54d773e752aef75e43654894a5ca0963d853b3d1bb7226652bac12cfdf292c11795df522de74f29458804022b8ff258e5667d4a8cb5c73539b032dfb3858ad80380f8046053e6ed91f61c9e5844fd4f59a5d37f03072980b309ea4448e6faf9f44c8ee173390752c7adb89c4a087856be4b7f56dec5fbf77c764f2a9f1d148f5a77a843c21df70ddcd2c26ad86e461056bd067930272e16bdd8e90bd1bcc4ce407b833ad56fbd065388e00a59ceb67ec3a41192a8b72e201616a461086400bbd0403e5e603d5a96ead5d009e98bdfe979cc38233c572ce2e5194611986301112449ac343ebe183d15884bd133ff02328cfbfe6e6646889337ff362eecf60a448fdcf2fafe3a3e49629ea318d51b72b851e2f166b4d6ba3d68d6950fefc6cb98a0611fdd8f8d68d3a4648c6c9fa308ee1c4a5e86a32722e1d89bf0db9661efcd8d943f44d665a65364cafe12571e69b2eb458d61c4e721b16e1b6c516bb0161534d218c92bcebb3fe16ef60582e2d94be4f4e86007e7201bc44887d95595266728d1d5f101d2e9030e667a895fcd43927468a2f2e3d3360e9449e4dbccae47f97e62729b5bae37d8ebb3d16cc45698f554849e276da3c14246f97b0aa921e4db0b94d52a9682c8e9de42332ecf0c89c73295ab3c7dd631ea5c6d8eec2e68799b178d7b0062c0553b29ab11b00f8ea972a86878e66b26cc21192591bb33399d2ecc3a60743e817d55e4e10d2fcd9d2907a5184ec836e726a59c261448c70554437d86960cddfeabfd0878c0cbc2af5c5be53419848b572373272aa1543dd0d722d3893377a497473399712d0fdfd6c77dc74d56700d3146052326d60b2efac47713b81f22022ceb2f4d727db7bb1fe6923f555e1ab875cb916071fe1d6d14bcb2d696fffb264b9b32696a25a235cfaa6ac2f963341d272b3c763f017edd4f397a261ff08d05c0eb72ca22de95fd0e4a0b30f5d689c3c0c8bab162690d474a0ae2440a042b7d941d46e9a5e0d129535b6ed1648ba7b99721367c782109cc889d0be64195fb5bbbb176bfcf48766e60ab27597d2903e2d39c2792be37b77c184647100157419d57b2d29d6c84f584f69bc4b7732b694cb72408fa50da4f36fb998199e7d24b2c9e585aaafc1ace59f62c81c04b6fae9cc72562a1ee24dc1457496cd635869386b9b241371caf6a299b6aba5f1a0f4107f296d7069511072582311c3c5c4941c0075a27a3fcf87722f11126d5ef1ad6213082ee9fba543bb510ad4b29f8eed822392ca2170c825ef0194ae545533d9ff4172dcdd11098df7f6bc6a28776f734b84fa45c168690376a6ea09690cba73a55f077a7147984f2be7844165d1965daf729b0e8e7ff377bc32d24dc421107678d17201f83256443d3270b40a1cb59a1e5a406f085293637221177f61fff8628fbc2a1798231431324b77140b6c911419357570451377666a83d2e77a469285faf1653eb15728d276a081b406cac20b67404e9c5b266ac0462af0867040d4f370e07296c8714f9985f1b0fc5843fab40afcb5524a1e9867aa6258b7936ef0711eaf0ce03bbdabb535d59f334a801ef409f238dae8b7ae5c1f39451af8dd4768f899729cf4fdc60d34a4f600244b484b40b8281d5a1216eca767eb806b9528252875726ccebe4dbf0301b49fb77d2480a5fe2f7062ed101fcd7c816404d1b7e5a5c704698a050202ba7585dd77a36c7894530b6c93729add0b839a076fc44c9654397014e0235aa5e157036e75c731199f45ed26866167f1fd035b9789e6f10ee3e27233c971f4cac2081eee5887f65130533252841d790af95d28400c83e23ca21f7299a30f1f84479b3a6d21e5ebec687764f15d609cd1c53c2e5bfaa6712819540a4ce67257fb52825b46a9c8ecb6f6a9cc95c8f7502fb412a29592fd10e3a18230181d56b6031f22b7a9a2741bda0bb157cddb7ca0852746b50357dbf24fa51658ee7805a6e6901a8dafb0f5c98c4d9ff713b2de0b64b411385d7b3af71edd1a366bd7e26dda432e2bd6e4d1cc41d9620b74b1a9dbb7ae299cc789d477c719e172a098b6f5af0bfe7cd515e48958094e57f67998159e0a2787cad6f615c8076617fe6dc8cedb3547aaa9d2a7649ae7bba87810087155cc6f08e4c38c9550085f31010914617a540f4f482a29601ac3b59c997793f854a84c1cc5048af262e1317296efc8fc19c36389a3abf2aebd238dfe75cba59096290fa91412babd093be872c04001e8c376ce799fb78fbfe608bf5b0c1a517bd7e4887c67c5183fb8de417229c10029efd9ac5138559bf6aa10faaf1f83359e00ae0d15c23fd9afb23b85005c883b964a146101f210fb1a2bc39f6b6763e89915603749b264916c837bc972ca84dcd7bc0864daf60b87652d6bbd4017a68896eb141bb4d93da098845f95729d97d47dae67cdcf740284ff59dc0105aec2c1b984fc520129e9e60b2bee665c53022d2171fdc9fc1d314ea045641a8c65c0834181ddf7f8bef5bfe0de5fb82f72fa2f2dde6328c714fcdb2b35c2a96dc3c8c47c531775a0877279ab9620177206fcebf010299c3a25686f40e0eaeaab09180a5b6f3a90a1d8d74e7247586672613e36d00e49d82ff407a9b401ad92af89777232785ce50a4579002c1189f04f99829c7f845ad0112dbfd0b0475dd42175e2446b60db42852d168d7326cb9171ee8f647dd582c92fff30a6eaa38683c35333082d4eef15563de98c6659354a72b6ee91b17866d763913f14fc9c2807826176bc6147795600bedd955627a1a2448140be845796f063e87dd1bdadf89108e79cf05f4fad612c2808e75986fb7f729ca3ab2cd36b7d1c2b59c78fd393ff56f755b4e7b42e479fe064016dfb13f872fd314d38fc2583dda2832ee8695c897bc2e26d48e304a6d7e76cac12d58fb3515b5e88da7da0b35f1963eb660e0755c39feadeaa5f3220bfc4e12e5fafd482036c7513a0ac43cc70e0eb891cb29f3aab3472621691d5d2ab993423c39be39964c9cfc0894fa1d46ef42babbba42a62a3d59efbcf064ffb62696c2b183e6f903d433f50403c6ee325d5d4a571f33cad7eadc444c98b035fdf463480f6beb50313900a3376da1c933b6429f3b0e16be40bddaa73eacf7fdb5ee6ee23f931754972bdf563e48a57a9e316696bcf42c6929bbe8b09dfbb78f6dc892e294282c43015a500baf5d4cbe6479454b6c84381b91e1e905c75e18cbcfceee6bacd09ff9f723e5ba1603cab766327eb0e6ed551ac61d89bd66cf7bdb2e301552ff1cb74b42e9584c0d1dc497dad6959bc131675509d5a7c1f1bfc424eab15038c8e2495653e9119363fd164d647f832a9d224b689c1817fccf69770b5d5c60c2c7aa82bde2f75b8653b0edba4e0cbd7ad42e684ad326803687e8a161e155bd559a662c02b724cb4a1b806b8412760ff2645f7cdd05907d4fd9f242b887e020340a38b187c722babbeb93e4d208b4768c8255af3bd25c64908b6c202fb3538b73d2f88273e1e8680f2c4f8d2caa2bb3e3eecb9391c2c7f665140fc0a54ca07cbc01f91de62720188e00f084d24b6bfd922aacddaa69de6b7185e3e6b5fb8b7cc36b041c56d7282ce3afea24dc92604704b0a087e5abe5cb33560d18e1ad5e964f37e062897724d3e4568ae251b2a8e8f197b99c235feb1f732304041423ffd7d5b5d53dce672980e23ae0df65ebebab032871a63a68b6c13f4ed3a0df46ef424ded0a7cff77295197898471abe5bda190c5ee4075a44c97467df06ee56775687d3fe01519e65c726d8e6491526e3c4b42ccd440b00f662546ab033d6482ac73ae47e028ce204ecead987a25f13d7569f6713ff509ed27c1091a1411c902555323a71e5344872138fe6c9764f058339de1baa9a7f548929dad60d7a897f395026f7322c233172301f3527744e1aea6e7ae8cc93f9b1203d11ac5cd56db05c46957763840b5a726c31cc8620f6e748b5c906e0993ac43c320ced7a8fd28e0aec06b11bcc1eac72626baf593eaf1e5873a6a1276e0a3a379d96b8d74b406b340076dc4a2feb2700b8b772cab44c5b59f64cfaa84c210a0d64f89ba2e1b0b54694b14e84f036cc6409583eba7bbf5e0094868c74a9df3966bc526969d854e66f3b80853367f73472ad263b2646bf73646ddf4011686b8f6b2b825f3518ead0daec5332aa781f47725bc30da74b38277989c24022513883046e52e6af6d2dff99d9bdf59c5eb61018dddb2b1a61fe764c8031dd046fc8e2c504c50cd97bb2eeba6dc28929d898c70ffb76e34b2d5f8dedbe9b268fac84bee5d35f591cc5b71b14ce4b6aa6872bdc22781d4b673ade47950f1fe2330e7f25902d900d2ba5da20a0e8469a73d7a4ec72a1fea55626891990c6361253710f3122f680209d0972739f47d9577afc5d7c332e7cd0904ef480ec45549f3a9a881d61be2f8feb47a5e84b8d621f4962a6357217143da4d52d7bb15d08585b6cb015e59a8c24510cc119ddbeb3ae200a1e7d72c358f98be84744708b689811e52423a1e8879ba8f29f31496159c3fbfbe534720a1054db5cba630643a9fd612b6159bcf40c55db118ff6b2dff9ee7d97c6164820ae4b5ad7127db652901491579d85b90560964f71320581ee4a99bd8457d872111503d65fd0bf2ec43890ac87627ea92ea2c9265dcd43f2d117a1e9daca8e72534ca4f662f669159633556849a2134b5513749b19002944f7b4016c081f8b41e89ea67f293f353c95c1ff71dd9ab94647aa79b0d94362a266b6ae9ff669f054a10714d7a8e8541262f48fc5071032e42e42f683b19ed70030dc101a8a16324bb18de3d249c23330c83d739352bc4964ed879cbc6aa9ca7d89736d1c9ac1d0720f5a82d768520605fd93285d259bc14c4f202add8d79ec85c55ac3c61b36dd727919b6154440be164a797b341636b00708388f95ab2ceb23f091d142d04d6d7238fd967f68124982e2f8221d848bb105030bb7d0c8e02a4f782462f1b8403f7231ef1786328f55513949831a014a9c8df2447ab444dcf6f9ccc99c691adf8872024cc12b6fdbb68b583b467acb1b40a7aab949186ab1abd3acff5e454a4654560c88544c51f2c38702cde418a4399da6d3f34e897f5ac06abd9cb440cb321e72f46211afaa9b281788a60d8513d65a1707653451e99aeb3e8ff45b4b65845e4a2c7a9a36239da5d7f8631eda738f439c6a6d1b9ed236ad9a7f5722d6e65cd672d36ff22e0941531643c8a4079a5e91e3c2cb62a1e43782be68d9390e83f1b523dba157e5cfb7ff01284f5a3e61f8046ed489d050a1a550e0a7198b4b75f36972ae87873739aee73206129bc78b8beec73dccf63f272f13a232e43103e238f572a388440b960199fadcfa1b683a07ed2088173a52dcf3de163941cceee1b1b372364e7cf4f7fa79ada6bc5b855e9e46896debbb6627e6bb648d98a55b8c4cb03998010154be953d603c12f03b6a4c7f1c2cde9aab1c1638426029b1e9b60ed810b847d5d8c79f338ffc280a44659f7a6a6a4b1c25ed870907356b6cf80628af72a6ecba8b287b1021f18ad8df2ea4b26d940c323a0276dd5c919aa743aea7e53471ccf52b3aeca0a85ffe4898f0ad7eb99cda0ef25496af11839eb825195634727bc686a5cefedd356106180f76732d2f3bcff27497b6669f7855b3ad6f8b24729e601d64142f2fd3d9de7ba0823605ed7866c36524a586a5d33b6d4a5c8ce272c00d8558d1b48172c4a31713b01ffb3aba8141254e34cd7b00f26d7b0d4021723e8867fe4945e9e4361aba642335bba717262c62475ee212015dc0e4e90dca09be02e2098975bd8c0f48bedc687027ea9aa36da4a35154ab4ef6c2793c46bd10d4c48b588e61d30d1649d14eebdd77b67bc14b78e39bb1b0c57bdfd451e4950be03f06ba8889934ef3685e8305f708a8fb577af1bd91ce3de0a31e40a9f55d3fc0ae15ee4c5c5bb1eef1f7dbb0478919a50523ba19dc0b98ccb4d77c40ad6b72dac6c086df7bad3994b3bab3ef35b31c64c3dd30b3e54cbd7e4aed43aa5705724e1eca8b66bd58704b3cb786ad00967fe27e277c9f2a2b4d97547b5d6149f47262709cf54e599ee3f8ebbec1286d3c665b716c5de678a339ebd7d99fb61f72720691c7c46453368aeb9c8f1118a505753195e5a7c7d4c6a9488dc958335e686350e77effb32585a3d9d2ffaed04951b73e9477b36d344a97a706645bfba788014eb95794aa38f76c058754af26ca6c9e3625dacd73ec89b63298d53d87fb5272dd4476382d9c80a8e2642e9704ffd034b39e94918f0af521e937cb20356f80721041e98a51db3b5a4d887357b5894d2a7f16b80817147f5a259ef2014206f872adad2311729d68141843830feec2f14fb94467a3f73a232cbc19427c61ba5272b27ee41acd732824f2d0f5f9d7627177f80787971222105660f35a3aa245d172cc84a8649ae3b023ee4ed7a22d851f4154c909dfe0b1ab55002465b76432421bbf36cfe25c0028bac0e6685779ed47d071ea458a00574f417924a6793c30844d0aaa0e93797b45caf7e3a209533b914ceb48da8598e9e5254d6deeeac08ee341e739a3bd78abb5f441fde4562701d6cbc8bef5453d4b51deae6c04b44a0f1103cfbbaaf903fdb9fbf04665334840747b3babdf0713f290c5faeff1b39cc2de6db72c6580e735f5052d00a2d025f05dcb0e4633c9d49eb64771fda53ce1cb4204a49af5c6cb2c18738d0a0b732abab03d149019b94d517d8ed8b9e073c97599725ac55c652baf7efe11a85854ba1ecc81e1cca33fbec38ce1ba7977fc946d1772119176ac2586a0fe06b6312b99114bd39a9e756d2e4b3954773792877cea9b721d02e45140ecf6aaee1c76da0df4916a99cbb87dce6a8bb3442bbbfe7c00ef5c3348be8bd68e470071442b7c43a4850db5351c5f755e3e7f119fad3961fadc72a04bdaefc6b618165532097a3171d7948d636895ea94822045b7e1ebbf5c375cccbc6d75efc1b6b720c30c230967ad2d1c4304a4f53bcc4b58b79e92e073ca72e806800dc5a7a44f638c7ad47114850908c01644a0d0c7204b38fdf76c70d772ccac58e0535264aca440590ac9a873043ddad3f3eb5bd7d1f5e8b639b2f9db70698b934aa6e31a334e6e06957eb5e3823c6b73d5973757416d211dd10a9f72725d051f6a5c58579e45756a8880ab0dbfe0cdd8b154e27c1391f7595e8ce6b97248998767107d33e368c1925c4b8e6bd225dee880e4e2c30f3674a9e501b87e722dfb9e942f4fc4a75826ed13ad43ec515a0aaa2ff74329444139bb32fd324f7236ecb2cf39551d0e2efe96d33a5c2491d41b8a821b918cc479bac039e4c28c72166a1e3fccf95b07bf4dcbd5ec9d1af321563157be4e97a336d3762dec45577229c305beeb2ef302f989162a53a0744c3bf8aee9ec0414ebe6cd2233a35c2e10f198b6c9baf66199289c90ddb97aca0b926942880c6931bc4a80975752be95356d9d39b322b449b658fc85c5f527b56459c1a1df8e68e39e973c1e27f3af2472ed77d50ce0a5f3bfee9ce5e188be0e3ab3113477bee9077258954ee4a4bd2e61e69f36663a1d17580e581a76632b145ac2a5f7bc41821085cb029566d81d38727e5dc5a56c2da4bb07bceee999c1e82440ca749aad5a57c572e2830c3e0bbc72ff8fa4003b6abe6fc431b0fe25c703b0bb7b36df1c4b34af54249c1b42423c7243af49ae6593f2969a04dd9775a2cbc9768a7972fefce2f7127bf801d36e53641a6c9685afc9acc45b12d403f7bbc295e9a0a58ff73ee279277124aecc05d90b3e22b823d7ef719efde63dbb00393d3ff50354f9f310a4646bbc8f3453075063ea1ad720b5456e6244f6622af6055ab5637ee5e9ff0d6c77df9f488e6533261ba6b8d553e1b68b3a531344c69fab3bec902ff6d6e83ecf570b5e1bcb02c59572367b0f2ff0a15e8c734b0f06b18929c422ef2451dd892fdff997ea72a88800722b3ea79faaefb7601b245719bd595348f30f4a3345e6f5ece773acafcde55472f28d0194284101de94a52c4deb5386beded0a6073011af9327f2f0f292ec7c729b2749850b6fc655085941605cfbf4e17db184e1618529d179db0c573f056b7230e96bee7f1b51d0d6632a439dd5fc59132bac328ffa12126af84debc0bb2b66dd2f317032a46c141c043e14b54b4a9f353a0412bcf4c90f32a02a965b8e1613abbcb4ab0900a86cc689f425c6987042946ea68c258fd72b50b95136f0d51d72e863395b1768911d55ff83d102d981f5764a3e98fceec80331a60c055f16ba723ab10baa49cb2bfd9b0fb36e8472dea8da4437f070badd84a2baa8bcfb61414cdf550c56cbbf25ac44ccd68493e4e796dd0e5d9f24f88583ce725a9978b500723214d4ddb38b43cb013a9bae98f93b364bb9051676365d416079e1fa91404572bae5a98c7044f6a63d8ddc9dd30e62b2030066100e822c1c56384fbfed678e301ba630f20f0e6aeebb221d7e7457ab1ad8e2643d1ee50b283735ea324690c642f99a05f7139e1487b2b5d75fbfbeb53d04e1d0f746c89c0b11652afee9a44e722af6f57df8fc4853e6866e452cfa7198f144e3eb8174e7b36e45097b359cea72c7823590a72839da6cd3f181b9c7642082129638f674dc40d0a7fb4c462c6272b3e2357da4b20a83789664e7e63a680199b5f974669dc8c6b26315ce05f58b726a6f0b78657a664363f052732d3a434e957e05b993f1ba60f36b3030b943285561495560591c8d0ca7fcb1d6f57c1611efcd21cbc855dbc7bc311752816c592111840df7262e53e318ae42c3bc1c80a6497bcf29516eb8ddd917c0f59e1ddb723548b7e016be77eb2a419c4dc496b270d729b710a69a044ee843bc17f602311670b97f0d641fbca848ce2cdd5d375ba1b54ea396ec09b8bedbb7ddd766b81072902989daf06479ef45d7c5933b882ca34449590a7755831695b217d69c2ed47249edc0bf1aac3937927b3321d82600bb939333d4f10e07381f76ca98b73f9012aa3f41697770a82f084751c8d051cfeed835c5b8a9bd7f20b2d8230711d2403089458fcacca83b9c281214fd6ec20cdd0322b8fdf2f98f392b61e846588bb1631b139f79060961d8d0584900ade836904e58c62a004d07bc40af0220d34ac072bb333371016d4a2e47cff6f44da569c02fc2d7bf2dfbcbef686f638b67b67b13c28e627a983b60ff1a9b768a03995cfabfb496892bf0d233031f9aeede22b87246a6f761f37c292fe3983f611414e27b814eb8bb84a67ad4f1a45b92be8cff1da9270ba157015ffc1f0425fe9c0cf6bdf0c0bd95af6bf30a42da16e68a7ee955c571a7afe0ce6ac556a7bcd7fe93d6ff7eb3371ba8531230f5366eaab7ef4c72b9dedd49a0f6c22487f708578c5ffcca9049104f4d4f92d3ff8fd4a4e82f6927f262879bb3dad9f7a04ce65c4a7b3c6a9e4f30d7671b88fde32bdc47b77b7972cd83c510f35d4542feb610a6aaa826f8f6f877801bfc9ee2eeb022cf4993b605d799d3443cff3946e6c03bfe1feb138fff09a770f74fdd5c5725435c4c220c7219414e3125a337b4f58111bbc6fdfcc35e69a6da096cb0fe2674835ea06f346ee5eb1514f9e76850790faba647731b424f458214bfdf90783a5ce955512d513055c575a2f23c513108acef44813914c5718d3a89236519b3b26b8506844df018e8c7b40570269540c5a2271c134252e830c6ebd7150d8b97fe3e1355cf0b62127e313c9bf35d997c8c10956873ff73c2b2fb2eeb29f1229102ce728bd57568128075f773b53fa8d985393041c524b705399f92aa7b7eff565ff2b70ee5c09672c5b94f2cfbde726969e4414e550a16970eb432fa93f052ccd89b53a60f8ba372cc5021eebb385a4c77ac0a44778dcbb5dabefa94483674ba8ed8de266b1176729c64657f9e272444b53901ff7d7acc08d1f24fe81ae4b5687cbb6fef1ea7935fff99fc34d5a88740f5e22ef1f8f9983210e900f1959ab41bf99d3acdf818bd017e5a4370f4827deb13a1802ad8260c07474b8aab77aa0b0819607d47caf04b0f0070740b3d7e28ac7138bb3ac69de206aedcb61e6be68859cdfb077f3bf67b18c0412db819392f31fb48b61da4e40354642ad5b5d39deb991e035d01cfc18472aedb7e5734d53684b96cb1de0ed85f33fe3c056417ef6746a220dc31bd4a3b7214adb954a8cff764d76c66ec3ca1f05f62b70c8846c3e71872bf38f97d4ae972da8338a516fcaf51b369737216aca793e5123d06b934586109504b76b6817a62c1a74bc01ea573d469c9e779f59fb0dff9ae68f5ec5f571bb2e55ec74e87a5154bccdc35eb5b617cc8209ae412b1660cd9bd204551e5d084730dcfa00d3339724ce24ae06ebd251a6a1bef3926c533276f6fe92d53bae90b68717035866fb7585d3b005895158e2f67e725670412ed0cf5e861e38b59fb11b6a04e91cf823408dec0e58890bda3a889d18e4f7df04799866d5952ee7e1f2cbd75eb5c01a3fc42bd2af121671e0bc006db8a7fafa972c73c17ae16724c85b0a5710afc90451f7256afb129a9edb2bb0694661a99243348c5c85b5f55d3e243166d11129ba87a0dc5f32ad98d2cc3e651b6748165d2df7941ecfeff4d2d69dd7d50d0fc1fbf66725a6270c15301a4eef6d452e43b800f8138ec5b741105ea7a0163e2e8547fac07a14dc16878a0bdbc0ae52c1c95ef97404ac44f65c826e81b7a0f05baa30d2b7236a6f102d2f6f7293f5ad1a1fbf21d8ae789ff6f9f41d503742162cd21a92c59dd5caa030e862d7b38a0868be627da655a3747721fa756d9cf6ee093c3aaa472cc57842d32b4f3be6de9149207b9a471f9717e7d9378fa8b8c60698f9e958d726650a6c50e8ad3d22cc6693410700bbc3e6e3a010a17fd76930f40101ac86455b5d5c94f26879ea868d3d98ff12c06a3c49f77e00a95f75e62ce87bcf412be2881f53e41e85277a068b03302bd61da2cc3b09e8f7215393fdf18c4660f4c36096da89be71245d16b8fba736160172b890991af8451e9e26958b7469a4d2ad37225aa21d8d204c098f043278478cc11ac3370a73fa20bd5086494d7df69377f669d22b914d3e899d14df2f281dd2a3b75184500d2d71b5dcb2f79ddf69e6fa35dda9e73f78bd3163775e454c1fdc3881a05ff22c00f83b86c1af0753f2d0dc9625296f205d5be2ecdf73dfe41e0bafaa7d1eb09000da9146e54ed70ec6bc32072cf3c04259a59379259abb1cf04bd41d517f2ac8bacebe1baa98cc3562c8008070967cabb08c17f8fbddec742366ad32342dab5689cc289ca5b5865766e1461399c67d91a045034424efe9780a3906ace380504c5421999d3722811e53dd86260988649e10a81d8235917f165d0f46abc9c0255f553ca81019462c932cb43ad620afec2d53774c0921d9736f8ba088fba85fa9442a5bd9cd262709327f88327725cc16fca8fdddc534694ae07d05044e3ae3810cd4c8428460a7515a896a1707299238c614d8f1400b64565aa3a49ccf3fb33ff02a9989b43275a711f0d4c2810bf1a4534a511da5bbdf5745f8e3057929dcd9d2ae2ed44033b4fb35f270ddb0c6ecc4d8a0e9a2c392f0fd82d66b0e56e77e0251091e356ad6e9c486e7f89bd72c4df563debb6af5009fb4060edb070f8ade6aab9b6f1e2711dbe52356a58bb721f495c272ef9e9be431b5945a9ee5c269512ada46072b628c223a4e859a9694289c3f6aacebe717cfa5f60c2a0ece4c4fda833014f626cfc88dacac0ad22fb7202ed733116c202090b31a9f8823ce768465790bb29fe1678bce96e85debd1372c2cb89f197196d825b01cdffd795c7af1deada09d0daf00412541594a673127243f95ddc1dfeeca8eb4afe8b60c202ce6ebfcd7bfda1832f7b8277e1a418286c53796879ca6181c7f19579cab583ac5206b8763ad1f3cffb3d0f30e48f198b727ae74aab782c1ff1485f1fab9860baf39a5557486d27041926a106f4707b327285601c95daf6a37646ac8c2b4e8c0a027c0d607ff0bc89e9378feb19746f3d724a54cfeb55575cf01b17e8a92e2cfa18088f7ac6fb470a17edfd6d7861267a5638f94590149771004fd86de8dbce1c9e9bdc2ce6ef7fd5f4429909bfd757a44a658ddadecc972e3a7c17473a81c15ba7c59795bd4b09bcdbcd5d6719ce684472e2646bcb5bd752305508ef7e1d682f3107bad6f4ebbfe18d2f09dcaadf747c7246d5a09e21cbab51e652c92af0badc0fab83cb7eed49ca48fddad8149d181772b11dcd121ad21d2c1469db9e220ec19b3d33bd77bc4badaf0cdc386b80289872de4cc92a306fb2d03fc6a35dfe703ac42da47b7257dfea21528c432d94e9587262c95a8a1a04da11bcea4c94db8a1d862b27fca72af98ddbd0ed51240182a7729f8ca542c40a6c87e81ec3783c6c6df5ab157f4b15181cf91cd2af48c1def17242efde968b58982347c1740b9dbad63dfd254a9639c2aab910d9c15df9c113726bc642a6571a8f31d06cd21044ae3d02c80651e7be5a04ea468908d437d006722392ad3044a589f04762d191425ba7ae132bf706f56a44d04daab2dfeb3c83726f12372c4863dba2c6fb9c0fdcff56bbacf0013fb9e024d4332e92b8853d6a727795b47414bafdeb6ab638b420a83c99a1c4faed0aed8024f2b84318e0e3e8360bde33c1a662951c141eb73bbe0e993b8859858aa9c49ae7b6ea64cd5151da25ec3b88794a921ee44016ce197fc6472a98fa29ca9ebfa69b65cb8db4b996616c999b4240fb263dee518c04df26e45191ed78c2922b4fa7898d28fb5ac015b532f3095c9710766bf6a9b4e06b47996e2cc230325ae7ddc8824647168a5e7bc45fb50b10712ef195a6a9ad0279dad27a85f474d77c1ee61b994ddfd730631187588d5f436e69f05bc29fc90d55b5f6b294035785a402f66afdaa04958ee7b0bf7256554bf849a4af22b13c50b788d69915a21213e1011fd7b9018eae788defd836c5a9ea9cda0c0cd06b67d5972254fe151b90eaf2ab38fe4c64486a304e0cb57288750683d43a362c92da4ddc2b5520565c804e66369ee16e230e7c5d26cdae726f7cf32ae92dd5f89fc388f24a214c2611d688c77d5be6bacb62108ac94fdd724c49e627e5c3d033dbbb014fc1881529777c9d6d211f3fe25343e971d82280431e5da5e1d654a7f0d61d2eebb1f236a126888001a439bd6bc2df75e3c5bfa7725d7ff8d606c2ed13f82311f7325344e17e10638fa5be89e58461032c746f4472b65bb2c832e3b065ecf3c5da5e0c7e7c94f83e31ab0fc1142d0e3e199787ff72d1632874893389756d1b3409245e581f087ae331352848f5463b25dcf9098d7291a13607e48d24492e63753195802a1b30bb62ffe612c1db357da0326e36106ed8f2ef7265352eae3a9cdf2959fead2f0c228cb830e35cc165c74bbfda9086334ce4bf1c0ad95105f723812bfc8a407b115c5fe94c09d310b71aeb9893141102110133dfcba00629b0bd6c99210b0d0099ac7b55245f6c4bd8332edc078c8509edd543dc319c4a09128fc8c3f6776ed0094f47a15426a37814738f216360d172d74544475390ee19e65b915cede880857b77d74268791125a71f5cf5ce3ed3593be773effc74580c5eb1e0eedf057d34b31153c77f65e5779a5911deab98142e391c426bcb703d947a717abb9f20465fc03ee52cb2b0846da325135b3a0de91c4149cb52c92c18335718064e8e3907328a8466c79669ba792bc2fcec83611472c7f4b95c63855144e87a2517956c187040a3aa4bb85dcce0d8eebd34c5872c3a6db1739db0b676cc3d8770c941213680f15894d1ee8b67b466f0970648443572b70753c3d0dc27e5b19403b9e581edec653c2afdb1c9de97f8d535358634d07265cdac08c0eade4c4df0c3cf87b295835b6115b1a0ea151bca9610e16cbffc7243760d5d70614b217771cbf30a4088eafeb2e5925022e119409bece81938477296ac2079d3b53378ae5d87f54423e01974573fe79c5a8d715163a2f4efef80135ff971b6eaf4ab0cf0b28fa8a13eb67f94fa61e86f887ef0e14ba12ebe06a81d15a04b4bd49a444cddfebf259eb8e00401a5bb2f10e3aa66127b2dd21055cf721a1881fcf8d19841805e444827a5d7653d05387607db8a02a9ffc834af8b9d29fd6a2a4cc58dead32671cc3f07b7ced7778ee323531636b735db547a5c7bfd572f194e9c0cc302602f7fa4e68fab797dfe6bf73585aae6ec60a8640744025172db33e36db18b10457a34a8456c366a5e266eb0518a458f13dbb10ca766f2f70bc0578c2bf0b23e79621864125b5e263df0bd8e9b8568a410c849dec9a3a18c3015e847721c8519f50fd330cdbe5f6c6974f8ae3169bbba29ae82e92160c0882e5a149bdc4dfc7dc06052daa61fb560d0e7e59acfbf46713550ab5187b8758915462f1886a0a713782c111d910106dad3699e3ea9efb81bda02bdc0b1126c95726c3e1bc84b8e8228ed3caa743b385236c89faf157b357900b34f3f31e60c903f32fd7a786e079f1b32088b9a77fad839c2987e322ef214345853aaf4fd2daa4fb356f1a6719f0fee29e39f2bea3eb2b40b2734a3031c3a1d25b8c06fec7a81729926963a79aede843da45a1b5afa8e2128b32ad4b36f53b960a4629359f06d72cfafc61a3ac23c2c942195180f068f3d19bf74de17050f31db0765c8c5cbad7210863ead8fd5f372308e5cf9f5d78543a2c1282a5e9440a09097cbf011becc321a8ca9fc760e278ee73fe1dea10ad3b68548c9979f7676862419bf080ca4bb726a1e458cf3660ab4aeeb7fa774af2f4a2dc06cb41b6ba228f5f59134c1cdcc6547d433d2b8419348356471667cfe5f835e960df124f5f524f8d3f2d38e681d33e5536dcda4cae9a2d3efe9ffd3759a1ff2d7b7329097d004afb71e211c4910720b87a975fa218ff11b0ceeefbd19339c26fa8df9cb5c2b36856ed6e044d42b728d08c506406e4e75cd96e9b421640c49a87420701f30965e65a34b529c0188729567553b6cb64f82c1261d868c05bfca1d1ec79428c1d41d28d3715dbc80ae34152d79a88107ce75bc3f3d090ee611e07d58d69eaf0ae60a10b5c4aba5e7ea7219354f16109881aa611ea85ab686be713ac5c5b9f4b7ef14f0abcc3b4b618b5fa9565b67212d59705a97fe29ceacd3f0155ed77208ee35517add138cc867bc72a0fedf7af70b583a139fe54afb6360beb0e03f9374c7945c554b7c710dec477210de8d1fb9939b053345c93a397330d69d9a686ea0f17294628e0292dd137865efe9bead2a81a1d79ccf6ea9ee25ca33292019bb5c744543274c10941241ef4c4e53c987894695b7644332f6dc1db9b02965a8ebfafca7fbff5a061ed30e246a55cc2c454f3d942b7e3687e416b756716f5549f178b8aecb9931e8eddbdbc072a70a15165fcd8eb84d91d5a4b1869553a35c3991e3646600b19e490ad3f07b722b7a2f0fd28abfce22606e03fcbd29a33acab5c7f91be2d2bbbb7211afe51b1e25a576cf3619479b7b0c72a021ba4223d6732ef5cb583818b917b2927d3914722257459d5ef21215bb0a0d4977ffd961895c1d06a869c81cfb469c1ef5f6435c64162daa3ab5fc709485bdf865c6526cb52c98a0a3d0a61f1f52ac36dda32f185367a4da2925bd61f0d96c4a232f5201d66745eb2dc0fa8ae5c2bfae0f54c04eba6ec9620dfe539a5238ff8e896ccdf1f1b564f21f4f94685903f8b1d8375b2cdf083c013f608446df89710ee513de0422af2fb4a5fe0c3ec1a9871afd438421ccf22a5c2aebdb0896e1b0e5507406caaf97fc98e74a301b845d7ef055c0e76e070cb82f320ae51acdf45f52218a8f5f98d33acf6801b1c5ca289411259a923f24019cec90da177a0e2e03f63c5c5f03b46fb0e6dfef374b93717b84f3e8e672d0e629ba3779717601f639c9fc0802724153adb3c0adb4a854529b8d1a74ba23a89ed778e771b3cbd30d91429b6dfe5135b1d13b505fd6c51e8b8290a083fe726432cd199efe2c20bc60a1ad0318d2222cbe29b748394cf458b750c616b74010ff5181e92c22bc2e0576cc96ab112e93b620f9ab4ef9cc4ac17b502c8a454872f5913237c19bcf7586729f33989e6c73a0f0e3247e780d28cbb49cd5d856bf7203828fd8e813e181d0346272bd0b0fd161b3dbd2d888fbbb901688ed8d57147204f0e83ab886a69f4a34386c617f31c0fe88bfa3c46ca4e0483be93ba5a2b839807ec0883e0d8ccfdb8677c49efab5a5a40cb0a6000272077ace4512c5cec8145327c0e338ed2713e710ab55464ca863ba100d92f67e3748a74637737959a91d660927f49b6ef81b3d577e51aed1b504d1b97a937d4743284405b01d9dbd8a7029154e5b7160d5df32e3f2f803906832fe379b31ef5a597296b042f25c7a4172b0909fc4e95a13c041b9ffebf201ead04a4c8a92fe67b14c266b1ff22edb5372a50523af84b0411eff8d12213218b77efd0a843c7d06ef1789bc823fcccb307251539ed5333d83f7d59d32b9629c799f63547e3454e836066bb57fd240b41008357a2319f2e96198994c4382df735f58f15cd4c2ab20a2a440e50533734251709bc8214525b62e2499387bd59db53d13304ca4712fd79473eeb68b981b3efa721eb6208273435475647ad4de2523891325aa2738b444897695cb33094f2a9b0f8dbc38e1ed4fc9149f4736103daf997b4130fa4e8033ca3507455776e66d2e723a977523fb6b7ba61f1d23a93f68cbfed928428001e3523cd10069c79c6a1a50a5947fb5a3e29ca80e2a0b907786f2e5fd25d1c0df9a16c9ed1d9f3df6a78872b84b25cf7a36d64ef0932df0f6afb371b8206cb7a78defcc7922da20547688723f113b8079659cfd462ce7283c28af72842d4dd3e228fc8f23b73a4c8fa71b7209dab16ecb122b6c8765a6f8a79ed571789b5895ac7f8fb82aa41737ba752f72d2bf876befc2d3314bdf52370fe86e563d65cb3c4e0a37f36b09c2c745d57b386a7c196350383d2546e3f206440660a7735dfb99a84327afb6434814df989f40f81c944e88064fab8047cbe3c8f10f2bdc1a7ce174269be5574ca99749c6a0723a902e1bf8cdffc741be7763e8c6570db803d47363453449c21edf59e2db863b2b76112cf7565648530816b91a16ac41a2e1e3c1da466bfd0ad1cd09a4af6672bb46d2ad2d5b79296c57adaf32dfd996cbcaa4a5338f8a6d62a4acf2be28c055db97db3089f8958b02289c3b7441a2657998f31e998b6f00b29964fa8835ae72477b1663d466f96ae0cec6aad259bc79e07e04c656f8759b492963a46f933669aa8280b7d4ed82fa74dd9cf0bcf17a5936e02f3b71b8de36aeb05498bcde7669cdd7e5b863c1debe9b27e409b94d71e378c6f1116541bb740443ff023caf73720599cbb5adb76167f3684e874b1c7c300908835236a2966fdc9809c45d5284721960c623ab924b347396546e1ab342235e23ee7078597b13ff37be2117aff1721439b8b18ccce6b95ee40fe84a2ac33e190be05d121795847626d3978bcd6872be30990611db0dd4af7e105be2e1f8ad4c7dc465af6bf1ff7748306aec1d2b72e9bd6c9fd0daa32d212e77369c94b987b3ac1350c6b6bc7eecad125cb5f17072cbc62c6f840283f3c5226ef672fb3a68be106c80894b0869f0c6e872b9098f44592d83e13c9d7a38b3ff3b50d09d7f113e1dfbb3801d3433f027e29f9b67b470409d5f834b40f7cef8c6bc97963dbd3201276bdd554d3791053c4209afa57247d840b4bdc1e1da9ae6904c60f4ab548e19b183d6e3f32cc65cb30006e05ac172e7b18bcd25929407bc9c6848764df2d060dcf5768a7eb85bdc4c7fc63ef458727dc751b25bdeafb5fd6a281f913626ed80475dbbe3c984b781bd60cd7cd288726ea13193d151e63532e62796a79a0abf8f6c3a422791ff4e680698b09ac80143ced89470f6497e5e7e24c48d8ac10035faf1bc0a98ae2c1c1604963f57f02600720a05a223504966e091689f1fb2ee57eadeaf64c050e92e0b3250279802f3724d6b0b455cddfd4c8459a590114cd71ba6842b1b550bec64afbf4955e2f96e17285f2f5a0042d4547bbc53f0b59b4147de28c75a5f6b8eaccd4bfa5fe5942a56ff1fa539d2e0a964d6996f58b87f7ccb4d6c50966ceefc380951d4bf4fe51922ff331076bff20e3342eb5c2c2e425cf8ae7f32dff3d944facab0a51f19020972a71892cdbc1548dd85f346656da4b9241fdddacea78b89616e27a5d0b4eadb10c2a6963585cebfc6dc66e50de75c93d461b17f57e48d1fdad7855ae5b01dde729f82c04880cd0b84200fc84073aab208f241bc27f3f1e59745fb33d9ad1fc772660fb02eb857d3ce9a5419c6c9e66bc4b996d65a97b9bb711fd379d3da3c8972bf2ed10a5b679271aa585069348f3b8ca6d3700e54fb05b40999cb9572515b106f9da65f6297a96e499e2270cbfe00a5ac3ead2682e5d528431614be22f7545e73cf8358189e3a83e6a7090070746813939db9c9ca7f9bbf53c8162a334e052bfe8c4a54b614c7ba2ad672b413c726fab4c18f658ed42f448d279f9b5f526c7288894c10992a1b7281095b3b676e2aecf9fb7ae55727d8497b4c9aaa8b8e0772c1337f8ba9964ba6fa34a733d948ffb7cef77bcd32b563d18d56fb2d19b4d01d84a19f1e940d5953303c9dd08458cc5397248eba5ad68abeb657f4a2a9356972ae94fbe20d052688c1a3b12c29a2380947433849fc6d2a3768ca60fe22d54772bd1fd847ce9f53684f5f43af5482b11814b31e518c18a6bb77aa768cb04e567220780073d4c3374d459e4109be645181db2e53c6e3e29b712d0f261717c45e44ddf83282b31638c3e525288994d348b647ef65547b51f68ced55fcd0651d2f7220404a048e51542de0c2402cdb9664970f109b40b8a7be64ed8a42073a48c020ccfe44d84aafa84d669db1197d8180b525e73e207da6566efd8772030322c272f259e21067b0d21c5c9d0a58ea9f8276c16f6f78cbba03b431fb89af295e524375d35abec00c15165186a798586caa545d2c6f058319daa876dd51dde7f51f6b8a8fcc71bb8536531bcde322680751b96fb1ffc0b829194f407372d48998cc1987822175fbe5fb3ebe2eeb9f767c875105979a348cb6359eab62d26dd4aa74726f32a55a3a01dab5e6ed8cb9a6ccf3d416af8f9659c1481e6155b2206b852072d0d73c18490847f790c783e93a33b6e1b523e8cf91ee4ce1200df516cea52b1cd0a0c03ea405ea856c327d40cdb6fe01295c0fbb5aa8d2ed07f13d800f055672c47c715279dd441cf5cff193fe8219c873f527bf71a3a47dc4be25ca7cfd3933ca6c3a8674a9b0c55aedf840979f385493f383f869f21fa609ab5fd9c11d121bf46ba24ca6269136932f350a965733d5025e3d0e11cb483452f59bf85a616654110b8e348143938deafafae40b7d2122db600a13f1eb3b893322daefb3a8871f1a3b22bf600289b9790d2923d64aa279e5b81c1cfb119432a16d325713d0ed72c3483510cffb20d33b9cbf933a30926a25d5195cedd4802d8af4d8d6c820d47272b53004758638ce9a2d28dec58ff4f685fb1d14f03da53c0abe23627867b472b5b0b2e5051cab21538f2ed1c98f2332276ae89f5700b40d9bcbac765d6d3a7246b983a3495cabe59a10e415c9ddf9de34ac6322a7787478555fca865089d0721c9b0a55b4a6d08d21d32a2335ffb26da5bfdb9a41fb4c366abd2b51bbde0c6119e3d68e1032dc0a1b7419b17d020fdac26de25536f823a4e3c3c4f1d7b84b21093280ab4a208a954ed0e4be6add24a4d13ff80c8622d8c80c63cbb3df9cfc69f2d49da6136450d414a7407e8bf83a32e5f313ec14b498c7b8caa25ebf20754c394c4ebf5965561ab3c08b479333aa48350a601004787375d8a0fded0958a5726b67d97a878e6a23a98e5c207a28839709e5d356ad5436dba02d7e16934dc10d5d8adfde9804183b4dc318138ded9bff2e5d55ebedb898f258fdfc3f89bd2e7255e89dcf9a3606412a8077a014979049c32a107578a1b3fb0e51dd3cafb2cb7291bf3e3bec1fab034a24241445caacabf7864f11a0c48a9350481bc19ba2de63c1812cdbd461f34298f8944b0b6f227baa8c12b6060d21da69886b4832f58d7219a814943fa8224b46bc5c681bcea986e0a567ecaf74597c920e32f8cd74b772f05ad15b98476794aec1b1df449ac7cae08e3f7fe6e2b94cfa1092368e7fa3545952f476fe07108ceb8ef7adc61e3adc1c078661959232caee105969a00d7d720ca8299ee8e59ab2875ec6c471cfac0128f66d68178eb50fc971623b5f315b728f95f336a6d08f50e52791853ad499288ebbf236afe628fb4b704df9e14f887233c9ed7752e0d3b75880f04458d0bae3bd4c1a87982ad1f1d7f6c9adc025225b93a267c82da54a26d1cf5d23cab9b95c91f4603f2a106b654d9bda1d7400a62f1ad9cde7a2dd3846d485d1f095cd88cf027788d8a966955e0e688482e488395e4bb76f6152c04e6c564bee4269a2c06cb0e58a3089e4157fa6377c592a36086dc18d3a9295bd67299eac258c4ddc3898622e358c41b595476d1b40cbd8afbd72de96a4369f610e7fc779f1f5417871861e571427df81c1ee7e492b9348a9f13146cf62c674a01ff17d8a33f7490c6e87cd9a2c8805122d49e610d56bba75344f729deeb388a7f456f2e2722426685d6f1c8aa02c3c35150e11ced7762047e1721b00275045f474a3f3d891746b81fdff26a6f70aaf89cb8c56bbb75776c88f05a763af92f264b498343a3ce9c0c30cf6e67e9a8b83c001640298e5d6c67bfd240815e7db7a69397ac3941f060bd6cc827b0d425a3783e507edd9c48e08221e72d5f2e0e73de879300aed1a5762ef46a2c41846ff6610ac5a1ef2b6cfc9f3ab1478f4134736d5c230d973a5a8444747b1aa8ecdac7b57c57bdd5a8df199f16b432b0a694baef9740ba24188ad57e98c1af16137105d3d35dfae6dd29fc74f7172faf606e3e42f2fc640ef83280807994586c181ebd38ba77ecb2609999d07e372e5b057305f508852fa09c883f6ab31e6857e80e052eb6c90e58f7a796ff05324134121bd62a9ab51c6b1a045629388809d726497c5874938ace0baabfe09f8724ac4be036ab27c1b466d0bd21bbbbb76c673b2bdc8da54ac7f37ef91b1bca472d581a7e9b0b097d316e71a7e9884f6c6237f1f4f22289cd37943b8cf9fac022a224994c8bdbdb08a6474bbf791da5becbd2c2e8189796b72cebf5f1754d3bc72cff3b3569911309ffdc952ab8f94606e2cabdd5eb8b963c6d6dd4739df01b6721eda1bd226744e8f6e6dd7c001093b4921632f68f211f717914d38bdbd94525d016859f40908bd9ecbb3caecda7cd16463b516a30e403f661468f1b3f7883a54d9d76a924b52694fb256090cff210287ee6d5010d4513b0015fc96546ef72b71e399586931427242fb9dcebd98bec86eff91f3bb10627f623a4b56195e916e72741326e6a537304535b3a84ec1aa146dab141d9e02ababc8d7f55d1549009b45a8e301a62292c43a7b0c942da60a92303b0b80ea6366cc1cd965d3b84b125172f2fe1202283097244fd1f2d9f963a4fb5a3e5798a99233f59d4d6b6e2fd31172dd4c4de843621b2c7a5a5f3079231475f5f2427342fcade4a307789ff7fcf972c4bc19fa0950ec324357362d111a45d0e1aaf4d61ff66fb23cb01faabb450e725f02384b1b4f35906c780ef04f472a09edf5d2cd4f33f433f2b27c63ccfbf972d8d267a42afd6d1102de204bbd4c534da13286a60d87d248ccbbe8cc89d43c7208d080082c7f300b1cc8e480cd381464a0082878bb0d756db246fa446469a561d6cc45b1f94d8fdb4449fde7981af353c63a091f5702ddae937e5571fce3d5091281e4ebbfbf290ad2f9e47f768cfdd1f1450737bf868e8fe7da366a4ff00d727b9387a042e0dbefe4d4f9fac0599e83b68bd91b69d74df643e08d3d50b0816db365a92cc2d01a2fcd741c58419b34958e3bc06c9f750a634c2b12bca16fd072f8b43dda37af2506538fde2ddd4623a2bd1eb8b3bc7461dd831c7121bcc6bb20e321ec970e10f5cafa6689e4fc154c957478d969474fd177a4ac4a79cc206e3337e97f71bea4baf3bfef9d328c2541f0e296c9269b042a9e097c090991cd3d6e89adf25e5563e2aa2f86c04d649b6cb5d5d59fe617487063ed5fddc02774974ad7625770a5ccb852c2fad5ff18bd0d8d7c4125b3cc203f23656dcf0b93e1415cbad16ffb07bca6fd6fffd37d7072a0372d60642227cec7403c55a95e780a2172788042b4e0583bfb23483ef2481ed7ddc68f72f12c6e45357916289355b1d1725be56baea821e2488df708b41e3056b4a490a9e37e5772c0298616ab843b0f72ca3c216a4e6031300b9c39ddd8ffdfddab789ff561d0b09e3366094827599472a55bc87dfc56fdf1d466b19178183a5da46bc427e3facd0f656f2512f7b7a7724baad5c94ccfc7958b891a757500a3d9dee8b2ab42825efcbd3fb5ee07e8965086300e32bd8f1ae5649a5f965855688374ef91ea48a8b217c9614c2ffb433b38e62cd836a29b3f67117cb91cbb76d74bd1701d66544fc35fc03e228d61fce164bab261dbb0975840f60b3a536d97ab61e7abd7e05b782d72b69b7029d00fd322bb904ac5896732f550c5944e41b62b00d2cb461d8504579aa03abd4cabce8172fdcc2ad9471ae0db1e605af534593e439cb06e575bb67c2347bc0d41d4574245458e5713d85f56ad5c4fea928f317b6fc8502281bfc47bd67d92abb5a2246e46cae77527b5f57c17c17f2124e3f4f68a329c681cfc04ad9adaacdf80aeac0a7282c3ea65cdb11836663dc479a0835cb25df4d2f485f74a15a0b8b50abcf8437239da87fa9f3d80effd54d1f91e13ec4e98a2e906129be0ffd875d22a2784ca72872df7ce8d2107e06a4a4f818b587b6cf915042e2c06f2e96bf9c07161d3297281aa1a3eb221b9694cecdb0006329f02b1a12bd7fdb440ed567cf342d0b1766e77ea8e998685e16e886c272ec0bf8a29975affdfd91189b33cc2e919dce9c4539b7b957c6fc945f7175eff1571a35a6ec0c1aa7cbffbc93ad79d35c84e499d2cdc11e2ad7788f788504f38380a97e1fbae7ca03ab74b90c4db8d332f15e8b739936e3ce5b79046ca99baf57c06a1b0daa2ba814c3cc20540174eb042aed828720063f3e26ac16cc6b20c3eccaf1c138442a000c13b9d28bd4b0a55381aaba6725b83aa26f2681bf9f87656205a35c157febccea917594057db8b19b8698dbb6334e0496eb9a199fc54afcd263222e8b2a6ca0d6fe99e4e7a2454f399ff7e9b724f9eff5763a986c68993bc2bdb325c42f7d9ae91b231b30be4c10f74c9484372d3a66d8041301dfc975bc78721e64f285aafcc34a2d9af0fa2ca8e3412df4c728764f0052eea2f18edae18fb3635236ce7ab43a43f05769d8ddf3cb938779b723489dc3671dd9fefa78f9cae6ea6b903878bf3d62fde35cce1b5973134bb9972934e5fbe8a6e3a6d5f9b58972f5c4919f8566fc5701a8558aa080948dc3ebe727374c8b067587585368d03d9c87c6816bce83072409fff647c35f5591c43515e6650c168b7337cb2060cdd98eaa5c4ef482c0e8060ea17fb7a00edb90b6c1b7298c1f8c622b4408a5ef877e1c9be63fb649c1eb0bb39b4e1cb6d915d5b2f0f72c2ecedb96025a50415385dd4deb16755c5ff2b4bc43619d59e5bcf7cc3a86572175149cde0577b87b05098e9a6e11a3e29605656ae68e3dcacada2fcc38c4c72be0c8ca41c6fd6b86abb0f2ec68827f3e94df70cea4d5d9abbcdce0d3cb8f97265e94bc3033299da9d06e6a8958e080d79f4146670998c11ee60a1c5fd408272c8bbf49566802472da6c38af6bbfe33b2a27e8a36b3e5929bdffffd3bb1f53722cc9c9e02d0d59d49a8f2daab7d1b508a5daa125d4df161bf8d2c9db6fcf3e727011689cd3b10c76051904befebba29bf446d0f91ff389f78fa75ff3b2b40f728c8a4d3fbb6a82481277abae184e790f60fb7549272f978a5a91e7d7efeab4728932849fe6274ec40f4bc70a3b58242c87539d03e0a2eb6cb193b8466d1216729e5abbee67acf60012e2319ccb08c28aa874bfdd36a9030e7991a898d5c35372d55628ffa5945229243983f0564864cf808b5ba71fe3429326b85557f034cd28ac2e89d14716cab03d3763fcc6e1617a2820d9060c1a3ddef04cc5c1469dc17203fbff782d148f96e4c127e1dc5190804e63e2fb8bfbc389249068a219a9ba107a5772ad13bc47b278adbd9a5fc054e260eb10a99178113cc8d38643ccbf336d3372287025a8f2d3b8417d03dff02df0d0ef85a17e7eb0b213857f98055b163a7eb3ca305d095616c65d38f6b0dcf07d04acf14c4ecbd3c4d85ebfc6e4a7e94aca1402ce94ab9d5a0a07d03f1637c3a06e6f6d640dff94a7119212d0f18587724bbfba33179eb8f7dbf0e97174c475f180cf0f70fc46f4c58def58b9eb6d8233de9dc5a0b12eb0ca8ce15e195e81c4ddb307623ffe1db7f8792ff96faf27b572d5db72ab0f95c3fe8a7c9a4c13b4e7e628edfdc86986fe1d4168052db55e4e28c9c17d9c3945e27d21ec7667a506a3edbf76c9e492feba77de047a23981f187277ecfa5e72ec0b6a3e5b7e35e417ff6c0bda030ccbd54d3211d6d7e606cd1c45a7b835524ef20a5a2c3e7b5c7315194ee8263530006fc8f930adffc721afb772350418867d36258d4cb5317c3a179478639e58eff7f72569cf2739a29950dc4e9a32d683888a8ccdd979e0e213dcc5b1ba11919bf9f932ca89b27dcf00ef1172dd6da1c7c06ccccb7a3e4e24427e3f42cbaa0db619e198b7e8cdc96ccc02ff5fabc5a3a28a8685f75018bb6526019bf6b42fc12b7d4022725f2da9c015c8a172d9297a45e0a09365646a31a39d8643756012299f92c2242c4b2865d86cdc1d72ef746aa5a2ea72a0dbe2473a18c491d005f45d6a26acceca805cc55c2486cb72f345410713c52a4e83ff75f58fc0b4b6e4d4a506a37b9ef0c3be4f545e0b8d72b85f95e0933ed0e4ea6951330335f2e0ce4d7a3eb556dae537e80f9e9c504d72db2731f157c4f2583f6dd832abbf8ce6d71f8f6707d690a02fbc5caf3e909e72fe4de1405c9eed20bc7e5cb531262211b1c567d9cf845a880203e68538f2537267372e6e6f9efd06cf5d735eeda2aad06bfac9af6a34f9fe4c2ed045609f36724687eec3b9a34039b1c8e548720496d24523bb3ab2c4f4631f87d4a239e186720ee41dbe505b47810f197c69fdbbf2a4769a5ceeb49879bdc5798c15e7db114f51d5ec42837b8c2694f54b6bc4935c8878c4b2bbb0f0bfa78a660692c3f6a16b59c344b636d6f863ba80c32d7610bc744c53b28a08cf92e002ca77b95ad6cd721b95193c0728191b1d2dc5777124254ab5654f4b9cdee85b091d4e2212074b2480fc50ffe5a755eb03f11c052eda2f46eee6fe47f9fc1d0299a6d69979563c42764cdf16bcaa286745fe51bb9c67a72d6d8d4ab880ee42dbd3749039e049ce2e5800a0b9c7452c8f36b8d21c109735fb4d303251deefab660eea1ec2afa43172859c04e8a53e2ca82275ea6875b9e48dbd96ee2e28ae02150ad04a6b15fc072f2b7a7885c0e318af75fb1b80c8235ee3f212a7103c4b2c8c8b479328ac3d4f726fe9df1ec5468b0897264d957a4dd7dcb8e7aaba89e1487835652e4c66cde872a6ff3c958574bb52d219ea0ef905c63d267f656f214174d1a25a0613d0a6b6726f693201a34fcba18fc33d04b99966290991f598250a0aa85e31b04427a7ed724c8bb13b125677d525b4346ac114f0ab17eb58c6b65adc1d9f414470256f3308eba25249efd8106e75f4ddd23c91b33beafaca29118f397df528008e55201e72f9948bc0b09210ea1f49cb5d573c725d24f799ffbef12531b2c37851c6eef772f8175e20e8bc10f0497b616f2e040a82a18ca8376358522144d074c0b1f4ad7201bf4aece54fc56dc6bc6e137a86d31b686254871160cb16034d666c3b40bf399b1c17abe0a185ff618297a4117dcd5354f4ceef1fd8a81b40240a58f6fb0872fb82cb60f5f41eaf6ff50e463b1746c0a0fb6a58bae8ce5720f70c0271bd6a2cb76162cd257ca5879a48d4c341babb056c20cc61f6ccfdcd52c6b94e3d8e091442a75234b3a5ca0d96517dd62e8182a3fd15e0c06b8dab1c228a7caf8f1e964d7972b4cdbd5678b3a0f32626fe075db08ff53a7778e8a0ce8d817592e6324a4b2abb2545a715a854c83c19a3e874f405c589e5a65409fd7888d66bac1d7b016d2cb6e70bec2db5a5b1b880121dffff2ce137eb9d04044b0ef97446a689cf29727ac6c5585ddf07e1400ee07dfc24e4ed948711904cc823d3ca723b2ff710d372b8257adaed098175b0ff636579019431bbaa1998860ce565a214245de2668c68e97c596cb6e40b26b3dfd9a9c90861718775a4df76938fb8307ddc2689809b726d6834285032049b7064b6e17b79f75185e383f957142de629288dc27653af7233b54790c250f177325477ef33344fd4d9819d945dd96dc0c8fa6f90745aaf72fec2bd7d7aecad2c97e90688ef03dafb5552f9b8344a220fa7afa79aa21fa1721808533c92bb0b033ba64b4c37a286ec708a09a5ef7773651b59a7db90e2b172a92e2efa26b17e38a51a629b28f6965b600a8c342ba85452d82830c6a7e1b472a88266fe304c919b83c59ff7c9f261aa0804083b76ab40063100d8541defe072e40ef7de19eea25ee8bb9d4b8fb23057575aed21f7af3699011afa608cffe5720ac69839b3bb1f291be2236da070ac8ca7dda9eff59985592afd0a3c86767f43c28d8301ebedbc5256cd164687266a11645ddb44a8391dd035cb96260289fa725715e557661bfeb940b3ea1ef87ae0d57cfc6769364866a3837d02757ed762699a086e0e6ae2551c248954162353c3ffa09612cb94e6451af290ded90d85906f348b953a4011dc23b314f1897ca23d8a4c5b30b86a6944590f615421f2014d3d1f5a4cc27b4e3b1650feb61e78a9c29dcce082667c21806c8a153d3e5d86b0722203e24abd6ce917b50cb1930fec7314e566007f465f9362d071f5c25ec8843eac497e3698725e615b2e5537393db1d457580fe655818e14ad98c6b66f818a725f6112c43866da5cba00c3ea0c69c730b70577e33a2e06a394c68a0c18aab85f30c92f8f1ca08eb8a757c6800178cad5b04662189a0bbc4da1a94820c58f2172401e79dcf0ba844aa1d93b1c028395b6c3033d47f7deb227758b98230b0e8c7017b2def0c179426ae66e67d7879376f41d6184e934efdc2d4bd3895af99c3b69761a0af26c19ea2af5681dc9a294c35154b697ab790a2b2b75109ca5c02aed7251a1e85c5b2ea120da44fc69664a24d2a8ae17d36ac5d28cd461bbd8c82cd872b74c21b22fe15fedd4f7b558449843bbc59468d51d0080c77226b6658cc28e664525188dcb66cc5745668614a6b192a76110c0f39e3b0e4f20d255124ec1f1720966be8dc098453ee4526df86e34bf06d37a9d521bfeac2b0b111ae632cb525b766594d788abe7b6c9a428726a8d05767fdfe48ca9af371d9c4a7a89c881f664c5b77ecd1eb301c6e3207fcbb8d4266c5e4dc478f0fe9af866b5da63a6c33b72fa01522bddf121715302925eace78d8f848866c73dc10cd3455a2b5f848bf2128168e77335c4084b574cf5d1ad961dcf929731546d178023723b7c66946d1d668c763c9ea869e448d8d559271b05e4bce0566114ff38818056c7df46d553061627e2f33f82cd6d051eaf7814dc47734710dbbf830f20a96c9d0e7c6d8cfbb8729972a4628166312c6812cb3ae1ae92972a5b1f4704cdae49caab61a61f62276db9d9a9b3dbe03ce58597bfcd8bbf60fbd1d375b314528a831619067204123572ff94912615ba4370ff8dcdefa71b668b8dbc46142874ec67c9f97b5235fa591b6a6be492d5e516722b1c510f6377dd615fa41ba36c8280a6a7339ca7ab1f9072e7109f6ea8792a59f18a4ff990c7a0b88e28daa5b52b5cb6bae7a84b07d24f2d2b6f45e9807acbd2c906aeac3e91ebc180cd1afb183234648b14803a307f280fde79cc8aefefdc891e2de5e5bff3ea66d81f1013d5468c1a6e27ab65967f16726e7d841e6346f3abc340aad1ccc813a1e03d27c34c49b019fca1e72f26e8fb6ca832a2a8167afc35eb7f7c89664294c86b525f166842c422da39f0fb0e78e6728cd97ce0a356368a73c8f105cc6a4a330c94761e8d3d031dd78b18e036f1fa721fafe5ffc1531012145c43243fb9f1a2be74cbbbfef740dfca116c52b4e09b72afb0da9f315c5bb5c63a325090c50712fd89126d8a29ed445362c5a31fa5f92d4473e396e1f6c5dc6e74526ebda9a6c1c460d71d35a8b24236f595b8cacf024479d0ba2bc684e2e67be202bf2e884044ddd7213fe8edb78c15d556d0969fde726a8545dbc06131945ce663c4884298607f0d971d8530052c4c24858fa742be13cc8bf457c84435ce3ff0c119b0ad8eb990a6dcff4844ac62c368a5f015cf9372deefb79a55f121a7290ad003ac1eb65a39267f5b91721b396522f20d26308f09b592f5c3fc9e92878835598de20e7f90d9b3cb7d7079e9c171b1014804a5c571161725ba64c7f9ca1c77aedb170f42a07e859c72f2d3d2618c2810c0eda2426ed2df627bb83a5b4ee6ff8fd4c7865713901db1536679af3f97a2b4bd28460972c46d8594398de416c55badc322bb16eb4adc4573b3e3fcb0f5b645d9fe8638727785900c6ae76fba3d4d9b8ff7acf59fbff19e4e0d319a0e3095272fb444167259544b78d83dc908bec8e405bcc81cdf7c48aaae81445f4fa13adc9454850672e0801015e9cb149e96b12c73b6604d890698d19af4dc79804deaf542d5d1fb72288f800f37ab8386ac14b91b138ebcdb304fe6ba46691885bbcd1b53b9dbef728d9dd277948e8d0397cbddb8931c8da4a0f3a9b498d767d2964b10df07ff9b115afbb75722ba498f142cc3d97c08bf4d44ce141555b4d74ce1c69b96bbee3c72d468328456c1142896d71e3179126516d7a3fadacf7bab820230c477c19221726f76d8b7f966bba483f0a05a4b6e962eada003fb195dae8dfefdecfebc797d72fe6c89067f16e38f82a2f06edf79754bed3855916cf2239c8280f9b4fb3d6b720a2d930d959ac474cb5e0eaf220913084fc3333d39eeabe9ef1dfaf55de4a63ccbb6044a5c2c4efab043646b6cb318173401e154e2a6cbb5c77012b48e876f239e479d0a8e13080890c94a55b408512073dc36b30b64d6f7607f30645ce2c60b486ab7f0da301212fbcdbaa5a9e2f48f2457dbf63121c750fe4607fb2ea00a727cf11d8269d28caf69875714495a9855b45a353476f25564ce68cda16ee5240cdf2fb1bacbb42514cbdedf6c1e488a377f5db9a36049505b848ed29015ef72725fbdf50f1b4a728f061286c31af7da2a5e5785a7eceb4cceee85ae9250a57a123ce21e5f48caa276854a109487206be0bccb2881bf85bbcdcc35c1ade664fc7233447e0ba19942f8f13bfea5c50d286126e14985e20d6c2e0080baf2c5461f723fb0c3ce2620a5df9371d38ef7a93011b89e54b34c7e9e4c9d1473d2e0408a67dcd833e24434c3a7cce2c2165c18c6f97a65630d54002dbead4b2ea3c03fcd72624f4893f56a5874ea35e33622173824169876a44c8982216ad741d9667d577213e106c93c470a2e0e646444f8e1e5065f3f09d4cfc8d0d3b4f29c1912a5f53baaf6374f9fddc2b64d14728a97ffe12969cf5a518f20beb1a51cf900ba72b17290c5614853965de2c5bddf66beb5f853073dd63f5c3d69d3ae6aa56e86583672dde498bcea88ad2a0fdc488f9cbb39159275d88cd5d67eeeece5003325d9cb72939f2ef3fd3daa155b1154e562f135f01c03a20632216ea00c19d5b9d8b8e3724c6690341314806b4375332077454166df62dbb3c83e5238e05e9f7e99d0ce729c21073e1479d297bd1fec719c05ea508b743e35171913f7842f6424ebd0e5415e73c89c0a6fe03d3e990defbca80e27af968e91a06b3f2118c8fcdcad02177237c378b3d59f9a5d4e84760a88a463f1646da6c9ebef8d0f319468b196f6b57201366ea338b19ff749040abbcb07dfb862bbef68b0071a2491d604817655d4724a4cd5cb4f5ed54ee2de4fa27168cb123d6d5c65f1ccf0d5ad8eaade31ffb6448c5ea5761a79cc27417c65ff2992910cc1d20dc26e591b4e2b6baba69d877a3d7eb3c1d1f6781cc94b8655a6199c7841df1f023f98c2d004b52bea4bec14e772f23493d1856e29d7fdb62e8b096119cf7039da3bc602b061f61ae5fe3d5d2b4ce472f216e3c156d5581c815d2d4e3289fca3be6f5bd33ed69ca12350b324bb72c7257cf8b251e59da592f02d1735d79ebb9b66181f59fed883b87716a93f032d8175a1714409a42c7c73a049cb1187e988a9cca9eca50f7f078de2ebe803e0544b0f0db8fbcecc09d5e172e84d7ec0558317932ae3dbbf0a75cac80b59707f72913227eebb7bb7d7a4cc62101b87dc26b974dc58001b1977d25c3bd455af23721d1c52643265eb079f7a54345258b820f3bd03708fe34c889d1ebd6ad9c5754ba0bc29756d323b7135cb96ed42c7baff94c280792c7d61724bd7725c256e4c7276f1352fea25642f93407f50ac2d214ebba0e9b5514f490911ae8f077ea2806d94d0c8a95cbc8d0f9ecdae50ca754479a9557530a60b586d9c357f611ab07c72366aa46388fe85127d972dc591101c8fd22054f801a47007609e6331f3f304726cf9d23a2f73770a062f1404f3482f80332e272f6f7da53276c8941e33558f20407e18998b75bd57fbeed97b8d20333339927c0cf03b30b4553c39ec16d5987235dd358b8b59aa8ed3b06af603275b2bfbf189aa5ed71dbe4ef0e6b33ee9627268f95fc15289ca4482180d298e5c2a3c58763af0bb97735a763ebe96350177367de466f916af92c8987859aa0d273f62d349ae6f2f90b1b5e1949123e9035e576503f92a85e1517a770504854528b45bfcf8183372d0293247301c7f204c8b720222c70902a886e9031919816b5b1acb6ac8e312b004c88523425993d2cdbf72e674dc2c60c10e05b6bac0f38f816803935dc4f4aa7fc8088b867bdb93b0a2417073d7e9fb7240c9e2a400a578274bdbc06a4e969d3efe90d6ef897fc2c1cf5e55776ed34a3a177b4674bec03f14b47efded2830d96b472b34ece4b931ac2b72a823b142584e3d796994dbf760e0fd0af855d44a97590c5cd415e16cc175e572c2c5a04b40a7d8265bebc2d1e2f8ea798b20ec3d4fdd1121e4571a20dcb3b35e9b9d39f7d68465a4a1ff0b843f3a17c984fddf0ab801a123d9185a6ec2b70a72b8f053509bedb7e2c27ec4d16c5787fe0e023e89ea8ca76d6e4bd31bb2c8b604c0f36da0df3f79fa7d14c18a8e24d9fd03b6188125a0bc185a73ee757461d1619613461354d5be44ce02084b63649d4f97ce1da9b7d564189efea781e9be1d728d2a78c3745b4806eb65ad22f5ab77bd5810646bfc4a9fa86dc07f82b2965772e40010ff9d7c75e560b8572c6355721a69bddb783f5544c8565b09c457663372da9081a46d0e92c80780cbcf1a0b00149559b8886b690917f5e007df1046422aa69d085afd31c8446b29a824d26746bc28950e9627bf2d14adf10ee147e146721eb9bb06e184202f55cf462e5c8c95b7a39aee140b90024d0302b6da51836172ff837fcadb1d2fecea6792cef735f8d8e60d7bde9aa5d3040fe14446a9157472c4a3ed6f89e4071369ed066ef62fb2cce1f7886aa1cf7d62d5c7999a717c8a3c50950b331d84020b16cd34a6230840b380a2c0b831160f241d0550c5755a61729a87bdfc502bc06b62d0dd474001b1016663437cc022797f391e4405407c1365ea0e71a2c250391c37d53e52493bf334f3ef618805614009f9591cc1ec2ce7725dd1918f455114a6a6a6c52bcdebcc71ffaa42817ad3224cecd8a586b9bd1901cff44a8a0240beae5f3ef763cd45ef00f3b108dd032d87cf67a6075a7ea01a72564facd2d3dc0c2f2d780d209e488c046ff6c377947266300ae128c198e8a3725e9baa095fae80e4775915f52d763c429878985d6b477b74212682657e06fa4f1003ec3d327f37a8a9a56a7388256a269996998ff91f43f4ef6846871cdc6c721c50d5e07a87584c4fe97464f002f917d7c2780c92b8779aed6b3f700567d566a74738f7ec67b912c0dfa4cb5b4607f0442655a94bea71865077e683850d9172568b7766ea551f71ac31f90f73a652fa92cccc0815406fe79b158477d4ffad26f077422ede9dce7c131e4e57581913829364b9aca149e85a07ccf311483a0e39c4e27fdbacf591e616d7877075021ab781fcd913591075b5b998de10397a0472ca591ec8ac7ab958a239230279bdc3e0020d49fcb411370123a8cdbd36ed02309ad9ba95ec8cdef4958647df4acf75facb5e0b278d5c207f3cf8dd41d5c4fc72704b4c3732ef684a27b561a7146ab15dfeb288af24f0891c3dd4c8f54f363f3760ac8d08bb993fc55f0a7d94509ea5939834d4aedb7b147b9d1532c4e7ce8f0e5e65c1b10e55dd4124eeaac8834eac5d49d67fb6ef01d9e1531e9da677f8bc7217c2de6612bc5a76da50a2eef251c66cea2c9c20eb4ab5ef3c0bdc3b969b3d11c5e952ae6f93bf9feb2459bfcaf1315d280f9983cace615580923697eac73b7279535026fe5dbe31f448bcecbf69e7a2690e7e2aa17fd93259e1bd6933f1db72b458f78b6826a91576ddf29a12e098cb4d9383b6711b0f366d5c6ca33248eb723c90e702729f867e36cb0157370eb579d97e165bfcdd915569e965e5dbe91a50cf8401a14682ce5401235f9da1eb0374374cbe43f6f06e0295b3ff81b727e536b5b45e127a5c1501fe3aaa9e78dde4dee36c7cf6f13a32c425641ed30eaab41320b3266595168f2274b89e0997177256bcd6d9becfe5f76f69281b302f833a72c766482d573cd653f85b0394b2d46d42051567d3a7b4c03bec38bac3f62c311311eddcb200812132c1755f1ef2d6039202731835a4c82361062934fe66eabe7270fdf0b0b6474c35da82323ad553cffe598a3800ed75582ad6dac76c067e817245438ae7850ce17467ca37c5bca381ea13579d3527160978a6c2360429c9d35871f4c1a90c5ddb7f80d696bf33e2794987e2d1a29fb87e0602fa3809df9e46721e106488105eb2024aac95015af21e68a0369fb4b8cb73f992796ad0a12fe817ceee103463a1186678dcd338f69b21df611b9ec4d9df5092ae3c4d5ba1bf6e72279398909fb594da42470464d355640543539a4e0299ddcdef49b99a97f37a72955634bf21a299131cfc4d0a715ec1045ee43634376d12a50c7ff6e84509877207a7e3e6ec1ed79c97ebed1cc9fb41e0dcb35ac3348758a0cc4b34d28b9e315bc8db515886b7cdc911b15d92643d4bbdba2e56bcff7b80e8fbcd48836b486f724950313611df4e33de2f1c6fe5ce4a87352cc3eabff298efb76b05b2d9168a722cd57448f26f7d5fd33490b88aaecbd172819da7473b20dbe6da4d5ed9883272c00da7fd02b189e0e3991e5db2045c3981d3abcb57656ed1df57bc4a8a0ce1705fe9219103edda7b122b5e531dbcbe3ed8b4c7d2982a22ce0138f05f4fe45358590c4050badaf497da7296741b70ddda0af50032959b036e1f6bb2ddee4c6b70e86edaf23ac0195d0bd0a2815954239fd76fe691ef001562993e835eb662270330aa71a18e3936f7213278606eafb14a1625d784ec4cfa56d5246913fab87672152bc343edd73725b57e21772bcffb7ed282a40bffd4afbe9d96cbab45b0da53c323f9de605b30295d6f0e703d544c653d17c888c4b4ca7f7418c7cb392aef720ce870ecf80640e5b185f48f325a776f31e58389eeaf72f79d1d303212419572c1e4fcf6541ccfb948173adb6a69c2b1b369e043be2e2562c6d9a08a350c0472b1742e2882f68a32694dbc1df77dcbb49b5d20881e4640cad233ea0346c6183ae6ae9f0ea406d4ad20c928f52c011afbb83167e84408eee35536617c5f8aa93b3fae10396a2089bc8e1d72bc9e5df9f1586ed60c071ed8663a61d5cb87591f72deb6c2e935e16142c56c88d5e69d2436977df29047556bce976ce75e22505362d395eac3fb36e51da1786a5d987dc30396d2436a3b09b6faec04129b00825b72a20e9fbf5f24e26c7eb928b56b16dfb82bd4d6c3aab7c5bf3b74b44082476572c73ec20558c4af50dd8e023278957de4e846ddbbf0ae841e0917972dbdcb65054928e42a508ad1a259e27a1eedde11ede957770b1b65a8ad6c6a11d205c7977284258131a8b806055418923d53471428fe878c71a04e30b25edf8e21038298720cd40a1bda2aeab2fda3363163c405f536bc4abd3d70dda69b3f051455859572e91722865e3dea6375a28397e0dee332265fded63ef0434e5b1e828863579b720f96691d3c919cb22279b33032820e053077f7334b26e3ab93cc90330d3c8a72b92f0c5961f4ccd65eb42e0b9410b1eaa300ec8780402db4429f21e4527414722fda132cfb445daaea927ed22ef82eb4796e0a9b33b86389dce8c723e77e7a1583517efef3c16089597dc03abb66359291aacb8dd9cab63f625de75e4ba2e072b2bd70813ea72214300e9c934704cf1d1d3ba6aa4d934db4dfe778d333392c72c00c08bd13109c9360de1fffc469b879aadb335a4b6794fe69e0f1c1434bd715de8b159cfefebf5b71a9e2c58361c570e7f512185840e18bc3655697cb57285ed65048de1016f1ef27cdc44e8d284a58479e66926092dad67296597eff4f1a03a8f0bd625419f09197c66cf453f37251d4733e80887a39c9f1230297ce8c5c53d08f8272d1035595ca484c1dfb982a00e3b84bfccb7ccee82eda4bcde8041e107aa889124da19c28e184f98037148cf20994df6b2beb0ef101b9cd3507820a725e7e423e13e082ad8dd5a69c7494c9fa3d87c37de2b711b00c9b6134477c9a1e5b09b02c613b8df2025c43024c246f14d3d46a68145ef5c4b0cf2282d9a81b3a19f6937e547c4692d96ee8ac22e6f62cab84fcbe13ae0489998518235341264b3b3902caac66cd85d0a424f3579c348317bc7660569550ec2173eb0607ec7072093607fcb16a8a0d7378f781c0efef88930720d4b9162daea7f30c5da8e44b2b068bf629d40a9020b81022c84468f33b8d6e1130344ae4b9aa3d8aae5df8f17224c74e4a1b1afdff83eb330d17c64700e4592c6c82b01bc8bbfd59a89f0b1542e6a15c3e2adb84ceb30578805b3f06a529ebf95e24bd3b41e7d0973896ec9d721ebb5b06cc45d77a77e901f83d928a9daa90f9d77c9e1fd8d232dfaab4a7fa725c9a255b45fbe06dfefac16af9e51807e44bb0b9f6e4ee325485d1cf1f60d75196fbd32f6a288ef4816549848f9ebef28dae8bb49441c77b234ef993b2d32d7211b869943f7f797094bc674b41aab0fa287b50fa4cce1641a15dd373d866ef72390ce43142a9ee1d4ba65c3f2eb8c9d23a1ff62a070dd73ee75cc796eb44d772d0a66a0131d3a22d758e2fbc6d677348c47ad5c39831b053462deaa5bda61c7260decf2297ab0ec5cf9fde8bcf9983e1c8e4bcd0e978add8c3a4b53f0cfba3720818eb3abe25a4257dda15b7b7a3957a0b86e674451715f79eebaa5740e50c3a26514a12f801509c214236d2abe570f00bcdcf8ba959baad512feea13f5daf72b14c98f459291fdbc2df65fbb4bd262354ed47912adde523cb2983c1fec83e72760efafdfca45e7f74f42bad7dea369f633f806e8b1991f72811246022187038559cd16b905c41d46a7101e64a045130caf5a59718020d00d3bb07a3e5230b7265155596b1678b7b740f00627ce953e1f393e4b8676859afbcf17cd5b6c9ca728df3e7974bedacbf357c4193f004badf572325dcac729fcfbfad81ed73e7c8727ab0cbbf1048e618c759766ed082db5d3d843c3101e0f7c788605afde4a32472c4b4753e0a33e1766c1547250dc6fec90cc0b3e5d0f577c6d2fad02a8085ef720637611e1b48e384bc016670636c39f6e93a5de9030fd32d6a185687601fcc125f51626eea3ca53d3c7516400cff96de6db22808f0a426e0c853bf4f378b5b1837013a89fe226d636be2da2e688ac01384c04752446e62c59882992e825476723d2086e785fb6e2f6cf126b6bdfd011f35fb65ab71ac0b4a1b1b4890da4e200c63e8b3d677f6200a9e17e6df73410d9eea6d2272138463a6ef81cffe6d2f6d43768314bca3ed3831c5fcfc60cc0f26f777cda7b4abba14275e258a40d3223c3ec76bf00f2c1a63bb2364724203468e1a1045ea8cc76654c361751d29b68da95636e79996fafea3bad49cd544c09cfa9ed996f74f44596fcd4ea7be5c722aa51d39bed7d2ea1e96044ab40f5f5120f083341c267dad3a7328d1a8a7276012fc5a16d295fd0b48c3804bab718d64ad9e7a60afc3dd54427fce46fc2438a7170472bb6d84477a5353a14d2c45c8d1d3305c61c89e4f804c552bcbddd47ed1814e71731cb6f6d0891875a891578604b6faaf79ff24121ab1f6bb8b62437d3f6e4814de30c88ac4c7edcb07e6938c012bbb12d07f3c38dca559bfe1df0932effc0563809e32d7d1fd51e7f1a245a2917c06c1982ce1794495fe533d87098e2fd8bb72d708128249007e50deeeeaec1cbf48eac957ba43e639f9925866dd819427710257249f8733f1ef0e565e79bfd1c8ad001594a1f307d99af76f8212ff3a8bbb72e8acea2247932d1fee62c9fd20ef570dc9260ff5b966295e6ab864b9e446d10e549153b5cd4cdde7388daf98c97cf4c86bd1c1533a1702872509351f33b69448922846b16b7079378375bddfbbe3d6a4d998fad59a515790dc564ae09192fd721634f955fed5f661a886a7804465cfd50bd1db76368eb8a910051524c24ce172aa82a78c2ca3a78566e107f0693b930d2c897435d4418290c60edd2b024c25041ff6eabf7a79b6ff4142f2dba94ee46b46491fae43de53af94350b474ee95d5c864d46752cc7b4352d5910c0b5f8540f3d7ab8f05279e0da848cef9acf822072594b800b1880555eac97517793be7ccbda1a838ad47998edc1597326a3f3327251bcd782f9fb56e7fce63cbf9fda1a035c8850d3ae7e9a5aceef00ee1b1f56727ea9acf4ebae3f664f00fa6205a1f98187aca37557a23f220734ee21bc92547254886e99d16615853d87f958d6f44dce3fb02958efe9e459c9271a0097390772b870a3dd41ef511d9a5e61cd2a65e70c8179260622b683e8b6da7f922d27f8726edcce7dc6c7da7fdbafcaf8d06548d71ae75cd9de591bcb488af165b7a0c972305ce9e0e52f80ff9c8721548332cce460e47b3c7145602f41949875ab8fda72a88e773afa33cc91c18af4e6117caf259f6ec6825c3e5ce0ab4ab01e5398c872806d70a7854726dd6af17562d8e4e8bd82cc39217dda263e5b75276f57c993725ee4b85b38d7fdbe5c67a2e14e90d41c51e950f7b909a24c31e66ebe21a477723c6eccf7b31329caabcdced7f6bdb34a7d14ba8ea122f2ed2ef9e255a8be935ef64cb8d8019d9a4b17375936220a1fa3ba594f64a6f1ad317d91bc2e5f19ca27afc65bdef961929f6e4d920ce97d41dade76d1e371f89eadc0078e2eada19e72f9347b6d93463d5bf7e3765f914aa68a302b38583df618f27ff9bb3b590f9d72d422a5673674b7111d958044e16bcb5f5def3147f4e07a3769c19640fc98ca72741a358a367685b5b8443280b1ed13227aee16e90b04a5bfc1878c7aab55810f1de3178ee0093006e696a0336d1c894f0c081146e0cacd38175bc7b3242d2e7214bee5653bc0295578ba11068d8df8fe84378e8578d4ef60bb5ef73d7bce7b72d1a115200d659b24fe95e394d6db45cee780bc6309d9c73403babca025674d72dc7dd2a0d86fe48667d35d3b56c6f5a576603ada8e9aa991e4ebc2cf824a0772b44d9f3432e12987a8379a18b57895b56635f3403222e43111ead1310dd51372a66278aa0fd9b1c09826ce52d401bdfc924bad4d94649a0187ee028a7898ae720dd6184e9b5ae2c7414a8a67c78d358f19bd6aa1d19d8d6075a9afd8f789506e7319cee019041ff23a4b0d16b8f4fac3c39fcae9d67564a613bc65a523c3da723f4bdf7e9355f517de1432231ace3126d86a3d84aa2aca6198c9cd9c33cf5e7285011da34b0ff528cbd0224477f78d0e8ee1f84a6838a2824659ced8ecd914724c8d39adc21d27992bf6ee9ea65b7f8b26ec785d328185f9943ff47ca053c572988e94e04236828dfd419b7f22da1a41aa1605565de3ab03a7340621348d39724a833ed126aba1395f160eca84ffe46fb0b140ba36924490cb7aea6e4ccb627271efaf48bd3f60bb2d2a9d58c8303644ff00787e33579ee7cbd45bc9153e4672ce98fd0e2dd26f6962ed0259cc8c24ef57d8a881b019c5e6a218dbf6db5765160cd2595c4ebe08c722dab34c9d9c9f68c85172a8da333665aaf9516fa94da61ed2b9a2905a469d50aecb4f982c12a086fb2bc0e3a5ab37c50b706065c752df527d264997487d52f319c66f6d3c6aade1d3784ded29c0354b1baf65a0943b5372e93dd03c4530027d67020393609a9591c08ca946f33323c7d582de57b548325af9c42fe8ee272d9fb3578983a698dce27c72c489fd815d91181ab00dcd32075174897a3cc509f849afbabedc3094b90bd4d9f95d8dfd87f723d6e2e4161c864fe8a39894681d23685c77d93717e6318c6ace84c3cd1d553d7b1cf71d794de872cb6db8d8a2b1520e71f4d05ade558fa39ffda3690ec4a44094cb615765d3692524e6a352f5fd32e2a0723af5d1c0f59a7554f34aea3f6801511c2590ffba6872928a7bb80428b33ff85c08e001796f0bf8666fb39ef003d3efb2eb22c1c6b772220713b4d43ae753633cecaa1909394917096b1cb9a844c173417b48873ad835226504157f30fb36b8070ff02ce53dd8e04952521d0840cbcc8b5e1233eef41c5ca7bcd2a4534cc22c27b18bf8e8bdbbd86c0bda913c9f673d197902bb27d1253dbbd671289651f45bfde3b74e34f4df496353074d3c672a9ba4a984b045bd5c680b0763fef40938732e305a8d4753b80dc8be97abe3c9da74ef1e36ffbdc3726c74ae731e94f0ff2fa8a7bc5377e64962a6cbe4dad274e9a35aad34bc0599724398fe74935815934079e4e7ef1de5fbfa2b7130f0629647fa2f9bf7a1968e1d3d118ac63b5dbc79e39f32216df0e7d8803dd5cd563becdda5d3d573ad04ec04c1385d579c0de423f354e819a961dc9760e3365e050440b0cda50722162a496eb1c3b641b44961dd5b2919781113d86c55acb6e53f40ae58cbd2dc243c19b323073004dec933ae29c56afe63934fbfebafbe7d3f58a44fbe4832280566fa51720f7bbfd7ea91ff0cca882caee1a289deac54cad30fd0fdb5912beb3572f07a725175908b533591cff58d7b612d79d02332889745abb436043a1e864d8475a0161c871602d1c2fb73fc6c101fa2f989d87100c6a7343a56653e88ccfdb2244b72541807bc0058ae946998229b4a7eeb8e1ae313806a27afc01ac3023dc7606d72031dbc353a1031c770c74c20c37f25197571b046ff6085ea9942a5712006de27968d8d2060065125a3c9351b9a24b4fb262774bdead0825bbe664de3fb1784720143d3cc3f2400a11a069e3901598c1f1c1846ae5689dd09c22b594396c2726279724dec1a3b625c57da5bd15a400622603281c5308a6118cef45dcca502b20a2d9376099c2eb4692cbd8fd07474a9b0492ac379223762300541a4269ba963726d61d3cb1fde1d2a0de80cc2417601514eed1095d73312441a8664e1c072842a9be6898f8c223c599059a0ef754f4f7c570d9166c1114e82cc5f77ed6e528172bc3ccf48f6e5b40d91ec4612c34cb19f8a09ab0042de7068636dfd19b9624e72ba55257a2d004351cfa5c7c85b03f0efc0cedce6cf3843c8f646f29f50ad58725ef99b0f0fd8abe637f6ff7f6d63faa14ff23966c502eb5b120f66efe9f17872ba312f4caeab84a0472574aa97706982021f5de2991caee0daa805b1e6e97e58ea3687a4523e43a0cf9ae6c2144df7118fe3330b1c9d0818ba6b1d33b097a2722a86c6b0935aa9962ae9b8dbc21aeb18e9c570f7533490448a7e7988338b06387cdfa6a03989e9f627265fd97cc30745029dbe7fe6fa3cc6a8099c65a3fea272d21b465fde8e61d089d724afeaa9598d327d3211662fd8db90b084dde0ec30272c3cc7edfb76451ca823568a1be7a0905b60f8854e4b72b13aa400a5cdedea1294ff900e8fe23b25c9f4f77d82f23fb8629b203e6e08d0c44345258c68020d72c3d2849ac5cc2306cd30a2d185bb2f86d49c2a0c660599d0765ad817931ebd31aa347745d74a4993fd7f5cca6237afcd927c76a4bb515788e679236c729c5a4d939ac6e2abd98b743fcf7efbe390c242873807be0d9fc40ae5e01c829c945a72b9d62966520eb6bc8915fa265636a7c17a890084bbecf1091159de5fe2d86772b13678d2f58172eab23ef62ec79c9028621708fc9aebe2bc1cc9f32b4eb36a72b0d9e519d5098e44a37569b957a7b98b77c6662cd539d7516768a8ca583a4272e75b5a7620065037271e7308fb15602c97cbeee713010f8b1ae1f18ceb3f530be0f89c7ca39729894fc638a061f7f4a42c6f3abd0ed96b361e647a958363545258875142b35da69b8eac7679ecefe08ebe4e0a315721afa02a0960961288ad72404bbe160fedd049b34b02576ebff7cd5008bf5553f46ef4675c7b656866221b1fd86c5168d7c4fe13bc87b8c00ed1439ae5d5cc9f52d86ebd73c52209bf85348f32f312e9b233ad43e5151dac378e3e3e6a68fea699dd231457bbc948592c72899d045cfea5b76d93a17243188a7906595981880d6dc2912ea43ce1bf2abd13122a89182f02e9fc4479ae3866b1c1cd8c9dc1b6a903577dc6ba55d65c42ee727cd7045ff5417dfe429d52aaa3d213d3280ba27f5409c8ba44c293106a2a5472e01ae81b3b46bcb57504399c5a67b56a8795be4fc8b814db80ec37b622de8c728bc54d2fa17fb85fd7187187810bd2398aef8d3aeb4fe8db2110ec1dd2b52a724a3fe46d447e5b66ecdba73b1246300b74ac7f38cf1313c2ce28f0425aeb8d725934475dc080b3e3db2e5c5d5404d5500ab6bab8131f1c21f5d14e8df7e20072eafa090abdcd221ee0888a93419dedc3687734eef5fa8d374d99bf6218e5ce7220ed5e3a6bb2ee8e4311c39e6bfc52436a20d7eadeb6f18578507f0337275505c85e7bf3a41e440b4c85e9004e88e6c60908ebc329b00be4a201bfbec7732411a8d420a93cf6b3a3db4ed9459b7a2f0c05249fa9e0a01c95c8599bfb9a1f757296cdad875af91aedf1b170ad7ca5c76e4133372cd311de26103ec7a73811145304c55e820481fb6bbcfbef422696f9cfeae343dbe27c4086d4a9f6ab9de64a33f19fc313c0f957735456da112c04e7f8887167893992f77004d91fba5c288f62a4295e40508bd1da8a3b264d175da0a6d731e985283371ad6c6604c84617ac3ce8f42adc501775eb842fb94c7e53a097cb1f8888a0a8a402849b6a66b303c434f69b5cd9c7e89b10d0706cb123886d8652fea51b6b2269aaf3710ea58022c9724b5fb6fe2784cdcfc49a6dfdeebfa7b8a7a7ac6b346618b9114c18169201064a4d73b2fdc302721be0657978aec989a449b9bea375dd3b5f197bf27998f161396ab4add2091c624a09cc2a7dd6cf99203bf09dd96f742c47bca36f478ec0f272716ab3800bec90ed9797f17390d1bddf6cbbefefc8433f23ee43fd19bde29d72b9477f8b88a91a013b2f2caec6b9c276929af7a065e866c1429c107ff4e11d723e20fc0278a6b3d358de119531e28833a631bb69f1928b450b9136abc1448f720de1ff9a8860f55e93069e801c701b0e316c31c03cce67fcd0833ee5f1ac50724b8778d38c86fc8327dcac7358a80b16ec95b87ed000fa7ce14d634fde2a620cbd4135ef44ee65e7558c12dd55b0b97936989d2cf630337ae620404e6a503772c1a1e4d4453f47955f926439b12c57b151954a4931f4a53a718840e99966bc1489a6b9e5aee76ab7eab21c957608a2d6a5c2d2fd3ed3dd54c4c1f8c880d2507227362f3189e05ee869ae565e01190c4a57c49b69f101320f76c396d05827a14e6b5dfef74ff3c491c03148fe85d3891f466a92490c37afd05e13fc81044cd73b4d5ee506b4845e21990ae670ca32d80cbaae4bc093f40e6ee84099d39032da727e2a0bbe3ee4b9b09dc0d64968b4750f8cf509f99a34699411da229684b33a7281784748dac9944dd513cbd9994dcc07c1d39ffe2930ea074aa0399c21b4dc5ee541b47e4e972db9d8211aa2084ddbd44273cc1f2f42f1d22a94604ba8a2b07291a1618fda911ad5fdc90772fd39928737c484794e8d4f47eca03b228bddff35d723e74782cd9775175f380ed529d27e2a032308d1c775d25d4bf550cc001e1d68ec6ac47f2bd5e5f2acb5740397a963f36e0dd682ee3e4bf2756ed48297b6721a0b2f0e9cc79050ddcd81d9f5e377f6bb2db0dfefc4f79765947174051626223bfde996dfb90fba0843e4ba0001a2874ef28e925e071194fe8c8eee547a35726be4f58f24dee76b5d763634dcf8aa1c86cc6b7652fd749f78922a98a1a2ae7271fd03a35ffeb1a71f5b414f0abd208f416efd1a6cf0edf17456d09c97909d7255161ad548a21b38a8cd2deb51737c8714d8c7ed03e907159613a57014e9b8720de548fc5179d4f105b62353acb0b413bcaae7e13a87ea81904889617b30cf0c3b91b23b2564805aea0617bfce1b30d22a72916a0dd77ffd6248618f46997e729705fc676d36f7dd080040813bd74eea27c27a19e0854fcc0c9e439c51132e51648bba39e391e9818f2e465774d7011322b13ed5d9eca1ed73bd10033608a23071a54fd2a1076d82d45d363c997327af982d8f8d1b84bf15435b4483e4ec26729464578577c218fcb93b9337568aa9c8a18d0f4a953705fc25164794d37159724adefc531b849b07ce35f1d285e9f83e2ac4fa675e65127126c723e736313b729f80ee0093eda71ce01de99f4288ea5221795db3ccbab80efc2d0bd5991f524949d488239d158a3b3920cb57328e2e123c575d006ab04462fe8e342c68b40b7244d0078122e508552da07d7b92bfc65e144c82b4fd05f95d1dadca2e7ab0e529bddd7071504002928959af5a82820c03ac6793487c34bea4658cf155d6e950720ec3eeac5103a0de12b715db60aef72ba6374de2980fa319ffcc01f9739ae67204800482124128e7f7f582b5d5e93e30378b499f546594ca6aef41d0a35eca72539877723cf6f50f245eee60e224975895f8304c694606515b20905311185e003c2ffa50b406bf462b6088ea69003ef7f04f0b65abc4a9871e69b551d29d1271916b6f2d74bf6eaa8470ad5e4c748b219a1b5a20fb32ca3073d1a197737b1704e176033ededc7aab6932beea5d6344ac271ad90ac66f1ced2173ae543301537257f57815913dedf413b574020173dc7b59ed92dc505d9287a9e45a74794bde7290696bbe32d11e782744fd79be39ded0b8721f38b5c676871e79a21e2949fe72145c9814b812c532070044cef0bd7741d9868bba0a964042a4c86d7ecc29c71c45777738eec82f1ec2415f70b24cf996f5f15d460b46e556502501c0cc12cf3a828374759acb659b8e39937007622c42576a1a1cbc9ef1880cf25ce42bc33d7216f8dd38fb31d45ea2d9564425caefca108e3d946c33c78144191d414a4857492297a29806e35dc99511fcaaf8cd526b5d5e605e76484cfa7de7d62e85bfe9720f86fecc8f7e8f2e65ef3b56ea857526ce80b81f2e555f406bafc9dbcb816b7274a6bda122b783c01b95759c2e7c436613aca734034a80d7e58beee8b2620872e19673527b67824a1fbb1323f8993cdd280745841674dc1e4b043f35b8322b1b9a35a8fbcfbca66c05bb8275128a57c7b9418f32a34f0150a30dce83ecb6431920bc3f84122a435e87fe18f5a46755ca9ff265ac7963c03f00ef8465463d0272172385cdac1ac7aa9bb6a8a5ba7937f7c58613ef2506a4be0afe31c4878d1a40db9ae19c7a853edb6d20f5a992e9b4aaefcb06d87b6ef1193a928522531cb872582559e1ff93c2da656475ff58addcc1c0746daa8a601ab0b5682abffb0d3623f01b8ec55f7be0862ce437541e0526309b05b3519be18e798742d29be0120f425ca1dfa48a696d62ad0dce73319e8a3763c1525548e0f2390ae8ed41995b9472af6fca81a45f32a959276162e767f3346894cc24fddc9484a399932ff6aade00a1af03250aa0fd0e8dfc3c9d1b894b54169d2e4499834253d78978b8f7668f72324d9faa0194e8b81d2992fea76551c10942e30c96e66fceb7c5ea0cfc079b72f2164f351c5f674351f427aa457027294ad0a79f2cf983a053f3678ca5e1d049df4759f31f6ff6bc5952957932dceaf3285fba1a7b26f962f6fa767a95bf8a72099d013f37297412bb56df2da22883ea94b9bd4fadb674103d1152c2945a447257cbbaef03024e91fcc50a2f35f47605aab4bed0f1002104430ad22836577d720876d42059587097c4c1108c73da39b9961e0694c5079909cf64ac219ea9ce72d646e2108e91ebd3e5547d690e4702806c1549f9bfc73eb2a87698dff793b1728af2ec180fe2dfd5ef54bb7c6ee34144544ebe612d8012ddba072bd7fe324372b9d3581ce4c680511e049068edf6f22290ebda9f7392af0fc499f8b4a70d55727eceb49fa76912710f81198de3ceebe101a6ea69a96eed12f1d437a177167916433ac3742e5e3093ea0a6d18c1aa87695376a2ffcf84ba00093dd5608cc13a0fcfe69d5b26fa897f6399005df430da5df2ca8cc55de3e9367af1e0a2c103c9723282192fc0a346b16ed8ea926880d61cd0138e02e4a1f99508d49290be9dd82ef920d47f70c1a5d1812af997e1d2582447c876bffe51cc0187cc18e95ad5c2116ebec58f7279fbe50eea30d2b46fa3ee6cc1a531bd1c76036373e584efb0b172dcb278d701393803e4c2d8e5208d68d5c064e247ebcf622cad9be7b819400836600d2152e0002347ae348878f0b01c38b3a6e231eeeb4d5cb430f72db14b4372de30a3202e70bc5c8a92597d19636bdf85a738bdd9836702a94a7d8eb2c6491e81c4dc2b3c16a75d2593813edb1ded1d2e569024a1dcefaae2badeb61e05e6655adc744040d6d7bcad165877638b60d07b8cdaa5a00814b555f67d4f4e3bf82fef2313655b45315c8adc9200d6d6e564d55d4e032508e535f4209daec090c3723a51b890f881ac5a8191eef1ca113ec74f91fa9479d0c94f0b9bce068943f772ed3bd3f4730c16f01b02124bd2594cb58fe8f04026dea85908992015b6e39f4bd80fb3e388754ba4c5ff4aa0c78842bf164e88e9583a74ec062fa1e04ad8b939df89fcc73b165017487be93d46244570577fef70298153d7948251dd496325723a3e33b4ffdaf7f98e7b6474ec2f5808e146b440923258b1d4cbccf00040ca727e3f9d52ec4e36b861959cd5e9d43beeae6e5607e8e660bf2933bf22e22e2847c4622f6e4398a6dda905d9ae2830954df7d7b7d9eb3151eaf884f1f61e963e6f3f3631eadce3ca27b3e75b4345b2916b4c250315453766fda83b63cfb4cc6d0e1eee3b510e19e742a0554c31fcebd20c1f934a0aaf7b8df7fb84e07a52b0fd7254be2c081c9f4f5a92a890cbbf0daecff36a5c904a34d2b0962a20eeb60649724513a78c040114bd334d423d6f61fcf6935ddc466814492d3068f43d252453723f199c75ce1c0a20153d788093ce668b58b94e2cb2bfb037ed5ba2d769331672c5a0a7b39f5d8ea4e04b343beb34923b174beff4de9524f15df75309a3abc02ab3de51a03516e0633ef1bb5973dc4f8c995041b2a7c30af980b879ed47818e51863044d8424f0c1fec9d61802c01b57d3366a5f8595255444f26391895af630438d8e2d35e69bde6230376e8e86a37b168b3b211720ae940347686aad9545e7276be399d0f24c53a057a722517ab6a6a19b53466430e4594e2c396d58b0b7872afdc03d3deaff6764c909180ec458ca1bd2458b513dd4a28016acb2034bab472b146d228a7c74fdf8b97d5c4f3702311e08628a75e39adcd1b62f6371a4f2372393db415f54b02c7d30e074774858af89a512c98b7f5a758cb385f152300ca7275b6e03c851a169dfabaf68f21c4b6d67f1ec0cd305cee132b4e90165d5aec7280fcd8cc39aea34053b7c339fc38573a918bda0fc735860b5cecfcf006ebb3725f9817df89d790d130e6400eef9f918d577b27b280c1d7cbb0d63efb409fe872f6899a3bbe9f49ec79ba4f6c65cd5131a98429a050be96198debc9d1da6f0d4d549604d138c171a3294663cbce07e595ab210eb11755f0b5e2e26b0121c1c11398faea6a9a5e684d07b10f949356dc2a31a4c12ee3d47671eb521e1128c0522bd9f72f8b8678c1ef5ba5571746f7898a1a04d785275e6b5dde1dc2ae26c11a72a501d3441134b2c32c9229d427ed7c7be90650f1d87a870d296ec28ab6a01e7271ddf0507200e5b7aa75539f4124a6762f8a3be0e25f23dffe4fb81bdd3869104a59a088011026bec1f1b9fcfa9a986a7b4d1662bef499a49104fa765b2957724d91deaf188a0dca2c8ad3478005b1b1d9b0694c0f02b90a6f9506813165ad72df14dabafbb7df4173700068f49d6adfb5403f682bdce7071b78e3f8e9956b72c43ac72d50fcc587c1d338f10859c60fc9f032ac35d88dcea65439d91b88697246f4e4d6713fecf09d7e992c1b761c749550038f1bc457ff06f98e7f8c90a002e564d3b8ad30c0ea26b35149b821f3e9c6922250713d88995ca4450d10f071646feed1a5c507e179bdec6dcb55fb993b10cf16cb050e02b762dec742b559944c02a7baae78a9db236533d3479bb21779f5128eff862c9b36230222519512c92ecbdb95276e02ca79b7e55ba80577b1659997019983a013515b77a995f514db0115b849f1ae5658558f1c7e7dc68753d9907ab7743543970862b77121b71e52703ddc0d693c09a7bda34bfabac0be10ddba96dd367fbb331a888d556c6f4d6459eb4f923134da4338bc8c54342777140af3376ecf0cc191573b97a517d6047372f1ff4bade157930b92bd5db685df2ca52e312e517a75862bfda22fc331ea6f724648ad306dcfc9bbeb6197eefe5df929938bc830123609f3b49ed28252785172bcaf1c74dde7b4bed5a8629495e2374c1ee1de6d8146fd5f77804aa1422ed1330839aed096f5154d0f871533d97e5ba040050a2e039b6edd228e5c9bdee49a716e9169fa557480491eb495c74b73ab7f9b98e17af0aba5910d3179e85c91b572766679659065214a93209851a851ddf45fefd35affe1436af9b2fb39eff4004a14442f538144ee3c07aa3036c2065007c73bdf87ab81aa7e96836bf31f6bc1728486edab84b1c4bdf5a62bbfebcfddc58559d3f07900a095afd66f46405e7b72da4d91b8eb06e5d2479cf5eaae386bd52f33c120e0200bd809610e33768a33723e23c271d71afe2d5f8e54cb546db71e7b8e9460b1a3f91349c7eb568a844b2a5a54b464232bc6321822bc14bdd25df798d90057c6137c480f03ffe5d1b0a772c85169665842b5f85428d67d3554041fdb6a492085e8ebbbb5c83d748e30f972f1c20e27eebe1b0f6f59558b232da8ff2eb1a494d2629a33732effd35534db72b3e0d6cd0e8a58fbae57404e289e7cd32ef24744560d4efe77b621db2c38c472fc407119dab79e9c3a95189233099e43daa119805738c918ae2cf3f8ec919172bcad1b3b0c6646c8786e67338d06dbc2aa8fba30c76d01ef71f55a147ce17072b988f477d380e5316a4afd32c8df30038a05eb68055742cd51c89aa03c089b7247f2b0763b55b09041795b08f2468213ae09dab473b7836f35a7054a8387e972c20fe036b34ca363d9dfedd07c3ed8a3b4512521f4855336282b4d84ba9ec80825b2b8f8e17f57be065cf6f9a49f96137250469c0ec3cdcff238c37803f20d2e1b2ec266d4bac70be09a25dc812c2054805b7b24dcf305894ae9ffae0884d4681889d1acfbef1fcb7b85587e72d3ffcb7ecc04b8e485818886b90d722d550172f6e78e2cf163009efed9f253f6f7db209757eaa914fdc590e43109aa15fb4b72cbbeaf79ebf4b0d2ab260213c19eb042df684d83eb01b124c06c3299db4f2e722892b83961accbc45ca203cfd0f0be059471eb6f7e9779d3862eab3ffaf57a72edc1da348c69a5a60f72e39fb6ae057b25329ac09dfff8a719296f3decc0615d8d2e593e60c920fca6aa4435891d0a7a12f5ef3cfc20f340e7c45eae3c16e772649ef925b37f75dfdfd7a38fe4bf013f7c0fa4b24c8e700a048226d9c29c5472a4601cbb9c6362fea691a7a85396042d54e52e1d90a34b57b38ada7ef78bc8727080aa3bcc067699cf9408695d43c81f0d17a91a28c12da025e21712ae988963dd6a44b61ad274f410da6fe163d726dbf0e434816bef7387f1b44f2aeefd7d729803717ceb5aad77850418f3aa6376019081cd50297ad68be22f90ffb35f5c72c3f1db8fca532c45e7b3be2ccd0f7aec140546e4d5037b1eb7375a4840fb4772f3dd68aaba8ef6001909b7a6cc6aad41d7b9c67ba0894e161c6151cdd6150572d1dbece58a0cfa19ce629a38a0941c79f3762f21839f260b434524c77b99ef720dc23445807a42966b0278609453e529b17d004381eb15ef1c561de1a3726a72e3686c41466ddcbe4a2be5b06367fad028a1635805077d375a8fcff2599c5d725ac7061fb952a80efa705c6b10893376492ebb927880bd0e2bfd1f1f311e0a72641c5c87a1788c1a65ce564ce5c62a96e7496d1881c3f58f61b4efb787902d7212bcc3094ac2cb7fa0043af03f83ea2351ecbf960826179420513165d32d485ed04560a1b9a618a395dec18318b9be10cef6d8b06878bf259feeeeec38721872b72ce11027071297312ad67553e685f09d96f0cdc2b774e3179e0e15b7b70372fde28467929cd7a26eba9f50ab55efa14cb0284983b39537643f5030f7a7ab4d3f0e65fc728b46dbe6548aa892d5bc9348b4b0fab03a894224bac61d12c64272968dfde9a2f2d95efc24dc27f1079bebed704581e52bfac066c182cdacda907274e0358538db9be059c2d8896a7ad68bafeca1cf1335d0c4910f69dd83c13c7203ee62d25d71fb73cabfa0a866c8fe7db8437b5ba4231e97f5a2e00c8b309012eadb864fd5f7fdc5f8747cdff2bb969665655705e7d86f28af1a6a2ca2de7272cbdc9894e10fe1991d80cf5dd44262b5b1b6a3a26f072f9c0149f831aa13046e6065684516ba05dda6e6cef9f005de4543624053416a6684ec96e043340c466c40d875c369f705d0b2ee973a215d595a3df250577d0372bfff5803bd5bba0d72ac81ef6994fa6942a3de19cb2a2cca3b420864148049f5a2d7f194e6e7896d6f83eb039089a783ce19b6a6104e27a301035cd350da64d32aaf3dacb00f064d72050c0cdeea9207891ed579a7efb938710a463b9399ad39a1cc15accafef00c726045bc71cdb0f5adf1ed8db7da560654c4c5938ce20bc3b0ff2c23d6f39d3512de1e5ca429a551174cb21c9d1bef4564dec7f4d14d6f8186edc955ea1767187266e9a0434522fc5c065eb6fe3e64c5fbca2e3afcac74c36a99c7fa25f14497721232e797e7009fc463d3d742728b702df230c6e48bae6bc65cc8aa0149d2bd729f7ddd40962bf904dc9682b4d4643e150a0603512a3e022cf5621020e6183c72a19a531a8d86c3be6910becd605627080b65e737f6f9609aa0f87f58d3b79701c06361b26629546b4c9d3d6e3a6ec1f27c3dd90571cc026d2fb082f39fb28407727e715e033bf542ee494da517bd7f376cd3bdd26a6b8e27336345771251ad72a54dfdfb93356573716fcf451f768a97261f9ac97a0b1a36b8daa33942fc5e3df9b5ee272efd8bb26b349c9c6d458444939abbfa436d90206fc0894c56c01872027255a2663b3a9b3c60b225edae2ff81569854d7d8a41b2a71150e8095031725c08d8e70e7d8f66f8a3b3e88219e6ed90374f20a96237d4a4c10b75d233a053d4ef5521307ec792599d0536e50a59f22fb0128fb68c17a337b5313615e4b06fadaeaad1625eaa047b16c916578e4ac52ea9076555e338bb69f25ca33379fe72c1dfc7739e481b81e6cb688447d604d3416bb012692178c01105c3d3fdb3723b203fa9f19b13f119808d56c204851a580f2b598a3e56c855f8594a8722ea9227ef4f50b1d28bd120685338876fa68e8efd5934e06038f96cf46aa72cec4262723eb5abc1415a7337b3e7d3c375386bff2e8abfa447449b2dc2f5aeb88813547204513dbe42a571ad6a84b28feff5e06274133e0856025b8f5372529e38f7d3084ea364d6d3e1a0f125f3e31656792709332e3322c6cea5e4e7b79c4d65b4e872650581ab0c74309708b9736e79fe5aab306ece8346b283480be357480c8dc751d7df6c96977d369e92182bbf31cb634d4e866a176031691a9199831f8176fe726bed2e3e432d48f056041012a79d507d8054e74d56d05067f22119ef1312577207ce22454a650dcbd6be1f4d25f6928e8ea29fe4eba9586c31a47f0ffa0a3b72f7ac3cac932038946c18de84404f867348be136ef4d3bc569b4d9eeeb2d88572180ce156f242c7ca7329148881fad1650d29134208168d9a76c206dd3f9f3872d7e142cf21e8886adeeb6412aa3013fd4231d6ffd0b04eee927b17f6c93a0d7269e052154c34adc98b52fb620482ed09454bff0bf8e2b42429d4b9b7f28b032199ebbfc91bbde3a1ecf740526b513ffaaa247e4e3aaaeedf9bae37159b48e072c4ed388ffe968987f665bdb6e6c59724a29c9beb7898250815843191513b212af3885520e7f5ed85ebe7066462ac729d220f1b013f7215bc1bec3406c8d46c726ed39ddef983a4672b3ac9ff1375fae1985314a0f2d1cdc2c0229801a772b8724bfb9c6ae62f2e09d96dcabcb8665d536242124d1be6c57e085aadc516b6f236ad8ddc4b60b22e3b21209d7633da696986bc92b9ff5af7f56782df494fe0d83ec25ff958cef729af7038b112f4be1329e72e5fe7518f7fcbc7e92ce207105c3361ba661348618c17736b50935d99e70ff7c615ec6e63f0a19532728b178cc5720a96e3a9b60409215211c930684fc80eaa09d894b5ad2f77ff7410fbdcd7c40534309d0faf9eceb7cccfcd1b049358cbed88609f052803fe5cf813b571a5320ef29b029520b13945698be4f0778a4d0a8e06c27a1ab45447c8407860a14a6e72c777270967df132b93fad949d3f75bc3e1215c84b790fea29e13eaf7f1342d722f22bf68666b5a5a9b9cc3232409badff5d85dce9ff6f2f6f60e04dd17b4b4727ec497cd17766f44d679ca2a86ce3afa932559f45fd22056a0ebcdfb82251b5150ab8fb9f82af428299e5e41bd40160181e3553f6de6d6a50336874d682dd4724c99d5e4a026b6474e393b41c89aa2d6a5b03f7cb76eb98aac0a9a73f925fa558f62a08270887be68d7a874723ef4611ada44803e261c7c63acdadd4d7f647728a9270231cf5dcf925424eed80f1a8f3b32437243d3065b8bcf74b3e13df21722438b1dbc731510d6498219603914aa983e3bb0cf371addf076450c72d162e2075b7c12998035e5e2cd515f4fdffbd83aa8fad872feefd71ffffeb32891a893b5ba4b7df26dfb7e11b341871fe074d1f4923fef644aa9c3687b9ccaed5fc4072b652ea94ca32196f5ad0b25986e131ab812da1cec5480b4b1607b3283624577202deb6d59c6a11c1e34a51540cc430fb59d6f24a7d263d1cf8130a41c0e04672e53e4aad97a939363359e177abda340a05f20f3d78f79cb3517763ead51b1a72e42905934c6477693ac9fcd5a2d1aa2a5eafd1337687b76c405459a684331904d513283963aaa8f551bc3a0bf6e8c60fe7d3ced7f7f9bc2b24494f70d47e0f72c21eb3bd370fb8705a18867a4d8b92517cc3f5ad5285867be8204e6bd9b1fd7256690869e7abda39af73fcb452c63e7d9601187b7e7e9c50f70a3346b6e1e972b1100545317602ad25e2212a70dd5d59d549ae0d21457930dd279ffada7f866ab2815fd02cfafbb342591814107f0f3420fdae6ac3c24eeece9e1e623d694a72f2cbcbde71e2ff80ceb0e2aaac4029edb3a399e07dff612a6ff59d420c16b621757d01589b885215594dfb8a130561edb0f172db27808de28c808e5db4046c1ce6ba1622e15523051c4d76419dcf824ab231a4fccf4387df50376191600e607229feb2d61967e7304c242edf5c4abc79bf8b29e9fdb5b55d9d08d56ee694cb320ea02373fbe34b110a941644a98f3c840b5901161ff310e15a2a0714d893f4729a7bd40a4b1c732dede8f477ae6c2e045355c03f7b200d69346554963061c97228b9f6fc547a52dff60fb76ab3991830c4bf471063c1c3332c422edc323ad072d9023261454966a79526afcc06b6aa4da4afc60cfc0e167b83c54cce649504243900cae76567ce8e530ca05ed8a79b10eca2864b474d34cff859cf8bd8d9e4724ac31cbc8c55df9cbb97c61456e0bb8aef4802d78a1b79422fe801f150ede072ad7ad69ed10247f931cc455fcb1d7ce6af7eadb06474901f41d475ddd4022d1e19bda473554cbc999e341f929a9795d64d999d8e8c75174d8c5b93c1197215723ab59d9111d41eb1b8d436204c75cb68e523a1a3a387e8dad00d09f1391f1f72b357a47799da9058003ac0f951363cc378d31a7a09def18453397c5006e57472276667517a5b84e00c4942d512603de0b5b29ce8f7254fc815e27aabd87a8672367066ca1be12659e69d8ed6306e4adce879f1370c52ffce47a734b5935fd008ae2fb931bcff8d9f37896293b07106482df1e7da7e6d342ff3e40498960c9b143f46337ad3de780b62ef10f42bd71d111dccd2e11e7b30c1db713c69635a5f222aa732bc3cd09266938b1e87d7f157587861710e94463f8921863b6e3f11c23752b1592cc263a583eeb2285cb515c0306e79044ec0946247734c8d4810fdd53d2824e55f36f3366aa48d6e54cdd72ac1b920588b3782d579742ba789c2b77919f25092b9225b0fe75635570a1764a5cb8d81a7b4d7a8bf2d739c8ff41a135e727abcc657467c47bd371927480da41c49bc3fe16cd5e0b4bf41f8793e963082721f50913b605574a1a7958772bf5c9ecadab5ee98a670488aa607d39e8ead0f72e5de4f0d85c2f389bf552b67570ca4bf74ab3ab161fec6bd41d65f29c5c040468f34caed8ed1dae54d7f132671178329784668d0e3cdbd523047d3d225391f725c10a5d2ebd4d5e8976166503acc43746502a31709f20ffec3d62eb0d0d095725bd00f8d2aea4c2161d6fdb15a2ed263b876b66ebb88c5f6de0de51fb755613fd9cb0abf7247c8bf9fa5c7ededf7f0041c69f262a1054ff575a852979155dc728fb2fafd2a7913918b8bd96dcac37af1f2c89e8602bf20491b8c8a99ebd3717249937813303900325361a415798b96f3bf7cb43f784851c0f498feaf44131572b8dcf321440f8c7b040df7295a0710b2723cea0162507c8bda1c610d91c29f72600ca25b9d3b8b6da472c3a9f5ebbe230207f71e629f4ac03f4460eeb782696e432fe434c952d7d01dfd8f2a6a70c6ded59e47346c77efa13b33c95c9e3a574a92eaaa7b947858c9f00b5f1163ceb0c48753aec9f19ad17313987c72e37031725ed60920b246227b564e1b2019d10212e6a0b15e73f93a5b71016e4c121136522e7a4d97777582fe1e2e2bef0b7752f017f5a54646b7177bc36808c1c42fa541ee5669f8706c482e0420be59019d0e73f007473d805316db6c1d4c2f35d332729b2e57e505027d6bd578f7c2283af5d8e70f8130a8f116c5d24813663e055964b84f0c13efc7430f9382f1fa4edd88098f5ecd79673da5bad4432b5a734d8c7211736c92868766faf092171df3f7d4fd722cc7964fbe8cb99e702bd7a81b6e44849d229be9cfeb179c0d8e18f0d8d58c7bc4be9f49e8158c2ae730c4b0cc126d3e80fd1f14a74eefb087aacd76411dcd7f383aacfc74ac2cf008334c53cb7249f14887f191b6f79863d3bc3acb1cd23acbfa2ec1a5e979d7188f9d001cff4268a16cdb7674a2cc29614f96cc98ec90c31d064949933a960e0d872b4e37487331f22ad4e5b1ddbbb00c0d7d3139551292b87dd8e15c4b3bf2b01c1caa2c0c97659f81e7c99fb3f59adfbdfc4b937d1f132ed8b09a1f89001dd4043dac751cce72f20821ae881a06e255c654f76916bb7d9b6cbefdc6b92ca124495fad5044e2727a9ec294dac5d93f48ce9d656a58942de37fe8a3a83a98e339282ad1bc5c880c9a0c82f33c20257c3a1154230505ead663c3cda60f6df5db9bfeb861fbc6e4723da5e78493e9f30736fdc76f3c78c7aa2c4cdfa3ce92c9070665d4837855155b2c72f579e4fbff9150b910bb8745cb24047ce738d47211e9c7c72db9ab8e5672bb5b1e18ba50b6edcdd7cdd5b134b8bd2d48457767a7deb696d2d25b033f3e5f7d479d266332ca2e5371640aad44b3079d29a5f9b79257572688bf01c11c14166c738dfeaf6bbef0afec6639b6b3255b763de5663035cf3f92ff379fcadbc0726b8a2899dd0f770adf2965830a42e63f9f08a52ff61125bce97b5c1c83a5907234af32e33b11b8ab75081c74a68119fa33d7a8c3867d0f504ab98aa1362a547281f05fdb6ff17f6ea1615832b30a07169eba6a27fdf6b07e544e616d55dd1d72a55261e27c5fc27f48078f61f8531c2719e78f7170b555be919a91dc11dac770ac640f3e209f3887f3cf40bef20ad525bc9d3cba8c4fbe58ed245e94dd619272bf899f89cee89f0b0e703a24fc1ea15acaae874df3a3cc52c23a0fde73f0de72b33687e3bfe352cacf6d88c778f0d585ac0aaa4b00a43629b7848d6391e83372e9325bff36d7c0c64619db21d2048a6dab7cc59b3b8207bafdea36da3f1cc472f6f0a8fb6c0218eea4656eb6e7ccd67c9c1456662996e7beab523e1e2dcaa172a787d98865cc5b21569a64c229958deb378030483e2acd948451b13c1d435c07aedd5e11f2957703b078936f0b909266555afc3ef7ce3b21449b41e629c13572224544a38801303a3d87811cc51bb9ca47fe514d5ef86314aac0b709f70b5d3b2c94006686f359e325ef8e441a114146dd987cb9bad25e9577583258b8f2d772e92f5a583da4bedd54eb60bbfcb2cd9f3ca13635e418252e37c2b7d302371d58247dbd7dc80a83fca1d47b5a1f8c37a4b4691e6ce9c4c0ff26bcfb16d8e6027209d419c41628a133f835d5fd9698314ebcbf03fc2e2416d4ac80efa647086972118542234a7dbc3cfc8cf8936e91f95e22878e1015133dc48c2b934f498ef10e22bbb4c1df811bf82660e1eba20f56d0de2aad5f8f777a1a56f1ca98e38d000cf3dd5c8a43a74c2803f6d93f1835bad1c9b2629a196e2ec463ca63138c1ed23258a7e8946055e6c7ede138a715777b421a9147023dafef4ca61a47584a9e3f72a0ebbca5a5d2d2562ac2744809420624e9bdc0cd364b9e1ff31796ff75b9d672831db0433ff1f130404bac953c5277f4ddc286bb38364149b4c4ed7abd65137284fe7a149db703d6354176eb2c7e1852c917a79eb5e38a576812164603838372234b52a8d31a86eb4004da91de2d18a1edd8c2c4d13e1fbba7789f1e24de2b4de45039c16ac3ba94f2b15b04d1cfdd475f9cd49c12fd3baf1a573069b922f572610fb1e3ba82b8ca4d0c2d69c803c100814b2b5bed4ed022941b64c79b209f2e12ff308896306155d32dacf2a5d1259f74a22edc35722e6c5e7fa1a78faa1872276c77bdb1f8621d59005784f7d9c498306094107b592d94bdcd3d6cca28d9723fa485e6a02a95e8e9047ce8ef9cd58ac3d8d71f87621a19bcbdf4ef96459007188b16f90456e962b77f631beec075f8e8f568c2c5daf69138a97c7639a5897277a01784960a1e12854e9a7a25f1594279fe6b11a9b5457541176a502dba6772820e2ccdaee28d2cc7c44ca87a287fb06b4e7e518c8140d4e2ef7034f2b9ac72d8f7aea06407a22c64070617658437c0716535ed301344bffb48c6c1a237385b3c98ea6717a71bb1d798c0427d68a9a39167b661a2bf29d981189ac9ee7e9c2741a2f4ff2310e3d4534aea0d898de690cc094afcd2df06f8388f4f55319f4072010de87b33152f79307bb418ec32f860cac47fdb12911c10079753be2b20f7721a8810c5a9627ffeb54a1922aceeb9be584e5832ab2a8b247ef0966607a5bc726a815d85f22b58dd14fb27997c05235f6e0b1d5dac607d7d1ffdd363678d5f72f093b3c19320a20d0ffb4b736964f029b8fafe26433f1ccb4eee09b7cd6bf82b8b9b66c88306779810f116d44f87a397d6a89d3ea1122209bd112a80e2521e40beaeb2b5f86a23ef8c0052b1c0cb1db454a28904be4031e61d5a00fbc1bb97724cec7e10f0436a7dfaa12d3b333b0c4c0aed1a9021ca4ac3b1d787ff4fabbe72460375cfd277a511192df4e5f10768b293a5658dc3bc6bcdef550dd5d703897211eb64d6157bc41ceb70d599c4428e8648097fa2b5b6a32bbe48ec123d825b722944187a6194816c0b17b18db95983f10f30b16424d0d438ac979aa2c4c0f972b58dba0163cc12d67c8cd068cecbf8d71a03e65e75f25c14674d6f1d91748b1642457458a3ac25ada2005fa9ded9d52cc67c123f27b12cea207443c0e339d672824b33a6c3cb838bf9bc599b75eacb632df7182d89ae5fd36149b4e25b827072cffc620b752b61e5bb764262bbaa1917d54a4009ed3c4f548056261b8786ae7297a7e567527e4ce4b6420684f3ca6598623a1720fdc1712502681560feb069538cbab4b7ea64cd257cd0b5c0d1f2e9689254ebf5e7c045087cf05a845e873072c91689ef1bfe1609b43f9020c29dbf447392e26d5457aae6041e6e9efb5e3952b1043575fbb2107cfa07ea5269e5df7d6189a7763c629a9e9eaf2908d07c7d7272d1e48d3045d4166be1bd628b2e26d8b928e0e2fb513dec729c61826ed8f2723db4213c802df6c8125054f3775e72a391eeadf805969465cf5dff699ece84726303abc79526d0cc8cc1cdc02bc1305492b227ba17948de59f626c75a903ab72e025bd25a3452363649a1d2011556a625bb67087379bd627338f3bd83b9a805cdaf7c3b1c7025edfa94b13e01971ec509f34e6fdfde117e218d1609abc363e724841b715c704987c5021928bc26830a81f4f5e70893834b2524da69ae022901c416133dca39e715f6c259cc2c1fa47eeccffa2cb4b236de080deb38a34867953b18a077042f44307c166ea0c5a77b5af781a6cb3a421a406aecf0af67f898472ba4db2b4eba08b54252729bdb82c9f4f7c9879128be7cbbad725a98348fbd27269c5008d8d7b9c1e6b377064c4e6101a585a31e8d22f31592ee8f13b5ce84372565beae57e9a9b988c5b11bc38e8165fe76fe5e96b6b6a80b10a5bd8339431728edd36688bd2add489d161eb23c2db4a02d1db5746fe73dc4c434074c2d94b7214d2807a3e9df68e254454c333ff54833ad6ed9885f7c7a9448973bd3a843f7246ffc6a44f042397662b8de67e6e1316596e6741a28d4513df242f7a4287364980c083195d5eddd53d2b4576591c3307db39ba896275a3cc0e664bafe099de3e2511b01af2a3f3bb1d99aa32529a86c29de174fc7a7b6ec4a5bde00044b3df3d351afba83a4e587dbf5615f41cdf20dd0484c6ffac04a41a48f69273ec9da372b25ac8a8b865c768b6dadd067ddddcd006337572e285f9f23f6396f77e3e1c1efdf074589146a0073493ba22b3874d99413313e25669df51b8c83f04f516f072037e368b7618ac60cd2edc3841b3266d0385571ee6f6d34b1f15dd9ad9c83f72cc5ef4995c0a7ac5e4a476c96f3f77c45a76a5ae35d4698e3d4ef28d3ec59b72d0df6052143198522000160be03eed64fa35ff55631636bdb1815a9f1c6069723ef1bcf065c5bad7349341bfabef6b80c021ad52d2523422ccfbfed2417a4272ac993fec802bf1d8c22a380565c9e3f729db5da7bf85567ba08135f37dd8f36439cdc62b539d5d47a668cb112a0a5038ac53793f781b15fce4ebf0a42d86ca2b34824dc31993b666e6ed6148ad0c2d8467a20cdd0119845e4ca8b6f455b3ac6b70be274abfbe7c0c72b38e682ccc9146d480cfab7be6471acb0d211f675e197249671dd1840234327b8b6f1cbdafb9b03683e3698ead3ccb52463fb34f0f4c72f69132f87433ddaa061d09cbc142ca74b83486e59c9dbf093face875133a0728c431506454b12ed1e1bc5be5934318a8af273bfaebb4d071a9884ff6bab38818c077d337e59ac19f3f0d1b8213510af8b57949987e329772cacdb3e718890872aa4cf294af12dfa6c222db6a7262d874362e9ef064043a9430800e0e6398177231c862faaba0e93f9de0898bced5af9fdebbd6bdc5485083e29060046ddd1472ea039dc5e03d144d9d9feac60d56be4f55ae3981719df617bdcaa7fb6bd5f072edf0e5a8b4b4ebdbfb751faf8480d6a49c2fdf01e1326cd761e3042d44c21c72ddb62d6405c55d5f65dac66ead36b2870b1a8bde5ee44db913a440d16304364ac27b196b49d0fce7a011f030a235b4997fd21d2f3d3cc376915513d6b3c88b51c9c86bc3ccf7de2524dc6d0ec82d08aa1122fe879bd5fa83f27b2f4806ae0672b7ada05595d88354a4d0a1e95fcf3977c65365b008cc5fcffd8d9a9d0ef89a72247b95cf0abd2db567758cebce9ffff34c10de929a0b8fe9eb946a538454652be63a7f28dc85dc6fb76ffc14b4722f7bfc943d4a70d83a729b5bd7cd0a79da11d933cf54dded8f1ecd96b84d58872a74d1a5027b7df961e2aed2f29c13de47720c1bb375abadcc86680a76bd5e439a4c3452025c5b6f3e62b8b3c5172523da72d84443afbbc163ab5c453f7350e2abdd844af1f88dacc4aeb9bc8479a130587227afd30ef5e3e263cf9e3ca31a76683da36dd8fe38a78df2af1113cd6f902572c5b4a634c2a2d1ec85b4787823d811450070d94ef6cee67468938a2af39e442b30afbfde8ac83d16a0d34bd87b1e452fc84cff50739d0f00c255a3f40c8a9f0dc707a2775229e5bb5ff0e2b72ee34a077cce352b4b55f01d88628bff6b2c7f1b9618732a06118e1d9c08f50718b44d3df124b973cb756759ef3dbd46f2d12772026842644421d8b92931444a4969491c99cf37b53e64ec22c72df00f25d24f72988f80bb5d695d9c5e8c426bb70ecbeee4463dd79892e40a76cdeb8c60b89272e0c66b9b5f810a486ee3983a24d957a4ade2709ceebf7678f8407a072eb18f726e1d175f31d69ecbbfa3afcbca353f111527b693799971a2e8b4b17e5a66ad22c04f281a8566f65725b1a5e5c9cda603c467260201cf3eac0e1c8c01c84df272dcd254838d11855631be85af1f9b660a845e41b0a1e72f0f6e6de7ee6ec42f6d02b072ab625921c697be5e78346341fa1db61f5d6d187a91579c0685c47cfd72bdd597c60dae14ca9fd59503df3a7e593c6468b9b8e9a0f9f4c4d9688e134a724490a907250287d65257ad6cf16df86fe5a895e3adeaf2ed14e7d4a68d89766765e182d5cdf0b2809b540cb522fbc66b7124a2131146c0bfeb7f624ceae90a726dc5895d2874664f8be92b7cde9e8b0da2f54876ae62106f506db9a0755c1a726dd0744576e93cbbc3fcf569ae3548bd3b4b8c02b2078f3ddf162032d227856d7bcb031f08b5db73295967333381533e38b34e064811796262db3f68d68a937283a8d7fc87b75db122614689e6dad9ef55ec0ef43ef147a0f1f8dcb39bdaab6e8486042de82d3c2d64041a888057a5b2079c4b0ba4d1e3f39a885db0f252927226615130bab6d35afd3d97d6ef21708e4c8a5124b6a576906161b5e002f14772edba94bbcf270b23825b782baa84547b91d63a6aa130310c33f052c0bbde567284b6dadf2bcc5fdaf3f98be39a69cb077b05a15f982d82c02186f18d9e88c92ce2fbbfe74992b0b79a7c918744b482249257d145eeefeefe1ecd2b1ef76c0533ca1fe7960aae11fe60c241b3100a5b25be81c71a5a8d0f1c26b9d902860a4f722fc406cf66d45102d174deab299580e1b890ad81a021e227ad82ae309f583172a795f0ed9ccd630f551451dc4547bd5296be9a4036a004fec2b65260fea9015eb4d9b1494c8c44ac8e21cf100d2c09a15528404a62e49b854fbdda9b4e6c171821fd15e9a3df5c2e307dece7e41afa3b5627f217c288d263c62f33ab13e34272f8e24c47bf5002f2db24d952c4341b9acfacdb78140c151b672d78e0c32c39724b43af1f00b5524779a062288da8aeae4dcdd851ff369c96cbcefadea35e2f70f7724d7769127576c65196b83889a500b424388276e6f3fe849fe500403ddf60b11c283b371b59d2857284f000e6197c0bb21bc3fad52dafcacb3fde376cec72ed41ecbfdc7173140c3f3da1c078366ab843c742b54b94069adbd38b23375c72e0f85f08ee15b9fe1772bdc90ebbe8f7e99769167584d5b21f8e321513528c7253b9206c53436b7967cd49fbf7d67ec39c7606740cfde5931eea9e4d77259672595df86262e9998eba4f460bc1af7f196b9495da5208f1daebd58c235f76a94d5d06a2be239551d85d9503678028ebfd690f01f2f0dd8dbca695f25bfe12d272488d9238b4907ea6085cc92cabfa4de6417d30beeef3088d4bfd746c2b8f2e40f2a1704f7309be298bc0633e6483480efc502b89770911cfe15f132a9118686b17f802c620e3251cf919c9e41f53ea392e65649cd8d9921d9f9729f997d31972eaf5c273614de31da959e85b0c3312184f8b66cd71dc6acff9302c50cad24e725ff56f0b3f27456fb7f79f65474d52ab667a9fee1dd3393dfff8a5a4d635c5722e7758bceeb52846297e84213a3e53bc859331297cebad110fb788fe4b6ef1297400c6afddba4eb594f92d690580c9b5d0c554f44525427c769f3bdf2753aa724a564cedbc96edeaad92c746264f3c50ffe8fff7f62e921cbdb5f4e591d85272a7fe5e5c28beddb24dbeb5c111c65644e8e8762ca219d28b1946dfc77c9669558964b81acbafcf1b3d44bc11fc848c973b77363e992cd5628307b9b3630355724e30d5160360b79346a35eed3943972fb88290b9a5e7cf2a44d428f13040b6661eb9bcd00cb3b6bc26d3cc80f32e48ec2821f3244f7f25fa5ffabdae7a1d667256ade9e937b46bbe329640b0731142fe9d1e2f68281637f0aefdb546f2ea79435a049c8e00a2b158f6268626dacac538d57a51d4449359a54bddd70fc378b8726c83ae2540f800740191c5b0c7899b3aec874f5421a6b6924dce9ed816d04172239a1080dccad94d3688ffc79ad8b20d9aa782e02dbfd1f4f805b8f07c20c47217878c4bb52136537ebc407218f7b024bfc5514c1bd0c5aa3aa522f1b53bc4063ca99fe51bde76a92b7435e11e8867b0f75f3cc50dd3c62c00987f94e31cde5d077fdc2be513319296130a601aee434d1a5c84adb87e88c7fe942ae976f8d47270858c9c36f6a45e138e22210691d39a2ab6b272fcd9e277f612202f1eb4e37258f8368cdb34bbf808b116be076c6c0435e232947e52d437d5c077b2b799522c8a0b81b980ae3fd13d58607906d53369c67a31c4d8dcda20cdeed9dfa2884472680c0c2cd71c513198b3cbbec4da340f2dbefc50b48794ca8271cf3272aae872c4f937be0c752dd6a013a1dc8eb81e1a0fd87a6cb1d8842eec9de6e268b6de61fe0273aa5c676471a756accc299a117edec497bd85094bb5566336a63f9d24727d353ae49477eab58ddc1353e4efc801faa0511f71388c06b8b5e36a758d79185a3dcee3e3429865c68737b847b95222b98dc6f3344ebee163f9a86c34fff572a3f1ebfdc77d503e1796e4a233af503ce485ffde1b4096c4458c3052e58fef72ca9fb45e5b893f3cb2e06ec07db2e5f8c8acc8fcbc56f6b4eab0414d04024572702c07203e91410a8f2bbd475ad2d8adb28b829755bc8c21bf1781a98b5ae253de4829ecd25a67c4682d220c20bed35074ed7d094838b6d0e6ba616b5792e8726ebf91ff9ea05c368897a0dbb58bd0dd9c86cdbdbdafda86b465429414fe6f5e4d0691c69168750e503f303f63240795fe3b2a85f375913be3ed46f3e413e972c063a4f3af1c450fe156ea3a07c346dfd6e08add7ec7c7682dbb39d2a67a794db511f3dae1b241a934b1d8b4955b9658093cafa6dd82e4ef0fb913b825f4c11b1d87f3e7bae22c260c8abad28bfdb1dbd81cf601fdc57fed78b054af59f5a5727d58a5701dde3686d3158326b61d70fe8b2177f2cdecfe9e77a8d74317726048d9b6155d426379fc2143632cea9e54c4b22091ec409a9893b9bea8d792ef8472286d8412256d54fd6ce5b70b50e15516c17a0ca862200b94f42681664178277224418e4e2c28b4889ededc3d8c156fe07afc22f9d6d69f881679274ec464dc720eb6330703e44fe04a6138d71be3ccee60ff0f8cf78fd0c61944230a7c4178725cf53fc03626ce4be8e3cda2653f8f979acb9862c4f544e97a14db5f39e64105052e40fafa62a4b0c4891ef0e0fa1f04a7eed02a63a4fc31270fb8bacb07d2112f251adbc974f72ec49e1c3029528d9197ff891cef2af81a51dbd152d669b972c49ef754d2263efc18997bf652ffbca2e48983ee7b2d6a608bcd1bbfa720d5231eeaf254adb7f9d629294351ae3d348a95fc3488517647f66289c5e20b9c145ae6fd1dbe8870b1b1d31d239a1a8e7637983302484b4a3c1d3ba328ae2ed2a13ac0a841860a79c3d23da4254e754014e6e44da2d37581fbc589f55fae95553672f978c18e6e0ec93b4a88b40265223bf385b0009d3dd8abeb130f507836876c54aa59a618ea0a2b7d8e818f2e94c4024c577a598f29e2d22f669e2793fee33172eb28e0481595f5dee345b814c9dc72c906d98698965f15b0e86d6b05689b8d72ea46bdf47e7f0b67a841ca285ad63ec2d6496ca2112167e129b4ca56c251274d2477a6d829a56292cc60b9879f0a3c3b8cc2819d4399f6d14c9a771da3bd5744762f9677160199ec83ae746e1f12d61d0356264ef561457e54b0eae703268949498c9236de5189f23aa254310452c410b465e3ccf9a2fca7748a1619406a87421058ad2cb094c5845857b2a4208d7deadd4666d3665de24979ce04ffaaaa8d7281f2e00eb096d45d67719daaf30695d68527c0243ea027b5d78443a61989043022b716de89e308de425d719c28681e72b29c54982ccf9c54dbf77375b248e272c92b834efedf43c000bbae0bd8c3d2d3f080eea9ef72244eb560c1683a8cae72ba9cb740f6f99925e0298b69bf53cef450ecbe7f34acde4462d3e5e8a54164720c8926aa9c239befeb8eb05af9eacbb11c8cd16b8fb2aeca783e19fe7254586c8b04581f7c6fa39dd179974d60e8a8efd6d6c85f32c0fee8369ddeb1063fb77280c6b8bcae9ebc9e549419faed549b62510670db43e0533d4e54a243499933729d32df846a5c841b1258d9ba0657371e37996928769d28be6bfbe851eab02472139292e0a2a1ad7b71cf3464156dd5ef809da8ff8ad2c31b15dd677e1d83d172a9441fba3b3596759976539f9733865a7648a05bdff8e965c10b80264a10327274eaa01cf98b830b32c6cfd2ae02298ac58c2f3f2e353c5e19809f3a3c547d7221f6cdfd56bdefb617b932c2c08eb537fbafd43c25a8df530a2a2e3d24c1f723d7ce7a37f18d88b5b562a132a1a51a9d0a8763eb286f68d8f064b67fd828637261e2f4344d77d1fb397e75f0fd02ff520eb65242c030e533a59087af4b2c4719b99a376defbfc3c9ccbb42b92745d0d40d353c6200fc0df66567c81d3a0851728e6967bc1c8e5bf1d001aa2742ef94ccd04c0092c55e1dc53455fdfaffc36f1b97c0b062fff82f1ba1e6ea2c7a2b1599c07bac90a2b06e94147b3200b046d4723ce3e30ac0566db84eba7c0d18e0cda6beeb5bb8f28509fb05fd6b9d46cab94b6dd1fea2aca3e1dee0e0ff0da2b2599e4ed215dcfa4cce521980b64a4c878f728e55b65f655518998023a1d02a6ff120137999d4a063c9f1bdf75bb0acc42d27d5022e4914abed5f638c0b07006166cd812812eb38544c8e38edad051546b0534c4613c265d05fa51d74036594cf5f10d838f62eceb613def060f54be7004072a25487adbf12615bd014934bfe368fd283de362dbda75c5ff5a5630bf9292372d8eb42cbb6bc25af1fb11eba0ed3dd133ea1b653d9be7fdd6f12151d34c2e54ffd711e8c7d3e93c81dae772cb9171c6dbca13965afab25a9e6dc548755029272821afe54d15e2cc5d76584812145fc16e268ad10f7266d9e65315928139e1772ec5b36c36d82f2d34dfcdcf4973340ecbc79bbef0b74b860caaa6f8ca000c3721e44f091914db2a9abebf0d2654c5e1f64a2463a301e4d088d56c562e441a65b895288d30747afc2dec1c8decd01b5323320841f7d9633b58495de9773dc59433e7629ecfb9bf50a69bd17d95657c2b169dc06f633fadd7e61a57592d7310e72e4efd418e230c49718e119d875ccf541f97b408ab07df3f3f896c5be98ab201561b01d1193844684b821e2708fa051167929b8a66dff6a2d75d6be55b13959269b1649df867c1f213c162077391595428f12d6a42360356e92f2a0040283a20845a09e272e6038d8e532c816be45ffb7f810673841690084ed7468990ddc5c72be9f223330de9c877900d8e974e02ba304dd2eec2eeb7c6f17efff0d280afe08ce053ad3ca12486def9d810539763ae852012da364cf7d97f7d01936c9414c729f38e4be7b69304f7aa5057206f7d57a545c5898ff90d4b8459347a3306af1723516b9b1359e812713ef90304b9386b3bd010e83f23ea27a3eb726c1f3193072d2cb11a11288a05c93b61d2d619834336638e021e9e9208098b5065f3dd3ce72008af8a2d1a4462f34dad380d830882dab8167f21969652b8e73a68d599b6272051efb6acbcae7498e17ba261152d8bd4a9190e6806f257c90135e04bd60307291c9d3e717f096b97e34c3b75cd59e66f8967cdedc6215cf058ece53dbacec7201d6ee2c86b2972d5a51f8f80a66c5232971ba7159d885c80c5985e23b594772788db0e0376c0021f06602c9c96a297c24d66ca109e0f553f886ef79e80ac053a24927ee0cb2d351485c669aa59415558f9a267792d39070c14502533c3ae34dfdf4558dd0a4fd0bd1f571ba7f2b39f5f9976f363efd27ee0145d2db4d3ec772ebd666e291e855e10b39d437c7baecb5e715ff9631f26acc87aea4b51d9e2e72a085cd33e10e595e9ab1dde21d8dbbf886b7bae77d594991d5c1042a69b854449c6e2d81458956f93aace51bf758423df3e2a8ada1e92621c8bff07cb5162c6a4788a90035d0313040a0d0e7c35e225aaf20f97f78ff089e88620cbd9aa088724aaaa385e783b95b3d4fd2a548eb599bc73b4dabc1e4f7c53294a00d7d6670729d811cde70d727b0fa3ece302c946630c275cd79e8cb8169e90ba5898b5c2c72144b6325145f3269317afc1a8e4b920f9488fb6cd08036c653f599fa621cf1727ea9494e4113f9ffd5ce5680cd1492f4209e83cdab0f29feac7cdac6c802de726231920ba0fc923322e5c733699bb535c485c09aa1c2a0dbbc5b91a6e530c567e961e8c1d369570e94a4678d4a031f6c6a09f1b918ea56e277edada3efe2f072e1e9c8ae24351f8c9361af6857c31eaf9b632365154d1b798bcc8745d1c46472332803e62f82ea83fae3b55c8730e7546747f66a389bd3b84530ace0ff876656d79037fd35382e9bfbb06241be9d80f1010e0c3f74e98c3d7b15984496bd9872c7b9a73b9c7165233946ab0de92f3a7f5607af6a9544247249382625f83e5a725a59e974fc22f59a6706cd3e4acdc6ab6d787e19683a74c6d8267ee433cda56871ee314db6d78a701daff4aef86bd4e81e56feed80fef56048d89af8f40d15727271a49520a13a30883a9cb774318170d1f5cb450078574617e6bcb027269c7227b9bcfa0df936087d9ff5b92ee38ab69a6a4be980f6e3578304c3445684325cb5a3d071eac635f54738083bdbf91b5fd55c27eebbfa6baa810b3a847e356c298df8cbf025070ff4508246b2329e7f5f2a006277fbc7da4a155bcc37d2c99272b279fa2a97ecf63332557be9c14d8b1754774bf381a0ca3e7134aae664119733042a97aebed0d3e5f63afb3153495d6ffe18e47697b5d4e2ded2356f9b3a0e72ccdcbbb8cd7adc60b235aca3da70bf8ab12906ca6fbad2f5bc9075f33b093f68c81fae0f6a94b1d8fa66e21e0931b2b0ed5945870cdfdb3357e9b06199427a22e19e4c8a327e9a33f1c5115d153b6c12de71ef41591c3fb41b146da560371c72bd0f9dd6a96a641b26eefd52e2753b6e0fd9751b99ae82b2efe97e3efe85f8721f6439781ce9e6df2ea4737adb0597ac65b4165db0e0ff5d776077d8d1f60672de45aa7d2bb14d17583c5c39a10399aa0a9655a12b22782ccd1b79df7e6f3a6e8f676755d9e77691758f1892524c74e776e0932b0f782e567df6467c979eba726acb1e5a41af47c3b43f2aa9127b7ada6fe6ac826d148243e4fc06d7118ab772a34556af456f04a787410ed5778bd2b3f5ceead30a319756e4a311c5d46362720da7d8c9b26939b0f0ddac0afa8fdac929c3275527a149cf135255bca7f69f7297202a5ca2ac1c2ab7e7cac5e21f444d2a3e11fd4acc9659e56076dc7978da4240cb7516567ded782cba46298126e06a3edca1003da86add008bc7a8ce4ae272785ee0e7b096e630e673d8f9f763ef731ba673a47f3683aa88c5fce806d1e76b205341ad9118369a2c6d9cb0fce13c5d83a5f9bb2e28f61c16eb6cfd824b2572186f6f4b448796f103437754fb30ea8b19f63e8ef2d481a51106bd31634b237200bcc3c66a25925336d164061111fe7cf452d894b0d5f77e8d7c136b6030db726abc79a6614d8dd521bde885193b7fe4b620f18570046aa6776b1e78f216fe724cc7989d89d86994b9f92c71c065d0339e7805b99b07caa15ffee0e084e3b972c8beaceac275abd9a28aec98ebe77287b1fc37cd6f4d008527dfed738c419572739ad2c97ce171457bb2dd6eefaa93b7205cce084da04be9214dd0bf9f40884cb9c7486f65807f223303797590139584d2837d4cfe42b527c1380a898ed1983b2e760378e69567f6458586ba6d0f2661982e273fd5824262d0d8d18172d2dd660335c8a5d8157bd9005eae7492e05b22bdf48d75b6c06cb487438442dd863208696b8a5218525d5f476f95085b07627e6d0488bfe5f84290cac22ab37afbb37237a7da54eefacaadd39572d474d36a2ffdaf699a1debd07acc7c04b4b8d35472f77bd9eff25638a43d9f7bde1518fd4a1a2e69b6f70cc701f2c8e1727178686df5376f00cf86c6aba86a562ce5599ba51885b62df8dd0a983e00e0b1c906906e233c03f70b1bb7bacc5b6a742d53434a40e57c2aca9a6859e424dbaba10d0072c04e2f39527d8ba66043d04ec901d790f1fa7651868a1e911527fc5b07f8696a3d27a008dae0e25f5e2e5907a3c7d0d7df43fcdbc3ac67ec06cc50c1b7525772172bd5eedc09fd3d5e43c1e002aaa8f174cb9b37908db282410a24fc89870617787cbbbd172972353875a628d6b710e7f7b931d55a660068eafffa7520cc55728f579a5b002a38623844cc775adfde491f2b80e7f93f85ee144456c8a12b41723b98de7642b4f6078b45eea9b0a5904ff85332d578aa4a9124a48cf1e076c57206ad3910629386ee2b0393cdaf5eac174c5ddae6d4b04fc6a5d350827e457f72361bc3ab8bd2a195a951dcb090c7e8c19781630d72a44d9261d8e3f6d957b1729b5ebc57162d224eb38ca8639a83e802b1386b309ef7b83080fe48031d195b72666de1db45ede0d2b04e99966f5942d7de4dd36fafd1df855071693aeb42312668740222111e30f95db327e88113ffba99189702f784b22149677dbe53b581721db9c26d53aa8f20279facb576509a56671d3567c6076c3e348c8c318d928e7209a7fd45d0160a12bd03fc995df6784fe8eacc424159437a5d4f008ed8580a4328b44f39d90a0e6471c84d01e3eb004b126caea69d0b570a0c21a1ec9d6bc72b09a040321393dcd94be972a8d0f92f33b73e5eefe2572d3cb0ac2c22be79903f2261d1f85bd19a30639494f84d880ba7a8144d57569749f05ac44113e6d797729ba274ba9fde85aec70df5cba272b6b7c74fb5ef694cab042df470b800c55572a17d41b619add036f1e9f8903ba3acf9e1f21f401fcdbe1a3fecfc51969fac7264b90c27bfdf2633f29943679d990c1e3dfba2b5143034273bfb57f16c90036f0d25aea6202b0ccdc6bf3cd4c530af27e9e9d3cc06c01bee9e67ffb9df887072f94d2c2c423b3c4fd708464a1ff3af4d70ccec6c8b65e053ec46b917600a0a3c99319b2a153ef8f76e43ba778e63d1cd2c065e6b1f0140040990efafb25fb072074ca710fdcc5f897fa492e916ad5587834448e72351973768ba0a4490420d723979e591618d62a90caf4e515f78238f53525b1d963316f7f9c5b44ec93a4a0729635490fc016bc3835590374425403f2018a9ae00aefa10cdf98b283d6bc134a1ec7d559ab9aa5e5dfa1046b026ef1ed5f8aa77dc0089d01f57c7193a2cb35a1514fc77345a6e49eb13a7da7228cfddfbc763c176163b2dfbbb44fc2c55b1725bdb1abb4af44ec50fd8967a23fcf6d2032b9b954707e3862438387d57850572a998535d5c7650d67d4254555a85910ae28202303e56dd6a3d5b67a4373cf55478325d22dedaedfe6d0f8906a883e329125f9e535a7071916a385688f79ecd72362df2c2a62d14ec64084a247c759580eeb69ccb7980703b72be205c7a0ade5534cec66cc2b35f0563caaf959a7d65f5b1196900fe0b45a67ae178ea8c25ef6f4eb8e476c1d9ccb6d5c32889dcacef0739c507e0d8759fba4517d722a6e10f72b99b3f6d342acf4e54353d09fe1930eab1eea48438eceaeba7107e33b774327274f4d89230a6e9fb6ca428a6cd52eb98a5135542c3c900e034d0ef3178399309721b82f2d68ba3c29ed61682bcc8afcea87ae01a17e39a27aa68d50de14ced725065c5757dd7c8e7ec8de043529fc5c4e8ed09748fb5fafa1e8cb1e85203fa7208266697e5ddaa361e566f4e5d32cf7d614ca20f7b086185b7142be631ecf8393d749d1505c03cde59e3151b1d9f233b6c4ff13e169ff9df817933ec99125772b5a7e53f2baa314cfd3118df5537bcb3ab0e7213991b6ef869d8b1a46f02ab3a1eb4e108e55ebe31a774fba42bee03a3e4fc6b4e1e3fd0db6b02145dc006732517b1324bfea775f0f2f57de09f84c4287fce82e3e437664ca07997dfcf572d02baeb3f494d4768335345c993a9418866026467038ed57c0f870abcd1c37edb0c8995c833fa693e0c3e6370c04f5e27a9c2517a3f05fe5b78f3485ae0337a9f25afd068b869413634be21c8a62f231c18549d80ef1df285a637a06704f1299f72ffff408e99aca9837a09d7d48015670eacbe2ad6687eb353becf10e4f4226572739238b68ed03575d3bc2eda7fc6fbef0401904c1b57996a29a967e68e151042ed99d9cad4d5d90aa91f82bf4c9f80e5c4026bcc82a5e53cfc775ed843ed3b533c742c99dba29ae8c1a6e1da38c54703f975dab2486e364bc2ec55245ec20e72f2af10e0a03cf383341918751b1e444aca23786303f427c319d8d57183137c72f92d328cf546cdd43ed6bccc2b8627b622fcb473f057023eb653d3ca65803e725170109e680581734542665b90d5a20108cfa965eb3851d66a127d43b9a2744e71bfec12b053e8f2d0c77797a7001ccf16097db4f33d9f1a4f6ed88bbad9072d2f65e7e9013f3c8d306865c594b4aa178d5875925698778dc38c0c48e9ec99723e4b499870ea0b9a8c10185acdd64a0c8db5b5916757ccdc7caf4d43bd91d527bbda49b79c4748a1bc3f561421835eebb97d6d2d5bf1d3904ffdd0f57e6d7e72866d9b40f27a2f9e72fecabd8d383cb85f36e2d6119b8a48ebb91aadaad8f87288bfca623d1bb06c0b486b4695654474dc760a2e238406d9fd18a4b5cdc2e2722dcf2a34b5013b4bdebfc0d22e12c982361bfdf72e72aabe9726e94a38d6715ab6fa5ef8243b692f809f8d44c4b21f67a6e1184bd05ae3eeb54b440febe03b318ddb92595391b876928bf4f11260f580a9d6b7918f2a13b8b3668041eea1e4720a1645849f7e0b8363aa6c4370679896e515213cfe94bfc50bd7cc8a60ee4e72f60025acdcff4cb517aa548641477547e20b976711ef352539c9f06e958a8b7253ace923d49b5852d3449623b632d648041b55b29d3252381368cba50b413c72a6d0de7acbe4b3aed2869d7a746b0efbf6bfaf97e54ee6b6d3351d8df0ad3d6f0bd423b3372ef25f3e0ec8c8f4ec5f5ef2dc5e0b7dbbd26aa2dff016c3d79b7260c332c6adf8282ad63c2acb98d9ef7fab3ff72abd1a4e04eef04750b81d2c72b919d434b0ee1eaa2dfe7dc937def09bf1e7bea985e06630a7fcf5747224b572b2e2a7c0cbdfa0a8609c419dccc5f1b106847cc53630315e1766b7c9f1ad3f72bf069ea7bea0ac1b3e02781b01de5e50f0a9032fa8744054eb00d80e969242698eac24b54714f5e4e8f619ed38ca957672772bcaeff14a733940fa95cb47c272cfea1a06b7aa3ba4ffcf503476b4916a35b4f1a74aa808b3db0374ef832f780a66fd79778b651515ac5eb3cc8d355e425fe0d11d8feb5f4784ee300aa2a2a872a9d7cb2288972b9026d48de835ee2423bff1c8764298e79520e71481859186725b432f1de9246664ea546a6857e1f94d6880a91b70208b6767ead24c8ced1272e1ca870dac352648782be3b3e180475f95b33ff323154471302ed55e5a5403725f8a1bf1d0d62be9b47344850d367386eb52988f3d6080699e23e7aa84aeff724e105dc63a639c99470eadc67900a5847b4755dbe0f30f11f78948a68165ea72cfa408127fd8341621c3207f2c261a768b33ad2ef0756c4bc795e76609bfde6546efb7774b027d285b6c93b217698b9e9c7a090594b79494c521eca2c8a4c1727d0fe9ac3e2acb674e6d8b353a4d619fa5d76972e1dc4b028082d7e606afe43db43eab6a3d4a8186f948146ebe69ecc11889505b8a464fab7d59f34ff673cc720847464948c94d0baf8fdfd05af7a88788657642b8037957c958ad6e65d68b72c41bbbc74629115de26e67cdab2146beedea96b3f807730504ac36308e8dc14d4ac7efd0b5cb91d53367b0e4e452186bc9666303ef25c2964c7a86ac34263039ed7b36cc0ae939de4a5c5facbd42bce1591189ad0d5506f239c81335dea0a657c9bcfaac505282706becef71b05523ac6da422f4797299839dd704ced588c2724f23fa8217ce8279b153ab1454e8fee79fd463261837af02a8bd665d6a4c7a721d8e52c984e74754e80c33a1b7c92be96da6b2624f527811f9a54bc4b3486c7224febace6f1502b35cf76fb1d799d0e7b781aa814559907410832da8460bf45eec77bec243d3262771ad26effed647a3f2be03263d90b244191611943ce71172b995ad379475121169d3e55429054fc8bc7f9d87e8855743fed753d174c25f7290cc2350d45615a759f18d0dab2a05ee5d62595223515aeb2200874f8b87b4723fa0277aab8b930333022d245d16568ebb4be539f1cf340dd7671b7200e69d653bafcb722631f8e86ec29de02bba4768cb2f7e5e4dd7953a771f883b175bb8723cca9784a89d955c9049f26018dc6cd51872e17a3d870140c56d6bd11bdd8a519eafbacd2a87b4c15a5dc00f602092f65a6c44c723e129a0e2966f82338b733e7920efeefcc0a495582aee8f0eb6ad15f8e48845f5a1f75cb9fe34a8fa89c8721e9f553f61f0ccf9acbc66c227f6858c5ac1bd60ae6c7ebe67ab52d9d0222d144df935de39032625da8661ac2ee6fead269a89412612c06863fe7b506be0ae725e29d9b0937d1557abdee9501f8f5841f6d85a7ed7e5cba62127aca18765ea1e9e798c1d0599ec52bd36f21b5826f88ce884aa80bec356777b8e2252c1a0b572432bab1eeed41816f4fc39de51182076ece2a4ceea5ff6fde928d6c293d7b4726127cb8b9a559d0e37f4d706b8e7a4782a6323a7735b8d57c13e640c3e939772722a3a18d3a8f03ee2a4976782cdc548b27408767e6db4c2c54caf84627fd6726ac49752b28c7937354e1998d5f3802b6af6118618d99c62e36e10594dcdd3728be86a1e761baf1acea9deff0b4a4a9ccc0c7e27cc3971ea7f81b1b9c9304c6e0140f27f1e32750077adf4c002f176b7e4ec7d2566e97fccfe4fe6f11369f4727ab4a2763d07bd6be8ff3c79b79dc105e6eba50b10d1912f73fba3b2b335d272e478ea217047b3d4e40f1e93b07a82defba83263d4273bf3a0036d07eeeaa34049a77f71bdf70867c2e5d47227108f2e66622c93d447f4d99ed0a04adc31f272c09fb11b175568c5d5d701b58fac20f69f624cc9774a3e8c519bdbb9169bd81d0fe51d11f35ed0cba32bad6085372bbd4deb58f1b59c69b88866bb610e9c58032a324324c854ffe0fdc49817645bddcdf3a73301d1c7a7e1a8d7642286f9bb5ed9d754ac34b775d6c25c5f50201179c506cc1eb19cd8b9dd32b66f2a38e3d27220f65682989878fcddf5b6339581baee0f567bf8b5bb24e0d0b6f4f8270ac672cf7d3ed21d39f1348bbc900700d8a9c4abe21531e1aa93f298c2ecdec5c29b72616555c4492aedf25ed34156c7a8b1d1b19a0caafb8156ac63820d480a8ce249646819fd690b745ffd8428bf22d6900dd4273f4620cbc9ffafa814584812bd126ade43b3422d64ad44c08ed1623e498992d1529fd36769f6b694909f30dc0c7250c77764cb4c493ea357c600461a2b37d8b5e775d94d95dd744aaf503448db0cee623640665f6b4d83f178578ad1c1b752b86dca491931e3308196d969b34c72f1f40db5094c11044eaec8807b40bb06127493f0867312709834e7a49cf128729e269b4dbba6bca37c6bf6cd8e261b6712038c35549d22084caffa704777ef720a0bf0d3262076fafee8b852dd9c09a1b0f6ccb3fc1d9df4781b2288a3ad293b56f2185837b13494332c461f1c6537f88a1646435537e919d14d054f252ebc220c8f0da4fb7373782ec8b9a42fe44bcec557d4c1ff9bc8db26e4cba8ab968c72d3cd9adf86ca7b80d4815636bad9516be28f8e7309b4bd0c929e2a4809e03254a48767c673f7dd4b37dc6c46bcdd0375fafbac4f28ac77d0f7a6ed0137a1902d31b84e2e53c4571b84b23f8e650e72b289bedba1b3f31d6d3caf8c78cc8ae8727d648a9fd4054655c04cd2b8045c6090251d2c30fb7692a6ec5b58028cbc24721fd7570d30894a3c302927e0a74c1573d03fbe30df84e69f159b0cb8b7d01402aa57e10666ac37991ae886ecef739cd920eee94e664111a98a4daa05650cac118209e1225612dc6aad206aa11ec817bea5cf251ec364a08ad253368deb57ae7212f28b7853da1d72439cb821fa074e63e45f3297702d26cb0cc4ace237d6df23e45e907366c9b874f31f833136b3b1d0879ff488daded944f0177260155cd7723727a80755e02b9c623c757a44210ec780c470896ca343c732f8a3685d69f51ea8faf5494631acd4ec28005a900f6c211b925c49f6a21e3087283144c972b37276079f697845078215e4ae4221e3ca07b33f1d1cf5fcfb8520864bf3fef08f14959936d3fd00944449dda9fee077d0abbef5cb469e64a9be01b4de2febde1b36931fc165fd3e79a69c1c904cedcb1e450dcd91cfc70acec1f337393de518852f2719105354c9426054ff8c779dab05e3f7275c6f93b26495ea34abca2f15aa72172a9d11ef8705f8e1d31cd5e10302b6453362a3e36426b401a4483e72cadd2ff39bd7f62874a3c89073a2ea64e4175cc6424737e2c246bd1e1139430f9e0e72ac6bf5c704236ca8ad2a68f6d10893b52d37d8c79d7405dabda2577ddc21277213e8a904b304f091588ce1697ca5f2c10d0bdebcd963013f0e602f32e5bc4672554af3c0f2eae3b2938ee8826de70d4862080fd0ac3fa77dae60a9a5ea9e6e7278cbff60f0696b574e0592b84acc562b32a981e9347d0ac55024a48ee3bab92ce78773f863a665a08bdff01c3bbbabcb67f939d7bd12c66e566b04ceda1f484f1597f606d689711f04fadfb3bf5a83cb173f4885d91cc76c575521fec5edb87251f65848cd4b21b2b973b788597bfc5d9e074dfe18b943ff2ac4e9b3b8ab7a1195e9552fde71d49e32797a7a5b8b3cd60d51045e9b895b19fea8702fc48efc72a8be85bec2170091cc4c6ac134491c52602af7138bd47523f65b82f9a1908a7237a1cc63996697f2157092316645533d47b9e32d83cc35c69fc8c0a78aee99726639d36c770208a85de3ecbbdbb00b177c4483064447cf42ea79d73520a1e172c4f16f198a563dbb9d2f23239a63d3d5e433624c01532ceddd0fe8e7f4a10216d014a18098221652ea3ceeea18d5092686cc0e00f8c9bdff2b04e6951dfb6e0b400b1900afce0d37c2c7fc18442397b7f5c06858c989df53d0cbc224e1562472c031ffe272738ce5efc824c98494c4209a05172d7c54fba2e82f1996afd2a06f3d534d23910e78fe757ca79da2f83c482ea8ede8746a2154a325763e8ca94c13732c48c4ef335ca44b10e41117222aa02c560c987190cb2ff340122ddc2ad267976b038b230a6864d494ccdf399055e1d09c0a870da0a0581d8c5e3b579c2b72a67693fbbd2f2faa3b154ce4324e80b6aaa662967858604b1cd2e54144c0cb4e17abd5aadece83f93b59c255b74892f46bf0a1a50259400e549421de08c43d165fe7e09475319810b5fab9431122f19b624a4e4fee59c0b8e481aba791050572758a642669fab0ca6847633fc1c6b767d7a857af3ebb3947dbdbf0300ee5ca0a60de1b911e1cc11584710ea1569ec2c8f6543f7b80a51535b364097262bb8a180d76e5218c1bef0bba30fd6ad2fb2689f5084d3f975804a842896bd75f17eb36d2b910818d1de1480c47c9dcd15312cda5482fafcdafe9114cf99ca9cf06fe72bc37afe6b3ee15ee28d8e657ccf58f97081313d291f35756aecafae4df8cec72ce6a2ae93cf26803b231456d35acb64d34c1940efe368b2cec118f72e93127729394be68caa358764e98578ac1ad20ea47c89db4c42097d95f10e9b40110c65fbf154663321d9a7b0635d4b78d2d47268d49ab94b3077fa4af594495aeb17472a7b0ea4fa351f14b0887cf5903a1ee566e75d6d2e35b4146e2ccfa1ff944971dd05929d788297d550dfcc3fd1b76d717906f560a75fc82fee7d6026d4c7845720d12af58d77928c68f7e9563d50705666b1fabb3a0868fb3b928a945af133b545cd640a089a163ae935af69d1657a1b1a93d26f3bc40230eec0314de6fb89d7255d2533a9c5d984df7d30faffa5500937382fac02ce06a399b300f94cf4fcf7297ef1745e3d63968d4abc829257549d468a38c652627c0455b681dfb92bfe17226a566e69343d1268602349f4d133a75d33e033238e55f3a31cc71bcb58fe2721b34a6f13364039badfcc70eac551cc528363cb4c76291249e963ad907c39f72179a4ca9ad0af2ad28c95439fa07d4285e93a27e88320e236555c385720b1d1083b9f8272eb0434c173f813e8e1a1747ead7f22c53304a7d3c62fa5428d05872fd787b08902ae2add42e34546348b12129c1fec42ebf9bf1fdbe3422d23c963e7892bdb342b60c345809ccfadf334ca5a73e5f1069423d16c257dd8a30725906347d2916c6b5ba5bf91bfdc9a2aab4cbdef84353bbfbf90142af4867250440724469513c73ad959351eee2d285b128fdfd66d674368d552b2ae2e8d79be1d52bb4c1e3e59d3bc58ca4adde5cb469c15db1f5777ebb161f268c1b4ae28383f270be37e8f74c0f0380f55439835d059a15e8f338ef8a1f0032ad15eab4938a1602eb74db9ee4e6ea69d0eb1e31e4e97732f3307d834668f2d385e5842bcefdfb72ac78d96b54abcc8bfe721b5cd69ec84c0c7f5df93cfe00ea2584bf5edb6f497224152bbcd20ccef97f60cb577a17c0aa79a2574572d3d1a070bc609ec65b496d624f2bd46065417b114b909ddc3cea76d3a8691bc5bb6af9c5d8dd1e39eb0f42678dbcb52b8fb1d790ed5cf9e2bdd6c413a880d9885bfedfa046cf755a247f4c3705a00e0476cef3dd662b29beac73bb34f342105a43b95346ce04c9368f414e182b563b3af896b5300091613d6b0970d1afbb28bba9484682b01cb9b025d26bb32f3b666b7414192a9204432003fee5a976b473a37e3bd7d100aab64529dd728e9acaf7ce9dac5b6891671ca444430fe6a2b02f7c4e51f4bf4dfcebc4ec604bd6c93e998f9f2c460eedb03ef7bc8b722cdeeae6a22315ac3a7f2742df082c19d3f2f9c350e0e15f3a4161fd77cc91aa74e8abc239f447e320e1f0a4b9b2c10233e64146ceab474f4b4a27a3e7c7e11b8faa30e80260ffcdeff80b652f53300829773b7a6975aca756b213df6f9fa695f779f7214459474706821e9e1c75ce2137309caa2e409c3904ceb37666aa8910658d58a604532c1566eb775b92defe72f7da9d7ddf73074e0ff96503b823ce0f33b4ceb982639e56d9a0be13468f3872ecd11bb8c03f421c68f7ab2ae3f37ad211272eee5c72401a8f7b7e84635f4e722e3a19abeb1773afc285e3522ee7353ae1582dde7c9566166b715ebed5b6cd022a74b32d0dec669c1245aebcb9b2eaab8a3da91c31760285168e27dbb739c772c544c80cb02747efcc6a4611f78bfa8f15a3b7ec6a7d9f652e009bb42d48ba720d9b380ced4e869b7344173d81bd4df2eff1f6279e1250e523e56025d729f73b39027ee68be3fe8dfff3cd676ce9bbf899050088a4804415d60d2b074dcd4972b5f8f6e3c0b500e962e32632766ed0b321a32e89fed77b10c0cbd71d3d12762d2afaf04ff4e6710d8ddb7dc58f09deed274e0606126917b56ce724c0e0ab2b72cdd00d89f48972399d5ca2fdb9eaa36e3cd4401dcecc19ba5ef5d4c6e8d85c72e1edf33011ac8eee0f53ef006f7cb5fb28427deeae30b09181e07ff62a67ff72c14cb7246d1aebfd988b404911851a9cafc27529b638b0d3944aed8bfa557e7232758b7bfa1a888bd7be0faa9b69628e2785a5bd8fbb318c61deaef866bae27120a6fe5f85495a2344b1470ac092025ad56ec92e07460f3f397f02e11d1d5b6b54b91115f8b45be827efb1e4625be46fbb03f76e30a14dceb518728c96a02272d0b58479e549115ad0af42c358852734ebaead21017f7021b8b8ddd0e7c73b72f820a3a1ee56577f50fe68cf7adbcc3579967488fe671474f54f774fe0cc5b7263f4336d0cf52700ac98add18da16767e99af2eb89c531b1fd2e9b328bca716dc77916d6aa4f6e159590628a54020e008c33d7e3bf54fa70293c264f61a367720b3c45a8cbe1a245d91ee831b2d5ef24c6529bc563b481b29279065e2b5cd36653e761389078c056f6906954809f82d4497092054189467233fddba4cb7823146325dc07b30e85a7501f7f5915cc486e60095919219aa121c85c1a89f8151d22a049265cf648b50237751a198faca5d50da265d13123680286e440cabd131a250d9d2aa9a8dadfb4f42e55a1f46ffd24f3c001d0ef7b83025a934bf02154ec1125810b6cbef504c36400e5409d1d13fea87bd70ae312149ef2979873758d1a720a4efb15be89bd87106e207994e98096594b87bd2e948eff4d08cf34bf7987726814702be16f73385df974e287f2fc025f7d72d2783400e391303fa757ce4272b5617bafb946c2270db3040690d530520673085d6ec21f743f4e3d1181a81f727476c1e571ace1bee3861ef1891e4ec37c6d1d9854a6931813173c86e973ed72c6b79f6178ccbb972b502105b91a359d3540af5e1ca3f17e60a6a59909c3517264210ab8ebc0923dfd8a39effafb86893027e14d608c2cdc575e6dff61b56472381dbc915d1e2b73964d905442b5de4546c8139957292f0ff603883cc60bc172edfceca207fb812889fbad5d57acd46371ea17995cbb5e1d90555bf3f9a6817294f143a7f3fa8b7368a1c4ff43ff568f33ab8992f833ae5fda90d5c23282b0728215ec96e1e22fb09cf5cdaad6766c8aa94342e890a82d755b75ad8c2a9d15712942be1d368a57d22a8730185b7eacf46f1c4e8821c4dcca76efba79738d7c5b7d32042238fc2388c91fd535450c9103b67191f80bbb4f74496c85a7f974027294081abdc4148c1592afc9789b3dc4537bad5bd98648e9621222f1a6335fdc729a2254978cd3167dd9b2e14e906fff43de86922d6cdeef31ae64127014474e0d9fb70d3ae2f13916e40a803327ec2e655d9c2c3266237b51d5beb4ba4b57aa7210634f6bd1ea8f72cdc6207f255c37d8ea2bf397899edd5ebbbe7542fe9e2472704b4e1695ef8c8ec13b5048a8fbb761310453b049c76d87cc81f431d8c2c372634f29c84695900debdade9860035c24c316a3d1702222e5ecef4ecdbe3a4572f1ef8b061f777fc07d768ace90c482a80fdcc6d90fb4ee98c4fb20d87dac6d2d009c5f11e8f55bbb00973a7bcd18a5825276601f8478cf00b1ddcab4ffd30c72db5618acb737e85a417a3ce26da326ea66f079a4efa54383b108fefd85ed256e143f1823cd32cd9d712e852d1e7f8083606b8c306576befef0ff8da77315ac72b276749830325ff39bde872284352fe3b0969e56572936011cb9c3a3c870b3519d69a91ea0a8432c0c9692a2f62e6880658811a514b06863ce181612f5acab21ab199aeff793d34f7d162d16c4337ab14db89969d2341e4118c83d291174cd720f476f33ee1208f595fe9cb1d677966c2621fb838e96c9e2a8541052d07cec72e594642723709363672bbd53963aa00ef29fed7d2ce91557cfa5b71add402847bc6bd7d2eef04dcb9c82912beb5148b50c97c59d559b3aba476ffb7744cb5a5e9686a32cc58a5efd428aab972d7a85fdd14218e11bd08623231871a2cd90243583a2ba05b13377dc6b1942f4206ecbceaafcf025725b0f18a7d84d12048145270a2275607361e5c141aed08745f39b686dce98dc0a88a4d5774b3eec96ee4a72893185a1359a936b4e49dc3f02ba93aef1c6f596583741836a58099f331802278da1ae279c47dc495c7b8be169cd16cd35026bbd0012c28092b2d1141ac5387217569a65e388799c8f3995f4df424f9b5d3b78d55c1fa2d88785eebf0215a4189197c538b6286bbe993dd09c8a69055f5d187e8dc990416d10174e32816a17727af9cb0042c9c236c998b4011657215f3ee4cfa17e381638cf1c630819757905da4a3832a8ff759e80f3139d1e393dd653b22bc0e6622f2e7cae1e2ddf7e89729a87ba38f45b828c73dd6573ad237783b8d12c169bb110a0fba31929b1e64b72133a64da3d636b44685bcecefb616ea28641550deb5fcd55935fdbd9e639f772232e34c78ddb28f2a823e2eaf785c243218c874b6320909cf710f934a6892d0bb2b46077fb35bb1be680686133adfa59b76239061235362984dfc25fde853724085d0837d7fba7a5fbe993cbe6dde463cc87c69e274b28746de490b7d5263c722ba786353975a108ae5fd5fc5988d2c47a4fd8a8d9f68afbf8539e6854ca7c72801d15441d21a44117e54ca58bea65d0d2b65d8039a9d60abbc9c57c0ed53672f8a48c54cb52dbc83f06ed3e322241c3cf80eb72f68ae674dde41c986d139502406e212c722b1ddaa9cded0170770b4af15d29c15bebb54fd3aeb80690d26172e3b1cc3cb937b978eaa92fb917dc09439917f6093aa99e0c0cd8a2b6aea060725000f8a5b6e94a1dfe32eb4863f1b55aaa9a4d6dbf45aac606f5311aa6ee16524fc543eba6620e6bbfa96845db5b45f0ee38b235c9be0523b14cc356b2760272ac6fc9f11f3de95ca028947fbc63bf7aac2eb048907fafccfc184184caae14277688d314e6f4fa3a6f2f96646e7387ee9f97aa6ad3cd059f50efa9e76e025a7265874820ad636f672908cac72d6963ce8fd19b7e8c0d624e6936d4efaa4b200a72a9e0558fef5f36076e8459bfe5607847108a52c80f2d8420dd25585df4ff72f57cae1c25495b89030fc143910d69aef691c97ddbfc8b43034a0ea0c581df728567cc103cce6fa847ae82abe01aaffe13d71a3112cb65709fe52f64b23e3e72998c4f1adc241ec9a8922fe003871ae6c48aa09ce69a04c4179d4c4ba25d2d722145d369986efa1c092313da50573008a4490495736b8389710841fcacf1be72b95256cafd128816e07e0206936fa7648e1628660677b4afc566c09fefaa7d72a04a32244d79b8a17f8cf8d3384ddb4f5760017904679e7f2598e47da2701072a06bb0bd7cba0c167f7c09827bf44d263a166e9b09824e8c018ca70b5e89e044f3560072f01be1333255313a7e025522213c8bc3fc4bd20ddef8c46a98cb6353fd37e5c29d51e4f5cdce96b941bd20d9121359b5bda85501025d556fb2ed00147901ddbb501aa6d1da7528fb29a320d4469191bc9cb601d9ee6c8878b5cc5b7235c197a92091de07307b11b21a103adc68af029cb1841eb595ef0e8c9291ce72076dd3eacf4a11ba03aba9198113afe4ddc43add21381d2b89112f0bfebc9a72c7ae74b242c0d302c89ca5e92f8bd4b878f2f960c67229d184ec8bfc4e03987239a90038ae62905d955adba5e3534db2f4e4949998ff7437c778a29e6e1b83515dd488a3e9c9df4705f9c2dc0f26092ffbdc7e4175eb0ec517f3ad51888e59004a20923ea1b3e787acc190c5517569b6de4adf1a7e1fe20ec73e927661cbea721c6f66d4462aacb243e129d32f4b8673df6d6e54ffd371e46f5abf15ef411b72bfa0df5af75118de35d82a686d478ff957a516e007eec25d1cc59793f403b57207423ed16f60b5226fd92cd62ac08e9afc6fc72237252027266a6c1af829bf2c0b851e65ed07929154dd3092d06dfe174d2e4fdd96ed7edfc6645e2fc6a58a7235955eb8c2c89344555f81db15a19eaa588cb04276eb3931e9534165be614072bb0d1ee19b3e125660028ac25bc110864d38bfbafc133d3e3450e90917b38a7218298a4b09ed8d49ca5c19dabb091ea4425d7bc3ce4d6392a2353d751984b92d4181b91d832c0f68b0b3a5fff06439642d674c734d2819826f75aa983c91b072e1192cdb0e6360652e306bdcfc2dfd03a84233b15f0cc86fa97b9a3b5db4bf72be1b2cd791c8db4030ee1961ad0ddc61dc305107c5e312e57f324193d49b977234912bf8cd7e8a0210f725a4ab638e1cc38d243e92f04457da25f3bed13a7c72913a50ef3cb73dd1ba62fd55330cbc52c741df9cf4aab6d6616ba943ee82c672b26908a7b846ed44b112681cc07129d64cdb23238c85f108b947179b4fef9054351029bbb10b9ff1c58ce9d4cc9f5e0a38f8d511664271f488e5d38af4fe53278a7f28effdfb810a215392c6c3a10c52f208ccfe95a63d589360375f8256ed7223910d57f3188cec5a236752660dbbfb1bf5b147478dad8acd371da12d5b1a06ea0c90e6b4fdf4038fb84c86ca60ea8dadf1f6fb146b0d7e1dbb6a9f22c8ec722c9ef17f29af02aeee4dd80c5c0e189e0060b9d923f23422b5be3fa20c2414403564e377cac35ee8206b61bdc6c4378d64864ba0d11a18ac2be0b7525b7cb572e3fcd054bdc66892c41153278542dcdff55fb3e725085e989ca025f5232fb672e33827a0ff72f13ea12864a6e4224f53ab8ae0ff66a13f2120f6abe381abef0828854ab47fa5a09227eecd9fcfe80ccf7576b6c9d92cc6bf0fbf9f1f5b8eba72547cc62a960a91a03ba399bbfcee4a1e8d13e6b4ddf8f93ee49e6e454139fa1debfc6c7343ad724fe32df2664d540a53d3c1bdde567bc5ccf7370c1e618a167260dc658c5b4a90f0ea8c4d63e46de4c5389e2b2a6323e62faf1aca38a5e3887276a4fa96f07080cf9f4b77df15ae8ab0dc8435392c500dacd3d978b68d689e72e0612ad0ade1eaf2c0212f4b90099c9b8af943d14d646b9d9c1d9a6e0898831409701a8eeb135553fd541d3b0f9e01079d6843d078cba6a980ae353a6025be44c5a4b4ab3f3516fe676e7609e35ad8f883353800e05c2f953b2d76366649ba72564b949835f1e5d8121c91ed15e893f154c97235b41693a125b5977ccdb0c772fe4825302e2c7b6c2f1ddb07ec0deb1a0144eccff8312ecb20c3f045c3bee7723c4f36f52c99ccc57c01c8b48f9786ea6ff1853a03d1e113029b31788e94de3f4b1ee89cf56b59056ac755e9584de89559aaf6cf0d70df05db70bf268e23bf630ac1d23d0fdf29b81a7ff0c91ca7426f8f6fe3fc02ad6a7dab7f921b63a0ce3cf1901cce8289e32d5a88de95c311907f3cac15b5f69bf411e9402ad9e5058e14c2fac0550f04dd481026f9356f352a2461719cbd02eb342d450b2279d8571c72cb2a8ccd0076bf9d19ab96269d11bef8c9db4a108b51ce2474ed2b9d3b12677264c1506dfdb9daea2fd5a1b0c66fef5447506516d98f3fc1aa6026cf7042016f3df1a37134621191054cb989f463b4ac1e19d73d7e640837e229616633a77d7276a2302a3dc0f61eb68b4417e35ea48730b219e6c42cb3227a352262ec4d2172347002bf41de7130201ab0cfb61c42ad9d978cd4379df8409eb688d5e96ba772ff60461c340ae1f120a3a429b2ccc489f4f106863aaa817cd5f9a0592f3f827297ca848d37f9807952b217175cdb034fae9d1f250d2b018275bd89f7c6b38a720fe78f0852d927a49ff42f6cedc3366cff90c8ef39219ef005a3300f7aa95921bf028e2ba9ce54142b9560e91f0258dba46460bb01c4f281dcadb4e81e125361963f98dd29a596c9d91a13017c22ed074c6cf9f8ad1d710db1d3e0458ba4c972a48d7c2d83e07653eb023b622e06cf5f51929384dee93ef750988947960e3c7258de56a42bd025f9690d8ccaded3fe346e47c579d424d4f01a47ee6b2ea0cd40ae435c6fab31a1163901cb160221e192ce679ea3f699ca9d6bdcde268f3dd172501419523370beae454b033dc7d42e041d0f86d95b91ec1c0ff1a548ac8121728351c949e34e330107ca763d9b3cd4ecf49fe820b5a5294e0f3642e361fdc8569070b9c2db91a281d20218c2f995fe5da9468e655236fddec8c43490aa34e272ce7ae38812595c65f11819dfed10cd1a320e02d14e192961ed00375b2d84087299a6fc1fdfbed6f9e7a63557375060da8c2e0a834214749b2349bb30aa4b5172ef467ef24bc76424e5469e0cb23d002f79bb9ff9cac4e85896b1058ee1ea6131e88b925dc75bbe66925a9d57cc618024cb628db2da9ffc92d572f8a661b8d872a2b825223ccc85e729e75db27e3bfc83c92aeb056626e97d38f61ce8fb88be460e0ddbdb8c6d57374de3d8a610f0f26aaf9cde0b4d0fec825a509f5f0935d272edb5123d77ebc1e11ce67caad0641e6a29c4eee9ccd887e09c1c104022f61772e12c7799355c08cdcc10470f0d1ad27e8a95edf9637ed8194e52aabca52de372672afd806fb462819f20c734345c782c05297e9877202d03b2ee75ca72b64672878104d42459651631d21a95a2108aaad3c668b4fef466dc6824da2f2bf608224912497363d21cda1178e89f0b7d7cfe567b43a501f9d6ed56be69f8e439e5723468a2835106abaff058385134bbf1e09bdab5a71ddb5f4d06afb66c4ab13172cb8e8ef35cea4b2f3728a3f99f8c0e14bdae4a45b64f8be49eb6cd5a814db21d17f86cb34ea44dadf0827425044040befa17783397d5c33841e84071f672c44bc6b8a095139a22ec1df996a1fe098045cffe5c8a1f86ca11f4a1868c7e64eb7216873ba224237db2ee503896c80f544bcd647080cd648a8dc3f3e9a5104f3d7282cf87d8e4647098f661e73389ce5b334a2fe418cc3fe8f4242eb48830868b359d991808d9153a631486870e4b07e9a056acc46dff6e8ac80001fdb027163e06bbf9071ba03fb88de2961eb0333d400b76dd61bb1debb8520c2f1e6ede910d7261c5268e09e6beacb3331dc247917509d0fdd7c699b54e1dbd65f05db0472e72189cea86f16d5cc3b992b126632bdbb14f5d111fca2ac5438484931eef4715213e92b2970b12b6b60493d3645d70c1022bd2fe87d281f3d48c7450f56c96b42c5c023611c5a6d808bd0b69e9edf567ca73f744f180673699fd9061e38f18ac7297769aa1a1311503a90dec2edff01e8a845ee1e48dd4786ffba3ea2430f7b5725409970b5253313d29870883e8e0ddbc8a65ef0ff104706e0c18dea7c86e0b7262d2bf93e54292ef42586195c964534551266e620663705c1a76f230d5327c45eea02e3abedd0bb9ab0fe4ab58ea61355690289cf3a2b38c4c50d39f664657642fd945be6a12a99df7b603629826a1e82871b789a0cd46f7d549450fb7063d033a27d909b228bbc70307b0286a1036876c745d6270dd24cafcb7fc327b39de725520db1c763b3ca6c0bc64efe9654ba6d33d9bf2e8fb7adf242ccad04bdfa159070d3d49554b5641be2c5aa36ba74a9c17aafd18baa7b17f34790872110a1521f59becc817fd111fac3bfc253eabf7a721c8af2a0318de42e372f1948bb93451d31f991c4b4649b9840aaf8757689856b4ade9ba787b221071e47066174065118974c36fb302c5f2c2eb1dea8500645138ae1580c9eec847a2d2cd42b1b4ef5304ba1d04e75ea1fc2534675f943cddd761314f8d9f4712866923e218b54d717257db93b12b190662a65e3d1b9329e14bd54ce98d9b5efa37829deaded061605f3323428129be6a1b556286242772b44272ff11845c6749deb29a6800be67774448a85e9764789f75415e82a50c2c7851628be24c5b8b4fe86a72c433cf9125342f81d46d682a0e8c5dfc48f0096dbfcd54db1982da066f5fc1a00b35ce040772a77afeae1034e69bd0f0d044c6bc395410093b1bb9f3056f6c48d4a87f2a197214087b204b2a5fd4af7339a589d7b46f5cafe754c23ff1c5da4581b9bc89cd72dc25047b129b3f15fb9a4fe9a0610160ec85a59458d549988d094da9e00db726a9a6d47e19382b511754c5a6e9f44b373e2a408b60c142b5085e7d28dd72e172cd23337d63f6df271ff6bc32a93ca81a2e93429d4fac0a62f46a657a1acbb315baa2019d1248d4139969ef3c44fb494642f5636a72aa3fbba7baa2bac0f9eb7259adc0d71d2ca11b43871196fcda6146663e981c6f56e841a26280b750588d72b7b5c2ef5486c8e8677f3b2889ec3f612bf4cb363ce3f704b642795133fb125281b89653b8ffecfd09eeffe65fafe480380b17e590196c7249cea44e83d63e63ac0d29f7dd551f786b61f40212171dcba4bb162dd6580fd18208428cb505a7722f4883fe8bbe55c0b00790549d1d5b7921cab88f53250db0cecef82f14ef3300591f1af75ed2fe1c7a9e1e48ecbd144e29f3ea7420cbbdfe13fb920a667e1917d623f53ca495eb90e095e609b4f5bf015f0e602cc7108a6bb435b19a1b6b592ffc8fe52d29ed2b31be801dd346cf164bb20f9cda05c0ebde3ebca7319a998072341caca3108c205e18498cbc250f19f925c07caad550642a7085cfc29dc8eb729f43020203922616d57aad7a8ad398e492322ac0b7f11c633d5c46d902a9b472eec9e0bb9977e4691299d3fbb5ec2b3fe1d61ad5929cd629a285b1eb134697722644f158f21bce0099a048807e755f27920bdf8fe996c1912602a921404b4443fa1b539f7d0dd7e8a92cc35e2b97408c3ed348d3715e6c8c212365816e5605213c31589607f7284b45faa4ba2fa31629fb8798bd5d160df28666b997b5d3fa72946fe4099da228a6674f3d874460005e0abe5d77f100b16fa2905d41abda415c54975bd237f21953aa5951bf947028c40bfbb46ef9fee67fb6c96d0f8fe29935711fec7df1f79b42c519252722ef503f0a868a91fb12dc48678e36f6c8cc183a52a015b1fb7a58d78cf7425c41d24c88c875ec36e0beb325d9f7dc8fdd830d72a20de6dc4663c3fc2444bc0650ad741d458be929115e1f1ff275594f1de5c5723af12671567f8ffdff4fd7b8e1915fb892899b6ff7924411561801907a3088723e601f1239e7cdfba8092eb305cdc92bb920116a503ed8b7b6f4ea05a737e101bf44f4612918c6e312745a8ab5708683960897790c34833f22454c3f0bc0a34ad11bb2f787d32a35091459086ffd289e66db229462823cd79ce43528ab132872844b303a5949befe6870f237e486744cbc3c3b4e6ad2661f308a5e70e41ee730e4d77040f078a094106f8cddd7f2761dacedcbc8ea9e62c6158581ed478e334aa7c58781e18eebf6c31562d93512fecd540e2608ab2048f824d0d0f32ffc08726905ba482501c3b561ffc5418c6e40a1c3b855458caceb8d04a9114709c9db0f71c0add761f2e842810363f372d1e4775c3b854c0a06e2659f0cf87b5ddf99724325fe7ea9b46d5d75a0c63f9b73fee810b8de7f0236c60f8ec3e48c7dd6de72d26aba3eb395ec07c9fd5589c5fea90a5f52dfdd72dbe4aae2c7fdeadd5bcd0ed5e977b40b013e9913d9a636786ca7a7136be056ce2f1bf043e7fe205733904c96e952c9ae18d0a98cdd5398ff9263cfa0bce1c7a7c5ad40bf4c6b326fa30972c1df6bb0f4bb46abfb057e96831f3ea7c0cca780302727eac81218546b644528a1b6ebaf4abfde7214e065733aefeb7bf9afbb83d5ec636a36667ef3fcd9cd7255f41f7667cedfa7b600e4e5e0a3cf456c53a33ef0af367ff96134cfd7bd427211c530a7c23c6f5edcc98cb3a8ae775442eba49efad4777e79aee3028cdba4666fd7ba04f892f43c3bb6eadcf8f882c56431c6ebbe2531c07575205e3565f565226dfaab440f9d365cd388e9c885e9f528396086da71ae1fc35da9b825270172b93899469b55836441eb1ff6afea9a9246b84e79a0f66f8af4581d812395340988cd09431d2726724a5b6edd953287e66193f98012dd37835625145bf880097260acec8384679d3dd1dfbebd7d2e542201c1c34e60344ae9a02de9954ab993728ebcb23addb35f85558899371371cc68d1a0af4de90c15b880adcfd56ac180661d914fc7c2c0d7bb5f914ff1d77a3ce927e49f42a19af136135ca9dba383210e84642836da1fbcae5582a073ef211343073147b61d19645ff8459afd4472317221934842fabf85b44e697b9425d422c594313a8f34c6c8b06f7c6cfb985a6b727d3a3ed44b902bf4dfcee99aeae48aef550f4cf4fbe2da86df304825397efd72c801d348be4fa09f892dd75b9d958f21b04c8b0d868321357cffbb8a8b6cb161ac4460badb9acfb439dab89f04d1e818892a3f51cac12e1ddbc1936f32430330d25e3c42f02b215682c0d3a1aac11a6fea077d61b6599d256257bdc5b5ca214aa32271ab06b11458f23492b041807da2c4ae69d9946321c74fd3c5118961705284a19a7145d3c19c8646cf36f53df953f0fcd7a2d8e924226749940aff865c72e04ca290a01754426285d663bf7607f85c8f40c648fed3005eec4d7863da602a29d2928ec0e0b019a614ab98078e88329bfd8fad05dc5eaac7460f53955eb259c6c4c2ec98a11742039da42703332368a5a00f292c8e013daef608d6f5d53e4cc1382e14ab980c6d2dc885fc91dba4c9d36ed98e137290affe32d430266136721e32d5e7e15213d1a50012ea2481afa673212295cdae0ec0a4275798c944a90cbc933810a15913434351328deb253995841f59aa2b9c2730b1c7252ae2761072a98ab56416dfc5a7be0a801f2349c79dfc7f6f15b39034668fde7dc485f1af728f4e285b2c678ff4ba45562ef9b07644e5559b63db2fb779bf5c1875cb07193c65f614a728b7157b06b4e406ac5faba536d40a28edd5e0ca5e33ef844f76b26f2df118e93dfa887229c6cb7348687f25ad29b4362e09588d0b4d705d97b59049665c38e4973b5f944d75c0e3d0706174f2e39189fb99942d59b087a4b2a82972cd47240f62d7b56f322028290d5072cf665dc3a8bcdbc8c8afa66b3d9978d972bea7c59aee72c2bfc92c9e5339c7d93a128f3e5d50c5496ee2083c35da80f9728b02eb300fc9e5f6481e05ba80651f50c98a082df52bd89b1a2701315301e35d80dd28d739ba371a467bc805be342e12d7ed3e33f0b5c91796113fce4db46a542ac14226a901fc45c977c51cef03f85bbf42785bf609c2280536ea6d00d900725c445388f1c10cc95cc1ff852e99b7d568eb5e3bc55a026dee8e04cb29a26b72c4a40c65aaa7eac2fb22e6174fbe73521beec03b062c03629e3736f6746b5d4cc5b8636040e64ceebd040ec9ff5e7340213564c9eccdafe14a32a6ff89d03672e45a8534500f26fd9311aa9560834a034f03fcbdb823e899fb9149ae0eed4072e55fe90a2bc337897315137f0d2b784f9d66081da83ac031f5146851be63df116aa7d68a988d41ca91389d61e84807db29c139f84c50ab1c7a9368ba7a250649eacb45820d8f47427f179cc4e1f74ec6cbffcb2e1e99c19762b9660e9ffe05720d1ab721334abf62b4e7e91576839eb57595df850c7a957002468e60e82fe772661015b7877d79936f93d760b2a91f7cd15608531639adf8a1e5392d93288d72ccb3f36e8c5529377792cf6cc8cfca8902944846e242682ea428ada28214a272b4e90c90281ab1201e8fd3d6bef16a615d37a2e24a4b288b645df1f12f8b7e72026edefcc89f39ea3792b448c51a2c7a8230d03ae68b54aafa1c9f8ec52a33721d539cef083874c9daf3f92100b7f4a9e0f901e08605228a204bd754d7f69272ea6408e6254b9bb7007902233394ba0ec6780166bdaa7cc36c8c941732d001726b008c46e23a51a572d6d4f00d59209a93f1894c2d0a0fb17e651f5a624c8a72f7c9324662c872eee8bd6e1a542c2d07091931cdc2ac0f609ab0cbec8658d572846dae4afcb9315bcfccdd702ae6a26f6523200ef1c30735944060e46b37740b19bef79cdfdc2f1c3330e7e39f11600b26ad2436f6e611538baf50266fd6b772f2999e5aa54c6e316bc74ec513fd4de2db7b5fe386d9f3668d97157b60453a333390d3206f7d2c399b281968773099fd1db837470d18204382ba03cfe1211f3b7ec11161670ee34f77137986a085c44425786386805e9a32338075bcb52a39729770a5dfc39256f90f0bc9ac327df086cbe548eb18b0e3b6c8acb9699cda501436418c8cf270f0db7506bc1242e03816fe9982679ec2338e8a952dfec59f21420933d581b9ad3b3af8198097bf38d0432b9aaee6eed5299594e91ce59d80700995043c2ab103e4bdd54850584aa3e4c12e1c333230a66c22453022a37f6924727dd3b64b5cc9e964c0c5ba46efc1a22b7b8e78253d57cff8d6d01dbc7533e6726fadb4cb01a612a1964a83a63d36012293c1ede2ef260c6747a5df257268d872a1dc6158855e52d1d9cc991987f18c81ea62b37d74588038bbba2ab790d3ab24f0b0c0ecfdb9d70082b46036b1131af31f908186af5ad17d137ce2a01146e2726709601facc49ce8f9882a184e73a56c13acaa440d497eccd00b943215907d01cc29bc8b0615346d63f89920c3293cc78290cef739f0b1af46a069478c67e172922e918436722e16c25adfad7857efa3e2c0dc4b91ea75f9ece9a0c0b5f97a72ed8371fcc35c967dc68342ce38a935f40756c37fe6a04fcbba2aa3dc4410117290687d36061106c161960d293dadc4fc90e0811e0552b9e4dde7b766a8bdd7728fa3d7502c3d1b8e03a749f6944d592743a734bf463a7d4331c393fe1266bf72043928c20ea6311c9b0854dc0aa429b6e9b4861f8a5e39b6c529ca5517ac5d6711ec051fe5689ab8d86b0226485809d62b5957ab670c1d288560fe6b9bfd815c0ff361c817d9acf652e70caab1a6175d4db0428945855ec7a107ecb76af10672adc5079ebf75f1e4adc3cde823f62f736608bf78ab41bd8c1cc8269b07d4b628e1d3b36b4f6a60966151a79faa6b264a2e31e7f03468f0819c0cd33423c4e137c7ac31de10648130f0bfce15dc3f0622e12ed7acf5e2ce308ea00ea5b357a6724e795051d22001be1f03a72683129d03138e993fa20a6968294629acad849e726d31cba268d45228465e3f5125fe1b587f1befa926a537e9b6445e46511fca720974abbbc81abd790542cae5150a5d25cb402d7b2e0538cddaa5fe696c058e63ed7442eb8cc7586711d7ed4eb8f30452570880cd4f5ae196df0b2ffef8744c7273205649ad4695ed27e170f5d58172f5b00512b5c80cd6a22067590b00157f232262257c2f87b6acc7de4ca3a741635342fc655904858a0e9cc87e4c1129480c2463850f6a631fe93dbe6abb276a2e6104cbf3b6b427c24bebbb4283ca2d3472c94eeb5e38d4b1ef83697dc929b1c42f1bf27b0199a2fd4115830b5fd475047284876af3bd62af510fd57f5ffd1d22fbf358b80d2f3bdf69cb36d69da4d76027293bf94c7dde8b66c66be569ecd2eed6618836456d04e3d9eaa9c2ad1175184d5596dc796630ff3a52e4416d4164a688ec427a93fb3e2b320a627ff56d77e37240382293672d3976e7b834926c39ed57504323ee5456509837181bf5d8604472282ccc01a22530e5bc1c27e6abe4da249332bc2e401dcc695fd4b1525c5df823470cf75bd2832fb428bd5510ccce4304aa3172834af8ddd63f61cdeab75a467111ac2be43fd034aab75597eee319308e7db2f484887f9684e2d561ddd950387211758ee56b06d0dfc1f1d72d3ff6fa08e6a06df9d0459dbfc79abe0b478ac67248e26d66007b19042cc816b42d0d28e10814c50ad098304f7256f0c2ed5c4d728eef7d11e07a16afce917ddba03457ebfddcd8c256f6925873d7c8b20a5a5872304495243b8b7c25cb85eefcda9aa25dfeac5e5bd2d36ec9ff1d2c3653be8372c578ac86bc9898e9dabaa245ca40e6076cd705a4b93baf19e49ce3addee586720914bc52b1d2806d1d79982947b218825223ba965836a20b58d7595abc22a62b01041300c313ead9498037728e3520ce393e0b4830dd1748a8134c54f9bef702de7b8630e335be32aada41fb0e5b8333e1ee3c9fe5a7855e8498b21996df63723dd92e0489ef0b44fc97e8327dbdc73d314aecffb42bf792bee5634491de47726d7420b34836a3eeb547842598ba0ab39df150ed68d186e6745c3b93bc9e2e4e6387c3f0295a124947f03cc98b4f19dc8f48f20a2bfd7c458856eedaf3ec1849dbfd2d18e44f28cac9421f15661c496602182e46afc2d336231e1d9d619db60734ee3506eb637c79a053a046cd88368a8d00b40ecf90c31deb6c3a8ea29eb8706ba91af0fe02f697dfcac65b1ddcaf11987908b3c9d7c8769b7d339b8e22eb7205b3320b4873e0b456103732afa4da3590bf123df91e03e84bd76c8ea487437213873f02a204cc9913ef64e27a05d34fc57cde5ab8a00db250114ac4f759315f3787ed5b3db66c964948d833a9660f63e8daccab463f9745a74b7a9ac2a38c721d75c975bcbb47ea532143df965080b1c79181eca3a50fd711039d7aa62b3772c7399d14073c4710ec5485493e653e9229959d936d97f372080749b43145887238bf8b5d52dce05a60e4385c5f58c250cf87ea85f560a545f212e6603c72057223b5efcc0ccac10adc1fd9a2a20411b660d6eeee4b1697d6a6f6902a56b1895d96861f2e979ace067f7a7cbf0cbcc1cbab52aade0f9df27425dcdd4d24b6ab72eddf6da5caabdebd2c6fb55c8bd6d15568629bde68b61e33486ae1c0ef539f72fa1e3d92f7e70c2659b929139c343f6f28d9fe291e8e41d6acf601c20ac1cd0a102f60e67687a02206fa9b99eb2f54ce4de626308c5483157aeccd5872ea2b123cf1dbde9f743c5922da39efc09cec4c275d0f551f5dbb4bfca30d3e2551c1723a8fbc9de685462362429cf0a46e3568a6fdb594eb16b02d94ffece91bd1e27241e21e7db9a30c3bdd66cb14825eb4ca55b8d577de67060bcbc7dff0995e3772f6ebe6e46828aea01e3fad9ae7e8b76a438e308faa7f0e25aaa638999eabe44089928f2a46a5ab672e2e7ff30f82fa5fb5d8bb58e21840de24300fc2f6a41c4fe64364029e72141b971aca46fa2ea016c7d5889811b58b09d9e598eea04a3929ed9def26eefb11443436a458a3d77c765015e3dc7bac84d42ccd2ab726c2277236ee846212127ed4e44f14383652b3a488efb3c2989866950cdbbf93cbae212a5d60cc7038adbff0fcb80d94eed161ad73e02ae7207461b6e06adde5bd4c137240b745a0424f52a91fdd94afc1a62c17ff0ce435027005dd8f9d5abc360e9872e780eb4418b28d20ecc150679361eb967311fccb5207248b0ca662daef809b72a223fdaac2b24ff374afb70824b0428fb5c51fb6439c3e27de4c7af9f6138e72fabcfedf61f2cef68824e78eebb971e098ed8afbf25e195e9292c0709a7b820d1e3611d05679a9d3a122e9325a523c65f1695ca41d5f0cd9d4a3ae8766b79672fd2d7e1f8f07f45fd0c4dba3649528ccacd1b9114ded2f3d6bc9b9d964a2fb004d79d74cb6487f894f1d41b44f58e0de173c4451b1445969540e6c69ab60ee42c82c0a782a01f1f30d17c6fefc64ad14264c7f4b4b5b47a1dd1e2d35623a4572de853d0446fda0823419705018a871dd1f4e587bce3a7a0dfa9409d3c72a4d0878e589ae833e2a319e3783b31ad561b9bc909e1b595bf9a9ebccf985f2a8207202ad078d2361814599f13e3b3fdc4c87207bfd89edf143acbc53fa54dd947f3fc5048e393d987db2201140d33e65107e2009e3c898f5c9fd373e616290603d72508050a34c53eddc5bb856a71c8c7c01fd9a73db511997efad6d017cebddab722735644649aedeae28943702e06aa5e1864c66cc5d7ddf7a0edb9f51a8520d727f976b2ce248b990ea991de42e99b20efd99dcb70dd06128d6247129c8b1d7242a7bcc2ceef73a2bed96ce91dbf5d3258c23971805f04cf77872c9d7572622728b680bf0c43f60000041c62c3bfa9ffe19ed5f4455407830232a1512c5c00772fcd938843ae85820c170980e05c9546b69c8888916e37da7ab2459735a6ef75899e8ad7bbe24d927da31fce8ca3ee951e22f028e2c3692572926185fd6e4f37225460f5b9df25106e3c4917a9081459f6c5fb35fecd3ccb08e0245a7ee048172201a4913b221b98d2c019ad42e23212377e8e4786451474b4b41e778478aeb72a8595bb384084a2a4bddbdf88a6681ab5ca9da92508d5646582a5fe51361cc72dd0f7c13a3b091a33833053b1d2a58b947f072c5aa9f5127eefd0b77f48eb272fda1b9afb40b28bae0b7ec602557483483a581f2a2c060e0ec53fc0bedd83372d193776e29fb82762b3334d7d6a202a7d1c3c9621e1ccd0f537416d59305875bf8231cb2cb782195fc7954a492c5145c70e50741c2166bbb6f57348f2f159d70efb73c5cdb3ebf02cb024335aed1dd40df3c3b9d21f8328250775ad43268c872135f0f583cc7fc75dfb799db8f4806c4e7f2dfdef7123fba0f527c6fcbd04572053bc48556bbdd8d77bb62ea09a49c7c2acf018295b814ff8d001afe11e02469fa10b90fa8366572e3e0fad251c282192a313075ee839127a5b9730d731c4933ecdcaefb72a3d26360dbf5cf635fa14cd5471380ee950ac51dd1b23e7ea28628e0dfe0be809b2fb7625438a50260c12a719a078bb15df673e48f8bfe3ca0ee0ce7dd572b07e3c78b468f5cc117e4f0926332dab29c58569d867481481b23ca5ffe76d9ecdb72eefb956b415a38379b71f5a8146714a381e90b01d0de3c1aaa721c1df7875bca4ee1de803416105d5e12f94a0cde3505f9a2164542af4ec4a50cd566d5cdf4c5fbee16b759b91c92d16ead6da65adebea9fdfe5196ef40b6c2723436a0b88e971342ea90c9e996f47472799896ae2e20826663f12b9a7b469d72f0f859d8607491af918f89fd86494b0a6b0cbcefbc579b7a00f059d22c162c31b4d042436663b926852fe17fe3dc6b2df0b6f325919b7418b151fc51a89f23720b10e8c3b56975ef626ad04420fcc0b6dc05d6f4acacb3678eded9e9299785729e5074bb0b39de831a593587fe1bedaeb38b873526f8aba332e944e540c57372cf598d9d997e7ddee8486c983ac02aeab8011c3217c11e8e194e8f788dcad9721cbf0eb43882a2dcb9909020699a271a8711e84b87f01feed100167894ad8131ed843cc350baf8a301dcb45632a50a77163d5799e79652affe8029da18c76e72eb483adef38200852d0feacd2d7cd45da4e85bec3bbef098a560298c42847572e3d33a3605b2d6f7d001134010188aa63a8f2f6595090d84ca783395345e7772b6efd3c8600ac0df0d2d46217fecb596530f58c47ad282aa82c580154e3b5c2015db77b20389f4a044c6f9851e4c530df66234396ecb58fa0701ca8d4ba0977256a0d8feb4843ba9d30307fc2f2941b2f2b9acecf714c53269acf45eee0a3d546acf16a222f8a6dd27f1be02bc5f009667abf95a7bef302ebfa5df069b4d30616703ffdccdb2e4a8036cee9eca0f96ef5425b97021db9673402ce0d4246b8a72cc2c53df5f1468aae3f0f7bd8ad48ff27d3d607255bcb360012dda1c32505672c77dd77c13ce15bdcd7ae0f7b20f488c41e8b5435e6d06754ef3dceaa2a6de7207b4034fe236073a1c684d4e9b28804824103a995f486cfcabbb6c472b98c84e9ba73f0deb4fffcc91028e6ab370e69f7b3bf98fe08d0397218077906dad186d83e4218f1e20b4cc04bf12297b699749996ce0a8514f663727ada33ec1313b721d8f2b8b8bce69d556afea9b190e772f306db04e6c8d2103745be3b572147872ad7de41118c35e7e60fca1478fee24bb91098871cdc26e9594e7109dc7dc26729f4a05e6ae7e51432aa6d5624045864f60ed88beba6fefbdfb653d4f3c03a06a1183089dd53951e0e412b83934b72994d1338906e3c97e78a8a2c786da2a996f27cbd5f39668229ee0f37ae50839530a38269644c3d2cba8adc824e9d68a0d0e97749a63d9f34a874f167e36d5208249be6b5bdb5e43616d34a637b925ee5a11bcf31434b1e0918a8a05aefab98bec84a712767f1e2897d7b793712ad36b4972a9614b75dfdcc5ca72b64cc1a9a3c544896cba7910c42ea9592482e3d1e51372cc356a1c5d374f409782f51e973d7c356853c60f388e96a5d9d09d8871a10530a0d8e46b5eda6ea37e0a4aff538fc7dbe503f8002e6e131bbafefc1c052c34664a698c325173e7c83c68c77b10414f5bfa056a5fe308f3a992d91f1108c8c1723b91bbdfd170955d19f0dd1afbe33833cb83ff661b3d01c4346c032d58c6fa7294cb6ac28ce14fb4df1936e73f79c5914f584b1dba2a5cffa81484fe2a553459f0c965b92964a6983269ce2a3c37286354c37ac4805024f59742fc362ca22538bc8a89ff4b4c38d12d1f059af6106a6c02356ab6f1939f221ef0b385b531080e51e747398713d8777933f78970bc1f888a920c8f24f52df98b0d51e058997c72a0e78d994079981881826712f94e9b5f321c2f9bf46c346f20e5d8ddd46c0b72395f4b9edd5dfd9cb6c34f6f5f08e899db59c3284bc2199636f527540af3dd3d418189d969eba9d5cddb59fcf8aa9cccc477e41260eb1b9c368487634b5b853480bfbf5c87b8b0755b17d78c0d20830e82b5d40db6b9173f4632e4beaa22f9081a9c937acc140e269b5b6e666c2fd235d34544265c21eb6378f6f12fa632ea725d9bb0b2e8f44942d36ab75bb421db6c098e569448e08e8e6c1bf4017057a97227fa9994d63965da793f8086e2ca1d2f824d57efcf6cb1b1df776385b372d17272c7d637e062cdd7061b36f4935883c94cf707d0e56d66013c53ceaf09dc2572df8a4c10949f5303899aba16dcc34bd9e6c9ffd1c257180eff2e4af6cc0a4c72f3e926982377ffeb5b3a76107680ef9c284b0d6fc5def949026edfe9cd71a41ba3fa65a0122095e56ad1e23c2cf8e9d2eeb3f446d21215d94f20e5136aa40d727c0341e306e46e5d7d78f1951b3b0c9be864dc0bc73f2bbf1f08fc1d78cc7a726baeff318ba664afddc47e67f04aabe198add82c3f22dd46e73fbc883a869572245bc2ab3e5b88531d1af0ef535dd9a37fcf4ed2e8c974028ab274a126dae572ec9f32c9b1945b8086427a31a1f33f93422ad0658c1884395f51582384a9d10b1ceaaeefb73330b36281e3c773bab887d32441fe319dc266a219abfd5e3aea7282e53b6187330c2fc8d94161be5462ad83bab5452b2d5908e2e518452ed0cd46ab93648f68636bd7034d286afd35e16bb620ba60c443e033787179f186f08d3eb0b5198610e62e736d2d28be8c00d8d3abfc9a13ebb6bc8df2bc163bd8cf8d15b44416cc89e50be0f80ce5716cc861215799638029b438d4c95ca370b87151726208298727f11c504c25f9c838f7fc4aa9aa75493cdc8eda25cc299f4753e4300e946cdfae718bf15942262e1dde7034b82d45c62cae957285531e67a064e5724deebf05f446ae883640be4b25828b7c41f34e29dfceee77e0d4d37c53ae817288d04ae2b72c9ba968412795ffca3d56c3bed4e923262be2033af7df0f7d413b4ac921e634db5f9304dd6bb84f6baf829de73735e58cf381a1a260a903ad0f053e7657a1735b851c71d8268922cb902180eedde0f976c7a513bc35232c935a728f822c50aa9f86597f98c3d6907539bdcd390c39e737ec6d1cfe8714a685df72d5666fda84cfe52d1655ad9e633fd80390c6732c41260699f3fa954fddb73b726f18e4121bebad5ca859943298ba5d3beaac5fb019c7e55ec59cdb0739943c72451bfba4c13d8a2682af296b8c716db28584553a2b1ae806868e22854745e572540be7c842f9fa6adb3940f43e24a6dc27e6fd42b6012bfe8b0e3b3f3b1079133d96c12653640ecc636b7ab5f1800b86f0c4670396e99e2a4609a5ec44d4057255e15310f9120aee27983a862061ad40f9e13116a3044cf2e5908bc8e2edb046e171c9aacb1394d1ef91f2cf7ba248bb07a14f8a316a06b9cb5b924db1a62672409a093108689bd46d6cebbbfd274554d817c3cede6ebc693939d3245cf4087233300de59506f2eee3955188f7790c6cee97a41874e6796cb22495ad0830e2723d4f193cd32212a8461b9c8c28a282ad70ece943aa002d6a584fd654f6dd04702c263df6b557e755c52c56f461c386f184bc94b393bf01c8d77f211897e4e7729d49144cdd4af70c9a1abfabf921316de6087b57f9e9010540b0112cf93621727d8e5c3598c15ee8ec3e8fd5bd8b8c3ae6b6c494e0934e9a8bcaf937c13a047217e463e77b757561388c5648044eab114ae27968e51431e981d1268cea480172c7caff4675692c9573bac30ba71a4b7e1dc5e1b777ab736321168f5b0fd80e4da6c43b97272ecee8a04aa8e0c3a37b2832aa51286283be975fc7459bd87b5b7295c9bd6bae91a1a2ad54f5b5008dc4ba98163b6936672e252e2137c358abd172701a34bbe027b828129c0ddd3c12204f90dbf56938ee062af81a1f0c608142245ec60fef94ec88ca3118759c8a98103ceb4d8dafb517fae2e0e766c9481be1633c3a05144c10292af1128bdd929bd49e57e73eaa67b1c8d2fe03e188430e7972b8cf5f586f092f3fa322e1a4ea4bfd12827c5e0e8b41d585266c69c5c62afb3a19c998a64dbac569aa5c7ce1f9cc1c9d047d74ada627a6870b7fe0c2e4fe0b727ec10eadef33f3af66d151d4fc6e97e658240daecb91cfcf1ac10e8b0a76f259033031ed75a2397a6991ba061cd4ad083f9d72fb4d0cfc7c83b61f5669e3946c97108c55a317e2c6b4c7d6958521a1cb9e611b2459416766f5bfb4542a936f1b83bd95860c21a387e41fa27a1f1d31553fbf206dc721fcc7582003059957897236151832ce056215b3469d4cda3d6c66a419e5c237dea5f817b6b34e2ca85f72f95f09ed75e700bab5842dacbe9e9f6fc22951ca908566596fddaae160a74b7204d560813134fb2f8ea29eb0c4e5147e72fd9143535e407903ba56266f2761725f31ffff904fd5ccfa77fa6e4c8690efa1678bf7dc32f3f29f381941aec49372c1b6b888267b3071f57e10f92cb5eb5803bdf273f4976b6e779d6163624506724afea045c5d999734ea876fc454fb574aebb7437bec4a69234c86a4b16f0516eed198c30b67bb1fc64ca98ba7ff9c1e451d016fc7b5ff834cc81db2263496b46b4933b9fed82d0c216591855de8e06d972dc04f4c8f3b044489cad369852a3723a9996aeb78a92ba39a2ccba7575c43ab73dadf8a79f13bad829da9bfe5296725b037caeebe7eaad374b9e0053edb23edbf0c81252bd6a10bc18e41c49889661f137ed55cae55b89866c34698f725f4c9e8ce3184a7914558f661ddbe7d431722ebe68ef6dce78747724f4856dd3908c4d5521961d226ca0c51fbd0f9b8573721104a4c09052801da1a2358b7ac54f69c643a5209273ecbf63ba75f16d46037257ce953ab62b2d1aae4ecab23c40f713f1f58f66f10d16ef71bdff8dbaf5963e80fde6bd66bfbe25e36847207906896f6a6ffd2cf301f4b9d68afd03bf8077723f6ac1110dbb76f18554e6991df0a4435eb8a4cff87ff24c7197d84b537c9472d29b5eaab167975633e8cc05d71150d002149d7eb362fa644ff3034a549f5772251942f9617f49ad9293e5a66070ccdae77ed3feaaa1ab656e4c2e554f105172996518853e110e32bff584fe85f77f709ca154e781f7a9d03bfaec8b0feaa36c26e5dddbd6f87f66b311d15e313a1352f97f6b8a085200ae01f537980af46a3dba10619b2eda3deeb97c0096ab6b3aa228b62a78a1023f5f1e94ba8900cc011984738cb0e52af468ee5e4e9ce7e1c708cbc9c3d4c4af57e0e362b544295b30336454ac8d2031d41509b12c53e4aedc85f592d480166538294a17947a1ccfab526eae60212a297d4394ae1b1ab78f76de9ee402c0bac9fcc900ca822f9acf4a729af9579649fe8edb54ad18b5f96539d6d8753ca5e0bc8b85ad6014945cae25728288f746d23b340f84e3a3449bbec8008fe1e7d4bd26bbf8698d3b25732f33720baec8363557d37a93f96faa3d9f0c1eab873d1fd0a824b7b8fa4b05af76c45eb03c8aad393c3c56caea888d33048c73d29e31faf1cd55a3405065ea8f8fc072d8c8ad7ace44b329e2cace83ad390f414dfaf6167fb2f78e34ef2bc9c3d78172ebef0d83ead853956dbe5b12c164f6cdc16d4ec585b9a3a00ff3b7c8bef3830dc3197df9fff98d4ad4f3e571541ae81179e5097d367f5afa9205aa1eb7784872cede13c649f85ee56d3356e9ec0c4873fed0b38329dd15d630136a6fa33429485e8a2bdc42053617202d0e2f40b28872178f582c756f5f6c173e77bd6a646372467ee58d3380959f22a422d707df4fbdea283664c6573021d680c03e6566430aabc74e20dda0029c672ee8a6359527b2d3ca89b1421bb8a17c18366962cb67724c55be0d6e9cda649e01a77c59ee60145baa7124721f59a70217b27340f54772e3265e2f66e78adc11bdc8e283f9ddb7f344714d1a96c49834d9943209cc5372c786f3e810c91d47d27cbff623f7b175f0ba6a62342a747da752e306df4f9d7290248efed7fac0e2af5e2c152e9200e93c41661ef52a455a636d565b5cabdb396b489ff377cf6c106fa31d71983727529944caa8356aa69a6e87e298436b1772af24892d96ccd6d674f1e9ca2e062bf98028d4622911e3e03f7fdd31e965500c5590899b2649725a7de1f074ec505fe8c3e0d0148031d9a70c5ff240bac87c72ed5fc4550111e3747a252d6441ad38f86f03131cbf61e6293044dfbc6359e210807dcf5747ab5f7150b77ae88354630478893b78f22c0499c496e2e2f53c4e09a9135c31b00109ac813d7588135253a8459fcd1e87705c8d758275479ec0d0722ad182d982493b43bc826a8fbd8ace5c593b0bcf888e8c63276cd69b52aca0074d2b08e4f2388554103c5e345fc21baefb28e37214fea9d16d73d6c9db6ca372da1affe854a25a088c1b75107ed8815e7f1fd5185b177c2a42cfec1ddb2e7e19ec5e9494e4e2ede5ff7caa7a21757a4387020426747c43fac3a851e1f0480a3c4f87f740c99436c51237c7cab2aaa7090f3b2d3798978e98ed8ca3f3777f49723e1d1beb25c1c2842e4520495389ce9e430c9fae00c47d1e160de170c3494072bfbb2a8b643733e0d1c238a57e2f940696f30323fc8976e64d6c77465dc1f203312a0a10c7239da0e0d315650d18b80adeb04f3d7d66204e7e7929a9fdc28c5979efff2fbd71cf9618549c6922823d12e9281c6eebc7c8b0414e68cd1a323d728879727c1d3310e1e879d9acc4c02ec3b6bf73d5aca227cb301d193eafdd725b97615b3772ee0abc6b348bf9b1019bc0ce2a54f0575d6678186ae2d41d35a07240d56d06ec023948e3b6b626c86d18ef10dbbd752e725154a7737dcc5e0713728509b3b6282b4e038adddfe283e0bcb8657907e2ae387cddf6828d85a6ebf2504a8457ab11d1dc59eddb2becd34164921c8d6512169a5d3f630c509afc9be5723da2a01873ebc12ab0a517795e4a862cae13ab894c88f421140458e42976f01c6d2c32b922b831320434b194b0b41603f600b1530951542bb328125e101a2703f5c6fb6d6b0673bc1156a64448e57553504767754235acf198b8c69f911bd90843e74cc5d04c93f738a27e957275d1f158cbf11f0ce651849d6abe03921aac72f2c10e622d104e6159147b1fefee84dc227172672449c584702dc60ff3170a6afd79f18abcb697adbe1021666d602bc1aab49ec542ebf5627fecfd28cd673e72311b5d8f1ac2a37dad1f3b76122886ea8e3340332d8f45c9c1785fe0d15c464330951295a0f8cf98853b4f94eea7f2e3087cfb60cb3dfd8877e52c21f14be072b32dbe6036aef25ff58a47d345d977af4936548be35d74fdc9239002a4931272021180ede02f77a14d28bc4b72df90f03a7e7482d0e74302c4ec0bbe488d0c54efdb1737756099f557af86cd345ca346f1aa2aba2ec38bf49433fbab1e59ef5f8630db603ed4d99ce55486f1bc48fccf504a525b2d9ddb32328a490e821a354ac05dae505574c38d0b78c9be92d930bdf79a05217d04c98a7f921eb9c989080bdb49e01591b76a37ce6eef3bc61a1552c5087de6c7c82f3b5337f096e4df3172ee920592429991ceafc3b7f23022f919932b3c959c519bd7158b374971686c1ccf73eb64c612a53b01cbf25837e715efd56b9c65a24552a88a07a9fab127b52249ff34aa2228f3d2d9201817a7261c7cd79963ec26a4bd7006c28e05a2d3b072cf7607a5ff1a0c2fb77134c3917efec834af4ce16ec93b460761b49a2b139d39b63733e58cd8d70fcf84ce3e648789794226de056cda8fe0ee740e40ff7be872e37ebe4c456641558ca37b74eab354d235d9fe622defe828e53d27615c2953725049172807ef86dc9b7eb305d4662d554d0121a5e236a6c97551af89a04e2d72a0fee629b8ad0b4360ae449eb9d6b78747863bf553c176f0457b43370a20c472d49a8b5094d2420105e886cdbaeb8a45e0519fcc157411eedaf44044461cf9725197c9163f4c2dfc9f33149de5654f4fb121b7ea1d60ae04ee6ba7058f1d7f7246e59aca26a11c3c5b8e0a5d1434da9e9654e8e3b5c8176ce7324c61ef7b3e72ae053d53d4d946b2f83aaaecb31b664410c58890d7b82e96623e08f3e17a8e7283e35be0f63ace233059854ed743c9c5d1c27a57483db8af77029ada7a95b872bb6f251e6155287a188d6f2e93979ed9a3acf7a3ed9ff1e5209452f7165dac7262fc16cc2959ddf296afa46ddd3058cc0ecf70aa7b4b9d9eea0ec6bcec653005d700092ed5221baaab17dbf55b14454e5a3e062ec03d9d26af680a1ddf17d372efaf2cb3722313d27ab365c44ca090973673906efd4aadfae4a6afdfc9a5aa72e2ec4f92147dc1046f31268e2b6e3c80d66d13bf2d8a88a86591b72125a46b3195db28002a5e7864c7d0036a5f324f9179e4e618b470bcc8b211a1636f9ebd72d85fb62019e7ad3775bfb07337f7fb54d77e2f01d5721b3d9a14fa50ee639f6624ef21758e73f8c3ef3ebb51a39ef1247dc80d20cb462f985080db519466e572d6047f032288346fad1c7a2c5510840c09e287dd8bbdc1a58134bdac2a465749d17dcf8a0a1a8197bf00580d136786d78a0bbd4019abe0171cfe84e9bf74d45728e8ca075dda8cf99123fc5f1612da9586230680ac50ce9014d6eb8d8247497275c66d614f77b63b8dcfae2f6ffa885968ac292b7856b22b80a081e0d0c0fb72e48c9a612ec2f5414d8af8e2b95f7e512753e05d1f6447bcadc42816f0018e4639225cbb26c581c9d487a1eb56834aa91fa2cfd370ff6d5176eff1938173ba415ef5be97e0b81291de82d7dc06dfa98645fa96d4d52f255a3b0b28c47438be4ef53d228501ed33be445ee9d63114b4f8776b8f675f9d4aa66f1167aa8743aa7058cc44e9077c43fd142a51544769ff6cf6f3150c9187078a9956da0ffd5c9f72a37dd24568c9c1d3cc60bbb09aa8991e2a8c162dac6e218909a620a9a775ce667e12c1bbbf98dd39534a91a6a16f8516f5e6baca54a5eedffd04776486c83772718d3348a120cd877c11bfe9fc1e752b89d0321bf4c4ac22934151c009db3572b2bc44381bc1cce9b75f8005a21a8ea58fa87719b568c5827aa9b8e893fba13984bb0ae15178f11e71b5cee6eddfdc2cec44a913e1fff3a015bb5b3cd31b7072e3446b392c822c89d162e631ccbe2f2a314583188803d1d2e2bb9c04265f8372871361c2e0b8ced33a4cdc34a70606d49644b3ee13b5723090fd1d7b870f33723cfcb8e55725ef88ea8c4dbd9edfb6f17602a319cb8bb36214adf3f81ac48c7245568743343f1f3bcb0368e0a3d3ab7877144d5fa6b99225cd6f9c812a097e72fffce97fa82ae706b7d1eca18ec23571bac072c3897c9a68ef578e2cc304c672163bf0640284e97a6fcce949dc01529ef2dbafc44cd518c22d00fc223bd9ac72992848eece2ecb3e3af7072ffcc3195909b3ead286bfda2505cfafdd6586c0723c0814c8e387b516a6687c246ec8b44a23686c9e30d75da2bb8483be934f903b2221839dbb9566c3805ccd52b38a657043ba1b5f34990a126b5912bd6a65b3729471e0b2d14968d270a7071dca748f19f33e0e0f3334d0925a9964c3955fc5720fe4d4f58d176e9937a3edd0074c7516b91b4e619dbb51f4c16f547b01417e72063e59cac125eafea8103cec270e40313bc1f2e3b488cc336153f54d9af0f55412a63d186916534e1d5db9203a96d660eb4422e66a855672fb820d2837982f3e9449d5d428c19703d91bddc83d99d8350e0cd86a3e5f7d2e99b078b1a56706723d035aea635513d11a1581654691ce04e7a4927abe76fdda753f2536ec8f3e1a9c998c3cd39ccf54944b5079f4d1db5027365acc6cf7626e13a07b98b229412662e76829b6d8f3c35504b0792ca4146ad7bc36f1307339757559a2e728098b4767d56c8675564fb747439f6bd81659686d695f0f3891a27448d87fec30791d72596595f556265323327d57a403bf9d7e17d310c5719dd69f11c81ee420e3ff5209e9fed3c7f1ffcb13d7a9df8ae6a08697de3013bb0300bc31122af1ccc68f72d41c65f17ac09f8ee13c784213896e77e35b518afce8ae289c5f1bde5041db7277d57ef4579181e536b7505aa915f34e6f600d92f6396abe654bdb71df5d69725b82a528fb93a0e9cdd01350f1456ab6d636a1b253967122d7bd15b44ae82c72289fb0fa8acf7398a23414aa9d946d845150100227f79281ed59ecc43ccc3a1e13ed5a56042121a6b01db82b5c08aef4923508ad4410da2599b7e913bf12ef72f7a565f47816076aecba009e688b8b863f2012147ca5bb1fa1c6a9a7c73fc972d4727ceecb45a6ef497dee123041e989588ccbab610d5b04d6ca7b2f6117bb725b3060cf5f1218c70ed736aa2daf59b27f36ed8bdf4b917160ffa5068ffc2c727974b9cb970b26ea469ce8bc46ef28caa0dfba95dd3689dc328cbec791f4cc72c861e68b79b81aafc336908efa44d56931a29c6b9a781c3becf05dc4e07a9b72fed222395ced62536ea72bf406d4e328f613b6506e0e20e39bdd9b3581e49a36538cb91a4265da613be467a67c2d4d829aaa323c7774037f0f2f829883aec406b21ad28721f53a8d8f90f7d693e21615357b6ea7f289cfa55a2d458f2927ee286dc4d2dc1a14df74c4f79fda1902979d6aa9616a054ab920048d7301d3cc077227029fde2624d5152ea4f0b6112af0cbca109674cb5ca2aca6f4bc0afc487e5343612a54b12374725282ed65ba3fc65817fcf38b26cae7a3a6e36f485d4935723208c0a1bc50fb6cee67420ad027ae8c8d88931379905eb1d7f47fca25c0c772b4f59d6a7f3713926d22417bf9230e3b033b86be50035f91956e9e30a6948e722a100023da978c2f8c582f72eed1d60e0096c676ccb170f19e0ded2e4af2a001482a9c123c74f7ddd7e07d04fd8633870620828c30883d92d469a0a066741f4ef9a241c1357b8f4f65d80bde4e29adfce3e1585e8e4c0e9ba160cd90cdf7977202e589bd052eae636dc49fdff2a2d8cfd205ca292bb3ab1cba569c386dec12058133c8846217ffeea42b0796a2b9d6b5d49e97d43b61d321bf036c634865b8033a2aa68c823945fe765b54e7b79d517a4544b4bcf529132f5cdd4f262077240d504930ee557ead30e2b6a0796f195f12e768266dbf687521baebe6f46ca80b5834ceeb98bca2e451e88b02180fd1ba6b02897a5bb44366e3c57b74f4110a8c0fc09ccc3b6e3b0270fde07a65e74f6530537ff60cb9b755c7b53ee9d9d7de47728c8f0f68dd5df106ad289838f854ce5f5f35d0c4a34a04547f6d89640d44ca72f4f3ec2bf480856350d5663b4db96f2045bba177a10eb3c77be92f764c5beb72c915fe5398b8d43b02a06b68e2850f9fa08c3629320f7413e4b8db58303440720217a527c518f2ab28c4503b399bc24c2047cda0504498668abaed0413e1e472133a8884323f50beea77fd17eb49aaf515f0762feb9b98d7ee1a78ef45c8422150316119ec69d9e0e24f079b5b90f7a58587462bb55005d6994832397a25395488d0f18c97a4e96f7d691125a203d6c08a8ea31aea5ad1eacc6bc2d606b4fa6cb928600238b5096d68854a4d1b296fa3433b8567165231dfdcd41f950125476a2e26120851c4c377f1259cd3a65abdea0df0becc214d559c547ee703f8552e7248b9832e86517c02816bc2d72034d6222ab672caa109e630b257300686770d0bb75e9828ea8d44a85ba08ae90a45ad58815adf312dac20c120ac2d0f57c06c356784c08d84c38a02e36895ed3fcdb4496fb7d8e1cca8d26f1af0c2c78a7856675fbb3d4039b0b9b52c126f417932168fd9f006cb832cd43149d8939571fd0059d1003867711377cafd8f2e957531768e1625b442a3e095132e4e05fbe24d6b1e06c36b00d32b6d8dbcece5ae12961a210103300209c8aeac58fc0f14235eb80efe11aee6c1875e2221bec8ea7374fad8ca5b952e3594151c8460df1a20f68b72a597e5787bcfb1d43b372dbe68e92ae7dc290d9b0566c2e33d455332bc31ec72255a7e2c1434ed213f47f163508609c412ca11c211b15783c6a85f2dc8471c6f004422e639d547414d9364397dea8ae2ea434c61ef8292d6d5cb6d5c8ba8557081ca3a64d93db44f511d6ba0b468e900860e4800b5601aa14d8a30e0c4c6b2334d14e9f465f31e001254855c629c3d0489dbf886c5c9415e3874d63082eac922a5239b94096155dbc435a739dadc9dd87bddc856ad98dcdfd72acc42d02d9772a9fa874b74705268fd251808dd1c1895cb11b8421170068209e1a1ed6927bd729ed7ab86453922536932355f55e6adcf3cd97496f8e4cded8976a62e37d8b61322dbbf8c14eff23ac48b5313784c15fd04e4d5714d32d5d8c7a5e6f3ab35c472b116c508ee3d088ed55589460b59bd2be0147ce9234101beb2f2e8e9b705c6347b9d9a082a4aa2927f54ee74b3ec8b703714c8054b232d6456c2508f7c863f0f8a6b4c1a786543909fc34e72b59490442efb9697409322bca2f0cbfb1b3f8d2c964a900cf1dabc1bcbbad71c416fff56db8839d8804433ce4baa5635f3ae2b722048c421f62fe5099f27b03dd8e5e48f9af62a07f2dd573db205c69614e53b72671cb0b469a87d49113f6bb3fe994f955cd8bc527a0396d990b6af1de89a3d589efab89458c3de34831beab19601984ca841d0eef465caa29357ed3c47037566170ed88db21aed1d36b62e76a42d3157a2aab8ad10966c65882e26c9de110872bc0bb2b81f4e21d06fcf69d47d753b5de7f5e784bc57a335c735bf136a28b372cf56b4954a7afbcc954d949c3384dc24a4eb3e7840675197c316653bfbc8027298aa0c77c9e06eae3fdbb6add38dfe2c215f394025953bff99a5fed314540172a2b6c7f29786e37f13e9702b2fc0acf2d44a8878c95078bbbab4d4983c5b6d4821bf1ca3fcd9484f76d90310e2331462ee9aa5fcafeaa8a000a47693df9c1b705d12a37e8b9ddb0a54fc0714db8d682b0f8cbad1d07179a016d23a55f6112472b2b51a69c9627bbc4b611237d230f575bcce437a50dea7b6f0714bb3e1022c724c115701359689306774755570ce4031eedb5830ba884475c27a5f6aaf569f2994421ed07aca263d00bbc8ac76fa4069730667e470b80b2e5661df814ca5090418ece8146c5e1bdaa59fc38e21b958d57e2083387600c7b39d2b92e6cce308723fe1f2bd12a8f239fad5b314167aee07a85b5a814b6a9a986e1f77392314287273d3c8a7f401ff0ff83a4d1244940d762ad27af1934477ebcac15891f210e472140b4696a1df99a9618b660048da6ab599c425723bffbb8203596c0ec1564029ded9f052947eda9e9fa980226a824114dfba1bc788a01564d476c71e70c08c7277bfba49d61d53033f1a1091a5c220529d3e8e286082371de3c814149eb77e3421c71cb6a5edf3f8b188f3f001301420a509e013f7dc1aee9dda356c4f1db133a3f02f8135eddae81909435dd9715e47a24d237929747465a619b93d4a8d304fb913bc005125396832eedc714f9decc4b107670035354aa9821c05e098ee4872235b4f78ef02502b329d22903de192d6ef6858929796f5df82ffc9d3fdbc921423979d5f3aa7b9069b26c3fd4f53c66d5bfd44372c939251838581726669bf726d05d7b4bd0508158e6050e355c4f82ee91861676d756c622e932e101fa59c4b87e3956ff4bc7fef07874914975edecbebc9b940de5e042ea8d0bc1527566b728a780419c3145d19b81c4dc5eb0b4e97fabbe2afe9a1cd6ff0ec3b3ec8a20e6ff22680ca48930e91297893c3d8d4f91810f86662bb34a298e14841f2fa6386723fae59c7a3cbc765c36fb2c323fe2fa111488bb35d3b85607209ee4a900b142433dcb64eae384980cd118e5d027d10775ed6e5c7b2a783b99a5fef1d4109e672d58f17db45ee8fd910a9a9e62ef410baf48fd30ee8dd4f6ca247e2d5b9af837225c81888043a31e9e7efdeea886f967cdc257f7e15a39631e4b7d9325b0d457245ca02e3900660aa3bee80842e7208e7cd23057890aa1b67d82031036abb49199bd5798d54e8ada150f5adbd702957f95c0a888b365b638fba858b3a938f3203a92506029441978aff97e5a1d9b9c297442cda8dc05695bd3250a95bb672334c8da3edaea3a0a16cfd0883e2b96466bd5a1f57cfc3faf7c59e6fad9ae32f2e720c0a0e298f34fe3ff5ed609f9852bf1aba74785689917d6f3a055db85670f14cafd5c91e30e026d79c1df531fb726016525ea3793f3032516207152a5c97ea723517dfe26b2ecd527d4e7a72482f7dbc3c44f80bb14513a87c84d125e113b4726994aae160040fbfe15042f8e8a4965f8baf2de65873f3f264dc8726b2f4447276812d20020730701bfa38ec6165ee18591985c946ad987da16e558de4e87c7284c2bcf76acc6460a1d14941dfdb1a239b881168355b9a91fde22b4f757ba9185dd7d81fc176ecbe0eac0dd9588f7b1571ed12ce57a0230beb3774a26d28cb69e1240a85d61c8486bd5990836f4f2d6f755335e9245d2ecbcd40b2d0d91ad82fb12fe953caf7206572a01b9ce0793d36cde217ad34365a6a57359acc0fad8035cc28ecf5c4d9f401ae5dcfaa2b0a3ab216b5878895cc915ac0564c6c70bd010b6f713f5822264b74b412ad25bf7635a283712c2262d7731ffa4340f5df1ab754fe4bbc8e28b3d6c0bdeaf720e8f63f6ee5c1fc330cba76eb96bcbb02b4d57872351afd781c32c6c9cfd694698af62ae7a63fa5ec00c6272c480bccc7f3bbcf5253ba5833ade5528ee4a0068d9d70e6943d4b2abeaf73be39d875384140a80a3feb9a476d644b9ef3274473f2edc2b3db35179a9ab01e26b90ce552feb162b072299a55baea24f74357eeaba275fe6d802f329dedd22a482d15a6e43b4be0334d92492af0eb100e15019732a184aaa8f3b9a4f9cd225a2bfefc88e730934b9e72c76f9460eda05e0a4257cc78e5c26ed3fb7ea2ea59a5f2e6d69141197c3779681b552dcdfaa7350d97690997609a10471687cebc0dcc1d005a089545532c0e72ae4c3bc7d21d264f8eedab11b8e215dba4d1d7edceda28ef12afe462898ad37246e31a1e392dab486315a22de921eb394096b3ea4056068ad6380f9c17b04126ff7d50ad9e950de372f9bd4e9d66b056bf924a98a14158966edb5cf1479e8918ee546e46becb4c4ebdd9e75c67eaead1292d3aa6a6529ccc724c7dd11ab74c721050c312c7f093dd284c42f6b6c59ff0448af7db9b37a3af25d7adf621406d72bf1f5fc2526c0aa4eedab7521634c3cf0984194d66e4fda2fe375fa8fde91a719e8c8a6c32f30fd05beee3f1ffa38a535bc356d38a25276c8e472aa97acac2446b1d12fff9ac63ecb44e2f9f50d7d59934a2a479bff66fef99e72ca32c18dd72b42cb62b3eaf456b2bc2d61622467491353e5248fba234652b17e49b18ee4c72300a69e4b4bf5fcd029ddee3bddf1ea9ccdf31659eba1379730f248178c51f72f70ced2fcb6a6447d44fe3f8192823b2a9e23c67ba6de7c80bd130d057c63e72489d33cd1f8b9ec5150576782d25cce34d3f78b7c13178a2104c4684c0c31f38b6c5e3ab72ec1086a36b7463a608185acbdb9b8b569610287c0e24278a5fcb72c8368ab470206e8c67b9eac72fe22e54243ff311518d2ea85bca5bdac941b27277bce4370d3ae3592cf2421d1783e07b53fac644dfc3fd393443c37794e74e7237edf0c03878a5fd2429d0c29e23833c23a833a6a33083efd0e44972babec1598b9f76b98bb87ae682b4f3d868c3af92f0488af3fa4b7c06a797572a748f1872d930f4b62fab497e2ae87b461c41487854cee9c73d2244ed565deb2c6c952b72ada0623eeb5550852f1a9e8bdd9194bd8d8d31327e18cb7da278b3a6f4ba29723f3aa1f31a72fd24be5e0304a0d8c1071112b1455f3079939eb10e08bd6695720a14dd1103c189d9f393485d0b97a9696d34935aceae8dfca707ad0ebaef1072186a6effe2d19050707259d9a9f06c047fd7b64a6302e4cf5c8df7f3538f4f63d4aaf1a39522906402b8d07190004a6d424d838311a74efcc508d1ac3a147d72329d99cd131f1c84e18ad807980d75288623ecbdb7a5de176ad534bf8ed60172e5a997de8b8e5299a00b7818374691b97c469d79230c410ff0b29db78e5578724c7266c529a6e1e67898d5aaaef2dd90a5875379208ad87922ebdaba35e0ab72e622e180b2b388796e40b0f54ca0150fb16202367b8ccccf7a1f5b28c6db4c1fb1773f8e30981f17a2af07b837ccb81808cbe9d67a5b133a28e818a739c69a72b2f201e4f6ffcb9d851557c8084925dd297d13ec5844a39b5c2af86f512e270727594fcff974556aa9c4cd7f60d524011885ceb848cc21044a94c257d681972956334be13f1c1530eac8280eeef1d1dfb6c9e724253c58487cdad6c9ed794c40cde1167f4bea2770c5fd1b8fc482097bca70c10f65c77ae4ffdc8233cca5130a373e204f6c7d4d3fdc4762eaebd0d27f18544c7efe4910bab72dadc207a09272c69dc02977bf3c67445f6c7eb3c3f9b7311f6e464bf1daae9afd3e8fff8cfa72db6477746dfbb01aaf2ce0d2dc194a123e50e67d10419359eb06c06576f6ac6cef85dbbee7473a475f77c4fb4f3146162ca1a9fcaa16f97147e4bb598e8ac30d130d5696dffcc85e60ea5bd9fca57e537e4ebbc37c78e14e6c6048b177fea74b9ccca17964783a4fbbb5742bbc50970eb4a12d9f8d9cebd2823a9124b6874872b668f36f1f485948b77df23d181aae21c4c1d64a38c31f53a3681b057403aa320a5c801c3124933f1c5d8af7db4315612155e21f0311f683a33d16a293371d0d431a98c21937f4496dd2a5d342c78468d67a147369017c6608b0a97e4374142b69e8d2de21adcb759ca3b6dbb347cf684e6d7e156aa63d0fd56df850f0cad972375d21dcb77bcb82a7035981bf4bc0c0e1f46850ba4bd3bbaeded0f95d6fa911214287fc753f1eeca0dd10670546527062b1e1f44a900f5498c0107a5c01967250f227f1e837ceb0abed436875af5d39bcbe230b452c1f3fb676e4d194b1270ac6360381144449c915604a9b9db25451cb508b0ba82d75a66c08398d5494fa2d1e48384460df55e2a9b4747da2159ac7708550e00e4e86109919bd46c85a6036581af15620e4dd450d39a351ba09fe12bddc6f036f90518d1f0d0ad62098dd722bfd4f242d282d662f4f404422d51456a05c5a5bc3c24a138531ae46a629e1720e117d7ec35507aea129d65d088e8222f19e78d1bfc67c7e9e15283a4ba26c729491ce980e46eecea88a9c85960a8f7748bb4c0b4e03ea06b7d71d792ced4272a9d43de01a0438d24725d6d6f2f66227182c37fe4662a6c7094360c4b5079b722d36d609473a26028c9dc653340f2bc75cee04528bfa11a684a5ae8689b4e16b91e053ccbb669dc86d403d6bc1812121a336e5b834012f50931d4d5dfdd6126e0df3d829b2f685b02cc56c6c7c7a83892d491b931525a9c9b9fd36e9bd9e9772b2c15ff358333dada76f9f9e806dba5378a5ffc3c2aafd9a3ad37c9e18697f72b21f90fa06c2221db6302f71a44af77df979dab15f83b6ea7d4d7a537de8133895efe14ec5b3c094fd7753d7c84d239fc28315e3a8eaad917e2049199ce4ac1ec6412270294a7a787216156fd348b28bb8569133fb094ce0adbeda8698b96172193306a37af469f9910b448bf41ecc969f3c1e095aa23bb44adee859d9fcf566282fa5be2a217be289ca54c7954ae357376be3356bdd54157eac8250b20b15720c64a8a7aa54b37135a2007041a54be1e3199da33d5a790705377515c4a6573067f598c930f7cc3bca13bc967f67b9de556fe5755998842016b9689d00924b72181fbe03df50e130865e6734cbba5a1043c5bac5f0533f33b4605a4ec26c6172c5b5f9c866ac17b6cd4cae32582edc0d51bd5e1b1ac671d19fc4327e00750357cfa799d2729380dcf9aad4c7d9f89c002b01b98469c4d774300510605224f1215d1b5c0d41d3a46a873def5548dca360187a01bf6bbf226a2774ecc9f79d4a729adc0da27edf4a9d745f96adc0dd13665af1e32940ecfdf5d400213b9bbe17342d1415105fa9162b000a5936f6f1aac6968ffff4d7428d0b56d546bb815047676c74ccd1c1af97aec5d4ad6237307ac5e83a97f433b611ceaf49a1b473cc4e728360b4f08820e44acc930dd4d4a08aceec03426cdcbb3b9f0bb809279fd34301281cd4d780cf5242a6ce84f0574a52aa71544859c148fc51c4843898b960dc0c5dab42b3b4e7583800492ef15e855b238b585cb566648fd98374367d16ecb872e6228f6e6e32ed058546328465377d09f2d9b7c11eae74ff8b44addcfba280037ed3756fe7e48780d33a3e7d88d08e7073b640e276d3cdca7a76e33159a632576205208038f7c0a6790f5c1f8878df0670be8af9fbd830f1139d11dabd3ada72caa26277b5dadc14ede8a76b936d7592371ffd491bed339c4bf78043db42b672efdeec6658323b71dce62a43e9e1a30213fe9c05fe7dfbb655ffaf4c2c3ee859d7a3fe2748e6b1d953385b83909b4076d96d470c282d18d534bdfd322015e472d0f6e451aed58f3902a49d8c96421a97f253eb0379b703bb4925a4ea74fbf3722b1ba0f8a2c2660a2e5ec0255bee817adbaf01d20f22ddd2130834f63be0ce72f8e438aebdf78702a7d02ceb2e87962ebed9565d6b54ce5c3aef69791088717261f9ad23ed9d6de1bbab95c54d7b246fc220bcdc730b358f3b6f652531f3d66af1fe794e13decc80cc6c14ce9f476c9ff550aacefd99651a5c622a3e4cf1fe2bd0e8c05133151cee4c0276f11375a74e304b23d66aabbc541c911506ead2341b6801a91fecc3cb5ab2893224fa178a83c48494ff32b9c8309a4c07c55c501d58bc44f672f967ab81841d114b4c1e9e6615abe6263ad756b74360ebae104558722ac4e5216a680fb708e559e4453e693cc6a2b1945f90bcdc63aa311c67f6c072ab4909d1cea9cba76b939d06c6592aeee2bde178c4e2302e1ba7254d9df8bf4fc38f9e0a9b360504eb3ffb394d0e5f2b0afdf7cffd3876d1e4548762adf1433bb50ed1a1f93f9435c66d1b2e6feabfda8a9a488ab27160db61bdda88badc5572296b47d1c4c8d8963eff42e68b012c42c260a0584dcd36f9cebcadea83f13514071aebc3c9a3a8eccf690aa0862c21a55d82b61290338606685fa334b56aaf5e8c0d5ff591a1237207c8ff425f9b492b94642bf63a7de703ab8eb852a4ea2641a2bb07093c4750759673371eb20883d60cca89776dd643c8cc58e5ea1517007240d57a692a80ef4f9692bba282b97dd52c88e41f5cb6593c7a2d65df68df4c7265a3600e93f4b9d3d05e2bbfb2db80e667b11c05960c4f596463603373e3e472db56dab707f4e3932de82af8b74b7f62a21dc51cb29bcd54cb3f286567e3987289911fa751d1222e69ce2e08a92ab774a4915dbdbd3766be02a463a1cd91ff51c5c6cde0a4cfa8793256a1c645f2bbda66cd7a599ab0ff4425fed96add0960538f3f5a63cd183c3b6a291dd78d6f3037c31174cbd4709aede65e1548b08f624dc805cd8c736e7632b4d0b37bea6871a41c1655bc6efb0f3d9c16538a5ba4df5a9dc7b5224c7718ec587ebb338d13fe4702612accbf276f27313c9369b3406b723b2c370833c08c7b19dd02f1272a46dc9440c31e6845a0af2fe83a7cc8a7cc41aa9105dea68e7a500344ff20b47e1caf51098a9f08ea3d8e5ec83bbb03e82572f0ebd08b06858a2c66ac8ec56d582127eb2fde417c9d81d924d11245d5fe43725992342d85ef535a352f04f7e0c2cc008bd1623a0563f2aca281bf14d3200c72b1dc42502892bb81c5e7d64723e0b73a0b0ca7f4f2fda67e48e3d8d753e915418cdc0cd3d5153605d61b00e6f0d9aca0fdefa8603354b701356ee085ee8f2f7258aa523b7bb31ac6f38a0f9ea853345793ca553137f70f00f8125d27e76e7272f081113433cb314e42bc617b574e0da29be0552eab8d5dc3d18310db33c36b7294ee0e6627589a9a4cf8d08b1a13467115d63e8c57647eec7d1ab7a9c2941c7206ed616659d1a129486f7d18dd37505827019c455cd1bfc6cefb9848f050da72289bdb73b61b2a8bc8b51384c1f1639404328b1d07d3552963910860cfa6b672871a5df7d83db397bcaa3413fe2cb2cd6d8a4235ade5211df6cb08ea47bd4e6f9fea60801e208d86586dfa20e807b93370998f5a156f3ba413febcc6ba1c71385562c2789b778d7470df8cd128ebde5620eb0b8c7bc31d9525e02ca2f94d171c574289c1f1eab072e6ad5179fe3e923cbaefcebe0462e92170cb65a816f2a2725dadad68bb813566d0b34d05060c522d2cbae7c2593c13788b920afd2bd03872b2bd3424ac05af026bcfd8fc0b25372fb94a1bb41ba83a7562e157822a94382fa26ce189096688ca3ba08962d79cdf852fce68815cf89c16ba0702a884da23268c29ed4061dbe0cf340cbda8023d6127c2e0d1cafde962d5dce9794901909272808aa33b243352afb71239c4fac2f63b8ccbd5e94c41e4be474ded149f8e0b726cc0c25fb5ed075fad7d0010aebdabb031615feaa8bc4ea4f7c78726e9a9cb7270743f721fecb78af9b30ab4b2f42057e91634533ce87eaa980e27c0b1b3240eca39c2daa661101c34b7f170273a405c95a48af3c83ff961c16e20d3eb72ba7283971f8adcd8cf8232e928d61aa315921e3a86884a89fe01dc24f71b9ece76720d8ffb204e0e0954710eb228e0ba3029dbad022978a43055e7410e539a5c95722d7e4bbcb955ffdc3c6e10c4ef5d4b4d45c71483a49527c4bee886844f69887264667efa56a2fa57baa5fa1e64092336f2529e30b02de8a328764222dba04d725c260552e20ffd37200e2e3d7c01836e8485d9517c570554a46f19efe846f05922cb90050c6aaf76b53a0946cd1dbb87cf2354a59831d03249a968e9fa35f94eb94c4f793fa533f4a03b11b1903a5dbf0173d7048705230d841b653388bb314cfa7447d715716afb94587fcca6b8be04ad4a9208c04537c29e5cc0bafac9df534eeaf48812b019d52d1b8a95168f6a7f414222710fc0bdfcdae7154539af95728d26fd0894c3f54693b2545009fbf86268bf1c56b89e37f471215f44b1b65c72bfc447b5f890877ba6d8435acca8c5fd3c472cbf4d60dd5634e2f94c6879eb72d20ab6348d45f354c3d9a8bef4f884b920021d0318465888435f51524f8a266c9c972504cb26a7ae7ebd44fc1fc1b7b4bb0c29be9fb9ee13e17e0a117fff2d7257c652afa5f6ad1a4c6b01c71cb2bb7493ad9fd5ecc6e4cb517adcac98e65d11fc8fa3849baba6bb8492cb83a9f9649bfc8629bec9ee0a3f2a8f1f7e02d2dc3310796735ca5a03c27d54afc070f455dd1f0580fb2426f30fa70f4a3609e8e4165771c8f4063c9bbd14fe397b127009e334bb0a4a76f61aa580ab766a30add472ac85d8dcedb60ad45493d72d38330074e7d753c390950c5b8edf27d60a6830729f96419b0e957673fc4354f8118beac8f67c9179e407f928e91faee80dea3b5edeca025a2a54b07031f2aa8be846f2bc7a89b8716a53d6f24f0a83890161b469904d8d1960af2f3000f08dc3015460998b4e06adb645f09728c3074c3d117f726ee3308eed7ffc6bfe2444b63685a567ddd031714afb26727db69d7fe2342c72420bb95480629084b659216e31e02a66864123feab6a153d3b0e8eea6f9ee850189e4e54ff928ade64128a295996c82d953d35bbb952c511e3bef591e4e2df6bea9fecfecc2f067efa62aeb8e7d51c22f3b879c9d15ac1747cfb37b8ccdf8d272a8482653ff3694d3f1efc37379a9ffd0063ef07f89c1fa0fec96518e93e787223bb1c94dd7b3ea85933dc42b950a4b18e83c1a10b970a621649aecc6d03ab689367c3b59f4b61be5cb229df8113a3db1ed0c79f92a5f24fa7e2609841834372e498ed0d6095df32cc3a37f0dd2004c6cc72f4be812a4a08b5a4b91f1c1938720785d9940eb4dc1c0819ec06d732eef62d6447dec9b7f6c56ae67c0be9f3ba10b8d0c7b70c906fd4ee07396c797e0bfbca77b25fa8bc1f3cbfb93a29a722ce72b968fab959c175152916fa429ff0de81f9b4078756a86815252331ee56b1f472d066fb18c4a0a55a3655112374ffee8a76a64239fbc0ec9c3dfee38216fe95726dbe1d30f823505d4460fbb8b32a546f39b4b5aa1dbaa997986d85435c88f24ba59a569f50d1a7aefef4db436256d8b4909849d72ff1fc02359cf60673c6a872ed68f0a5906e40b578b60050391fe3d8ab19f3491bd9da6850b9b4e6188cce57f6fca2af31656f56569fa99f2fc1f7cf0e0d58740955adf7519406c0166e13722c83f3135711545240a81d2f870cca03b64f4ce5a841b64269c11494d011b00283e29d0a9a619d39cbef28d1d75a91af0973771c6da1638b18d08881256fd63c3248e44a4e9b7bad0a51ff2a9a6653e24fa57941c99ba9d7af7318080df4217295b1c7bce2a286ad01039d28eb617ecdf049e5d6f5a3f6b8229d675a81d9ff29d2a127574307b24b3097ac95bd2f524622c4e0ff6bc4b41e3fa17056ddb17454aa5bd930b1182aea31ab8735d2c21126e69c6a6511d3f3a9812f00bded71c47214c57e14c4994bb1d06e2ae12529c13e97a6a20e70b119177e02950da1eef817d210a0bb0fb8ccbcbe92e35c2e25b3540257f31613875b4e0f74ef50098f49702700c6b82103d32bc9457e01787600c970e7549f31e92b0dff9e3c8cc7978072cd656be93cc84906831efc2f88975b8f770edac4dd9a32551c6a6c931459a7114d6612d18a917725e4aaac383a58a9f79de8603e2a9d0248848068906fec9c5427cd749745d11e3ec52fc5d304e7a62f0460cfb02f40fc1838de64d4543b836f8edc2a2073a02ab7099ae731fe9e688563eedb6bffa157c77c29518e191d28724b0b9753ffcbc7090d3941360b65ab323a4b699ea52ec08979a48eff3b5e25724692ffa32e17aa232735d8831a10e8cf42235c64e33cb57a71e628c04cee7d724df79f19b94abc478d142d23d60a4e689115878dee70b3e68d88efe6f7fbc072859cb9ebd4e92e965f462f0a939e6e121eed5388fe825099b79e2d1b92a54e1f3090d63968d6d5df27c8e71760d7db66fe6c384445ae3c52d7814b63a57aee723c1a82ebcc36ebe34a1c30749739c1bd9577cd598bd85450d9e717bf4b965523f0807499404da41351aa4b05b2f1d3b8f7b269e7a45d8c372d80936ef88d16724ecb44a45884ab5fc61c98b9e115722757c2fc2b68a34149839a66fab924304fadfc3670ced86757ac88da746b7ba0e185c65f048c10392e0ee434498ab07d6ea390479090d79e1d143205c8e005ad312330e6a6f4e761d6826079f9101aab705f07a549beec912874064aea4fac72b725eafc7a49246080e684931ad40a5d46903086ec38dbe7afdc5f2babac35de9c6e998c15aefe26bf1ebdd80c42897458a4020e25ba48a7443b1d5c83b6beb2e4af7a7e60daef2946ab33e55719c31e7246954b6b03b623ba6aae674751212f336716c7af79b114377c401028c2e34c5644108a60394e2c7a2cc48c9526d97e8ff91cfbd8d607a13eabb506557ff7697257d881c36758a00e802c228f7c2115a8a24eb650ebc2a2d0c72d40e76fea4b729780ffd169e2c9c1d56419f007c032cd42a5910205c3d28e55bcc4849cc02a723708c9a38a0ea5f93120982e36231704af231ba312c570ea81cb5967c676a4722a40f8195698ce4e19c452be008233140f8451b389d394b179cb8519b5c8ab723834915ea504275957debaee74ef6c8c1f68e102c7ccd460def1961f87fe8b059589816612212c89bb68d2fc7b27324c042fcac23674970412feed7f41b6ad04442fde3c8563aa432d88164f2116f6ccaf9f5128cfb4b8248ec0e9b72c695b72f98674e2abbc494c11b1bc8dc347e3ba773bbdbcb6a6b7e6ec2063a8dcdce372431fc33a97dab624657212a20aff973078259f7be5398a60a33657027b1380725aefa9e2735878892097077a4a85909cfa11bda295d36666ae4844995851c713bbce54274428d073d64c8091ce027c71c18c020820500d6d86908cd35003a772634019ab3667d9e020795b0916148775da40d7411c1f55020b9606072352fc72186feac790d75fae5904aae5596548f22eef7c0bc712b2a05c233b4eb636ed541ce28ced0d92ad18ae391ca0c9c8c6656ebea9bf5b8c1f21f0db3d7437d04f06da18731e45f5d989c0f3627d6ad101b2c067380ba386ffb255dc04a371ad3472d53a752449ecf261249d641b50f493b811216a850476e9d1750906b326519862e6691ccf8fe151adc2ef3fb1f5684067f29fecbe6e484a701371f50f081eca3e13234d556386521b2df3cafc801ea5029634c407ed67276fee6b4a36eee9ec72ef05fc4d1ee19de254040571392a6d92a949abe304402affb8e59d999e7e9039c6b324ee02dc77a4af2243244d599da51a0eeb6de54a99125a17ab028f7a74318707858920b8739572255b39d6f202d6173ab4f7887e6523b32754cb99cb3c72cb387c78b282aefb0071f6022b4198ae76639271ca97ec32c23cd8d3a6b106278df79e7a8a1e1c0a6beb216959f21fb9d7d09be2789e3213147cd8c402d053729d3c32e4e591ed28f530040181724fcb35029bc1583e75931a6bf77a0bad5163a517a31f738c772a36ef7de30545339d615a8bc034fefd7796ae398a3fa19732ef87842c8c0c5aefe98ea0dacd82095bc7b93b70af423f1d62247702f6821310242907474b9eb4eb2389fa97dd1efc09664eb3311b1c220561ab45a3670d14725211ba84344aaec7b00543b55600f4cf714cbc82b388c4b684294d3f2bcf2472ad25dfd3aa9d269d9c28cb3130ec2b8370471ac04596b4973e5e0f7f2408f062ca1ec1f1a369ce8efa8d2b5f94102c6835dd76aa2b7a35d3d5199bc0e683c372d45eb5b0243e5c32f10b90b3029a03a3d2b41306c2082bdd936e454038a482727ed652532c3e8fea775f67ee225c65a0ff2b6e18619634ca2d7d4c83a4ba5a6545f7ce0158030011134d5fe703d9a286bc6c04eac05126dbb11707bf8c043731977a9660a8eb32b384031078dc67245bf237ed43d37d5474f12be218fdeb4c7204426160a69554c90dfe0239b595e6d28718ac40028a5eae7585a6ae7e71c172e53d339be8f2f35db7537c77af3735a3c97281d2089cca63a5e4efa09e207272a49a7741484664fac369f56ef206d16803c0fd2f7f7fc0659054cad41cad7b724dfc7eb1b61154f8e4afa13e2ea8ed976daab555df1d43804eea554a07911e1efccce654a5569f476fba750cfe2995d2b100fd1086f7bc2ba7ee0e4689776c3eab6247b946ea56d7b3fd247c7e613dc98b2068fe2e1fca5f4d41b54c14234772e132e591eb30fd92cda64986ee534a8329f96d8ede9d8957756113b8c25a7d2885b92805d58b577991133c815b9dcfee3017c3d0527287419c7741f24559297224ba51cd3a6f7a66c40e001d1f188efe0e52edba1da26999277bca698d2bb029f03301df6b9078ba77d270d5647c923ac68d2321cc831f67babdf1741ab6ce6ed845b09e499ef2a67a3effc9903e6956163c9e9d146415b8b42ceef149b87b2d0a6366de4f0d5d65a8f061b4f92e8fdd241991bc543093f6687229a39f516372b28d66e4fe55e26019f0553bab296ba051d98e40453164d62a7913b97a42810d570d6e0bdaac1b6c567cf5a8d55679d402df9c1d10f6cda2ba83b8df41b65c427146b5c42b2b96c0aabe490d19a8a9a08f91a084005c4c7403b66fc23cd6d4727c5d702fc76507eb8cc7670bb1e26ae600da7fdca78ef4db0a0dc312a2d9a272ae18c3c5faa484115979f1796418006a9819c1f9586aa058b7b58044575baf7209fc3c896312b82ce689ef34c80d9240d1b42c122e797675d566bfb9bf02f072fab48e57221d284be9cbe6aceaa05eba390b1c4e353829f44c6f07097925c572ccf983448a1b69ca3f96f8411061628c909d71ee38cb4f07dee8f1900211c5392726262c4ed8a14d9edd72a15649fc9557ad082a5e698d6008b0a825c3980972d80929855c3a8d84dc3511da74a5bd06a65d78eb1792781680d1fe53cc1bb23e8f91690599c5641580d499771e4ef5e37fd7b8017c12d7dc1006c86d47daa9723cd115f6b38060c26a62b9366d1332573784b23866ca2eb7c63aebef6798b372abf8a0a84dd042ef6a4970ebc4ef13d81229749244aaa7f68e0895f2d0e91072db30ba10b42c7b951d584ac891a60a107c4b35cc35aca94e1a9f014213f4250bd10abe9e447ff112530e64d09003f9d06973e1a110832c02028fc7eeb9c163304214a266922615fb66c8a6f3c907510b510f4b5a117e9555829f137ab44fe67242548a34e7902497fe436f6804474621eb967e0f30c3147c2904b079c2ce9072382839e70dcc15fe2bc9d54ceea0f1923f90c672d2bc63faf3d0a404bc30a972185e5afa8054b6e838abaa0485fb3e51933b72c1e25f8220fd3bd387dfc769727bb27b52466631441d8501a6e3224573767482242a6e0aa7e5d43bbc37ed1d72857d6350dce9eaeab246235e7d6365e5971ca61168343c4b1861af9280c2177263e0353b1ac78cb6305c620b0bd2520f51d97208d1e493670afde482f6f3021cbe40ea83ad77d1c2053ebacc1242f22dc0a6d42ce542fff0ec1f1ceddb778a100552f0e408c92f0029ebfa7ea3b3064d883756b5a3e52a4a3219fbc5cf037919d1f61481418138bd59b3cdee6449b6f4d1297213c619c69a5dca9c7e4cd7797208f750bfcd10add7282805c02da5bbefa35b73fef2c374500814117ef4f3470aba6faacd869970d1551ee77c3e491135e629c1d6494fdcf62e6eaffcf23a333c7366fc4d172e5a5ae70c5ada7b20631ed09496aac90effe6281e00c2a7c97a4e7b32838c6c96dd5d6c83c597bdcd89063c601e2d20e4968878a0013770ab0b675ac91ebd65fc8fc6e31bba233c0c2cd5842b55c81adcd0e03e21ea306ce03e7273bb1e04ff67c99880d028d092a35ea46dabb70d35ba888229b7bd961dcc7e6ada20b14216004dbd0954b099a89c094643796d50022968bb4e709359b352fb34feeb972127d6696b8e7276e4191d18fb99e2f5862e68a9d942a7e69b32d30b72a5f92680baa2c82609a1901d2d24b6be1da66e38154b9be10236a515a554fd3361c74c0d00cdd1bd90b765bf096edfdb7b0f4801852c4121b4fa5d0ec76a5e72f3859a19136ec4a4952f8ee3959cecc6dd5aeb9f09df7f232fa21b64a8a2db2c655fa0d61b0c30bb3aecb936ebdf799fb2e18a5e8c04a911f2674150b42ec972e8447b7ab1387940bd3a03e9d9f45dbc795285810bde13e66756b12a244e2d30c4bcea772230a62a43d0ec3150125d6a189b70be11c915cd8ab048c835e9d058d4a5a8ed4f38eba409cd63511669826eee97841e11e4addcab86ea1e34f381722c3bc4e6da0b62944b4183be6bdb94710e3454371022ee9008d02d14c98fbc1fba8d7e41638c6950743b27c336728be6cf99eb15875e12ec935d9cf832b0e772c7e7873ab576467dafa777cee3fde6c9275c57fdcd70b660df6ab0d1cd52a44aac92795e7213ccad40c82bcc2604674324d4ed3c79bf66091b495515983d8b2dee53d746f155d330a826a7e82b6620d16963e2a299bcdcb7ae41921dbe275b7220d04640694453ea56bddc28f242ff424eaf816d8d526f29e1abb405f284a17292935ccda247086ae3907d246f31fed6e6542a024ae1301f6f49e7e38791b672b643e874e5d7570d7de580ee1782e95818f2b252af1e5cd5e81a8931e52bdd313fa46668e68134855b0551a6425c6781a40a277c076d0ca0816f334642154d724c35c74bca3362a2f2a8290ae80cd4546867245c7a0bf722a88b4637a781016892464012e6395a55b21c22b8a6a4978498a5c234b540b15d8c911b24f81bca209be712b65c9b1df465c8e44363bc54dd087398fadf9967a70df02c9fb9036b56c7f7918fbda5e79afdbc4613e2a417f79373e59254b0705bf7ac64c20e092c591a2d40707da9f16fb1b2d21975b2ef62d308d1ed9dd03a48cae7ef24099e21723b6cabf0ca7a3e592c541f52549bf0d4dcfaeaed314836b4187799454636fb727d68ce700505b6b5c5080c631bb2c3379ac071e2112146b7b516e026eba04372550117cf56cdab84dba5f436b9de824fe63283d74e29a709093a846153e65c72630ca10c838e4a1a83b63589498bc3fa256ed62362f3ee55eed3d979d6574472715c0213f06310614164c7bea4f566605e73768c37375e77b7400827a4a76f729ffe7d52c0666e8d87f1366d832bc8a3fb4be04e3f5fe9e67fc9c6b7302f5b55c3e231952e062a47c339e30ee9b0993e5ea0d966a259b9fe07317462fa4f4d7209b9f499e87e18e96ef18fc1842212fd5d312b6689f5e790cd84633edb90e372f7ff7b4fc47ceed53f64121f37303c60637e2595ded0a4628f1516e374084d72e266c006cad7cd7f89ff105e252048d8706877ce1ff21dbdc74a493b7e09c515223ab1a66a4373f5344340dc7292fae8795f7d9e5e5493cd22542686ad532641766ca067beeb18c6b42108b3fc46e6b684a0781e5092b2c2688eb3e09de4be7248add7b04eac84714b454218fb982e1dda0a8d1a71a1054addad2de9a2ea5672a657a1a35dc9a7d4518a01ff5f02dd558145b1a384627c60cf8e3379d1dea87201ddb03a3a472c3698af2bc9c55f8f02e503d9fe963ba6854636ebedd76ab333ba68895aa9cb94408a81efb06f0c38c9f10b3acf378f3cc5df9d55d2e05f6c72ef25511fb3bdff6b9822a016f8eb0ac796211442ffe6011ae77f82077953e37209cc06c27b383b2f179980eff34ef12fdccb70547f82bba225d8090190d07472bbc8c81b9344bbeb6e59dec4b45ef5600e5ef09f0b3732c4f3b7a1cb0b394872f9697c92d36019c0a1ba0b8c8828570376be76e99db9e6d8e0b89b3d72aac6720e858c1dadb2a0415bdd902db4eba2dcf12c49554afd739bd15e31575cdafb7296a71ec28c29cc811f1f21245cb076545fb127a7e22bef3547c63689702cbe72dbb005b7dffa5cc43b7de2e017844504a47546de3e94d6d6666666732220b918bedfd6da4199bf4277a68ee0e8c2c3c42de7f6fccbcd646789288962a8e8f172e6e67bd76c63c9b0cd6040e476a50dd1bcb7cacb55decda60b7d353862fa7f725f28e1cc196d1c9c8b4983d78364863726a9e5ea2d3b5ec0bb0f82c554e32e72ea1a9b08a234951c4ee5685dbc5171ebf51b0b52139969f520c94a216c668b251ab9330d8dea789e80118d9cbe33aceb29050326360bc6464775677f8e7d2a5f2d52e80e54410a10832a14a097a9428f7f948e25d4968157a89da8ce3c2bbe72d5e4262dbecb90c054d660222c584778651f9cea719c276f6211041f4284217225a802bd22fe926ac48806dd3c4699873c11cc3850b1d96b41007b070746d37272ff5e033287eb9c3fda7211ce47d13dbaed1c340f569c5534d47566a4ba7d72ea8ea9d530d1af254bdadf7b408e059ae574ea9921f3074badeeaaa71579b5729488493a48aa3a7617b0c6b436555fab7129062c8e8360b70e747bbe8624b3725f3b9910f09f220606c8f3c5da4de24989c2747f304c29cd18f2cf01d5b8031314e6cd5ed1b4190bde26d0560ee0ef28738ce25aeb51d2372feced8ea834f65379cbd47825943eefe9e90b80477c6538ee5ecc969758497face78a13fef1de2601a649f5d2b812a552b30ea1e1d2204e1aec4183ba24bb4516637fd629dce072322ded10381ee94072cbb82e668cd3c204c9cecf5a92b4a8de344335d1e12b726e36b11d6b627c79241f120c01e0f884c2a1fa1af15303cccc5f015a3b47383016445fbb23a74617d21b6c76786a3bae4cec381ac73e9df6df52064a411aa06d8fd4503af444488ddbae8db2ff0e306160579477eab1310ed20d83df18707b5037a9d7db6d093ec2a7f5d94aa35fb5e9fb41497463df30fa6171701f78bc182c64ff4aa8c5e5da0e59bb1415939be57299e5d7ac06ddd0127f1a874d2f3ca61a7613b1def1652fe55f6037914c49bac8cdfd9ecff1054e57bccc4ef0ea118c729d883ae319ad8025a22cee7e1b354d002513206552481ebd7a66ab7ec9437d2f551f5372e07fa2bc2ac33b19a10d7b0e3e7e434b50e086b5c1cc787ef0eff8726de3375204d66e36844d18c55b7445364c759b7640bb7426cbf1d92b0cb8a572ffbc9e9f95be7e7843d27ac2066ab06931f4c6aea6adb071eb7a478488d78d576655c6c95064e5a702582f6e8bb5a29d93dd364e2067abc3ab31a8d2184bbf72c0d237f03857233388fece4b8464342a1d189d2df3c780ba548c5a3849ff701f1be24ba724b6195190aed5e713128767979d26eef6522edbb14b742ef1d3ea720f3c0ce021243df153e75164db7052ce6d96b8639ec1097ef9dff0543f9b6a7292beee0420ecf8a6d7b04525d936a03e7f849787f0cf6b25e1b8b4ef3f06bc4f1312efa4d08f5f602fb75980bb296041d4c6e458062a382358fb9b2e68ea775a84666936e708bed5a2a5942465ea0f366cf9494fb13e6b311dd27644f074b6728f1389352d360b377ca5f1f2deaa8c2f8a2f1205a87b996b849b9609bae2707218b9f8bab63280ec6b31ebf799cdd352c7a0b0cf4f6c832f1c8049d813605d72c3c4e27d18b897da0be43d8bd31f936b4067ead50415b1d5022ea8bdcc720a311be5f708884c7bac65cf3d0a921924b01f47155671a49bb43471ba20c2abdc7283265718deecde40fe8e9e094386429df45b6a8273ce4bbfd57fe00ac9d0804fcf279deaf6a8532122c9c53107c4adec2fd1912781ac0b602d5a988cc3daed721ff95dd7b36f4249184832d0c1ad13aea028feeecfa7a5df26d68fcd0abd95726fc9376234d0fa8ce614f09acc1b8d1417ea78ebe658d4138711b968f5c32972cee06697916dab98aea36bd7743de5e98ba6c672cbcc290e7ef35a438021b53ec48a9653cd9eeca75f08fd49efa9ccf51cef392cac5a4472da1be982fa596a4f4ce247f905220c36ea65977edbd6eaa1b82c7dbbba7069fbe7d20e5efd824d33f3fb1cabd17dc95a05453f540fe494f09ae6336fe9fd25c1376894efbac44b43f5eadeafa141725dbc6cd7f427b120387a9c09eede940dc6493b3fe251b9e172866618d837491c16a4a4ad35974446ec5436cea351850fa97d40e493a44f2a19867ea4e4b828d0b21b5d5162ef87baa3aec520306898791fad58eceee153f80a697aa3a1c9c2e760bf9e4f4898c5d830e90b9a3f43910e71b598ce940efa3d725dd3383991d52ae9f99f33ebc63110be8476161b047e66b3a1126fe7584013165814837cea9af233d7d9c87dc6fb86e787bc9dafc527c4a97e06d7f25e754272ed9c55f1afb70c13cee2ded9c718066feeea121bb4a021747f331ce43c4d8472d95592c2ccaa78039a798a37174f73e8c55cb0de40ba3bc1cd832172abf9547256b11a4e66d3e45118aa7962ded943f3116e7c7c698959e652d5a48ef45028602238191b1fe0ede427196353ecbd9e8c6818c7d284a77f60d0f3c5c831d29331021d97951bf39b7a6e0670ae2e41b9d0e0111a7cf70b44956bca529596d72872e614875873bf40c9c84bd09ff3ba2ae74bcd15aef91494b53021b10f26edbb1d54e7c3bc2782e039c23d9500cc9c99f3ccb72e3ae4c3da744a8912a8882e397269a41d5bb868e23611c7e3f11be481ab3dbb832761d8ef9be9589ef480f3e42dd26252a64b423e5189de9d5980e7993470c8edb9062db7495ccb964710dccc72a00a32199d106a50183beb22d1dde10b9a37dcf53cdbcb417dbb088db848d372141d1001eee9cfaaa422db0b6b341052697be178db0e4d2dca310efc9c057e7201e396ef2758461fc4e95121aa867a914cf5dbb725258b2b7921d6f6ab02d5010d9518139dede6a32e403a7ebc4eeaab52f7a500fd289e7147e50dfe8aa42772ba773586c322877d94ff4febb26919bf7a0d5d156d310a51088daf2aebce5d33ba26ba4a70d37f6990fcc216bca291d1f8bba018656cbe7fd0deab6732fda272ac77f3a2ec9515bdd8a1890117390c74384ba01ef646be2c1e8f157c31749272ac9397b0546cc4f5aad7778ff800cf127aa5d0fbeb3c7251f203a8e0ec5d2a3381299ac998fc4b8d73594b458f0077ee04913fd12759171c4fa3656401748772b911ef4526dcbb664fc2b35a6d3df0645d3820ed452e1cd8161c35599479df083c8f8bdaeda1aff6d6d44feb4b63d5c5407ee8728a6a504b4cba926f27bea772deaba211734dc6302b0b953c4211b3bd6c8787e45208e2b0ab91a89eb263a9715085187d9c01f06510e98278053c53234d3be96419c20dfcb23ad8315300217283065017b70c356a68322f6d6f23c85047d5094ca7787af98eb46cf1aa88444b8810768f080a97aaea0f8973d27c5db4b3089989b97797634fbfbd4717f77a2f36925133228648693e625ba65bd25edc990e52ad9714c20a20e5d4ece484c83217f2b2ac71d50e0ffb3efd9d557519ecdd2a53a69743db59ffb171681e0e8510ba3629a7a329c73b277a2eca1215d7e6a2f46b99c64cdc291a8abba620897f727ec0f3d99b938f0f844d59512e7140729beee8a70c71eb0d6769d5e4fbe942728b732d1930314f20c5845ebe0ebfb9351c4c1ed2b7605dd18899e3947eb54b16fefeabcfd0a54dfb8b206148f5a17dbb6fff86462da8deb80a3b6393a2c9e37223bbf29c7b859c986354354193f6333a637c89f49cbfe6022c737b059966b26352c9429695b76f9c65c3a56fa79f2620e934cf6ecad464767523be29a271dd41eb4989814d289b724e8551f11dd213c381565a758fa896af96dc1382fe2bbc05b98f0d128c41198ca55d71cc98d8c313cd9f64587b93c4f3aeec116f8a4582722aa6d8c83db98d393a470945465f04b297ddf63d334cd6c0ebd5930f51d66356a554fb9479840a416d7e4f1fe54e234c7e372c22b36e3451ae2a80def1685272f579c5d00df806c7d3cf043da9e2720b1b8e3962fc53206306f33d28824f08729cf9024b4e5ee15b04fde30d39dad9490df42436f2474b7fd1569f942270bf72eaccc1c117a92f1402ccb485da2820314400487240f27c730a2b2758e6aeeb72c16c6708daf0b21eff671c4f537f6c8b57d6e1b55edc3bfaab158ee1ffe66005ed7199fdc04410d76ddc9eef90255810226d493e3a019536401219c32bbcdb722502055fa9d5b61a92f9921249f29b5072398448da5096fdd80372bcc762137205fda995616071fa23d2b3f4e3f5667575242f614f03e135518343f167092272f35ff836ac909ea42f6e10c39580d9b6e38abccf95663c0a8354ed2b38231f729832f73f52ebe0de64922df2e987c589879d33ad62f9dd2eb70b562f765ab372e979cfcd41d016b183a3870ddc5ac080f727a32304ba6ae9c1382f4f70d127417ff14a8e4a1d209c42ae6b5745b6eceb11f8de17c6715f4861472fbb507e24213e40b77c028959bba225216c09423493ca3ab6cbb57b7e5fd7122035c8ef2772160021311264d6b799765e9298249b06942c2ef6cf182519ca393fe4a721f93e8d7c13f0df60d05cbf682603dd1893163858238b591c05a275c7d5ba5e53fa72617f3e2688b42c2e5c1cf2f6d67fc7adc43d0f138af2aba5144b03db739bf16fef4b1eb0cf472ca5b616512f05afa588efe5bb7063eac66a424a9f3f9a7f1f72a9111297d7db9f0ba5965be49d2fbfad526e2f8508952d16ba6737ee10d1f672d5c125c5dcc574ec787bd707361f2ddfac73ada7145883907d6892047883113573307eceb6633c544e3d7d9f9a564f03921d9843e6fabf3819e7b6c0948d7a72718dc2501cac913a47e8d9efa5cf4ac8e77662c7bea1ee312c92bc17d999e872814a64e64f928f0d60871282d84064a651e36e3a91fb6011dacb3eb9c2781c6b6593a593ad028ebe579e5620bd4208b7ff14d5bbc3605210add1babaf7c8087251ab837125d59b8e5df1110637d57587cdc430e0d90b55499c2f47438af6da7289991fb3a282cd91a8ab0ce6a206bbc46fd6c9e8d0c7079fb3eb790eef5f53259843cae2f3890ab2f27777d6c07b583063ff57b2b75c4be863bab9cb99a250721865b998ce178733de49174c116327a06d27ed3e0ee12b7cdb01c2af1e4f8636b87aa951dcb024751bffcb6cf41cd84a1b89f469fcc9a6608e4e8ebd358a9672954fec8fce83855b5c9e8b63e434f6c80ffe6ab5c3d16528bc5c1a060a12f2724351b97f67124eb1870e9f4458fad8348345e0a6b183c63aa03c109d0beb4f7287cbdbb626b495c905ba5560734c2f5ee5f8caaba090853a62bd28ea58b4b35c486a43eba5d3e53f7d52fa3e9bc48270048ddd12fa4819faf88b0ab56b218e071ca7896582aee66e8b12e1f145eebcbb14cb85bba36be86f081a37f0b6f0ec72ddf1df9a5c97794e26751dff3eb359c64906c644fbb4bfe0ffc7c43606224f24be3d8c6a9fb3b6d683f3e714961c5b1262aa23f21eb9d9addedf2f3a82332e41d82fca16054cb1a271f42aec942710ea6639585c2200dd567817fcc08e06b767da326d9c5f2a9a9bd348be11cac7dca5b9a11d29c446d1e59d20f10c67e05e6cc7f5461369e509495315e41f8a4cc1aff5a7c29c0262d59e14ef972558b57c72bf4840eceddd258b77e99253eafa7749219a49d841b9c55bdaf9a18ba0ac5e140729616fb455e377ab13b23f2951ff39658b510df7a96886697ed13cc61c7302e70649c73acf7643f1cfd2a06f57d4a92151d32c1f2ee75055d80e0f31a72d0ecaae4320b52297086993a8b0cb5c2773092db807a5dcae5de38c4f7d3edd1b4bed6ee607364a1dc39eb7a15f284f46b3cc76ad60cba4ff63127fbae0b8b77f72d0c0a48b0a0406662ea0c0c6b80fd9acdce610025f4b909867f3aa063c82037290b3d2efe897c54ede23c5fd855b1188ef08e29994df6fa54ac9084898c2bd72e3e82ac75742b9218e48981981511eb7eaec626b5dcfed06bab1adc73f1df12782218a5d0981b91db7791a26ebdc6ce12a28aa43651e9ecd87064f107a938972746356b50265f5558509c6a43ce5d6f7d6f503266f6ca580b2d1953dd3ee337237e112ab6a8f278d876568bc4c59c3b610f15492efd03a217f04e0811bb1d872e621475354ee56785cd169542b039d00ab1026560e4a9d57b03cbcd90e4c08499995a5045d3867e8174b594036f1260d4b9220b2a61c9f23d90033e888e37272dce85be1710d9c8b1902a6918beb29dce0301647cf8b25a824096242ecc70d72745760d5597e251514692476d6b2ec5b6d1b8b650e585a8db0fcdbff4e849572b87896c979144663f9d8771a0333b841eae46bd1e428ebb2ee201629b624fc72f444f6471cc9d1552fa303bb3df1d83a8efae8fcaf590fcf16f84b2ca4f3b6722c8ba46f749f52eb4f659f9dc5c68d73e9922d6af8b31f8998addf5681894c0b44e0bb6e0450c1e9be5ef150a00229a536ab65e35d60cdad82bd33efb8d2c94db0a65104afd92e743d4e2f0a44a845f18a9e5994b0cba0c17f939304c8c7aa6bb251b570fd771e5b652ae7b1f606b91f75615de3bcc6225db340ac81f9dbdf2ddd9c55f776a25ad03e65397ace13ea5f7c134ff3561b3610e9a35032f0ef446606de749063b18b265eddfd062dc0ad923eaab82db45bb8b1c71ba567301bfa1b5277471ecdbcfc69042b3f0c8c5cd3a2d24966f83e0b8d5882bbc2a58e7bff237f3fc3e40286e0bd6aac07fb0a1591ebfb5d3ee582322c4fa36786984f2925723612ab8da3a15d5fb6f56d4a4092675fd02ce8c805d183d8aab4febfbe4915658a3443980c1ce6f014f00a243334c194556a6d505d32f743ff4f7d21d6d1e542df03fa57fa4163bf4af94a8ba7ad2a1d8dea1d3fc1e355918b736688d0f52a5411f06912e3a4e3bcc0231dea4bcbfc0be5be91fd31a98708232966b301d442724a274875f877f59e474469dd133d9b43d9e7ccbe323ab78386461a05d350562d1c8f41633b08245d5510734492d0f00c6ba1aa33eaf263434d3706258a3433131c9d5e6acf90c6ed18b65adfcd1a32b07cbf6bb05649dec6646b5d61e107a9726eac10870c438ae96b53702123a6e695e73ef6766c5cf3ba9f05f6e4d6659e72eca49263e95762504be1795e613ea3f19fc415dcec57a2680c838ba00eeef36613c978eef309f091c3ccb9512c500e99c1cde726341e2888f9d38b71b0456c362c506b1c1d4caad3bb00667ce8235edfda6edc57dccb8a836509c658d4cbe31e203d11dc589a218f6a4267870e59ae278ee45ff75dcbbb404b4e2ff7b51cbf13047955b50b6652695ed41329252a4edba4103e1dd1673d9198a59564ac341351a57da622d3f1025cc70deffc31c2e42572bbeccb2acad38abe1ae6130a736f7244c8747a6dc2b57305cde3332f7a8efa797fda9c7096336703d72e0acbf444729e3de6a7d45372407080e6b32adf032f25230d6dd655323fa864dab6f0ea7c033dc9faf7e08c6af1d5cf390dcb48ed342ceb1da79713ea69366b511f4183b17279d964acd5a00c79284c202d024377893696b82e1433228744ff946dedf3f772dc8352b9810349532c8e85e6c73c0a159a224ac2e4df05f8c1d9e96ff1b177727cdb1cb93c52a8c71130230b07d6452ef5a44a68637f026d8ad01e426c43b0667c378551e2d56dd18beabe133789375fcab836f4f30f6479d2acab145c22ff72894eb3e35d475e31ea4633bdde7e400e0bee3b1918b0c6993b2e4a412369f77240b0141794cd78951138c4863d59837e15d492135760a064c77da6925e9a3663c6e4fc97a0ec9f4f68525c680d063c216174b46554b18d7845fdaa913b1f2b721290a03c6e5545e506a7a56663ff814e24c211407924ff48e33f599f2286f13ba5ec1815376b6ea816fee4e7f9f61466e422e86d54de69dd9681ab476cb29172cde5e8bb1d9c45934c72041be554c8c216083940be2f900c0943852fe6d66502e3b6a153da75898dfac3e1ba35082e85a21099555555cb145d4d6cad13d07e725f1e013349955174df22993f8731494cb9e50625dda98078598af3f619f3d056c92a6da28bbe86dcf8195c94a9205485528eb4fbfc7c797e11337e951938c6725b36e1d8611ee199311552a0b74fed392f1a12dde1984437a11911c6e67fd634feaafab773d4b821957dd300b29059d9024ef62caf5c455d1850582b84534320580c7187ae0ad6ad15b525eef075eb7a0b50bb0b5847df542c5920fec94875502f4dc52e0331d2d8455d8a81ecaf74e4fa7c8de7c3abdae111f7c7c1e61ae172b9739fedb848cf0239c52ef2f6caf14f2d59a05a3b7539a2d9cc9973c3a9857297cfaac1a073474d0acea1f5a34ac19c1406a59884b5872082ab964cbfe82472e40cf430b8d36ee7e245f4c95ca29b4b472c681ae575425f3c8d7fd7ad032a72317f00212d8a3e14dbaa152011fef336654abd1bd8561fcedab54cd9a351e802402471ed9623189e9e7210386b85b30ac5437a7b983b0ca226c92fc3dd73dd72faec52d727131e4a16328d076ce512bdd0ea8f56ccaf27dc3d6fd1e108f36a721684c5cb758de5c53a759690318d56f99b720cfdfb4e9fcc7bd73de3b2a38943565807d15301de55527792618fbe7860a2e52d652afea3a0b6f442ddb45a9b72a3d8de73c8e54574eba200a5a2ebf96d636a00cef260fa5feec9d7e722ea4e3f3d403eaac2b87c5342fbaadd4afa848493986cd29bb4c258bca7a0b569ebb1725a7aff41613e3d9dd8ad97b579d13261a03918e537c455e3064187132cb68f72f85709e55f038802b722ab547c0f4915b0dc5557bb5cd03f5ccfa65c72f86672ba3f1b93f2fe95fb5ad2a22409e396da6e1f7ce1db071b6eba62045bdc2b1729d1ddc150077a231d6716cccd6d7e3bdd93eec71a965a7eeedc3bbbb03dfd61721c0d183499cd2365791000d864450924b089925d804f38cd5ff8d05977ac5172929fd32b3502fa837af2c3b841dd97e06c8e5b2bbd15aa287f3972912a5e5b72cc621dd2d3c1253614d162ce532dd3ea96c9d98f7599a20ff1798ed1afc01663e38371551b942c6be08683dcf54cba4694c1cb01850e37a016d7f5a497c54f4aeb5d73d7d599f0b60d43d4b1b8eff9338c75bec077b9899bc1b1a52064052072991b04b98f313f1a69a1b84a9d83aa0d4c304d0b1166689d3ebf5a4eac45f472aaad1aff238ed135511e37705f24c19fce3e00354f07d09dc9b502eedf66c072bfac68dc25d102ca06143c196c873306242c1fccd18bc71c2bfd4df059a6442ec2cc4941fcd1506359f5ad3bab876971646ec4e2d21611c13a0f21cad1b14e49fc22cea83b6cea1a83c494d7e403c8edf337b2c15e70fe483087cc5c2a8e7972aa82ff8eae52453dc427f4621deabb540149ae78dd2cc35ade975f35de34e01d4e2143f7548b6527562ced3e9563d97a62d19e5acca0c68570fe2316956c7d72ed7a79496ac95c42405cba39e136da634b8ce8afbff9282409d2801f32db7262f29f0ed842322d5fabad58a7a37edc7d838f4502b04a1a00f1750888291e6d19a9b5dd5a108897321b8daea5bec481858f7c50d6f136c95973461a3390d6d372f37c5ef5c789cfe812178df77a56a8b59c4241e058de45ae76db09f9a3715e0029264fef7d6b330d37481266b25bfc4faed380d910fcb9e7baa756e4424bfe72f6afee8d7909ccf911c9cba8a8eed4600cd4ac3a2a8bb44f5282b11ee3fd6a0e111998aab06471a8e66e045a29b7dc05db766d6a4960897bda192710001e6372cc7c9cf416a5ece0114a4abaf830919e2b4744807ba4fb95f6bda420e44ba272abf6478afc935cb2bf159be6fd4baea98f2055d74ba37c19828bd464738bd9388e131bbcf3466403fdbf6dbe6d6b1a4df26965cd1e66092a7eede40f4821d2720226cc9820a112938f3cdb6c073337a705e87dbb94e41e2d214728e296ca7b0146e9466589b3667d84b0cd75940157895a3b12ed642172cba6fc0fafe4f5f972e0adffc7def3e21319e791209cd4bd65afe388ff27cdf30cc2964bcd8ceb9b72c3c0c14ff5f640950b1630364ac251ffa3f4b09f468f4987c346c32da2790972085334c45fb67e4198f2114b5d506d97437678aaae833ec91b8154ebc6dccb72ff8806832f2a1389fd86fed608204c4312a2feb7e19b6ac22dd31bd666cc1f40c7ef74d2133c02bf6ede29ed7ddb01f777136905fb0ed8735bcc7edc95dfcc23d34b45b3798f11ae513d03306ae22ea59034956d532a6bfaa2087989e4646e5ffad835e96d8e30872fe30ceef785a0530e5d2326c1c61797d37d7dbe9fe71472b8d2d57fc7405391e0dac8bf4d556c7ed2f34ad87dd9048b46c8f88c58a974725e773697cf58ea498c69a7520748aa9e5022ac30ed71cd2938a92dd6f1797672d21a9567b8997b66bb9af8fbd14edd3db877de16d4f7a8144a0c2add09e32b729f6b88e2d3d910327864e0e82c41f8b9401b4b9826e0eaa4c17479960ac3b2720fe30c9f3269d8a40a108fe87546f68e97f6cb9782b48be829ec492aa99b72727399faa550692acc8cf5c727a26c7f48548fb81bba83fb7818be66fedc8eb1721e6f06b56222018bac038ce20e3699f3511ff9391895f633faf738c2adb77e7211bdca0588348bbc0b6ba4e0915c4d7f66d8ee0d698a071355e5f4710aec6449340425d82f44c97206aeb5db5fbda59bc1f0948e04522254871b9259f570937234c3682538dd4f4ee9f2374bf5baf958c575cdeff50712b2606de6c39ceef923d1343102d8adf21293aafa050c3c97ffef19496d4176821d6d945aaa4c083572d84cabd2094710f01b3deddb98871651f66a4eeb1d467f54d3c646659e5b5f722a190fd3276005a7e03473f20a94940632da15efa6063929729a3f2a5de4192486a030ea5c0c3157f6127ed34d7ec4c868814a5364c2fea9ec9e8c6e4ff57672bc7316881d6851c171fb262c76960f44030d5fe08b9fe7990ec577bc2581232b46fd80fece490d309f56ff1b8c6524b62d3df9855d08e8cce63a197d1239827289c8af699c08f14c753fd2d78f6d78cb4f67591b913b517d5ee974c420d87d6aa1b7d2c7163b58bf049db5f2e6c0e90972355cf779a022a7061c939f071be01cef0f764a46124db87b1b0f9bde54a01fec58b3a49d9180ec748cff168fed6941f4e8f68fffd29a0881dafc6747790e4588c29e333d1a6aa369f83f316fb2de728e6a27cf104f2ed59e22dc9e3f86f0b3099174e555fe06c10a09644da9866772e29330f5d4fb86b3cbaa254107157444a4c0c58ac969a48868749abc6d5f94725ad54bcb42489dba0d7213f6bd3d50008ba84505f4f1286be43daab76a0a3204e66a51d8c7a5bf6bfab91c995d05036727635f5b5012f1e982e3315bd936ea722dbadf346fb729acdca0de75f31169bdcd6b57695784db60bf9eb158768a321dee338aa6314866144faba962477112280b4963734e12aa3412a4811e4982501555ee8dc4b6fcd17248aa88b97c5e651eb9433d08cceeba84ae9cb2a3d8d4f923b8d5264be75caa2f2781a24242fd8c9a31f0dcf5728dc267740681dcbf02ed72e577b417163dfe2a47ebd47c6b7a43dc6ce97c7d221302ba879b39e64fc92c7290c778bd13733b5ad4b951df682ad2654c290603f1c79f2e8af055bde13e5d720cfeb1d42764a82273d7077e775645bbb2104668000cb2b62f47f2b3c7cc0a72cf2980db3436b3b5767226c3692f9d80ea25d063970fb1748bac9422fdda7a722a6fc8c4d8f7e6d486adef995d125863a5d64e20430bf1b9b202f178c5b8e609427181b2b200276d57fc35a1ba0e81f5c8658a4b8d23027f5ad52ce7a700b7519dccc17531179c7cbbd632cc02b395ef3b685865c7880b80b6ec8c5126a84e724d15996cb953d20b7be302286ee0936171c25a543b4e64fe1ccc529f15e13072b1c99fbc4b479f8e8b1001b750375cc2877377d78144d22850b0ca92448e675dd51a0588c11d345eadde70b4a74cabfb5825f64373c6600c0a024eafbc93c46b19ac0b8c016c2cfef74ef80f50a84b193a6b738c008eec3d7857196ef2afc9722b0e5e58eb0aa8ae1c60b668a8401a7ddcbce4e9c63dc71b0cf40ee5a2be494c672a74f6ed739db9c02a424022d565038fb68395bf696db46de9c7cba80a14365b89c915bee2121f3d8f95fee7c9470923ebcf1865b85b866527da5667c6ef722b8af2257bd2043d0938ab139919fc8fad3e1f94626be7d8622a0573901b5343ee551739d75846288beef0f3eecf928700aca1d53549e7c968351270258d4d728a238a93885e693af065f4fa97ca4bd13c03c8772c4048f452390636033ff872f2123d9d285a5f06891e2a109005a41de0d79505ca8ae31d5803c25bb8eb6a2ed7e250a11467cb59ca91d4f8f674f4e049080909c12dfbc27ebbbc64924a823850004d8b4961631532047b9318d99d216ce113acb6c8fb52e714274538387972288609741f73823235e2422d9c1b5f671f83ef73dd90b69c1bf85c94d199047269a7d7a15fdec1008aa76e747517ccd45c0d850886782cb03ff26f043b9a850a7221a2b436fbd2d17eb63532f22a94f9c15c5733dedac5e7475b1d64589c2f729b3917ba4f97f033bd017c641da8f8687c90d0106bec9e56f3ac083b0892350651f893bc774db909f00d7faff4f5fbc44a26d00790566c4e9dd0d91a393f6772266d8dd80c9d961f1532a0f53a4c9ad896d6b1bdd6ec61f1a498e83f0a32e32dde43c31dbcf6bec5f376c59de0b44a485d9d50e79ab706bcc4eb071dff5f9e252bf10a28dfb460dad1e02c2edd024175fa51e8d79cd7b0b3399b6008bd3ef4097c78922a22780898e0492d73a020cd6833d3f31b08ad015ec66bbca28ddae972ec572f0bfa6c082ef04f8f0c815df3ee707f9b1dcbc5d14a6faa009eebd8f4725c566ad6e4a76a38a2fef5a845a0a6fdbcb3865015ce2d4290bd6e2457d60f43bc522dd391bf912e3ad6c62bedcc75134f61fc0c0d09f64a1d988fae972b54286a232e6f076d3c9a352cb7c30f40216f0b8d066d88e65bfb5ef6b3c309f3fa4e209c3c2e57456b3ca48ed6a550f4d8690b1e73d8cb3450dffd0e818e0338b9207177eb9976e9588be3404abce5cf83da333028dbf80cc445b7d849815e2c1e720853d2f6438674c672f4ca745facb948b15d407904b062f3e75e5d29f802ea72185b4846fc83023cb0305c8de2b2739aacacb7aae0e743be00d548d4ffa91c729144a0620782ea126904a1470662f4532c6c53684a5357878930e91dd395b72942487c7858814d3fd1bf0ed4a2b0a1c90d2b20d5b038940126af9adc59730f4cd5dc7d4e7e88a3b57cde5210b688932014e7c8ed833a66805854a269fa21b372693c1021b53604605ea760377001d5f12574846571e2c5081ffabc0414d6024cf136387825bf96400656dd6a793a80d6f855d978f878274cc247de801f555c2141191db4c76db50189d6ca8832a5e9be0bef9a3d8c7a025cefab40dd0ffcde59e99585f5a2ee2e5a3c507680367991977184b4076eb5d9da36599318a8d9a21059ffbc8cc54bb15efaaaf511d3860b58d54cb291b764b217a4e425b444e46c724d37fbda139fcc7c85c0afd7d3312f259a7c979c6bafc83228427530a10c6e0ad572de2708c7a5220f6ae6cac6fe422b68c6e192bb9ea6aaec06de82adcd640430ea5d4619ab7007bc4556aa2f2fbcfe4b5da87662f7558b68fd2bdc324c2972e4195c20681d8098c199dcb6b19cb4311edcc6322703fb758c7fe08361c0b67231588100a97409ff73ed39ee653bdfa1b46140052c1bd8086727307c7b37cf0d94ddcd531f4c4eb4232d4ccc0b191544aec85a9fbf10970d8651903697e173724489d64dc0c425021d9dab287ca00ed6d253f5de83a2454b7a3eb18a9f3a8c729ac788109326a0873f8d88898afd5071617055d8f564b2ea474126e9610d427236da522457520cad35819a70e61360953aa4665ed1f224566c8886813d61c3725cab59c8a4def10d7ffd0a60fe34c5402a6f55a1dacf084ce0961cf247be6c72f67d0fc15860d79afa9e56edacafebaa0f6f30c53f6a395a8d982781a2c1a4549457031fa3d38704507ed213e0a544dffbaead9d7475cc7f60cf6991dc01a369b7eb2e2980c4cdfb77be63b8e14f845744ceaef9846668854667d805a7bfd872e8f096537c02fa27e2f834c39a0d965eafc67963da10d487d21693f8ccec86725d50ade9d8e75b24ac359fb0926af2399492c0ad36f4e91f5eae43879c0b5b6c88d10672bd5839e664f0cadf4d12c02bed0b06f9f1d1d3054f600ced25018f2ad49aac05bc6b217e6915132310ce7c67dbe15ff2be20c17ce7b0c5172ab32d72a3b17c03690e56050ae4c423cd24db23bd9002450b0eb1a77760697e2e3aab523a69ffb0ac34e8db6eaa5ddbb5e32e413c6bd5aa8b25b158125151d885779a72e1129f631d3dd00c4e06424d122f8e345e20f0060b582dbdcec83658997e466397214e3757ce9ef6a24311efbff7db53a3445c653b3fb2911e5bd136cc45b60461f2c78f2779554e4a6fb1d494783ec628d057390809ab28390cccd5794d8b0df5ff9114451cbb9047dd7e0cde1695a13c94a8a817aa9fe63e845a3fe9e5ed720358645b6a9e6039da93a0e6c4c75505676bc1d42f3a58282bb8975467291d72228736e575f0d2b6ab05ef5a6bae5f8b6eff55dee966675ab25d0c2793ac70727db8d97f230a603124d85cbfea0dc559cb7f337afb682c9516c41efea1256872023da511bc147a63a965d56fa38516c3b5f2c3b3b351e9286cb403737f531672ca2f48c639076255a19053d805c95948fd23a3b634be2fa22e3853c67a49c17256bea9ed12c22604c6c84c78154a234fee23fbc04c09333bfb1c14b18290787291f6def4298f3fe6c8584600d995d6a1994c6dbceed3d8c15d044ab1670a3e72e1fcd8d83e147340d0ebb68fc215b40c29ce1ccf0b0d39b98a54b0b09d72eb72575407c356a9e3a6d5faedb507e19ca01bc001e1d2f1524862799f59e0c15e4f4e81f38e6f817fd6fef642e73ac639d1b38ac1a3288fe31c9dc5951cea86a272f882ec457c114945250087e15a525bcc9b7710bd6944002c4f5920fe44092930bba58915b690e7fe4e1e995793ed2c6847e5ec1379fd673e2d3ab1514dc75f0186979f57264810c28e5a6f6a13ac860bcb4dc2c77547629e75e5f50f4d72ac72b251213267bdcdab3e1ad2903188ecbb3618ca508866415b114df2abfd7c6c10feb281c4da2d2a8ab481b7d95b0feab2e31502c9dab00e7bd8b486da274952722bb88a5036ec9303e5788247ccd2ddcb4688ee507beb75693c0229813554e0725cdac0ffad4da38a8a7a76258bc39062d4acc8fdb4ef6678ebf0c316a3d6d52e77db83f028f099c548f575485f2b7ac0e0fc0a38e745b7340070cd9d049a8a07078a140164e41e84fcdd7d0743467025891889626d056edee5852a0506e77b7214e2914ea28bfdeec85088411abd369bc198f1b55bb29728910f13df473d1372c4c0c507335a78c798623df73e55c3afa53bd2ab0dbb24f61d8091f8bbbf4772bb43ed532823ede5e9533f0d736660b45646c46399ba97bc8b4c2505fe7e5e70c549265f0ee870afa88d4496e7d199fc82309f4871920724ade8e231db3fa962cbb243dd1e2ad4056a20eb8a60f9af6cf5bf31f76a4014b20e4569f4dd48a5408af2320b5f202f4e80b994dbd1f591e6eb9f05c25507177f5808aea1c0cf7b7291f6840fff45d6a578ca50c0b65e45aaf0c61e0424a1248acf2006d66ebb61465d7a3e1c8153600a7614fdcdf3801c303395e4651b4b64217662a84f93a0b55b16d391e0ceecc60d0021596522063e90b144b5cd79ae57ad037d54e73f779172bab4f555ec0c31553ca342806fc93a068c23d07329da209809a4dcefef335372a851d142da9eb351fa7ddae86a1373f260f988a132716a1dc5f3af1a435fd972b8b7c3589efecde8bef51d281965a4242a58693a7da0c6cce5b058fbfccd0172d8983dbc799fc983f84904d15a72205af8f16518693640dfbeecf8dc8ddc30113840d03c1fb410a4b9cca50a43ceebd98a62dcaf5eb6c966c431339039975101f523b2d371aa17aa2a0c2148ec3c3e65974ed0b8ba1ebd786381b074d15e4e7299bb794c94d2f40107b9cedf83a0c87d22e07d6588e2fbf41ce71453bfd69472a5e0a7905e82c57aa1f3031049480607ef7921bb537c0ff38f0534bcb105e0728c4b9d744ff334dde62628965dc960f8d782338fcdca30146fdcbaef7207136e0cf1eca46d9d5e3d7eecd51063f0d72196fc21a75f4b45ea54b65b13b66c567221986f2d14ffac422bb4da38e95b6ae031c241a6dca669e5e64dea2dcb447772ff121fc03696feb9a5587654cc49c6ac0d9ccfb662e30f97e3545b492a778e6cb002979b7163ecce3cdd9a3f10d5a15f97cf3cc951e0cd13684c8b8db6fd1b72814f59c7557b2ce1c08ad1241a49b97be1ed9146e09b5e2e9f21848e92d72d4800d3e37abafeb37896a12b050a52c82fa73c300c13745c73c0a4dcd1bcee3a72158e82cf23ab93d7a4a11712627fa8962b48364c48eaade1a92549b2ec669235583c83e52cc4ce0238e79869f3afe66ac2798e3c63277f9bd8cb36c37cf38d728712834b5d131dea71158add01c9c35916f5a180221f6717f85abf1a0ce52643a59ef526aca3699a1555d47f11fe598910d04c4a7d68746925712a78a0671769a1c658ee85a89046930096fc0d2b63b6e29a6059de50020c5f4ef1f4d24cbc7241409460f4dfd0352c09a8728d56696853bd48220fde07abadfe4f45785c500abf9d298b7058f5efd95884e84eb7fe1a4b5f6ca1e0fd430cfe3463c9bd8a60720961ebdc5dd62cf006b0d9f80a422e1a921c130250a5c102983ac72d0c460872f7a9b3c732689ff94b9d7a1e096a00abbe2ced0d310d040ca7c480d36d249531a9878fac1633ea1bc05a508516f540e931d5ba01168ea0c901b6da21e56ad17252d593c1978b74a849c93935b04c36c2e026ffa1030323ba2858661aca62b27263f89ce6a2e20edfe7e84501583c1d77c3ef8bda35e53d5a72a65e957858250afb784cabc5d7c356d05768df8482bfe6aadace20e36098e9a502c35da8ddc072eff4273520c2a43e5f33e083de39062ea825ac56aa4a3e8cb1b57cf0aaa44a72fbc7ab80689987297f175fa172bfe3860ffe7705b1d665482e07b2c460ae0b72ec58bad4bf3df7c59289b8702f1f7d3829246df7420e45010c64f6ded541321a986d47775eb561e3fdb4995b88ef40566b4c1db4acc515c4ab195008f4bf0072810097117d5c318a8e605fea054f7a820d7fc33241283a8d5b123f36a6978072f33adf0f2038fd09ca104837d2f2208e599c39ac66e8fcb14e8591c8b6f08c722fe0d4dee3e69c2f0ab6c045ea795a8d858c0b19558f7b3fef27587a3a9af072bbd6e9f08bddf7c50c9e5fb6f694ccf71156783f38155df05bb39337c2b0fa715b8d5956109b610360bd5f2d3ed453ad0a7914891161464d1385e486a5e21e499b4e4044fcd6a96a31274614c47b0d7ca18511d190ea44c167ae6a62d41a6e72e7c1ee5a10ac4a4d4500da17972cc256a1edb75bcebe5cad55e07d70d46c2a727a442649c919161a6272ff234f83c7290eb3cf5a5f3c41f3c7b9545468d915195911674ec4803d928721c3c553c8a5a03019889628ab27cd822c8f3836efbf726ae3f005f074d894daa19fa0326f08c2940852b2a46adf22e60b8e507b967d724e38b28334e2b9a1b7618e640af6fc91f7a24247199c604d380c08ec8498ea70e4544641f2746d59f9214e8b72ea0858418a358b29e58bc02457a37ebd3b587297db039b89debab965606c11af47fd68cddb35cc169b0052c0b79eaeb28ab872a76f62fc08f3f382306de85d03e07cfab2aff1aa42c8a552627474312a48142037476f646e188811deaaa016b46c8645a65626bfbb6cc447979b943b7e031f30bc3d118f7d10c99498e9397cdcb1df9e6e137c9e7f853577374324858b209e72285e519c5f4a6baa569167bb7468c506e725714a280ef305cb6b637d7ae4f1142f1295a056064b01aab06d2f3a4cd6862d43bdc8409f43dc56f18b37c27f5572a09a2f5f7f3213a165104751cf8d05c6850a48abd90cbbfbdb0808266735cb7297a7244897fb267e08220ce861df02db84e61b8eda4d2f28c9e3a8976b0ba972fa9218c3893dc3e537a2ced56d5d0aaa5875140616234eb923ace87d82d5a740b731553e0cc0274a8561761c55a4fb0214ffae58b60d3c60fa695461cfbb2c6870c935247960b76d95d4211d50f65ea99c38ae77e68e945132e048abed93d56954f2d59acd7a8f5073735e57bab2ee379e784af7abc0c5a0b72a7a288f8b04415be6223c942579e9b3c00cb1f2b632157d24ebc737cc03c2ddccc266f9d8a2727e565735f52e422553a326b5208210c9e189bca1176bfd9a3a4ec8e3ccd822" ] + }, + "shouldOverrideBuilder" : false + } + }, + "statusCode" : 200 +} \ No newline at end of file diff --git a/datatypes/src/main/java/org/hyperledger/besu/datatypes/Address.java b/datatypes/src/main/java/org/hyperledger/besu/datatypes/Address.java index 0897617c834..5d1fad698f7 100644 --- a/datatypes/src/main/java/org/hyperledger/besu/datatypes/Address.java +++ b/datatypes/src/main/java/org/hyperledger/besu/datatypes/Address.java @@ -113,7 +113,13 @@ public static Address wrap(final Bytes value) { "An account address must be %s bytes long, got %s", SIZE, value.size()); - return new Address(value); + if (value instanceof Address address) { + return address; + } else if (value instanceof DelegatingBytes delegatingBytes) { + return new Address(delegatingBytes.copy()); + } else { + return new Address(value); + } } /** diff --git a/datatypes/src/main/java/org/hyperledger/besu/datatypes/Transaction.java b/datatypes/src/main/java/org/hyperledger/besu/datatypes/Transaction.java index d70ceda40dc..3407513ca74 100644 --- a/datatypes/src/main/java/org/hyperledger/besu/datatypes/Transaction.java +++ b/datatypes/src/main/java/org/hyperledger/besu/datatypes/Transaction.java @@ -219,4 +219,11 @@ default Optional getMaxFeePerBlobGas() { * @return the encoded transaction as Bytes */ Bytes encoded(); + + /** + * Returns the size in bytes of the encoded transaction. + * + * @return the size in bytes of the encoded transaction. + */ + int getSize(); } diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java index 511300d1090..7c7cfca2c44 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java @@ -135,16 +135,19 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext requestContext) ws.stream() .map(WithdrawalParameter::toWithdrawal) .collect(toList()))); - if (!isPayloadAttributesValid(maybePayloadAttributes.get(), withdrawals, newHead)) { + Optional maybeError = + isPayloadAttributesValid(requestId, payloadAttributes, withdrawals, newHead); + if (maybeError.isPresent()) { LOG.atWarn() - .setMessage("Invalid payload attributes: {}") + .setMessage("RpcError {}: {}") + .addArgument(maybeError.get().getErrorType()) .addArgument( () -> maybePayloadAttributes .map(EnginePayloadAttributesParameter::serialize) .orElse(null)) .log(); - return new JsonRpcErrorResponse(requestId, getInvalidPayloadError()); + return maybeError.get(); } ValidationResult forkValidationResult = validateForkSupported(payloadAttributes.getTimestamp()); @@ -207,7 +210,8 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext requestContext) Optional.empty())); } - protected boolean isPayloadAttributesValid( + protected Optional isPayloadAttributesValid( + final Object requestId, final EnginePayloadAttributesParameter payloadAttributes, final Optional> maybeWithdrawals, final BlockHeader headBlockHeader) { @@ -215,26 +219,15 @@ protected boolean isPayloadAttributesValid( if (payloadAttributes.getTimestamp() <= headBlockHeader.getTimestamp()) { LOG.warn( "Payload attributes timestamp is smaller than timestamp of header in fork choice update"); - return false; - } - if (payloadAttributes.getTimestamp() < cancunTimestamp) { - if (payloadAttributes.getParentBeaconBlockRoot() != null) { - LOG.error( - "Parent beacon block root hash present in payload attributes before cancun hardfork"); - return false; - } - } else if (payloadAttributes.getParentBeaconBlockRoot() == null) { - LOG.error( - "Parent beacon block root hash not present in payload attributes after cancun hardfork"); - return false; + return Optional.of(new JsonRpcErrorResponse(requestId, getInvalidPayloadError())); } if (!getWithdrawalsValidator( protocolSchedule.get(), headBlockHeader, payloadAttributes.getTimestamp()) .validateWithdrawals(maybeWithdrawals)) { - return false; + return Optional.of(new JsonRpcErrorResponse(requestId, getInvalidPayloadError())); } - return true; + return Optional.empty(); } private JsonRpcResponse handleNonValidForkchoiceUpdate( diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineNewPayload.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineNewPayload.java index 60abf0aa039..c8263450e72 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineNewPayload.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineNewPayload.java @@ -445,6 +445,13 @@ protected ValidationResult validateBlobs( "Payload BlobGasUsed does not match calculated BlobGasUsed"); } } + + if (protocolSpec.getGasCalculator().blobGasCost(transactionVersionedHashes.size()) + > protocolSpec.getGasLimitCalculator().currentBlobGasLimit()) { + return ValidationResult.invalid( + RpcErrorType.INVALID_PARAMS, + String.format("Invalid Blob Count: %d", transactionVersionedHashes.size())); + } return ValidationResult.valid(); } diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV2.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV2.java index d8e0fd715a3..44ba15cae8d 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV2.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV2.java @@ -18,6 +18,8 @@ import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.EnginePayloadAttributesParameter; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType; import org.hyperledger.besu.ethereum.core.BlockHeader; import org.hyperledger.besu.ethereum.core.Withdrawal; import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule; @@ -26,11 +28,15 @@ import java.util.Optional; import io.vertx.core.Vertx; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; // TODO Withdrawals use composition instead? Want to make it more obvious that there is no // difference between V1/V2 code other than the method name public class EngineForkchoiceUpdatedV2 extends AbstractEngineForkchoiceUpdated { + private static final Logger LOG = LoggerFactory.getLogger(EngineForkchoiceUpdatedV2.class); + public EngineForkchoiceUpdatedV2( final Vertx vertx, final ProtocolSchedule protocolSchedule, @@ -46,14 +52,20 @@ public String getName() { } @Override - protected boolean isPayloadAttributesValid( + protected Optional isPayloadAttributesValid( + final Object requestId, final EnginePayloadAttributesParameter payloadAttributes, final Optional> maybeWithdrawals, final BlockHeader headBlockHeader) { if (payloadAttributes.getTimestamp() >= cancunTimestamp) { - return false; + return Optional.of(new JsonRpcErrorResponse(requestId, RpcErrorType.UNSUPPORTED_FORK)); + } else if (payloadAttributes.getParentBeaconBlockRoot() != null) { + LOG.error( + "Parent beacon block root hash present in payload attributes before cancun hardfork"); + return Optional.of(new JsonRpcErrorResponse(requestId, RpcErrorType.INVALID_PARAMS)); } else { - return super.isPayloadAttributesValid(payloadAttributes, maybeWithdrawals, headBlockHeader); + return super.isPayloadAttributesValid( + requestId, payloadAttributes, maybeWithdrawals, headBlockHeader); } } } diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV3.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV3.java index 2d25e12cefd..4284fdd01dc 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV3.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV3.java @@ -19,18 +19,25 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.EngineForkchoiceUpdatedParameter; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.EnginePayloadAttributesParameter; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType; +import org.hyperledger.besu.ethereum.core.BlockHeader; +import org.hyperledger.besu.ethereum.core.Withdrawal; import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule; import org.hyperledger.besu.ethereum.mainnet.ScheduledProtocolSpec; import org.hyperledger.besu.ethereum.mainnet.ValidationResult; +import java.util.List; import java.util.Optional; import io.vertx.core.Vertx; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class EngineForkchoiceUpdatedV3 extends AbstractEngineForkchoiceUpdated { private final Optional cancun; + private static final Logger LOG = LoggerFactory.getLogger(EngineForkchoiceUpdatedV3.class); public EngineForkchoiceUpdatedV3( final Vertx vertx, @@ -82,4 +89,26 @@ protected ValidationResult validateForkSupported(final long blockT RpcErrorType.UNSUPPORTED_FORK, "Configuration error, no schedule for Cancun fork set"); } } + + @Override + protected Optional isPayloadAttributesValid( + final Object requestId, + final EnginePayloadAttributesParameter payloadAttributes, + final Optional> maybeWithdrawals, + final BlockHeader headBlockHeader) { + Optional maybeError = + super.isPayloadAttributesValid( + requestId, payloadAttributes, maybeWithdrawals, headBlockHeader); + if (maybeError.isPresent()) { + return maybeError; + } else if (payloadAttributes.getParentBeaconBlockRoot() == null) { + LOG.error( + "Parent beacon block root hash not present in payload attributes after cancun hardfork"); + return Optional.of(new JsonRpcErrorResponse(requestId, RpcErrorType.INVALID_PARAMS)); + } else if (payloadAttributes.getTimestamp() < cancun.get().milestone()) { + return Optional.of(new JsonRpcErrorResponse(requestId, RpcErrorType.UNSUPPORTED_FORK)); + } else { + return Optional.empty(); + } + } } diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineGetPayloadV2.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineGetPayloadV2.java index d14e9dec8a6..4749d4233be 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineGetPayloadV2.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineGetPayloadV2.java @@ -22,8 +22,12 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.BlockResultFactory; import org.hyperledger.besu.ethereum.core.BlockWithReceipts; +import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule; +import org.hyperledger.besu.ethereum.mainnet.ScheduledProtocolSpec; +import org.hyperledger.besu.ethereum.mainnet.ValidationResult; import java.util.Optional; @@ -31,13 +35,23 @@ public class EngineGetPayloadV2 extends AbstractEngineGetPayload { + private final Optional cancun; + public EngineGetPayloadV2( final Vertx vertx, final ProtocolContext protocolContext, final MergeMiningCoordinator mergeMiningCoordinator, final BlockResultFactory blockResultFactory, - final EngineCallListener engineCallListener) { - super(vertx, protocolContext, mergeMiningCoordinator, blockResultFactory, engineCallListener); + final EngineCallListener engineCallListener, + final ProtocolSchedule schedule) { + super( + vertx, + schedule, + protocolContext, + mergeMiningCoordinator, + blockResultFactory, + engineCallListener); + this.cancun = schedule.hardforkFor(s -> s.fork().name().equalsIgnoreCase("Cancun")); } @Override @@ -55,4 +69,23 @@ protected JsonRpcResponse createResponse( payloadId, blockWithReceipts, Optional.of(Wei.fromHexString(result.getBlockValue()))); return new JsonRpcSuccessResponse(request.getRequest().getId(), result); } + + @Override + protected ValidationResult validateForkSupported(final long blockTimestamp) { + if (protocolSchedule.isPresent()) { + if (cancun.isPresent() && blockTimestamp >= cancun.get().milestone()) { + return ValidationResult.invalid( + RpcErrorType.UNSUPPORTED_FORK, + "Cancun configured to start at timestamp: " + + cancun.get().milestone() + + " please call engine_getPayloadV3"); + } else { + return ValidationResult.valid(); + } + } else { + return ValidationResult.invalid( + RpcErrorType.UNSUPPORTED_FORK, + "Configuration error, no schedule for Cancun fork set, not sure when to stop honoring use of V2"); + } + } } diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadV3.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadV3.java index f444b4dca58..c7d8a10a4a1 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadV3.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadV3.java @@ -57,7 +57,7 @@ protected ValidationResult validateParameters( final Optional maybeBeaconBlockRootParam) { if (payloadParameter.getBlobGasUsed() == null || payloadParameter.getExcessBlobGas() == null) { return ValidationResult.invalid(RpcErrorType.INVALID_PARAMS, "Missing blob gas fields"); - } else if (maybeVersionedHashParam == null) { + } else if (maybeVersionedHashParam == null || maybeVersionedHashParam.isEmpty()) { return ValidationResult.invalid( RpcErrorType.INVALID_PARAMS, "Missing versioned hashes field"); } else if (maybeBeaconBlockRootParam.isEmpty()) { diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/BlobsBundleV1.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/BlobsBundleV1.java index 4350c1d20cd..3377aa63cce 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/BlobsBundleV1.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/BlobsBundleV1.java @@ -29,10 +29,13 @@ import com.fasterxml.jackson.annotation.JsonGetter; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import org.apache.tuweni.bytes.Bytes; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; @JsonPropertyOrder({"commitments", "proofs", "blobs"}) public class BlobsBundleV1 { + private static final Logger LOG = LoggerFactory.getLogger(BlobsBundleV1.class); private final List commitments; private final List proofs; @@ -67,6 +70,14 @@ public BlobsBundleV1(final List transactions) { .map(Blob::getData) .map(Bytes::toString) .collect(Collectors.toList()); + + LOG.debug( + "BlobsBundleV1: totalTxs: {}, blobTxs: {}, commitments: {}, proofs: {}, blobs: {}", + transactions.size(), + blobsWithCommitments.size(), + commitments.size(), + proofs.size(), + blobs.size()); } public BlobsBundleV1( diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/ExecutionEngineJsonRpcMethods.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/ExecutionEngineJsonRpcMethods.java index c3c31533b36..3c5ab9a6c41 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/ExecutionEngineJsonRpcMethods.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/ExecutionEngineJsonRpcMethods.java @@ -95,7 +95,8 @@ protected Map create() { protocolContext, mergeCoordinator.get(), blockResultFactory, - engineQosTimer), + engineQosTimer, + protocolSchedule), new EngineNewPayloadV1( consensusEngineServer, protocolSchedule, diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGasPriceTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGasPriceTest.java index 06acb91a317..eef2b4422e8 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGasPriceTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGasPriceTest.java @@ -169,17 +169,12 @@ private Object createFakeBlock(final Long height) { null), new BlockBody( List.of( - new Transaction( - 0, - Wei.of(height * 1000000L), - 0, - Optional.empty(), - Wei.ZERO, - null, - Bytes.EMPTY, - Address.ZERO, - Optional.empty(), - Optional.empty())), + new Transaction.Builder() + .nonce(0) + .gasPrice(Wei.of(height * 1000000L)) + .gasLimit(0) + .value(Wei.ZERO) + .build()), List.of()))); } diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineGetPayloadV2Test.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineGetPayloadV2Test.java index 0ba7380496e..4c85b18630f 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineGetPayloadV2Test.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineGetPayloadV2Test.java @@ -15,6 +15,7 @@ package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.engine; import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.lenient; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -27,8 +28,10 @@ import java.util.Optional; import org.apache.tuweni.bytes.Bytes32; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.junit.jupiter.MockitoSettings; import org.mockito.quality.Strictness; @@ -38,7 +41,25 @@ public class EngineGetPayloadV2Test extends AbstractEngineGetPayloadTest { public EngineGetPayloadV2Test() { - super(EngineGetPayloadV2::new); + super(); + } + + @BeforeEach + @Override + public void before() { + super.before(); + lenient() + .when(mergeContext.retrieveBlockById(mockPid)) + .thenReturn(Optional.of(mockBlockWithReceipts)); + when(protocolContext.safeConsensusContext(Mockito.any())).thenReturn(Optional.of(mergeContext)); + this.method = + new EngineGetPayloadV2( + vertx, + protocolContext, + mergeMiningCoordinator, + factory, + engineCallListener, + protocolSchedule); } @Override diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadEIP6110Test.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadEIP6110Test.java index f7ff7894969..0e89e66e192 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadEIP6110Test.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadEIP6110Test.java @@ -30,8 +30,12 @@ import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.BlockProcessingOutputs; import org.hyperledger.besu.ethereum.BlockProcessingResult; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.DepositParameter; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.EnginePayloadParameter; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcError; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse; import org.hyperledger.besu.ethereum.core.BlockHeader; import org.hyperledger.besu.ethereum.core.BlockHeaderTestFixture; import org.hyperledger.besu.ethereum.core.Deposit; @@ -170,7 +174,7 @@ protected BlockHeader createBlockHeader( .baseFeePerGas(Wei.ONE) .timestamp(super.experimentalHardfork.milestone()) .excessBlobGas(BlobGas.ZERO) - .blobGasUsed(100L) + .blobGasUsed(0L) .buildHeader(); BlockHeader mockHeader = @@ -181,11 +185,21 @@ protected BlockHeader createBlockHeader( .timestamp(parentBlockHeader.getTimestamp() + 1) .withdrawalsRoot(maybeWithdrawals.map(BodyValidation::withdrawalsRoot).orElse(null)) .excessBlobGas(BlobGas.ZERO) - .blobGasUsed(100L) + .blobGasUsed(0L) .depositsRoot(maybeDeposits.map(BodyValidation::depositsRoot).orElse(null)) .parentBeaconBlockRoot( maybeParentBeaconBlockRoot.isPresent() ? maybeParentBeaconBlockRoot : null) .buildHeader(); return mockHeader; } + + @Override + protected JsonRpcResponse resp(final EnginePayloadParameter payload) { + Object[] params = + maybeParentBeaconBlockRoot + .map(bytes32 -> new Object[] {payload, Collections.emptyList(), bytes32.toHexString()}) + .orElseGet(() -> new Object[] {payload}); + return method.response( + new JsonRpcRequestContext(new JsonRpcRequest("2.0", this.method.getName(), params))); + } } diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadV3Test.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadV3Test.java index d1984a5795e..8f319c27cf0 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadV3Test.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadV3Test.java @@ -51,6 +51,7 @@ import org.hyperledger.besu.ethereum.core.encoding.EncodingContext; import org.hyperledger.besu.ethereum.core.encoding.TransactionEncoder; import org.hyperledger.besu.ethereum.mainnet.BodyValidation; +import org.hyperledger.besu.ethereum.mainnet.CancunTargetingGasLimitCalculator; import org.hyperledger.besu.ethereum.mainnet.ValidationResult; import org.hyperledger.besu.evm.gascalculator.CancunGasCalculator; @@ -96,6 +97,9 @@ public void before() { ethPeers, engineCallListener); lenient().when(protocolSpec.getGasCalculator()).thenReturn(new CancunGasCalculator()); + lenient() + .when(protocolSpec.getGasLimitCalculator()) + .thenReturn(mock(CancunTargetingGasLimitCalculator.class)); } @Test @@ -249,4 +253,14 @@ private Transaction createTransactionWithBlobs() { .versionedHashes(Optional.of(bwc.getVersionedHashes())) .createTransaction(senderKeys); } + + @Override + protected JsonRpcResponse resp(final EnginePayloadParameter payload) { + Object[] params = + maybeParentBeaconBlockRoot + .map(bytes32 -> new Object[] {payload, Collections.emptyList(), bytes32.toHexString()}) + .orElseGet(() -> new Object[] {payload}); + return method.response( + new JsonRpcRequestContext(new JsonRpcRequest("2.0", this.method.getName(), params))); + } } diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/eea/BaseEeaSendRawTransaction.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/eea/BaseEeaSendRawTransaction.java index d6f204a79fa..c54ba0107b3 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/eea/BaseEeaSendRawTransaction.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/eea/BaseEeaSendRawTransaction.java @@ -38,7 +38,6 @@ import java.math.BigInteger; import java.util.List; -import java.util.Optional; import com.google.common.base.Supplier; import com.google.common.base.Suppliers; @@ -68,64 +67,64 @@ public class BaseEeaSendRawTransaction { final GasCalculator gasCalculator = new BerlinGasCalculator(); final Transaction PUBLIC_FLEXIBLE_TRANSACTION = - new Transaction( - 0L, - Wei.of(1), - 21000L, - Optional.of(FLEXIBLE_PRIVACY), - Wei.ZERO, - SIGNATURE_ALGORITHM_SUPPLIER - .get() - .createSignature( - new BigInteger( - "104310573331543561412661001400556426894275857431274618344686100036716947434951"), - new BigInteger( - "33080506591748900530090726168809539464160321639149722208454899701475015405641"), - Byte.parseByte("1")), - Bytes.fromBase64String(MOCK_ORION_KEY), - Address.wrap(Bytes.fromHexString("0x8411b12666f68ef74cace3615c9d5a377729d03f")), - Optional.empty(), - Optional.empty()); + new Transaction.Builder() + .nonce(0) + .gasPrice(Wei.ONE) + .gasLimit(21000) + .value(Wei.ZERO) + .to(FLEXIBLE_PRIVACY) + .signature( + SIGNATURE_ALGORITHM_SUPPLIER + .get() + .createSignature( + new BigInteger( + "104310573331543561412661001400556426894275857431274618344686100036716947434951"), + new BigInteger( + "33080506591748900530090726168809539464160321639149722208454899701475015405641"), + Byte.parseByte("1"))) + .payload(Bytes.fromBase64String(MOCK_ORION_KEY)) + .sender(Address.wrap(Bytes.fromHexString("0x8411b12666f68ef74cace3615c9d5a377729d03f"))) + .build(); final Transaction PUBLIC_PLUGIN_TRANSACTION = - new Transaction( - 0L, - Wei.of(1), - 21112L, - Optional.of(PLUGIN_PRIVACY), - Wei.ZERO, - SIGNATURE_ALGORITHM_SUPPLIER - .get() - .createSignature( - new BigInteger( - "111331907905663242841915789134040957461022579868467291368609335839524284474080"), - new BigInteger( - "16338460226177675602590882211136457396059831699034102939076916361204709826919"), - Byte.parseByte("0")), - Bytes.fromBase64String(MOCK_ORION_KEY), - Address.wrap(Bytes.fromHexString("0x8411b12666f68ef74cace3615c9d5a377729d03f")), - Optional.empty(), - Optional.empty()); + new Transaction.Builder() + .nonce(0) + .gasPrice(Wei.ONE) + .gasLimit(21112) + .value(Wei.ZERO) + .to(PLUGIN_PRIVACY) + .signature( + SIGNATURE_ALGORITHM_SUPPLIER + .get() + .createSignature( + new BigInteger( + "111331907905663242841915789134040957461022579868467291368609335839524284474080"), + new BigInteger( + "16338460226177675602590882211136457396059831699034102939076916361204709826919"), + Byte.parseByte("0"))) + .payload(Bytes.fromBase64String(MOCK_ORION_KEY)) + .sender(Address.wrap(Bytes.fromHexString("0x8411b12666f68ef74cace3615c9d5a377729d03f"))) + .build(); final Transaction PUBLIC_OFF_CHAIN_TRANSACTION = - new Transaction( - 0L, - Wei.of(1), - 21000L, - Optional.of(DEFAULT_PRIVACY), - Wei.ZERO, - SIGNATURE_ALGORITHM_SUPPLIER - .get() - .createSignature( - new BigInteger( - "45331864585825234947874751069766983839005678711670143534492294352090223768785"), - new BigInteger( - "32813839561238589140263096892921088101761344639911577803805398248765156383629"), - Byte.parseByte("1")), - Bytes.fromBase64String(MOCK_ORION_KEY), - Address.wrap(Bytes.fromHexString("0x8411b12666f68ef74cace3615c9d5a377729d03f")), - Optional.empty(), - Optional.empty()); + new Transaction.Builder() + .nonce(0) + .gasPrice(Wei.ONE) + .gasLimit(21000) + .value(Wei.ZERO) + .to(DEFAULT_PRIVACY) + .signature( + SIGNATURE_ALGORITHM_SUPPLIER + .get() + .createSignature( + new BigInteger( + "45331864585825234947874751069766983839005678711670143534492294352090223768785"), + new BigInteger( + "32813839561238589140263096892921088101761344639911577803805398248765156383629"), + Byte.parseByte("1"))) + .payload(Bytes.fromBase64String(MOCK_ORION_KEY)) + .sender(Address.wrap(Bytes.fromHexString("0x8411b12666f68ef74cace3615c9d5a377729d03f"))) + .build(); final JsonRpcRequestContext validPrivateForTransactionRequest = new JsonRpcRequestContext( diff --git a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/BlockTransactionSelector.java b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/BlockTransactionSelector.java index 679daa8b5e4..a5d168ae8c1 100644 --- a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/BlockTransactionSelector.java +++ b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/BlockTransactionSelector.java @@ -46,7 +46,6 @@ import java.util.Optional; import java.util.concurrent.CancellationException; import java.util.function.Supplier; -import java.util.stream.Collectors; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -119,8 +118,7 @@ public BlockTransactionSelector( transactionPool); transactionSelectors = createTransactionSelectors(blockSelectionContext); externalTransactionSelectors = - createExternalTransactionSelectors( - transactionSelectorFactory.map(List::of).orElseGet(List::of)); + transactionSelectorFactory.map(TransactionSelectorFactory::create).orElse(List.of()); } /** @@ -304,8 +302,15 @@ private TransactionSelectionResult evaluateTransactionPostProcessing( } } - // TODO: External selectors are not used here because TransactionProcessingResult is not - // exposed to the Plugin API yet. + // Process the transaction through external selectors + for (var selector : externalTransactionSelectors) { + TransactionSelectionResult result = + selector.evaluateTransactionPostProcessing(pendingTransaction, processingResult); + // If the transaction is not selected by any external selector, return the result + if (!result.equals(TransactionSelectionResult.SELECTED)) { + return result; + } + } // If the transaction is selected by all selectors, return SELECTED return TransactionSelectionResult.SELECTED; @@ -319,11 +324,4 @@ private List createTransactionSelectors( new BlobPriceTransactionSelector(context), new ProcessingResultTransactionSelector(context)); } - - private List createExternalTransactionSelectors( - final List transactionSelectorFactory) { - return transactionSelectorFactory.stream() - .map(TransactionSelectorFactory::create) - .collect(Collectors.toList()); - } } diff --git a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockTransactionSelectorTest.java b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockTransactionSelectorTest.java index d1af32dfe08..fd5ed17f59e 100644 --- a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockTransactionSelectorTest.java +++ b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockTransactionSelectorTest.java @@ -26,6 +26,7 @@ import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; +import org.hyperledger.besu.datatypes.PendingTransaction; import org.hyperledger.besu.datatypes.TransactionType; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.GasLimitCalculator; @@ -66,6 +67,7 @@ import org.hyperledger.besu.metrics.noop.NoOpMetricsSystem; import org.hyperledger.besu.plugin.data.TransactionSelectionResult; import org.hyperledger.besu.plugin.services.MetricsSystem; +import org.hyperledger.besu.plugin.services.txselection.TransactionSelector; import org.hyperledger.besu.plugin.services.txselection.TransactionSelectorFactory; import org.hyperledger.besu.services.kvstore.InMemoryKeyValueStorage; @@ -538,7 +540,7 @@ public void shouldDiscardTransactionsThatFailValidation() { } @Test - public void transactionSelectionPluginShouldWork() { + public void transactionSelectionPluginShouldWork_PreProcessing() { final ProcessableBlockHeader blockHeader = createBlock(300_000); final Transaction selected = createTransaction(0, Wei.of(10), 21_000); @@ -552,13 +554,26 @@ public void transactionSelectionPluginShouldWork() { final TransactionSelectorFactory transactionSelectorFactory = () -> - pendingTx -> { - if (pendingTx.getTransaction().equals(notSelectedTransient)) - return TransactionSelectionResult.invalidTransient("transient"); - if (pendingTx.getTransaction().equals(notSelectedInvalid)) - return TransactionSelectionResult.invalid("invalid"); - return TransactionSelectionResult.SELECTED; - }; + List.of( + new TransactionSelector() { + @Override + public TransactionSelectionResult evaluateTransactionPreProcessing( + final PendingTransaction pendingTransaction) { + if (pendingTransaction.getTransaction().equals(notSelectedTransient)) + return TransactionSelectionResult.invalidTransient("transient"); + if (pendingTransaction.getTransaction().equals(notSelectedInvalid)) + return TransactionSelectionResult.invalid("invalid"); + return TransactionSelectionResult.SELECTED; + } + + @Override + public TransactionSelectionResult evaluateTransactionPostProcessing( + final PendingTransaction pendingTransaction, + final org.hyperledger.besu.plugin.data.TransactionProcessingResult + processingResult) { + return TransactionSelectionResult.SELECTED; + } + }); final Address miningBeneficiary = AddressHelpers.ofValue(1); final BlockTransactionSelector selector = @@ -586,6 +601,67 @@ public void transactionSelectionPluginShouldWork() { entry(notSelectedInvalid, TransactionSelectionResult.invalid("invalid"))); } + @Test + public void transactionSelectionPluginShouldWork_PostProcessing() { + final ProcessableBlockHeader blockHeader = createBlock(300_000); + + long maxGasUsedByTransaction = 21_000; + + final Transaction selected = createTransaction(0, Wei.of(10), 21_000); + ensureTransactionIsValid(selected, maxGasUsedByTransaction, 0); + + // Add + 1 to gasUsedByTransaction so it will fail in the post processing selection + final Transaction notSelected = createTransaction(1, Wei.of(10), 30_000); + ensureTransactionIsValid(notSelected, maxGasUsedByTransaction + 1, 0); + + final Transaction selected3 = createTransaction(3, Wei.of(10), 21_000); + ensureTransactionIsValid(selected3, maxGasUsedByTransaction, 0); + + final TransactionSelectorFactory transactionSelectorFactory = + () -> + List.of( + new TransactionSelector() { + @Override + public TransactionSelectionResult evaluateTransactionPreProcessing( + final PendingTransaction pendingTransaction) { + return TransactionSelectionResult.SELECTED; + } + + @Override + public TransactionSelectionResult evaluateTransactionPostProcessing( + final PendingTransaction pendingTransaction, + final org.hyperledger.besu.plugin.data.TransactionProcessingResult + processingResult) { + // the transaction with max gas +1 should fail + if (processingResult.getEstimateGasUsedByTransaction() + > maxGasUsedByTransaction) { + return TransactionSelectionResult.invalidTransient("Invalid"); + } + return TransactionSelectionResult.SELECTED; + } + }); + + final Address miningBeneficiary = AddressHelpers.ofValue(1); + final BlockTransactionSelector selector = + createBlockSelectorWithTxSelPlugin( + transactionProcessor, + blockHeader, + Wei.ZERO, + miningBeneficiary, + Wei.ZERO, + MIN_OCCUPANCY_80_PERCENT, + transactionSelectorFactory); + + transactionPool.addRemoteTransactions(List.of(selected, notSelected, selected3)); + + final TransactionSelectionResults transactionSelectionResults = + selector.buildTransactionListForBlock(); + + assertThat(transactionSelectionResults.getSelectedTransactions()).contains(selected, selected3); + assertThat(transactionSelectionResults.getNotSelectedTransactions()) + .containsOnly(entry(notSelected, TransactionSelectionResult.invalidTransient("Invalid"))); + } + @Test public void transactionWithIncorrectNonceRemainsInPoolAndNotSelected() { final ProcessableBlockHeader blockHeader = createBlock(5_000_000); diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Transaction.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Transaction.java index a7cad4b8d85..aeead13c362 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Transaction.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Transaction.java @@ -226,162 +226,6 @@ public Transaction( } } - public Transaction( - final long nonce, - final Optional gasPrice, - final Optional maxPriorityFeePerGas, - final Optional maxFeePerGas, - final Optional maxFeePerBlobGas, - final long gasLimit, - final Optional

to, - final Wei value, - final SECPSignature signature, - final Bytes payload, - final Address sender, - final Optional chainId, - final Optional> versionedHashes, - final Optional blobsWithCommitments) { - this( - TransactionType.FRONTIER, - nonce, - gasPrice, - maxPriorityFeePerGas, - maxFeePerGas, - maxFeePerBlobGas, - gasLimit, - to, - value, - signature, - payload, - Optional.empty(), - sender, - chainId, - versionedHashes, - blobsWithCommitments); - } - - public Transaction( - final long nonce, - final Wei gasPrice, - final long gasLimit, - final Address to, - final Wei value, - final SECPSignature signature, - final Bytes payload, - final Optional chainId, - final Optional> versionedHashes, - final Optional blobsWithCommitments) { - this( - TransactionType.FRONTIER, - nonce, - Optional.of(gasPrice), - Optional.empty(), - Optional.empty(), - Optional.empty(), - gasLimit, - Optional.of(to), - value, - signature, - payload, - Optional.empty(), - null, - chainId, - versionedHashes, - blobsWithCommitments); - } - - /** - * Instantiates a transaction instance. - * - * @param nonce the nonce - * @param gasPrice the gas price - * @param gasLimit the gas limit - * @param to the transaction recipient - * @param value the value being transferred to the recipient - * @param signature the signature - * @param payload the payload - * @param sender the transaction sender - * @param chainId the chain id to apply the transaction to - *

The {@code to} will be an {@code Optional.empty()} for a contract creation transaction; - * otherwise it should contain an address. - *

The {@code chainId} must be greater than 0 to be applied to a specific chain; otherwise - * it will default to any chain. - */ - public Transaction( - final long nonce, - final Wei gasPrice, - final long gasLimit, - final Optional

to, - final Wei value, - final SECPSignature signature, - final Bytes payload, - final Address sender, - final Optional chainId, - final Optional> versionedHashes) { - this( - nonce, - Optional.of(gasPrice), - Optional.empty(), - Optional.empty(), - Optional.empty(), - gasLimit, - to, - value, - signature, - payload, - sender, - chainId, - versionedHashes, - Optional.empty()); - } - - /** - * Instantiates a transaction instance. - * - * @param nonce the nonce - * @param gasPrice the gas price - * @param gasLimit the gas limit - * @param to the transaction recipient - * @param value the value being transferred to the recipient - * @param signature the signature - * @param payload the payload - * @param sender the transaction sender - * @param chainId the chain id to apply the transaction to - *

The {@code to} will be an {@code Optional.empty()} for a contract creation transaction; - * otherwise it should contain an address. - *

The {@code chainId} must be greater than 0 to be applied to a specific chain; otherwise - * it will default to any chain. - */ - public Transaction( - final long nonce, - final Wei gasPrice, - final long gasLimit, - final Optional

to, - final Wei value, - final SECPSignature signature, - final Bytes payload, - final Address sender, - final Optional chainId, - final Optional maxFeePerBlobGas, - final Optional> versionedHashes, - final Optional blobsWithCommitments) { - this( - nonce, - Optional.of(gasPrice), - Optional.empty(), - Optional.empty(), - maxFeePerBlobGas, - gasLimit, - to, - value, - signature, - payload, - sender, - chainId, - versionedHashes, - blobsWithCommitments); - } - /** * Returns the transaction nonce. * @@ -670,6 +514,7 @@ public Hash getHash() { * * @return the size in bytes of the encoded transaction. */ + @Override public int getSize() { if (size == -1) { memoizeHashAndSize(); diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/processing/TransactionProcessingResult.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/processing/TransactionProcessingResult.java index 66a7837e39c..c053e1107b9 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/processing/TransactionProcessingResult.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/processing/TransactionProcessingResult.java @@ -24,7 +24,8 @@ import org.apache.tuweni.bytes.Bytes; -public class TransactionProcessingResult { +public class TransactionProcessingResult + implements org.hyperledger.besu.plugin.data.TransactionProcessingResult { /** The status of the transaction after being processed. */ public enum Status { @@ -113,6 +114,7 @@ public TransactionProcessingResult( * * @return the logs produced by the transaction */ + @Override public List getLogs() { return logs; } @@ -124,6 +126,7 @@ public List getLogs() { * * @return the gas remaining after the transaction was processed */ + @Override public long getGasRemaining() { return gasRemaining; } @@ -134,6 +137,7 @@ public long getGasRemaining() { * * @return the estimate gas used */ + @Override public long getEstimateGasUsedByTransaction() { return estimateGasUsedByTransaction; } @@ -147,28 +151,41 @@ public Status getStatus() { return status; } + @Override public Bytes getOutput() { return output; } /** - * Returns whether or not the transaction was invalid. + * Returns whether the transaction was invalid. * * @return {@code true} if the transaction was invalid; otherwise {@code false} */ + @Override public boolean isInvalid() { return getStatus() == Status.INVALID; } /** - * Returns whether or not the transaction was successfully processed. + * Returns whether the transaction was successfully processed. * * @return {@code true} if the transaction was successfully processed; otherwise {@code false} */ + @Override public boolean isSuccessful() { return getStatus() == Status.SUCCESSFUL; } + /** + * Returns whether the transaction failed. + * + * @return {@code true} if the transaction failed; otherwise {@code false} + */ + @Override + public boolean isFailed() { + return getStatus() == Status.FAILED; + } + /** * Returns the transaction validation result. * @@ -183,6 +200,7 @@ public ValidationResult getValidationResult() { * * @return the revert reason. */ + @Override public Optional getRevertReason() { return revertReason; } diff --git a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/core/encoding/BlobTransactionEncodingTest.java b/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/core/encoding/BlobTransactionEncodingTest.java index 9487e476685..6b33f69dd5a 100644 --- a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/core/encoding/BlobTransactionEncodingTest.java +++ b/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/core/encoding/BlobTransactionEncodingTest.java @@ -41,7 +41,9 @@ private static Stream provideOpaqueBytesNoBlobsWithCommitments() { createArgument( "0x03f89d850120b996ed81f1843b9aca00847735940e8307a12094000000000000000000000000000000000010101001855f495f4955c0847735940ee1a001d552e24560ec2f168be1d4a6385df61c70afe4288f00a3ad172da1a6f2b4f280a0b6690786e5fe79df67dcb60e8a9e8555142c3c96ffd5097c838717f0a7f64129a0112f01ed0cd3b86495f01736fbbc1b793f71565223aa26f093471a4d8605d198"), createArgument( - "0x03f897850120b996ed80840bebc200843b9aca078303345094c8d369b164361a8961286cfbab3bc10f962185a88080c08411e1a300e1a0011df88a2971c8a7ac494a7ba37ec1acaa1fc1edeeb38c839b5d1693d47b69b080a032f122f06e5802224db4c8a58fd22c75173a713f63f89936f811c144b9e40129a043a2a872cbfa5727007adf6a48febe5f190d2e4cd5ed6122823fb6ff47ecda32")); + "0x03f897850120b996ed80840bebc200843b9aca078303345094c8d369b164361a8961286cfbab3bc10f962185a88080c08411e1a300e1a0011df88a2971c8a7ac494a7ba37ec1acaa1fc1edeeb38c839b5d1693d47b69b080a032f122f06e5802224db4c8a58fd22c75173a713f63f89936f811c144b9e40129a043a2a872cbfa5727007adf6a48febe5f190d2e4cd5ed6122823fb6ff47ecda32"), + createArgument( + "0x03f8928501a1f0ff4313843b9aca00843b9aca0082520894e7249813d8ccf6fa95a2203f46a64166073d58878080c001e1a00134a7258134a61a4f36f876480b75a12ec5c9fd5bcf8a27c42f78ffd6149eec01a0da6b8722b5df41d2458fc4486c85e1ac936e8437f2c4001bcde73b7352b4c830a017412017e67474a9d75edf392d7ced91a2bf11358215150b69b62cb8e0d01871")); } private static Stream provideOpaqueBytesForNetwork() throws IOException { diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPool.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPool.java index f6c8161bf0c..9b24f6cb539 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPool.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPool.java @@ -469,6 +469,10 @@ && strictReplayProtectionShouldBeEnforcedLocally(chainHeadBlockHeader) return ValidationResultAndAccount.invalid( TransactionInvalidReason.INVALID_TRANSACTION_FORMAT, "EIP-1559 transaction are not allowed yet"); + } else if (transaction.getType().equals(TransactionType.BLOB) + && transaction.getBlobsWithCommitments().isEmpty()) { + return ValidationResultAndAccount.invalid( + TransactionInvalidReason.INVALID_BLOBS, "Blob transaction must have at least one blob"); } // Call the transaction validator plugin if one is available diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/messages/MessageWrapperTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/messages/MessageWrapperTest.java index 8d5ebb96de5..78fcbb1c085 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/messages/MessageWrapperTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/messages/MessageWrapperTest.java @@ -52,14 +52,24 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.databind.module.SimpleModule; import org.apache.tuweni.bytes.Bytes; import org.junit.jupiter.api.Test; public class MessageWrapperTest { private static final ObjectMapper objectMapper = new ObjectMapper(); + private static final SimpleModule module = new SimpleModule(); + + static { + module.addDeserializer(Transaction.class, new TransactionDeserializer()); + objectMapper.registerModule(module); + } @Test public void GetBlockHeaders() throws IOException { @@ -228,8 +238,7 @@ public void PooledTransactions() throws IOException { PooledTransactionsMessage.create( Arrays.asList( objectMapper.treeToValue( - testJson.get("data").get("PooledTransactionsPacket"), - TestTransaction[].class))); + testJson.get("data").get("PooledTransactionsPacket"), Transaction[].class))); final Bytes actual = pooledTransactionsMessage.wrapMessageData(BigInteger.valueOf(1111)).getData(); assertThat(actual).isEqualTo(expected); @@ -291,48 +300,46 @@ public void readBodyFieldsThrowsIfThereIsListWrappingBodyFields() { () -> BlockBody.readFrom(bytesValueRLPInput, new MainnetBlockHeaderFunctions())); } - private static class TestTransaction extends Transaction { + private static class TransactionDeserializer extends StdDeserializer { + protected TransactionDeserializer() { + this(null); + } - @JsonCreator - public TestTransaction( - @JsonProperty("nonce") final String nonce, - @JsonProperty("gasPrice") final String gasPrice, - @JsonProperty("gas") final String gasLimit, - @JsonProperty("to") final String to, - @JsonProperty("value") final String value, - @JsonProperty("input") final String data, - @JsonProperty("v") final String v, - @JsonProperty("r") final String r, - @JsonProperty("s") final String s, - @JsonProperty("hash") final String __) { + protected TransactionDeserializer(final Class vc) { + super(vc); + } - super( - Bytes.fromHexStringLenient(nonce).toLong(), - Wei.fromHexString(gasPrice), - Long.decode(gasLimit), - Address.fromHexString(to), - Wei.fromHexString(value), - new SECP256K1() - .createSignature( - new BigInteger(r.substring(2), 16), - new BigInteger(s.substring(2), 16), - recIdAndChainId(Byte.decode(v)).getKey()), - Bytes.fromHexString(data), - recIdAndChainId(Byte.decode(v)).getValue(), - Optional.empty(), - Optional.empty()); + @Override + public Transaction deserialize(final JsonParser p, final DeserializationContext ctxt) + throws IOException { + JsonNode node = p.getCodec().readTree(p); + return new Transaction.Builder() + .nonce(Bytes.fromHexStringLenient(node.get("nonce").asText()).toLong()) + .gasPrice(Wei.fromHexString(node.get("gasPrice").asText())) + .gasLimit(Long.decode(node.get("gas").asText())) + .to(Address.fromHexString(node.get("to").asText())) + .value(Wei.fromHexString(node.get("value").asText())) + .signature( + new SECP256K1() + .createSignature( + new BigInteger(node.get("r").asText().substring(2), 16), + new BigInteger(node.get("s").asText().substring(2), 16), + recIdAndChainId(Byte.decode(node.get("v").asText())).getKey())) + .payload(Bytes.fromHexString(node.get("input").asText())) + .chainId(recIdAndChainId(Byte.decode(node.get("v").asText())).getValue()) + .build(); } } - private static Map.Entry> recIdAndChainId(final Byte vByte) { + private static Map.Entry recIdAndChainId(final Byte vByte) { final BigInteger v = BigInteger.valueOf(vByte); final byte recId; - Optional chainId = Optional.empty(); + BigInteger chainId = null; if (v.equals(REPLAY_UNPROTECTED_V_BASE) || v.equals(REPLAY_UNPROTECTED_V_BASE_PLUS_1)) { recId = v.subtract(REPLAY_UNPROTECTED_V_BASE).byteValueExact(); } else if (v.compareTo(REPLAY_PROTECTED_V_MIN) > 0) { - chainId = Optional.of(v.subtract(REPLAY_PROTECTED_V_BASE).divide(TWO)); - recId = v.subtract(TWO.multiply(chainId.get()).add(REPLAY_PROTECTED_V_BASE)).byteValueExact(); + chainId = v.subtract(REPLAY_PROTECTED_V_BASE).divide(TWO); + recId = v.subtract(TWO.multiply(chainId).add(REPLAY_PROTECTED_V_BASE)).byteValueExact(); } else { throw new RuntimeException( String.format("An unsupported encoded `v` value of %s was found", v)); @@ -343,7 +350,7 @@ private static Map.Entry> recIdAndChainId(final Byte public static class TestBlockBody extends BlockBody { @JsonCreator public TestBlockBody( - @JsonProperty("Transactions") final List transactions, + @JsonProperty("Transactions") final List transactions, @JsonProperty("Uncles") final List uncles) { super( transactions.stream().collect(toUnmodifiableList()), diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionPoolTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionPoolTest.java index 7fad9f1a057..beeb2b1e43b 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionPoolTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionPoolTest.java @@ -52,6 +52,7 @@ import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.chain.MutableBlockchain; +import org.hyperledger.besu.ethereum.core.BlobTestFixture; import org.hyperledger.besu.ethereum.core.Block; import org.hyperledger.besu.ethereum.core.BlockBody; import org.hyperledger.besu.ethereum.core.BlockHeader; @@ -144,6 +145,7 @@ public abstract class AbstractTransactionPoolTest { protected PendingTransactions transactions; protected final Transaction transaction0 = createTransaction(0); protected final Transaction transaction1 = createTransaction(1); + protected final Transaction transactionBlob = createBlobTransaction(0); protected final Transaction transactionOtherSender = createTransaction(1, KEY_PAIR2); private ExecutionContextTestFixture executionContext; @@ -454,6 +456,40 @@ public void shouldNotReAddTransactionsThatAreInBothForksWhenReorgHappens() { assertTransactionPending(transaction1); } + @Test + public void shouldNotReAddBlobTxsWhenReorgHappens() { + givenTransactionIsValid(transaction0); + givenTransactionIsValid(transaction1); + givenTransactionIsValid(transactionBlob); + + addAndAssertRemoteTransactionValid(transaction0); + addAndAssertRemoteTransactionValid(transaction1); + addAndAssertRemoteTransactionInvalid(transactionBlob); + + final BlockHeader commonParent = getHeaderForCurrentChainHead(); + final Block originalFork1 = appendBlock(Difficulty.of(1000), commonParent, transaction0); + final Block originalFork2 = + appendBlock(Difficulty.of(10), originalFork1.getHeader(), transaction1); + final Block originalFork3 = + appendBlock(Difficulty.of(1), originalFork2.getHeader(), transactionBlob); + assertTransactionNotPending(transaction0); + assertTransactionNotPending(transaction1); + assertTransactionNotPending(transactionBlob); + + final Block reorgFork1 = appendBlock(Difficulty.ONE, commonParent); + verifyChainHeadIs(originalFork3); + + final Block reorgFork2 = appendBlock(Difficulty.of(2000), reorgFork1.getHeader()); + verifyChainHeadIs(reorgFork2); + + final Block reorgFork3 = appendBlock(Difficulty.of(3000), reorgFork2.getHeader()); + verifyChainHeadIs(reorgFork3); + + assertTransactionNotPending(transactionBlob); + assertTransactionPending(transaction0); + assertTransactionPending(transaction1); + } + @ParameterizedTest @ValueSource(booleans = {true, false}) public void addLocalTransaction_strictReplayProtectionOn_txWithChainId_chainIdIsConfigured( @@ -1189,6 +1225,18 @@ protected Transaction createFrontierTransaction(final int transactionNumber, fin .createTransaction(KEY_PAIR1); } + protected Transaction createBlobTransaction(final int nonce) { + return new TransactionTestFixture() + .nonce(nonce) + .gasLimit(blockGasLimit) + .gasPrice(null) + .maxFeePerGas(Optional.of(Wei.of(5000L))) + .maxPriorityFeePerGas(Optional.of(Wei.of(1000L))) + .type(TransactionType.BLOB) + .blobsWithCommitments(Optional.of(new BlobTestFixture().createBlobsWithCommitments(1))) + .createTransaction(KEY_PAIR1); + } + protected int add1559TxAndGetPendingTxsCount( final Wei genesisBaseFee, final Wei minGasPrice, diff --git a/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/EvmToolCommand.java b/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/EvmToolCommand.java index 0e2daf96eb6..e55c36721b0 100644 --- a/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/EvmToolCommand.java +++ b/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/EvmToolCommand.java @@ -58,7 +58,7 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.NavigableMap; -import java.util.Optional; +import java.util.Set; import java.util.stream.Collectors; import com.google.common.base.Joiner; @@ -134,6 +134,12 @@ void setBytes(final String optionValue) { description = "Receiving address for this invocation.") private final Address receiver = Address.fromHexString("0x00"); + @Option( + names = {"--coinbase"}, + paramLabel = "
", + description = "Coinbase for this invocation.") + private final Address coinbase = Address.fromHexString("0x00"); + @Option( names = {"--input"}, paramLabel = "", @@ -317,7 +323,7 @@ public void run() { final BlockHeader blockHeader = BlockHeaderBuilder.create() .parentHash(Hash.EMPTY) - .coinbase(Address.ZERO) + .coinbase(coinbase) .difficulty(Difficulty.ONE) .number(1) .gasLimit(5000) @@ -338,17 +344,15 @@ public void run() { final ProtocolSpec protocolSpec = component.getProtocolSpec().apply(BlockHeaderBuilder.createDefault().buildBlockHeader()); final Transaction tx = - new Transaction( - 0, - Wei.ZERO, - Long.MAX_VALUE, - Optional.ofNullable(receiver), - Wei.ZERO, - null, - callData, - sender, - Optional.empty(), - Optional.empty()); + new Transaction.Builder() + .nonce(0) + .gasPrice(Wei.ZERO) + .gasLimit(Long.MAX_VALUE) + .to(receiver) + .value(Wei.ZERO) + .payload(callData) + .sender(sender) + .build(); final long intrinsicGasCost = protocolSpec @@ -399,6 +403,10 @@ public void run() { .completer(c -> {}) .miningBeneficiary(blockHeader.getCoinbase()) .blockHashLookup(new CachingBlockHashLookup(blockHeader, component.getBlockchain())) + .accessListWarmAddresses( + EvmSpecVersion.SHANGHAI.compareTo(evm.getEvmVersion()) <= 0 + ? Set.of(coinbase) + : Set.of()) .build(); Deque messageFrameStack = initialMessageFrame.getMessageFrameStack(); diff --git a/ethereum/evmtool/src/test/resources/org/hyperledger/besu/evmtool/trace/coinbase-cold.json b/ethereum/evmtool/src/test/resources/org/hyperledger/besu/evmtool/trace/coinbase-cold.json new file mode 100644 index 00000000000..406c2684e26 --- /dev/null +++ b/ethereum/evmtool/src/test/resources/org/hyperledger/besu/evmtool/trace/coinbase-cold.json @@ -0,0 +1,57 @@ +{ + "cli": [ + "--notime", + "--json", + "--code", + "4131ff", + "--coinbase", + "4444588443C3A91288C5002483449ABA1054192B", + "--fork", + "paris" + ], + "stdin": "", + "stdout": [ + { + "pc": 0, + "op": 65, + "gas": "0x2540b91f8", + "gasCost": "0x2", + "memSize": 0, + "stack": [], + "depth": 1, + "refund": 0, + "opName": "COINBASE" + }, + { + "pc": 1, + "op": 49, + "gas": "0x2540b91f6", + "gasCost": "0xa28", + "memSize": 0, + "stack": [ + "0x4444588443c3a91288c5002483449aba1054192b" + ], + "depth": 1, + "refund": 0, + "opName": "BALANCE" + }, + { + "pc": 2, + "op": 255, + "gas": "0x2540b87ce", + "gasCost": "0x1388", + "memSize": 0, + "stack": [ + "0x0" + ], + "depth": 1, + "refund": 0, + "opName": "SELFDESTRUCT" + }, + { + "gasUser": "0x1db2", + "gasTotal": "0x1db2", + "output": "0x" + } + ] +} \ No newline at end of file diff --git a/ethereum/evmtool/src/test/resources/org/hyperledger/besu/evmtool/trace/coinbase-warm.json b/ethereum/evmtool/src/test/resources/org/hyperledger/besu/evmtool/trace/coinbase-warm.json new file mode 100644 index 00000000000..9140a0268c8 --- /dev/null +++ b/ethereum/evmtool/src/test/resources/org/hyperledger/besu/evmtool/trace/coinbase-warm.json @@ -0,0 +1,57 @@ +{ + "cli": [ + "--notime", + "--json", + "--code", + "4131ff", + "--coinbase", + "4444588443C3A91288C5002483449ABA1054192B", + "--fork", + "shanghai" + ], + "stdin": "", + "stdout": [ + { + "pc": 0, + "op": 65, + "gas": "0x2540b91f8", + "gasCost": "0x2", + "memSize": 0, + "stack": [], + "depth": 1, + "refund": 0, + "opName": "COINBASE" + }, + { + "pc": 1, + "op": 49, + "gas": "0x2540b91f6", + "gasCost": "0x64", + "memSize": 0, + "stack": [ + "0x4444588443c3a91288c5002483449aba1054192b" + ], + "depth": 1, + "refund": 0, + "opName": "BALANCE" + }, + { + "pc": 2, + "op": 255, + "gas": "0x2540b9192", + "gasCost": "0x1388", + "memSize": 0, + "stack": [ + "0x0" + ], + "depth": 1, + "refund": 0, + "opName": "SELFDESTRUCT" + }, + { + "gasUser": "0x13ee", + "gasTotal": "0x13ee", + "output": "0x" + } + ] +} \ No newline at end of file diff --git a/evm/src/main/java/org/hyperledger/besu/evm/EVM.java b/evm/src/main/java/org/hyperledger/besu/evm/EVM.java index 3f5d706d412..f31cec13f09 100644 --- a/evm/src/main/java/org/hyperledger/besu/evm/EVM.java +++ b/evm/src/main/java/org/hyperledger/besu/evm/EVM.java @@ -31,6 +31,7 @@ import org.hyperledger.besu.evm.operation.AddOperation; import org.hyperledger.besu.evm.operation.AndOperation; import org.hyperledger.besu.evm.operation.ByteOperation; +import org.hyperledger.besu.evm.operation.ChainIdOperation; import org.hyperledger.besu.evm.operation.DivOperation; import org.hyperledger.besu.evm.operation.DupOperation; import org.hyperledger.besu.evm.operation.ExpOperation; @@ -130,6 +131,30 @@ public int getMaxEOFVersion() { return evmSpecVersion.maxEofVersion; } + /** + * Returns the configured EVM spec version for this EVM + * + * @return the evm spec version + */ + public EvmSpecVersion getEvmVersion() { + return evmSpecVersion; + } + + /** + * Return the ChainId this Executor is using, or empty if the EVM version does not expose chain + * ID. + * + * @return the ChainId, or empty if not exposed. + */ + public Optional getChainId() { + Operation op = operations.get(ChainIdOperation.OPCODE); + if (op instanceof ChainIdOperation chainIdOperation) { + return Optional.of(chainIdOperation.getChainId()); + } else { + return Optional.empty(); + } + } + /** * Run to halt. * diff --git a/evm/src/main/java/org/hyperledger/besu/evm/EvmSpecVersion.java b/evm/src/main/java/org/hyperledger/besu/evm/EvmSpecVersion.java index bd53ba11d2c..88b886bb213 100644 --- a/evm/src/main/java/org/hyperledger/besu/evm/EvmSpecVersion.java +++ b/evm/src/main/java/org/hyperledger/besu/evm/EvmSpecVersion.java @@ -15,6 +15,9 @@ */ package org.hyperledger.besu.evm; +import java.util.Comparator; +import java.util.stream.Stream; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -24,6 +27,10 @@ public enum EvmSpecVersion { FRONTIER(0, true, "Frontier", "Finalized"), /** Homestead evm spec version. */ HOMESTEAD(0, true, "Homestead", "Finalized"), + /** Tangerine Whistle evm spec version. */ + TANGERINE_WHISTLE(0, true, "Tangerine Whistle", "Finalized"), + /** Spurious Dragon evm spec version. */ + SPURIOUS_DRAGON(0, true, "Spuruous Dragon", "Finalized"), /** Byzantium evm spec version. */ BYZANTIUM(0, true, "Byzantium", "Finalized"), /** Constantinople evm spec version. */ @@ -47,7 +54,7 @@ public enum EvmSpecVersion { /** Osaka evm spec version. */ OSAKA(0, false, "Osaka", "Placeholder"), /** Bogota evm spec version. */ - BOGOTA(0, false, "Bogata", "Placeholder"), + BOGOTA(0, false, "Bogota", "Placeholder"), /** Development fork for unscheduled EIPs */ FUTURE_EIPS(1, false, "Future_EIPs", "Development, for accepted and unscheduled EIPs"), /** Development fork for EIPs not accepted to Mainnet */ @@ -134,7 +141,7 @@ public void maybeWarnVersion() { /** * Calculate a spec version from a text fork name. * - * @param name The name of the fork, such as "shahghai" or "berlin" + * @param name The name of the fork, such as "shanghai" or "berlin" * @return the EVM spec version for that fork, or null if no fork matched. */ public static EvmSpecVersion fromName(final String name) { @@ -145,4 +152,17 @@ public static EvmSpecVersion fromName(final String name) { } return null; } + + /** + * The most recent deployed evm supported by the library. This will change across versions and + * will be updated after mainnet activations. + * + * @return the most recently activated mainnet spec. + */ + public static EvmSpecVersion mostRecent() { + return Stream.of(EvmSpecVersion.values()) + .filter(v -> v.specFinalized) + .max(Comparator.naturalOrder()) + .orElseThrow(); + } } diff --git a/evm/src/main/java/org/hyperledger/besu/evm/MainnetEVMs.java b/evm/src/main/java/org/hyperledger/besu/evm/MainnetEVMs.java index 7884816ecf0..0d9fa18b591 100644 --- a/evm/src/main/java/org/hyperledger/besu/evm/MainnetEVMs.java +++ b/evm/src/main/java/org/hyperledger/besu/evm/MainnetEVMs.java @@ -20,6 +20,7 @@ import org.hyperledger.besu.evm.gascalculator.ConstantinopleGasCalculator; import org.hyperledger.besu.evm.gascalculator.FrontierGasCalculator; import org.hyperledger.besu.evm.gascalculator.GasCalculator; +import org.hyperledger.besu.evm.gascalculator.HomesteadGasCalculator; import org.hyperledger.besu.evm.gascalculator.IstanbulGasCalculator; import org.hyperledger.besu.evm.gascalculator.LondonGasCalculator; import org.hyperledger.besu.evm.gascalculator.PetersburgGasCalculator; @@ -278,7 +279,7 @@ public static void registerFrontierOperations( * @return the evm */ public static EVM homestead(final EvmConfiguration evmConfiguration) { - return homestead(new FrontierGasCalculator(), evmConfiguration); + return homestead(new HomesteadGasCalculator(), evmConfiguration); } /** @@ -328,7 +329,12 @@ public static void registerHomesteadOperations( * @return the evm */ public static EVM spuriousDragon(final EvmConfiguration evmConfiguration) { - return homestead(new SpuriousDragonGasCalculator(), evmConfiguration); + GasCalculator gasCalculator = new SpuriousDragonGasCalculator(); + return new EVM( + homesteadOperations(gasCalculator), + gasCalculator, + evmConfiguration, + EvmSpecVersion.SPURIOUS_DRAGON); } /** @@ -338,7 +344,12 @@ public static EVM spuriousDragon(final EvmConfiguration evmConfiguration) { * @return the evm */ public static EVM tangerineWhistle(final EvmConfiguration evmConfiguration) { - return homestead(new TangerineWhistleGasCalculator(), evmConfiguration); + GasCalculator gasCalculator = new TangerineWhistleGasCalculator(); + return new EVM( + homesteadOperations(gasCalculator), + gasCalculator, + evmConfiguration, + EvmSpecVersion.TANGERINE_WHISTLE); } /** @@ -413,11 +424,16 @@ public static EVM constantinople(final EvmConfiguration evmConfiguration) { */ public static EVM constantinople( final GasCalculator gasCalculator, final EvmConfiguration evmConfiguration) { + var version = EvmSpecVersion.CONSTANTINOPLE; + return constantiNOPEl(gasCalculator, evmConfiguration, version); + } + + private static EVM constantiNOPEl( + final GasCalculator gasCalculator, + final EvmConfiguration evmConfiguration, + final EvmSpecVersion version) { return new EVM( - constantinopleOperations(gasCalculator), - gasCalculator, - evmConfiguration, - EvmSpecVersion.CONSTANTINOPLE); + constantinopleOperations(gasCalculator), gasCalculator, evmConfiguration, version); } /** @@ -455,7 +471,8 @@ public static void registerConstantinopleOperations( * @return the evm */ public static EVM petersburg(final EvmConfiguration evmConfiguration) { - return constantinople(new PetersburgGasCalculator(), evmConfiguration); + return constantiNOPEl( + new PetersburgGasCalculator(), evmConfiguration, EvmSpecVersion.PETERSBURG); } /** @@ -1145,7 +1162,7 @@ public static void registerFutureEipsOperations( * @return the evm */ public static EVM experimentalEips(final EvmConfiguration evmConfiguration) { - return futureEips(DEV_NET_CHAIN_ID, evmConfiguration); + return experimentalEips(DEV_NET_CHAIN_ID, evmConfiguration); } /** @@ -1157,7 +1174,7 @@ public static EVM experimentalEips(final EvmConfiguration evmConfiguration) { */ public static EVM experimentalEips( final BigInteger chainId, final EvmConfiguration evmConfiguration) { - return futureEips(chainId, evmConfiguration); + return experimentalEips(new CancunGasCalculator(), chainId, evmConfiguration); } /** @@ -1176,7 +1193,7 @@ public static EVM experimentalEips( experimentalEipsOperations(gasCalculator, chainId), gasCalculator, evmConfiguration, - EvmSpecVersion.FUTURE_EIPS); + EvmSpecVersion.EXPERIMENTAL_EIPS); } /** diff --git a/evm/src/main/java/org/hyperledger/besu/evm/fluent/EVMExecutor.java b/evm/src/main/java/org/hyperledger/besu/evm/fluent/EVMExecutor.java index 9921f56e64b..d046c64778e 100644 --- a/evm/src/main/java/org/hyperledger/besu/evm/fluent/EVMExecutor.java +++ b/evm/src/main/java/org/hyperledger/besu/evm/fluent/EVMExecutor.java @@ -18,9 +18,11 @@ import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; +import org.hyperledger.besu.datatypes.VersionedHash; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.evm.Code; import org.hyperledger.besu.evm.EVM; +import org.hyperledger.besu.evm.EvmSpecVersion; import org.hyperledger.besu.evm.MainnetEVMs; import org.hyperledger.besu.evm.code.CodeV0; import org.hyperledger.besu.evm.contractvalidation.ContractValidationRule; @@ -36,14 +38,19 @@ import org.hyperledger.besu.evm.tracing.OperationTracer; import org.hyperledger.besu.evm.worldstate.WorldUpdater; +import java.math.BigInteger; import java.util.Collection; import java.util.Deque; +import java.util.HashSet; import java.util.List; import java.util.Objects; +import java.util.Optional; import java.util.Set; +import java.util.function.Function; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; +import com.google.errorprone.annotations.InlineMe; import org.apache.tuweni.bytes.Bytes; import org.apache.tuweni.bytes.Bytes32; @@ -57,22 +64,27 @@ public class EVMExecutor { private long gas = Long.MAX_VALUE; private Address receiver = Address.ZERO; private Address sender = Address.ZERO; + private Address contract = Address.ZERO; + private Address coinbase = Address.ZERO; private Wei gasPriceGWei = Wei.ZERO; private Wei blobGasPrice = Wei.ZERO; private Bytes callData = Bytes.EMPTY; private Wei ethValue = Wei.ZERO; private Code code = CodeV0.EMPTY_CODE; private BlockValues blockValues = new SimpleBlockValues(); + private Function blockHashLookup = h -> null; + private Optional> versionedHashes = Optional.empty(); private OperationTracer tracer = OperationTracer.NO_TRACING; private boolean requireDeposit = true; private List contractValidationRules = List.of(MaxCodeSizeRule.of(0x6000), PrefixCodeRule.of()); - private long initialNonce = 0; + private long initialNonce = 1; private Collection
forceCommitAddresses = List.of(Address.fromHexString("0x03")); - private Set
accessListWarmAddresses = Set.of(); + private Set
accessListWarmAddresses = new HashSet<>(); private Multimap accessListWarmStorage = HashMultimap.create(); private MessageCallProcessor messageCallProcessor = null; private ContractCreationProcessor contractCreationProcessor = null; + private MessageFrame.Type messageFrameType = MessageFrame.Type.MESSAGE_CALL; private EVMExecutor(final EVM evm) { checkNotNull(evm, "evm must not be null"); @@ -80,7 +92,84 @@ private EVMExecutor(final EVM evm) { } /** - * Instandiate Evm executor. + * Create an EVM with the most current activated fork on chain ID 1. + * + *

Note, this will change across versions + * + * @return executor builder + */ + public static EVMExecutor evm() { + return evm(EvmSpecVersion.mostRecent()); + } + + /** + * Create an EVM at the specified version with chain ID 1. + * + * @param fork the EVM spec version to use + * @return executor builder + */ + public static EVMExecutor evm(final EvmSpecVersion fork) { + return evm(fork, BigInteger.ONE); + } + + /** + * Create an EVM at the specified version and chain ID + * + * @param fork the EVM spec version to use + * @param chainId the chain ID to use + * @return executor builder + */ + public static EVMExecutor evm(final EvmSpecVersion fork, final BigInteger chainId) { + return evm(fork, chainId, EvmConfiguration.DEFAULT); + } + + /** + * Create an EVM at the specified version and chain ID + * + * @param fork the EVM spec version to use + * @param chainId the chain ID to use + * @return executor builder + */ + public static EVMExecutor evm(final EvmSpecVersion fork, final Bytes chainId) { + return evm(fork, new BigInteger(1, chainId.toArrayUnsafe()), EvmConfiguration.DEFAULT); + } + + /** + * Create an EVM at the specified version and chain ID + * + * @param fork the EVM spec version to use + * @param chainId the chain ID to use + * @param evmConfiguration system configuration options. + * @return executor builder + */ + public static EVMExecutor evm( + final EvmSpecVersion fork, + final BigInteger chainId, + final EvmConfiguration evmConfiguration) { + return switch (fork) { + case FRONTIER -> frontier(evmConfiguration); + case HOMESTEAD -> homestead(evmConfiguration); + case TANGERINE_WHISTLE -> tangerineWhistle(evmConfiguration); + case SPURIOUS_DRAGON -> spuriousDragon(evmConfiguration); + case BYZANTIUM -> byzantium(evmConfiguration); + case CONSTANTINOPLE -> constantinople(evmConfiguration); + case PETERSBURG -> petersburg(evmConfiguration); + case ISTANBUL -> istanbul(chainId, evmConfiguration); + case BERLIN -> berlin(chainId, evmConfiguration); + case LONDON -> london(chainId, evmConfiguration); + case PARIS -> paris(chainId, evmConfiguration); + case SHANGHAI -> shanghai(chainId, evmConfiguration); + case CANCUN -> cancun(chainId, evmConfiguration); + case PRAGUE -> prague(chainId, evmConfiguration); + case OSAKA -> osaka(chainId, evmConfiguration); + case BOGOTA -> bogota(chainId, evmConfiguration); + case FUTURE_EIPS -> futureEips(chainId, evmConfiguration); + case EXPERIMENTAL_EIPS -> experimentalEips(chainId, evmConfiguration); + }; + } + + /** + * Instantiate Evm executor. * * @param evm the evm * @return the evm executor @@ -102,6 +191,7 @@ public static EVMExecutor frontier(final EvmConfiguration evmConfiguration) { executor.contractValidationRules = List.of(); executor.requireDeposit = false; executor.forceCommitAddresses = List.of(); + executor.initialNonce = 0; return executor; } @@ -117,31 +207,33 @@ public static EVMExecutor homestead(final EvmConfiguration evmConfiguration) { MainnetPrecompiledContracts.frontier(executor.evm.getGasCalculator()); executor.contractValidationRules = List.of(); executor.forceCommitAddresses = List.of(); + executor.initialNonce = 0; return executor; } /** - * Instantiate Spurious dragon evm executor. + * Instantiate Tangerine whistle evm executor. * * @param evmConfiguration the evm configuration * @return the evm executor */ - public static EVMExecutor spuriousDragon(final EvmConfiguration evmConfiguration) { - final EVMExecutor executor = new EVMExecutor(MainnetEVMs.spuriousDragon(evmConfiguration)); + public static EVMExecutor tangerineWhistle(final EvmConfiguration evmConfiguration) { + final EVMExecutor executor = new EVMExecutor(MainnetEVMs.tangerineWhistle(evmConfiguration)); executor.precompileContractRegistry = MainnetPrecompiledContracts.frontier(executor.evm.getGasCalculator()); executor.contractValidationRules = List.of(MaxCodeSizeRule.of(0x6000)); + executor.initialNonce = 0; return executor; } /** - * Instantiate Tangerine whistle evm executor. + * Instantiate Spurious dragon evm executor. * * @param evmConfiguration the evm configuration * @return the evm executor */ - public static EVMExecutor tangerineWhistle(final EvmConfiguration evmConfiguration) { - final EVMExecutor executor = new EVMExecutor(MainnetEVMs.tangerineWhistle(evmConfiguration)); + public static EVMExecutor spuriousDragon(final EvmConfiguration evmConfiguration) { + final EVMExecutor executor = new EVMExecutor(MainnetEVMs.spuriousDragon(evmConfiguration)); executor.precompileContractRegistry = MainnetPrecompiledContracts.frontier(executor.evm.getGasCalculator()); executor.contractValidationRules = List.of(MaxCodeSizeRule.of(0x6000)); @@ -195,9 +287,30 @@ public static EVMExecutor petersburg(final EvmConfiguration evmConfiguration) { * * @param evmConfiguration the evm configuration * @return the evm executor + * @deprecated Migrate to use {@link EVMExecutor#evm(EvmSpecVersion)}. */ + @InlineMe( + replacement = "EVMExecutor.evm(EvmSpecVersion.ISTANBUL, BigInteger.ONE, evmConfiguration)", + imports = { + "java.math.BigInteger", + "org.hyperledger.besu.evm.EvmSpecVersion", + "org.hyperledger.besu.evm.fluent.EVMExecutor" + }) + @Deprecated(forRemoval = true) public static EVMExecutor istanbul(final EvmConfiguration evmConfiguration) { - final EVMExecutor executor = new EVMExecutor(MainnetEVMs.istanbul(evmConfiguration)); + return evm(EvmSpecVersion.ISTANBUL, BigInteger.ONE, evmConfiguration); + } + + /** + * Instantiate Istanbul evm executor. + * + * @param chainId the chain ID + * @param evmConfiguration the evm configuration + * @return the evm executor + */ + public static EVMExecutor istanbul( + final BigInteger chainId, final EvmConfiguration evmConfiguration) { + final EVMExecutor executor = new EVMExecutor(MainnetEVMs.istanbul(chainId, evmConfiguration)); executor.precompileContractRegistry = MainnetPrecompiledContracts.istanbul(executor.evm.getGasCalculator()); executor.contractValidationRules = List.of(MaxCodeSizeRule.of(0x6000)); @@ -209,9 +322,30 @@ public static EVMExecutor istanbul(final EvmConfiguration evmConfiguration) { * * @param evmConfiguration the evm configuration * @return the evm executor + * @deprecated Migrate to use {@link EVMExecutor#evm(EvmSpecVersion)}. */ + @InlineMe( + replacement = "EVMExecutor.evm(EvmSpecVersion.BERLIN, BigInteger.ONE, evmConfiguration)", + imports = { + "java.math.BigInteger", + "org.hyperledger.besu.evm.EvmSpecVersion", + "org.hyperledger.besu.evm.fluent.EVMExecutor" + }) + @Deprecated(forRemoval = true) public static EVMExecutor berlin(final EvmConfiguration evmConfiguration) { - final EVMExecutor executor = new EVMExecutor(MainnetEVMs.berlin(evmConfiguration)); + return evm(EvmSpecVersion.BERLIN, BigInteger.ONE, evmConfiguration); + } + + /** + * Instantiate berlin evm executor. + * + * @param chainId the chain ID + * @param evmConfiguration the evm configuration + * @return the evm executor + */ + public static EVMExecutor berlin( + final BigInteger chainId, final EvmConfiguration evmConfiguration) { + final EVMExecutor executor = new EVMExecutor(MainnetEVMs.berlin(chainId, evmConfiguration)); executor.precompileContractRegistry = MainnetPrecompiledContracts.istanbul(executor.evm.getGasCalculator()); executor.contractValidationRules = List.of(MaxCodeSizeRule.of(0x6000)); @@ -223,9 +357,30 @@ public static EVMExecutor berlin(final EvmConfiguration evmConfiguration) { * * @param evmConfiguration the evm configuration * @return the evm executor + * @deprecated Migrate to use {@link EVMExecutor#evm(EvmSpecVersion)}. */ + @InlineMe( + replacement = "EVMExecutor.evm(EvmSpecVersion.LONDON, BigInteger.ONE, evmConfiguration)", + imports = { + "java.math.BigInteger", + "org.hyperledger.besu.evm.EvmSpecVersion", + "org.hyperledger.besu.evm.fluent.EVMExecutor" + }) + @Deprecated(forRemoval = true) public static EVMExecutor london(final EvmConfiguration evmConfiguration) { - final EVMExecutor executor = new EVMExecutor(MainnetEVMs.london(evmConfiguration)); + return evm(EvmSpecVersion.LONDON, BigInteger.ONE, evmConfiguration); + } + + /** + * Instantiate London evm executor. + * + * @param chainId the chain ID + * @param evmConfiguration the evm configuration + * @return the evm executor + */ + public static EVMExecutor london( + final BigInteger chainId, final EvmConfiguration evmConfiguration) { + final EVMExecutor executor = new EVMExecutor(MainnetEVMs.london(chainId, evmConfiguration)); executor.precompileContractRegistry = MainnetPrecompiledContracts.istanbul(executor.evm.getGasCalculator()); return executor; @@ -236,9 +391,30 @@ public static EVMExecutor london(final EvmConfiguration evmConfiguration) { * * @param evmConfiguration the evm configuration * @return the evm executor + * @deprecated Migrate to use {@link EVMExecutor#evm(EvmSpecVersion)}. */ + @InlineMe( + replacement = "EVMExecutor.evm(EvmSpecVersion.PARIS, BigInteger.ONE, evmConfiguration)", + imports = { + "java.math.BigInteger", + "org.hyperledger.besu.evm.EvmSpecVersion", + "org.hyperledger.besu.evm.fluent.EVMExecutor" + }) + @Deprecated(forRemoval = true) public static EVMExecutor paris(final EvmConfiguration evmConfiguration) { - final EVMExecutor executor = new EVMExecutor(MainnetEVMs.paris(evmConfiguration)); + return evm(EvmSpecVersion.PARIS, BigInteger.ONE, evmConfiguration); + } + + /** + * Instantiate Paris evm executor. + * + * @param chainId the chain ID + * @param evmConfiguration the evm configuration + * @return the evm executor + */ + public static EVMExecutor paris( + final BigInteger chainId, final EvmConfiguration evmConfiguration) { + final EVMExecutor executor = new EVMExecutor(MainnetEVMs.paris(chainId, evmConfiguration)); executor.precompileContractRegistry = MainnetPrecompiledContracts.istanbul(executor.evm.getGasCalculator()); return executor; @@ -249,9 +425,30 @@ public static EVMExecutor paris(final EvmConfiguration evmConfiguration) { * * @param evmConfiguration the evm configuration * @return the evm executor + * @deprecated Migrate to use {@link EVMExecutor#evm(EvmSpecVersion)}. */ + @InlineMe( + replacement = "EVMExecutor.evm(EvmSpecVersion.SHANGHAI, BigInteger.ONE, evmConfiguration)", + imports = { + "java.math.BigInteger", + "org.hyperledger.besu.evm.EvmSpecVersion", + "org.hyperledger.besu.evm.fluent.EVMExecutor" + }) + @Deprecated(forRemoval = true) public static EVMExecutor shanghai(final EvmConfiguration evmConfiguration) { - final EVMExecutor executor = new EVMExecutor(MainnetEVMs.shanghai(evmConfiguration)); + return evm(EvmSpecVersion.SHANGHAI, BigInteger.ONE, evmConfiguration); + } + + /** + * Instantiate Shanghai evm executor. + * + * @param chainId the chain ID + * @param evmConfiguration the evm configuration + * @return the evm executor + */ + public static EVMExecutor shanghai( + final BigInteger chainId, final EvmConfiguration evmConfiguration) { + final EVMExecutor executor = new EVMExecutor(MainnetEVMs.shanghai(chainId, evmConfiguration)); executor.precompileContractRegistry = MainnetPrecompiledContracts.istanbul(executor.evm.getGasCalculator()); return executor; @@ -262,22 +459,125 @@ public static EVMExecutor shanghai(final EvmConfiguration evmConfiguration) { * * @param evmConfiguration the evm configuration * @return the evm executor + * @deprecated Migrate to use {@link EVMExecutor#evm(EvmSpecVersion)}. */ + @InlineMe( + replacement = "EVMExecutor.evm(EvmSpecVersion.CANCUN, BigInteger.ONE, evmConfiguration)", + imports = { + "java.math.BigInteger", + "org.hyperledger.besu.evm.EvmSpecVersion", + "org.hyperledger.besu.evm.fluent.EVMExecutor" + }) + @Deprecated(forRemoval = true) public static EVMExecutor cancun(final EvmConfiguration evmConfiguration) { - final EVMExecutor executor = new EVMExecutor(MainnetEVMs.cancun(evmConfiguration)); + return evm(EvmSpecVersion.CANCUN, BigInteger.ONE, evmConfiguration); + } + + /** + * Instantiate Cancun evm executor. + * + * @param chainId the chain ID + * @param evmConfiguration the evm configuration + * @return the evm executor + */ + public static EVMExecutor cancun( + final BigInteger chainId, final EvmConfiguration evmConfiguration) { + final EVMExecutor executor = new EVMExecutor(MainnetEVMs.cancun(chainId, evmConfiguration)); executor.precompileContractRegistry = MainnetPrecompiledContracts.cancun(executor.evm.getGasCalculator()); return executor; } + /** + * Instantiate Prague evm executor. + * + * @param chainId the chain ID + * @param evmConfiguration the evm configuration + * @return the evm executor + */ + public static EVMExecutor prague( + final BigInteger chainId, final EvmConfiguration evmConfiguration) { + final EVMExecutor executor = new EVMExecutor(MainnetEVMs.prague(chainId, evmConfiguration)); + executor.precompileContractRegistry = + MainnetPrecompiledContracts.cancun(executor.evm.getGasCalculator()); + return executor; + } + + /** + * Instantiate Osaka evm executor. + * + * @param chainId the chain ID + * @param evmConfiguration the evm configuration + * @return the evm executor + */ + public static EVMExecutor osaka( + final BigInteger chainId, final EvmConfiguration evmConfiguration) { + final EVMExecutor executor = new EVMExecutor(MainnetEVMs.osaka(chainId, evmConfiguration)); + executor.precompileContractRegistry = + MainnetPrecompiledContracts.cancun(executor.evm.getGasCalculator()); + return executor; + } + + /** + * Instantiate Bogota evm executor. + * + * @param chainId the chain ID + * @param evmConfiguration the evm configuration + * @return the evm executor + */ + public static EVMExecutor bogota( + final BigInteger chainId, final EvmConfiguration evmConfiguration) { + final EVMExecutor executor = new EVMExecutor(MainnetEVMs.bogota(chainId, evmConfiguration)); + executor.precompileContractRegistry = + MainnetPrecompiledContracts.cancun(executor.evm.getGasCalculator()); + return executor; + } + + /** + * Instantiate Future EIPs evm executor. + * + * @param evmConfiguration the evm configuration + * @return the evm executor + * @deprecated Migrate to use {@link EVMExecutor#evm(EvmSpecVersion)}. + */ + @InlineMe( + replacement = "EVMExecutor.evm(EvmSpecVersion.FUTURE_EIPS, BigInteger.ONE, evmConfiguration)", + imports = { + "java.math.BigInteger", + "org.hyperledger.besu.evm.EvmSpecVersion", + "org.hyperledger.besu.evm.fluent.EVMExecutor" + }) + @Deprecated(forRemoval = true) + public static EVMExecutor futureEips(final EvmConfiguration evmConfiguration) { + return evm(EvmSpecVersion.FUTURE_EIPS, BigInteger.ONE, evmConfiguration); + } + /** * Instantiate Future EIPs evm executor. * + * @param chainId the chain ID + * @param evmConfiguration the evm configuration + * @return the evm executor + */ + public static EVMExecutor futureEips( + final BigInteger chainId, final EvmConfiguration evmConfiguration) { + final EVMExecutor executor = new EVMExecutor(MainnetEVMs.futureEips(chainId, evmConfiguration)); + executor.precompileContractRegistry = + MainnetPrecompiledContracts.futureEIPs(executor.evm.getGasCalculator()); + return executor; + } + + /** + * Instantiate Experimental EIPs evm executor. + * + * @param chainId the chain ID * @param evmConfiguration the evm configuration * @return the evm executor */ - public static EVMExecutor futureEIPs(final EvmConfiguration evmConfiguration) { - final EVMExecutor executor = new EVMExecutor(MainnetEVMs.cancun(evmConfiguration)); + public static EVMExecutor experimentalEips( + final BigInteger chainId, final EvmConfiguration evmConfiguration) { + final EVMExecutor executor = + new EVMExecutor(MainnetEVMs.experimentalEips(chainId, evmConfiguration)); executor.precompileContractRegistry = MainnetPrecompiledContracts.futureEIPs(executor.evm.getGasCalculator()); return executor; @@ -347,10 +647,10 @@ public Bytes execute() { final ContractCreationProcessor ccp = thisContractCreationProcessor(); final MessageFrame initialMessageFrame = MessageFrame.builder() - .type(MessageFrame.Type.MESSAGE_CALL) + .type(messageFrameType) .worldUpdater(worldUpdater.updater()) .initialGas(gas) - .contract(Address.ZERO) + .contract(contract) .address(receiver) .originator(sender) .sender(sender) @@ -361,11 +661,12 @@ public Bytes execute() { .apparentValue(ethValue) .code(code) .blockValues(blockValues) - .completer(c -> {}) - .miningBeneficiary(Address.ZERO) - .blockHashLookup(h -> null) + .miningBeneficiary(coinbase) + .blockHashLookup(blockHashLookup) .accessListWarmAddresses(accessListWarmAddresses) .accessListWarmStorage(accessListWarmStorage) + .versionedHashes(versionedHashes) + .completer(c -> {}) .build(); final Deque messageFrameStack = initialMessageFrame.getMessageFrameStack(); @@ -389,8 +690,7 @@ public Bytes execute() { * @return the evm executor */ public EVMExecutor commitWorldState() { - this.commitWorldState = true; - return this; + return commitWorldState(true); } /** @@ -448,6 +748,32 @@ public EVMExecutor sender(final Address sender) { return this; } + /** + * Sets the address of the executing contract + * + * @param contract the contract + * @return the evm executor + */ + public EVMExecutor contract(final Address contract) { + this.contract = contract; + return this; + } + + /** + * Sets the address of the coinbase aka mining beneficiary + * + * @param coinbase the coinbase + * @return the evm executor + */ + public EVMExecutor coinbase(final Address coinbase) { + this.coinbase = coinbase; + // EIP-3651 + if (EvmSpecVersion.SHANGHAI.compareTo(evm.getEvmVersion()) <= 0) { + this.warmAddress(coinbase); + } + return this; + } + /** * Sets Gas price GWei. * @@ -503,6 +829,16 @@ public EVMExecutor code(final Code code) { return this; } + /** + * Sets Code. + * + * @param codeBytes the code bytes + * @return the evm executor + */ + public EVMExecutor code(final Bytes codeBytes) { + return code(codeBytes, Hash.hash(codeBytes)); + } + /** * Sets Code. * @@ -526,6 +862,131 @@ public EVMExecutor blockValues(final BlockValues blockValues) { return this; } + /** + * Sets the difficulty bytes on a SimpleBlockValues object + * + * @param difficulty the difficulty + * @return the evm executor + * @throws ClassCastException if the blockValues was set with a value that is not a {@link + * SimpleBlockValues} + */ + public EVMExecutor difficulty(final Bytes difficulty) { + ((SimpleBlockValues) this.blockValues).setDifficultyBytes(difficulty); + return this; + } + + /** + * Sets the mix hash bytes on a SimpleBlockValues object + * + * @param mixHash the mix hash + * @return the evm executor + * @throws ClassCastException if the blockValues was set with a value that is not a {@link + * SimpleBlockValues} + */ + public EVMExecutor mixHash(final Bytes32 mixHash) { + ((SimpleBlockValues) this.blockValues).setMixHashOrPrevRandao(mixHash); + return this; + } + + /** + * Sets the prev randao bytes on a SimpleBlockValues object + * + * @param prevRandao the prev randao + * @return the evm executor + * @throws ClassCastException if the blockValues was set with a value that is not a {@link + * SimpleBlockValues} + */ + public EVMExecutor prevRandao(final Bytes32 prevRandao) { + ((SimpleBlockValues) this.blockValues).setMixHashOrPrevRandao(prevRandao); + return this; + } + + /** + * Sets the baseFee for the block, directly. + * + * @param baseFee the baseFee + * @return the evm executor + * @throws ClassCastException if the blockValues was set with a value that is not a {@link + * SimpleBlockValues} + */ + public EVMExecutor baseFee(final Wei baseFee) { + return baseFee(Optional.ofNullable(baseFee)); + } + + /** + * Sets the baseFee for the block, as an Optional. + * + * @param baseFee the baseFee + * @return the evm executor + * @throws ClassCastException if the blockValues was set with a value that is not a {@link + * SimpleBlockValues} + */ + public EVMExecutor baseFee(final Optional baseFee) { + ((SimpleBlockValues) this.blockValues).setBaseFee(baseFee); + return this; + } + + /** + * Sets the block number for the block. + * + * @param number the block number + * @return the evm executor + * @throws ClassCastException if the blockValues was set with a value that is not a {@link + * SimpleBlockValues} + */ + public EVMExecutor number(final long number) { + ((SimpleBlockValues) this.blockValues).setNumber(number); + return this; + } + + /** + * Sets the timestamp for the block. + * + * @param timestamp the block timestamp + * @return the evm executor + * @throws ClassCastException if the blockValues was set with a value that is not a {@link + * SimpleBlockValues} + */ + public EVMExecutor timestamp(final long timestamp) { + ((SimpleBlockValues) this.blockValues).setTimestamp(timestamp); + return this; + } + + /** + * Sets the gas limit for the block. + * + * @param gasLimit the block gas limit + * @return the evm executor + * @throws ClassCastException if the blockValues was set with a value that is not a {@link + * SimpleBlockValues} + */ + public EVMExecutor gasLimit(final long gasLimit) { + ((SimpleBlockValues) this.blockValues).setGasLimit(gasLimit); + return this; + } + + /** + * Sets the block hash lookup function + * + * @param blockHashLookup the block hash lookup function + * @return the evm executor + */ + public EVMExecutor blockHashLookup(final Function blockHashLookup) { + this.blockHashLookup = blockHashLookup; + return this; + } + + /** + * Sets Version Hashes for blobs. The blobs themselves are not accessible. + * + * @param versionedHashes the versioned hashes + * @return the evm executor + */ + public EVMExecutor versionedHashes(final Optional> versionedHashes) { + this.versionedHashes = versionedHashes; + return this; + } + /** * Sets Operation Tracer. * @@ -664,4 +1125,33 @@ public EVMExecutor contractCallProcessor( this.contractCreationProcessor = contractCreationProcessor; return this; } + + /** + * Sets the message frame type + * + * @param messageFrameType message frame type + * @return the builder + */ + public EVMExecutor messageFrameType(final MessageFrame.Type messageFrameType) { + this.messageFrameType = messageFrameType; + return this; + } + + /** + * Returns the EVM version this executor is using + * + * @return the current EVM version + */ + public EvmSpecVersion getEVMVersion() { + return evm.getEvmVersion(); + } + + /** + * Returns the ChaindD this executor is using + * + * @return the current chain ID + */ + public Optional getChainId() { + return evm.getChainId(); + } } diff --git a/evm/src/main/java/org/hyperledger/besu/evm/fluent/SimpleAccount.java b/evm/src/main/java/org/hyperledger/besu/evm/fluent/SimpleAccount.java index b8a4db21eab..05ad66574fc 100644 --- a/evm/src/main/java/org/hyperledger/besu/evm/fluent/SimpleAccount.java +++ b/evm/src/main/java/org/hyperledger/besu/evm/fluent/SimpleAccount.java @@ -188,4 +188,21 @@ public Map getUpdatedStorage() { public void becomeImmutable() { mutable = false; } + + /** + * Push changes into the parent account, if one exists + * + * @return true if a parent account was updated, false if not (this indicates the account should + * be inserted into the parent contact). + */ + public boolean updateParent() { + if (parent instanceof SimpleAccount simpleAccount) { + simpleAccount.balance = balance; + simpleAccount.nonce = nonce; + simpleAccount.storage.putAll(storage); + return true; + } else { + return false; + } + } } diff --git a/evm/src/main/java/org/hyperledger/besu/evm/fluent/SimpleBlockValues.java b/evm/src/main/java/org/hyperledger/besu/evm/fluent/SimpleBlockValues.java index f6c7c26a7d1..8099e27babd 100644 --- a/evm/src/main/java/org/hyperledger/besu/evm/fluent/SimpleBlockValues.java +++ b/evm/src/main/java/org/hyperledger/besu/evm/fluent/SimpleBlockValues.java @@ -15,7 +15,105 @@ */ package org.hyperledger.besu.evm.fluent; +import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.evm.frame.BlockValues; +import java.util.Optional; + +import org.apache.tuweni.bytes.Bytes; +import org.apache.tuweni.bytes.Bytes32; + /** A concrete BlockValues object that takes all the defaults */ -public class SimpleBlockValues implements BlockValues {} +public class SimpleBlockValues implements BlockValues { + + Bytes difficultyBytes = Bytes32.ZERO; + Bytes32 mixHashOrPrevRandao = Bytes32.ZERO; + Optional baseFee = Optional.empty(); + long number = 1; + long timestamp = 1; + long gasLimit = Long.MAX_VALUE; + + @Override + public Bytes getDifficultyBytes() { + return difficultyBytes; + } + + /** + * Sets the difficulty of the block + * + * @param difficultyBytes the difficulty + */ + public void setDifficultyBytes(final Bytes difficultyBytes) { + this.difficultyBytes = difficultyBytes; + } + + @Override + public Bytes32 getMixHashOrPrevRandao() { + return mixHashOrPrevRandao; + } + + /** + * sets the mix hash or prevRandao + * + * @param mixHashOrPrevRandao new mixHash or prevRandao + */ + public void setMixHashOrPrevRandao(final Bytes32 mixHashOrPrevRandao) { + this.mixHashOrPrevRandao = mixHashOrPrevRandao; + } + + @Override + public Optional getBaseFee() { + return baseFee; + } + + /** + * Sets the base fee + * + * @param baseFee new base fee, or empty if not in a fee market fork. + */ + public void setBaseFee(final Optional baseFee) { + this.baseFee = baseFee; + } + + @Override + public long getNumber() { + return number; + } + + /** + * Sets the block number + * + * @param number the block number + */ + public void setNumber(final long number) { + this.number = number; + } + + @Override + public long getTimestamp() { + return timestamp; + } + + /** + * Sets the block timestamp + * + * @param timestamp the timestamp, in seconds past the unix epoch + */ + public void setTimestamp(final long timestamp) { + this.timestamp = timestamp; + } + + @Override + public long getGasLimit() { + return gasLimit; + } + + /** + * Sets the gas limit + * + * @param gasLimit the gas limit for the block + */ + public void setGasLimit(final long gasLimit) { + this.gasLimit = gasLimit; + } +} diff --git a/evm/src/main/java/org/hyperledger/besu/evm/fluent/SimpleWorld.java b/evm/src/main/java/org/hyperledger/besu/evm/fluent/SimpleWorld.java index 6bc19ca0dae..a9295568a68 100644 --- a/evm/src/main/java/org/hyperledger/besu/evm/fluent/SimpleWorld.java +++ b/evm/src/main/java/org/hyperledger/besu/evm/fluent/SimpleWorld.java @@ -66,6 +66,9 @@ public Account get(final Address address) { @Override public MutableAccount createAccount(final Address address, final long nonce, final Wei balance) { + if (getAccount(address) != null) { + throw new IllegalStateException("Cannot create an account when one already exists"); + } SimpleAccount account = new SimpleAccount(address, nonce, balance); accounts.put(address, account); return account; @@ -73,13 +76,23 @@ public MutableAccount createAccount(final Address address, final long nonce, fin @Override public MutableAccount getAccount(final Address address) { - if (accounts.containsKey(address)) { - return accounts.get(address); - } else if (parent != null) { - return parent.getAccount(address); - } else { - return null; + SimpleAccount account = accounts.get(address); + if (account != null) { + return account; + } + Account parentAccount = parent == null ? null : parent.getAccount(address); + if (parentAccount != null) { + account = + new SimpleAccount( + parentAccount, + parentAccount.getAddress(), + parentAccount.getNonce(), + parentAccount.getBalance(), + parentAccount.getCode()); + accounts.put(address, account); + return account; } + return null; } @Override @@ -107,11 +120,16 @@ public void revert() { @Override public void commit() { - parent.accounts.putAll(accounts); + accounts.forEach( + (address, account) -> { + if (!account.updateParent()) { + parent.accounts.put(address, account); + } + }); } @Override public Optional parentUpdater() { - return Optional.empty(); + return Optional.ofNullable(parent); } } diff --git a/evm/src/main/java/org/hyperledger/besu/evm/gascalculator/BerlinGasCalculator.java b/evm/src/main/java/org/hyperledger/besu/evm/gascalculator/BerlinGasCalculator.java index c15de3270f8..50a035eb84f 100644 --- a/evm/src/main/java/org/hyperledger/besu/evm/gascalculator/BerlinGasCalculator.java +++ b/evm/src/main/java/org/hyperledger/besu/evm/gascalculator/BerlinGasCalculator.java @@ -247,15 +247,26 @@ public long modExpGasCost(final Bytes input) { BigIntegerModularExponentiationPrecompiledContract.modulusLength(input); final long exponentOffset = clampedAdd(BigIntegerModularExponentiationPrecompiledContract.BASE_OFFSET, baseLength); + + long multiplicationComplexity = (Math.max(modulusLength, baseLength) + 7L) / 8L; + multiplicationComplexity = + Words.clampedMultiply(multiplicationComplexity, multiplicationComplexity); + + if (multiplicationComplexity == 0) { + return 200; + } else if (multiplicationComplexity > 0) { + long maxExponentLength = Long.MAX_VALUE / multiplicationComplexity * 3 / 8; + if (exponentLength > maxExponentLength) { + return Long.MAX_VALUE; + } + } + final long firstExponentBytesCap = Math.min(exponentLength, ByzantiumGasCalculator.MAX_FIRST_EXPONENT_BYTES); final BigInteger firstExpBytes = BigIntegerModularExponentiationPrecompiledContract.extractParameter( input, clampedToInt(exponentOffset), clampedToInt(firstExponentBytesCap)); final long adjustedExponentLength = adjustedExponentLength(exponentLength, firstExpBytes); - long multiplicationComplexity = (Math.max(modulusLength, baseLength) + 7L) / 8L; - multiplicationComplexity = - Words.clampedMultiply(multiplicationComplexity, multiplicationComplexity); long gasRequirement = clampedMultiply(multiplicationComplexity, Math.max(adjustedExponentLength, 1L)); diff --git a/evm/src/main/java/org/hyperledger/besu/evm/operation/ChainIdOperation.java b/evm/src/main/java/org/hyperledger/besu/evm/operation/ChainIdOperation.java index 66918298fa9..f807d745979 100644 --- a/evm/src/main/java/org/hyperledger/besu/evm/operation/ChainIdOperation.java +++ b/evm/src/main/java/org/hyperledger/besu/evm/operation/ChainIdOperation.java @@ -18,11 +18,15 @@ import org.hyperledger.besu.evm.frame.MessageFrame; import org.hyperledger.besu.evm.gascalculator.GasCalculator; +import org.apache.tuweni.bytes.Bytes; import org.apache.tuweni.bytes.Bytes32; /** The Chain id operation. */ public class ChainIdOperation extends AbstractFixedCostOperation { + /** The CHAINID Opcode number */ + public static final int OPCODE = 0x46; + private final Bytes32 chainId; /** @@ -32,10 +36,19 @@ public class ChainIdOperation extends AbstractFixedCostOperation { * @param chainId the chain id */ public ChainIdOperation(final GasCalculator gasCalculator, final Bytes32 chainId) { - super(0x46, "CHAINID", 0, 1, gasCalculator, gasCalculator.getBaseTierGasCost()); + super(OPCODE, "CHAINID", 0, 1, gasCalculator, gasCalculator.getBaseTierGasCost()); this.chainId = chainId; } + /** + * Returns the chain ID this operation uses + * + * @return then chainID; + */ + public Bytes getChainId() { + return chainId; + } + @Override public Operation.OperationResult executeFixedCostOperation( final MessageFrame frame, final EVM evm) { diff --git a/evm/src/main/java/org/hyperledger/besu/evm/operation/SelfDestructOperation.java b/evm/src/main/java/org/hyperledger/besu/evm/operation/SelfDestructOperation.java index 3f29fcea57e..453dff9ce50 100644 --- a/evm/src/main/java/org/hyperledger/besu/evm/operation/SelfDestructOperation.java +++ b/evm/src/main/java/org/hyperledger/besu/evm/operation/SelfDestructOperation.java @@ -61,7 +61,8 @@ public OperationResult execute(final MessageFrame frame, final EVM evm) { frame.warmUpAddress(beneficiaryAddress) || gasCalculator().isPrecompile(beneficiaryAddress); final Address originatorAddress = frame.getRecipientAddress(); - final Wei originatorBalance = frame.getWorldUpdater().get(originatorAddress).getBalance(); + final MutableAccount originatorAccount = frame.getWorldUpdater().getAccount(originatorAddress); + final Wei originatorBalance = originatorAccount.getBalance(); final long cost = gasCalculator().selfDestructOperationGasCost(beneficiaryNullable, originatorBalance) @@ -75,7 +76,6 @@ public OperationResult execute(final MessageFrame frame, final EVM evm) { } // We passed preliminary checks, get mutable accounts. - final MutableAccount originatorAccount = frame.getWorldUpdater().getAccount(originatorAddress); final MutableAccount beneficiaryAccount = frame.getWorldUpdater().getOrCreate(beneficiaryAddress); @@ -86,8 +86,8 @@ public OperationResult execute(final MessageFrame frame, final EVM evm) { // If we are actually destroying the originator (pre-Cancun or same-tx-create) we need to // explicitly zero out the account balance (destroying ether/value if the originator is the // beneficiary) as well as tag it for later self-destruct cleanup. - if (!eip6780Semantics || frame.wasCreatedInTransaction(originatorAddress)) { - frame.addSelfDestruct(originatorAddress); + if (!eip6780Semantics || frame.wasCreatedInTransaction(originatorAccount.getAddress())) { + frame.addSelfDestruct(originatorAccount.getAddress()); originatorAccount.setBalance(Wei.ZERO); } diff --git a/evm/src/main/java/org/hyperledger/besu/evm/processor/MessageCallProcessor.java b/evm/src/main/java/org/hyperledger/besu/evm/processor/MessageCallProcessor.java index 0c100e33407..1963bba8a5c 100644 --- a/evm/src/main/java/org/hyperledger/besu/evm/processor/MessageCallProcessor.java +++ b/evm/src/main/java/org/hyperledger/besu/evm/processor/MessageCallProcessor.java @@ -151,12 +151,6 @@ private void executePrecompile( final OperationTracer operationTracer) { final long gasRequirement = contract.gasRequirement(frame.getInputData()); if (frame.getRemainingGas() < gasRequirement) { - LOG.trace( - "Not enough gas available for pre-compiled contract code {}: requiring " - + "{} but only {} gas available", - contract, - gasRequirement, - frame.getRemainingGas()); frame.setExceptionalHaltReason(Optional.of(ExceptionalHaltReason.INSUFFICIENT_GAS)); frame.setState(MessageFrame.State.EXCEPTIONAL_HALT); } else { @@ -174,11 +168,6 @@ private void executePrecompile( } frame.setState(result.getState()); frame.setExceptionalHaltReason(result.getHaltReason()); - LOG.trace( - "Precompiled contract {} {} (gasComsumed: {})", - contract.getName(), - result.getState(), - result.isRefundGas() ? 0L : gasRequirement); } } } diff --git a/evm/src/test/java/org/hyperledger/besu/evm/StandardJsonTracerTest.java b/evm/src/test/java/org/hyperledger/besu/evm/StandardJsonTracerTest.java index 9ba9ebf96ae..95772986814 100644 --- a/evm/src/test/java/org/hyperledger/besu/evm/StandardJsonTracerTest.java +++ b/evm/src/test/java/org/hyperledger/besu/evm/StandardJsonTracerTest.java @@ -21,7 +21,6 @@ import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.evm.fluent.EVMExecutor; -import org.hyperledger.besu.evm.internal.EvmConfiguration; import org.hyperledger.besu.evm.tracing.StandardJsonTracer; import java.io.ByteArrayOutputStream; @@ -37,7 +36,7 @@ void eip3155ModifiedTestCase() { ByteArrayOutputStream baos = new ByteArrayOutputStream(); PrintStream out = new PrintStream(baos); - var executor = EVMExecutor.istanbul(EvmConfiguration.DEFAULT); + var executor = EVMExecutor.evm(EvmSpecVersion.ISTANBUL); StandardJsonTracer tracer = new StandardJsonTracer(out, true, true, true, false); executor.tracer(tracer); executor.gas(10_000_000_000L); @@ -82,7 +81,7 @@ void updatedStorageTestCase() { ByteArrayOutputStream baos = new ByteArrayOutputStream(); PrintStream out = new PrintStream(baos); - var executor = EVMExecutor.istanbul(EvmConfiguration.DEFAULT); + var executor = EVMExecutor.evm(EvmSpecVersion.ISTANBUL); StandardJsonTracer tracer = new StandardJsonTracer(out, false, false, false, true); executor.tracer(tracer); executor.gas(10_000_000_000L); diff --git a/evm/src/test/java/org/hyperledger/besu/evm/fluent/EVMExecutorTest.java b/evm/src/test/java/org/hyperledger/besu/evm/fluent/EVMExecutorTest.java new file mode 100644 index 00000000000..176f0070980 --- /dev/null +++ b/evm/src/test/java/org/hyperledger/besu/evm/fluent/EVMExecutorTest.java @@ -0,0 +1,229 @@ +/* + * Copyright contributors to Hyperledger Besu + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.evm.fluent; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertThrows; + +import org.hyperledger.besu.datatypes.Address; +import org.hyperledger.besu.datatypes.Hash; +import org.hyperledger.besu.datatypes.Wei; +import org.hyperledger.besu.evm.EVM; +import org.hyperledger.besu.evm.EvmSpecVersion; +import org.hyperledger.besu.evm.code.CodeFactory; +import org.hyperledger.besu.evm.frame.MessageFrame; +import org.hyperledger.besu.evm.gascalculator.FrontierGasCalculator; +import org.hyperledger.besu.evm.internal.EvmConfiguration; +import org.hyperledger.besu.evm.operation.OperationRegistry; +import org.hyperledger.besu.evm.precompile.PrecompileContractRegistry; +import org.hyperledger.besu.evm.processor.ContractCreationProcessor; +import org.hyperledger.besu.evm.processor.MessageCallProcessor; +import org.hyperledger.besu.evm.tracing.StandardJsonTracer; + +import java.math.BigInteger; +import java.util.List; +import java.util.Optional; +import java.util.Set; + +import com.google.common.collect.MultimapBuilder; +import org.apache.tuweni.bytes.Bytes; +import org.apache.tuweni.bytes.Bytes32; +import org.jetbrains.annotations.NotNull; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.EnumSource; + +class EVMExecutorTest { + + @Test + void currentEVM() { + var subject = EVMExecutor.evm(); + assertThat(subject.getEVMVersion()).isEqualTo(EvmSpecVersion.SHANGHAI); + } + + @ParameterizedTest + @EnumSource(EvmSpecVersion.class) + void evmByRequest(final EvmSpecVersion version) { + var subject = EVMExecutor.evm(version); + assertThat(subject.getEVMVersion()).isEqualTo(version); + } + + @ParameterizedTest + @EnumSource(EvmSpecVersion.class) + void evmWithChainIDByRequest(final EvmSpecVersion version) { + var subject = EVMExecutor.evm(version, BigInteger.TEN); + assertThat(subject.getEVMVersion()).isEqualTo(version); + if (EvmSpecVersion.ISTANBUL.compareTo(version) <= 0) { + assertThat(subject.getChainId()).map(Bytes::trimLeadingZeros).map(Bytes::toInt).contains(10); + } else { + assertThat(subject.getChainId()).isEmpty(); + } + } + + @ParameterizedTest + @EnumSource(EvmSpecVersion.class) + void evmWithChainIDByBytes(final EvmSpecVersion version) { + var subject = EVMExecutor.evm(version, Bytes.fromHexString("0xc4a1201d")); + assertThat(subject.getEVMVersion()).isEqualTo(version); + if (EvmSpecVersion.ISTANBUL.compareTo(version) <= 0) { + assertThat(subject.getChainId()) + .map(Bytes::trimLeadingZeros) + .map(Bytes::toInt) + .contains(0xc4a1201d); + } else { + assertThat(subject.getChainId()).isEmpty(); + } + } + + @Test + void customEVM() { + var subject = + EVMExecutor.evm( + new EVM( + new OperationRegistry(), + new FrontierGasCalculator(), + EvmConfiguration.DEFAULT, + EvmSpecVersion.EXPERIMENTAL_EIPS)); + assertThat(subject).isNotNull(); + } + + @Test + void nullEVM() { + assertThrows(NullPointerException.class, () -> EVMExecutor.evm((EVM) null)); + } + + @SuppressWarnings({"removal", "InlineMeInliner"}) + @Test + void defaultChainIdAPIs() { + Bytes32 defaultChainId = Bytes32.leftPad(Bytes.of(1)); + + EVMExecutor istanbulEVM = EVMExecutor.istanbul(EvmConfiguration.DEFAULT); + assertThat(istanbulEVM.getChainId()).contains(defaultChainId); + + EVMExecutor berlinEVM = EVMExecutor.berlin(EvmConfiguration.DEFAULT); + assertThat(berlinEVM.getChainId()).contains(defaultChainId); + + EVMExecutor londonEVM = EVMExecutor.london(EvmConfiguration.DEFAULT); + assertThat(londonEVM.getChainId()).contains(defaultChainId); + + EVMExecutor parisEVM = EVMExecutor.paris(EvmConfiguration.DEFAULT); + assertThat(parisEVM.getChainId()).contains(defaultChainId); + + EVMExecutor shanghaiEVM = EVMExecutor.shanghai(EvmConfiguration.DEFAULT); + assertThat(shanghaiEVM.getChainId()).contains(defaultChainId); + + EVMExecutor cancunEVM = EVMExecutor.cancun(EvmConfiguration.DEFAULT); + assertThat(cancunEVM.getChainId()).contains(defaultChainId); + + EVMExecutor futureEipsVM = EVMExecutor.futureEips(EvmConfiguration.DEFAULT); + assertThat(futureEipsVM.getChainId()).contains(defaultChainId); + } + + @Test + void executeCode() { + var result = + EVMExecutor.evm(EvmSpecVersion.SHANGHAI) + .worldUpdater(createSimpleWorld().updater()) + .execute( + CodeFactory.createCode(Bytes.fromHexString("0x6001600255"), 1, false), + Bytes.EMPTY, + Wei.ZERO, + Address.ZERO); + assertThat(result).isNotNull(); + } + + @Test + void executeBytes() { + var result = + EVMExecutor.evm(EvmSpecVersion.SHANGHAI) + .worldUpdater(createSimpleWorld().updater()) + .execute(Bytes.fromHexString("0x6001600255"), Bytes.EMPTY, Wei.ZERO, Address.ZERO); + assertThat(result).isNotNull(); + } + + @Test + void giantExecuteStack() { + SimpleWorld simpleWorld = createSimpleWorld(); + + var tracer = new StandardJsonTracer(System.out, false, true, true, false); + var result = + EVMExecutor.evm(EvmSpecVersion.SHANGHAI) + .messageFrameType(MessageFrame.Type.CONTRACT_CREATION) + .worldUpdater(simpleWorld.updater()) + .tracer(tracer) + .contract(Address.fromHexString("0x100")) + .gas(15_000_000L) + .sender(Address.fromHexString("0x200")) + .receiver(Address.fromHexString("0x300")) + .coinbase(Address.fromHexString("0x400")) + .number(1) + .timestamp(9999) + .gasLimit(15_000_000) + .commitWorldState() + .gasPriceGWei(Wei.ONE) + .blobGasPrice(Wei.ONE) + .callData(Bytes.fromHexString("0x12345678")) + .ethValue(Wei.fromEth(1)) + .code(CodeFactory.createCode(Bytes.fromHexString("0x6001600255"), 0, false)) + .blockValues(new SimpleBlockValues()) + .difficulty(Bytes.ofUnsignedLong(1L)) + .mixHash(Bytes32.ZERO) + .baseFee(Wei.ONE) + .number(1) + .timestamp(100L) + .gasLimit(15_000_000L) + .blockHashLookup(number -> Hash.ZERO) + .versionedHashes(Optional.empty()) + .precompileContractRegistry(new PrecompileContractRegistry()) + .requireDeposit(false) + .initialNonce(42) + .contractValidationRules(List.of()) + .forceCommitAddresses(List.of()) + .warmAddress(Address.ZERO) + .accessListWarmStorage( + Address.ZERO, Bytes32.ZERO, Bytes32.leftPad(Bytes.ofUnsignedLong(2L))) + .messageCallProcessor(new MessageCallProcessor(null, null)) + .contractCallProcessor(new ContractCreationProcessor(null, null, true, null, 1L)) + .execute(); + assertThat(result).isNotNull(); + } + + @Test + void anternateExecStack() { + SimpleWorld simpleWorld = createSimpleWorld(); + var result = + EVMExecutor.evm(EvmSpecVersion.SHANGHAI) + .worldUpdater(simpleWorld.updater()) + .messageFrameType(MessageFrame.Type.MESSAGE_CALL) + .code(Bytes.fromHexString("0x6001600255")) + .prevRandao(Bytes32.ZERO) + .accessListWarmAddresses(Set.of()) + .accessListWarmStorage(MultimapBuilder.linkedHashKeys().arrayListValues().build()) + .execute(); + assertThat(result).isNotNull(); + } + + @NotNull + private static SimpleWorld createSimpleWorld() { + SimpleWorld simpleWorld = new SimpleWorld(); + + simpleWorld.createAccount(Address.fromHexString("0x0"), 1, Wei.fromEth(100)); + simpleWorld.createAccount(Address.fromHexString("0x100"), 1, Wei.fromEth(100)); + simpleWorld.createAccount(Address.fromHexString("0x200"), 1, Wei.fromEth(100)); + simpleWorld.createAccount(Address.fromHexString("0x300"), 1, Wei.fromEth(100)); + simpleWorld.createAccount(Address.fromHexString("0x400"), 1, Wei.fromEth(100)); + return simpleWorld; + } +} diff --git a/evm/src/test/java/org/hyperledger/besu/evm/operations/SelfDestructOperationTest.java b/evm/src/test/java/org/hyperledger/besu/evm/operations/SelfDestructOperationTest.java index 6c178dda2a9..913ffd92bc9 100644 --- a/evm/src/test/java/org/hyperledger/besu/evm/operations/SelfDestructOperationTest.java +++ b/evm/src/test/java/org/hyperledger/besu/evm/operations/SelfDestructOperationTest.java @@ -96,11 +96,11 @@ void checkContractDeletionCommon( } when(worldUpdater.getAccount(originatorAddress)).thenReturn(accountOriginator); - when(worldUpdater.get(originatorAddress)).thenReturn(accountOriginator); if (!originatorAddress.equals(beneficiaryAddress)) { when(worldUpdater.get(beneficiaryAddress)).thenReturn(accountBeneficiary); } when(worldUpdater.getOrCreate(beneficiaryAddress)).thenReturn(accountBeneficiary); + when(accountOriginator.getAddress()).thenReturn(originatorAddress); when(accountOriginator.getBalance()).thenReturn(Wei.fromHexString(balanceHex)); final Operation.OperationResult operationResult = operation.execute(messageFrame, evm); diff --git a/evm/src/test/java/org/hyperledger/besu/evm/processor/AbstractMessageProcessorTest.java b/evm/src/test/java/org/hyperledger/besu/evm/processor/AbstractMessageProcessorTest.java index 7932741b3d7..598758fb752 100644 --- a/evm/src/test/java/org/hyperledger/besu/evm/processor/AbstractMessageProcessorTest.java +++ b/evm/src/test/java/org/hyperledger/besu/evm/processor/AbstractMessageProcessorTest.java @@ -26,9 +26,9 @@ import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Wei; +import org.hyperledger.besu.evm.EvmSpecVersion; import org.hyperledger.besu.evm.fluent.EVMExecutor; import org.hyperledger.besu.evm.frame.MessageFrame; -import org.hyperledger.besu.evm.internal.EvmConfiguration; import org.hyperledger.besu.evm.operation.Operation; import org.hyperledger.besu.evm.tracing.OperationTracer; import org.hyperledger.besu.evm.worldstate.WorldUpdater; @@ -99,7 +99,7 @@ void shouldTraceContextIfStackSizeIsGreaterZeroAndFailure(final int stackSize) { @Test void shouldTraceContextEnterExitForEip3155Test() { - final EVMExecutor executor = EVMExecutor.shanghai(EvmConfiguration.DEFAULT); + final EVMExecutor executor = EVMExecutor.evm(EvmSpecVersion.SHANGHAI); final ContextTracer contextTracer = new ContextTracer(); executor.tracer(contextTracer); diff --git a/plugin-api/build.gradle b/plugin-api/build.gradle index 79b4cbee850..b29b2c0e78e 100644 --- a/plugin-api/build.gradle +++ b/plugin-api/build.gradle @@ -69,7 +69,7 @@ Calculated : ${currentHash} tasks.register('checkAPIChanges', FileStateChecker) { description = "Checks that the API for the Plugin-API project does not change without deliberate thought" files = sourceSets.main.allJava.files - knownHash = 'gfZY0boUMYJoAHwou3eEhcz7A/xFvJKnjMUONZ6hY3I=' + knownHash = 'IPqcFdM1uy+ZDbcvzsKxMIrzhP9VoaSeanhBOLtbhfE=' } check.dependsOn('checkAPIChanges') diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/TransactionProcessingResult.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/TransactionProcessingResult.java new file mode 100644 index 00000000000..22f35ea37bc --- /dev/null +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/TransactionProcessingResult.java @@ -0,0 +1,91 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.plugin.data; + +import org.hyperledger.besu.evm.log.Log; + +import java.util.List; +import java.util.Optional; + +import org.apache.tuweni.bytes.Bytes; + +/** + * This interface represents the result of processing a transaction. It provides methods to access + * various details about the transaction processing result such as logs, gas remaining, output, and + * status. + */ +public interface TransactionProcessingResult { + + /** + * Return the logs produced by the transaction. + * + *

This is only valid when {@code TransactionProcessor#isSuccessful} returns {@code true}. + * + * @return the logs produced by the transaction + */ + List getLogs(); + + /** + * Returns the gas remaining after the transaction was processed. + * + *

This is only valid when {@code TransactionProcessor#isSuccessful} returns {@code true}. + * + * @return the gas remaining after the transaction was processed + */ + long getGasRemaining(); + + /** + * Returns the estimate gas used by the transaction, the difference between the transactions gas + * limit and the remaining gas + * + * @return the estimate gas used + */ + long getEstimateGasUsedByTransaction(); + + /** + * Returns the output. + * + * @return the output. + */ + Bytes getOutput(); + + /** + * Returns whether the transaction was invalid. + * + * @return {@code true} if the transaction was invalid; otherwise {@code false} + */ + boolean isInvalid(); + + /** + * Returns whether the transaction was successfully processed. + * + * @return {@code true} if the transaction was successfully processed; otherwise {@code false} + */ + boolean isSuccessful(); + + /** + * Returns whether the transaction failed. + * + * @return {@code true} if the transaction failed; otherwise {@code false} + */ + boolean isFailed(); + + /** + * Returns the reason why a transaction was reverted (if applicable). + * + * @return the revert reason. + */ + Optional getRevertReason(); +} diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/TransactionSelector.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/TransactionSelector.java index 601158a0fa2..76d1a4b2db8 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/TransactionSelector.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/TransactionSelector.java @@ -17,6 +17,7 @@ import org.hyperledger.besu.datatypes.PendingTransaction; import org.hyperledger.besu.plugin.Unstable; +import org.hyperledger.besu.plugin.data.TransactionProcessingResult; import org.hyperledger.besu.plugin.data.TransactionSelectionResult; /** Interface for the transaction selector */ @@ -31,4 +32,15 @@ public interface TransactionSelector { */ TransactionSelectionResult evaluateTransactionPreProcessing( PendingTransaction pendingTransaction); + + /** + * Method called to decide whether a processed transaction is added to a block. The result can + * also indicate that no further transactions can be added to the block. + * + * @param pendingTransaction candidate transaction + * @param processingResult the transaction processing result + * @return TransactionSelectionResult that indicates whether to include the transaction + */ + TransactionSelectionResult evaluateTransactionPostProcessing( + PendingTransaction pendingTransaction, TransactionProcessingResult processingResult); } diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/TransactionSelectorFactory.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/TransactionSelectorFactory.java index 1d4234acc9e..81fb2a5512b 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/TransactionSelectorFactory.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/TransactionSelectorFactory.java @@ -17,14 +17,16 @@ import org.hyperledger.besu.plugin.Unstable; +import java.util.List; + /** Interface for a factory that creates transaction selectors */ @Unstable public interface TransactionSelectorFactory { /** - * Create a transaction selector + * Create a list of transaction selectors * - * @return the transaction selector + * @return the transaction selector list */ - TransactionSelector create(); + List create(); } From 1f976af446fa43888be551d2c3d3e3d178a23788 Mon Sep 17 00:00:00 2001 From: Fabio Di Fabio Date: Thu, 5 Oct 2023 16:23:47 +0200 Subject: [PATCH 35/40] Set version to 23.10.0-RC (#5991) Signed-off-by: Fabio Di Fabio --- CHANGELOG.md | 2 +- gradle.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d46af4a852..b48464c054e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## Next release +## 23.10.0-RC ### Breaking Changes - Removed support for Kotti network (ETC) [#5816](https://github.com/hyperledger/besu/pull/5816) diff --git a/gradle.properties b/gradle.properties index 4c525f654b3..b87d57af875 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=23.7.4-SNAPSHOT +version=23.10.0-RC org.gradle.welcome=never # Set exports/opens flags required by Google Java Format and ErrorProne plugins. (JEP-396) From 44a7742aaf5226f41002c5cb4d63a1c2a7c64d1b Mon Sep 17 00:00:00 2001 From: Fabio Di Fabio Date: Mon, 9 Oct 2023 14:33:53 +0200 Subject: [PATCH 36/40] Change Array Copying (#5998) (#6002) * Change Array Copying Change array copying by re-using arrays when safe. * spotless * different bigint API * straddle case * less stack traces * spotless --------- Signed-off-by: Danno Ferrin Co-authored-by: Danno Ferrin --- .../besu/evmtool/EvmToolCommand.java | 3 +- .../vm/BlockchainReferenceTestTools.java | 2 +- .../hyperledger/besu/evm/frame/Memory.java | 4 ++- .../hyperledger/besu/evm/internal/Words.java | 28 +++++++++++++------ .../AltBN128MulPrecompiledContract.java | 2 +- .../AltBN128PairingPrecompiledContract.java | 2 +- .../BLAKE2BFPrecompileContract.java | 2 +- ...ularExponentiationPrecompiledContract.java | 12 +++++--- .../KZGPointEvalPrecompiledContract.java | 2 +- .../besu/evm/toy/EvmToyCommand.java | 3 +- gradle.properties | 2 +- 11 files changed, 40 insertions(+), 22 deletions(-) diff --git a/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/EvmToolCommand.java b/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/EvmToolCommand.java index e55c36721b0..4f2c2a5a5fb 100644 --- a/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/EvmToolCommand.java +++ b/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/EvmToolCommand.java @@ -424,7 +424,8 @@ public void run() { out.println(messageFrame.getExceptionalHaltReason().get()); } if (messageFrame.getRevertReason().isPresent()) { - out.println(new String(messageFrame.getRevertReason().get().toArray(), UTF_8)); + out.println( + new String(messageFrame.getRevertReason().get().toArrayUnsafe(), UTF_8)); } } } diff --git a/ethereum/referencetests/src/reference-test/java/org/hyperledger/besu/ethereum/vm/BlockchainReferenceTestTools.java b/ethereum/referencetests/src/reference-test/java/org/hyperledger/besu/ethereum/vm/BlockchainReferenceTestTools.java index 266f8bb6a38..9d6f7982d8d 100644 --- a/ethereum/referencetests/src/reference-test/java/org/hyperledger/besu/ethereum/vm/BlockchainReferenceTestTools.java +++ b/ethereum/referencetests/src/reference-test/java/org/hyperledger/besu/ethereum/vm/BlockchainReferenceTestTools.java @@ -87,7 +87,7 @@ public class BlockchainReferenceTestTools { params.ignore("blockWithAllTransactionTypes"); // EIP-4788 is still in flux and the current fill is not against the final address - params.ignore("[Cancun]"); + params.ignore("\\[Cancun\\]"); // EOF tests are written against an older version of the spec params.ignore("/stEOF/"); diff --git a/evm/src/main/java/org/hyperledger/besu/evm/frame/Memory.java b/evm/src/main/java/org/hyperledger/besu/evm/frame/Memory.java index ac503ad0908..ac5aa396b88 100644 --- a/evm/src/main/java/org/hyperledger/besu/evm/frame/Memory.java +++ b/evm/src/main/java/org/hyperledger/besu/evm/frame/Memory.java @@ -14,6 +14,8 @@ */ package org.hyperledger.besu.evm.frame; +import org.hyperledger.besu.evm.internal.Words; + import java.util.Arrays; import org.apache.tuweni.bytes.Bytes; @@ -100,7 +102,7 @@ long calculateNewActiveWords(final long location, final long numBytes) { } try { - final long byteSize = Math.addExact(Math.addExact(location, numBytes), 31); + final long byteSize = Words.clampedAdd(Words.clampedAdd(location, numBytes), 31); long wordSize = byteSize / 32; return Math.max(wordSize, activeWords); } catch (ArithmeticException ae) { diff --git a/evm/src/main/java/org/hyperledger/besu/evm/internal/Words.java b/evm/src/main/java/org/hyperledger/besu/evm/internal/Words.java index 965573c9953..71d599d0a2b 100644 --- a/evm/src/main/java/org/hyperledger/besu/evm/internal/Words.java +++ b/evm/src/main/java/org/hyperledger/besu/evm/internal/Words.java @@ -117,10 +117,12 @@ static int clampedToInt(final long l) { * @return value of a plus b if no over/underflows or Long.MAX_VALUE/Long.MIN_VALUE otherwise */ static long clampedAdd(final long a, final long b) { - try { - return Math.addExact(a, b); - } catch (final ArithmeticException ae) { + long r = a + b; + if (((a ^ r) & (b ^ r)) < 0) { + // out of bounds, clamp it! return a > 0 ? Long.MAX_VALUE : Long.MIN_VALUE; + } else { + return r; } } @@ -132,10 +134,15 @@ static long clampedAdd(final long a, final long b) { * @return value of a times b if no over/underflows or Long.MAX_VALUE/Long.MIN_VALUE otherwise */ static long clampedMultiply(final long a, final long b) { - try { - return Math.multiplyExact(a, b); - } catch (final ArithmeticException ae) { + long r = a * b; + long ax = Math.abs(a); + long ay = Math.abs(b); + if (((ax | ay) >>> 31 != 0) + && (((b != 0) && (r / b != a)) || (a == Long.MIN_VALUE && b == -1))) { + // out of bounds, clamp it! return ((a ^ b) < 0) ? Long.MIN_VALUE : Long.MAX_VALUE; + } else { + return r; } } @@ -148,9 +155,12 @@ static long clampedMultiply(final long a, final long b) { * otherwise */ static int clampedMultiply(final int a, final int b) { - try { - return Math.multiplyExact(a, b); - } catch (final ArithmeticException ae) { + long r = (long) a * (long) b; + int ri = (int) r; + if (ri == r) { + return ri; + } else { + // out of bounds, clamp it! return ((a ^ b) < 0) ? Integer.MIN_VALUE : Integer.MAX_VALUE; } } diff --git a/evm/src/main/java/org/hyperledger/besu/evm/precompile/AltBN128MulPrecompiledContract.java b/evm/src/main/java/org/hyperledger/besu/evm/precompile/AltBN128MulPrecompiledContract.java index 0b8da1a3e40..73b824f763f 100644 --- a/evm/src/main/java/org/hyperledger/besu/evm/precompile/AltBN128MulPrecompiledContract.java +++ b/evm/src/main/java/org/hyperledger/besu/evm/precompile/AltBN128MulPrecompiledContract.java @@ -112,7 +112,7 @@ private static BigInteger extractParameter( if (offset > input.size() || length == 0) { return BigInteger.ZERO; } - final byte[] raw = Arrays.copyOfRange(input.toArray(), offset, offset + length); + final byte[] raw = Arrays.copyOfRange(input.toArrayUnsafe(), offset, offset + length); return new BigInteger(1, raw); } } diff --git a/evm/src/main/java/org/hyperledger/besu/evm/precompile/AltBN128PairingPrecompiledContract.java b/evm/src/main/java/org/hyperledger/besu/evm/precompile/AltBN128PairingPrecompiledContract.java index fd5205b3098..992544d5c0e 100644 --- a/evm/src/main/java/org/hyperledger/besu/evm/precompile/AltBN128PairingPrecompiledContract.java +++ b/evm/src/main/java/org/hyperledger/besu/evm/precompile/AltBN128PairingPrecompiledContract.java @@ -151,7 +151,7 @@ private static BigInteger extractParameter( if (offset > input.size() || length == 0) { return BigInteger.ZERO; } - final byte[] raw = Arrays.copyOfRange(input.toArray(), offset, offset + length); + final byte[] raw = Arrays.copyOfRange(input.toArrayUnsafe(), offset, offset + length); return new BigInteger(1, raw); } } diff --git a/evm/src/main/java/org/hyperledger/besu/evm/precompile/BLAKE2BFPrecompileContract.java b/evm/src/main/java/org/hyperledger/besu/evm/precompile/BLAKE2BFPrecompileContract.java index de7152d6048..44707525d85 100644 --- a/evm/src/main/java/org/hyperledger/besu/evm/precompile/BLAKE2BFPrecompileContract.java +++ b/evm/src/main/java/org/hyperledger/besu/evm/precompile/BLAKE2BFPrecompileContract.java @@ -57,7 +57,7 @@ public long gasRequirement(final Bytes input) { return 0L; } - final byte[] roundsBytes = copyOfRange(input.toArray(), 0, 4); + final byte[] roundsBytes = copyOfRange(input.toArrayUnsafe(), 0, 4); final BigInteger rounds = new BigInteger(1, roundsBytes); return rounds.longValueExact(); } diff --git a/evm/src/main/java/org/hyperledger/besu/evm/precompile/BigIntegerModularExponentiationPrecompiledContract.java b/evm/src/main/java/org/hyperledger/besu/evm/precompile/BigIntegerModularExponentiationPrecompiledContract.java index 669edc78103..ffb82f078cd 100644 --- a/evm/src/main/java/org/hyperledger/besu/evm/precompile/BigIntegerModularExponentiationPrecompiledContract.java +++ b/evm/src/main/java/org/hyperledger/besu/evm/precompile/BigIntegerModularExponentiationPrecompiledContract.java @@ -25,7 +25,6 @@ import org.hyperledger.besu.nativelib.arithmetic.LibArithmetic; import java.math.BigInteger; -import java.util.Arrays; import java.util.Optional; import javax.annotation.Nonnull; @@ -200,11 +199,16 @@ public static long modulusLength(final Bytes input) { * @return the big integer */ public static BigInteger extractParameter(final Bytes input, final int offset, final int length) { - if (offset > input.size() || length == 0) { + if (offset >= input.size() || length == 0) { return BigInteger.ZERO; + } else if (offset + length < input.size()) { + return new BigInteger(1, input.slice(offset, length).toArray()); + } else { + byte[] raw = new byte[length]; + Bytes partial = input.slice(offset); + System.arraycopy(partial.toArray(), 0, raw, 0, partial.size()); + return new BigInteger(1, raw); } - final byte[] raw = Arrays.copyOfRange(input.toArray(), offset, offset + length); - return new BigInteger(1, raw); } /** diff --git a/evm/src/main/java/org/hyperledger/besu/evm/precompile/KZGPointEvalPrecompiledContract.java b/evm/src/main/java/org/hyperledger/besu/evm/precompile/KZGPointEvalPrecompiledContract.java index 4383b44ddb2..bd5747f3b29 100644 --- a/evm/src/main/java/org/hyperledger/besu/evm/precompile/KZGPointEvalPrecompiledContract.java +++ b/evm/src/main/java/org/hyperledger/besu/evm/precompile/KZGPointEvalPrecompiledContract.java @@ -115,7 +115,7 @@ public PrecompileContractResult computePrecompile( return PrecompileContractResult.halt( null, Optional.of(ExceptionalHaltReason.PRECOMPILE_ERROR)); } else { - byte[] hash = Hash.sha256(commitment).toArray(); + byte[] hash = Hash.sha256(commitment).toArrayUnsafe(); hash[0] = 0x01; if (!versionedHash.equals(Bytes32.wrap(hash))) { return PrecompileContractResult.halt( diff --git a/evm/src/test/java/org/hyperledger/besu/evm/toy/EvmToyCommand.java b/evm/src/test/java/org/hyperledger/besu/evm/toy/EvmToyCommand.java index 368dbffabd0..54060c9f341 100644 --- a/evm/src/test/java/org/hyperledger/besu/evm/toy/EvmToyCommand.java +++ b/evm/src/test/java/org/hyperledger/besu/evm/toy/EvmToyCommand.java @@ -211,7 +211,8 @@ public void run() { } if (messageFrame.getRevertReason().isPresent()) { out.println( - new String(messageFrame.getRevertReason().get().toArray(), StandardCharsets.UTF_8)); + new String( + messageFrame.getRevertReason().get().toArrayUnsafe(), StandardCharsets.UTF_8)); } } if (messageFrameStack.isEmpty()) { diff --git a/gradle.properties b/gradle.properties index b87d57af875..01fc7a14b8b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=23.10.0-RC +version=23.10.0-RC2 org.gradle.welcome=never # Set exports/opens flags required by Google Java Format and ErrorProne plugins. (JEP-396) From a4575979940732ff3fd4f9578e72eb567fed8b38 Mon Sep 17 00:00:00 2001 From: Fabio Di Fabio Date: Tue, 10 Oct 2023 18:04:24 +0200 Subject: [PATCH 37/40] Describe the migration to and how to configure the layered txpool (#6006) Signed-off-by: Fabio Di Fabio --- CHANGELOG.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b48464c054e..55a535f3d91 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,27 @@ # Changelog ## 23.10.0-RC +### Layered Transaction Pool: the new default transaction pool implementation +With this release the previously experimental Layered txpool is marked stable and enabled by default, so please read the following instructions if you used to tune txpool behaviour, +otherwise you can simply go with the default and enjoy the improved performance of the new txpool. + +#### Upgrading to Layered Transaction Pool +If you do not specify any txpool option, then you can skip this section. +If you have tuned the txpool using one of these options: `tx-pool-retention-hours`, `tx-pool-limit-by-account-percentage` or `tx-pool-max-size`, +then you need to update your configuration as described below: +- `tx-pool-retention-hours`: simply remove it, since it is not applicable in the Layered txpool, old transactions will eventually expire when the memory cache is full. +- `tx-pool-limit-by-account-percentage`: replace it with `tx-pool-max-future-by-sender`, which specify the max number of sequential transactions of single sender are kept in the txpool, by default it is 200. +- `tx-pool-max-size`: the Layered txpool is not limited by a max number of transactions, but by the estimated memory size the transactions occupy, so you need to remove this option, and to tune the max amount of memory* use the new option `tx-pool-layer-max-capacity` as described below. + +You can still opt-out of the Layered txpool, setting `tx-pool=legacy` in config file or via cli argument, but be warned that the Legacy implementation will be deprecated for removal soon, so start testing the new implementation. + +#### Configuring the Layered Transaction Pool +By default, the txpool is tuned for mainnet usage, but if you are using private networks or want to otherwise tune it, these are the new options: +- `tx-pool-max-future-by-sender`: specify the max number of sequential transactions of a single sender are kept in the txpool, by default it is 200, increase it to allow a single sender to fit more transactions in a single block. For private networks, this can safely be set in the hundreds or thousands if you want to ensure future transactions (with large nonce gaps) remain in the pool. +- `tx-pool-layer-max-capacity`: set the max amount of memory* in bytes, a single memory limited layer can occupy, by default is 12.5MB, keep in mind that there are 2 memory limited layers, so the expected memory consumption is twice the value specified by this option, so 25MB by default. Increase this value if you have spare RAM and the eviction rate is high for your network. +- `tx-pool-max-prioritized`: set the max number of transactions allowed in the first layer, that only contains transactions that are candidate for inclusion in the next block creation task. It makes sense to limit the value to the max number of transactions that fit in a block in your network, by default is 2000. + +*: the memory used by the txpool is an estimation, we are working to make it always more accurate. ### Breaking Changes - Removed support for Kotti network (ETC) [#5816](https://github.com/hyperledger/besu/pull/5816) From da905d19ff8a6e6ba96b3a61a07795aaafe64210 Mon Sep 17 00:00:00 2001 From: Fabio Di Fabio Date: Tue, 10 Oct 2023 19:16:38 +0200 Subject: [PATCH 38/40] Set version to 23.10.0 (#6015) Signed-off-by: Fabio Di Fabio --- CHANGELOG.md | 2 +- gradle.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 55a535f3d91..2c776df174c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 23.10.0-RC +## 23.10.0 ### Layered Transaction Pool: the new default transaction pool implementation With this release the previously experimental Layered txpool is marked stable and enabled by default, so please read the following instructions if you used to tune txpool behaviour, otherwise you can simply go with the default and enjoy the improved performance of the new txpool. diff --git a/gradle.properties b/gradle.properties index 01fc7a14b8b..ff1e9a87604 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=23.10.0-RC2 +version=23.10.0 org.gradle.welcome=never # Set exports/opens flags required by Google Java Format and ErrorProne plugins. (JEP-396) From dd0e83b30c7188d95d561b5427c824944b88f841 Mon Sep 17 00:00:00 2001 From: Gabriel-Trintinalia Date: Fri, 20 Oct 2023 14:47:10 +1100 Subject: [PATCH 39/40] Cherry-pick main into release 22.10.x (#6064) * Expose getSize to transaction interface (#5983) Signed-off-by: Gabriel-Trintinalia * Add parameters to EVM library fluent API (#5930) Add the ability to configure more parameters in the fluent API. Specifically contract address, coinbase, difficulty, mixHash/prevRandao, baseFee, block number, timestamp, gas limit, previous block hashes, and versioned hashes. Also create EVM forks parametrically instead of by a method name. Signed-off-by: Danno Ferrin * Validation ordering (#5986) * re-ordering error reporting priority * fixes fork checking on getPayload * adds acceptance test reproducing an issue where built blocks have proofs > txs * test coverage and fix for subtle re-org bug prior to proposals --------- Signed-off-by: Justin Florentine Signed-off-by: Gabriel-Trintinalia * [4844] EngineNewPayload - Add Blob Count validation (#5973) Signed-off-by: Gabriel-Trintinalia * Plugin Api - Add evaluateTransactionPostProcessing to TransactionSelector interface (#5988) Signed-off-by: Gabriel-Trintinalia * Only use the builder to create transactions (#5980) Signed-off-by: Fabio Di Fabio Signed-off-by: Gabriel-Trintinalia * Bump version to 23.10.1-SNAPSHOT (#5990) Signed-off-by: Fabio Di Fabio Signed-off-by: Gabriel-Trintinalia * hive tests explicitly attempt zero (#5993) Signed-off-by: Justin Florentine Signed-off-by: Gabriel-Trintinalia * add plugins summary (#5964) Signed-off-by: Sally MacFarlane Signed-off-by: Gabriel-Trintinalia * Tests for GraphQL Cancun fields (#5975) * Tests for GraphQL Cancun fields Add tests for GraphQL fields added to support cancun. Also, re-work test case inclusion code and update tests impacted by adding a new block to the chain. Signed-off-by: Danno Ferrin * unneeded deltas in genesis file Signed-off-by: Danno Ferrin --------- Signed-off-by: Danno Ferrin Co-authored-by: Sally MacFarlane Signed-off-by: Gabriel-Trintinalia * [Plugin API] - Simplify plugin transaction selector interface to return object instead of list (#5995) Signed-off-by: Gabriel-Trintinalia * Change Array Copying (#5998) * Change Array Copying Change array copying by re-using arrays when safe. Signed-off-by: Danno Ferrin * spotless Signed-off-by: Danno Ferrin * different bigint API Signed-off-by: Danno Ferrin * straddle case Signed-off-by: Danno Ferrin * less stack traces Signed-off-by: Danno Ferrin * spotless Signed-off-by: Danno Ferrin --------- Signed-off-by: Danno Ferrin Signed-off-by: Gabriel-Trintinalia * [Plugin API] - TransactionSelector - Notify plugins when transaction is selected/rejected (#6005) Signed-off-by: Gabriel-Trintinalia * Base EIP-6110 on top of Cancun (#5752) This is to base the existed implementation of EIP-6110 from Shanghai to Cancun. As well, it updates the implementation according to the latest Engine API specification. Changes include: - Remove 6110 related changes from engine_newPayloadV2 and engine_getPayloadV2 - Rename deposits to depositReceipts in EnginePayloadParameter - Introduce engine_newPayloadV6110 and engine_getPayloadV6110 that are based on engine_newPayloadV3 and engine_getPayloadV3 - Revamp the existed 6110 acceptance test --- Signed-off-by: Navie Chan Signed-off-by: naviechan Signed-off-by: Simon Dudley Signed-off-by: Gabriel-Trintinalia * add method to disable root verification for T8n and not Reference tests (#6013) * add method to disable root verification for T8n and not Reference tests Signed-off-by: Karim TAAM Signed-off-by: Gabriel-Trintinalia * Transaction detachedCopy to optimize txpool memory usage (#5985) Signed-off-by: Fabio Di Fabio Co-authored-by: Justin Florentine Signed-off-by: Gabriel-Trintinalia * Use existing Bytes48 for KZGCommitment and KZGProof (#5997) Signed-off-by: Fabio Di Fabio Signed-off-by: Gabriel-Trintinalia * [Plugin API] - TransactionSelector - Send TransactionSelectionResult to the plugin when not transaction is not selected (#6010) Signed-off-by: Gabriel-Trintinalia * Update 23.10.0 changelog (#6017) Signed-off-by: Fabio Di Fabio Signed-off-by: Gabriel-Trintinalia * Transaction Validation and Selection Plugin API update (#6020) change Transaction Validation and Selection Plugin to make them more useful Signed-off-by: Stefan Signed-off-by: Stefan Pingel <16143240+pinges@users.noreply.github.com> Co-authored-by: Gabriel-Trintinalia Signed-off-by: Gabriel-Trintinalia * Force the use of jdk18 version of Bouncy Castle library (#5748) This avoid that any dependency can include the jdk15 version in the distribution. Signed-off-by: Fabio Di Fabio Signed-off-by: Gabriel-Trintinalia * remove code duplication (#6028) Signed-off-by: Stefan Signed-off-by: Gabriel-Trintinalia * docs: fix typo (#6029) Signed-off-by: Sally MacFarlane Co-authored-by: vuittont60 Signed-off-by: Gabriel-Trintinalia * Standardize pubkey and public key naming in deposit (#6012) --------- Signed-off-by: naviechan Signed-off-by: Navie Chan Signed-off-by: Simon Dudley Signed-off-by: Gabriel-Trintinalia * Optimize Eth_feeHistory RPC method (#6011) * Add a cache to EthFeeHistory and improve rewards algorithm * cache the rewards by hash instead of block number * Add final on some fields Signed-off-by: Ameziane H Signed-off-by: Gabriel-Trintinalia * Cache last blocks data (block headers, block bodies, transactions' receipts and total difficulty) (#6009) * Add a flag --cache-last-blocks to cache last n blocks, The default value is 0 Signed-off-by: Ameziane H Signed-off-by: Gabriel-Trintinalia * Sort only once rewardPercentiles instead of doing it for each block header (#6035) Signed-off-by: Ameziane H Signed-off-by: Gabriel-Trintinalia * link to issue 5772 (#6038) Signed-off-by: Sally MacFarlane Signed-off-by: Gabriel-Trintinalia * fix incorrect argument passing in blockParameter of TraceCallMany class (#6034) Signed-off-by: seongmin Signed-off-by: Gabriel-Trintinalia * Fix 23.10.0 Breaking Changes changelog entry (#6040) Signed-off-by: Fabio Di Fabio Signed-off-by: Gabriel-Trintinalia * Priority senders (#5959) Signed-off-by: Fabio Di Fabio Co-authored-by: Sally MacFarlane Signed-off-by: Gabriel-Trintinalia * Fcu v2 defer fork validation (#6037) * more error handling --------- Signed-off-by: Justin Florentine Signed-off-by: Gabriel-Trintinalia * Fix typos (#6036) Signed-off-by: shuoer86 <129674997+shuoer86@users.noreply.github.com> Co-authored-by: Sally MacFarlane Signed-off-by: Gabriel-Trintinalia * Add X (Twitter) to README, Fix Roadmap Hyperlink (#6047) * Add X to README, Fix Roadmap Hyperlink Signed-off-by: David Cardenas <47157243+davidcardenasus@users.noreply.github.com> * Update README Signed-off-by: David Cardenas <47157243+davidcardenasus@users.noreply.github.com> * Update README Signed-off-by: David Cardenas <47157243+davidcardenasus@users.noreply.github.com> --------- Signed-off-by: David Cardenas <47157243+davidcardenasus@users.noreply.github.com> Co-authored-by: Sally MacFarlane Signed-off-by: Gabriel-Trintinalia * Unsigned timestamps and blob gas used (#6046) * lots of places an unsigned timestamp is a problem * adds unchecked annotations to OptionalUnsignedLong rpc parameter type --------- Signed-off-by: Justin Florentine Signed-off-by: Gabriel-Trintinalia * [MINOR] ux improvements (#6049) * log command line option that is affected * made plugins summary log part of config overview * check for null plugin context Signed-off-by: Sally MacFarlane --------- Signed-off-by: Sally MacFarlane Signed-off-by: Gabriel-Trintinalia * Update changelog release (#6062) Signed-off-by: Gabriel-Trintinalia * Dencun corner cases (#6060) * cherry pick changes from https://github.com/hyperledger/besu/pull/6054/files\#diff-22b78733e37a697fa8d1d8a02d2a87fe5ccea9cf67c34ce5e6311f024c14abd6L643-R738 Signed-off-by: Sally MacFarlane * cherry pick changes from https://github.com/hyperledger/besu/pull/6054/files\#diff-61db834b59eae5ce5c438462505de1add8fa244deda830742060d15f668a9806R39-R44 Signed-off-by: Sally MacFarlane * formatting Signed-off-by: Sally MacFarlane * update the EIP-6110 acceptance tests Signed-off-by: Danno Ferrin --------- Signed-off-by: Sally MacFarlane Signed-off-by: Danno Ferrin Co-authored-by: Danno Ferrin Signed-off-by: Gabriel-Trintinalia * Update changelog and gradle properties to next release Signed-off-by: Gabriel-Trintinalia --------- Signed-off-by: Gabriel-Trintinalia Signed-off-by: Danno Ferrin Signed-off-by: Justin Florentine Signed-off-by: Fabio Di Fabio Signed-off-by: Sally MacFarlane Signed-off-by: Navie Chan Signed-off-by: naviechan Signed-off-by: Simon Dudley Signed-off-by: Karim TAAM Signed-off-by: Stefan Signed-off-by: Stefan Pingel <16143240+pinges@users.noreply.github.com> Signed-off-by: Ameziane H Signed-off-by: seongmin Signed-off-by: shuoer86 <129674997+shuoer86@users.noreply.github.com> Signed-off-by: David Cardenas <47157243+davidcardenasus@users.noreply.github.com> Co-authored-by: Danno Ferrin Co-authored-by: Justin Florentine Co-authored-by: Fabio Di Fabio Co-authored-by: Sally MacFarlane Co-authored-by: NC Co-authored-by: matkt Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com> Co-authored-by: vuittont60 Co-authored-by: ahamlat Co-authored-by: seongmin Co-authored-by: shuoer86 <129674997+shuoer86@users.noreply.github.com> Co-authored-by: David Cardenas <47157243+davidcardenasus@users.noreply.github.com> --- CHANGELOG.md | 27 +- KNOWN_ISSUES.md | 2 +- README.md | 3 +- .../dsl/node/ThreadBesuNodeRunner.java | 6 +- .../ExecutionEngineEip6110AcceptanceTest.java | 2 - .../jsonrpc/engine/eip6110/genesis.json | 45 +- .../test-cases/01_cancun_prepare_payload.json | 34 ++ .../01_shanghai_prepare_payload.json | 46 -- ...oadV2.json => 02_cancun_getPayloadV3.json} | 39 +- ...oadV2.json => 03_cancun_newPayloadV3.json} | 33 +- .../04_cancun_forkchoiceUpdatedV3.json | 28 ++ .../04_shanghai_forkchoiceUpdatedV2.json | 28 -- .../05_eip6110_forkchoiceUpdatedV3.json | 34 ++ .../05_eip6110_prepare_payload.json | 46 -- ...d.json => 06_eip6110_getPayloadV6110.json} | 40 +- .../07_eip6110_send_raw_transaction.json | 14 + .../08_eip6110_execute_payload.json | 50 -- ...nvalid_null_deposits_execute_payload.json} | 38 +- .../09_eip6110_newPayloadV6110.json | 45 ++ .../10_eip6110_forkchoiceUpdatedV3.json | 34 ++ .../11_eip6110_getPayloadV6110.json | 45 ++ .../test-cases/08_shanghai_getPayloadV2.json | 1 - .../org/hyperledger/besu/cli/BesuCommand.java | 14 +- .../cli/ConfigurationOverviewBuilder.java | 19 +- .../stable/TransactionPoolOptions.java | 28 +- .../besu/cli/util/CommandLineUtils.java | 5 +- .../controller/BesuControllerBuilder.java | 24 +- ...onsensusScheduleBesuControllerBuilder.java | 4 +- .../TransitionBesuControllerBuilder.java | 4 +- .../besu/services/BesuPluginContextImpl.java | 21 +- .../besu/services/RpcEndpointServiceImpl.java | 2 +- .../TransactionSelectionServiceImpl.java | 8 +- .../hyperledger/besu/cli/BesuCommandTest.java | 12 + .../besu/cli/CommandTestAbstract.java | 2 + .../stable/TransactionPoolOptionsTest.java | 62 ++- .../src/test/resources/everything_config.toml | 6 +- build.gradle | 39 +- .../common/MigratingProtocolContext.java | 6 +- .../merge/blockcreation/MergeCoordinator.java | 3 +- .../blockcreation/MergeCoordinatorTest.java | 46 +- .../besu/datatypes/KZGCommitment.java | 10 +- .../hyperledger/besu/datatypes/KZGProof.java | 10 +- .../besu/datatypes/PendingTransaction.java | 7 + .../datatypes/BlobsWithCommitmentsTest.java | 9 +- ethereum/api/build.gradle | 1 + .../EthGetFilterChangesIntegrationTest.java | 11 +- .../EthGetFilterChangesIntegrationTest.java | 11 +- .../api/jsonrpc/JsonRpcErrorConverter.java | 2 + .../besu/ethereum/api/jsonrpc/RpcMethod.java | 2 + .../internal/methods/EthFeeHistory.java | 74 ++- .../methods/EthSendRawTransaction.java | 33 +- .../internal/methods/TraceCallMany.java | 2 +- .../AbstractEngineForkchoiceUpdated.java | 51 +- .../engine/AbstractEngineNewPayload.java | 3 +- .../engine/EngineExchangeCapabilities.java | 1 + .../engine/EngineForkchoiceUpdatedV1.java | 10 + .../engine/EngineForkchoiceUpdatedV2.java | 18 +- .../engine/EngineForkchoiceUpdatedV3.java | 15 +- .../methods/engine/EngineGetPayloadV6110.java | 87 ++++ .../methods/engine/EngineNewPayloadV3.java | 3 +- .../methods/engine/EngineNewPayloadV6110.java | 89 ++++ .../internal/parameters/DepositParameter.java | 22 +- .../parameters/EnginePayloadParameter.java | 2 +- .../parameters/UnsignedLongParameter.java | 15 +- .../response/JsonRpcErrorResponse.java | 2 +- .../internal/response/RpcErrorType.java | 5 +- .../internal/results/BlockResultFactory.java | 24 +- .../results/EngineGetPayloadResultV2.java | 19 +- .../results/EngineGetPayloadResultV6110.java | 230 +++++++++ .../ExecutionEngineJsonRpcMethods.java | 22 + .../api/graphql/EthGraphQLHttpBySpecTest.java | 87 +--- .../engine/AbstractScheduledApiTest.java | 2 +- .../engine/EngineGetPayloadV2Test.java | 43 -- .../engine/EngineGetPayloadV6110Test.java | 177 +++++++ ...st.java => EngineNewPayloadV6110Test.java} | 5 +- .../ethereum/api/graphql/eth_blockNumber.json | 2 +- .../api/graphql/eth_call_BlockLatest.json | 2 +- .../api/graphql/eth_call_from_contract.json | 2 +- .../ethereum/api/graphql/eth_gasPrice.json | 2 +- .../api/graphql/eth_getBalance_toobig_bn.json | 4 +- .../api/graphql/eth_getBlock_cancun.json | 25 + .../api/graphql/eth_getTransactionCount.json | 2 +- .../api/graphql/graphql_blocks_byFrom.json | 3 + .../txselection/BlockTransactionSelector.java | 244 +++++----- .../AllAcceptingTransactionSelector.java | 54 +++ .../selectors/PriceTransactionSelector.java | 5 +- .../AbstractBlockTransactionSelectorTest.java | 141 ++++-- ...FeeMarketBlockTransactionSelectorTest.java | 2 +- .../besu/ethereum/ProtocolContext.java | 10 +- .../ethereum/chain/DefaultBlockchain.java | 126 ++++- .../ethereum/core/BlockHeaderBuilder.java | 2 - .../besu/ethereum/core/Deposit.java | 16 +- .../besu/ethereum/core/Transaction.java | 154 ++++-- .../BlobPooledTransactionDecoder.java | 6 +- .../core/encoding/DepositEncoder.java | 2 +- .../mainnet/MainnetProtocolSpecs.java | 29 +- .../mainnet/MainnetTransactionProcessor.java | 5 +- .../mainnet/MainnetTransactionValidator.java | 63 +-- .../mainnet/ParentBeaconBlockRootHelper.java | 19 +- .../mainnet/ScheduledProtocolSpec.java | 2 +- .../IncrementalTimestampRule.java | 2 +- .../transaction/TransactionInvalidReason.java | 4 +- .../besu/ethereum/core/BlobTestFixture.java | 8 +- .../ethereum/chain/DefaultBlockchainTest.java | 76 +++ .../MainnetTransactionValidatorTest.java | 5 +- .../ethereum/eth/manager/PeerReputation.java | 3 +- .../ethereum/eth/messages/StatusMessage.java | 4 +- .../DisabledPendingTransactions.java | 14 +- .../eth/transactions/PendingTransaction.java | 167 ++++++- .../eth/transactions/PendingTransactions.java | 9 +- .../eth/transactions/TransactionPool.java | 177 ++++--- .../TransactionPoolConfiguration.java | 16 +- .../transactions/TransactionPoolMetrics.java | 43 +- .../layered/AbstractTransactionsLayer.java | 28 +- .../BaseFeePrioritizedTransactions.java | 3 +- .../eth/transactions/layered/EndLayer.java | 8 +- .../GasPricePrioritizedTransactions.java | 2 +- .../layered/LayeredPendingTransactions.java | 25 +- .../layered/ReadyTransactions.java | 3 +- .../layered/SparseTransactions.java | 67 ++- .../layered/TransactionsLayer.java | 2 + .../AbstractPendingTransactionsSorter.java | 51 +- .../BaseFeePendingTransactionsSorter.java | 4 +- .../GasPricePendingTransactionsSorter.java | 2 +- .../AbstractTransactionPoolTest.java | 315 +++++++----- ...ingTransactionEstimatedMemorySizeTest.java | 457 +++++++++++------- .../layered/BaseTransactionPoolTest.java | 69 ++- .../LayeredPendingTransactionsTest.java | 271 +++++++---- .../eth/transactions/layered/LayersTest.java | 160 +++++- .../eth/transactions/layered/ReplayTest.java | 36 +- .../AbstractPendingTransactionsTestBase.java | 225 ++++++--- .../hyperledger/besu/evmtool/T8nExecutor.java | 6 +- .../state-test/blockhash-zero-state-root.json | 104 ---- .../ethereum/p2p/rlpx/framing/Framer.java | 18 +- .../BonsaiReferenceTestWorldState.java | 8 +- .../besu/ethereum/rlp/AbstractRLPInput.java | 11 + .../besu/ethereum/rlp/BytesValueRLPInput.java | 6 + .../besu/ethereum/rlp/RLPInput.java | 11 + gradle.properties | 2 +- gradle/verification-metadata.xml | 24 + gradle/versions.gradle | 2 +- plugin-api/build.gradle | 2 +- .../hyperledger/besu/plugin/data/Deposit.java | 2 +- .../services/TransactionSelectionService.java | 7 +- ...or.java => PluginTransactionSelector.java} | 33 +- ... => PluginTransactionSelectorFactory.java} | 10 +- .../PluginTransactionValidator.java | 9 +- .../main/resources/hive/testBlockchain.blocks | Bin 24039 -> 24815 bytes .../src/main/resources/hive/testGenesis.json | 3 +- 149 files changed, 3758 insertions(+), 1727 deletions(-) create mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/01_cancun_prepare_payload.json delete mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/01_shanghai_prepare_payload.json rename acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/{02_shanghai_getPayloadV2.json => 02_cancun_getPayloadV3.json} (58%) rename acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/{03_shanghai_newPayloadV2.json => 03_cancun_newPayloadV3.json} (58%) create mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/04_cancun_forkchoiceUpdatedV3.json delete mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/04_shanghai_forkchoiceUpdatedV2.json create mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/05_eip6110_forkchoiceUpdatedV3.json delete mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/05_eip6110_prepare_payload.json rename acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/{06_eip6110_get_payload.json => 06_eip6110_getPayloadV6110.json} (58%) create mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/07_eip6110_send_raw_transaction.json delete mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/08_eip6110_execute_payload.json rename acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/{07_eip6110_invalid_null_deposits_execute_payload.json => 08_eip6110_invalid_null_deposits_execute_payload.json} (57%) create mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/09_eip6110_newPayloadV6110.json create mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/10_eip6110_forkchoiceUpdatedV3.json create mode 100644 acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/11_eip6110_getPayloadV6110.json create mode 100644 ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineGetPayloadV6110.java create mode 100644 ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadV6110.java create mode 100644 ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/EngineGetPayloadResultV6110.java create mode 100644 ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineGetPayloadV6110Test.java rename ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/{EngineNewPayloadEIP6110Test.java => EngineNewPayloadV6110Test.java} (98%) create mode 100644 ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_getBlock_cancun.json create mode 100644 ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/AllAcceptingTransactionSelector.java delete mode 100644 ethereum/evmtool/src/test/resources/org/hyperledger/besu/evmtool/state-test/blockhash-zero-state-root.json rename plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/{TransactionSelector.java => PluginTransactionSelector.java} (61%) rename plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/{TransactionSelectorFactory.java => PluginTransactionSelectorFactory.java} (81%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c776df174c..ee5616c4e63 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,21 @@ # Changelog +## 23.10.1 +- Cache last n blocks by using a new Besu flag --cache-last-blocks=n [#6009](https://github.com/hyperledger/besu/pull/6009) +- Optimize performances of RPC method Eth_feeHistory [#6011](https://github.com/hyperledger/besu/pull/6011) + +### Breaking Changes + +### Deprecations +- `--tx-pool-disable-locals` has been deprecated for removal in favor of `--tx-pool-no-local-priority`, no semantic change, only a renaming [#5959](https://github.com/hyperledger/besu/pull/5959) + +### Additions and Improvements +- New option `--tx-pool-priority-senders` to specify a list of senders, that has the effect to prioritize any transactions sent by these senders from any source [#5959](https://github.com/hyperledger/besu/pull/5959) + +### Bug Fixes + +### Download Links + ## 23.10.0 ### Layered Transaction Pool: the new default transaction pool implementation With this release the previously experimental Layered txpool is marked stable and enabled by default, so please read the following instructions if you used to tune txpool behaviour, @@ -25,16 +41,16 @@ By default, the txpool is tuned for mainnet usage, but if you are using private ### Breaking Changes - Removed support for Kotti network (ETC) [#5816](https://github.com/hyperledger/besu/pull/5816) -- Layered transaction pool implementation is now stable and enabled by default, so the following changes to experimental options have been done [#5772](https://github.com/hyperledger/besu): +- Layered transaction pool implementation is now stable and enabled by default, so the following changes to experimental options have been done [#5772](https://github.com/hyperledger/besu/pull/5772): - `--Xlayered-tx-pool` is gone, to select the implementation use the new `--tx-pool` option with values `layered` (default) or `legacy` - - `--Xlayered-tx-pool-layer-max-capacity`, `--Xlayered-tx-pool-max-prioritized` and `--Xlayered-tx-pool-max-future-by-sender` just drop the `X` and keep the same behavior + - `--Xlayered-tx-pool-layer-max-capacity`, `--Xlayered-tx-pool-max-prioritized` and `--Xlayered-tx-pool-max-future-by-sender` just drop the `Xlayered-` and keep the same behavior ### Additions and Improvements - Add access to an immutable world view to start/end transaction hooks in the tracing API[#5836](https://github.com/hyperledger/besu/pull/5836) - Layered transaction pool implementation is now stable and enabled by default. If you want still to use the legacy implementation, use `--tx-pool=legacy`. - By default, the new transaction pool is capped at using 25MB of memory, this limit can be raised using `--layered-tx-pool-layer-max-capacity` options [#5772](https://github.com/hyperledger/besu) + By default, the new transaction pool is capped at using 25MB of memory, this limit can be raised using `--layered-tx-pool-layer-max-capacity` options [#5772](https://github.com/hyperledger/besu/pull/5772) - Tune G1GC to reduce Besu memory footprint, and new `besu-untuned` start scripts to run without any specific G1GC flags [#5879](https://github.com/hyperledger/besu/pull/5879) -- Reduce `engine_forkchoiceUpdatedV?` response time by asynchronously process block added events in the transaction pool [#5909](https://github.com/hyperledger/besu/pull/5909) +- Reduce `engine_forkchoiceUpdatedV?` response time by asynchronously process block added events in the transaction pool [#5909](https://github.com/hyperledger/besu/pull/5909) ### Bug Fixes - do not create ignorable storage on revert storage-variables subcommand [#5830](https://github.com/hyperledger/besu/pull/5830) @@ -42,7 +58,8 @@ By default, the txpool is tuned for mainnet usage, but if you are using private - Don't put control characters, escaped or otherwise, in t8n stacktraces [#5910](https://github.com/hyperledger/besu/pull/5910) ### Download Links - +https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.10.0/besu-23.10.0.tar.gz / sha256: 3c75f3792bfdb0892705b378f0b8bfc14ef6cecf1d8afe711d8d8687ed6687cf +https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.10.0/besu-23.10.0.zip / sha256: d5dafff4c3cbf104bf75b34a9f108dcdd7b08d2759de75ec65cd997f38f52866 ## 23.7.3 diff --git a/KNOWN_ISSUES.md b/KNOWN_ISSUES.md index 89c67789eda..47c17ea149a 100644 --- a/KNOWN_ISSUES.md +++ b/KNOWN_ISSUES.md @@ -1,6 +1,6 @@ # Known Issues -Details on previously identified known issues are provided below. Details on known issues identfied +Details on previously identified known issues are provided below. Details on known issues identified in the current release are provided in the [Changelog](CHANGELOG.md). Known issues are open issues categorized as [Very High or High impact](https://wiki.hyperledger.org/display/BESU/Defect+Prioritisation+Policy). diff --git a/README.md b/README.md index 38eb3e7725f..f0a8690d0f2 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3174/badge)](https://bestpractices.coreinfrastructure.org/projects/3174) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/hyperledger/besu/blob/main/LICENSE) [![Discord](https://img.shields.io/discord/905194001349627914?logo=Hyperledger&style=plastic)](https://discord.gg/hyperledger) + [![Twitter Follow](https://img.shields.io/twitter/follow/HyperledgerBesu)](https://twitter.com/HyperledgerBesu) [Download](https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/) @@ -15,7 +16,7 @@ Besu is an Apache 2.0 licensed, MainNet compatible, Ethereum client written in J * [Besu Issues] * [Besu Wiki](https://wiki.hyperledger.org/display/BESU/Hyperledger+Besu) * [How to Contribute to Besu](https://wiki.hyperledger.org/display/BESU/How+to+Contribute) -* [Besu Roadmap](https://wiki.hyperledger.org/display/BESU/Roadmap) +* [Besu Roadmap & Planning](https://wiki.hyperledger.org/pages/viewpage.action?pageId=24781786) ## Issues diff --git a/acceptance-tests/dsl/src/main/java/org/hyperledger/besu/tests/acceptance/dsl/node/ThreadBesuNodeRunner.java b/acceptance-tests/dsl/src/main/java/org/hyperledger/besu/tests/acceptance/dsl/node/ThreadBesuNodeRunner.java index e06aa8c9641..0c5f170931b 100644 --- a/acceptance-tests/dsl/src/main/java/org/hyperledger/besu/tests/acceptance/dsl/node/ThreadBesuNodeRunner.java +++ b/acceptance-tests/dsl/src/main/java/org/hyperledger/besu/tests/acceptance/dsl/node/ThreadBesuNodeRunner.java @@ -48,7 +48,7 @@ import org.hyperledger.besu.plugin.services.StorageService; import org.hyperledger.besu.plugin.services.TransactionSelectionService; import org.hyperledger.besu.plugin.services.storage.rocksdb.RocksDBPlugin; -import org.hyperledger.besu.plugin.services.txselection.TransactionSelectorFactory; +import org.hyperledger.besu.plugin.services.txselection.PluginTransactionSelectorFactory; import org.hyperledger.besu.plugin.services.txvalidator.PluginTransactionValidatorFactory; import org.hyperledger.besu.services.BesuConfigurationImpl; import org.hyperledger.besu.services.BesuEventsImpl; @@ -185,7 +185,7 @@ public void startNode(final BesuNode node) { final int maxPeers = 25; - final Optional transactionSelectorFactory = + final Optional transactionSelectorFactory = getTransactionSelectorFactory(besuPluginContext); final PluginTransactionValidatorFactory pluginTransactionValidatorFactory = @@ -323,7 +323,7 @@ public String getConsoleContents() { throw new RuntimeException("Console contents can only be captured in process execution"); } - private Optional getTransactionSelectorFactory( + private Optional getTransactionSelectorFactory( final BesuPluginContextImpl besuPluginContext) { final Optional txSelectionService = besuPluginContext.getService(TransactionSelectionService.class); diff --git a/acceptance-tests/tests/src/test/java/org/hyperledger/besu/tests/acceptance/jsonrpc/ExecutionEngineEip6110AcceptanceTest.java b/acceptance-tests/tests/src/test/java/org/hyperledger/besu/tests/acceptance/jsonrpc/ExecutionEngineEip6110AcceptanceTest.java index fb2abde25d4..d1771ac5990 100644 --- a/acceptance-tests/tests/src/test/java/org/hyperledger/besu/tests/acceptance/jsonrpc/ExecutionEngineEip6110AcceptanceTest.java +++ b/acceptance-tests/tests/src/test/java/org/hyperledger/besu/tests/acceptance/jsonrpc/ExecutionEngineEip6110AcceptanceTest.java @@ -20,12 +20,10 @@ import org.junit.AfterClass; import org.junit.BeforeClass; -import org.junit.Ignore; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @RunWith(Parameterized.class) -@Ignore("EIP-6110 is not yet implemented") public class ExecutionEngineEip6110AcceptanceTest extends AbstractJsonRpcTest { private static final String GENESIS_FILE = "/jsonrpc/engine/eip6110/genesis.json"; private static final String TEST_CASE_PATH = "/jsonrpc/engine/eip6110/test-cases/"; diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/genesis.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/genesis.json index 12f58a81bfa..232c577f6c8 100644 --- a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/genesis.json +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/genesis.json @@ -1,6 +1,6 @@ { "config": { - "chainId":1, + "chainId":6110, "homesteadBlock":0, "eip150Block":0, "eip155Block":0, @@ -19,7 +19,7 @@ "period": 5, "epoch": 30000 }, - "depositContractAddress": "0x00000000219ab540356cbb839cbe05303d7705fa" + "depositContractAddress": "0x4242424242424242424242424242424242424242" }, "nonce":"0x42", "timestamp":"0x0", @@ -29,7 +29,46 @@ "mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000", "coinbase":"0x0000000000000000000000000000000000000000", "alloc":{ - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b":{"balance":"0x6d6172697573766477000000"} + "0xa4664C40AACeBD82A2Db79f0ea36C06Bc6A19Adb": { + "balance": "1000000000000000000000000000" + }, + "0x4242424242424242424242424242424242424242": { + "balance": "0", + "code": "0x60806040526004361061003f5760003560e01c806301ffc9a71461004457806322895118146100a4578063621fd130146101ba578063c5f2892f14610244575b600080fd5b34801561005057600080fd5b506100906004803603602081101561006757600080fd5b50357fffffffff000000000000000000000000000000000000000000000000000000001661026b565b604080519115158252519081900360200190f35b6101b8600480360360808110156100ba57600080fd5b8101906020810181356401000000008111156100d557600080fd5b8201836020820111156100e757600080fd5b8035906020019184600183028401116401000000008311171561010957600080fd5b91939092909160208101903564010000000081111561012757600080fd5b82018360208201111561013957600080fd5b8035906020019184600183028401116401000000008311171561015b57600080fd5b91939092909160208101903564010000000081111561017957600080fd5b82018360208201111561018b57600080fd5b803590602001918460018302840111640100000000831117156101ad57600080fd5b919350915035610304565b005b3480156101c657600080fd5b506101cf6110b5565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102095781810151838201526020016101f1565b50505050905090810190601f1680156102365780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561025057600080fd5b506102596110c7565b60408051918252519081900360200190f35b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a70000000000000000000000000000000000000000000000000000000014806102fe57507fffffffff0000000000000000000000000000000000000000000000000000000082167f8564090700000000000000000000000000000000000000000000000000000000145b92915050565b6030861461035d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806118056026913960400191505060405180910390fd5b602084146103b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603681526020018061179c6036913960400191505060405180910390fd5b6060821461040f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806118786029913960400191505060405180910390fd5b670de0b6b3a7640000341015610470576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806118526026913960400191505060405180910390fd5b633b9aca003406156104cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806117d26033913960400191505060405180910390fd5b633b9aca00340467ffffffffffffffff811115610535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602781526020018061182b6027913960400191505060405180910390fd5b6060610540826114ba565b90507f649bbc62d0e31342afea4e5cd82d4049e7e1ee912fc0889aa790803be39038c589898989858a8a6105756020546114ba565b6040805160a0808252810189905290819060208201908201606083016080840160c085018e8e80828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910187810386528c815260200190508c8c808284376000838201819052601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690920188810386528c5181528c51602091820193918e019250908190849084905b83811015610648578181015183820152602001610630565b50505050905090810190601f1680156106755780820380516001836020036101000a031916815260200191505b5086810383528881526020018989808284376000838201819052601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092018881038452895181528951602091820193918b019250908190849084905b838110156106ef5781810151838201526020016106d7565b50505050905090810190601f16801561071c5780820380516001836020036101000a031916815260200191505b509d505050505050505050505050505060405180910390a1600060028a8a600060801b604051602001808484808284377fffffffffffffffffffffffffffffffff0000000000000000000000000000000090941691909301908152604080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0818403018152601090920190819052815191955093508392506020850191508083835b602083106107fc57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016107bf565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015610859573d6000803e3d6000fd5b5050506040513d602081101561086e57600080fd5b5051905060006002806108846040848a8c6116fe565b6040516020018083838082843780830192505050925050506040516020818303038152906040526040518082805190602001908083835b602083106108f857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016108bb565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015610955573d6000803e3d6000fd5b5050506040513d602081101561096a57600080fd5b5051600261097b896040818d6116fe565b60405160009060200180848480828437919091019283525050604080518083038152602092830191829052805190945090925082918401908083835b602083106109f457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016109b7565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015610a51573d6000803e3d6000fd5b5050506040513d6020811015610a6657600080fd5b5051604080516020818101949094528082019290925280518083038201815260609092019081905281519192909182918401908083835b60208310610ada57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610a9d565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015610b37573d6000803e3d6000fd5b5050506040513d6020811015610b4c57600080fd5b50516040805160208101858152929350600092600292839287928f928f92018383808284378083019250505093505050506040516020818303038152906040526040518082805190602001908083835b60208310610bd957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610b9c565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015610c36573d6000803e3d6000fd5b5050506040513d6020811015610c4b57600080fd5b50516040518651600291889160009188916020918201918291908601908083835b60208310610ca957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610c6c565b6001836020036101000a0380198251168184511680821785525050505050509050018367ffffffffffffffff191667ffffffffffffffff1916815260180182815260200193505050506040516020818303038152906040526040518082805190602001908083835b60208310610d4e57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610d11565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015610dab573d6000803e3d6000fd5b5050506040513d6020811015610dc057600080fd5b5051604080516020818101949094528082019290925280518083038201815260609092019081905281519192909182918401908083835b60208310610e3457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610df7565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015610e91573d6000803e3d6000fd5b5050506040513d6020811015610ea657600080fd5b50519050858114610f02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260548152602001806117486054913960600191505060405180910390fd5b60205463ffffffff11610f60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806117276021913960400191505060405180910390fd5b602080546001019081905560005b60208110156110a9578160011660011415610fa0578260008260208110610f9157fe5b0155506110ac95505050505050565b600260008260208110610faf57fe5b01548460405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061102557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610fe8565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015611082573d6000803e3d6000fd5b5050506040513d602081101561109757600080fd5b50519250600282049150600101610f6e565b50fe5b50505050505050565b60606110c26020546114ba565b905090565b6020546000908190815b60208110156112f05781600116600114156111e6576002600082602081106110f557fe5b01548460405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061116b57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161112e565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa1580156111c8573d6000803e3d6000fd5b5050506040513d60208110156111dd57600080fd5b505192506112e2565b600283602183602081106111f657fe5b015460405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061126b57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161122e565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa1580156112c8573d6000803e3d6000fd5b5050506040513d60208110156112dd57600080fd5b505192505b6002820491506001016110d1565b506002826112ff6020546114ba565b600060401b6040516020018084815260200183805190602001908083835b6020831061135a57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161131d565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790527fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000095909516920191825250604080518083037ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8018152601890920190819052815191955093508392850191508083835b6020831061143f57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611402565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa15801561149c573d6000803e3d6000fd5b5050506040513d60208110156114b157600080fd5b50519250505090565b60408051600880825281830190925260609160208201818036833701905050905060c082901b8060071a60f81b826000815181106114f457fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060061a60f81b8260018151811061153757fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060051a60f81b8260028151811061157a57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060041a60f81b826003815181106115bd57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060031a60f81b8260048151811061160057fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060021a60f81b8260058151811061164357fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060011a60f81b8260068151811061168657fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060001a60f81b826007815181106116c957fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535050919050565b6000808585111561170d578182fd5b83861115611719578182fd5b505082019391909203915056fe4465706f736974436f6e74726163743a206d65726b6c6520747265652066756c6c4465706f736974436f6e74726163743a207265636f6e7374727563746564204465706f7369744461746120646f6573206e6f74206d6174636820737570706c696564206465706f7369745f646174615f726f6f744465706f736974436f6e74726163743a20696e76616c6964207769746864726177616c5f63726564656e7469616c73206c656e6774684465706f736974436f6e74726163743a206465706f7369742076616c7565206e6f74206d756c7469706c65206f6620677765694465706f736974436f6e74726163743a20696e76616c6964207075626b6579206c656e6774684465706f736974436f6e74726163743a206465706f7369742076616c756520746f6f20686967684465706f736974436f6e74726163743a206465706f7369742076616c756520746f6f206c6f774465706f736974436f6e74726163743a20696e76616c6964207369676e6174757265206c656e677468a26469706673582212201dd26f37a621703009abf16e77e69c93dc50c79db7f6cc37543e3e0e3decdc9764736f6c634300060b0033", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000022": "0xf5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b", + "0x0000000000000000000000000000000000000000000000000000000000000023": "0xdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71", + "0x0000000000000000000000000000000000000000000000000000000000000024": "0xc78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c", + "0x0000000000000000000000000000000000000000000000000000000000000025": "0x536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c", + "0x0000000000000000000000000000000000000000000000000000000000000026": "0x9efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30", + "0x0000000000000000000000000000000000000000000000000000000000000027": "0xd88ddfeed400a8755596b21942c1497e114c302e6118290f91e6772976041fa1", + "0x0000000000000000000000000000000000000000000000000000000000000028": "0x87eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c", + "0x0000000000000000000000000000000000000000000000000000000000000029": "0x26846476fd5fc54a5d43385167c95144f2643f533cc85bb9d16b782f8d7db193", + "0x000000000000000000000000000000000000000000000000000000000000002a": "0x506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1", + "0x000000000000000000000000000000000000000000000000000000000000002b": "0xffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b", + "0x000000000000000000000000000000000000000000000000000000000000002c": "0x6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220", + "0x000000000000000000000000000000000000000000000000000000000000002d": "0xb7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5f", + "0x000000000000000000000000000000000000000000000000000000000000002e": "0xdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85e", + "0x000000000000000000000000000000000000000000000000000000000000002f": "0xb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784", + "0x0000000000000000000000000000000000000000000000000000000000000030": "0xd49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb", + "0x0000000000000000000000000000000000000000000000000000000000000031": "0x8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb", + "0x0000000000000000000000000000000000000000000000000000000000000032": "0x8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4", + "0x0000000000000000000000000000000000000000000000000000000000000034": "0xf893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f", + "0x0000000000000000000000000000000000000000000000000000000000000035": "0xcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa", + "0x0000000000000000000000000000000000000000000000000000000000000036": "0x8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9c", + "0x0000000000000000000000000000000000000000000000000000000000000037": "0xfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167", + "0x0000000000000000000000000000000000000000000000000000000000000038": "0xe71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d7", + "0x0000000000000000000000000000000000000000000000000000000000000039": "0x31206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc0", + "0x000000000000000000000000000000000000000000000000000000000000003a": "0x21352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544", + "0x000000000000000000000000000000000000000000000000000000000000003b": "0x619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a46765", + "0x000000000000000000000000000000000000000000000000000000000000003c": "0x7cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4", + "0x000000000000000000000000000000000000000000000000000000000000003d": "0x848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe1", + "0x000000000000000000000000000000000000000000000000000000000000003e": "0x8869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636", + "0x000000000000000000000000000000000000000000000000000000000000003f": "0xb5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c", + "0x0000000000000000000000000000000000000000000000000000000000000040": "0x985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7" + } + } }, "number":"0x0", "gasUsed":"0x0", diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/01_cancun_prepare_payload.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/01_cancun_prepare_payload.json new file mode 100644 index 00000000000..b398cda18af --- /dev/null +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/01_cancun_prepare_payload.json @@ -0,0 +1,34 @@ +{ + "request": { + "jsonrpc": "2.0", + "method": "engine_forkchoiceUpdatedV3", + "params": [ + { + "headBlockHash": "0x26118cf71453320edcebbc4ebb34af5b578087a32385b80108bf691fa23efc42", + "safeBlockHash": "0x26118cf71453320edcebbc4ebb34af5b578087a32385b80108bf691fa23efc42", + "finalizedBlockHash": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "timestamp": "0x10", + "prevRandao": "0x0000000000000000000000000000000000000000000000000000000000000000", + "suggestedFeeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "withdrawals": [], + "parentBeaconBlockRoot": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + ], + "id": 67 + }, + "response": { + "jsonrpc": "2.0", + "id": 67, + "result": { + "payloadStatus": { + "status": "VALID", + "latestValidHash": "0x26118cf71453320edcebbc4ebb34af5b578087a32385b80108bf691fa23efc42", + "validationError": null + }, + "payloadId": "0x282643c14de2dfef" + } + }, + "statusCode" : 200 +} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/01_shanghai_prepare_payload.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/01_shanghai_prepare_payload.json deleted file mode 100644 index 960194fcae0..00000000000 --- a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/01_shanghai_prepare_payload.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "request": { - "jsonrpc": "2.0", - "method": "engine_forkchoiceUpdatedV2", - "params": [ - { - "headBlockHash": "0xfe950635b1bd2a416ff6283b0bbd30176e1b1125ad06fa729da9f3f4c1c61710", - "safeBlockHash": "0xfe950635b1bd2a416ff6283b0bbd30176e1b1125ad06fa729da9f3f4c1c61710", - "finalizedBlockHash": "0x0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "timestamp": "0x10", - "prevRandao": "0x0000000000000000000000000000000000000000000000000000000000000000", - "suggestedFeeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "withdrawals": [ - { - "index": "0x0", - "validatorIndex": "0x0", - "address": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "amount": "0x3" - }, - { - "index": "0x1", - "validatorIndex": "0x1", - "address": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", - "amount": "0x4" - } - ] - } - ], - "id": 67 - }, - "response": { - "jsonrpc": "2.0", - "id": 67, - "result": { - "payloadStatus": { - "status": "VALID", - "latestValidHash": "0xfe950635b1bd2a416ff6283b0bbd30176e1b1125ad06fa729da9f3f4c1c61710", - "validationError": null - }, - "payloadId": "0x0065bd1bbeaff359" - } - }, - "statusCode" : 200 -} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/02_shanghai_getPayloadV2.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/02_cancun_getPayloadV3.json similarity index 58% rename from acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/02_shanghai_getPayloadV2.json rename to acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/02_cancun_getPayloadV3.json index 9d25e3f5e84..73cbe51bdeb 100644 --- a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/02_shanghai_getPayloadV2.json +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/02_cancun_getPayloadV3.json @@ -1,9 +1,9 @@ { "request": { "jsonrpc": "2.0", - "method": "engine_getPayloadV2", + "method": "engine_getPayloadV3", "params": [ - "0x0065bd1bbeaff359" + "0x282643c14de2dfef" ], "id": 67 }, @@ -12,9 +12,9 @@ "id": 67, "result": { "executionPayload": { - "parentHash": "0xfe950635b1bd2a416ff6283b0bbd30176e1b1125ad06fa729da9f3f4c1c61710", + "parentHash": "0x26118cf71453320edcebbc4ebb34af5b578087a32385b80108bf691fa23efc42", "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "stateRoot": "0xc8c8e840369eac89a610bfe2ec21fcdee4c9c43bec4876f0129fcd4b5311f6dd", + "stateRoot": "0x9b8c4a9a86cb49252075c0db2f0e72fb1e49350a0f70ea36f26f700201961e62", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "prevRandao": "0x0000000000000000000000000000000000000000000000000000000000000000", "gasLimit": "0x1c9c380", @@ -22,27 +22,22 @@ "timestamp": "0x10", "extraData": "0x", "baseFeePerGas": "0x7", + "excessBlobGas": "0x0", + "parentBeaconBlockRoot": "0x0000000000000000000000000000000000000000000000000000000000000000", "transactions": [], - "withdrawals": [ - { - "index": "0x0", - "validatorIndex": "0x0", - "address": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "amount": "0x3" - }, - { - "index": "0x1", - "validatorIndex": "0x1", - "address": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", - "amount": "0x4" - } - ], - "deposits": null, + "withdrawals": [], "blockNumber": "0x1", - "blockHash": "0xfdd94e3620a88f08927bffb318981a36b663a26e6fd62ab273eb800b90723c13", - "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421" + "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "blockHash": "0x45811fa27a100ce9035e5e086b9669275041a4ec0ebbd920be028fd7b0aa2356", + "blobGasUsed": "0x0" }, - "blockValue": "0x0" + "blockValue": "0x0", + "blobsBundle": { + "commitments": [], + "proofs": [], + "blobs": [] + }, + "shouldOverrideBuilder": false } }, "statusCode": 200 diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/03_shanghai_newPayloadV2.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/03_cancun_newPayloadV3.json similarity index 58% rename from acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/03_shanghai_newPayloadV2.json rename to acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/03_cancun_newPayloadV3.json index 938362327ba..d4d76df31de 100644 --- a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/03_shanghai_newPayloadV2.json +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/03_cancun_newPayloadV3.json @@ -1,12 +1,12 @@ { "request": { "jsonrpc": "2.0", - "method": "engine_newPayloadV2", + "method": "engine_newPayloadV3", "params": [ { - "parentHash": "0xfe950635b1bd2a416ff6283b0bbd30176e1b1125ad06fa729da9f3f4c1c61710", + "parentHash": "0x26118cf71453320edcebbc4ebb34af5b578087a32385b80108bf691fa23efc42", "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "stateRoot": "0xc8c8e840369eac89a610bfe2ec21fcdee4c9c43bec4876f0129fcd4b5311f6dd", + "stateRoot": "0x9b8c4a9a86cb49252075c0db2f0e72fb1e49350a0f70ea36f26f700201961e62", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "prevRandao": "0x0000000000000000000000000000000000000000000000000000000000000000", "gasLimit": "0x1c9c380", @@ -15,24 +15,15 @@ "extraData": "0x", "baseFeePerGas": "0x7", "transactions": [], - "withdrawals": [ - { - "index": "0x0", - "validatorIndex": "0x0", - "address": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "amount": "0x3" - }, - { - "index": "0x1", - "validatorIndex": "0x1", - "address": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", - "amount": "0x4" - } - ], + "withdrawals": [], "blockNumber": "0x1", - "blockHash": "0xfdd94e3620a88f08927bffb318981a36b663a26e6fd62ab273eb800b90723c13", - "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421" - } + "blockHash": "0x45811fa27a100ce9035e5e086b9669275041a4ec0ebbd920be028fd7b0aa2356", + "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "excessBlobGas": "0x0", + "blobGasUsed": "0x0" + }, + [], + "0x0000000000000000000000000000000000000000000000000000000000000000" ], "id": 67 }, @@ -41,7 +32,7 @@ "id": 67, "result": { "status": "VALID", - "latestValidHash": "0xfdd94e3620a88f08927bffb318981a36b663a26e6fd62ab273eb800b90723c13", + "latestValidHash": "0x45811fa27a100ce9035e5e086b9669275041a4ec0ebbd920be028fd7b0aa2356", "validationError": null } }, diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/04_cancun_forkchoiceUpdatedV3.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/04_cancun_forkchoiceUpdatedV3.json new file mode 100644 index 00000000000..80610561a0f --- /dev/null +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/04_cancun_forkchoiceUpdatedV3.json @@ -0,0 +1,28 @@ +{ + "request": { + "jsonrpc": "2.0", + "method": "engine_forkchoiceUpdatedV3", + "params": [ + { + "headBlockHash": "0x45811fa27a100ce9035e5e086b9669275041a4ec0ebbd920be028fd7b0aa2356", + "safeBlockHash": "0x45811fa27a100ce9035e5e086b9669275041a4ec0ebbd920be028fd7b0aa2356", + "finalizedBlockHash": "0x45811fa27a100ce9035e5e086b9669275041a4ec0ebbd920be028fd7b0aa2356" + }, + null + ], + "id": 67 + }, + "response": { + "jsonrpc": "2.0", + "id": 67, + "result": { + "payloadStatus": { + "status": "VALID", + "latestValidHash": "0x45811fa27a100ce9035e5e086b9669275041a4ec0ebbd920be028fd7b0aa2356", + "validationError": null + }, + "payloadId": null + } + }, + "statusCode": 200 +} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/04_shanghai_forkchoiceUpdatedV2.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/04_shanghai_forkchoiceUpdatedV2.json deleted file mode 100644 index 871832b9c99..00000000000 --- a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/04_shanghai_forkchoiceUpdatedV2.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "request": { - "jsonrpc": "2.0", - "method": "engine_forkchoiceUpdatedV2", - "params": [ - { - "headBlockHash": "0xfdd94e3620a88f08927bffb318981a36b663a26e6fd62ab273eb800b90723c13", - "safeBlockHash": "0xfdd94e3620a88f08927bffb318981a36b663a26e6fd62ab273eb800b90723c13", - "finalizedBlockHash": "0xfdd94e3620a88f08927bffb318981a36b663a26e6fd62ab273eb800b90723c13" - }, - null - ], - "id": 67 - }, - "response": { - "jsonrpc": "2.0", - "id": 67, - "result": { - "payloadStatus": { - "status": "VALID", - "latestValidHash": "0xfdd94e3620a88f08927bffb318981a36b663a26e6fd62ab273eb800b90723c13", - "validationError": null - }, - "payloadId": null - } - }, - "statusCode": 200 -} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/05_eip6110_forkchoiceUpdatedV3.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/05_eip6110_forkchoiceUpdatedV3.json new file mode 100644 index 00000000000..4f83ac7dcee --- /dev/null +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/05_eip6110_forkchoiceUpdatedV3.json @@ -0,0 +1,34 @@ +{ + "request": { + "jsonrpc": "2.0", + "method": "engine_forkchoiceUpdatedV3", + "params": [ + { + "headBlockHash": "0x45811fa27a100ce9035e5e086b9669275041a4ec0ebbd920be028fd7b0aa2356", + "safeBlockHash": "0x45811fa27a100ce9035e5e086b9669275041a4ec0ebbd920be028fd7b0aa2356", + "finalizedBlockHash": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "timestamp": "0x20", + "prevRandao": "0x0000000000000000000000000000000000000000000000000000000000000000", + "suggestedFeeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "withdrawals": [], + "parentBeaconBlockRoot": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + ], + "id": 67 + }, + "response": { + "jsonrpc": "2.0", + "id": 67, + "result": { + "payloadStatus": { + "status": "VALID", + "latestValidHash": "0x45811fa27a100ce9035e5e086b9669275041a4ec0ebbd920be028fd7b0aa2356", + "validationError": null + }, + "payloadId": "0x282643b9c2d2a4df" + } + }, + "statusCode": 200 +} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/05_eip6110_prepare_payload.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/05_eip6110_prepare_payload.json deleted file mode 100644 index d3d7ee37e30..00000000000 --- a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/05_eip6110_prepare_payload.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "request": { - "jsonrpc": "2.0", - "method": "engine_forkchoiceUpdatedV2", - "params": [ - { - "headBlockHash": "0xfdd94e3620a88f08927bffb318981a36b663a26e6fd62ab273eb800b90723c13", - "safeBlockHash": "0xfdd94e3620a88f08927bffb318981a36b663a26e6fd62ab273eb800b90723c13", - "finalizedBlockHash": "0x0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "timestamp": "0x20", - "prevRandao": "0x0000000000000000000000000000000000000000000000000000000000000000", - "suggestedFeeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "withdrawals": [ - { - "index": "0x0", - "validatorIndex": "0x0", - "address": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "amount": "0x1" - }, - { - "index": "0x1", - "validatorIndex": "0x0", - "address": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", - "amount": "0x2" - } - ] - } - ], - "id": 67 - }, - "response": { - "jsonrpc": "2.0", - "id": 67, - "result": { - "payloadStatus": { - "status": "VALID", - "latestValidHash": "0xfdd94e3620a88f08927bffb318981a36b663a26e6fd62ab273eb800b90723c13", - "validationError": null - }, - "payloadId": "0x0065bd63871ad606" - } - }, - "statusCode" : 200 -} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/06_eip6110_get_payload.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/06_eip6110_getPayloadV6110.json similarity index 58% rename from acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/06_eip6110_get_payload.json rename to acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/06_eip6110_getPayloadV6110.json index 8b311c2841c..9b1653a198d 100644 --- a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/06_eip6110_get_payload.json +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/06_eip6110_getPayloadV6110.json @@ -1,9 +1,9 @@ { "request": { "jsonrpc": "2.0", - "method": "engine_getPayloadV2", + "method": "engine_getPayloadV6110", "params": [ - "0x0065bd63871ad606" + "0x282643b9c2d2a4df" ], "id": 67 }, @@ -12,9 +12,9 @@ "id": 67, "result": { "executionPayload": { - "parentHash": "0xfdd94e3620a88f08927bffb318981a36b663a26e6fd62ab273eb800b90723c13", + "parentHash": "0x45811fa27a100ce9035e5e086b9669275041a4ec0ebbd920be028fd7b0aa2356", "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "stateRoot": "0x21395692fae33414143728c9ffc0aed8dcc76eb6731dd0f5a3239977478ca969", + "stateRoot": "0x9b8c4a9a86cb49252075c0db2f0e72fb1e49350a0f70ea36f26f700201961e62", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "prevRandao": "0x0000000000000000000000000000000000000000000000000000000000000000", "gasLimit": "0x1c9c380", @@ -22,27 +22,23 @@ "timestamp": "0x20", "extraData": "0x", "baseFeePerGas": "0x7", + "excessBlobGas": "0x0", + "parentBeaconBlockRoot": "0x0000000000000000000000000000000000000000000000000000000000000000", "transactions": [], - "withdrawals": [ - { - "index": "0x0", - "validatorIndex": "0x0", - "address": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "amount": "0x1" - }, - { - "index": "0x1", - "validatorIndex": "0x0", - "address": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", - "amount": "0x2" - } - ], - "deposits" : [], + "withdrawals": [], + "depositReceipts": [], "blockNumber": "0x2", - "blockHash": "0x4c4418c408aeadb4659d31d1c05108f26fabf713bb6f8cc487dba8424a725bf5", - "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421" + "blockHash": "0xf6c3f1180ba58d6ea4c69c9328c7afb1fda41df06c368741c1f8310567879de7", + "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "blobGasUsed": "0x0" }, - "blockValue": "0x0" + "blockValue": "0x0", + "blobsBundle": { + "commitments": [], + "proofs": [], + "blobs": [] + }, + "shouldOverrideBuilder": false } }, "statusCode": 200 diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/07_eip6110_send_raw_transaction.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/07_eip6110_send_raw_transaction.json new file mode 100644 index 00000000000..90072c28e0e --- /dev/null +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/07_eip6110_send_raw_transaction.json @@ -0,0 +1,14 @@ +{ + "request": { + "jsonrpc": "2.0", + "method": "eth_sendRawTransaction", + "params": ["0x02f9021c8217de808459682f008459682f0e830271009442424242424242424242424242424242424242428901bc16d674ec800000b901a422895118000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120749715de5d1226545c6b3790f515d551a5cc5bf1d49c87a696860554d2fc4f14000000000000000000000000000000000000000000000000000000000000003096a96086cff07df17668f35f7418ef8798079167e3f4f9b72ecde17b28226137cf454ab1dd20ef5d924786ab3483c2f9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020003f5102dabe0a27b1746098d1dc17a5d3fbd478759fea9287e4e419b3c3cef20000000000000000000000000000000000000000000000000000000000000060b1acdb2c4d3df3f1b8d3bfd33421660df358d84d78d16c4603551935f4b67643373e7eb63dcb16ec359be0ec41fee33b03a16e80745f2374ff1d3c352508ac5d857c6476d3c3bcf7e6ca37427c9209f17be3af5264c0e2132b3dd1156c28b4e9c080a09f597089338d7f44f5c59f8230bb38f243849228a8d4e9d2e2956e6050f5b2c7a076486996c7e62802b8f95eee114783e4b403fd11093ba96286ff42c595f24452"], + "id": 67 + }, + "response": { + "jsonrpc": "2.0", + "id": 67, + "result": "0x8ff1a50169f52f14cc1cf0300ec037c054a9b99df462e6372c7ca655bf1f00cd" + }, + "statusCode": 200 +} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/08_eip6110_execute_payload.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/08_eip6110_execute_payload.json deleted file mode 100644 index 6fe5f5a5640..00000000000 --- a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/08_eip6110_execute_payload.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "request": { - "jsonrpc": "2.0", - "method": "engine_newPayloadV2", - "params": [ - { - "parentHash": "0xfdd94e3620a88f08927bffb318981a36b663a26e6fd62ab273eb800b90723c13", - "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "stateRoot": "0x21395692fae33414143728c9ffc0aed8dcc76eb6731dd0f5a3239977478ca969", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "prevRandao": "0x0000000000000000000000000000000000000000000000000000000000000000", - "gasLimit": "0x1c9c380", - "gasUsed": "0x0", - "timestamp": "0x20", - "extraData": "0x", - "baseFeePerGas": "0x7", - "transactions": [], - "withdrawals": [ - { - "index": "0x0", - "validatorIndex": "0x0", - "address": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "amount": "0x1" - }, - { - "index": "0x1", - "validatorIndex": "0x0", - "address": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", - "amount": "0x2" - } - ], - "deposits": [], - "blockNumber": "0x2", - "blockHash": "0xdfdf57a09e352c38bb2873c5fd7d0d199481c6e13661c4a004d116417377b2e5", - "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421" - } - ], - "id": 67 - }, - "response": { - "jsonrpc": "2.0", - "id": 67, - "result": { - "status": "VALID", - "latestValidHash": "0xdfdf57a09e352c38bb2873c5fd7d0d199481c6e13661c4a004d116417377b2e5", - "validationError": null - } - }, - "statusCode": 200 -} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/07_eip6110_invalid_null_deposits_execute_payload.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/08_eip6110_invalid_null_deposits_execute_payload.json similarity index 57% rename from acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/07_eip6110_invalid_null_deposits_execute_payload.json rename to acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/08_eip6110_invalid_null_deposits_execute_payload.json index ebdd0ad81c2..ebf5de77500 100644 --- a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/07_eip6110_invalid_null_deposits_execute_payload.json +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/08_eip6110_invalid_null_deposits_execute_payload.json @@ -1,12 +1,12 @@ { "request": { "jsonrpc": "2.0", - "method": "engine_newPayloadV2", + "method": "engine_newPayloadV6110", "params": [ { - "parentHash": "0x4f88d512a0045bc6d447ba74a18eac0ed2ebb8d9faca325f5f55b2ca84be0705", + "parentHash": "0x45811fa27a100ce9035e5e086b9669275041a4ec0ebbd920be028fd7b0aa2356", "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "stateRoot": "0x1a10dba514dc4faff7ec13edd9b5ef653c1cd14eb26608bfc2b37717730a55a4", + "stateRoot": "0x9b8c4a9a86cb49252075c0db2f0e72fb1e49350a0f70ea36f26f700201961e62", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "prevRandao": "0x0000000000000000000000000000000000000000000000000000000000000000", "gasLimit": "0x1c9c380", @@ -14,26 +14,17 @@ "timestamp": "0x20", "extraData": "0x", "baseFeePerGas": "0x7", + "excessBlobGas": "0x0", "transactions": [], - "withdrawals": [ - { - "index": "0x0", - "validatorIndex": "0x0", - "address": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "amount": "0x1" - }, - { - "index": "0x1", - "validatorIndex": "0x0", - "address": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", - "amount": "0x2" - } - ], - "deposits": null, - "blockNumber": "0x3", - "blockHash": "0x1475ca311179652e44b10b7e2d7b72f3708f3201f8d729880a83f3eb397910e8", - "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421" - } + "withdrawals": [], + "depositReceipts" : null, + "blockNumber": "0x2", + "blockHash": "0xf6c3f1180ba58d6ea4c69c9328c7afb1fda41df06c368741c1f8310567879de7", + "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "blobGasUsed": "0x0" + }, + [], + "0x0000000000000000000000000000000000000000000000000000000000000000" ], "id": 67 }, @@ -42,7 +33,8 @@ "id": 67, "error": { "code": -32602, - "message": "Invalid params" + "message": "Invalid params", + "data" : "Missing deposit field" } }, "statusCode": 200 diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/09_eip6110_newPayloadV6110.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/09_eip6110_newPayloadV6110.json new file mode 100644 index 00000000000..0964114e62c --- /dev/null +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/09_eip6110_newPayloadV6110.json @@ -0,0 +1,45 @@ +{ + "request": { + "jsonrpc": "2.0", + "method": "engine_newPayloadV6110", + "params": [ + { + "parentHash": "0x45811fa27a100ce9035e5e086b9669275041a4ec0ebbd920be028fd7b0aa2356", + "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "stateRoot": "0x14208ac0e218167936e220b72d5d5887a963cb858ea2f2d268518f014a3da3fa", + "logsBloom": "0x10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000", + "prevRandao": "0x0000000000000000000000000000000000000000000000000000000000000000", + "gasLimit": "0x1c9c380", + "gasUsed": "0x14B6E", + "timestamp": "0x20", + "extraData": "0x", + "baseFeePerGas": "0x7", + "excessBlobGas": "0x0", + "transactions": [ + "0x02f9021c8217de808459682f008459682f0e830271009442424242424242424242424242424242424242428901bc16d674ec800000b901a422895118000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120749715de5d1226545c6b3790f515d551a5cc5bf1d49c87a696860554d2fc4f14000000000000000000000000000000000000000000000000000000000000003096a96086cff07df17668f35f7418ef8798079167e3f4f9b72ecde17b28226137cf454ab1dd20ef5d924786ab3483c2f9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020003f5102dabe0a27b1746098d1dc17a5d3fbd478759fea9287e4e419b3c3cef20000000000000000000000000000000000000000000000000000000000000060b1acdb2c4d3df3f1b8d3bfd33421660df358d84d78d16c4603551935f4b67643373e7eb63dcb16ec359be0ec41fee33b03a16e80745f2374ff1d3c352508ac5d857c6476d3c3bcf7e6ca37427c9209f17be3af5264c0e2132b3dd1156c28b4e9c080a09f597089338d7f44f5c59f8230bb38f243849228a8d4e9d2e2956e6050f5b2c7a076486996c7e62802b8f95eee114783e4b403fd11093ba96286ff42c595f24452" + ], + "withdrawals": [], + "depositReceipts" : [ + {"amount":"0x773594000","index":"0x0","pubkey":"0x96a96086cff07df17668f35f7418ef8798079167e3f4f9b72ecde17b28226137cf454ab1dd20ef5d924786ab3483c2f9","signature":"0xb1acdb2c4d3df3f1b8d3bfd33421660df358d84d78d16c4603551935f4b67643373e7eb63dcb16ec359be0ec41fee33b03a16e80745f2374ff1d3c352508ac5d857c6476d3c3bcf7e6ca37427c9209f17be3af5264c0e2132b3dd1156c28b4e9","withdrawalCredentials":"0x003f5102dabe0a27b1746098d1dc17a5d3fbd478759fea9287e4e419b3c3cef2"} + ], + "blockNumber": "0x2", + "blockHash": "0xb3b483867217b83b1e4a2f95c84d2da30cbff12eb8636f2becbcc05f4507fa7a", + "receiptsRoot": "0x79ee3424eb720a3ad4b1c5a372bb8160580cbe4d893778660f34213c685627a9", + "blobGasUsed": "0x0" + }, + [], + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "id": 67 + }, + "response": { + "jsonrpc": "2.0", + "id": 67, + "result": { + "status": "VALID", + "latestValidHash": "0xb3b483867217b83b1e4a2f95c84d2da30cbff12eb8636f2becbcc05f4507fa7a", + "validationError": null + } + }, + "statusCode": 200 +} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/10_eip6110_forkchoiceUpdatedV3.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/10_eip6110_forkchoiceUpdatedV3.json new file mode 100644 index 00000000000..5a32569d611 --- /dev/null +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/10_eip6110_forkchoiceUpdatedV3.json @@ -0,0 +1,34 @@ +{ + "request": { + "jsonrpc": "2.0", + "method": "engine_forkchoiceUpdatedV3", + "params": [ + { + "headBlockHash": "0xb3b483867217b83b1e4a2f95c84d2da30cbff12eb8636f2becbcc05f4507fa7a", + "safeBlockHash": "0xb3b483867217b83b1e4a2f95c84d2da30cbff12eb8636f2becbcc05f4507fa7a", + "finalizedBlockHash": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "timestamp": "0x30", + "prevRandao": "0x0000000000000000000000000000000000000000000000000000000000000000", + "suggestedFeeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "withdrawals": [], + "parentBeaconBlockRoot": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + ], + "id": 67 + }, + "response": { + "jsonrpc": "2.0", + "id": 67, + "result": { + "payloadStatus": { + "status": "VALID", + "latestValidHash": "0xb3b483867217b83b1e4a2f95c84d2da30cbff12eb8636f2becbcc05f4507fa7a", + "validationError": null + }, + "payloadId": "0x282643daa04b7631" + } + }, + "statusCode" : 200 +} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/11_eip6110_getPayloadV6110.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/11_eip6110_getPayloadV6110.json new file mode 100644 index 00000000000..6c546cd267d --- /dev/null +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/eip6110/test-cases/11_eip6110_getPayloadV6110.json @@ -0,0 +1,45 @@ +{ + "request": { + "jsonrpc": "2.0", + "method": "engine_getPayloadV6110", + "params": [ + "0x282643daa04b7631" + ], + "id": 67 + }, + "response": { + "jsonrpc": "2.0", + "id": 67, + "result": { + "executionPayload": { + "parentHash": "0xb3b483867217b83b1e4a2f95c84d2da30cbff12eb8636f2becbcc05f4507fa7a", + "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "stateRoot": "0x14208ac0e218167936e220b72d5d5887a963cb858ea2f2d268518f014a3da3fa", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "prevRandao": "0x0000000000000000000000000000000000000000000000000000000000000000", + "gasLimit": "0x1c9c380", + "gasUsed": "0x0", + "timestamp": "0x30", + "extraData": "0x", + "baseFeePerGas": "0x7", + "excessBlobGas": "0x0", + "parentBeaconBlockRoot": "0x0000000000000000000000000000000000000000000000000000000000000000", + "transactions": [], + "withdrawals": [], + "depositReceipts": [], + "blockNumber": "0x3", + "blockHash": "0xa28bf4db3363ce5b67848eb2ad52dbfead62ddb2287ae7eed36daa002528d1af", + "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "blobGasUsed": "0x0" + }, + "blockValue": "0x0", + "blobsBundle": { + "commitments": [], + "proofs": [], + "blobs": [] + }, + "shouldOverrideBuilder": false + } + }, + "statusCode": 200 +} \ No newline at end of file diff --git a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/shanghai/test-cases/08_shanghai_getPayloadV2.json b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/shanghai/test-cases/08_shanghai_getPayloadV2.json index 2da9be48f4e..072e5146d0a 100644 --- a/acceptance-tests/tests/src/test/resources/jsonrpc/engine/shanghai/test-cases/08_shanghai_getPayloadV2.json +++ b/acceptance-tests/tests/src/test/resources/jsonrpc/engine/shanghai/test-cases/08_shanghai_getPayloadV2.json @@ -37,7 +37,6 @@ "amount": "0x2" } ], - "deposits": null, "blockNumber": "0x2", "blockHash": "0x612abd8615f544759d4aeb3dbab32f5f198a8b818e9c5436e9f7a674ef3b0f20", "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421" diff --git a/besu/src/main/java/org/hyperledger/besu/cli/BesuCommand.java b/besu/src/main/java/org/hyperledger/besu/cli/BesuCommand.java index 75c44198877..d7ce4dfa539 100644 --- a/besu/src/main/java/org/hyperledger/besu/cli/BesuCommand.java +++ b/besu/src/main/java/org/hyperledger/besu/cli/BesuCommand.java @@ -177,7 +177,7 @@ import org.hyperledger.besu.plugin.services.securitymodule.SecurityModule; import org.hyperledger.besu.plugin.services.storage.PrivacyKeyValueStorageFactory; import org.hyperledger.besu.plugin.services.storage.rocksdb.RocksDBPlugin; -import org.hyperledger.besu.plugin.services.txselection.TransactionSelectorFactory; +import org.hyperledger.besu.plugin.services.txselection.PluginTransactionSelectorFactory; import org.hyperledger.besu.plugin.services.txvalidator.PluginTransactionValidatorFactory; import org.hyperledger.besu.services.BesuEventsImpl; import org.hyperledger.besu.services.BesuPluginContextImpl; @@ -1294,6 +1294,11 @@ static class PermissionsOptionGroup { "Specifies the maximum number of blocks to retrieve logs from via RPC. Must be >=0. 0 specifies no limit (default: ${DEFAULT-VALUE})") private final Long rpcMaxLogsRange = 5000L; + @CommandLine.Option( + names = {"--cache-last-blocks"}, + description = "Specifies the number of last blocks to cache (default: ${DEFAULT-VALUE})") + private final Integer numberOfblocksToCache = 0; + @Mixin private P2PTLSConfigOptions p2pTLSConfigOptions; @Mixin private PkiBlockCreationOptions pkiBlockCreationOptions; @@ -2290,11 +2295,12 @@ public BesuControllerBuilder getControllerBuilder() { .lowerBoundPeers(peersLowerBound) .maxRemotelyInitiatedPeers(maxRemoteInitiatedPeers) .randomPeerPriority(p2PDiscoveryOptionGroup.randomPeerPriority) - .chainPruningConfiguration(unstableChainPruningOptions.toDomainObject()); + .chainPruningConfiguration(unstableChainPruningOptions.toDomainObject()) + .cacheLastBlocks(numberOfblocksToCache); } @NotNull - private Optional getTransactionSelectorFactory() { + private Optional getTransactionSelectorFactory() { final Optional txSelectionService = besuPluginContext.getService(TransactionSelectionService.class); return txSelectionService.isPresent() ? txSelectionService.get().get() : Optional.empty(); @@ -3549,6 +3555,8 @@ private String generateConfigurationOverview() { builder.setTxPoolImplementation(buildTransactionPoolConfiguration().getTxPoolImplementation()); + builder.setPluginContext(besuComponent.getBesuPluginContext()); + return builder.build(); } } diff --git a/besu/src/main/java/org/hyperledger/besu/cli/ConfigurationOverviewBuilder.java b/besu/src/main/java/org/hyperledger/besu/cli/ConfigurationOverviewBuilder.java index 5bd1d84a298..508b195a8eb 100644 --- a/besu/src/main/java/org/hyperledger/besu/cli/ConfigurationOverviewBuilder.java +++ b/besu/src/main/java/org/hyperledger/besu/cli/ConfigurationOverviewBuilder.java @@ -16,6 +16,7 @@ import org.hyperledger.besu.BesuInfo; import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolConfiguration; +import org.hyperledger.besu.services.BesuPluginContextImpl; import org.hyperledger.besu.util.log.FramedLogMessage; import org.hyperledger.besu.util.platform.PlatformDetector; @@ -50,6 +51,7 @@ public class ConfigurationOverviewBuilder { private boolean isHighSpec = false; private TransactionPoolConfiguration.Implementation txPoolImplementation; private Map environment; + private BesuPluginContextImpl besuPluginContext; /** * @param logger the logger @@ -193,7 +195,7 @@ public ConfigurationOverviewBuilder setEngineJwtFile(final String engineJwtFileP /** * Sets the environment variables. * - * @param environment the enveironment variables + * @param environment the environment variables * @return the builder */ public ConfigurationOverviewBuilder setEnvironment(final Map environment) { @@ -277,6 +279,12 @@ public String build() { lines.add("Total memory: " + normalizeSize(hardwareInfo.getMemory().getTotal())); lines.add("CPU cores: " + hardwareInfo.getProcessor().getLogicalProcessorCount()); + lines.add(""); + + if (besuPluginContext != null) { + lines.addAll(besuPluginContext.getPluginsSummaryLog()); + } + return FramedLogMessage.generate(lines); } @@ -308,4 +316,13 @@ private void detectJemalloc(final List lines) { private String normalizeSize(final long size) { return String.format("%.02f", (double) (size) / 1024 / 1024 / 1024) + " GB"; } + + /** + * set the plugin context + * + * @param besuPluginContext the plugin context + */ + public void setPluginContext(final BesuPluginContextImpl besuPluginContext) { + this.besuPluginContext = besuPluginContext; + } } diff --git a/besu/src/main/java/org/hyperledger/besu/cli/options/stable/TransactionPoolOptions.java b/besu/src/main/java/org/hyperledger/besu/cli/options/stable/TransactionPoolOptions.java index 6353618d24d..d481e0453a0 100644 --- a/besu/src/main/java/org/hyperledger/besu/cli/options/stable/TransactionPoolOptions.java +++ b/besu/src/main/java/org/hyperledger/besu/cli/options/stable/TransactionPoolOptions.java @@ -24,6 +24,7 @@ import org.hyperledger.besu.cli.converter.PercentageConverter; import org.hyperledger.besu.cli.options.CLIOptions; import org.hyperledger.besu.cli.util.CommandLineUtils; +import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.eth.transactions.ImmutableTransactionPoolConfiguration; import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolConfiguration; @@ -32,19 +33,25 @@ import java.io.File; import java.util.List; +import java.util.Set; import picocli.CommandLine; /** The Transaction pool Cli stable options. */ public class TransactionPoolOptions implements CLIOptions { private static final String TX_POOL_IMPLEMENTATION = "--tx-pool"; + /** Use TX_POOL_NO_LOCAL_PRIORITY instead */ + @Deprecated(forRemoval = true) private static final String TX_POOL_DISABLE_LOCALS = "--tx-pool-disable-locals"; + + private static final String TX_POOL_NO_LOCAL_PRIORITY = "--tx-pool-no-local-priority"; private static final String TX_POOL_ENABLE_SAVE_RESTORE = "--tx-pool-enable-save-restore"; private static final String TX_POOL_SAVE_FILE = "--tx-pool-save-file"; private static final String TX_POOL_PRICE_BUMP = "--tx-pool-price-bump"; private static final String RPC_TX_FEECAP = "--rpc-tx-feecap"; private static final String STRICT_TX_REPLAY_PROTECTION_ENABLED_FLAG = "--strict-tx-replay-protection-enabled"; + private static final String TX_POOL_PRIORITY_SENDERS = "--tx-pool-priority-senders"; @CommandLine.Option( names = {TX_POOL_IMPLEMENTATION}, @@ -54,13 +61,13 @@ public class TransactionPoolOptions implements CLIOptions prioritySenders = TransactionPoolConfiguration.DEFAULT_PRIORITY_SENDERS; + @CommandLine.ArgGroup( validate = false, heading = "@|bold Tx Pool Layered Implementation Options|@%n") @@ -200,11 +216,12 @@ public static TransactionPoolOptions fromConfig(final TransactionPoolConfigurati final TransactionPoolOptions options = TransactionPoolOptions.create(); options.txPoolImplementation = config.getTxPoolImplementation(); options.saveRestoreEnabled = config.getEnableSaveRestore(); - options.disableLocalTxs = config.getDisableLocalTransactions(); + options.noLocalPriority = config.getNoLocalPriority(); options.priceBump = config.getPriceBump(); options.txFeeCap = config.getTxFeeCap(); options.saveFile = config.getSaveFile(); options.strictTxReplayProtectionEnabled = config.getStrictTransactionReplayProtectionEnabled(); + options.prioritySenders = config.getPrioritySenders(); options.layeredOptions.txPoolLayerMaxCapacity = config.getPendingTransactionsLayerMaxCapacityBytes(); options.layeredOptions.txPoolMaxPrioritized = config.getMaxPrioritizedTransactions(); @@ -242,11 +259,12 @@ public TransactionPoolConfiguration toDomainObject() { return ImmutableTransactionPoolConfiguration.builder() .txPoolImplementation(txPoolImplementation) .enableSaveRestore(saveRestoreEnabled) - .disableLocalTransactions(disableLocalTxs) + .noLocalPriority(noLocalPriority) .priceBump(priceBump) .txFeeCap(txFeeCap) .saveFile(saveFile) .strictTransactionReplayProtectionEnabled(strictTxReplayProtectionEnabled) + .prioritySenders(prioritySenders) .pendingTransactionsLayerMaxCapacityBytes(layeredOptions.txPoolLayerMaxCapacity) .maxPrioritizedTransactions(layeredOptions.txPoolMaxPrioritized) .maxFutureBySender(layeredOptions.txPoolMaxFutureBySender) diff --git a/besu/src/main/java/org/hyperledger/besu/cli/util/CommandLineUtils.java b/besu/src/main/java/org/hyperledger/besu/cli/util/CommandLineUtils.java index 0115420005e..a44e616bd3d 100644 --- a/besu/src/main/java/org/hyperledger/besu/cli/util/CommandLineUtils.java +++ b/besu/src/main/java/org/hyperledger/besu/cli/util/CommandLineUtils.java @@ -110,7 +110,7 @@ public static void checkMultiOptionDependencies( } /** - * Fail if option doesnt meet requirement. + * Fail if option doesn't meet requirement. * * @param commandLine the command line * @param errorMessage the error message @@ -126,7 +126,8 @@ public static void failIfOptionDoesntMeetRequirement( final String affectedOptions = getAffectedOptions(commandLine, dependentOptionsNames); if (!affectedOptions.isEmpty()) { - throw new CommandLine.ParameterException(commandLine, errorMessage); + throw new CommandLine.ParameterException( + commandLine, errorMessage + " [" + affectedOptions + "]"); } } } diff --git a/besu/src/main/java/org/hyperledger/besu/controller/BesuControllerBuilder.java b/besu/src/main/java/org/hyperledger/besu/controller/BesuControllerBuilder.java index d023cdd76da..802be1215b5 100644 --- a/besu/src/main/java/org/hyperledger/besu/controller/BesuControllerBuilder.java +++ b/besu/src/main/java/org/hyperledger/besu/controller/BesuControllerBuilder.java @@ -95,7 +95,7 @@ import org.hyperledger.besu.metrics.ObservableMetricsSystem; import org.hyperledger.besu.plugin.services.MetricsSystem; import org.hyperledger.besu.plugin.services.permissioning.NodeMessagePermissioningProvider; -import org.hyperledger.besu.plugin.services.txselection.TransactionSelectorFactory; +import org.hyperledger.besu.plugin.services.txselection.PluginTransactionSelectorFactory; import org.hyperledger.besu.plugin.services.txvalidator.PluginTransactionValidatorFactory; import java.io.Closeable; @@ -182,12 +182,14 @@ public abstract class BesuControllerBuilder implements MiningParameterOverrides private NetworkingConfiguration networkingConfiguration; private Boolean randomPeerPriority; - private Optional transactionSelectorFactory = Optional.empty(); + private Optional transactionSelectorFactory = Optional.empty(); /** the Dagger configured context that can provide dependencies */ protected Optional besuComponent = Optional.empty(); private PluginTransactionValidatorFactory pluginTransactionValidatorFactory; + private int numberOfBlocksToCache = 0; + /** * Provide a BesuComponent which can be used to get other dependencies * @@ -505,6 +507,17 @@ public BesuControllerBuilder chainPruningConfiguration( return this; } + /** + * Chain pruning configuration besu controller builder. + * + * @param numberOfBlocksToCache the number of blocks to cache + * @return the besu controller builder + */ + public BesuControllerBuilder cacheLastBlocks(final Integer numberOfBlocksToCache) { + this.numberOfBlocksToCache = numberOfBlocksToCache; + return this; + } + /** * sets the networkConfiguration in the builder * @@ -535,7 +548,7 @@ public BesuControllerBuilder randomPeerPriority(final Boolean randomPeerPriority * @return the besu controller builder */ public BesuControllerBuilder transactionSelectorFactory( - final Optional transactionSelectorFactory) { + final Optional transactionSelectorFactory) { this.transactionSelectorFactory = transactionSelectorFactory; return this; } @@ -592,7 +605,8 @@ public BesuController build() { blockchainStorage, metricsSystem, reorgLoggingThreshold, - dataDirectory.toString()); + dataDirectory.toString(), + numberOfBlocksToCache); final CachedMerkleTrieLoader cachedMerkleTrieLoader = besuComponent @@ -1035,7 +1049,7 @@ protected ProtocolContext createProtocolContext( final WorldStateArchive worldStateArchive, final ProtocolSchedule protocolSchedule, final ConsensusContextFactory consensusContextFactory, - final Optional transactionSelectorFactory) { + final Optional transactionSelectorFactory) { return ProtocolContext.init( blockchain, worldStateArchive, diff --git a/besu/src/main/java/org/hyperledger/besu/controller/ConsensusScheduleBesuControllerBuilder.java b/besu/src/main/java/org/hyperledger/besu/controller/ConsensusScheduleBesuControllerBuilder.java index 6d0d02b22f0..921289c66e5 100644 --- a/besu/src/main/java/org/hyperledger/besu/controller/ConsensusScheduleBesuControllerBuilder.java +++ b/besu/src/main/java/org/hyperledger/besu/controller/ConsensusScheduleBesuControllerBuilder.java @@ -62,7 +62,7 @@ import org.hyperledger.besu.evm.internal.EvmConfiguration; import org.hyperledger.besu.metrics.ObservableMetricsSystem; import org.hyperledger.besu.plugin.services.permissioning.NodeMessagePermissioningProvider; -import org.hyperledger.besu.plugin.services.txselection.TransactionSelectorFactory; +import org.hyperledger.besu.plugin.services.txselection.PluginTransactionSelectorFactory; import java.math.BigInteger; import java.nio.file.Path; @@ -176,7 +176,7 @@ protected ProtocolContext createProtocolContext( final WorldStateArchive worldStateArchive, final ProtocolSchedule protocolSchedule, final ConsensusContextFactory consensusContextFactory, - final Optional transactionSelectorFactory) { + final Optional transactionSelectorFactory) { return MigratingProtocolContext.init( blockchain, worldStateArchive, diff --git a/besu/src/main/java/org/hyperledger/besu/controller/TransitionBesuControllerBuilder.java b/besu/src/main/java/org/hyperledger/besu/controller/TransitionBesuControllerBuilder.java index 9323f3b81d6..6db71ef81ca 100644 --- a/besu/src/main/java/org/hyperledger/besu/controller/TransitionBesuControllerBuilder.java +++ b/besu/src/main/java/org/hyperledger/besu/controller/TransitionBesuControllerBuilder.java @@ -60,7 +60,7 @@ import org.hyperledger.besu.evm.internal.EvmConfiguration; import org.hyperledger.besu.metrics.ObservableMetricsSystem; import org.hyperledger.besu.plugin.services.permissioning.NodeMessagePermissioningProvider; -import org.hyperledger.besu.plugin.services.txselection.TransactionSelectorFactory; +import org.hyperledger.besu.plugin.services.txselection.PluginTransactionSelectorFactory; import java.math.BigInteger; import java.nio.file.Path; @@ -190,7 +190,7 @@ protected ProtocolContext createProtocolContext( final WorldStateArchive worldStateArchive, final ProtocolSchedule protocolSchedule, final ConsensusContextFactory consensusContextFactory, - final Optional transactionSelectorFactory) { + final Optional transactionSelectorFactory) { final ProtocolContext protocolContext = super.createProtocolContext( blockchain, diff --git a/besu/src/main/java/org/hyperledger/besu/services/BesuPluginContextImpl.java b/besu/src/main/java/org/hyperledger/besu/services/BesuPluginContextImpl.java index 04bf5447a44..184c85f45de 100644 --- a/besu/src/main/java/org/hyperledger/besu/services/BesuPluginContextImpl.java +++ b/besu/src/main/java/org/hyperledger/besu/services/BesuPluginContextImpl.java @@ -75,6 +75,7 @@ private enum Lifecycle { private final Map, ? super BesuService> serviceRegistry = new HashMap<>(); private final List plugins = new ArrayList<>(); private final List pluginVersions = new ArrayList<>(); + final List lines = new ArrayList<>(); /** * Add service. @@ -104,6 +105,7 @@ public Optional getService(final Class serviceType * @param pluginsDir the plugins dir */ public void registerPlugins(final Path pluginsDir) { + lines.add("Plugins:"); checkState( state == Lifecycle.UNINITIALIZED, "Besu plugins have already been registered. Cannot register additional plugins."); @@ -116,10 +118,13 @@ public void registerPlugins(final Path pluginsDir) { final ServiceLoader serviceLoader = ServiceLoader.load(BesuPlugin.class, pluginLoader); + int pluginsCount = 0; for (final BesuPlugin plugin : serviceLoader) { + pluginsCount++; try { plugin.register(this); LOG.info("Registered plugin of type {}.", plugin.getClass().getName()); + lines.add(String.format(plugin.getClass().getSimpleName())); addPluginVersion(plugin); } catch (final Exception e) { LOG.error( @@ -127,16 +132,30 @@ public void registerPlugins(final Path pluginsDir) { + plugin.getClass().getName() + ", start and stop will not be called.", e); + lines.add(String.format("ERROR %s", plugin.getClass().getSimpleName())); continue; } plugins.add(plugin); } LOG.debug("Plugin registration complete."); + lines.add( + String.format( + "TOTAL = %d of %d plugins successfully loaded", plugins.size(), pluginsCount)); + lines.add(String.format("from %s", pluginsDir.toAbsolutePath())); state = Lifecycle.REGISTERED; } + /** + * get the summary log, as a list of string lines + * + * @return the summary + */ + public List getPluginsSummaryLog() { + return lines; + } + private void addPluginVersion(final BesuPlugin plugin) { final Package pluginPackage = plugin.getClass().getPackage(); final String implTitle = @@ -259,7 +278,7 @@ List getPlugins() { private Optional pluginDirectoryLoader(final Path pluginsDir) { if (pluginsDir != null && pluginsDir.toFile().isDirectory()) { - LOG.debug("Searching for plugins in {}", pluginsDir.toAbsolutePath().toString()); + LOG.debug("Searching for plugins in {}", pluginsDir.toAbsolutePath()); try (final Stream pluginFilesList = Files.list(pluginsDir)) { final URL[] pluginJarURLs = diff --git a/besu/src/main/java/org/hyperledger/besu/services/RpcEndpointServiceImpl.java b/besu/src/main/java/org/hyperledger/besu/services/RpcEndpointServiceImpl.java index 4513bf0bf39..94bb5560839 100644 --- a/besu/src/main/java/org/hyperledger/besu/services/RpcEndpointServiceImpl.java +++ b/besu/src/main/java/org/hyperledger/besu/services/RpcEndpointServiceImpl.java @@ -28,7 +28,7 @@ import java.util.function.Function; import java.util.stream.Collectors; -/** The Rpc endpoint service implementation. */ +/** The RPC endpoint service implementation. */ public class RpcEndpointServiceImpl implements RpcEndpointService { private final Map> rpcMethods = new HashMap<>(); diff --git a/besu/src/main/java/org/hyperledger/besu/services/TransactionSelectionServiceImpl.java b/besu/src/main/java/org/hyperledger/besu/services/TransactionSelectionServiceImpl.java index 42b1ae88a76..3175fe731f9 100644 --- a/besu/src/main/java/org/hyperledger/besu/services/TransactionSelectionServiceImpl.java +++ b/besu/src/main/java/org/hyperledger/besu/services/TransactionSelectionServiceImpl.java @@ -15,23 +15,23 @@ package org.hyperledger.besu.services; import org.hyperledger.besu.plugin.services.TransactionSelectionService; -import org.hyperledger.besu.plugin.services.txselection.TransactionSelectorFactory; +import org.hyperledger.besu.plugin.services.txselection.PluginTransactionSelectorFactory; import java.util.Optional; /** The Transaction Selection service implementation. */ public class TransactionSelectionServiceImpl implements TransactionSelectionService { - private Optional factory = Optional.empty(); + private Optional factory = Optional.empty(); @Override - public Optional get() { + public Optional get() { return factory; } @Override public void registerTransactionSelectorFactory( - final TransactionSelectorFactory transactionSelectorFactory) { + final PluginTransactionSelectorFactory transactionSelectorFactory) { factory = Optional.ofNullable(transactionSelectorFactory); } } diff --git a/besu/src/test/java/org/hyperledger/besu/cli/BesuCommandTest.java b/besu/src/test/java/org/hyperledger/besu/cli/BesuCommandTest.java index 553220c9431..af28e7ba7c2 100644 --- a/besu/src/test/java/org/hyperledger/besu/cli/BesuCommandTest.java +++ b/besu/src/test/java/org/hyperledger/besu/cli/BesuCommandTest.java @@ -5585,4 +5585,16 @@ public void snapsyncForHealingFeaturesShouldFailWhenHealingIsNotEnabled() { .contains( "--Xsnapsync-synchronizer-flat option can only be used when -Xsnapsync-synchronizer-flat-db-healing-enabled is true"); } + + @Test + public void cacheLastBlocksOptionShouldWork() { + int numberOfBlocksToCache = 512; + parseCommand("--cache-last-blocks", String.valueOf(numberOfBlocksToCache)); + verify(mockControllerBuilder).cacheLastBlocks(intArgumentCaptor.capture()); + verify(mockControllerBuilder).build(); + + assertThat(intArgumentCaptor.getValue()).isEqualTo(numberOfBlocksToCache); + assertThat(commandOutput.toString(UTF_8)).isEmpty(); + assertThat(commandErrorOutput.toString(UTF_8)).isEmpty(); + } } diff --git a/besu/src/test/java/org/hyperledger/besu/cli/CommandTestAbstract.java b/besu/src/test/java/org/hyperledger/besu/cli/CommandTestAbstract.java index 126052df0b9..1c991d64935 100644 --- a/besu/src/test/java/org/hyperledger/besu/cli/CommandTestAbstract.java +++ b/besu/src/test/java/org/hyperledger/besu/cli/CommandTestAbstract.java @@ -245,6 +245,8 @@ public void initMocks() throws Exception { .thenReturn(mockControllerBuilder); when(mockControllerBuilder.besuComponent(any(BesuComponent.class))) .thenReturn(mockControllerBuilder); + when(mockControllerBuilder.cacheLastBlocks(any())).thenReturn(mockControllerBuilder); + // doReturn used because of generic BesuController doReturn(mockController).when(mockControllerBuilder).build(); lenient().when(mockController.getProtocolManager()).thenReturn(mockEthProtocolManager); diff --git a/besu/src/test/java/org/hyperledger/besu/cli/options/stable/TransactionPoolOptionsTest.java b/besu/src/test/java/org/hyperledger/besu/cli/options/stable/TransactionPoolOptionsTest.java index 1f0705e9948..e7977a921e1 100644 --- a/besu/src/test/java/org/hyperledger/besu/cli/options/stable/TransactionPoolOptionsTest.java +++ b/besu/src/test/java/org/hyperledger/besu/cli/options/stable/TransactionPoolOptionsTest.java @@ -20,6 +20,7 @@ import org.hyperledger.besu.cli.options.AbstractCLIOptionsTest; import org.hyperledger.besu.cli.options.OptionParser; +import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.eth.transactions.ImmutableTransactionPoolConfiguration; import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolConfiguration; @@ -73,20 +74,20 @@ public void pendingTransactionRetentionPeriod() { @Test public void disableLocalsDefault() { - internalTestSuccess(config -> assertThat(config.getDisableLocalTransactions()).isFalse()); + internalTestSuccess(config -> assertThat(config.getNoLocalPriority()).isFalse()); } @Test public void disableLocalsOn() { internalTestSuccess( - config -> assertThat(config.getDisableLocalTransactions()).isTrue(), + config -> assertThat(config.getNoLocalPriority()).isTrue(), "--tx-pool-disable-locals=true"); } @Test public void disableLocalsOff() { internalTestSuccess( - config -> assertThat(config.getDisableLocalTransactions()).isFalse(), + config -> assertThat(config.getNoLocalPriority()).isFalse(), "--tx-pool-disable-locals=false"); } @@ -214,6 +215,61 @@ public void failIfLayeredOptionsWhenLegacySelectedByArg() { "--tx-pool-max-prioritized=1000"); } + @Test + public void byDefaultNoPrioritySenders() { + internalTestSuccess(config -> assertThat(config.getPrioritySenders()).isEmpty()); + } + + @Test + public void onePrioritySenderWorks() { + final Address prioritySender = Address.fromHexString("0xABC123"); + internalTestSuccess( + config -> assertThat(config.getPrioritySenders()).containsExactly(prioritySender), + "--tx-pool-priority-senders", + prioritySender.toHexString()); + } + + @Test + public void morePrioritySendersWorks() { + final Address prioritySender1 = Address.fromHexString("0xABC123"); + final Address prioritySender2 = Address.fromHexString("0xDEF456"); + final Address prioritySender3 = Address.fromHexString("0x789000"); + internalTestSuccess( + config -> + assertThat(config.getPrioritySenders()) + .containsExactly(prioritySender1, prioritySender2, prioritySender3), + "--tx-pool-priority-senders", + prioritySender1.toHexString() + + "," + + prioritySender2.toHexString() + + "," + + prioritySender3.toHexString()); + } + + @Test + public void atLeastOnePrioritySenders() { + internalTestFailure( + "Missing required parameter for option '--tx-pool-priority-senders' at index 0 (Comma separated list of addresses)", + "--tx-pool-priority-senders"); + } + + @Test + public void malformedListOfPrioritySenders() { + final Address prioritySender1 = Address.fromHexString("0xABC123"); + final Address prioritySender2 = Address.fromHexString("0xDEF456"); + final Address prioritySender3 = Address.fromHexString("0x789000"); + internalTestFailure( + "Invalid value for option '--tx-pool-priority-senders' at index 0 (Comma separated list of addresses): " + + "cannot convert '0x0000000000000000000000000000000000abc123;0x0000000000000000000000000000000000def456' " + + "to Address (java.lang.IllegalArgumentException: Invalid odd-length hex binary representation)", + "--tx-pool-priority-senders", + prioritySender1.toHexString() + + ";" + + prioritySender2.toHexString() + + "," + + prioritySender3.toHexString()); + } + @Override protected TransactionPoolConfiguration createDefaultDomainObject() { return TransactionPoolConfiguration.DEFAULT; diff --git a/besu/src/test/resources/everything_config.toml b/besu/src/test/resources/everything_config.toml index e88acec6dc9..f4c1d517d91 100644 --- a/besu/src/test/resources/everything_config.toml +++ b/besu/src/test/resources/everything_config.toml @@ -88,6 +88,7 @@ rpc-http-max-batch-size=1 rpc-http-max-request-content-length = 5242880 rpc-max-logs-range=100 json-pretty-print-enabled=false +cache-last-blocks=512 # PRIVACY TLS privacy-tls-enabled=false @@ -174,7 +175,8 @@ tx-pool="layered" tx-pool-price-bump=13 rpc-tx-feecap=2000000000000000000 strict-tx-replay-protection-enabled=true -tx-pool-disable-locals=false +tx-pool-no-local-priority=false +tx-pool-priority-senders=["0xABC0000000000000000000000000000000001234","0xDEF0000000000000000000000000000000001234"] tx-pool-enable-save-restore=true tx-pool-save-file="txpool.dump" ## Layered @@ -226,4 +228,4 @@ Xp2p-tls-crl-file="none.file" Xp2p-tls-clienthello-sni=false #contracts -Xevm-jumpdest-cache-weight-kb=32000 +Xevm-jumpdest-cache-weight-kb=32000 \ No newline at end of file diff --git a/build.gradle b/build.gradle index 8ce41eb46f1..a1950eb65db 100644 --- a/build.gradle +++ b/build.gradle @@ -14,6 +14,7 @@ */ +import groovy.transform.CompileStatic import groovy.transform.Memoized import net.ltgt.gradle.errorprone.CheckSeverity @@ -147,7 +148,20 @@ allprojects { } } - dependencies { errorprone 'com.google.errorprone:error_prone_core' } + dependencies { + components.all(BouncyCastleCapability) + errorprone 'com.google.errorprone:error_prone_core' + } + + configurations.all { + resolutionStrategy.capabilitiesResolution.withCapability('org.bouncycastle:bcprov-jdk18on') { + selectHighestVersion() + } + resolutionStrategy.capabilitiesResolution.withCapability('org.bouncycastle:bcpkix-jdk18on') { + selectHighestVersion() + } + } + apply plugin: 'com.diffplug.spotless' spotless { @@ -1044,6 +1058,29 @@ dependencies { errorprone 'com.google.errorprone:error_prone_core' } +@CompileStatic +class BouncyCastleCapability implements ComponentMetadataRule { + void execute(ComponentMetadataContext context) { + context.details.with { + if (id.group == "org.bouncycastle") { + if(id.name == "bcprov-jdk15on") { + allVariants { + it.withCapabilities { + it.addCapability("org.bouncycastle", "bcprov-jdk18on", "0") + } + } + } else if(id.name == "bcpkix-jdk15on") { + allVariants { + it.withCapabilities { + it.addCapability("org.bouncycastle", "bcpkix-jdk18on", "0") + } + } + } + } + } + } +} + distributions { main { contents { diff --git a/consensus/common/src/main/java/org/hyperledger/besu/consensus/common/MigratingProtocolContext.java b/consensus/common/src/main/java/org/hyperledger/besu/consensus/common/MigratingProtocolContext.java index e4304a3dbd0..32099e23fdf 100644 --- a/consensus/common/src/main/java/org/hyperledger/besu/consensus/common/MigratingProtocolContext.java +++ b/consensus/common/src/main/java/org/hyperledger/besu/consensus/common/MigratingProtocolContext.java @@ -20,7 +20,7 @@ import org.hyperledger.besu.ethereum.chain.MutableBlockchain; import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule; import org.hyperledger.besu.ethereum.worldstate.WorldStateArchive; -import org.hyperledger.besu.plugin.services.txselection.TransactionSelectorFactory; +import org.hyperledger.besu.plugin.services.txselection.PluginTransactionSelectorFactory; import java.util.Optional; @@ -41,7 +41,7 @@ public MigratingProtocolContext( final MutableBlockchain blockchain, final WorldStateArchive worldStateArchive, final ForksSchedule consensusContextSchedule, - final Optional transactionSelectorFactory) { + final Optional transactionSelectorFactory) { super(blockchain, worldStateArchive, null, transactionSelectorFactory); this.consensusContextSchedule = consensusContextSchedule; } @@ -61,7 +61,7 @@ public static ProtocolContext init( final WorldStateArchive worldStateArchive, final ProtocolSchedule protocolSchedule, final ConsensusContextFactory consensusContextFactory, - final Optional transactionSelectorFactory) { + final Optional transactionSelectorFactory) { final ConsensusContext consensusContext = consensusContextFactory.create(blockchain, worldStateArchive, protocolSchedule); final MigratingContext migratingContext = consensusContext.as(MigratingContext.class); diff --git a/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeCoordinator.java b/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeCoordinator.java index d7e2856941f..ffd57c4b27e 100644 --- a/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeCoordinator.java +++ b/consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeCoordinator.java @@ -594,7 +594,8 @@ && isDescendantOf(newHead, blockchain.getChainHeadHeader())) { Optional parentOfNewHead = blockchain.getBlockHeader(newHead.getParentHash()); if (parentOfNewHead.isPresent() - && parentOfNewHead.get().getTimestamp() >= newHead.getTimestamp()) { + && Long.compareUnsigned(newHead.getTimestamp(), parentOfNewHead.get().getTimestamp()) + <= 0) { return ForkchoiceResult.withFailure( INVALID, "new head timestamp not greater than parent", latestValid); } diff --git a/consensus/merge/src/test/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeCoordinatorTest.java b/consensus/merge/src/test/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeCoordinatorTest.java index 232140fac57..bc7e424133d 100644 --- a/consensus/merge/src/test/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeCoordinatorTest.java +++ b/consensus/merge/src/test/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeCoordinatorTest.java @@ -58,11 +58,11 @@ import org.hyperledger.besu.ethereum.core.BlockHeaderTestFixture; import org.hyperledger.besu.ethereum.core.Difficulty; import org.hyperledger.besu.ethereum.core.MiningParameters; -import org.hyperledger.besu.ethereum.core.Transaction; import org.hyperledger.besu.ethereum.core.TransactionTestFixture; import org.hyperledger.besu.ethereum.eth.manager.EthContext; import org.hyperledger.besu.ethereum.eth.sync.backwardsync.BackwardSyncContext; import org.hyperledger.besu.ethereum.eth.transactions.ImmutableTransactionPoolConfiguration; +import org.hyperledger.besu.ethereum.eth.transactions.PendingTransaction; import org.hyperledger.besu.ethereum.eth.transactions.TransactionBroadcaster; import org.hyperledger.besu.ethereum.eth.transactions.TransactionPool; import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolConfiguration; @@ -314,8 +314,8 @@ public void exceptionDuringBuildingBlockShouldNotBeInvalid() invocation -> { if (retries.getAndIncrement() < txPerBlock) { // a new transaction every time a block is built - transactions.addLocalTransaction( - createTransaction(retries.get() - 1), Optional.empty()); + transactions.addTransaction( + createLocalTransaction(retries.get() - 1), Optional.empty()); } else { // when we have 5 transactions finalize block creation willThrow.finalizeProposalById( @@ -387,8 +387,8 @@ public void shouldContinueBuildingBlocksUntilFinalizeIsCalled() invocation -> { if (retries.getAndIncrement() < 5) { // a new transaction every time a block is built - transactions.addLocalTransaction( - createTransaction(retries.get() - 1), Optional.empty()); + transactions.addTransaction( + createLocalTransaction(retries.get() - 1), Optional.empty()); } else { // when we have 5 transactions finalize block creation coordinator.finalizeProposalById( @@ -506,7 +506,7 @@ public void shouldRetryBlockCreationOnRecoverableError() .when(mergeContext) .putPayloadById(any()); - transactions.addLocalTransaction(createTransaction(0), Optional.empty()); + transactions.addTransaction(createLocalTransaction(0), Optional.empty()); var payloadId = coordinator.preparePayload( @@ -643,8 +643,8 @@ public void shouldNotStartAnotherBlockCreationJobIfCalledAgainWithTheSamePayload invocation -> { if (retries.getAndIncrement() < 5) { // a new transaction every time a block is built - transactions.addLocalTransaction( - createTransaction(retries.get() - 1), Optional.empty()); + transactions.addTransaction( + createLocalTransaction(retries.get() - 1), Optional.empty()); } else { // when we have 5 transactions finalize block creation coordinator.finalizeProposalById( @@ -1022,20 +1022,24 @@ private BlockHeader nextBlockHeader( .buildHeader(); } - private Transaction createTransaction(final long transactionNumber) { - return new TransactionTestFixture() - .value(Wei.of(transactionNumber + 1)) - .to(Optional.of(Address.ZERO)) - .gasLimit(53000L) - .gasPrice( - Wei.fromHexString("0x00000000000000000000000000000000000000000000000000000013b9aca00")) - .maxFeePerGas( - Optional.of( + private PendingTransaction createLocalTransaction(final long transactionNumber) { + return PendingTransaction.newPendingTransaction( + new TransactionTestFixture() + .value(Wei.of(transactionNumber + 1)) + .to(Optional.of(Address.ZERO)) + .gasLimit(53000L) + .gasPrice( Wei.fromHexString( - "0x00000000000000000000000000000000000000000000000000000013b9aca00"))) - .maxPriorityFeePerGas(Optional.of(Wei.of(100_000))) - .nonce(transactionNumber) - .createTransaction(KEYS1); + "0x00000000000000000000000000000000000000000000000000000013b9aca00")) + .maxFeePerGas( + Optional.of( + Wei.fromHexString( + "0x00000000000000000000000000000000000000000000000000000013b9aca00"))) + .maxPriorityFeePerGas(Optional.of(Wei.of(100_000))) + .nonce(transactionNumber) + .createTransaction(KEYS1), + true, + true); } private static BlockHeader mockBlockHeader() { diff --git a/datatypes/src/main/java/org/hyperledger/besu/datatypes/KZGCommitment.java b/datatypes/src/main/java/org/hyperledger/besu/datatypes/KZGCommitment.java index f64ebf5aead..de2195887bb 100644 --- a/datatypes/src/main/java/org/hyperledger/besu/datatypes/KZGCommitment.java +++ b/datatypes/src/main/java/org/hyperledger/besu/datatypes/KZGCommitment.java @@ -17,18 +17,18 @@ import org.hyperledger.besu.ethereum.rlp.RLPInput; import org.hyperledger.besu.ethereum.rlp.RLPOutput; -import org.apache.tuweni.bytes.Bytes; +import org.apache.tuweni.bytes.Bytes48; /** This class contains the data for a KZG commitment. */ public class KZGCommitment { - final Bytes data; + final Bytes48 data; /** * Constructor for a KZG commitment. * * @param data The data for the KZG commitment. */ - public KZGCommitment(final Bytes data) { + public KZGCommitment(final Bytes48 data) { this.data = data; } @@ -39,7 +39,7 @@ public KZGCommitment(final Bytes data) { * @return The KZG commitment. */ public static KZGCommitment readFrom(final RLPInput input) { - final Bytes bytes = input.readBytes(); + final Bytes48 bytes = input.readBytes48(); return new KZGCommitment(bytes); } @@ -57,7 +57,7 @@ public void writeTo(final RLPOutput out) { * * @return The data for the KZG commitment. */ - public Bytes getData() { + public Bytes48 getData() { return data; } } diff --git a/datatypes/src/main/java/org/hyperledger/besu/datatypes/KZGProof.java b/datatypes/src/main/java/org/hyperledger/besu/datatypes/KZGProof.java index 3a7a2d0686a..6410609e238 100644 --- a/datatypes/src/main/java/org/hyperledger/besu/datatypes/KZGProof.java +++ b/datatypes/src/main/java/org/hyperledger/besu/datatypes/KZGProof.java @@ -17,18 +17,18 @@ import org.hyperledger.besu.ethereum.rlp.RLPInput; import org.hyperledger.besu.ethereum.rlp.RLPOutput; -import org.apache.tuweni.bytes.Bytes; +import org.apache.tuweni.bytes.Bytes48; /** This class contains the data for a KZG proof for a KZG commitment. */ public class KZGProof { - final Bytes data; + final Bytes48 data; /** * Constructor for a KZG proof. * * @param data The data for the KZG proof. */ - public KZGProof(final Bytes data) { + public KZGProof(final Bytes48 data) { this.data = data; } @@ -39,7 +39,7 @@ public KZGProof(final Bytes data) { * @return The KZG proof. */ public static KZGProof readFrom(final RLPInput input) { - final Bytes bytes = input.readBytes(); + final Bytes48 bytes = input.readBytes48(); return new KZGProof(bytes); } @@ -57,7 +57,7 @@ public void writeTo(final RLPOutput out) { * * @return The data for the KZG proof. */ - public Bytes getData() { + public Bytes48 getData() { return data; } } diff --git a/datatypes/src/main/java/org/hyperledger/besu/datatypes/PendingTransaction.java b/datatypes/src/main/java/org/hyperledger/besu/datatypes/PendingTransaction.java index 4a8f5795ff8..e19fb13f1d1 100644 --- a/datatypes/src/main/java/org/hyperledger/besu/datatypes/PendingTransaction.java +++ b/datatypes/src/main/java/org/hyperledger/besu/datatypes/PendingTransaction.java @@ -30,6 +30,13 @@ public interface PendingTransaction { */ boolean isReceivedFromLocalSource(); + /** + * Should this transaction be prioritized? + * + * @return true if it is a transaction with priority + */ + boolean hasPriority(); + /** * Timestamp in millisecond when this transaction has been added to the pool * diff --git a/datatypes/src/test/java/org/hyperledger/besu/datatypes/BlobsWithCommitmentsTest.java b/datatypes/src/test/java/org/hyperledger/besu/datatypes/BlobsWithCommitmentsTest.java index 9816288e82a..a3eb7bbe0f6 100644 --- a/datatypes/src/test/java/org/hyperledger/besu/datatypes/BlobsWithCommitmentsTest.java +++ b/datatypes/src/test/java/org/hyperledger/besu/datatypes/BlobsWithCommitmentsTest.java @@ -23,6 +23,7 @@ import org.apache.tuweni.bytes.Bytes; import org.apache.tuweni.bytes.Bytes32; +import org.apache.tuweni.bytes.Bytes48; import org.junit.jupiter.api.Test; public class BlobsWithCommitmentsTest { @@ -45,9 +46,9 @@ public void blobsWithCommitmentsMustHaveSameNumberOfElementsVersionedHashes() { InvalidParameterException.class, () -> new BlobsWithCommitments( - List.of(new KZGCommitment(Bytes.of(1))), + List.of(new KZGCommitment(Bytes48.fromHexStringLenient("1"))), List.of(new Blob(Bytes.EMPTY)), - List.of(new KZGProof(Bytes.EMPTY)), + List.of(new KZGProof(Bytes48.ZERO)), List.of())) .getMessage(); final String expectedMessage = @@ -64,7 +65,7 @@ public void blobsWithCommitmentsMustHaveSameNumberOfElementsKZGCommitment() { new BlobsWithCommitments( List.of(), List.of(new Blob(Bytes.EMPTY)), - List.of(new KZGProof(Bytes.EMPTY)), + List.of(new KZGProof(Bytes48.ZERO)), List.of(new VersionedHash(Bytes32.rightPad(Bytes.fromHexString("0x01")))))) .getMessage(); final String expectedMessage = @@ -79,7 +80,7 @@ public void blobsWithCommitmentsMustHaveSameNumberOfElementsKZGProof() { InvalidParameterException.class, () -> new BlobsWithCommitments( - List.of(new KZGCommitment(Bytes.of(1))), + List.of(new KZGCommitment(Bytes48.fromHexStringLenient("1"))), List.of(new Blob(Bytes.EMPTY)), List.of(), List.of(new VersionedHash(Bytes32.rightPad(Bytes.fromHexString("0x01")))))) diff --git a/ethereum/api/build.gradle b/ethereum/api/build.gradle index d6c230ae018..ed395df8c5d 100644 --- a/ethereum/api/build.gradle +++ b/ethereum/api/build.gradle @@ -78,6 +78,7 @@ dependencies { implementation 'io.tmio:tuweni-bytes' implementation 'io.tmio:tuweni-units' implementation 'org.web3j:abi' + implementation 'com.github.ben-manes.caffeine:caffeine' annotationProcessor "org.immutables:value" implementation "org.immutables:value-annotations" diff --git a/ethereum/api/src/integration-test/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/fork/frontier/EthGetFilterChangesIntegrationTest.java b/ethereum/api/src/integration-test/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/fork/frontier/EthGetFilterChangesIntegrationTest.java index bdb94af6e3d..555146ca7cb 100644 --- a/ethereum/api/src/integration-test/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/fork/frontier/EthGetFilterChangesIntegrationTest.java +++ b/ethereum/api/src/integration-test/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/fork/frontier/EthGetFilterChangesIntegrationTest.java @@ -50,6 +50,7 @@ import org.hyperledger.besu.ethereum.eth.manager.EthContext; import org.hyperledger.besu.ethereum.eth.manager.EthPeers; import org.hyperledger.besu.ethereum.eth.transactions.ImmutableTransactionPoolConfiguration; +import org.hyperledger.besu.ethereum.eth.transactions.PendingTransaction; import org.hyperledger.besu.ethereum.eth.transactions.PendingTransactions; import org.hyperledger.besu.ethereum.eth.transactions.TransactionBroadcaster; import org.hyperledger.besu.ethereum.eth.transactions.TransactionPool; @@ -90,7 +91,8 @@ public class EthGetFilterChangesIntegrationTest { private static final int MAX_TRANSACTIONS = 5; private static final KeyPair keyPair = SignatureAlgorithmFactory.getInstance().generateKeyPair(); - private final Transaction transaction = createTransaction(1); + private final PendingTransaction pendingTransaction = + new PendingTransaction.Local((createTransaction(1))); private FilterManager filterManager; private EthGetFilterChanges method; @@ -193,7 +195,7 @@ public void shouldReturnHashesIfNewBlocks() { JsonRpcResponse actual = method.response(request); assertThat(actual).usingRecursiveComparison().isEqualTo(expected); - final Block block = appendBlock(transaction); + final Block block = appendBlock(pendingTransaction.getTransaction()); // We've added one block, so there should be one new hash. expected = new JsonRpcSuccessResponse(null, Lists.newArrayList(block.getHash().toString())); @@ -223,11 +225,12 @@ public void shouldReturnHashesIfNewPendingTransactions() { JsonRpcResponse actual = method.response(request); assertThat(actual).usingRecursiveComparison().isEqualTo(expected); - transactions.addRemoteTransaction(transaction, Optional.empty()); + transactions.addTransaction(pendingTransaction, Optional.empty()); // We've added one transaction, so there should be one new hash. expected = - new JsonRpcSuccessResponse(null, Lists.newArrayList(String.valueOf(transaction.getHash()))); + new JsonRpcSuccessResponse( + null, Lists.newArrayList(String.valueOf(pendingTransaction.getHash()))); actual = method.response(request); assertThat(actual).usingRecursiveComparison().isEqualTo(expected); diff --git a/ethereum/api/src/integration-test/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/fork/london/EthGetFilterChangesIntegrationTest.java b/ethereum/api/src/integration-test/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/fork/london/EthGetFilterChangesIntegrationTest.java index 3ea2ee83633..873956d34b1 100644 --- a/ethereum/api/src/integration-test/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/fork/london/EthGetFilterChangesIntegrationTest.java +++ b/ethereum/api/src/integration-test/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/fork/london/EthGetFilterChangesIntegrationTest.java @@ -50,6 +50,7 @@ import org.hyperledger.besu.ethereum.eth.manager.EthContext; import org.hyperledger.besu.ethereum.eth.manager.EthPeers; import org.hyperledger.besu.ethereum.eth.transactions.ImmutableTransactionPoolConfiguration; +import org.hyperledger.besu.ethereum.eth.transactions.PendingTransaction; import org.hyperledger.besu.ethereum.eth.transactions.PendingTransactions; import org.hyperledger.besu.ethereum.eth.transactions.TransactionBroadcaster; import org.hyperledger.besu.ethereum.eth.transactions.TransactionPool; @@ -90,7 +91,8 @@ public class EthGetFilterChangesIntegrationTest { private static final int MAX_TRANSACTIONS = 5; private static final KeyPair keyPair = SignatureAlgorithmFactory.getInstance().generateKeyPair(); - private final Transaction transaction = createTransaction(1); + private final PendingTransaction pendingTransaction = + new PendingTransaction.Local(createTransaction(1)); private FilterManager filterManager; private EthGetFilterChanges method; @@ -193,7 +195,7 @@ public void shouldReturnHashesIfNewBlocks() { JsonRpcResponse actual = method.response(request); assertThat(actual).usingRecursiveComparison().isEqualTo(expected); - final Block block = appendBlock(transaction); + final Block block = appendBlock(pendingTransaction.getTransaction()); // We've added one block, so there should be one new hash. expected = new JsonRpcSuccessResponse(null, Lists.newArrayList(block.getHash().toString())); @@ -223,11 +225,12 @@ public void shouldReturnHashesIfNewPendingTransactions() { JsonRpcResponse actual = method.response(request); assertThat(actual).usingRecursiveComparison().isEqualTo(expected); - transactions.addRemoteTransaction(transaction, Optional.empty()); + transactions.addTransaction(pendingTransaction, Optional.empty()); // We've added one transaction, so there should be one new hash. expected = - new JsonRpcSuccessResponse(null, Lists.newArrayList(String.valueOf(transaction.getHash()))); + new JsonRpcSuccessResponse( + null, Lists.newArrayList(String.valueOf(pendingTransaction.getHash()))); actual = method.response(request); assertThat(actual).usingRecursiveComparison().isEqualTo(expected); diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/JsonRpcErrorConverter.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/JsonRpcErrorConverter.java index b27c84bf04e..48ea3f9c069 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/JsonRpcErrorConverter.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/JsonRpcErrorConverter.java @@ -77,6 +77,8 @@ public static RpcErrorType convertTransactionInvalidReason( return RpcErrorType.TOTAL_BLOB_GAS_TOO_HIGH; case TX_POOL_DISABLED: return RpcErrorType.TX_POOL_DISABLED; + case PLUGIN_TX_VALIDATOR: + return RpcErrorType.PLUGIN_TX_VALIDATOR; default: return RpcErrorType.INTERNAL_ERROR; } diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/RpcMethod.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/RpcMethod.java index 979ff433688..fe7e432081b 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/RpcMethod.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/RpcMethod.java @@ -53,9 +53,11 @@ public enum RpcMethod { ENGINE_GET_PAYLOAD_V1("engine_getPayloadV1"), ENGINE_GET_PAYLOAD_V2("engine_getPayloadV2"), ENGINE_GET_PAYLOAD_V3("engine_getPayloadV3"), + ENGINE_GET_PAYLOAD_V6110("engine_getPayloadV6110"), ENGINE_NEW_PAYLOAD_V1("engine_newPayloadV1"), ENGINE_NEW_PAYLOAD_V2("engine_newPayloadV2"), ENGINE_NEW_PAYLOAD_V3("engine_newPayloadV3"), + ENGINE_NEW_PAYLOAD_V6110("engine_newPayloadV6110"), ENGINE_FORKCHOICE_UPDATED_V1("engine_forkchoiceUpdatedV1"), ENGINE_FORKCHOICE_UPDATED_V2("engine_forkchoiceUpdatedV2"), ENGINE_FORKCHOICE_UPDATED_V3("engine_forkchoiceUpdatedV3"), diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthFeeHistory.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthFeeHistory.java index d505568bd4e..ffe3b96b05a 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthFeeHistory.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthFeeHistory.java @@ -16,6 +16,7 @@ import static java.util.stream.Collectors.toUnmodifiableList; +import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext; @@ -36,25 +37,30 @@ import org.hyperledger.besu.ethereum.mainnet.feemarket.BaseFeeMarket; import org.hyperledger.besu.ethereum.mainnet.feemarket.FeeMarket; -import java.util.AbstractMap; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.List; -import java.util.Map; import java.util.Optional; import java.util.stream.LongStream; import java.util.stream.Stream; +import com.github.benmanes.caffeine.cache.Cache; +import com.github.benmanes.caffeine.cache.Caffeine; import com.google.common.collect.Streams; public class EthFeeHistory implements JsonRpcMethod { private final ProtocolSchedule protocolSchedule; private final Blockchain blockchain; + private final Cache> cache; + private static final int MAXIMUM_CACHE_SIZE = 100_000; + + record RewardCacheKey(Hash blockHash, List rewardPercentiles) {} public EthFeeHistory(final ProtocolSchedule protocolSchedule, final Blockchain blockchain) { this.protocolSchedule = protocolSchedule; this.blockchain = blockchain; + this.cache = Caffeine.newBuilder().maximumSize(MAXIMUM_CACHE_SIZE).build(); } @Override @@ -96,6 +102,7 @@ public JsonRpcResponse response(final JsonRpcRequestContext request) { final List blockHeaders = LongStream.range(oldestBlock, lastBlock) + .parallel() .mapToObj(blockchain::getBlockHeader) .flatMap(Optional::stream) .collect(toUnmodifiableList()); @@ -142,16 +149,30 @@ public JsonRpcResponse response(final JsonRpcRequestContext request) { final Optional>> maybeRewards = maybeRewardPercentiles.map( - rewardPercentiles -> - LongStream.range(oldestBlock, lastBlock) - .mapToObj(blockchain::getBlockByNumber) - .flatMap(Optional::stream) - .map( - block -> - computeRewards( - rewardPercentiles.stream().sorted().collect(toUnmodifiableList()), - block)) - .collect(toUnmodifiableList())); + rewardPercentiles -> { + var sortedPercentiles = rewardPercentiles.stream().sorted().toList(); + return blockHeaders.stream() + .parallel() + .map( + blockHeader -> { + final RewardCacheKey key = + new RewardCacheKey(blockHeader.getBlockHash(), rewardPercentiles); + return Optional.ofNullable(cache.getIfPresent(key)) + .or( + () -> { + Optional block = + blockchain.getBlockByHash(blockHeader.getBlockHash()); + return block.map( + b -> { + List rewards = computeRewards(sortedPercentiles, b); + cache.put(key, rewards); + return rewards; + }); + }); + }) + .flatMap(Optional::stream) + .toList(); + }); return new JsonRpcSuccessResponse( requestId, @@ -188,13 +209,21 @@ private List computeRewards(final List rewardPercentiles, final Blo : transactionReceipt.getCumulativeGasUsed() - transactionsGasUsed.get(transactionsGasUsed.size() - 1)); } - final List> transactionsAndGasUsedAscendingEffectiveGasFee = + + record TransactionInfo(Transaction transaction, Long gasUsed, Wei effectivePriorityFeePerGas) {} + + final List transactionsInfo = Streams.zip( - transactions.stream(), transactionsGasUsed.stream(), AbstractMap.SimpleEntry::new) - .sorted( - Comparator.comparing( - transactionAndGasUsed -> - transactionAndGasUsed.getKey().getEffectivePriorityFeePerGas(baseFee))) + transactions.stream(), + transactionsGasUsed.stream(), + (transaction, gasUsed) -> + new TransactionInfo( + transaction, gasUsed, transaction.getEffectivePriorityFeePerGas(baseFee))) + .collect(toUnmodifiableList()); + + final List transactionsAndGasUsedAscendingEffectiveGasFee = + transactionsInfo.stream() + .sorted(Comparator.comparing(TransactionInfo::effectivePriorityFeePerGas)) .collect(toUnmodifiableList()); // We need to weight the percentile of rewards by the gas used in the transaction. @@ -203,18 +232,21 @@ private List computeRewards(final List rewardPercentiles, final Blo final ArrayList rewards = new ArrayList<>(); int rewardPercentileIndex = 0; long gasUsed = 0; - for (final Map.Entry transactionAndGasUsed : + for (final TransactionInfo transactionAndGasUsed : transactionsAndGasUsedAscendingEffectiveGasFee) { - gasUsed += transactionAndGasUsed.getValue(); + gasUsed += transactionAndGasUsed.gasUsed(); while (rewardPercentileIndex < rewardPercentiles.size() && 100.0 * gasUsed / block.getHeader().getGasUsed() >= rewardPercentiles.get(rewardPercentileIndex)) { - rewards.add(transactionAndGasUsed.getKey().getEffectivePriorityFeePerGas(baseFee)); + rewards.add(transactionAndGasUsed.effectivePriorityFeePerGas); rewardPercentileIndex++; } } + // Put the computed rewards in the cache + cache.put(new RewardCacheKey(block.getHeader().getBlockHash(), rewardPercentiles), rewards); + return rewards; } } diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthSendRawTransaction.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthSendRawTransaction.java index 82cf4410a51..6f80a372ffe 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthSendRawTransaction.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthSendRawTransaction.java @@ -19,6 +19,7 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.exception.InvalidJsonRpcRequestException; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcError; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse; @@ -33,6 +34,7 @@ import java.util.function.Supplier; import com.google.common.base.Suppliers; +import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -90,12 +92,29 @@ public JsonRpcResponse response(final JsonRpcRequestContext requestContext) { () -> new JsonRpcSuccessResponse( requestContext.getRequest().getId(), transaction.getHash().toString()), - errorReason -> - sendEmptyHashOnInvalidBlock - ? new JsonRpcSuccessResponse( - requestContext.getRequest().getId(), Hash.EMPTY.toString()) - : new JsonRpcErrorResponse( - requestContext.getRequest().getId(), - JsonRpcErrorConverter.convertTransactionInvalidReason(errorReason))); + errorReason -> getJsonRpcResponse(requestContext, errorReason, validationResult)); + } + + @NotNull + private JsonRpcResponse getJsonRpcResponse( + final JsonRpcRequestContext requestContext, + final TransactionInvalidReason errorReason, + final ValidationResult validationResult) { + if (sendEmptyHashOnInvalidBlock) { + return new JsonRpcSuccessResponse(requestContext.getRequest().getId(), Hash.EMPTY.toString()); + } else { + if (errorReason == TransactionInvalidReason.PLUGIN_TX_VALIDATOR) { + final RpcErrorType rpcErrorType = + JsonRpcErrorConverter.convertTransactionInvalidReason( + validationResult.getInvalidReason()); + return new JsonRpcErrorResponse( + requestContext.getRequest().getId(), + new JsonRpcError(rpcErrorType.getCode(), validationResult.getErrorMessage(), null)); + } else { + return new JsonRpcErrorResponse( + requestContext.getRequest().getId(), + JsonRpcErrorConverter.convertTransactionInvalidReason(errorReason)); + } + } } } diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/TraceCallMany.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/TraceCallMany.java index e3dfb245bb8..4ee9ff04e33 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/TraceCallMany.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/TraceCallMany.java @@ -64,7 +64,7 @@ public String getName() { @Override protected BlockParameter blockParameter(final JsonRpcRequestContext request) { final Optional maybeBlockParameter = - request.getOptionalParameter(2, BlockParameter.class); + request.getOptionalParameter(1, BlockParameter.class); if (maybeBlockParameter.isPresent()) { return maybeBlockParameter.get(); diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java index 7c7cfca2c44..b5c38c1e682 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineForkchoiceUpdated.java @@ -113,17 +113,21 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext requestContext) if (maybeNewHead.isEmpty()) { return syncingResponse(requestId, forkChoice); } - Optional> withdrawals = Optional.empty(); - final BlockHeader newHead = maybeNewHead.get(); + + ForkchoiceResult forkchoiceResult = null; if (!isValidForkchoiceState( - forkChoice.getSafeBlockHash(), forkChoice.getFinalizedBlockHash(), newHead)) { + forkChoice.getSafeBlockHash(), forkChoice.getFinalizedBlockHash(), maybeNewHead.get())) { logForkchoiceUpdatedCall(INVALID, forkChoice); return new JsonRpcErrorResponse(requestId, RpcErrorType.INVALID_FORKCHOICE_STATE); + } else { + forkchoiceResult = + mergeCoordinator.updateForkChoice( + maybeNewHead.get(), + forkChoice.getFinalizedBlockHash(), + forkChoice.getSafeBlockHash()); } - ForkchoiceResult result = - mergeCoordinator.updateForkChoice( - newHead, forkChoice.getFinalizedBlockHash(), forkChoice.getSafeBlockHash()); + Optional> withdrawals = Optional.empty(); if (maybePayloadAttributes.isPresent()) { final EnginePayloadAttributesParameter payloadAttributes = maybePayloadAttributes.get(); withdrawals = @@ -136,7 +140,7 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext requestContext) .map(WithdrawalParameter::toWithdrawal) .collect(toList()))); Optional maybeError = - isPayloadAttributesValid(requestId, payloadAttributes, withdrawals, newHead); + isPayloadAttributesValid(requestId, payloadAttributes); if (maybeError.isPresent()) { LOG.atWarn() .setMessage("RpcError {}: {}") @@ -156,6 +160,20 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext requestContext) } } + final BlockHeader newHead = maybeNewHead.get(); + if (maybePayloadAttributes.isPresent()) { + Optional maybeError = + isPayloadAttributeRelevantToNewHead(requestId, maybePayloadAttributes.get(), newHead); + if (maybeError.isPresent()) { + return maybeError.get(); + } + if (!getWithdrawalsValidator( + protocolSchedule.get(), newHead, maybePayloadAttributes.get().getTimestamp()) + .validateWithdrawals(withdrawals)) { + return new JsonRpcErrorResponse(requestId, getInvalidPayloadError()); + } + } + ValidationResult parameterValidationResult = validateParameter(forkChoice, maybePayloadAttributes); if (!parameterValidationResult.isValid()) { @@ -169,13 +187,13 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext requestContext) maybePayloadAttributes.ifPresentOrElse( this::logPayload, () -> LOG.debug("Payload attributes are null")); - if (result.shouldNotProceedToPayloadBuildProcess()) { - if (ForkchoiceResult.Status.IGNORE_UPDATE_TO_OLD_HEAD.equals(result.getStatus())) { + if (forkchoiceResult.shouldNotProceedToPayloadBuildProcess()) { + if (ForkchoiceResult.Status.IGNORE_UPDATE_TO_OLD_HEAD.equals(forkchoiceResult.getStatus())) { logForkchoiceUpdatedCall(VALID, forkChoice); } else { logForkchoiceUpdatedCall(INVALID, forkChoice); } - return handleNonValidForkchoiceUpdate(requestId, result); + return handleNonValidForkchoiceUpdate(requestId, forkchoiceResult); } // begin preparing a block if we have a non-empty payload attributes param @@ -205,15 +223,17 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext requestContext) requestId, new EngineUpdateForkchoiceResult( VALID, - result.getNewHead().map(BlockHeader::getHash).orElse(null), + forkchoiceResult.getNewHead().map(BlockHeader::getHash).orElse(null), payloadId.orElse(null), Optional.empty())); } - protected Optional isPayloadAttributesValid( + protected abstract Optional isPayloadAttributesValid( + final Object requestId, final EnginePayloadAttributesParameter payloadAttribute); + + protected Optional isPayloadAttributeRelevantToNewHead( final Object requestId, final EnginePayloadAttributesParameter payloadAttributes, - final Optional> maybeWithdrawals, final BlockHeader headBlockHeader) { if (payloadAttributes.getTimestamp() <= headBlockHeader.getTimestamp()) { @@ -221,11 +241,6 @@ protected Optional isPayloadAttributesValid( "Payload attributes timestamp is smaller than timestamp of header in fork choice update"); return Optional.of(new JsonRpcErrorResponse(requestId, getInvalidPayloadError())); } - if (!getWithdrawalsValidator( - protocolSchedule.get(), headBlockHeader, payloadAttributes.getTimestamp()) - .validateWithdrawals(maybeWithdrawals)) { - return Optional.of(new JsonRpcErrorResponse(requestId, getInvalidPayloadError())); - } return Optional.empty(); } diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineNewPayload.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineNewPayload.java index c8263450e72..a5b8acfc056 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineNewPayload.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineNewPayload.java @@ -267,7 +267,8 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext requestContext) } if (maybeParentHeader.isPresent() - && (blockParam.getTimestamp() <= maybeParentHeader.get().getTimestamp())) { + && (Long.compareUnsigned(maybeParentHeader.get().getTimestamp(), blockParam.getTimestamp()) + >= 0)) { return respondWithInvalid( reqId, blockParam, diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineExchangeCapabilities.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineExchangeCapabilities.java index f59681a3854..fcc26cad641 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineExchangeCapabilities.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineExchangeCapabilities.java @@ -63,6 +63,7 @@ public JsonRpcResponse syncResponse(final JsonRpcRequestContext requestContext) .filter(e -> e.getMethodName().startsWith("engine_")) .filter(e -> !e.equals(ENGINE_EXCHANGE_CAPABILITIES)) .filter(e -> !e.equals(ENGINE_PREPARE_PAYLOAD_DEBUG)) + .filter(e -> !e.getMethodName().endsWith("6110")) .map(RpcMethod::getMethodName) .collect(Collectors.toList()); diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV1.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV1.java index a5b9eeb9ed2..6aa5f0964b2 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV1.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV1.java @@ -17,9 +17,13 @@ import org.hyperledger.besu.consensus.merge.blockcreation.MergeMiningCoordinator; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.EnginePayloadAttributesParameter; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType; import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule; +import java.util.Optional; + import io.vertx.core.Vertx; public class EngineForkchoiceUpdatedV1 extends AbstractEngineForkchoiceUpdated { @@ -33,6 +37,12 @@ public EngineForkchoiceUpdatedV1( super(vertx, protocolSchedule, protocolContext, mergeCoordinator, engineCallListener); } + @Override + protected Optional isPayloadAttributesValid( + final Object requestId, final EnginePayloadAttributesParameter payloadAttributes) { + return Optional.empty(); + } + @Override public String getName() { return RpcMethod.ENGINE_FORKCHOICE_UPDATED_V1.getMethodName(); diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV2.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV2.java index 44ba15cae8d..b6406a3e662 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV2.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV2.java @@ -20,11 +20,8 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.EnginePayloadAttributesParameter; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType; -import org.hyperledger.besu.ethereum.core.BlockHeader; -import org.hyperledger.besu.ethereum.core.Withdrawal; import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule; -import java.util.List; import java.util.Optional; import io.vertx.core.Vertx; @@ -53,19 +50,20 @@ public String getName() { @Override protected Optional isPayloadAttributesValid( - final Object requestId, - final EnginePayloadAttributesParameter payloadAttributes, - final Optional> maybeWithdrawals, - final BlockHeader headBlockHeader) { + final Object requestId, final EnginePayloadAttributesParameter payloadAttributes) { if (payloadAttributes.getTimestamp() >= cancunTimestamp) { - return Optional.of(new JsonRpcErrorResponse(requestId, RpcErrorType.UNSUPPORTED_FORK)); + if (payloadAttributes.getParentBeaconBlockRoot() == null + || payloadAttributes.getParentBeaconBlockRoot().isEmpty()) { + return Optional.of(new JsonRpcErrorResponse(requestId, RpcErrorType.UNSUPPORTED_FORK)); + } else { + return Optional.of(new JsonRpcErrorResponse(requestId, RpcErrorType.INVALID_PARAMS)); + } } else if (payloadAttributes.getParentBeaconBlockRoot() != null) { LOG.error( "Parent beacon block root hash present in payload attributes before cancun hardfork"); return Optional.of(new JsonRpcErrorResponse(requestId, RpcErrorType.INVALID_PARAMS)); } else { - return super.isPayloadAttributesValid( - requestId, payloadAttributes, maybeWithdrawals, headBlockHeader); + return Optional.empty(); } } } diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV3.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV3.java index 4284fdd01dc..c070d220854 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV3.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV3.java @@ -21,13 +21,10 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.EnginePayloadAttributesParameter; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType; -import org.hyperledger.besu.ethereum.core.BlockHeader; -import org.hyperledger.besu.ethereum.core.Withdrawal; import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule; import org.hyperledger.besu.ethereum.mainnet.ScheduledProtocolSpec; import org.hyperledger.besu.ethereum.mainnet.ValidationResult; -import java.util.List; import java.util.Optional; import io.vertx.core.Vertx; @@ -92,16 +89,8 @@ protected ValidationResult validateForkSupported(final long blockT @Override protected Optional isPayloadAttributesValid( - final Object requestId, - final EnginePayloadAttributesParameter payloadAttributes, - final Optional> maybeWithdrawals, - final BlockHeader headBlockHeader) { - Optional maybeError = - super.isPayloadAttributesValid( - requestId, payloadAttributes, maybeWithdrawals, headBlockHeader); - if (maybeError.isPresent()) { - return maybeError; - } else if (payloadAttributes.getParentBeaconBlockRoot() == null) { + final Object requestId, final EnginePayloadAttributesParameter payloadAttributes) { + if (payloadAttributes.getParentBeaconBlockRoot() == null) { LOG.error( "Parent beacon block root hash not present in payload attributes after cancun hardfork"); return Optional.of(new JsonRpcErrorResponse(requestId, RpcErrorType.INVALID_PARAMS)); diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineGetPayloadV6110.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineGetPayloadV6110.java new file mode 100644 index 00000000000..c9a9737a90a --- /dev/null +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineGetPayloadV6110.java @@ -0,0 +1,87 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.engine; + +import org.hyperledger.besu.consensus.merge.blockcreation.MergeMiningCoordinator; +import org.hyperledger.besu.consensus.merge.blockcreation.PayloadIdentifier; +import org.hyperledger.besu.ethereum.ProtocolContext; +import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.BlockResultFactory; +import org.hyperledger.besu.ethereum.core.BlockWithReceipts; +import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule; +import org.hyperledger.besu.ethereum.mainnet.ScheduledProtocolSpec; +import org.hyperledger.besu.ethereum.mainnet.ValidationResult; + +import java.util.Optional; + +import io.vertx.core.Vertx; + +public class EngineGetPayloadV6110 extends AbstractEngineGetPayload { + + private final Optional eip6110; + + public EngineGetPayloadV6110( + final Vertx vertx, + final ProtocolContext protocolContext, + final MergeMiningCoordinator mergeMiningCoordinator, + final BlockResultFactory blockResultFactory, + final EngineCallListener engineCallListener, + final ProtocolSchedule schedule) { + super( + vertx, + schedule, + protocolContext, + mergeMiningCoordinator, + blockResultFactory, + engineCallListener); + this.eip6110 = schedule.hardforkFor(s -> s.fork().name().equalsIgnoreCase("ExperimentalEips")); + } + + @Override + public String getName() { + return RpcMethod.ENGINE_GET_PAYLOAD_V6110.getMethodName(); + } + + @Override + protected JsonRpcResponse createResponse( + final JsonRpcRequestContext request, + final PayloadIdentifier payloadId, + final BlockWithReceipts blockWithReceipts) { + + return new JsonRpcSuccessResponse( + request.getRequest().getId(), + blockResultFactory.payloadTransactionCompleteV6110(blockWithReceipts)); + } + + @Override + protected ValidationResult validateForkSupported(final long blockTimestamp) { + if (protocolSchedule.isPresent()) { + if (eip6110.isPresent() && blockTimestamp >= eip6110.get().milestone()) { + return ValidationResult.valid(); + } else { + return ValidationResult.invalid( + RpcErrorType.UNSUPPORTED_FORK, + "EIP-6110 configured to start at timestamp: " + eip6110.get().milestone()); + } + } else { + return ValidationResult.invalid( + RpcErrorType.UNSUPPORTED_FORK, "Configuration error, no schedule for EIP-6110 fork set"); + } + } +} diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadV3.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadV3.java index c7d8a10a4a1..dff7174b49d 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadV3.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadV3.java @@ -71,7 +71,8 @@ protected ValidationResult validateParameters( @Override protected ValidationResult validateForkSupported(final long blockTimestamp) { if (protocolSchedule.isPresent()) { - if (cancun.isPresent() && blockTimestamp >= cancun.get().milestone()) { + if (cancun.isPresent() + && Long.compareUnsigned(blockTimestamp, cancun.get().milestone()) >= 0) { return ValidationResult.valid(); } else { return ValidationResult.invalid( diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadV6110.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadV6110.java new file mode 100644 index 00000000000..84f203c3a73 --- /dev/null +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadV6110.java @@ -0,0 +1,89 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.engine; + +import org.hyperledger.besu.consensus.merge.blockcreation.MergeMiningCoordinator; +import org.hyperledger.besu.ethereum.ProtocolContext; +import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.EnginePayloadParameter; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType; +import org.hyperledger.besu.ethereum.eth.manager.EthPeers; +import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule; +import org.hyperledger.besu.ethereum.mainnet.ScheduledProtocolSpec; +import org.hyperledger.besu.ethereum.mainnet.ValidationResult; + +import java.util.List; +import java.util.Optional; + +import io.vertx.core.Vertx; + +public class EngineNewPayloadV6110 extends AbstractEngineNewPayload { + + private final Optional eip6110; + + public EngineNewPayloadV6110( + final Vertx vertx, + final ProtocolSchedule timestampSchedule, + final ProtocolContext protocolContext, + final MergeMiningCoordinator mergeCoordinator, + final EthPeers ethPeers, + final EngineCallListener engineCallListener) { + super( + vertx, timestampSchedule, protocolContext, mergeCoordinator, ethPeers, engineCallListener); + this.eip6110 = + timestampSchedule.hardforkFor(s -> s.fork().name().equalsIgnoreCase("ExperimentalEips")); + } + + @Override + public String getName() { + return RpcMethod.ENGINE_NEW_PAYLOAD_V6110.getMethodName(); + } + + @Override + protected ValidationResult validateParameters( + final EnginePayloadParameter payloadParameter, + final Optional> maybeVersionedHashParam, + final Optional maybeBeaconBlockRootParam) { + if (payloadParameter.getBlobGasUsed() == null || payloadParameter.getExcessBlobGas() == null) { + return ValidationResult.invalid(RpcErrorType.INVALID_PARAMS, "Missing blob gas fields"); + } else if (maybeVersionedHashParam == null || maybeVersionedHashParam.isEmpty()) { + return ValidationResult.invalid( + RpcErrorType.INVALID_PARAMS, "Missing versioned hashes field"); + } else if (maybeBeaconBlockRootParam.isEmpty()) { + return ValidationResult.invalid( + RpcErrorType.INVALID_PARAMS, "Missing parent beacon block root field"); + } else if (payloadParameter.getDeposits() == null) { + return ValidationResult.invalid(RpcErrorType.INVALID_PARAMS, "Missing deposit field"); + } else { + return ValidationResult.valid(); + } + } + + @Override + protected ValidationResult validateForkSupported(final long blockTimestamp) { + if (protocolSchedule.isPresent()) { + if (eip6110.isPresent() && blockTimestamp >= eip6110.get().milestone()) { + return ValidationResult.valid(); + } else { + return ValidationResult.invalid( + RpcErrorType.UNSUPPORTED_FORK, + "EIP-6110 configured to start at timestamp: " + eip6110.get().milestone()); + } + } else { + return ValidationResult.invalid( + RpcErrorType.UNSUPPORTED_FORK, "Configuration error, no schedule for EIP-6110 fork set"); + } + } +} diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/parameters/DepositParameter.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/parameters/DepositParameter.java index c13bc0435fc..288c998977d 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/parameters/DepositParameter.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/parameters/DepositParameter.java @@ -30,7 +30,7 @@ public class DepositParameter { - private final String publicKey; + private final String pubkey; private final String withdrawalCredentials; private final String amount; @@ -40,12 +40,12 @@ public class DepositParameter { @JsonCreator public DepositParameter( - @JsonProperty("pubkey") final String pubKey, + @JsonProperty("pubkey") final String pubkey, @JsonProperty("withdrawalCredentials") final String withdrawalCredentials, @JsonProperty("amount") final String amount, @JsonProperty("signature") final String signature, @JsonProperty("index") final String index) { - this.publicKey = pubKey; + this.pubkey = pubkey; this.withdrawalCredentials = withdrawalCredentials; this.amount = amount; this.signature = signature; @@ -54,7 +54,7 @@ public DepositParameter( public static DepositParameter fromDeposit(final Deposit deposit) { return new DepositParameter( - deposit.getPublicKey().toString(), + deposit.getPubkey().toString(), deposit.getWithdrawalCredentials().toString(), deposit.getAmount().toShortHexString(), deposit.getSignature().toString(), @@ -63,7 +63,7 @@ public static DepositParameter fromDeposit(final Deposit deposit) { public Deposit toDeposit() { return new Deposit( - BLSPublicKey.fromHexString(publicKey), + BLSPublicKey.fromHexString(pubkey), Bytes32.fromHexString(withdrawalCredentials), GWei.fromHexString(amount), BLSSignature.fromHexString(signature), @@ -72,7 +72,7 @@ public Deposit toDeposit() { public JsonObject asJsonObject() { return new JsonObject() - .put("pubKey", publicKey) + .put("pubkey", pubkey) .put("withdrawalCredentials", withdrawalCredentials) .put("amount", amount) .put("signature", signature) @@ -80,8 +80,8 @@ public JsonObject asJsonObject() { } @JsonGetter - public String getPublicKey() { - return publicKey; + public String getPubkey() { + return pubkey; } @JsonGetter @@ -109,7 +109,7 @@ public boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; final DepositParameter that = (DepositParameter) o; - return Objects.equals(publicKey, that.publicKey) + return Objects.equals(pubkey, that.pubkey) && Objects.equals(withdrawalCredentials, that.withdrawalCredentials) && Objects.equals(amount, that.amount) && Objects.equals(signature, that.signature) @@ -118,14 +118,14 @@ public boolean equals(final Object o) { @Override public int hashCode() { - return Objects.hash(publicKey, withdrawalCredentials, amount, signature, index); + return Objects.hash(pubkey, withdrawalCredentials, amount, signature, index); } @Override public String toString() { return "DepositParameter{" + "pubKey='" - + publicKey + + pubkey + '\'' + ", withdrawalCredentials='" + withdrawalCredentials diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/parameters/EnginePayloadParameter.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/parameters/EnginePayloadParameter.java index 1834b99a5db..355f7b218c7 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/parameters/EnginePayloadParameter.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/parameters/EnginePayloadParameter.java @@ -86,7 +86,7 @@ public EnginePayloadParameter( @JsonProperty("withdrawals") final List withdrawals, @JsonProperty("blobGasUsed") final UnsignedLongParameter blobGasUsed, @JsonProperty("excessBlobGas") final String excessBlobGas, - @JsonProperty("deposits") final List deposits) { + @JsonProperty("depositReceipts") final List deposits) { this.blockHash = blockHash; this.parentHash = parentHash; this.feeRecipient = feeRecipient; diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/parameters/UnsignedLongParameter.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/parameters/UnsignedLongParameter.java index 039592d28c2..2e9ae8087ec 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/parameters/UnsignedLongParameter.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/parameters/UnsignedLongParameter.java @@ -17,25 +17,28 @@ import static com.google.common.base.Preconditions.checkArgument; import com.fasterxml.jackson.annotation.JsonCreator; +import org.checkerframework.checker.signedness.qual.Unsigned; public class UnsignedLongParameter { - private final long value; + @Unsigned private final long value; @JsonCreator public UnsignedLongParameter(final String value) { checkArgument(value != null); - this.value = Long.decode(value); - checkArgument(this.value >= 0); + if (value.startsWith("0x")) { + this.value = Long.parseUnsignedLong(value.substring(2), 16); + } else { + this.value = Long.parseUnsignedLong(value, 16); + } } @JsonCreator - public UnsignedLongParameter(final long value) { + public UnsignedLongParameter(final @Unsigned long value) { this.value = value; - checkArgument(this.value >= 0); } - public long getValue() { + public @Unsigned long getValue() { return value; } } diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/response/JsonRpcErrorResponse.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/response/JsonRpcErrorResponse.java index ed8f275c07a..3dffff4956a 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/response/JsonRpcErrorResponse.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/response/JsonRpcErrorResponse.java @@ -107,7 +107,7 @@ private RpcErrorType findErrorType(final int code, final String message) { return Arrays.stream(RpcErrorType.values()) .filter(e -> e.getCode() == code && message.startsWith(e.getMessage())) .findFirst() - .get(); + .orElse(RpcErrorType.UNKNOWN); } @SuppressWarnings({"unchecked", "rawtypes"}) diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/response/RpcErrorType.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/response/RpcErrorType.java index c3ef46016d9..268af90a0cc 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/response/RpcErrorType.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/response/RpcErrorType.java @@ -74,6 +74,7 @@ public enum RpcErrorType { LOWER_NONCE_INVALID_TRANSACTION_EXISTS( -32000, "An invalid transaction with a lower nonce exists"), TOTAL_BLOB_GAS_TOO_HIGH(-32000, "Total blob gas too high"), + PLUGIN_TX_VALIDATOR(-32000, "Plugin has marked the transaction as invalid"), // Execution engine failures UNKNOWN_PAYLOAD(-32001, "Payload does not exist / is not available"), @@ -210,7 +211,9 @@ public enum RpcErrorType { // Retesteth Errors BLOCK_RLP_IMPORT_ERROR(-32000, "Could not decode RLP for Block"), - BLOCK_IMPORT_ERROR(-32000, "Could not import Block"); + BLOCK_IMPORT_ERROR(-32000, "Could not import Block"), + + UNKNOWN(-32603, "Unknown internal error"); private final int code; private final String message; diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/BlockResultFactory.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/BlockResultFactory.java index 9ec3acd7f76..9596151bdfe 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/BlockResultFactory.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/BlockResultFactory.java @@ -120,7 +120,6 @@ public EngineGetPayloadResultV2 payloadTransactionCompleteV2( blockWithReceipts.getHeader(), txs, blockWithReceipts.getBlock().getBody().getWithdrawals(), - blockWithReceipts.getBlock().getBody().getDeposits(), Quantity.create(blockValue)); } @@ -155,6 +154,29 @@ public EngineGetPayloadResultV3 payloadTransactionCompleteV3( blobsBundleV1); } + public EngineGetPayloadResultV6110 payloadTransactionCompleteV6110( + final BlockWithReceipts blockWithReceipts) { + final List txs = + blockWithReceipts.getBlock().getBody().getTransactions().stream() + .map( + transaction -> + TransactionEncoder.encodeOpaqueBytes(transaction, EncodingContext.BLOCK_BODY)) + .map(Bytes::toHexString) + .collect(Collectors.toList()); + + final Wei blockValue = new BlockValueCalculator().calculateBlockValue(blockWithReceipts); + + final BlobsBundleV1 blobsBundleV1 = + new BlobsBundleV1(blockWithReceipts.getBlock().getBody().getTransactions()); + return new EngineGetPayloadResultV6110( + blockWithReceipts.getHeader(), + txs, + blockWithReceipts.getBlock().getBody().getWithdrawals(), + blockWithReceipts.getBlock().getBody().getDeposits(), + Quantity.create(blockValue), + blobsBundleV1); + } + public BlockResult transactionHash(final BlockWithMetadata blockWithMetadata) { return transactionHash(blockWithMetadata, false); } diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/EngineGetPayloadResultV2.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/EngineGetPayloadResultV2.java index b5e9fafabe2..e3919517f3b 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/EngineGetPayloadResultV2.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/EngineGetPayloadResultV2.java @@ -14,10 +14,8 @@ */ package org.hyperledger.besu.ethereum.api.jsonrpc.internal.results; -import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.DepositParameter; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.WithdrawalParameter; import org.hyperledger.besu.ethereum.core.BlockHeader; -import org.hyperledger.besu.ethereum.core.Deposit; import org.hyperledger.besu.ethereum.core.Withdrawal; import java.util.List; @@ -41,9 +39,8 @@ public EngineGetPayloadResultV2( final BlockHeader header, final List transactions, final Optional> withdrawals, - final Optional> deposits, final String blockValue) { - this.executionPayload = new PayloadResult(header, transactions, withdrawals, deposits); + this.executionPayload = new PayloadResult(header, transactions, withdrawals); this.blockValue = blockValue; } @@ -74,13 +71,11 @@ public static class PayloadResult { private final String baseFeePerGas; protected final List transactions; private final List withdrawals; - private final List deposits; public PayloadResult( final BlockHeader header, final List transactions, - final Optional> withdrawals, - final Optional> deposits) { + final Optional> withdrawals) { this.blockNumber = Quantity.create(header.getNumber()); this.blockHash = header.getHash().toString(); this.parentHash = header.getParentHash().toString(); @@ -103,11 +98,6 @@ public PayloadResult( .map(WithdrawalParameter::fromWithdrawal) .collect(Collectors.toList())) .orElse(null); - this.deposits = - deposits - .map( - ds -> ds.stream().map(DepositParameter::fromDeposit).collect(Collectors.toList())) - .orElse(null); } @JsonGetter(value = "blockNumber") @@ -180,11 +170,6 @@ public List getWithdrawals() { return withdrawals; } - @JsonGetter(value = "deposits") - public List getDeposits() { - return deposits; - } - @JsonGetter(value = "feeRecipient") @JsonInclude(JsonInclude.Include.NON_NULL) public String getFeeRecipient() { diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/EngineGetPayloadResultV6110.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/EngineGetPayloadResultV6110.java new file mode 100644 index 00000000000..4b47101fb64 --- /dev/null +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/EngineGetPayloadResultV6110.java @@ -0,0 +1,230 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.ethereum.api.jsonrpc.internal.results; + +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.DepositParameter; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.WithdrawalParameter; +import org.hyperledger.besu.ethereum.core.BlockHeader; +import org.hyperledger.besu.ethereum.core.Deposit; +import org.hyperledger.besu.ethereum.core.Withdrawal; + +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; + +import com.fasterxml.jackson.annotation.JsonGetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import org.apache.tuweni.bytes.Bytes32; + +@JsonPropertyOrder({"executionPayload", "blockValue", "blobsBundle", "shouldOverrideBuilder"}) +public class EngineGetPayloadResultV6110 { + protected final PayloadResult executionPayload; + private final String blockValue; + private final BlobsBundleV1 blobsBundle; + private final boolean shouldOverrideBuilder; + + public EngineGetPayloadResultV6110( + final BlockHeader header, + final List transactions, + final Optional> withdrawals, + final Optional> deposits, + final String blockValue, + final BlobsBundleV1 blobsBundle) { + this.executionPayload = new PayloadResult(header, transactions, withdrawals, deposits); + this.blockValue = blockValue; + this.blobsBundle = blobsBundle; + this.shouldOverrideBuilder = false; + } + + @JsonGetter(value = "executionPayload") + public PayloadResult getExecutionPayload() { + return executionPayload; + } + + @JsonGetter(value = "blockValue") + public String getBlockValue() { + return blockValue; + } + + @JsonGetter(value = "blobsBundle") + public BlobsBundleV1 getBlobsBundle() { + return blobsBundle; + } + + @JsonGetter(value = "shouldOverrideBuilder") + public boolean shouldOverrideBuilder() { + return shouldOverrideBuilder; + } + + public static class PayloadResult { + + protected final String blockHash; + private final String parentHash; + private final String feeRecipient; + private final String stateRoot; + private final String receiptsRoot; + private final String logsBloom; + private final String prevRandao; + private final String blockNumber; + private final String gasLimit; + private final String gasUsed; + private final String timestamp; + private final String extraData; + private final String baseFeePerGas; + private final String excessBlobGas; + private final String blobGasUsed; + private final String parentBeaconBlockRoot; + + protected final List transactions; + private final List withdrawals; + private final List deposits; + + public PayloadResult( + final BlockHeader header, + final List transactions, + final Optional> withdrawals, + final Optional> deposits) { + this.blockNumber = Quantity.create(header.getNumber()); + this.blockHash = header.getHash().toString(); + this.parentHash = header.getParentHash().toString(); + this.logsBloom = header.getLogsBloom().toString(); + this.stateRoot = header.getStateRoot().toString(); + this.receiptsRoot = header.getReceiptsRoot().toString(); + this.extraData = header.getExtraData().toString(); + this.baseFeePerGas = header.getBaseFee().map(Quantity::create).orElse(null); + this.gasLimit = Quantity.create(header.getGasLimit()); + this.gasUsed = Quantity.create(header.getGasUsed()); + this.timestamp = Quantity.create(header.getTimestamp()); + this.transactions = transactions; + this.feeRecipient = header.getCoinbase().toString(); + this.prevRandao = header.getPrevRandao().map(Bytes32::toHexString).orElse(null); + this.withdrawals = + withdrawals + .map( + ws -> + ws.stream() + .map(WithdrawalParameter::fromWithdrawal) + .collect(Collectors.toList())) + .orElse(null); + this.deposits = + deposits + .map( + ds -> ds.stream().map(DepositParameter::fromDeposit).collect(Collectors.toList())) + .orElse(null); + this.blobGasUsed = header.getBlobGasUsed().map(Quantity::create).orElse(Quantity.HEX_ZERO); + this.excessBlobGas = + header.getExcessBlobGas().map(Quantity::create).orElse(Quantity.HEX_ZERO); + this.parentBeaconBlockRoot = + header.getParentBeaconBlockRoot().map(Bytes32::toHexString).orElse(null); + } + + @JsonGetter(value = "blockNumber") + public String getNumber() { + return blockNumber; + } + + @JsonGetter(value = "blockHash") + public String getHash() { + return blockHash; + } + + @JsonGetter(value = "parentHash") + public String getParentHash() { + return parentHash; + } + + @JsonGetter(value = "logsBloom") + public String getLogsBloom() { + return logsBloom; + } + + @JsonGetter(value = "prevRandao") + public String getPrevRandao() { + return prevRandao; + } + + @JsonGetter(value = "stateRoot") + public String getStateRoot() { + return stateRoot; + } + + @JsonGetter(value = "receiptsRoot") + public String getReceiptRoot() { + return receiptsRoot; + } + + @JsonGetter(value = "extraData") + public String getExtraData() { + return extraData; + } + + @JsonGetter(value = "baseFeePerGas") + public String getBaseFeePerGas() { + return baseFeePerGas; + } + + @JsonGetter(value = "gasLimit") + public String getGasLimit() { + return gasLimit; + } + + @JsonGetter(value = "gasUsed") + public String getGasUsed() { + return gasUsed; + } + + @JsonGetter(value = "timestamp") + public String getTimestamp() { + return timestamp; + } + + @JsonGetter(value = "transactions") + public List getTransactions() { + return transactions; + } + + @JsonGetter(value = "withdrawals") + public List getWithdrawals() { + return withdrawals; + } + + @JsonGetter(value = "depositReceipts") + public List getDeposits() { + return deposits; + } + + @JsonGetter(value = "feeRecipient") + @JsonInclude(JsonInclude.Include.NON_NULL) + public String getFeeRecipient() { + return feeRecipient; + } + + @JsonGetter(value = "excessBlobGas") + public String getExcessBlobGas() { + return excessBlobGas; + } + + @JsonGetter(value = "blobGasUsed") + public String getBlobGasUseds() { + return blobGasUsed; + } + + @JsonGetter(value = "parentBeaconBlockRoot") + public String getParentBeaconBlockRoot() { + return parentBeaconBlockRoot; + } + } +} diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/ExecutionEngineJsonRpcMethods.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/ExecutionEngineJsonRpcMethods.java index 3c5ab9a6c41..9f4480b82be 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/ExecutionEngineJsonRpcMethods.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/methods/ExecutionEngineJsonRpcMethods.java @@ -28,9 +28,11 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.engine.EngineGetPayloadV1; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.engine.EngineGetPayloadV2; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.engine.EngineGetPayloadV3; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.engine.EngineGetPayloadV6110; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.engine.EngineNewPayloadV1; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.engine.EngineNewPayloadV2; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.engine.EngineNewPayloadV3; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.engine.EngineNewPayloadV6110; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.engine.EnginePreparePayloadDebug; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.engine.EngineQosTimer; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.BlockResultFactory; @@ -158,6 +160,26 @@ protected Map create() { protocolSchedule)); } + if (protocolSchedule.anyMatch(p -> p.spec().getName().equalsIgnoreCase("ExperimentalEips"))) { + executionEngineApisSupported.add( + new EngineGetPayloadV6110( + consensusEngineServer, + protocolContext, + mergeCoordinator.get(), + blockResultFactory, + engineQosTimer, + protocolSchedule)); + + executionEngineApisSupported.add( + new EngineNewPayloadV6110( + consensusEngineServer, + protocolSchedule, + protocolContext, + mergeCoordinator.get(), + ethPeers, + engineQosTimer)); + } + return mapOf(executionEngineApisSupported); } else { return mapOf( diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/graphql/EthGraphQLHttpBySpecTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/graphql/EthGraphQLHttpBySpecTest.java index bc1e3c84bc6..4cd31646007 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/graphql/EthGraphQLHttpBySpecTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/graphql/EthGraphQLHttpBySpecTest.java @@ -14,7 +14,14 @@ */ package org.hyperledger.besu.ethereum.api.graphql; +import static com.google.common.base.Preconditions.checkState; + import java.io.IOException; +import java.net.URISyntaxException; +import java.net.URL; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.stream.Stream; import com.google.common.base.Charsets; @@ -30,80 +37,30 @@ public class EthGraphQLHttpBySpecTest extends AbstractEthGraphQLHttpServiceTest { - public static Stream specs() { - return Stream.of( - Arguments.of("eth_blockNumber"), - Arguments.of("eth_call_Block8"), - Arguments.of("eth_call_Block8_invalidHexBytesData"), - Arguments.of("eth_call_BlockLatest"), - Arguments.of("eth_call_from_contract"), - Arguments.of("eth_estimateGas_transfer"), - Arguments.of("eth_estimateGas_noParams"), - Arguments.of("eth_estimateGas_contractDeploy"), - Arguments.of("eth_estimateGas_from_contract"), - Arguments.of("eth_gasPrice"), - Arguments.of("eth_getBalance_0x19"), - Arguments.of("eth_getBalance_invalidAccountBlockNumber"), - Arguments.of("eth_getBalance_invalidAccountLatest"), - Arguments.of("eth_getBalance_latest"), - Arguments.of("eth_getBalance_toobig_bn"), - Arguments.of("eth_getBalance_without_addr"), - Arguments.of("eth_getBlock_byHash"), - Arguments.of("eth_getBlock_byHash_InvalidHexBytes32Hash"), - Arguments.of("eth_getBlock_byHashInvalid"), - Arguments.of("eth_getBlock_byNumber"), - Arguments.of("eth_getBlock_byNumberInvalid"), - Arguments.of("eth_getBlock_wrongParams"), - Arguments.of("eth_getBlockTransactionCount_byHash"), - Arguments.of("eth_getBlockTransactionCount_byNumber"), - Arguments.of("eth_getCode"), - Arguments.of("eth_getCode_noCode"), - Arguments.of("eth_getLogs_emptyListParam"), - Arguments.of("eth_getLogs_matchTopic"), - Arguments.of("eth_getLogs_matchAnyTopic"), - Arguments.of("eth_getLogs_range"), - Arguments.of("eth_getStorageAt"), - Arguments.of("eth_getStorageAt_illegalRangeGreaterThan"), - Arguments.of("eth_getTransaction_byBlockHashAndIndex"), - Arguments.of("eth_getTransaction_byBlockNumberAndIndex"), - Arguments.of("eth_getTransaction_byBlockNumberAndInvalidIndex"), - Arguments.of("eth_getTransaction_byHash"), - Arguments.of("eth_getTransaction_byHashNull"), - Arguments.of("eth_getTransactionCount"), - Arguments.of("eth_getTransactionReceipt"), - Arguments.of("eth_sendRawTransaction_contractCreation"), - Arguments.of("eth_sendRawTransaction_messageCall"), - Arguments.of("eth_sendRawTransaction_nonceTooLow"), - Arguments.of("eth_sendRawTransaction_transferEther"), - Arguments.of("eth_sendRawTransaction_unsignedTransaction"), - Arguments.of("eth_syncing"), - Arguments.of("graphql_blocks_byFrom"), - Arguments.of("graphql_blocks_byRange"), - Arguments.of("graphql_blocks_byWrongRange"), - Arguments.of("graphql_pending"), - Arguments.of("graphql_tooComplex"), - Arguments.of("graphql_tooComplexSchema"), - Arguments.of("graphql_variable_address"), - Arguments.of("graphql_variable_bytes"), - Arguments.of("graphql_variable_bytes32"), - Arguments.of("graphql_variable_long"), - Arguments.of("block_withdrawals_pre_shanghai"), - Arguments.of("block_withdrawals"), - Arguments.of("eth_getTransaction_type2"), - Arguments.of("eth_getBlock_shanghai")); + @SuppressWarnings("StreamResourceLeak") + public static Stream specs() throws IOException, URISyntaxException { + final URL url = + EthGraphQLHttpBySpecTest.class.getResource( + "/org/hyperledger/besu/ethereum/api/graphql/eth_blockNumber.json"); + checkState(url != null, "Cannot find test directory org/hyperledger/besu/ethereum/api/graphql"); + final Path dir = Paths.get(url.toURI()).getParent(); + return Files.list(dir) + .map(Path::getFileName) + .map(Path::toString) + .filter(p -> p.endsWith(".json")) + .filter(p -> !p.contains("genesis")) + .map(Arguments::of); } @ParameterizedTest(name = "{index}: {0}") @MethodSource("specs") - public void graphQLCallWithSpecFile(final String specFileName) throws Exception { + void graphQLCallWithSpecFile(final String specFileName) throws Exception { graphQLCall(specFileName); } private void graphQLCall(final String name) throws IOException { - final String testSpecFile = name + ".json"; final String json = - Resources.toString( - EthGraphQLHttpBySpecTest.class.getResource(testSpecFile), Charsets.UTF_8); + Resources.toString(EthGraphQLHttpBySpecTest.class.getResource(name), Charsets.UTF_8); final JsonObject spec = new JsonObject(json); final String rawRequestBody = spec.getString("request"); final String rawVariables = spec.getString("variables"); diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractScheduledApiTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractScheduledApiTest.java index 84704e3f2a1..6d71932ff96 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractScheduledApiTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractScheduledApiTest.java @@ -40,7 +40,7 @@ public class AbstractScheduledApiTest { protected final ScheduledProtocolSpec.Hardfork cancunHardfork = new ScheduledProtocolSpec.Hardfork("Cancun", 30); protected final ScheduledProtocolSpec.Hardfork experimentalHardfork = - new ScheduledProtocolSpec.Hardfork("Experimental", 40); + new ScheduledProtocolSpec.Hardfork("ExperimentalEips", 40); @Mock protected DefaultProtocolSchedule protocolSchedule; diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineGetPayloadV2Test.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineGetPayloadV2Test.java index 4c85b18630f..d9f7f9b4291 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineGetPayloadV2Test.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineGetPayloadV2Test.java @@ -93,30 +93,6 @@ public void shouldReturnBlockForKnownPayloadId() { verify(engineCallListener, times(1)).executionEngineCalled(); } - @Test - public void shouldReturnBlockForKnownPayloadIdPostV6110() { - // should return deposits for a post-V6110 block - when(mergeContext.retrieveBlockById(mockPid)) - .thenReturn(Optional.of(mockBlockWithReceiptsAndDeposits)); - - final var resp = resp(RpcMethod.ENGINE_GET_PAYLOAD_V2.getMethodName(), mockPid); - assertThat(resp).isInstanceOf(JsonRpcSuccessResponse.class); - Optional.of(resp) - .map(JsonRpcSuccessResponse.class::cast) - .ifPresent( - r -> { - assertThat(r.getResult()).isInstanceOf(EngineGetPayloadResultV2.class); - final EngineGetPayloadResultV2 res = (EngineGetPayloadResultV2) r.getResult(); - assertThat(res.getExecutionPayload().getDeposits()).isNotNull(); - assertThat(res.getExecutionPayload().getHash()) - .isEqualTo(mockHeader.getHash().toString()); - assertThat(res.getBlockValue()).isEqualTo(Quantity.create(0)); - assertThat(res.getExecutionPayload().getPrevRandao()) - .isEqualTo(mockHeader.getPrevRandao().map(Bytes32::toString).orElse("")); - }); - verify(engineCallListener, times(1)).executionEngineCalled(); - } - @Test public void shouldReturnExecutionPayloadWithoutWithdrawals_PreShanghaiBlock() { final var resp = resp(RpcMethod.ENGINE_GET_PAYLOAD_V2.getMethodName(), mockPid); @@ -128,25 +104,6 @@ public void shouldReturnExecutionPayloadWithoutWithdrawals_PreShanghaiBlock() { assertThat(r.getResult()).isInstanceOf(EngineGetPayloadResultV2.class); final EngineGetPayloadResultV2 res = (EngineGetPayloadResultV2) r.getResult(); assertThat(res.getExecutionPayload().getWithdrawals()).isNull(); - assertThat(res.getExecutionPayload().getDeposits()).isNull(); - }); - verify(engineCallListener, times(1)).executionEngineCalled(); - } - - @Test - public void shouldReturnExecutionPayloadWithoutDeposits_PreV6110Block() { - when(mergeContext.retrieveBlockById(mockPid)) - .thenReturn(Optional.of(mockBlockWithReceiptsAndWithdrawals)); - - final var resp = resp(RpcMethod.ENGINE_GET_PAYLOAD_V2.getMethodName(), mockPid); - assertThat(resp).isInstanceOf(JsonRpcSuccessResponse.class); - Optional.of(resp) - .map(JsonRpcSuccessResponse.class::cast) - .ifPresent( - r -> { - assertThat(r.getResult()).isInstanceOf(EngineGetPayloadResultV2.class); - final EngineGetPayloadResultV2 res = (EngineGetPayloadResultV2) r.getResult(); - assertThat(res.getExecutionPayload().getDeposits()).isNull(); }); verify(engineCallListener, times(1)).executionEngineCalled(); } diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineGetPayloadV6110Test.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineGetPayloadV6110Test.java new file mode 100644 index 00000000000..879f11e724c --- /dev/null +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineGetPayloadV6110Test.java @@ -0,0 +1,177 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.engine; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.lenient; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +import org.hyperledger.besu.consensus.merge.blockcreation.PayloadIdentifier; +import org.hyperledger.besu.datatypes.Address; +import org.hyperledger.besu.datatypes.BlobGas; +import org.hyperledger.besu.datatypes.BlobsWithCommitments; +import org.hyperledger.besu.datatypes.Hash; +import org.hyperledger.besu.datatypes.TransactionType; +import org.hyperledger.besu.datatypes.Wei; +import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.EngineGetPayloadResultV6110; +import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.Quantity; +import org.hyperledger.besu.ethereum.core.BlobTestFixture; +import org.hyperledger.besu.ethereum.core.Block; +import org.hyperledger.besu.ethereum.core.BlockBody; +import org.hyperledger.besu.ethereum.core.BlockHeader; +import org.hyperledger.besu.ethereum.core.BlockHeaderTestFixture; +import org.hyperledger.besu.ethereum.core.BlockWithReceipts; +import org.hyperledger.besu.ethereum.core.Transaction; +import org.hyperledger.besu.ethereum.core.TransactionReceipt; +import org.hyperledger.besu.ethereum.core.TransactionTestFixture; + +import java.math.BigInteger; +import java.util.Collections; +import java.util.List; +import java.util.Optional; + +import org.apache.tuweni.bytes.Bytes; +import org.apache.tuweni.bytes.Bytes32; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Mockito; +import org.mockito.junit.jupiter.MockitoExtension; + +@ExtendWith( + MockitoExtension.class) // mocks in parent class may not be used, throwing unnecessary stubbing +public class EngineGetPayloadV6110Test extends AbstractEngineGetPayloadTest { + + public EngineGetPayloadV6110Test() { + super(); + } + + @BeforeEach + @Override + public void before() { + super.before(); + lenient() + .when(mergeContext.retrieveBlockById(mockPid)) + .thenReturn(Optional.of(mockBlockWithReceiptsAndDeposits)); + when(protocolContext.safeConsensusContext(Mockito.any())).thenReturn(Optional.of(mergeContext)); + this.method = + new EngineGetPayloadV6110( + vertx, + protocolContext, + mergeMiningCoordinator, + factory, + engineCallListener, + protocolSchedule); + } + + @Override + @Test + public void shouldReturnExpectedMethodName() { + assertThat(method.getName()).isEqualTo("engine_getPayloadV6110"); + } + + @Override + @Test + public void shouldReturnBlockForKnownPayloadId() { + + BlockHeader eip6110Header = + new BlockHeaderTestFixture() + .prevRandao(Bytes32.random()) + .timestamp(experimentalHardfork.milestone() + 1) + .excessBlobGas(BlobGas.of(10L)) + .buildHeader(); + // should return withdrawals, deposits and excessGas for a post-6110 block + PayloadIdentifier postEip6110Pid = + PayloadIdentifier.forPayloadParams( + Hash.ZERO, + experimentalHardfork.milestone(), + Bytes32.random(), + Address.fromHexString("0x42"), + Optional.empty(), + Optional.empty()); + + BlobTestFixture blobTestFixture = new BlobTestFixture(); + BlobsWithCommitments bwc = blobTestFixture.createBlobsWithCommitments(1); + Transaction blobTx = + new TransactionTestFixture() + .to(Optional.of(Address.fromHexString("0xDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF"))) + .type(TransactionType.BLOB) + .chainId(Optional.of(BigInteger.ONE)) + .maxFeePerGas(Optional.of(Wei.of(15))) + .maxFeePerBlobGas(Optional.of(Wei.of(128))) + .maxPriorityFeePerGas(Optional.of(Wei.of(1))) + .blobsWithCommitments(Optional.of(bwc)) + .versionedHashes(Optional.of(bwc.getVersionedHashes())) + .createTransaction(senderKeys); + TransactionReceipt blobReceipt = mock(TransactionReceipt.class); + when(blobReceipt.getCumulativeGasUsed()).thenReturn(100L); + BlockWithReceipts postEip6110Block = + new BlockWithReceipts( + new Block( + eip6110Header, + new BlockBody( + List.of(blobTx), + Collections.emptyList(), + Optional.of(Collections.emptyList()), + Optional.of(Collections.emptyList()))), + List.of(blobReceipt)); + + when(mergeContext.retrieveBlockById(postEip6110Pid)).thenReturn(Optional.of(postEip6110Block)); + + final var resp = resp(RpcMethod.ENGINE_GET_PAYLOAD_V6110.getMethodName(), postEip6110Pid); + assertThat(resp).isInstanceOf(JsonRpcSuccessResponse.class); + Optional.of(resp) + .map(JsonRpcSuccessResponse.class::cast) + .ifPresent( + r -> { + assertThat(r.getResult()).isInstanceOf(EngineGetPayloadResultV6110.class); + final EngineGetPayloadResultV6110 res = (EngineGetPayloadResultV6110) r.getResult(); + assertThat(res.getExecutionPayload().getWithdrawals()).isNotNull(); + assertThat(res.getExecutionPayload().getDeposits()).isNotNull(); + assertThat(res.getExecutionPayload().getHash()) + .isEqualTo(eip6110Header.getHash().toString()); + assertThat(res.getBlockValue()).isEqualTo(Quantity.create(0)); + assertThat(res.getExecutionPayload().getPrevRandao()) + .isEqualTo(eip6110Header.getPrevRandao().map(Bytes32::toString).orElse("")); + // excessBlobGas: QUANTITY, 256 bits + String expectedQuantityOf10 = Bytes32.leftPad(Bytes.of(10)).toQuantityHexString(); + assertThat(res.getExecutionPayload().getExcessBlobGas()).isNotEmpty(); + assertThat(res.getExecutionPayload().getExcessBlobGas()) + .isEqualTo(expectedQuantityOf10); + }); + verify(engineCallListener, times(1)).executionEngineCalled(); + } + + @Test + public void shouldReturnUnsupportedFork() { + final var resp = resp(RpcMethod.ENGINE_GET_PAYLOAD_V6110.getMethodName(), mockPid); + + assertThat(resp).isInstanceOf(JsonRpcErrorResponse.class); + assertThat(((JsonRpcErrorResponse) resp).getErrorType()) + .isEqualTo(RpcErrorType.UNSUPPORTED_FORK); + } + + @Override + protected String getMethodName() { + return RpcMethod.ENGINE_GET_PAYLOAD_V6110.getMethodName(); + } +} diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadEIP6110Test.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadV6110Test.java similarity index 98% rename from ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadEIP6110Test.java rename to ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadV6110Test.java index 0e89e66e192..6390b8716c6 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadEIP6110Test.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineNewPayloadV6110Test.java @@ -12,7 +12,6 @@ * * SPDX-License-Identifier: Apache-2.0 */ - package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.engine; import static org.assertj.core.api.Assertions.assertThat; @@ -55,11 +54,11 @@ import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -public class EngineNewPayloadEIP6110Test extends EngineNewPayloadV3Test { +public class EngineNewPayloadV6110Test extends EngineNewPayloadV3Test { private static final Address depositContractAddress = Address.fromHexString("0x00000000219ab540356cbb839cbe05303d7705fa"); - public EngineNewPayloadEIP6110Test() {} + public EngineNewPayloadV6110Test() {} @BeforeEach @Override diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_blockNumber.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_blockNumber.json index 247ec0146e5..35b79c9ab7b 100644 --- a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_blockNumber.json +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_blockNumber.json @@ -3,7 +3,7 @@ "response": { "data": { "block": { - "number": "0x21" + "number": "0x22" } } }, diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_call_BlockLatest.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_call_BlockLatest.json index 9b5bb2fd89c..bd133f0f060 100644 --- a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_call_BlockLatest.json +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_call_BlockLatest.json @@ -3,7 +3,7 @@ "response": { "data": { "block": { - "number": "0x21", + "number": "0x22", "call": { "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "status": "0x1" diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_call_from_contract.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_call_from_contract.json index 211a97be18f..dea5433a856 100644 --- a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_call_from_contract.json +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_call_from_contract.json @@ -3,7 +3,7 @@ "response": { "data": { "block": { - "number": "0x21", + "number": "0x22", "call": { "data": "0x", "status": "0x1" diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_gasPrice.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_gasPrice.json index 744e7ea98b9..40b8bf0fa0d 100644 --- a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_gasPrice.json +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_gasPrice.json @@ -3,7 +3,7 @@ "response": { "data": { "gasPrice": "0x1", - "maxPriorityFeePerGas": "0x0" + "maxPriorityFeePerGas": "0x3b9aca00" } }, "statusCode": 200 diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_getBalance_toobig_bn.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_getBalance_toobig_bn.json index cbc24c848e1..ef45299e915 100644 --- a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_getBalance_toobig_bn.json +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_getBalance_toobig_bn.json @@ -1,9 +1,9 @@ { - "request": "{ block(number:\"0x22\") { account(address: \"0x6295ee1b4f6dd65047762f924ecd367c17eabf8f\") { balance } } }", + "request": "{ block(number:\"0x220\") { account(address: \"0x6295ee1b4f6dd65047762f924ecd367c17eabf8f\") { balance } } }", "response": { "errors": [ { - "message": "Exception while fetching data (/block) : Block number 34 was not found", + "message": "Exception while fetching data (/block) : Block number 544 was not found", "locations": [ { "line": 1, diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_getBlock_cancun.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_getBlock_cancun.json new file mode 100644 index 00000000000..3b9c0039152 --- /dev/null +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_getBlock_cancun.json @@ -0,0 +1,25 @@ +{ + "request": "{block (number: 34) { baseFeePerGas difficulty extraData miner { address } mixHash nonce stateRoot totalDifficulty withdrawalsRoot withdrawals { address amount index validator } blobGasUsed excessBlobGas transactions { maxFeePerBlobGas blobGasUsed blobGasPrice } }} ", + "response":{ + "data": { + "block":{ + "baseFeePerGas":"0x3437004a", + "difficulty":"0x0", + "extraData":"0x", + "miner": { + "address":"0x0000000000000000000000000000000000000000" + }, + "mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000", + "nonce":"0x0000000000000000", + "stateRoot":"0x34727aff24d1c51cd63fdc14515b15ddaa156fa0671c58a96c72b1553819945d", + "totalDifficulty":"0x427c00", + "withdrawalsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "withdrawals":[], + "blobGasUsed":"0x40000", + "excessBlobGas":"0x0", + "transactions":[{"maxFeePerBlobGas":"0x3b9aca00","blobGasUsed":"0x40000","blobGasPrice":"0x1"}] + } + } + }, + "statusCode": 200 +} \ No newline at end of file diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_getTransactionCount.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_getTransactionCount.json index a1fc9e307c2..3bacae05c80 100644 --- a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_getTransactionCount.json +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/eth_getTransactionCount.json @@ -4,7 +4,7 @@ "data": { "pending": { "account": { - "transactionCount": "0x21" + "transactionCount": "0x22" } } } diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/graphql_blocks_byFrom.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/graphql_blocks_byFrom.json index 800542adbc0..33046a3a548 100644 --- a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/graphql_blocks_byFrom.json +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/graphql/graphql_blocks_byFrom.json @@ -14,6 +14,9 @@ }, { "number": "0x21" + }, + { + "number": "0x22" } ] } diff --git a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/BlockTransactionSelector.java b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/BlockTransactionSelector.java index a5d168ae8c1..03c6ef28951 100644 --- a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/BlockTransactionSelector.java +++ b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/BlockTransactionSelector.java @@ -18,6 +18,7 @@ import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.GasLimitCalculator; import org.hyperledger.besu.ethereum.blockcreation.txselection.selectors.AbstractTransactionSelector; +import org.hyperledger.besu.ethereum.blockcreation.txselection.selectors.AllAcceptingTransactionSelector; import org.hyperledger.besu.ethereum.blockcreation.txselection.selectors.BlobPriceTransactionSelector; import org.hyperledger.besu.ethereum.blockcreation.txselection.selectors.BlockSizeTransactionSelector; import org.hyperledger.besu.ethereum.blockcreation.txselection.selectors.PriceTransactionSelector; @@ -37,10 +38,11 @@ import org.hyperledger.besu.ethereum.vm.BlockHashLookup; import org.hyperledger.besu.ethereum.vm.CachingBlockHashLookup; import org.hyperledger.besu.evm.gascalculator.GasCalculator; +import org.hyperledger.besu.evm.tracing.OperationTracer; import org.hyperledger.besu.evm.worldstate.WorldUpdater; import org.hyperledger.besu.plugin.data.TransactionSelectionResult; -import org.hyperledger.besu.plugin.services.txselection.TransactionSelector; -import org.hyperledger.besu.plugin.services.txselection.TransactionSelectorFactory; +import org.hyperledger.besu.plugin.services.txselection.PluginTransactionSelector; +import org.hyperledger.besu.plugin.services.txselection.PluginTransactionSelectorFactory; import java.util.List; import java.util.Optional; @@ -73,6 +75,7 @@ */ public class BlockTransactionSelector { private static final Logger LOG = LoggerFactory.getLogger(BlockTransactionSelector.class); + private final Supplier isCancelled; private final MainnetTransactionProcessor transactionProcessor; private final Blockchain blockchain; @@ -82,7 +85,8 @@ public class BlockTransactionSelector { private final TransactionSelectionResults transactionSelectionResults = new TransactionSelectionResults(); private final List transactionSelectors; - private final List externalTransactionSelectors; + private final PluginTransactionSelector pluginTransactionSelector; + private final OperationTracer pluginOperationTracer; public BlockTransactionSelector( final MainnetTransactionProcessor transactionProcessor, @@ -99,7 +103,7 @@ public BlockTransactionSelector( final FeeMarket feeMarket, final GasCalculator gasCalculator, final GasLimitCalculator gasLimitCalculator, - final Optional transactionSelectorFactory) { + final Optional transactionSelectorFactory) { this.transactionProcessor = transactionProcessor; this.blockchain = blockchain; this.worldState = worldState; @@ -117,8 +121,20 @@ public BlockTransactionSelector( miningBeneficiary, transactionPool); transactionSelectors = createTransactionSelectors(blockSelectionContext); - externalTransactionSelectors = - transactionSelectorFactory.map(TransactionSelectorFactory::create).orElse(List.of()); + pluginTransactionSelector = + transactionSelectorFactory + .map(PluginTransactionSelectorFactory::create) + .orElse(AllAcceptingTransactionSelector.INSTANCE); + pluginOperationTracer = pluginTransactionSelector.getOperationTracer(); + } + + private List createTransactionSelectors( + final BlockSelectionContext context) { + return List.of( + new BlockSizeTransactionSelector(context), + new PriceTransactionSelector(context), + new BlobPriceTransactionSelector(context), + new ProcessingResultTransactionSelector(context)); } /** @@ -135,17 +151,7 @@ public TransactionSelectionResults buildTransactionListForBlock() { .setMessage("Transaction pool stats {}") .addArgument(blockSelectionContext.transactionPool().logStats()) .log(); - blockSelectionContext - .transactionPool() - .selectTransactions( - pendingTransaction -> { - final var res = evaluateTransaction(pendingTransaction); - if (!res.selected()) { - transactionSelectionResults.updateNotSelected( - pendingTransaction.getTransaction(), res); - } - return res; - }); + blockSelectionContext.transactionPool().selectTransactions(this::evaluateTransaction); LOG.atTrace() .setMessage("Transaction selection result {}") .addArgument(transactionSelectionResults::toTraceLog) @@ -164,81 +170,40 @@ public TransactionSelectionResults buildTransactionListForBlock() { */ public TransactionSelectionResults evaluateTransactions(final List transactions) { transactions.forEach( - transaction -> { - final var res = evaluateTransaction(new PendingTransaction.Local(transaction)); - if (!res.selected()) { - transactionSelectionResults.updateNotSelected(transaction, res); - } - }); + transaction -> evaluateTransaction(new PendingTransaction.Local.Priority(transaction))); return transactionSelectionResults; } - /* + /** * Passed into the PendingTransactions, and is called on each transaction until sufficient - * transactions are found which fill a block worth of gas. - * - * This function will continue to be called until the block under construction is suitably - * full (in terms of gasLimit) and the provided transaction's gasLimit does not fit within - * the space remaining in the block. + * transactions are found which fill a block worth of gas. This function will continue to be + * called until the block under construction is suitably full (in terms of gasLimit) and the + * provided transaction's gasLimit does not fit within the space remaining in the block. * + * @param pendingTransaction The transaction to be evaluated. + * @return The result of the transaction evaluation process. + * @throws CancellationException if the transaction selection process is cancelled. */ private TransactionSelectionResult evaluateTransaction( final PendingTransaction pendingTransaction) { - if (isCancelled.get()) { - throw new CancellationException("Cancelled during transaction selection."); - } + checkCancellation(); - final Transaction transaction = pendingTransaction.getTransaction(); - - TransactionSelectionResult selectionResult = - evaluateTransactionPreProcessing(pendingTransaction); + TransactionSelectionResult selectionResult = evaluatePreProcessing(pendingTransaction); if (!selectionResult.selected()) { - return selectionResult; + return handleTransactionNotSelected(pendingTransaction, selectionResult); } final WorldUpdater worldStateUpdater = worldState.updater(); - final BlockHashLookup blockHashLookup = - new CachingBlockHashLookup(blockSelectionContext.processableBlockHeader(), blockchain); + final TransactionProcessingResult processingResult = + processTransaction(pendingTransaction, worldStateUpdater); - final TransactionProcessingResult effectiveResult = - transactionProcessor.processTransaction( - blockchain, - worldStateUpdater, - blockSelectionContext.processableBlockHeader(), - transaction, - blockSelectionContext.miningBeneficiary(), - blockHashLookup, - false, - TransactionValidationParams.mining(), - blockSelectionContext.blobGasPrice()); - - var transactionWithProcessingContextResult = - evaluateTransactionPostProcessing(pendingTransaction, effectiveResult); - if (!transactionWithProcessingContextResult.selected()) { - return transactionWithProcessingContextResult; + var postProcessingSelectionResult = + evaluatePostProcessing(pendingTransaction, processingResult); + if (!postProcessingSelectionResult.selected()) { + return handleTransactionNotSelected(pendingTransaction, postProcessingSelectionResult); } - final long gasUsedByTransaction = transaction.getGasLimit() - effectiveResult.getGasRemaining(); - final long cumulativeGasUsed = - transactionSelectionResults.getCumulativeGasUsed() + gasUsedByTransaction; - - worldStateUpdater.commit(); - final TransactionReceipt receipt = - transactionReceiptFactory.create( - transaction.getType(), effectiveResult, worldState, cumulativeGasUsed); - - final long blobGasUsed = - blockSelectionContext.gasCalculator().blobGasCost(transaction.getBlobCount()); - - transactionSelectionResults.updateSelected( - transaction, receipt, gasUsedByTransaction, blobGasUsed); - - LOG.atTrace() - .setMessage("Selected {} for block creation") - .addArgument(transaction::toTraceLog) - .log(); - - return TransactionSelectionResult.SELECTED; + return handleTransactionSelected(pendingTransaction, processingResult, worldStateUpdater); } /** @@ -250,31 +215,18 @@ private TransactionSelectionResult evaluateTransaction( * @param pendingTransaction The transaction to be evaluated. * @return The result of the transaction selection process. */ - private TransactionSelectionResult evaluateTransactionPreProcessing( + private TransactionSelectionResult evaluatePreProcessing( final PendingTransaction pendingTransaction) { - // Process the transaction through internal selectors for (var selector : transactionSelectors) { TransactionSelectionResult result = selector.evaluateTransactionPreProcessing( pendingTransaction, transactionSelectionResults); - // If the transaction is not selected by any internal selector, return the result if (!result.equals(TransactionSelectionResult.SELECTED)) { return result; } } - - // Process the transaction through external selectors - for (var selector : externalTransactionSelectors) { - TransactionSelectionResult result = - selector.evaluateTransactionPreProcessing(pendingTransaction); - // If the transaction is not selected by any external selector, return the result - if (!result.equals(TransactionSelectionResult.SELECTED)) { - return result; - } - } - // If the transaction is selected by all selectors, return SELECTED - return TransactionSelectionResult.SELECTED; + return pluginTransactionSelector.evaluateTransactionPreProcessing(pendingTransaction); } /** @@ -287,41 +239,111 @@ private TransactionSelectionResult evaluateTransactionPreProcessing( * @param processingResult The result of the transaction processing. * @return The result of the transaction selection process. */ - private TransactionSelectionResult evaluateTransactionPostProcessing( + private TransactionSelectionResult evaluatePostProcessing( final PendingTransaction pendingTransaction, final TransactionProcessingResult processingResult) { - // Process the transaction through internal selectors for (var selector : transactionSelectors) { TransactionSelectionResult result = selector.evaluateTransactionPostProcessing( pendingTransaction, transactionSelectionResults, processingResult); - // If the transaction is not selected by any selector, return the result if (!result.equals(TransactionSelectionResult.SELECTED)) { return result; } } + return pluginTransactionSelector.evaluateTransactionPostProcessing( + pendingTransaction, processingResult); + } - // Process the transaction through external selectors - for (var selector : externalTransactionSelectors) { - TransactionSelectionResult result = - selector.evaluateTransactionPostProcessing(pendingTransaction, processingResult); - // If the transaction is not selected by any external selector, return the result - if (!result.equals(TransactionSelectionResult.SELECTED)) { - return result; - } - } + /** + * Processes a transaction + * + * @param pendingTransaction The transaction to be processed. + * @param worldStateUpdater The world state updater. + * @return The result of the transaction processing. + */ + private TransactionProcessingResult processTransaction( + final PendingTransaction pendingTransaction, final WorldUpdater worldStateUpdater) { + final BlockHashLookup blockHashLookup = + new CachingBlockHashLookup(blockSelectionContext.processableBlockHeader(), blockchain); + return transactionProcessor.processTransaction( + blockchain, + worldStateUpdater, + blockSelectionContext.processableBlockHeader(), + pendingTransaction.getTransaction(), + blockSelectionContext.miningBeneficiary(), + pluginOperationTracer, + blockHashLookup, + false, + TransactionValidationParams.mining(), + blockSelectionContext.blobGasPrice()); + } + + /** + * Handles a selected transaction by committing the world state updates, creating a transaction + * receipt, updating the TransactionSelectionResults with the selected transaction, and notifying + * the external transaction selector. + * + * @param pendingTransaction The pending transaction. + * @param processingResult The result of the transaction processing. + * @param worldStateUpdater The world state updater. + * @return The result of the transaction selection process. + */ + private TransactionSelectionResult handleTransactionSelected( + final PendingTransaction pendingTransaction, + final TransactionProcessingResult processingResult, + final WorldUpdater worldStateUpdater) { + worldStateUpdater.commit(); + final Transaction transaction = pendingTransaction.getTransaction(); + + final long gasUsedByTransaction = + transaction.getGasLimit() - processingResult.getGasRemaining(); + final long cumulativeGasUsed = + transactionSelectionResults.getCumulativeGasUsed() + gasUsedByTransaction; + final long blobGasUsed = + blockSelectionContext.gasCalculator().blobGasCost(transaction.getBlobCount()); + + final TransactionReceipt receipt = + transactionReceiptFactory.create( + transaction.getType(), processingResult, worldState, cumulativeGasUsed); + + logTransactionSelection(pendingTransaction.getTransaction()); + + transactionSelectionResults.updateSelected( + pendingTransaction.getTransaction(), receipt, gasUsedByTransaction, blobGasUsed); + pluginTransactionSelector.onTransactionSelected(pendingTransaction, processingResult); - // If the transaction is selected by all selectors, return SELECTED return TransactionSelectionResult.SELECTED; } - private List createTransactionSelectors( - final BlockSelectionContext context) { - return List.of( - new BlockSizeTransactionSelector(context), - new PriceTransactionSelector(context), - new BlobPriceTransactionSelector(context), - new ProcessingResultTransactionSelector(context)); + /** + * Handles the scenario when a transaction is not selected. It updates the + * TransactionSelectionResults with the unselected transaction, and notifies the external + * transaction selector. + * + * @param pendingTransaction The unselected pending transaction. + * @param selectionResult The result of the transaction selection process. + * @return The result of the transaction selection process. + */ + private TransactionSelectionResult handleTransactionNotSelected( + final PendingTransaction pendingTransaction, + final TransactionSelectionResult selectionResult) { + transactionSelectionResults.updateNotSelected( + pendingTransaction.getTransaction(), selectionResult); + pluginTransactionSelector.onTransactionNotSelected(pendingTransaction, selectionResult); + return selectionResult; + } + + private void checkCancellation() { + if (isCancelled.get()) { + throw new CancellationException("Cancelled during transaction selection."); + } + } + + private void logTransactionSelection(final Transaction transaction) { + LOG.atTrace() + .setMessage("Selected {} for block creation") + .addArgument(transaction::toTraceLog) + .log(); } } diff --git a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/AllAcceptingTransactionSelector.java b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/AllAcceptingTransactionSelector.java new file mode 100644 index 00000000000..9032ddca575 --- /dev/null +++ b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/AllAcceptingTransactionSelector.java @@ -0,0 +1,54 @@ +/* + * Copyright Hyperledger Besu Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.ethereum.blockcreation.txselection.selectors; + +import org.hyperledger.besu.datatypes.PendingTransaction; +import org.hyperledger.besu.plugin.data.TransactionProcessingResult; +import org.hyperledger.besu.plugin.data.TransactionSelectionResult; +import org.hyperledger.besu.plugin.services.txselection.PluginTransactionSelector; + +/** A TransactionSelector that unconditionally selects all transactions. */ +public class AllAcceptingTransactionSelector implements PluginTransactionSelector { + public static final AllAcceptingTransactionSelector INSTANCE = + new AllAcceptingTransactionSelector(); + + private AllAcceptingTransactionSelector() {} + + /** + * Always selects the transaction in the pre-processing stage. + * + * @param pendingTransaction The transaction to be evaluated. + * @return Always SELECTED. + */ + @Override + public TransactionSelectionResult evaluateTransactionPreProcessing( + final PendingTransaction pendingTransaction) { + return TransactionSelectionResult.SELECTED; + } + + /** + * Always selects the transaction in the post-processing stage. + * + * @param pendingTransaction The transaction to be evaluated. + * @param processingResult The result of the transaction processing. + * @return Always SELECTED. + */ + @Override + public TransactionSelectionResult evaluateTransactionPostProcessing( + final PendingTransaction pendingTransaction, + final TransactionProcessingResult processingResult) { + return TransactionSelectionResult.SELECTED; + } +} diff --git a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/PriceTransactionSelector.java b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/PriceTransactionSelector.java index a6c1889e497..9828650b41b 100644 --- a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/PriceTransactionSelector.java +++ b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/selectors/PriceTransactionSelector.java @@ -73,8 +73,7 @@ private boolean transactionCurrentPriceBelowMin(final PendingTransaction pending final Transaction transaction = pendingTransaction.getTransaction(); // Here we only care about EIP1159 since for Frontier and local transactions the checks // that we do when accepting them in the pool are enough - if (transaction.getType().supports1559FeeMarket() - && !pendingTransaction.isReceivedFromLocalSource()) { + if (transaction.getType().supports1559FeeMarket() && !pendingTransaction.hasPriority()) { // For EIP1559 transactions, the price is dynamic and depends on network conditions, so we can // only calculate at this time the current minimum price the transaction is willing to pay @@ -90,7 +89,7 @@ private boolean transactionCurrentPriceBelowMin(final PendingTransaction pending if (context.minTransactionGasPrice().compareTo(currentMinTransactionGasPriceInBlock) > 0) { LOG.trace( "Current gas fee of {} is lower than configured minimum {}, skipping", - transaction, + pendingTransaction, context.minTransactionGasPrice()); return true; } diff --git a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockTransactionSelectorTest.java b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockTransactionSelectorTest.java index fd5ed17f59e..863d164df43 100644 --- a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockTransactionSelectorTest.java +++ b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockTransactionSelectorTest.java @@ -19,6 +19,9 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import org.hyperledger.besu.config.GenesisConfigFile; @@ -33,6 +36,7 @@ import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.blockcreation.txselection.BlockTransactionSelector; import org.hyperledger.besu.ethereum.blockcreation.txselection.TransactionSelectionResults; +import org.hyperledger.besu.ethereum.blockcreation.txselection.selectors.AllAcceptingTransactionSelector; import org.hyperledger.besu.ethereum.chain.DefaultBlockchain; import org.hyperledger.besu.ethereum.chain.GenesisState; import org.hyperledger.besu.ethereum.chain.MutableBlockchain; @@ -67,8 +71,8 @@ import org.hyperledger.besu.metrics.noop.NoOpMetricsSystem; import org.hyperledger.besu.plugin.data.TransactionSelectionResult; import org.hyperledger.besu.plugin.services.MetricsSystem; -import org.hyperledger.besu.plugin.services.txselection.TransactionSelector; -import org.hyperledger.besu.plugin.services.txselection.TransactionSelectorFactory; +import org.hyperledger.besu.plugin.services.txselection.PluginTransactionSelector; +import org.hyperledger.besu.plugin.services.txselection.PluginTransactionSelectorFactory; import org.hyperledger.besu.services.kvstore.InMemoryKeyValueStorage; import java.math.BigInteger; @@ -84,6 +88,7 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Answers; +import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.junit.jupiter.MockitoSettings; @@ -552,28 +557,27 @@ public void transactionSelectionPluginShouldWork_PreProcessing() { final Transaction notSelectedInvalid = createTransaction(2, Wei.of(10), 21_000); ensureTransactionIsValid(notSelectedInvalid, 21_000, 0); - final TransactionSelectorFactory transactionSelectorFactory = + final PluginTransactionSelectorFactory transactionSelectorFactory = () -> - List.of( - new TransactionSelector() { - @Override - public TransactionSelectionResult evaluateTransactionPreProcessing( - final PendingTransaction pendingTransaction) { - if (pendingTransaction.getTransaction().equals(notSelectedTransient)) - return TransactionSelectionResult.invalidTransient("transient"); - if (pendingTransaction.getTransaction().equals(notSelectedInvalid)) - return TransactionSelectionResult.invalid("invalid"); - return TransactionSelectionResult.SELECTED; - } - - @Override - public TransactionSelectionResult evaluateTransactionPostProcessing( - final PendingTransaction pendingTransaction, - final org.hyperledger.besu.plugin.data.TransactionProcessingResult - processingResult) { - return TransactionSelectionResult.SELECTED; - } - }); + new PluginTransactionSelector() { + @Override + public TransactionSelectionResult evaluateTransactionPreProcessing( + final PendingTransaction pendingTransaction) { + if (pendingTransaction.getTransaction().equals(notSelectedTransient)) + return TransactionSelectionResult.invalidTransient("transient"); + if (pendingTransaction.getTransaction().equals(notSelectedInvalid)) + return TransactionSelectionResult.invalid("invalid"); + return TransactionSelectionResult.SELECTED; + } + + @Override + public TransactionSelectionResult evaluateTransactionPostProcessing( + final PendingTransaction pendingTransaction, + final org.hyperledger.besu.plugin.data.TransactionProcessingResult + processingResult) { + return TransactionSelectionResult.SELECTED; + } + }; final Address miningBeneficiary = AddressHelpers.ofValue(1); final BlockTransactionSelector selector = @@ -617,29 +621,27 @@ public void transactionSelectionPluginShouldWork_PostProcessing() { final Transaction selected3 = createTransaction(3, Wei.of(10), 21_000); ensureTransactionIsValid(selected3, maxGasUsedByTransaction, 0); - final TransactionSelectorFactory transactionSelectorFactory = + final PluginTransactionSelectorFactory transactionSelectorFactory = () -> - List.of( - new TransactionSelector() { - @Override - public TransactionSelectionResult evaluateTransactionPreProcessing( - final PendingTransaction pendingTransaction) { - return TransactionSelectionResult.SELECTED; - } - - @Override - public TransactionSelectionResult evaluateTransactionPostProcessing( - final PendingTransaction pendingTransaction, - final org.hyperledger.besu.plugin.data.TransactionProcessingResult - processingResult) { - // the transaction with max gas +1 should fail - if (processingResult.getEstimateGasUsedByTransaction() - > maxGasUsedByTransaction) { - return TransactionSelectionResult.invalidTransient("Invalid"); - } - return TransactionSelectionResult.SELECTED; - } - }); + new PluginTransactionSelector() { + @Override + public TransactionSelectionResult evaluateTransactionPreProcessing( + final PendingTransaction pendingTransaction) { + return TransactionSelectionResult.SELECTED; + } + + @Override + public TransactionSelectionResult evaluateTransactionPostProcessing( + final PendingTransaction pendingTransaction, + final org.hyperledger.besu.plugin.data.TransactionProcessingResult + processingResult) { + // the transaction with max gas +1 should fail + if (processingResult.getEstimateGasUsedByTransaction() > maxGasUsedByTransaction) { + return TransactionSelectionResult.invalidTransient("Invalid"); + } + return TransactionSelectionResult.SELECTED; + } + }; final Address miningBeneficiary = AddressHelpers.ofValue(1); final BlockTransactionSelector selector = @@ -662,6 +664,49 @@ public TransactionSelectionResult evaluateTransactionPostProcessing( .containsOnly(entry(notSelected, TransactionSelectionResult.invalidTransient("Invalid"))); } + @Test + public void transactionSelectionPluginShouldBeNotifiedWhenTransactionSelectionCompletes() { + final PluginTransactionSelectorFactory transactionSelectorFactory = + mock(PluginTransactionSelectorFactory.class); + PluginTransactionSelector transactionSelector = spy(AllAcceptingTransactionSelector.INSTANCE); + when(transactionSelectorFactory.create()).thenReturn(transactionSelector); + + final Transaction transaction = createTransaction(0, Wei.of(10), 21_000); + ensureTransactionIsValid(transaction, 21_000, 0); + + final TransactionInvalidReason invalidReason = TransactionInvalidReason.PLUGIN_TX_VALIDATOR; + final Transaction invalidTransaction = createTransaction(1, Wei.of(10), 21_000); + ensureTransactionIsInvalid(invalidTransaction, TransactionInvalidReason.PLUGIN_TX_VALIDATOR); + transactionPool.addRemoteTransactions(List.of(transaction, invalidTransaction)); + + createBlockSelectorWithTxSelPlugin( + transactionProcessor, + createBlock(300_000), + Wei.ZERO, + AddressHelpers.ofValue(1), + Wei.ZERO, + MIN_OCCUPANCY_80_PERCENT, + transactionSelectorFactory) + .buildTransactionListForBlock(); + + ArgumentCaptor argumentCaptor = + ArgumentCaptor.forClass(PendingTransaction.class); + + // selected transaction must be notified to the selector + verify(transactionSelector) + .onTransactionSelected(argumentCaptor.capture(), any(TransactionProcessingResult.class)); + PendingTransaction selected = argumentCaptor.getValue(); + assertThat(selected.getTransaction()).isEqualTo(transaction); + + // unselected transaction must be notified to the selector with correct reason + verify(transactionSelector) + .onTransactionNotSelected( + argumentCaptor.capture(), + eq(TransactionSelectionResult.invalid(invalidReason.toString()))); + PendingTransaction rejectedTransaction = argumentCaptor.getValue(); + assertThat(rejectedTransaction.getTransaction()).isEqualTo(invalidTransaction); + } + @Test public void transactionWithIncorrectNonceRemainsInPoolAndNotSelected() { final ProcessableBlockHeader blockHeader = createBlock(5_000_000); @@ -728,7 +773,7 @@ protected BlockTransactionSelector createBlockSelectorWithTxSelPlugin( final Address miningBeneficiary, final Wei blobGasPrice, final double minBlockOccupancyRatio, - final TransactionSelectorFactory transactionSelectorFactory) { + final PluginTransactionSelectorFactory transactionSelectorFactory) { final BlockTransactionSelector selector = new BlockTransactionSelector( transactionProcessor, @@ -809,7 +854,7 @@ protected void ensureTransactionIsValid(final Transaction tx) { protected void ensureTransactionIsValid( final Transaction tx, final long gasUsedByTransaction, final long gasRemaining) { when(transactionProcessor.processTransaction( - any(), any(), any(), eq(tx), any(), any(), anyBoolean(), any(), any())) + any(), any(), any(), eq(tx), any(), any(), any(), anyBoolean(), any(), any())) .thenReturn( TransactionProcessingResult.successful( new ArrayList<>(), @@ -822,7 +867,7 @@ protected void ensureTransactionIsValid( protected void ensureTransactionIsInvalid( final Transaction tx, final TransactionInvalidReason invalidReason) { when(transactionProcessor.processTransaction( - any(), any(), any(), eq(tx), any(), any(), anyBoolean(), any(), any())) + any(), any(), any(), eq(tx), any(), any(), any(), anyBoolean(), any(), any())) .thenReturn(TransactionProcessingResult.invalid(ValidationResult.invalid(invalidReason))); } diff --git a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/LondonFeeMarketBlockTransactionSelectorTest.java b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/LondonFeeMarketBlockTransactionSelectorTest.java index 29860d555a6..57b89f8a1d7 100644 --- a/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/LondonFeeMarketBlockTransactionSelectorTest.java +++ b/ethereum/blockcreation/src/test/java/org/hyperledger/besu/ethereum/blockcreation/LondonFeeMarketBlockTransactionSelectorTest.java @@ -155,7 +155,7 @@ public void eip1559TransactionCurrentGasPriceGreaterThanMinimumIsSelected() { } @Test - public void eip1559LocalTransactionCurrentGasPriceLessThanMinimumIsSelected() { + public void eip1559PriorityTransactionCurrentGasPriceLessThanMinimumIsSelected() { final ProcessableBlockHeader blockHeader = createBlock(301_000, Wei.ONE); final Address miningBeneficiary = AddressHelpers.ofValue(1); diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/ProtocolContext.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/ProtocolContext.java index 8c0fc460dc2..745c5640689 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/ProtocolContext.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/ProtocolContext.java @@ -18,7 +18,7 @@ import org.hyperledger.besu.ethereum.core.Synchronizer; import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule; import org.hyperledger.besu.ethereum.worldstate.WorldStateArchive; -import org.hyperledger.besu.plugin.services.txselection.TransactionSelectorFactory; +import org.hyperledger.besu.plugin.services.txselection.PluginTransactionSelectorFactory; import java.util.Optional; @@ -31,7 +31,7 @@ public class ProtocolContext { private final MutableBlockchain blockchain; private final WorldStateArchive worldStateArchive; private final ConsensusContext consensusContext; - private final Optional transactionSelectorFactory; + private final Optional transactionSelectorFactory; private Optional synchronizer; @@ -46,7 +46,7 @@ public ProtocolContext( final MutableBlockchain blockchain, final WorldStateArchive worldStateArchive, final ConsensusContext consensusContext, - final Optional transactionSelectorFactory) { + final Optional transactionSelectorFactory) { this.blockchain = blockchain; this.worldStateArchive = worldStateArchive; this.consensusContext = consensusContext; @@ -59,7 +59,7 @@ public static ProtocolContext init( final WorldStateArchive worldStateArchive, final ProtocolSchedule protocolSchedule, final ConsensusContextFactory consensusContextFactory, - final Optional transactionSelectorFactory) { + final Optional transactionSelectorFactory) { return new ProtocolContext( blockchain, worldStateArchive, @@ -93,7 +93,7 @@ public Optional safeConsensusContext(final Class .map(klass::cast); } - public Optional getTransactionSelectorFactory() { + public Optional getTransactionSelectorFactory() { return transactionSelectorFactory; } } diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/chain/DefaultBlockchain.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/chain/DefaultBlockchain.java index 22c60862450..cbde737684b 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/chain/DefaultBlockchain.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/chain/DefaultBlockchain.java @@ -31,6 +31,7 @@ import org.hyperledger.besu.ethereum.core.Transaction; import org.hyperledger.besu.ethereum.core.TransactionReceipt; import org.hyperledger.besu.metrics.BesuMetricCategory; +import org.hyperledger.besu.metrics.prometheus.PrometheusMetricsSystem; import org.hyperledger.besu.plugin.services.MetricsSystem; import org.hyperledger.besu.util.InvalidConfigurationException; import org.hyperledger.besu.util.Subscribers; @@ -49,8 +50,11 @@ import java.util.stream.Stream; import com.google.common.annotations.VisibleForTesting; +import com.google.common.cache.Cache; +import com.google.common.cache.CacheBuilder; import com.google.common.collect.Lists; import com.google.common.collect.Streams; +import io.prometheus.client.guava.cache.CacheMetricsCollector; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -73,12 +77,18 @@ public class DefaultBlockchain implements MutableBlockchain { private Comparator blockChoiceRule; + private final int numberOfBlocksToCache; + private final Optional> blockHeadersCache; + private final Optional> blockBodiesCache; + private final Optional>> transactionReceiptsCache; + private final Optional> totalDifficultyCache; + private DefaultBlockchain( final Optional genesisBlock, final BlockchainStorage blockchainStorage, final MetricsSystem metricsSystem, final long reorgLoggingThreshold) { - this(genesisBlock, blockchainStorage, metricsSystem, reorgLoggingThreshold, null); + this(genesisBlock, blockchainStorage, metricsSystem, reorgLoggingThreshold, null, 0); } private DefaultBlockchain( @@ -86,7 +96,8 @@ private DefaultBlockchain( final BlockchainStorage blockchainStorage, final MetricsSystem metricsSystem, final long reorgLoggingThreshold, - final String dataDirectory) { + final String dataDirectory, + final int numberOfBlocksToCache) { checkNotNull(genesisBlock); checkNotNull(blockchainStorage); checkNotNull(metricsSystem); @@ -144,6 +155,34 @@ private DefaultBlockchain( this.reorgLoggingThreshold = reorgLoggingThreshold; this.blockChoiceRule = heaviestChainBlockChoiceRule; + this.numberOfBlocksToCache = numberOfBlocksToCache; + + if (numberOfBlocksToCache != 0) { + blockHeadersCache = + Optional.of( + CacheBuilder.newBuilder().recordStats().maximumSize(numberOfBlocksToCache).build()); + blockBodiesCache = + Optional.of( + CacheBuilder.newBuilder().recordStats().maximumSize(numberOfBlocksToCache).build()); + transactionReceiptsCache = + Optional.of( + CacheBuilder.newBuilder().recordStats().maximumSize(numberOfBlocksToCache).build()); + totalDifficultyCache = + Optional.of( + CacheBuilder.newBuilder().recordStats().maximumSize(numberOfBlocksToCache).build()); + CacheMetricsCollector cacheMetrics = new CacheMetricsCollector(); + cacheMetrics.addCache("blockHeaders", blockHeadersCache.get()); + cacheMetrics.addCache("blockBodies", blockBodiesCache.get()); + cacheMetrics.addCache("transactionReceipts", transactionReceiptsCache.get()); + cacheMetrics.addCache("totalDifficulty", totalDifficultyCache.get()); + if (metricsSystem instanceof PrometheusMetricsSystem prometheusMetricsSystem) + prometheusMetricsSystem.addCollector(BesuMetricCategory.BLOCKCHAIN, () -> cacheMetrics); + } else { + blockHeadersCache = Optional.empty(); + blockBodiesCache = Optional.empty(); + transactionReceiptsCache = Optional.empty(); + totalDifficultyCache = Optional.empty(); + } } public static MutableBlockchain createMutable( @@ -153,7 +192,12 @@ public static MutableBlockchain createMutable( final long reorgLoggingThreshold) { checkNotNull(genesisBlock); return new DefaultBlockchain( - Optional.of(genesisBlock), blockchainStorage, metricsSystem, reorgLoggingThreshold); + Optional.of(genesisBlock), + blockchainStorage, + metricsSystem, + reorgLoggingThreshold, + null, + 0); } public static MutableBlockchain createMutable( @@ -168,7 +212,25 @@ public static MutableBlockchain createMutable( blockchainStorage, metricsSystem, reorgLoggingThreshold, - dataDirectory); + dataDirectory, + 0); + } + + public static MutableBlockchain createMutable( + final Block genesisBlock, + final BlockchainStorage blockchainStorage, + final MetricsSystem metricsSystem, + final long reorgLoggingThreshold, + final String dataDirectory, + final int numberOfBlocksToCache) { + checkNotNull(genesisBlock); + return new DefaultBlockchain( + Optional.of(genesisBlock), + blockchainStorage, + metricsSystem, + reorgLoggingThreshold, + dataDirectory, + numberOfBlocksToCache); } public static Blockchain create( @@ -227,22 +289,37 @@ public Block getChainHeadBlock() { @Override public Optional getBlockHeader(final long blockNumber) { - return blockchainStorage.getBlockHash(blockNumber).flatMap(blockchainStorage::getBlockHeader); + return blockchainStorage.getBlockHash(blockNumber).flatMap(this::getBlockHeader); } @Override public Optional getBlockHeader(final Hash blockHeaderHash) { - return blockchainStorage.getBlockHeader(blockHeaderHash); + return blockHeadersCache + .map( + cache -> + Optional.ofNullable(cache.getIfPresent(blockHeaderHash)) + .or(() -> blockchainStorage.getBlockHeader(blockHeaderHash))) + .orElseGet(() -> blockchainStorage.getBlockHeader(blockHeaderHash)); } @Override public Optional getBlockBody(final Hash blockHeaderHash) { - return blockchainStorage.getBlockBody(blockHeaderHash); + return blockBodiesCache + .map( + cache -> + Optional.ofNullable(cache.getIfPresent(blockHeaderHash)) + .or(() -> blockchainStorage.getBlockBody(blockHeaderHash))) + .orElseGet(() -> blockchainStorage.getBlockBody(blockHeaderHash)); } @Override public Optional> getTxReceipts(final Hash blockHeaderHash) { - return blockchainStorage.getTransactionReceipts(blockHeaderHash); + return transactionReceiptsCache + .map( + cache -> + Optional.ofNullable(cache.getIfPresent(blockHeaderHash)) + .or(() -> blockchainStorage.getTransactionReceipts(blockHeaderHash))) + .orElseGet(() -> blockchainStorage.getTransactionReceipts(blockHeaderHash)); } @Override @@ -252,7 +329,12 @@ public Optional getBlockHashByNumber(final long number) { @Override public Optional getTotalDifficultyByHash(final Hash blockHeaderHash) { - return blockchainStorage.getTotalDifficulty(blockHeaderHash); + return totalDifficultyCache + .map( + cache -> + Optional.ofNullable(cache.getIfPresent(blockHeaderHash)) + .or(() -> blockchainStorage.getTotalDifficulty(blockHeaderHash))) + .orElseGet(() -> blockchainStorage.getTotalDifficulty(blockHeaderHash)); } @Override @@ -283,14 +365,24 @@ public void setBlockChoiceRule(final Comparator blockChoiceRule) { @Override public synchronized void appendBlock(final Block block, final List receipts) { + if (numberOfBlocksToCache != 0) cacheBlockData(block, receipts); appendBlockHelper(new BlockWithReceipts(block, receipts), false); } @Override public synchronized void storeBlock(final Block block, final List receipts) { + if (numberOfBlocksToCache != 0) cacheBlockData(block, receipts); appendBlockHelper(new BlockWithReceipts(block, receipts), true); } + private void cacheBlockData(final Block block, final List receipts) { + blockHeadersCache.ifPresent(cache -> cache.put(block.getHash(), block.getHeader())); + blockBodiesCache.ifPresent(cache -> cache.put(block.getHash(), block.getBody())); + transactionReceiptsCache.ifPresent(cache -> cache.put(block.getHash(), receipts)); + totalDifficultyCache.ifPresent( + cache -> cache.put(block.getHash(), block.getHeader().getDifficulty())); + } + private boolean blockShouldBeProcessed( final Block block, final List receipts) { checkArgument( @@ -768,4 +860,20 @@ int observerCount() { private void notifyChainReorgBlockAdded(final BlockWithReceipts blockWithReceipts) { blockReorgObservers.forEach(observer -> observer.onBlockAdded(blockWithReceipts, this)); } + + public Optional> getBlockHeadersCache() { + return blockHeadersCache; + } + + public Optional> getBlockBodiesCache() { + return blockBodiesCache; + } + + public Optional>> getTransactionReceiptsCache() { + return transactionReceiptsCache; + } + + public Optional> getTotalDifficultyCache() { + return totalDifficultyCache; + } } diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/BlockHeaderBuilder.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/BlockHeaderBuilder.java index e218bf1d25b..fc38b663ea9 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/BlockHeaderBuilder.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/BlockHeaderBuilder.java @@ -238,7 +238,6 @@ private void validateProcessableBlockHeader() { checkState(this.difficulty != null, "Missing block difficulty"); checkState(this.number > -1L, "Missing block number"); checkState(this.gasLimit > -1L, "Missing gas limit"); - checkState(this.timestamp > -1L, "Missing timestamp"); } private void validateSealableBlockHeader() { @@ -360,7 +359,6 @@ public BlockHeaderBuilder gasUsed(final long gasUsed) { } public BlockHeaderBuilder timestamp(final long timestamp) { - checkArgument(timestamp >= 0); this.timestamp = timestamp; return this; } diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Deposit.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Deposit.java index b01d6deee32..ed362199b23 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Deposit.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Deposit.java @@ -32,19 +32,19 @@ public class Deposit implements org.hyperledger.besu.plugin.data.Deposit { - private final BLSPublicKey pubKey; + private final BLSPublicKey pubkey; private final Bytes32 depositWithdrawalCredentials; private final GWei amount; private final BLSSignature signature; private final UInt64 index; public Deposit( - final BLSPublicKey pubKey, + final BLSPublicKey pubkey, final Bytes32 depositWithdrawalCredentials, final GWei amount, final BLSSignature signature, final UInt64 index) { - this.pubKey = pubKey; + this.pubkey = pubkey; this.depositWithdrawalCredentials = depositWithdrawalCredentials; this.amount = amount; this.signature = signature; @@ -64,8 +64,8 @@ public void writeTo(final RLPOutput out) { } @Override - public PublicKey getPublicKey() { - return pubKey; + public PublicKey getPubkey() { + return pubkey; } @Override @@ -92,7 +92,7 @@ public UInt64 getIndex() { public String toString() { return "Deposit{" + "pubKey=" - + pubKey + + pubkey + ", withdrawalCredentials=" + depositWithdrawalCredentials + ", amount=" @@ -109,7 +109,7 @@ public boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; final Deposit that = (Deposit) o; - return Objects.equals(pubKey, that.pubKey) + return Objects.equals(pubkey, that.pubkey) && Objects.equals(depositWithdrawalCredentials, that.depositWithdrawalCredentials) && Objects.equals(amount, that.amount) && Objects.equals(signature, that.signature) @@ -118,6 +118,6 @@ public boolean equals(final Object o) { @Override public int hashCode() { - return Objects.hash(pubKey, depositWithdrawalCredentials, amount, signature, index); + return Objects.hash(pubkey, depositWithdrawalCredentials, amount, signature, index); } } diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Transaction.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Transaction.java index aeead13c362..cc54415ff5c 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Transaction.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Transaction.java @@ -134,6 +134,8 @@ public static Transaction readFrom(final RLPInput rlpInput) { /** * Instantiates a transaction instance. * + * @param forCopy true when using to create a copy of an already validated transaction avoid to + * redo the validation * @param transactionType the transaction type * @param nonce the nonce * @param gasPrice the gas price @@ -154,7 +156,8 @@ public static Transaction readFrom(final RLPInput rlpInput) { *

The {@code chainId} must be greater than 0 to be applied to a specific chain; otherwise * it will default to any chain. */ - public Transaction( + private Transaction( + final boolean forCopy, final TransactionType transactionType, final long nonce, final Optional gasPrice, @@ -172,36 +175,40 @@ public Transaction( final Optional> versionedHashes, final Optional blobsWithCommitments) { - if (transactionType.requiresChainId()) { - checkArgument( - chainId.isPresent(), "Chain id must be present for transaction type %s", transactionType); - } + if (!forCopy) { + if (transactionType.requiresChainId()) { + checkArgument( + chainId.isPresent(), + "Chain id must be present for transaction type %s", + transactionType); + } - if (maybeAccessList.isPresent()) { - checkArgument( - transactionType.supportsAccessList(), - "Must not specify access list for transaction not supporting it"); - } + if (maybeAccessList.isPresent()) { + checkArgument( + transactionType.supportsAccessList(), + "Must not specify access list for transaction not supporting it"); + } - if (Objects.equals(transactionType, TransactionType.ACCESS_LIST)) { - checkArgument( - maybeAccessList.isPresent(), "Must specify access list for access list transaction"); - } + if (Objects.equals(transactionType, TransactionType.ACCESS_LIST)) { + checkArgument( + maybeAccessList.isPresent(), "Must specify access list for access list transaction"); + } - if (versionedHashes.isPresent() || maxFeePerBlobGas.isPresent()) { - checkArgument( - transactionType.supportsBlob(), - "Must not specify blob versioned hashes or max fee per blob gas for transaction not supporting it"); - } + if (versionedHashes.isPresent() || maxFeePerBlobGas.isPresent()) { + checkArgument( + transactionType.supportsBlob(), + "Must not specify blob versioned hashes or max fee per blob gas for transaction not supporting it"); + } - if (transactionType.supportsBlob()) { - checkArgument( - versionedHashes.isPresent(), "Must specify blob versioned hashes for blob transaction"); - checkArgument( - !versionedHashes.get().isEmpty(), - "Blob transaction must have at least one versioned hash"); - checkArgument( - maxFeePerBlobGas.isPresent(), "Must specify max fee per blob gas for blob transaction"); + if (transactionType.supportsBlob()) { + checkArgument( + versionedHashes.isPresent(), "Must specify blob versioned hashes for blob transaction"); + checkArgument( + !versionedHashes.get().isEmpty(), + "Blob transaction must have at least one versioned hash"); + checkArgument( + maxFeePerBlobGas.isPresent(), "Must specify max fee per blob gas for blob transaction"); + } } this.transactionType = transactionType; @@ -221,7 +228,7 @@ public Transaction( this.versionedHashes = versionedHashes; this.blobsWithCommitments = blobsWithCommitments; - if (isUpfrontGasCostTooHigh()) { + if (!forCopy && isUpfrontGasCostTooHigh()) { throw new IllegalArgumentException("Upfront gas cost exceeds UInt256"); } } @@ -920,17 +927,19 @@ public String toString() { sb.append("nonce=").append(getNonce()).append(", "); getGasPrice() .ifPresent( - gasPrice -> sb.append("gasPrice=").append(gasPrice.toShortHexString()).append(", ")); + gasPrice -> + sb.append("gasPrice=").append(gasPrice.toHumanReadableString()).append(", ")); if (getMaxPriorityFeePerGas().isPresent() && getMaxFeePerGas().isPresent()) { sb.append("maxPriorityFeePerGas=") - .append(getMaxPriorityFeePerGas().map(Wei::toShortHexString).get()) + .append(getMaxPriorityFeePerGas().map(Wei::toHumanReadableString).get()) .append(", "); sb.append("maxFeePerGas=") - .append(getMaxFeePerGas().map(Wei::toShortHexString).get()) + .append(getMaxFeePerGas().map(Wei::toHumanReadableString).get()) .append(", "); getMaxFeePerBlobGas() .ifPresent( - wei -> sb.append("maxFeePerBlobGas=").append(wei.toShortHexString()).append(", ")); + wei -> + sb.append("maxFeePerBlobGas=").append(wei.toHumanReadableString()).append(", ")); } sb.append("gasLimit=").append(getGasLimit()).append(", "); if (getTo().isPresent()) sb.append("to=").append(getTo().get()).append(", "); @@ -986,7 +995,7 @@ public String toTraceLog() { } sb.append("gl: ").append(getGasLimit()).append(", "); sb.append("v: ").append(getValue().toHumanReadableString()).append(", "); - getTo().ifPresent(to -> sb.append(to)); + getTo().ifPresent(to -> sb.append("to: ").append(to)); return sb.append("}").toString(); } @@ -998,6 +1007,84 @@ public Optional

contractAddress() { return Optional.empty(); } + /** + * Creates a copy of this transaction that does not share any underlying byte array. + * + *

This is useful in case the transaction is built from a block body and fields, like to or + * payload, are wrapping (and so keeping references) sections of the large RPL encoded block body, + * and we plan to keep the transaction around for some time, like in the txpool in case of a + * reorg, and do not want to keep all the block body in memory for a long time, but only the + * actual transaction. + * + * @return a copy of the transaction + */ + public Transaction detachedCopy() { + final Optional

detachedTo = + to.isEmpty() ? to : Optional.of(Address.wrap(to.get().copy())); + final Optional> detachedAccessList = + maybeAccessList.isEmpty() + ? maybeAccessList + : Optional.of( + maybeAccessList.get().stream().map(this::accessListDetachedCopy).toList()); + final Optional> detachedVersionedHashes = + versionedHashes.isEmpty() + ? versionedHashes + : Optional.of( + versionedHashes.get().stream() + .map(vh -> new VersionedHash(vh.toBytes().copy())) + .toList()); + final Optional detachedBlobsWithCommitments = + blobsWithCommitments.isEmpty() + ? blobsWithCommitments + : Optional.of( + blobsWithCommitmentsDetachedCopy( + blobsWithCommitments.get(), detachedVersionedHashes.get())); + + return new Transaction( + true, + transactionType, + nonce, + gasPrice, + maxPriorityFeePerGas, + maxFeePerGas, + maxFeePerBlobGas, + gasLimit, + detachedTo, + value, + signature, + payload.copy(), + detachedAccessList, + sender, + chainId, + detachedVersionedHashes, + detachedBlobsWithCommitments); + } + + private AccessListEntry accessListDetachedCopy(final AccessListEntry accessListEntry) { + final Address detachedAddress = Address.wrap(accessListEntry.address().copy()); + final var detachedStorage = accessListEntry.storageKeys().stream().map(Bytes32::copy).toList(); + return new AccessListEntry(detachedAddress, detachedStorage); + } + + private BlobsWithCommitments blobsWithCommitmentsDetachedCopy( + final BlobsWithCommitments blobsWithCommitments, final List versionedHashes) { + final var detachedCommitments = + blobsWithCommitments.getKzgCommitments().stream() + .map(kc -> new KZGCommitment(kc.getData().copy())) + .toList(); + final var detachedBlobs = + blobsWithCommitments.getBlobs().stream() + .map(blob -> new Blob(blob.getData().copy())) + .toList(); + final var detachedProofs = + blobsWithCommitments.getKzgProofs().stream() + .map(proof -> new KZGProof(proof.getData().copy())) + .toList(); + + return new BlobsWithCommitments( + detachedCommitments, detachedBlobs, detachedProofs, versionedHashes); + } + public static class Builder { private static final Optional> EMPTY_ACCESS_LIST = Optional.of(List.of()); @@ -1134,6 +1221,7 @@ public TransactionType getTransactionType() { public Transaction build() { if (transactionType == null) guessType(); return new Transaction( + false, transactionType, nonce, Optional.ofNullable(gasPrice), diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/encoding/BlobPooledTransactionDecoder.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/encoding/BlobPooledTransactionDecoder.java index 8f2efde53f8..1ccd5c4ad42 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/encoding/BlobPooledTransactionDecoder.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/encoding/BlobPooledTransactionDecoder.java @@ -24,9 +24,9 @@ /** * Class responsible for decoding blob transactions from the transaction pool. Blob transactions - * have two network representations. During transaction gossip responses (PooledTransactions), the - * EIP-2718 TransactionPayload of the blob transaction is wrapped to become: rlp([tx_payload_body, - * blobs, commitments, proofs]). + * have two representations. The network representation is used during transaction gossip responses + * (PooledTransactions), the EIP-2718 TransactionPayload of the blob transaction is wrapped to + * become: rlp([tx_payload_body, blobs, commitments, proofs]). */ public class BlobPooledTransactionDecoder { diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/encoding/DepositEncoder.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/encoding/DepositEncoder.java index d5171d18f79..15f825e0757 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/encoding/DepositEncoder.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/encoding/DepositEncoder.java @@ -24,7 +24,7 @@ public class DepositEncoder { public static void encode(final Deposit deposit, final RLPOutput rlpOutput) { rlpOutput.startList(); - rlpOutput.writeBytes(deposit.getPublicKey()); + rlpOutput.writeBytes(deposit.getPubkey()); rlpOutput.writeBytes(deposit.getWithdrawalCredentials()); rlpOutput.writeUInt64Scalar(deposit.getAmount()); rlpOutput.writeBytes(deposit.getSignature()); diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/MainnetProtocolSpecs.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/MainnetProtocolSpecs.java index 02f757483df..e477bf6f75e 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/MainnetProtocolSpecs.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/MainnetProtocolSpecs.java @@ -640,8 +640,6 @@ static ProtocolSpecBuilder cancunDefinition( final EvmConfiguration evmConfiguration) { final int stackSizeLimit = configStackSizeLimit.orElse(MessageFrame.DEFAULT_MAX_STACK_SIZE); - final int contractSizeLimit = - configContractSizeLimit.orElse(SPURIOUS_DRAGON_CONTRACT_SIZE_LIMIT); final long londonForkBlockNumber = genesisConfigOptions.getLondonBlockNumber().orElse(0L); final BaseFeeMarket cancunFeeMarket = genesisConfigOptions.isZeroBaseFee() @@ -668,17 +666,6 @@ static ProtocolSpecBuilder cancunDefinition( (gasCalculator, jdCacheConfig) -> MainnetEVMs.cancun( gasCalculator, chainId.orElse(BigInteger.ZERO), evmConfiguration)) - // change contract call creator to accept EOF code - .contractCreationProcessorBuilder( - (gasCalculator, evm) -> - new ContractCreationProcessor( - gasCalculator, - evm, - true, - List.of( - MaxCodeSizeRule.of(contractSizeLimit), EOFValidationCodeRule.of(1, false)), - 1, - SPURIOUS_DRAGON_FORCE_DELETE_WHEN_EMPTY_ADDRESSES)) // use Cancun fee market .transactionProcessorBuilder( (gasCalculator, @@ -723,7 +710,8 @@ static ProtocolSpecBuilder futureEipsDefinition( final boolean enableRevertReason, final GenesisConfigOptions genesisConfigOptions, final EvmConfiguration evmConfiguration) { - + final int contractSizeLimit = + configContractSizeLimit.orElse(SPURIOUS_DRAGON_CONTRACT_SIZE_LIMIT); return cancunDefinition( chainId, configContractSizeLimit, @@ -731,10 +719,23 @@ static ProtocolSpecBuilder futureEipsDefinition( enableRevertReason, genesisConfigOptions, evmConfiguration) + // Use Future EIP configured EVM .evmBuilder( (gasCalculator, jdCacheConfig) -> MainnetEVMs.futureEips( gasCalculator, chainId.orElse(BigInteger.ZERO), evmConfiguration)) + // change contract call creator to accept EOF code + .contractCreationProcessorBuilder( + (gasCalculator, evm) -> + new ContractCreationProcessor( + gasCalculator, + evm, + true, + List.of( + MaxCodeSizeRule.of(contractSizeLimit), EOFValidationCodeRule.of(1, false)), + 1, + SPURIOUS_DRAGON_FORCE_DELETE_WHEN_EMPTY_ADDRESSES)) + // use future configured precompiled contracts .precompileContractRegistryBuilder(MainnetPrecompiledContractRegistries::futureEips) .name("FutureEips"); } diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/MainnetTransactionProcessor.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/MainnetTransactionProcessor.java index 927e4cd8a29..cdeec19b117 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/MainnetTransactionProcessor.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/MainnetTransactionProcessor.java @@ -339,12 +339,11 @@ public TransactionProcessingResult processTransaction( gasCalculator.accessListGasCost(accessListEntries.size(), accessListStorageCount); final long gasAvailable = transaction.getGasLimit() - intrinsicGas - accessListGas; LOG.trace( - "Gas available for execution {} = {} - {} - {} - {} (limit - intrinsic - accessList - data)", + "Gas available for execution {} = {} - {} - {} (limit - intrinsic - accessList)", gasAvailable, transaction.getGasLimit(), intrinsicGas, - accessListGas, - blobGas); + accessListGas); final WorldUpdater worldUpdater = worldState.updater(); final ImmutableMap.Builder contextVariablesBuilder = diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/MainnetTransactionValidator.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/MainnetTransactionValidator.java index cfcd411bf59..339e4c1d9c3 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/MainnetTransactionValidator.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/MainnetTransactionValidator.java @@ -22,7 +22,6 @@ import org.hyperledger.besu.datatypes.BlobsWithCommitments; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.datatypes.KZGCommitment; -import org.hyperledger.besu.datatypes.KZGProof; import org.hyperledger.besu.datatypes.TransactionType; import org.hyperledger.besu.datatypes.VersionedHash; import org.hyperledger.besu.datatypes.Wei; @@ -51,8 +50,6 @@ */ public class MainnetTransactionValidator implements TransactionValidator { - private static final byte BLOB_COMMITMENT_VERSION_KZG = 0x01; - private final GasCalculator gasCalculator; private final GasLimitCalculator gasLimitCalculator; private final FeeMarket feeMarket; @@ -173,17 +170,6 @@ private ValidationResult validateCostAndFee( } } - if (transaction.getType().supportsBlob()) { - final long txTotalBlobGas = gasCalculator.blobGasCost(transaction.getBlobCount()); - if (txTotalBlobGas > gasLimitCalculator.currentBlobGasLimit()) { - return ValidationResult.invalid( - TransactionInvalidReason.TOTAL_BLOB_GAS_TOO_HIGH, - String.format( - "total blob gas %d exceeds max blob gas per block %d", - txTotalBlobGas, gasLimitCalculator.currentBlobGasLimit())); - } - } - final long intrinsicGasCost = gasCalculator.transactionIntrinsicGasCost( transaction.getPayload(), transaction.isContractCreation()) @@ -336,11 +322,11 @@ public ValidationResult validateTransactionsBlobs( final KZGCommitment commitment = blobsWithCommitments.getKzgCommitments().get(i); final VersionedHash versionedHash = versionedHashes.get(i); - if (versionedHash.getVersionId() != BLOB_COMMITMENT_VERSION_KZG) { + if (versionedHash.getVersionId() != VersionedHash.SHA256_VERSION_ID) { return ValidationResult.invalid( TransactionInvalidReason.INVALID_BLOBS, "transaction blobs commitment version is not supported. Expected " - + BLOB_COMMITMENT_VERSION_KZG + + VersionedHash.SHA256_VERSION_ID + ", found " + versionedHash.getVersionId()); } @@ -353,30 +339,27 @@ public ValidationResult validateTransactionsBlobs( } } - final Bytes blobs = - blobsWithCommitments.getBlobs().stream() - .map(Blob::getData) - .reduce(Bytes::concatenate) - .orElseThrow(); + final byte[] blobs = + Bytes.wrap(blobsWithCommitments.getBlobs().stream().map(Blob::getData).toList()) + .toArrayUnsafe(); - final Bytes kzgCommitments = - blobsWithCommitments.getKzgCommitments().stream() - .map(KZGCommitment::getData) - .reduce(Bytes::concatenate) - .orElseThrow(); + final byte[] kzgCommitments = + Bytes.wrap( + blobsWithCommitments.getKzgCommitments().stream() + .map(kc -> (Bytes) kc.getData()) + .toList()) + .toArrayUnsafe(); - final Bytes kzgProofs = - blobsWithCommitments.getKzgProofs().stream() - .map(KZGProof::getData) - .reduce(Bytes::concatenate) - .orElseThrow(); + final byte[] kzgProofs = + Bytes.wrap( + blobsWithCommitments.getKzgProofs().stream() + .map(kp -> (Bytes) kp.getData()) + .toList()) + .toArrayUnsafe(); final boolean kzgVerification = CKZG4844JNI.verifyBlobKzgProofBatch( - blobs.toArrayUnsafe(), - kzgCommitments.toArrayUnsafe(), - kzgProofs.toArrayUnsafe(), - blobsWithCommitments.getBlobs().size()); + blobs, kzgCommitments, kzgProofs, blobsWithCommitments.getBlobs().size()); if (!kzgVerification) { return ValidationResult.invalid( @@ -387,14 +370,6 @@ public ValidationResult validateTransactionsBlobs( return ValidationResult.valid(); } - /* - private VersionedHash hashCommitment(final Bytes32 commitment) { - return new VersionedHash( - VersionedHash.SHA256_VERSION_ID, Sha256Hash.hash(commitment)); - } - - */ - private VersionedHash hashCommitment(final KZGCommitment commitment) { final SHA256Digest digest = new SHA256Digest(); digest.update(commitment.getData().toArrayUnsafe(), 0, commitment.getData().size()); @@ -403,7 +378,7 @@ private VersionedHash hashCommitment(final KZGCommitment commitment) { digest.doFinal(dig, 0); - dig[0] = BLOB_COMMITMENT_VERSION_KZG; + dig[0] = VersionedHash.SHA256_VERSION_ID; return new VersionedHash(Bytes32.wrap(dig)); } } diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ParentBeaconBlockRootHelper.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ParentBeaconBlockRootHelper.java index 80eb7a19e9f..5f257c3dd32 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ParentBeaconBlockRootHelper.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ParentBeaconBlockRootHelper.java @@ -15,9 +15,12 @@ package org.hyperledger.besu.ethereum.mainnet; import org.hyperledger.besu.datatypes.Address; +import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.evm.account.MutableAccount; import org.hyperledger.besu.evm.worldstate.WorldUpdater; +import com.google.common.primitives.Longs; +import org.apache.tuweni.bytes.Bytes; import org.apache.tuweni.bytes.Bytes32; import org.apache.tuweni.units.bigints.UInt256; @@ -25,8 +28,8 @@ public interface ParentBeaconBlockRootHelper { // Modulus to use for the timestamp to store the root - public static final long HISTORY_BUFFER_LENGTH = 8191; - public static final Address BEACON_ROOTS_ADDRESS = + long HISTORY_BUFFER_LENGTH = 8191; + Address BEACON_ROOTS_ADDRESS = Address.fromHexString("0x000F3df6D732807Ef1319fB7B8bB8522d0Beac02"); static void storeParentBeaconBlockRoot( @@ -34,14 +37,20 @@ static void storeParentBeaconBlockRoot( /* see EIP-4788: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4788.md */ - final long timestampReduced = timestamp % HISTORY_BUFFER_LENGTH; + // If code is not deployed don't do anything + final MutableAccount account = worldUpdater.getOrCreate(BEACON_ROOTS_ADDRESS); + if (Hash.EMPTY.equals(account.getCodeHash())) { + return; + } + + final long timestampReduced = Long.remainderUnsigned(timestamp, HISTORY_BUFFER_LENGTH); final long timestampExtended = timestampReduced + HISTORY_BUFFER_LENGTH; final UInt256 timestampIndex = UInt256.valueOf(timestampReduced); final UInt256 rootIndex = UInt256.valueOf(timestampExtended); - final MutableAccount account = worldUpdater.getOrCreate(BEACON_ROOTS_ADDRESS); - account.setStorageValue(timestampIndex, UInt256.valueOf(timestamp)); + account.setStorageValue( + timestampIndex, UInt256.fromBytes(Bytes.of(Longs.toByteArray(timestamp)))); account.setStorageValue(rootIndex, UInt256.fromBytes(root)); worldUpdater.commit(); } diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ScheduledProtocolSpec.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ScheduledProtocolSpec.java index 012bb469c6a..d03a3fe90ef 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ScheduledProtocolSpec.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ScheduledProtocolSpec.java @@ -62,7 +62,7 @@ private TimestampProtocolSpec(final long timestamp, final ProtocolSpec protocolS @Override public boolean isOnOrAfterMilestoneBoundary(final ProcessableBlockHeader header) { - return header.getTimestamp() >= timestamp; + return Long.compareUnsigned(header.getTimestamp(), timestamp) >= 0; } @Override diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/headervalidationrules/IncrementalTimestampRule.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/headervalidationrules/IncrementalTimestampRule.java index bc29e0db9f2..72b5161a775 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/headervalidationrules/IncrementalTimestampRule.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/headervalidationrules/IncrementalTimestampRule.java @@ -28,6 +28,6 @@ public boolean validate( final long blockTimestamp = header.getTimestamp(); final long parentTimestamp = parent.getTimestamp(); - return blockTimestamp > parentTimestamp; + return Long.compareUnsigned(blockTimestamp, parentTimestamp) > 0; } } diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/transaction/TransactionInvalidReason.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/transaction/TransactionInvalidReason.java index 3971b2f502b..6b9db98dea2 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/transaction/TransactionInvalidReason.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/transaction/TransactionInvalidReason.java @@ -48,6 +48,7 @@ public enum TransactionInvalidReason { INTERNAL_ERROR, TX_POOL_DISABLED, INVALID_BLOBS, + PLUGIN_TX_VALIDATOR, // Private Transaction Invalid Reasons PRIVATE_TRANSACTION_INVALID, PRIVATE_TRANSACTION_FAILED, @@ -55,6 +56,5 @@ public enum TransactionInvalidReason { OFFCHAIN_PRIVACY_GROUP_DOES_NOT_EXIST, PRIVATE_NONCE_TOO_HIGH, PRIVATE_VALUE_NOT_ZERO, - PRIVATE_UNIMPLEMENTED_TRANSACTION_TYPE, - PLUGIN_TX_VALIDATOR_INVALIDATED + PRIVATE_UNIMPLEMENTED_TRANSACTION_TYPE } diff --git a/ethereum/core/src/test-support/java/org/hyperledger/besu/ethereum/core/BlobTestFixture.java b/ethereum/core/src/test-support/java/org/hyperledger/besu/ethereum/core/BlobTestFixture.java index 55500f0603d..d22d20023aa 100644 --- a/ethereum/core/src/test-support/java/org/hyperledger/besu/ethereum/core/BlobTestFixture.java +++ b/ethereum/core/src/test-support/java/org/hyperledger/besu/ethereum/core/BlobTestFixture.java @@ -15,7 +15,6 @@ package org.hyperledger.besu.ethereum.core; -import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.fail; import org.hyperledger.besu.datatypes.Blob; @@ -33,6 +32,7 @@ import ethereum.ckzg4844.CKZG4844JNI; import org.apache.tuweni.bytes.Bytes; import org.apache.tuweni.bytes.Bytes32; +import org.apache.tuweni.bytes.Bytes48; import org.bouncycastle.crypto.digests.SHA256Digest; public class BlobTestFixture { @@ -68,10 +68,10 @@ public BlobTriplet createBlobTriplet() { fail("Failed to read blob file", e); } - Bytes commitment = Bytes.wrap(CKZG4844JNI.blobToKzgCommitment(rawMaterial)); + Bytes48 commitment = Bytes48.wrap(CKZG4844JNI.blobToKzgCommitment(rawMaterial)); - assertThat(commitment.size()).isEqualTo(48); - Bytes proof = Bytes.wrap(CKZG4844JNI.computeBlobKzgProof(rawMaterial, commitment.toArray())); + Bytes48 proof = + Bytes48.wrap(CKZG4844JNI.computeBlobKzgProof(rawMaterial, commitment.toArray())); VersionedHash versionedHash = hashCommitment(new KZGCommitment(commitment)); return new BlobTriplet( new Blob(Bytes.wrap(rawMaterial)), diff --git a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/chain/DefaultBlockchainTest.java b/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/chain/DefaultBlockchainTest.java index 80c8eee5d37..66c9ac5593b 100644 --- a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/chain/DefaultBlockchainTest.java +++ b/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/chain/DefaultBlockchainTest.java @@ -942,6 +942,66 @@ public void blockAddedObserver_invokedMultiple() { assertThat(observer3Invoked.get()).isTrue(); } + @Test + public void testCacheEmptyWhenNumberOfBlocksToCacheIsZero() { + final BlockDataGenerator gen = new BlockDataGenerator(); + final KeyValueStorage kvStore = new InMemoryKeyValueStorage(); + final KeyValueStorage kvStoreVariables = new InMemoryKeyValueStorage(); + final Block genesisBlock = gen.genesisBlock(); + final DefaultBlockchain blockchain = + createMutableBlockchain(kvStore, kvStoreVariables, genesisBlock); + + assertThat(blockchain.getBlockHeadersCache()).isEmpty(); + assertThat(blockchain.getBlockBodiesCache()).isEmpty(); + assertThat(blockchain.getTransactionReceiptsCache()).isEmpty(); + assertThat(blockchain.getTotalDifficultyCache()).isEmpty(); + } + + @Test + public void testCacheUsedWhenNumberOfBlocksToCacheNotZero() { + final BlockDataGenerator gen = new BlockDataGenerator(); + final KeyValueStorage kvStore = new InMemoryKeyValueStorage(); + final KeyValueStorage kvStoreVariables = new InMemoryKeyValueStorage(); + final Block genesisBlock = gen.genesisBlock(); + final DefaultBlockchain blockchain = + createMutableBlockchain(kvStore, kvStoreVariables, genesisBlock, "/data/test", 512); + + final BlockDataGenerator.BlockOptions options = + new BlockDataGenerator.BlockOptions() + .setBlockNumber(1L) + .setParentHash(genesisBlock.getHash()); + final Block newBlock = gen.block(options); + final List receipts = gen.receipts(newBlock); + + assertThat(blockchain.getBlockHeadersCache()).isNotEmpty(); + assertThat(blockchain.getBlockBodiesCache()).isNotEmpty(); + assertThat(blockchain.getTransactionReceiptsCache()).isNotEmpty(); + assertThat(blockchain.getTotalDifficultyCache()).isNotEmpty(); + + assertThat(blockchain.getBlockHeadersCache().get().size()).isEqualTo(0); + assertThat(blockchain.getBlockBodiesCache().get().size()).isEqualTo(0); + assertThat(blockchain.getTransactionReceiptsCache().get().size()).isEqualTo(0); + assertThat(blockchain.getTotalDifficultyCache().get().size()).isEqualTo(0); + + blockchain.appendBlock(newBlock, receipts); + + assertThat(blockchain.getBlockHeadersCache().get().size()).isEqualTo(1); + assertThat(blockchain.getBlockHeadersCache().get().getIfPresent(newBlock.getHash())) + .isEqualTo(newBlock.getHeader()); + + assertThat(blockchain.getBlockBodiesCache().get().size()).isEqualTo(1); + assertThat(blockchain.getBlockBodiesCache().get().getIfPresent(newBlock.getHash())) + .isEqualTo(newBlock.getBody()); + + assertThat(blockchain.getTransactionReceiptsCache().get().size()).isEqualTo(1); + assertThat(blockchain.getTransactionReceiptsCache().get().getIfPresent(newBlock.getHash())) + .isEqualTo(receipts); + + assertThat(blockchain.getTotalDifficultyCache().get().size()).isEqualTo(1); + assertThat(blockchain.getTotalDifficultyCache().get().getIfPresent(newBlock.getHash())) + .isEqualTo(newBlock.getHeader().getDifficulty()); + } + /* * Check that block header, block body, block number, transaction locations, and receipts for this * block are all stored. @@ -1026,4 +1086,20 @@ private Blockchain createBlockchain( return DefaultBlockchain.create( createStorage(kvStore, kvStorageVariables), new NoOpMetricsSystem(), 0); } + + private DefaultBlockchain createMutableBlockchain( + final KeyValueStorage kvStore, + final KeyValueStorage kvStorageVariables, + final Block genesisBlock, + final String dataDirectory, + final int numberOfBlocksToCache) { + return (DefaultBlockchain) + DefaultBlockchain.createMutable( + genesisBlock, + createStorage(kvStore, kvStorageVariables), + new NoOpMetricsSystem(), + 0, + dataDirectory, + numberOfBlocksToCache); + } } diff --git a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/mainnet/MainnetTransactionValidatorTest.java b/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/mainnet/MainnetTransactionValidatorTest.java index 536a93957ae..5ab351c2efa 100644 --- a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/mainnet/MainnetTransactionValidatorTest.java +++ b/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/mainnet/MainnetTransactionValidatorTest.java @@ -57,6 +57,7 @@ import com.google.common.base.Suppliers; import org.apache.tuweni.bytes.Bytes; +import org.apache.tuweni.bytes.Bytes48; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; @@ -503,9 +504,9 @@ public void shouldRejectContractCreateWithBlob() { .blobsWithCommitments( Optional.of( new BlobsWithCommitments( - List.of(new KZGCommitment(Bytes.EMPTY)), + List.of(new KZGCommitment(Bytes48.ZERO)), List.of(new Blob(Bytes.EMPTY)), - List.of(new KZGProof(Bytes.EMPTY)), + List.of(new KZGProof(Bytes48.ZERO)), List.of(VersionedHash.DEFAULT_VERSIONED_HASH)))) .versionedHashes(Optional.of(List.of(VersionedHash.DEFAULT_VERSIONED_HASH))) .createTransaction(senderKeys); diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/manager/PeerReputation.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/manager/PeerReputation.java index 0c2edf226ed..e152d8c91b6 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/manager/PeerReputation.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/manager/PeerReputation.java @@ -56,7 +56,8 @@ public PeerReputation() { } public PeerReputation(final int initialScore, final int maxScore) { - checkArgument(initialScore <= maxScore, "Inital score must be less than or equal to max score"); + checkArgument( + initialScore <= maxScore, "Initial score must be less than or equal to max score"); this.maxScore = maxScore; this.score = initialScore; } diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/messages/StatusMessage.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/messages/StatusMessage.java index 9e8af4b0e57..4e268e6b411 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/messages/StatusMessage.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/messages/StatusMessage.java @@ -111,9 +111,9 @@ public Difficulty totalDifficulty() { } /** - * Return The hash of the head of the associated node's local blockchian. + * Return The hash of the head of the associated node's local blockchain. * - * @return The hash of the head of the associated node's local blockchian. + * @return The hash of the head of the associated node's local blockchain. */ public Hash bestHash() { return status().bestHash; diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/DisabledPendingTransactions.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/DisabledPendingTransactions.java index da77f6f3196..de9d6a07e8e 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/DisabledPendingTransactions.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/DisabledPendingTransactions.java @@ -41,14 +41,13 @@ public List getLocalTransactions() { } @Override - public TransactionAddedResult addRemoteTransaction( - final Transaction transaction, final Optional maybeSenderAccount) { - return TransactionAddedResult.DISABLED; + public List getPriorityTransactions() { + return List.of(); } @Override - public TransactionAddedResult addLocalTransaction( - final Transaction transaction, final Optional maybeSenderAccount) { + public TransactionAddedResult addTransaction( + final PendingTransaction transaction, final Optional maybeSenderAccount) { return TransactionAddedResult.DISABLED; } @@ -117,9 +116,4 @@ public String toTraceLog() { public String logStats() { return "Disabled"; } - - @Override - public boolean isLocalSender(final Address sender) { - return false; - } } diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/PendingTransaction.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/PendingTransaction.java index a716b1675e3..dbc461ecc38 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/PendingTransaction.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/PendingTransaction.java @@ -31,14 +31,20 @@ public abstract class PendingTransaction implements org.hyperledger.besu.datatypes.PendingTransaction { static final int NOT_INITIALIZED = -1; - static final int FRONTIER_BASE_MEMORY_SIZE = 944; - static final int ACCESS_LIST_BASE_MEMORY_SIZE = 944; - static final int EIP1559_BASE_MEMORY_SIZE = 1056; - static final int OPTIONAL_TO_MEMORY_SIZE = 92; + static final int FRONTIER_AND_ACCESS_LIST_BASE_MEMORY_SIZE = 872; + static final int EIP1559_AND_EIP4844_BASE_MEMORY_SIZE = 984; + static final int OPTIONAL_TO_MEMORY_SIZE = 112; + static final int OPTIONAL_CHAIN_ID_MEMORY_SIZE = 80; static final int PAYLOAD_BASE_MEMORY_SIZE = 32; static final int ACCESS_LIST_STORAGE_KEY_MEMORY_SIZE = 32; - static final int ACCESS_LIST_ENTRY_BASE_MEMORY_SIZE = 128; + static final int ACCESS_LIST_ENTRY_BASE_MEMORY_SIZE = 248; static final int OPTIONAL_ACCESS_LIST_MEMORY_SIZE = 24; + static final int VERSIONED_HASH_SIZE = 96; + static final int BASE_LIST_SIZE = 48; + static final int BASE_OPTIONAL_SIZE = 16; + static final int KZG_COMMITMENT_OR_PROOF_SIZE = 112; + static final int BLOB_SIZE = 131136; + static final int BLOBS_WITH_COMMITMENTS_SIZE = 32; static final int PENDING_TRANSACTION_MEMORY_SIZE = 40; private static final AtomicLong TRANSACTIONS_ADDED = new AtomicLong(); private final Transaction transaction; @@ -47,10 +53,37 @@ public abstract class PendingTransaction private int memorySize = NOT_INITIALIZED; - protected PendingTransaction(final Transaction transaction, final long addedAt) { + private PendingTransaction( + final Transaction transaction, final long addedAt, final long sequence) { this.transaction = transaction; this.addedAt = addedAt; - this.sequence = TRANSACTIONS_ADDED.getAndIncrement(); + this.sequence = sequence; + } + + private PendingTransaction(final Transaction transaction, final long addedAt) { + this(transaction, addedAt, TRANSACTIONS_ADDED.getAndIncrement()); + } + + public static PendingTransaction newPendingTransaction( + final Transaction transaction, final boolean isLocal, final boolean hasPriority) { + return newPendingTransaction(transaction, isLocal, hasPriority, System.currentTimeMillis()); + } + + public static PendingTransaction newPendingTransaction( + final Transaction transaction, + final boolean isLocal, + final boolean hasPriority, + final long addedAt) { + if (isLocal) { + if (hasPriority) { + return new Local.Priority(transaction, addedAt); + } + return new Local(transaction, addedAt); + } + if (hasPriority) { + return new Remote.Priority(transaction, addedAt); + } + return new Remote(transaction, addedAt); } @Override @@ -90,6 +123,8 @@ public int memorySize() { return memorySize; } + public abstract PendingTransaction detachedCopy(); + private int computeMemorySize() { return switch (transaction.getType()) { case FRONTIER -> computeFrontierMemorySize(); @@ -101,30 +136,49 @@ private int computeMemorySize() { } private int computeFrontierMemorySize() { - return FRONTIER_BASE_MEMORY_SIZE + computePayloadMemorySize() + computeToMemorySize(); + return FRONTIER_AND_ACCESS_LIST_BASE_MEMORY_SIZE + + computePayloadMemorySize() + + computeToMemorySize() + + computeChainIdMemorySize(); } private int computeAccessListMemorySize() { - return ACCESS_LIST_BASE_MEMORY_SIZE + return FRONTIER_AND_ACCESS_LIST_BASE_MEMORY_SIZE + computePayloadMemorySize() + computeToMemorySize() + + computeChainIdMemorySize() + computeAccessListEntriesMemorySize(); } private int computeEIP1559MemorySize() { - return EIP1559_BASE_MEMORY_SIZE + return EIP1559_AND_EIP4844_BASE_MEMORY_SIZE + computePayloadMemorySize() + computeToMemorySize() + + computeChainIdMemorySize() + computeAccessListEntriesMemorySize(); } private int computeBlobMemorySize() { - // ToDo 4844: adapt for blobs - return computeEIP1559MemorySize(); + return computeEIP1559MemorySize() + + BASE_OPTIONAL_SIZE // for the versionedHashes field + + computeBlobWithCommitmentsMemorySize(); + } + + private int computeBlobWithCommitmentsMemorySize() { + final int blobCount = transaction.getBlobCount(); + + return BASE_OPTIONAL_SIZE + + BLOBS_WITH_COMMITMENTS_SIZE + + (BASE_LIST_SIZE * 4) + + (KZG_COMMITMENT_OR_PROOF_SIZE * blobCount * 2) + + (VERSIONED_HASH_SIZE * blobCount) + + (BLOB_SIZE * blobCount); } private int computePayloadMemorySize() { - return PAYLOAD_BASE_MEMORY_SIZE + transaction.getPayload().size(); + return transaction.getPayload().size() > 0 + ? PAYLOAD_BASE_MEMORY_SIZE + transaction.getPayload().size() + : 0; } private int computeToMemorySize() { @@ -134,6 +188,13 @@ private int computeToMemorySize() { return 0; } + private int computeChainIdMemorySize() { + if (transaction.getChainId().isPresent()) { + return OPTIONAL_CHAIN_ID_MEMORY_SIZE; + } + return 0; + } + private int computeAccessListEntriesMemorySize() { return transaction .getAccessList() @@ -187,6 +248,8 @@ public String toString() { + sequence + ", isLocal=" + isReceivedFromLocalSource() + + ", hasPriority=" + + hasPriority() + '}'; } @@ -197,6 +260,8 @@ public String toTraceLog() { + addedAt + ", isLocal=" + isReceivedFromLocalSource() + + ", hasPriority=" + + hasPriority() + ", " + transaction.toTraceLog() + "}"; @@ -212,10 +277,48 @@ public Local(final Transaction transaction) { this(transaction, System.currentTimeMillis()); } + private Local(final long sequence, final Transaction transaction) { + super(transaction, System.currentTimeMillis(), sequence); + } + + @Override + public PendingTransaction detachedCopy() { + return new Local(getSequence(), getTransaction().detachedCopy()); + } + @Override public boolean isReceivedFromLocalSource() { return true; } + + @Override + public boolean hasPriority() { + return false; + } + + public static class Priority extends Local { + public Priority(final Transaction transaction) { + this(transaction, System.currentTimeMillis()); + } + + public Priority(final Transaction transaction, final long addedAt) { + super(transaction, addedAt); + } + + public Priority(final long sequence, final Transaction transaction) { + super(sequence, transaction); + } + + @Override + public PendingTransaction detachedCopy() { + return new Priority(getSequence(), getTransaction().detachedCopy()); + } + + @Override + public boolean hasPriority() { + return true; + } + } } public static class Remote extends PendingTransaction { @@ -228,9 +331,47 @@ public Remote(final Transaction transaction) { this(transaction, System.currentTimeMillis()); } + private Remote(final long sequence, final Transaction transaction) { + super(transaction, System.currentTimeMillis(), sequence); + } + + @Override + public PendingTransaction detachedCopy() { + return new Remote(getSequence(), getTransaction().detachedCopy()); + } + @Override public boolean isReceivedFromLocalSource() { return false; } + + @Override + public boolean hasPriority() { + return false; + } + + public static class Priority extends Remote { + public Priority(final Transaction transaction) { + this(transaction, System.currentTimeMillis()); + } + + public Priority(final Transaction transaction, final long addedAt) { + super(transaction, addedAt); + } + + public Priority(final long sequence, final Transaction transaction) { + super(sequence, transaction); + } + + @Override + public PendingTransaction detachedCopy() { + return new Priority(getSequence(), getTransaction().detachedCopy()); + } + + @Override + public boolean hasPriority() { + return true; + } + } } } diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/PendingTransactions.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/PendingTransactions.java index 199e88675e0..66f3bc0f4b0 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/PendingTransactions.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/PendingTransactions.java @@ -35,11 +35,10 @@ public interface PendingTransactions { List getLocalTransactions(); - TransactionAddedResult addRemoteTransaction( - Transaction transaction, Optional maybeSenderAccount); + List getPriorityTransactions(); - TransactionAddedResult addLocalTransaction( - Transaction transaction, Optional maybeSenderAccount); + TransactionAddedResult addTransaction( + PendingTransaction transaction, Optional maybeSenderAccount); void selectTransactions(TransactionSelector selector); @@ -84,8 +83,6 @@ default void signalInvalidAndRemoveDependentTransactions(final Transaction trans // no-op } - boolean isLocalSender(Address sender); - @FunctionalInterface interface TransactionSelector { TransactionSelectionResult evaluateTransaction(PendingTransaction pendingTransaction); diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPool.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPool.java index 9b24f6cb539..c41027deb1b 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPool.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPool.java @@ -63,7 +63,9 @@ import java.util.Optional; import java.util.OptionalLong; import java.util.Queue; +import java.util.Set; import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; @@ -106,6 +108,7 @@ public class TransactionPool implements BlockAddedObserver { new PendingTransactionsListenersProxy(); private volatile OptionalLong subscribeConnectId = OptionalLong.empty(); private final SaveRestoreManager saveRestoreManager = new SaveRestoreManager(); + private final Set
localSenders = ConcurrentHashMap.newKeySet(); private final Lock blockAddedLock = new ReentrantLock(); private final Queue blockAddedQueue = new ConcurrentLinkedQueue<>(); @@ -135,6 +138,7 @@ public TransactionPool( } private void initLogForReplay() { + // log the initial block header data LOG_FOR_REPLAY .atTrace() .setMessage("{},{},{},{}") @@ -148,6 +152,16 @@ private void initLogForReplay() { .addArgument(() -> getChainHeadBlockHeader().map(BlockHeader::getGasUsed).orElse(0L)) .addArgument(() -> getChainHeadBlockHeader().map(BlockHeader::getGasLimit).orElse(0L)) .log(); + // log the priority senders + LOG_FOR_REPLAY + .atTrace() + .setMessage("{}") + .addArgument( + () -> + configuration.getPrioritySenders().stream() + .map(Address::toHexString) + .collect(Collectors.joining(","))) + .log(); } @VisibleForTesting @@ -159,57 +173,12 @@ void handleConnect(final EthPeer peer) { public ValidationResult addTransactionViaApi( final Transaction transaction) { - if (configuration.getDisableLocalTransactions()) { - final var result = addRemoteTransaction(transaction); - if (result.isValid()) { - transactionBroadcaster.onTransactionsAdded(List.of(transaction)); - } - return result; - } - return addLocalTransaction(transaction); - } - - ValidationResult addLocalTransaction(final Transaction transaction) { - final ValidationResultAndAccount validationResult = validateLocalTransaction(transaction); - - if (validationResult.result.isValid()) { - - final TransactionAddedResult transactionAddedResult = - pendingTransactions.addLocalTransaction(transaction, validationResult.maybeAccount); - - if (transactionAddedResult.isRejected()) { - final var rejectReason = - transactionAddedResult - .maybeInvalidReason() - .orElseGet( - () -> { - LOG.warn("Missing invalid reason for status {}", transactionAddedResult); - return INTERNAL_ERROR; - }); - return ValidationResult.invalid(rejectReason); - } - + final var result = addTransaction(transaction, true); + if (result.isValid()) { + localSenders.add(transaction.getSender()); transactionBroadcaster.onTransactionsAdded(List.of(transaction)); - } else { - metrics.incrementRejected(true, validationResult.result.getInvalidReason(), "txpool"); } - - return validationResult.result; - } - - private Optional getMaxGasPrice(final Transaction transaction) { - return transaction.getGasPrice().map(Optional::of).orElse(transaction.getMaxFeePerGas()); - } - - private boolean isMaxGasPriceBelowConfiguredMinGasPrice(final Transaction transaction) { - return getMaxGasPrice(transaction) - .map(g -> g.lessThan(miningParameters.getMinTransactionGasPrice())) - .orElse(true); - } - - private Stream sortedBySenderAndNonce(final Collection transactions) { - return transactions.stream() - .sorted(Comparator.comparing(Transaction::getSender).thenComparing(Transaction::getNonce)); + return result; } public Map> addRemoteTransactions( @@ -225,7 +194,7 @@ public Map> addRemoteTransactio Collectors.toMap( Transaction::getHash, transaction -> { - final var result = addRemoteTransaction(transaction); + final var result = addTransaction(transaction, false); if (result.isValid()) { addedTransactions.add(transaction); } @@ -254,26 +223,33 @@ public Map> addRemoteTransactio return validationResults; } - private ValidationResult addRemoteTransaction( - final Transaction transaction) { + private ValidationResult addTransaction( + final Transaction transaction, final boolean isLocal) { + + final boolean hasPriority = isPriorityTransaction(transaction, isLocal); + if (pendingTransactions.containsTransaction(transaction)) { LOG.atTrace() .setMessage("Discard already present transaction {}") .addArgument(transaction::toTraceLog) .log(); // We already have this transaction, don't even validate it. - metrics.incrementRejected(false, TRANSACTION_ALREADY_KNOWN, "txpool"); + metrics.incrementRejected(isLocal, hasPriority, TRANSACTION_ALREADY_KNOWN, "txpool"); return ValidationResult.invalid(TRANSACTION_ALREADY_KNOWN); } - final ValidationResultAndAccount validationResult = validateRemoteTransaction(transaction); + final ValidationResultAndAccount validationResult = + validateTransaction(transaction, isLocal, hasPriority); if (validationResult.result.isValid()) { final TransactionAddedResult status = - pendingTransactions.addRemoteTransaction(transaction, validationResult.maybeAccount); + pendingTransactions.addTransaction( + PendingTransaction.newPendingTransaction(transaction, isLocal, hasPriority), + validationResult.maybeAccount); if (status.isSuccess()) { LOG.atTrace() - .setMessage("Added remote transaction {}") + .setMessage("Added {} transaction {}") + .addArgument(() -> isLocal ? "local" : "remote") .addArgument(transaction::toTraceLog) .log(); } else { @@ -290,7 +266,7 @@ private ValidationResult addRemoteTransaction( .addArgument(transaction::toTraceLog) .addArgument(rejectReason) .log(); - metrics.incrementRejected(false, rejectReason, "txpool"); + metrics.incrementRejected(isLocal, hasPriority, rejectReason, "txpool"); return ValidationResult.invalid(rejectReason); } } else { @@ -299,13 +275,40 @@ private ValidationResult addRemoteTransaction( .addArgument(transaction::toTraceLog) .addArgument(validationResult.result::getInvalidReason) .log(); - metrics.incrementRejected(false, validationResult.result.getInvalidReason(), "txpool"); - pendingTransactions.signalInvalidAndRemoveDependentTransactions(transaction); + metrics.incrementRejected( + isLocal, hasPriority, validationResult.result.getInvalidReason(), "txpool"); + if (!isLocal) { + pendingTransactions.signalInvalidAndRemoveDependentTransactions(transaction); + } } return validationResult.result; } + private Optional getMaxGasPrice(final Transaction transaction) { + return transaction.getGasPrice().map(Optional::of).orElse(transaction.getMaxFeePerGas()); + } + + private boolean isMaxGasPriceBelowConfiguredMinGasPrice(final Transaction transaction) { + return getMaxGasPrice(transaction) + .map(g -> g.lessThan(miningParameters.getMinTransactionGasPrice())) + .orElse(true); + } + + private Stream sortedBySenderAndNonce(final Collection transactions) { + return transactions.stream() + .sorted(Comparator.comparing(Transaction::getSender).thenComparing(Transaction::getNonce)); + } + + private boolean isPriorityTransaction(final Transaction transaction, final boolean isLocal) { + if (isLocal && !configuration.getNoLocalPriority()) { + // unless no-local-priority option is specified, senders of local sent txs are prioritized + return true; + } + // otherwise check if the sender belongs to the priority list + return configuration.getPrioritySenders().contains(transaction.getSender()); + } + public long subscribePendingTransactions(final PendingTransactionAddedListener listener) { return pendingTransactionsListenersProxy.onAddedListeners.subscribe(listener); } @@ -374,17 +377,12 @@ private void reAddTransactions(final List reAddTransactions) { if (!reAddTransactions.isEmpty()) { var txsByOrigin = reAddTransactions.stream() - .collect( - Collectors.partitioningBy( - tx -> - configuration.getDisableLocalTransactions() - ? false - : pendingTransactions.isLocalSender(tx.getSender()))); + .collect(Collectors.partitioningBy(tx -> isLocalSender(tx.getSender()))); var reAddLocalTxs = txsByOrigin.get(true); var reAddRemoteTxs = txsByOrigin.get(false); if (!reAddLocalTxs.isEmpty()) { logReAddedTransactions(reAddLocalTxs, "local"); - sortedBySenderAndNonce(reAddLocalTxs).forEach(this::addLocalTransaction); + sortedBySenderAndNonce(reAddLocalTxs).forEach(this::addTransactionViaApi); } if (!reAddRemoteTxs.isEmpty()) { logReAddedTransactions(reAddRemoteTxs, "remote"); @@ -412,16 +410,8 @@ private TransactionValidator getTransactionValidator() { .get(); } - private ValidationResultAndAccount validateLocalTransaction(final Transaction transaction) { - return validateTransaction(transaction, true); - } - - private ValidationResultAndAccount validateRemoteTransaction(final Transaction transaction) { - return validateTransaction(transaction, false); - } - private ValidationResultAndAccount validateTransaction( - final Transaction transaction, final boolean isLocal) { + final Transaction transaction, final boolean isLocal, final boolean hasPriority) { final BlockHeader chainHeadBlockHeader = getChainHeadBlockHeader().orElse(null); if (chainHeadBlockHeader == null) { @@ -436,7 +426,7 @@ private ValidationResultAndAccount validateTransaction( protocolSchedule.getByBlockHeader(chainHeadBlockHeader).getFeeMarket(); final TransactionInvalidReason priceInvalidReason = - validatePrice(transaction, isLocal, feeMarket); + validatePrice(transaction, isLocal, hasPriority, feeMarket); if (priceInvalidReason != null) { return ValidationResultAndAccount.invalid(priceInvalidReason); } @@ -451,7 +441,7 @@ private ValidationResultAndAccount validateTransaction( return new ValidationResultAndAccount(basicValidationResult); } - if (isLocal + if (hasPriority && strictReplayProtectionShouldBeEnforcedLocally(chainHeadBlockHeader) && transaction.getChainId().isEmpty()) { // Strict replay protection is enabled but the tx is not replay-protected @@ -476,11 +466,13 @@ && strictReplayProtectionShouldBeEnforcedLocally(chainHeadBlockHeader) } // Call the transaction validator plugin if one is available - if (pluginTransactionValidator != null - && !pluginTransactionValidator.validateTransaction(transaction)) { - return ValidationResultAndAccount.invalid( - TransactionInvalidReason.PLUGIN_TX_VALIDATOR_INVALIDATED, - "Plugin transaction vaildator returned false"); + if (pluginTransactionValidator != null) { + final Optional maybeError = + pluginTransactionValidator.validateTransaction(transaction); + if (maybeError.isPresent()) { + return ValidationResultAndAccount.invalid( + TransactionInvalidReason.PLUGIN_TX_VALIDATOR, maybeError.get()); + } } try (final var worldState = @@ -505,14 +497,19 @@ && strictReplayProtectionShouldBeEnforcedLocally(chainHeadBlockHeader) } private TransactionInvalidReason validatePrice( - final Transaction transaction, final boolean isLocal, final FeeMarket feeMarket) { + final Transaction transaction, + final boolean isLocal, + final boolean hasPriority, + final FeeMarket feeMarket) { if (isLocal) { if (!configuration.getTxFeeCap().isZero() && getMaxGasPrice(transaction).get().greaterThan(configuration.getTxFeeCap())) { return TransactionInvalidReason.TX_FEECAP_EXCEEDED; } - // allow local transactions to be below minGas as long as we are mining + } + if (hasPriority) { + // allow priority transactions to be below minGas as long as we are mining // or at least gas price is above the configured floor if ((!miningParameters.isMiningEnabled() && isMaxGasPriceBelowConfiguredMinGasPrice(transaction)) @@ -552,8 +549,8 @@ private Optional getChainHeadBlockHeader() { return blockchain.getBlockHeader(blockchain.getChainHeadHash()); } - public boolean isLocalSender(final Address sender) { - return pendingTransactions.isLocalSender(sender); + private boolean isLocalSender(final Address sender) { + return localSenders.contains(sender); } public int count() { @@ -802,12 +799,8 @@ private void executeLoadFromDisk() { final Transaction tx = Transaction.readFrom(Bytes.fromBase64String(line.substring(1))); - final ValidationResult result; - if (isLocal && !configuration.getDisableLocalTransactions()) { - result = addLocalTransaction(tx); - } else { - result = addRemoteTransaction(tx); - } + final ValidationResult result = + addTransaction(tx, isLocal); return result.isValid() ? 1 : 0; }) diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolConfiguration.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolConfiguration.java index aaf8c326c0a..874446b7671 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolConfiguration.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolConfiguration.java @@ -14,12 +14,14 @@ */ package org.hyperledger.besu.ethereum.eth.transactions; +import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.util.number.Fraction; import org.hyperledger.besu.util.number.Percentage; import java.io.File; import java.time.Duration; +import java.util.Set; import org.immutables.value.Value; @@ -53,21 +55,20 @@ enum Implementation { } String DEFAULT_SAVE_FILE_NAME = "txpool.dump"; - int DEFAULT_MAX_PENDING_TRANSACTIONS = 4096; Fraction DEFAULT_LIMIT_TX_POOL_BY_ACCOUNT_PERCENTAGE = Fraction.fromFloat(0.001f); // 0.1% int DEFAULT_TX_RETENTION_HOURS = 13; boolean DEFAULT_STRICT_TX_REPLAY_PROTECTION_ENABLED = false; Percentage DEFAULT_PRICE_BUMP = Percentage.fromInt(10); Wei DEFAULT_RPC_TX_FEE_CAP = Wei.fromEth(1); - boolean DEFAULT_DISABLE_LOCAL_TXS = false; + boolean DEFAULT_NO_LOCAL_PRIORITY = false; boolean DEFAULT_ENABLE_SAVE_RESTORE = false; - File DEFAULT_SAVE_FILE = new File(DEFAULT_SAVE_FILE_NAME); long DEFAULT_PENDING_TRANSACTIONS_LAYER_MAX_CAPACITY_BYTES = 12_500_000L; int DEFAULT_MAX_PRIORITIZED_TRANSACTIONS = 2000; int DEFAULT_MAX_FUTURE_BY_SENDER = 200; Implementation DEFAULT_TX_POOL_IMPLEMENTATION = Implementation.LAYERED; + Set
DEFAULT_PRIORITY_SENDERS = Set.of(); TransactionPoolConfiguration DEFAULT = ImmutableTransactionPoolConfiguration.builder().build(); @@ -107,8 +108,8 @@ default Boolean getStrictTransactionReplayProtectionEnabled() { } @Value.Default - default Boolean getDisableLocalTransactions() { - return DEFAULT_DISABLE_LOCAL_TXS; + default Boolean getNoLocalPriority() { + return DEFAULT_NO_LOCAL_PRIORITY; } @Value.Default @@ -141,6 +142,11 @@ default int getMaxFutureBySender() { return DEFAULT_MAX_FUTURE_BY_SENDER; } + @Value.Default + default Set
getPrioritySenders() { + return DEFAULT_PRIORITY_SENDERS; + } + @Value.Default default Unstable getUnstable() { return Unstable.DEFAULT; diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolMetrics.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolMetrics.java index 30ddb9db3db..9ace1819cc1 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolMetrics.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPoolMetrics.java @@ -56,6 +56,7 @@ public TransactionPoolMetrics(final MetricsSystem metricsSystem) { ADDED_COUNTER_NAME, "Count of transactions added to the transaction pool", "source", + "priority", "layer"); removedCounter = @@ -64,6 +65,7 @@ public TransactionPoolMetrics(final MetricsSystem metricsSystem) { REMOVED_COUNTER_NAME, "Count of transactions removed from the transaction pool", "source", + "priority", "operation", "layer"); @@ -73,6 +75,7 @@ public TransactionPoolMetrics(final MetricsSystem metricsSystem) { REJECTED_COUNTER_NAME, "Count of transactions not accepted to the transaction pool", "source", + "priority", "reason", "layer"); @@ -143,20 +146,46 @@ public void initExpiredMessagesCounter(final String message) { SKIPPED_MESSAGES_LOGGING_THRESHOLD)); } - public void incrementAdded(final boolean receivedFromLocalSource, final String layer) { - addedCounter.labels(location(receivedFromLocalSource), layer).inc(); + public void incrementAdded(final PendingTransaction pendingTransaction, final String layer) { + addedCounter + .labels( + location(pendingTransaction.isReceivedFromLocalSource()), + priority(pendingTransaction.hasPriority()), + layer) + .inc(); } public void incrementRemoved( - final boolean receivedFromLocalSource, final String operation, final String layer) { - removedCounter.labels(location(receivedFromLocalSource), operation, layer).inc(); + final PendingTransaction pendingTransaction, final String operation, final String layer) { + removedCounter + .labels( + location(pendingTransaction.isReceivedFromLocalSource()), + priority(pendingTransaction.hasPriority()), + operation, + layer) + .inc(); + } + + public void incrementRejected( + final PendingTransaction pendingTransaction, + final TransactionInvalidReason rejectReason, + final String layer) { + incrementRejected( + pendingTransaction.isReceivedFromLocalSource(), + pendingTransaction.hasPriority(), + rejectReason, + layer); } public void incrementRejected( final boolean receivedFromLocalSource, + final boolean hasPriority, final TransactionInvalidReason rejectReason, final String layer) { - rejectedCounter.labels(location(receivedFromLocalSource), rejectReason.name(), layer).inc(); + rejectedCounter + .labels( + location(receivedFromLocalSource), priority(hasPriority), rejectReason.name(), layer) + .inc(); } public void incrementExpiredMessages(final String message) { @@ -170,4 +199,8 @@ public void incrementAlreadySeenTransactions(final String message, final long co private String location(final boolean receivedFromLocalSource) { return receivedFromLocalSource ? "local" : "remote"; } + + private String priority(final boolean hasPriority) { + return hasPriority ? "yes" : "no"; + } } diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractTransactionsLayer.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractTransactionsLayer.java index 026d1bf4f72..136f80499c1 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractTransactionsLayer.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractTransactionsLayer.java @@ -150,7 +150,7 @@ public TransactionAddedResult add(final PendingTransaction pendingTransaction, f } if (addStatus.isSuccess()) { - processAdded(pendingTransaction); + processAdded(pendingTransaction.detachedCopy()); addStatus.maybeReplacedTransaction().ifPresent(this::replaced); nextLayer.notifyAdded(pendingTransaction); @@ -163,7 +163,7 @@ public TransactionAddedResult add(final PendingTransaction pendingTransaction, f notifyTransactionAdded(pendingTransaction); } else { final var rejectReason = addStatus.maybeInvalidReason().orElseThrow(); - metrics.incrementRejected(false, rejectReason, name()); + metrics.incrementRejected(pendingTransaction, rejectReason, name()); LOG.atTrace() .setMessage("Transaction {} rejected reason {}") .addArgument(pendingTransaction::toTraceLog) @@ -245,7 +245,7 @@ public PendingTransaction promoteFor(final Address sender, final long nonce) { if (senderTxs.firstKey() == expectedNonce) { final PendingTransaction promotedTx = senderTxs.pollFirstEntry().getValue(); processRemove(senderTxs, promotedTx.getTransaction(), PROMOTED); - metrics.incrementRemoved(promotedTx.isReceivedFromLocalSource(), "promoted", name()); + metrics.incrementRemoved(promotedTx, "promoted", name()); if (senderTxs.isEmpty()) { txsBySender.remove(sender); @@ -282,7 +282,7 @@ private void processAdded(final PendingTransaction addedTx) { final var senderTxs = txsBySender.computeIfAbsent(addedTx.getSender(), s -> new TreeMap<>()); senderTxs.put(addedTx.getNonce(), addedTx); increaseSpaceUsed(addedTx); - metrics.incrementAdded(addedTx.isReceivedFromLocalSource(), name()); + metrics.incrementAdded(addedTx, name()); internalAdd(senderTxs, addedTx); } @@ -328,7 +328,7 @@ private void evict(final long spaceToFree, final int txsToEvict) { protected void replaced(final PendingTransaction replacedTx) { pendingTransactions.remove(replacedTx.getHash()); decreaseSpaceUsed(replacedTx); - metrics.incrementRemoved(replacedTx.isReceivedFromLocalSource(), REPLACED.label(), name()); + metrics.incrementRemoved(replacedTx, REPLACED.label(), name()); internalReplaced(replacedTx); notifyTransactionDropped(replacedTx); } @@ -363,8 +363,7 @@ protected PendingTransaction processRemove( final PendingTransaction removedTx = pendingTransactions.remove(transaction.getHash()); if (removedTx != null) { decreaseSpaceUsed(removedTx); - metrics.incrementRemoved( - removedTx.isReceivedFromLocalSource(), removalReason.label(), name()); + metrics.incrementRemoved(removedTx, removalReason.label(), name()); internalRemove(senderTxs, removedTx, removalReason); } return removedTx; @@ -377,7 +376,7 @@ protected PendingTransaction processEvict( final PendingTransaction removedTx = pendingTransactions.remove(evictedTx.getHash()); if (removedTx != null) { decreaseSpaceUsed(evictedTx); - metrics.incrementRemoved(evictedTx.isReceivedFromLocalSource(), reason.label(), name()); + metrics.incrementRemoved(evictedTx, reason.label(), name()); internalEvict(senderTxs, removedTx); } return removedTx; @@ -431,7 +430,7 @@ private void confirmed(final Address sender, final long maxConfirmedNonce) { itConfirmedTxs.remove(); processRemove(senderTxs, confirmedTx.getTransaction(), CONFIRMED); - metrics.incrementRemoved(confirmedTx.isReceivedFromLocalSource(), "confirmed", name()); + metrics.incrementRemoved(confirmedTx, "confirmed", name()); LOG.atTrace() .setMessage("Removed confirmed pending transactions {}") .addArgument(confirmedTx::toTraceLog) @@ -482,6 +481,17 @@ public List getAllLocal() { return localTxs; } + @Override + public List getAllPriority() { + final var priorityTxs = + pendingTransactions.values().stream() + .filter(PendingTransaction::hasPriority) + .map(PendingTransaction::getTransaction) + .collect(Collectors.toCollection(ArrayList::new)); + priorityTxs.addAll(nextLayer.getAllPriority()); + return priorityTxs; + } + Stream stream(final Address sender) { return txsBySender.getOrDefault(sender, EMPTY_SENDER_TXS).values().stream(); } diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/BaseFeePrioritizedTransactions.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/BaseFeePrioritizedTransactions.java index 3dcdfd734f8..f5ee0de2ae4 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/BaseFeePrioritizedTransactions.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/BaseFeePrioritizedTransactions.java @@ -53,7 +53,8 @@ public BaseFeePrioritizedTransactions( @Override protected int compareByFee(final PendingTransaction pt1, final PendingTransaction pt2) { - return Comparator.comparing( + return Comparator.comparing(PendingTransaction::hasPriority) + .thenComparing( (PendingTransaction pendingTransaction) -> pendingTransaction.getTransaction().getEffectivePriorityFeePerGas(nextBlockBaseFee)) .thenComparing( diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/EndLayer.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/EndLayer.java index 12d3147b326..e79ce1d8a71 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/EndLayer.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/EndLayer.java @@ -77,8 +77,7 @@ public List getAll() { @Override public TransactionAddedResult add(final PendingTransaction pendingTransaction, final int gap) { notifyTransactionDropped(pendingTransaction); - metrics.incrementRemoved( - pendingTransaction.isReceivedFromLocalSource(), DROPPED.label(), name()); + metrics.incrementRemoved(pendingTransaction, DROPPED.label(), name()); ++droppedCount; return TransactionAddedResult.DROPPED; } @@ -99,6 +98,11 @@ public List getAllLocal() { return List.of(); } + @Override + public List getAllPriority() { + return List.of(); + } + @Override public int count() { return 0; diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/GasPricePrioritizedTransactions.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/GasPricePrioritizedTransactions.java index 725b5138d34..762e7469f45 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/GasPricePrioritizedTransactions.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/GasPricePrioritizedTransactions.java @@ -43,7 +43,7 @@ public GasPricePrioritizedTransactions( @Override protected int compareByFee(final PendingTransaction pt1, final PendingTransaction pt2) { - return comparing(PendingTransaction::isReceivedFromLocalSource) + return comparing(PendingTransaction::hasPriority) .thenComparing(PendingTransaction::getGasPrice) .thenComparing(PendingTransaction::getSequence) .compare(pt1, pt2); diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactions.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactions.java index 5502e9a6f1a..bd93f0d9fa0 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactions.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactions.java @@ -58,7 +58,6 @@ public class LayeredPendingTransactions implements PendingTransactions { private static final Logger LOG = LoggerFactory.getLogger(LayeredPendingTransactions.class); private static final Logger LOG_FOR_REPLAY = LoggerFactory.getLogger("LOG_FOR_REPLAY"); private final TransactionPoolConfiguration poolConfig; - private final Set
localSenders = new HashSet<>(); private final AbstractPrioritizedTransactions prioritizedTransactions; public LayeredPendingTransactions( @@ -74,25 +73,7 @@ public synchronized void reset() { } @Override - public synchronized TransactionAddedResult addRemoteTransaction( - final Transaction transaction, final Optional maybeSenderAccount) { - - return addTransaction(new PendingTransaction.Remote(transaction), maybeSenderAccount); - } - - @Override - public synchronized TransactionAddedResult addLocalTransaction( - final Transaction transaction, final Optional maybeSenderAccount) { - - final TransactionAddedResult addedResult = - addTransaction(new PendingTransaction.Local(transaction), maybeSenderAccount); - if (addedResult.isSuccess()) { - localSenders.add(transaction.getSender()); - } - return addedResult; - } - - TransactionAddedResult addTransaction( + public synchronized TransactionAddedResult addTransaction( final PendingTransaction pendingTransaction, final Optional maybeSenderAccount) { final long stateSenderNonce = maybeSenderAccount.map(AccountState::getNonce).orElse(0L); @@ -305,8 +286,8 @@ public synchronized List getLocalTransactions() { } @Override - public synchronized boolean isLocalSender(final Address sender) { - return localSenders.contains(sender); + public synchronized List getPriorityTransactions() { + return prioritizedTransactions.getAllPriority(); } @Override diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/ReadyTransactions.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/ReadyTransactions.java index 227d0e4daa3..484f131b0b9 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/ReadyTransactions.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/ReadyTransactions.java @@ -43,7 +43,8 @@ public class ReadyTransactions extends AbstractSequentialTransactionsLayer { private final NavigableSet orderByMaxFee = new TreeSet<>( - Comparator.comparing((PendingTransaction pt) -> pt.getTransaction().getMaxGasPrice()) + Comparator.comparing(PendingTransaction::hasPriority) + .thenComparing((PendingTransaction pt) -> pt.getTransaction().getMaxGasPrice()) .thenComparing(PendingTransaction::getSequence)); public ReadyTransactions( diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/SparseTransactions.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/SparseTransactions.java index 64a4142bccb..3567fb84266 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/SparseTransactions.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/SparseTransactions.java @@ -30,6 +30,7 @@ import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.NavigableMap; @@ -44,11 +45,15 @@ import java.util.stream.IntStream; import java.util.stream.Stream; +import com.google.common.collect.Iterables; + public class SparseTransactions extends AbstractTransactionsLayer { private final NavigableSet sparseEvictionOrder = - new TreeSet<>(Comparator.comparing(PendingTransaction::getSequence)); + new TreeSet<>( + Comparator.comparing(PendingTransaction::hasPriority) + .thenComparing(PendingTransaction::getSequence)); private final Map gapBySender = new HashMap<>(); - private final List> orderByGap; + private final List orderByGap; public SparseTransactions( final TransactionPoolConfiguration poolConfig, @@ -59,7 +64,7 @@ public SparseTransactions( super(poolConfig, nextLayer, transactionReplacementTester, metrics); orderByGap = new ArrayList<>(poolConfig.getMaxFutureBySender()); IntStream.range(0, poolConfig.getMaxFutureBySender()) - .forEach(i -> orderByGap.add(new HashSet<>())); + .forEach(i -> orderByGap.add(new SendersByPriority())); } @Override @@ -82,7 +87,7 @@ public void reset() { super.reset(); sparseEvictionOrder.clear(); gapBySender.clear(); - orderByGap.forEach(Set::clear); + orderByGap.forEach(SendersByPriority::clear); } @Override @@ -92,12 +97,12 @@ protected TransactionAddedResult canAdd( pendingTransaction.getSender(), (sender, currGap) -> { if (currGap == null) { - orderByGap.get(gap).add(sender); + orderByGap.get(gap).add(pendingTransaction); return gap; } if (pendingTransaction.getNonce() < txsBySender.get(sender).firstKey()) { orderByGap.get(currGap).remove(sender); - orderByGap.get(gap).add(sender); + orderByGap.get(gap).add(pendingTransaction); return gap; } return currGap; @@ -390,8 +395,8 @@ public String internalLogStats() { } private void updateGap(final Address sender, final int currGap, final int newGap) { - orderByGap.get(currGap).remove(sender); - orderByGap.get(newGap).add(sender); + final boolean hasPriority = orderByGap.get(currGap).remove(sender); + orderByGap.get(newGap).add(sender, hasPriority); gapBySender.put(sender, newGap); } @@ -430,4 +435,50 @@ protected void internalConsistencyCheck( } }); } + + private static class SendersByPriority implements Iterable
{ + final Set
prioritySenders = new HashSet<>(); + final Set
standardSenders = new HashSet<>(); + + void clear() { + prioritySenders.clear(); + standardSenders.clear(); + } + + public void add(final Address sender, final boolean hasPriority) { + if (hasPriority) { + if (standardSenders.contains(sender)) { + throw new IllegalStateException( + "Sender " + sender + " cannot simultaneously have and not have priority"); + } + prioritySenders.add(sender); + } else { + if (prioritySenders.contains(sender)) { + throw new IllegalStateException( + "Sender " + sender + " cannot simultaneously have and not have priority"); + } + standardSenders.add(sender); + } + } + + void add(final PendingTransaction pendingTransaction) { + add(pendingTransaction.getSender(), pendingTransaction.hasPriority()); + } + + boolean remove(final Address sender) { + if (standardSenders.remove(sender)) { + return false; + } + return prioritySenders.remove(sender); + } + + public boolean contains(final Address sender) { + return standardSenders.contains(sender) || prioritySenders.contains(sender); + } + + @Override + public Iterator
iterator() { + return Iterables.concat(prioritySenders, standardSenders).iterator(); + } + } } diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/TransactionsLayer.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/TransactionsLayer.java index c6fcc5e7cee..85227766b40 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/TransactionsLayer.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/TransactionsLayer.java @@ -53,6 +53,8 @@ void blockAdded( List getAllLocal(); + List getAllPriority(); + int count(); OptionalLong getNextNonceFor(Address sender); diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AbstractPendingTransactionsSorter.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AbstractPendingTransactionsSorter.java index ea12b3c4f6a..ad2595c2658 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AbstractPendingTransactionsSorter.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AbstractPendingTransactionsSorter.java @@ -97,8 +97,6 @@ public abstract class AbstractPendingTransactionsSorter implements PendingTransa protected final TransactionPoolReplacementHandler transactionReplacementHandler; protected final Supplier chainHeadHeaderSupplier; - private final Set
localSenders; - public AbstractPendingTransactionsSorter( final TransactionPoolConfiguration poolConfig, final Clock clock, @@ -106,8 +104,6 @@ public AbstractPendingTransactionsSorter( final Supplier chainHeadHeaderSupplier) { this.poolConfig = poolConfig; this.pendingTransactions = new ConcurrentHashMap<>(poolConfig.getTxPoolMaxSize()); - this.localSenders = - poolConfig.getDisableLocalTransactions() ? Set.of() : ConcurrentHashMap.newKeySet(); this.clock = clock; this.chainHeadHeaderSupplier = chainHeadHeaderSupplier; this.transactionReplacementHandler = @@ -172,10 +168,19 @@ public List getLocalTransactions() { } @Override - public TransactionAddedResult addRemoteTransaction( - final Transaction transaction, final Optional maybeSenderAccount) { + public List getPriorityTransactions() { + return pendingTransactions.values().stream() + .filter(PendingTransaction::hasPriority) + .map(PendingTransaction::getTransaction) + .collect(Collectors.toList()); + } + + @Override + public TransactionAddedResult addTransaction( + final PendingTransaction transaction, final Optional maybeSenderAccount) { - if (lowestInvalidKnownNonceCache.hasInvalidLowerNonce(transaction)) { + if (!transaction.isReceivedFromLocalSource() + && lowestInvalidKnownNonceCache.hasInvalidLowerNonce(transaction.getTransaction())) { LOG.atDebug() .setMessage( "Dropping transaction {} since the sender has an invalid transaction with lower nonce") @@ -184,30 +189,19 @@ public TransactionAddedResult addRemoteTransaction( return LOWER_NONCE_INVALID_TRANSACTION_KNOWN; } - final PendingTransaction pendingTransaction = - new PendingTransaction.Remote(transaction, clock.millis()); final TransactionAddedResult transactionAddedStatus = - addTransaction(pendingTransaction, maybeSenderAccount); + internalAddTransaction(transaction, maybeSenderAccount); if (transactionAddedStatus.equals(ADDED)) { - lowestInvalidKnownNonceCache.registerValidTransaction(transaction); - remoteTransactionAddedCounter.inc(); + if (!transaction.isReceivedFromLocalSource()) { + lowestInvalidKnownNonceCache.registerValidTransaction(transaction.getTransaction()); + remoteTransactionAddedCounter.inc(); + } else { + localTransactionAddedCounter.inc(); + } } return transactionAddedStatus; } - @Override - public TransactionAddedResult addLocalTransaction( - final Transaction transaction, final Optional maybeSenderAccount) { - final TransactionAddedResult transactionAdded = - addTransaction( - new PendingTransaction.Local(transaction, clock.millis()), maybeSenderAccount); - if (transactionAdded.equals(ADDED)) { - localSenders.add(transaction.getSender()); - localTransactionAddedCounter.inc(); - } - return transactionAdded; - } - void removeTransaction(final Transaction transaction) { removeTransaction(transaction, false); notifyTransactionDropped(transaction); @@ -428,7 +422,7 @@ private void removeTransaction(final Transaction transaction, final boolean adde protected abstract void prioritizeTransaction(final PendingTransaction pendingTransaction); - private TransactionAddedResult addTransaction( + private TransactionAddedResult internalAddTransaction( final PendingTransaction pendingTransaction, final Optional maybeSenderAccount) { final Transaction transaction = pendingTransaction.getTransaction(); synchronized (lock) { @@ -540,9 +534,4 @@ public void signalInvalidAndRemoveDependentTransactions(final Transaction transa signalInvalidAndGetDependentTransactions(transaction).forEach(this::removeTransaction); } } - - @Override - public boolean isLocalSender(final Address sender) { - return poolConfig.getDisableLocalTransactions() ? false : localSenders.contains(sender); - } } diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/BaseFeePendingTransactionsSorter.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/BaseFeePendingTransactionsSorter.java index aeeb2b3e469..2ccb4d476ee 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/BaseFeePendingTransactionsSorter.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/BaseFeePendingTransactionsSorter.java @@ -63,7 +63,7 @@ public BaseFeePendingTransactionsSorter( */ private final NavigableSet prioritizedTransactionsStaticRange = new TreeSet<>( - comparing(PendingTransaction::isReceivedFromLocalSource) + comparing(PendingTransaction::hasPriority) .thenComparing( pendingTx -> pendingTx @@ -79,7 +79,7 @@ public BaseFeePendingTransactionsSorter( private final NavigableSet prioritizedTransactionsDynamicRange = new TreeSet<>( - comparing(PendingTransaction::isReceivedFromLocalSource) + comparing(PendingTransaction::hasPriority) .thenComparing( pendingTx -> pendingTx diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/GasPricePendingTransactionsSorter.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/GasPricePendingTransactionsSorter.java index 29b3406b059..ce8f8802592 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/GasPricePendingTransactionsSorter.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/GasPricePendingTransactionsSorter.java @@ -37,7 +37,7 @@ public class GasPricePendingTransactionsSorter extends AbstractPendingTransactio private final NavigableSet prioritizedTransactions = new TreeSet<>( - comparing(PendingTransaction::isReceivedFromLocalSource) + comparing(PendingTransaction::hasPriority) .thenComparing(PendingTransaction::getGasPrice) .thenComparing(PendingTransaction::getAddedAt) .thenComparing(PendingTransaction::getSequence) diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionPoolTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionPoolTest.java index beeb2b1e43b..d9c98f3a92b 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionPoolTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/AbstractTransactionPoolTest.java @@ -48,6 +48,7 @@ import org.hyperledger.besu.config.StubGenesisConfigOptions; import org.hyperledger.besu.crypto.KeyPair; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; +import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.TransactionType; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.ProtocolContext; @@ -296,39 +297,39 @@ private TransactionPool createTransactionPool( @ParameterizedTest @ValueSource(booleans = {true, false}) - public void localTransactionHappyPath(final boolean disableLocalTxs) { - this.transactionPool = createTransactionPool(b -> b.disableLocalTransactions(disableLocalTxs)); + public void localTransactionHappyPath(final boolean noLocalPriority) { + this.transactionPool = createTransactionPool(b -> b.noLocalPriority(noLocalPriority)); final Transaction transaction = createTransaction(0); givenTransactionIsValid(transaction); - addAndAssertTransactionViaApiValid(transaction, disableLocalTxs); + addAndAssertTransactionViaApiValid(transaction, noLocalPriority); } @ParameterizedTest @ValueSource(booleans = {true, false}) - public void shouldReturnLocalTransactionsWhenAppropriate(final boolean disableLocalTxs) { - this.transactionPool = createTransactionPool(b -> b.disableLocalTransactions(disableLocalTxs)); + public void shouldReturnLocalTransactionsWhenAppropriate(final boolean noLocalPriority) { + this.transactionPool = createTransactionPool(b -> b.noLocalPriority(noLocalPriority)); final Transaction localTransaction2 = createTransaction(2); givenTransactionIsValid(localTransaction2); givenTransactionIsValid(transaction0); givenTransactionIsValid(transaction1); - addAndAssertTransactionViaApiValid(localTransaction2, disableLocalTxs); - addAndAssertRemoteTransactionValid(transaction0); - addAndAssertRemoteTransactionValid(transaction1); + addAndAssertTransactionViaApiValid(localTransaction2, noLocalPriority); + addAndAssertRemoteTransactionsValid(transaction0); + addAndAssertRemoteTransactionsValid(transaction1); assertThat(transactions.size()).isEqualTo(3); - List localTransactions = transactions.getLocalTransactions(); - assertThat(localTransactions.size()).isEqualTo(disableLocalTxs ? 0 : 1); + assertThat(transactions.getLocalTransactions()).contains(localTransaction2); + assertThat(transactions.getPriorityTransactions().size()).isEqualTo(noLocalPriority ? 0 : 1); } @Test public void shouldRemoveTransactionsFromPendingListWhenIncludedInBlockOnchain() { givenTransactionIsValid(transaction0); - addAndAssertRemoteTransactionValid(transaction0); + addAndAssertRemoteTransactionsValid(transaction0); appendBlock(transaction0); @@ -340,8 +341,8 @@ public void shouldRemoveMultipleTransactionsAddedInOneBlock() { givenTransactionIsValid(transaction0); givenTransactionIsValid(transaction1); - addAndAssertRemoteTransactionValid(transaction0); - addAndAssertRemoteTransactionValid(transaction1); + addAndAssertRemoteTransactionsValid(transaction0); + addAndAssertRemoteTransactionsValid(transaction1); appendBlock(transaction0, transaction1); @@ -354,7 +355,7 @@ public void shouldRemoveMultipleTransactionsAddedInOneBlock() { public void shouldIgnoreUnknownTransactionsThatAreAddedInABlock() { givenTransactionIsValid(transaction0); - addAndAssertRemoteTransactionValid(transaction0); + addAndAssertRemoteTransactionsValid(transaction0); appendBlock(transaction0, transaction1); @@ -367,7 +368,7 @@ public void shouldIgnoreUnknownTransactionsThatAreAddedInABlock() { public void shouldNotRemovePendingTransactionsWhenABlockAddedToAFork() { givenTransactionIsValid(transaction0); - addAndAssertRemoteTransactionValid(transaction0); + addAndAssertRemoteTransactionsValid(transaction0); final BlockHeader commonParent = getHeaderForCurrentChainHead(); final Block canonicalHead = appendBlock(Difficulty.of(1000), commonParent); @@ -383,8 +384,8 @@ public void shouldRemovePendingTransactionsFromAllBlocksOnAForkWhenItBecomesTheC givenTransactionIsValid(transaction0); givenTransactionIsValid(transaction1); - addAndAssertRemoteTransactionValid(transaction0); - addAndAssertRemoteTransactionValid(transaction1); + addAndAssertRemoteTransactionsValid(transaction0); + addAndAssertRemoteTransactionsValid(transaction1); final BlockHeader commonParent = getHeaderForCurrentChainHead(); final Block originalChainHead = appendBlock(Difficulty.of(1000), commonParent); @@ -436,8 +437,8 @@ public void shouldNotReAddTransactionsThatAreInBothForksWhenReorgHappens() { givenTransactionIsValid(transaction0); givenTransactionIsValid(transaction1); - addAndAssertRemoteTransactionValid(transaction0); - addAndAssertRemoteTransactionValid(transaction1); + addAndAssertRemoteTransactionsValid(transaction0); + addAndAssertRemoteTransactionsValid(transaction1); final BlockHeader commonParent = getHeaderForCurrentChainHead(); final Block originalFork1 = appendBlock(Difficulty.of(1000), commonParent, transaction0); @@ -462,8 +463,8 @@ public void shouldNotReAddBlobTxsWhenReorgHappens() { givenTransactionIsValid(transaction1); givenTransactionIsValid(transactionBlob); - addAndAssertRemoteTransactionValid(transaction0); - addAndAssertRemoteTransactionValid(transaction1); + addAndAssertRemoteTransactionsValid(transaction0); + addAndAssertRemoteTransactionsValid(transaction1); addAndAssertRemoteTransactionInvalid(transactionBlob); final BlockHeader commonParent = getHeaderForCurrentChainHead(); @@ -493,17 +494,15 @@ public void shouldNotReAddBlobTxsWhenReorgHappens() { @ParameterizedTest @ValueSource(booleans = {true, false}) public void addLocalTransaction_strictReplayProtectionOn_txWithChainId_chainIdIsConfigured( - final boolean disableLocalTxs) { + final boolean noLocalPriority) { protocolSupportsTxReplayProtection(1337, true); transactionPool = createTransactionPool( - b -> - b.strictTransactionReplayProtectionEnabled(true) - .disableLocalTransactions(disableLocalTxs)); + b -> b.strictTransactionReplayProtectionEnabled(true).noLocalPriority(noLocalPriority)); final Transaction tx = createTransaction(1); givenTransactionIsValid(tx); - addAndAssertTransactionViaApiValid(tx, disableLocalTxs); + addAndAssertTransactionViaApiValid(tx, noLocalPriority); } @Test @@ -513,7 +512,7 @@ public void addRemoteTransactions_strictReplayProtectionOn_txWithChainId_chainId final Transaction tx = createTransaction(1); givenTransactionIsValid(tx); - addAndAssertRemoteTransactionValid(tx); + addAndAssertRemoteTransactionsValid(tx); } @Test @@ -525,6 +524,17 @@ public void shouldNotAddRemoteTransactionsWhenGasPriceBelowMinimum() { verifyNoMoreInteractions(transactionValidatorFactory); } + @Test + public void shouldAddRemotePriorityTransactionsWhenGasPriceBelowMinimum() { + final Transaction transaction = createTransaction(1, Wei.of(7)); + transactionPool = + createTransactionPool(b -> b.prioritySenders(Set.of(transaction.getSender()))); + + givenTransactionIsValid(transaction); + + addAndAssertRemotePriorityTransactionsValid(transaction); + } + @Test public void shouldNotAddRemoteTransactionsThatAreInvalidAccordingToStateDependentChecks() { givenTransactionIsValid(transaction0); @@ -551,8 +561,8 @@ public void shouldNotAddRemoteTransactionsThatAreInvalidAccordingToStateDependen @ParameterizedTest @ValueSource(booleans = {true, false}) public void shouldAllowSequenceOfTransactionsWithIncreasingNonceFromSameSender( - final boolean disableLocalTxs) { - transactionPool = createTransactionPool(b -> b.disableLocalTransactions(disableLocalTxs)); + final boolean noLocalPriority) { + transactionPool = createTransactionPool(b -> b.noLocalPriority(noLocalPriority)); final Transaction transaction1 = createTransaction(1); final Transaction transaction2 = createTransaction(2); final Transaction transaction3 = createTransaction(3); @@ -561,9 +571,9 @@ public void shouldAllowSequenceOfTransactionsWithIncreasingNonceFromSameSender( givenTransactionIsValid(transaction2); givenTransactionIsValid(transaction3); - addAndAssertTransactionViaApiValid(transaction1, disableLocalTxs); - addAndAssertTransactionViaApiValid(transaction2, disableLocalTxs); - addAndAssertTransactionViaApiValid(transaction3, disableLocalTxs); + addAndAssertTransactionViaApiValid(transaction1, noLocalPriority); + addAndAssertTransactionViaApiValid(transaction2, noLocalPriority); + addAndAssertTransactionViaApiValid(transaction3, noLocalPriority); } @Test @@ -575,9 +585,9 @@ public void shouldAllowSequenceOfTransactionsWithIncreasingNonceFromSameSender( givenTransactionIsValid(transaction1); givenTransactionIsValid(transaction2); - addAndAssertRemoteTransactionValid(transaction2); - addAndAssertRemoteTransactionValid(transaction0); - addAndAssertRemoteTransactionValid(transaction1); + addAndAssertRemoteTransactionsValid(transaction2); + addAndAssertRemoteTransactionsValid(transaction0); + addAndAssertRemoteTransactionsValid(transaction1); } @Test @@ -597,22 +607,22 @@ public void shouldNotNotifyBatchListenerWhenRemoteTransactionDoesNotReplaceExist givenTransactionIsValid(transaction0a); givenTransactionIsValid(transaction0b); - addAndAssertRemoteTransactionValid(transaction0a); + addAndAssertRemoteTransactionsValid(transaction0a); addAndAssertRemoteTransactionInvalid(transaction0b); } @ParameterizedTest @ValueSource(booleans = {true, false}) public void shouldNotNotifyBatchListenerWhenLocalTransactionDoesNotReplaceExisting( - final boolean disableLocalTxs) { - transactionPool = createTransactionPool(b -> b.disableLocalTransactions(disableLocalTxs)); + final boolean noLocalPriority) { + transactionPool = createTransactionPool(b -> b.noLocalPriority(noLocalPriority)); final Transaction transaction0a = createTransaction(0, Wei.of(10)); final Transaction transaction0b = createTransaction(0, Wei.of(9)); givenTransactionIsValid(transaction0a); givenTransactionIsValid(transaction0b); - addAndAssertTransactionViaApiValid(transaction0a, disableLocalTxs); + addAndAssertTransactionViaApiValid(transaction0a, noLocalPriority); addAndAssertTransactionViaApiInvalid(transaction0b, TRANSACTION_REPLACEMENT_UNDERPRICED); } @@ -638,7 +648,7 @@ public void shouldRejectRemoteTransactionsWhereGasLimitExceedBlockGasLimit() { @Test public void shouldAcceptLocalTransactionsEvenIfAnInvalidTransactionWithLowerNonceExists() { - transactionPool = createTransactionPool(b -> b.disableLocalTransactions(false)); + transactionPool = createTransactionPool(b -> b.noLocalPriority(false)); final Transaction invalidTx = createBaseTransaction(0).gasLimit(blockGasLimit + 1).createTransaction(KEY_PAIR1); @@ -653,8 +663,8 @@ public void shouldAcceptLocalTransactionsEvenIfAnInvalidTransactionWithLowerNonc @ParameterizedTest @ValueSource(booleans = {true, false}) - public void shouldRejectLocalTransactionsWhenNonceTooFarInFuture(final boolean disableLocalTxs) { - transactionPool = createTransactionPool(b -> b.disableLocalTransactions(disableLocalTxs)); + public void shouldRejectLocalTransactionsWhenNonceTooFarInFuture(final boolean noLocalPriority) { + transactionPool = createTransactionPool(b -> b.noLocalPriority(noLocalPriority)); final Transaction transactionFarFuture = createTransaction(Integer.MAX_VALUE); givenTransactionIsValid(transactionFarFuture); @@ -732,22 +742,23 @@ public void shouldCallValidatorWithExpectedValidationParameters() { @ParameterizedTest @ValueSource(booleans = {true, false}) - public void shouldIgnoreFeeCapIfSetZero(final boolean disableLocalTxs) { + public void shouldIgnoreFeeCapIfSetZero(final boolean noLocalPriority) { final Wei twoEthers = Wei.fromEth(2); transactionPool = - createTransactionPool(b -> b.txFeeCap(Wei.ZERO).disableLocalTransactions(disableLocalTxs)); + createTransactionPool(b -> b.txFeeCap(Wei.ZERO).noLocalPriority(noLocalPriority)); final Transaction transaction = createTransaction(0, twoEthers.add(Wei.of(1))); givenTransactionIsValid(transaction); - addAndAssertTransactionViaApiValid(transaction, disableLocalTxs); + addAndAssertTransactionViaApiValid(transaction, noLocalPriority); } - @Test - public void shouldRejectLocalTransactionIfFeeCapExceeded() { + @ParameterizedTest + @ValueSource(booleans = {true, false}) + public void shouldRejectLocalTransactionIfFeeCapExceeded(final boolean noLocalPriority) { final Wei twoEthers = Wei.fromEth(2); transactionPool = - createTransactionPool(b -> b.txFeeCap(twoEthers).disableLocalTransactions(false)); + createTransactionPool(b -> b.txFeeCap(twoEthers).noLocalPriority(noLocalPriority)); final Transaction transactionLocal = createTransaction(0, twoEthers.add(1)); @@ -758,8 +769,23 @@ public void shouldRejectLocalTransactionIfFeeCapExceeded() { @ParameterizedTest @ValueSource(booleans = {true, false}) - public void shouldRejectZeroGasPriceLocalTransactionWhenNotMining(final boolean disableLocalTxs) { - transactionPool = createTransactionPool(b -> b.disableLocalTransactions(disableLocalTxs)); + public void shouldAcceptRemoteTransactionEvenIfFeeCapExceeded(final boolean hasPriority) { + final Wei twoEthers = Wei.fromEth(2); + final Transaction remoteTransaction = createTransaction(0, twoEthers.add(1)); + final Set
prioritySenders = + hasPriority ? Set.of(remoteTransaction.getSender()) : Set.of(); + transactionPool = + createTransactionPool(b -> b.txFeeCap(twoEthers).prioritySenders(prioritySenders)); + + givenTransactionIsValid(remoteTransaction); + + addAndAssertRemoteTransactionsValid(hasPriority, remoteTransaction); + } + + @ParameterizedTest + @ValueSource(booleans = {true, false}) + public void shouldRejectZeroGasPriceLocalTransactionWhenNotMining(final boolean noLocalPriority) { + transactionPool = createTransactionPool(b -> b.noLocalPriority(noLocalPriority)); when(miningParameters.isMiningEnabled()).thenReturn(false); final Transaction transaction = createTransaction(0, Wei.ZERO); @@ -769,39 +795,78 @@ public void shouldRejectZeroGasPriceLocalTransactionWhenNotMining(final boolean addAndAssertTransactionViaApiInvalid(transaction, GAS_PRICE_TOO_LOW); } + @Test + @DisabledIf("isBaseFeeMarket") + public void shouldAcceptZeroGasPriceFrontierLocalPriorityTransactionsWhenMining() { + transactionPool = createTransactionPool(b -> b.noLocalPriority(false)); + when(miningParameters.isMiningEnabled()).thenReturn(true); + + final Transaction transaction = createTransaction(0, Wei.ZERO); + + givenTransactionIsValid(transaction); + + addAndAssertTransactionViaApiValid(transaction, false); + } + @ParameterizedTest @ValueSource(booleans = {true, false}) - public void transactionNotRejectedByPluginShouldBeAdded(final boolean disableLocalTxs) { + public void shouldRejectZeroGasPriceRemoteTransactionWhenNotMining(final boolean hasPriority) { + final Transaction transaction = createTransaction(0, Wei.ZERO); + final Set
prioritySenders = hasPriority ? Set.of(transaction.getSender()) : Set.of(); + transactionPool = createTransactionPool(b -> b.prioritySenders(prioritySenders)); + when(miningParameters.isMiningEnabled()).thenReturn(false); + + givenTransactionIsValid(transaction); + + addAndAssertRemoteTransactionInvalid(transaction); + } + + @Test + @DisabledIf("isBaseFeeMarket") + public void shouldAcceptZeroGasPriceFrontierRemotePriorityTransactionsWhenMining() { + final Transaction transaction = createTransaction(0, Wei.ZERO); + transactionPool = + createTransactionPool(b -> b.prioritySenders(Set.of(transaction.getSender()))); + when(miningParameters.isMiningEnabled()).thenReturn(true); + + givenTransactionIsValid(transaction); + + addAndAssertRemoteTransactionsValid(true, transaction); + } + + @ParameterizedTest + @ValueSource(booleans = {true, false}) + public void transactionNotRejectedByPluginShouldBeAdded(final boolean noLocalPriority) { final PluginTransactionValidatorFactory pluginTransactionValidatorFactory = - getPluginTransactionValidatorFactoryReturning(true); + getPluginTransactionValidatorFactoryReturning(null); // null -> not rejecting !! this.transactionPool = createTransactionPool( - b -> b.disableLocalTransactions(disableLocalTxs), pluginTransactionValidatorFactory); + b -> b.noLocalPriority(noLocalPriority), pluginTransactionValidatorFactory); givenTransactionIsValid(transaction0); - addAndAssertTransactionViaApiValid(transaction0, disableLocalTxs); + addAndAssertTransactionViaApiValid(transaction0, noLocalPriority); } @ParameterizedTest @ValueSource(booleans = {true, false}) - public void transactionRejectedByPluginShouldNotBeAdded(final boolean disableLocalTxs) { + public void transactionRejectedByPluginShouldNotBeAdded(final boolean noLocalPriority) { final PluginTransactionValidatorFactory pluginTransactionValidatorFactory = - getPluginTransactionValidatorFactoryReturning(false); + getPluginTransactionValidatorFactoryReturning("false"); this.transactionPool = createTransactionPool( - b -> b.disableLocalTransactions(disableLocalTxs), pluginTransactionValidatorFactory); + b -> b.noLocalPriority(noLocalPriority), pluginTransactionValidatorFactory); givenTransactionIsValid(transaction0); addAndAssertTransactionViaApiInvalid( - transaction0, TransactionInvalidReason.PLUGIN_TX_VALIDATOR_INVALIDATED); + transaction0, TransactionInvalidReason.PLUGIN_TX_VALIDATOR); } @Test public void remoteTransactionRejectedByPluginShouldNotBeAdded() { final PluginTransactionValidatorFactory pluginTransactionValidatorFactory = - getPluginTransactionValidatorFactoryReturning(false); + getPluginTransactionValidatorFactoryReturning("false"); this.transactionPool = createTransactionPool(b -> {}, pluginTransactionValidatorFactory); givenTransactionIsValid(transaction0); @@ -814,17 +879,15 @@ public void remoteTransactionRejectedByPluginShouldNotBeAdded() { @DisabledIf("isBaseFeeMarket") public void addLocalTransaction_strictReplayProtectionOn_txWithoutChainId_chainIdIsConfigured_protectionNotSupportedAtCurrentBlock( - final boolean disableLocalTxs) { + final boolean noLocalPriority) { protocolSupportsTxReplayProtection(1337, false); transactionPool = createTransactionPool( - b -> - b.strictTransactionReplayProtectionEnabled(true) - .disableLocalTransactions(disableLocalTxs)); + b -> b.strictTransactionReplayProtectionEnabled(true).noLocalPriority(noLocalPriority)); final Transaction tx = createTransactionWithoutChainId(1); givenTransactionIsValid(tx); - addAndAssertTransactionViaApiValid(tx, disableLocalTxs); + addAndAssertTransactionViaApiValid(tx, noLocalPriority); } @Test @@ -836,24 +899,23 @@ public void remoteTransactionRejectedByPluginShouldNotBeAdded() { final Transaction tx = createTransactionWithoutChainId(1); givenTransactionIsValid(tx); - addAndAssertRemoteTransactionValid(tx); + addAndAssertRemoteTransactionsValid(tx); } @ParameterizedTest @ValueSource(booleans = {true, false}) @DisabledIf("isBaseFeeMarket") public void addLocalTransaction_strictReplayProtectionOff_txWithoutChainId_chainIdIsConfigured( - final boolean disableLocalTxs) { + final boolean noLocalPriority) { protocolSupportsTxReplayProtection(1337, true); transactionPool = createTransactionPool( b -> - b.strictTransactionReplayProtectionEnabled(false) - .disableLocalTransactions(disableLocalTxs)); + b.strictTransactionReplayProtectionEnabled(false).noLocalPriority(noLocalPriority)); final Transaction tx = createTransactionWithoutChainId(1); givenTransactionIsValid(tx); - addAndAssertTransactionViaApiValid(tx, disableLocalTxs); + addAndAssertTransactionViaApiValid(tx, noLocalPriority); } @Test @@ -876,24 +938,22 @@ public void addLocalTransaction_strictReplayProtectionOn_txWithoutChainId_chainI final Transaction tx = createTransactionWithoutChainId(1); givenTransactionIsValid(tx); - addAndAssertRemoteTransactionValid(tx); + addAndAssertRemoteTransactionsValid(tx); } @ParameterizedTest @ValueSource(booleans = {true, false}) @DisabledIf("isBaseFeeMarket") public void addLocalTransaction_strictReplayProtectionOn_txWithoutChainId_chainIdIsNotConfigured( - final boolean disableLocalTxs) { + final boolean noLocalPriority) { protocolDoesNotSupportTxReplayProtection(); transactionPool = createTransactionPool( - b -> - b.strictTransactionReplayProtectionEnabled(true) - .disableLocalTransactions(disableLocalTxs)); + b -> b.strictTransactionReplayProtectionEnabled(true).noLocalPriority(noLocalPriority)); final Transaction tx = createTransactionWithoutChainId(1); givenTransactionIsValid(tx); - addAndAssertTransactionViaApiValid(tx, disableLocalTxs); + addAndAssertTransactionViaApiValid(tx, noLocalPriority); } @Test @@ -905,7 +965,7 @@ public void addLocalTransaction_strictReplayProtectionOn_txWithoutChainId_chainI final Transaction tx = createTransactionWithoutChainId(1); givenTransactionIsValid(tx); - addAndAssertRemoteTransactionValid(tx); + addAndAssertRemoteTransactionsValid(tx); } @Test @@ -925,39 +985,26 @@ public void shouldIgnoreEIP1559TransactionWhenNotAllowed() { addAndAssertTransactionViaApiInvalid(transaction, INVALID_TRANSACTION_FORMAT); } - @Test - @DisabledIf("isBaseFeeMarket") - public void shouldAcceptZeroGasPriceFrontierLocalTransactionsWhenMining() { - transactionPool = createTransactionPool(b -> b.disableLocalTransactions(false)); - when(miningParameters.isMiningEnabled()).thenReturn(true); - - final Transaction transaction = createTransaction(0, Wei.ZERO); - - givenTransactionIsValid(transaction); - - addAndAssertTransactionViaApiValid(transaction, false); - } - @ParameterizedTest @ValueSource(booleans = {true, false}) @DisabledIf("isBaseFeeMarket") public void shouldAcceptZeroGasPriceTransactionWhenMinGasPriceIsZero( - final boolean disableLocalTxs) { - transactionPool = createTransactionPool(b -> b.disableLocalTransactions(disableLocalTxs)); + final boolean noLocalPriority) { + transactionPool = createTransactionPool(b -> b.noLocalPriority(noLocalPriority)); when(miningParameters.getMinTransactionGasPrice()).thenReturn(Wei.ZERO); final Transaction transaction = createTransaction(0, Wei.ZERO); givenTransactionIsValid(transaction); - addAndAssertTransactionViaApiValid(transaction, disableLocalTxs); + addAndAssertTransactionViaApiValid(transaction, noLocalPriority); } @ParameterizedTest @ValueSource(booleans = {true, false}) public void shouldAcceptZeroGasPriceFrontierTxsWhenMinGasPriceIsZeroAndLondonWithZeroBaseFee( - final boolean disableLocalTxs) { - transactionPool = createTransactionPool(b -> b.disableLocalTransactions(disableLocalTxs)); + final boolean noLocalPriority) { + transactionPool = createTransactionPool(b -> b.noLocalPriority(noLocalPriority)); when(miningParameters.getMinTransactionGasPrice()).thenReturn(Wei.ZERO); when(protocolSpec.getFeeMarket()).thenReturn(FeeMarket.london(0, Optional.of(Wei.ZERO))); whenBlockBaseFeeIs(Wei.ZERO); @@ -965,14 +1012,14 @@ public void shouldAcceptZeroGasPriceFrontierTxsWhenMinGasPriceIsZeroAndLondonWit final Transaction frontierTransaction = createFrontierTransaction(0, Wei.ZERO); givenTransactionIsValid(frontierTransaction); - addAndAssertTransactionViaApiValid(frontierTransaction, disableLocalTxs); + addAndAssertTransactionViaApiValid(frontierTransaction, noLocalPriority); } @ParameterizedTest @ValueSource(booleans = {true, false}) public void shouldAcceptZeroGasPrice1559TxsWhenMinGasPriceIsZeroAndLondonWithZeroBaseFee( - final boolean disableLocalTxs) { - transactionPool = createTransactionPool(b -> b.disableLocalTransactions(disableLocalTxs)); + final boolean noLocalPriority) { + transactionPool = createTransactionPool(b -> b.noLocalPriority(noLocalPriority)); when(miningParameters.getMinTransactionGasPrice()).thenReturn(Wei.ZERO); when(protocolSpec.getFeeMarket()).thenReturn(FeeMarket.london(0, Optional.of(Wei.ZERO))); whenBlockBaseFeeIs(Wei.ZERO); @@ -980,12 +1027,12 @@ public void shouldAcceptZeroGasPrice1559TxsWhenMinGasPriceIsZeroAndLondonWithZer final Transaction transaction = createTransaction(0, Wei.ZERO); givenTransactionIsValid(transaction); - addAndAssertTransactionViaApiValid(transaction, disableLocalTxs); + addAndAssertTransactionViaApiValid(transaction, noLocalPriority); } @Test - public void shouldAcceptBaseFeeFloorGasPriceFrontierLocalTransactionsWhenMining() { - transactionPool = createTransactionPool(b -> b.disableLocalTransactions(false)); + public void shouldAcceptBaseFeeFloorGasPriceFrontierLocalPriorityTransactionsWhenMining() { + transactionPool = createTransactionPool(b -> b.noLocalPriority(false)); final Transaction frontierTransaction = createFrontierTransaction(0, BASE_FEE_FLOOR); givenTransactionIsValid(frontierTransaction); @@ -994,7 +1041,19 @@ public void shouldAcceptBaseFeeFloorGasPriceFrontierLocalTransactionsWhenMining( } @Test - public void shouldRejectRemote1559TxsWhenMaxFeePerGasBelowMinGasPrice() { + public void shouldAcceptBaseFeeFloorGasPriceFrontierRemotePriorityTransactionsWhenMining() { + final Transaction frontierTransaction = createFrontierTransaction(0, BASE_FEE_FLOOR); + transactionPool = + createTransactionPool(b -> b.prioritySenders(Set.of(frontierTransaction.getSender()))); + + givenTransactionIsValid(frontierTransaction); + + addAndAssertRemoteTransactionsValid(frontierTransaction); + } + + @ParameterizedTest + @ValueSource(booleans = {true, false}) + public void shouldRejectRemote1559TxsWhenMaxFeePerGasBelowMinGasPrice(final boolean hasPriority) { final Wei genesisBaseFee = Wei.of(100L); final Wei minGasPrice = Wei.of(200L); final Wei lastBlockBaseFee = minGasPrice.add(50L); @@ -1002,12 +1061,14 @@ public void shouldRejectRemote1559TxsWhenMaxFeePerGasBelowMinGasPrice() { assertThat( add1559TxAndGetPendingTxsCount( - genesisBaseFee, minGasPrice, lastBlockBaseFee, txMaxFeePerGas, false)) + genesisBaseFee, minGasPrice, lastBlockBaseFee, txMaxFeePerGas, false, hasPriority)) .isEqualTo(0); } - @Test - public void shouldAcceptRemote1559TxsWhenMaxFeePerGasIsAtLeastEqualToMinGasPrice() { + @ParameterizedTest + @ValueSource(booleans = {true, false}) + public void shouldAcceptRemote1559TxsWhenMaxFeePerGasIsAtLeastEqualToMinGasPrice( + final boolean hasPriority) { final Wei genesisBaseFee = Wei.of(100L); final Wei minGasPrice = Wei.of(200L); final Wei lastBlockBaseFee = minGasPrice.add(50L); @@ -1015,7 +1076,7 @@ public void shouldAcceptRemote1559TxsWhenMaxFeePerGasIsAtLeastEqualToMinGasPrice assertThat( add1559TxAndGetPendingTxsCount( - genesisBaseFee, minGasPrice, lastBlockBaseFee, txMaxFeePerGas, false)) + genesisBaseFee, minGasPrice, lastBlockBaseFee, txMaxFeePerGas, false, hasPriority)) .isEqualTo(1); } @@ -1028,7 +1089,7 @@ public void shouldRejectLocal1559TxsWhenMaxFeePerGasBelowMinGasPrice() { assertThat( add1559TxAndGetPendingTxsCount( - genesisBaseFee, minGasPrice, lastBlockBaseFee, txMaxFeePerGas, true)) + genesisBaseFee, minGasPrice, lastBlockBaseFee, txMaxFeePerGas, true, true)) .isEqualTo(0); } @@ -1041,7 +1102,7 @@ public void shouldAcceptLocal1559TxsWhenMaxFeePerGasIsAtLeastEqualToMinMinGasPri assertThat( add1559TxAndGetPendingTxsCount( - genesisBaseFee, minGasPrice, lastBlockBaseFee, txMaxFeePerGas, true)) + genesisBaseFee, minGasPrice, lastBlockBaseFee, txMaxFeePerGas, true, true)) .isEqualTo(1); } @@ -1065,8 +1126,9 @@ public void addRemoteTransactionsShouldAllowDuplicates() { } private static PluginTransactionValidatorFactory getPluginTransactionValidatorFactoryReturning( - final boolean b) { - final PluginTransactionValidator pluginTransactionValidator = transaction -> b; + final String errorMessage) { + final PluginTransactionValidator pluginTransactionValidator = + transaction -> Optional.ofNullable(errorMessage); return () -> pluginTransactionValidator; } @@ -1093,7 +1155,16 @@ protected void assertTransactionPending(final Transaction t) { assertThat(transactions.getTransactionByHash(t.getHash())).contains(t); } - protected void addAndAssertRemoteTransactionValid(final Transaction... txs) { + protected void addAndAssertRemoteTransactionsValid(final Transaction... txs) { + addAndAssertRemoteTransactionsValid(false, txs); + } + + protected void addAndAssertRemotePriorityTransactionsValid(final Transaction... txs) { + addAndAssertRemoteTransactionsValid(true, txs); + } + + protected void addAndAssertRemoteTransactionsValid( + final boolean hasPriority, final Transaction... txs) { transactionPool.addRemoteTransactions(List.of(txs)); verify(transactionBroadcaster) @@ -1101,24 +1172,24 @@ protected void addAndAssertRemoteTransactionValid(final Transaction... txs) { argThat(btxs -> btxs.size() == txs.length && btxs.containsAll(List.of(txs)))); Arrays.stream(txs).forEach(this::assertTransactionPending); assertThat(transactions.getLocalTransactions()).doesNotContain(txs); - } - - protected void addAndAssertTransactionViaApiValid(final Transaction tx) { - addAndAssertTransactionViaApiValid(tx, false); + if (hasPriority) { + assertThat(transactions.getPriorityTransactions()).contains(txs); + } } protected void addAndAssertTransactionViaApiValid( - final Transaction tx, final boolean disableLocals) { + final Transaction tx, final boolean disableLocalPriority) { final ValidationResult result = transactionPool.addTransactionViaApi(tx); assertThat(result.isValid()).isTrue(); assertTransactionPending(tx); verify(transactionBroadcaster).onTransactionsAdded(singletonList(tx)); - if (disableLocals) { - assertThat(transactions.getLocalTransactions()).doesNotContain(tx); + assertThat(transactions.getLocalTransactions()).contains(tx); + if (disableLocalPriority) { + assertThat(transactions.getPriorityTransactions()).doesNotContain(tx); } else { - assertThat(transactions.getLocalTransactions()).contains(tx); + assertThat(transactions.getPriorityTransactions()).contains(tx); } } @@ -1242,13 +1313,17 @@ protected int add1559TxAndGetPendingTxsCount( final Wei minGasPrice, final Wei lastBlockBaseFee, final Wei txMaxFeePerGas, - final boolean isLocal) { + final boolean isLocal, + final boolean hasPriority) { when(miningParameters.getMinTransactionGasPrice()).thenReturn(minGasPrice); when(protocolSpec.getFeeMarket()).thenReturn(FeeMarket.london(0, Optional.of(genesisBaseFee))); whenBlockBaseFeeIs(lastBlockBaseFee); final Transaction transaction = createTransaction(0, txMaxFeePerGas); - + if (hasPriority) { + transactionPool = + createTransactionPool(b -> b.prioritySenders(Set.of(transaction.getSender()))); + } givenTransactionIsValid(transaction); if (isLocal) { diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/PendingTransactionEstimatedMemorySizeTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/PendingTransactionEstimatedMemorySizeTest.java index 54cbe804ab7..dde45d0a95b 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/PendingTransactionEstimatedMemorySizeTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/PendingTransactionEstimatedMemorySizeTest.java @@ -19,52 +19,63 @@ import org.hyperledger.besu.crypto.SignatureAlgorithm; import org.hyperledger.besu.datatypes.AccessListEntry; import org.hyperledger.besu.datatypes.Address; +import org.hyperledger.besu.datatypes.BlobsWithCommitments; import org.hyperledger.besu.datatypes.TransactionType; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.core.Transaction; import org.hyperledger.besu.ethereum.core.TransactionTestFixture; +import org.hyperledger.besu.ethereum.core.encoding.EncodingContext; +import org.hyperledger.besu.ethereum.core.encoding.TransactionDecoder; +import org.hyperledger.besu.ethereum.core.encoding.TransactionEncoder; import org.hyperledger.besu.ethereum.eth.transactions.layered.BaseTransactionPoolTest; import org.hyperledger.besu.ethereum.rlp.BytesValueRLPInput; import org.hyperledger.besu.ethereum.rlp.BytesValueRLPOutput; +import java.math.BigInteger; +import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Optional; import java.util.Set; +import java.util.SortedSet; +import java.util.TreeSet; import java.util.concurrent.atomic.LongAdder; +import java.util.function.Function; +import com.google.common.collect.Sets; import org.apache.tuweni.bytes.Bytes; import org.apache.tuweni.bytes.Bytes32; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.EnabledOnOs; +import org.junit.jupiter.api.condition.OS; import org.openjdk.jol.info.ClassLayout; import org.openjdk.jol.info.GraphPathRecord; import org.openjdk.jol.info.GraphVisitor; import org.openjdk.jol.info.GraphWalker; -@Disabled("Need to handle different results on different OS") +@EnabledOnOs(OS.LINUX) public class PendingTransactionEstimatedMemorySizeTest extends BaseTransactionPoolTest { private static final Set> SHARED_CLASSES = Set.of(SignatureAlgorithm.class, TransactionType.class); - private static final Set EIP1559_CONSTANT_FIELD_PATHS = Set.of(".gasPrice"); - private static final Set EIP1559_VARIABLE_SIZE_PATHS = - Set.of(".to", ".payload", ".maybeAccessList"); - + private static final Set COMMON_CONSTANT_FIELD_PATHS = + Set.of(".value.ctor", ".hashNoSignature"); + private static final Set EIP1559_EIP4844_CONSTANT_FIELD_PATHS = + Sets.union(COMMON_CONSTANT_FIELD_PATHS, Set.of(".gasPrice")); private static final Set FRONTIER_ACCESS_LIST_CONSTANT_FIELD_PATHS = - Set.of(".maxFeePerGas", ".maxPriorityFeePerGas"); - private static final Set FRONTIER_ACCESS_LIST_VARIABLE_SIZE_PATHS = - Set.of(".to", ".payload", ".maybeAccessList"); + Sets.union(COMMON_CONSTANT_FIELD_PATHS, Set.of(".maxFeePerGas", ".maxPriorityFeePerGas")); + private static final Set VARIABLE_SIZE_PATHS = + Set.of(".chainId", ".to", ".payload", ".maybeAccessList"); @Test public void toSize() { TransactionTestFixture preparedTx = - prepareTransaction(TransactionType.ACCESS_LIST, 10, Wei.of(500), 10); + prepareTransaction(TransactionType.ACCESS_LIST, 10, Wei.of(500), 10, 0); Transaction txTo = preparedTx.to(Optional.of(Address.extract(Bytes32.random()))).createTransaction(KEYS1); BytesValueRLPOutput rlpOut = new BytesValueRLPOutput(); txTo.writeTo(rlpOut); - txTo = Transaction.readFrom(new BytesValueRLPInput(rlpOut.encoded(), false)); + txTo = Transaction.readFrom(new BytesValueRLPInput(rlpOut.encoded(), false)).detachedCopy(); System.out.println(txTo.getSender()); System.out.println(txTo.getHash()); System.out.println(txTo.getSize()); @@ -78,34 +89,17 @@ public void toSize() { GraphVisitor gv = gpr -> { - // byte[] is shared so only count the specific part for each field - if (gpr.path().endsWith(".bytes")) { - if (gpr.path().contains("delegate")) { - size.add(20); - System.out.println( - "(" - + size - + ")[20 = fixed address size; overrides: " - + gpr.size() - + ", " - + gpr.path() - + ", " - + gpr.klass().toString() - + "]"); - } - } else { - size.add(gpr.size()); - System.out.println( - "(" - + size - + ")[" - + gpr.size() - + ", " - + gpr.path() - + ", " - + gpr.klass().toString() - + "]"); - } + size.add(gpr.size()); + System.out.println( + "(" + + size + + ")[" + + gpr.size() + + ", " + + gpr.path() + + ", " + + gpr.klass().toString() + + "]"); }; GraphWalker gw = new GraphWalker(gv); @@ -121,12 +115,13 @@ public void toSize() { public void payloadSize() { TransactionTestFixture preparedTx = - prepareTransaction(TransactionType.ACCESS_LIST, 10, Wei.of(500), 10); + prepareTransaction(TransactionType.ACCESS_LIST, 10, Wei.of(500), 10, 0); Transaction txPayload = preparedTx.createTransaction(KEYS1); BytesValueRLPOutput rlpOut = new BytesValueRLPOutput(); txPayload.writeTo(rlpOut); - txPayload = Transaction.readFrom(new BytesValueRLPInput(rlpOut.encoded(), false)); + txPayload = + Transaction.readFrom(new BytesValueRLPInput(rlpOut.encoded(), false)).detachedCopy(); System.out.println(txPayload.getSender()); System.out.println(txPayload.getHash()); System.out.println(txPayload.getSize()); @@ -141,16 +136,141 @@ public void payloadSize() { assertThat(size.sum()).isEqualTo(PendingTransaction.PAYLOAD_BASE_MEMORY_SIZE); } + @Test + public void chainIdSize() { + + BigInteger chainId = BigInteger.valueOf(1); + Optional maybeChainId = Optional.of(chainId); + + final ClassLayout cl = ClassLayout.parseInstance(maybeChainId); + System.out.println(cl.toPrintable()); + LongAdder size = new LongAdder(); + size.add(cl.instanceSize()); + System.out.println("Base chainId size: " + size); + + GraphVisitor gv = + gpr -> { + size.add(gpr.size()); + System.out.println( + "(" + + size + + ")[" + + gpr.size() + + ", " + + gpr.path() + + ", " + + gpr.klass().toString() + + "]"); + }; + + GraphWalker gw = new GraphWalker(gv); + + gw.walk(maybeChainId); + + assertThat(size.sum()).isEqualTo(PendingTransaction.OPTIONAL_CHAIN_ID_MEMORY_SIZE); + } + + @Test + public void kgzCommitmentsSize() { + blobsWithCommitmentsFieldSize( + t -> t.getBlobsWithCommitments().get().getKzgCommitments(), + PendingTransaction.BASE_LIST_SIZE, + PendingTransaction.KZG_COMMITMENT_OR_PROOF_SIZE); + } + + @Test + public void kgzProofsSize() { + blobsWithCommitmentsFieldSize( + t -> t.getBlobsWithCommitments().get().getKzgProofs(), + PendingTransaction.BASE_LIST_SIZE, + PendingTransaction.KZG_COMMITMENT_OR_PROOF_SIZE); + } + + @Test + public void blobsSize() { + blobsWithCommitmentsFieldSize( + t -> t.getBlobsWithCommitments().get().getBlobs(), + PendingTransaction.BASE_LIST_SIZE, + PendingTransaction.BLOB_SIZE); + } + + @Test + public void versionedHashesSize() { + blobsWithCommitmentsFieldSize( + t -> t.getBlobsWithCommitments().get().getVersionedHashes(), + PendingTransaction.BASE_LIST_SIZE, + PendingTransaction.VERSIONED_HASH_SIZE); + } + + private void blobsWithCommitmentsFieldSize( + final Function> containerExtractor, + final long containerSize, + final long itemSize) { + TransactionTestFixture preparedTx = + prepareTransaction(TransactionType.BLOB, 10, Wei.of(500), 10, 1); + Transaction txBlob = preparedTx.createTransaction(KEYS1); + BytesValueRLPOutput rlpOut = new BytesValueRLPOutput(); + TransactionEncoder.encodeRLP(txBlob, rlpOut, EncodingContext.POOLED_TRANSACTION); + + txBlob = + TransactionDecoder.decodeRLP( + new BytesValueRLPInput(rlpOut.encoded(), false), EncodingContext.POOLED_TRANSACTION) + .detachedCopy(); + System.out.println(txBlob.getSender()); + System.out.println(txBlob.getHash()); + System.out.println(txBlob.getSize()); + + final List list = containerExtractor.apply(txBlob); + + final long cSize = sizeOfField(list, ".elements["); + + System.out.println("Container size: " + cSize); + + assertThat(cSize).isEqualTo(containerSize); + + final Object item = list.get(0); + final long iSize = sizeOfField(item); + + System.out.println("Item size: " + iSize); + + assertThat(iSize).isEqualTo(itemSize); + } + + @Test + public void blobsWithCommitmentsSize() { + TransactionTestFixture preparedTx = + prepareTransaction(TransactionType.BLOB, 10, Wei.of(500), 10, 1); + Transaction txBlob = preparedTx.createTransaction(KEYS1); + BytesValueRLPOutput rlpOut = new BytesValueRLPOutput(); + TransactionEncoder.encodeRLP(txBlob, rlpOut, EncodingContext.POOLED_TRANSACTION); + + txBlob = + TransactionDecoder.decodeRLP( + new BytesValueRLPInput(rlpOut.encoded(), false), EncodingContext.POOLED_TRANSACTION) + .detachedCopy(); + System.out.println(txBlob.getSender()); + System.out.println(txBlob.getHash()); + System.out.println(txBlob.getSize()); + + final BlobsWithCommitments bwc = txBlob.getBlobsWithCommitments().get(); + final ClassLayout cl = ClassLayout.parseInstance(bwc); + System.out.println(cl.toPrintable()); + System.out.println("BlobsWithCommitments size: " + cl.instanceSize()); + + assertThat(cl.instanceSize()).isEqualTo(PendingTransaction.BLOBS_WITH_COMMITMENTS_SIZE); + } + @Test public void pendingTransactionSize() { TransactionTestFixture preparedTx = - prepareTransaction(TransactionType.ACCESS_LIST, 10, Wei.of(500), 10); + prepareTransaction(TransactionType.ACCESS_LIST, 10, Wei.of(500), 10, 0); Transaction txPayload = preparedTx.createTransaction(KEYS1); BytesValueRLPOutput rlpOut = new BytesValueRLPOutput(); txPayload.writeTo(rlpOut); - txPayload = Transaction.readFrom(new BytesValueRLPInput(rlpOut.encoded(), false)); + txPayload = + Transaction.readFrom(new BytesValueRLPInput(rlpOut.encoded(), false)).detachedCopy(); System.out.println(txPayload.getSender()); System.out.println(txPayload.getHash()); System.out.println(txPayload.getSize()); @@ -176,12 +296,13 @@ public void accessListSize() { final List ales = List.of(ale1); TransactionTestFixture preparedTx = - prepareTransaction(TransactionType.ACCESS_LIST, 0, Wei.of(500), 0); + prepareTransaction(TransactionType.ACCESS_LIST, 0, Wei.of(500), 0, 0); Transaction txAccessList = preparedTx.accessList(ales).createTransaction(KEYS1); BytesValueRLPOutput rlpOut = new BytesValueRLPOutput(); txAccessList.writeTo(rlpOut); - txAccessList = Transaction.readFrom(new BytesValueRLPInput(rlpOut.encoded(), false)); + txAccessList = + Transaction.readFrom(new BytesValueRLPInput(rlpOut.encoded(), false)).detachedCopy(); System.out.println(txAccessList.getSender()); System.out.println(txAccessList.getHash()); System.out.println(txAccessList.getSize()); @@ -200,55 +321,11 @@ public void accessListSize() { final AccessListEntry ale = optAL.get().get(0); - final ClassLayout cl3 = ClassLayout.parseInstance(ale); - System.out.println(cl3.toPrintable()); - System.out.println("AccessListEntry size: " + cl3.instanceSize()); - - LongAdder size = new LongAdder(); - size.add(cl3.instanceSize()); - - GraphVisitor gv = - gpr -> { - // byte[] is shared so only count the specific part for each field - if (gpr.path().endsWith(".bytes")) { - if (gpr.path().contains("address")) { - size.add(20); - System.out.println( - "(" - + size - + ")[20 = fixed address size; overrides: " - + gpr.size() - + ", " - + gpr.path() - + ", " - + gpr.klass().toString() - + "]"); - } - } else if (!gpr.path() - .contains( - "storageKeys.elementData[")) { // exclude elements since we want the container - // size - size.add(gpr.size()); - System.out.println( - "(" - + size - + ")[" - + gpr.size() - + ", " - + gpr.path() - + ", " - + gpr.klass().toString() - + "]"); - } - }; - - GraphWalker gw = new GraphWalker(gv); - - gw.walk(ale); + long aleSize = sizeOfField(ale, "storageKeys.elementData["); - System.out.println("AccessListEntry container size: " + size); + System.out.println("AccessListEntry container size: " + aleSize); - assertThat(size.sum()).isEqualTo(PendingTransaction.ACCESS_LIST_ENTRY_BASE_MEMORY_SIZE); + assertThat(aleSize).isEqualTo(PendingTransaction.ACCESS_LIST_ENTRY_BASE_MEMORY_SIZE); final Bytes32 storageKey = ale.storageKeys().get(0); final ClassLayout cl4 = ClassLayout.parseInstance(storageKey); @@ -260,13 +337,14 @@ public void accessListSize() { } @Test - public void baseEIP1559TransactionMemorySize() { + public void baseEIP1559AndEIP4844TransactionMemorySize() { System.setProperty("jol.magicFieldOffset", "true"); Transaction txEip1559 = createEIP1559Transaction(1, KEYS1, 10); BytesValueRLPOutput rlpOut = new BytesValueRLPOutput(); txEip1559.writeTo(rlpOut); - txEip1559 = Transaction.readFrom(new BytesValueRLPInput(rlpOut.encoded(), false)); + txEip1559 = + Transaction.readFrom(new BytesValueRLPInput(rlpOut.encoded(), false)).detachedCopy(); System.out.println(txEip1559.getSender()); System.out.println(txEip1559.getHash()); System.out.println(txEip1559.getSize()); @@ -277,138 +355,141 @@ public void baseEIP1559TransactionMemorySize() { eip1559size.add(cl.instanceSize()); System.out.println(eip1559size); - final Set skipPrefixes = new HashSet<>(); - - GraphVisitor gv = - gpr -> { - if (!skipPrefixes.stream().anyMatch(sp -> gpr.path().startsWith(sp))) { - if (SHARED_CLASSES.stream().anyMatch(scz -> scz.isAssignableFrom(gpr.klass()))) { - skipPrefixes.add(gpr.path()); - } else if (!startWithAnyOf(EIP1559_CONSTANT_FIELD_PATHS, gpr) - && !startWithAnyOf(EIP1559_VARIABLE_SIZE_PATHS, gpr)) { - eip1559size.add(gpr.size()); - System.out.println( - "(" - + eip1559size - + ")[" - + gpr.size() - + ", " - + gpr.path() - + ", " - + gpr.klass().toString() - + "]"); - } - } - }; - - GraphWalker gw = new GraphWalker(gv); + final SortedSet fieldSizes = new TreeSet<>(); + GraphWalker gw = getGraphWalker(EIP1559_EIP4844_CONSTANT_FIELD_PATHS, fieldSizes); gw.walk(txEip1559); + fieldSizes.forEach( + fieldSize -> { + eip1559size.add(fieldSize.size()); + System.out.println( + "(" + + eip1559size + + ")[" + + fieldSize.size() + + ", " + + fieldSize.path() + + ", " + + fieldSize + + "]"); + }); + System.out.println("Base EIP1559 size: " + eip1559size); - assertThat(eip1559size.sum()).isEqualTo(PendingTransaction.EIP1559_BASE_MEMORY_SIZE); + assertThat(eip1559size.sum()) + .isEqualTo(PendingTransaction.EIP1559_AND_EIP4844_BASE_MEMORY_SIZE); } @Test - public void baseAccessListTransactionMemorySize() { + public void baseFrontierAndAccessListTransactionMemorySize() { System.setProperty("jol.magicFieldOffset", "true"); - Transaction txAccessList = - createTransaction(TransactionType.ACCESS_LIST, 1, Wei.of(500), 0, KEYS1); + Transaction txFrontier = createTransaction(TransactionType.FRONTIER, 1, Wei.of(500), 0, KEYS1); BytesValueRLPOutput rlpOut = new BytesValueRLPOutput(); - txAccessList.writeTo(rlpOut); + txFrontier.writeTo(rlpOut); - txAccessList = Transaction.readFrom(new BytesValueRLPInput(rlpOut.encoded(), false)); - System.out.println(txAccessList.getSender()); - System.out.println(txAccessList.getHash()); - System.out.println(txAccessList.getSize()); + txFrontier = + Transaction.readFrom(new BytesValueRLPInput(rlpOut.encoded(), false)).detachedCopy(); + System.out.println(txFrontier.getSender()); + System.out.println(txFrontier.getHash()); + System.out.println(txFrontier.getSize()); - final ClassLayout cl = ClassLayout.parseInstance(txAccessList); + final ClassLayout cl = ClassLayout.parseInstance(txFrontier); System.out.println(cl.toPrintable()); - LongAdder accessListSize = new LongAdder(); - accessListSize.add(cl.instanceSize()); - System.out.println(accessListSize); + LongAdder frontierSize = new LongAdder(); + frontierSize.add(cl.instanceSize()); + System.out.println(frontierSize); - final Set skipPrefixes = new HashSet<>(); + final SortedSet fieldSizes = new TreeSet<>(); + + GraphWalker gw = getGraphWalker(FRONTIER_ACCESS_LIST_CONSTANT_FIELD_PATHS, fieldSizes); + gw.walk(txFrontier); + + fieldSizes.forEach( + fieldSize -> { + frontierSize.add(fieldSize.size()); + System.out.println( + "(" + + frontierSize + + ")[" + + fieldSize.size() + + ", " + + fieldSize.path() + + ", " + + fieldSize + + "]"); + }); + + System.out.println("Base Frontier size: " + frontierSize); + assertThat(frontierSize.sum()) + .isEqualTo(PendingTransaction.FRONTIER_AND_ACCESS_LIST_BASE_MEMORY_SIZE); + } + + private GraphWalker getGraphWalker( + final Set constantFieldPaths, final SortedSet fieldSizes) { + final Set skipPrefixes = new HashSet<>(); GraphVisitor gv = gpr -> { if (!skipPrefixes.stream().anyMatch(sp -> gpr.path().startsWith(sp))) { if (SHARED_CLASSES.stream().anyMatch(scz -> scz.isAssignableFrom(gpr.klass()))) { skipPrefixes.add(gpr.path()); - } else if (!startWithAnyOf(FRONTIER_ACCESS_LIST_CONSTANT_FIELD_PATHS, gpr) - && !startWithAnyOf(FRONTIER_ACCESS_LIST_VARIABLE_SIZE_PATHS, gpr)) { - accessListSize.add(gpr.size()); - System.out.println( - "(" - + accessListSize - + ")[" - + gpr.size() - + ", " - + gpr.path() - + ", " - + gpr.klass().toString() - + "]"); + } else if (!startWithAnyOf(constantFieldPaths, gpr) + && !startWithAnyOf(VARIABLE_SIZE_PATHS, gpr)) { + + fieldSizes.add(new FieldSize(gpr.path(), gpr.klass(), gpr.size())); } } }; GraphWalker gw = new GraphWalker(gv); - - gw.walk(txAccessList); - System.out.println("Base Access List size: " + accessListSize); - assertThat(accessListSize.sum()).isEqualTo(PendingTransaction.ACCESS_LIST_BASE_MEMORY_SIZE); + return gw; } - @Test - public void baseFrontierTransactionMemorySize() { - System.setProperty("jol.magicFieldOffset", "true"); - Transaction txFrontier = createTransaction(TransactionType.FRONTIER, 1, Wei.of(500), 0, KEYS1); - BytesValueRLPOutput rlpOut = new BytesValueRLPOutput(); - txFrontier.writeTo(rlpOut); - - txFrontier = Transaction.readFrom(new BytesValueRLPInput(rlpOut.encoded(), false)); - System.out.println(txFrontier.getSender()); - System.out.println(txFrontier.getHash()); - System.out.println(txFrontier.getSize()); + private boolean startWithAnyOf(final Set prefixes, final GraphPathRecord path) { + return prefixes.stream().anyMatch(prefix -> path.path().startsWith(prefix)); + } - final ClassLayout cl = ClassLayout.parseInstance(txFrontier); + private long sizeOfField(final Object container, final String... excludePaths) { + final ClassLayout cl = ClassLayout.parseInstance(container); System.out.println(cl.toPrintable()); - LongAdder frontierSize = new LongAdder(); - frontierSize.add(cl.instanceSize()); - System.out.println(frontierSize); + System.out.println("Base container size: " + cl.instanceSize()); - final Set skipPrefixes = new HashSet<>(); + LongAdder size = new LongAdder(); + size.add(cl.instanceSize()); GraphVisitor gv = gpr -> { - if (!skipPrefixes.stream().anyMatch(sp -> gpr.path().startsWith(sp))) { - if (SHARED_CLASSES.stream().anyMatch(scz -> scz.isAssignableFrom(gpr.klass()))) { - skipPrefixes.add(gpr.path()); - } else if (!startWithAnyOf(FRONTIER_ACCESS_LIST_CONSTANT_FIELD_PATHS, gpr) - && !startWithAnyOf(FRONTIER_ACCESS_LIST_VARIABLE_SIZE_PATHS, gpr)) { - frontierSize.add(gpr.size()); - System.out.println( - "(" - + frontierSize - + ")[" - + gpr.size() - + ", " - + gpr.path() - + ", " - + gpr.klass().toString() - + "]"); - } + if (Arrays.stream(excludePaths) + .anyMatch(excludePath -> gpr.path().contains(excludePath))) { + System.out.println("Excluded path " + gpr.path()); + } else { + size.add(gpr.size()); + System.out.println( + "(" + + size + + ")[" + + gpr.size() + + ", " + + gpr.path() + + ", " + + gpr.klass().toString() + + "]"); } }; GraphWalker gw = new GraphWalker(gv); - gw.walk(txFrontier); - System.out.println("Base Frontier size: " + frontierSize); - assertThat(frontierSize.sum()).isEqualTo(PendingTransaction.FRONTIER_BASE_MEMORY_SIZE); + gw.walk(container); + + System.out.println("Container size: " + size); + return size.sum(); } - private boolean startWithAnyOf(final Set prefixes, final GraphPathRecord path) { - return prefixes.stream().anyMatch(prefix -> path.path().startsWith(prefix)); + record FieldSize(String path, Class clazz, long size) implements Comparable { + + @Override + public int compareTo(final FieldSize o) { + return path.compareTo(o.path); + } } } diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/BaseTransactionPoolTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/BaseTransactionPoolTest.java index b735055445a..0d69dac4faa 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/BaseTransactionPoolTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/BaseTransactionPoolTest.java @@ -20,7 +20,13 @@ import org.hyperledger.besu.crypto.SignatureAlgorithm; import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; import org.hyperledger.besu.datatypes.Address; +import org.hyperledger.besu.datatypes.Blob; +import org.hyperledger.besu.datatypes.BlobsWithCommitments; +import org.hyperledger.besu.datatypes.Hash; +import org.hyperledger.besu.datatypes.KZGCommitment; +import org.hyperledger.besu.datatypes.KZGProof; import org.hyperledger.besu.datatypes.TransactionType; +import org.hyperledger.besu.datatypes.VersionedHash; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.core.Transaction; import org.hyperledger.besu.ethereum.core.TransactionTestFixture; @@ -33,10 +39,12 @@ import java.util.Optional; import java.util.Random; +import java.util.stream.IntStream; import com.google.common.base.Supplier; import com.google.common.base.Suppliers; import org.apache.tuweni.bytes.Bytes; +import org.apache.tuweni.bytes.Bytes48; public class BaseTransactionPoolTest { @@ -82,6 +90,12 @@ protected Transaction createEIP1559Transaction( TransactionType.EIP1559, nonce, Wei.of(5000L).multiply(gasFeeMultiplier), 0, keys); } + protected Transaction createEIP4844Transaction( + final long nonce, final KeyPair keys, final int gasFeeMultiplier, final int blobCount) { + return createTransaction( + TransactionType.BLOB, nonce, Wei.of(5000L).multiply(gasFeeMultiplier), 0, blobCount, keys); + } + protected Transaction createTransaction( final long nonce, final Wei maxGasPrice, final int payloadSize, final KeyPair keys) { @@ -97,11 +111,26 @@ protected Transaction createTransaction( final Wei maxGasPrice, final int payloadSize, final KeyPair keys) { - return prepareTransaction(type, nonce, maxGasPrice, payloadSize).createTransaction(keys); + return createTransaction(type, nonce, maxGasPrice, payloadSize, 0, keys); + } + + protected Transaction createTransaction( + final TransactionType type, + final long nonce, + final Wei maxGasPrice, + final int payloadSize, + final int blobCount, + final KeyPair keys) { + return prepareTransaction(type, nonce, maxGasPrice, payloadSize, blobCount) + .createTransaction(keys); } protected TransactionTestFixture prepareTransaction( - final TransactionType type, final long nonce, final Wei maxGasPrice, final int payloadSize) { + final TransactionType type, + final long nonce, + final Wei maxGasPrice, + final int payloadSize, + final int blobCount) { var tx = new TransactionTestFixture() @@ -116,6 +145,24 @@ protected TransactionTestFixture prepareTransaction( if (type.supports1559FeeMarket()) { tx.maxFeePerGas(Optional.of(maxGasPrice)) .maxPriorityFeePerGas(Optional.of(maxGasPrice.divide(10))); + if (type.supportsBlob() && blobCount > 0) { + final var versionHashes = + IntStream.range(0, blobCount) + .mapToObj(i -> new VersionedHash((byte) 1, Hash.ZERO)) + .toList(); + final var kgzCommitments = + IntStream.range(0, blobCount) + .mapToObj(i -> new KZGCommitment(Bytes48.random())) + .toList(); + final var kzgProofs = + IntStream.range(0, blobCount).mapToObj(i -> new KZGProof(Bytes48.random())).toList(); + final var blobs = + IntStream.range(0, blobCount).mapToObj(i -> new Blob(Bytes.random(32 * 4096))).toList(); + tx.versionedHashes(Optional.of(versionHashes)); + final var blobsWithCommitments = + new BlobsWithCommitments(kgzCommitments, blobs, kzgProofs, versionHashes); + tx.blobsWithCommitments(Optional.of(blobsWithCommitments)); + } } else { tx.gasPrice(maxGasPrice); } @@ -136,6 +183,11 @@ protected PendingTransaction createRemotePendingTransaction(final Transaction tr return new PendingTransaction.Remote(transaction); } + protected PendingTransaction createRemotePendingTransaction( + final Transaction transaction, final boolean hasPriority) { + return PendingTransaction.newPendingTransaction(transaction, false, hasPriority); + } + protected PendingTransaction createLocalPendingTransaction(final Transaction transaction) { return new PendingTransaction.Local(transaction); } @@ -163,16 +215,19 @@ protected void assertNextNonceForSender( protected void addLocalTransactions( final PendingTransactions sorter, final Account sender, final long... nonces) { for (final long nonce : nonces) { - sorter.addLocalTransaction(createTransaction(nonce), Optional.of(sender)); + sorter.addTransaction( + createLocalPendingTransaction(createTransaction(nonce)), Optional.of(sender)); } } - protected long getAddedCount(final String source, final String layer) { - return metricsSystem.getCounterValue(TransactionPoolMetrics.ADDED_COUNTER_NAME, source, layer); + protected long getAddedCount(final String source, final String priority, final String layer) { + return metricsSystem.getCounterValue( + TransactionPoolMetrics.ADDED_COUNTER_NAME, source, priority, layer); } - protected long getRemovedCount(final String source, final String operation, final String layer) { + protected long getRemovedCount( + final String source, final String priority, final String operation, final String layer) { return metricsSystem.getCounterValue( - TransactionPoolMetrics.REMOVED_COUNTER_NAME, source, operation, layer); + TransactionPoolMetrics.REMOVED_COUNTER_NAME, source, priority, operation, layer); } } diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsTest.java index 7d044de859a..c878184370a 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactionsTest.java @@ -71,6 +71,7 @@ public class LayeredPendingTransactionsTest extends BaseTransactionPoolTest { protected static final int LIMITED_TRANSACTIONS_BY_SENDER = 4; protected static final String REMOTE = "remote"; protected static final String LOCAL = "local"; + protected static final String NO_PRIORITY = "no"; protected final PendingTransactionAddedListener listener = mock(PendingTransactionAddedListener.class); protected final PendingTransactionDroppedListener droppedListener = @@ -148,13 +149,16 @@ public void setup() { @Test public void returnExclusivelyLocalTransactionsWhenAppropriate() { final Transaction localTransaction0 = createTransaction(0, KEYS2); - pendingTransactions.addLocalTransaction(localTransaction0, Optional.empty()); + pendingTransactions.addTransaction( + createLocalPendingTransaction(localTransaction0), Optional.empty()); assertThat(pendingTransactions.size()).isEqualTo(1); - pendingTransactions.addRemoteTransaction(transaction0, Optional.empty()); + pendingTransactions.addTransaction( + createRemotePendingTransaction(transaction0), Optional.empty()); assertThat(pendingTransactions.size()).isEqualTo(2); - pendingTransactions.addRemoteTransaction(transaction1, Optional.empty()); + pendingTransactions.addTransaction( + createRemotePendingTransaction(transaction1), Optional.empty()); assertThat(pendingTransactions.size()).isEqualTo(3); final List localTransactions = pendingTransactions.getLocalTransactions(); @@ -163,15 +167,19 @@ public void returnExclusivelyLocalTransactionsWhenAppropriate() { @Test public void addRemoteTransactions() { - pendingTransactions.addRemoteTransaction(transaction0, Optional.empty()); + pendingTransactions.addTransaction( + createRemotePendingTransaction(transaction0), Optional.empty()); assertThat(pendingTransactions.size()).isEqualTo(1); - assertThat(getAddedCount(REMOTE, layers.prioritizedTransactions.name())).isEqualTo(1); + assertThat(getAddedCount(REMOTE, NO_PRIORITY, layers.prioritizedTransactions.name())) + .isEqualTo(1); - pendingTransactions.addRemoteTransaction(transaction1, Optional.empty()); + pendingTransactions.addTransaction( + createRemotePendingTransaction(transaction1), Optional.empty()); assertThat(pendingTransactions.size()).isEqualTo(2); - assertThat(getAddedCount(REMOTE, layers.prioritizedTransactions.name())).isEqualTo(2); + assertThat(getAddedCount(REMOTE, NO_PRIORITY, layers.prioritizedTransactions.name())) + .isEqualTo(2); } @Test @@ -181,7 +189,8 @@ public void getNotPresentTransaction() { @Test public void getTransactionByHash() { - pendingTransactions.addRemoteTransaction(transaction0, Optional.empty()); + pendingTransactions.addTransaction( + createRemotePendingTransaction(transaction0), Optional.empty()); assertTransactionPending(pendingTransactions, transaction0); } @@ -200,7 +209,7 @@ public void evictTransactionsWhenSizeLimitExceeded() { Wei.of((i + 1) * 100L), (int) poolConf.getPendingTransactionsLayerMaxCapacityBytes() + 1, SIGNATURE_ALGORITHM.get().generateKeyPair()); - pendingTransactions.addRemoteTransaction(tx, Optional.of(sender)); + pendingTransactions.addTransaction(createRemotePendingTransaction(tx), Optional.of(sender)); firstTxs.add(tx); assertTransactionPending(pendingTransactions, tx); } @@ -215,11 +224,13 @@ public void evictTransactionsWhenSizeLimitExceeded() { SIGNATURE_ALGORITHM.get().generateKeyPair()); final Account lastSender = mock(Account.class); when(lastSender.getNonce()).thenReturn(0L); - pendingTransactions.addRemoteTransaction(lastBigTx, Optional.of(lastSender)); + pendingTransactions.addTransaction( + createRemotePendingTransaction(lastBigTx), Optional.of(lastSender)); assertTransactionPending(pendingTransactions, lastBigTx); assertTransactionNotPending(pendingTransactions, firstTxs.get(0)); - assertThat(getRemovedCount(REMOTE, DROPPED.label(), layers.evictedCollector.name())) + assertThat( + getRemovedCount(REMOTE, NO_PRIORITY, DROPPED.label(), layers.evictedCollector.name())) .isEqualTo(1); assertThat(layers.evictedCollector.getEvictedTransactions()) .map(PendingTransaction::getTransaction) @@ -231,10 +242,14 @@ public void evictTransactionsWhenSizeLimitExceeded() { public void addTransactionForMultipleSenders() { final var transactionSenderA = createTransaction(0, KEYS1); final var transactionSenderB = createTransaction(0, KEYS2); - assertThat(pendingTransactions.addRemoteTransaction(transactionSenderA, Optional.empty())) + assertThat( + pendingTransactions.addTransaction( + createRemotePendingTransaction(transactionSenderA), Optional.empty())) .isEqualTo(ADDED); assertTransactionPending(pendingTransactions, transactionSenderA); - assertThat(pendingTransactions.addRemoteTransaction(transactionSenderB, Optional.empty())) + assertThat( + pendingTransactions.addTransaction( + createRemotePendingTransaction(transactionSenderB), Optional.empty())) .isEqualTo(ADDED); assertTransactionPending(pendingTransactions, transactionSenderB); } @@ -243,7 +258,9 @@ public void addTransactionForMultipleSenders() { public void dropIfTransactionTooFarInFutureForTheSender() { final var futureTransaction = createTransaction(poolConf.getTxPoolMaxFutureTransactionByAccount() + 1); - assertThat(pendingTransactions.addRemoteTransaction(futureTransaction, Optional.empty())) + assertThat( + pendingTransactions.addTransaction( + createRemotePendingTransaction(futureTransaction), Optional.empty())) .isEqualTo(NONCE_TOO_FAR_IN_FUTURE_FOR_SENDER); assertTransactionNotPending(pendingTransactions, futureTransaction); } @@ -254,7 +271,9 @@ public void dropAlreadyConfirmedTransaction() { when(sender.getNonce()).thenReturn(5L); final Transaction oldTransaction = createTransaction(2); - assertThat(pendingTransactions.addRemoteTransaction(oldTransaction, Optional.of(sender))) + assertThat( + pendingTransactions.addTransaction( + createRemotePendingTransaction(oldTransaction), Optional.of(sender))) .isEqualTo(ALREADY_KNOWN); assertThat(pendingTransactions.size()).isEqualTo(0); assertTransactionNotPending(pendingTransactions, oldTransaction); @@ -264,7 +283,8 @@ public void dropAlreadyConfirmedTransaction() { public void notifyListenerWhenRemoteTransactionAdded() { pendingTransactions.subscribePendingTransactions(listener); - pendingTransactions.addRemoteTransaction(transaction0, Optional.empty()); + pendingTransactions.addTransaction( + createRemotePendingTransaction(transaction0), Optional.empty()); verify(listener).onTransactionAdded(transaction0); } @@ -273,7 +293,8 @@ public void notifyListenerWhenRemoteTransactionAdded() { public void notifyListenerWhenLocalTransactionAdded() { pendingTransactions.subscribePendingTransactions(listener); - pendingTransactions.addLocalTransaction(transaction0, Optional.empty()); + pendingTransactions.addTransaction( + createLocalPendingTransaction(transaction0), Optional.empty()); verify(listener).onTransactionAdded(transaction0); } @@ -282,13 +303,15 @@ public void notifyListenerWhenLocalTransactionAdded() { public void notNotifyListenerAfterUnsubscribe() { final long id = pendingTransactions.subscribePendingTransactions(listener); - pendingTransactions.addRemoteTransaction(transaction0, Optional.empty()); + pendingTransactions.addTransaction( + createRemotePendingTransaction(transaction0), Optional.empty()); verify(listener).onTransactionAdded(transaction0); pendingTransactions.unsubscribePendingTransactions(id); - pendingTransactions.addRemoteTransaction(transaction1, Optional.empty()); + pendingTransactions.addTransaction( + createRemotePendingTransaction(transaction1), Optional.empty()); verifyNoMoreInteractions(listener); } @@ -297,13 +320,15 @@ public void notNotifyListenerAfterUnsubscribe() { @MethodSource public void selectTransactionsUntilSelectorRequestsNoMore( final TransactionSelectionResult selectionResult) { - pendingTransactions.addRemoteTransaction(transaction0, Optional.empty()); - pendingTransactions.addRemoteTransaction(transaction1, Optional.empty()); + pendingTransactions.addTransaction( + createRemotePendingTransaction(transaction0), Optional.empty()); + pendingTransactions.addTransaction( + createRemotePendingTransaction(transaction1), Optional.empty()); final List parsedTransactions = new ArrayList<>(); pendingTransactions.selectTransactions( - pendingTX -> { - parsedTransactions.add(pendingTX.getTransaction()); + pendingTx -> { + parsedTransactions.add(pendingTx.getTransaction()); return selectionResult; }); @@ -317,8 +342,10 @@ static Stream selectTransactionsUntilSelectorRequest @Test public void selectTransactionsUntilPendingIsEmpty() { - pendingTransactions.addRemoteTransaction(transaction0, Optional.empty()); - pendingTransactions.addRemoteTransaction(transaction1, Optional.empty()); + pendingTransactions.addTransaction( + createRemotePendingTransaction(transaction0), Optional.empty()); + pendingTransactions.addTransaction( + createRemotePendingTransaction(transaction1), Optional.empty()); final List parsedTransactions = new ArrayList<>(); pendingTransactions.selectTransactions( @@ -337,8 +364,10 @@ public void notSelectReplacedTransaction() { final Transaction transaction1 = createTransaction(0, KEYS1); final Transaction transaction1b = createTransactionReplacement(transaction1, KEYS1); - pendingTransactions.addRemoteTransaction(transaction1, Optional.empty()); - pendingTransactions.addRemoteTransaction(transaction1b, Optional.empty()); + pendingTransactions.addTransaction( + createRemotePendingTransaction(transaction1), Optional.empty()); + pendingTransactions.addTransaction( + createRemotePendingTransaction(transaction1b), Optional.empty()); final List parsedTransactions = new ArrayList<>(); pendingTransactions.selectTransactions( @@ -357,9 +386,12 @@ public void selectTransactionsFromSameSenderInNonceOrder() { final Transaction transaction2 = createTransaction(2, KEYS1); // add out of order - pendingTransactions.addLocalTransaction(transaction2, Optional.empty()); - pendingTransactions.addLocalTransaction(transaction1, Optional.empty()); - pendingTransactions.addLocalTransaction(transaction0, Optional.empty()); + pendingTransactions.addTransaction( + createLocalPendingTransaction(transaction2), Optional.empty()); + pendingTransactions.addTransaction( + createLocalPendingTransaction(transaction1), Optional.empty()); + pendingTransactions.addTransaction( + createLocalPendingTransaction(transaction0), Optional.empty()); final List iterationOrder = new ArrayList<>(3); pendingTransactions.selectTransactions( @@ -380,10 +412,14 @@ public void ignoreSenderTransactionsAfterASkippedOne( final Transaction transaction2a = createTransaction(2, DEFAULT_BASE_FEE.add(Wei.of(20)), KEYS1); final Transaction transaction0b = createTransaction(0, DEFAULT_BASE_FEE.add(Wei.of(10)), KEYS2); - pendingTransactions.addLocalTransaction(transaction0a, Optional.empty()); - pendingTransactions.addLocalTransaction(transaction1a, Optional.empty()); - pendingTransactions.addLocalTransaction(transaction2a, Optional.empty()); - pendingTransactions.addLocalTransaction(transaction0b, Optional.empty()); + pendingTransactions.addTransaction( + createLocalPendingTransaction(transaction0a), Optional.empty()); + pendingTransactions.addTransaction( + createLocalPendingTransaction(transaction1a), Optional.empty()); + pendingTransactions.addTransaction( + createLocalPendingTransaction(transaction2a), Optional.empty()); + pendingTransactions.addTransaction( + createLocalPendingTransaction(transaction0b), Optional.empty()); final List iterationOrder = new ArrayList<>(3); pendingTransactions.selectTransactions( @@ -415,8 +451,10 @@ public void notForceNonceOrderWhenSendersDiffer() { final Transaction transactionSender1 = createTransaction(0, Wei.of(100), KEYS1); final Transaction transactionSender2 = createTransaction(1, Wei.of(200), KEYS2); - pendingTransactions.addLocalTransaction(transactionSender1, Optional.empty()); - pendingTransactions.addLocalTransaction(transactionSender2, Optional.of(sender2)); + pendingTransactions.addTransaction( + createLocalPendingTransaction(transactionSender1), Optional.empty()); + pendingTransactions.addTransaction( + createLocalPendingTransaction(transactionSender2), Optional.of(sender2)); final List iterationOrder = new ArrayList<>(2); pendingTransactions.selectTransactions( @@ -430,38 +468,39 @@ public void notForceNonceOrderWhenSendersDiffer() { @Test public void invalidTransactionIsDeletedFromPendingTransactions() { - pendingTransactions.addRemoteTransaction(transaction0, Optional.empty()); - pendingTransactions.addRemoteTransaction(transaction1, Optional.empty()); + final var pendingTx0 = createRemotePendingTransaction(transaction0); + final var pendingTx1 = createRemotePendingTransaction(transaction1); + pendingTransactions.addTransaction(pendingTx0, Optional.empty()); + pendingTransactions.addTransaction(pendingTx1, Optional.empty()); - final List parsedTransactions = new ArrayList<>(1); + final List parsedTransactions = new ArrayList<>(1); pendingTransactions.selectTransactions( pendingTx -> { - parsedTransactions.add(pendingTx.getTransaction()); + parsedTransactions.add(pendingTx); return TransactionSelectionResult.invalid(UPFRONT_COST_EXCEEDS_BALANCE.name()); }); // only the first is processed since not being selected will automatically skip the processing // all the other txs from the same sender - assertThat(parsedTransactions).containsExactly(transaction0); - assertThat(pendingTransactions.getPendingTransactions()) - .map(PendingTransaction::getTransaction) - .containsExactly(transaction1); + assertThat(parsedTransactions).containsExactly(pendingTx0); + assertThat(pendingTransactions.getPendingTransactions()).containsExactly(pendingTx1); } @Test public void temporarilyInvalidTransactionIsKeptInPendingTransactions() { - pendingTransactions.addRemoteTransaction(transaction0, Optional.empty()); + final var pendingTx0 = createRemotePendingTransaction(transaction0); + pendingTransactions.addTransaction(pendingTx0, Optional.empty()); - final List parsedTransactions = new ArrayList<>(1); + final List parsedTransactions = new ArrayList<>(1); pendingTransactions.selectTransactions( pendingTx -> { - parsedTransactions.add(pendingTx.getTransaction()); + parsedTransactions.add(pendingTx); return TransactionSelectionResult.invalidTransient( GAS_PRICE_BELOW_CURRENT_BASE_FEE.name()); }); - assertThat(parsedTransactions).containsExactly(transaction0); + assertThat(parsedTransactions).containsExactly(pendingTx0); assertThat(pendingTransactions.getPendingTransactions()) .map(PendingTransaction::getTransaction) .containsExactly(transaction0); @@ -477,13 +516,17 @@ public void replaceTransactionWithSameSenderAndNonce() { final Transaction transaction1 = createTransaction(0, Wei.of(200), KEYS1); final Transaction transaction1b = createTransactionReplacement(transaction1, KEYS1); final Transaction transaction2 = createTransaction(1, Wei.of(100), KEYS1); - assertThat(pendingTransactions.addRemoteTransaction(transaction1, Optional.empty())) + assertThat( + pendingTransactions.addTransaction( + createRemotePendingTransaction(transaction1), Optional.empty())) .isEqualTo(ADDED); - assertThat(pendingTransactions.addRemoteTransaction(transaction2, Optional.empty())) + assertThat( + pendingTransactions.addTransaction( + createRemotePendingTransaction(transaction2), Optional.empty())) .isEqualTo(ADDED); assertThat( pendingTransactions - .addRemoteTransaction(transaction1b, Optional.empty()) + .addTransaction(createRemotePendingTransaction(transaction1b), Optional.empty()) .isReplacement()) .isTrue(); @@ -491,8 +534,11 @@ public void replaceTransactionWithSameSenderAndNonce() { assertTransactionPending(pendingTransactions, transaction1b); assertTransactionPending(pendingTransactions, transaction2); assertThat(pendingTransactions.size()).isEqualTo(2); - assertThat(getAddedCount(REMOTE, layers.prioritizedTransactions.name())).isEqualTo(3); - assertThat(getRemovedCount(REMOTE, REPLACED.label(), layers.prioritizedTransactions.name())) + assertThat(getAddedCount(REMOTE, NO_PRIORITY, layers.prioritizedTransactions.name())) + .isEqualTo(3); + assertThat( + getRemovedCount( + REMOTE, NO_PRIORITY, REPLACED.label(), layers.prioritizedTransactions.name())) .isEqualTo(1); } @@ -503,15 +549,20 @@ public void replaceTransactionWithSameSenderAndNonce_multipleReplacements() { Transaction duplicateTx = createTransaction(0, DEFAULT_BASE_FEE.add(Wei.of(50)), KEYS1); for (int i = 0; i < replacedTxCount; i++) { replacedTransactions.add(duplicateTx); - pendingTransactions.addRemoteTransaction(duplicateTx, Optional.empty()); + pendingTransactions.addTransaction( + createRemotePendingTransaction(duplicateTx), Optional.empty()); duplicateTx = createTransactionReplacement(duplicateTx, KEYS1); } final Transaction independentTx = createTransaction(1, DEFAULT_BASE_FEE.add(Wei.ONE), KEYS1); - assertThat(pendingTransactions.addRemoteTransaction(independentTx, Optional.empty())) + assertThat( + pendingTransactions.addTransaction( + createRemotePendingTransaction(independentTx), Optional.empty())) .isEqualTo(ADDED); assertThat( - pendingTransactions.addRemoteTransaction(duplicateTx, Optional.empty()).isReplacement()) + pendingTransactions + .addTransaction(createRemotePendingTransaction(duplicateTx), Optional.empty()) + .isReplacement()) .isTrue(); // All txs except the last duplicate should be removed @@ -521,9 +572,11 @@ public void replaceTransactionWithSameSenderAndNonce_multipleReplacements() { assertTransactionPending(pendingTransactions, independentTx); assertThat(pendingTransactions.size()).isEqualTo(2); - assertThat(getAddedCount(REMOTE, layers.prioritizedTransactions.name())) + assertThat(getAddedCount(REMOTE, NO_PRIORITY, layers.prioritizedTransactions.name())) .isEqualTo(replacedTxCount + 2); - assertThat(getRemovedCount(REMOTE, REPLACED.label(), layers.prioritizedTransactions.name())) + assertThat( + getRemovedCount( + REMOTE, NO_PRIORITY, REPLACED.label(), layers.prioritizedTransactions.name())) .isEqualTo(replacedTxCount); } @@ -537,19 +590,25 @@ public void replaceTransactionWithSameSenderAndNonce_multipleReplacements() { for (int i = 0; i < replacedTxCount; i++) { replacedTransactions.add(replacingTx); if (i % 2 == 0) { - pendingTransactions.addRemoteTransaction(replacingTx, Optional.empty()); + pendingTransactions.addTransaction( + createRemotePendingTransaction(replacingTx), Optional.empty()); remoteDuplicateCount++; } else { - pendingTransactions.addLocalTransaction(replacingTx, Optional.empty()); + pendingTransactions.addTransaction( + createLocalPendingTransaction(replacingTx), Optional.empty()); } replacingTx = createTransactionReplacement(replacingTx, KEYS1); } final Transaction independentTx = createTransaction(1); assertThat( - pendingTransactions.addLocalTransaction(replacingTx, Optional.empty()).isReplacement()) + pendingTransactions + .addTransaction(createLocalPendingTransaction(replacingTx), Optional.empty()) + .isReplacement()) .isTrue(); - assertThat(pendingTransactions.addRemoteTransaction(independentTx, Optional.empty())) + assertThat( + pendingTransactions.addTransaction( + createRemotePendingTransaction(independentTx), Optional.empty())) .isEqualTo(ADDED); // All txs except the last duplicate should be removed @@ -561,13 +620,17 @@ public void replaceTransactionWithSameSenderAndNonce_multipleReplacements() { final int localDuplicateCount = replacedTxCount - remoteDuplicateCount; assertThat(pendingTransactions.size()).isEqualTo(2); - assertThat(getAddedCount(REMOTE, layers.prioritizedTransactions.name())) + assertThat(getAddedCount(REMOTE, NO_PRIORITY, layers.prioritizedTransactions.name())) .isEqualTo(remoteDuplicateCount + 1); - assertThat(getAddedCount(LOCAL, layers.prioritizedTransactions.name())) + assertThat(getAddedCount(LOCAL, NO_PRIORITY, layers.prioritizedTransactions.name())) .isEqualTo(localDuplicateCount + 1); - assertThat(getRemovedCount(REMOTE, REPLACED.label(), layers.prioritizedTransactions.name())) + assertThat( + getRemovedCount( + REMOTE, NO_PRIORITY, REPLACED.label(), layers.prioritizedTransactions.name())) .isEqualTo(remoteDuplicateCount); - assertThat(getRemovedCount(LOCAL, REPLACED.label(), layers.prioritizedTransactions.name())) + assertThat( + getRemovedCount( + LOCAL, NO_PRIORITY, REPLACED.label(), layers.prioritizedTransactions.name())) .isEqualTo(localDuplicateCount); } @@ -575,11 +638,15 @@ public void replaceTransactionWithSameSenderAndNonce_multipleReplacements() { public void notReplaceTransactionWithSameSenderAndNonceWhenGasPriceIsLower() { final Transaction transaction1 = createTransaction(0, Wei.of(2)); final Transaction transaction1b = createTransaction(0, Wei.ONE); - assertThat(pendingTransactions.addRemoteTransaction(transaction1, Optional.empty())) + assertThat( + pendingTransactions.addTransaction( + createRemotePendingTransaction(transaction1), Optional.empty())) .isEqualTo(ADDED); pendingTransactions.subscribePendingTransactions(listener); - assertThat(pendingTransactions.addRemoteTransaction(transaction1b, Optional.empty())) + assertThat( + pendingTransactions.addTransaction( + createRemotePendingTransaction(transaction1b), Optional.empty())) .isEqualTo(REJECTED_UNDERPRICED_REPLACEMENT); assertTransactionNotPending(pendingTransactions, transaction1b); @@ -595,13 +662,16 @@ public void trackNextNonceForEachSender() { when(firstSender.getNonce()).thenReturn(0L); when(firstSender.getAddress()).thenReturn(SENDER1); assertNoNextNonceForSender(pendingTransactions, SENDER1); - pendingTransactions.addRemoteTransaction(createTransaction(0, KEYS1), Optional.of(firstSender)); + pendingTransactions.addTransaction( + createRemotePendingTransaction(createTransaction(0, KEYS1)), Optional.of(firstSender)); assertNextNonceForSender(pendingTransactions, SENDER1, 1); - pendingTransactions.addRemoteTransaction(createTransaction(1, KEYS1), Optional.of(firstSender)); + pendingTransactions.addTransaction( + createRemotePendingTransaction(createTransaction(1, KEYS1)), Optional.of(firstSender)); assertNextNonceForSender(pendingTransactions, SENDER1, 2); - pendingTransactions.addRemoteTransaction(createTransaction(2, KEYS1), Optional.of(firstSender)); + pendingTransactions.addTransaction( + createRemotePendingTransaction(createTransaction(2, KEYS1)), Optional.of(firstSender)); assertNextNonceForSender(pendingTransactions, SENDER1, 3); // second sender not in orders: 3->0->2->1 @@ -609,21 +679,21 @@ public void trackNextNonceForEachSender() { when(secondSender.getNonce()).thenReturn(0L); when(secondSender.getAddress()).thenReturn(SENDER2); assertNoNextNonceForSender(pendingTransactions, SENDER2); - pendingTransactions.addRemoteTransaction( - createTransaction(3, KEYS2), Optional.of(secondSender)); + pendingTransactions.addTransaction( + createRemotePendingTransaction(createTransaction(3, KEYS2)), Optional.of(secondSender)); assertNoNextNonceForSender(pendingTransactions, SENDER2); - pendingTransactions.addRemoteTransaction( - createTransaction(0, KEYS2), Optional.of(secondSender)); + pendingTransactions.addTransaction( + createRemotePendingTransaction(createTransaction(0, KEYS2)), Optional.of(secondSender)); assertNextNonceForSender(pendingTransactions, SENDER2, 1); - pendingTransactions.addRemoteTransaction( - createTransaction(2, KEYS2), Optional.of(secondSender)); + pendingTransactions.addTransaction( + createRemotePendingTransaction(createTransaction(2, KEYS2)), Optional.of(secondSender)); assertNextNonceForSender(pendingTransactions, SENDER2, 1); // tx 1 will fill the nonce gap and all txs will be ready - pendingTransactions.addRemoteTransaction( - createTransaction(1, KEYS2), Optional.of(secondSender)); + pendingTransactions.addTransaction( + createRemotePendingTransaction(createTransaction(1, KEYS2)), Optional.of(secondSender)); assertNextNonceForSender(pendingTransactions, SENDER2, 4); } @@ -701,38 +771,49 @@ public void correctNonceIsReturnedWithRepeatedTransactions() { @Test public void shouldNotIncrementAddedCounterWhenRemoteTransactionAlreadyPresent() { - pendingTransactions.addLocalTransaction(transaction0, Optional.empty()); + pendingTransactions.addTransaction( + createLocalPendingTransaction(transaction0), Optional.empty()); assertThat(pendingTransactions.size()).isEqualTo(1); - assertThat(getAddedCount(LOCAL, layers.prioritizedTransactions.name())).isEqualTo(1); - assertThat(getAddedCount(REMOTE, layers.prioritizedTransactions.name())).isZero(); + assertThat(getAddedCount(LOCAL, NO_PRIORITY, layers.prioritizedTransactions.name())) + .isEqualTo(1); + assertThat(getAddedCount(REMOTE, NO_PRIORITY, layers.prioritizedTransactions.name())).isZero(); - assertThat(pendingTransactions.addRemoteTransaction(transaction0, Optional.empty())) + assertThat( + pendingTransactions.addTransaction( + createRemotePendingTransaction(transaction0), Optional.empty())) .isEqualTo(ALREADY_KNOWN); assertThat(pendingTransactions.size()).isEqualTo(1); - assertThat(getAddedCount(LOCAL, layers.prioritizedTransactions.name())).isEqualTo(1); - assertThat(getAddedCount(REMOTE, layers.prioritizedTransactions.name())).isZero(); + assertThat(getAddedCount(LOCAL, NO_PRIORITY, layers.prioritizedTransactions.name())) + .isEqualTo(1); + assertThat(getAddedCount(REMOTE, NO_PRIORITY, layers.prioritizedTransactions.name())).isZero(); } @Test public void shouldNotIncrementAddedCounterWhenLocalTransactionAlreadyPresent() { - pendingTransactions.addRemoteTransaction(transaction0, Optional.empty()); + pendingTransactions.addTransaction( + createRemotePendingTransaction(transaction0), Optional.empty()); assertThat(pendingTransactions.size()).isEqualTo(1); - assertThat(getAddedCount(LOCAL, layers.prioritizedTransactions.name())).isZero(); - assertThat(getAddedCount(REMOTE, layers.prioritizedTransactions.name())).isEqualTo(1); + assertThat(getAddedCount(LOCAL, NO_PRIORITY, layers.prioritizedTransactions.name())).isZero(); + assertThat(getAddedCount(REMOTE, NO_PRIORITY, layers.prioritizedTransactions.name())) + .isEqualTo(1); - assertThat(pendingTransactions.addLocalTransaction(transaction0, Optional.empty())) + assertThat( + pendingTransactions.addTransaction( + createLocalPendingTransaction(transaction0), Optional.empty())) .isEqualTo(ALREADY_KNOWN); assertThat(pendingTransactions.size()).isEqualTo(1); - assertThat(getAddedCount(LOCAL, layers.prioritizedTransactions.name())).isZero(); - assertThat(getAddedCount(REMOTE, layers.prioritizedTransactions.name())).isEqualTo(1); + assertThat(getAddedCount(LOCAL, NO_PRIORITY, layers.prioritizedTransactions.name())).isZero(); + assertThat(getAddedCount(REMOTE, NO_PRIORITY, layers.prioritizedTransactions.name())) + .isEqualTo(1); } @Test public void doNothingIfTransactionAlreadyPending() { final var addedTxs = populateCache(1, 0); assertThat( - pendingTransactions.addRemoteTransaction( - addedTxs[0].transaction, Optional.of(addedTxs[0].account))) + pendingTransactions.addTransaction( + createRemotePendingTransaction(addedTxs[0].transaction), + Optional.of(addedTxs[0].account))) .isEqualTo(ALREADY_KNOWN); assertTransactionPending(pendingTransactions, addedTxs[0].transaction); } @@ -766,7 +847,9 @@ private TransactionAndAccount[] populateCache( final var transaction = createTransaction(nonce, keys); final Account sender = mock(Account.class); when(sender.getNonce()).thenReturn(startingNonce); - final var res = pendingTransactions.addRemoteTransaction(transaction, Optional.of(sender)); + final var res = + pendingTransactions.addTransaction( + createRemotePendingTransaction(transaction), Optional.of(sender)); assertTransactionPending(pendingTransactions, transaction); assertThat(res).isEqualTo(ADDED); addedTransactions.add(new TransactionAndAccount(transaction, sender)); diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayersTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayersTest.java index 0137fa17c44..666a5d66005 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayersTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayersTest.java @@ -19,6 +19,8 @@ import static org.hyperledger.besu.ethereum.eth.transactions.layered.LayersTest.Sender.S2; import static org.hyperledger.besu.ethereum.eth.transactions.layered.LayersTest.Sender.S3; import static org.hyperledger.besu.ethereum.eth.transactions.layered.LayersTest.Sender.S4; +import static org.hyperledger.besu.ethereum.eth.transactions.layered.LayersTest.Sender.SP1; +import static org.hyperledger.besu.ethereum.eth.transactions.layered.LayersTest.Sender.SP2; import static org.hyperledger.besu.ethereum.eth.transactions.layered.TransactionsLayer.RemovalReason.INVALIDATED; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -146,6 +148,12 @@ void asyncWorldStateUpdates(final Scenario scenario) { assertScenario(scenario); } + @ParameterizedTest + @MethodSource("providerPrioritySenders") + void prioritySenders(final Scenario scenario) { + assertScenario(scenario); + } + private void assertScenario(final Scenario scenario) { scenario.execute( pendingTransactions, @@ -1023,6 +1031,141 @@ static Stream providerAsyncWorldStateUpdates() { .expectedSparseForSender(S1, 8, 9, 7))); } + static Stream providerPrioritySenders() { + return Stream.of( + Arguments.of( + new Scenario("priority first same fee") + .addForSenders(S1, 0, SP1, 0) + .expectedPrioritizedForSenders(SP1, 0, S1, 0)), + Arguments.of( + new Scenario("priority first lower fee") + .addForSenders(S2, 0, SP1, 0) + .expectedPrioritizedForSenders(SP1, 0, S2, 0)), + Arguments.of( + new Scenario("priority first higher fee") + .addForSenders(S1, 0, SP2, 0) + .expectedPrioritizedForSenders(SP2, 0, S1, 0)), + Arguments.of( + new Scenario("same priority order by fee") + .addForSenders(SP1, 0, SP2, 0) + .expectedPrioritizedForSenders(SP2, 0, SP1, 0)), + Arguments.of( + new Scenario("same priority order by fee") + .addForSenders(SP2, 0, SP1, 0) + .expectedPrioritizedForSenders(SP2, 0, SP1, 0)), + Arguments.of( + new Scenario("priority first overflow to ready") + .addForSender(S2, 0, 1, 2) + .expectedPrioritizedForSender(S2, 0, 1, 2) + .addForSender(SP1, 0) + .expectedPrioritizedForSenders(SP1, 0, S2, 0, S2, 1) + .expectedReadyForSender(S2, 2)), + Arguments.of( + new Scenario("priority first overflow to ready 2") + .addForSender(S2, 0, 1, 2) + .expectedPrioritizedForSender(S2, 0, 1, 2) + .addForSender(SP1, 0, 1, 2) + .expectedPrioritizedForSender(SP1, 0, 1, 2) + .expectedReadyForSender(S2, 0, 1, 2)), + Arguments.of( + new Scenario("multiple priority senders first overflow to ready") + .addForSender(S2, 0, 1, 2) + .expectedPrioritizedForSender(S2, 0, 1, 2) + .addForSenders(SP2, 0, SP1, 0) + .expectedPrioritizedForSenders(SP2, 0, SP1, 0, S2, 0) + .expectedReadyForSender(S2, 1, 2)), + Arguments.of( + new Scenario("priority with initial gap") + .addForSender(S2, 0) + .expectedPrioritizedForSender(S2, 0) + .addForSender(SP1, 1) // initial gap + .expectedPrioritizedForSender(S2, 0) + .expectedSparseForSender(SP1, 1) + .addForSender(SP1, 0) // fill gap + .expectedPrioritizedForSenders(SP1, 0, SP1, 1, S2, 0) + .expectedSparseForSenders()), + Arguments.of( + new Scenario("priority with initial gap overflow to ready") + .addForSender(S2, 0, 1) + .expectedPrioritizedForSender(S2, 0, 1) + .addForSender(SP1, 1) // initial gap + .expectedSparseForSender(SP1, 1) + .addForSender(SP1, 0) // fill gap + .expectedPrioritizedForSenders(SP1, 0, SP1, 1, S2, 0) + .expectedReadyForSender(S2, 1) + .expectedSparseForSenders()), + Arguments.of( + new Scenario("priority with initial gap overflow to ready when prioritized is full") + .addForSender(S2, 0, 1, 2) + .expectedPrioritizedForSender(S2, 0, 1, 2) + .addForSender(SP1, 1) // initial gap + .expectedSparseForSender(SP1, 1) + .addForSender(SP1, 0) // fill gap, but there is not enough space to promote + .expectedPrioritizedForSenders(SP1, 0, S2, 0, S2, 1) + .expectedReadyForSender(S2, 2) + .expectedSparseForSender(SP1, 1) + .confirmedForSenders( + SP1, 0) // asap there is new space the priority tx is promoted first + .expectedPrioritizedForSenders(SP1, 1, S2, 0, S2, 1) + .expectedReadyForSender(S2, 2) + .expectedSparseForSenders()), + Arguments.of( + new Scenario("overflow to ready promote priority first") + .addForSender(SP2, 0, 1, 2) + .expectedPrioritizedForSender(SP2, 0, 1, 2) + .addForSender(S2, 0) + .expectedReadyForSender(S2, 0) + .addForSender(SP1, 0) + .expectedReadyForSenders(SP1, 0, S2, 0) + .confirmedForSenders( + SP2, 0) // asap there is new space the priority tx is promoted first + .expectedPrioritizedForSenders(SP2, 1, SP2, 2, SP1, 0) + .expectedReadyForSender(S2, 0)), + Arguments.of( + new Scenario("priority first overflow to sparse") + .addForSender(SP2, 0, 1, 2) + .addForSender(S3, 0) + .expectedPrioritizedForSender(SP2, 0, 1, 2) + .expectedReadyForSender(S3, 0) + .addForSender(SP1, 0, 1, 2) + .expectedPrioritizedForSender(SP2, 0, 1, 2) + .expectedReadyForSender(SP1, 0, 1, 2) + .expectedSparseForSender(S3, 0)), + Arguments.of( + new Scenario("priority first overflow to sparse 2") + .addForSender(S2, 0, 1, 2) + .addForSender(S3, 0, 1, 2) + .expectedPrioritizedForSender(S3, 0, 1, 2) + .expectedReadyForSender(S2, 0, 1, 2) + .addForSender(SP1, 0) + .expectedPrioritizedForSenders(SP1, 0, S3, 0, S3, 1) + .expectedReadyForSenders(S3, 2, S2, 0, S2, 1) + .expectedSparseForSender(S2, 2)), + Arguments.of( + new Scenario("overflow to sparse promote priority first") + .addForSender(SP2, 0, 1, 2, 3, 4, 5) + .expectedPrioritizedForSender(SP2, 0, 1, 2) + .expectedReadyForSender(SP2, 3, 4, 5) + .addForSender(S3, 0) + .expectedSparseForSender(S3, 0) + .addForSender(SP1, 0) + .expectedSparseForSenders(S3, 0, SP1, 0) + .confirmedForSenders(SP2, 0) + .expectedPrioritizedForSender(SP2, 1, 2, 3) + .expectedReadyForSenders(SP2, 4, SP2, 5, SP1, 0) + .expectedSparseForSender(S3, 0)), + Arguments.of( + new Scenario("discard priority as last") + .addForSender(SP2, 0, 1, 2, 3, 4, 5) + .expectedPrioritizedForSender(SP2, 0, 1, 2) + .expectedReadyForSender(SP2, 3, 4, 5) + .addForSender(S3, 0) + .expectedSparseForSender(S3, 0) + .addForSender(SP1, 0, 1, 2) + .expectedSparseForSender(SP1, 0, 1, 2) + .expectedDroppedForSender(S3, 0))); + } + private static BlockHeader mockBlockHeader() { final BlockHeader blockHeader = mock(BlockHeader.class); when(blockHeader.getBaseFee()).thenReturn(Optional.of(Wei.ONE)); @@ -1145,7 +1288,7 @@ private PendingTransaction get(final Sender sender, final long nonce) { private PendingTransaction createEIP1559PendingTransactions( final Sender sender, final long nonce) { return createRemotePendingTransaction( - createEIP1559Transaction(nonce, sender.key, sender.gasFeeMultiplier)); + createEIP1559Transaction(nonce, sender.key, sender.gasFeeMultiplier), sender.hasPriority); } public Scenario expectedPrioritizedForSender(final Sender sender, final long... nonce) { @@ -1338,19 +1481,24 @@ public String toString() { } enum Sender { - S1(1), - S2(2), - S3(3), - S4(4); + S1(false, 1), + S2(false, 2), + S3(false, 3), + S4(false, 4), + SP1(true, 1), + SP2(true, 2); final KeyPair key; final Address address; final int gasFeeMultiplier; - Sender(final int gasFeeMultiplier) { + final boolean hasPriority; + + Sender(final boolean hasPriority, final int gasFeeMultiplier) { this.key = SIGNATURE_ALGORITHM.get().generateKeyPair(); this.address = Util.publicKeyToAddress(key.getPublicKey()); this.gasFeeMultiplier = gasFeeMultiplier; + this.hasPriority = hasPriority; } } } diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/ReplayTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/ReplayTest.java index d68c586c8d9..589818398b5 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/ReplayTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/ReplayTest.java @@ -20,6 +20,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import org.hyperledger.besu.crypto.SignatureAlgorithmFactory; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.core.BlockHeader; @@ -44,10 +45,12 @@ import java.math.BigInteger; import java.nio.charset.StandardCharsets; import java.time.Instant; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; +import java.util.function.BiFunction; import java.util.zip.GZIPInputStream; import com.google.common.base.Splitter; @@ -60,9 +63,6 @@ public class ReplayTest { private static final Logger LOG = LoggerFactory.getLogger(ReplayTest.class); - private final TransactionPoolConfiguration poolConfig = - ImmutableTransactionPoolConfiguration.builder().build(); - private final StubMetricsSystem metricsSystem = new StubMetricsSystem(); private final TransactionPoolMetrics txPoolMetrics = new TransactionPoolMetrics(metricsSystem); @@ -103,6 +103,7 @@ public class ReplayTest { @Test @Disabled("Provide a replay file to run the test on demand") public void replay() throws IOException { + SignatureAlgorithmFactory.setDefaultInstance(); try (BufferedReader br = new BufferedReader( new InputStreamReader( @@ -111,6 +112,11 @@ public void replay() throws IOException { currBlockHeader = mockBlockHeader(br.readLine()); final BaseFeeMarket baseFeeMarket = FeeMarket.london(0L); + final TransactionPoolConfiguration poolConfig = + ImmutableTransactionPoolConfiguration.builder() + .prioritySenders(readPrioritySenders(br.readLine())) + .build(); + final AbstractPrioritizedTransactions prioritizedTransactions = createLayers(poolConfig, txPoolMetrics, baseFeeMarket); final LayeredPendingTransactions pendingTransactions = @@ -153,6 +159,10 @@ public void replay() throws IOException { } } + private List
readPrioritySenders(final String line) { + return Arrays.stream(line.split(",")).map(Address::fromHexString).toList(); + } + private BlockHeader mockBlockHeader(final String line) { final List commaSplit = Splitter.on(',').splitToList(line); final long number = Long.parseLong(commaSplit.get(0)); @@ -174,20 +184,20 @@ private BaseFeePrioritizedTransactions createLayers( final TransactionPoolMetrics txPoolMetrics, final BaseFeeMarket baseFeeMarket) { final EvictCollectorLayer evictCollector = new EvictCollectorLayer(txPoolMetrics); + final BiFunction txReplacementTester = + (tx1, tx2) -> transactionReplacementTester(poolConfig, tx1, tx2); final SparseTransactions sparseTransactions = - new SparseTransactions( - poolConfig, evictCollector, txPoolMetrics, this::transactionReplacementTester); + new SparseTransactions(poolConfig, evictCollector, txPoolMetrics, txReplacementTester); final ReadyTransactions readyTransactions = - new ReadyTransactions( - poolConfig, sparseTransactions, txPoolMetrics, this::transactionReplacementTester); + new ReadyTransactions(poolConfig, sparseTransactions, txPoolMetrics, txReplacementTester); return new BaseFeePrioritizedTransactions( poolConfig, () -> currBlockHeader, readyTransactions, txPoolMetrics, - this::transactionReplacementTester, + txReplacementTester, baseFeeMarket); } @@ -261,7 +271,10 @@ private void processTransaction( tx.getNonce(), prioritizedTransactions.logSender(senderToLog)); } - assertThat(pendingTransactions.addRemoteTransaction(tx, Optional.of(mockAccount))) + assertThat( + pendingTransactions.addTransaction( + PendingTransaction.newPendingTransaction(tx, false, false), + Optional.of(mockAccount))) .isNotEqualTo(TransactionAddedResult.INTERNAL_ERROR); if (tx.getSender().equals(senderToLog)) { LOG.warn("After {}", prioritizedTransactions.logSender(senderToLog)); @@ -281,11 +294,6 @@ private void processInvalid( } } - private boolean transactionReplacementTester( - final PendingTransaction pt1, final PendingTransaction pt2) { - return transactionReplacementTester(poolConfig, pt1, pt2); - } - private boolean transactionReplacementTester( final TransactionPoolConfiguration poolConfig, final PendingTransaction pt1, diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AbstractPendingTransactionsTestBase.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AbstractPendingTransactionsTestBase.java index f1d9ce1016d..4511dbd585e 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AbstractPendingTransactionsTestBase.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/sorter/AbstractPendingTransactionsTestBase.java @@ -36,6 +36,7 @@ import org.hyperledger.besu.ethereum.core.TransactionTestFixture; import org.hyperledger.besu.ethereum.core.Util; import org.hyperledger.besu.ethereum.eth.transactions.ImmutableTransactionPoolConfiguration; +import org.hyperledger.besu.ethereum.eth.transactions.PendingTransaction; import org.hyperledger.besu.ethereum.eth.transactions.PendingTransactionAddedListener; import org.hyperledger.besu.ethereum.eth.transactions.PendingTransactionDroppedListener; import org.hyperledger.besu.ethereum.eth.transactions.PendingTransactions; @@ -109,13 +110,13 @@ abstract AbstractPendingTransactionsSorter getPendingTransactions( @Test public void shouldReturnExclusivelyLocalTransactionsWhenAppropriate() { final Transaction localTransaction0 = createTransaction(0); - transactions.addLocalTransaction(localTransaction0, Optional.empty()); + transactions.addTransaction(createLocalPendingTransaction(localTransaction0), Optional.empty()); assertThat(transactions.size()).isEqualTo(1); - transactions.addRemoteTransaction(transaction1, Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction1), Optional.empty()); assertThat(transactions.size()).isEqualTo(2); - transactions.addRemoteTransaction(transaction2, Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction2), Optional.empty()); assertThat(transactions.size()).isEqualTo(3); final List localTransactions = transactions.getLocalTransactions(); @@ -124,11 +125,11 @@ public void shouldReturnExclusivelyLocalTransactionsWhenAppropriate() { @Test public void shouldAddATransaction() { - transactions.addRemoteTransaction(transaction1, Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction1), Optional.empty()); assertThat(transactions.size()).isEqualTo(1); assertThat(metricsSystem.getCounterValue(ADDED_COUNTER, REMOTE)).isEqualTo(1); - transactions.addRemoteTransaction(transaction2, Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction2), Optional.empty()); assertThat(transactions.size()).isEqualTo(2); assertThat(metricsSystem.getCounterValue(ADDED_COUNTER, REMOTE)).isEqualTo(2); } @@ -140,7 +141,7 @@ public void shouldReturnEmptyOptionalWhenNoTransactionWithGivenHashExists() { @Test public void shouldGetTransactionByHash() { - transactions.addRemoteTransaction(transaction1, Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction1), Optional.empty()); assertTransactionPending(transaction1); } @@ -150,13 +151,15 @@ public void shouldDropOldestTransactionWhenLimitExceeded() { transactionWithNonceSenderAndGasPrice(0, SIGNATURE_ALGORITHM.get().generateKeyPair(), 10L); final Account oldestSender = mock(Account.class); when(oldestSender.getNonce()).thenReturn(0L); - senderLimitedTransactions.addRemoteTransaction(oldestTransaction, Optional.of(oldestSender)); + senderLimitedTransactions.addTransaction( + createRemotePendingTransaction(oldestTransaction), Optional.of(oldestSender)); for (int i = 1; i < MAX_TRANSACTIONS; i++) { final Account sender = mock(Account.class); when(sender.getNonce()).thenReturn((long) i); - senderLimitedTransactions.addRemoteTransaction( - transactionWithNonceSenderAndGasPrice( - i, SIGNATURE_ALGORITHM.get().generateKeyPair(), 10L), + senderLimitedTransactions.addTransaction( + createRemotePendingTransaction( + transactionWithNonceSenderAndGasPrice( + i, SIGNATURE_ALGORITHM.get().generateKeyPair(), 10L)), Optional.of(sender)); } assertThat(senderLimitedTransactions.size()).isEqualTo(MAX_TRANSACTIONS); @@ -164,8 +167,9 @@ public void shouldDropOldestTransactionWhenLimitExceeded() { final Account lastSender = mock(Account.class); when(lastSender.getNonce()).thenReturn(6L); - senderLimitedTransactions.addRemoteTransaction( - createTransaction(MAX_TRANSACTIONS + 1), Optional.of(lastSender)); + senderLimitedTransactions.addTransaction( + createRemotePendingTransaction(createTransaction(MAX_TRANSACTIONS + 1)), + Optional.of(lastSender)); assertThat(senderLimitedTransactions.size()).isEqualTo(MAX_TRANSACTIONS); assertTransactionNotPending(oldestTransaction); assertThat(metricsSystem.getCounterValue(REMOVED_COUNTER, REMOTE, DROPPED)).isEqualTo(1); @@ -176,7 +180,8 @@ public void shouldDropTransactionWithATooFarNonce() { Transaction furthestFutureTransaction = null; for (int i = 0; i < MAX_TRANSACTIONS; i++) { furthestFutureTransaction = transactionWithNonceSenderAndGasPrice(i, KEYS1, 10L); - senderLimitedTransactions.addRemoteTransaction(furthestFutureTransaction, Optional.empty()); + senderLimitedTransactions.addTransaction( + createRemotePendingTransaction(furthestFutureTransaction), Optional.empty()); } assertThat(senderLimitedTransactions.size()) .isEqualTo(senderLimitedConfig.getTxPoolMaxFutureTransactionByAccount()); @@ -187,26 +192,32 @@ public void shouldDropTransactionWithATooFarNonce() { @Test public void shouldHandleMaximumTransactionLimitCorrectlyWhenSameTransactionAddedMultipleTimes() { - transactions.addRemoteTransaction(createTransaction(0), Optional.empty()); - transactions.addRemoteTransaction(createTransaction(0), Optional.empty()); + transactions.addTransaction( + createRemotePendingTransaction(createTransaction(0)), Optional.empty()); + transactions.addTransaction( + createRemotePendingTransaction(createTransaction(0)), Optional.empty()); for (int i = 1; i < MAX_TRANSACTIONS; i++) { - transactions.addRemoteTransaction(createTransaction(i), Optional.empty()); + transactions.addTransaction( + createRemotePendingTransaction(createTransaction(i)), Optional.empty()); } assertThat(transactions.size()).isEqualTo(MAX_TRANSACTIONS); - transactions.addRemoteTransaction(createTransaction(MAX_TRANSACTIONS + 1), Optional.empty()); - transactions.addRemoteTransaction(createTransaction(MAX_TRANSACTIONS + 2), Optional.empty()); + transactions.addTransaction( + createRemotePendingTransaction(createTransaction(MAX_TRANSACTIONS + 1)), Optional.empty()); + transactions.addTransaction( + createRemotePendingTransaction(createTransaction(MAX_TRANSACTIONS + 2)), Optional.empty()); assertThat(transactions.size()).isEqualTo(MAX_TRANSACTIONS); } @Test public void shouldPrioritizeLocalTransaction() { final Transaction localTransaction = createTransaction(0); - transactions.addLocalTransaction(localTransaction, Optional.empty()); + transactions.addTransaction(createLocalPendingTransaction(localTransaction), Optional.empty()); for (int i = 1; i <= MAX_TRANSACTIONS; i++) { - transactions.addRemoteTransaction(createTransaction(i), Optional.empty()); + transactions.addTransaction( + createRemotePendingTransaction(createTransaction(i)), Optional.empty()); } assertThat(transactions.size()).isEqualTo(MAX_TRANSACTIONS); assertTransactionPending(localTransaction); @@ -218,7 +229,8 @@ public void shouldStartDroppingLocalTransactionsWhenPoolIsFullOfLocalTransaction for (int i = 0; i <= MAX_TRANSACTIONS; i++) { lastLocalTransactionForSender = createTransaction(i); - transactions.addLocalTransaction(lastLocalTransactionForSender, Optional.empty()); + transactions.addTransaction( + createLocalPendingTransaction(lastLocalTransactionForSender), Optional.empty()); } assertThat(transactions.size()).isEqualTo(MAX_TRANSACTIONS); assertTransactionNotPending(lastLocalTransactionForSender); @@ -228,7 +240,7 @@ public void shouldStartDroppingLocalTransactionsWhenPoolIsFullOfLocalTransaction public void shouldNotifyListenerWhenRemoteTransactionAdded() { transactions.subscribePendingTransactions(listener); - transactions.addRemoteTransaction(transaction1, Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction1), Optional.empty()); verify(listener).onTransactionAdded(transaction1); } @@ -237,13 +249,13 @@ public void shouldNotifyListenerWhenRemoteTransactionAdded() { public void shouldNotNotifyListenerAfterUnsubscribe() { final long id = transactions.subscribePendingTransactions(listener); - transactions.addRemoteTransaction(transaction1, Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction1), Optional.empty()); verify(listener).onTransactionAdded(transaction1); transactions.unsubscribePendingTransactions(id); - transactions.addRemoteTransaction(transaction2, Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction2), Optional.empty()); verifyNoMoreInteractions(listener); } @@ -252,14 +264,14 @@ public void shouldNotNotifyListenerAfterUnsubscribe() { public void shouldNotifyListenerWhenLocalTransactionAdded() { transactions.subscribePendingTransactions(listener); - transactions.addLocalTransaction(transaction1, Optional.empty()); + transactions.addTransaction(createLocalPendingTransaction(transaction1), Optional.empty()); verify(listener).onTransactionAdded(transaction1); } @Test public void shouldNotifyDroppedListenerWhenRemoteTransactionDropped() { - transactions.addRemoteTransaction(transaction1, Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction1), Optional.empty()); transactions.subscribeDroppedTransactions(droppedListener); @@ -270,8 +282,8 @@ public void shouldNotifyDroppedListenerWhenRemoteTransactionDropped() { @Test public void shouldNotNotifyDroppedListenerAfterUnsubscribe() { - transactions.addRemoteTransaction(transaction1, Optional.empty()); - transactions.addRemoteTransaction(transaction2, Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction1), Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction2), Optional.empty()); final long id = transactions.subscribeDroppedTransactions(droppedListener); @@ -288,7 +300,7 @@ public void shouldNotNotifyDroppedListenerAfterUnsubscribe() { @Test public void shouldNotifyDroppedListenerWhenLocalTransactionDropped() { - transactions.addLocalTransaction(transaction1, Optional.empty()); + transactions.addTransaction(createLocalPendingTransaction(transaction1), Optional.empty()); transactions.subscribeDroppedTransactions(droppedListener); @@ -299,7 +311,7 @@ public void shouldNotifyDroppedListenerWhenLocalTransactionDropped() { @Test public void shouldNotNotifyDroppedListenerWhenTransactionAddedToBlock() { - transactions.addRemoteTransaction(transaction1, Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction1), Optional.empty()); transactions.subscribeDroppedTransactions(droppedListener); @@ -310,8 +322,8 @@ public void shouldNotNotifyDroppedListenerWhenTransactionAddedToBlock() { @Test public void selectTransactionsUntilSelectorRequestsNoMore() { - transactions.addRemoteTransaction(transaction1, Optional.empty()); - transactions.addRemoteTransaction(transaction2, Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction1), Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction2), Optional.empty()); final List parsedTransactions = Lists.newArrayList(); transactions.selectTransactions( @@ -326,8 +338,8 @@ public void selectTransactionsUntilSelectorRequestsNoMore() { @Test public void selectTransactionsUntilPendingIsEmpty() { - transactions.addRemoteTransaction(transaction1, Optional.empty()); - transactions.addRemoteTransaction(transaction2, Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction1), Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction2), Optional.empty()); final List parsedTransactions = Lists.newArrayList(); transactions.selectTransactions( @@ -346,8 +358,8 @@ public void shouldNotSelectReplacedTransaction() { final Transaction transaction1 = transactionWithNonceSenderAndGasPrice(1, KEYS1, 1); final Transaction transaction2 = transactionWithNonceSenderAndGasPrice(1, KEYS1, 2); - transactions.addRemoteTransaction(transaction1, Optional.empty()); - transactions.addRemoteTransaction(transaction2, Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction1), Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction2), Optional.empty()); final List parsedTransactions = Lists.newArrayList(); transactions.selectTransactions( @@ -361,8 +373,8 @@ public void shouldNotSelectReplacedTransaction() { @Test public void invalidTransactionIsDeletedFromPendingTransactions() { - transactions.addRemoteTransaction(transaction1, Optional.empty()); - transactions.addRemoteTransaction(transaction2, Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction1), Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction2), Optional.empty()); final List parsedTransactions = Lists.newArrayList(); transactions.selectTransactions( @@ -387,7 +399,7 @@ public void shouldReturnEmptyOptionalAsMaximumNonceWhenNoTransactionsPresent() { @Test public void shouldReturnEmptyOptionalAsMaximumNonceWhenLastTransactionForSenderRemoved() { final Transaction transaction = transactionWithNonceAndSender(1, KEYS1); - transactions.addRemoteTransaction(transaction, Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction), Optional.empty()); transactions.removeTransaction(transaction); assertThat(transactions.getNextNonceForSender(SENDER1)).isEmpty(); } @@ -397,9 +409,18 @@ public void shouldReplaceTransactionWithSameSenderAndNonce() { final Transaction transaction1 = transactionWithNonceSenderAndGasPrice(1, KEYS1, 1); final Transaction transaction1b = transactionWithNonceSenderAndGasPrice(1, KEYS1, 2); final Transaction transaction2 = transactionWithNonceSenderAndGasPrice(2, KEYS1, 1); - assertThat(transactions.addRemoteTransaction(transaction1, Optional.empty())).isEqualTo(ADDED); - assertThat(transactions.addRemoteTransaction(transaction2, Optional.empty())).isEqualTo(ADDED); - assertThat(transactions.addRemoteTransaction(transaction1b, Optional.empty())).isEqualTo(ADDED); + assertThat( + transactions.addTransaction( + createRemotePendingTransaction(transaction1), Optional.empty())) + .isEqualTo(ADDED); + assertThat( + transactions.addTransaction( + createRemotePendingTransaction(transaction2), Optional.empty())) + .isEqualTo(ADDED); + assertThat( + transactions.addTransaction( + createRemotePendingTransaction(transaction1b), Optional.empty())) + .isEqualTo(ADDED); assertTransactionNotPending(transaction1); assertTransactionPending(transaction1b); @@ -416,12 +437,17 @@ public void shouldReplaceTransactionWithSameSenderAndNonce_multipleReplacements( for (int i = 0; i < replacedTxCount; i++) { final Transaction duplicateTx = transactionWithNonceSenderAndGasPrice(1, KEYS1, i + 1); replacedTransactions.add(duplicateTx); - transactions.addRemoteTransaction(duplicateTx, Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(duplicateTx), Optional.empty()); } final Transaction finalReplacingTx = transactionWithNonceSenderAndGasPrice(1, KEYS1, 100); final Transaction independentTx = transactionWithNonceSenderAndGasPrice(2, KEYS1, 1); - assertThat(transactions.addRemoteTransaction(independentTx, Optional.empty())).isEqualTo(ADDED); - assertThat(transactions.addRemoteTransaction(finalReplacingTx, Optional.empty())) + assertThat( + transactions.addTransaction( + createRemotePendingTransaction(independentTx), Optional.empty())) + .isEqualTo(ADDED); + assertThat( + transactions.addTransaction( + createRemotePendingTransaction(finalReplacingTx), Optional.empty())) .isEqualTo(ADDED); // All tx's except the last duplicate should be removed @@ -447,17 +473,22 @@ public void shouldReplaceTransactionWithSameSenderAndNonce_multipleReplacements( transactionWithNonceSenderAndGasPrice(1, KEYS1, (i * 110 / 100) + 1); replacedTransactions.add(duplicateTx); if (i % 2 == 0) { - transactions.addRemoteTransaction(duplicateTx, Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(duplicateTx), Optional.empty()); remoteDuplicateCount++; } else { - transactions.addLocalTransaction(duplicateTx, Optional.empty()); + transactions.addTransaction(createLocalPendingTransaction(duplicateTx), Optional.empty()); } } final Transaction finalReplacingTx = transactionWithNonceSenderAndGasPrice(1, KEYS1, 100); final Transaction independentTx = transactionWithNonceSenderAndGasPrice(2, KEYS1, 1); - assertThat(transactions.addLocalTransaction(finalReplacingTx, Optional.empty())) + assertThat( + transactions.addTransaction( + createLocalPendingTransaction(finalReplacingTx), Optional.empty())) + .isEqualTo(ADDED); + assertThat( + transactions.addTransaction( + createRemotePendingTransaction(independentTx), Optional.empty())) .isEqualTo(ADDED); - assertThat(transactions.addRemoteTransaction(independentTx, Optional.empty())).isEqualTo(ADDED); // All tx's except the last duplicate should be removed replacedTransactions.forEach(this::assertTransactionNotPending); @@ -481,8 +512,14 @@ public void shouldReplaceTransactionWithSameSenderAndNonce_multipleReplacements( public void shouldReplaceOnlyTransactionFromSenderWhenItHasTheSameNonce() { final Transaction transaction1 = transactionWithNonceSenderAndGasPrice(1, KEYS1, 1); final Transaction transaction1b = transactionWithNonceSenderAndGasPrice(1, KEYS1, 2); - assertThat(transactions.addRemoteTransaction(transaction1, Optional.empty())).isEqualTo(ADDED); - assertThat(transactions.addRemoteTransaction(transaction1b, Optional.empty())).isEqualTo(ADDED); + assertThat( + transactions.addTransaction( + createRemotePendingTransaction(transaction1), Optional.empty())) + .isEqualTo(ADDED); + assertThat( + transactions.addTransaction( + createRemotePendingTransaction(transaction1b), Optional.empty())) + .isEqualTo(ADDED); assertTransactionNotPending(transaction1); assertTransactionPending(transaction1b); @@ -495,10 +532,15 @@ public void shouldReplaceOnlyTransactionFromSenderWhenItHasTheSameNonce() { public void shouldNotReplaceTransactionWithSameSenderAndNonceWhenGasPriceIsLower() { final Transaction transaction1 = transactionWithNonceSenderAndGasPrice(1, KEYS1, 2); final Transaction transaction1b = transactionWithNonceSenderAndGasPrice(1, KEYS1, 1); - assertThat(transactions.addRemoteTransaction(transaction1, Optional.empty())).isEqualTo(ADDED); + assertThat( + transactions.addTransaction( + createRemotePendingTransaction(transaction1), Optional.empty())) + .isEqualTo(ADDED); transactions.subscribePendingTransactions(listener); - assertThat(transactions.addRemoteTransaction(transaction1b, Optional.empty())) + assertThat( + transactions.addTransaction( + createRemotePendingTransaction(transaction1b), Optional.empty())) .isEqualTo(REJECTED_UNDERPRICED_REPLACEMENT); assertTransactionNotPending(transaction1b); @@ -509,16 +551,20 @@ public void shouldNotReplaceTransactionWithSameSenderAndNonceWhenGasPriceIsLower @Test public void shouldTrackMaximumNonceForEachSender() { - transactions.addRemoteTransaction(transactionWithNonceAndSender(0, KEYS1), Optional.empty()); + transactions.addTransaction( + createRemotePendingTransaction(transactionWithNonceAndSender(0, KEYS1)), Optional.empty()); assertMaximumNonceForSender(SENDER1, 1); - transactions.addRemoteTransaction(transactionWithNonceAndSender(1, KEYS1), Optional.empty()); + transactions.addTransaction( + createRemotePendingTransaction(transactionWithNonceAndSender(1, KEYS1)), Optional.empty()); assertMaximumNonceForSender(SENDER1, 2); - transactions.addRemoteTransaction(transactionWithNonceAndSender(2, KEYS1), Optional.empty()); + transactions.addTransaction( + createRemotePendingTransaction(transactionWithNonceAndSender(2, KEYS1)), Optional.empty()); assertMaximumNonceForSender(SENDER1, 3); - transactions.addRemoteTransaction(transactionWithNonceAndSender(4, KEYS2), Optional.empty()); + transactions.addTransaction( + createRemotePendingTransaction(transactionWithNonceAndSender(4, KEYS2)), Optional.empty()); assertMaximumNonceForSender(SENDER2, 5); assertMaximumNonceForSender(SENDER1, 3); } @@ -529,9 +575,9 @@ public void shouldIterateTransactionsFromSameSenderInNonceOrder() { final Transaction transaction2 = transactionWithNonceAndSender(1, KEYS1); final Transaction transaction3 = transactionWithNonceAndSender(2, KEYS1); - transactions.addLocalTransaction(transaction1, Optional.empty()); - transactions.addLocalTransaction(transaction2, Optional.empty()); - transactions.addLocalTransaction(transaction3, Optional.empty()); + transactions.addTransaction(createLocalPendingTransaction(transaction1), Optional.empty()); + transactions.addTransaction(createLocalPendingTransaction(transaction2), Optional.empty()); + transactions.addTransaction(createLocalPendingTransaction(transaction3), Optional.empty()); final List iterationOrder = new ArrayList<>(); transactions.selectTransactions( @@ -548,8 +594,8 @@ public void shouldNotForceNonceOrderWhenSendersDiffer() { final Transaction transaction1 = transactionWithNonceAndSender(0, KEYS1); final Transaction transaction2 = transactionWithNonceAndSender(1, KEYS2); - transactions.addLocalTransaction(transaction1, Optional.empty()); - transactions.addLocalTransaction(transaction2, Optional.empty()); + transactions.addTransaction(createLocalPendingTransaction(transaction1), Optional.empty()); + transactions.addTransaction(createLocalPendingTransaction(transaction2), Optional.empty()); final List iterationOrder = new ArrayList<>(); transactions.selectTransactions( @@ -568,10 +614,10 @@ public void shouldNotIncreasePriorityOfTransactionsBecauseOfNonceOrder() { final Transaction transaction3 = transactionWithNonceAndSender(2, KEYS1); final Transaction transaction4 = transactionWithNonceAndSender(4, KEYS2); - transactions.addLocalTransaction(transaction1, Optional.empty()); - transactions.addLocalTransaction(transaction4, Optional.empty()); - transactions.addLocalTransaction(transaction2, Optional.empty()); - transactions.addLocalTransaction(transaction3, Optional.empty()); + transactions.addTransaction(createLocalPendingTransaction(transaction1), Optional.empty()); + transactions.addTransaction(createLocalPendingTransaction(transaction4), Optional.empty()); + transactions.addTransaction(createLocalPendingTransaction(transaction2), Optional.empty()); + transactions.addTransaction(createLocalPendingTransaction(transaction3), Optional.empty()); final List iterationOrder = new ArrayList<>(); transactions.selectTransactions( @@ -616,6 +662,19 @@ protected Transaction createTransaction(final long transactionNumber) { .createTransaction(KEYS1); } + private PendingTransaction createRemotePendingTransaction( + final Transaction transaction, final long addedAt) { + return PendingTransaction.newPendingTransaction(transaction, false, false, addedAt); + } + + private PendingTransaction createRemotePendingTransaction(final Transaction transaction) { + return PendingTransaction.newPendingTransaction(transaction, false, false); + } + + private PendingTransaction createLocalPendingTransaction(final Transaction transaction) { + return PendingTransaction.newPendingTransaction(transaction, true, true); + } + @Test public void shouldEvictMultipleOldTransactions() { final int maxTransactionRetentionHours = 1; @@ -628,9 +687,9 @@ public void shouldEvictMultipleOldTransactions() { .build(), Optional.of(clock)); - transactions.addRemoteTransaction(transaction1, Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction1), Optional.empty()); assertThat(transactions.size()).isEqualTo(1); - transactions.addRemoteTransaction(transaction2, Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction2), Optional.empty()); assertThat(transactions.size()).isEqualTo(2); clock.step(2L, ChronoUnit.HOURS); @@ -649,7 +708,8 @@ public void shouldEvictSingleOldTransaction() { .txPoolLimitByAccountPercentage(Fraction.fromFloat(1.0f)) .build(), Optional.of(clock)); - evictSingleTransactions.addRemoteTransaction(transaction1, Optional.empty()); + evictSingleTransactions.addTransaction( + createRemotePendingTransaction(transaction1), Optional.empty()); assertThat(evictSingleTransactions.size()).isEqualTo(1); clock.step(2L, ChronoUnit.HOURS); evictSingleTransactions.evictOldTransactions(); @@ -668,10 +728,12 @@ public void shouldEvictExclusivelyOldTransactions() { .build(), Optional.of(clock)); - twoHourEvictionTransactionPool.addRemoteTransaction(transaction1, Optional.empty()); + twoHourEvictionTransactionPool.addTransaction( + createRemotePendingTransaction(transaction1, clock.millis()), Optional.empty()); assertThat(twoHourEvictionTransactionPool.size()).isEqualTo(1); clock.step(3L, ChronoUnit.HOURS); - twoHourEvictionTransactionPool.addRemoteTransaction(transaction2, Optional.empty()); + twoHourEvictionTransactionPool.addTransaction( + createRemotePendingTransaction(transaction2, clock.millis()), Optional.empty()); assertThat(twoHourEvictionTransactionPool.size()).isEqualTo(2); twoHourEvictionTransactionPool.evictOldTransactions(); assertThat(twoHourEvictionTransactionPool.size()).isEqualTo(1); @@ -680,12 +742,14 @@ public void shouldEvictExclusivelyOldTransactions() { @Test public void shouldNotIncrementAddedCounterWhenRemoteTransactionAlreadyPresent() { - transactions.addLocalTransaction(transaction1, Optional.empty()); + transactions.addTransaction(createLocalPendingTransaction(transaction1), Optional.empty()); assertThat(transactions.size()).isEqualTo(1); assertThat(metricsSystem.getCounterValue(ADDED_COUNTER, LOCAL)).isEqualTo(1); assertThat(metricsSystem.getCounterValue(ADDED_COUNTER, REMOTE)).isEqualTo(0); - assertThat(transactions.addRemoteTransaction(transaction1, Optional.empty())) + assertThat( + transactions.addTransaction( + createRemotePendingTransaction(transaction1), Optional.empty())) .isEqualTo(ALREADY_KNOWN); assertThat(transactions.size()).isEqualTo(1); assertThat(metricsSystem.getCounterValue(ADDED_COUNTER, LOCAL)).isEqualTo(1); @@ -694,12 +758,14 @@ public void shouldNotIncrementAddedCounterWhenRemoteTransactionAlreadyPresent() @Test public void shouldNotIncrementAddedCounterWhenLocalTransactionAlreadyPresent() { - transactions.addRemoteTransaction(transaction1, Optional.empty()); + transactions.addTransaction(createRemotePendingTransaction(transaction1), Optional.empty()); assertThat(transactions.size()).isEqualTo(1); assertThat(metricsSystem.getCounterValue(ADDED_COUNTER, LOCAL)).isEqualTo(0); assertThat(metricsSystem.getCounterValue(ADDED_COUNTER, REMOTE)).isEqualTo(1); - assertThat(transactions.addLocalTransaction(transaction1, Optional.empty())) + assertThat( + transactions.addTransaction( + createLocalPendingTransaction(transaction1), Optional.empty())) .isEqualTo(ALREADY_KNOWN); assertThat(transactions.size()).isEqualTo(1); assertThat(metricsSystem.getCounterValue(ADDED_COUNTER, LOCAL)).isEqualTo(0); @@ -774,7 +840,8 @@ protected void addLocalTransactions(final PendingTransactions sorter, final long for (final long nonce : nonces) { final Account sender = mock(Account.class); when(sender.getNonce()).thenReturn(1L); - sorter.addLocalTransaction(createTransaction(nonce), Optional.of(sender)); + sorter.addTransaction( + createLocalPendingTransaction(createTransaction(nonce)), Optional.of(sender)); } } @@ -798,7 +865,8 @@ public void shouldPrioritizeGasPriceThenTimeAddedToPool() { final Transaction lowPriceTx = transactionWithNonceSenderAndGasPrice( 0, SIGNATURE_ALGORITHM.get().generateKeyPair(), 10); - transactions.addRemoteTransaction(lowPriceTx, Optional.of(randomSender)); + transactions.addTransaction( + createRemotePendingTransaction(lowPriceTx), Optional.of(randomSender)); return lowPriceTx; }) .collect(Collectors.toUnmodifiableList()); @@ -807,7 +875,8 @@ public void shouldPrioritizeGasPriceThenTimeAddedToPool() { final Account highPriceSender = mock(Account.class); final Transaction highGasPriceTransaction = transactionWithNonceSenderAndGasPrice(0, KEYS1, 100); - transactions.addRemoteTransaction(highGasPriceTransaction, Optional.of(highPriceSender)); + transactions.addTransaction( + createRemotePendingTransaction(highGasPriceTransaction), Optional.of(highPriceSender)); assertThat(transactions.size()).isEqualTo(MAX_TRANSACTIONS); assertTransactionPending(highGasPriceTransaction); diff --git a/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/T8nExecutor.java b/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/T8nExecutor.java index 388d7a9460b..a93b66e4348 100644 --- a/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/T8nExecutor.java +++ b/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/T8nExecutor.java @@ -33,7 +33,6 @@ import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.core.BlockHeader; import org.hyperledger.besu.ethereum.core.BlockHeaderBuilder; -import org.hyperledger.besu.ethereum.core.MutableWorldState; import org.hyperledger.besu.ethereum.core.Transaction; import org.hyperledger.besu.ethereum.core.TransactionReceipt; import org.hyperledger.besu.ethereum.mainnet.BodyValidation; @@ -42,6 +41,7 @@ import org.hyperledger.besu.ethereum.mainnet.ProtocolSpec; import org.hyperledger.besu.ethereum.mainnet.TransactionValidationParams; import org.hyperledger.besu.ethereum.processing.TransactionProcessingResult; +import org.hyperledger.besu.ethereum.referencetests.BonsaiReferenceTestWorldState; import org.hyperledger.besu.ethereum.referencetests.ReferenceTestBlockchain; import org.hyperledger.besu.ethereum.referencetests.ReferenceTestEnv; import org.hyperledger.besu.ethereum.referencetests.ReferenceTestProtocolSchedules; @@ -238,7 +238,9 @@ static T8nResult runTest( ReferenceTestProtocolSchedules.create( new StubGenesisConfigOptions().chainId(BigInteger.valueOf(chainId))); - final MutableWorldState worldState = initialWorldState.copy(); + final BonsaiReferenceTestWorldState worldState = + (BonsaiReferenceTestWorldState) initialWorldState.copy(); + worldState.disableRootHashVerification(); final ProtocolSchedule protocolSchedule = referenceTestProtocolSchedules.getByName(fork); if (protocolSchedule == null) { diff --git a/ethereum/evmtool/src/test/resources/org/hyperledger/besu/evmtool/state-test/blockhash-zero-state-root.json b/ethereum/evmtool/src/test/resources/org/hyperledger/besu/evmtool/state-test/blockhash-zero-state-root.json deleted file mode 100644 index 444f8298379..00000000000 --- a/ethereum/evmtool/src/test/resources/org/hyperledger/besu/evmtool/state-test/blockhash-zero-state-root.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "cli": [ - "state-test", - "stdin", - "--trace", - "--trace.memory", - "--trace.stack", - "--trace.returndata", - "--notime" - ], - "stdin": { - "00000936-mixed-1": { - "env": { - "currentCoinbase": "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", - "currentDifficulty": "0x20000", - "currentRandom": "0x0000000000000000000000000000000000000000000000000000000000020000", - "currentGasLimit": "0x26e1f476fe1e22", - "currentNumber": "0x2", - "currentTimestamp": "0x3e8", - "previousHash": "0x0000000000000000000000000000000000000000000000000000000000000000", - "currentBaseFee": "0x10" - }, - "pre": { - "0x00000000000000000000000000000000000000f1": { - "code": "0x600060016001600260026101f461ffff5817907c78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b991383610389895f8a5b82723e3d6d5ff042148d326c1898713a76759ca27383404148083e7788908f409e38766cfafe083134530b5279797ef56394faa3183b3780475932387ea37a326494ff1b6b57018c79f07a9ba492a256543f0b6a813b316835b15385077d9e8d32f18c3bb159fab11734a363999e7e940a9c19699da08a82a3ff6743b13f44206194321d026490411a938b35f47cf31b91a1ff397b7c6d879f119915176f3699801bf0766b62fd855b60607d6f133f35fa40307e150a096ea35041306b9330f23441473018055f44698e928a109b02f38f515386177e819161487a5bfa7951f5317183fa743d7587f479009c8b4813089d8d3cf37e3a9b6170528b84f296f07433363a766a64529d8c62ff859c0852173e875685ff15123594f13418966f483a999990109b1694511007477171068aa03a561b8df4743642452039a43c391c3e0033f4615ab1f37cb10293387613024673187c1d5b731c3e53a19080b03e6b94755580876f7a6bf0f238f0991c775172893e7b14449e8c050968b032a29bf13265657d11386d9f8c6f360670fa1116178909f59a369c7c005f8d1464527365f0fd5b818499a2469a0b173f42478294f11c8b40567d8b9f72f43594028d67b17893668a999d8d205014687a6a9b09198bfe87a144313895a208183c8b4060a392387a5106f235a019f36d336f6034f5fe006df413a090791c3c6c52b181f047457a8a73f294f401467a79048060113b1b20fd87078a78a273368c116741128c9a715b085312949c15460b9b8613587c79365b643a67106d840b51a0009e3f893f893236527d540b14403a866d6a147df465a03a8a62489a1d7f680962036b716111f45572367e887606f282820b3d7c178af5f3846a60f2999290f3f3847882f19362113e668f19a07bfffa8aa4374793a28401fe34fd93551a7a721256130789707767a408847307067a85fe3cf1f58a64f0368d38413299f083941885867d18308e0835b054531793087b8c970490597203978d1a8a1b6ba459621b8a8d8313655711563e31073e3c3d6056337299089a94415468097df1425a91f209b13d77f493425041f4ff6718441445463c519771069e727ef59214b19b0b5a3a3b3aa01b6c963da1638117323d637c92443e97795a438593155f73123417fd7b01397b7f4587b1727a011a12450903fa62f182b168920b945a57f28a2078665088593458137d75729f8898800953933056867c1d48441839128c6238f39d3c01149b9859b1958e0b806c81966302f03407a0f5047d778c52018b20f5f13e5b7255544632708064318b31fd0b7b420b3659761da06a17584554453d4363a27c8f767941619d628b75934051", - "storage": { - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000002": "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000003": "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x0000000000000000000000000000000000000000000000000000000000000005": "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x0000000000000000000000000000000000000000000000000000000000000011", - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x0000000000000000000000000000000000000000000000000000000000000005", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x0000000000000000000000000000000000000000000000000000000000000008" - }, - "balance": "0x0", - "nonce": "0x0" - }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b": { - "code": "0x", - "storage": {}, - "balance": "0xffffffffff", - "nonce": "0x0" - } - }, - "transaction": { - "gasPrice": "0x10", - "nonce": "0x0", - "to": "0x00000000000000000000000000000000000000f1", - "data": [ - "0xfe25cf37540066ffd30066af7690fad6d555e13067f5c3c16ced98a803e2b009db4ab89b243ac17b80386d12d621723c363e46aff1fcce9c084d" - ], - "gasLimit": [ - "0x7a1200" - ], - "value": [ - "0xdbbe" - ], - "secretKey": "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8" - }, - "out": "0x", - "post": { - "Shanghai": [ - { - "hash": "0x0000000000000000000000000000000000000000000000000000000000000000", - "logs": "0x0000000000000000000000000000000000000000000000000000000000000000", - "indexes": { - "data": 0, - "gas": 0, - "value": 0 - } - } - ] - } - } - }, - "stdout": [ - {"pc":0,"op":96,"gas":"0x79bc70","gasCost":"0x3","memSize":0,"stack":[],"depth":1,"refund":0,"opName":"PUSH1"}, - {"pc":2,"op":96,"gas":"0x79bc6d","gasCost":"0x3","memSize":0,"stack":["0x0"],"depth":1,"refund":0,"opName":"PUSH1"}, - {"pc":4,"op":96,"gas":"0x79bc6a","gasCost":"0x3","memSize":0,"stack":["0x0","0x1"],"depth":1,"refund":0,"opName":"PUSH1"}, - {"pc":6,"op":96,"gas":"0x79bc67","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1"],"depth":1,"refund":0,"opName":"PUSH1"}, - {"pc":8,"op":96,"gas":"0x79bc64","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2"],"depth":1,"refund":0,"opName":"PUSH1"}, - {"pc":10,"op":97,"gas":"0x79bc61","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2"],"depth":1,"refund":0,"opName":"PUSH2"}, - {"pc":13,"op":97,"gas":"0x79bc5e","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0x1f4"],"depth":1,"refund":0,"opName":"PUSH2"}, - {"pc":16,"op":88,"gas":"0x79bc5b","gasCost":"0x2","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0x1f4","0xffff"],"depth":1,"refund":0,"opName":"PC"}, - {"pc":17,"op":23,"gas":"0x79bc59","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0x1f4","0xffff","0x10"],"depth":1,"refund":0,"opName":"OR"}, - {"pc":18,"op":144,"gas":"0x79bc56","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0x1f4","0xffff"],"depth":1,"refund":0,"opName":"SWAP1"}, - {"pc":19,"op":124,"gas":"0x79bc53","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4"],"depth":1,"refund":0,"opName":"PUSH29"}, - {"pc":49,"op":131,"gas":"0x79bc50","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913"],"depth":1,"refund":0,"opName":"DUP4"}, - {"pc":50,"op":97,"gas":"0x79bc4d","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2"],"depth":1,"refund":0,"opName":"PUSH2"}, - {"pc":53,"op":137,"gas":"0x79bc4a","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389"],"depth":1,"refund":0,"opName":"DUP10"}, - {"pc":54,"op":95,"gas":"0x79bc47","gasCost":"0x2","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389","0x0"],"depth":1,"refund":0,"opName":"PUSH0"}, - {"pc":55,"op":138,"gas":"0x79bc45","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389","0x0","0x0"],"depth":1,"refund":0,"opName":"DUP11"}, - {"pc":56,"op":91,"gas":"0x79bc42","gasCost":"0x1","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389","0x0","0x0","0x1"],"depth":1,"refund":0,"opName":"JUMPDEST"}, - {"pc":57,"op":130,"gas":"0x79bc41","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389","0x0","0x0","0x1"],"depth":1,"refund":0,"opName":"DUP3"}, - {"pc":58,"op":114,"gas":"0x79bc3e","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389","0x0","0x0","0x1","0x0"],"depth":1,"refund":0,"opName":"PUSH19"}, - {"pc":78,"op":131,"gas":"0x79bc3b","gasCost":"0x3","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389","0x0","0x0","0x1","0x0","0x3e3d6d5ff042148d326c1898713a76759ca273"],"depth":1,"refund":0,"opName":"DUP4"}, - {"pc":79,"op":64,"gas":"0x79bc38","gasCost":"0x14","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389","0x0","0x0","0x1","0x0","0x3e3d6d5ff042148d326c1898713a76759ca273","0x0"],"depth":1,"refund":0,"opName":"BLOCKHASH"}, - {"pc":80,"op":65,"gas":"0x79bc24","gasCost":"0x2","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389","0x0","0x0","0x1","0x0","0x3e3d6d5ff042148d326c1898713a76759ca273","0x44852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d"],"depth":1,"refund":0,"opName":"COINBASE"}, - {"pc":81,"op":72,"gas":"0x79bc22","gasCost":"0x2","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389","0x0","0x0","0x1","0x0","0x3e3d6d5ff042148d326c1898713a76759ca273","0x44852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d","0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b"],"depth":1,"refund":0,"opName":"BASEFEE"}, - {"pc":82,"op":8,"gas":"0x79bc20","gasCost":"0x8","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389","0x0","0x0","0x1","0x0","0x3e3d6d5ff042148d326c1898713a76759ca273","0x44852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d","0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b","0x10"],"depth":1,"refund":0,"opName":"ADDMOD"}, - {"pc":83,"op":62,"gas":"0x79bc18","gasCost":"0x0","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389","0x0","0x0","0x1","0x0","0x3e3d6d5ff042148d326c1898713a76759ca273","0xb94f5374fce5edbc8e2a8697c15331677e6ebf1b"],"depth":1,"refund":0,"opName":"RETURNDATACOPY","error":"Out of bounds"}, - {"output":"","gasUsed":"0x7a1200","test":"00000936-mixed-1","fork":"Shanghai","d":0,"g":0,"v":0,"postHash":"0xd14c10ed22a1cfb642e374be985ac581c39f3969bd59249e0405aca3beb47a47","postLogsHash":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","pass":false} - ] -} diff --git a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/framing/Framer.java b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/framing/Framer.java index 2e9cad6dfe5..1302b3765d4 100644 --- a/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/framing/Framer.java +++ b/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/framing/Framer.java @@ -16,7 +16,6 @@ import static io.netty.buffer.ByteBufUtil.hexDump; import static io.netty.buffer.Unpooled.wrappedBuffer; -import static org.bouncycastle.pqc.math.linearalgebra.ByteUtils.xor; import static org.hyperledger.besu.ethereum.p2p.rlpx.RlpxFrameConstants.LENGTH_FRAME_SIZE; import static org.hyperledger.besu.ethereum.p2p.rlpx.RlpxFrameConstants.LENGTH_MAX_MESSAGE_FRAME; @@ -396,6 +395,23 @@ private static int padding16(final int size) { return pad == 0 ? 0 : 16 - pad; } + /** + * Compute the bitwise XOR of two arrays of bytes. The arrays have to be of same length. No length + * checking is performed. + * + * @param x1 the first array + * @param x2 the second array + * @return x1 XOR x2 + */ + private static byte[] xor(final byte[] x1, final byte[] x2) { + byte[] out = new byte[x1.length]; + + for (int i = x1.length - 1; i >= 0; i--) { + out[i] = (byte) (x1[i] ^ x2[i]); + } + return out; + } + @FormatMethod private static FramingException error(final String s, final Object... params) { return new FramingException(String.format(s, params)); diff --git a/ethereum/referencetests/src/main/java/org/hyperledger/besu/ethereum/referencetests/BonsaiReferenceTestWorldState.java b/ethereum/referencetests/src/main/java/org/hyperledger/besu/ethereum/referencetests/BonsaiReferenceTestWorldState.java index 0e23f5406af..ff8a33814cc 100644 --- a/ethereum/referencetests/src/main/java/org/hyperledger/besu/ethereum/referencetests/BonsaiReferenceTestWorldState.java +++ b/ethereum/referencetests/src/main/java/org/hyperledger/besu/ethereum/referencetests/BonsaiReferenceTestWorldState.java @@ -49,6 +49,8 @@ public class BonsaiReferenceTestWorldState extends BonsaiWorldState private final BonsaiReferenceTestWorldStateStorage refTestStorage; private final BonsaiPreImageProxy preImageProxy; + private boolean disableRootHashVerification; + protected BonsaiReferenceTestWorldState( final BonsaiReferenceTestWorldStateStorage worldStateStorage, final CachedMerkleTrieLoader cachedMerkleTrieLoader, @@ -87,7 +89,7 @@ public ReferenceTestWorldState copy() { */ @Override protected void verifyWorldStateRoot(final Hash calculatedStateRoot, final BlockHeader header) { - if (!header.getStateRoot().equals(Hash.ZERO)) { + if (!disableRootHashVerification) { super.verifyWorldStateRoot(calculatedStateRoot, header); } } @@ -125,6 +127,10 @@ public Stream streamAccounts(final Bytes32 startKeyHash, fina return this.refTestStorage.streamAccounts(this, startKeyHash, limit); } + public void disableRootHashVerification() { + disableRootHashVerification = true; + } + static class NoOpTrieLogManager implements TrieLogManager { private final Subscribers trieLogObservers = Subscribers.create(); private final TrieLogFactory trieLogFactory = new TrieLogFactoryImpl(); diff --git a/ethereum/rlp/src/main/java/org/hyperledger/besu/ethereum/rlp/AbstractRLPInput.java b/ethereum/rlp/src/main/java/org/hyperledger/besu/ethereum/rlp/AbstractRLPInput.java index 43413d7995e..93a0bcebdf4 100644 --- a/ethereum/rlp/src/main/java/org/hyperledger/besu/ethereum/rlp/AbstractRLPInput.java +++ b/ethereum/rlp/src/main/java/org/hyperledger/besu/ethereum/rlp/AbstractRLPInput.java @@ -24,6 +24,7 @@ import org.apache.tuweni.bytes.Bytes; import org.apache.tuweni.bytes.Bytes32; +import org.apache.tuweni.bytes.Bytes48; import org.apache.tuweni.bytes.MutableBytes; import org.apache.tuweni.bytes.MutableBytes32; import org.apache.tuweni.units.bigints.UInt256; @@ -98,6 +99,8 @@ protected void init(final long inputSize, final boolean shouldFitInputSizeExactl protected abstract Bytes32 inputSlice32(long offset); + protected abstract Bytes48 inputSlice48(long offset); + protected abstract String inputHex(long offset, int length); protected abstract BigInteger getUnsignedBigInteger(long offset, int length); @@ -426,6 +429,14 @@ public Bytes32 readBytes32() { return res; } + @Override + public Bytes48 readBytes48() { + checkElt("48 bytes value", 48); + final Bytes48 res = inputSlice48(currentPayloadOffset); + setTo(nextItem()); + return res; + } + @Override public T readBytes(final Function mapper) { final Bytes res = readBytes(); diff --git a/ethereum/rlp/src/main/java/org/hyperledger/besu/ethereum/rlp/BytesValueRLPInput.java b/ethereum/rlp/src/main/java/org/hyperledger/besu/ethereum/rlp/BytesValueRLPInput.java index 73eee238569..ac8ac8d6f45 100644 --- a/ethereum/rlp/src/main/java/org/hyperledger/besu/ethereum/rlp/BytesValueRLPInput.java +++ b/ethereum/rlp/src/main/java/org/hyperledger/besu/ethereum/rlp/BytesValueRLPInput.java @@ -18,6 +18,7 @@ import org.apache.tuweni.bytes.Bytes; import org.apache.tuweni.bytes.Bytes32; +import org.apache.tuweni.bytes.Bytes48; /** An {@link RLPInput} that reads RLP encoded data from a {@link Bytes}. */ public class BytesValueRLPInput extends AbstractRLPInput { @@ -51,6 +52,11 @@ protected Bytes32 inputSlice32(final long offset) { return Bytes32.wrap(inputSlice(offset, 32)); } + @Override + protected Bytes48 inputSlice48(final long offset) { + return Bytes48.wrap(inputSlice(offset, 48)); + } + @Override protected String inputHex(final long offset, final int length) { return value.slice(Math.toIntExact(offset), length).toString().substring(2); diff --git a/ethereum/rlp/src/main/java/org/hyperledger/besu/ethereum/rlp/RLPInput.java b/ethereum/rlp/src/main/java/org/hyperledger/besu/ethereum/rlp/RLPInput.java index e8f966ed1b5..808c8f74d54 100644 --- a/ethereum/rlp/src/main/java/org/hyperledger/besu/ethereum/rlp/RLPInput.java +++ b/ethereum/rlp/src/main/java/org/hyperledger/besu/ethereum/rlp/RLPInput.java @@ -22,6 +22,7 @@ import org.apache.tuweni.bytes.Bytes; import org.apache.tuweni.bytes.Bytes32; +import org.apache.tuweni.bytes.Bytes48; import org.apache.tuweni.units.bigints.UInt256; import org.apache.tuweni.units.bigints.UInt64; @@ -300,6 +301,16 @@ default long readUnsignedInt() { */ Bytes32 readBytes32(); + /** + * Reads the next item of this input (assuming it is not a list) that must be exact 48 bytes. + * + * @return The next item read of this input. + * @throws RLPException if the next item to read is a list, the input is at the end of its current + * list (and {@link #leaveList()} hasn't been called) or the next element is not exactly 48 + * bytes. + */ + Bytes48 readBytes48(); + /** * Reads the next item of this input (assuming it is not a list) and transforms it with the * provided mapping function. diff --git a/gradle.properties b/gradle.properties index ff1e9a87604..8f513eb86d8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=23.10.0 +version=23.10.1-RC org.gradle.welcome=never # Set exports/opens flags required by Google Java Format and ErrorProne plugins. (JEP-396) diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index bf2f064afa6..39a5dccc217 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -3481,6 +3481,14 @@ + + + + + + + + @@ -3505,6 +3513,14 @@ + + + + + + + + @@ -3513,6 +3529,14 @@ + + + + + + + + diff --git a/gradle/versions.gradle b/gradle/versions.gradle index 1548ca5baee..af5d4fc47ce 100644 --- a/gradle/versions.gradle +++ b/gradle/versions.gradle @@ -151,7 +151,7 @@ dependencyManagement { dependency 'org.awaitility:awaitility:4.2.0' - dependencySet(group: 'org.bouncycastle', version: '1.75') { + dependencySet(group: 'org.bouncycastle', version: '1.76') { entry'bcpkix-jdk18on' entry'bcprov-jdk18on' } diff --git a/plugin-api/build.gradle b/plugin-api/build.gradle index b29b2c0e78e..f79852f2011 100644 --- a/plugin-api/build.gradle +++ b/plugin-api/build.gradle @@ -69,7 +69,7 @@ Calculated : ${currentHash} tasks.register('checkAPIChanges', FileStateChecker) { description = "Checks that the API for the Plugin-API project does not change without deliberate thought" files = sourceSets.main.allJava.files - knownHash = 'IPqcFdM1uy+ZDbcvzsKxMIrzhP9VoaSeanhBOLtbhfE=' + knownHash = 'j6NRklFHlG35Pq/t6t/oJBrT8DbYOyruGq3cJNh4ENw=' } check.dependsOn('checkAPIChanges') diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Deposit.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Deposit.java index 2fe82effe72..50e67898d75 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Deposit.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/data/Deposit.java @@ -34,7 +34,7 @@ public interface Deposit { * * @return public key of sender */ - PublicKey getPublicKey(); + PublicKey getPubkey(); /** * Withdrawal credential that contains info that will be used for verifying the destination of diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/TransactionSelectionService.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/TransactionSelectionService.java index 1a46e71f306..aab6e717bad 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/TransactionSelectionService.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/TransactionSelectionService.java @@ -16,7 +16,7 @@ package org.hyperledger.besu.plugin.services; import org.hyperledger.besu.plugin.Unstable; -import org.hyperledger.besu.plugin.services.txselection.TransactionSelectorFactory; +import org.hyperledger.besu.plugin.services.txselection.PluginTransactionSelectorFactory; import java.util.Optional; @@ -29,12 +29,13 @@ public interface TransactionSelectionService extends BesuService { * * @return the transaction selector factory */ - Optional get(); + Optional get(); /** * Registers the transaction selector factory with the service * * @param transactionSelectorFactory transaction selector factory to be used */ - void registerTransactionSelectorFactory(TransactionSelectorFactory transactionSelectorFactory); + void registerTransactionSelectorFactory( + PluginTransactionSelectorFactory transactionSelectorFactory); } diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/TransactionSelector.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/PluginTransactionSelector.java similarity index 61% rename from plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/TransactionSelector.java rename to plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/PluginTransactionSelector.java index 76d1a4b2db8..daa93279606 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/TransactionSelector.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/PluginTransactionSelector.java @@ -16,13 +16,25 @@ package org.hyperledger.besu.plugin.services.txselection; import org.hyperledger.besu.datatypes.PendingTransaction; +import org.hyperledger.besu.evm.tracing.OperationTracer; import org.hyperledger.besu.plugin.Unstable; import org.hyperledger.besu.plugin.data.TransactionProcessingResult; import org.hyperledger.besu.plugin.data.TransactionSelectionResult; /** Interface for the transaction selector */ @Unstable -public interface TransactionSelector { +public interface PluginTransactionSelector { + + /** + * Method that returns an OperationTracer that will be used when executing transactions that are + * candidates to be added to a block. + * + * @return OperationTracer to be used to trace candidate transactions + */ + default OperationTracer getOperationTracer() { + return OperationTracer.NO_TRACING; + } + /** * Method called to decide whether a transaction is added to a block. The result can also indicate * that no further transactions can be added to the block. @@ -43,4 +55,23 @@ TransactionSelectionResult evaluateTransactionPreProcessing( */ TransactionSelectionResult evaluateTransactionPostProcessing( PendingTransaction pendingTransaction, TransactionProcessingResult processingResult); + + /** + * Method called when a transaction is selected to be added to a block. + * + * @param pendingTransaction The transaction that has been selected. + * @param processingResult The result of processing the selected transaction. + */ + default void onTransactionSelected( + final PendingTransaction pendingTransaction, + final TransactionProcessingResult processingResult) {} + /** + * Method called when a transaction is not selected to be added to a block. + * + * @param pendingTransaction The transaction that has not been selected. + * @param transactionSelectionResult The transaction selection result + */ + default void onTransactionNotSelected( + final PendingTransaction pendingTransaction, + final TransactionSelectionResult transactionSelectionResult) {} } diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/TransactionSelectorFactory.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/PluginTransactionSelectorFactory.java similarity index 81% rename from plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/TransactionSelectorFactory.java rename to plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/PluginTransactionSelectorFactory.java index 81fb2a5512b..dc6311bb557 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/TransactionSelectorFactory.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txselection/PluginTransactionSelectorFactory.java @@ -17,16 +17,14 @@ import org.hyperledger.besu.plugin.Unstable; -import java.util.List; - /** Interface for a factory that creates transaction selectors */ @Unstable -public interface TransactionSelectorFactory { +public interface PluginTransactionSelectorFactory { /** - * Create a list of transaction selectors + * Create a transaction selector * - * @return the transaction selector list + * @return the transaction selector */ - List create(); + PluginTransactionSelector create(); } diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txvalidator/PluginTransactionValidator.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txvalidator/PluginTransactionValidator.java index 60f04497199..ab47b31f0d7 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txvalidator/PluginTransactionValidator.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/txvalidator/PluginTransactionValidator.java @@ -18,7 +18,9 @@ import org.hyperledger.besu.datatypes.Transaction; import org.hyperledger.besu.plugin.Unstable; -/** Interface for the transaction validator */ +import java.util.Optional; + +/** Interface for the transaction validator plugin */ @Unstable public interface PluginTransactionValidator { @@ -26,7 +28,8 @@ public interface PluginTransactionValidator { * Method called to decide whether a transaction can be added to the transaction pool. * * @param transaction candidate transaction - * @return true if the transaction can be added, false otherwise + * @return Optional.empty() if the transaction is valid, an Optional containing an error message, + * if not */ - boolean validateTransaction(final Transaction transaction); + Optional validateTransaction(final Transaction transaction); } diff --git a/testutil/src/main/resources/hive/testBlockchain.blocks b/testutil/src/main/resources/hive/testBlockchain.blocks index 480efc87d9fcf4bb02cebf943897e5fec7d18226..8504fd7a8c4f6d2ce1a0de17a65ed7319c1df72e 100644 GIT binary patch delta 329 zcmV-P0k;0ML z1qpZ%lfe`slR#S)Vl;Ak|0L1H9M(VF6j56h-KrIDpl2LdscdqwRX7=xU7!|bA7fxr zX{2h<#jS;wb6KZHnoTQ3sD;dEzstvUIq zo?ikv%$tL=kq!d^5P%|sU*E8TTOx#38^ck6pp(G@Ad~7`3IsGa07{XcAqIm4004lX zlfeQY7Wlllx&!#P0U?Atn#ur#vd~@tg2PagpcoYofP@mKxfH;JJDSP>_(GtO!5{;m z0Rof30v<(xplaY@Ed8W9n?_3zw1^yU!sNn5GtY^;;CVFKWy7vX&Y%)ghpw_B>`@a8 b`JBD0@=MgHfss$H)}JL#N Date: Wed, 25 Oct 2023 13:24:27 +1100 Subject: [PATCH 40/40] Bump 23.10.1-RC to 23.10.1 (#6081) Signed-off-by: Gabriel-Trintinalia --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 8f513eb86d8..5e6dc436548 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=23.10.1-RC +version=23.10.1 org.gradle.welcome=never # Set exports/opens flags required by Google Java Format and ErrorProne plugins. (JEP-396)